From ebad456ea95a915ed872a9d1ab90f003959f4c03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Albert=20Gr=C3=A4f?= <aggraef@gmail.com>
Date: Wed, 24 Jul 2019 07:43:54 +0200
Subject: [PATCH] Remove fftease and lyonpoptpourri submodules, add sources
 in-place.

---
 .gitmodules                                   |    6 -
 externals/fftease                             |    1 -
 externals/fftease/LICENSE.txt                 |   20 +
 externals/fftease/MSPd.h                      |   15 +
 externals/fftease/Makefile                    |  454 ++
 externals/fftease/PenroseOscil.c              |   40 +
 externals/fftease/PenroseOscil.h              |    5 +
 externals/fftease/PenroseRand.c               |   13 +
 externals/fftease/PenroseRand.h               |    3 +
 externals/fftease/README.txt                  |   49 +
 externals/fftease/bloscbank.c                 |   34 +
 externals/fftease/bthresher~.c                |  486 ++
 externals/fftease/burrow~.c                   |  390 ++
 externals/fftease/cavoc27~.c                  |  633 +++
 externals/fftease/cavoc~.c                    |  472 ++
 externals/fftease/centerring~.c               |  380 ++
 externals/fftease/codepend~.c                 |  377 ++
 externals/fftease/collect.pl                  |    6 +
 externals/fftease/convert.c                   |   49 +
 externals/fftease/cross~.c                    |  297 ++
 externals/fftease/dentist~.c                  |  585 +++
 externals/fftease/disarrain~.c                |  687 +++
 externals/fftease/disarray~.c                 |  403 ++
 externals/fftease/drown~.c                    |  245 +
 externals/fftease/enrich~.c                   |  366 ++
 externals/fftease/ether~.c                    |  313 ++
 externals/fftease/fft.c                       |  159 +
 externals/fftease/fft4.c                      |  336 ++
 externals/fftease/fftease-meta.pd             |    6 +
 externals/fftease/fftease.h                   |  177 +
 .../fftease32-helpfiles/bthresher~-help.pd    |   52 +
 .../fftease32-helpfiles/burrow~-help.pd       |   86 +
 .../fftease32-helpfiles/cavoc27~-help.pd      |  120 +
 .../fftease32-helpfiles/cavoc~-help.pd        |   78 +
 .../fftease32-helpfiles/centerring~-help.pd   |   51 +
 .../fftease32-helpfiles/codepend~-help.pd     |   72 +
 .../fftease32-helpfiles/cross~-help.pd        |  124 +
 .../fftease32-helpfiles/dentist~-help.pd      |   77 +
 .../fftease32-helpfiles/disarrain~-help.pd    |   86 +
 .../fftease32-helpfiles/disarray~-help.pd     |   50 +
 .../fftease32-helpfiles/drown~-help.pd        |   51 +
 .../fftease32-helpfiles/enrich~-help.pd       |   68 +
 .../fftease32-helpfiles/ether~-help.pd        |   51 +
 .../fftease32-helpfiles/leaker~-help.pd       |   50 +
 .../fftease32-helpfiles/mindwarp~-help.pd     |   93 +
 .../fftease32-helpfiles/morphine~-help.pd     |   53 +
 .../fftease32-helpfiles/multyq~-help.pd       |   60 +
 .../fftease32-helpfiles/pileup~-help.pd       |   69 +
 .../fftease32-helpfiles/pvcompand~-help.pd    |   31 +
 .../fftease32-helpfiles/pvgrain~-help.pd      |  440 ++
 .../fftease32-helpfiles/pvharm~-help.pd       |   46 +
 .../fftease/fftease32-helpfiles/pvoc~-help.pd |   44 +
 .../fftease32-helpfiles/pvtuner~-help.pd      |  101 +
 .../fftease32-helpfiles/pvwarpb~-help.pd      |  105 +
 .../fftease32-helpfiles/pvwarp~-help.pd       |   68 +
 .../fftease32-helpfiles/reanimator~-help.pd   |   76 +
 .../fftease32-helpfiles/resent~-help.pd       |  129 +
 .../residency_buffer~-help.pd                 |   76 +
 .../fftease32-helpfiles/residency~-help.pd    |   62 +
 .../fftease32-helpfiles/schmear~-help.pd      |   68 +
 .../fftease32-helpfiles/scrape~-help.pd       |   46 +
 .../fftease32-helpfiles/shapee~-help.pd       |   38 +
 .../fftease/fftease32-helpfiles/smap-help.pd  |    9 +
 .../fftease32-helpfiles/sound/Piano.aif       |  Bin 0 -> 92812 bytes
 .../fftease32-helpfiles/swinger~-help.pd      |   37 +
 .../fftease32-helpfiles/taint~-help.pd        |   82 +
 .../fftease32-helpfiles/thresher~-help.pd     |   45 +
 .../fftease32-helpfiles/vacancy~-help.pd      |   64 +
 .../fftease/fftease32-helpfiles/xsyn~-help.pd |   35 +
 externals/fftease/fftease_setup.c             |    5 +
 externals/fftease/fftease_utilities.c         |  276 +
 externals/fftease/fold.c                      |   32 +
 externals/fftease/leaker~.c                   |  308 ++
 externals/fftease/leanconvert.c               |   22 +
 externals/fftease/leanunconvert.c             |   19 +
 externals/fftease/legacy.c                    |   83 +
 externals/fftease/limit_fftsize.c             |   32 +
 externals/fftease/limited_oscbank.c           |  132 +
 externals/fftease/lyonpotpourri-meta.pd       |    7 +
 externals/fftease/m_pd.h                      |  634 +++
 externals/fftease/makewindows.c               |  137 +
 externals/fftease/mindwarp~.c                 |  383 ++
 externals/fftease/morphine~.c                 |  392 ++
 externals/fftease/multyq~.c                   |  450 ++
 externals/fftease/oscbank.c                   |   88 +
 externals/fftease/overlapadd.c                |   29 +
 externals/fftease/pileup~.c                   |  357 ++
 externals/fftease/power_of_two.c              |   15 +
 externals/fftease/pvcompand~.c                |  329 ++
 externals/fftease/pvgrain~.c                  |  318 ++
 externals/fftease/pvharm~.c                   |  351 ++
 externals/fftease/pvoc~.c                     |  253 +
 externals/fftease/pvtuner~.c                  | 1014 ++++
 externals/fftease/pvwarpb~.c                  |  515 ++
 externals/fftease/pvwarp~.c                   |  439 ++
 externals/fftease/qsortE.c                    |  241 +
 externals/fftease/reanimator~.c               |  548 ++
 externals/fftease/resent~.c                   |  669 +++
 externals/fftease/residency_buffer~.c         |  471 ++
 externals/fftease/residency~.c                |  491 ++
 externals/fftease/schmear~.c                  |  309 ++
 externals/fftease/scrape~.c                   |  288 ++
 externals/fftease/shapee~.c                   |  366 ++
 externals/fftease/smap.pd                     |   28 +
 externals/fftease/swinger~.c                  |  294 ++
 externals/fftease/taint~.c                    |  378 ++
 externals/fftease/thresher~.c                 |  272 +
 externals/fftease/unconvert.c                 |   39 +
 externals/fftease/vacancy~.c                  |  382 ++
 externals/fftease/xsyn~.c                     |  233 +
 externals/lyonpotpourri                       |    1 -
 externals/lyonpotpourri/INSTALLATION.txt      |    1 +
 externals/lyonpotpourri/LICENSE.txt           |   23 +
 externals/lyonpotpourri/MSPd.h                |   42 +
 externals/lyonpotpourri/Makefile              |  448 ++
 externals/lyonpotpourri/PenroseOscil.c        |   40 +
 externals/lyonpotpourri/PenroseOscil.h        |    8 +
 externals/lyonpotpourri/PenroseRand.c         |   13 +
 externals/lyonpotpourri/PenroseRand.h         |    3 +
 externals/lyonpotpourri/README.md             |   72 +
 externals/lyonpotpourri/README.txt            |   71 +
 externals/lyonpotpourri/Updates.txt           |    4 +
 externals/lyonpotpourri/adsr~-help.pd         |   73 +
 externals/lyonpotpourri/adsr~.c               |  334 ++
 externals/lyonpotpourri/arrayfilt~-help.pd    |  145 +
 externals/lyonpotpourri/arrayfilt~.c          |   90 +
 externals/lyonpotpourri/bashfest.h            |  185 +
 externals/lyonpotpourri/bashfest_dsp.c        | 1547 ++++++
 externals/lyonpotpourri/bashfest_helper.c     |  648 +++
 externals/lyonpotpourri/bashfest~-help.pd     |  312 ++
 externals/lyonpotpourri/bashfest~.c           | 1357 +++++
 externals/lyonpotpourri/bloscbank.c           |    1 +
 externals/lyonpotpourri/buffet~-help.pd       |  201 +
 externals/lyonpotpourri/buffet~.c             | 2161 ++++++++
 externals/lyonpotpourri/bvplay~-help.pd       |   52 +
 externals/lyonpotpourri/bvplay~.c             |  297 ++
 externals/lyonpotpourri/cartopol~-help.pd     |   58 +
 externals/lyonpotpourri/cartopol~.c           |   63 +
 externals/lyonpotpourri/channel~-help.pd      |   53 +
 externals/lyonpotpourri/channel~.c            |   84 +
 externals/lyonpotpourri/chopper~-help.pd      |  202 +
 externals/lyonpotpourri/chopper~.c            |  909 ++++
 .../lyonpotpourri/clean_selector~-help.pd     |   42 +
 externals/lyonpotpourri/clean_selector~.c     |  241 +
 externals/lyonpotpourri/click2bang~-help.pd   |   10 +
 externals/lyonpotpourri/click2bang~.c         |   64 +
 externals/lyonpotpourri/click2float~-help.pd  |   11 +
 externals/lyonpotpourri/click2float~.c        |   68 +
 externals/lyonpotpourri/clickhold~-help.pd    |   16 +
 externals/lyonpotpourri/clickhold~.c          |   61 +
 externals/lyonpotpourri/click~-help.pd        |   26 +
 externals/lyonpotpourri/click~.c              |   78 +
 externals/lyonpotpourri/collect.pl            |    6 +
 externals/lyonpotpourri/convert.c             |    1 +
 externals/lyonpotpourri/convolver~-help.pd    |   88 +
 externals/lyonpotpourri/convolver~.c          | 1009 ++++
 externals/lyonpotpourri/counter~-help.pd      |   32 +
 externals/lyonpotpourri/counter~.c            |  127 +
 externals/lyonpotpourri/distortion~-help.pd   |   41 +
 externals/lyonpotpourri/distortion~.c         |  226 +
 externals/lyonpotpourri/dmach~-help.pd        | 1304 +++++
 externals/lyonpotpourri/dmach~.c              | 1225 +++++
 externals/lyonpotpourri/dynss~-help.pd        |   54 +
 externals/lyonpotpourri/dynss~.c              |  324 ++
 externals/lyonpotpourri/ellipse.c             |  250 +
 externals/lyonpotpourri/epluribus~-help.pd    |   32 +
 externals/lyonpotpourri/epluribus~.c          |  149 +
 externals/lyonpotpourri/examples/BD0010.aif   |  Bin 0 -> 89282 bytes
 externals/lyonpotpourri/examples/BT0AADA.aiff |  Bin 0 -> 44030 bytes
 externals/lyonpotpourri/examples/CP.aif       |  Bin 0 -> 21536 bytes
 .../lyonpotpourri/examples/KR55SNAR.aiff      |  Bin 0 -> 18622 bytes
 externals/lyonpotpourri/examples/bell.aiff    |  Bin 0 -> 312012 bytes
 .../lyonpotpourri/examples/hi_c_12b.aiff      |  Bin 0 -> 18248 bytes
 .../lyonpotpourri/examples/hi_o_06e.aiff      |  Bin 0 -> 39990 bytes
 .../lyonpotpourri/examples/hi_o_15g.aiff      |  Bin 0 -> 22396 bytes
 .../lyonpotpourri/examples/kick_11d.aiff      |  Bin 0 -> 33822 bytes
 externals/lyonpotpourri/examples/mar2.aif     |  Bin 0 -> 6152 bytes
 .../lyonpotpourri/examples/prettypad.aif      |  Bin 0 -> 547546 bytes
 externals/lyonpotpourri/examples/soda-bd.aif  |  Bin 0 -> 172368 bytes
 externals/lyonpotpourri/examples/trickhit.aif |  Bin 0 -> 102662 bytes
 externals/lyonpotpourri/examples/voice.wav    |  Bin 0 -> 124204 bytes
 externals/lyonpotpourri/expflam~-help.pd      |  136 +
 externals/lyonpotpourri/expflam~.c            |    1 +
 externals/lyonpotpourri/fft.c                 |    1 +
 externals/lyonpotpourri/fft4.c                |    1 +
 externals/lyonpotpourri/fftease.h             |   61 +
 externals/lyonpotpourri/fftease_oldskool.h    |   58 +
 externals/lyonpotpourri/fftease_setup.c       |    5 +
 externals/lyonpotpourri/flanjah~-help.pd      |   62 +
 externals/lyonpotpourri/flanjah~.c            |  333 ++
 externals/lyonpotpourri/fold.c                |    1 +
 externals/lyonpotpourri/from_msp.c            |    1 +
 externals/lyonpotpourri/function~-help.pd     | 1308 +++++
 externals/lyonpotpourri/function~.c           |  380 ++
 externals/lyonpotpourri/granola~-help.pd      |   40 +
 externals/lyonpotpourri/granola~.c            |  330 ++
 externals/lyonpotpourri/granulesf~-help.pd    | 4519 +++++++++++++++++
 externals/lyonpotpourri/granulesf~.c          | 1076 ++++
 externals/lyonpotpourri/granule~-help.pd      | 2387 +++++++++
 externals/lyonpotpourri/granule~.c            |    1 +
 externals/lyonpotpourri/kbuffer~-help.pd      |   69 +
 externals/lyonpotpourri/kbuffer~.c            |  310 ++
 externals/lyonpotpourri/killdc~-help.pd       |   27 +
 externals/lyonpotpourri/killdc~.c             |  119 +
 externals/lyonpotpourri/latch~-help.pd        |   28 +
 externals/lyonpotpourri/latch~.c              |  111 +
 externals/lyonpotpourri/leanconvert.c         |    1 +
 externals/lyonpotpourri/leanunconvert.c       |    1 +
 externals/lyonpotpourri/lpp.h                 |   45 +
 externals/lyonpotpourri/lyonpotpourri-meta.pd |    7 +
 externals/lyonpotpourri/m_pd.h                |  735 +++
 .../lyonpotpourri/magfreq_analysis~-help.pd   |   48 +
 externals/lyonpotpourri/magfreq_analysis~.c   |  438 ++
 externals/lyonpotpourri/makewindows.c         |    1 +
 externals/lyonpotpourri/markov~-help.pd       |  114 +
 externals/lyonpotpourri/markov~.c             |  290 ++
 externals/lyonpotpourri/mask~-help.pd         |   34 +
 externals/lyonpotpourri/mask~.c               |  363 ++
 externals/lyonpotpourri/npan~-help.pd         |  113 +
 externals/lyonpotpourri/npan~.c               |  130 +
 externals/lyonpotpourri/oscil~-help.pd        |   84 +
 externals/lyonpotpourri/oscil~.c              |  789 +++
 externals/lyonpotpourri/overlapadd.c          |    1 +
 externals/lyonpotpourri/pd-template.spec      |   29 +
 externals/lyonpotpourri/phasemod~-help.pd     |  105 +
 externals/lyonpotpourri/phasemod~.c           |  167 +
 externals/lyonpotpourri/player~-help.pd       |  129 +
 externals/lyonpotpourri/player~.c             |  522 ++
 externals/lyonpotpourri/poltocar~-help.pd     |   56 +
 externals/lyonpotpourri/poltocar~.c           |   67 +
 externals/lyonpotpourri/power_of_two.c        |   17 +
 externals/lyonpotpourri/pulser~-help.pd       |   54 +
 externals/lyonpotpourri/pulser~.c             |  214 +
 externals/lyonpotpourri/qsortE.c              |    1 +
 externals/lyonpotpourri/quadpan~-help.pd      |  120 +
 externals/lyonpotpourri/quadpan~.c            |    1 +
 externals/lyonpotpourri/rotapan~-help.pd      |   37 +
 externals/lyonpotpourri/rotapan~.c            |  147 +
 externals/lyonpotpourri/rtrig~-help.pd        | 1268 +++++
 externals/lyonpotpourri/rtrig~.c              |  145 +
 externals/lyonpotpourri/samm~-help.pd         |  200 +
 externals/lyonpotpourri/samm~.c               |  431 ++
 externals/lyonpotpourri/sarec~-help.pd        |  110 +
 externals/lyonpotpourri/sarec~.c              |  400 ++
 externals/lyonpotpourri/sel~-help.pd          |   46 +
 externals/lyonpotpourri/sel~.c                |  178 +
 externals/lyonpotpourri/shoehorn~-help.pd     |   28 +
 externals/lyonpotpourri/shoehorn~.c           |  174 +
 externals/lyonpotpourri/sigseq~-help.pd       |   83 +
 externals/lyonpotpourri/sigseq~.c             |  572 +++
 externals/lyonpotpourri/smap-help.pd          |    9 +
 externals/lyonpotpourri/smap.pd               |   28 +
 externals/lyonpotpourri/splitbank~-help.pd    |  355 ++
 externals/lyonpotpourri/splitbank~.c          |    1 +
 externals/lyonpotpourri/splitspec~-help.pd    |  396 ++
 externals/lyonpotpourri/splitspec~.c          |  722 +++
 externals/lyonpotpourri/squash~-help.pd       |   85 +
 externals/lyonpotpourri/squash~.c             |  437 ++
 externals/lyonpotpourri/stutter~-help.pd      |  124 +
 externals/lyonpotpourri/stutter~.c            |  531 ++
 externals/lyonpotpourri/ugens.h               |   57 +
 externals/lyonpotpourri/unconvert.c           |   34 +
 externals/lyonpotpourri/vdb~-help.pd          |  106 +
 externals/lyonpotpourri/vdb~.c                |  519 ++
 externals/lyonpotpourri/vdp~-help.pd          |   51 +
 externals/lyonpotpourri/vdp~.c                |  477 ++
 externals/lyonpotpourri/vecdex~-help.pd       |   73 +
 externals/lyonpotpourri/vecdex~.c             |   67 +
 externals/lyonpotpourri/waveshape~-help.pd    |   36 +
 externals/lyonpotpourri/waveshape~.c          |  171 +
 externals/lyonpotpourri/windowvec~-help.pd    |   57 +
 externals/lyonpotpourri/windowvec~.c          |   97 +
 272 files changed, 60797 insertions(+), 8 deletions(-)
 delete mode 160000 externals/fftease
 create mode 100644 externals/fftease/LICENSE.txt
 create mode 100644 externals/fftease/MSPd.h
 create mode 100644 externals/fftease/Makefile
 create mode 100644 externals/fftease/PenroseOscil.c
 create mode 100644 externals/fftease/PenroseOscil.h
 create mode 100644 externals/fftease/PenroseRand.c
 create mode 100644 externals/fftease/PenroseRand.h
 create mode 100644 externals/fftease/README.txt
 create mode 100644 externals/fftease/bloscbank.c
 create mode 100644 externals/fftease/bthresher~.c
 create mode 100644 externals/fftease/burrow~.c
 create mode 100644 externals/fftease/cavoc27~.c
 create mode 100644 externals/fftease/cavoc~.c
 create mode 100644 externals/fftease/centerring~.c
 create mode 100644 externals/fftease/codepend~.c
 create mode 100644 externals/fftease/collect.pl
 create mode 100644 externals/fftease/convert.c
 create mode 100644 externals/fftease/cross~.c
 create mode 100644 externals/fftease/dentist~.c
 create mode 100644 externals/fftease/disarrain~.c
 create mode 100644 externals/fftease/disarray~.c
 create mode 100644 externals/fftease/drown~.c
 create mode 100644 externals/fftease/enrich~.c
 create mode 100644 externals/fftease/ether~.c
 create mode 100644 externals/fftease/fft.c
 create mode 100644 externals/fftease/fft4.c
 create mode 100644 externals/fftease/fftease-meta.pd
 create mode 100644 externals/fftease/fftease.h
 create mode 100644 externals/fftease/fftease32-helpfiles/bthresher~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/burrow~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/cavoc27~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/cavoc~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/centerring~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/codepend~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/cross~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/dentist~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/disarrain~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/disarray~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/drown~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/enrich~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/ether~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/leaker~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/mindwarp~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/morphine~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/multyq~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pileup~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvcompand~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvgrain~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvharm~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvoc~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvtuner~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvwarpb~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/pvwarp~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/reanimator~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/resent~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/residency_buffer~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/residency~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/schmear~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/scrape~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/shapee~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/smap-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/sound/Piano.aif
 create mode 100644 externals/fftease/fftease32-helpfiles/swinger~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/taint~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/thresher~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/vacancy~-help.pd
 create mode 100644 externals/fftease/fftease32-helpfiles/xsyn~-help.pd
 create mode 100644 externals/fftease/fftease_setup.c
 create mode 100644 externals/fftease/fftease_utilities.c
 create mode 100644 externals/fftease/fold.c
 create mode 100644 externals/fftease/leaker~.c
 create mode 100644 externals/fftease/leanconvert.c
 create mode 100644 externals/fftease/leanunconvert.c
 create mode 100644 externals/fftease/legacy.c
 create mode 100644 externals/fftease/limit_fftsize.c
 create mode 100644 externals/fftease/limited_oscbank.c
 create mode 100644 externals/fftease/lyonpotpourri-meta.pd
 create mode 100644 externals/fftease/m_pd.h
 create mode 100644 externals/fftease/makewindows.c
 create mode 100644 externals/fftease/mindwarp~.c
 create mode 100644 externals/fftease/morphine~.c
 create mode 100644 externals/fftease/multyq~.c
 create mode 100644 externals/fftease/oscbank.c
 create mode 100644 externals/fftease/overlapadd.c
 create mode 100644 externals/fftease/pileup~.c
 create mode 100644 externals/fftease/power_of_two.c
 create mode 100644 externals/fftease/pvcompand~.c
 create mode 100644 externals/fftease/pvgrain~.c
 create mode 100644 externals/fftease/pvharm~.c
 create mode 100644 externals/fftease/pvoc~.c
 create mode 100644 externals/fftease/pvtuner~.c
 create mode 100644 externals/fftease/pvwarpb~.c
 create mode 100644 externals/fftease/pvwarp~.c
 create mode 100644 externals/fftease/qsortE.c
 create mode 100644 externals/fftease/reanimator~.c
 create mode 100644 externals/fftease/resent~.c
 create mode 100644 externals/fftease/residency_buffer~.c
 create mode 100644 externals/fftease/residency~.c
 create mode 100644 externals/fftease/schmear~.c
 create mode 100644 externals/fftease/scrape~.c
 create mode 100644 externals/fftease/shapee~.c
 create mode 100644 externals/fftease/smap.pd
 create mode 100644 externals/fftease/swinger~.c
 create mode 100644 externals/fftease/taint~.c
 create mode 100644 externals/fftease/thresher~.c
 create mode 100644 externals/fftease/unconvert.c
 create mode 100644 externals/fftease/vacancy~.c
 create mode 100644 externals/fftease/xsyn~.c
 delete mode 160000 externals/lyonpotpourri
 create mode 100755 externals/lyonpotpourri/INSTALLATION.txt
 create mode 100755 externals/lyonpotpourri/LICENSE.txt
 create mode 100755 externals/lyonpotpourri/MSPd.h
 create mode 100755 externals/lyonpotpourri/Makefile
 create mode 100755 externals/lyonpotpourri/PenroseOscil.c
 create mode 100755 externals/lyonpotpourri/PenroseOscil.h
 create mode 100755 externals/lyonpotpourri/PenroseRand.c
 create mode 100755 externals/lyonpotpourri/PenroseRand.h
 create mode 100755 externals/lyonpotpourri/README.md
 create mode 100755 externals/lyonpotpourri/README.txt
 create mode 100755 externals/lyonpotpourri/Updates.txt
 create mode 100755 externals/lyonpotpourri/adsr~-help.pd
 create mode 100755 externals/lyonpotpourri/adsr~.c
 create mode 100755 externals/lyonpotpourri/arrayfilt~-help.pd
 create mode 100755 externals/lyonpotpourri/arrayfilt~.c
 create mode 100755 externals/lyonpotpourri/bashfest.h
 create mode 100755 externals/lyonpotpourri/bashfest_dsp.c
 create mode 100755 externals/lyonpotpourri/bashfest_helper.c
 create mode 100755 externals/lyonpotpourri/bashfest~-help.pd
 create mode 100755 externals/lyonpotpourri/bashfest~.c
 create mode 100755 externals/lyonpotpourri/bloscbank.c
 create mode 100755 externals/lyonpotpourri/buffet~-help.pd
 create mode 100755 externals/lyonpotpourri/buffet~.c
 create mode 100755 externals/lyonpotpourri/bvplay~-help.pd
 create mode 100755 externals/lyonpotpourri/bvplay~.c
 create mode 100755 externals/lyonpotpourri/cartopol~-help.pd
 create mode 100755 externals/lyonpotpourri/cartopol~.c
 create mode 100755 externals/lyonpotpourri/channel~-help.pd
 create mode 100755 externals/lyonpotpourri/channel~.c
 create mode 100755 externals/lyonpotpourri/chopper~-help.pd
 create mode 100755 externals/lyonpotpourri/chopper~.c
 create mode 100755 externals/lyonpotpourri/clean_selector~-help.pd
 create mode 100755 externals/lyonpotpourri/clean_selector~.c
 create mode 100755 externals/lyonpotpourri/click2bang~-help.pd
 create mode 100755 externals/lyonpotpourri/click2bang~.c
 create mode 100755 externals/lyonpotpourri/click2float~-help.pd
 create mode 100755 externals/lyonpotpourri/click2float~.c
 create mode 100755 externals/lyonpotpourri/clickhold~-help.pd
 create mode 100755 externals/lyonpotpourri/clickhold~.c
 create mode 100755 externals/lyonpotpourri/click~-help.pd
 create mode 100755 externals/lyonpotpourri/click~.c
 create mode 100755 externals/lyonpotpourri/collect.pl
 create mode 100755 externals/lyonpotpourri/convert.c
 create mode 100755 externals/lyonpotpourri/convolver~-help.pd
 create mode 100755 externals/lyonpotpourri/convolver~.c
 create mode 100755 externals/lyonpotpourri/counter~-help.pd
 create mode 100755 externals/lyonpotpourri/counter~.c
 create mode 100755 externals/lyonpotpourri/distortion~-help.pd
 create mode 100755 externals/lyonpotpourri/distortion~.c
 create mode 100644 externals/lyonpotpourri/dmach~-help.pd
 create mode 100755 externals/lyonpotpourri/dmach~.c
 create mode 100755 externals/lyonpotpourri/dynss~-help.pd
 create mode 100755 externals/lyonpotpourri/dynss~.c
 create mode 100755 externals/lyonpotpourri/ellipse.c
 create mode 100755 externals/lyonpotpourri/epluribus~-help.pd
 create mode 100755 externals/lyonpotpourri/epluribus~.c
 create mode 100755 externals/lyonpotpourri/examples/BD0010.aif
 create mode 100755 externals/lyonpotpourri/examples/BT0AADA.aiff
 create mode 100755 externals/lyonpotpourri/examples/CP.aif
 create mode 100755 externals/lyonpotpourri/examples/KR55SNAR.aiff
 create mode 100755 externals/lyonpotpourri/examples/bell.aiff
 create mode 100755 externals/lyonpotpourri/examples/hi_c_12b.aiff
 create mode 100755 externals/lyonpotpourri/examples/hi_o_06e.aiff
 create mode 100755 externals/lyonpotpourri/examples/hi_o_15g.aiff
 create mode 100755 externals/lyonpotpourri/examples/kick_11d.aiff
 create mode 100755 externals/lyonpotpourri/examples/mar2.aif
 create mode 100755 externals/lyonpotpourri/examples/prettypad.aif
 create mode 100755 externals/lyonpotpourri/examples/soda-bd.aif
 create mode 100755 externals/lyonpotpourri/examples/trickhit.aif
 create mode 100755 externals/lyonpotpourri/examples/voice.wav
 create mode 100755 externals/lyonpotpourri/expflam~-help.pd
 create mode 100755 externals/lyonpotpourri/expflam~.c
 create mode 100755 externals/lyonpotpourri/fft.c
 create mode 100755 externals/lyonpotpourri/fft4.c
 create mode 100755 externals/lyonpotpourri/fftease.h
 create mode 100755 externals/lyonpotpourri/fftease_oldskool.h
 create mode 100755 externals/lyonpotpourri/fftease_setup.c
 create mode 100755 externals/lyonpotpourri/flanjah~-help.pd
 create mode 100755 externals/lyonpotpourri/flanjah~.c
 create mode 100755 externals/lyonpotpourri/fold.c
 create mode 100755 externals/lyonpotpourri/from_msp.c
 create mode 100755 externals/lyonpotpourri/function~-help.pd
 create mode 100755 externals/lyonpotpourri/function~.c
 create mode 100755 externals/lyonpotpourri/granola~-help.pd
 create mode 100755 externals/lyonpotpourri/granola~.c
 create mode 100755 externals/lyonpotpourri/granulesf~-help.pd
 create mode 100755 externals/lyonpotpourri/granulesf~.c
 create mode 100755 externals/lyonpotpourri/granule~-help.pd
 create mode 100755 externals/lyonpotpourri/granule~.c
 create mode 100755 externals/lyonpotpourri/kbuffer~-help.pd
 create mode 100755 externals/lyonpotpourri/kbuffer~.c
 create mode 100755 externals/lyonpotpourri/killdc~-help.pd
 create mode 100755 externals/lyonpotpourri/killdc~.c
 create mode 100755 externals/lyonpotpourri/latch~-help.pd
 create mode 100755 externals/lyonpotpourri/latch~.c
 create mode 100755 externals/lyonpotpourri/leanconvert.c
 create mode 100755 externals/lyonpotpourri/leanunconvert.c
 create mode 100755 externals/lyonpotpourri/lpp.h
 create mode 100755 externals/lyonpotpourri/lyonpotpourri-meta.pd
 create mode 100755 externals/lyonpotpourri/m_pd.h
 create mode 100755 externals/lyonpotpourri/magfreq_analysis~-help.pd
 create mode 100755 externals/lyonpotpourri/magfreq_analysis~.c
 create mode 100755 externals/lyonpotpourri/makewindows.c
 create mode 100755 externals/lyonpotpourri/markov~-help.pd
 create mode 100755 externals/lyonpotpourri/markov~.c
 create mode 100755 externals/lyonpotpourri/mask~-help.pd
 create mode 100755 externals/lyonpotpourri/mask~.c
 create mode 100755 externals/lyonpotpourri/npan~-help.pd
 create mode 100755 externals/lyonpotpourri/npan~.c
 create mode 100755 externals/lyonpotpourri/oscil~-help.pd
 create mode 100755 externals/lyonpotpourri/oscil~.c
 create mode 100755 externals/lyonpotpourri/overlapadd.c
 create mode 100755 externals/lyonpotpourri/pd-template.spec
 create mode 100755 externals/lyonpotpourri/phasemod~-help.pd
 create mode 100755 externals/lyonpotpourri/phasemod~.c
 create mode 100755 externals/lyonpotpourri/player~-help.pd
 create mode 100755 externals/lyonpotpourri/player~.c
 create mode 100755 externals/lyonpotpourri/poltocar~-help.pd
 create mode 100755 externals/lyonpotpourri/poltocar~.c
 create mode 100755 externals/lyonpotpourri/power_of_two.c
 create mode 100755 externals/lyonpotpourri/pulser~-help.pd
 create mode 100755 externals/lyonpotpourri/pulser~.c
 create mode 100755 externals/lyonpotpourri/qsortE.c
 create mode 100755 externals/lyonpotpourri/quadpan~-help.pd
 create mode 100755 externals/lyonpotpourri/quadpan~.c
 create mode 100755 externals/lyonpotpourri/rotapan~-help.pd
 create mode 100755 externals/lyonpotpourri/rotapan~.c
 create mode 100755 externals/lyonpotpourri/rtrig~-help.pd
 create mode 100755 externals/lyonpotpourri/rtrig~.c
 create mode 100755 externals/lyonpotpourri/samm~-help.pd
 create mode 100755 externals/lyonpotpourri/samm~.c
 create mode 100755 externals/lyonpotpourri/sarec~-help.pd
 create mode 100755 externals/lyonpotpourri/sarec~.c
 create mode 100755 externals/lyonpotpourri/sel~-help.pd
 create mode 100755 externals/lyonpotpourri/sel~.c
 create mode 100755 externals/lyonpotpourri/shoehorn~-help.pd
 create mode 100755 externals/lyonpotpourri/shoehorn~.c
 create mode 100755 externals/lyonpotpourri/sigseq~-help.pd
 create mode 100755 externals/lyonpotpourri/sigseq~.c
 create mode 100755 externals/lyonpotpourri/smap-help.pd
 create mode 100755 externals/lyonpotpourri/smap.pd
 create mode 100755 externals/lyonpotpourri/splitbank~-help.pd
 create mode 100755 externals/lyonpotpourri/splitbank~.c
 create mode 100755 externals/lyonpotpourri/splitspec~-help.pd
 create mode 100755 externals/lyonpotpourri/splitspec~.c
 create mode 100755 externals/lyonpotpourri/squash~-help.pd
 create mode 100755 externals/lyonpotpourri/squash~.c
 create mode 100755 externals/lyonpotpourri/stutter~-help.pd
 create mode 100755 externals/lyonpotpourri/stutter~.c
 create mode 100755 externals/lyonpotpourri/ugens.h
 create mode 100755 externals/lyonpotpourri/unconvert.c
 create mode 100755 externals/lyonpotpourri/vdb~-help.pd
 create mode 100755 externals/lyonpotpourri/vdb~.c
 create mode 100755 externals/lyonpotpourri/vdp~-help.pd
 create mode 100755 externals/lyonpotpourri/vdp~.c
 create mode 100755 externals/lyonpotpourri/vecdex~-help.pd
 create mode 100755 externals/lyonpotpourri/vecdex~.c
 create mode 100755 externals/lyonpotpourri/waveshape~-help.pd
 create mode 100755 externals/lyonpotpourri/waveshape~.c
 create mode 100755 externals/lyonpotpourri/windowvec~-help.pd
 create mode 100755 externals/lyonpotpourri/windowvec~.c

diff --git a/.gitmodules b/.gitmodules
index 5ea924121..b68dccb93 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,15 +4,9 @@
 [submodule "l2ork_addons/cwiid"]
 	path = externals/disis/cwiid
 	url = https://github.com/pd-l2ork/cwiid
-[submodule "externals/fftease"]
-	path = externals/fftease
-	url = https://git.purrdata.net/jwilkes/fftease.git
 [submodule "Gem"]
 	path = Gem
 	url = https://git.purrdata.net/jwilkes/Gem.git
-[submodule "externals/lyonpotpourri"]
-	path = externals/lyonpotpourri
-	url = https://git.purrdata.net/jwilkes/lyonpotpourri3.0.git
 [submodule "l2ork_addons/raspberry_pi/disis_gpio/wiringPi"]
 	path = l2ork_addons/raspberry_pi/disis_gpio/wiringPi
 	url = https://git.purrdata.net/jwilkes/wiringPi.git
diff --git a/externals/fftease b/externals/fftease
deleted file mode 160000
index ecd960938..000000000
--- a/externals/fftease
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ecd960938ed5517a765770fe181b094bddae040c
diff --git a/externals/fftease/LICENSE.txt b/externals/fftease/LICENSE.txt
new file mode 100644
index 000000000..aeda5b632
--- /dev/null
+++ b/externals/fftease/LICENSE.txt
@@ -0,0 +1,20 @@
+FFTease 3.0 is Copyright (c) 1999-2014 Eric Lyon and Christopher Penrose
+
+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. 
+
+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/externals/fftease/MSPd.h b/externals/fftease/MSPd.h
new file mode 100644
index 000000000..9b971506e
--- /dev/null
+++ b/externals/fftease/MSPd.h
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+
+/* for compiling under XP */
+
+#ifndef PIOVERTWO
+#define PIOVERTWO 1.5707963268
+#endif
+#ifndef TWOPI
+#define TWOPI 6.2831853072
+#endif
+
+
diff --git a/externals/fftease/Makefile b/externals/fftease/Makefile
new file mode 100644
index 000000000..0698e7c37
--- /dev/null
+++ b/externals/fftease/Makefile
@@ -0,0 +1,454 @@
+## Pd library template version 1.0.14
+# For instructions on how to use this template, see:
+#  http://puredata.info/docs/developer/MakefileTemplate
+# EL removed liberty link
+LIBRARY_NAME = fftease
+
+# add your .c source files, one object per file, to the SOURCES
+# variable, help files will be included automatically, and for GUI
+# objects, the matching .tcl file too
+SOURCES = bthresher~.c burrow~.c cavoc~.c cavoc27~.c centerring~.c \
+codepend~.c cross~.c dentist~.c disarrain~.c disarray~.c drown~.c \
+enrich~.c ether~.c leaker~.c mindwarp~.c morphine~.c multyq~.c \
+pileup~.c pvcompand~.c pvgrain~.c pvharm~.c pvoc~.c pvtuner~.c pvwarp~.c pvwarpb~.c \
+reanimator~.c resent~.c residency~.c residency_buffer~.c schmear~.c scrape~.c \
+shapee~.c swinger~.c taint~.c thresher~.c vacancy~.c xsyn~.c
+
+# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will
+# be included automatically
+PDOBJECTS = smap.pd
+
+# example patches and related files, in the 'examples' subfolder
+EXAMPLES = 
+
+# manuals and related files, in the 'manual' subfolder
+MANUAL = 
+
+# if you want to include any other files in the source and binary tarballs,
+# list them here.  This can be anything from header files, test patches,
+# documentation, etc.  README.txt and LICENSE.txt are required and therefore
+# automatically included
+EXTRA_DIST = MSPd.h PenroseOscil.h PenroseRand.h bashfest.h fftease.h ugens.h
+
+# unit tests and related files here, in the 'unittests' subfolder
+UNITTESTS = 
+
+
+SHARED_SOURCE = bloscbank.c convert.c fft.c fft4.c fftease_setup.c fftease_utilities.c fold.c leanconvert.c leanunconvert.c legacy.c limit_fftsize.c limited_oscbank.c makewindows.c oscbank.c overlapadd.c PenroseOscil.c PenroseRand.c power_of_two.c qsortE.c unconvert.c 
+SHARED_LIB = lib$(LIBRARY_NAME).$(SHARED_EXTENSION)
+
+#------------------------------------------------------------------------------#
+#
+# things you might need to edit if you are using other C libraries
+#
+#------------------------------------------------------------------------------#
+
+ALL_CFLAGS = -I"$(PD_INCLUDE)"
+ALL_LDFLAGS =  
+SHARED_LDFLAGS =
+ALL_LIBS = 
+
+
+#------------------------------------------------------------------------------#
+#
+# you shouldn't need to edit anything below here, if we did it right :)
+#
+#------------------------------------------------------------------------------#
+
+# these can be set from outside without (usually) breaking the build
+CFLAGS = -Wall -W -g
+# Skip irritating warnings:
+# CFLAGS = -w -g
+LDFLAGS =
+LIBS =
+
+# get library version from meta file
+LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd)
+
+ALL_CFLAGS += -DPD -DVERSION='"$(LIBRARY_VERSION)"'
+
+PD_INCLUDE = $(PD_PATH)/include/pd
+# where to install the library, overridden below depending on platform
+prefix = /usr/local
+libdir = $(prefix)/lib
+pkglibdir = $(libdir)/pd-externals
+objectsdir = $(pkglibdir)
+
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL) -p -m 644
+INSTALL_DATA = $(INSTALL) -p -m 644
+INSTALL_DIR     = $(INSTALL) -p -m 755 -d
+
+ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \
+	         $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows)
+
+DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION)
+ORIGDIR=pd-$(LIBRARY_NAME:~=)_$(LIBRARY_VERSION)
+
+UNAME := $(shell uname -s)
+ifeq ($(UNAME),Darwin)
+  CPU := $(shell uname -p)
+  ifeq ($(CPU),arm) # iPhone/iPod Touch
+    SOURCES += $(SOURCES_iphoneos)
+    EXTENSION = pd_darwin
+    SHARED_EXTENSION = dylib
+    OS = iphoneos
+    PD_PATH = /Applications/Pd-extended.app/Contents/Resources
+    IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
+    CC=$(IPHONE_BASE)/gcc
+    CPP=$(IPHONE_BASE)/cpp
+    CXX=$(IPHONE_BASE)/g++
+    ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk
+    IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6
+    OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer
+    ALL_CFLAGS := $(IPHONE_CFLAGS) $(ALL_CFLAGS)
+    ALL_LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT)
+    SHARED_LDFLAGS += -arch armv6 -dynamiclib -undefined dynamic_lookup $(ISYSROOT)
+    ALL_LIBS += -lc $(LIBS_iphoneos)
+    STRIP = strip -x
+    DISTBINDIR=$(DISTDIR)-$(OS)
+  else # Mac OS X
+    SOURCES += $(SOURCES_macosx)
+    EXTENSION = pd_darwin
+    SHARED_EXTENSION = dylib
+    OS = macosx
+    PD_PATH = 
+    OPT_CFLAGS = -ftree-vectorize 
+# build universal 32-bit on 10.4 and 32/64 on newer
+    ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8)
+      FAT_FLAGS = -arch ppc -arch i386 -mmacosx-version-min=10.4
+    else
+      SOURCES += $(SOURCES_iphoneos)
+# Starting with Xcode 4.0, the PowerPC compiler is not installed by default
+      ifeq ($(wildcard /usr/llvm-gcc-4.2/libexec/gcc/powerpc*), )
+        FAT_FLAGS = -arch i386 -arch x86_64 -mmacosx-version-min=10.5
+      else
+        FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4
+      endif
+    endif
+    ALL_CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include
+    # if the 'pd' binary exists, check the linking against it to aid with stripping
+    BUNDLE_LOADER = $(shell test ! -e $(PD_PATH)/bin/pd || echo -bundle_loader $(PD_PATH)/bin/pd)
+    ALL_LDFLAGS += $(FAT_FLAGS) -headerpad_max_install_names -bundle $(BUNDLE_LOADER) \
+	-undefined dynamic_lookup 
+    SHARED_LDFLAGS += $(FAT_FLAGS) -dynamiclib -undefined dynamic_lookup \
+	-install_name @loader_path/$(SHARED_LIB) -compatibility_version 1 -current_version 1.0
+    ALL_LIBS += -lc $(LIBS_macosx)
+    STRIP = strip -x
+    DISTBINDIR=$(DISTDIR)-$(OS)
+# install into ~/Library/Pd on Mac OS X since /usr/local isn't used much
+    pkglibdir=$(HOME)/Library/Pd
+  endif
+endif
+# Tho Android uses Linux, we use this fake uname to provide an easy way to
+# setup all this things needed to cross-compile for Android using the NDK
+ifeq ($(UNAME),ANDROID)
+  CPU := arm
+  SOURCES += $(SOURCES_android)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = android
+  PD_PATH = /usr
+  NDK_BASE := /usr/local/android-ndk
+  NDK_PLATFORM_VERSION := 5
+  NDK_SYSROOT=$(NDK_BASE)/platforms/android-$(NDK_PLATFORM_VERSION)/arch-arm
+  NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
+  NDK_TOOLCHAIN_BASE=$(NDK_BASE)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(NDK_UNAME)-x86
+  CC := $(NDK_TOOLCHAIN_BASE)/bin/arm-linux-androideabi-gcc --sysroot=$(NDK_SYSROOT)
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  CFLAGS += 
+  LDFLAGS += -rdynamic -shared
+  SHARED_LDFLAGS += -Wl,-soname,$(SHARED_LIB) -shared
+  LIBS += -lc $(LIBS_android)
+  STRIP := $(NDK_TOOLCHAIN_BASE)/bin/arm-linux-androideabi-strip \
+	--strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),Linux)
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -Wl,-soname,$(SHARED_LIB) -shared
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),GNU)
+  # GNU/Hurd, should work like GNU/Linux for basically all externals
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),GNU/kFreeBSD)
+  # Debian GNU/kFreeBSD, should work like GNU/Linux for basically all externals
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_cygwin)
+  EXTENSION = dll
+  SHARED_EXTENSION = dll
+  OS = cygwin
+  PD_PATH = $(shell cygpath $$PROGRAMFILES)/pd
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += 
+  ALL_LDFLAGS += -rdynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin"
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc -lpd $(LIBS_cygwin)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)
+endif
+ifeq (MINGW,$(findstring MINGW,$(UNAME)))
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_windows)
+  EXTENSION = dll
+  SHARED_EXTENSION = dll
+  OS = windows
+  PD_PATH = $(shell cd "$$PROGRAMFILES/pd" && pwd)
+  # MinGW doesn't seem to include cc so force gcc
+  CC=gcc
+  OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -mms-bitfields
+  ALL_LDFLAGS += -s -shared -Wl,--enable-auto-import
+  SHARED_LDFLAGS += -shared
+  ALL_LIBS += -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" -L"$(PD_PATH)/obj" \
+	-lpd -lwsock32 -lkernel32 -luser32 -lgdi32 $(LIBS_windows)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)
+endif
+
+# in case somebody manually set the HELPPATCHES above
+HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.pd=-help.pd)
+
+ALL_CFLAGS := $(ALL_CFLAGS) $(CFLAGS) $(OPT_CFLAGS)
+ALL_LDFLAGS := $(LDFLAGS) $(ALL_LDFLAGS)
+ALL_LIBS := $(LIBS) $(ALL_LIBS)
+
+SHARED_SOURCE ?= $(wildcard lib$(LIBRARY_NAME).c)
+SHARED_HEADER ?= $(shell test ! -e $(LIBRARY_NAME).h || echo $(LIBRARY_NAME).h)
+SHARED_LIB ?= $(SHARED_SOURCE:.c=.$(SHARED_EXTENSION))
+SHARED_TCL_LIB = $(wildcard lib$(LIBRARY_NAME).tcl)
+
+.PHONY = install libdir_install single_install install-doc install-examples install-manual install-unittests clean distclean dist etags $(LIBRARY_NAME)
+
+all: $(SOURCES:.c=.$(EXTENSION)) $(SHARED_LIB)
+
+%.o: %.c
+	$(CC) $(ALL_CFLAGS) -o "$*.o" -c "$*.c"
+
+%.$(EXTENSION): %.o $(SHARED_LIB)
+	$(CC) $(ALL_LDFLAGS) -o "$*.$(EXTENSION)" "$*.o"  $(ALL_LIBS) $(SHARED_LIB)
+	chmod a-x "$*.$(EXTENSION)"
+
+# this links everything into a single binary file
+$(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBRARY_NAME).o lib$(LIBRARY_NAME).o
+	$(CC) $(ALL_LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) \
+		$(LIBRARY_NAME).o lib$(LIBRARY_NAME).o $(ALL_LIBS)
+	chmod a-x $(LIBRARY_NAME).$(EXTENSION)
+
+$(SHARED_LIB): $(SHARED_SOURCE:.c=.o)
+	$(CC) $(SHARED_LDFLAGS) -o $(SHARED_LIB) $(SHARED_SOURCE:.c=.o) $(ALL_LIBS)
+
+install: libdir_install
+
+# The meta and help files are explicitly installed to make sure they are
+# actually there.  Those files are not optional, then need to be there.
+libdir_install: $(SOURCES:.c=.$(EXTENSION)) $(SHARED_LIB) install-doc install-examples install-manual install-unittests
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd \
+		$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SOURCES))" || (\
+		$(INSTALL_PROGRAM) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \
+		$(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION))))
+	test -z "$(strip $(SHARED_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_LIB) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(wildcard $(SOURCES:.c=.tcl)))" || \
+		$(INSTALL_DATA) $(wildcard $(SOURCES:.c=.tcl)) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(PDOBJECTS) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SHARED_TCL_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_TCL_LIB) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+
+# install library linked as single binary
+single_install: $(LIBRARY_NAME) install-doc install-examples install-manual install-unittests
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_PROGRAM) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(STRIP) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/$(LIBRARY_NAME).$(EXTENSION)
+
+install-doc:
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SOURCES) $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(HELPPATCHES) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_DATA) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt
+	$(INSTALL_DATA) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt
+
+install-examples:
+	test -z "$(strip $(EXAMPLES))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \
+		for file in $(EXAMPLES); do \
+			$(INSTALL_DATA) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \
+		done
+
+install-manual:
+	test -z "$(strip $(MANUAL))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual && \
+		for file in $(MANUAL); do \
+			$(INSTALL_DATA) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \
+		done
+
+install-unittests:
+	test -z "$(strip $(UNITTESTS))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/unittests && \
+		for file in $(UNITTESTS); do \
+			$(INSTALL_DATA) unittests/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/unittests; \
+		done
+
+clean:
+	-rm -f -- $(SOURCES:.c=.o) $(SOURCES_LIB:.c=.o) $(SHARED_SOURCE:.c=.o)
+	-rm -f -- $(SOURCES:.c=.$(EXTENSION))
+	-rm -f -- $(LIBRARY_NAME).o
+	-rm -f -- $(LIBRARY_NAME).$(EXTENSION)
+	-rm -f -- $(SHARED_LIB)
+
+distclean: clean
+	-rm -f -- $(DISTBINDIR).tar.gz
+	-rm -rf -- $(DISTBINDIR)
+	-rm -f -- $(DISTDIR).tar.gz
+	-rm -rf -- $(DISTDIR)
+	-rm -f -- $(ORIGDIR).tar.gz
+	-rm -rf -- $(ORIGDIR)
+
+
+$(DISTBINDIR):
+	$(INSTALL_DIR) $(DISTBINDIR)
+
+libdir: all $(DISTBINDIR)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTBINDIR)
+	$(INSTALL_DATA) $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER) $(DISTBINDIR)
+	$(INSTALL_DATA) $(HELPPATCHES) $(DISTBINDIR)
+	test -z "$(strip $(EXTRA_DIST))" || \
+		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTBINDIR)
+#	tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR)
+
+$(DISTDIR):
+	$(INSTALL_DIR) $(DISTDIR)
+
+$(ORIGDIR):
+	$(INSTALL_DIR) $(ORIGDIR)
+
+dist: $(DISTDIR)
+	$(INSTALL_DATA) Makefile  $(DISTDIR)
+	$(INSTALL_DATA) README.txt $(DISTDIR)
+	$(INSTALL_DATA) LICENSE.txt $(DISTDIR)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTDIR)
+	test -z "$(strip $(ALLSOURCES))" || \
+		$(INSTALL_DATA) $(ALLSOURCES)  $(DISTDIR)
+	test -z "$(strip $(wildcard $(ALLSOURCES:.c=.tcl)))" || \
+		$(INSTALL_DATA) $(wildcard $(ALLSOURCES:.c=.tcl))  $(DISTDIR)
+	test -z "$(strip $(wildcard $(LIBRARY_NAME).c))" || \
+		$(INSTALL_DATA) $(LIBRARY_NAME).c  $(DISTDIR)
+	test -z "$(strip $(SHARED_HEADER))" || \
+		$(INSTALL_DATA) $(SHARED_HEADER)  $(DISTDIR)
+	test -z "$(strip $(SHARED_SOURCE))" || \
+		$(INSTALL_DATA) $(SHARED_SOURCE)  $(DISTDIR)
+	test -z "$(strip $(SHARED_TCL_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_TCL_LIB)  $(DISTDIR)
+	test -z "$(strip $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(PDOBJECTS)  $(DISTDIR)
+	test -z "$(strip $(HELPPATCHES))" || \
+		$(INSTALL_DATA) $(HELPPATCHES) $(DISTDIR)
+	test -z "$(strip $(EXTRA_DIST))" || \
+		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTDIR)
+	test -z "$(strip $(EXAMPLES))" || \
+		$(INSTALL_DIR) $(DISTDIR)/examples && \
+		for file in $(EXAMPLES); do \
+			$(INSTALL_DATA) examples/$$file $(DISTDIR)/examples; \
+		done
+	test -z "$(strip $(MANUAL))" || \
+		$(INSTALL_DIR) $(DISTDIR)/manual && \
+		for file in $(MANUAL); do \
+			$(INSTALL_DATA) manual/$$file $(DISTDIR)/manual; \
+		done
+	test -z "$(strip $(UNITTESTS))" || \
+		$(INSTALL_DIR) $(DISTDIR)/unittests && \
+		for file in $(UNITTESTS); do \
+			$(INSTALL_DATA) unittests/$$file $(DISTDIR)/unittests; \
+		done
+	tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR)
+
+# make a Debian source package
+dpkg-source:
+	debclean
+	make distclean dist
+	mv $(DISTDIR) $(ORIGDIR)
+	tar --exclude-vcs -czpf ../$(ORIGDIR).orig.tar.gz $(ORIGDIR)
+	rm -f -- $(DISTDIR).tar.gz
+	rm -rf -- $(DISTDIR) $(ORIGDIR)
+	cd .. && dpkg-source -b $(LIBRARY_NAME)
+
+etags: TAGS
+
+TAGS: $(wildcard $(PD_INCLUDE)/*.h) $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER)
+	etags $(wildcard $(PD_INCLUDE)/*.h)
+	etags -a *.h $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER)
+	etags -a --language=none --regex="/proc[ \t]+\([^ \t]+\)/\1/" *.tcl
+
+showsetup:
+	@echo "CC: $(CC)"
+	@echo "CFLAGS: $(CFLAGS)"
+	@echo "LDFLAGS: $(LDFLAGS)"
+	@echo "LIBS: $(LIBS)"
+	@echo "ALL_CFLAGS: $(ALL_CFLAGS)"
+	@echo "ALL_LDFLAGS: $(ALL_LDFLAGS)"
+	@echo "ALL_LIBS: $(ALL_LIBS)"
+	@echo "PD_INCLUDE: $(PD_INCLUDE)"
+	@echo "PD_PATH: $(PD_PATH)"
+	@echo "objectsdir: $(objectsdir)"
+	@echo "LIBRARY_NAME: $(LIBRARY_NAME)"
+	@echo "LIBRARY_VERSION: $(LIBRARY_VERSION)"
+	@echo "SOURCES: $(SOURCES)"
+	@echo "SHARED_HEADER: $(SHARED_HEADER)"
+	@echo "SHARED_SOURCE: $(SHARED_SOURCE)"
+	@echo "SHARED_LIB: $(SHARED_LIB)"
+	@echo "SHARED_TCL_LIB: $(SHARED_TCL_LIB)"
+	@echo "PDOBJECTS: $(PDOBJECTS)"
+	@echo "ALLSOURCES: $(ALLSOURCES)"
+	@echo "ALLSOURCES TCL: $(wildcard $(ALLSOURCES:.c=.tcl))"
+	@echo "UNAME: $(UNAME)"
+	@echo "CPU: $(CPU)"
+	@echo "pkglibdir: $(pkglibdir)"
+	@echo "DISTDIR: $(DISTDIR)"
+	@echo "ORIGDIR: $(ORIGDIR)"
diff --git a/externals/fftease/PenroseOscil.c b/externals/fftease/PenroseOscil.c
new file mode 100644
index 000000000..7d5814551
--- /dev/null
+++ b/externals/fftease/PenroseOscil.c
@@ -0,0 +1,40 @@
+#include <math.h>
+#include "PenroseOscil.h"
+
+
+t_float fftease_frequencyToIncrement( t_float samplingRate, t_float frequency, int bufferLength ) {
+
+  return (frequency / samplingRate) * (t_float) bufferLength;
+} 
+
+void fftease_makeSineBuffer( t_float *buffer, int bufferLength ) {
+  
+  int   i;
+
+  float myTwoPi = 8. * atan(1.);
+
+  for ( i=0; i <= bufferLength; i++ )
+    *(buffer+i) = sin( myTwoPi * ((t_float) i / (t_float) bufferLength) );
+
+  return;
+}
+
+
+t_float fftease_bufferOscil( t_float *phase, t_float increment, t_float *buffer,
+                   int bufferLength )
+{
+
+  t_float sample;
+
+  while ( *phase > bufferLength )
+    *phase -= bufferLength;
+
+  while ( *phase < 0. )
+    *phase += bufferLength;
+
+  sample = *( buffer + (int) (*phase) );
+
+  *phase += increment;
+
+  return sample;
+}
diff --git a/externals/fftease/PenroseOscil.h b/externals/fftease/PenroseOscil.h
new file mode 100644
index 000000000..737975baa
--- /dev/null
+++ b/externals/fftease/PenroseOscil.h
@@ -0,0 +1,5 @@
+#include "fftease.h"
+
+t_float frequencyToIncrement( t_float samplingRate, t_float frequency, int bufferLength );
+void makeSineBuffer( t_float *buffer, int bufferLength );
+t_float bufferOscil( t_float *phase, t_float increment, t_float *buffer, int bufferLength );
diff --git a/externals/fftease/PenroseRand.c b/externals/fftease/PenroseRand.c
new file mode 100644
index 000000000..e086a6e93
--- /dev/null
+++ b/externals/fftease/PenroseRand.c
@@ -0,0 +1,13 @@
+#include "PenroseRand.h"
+
+float fftease_rrand(int *seed)
+{
+    int i = ((*seed = *seed * 1103515245 + 12345)>>16) & 077777;
+    return((float)i/16384. - 1.);
+}
+
+float fftease_prand(int *seed)
+{
+    int i = ((*seed = *seed * 1103515245 + 12345)>>16) & 077777;
+    return((float)i/32768.);
+}
diff --git a/externals/fftease/PenroseRand.h b/externals/fftease/PenroseRand.h
new file mode 100644
index 000000000..89e0f44fd
--- /dev/null
+++ b/externals/fftease/PenroseRand.h
@@ -0,0 +1,3 @@
+
+float fftease_rrand(int *seed);
+float fftease_prand(int *seed);
diff --git a/externals/fftease/README.txt b/externals/fftease/README.txt
new file mode 100644
index 000000000..75015e0ba
--- /dev/null
+++ b/externals/fftease/README.txt
@@ -0,0 +1,49 @@
+About FFTease 3.0
+
+FFTease is a collection of objects designed to facilitate spectral sound
+processing in Max. The collection was designed by Eric Lyon and
+Christopher Penrose in 1999, and has been maintained by Eric Lyon since
+2003. 
+
+
+Installation 
+
+
+The contents of "fftease32-externals" were compiled on Mac OSX 10.9.3
+and should work on Intel-based Mac computers. For other Unix-based
+computers, just type 'make' to build executables appropriate for your
+computer. Then type 'perl collect.pl' to collect all the externals to
+the "fftease32-externals" folder. Finally, move "fftease32-externals"
+and "fftease32-help" to a Pd-accessible location.
+
+
+Performance Considerations
+
+
+The default Pd audio buffer settings for both I/O vector size and signal
+vector size will work fine for FFT sizes up to around 4096 or so. For
+larger FFT sizes, adjusting the Pd signal vector size and I/O vector
+size upward can dramatically improve performance. With larger FFT sizes,
+the reported CPU load may fluctuate. This is because a large FFT is
+being performed only once for several vectors worth of samples. The
+default FFT size is 1024, and the default overlap factor is 8. The
+maximum FFT size is 1073741824. Let me know if you find a computer
+powerful enough to compute the maximum FFT size in real-time. 
+
+
+For Coders 
+
+
+Full source code is included, so that intrepid coders may extend
+FFTease, or even code up a 64-bit version. (Note that current 64-bit
+versions of Pd compute all DSP with 32-bit resolution, thus a 64-bit
+port does not yet seem advisable.) The FFTease code is distributed under
+the MIT license to facilitate deployment to any combination of free,
+open-source, commercial, or closed-source projects.
+
+Have fun!
+
+Eric Lyon
+ericlyon@vt.edu
+Blacksburg, Virginia
+July, 2014
\ No newline at end of file
diff --git a/externals/fftease/bloscbank.c b/externals/fftease/bloscbank.c
new file mode 100644
index 000000000..f09185406
--- /dev/null
+++ b/externals/fftease/bloscbank.c
@@ -0,0 +1,34 @@
+
+#include "fftease.h"
+
+void fftease_bloscbank( t_float *S, t_float *O, int D, t_float iD, t_float *lf, t_float *la, t_float *index, t_float *tab,
+			   int len, t_float synt, int lo, int hi )
+{
+	int    amp,freq,chan, i;
+
+	t_float    a,ainc,f,finc,address;
+
+	for ( chan = lo; chan < hi; chan++ ) {
+
+		freq = ( amp = ( chan << 1 ) ) + 1;
+		if ( S[amp] > synt ){
+			finc = ( S[freq] - ( f = lf[chan] ) )* iD;
+			ainc = ( S[amp] - ( a = la[chan] ) )* iD;
+			address = index[chan];
+			for ( i = 0; i < D ; i++ ) {
+				O[i] += a*tab[ (int) address ];
+
+				address += f;
+				while ( address >= len )
+					address -= len;
+				while ( address < 0 )
+					address += len;
+				a += ainc;
+				f += finc;
+			}
+			lf[chan] = S[freq];
+			la[chan] = S[amp];
+			index[chan] = address;
+		}
+	}
+}
\ No newline at end of file
diff --git a/externals/fftease/bthresher~.c b/externals/fftease/bthresher~.c
new file mode 100644
index 000000000..748aced62
--- /dev/null
+++ b/externals/fftease/bthresher~.c
@@ -0,0 +1,486 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *bthresher_class;
+
+#define OBJECT_NAME "bthresher~"
+
+typedef struct _bthresher
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	/* bthresher vars */
+	t_float *move_threshold;
+	t_float *composite_frame ;
+	int *frames_left;
+	int max_hold_frames;
+	t_float max_hold_time;
+	int first_frame;
+	t_float *damping_factor ;
+	t_float thresh_scalar;
+	t_float damp_scalar;
+	short thresh_connected;
+	short damping_connected;
+	void *list_outlet;
+	void *misc_outlet;
+	t_atom *list_data;
+	short mute;
+	short bypass;
+	t_float init_thresh;
+	t_float init_damping;
+	t_float tadv;
+	short inf_hold;
+} t_bthresher;
+
+
+void *bthresher_new(t_symbol *s, int argc, t_atom *argv);
+void bthresher_dsp(t_bthresher *x, t_signal **sp);
+t_int *bthresher_perform(t_int *w);
+void bthresher_mute(t_bthresher *x, t_float f);
+void bthresher_fftinfo(t_bthresher *x);
+void bthresher_free(t_bthresher *x);
+void bthresher_bin(t_bthresher *x, t_float bin_num, t_float threshold, t_float damper);
+void bthresher_rdamper(t_bthresher *x, t_float min, t_float max );
+void bthresher_rthreshold(t_bthresher *x, t_float min, t_float max);
+void bthresher_dump(t_bthresher *x );
+void bthresher_list (t_bthresher *x, t_symbol *msg, short argc, t_atom *argv);
+void bthresher_init(t_bthresher *x);
+t_float bthresher_boundrand(t_float min, t_float max);
+void bthresher_allthresh(t_bthresher *x, t_float f);
+void bthresher_alldamp(t_bthresher *x, t_float f);
+void bthresher_inf_hold(t_bthresher *x, t_float f);
+void bthresher_max_hold(t_bthresher *x, t_float f);
+void do_bthresher(t_bthresher *x);
+void bthresher_oscbank(t_bthresher *x, t_float flag);
+void bthresher_synthresh(t_bthresher *x, t_float thresh);
+void bthresher_transpose(t_bthresher *x, t_float tf);
+
+void bthresher_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("bthresher~"), (t_newmethod)bthresher_new,
+                  (t_method)bthresher_free,sizeof(t_bthresher), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_bthresher, x_f);
+	class_addmethod(c,(t_method)bthresher_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)bthresher_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)bthresher_fftinfo,gensym("fftinfo"),0);
+	class_addmethod(c,(t_method)bthresher_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_bin, gensym("bin"), A_FLOAT, A_FLOAT, A_FLOAT, 0);
+	class_addmethod(c,(t_method)bthresher_rdamper, gensym("rdamper"), A_DEFFLOAT, A_DEFFLOAT, 0);
+	class_addmethod(c,(t_method)bthresher_rthreshold, gensym("rthreshold"), A_DEFFLOAT, A_DEFFLOAT, 0);
+	class_addmethod(c,(t_method)bthresher_dump,gensym("dump"),0);
+	class_addmethod(c,(t_method)bthresher_list,gensym("list"),A_GIMME,0);
+	class_addmethod(c,(t_method)bthresher_alldamp,gensym("alldamp"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_allthresh,gensym("allthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_inf_hold,gensym("inf_hold"),A_FLOAT,0);
+	class_addmethod(c,(t_method)bthresher_max_hold,gensym("max_hold"),A_FLOAT,0);
+    bthresher_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+
+void bthresher_fftinfo( t_bthresher *x )
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );
+}
+
+void bthresher_free( t_bthresher *x ){
+	t_fftease *fft = x->fft;
+	fftease_free(fft);
+	/* external-specific memory */
+	free(x->composite_frame);
+	free(x->frames_left);
+	free(x->move_threshold);
+	free(x->damping_factor);
+	free(x->list_data);
+}
+
+void bthresher_max_hold(t_bthresher *x, t_float f)
+{
+	if(f<=0)
+		return;
+	x->max_hold_time = f * .001;
+	x->max_hold_frames = x->max_hold_time / x->tadv;
+}
+
+void bthresher_inf_hold(t_bthresher *x, t_float f)
+{
+	x->inf_hold = (int)f;
+}
+
+void bthresher_allthresh(t_bthresher *x, t_float f)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	//post("thresh %f",f);
+	for(i=0;i < fft->N2+1;i++)
+		x->move_threshold[i] = f;
+}
+
+void bthresher_alldamp(t_bthresher *x, t_float f)
+{
+	int i;
+	t_fftease *fft = x->fft;
+    
+	//post("damp %f",f);
+	for(i=0;i < fft->N2+1;i++)
+		x->damping_factor[i] = f;
+}
+
+void bthresher_mute(t_bthresher *x, t_float f){
+	x->mute = f;
+}
+
+
+void bthresher_list (t_bthresher *x, t_symbol *msg, short argc, t_atom *argv) {
+	int i, bin, idiv;
+	t_float fdiv;
+	t_float *damping_factor = x->damping_factor;
+	t_float *move_threshold = x->move_threshold;
+	
+	//	post("reading %d elements", argc);
+	idiv = fdiv = (t_float) argc / 3.0 ;
+	if( fdiv - idiv > 0.0 ) {
+		post("list must be in triplets");
+		return;
+	}
+	
+	for( i = 0; i < argc; i += 3 ) {
+		bin = atom_getintarg(i,argc,argv);
+		damping_factor[bin] = atom_getfloatarg(i+1,argc,argv);
+		move_threshold[bin] = atom_getfloatarg(i+2,argc,argv);
+		
+	}
+}
+
+void bthresher_dump (t_bthresher *x) {
+	
+	t_atom *list_data = x->list_data;
+	t_float *damping_factor = x->damping_factor;
+	t_float *move_threshold = x->move_threshold;
+	
+	int i,j, count;
+    
+	for( i = 0, j = 0; i < x->fft->N2 * 3 ; i += 3, j++ ) {
+        
+		SETFLOAT(list_data+i,(t_float)j);
+		SETFLOAT(list_data+(i+1),damping_factor[j]);
+		SETFLOAT(list_data+(i+2),move_threshold[j]);
+	}
+	
+	count = x->fft->N2 * 3;
+	outlet_list(x->list_outlet,0,count,list_data);
+	
+	return;
+}
+
+void *bthresher_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_fftease *fft;
+    
+	t_bthresher *x = (t_bthresher *)pd_new(bthresher_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->list_outlet = outlet_new(&x->x_obj, gensym("list"));
+    
+	
+	x->fft = (t_fftease *) calloc( 1, sizeof(t_fftease) );
+	
+	fft = x->fft;
+	fft->initialized = 0;
+	x->init_thresh = 0.1;
+	x->init_damping = 0.99;
+    
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+    
+	return x;
+}
+
+
+
+void bthresher_transpose(t_bthresher *x, t_float tf)
+{
+	x->fft->P = (t_float) tf;
+}
+
+void bthresher_synthresh(t_bthresher *x, t_float thresh)
+{
+	x->fft->synt = (t_float) thresh;
+}
+
+void bthresher_init(t_bthresher *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+    
+	short initialized = fft->initialized;
+	fftease_init(fft);
+	
+	if(!initialized){
+		x->first_frame = 1;
+		x->max_hold_time = 60.0 ;
+		x->thresh_connected = 0;
+		x->damping_connected = 0;
+		x->thresh_scalar = 1;
+		x->damp_scalar = 1;
+		x->mute = 0;
+		x->bypass = 0;
+		x->inf_hold = 0;
+		x->composite_frame = (t_float *) calloc(fft->N + 2, sizeof(t_float));
+		x->frames_left = (int *) calloc(fft->N + 2, sizeof(int));
+		
+		
+		// TRIPLETS OF bin# damp_factor threshold
+		x->list_data = (t_atom *) calloc((fft->N2 + 1) * 3, sizeof(t_atom));
+		x->move_threshold = (t_float *) calloc((fft->N2+1), sizeof(t_float));
+		x->damping_factor = (t_float *) calloc((fft->N2+1), sizeof(t_float));
+        
+		for(i = 0; i < fft->N2+1; i++) {
+			x->move_threshold[i] = x->init_thresh;
+			x->damping_factor[i] = x->init_damping;
+		}
+	} else {
+		x->list_data = (t_atom *) realloc((void *)x->list_data, (fft->N2 + 1) * 3 * sizeof(t_atom));
+		x->move_threshold = (t_float *) realloc((void *)x->move_threshold, (fft->N2+1) * sizeof(t_float));
+		x->damping_factor = (t_float *) realloc((void *)x->damping_factor, (fft->N2+1) * sizeof(t_float));
+	}
+    // NEED TO HANDLE REALLOC CASE!!!
+    
+	x->tadv = (t_float) fft->D / (t_float) fft->R;
+	x->max_hold_frames = x->max_hold_time / x->tadv;
+}
+
+void bthresher_version(void)
+{
+	fftease_version(OBJECT_NAME);
+}
+
+void bthresher_rdamper(t_bthresher *x,  t_float min, t_float max)
+{
+	int i;
+	
+	for( i = 0; i < x->fft->N2; i++ ) {
+		x->damping_factor[i] = bthresher_boundrand(min, max);
+	}
+}
+
+void bthresher_rthreshold( t_bthresher *x,  t_float min, t_float max )
+{
+	int i;
+	for( i = 0; i < x->fft->N2; i++ ) {
+		x->move_threshold[i] = bthresher_boundrand(min, max);
+	}
+}
+
+
+void bthresher_bin(t_bthresher *x, t_float bin_num, t_float damper, t_float threshold)
+{
+	int bn = (int) bin_num;
+	if( bn >= 0 && bn < x->fft->N2 ){
+		//    post("setting %d to %f %f",bn,threshold,damper);
+		x->move_threshold[bn] = threshold;
+		x->damping_factor[bn] = damper;
+	} else {
+		post("bthresher~: %d is out of range", bn);
+	}
+}
+
+
+void do_bthresher(t_bthresher *x)
+{
+	t_fftease *fft = x->fft;
+    
+	int N = fft->N;
+    
+	t_float *channel = fft->channel;
+	t_float *damping_factor = x->damping_factor;
+	t_float *move_threshold = x->move_threshold;
+	t_float *composite_frame = x->composite_frame;
+	int max_hold_frames = x->max_hold_frames;
+	int *frames_left = x->frames_left;
+	t_float thresh_scalar = x->thresh_scalar;
+	t_float damp_scalar = x->damp_scalar;
+	short inf_hold = x->inf_hold;
+	int i, j;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_convert(fft);
+	if( x->first_frame ){
+		for ( i = 0; i < N+2; i++ ){
+			composite_frame[i] = channel[i];
+			x->frames_left[i] = max_hold_frames;
+		}
+		x->first_frame = 0;
+	}
+	else {
+		if( thresh_scalar < .999 || thresh_scalar > 1.001 || damp_scalar < .999 || damp_scalar > 1.001 ) {
+			for(i = 0, j = 0; i < N+2; i += 2, j++ ){
+				if( fabs( composite_frame[i] - channel[i] ) > move_threshold[j] * thresh_scalar|| frames_left[j] <= 0 ){
+					composite_frame[i] = channel[i];
+					composite_frame[i+1] = channel[i+1];
+					frames_left[j] = max_hold_frames;
+				}
+				else {
+					if(!inf_hold){
+						--(frames_left[j]);
+					}
+					composite_frame[i] *= damping_factor[j] * damp_scalar; /* denormals protection */
+					if( composite_frame[i] < 0.000001 )
+						composite_frame[i] = 0.0;
+				}
+			}
+			
+		}
+		else {
+			for( i = 0, j = 0; i < N+2; i += 2, j++ ){
+				if( fabs( composite_frame[i] - channel[i] ) > move_threshold[j] || frames_left[j] <= 0 ){
+					composite_frame[i] = channel[i];
+					composite_frame[i+1] = channel[i+1];
+					frames_left[j] = max_hold_frames;
+				} else {
+					if(!inf_hold){
+						--(frames_left[j]);
+					}
+					// composite_frame[i] *= damping_factor[j]; // was a bug here ??
+					composite_frame[i] *= damping_factor[j] * damp_scalar;
+					if( composite_frame[i] < 0.000001 )  /* denormals protection */
+						composite_frame[i] = 0.0;
+				}
+			}
+		}
+	}
+    // use memcopy
+	for(i = 0; i < N+2; i++){
+		channel[i] = composite_frame[i];
+	}
+	if(fft->obank_flag){
+		fftease_oscbank(fft);
+	} else {
+		fftease_unconvert(fft);
+		fftease_rdft(fft,-1);
+		fftease_overlapadd(fft);
+	}
+}
+
+void bthresher_oscbank(t_bthresher *x, t_float flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+t_int *bthresher_perform(t_int *w)
+{
+	int	i,j;
+    t_bthresher *x = (t_bthresher *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *inthresh = (t_float *)(w[3]);
+	t_float *damping = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;
+	int D = fft->D;
+	
+	if(x->mute) {
+        for(i=0; i < MSPVectorSize; i++){
+            MSPOutputVector[i] = 0.0;
+        }
+        return w+6;
+	}
+    
+    x->thresh_scalar = *inthresh;
+    x->damp_scalar = *damping;
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_bthresher(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+    }
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_bthresher(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_bthresher(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+
+void bthresher_dsp(t_bthresher *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        bthresher_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(bthresher_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
+
+t_float bthresher_boundrand( t_float min, t_float max) {
+	t_float frand;
+	frand = (t_float) (rand() % 32768)/ 32768.0;
+	return (min + frand * (max-min) );
+}
+
diff --git a/externals/fftease/burrow~.c b/externals/fftease/burrow~.c
new file mode 100644
index 000000000..c736a6824
--- /dev/null
+++ b/externals/fftease/burrow~.c
@@ -0,0 +1,390 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *burrow_class;
+
+#define OBJECT_NAME "burrow~"
+
+typedef struct _burrow
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2; // for cross synthesis use
+    int invert;
+    t_float threshold;
+    t_float multiplier;
+	short mute;
+ 	short bypass;
+} t_burrow;
+
+void *burrow_new(t_symbol *s, int argc, t_atom *argv);
+void burrow_dsp(t_burrow *x, t_signal **sp);
+t_int *burrow_perform(t_int *w);
+t_int *offset_perform(t_int *w);
+t_int *burrow_perform(t_int *w);
+void burrow_assist(t_burrow *x, void *b, long m, long a, char *s);
+void burrow_float(t_burrow *x, t_floatarg myFloat);
+void burrow_init(t_burrow *x);
+void burrow_free(t_burrow *x);
+void burrow_invert(t_burrow *x, t_floatarg toggle);
+void burrow_mute(t_burrow *x, t_floatarg toggle);
+void burrow_fftinfo(t_burrow *x);
+void burrow_tilde_setup(void);
+void burrow_winfac(t_burrow *x, t_floatarg f);
+void do_burrow(t_burrow *x);
+void burrow_bypass(t_burrow *x, t_floatarg toggle);
+void burrow_perform64(t_burrow *x, t_object *dsp64, t_float **ins,
+                      long numins, t_float **outs,long numouts, long vectorsize,
+                      long flags, void *userparam);
+void burrow_dsp64(t_burrow *x, t_object *dsp64, short *count, t_float samplerate, long maxvectorsize, long flags);
+
+void burrow_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("burrow~"), (t_newmethod)burrow_new,
+                  (t_method)burrow_free,sizeof(t_burrow), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_burrow, x_f);
+	class_addmethod(c,(t_method)burrow_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)burrow_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)burrow_fftinfo,gensym("fftinfo"),0);
+    class_addmethod(c,(t_method)burrow_invert,gensym("invert"), A_FLOAT, 0);
+    burrow_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void burrow_free(t_burrow *x)
+{
+	fftease_free(x->fft);
+    fftease_free(x->fft2);
+}
+
+void burrow_invert(t_burrow *x, t_floatarg toggle)
+{
+	x->invert = (short)toggle;
+}
+
+void burrow_mute(t_burrow *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void burrow_bypass(t_burrow *x, t_floatarg toggle)
+{
+	x->bypass = (short)toggle;
+}
+
+void burrow_winfac(t_burrow *x, t_floatarg f)
+{
+	x->fft->winfac = (int) f;
+	x->fft2->winfac = (int) f;
+	burrow_init(x);
+}
+
+
+void burrow_fftinfo( t_burrow *x )
+{
+	fftease_fftinfo(x->fft, OBJECT_NAME);
+}
+
+void burrow_init(t_burrow *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+
+	if(!initialized){
+		x->mute = 0;
+		x->invert = 0;
+	}
+}
+
+void *burrow_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_burrow 	*x = (t_burrow *) pd_new(burrow_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1, sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1, sizeof(t_fftease));
+
+	fft = x->fft;
+	fft2 = x->fft2;	
+	fft->initialized = fft2->initialized = 0;
+	x->threshold = 0.0;
+	x->multiplier = 0.01;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;	
+
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+    
+	return x;
+}
+
+t_int *burrow_perform(t_int *w)
+{
+	/* get our inlets and outlets */
+	t_burrow *x = (t_burrow *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *flt_threshold = (t_float *)(w[4]);
+	t_float *flt_multiplier = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+		
+	int
+	i,j,
+	invert = 0,
+	threshold = 1.,
+	multiplier = 1.;
+	t_float
+	*inputOne,
+	*inputTwo,
+	*bufferOne,
+	*bufferTwo,
+	*channelOne,
+	*channelTwo;
+    
+	/* dereference structure  */
+	
+	inputOne = fft->input;
+	inputTwo = fft2->input;
+	bufferOne = fft->buffer;
+	bufferTwo = fft2->buffer;
+	channelOne = fft->channel;
+	channelTwo = fft2->channel;
+	multiplier = x->multiplier;
+	threshold = x->threshold;
+	invert = x->invert;
+    
+	mult = fft->mult;
+    x->threshold = *flt_threshold;
+    x->multiplier = *flt_multiplier;
+    
+	/* save some CPUs if muted */
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){
+            MSPOutputVector[i] = 0.0;
+        }
+        return w+7;
+	}
+    
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_burrow(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_burrow(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+      
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_burrow(x);
+ 
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}
+
+void do_burrow(t_burrow *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int N2 = fft->N2;
+	float a1, b1,
+	a2, b2;
+	int even, odd;
+	
+	/* dereference structure  */	
+	
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	
+	t_float *channelOne = fft->channel;
+	t_float *channelTwo = fft2->channel;
+	t_float multiplier = x->multiplier;	
+	t_float threshold = x->threshold;
+	
+	int invert = x->invert;
+
+
+	/* apply hamming window and fold our window buffer into the fft buffer */ 
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	
+	/* do an fft */ 
+	
+	fftease_rdft(fft, 1);
+	fftease_rdft(fft2, 1);
+	
+	if (invert) {
+		
+		/* convert to polar coordinates from complex values */
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			*(channelTwo+even) = hypot( a2, b2 );
+			
+			/* use simple threshold from second signal to trigger filtering */
+			
+			if ( *(channelTwo+even) < threshold )
+				*(channelOne+even) *= multiplier;
+						
+		}  
+	}
+	
+	else {
+		
+		/* convert to polar coordinates from complex values */
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			*(channelTwo+even) = hypot( a2, b2 );
+			
+			/* use simple threshold from second signal to trigger filtering */
+			
+			if ( *(channelTwo+even) > threshold )
+				*(channelOne+even) *= multiplier;						
+		}  
+	}
+	
+	/* convert back to complex form, read for the inverse fft */
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	
+	
+	/* do an inverse fft */
+	
+	fftease_rdft(fft, -1);
+	
+	/* dewindow our result */
+	
+	fftease_overlapadd(fft);
+	
+}
+
+void burrow_dsp(t_burrow *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        burrow_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(burrow_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec);
+    }
+}
diff --git a/externals/fftease/cavoc27~.c b/externals/fftease/cavoc27~.c
new file mode 100644
index 000000000..e09eb01ba
--- /dev/null
+++ b/externals/fftease/cavoc27~.c
@@ -0,0 +1,633 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *cavoc27_class;
+
+#define OBJECT_NAME "cavoc27~"
+
+/* NOTE THIS IS A MORE COMPLEX CA WITH 3 DIFFERENT STATES  */
+
+typedef struct _cavoc27
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_float *ichannel; //for interpolation
+	t_float *tmpchannel; // for spectrum capture
+	t_float frame_duration;
+	int max_bin;
+	t_float fundamental;
+	t_float *last_frame;
+	short left;
+	short right;
+	short center;
+	short *rule;
+	
+	t_float start_breakpoint;
+	int hold_frames;
+	int frames_left;
+	int set_count;
+	short interpolate_flag;
+	short capture_flag;
+	short capture_lock;
+	void *list_outlet;
+	t_atom *list_data;
+	short mute;
+	
+	short external_trigger;
+	short trigger_value; // set to 1 when a bang is received
+	t_float topfreq; // highest to synthesize - Nyquist by default
+	t_float bottomfreq;
+	t_float *freqs;
+	t_float *amps;
+	short manual_mode; // respond to outside
+	short freeze; // flag to maintain current spectrum
+	long fftsize_attr;
+	long overlap_attr;
+    t_float density;
+    t_float hold_time; //hold time in seconds
+} t_cavoc27;
+
+void *cavoc27_new(t_symbol *s, int argc, t_atom *argv);
+void cavoc27_dsp(t_cavoc27 *x, t_signal **sp);
+t_int *cavoc27_perform(t_int *w);
+void cavoc27_assist(t_cavoc27 *x, void *b, long m, long a, char *s);
+void cavoc27_free( t_cavoc27 *x);
+int cavoc27_apply_rule( short left, short right, short center, short *rule);
+void cavoc27_rule (t_cavoc27 *x, t_symbol *msg, short argc, t_atom *argv);
+void cavoc27_density (t_cavoc27 *x, t_floatarg density);
+void cavoc27_hold_time (t_cavoc27 *x, t_floatarg hold_time);
+void cavoc27_interpolate (t_cavoc27 *x, t_floatarg interpolate);
+void cavoc27_capture_spectrum (t_cavoc27 *x, t_floatarg flag );
+void cavoc27_capture_lock (t_cavoc27 *x, t_floatarg toggle );
+void cavoc27_retune (t_cavoc27 *x, t_floatarg min, t_floatarg max);
+void cavoc27_mute (t_cavoc27 *x, t_floatarg toggle);
+void cavoc27_init(t_cavoc27 *x);
+void cavoc27_rand_set_spectrum(t_cavoc27 *x);
+void cavoc27_rand_set_rule(t_cavoc27 *x);
+void cavoc27_fftinfo(t_cavoc27 *x);
+void cavoc27_oscbank(t_cavoc27 *x, t_floatarg flag);
+void cavoc27_transpose (t_cavoc27 *x, t_floatarg pfac);
+void cavoc27_noalias(t_cavoc27 *x, t_floatarg flag);
+void cavoc27_manual(t_cavoc27 *x, t_floatarg tog);
+void cavoc27_trigger(t_cavoc27 *x);
+void cavoc27_freeze(t_cavoc27 *x, t_floatarg tog);
+
+void cavoc27_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("cavoc27~"), (t_newmethod)cavoc27_new,
+                  (t_method)cavoc27_free,sizeof(t_cavoc27), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_cavoc27, x_f);
+	class_addmethod(c,(t_method)cavoc27_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)cavoc27_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_fftinfo,gensym("fftinfo"),0);
+	class_addmethod(c,(t_method)cavoc27_rule,gensym("rule"),A_GIMME,0);
+	class_addmethod(c,(t_method)cavoc27_interpolate,gensym("interpolate"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_retune,gensym("retune"),A_FLOAT,A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_capture_spectrum,gensym("capture_spectrum"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_noalias,gensym("noalias"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_manual,gensym("manual"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_freeze,gensym("freeze"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc27_trigger,gensym("trigger"),0);
+    class_addmethod(c,(t_method)cavoc27_density,gensym("density"),A_FLOAT,0);
+    class_addmethod(c,(t_method)cavoc27_hold_time,gensym("hold_time"),A_FLOAT,0);
+    cavoc27_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void cavoc27_rand_set_rule(t_cavoc27 *x)
+{
+	int i;
+	float rval;
+	for( i = 0; i < 27; i++ ){
+		rval = fftease_randf(0.0,1.0);
+		if( rval < .333 )
+			x->rule[i] = 0;
+		else if(rval < .666 )
+			x->rule[i] = 1;
+		else x->rule[i] = 2;
+	}
+}
+
+void cavoc27_freeze(t_cavoc27 *x, t_floatarg tog)
+{
+	x->freeze = (short) tog;
+}
+
+void cavoc27_manual(t_cavoc27 *x, t_floatarg tog)
+{
+	x->manual_mode = (short) tog;
+}
+
+void cavoc27_trigger(t_cavoc27 *x)
+{
+	x->external_trigger = 1;
+}
+
+
+void cavoc27_retune(t_cavoc27 *x, t_floatarg min, t_floatarg max)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	t_float *tmpchannel = x->tmpchannel;
+	t_float *last_frame = x->last_frame;
+	if( max <= 0 || min <= 0 || min > max ){
+		error("bad values for min and max multipliers");
+		return;
+	}
+	if( min < .1 )
+		min = 0.1;
+	if( max > 2.0 )
+		max = 2.0;
+	for( i = 1; i < fft->N + 1; i += 2 ){
+		 last_frame[i] = tmpchannel[i] = fft->c_fundamental * (float) (i / 2) * fftease_randf(min, max);
+	}
+	
+}
+
+void cavoc27_transpose (t_cavoc27 *x, t_floatarg pfac)
+{
+	t_fftease *fft = x->fft;
+	fft->P = (float) pfac;
+	fft->pitch_increment = fft->P*fft->L/fft->R;
+}
+
+void cavoc27_mute (t_cavoc27 *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+
+void cavoc27_interpolate(t_cavoc27 *x, t_floatarg flag)
+{
+	x->interpolate_flag = (short) flag;
+}
+
+void cavoc27_capture_spectrum(t_cavoc27 *x, t_floatarg flag )
+{
+	x->capture_lock = (short)flag;
+    post("capture flag: %d", x->capture_lock);
+}
+
+void cavoc27_capture_lock(t_cavoc27 *x, t_floatarg flag )
+{
+	x->capture_lock = (short)flag; 
+}
+
+void cavoc27_rule (t_cavoc27 *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+	short *rule = x->rule;
+	if( argc != 27 ){
+		error("the rule must be size 18");
+		return;
+	}
+	
+	for( i = 0; i < 27; i++ ){
+		rule[i] = (short) atom_getfloatarg( i, argc, argv);
+	}
+}
+
+void cavoc27_free( t_cavoc27 *x ){
+    fftease_free(x->fft);
+    free(x->fft);
+	free(x->ichannel);
+	free(x->tmpchannel);
+	free(x->last_frame);
+	free(x->rule);
+}
+
+void *cavoc27_new(t_symbol *s, int argc, t_atom *argv)
+{
+t_fftease *fft;
+
+	t_cavoc27 *x = (t_cavoc27 *)pd_new(cavoc27_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1, sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	x->hold_time = 1000.0;
+	x->density = 0.1;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	x->freeze = 0;
+	x->start_breakpoint = 1.0 - x->density;
+	fft->obank_flag = 0;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ x->density = atom_getfloatarg(2, argc, argv); }
+    if(argc > 3){ x->hold_time = atom_getfloatarg(3, argc, argv); }
+	return x;
+}
+
+void cavoc27_noalias(t_cavoc27 *x, t_floatarg flag)
+{
+	x->fft->noalias = (short) flag;
+}
+
+void cavoc27_oscbank(t_cavoc27 *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void cavoc27_fftsize(t_cavoc27 *x, t_floatarg f)
+{	
+	x->fft->N = (int) f;
+	cavoc27_init(x);
+}
+
+void cavoc27_overlap(t_cavoc27 *x, t_floatarg f)
+{
+	x->fft->overlap = (int) f;
+	cavoc27_init(x);
+}
+
+void cavoc27_winfac(t_cavoc27 *x, t_floatarg f)
+{
+	x->fft->winfac = (int) f;
+	cavoc27_init(x);
+}
+
+void cavoc27_fftinfo(t_cavoc27 *x)
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );	
+	post("frames left %d", x->frames_left);
+	post("no alias: %d", x->fft->noalias);
+}
+
+
+void cavoc27_init(t_cavoc27 *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	short initialized = fft->initialized;
+	fftease_init(fft);	
+	if(! fft->R ){
+		error("cavoc27~: zero sampling rate!");
+		return;
+	}
+	x->frame_duration = (float)fft->D/(float) fft->R;
+	x->hold_frames = (int) (x->hold_time/x->frame_duration);
+	x->frames_left = x->hold_frames;
+	x->trigger_value = 0;
+	x->set_count = 0;
+	
+	if(!initialized){
+		srand(time(0));
+		x->interpolate_flag = 0;
+		x->capture_lock = 0;
+		
+		x->mute = 0;
+
+		x->ichannel = (t_float *) calloc((fft->N+2), sizeof(t_float));
+		x->tmpchannel = (t_float *) calloc((fft->N+2), sizeof(t_float));
+		x->last_frame = (t_float *) calloc((fft->N+2), sizeof(t_float));
+		x->rule = (short *) calloc(27, sizeof(short));
+	}
+    else {
+		x->ichannel = (t_float *)realloc(x->ichannel,(fft->N+2)*sizeof(t_float));
+		x->tmpchannel = (t_float *)realloc(x->tmpchannel,(fft->N+2)*sizeof(t_float));
+		x->last_frame = (t_float *)realloc(x->last_frame,(fft->N+2)*sizeof(t_float));
+	}
+    if(x->frame_duration != 0){
+        x->hold_frames = (int) ( (x->hold_time/1000.0) / x->frame_duration);
+    } else {
+        post("%s: zero FFT frame duration", OBJECT_NAME);
+    }
+    if( x->hold_frames < 1 )
+        x->hold_frames = 1;
+    
+	cavoc27_rand_set_rule(x);
+	cavoc27_rand_set_spectrum(x);
+	for( i = 0; i < fft->N+2; i++ ){
+		x->last_frame[i] = fft->channel[i];
+	}
+}
+
+void cavoc27_rand_set_spectrum(t_cavoc27 *x)
+{
+	int i;
+	float rval;
+	t_fftease *fft = x->fft;
+	t_float *channel = x->tmpchannel;
+	//set spectrum
+
+	for( i = 0; i < fft->N2 + 1; i++ ){
+		if( fftease_randf(0.0, 1.0) > x->start_breakpoint){
+			rval = fftease_randf(0.0, 1.0);
+			if( rval < 0.5 ){
+				channel[ i * 2 ] = 1;
+			}
+			else {
+				channel[ i * 2 ] = 2;
+			}
+			++(x->set_count);
+		} else {
+			channel[ i * 2 ] = 0;
+		}
+		channel[ i * 2 + 1 ] = fft->c_fundamental * (float) i * fftease_randf(.9,1.1);
+	}
+}
+
+void do_cavoc27(t_cavoc27 *x)
+{
+	t_fftease *fft = x->fft;
+	int i;
+	int frames_left = x->frames_left;
+
+	int N = fft->N;
+	t_float *tmpchannel = x->tmpchannel;
+	t_float *ichannel = x->ichannel;
+
+	int hold_frames = x->hold_frames;
+	short *rule = x->rule;
+	short left = x->left;
+	short right = x->right;
+	short center = x->center;
+	t_float *last_frame = x->last_frame;
+	t_float frak;
+	short manual_mode = x->manual_mode;
+	short trigger;
+	short interpolate_flag = x->interpolate_flag;
+	t_float *channel = fft->channel;
+	
+	if( manual_mode ){
+		trigger = x->external_trigger;
+	} else {
+		trigger = 0;
+	}
+	
+	if( x->capture_flag || (x->capture_lock && ! x->freeze)) {
+		
+		fftease_fold(fft);
+		fftease_rdft(fft,1);
+		fftease_convert(fft);
+		for( i = 1; i < fft->N+1; i += 2){
+			tmpchannel[i] = channel[i];
+		}
+	}
+	if( ! manual_mode ){
+		if( --frames_left <= 0 ){
+			trigger = 1;
+		}
+	}
+	if(trigger && ! x->freeze){
+		for( i = 0; i < fft->N+1; i++ ){
+			last_frame[i] = tmpchannel[i];
+		}
+		frames_left = hold_frames;
+		for( i = 2; i < fft->N; i+=2 ){
+			left = last_frame[ i - 2 ];
+			center = last_frame[i] ;
+			right = last_frame[i+2];
+			tmpchannel[i] = cavoc27_apply_rule(left, right, center, rule );
+		}
+		// boundary cases 
+		center = last_frame[0];
+		right = last_frame[2];
+		left = last_frame[N];
+		tmpchannel[0] = cavoc27_apply_rule(left, right, center, rule );
+		
+		center = last_frame[N];
+		right = last_frame[0];
+		left = last_frame[N - 2];
+		tmpchannel[N] = cavoc27_apply_rule(left, right, center, rule );
+		x->external_trigger = trigger = 0 ;
+	}
+	if( interpolate_flag && ! x->freeze){
+		frak = 1.0 - ((float) frames_left / (float) hold_frames);
+
+		for( i = 0; i <N+2; i += 2 ){
+			ichannel[i] = last_frame[i] + frak * ( tmpchannel[i] - last_frame[i] ); 
+			ichannel[i+1] = last_frame[i+1];
+		}	
+		for( i = 0; i < N+2; i++ ){
+			channel[i] = ichannel[i];
+		}	
+	} else {
+		for( i = 0; i < N+2; i++){
+			channel[i] = tmpchannel[i];
+		}
+	}	
+	if(x->freeze){
+		for( i = 0; i < N+2; i++){
+			channel[i] = tmpchannel[i];
+		}
+	}
+	
+	if(fft->obank_flag){
+		fftease_oscbank(fft);
+	} else {
+		fftease_unconvert(fft);
+		fftease_rdft(fft, -1);
+		fftease_overlapadd(fft);
+	}
+
+	x->frames_left = frames_left;
+	
+}
+
+t_int *cavoc27_perform(t_int *w)
+{
+	int	i,j;
+
+	////////////
+	t_cavoc27 *x = (t_cavoc27 *) (w[1]);
+    t_float *MSPInputVector = (t_float *) (w[2]);
+	t_float *MSPOutputVector = (t_float *) (w[3]);
+    t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+    t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+    t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;	
+	
+    
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        return w+4;
+	}
+	if(fft->obank_flag){
+		mult *= FFTEASE_OSCBANK_SCALAR;
+	}
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+		do_cavoc27(x);
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+    }
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+			do_cavoc27(x);
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+			do_cavoc27(x);
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+        fft->operationCount = operationCount;
+	}
+    return w+4;
+}		
+
+int cavoc27_apply_rule( short left, short right, short center, short *rule){
+	
+	if( left == 0 && center == 0 && right == 0 )
+		return rule[0];
+	if( left == 1 && center == 0 && right == 1 )
+		return rule[1];
+	if( left == 1 && center == 0 && right == 0 )
+		return rule[2];
+	if( left == 0 && center == 0 && right == 1 )
+		return rule[3];
+	if( left == 2 && center == 0 && right == 2 )
+		return rule[4];
+	if( left == 2 && center == 0 && right == 0 )
+		return rule[5];
+	if( left == 0 && center == 0 && right == 2 )
+		return rule[6];
+	if( left == 2 && center == 0 && right == 1 )
+		return rule[7];
+	if( left == 1 && center == 0 && right == 2 )
+		return rule[8];
+	
+	if( left == 0 && center == 1 && right == 0 )
+		return rule[9];
+	if( left == 1 && center == 1 && right == 1 )
+		return rule[10];
+	if( left == 1 && center == 1 && right == 0 )
+		return rule[11];
+	if( left == 0 && center == 1 && right == 1 )
+		return rule[12];
+	if( left == 2 && center == 1 && right == 2 )
+		return rule[13];
+	if( left == 2 && center == 1 && right == 0 )
+		return rule[14];
+	if( left == 0 && center == 1 && right == 2 )
+		return rule[15];
+	if( left == 2 && center == 1 && right == 1 )
+		return rule[16];
+	if( left == 1 && center == 1 && right == 2 )
+		return rule[17];
+	
+	if( left == 0 && center == 2 && right == 0 )
+		return rule[18];
+	if( left == 1 && center == 2 && right == 1 )
+		return rule[19];
+	if( left == 1 && center == 2 && right == 0 )
+		return rule[20];
+	if( left == 0 && center == 2 && right == 1 )
+		return rule[21];
+	if( left == 2 && center == 2 && right == 2 )
+		return rule[22];
+	if( left == 2 && center == 2 && right == 0 )
+		return rule[23];
+	if( left == 0 && center == 2 && right == 2 )
+		return rule[24];
+	if( left == 2 && center == 2 && right == 1 )
+		return rule[25];
+	if( left == 1 && center == 2 && right == 2 )
+		return rule[26];
+	return 0; //should never happen  
+}
+
+
+void cavoc27_density(t_cavoc27 *x, t_floatarg density)
+{
+    int i;
+    t_fftease *fft = x->fft;
+    t_float *channel =  x->tmpchannel;
+    
+    if( density < 0.0001 ){
+        density = .0001;
+    } else if( density > .9999 ){
+        density = 1.0;
+    }
+    x->density = density;
+    x->start_breakpoint = 1.0 - x->density;
+    for( i = 0; i < fft->N2 + 1; i++ ){
+        if( fftease_randf(0.0, 1.0) > x->start_breakpoint ){
+            if( fftease_randf(0.0,1.0) > 0.5 ){
+                channel[ i * 2 ] = 1;
+            }
+            else {
+                channel[ i * 2 ] = 2;
+            }
+            ++(x->set_count);
+        } else {
+            channel[ i * 2 ] = 0;
+        }
+    }
+    for( i = 0; i < fft->N+2; i++ ){
+        x->last_frame[i] = channel[i];
+    }
+}
+
+void cavoc27_hold_time(t_cavoc27 *x, t_floatarg hold_time)
+{
+    if(hold_time <= 0){
+        post("illegal hold time %f",hold_time);
+        return;
+    }
+    x->hold_time = hold_time;
+    if(! x->fft->initialized){
+        return;
+    }
+    if(! x->frame_duration){
+        error("%s: zero frame duration",OBJECT_NAME);
+        return;
+    }
+    x->hold_frames = (int) ( (x->hold_time/1000.0) / x->frame_duration);
+    if( x->hold_frames < 1 )
+        x->hold_frames = 1;    
+}
+
+void cavoc27_dsp(t_cavoc27 *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        cavoc27_init(x);
+    }
+    dsp_add(cavoc27_perform, 3, x, sp[0]->s_vec, sp[1]->s_vec);
+}
+
diff --git a/externals/fftease/cavoc~.c b/externals/fftease/cavoc~.c
new file mode 100644
index 000000000..8f211e331
--- /dev/null
+++ b/externals/fftease/cavoc~.c
@@ -0,0 +1,472 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *cavoc_class;
+
+#define OBJECT_NAME "cavoc~"
+
+typedef struct _cavoc
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_float frame_duration;
+	int max_bin;
+	
+	t_float fundamental;
+	short left;
+	short right;
+	short center;
+	short *rule;
+	
+	t_float start_breakpoint;
+	int hold_frames;
+	int frames_left;
+	int set_count;
+	void *list_outlet;
+	t_atom *list_data;
+	short mute;
+	short external_trigger;
+	short trigger_value; // set to 1 when a bang is received
+	
+	t_float topfreq; // highest to synthesize - Nyquist by default
+	t_float bottomfreq;
+	t_float *freqs;
+	t_float *amps;
+	t_float *cavoc;
+    t_float density; // treat as attribute
+    t_float hold_time; // treat as attribute
+} t_cavoc;
+
+void *cavoc_new(t_symbol *msg, short argc, t_atom *argv);
+void cavoc_dsp(t_cavoc *x, t_signal **sp);
+t_int *cavoc_perform(t_int *w);
+void cavoc_free( t_cavoc *x );
+int cavoc_apply_rule( short left, short right, short center, short *rule);
+float cavoc_randf(float min, float max);
+void cavoc_rule (t_cavoc *x, t_symbol *msg, short argc, t_atom *argv);
+void cavoc_retune (t_cavoc *x, t_floatarg min, t_floatarg max);
+void cavoc_mute (t_cavoc *x, t_floatarg toggle);
+void cavoc_external_trigger(t_cavoc *x, t_floatarg toggle);
+void cavoc_init(t_cavoc *x);
+void cavoc_fftinfo(t_cavoc *x);
+void cavoc_bang(t_cavoc *x);
+void cavoc_topfreq(t_cavoc *x, t_floatarg tf);
+void cavoc_oscbank(t_cavoc *x, t_floatarg flag);
+void cavoc_density(t_cavoc *x, t_floatarg f);
+void cavoc_hold_time(t_cavoc *x, t_floatarg f);
+void build_spectrum(t_cavoc *x, float min, float max);
+void cavoc_bottomfreq(t_cavoc *x, t_floatarg bf);
+
+
+void cavoc_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("cavoc~"), (t_newmethod)cavoc_new,
+                  (t_method)cavoc_free,sizeof(t_cavoc), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_cavoc, x_f);
+	class_addmethod(c,(t_method)cavoc_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)cavoc_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc_rule,gensym("rule"),A_GIMME,0);
+	class_addmethod(c,(t_method)cavoc_external_trigger,gensym("external_trigger"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc_bang,gensym("bang"),0);
+	class_addmethod(c,(t_method)cavoc_retune,gensym("retune"),A_FLOAT,A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc_topfreq,gensym("topfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)cavoc_bottomfreq,gensym("bottomfreq"),A_FLOAT,0);
+    class_addmethod(c,(t_method)cavoc_density,gensym("density"),A_FLOAT,0);
+    class_addmethod(c,(t_method)cavoc_hold_time,gensym("hold_time"),A_FLOAT,0);
+    cavoc_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+
+void cavoc_fftinfo( t_cavoc *x )
+{
+t_fftease *fft = x->fft;
+	fftease_fftinfo( fft, OBJECT_NAME );
+}
+
+void cavoc_density(t_cavoc *x, t_floatarg density)
+{
+    int i;
+    t_fftease *fft = x->fft;
+    
+    if( density < 0.0001 ){
+        density = .0001;
+    } else if( density > .9999 ){
+        density = 1.0;
+    }
+    x->density = density;
+    x->start_breakpoint = 1.0 - x->density;
+    for( i = 0; i < fft->N2 + 1; i++ ){
+        if( cavoc_randf(0.0, 1.0) > x->start_breakpoint ){
+            x->amps[ i ] = 1;
+            ++(x->set_count);
+        } else {
+            x->amps[ i ] = 0;
+        }
+    }
+}
+
+void cavoc_hold_time(t_cavoc *x, t_floatarg f)
+{
+    if(f <= 0)
+        return;
+    x->hold_time = f;
+    x->hold_frames = (int) ((x->hold_time/1000.0) / x->frame_duration);
+    if( x->hold_frames < 1 )
+        x->hold_frames = 1;
+    x->frames_left = x->hold_frames;
+}
+
+void cavoc_external_trigger(t_cavoc *x, t_floatarg toggle)
+{
+	x->external_trigger = (short)toggle;
+}
+
+void cavoc_mute (t_cavoc *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void cavoc_retune(t_cavoc *x, t_floatarg min, t_floatarg max)
+{	
+	if( max <= 0 || min <= 0 || min > max ){
+		error("bad values for min and max multipliers");
+		return;
+	}
+	if( min < .1 )
+		min = 0.1;
+	if( max > 2.0 )
+		max = 2.0;
+	build_spectrum(x, (float)min, (float)max);
+}
+
+
+
+void cavoc_bang(t_cavoc *x)
+{
+	if(x->external_trigger)
+		x->trigger_value = 1;
+}
+
+void cavoc_oscbank(t_cavoc *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void cavoc_rule (t_cavoc *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+	short *rule = x->rule;
+	if( argc != 8 ){
+		error("the rule must be size 8");
+		return;
+	}
+	
+	for( i = 0; i < 8; i++ ){
+		rule[i] = (short) atom_getfloatarg(i, argc, argv);
+	}
+}
+
+void cavoc_free( t_cavoc *x ){
+	fftease_free(x->fft);
+    free(x->fft);
+	free(x->amps);
+	free(x->freqs);
+	free(x->rule);
+}
+
+void *cavoc_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_cavoc *x = (t_cavoc *)pd_new(cavoc_class);
+    t_fftease *fft;
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+    fft = x->fft;
+    x->fft->initialized = 0;
+	x->density = 0.1;
+	x->hold_time = 500.0; // convert from ms
+	x->fft->obank_flag = 0;
+	x->fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	x->fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	x->fft->winfac = FFTEASE_DEFAULT_WINFAC;
+
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ x->density = atom_getfloatarg(2, argc, argv); }
+    if(argc > 3){ x->hold_time = atom_getfloatarg(3, argc, argv); }
+
+	return x;
+}
+
+void cavoc_init(t_cavoc *x)
+{
+	t_fftease *fft = x->fft;
+	short initialized = fft->initialized;
+	fftease_init(fft);
+
+	fft->lo_bin = 0; 
+	fft->hi_bin = fft->N2 - 1; 
+			
+	if(! fft->R ){
+		error("zero sampling rate!");
+		return;
+	}
+	x->frame_duration = (float)fft->D/(float) fft->R;
+	if(x->hold_time <= 0.0)
+		x->hold_time = 150;
+	x->hold_frames = (int) ((x->hold_time * 0.001) / x->frame_duration) ;
+	x->frames_left = x->hold_frames;
+	x->trigger_value = 0;
+	x->topfreq = fft->R / 2.0;
+	x->bottomfreq = 0.0;
+
+	if(!initialized){
+		
+		srand(time(0));
+		x->mute = 0;
+		
+		x->external_trigger = 0;
+		if( x->density < 0.0 ){
+			x->density = 0;
+		} else if( x->density > 1.0 ){
+			x->density = 1.0;
+		}
+		x->start_breakpoint = 1.0 - x->density;
+		x->freqs = (t_float *) calloc((fft->N2 + 1), sizeof(t_float));
+		x->amps = (t_float *) calloc((fft->N2 + 1), sizeof(t_float));
+		x->cavoc = (t_float *) calloc((fft->N + 2), sizeof(t_float));
+		x->rule = (short *)  calloc(8, sizeof(short));
+		
+		x->rule[2] = x->rule[3] = x->rule[5] = x->rule[6] = 1;
+		x->rule[0] = x->rule[1] = x->rule[4] = x->rule[7] = 0;
+		
+		
+	} else {    
+		x->freqs = (t_float *) realloc(x->freqs, (fft->N2 + 1) * sizeof(t_float));
+		x->amps = (t_float *) realloc(x->amps, (fft->N2 + 1) * sizeof(t_float));
+	}
+	build_spectrum(x, 0.9, 1.1);
+}
+
+
+void build_spectrum(t_cavoc *x, float min, float max)
+{
+t_fftease *fft = x->fft;
+float basefreq;
+int i;
+	x->set_count = 0;
+	for(i = 0; i < fft->N2 + 1; i++){
+		if(cavoc_randf(0.0, 1.0) > x->start_breakpoint){
+			x->amps[i] = 1;
+			++(x->set_count);
+		} else {
+			x->amps[i] = 0;
+		}
+		basefreq = x->bottomfreq + (( (x->topfreq - x->bottomfreq) / (float) fft->N2 ) * (float) i );
+		x->freqs[i] = basefreq * cavoc_randf(min,max);
+	}
+	for( i = 0; i < fft->N2 + 1; i++ ){
+		fft->channel[i * 2] = x->amps[i];
+		fft->channel[i * 2 + 1] = x->freqs[i];
+	}
+
+}
+
+void cavoc_topfreq(t_cavoc *x, t_floatarg tf)
+{
+	t_fftease *fft = x->fft;
+	if(tf < 100 || tf > fft->R / 2.0){
+		error("%s: top frequency out of range: %f",OBJECT_NAME,  tf);
+		return;
+	}
+	x->topfreq = (float) tf;
+	build_spectrum(x, 0.9, 1.1);
+}
+
+void cavoc_bottomfreq(t_cavoc *x, t_floatarg bf)
+{
+	if(bf < 0 && bf > x->topfreq){
+		error("%s: bottom frequency out of range: %f",OBJECT_NAME,  bf);
+		return;
+	}
+	x->bottomfreq = (float) bf;
+	build_spectrum(x, 0.9, 1.1);
+}
+
+void do_cavoc(t_cavoc *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	int N = fft->N;
+	int N2 = fft->N2;
+	t_float *channel = fft->channel;
+	int hold_frames = x->hold_frames;
+	short *rule = x->rule;
+	short left = x->left;
+	short right = x->right;
+	short center = x->center;
+	short external_trigger = x->external_trigger;
+	short new_event = 0;
+	t_float *amps = x->amps;
+	t_float *freqs = x->freqs;
+			
+	if(external_trigger){// only accurate to within a vector because of FFT
+		if(x->trigger_value){
+			x->trigger_value = 0;
+			new_event = 1;
+		}
+	} else if(--(x->frames_left) <= 0){
+		x->frames_left = hold_frames;
+		new_event = 1;
+	}
+	if(new_event){
+		for( i = 1; i < N2; i++ ){
+			left = amps[i - 1];
+			center = amps[i] ;
+			right = amps[i + 1];
+			channel[i * 2] = cavoc_apply_rule(left, right, center, rule);
+		}
+		center = amps[0];
+		right = amps[1];
+		left = amps[N2];
+		channel[0] = cavoc_apply_rule(left, right, center, rule);
+		
+		center = amps[N2];
+		right = amps[0];
+		left = amps[N2 - 1];
+		channel[N] = cavoc_apply_rule(left, right, center, rule);
+		for(i = 0; i < N2 + 1; i++){
+			channel[(i*2) + 1] = freqs[i];
+			amps[i] = channel[i * 2];
+		}	
+	}
+		
+	if(fft->obank_flag){
+		for(i = 0; i < N2 + 1; i++){
+			channel[(i*2) + 1] = freqs[i];
+			channel[i * 2] = amps[i];
+		}
+		fftease_oscbank(fft);
+	} else {
+		fftease_unconvert(fft);
+		fftease_rdft(fft, -1);
+		fftease_overlapadd(fft);
+	}		
+}
+
+
+t_int *cavoc_perform(t_int *w)
+{
+	int	i,j;
+    t_cavoc *x = (t_cavoc *) (w[1]);
+    t_float *MSPOutputVector = (t_float *)(w[2]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	float mult = fft->mult ;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	int MSPVectorSize = fft->MSPVectorSize;
+	
+	if(fft->obank_flag){
+		mult *= FFTEASE_OSCBANK_SCALAR;
+	}
+    
+	if( x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        return w+3;
+	}
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        
+		do_cavoc(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+			do_cavoc(x);
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+		memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		if( operationCount == 0 ) {
+			do_cavoc(x);
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+        fft->operationCount = operationCount;
+	}
+	return w+3;
+}		
+
+int cavoc_apply_rule(short left, short right, short center, short *rule){
+	
+	if( ! center ){
+		if( ! left && ! right){
+			return  rule[0];
+		} else if ( ! left && right ){ 
+			return rule[1];
+		} else if ( left && ! right ) {
+			return rule[2];
+		} else if (left && right) {
+			return rule[3];
+		}
+	} else {
+		if( ! left && ! right){
+			return rule[4];
+		} else if ( ! left && right ){ 
+			return rule[5];
+		} else if ( left && ! right ) {
+			return rule[6];
+		} else if (left && right) {
+			return rule[7];
+		}
+	}
+	return 0;
+}
+
+float cavoc_randf(float min, float max)
+{
+	float randv;
+	randv = (float) (rand() % 32768) / 32768.0 ;
+	return (min + ((max-min) * randv))  ;
+}
+
+void cavoc_dsp(t_cavoc *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        cavoc_init(x);
+    }
+    dsp_add(cavoc_perform, 2, x, sp[1]->s_vec);
+}
diff --git a/externals/fftease/centerring~.c b/externals/fftease/centerring~.c
new file mode 100644
index 000000000..ba9dda45a
--- /dev/null
+++ b/externals/fftease/centerring~.c
@@ -0,0 +1,380 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+#define OBJECT_NAME "centerring~"
+#define MAX_WARP 16.0
+
+static t_class *centerring_class;
+
+#define OBJECT_NAME "centerring~"
+
+typedef struct _centerring
+{
+
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+    int bufferLength;
+    int recalc;
+    int	seed;
+    t_float baseFreq;
+    t_float constFreq;
+    t_float bandFreq;
+    t_float frameR;
+    t_float *ringPhases;
+    t_float *ringIncrements;
+    t_float *sineBuffer;
+    t_float *bufferOne;
+    t_float *channelOne;
+	short connected[8];
+	short mute;
+	short bypass;
+} t_centerring;
+
+void *centerring_new(t_symbol *s, int argc, t_atom *argv);
+t_int *centerring_perform(t_int *w);
+void centerring_dsp(t_centerring *x, t_signal **sp);
+void centerring_dest(t_centerring *x, t_float f);
+void centerring_messages(t_centerring *x, t_symbol *s, short argc, t_atom *argv);
+void centerring_adjust( t_centerring *x );
+void centerring_zerophases( t_centerring *x );
+void centerring_randphases( t_centerring *x );
+void centerring_free(t_centerring *x);
+void centerring_init(t_centerring *x);
+void centerring_mute(t_centerring *x, t_floatarg toggle);
+void centerring_fftinfo( t_centerring *x );
+
+void centerring_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("centerring~"), (t_newmethod)centerring_new,
+                  (t_method)centerring_free,sizeof(t_centerring), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_centerring, x_f);
+	class_addmethod(c,(t_method)centerring_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)centerring_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)centerring_fftinfo,gensym("fftinfo"),0);
+	class_addmethod(c,(t_method)centerring_messages,gensym("seed"), A_GIMME, 0);
+	class_addmethod(c,(t_method)centerring_messages,gensym("zerophases"), 0);
+	class_addmethod(c,(t_method)centerring_messages,gensym("randphases"), 0);
+    centerring_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void centerring_messages(t_centerring *x, t_symbol *s, short argc, t_atom *argv)
+{	
+	
+	if (s == gensym("seed"))
+		x->seed = (int) atom_getfloatarg(0,argc,argv);
+	
+	if (s == gensym("zerophases")) 
+		centerring_zerophases( x );
+	
+	if (s == gensym("randphases"))
+		centerring_randphases( x );
+}
+
+void *centerring_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+
+	t_centerring *x = (t_centerring *)pd_new(centerring_class);
+
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	/* optional arguments: baseFreq, bandFreq, constFreq, seed, overlap, winfac */
+	x->baseFreq = 1.0;
+	x->bandFreq = 0.2;
+	x->constFreq = 1.0;
+	x->seed = 1977;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void centerring_init(t_centerring *x)
+{
+	t_fftease *fft = x->fft;
+	int Nw;
+	int N;
+	int N2;
+	short initialized= fft->initialized;
+	fftease_init(fft);
+	Nw = fft->Nw;
+	N = fft->N;
+	N2 = fft->N2;
+	if(! fftease_msp_sanity_check(fft,OBJECT_NAME)){
+		post("failed sanity check!");
+		return;
+	}
+
+	x->frameR = (float) fft->R / (float) fft->D;
+
+	if(!initialized){
+		x->mute = 0;
+		x->bufferLength = 131072;
+		x->recalc = 0;
+		x->ringPhases = (t_float *) calloc((N2 + 1), sizeof(t_float));
+		x->ringIncrements = (t_float *) calloc((N2 + 1), sizeof(t_float));
+		x->sineBuffer = (t_float *) calloc((x->bufferLength + 1), sizeof(t_float));
+		fftease_makeSineBuffer(x->sineBuffer, x->bufferLength);
+	} else {
+		x->ringIncrements = (t_float *)realloc((void *)x->ringIncrements, (N2 + 1) * sizeof(t_float));
+		x->ringPhases = (t_float *)realloc((void *)x->ringPhases, (N2 + 1) * sizeof(t_float));
+	}
+	centerring_adjust(x);
+	centerring_zerophases(x); 
+}
+
+void centerring_free(t_centerring *x)
+{
+
+	fftease_free(x->fft);
+    free(x->fft);
+	free(x->ringPhases);
+	free(x->ringIncrements);
+	free(x->sineBuffer);
+}
+
+void centerring_adjust( t_centerring *x ) {
+	
+	int		i;
+	t_float	*ringIncrements = x->ringIncrements;
+	int N2 = x->fft->N2;
+	
+	if(x->frameR == 0){
+		post("centerring_adjust got at 0 SR!");
+		return;
+	}
+    for (i=0; i < N2; i++) {
+
+		*(ringIncrements+i) = 
+		fftease_frequencyToIncrement(
+			x->frameR, 
+			x->baseFreq * ((fftease_rrand(&(x->seed)) * x->bandFreq) + x->constFreq ),
+			x->bufferLength
+		);
+    }
+}
+
+
+void centerring_zerophases( t_centerring *x ) {
+	
+	int	i;
+	
+	for (i=0; i < x->fft->N2; i++)
+		*((x->ringPhases)+i) = 0.;
+}
+
+
+void centerring_randphases( t_centerring *x ) {
+	
+	int	i;
+	
+	for (i=0; i < x->fft->N2; i++)
+		*((x->ringPhases)+i) = fftease_prand(&(x->seed)) * (float) (x->bufferLength);
+	
+}
+
+void do_centerring(t_centerring *x)
+{
+	t_fftease *fft = x->fft;
+	t_float *buffer = fft->buffer;
+	t_float *channel = fft->channel;
+	int i, odd, even;
+	t_float a1,b1;
+	int N2 = fft->N2;
+	int bufferLength = x->bufferLength;
+	t_float *ringPhases = x->ringPhases;
+	t_float *ringIncrements = x->ringIncrements;
+	t_float *sineBuffer = x->sineBuffer;
+	
+	/* recalculate our oscillator values if object inputs have been updated */
+	
+	if (x->recalc)
+		centerring_adjust( x );
+	
+	x->recalc = 0;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	
+	/* convert to polar coordinates from complex values */ 
+	
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(buffer+1) : *(buffer + even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(buffer + odd) );
+		*(channel + even) = hypot( a1, b1 );
+		*(channel + odd) = -atan2( b1, a1 );      
+	}
+	
+	
+	/* perform ring modulation on successive fft frames */
+	
+	for (i=0; i < N2; i++) {
+		even = i<<1;
+		
+		*(channel + even) *= fftease_bufferOscil( ringPhases+i,
+							  *(ringIncrements+i), sineBuffer, bufferLength );
+	}
+	
+	/* convert from polar to cartesian */	
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(buffer + even) = *(channel + even) * cos( *(channel + odd) );
+		
+		if ( i != N2 )
+			*(buffer + odd) = (*(channel + even)) * -sin( *(channel + odd) );
+	}
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+t_int *centerring_perform(t_int *w)
+{
+
+	int i, j;
+	
+    t_centerring *x = (t_centerring *) (w[1]);
+    t_fftease *fft = x->fft;
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *vec_baseFreq = (t_float *)(w[3]);
+	t_float *vec_bandFreq = (t_float *)(w[4]);
+	t_float *vec_constFreq = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	t_float *input = fft->input;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	float mult = fft->mult ;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;	
+
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        return w+7;
+	}
+    x->recalc = 1;
+    x->baseFreq = *vec_baseFreq;
+    x->bandFreq = *vec_bandFreq;
+    x->constFreq = *vec_constFreq;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_centerring(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_centerring(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_centerring(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}
+
+void centerring_mute(t_centerring *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void centerring_bypass(t_centerring *x, t_floatarg toggle)
+{
+	x->bypass = (short)toggle;
+}
+
+void centerring_overlap(t_centerring *x, t_floatarg f)
+{
+	x->fft->overlap = (int) f;
+	centerring_init(x);
+}
+
+void centerring_winfac(t_centerring *x, t_floatarg f)
+{
+	x->fft->winfac = (int) f;
+	centerring_init(x);
+}
+
+void centerring_fftsize(t_centerring *x, t_floatarg f)
+{
+	x->fft->N = (int) f;
+	centerring_init(x);
+}
+
+void centerring_fftinfo( t_centerring *x )
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );	
+}
+void centerring_dsp(t_centerring *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        centerring_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(centerring_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/codepend~.c b/externals/fftease/codepend~.c
new file mode 100644
index 000000000..a9bf7708f
--- /dev/null
+++ b/externals/fftease/codepend~.c
@@ -0,0 +1,377 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *codepend_class;
+
+#define OBJECT_NAME "codepend~"
+
+typedef struct _codepend
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2; // for cross synthesis use
+	t_float threshold;
+	t_float exponent;
+	short connected[8];
+	short mute;
+	short bypass;
+	int invert_countdown; // delay onset of invert effect to avoid loud glitches
+	int invert_nextstate;// next state for invert   
+	int invert;
+	t_float invert_pad;
+} t_codepend;
+
+void *codepend_new(t_symbol *s, int argc, t_atom *argv);
+void codepend_dsp(t_codepend *x, t_signal **sp);
+t_int *codepend_perform(t_int *w);
+void codepend_invert(t_codepend *x, t_floatarg toggle);
+void codepend_free(t_codepend *x);
+void codepend_mute(t_codepend *x, t_floatarg toggle);
+void codepend_fftinfo(t_codepend *x);
+void codepend_init(t_codepend *x);
+void codepend_pad(t_codepend *x, t_floatarg pad);
+
+void codepend_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("codepend~"), (t_newmethod)codepend_new,
+                  (t_method)codepend_free,sizeof(t_codepend), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_codepend, x_f);
+	class_addmethod(c,(t_method)codepend_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)codepend_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)codepend_fftinfo,gensym("fftinfo"),0);
+    class_addmethod(c,(t_method)codepend_invert,gensym("invert"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)codepend_pad,gensym("pad"), A_FLOAT, 0);
+    codepend_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void codepend_mute(t_codepend *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void codepend_fftinfo( t_codepend *x )
+{
+	fftease_fftinfo(x->fft, OBJECT_NAME);
+}
+
+void codepend_free(t_codepend *x)
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void codepend_pad(t_codepend *x, t_floatarg pad)
+{
+	x->invert_pad = pad;
+	codepend_invert(x,x->invert);//resubmit to invert
+}
+
+void codepend_invert(t_codepend *x, t_floatarg toggle)
+{
+	
+	x->invert_nextstate = (short)toggle;
+	x->invert_countdown = x->fft->overlap; // delay effect for "overlap" vectors
+	
+	if(x->invert_nextstate){ // lower gain immediately; delay going to invert
+		x->fft->mult = (1. / (float) x->fft->N) * x->invert_pad;
+	} else {
+		x->invert = 0; //immediately turn off invert; delay raising gain
+	}
+	
+}
+
+void *codepend_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_codepend *x = (t_codepend *)pd_new(codepend_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	
+	/* optional arguments: scaling exponent, threshold (now linear), overlap, winfac */
+	x->exponent = 0.25;
+	x->threshold = 0.01;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+		
+	fft2->MSPVectorSize = fft->MSPVectorSize = sys_getblksize();
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	
+	return x;
+}
+
+void codepend_init(t_codepend *x )
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+	if(!initialized){
+		x->invert_pad = 0.025; // -32 dB
+		x->invert_countdown = 0;
+		x->mute = 0;
+		x->invert = 0;
+	}
+    if(x->invert){
+		x->fft->mult *= x->invert_pad;
+    }
+}
+
+void do_codepend(t_codepend *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int N2 = fft->N2;
+	float a1, b1, a2, b2, threshold = 0.1;
+	int even, odd;
+	int invert = x->invert;
+	t_float exponent = x->exponent;
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	t_float *channelOne = fft->channel;
+	//	float *channelTwo = fft2->channel;
+	
+	if(x->invert_countdown > 0){
+		
+		if(x->invert) { // we 
+		} else {
+		}  
+		--(x->invert_countdown);
+		if(! x->invert_countdown){ // countdown just ended
+			if(x->invert_nextstate){ // moving to invert (gain is already down)
+				x->invert = x->invert_nextstate;
+			} else { // invert is already off - now reset gain
+				x->fft->mult = 1. / (float) x->fft->N;
+			}
+		}
+	}
+	if ( x->threshold != 0. )
+		threshold = x->threshold;		
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	fftease_rdft(fft, 1);
+	fftease_rdft(fft2, 1);
+	
+	if (invert) {
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			float mag_1, mag_2;
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			/* complex division */	
+			
+			mag_1 = hypot( a1, b1 );
+			mag_2 = hypot( a2, b2 );
+			
+			if ( mag_2 > threshold )
+				*(channelOne+even) =  mag_1 / mag_2;
+			
+			else
+				*(channelOne+even) =  mag_1 / threshold;
+			
+			if ( mag_1 != 0. && mag_2 != 0. )
+				*(channelOne+odd) = atan2( b2, a2 ) - atan2( b1, a1 );
+			
+			else 
+				*(channelOne+odd) = 0.;
+			
+			/* raise resulting magnitude to a desired power */
+			
+			*(channelOne+even) = pow( *(channelOne+even), exponent );
+		}  
+	}
+	
+	
+	else {
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			float f_real, f_imag;
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			/* complex multiply */
+			
+			f_real = (a1 * a2) - (b1 * b2);
+			f_imag = (a1 * b2) + (b1 * a2);	
+			
+			*(channelOne+even) = hypot( f_real, f_imag );
+			*(channelOne+odd) = -atan2( f_imag, f_real );
+			
+			/* raise resulting magnitude to a desired power */
+			
+			*(channelOne+even) = pow( *(channelOne+even), exponent );
+		}
+	}
+	
+	/* convert back to complex form, read for the inverse fft */
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	
+	fftease_rdft(fft, -1);
+	fftease_overlapadd(fft);
+}
+
+t_int *codepend_perform(t_int *w)
+{
+	int i, j;
+	/* get our inlets and outlets */
+	t_codepend *x = (t_codepend *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *vec_exponent = (t_float *)(w[4]);
+	t_float *vec_threshold = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	
+    x->exponent = *vec_exponent;
+    x->threshold = *vec_threshold;
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	float mult = fft->mult;	
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        return w+7;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){	
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_codepend(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_codepend(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	} 
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_codepend(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}		
+
+void codepend_dsp(t_codepend *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        codepend_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(codepend_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec);
+    }
+}
diff --git a/externals/fftease/collect.pl b/externals/fftease/collect.pl
new file mode 100644
index 000000000..34f1f89b1
--- /dev/null
+++ b/externals/fftease/collect.pl
@@ -0,0 +1,6 @@
+while(<*>){
+    chomp;
+    if(/darwin$/ || /libfftease.dylib/){
+	`mv $_ fftease32-externals`;
+    }
+}
diff --git a/externals/fftease/convert.c b/externals/fftease/convert.c
new file mode 100644
index 000000000..f08ee78c4
--- /dev/null
+++ b/externals/fftease/convert.c
@@ -0,0 +1,49 @@
+#include "fftease.h"
+
+
+/* S is a spectrum in rfft format, i.e., it contains N real values
+ arranged as real followed by imaginary values, except for first
+ two values, which are real parts of 0 and Nyquist frequencies;
+ convert first changes these into N/2+1 PAIRS of magnitude and
+ phase values to be stored in output array C; the phases are then
+ unwrapped and successive phase differences are used to compute
+ estimates of the instantaneous frequencies for each phase vocoder
+ analysis channel; decimation rate D and sampling rate R are used
+ to render these frequency values directly in Hz. */
+
+
+void fftease_convert(t_fftease *fft)
+{
+	t_float *buffer = fft->buffer;
+	t_float *channel = fft->channel;
+	int N2 = fft->N2;
+	t_float *lastphase = fft->c_lastphase_in;
+	t_float fundamental = fft->c_fundamental;
+	t_float factor = fft->c_factor_in;
+	
+	t_float 	phase, phasediff;
+	int real,imag,amp,freq;
+	t_float a,b;
+	int i;
+	
+	
+    for ( i = 0; i <= N2; i++ ) {
+		imag = freq = ( real = amp = i<<1 ) + 1;
+		a = ( i == N2 ? buffer[1] : buffer[real] );
+		b = ( i == 0 || i == N2 ? 0. : buffer[imag] );
+		
+		channel[amp] = hypot( a, b );
+		if ( channel[amp] == 0. )
+			phasediff = 0.;
+		else {
+			phasediff = ( phase = -atan2( b, a ) ) - lastphase[i];
+			lastphase[i] = phase;
+			
+			while ( phasediff > PI )
+				phasediff -= TWOPI;
+			while ( phasediff < -PI )
+				phasediff += TWOPI;
+		}
+		channel[freq] = phasediff*factor + i*fundamental;
+    }
+}
diff --git a/externals/fftease/cross~.c b/externals/fftease/cross~.c
new file mode 100644
index 000000000..56d141441
--- /dev/null
+++ b/externals/fftease/cross~.c
@@ -0,0 +1,297 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *cross_class;
+
+#define OBJECT_NAME "cross~"
+
+typedef struct _cross
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2; 
+	t_float threshie;
+	short mute;//flag
+	short autonorm;// for self gain regulation
+    t_float normult; // adjusted multiplier on a per-frame basis
+} t_cross;
+
+void *cross_new(t_symbol *s, int argc, t_atom *argv);
+t_int *cross_perform(t_int *w);
+void cross_dsp(t_cross *x, t_signal **sp);
+void *cross_new(t_symbol *s, int argc, t_atom *argv);
+void cross_init(t_cross *x);
+void cross_fftinfo(t_cross *x);
+void cross_mute(t_cross *x, t_floatarg toggle);
+void cross_autonorm(t_cross *x, t_floatarg toggle);
+void cross_free(t_cross *x);
+
+void cross_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("cross~"), (t_newmethod)cross_new,
+                  (t_method)cross_free,sizeof(t_cross), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_cross, x_f);
+	class_addmethod(c,(t_method)cross_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)cross_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)cross_autonorm, gensym("autonorm"),  A_FLOAT, 0);
+    cross_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void cross_autonorm(t_cross *x, t_floatarg toggle)
+{
+	x->autonorm = (short) toggle;
+}
+
+void cross_fftsize(t_cross *x, t_floatarg f)
+{	
+	x->fft->N = (int) f;
+	x->fft2->N = (int) f;
+	cross_init(x);
+}
+
+void cross_mute(t_cross *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void cross_free(t_cross *x)
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void *cross_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_cross *x = (t_cross *)pd_new(cross_class);
+
+
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;	
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void cross_init(t_cross *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized;
+
+	initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+
+	if(!initialized){
+		x->threshie = .001 ;
+		x->autonorm = 0;
+        x->mute = 0;
+	}
+}
+
+void do_cross(t_cross *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int N2 = fft->N2;
+	t_float a1, b1, a2, b2;
+	t_float *buffer1 = fft->buffer;
+	t_float *buffer2 = fft2->buffer;
+	t_float *channel1 = fft->channel;
+	short autonorm = x->autonorm;
+	int N = fft->N;
+	t_float mult = fft->mult;
+	int even, odd;
+	t_float gainer;
+	t_float threshie = x->threshie;
+	t_float ingain = 0;
+	t_float outgain, rescale;
+	t_float mymult;
+
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	fftease_rdft(fft,1);
+	fftease_rdft(fft2,1);
+
+	/* changing algorithm for window flexibility */
+	if(autonorm){
+		ingain = 0;
+		for(i = 0; i < N; i+=2){
+			ingain += hypot(buffer1[i], buffer1[i+1]);
+		}
+	}
+	
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(buffer1+1) : *(buffer1+even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(buffer1+odd) );
+		a2 = ( i == N2 ? *(buffer2+1) : *(buffer2+even) );
+		b2 = ( i == 0 || i == N2 ? 0. : *(buffer2+odd) );
+		gainer = hypot(a2, b2);
+		if( gainer > threshie ) 
+			*(channel1+even) = hypot( a1, b1 ) * gainer;
+		*(channel1+odd) = -atan2( b1, a1 );
+		*(buffer1+even) = *(channel1+even) * cos( *(channel1+odd) );
+		if ( i != N2 )
+			*(buffer1+odd) = -(*(channel1+even)) * sin( *(channel1+odd) );
+		
+	}
+	if(autonorm){
+		outgain = 0;
+		for(i = 0; i < N; i+=2){
+			outgain += hypot(buffer1[i], buffer1[i+1]);
+		}
+		if(ingain <= .0000001){
+			// post("gain emergency!");
+			rescale = 1.0;
+		} else {
+			rescale = ingain / outgain;
+		} 
+		//post("ingain %f outgain %f rescale %f",ingain, outgain, rescale);
+		x->normult = mult * rescale;
+	}  else {
+		x->normult = mult;
+        //post("mymult: %f", mymult);
+	}
+	fftease_rdft(fft, -1);
+	fftease_overlapadd(fft);
+}
+
+t_int *cross_perform(t_int *w)
+{
+	int i, j;
+    t_cross *x = (t_cross *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *threshold = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        return w+6;
+	}
+
+    x->threshie = *threshold;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_cross(x);
+        mult = x->normult;
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_cross(x);
+            mult = x->normult;
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_cross(x);
+            mult = x->normult;
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void cross_dsp(t_cross *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        cross_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(cross_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/dentist~.c b/externals/fftease/dentist~.c
new file mode 100644
index 000000000..62c8e4bdc
--- /dev/null
+++ b/externals/fftease/dentist~.c
@@ -0,0 +1,585 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *dentist_class;
+
+#define OBJECT_NAME "dentist~"
+
+typedef struct _dentist
+{
+	t_object x_obj;
+    float x_f;
+    t_fftease *fft;
+	short *bin_selection;
+	short *last_bin_selection;
+	int *active_bins;
+	int tooth_count;
+	int ramp_frames;
+	int frames_left;
+	t_float frame_duration;
+	int max_bin;
+	t_float topfreq;
+	t_float funda;
+	void *list_outlet;
+	short direct_update;
+	short mute;
+	t_atom *list_data;
+	short interpolate_singles;
+	t_float sync;
+    t_float ramp_ms;
+
+} t_dentist;
+
+void *dentist_new(t_symbol *msg, short argc, t_atom *argv);
+void dentist_dsp(t_dentist *x, t_signal **sp);
+t_int *dentist_perform(t_int *w);
+void set_switch_bins (t_dentist *x, int i);
+void reset_shuffle(t_dentist *x);
+void dentist_showstate(t_dentist *x);
+void dentist_direct_update(t_dentist *x, t_floatarg toggle);
+void dentist_mute(t_dentist *x, t_floatarg toggle);
+void dentist_setstate(t_dentist *x, t_symbol *msg, short argc, t_atom *argv);
+void dentist_ramptime(t_dentist *x, t_floatarg ramp_ms);
+int rand_index(int max);
+void dentist_init(t_dentist *x);
+void dentist_bins_pd (t_dentist *x, t_floatarg i);
+void dentist_topfreq(t_dentist *x, t_floatarg f);
+void dentist_free(t_dentist *x);
+void dentist_toothcount(t_dentist *x, t_floatarg newcount);
+void dentist_scramble(t_dentist *x);
+void dentist_activate_bins(t_dentist *x, t_floatarg f);
+void dentist_interpolate_singles(t_dentist *x, t_floatarg f);
+void dentist_fftinfo(t_dentist *x);
+void dentist_mute(t_dentist *x, t_floatarg toggle);
+
+void dentist_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("dentist~"), (t_newmethod)dentist_new,
+                  (t_method)dentist_free,sizeof(t_dentist), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_dentist, x_f);
+	class_addmethod(c,(t_method)dentist_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)dentist_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)dentist_fftinfo,gensym("fftinfo"),0);
+	class_addmethod(c,(t_method)dentist_showstate,gensym("showstate"),0);
+	class_addmethod(c,(t_method)dentist_setstate, gensym("setstate"), A_GIMME, 0);
+	class_addmethod(c,(t_method)dentist_ramptime, gensym("ramptime"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)dentist_topfreq, gensym("topfreq"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)dentist_toothcount, gensym("toothcount"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)dentist_interpolate_singles, gensym("interpolate_singles"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)dentist_scramble, gensym("scramble"), 0);
+    
+    dentist_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+
+void dentist_interpolate_singles(t_dentist *x, t_floatarg f)
+{
+    x->interpolate_singles = (short)f;
+	//    post("singles interp: %d",x->interpolate_singles);
+}
+
+void dentist_free(t_dentist *x)
+{
+	fftease_free(x->fft);
+    free(x->fft);
+    free(x->bin_selection);
+    free(x->active_bins);
+    free(x->last_bin_selection);
+    free(x->list_data);
+}
+
+void dentist_fftsize(t_dentist *x, t_floatarg f)
+{	
+	t_fftease *fft = x->fft;
+	fft->N = (int) f;
+	dentist_init(x);
+}
+
+void dentist_overlap(t_dentist *x, t_floatarg f)
+{
+	x->fft->overlap = (int) f;
+	dentist_init(x);
+}
+
+void dentist_winfac(t_dentist *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->winfac = (int) f;
+	dentist_init(x);
+}
+
+void dentist_fftinfo( t_dentist *x )
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );
+}
+
+
+void dentist_direct_update( t_dentist *x, t_floatarg toggle)
+{
+	x->direct_update = (short)toggle;
+}
+
+void dentist_mute( t_dentist *x, t_floatarg toggle )
+{
+	x->mute = (short)toggle;
+}
+
+void *dentist_new(t_symbol *msg, short argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_dentist *x = (t_dentist *)pd_new(dentist_class);
+	
+	outlet_new(&x->x_obj, gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    x->list_outlet = outlet_new(&x->x_obj, gensym("list"));
+    
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	
+	x->topfreq = 3000; // an attribute candidate
+	x->ramp_ms = 1000.0;
+    x->tooth_count = 3;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+
+	return x;
+}
+
+void dentist_topfreq(t_dentist *x, t_floatarg f)
+{
+	float funda = x->funda;
+	float curfreq;
+	t_fftease *fft = x->fft;
+    if(f < 50 || f > fft->R/2.0)
+        return;
+	
+    x->topfreq = f;
+    if(! x->fft->initialized){
+        return;
+    }
+    x->max_bin = 1;  
+    curfreq = 0;
+    while(curfreq < x->topfreq) {
+        ++(x->max_bin);
+        curfreq += funda ;
+    }
+}
+
+void dentist_init(t_dentist *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	short initialized = fft->initialized;
+ 	fftease_init(fft);
+	   
+	if(!initialized){
+		x->sync = 0;
+		x->mute = 0;
+		x->direct_update = 0;
+		if(x->topfreq < 100)
+			x->topfreq = 100.0;
+		x->bin_selection = (short *) calloc(fft->N, sizeof(short));
+		x->active_bins = (int *) calloc(fft->N2, sizeof(int));
+		x->last_bin_selection = (short *) calloc(fft->N2, sizeof(short)) ;
+		x->list_data = (t_atom *) calloc((fft->N + 2), sizeof(t_atom));
+		
+		x->interpolate_singles = 1;
+		x->ramp_frames = 0;
+		
+	} else {
+		x->bin_selection = (short *) realloc((void *)x->bin_selection, fft->N * sizeof(short));
+		x->active_bins = (int *) realloc((void *)x->active_bins, fft->N2 * sizeof(int));
+		x->last_bin_selection = (short *) realloc((void *)x->last_bin_selection, fft->N2 * sizeof(short)) ;
+		x->list_data = (t_atom *) realloc((void *)x->list_data, (fft->N + 2) * sizeof(t_atom));
+	}
+
+	dentist_scramble(x);
+	
+    fft->mult = 1. / (t_float) fft->N;
+    x->frame_duration = (t_float) fft->D / (t_float) fft->R;
+    x->frames_left = x->ramp_frames = (int)(x->ramp_ms * .001 / x->frame_duration);
+    x->funda = (t_float) fft->R / (t_float) fft->N;
+    x->max_bin = 1;  
+
+    if(!x->funda){
+    	error("%s: zero sampling rate!",OBJECT_NAME);
+    	return;
+    }
+    x->max_bin = (int) (x->topfreq / x->funda);
+    if(x->max_bin < 1)
+    	x->max_bin = 1;
+     
+    for( i = 0; i < fft->N2; i++) {
+        x->last_bin_selection[i] = x->bin_selection[i];
+    }
+    dentist_toothcount(x, x->tooth_count);
+}
+
+void do_dentist(t_dentist *x)
+{
+	int	i;
+	t_float oldfrac,newfrac;
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	int frames_left = x->frames_left;
+	int ramp_frames = x->ramp_frames;
+	short *bin_selection = x->bin_selection;
+	short *last_bin_selection = x->last_bin_selection;
+	int N2 = fft->N2;
+	float sync = x->sync;
+
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_leanconvert(fft);
+	
+	if(frames_left > 0 && ramp_frames > 0) {
+		// INTERPOLATE ACCORDING TO POSITION IN RAMP
+		oldfrac = (float) frames_left / (float) ramp_frames ;
+		sync = newfrac = 1.0 - oldfrac;
+		for( i = 0; i < N2 ; i++){
+			if( (! bin_selection[i]) && (! last_bin_selection[i]) ){
+				channel[i * 2]  = 0;
+			} 
+			else if (bin_selection[i]) {
+				channel[i * 2]  *= newfrac;
+			} 
+			else if (last_bin_selection[i]) {
+				channel[i * 2]  *= oldfrac;
+			}
+		}
+		--frames_left;
+		if( ! frames_left ){
+			// Copy current to last
+			for( i = 0; i < N2; i++) {
+				last_bin_selection[i] = bin_selection[i];
+			}
+		}
+	} else {
+		for( i = 0; i < N2 ; i++){
+			if( ! bin_selection[ i ] ){
+				channel[ i * 2 ]  = 0;
+			}
+		}
+		oldfrac = 0.0;
+		sync = 1.0;
+	}
+	
+	fftease_leanunconvert(fft);
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+	x->frames_left = frames_left;
+	x->sync = sync;
+}
+
+t_int *dentist_perform(t_int *w)
+{
+	int	i,j;
+    t_dentist *x = (t_dentist *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+	t_float *sync_vec = (t_float *)(w[4]);
+	t_fftease *fft = x->fft;
+	t_float *input = fft->input;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	t_float mult = fft->mult ;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;	
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		for(i=0; i < MSPVectorSize; i++){ sync_vec[i] = 0.0; }
+        return w+5;
+	}	
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_dentist(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_dentist(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_dentist(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+	for(i = 0; i < MSPVectorSize; i++){
+		sync_vec[i] = x->sync;
+	}
+	return w+5;
+}		
+
+
+void set_switch_bins (t_dentist *x, int i)
+{
+	if( i < 0 ){
+		i = 0;
+	}
+	if( i > x->fft->N2 ) {
+		i = x->fft->N2;
+	}
+	x->tooth_count = i;
+	if( x->direct_update ){
+		reset_shuffle(x);
+	}
+	return;
+}
+//identical function for Pd
+void dentist_bins_pd (t_dentist *x, t_floatarg i)
+{
+	if( i < 0 ){
+		i = 0;
+	}
+	if( i > x->fft->N2 ) {
+		i = x->fft->N2;
+	}
+	x->tooth_count = (int)i;
+	if(x->direct_update){
+		reset_shuffle(x);
+	}
+	return;
+}
+
+// experimental, not to be used
+void dentist_activate_bins(t_dentist *x, t_floatarg f)
+{
+    if(f < 0 || f > x->max_bin){
+        post("* %d bin out of range",(int)f);
+        return;
+    }
+    x->tooth_count = (int)f;
+}
+
+void dentist_scramble(t_dentist *x)
+{
+	short *last_bin_selection = x->last_bin_selection;
+	short *bin_selection = x->bin_selection;
+	int *active_bins = x->active_bins;
+	int N2 = x->fft->N2;
+	int i,tmp,b1,b2;
+	int maxswap = x->max_bin;
+
+    if(!x->fft->initialized){
+        return;
+    }
+	for(i=0; i<N2; i++){
+		bin_selection[i] = 0;
+		active_bins[i] = i;
+	}
+	while(maxswap > 0){
+		b1 = maxswap;
+		b2 = rand_index(maxswap);
+		tmp = active_bins[b1];
+		active_bins[b1] = active_bins[b2];
+		active_bins[b2] = tmp;
+		--maxswap;
+	}
+	for( i = 0; i < x->tooth_count; i++ ) {
+		x->bin_selection[active_bins[i]] = 1;
+	}
+	x->frames_left = x->ramp_frames;
+	if(! x->ramp_frames) {
+		for(i = 0; i < N2; i++){
+			last_bin_selection[i] = bin_selection[i];
+		}
+	}    
+}
+
+
+
+void dentist_toothcount(t_dentist *x, t_floatarg newcount)
+{
+	int i;
+	int nc = (int) newcount;
+	int tooth_count = x->tooth_count;
+    if(! x->fft->initialized){
+        x->tooth_count = newcount;
+        return;
+    }
+	if(nc < 0 || nc > x->fft->N2){
+		error("dentist~: %d out of range",nc);
+		return;
+	}
+
+	if(nc < x->tooth_count){
+		for(i = nc; i < tooth_count; i++){
+			x->bin_selection[x->active_bins[i]] = 0;
+		}
+	}
+    else {
+		for(i = tooth_count; i < nc; i++){
+			x->bin_selection[x->active_bins[i]] = 1;
+		}
+	}
+	// if immediate reset
+	if(x->interpolate_singles){
+		//  post("setting frames left");
+		x->frames_left = x->ramp_frames;
+	}
+	if(! x->ramp_frames) {
+		for(i = 0; i < x->fft->N2; i++){
+			x->last_bin_selection[i] = x->bin_selection[i];
+		}
+	}
+	x->tooth_count = nc;
+}
+
+
+void reset_shuffle (t_dentist *x)
+{
+	int i;
+	int max;
+	
+	max = x->max_bin;
+	for(i = 0; i < x->fft->N2; i++){
+		x->last_bin_selection[i] = x->bin_selection[i];
+		x->bin_selection[i] = 0;
+	}
+	for(i = 0; i < x->max_bin; i++) {
+		x->active_bins[i] = rand_index(max);
+		x->bin_selection[x->active_bins[i]] = 1;
+	}
+	x->frames_left = x->ramp_frames;
+	if(! x->ramp_frames) { // Ramp Off - Immediately set last to current
+		for( i = 0; i < x->fft->N2; i++ ){
+			x->last_bin_selection[ i ] = x->bin_selection[ i ];
+		}
+	}
+}
+
+int rand_index(int max) {
+	return (rand() % max);
+}
+
+void dentist_setstate (t_dentist *x, t_symbol *msg, short argc, t_atom *argv) {
+	short i;
+	int selex;
+	
+	short *last_bin_selection = x->last_bin_selection;
+	short *bin_selection = x->bin_selection;
+	int *active_bins = x->active_bins;
+	x->tooth_count = argc;
+	int N2 = x->fft->N2;
+	
+	for(i = 0; i < N2; i++){
+		last_bin_selection[i] = bin_selection[i]; // needed here
+		bin_selection[i] = 0;
+	}
+	
+	for (i=0; i < argc; i++) {
+		selex = atom_getfloatarg(i,argc,argv);
+		if (selex < N2 && selex >= 0 ) {
+			active_bins[i] = selex;
+			bin_selection[selex] = 1;
+		} else {
+			post ("%d out of range bin",selex);
+		}		
+	}
+	
+	
+	x->frames_left = x->ramp_frames;
+	if(! x->ramp_frames) { // Ramp Off - Immediately set last to current
+		for(i = 0; i < N2; i++){
+			last_bin_selection[i] = bin_selection[i];
+		}
+	}
+	
+	return;
+}
+void dentist_ramptime (t_dentist *x, t_floatarg ramp_ms) {
+	
+	if(ramp_ms <= 0){
+		return;
+	}
+    x->ramp_ms = ramp_ms;
+    if(!x->fft->initialized){
+        return;
+    }
+	x->frames_left = x->ramp_frames = (int)(x->ramp_ms * .001 / x->frame_duration);
+	return;
+}
+// REPORT CURRENT SHUFFLE STATUS
+void dentist_showstate (t_dentist *x) {
+	
+	t_atom *list_data = x->list_data;
+	
+	short i, count;
+	float data;
+	
+	count = 0;
+	for(i = 0; i < x->tooth_count; i++ ) {
+		data = x->active_bins[i];
+		SETFLOAT(list_data+count,(t_float)x->active_bins[i]);
+		++count;
+	}	
+	outlet_list(x->list_outlet,0,x->tooth_count,list_data);
+	return;
+}
+
+void dentist_dsp(t_dentist *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        dentist_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(dentist_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/disarrain~.c b/externals/fftease/disarrain~.c
new file mode 100644
index 000000000..41b525fef
--- /dev/null
+++ b/externals/fftease/disarrain~.c
@@ -0,0 +1,687 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *disarrain_class;
+
+#define OBJECT_NAME "disarrain~"
+
+typedef struct _disarrain
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_float *last_channel;
+	t_float *composite_channel;
+	int *shuffle_mapping;
+	int *last_shuffle_mapping;
+	int *shuffle_tmp; // work space for making a new distribution
+	int shuffle_count;// number of bins to swap
+	int last_shuffle_count;// ditto from last shuffle mapping
+	int max_bin;
+	void *list_outlet;
+	t_atom *list_data;
+	short mute;
+	short bypass;
+	t_float frame_duration; // duration in seconds of a single frame
+	t_float interpolation_duration; // duration in seconds of interpolation
+	int interpolation_frames; // number of frames to interpolate
+	int frame_countdown; // keep track of position in interpolation
+	int perform_method;// 0 for lean, 1 for full conversion
+	float ival;
+	short lock;// lock for switching mapping arrays, but not used now
+	short force_fade; // new fadetime set regardless of situation
+	short force_switch;// binds new distribution to change of bin count
+	long fftsize_attr;
+	long overlap_attr;
+    t_float top_frequency;// for remapping spectrum (NOW AN ATTRIBUTE)
+	short reset_flag; // call for reset 
+	short switchcount_flag; // call for switch count
+    int switchcount;
+	int new_shuffle_count; // call to change switch count
+} t_disarrain;
+
+
+void *disarrain_new(t_symbol *msg, short argc, t_atom *argv);
+void disarrain_dsp(t_disarrain *x, t_signal **sp);
+t_int *disarrain_perform(t_int *w);
+void disarrain_switch_count(t_disarrain *x, t_floatarg i);
+void disarrain_fadetime(t_disarrain *x, t_floatarg f);
+void disarrain_topfreq(t_disarrain *x, t_floatarg f);
+void reset_shuffle( t_disarrain *x );
+void disarrain_showstate( t_disarrain *x );
+void disarrain_list (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv);
+void disarrain_setstate (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv);
+void disarrain_isetstate (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv);
+int rand_index(int max);
+void disarrain_mute(t_disarrain *x, t_floatarg toggle);
+void copy_shuffle_array(t_disarrain *x);
+void interpolate_frames_to_channel(t_disarrain *x);
+void disarrain_killfade(t_disarrain *x);
+void disarrain_forcefade(t_disarrain *x, t_floatarg toggle);
+void disarrain_init(t_disarrain *x);
+void disarrain_free(t_disarrain *x);
+void disarrain_fftinfo(t_disarrain *x);
+void disarrain_force_switch(t_disarrain *x, t_floatarg toggle);
+
+void disarrain_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("disarrain~"), (t_newmethod)disarrain_new,
+                  (t_method)disarrain_free,sizeof(t_disarrain), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_disarrain, x_f);
+	class_addmethod(c,(t_method)disarrain_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)disarrain_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reset_shuffle, gensym("bang"), 0);
+	class_addmethod(c,(t_method)disarrain_showstate,gensym("showstate"),0);
+	class_addmethod(c,(t_method)disarrain_setstate, gensym("setstate"), A_GIMME, 0);
+	class_addmethod(c,(t_method)disarrain_isetstate, gensym("isetstate"), A_GIMME, 0);
+	class_addmethod(c,(t_method)disarrain_topfreq, gensym("topfreq"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)disarrain_fadetime, gensym("fadetime"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)disarrain_switch_count, gensym("switch_count"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)disarrain_killfade, gensym("killfade"), 0);
+    disarrain_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void disarrain_free(t_disarrain *x)
+{
+	fftease_free(x->fft);
+    free(x->fft);
+	free(x->last_channel);
+	free(x->composite_channel);
+	free(x->shuffle_mapping);
+	free(x->last_shuffle_mapping);
+	free(x->shuffle_tmp);
+	free(x->list_data);
+}
+
+void disarrain_init(t_disarrain *x)
+{
+	int i;
+	t_float curfreq;
+	
+	t_fftease *fft = x->fft;
+
+	t_float c_fundamental;
+	short initialized = fft->initialized;
+	
+ 	fftease_init(fft);
+
+	int N2 = fft->N2;
+	int N = fft->N;
+	int D = fft->D;
+	int R = fft->R;
+	c_fundamental = fft->c_fundamental;
+	if(initialized == 0){
+		x->mute = 0;
+		x->bypass = 0;
+		x->force_fade = 0;
+		x->interpolation_duration = 0.1; //seconds
+		x->shuffle_mapping = (int *) calloc( N2, sizeof(int) ) ;
+		x->last_shuffle_mapping = (int *) calloc( N2, sizeof(int) ) ;
+		x->shuffle_tmp = (int *) calloc( N2, sizeof(int) ) ;
+		x->list_data = (t_atom *) calloc((N+2), sizeof(t_atom) ) ;
+		x->last_channel = (t_float *) calloc((N+2), sizeof(float));
+		x->composite_channel = (t_float *) calloc((N+2), sizeof(float));
+		x->reset_flag = 0;
+		x->new_shuffle_count = 0;
+	} else {
+		x->shuffle_mapping = (int *)realloc(x->shuffle_mapping, N2 * sizeof(int));
+		x->last_shuffle_mapping = (int *)realloc(x->last_shuffle_mapping, N2 * sizeof(int));
+		x->shuffle_tmp = (int *)realloc(x->shuffle_tmp, N2 * sizeof(int));
+		x->list_data = (t_atom *)realloc(x->list_data, (N+2) * sizeof(t_atom));
+		x->last_channel = (t_float *)realloc(x->last_channel,(N+2) * sizeof(t_float));
+		x->composite_channel = (t_float *)realloc(x->composite_channel, (N+2) * sizeof(t_float));
+
+	}
+	
+	if( x->top_frequency < c_fundamental || x->top_frequency > 20000) {
+		x->top_frequency = 20000.0 ;
+	}
+	x->max_bin = 1;  
+	curfreq = 0;
+	while( curfreq < x->top_frequency ) {
+		++(x->max_bin);
+		curfreq += c_fundamental ;
+	}
+	for( i = 0; i < N2; i++ ) {
+		x->shuffle_mapping[i] = x->last_shuffle_mapping[i] = i*2;
+	}
+	reset_shuffle(x); // set shuffle lookup
+	copy_shuffle_array(x);// copy it to the last lookup (for interpolation)
+	x->frame_duration = (float) D / (float) R;
+	x->interpolation_frames = x->interpolation_duration / x->frame_duration;
+	x->frame_countdown = 0;
+	x->shuffle_count = 0;
+	x->last_shuffle_count = 0;
+    if(x->switchcount > 0){
+        disarrain_switch_count (x, (t_float)x->switchcount);
+    }
+}
+
+
+void disarrain_force_switch(t_disarrain *x, t_floatarg f)
+{
+	x->force_switch = (short)f;
+}
+
+
+
+void disarrain_fadetime (t_disarrain *x, t_floatarg f)
+{
+	int frames;
+	float duration;
+	
+
+    if(f > 0.0){
+        x->interpolation_duration = f * 0.001;
+    } else {
+        return;
+    }
+    if(! x->fft->initialized){
+        return;
+    }
+	if(x->frame_duration <= 0.0){
+		// error("%s: frame duration %f is too low", OBJECT_NAME, x->frame_duration);
+		return;
+	}
+	// duration = f * .001;
+	frames = x->interpolation_duration / x->frame_duration;
+	if( frames <= 1){
+		error("%s: fadetime too short",OBJECT_NAME);
+		return;
+	}
+	x->interpolation_frames = frames;
+}
+
+void disarrain_killfade(t_disarrain *x)
+{
+	x->frame_countdown = 0;
+	
+}
+
+void *disarrain_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_disarrain *x = (t_disarrain *)pd_new(disarrain_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    x->list_outlet = outlet_new(&x->x_obj, gensym("list"));
+	srand(time(0));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+
+	fft->initialized = 0;
+	x->top_frequency = 3000;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void disarrain_forcefade(t_disarrain *x, t_floatarg toggle)
+{
+	x->force_fade = (short)toggle;	
+}
+
+void disarrain_mute(t_disarrain *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;	
+}
+
+void disarrain_bypass(t_disarrain *x, t_floatarg toggle)
+{
+	x->bypass = (short)toggle;	
+}
+
+void disarrain_fftsize(t_disarrain *x, t_floatarg f)
+{	
+	t_fftease *fft = x->fft;
+	fft->N = (int) f;
+	disarrain_init(x);
+}
+
+void disarrain_overlap(t_disarrain *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->overlap = (int) f;
+	disarrain_init(x);
+}
+
+void disarrain_winfac(t_disarrain *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->winfac = (int) f;
+	disarrain_init(x); /* calling lighter reinit routine */
+}
+
+void disarrain_fftinfo( t_disarrain *x )
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );
+}
+
+void do_disarrain(t_disarrain *x)
+{
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	int N = fft->N;
+	int  N2 = fft->N2;
+	t_float *last_channel = x->last_channel;
+	int		i,j;
+	int max = x->max_bin;
+	int temp, p1, p2;
+	float tmp;
+	int *shuffle_mapping = x->shuffle_mapping;
+	int shuffle_count = x->shuffle_count;
+	int *last_shuffle_mapping = x->last_shuffle_mapping;
+	int *shuffle_tmp = x->shuffle_tmp;
+	int last_shuffle_count = x->last_shuffle_count;	
+	int frame_countdown = x->frame_countdown; // will read from variable
+	int interpolation_frames = x->interpolation_frames;
+	float ival = x->ival;
+	int new_shuffle_count = x->new_shuffle_count;
+
+	
+	if(x->switchcount_flag){
+		
+		if( new_shuffle_count < 0 ){
+			new_shuffle_count = 0;
+		}
+		if( new_shuffle_count > N2 ) {
+			new_shuffle_count = N2;
+		}
+		if( new_shuffle_count > x->max_bin){
+			new_shuffle_count = x->max_bin;
+			post("disarrain~: switch constrained to %d", x->max_bin);
+		}		
+
+		memcpy(last_shuffle_mapping, shuffle_mapping,  N2 * sizeof(int));
+        
+		x->last_shuffle_count = x->shuffle_count;
+		x->shuffle_count = new_shuffle_count;
+		x->frame_countdown = x->interpolation_frames; // force interpolation
+
+		shuffle_count = x->shuffle_count;
+		frame_countdown = x->frame_countdown;
+		
+		x->switchcount_flag = 0;
+		x->reset_flag = 0;
+	}
+	else if(x->reset_flag){
+        
+		memcpy(last_shuffle_mapping, shuffle_mapping,  N2 * sizeof(int));
+		last_shuffle_count = shuffle_count;
+		shuffle_count = new_shuffle_count;
+		// post("%d %d %d", last_shuffle_count, shuffle_count, new_shuffle_count);
+		
+		for( i = 0; i < N2; i++ ) {
+			shuffle_tmp[i] = i;
+		}
+		
+		// crashed before here
+		for( i = 0; i < max; i++ ) {
+			p1 = rand() % max;
+			p2 = rand() % max;
+			if(p1 < 0 || p1 > max || p2 < 0 || p2 > max){
+				error("disarrain~: bad remaps: %d %d against %d", p1, p2, max);
+			} else {
+				temp = shuffle_tmp[p1];
+				shuffle_tmp[ p1 ] = shuffle_tmp[ p2 ];
+				shuffle_tmp[ p2 ] = temp;
+			}
+		}
+		for( i = 0; i < N2; i++ ) {
+			shuffle_tmp[i] *= 2;
+		}
+		frame_countdown = interpolation_frames;	
+		// post("in: countdown: %d, frames: %d", frame_countdown, interpolation_frames);
+        // dangerous???
+        
+		memcpy(shuffle_mapping, shuffle_tmp,  N2 * sizeof(int));
+
+		x->reset_flag = 0;
+	}
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_leanconvert(fft);
+	
+	// first time for interpolation, just do last frame 
+	
+	if(frame_countdown == interpolation_frames){
+		
+		for( i = 0, j = 0; i < last_shuffle_count ; i++, j+=2){
+			tmp = channel[j];
+			channel[j] = channel[last_shuffle_mapping[i]];
+			channel[last_shuffle_mapping[i]] = tmp;
+		}
+		--frame_countdown;
+	} 
+	// test only
+	else if( frame_countdown > 0 ){
+		ival = (float)frame_countdown/(float)interpolation_frames;
+		// copy current frame to lastframe
+		for(j = 0; j < N; j+=2){
+			last_channel[j] = channel[j];
+		}	
+		// make last frame swap
+		for(i = 0, j = 0; i < last_shuffle_count ; i++, j+=2){
+			tmp = last_channel[j];
+			last_channel[j] = last_channel[last_shuffle_mapping[i]];
+			last_channel[last_shuffle_mapping[i]] = tmp;
+			
+		}	
+		// make current frame swap
+		for( i = 0, j = 0; i < shuffle_count ; i++, j+=2){
+			tmp = channel[j];
+			channel[j]  = channel[shuffle_mapping[i]];
+			channel[shuffle_mapping[i]]  = tmp;
+			
+		}
+		// now interpolate between the two
+		
+		for(j = 0; j < N; j+=2){
+			channel[j] = channel[j] + ival * (last_channel[j] - channel[j]);
+		}
+		
+		--frame_countdown;
+		if(frame_countdown <= 0){
+			for(i = 0; i<N2; i++){
+				last_shuffle_mapping[i] = shuffle_mapping[i];
+			}
+			last_shuffle_count = shuffle_count;
+		}
+	} else {
+		// otherwise straight swapping
+		for( i = 0, j = 0; i < shuffle_count ; i++, j+=2){
+			tmp = channel[j];
+			channel[j]  = channel[ shuffle_mapping[i]];
+			channel[shuffle_mapping[i]] = tmp;     
+		}
+		ival = 0.0;
+	}
+	
+	fftease_leanunconvert(fft);
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+
+
+	
+	x->frame_countdown = frame_countdown;
+	x->last_shuffle_count = last_shuffle_count;
+	x->shuffle_count = shuffle_count;
+	x->ival = ival;
+}
+
+t_int *disarrain_perform(t_int *w)
+{
+	int i,j;
+	
+    t_disarrain *x = (t_disarrain *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+	t_float *sync_vec = (t_float *)(w[4]);
+    t_fftease *fft = x->fft;
+	t_float *input = fft->input;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;	
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		for(i=0; i < MSPVectorSize; i++){ sync_vec[i] = 0.0; }
+		return w+5;
+	}	
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_disarrain(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_disarrain(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_disarrain(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+	/* send out sync signal */
+	for(j = 0; j < MSPVectorSize; j++){
+		sync_vec[j] = 1.0 - x->ival;
+	}
+    return w+5;
+}		
+
+
+void interpolate_frames_to_channel(t_disarrain *x)
+{
+	float ival;
+	float tmp;
+	int i,j;
+	int frame_countdown = x->frame_countdown;
+	int interpolation_frames = x->interpolation_frames;
+	t_float *channel = x->fft->channel;
+	t_float *last_channel = x->last_channel;
+	int *shuffle_mapping = x->shuffle_mapping;
+	int shuffle_count = x->shuffle_count;
+	int *last_shuffle_mapping = x->last_shuffle_mapping;
+	int last_shuffle_count = x->last_shuffle_count;	
+	int local_max_bins;
+	int N = x->fft->N;
+	
+	ival = (t_float)frame_countdown/(t_float)interpolation_frames;
+	
+	local_max_bins = (shuffle_count > last_shuffle_count)? shuffle_count : last_shuffle_count;
+	for(j = 0; j < N; j+=2){
+		last_channel[j] = channel[j];
+	}
+	// make last frame
+	for( i = 0, j = 0; i < last_shuffle_count ; i++, j+=2){
+		tmp = last_channel[j];
+		last_channel[j] = last_channel[last_shuffle_mapping[i]];
+		last_channel[last_shuffle_mapping[i]] = tmp;
+	}
+	// make current frame
+	for( i = 0, j = 0; i < shuffle_count ; i++, j+=2){
+		tmp = channel[j];
+		channel[j]  = channel[shuffle_mapping[i]];
+		channel[shuffle_mapping[i]]  = tmp;
+	}
+	// now interpolate between the two
+	
+	for(j = 0; j < N; j+=2){
+		channel[j] += ival * (last_channel[j] - channel[j]);
+	}
+}
+
+
+
+void disarrain_switch_count (t_disarrain *x, t_floatarg f)
+{
+	int i = f;
+    x->switchcount = i;
+    if(! x->fft->initialized){
+        return;
+    }
+	if( i < 0 ){
+		i = 0;
+	}
+	if( i > x->max_bin ) {
+		i = x->max_bin;
+	}
+	x->reset_flag = 1;
+	x->new_shuffle_count = i;
+}
+
+
+void reset_shuffle (t_disarrain *x)
+{	
+	x->reset_flag = 1;
+}
+
+void copy_shuffle_array(t_disarrain *x)
+{
+	int N2 = x->fft->N2;
+	int *shuffle_mapping = x->shuffle_mapping;
+	int *last_shuffle_mapping = x->last_shuffle_mapping;	
+
+	memcpy(shuffle_mapping, last_shuffle_mapping,  N2 * sizeof(int));
+	x->last_shuffle_count = x->shuffle_count;
+	
+}
+
+
+int rand_index(int max) {
+	return (rand() % max);
+}
+
+
+void disarrain_topfreq (t_disarrain *x, t_floatarg freq)
+{
+    t_float funda = (t_float) x->fft->R / (t_float) x->fft->N;
+    t_float curfreq;
+    if(freq  <= 0 || freq > 22050){
+        post("freq %f is out of range", freq);
+        return;
+    }
+    x->top_frequency = freq;
+    if(! x->fft->initialized){
+        return;
+    }
+    funda = (t_float) x->fft->R / (t_float) x->fft->N;
+    x->max_bin = 1;
+    curfreq = 0;
+    while( curfreq < freq ) {
+        ++(x->max_bin);
+        curfreq += funda ;
+    }
+}
+
+void disarrain_list (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv) {
+	short i;
+	int ival;
+	x->shuffle_count = argc;
+	for (i=0; i < argc; i++) {
+		ival = (int)argv[i].a_w.w_float;
+		if (ival < x->fft->N2) {
+			x->shuffle_mapping[i] = ival;
+		}
+	}
+	return;
+}
+
+
+void disarrain_isetstate (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv) {
+	short i;
+	int ival;
+	int N2 = x->fft->N2;
+	
+	copy_shuffle_array(x);
+	x->shuffle_count = argc;
+    
+	for (i=0; i < argc; i++) {
+		ival = 2 * atom_getfloatarg(i,argc,argv);
+		
+		if ( ival < N2 && ival >= 0) {
+			x->shuffle_mapping[ i ] = ival;
+		}else {
+			error("%s: %d is out of range",OBJECT_NAME, ival);
+		}
+	}
+
+	x->frame_countdown = x->interpolation_frames;
+	return;
+}
+
+void disarrain_setstate (t_disarrain *x, t_symbol *msg, short argc, t_atom *argv) {
+	short i;
+	int ival;
+	int N2 = x->fft->N2;
+	x->shuffle_count = argc;
+	for (i=0; i < argc; i++) {
+		ival = 2 *atom_getfloatarg(i,argc,argv);
+		
+		if ( ival < N2 && ival >= 0) {
+			x->shuffle_mapping[ i ] = ival;
+		} else {
+			error("%s: %d is out of range",OBJECT_NAME, ival);
+		}
+	}
+	return;
+}
+
+// REPORT CURRENT SHUFFLE STATUS
+void disarrain_showstate (t_disarrain *x ) {
+	
+	t_atom *list_data = x->list_data;
+	short i;
+	for( i = 0; i < x->shuffle_count; i++ ) {
+		SETFLOAT(list_data+i,(t_float)x->shuffle_mapping[i]/2);
+	}
+	outlet_list(x->list_outlet,0,x->shuffle_count,list_data);
+	return;
+}
+
+void disarrain_dsp(t_disarrain *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        disarrain_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(disarrain_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/disarray~.c b/externals/fftease/disarray~.c
new file mode 100644
index 000000000..4d27b4f31
--- /dev/null
+++ b/externals/fftease/disarray~.c
@@ -0,0 +1,403 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *disarray_class;
+
+#define OBJECT_NAME "disarray~"
+
+
+typedef struct _disarray
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+    t_float top_frequency;
+	int *shuffle_in;
+    int *shuffle_out;
+    int shuffle_count;
+    int max_bin;
+	void *list_outlet;
+	t_atom *list_data;
+	short mute;
+	short bypass;
+	long fftsize_attr;
+	long overlap_attr;
+} t_disarray;
+
+void *disarray_new(t_symbol *msg, short argc, t_atom *argv);
+void disarray_dsp(t_disarray *x, t_signal **sp);
+t_int *disarray_perform(t_int *w);
+void disarray_switch_count (t_disarray *x, t_floatarg i);
+void disarray_topfreq (t_disarray *x, t_floatarg freq);
+void disarray_fadetime (t_disarray *x, t_floatarg f);
+void reset_shuffle( t_disarray *x );
+void disarray_showstate( t_disarray *x );
+void disarray_list (t_disarray *x, t_symbol *msg, short argc, t_atom *argv);
+void disarray_setstate (t_disarray *x, t_symbol *msg, short argc, t_atom *argv);
+void disarray_isetstate (t_disarray *x, t_symbol *msg, short argc, t_atom *argv);
+int rand_index(int max);
+void disarray_mute(t_disarray *x, t_floatarg toggle);
+void copy_shuffle_array(t_disarray *x);
+void interpolate_frames_to_channel(t_disarray *x);
+void disarray_killfade(t_disarray *x);
+void disarray_forcefade(t_disarray *x, t_floatarg toggle);
+void disarray_init(t_disarray *x);
+void disarray_free(t_disarray *x);
+void disarray_fftinfo(t_disarray *x);
+void disarray_force_switch(t_disarray *x, t_floatarg toggle);
+void iswitch_count(t_disarray *x, t_int i);
+void switch_count (t_disarray *x, t_floatarg i);
+
+void disarray_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("disarray~"), (t_newmethod)disarray_new,
+                  (t_method)disarray_free,sizeof(t_disarray), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_disarray, x_f);
+	class_addmethod(c,(t_method)disarray_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)disarray_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reset_shuffle, gensym("bang"), 0);
+	class_addmethod(c,(t_method)disarray_showstate,gensym("showstate"),0);
+	class_addmethod(c,(t_method)disarray_setstate, gensym("setstate"), A_GIMME, 0);
+	class_addmethod(c,(t_method)disarray_topfreq, gensym("topfreq"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)switch_count, gensym("switch_count"), A_FLOAT, 0);
+    disarray_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void iswitch_count(t_disarray *x, t_int i)
+{
+	switch_count(x,(t_floatarg)i);
+}
+
+void switch_count (t_disarray *x, t_floatarg i)
+{
+	if( i < 0 ){
+        i = 0;
+	}
+	if( i > x->fft->N2 ) {
+		i = x->fft->N2;
+	}
+	x->shuffle_count = i;
+}
+
+void disarray_free(t_disarray *x)
+{
+	fftease_free(x->fft);
+    free(x->fft);
+	free(x->list_data);
+	free(x->shuffle_in);
+	free(x->shuffle_out);
+}
+
+void disarray_init(t_disarray *x )
+{
+	t_float curfreq;
+	t_fftease *fft = x->fft;
+	t_float c_fundamental;
+ 	fftease_init(fft);
+	
+	int N2 = fft->N2;
+	int N = fft->N;
+	short initialized = fft->initialized;
+	
+	c_fundamental = fft->c_fundamental;
+	if(initialized == 0){
+		x->mute = 0;
+		x->bypass = 0;
+		x->list_data = (t_atom *) calloc((N+2), sizeof(t_atom)) ;
+		x->shuffle_in = (int *) calloc(N2, sizeof(int));
+		x->shuffle_out = (int *) calloc(N2, sizeof(int));
+	} else if (initialized == 1) {
+		x->list_data = (t_atom *)realloc(x->list_data, (N+2) * sizeof(t_atom));
+		x->shuffle_in = (int *) realloc(x->shuffle_in, N2 * sizeof(int));
+		x->shuffle_out = (int *) realloc(x->shuffle_out, N2 * sizeof(int));
+	}
+	
+	if(initialized != 2){
+		if( x->top_frequency < c_fundamental || x->top_frequency > 20000) {
+			x->top_frequency = 20000.0 ;
+		}
+		x->max_bin = 1;
+		curfreq = 0;
+		while( curfreq < x->top_frequency ) {
+			++(x->max_bin);
+			curfreq += c_fundamental ;
+		}
+		reset_shuffle(x); // set shuffle lookup
+		x->shuffle_count = 0;
+	}
+}
+
+void disarray_topfreq (t_disarray *x, t_floatarg freq)
+{
+	t_float funda = (t_float) x->fft->R / (t_float) x->fft->N;
+	t_float curfreq;
+	
+	if( freq < funda || freq > 20000) {
+        post("freq %f is out of range", freq);
+        return;
+	}
+    if(! x->fft->initialized){
+        return;
+    }
+	x->max_bin = 1;
+	curfreq = 0;
+	while( curfreq < freq ) {
+		++(x->max_bin);
+		curfreq += funda ;
+	}
+}
+
+void *disarray_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft;
+    
+	t_disarray *x = (t_disarray *)pd_new(disarray_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+    x->list_outlet = outlet_new(&x->x_obj, gensym("list"));
+    
+	srand(time(0));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+
+	fft->initialized = 0;
+	x->top_frequency = 15000;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+
+void disarray_mute(t_disarray *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void disarray_bypass(t_disarray *x, t_floatarg toggle)
+{
+	x->bypass = (short)toggle;
+}
+
+void disarray_fftsize(t_disarray *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->N = (int) f;
+	disarray_init(x);
+}
+
+void disarray_overlap(t_disarray *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->overlap = (int) f;
+	disarray_init(x);
+}
+
+void disarray_winfac(t_disarray *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	fft->winfac = (int) f;
+	disarray_init(x); /* calling lighter reinit routine */
+}
+
+void disarray_fftinfo( t_disarray *x )
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );
+}
+
+void do_disarray(t_disarray *x)
+{
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	int		i;
+	t_float tmp;
+	int shuffle_count = x->shuffle_count;
+    int *shuffle_in = x->shuffle_in;
+    int *shuffle_out = x->shuffle_out;
+  	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_leanconvert(fft);
+	for( i = 0; i < shuffle_count ; i++){
+		tmp = channel[ shuffle_in[ i ] * 2 ];
+		channel[ shuffle_in[ i ] * 2]  = channel[ shuffle_out[ i ] * 2];
+		channel[ shuffle_out[ i ] * 2]  = tmp;
+	}
+	fftease_leanunconvert(fft);
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+
+t_int *disarray_perform(t_int *w)
+{
+	int i,j;
+	t_disarray *x = (t_disarray *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+    t_fftease *fft = x->fft;
+	t_float *input = fft->input;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+4;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_disarray(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_disarray(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_disarray(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+4;
+}
+
+
+void reset_shuffle (t_disarray *x)
+{
+    int i;
+    int temp, p1, p2;
+    int max;
+    
+    //post("max bin %d",x->max_bin);
+    max = x->max_bin;
+	for( i = 0; i < x->fft->N2; i++ ) {
+		x->shuffle_out[i] = x->shuffle_in[i] = i ;
+	}
+	
+	for( i = 0; i < 10000; i++ ) {
+		p1 = x->shuffle_out[ rand_index( max ) ];
+		p2 = x->shuffle_out[ rand_index( max ) ];
+		temp = x->shuffle_out[ p1 ];
+		x->shuffle_out[ p1 ] = x->shuffle_out[ p2 ];
+		x->shuffle_out[ p2 ] = temp;
+	}
+	
+}
+
+int rand_index(int max) {
+	
+	return (rand() % max);
+}
+
+
+
+void disarray_list (t_disarray *x, t_symbol *msg, short argc, t_atom *argv) {
+	short i;
+	int ival;
+	x->shuffle_count = argc;
+	for (i=0; i < argc; i++) {
+        
+        ival = (int)atom_getfloatarg(i,argc,argv);
+        
+        
+		if ( ival < x->fft->N2 ) {
+			x->shuffle_out[ i ] = ival;
+		} else {
+			post ("%d out of range",ival);
+		}
+	}
+}
+
+void disarray_setstate (t_disarray *x, t_symbol *msg, short argc, t_atom *argv) {
+    short i;
+    int ival;
+    
+    x->shuffle_count = argc;
+    for (i=0; i < argc; i++) {
+        ival = atom_getfloatarg(i,argc,argv);
+        
+        if ( ival < x->fft->N2 && ival >= 0) {
+            x->shuffle_out[ i ] = ival;
+        } else {
+            error("%s: %d is out of range",OBJECT_NAME, ival);
+        }
+    }
+}
+
+void disarray_showstate (t_disarray *x ) {
+    
+    t_atom *list_data = x->list_data;
+    
+    short i;
+    // post("showstate: %d", x->shuffle_count);
+    for( i = 0; i < x->shuffle_count; i++ ) {
+        SETFLOAT(list_data+i,(t_float)x->shuffle_out[i]);
+        // post(x->shuffle_out[i]);
+    }
+    outlet_list(x->list_outlet,0,x->shuffle_count,list_data);
+}
+
+void disarray_dsp(t_disarray *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        disarray_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(disarray_perform, 3, x, sp[0]->s_vec, sp[1]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/drown~.c b/externals/fftease/drown~.c
new file mode 100644
index 000000000..9264fb8b6
--- /dev/null
+++ b/externals/fftease/drown~.c
@@ -0,0 +1,245 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *drown_class;
+
+#define OBJECT_NAME "drown~"
+
+typedef struct _drown
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_float drownmult;
+	short mute;
+	short bypass;
+	t_float threshold;
+	short peakflag;
+} t_drown;
+
+t_int *bthresher_perform(t_int *w);
+void drown_dsp(t_drown *x, t_signal **sp);
+void *drown_new(t_symbol *s, int argc, t_atom *argv);
+void drown_mute(t_drown *x, t_floatarg toggle);
+void drown_adaptive(t_drown *x, t_floatarg toggle);
+void drown_float(t_drown *x, t_float f);
+void drown_overlap(t_drown *x, t_floatarg o);
+void drown_free(t_drown *x);
+void drown_init(t_drown *x);
+void drown_fftinfo(t_drown *x);
+
+void drown_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("drown~"), (t_newmethod)drown_new,
+                  (t_method)drown_free,sizeof(t_drown), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_drown, x_f);
+	class_addmethod(c,(t_method)drown_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)drown_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)drown_fftinfo,gensym("fftinfo"),0);
+    class_addmethod(c,(t_method)drown_adaptive,gensym("adaptive"),A_FLOAT,0);
+    drown_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void drown_fftsize(t_drown *x, t_floatarg f)
+{	
+	x->fft->N = (int) f;
+	drown_init(x);
+}
+
+void drown_overlap(t_drown *x, t_floatarg f)
+{
+	x->fft->overlap = (int) f;
+	drown_init(x);
+}
+
+void drown_winfac(t_drown *x, t_floatarg f)
+{
+	x->fft->winfac = (int) f;
+	drown_init(x);
+}
+
+void drown_fftinfo(t_drown *x)
+{
+	fftease_fftinfo(x->fft, OBJECT_NAME);
+}
+
+void drown_adaptive(t_drown *x, t_floatarg toggle)
+{
+	x->peakflag = (short)toggle;
+}
+
+void drown_mute(t_drown *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void drown_bypass(t_drown *x, t_floatarg toggle)
+{
+	x->bypass = (short)toggle;
+}
+
+void *drown_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_drown *x = (t_drown *)pd_new(drown_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+    fft = x->fft;
+	x->fft->initialized = 0;
+	x->threshold = 0.001;
+	x->drownmult = 0.1;
+	x->mute = 0;
+	x->peakflag = 1;
+	x->fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	x->fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	x->fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	
+	return x;
+}
+
+void drown_init(t_drown *x)
+{
+	fftease_init(x->fft);
+}
+
+void drown_free(t_drown *x)
+{
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void do_drown(t_drown *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	t_float threshold = x->threshold;
+	t_float drownmult = x->drownmult;
+	t_float frame_peak = 0.0, local_thresh;
+	int N = fft->N;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_leanconvert(fft);
+	if(x->peakflag){
+		for(i = 0; i < N; i += 2){	
+			if(frame_peak < channel[i])
+				frame_peak = channel[i];
+		}
+		local_thresh = frame_peak * threshold;
+	} else {
+		local_thresh = threshold;
+	}
+	for(i = 0; i < N; i += 2){	
+		if(channel[i] < local_thresh)
+			channel[i]  *= drownmult;
+	}  	
+	fftease_leanunconvert(fft);
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+t_int *drown_perform(t_int *w)
+{
+	int	i,j;
+    t_drown *x = (t_drown *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *threshold = (t_float *)(w[3]);
+	t_float *drownmult = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}	
+
+    x->threshold = *threshold;
+    x->drownmult = *drownmult;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_drown(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_drown(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_drown(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void drown_dsp(t_drown *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        drown_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(drown_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
diff --git a/externals/fftease/enrich~.c b/externals/fftease/enrich~.c
new file mode 100644
index 000000000..2b4e0a462
--- /dev/null
+++ b/externals/fftease/enrich~.c
@@ -0,0 +1,366 @@
+/* Pd 32-bit FFTease 3.0 */
+
+/* STILL NEEDS Pd Array code installed */
+
+#include "fftease.h"
+
+static t_class *enrich_class;
+
+#define OBJECT_NAME "enrich~"
+
+typedef struct _enrich
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_symbol *buffername;
+	t_float lofreq;
+	t_float hifreq;
+	int lo_bin;
+	int hi_bin;
+	t_float topfreq;
+	short mute;
+    int b_valid;
+    long b_frames;
+    t_float *b_samples;
+} t_enrich;
+
+void enrich_dsp(t_enrich *x, t_signal **sp);
+t_int *enrich_perform(t_int *w);
+void *enrich_new(t_symbol *s, int argc, t_atom *argv);
+void enrich_free(t_enrich *x);
+void enrich_mute(t_enrich *x, t_floatarg tog);
+void enrich_init(t_enrich *x);
+void enrich_lowfreq(t_enrich *x, t_floatarg f);
+void enrich_highfreq(t_enrich *x, t_floatarg f);
+void enrich_fftinfo(t_enrich *x);
+void enrich_setbuf(t_enrich *x, t_symbol *newbufname);
+void enrich_dolowfreq(t_enrich *x);
+void enrich_dohighfreq(t_enrich *x);
+void enrich_binstats(t_enrich *x);
+void enrich_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("enrich~"), (t_newmethod)enrich_new,
+                  (t_method)enrich_free,sizeof(t_enrich), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_enrich, x_f);
+	class_addmethod(c,(t_method)enrich_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)enrich_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)enrich_lowfreq,gensym("lowfreq"),A_FLOAT,0);
+    class_addmethod(c,(t_method)enrich_highfreq,gensym("highfreq"),A_FLOAT,0);
+    enrich_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void enrich_mute(t_enrich *x, t_floatarg tog)
+{
+	x->mute = (short)tog;
+}
+
+void enrich_fftsize(t_enrich *x, t_floatarg f)
+{	
+	t_fftease *fft = x->fft;
+	fft->N = (int) f;
+	enrich_init(x);
+}
+
+void enrich_overlap(t_enrich *x, t_floatarg f)
+{
+
+	x->fft->overlap = (int) f;
+	enrich_init(x);
+}
+
+void enrich_winfac(t_enrich *x, t_floatarg f)
+{
+
+	x->fft->winfac = (int) f;
+	enrich_init(x);
+}
+
+void enrich_fftinfo(t_enrich *x)
+{
+	fftease_fftinfo( x->fft, OBJECT_NAME );
+}
+
+void enrich_free(t_enrich *x ){
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void enrich_highfreq(t_enrich *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+
+	float curfreq;
+	
+	if(f < x->lofreq){
+		error("current minimum is %f",x->lofreq);
+		return;
+	}
+	if(f > fft->R/2 ){
+		f = fft->R/2;
+	}	
+	x->hifreq = f;
+	fft->hi_bin = 1;  
+	curfreq = 0;
+	while(curfreq < x->hifreq) {
+		++(fft->hi_bin);
+		curfreq += fft->c_fundamental;
+	}
+}
+
+void enrich_lowfreq(t_enrich *x, t_floatarg f)
+{
+	t_fftease *fft = x->fft;
+	float curfreq;
+	
+	if(f > x->hifreq){
+		error("current maximum is %f",x->lofreq);
+		return;
+	}
+	if(f < 0 ){
+		f = 0;
+	}	
+	x->lofreq = f;
+	fft->lo_bin = 0;  
+	curfreq = 0;
+	while( curfreq < x->lofreq ) {
+		++(fft->lo_bin);
+		curfreq += fft->c_fundamental ;
+	}
+}
+
+
+
+void enrich_dohighfreq(t_enrich *x)
+{
+	t_fftease *fft = x->fft;
+    
+	t_float curfreq;
+    if( fft->c_fundamental <= 0.0){
+        return;
+    }
+    if(x->hifreq <= 0.0){
+        x->hifreq = 100.0;
+    }
+	fft->hi_bin = 1;
+	curfreq = 0.0;
+	while(curfreq < x->hifreq) {
+		++(fft->hi_bin);
+		curfreq += fft->c_fundamental;
+	}
+}
+
+void enrich_dolowfreq(t_enrich *x)
+{
+	t_fftease *fft = x->fft;
+    if(x->lofreq < 0){
+        x->lofreq = 0.0;
+    }
+    if(x->lofreq >= x->hifreq){
+        x->lofreq = 0.0;
+    }
+	t_float curfreq;
+    if( fft->c_fundamental <= 0.0){
+        return;
+    }
+	fft->lo_bin = 0;
+	curfreq = 0;
+	while( curfreq < x->lofreq ) {
+		++(fft->lo_bin);
+		curfreq += fft->c_fundamental ;
+	}
+}
+
+
+
+void enrich_init(t_enrich *x)
+{
+	fftease_init(x->fft);
+	fftease_oscbank_setbins(x->fft, x->lofreq, x->hifreq);
+}
+
+void enrich_setbuf(t_enrich *x, t_symbol *newbufname)
+{
+	x->buffername = newbufname;
+}
+
+void *enrich_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_enrich *x = (t_enrich *)pd_new(enrich_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+ 	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ x->buffername = atom_getsymbolarg(0, argc, argv); }
+    else { post("%s: Must specify array name", OBJECT_NAME); return NULL; }
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+
+	return x;
+}
+
+void enrich_attachbuf(t_enrich *x)
+{
+  	int frames;
+    t_symbol *buffername = x->buffername;
+	t_garray *a;
+    
+	x->b_frames = 0;
+	x->b_valid = 0;
+	if (!(a = (t_garray *)pd_findbyclass(buffername, garray_class)))
+    {
+		if (*buffername->s_name) pd_error(x, "player~: %s: no such array",
+										buffername->s_name);
+    }
+	else if (!garray_getfloatarray(a, &frames, &x->b_samples))
+    {
+		pd_error(x, "%s: bad template for player~", buffername->s_name);
+    }
+	else  {
+		x->b_frames = frames;
+		x->b_valid = 1;
+		garray_usedindsp(a);
+	}
+}
+
+void enrich_binstats(t_enrich *x)
+{
+    post("lo freq %f hi freq %f lo bin %d hi bin %d",x->lofreq, x->fft->lo_bin,x->hifreq,x->fft->hi_bin);
+}
+
+void do_enrich(t_enrich *x)
+{
+	t_fftease *fft = x->fft;
+    enrich_dolowfreq(x);
+    enrich_dohighfreq(x);
+    fftease_fold(fft);
+    fftease_rdft(fft,1);
+    fftease_convert(fft);
+	fftease_oscbank(fft);
+}
+
+t_int *enrich_perform(t_int *w)
+{
+    t_enrich *x = (t_enrich *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *transpose = (t_float *)(w[3]);
+	t_float *synt = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	int i, j;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;	
+    float *b_samples;
+    
+    enrich_attachbuf(x);
+	if(x->mute || ! x->b_valid){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+    
+    if(x->b_frames < fft->L){
+        post("enrich~: table too small or not mono");
+        return w+6;
+    }
+    b_samples = x->b_samples;
+	mult *= fft->N;
+	
+	// copy buffer to internal table (try more efficient means later)
+	for(i = 0; i < fft->L; i++){
+		fft->table[i] = b_samples[i];
+	}
+
+	
+    fft->P  = *transpose;
+    fft->synt = *synt;
+
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_enrich(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_enrich(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_enrich(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void enrich_dsp(t_enrich *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        enrich_init(x);
+        enrich_dolowfreq(x);
+        enrich_dohighfreq(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(enrich_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/ether~.c b/externals/fftease/ether~.c
new file mode 100644
index 000000000..c54cbd4e2
--- /dev/null
+++ b/externals/fftease/ether~.c
@@ -0,0 +1,313 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *ether_class;
+
+#define OBJECT_NAME "ether~"
+
+
+/* Added a new inlet for the composite index */
+
+typedef struct _ether
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;	
+    int invert;
+    t_float threshMult;
+	short mute;
+} t_ether;
+
+void ether_dsp(t_ether *x, t_signal **sp);
+t_int *ether_perform(t_int *w);
+void *ether_new(t_symbol *s, int argc, t_atom *argv);
+void ether_invert(t_ether *x, t_floatarg toggle);
+void ether_init(t_ether *x);
+void ether_free(t_ether *x);
+void ether_mute(t_ether *x, t_floatarg toggle);
+void ether_tilde_setup(void);
+
+void ether_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("ether~"), (t_newmethod)ether_new,
+                  (t_method)ether_free,sizeof(t_ether), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_ether, x_f);
+	class_addmethod(c,(t_method)ether_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)ether_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)ether_invert,gensym("invert"), A_FLOAT, 0);
+    ether_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void ether_free(t_ether *x)
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void *ether_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_ether *x = (t_ether *)pd_new(ether_class);
+
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+
+	return x;
+}
+
+void ether_init(t_ether *x)
+{
+
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+
+	if(!initialized){
+		x->mute = 0;
+		x->invert = 0;
+		x->threshMult = 0.;
+	} else {
+        x->fft->input = (t_float *) realloc(fft->input,fft->Nw * sizeof(t_float));
+        x->fft2->input = (t_float *) realloc(fft2->input,fft2->Nw * sizeof(t_float));
+        x->fft->output = (t_float *) realloc(fft->output,fft->Nw * sizeof(t_float));
+
+	}
+}
+
+void do_ether(t_ether *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int N2 = fft->N2;
+	float a1, b1, a2, b2;
+	int even, odd;
+	int invert = x->invert;
+	t_float threshMult = x->threshMult;
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	t_float *channelOne = fft->channel;
+	t_float *channelTwo = fft2->channel;
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	fftease_rdft(fft,1);
+	fftease_rdft(fft2,1);
+	
+	if (invert) {	
+		
+		
+		for ( i = 0; i <= N2; i++ ) {
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			*(channelTwo+even) = hypot( a2, b2 );
+			*(channelTwo+odd) = -atan2( b2, a2 );
+						
+			if ( *(channelOne+even) > *(channelTwo+even) * threshMult )
+				*(channelOne+even) = *(channelTwo+even);
+			
+			if ( *(channelOne+odd) == 0. )
+				*(channelOne+odd) = *(channelTwo+odd);	 
+		}
+	}
+	
+	else {
+		for ( i = 0; i <= N2; i++ ) {
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			*(channelTwo+even) = hypot( a2, b2 );
+			*(channelTwo+odd) = -atan2( b2, a2 );
+			
+			
+			if ( *(channelOne+even) < *(channelTwo+even) * threshMult )
+				*(channelOne+even) = *(channelTwo+even);
+			
+			if ( *(channelOne+odd) == 0. )
+				*(channelOne+odd) = *(channelTwo+odd);	 
+		}  
+	}
+	
+
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	fftease_rdft(fft, -1);
+	fftease_overlapadd(fft);
+}
+
+t_int *ether_perform(t_int *w)
+{
+	int i,j;
+    t_ether *x = (t_ether *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *vec_threshMult = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	
+
+    x->threshMult = *vec_threshMult;
+
+	if ( x->threshMult == 0. ){
+		x->threshMult = 0.0001;
+	}
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_ether(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_ether(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_ether(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}		
+
+void ether_mute(t_ether *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void ether_invert(t_ether *x, t_floatarg toggle)
+{
+	x->invert = (int)toggle;
+}
+
+void ether_dsp(t_ether *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        ether_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(ether_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/fft.c b/externals/fftease/fft.c
new file mode 100644
index 000000000..aadac03a9
--- /dev/null
+++ b/externals/fftease/fft.c
@@ -0,0 +1,159 @@
+#include "fftease.h"
+
+/* If forward is true, rfft replaces 2*N real data points in x with
+   N complex values representing the positive frequency half of their
+   Fourier spectrum, with x[1] replaced with the real part of the Nyquist
+   frequency value.  If forward is false, rfft expects x to contain a
+   positive frequency spectrum arranged as before, and replaces it with
+   2*N real values.  N MUST be a power of 2. */
+
+void fftease_rfft( t_float *x, int N, int forward )
+
+{
+  t_float 	c1,c2,
+  		h1r,h1i,
+		h2r,h2i,
+		wr,wi,
+		wpr,wpi,
+  		temp,
+		theta;
+  t_float 	xr,xi;
+  int 		i,
+		i1,i2,i3,i4,
+		N2p1;
+  static int 	first = 1;
+/*t_float PI, TWOPI;*/
+void fftease_cfft();
+
+    if ( first ) {
+
+	first = 0;
+    }
+    theta = PI/N;
+    wr = 1.;
+    wi = 0.;
+    c1 = 0.5;
+    if ( forward ) {
+	c2 = -0.5;
+	fftease_cfft( x, N, forward );
+	xr = x[0];
+	xi = x[1];
+    } else {
+	c2 = 0.5;
+	theta = -theta;
+	xr = x[1];
+	xi = 0.;
+	x[1] = 0.;
+    }
+    wpr = -2.*pow( sin( 0.5*theta ), 2. );
+    wpi = sin( theta );
+    N2p1 = (N<<1) + 1;
+    for ( i = 0; i <= N>>1; i++ ) {
+	i1 = i<<1;
+	i2 = i1 + 1;
+	i3 = N2p1 - i2;
+	i4 = i3 + 1;
+	if ( i == 0 ) {
+	    h1r =  c1*(x[i1] + xr );
+	    h1i =  c1*(x[i2] - xi );
+	    h2r = -c2*(x[i2] + xi );
+	    h2i =  c2*(x[i1] - xr );
+	    x[i1] =  h1r + wr*h2r - wi*h2i;
+	    x[i2] =  h1i + wr*h2i + wi*h2r;
+	    xr =  h1r - wr*h2r + wi*h2i;
+	    xi = -h1i + wr*h2i + wi*h2r;
+	} else {
+	    h1r =  c1*(x[i1] + x[i3] );
+	    h1i =  c1*(x[i2] - x[i4] );
+	    h2r = -c2*(x[i2] + x[i4] );
+	    h2i =  c2*(x[i1] - x[i3] );
+	    x[i1] =  h1r + wr*h2r - wi*h2i;
+	    x[i2] =  h1i + wr*h2i + wi*h2r;
+	    x[i3] =  h1r - wr*h2r + wi*h2i;
+	    x[i4] = -h1i + wr*h2i + wi*h2r;
+	}
+	wr = (temp = wr)*wpr - wi*wpi + wr;
+	wi = wi*wpr + temp*wpi + wi;
+    }
+    if ( forward )
+	x[1] = xr;
+    else
+	fftease_cfft( x, N, forward );
+}
+
+/* cfft replaces t_float array x containing NC complex values
+   (2*NC t_float values alternating real, imagininary, etc.)
+   by its Fourier transform if forward is true, or by its
+   inverse Fourier transform if forward is false, using a
+   recursive Fast Fourier transform method due to Danielson
+   and Lanczos.  NC MUST be a power of 2. */
+
+void fftease_cfft( t_float *x, int NC, int forward )
+
+{
+  t_float 	wr,wi,
+		wpr,wpi,
+		theta,
+		scale;
+  int 		mmax,
+		ND,
+		m,
+		i,j,
+		delta;
+
+void fftease_bitreverse();
+
+    ND = NC<<1;
+    fftease_bitreverse( x, ND );
+    for ( mmax = 2; mmax < ND; mmax = delta ) {
+	delta = mmax<<1;
+	theta = TWOPI/( forward? mmax : -mmax );
+	wpr = -2.*pow( sin( 0.5*theta ), 2. );
+	wpi = sin( theta );
+	wr = 1.;
+	wi = 0.;
+	for ( m = 0; m < mmax; m += 2 ) {
+	 register t_float rtemp, itemp;
+	    for ( i = m; i < ND; i += delta ) {
+		j = i + mmax;
+		rtemp = wr*x[j] - wi*x[j+1];
+		itemp = wr*x[j+1] + wi*x[j];
+		x[j] = x[i] - rtemp;
+		x[j+1] = x[i+1] - itemp;
+		x[i] += rtemp;
+		x[i+1] += itemp;
+	    }
+	    wr = (rtemp = wr)*wpr - wi*wpi + wr;
+	    wi = wi*wpr + rtemp*wpi + wi;
+	}
+    }
+
+/* scale output */
+
+    scale = forward ? 1./ND : 2.;
+    { register t_float *xi=x, *xe=x+ND;
+	while ( xi < xe )
+	    *xi++ *= scale;
+    }
+}
+
+/* bitreverse places t_float array x containing N/2 complex values
+   into bit-reversed order */
+
+void fftease_bitreverse( t_float *x, int N )
+
+{
+  t_float 	rtemp,itemp;
+  int 		i,j,
+		m;
+
+    for ( i = j = 0; i < N; i += 2, j += m ) {
+	if ( j > i ) {
+	    rtemp = x[j]; itemp = x[j+1]; /* complex exchange */
+	    x[j] = x[i]; x[j+1] = x[i+1];
+	    x[i] = rtemp; x[i+1] = itemp;
+	}
+	for ( m = N>>1; m >= 2 && j >= m; m >>= 1 )
+	    j -= m;
+    }
+}
diff --git a/externals/fftease/fft4.c b/externals/fftease/fft4.c
new file mode 100644
index 000000000..8181e4758
--- /dev/null
+++ b/externals/fftease/fft4.c
@@ -0,0 +1,336 @@
+#include <math.h>
+#include "fftease.h"
+
+/* forward declarations */
+static void rftsub(int n, t_float *a, int nc, t_float *c);
+static void fftease_bitrv2(int n, int *ip, t_float *a);
+static void fftease_cftsub(int n, t_float *a, t_float *w);
+
+void fftease_init_rdft(int n, int *ip, t_float *w)
+{
+	
+	int	nw,
+	nc;
+	
+	void	fftease_makewt(int nw, int *ip, t_float *w);
+	void	fftease_makect(int nc, int *ip, t_float *c);
+	nw = n >> 2;
+	fftease_makewt(nw, ip, w);
+	
+	nc = n >> 2;
+	fftease_makect(nc, ip, w + nw);
+	
+	return;
+}
+
+
+void fftease_rdft(t_fftease *fft, int isgn)
+{
+	int n = fft->N;
+	t_float *a = fft->buffer;
+	int *ip = fft->bitshuffle;
+	t_float *w = fft->trigland; 
+	
+	int j, nw, nc;
+	
+	t_float	xi;
+
+    
+	nw = ip[0];
+	nc = ip[1];
+	
+	if (isgn < 0) {
+		a[1] = 0.5 * (a[1] - a[0]);
+		a[0] += a[1];
+		
+		for (j = 3; j <= n - 1; j += 2) {
+			a[j] = -a[j];
+		}
+		
+		if (n > 4) {
+			rftsub(n, a, nc, w + nw);
+			fftease_bitrv2(n, ip + 2, a);
+		}
+		
+		fftease_cftsub(n, a, w);
+		
+		for (j = 1; j <= n - 1; j += 2) {
+			a[j] = -a[j];
+		}
+	}
+	
+	else {
+		
+		if (n > 4) {
+			fftease_bitrv2(n, ip + 2, a);
+		}
+		
+		fftease_cftsub(n, a, w);
+		
+		if (n > 4) {
+			rftsub(n, a, nc, w + nw);
+		}
+		
+		xi = a[0] - a[1];
+		a[0] += a[1];
+		a[1] = xi;
+	}
+}
+
+
+void fftease_bitrv2(int n, int *ip, t_float *a)
+{
+	int j, j1, k, k1, l, m, m2;
+	t_float xr, xi;
+    
+	ip[0] = 0;
+	l = n;
+	m = 1;
+	
+	while ((m << 2) < l) {
+		l >>= 1;
+		for (j = 0; j <= m - 1; j++) {
+			ip[m + j] = ip[j] + l;
+		}
+		m <<= 1;
+	}
+	
+	if ((m << 2) > l) {
+		
+		for (k = 1; k <= m - 1; k++) {
+			
+			for (j = 0; j <= k - 1; j++) {
+				j1 = (j << 1) + ip[k];
+				k1 = (k << 1) + ip[j];
+				xr = a[j1];
+				xi = a[j1 + 1];
+				a[j1] = a[k1];
+				a[j1 + 1] = a[k1 + 1];
+				a[k1] = xr;
+				a[k1 + 1] = xi;
+			}
+		}
+	}
+	
+	else {
+		m2 = m << 1;
+		
+		for (k = 1; k <= m - 1; k++) {
+			
+			for (j = 0; j <= k - 1; j++) {
+				j1 = (j << 1) + ip[k];
+				k1 = (k << 1) + ip[j];
+				xr = a[j1];
+				xi = a[j1 + 1];
+				a[j1] = a[k1];
+				a[j1 + 1] = a[k1 + 1];
+				a[k1] = xr;
+				a[k1 + 1] = xi;
+				j1 += m2;
+				k1 += m2;
+				xr = a[j1];
+				xi = a[j1 + 1];
+				a[j1] = a[k1];
+				a[j1 + 1] = a[k1 + 1];
+				a[k1] = xr;
+				a[k1 + 1] = xi;
+			}
+		}
+	}
+}
+
+
+void fftease_cftsub(int n, t_float *a, t_float *w)
+{
+	int j, j1, j2, j3, k, k1, ks, l, m;
+	t_float wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
+	t_float x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
+    
+	l = 2;
+	
+	while ((l << 1) < n) {
+		m = l << 2;
+		
+		for (j = 0; j <= l - 2; j += 2) {
+			j1 = j + l;
+			j2 = j1 + l;
+			j3 = j2 + l;
+			x0r = a[j] + a[j1];
+			x0i = a[j + 1] + a[j1 + 1];
+			x1r = a[j] - a[j1];
+			x1i = a[j + 1] - a[j1 + 1];
+			x2r = a[j2] + a[j3];
+			x2i = a[j2 + 1] + a[j3 + 1];
+			x3r = a[j2] - a[j3];
+			x3i = a[j2 + 1] - a[j3 + 1];
+			a[j] = x0r + x2r;
+			a[j + 1] = x0i + x2i;
+			a[j2] = x0r - x2r;
+			a[j2 + 1] = x0i - x2i;
+			a[j1] = x1r - x3i;
+			a[j1 + 1] = x1i + x3r;
+			a[j3] = x1r + x3i;
+			a[j3 + 1] = x1i - x3r;
+		}
+		
+		if (m < n) {
+			wk1r = w[2];
+			
+			for (j = m; j <= l + m - 2; j += 2) {
+				j1 = j + l;
+				j2 = j1 + l;
+				j3 = j2 + l;
+				x0r = a[j] + a[j1];
+				x0i = a[j + 1] + a[j1 + 1];
+				x1r = a[j] - a[j1];
+				x1i = a[j + 1] - a[j1 + 1];
+				x2r = a[j2] + a[j3];
+				x2i = a[j2 + 1] + a[j3 + 1];
+				x3r = a[j2] - a[j3];
+				x3i = a[j2 + 1] - a[j3 + 1];
+				a[j] = x0r + x2r;
+				a[j + 1] = x0i + x2i;
+				a[j2] = x2i - x0i;
+				a[j2 + 1] = x0r - x2r;
+				x0r = x1r - x3i;
+				x0i = x1i + x3r;
+				a[j1] = wk1r * (x0r - x0i);
+				a[j1 + 1] = wk1r * (x0r + x0i);
+				x0r = x3i + x1r;
+				x0i = x3r - x1i;
+				a[j3] = wk1r * (x0i - x0r);
+				a[j3 + 1] = wk1r * (x0i + x0r);
+			}
+			
+			k1 = 1;
+			ks = -1;
+			
+			for (k = (m << 1); k <= n - m; k += m) {
+				k1++;
+				ks = -ks;
+				wk1r = w[k1 << 1];
+				wk1i = w[(k1 << 1) + 1];
+				wk2r = ks * w[k1];
+				wk2i = w[k1 + ks];
+				wk3r = wk1r - 2 * wk2i * wk1i;
+				wk3i = 2 * wk2i * wk1r - wk1i;
+				
+				for (j = k; j <= l + k - 2; j += 2) {
+					j1 = j + l;
+					j2 = j1 + l;
+					j3 = j2 + l;
+					x0r = a[j] + a[j1];
+					x0i = a[j + 1] + a[j1 + 1];
+					x1r = a[j] - a[j1];
+					x1i = a[j + 1] - a[j1 + 1];
+					x2r = a[j2] + a[j3];
+					x2i = a[j2 + 1] + a[j3 + 1];
+					x3r = a[j2] - a[j3];
+					x3i = a[j2 + 1] - a[j3 + 1];
+					a[j] = x0r + x2r;
+					a[j + 1] = x0i + x2i;
+					x0r -= x2r;
+					x0i -= x2i;
+					a[j2] = wk2r * x0r - wk2i * x0i;
+					a[j2 + 1] = wk2r * x0i + wk2i * x0r;
+					x0r = x1r - x3i;
+					x0i = x1i + x3r;
+					a[j1] = wk1r * x0r - wk1i * x0i;
+					a[j1 + 1] = wk1r * x0i + wk1i * x0r;
+					x0r = x1r + x3i;
+					x0i = x1i - x3r;
+					a[j3] = wk3r * x0r - wk3i * x0i;
+					a[j3 + 1] = wk3r * x0i + wk3i * x0r;
+				}
+			}
+		}
+		
+		l = m;
+	}
+	
+	if (l < n) {
+		
+		for (j = 0; j <= l - 2; j += 2) {
+			j1 = j + l;
+			x0r = a[j] - a[j1];
+			x0i = a[j + 1] - a[j1 + 1];
+			a[j] += a[j1];
+			a[j + 1] += a[j1 + 1];
+			a[j1] = x0r;
+			a[j1 + 1] = x0i;
+		}
+	}
+}
+
+
+static void rftsub(int n, t_float *a, int nc, t_float *c)
+{
+	int j, k, kk, ks;
+	t_float wkr, wki, xr, xi, yr, yi;
+    
+	ks = (nc << 2) / n;
+	kk = 0;
+	
+	for (k = (n >> 1) - 2; k >= 2; k -= 2) {
+		j = n - k;
+		kk += ks;
+		wkr = 0.5 - c[kk];
+		wki = c[nc - kk];
+		xr = a[k] - a[j];
+		xi = a[k + 1] + a[j + 1];
+		yr = wkr * xr - wki * xi;
+		yi = wkr * xi + wki * xr;
+		a[k] -= yr;
+		a[k + 1] -= yi;
+		a[j] += yr;
+		a[j + 1] -= yi;
+	}
+}
+
+
+void fftease_makewt(int nw, int *ip, t_float *w)
+{
+    void fftease_bitrv2(int n, int *ip, t_float *a);
+    int nwh, j;
+    t_float delta, x, y;
+    
+    ip[0] = nw;
+    ip[1] = 1;
+    if (nw > 2) {
+        nwh = nw >> 1;
+        delta = atan(1.0) / nwh;
+        w[0] = 1;
+        w[1] = 0;
+        w[nwh] = cos(delta * nwh);
+        w[nwh + 1] = w[nwh];
+        for (j = 2; j <= nwh - 2; j += 2) {
+            x = cos(delta * j);
+            y = sin(delta * j);
+            w[j] = x;
+            w[j + 1] = y;
+            w[nw - j] = y;
+            w[nw - j + 1] = x;
+        }
+        fftease_bitrv2(nw, ip + 2, w);
+    }
+}
+
+
+void fftease_makect(int nc, int *ip, t_float *c)
+{
+    int nch, j;
+    t_float delta;
+    
+    ip[1] = nc;
+    if (nc > 1) {
+        nch = nc >> 1;
+        delta = atan(1.0) / nch;
+        c[0] = 0.5;
+        c[nch] = 0.5 * cos(delta * nch);
+        for (j = 1; j <= nch - 1; j++) {
+            c[j] = 0.5 * cos(delta * j);
+            c[nc - j] = 0.5 * sin(delta * j);
+        }
+    }
+}
+
diff --git a/externals/fftease/fftease-meta.pd b/externals/fftease/fftease-meta.pd
new file mode 100644
index 000000000..eac3c0693
--- /dev/null
+++ b/externals/fftease/fftease-meta.pd
@@ -0,0 +1,6 @@
+#N canvas 15 49 195 101 10;
+#N canvas 285 484 420 300 META 0;
+#X text 10 25 AUTHOR ericlyon@vt.edu;
+#X text 13 41 NAME FFTease;
+#X text 10 10 VERSION 3;
+#X restore 10 10 pd META;
diff --git a/externals/fftease/fftease.h b/externals/fftease/fftease.h
new file mode 100644
index 000000000..15351862c
--- /dev/null
+++ b/externals/fftease/fftease.h
@@ -0,0 +1,177 @@
+/* 32-bit version for Pd */
+
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include "m_pd.h"
+
+#define MAX_N 1073741824
+#define MAX_Nw MAX_N
+
+#define FFTEASE_ANNOUNCEMENT "<[ FFTease 3.0 ]>   |  "
+#define FFTEASE_VERSION "FFTease 3.0 for Pd 32-bit version"
+#define FFTEASE_COMPILE_DATE "June 20, 2014"
+
+#define fftease_announce(objname)  post("%s ( %s )",FFTEASE_ANNOUNCEMENT,objname)
+
+#define fftease_version(objectname) post("%s: version %s compiled %s",objectname,FFTEASE_VERSION,FFTEASE_COMPILE_DATE);
+
+#define BIGGER_THAN_MSP_VECTOR 0
+#define SMALLER_THAN_MSP_VECTOR 1
+#define EQUAL_TO_MSP_VECTOR 2
+
+#define FFTEASE_DEFAULT_FFTSIZE 1024
+#define FFTEASE_DEFAULT_OVERLAP 8
+#define FFTEASE_DEFAULT_WINFAC 1
+	
+#define DEFAULT_FFTEASE_FFTSIZE 1024
+#define FFTEASE_MAX_FFTSIZE 1073741824
+
+#define FFTEASE_OSCBANK_SCALAR (0.25)
+#define FFTEASE_OSCBANK_TABLESIZE (8192)
+#define FFTEASE_BYPASS_GAIN (0.5)
+
+#define FFT_FORWARD 1
+#define FFT_INVERSE -1
+
+#ifndef PIOVERTWO
+#define PIOVERTWO 1.5707963268
+#endif
+#ifndef TWOPI
+#define TWOPI 6.2831853072
+#endif
+#ifndef PI
+#define PI 3.14159265358979
+#endif
+
+typedef struct _fftease
+{
+	int R;
+	int	N;
+	int	N2;
+	int	Nw;
+	int	Nw2; 
+	int	D; 
+	int	in_count;
+	int out_count;
+	t_float *Wanal;
+	t_float *Wsyn;
+	t_float *input;
+	t_float *Hwin;
+	t_float *buffer;
+	t_float *channel;
+	t_float *output;
+	// for convert
+	t_float *c_lastphase_in;
+	t_float *c_lastphase_out;
+	t_float c_fundamental;
+	t_float c_factor_in;
+	t_float c_factor_out;
+	// for oscbank
+	int NP;
+	t_float P;
+	int L;
+	int first;
+	t_float Iinv;
+	t_float *lastamp;
+	t_float *lastfreq;
+	t_float *bindex;
+	t_float *table;
+	t_float pitch_increment;
+	t_float ffac;
+	int hi_bin;
+	int lo_bin;
+	// for fast fft
+	t_float mult;
+	t_float *trigland;
+	int *bitshuffle;
+	int overlap;
+	int winfac;
+    int last_overlap; // save values to test if memory reallocation needed
+    int last_winfac;
+    int last_N;
+    int last_R;
+	t_float synt;
+	t_float *internalInputVector; // hold input data from smaller MSP buffers
+	t_float *internalOutputVector; // hold output data for smaller MSP buffers
+	int operationRepeat; // how many times to do whatever on each perform call
+	int operationCount; // keep track of where we are in buffer operation
+	int bufferStatus; // relations between MSP vector size and internal buffer size
+	int MSPVectorSize; // what it says
+	short obank_flag; // resynthesis method flag
+	short init_status; // whether initialization has successfully occurred
+	short noalias; // inhibit aliasing in oscbank mode
+	t_float nyquist; // nyquest frequency == R/2
+	short initialized; // set to 0 for the first time in new(); after that it will be 1
+} t_fftease;
+
+
+
+void fftease_convert(t_fftease *fft);
+void fftease_unconvert(t_fftease *fft);
+void fftease_rfft( t_float *x, int N, int forward );
+void fftease_cfft( t_float *x, int NC, int forward );
+void fftease_bitreverse( t_float *x, int N );
+void fftease_fold( t_fftease *fft );
+void fftease_init_rdft(int n, int *ip, t_float *w);
+void fftease_rdft(t_fftease *fft, int isgn);
+//void fftease_bitrv2(int n, int *ip, t_float *a);
+//void fftease_cftsub(int n, t_float *a, t_float *w);
+//void rftsub(int n, t_float *a, int nc, t_float *c);
+void fftease_makewt(int nw, int *ip, t_float *w);
+void fftease_makect(int nc, int *ip, t_float *c);
+void fftease_leanconvert(t_fftease *fft);
+void fftease_leanunconvert(t_fftease *fft);
+void fftease_makewindows( t_float *H, t_float *A, t_float *S, int Nw, int N, int I );
+void fftease_makehamming( t_float *H, t_float *A, t_float *S, int Nw, int N, int I,int odd );
+void fftease_makehanning( t_float *H, t_float *A, t_float *S, int Nw, int N, int I,int odd );
+void fftease_overlapadd(t_fftease *fft);
+void fftease_bloscbank( t_float *S, t_float *O, int D, t_float iD, t_float *lf, t_float *la,
+	t_float *bindex, t_float *tab, int len, t_float synt, int lo, int hi );
+void fftease_oscbank( t_fftease *fft );
+//t_float randf( t_float min, t_float max );
+//int randi( int min, int max );
+int fftease_power_of_two(int test);
+void fftease_limit_fftsize(int *N, int *Nw, char *OBJECT_NAME);
+int fftease_fft_size(int testfft);
+void fftease_free(t_fftease *fft);
+void fftease_init(t_fftease *fft);
+int fftease_winfac(int winfac);
+int fftease_overlap(int overlap);
+void fftease_set_fft_buffers(t_fftease *fft);
+void fftease_fftinfo(t_fftease *fft, char *object_name);
+int fftease_msp_sanity_check(t_fftease *fft, char *oname);
+t_float fftease_randf(t_float min, t_float max);
+void fftease_noalias(t_fftease* fft, short flag);
+void fftease_oscbank_setbins(t_fftease *fft, t_float lowfreq, t_float highfreq);
+void fftease_limited_oscbank(t_fftease *fft, int osclimit, t_float framethresh);
+t_float fftease_randf(t_float min, t_float max);
+// Penrose extras
+t_float fftease_frequencyToIncrement( t_float samplingRate, t_float frequency, int bufferLength );
+void fftease_makeSineBuffer( t_float *buffer, int bufferLength );
+t_float fftease_bufferOscil( t_float *phase, t_float increment, t_float *buffer, int bufferLength );
+float fftease_rrand(int *seed);
+float fftease_prand(int *seed);
+
+/*** MSP helper functions, thanks JKC! ***/
+/*
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av);
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av);
+
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av)
+{
+    if (c&&ac&&av&&(idx<ac)) {
+        *c = atom_getfloat(av+idx);
+    }
+}
+
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av)
+{
+	if (c&&ac&&av&&(idx<ac)) {
+		*c = atom_getsymbol(av+idx);
+	} 
+}
+*/
+
diff --git a/externals/fftease/fftease32-helpfiles/bthresher~-help.pd b/externals/fftease/fftease32-helpfiles/bthresher~-help.pd
new file mode 100644
index 000000000..eab7fbc93
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/bthresher~-help.pd
@@ -0,0 +1,52 @@
+#N canvas 1169 280 575 554 10;
+#X obj 153 209 bthresher~;
+#X obj 29 180 noise~;
+#X obj 155 293 *~ 0.05;
+#X obj 156 350 dac~;
+#X msg 259 335 \; pd dsp \$1;
+#X obj 259 304 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 218 242 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 1500 1;
+#X floatatom 194 273 5 0 0 0 - - -, f 5;
+#X floatatom 258 174 5 0 0 0 - - -, f 5;
+#X obj 261 148 hsl 128 15 0.25 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 12700 1;
+#X floatatom 182 124 5 0 0 0 - - -, f 5;
+#X obj 185 98 hsl 128 15 0.5 1.25 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 12700 1;
+#X obj 38 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 63 146 r fftz.bthresh.msg;
+#X obj 38 525 s fftz.bthresh.msg;
+#X msg 39 390 inf_hold 0;
+#X text 129 392 broken!;
+#X msg 208 405 oscbank \$1;
+#X obj 217 374 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 332 403 max_hold 100000;
+#X msg 330 493 transpose \$1;
+#X floatatom 329 471 5 0 0 0 - - -, f 5;
+#X obj 332 445 hsl 128 15 0.25 1.1 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 8100 1;
+#X text 415 492 (oscbank only);
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 2 0 3 1;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 1;
+#X connect 8 0 0 2;
+#X connect 9 0 8 0;
+#X connect 10 0 0 1;
+#X connect 11 0 10 0;
+#X connect 12 0 15 0;
+#X connect 13 0 0 0;
+#X connect 15 0 14 0;
+#X connect 17 0 14 0;
+#X connect 18 0 17 0;
+#X connect 19 0 14 0;
+#X connect 20 0 14 0;
+#X connect 21 0 20 0;
+#X connect 22 0 21 0;
diff --git a/externals/fftease/fftease32-helpfiles/burrow~-help.pd b/externals/fftease/fftease32-helpfiles/burrow~-help.pd
new file mode 100644
index 000000000..3a0f140fd
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/burrow~-help.pd
@@ -0,0 +1,86 @@
+#N canvas 579 460 937 510 10;
+#X obj 246 254 burrow~;
+#X obj 246 336 *~ 0.05;
+#X obj 246 394 dac~;
+#X msg 350 378 \; pd dsp \$1;
+#X obj 350 347 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 288 294 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 8200 1;
+#X floatatom 285 316 5 0 0 0 - - -, f 5;
+#X floatatom 436 79 5 -90 0 0 - - -, f 5;
+#X obj 424 183 pow;
+#X msg 424 154 10;
+#X obj 436 103 * 0.05;
+#X obj 436 131 t b f;
+#X text 430 60 filtering threshold (dB);
+#X floatatom 609 82 5 0 0 0 - - -, f 5;
+#X obj 597 186 pow;
+#X msg 597 157 10;
+#X obj 609 106 * 0.05;
+#X obj 609 134 t b f;
+#X text 603 63 filtering multiplier (dB);
+#X msg 63 270 invert \$1;
+#X obj 63 237 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 77 100 phasor~ 200;
+#X obj 77 129 -~ 0.5;
+#X obj 193 101 noise~;
+#X obj 235 165 bp~ 600 30;
+#X floatatom 270 110 5 0 0 0 - - -, f 5;
+#X text 194 77 filtering sound;
+#X text 508 233 burrow~ filters the sound in the left input by utlizing
+a second signal input as a filter threshold reference. The threshold
+controls the extent of the filtering. Threshold inversion is available
+via the invert message. Since the spectral shape of the second sound
+is *subtracted* from the first \, the normal behavior of burrow~ is
+inverse to more familiar filtering. When the "inverse" flag is set
+\, the second sound becomes a positive (and perhaps more intuitively
+understandable) filter.;
+#X msg 63 212 1;
+#X obj 63 181 loadbang;
+#X obj 320 28 loadbang;
+#X msg 320 50 600;
+#X obj 797 61 loadbang;
+#X msg 797 83 -20;
+#X obj 506 12 loadbang;
+#X msg 506 34 -45;
+#X text 73 78 source sound;
+#X msg 112 355 mute \$1;
+#X obj 112 328 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 1;
+#X connect 7 0 10 0;
+#X connect 8 0 0 2;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 0;
+#X connect 11 1 8 1;
+#X connect 13 0 16 0;
+#X connect 14 0 0 3;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 17 0 15 0;
+#X connect 17 1 14 1;
+#X connect 19 0 0 0;
+#X connect 20 0 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 0 0;
+#X connect 23 0 24 0;
+#X connect 24 0 0 1;
+#X connect 25 0 24 1;
+#X connect 28 0 20 0;
+#X connect 29 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 25 0;
+#X connect 32 0 33 0;
+#X connect 33 0 13 0;
+#X connect 34 0 35 0;
+#X connect 35 0 7 0;
+#X connect 37 0 0 0;
+#X connect 38 0 37 0;
diff --git a/externals/fftease/fftease32-helpfiles/cavoc27~-help.pd b/externals/fftease/fftease32-helpfiles/cavoc27~-help.pd
new file mode 100644
index 000000000..8d034cffb
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/cavoc27~-help.pd
@@ -0,0 +1,120 @@
+#N canvas 1082 165 576 304 10;
+#X obj 160 156 cavoc27~;
+#X obj 193 199 *~ 0.05;
+#X obj 193 257 dac~;
+#X obj 235 157 hsl 128 15 0 1 0 0 empty cavoc27-gain Gain -2 -8 0 10
+-262144 -1 -1 0 1;
+#X floatatom 232 179 5 0 0 0 - - -, f 5;
+#X obj 229 110 r fftz.cavoc27.msgs;
+#N canvas 1379 450 450 300 rules 0;
+#X obj 65 222 s fftz.cavoc27.msgs;
+#X msg 29 88 rule 1 0 1 0 0 0 1 0 0 1 2 1 0 2 0 2 0 0 1 0 2 0 2 1 2
+1 1;
+#X msg 51 115 rule 0 2 1 0 0 1 0 0 0 1 1 2 0 1 2 1 1 1 1 0 0 0 1 1
+0 1 1;
+#X msg 73 143 rule 2 2 0 1 0 2 1 1 0 2 1 2 0 1 1 2 0 2 2 1 2 1 1 2
+0 0 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X restore 36 132 pd rules;
+#N canvas 1371 522 450 300 triggering 0;
+#X obj 65 222 s fftz.cavoc27.msgs;
+#X msg 65 163 trigger;
+#X msg 204 160 manual \$1;
+#X obj 204 128 tgl 15 0 empty cavoc27-triggertog empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 65 128 metro 250;
+#X obj 64 72 tgl 15 0 empty cavoc27-metro-tog empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X floatatom 103 99 5 0 0 0 - - -, f 5;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X restore 35 156 pd triggering;
+#N canvas 221 259 450 300 init 0;
+#X obj 28 34 loadbang;
+#X msg 28 62 \; cavoc27-triggertog 0 \; cavoc27-metro-tog 1 \; cavoc27-infreq
+133 \; cavoc27-gain 0.02 \; cavoc27-holdtime 250 \;;
+#X connect 0 0 1 0;
+#X restore 35 178 pd init;
+#X text 228 250 cavoc27~ generates spectra with a 27 rule cellular
+automaton. Start with very low gain.;
+#N canvas 1167 563 450 300 sample-input-spectrum 1;
+#X msg 237 101 capture_spectrum \$1;
+#X obj 237 70 inlet;
+#X floatatom 22 31 5 0 0 0 - cavoc27-infreq -, f 5;
+#X obj 20 111 phasor~;
+#X obj 20 137 -~ 0.5;
+#X obj 73 111 phasor~;
+#X obj 73 137 -~ 0.5;
+#X obj 128 112 phasor~;
+#X obj 128 138 -~ 0.5;
+#X obj 36 185 *~ 0.5;
+#X obj 35 236 outlet~;
+#X obj 60 73 * 1.25;
+#X obj 126 74 * 1.5;
+#X obj 237 133 s fftz.cavoc27.msgs;
+#X connect 0 0 13 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 2 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 4 0;
+#X connect 4 0 9 0;
+#X connect 5 0 6 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 11 0 5 0;
+#X connect 12 0 7 0;
+#X restore 160 82 pd sample-input-spectrum;
+#X obj 160 41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#N canvas 637 695 517 307 more-msgs 0;
+#X obj 31 268 s fftz.cavoc27.msgs;
+#X msg 43 184 density \$1;
+#X floatatom 43 154 5 0 0 0 - - -, f 5;
+#X msg 31 99 oscbank \$1;
+#X obj 31 60 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#X obj 215 66 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 215 103 interpolate \$1;
+#X msg 317 180 transpose \$1;
+#X floatatom 317 151 5 0 0 0 - - -, f 5;
+#X obj 320 102 hsl 128 15 0.5 2 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 8300 1;
+#X msg 221 226 retune 0.5 2;
+#X msg 351 247 freeze \$1;
+#X obj 351 219 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 158 178 hold_time \$1;
+#X floatatom 193 151 5 0 0 0 - cavoc27-holdtime -, f 5;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 0;
+#X connect 13 0 0 0;
+#X connect 14 0 13 0;
+#X restore 35 215 pd more-msgs;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
diff --git a/externals/fftease/fftease32-helpfiles/cavoc~-help.pd b/externals/fftease/fftease32-helpfiles/cavoc~-help.pd
new file mode 100644
index 000000000..79f3794aa
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/cavoc~-help.pd
@@ -0,0 +1,78 @@
+#N canvas 979 487 505 383 10;
+#X obj 193 107 cavoc~;
+#X obj 193 199 *~ 0.05;
+#X obj 193 230 dac~;
+#X obj 235 159 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 232 179 5 0 0 0 - - -, f 5;
+#X text 16 323 cavoc~ generates spectra with an 8 rule cellular automaton.
+Start with very low gain.;
+#X obj 193 75 r fftz.cavoc.msgs;
+#N canvas 1230 207 504 565 more-messages 0;
+#X obj 74 472 s fftz.cavoc.msgs;
+#X msg 70 129 retune 0.5 1.5;
+#X msg 273 163 bottomfreq \$1;
+#X msg 231 84 topfreq \$1;
+#X floatatom 232 49 8 500 8000 0 - - -, f 8;
+#X floatatom 271 134 8 0 400 0 - - -, f 8;
+#X msg 23 103 mute \$1;
+#X obj 23 73 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X obj 99 30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 99 60 external_trigger \$1;
+#X msg 170 163 bang;
+#X msg 259 259 hold_time \$1;
+#X floatatom 258 230 5 100 1000 0 - - -, f 5;
+#X floatatom 328 49 5 0.01 0.25 0 - - -, f 5;
+#X msg 328 68 density \$1;
+#X msg 270 387 oscbank \$1;
+#X obj 278 347 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 326 26 hsl 128 15 0.01 0.2 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 0 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 15 0;
+#X connect 17 0 13 0;
+#X restore 30 247 pd more-messages;
+#N canvas 805 281 465 670 rules 0;
+#X obj 30 503 s fftz.cavoc.msgs;
+#X msg 87 107 rule 0 1 0 1 0 0 1 1;
+#X msg 59 79 rule 0 1 1 0 1 0 0 1;
+#X msg 122 127 rule 0 0 0 0 1 1 1 1;
+#X msg 129 158 rule 0 0 0 1 1 0 0 0;
+#X msg 153 215 rule 1 0 0 1 1 0 0 1;
+#X msg 180 259 rule 1 1 0 1 0 1 0 0;
+#X msg 205 302 rule 1 1 0 1 0 1 1 0;
+#X msg 223 342 rule 1 1 0 0 1 1 0 0;
+#X msg 233 387 rule 0 0 1 0 1 0 1 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X restore 27 105 pd rules;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 6 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/centerring~-help.pd b/externals/fftease/fftease32-helpfiles/centerring~-help.pd
new file mode 100644
index 000000000..21b9a59ac
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/centerring~-help.pd
@@ -0,0 +1,51 @@
+#N canvas 1282 501 452 406 10;
+#X obj 126 116 centerring~;
+#X obj 126 198 *~ 0.05;
+#X obj 126 256 dac~;
+#X obj 168 156 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 9200 1;
+#X floatatom 165 178 5 0 0 0 - - -, f 5;
+#X obj 125 34 phasor~ 67;
+#X obj 125 59 -~ 0.5;
+#X obj 126 87 *~ 2;
+#X floatatom 125 11 5 0 0 0 - - -, f 5;
+#X floatatom 244 56 5 0 0 0 base centerring-basefreq -, f 5;
+#X floatatom 259 77 5 0 0 0 bw centerring-freqbandw -, f 5;
+#X floatatom 291 96 5 0 0 0 const centerring-freqconst -, f 5;
+#X msg 8 60 zerophases;
+#X msg 15 127 randphases;
+#N canvas 804 464 450 300 init 0;
+#X msg 60 85 \; centerring-basefreq 1 \; centerring-freqbandw 0.15
+\; centerring-freqconst 1 \;;
+#X msg 132 216 \; centerring-basefreq \$1 \; centerring-freqbandw \$2
+\; centerring-freqconst \$3 \;;
+#X msg 81 167 300 0.2 1;
+#X msg 164 168 1.1 10 7;
+#X msg 249 169 1 1 1;
+#X obj 57 54 loadbang;
+#X text 82 146 a few other settings;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X restore 261 225 pd init;
+#X text 21 279 centerring~ performs frequency independent amplitude
+modulation upon the spectral magnitudes of input signals. The effect
+is somewhat akin to flanging. The base frequency is used to derive
+the frequency of an oscillator associated with each frequency band.
+The frequency bandwidth and constant control the deviation of a particular
+frequency band's modulation oscillator frequency.;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 5 0;
+#X connect 9 0 0 1;
+#X connect 10 0 0 2;
+#X connect 11 0 0 3;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/codepend~-help.pd b/externals/fftease/fftease32-helpfiles/codepend~-help.pd
new file mode 100644
index 000000000..0523f9e72
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/codepend~-help.pd
@@ -0,0 +1,72 @@
+#N canvas 963 492 707 429 10;
+#X obj 126 162 codepend~;
+#X obj 126 199 *~ 0.05;
+#X obj 126 230 dac~;
+#X obj 225 163 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 6600 1;
+#X floatatom 222 183 5 0 0 0 - - -, f 5;
+#X text 15 258 codepend~ is a classic "block convolution" processor.
+It performs a complex multiply upon the spectra of two input signals.
+Multiplication of spectra can cause significant drops in the amplitude
+of the output signal. The invert message causes codepend~ to perform
+complex division of the input spectra rather than multiplication. Be
+careful! This can cause huge amplitude gains. A "pad" message is provided
+to allow for empirical amplitude balancing between the normal and "invert"
+states. Experiment at low volume levels while getting a feel for this
+external.;
+#X floatatom 320 18 5 0 0 0 - codepend-scalingexp -, f 5;
+#X floatatom 381 92 5 0 0 0 - - -, f 5;
+#X obj 381 70 expr pow(10. \, $f1 * 0.05);
+#X floatatom 381 48 5 -120 0 1 inverse-threshold - -, f 5;
+#X text 360 17 scaling exponent (lower values increase distortion)
+;
+#X obj 50 91 readsf~;
+#X msg 17 61 1;
+#X obj 50 35 openpanel;
+#X msg 50 60 open \$1;
+#X msg 50 8 bang;
+#X obj 160 85 readsf~;
+#X obj 160 29 openpanel;
+#X msg 160 54 open \$1;
+#X msg 160 2 bang;
+#N canvas 516 425 450 300 init 0;
+#X msg 124 172 \; codepend-scalingexp 0.2 \; codepend-invertscale -36
+;
+#X restore 413 380 pd init;
+#X obj 14 127 r fftz.codepend.msgs;
+#X obj 413 345 s fftz.codepend.msgs;
+#X msg 413 309 invert \$1;
+#X obj 413 273 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 534 307 pad \$1;
+#X floatatom 534 284 5 0 0 0 - - -, f 5;
+#X obj 534 262 expr pow(10. \, $f1 * 0.05);
+#X floatatom 534 235 5 0 0 0 - codepend-invertscale -, f 5;
+#X text 84 6 load sf1;
+#X text 196 6 load sf2;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 6 0 0 2;
+#X connect 7 0 0 3;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 0;
+#X connect 12 0 16 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 0;
+#X connect 15 0 13 0;
+#X connect 16 0 0 1;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X connect 19 0 17 0;
+#X connect 21 0 0 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 22 0;
+#X connect 26 0 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 27 0;
diff --git a/externals/fftease/fftease32-helpfiles/cross~-help.pd b/externals/fftease/fftease32-helpfiles/cross~-help.pd
new file mode 100644
index 000000000..a1c48989b
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/cross~-help.pd
@@ -0,0 +1,124 @@
+#N canvas 823 457 553 431 10;
+#X obj -268 175 cross~;
+#X obj -238 107 readsf~;
+#X obj -238 51 openpanel;
+#X msg -238 76 open \$1;
+#X msg -238 24 bang;
+#X text -202 28 load sf2;
+#X obj -354 118 readsf~;
+#X obj -353 43 openpanel;
+#X msg -353 68 open \$1;
+#X msg -353 16 bang;
+#X text -317 20 load sf1;
+#X obj -268 295 *~ 0.05;
+#X obj -268 326 dac~;
+#X obj -226 250 hsl 128 15 0 20 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 9500 1;
+#X floatatom -229 275 5 0 0 0 - - -, f 5;
+#X floatatom -143 136 5 0 0 0 - - -, f 5;
+#X msg -287 80 1;
+#X msg -143 91 1e-06;
+#X obj 3 298 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 2 256 pd meter;
+#X obj 71 300 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 70 257 pd meter;
+#X msg -78 92 0.25;
+#X msg -36 93 0.05;
+#X obj -268 231 *~;
+#X floatatom -208 208 5 0 0 0 - cross-pad -, f 5;
+#N canvas 1452 650 450 300 autonorm 0;
+#X obj 57 24 inlet;
+#X obj 57 59 t f f;
+#X obj 44 124 sel 0 1;
+#X msg 20 192 1;
+#X msg 100 175 0.025;
+#X obj 45 223 s cross-pad;
+#X msg 148 118 autonorm \$1;
+#X obj 149 149 s fftz-cross-msgs;
+#X obj 18 160 pipe 50;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 6 0;
+#X connect 2 0 8 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 8 0 3 0;
+#X restore -16 192 pd autonorm;
+#X obj -375 195 r fftz-cross-msgs;
+#X obj -16 170 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X text -365 349 cross~ uses a threshold to determine whether to perform
+spectral multiplication or maintain the last calculated magnitude/phase
+pair. An autonorm option attempts to keep overall frame amplitudes
+consistent.;
+#X connect 0 0 24 0;
+#X connect 1 0 0 1;
+#X connect 1 0 21 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 6 0 0 0;
+#X connect 6 0 19 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 11 0 12 1;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 0 2;
+#X connect 16 0 6 0;
+#X connect 16 0 1 0;
+#X connect 17 0 15 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 22 0 15 0;
+#X connect 23 0 15 0;
+#X connect 24 0 11 0;
+#X connect 25 0 24 1;
+#X connect 27 0 0 0;
+#X connect 28 0 26 0;
diff --git a/externals/fftease/fftease32-helpfiles/dentist~-help.pd b/externals/fftease/fftease32-helpfiles/dentist~-help.pd
new file mode 100644
index 000000000..f23b5c72b
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/dentist~-help.pd
@@ -0,0 +1,77 @@
+#N canvas 692 324 623 380 10;
+#X obj 197 240 *~ 0.05;
+#X obj 197 271 dac~;
+#X obj 239 200 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 4700 1;
+#X floatatom 236 220 5 0 0 0 - - -, f 5;
+#X obj 197 105 dentist~ 2048 8;
+#X obj 197 37 r fftz-dentist-msgs;
+#X obj 114 28 noise~;
+#N canvas 404 737 450 300 showsync 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 240 135 pd showsync;
+#X msg 57 173 scramble;
+#X obj 57 143 metro 7000;
+#X obj 57 109 tgl 15 0 empty dentist-scrambletog empty 17 7 0 10 -262144
+-1 -1 1 1;
+#N canvas 1413 688 450 300 interpolation-and-control 0;
+#X msg 57 100 ramptime \$1;
+#X floatatom 57 65 5 0 0 0 - dentist-ramptime -, f 5;
+#X obj 54 212 s fftz-dentist-msgs;
+#X msg 192 107 topfreq \$1;
+#X floatatom 189 71 5 0 0 0 - dentist-topfreq -, f 5;
+#X msg 281 168 toothcount \$1;
+#X floatatom 303 126 5 0 0 0 - dentist-toothcount -, f 5;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 5 0;
+#X restore 427 126 pd interpolation-and-control;
+#N canvas 497 416 384 290 init 0;
+#X msg 118 125 \; dentist-ramptime 7000 \; dentist-topfreq 3000 \;
+dentist-toothcount 18 \; dentist-scrambletog 1 \;;
+#X obj 118 96 loadbang;
+#X connect 1 0 0 0;
+#X restore 429 180 pd init;
+#X floatatom 240 162 5 0 0 0 - - -, f 5;
+#N canvas 1224 626 533 316 data-storage 0;
+#X obj 54 212 s fftz-dentist-msgs;
+#X msg 123 107 setstate 15 7 9 92;
+#X msg 116 144 setstate 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
+19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40;
+#X msg 51 40 setstate 10 11 12 13 14 50 51 52 53 43;
+#X msg 94 73 setstate 7 15 40;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X restore 428 155 pd data-storage;
+#X text 60 304 dentist~ punches out all but a select set of partials.
+;
+#X connect 0 0 1 0;
+#X connect 0 0 1 1;
+#X connect 2 0 3 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 4 1 7 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 0;
+#X connect 7 0 13 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
diff --git a/externals/fftease/fftease32-helpfiles/disarrain~-help.pd b/externals/fftease/fftease32-helpfiles/disarrain~-help.pd
new file mode 100644
index 000000000..d00190816
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/disarrain~-help.pd
@@ -0,0 +1,86 @@
+#N canvas 889 356 642 531 10;
+#X obj 142 209 disarrain~;
+#X obj 98 101 phasor~ 261;
+#X obj 98 129 -~ 0.5;
+#X msg 198 131 fadetime \$1;
+#X floatatom 198 109 5 0 0 0 - disarrain-fadetime -, f 5;
+#X floatatom 296 126 5 0 0 0 - disarrain-switchct -, f 5;
+#X obj 98 335 *~ 0.05;
+#X obj 98 366 dac~;
+#X obj 140 295 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 3900 1;
+#X floatatom 137 315 5 0 0 0 - - -, f 5;
+#N canvas 404 737 450 300 showsync 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 183 247 pd showsync;
+#X floatatom 183 273 5 0 0 0 - - -, f 5;
+#X msg 296 151 switch_count \$1;
+#X obj 36 180 metro 3000;
+#X obj 37 27 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#N canvas 309 378 450 300 init 0;
+#X obj -52 38 loadbang;
+#X msg -52 65 \; disarrain-fadetime 3000 \; disarrain-switchct 70 \;
+disarrain-topfreq 2000;
+#X connect 0 0 1 0;
+#X restore 286 293 pd init;
+#X text 22 388 fftz.disarrain~ reorders a certain number of bins \,
+which can significantly transform the timbre. The spectral reordering
+is reported from the third outlet.;
+#X msg 332 177 showstate;
+#N canvas 0 22 450 300 showbins 0;
+#X obj 103 48 inlet;
+#X msg 42 210 62 70 5 20 43 30 48 49 60 44 32 11 8 46 35 6 65 38 34
+33 14 21 22 61 53 25 45 57 16 10 3 37 52 17 18 55 36 66 2 26 68 4 69
+0 42 47 31 39 54 27 40 50 13 63 58 24 56 59 67 7 19 23 1 9 64 41 29
+51 15 28;
+#X msg 42 109 set \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12
+\$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20 \$21 \$22 \$23 \$24 \$25 \$26
+\$27 \$28 \$29 \$30 \$31 \$32 \$33 \$34 \$35 \$36 \$37 \$38 \$39 \$40
+\$41 \$42 \$43 \$44 \$45 \$46 \$47 \$48 \$49 \$50 \$51 \$52 \$53 \$54
+\$55 \$56 \$57 \$58 \$59 \$60 \$61 \$62 \$63 \$64 \$65 \$66 \$67 \$68
+\$69 \$70;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 271 245 pd showbins;
+#X text 59 26 turn on for interpolation;
+#X obj 37 56 t f b b;
+#X obj 223 50 s disarrain-switchct;
+#X obj 223 70 s disarrain-fadetime;
+#X floatatom 469 181 5 0 0 0 - disarrain-topfreq -, f 5;
+#X msg 469 209 topfreq \$1;
+#X connect 0 0 6 0;
+#X connect 0 1 10 0;
+#X connect 0 2 18 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 12 0;
+#X connect 6 0 7 0;
+#X connect 6 0 7 1;
+#X connect 8 0 9 0;
+#X connect 9 0 6 1;
+#X connect 10 0 11 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 20 0;
+#X connect 17 0 0 0;
+#X connect 20 0 13 0;
+#X connect 20 1 22 0;
+#X connect 20 2 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/disarray~-help.pd b/externals/fftease/fftease32-helpfiles/disarray~-help.pd
new file mode 100644
index 000000000..605d358f3
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/disarray~-help.pd
@@ -0,0 +1,50 @@
+#N canvas 867 556 734 372 10;
+#X obj 112 160 disarray~;
+#X obj 97 50 phasor~ 261;
+#X obj 97 77 -~ 0.5;
+#X obj 112 249 *~ 0.05;
+#X obj 112 280 dac~;
+#X obj 154 209 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 3500 1;
+#X floatatom 151 229 5 0 0 0 - - -, f 5;
+#X msg 191 51 switch_count \$1;
+#X floatatom 191 18 5 0 0 0 - disarray-swcnt -, f 5;
+#X msg 389 178 topfreq \$1;
+#X floatatom 389 149 5 0 0 0 - disarray-topf -, f 5;
+#X msg 18 131 bang;
+#X msg 347 219 set \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12
+\$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20 \$21 \$22 \$23 \$24 \$25 \$26
+\$27 \$28 \$29 \$30;
+#X msg 347 269 68 23 20 16 53 18 14 32 5 58 50 8 33 28 3 29 52 62 70
+35 13 48 42 69 26 12 37 39 17 0;
+#X msg 298 52 showstate;
+#X msg 310 76 setstate 68 23 20 16 53 18 14 32 5 58 50 8 33 28 3 29
+52 62 70 35 13 48 42 69 26 12 37 39 17 0;
+#X msg 309 113 setstate 40 108 102 115 104 49 10 21 89 45 84 22 4 28
+92 83 68 14 46 65 110 63 25 116 24 117 30 32 31 72;
+#X text 14 112 new scramble;
+#N canvas 398 725 450 300 init 0;
+#X msg 130 129 \; disarray-swcnt 30 \; disarray-topf 3000 \;;
+#X obj 167 74 loadbang;
+#X connect 1 0 0 0;
+#X restore 479 37 pd init;
+#X text 23 312 disarray~ reorders a certain number of bins \, which
+can significantly transform the timbre. The spectral reordering is
+reported from the second outlet.;
+#X connect 0 0 3 0;
+#X connect 0 1 12 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 5 0 6 0;
+#X connect 6 0 3 1;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 10 0 9 0;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/drown~-help.pd b/externals/fftease/fftease32-helpfiles/drown~-help.pd
new file mode 100644
index 000000000..4fdbbc98e
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/drown~-help.pd
@@ -0,0 +1,51 @@
+#N canvas 812 597 450 300 10;
+#X obj 142 111 drown~;
+#X obj 142 189 *~ 0.05;
+#X obj 142 220 dac~;
+#X obj 184 149 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 181 169 5 0 0 0 - - -, f 5;
+#X obj 60 58 osc~ 440;
+#X floatatom 175 88 5 0 0 0 - - -, f 5;
+#X obj 178 64 hsl 128 15 0 1 0 0 empty empty noise-reduction-factor
+-2 -8 0 10 -262144 -1 -1 11000 1;
+#X floatatom 131 51 5 0 0 0 - - -, f 5;
+#X obj 134 27 hsl 128 15 0 1 0 0 empty empty noise-threshold -2 -8
+0 10 -262144 -1 -1 0 1;
+#N canvas 1336 367 450 300 add-noise 0;
+#X obj 89 109 noise~;
+#X obj 135 169 *~;
+#X obj 190 77 inlet;
+#X obj 130 227 outlet~;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 1;
+#X restore 50 143 pd add-noise;
+#X obj 50 117 tgl 15 0 empty drown-noisetog empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X msg -19 57 adaptive \$1;
+#X obj -19 27 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text -16 242 drown~ reduces the energy of low energy bins for noise
+reduction. Or you could use a factor > 1 to increase the noise in the
+signal. In adaptive mode \, the threshold is determined relative to
+each FFT frame peak.;
+#N canvas 285 462 450 300 init 0;
+#X msg 141 120 \; drown-noisetog 1 \;;
+#X obj 142 84 loadbang;
+#X connect 1 0 0 0;
+#X restore 260 207 pd init;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 0 0;
+#X connect 6 0 0 2;
+#X connect 7 0 6 0;
+#X connect 8 0 0 1;
+#X connect 9 0 8 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
+#X connect 12 0 0 0;
+#X connect 13 0 12 0;
diff --git a/externals/fftease/fftease32-helpfiles/enrich~-help.pd b/externals/fftease/fftease32-helpfiles/enrich~-help.pd
new file mode 100644
index 000000000..7dfec304a
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/enrich~-help.pd
@@ -0,0 +1,68 @@
+#N canvas 851 431 869 609 10;
+#N canvas 0 22 450 278 (subpatch) 0;
+#X array enrich-buffer 8195 float 2;
+#X coords 0 1 8195 -1 200 140 1 0 0;
+#X restore 361 27 graph;
+#X msg 252 355 \; enrich-buffer cosinesum 8192 0 1;
+#X obj 41 121 readsf~;
+#X obj 41 65 openpanel;
+#X msg 41 90 open \$1;
+#X msg 41 38 bang;
+#X msg 114 92 1;
+#X obj 41 259 enrich~ enrich-buffer;
+#X obj 41 371 *~ 0.05;
+#X obj 41 402 dac~;
+#X obj 83 331 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 80 351 5 0 0 0 - - -, f 5;
+#X obj 149 210 sig~ 1;
+#X obj 220 208 sig~ 0.001;
+#X msg 250 397 \; enrich-buffer cosinesum 8192 0 0.333 0.333 0.33;
+#X text 460 354 normal resynthesis with a cosine;
+#X text 548 404 add more harmonics;
+#X msg 250 441 \; enrich-buffer cosinesum 8192 0 0 0 0 0.2 0.4 0 0
+0.4;
+#X obj 252 328 loadbang;
+#X text 566 27 try drawing directly into the array;
+#X text 565 45 for lots of harmonics;
+#X text 81 43 load a sound file;
+#X text 143 91 play it;
+#X obj 152 148 hsl 128 15 0.5 1.9999 0 0 empty enrich-tfac transpose-factor
+-2 -8 0 10 -262144 -1 -1 4234 1;
+#X floatatom 149 181 9 0 0 0 - - -, f 9;
+#X msg 371 226 highfreq \$1;
+#X floatatom 371 200 5 0 0 0 - enrich-hfr -, f 5;
+#N canvas 365 262 450 300 init 0;
+#X msg 87 143 \; enrich-hfr 10000 \; enrich-tfac 1 \; enrich-lofr 0
+;
+#X obj 101 105 loadbang;
+#X connect 1 0 0 0;
+#X restore 499 313 pd init;
+#X floatatom 461 198 5 0 0 0 - enrich-lofr -, f 5;
+#X msg 461 224 lowfreq \$1;
+#X obj 9 190 r fftz-enrich-msgs;
+#X obj 371 268 s fftz-enrich-msgs;
+#X text 46 501 enrich~ synthesizes an oscillator bank that reads from
+a Pd array \, which can contain any user-specified waveform. Useful
+for distortion.;
+#X text 575 450 way high harmonics;
+#X connect 2 0 7 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 2 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 0 9 1;
+#X connect 10 0 11 0;
+#X connect 11 0 8 1;
+#X connect 12 0 7 1;
+#X connect 13 0 7 2;
+#X connect 18 0 1 0;
+#X connect 23 0 24 0;
+#X connect 24 0 12 0;
+#X connect 25 0 31 0;
+#X connect 26 0 25 0;
+#X connect 28 0 29 0;
+#X connect 29 0 31 0;
+#X connect 30 0 7 0;
diff --git a/externals/fftease/fftease32-helpfiles/ether~-help.pd b/externals/fftease/fftease32-helpfiles/ether~-help.pd
new file mode 100644
index 000000000..5fa5a27f7
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/ether~-help.pd
@@ -0,0 +1,51 @@
+#N canvas 945 525 525 499 10;
+#X obj 143 202 ether~;
+#X obj 143 137 readsf~;
+#X obj 143 81 openpanel;
+#X msg 143 106 open \$1;
+#X msg 143 54 bang;
+#X msg 211 106 1;
+#X obj 278 140 readsf~;
+#X obj 278 84 openpanel;
+#X msg 278 109 open \$1;
+#X msg 278 57 bang;
+#X text 314 61 load sf2;
+#X floatatom 292 178 5 0 512 0 - - -, f 5;
+#X obj 160 283 *~ 0.05;
+#X obj 160 314 dac~;
+#X obj 202 243 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 2600 1;
+#X floatatom 199 263 5 0 0 0 - - -, f 5;
+#X msg 36 163 invert \$1;
+#X obj 36 129 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 13 337 ether~ selects portions of two input signals and creates
+a composite output spectrum based upon the amplitude of the inputs.
+In a bin-by-bin comparison \, the strongest bin of the two inputs will
+be selected. Sending the inverse message will reverse this behavior
+\, selecting the weakest bins. The composite index is a scalar for
+the selection of the second input. Higher values for the composite
+index will favor the second input. Useful values will vary according
+to the amplitude characteristics of the input signals. Try values greater
+than 0 and less than 100 But higher values may be effective depending
+upon the input signals.;
+#X text 331 176 composite index;
+#X text 179 58 load sf1;
+#X connect 0 0 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 1;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 11 0 0 2;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
+#X connect 16 0 0 0;
+#X connect 17 0 16 0;
diff --git a/externals/fftease/fftease32-helpfiles/leaker~-help.pd b/externals/fftease/fftease32-helpfiles/leaker~-help.pd
new file mode 100644
index 000000000..cb093e289
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/leaker~-help.pd
@@ -0,0 +1,50 @@
+#N canvas 802 314 518 484 10;
+#X obj 197 210 leaker~;
+#X obj 155 149 readsf~;
+#X obj 155 93 openpanel;
+#X msg 155 118 open \$1;
+#X msg 155 66 bang;
+#X msg 223 118 1;
+#X obj 274 153 readsf~;
+#X obj 274 97 openpanel;
+#X msg 274 122 open \$1;
+#X msg 274 70 bang;
+#X text 310 74 load sf2;
+#X text 191 70 load sf1;
+#X floatatom 298 188 5 0 0 0 - - -, f 5;
+#X obj 358 162 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 12700 1;
+#X obj 197 301 *~ 0.05;
+#X obj 197 332 dac~;
+#X obj 239 261 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 10700 1;
+#X floatatom 236 281 5 0 0 0 - - -, f 5;
+#X msg 22 96 upsieve;
+#X msg 23 122 downsieve;
+#X msg 23 155 randsieve;
+#X text 33 360 leaker~ combines two input sounds \, with the spectral
+contribution of each sound determined by an internally maintained sieve
+and a threshold selection value. At value 0 \, only sound 1 is heard
+and at value 1 \, only sound 2 is heard. At intermediate values \,
+parts of each spectrum are aggregated according to the sieve structure
+which may be specified as upsieve \, downsieve or randsieve.;
+#X connect 0 0 14 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 1;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 12 0 0 2;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 14 0 15 1;
+#X connect 16 0 17 0;
+#X connect 17 0 14 1;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/mindwarp~-help.pd b/externals/fftease/fftease32-helpfiles/mindwarp~-help.pd
new file mode 100644
index 000000000..087deab23
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/mindwarp~-help.pd
@@ -0,0 +1,93 @@
+#N canvas 750 306 571 646 10;
+#X obj 208 215 mindwarp~;
+#X obj 146 168 pvoc~;
+#N canvas 402 529 480 401 selector 0;
+#X obj 127 50 inlet~;
+#X obj 202 52 inlet~;
+#X obj 48 53 inlet;
+#X obj 155 350 outlet~;
+#X obj 154 278 *~;
+#X obj 214 274 *~;
+#X obj 48 105 sel 0 1;
+#X msg 48 139 1 0;
+#X msg 94 139 0 1;
+#X floatatom 170 225 5 0 0 0 - - -, f 5;
+#X floatatom 246 223 5 0 0 0 - - -, f 5;
+#X obj 48 173 unpack f f;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 11 0;
+#X connect 8 0 11 0;
+#X connect 9 0 4 1;
+#X connect 10 0 5 1;
+#X connect 11 0 9 0;
+#X connect 11 1 10 0;
+#X restore 173 281 pd selector;
+#X obj 141 230 tgl 15 0 empty mindwarp-tog empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 173 364 *~ 0.05;
+#X obj 173 395 dac~;
+#X obj 215 324 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 4900 1;
+#X floatatom 212 344 5 0 0 0 - - -, f 5;
+#X obj 146 134 readsf~;
+#X obj 146 78 openpanel;
+#X msg 146 103 open \$1;
+#X msg 146 51 bang;
+#X msg 214 103 1;
+#X text 182 55 load sf;
+#X text 247 103 play it;
+#X floatatom 229 136 5 0 0 0 - mindwarp-tfac -, f 5;
+#X floatatom 305 168 5 0 0 0 - mindwarp-wfac -, f 5;
+#X obj 235 157 sig~ 0.001;
+#X floatatom 343 194 5 0 0 0 - mindwarp-shapew -, f 5;
+#X text 50 221 0 - raw pvoc;
+#X text 49 237 1 - mindwarp;
+#N canvas 0 22 450 300 init 0;
+#X obj 36 100 loadbang;
+#X msg 36 135 \; mindwarp-tfac 1 \; mindwarp-wfac 1 \; mindwarp-shapew
+10 \; mindwarp-tog 1 \; mindwarp-tfac&warpfac 1;
+#X connect 0 0 1 0;
+#X restore 422 262 pd init;
+#X obj 353 117 hsl 128 15 0.5 2 0 0 empty mindwarp-tfac&warpfac tfac&warpfac
+-2 -8 0 10 -262144 -1 -1 533 1;
+#X obj 350 137 s mindwarp-tfac;
+#X obj 383 162 s mindwarp-wfac;
+#X text 27 423 mindwarp~ performs spectral envelope warping. It can
+be used to correct for the formant shifting effects of pitch-scaling.
+The warp factor is tuned to warp spectra to compensate for directly
+corresponding pitch-scaling values. For example \, if you have pitch-scaled
+a signal by a factor of two \, increasing its frequency content by
+an octave \, by providing mindwarp~ with a warp factor of 2 and the
+pitch-scaled signal \, mindwarp~ will restore the spectral formant
+of the signal to an estimation of the shape present in the original
+unscaled signal. Currently \, warp factor values are restricted to
+the range [1/16 ... 16.]. mindwarp~ utilizes frequency shaping to perform
+its duty. You may need to fiddle with the shape width to best catch
+the formants. It can be fun to decorrelate the warp factor from the
+transposition factor.;
+#X connect 0 0 2 2;
+#X connect 1 0 0 0;
+#X connect 1 0 2 1;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 4 0 5 1;
+#X connect 6 0 7 0;
+#X connect 7 0 4 1;
+#X connect 8 0 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 9 0;
+#X connect 12 0 8 0;
+#X connect 15 0 1 1;
+#X connect 16 0 0 1;
+#X connect 17 0 1 2;
+#X connect 18 0 0 2;
+#X connect 22 0 23 0;
+#X connect 22 0 24 0;
diff --git a/externals/fftease/fftease32-helpfiles/morphine~-help.pd b/externals/fftease/fftease32-helpfiles/morphine~-help.pd
new file mode 100644
index 000000000..cbc3449bd
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/morphine~-help.pd
@@ -0,0 +1,53 @@
+#N canvas 808 479 612 478 10;
+#X obj 181 140 readsf~;
+#X obj 181 84 openpanel;
+#X msg 181 109 open \$1;
+#X msg 181 57 bang;
+#X msg 249 109 1;
+#X obj 312 139 readsf~;
+#X obj 312 83 openpanel;
+#X msg 312 108 open \$1;
+#X msg 312 56 bang;
+#X text 348 60 load sf2;
+#X text 217 61 load sf1;
+#X msg 60 135 transition \$1;
+#X floatatom 60 104 5 0 0 0 - morphine-trans -, f 5;
+#X obj 193 265 *~ 0.05;
+#X obj 193 296 dac~;
+#X obj 235 225 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 11800 1;
+#X floatatom 232 245 5 0 0 0 - - -, f 5;
+#X obj 191 187 morphine~ 4096 8;
+#X text 19 318 morphine~ performs spectral morphing \, creating a new
+spectrum from its two inputs. Values between 0 and 1 are the useful
+range for the morph index. The progression depends upon the exponential
+transition scaling value. Progressively smaller negative values will
+widen the transition space between the two sounds. Larger FFT sizes
+\, such as 4096 \, produce smoother results.;
+#X obj 407 169 hsl 128 15 0 1 0 0 empty empty morph-index -2 -8 0 10
+-262144 -1 -1 5500 1;
+#X floatatom 404 195 5 0 0 0 - - -, f 5;
+#N canvas 0 22 450 300 init 0;
+#X msg 151 157 \; morphine-trans -5;
+#X obj 151 125 loadbang;
+#X connect 1 0 0 0;
+#X restore 441 258 pd init;
+#X connect 0 0 17 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 1;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 11 0 17 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 13 0 14 1;
+#X connect 15 0 16 0;
+#X connect 16 0 13 1;
+#X connect 17 0 13 0;
+#X connect 19 0 20 0;
+#X connect 20 0 17 2;
diff --git a/externals/fftease/fftease32-helpfiles/multyq~-help.pd b/externals/fftease/fftease32-helpfiles/multyq~-help.pd
new file mode 100644
index 000000000..37805a30f
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/multyq~-help.pd
@@ -0,0 +1,60 @@
+#N canvas 1099 521 568 422 10;
+#X obj 52 50 noise~;
+#X obj 52 261 *~ 0.05;
+#X obj 52 292 dac~;
+#X obj 94 221 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 91 241 5 0 0 0 - - -, f 5;
+#X floatatom 69 100 5 0 0 0 - multyq-f1 -, f 5;
+#X floatatom 105 100 5 0 0 0 - multyq-bw1 -, f 5;
+#X floatatom 141 99 5 0 0 0 - multyq-g1 -, f 5;
+#N canvas 609 675 450 300 init 0;
+#X msg 33 95 \; multyq-f1 565 \; multyq-bw1 0.5 \; multyq-g1 4 \; multyq-bw2
+0.45 \; multyq-bw3 0.2 \; multyq-g3 12 \;;
+#X obj 33 64 loadbang;
+#X connect 1 0 0 0;
+#X restore 437 184 pd init;
+#X obj 193 106 *~;
+#X obj 193 41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 282 30 osc~ 0.2;
+#X obj 282 52 *~ 1000;
+#X obj 282 74 +~ 1300;
+#X obj 52 156 multyq~ 1024 8, f 71;
+#X obj 263 107 * 4;
+#X floatatom 228 126 5 0 0 0 - multyq-bw2 -, f 5;
+#X text 124 41 autosweep;
+#X floatatom 445 85 5 0 0 0 - multyq-bw3 -, f 5;
+#X floatatom 487 85 5 0 0 0 - multyq-g3 -, f 5;
+#X obj 407 45 hsl 128 15 1000 10000 0 0 empty empty empty -2 -8 0 10
+-262144 -1 -1 0 1;
+#X floatatom 404 86 5 0 0 0 - - -, f 5;
+#X text 397 21 sweep high end;
+#X text 289 137 room for one more;
+#X text 52 319 multyq~ is a four band equalizer. Gain values below
+0 create notches rather than peaks \, but only go as far as -1.0. Bandwidth
+is from 0 to 1 Only three bands are used in this example \, but CPU
+usage is the same regardless of how many are used. As the filter is
+FFT-based \, its performance is spotty in the low frequency range.
+;
+#X connect 0 0 14 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 14 1;
+#X connect 6 0 14 2;
+#X connect 7 0 14 3;
+#X connect 9 0 14 4;
+#X connect 10 0 9 0;
+#X connect 10 0 15 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 9 1;
+#X connect 14 0 1 0;
+#X connect 15 0 14 6;
+#X connect 16 0 14 5;
+#X connect 18 0 14 11;
+#X connect 19 0 14 12;
+#X connect 20 0 21 0;
+#X connect 21 0 14 10;
diff --git a/externals/fftease/fftease32-helpfiles/pileup~-help.pd b/externals/fftease/fftease32-helpfiles/pileup~-help.pd
new file mode 100644
index 000000000..98a568366
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pileup~-help.pd
@@ -0,0 +1,69 @@
+#N canvas 1256 420 532 415 10;
+#X obj 112 222 pileup~;
+#X msg 39 167 mode \$1;
+#X obj 111 188 readsf~;
+#X obj 111 132 openpanel;
+#X msg 111 157 open \$1;
+#X msg 111 105 bang;
+#X msg 179 157 1;
+#X text 147 109 load sf;
+#X obj 112 299 *~ 0.05;
+#X obj 112 330 dac~;
+#X obj 154 259 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 151 279 5 0 0 0 - - -, f 5;
+#X obj 218 186 r fftz-pileup-msgs;
+#N canvas 1208 223 683 377 controls 0;
+#X obj 96 277 s fftz-pileup-msgs;
+#X msg 100 149 persistence \$1;
+#X floatatom 100 110 5 0 0 0 - pileup-pers -, f 5;
+#X msg 209 148 oscbank \$1, f 11;
+#X obj 209 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 303 148 synthresh \$1;
+#X floatatom 303 118 5 0 0 0 - - -, f 5;
+#X obj 300 72 hsl 128 15 0 0.2 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 454 120 5 0 0 0 - - -, f 5;
+#X obj 451 74 hsl 128 15 0.5 1.999 0 0 empty pileup-transp empty -2
+-8 0 10 -262144 -1 -1 4236 1;
+#X msg 454 150 transpose \$1;
+#X msg 349 240 clear;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X restore 254 133 pd controls;
+#N canvas 568 719 450 300 init 0;
+#X msg 97 151 \; pileup-transp 1 \; pileup-pers 0.99;
+#X obj 97 107 loadbang;
+#X connect 1 0 0 0;
+#X restore 250 88 pd init;
+#X obj 38 16 vradio 20 1 0 3 empty empty empty 0 -8 0 10 -262144 -1
+-1 0;
+#X text 65 17 persistent amplitude and phase;
+#X text 66 36 persistent amplitude only;
+#X text 66 58 inverse persistence;
+#X text 52 353 pileup~ maintains amplitude/phase information in bins
+(with possible damping) until new information comes in above a given
+threshold. This is useful for various reverberant effects.;
+#X connect 0 0 8 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 2 0;
+#X connect 8 0 9 0;
+#X connect 8 0 9 1;
+#X connect 10 0 11 0;
+#X connect 11 0 8 1;
+#X connect 12 0 0 0;
+#X connect 15 0 1 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvcompand~-help.pd b/externals/fftease/fftease32-helpfiles/pvcompand~-help.pd
new file mode 100644
index 000000000..94f249ef5
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvcompand~-help.pd
@@ -0,0 +1,31 @@
+#N canvas 1205 620 541 378 10;
+#X obj 43 149 pvcompand~;
+#X obj 43 109 readsf~;
+#X obj 43 53 openpanel;
+#X msg 43 78 open \$1;
+#X msg 43 26 bang;
+#X msg 111 78 1;
+#X text 79 30 load sf;
+#X floatatom 192 96 5 0 0 0 - - -, f 5;
+#X text 189 74 threshold factor;
+#X obj 43 225 *~ 0.05;
+#X obj 43 256 dac~;
+#X obj 85 185 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 82 205 5 0 0 0 - - -, f 5;
+#X text 41 274 pvcompand~ either expands or compresses the differences
+between the amplitudes of the spectral frames. The threshold is interpreted
+as dB and useful ranges are from about -60 to +60. Positive values
+increase the "peakiness" of the sound and negative values tend to whiten
+the spectrum.;
+#X connect 0 0 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 0 1;
+#X connect 9 0 10 0;
+#X connect 9 0 10 1;
+#X connect 11 0 12 0;
+#X connect 12 0 9 1;
diff --git a/externals/fftease/fftease32-helpfiles/pvgrain~-help.pd b/externals/fftease/fftease32-helpfiles/pvgrain~-help.pd
new file mode 100644
index 000000000..79a439e35
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvgrain~-help.pd
@@ -0,0 +1,440 @@
+#N canvas 986 280 572 436 10;
+#X obj 144 173 pvgrain~;
+#X obj 53 121 readsf~;
+#X obj 53 65 openpanel;
+#X msg 53 90 open \$1;
+#X msg 53 38 bang;
+#X msg 121 90 1;
+#X text 89 42 load sf;
+#X obj 53 213 *~;
+#X floatatom 68 180 5 0 0 0 - mix-in-orig -, f 5;
+#X obj 53 305 *~ 0.05;
+#X obj 53 336 dac~;
+#X obj 126 263 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 123 283 5 0 0 0 - - -, f 5;
+#N canvas 0 22 450 278 (subpatch) 0;
+#X array pvgrain-pf 46379 float 2;
+#X coords 0 1 46379 -1 200 140 1;
+#X restore 255 28 graph;
+#X obj 275 273 soundfiler;
+#X obj 275 207 loadbang;
+#X obj 144 137 r pvgrain-msgs;
+#N canvas 1172 705 632 335 control 0;
+#X obj 143 143 s pvgrain-msgs;
+#X msg 143 106 probability \$1;
+#X floatatom 143 73 7 0 0 0 - - -, f 7;
+#X obj 146 38 hsl 128 15 0.0001 0.1 0 0 empty pvgrain-prob empty -2
+-8 0 10 -262144 -1 -1 2530 1;
+#X msg 276 106 framegrains \$1;
+#X floatatom 276 73 5 1 60 0 - pvgrain-fgr -, f 5;
+#X msg 437 110 topfreq \$1;
+#X floatatom 437 75 7 50 20000 0 - pvgrain-topf -, f 7;
+#X floatatom 355 190 5 0 0 0 - base-freq -, f 5;
+#X obj 355 209 s base-frequency;
+#X obj 121 206 hsl 128 15 0 1 0 0 mix-in-orig empty mix-in-orig -2
+-8 0 10 -262144 -1 -1 0 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X restore 275 301 pd control;
+#N canvas 857 534 450 300 init 0;
+#X obj 39 78 loadbang;
+#X msg 39 114 \; base-freq 261 \; pvgrain-topf 4000 \; pvgrain-fgr
+20 \; pvgrain-prob 0.02;
+#X connect 0 0 1 0;
+#X restore 274 326 pd init;
+#N canvas 610 230 689 382 playback 0;
+#X obj 51 29 inlet;
+#X obj 92 104 + 1;
+#X obj 92 139 % 8;
+#N canvas 1105 181 610 733 gate8 0;
+#X obj 33 22 inlet;
+#X obj 525 101 inlet;
+#X obj 33 75 sel 0 1 2 3 4 5 6 7;
+#X obj 14 508 spigot;
+#X obj 14 530 outlet;
+#X obj 64 508 spigot;
+#X obj 64 530 outlet;
+#X obj 115 510 spigot;
+#X obj 115 532 outlet;
+#X obj 165 510 spigot;
+#X obj 165 532 outlet;
+#X obj 216 508 spigot;
+#X obj 216 530 outlet;
+#X obj 266 508 spigot;
+#X obj 266 530 outlet;
+#X obj 317 510 spigot;
+#X obj 317 532 outlet;
+#X obj 367 510 spigot;
+#X obj 367 532 outlet;
+#X obj 11 461 unpack f f f f f f f f, f 59;
+#X msg 34 115 1 0 0 0 0 0 0 0;
+#X msg 43 139 0 1 0 0 0 0 0 0;
+#X msg 57 161 0 0 1 0 0 0 0 0;
+#X msg 70 187 0 0 0 1 0 0 0 0;
+#X msg 90 221 0 0 0 0 1 0 0 0 0;
+#X msg 100 250 0 0 0 0 0 1 0 0 0;
+#X msg 117 279 0 0 0 0 0 0 1 0 0;
+#X msg 129 309 0 0 0 0 0 0 0 1 0;
+#X msg 142 337 0 0 0 0 0 0 0 0 1, f 79;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 1 0 5 0;
+#X connect 1 0 7 0;
+#X connect 1 0 9 0;
+#X connect 1 0 11 0;
+#X connect 1 0 13 0;
+#X connect 1 0 15 0;
+#X connect 1 0 17 0;
+#X connect 2 0 20 0;
+#X connect 2 1 21 0;
+#X connect 2 2 22 0;
+#X connect 2 3 23 0;
+#X connect 2 4 24 0;
+#X connect 2 5 25 0;
+#X connect 2 6 26 0;
+#X connect 2 7 27 0;
+#X connect 2 8 28 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 9 0 10 0;
+#X connect 11 0 12 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 19 0 3 1;
+#X connect 19 1 5 1;
+#X connect 19 2 7 1;
+#X connect 19 3 9 1;
+#X connect 19 4 11 1;
+#X connect 19 5 13 1;
+#X connect 19 6 15 1;
+#X connect 19 7 17 1;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 0;
+#X connect 25 0 19 0;
+#X connect 26 0 19 0;
+#X connect 27 0 19 0;
+#X connect 28 0 19 0;
+#X restore 92 165 pd gate8;
+#X obj 51 60 t l b;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 92 211 pd playlet;
+#X obj 92 263 outlet~;
+#X obj 51 105 f 0;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 163 211 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 238 210 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 309 210 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 383 209 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 454 209 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 529 208 pd playlet;
+#N canvas 775 197 588 642 playlet 0;
+#X obj 200 43 inlet;
+#X obj 200 95 unpack f f;
+#X obj 257 130 / 261;
+#X obj 65 407 line~;
+#X obj 65 444 tabread4~ pvgrain-pf;
+#X obj 65 499 *~ 0.1;
+#X floatatom 257 164 5 0 0 0 - - -, f 5;
+#X msg 20 375 1;
+#X msg 65 279 1051;
+#X obj 65 317 /;
+#X obj 257 200 t b f;
+#X obj 65 342 t f b;
+#X text 15 29 assumes 44100 SR;
+#X obj 65 545 outlet~;
+#X msg 65 374 46376 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 1;
+#X connect 1 1 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 1;
+#X connect 11 0 14 0;
+#X connect 11 1 7 0;
+#X connect 14 0 3 0;
+#X restore 600 208 pd playlet;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 1 0 7 1;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 8 0;
+#X connect 3 2 9 0;
+#X connect 3 3 10 0;
+#X connect 3 4 11 0;
+#X connect 3 5 12 0;
+#X connect 3 6 13 0;
+#X connect 3 7 14 0;
+#X connect 4 0 3 1;
+#X connect 4 1 7 0;
+#X connect 5 0 6 0;
+#X connect 7 0 1 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 10 0 6 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 13 0 6 0;
+#X connect 14 0 6 0;
+#X restore 126 220 pd playback;
+#X text 49 379 pvgrain~ tracks an input sound and outputs control data
+that can be used to play notes on a synthesizer or sampler.;
+#X msg 275 243 read -resize sound/Piano.aif pvgrain-pf;
+#X connect 0 0 19 0;
+#X connect 1 0 0 0;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 1;
+#X connect 9 0 10 0;
+#X connect 9 0 10 1;
+#X connect 11 0 12 0;
+#X connect 12 0 9 1;
+#X connect 15 0 21 0;
+#X connect 16 0 0 0;
+#X connect 19 0 9 0;
+#X connect 21 0 14 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvharm~-help.pd b/externals/fftease/fftease32-helpfiles/pvharm~-help.pd
new file mode 100644
index 000000000..3797d5570
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvharm~-help.pd
@@ -0,0 +1,46 @@
+#N canvas 591 546 544 339 10;
+#X obj 156 165 pvharm~;
+#X obj 156 56 phasor~ 261;
+#X obj 156 83 -~ 0.5;
+#X floatatom 192 103 5 0 0 0 - pvharm-t1 -, f 5;
+#X floatatom 236 102 5 0 0 0 - pvharm-t2 -, f 5;
+#X obj 297 101 sig~ 0.001;
+#X obj 156 241 *~ 0.05;
+#X obj 156 272 dac~;
+#X obj 198 201 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 300 1;
+#X floatatom 195 221 5 0 0 0 - - -, f 5;
+#N canvas 1322 528 450 300 init 0;
+#X msg 104 131 \; pvharm-t1 1.5 \; pvharm-t2 1.25 \;;
+#X obj 104 89 loadbang;
+#X connect 1 0 0 0;
+#X restore 381 140 pd init;
+#X text 71 295 pvharm~ provides basic harmonizing with two transpositions
+of the input internally calculated and mixed to the output;
+#X obj 45 128 r pvharm-msgs;
+#N canvas 1163 594 556 345 control 0;
+#X obj 134 188 s pvharm-msgs;
+#X msg 119 132 lowfreq \$1;
+#X floatatom 115 79 5 0 0 0 - - -, f 5;
+#X floatatom 224 78 5 0 0 0 - - -, f 5;
+#X msg 228 131 highfreq \$1;
+#X msg 354 140 osclimit \$1;
+#X floatatom 370 90 5 0 0 0 - - -, f 5;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X restore 354 198 pd control;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 2;
+#X connect 5 0 0 3;
+#X connect 6 0 7 0;
+#X connect 6 0 7 1;
+#X connect 8 0 9 0;
+#X connect 9 0 6 1;
+#X connect 12 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvoc~-help.pd b/externals/fftease/fftease32-helpfiles/pvoc~-help.pd
new file mode 100644
index 000000000..6f2b5f966
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvoc~-help.pd
@@ -0,0 +1,44 @@
+#N canvas 935 286 642 545 10;
+#X obj 236 346 *~ 0.05;
+#X obj 295 132 sig~ 0.001;
+#X obj 237 403 dac~;
+#X floatatom 249 63 5 0 0 0 - - -, f 5;
+#X obj 249 85 sig~ 1.5;
+#X msg 105 233 mute \$1;
+#X obj 105 203 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 295 110 5 0 0 0 - - -, f 5;
+#X msg 340 388 \; pd dsp \$1;
+#X obj 340 357 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 252 39 hsl 128 15 0.2 2 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 1500 1;
+#X obj 238 267 pvoc~ 2048;
+#X obj 278 306 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 275 326 5 0 0 0 - - -, f 5;
+#X obj 152 86 phasor~ 220;
+#X obj 152 111 -~ 0.5;
+#X msg 451 196 lowfreq \$1;
+#X floatatom 451 165 5 0 0 0 - - -, f 5;
+#X floatatom 529 170 5 0 0 0 - - -, f 5;
+#X msg 529 201 highfreq \$1;
+#X connect 0 0 2 0;
+#X connect 0 0 2 1;
+#X connect 1 0 11 2;
+#X connect 3 0 4 0;
+#X connect 4 0 11 1;
+#X connect 5 0 11 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 3 0;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 1;
+#X connect 14 0 15 0;
+#X connect 15 0 11 0;
+#X connect 16 0 11 0;
+#X connect 17 0 16 0;
+#X connect 18 0 19 0;
+#X connect 19 0 11 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvtuner~-help.pd b/externals/fftease/fftease32-helpfiles/pvtuner~-help.pd
new file mode 100644
index 000000000..95683637e
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvtuner~-help.pd
@@ -0,0 +1,101 @@
+#N canvas 849 580 545 411 10;
+#X obj 93 109 r pvtuner-msgs;
+#N canvas 1344 734 450 300 control 0;
+#X obj 103 205 s pvtuner-msgs;
+#X msg 103 175 basefreq \$1;
+#X floatatom 103 143 5 0 0 0 - - -, f 5;
+#X msg 205 175 interpolation \$1;
+#X obj 205 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 103 100 mtof;
+#X floatatom 103 62 5 21 64 0 - pvtuner-scalestp -, f 5;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 5 0;
+#X restore 364 189 pd control;
+#X obj 150 150 sig~ 1;
+#X obj 287 146 sig~ 0;
+#X floatatom 287 120 5 0 1 0 - - -, f 5;
+#X obj 290 95 hsl 128 15 0 1 0 0 empty pvtuner-interslide empty -2
+-8 0 10 -262144 -1 -1 0 1;
+#X obj 56 58 noise~;
+#X obj 100 271 *~ 0.05;
+#X obj 100 302 dac~;
+#X obj 142 231 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 1000 1;
+#X floatatom 139 251 5 0 0 0 - - -, f 5;
+#X obj 200 151 sig~ 0.01;
+#N canvas 249 593 683 461 scales 0;
+#X obj 49 418 s pvtuner-msgs;
+#X msg 118 96 minor_seventh_chord;
+#X msg 130 128 diatonic;
+#X msg 62 54 eq12;
+#N canvas 0 22 450 300 werkmeisterIII 0;
+#X msg 134 125 32.625 36.4726 40.9036 43.4989 48.7835 54.5367 61.357
+65.25 72.9451 81.8072 86.9977 97.5671 109.073 122.714 130.5 145.89
+163.614 173.995 195.134 218.147 245.428 261 291.78 327.229 347.991
+390.268 436.294 490.856 522 583.561 654.458 695.982 780.537 872.588
+981.712 1044 1167.12 1308.92 1391.96 1561.07 1745.18 1963.42 2088 2334.24
+2617.83 2783.93 3122.15 3490.35 3926.85 4176 4668.49 5235.66 5567.86
+6244.29 6980.7 7853.7;
+#X obj 146 55 inlet;
+#X obj 69 246 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X restore 318 116 pd werkmeisterIII;
+#X msg 320 80 bang;
+#X msg 289 190 added_sixth_minor;
+#X msg 294 222 added_sixth_major;
+#X msg 101 65 major_seventh_chord;
+#X msg 300 255 pelog;
+#X msg 326 301 slendro;
+#X msg 315 280 pentaclust;
+#X msg 307 334 pentatonic;
+#X msg 377 390 quarterclust;
+#X msg 14 121 eq8;
+#X msg 10 171 eq5;
+#X msg 208 150 eqn 7;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X restore 364 167 pd scales;
+#N canvas 739 94 450 300 init 0;
+#X obj 108 104 loadbang;
+#X msg 108 135 \; pvtuner-scalestp 21 \; pvtuner-interslide 1;
+#X connect 0 0 1 0;
+#X restore 364 211 pd init;
+#X text 44 342 pvtuner~ allows you to impose an arbitrary tuning scale
+on any input sound. Several scales are built into the object \, and
+you can provide arbitrary tunings with a sorted list of numbers representing
+Hz values.;
+#X text 188 57 Interpolate between scales \, when interpolation is
+on;
+#X obj 56 191 pvtuner~ 2048;
+#X connect 0 0 16 0;
+#X connect 2 0 16 1;
+#X connect 3 0 16 3;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 16 0;
+#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 9 0 10 0;
+#X connect 10 0 7 1;
+#X connect 11 0 16 2;
+#X connect 16 0 7 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvwarpb~-help.pd b/externals/fftease/fftease32-helpfiles/pvwarpb~-help.pd
new file mode 100644
index 000000000..04f9f85ab
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvwarpb~-help.pd
@@ -0,0 +1,105 @@
+#N canvas 888 460 692 533 10;
+#N canvas 495 165 450 278 (subpatch) 0;
+#X array pvwarpb-array 512 float 3;
+#A 0 0.203754 0.219606 0.235459 0.251311 0.267164 0.283017 0.298869
+0.314722 0.330575 0.346427 0.36228 0.378132 0.393985 0.409838 0.42569
+0.441543 0.457395 0.473248 0.489101 0.504953 0.520806 0.536658 0.552511
+0.568364 0.584216 0.600069 0.615921 0.631774 0.647627 0.663479 0.679332
+0.695185 0.711037 0.72689 0.742742 0.758595 0.774448 0.77349 0.772532
+0.771575 0.770617 0.769659 0.768702 0.767744 0.766786 0.765829 0.764871
+0.763914 0.762956 0.761998 0.761041 0.760083 0.759125 0.758168 0.75721
+0.756252 0.755295 0.754337 0.753379 0.752422 0.751464 0.750507 0.749549
+0.748591 0.747634 0.746676 0.745718 0.744761 0.743803 0.742845 0.741888
+0.74093 0.739973 0.739015 0.738057 0.7371 0.736142 0.735184 0.734227
+0.733269 0.732311 0.731354 0.730396 0.729438 0.728481 0.727523 0.726566
+0.728633 0.7307 0.732768 0.734835 0.736903 0.73897 0.741038 0.743105
+0.745172 0.74724 0.749307 0.751375 0.753442 0.755509 0.757577 0.759644
+0.761712 0.763779 0.765847 0.767914 0.769982 0.772049 0.774116 0.776184
+0.778251 0.780319 0.782386 0.784454 0.786521 0.788588 0.790656 0.792723
+0.794791 0.796858 0.798926 0.800993 0.80306 0.805128 0.807195 0.809263
+0.81133 0.813397 0.815465 0.817532 0.8196 0.821667 0.823735 0.825802
+0.827869 0.829937 0.832004 0.834072 0.836139 0.838207 0.840274 0.849787
+0.8593 0.868814 0.878327 0.88784 0.897354 0.906867 0.91638 0.925893
+0.935406 0.94492 0.954433 0.963946 0.973459 0.982973 0.992486 1.002
+1.01151 1.02103 1.03054 1.04005 1.04957 1.05908 1.06859 1.07811 1.08762
+1.09713 1.10664 1.11616 1.12567 1.13518 1.1447 1.15421 1.16372 1.17324
+1.18275 1.19226 1.20178 1.21129 1.2208 1.23032 1.23983 1.24934 1.25886
+1.26837 1.27788 1.2874 1.29691 1.30642 1.31594 1.31048 1.30503 1.29957
+1.29412 1.28866 1.28321 1.27775 1.2723 1.26685 1.26139 1.25594 1.25048
+1.24503 1.23957 1.23412 1.22866 1.22321 1.21775 1.2123 1.20685 1.20139
+1.19594 1.19048 1.18503 1.17957 1.17412 1.16866 1.16321 1.15775 1.1523
+1.14685 1.14139 1.13594 1.13048 1.12503 1.11957 1.11412 1.10866 1.10321
+1.09775 1.0923 1.08685 1.08139 1.07594 1.07048 1.06503 1.05957 1.05412
+1.04866 1.04321 1.03775 1.0323 1.02685 1.02139 1.01594 1.01048 1.00503
+0.999573 0.994118 0.988664 0.983209 0.977755 0.9723 0.966846 0.974203
+0.981559 0.988916 0.996273 1.00363 1.01099 1.01834 1.0257 1.03306 1.04041
+1.04777 1.05513 1.06248 1.06984 1.0772 1.08455 1.09191 1.09927 1.10663
+1.11398 1.12134 1.1287 1.13605 1.14341 1.15077 1.15812 1.16548 1.17284
+1.18019 1.18755 1.19491 1.20226 1.20962 1.21698 1.22433 1.23169 1.23905
+1.2464 1.25376 1.26112 1.26848 1.27583 1.28319 1.29055 1.2979 1.30526
+1.31262 1.31997 1.32733 1.33469 1.34204 1.3494 1.35676 1.36411 1.37147
+1.37883 1.38618 1.39354 1.4009 1.40825 1.41561 1.42297 1.43033 1.43768
+1.44504 1.4524 1.43825 1.42411 1.40997 1.39583 1.38169 1.36754 1.3534
+1.33926 1.32512 1.31098 1.29684 1.28269 1.26855 1.25441 1.24027 1.22613
+1.21198 1.19784 1.1837 1.16956 1.15542 1.14128 1.12713 1.11299 1.09885
+1.08471 1.07057 1.05642 1.04228 1.02814 1.02761 1.02707 1.02654 1.02601
+1.02547 1.02494 1.02441 1.02387 1.02334 1.02281 1.02227 1.02174 1.02121
+1.02068 1.02014 1.01961 1.01908 1.01854 1.01801 1.01748 1.01694 1.01641
+1.01588 1.01534 1.01481 1.01428 1.01374 1.01321 1.01268 1.01214 1.01161
+1.01108 1.01054 1.01001 1.00948 1.00894 1.00841 1.00788 1.00734 1.00681
+1.00628 1.00574 1.00521 1.00468 1.00414 1.00361 1.00308 1.00255 1.00201
+1.00148 1.00095 1.00041 0.999879 0.999346 0.998812 0.998279 0.997746
+0.997213 0.99668 0.996146 0.995613 0.99508 0.994547 0.994013 0.99348
+0.992947 0.992414 0.99188 0.991347 0.990814 0.990281 0.989748 0.989214
+0.988681 0.988148 0.987615 0.987081 0.986548 0.986015 0.985482 0.984948
+0.984415 0.983882 0.983349 0.982816 0.982282 0.981749 0.981216 0.980682
+0.980149 0.979616 0.979083 0.97855 0.978016 0.977483 0.97695 0.976417
+0.975883 0.97535 0.974817 0.974284 0.973751 0.973217 0.972684 0.972151
+0.971618 0.971084 0.970551 0.970018 0.969485 0.968951 0.95575 0.942548
+0.929346 0.916144 0.902942 0.88974 0.876538 0.863336 0.850134 0.836932
+0.82373 0.810529 0.797327 0.784125 0.770923 0.757721 0.744519 0.731317
+0.718115 0.704913 0.691711 0.67851 0.665308 0.652106 0.638904 0.625702
+0.6125 0.599298 0.586096 0.572894 0.559692 0.54649 0.533289 0.520087
+0.506885 0.493683 0.480481 0.467279 0.454077 0.440875 0.427673 0.414471
+0.401269 0.388068 0.374866 0.361664 0.348462 0.33526 0.322058;
+#X coords 0 2 511 0 200 140 1 0 0;
+#X restore 300 285 graph;
+#X obj 55 234 pvwarpb~ pvwarpb-array, f 72;
+#X obj 486 199 sig~ 0.0001;
+#X obj 55 329 *~ 0.05;
+#X obj 55 360 dac~;
+#X obj 97 289 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 4000 1;
+#X floatatom 94 309 5 0 0 0 - - -, f 5;
+#X obj 55 161 readsf~;
+#X obj 55 105 openpanel;
+#X msg 55 130 open \$1;
+#X msg 55 78 bang;
+#X msg 123 130 1;
+#X text 91 82 load sf;
+#X msg 201 158 autofunc 0.2 1.7;
+#X obj 436 190 sig~ 1;
+#X floatatom 386 150 5 0 0 0 - - -, f 5;
+#X obj 389 115 hsl 128 15 0 1 0 0 empty empty function-read-offset
+-2 -8 0 10 -262144 -1 -1 0 1;
+#X obj 439 149 hsl 128 15 0.2 2 0 0 empty empty transposition -2 -8
+0 10 -262144 -1 -1 3500 1;
+#X text 42 446 Spectrum warper. An internal frequency warping function
+is created either with the autofunc message. Try it on vocal sounds.
+In this version \, the warp function is read from a Pd array;
+#X connect 1 0 3 0;
+#X connect 2 0 1 3;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 5 0 6 0;
+#X connect 6 0 3 1;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 11 0 7 0;
+#X connect 13 0 1 0;
+#X connect 14 0 1 2;
+#X connect 15 0 1 1;
+#X connect 16 0 15 0;
+#X connect 17 0 14 0;
diff --git a/externals/fftease/fftease32-helpfiles/pvwarp~-help.pd b/externals/fftease/fftease32-helpfiles/pvwarp~-help.pd
new file mode 100644
index 000000000..dccf1dfc2
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/pvwarp~-help.pd
@@ -0,0 +1,68 @@
+#N canvas 891 601 544 383 10;
+#X obj 34 179 pvwarp~, f 63;
+#X obj 34 140 readsf~;
+#X obj 34 84 openpanel;
+#X msg 34 109 open \$1;
+#X msg 34 57 bang;
+#X msg 102 109 1;
+#X text 70 61 load sf;
+#X obj 34 264 *~ 0.05;
+#X obj 34 295 dac~;
+#X obj 76 224 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 73 244 5 0 0 0 - - -, f 5;
+#X obj 379 117 sig~ 0.0001;
+#X floatatom 367 97 5 0 0 0 - - -, f 5;
+#X floatatom 318 124 5 0 0 0 - - -, f 5;
+#X msg 177 86 autofunc 0.1 2;
+#N canvas 946 176 450 300 a-lump 0;
+#X obj 85 206 outlet;
+#X obj 85 172 pack f f f;
+#X floatatom 175 93 5 0 0 0 - - -, f 5;
+#X obj 175 114 t b f;
+#X floatatom 123 88 5 0 0 0 - - -, f 5;
+#X obj 123 109 t b f;
+#X floatatom 62 87 5 0 0 0 - - -, f 5;
+#X msg 61 29 667 0.45 0.25;
+#X obj 62 54 unpack f f f;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 1 1 2;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 5 1 1 1;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 8 1 4 0;
+#X connect 8 2 2 0;
+#X restore 166 121 pd a-lump;
+#X obj 166 143 unpack f f f;
+#X obj 370 63 hsl 128 15 0.25 2 0 0 empty empty Transposition -2 -8
+0 10 -262144 -1 -1 0 1;
+#X obj 279 29 hsl 128 15 0 1 0 0 empty empty function-read-offset -2
+-8 0 10 -262144 -1 -1 0 1;
+#X text 32 327 Spectrum warper. An internal frequency warping function
+is created either according to specification or with the autofunc message.
+Try it on vocal sounds.;
+#X connect 0 0 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 9 0 10 0;
+#X connect 10 0 7 1;
+#X connect 11 0 0 9;
+#X connect 12 0 0 8;
+#X connect 13 0 0 7;
+#X connect 14 0 0 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 1;
+#X connect 16 1 0 2;
+#X connect 16 2 0 3;
+#X connect 17 0 12 0;
+#X connect 18 0 13 0;
diff --git a/externals/fftease/fftease32-helpfiles/reanimator~-help.pd b/externals/fftease/fftease32-helpfiles/reanimator~-help.pd
new file mode 100644
index 000000000..3eb956f3d
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/reanimator~-help.pd
@@ -0,0 +1,76 @@
+#N canvas 892 417 468 461 10;
+#X obj 148 169 reanimator~ 2000;
+#X obj 148 104 readsf~;
+#X obj 148 48 openpanel;
+#X msg 148 73 open \$1;
+#X msg 148 21 bang;
+#X msg 216 73 1;
+#X text 184 25 load driver sf;
+#X obj 287 111 readsf~;
+#X obj 287 55 openpanel;
+#X msg 287 80 open \$1;
+#X msg 287 28 bang;
+#X text 323 32 load texture sf;
+#X obj 148 324 *~ 0.05;
+#X obj 148 355 dac~;
+#X obj 190 284 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 187 304 5 0 0 0 - - -, f 5;
+#X floatatom 274 232 5 0 0 0 - - -, f 5;
+#X floatatom 183 232 5 0 0 0 - - -, f 5;
+#N canvas 404 737 450 300 showframe 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 183 208 pd showframe;
+#X msg 37 122 analyze;
+#X text 26 385 reanimator~ first analyzes a "texture" sound \, and
+then resynthesizes a "driver" sound by finding the spectral frame in
+the texture sound that is closest to the current driver frame.;
+#N canvas 404 737 450 300 show-analysis-progress 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 274 208 pd show-analysis-progress;
+#X connect 0 0 12 0;
+#X connect 0 1 18 0;
+#X connect 0 2 21 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 7 0;
+#X connect 7 0 0 1;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
+#X connect 18 0 17 0;
+#X connect 19 0 0 0;
+#X connect 21 0 16 0;
diff --git a/externals/fftease/fftease32-helpfiles/resent~-help.pd b/externals/fftease/fftease32-helpfiles/resent~-help.pd
new file mode 100644
index 000000000..23b35bc9b
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/resent~-help.pd
@@ -0,0 +1,129 @@
+#N canvas 932 503 426 468 10;
+#X obj 162 102 readsf~;
+#X obj 162 46 openpanel;
+#X msg 162 71 open \$1;
+#X msg 162 19 bang;
+#X msg 230 71 1;
+#X text 198 23 load sf;
+#X obj 162 149 resent~ 6000;
+#N canvas 404 737 450 300 showsync 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 239 178 pd showsync;
+#X floatatom 239 203 5 0 0 0 - - -, f 5;
+#X obj 162 296 *~ 0.05;
+#X obj 162 327 dac~;
+#X obj 204 256 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 201 276 5 0 0 0 - - -, f 5;
+#X msg 24 42 acquire_sample;
+#X obj 26 119 r resent-msgs;
+#N canvas 1044 90 450 300 speed-and-phase 0;
+#X obj 124 236 s resent-msgs;
+#X msg 23 139 setspeed \$1;
+#X floatatom 23 113 5 0 0 0 - - -, f 5;
+#X obj 26 84 hsl 128 15 -2 2 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 267 189 addphase \$1;
+#X floatatom 267 167 5 0 0 0 - - -, f 5;
+#X obj 270 138 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 122 168 5 0 0 0 - - -, f 5;
+#X obj 125 139 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 122 190 setphase \$1;
+#X msg 234 81 setspeed_and_phase \$1 \$2;
+#X msg 237 31 1 0;
+#X msg 278 32 0 0;
+#X msg 324 31 -1 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X restore 242 322 pd speed-and-phase;
+#N canvas 133 590 450 300 oscbank 0;
+#X obj 124 236 s resent-msgs;
+#X msg 103 144 oscbank \$1;
+#X obj 103 96 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 190 140 transpose \$1;
+#X floatatom 192 110 5 0 0 0 - - -, f 5;
+#X obj 197 66 hsl 128 15 0.1 2 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 312 184 synthresh \$1;
+#X msg 309 145 0.001;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X restore 241 351 pd oscbank;
+#N canvas 775 566 719 379 individual-bin-control 0;
+#X obj 34 343 s resent-msgs;
+#X msg 115 152 linespeed 0 -1 511 1;
+#X msg 183 184 randspeed 0.5 0.9;
+#X msg 245 217 randphase 0 1;
+#X msg 340 311 setspeed_and_phase \$1 \$2;
+#X msg 340 278 0 0;
+#X text 369 274 first freeze sound to hear effects;
+#X msg 32 174 bin \$1 \$2;
+#X obj 32 126 pack f f;
+#X floatatom 87 69 5 0 0 0 - - -, f 5;
+#X floatatom 26 44 5 0 511 0 - - -, f 5;
+#X text 128 69 speed;
+#X text 70 47 bin number;
+#X text 108 119 terminal value limited by FFT size / 2;
+#X text 255 151 linear distribution of speeds. (we assume here an FFT
+size of 1024.);
+#X text 310 183 likewise for phase;
+#X text 339 217 randomly set all speeds within min/max parameters;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 1;
+#X connect 10 0 8 0;
+#X restore 242 294 pd individual-bin-control;
+#X text 28 394 resent~ follows the model of residency~ but allows independent
+control over each bin. It is recommended that you familiarize yourself
+with residency~ before working with the more complicated resent~;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 6 0 9 0;
+#X connect 6 1 7 0;
+#X connect 7 0 8 0;
+#X connect 9 0 10 0;
+#X connect 9 0 10 1;
+#X connect 11 0 12 0;
+#X connect 12 0 9 1;
+#X connect 13 0 6 0;
+#X connect 14 0 6 0;
diff --git a/externals/fftease/fftease32-helpfiles/residency_buffer~-help.pd b/externals/fftease/fftease32-helpfiles/residency_buffer~-help.pd
new file mode 100644
index 000000000..37f5a1844
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/residency_buffer~-help.pd
@@ -0,0 +1,76 @@
+#N canvas 771 474 726 482 10;
+#N canvas 0 22 450 278 (subpatch) 0;
+#X array analysis-array1 1.76744e+06 float 2;
+#X coords 0 32767 1.76744e+06 -32768 200 140 1 0 0;
+#X restore 456 47 graph;
+#X obj 88 148 residency_buffer~ analysis-array1;
+#X obj 88 119 readsf~;
+#X obj 88 63 openpanel;
+#X msg 88 88 open \$1;
+#X msg 88 36 bang;
+#X msg 156 88 1;
+#X text 124 40 load sf;
+#X obj 89 260 *~ 0.05;
+#X obj 89 291 dac~;
+#X obj 131 220 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 128 240 5 0 0 0 - - -, f 5;
+#X floatatom 204 71 5 0 0 0 - - -, f 5;
+#X floatatom 272 73 5 0 0 0 - - -, f 5;
+#X obj 274 29 hsl 128 15 0 1 0 0 empty empty position -2 -8 0 10 -262144
+-1 -1 8900 1;
+#X msg 5 117 calcbuf 5000;
+#X msg 273 216 set \$1;
+#X msg 273 242 1.76745e+06;
+#N canvas 404 737 450 300 showsync 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 220 269 pd showsync;
+#X floatatom 220 294 5 0 0 0 - - -, f 5;
+#X obj 200 112 sig~ 0;
+#X obj 276 108 sig~ 0;
+#X msg 11 12 acquire_sample;
+#X text 458 191 warning: do not write into this array \, as you will
+create extremely loud glitches if you do so.;
+#X text 46 349 residency_buffer~ is like residency~ except that it
+uses a Pd array rather than an internal buffer. This makes it more
+complicated to work with \, but potentially more efficient than residency~.
+Any number of units may access the same array (or different ones).
+The array name is the obbligatory first argument. Do NOT attempt to
+play the recorded buffer with tabread~ or other time-domain audio objects
+unless you have some idea of what you are doing (and turn the volume
+way down before attempting this).;
+#X text 353 243 required array size;
+#X connect 1 0 8 0;
+#X connect 1 1 18 0;
+#X connect 1 2 16 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 2 0;
+#X connect 8 0 9 0;
+#X connect 8 0 9 1;
+#X connect 10 0 11 0;
+#X connect 11 0 8 1;
+#X connect 12 0 20 0;
+#X connect 13 0 21 0;
+#X connect 14 0 13 0;
+#X connect 15 0 1 0;
+#X connect 16 0 17 0;
+#X connect 18 0 19 0;
+#X connect 20 0 1 1;
+#X connect 21 0 1 2;
+#X connect 22 0 1 0;
diff --git a/externals/fftease/fftease32-helpfiles/residency~-help.pd b/externals/fftease/fftease32-helpfiles/residency~-help.pd
new file mode 100644
index 000000000..bdfc8e0b2
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/residency~-help.pd
@@ -0,0 +1,62 @@
+#N canvas 759 530 540 383 10;
+#X obj 109 147 residency~ 5000;
+#X obj 109 114 readsf~;
+#X obj 109 56 openpanel;
+#X msg 109 81 open \$1;
+#X msg 109 29 bang;
+#X msg 177 81 1;
+#X text 145 33 load sf;
+#X obj 109 239 *~ 0.05;
+#X obj 109 270 dac~;
+#X obj 151 199 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 12700 1;
+#X floatatom 148 219 5 0 0 0 - - -, f 5;
+#N canvas 404 737 450 300 showsync 0;
+#X obj 205 102 inlet~;
+#X obj 205 159 snapshot~;
+#X obj 325 121 metro 50;
+#X obj 325 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 325 22 loadbang;
+#X msg 325 57 1;
+#X obj 205 225 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 346 212 pd showsync;
+#X floatatom 346 237 5 0 0 0 - - -, f 5;
+#X floatatom 233 105 5 0 0 0 - - -, f 5;
+#X floatatom 359 110 5 0 0 0 - - -, f 5;
+#X msg 276 39 0 0;
+#X obj 276 64 unpack f f;
+#X msg 13 59 acquire_sample;
+#X obj 364 54 hsl 128 15 0 1 0 0 empty empty position -2 -8 0 10 -262144
+-1 -1 2200 1;
+#X obj 276 10 loadbang;
+#X text 274 105 speed;
+#X text 108 306 residency~ samples input to an internal buffer \, after
+which the sound can be resynthesized with arbitrary speed and pitch.
+;
+#X connect 0 0 7 0;
+#X connect 0 1 11 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 9 0 10 0;
+#X connect 10 0 7 1;
+#X connect 11 0 12 0;
+#X connect 13 0 0 1;
+#X connect 14 0 0 2;
+#X connect 15 0 16 0;
+#X connect 16 0 13 0;
+#X connect 16 1 14 0;
+#X connect 17 0 0 0;
+#X connect 18 0 14 0;
+#X connect 19 0 15 0;
diff --git a/externals/fftease/fftease32-helpfiles/schmear~-help.pd b/externals/fftease/fftease32-helpfiles/schmear~-help.pd
new file mode 100644
index 000000000..f29dac22e
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/schmear~-help.pd
@@ -0,0 +1,68 @@
+#N canvas 663 510 451 371 10;
+#X obj 152 146 schmear~;
+#X obj 152 234 *~ 0.05;
+#X obj 152 265 dac~;
+#X obj 194 194 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 191 214 5 0 0 0 - - -, f 5;
+#X obj 40 116 r schmear-msgs;
+#X obj 152 98 osc~ 140;
+#N canvas 1092 277 472 423 vibrato 0;
+#X obj 110 127 osc~ 0.3;
+#X obj 110 173 *~ 50;
+#X obj 109 214 +~ 100;
+#X obj 109 261 *~;
+#X obj 229 71 inlet;
+#X obj 106 340 outlet~;
+#X obj 107 303 +~ 140;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 6 0 5 0;
+#X restore 101 54 pd vibrato;
+#X obj 101 21 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#N canvas 1290 542 450 300 impulses 0;
+#X msg 27 90 schmimp 1;
+#X msg 36 121 schmimp 0 0 0 0 0 0 0.25 0 0 1 1 1 1;
+#X msg 46 146 schmimp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.001 0 1 0
+0 1 0 0 0 1;
+#X msg 63 184 schmimp 0 0 0 0 0 0 0 0 0 0 1 0.1 0 1 0.1 0 0.1 1 0.1
+0 0;
+#X obj 41 247 s schmear-msgs;
+#X text 92 92 no smear;
+#X text 227 105 a few different kernels:;
+#X connect 0 0 4 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X restore 276 91 pd impulses;
+#N canvas 1159 204 450 300 control 0;
+#X obj 49 185 s schmear-msgs;
+#X msg 51 135 threshold \$1;
+#X floatatom 49 98 5 0 0 0 - - -, f 5;
+#X obj 56 67 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 248 138 shift \$1;
+#X floatatom 249 109 5 0 511 0 - - -, f 5;
+#X text 246 84 shift bin energy upward;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X restore 276 116 pd control;
+#X text 51 290 schmear~ convolves the amplitude spectrum with a user-supplied
+impulse response \, thus smearing the spectrum \, for those times when
+you need a New York moment.;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
diff --git a/externals/fftease/fftease32-helpfiles/scrape~-help.pd b/externals/fftease/fftease32-helpfiles/scrape~-help.pd
new file mode 100644
index 000000000..8e4dbfe93
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/scrape~-help.pd
@@ -0,0 +1,46 @@
+#N canvas 764 423 510 389 10;
+#X obj 50 150 scrape~, f 33;
+#X obj 50 110 readsf~;
+#X obj 50 54 openpanel;
+#X msg 50 79 open \$1;
+#X msg 50 27 bang;
+#X text 86 31 load sf;
+#X obj 50 227 *~ 0.05;
+#X obj 50 258 dac~;
+#X obj 92 187 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 89 207 5 0 0 0 - - -, f 5;
+#X floatatom 284 19 5 0 0 1 knee scrape-knee -, f 5;
+#X floatatom 285 39 5 0 0 1 cutoff scrape-cutoff -, f 5;
+#X floatatom 284 62 5 0 0 1 thresh1 scrape-t1 -, f 5;
+#X floatatom 285 82 5 0 0 1 thresh2 scrape-t2 -, f 5;
+#X floatatom 285 104 5 0 0 1 weak-bin-multiplier scrape-wbm -, f 5
+;
+#N canvas 1271 554 450 300 init 0;
+#X msg 72 99 \; scrape-knee 1000 \; scrape-cutoff 4000 \; scrape-t1
+0.001 \; scrape-t2 0.05 \; scrape-wbm 0.1;
+#X obj 72 65 loadbang;
+#X connect 1 0 0 0;
+#X restore 284 147 pd init;
+#X text 39 280 scrape~ is like drown~ except that it only operates
+between the frequencies specified by knee and cutoff to the Nyquist.
+Between knee and cutoff is a transition range to gradually increase
+the noise reduction. This is good if you just want to scrape some noise
+off the upper frequency range without affecting lower parts of the
+spectrum (much).;
+#X msg 118 79 1;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 6 0 7 0;
+#X connect 6 0 7 1;
+#X connect 8 0 9 0;
+#X connect 9 0 6 1;
+#X connect 10 0 0 1;
+#X connect 11 0 0 2;
+#X connect 12 0 0 3;
+#X connect 13 0 0 4;
+#X connect 14 0 0 5;
+#X connect 17 0 1 0;
diff --git a/externals/fftease/fftease32-helpfiles/shapee~-help.pd b/externals/fftease/fftease32-helpfiles/shapee~-help.pd
new file mode 100644
index 000000000..c8cf34061
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/shapee~-help.pd
@@ -0,0 +1,38 @@
+#N canvas 736 486 451 368 10;
+#X obj 27 107 readsf~;
+#X obj 27 51 openpanel;
+#X msg 27 76 open \$1;
+#X msg 27 24 bang;
+#X msg 95 76 1;
+#X obj 187 110 readsf~;
+#X obj 187 54 openpanel;
+#X msg 187 79 open \$1;
+#X msg 187 27 bang;
+#X text 63 28 load frequency sf;
+#X text 223 31 load formant sf;
+#X floatatom 355 113 5 1 511 2 shape-width - -, f 5;
+#X obj 27 247 *~ 0.05;
+#X obj 27 278 dac~;
+#X obj 69 207 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 66 227 5 0 0 0 - - -, f 5;
+#X obj 27 167 shapee~;
+#X text 23 308 shapee~ shapes the frequency evolution of one signal
+with that of another. The shape width controls the amount of the frequency
+shaping effect.;
+#X connect 0 0 16 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 16 1;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 11 0 16 2;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
+#X connect 16 0 12 0;
diff --git a/externals/fftease/fftease32-helpfiles/smap-help.pd b/externals/fftease/fftease32-helpfiles/smap-help.pd
new file mode 100644
index 000000000..37a53b9e2
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/smap-help.pd
@@ -0,0 +1,9 @@
+#N canvas 246 169 450 300 10;
+#X obj 141 163 smap 0 4;
+#X obj 144 113 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 141 195 5 0 0 0 - - -;
+#X text 49 56 remap a 0-127 MIDI input range to the output range specified
+in the arguments;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/sound/Piano.aif b/externals/fftease/fftease32-helpfiles/sound/Piano.aif
new file mode 100644
index 0000000000000000000000000000000000000000..837dbc6350a4e8b63b4794fa09d45d8b991a0e85
GIT binary patch
literal 92812
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

literal 0
HcmV?d00001

diff --git a/externals/fftease/fftease32-helpfiles/swinger~-help.pd b/externals/fftease/fftease32-helpfiles/swinger~-help.pd
new file mode 100644
index 000000000..9b909cf9f
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/swinger~-help.pd
@@ -0,0 +1,37 @@
+#N canvas 803 561 465 402 10;
+#X obj 113 188 swinger~;
+#X obj 55 119 readsf~;
+#X obj 55 63 openpanel;
+#X msg 55 88 open \$1;
+#X msg 55 36 bang;
+#X msg 123 88 1;
+#X obj 222 120 readsf~;
+#X obj 222 64 openpanel;
+#X msg 222 89 open \$1;
+#X msg 222 37 bang;
+#X text 91 40 load amplitude sf;
+#X text 258 41 load phase sf;
+#X obj 156 241 *~ 0.05;
+#X obj 156 272 dac~;
+#X obj 198 201 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 8300 1;
+#X floatatom 195 221 5 0 0 0 - - -, f 5;
+#X text 48 309 swinger~ replaces the phases of one signal (left) with
+those from another (right). The result often sounds like victory. A
+swinging trick: Don't connect any signal to the right inlet and listen
+to the result.;
+#X connect 0 0 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 1;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
diff --git a/externals/fftease/fftease32-helpfiles/taint~-help.pd b/externals/fftease/fftease32-helpfiles/taint~-help.pd
new file mode 100644
index 000000000..49c9a88c4
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/taint~-help.pd
@@ -0,0 +1,82 @@
+#N canvas 638 328 720 564 10;
+#X obj 153 253 taint~, f 18;
+#X obj 301 112 expr pow(10 \, $f1/20);
+#X floatatom 301 55 5 -180 0 0 - taint-invthresh -, f 5;
+#X floatatom 230 201 5 0 0 0 - taint-scaleexp -, f 5;
+#X obj 38 105 readsf~;
+#X obj 38 49 openpanel;
+#X msg 38 74 open \$1;
+#X msg 38 22 bang;
+#X msg 106 74 1;
+#X text 74 26 load sf;
+#X obj 156 105 readsf~;
+#X obj 156 49 openpanel;
+#X msg 156 74 open \$1;
+#X msg 156 22 bang;
+#X text 192 26 load sf;
+#X obj 161 334 *~ 0.05;
+#X obj 161 365 dac~;
+#X obj 203 294 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 3900 1;
+#X floatatom 200 314 5 0 0 0 - - -, f 5;
+#X text 28 404 taint~ multiplies the spectra of two input signals.
+Multiplication of spectra can cause significant drops in the amplitude
+of the output signal. The inverse option allows division of the input
+spectra. Division requires the use of a threshold to avert division
+by zero. Also \, signal division will cause massive amplitude gains.
+Be careful of your ears and equipment. Start the amplitude very low
+(-100dB) and slowly work up to an acceptable level. A pad is provided
+to balance gain between normal and invert options.;
+#X obj 24 197 r taint-msgs;
+#N canvas 1384 608 450 300 control 0;
+#X obj 115 206 s taint-msgs;
+#X floatatom 114 54 5 0 0 0 - taint-pad -, f 5;
+#X obj 114 77 expr pow(10 \, $f1/20);
+#X floatatom 114 99 5 0 0 0 - - -, f 5;
+#X msg 114 118 pad \$1;
+#X msg 287 146 invert \$1;
+#X obj 287 113 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 21 11 this pad only affects the gain when "invert" is turned
+on thus it may be used to balance levels between the two states of
+taint~;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X restore 257 337 pd control;
+#N canvas 0 22 450 300 init 1;
+#X obj 185 126 loadbang;
+#X msg 182 165 \; taint-pad -36 \; taint-scaleexp 0.2 \; taint-invthresh
+-40;
+#X connect 0 0 1 0;
+#X restore 258 362 pd init;
+#X text 339 50 inverse threshold (lower values intensify effect but
+only when "invert" is turned on);
+#X text 278 202 scaling exponent (lower values increase amplitude)
+;
+#X obj 492 289 hsl 128 15 0.05 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 1200 1;
+#X obj 489 309 s taint-scaleexp;
+#X connect 0 0 15 0;
+#X connect 1 0 0 3;
+#X connect 2 0 1 0;
+#X connect 3 0 0 2;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
+#X connect 8 0 4 0;
+#X connect 8 0 10 0;
+#X connect 10 0 0 1;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 11 0;
+#X connect 15 0 16 0;
+#X connect 15 0 16 1;
+#X connect 17 0 18 0;
+#X connect 18 0 15 1;
+#X connect 20 0 0 0;
+#X connect 25 0 26 0;
diff --git a/externals/fftease/fftease32-helpfiles/thresher~-help.pd b/externals/fftease/fftease32-helpfiles/thresher~-help.pd
new file mode 100644
index 000000000..1b67ca7c1
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/thresher~-help.pd
@@ -0,0 +1,45 @@
+#N canvas 815 263 505 512 10;
+#X obj 100 193 thresher~;
+#X obj 45 108 readsf~;
+#X obj 45 52 openpanel;
+#X msg 45 77 open \$1;
+#X msg 45 25 bang;
+#X msg 113 77 1;
+#X text 81 29 load sf;
+#X floatatom 164 136 5 0 0 0 - - -, f 5;
+#X floatatom 290 137 5 0 0 0 - - -, f 5;
+#X obj 294 -19 vsl 15 128 0.7 1 0 0 empty thresher-damp empty 0 -9
+0 10 -262144 -1 -1 12067 1;
+#X obj 164 -19 vsl 15 128 0 0.5 0 0 empty thresher-thresh empty 0 -9
+0 10 -262144 -1 -1 900 1;
+#X obj 108 273 *~ 0.05;
+#X obj 108 304 dac~;
+#X obj 150 233 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 12700 1;
+#X floatatom 147 253 5 0 0 0 - - -, f 5;
+#X text 46 330 thresher~ sustains the amplitude and frequency in lower-energy
+FFT bins. The extent of this effect is controlled by the threshold
+parameter: at 0 all frames pass \, at higher values more frames are
+sustained. The damping factor controls the decay time. A value of 1
+gives an infinite freeze.;
+#X text 329 137 damping factor;
+#X text 201 139 threshold;
+#N canvas 0 22 450 300 init 0;
+#X msg 164 150 \; thresher-thresh 0.05 \; thresher-damp 0.9;
+#X obj 214 82 loadbang;
+#X connect 1 0 0 0;
+#X restore 334 211 pd init;
+#X connect 0 0 11 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 0 1;
+#X connect 8 0 0 2;
+#X connect 9 0 8 0;
+#X connect 10 0 7 0;
+#X connect 11 0 12 0;
+#X connect 11 0 12 1;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
diff --git a/externals/fftease/fftease32-helpfiles/vacancy~-help.pd b/externals/fftease/fftease32-helpfiles/vacancy~-help.pd
new file mode 100644
index 000000000..d151b829c
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/vacancy~-help.pd
@@ -0,0 +1,64 @@
+#N canvas 713 398 517 445 10;
+#X obj 152 182 vacancy~;
+#X obj 146 115 readsf~;
+#X obj 146 59 openpanel;
+#X msg 146 84 open \$1;
+#X msg 146 32 bang;
+#X msg 214 84 1;
+#X text 182 36 load sf;
+#X obj 263 114 readsf~;
+#X obj 263 58 openpanel;
+#X msg 263 83 open \$1;
+#X msg 263 31 bang;
+#X text 299 35 load sf;
+#X obj 183 227 *~ 0.05;
+#X obj 183 258 dac~;
+#X obj 225 187 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 6700 1;
+#X floatatom 222 207 5 0 0 0 - - -, f 5;
+#X floatatom 357 129 5 0 0 0 - - -, f 5;
+#X obj 23 139 r vacancy-msgs;
+#N canvas 1360 274 450 300 control 0;
+#X obj 129 174 s vacancy-msgs;
+#X msg 98 107 rms \$1;
+#X obj 98 62 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#X obj 178 55 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 178 100 invert \$1;
+#X obj 272 69 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 272 114 swapphase \$1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X restore 44 225 pd control;
+#X text 45 296 vacancy~ performs spectral compositing. The threshold
+controls the compositing. Useful values lie in the range from -90 dB
+to 90 dB. Threshold inversion is available via the invert message.
+The threshold can also track the current RMS value of of the signal.
+In RMS tracking mode \, the useful threshold range will be somewhat
+different depending upon the character of the input signals. Phases
+will be derived from the left input unless phase swapping is specified.
+In this case phases will be taken from the right input signal when
+the threshold test is true.;
+#X connect 0 0 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 7 0;
+#X connect 7 0 0 1;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
+#X connect 16 0 0 2;
+#X connect 17 0 0 0;
diff --git a/externals/fftease/fftease32-helpfiles/xsyn~-help.pd b/externals/fftease/fftease32-helpfiles/xsyn~-help.pd
new file mode 100644
index 000000000..07392a771
--- /dev/null
+++ b/externals/fftease/fftease32-helpfiles/xsyn~-help.pd
@@ -0,0 +1,35 @@
+#N canvas 879 506 472 383 10;
+#X obj 149 181 xsyn~;
+#X obj 31 100 readsf~;
+#X obj 31 44 openpanel;
+#X msg 31 69 open \$1;
+#X msg 31 17 bang;
+#X msg 99 69 1;
+#X text 67 21 load sf;
+#X obj 200 113 readsf~;
+#X obj 200 57 openpanel;
+#X msg 200 82 open \$1;
+#X msg 200 30 bang;
+#X text 236 34 load sf;
+#X obj 152 234 *~ 0.05;
+#X obj 152 265 dac~;
+#X obj 194 194 hsl 128 15 0 1 0 0 empty empty Gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 191 214 5 0 0 0 - - -, f 5;
+#X text 34 320 xsyn~ filters the first input with the second input
+\, creating a spectral cross synthesis effect.;
+#X connect 0 0 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 7 0;
+#X connect 7 0 0 1;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 12 0 13 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 1;
diff --git a/externals/fftease/fftease_setup.c b/externals/fftease/fftease_setup.c
new file mode 100644
index 000000000..981bc1339
--- /dev/null
+++ b/externals/fftease/fftease_setup.c
@@ -0,0 +1,5 @@
+void fftease_setup(void)
+{
+//  post("Loaded FFTease Library");
+//  printf("Loaded FFTease Library(2)");
+}
diff --git a/externals/fftease/fftease_utilities.c b/externals/fftease/fftease_utilities.c
new file mode 100644
index 000000000..3ccacac28
--- /dev/null
+++ b/externals/fftease/fftease_utilities.c
@@ -0,0 +1,276 @@
+#include "fftease.h"
+#define FFTEASE_LIB_VERSION "FFTease library 3.0 Pd 32-bit version"
+
+void fftease_noalias(t_fftease* fft, short flag)
+{
+	fft->noalias = flag;
+}
+
+int fftease_fft_size( int testfft )
+{
+int test = 2;
+	if( testfft <= 0 )
+		return DEFAULT_FFTEASE_FFTSIZE;
+	while( test < testfft && test < FFTEASE_MAX_FFTSIZE){
+		test *= 2;
+	}
+	if( test != testfft ){
+		post("incorrect FFT size specified, using %d", DEFAULT_FFTEASE_FFTSIZE);
+		test = DEFAULT_FFTEASE_FFTSIZE;
+	}
+	if( test == FFTEASE_MAX_FFTSIZE){
+		post("fftsize capped at maximum: %d", test);
+	}
+	return test;
+}
+
+void fftease_set_fft_buffers(t_fftease *fft)
+{
+	if( fft->D <= 0 || fft->MSPVectorSize <= 0 ){
+		return;
+	}
+    // post("setting up FFTease buffers");
+	fft->operationCount = 0;
+	if( fft->D > fft->MSPVectorSize ){
+		fft->operationRepeat = fft->D / fft->MSPVectorSize;
+		fft->bufferStatus = BIGGER_THAN_MSP_VECTOR;
+		// post("fftease_set_fft_buffers: bigger than MSP vector");
+	} else if( fft->D < fft->MSPVectorSize ){
+		fft->operationRepeat = fft->MSPVectorSize / fft->D;
+		fft->bufferStatus = SMALLER_THAN_MSP_VECTOR;
+		// post("fftease_set_fft_buffers: smaller than MSP buffer");
+	} else {
+		fft->operationRepeat = 1;
+		fft->bufferStatus = EQUAL_TO_MSP_VECTOR;
+		// post("fftease_set_fft_buffers: equal to MSP buffer");
+	}
+}
+
+int fftease_overlap( int overlap )
+{
+	int target = 1;
+	while( target < overlap && target < 64 ){
+		target *= 2;
+	}
+	if( target != overlap ){
+		error("fftease_overlap: %d is not a legal overlap factor",overlap);
+		return 1;
+	}
+	return overlap;
+}
+
+int fftease_winfac( int winfac)
+{
+	int target = 1;
+	while( target < winfac && target < 64 ){
+		target *= 2;
+	}
+	if( target != winfac ){
+		// error("%d is not a legal window factor", winfac);
+		return 1;
+	}
+	return winfac;
+}
+
+void fftease_oscbank_setbins(t_fftease *fft, t_float lowfreq, t_float highfreq)
+{
+	if(fft->initialized == -1){
+		post("oscbank setbins inhibited");
+		return;
+	}
+	t_float curfreq = 0;
+	fft->hi_bin = 1;
+	int N2 = fft->N2;
+	while(curfreq < highfreq){
+		++(fft->hi_bin);
+		curfreq += fft->c_fundamental;
+	}
+	fft->lo_bin = 0;
+	curfreq = 0;
+	while(curfreq < lowfreq){
+		++(fft->lo_bin);
+		curfreq += fft->c_fundamental;
+	}
+	if(fft->hi_bin > N2)
+		fft->hi_bin = N2;
+//	post("lowfreq %f highfreq %f low bin %d high bin %d",lowfreq, highfreq, fft->lo_bin, fft->hi_bin);
+}
+
+void fftease_init(t_fftease *fft)
+{
+	int i;
+	int mem;
+	if(fft->initialized == -1){
+		// post("fftease_init manually aborted with initialization status -1");
+		return;
+	}
+	if(!fft->R){
+		// post("fftease_init: zero sample rate, aborting init");
+        return;
+    }
+	// fft->init_status = 0;
+    fft->overlap = fftease_overlap(fft->overlap);
+    fft->winfac = fftease_winfac(fft->winfac);
+
+	if(fft->P <= 0)
+		fft->P = 1.0;		
+	fft->N = fftease_fft_size( fft->N );
+	fft->D = fft->N / fft->overlap;
+	fft->Nw = fft->N * fft->winfac;
+		
+	fft->Iinv = 1.0/fft->D;
+	fft->N2 = fft->N / 2;
+	fft->Nw2 = fft->Nw / 2;
+	
+	fft->in_count = -(fft->Nw);
+	fft->out_count = fft->in_count;
+	fft->mult = 1.0 / (t_float) fft->N;
+	fft->c_fundamental =  (t_float) fft->R/(t_float) fft->N;
+	fft->c_factor_in =  (t_float) fft->R/((t_float)fft->D * TWOPI);
+	fft->c_factor_out = TWOPI * (t_float)  fft->D / (t_float) fft->R;
+	// fft->synt = 0.001;
+	fft->L = FFTEASE_OSCBANK_TABLESIZE;
+	fft->pitch_increment = fft->P * fft->L / fft->R;
+	fft->ffac = fft->P * PI / fft->N;
+	fft->nyquist = (t_float) fft->R / 2.0;
+	
+	if(! fft->initialized){
+		// post("Initializing FFT Memory");
+		fft->P = 1.0;
+		fft->obank_flag = 0; // default no oscbank
+		fft->lo_bin = 0; 
+		fft->hi_bin = fft->N2; 
+		mem = (fft->Nw) * sizeof(t_float);
+		fft->Wanal = (t_float *) calloc(1,mem);
+		fft->Wsyn = (t_float *) calloc(1,mem);	
+		fft->Hwin = (t_float *) calloc(1,mem);	
+		fft->input = (t_float *) calloc(1,mem);		
+		fft->output = (t_float *) calloc(1,mem);	
+		mem = (fft->N + 2) * sizeof(t_float);
+		fft->buffer = (t_float *) calloc(1,mem);	
+		mem = (fft->N + 2) * sizeof(t_float);
+		fft->channel = (t_float *) calloc(1,mem);	
+		mem = (fft->N * 2) * sizeof(int);
+		fft->bitshuffle = (int *) calloc(1,mem);	
+		mem = (fft->N*2)*sizeof(t_float);
+		fft->trigland = (t_float *) calloc(1,mem);	
+		mem = (fft->N2+1)*sizeof(t_float);
+		fft->c_lastphase_in = (t_float *) calloc(1,mem);	
+		fft->c_lastphase_out = (t_float *)calloc(1,mem);	
+		// oscbank stuff
+		mem = (fft->N+1)*sizeof(t_float);
+		fft->lastamp = (t_float *) calloc(1,mem);	
+		fft->lastfreq = (t_float *) calloc(1,mem);	
+		fft->bindex = (t_float *) calloc(1,mem);	
+		mem = (2 + fft->L)*sizeof(t_float); // includes guardpoint
+		fft->table = (t_float *) calloc(1,mem);	
+		// t_float buffering
+		mem = fft->D * sizeof(t_float);
+		fft->internalInputVector = (t_float *) calloc(1,mem);
+		fft->internalOutputVector = (t_float *) calloc(1,mem);
+		fft->initialized = 1;
+	}
+    else if( (fft->N == fft->last_N) && (fft->overlap == fft->last_overlap) &&
+            (fft->winfac == fft->last_winfac) && (fft->last_R == fft->R) ) {
+        //post("fftease_init: no change in vital parameters so memory reallocation skipped");
+        return;
+    }
+    else {
+		// post("Resizing FFT Memory");
+		mem = (fft->Nw)*sizeof(t_float);
+		fft->Wanal = (t_float *) realloc((void *) fft->Wanal, mem);
+		fft->Wsyn = (t_float *) realloc((void *) fft->Wsyn, mem);
+		fft->Hwin = (t_float *)realloc((void *) fft->Hwin, mem);
+		fft->input = (t_float *) realloc((void *) fft->input, mem);
+		fft->output = (t_float *) realloc((void *) fft->output, mem);	
+		mem = (fft->N + 2)*sizeof(t_float);
+		fft->buffer = (t_float *) realloc((void *) fft->buffer, mem);
+		mem = (fft->N+2)*sizeof(t_float);
+		fft->channel = (t_float *) realloc((void *) fft->channel, mem);
+		mem = (fft->N*2)*sizeof(int);
+		fft->bitshuffle = (int *) realloc((void *) fft->bitshuffle, mem);
+		mem = (fft->N*2)*sizeof(t_float);
+		fft->trigland = (t_float *) realloc((void *) fft->trigland, mem);
+		mem = (fft->N2+1)*sizeof(t_float);
+		fft->c_lastphase_in = (t_float *) realloc((void *) fft->c_lastphase_in, mem);
+		fft->c_lastphase_out = (t_float *)realloc((void *)fft->c_lastphase_out, mem);
+		mem = (fft->N+1)*sizeof(t_float);
+		fft->lastamp = (t_float *) realloc((void *) fft->lastamp, mem);
+		fft->lastfreq = (t_float *) realloc((void *) fft->lastfreq, mem);
+		fft->bindex = (t_float *) realloc((void *) fft->bindex, mem);	
+		mem = fft->D * sizeof(t_float);
+		fft->internalInputVector = (t_float *)realloc((void *) fft->internalInputVector, mem);
+		fft->internalOutputVector = (t_float *) realloc((void *) fft->internalOutputVector, mem);		
+	}
+    fft->last_N = fft->N;
+    fft->last_overlap = fft->overlap;
+    fft->last_winfac = fft->winfac;
+    fft->last_R = fft->R;
+	for ( i = 0; i < fft->L; i++ ) {
+		fft->table[i] = (t_float) fft->N * cos((t_float)i * TWOPI / (t_float)fft->L);
+	}
+	fft->table[fft->L] = fft->table[fft->L - 1]; // guard point
+	fftease_makewindows( fft->Hwin, fft->Wanal, fft->Wsyn, fft->Nw, fft->N, fft->D);
+	fftease_init_rdft( fft->N, fft->bitshuffle, fft->trigland);
+	fftease_set_fft_buffers(fft);
+	fftease_oscbank_setbins(fft,0,fft->nyquist);
+	fft->init_status = 1;
+}
+
+void fftease_free(t_fftease *fft)
+{
+	if(fft->init_status == 1){
+        
+		free(fft->trigland);
+		free(fft->bitshuffle);
+		free(fft->Wanal);
+		free(fft->Wsyn);
+		free(fft->Hwin);
+		free(fft->buffer);
+        
+		free(fft->channel); // this is the killer
+        
+		free(fft->input);
+		free(fft->output);
+		free(fft->internalInputVector);
+		free(fft->internalOutputVector);
+		free(fft->c_lastphase_in);
+		free(fft->c_lastphase_out);
+		free(fft->lastamp);
+		free(fft->lastfreq);
+		free(fft->bindex);
+		free(fft->table);
+        
+	}
+}
+
+void fftease_fftinfo(t_fftease *fft, char *object_name)
+{
+	if( ! fft->overlap ){
+		post("%s: zero overlap!", object_name);
+		return;
+	}
+	post("%s: FFT size %d, hopsize %d, windowsize %d, MSP Vector Size %d", object_name, 
+	fft->N, fft->N/fft->overlap, fft->Nw, fft->MSPVectorSize);
+	post("%s\n", FFTEASE_LIB_VERSION);
+}
+
+int fftease_msp_sanity_check(t_fftease *fft, char *oname)
+{
+	if( fft->R <= 0 || fft->R > 10000000 || fft->MSPVectorSize <= 0 || fft->D <= 0){
+		post("%s is concerned that perhaps no audio driver has been loaded",oname);
+		post("R: %d, vector size: %d, D: %d", fft->R, fft->MSPVectorSize, fft->D);
+		return 0;
+	} else {
+		return 1;
+	}
+}
+
+t_float fftease_randf(t_float min, t_float max)
+{
+	t_float randv;
+	
+	randv = (t_float) (rand() % 32768) / 32768.0 ;
+	return min + (max-min) * randv;
+}
+
diff --git a/externals/fftease/fold.c b/externals/fftease/fold.c
new file mode 100644
index 000000000..73cb068cc
--- /dev/null
+++ b/externals/fftease/fold.c
@@ -0,0 +1,32 @@
+#include "fftease.h"
+
+/*
+ * multiply current input I by window W (both of length Nw);
+ * using modulus arithmetic, fold and rotate windowed input
+ * into output array O of (FFT) length N according to current
+ * input time n
+ */
+
+void fftease_fold( t_fftease *fft )
+{
+	int Nw = fft->Nw;
+	int N = fft->N;
+	t_float *Wanal = fft->Wanal;
+	t_float *input = fft->input;
+	t_float *buffer = fft->buffer;
+	int in_count = fft->in_count;	
+    int i;
+	
+	memset(buffer, 0.0, N * sizeof(t_float));
+	
+    while ( in_count < 0 )
+      	in_count += N;
+    in_count %= N;
+    for ( i = 0; i < Nw; i++ ) {
+		buffer[in_count] += input[i] * Wanal[i];
+      	if ( ++in_count == N )
+			in_count = 0;
+    }
+	fft->in_count = (fft->in_count + fft->D) % fft->Nw;
+}
+
diff --git a/externals/fftease/leaker~.c b/externals/fftease/leaker~.c
new file mode 100644
index 000000000..65ca4406c
--- /dev/null
+++ b/externals/fftease/leaker~.c
@@ -0,0 +1,308 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *leaker_class;
+
+#define OBJECT_NAME "leaker~"
+
+typedef struct _leaker
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+	int *sieve;
+	short mute;
+	t_float fade_value;
+} t_leaker;
+
+void leaker_dsp(t_leaker *x, t_signal **sp);
+t_int *leaker_perform(t_int *w);
+static void leaker_free(t_leaker *x);
+void *leaker_new(t_symbol *msg, short argc, t_atom *argv);
+void leaker_upsieve(t_leaker *x) ;
+void leaker_downsieve(t_leaker *x) ;
+void leaker_randsieve(t_leaker *x) ;
+void leaker_mute(t_leaker *x, t_floatarg state);
+void leaker_init(t_leaker *x);
+
+void leaker_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("leaker~"), (t_newmethod)leaker_new,
+                  (t_method)leaker_free,sizeof(t_leaker), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_leaker, x_f);
+	class_addmethod(c,(t_method)leaker_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)leaker_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)leaker_upsieve,gensym("upsieve"), 0);
+	class_addmethod(c,(t_method)leaker_downsieve,gensym("downsieve"), 0);
+	class_addmethod(c,(t_method)leaker_randsieve,gensym("randsieve"), 0);
+    
+    leaker_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void leaker_free( t_leaker *x ){
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+	free(x->sieve);
+}
+
+void leaker_upsieve(t_leaker *x) {
+	int i;
+	int *sieve = x->sieve;
+	for( i = 0; i < x->fft->N2; i++ ){
+		sieve[i] = i + 1;
+	}
+}
+
+void leaker_downsieve(t_leaker *x) {
+	int i;
+	int *sieve = x->sieve;
+	int N2 = x->fft->N2;
+	for( i = 0; i < N2; i++ ){
+		sieve[i] = N2  - i;
+	}
+}
+
+void leaker_randsieve(t_leaker *x) {
+	int i;
+	int temp;
+	int pos1, pos2;
+	int N2 = x->fft->N2;
+	int *sieve = x->sieve;
+    int maxswap = N2 - 1;
+	
+	for( i = 0; i < N2; i++ ){
+		sieve[i] = i + 1;
+	}
+    while(maxswap > 0){
+        pos1 = maxswap;
+        pos2 = rand() % (N2 - 1);
+        temp = sieve[pos1];
+        sieve[pos1] = sieve[pos2];
+        sieve[pos2] = temp;
+        --maxswap;
+    }
+}
+
+void leaker_mute(t_leaker *x, t_floatarg state)
+{
+	x->mute = (short)state;	
+}
+
+void *leaker_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+
+	t_leaker *x = (t_leaker *)pd_new(leaker_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+		
+	fft->initialized = 0;
+	fft2->initialized = 0;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+	return x;
+}
+
+void leaker_init(t_leaker *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+
+	if(!initialized) {
+		x->mute = 0;
+		x->fade_value = 0;
+		x->sieve = (int *) calloc((fft->N2 + 1),sizeof(int));
+	}
+	if(initialized != 2){
+		for(i = 0; i < fft->N2; i++){
+			x->sieve[i] = i;
+		}
+	}
+}
+
+void do_leaker(t_leaker *x)
+{
+	int i,odd,even;
+	t_float a1,a2,b1,b2;
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int N2 = fft->N2;
+	t_float *buffer1 = fft->buffer;
+	t_float *buffer2 = fft2->buffer;
+	t_float *channel1 = fft->channel;
+	int *sieve = x->sieve;
+	t_float fade_value = x->fade_value;
+
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	fftease_rdft(fft,1);
+	fftease_rdft(fft2,1);
+	
+	
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		if( fade_value <= 0 || fade_value < sieve[i]  ){
+			a1 = ( i == N2 ? *(buffer1+1) : *(buffer1+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(buffer1+odd) );
+			
+			*(channel1+even) = hypot( a1, b1 ) ;
+			*(channel1+odd) = -atan2( b1, a1 );
+			*(buffer1+even) = *(channel1+even) * cos(*(channel1+odd));
+			if ( i != N2 ){
+				*(buffer1+odd) = -(*(channel1+even)) * sin(*(channel1+odd));
+			}
+		} else {
+			a2 = ( i == N2 ? *(buffer2+1) : *(buffer2+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(buffer2+odd) );
+			*(channel1+even) = hypot( a2, b2 ) ;
+			*(channel1+odd) = -atan2( b2, a2 );
+			*(buffer1+even) = *(channel1+even) * cos(*(channel1+odd) );
+			if ( i != N2 ){
+				*(buffer1+odd) = -(*(channel1+even)) * sin( *(channel1+odd) );
+			}
+		}
+	}
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+
+t_int *leaker_perform(t_int *w)
+{
+	int i,j;
+    t_leaker *x = (t_leaker *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *fade_value = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	int N2 = fft->N2;
+	
+    x->fade_value = *fade_value * (float) N2;
+
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_leaker(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_leaker(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_leaker(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}		
+
+void leaker_dsp(t_leaker *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        leaker_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(leaker_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/leanconvert.c b/externals/fftease/leanconvert.c
new file mode 100644
index 000000000..39d6ff389
--- /dev/null
+++ b/externals/fftease/leanconvert.c
@@ -0,0 +1,22 @@
+#include "fftease.h"
+
+void fftease_leanconvert(t_fftease *fft)
+
+{
+
+	int		real, imag, amp, phase;
+	t_float		a, b;
+	int		i;
+	t_float *buffer = fft->buffer;
+	t_float *channel = fft->channel;
+	int N2 = fft->N2;
+
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		a = ( i == N2 ? buffer[1] : buffer[real] );
+		b = ( i == 0 || i == N2 ? 0. : buffer[imag] );
+		channel[amp] = hypot( a, b );
+		channel[phase] = -atan2( b, a );
+	}
+}
+
diff --git a/externals/fftease/leanunconvert.c b/externals/fftease/leanunconvert.c
new file mode 100644
index 000000000..a333d89f1
--- /dev/null
+++ b/externals/fftease/leanunconvert.c
@@ -0,0 +1,19 @@
+#include "fftease.h"
+
+
+void fftease_leanunconvert(t_fftease *fft)
+
+{
+	int		real, imag, amp, phase;
+	register int		i;
+	t_float *buffer = fft->buffer;
+	t_float *channel = fft->channel;
+	int N2 = fft->N2;	
+	
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		buffer[real] = *(channel+amp) * cos( *(channel+phase) );
+		if ( i != N2 )
+			buffer[imag] = -*(channel+amp) * sin( *(channel+phase) );
+	}
+}
diff --git a/externals/fftease/legacy.c b/externals/fftease/legacy.c
new file mode 100644
index 000000000..4d40fa983
--- /dev/null
+++ b/externals/fftease/legacy.c
@@ -0,0 +1,83 @@
+#include "fftease.h"
+
+void old_overlapadd( float *I, int N, float *W, float *O, int Nw, int n )
+
+{
+ int i ;
+    while ( n < 0 )
+	n += N ;
+    n %= N ;
+    for ( i = 0 ; i < Nw ; i++ ) {
+	O[i] += I[n]*W[i] ;
+	if ( ++n == N )
+	    n = 0 ;
+    }
+}
+
+
+void old_convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor )
+{
+  float 	phase,
+		phasediff;
+  int 		real,
+		imag,
+		amp,
+		freq;
+  float 	a,
+		b;
+  int 		i;
+
+
+    for ( i = 0; i <= N2; i++ ) {
+      imag = freq = ( real = amp = i<<1 ) + 1;
+      a = ( i == N2 ? S[1] : S[real] );
+      b = ( i == 0 || i == N2 ? 0. : S[imag] );
+
+      C[amp] = hypot( a, b );
+      if ( C[amp] == 0. )
+	phasediff = 0.;
+      else {
+	phasediff = ( phase = -atan2( b, a ) ) - lastphase[i];
+	lastphase[i] = phase;
+	
+	while ( phasediff > PI )
+	  phasediff -= TWOPI;
+	while ( phasediff < -PI )
+	  phasediff += TWOPI;
+      }
+      C[freq] = phasediff*factor + i*fundamental;
+    }
+}
+
+
+
+void old_unconvert( float *C, float *S, int N2, float *lastphase, float fundamental, float factor )
+
+{
+  int 		i,
+		real,
+		imag,
+		amp,
+		freq;
+  float 	mag,
+		phase;
+double sin(), cos();
+
+    for ( i = 0; i <= N2; i++ ) {
+
+	imag = freq = ( real = amp = i<<1 ) + 1;
+
+	if ( i == N2 )
+	  real = 1;
+
+	mag = C[amp];
+	lastphase[i] += C[freq] - i*fundamental;
+	phase = lastphase[i]*factor;
+	S[real] = mag*cos( phase );
+
+	if ( i != N2 )
+	  S[imag] = -mag*sin( phase );
+
+    }
+
+}
diff --git a/externals/fftease/limit_fftsize.c b/externals/fftease/limit_fftsize.c
new file mode 100644
index 000000000..25ff70fd4
--- /dev/null
+++ b/externals/fftease/limit_fftsize.c
@@ -0,0 +1,32 @@
+#include "fftease.h"
+
+extern void post(const char *fmt, ...);
+
+void fftease_limit_fftsize(int *N, int *Nw, char *OBJECT_NAME)
+{
+	if(*N > MAX_N){
+		// post("%s: N set to maximum FFT size of %d",OBJECT_NAME,MAX_N);
+		*N = MAX_N;
+	}
+	if(*Nw > MAX_Nw){
+	// 	post("%s: Nw set to maximum window size of %d",OBJECT_NAME,MAX_Nw);
+		*Nw = MAX_Nw;
+	}
+}
+
+int fftease_FFT_size( int testfft )
+{
+int test = 2;
+	if( testfft <= 0 )
+		return DEFAULT_FFTEASE_FFTSIZE;
+	while( test < testfft && test < FFTEASE_MAX_FFTSIZE){
+		test *= 2;
+	}
+	if( test != testfft ){
+		post("incorrect FFT size specified, using %d", test);
+	}
+	if( test == FFTEASE_MAX_FFTSIZE){
+		post("fftsize capped at maximum: %d", test);
+	}
+	return test;
+}
\ No newline at end of file
diff --git a/externals/fftease/limited_oscbank.c b/externals/fftease/limited_oscbank.c
new file mode 100644
index 000000000..ed278dea8
--- /dev/null
+++ b/externals/fftease/limited_oscbank.c
@@ -0,0 +1,132 @@
+#include "fftease.h"
+// extern void post(const char *fmt, ...);
+#define PARANOID 0
+
+void fftease_limited_oscbank( t_fftease *fft, int osclimit, t_float framethresh)
+{
+	int    amp,freq,chan, n;
+	
+	t_float    a,ainc,f,finc,address;
+	int D = fft->D;
+	int I = D;
+	int L = fft->L;
+	t_float synt = fft->synt;
+	t_float P  = fft->P; 
+	int R = fft->R;
+	int N2 = fft->N2;
+	t_float Iinv = 1./fft->D;
+	t_float pitch_increment = fft->pitch_increment;
+	t_float *table = fft->table;
+	t_float *lastamp = fft->lastamp ;
+	t_float *lastfreq = fft->lastfreq ;
+	t_float *bindex = fft->bindex;
+	t_float *channel = fft->channel;
+	t_float *output = fft->output;
+	int hi_bin = fft->hi_bin;
+	int lo_bin = fft->lo_bin;
+	t_float maxamp = 0.0;
+    t_float localthresh, testamp;
+	short noalias = fft->noalias;
+	t_float nyquist = fft->nyquist;
+	int oscnt = 0;
+#ifdef PARANOID	
+	if(! fft->init_status ){ // means memory alloc in effect
+		goto exit;
+	}
+#endif
+	
+	if(R == 0){
+		post("FFTeaseLib: limited oscbank got 0 SR");
+		return;
+	}
+
+	if(lo_bin < 0 || hi_bin > N2){
+		post("FFTeaseLib: limited oscbank: bad bins: %d %d",lo_bin,hi_bin);
+	}
+
+	pitch_increment = P * (t_float) L / (t_float) R;
+
+	if( synt > 0.0 ){
+		maxamp = 0.0;
+		for ( chan = lo_bin; chan < hi_bin; chan++ ){
+			amp = chan << 1;
+			testamp = fabs( channel[amp] );
+			if( testamp > maxamp )
+				maxamp = testamp;
+		}
+	}
+	if(maxamp > framethresh){
+		localthresh = synt * maxamp;
+	} else {
+		localthresh = synt * framethresh; // watch this line!
+	}
+	
+	
+    for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+#ifdef PARANOID	
+		if(! fft->init_status ){ // means memory alloc in effect
+			goto exit;
+		}
+#endif
+		freq = ( amp = ( chan << 1 ) ) + 1;
+		if(noalias){
+			if( channel[freq] * P >= nyquist )
+				channel[amp] = 0;
+		}
+		if ( channel[amp] > localthresh ){ 
+			++oscnt;
+#ifdef PARANOID	
+			if(! fft->init_status ){ // means memory alloc in effect
+				goto exit;
+			}
+#endif
+			if(oscnt > osclimit){
+				goto exit;
+			}
+			channel[freq] *= pitch_increment;
+			finc = ( channel[freq] - ( f = lastfreq[chan] ) )*Iinv;
+			ainc = ( channel[amp] - ( a = lastamp[chan] ) )*Iinv;
+			address = bindex[chan];
+			// this was the bug - somewhere bindex was not properly initialized!
+			//i_address = (int) address;
+			if( address < 0 || address >= L){
+				address = 0;
+				// post("limited oscbank: bad address");
+			}			
+			for ( n = 0; n < I; n++ ) {
+#ifdef PARANOID	
+				if(! fft->init_status ){ // means memory alloc in effect
+					goto exit;
+				}
+#endif
+// this is a suspected bug line:
+					/*
+				iAddress = (int) address;
+				if( iAddress == L ){
+					iAddress = L - 1;
+				}
+				
+			
+				if( iAddress < 0 || iAddress >= L ){
+					post("limited oscbank: bad address: %d", iAddress);
+				} else {
+					output[n] += a*table[ iAddress ];
+				}
+				*/
+				// skip excessive paranoia for efficiency
+				output[n] += a*table[ (int) address ]; // this WILL go to L, so tab needs a guardpoint
+				address += f;
+				while ( address >= L )
+					address -= L;
+				while ( address < 0 )
+					address += L;
+				a += ainc;
+				f += finc;
+			}
+			lastfreq[chan] = channel[freq];
+			lastamp[chan] = channel[amp];
+			bindex[chan] = address;
+		}
+    } 
+	exit:;
+}
\ No newline at end of file
diff --git a/externals/fftease/lyonpotpourri-meta.pd b/externals/fftease/lyonpotpourri-meta.pd
new file mode 100644
index 000000000..55430cf84
--- /dev/null
+++ b/externals/fftease/lyonpotpourri-meta.pd
@@ -0,0 +1,7 @@
+#N canvas 15 49 200 200 10;
+#N canvas 25 49 420 300 META 1;
+#X text 13 41 NAME lyonpotpourri;
+#X text 10 25 AUTHOR Eric Lyon <e.lyon@qub.ac.uk>;
+#X text 10 10 VERSION 2.0;
+#X text 10 60 LICENSE MIT;
+#X restore 10 10 pd META;
diff --git a/externals/fftease/m_pd.h b/externals/fftease/m_pd.h
new file mode 100644
index 000000000..f3af68974
--- /dev/null
+++ b/externals/fftease/m_pd.h
@@ -0,0 +1,634 @@
+/* Copyright (c) 1997-1999 Miller Puckette.
+* For information on usage and redistribution, and for a DISCLAIMER OF ALL
+* WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
+
+#ifndef __m_pd_h_
+
+#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
+extern "C" {
+#endif
+
+#define PD_MAJOR_VERSION 0
+#define PD_MINOR_VERSION 38   
+
+/* old name for "MSW" flag -- we have to take it for the sake of many old
+"nmakefiles" for externs, which will define NT and not MSW */
+#if defined(NT) && !defined(MSW)
+#define MSW
+#endif
+
+#ifdef MSW
+// #pragma warning( disable : 4091 ) 
+#pragma warning( disable : 4305 )  /* uncast const double to float */
+#pragma warning( disable : 4244 )  /* uncast float/int conversion etc. */
+#pragma warning( disable : 4101 )  /* unused automatic variables */
+#endif /* MSW */
+
+    /* the external storage class is "extern" in UNIX; in MSW it's ugly. */
+#ifdef MSW
+#ifdef PD_INTERNAL
+#define EXTERN __declspec(dllexport) extern
+#else
+#define EXTERN __declspec(dllimport) extern
+#endif /* PD_INTERNAL */
+#else
+#define EXTERN extern
+#endif /* MSW */
+
+    /* and depending on the compiler, hidden data structures are
+    declared differently: */
+#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ )
+#define EXTERN_STRUCT struct
+#else
+#define EXTERN_STRUCT extern struct
+#endif
+
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#include <stddef.h>     /* just for size_t -- how lame! */
+#endif
+
+#define MAXPDSTRING 1000        /* use this for anything you want */
+#define MAXPDARG 5              /* max number of args we can typecheck today */
+
+/* signed and unsigned integer types the size of a pointer:  */
+/* GG: long is the size of a pointer */
+typedef long t_int;
+
+typedef float t_float;  /* a floating-point number at most the same size */
+typedef float t_floatarg;  /* floating-point type for function calls */
+
+typedef struct _symbol
+{
+    char *s_name;
+    struct _class **s_thing;
+    struct _symbol *s_next;
+} t_symbol;
+
+EXTERN_STRUCT _array;
+#define t_array struct _array       /* g_canvas.h */
+
+/* pointers to glist and array elements go through a "stub" which sticks
+around after the glist or array is freed.  The stub itself is deleted when
+both the glist/array is gone and the refcount is zero, ensuring that no
+gpointers are pointing here. */
+
+#define GP_NONE 0       /* the stub points nowhere (has been cut off) */
+#define GP_GLIST 1      /* the stub points to a glist element */
+#define GP_ARRAY 2      /* ... or array */
+
+typedef struct _gstub
+{
+    union
+    {
+        struct _glist *gs_glist;    /* glist we're in */
+        struct _array *gs_array;    /* array we're in */
+    } gs_un;
+    int gs_which;                   /* GP_GLIST/GP_ARRAY */
+    int gs_refcount;                /* number of gpointers pointing here */
+} t_gstub;
+
+typedef struct _gpointer           /* pointer to a gobj in a glist */
+{
+    union
+    {   
+        struct _scalar *gp_scalar;  /* scalar we're in (if glist) */
+        union word *gp_w;           /* raw data (if array) */
+    } gp_un;
+    int gp_valid;                   /* number which must match gpointee */
+    t_gstub *gp_stub;               /* stub which points to glist/array */
+} t_gpointer;
+
+typedef union word
+{
+    t_float w_float;
+    t_symbol *w_symbol;
+    t_gpointer *w_gpointer;
+    t_array *w_array;
+    struct _glist *w_list;
+    int w_index;
+} t_word;
+
+typedef enum
+{
+    A_NULL,
+    A_FLOAT,
+    A_SYMBOL,
+    A_POINTER,
+    A_SEMI,
+    A_COMMA,
+    A_DEFFLOAT,
+    A_DEFSYM,
+    A_DOLLAR, 
+    A_DOLLSYM,
+    A_GIMME,
+    A_CANT
+}  t_atomtype;
+
+#define A_DEFSYMBOL A_DEFSYM    /* better name for this */
+
+typedef struct _atom
+{
+    t_atomtype a_type;
+    union word a_w;
+} t_atom;
+
+EXTERN_STRUCT _class;
+#define t_class struct _class
+
+EXTERN_STRUCT _outlet;
+#define t_outlet struct _outlet
+
+EXTERN_STRUCT _inlet;
+#define t_inlet struct _inlet
+
+EXTERN_STRUCT _binbuf;
+#define t_binbuf struct _binbuf
+
+EXTERN_STRUCT _clock;
+#define t_clock struct _clock
+
+EXTERN_STRUCT _outconnect;
+#define t_outconnect struct _outconnect
+
+EXTERN_STRUCT _glist;
+#define t_glist struct _glist
+#define t_canvas struct _glist  /* LATER lose this */
+
+typedef t_class *t_pd;      /* pure datum: nothing but a class pointer */
+
+typedef struct _gobj        /* a graphical object */
+{
+    t_pd g_pd;              /* pure datum header (class) */
+    struct _gobj *g_next;   /* next in list */
+} t_gobj;
+
+typedef struct _scalar      /* a graphical object holding data */
+{
+    t_gobj sc_gobj;         /* header for graphical object */
+    t_symbol *sc_template;  /* template name (LATER replace with pointer) */
+    t_word sc_vec[1];       /* indeterminate-length array of words */
+} t_scalar;
+
+typedef struct _text        /* patchable object - graphical, with text */
+{
+    t_gobj te_g;                /* header for graphical object */
+    t_binbuf *te_binbuf;        /* holder for the text */
+    t_outlet *te_outlet;        /* linked list of outlets */
+    t_inlet *te_inlet;          /* linked list of inlets */
+    short te_xpix;              /* x&y location (within the toplevel) */
+    short te_ypix;
+    short te_width;             /* requested width in chars, 0 if auto */
+    unsigned int te_type:2;     /* from defs below */
+} t_text;
+
+#define T_TEXT 0        /* just a textual comment */
+#define T_OBJECT 1      /* a MAX style patchable object */
+#define T_MESSAGE 2     /* a MAX stype message */
+#define T_ATOM 3        /* a cell to display a number or symbol */
+
+#define te_pd te_g.g_pd
+
+   /* t_object is synonym for t_text (LATER unify them) */
+
+typedef struct _text t_object;
+
+#define ob_outlet te_outlet
+#define ob_inlet te_inlet
+#define ob_binbuf te_binbuf
+#define ob_pd te_g.g_pd
+#define ob_g te_g
+
+typedef void (*t_method)(void);
+typedef void *(*t_newmethod)( void);
+typedef void (*t_gotfn)(void *x, ...);
+
+/* ---------------- pre-defined objects and symbols --------------*/
+EXTERN t_pd pd_objectmaker;     /* factory for creating "object" boxes */
+EXTERN t_pd pd_canvasmaker;     /* factory for creating canvases */
+EXTERN t_symbol s_pointer;
+EXTERN t_symbol s_float;
+EXTERN t_symbol s_symbol;
+EXTERN t_symbol s_bang;
+EXTERN t_symbol s_list;
+EXTERN t_symbol s_anything;
+EXTERN t_symbol s_signal;
+EXTERN t_symbol s__N;
+EXTERN t_symbol s__X;
+EXTERN t_symbol s_x;
+EXTERN t_symbol s_y;
+EXTERN t_symbol s_;
+
+/* --------- prototypes from the central message system ----------- */
+EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv);
+EXTERN t_symbol *gensym(char *s);
+EXTERN t_gotfn getfn(t_pd *x, t_symbol *s);
+EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s);
+EXTERN void nullfn(void);
+EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...);
+#define mess0(x, s) ((*getfn((x), (s)))((x)))
+#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a)))
+#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b)))
+#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c)))
+#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d)))
+#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e)))
+EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN t_pd *pd_newest(void);
+
+/* --------------- memory management -------------------- */
+EXTERN void *getbytes(size_t nbytes);
+EXTERN void *getzbytes(size_t nbytes);
+EXTERN void *copybytes(void *src, size_t nbytes);
+EXTERN void freebytes(void *x, size_t nbytes);
+EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize);
+
+/* -------------------- atoms ----------------------------- */
+
+#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0)
+#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0)
+#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \
+    (atom)->a_w.w_gpointer = (gp))
+#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f))
+#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \
+    (atom)->a_w.w_symbol = (s))
+#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \
+    (atom)->a_w.w_index = (n))
+#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \
+    (atom)->a_w.w_symbol= (s))
+
+EXTERN t_float atom_getfloat(t_atom *a);
+EXTERN t_int atom_getint(t_atom *a);
+EXTERN t_symbol *atom_getsymbol(t_atom *a);
+EXTERN t_symbol *atom_gensym(t_atom *a);
+EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv);
+EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv);
+EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv);
+
+EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize);
+
+/* ------------------  binbufs --------------- */
+
+EXTERN t_binbuf *binbuf_new(void);
+EXTERN void binbuf_free(t_binbuf *x);
+EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y);
+
+EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size);
+EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp);
+EXTERN void binbuf_clear(t_binbuf *x);
+EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv);
+EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...);
+EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y);
+EXTERN void binbuf_addsemi(t_binbuf *x);
+EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv);
+EXTERN void binbuf_print(t_binbuf *x);
+EXTERN int binbuf_getnatom(t_binbuf *x);
+EXTERN t_atom *binbuf_getvec(t_binbuf *x);
+EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv);
+EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname,
+    int crflag);
+EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname,
+    int crflag);
+EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir,
+    int crflag);
+EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir);
+EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av,
+    int tonew);
+
+/* ------------------  clocks --------------- */
+
+EXTERN t_clock *clock_new(void *owner, t_method fn);
+EXTERN void clock_set(t_clock *x, double systime);
+EXTERN void clock_delay(t_clock *x, double delaytime);
+EXTERN void clock_unset(t_clock *x);
+EXTERN double clock_getlogicaltime(void);
+EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */
+EXTERN double clock_gettimesince(double prevsystime);
+EXTERN double clock_getsystimeafter(double delaytime);
+EXTERN void clock_free(t_clock *x);
+
+/* ----------------- pure data ---------------- */
+EXTERN t_pd *pd_new(t_class *cls);
+EXTERN void pd_free(t_pd *x);
+EXTERN void pd_bind(t_pd *x, t_symbol *s);
+EXTERN void pd_unbind(t_pd *x, t_symbol *s);
+EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c);
+EXTERN void pd_pushsym(t_pd *x);
+EXTERN void pd_popsym(t_pd *x);
+EXTERN t_symbol *pd_getfilename(void);
+EXTERN t_symbol *pd_getdirname(void);
+EXTERN void pd_bang(t_pd *x);
+EXTERN void pd_pointer(t_pd *x, t_gpointer *gp);
+EXTERN void pd_float(t_pd *x, t_float f);
+EXTERN void pd_symbol(t_pd *x, t_symbol *s);
+EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+#define pd_class(x) (*(x))
+
+/* ----------------- pointers ---------------- */
+EXTERN void gpointer_init(t_gpointer *gp);
+EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto);
+EXTERN void gpointer_unset(t_gpointer *gp);
+EXTERN int gpointer_check(const t_gpointer *gp, int headok);
+
+/* ----------------- patchable "objects" -------------- */
+EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1,
+    t_symbol *s2);
+EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp);
+EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp);
+EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp);
+EXTERN void inlet_free(t_inlet *x);
+
+EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s);
+EXTERN void outlet_bang(t_outlet *x);
+EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp);
+EXTERN void outlet_float(t_outlet *x, t_float f);
+EXTERN void outlet_symbol(t_outlet *x, t_symbol *s);
+EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN t_symbol *outlet_getsymbol(t_outlet *x);
+EXTERN void outlet_free(t_outlet *x);
+EXTERN t_object *pd_checkobject(t_pd *x);
+
+
+/* -------------------- canvases -------------- */
+
+EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir);
+
+EXTERN void canvas_setargs(int argc, t_atom *argv);
+EXTERN void canvas_getargs(int *argcp, t_atom **argvp);
+EXTERN t_symbol *canvas_getcurrentdir(void);
+EXTERN t_glist *canvas_getcurrent(void);
+EXTERN void canvas_makefilename(t_glist *c, char *file,
+    char *result,int resultsize);
+EXTERN t_symbol *canvas_getdir(t_glist *x);
+EXTERN int sys_fontwidth(int fontsize);
+EXTERN int sys_fontheight(int fontsize);
+EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b);
+
+/* ---------------- widget behaviors ---------------------- */
+
+EXTERN_STRUCT _widgetbehavior;
+#define t_widgetbehavior struct _widgetbehavior
+
+EXTERN_STRUCT _parentwidgetbehavior;
+#define t_parentwidgetbehavior struct _parentwidgetbehavior
+EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x);
+
+/* -------------------- classes -------------- */
+
+#define CLASS_DEFAULT 0         /* flags for new classes below */
+#define CLASS_PD 1
+#define CLASS_GOBJ 2
+#define CLASS_PATCHABLE 3
+#define CLASS_NOINLET 8
+
+#define CLASS_TYPEMASK 3
+
+
+EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod,
+    t_method freemethod, size_t size, int flags, t_atomtype arg1, ...);
+EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, 
+    t_atomtype type1, ...);
+EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel,
+    t_atomtype arg1, ...);
+EXTERN void class_addbang(t_class *c, t_method fn);
+EXTERN void class_addpointer(t_class *c, t_method fn);
+EXTERN void class_doaddfloat(t_class *c, t_method fn);
+EXTERN void class_addsymbol(t_class *c, t_method fn);
+EXTERN void class_addlist(t_class *c, t_method fn);
+EXTERN void class_addanything(t_class *c, t_method fn);
+EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s);
+EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w);
+EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w);
+EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c);
+EXTERN char *class_getname(t_class *c);
+EXTERN char *class_gethelpname(t_class *c);
+EXTERN void class_setdrawcommand(t_class *c);
+EXTERN int class_isdrawcommand(t_class *c);
+EXTERN void class_domainsignalin(t_class *c, int onset);
+#define CLASS_MAINSIGNALIN(c, type, field) \
+    class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0)
+
+         /* prototype for functions to save Pd's to a binbuf */
+typedef void (*t_savefn)(t_gobj *x, t_binbuf *b);
+EXTERN void class_setsavefn(t_class *c, t_savefn f);
+EXTERN t_savefn class_getsavefn(t_class *c);
+        /* prototype for functions to open properties dialogs */
+typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist);
+EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f);
+EXTERN t_propertiesfn class_getpropertiesfn(t_class *c);
+
+#ifndef PD_CLASS_DEF
+#define class_addbang(x, y) class_addbang((x), (t_method)(y))
+#define class_addpointer(x, y) class_addpointer((x), (t_method)(y))
+#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y))
+#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y))
+#define class_addlist(x, y) class_addlist((x), (t_method)(y))
+#define class_addanything(x, y) class_addanything((x), (t_method)(y))
+#endif
+
+/* ------------   printing --------------------------------- */
+EXTERN void post(const char *fmt, ...);
+EXTERN void startpost(const char *fmt, ...);
+EXTERN void poststring(const char *s);
+EXTERN void postfloat(float f);
+EXTERN void postatom(int argc, t_atom *argv);
+EXTERN void endpost(void);
+EXTERN void error(const char *fmt, ...);
+EXTERN void bug(const char *fmt, ...);
+EXTERN void pd_error(void *object, const char *fmt, ...);
+EXTERN void sys_logerror(const char *object, const char *s);
+EXTERN void sys_unixerror(const char *object);
+EXTERN void sys_ouch(void);
+
+
+/* ------------  system interface routines ------------------- */
+EXTERN int sys_isreadablefile(const char *name);
+EXTERN void sys_bashfilename(const char *from, char *to);
+EXTERN void sys_unbashfilename(const char *from, char *to);
+EXTERN int open_via_path(const char *name, const char *ext, const char *dir,
+    char *dirresult, char **nameresult, unsigned int size, int bin);
+EXTERN int sched_geteventno(void);
+EXTERN double sys_getrealtime(void);
+
+
+/* ------------  threading ------------------- */
+/* T.Grill - see m_sched.c */
+ 
+EXTERN void sys_lock(void);
+EXTERN void sys_unlock(void);
+EXTERN int sys_trylock(void);
+
+
+/* --------------- signals ----------------------------------- */
+
+typedef float t_sample;
+#define MAXLOGSIG 32
+#define MAXSIGSIZE (1 << MAXLOGSIG)
+
+typedef struct _signal
+{
+    int s_n;            /* number of points in the array */
+    t_sample *s_vec;    /* the array */
+    float s_sr;         /* sample rate */
+    int s_refcount;     /* number of times used */
+    int s_isborrowed;   /* whether we're going to borrow our array */
+    struct _signal *s_borrowedfrom;     /* signal to borrow it from */
+    struct _signal *s_nextfree;         /* next in freelist */
+    struct _signal *s_nextused;         /* next in used list */
+} t_signal;
+
+
+typedef t_int *(*t_perfroutine)(t_int *args);
+
+EXTERN t_int *plus_perform(t_int *args);
+EXTERN t_int *zero_perform(t_int *args);
+EXTERN t_int *copy_perform(t_int *args);
+
+EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n);
+EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n);
+EXTERN void dsp_add_scalarcopy(t_sample *in, t_sample *out, int n);
+EXTERN void dsp_add_zero(t_sample *out, int n);
+
+EXTERN int sys_getblksize(void);
+EXTERN float sys_getsr(void);
+EXTERN int sys_get_inchannels(void);
+EXTERN int sys_get_outchannels(void);
+
+EXTERN void dsp_add(t_perfroutine f, int n, ...);
+EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec);
+EXTERN void pd_fft(float *buf, int npoints, int inverse);
+EXTERN int ilog2(int n);
+
+EXTERN void mayer_fht(float *fz, int n);
+EXTERN void mayer_fft(int n, float *real, float *imag);
+EXTERN void mayer_ifft(int n, float *real, float *imag);
+EXTERN void mayer_realfft(int n, float *real);
+EXTERN void mayer_realifft(int n, float *real);
+
+EXTERN float *cos_table;
+#define LOGCOSTABSIZE 9
+#define COSTABSIZE (1<<LOGCOSTABSIZE)
+
+EXTERN int canvas_suspend_dsp(void);
+EXTERN void canvas_resume_dsp(int oldstate);
+EXTERN void canvas_update_dsp(void);
+
+/* IOhannes { (up/downsampling) */
+typedef struct _resample
+{
+  int method;       /* up/downsampling method ID */
+
+  t_int downsample; /* downsampling factor */
+  t_int upsample;   /* upsampling factor */
+
+  t_float *s_vec;   /* here we hold the resampled data */
+  int      s_n;
+
+  t_float *coeffs;  /* coefficients for filtering... */
+  int      coefsize;
+
+  t_float *buffer;  /* buffer for filtering */
+  int      bufsize;
+} t_resample;
+
+EXTERN void resample_init(t_resample *x);
+EXTERN void resample_free(t_resample *x);
+
+EXTERN void resample_dsp(t_resample *x, t_sample *in, int insize, t_sample *out, int outsize, int method);
+EXTERN void resamplefrom_dsp(t_resample *x, t_sample *in, int insize, int outsize, int method);
+EXTERN void resampleto_dsp(t_resample *x, t_sample *out, int insize, int outsize, int method);
+/* } IOhannes */
+
+/* ----------------------- utility functions for signals -------------- */
+EXTERN float mtof(float);
+EXTERN float ftom(float);
+EXTERN float rmstodb(float);
+EXTERN float powtodb(float);
+EXTERN float dbtorms(float);
+EXTERN float dbtopow(float);
+
+EXTERN float q8_sqrt(float);
+EXTERN float q8_rsqrt(float);
+#ifndef N32     
+EXTERN float qsqrt(float);  /* old names kept for extern compatibility */
+EXTERN float qrsqrt(float);
+#endif
+/* --------------------- data --------------------------------- */
+
+    /* graphical arrays */
+EXTERN_STRUCT _garray;
+#define t_garray struct _garray
+
+EXTERN t_class *garray_class;
+EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec);
+EXTERN float garray_get(t_garray *x, t_symbol *s, t_int indx);
+EXTERN void garray_redraw(t_garray *x);
+EXTERN int garray_npoints(t_garray *x);
+EXTERN char *garray_vec(t_garray *x);
+EXTERN void garray_resize(t_garray *x, t_floatarg f);
+EXTERN void garray_usedindsp(t_garray *x);
+EXTERN void garray_setsaveit(t_garray *x, int saveit);
+EXTERN t_class *scalar_class;
+
+EXTERN t_float *value_get(t_symbol *s);
+EXTERN void value_release(t_symbol *s);
+EXTERN int value_getfloat(t_symbol *s, t_float *f);
+EXTERN int value_setfloat(t_symbol *s, t_float f);
+
+/* ------- GUI interface - functions to send strings to TK --------- */
+typedef void (*t_guicallbackfn)(t_gobj *client, t_glist *glist);
+
+EXTERN void sys_vgui(char *fmt, ...);
+EXTERN void sys_gui(char *s);
+EXTERN void sys_pretendguibytes(int n);
+EXTERN void sys_queuegui(void *client, t_glist *glist, t_guicallbackfn f);
+EXTERN void sys_unqueuegui(void *client);
+    /* dialog window creation and destruction */
+EXTERN void gfxstub_new(t_pd *owner, void *key, const char *cmd);
+EXTERN void gfxstub_deleteforkey(void *key);
+
+extern t_class *glob_pdobject;  /* object to send "pd" messages */
+
+/*-------------  Max 0.26 compatibility --------------------*/
+
+/* the following reflects the new way classes are laid out, with the class
+   pointing to the messlist and not vice versa. Externs shouldn't feel it. */
+typedef t_class *t_externclass;
+
+EXTERN void c_extern(t_externclass *cls, t_newmethod newroutine,
+    t_method freeroutine, t_symbol *name, size_t size, int tiny, \
+    t_atomtype arg1, ...);
+EXTERN void c_addmess(t_method fn, t_symbol *sel, t_atomtype arg1, ...);
+
+#define t_getbytes getbytes
+#define t_freebytes freebytes
+#define t_resizebytes resizebytes
+#define typedmess pd_typedmess
+#define vmess pd_vmess
+
+/* A definition to help gui objects straddle 0.34-0.35 changes.  If this is
+defined, there is a "te_xpix" field in objects, not a "te_xpos" as before: */
+
+#define PD_USE_TE_XPIX
+
+
+#ifdef __i386__
+/* a test for NANs and denormals.  Should only be necessary on i386. */
+#define PD_BADFLOAT(f) ((((*(unsigned int*)&(f))&0x7f800000)==0) || \
+    (((*(unsigned int*)&(f))&0x7f800000)==0x7f800000))
+/* more stringent test: anything not between 1e-19 and 1e19 in absolute val */
+#define PD_BIGORSMALL(f) ((((*(unsigned int*)&(f))&0x60000000)==0) || \
+    (((*(unsigned int*)&(f))&0x60000000)==0x60000000))
+#else
+#define PD_BADFLOAT(f) 0
+#define PD_BIGORSMALL(f) 0
+#endif
+
+#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
+}
+#endif
+
+#define __m_pd_h_
+#endif /* __m_pd_h_ */
diff --git a/externals/fftease/makewindows.c b/externals/fftease/makewindows.c
new file mode 100644
index 000000000..9c71e84ed
--- /dev/null
+++ b/externals/fftease/makewindows.c
@@ -0,0 +1,137 @@
+#include "fftease.h"
+
+void fftease_makewindows( t_float *H, t_float *A, t_float *S, int Nw, int N, int I )
+
+{
+ int i ;
+ t_float sum ;
+
+    for ( i = 0 ; i < Nw ; i++ )
+	H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ) ;
+
+    if ( Nw > N ) {
+     t_float x ;
+
+	x = -(Nw - 1)/2. ;
+	for ( i = 0 ; i < Nw ; i++, x += 1. )
+	    if ( x != 0. ) {
+		A[i] *= N*sin( PI*x/N )/(PI*x) ;
+		if ( I )
+		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
+	    }
+    }
+
+    for ( sum = i = 0 ; i < Nw ; i++ )
+	sum += A[i] ;
+
+    for ( i = 0 ; i < Nw ; i++ ) {
+     t_float afac = 2./sum ;
+     t_float sfac = Nw > N ? 1./afac : afac ;
+	A[i] *= afac ;
+	S[i] *= sfac ;
+    }
+
+    if ( Nw <= N && I ) {
+	for ( sum = i = 0 ; i < Nw ; i += I )
+	    sum += S[i]*S[i] ;
+	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+	    S[i] *= sum ;
+    }
+}
+
+void fftease_makehamming( t_float *H, t_float *A, t_float *S, int Nw, int N, int I, int odd )
+
+{
+ int i;
+ t_float sum ;
+
+
+
+ if (odd) {
+    for ( i = 0 ; i < Nw ; i++ )
+	  H[i] = A[i] = S[i] = sqrt(0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ));
+ }
+
+ else {
+
+   for ( i = 0 ; i < Nw ; i++ )
+	  H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) );
+
+ }
+
+    if ( Nw > N ) {
+     t_float x ;
+
+	x = -(Nw - 1)/2. ;
+	for ( i = 0 ; i < Nw ; i++, x += 1. )
+	    if ( x != 0. ) {
+		A[i] *= N*sin( PI*x/N )/(PI*x) ;
+		if ( I )
+		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
+	    }
+    }
+    for ( sum = i = 0 ; i < Nw ; i++ )
+	sum += A[i] ;
+
+    for ( i = 0 ; i < Nw ; i++ ) {
+     t_float afac = 2./sum ;
+     t_float sfac = Nw > N ? 1./afac : afac ;
+	A[i] *= afac ;
+	S[i] *= sfac ;
+    }
+
+    if ( Nw <= N && I ) {
+	for ( sum = i = 0 ; i < Nw ; i += I )
+	    sum += S[i]*S[i] ;
+	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+	    S[i] *= sum ;
+    }
+}
+
+
+void fftease_makehanning( t_float *H, t_float *A, t_float *S, int Nw, int N, int I, int odd )
+{
+ int i;
+ t_float sum ;
+
+
+ if (odd) {
+    for ( i = 0 ; i < Nw ; i++ )
+	  H[i] = A[i] = S[i] = sqrt(0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1))));
+ }
+
+ else {
+
+   for ( i = 0 ; i < Nw ; i++ )
+	  H[i] = A[i] = S[i] = 0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1)));
+
+ }
+
+    if ( Nw > N ) {
+     t_float x ;
+
+	x = -(Nw - 1)/2. ;
+	for ( i = 0 ; i < Nw ; i++, x += 1. )
+	    if ( x != 0. ) {
+		A[i] *= N*sin( PI*x/N )/(PI*x) ;
+		if ( I )
+		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
+	    }
+    }
+    for ( sum = i = 0 ; i < Nw ; i++ )
+	sum += A[i] ;
+
+    for ( i = 0 ; i < Nw ; i++ ) {
+     t_float afac = 2./sum ;
+     t_float sfac = Nw > N ? 1./afac : afac ;
+	A[i] *= afac ;
+	S[i] *= sfac ;
+    }
+
+    if ( Nw <= N && I ) {
+	for ( sum = i = 0 ; i < Nw ; i += I )
+	    sum += S[i]*S[i] ;
+	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+	    S[i] *= sum ;
+    }
+}
diff --git a/externals/fftease/mindwarp~.c b/externals/fftease/mindwarp~.c
new file mode 100644
index 000000000..a215ab812
--- /dev/null
+++ b/externals/fftease/mindwarp~.c
@@ -0,0 +1,383 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *mindwarp_class;
+
+#define OBJECT_NAME "mindwarp~"
+
+#define MAX_WARP 16.0
+
+typedef struct _mindwarp
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+    t_float warpFactor;
+    t_float shapeWidth;
+	t_float *newChannel;
+    t_float *newAmplitudes;
+	short mute;
+} t_mindwarp;
+
+void mindwarp_dsp(t_mindwarp *x, t_signal **sp);
+t_int *mindwarp_perform(t_int *w);
+void *mindwarp_new(t_symbol *s, int argc, t_atom *argv);
+void mindwarp_dest(t_mindwarp *x, t_float f);
+void mindwarp_init(t_mindwarp *x);
+void mindwarp_free(t_mindwarp *x);
+void mindwarp_mute(t_mindwarp *x, t_floatarg toggle);
+
+void mindwarp_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("mindwarp~"), (t_newmethod)mindwarp_new,
+                  (t_method)mindwarp_free,sizeof(t_mindwarp), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_mindwarp, x_f);
+	class_addmethod(c,(t_method)mindwarp_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)mindwarp_mute,gensym("mute"),A_FLOAT,0);
+    mindwarp_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void *mindwarp_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_mindwarp *x = (t_mindwarp *)pd_new(mindwarp_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	
+	/* args: warpfactor, shape width, overlap, window factor */
+	
+  	x->warpFactor = 1.0;
+  	x->shapeWidth = 3.0;
+	
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+	
+}
+
+void mindwarp_init(t_mindwarp *x)
+{
+	short initialized = x->fft->initialized;
+	
+	fftease_init(x->fft);
+	
+	if(!initialized){
+		x->mute = 0;
+		x->newAmplitudes = (t_float *)calloc(((x->fft->N2 + 1) * 16), sizeof(t_float));
+		x->newChannel = (t_float *)calloc ((x->fft->N + 1), sizeof(t_float));
+	}
+    else if(initialized == 1) {
+		x->newAmplitudes = (t_float *)realloc(x->newAmplitudes, ((x->fft->N2 + 1) * 16) * sizeof(float));
+		x->newChannel = (t_float *)realloc(x->newChannel, (x->fft->N + 1) * sizeof(t_float));
+	}
+}
+
+void mindwarp_free(t_mindwarp *x)
+{
+    short initialized = x->fft->initialized;
+	fftease_free(x->fft);
+    free(x->fft);
+    if(initialized){
+        free(x->newAmplitudes);
+        free(x->newChannel);
+    }
+}
+
+void do_mindwarp(t_mindwarp *x)
+{
+	t_float *newChannel = x->newChannel;
+	
+	int		
+	i,j,
+	bindex,
+	N,
+	N2,
+	Nw,
+	shapeWidth = (int) x->shapeWidth,
+	remainingWidth,
+	newLength;
+float
+	cutoff,
+	filterMult,
+	interpIncr,
+	interpPhase;
+	t_float warpFactor;
+	t_fftease *fft = x->fft;
+	t_float *newAmplitudes = x->newAmplitudes;
+	t_float *channelOne = fft->channel;
+	
+	N = fft->N;
+	N2 = fft->N2;
+	Nw = fft->Nw;
+	warpFactor = x->warpFactor;
+	cutoff = (t_float) N2 * .9;
+	filterMult = .00001;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_leanconvert(fft);
+	
+	if(warpFactor <= 0){
+		error("bad warp, resetting");
+		warpFactor = 1.0;
+	}
+	
+	newLength = (int) ((t_float) N2 / warpFactor);
+	
+	if(newLength <= 0){
+		error("bad length: resetting");
+		newLength = 1.0;
+	}
+	
+	interpIncr = (t_float) N2 / (t_float) newLength;
+	
+	interpPhase = 0.;
+	
+	
+	// do simple linear interpolation on magnitudes
+	
+	for ( bindex=0; bindex < newLength; bindex++ ) {
+		
+		int		localbindex = ((int) interpPhase) << 1;
+		
+		t_float	lower = *(channelOne + localbindex),
+		upper = *(channelOne + localbindex + 2),
+		diff = interpPhase - ( (t_float) ( (int) interpPhase ) );
+		
+		*(newAmplitudes+bindex) = lower + ( ( upper - lower ) * diff );
+		
+		interpPhase += interpIncr;
+	}
+	
+	
+	
+	// replace magnitudes with warped values 
+	
+	if (warpFactor > 1.) {
+		
+		int	until = (int) ( cutoff / warpFactor );
+		
+		for ( bindex=0; bindex < until; bindex++ ) {
+			register int	amp = bindex<<1;
+			
+			*(newChannel+amp) = *(newAmplitudes+bindex);
+		}
+		
+		
+		// filter remaining spectrum as spectral envelope has shrunk 
+		
+		for ( bindex=until; bindex < N2; bindex++ ) {
+			register int	amp = bindex<<1;
+			
+			*(newChannel+amp) *= filterMult;
+		}
+	}
+	
+	
+	//OK
+	
+	// spectral envelope has enlarged, no post filtering is necessary
+	
+	else {
+		
+		for ( bindex=0; bindex <= N2; bindex++ ) {
+			register int	amp = bindex<<1;
+			
+			*(newChannel+amp) = *(newAmplitudes+bindex);
+		}
+	}
+	
+	
+	
+	// constrain our shapeWidth value
+	
+	if ( shapeWidth > N2 )
+		shapeWidth = N2;
+  	
+	if ( shapeWidth < 1 )
+		shapeWidth = 1;
+	
+	// lets just shape the entire signal by the shape width 
+	
+	
+	for ( i=0; i < N; i += shapeWidth << 1 ) {
+		
+		t_float       amplSum = 0.,
+		freqSum = 0.,
+		factor = 1.0;
+		
+		for ( j = 0; j < shapeWidth << 1; j += 2 ) {
+			
+			amplSum += *(newChannel+i+j);
+			freqSum += *(channelOne+i+j);
+		}
+		
+		if (amplSum < 0.000000001)
+			factor = 0.000000001;	
+		
+		// this can happen, crashing external; now fixed.
+		
+		if( freqSum <= 0 ){
+			//		error("bad freq sum, resetting");
+			freqSum = 1.0;
+		}
+		else	
+			factor = amplSum / freqSum;
+		
+		for ( j = 0; j < shapeWidth << 1; j += 2 )
+			*(channelOne+i+j) *= factor;
+	}
+	
+	// copy remaining magnitudes (fixed shadowed variable warning by renaming bindex)
+	
+	if ( (remainingWidth = N2 % shapeWidth) ) {
+		
+		int			lbindex = (N2 - remainingWidth) << 1;
+		
+		
+		t_float       amplSum = 0.,
+		freqSum = 0.,
+		factor;
+		
+		for ( j = 0; j < remainingWidth << 1; j += 2 ) {
+			
+			amplSum += *(newChannel+lbindex+j);
+			freqSum += *(channelOne+lbindex+j);
+		}
+		
+		if (amplSum < 0.000000001)
+			factor = 0.000000001;	
+		
+		else	
+			factor = amplSum / freqSum;
+		
+		for ( j = 0; j < remainingWidth << 1; j += 2 )
+			*(channelOne+bindex+j) *= factor;
+	}
+
+	fftease_leanunconvert(fft);
+
+	fftease_rdft(fft,FFT_INVERSE);
+	fftease_overlapadd(fft);
+	
+}
+
+
+t_int *mindwarp_perform(t_int *w)
+{
+    t_mindwarp *x = (t_mindwarp *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *vec_warpFactor = (t_float *)(w[3]);
+	t_float *vec_shapeWidth = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	
+	int i, j;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;	
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+	x->warpFactor = *vec_warpFactor;
+	x->shapeWidth =  *vec_shapeWidth;
+	
+	if(x->warpFactor <= 0.0){
+		x->warpFactor = 0.1;
+		error("%s: zero warp factor is illegal",OBJECT_NAME);
+	}
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_mindwarp(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_mindwarp(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_mindwarp(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}	
+
+void mindwarp_mute(t_mindwarp *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void mindwarp_dsp(t_mindwarp *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        mindwarp_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(mindwarp_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/morphine~.c b/externals/fftease/morphine~.c
new file mode 100644
index 000000000..8e5be29cf
--- /dev/null
+++ b/externals/fftease/morphine~.c
@@ -0,0 +1,392 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+/*
+ This external links to qsortE, so unlike others in this collection, morphine~ is covered under the GNU GPL.
+ */
+static t_class *morphine_class;
+
+#define OBJECT_NAME "morphine~"
+
+typedef struct _pickme {
+	
+	int		bin;
+	float		value;
+	
+} pickme;
+
+
+typedef struct _morphine
+{
+
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+    pickme *picks;
+    pickme *mirror;
+    t_float morphIndex;
+    t_float exponScale;	
+	short mute;
+} t_morphine;
+
+void morphine_dsp(t_morphine *x, t_signal **sp);
+t_int *morphine_perform(t_int *w);
+void *morphine_new(t_symbol *s, int argc, t_atom *argv);
+int sortIncreasing( const void *a, const void *b );
+int qsortE (char *base_ptr, int total_elems, int size, int (*cmp)(const void *a, const void *b));
+void morphine_transition(t_morphine *x, t_floatarg f);
+void morphine_free(t_morphine *x);
+void morphine_mute(t_morphine *x, t_floatarg toggle);
+void morphine_tilde_setup(void);
+void morphine_init(t_morphine *x);
+
+int sortIncreasing( const void *a, const void *b )
+{
+	
+	if ( ((pickme *) a)->value > ((pickme *) b)->value )
+		return 1;
+	
+	if ( ((pickme *) a)->value < ((pickme *) b)->value )
+		return -1;
+	
+	return 0;
+}
+
+void morphine_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("morphine~"), (t_newmethod)morphine_new,
+                  (t_method)morphine_free,sizeof(t_morphine), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_morphine, x_f);
+	class_addmethod(c,(t_method)morphine_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)morphine_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)morphine_transition,gensym("transition"), A_FLOAT, 0);
+    morphine_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void morphine_transition(t_morphine *x, t_floatarg f)
+{	
+	x->exponScale = f;
+}
+
+void *morphine_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;	
+	t_morphine *x = (t_morphine *)pd_new(morphine_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->fft = (t_fftease *)  calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	x->exponScale = -5.0;	
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;	
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void morphine_init(t_morphine *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = fft->initialized;
+    
+	fftease_init(fft);
+	fftease_init(fft2);
+
+	if(!initialized){
+		x->morphIndex = 0.;
+		x->mute = 0;
+		x->picks = (pickme *) calloc((fft->N2+1), sizeof(pickme));
+		x->mirror = (pickme *) calloc((fft->N2+1), sizeof(pickme));
+	} else if(x->fft->initialized == 1) {
+		x->picks = (pickme *) realloc(x->picks, (fft->N2+1) * sizeof(pickme));
+		x->mirror = (pickme *) realloc(x->mirror, (fft->N2+1) * sizeof(pickme));
+	}
+}
+
+void do_morphine(t_morphine *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int	i;
+	int lookupIndex,even, odd;
+	t_float mult,
+	morphIndex,
+	exponScale,
+	a1, b1,
+	a2, b2;
+
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	t_float *channelOne = fft->channel;
+	t_float *channelTwo = fft2->channel;
+	int N2 = fft->N2;
+	pickme	*picks = x->picks;
+	pickme *mirror = x->mirror;
+	mult = fft->mult;	
+	morphIndex = x->morphIndex;
+	exponScale = x->exponScale;
+
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	/* do an fft */ 
+	
+	fftease_rdft(fft,1);
+	fftease_rdft(fft2,1);
+	
+	/* convert to polar coordinates from complex values */
+	
+    for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+		
+		a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+		b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+		
+		*(channelOne+even) = hypot( a1, b1 );
+		*(channelOne+odd) = -atan2( b1, a1 );
+		
+		*(channelTwo+even) = hypot( a2, b2 );
+		*(channelTwo+odd) = -atan2( b2, a2 );
+		
+		
+		/* find amplitude differences between home and visitors */
+		
+		(picks+i)->value = fabs( *(channelOne+even) - 
+								*(channelTwo+even) );
+		(picks+i)->bin = i;  
+    }
+	
+	/* sort our differences in ascending order */
+	
+	
+	qsortE( (char *) picks, (int) N2+1, (int) sizeof(pickme),
+		   sortIncreasing );
+	
+	/* now we create an effective mirror of the sorted distribution.
+	 we will assure that the initial transition will be made from
+	 small spectral differences (when the sort behavior is increasing)
+	 and the ending transition will also be made from small spectral
+	 differences */
+	
+	for ( i=0; i <= N2; i += 2 ) {
+        (mirror+(i/2))->bin = (picks+i)->bin;
+        (mirror+(i/2))->value = (picks+i)->value;
+	}
+	
+	for ( i=1; i <= N2; i += 2 ) {
+        (mirror+(N2-(i/2)))->bin = (picks+i)->bin;
+        (mirror+(N2-(i/2)))->value = (picks+i)->value;
+	}
+	
+	
+	/* calculate our morphIndex from an exponential function based on exponScale */
+	
+	if (exponScale == 0.) 
+		lookupIndex = (int) (( (float) N2 ) * morphIndex);
+	
+	else {
+		
+     	if ( morphIndex < .5 ) {
+			
+			lookupIndex = (int) ( ((float) N2) * ((
+												   (1. - exp( exponScale * morphIndex * 2. )) /
+												   (1. - exp( exponScale )) ) * .5) );
+    	}
+		
+    	else {
+			
+			lookupIndex = (int) ( ((float) N2) * ( .5 +  
+												  (( (1. - exp( -exponScale * (morphIndex - .5) * 2. )) /
+													(1. - exp( -exponScale )) ) * .5) ) );
+    	}			 
+		
+	}
+	
+	
+	//      post("%d", lookupIndex);
+	
+	/* choose the bins that are least different first */
+	
+    for ( i=0; i <= lookupIndex; i++ ) {
+		
+		even = ((mirror+i)->bin)<<1,
+		odd = (((mirror+i)->bin)<<1) + 1;	
+		
+		*(channelOne+even) = *(channelTwo+even);
+		*(channelOne+odd) = *(channelTwo+odd);
+    }
+	
+	/* convert back to complex form, read for the inverse fft */
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+
+t_int *morphine_perform(t_int *w)
+{
+
+	int i, j;
+    t_morphine *x = (t_morphine *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *vec_morphIndex = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	t_float morphIndex = x->morphIndex;
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}		
+
+	morphIndex = *vec_morphIndex;
+	if ( morphIndex < 0 )
+		morphIndex = 0.;
+	else {
+		if ( morphIndex > 1. )
+			morphIndex = 1.;
+	}
+	x->morphIndex = morphIndex;
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_morphine(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_morphine(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_morphine(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void morphine_free(t_morphine *x)
+{
+    if(x->fft->initialized){
+        free(x->picks);
+        free(x->mirror);
+    }
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void morphine_mute(t_morphine *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void morphine_dsp(t_morphine *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        morphine_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(morphine_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/multyq~.c b/externals/fftease/multyq~.c
new file mode 100644
index 000000000..7a653f60b
--- /dev/null
+++ b/externals/fftease/multyq~.c
@@ -0,0 +1,450 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *multyq_class;
+
+#define OBJECT_NAME "multyq~"
+
+typedef struct _multyq
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float cf1;
+	t_float gainfac1;
+	t_float bw1;
+	t_float cf2;
+	t_float gainfac2;
+	t_float bw2;
+	t_float cf3;
+	t_float gainfac3;
+	t_float bw3;
+	t_float cf4;
+	t_float gainfac4;
+	t_float bw4;
+	t_float *rcos;
+	t_float *filt;
+	t_float *freqs;
+	int rcoslen;
+	short please_update;
+	short always_update;
+	short mute;
+} t_multyq;
+
+void multyq_dsp(t_multyq *x, t_signal **sp);
+t_int *multyq_perform(t_int *w);
+void *multyq_new(t_symbol *s, int argc, t_atom *argv);
+void multyq_mute(t_multyq *x, t_floatarg state);
+void update_filter_function(t_multyq *x);
+void filtyQ( float *S, float *C, float *filtfunc, int N2 );
+void multyq_init(t_multyq *x);
+void multyq_free(t_multyq *x);
+void multyq_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("multyq~"), (t_newmethod)multyq_new,
+                  (t_method)multyq_free,sizeof(t_multyq), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_multyq, x_f);
+	class_addmethod(c,(t_method)multyq_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)multyq_mute,gensym("mute"),A_FLOAT,0);
+    multyq_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void multyq_free(t_multyq *x)
+{
+    if(x->fft->initialized){
+        free(x->rcos);
+        free(x->freqs);
+        free(x->filt);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *multyq_new(t_symbol *s, int argc, t_atom *argv)
+{
+    int i;
+	t_fftease *fft;
+	t_multyq *x = (t_multyq *)pd_new(multyq_class);
+    for(i = 0; i < 12; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    }
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->R = sys_getsr();
+	fft->MSPVectorSize = sys_getblksize();	
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;		
+	fft->initialized = 0;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void multyq_init(t_multyq *x)
+{
+	int i;
+	t_float funda, base;
+	
+	t_fftease  *fft = x->fft;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+
+	if(!initialized){
+		x->please_update = 0;
+		x->always_update = 0;
+		x->rcoslen = 8192 ;	
+		x->rcos = (t_float *) calloc(x->rcoslen, sizeof( t_float ));
+		x->freqs = (t_float *) calloc(fft->N2, sizeof( t_float ));
+		x->filt = (t_float *) calloc((fft->N2 + 1), sizeof( t_float ));
+		
+		x->cf1  = 200.;
+		x->gainfac1  = 0.0;
+		x->bw1 = .15;
+		x->cf2  = 700.;
+		x->gainfac2  = 0.0;
+		x->bw2  = .1; 
+		x->cf3  = 3000.;
+		x->gainfac3  = 0.0;
+		x->bw3  = .15;
+		x->cf4  = 12000.;
+		x->gainfac4 = 0.0;
+		x->bw4 = .15;
+		x->mute = 0;
+		for (i = 0; i < x->rcoslen; i++){
+			x->rcos[i] =  .5 - .5 * cos(((float)i/(float)x->rcoslen) * TWOPI);
+		}	
+	} else {
+		x->freqs = (t_float *) realloc(x->freqs, fft->N2 * sizeof( t_float ));
+		x->filt = (t_float *) realloc(x->filt, (fft->N2 + 1) * sizeof( t_float ));
+	}
+	x->fft->input = (t_float *)realloc(fft->input, fft->Nw * sizeof(t_float));
+    x->fft->output = (t_float *)realloc(fft->output, fft->Nw * sizeof(t_float));
+	
+	funda = base = (t_float)fft->R /(t_float)fft->N ;
+	for(i = 0; i < fft->N2; i++){
+		x->freqs[i] = base;
+		base += funda;
+	}
+	update_filter_function(x);
+}
+
+void do_multyq(t_multyq *x)
+{
+	int real, imag, amp, phase;
+	t_float a, b;
+	int i;
+	t_fftease *fft = x->fft;
+	t_float *S = fft->buffer;
+	t_float *C = fft->channel;
+	t_float *filtfunc = x->filt;
+	int N2 = fft->N2;
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		a = ( i == N2 ? S[1] : S[real] );
+		b = ( i == 0 || i == N2 ? 0. : S[imag] );
+		C[amp] = hypot( a, b );
+		C[amp] *= filtfunc[ i ];
+		C[phase] = -atan2( b, a );
+	}
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		S[real] = *(C+amp) * cos( *(C+phase) );
+		if ( i != N2 )
+			S[imag] = -*(C+amp) * sin( *(C+phase) );
+	}
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+}
+
+
+t_int *multyq_perform(t_int *w)
+{
+	int i, j;
+    t_multyq *x = (t_multyq *) (w[1]);
+	t_float	*MSPInputVector = (t_float *)(w[2]);
+	t_float	*in2 = (t_float *)(w[3]);
+	t_float	*in3 = (t_float *)(w[4]);
+	t_float	*in4 = (t_float *)(w[5]);
+	t_float	*in5 = (t_float *)(w[6]);
+	t_float	*in6 = (t_float *)(w[7]);
+	t_float	*in7 = (t_float *)(w[8]);
+	t_float	*in8 = (t_float *)(w[9]);
+	t_float	*in9 = (t_float *)(w[10]);
+	t_float	*in10 = (t_float *)(w[11]);
+	t_float	*in11 = (t_float *)(w[12]);
+	t_float	*in12 = (t_float *)(w[13]);
+	t_float	*in13 = (t_float *)(w[14]);
+	t_float	*MSPOutputVector = (t_float *)(w[15]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+    x->cf1 = *in2;
+    x->bw1 = *in3;
+    x->gainfac1 = *in4;
+    x->cf2 = *in5;
+    x->bw2 = *in6;
+    x->gainfac2 = *in7;
+    x->cf3 = *in8;
+    x->bw3 = *in9;
+    x->gainfac3 = *in10;
+    x->cf4 = *in11;
+    x->bw4 = *in12;
+    x->gainfac4 = *in13;
+
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+16;
+	}	
+		
+    update_filter_function(x);
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_multyq(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_multyq(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_multyq(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+16;
+}		
+
+void multyq_mute(t_multyq *x, t_floatarg state)
+{
+	x->mute = (short)state;	
+}
+
+void update_filter_function(t_multyq *x)
+{
+	t_float lo, hi ;
+	t_float ploc, gainer;
+	int i;
+	t_float nyquist = (float)x->fft->R / 2.0;
+	t_float *filt = x->filt;
+	t_float *rcos = x->rcos;
+	t_float *freqs = x->freqs;
+	int rcoslen = x->rcoslen;
+	int N2 = x->fft->N2;
+	
+	// sanity
+	if( x->cf1 < 0 ){
+		x->cf1 = 0;
+	} 
+	else if( x->cf1 > nyquist){
+		x->cf1 = nyquist ;
+	} 
+	if( x->bw1 <= .05 ){
+		x->bw1 = .05;
+	}
+	else if( x->bw1 > 1. ){
+		x->bw1 = 1.;
+	}
+	if( x->gainfac1 < -1. ){
+		x->gainfac1 = -1;
+	}
+	if( x->cf2 < 0 ){
+		x->cf2 = 0;
+	} 
+	else if( x->cf2> nyquist){
+		x->cf2 = nyquist ;
+	} 
+	if( x->bw2 <= .05 ){
+		x->bw2 = .05;
+	}
+	else if( x->bw2 > 1. ){
+		x->bw2 = 1.;
+	}
+	if( x->gainfac2 < -1. ){
+		x->gainfac2 = -1;
+	}
+	if( x->cf3 < 0 ){
+		x->cf3 = 0;
+	} 
+	else if( x->cf3 > nyquist){
+		x->cf3 = nyquist ;
+	} 
+	if( x->bw3 <= .05 ){
+		x->bw3 = .05;
+	}
+	else if( x->bw3 > 1. ){
+		x->bw3 = 1.;
+	}
+	if( x->gainfac3 < -1. ){
+		x->gainfac3 = -1;
+	}
+	if( x->cf4 < 0 ){
+		x->cf4 = 0;
+	} 
+	else if( x->cf4 > nyquist){
+		x->cf4 = nyquist ;
+	} 
+	if( x->bw4 <= .05 ){
+		x->bw4 = .05;
+	}
+	else if( x->bw4 > 1. ){
+		x->bw4 = 1.;
+	}
+	if( x->gainfac4 < -1. ){
+		x->gainfac4 = -1;
+	}
+	for( i = 0; i < N2; i++ ) {
+		x->filt[i] = 1.0 ;
+	}
+	// filt 1
+	lo = x->cf1 * (1.0 - x->bw1 );
+	hi = x->cf1 * (1.0 + x->bw1 );
+	for( i = 0; i < N2; i++ ) {
+		if(freqs[i] >= lo && freqs[i] <= hi){
+			ploc = (freqs[i] - lo) / (hi - lo);
+			gainer = 1 + x->gainfac1 * rcos[ (int) (ploc * rcoslen) ] ;
+			if( gainer < 0 ){
+				gainer = 0;
+			}
+			filt[i] *= gainer ;
+			
+		}
+	}
+	// filt 2
+	lo = x->cf2 * (1.0 - x->bw2 );
+	hi = x->cf2 * (1.0 + x->bw2 );
+	for( i = 0; i < N2; i++ ) {
+		if( freqs[i] >= lo && freqs[i] <= hi){
+			ploc = (freqs[i] - lo) / (hi - lo);
+			gainer = 1 + x->gainfac2 * rcos[ (int) (ploc * rcoslen) ] ;
+			if( gainer < 0 ){
+				gainer = 0;
+			}
+			filt[i] *= gainer ;
+			
+		}
+	}
+	// filt 3
+	lo = x->cf3 * (1.0 - x->bw3 );
+	hi = x->cf3 * (1.0 + x->bw3 );
+	for( i = 0; i < N2; i++ ) {
+		if(freqs[i] >= lo && freqs[i] <= hi){
+			ploc = (freqs[i] - lo) / (hi - lo);
+			gainer = 1 + x->gainfac3 * rcos[ (int) (ploc * rcoslen) ] ;
+			if( gainer < 0 ){
+				gainer = 0;
+			}
+			filt[i] *= gainer ;
+			
+		}
+	}
+	// filt 4
+	lo = x->cf4 * (1.0 - x->bw4 );
+	hi = x->cf4 * (1.0 + x->bw4 );
+	for( i = 0; i < N2; i++ ) {
+		if(freqs[i] >= lo && freqs[i] <= hi){
+			ploc = (freqs[i] - lo) / (hi - lo);
+			gainer = 1 + x->gainfac4 * rcos[ (int) (ploc * rcoslen) ] ;
+			if( gainer < 0 ){
+				gainer = 0;
+			}
+			filt[i] *= gainer ;
+		}
+	}
+}
+
+void filtyQ( float *S, float *C, float *filtfunc, int N2 )
+{
+	int real, imag, amp, phase;
+	t_float a, b;
+	int i;
+	
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		a = ( i == N2 ? S[1] : S[real] );
+		b = ( i == 0 || i == N2 ? 0. : S[imag] );
+		C[amp] = hypot( a, b );
+		C[amp] *= filtfunc[ i ];
+		C[phase] = -atan2( b, a );
+	}
+	
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		S[real] = *(C+amp) * cos( *(C+phase) );
+		if ( i != N2 )
+			S[imag] = -*(C+amp) * sin( *(C+phase) );
+	}
+}
+
+void multyq_dsp(t_multyq *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        multyq_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(multyq_perform, 15, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec, sp[5]->s_vec, sp[6]->s_vec, sp[7]->s_vec,
+                sp[8]->s_vec, sp[9]->s_vec, sp[10]->s_vec, sp[11]->s_vec,
+                sp[12]->s_vec, sp[13]->s_vec);
+    }
+}
\ No newline at end of file
diff --git a/externals/fftease/oscbank.c b/externals/fftease/oscbank.c
new file mode 100644
index 000000000..7710fa3ba
--- /dev/null
+++ b/externals/fftease/oscbank.c
@@ -0,0 +1,88 @@
+#include "fftease.h"
+
+void fftease_oscbank( t_fftease *fft )
+{
+	int    amp,freq,chan, n;
+	
+	t_float    a,ainc,f,finc,address;
+	int D = fft->D;
+	int I = D;
+	int L = fft->L;
+	t_float synt = fft->synt;
+	t_float P  = fft->P;
+	int R = fft->R;
+	t_float Iinv = 1./fft->D;
+	t_float pitch_increment = fft->pitch_increment;
+	t_float *table = fft->table;
+	t_float *lastamp = fft->lastamp ;
+	t_float *lastfreq = fft->lastfreq ;
+	t_float *bindex = fft->bindex;
+	t_float *channel = fft->channel;
+	t_float *output = fft->output;
+	int hi_bin = fft->hi_bin;
+	int lo_bin = fft->lo_bin;
+	t_float maxamp = 0.0;
+    t_float localthresh, testamp;
+	short noalias = fft->noalias;
+	t_float nyquist = fft->nyquist;
+	if(! fft->init_status ){ // means memory alloc in effect
+		goto exit;
+	}
+	if(R == 0){
+		post("oscbank got 0 SR");
+		return;
+	}
+	pitch_increment = P * (t_float) L / (t_float) R;
+	
+	if( synt > 0.0 ){
+		maxamp = 0.0;
+		for ( chan = lo_bin; chan < hi_bin; chan++ ){
+			amp = chan << 1;
+			testamp = fabs( channel[amp] );
+			if( testamp > maxamp )
+				maxamp = testamp;
+		}
+	}
+	localthresh = synt * maxamp;
+	
+    for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+		if(! fft->init_status ){ // means memory alloc in effect
+			goto exit;
+		}
+		freq = ( amp = ( chan << 1 ) ) + 1;
+		if(noalias){
+			if( channel[freq] * P >= nyquist )
+				channel[amp] = 0;
+		}
+		if ( channel[amp] > localthresh ){ 
+			channel[freq] *= pitch_increment;
+			finc = ( channel[freq] - ( f = lastfreq[chan] ) )*Iinv;
+			ainc = ( channel[amp] - ( a = lastamp[chan] ) )*Iinv;
+			address = bindex[chan];
+			if( address < 0 || address >= L){
+				address = 0.0;
+				// post("limited oscbank: bad address");
+			}
+			for ( n = 0; n < I; n++ ) {
+				// taking this out now:
+				
+				if(! fft->init_status ){ // means memory alloc in effect
+					goto exit;
+				}
+				
+				output[n] += a*table[ (int) address ];
+				address += f;
+				while ( address >= L )
+					address -= L;
+				while ( address < 0 )
+					address += L;
+				a += ainc;
+				f += finc;
+			}
+			lastfreq[chan] = channel[freq];
+			lastamp[chan] = channel[amp];
+			bindex[chan] = address;
+		}
+    }
+exit:;
+}
\ No newline at end of file
diff --git a/externals/fftease/overlapadd.c b/externals/fftease/overlapadd.c
new file mode 100644
index 000000000..03638c1d2
--- /dev/null
+++ b/externals/fftease/overlapadd.c
@@ -0,0 +1,29 @@
+/*
+ * input I is a folded spectrum of length N; output O and
+ * synthesis window W are of length Nw--overlap-add windowed,
+ * unrotated, unfolded input data into output O
+ */
+
+#include "fftease.h"
+
+void fftease_overlapadd(t_fftease *fft)
+
+{
+	t_float *buffer = fft->buffer;
+	int N = fft->N;
+	t_float *Wsyn = fft->Wsyn;
+	t_float *output = fft->output;
+	int Nw = fft->Nw;
+	int out_count = fft->out_count;
+	
+	int i ;
+    while ( out_count < 0 )
+		out_count += N ;
+    out_count %= N ;
+    for ( i = 0 ; i < Nw ; i++ ) {
+		output[i] += buffer[out_count] * Wsyn[i];
+		if ( ++out_count == N )
+			out_count = 0 ;
+    }
+	fft->out_count = (fft->out_count + fft->D) % fft->Nw;
+}
diff --git a/externals/fftease/pileup~.c b/externals/fftease/pileup~.c
new file mode 100644
index 000000000..f7cb8ed59
--- /dev/null
+++ b/externals/fftease/pileup~.c
@@ -0,0 +1,357 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pileup_class;
+
+#define OBJECT_NAME "pileup~"
+
+
+typedef struct _pileup
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	/* pileup vars */
+	t_float move_threshold;
+	t_float *last_frame ;
+	int *frames_left;
+	t_float inverse_compensation_gain; // gain up inverse
+	t_float persistence; // decay factor
+	int mode;
+	t_float tadv;
+	short mute;
+	t_float hi_freq;
+	t_float lo_freq;
+} t_pileup;
+
+void pileup_dsp(t_pileup *x, t_signal **sp);
+t_int *pileup_perform(t_int *w);
+void *pileup_new(t_symbol *s, int argc, t_atom *argv);
+void pileup_mute(t_pileup *x, t_floatarg f);
+void pileup_free( t_pileup *x );
+void pileup_clear( t_pileup *x );
+void pileup_init(t_pileup *x);
+void pileup_mode(t_pileup *x, t_floatarg mode);
+void pileup_inverse_gain(t_pileup *x, t_floatarg gain);
+void pileup_persistence(t_pileup *x, t_floatarg persistence);
+void pileup_transpose(t_pileup *x, t_floatarg tf);
+void pileup_synthresh(t_pileup *x, t_floatarg thresh);
+void pileup_oscbank(t_pileup *x, t_floatarg flag);
+void pileup_highfreq(t_pileup *x, t_floatarg f);
+void pileup_lowfreq(t_pileup *x, t_floatarg f);
+
+void pileup_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pileup~"), (t_newmethod)pileup_new,
+                  (t_method)pileup_free,sizeof(t_pileup), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pileup, x_f);
+	class_addmethod(c,(t_method)pileup_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pileup_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pileup_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pileup_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pileup_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pileup_clear,gensym("clear"), 0);
+	class_addmethod(c,(t_method)pileup_mode,gensym("mode"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)pileup_inverse_gain,gensym("inverse_gain"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)pileup_persistence,gensym("persistence"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)pileup_lowfreq,gensym("lowfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pileup_highfreq,gensym("highfreq"),A_FLOAT,0);
+    
+    pileup_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void pileup_highfreq(t_pileup *x, t_floatarg f)
+{
+	t_float curfreq;
+	t_fftease *fft = x->fft;
+	
+	if(f < x->lo_freq){
+		error("current minimum is %f",x->lo_freq);
+		return;
+	}
+	if(f > fft->R/2 ){
+		f = fft->R/2;
+	}	
+	x->hi_freq = f;
+	fft->hi_bin = 1;  
+	curfreq = 0;
+	while(curfreq < x->hi_freq) {
+		++(fft->hi_bin);
+		curfreq += fft->c_fundamental;
+	}
+}
+
+void pileup_lowfreq(t_pileup *x, t_floatarg f)
+{
+	t_float curfreq;
+	t_fftease *fft = x->fft;
+	
+	if(f > x->hi_freq){
+		error("current maximum is %f",x->lo_freq);
+		return;
+	}
+	if(f < 0 ){
+		f = 0;
+	}	
+	x->lo_freq = f;
+	fft->lo_bin = 0;  
+	curfreq = 0;
+	while( curfreq < x->lo_freq ) {
+		++(fft->lo_bin);
+		curfreq += fft->c_fundamental ;
+	}
+}
+
+
+void pileup_transpose(t_pileup *x, t_floatarg tf)
+{
+	x->fft->P = tf;
+}
+
+void pileup_synthresh(t_pileup *x, t_floatarg thresh)
+{
+	x->fft->synt = thresh;
+}
+
+void pileup_oscbank(t_pileup *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void pileup_persistence(t_pileup *x, t_floatarg persistence)
+{
+	x->persistence = persistence; 
+}
+
+void pileup_clear(t_pileup *x)
+{
+    x->last_frame = (t_float*)realloc(x->last_frame,(x->fft->N+2) * sizeof(t_float));
+}
+
+void pileup_mode(t_pileup *x, t_floatarg mode)
+{
+	if( mode >= 0 && mode <= 3)
+		x->mode = (int) mode;
+}
+
+void pileup_inverse_gain(t_pileup *x, t_floatarg gain)
+{
+	x->inverse_compensation_gain = gain;
+}
+
+
+void pileup_free(t_pileup *x){
+    if(x->fft->initialized){
+        free(x->last_frame);
+        free(x->frames_left);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void pileup_mute(t_pileup *x, t_floatarg f){
+	x->mute = (short)f;
+}
+
+void *pileup_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_pileup *x = (t_pileup *)pd_new(pileup_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+		
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void pileup_init(t_pileup *x)
+{
+	t_fftease  *fft = x->fft;
+	short initialized = fft->initialized;
+
+	fftease_init(fft);
+	
+	if(!initialized){
+		x->mode = 0;
+		x->inverse_compensation_gain = 4.0;
+		x->mute = 0;
+		x->move_threshold = .00001 ;
+
+		x->last_frame = (t_float *) calloc((fft->N+2), sizeof(t_float));
+		x->frames_left = (int *) calloc((fft->N+2), sizeof(int));
+	} else {
+		x->last_frame = (t_float *) realloc(x->last_frame,(fft->N+2)*sizeof(t_float));
+		x->frames_left = (int *) realloc(x->frames_left, (fft->N+2) * sizeof(int));
+        x->fft->input = (t_float*) realloc(fft->input, fft->Nw * sizeof(t_float));
+        x->fft->output = (t_float*) realloc(fft->output, fft->Nw * sizeof(t_float));
+        x->fft->c_lastphase_in = (t_float*)realloc(fft->c_lastphase_in, (fft->N2+1) * sizeof(t_float));
+        x->fft->c_lastphase_out = (t_float*)realloc(fft->c_lastphase_out, (fft->N2+1) * sizeof(t_float));
+	}
+	x->tadv = (t_float) fft->D / (t_float)fft->R ;
+}
+
+void do_pileup(t_pileup *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+	t_float *last_frame = x->last_frame;
+	t_float persistence = x->persistence; // decay factor
+	int N = fft->N;
+	t_float *channel = fft->channel;
+
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+	
+	if( x->mode == 0 ){
+		for( i = 0; i < N; i += 2 ){
+			if( fabs( channel[i] ) < last_frame[i]  ){ // fabs?
+				channel[i] = last_frame[i];
+				channel[i + 1] = last_frame[i + 1];
+			} else {
+				last_frame[i] = fabs( channel[i] );
+				last_frame[i + 1] = channel[i + 1];
+			}
+		}
+	}
+	else if( x->mode == 1) {
+		for( i = 0; i < N; i += 2 ){
+			if( fabs( channel[i] ) < last_frame[i]  ){ // fabs?
+				channel[i] = last_frame[i];
+			} else {
+				last_frame[i] = fabs( channel[i] );
+			}
+		}
+	}
+	else if( x->mode == 2 ){
+		for( i = 0; i < N; i += 2 ){
+			if( fabs( channel[i] ) > last_frame[i]  ){ // fabs?
+				channel[i] = last_frame[i] * x->inverse_compensation_gain;
+				channel[i + 1] = last_frame[i + 1];
+			} else {
+				last_frame[i] = fabs( channel[i] );
+				last_frame[i + 1] = channel[i + 1];
+			}
+		}
+	}	
+	if( persistence < 1.0){
+		for( i = 0; i < N; i += 2 ){
+			last_frame[i] *= persistence;
+		}
+	}
+
+	if(fft->obank_flag){
+		fftease_oscbank(fft);
+	} else {
+	    fftease_unconvert(fft);
+		fftease_rdft(fft,FFT_INVERSE);
+		fftease_overlapadd(fft);
+	}
+}
+t_int *pileup_perform(t_int *w)
+
+{
+	int		    i,j;
+    t_pileup *x = (t_pileup *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+4;
+	}	
+	
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+				
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_pileup(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pileup(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_pileup(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+4;
+}
+
+void pileup_dsp(t_pileup *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pileup_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pileup_perform, 3, x, sp[0]->s_vec, sp[1]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/power_of_two.c b/externals/fftease/power_of_two.c
new file mode 100644
index 000000000..799d43767
--- /dev/null
+++ b/externals/fftease/power_of_two.c
@@ -0,0 +1,15 @@
+
+int fftease_power_of_two(int test)
+{
+	int limit = 1048576;
+	int compare = 1;
+	do {
+		if(test == compare){
+			return 1;
+		} 
+		compare *= 2;
+	} while (compare <= limit);
+	
+	return 0;
+}
+
diff --git a/externals/fftease/pvcompand~.c b/externals/fftease/pvcompand~.c
new file mode 100644
index 000000000..421b30dad
--- /dev/null
+++ b/externals/fftease/pvcompand~.c
@@ -0,0 +1,329 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvcompand_class;
+
+#define OBJECT_NAME "pvcompand~"
+
+typedef struct _pvcompand
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float rescale;
+	t_float *curthresh;
+	t_float *atten;
+	t_float *thresh;
+	int count;
+	t_float thresh_interval;
+	t_float max_atten; 
+	t_float atten_interval;
+	t_float tstep;
+	t_float gstep;
+	t_float last_max_atten;
+	short norml;
+	short mute;
+} t_pvcompand;
+
+void pvcompand_dsp(t_pvcompand *x, t_signal **sp);
+t_int *pvcompand_perform(t_int *w);
+void *pvcompand_new(t_symbol *s, int argc, t_atom *argv);
+void update_thresholds(t_pvcompand *x);
+void pvcompand_normalize(t_pvcompand *x, t_floatarg val);
+void pvcompand_float(t_pvcompand *x, t_float f);
+void pvcompand_free(t_pvcompand *x);
+float pvcompand_ampdb(float db);
+void pvcompand_init(t_pvcompand *x);
+void pvcompand_mute(t_pvcompand *x, t_floatarg f);
+
+void pvcompand_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvcompand~"), (t_newmethod)pvcompand_new,
+                  (t_method)pvcompand_free,sizeof(t_pvcompand), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvcompand, x_f);
+	class_addmethod(c,(t_method)pvcompand_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvcompand_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)pvcompand_normalize,gensym("normalize"), A_FLOAT, 0);
+    pvcompand_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void pvcompand_mute(t_pvcompand *x, t_floatarg f)
+{
+	x->mute = (short)f;
+}
+
+
+void pvcompand_free( t_pvcompand *x ){
+    if(x->fft->initialized){
+        free(x->curthresh);
+        free(x->atten);
+        free(x->thresh);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *pvcompand_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_pvcompand *x = (t_pvcompand *)pd_new(pvcompand_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	x->max_atten = -6.0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void pvcompand_init(t_pvcompand *x)
+{
+	t_fftease  *fft = x->fft;
+	short initialized = x->fft->initialized;
+
+	fftease_init(fft);
+	
+	if(!initialized){
+		x->norml = 0;
+		x->mute = 0;
+		x->thresh_interval = 1.0;
+		x->last_max_atten =  x->max_atten; 
+		x->atten_interval = 2.0 ; 
+		x->tstep = 1.0 ;
+		x->gstep = 2.0 ;
+		x->thresh = (t_float *) calloc((fft->N), sizeof(t_float));
+		x->atten = (t_float *) calloc(fft->N, sizeof(t_float) );
+		x->curthresh = (t_float *) calloc(fft->N, sizeof(t_float) );
+	} else if(initialized == 1) {
+		x->thresh = (t_float *) realloc(x->thresh, fft->N * sizeof(t_float));
+		x->atten = (t_float *) realloc(x->atten, fft->N * sizeof(t_float));
+		x->curthresh = (t_float *) realloc(x->curthresh, fft->N * sizeof(t_float));
+	}
+	update_thresholds(x);
+}
+
+void update_thresholds( t_pvcompand *x ) {
+	int i;
+	t_float nowamp = x->max_atten ;
+	t_float nowthresh = 0.0 ;
+	int N = x->fft->N;
+	x->count = 0;
+	if( nowamp < 0.0 ){
+		while( nowamp < 0.0 ){
+			x->atten[x->count] = pvcompand_ampdb( nowamp );
+			nowamp += x->gstep ;
+			++(x->count);
+			if(x->count >= N){
+				error("count exceeds %d",N);
+				x->count = N - 1;
+				break;
+			}
+		}
+    }
+	else if( nowamp > 0.0 ){
+		while( nowamp > 0.0 ){
+			x->atten[x->count] = pvcompand_ampdb( nowamp );
+			nowamp -= x->gstep ;
+			++(x->count);
+			if(x->count >= N){
+				error("count exceeds %d",N);
+				x->count = N - 1;
+				break;
+			}
+		}
+	}
+	for( i = 0; i < x->count; i++){
+		x->thresh[i] = pvcompand_ampdb( nowthresh );
+		nowthresh -= x->tstep ;
+	}
+}
+
+void pvcompand_normalize(t_pvcompand *x, t_floatarg val) 
+{
+	x->norml = (short)val;
+}
+
+void do_pvcompand(t_pvcompand *x)
+{
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	int N = fft->N;
+	t_float *curthresh = x->curthresh;
+	t_float *thresh = x->thresh;
+	t_float *atten = x->atten;
+	int count = x->count;
+	t_float max_atten = x->max_atten;
+	int i,j;	
+	t_float maxamp ;	
+	t_float cutoff;
+	t_float avr, new_avr, rescale;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_leanconvert(fft);
+
+	maxamp = 0.;
+	avr = 0;
+	for( i = 0; i < N; i+= 2 ){
+		avr += channel[i];
+		if( maxamp < channel[i] ){
+			maxamp = channel[i] ;
+		}
+	}
+	if(count <= 1){
+		//	post("count too low!"); 
+		count = 1;
+	}
+	for( i = 0; i < count; i++ ){
+		curthresh[i] = thresh[i]*maxamp ;
+	}
+	cutoff = curthresh[count-1];
+	new_avr = 0;
+	for( i = 0; i < N; i += 2){
+		if( channel[i] > cutoff ){
+			j = count-1;
+			while( channel[i] > curthresh[j] ){
+				j--;
+				if( j < 0 ){
+					j = 0;
+					break;
+				}
+			}
+			channel[i] *= atten[j];
+		}
+		new_avr += channel[i] ;
+	}
+	
+	if( x->norml ) {
+		if( new_avr <= 0 ){
+			new_avr = .0001;
+		}
+		rescale =  avr / new_avr ;
+		
+	} else {
+		rescale = pvcompand_ampdb( max_atten * -.5); 
+	}
+	for( i = 0; i < N; i += 2){
+		channel[i] *= rescale;
+	} 
+	
+	fftease_leanunconvert(fft);
+	fftease_rdft(fft, FFT_INVERSE);
+	fftease_overlapadd(fft);
+}
+
+t_int *pvcompand_perform(t_int *w)
+{
+	int i,j;
+    t_pvcompand *x = (t_pvcompand *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *in2 = (t_float *)(w[3]);
+	t_float *MSPOutputVector = (t_float *)(w[4]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+5;
+	}
+
+    x->max_atten = *in2;
+    if(x->max_atten != x->last_max_atten) {
+        x->last_max_atten = x->max_atten;
+        update_thresholds(x);
+    }
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_pvcompand(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pvcompand(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_pvcompand(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+5;
+}	
+
+float pvcompand_ampdb(float db) 
+{
+	float amp;
+	amp = pow((t_float)10.0, (t_float)(db/20.0)) ;
+	return(amp);
+}
+
+void pvcompand_dsp(t_pvcompand *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvcompand_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvcompand_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
+
+
diff --git a/externals/fftease/pvgrain~.c b/externals/fftease/pvgrain~.c
new file mode 100644
index 000000000..703690a6a
--- /dev/null
+++ b/externals/fftease/pvgrain~.c
@@ -0,0 +1,318 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvgrain_class;
+
+#define OBJECT_NAME "pvgrain~"
+
+typedef struct _pvgrain
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	short *binsort;
+	t_float topfreq;
+	t_float bottomfreq;
+	short bypass;
+	int mute;
+	t_float grain_probability;
+	t_float sample_basefreq;
+	int grains_per_frame;
+	void *list_outlet;
+	t_float *listdata;
+	short list_count;
+	void *m_clock;
+	t_atom myList[2];
+
+} t_pvgrain;
+
+void pvgrain_dsp(t_pvgrain *x, t_signal **sp);
+t_int *pvgrain_perform(t_int *w);
+void *pvgrain_new(t_symbol *s, int argc, t_atom *argv);
+void pvgrain_mute(t_pvgrain *x, t_floatarg state);
+void pvgrain_tick(t_pvgrain *x);
+void pvgrain_printchan(t_pvgrain *x);
+void pvgrain_probability (t_pvgrain *x, t_floatarg prob);
+void pvgrain_framegrains (t_pvgrain *x, t_floatarg grains);
+void pvgrain_topfreq (t_pvgrain *x, t_floatarg top);
+void pvgrain_bottomfreq (t_pvgrain *x, t_floatarg f);
+void pvgrain_basefreq (t_pvgrain *x, t_floatarg base);
+float pvgrain_randf(float min, float max);
+void pvgrain_init(t_pvgrain *x);
+void pvgrain_free(t_pvgrain *x);
+
+void pvgrain_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvgrain~"), (t_newmethod)pvgrain_new,
+                  (t_method)pvgrain_free,sizeof(t_pvgrain), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvgrain, x_f);
+	class_addmethod(c,(t_method)pvgrain_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvgrain_mute,gensym("mute"),A_FLOAT,0);
+
+    class_addmethod(c,(t_method)pvgrain_printchan,gensym("printchan"),A_DEFFLOAT,0);
+	class_addmethod(c,(t_method)pvgrain_probability,gensym("probability"),A_DEFFLOAT,0);
+	class_addmethod(c,(t_method)pvgrain_framegrains,gensym("framegrains"),A_DEFFLOAT,0);
+	class_addmethod(c,(t_method)pvgrain_topfreq,gensym("topfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvgrain_basefreq,gensym("basefreq"),A_FLOAT,0);
+    pvgrain_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+void pvgrain_printchan(t_pvgrain *x)
+{
+	int i;
+	t_float *channel = x->fft->channel;
+	post("***");
+	for( i = 0 ; i < 30; i+= 2 ){
+		post("amp %f freq %f", channel[i*2], channel[i*2 + 1]);
+	}
+	post("***");
+}
+
+void pvgrain_basefreq (t_pvgrain *x, t_floatarg base)
+{
+	int R = x->fft->R;
+	if( base < 0.0 )
+		base = 0. ;
+	if( base > R / 2 )
+		base = R / 2 ;
+	x->sample_basefreq = base;
+}
+
+void pvgrain_topfreq (t_pvgrain *x, t_floatarg top)
+{
+	int R = x->fft->R;
+	t_fftease *fft = x->fft;
+
+	if( top < 50. )
+		top = 50.;
+	if( top > R / 2 )
+		top = R / 2;
+	x->topfreq = top ;
+	fftease_oscbank_setbins(fft,x->bottomfreq, x->topfreq);
+}
+
+void pvgrain_bottomfreq (t_pvgrain *x, t_floatarg f)
+{
+	int R = x->fft->R;
+	t_fftease *fft = x->fft;
+	if( f >= x->topfreq || f >= R/2){
+		post("%f is too high a bottom freq",f);
+		return;
+	}
+	
+	x->bottomfreq = f;
+	fftease_oscbank_setbins(fft,x->bottomfreq, x->topfreq);
+}
+
+void pvgrain_probability (t_pvgrain *x, t_floatarg prob)
+{
+	if( prob < 0. )
+		prob = 0.;
+	if( prob > 1. )
+		prob = 1.;
+	x->grain_probability = prob ;
+}
+
+void pvgrain_framegrains (t_pvgrain *x, t_floatarg grains)
+{
+	int N2 = x->fft->N2;
+	if( grains < 1 )
+		grains = 1;
+	if( grains > N2 - 1 )
+		grains = N2 - 1;
+	x->grains_per_frame = grains ;
+}
+
+void pvgrain_tick(t_pvgrain *x)
+{
+	t_atom *myList = x->myList;
+	t_float *listdata = x->listdata;
+	int i;
+	
+	for (i=0; i < 2; i++) {
+		SETFLOAT(myList+i,listdata[i]); /* macro for setting a t_atom */
+	}
+	outlet_list(x->list_outlet,0,2,myList);
+}
+
+void *pvgrain_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_pvgrain *x = (t_pvgrain *)pd_new(pvgrain_class);
+
+    x->list_outlet = outlet_new(&x->x_obj, gensym("list"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	
+	x->grain_probability = 0.0001;
+	x->topfreq = 1000.0;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void pvgrain_init(t_pvgrain *x)
+{
+	t_fftease  *fft = x->fft;
+	short initialized = fft->initialized;
+	fftease_init(fft);
+	
+	if(!initialized){
+        x->m_clock = clock_new(x,(void *)pvgrain_tick);
+		x->sample_basefreq = 261.0;
+		x->bottomfreq = 0.0;
+		x->mute = 0;
+		x->binsort = (short *) calloc((fft->N2+1), sizeof(short) );
+		x->listdata = (t_float *) calloc(40, sizeof(t_float));
+	} else if(initialized == 1) {
+		x->binsort = (short *) realloc(x->binsort,(fft->N2+1) * sizeof(short));
+	}
+	fftease_oscbank_setbins(fft,x->bottomfreq, x->topfreq);
+}
+
+void pvgrain_free(t_pvgrain *x)
+{
+    if(x->fft->initialized){
+        free(x->binsort);
+        free(x->listdata);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void do_pvgrain(t_pvgrain *x)
+{
+	int 	i,j;
+	t_float tmp, dice;
+	short print_grain;
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	short *binsort = x->binsort;
+	int grains_per_frame = x->grains_per_frame ;
+	t_float selection_probability = x->grain_probability;
+	int hi_bin = fft->hi_bin;
+	int lo_bin = fft->lo_bin;
+	t_float *listdata = x->listdata;
+		
+	x->list_count = 0;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+	if( grains_per_frame > hi_bin - lo_bin )
+		grains_per_frame = hi_bin - lo_bin;
+	//  binsort[0] = 0;
+	for( i = 0; i < hi_bin; i++ ){// could be hi_bin - lo_bin
+		binsort[i] = i + lo_bin;
+	}
+	for( i = lo_bin; i < hi_bin - 1; i++ ){
+		for( j = i+1; j < hi_bin; j++ ){
+			if(channel[binsort[j] * 2] > channel[binsort[i] * 2]) {
+				tmp = binsort[j];
+				binsort[j] = binsort[i];
+				binsort[i] = tmp;
+			}
+		}
+	}
+	for( i = 0; i < grains_per_frame; i++ ){
+		print_grain = 1;
+		dice = fftease_randf(0.,1.);
+		if( dice < 0.0 || dice > 1.0 ){
+			error("dice %f out of range", dice);
+		}
+		if( selection_probability < 1.0 ){
+			if( dice > selection_probability) {
+				print_grain = 0;
+			} 
+		}
+		if( print_grain ){
+			listdata[ x->list_count * 2 ] = channel[ binsort[i]*2 ];
+			listdata[ (x->list_count * 2) + 1 ] = channel[(binsort[i]*2) + 1] ;
+			++(x->list_count);
+			clock_delay(x->m_clock,0); 
+		}
+	}
+}
+
+t_int *pvgrain_perform(t_int *w)
+{
+	int 	i;
+    t_pvgrain *x = (t_pvgrain *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+	if (x->mute) {
+		return w+3;
+	}
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+		do_pvgrain(x);
+	}	
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+			do_pvgrain(x);
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+			do_pvgrain(x);
+		}
+		fft->operationCount = operationCount;
+	}
+	return w+3;
+}	
+
+void pvgrain_mute(t_pvgrain *x, t_floatarg state)
+{
+	x->mute = (short)state;	
+}
+
+void pvgrain_dsp(t_pvgrain *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvgrain_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvgrain_perform, 2, x, sp[0]->s_vec);
+    }
+}
diff --git a/externals/fftease/pvharm~.c b/externals/fftease/pvharm~.c
new file mode 100644
index 000000000..b275c2d7f
--- /dev/null
+++ b/externals/fftease/pvharm~.c
@@ -0,0 +1,351 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvharm_class;
+
+#define OBJECT_NAME "pvharm~"
+
+typedef struct _pvharm
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+	short mute;
+	short peakflag;
+	t_float hifreq;/* highest frequency to synthesize */
+	t_float lofreq;/* lowest frequency to synthesize */
+	t_float framethresh; /* set lower limit for synth cutoff, to avoid noise */
+	int osclimit;
+	int oscnt;
+	t_float local_thresh;
+	t_float framepeak;
+	t_float *ampsort; /* sort amplitudes from highest to lowest */
+	short compressor; /* flag to compress */
+	t_float framestop; /* amplitude below which compressor is turned off */
+} t_pvharm;
+
+void pvharm_dsp(t_pvharm *x, t_signal **sp);
+t_int *pvharm_perform(t_int *w);
+void *pvharm_new(t_symbol *s, int argc, t_atom *argv);
+void pvharm_mute(t_pvharm *x, t_floatarg f);
+void pvharm_init(t_pvharm *x);
+void pvharm_rel2peak(t_pvharm *x, t_floatarg toggle);
+void pvharm_free(t_pvharm *x);
+void pvharm_oscnt(t_pvharm *x);
+void pvharm_osclimit(t_pvharm *x, t_floatarg f);
+void pvharm_compressor(t_pvharm *x, t_floatarg state);
+void pvharm_framestop(t_pvharm *x, t_floatarg state);
+void pvharm_lowfreq(t_pvharm *x, t_floatarg f);
+void pvharm_highfreq(t_pvharm *x, t_floatarg f);
+
+void pvharm_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvharm~"), (t_newmethod)pvharm_new,
+                  (t_method)pvharm_free,sizeof(t_pvharm), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvharm, x_f);
+	class_addmethod(c,(t_method)pvharm_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvharm_mute,gensym("mute"),A_FLOAT,0);
+
+    class_addmethod(c,(t_method)pvharm_osclimit,gensym("osclimit"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvharm_oscnt,gensym("oscnt"),0);
+	class_addmethod(c,(t_method)pvharm_compressor,gensym("compressor"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvharm_framestop,gensym("framestop"),A_FLOAT,0);
+    class_addmethod(c,(t_method)pvharm_highfreq,gensym("highfreq"),A_FLOAT,0);
+    class_addmethod(c,(t_method)pvharm_lowfreq,gensym("lowfreq"),A_FLOAT,0);
+    pvharm_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void pvharm_lowfreq(t_pvharm *x, t_floatarg f)
+{
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    if(f > x->hifreq){
+        error("%s: minimum cannot exceed current maximum: %f",OBJECT_NAME,x->hifreq);
+        return;
+    }
+    if(f < 0 ){
+        f = 0;
+    }
+    x->lofreq = f;
+    fftease_oscbank_setbins(fft,x->lofreq, x->hifreq);
+    fftease_oscbank_setbins(fft2,x->lofreq, x->hifreq);
+}
+
+void pvharm_highfreq(t_pvharm *x, t_floatarg f)
+{
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    int R = x->fft->R;
+    if(f < x->lofreq){
+        error("%s: maximum cannot go below current minimum: %f",OBJECT_NAME,x->lofreq);
+        return;
+    }
+    if(f > R/2 ){
+        f = R/2;
+    }
+    x->hifreq = f;
+    fftease_oscbank_setbins(fft,x->lofreq, x->hifreq);
+    fftease_oscbank_setbins(fft2,x->lofreq, x->hifreq);
+}
+
+void pvharm_oscnt(t_pvharm *x)
+{
+	post("%s: osc count: %d, local thresh: %f, frame peak: %f",OBJECT_NAME, x->oscnt, x->local_thresh, x->framepeak);
+}
+
+void pvharm_free(t_pvharm *x)
+{
+    if(x->fft->initialized){
+        free(x->ampsort);
+    }
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void pvharm_rel2peak(t_pvharm *x, t_floatarg toggle)
+{
+	x->peakflag = (short)toggle;
+}
+
+void *pvharm_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_pvharm *x = (t_pvharm *)pd_new(pvharm_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	x->lofreq = 0;
+	x->hifreq = 15000;
+	fft2->N = fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+
+	return x;
+}
+
+void pvharm_init(t_pvharm *x)
+{
+	t_fftease  *fft = x->fft;
+	t_fftease  *fft2 = x->fft2;
+	short initialized = fft->initialized;
+	fftease_init(fft);
+	fftease_init(fft2);
+    
+	if(!initialized){
+		x->framethresh = 0.005;
+		x->osclimit = fft->N2;
+		fft->P = .5 ; // for testing purposes
+		fft2->P = .6666666666 ; // for testing purposes
+		x->mute = 0;
+		x->compressor = 0;
+		x->framestop = .001;
+		x->ampsort = (t_float *) calloc((fft->N+1), sizeof(t_float));
+	} else if(initialized == 1){
+		x->ampsort = (t_float *) realloc(x->ampsort, (fft->N+1) * sizeof(t_float));
+	}
+	fftease_oscbank_setbins(fft, x->lofreq, x->hifreq);
+	fftease_oscbank_setbins(fft2, x->lofreq, x->hifreq);
+}
+
+void do_pvharm(t_pvharm *x)
+{
+	t_float framethresh = x->framethresh;
+	int osclimit = x->osclimit;
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int D = fft->D;
+	int freq, amp,chan;
+	t_float framesum, frame_rescale;
+	t_float framestop = x->framestop;
+	t_float *channel = fft->channel;
+	t_float *channel2 = fft2->channel;
+	t_float *output = fft->output;
+	t_float *output2 = fft2->output;
+	int lo_bin = fft->lo_bin;
+	int hi_bin = fft->hi_bin;
+
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+	
+	if(x->compressor){
+		framesum = 0.0;
+		for(chan = fft->lo_bin; chan < fft->hi_bin; chan++){
+			amp = chan << 1;
+			framesum += channel[amp];
+		}
+		if(framesum > framestop && framesum >= 0.0){
+			frame_rescale = 1.0 / framesum;
+			for(chan = lo_bin; chan < hi_bin; chan++){
+				amp = chan << 1;
+				channel[amp] *= frame_rescale;		
+			}
+		}	
+	}
+	// copy spectrum to second channel (yes it is inefficient)
+
+	for(chan = lo_bin; chan < hi_bin; chan++){
+		amp = chan << 1;
+		freq = amp + 1;
+		channel2[amp] = channel[amp];
+		channel2[freq] = channel[freq];
+	} 
+	fftease_limited_oscbank(fft, osclimit, framethresh);
+	fftease_limited_oscbank(fft2, osclimit, framethresh);
+	for(i = 0; i < D; i++){
+		output[i] += output2[i];
+	}
+}
+
+t_int *pvharm_perform(t_int *w)
+{
+	int i,j;
+    t_pvharm *x = (t_pvharm *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *in2 = (t_float *)(w[3]);
+	t_float *in3 = (t_float *)(w[4]);
+	t_float *in4 = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float *output2 = fft2->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	
+	if(x->mute){
+		for( j = 0; j < MSPVectorSize; j++) {
+			*MSPOutputVector++ = *MSPInputVector++ * FFTEASE_BYPASS_GAIN;
+		}
+		return w+7;
+	}
+
+    fft->P = *in2;
+    fft2->P = *in3;
+    fft->synt = fft2->synt =  *in4;
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+		do_pvharm(x);
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+        memcpy(output2, output2 + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output2[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pvharm(x);
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+            memcpy(output2, output2 + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output2[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+			
+			do_pvharm( x );
+            
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+            memcpy(output2, output2 + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output2[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}		
+
+void pvharm_compressor(t_pvharm *x, t_floatarg state)
+{
+	x->compressor = (short)state;	
+}
+
+void pvharm_framestop(t_pvharm *x, t_floatarg state)
+{
+	x->framestop = state;	
+}
+
+void pvharm_mute(t_pvharm *x, t_floatarg state)
+{
+	x->mute = (short)state;	
+}
+
+void pvharm_osclimit(t_pvharm *x, t_floatarg limit)
+{
+	x->osclimit = (int)limit;	
+}
+
+void pvharm_dsp(t_pvharm *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        pvharm_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvharm_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/pvoc~.c b/externals/fftease/pvoc~.c
new file mode 100644
index 000000000..d8384fc67
--- /dev/null
+++ b/externals/fftease/pvoc~.c
@@ -0,0 +1,253 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvoc_class;
+
+#define OBJECT_NAME "pvoc~"
+
+typedef struct _pvoc
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_float lofreq;
+	t_float hifreq;
+	t_float topfreq;
+	short mute;
+} t_pvoc;
+
+void *pvoc_new(t_symbol *s, int argc, t_atom *argv);
+void pvoc_free(t_pvoc *x);
+void pvoc_mute(t_pvoc *x, t_floatarg tog);
+void pvoc_init(t_pvoc *x);
+void pvoc_fftinfo(t_pvoc *x);
+void pvoc_lowfreq(t_pvoc *x, t_floatarg f);
+void pvoc_highfreq(t_pvoc *x, t_floatarg f);
+void do_pvoc(t_pvoc *x );
+t_int *pvoc_perform(t_int *w);
+void pvoc_dsp(t_pvoc *x, t_signal **sp);
+
+void pvoc_tilde_setup(void)
+{
+    pvoc_class = class_new(gensym("pvoc~"), (t_newmethod)pvoc_new,
+						   (t_method)pvoc_free,sizeof(t_pvoc), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(pvoc_class, t_pvoc, x_f);
+	class_addmethod(pvoc_class,(t_method)pvoc_dsp,gensym("dsp"),0);
+	class_addmethod(pvoc_class,(t_method)pvoc_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(pvoc_class,(t_method)pvoc_lowfreq,gensym("lowfreq"),A_FLOAT,0);
+    class_addmethod(pvoc_class,(t_method)pvoc_highfreq,gensym("highfreq"),A_FLOAT,0);
+    class_addmethod(pvoc_class,(t_method)pvoc_fftinfo,gensym("fftinfo"),0);
+    fftease_announce(OBJECT_NAME);
+}
+
+void pvoc_lowfreq(t_pvoc *x, t_floatarg f)
+{
+    if(!x->fft->initialized)
+        return;
+    if(f < 0 ){
+        f = 0;
+    }
+    x->lofreq = f;
+    fftease_oscbank_setbins(x->fft,x->lofreq, x->hifreq);
+}
+
+void pvoc_highfreq(t_pvoc *x, t_floatarg f)
+{
+    if(!x->fft->initialized)
+        return;
+    if(f < 0 ){
+        f = 0;
+    }
+    if(f < x->lofreq){
+        error("%s: maximum cannot go below current minimum: %f",OBJECT_NAME,x->lofreq);
+        return;
+    }
+    if(f > x->fft->R/2 ){
+        f = x->fft->R/2;
+    }
+    x->hifreq = f;
+    fftease_oscbank_setbins(x->fft,x->lofreq, x->hifreq);
+}
+
+void pvoc_mute(t_pvoc *x, t_floatarg tog)
+{
+	x->mute = (short)tog;
+}
+
+void pvoc_fftinfo(t_pvoc *x)
+{
+t_fftease *fft = x->fft;
+	fftease_fftinfo( fft, OBJECT_NAME );	
+}
+
+void pvoc_free(t_pvoc *x ){
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void pvoc_init(t_pvoc *x)
+{
+	float curfreq;
+	t_fftease *fft = x->fft;
+	
+	if(fft->initialized == -1){
+		return;
+	}
+    
+	fftease_init(fft);
+
+	if( x->hifreq < fft->c_fundamental ) {
+        post("default hi frequency of 18000 Hz");
+		x->hifreq = 18000.0 ;
+	}
+	x->fft->hi_bin = 1;  
+	curfreq = 0;
+	while( curfreq < x->hifreq ) {
+		++(x->fft->hi_bin);
+		curfreq += fft->c_fundamental ;
+	}
+	
+	x->fft->lo_bin = 0;  
+	curfreq = 0;
+	while( curfreq < x->lofreq ) {
+		++(x->fft->lo_bin);
+		curfreq += fft->c_fundamental;
+	}
+}
+
+void *pvoc_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_pvoc *x = (t_pvoc *)pd_new(pvoc_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	x->lofreq = 0;
+	x->hifreq = 15000;
+	x->mute = 0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv);}
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv);}
+    if(argc > 2){ x->lofreq = atom_getfloatarg(2, argc, argv);}
+    if(argc > 3){ x->hifreq = atom_getfloatarg(3, argc, argv);}
+	fft->initialized = 0;// prepare for init in DSP routine
+	return x;
+}
+
+void do_pvoc(t_pvoc *x)
+{
+	t_fftease *fft = x->fft;
+    fftease_fold(fft);
+	fftease_rdft(fft, 1);
+	fftease_convert(fft);
+	fftease_oscbank(fft);
+}
+
+t_int *pvoc_perform(t_int *w)
+{
+    t_pvoc *x = (t_pvoc *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *transp = (t_float *)(w[3]);
+	t_float *synth_thresh = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+    
+	t_fftease *fft = x->fft;
+	int i, j;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+    fft->P  = *transp;
+    fft->pitch_increment = fft->P*fft->L/fft->R;
+    fft->synt = *synth_thresh;
+
+	// HERE IS THE GOOD STUFF
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+		do_pvoc( x );
+        
+		for ( j = 0; j < D; j++ ){
+			*MSPOutputVector++ = output[j] * mult;
+        }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+			do_pvoc( x );
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+			
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+
+			do_pvoc( x );
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void pvoc_dsp(t_pvoc *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+	if(!samplerate)
+        return;
+    t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvoc_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvoc_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/pvtuner~.c b/externals/fftease/pvtuner~.c
new file mode 100644
index 000000000..0729cab33
--- /dev/null
+++ b/externals/fftease/pvtuner~.c
@@ -0,0 +1,1014 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvtuner_class;
+
+#define OBJECT_NAME "pvtuner~"
+
+#define MAXTONES (8192)
+#define BASE_FREQ (27.5)	/* low A  */
+#define DIATONIC 0
+#define EASTERN 1
+#define MINOR 2
+#define EQ12 3
+#define PENTATONIC 4
+#define MAJOR_ADDED_SIXTH 5
+#define MINOR_ADDED_SIXTH 6
+#define ADDED_SIXTH_MAJOR 5
+#define ADDED_SIXTH_MINOR 6
+#define MAJOR_SEVENTH_CHORD 7
+#define MINOR_SEVENTH_CHORD 8
+#define DOMINANT_SEVENTH_CHORD 9
+#define EQ8 10
+#define PENTACLUST 11
+#define QUARTERCLUST 12
+#define EQ5 13
+#define SLENDRO 14
+#define PELOG 15
+#define IMPORTED_SCALE 16
+#define EQN 17
+
+typedef struct {
+	t_float *pitchgrid;
+	int scale_steps; // total number of members
+	short current_scale;
+} t_pvtuner_scale;
+
+typedef struct _pvtuner
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	int lo_bin;
+	int hi_bin;
+	int hi_tune_bin;
+	t_float topfreq;
+	t_float curfreq;
+	// TUNING
+	float *pitchgrid;
+	float pbase;
+	int scale_steps;
+	short current_scale;
+	short mute;
+	t_float lofreq;
+	t_float hifreq;
+	t_float tabscale;
+	int scale_len;
+	short verbose;
+	long fftsize_attr;
+	long overlap_attr;
+	long scale_interpolation; // interpolation flag, set to zero by default
+	t_float interpolation_dur; // set to 1 second
+	long interpolation_frames; // == duration / (D/R)
+	long interpolation_countdown; // count frames for interpolation
+	t_float ip; // interpolation point
+	t_pvtuner_scale *this_scale;
+	t_pvtuner_scale *last_scale;
+} t_pvtuner;
+
+
+void pvtuner_dsp(t_pvtuner *x, t_signal **sp);
+t_int *pvtuner_perform(t_int *w);
+t_float closestf(t_float test, t_float *arr) ;
+void pvtuner_diatonic( t_pvtuner *x );
+void pvtuner_eastern( t_pvtuner *x );
+void pvtuner_minor( t_pvtuner *x );
+void pvtuner_eq12( t_pvtuner *x );
+void pvtuner_pentatonic( t_pvtuner *x );
+void pvtuner_major_added_sixth( t_pvtuner *x );
+void pvtuner_minor_added_sixth( t_pvtuner *x );
+void pvtuner_major_seventh_chord( t_pvtuner *x );
+void pvtuner_minor_seventh_chord( t_pvtuner *x );
+void pvtuner_dominant_seventh_chord( t_pvtuner *x );
+void pvtuner_eq8( t_pvtuner *x );
+void pvtuner_pentaclust( t_pvtuner *x );
+void pvtuner_quarterclust( t_pvtuner *x );
+void pvtuner_eq5( t_pvtuner *x );
+void pvtuner_slendro( t_pvtuner *x );
+void pvtuner_pelog( t_pvtuner *x );
+void pvtuner_update_imported( t_pvtuner *x );
+void pvtuner_init(t_pvtuner *x);
+void *pvtuner_new(t_symbol *s, int argc, t_atom *argv);
+void pvtuner_import_scale(t_pvtuner *x, t_symbol *filename);
+void pvtuner_list (t_pvtuner *x, t_symbol *msg, short argc, t_atom *argv);
+void pvtuner_toptune( t_pvtuner *x, t_floatarg f );
+void pvtuner_frequency_range(t_pvtuner *x, t_floatarg lo, t_floatarg hi);
+void pvtuner_basefreq( t_pvtuner *x, t_floatarg bassfreq);
+void pvtuner_free(t_pvtuner *x);
+void pvtuner_mute(t_pvtuner *x, t_floatarg state);
+void pvtuner_list (t_pvtuner *x, t_symbol *msg, short argc, t_atom *argv);
+void pvtuner_binfo(t_pvtuner *x);
+void pvtuner_eqn(t_pvtuner *x, t_floatarg steps);
+void pvtuner_interpolation(t_pvtuner *x, t_floatarg state);
+
+void pvtuner_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvtuner~"), (t_newmethod)pvtuner_new,
+                  (t_method)pvtuner_free,sizeof(t_pvtuner), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvtuner, x_f);
+	class_addmethod(c,(t_method)pvtuner_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvtuner_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)pvtuner_basefreq,gensym("basefreq"),A_DEFFLOAT,0);
+	class_addmethod(c,(t_method)pvtuner_diatonic,gensym("diatonic"),0);
+	class_addmethod(c,(t_method)pvtuner_eastern,gensym("eastern"),0);
+	class_addmethod(c,(t_method)pvtuner_minor,gensym("minor"),0);
+	class_addmethod(c,(t_method)pvtuner_eq12,gensym("eq12"),0);
+	class_addmethod(c,(t_method)pvtuner_pentatonic,gensym("pentatonic"),0);
+	class_addmethod(c,(t_method)pvtuner_major_added_sixth,gensym("added_sixth_major"),0);
+	class_addmethod(c,(t_method)pvtuner_minor_added_sixth,gensym("added_sixth_minor"),0);
+	class_addmethod(c,(t_method)pvtuner_major_seventh_chord,gensym("major_seventh_chord"),0);
+	class_addmethod(c,(t_method)pvtuner_minor_seventh_chord,gensym("minor_seventh_chord"),0);
+	class_addmethod(c,(t_method)pvtuner_dominant_seventh_chord,gensym("dominant_seventh_chord"),0);
+	class_addmethod(c,(t_method)pvtuner_eq8,gensym("eq8"),0);
+	class_addmethod(c,(t_method)pvtuner_pentaclust,gensym("pentaclust"),0);
+	class_addmethod(c,(t_method)pvtuner_quarterclust,gensym("quarterclust"),0);
+	class_addmethod(c,(t_method)pvtuner_eq5,gensym("eq5"),0);
+	class_addmethod(c,(t_method)pvtuner_eqn,gensym("eqn"),A_FLOAT, 0);
+    class_addmethod(c,(t_method)pvtuner_interpolation,gensym("interpolation"),A_FLOAT, 0);
+	class_addmethod(c,(t_method)pvtuner_slendro,gensym("slendro"),0);
+	class_addmethod(c,(t_method)pvtuner_pelog,gensym("pelog"),0);
+	class_addmethod(c,(t_method)pvtuner_list,gensym("list"),A_GIMME,0);
+	class_addmethod(c,(t_method)pvtuner_frequency_range,gensym("frequency_range"),A_FLOAT,A_FLOAT, 0);
+    pvtuner_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void *pvtuner_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_pvtuner *x = (t_pvtuner *)pd_new(pvtuner_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	x->verbose = 0;
+	x->lofreq = 0;
+	x->hifreq = 18000;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;	
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+/* Copies current scale (this_scale) to next scale (next_scale)
+ */
+void pvtuner_copy_scale(t_pvtuner *x)
+{
+	int i;
+	t_pvtuner_scale *this = x->this_scale;
+	t_pvtuner_scale *last = x->last_scale;
+	last->scale_steps = this->scale_steps;
+	last->current_scale = this->current_scale;
+	for(i = 0; i < last->scale_steps; i++){
+		last->pitchgrid[i] = this->pitchgrid[i];
+	}
+}
+
+void pvtuner_init(t_pvtuner *x)
+{
+	int mem;
+	
+	t_fftease *fft = x->fft;
+	if( fft->R <= 0.0 ){
+		post("%s: zero sample rate reported - initialization deferred", OBJECT_NAME);
+		x->fft->initialized = 0; // failed initialization
+		return;
+	}
+
+	if(!x->fft->initialized){
+		x->mute = 0;
+		mem = (MAXTONES+1)*sizeof(float);
+		x->pitchgrid = (float *) calloc(mem,1);
+		x->pbase = BASE_FREQ;
+		x->this_scale = (t_pvtuner_scale *) calloc(1,sizeof(t_pvtuner_scale));
+		x->last_scale = (t_pvtuner_scale *) calloc(1,sizeof(t_pvtuner_scale));
+		x->this_scale->pitchgrid = (t_float *) calloc(1,mem);
+		x->last_scale->pitchgrid = (t_float *) calloc(1,mem);
+		x->this_scale->scale_steps = 0;
+		x->last_scale->scale_steps = 0;
+		pvtuner_diatonic(x);// default scale (rebuilt for new scale structure)
+		pvtuner_copy_scale(x); // now both this and next scale are diatonic
+	} 
+
+	fftease_init(fft);
+	if( x->fft->D && x->fft->R ){
+		/*
+		x->interpolation_frames = x->interpolation_dur / ((float)x->fft->D / (float)x->fft->R);
+		post("interpolation frames: %d", x->interpolation_frames);
+		*/
+	} else {
+		post("pvtuner~: dire warning!");
+		return;
+		// dire warning
+	}
+	fftease_oscbank_setbins(fft,x->lofreq, x->hifreq);
+	x->hi_tune_bin = fft->hi_bin;
+}
+
+void pvtuner_toptune(t_pvtuner *x, t_floatarg f)
+{
+	int tbin;
+	t_float curfreq;
+	t_float fundamental = x->fft->c_fundamental;
+	t_fftease *fft = x->fft;
+	tbin = 1;  
+	curfreq = 0;
+	
+	if( f < 0 || f > x->fft->R / 2.0 ){
+		error("frequency %f out of range", f);
+		return;
+	}
+	while( curfreq < f ) {
+		++tbin;
+		curfreq += fundamental ;
+	}
+	if( tbin > fft->lo_bin && tbin <= fft->hi_bin ){
+		x->hi_tune_bin = tbin;
+	} else {
+		error("pvtuner~: bin %d out of range", tbin);
+	}
+	
+}
+
+
+void pvtuner_list (t_pvtuner *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+    t_float dval;
+	t_pvtuner_scale *s = x->this_scale;
+	int i = 0;
+	
+	if( ! atom_getfloatarg(i,argc,argv) ){
+		error("either zero length scale or 0.0 (prohibited) is first value");
+		return;
+	}
+	pvtuner_copy_scale(x);
+	/* first set every value to maximum */
+	for(i=0; i < MAXTONES; i++){
+		pitchgrid[i] = (t_float)x->fft->R / 2.0;
+	}
+    // now read scale
+	for( i = 0; i < argc; i++ ){
+        dval = atom_getfloatarg(i,argc,argv);
+		pitchgrid[ i ] = dval;
+	}
+	s->scale_steps = argc;
+	s->current_scale = IMPORTED_SCALE;
+}
+
+void pvtuner_binfo(t_pvtuner *x)
+{
+	t_fftease *fft = x->fft;
+	post("%s: frequency targets: %f %f", OBJECT_NAME, x->lofreq, x->hifreq);
+	post("synthesizing %d bins, from %d to %d",(fft->hi_bin - fft->lo_bin), fft->lo_bin, fft->hi_bin);
+}
+
+void pvtuner_frequency_range(t_pvtuner *x, t_floatarg lo, t_floatarg hi)
+{
+	t_fftease *fft = x->fft;
+	x->lofreq = lo ;
+	x->hifreq = hi;
+	
+	
+	if( lo >= hi ){
+		error("low frequency must be lower than high frequency");
+		return;
+	}
+	x->curfreq = 0;
+	fft->hi_bin = 0;
+	
+	while( x->curfreq < x->hifreq ) {
+		++(fft->hi_bin);
+		x->curfreq += x->fft->c_fundamental;
+	}
+	
+	x->curfreq = 0;
+	fft->lo_bin = 0;  
+	while( x->curfreq < x->lofreq ) {
+		++(fft->lo_bin);
+		x->curfreq += x->fft->c_fundamental ;
+	}
+}
+
+void do_pvtuner(t_pvtuner *x)
+{
+	t_fftease *fft = x->fft;
+	int freq,chan;
+	t_float *channel = fft->channel;
+	t_float *this_pitchgrid = x->this_scale->pitchgrid;
+	t_float *last_pitchgrid = x->last_scale->pitchgrid;
+	int hi_bin = fft->hi_bin;
+	int lo_bin = fft->lo_bin;
+	int hi_tune_bin = x->hi_tune_bin;
+	long scale_interpolation = x->scale_interpolation;
+	t_float ip = x->ip;
+	t_float freq_this, freq_last;
+	fftease_fold(fft);
+	fftease_rdft(fft, 1);
+	fftease_convert(fft);
+	// static case
+	if( scale_interpolation == 0) {
+		for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+			freq = (chan * 2) + 1;
+			if(chan <= hi_tune_bin){
+				channel[freq] = closestf(channel[freq], this_pitchgrid);
+			}
+		}
+	}
+	// interpolated case
+	else if( scale_interpolation == 1) {
+		// clip
+		if( ip < 0 )
+			ip = 0;
+		if( ip > 1 )
+			ip = 1;
+		// degenerate cases first
+		if( ip == 0 ){
+			for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+				freq = (chan * 2) + 1;
+				if(chan <= hi_tune_bin){
+					channel[freq] = closestf(channel[freq], last_pitchgrid);
+				}
+			}
+		} 
+		else if ( ip == 1){
+			for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+				freq = (chan * 2) + 1;
+				if(chan <= hi_tune_bin){
+					channel[freq] = closestf(channel[freq], this_pitchgrid);
+				}
+			}
+		}
+		else {
+			for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+				freq = (chan * 2) + 1;
+				if(chan <= hi_tune_bin){
+					freq_this = closestf(channel[freq], this_pitchgrid);
+					freq_last = closestf(channel[freq], last_pitchgrid);
+					channel[freq] = freq_last + (freq_this - freq_last) * ip; // linear interpolation
+				}
+			}
+		}
+	}
+	fftease_oscbank(fft);
+}
+
+
+t_int *pvtuner_perform(t_int *w)
+{
+	int 	i,j;
+    t_pvtuner *x = (t_pvtuner *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *pitchfac = (t_float *)(w[3]);
+	t_float *synth_thresh = (t_float *)(w[4]);
+	t_float *ip = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	
+	if (x->mute) {
+		memset(MSPOutputVector, 0.0, MSPVectorSize * sizeof(float));
+		return w+7;
+	}
+
+    fft->P  = *pitchfac;
+    fft->synt = *synth_thresh ;
+    x->ip = *ip;
+
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_pvtuner(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pvtuner(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_pvtuner(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}
+
+void pvtuner_basefreq( t_pvtuner *x, t_floatarg bassfreq)
+{
+    if(! x->fft->initialized){
+        return;
+    }
+	if( bassfreq < 1 ){
+		bassfreq = 1;
+		post("%s: base frequency may not go lower than 1 Hz", OBJECT_NAME);
+	}
+	if( bassfreq > 10000. ){
+		bassfreq = 10000.;
+		post("%s: base frequency may not go higher than 10000 Hz", OBJECT_NAME);
+	}
+	x->pbase = bassfreq;
+	if( x->current_scale == IMPORTED_SCALE ){
+		pvtuner_update_imported( x );
+	}
+	else if( x->current_scale == DIATONIC ){
+		pvtuner_diatonic( x );
+	} 
+	else if( x->current_scale == EASTERN) {
+		pvtuner_eastern( x );
+	}
+	else if( x->current_scale == MINOR) {
+		pvtuner_minor( x );
+	}
+	else if( x->current_scale == EQ12) {
+		pvtuner_eq12( x );
+	}
+	else if( x->current_scale == PENTATONIC) {
+		pvtuner_pentatonic( x );
+	}
+	else if( x->current_scale == MAJOR_ADDED_SIXTH) {
+		pvtuner_major_added_sixth( x );
+	}
+	else if( x->current_scale == MINOR_ADDED_SIXTH) {
+		pvtuner_minor_added_sixth( x );
+	}
+	else if( x->current_scale == MAJOR_SEVENTH_CHORD) {
+		pvtuner_major_seventh_chord( x );
+	}
+	else if( x->current_scale == MINOR_SEVENTH_CHORD) {
+		pvtuner_minor_seventh_chord( x );
+	}
+	else if( x->current_scale == DOMINANT_SEVENTH_CHORD) {
+		pvtuner_dominant_seventh_chord( x );
+	}
+	else if( x->current_scale == EQ8) {
+		pvtuner_eq8( x );
+	}
+	else if( x->current_scale == PENTACLUST) {
+		pvtuner_pentaclust( x );
+	}
+	else if( x->current_scale == QUARTERCLUST ) {
+		pvtuner_quarterclust( x );
+	}
+	else if( x->current_scale == EQ5 ) {
+		pvtuner_eq5( x );
+	}
+	else if( x->current_scale == SLENDRO ) {
+		pvtuner_slendro( x );
+	}
+	else if( x->current_scale == PELOG ) {
+		pvtuner_pelog( x );
+	}	
+	else {
+		post("unknown scale");
+	}
+}
+
+void pvtuner_free(t_pvtuner *x)
+{
+    if(x->fft->initialized){
+        free(x->this_scale);
+        free(x->last_scale);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void pvtuner_update_imported( t_pvtuner *x ){
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	t_float factor; 
+	int i;
+
+	if( pitchgrid[0] <= 0.0){
+		error("%s: illegal first value of scale: %f",OBJECT_NAME,pitchgrid[0]);
+		return;
+	}
+	
+	factor = x->pbase / pitchgrid[0];
+	pvtuner_copy_scale(x); // copies this scale to next
+	for( i = 0; i < x->scale_len; i++ )
+		pitchgrid[i] *= factor;
+}
+
+void pvtuner_diatonic( t_pvtuner *x ){
+	int i, j;
+	int octsteps = 7;
+	t_pvtuner_scale *s = x->this_scale;
+	
+	pvtuner_copy_scale(x); // copies this scale to next
+
+	s->pitchgrid[0] = x->pbase;
+	s->pitchgrid[1] = x->pbase * (9./8.);
+	s->pitchgrid[2] = x->pbase * (5./4.);
+	s->pitchgrid[3] = x->pbase * (4./3.);
+	s->pitchgrid[4] = x->pbase * (3./2.);
+	s->pitchgrid[5] = x->pbase * (27./16.);
+	s->pitchgrid[6] = x->pbase * (15./8.);
+	s->scale_steps = 7;
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			s->pitchgrid[ i * octsteps + j] = s->pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = DIATONIC ;
+	s->scale_steps = 70; // 10 * 7
+}
+
+void pvtuner_minor( t_pvtuner *x ){
+	int i, j;
+	int octsteps = 7;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	
+	pvtuner_copy_scale(x); // copies this scale to next
+	
+	pitchgrid[0] = x->pbase;
+	pitchgrid[1] = x->pbase * (9./8.);
+	pitchgrid[2] = x->pbase * (6./5.);
+	pitchgrid[3] = x->pbase * (4./3.);
+	pitchgrid[4] = x->pbase * (3./2.);
+	pitchgrid[5] = x->pbase * (8./5.);
+	pitchgrid[6] = x->pbase * (9./5.);
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = MINOR;
+	s->scale_steps = 70;
+	
+}
+
+void pvtuner_pentatonic( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	int octsteps = 5;
+	pvtuner_copy_scale(x); 
+	pitchgrid[0] = x->pbase;
+	pitchgrid[1] = x->pbase * (9./8.);
+	pitchgrid[2] = x->pbase * (81./64.);
+	pitchgrid[3] = x->pbase * (3./2.);
+	pitchgrid[4] = x->pbase * (27./16.);
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = PENTATONIC;
+	s->scale_steps = 50;
+}
+
+void pvtuner_eq12( t_pvtuner *x ){
+	int i, j;
+	t_float expon;
+	int octsteps = 12;
+	t_float pbase = x->pbase;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	
+	pvtuner_copy_scale(x); // copies this scale to next
+	
+	// now refill this scale
+	pitchgrid[0] = pbase;
+	for( i = 0; i < octsteps; i++ ){
+		expon = (float) i / (float) octsteps;
+		pitchgrid[i] = pbase * pow(2.0,expon);
+	}
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = EQ12;
+	s->scale_steps = 120;
+}
+
+void pvtuner_major_added_sixth( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	t_float pbase = x->pbase;
+	int octsteps = 4;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.259921;
+	pitchgrid[2] = pbase * 1.498307;
+	pitchgrid[3] = pbase * 1.681793;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = MAJOR_ADDED_SIXTH;
+	s->scale_steps = 40;
+}
+
+void pvtuner_minor_added_sixth( t_pvtuner *x ){
+	int i, j;
+	// float *pitchgrid = x->pitchgrid;
+	t_float pbase = x->pbase;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	int octsteps = 4;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.189207;
+	pitchgrid[2] = pbase * 1.498307;
+	pitchgrid[3] = pbase * 1.587401;
+	// scale_steps = 4 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = MINOR_ADDED_SIXTH;
+	s->scale_steps = 40;
+}
+
+void pvtuner_major_seventh_chord( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.25;
+	pitchgrid[2] = pbase * 1.5;
+	pitchgrid[3] = pbase * 1.875;
+	scale_steps = 4 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = MAJOR_SEVENTH_CHORD;
+	s->scale_steps = 40;
+}
+
+void pvtuner_minor_seventh_chord( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.2;
+	pitchgrid[2] = pbase * 1.5;
+	pitchgrid[3] = pbase * 1.781797;
+	scale_steps = 4 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = MINOR_SEVENTH_CHORD;
+	s->scale_steps = 40;
+}
+
+void pvtuner_dominant_seventh_chord( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.25;
+	pitchgrid[2] = pbase * 1.5;
+	pitchgrid[3] = pbase * 1.781797;
+	scale_steps = 4 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = DOMINANT_SEVENTH_CHORD;
+	s->scale_steps = 40;
+}
+void pvtuner_eqn( t_pvtuner *x, t_floatarg steps )
+{
+int dexter = 0;
+	if(steps <= 0.0){
+		return;
+	}
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	
+	float pbase = x->pbase;
+	float factor = pow(2.0, (1.0/steps) );
+	
+	pvtuner_copy_scale(x);
+	
+	while(pbase < (x->fft->R / 2.0) && dexter < MAXTONES ){
+		pitchgrid[dexter] = pbase;
+		pbase = pbase * factor;
+		dexter = dexter + 1;
+	}
+	s->scale_steps = dexter;
+	s->current_scale = EQN;
+}
+
+void pvtuner_eq8( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int octsteps = 8;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.090508;
+	pitchgrid[2] = pbase * 1.189207;
+	pitchgrid[3] = pbase * 1.296840;
+	pitchgrid[4] = pbase * 1.414214;
+	pitchgrid[5] = pbase * 1.542211;
+	pitchgrid[6] = pbase * 1.681793;
+	pitchgrid[7] = pbase * 1.834008;
+	
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < octsteps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = EQ8;
+	s->scale_steps = 80;
+}
+
+void pvtuner_pentaclust( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.059463;
+	pitchgrid[2] = pbase * 1.122462;
+	pitchgrid[3] = pbase * 1.189207;
+	pitchgrid[4] = pbase * 1.259921;
+	
+	scale_steps = 5 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = PENTACLUST;
+	s->scale_steps = 50;
+}
+
+void pvtuner_quarterclust( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.029302;
+	pitchgrid[2] = pbase * 1.059463;
+	pitchgrid[3] = pbase * 1.090508;
+	pitchgrid[4] = pbase * 1.122462;
+	pitchgrid[5] = pbase * 1.155353;
+	pitchgrid[6] = pbase * 1.189207;
+	pitchgrid[7] = pbase * 1.224054;
+	
+	scale_steps = 8 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = QUARTERCLUST;
+	s->scale_steps = 80;
+}
+
+void pvtuner_eq5( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.148698;
+	pitchgrid[2] = pbase * 1.319508;
+	pitchgrid[3] = pbase * 1.515717;
+	pitchgrid[4] = pbase * 1.741101;
+	
+	scale_steps = 5 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = EQ5;
+	s->scale_steps = 50;
+}
+
+void pvtuner_pelog( t_pvtuner *x ){
+	int i, j;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.152;
+	pitchgrid[2] = pbase * 1.340;
+	pitchgrid[3] = pbase * 1.532;
+	pitchgrid[4] = pbase * 1.756;
+	scale_steps = 5 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = PELOG;
+	s->scale_steps = 50;
+}
+
+void pvtuner_slendro( t_pvtuner *x ){
+	int i, j;
+	t_float *pitchgrid = x->this_scale->pitchgrid;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float pbase = x->pbase;
+	int scale_steps;
+	
+	pvtuner_copy_scale(x);
+	
+	pitchgrid[0] = pbase;
+	pitchgrid[1] = pbase * 1.104;
+	pitchgrid[2] = pbase * 1.199;
+	pitchgrid[3] = pbase * 1.404;
+	pitchgrid[4] = pbase * 1.514;
+	pitchgrid[5] = pbase * 1.615;    
+	pitchgrid[6] = pbase * 1.787;    
+	scale_steps = 7 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < scale_steps; j++ ){
+			pitchgrid[ i * scale_steps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = SLENDRO;
+	s->scale_steps = 70;
+}
+void pvtuner_eastern( t_pvtuner *x ){
+	int i, j;
+	t_pvtuner_scale *s = x->this_scale;
+	t_float *pitchgrid = s->pitchgrid;
+	pvtuner_copy_scale(x);
+	int octsteps = 7;
+	
+	pitchgrid[0] = x->pbase;
+	pitchgrid[1] = x->pbase * 1.059463;
+	pitchgrid[2] = x->pbase * 1.259921;
+	pitchgrid[3] = x->pbase * 1.334840;
+	pitchgrid[4] = x->pbase * 1.498307;
+	pitchgrid[5] = x->pbase * 1.587401;
+	pitchgrid[6] = x->pbase * 1.887749;
+	// scale_steps = 7 ;
+    
+	for( i = 1; i < 10; i++ ){
+		for( j = 0; j < x->scale_steps; j++ ){
+			pitchgrid[ i * octsteps + j] = pitchgrid[j] * pow(2.0,(float)i);
+		}
+	}
+	s->current_scale = EASTERN ;
+	s->scale_steps = 70;
+	//   post("eastern scale");
+}
+
+t_float closestf(t_float test, t_float *arr) 
+{
+	int i;
+	i = 0;
+	if( test <= arr[0] ){
+		return arr[0];
+	}
+	while( i < MAXTONES ){
+		if( arr[i] > test ){
+			break;
+		}
+		++i;
+	}
+	if( i >= MAXTONES - 1) {
+		return arr[MAXTONES - 1];
+	}
+	if( (test - arr[i-1]) > ( arr[i] - test) ) {
+		return arr[i];
+	} else {
+		return arr[i-1];
+	}
+}
+
+void pvtuner_interpolation(t_pvtuner *x, t_floatarg state)
+{
+	x->scale_interpolation = (short)state;
+}
+
+void pvtuner_mute(t_pvtuner *x, t_floatarg state)
+{
+	x->mute = (short)state;	
+}
+
+void pvtuner_dsp(t_pvtuner *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvtuner_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvtuner_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec);
+    }
+}
+
diff --git a/externals/fftease/pvwarpb~.c b/externals/fftease/pvwarpb~.c
new file mode 100644
index 000000000..1ef609595
--- /dev/null
+++ b/externals/fftease/pvwarpb~.c
@@ -0,0 +1,515 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvwarpb_class;
+
+#define OBJECT_NAME "pvwarpb~"
+
+typedef struct _pvwarpb
+{
+    t_object x_obj;
+    t_float x_f;
+	t_symbol *buffername;
+	t_float lofreq;/* user speficied lowest synthfreq */
+	t_float hifreq;/* user specified highest synthfreq */
+	t_float topfreq;
+	t_fftease *fft;
+	short mute;
+	short please_update;
+	short always_update;
+	t_float cf1;
+	t_float bw1;
+	t_float warpfac1;
+	t_float cf2;
+	t_float bw2;
+	t_float warpfac2;
+	int funcoff;
+	short verbose;
+	short automate;
+    t_float *warpfunc; // workspace to create a new function
+	short initialized; // state for object
+    int b_frames;
+    t_float *b_samples;
+    int b_valid;
+} t_pvwarpb;
+
+void pvwarpb_dsp(t_pvwarpb *x, t_signal **sp);
+t_int *pvwarpb_perform(t_int *w);
+void *pvwarpb_new(t_symbol *s, int argc, t_atom *argv);
+void pvwarpb_mute(t_pvwarpb *x, t_floatarg state);
+void pvwarpb_automate(t_pvwarpb *x, t_floatarg state);
+void pvwarpb_autofunc(t_pvwarpb *x, t_floatarg minval, t_floatarg maxval);
+void pvwarpb_free( t_pvwarpb *x );
+t_float fftease_randf( t_float min, t_float max );
+t_float closestf(t_float test, t_float *arr) ;
+int freq_to_bin(t_float target, t_float fundamental);
+void update_warp_function( t_pvwarpb *x ) ;
+void pvwarpb_init(t_pvwarpb *x);
+void pvwarpb_bottomfreq(t_pvwarpb *x, t_floatarg f);
+void pvwarpb_topfreq(t_pvwarpb *x, t_floatarg f);
+void pvwarpb_attachbuf(t_pvwarpb *x);
+void pvwarpb_setbuf(t_pvwarpb *x, t_symbol *wavename);
+void pvwarpb_redraw(t_pvwarpb *x);
+
+void pvwarpb_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvwarpb~"), (t_newmethod)pvwarpb_new,
+                  (t_method)pvwarpb_free,sizeof(t_pvwarpb), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvwarpb, x_f);
+	class_addmethod(c,(t_method)pvwarpb_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvwarpb_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarpb_bottomfreq,gensym("bottomfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarpb_topfreq,gensym("topfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarpb_autofunc,gensym("autofunc"),A_DEFFLOAT, A_DEFFLOAT,0);
+    pvwarpb_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void pvwarpb_automate(t_pvwarpb *x, t_floatarg state)
+{
+	x->automate = state;
+}
+
+void update_warp_function( t_pvwarpb *x )
+{
+	int i,j;
+	int N2 = x->fft->N2;
+	t_float warpfac1 = x->warpfac1;
+	t_float warpfac2 = x->warpfac2;
+    long b_frames;
+    t_float *warpfunc = x->warpfunc;
+    float *b_samples;
+	t_float cf1 = x->cf1;
+	t_float cf2 = x->cf2;
+	t_float bw1 = x->bw1;
+	t_float bw2 = x->bw2;
+	t_float c_fundamental = x->fft->c_fundamental;
+	t_float deviation;
+	t_float diff;
+	int midbin, lobin, hibin ;
+	t_float hif, lof;
+	int bin_extent;
+    
+    pvwarpb_attachbuf(x);
+
+    b_frames = x->b_frames;
+    if(b_frames < N2){
+        post("%s: table too small",OBJECT_NAME);
+        return;
+    }
+    
+	for( i = 0; i < N2; i++ ){
+		warpfunc[i] = 1.0;
+	}
+	hif = cf1 * (1. + bw1);
+	lof = cf1 * (1. - bw1);
+	midbin = freq_to_bin( cf1, c_fundamental );
+	hibin = freq_to_bin( hif, c_fundamental );
+	lobin = freq_to_bin( lof, c_fundamental );
+	if( hibin >= N2 - 1 ){
+		hibin = N2 - 1;
+	}
+	if( lobin < 0 ){
+		lobin = 0;
+	} 
+/*	if( verbose )
+		post("bump1: hi %d mid %d lo %d",hibin,midbin,lobin); */
+	
+	warpfunc[midbin] = warpfac1;
+	diff = warpfac1 - 1.0 ;
+	bin_extent = hibin - midbin ;
+	for( i = midbin, j = 0; i < hibin; i++, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	bin_extent = midbin - lobin ;
+	for( i = midbin, j = 0; i > lobin; i--, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	
+	// NOW DO SECOND BUMP
+	hif = cf2 * (1. + bw2);
+	lof = cf2 * (1. - bw2);
+	midbin = freq_to_bin( cf2, c_fundamental );
+	hibin = freq_to_bin( hif, c_fundamental );
+	lobin = freq_to_bin( lof, c_fundamental );
+	if( hibin >= N2 - 1 ){
+		hibin = N2 - 1;
+	}
+	if( lobin < 0 ){
+		lobin = 0;
+	} 
+	/* if( verbose )
+		post("bump2: hi %d mid %d lo %d",hibin,midbin,lobin); */
+	warpfunc[midbin] = warpfac2;
+	diff = warpfac2 - 1.0 ;
+	bin_extent = hibin - midbin ;
+	for( i = midbin, j = 0; i < hibin; i++, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	bin_extent = midbin - lobin ;
+	for( i = midbin, j = 0; i > lobin; i--, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+    // buffer stuffer
+	b_samples = x->b_samples;
+    for(i = 0; i < N2; i++){
+        b_samples[i] = warpfunc[i];
+    }
+	x->please_update = 0;
+    pvwarpb_redraw(x);
+}
+
+void pvwarpb_redraw(t_pvwarpb *x)
+{
+    t_garray *a;
+    if (!(a = (t_garray *)pd_findbyclass(x->buffername, garray_class))) {
+        if (*x->buffername->s_name) pd_error(x, "function~: %s: no such array", x->buffername->s_name);
+    }
+    else  {
+        garray_redraw(a);
+    }
+}
+
+void pvwarpb_verbose(t_pvwarpb *x, t_floatarg state)
+{
+	x->verbose = state;	
+}
+
+void pvwarpb_autofunc(t_pvwarpb *x, t_floatarg minval, t_floatarg maxval)
+{
+	int minpoints, maxpoints, segpoints, i;
+	int pointcount = 0;
+	t_float target, lastval;
+	t_float m1, m2;
+	int N2 = x->fft->N2;
+    long b_frames;
+    t_float *warpfunc = x->warpfunc;
+    float *b_samples;
+    
+    pvwarpb_attachbuf(x);
+
+    b_frames = x->b_frames;
+    if(b_frames < N2){
+        post("%s: table too small or not mono",OBJECT_NAME);
+        return;
+    }
+
+	minpoints = 0.05 * (float) N2;
+	maxpoints = 0.25 * (float) N2;
+	if( minval > 1000.0 || minval < .001 ){
+		minval = 0.5;
+	}
+	if( maxval < 0.01 || maxval > 1000.0 ){
+		minval = 2.0;
+	}
+	
+	lastval = fftease_randf(minval, maxval);
+	// post("automate: min %d max %d",minpoints, maxpoints);
+	while( pointcount < N2 ){
+		target = fftease_randf(minval, maxval);
+		segpoints = minpoints + (rand() % (maxpoints-minpoints));
+		if( pointcount + segpoints > N2 ){
+			segpoints = N2 - pointcount;
+		}
+		for( i = 0; i < segpoints; i++ ){
+			m2 = (float)i / (float) segpoints ;
+			m1 = 1.0 - m2;
+			warpfunc[ pointcount + i ] = m1 * lastval + m2 * target;
+		}
+		lastval = target;
+		pointcount += segpoints;
+	}
+    // buffer stuffer
+	b_samples = x->b_samples;
+    for(i = 0; i < N2; i++){
+        b_samples[i] = warpfunc[i];
+    }
+    pvwarpb_redraw(x);
+}
+
+void pvwarpb_mute(t_pvwarpb *x, t_floatarg state)
+{
+	x->mute = state;	
+}
+
+void pvwarpb_free( t_pvwarpb *x ){
+    if(x->fft->initialized){
+        free(x->warpfunc);
+    }
+    fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *pvwarpb_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_pvwarpb *x = (t_pvwarpb *)pd_new(pvwarpb_class);
+    int i;
+    for(i=0;i<3;i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    }
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0; // for FFTease package
+	x->initialized = 0; // for object
+	x->lofreq = 0.0;
+	x->hifreq = 10000.0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    x->warpfunc = (t_float *) calloc(8192, sizeof(t_float));
+    if(argc > 0){ x->buffername = atom_getsymbolarg(0, argc, argv); }
+    else { post("%s: Must specify array name", OBJECT_NAME); return NULL; }
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+	return x;
+}
+
+void pvwarpb_init(t_pvwarpb *x)
+{
+	t_fftease  *fft = x->fft;
+
+	fftease_init(fft);
+	
+	if(!x->initialized){
+		srand(clock());
+		x->please_update = 0;
+		x->verbose = 0;
+		x->mute = 0;
+		x->topfreq = 3000. ;
+		x->always_update = 0;
+		x->automate = 0;
+		x->warpfac1 = 1.0;
+		x->warpfac2 = 1.0;
+		x->funcoff = 0;
+		x->cf1 = 500.;
+		x->cf2 = 3000.;
+		x->bw1 = 0.2;
+		x->bw2 = 0.2;
+		x->initialized = 1;
+	}
+    if(fft->N2 > 8192){
+        x->warpfunc = (t_float *) realloc(x->warpfunc, fft->N2);
+    }
+	fftease_oscbank_setbins(fft,x->lofreq, x->hifreq);
+}
+
+void pvwarpb_bottomfreq(t_pvwarpb *x, t_floatarg f)
+{
+	if( f < 0 || f > x->fft->R / 2.0 ){
+		error("%s: frequency %f out of range", OBJECT_NAME, f);
+		return;
+	}
+	x->lofreq = f;
+	fftease_oscbank_setbins(x->fft, x->lofreq, x->hifreq);	
+}
+
+void pvwarpb_topfreq(t_pvwarpb *x, t_floatarg f)
+{
+	if( f < x->lofreq || f > x->fft->R / 2.0 ){
+		error("%s: frequency %f out of range", OBJECT_NAME, f);
+		return;
+	}
+	x->hifreq = f;
+	fftease_oscbank_setbins(x->fft, x->lofreq, x->hifreq);	
+}
+
+void do_pvwarpb(t_pvwarpb *x)
+{
+	t_fftease *fft = x->fft;
+	int lo_bin = fft->lo_bin;
+	int hi_bin = fft->hi_bin;
+	int chan, freq;
+	int funcoff = x->funcoff;
+	int N2 = fft->N2;
+	t_float *channel = fft->channel;
+    long b_frames;
+    float *b_samples;
+
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+
+    b_samples = x->b_samples;
+    if(! b_samples){
+        goto panic2;
+    }
+
+    b_frames = x->b_frames;
+    if(b_frames < N2){
+        post("%s: table too small",OBJECT_NAME);
+        goto panic1;
+    }
+
+	for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+		freq = (chan << 1) + 1;
+		channel[freq] *= b_samples[(chan + funcoff) % N2];
+	}
+panic1: ;
+panic2: ;
+	fftease_oscbank(fft);
+}
+
+t_int *pvwarpb_perform(t_int *w)
+{
+	int 	i,j;
+	
+	t_float f;
+	t_pvwarpb *x = (t_pvwarpb *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *in7 = (t_float *)(w[3]);
+	t_float *in8 = (t_float *)(w[4]);
+	t_float *in9 = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	int N2 = fft->N2;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+    pvwarpb_attachbuf(x);
+	if(x->mute || !x->b_valid || x->b_frames < N2){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+7;
+	}
+
+    f  = *in7 ;
+    if( f < 0 ) {
+        f = 0.0;
+    } else if (f > 1.0 ){
+        f = 1.0;
+    }
+    x->funcoff = (int) (f * (t_float) (N2 - 1));
+    fft->P = *in8 ;
+    fft->synt = *in9;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_pvwarpb(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pvwarpb(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_pvwarpb(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}		
+
+
+int freq_to_bin( t_float target, t_float fundamental ){
+	float lastf = 0.0;
+	float testf = 0.0;
+	int thebin = 0;
+	while( testf < target ){
+		++thebin;
+		lastf = testf;
+		testf += fundamental;
+	}
+	
+	if(fabs(target - testf) < fabs(target - lastf) ){
+		return thebin;
+	} else {
+		return (thebin - 1);
+	}
+}
+
+void pvwarpb_attachbuf(t_pvwarpb *x)
+{
+  	int frames;
+    t_symbol *buffername = x->buffername;
+	t_garray *a;
+    
+	x->b_frames = 0;
+	x->b_valid = 0;
+	if (!(a = (t_garray *)pd_findbyclass(buffername, garray_class)))
+    {
+		if (*buffername->s_name) pd_error(x, "player~: %s: no such array",
+                                          buffername->s_name);
+    }
+	else if (!garray_getfloatarray(a, &frames, &x->b_samples))
+    {
+		pd_error(x, "%s: bad template for player~", buffername->s_name);
+    }
+	else  {
+		x->b_frames = frames;
+		x->b_valid = 1;
+		garray_usedindsp(a);
+	}
+}
+
+void pvwarpb_setbuf(t_pvwarpb *x, t_symbol *wavename)
+{
+    x->buffername = wavename;
+}
+
+void pvwarpb_dsp(t_pvwarpb *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvwarpb_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvwarpb_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
\ No newline at end of file
diff --git a/externals/fftease/pvwarp~.c b/externals/fftease/pvwarp~.c
new file mode 100644
index 000000000..d0748d8d6
--- /dev/null
+++ b/externals/fftease/pvwarp~.c
@@ -0,0 +1,439 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *pvwarp_class;
+
+#define OBJECT_NAME "pvwarp~"
+
+typedef struct _pvwarp
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float hifreq; // user specified highest synthfreq
+	t_float lofreq;//user speficied lowest synthfreq
+	t_float topfreq;
+	short *connections;
+	short mute;
+	short bypass;
+	int pitch_connected;
+	int synt_connected;
+	t_float *warpfunc ;
+	short please_update;
+	short always_update;
+	t_float cf1;
+	t_float bw1;
+	t_float warpfac1;
+	t_float cf2;
+	t_float bw2;
+	t_float warpfac2;
+	int funcoff;
+	short verbose;
+	short automate;
+	long fftsize_attr;
+	long overlap_attr;
+} t_pvwarp;
+
+void pvwarp_dsp(t_pvwarp *x, t_signal **sp);
+t_int *pvwarp_perform(t_int *w);
+void *pvwarp_new(t_symbol *s, int argc, t_atom *argv);
+void pvwarp_mute(t_pvwarp *x, t_floatarg state);
+void pvwarp_automate(t_pvwarp *x, t_floatarg state);
+void pvwarp_autofunc(t_pvwarp *x, t_floatarg minval, t_floatarg maxval);
+void pvwarp_free( t_pvwarp *x );
+float closestf(float test, float *arr) ;
+int freq_to_bin( float target, float fundamental );
+void update_warp_function( t_pvwarp *x ) ;
+void pvwarp_init(t_pvwarp *x);
+void pvwarp_bottomfreq(t_pvwarp *x, t_floatarg f);
+void pvwarp_topfreq(t_pvwarp *x, t_floatarg f);
+void pvwarp_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("pvwarp~"), (t_newmethod)pvwarp_new,
+                  (t_method)pvwarp_free,sizeof(t_pvwarp), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_pvwarp, x_f);
+	class_addmethod(c,(t_method)pvwarp_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)pvwarp_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarp_bottomfreq,gensym("bottomfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarp_topfreq,gensym("topfreq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)pvwarp_autofunc,gensym("autofunc"),A_DEFFLOAT, A_DEFFLOAT,0);
+    pvwarp_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void pvwarp_automate(t_pvwarp *x, t_floatarg state)
+{
+	x->automate = (short)state;
+}
+
+void update_warp_function( t_pvwarp *x )
+{
+	int i,j;
+	int N2 = x->fft->N2;
+	t_float *warpfunc = x->warpfunc;
+	t_float warpfac1 = x->warpfac1;
+	t_float warpfac2 = x->warpfac2;
+	t_float cf1 = x->cf1;
+	t_float cf2 = x->cf2;
+	t_float bw1 = x->bw1;
+	t_float bw2 = x->bw2;
+	t_float c_fundamental = x->fft->c_fundamental;
+	t_float deviation;
+	t_float diff;
+	int midbin, lobin, hibin ;
+	t_float hif, lof;
+	int bin_extent;
+	short verbose = x->verbose;
+	
+	for( i = 0; i < N2; i++ ){
+		warpfunc[i] = 1.0;
+	}
+	hif = cf1 * (1. + bw1);
+	lof = cf1 * (1. - bw1);
+	midbin = freq_to_bin( cf1, c_fundamental );
+	hibin = freq_to_bin( hif, c_fundamental );
+	lobin = freq_to_bin( lof, c_fundamental );
+	if( hibin >= N2 - 1 ){
+		hibin = N2 - 1;
+	}
+	if( lobin < 0 ){
+		lobin = 0;
+	} 
+	if( verbose )
+		post("bump1: hi %d mid %d lo %d",hibin,midbin,lobin);
+	
+	warpfunc[midbin] = warpfac1;
+	diff = warpfac1 - 1.0 ;
+	bin_extent = hibin - midbin ;
+	for( i = midbin, j = 0; i < hibin; i++, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	bin_extent = midbin - lobin ;
+	for( i = midbin, j = 0; i > lobin; i--, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	
+	// NOW DO SECOND BUMP
+	hif = cf2 * (1. + bw2);
+	lof = cf2 * (1. - bw2);
+	midbin = freq_to_bin( cf2, c_fundamental );
+	hibin = freq_to_bin( hif, c_fundamental );
+	lobin = freq_to_bin( lof, c_fundamental );
+	if( hibin >= N2 - 1 ){
+		hibin = N2 - 1;
+	}
+	if( lobin < 0 ){
+		lobin = 0;
+	} 
+	if( verbose )
+		post("bump2: hi %d mid %d lo %d",hibin,midbin,lobin);
+	warpfunc[midbin] = warpfac2;
+	diff = warpfac2 - 1.0 ;
+	bin_extent = hibin - midbin ;
+	for( i = midbin, j = 0; i < hibin; i++, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	bin_extent = midbin - lobin ;
+	for( i = midbin, j = 0; i > lobin; i--, j++ ){
+		deviation = diff * ((float)(bin_extent - j) / (float) bin_extent );
+		warpfunc[ i ] += deviation ;
+	}
+	
+	x->please_update = 0;	
+}
+
+void pvwarp_autofunc(t_pvwarp *x, t_floatarg minval, t_floatarg maxval)
+{
+	int minpoints, maxpoints, segpoints, i;
+	int pointcount = 0;
+	t_float target, lastval;
+	t_float m1, m2;
+	int N2 = x->fft->N2;
+	t_float *warpfunc = x->warpfunc;
+	
+	minpoints = 0.05 * (float) N2;
+	maxpoints = 0.25 * (float) N2;
+	if( minval > 1000.0 || minval < .001 ){
+		minval = 0.5;
+	}
+	if( maxval < 0.01 || maxval > 1000.0 ){
+		minval = 2.0;
+	}
+	
+	lastval = fftease_randf(minval, maxval);
+	// post("automate: min %d max %d",minpoints, maxpoints);
+	while( pointcount < N2 ){
+		target = fftease_randf(minval, maxval);
+		segpoints = minpoints + (rand() % (maxpoints-minpoints));
+		if( pointcount + segpoints > N2 ){
+			segpoints = N2 - pointcount;
+		}
+		for( i = 0; i < segpoints; i++ ){
+			m2 = (float)i / (float) segpoints ;
+			m1 = 1.0 - m2;
+			warpfunc[ pointcount + i ] = m1 * lastval + m2 * target;
+		}
+		lastval = target;
+		pointcount += segpoints;
+	}
+}
+
+void pvwarp_mute(t_pvwarp *x, t_floatarg state)
+{
+	x->mute = state;	
+}
+
+void pvwarp_free( t_pvwarp *x ){
+    if(x->fft->initialized){
+        free(x->warpfunc);
+        free(x->connections);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *pvwarp_new(t_symbol *s, int argc, t_atom *argv)
+{
+    int i;
+	t_fftease *fft;
+	t_pvwarp *x = (t_pvwarp *)pd_new(pvwarp_class);
+    for(i = 0; i < 9; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    }
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	x->lofreq = 0.0;
+	x->hifreq = 18000.0;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void pvwarp_init(t_pvwarp *x)
+{
+	
+	t_fftease  *fft = x->fft;
+	
+	fftease_init(fft);
+		srand(clock());
+		x->please_update = 0;
+		x->verbose = 0;
+		x->bypass = 0;
+		x->mute = 0;
+		x->always_update = 0;
+		x->automate = 0;
+		x->warpfac1 = 1.0;
+		x->warpfac2 = 1.0;
+		x->funcoff = 0;
+		x->cf1 = 500.;
+		x->cf2 = 3000.;
+		x->bw1 = 0.2;
+		x->bw2 = 0.2;
+		x->connections = (short *) calloc(16, sizeof(short));
+	x->warpfunc = (t_float *) calloc(fft->N2, sizeof(t_float));
+	fftease_oscbank_setbins(fft,x->lofreq, x->hifreq);
+	update_warp_function(x);
+}
+
+void pvwarp_bottomfreq(t_pvwarp *x, t_floatarg f)
+{
+	
+	if( f < 0 || f > x->fft->R / 2.0 ){
+		error("%s: frequency %f out of range", OBJECT_NAME, f);
+		return;
+	}
+	x->lofreq = f;
+	fftease_oscbank_setbins(x->fft, x->lofreq, x->hifreq);	
+}
+
+void pvwarp_topfreq(t_pvwarp *x, t_floatarg f)
+{
+	if( f < x->lofreq || f > x->fft->R / 2.0 ){
+		error("%s: frequency %f out of range", OBJECT_NAME, f);
+		return;
+	}
+	x->hifreq = f;
+	fftease_oscbank_setbins(x->fft, x->lofreq, x->hifreq);		
+}
+
+void do_pvwarp(t_pvwarp *x)
+{
+	t_fftease *fft = x->fft;
+	int lo_bin = fft->lo_bin;
+	int hi_bin = fft->hi_bin;
+	int chan, freq;
+	int funcoff = x->funcoff;
+	int N2 = fft->N2;
+	t_float *channel = fft->channel;
+	t_float *warpfunc = x->warpfunc;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+
+	for ( chan = lo_bin; chan < hi_bin; chan++ ) {
+		freq = (chan << 1) + 1;
+		channel[freq] *= warpfunc[(chan + funcoff) % N2];
+	}
+	fftease_oscbank(fft);
+}
+
+t_int *pvwarp_perform(t_int *w)
+{
+	int 	i,j;
+	
+	t_float f;
+	t_pvwarp *x = (t_pvwarp *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *in1 = (t_float *)(w[3]);
+	t_float *in2 = (t_float *)(w[4]);
+	t_float *in3 = (t_float *)(w[5]);
+	t_float *in4 = (t_float *)(w[6]);
+	t_float *in5 = (t_float *)(w[7]);
+	t_float *in6 = (t_float *)(w[8]);
+	t_float *in7 = (t_float *)(w[9]);
+	t_float *in8 = (t_float *)(w[10]);
+	t_float *in9 = (t_float *)(w[11]);
+	t_float *MSPOutputVector = (t_float *)(w[12]);
+	
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	int N2 = fft->N2;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+13;
+	}
+
+	if(!x->automate) {
+        x->cf1  = *in1;
+        x->bw1 = *in2 ;
+        x->warpfac1 = *in3;
+        x->cf2  = *in4;
+        x->bw2 = *in5;
+        x->warpfac2 = *in6;
+	}
+	
+
+    f  = *in7 ;
+    if( f < 0 ) {
+        f = 0.0;
+    } else if (f > 1.0 ){
+        f = 1.0;
+    }
+    x->funcoff = (int) (f * (float) (N2 - 1));
+    fft->P = *in8 ;
+    fft->synt = *in9 ;
+
+	if( (x->please_update || x->always_update)  && ! x->automate){
+		update_warp_function(x);
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_pvwarp(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_pvwarp(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_pvwarp(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+13;
+}		
+
+
+int freq_to_bin( float target, float fundamental ){
+	float lastf = 0.0;
+	float testf = 0.0;
+	int thebin = 0;
+	while( testf < target ){
+		++thebin;
+		lastf = testf;
+		testf += fundamental;
+	}
+	
+	if(fabs(target - testf) < fabs(target - lastf) ){
+		return thebin;
+	} else {
+		return (thebin - 1);
+	}
+}
+
+void pvwarp_dsp(t_pvwarp *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        pvwarp_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(pvwarp_perform, 12, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec, sp[5]->s_vec, sp[6]->s_vec, sp[7]->s_vec,
+                sp[8]->s_vec, sp[9]->s_vec, sp[10]->s_vec);
+    }
+}
diff --git a/externals/fftease/qsortE.c b/externals/fftease/qsortE.c
new file mode 100644
index 000000000..1eba468fd
--- /dev/null
+++ b/externals/fftease/qsortE.c
@@ -0,0 +1,241 @@
+/* Plug-compatible replacement for UNIX qsort.
+   Copyright (C) 1989 Free Software Foundation, Inc.
+   Written by Douglas C. Schmidt (schmidt@ics.uci.edu)
+
+This file is part of GNU CC.
+
+GNU QSORT 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, or (at your option)
+any later version.
+
+GNU QSORT 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 GNU QSORT; see the file COPYING.  If not, write to
+the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Synched up with: FSF 19.28. */
+
+#ifdef sparc
+#include <alloca.h>
+#endif
+
+#include <stdlib.h>
+
+/* Invoke the comparison function, returns either 0, < 0, or > 0. */
+#define CMP(A,B) ((*cmp)((A),(B)))
+
+/* Byte-wise swap two items of size SIZE. */
+#define SWAP(A,B,SIZE) do {int sz = (SIZE); char *a = (A); char *b = (B); \
+    do { char _temp = *a;*a++ = *b;*b++ = _temp;} while (--sz);} while (0)
+
+/* Copy SIZE bytes from item B to item A. */
+#define COPY(A,B,SIZE) {int sz = (SIZE); do { *(A)++ = *(B)++; } while (--sz); }
+
+/* This should be replaced by a standard ANSI macro. */
+#define BYTES_PER_WORD 8
+
+/* The next 4 #defines implement a very fast in-line stack abstraction. */
+#define STACK_SIZE (BYTES_PER_WORD * sizeof (long))
+#define PUSH(LOW,HIGH) do {top->lo = LOW;top++->hi = HIGH;} while (0)
+#define POP(LOW,HIGH)  do {LOW = (--top)->lo;HIGH = top->hi;} while (0)
+#define STACK_NOT_EMPTY (stack < top)
+
+/* Discontinue quicksort algorithm when partition gets below this size.
+   This particular magic number was chosen to work best on a Sun 4/260. */
+#define MAX_THRESH 4
+
+
+/* requisite prototype */
+
+int qsortE (char *base_ptr, int total_elems, int size, int (*cmp)());
+
+
+
+/* Stack node declarations used to store unfulfilled partition obligations. */
+typedef struct
+{
+  char *lo;
+  char *hi;
+
+} stack_node;
+
+/* Order size using quicksort.  This implementation incorporates
+   four optimizations discussed in Sedgewick:
+
+   1. Non-recursive, using an explicit stack of pointer that store the
+      next array partition to sort.  To save time, this maximum amount
+      of space required to store an array of MAX_INT is allocated on the
+      stack.  Assuming a 32-bit integer, this needs only 32 *
+      sizeof (stack_node) == 136 bits.  Pretty cheap, actually.
+
+   2. Choose the pivot element using a median-of-three decision tree.
+      This reduces the probability of selecting a bad pivot value and
+      eliminates certain extraneous comparisons.
+
+   3. Only quicksorts TOTAL_ELEMS / MAX_THRESH partitions, leaving
+      insertion sort to order the MAX_THRESH items within each partition.
+      This is a big win, since insertion sort is faster for small, mostly
+      sorted array segments.
+
+   4. The larger of the two sub-partitions is always pushed onto the
+      stack first, with the algorithm then concentrating on the
+      smaller partition.  This *guarantees* no more than log (n)
+      stack size is needed (actually O(1) in this case)! */
+
+int qsortE (char *base_ptr, int total_elems, int size, int (*cmp)())
+{
+  /* Allocating SIZE bytes for a pivot buffer facilitates a better
+     algorithm below since we can do comparisons directly on the pivot. */
+  char *pivot_buffer = (char *)  malloc(size);
+  int   max_thresh   = MAX_THRESH * size;
+
+  if (total_elems > MAX_THRESH)
+    {
+      char       *lo = base_ptr;
+      char       *hi = lo + size * (total_elems - 1);
+      stack_node stack[STACK_SIZE]; /* Largest size needed for 32-bit int!!! */
+      stack_node *top = stack + 1;
+
+      while (STACK_NOT_EMPTY)
+        {
+          char *left_ptr;
+          char *right_ptr;
+          {
+            char *pivot = pivot_buffer;
+            {
+              /* Select median value from among LO, MID, and HI. Rearrange
+                 LO and HI so the three values are sorted. This lowers the
+                 probability of picking a pathological pivot value and
+                 skips a comparison for both the LEFT_PTR and RIGHT_PTR. */
+
+              char *mid = lo + size * ((hi - lo) / size >> 1);
+
+              if (CMP (mid, lo) < 0)
+                SWAP (mid, lo, size);
+              if (CMP (hi, mid) < 0)
+                SWAP (mid, hi, size);
+              else
+                goto jump_over;
+              if (CMP (mid, lo) < 0)
+                SWAP (mid, lo, size);
+            jump_over:
+              COPY (pivot, mid, size);
+              pivot = pivot_buffer;
+            }
+            left_ptr  = lo + size;
+            right_ptr = hi - size;
+
+            /* Here's the famous ``collapse the walls'' section of quicksort.
+               Gotta like those tight inner loops!  They are the main reason
+               that this algorithm runs much faster than others. */
+            do
+              {
+                while (CMP (left_ptr, pivot) < 0)
+                  left_ptr += size;
+
+                while (CMP (pivot, right_ptr) < 0)
+                  right_ptr -= size;
+
+                if (left_ptr < right_ptr)
+                  {
+                    SWAP (left_ptr, right_ptr, size);
+                    left_ptr += size;
+                    right_ptr -= size;
+                  }
+                else if (left_ptr == right_ptr)
+                  {
+                    left_ptr += size;
+                    right_ptr -= size;
+                    break;
+                  }
+              }
+            while (left_ptr <= right_ptr);
+
+          }
+
+          /* Set up pointers for next iteration.  First determine whether
+             left and right partitions are below the threshold size. If so,
+             ignore one or both.  Otherwise, push the larger partition's
+             bounds on the stack and continue sorting the smaller one. */
+
+          if ((right_ptr - lo) <= max_thresh)
+            {
+              if ((hi - left_ptr) <= max_thresh) /* Ignore both small partitions. */
+                POP (lo, hi);
+              else              /* Ignore small left partition. */
+                lo = left_ptr;
+            }
+          else if ((hi - left_ptr) <= max_thresh) /* Ignore small right partition. */
+            hi = right_ptr;
+          else if ((right_ptr - lo) > (hi - left_ptr)) /* Push larger left partition indices. */
+            {
+              PUSH (lo, right_ptr);
+              lo = left_ptr;
+            }
+          else                  /* Push larger right partition indices. */
+            {
+              PUSH (left_ptr, hi);
+              hi = right_ptr;
+            }
+        }
+    }
+
+  /* Once the BASE_PTR array is partially sorted by quicksort the rest
+     is completely sorted using insertion sort, since this is efficient
+     for partitions below MAX_THRESH size. BASE_PTR points to the beginning
+     of the array to sort, and END_PTR points at the very last element in
+     the array (*not* one beyond it!). */
+
+#define MINQS(X,Y) ((X) < (Y) ? (X) : (Y))
+
+  {
+    char *end_ptr = base_ptr + size * (total_elems - 1);
+    char *run_ptr;
+    char *tmp_ptr = base_ptr;
+    char *thresh  = MINQS (end_ptr, base_ptr + max_thresh);
+
+    /* Find smallest element in first threshold and place it at the
+       array's beginning.  This is the smallest array element,
+       and the operation speeds up insertion sort's inner loop. */
+
+    for (run_ptr = tmp_ptr + size; run_ptr <= thresh; run_ptr += size)
+      if (CMP (run_ptr, tmp_ptr) < 0)
+        tmp_ptr = run_ptr;
+
+    if (tmp_ptr != base_ptr)
+      SWAP (tmp_ptr, base_ptr, size);
+
+    /* Insertion sort, running from left-hand-side up to `right-hand-side.'
+       Pretty much straight out of the original GNU qsort routine. */
+
+    for (run_ptr = base_ptr + size; (tmp_ptr = run_ptr += size) <= end_ptr; )
+      {
+
+        while (CMP (run_ptr, tmp_ptr -= size) < 0)
+          ;
+
+        if ((tmp_ptr += size) != run_ptr)
+          {
+            char *trav;
+
+            for (trav = run_ptr + size; --trav >= run_ptr;)
+              {
+                char c = *trav;
+                char *hi, *lo;
+
+                for (hi = lo = trav; (lo -= size) >= tmp_ptr; hi = lo)
+                  *hi = *lo;
+                *hi = c;
+              }
+          }
+
+      }
+  }
+  return 1;
+}
diff --git a/externals/fftease/reanimator~.c b/externals/fftease/reanimator~.c
new file mode 100644
index 000000000..2b2fb3d66
--- /dev/null
+++ b/externals/fftease/reanimator~.c
@@ -0,0 +1,548 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+#define THRESHOLD_MIN (.000001)
+
+static t_class *reanimator_class;
+
+#define OBJECT_NAME "reanimator~"
+
+typedef struct _reanimator
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float **framebank;
+	t_float *normalized_frame;
+	t_float current_frame;
+	int framecount;
+	t_float frame_increment ;
+	t_float last_frame ;
+	t_float fpos;
+	t_float last_fpos;
+	t_float tadv;
+	int readme;
+	int total_frames;
+	short mute;
+	short initialized;
+	t_float threshold;
+	short inverse;
+	int top_comparator_bin;
+	short reanimator_mode;
+	int matchframe; // current found frame
+	t_float sample_len; /*duration of texture sample */
+	t_float sync;
+	int megs;
+} t_reanimator;
+
+void reanimator_dsp(t_reanimator *x, t_signal **sp);
+t_int *reanimator_perform(t_int *w);
+void *reanimator_new(t_symbol *msg, short argc, t_atom *argv);
+void reanimator_analyze (t_reanimator *x);
+void reanimator_mute(t_reanimator *x, t_floatarg flag);
+void reanimator_inverse(t_reanimator *x, t_floatarg toggle);
+void reanimator_topbin(t_reanimator *x, t_floatarg bin);
+void reanimator_startframe(t_reanimator *x, t_floatarg start);
+void reanimator_endframe(t_reanimator *x, t_floatarg end);
+void reanimator_framerange(t_reanimator *x, t_floatarg start, t_floatarg end);
+void reanimator_size(t_reanimator *x, t_floatarg size_ms);
+void reanimator_freeze_and_march(t_reanimator *x, t_floatarg f);
+void reanimator_resume( t_reanimator *x );
+void reanimator_threshold(t_reanimator *x, t_floatarg threshold);
+void reanimator_free( t_reanimator *x );
+void reanimator_framecount ( t_reanimator *x );
+void reanimator_init(t_reanimator *x);
+void reanimator_transpose(t_reanimator *x, t_floatarg tf);
+void reanimator_synthresh(t_reanimator *x, t_floatarg thresh);
+void reanimator_oscbank(t_reanimator *x, t_floatarg flag);
+
+void reanimator_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("reanimator~"), (t_newmethod)reanimator_new,
+                  (t_method)reanimator_free,sizeof(t_reanimator), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_reanimator, x_f);
+	class_addmethod(c,(t_method)reanimator_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)reanimator_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reanimator_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reanimator_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reanimator_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)reanimator_inverse,gensym("inverse"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)reanimator_topbin,gensym("topbin"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)reanimator_threshold,gensym("threshold"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)reanimator_analyze,gensym("analyze"), 0);
+	class_addmethod(c,(t_method)reanimator_framecount,gensym("framecount"), 0);
+	class_addmethod(c,(t_method)reanimator_freeze_and_march,gensym("freeze_and_march"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)reanimator_resume,gensym("resume"), 0);
+
+    reanimator_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void reanimator_transpose(t_reanimator *x, t_floatarg tf)
+{
+	x->fft->P = (float) tf;
+}
+
+void reanimator_synthresh(t_reanimator *x, t_floatarg thresh)
+{
+	x->fft->synt = (float) thresh;
+}
+
+void reanimator_oscbank(t_reanimator *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void reanimator_framecount ( t_reanimator *x )
+{	
+	post("%d frames stored", x->total_frames);
+}
+
+void reanimator_freeze_and_march(t_reanimator *x, t_floatarg f)
+{	
+	x->frame_increment = f;
+	x->reanimator_mode = 1;
+}
+
+void reanimator_resume( t_reanimator *x )
+{
+	x->reanimator_mode = 0;
+}
+
+void reanimator_free( t_reanimator *x ){
+	int i;
+    if(x->fft->initialized){
+        fftease_free(x->fft);
+        for(i = 0; i < x->framecount; i++){
+            free(x->framebank[i]) ;
+        }
+        free((char**)x->framebank);
+        free(x->normalized_frame);
+    }
+}
+
+void *reanimator_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_reanimator *x = (t_reanimator *)pd_new(reanimator_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+    fft->initialized = 0;
+	x->sample_len = 1000.0;
+    if(argc > 0){ x->sample_len = atom_getfloatarg(0, argc, argv); }
+	else { post("%s: must include duration argument",OBJECT_NAME); return NULL; }
+	x->sample_len *= .001; /* convert to seconds */
+	
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+	return x;
+}
+
+void reanimator_init(t_reanimator *x )
+{
+	t_fftease  *fft = x->fft;
+	t_float **framebank = x->framebank;
+	int framecount = x->framecount;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	if(!fftease_msp_sanity_check(fft,OBJECT_NAME)){
+		return;
+	}
+	// sanity check here	
+	x->tadv = (float)fft->D/(float)fft->R;
+	x->current_frame = framecount = 0;
+	x->fpos = x->last_fpos = 0;
+	x->total_frames =  x->sample_len / x->tadv;	
+
+	if(!initialized){
+		x->sync = 0.0;
+		x->inverse = 0;
+		x->initialized = 0; // for perform
+		x->threshold = .0001;
+		x->top_comparator_bin = 10;
+		x->reanimator_mode = 0;
+		x->frame_increment = 1.0;
+		x->mute = 0;
+		x->readme = 0;
+		x->total_frames =  x->sample_len / x->tadv;
+		x->framebank = (t_float **) calloc(x->total_frames, sizeof(t_float *));
+		
+		while(framecount < x->total_frames ){
+			x->framebank[framecount] = (t_float *) calloc((fft->N+2),sizeof(t_float));
+			++framecount;
+		}
+		
+	}
+    else if(initialized == 1){
+	// danger: could be more frames this time!!!
+		while(framecount < x->total_frames ){
+			x->framebank[framecount] = (t_float *) realloc(framebank[framecount], (fft->N+2) * sizeof(t_float));
+			++framecount;
+		}
+	}
+
+	x->framecount = framecount;
+	x->megs = sizeof(t_float) * x->framecount * (fft->N+2);
+}
+
+void do_reanimator(t_reanimator *x)
+{
+	t_float ampsum, new_ampsum, rescale;
+	t_float min_difsum, difsum;
+	int	
+	i,j;
+	t_fftease *fft = x->fft;
+	
+	int framecount = x->framecount;
+	int total_frames = x->total_frames;
+	
+	float threshold = x->threshold;
+	int top_comparator_bin = x->top_comparator_bin ;
+	
+	t_float **framebank = x->framebank;
+	// for reanimator mode
+	t_float fframe = x->current_frame ;
+	t_float last_fpos = x->last_fpos ;
+	t_float fincr = x->frame_increment;
+	t_float fpos = x->fpos ;
+	t_float sync = x->sync;
+	t_float *channel = fft->channel;
+	t_float *output = fft->output;
+	int matchframe = x->matchframe;
+	int N = fft->N;
+	int D = fft->D;
+	float rescale_inv;
+	/***********************************/
+
+	if(total_frames <= 0)
+		return;
+	/* SAMPLE MODE */
+	if( x->readme ) {
+			
+		
+		if( framecount >= total_frames ){
+			sync = 1.0;
+			x->readme = 0;
+			post("reanimator~: data acquisition completed");
+			x->initialized = 1;
+			// clear input buffer
+			for( i = 0; i < fft->Nw; i++ ){
+				fft->input[i] = 0.0;
+			}
+		} else {
+			fftease_fold(fft);
+			fftease_rdft(fft,FFT_FORWARD);
+			fftease_convert(fft);
+			sync = (float) framecount / (float) total_frames;
+			
+			new_ampsum = ampsum = 0;
+			for(i = 0; i < N; i += 2 ){
+				ampsum += channel[i];
+			}
+			
+			if( ampsum > .000001 ){
+				rescale = 1.0 / ampsum ;
+				
+				// use more efficient memcpy
+				for(i = 0; i < N; i++){
+					framebank[framecount][i] = channel[i];
+				}
+				for( i = 0; i < N; i += 2 ){
+					framebank[framecount][i] *= rescale;
+				} 
+				++framecount;
+
+			} else {
+				post("amplitude for frame %d is too low\n", framecount);
+			}
+		}		
+		
+	} 	/* reanimator RESYNTHESIS */
+	else if(x->reanimator_mode) {   
+		if( fpos < 0 )
+			fpos = 0;
+		if( fpos > 1 )
+			fpos = 1;
+		if( fpos != last_fpos ){
+			fframe =  fpos * (float) framecount ;
+			last_fpos = fpos;
+		}
+		
+		
+		fframe += fincr;
+		while( fframe >= framecount ) {
+			fframe -= framecount;
+		} 
+		while( fframe < 0. ) {
+			fframe += framecount ;
+		}
+		matchframe = (int) fframe;
+		
+		// use memcopy
+		for(i = 0; i < N; i++){
+			channel[i] = framebank[matchframe][i];
+		}
+		if(fft->obank_flag){
+			fftease_oscbank(fft);
+		} else {
+			fftease_unconvert(fft);
+			fftease_rdft(fft,FFT_INVERSE);
+			fftease_overlapadd(fft);
+		}
+		
+		
+	}
+	/* REANIMATION HERE */
+	else {
+		fftease_fold(fft);
+		fftease_rdft(fft,FFT_FORWARD);
+		fftease_convert(fft);
+		ampsum = 0;
+		// NORMALIZE INPUT FRAME
+		for( i = 0; i < N; i += 2 ){
+			ampsum += channel[i];
+		}
+		
+		if( ampsum > threshold ){
+			rescale = 1.0 / ampsum;
+			for( i = 0; i < N; i += 2 ){
+				channel[i] *= rescale;
+			}
+		} 
+		else {
+			// AMPLITUDE OF INPUT WAS TOO LOW - OUTPUT SILENCE AND RETURN
+			for (i = 0; i < D; i++ ){
+				output[i] = 0.0;
+			}
+			matchframe = 0;		
+			x->current_frame = fframe;
+			x->frame_increment = fincr;
+			x->fpos = fpos;
+			x->sync = sync;
+			x->framecount = framecount;
+			x->matchframe = matchframe;
+			return;
+			
+		}
+		// NOW COMPARE TO STORED FRAMES
+		if( x->inverse ){ // INVERSE CASE
+			min_difsum = 0.0 ;
+			
+			for( j = 0; j < framecount; j++ ){
+				difsum = 0;
+				for( i = 0; i < top_comparator_bin * 2; i += 2 ){
+					difsum += fabs( channel[i] - framebank[j][i] ); 
+				}
+				//      fprintf(stderr,"bin 20: in %f compare %f\n", channel[40], frames[j][40]);
+				if( difsum > min_difsum ){
+					matchframe = j;
+					min_difsum = difsum;
+				}
+			}
+		} else { // NORMAL CASE
+			min_difsum = 1000000.0 ;
+			
+			for( j = 0; j < framecount; j++ ){
+				difsum = 0;
+				for( i = 0; i < top_comparator_bin * 2; i += 2 ){
+					difsum += fabs( channel[i] - framebank[j][i] ); 
+				}
+				//      fprintf(stderr,"bin 20: in %f compare %f\n", channel[40], frames[j][40]);
+				if( difsum < min_difsum ){
+					matchframe = j;
+					min_difsum = difsum;
+				}
+			}
+		}
+		// use memcopy
+		for(i = 0; i < N; i++){
+			channel[i] = framebank[matchframe][i];
+		}		
+		if(fft->obank_flag){
+			fftease_oscbank(fft);
+		} else {
+			fftease_unconvert(fft);
+			fftease_rdft(fft,FFT_INVERSE);
+			fftease_overlapadd(fft);
+		}
+		
+		// scale back to match
+		rescale_inv = 1.0 / rescale;
+		for (i = 0; i < D; i++){
+			output[i] *= rescale_inv;
+		}
+	}
+	
+	/* restore state variables */
+	x->current_frame = fframe;
+	x->frame_increment = fincr;
+	x->fpos = fpos;
+	x->sync = sync;
+	x->framecount = framecount;
+	x->matchframe = matchframe;
+}
+
+
+t_int *reanimator_perform(t_int *w)
+{
+	int		i,j;
+	
+	//////////////////////////////////////////////
+    t_reanimator *x = (t_reanimator *) (w[1]);
+	t_float *driver = (t_float *)(w[2]); // was driver
+	t_float *texture = (t_float *)(w[3]);
+	t_float *MSPOutputVector = (t_float *)(w[4]); // was soundout
+	t_float *matchout = (t_float *)(w[5]);
+	t_float *sync_vec = (t_float *)(w[6]);
+	
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+
+	/***********************************/
+	if(x->mute || ! x->initialized){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+7;
+	}	
+
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+		
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+		if(x->readme){
+            memcpy(input + (Nw - D), texture, D * sizeof(t_float));
+		} else {
+            memcpy(input + (Nw - D), driver, D * sizeof(t_float));
+		}
+		do_reanimator(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}	
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+			if(x->readme){
+				memcpy(input + (Nw - D), texture + (D * i), D * sizeof(float));
+			} else {
+				memcpy(input + (Nw - D), driver + (D * i), D * sizeof(float));
+			}
+			do_reanimator(x);
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+		if(x->readme){
+			memcpy(internalInputVector + (operationCount * MSPVectorSize), texture, MSPVectorSize * sizeof(float));
+
+		} else {
+
+			memcpy(internalInputVector + (operationCount * MSPVectorSize), driver, MSPVectorSize * sizeof(float));
+		}
+		memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(float));
+
+		operationCount = (operationCount + 1) % operationRepeat;
+
+		if( operationCount == 0 ) {
+            memcpy(input, input + D,  (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector,  D * sizeof(t_float));
+			do_reanimator( x );
+
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}	
+	// now load other output buffers
+	for(i = 0; i < MSPVectorSize; i++){
+		matchout[i] = x->matchframe;
+		sync_vec[i] = x->sync;
+	}
+    return w+7;
+}
+
+void reanimator_analyze ( t_reanimator *x )
+{
+	x->readme = 1;
+	x->initialized = 1;
+	x->framecount = 0;
+	post("reanimator: beginning spectral data acquisition");
+	return;
+	
+}
+
+void reanimator_mute(t_reanimator *x, t_floatarg flag)
+{
+	x->mute = (short)flag;	
+}
+void reanimator_topbin(t_reanimator *x, t_floatarg bin)
+{
+	if( bin > 1 && bin < x->fft->N2 )
+		x->top_comparator_bin = bin;
+}
+
+
+void reanimator_inverse(t_reanimator *x, t_floatarg toggle)
+{
+	x->inverse = (short)toggle;	
+}
+
+void reanimator_threshold(t_reanimator *x, t_floatarg threshold)
+{
+	if( threshold > THRESHOLD_MIN )
+		x->threshold = threshold;
+	else
+		x->threshold = THRESHOLD_MIN;	
+}
+
+void reanimator_dsp(t_reanimator *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        reanimator_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(reanimator_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,sp[4]->s_vec);
+    }
+}
diff --git a/externals/fftease/resent~.c b/externals/fftease/resent~.c
new file mode 100644
index 000000000..e84428e7e
--- /dev/null
+++ b/externals/fftease/resent~.c
@@ -0,0 +1,669 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *resent_class;
+
+#define OBJECT_NAME "resent~"
+
+
+typedef struct _resent
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float *frame_incr;
+	t_float *store_incr;
+	t_float *frame_phase;
+	t_float frameloc;
+	t_float **loveboat;
+	t_float current_frame;
+	long framecount;
+    long last_framecount;
+	t_float frame_increment ;
+	t_float fpos;
+	t_float last_fpos;
+	t_float tadv;
+	int read_me;
+	long frames_read;
+	short mute;
+	void *m_clock;
+	void *m_bang;
+	short playthrough;
+	short lock;
+	t_float duration;
+	t_float sync;
+    long interpolation_attr;
+} t_resent;
+
+void resent_dsp(t_resent *x, t_signal **sp);
+t_int *resent_perform(t_int *w);
+void *resent_new(t_symbol *msg, short argc, t_atom *argv);
+void resent_assist(t_resent *x, void *b, long m, long a, char *s);
+void resent_acquire_sample (t_resent *x) ;
+void resent_mute(t_resent *x, t_floatarg tog);
+void resent_bin(t_resent *x, t_floatarg fbin, t_floatarg speed);
+void resent_setphase(t_resent *x, t_floatarg phase);
+void resent_addphase(t_resent *x, t_floatarg phase);
+void resent_setspeed( t_resent *x,  t_floatarg speed );
+void resent_addspeed( t_resent *x,  t_floatarg speed );
+void resent_size( t_resent *x,  t_floatarg size_ms );
+void resent_free( t_resent *x );
+void resent_store_incr( t_resent *x );
+void resent_setspeed_and_phase( t_resent *x,  t_floatarg speed, t_floatarg phase );
+void resent_tick(t_resent *x);
+void resent_fftinfo(t_resent *x);
+void resent_init(t_resent *x);
+void resent_linephase(t_resent *x, t_symbol *msg, short argc, t_atom *argv);
+void resent_linespeed(t_resent *x, t_symbol *msg, short argc, t_atom *argv);
+void resent_randphase(t_resent *x, t_symbol *msg, short argc, t_atom *argv);
+void resent_randspeed(t_resent *x, t_symbol *msg, short argc, t_atom *argv);
+void resent_playthrough(t_resent *x, t_floatarg state);
+void resent_interpolation(t_resent *x,  t_floatarg tog);
+t_float fftease_randf(t_float min, t_float max);
+void resent_transpose(t_resent *x, t_floatarg tf);
+void resent_synthresh(t_resent *x, t_floatarg thresh);
+void resent_oscbank(t_resent *x, t_floatarg flag);
+
+void resent_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("resent~"), (t_newmethod)resent_new,
+                  (t_method)resent_free,sizeof(t_resent), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_resent, x_f);
+	class_addmethod(c,(t_method)resent_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)resent_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)resent_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)resent_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)resent_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)resent_acquire_sample,gensym("acquire_sample"), 0);
+	class_addmethod(c,(t_method)resent_linespeed, gensym("linespeed"), A_GIMME, 0);
+	class_addmethod(c,(t_method)resent_linephase, gensym("linephase"), A_GIMME, 0);
+	class_addmethod(c,(t_method)resent_randspeed, gensym("randspeed"), A_GIMME, 0);
+	class_addmethod(c,(t_method)resent_randphase, gensym("randphase"), A_GIMME, 0);
+	class_addmethod(c,(t_method)resent_bin, gensym("bin"), A_FLOAT, A_FLOAT, 0);
+	class_addmethod(c,(t_method)resent_setphase, gensym("setphase"),  A_FLOAT, 0);
+	class_addmethod(c,(t_method)resent_addphase, gensym("addphase"),  A_FLOAT, 0);
+	class_addmethod(c,(t_method)resent_setspeed, gensym("setspeed"),  A_FLOAT, 0);
+	class_addmethod(c,(t_method)resent_addspeed, gensym("addspeed"),  A_FLOAT, 0);
+	class_addmethod(c,(t_method)resent_playthrough, gensym("playthrough"),  A_DEFFLOAT, 0);
+	class_addmethod(c,(t_method)resent_store_incr, gensym("store_incr"),0);
+	class_addmethod(c,(t_method)resent_setspeed_and_phase, gensym("setspeed_and_phase"),  A_FLOAT, A_FLOAT, 0);
+    class_addmethod(c,(t_method)resent_interpolation, gensym("interpolation"), A_FLOAT, 0);
+    resent_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void resent_transpose(t_resent *x, t_floatarg tf)
+{
+	x->fft->P = tf;
+}
+
+void resent_synthresh(t_resent *x, t_floatarg thresh)
+{
+	x->fft->synt = thresh;
+}
+
+void resent_oscbank(t_resent *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void resent_store_incr(t_resent *x)
+{
+	t_fftease *fft = x->fft;
+
+	int i;
+	t_float *store_incr = x->store_incr;
+	t_float *frame_incr = x->frame_incr;
+	
+	for(i = 0; i < fft->N2; i++){
+		store_incr[i] = frame_incr[i];
+	}
+}
+
+void resent_free(t_resent *x){
+	int i ;
+
+    if(x->fft->initialized){
+        for(i = 0; i < x->framecount; i++){
+            free(x->loveboat[i]) ;
+        }
+        free(x->loveboat);
+        free(x->frame_phase);
+        free(x->frame_incr);
+        free(x->store_incr);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void resent_bin(t_resent *x, t_floatarg fbin, t_floatarg speed)
+{
+	t_fftease *fft = x->fft;
+
+	int bin_num = (int) fbin;
+	
+	if(bin_num >= 0 && bin_num < fft->N2){
+		x->frame_incr[bin_num] = speed ;
+	} else {
+		post("resent~: bin %d is out of range", bin_num);
+	}
+}
+
+void resent_setphase( t_resent *x,  t_floatarg phase)
+{
+	t_fftease *fft = x->fft;
+
+	t_float scaled_phase;
+	int i;
+	
+	if( phase < 0. )
+		phase = 0. ;
+	if( phase > 1. )
+		phase = 1.;
+	scaled_phase = phase * (float) x->framecount ;
+	for( i = 0; i < fft->N2; i++ ){
+		x->frame_phase[i] = scaled_phase ;
+	}
+	
+}
+
+void resent_addphase( t_resent *x,  t_floatarg phase )
+{
+	t_fftease *fft = x->fft;
+
+	t_float scaled_phase ;
+	t_float *frame_phase = x->frame_phase;
+	int framecount =  x->framecount;
+	int i;
+	
+	
+	if( phase < 0. )
+		phase = 0. ;
+	if( phase > 1. )
+		phase = 1.;
+	scaled_phase = phase * (float) framecount ;
+	for( i = 0; i < fft->N2; i++ ){
+		frame_phase[i] += scaled_phase ;
+		while( frame_phase[i] < 0 )
+			frame_phase[i] += framecount;
+		while( frame_phase[i] > framecount - 1 )
+			frame_phase[i] -= framecount ;
+	}
+	
+	
+}
+
+void resent_setspeed( t_resent *x,  t_floatarg speed )
+{
+	t_fftease *fft = x->fft;
+	if(! x->fft->init_status)
+		return;
+		
+	int i;
+	
+	for( i = 0; i < fft->N2; i++ ){
+		
+		x->frame_incr[i] = speed ;
+	}
+	// post("speed reset to %f",speed);
+}
+
+void resent_addspeed( t_resent *x,  t_floatarg speed )
+{
+	t_fftease *fft = x->fft;
+
+	int i;
+	t_float *store_incr = x->store_incr;
+	t_float *frame_incr = x->frame_incr;
+	
+	for( i = 0; i < fft->N2; i++ ){	
+		frame_incr[i] = store_incr[i] + speed ;
+	}
+}
+
+void resent_interpolation( t_resent *x,  t_floatarg tog )
+{
+    x->interpolation_attr = (int) tog;
+}
+
+void resent_setspeed_and_phase( t_resent *x,  t_floatarg speed, t_floatarg phase )
+{
+	t_fftease *fft = x->fft;
+
+	t_float scaled_phase;
+	int i;
+	if( phase < 0. )
+		phase = 0. ;
+	if( phase > 1. )
+		phase = 1.;
+	
+	scaled_phase = phase * (t_float) x->framecount ;
+	for( i = 0; i < fft->N2; i++ ){
+		x->frame_phase[i] = scaled_phase ;
+		x->frame_incr[i] = speed ;
+	}
+	//  post("ssap: speed reset to %f, phase reset to %f",speed,phase);
+	
+}
+
+void resent_assist (t_resent *x, void *b, long msg, long arg, char *dst)
+{
+	if (msg==1) {
+		switch (arg) {
+			case 0:
+				sprintf(dst,"(signal/bang) Input, Sample Trigger");
+				break;
+		}
+	} else if (msg==2) {
+		switch( arg){
+			case 0: 
+				sprintf(dst,"(signal) Output ");
+				break;
+			case 1:
+				sprintf(dst,"(signal) Recording Sync");
+				break;
+		}
+		
+	}
+}
+
+void resent_tick(t_resent *x) {
+	outlet_bang(x->m_bang);
+}
+
+void resent_init(t_resent *x)
+{
+	int i;
+	short initialized = x->fft->initialized;
+	t_fftease  *fft = x->fft;
+	fftease_init(fft);
+	if(!fftease_msp_sanity_check(fft,OBJECT_NAME)){
+		return;
+	}
+		
+	x->current_frame = x->framecount = 0;
+	x->fpos = x->last_fpos = 0;
+	x->tadv = (float)fft->D/(float)fft->R;
+	if(x->duration < 0.1){
+		x->duration = 0.1;
+	}
+	x->framecount =  x->duration/x->tadv ;
+	x->read_me = 0;
+	
+	if(! initialized ){
+		x->frame_increment = 1.0 ;  
+		x->mute = 0;
+		x->playthrough = 0;
+		x->sync = 0;
+		x->frames_read = 0;
+		x->frame_incr = (t_float *) calloc(fft->N2, sizeof(t_float));
+		x->store_incr = (t_float *) calloc(fft->N2, sizeof(t_float));
+		x->frame_phase = (t_float *) calloc(fft->N2, sizeof(t_float));
+		x->loveboat = (t_float **) calloc(x->framecount, sizeof(t_float *));
+		for(i=0; i < x->framecount; i++){
+			x->loveboat[i] = (t_float *) calloc((fft->N+2), sizeof(t_float));
+			if(x->loveboat[i] == NULL){
+				error("%s: Insufficient Memory!",OBJECT_NAME);
+				return;
+			}
+		}
+	} 
+	else { /* this could fail or might not actually release memory - test it!! */
+		x->frame_incr = (t_float *) realloc(x->frame_incr, fft->N2 * sizeof(t_float));
+		x->store_incr = (t_float *) realloc(x->store_incr, fft->N2 * sizeof(t_float));
+		x->frame_phase = (t_float *) realloc(x->frame_phase, fft->N2 * sizeof(t_float));
+
+		for(i = 0; i < x->last_framecount; i++){
+			free(x->loveboat[i]) ;
+		}
+        x->loveboat = (t_float **)realloc(x->loveboat, x->framecount * sizeof(t_float*));
+		for(i=0; i < x->framecount; i++){
+			x->loveboat[i] = (t_float *) calloc((fft->N+2), sizeof(t_float));
+			if(x->loveboat[i] == NULL){
+				error("%s: Insufficient Memory!",OBJECT_NAME);
+				return;
+			}
+		}
+	}
+    x->last_framecount = x->framecount;
+}
+
+void *resent_new(t_symbol *msg, short argc, t_atom *argv)
+{
+t_fftease *fft;
+	t_resent *x = (t_resent *)pd_new(resent_class);
+
+    
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1, sizeof(t_fftease) );
+	fft = x->fft;
+	fft->initialized = 0;
+		
+	srand(clock()); // needed ?
+	x->interpolation_attr = 0;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ x->duration = atom_getfloatarg(0, argc, argv) / 1000.0; }
+    else { post("%s: must give duration argument",OBJECT_NAME); return NULL; }
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+	return x;
+}
+
+void do_resent(t_resent *x)
+{
+	t_fftease *fft = x->fft;
+	
+	int iphase, amp, freq, i;
+	int N = fft->N;
+	int N2 = fft->N2;
+	t_float fframe = x->current_frame ;
+	t_float last_fpos = x->last_fpos ;
+	int framecount = x->framecount;
+	t_float *frame_incr = x->frame_incr;
+	t_float *frame_phase = x->frame_phase;
+	t_float *channel = fft->channel;
+    t_float frak;
+    long iphase1, iphase2;
+    
+	if(x->read_me && x->framecount > 0){
+		
+		fftease_fold(fft);
+		fftease_rdft(fft,FFT_FORWARD);
+		fftease_convert(fft);
+		// use memcopy
+		for(i = 0; i < N; i++){
+			x->loveboat[x->frames_read][i] = channel[i];
+		}
+		x->frames_read++;		
+		if(x->frames_read >= x->framecount){
+			x->read_me = 0;
+			// post("sample acquisition completed");
+		} 	
+		x->sync = (t_float) x->frames_read / (t_float) x->framecount;
+	} 
+	else {
+        if(x->interpolation_attr == 1){
+            for( i = 0 ; i < N2; i++ ){
+                amp = i<<1;
+                freq = amp + 1;
+                iphase1 = floor( frame_phase[i] );
+                frak = frame_phase[i] - iphase1;
+                if( iphase1 < 0 )
+                    iphase1 = 0;
+                if( iphase1 > framecount - 1 )
+                    iphase1 = framecount - 1;
+                iphase2 = (iphase1 + 1) % framecount;
+                channel[amp] = x->loveboat[iphase1][amp] + (frak *
+                    (x->loveboat[iphase2][amp] - x->loveboat[iphase1][amp]));
+                channel[freq] = x->loveboat[iphase1][freq] + (frak *
+                    (x->loveboat[iphase2][freq] - x->loveboat[iphase1][freq]));
+                frame_phase[i] += frame_incr[i] ;
+                while( frame_phase[i] > framecount - 1)
+                    frame_phase[i] -= framecount;
+                while( frame_phase[i] < 0. )
+                    frame_phase[i] += framecount;
+            }
+        }
+        else {
+            for( i = 0 ; i < N2; i++ ){
+                amp = i<<1;
+                freq = amp + 1 ;
+                iphase = frame_phase[i];
+                if( iphase < 0 )
+                    iphase = 0;
+                if( iphase > framecount - 1 )
+                    iphase = framecount - 1;
+                channel[amp] = x->loveboat[iphase][amp];
+                channel[freq] = x->loveboat[iphase][freq];
+                frame_phase[i] += frame_incr[i] ;
+                while( frame_phase[i] > framecount - 1)
+                    frame_phase[i] -= framecount;
+                while( frame_phase[i] < 0. )
+                    frame_phase[i] += framecount;
+            }
+        }
+		if(fft->obank_flag){
+			fftease_oscbank(fft);
+		} else {
+			fftease_unconvert(fft);
+			fftease_rdft(fft,FFT_INVERSE);
+			fftease_overlapadd(fft);
+		}
+	}
+	
+	/* restore state variables */
+	
+	x->current_frame = fframe;
+	x->last_fpos = last_fpos;
+
+}
+
+t_int *resent_perform(t_int *w)
+{
+	int i, j;
+	//////////////////////////////////////////////
+    t_resent *x = (t_resent *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+	t_float *sync_vec = (t_float *)(w[4]);
+
+	/* dereference structure */	
+	
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+		
+
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        for(i=0; i < MSPVectorSize; i++){ sync_vec[i] = 0.0; }
+		return w+5;
+	}
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+	if(x->playthrough && x->read_me){
+		for (i = 0; i < MSPVectorSize; i++) {
+			MSPOutputVector[i] = MSPInputVector[i] * 0.5; // scale down
+		}
+        for(i=0; i < MSPVectorSize; i++){ sync_vec[i] = 0.0; }
+        return w+5;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_resent(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_resent(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_resent(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+	for ( i = 0; i < MSPVectorSize; i++ ){
+		sync_vec[i] = x->sync;
+	}
+	return w+5;
+}
+
+void resent_acquire_sample(t_resent *x)
+{
+	x->read_me = 1;
+	x->frames_read = 0;
+	return;
+}
+
+void resent_mute(t_resent *x, t_floatarg tog)
+{
+	x->mute = tog;	
+}
+
+void resent_playthrough(t_resent *x, t_floatarg state)
+{
+	x->playthrough = state;
+}
+
+void resent_linephase(t_resent *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft = x->fft;
+	int bin1, bin2;
+	float phase1, phase2, bindiff;
+	int i;
+	float m1, m2;
+	
+	bin1 = (int) atom_getfloatarg(0, argc, argv);
+	phase1 = atom_getfloatarg(1, argc, argv) * x->framecount;
+	bin2 = (int) atom_getfloatarg(2, argc, argv);
+	phase2 = atom_getfloatarg(3, argc, argv) * x->framecount;
+	
+	if( bin1 > fft->N2 || bin2 > fft->N2 ){
+		error("too high bin number");
+		return;
+	}
+	bindiff = bin2 - bin1;
+	if( bindiff < 1 ){
+		error("make bin2 higher than bin 1, bye now");
+		return;
+	}
+	for( i = bin1; i < bin2; i++ ){
+		m2 = (float) i / bindiff;
+		m1 = 1. - m2;
+		x->frame_phase[i] = m1 * phase1 + m2 * phase2;
+	}
+}
+
+void resent_randphase(t_resent *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft = x->fft;
+	
+	float minphase, maxphase;
+	int i;
+	int framecount = x->framecount;
+	
+	minphase = atom_getfloatarg(0, argc, argv);
+	maxphase = atom_getfloatarg(1, argc, argv);
+	
+	//  post("minphase %f maxphase %f",minphase, maxphase);
+	if(minphase < 0.0)
+		minphase = 0.0;
+	if( maxphase > 1.0 )
+		maxphase = 1.0;
+  	
+	for( i = 0; i < fft->N2; i++ ){
+		x->frame_phase[i] = (int) (fftease_randf( minphase, maxphase ) * (float) (framecount - 1) ) ;	
+	} 
+}
+
+void resent_randspeed(t_resent *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft = x->fft;
+	
+	float minspeed, maxspeed;
+	int i;
+	
+	
+	minspeed = atom_getfloatarg(0, argc, argv);
+	maxspeed = atom_getfloatarg(1, argc, argv);
+	
+	for( i = 0; i < fft->N2; i++ ){
+		x->frame_incr[i] = fftease_randf(minspeed, maxspeed);
+	} 
+}
+
+void resent_linespeed(t_resent *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_fftease *fft = x->fft;
+	int bin1, bin2;
+	float speed1, speed2, bindiff;
+	int i;
+	float m1, m2;
+	
+	bin1 = (int) atom_getfloatarg(0, argc, argv);
+	speed1 = atom_getfloatarg(1, argc, argv);
+	bin2 = (int) atom_getfloatarg(2, argc, argv);
+	speed2 = atom_getfloatarg(3, argc, argv);
+	
+	if( bin1 > fft->N2 || bin2 > fft->N2 ){
+		error("too high bin number");
+		return;
+	}
+	bindiff = bin2 - bin1;
+	if( bindiff < 1 ){
+		error("make bin2 higher than bin 1, bye now");
+		return;
+	}
+	for( i = bin1; i < bin2; i++ ){
+		m2 = (float) i / bindiff;
+		m1 = 1. - m2;
+		x->frame_incr[i] = m1 * speed1 + m2 * speed2;
+	}
+}
+
+void resent_dsp(t_resent *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        resent_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(resent_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
diff --git a/externals/fftease/residency_buffer~.c b/externals/fftease/residency_buffer~.c
new file mode 100644
index 000000000..b13b9630a
--- /dev/null
+++ b/externals/fftease/residency_buffer~.c
@@ -0,0 +1,471 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *residency_buffer_class;
+
+#define OBJECT_NAME "residency_buffer~"
+
+typedef struct _residency_buffer
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+    long b_frames;
+    long b_valid;
+    t_float *b_samples;
+	t_float current_frame;
+	int framecount;
+	//
+	t_float frame_increment ;
+	t_float fpos;
+	t_float last_fpos;
+	t_float tadv;
+	long read_me;
+	long frames_read;
+	long MAXFRAMES;
+	short mute;
+	long buffer_frame_count;
+	short initialized;
+	short playthrough;
+	t_float sync;
+	short buffer_is_hosed;
+    long interpolation_attr;
+    t_symbol *buffername;
+	void *size_outlet; // will send desired size in samples
+    
+} t_residency_buffer;
+
+void residency_buffer_dsp(t_residency_buffer *x, t_signal **sp);
+t_int *residency_buffer_perform(t_int *w);
+void *residency_buffer_new(t_symbol *msg, short argc, t_atom *argv);
+void residency_buffer_acquire_sample ( t_residency_buffer *x ) ;
+void residency_buffer_meminfo( t_residency_buffer *x ) ;
+void residency_buffer_mute(t_residency_buffer *x, t_floatarg toggle);
+void residency_buffer_interpolation(t_residency_buffer *x, t_floatarg toggle);
+void residency_buffer_calcbuf(t_residency_buffer *x, t_floatarg desired_duration);
+void residency_buffer_free( t_residency_buffer *x );
+void residency_buffer_playthrough(t_residency_buffer *x, t_floatarg f);
+void residency_buffer_init(t_residency_buffer *x);
+void residency_buffer_transpose(t_residency_buffer *x, t_floatarg tf);
+void residency_buffer_synthresh(t_residency_buffer *x, t_floatarg thresh);
+void residency_buffer_oscbank(t_residency_buffer *x, t_floatarg flag);
+void residency_buffer_attachbuf(t_residency_buffer *x);
+void residency_buffer_redraw(t_residency_buffer *x);
+
+void residency_buffer_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("residency_buffer~"), (t_newmethod)residency_buffer_new,
+                  (t_method)residency_buffer_free,sizeof(t_residency_buffer), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_residency_buffer, x_f);
+	class_addmethod(c,(t_method)residency_buffer_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)residency_buffer_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)residency_buffer_interpolation,gensym("interpolation"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_buffer_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_buffer_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_buffer_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_buffer_calcbuf,gensym("calcbuf"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)residency_buffer_playthrough,gensym("playthrough"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)residency_buffer_acquire_sample,gensym("acquire_sample"), 0);
+    residency_buffer_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void residency_buffer_free( t_residency_buffer *x )
+{
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void residency_buffer_calcbuf(t_residency_buffer *x, t_floatarg desired_duration)
+{
+	t_float ms_calc;
+	t_float seconds;
+	t_float frames;
+	t_float samples;
+	t_float tadv = x->tadv;
+	t_fftease *fft = x->fft;
+	
+	if(tadv == 0){
+		post("zero tadv!");
+		return;
+	}
+	if(fft->R == 0){
+		post("zero sampling rate!");
+		return;
+	}
+	seconds = desired_duration / 1000.0;
+	frames = seconds / tadv;
+	samples = frames * (t_float) (fft->N + 2);
+	ms_calc = (samples / fft->R) * 1000.0;
+	post("desired duration in ms: %f",desired_duration);
+	post("you need %.0f samples in buffer to get %.0f frames or %f secs", 
+		 samples, frames, seconds);
+	outlet_float(x->size_outlet, samples);
+	
+}
+
+void *residency_buffer_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_residency_buffer *x = (t_residency_buffer *)pd_new(residency_buffer_class);
+	t_fftease *fft;
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->size_outlet = outlet_new(&x->x_obj, gensym("float"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ x->buffername = atom_getsymbolarg(0, argc, argv); }
+    else { post("%s: Must specify array name", OBJECT_NAME); return NULL; }
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+	return x;
+}
+
+void residency_buffer_init(t_residency_buffer *x)
+{
+
+	t_fftease *fft = x->fft;
+	short initialized = x->fft->initialized;
+	if( fft->R <= 0 ){
+		post("bad SR");
+		return;
+	}
+	if( fft->MSPVectorSize <= 0 ){
+		post("bad vectorsize");
+		return;
+	}
+	fftease_init(fft);	
+	x->tadv = (t_float)fft->D / (t_float)fft->R;
+	if(!initialized){
+		x->mute = 0;
+		x->sync = 0;
+		x->initialized = 1;
+		x->current_frame = x->framecount = 0;
+		x->frame_increment = 1.0 ;
+		x->fpos = x->last_fpos = 0;
+	}
+}
+
+void do_residency_buffer(t_residency_buffer *x)
+{
+	t_fftease *fft = x->fft;
+	int N = x->fft->N;
+	int i,j,k;
+	t_float fframe = x->current_frame ;
+	t_float fincr = x->frame_increment;
+	t_float fpos = x->fpos;
+	t_float last_fpos = x->last_fpos ;
+	t_float *channel = fft->channel;
+	float *b_samples;
+	long b_frames = x->b_frames;
+    long b_valid = x->b_valid;
+	int frames_read = x->frames_read;
+	long index_offset;
+	long buffer_frame_count = x->buffer_frame_count;
+    long index1, index2;
+    t_float frak;
+    
+    residency_buffer_attachbuf(x);
+    b_samples = x->b_samples;
+    b_frames = x->b_frames;
+
+    buffer_frame_count = (int)((t_float) b_frames / (t_float)(x->fft->N + 2));
+    if(b_frames < 1 || ! b_valid){
+        post("%s: table too small or not valid",OBJECT_NAME);
+        return;
+    }
+	if( x->read_me ) {
+		fftease_fold(fft);
+		fftease_rdft(fft, FFT_FORWARD);
+		fftease_convert(fft);
+		
+		index_offset = (N+2) * frames_read;
+		
+		for(i = index_offset, j = 0; i < index_offset + N + 2; i++, j++){
+            if(i >= b_frames){
+                
+                post("hit end of buffer on frame %d", frames_read);
+                goto escape;
+            }
+			b_samples[i] = channel[j];
+		}
+		
+		++frames_read;
+		x->sync = (t_float)frames_read/(t_float)(buffer_frame_count);
+		
+		if( frames_read >= buffer_frame_count){
+			x->read_me = 0;
+            fpos = 0.0;
+            residency_buffer_redraw(x);
+		}
+        
+	} 
+	else {
+		if( fpos < 0 )
+			fpos = 0;
+		if( fpos > 1 )
+			fpos = 1;
+		if( fpos != last_fpos ){
+			fframe =  fpos * (t_float) buffer_frame_count;
+			last_fpos = fpos;
+		}
+		
+		fframe += fincr;
+        // post("fframe %f framecount %d", fframe, buffer_frame_count);
+        
+		while(fframe >= buffer_frame_count) {
+			fframe -= buffer_frame_count;
+		} 
+		while( fframe < 0. ) {
+			fframe += buffer_frame_count;
+		}
+		// goto escape;
+		
+		if(x->interpolation_attr == 1){
+            long iframe = floor(fframe);
+            index1 = (N+2) * iframe;
+            index2 = (N+2) * ((iframe + 1) % buffer_frame_count);
+            frak = fframe - iframe;
+            for( i = index1, j = index2, k = 0; i < index1 + N + 2; i++, j++, k++){
+                if(i >= b_frames || j >= b_frames){
+                    post("hit end of buffer on frame %d, index %d %d", index1,i,j);
+                    goto escape;
+                }
+                channel[k] = b_samples[i] + frak * (b_samples[j] - b_samples[i]);
+            }
+        }
+        else {
+            index_offset = (N+2) * (long) fframe;
+            for( i = index_offset, j = 0; i < index_offset + N + 2; i++, j++ ){
+                if(i >= b_frames){
+                    post("hit end of buffer on frame %d, index %d", index_offset,i);
+                    goto escape;
+                }
+                channel[j] = b_samples[i];
+            }
+        }
+		x->sync = fframe / (t_float) buffer_frame_count;
+		// REPLACE loveboat with buffer
+		if(fft->obank_flag){
+			fftease_oscbank(fft);
+		}
+        else {
+			fftease_unconvert(fft);
+			fftease_rdft(fft, FFT_INVERSE);
+			fftease_overlapadd(fft);
+		}
+        
+	}
+escape:
+    ;
+	/* restore state variables */
+	x->current_frame = fframe;
+	x->frame_increment = fincr;
+	x->fpos = fpos;
+	x->last_fpos = last_fpos;
+	x->frames_read = frames_read;
+}
+
+
+void residency_buffer_redraw(t_residency_buffer *x)
+{
+    t_garray *a;
+    if (!(a = (t_garray *)pd_findbyclass(x->buffername, garray_class))) {
+        if (*x->buffername->s_name) pd_error(x, "function~: %s: no such array", x->buffername->s_name);
+    }
+    else  {
+        garray_redraw(a);
+    }
+}
+
+void residency_buffer_attachbuf(t_residency_buffer *x)
+{
+  	int frames;
+    t_symbol *buffername = x->buffername;
+	t_garray *a;
+    
+	x->b_frames = 0;
+	x->b_valid = 0;
+	if (!(a = (t_garray *)pd_findbyclass(buffername, garray_class)))
+    {
+		if (*buffername->s_name) pd_error(x, "player~: %s: no such array",
+                                          buffername->s_name);
+    }
+	else if (!garray_getfloatarray(a, &frames, &x->b_samples))
+    {
+		pd_error(x, "%s: bad template for player~", buffername->s_name);
+    }
+	else  {
+		x->b_frames = frames;
+		x->b_valid = 1;
+		garray_usedindsp(a);
+	}
+}
+
+t_int *residency_buffer_perform(t_int *w)
+{
+	int i, j;
+	
+	//////////////////////////////////////////////
+    t_residency_buffer *x = (t_residency_buffer *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *increment = (t_float *)(w[3]);
+	t_float *position = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_float *vec_sync = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	float mult = fft->mult;
+
+	
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+
+	residency_buffer_attachbuf(x);
+	/* quit before doing anything unless we're good to go */
+    
+	if( x->mute || ! x->b_valid) {
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        for(i=0; i < MSPVectorSize; i++){ vec_sync[i] = 0.0; }
+		return w+7;
+	}
+
+    x->frame_increment = *increment;
+    x->fpos = *position;
+
+	for ( i = 0; i < MSPVectorSize; i++ ){
+		vec_sync[i] = x->sync;
+	}
+	if(x->framecount > 0 && x->read_me ){
+		x->sync = (t_float)x->frames_read/(t_float)x->framecount;
+	}
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_residency_buffer(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_residency_buffer(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_residency_buffer(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}	
+
+void residency_buffer_acquire_sample ( t_residency_buffer *x )
+{
+    residency_buffer_attachbuf(x);
+	x->read_me = 1;
+	x->frames_read = 0;
+    x->buffer_frame_count = (int)((t_float) (x->b_frames) / (t_float)(x->fft->N + 2));
+	post("storing %d FFT frames", x->buffer_frame_count);
+	post("%s: beginning spectral data acquisition",OBJECT_NAME);
+	return;
+	
+}
+
+void residency_buffer_mute(t_residency_buffer *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;	
+}
+
+void residency_buffer_interpolation(t_residency_buffer *x, t_floatarg toggle)
+{
+	x->interpolation_attr = (short)toggle;
+}
+
+void residency_buffer_playthrough(t_residency_buffer *x, t_floatarg toggle)
+{
+	x->playthrough = (short)toggle;	
+}
+
+
+void residency_buffer_transpose(t_residency_buffer *x, t_floatarg tf)
+{
+	x->fft->P = (float) tf;
+}
+
+void residency_buffer_synthresh(t_residency_buffer *x, t_floatarg thresh)
+{
+	x->fft->synt = (float) thresh;
+}
+
+void residency_buffer_oscbank(t_residency_buffer *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void residency_buffer_dsp(t_residency_buffer *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        residency_buffer_init(x);
+    }
+
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(residency_buffer_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
diff --git a/externals/fftease/residency~.c b/externals/fftease/residency~.c
new file mode 100644
index 000000000..8162bd0f0
--- /dev/null
+++ b/externals/fftease/residency~.c
@@ -0,0 +1,491 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *residency_class;
+
+#define OBJECT_NAME "residency~"
+
+typedef struct _residency
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float **loveboat;
+	t_float current_frame;
+	long framecount;
+    long last_framecount;
+	//
+	t_float frame_increment;
+	t_float fpos;
+	t_float last_fpos;
+	t_float tadv;
+	short acquire_stop; // flag to stop recording immediately
+	float force_pos; // force to this position on receiving message
+	int read_me;
+	int frames_read;
+	short mute;
+	short playthrough;
+	t_float duration;
+	short lock;
+	short verbose;
+	short override;
+	t_float *input_vec;
+	t_float sync;
+	short failed_init; // flag to check if init failed due to bad data from Max
+    t_float size_attr;
+    short interpolation_attr;
+} t_residency;
+
+void residency_dsp(t_residency *x, t_signal **sp);
+t_int *residency_perform(t_int *w);
+void *residency_new(t_symbol *s, int argc, t_atom *argv);
+void residency_bangname(t_residency *x) ;
+void residency_fftinfo(t_residency *x) ;
+void residency_playthrough( t_residency *x, t_floatarg tog) ;
+void residency_mute(t_residency *x, t_floatarg tog);
+void residency_interpolation(t_residency *x, t_floatarg tog);
+void residency_free(t_residency *x);
+void residency_init(t_residency *x);
+void residency_size(t_residency *x, t_floatarg newsize);
+void residency_verbose(t_residency *x, t_floatarg t);
+void residency_force_position(t_residency *x, t_floatarg position);
+void residency_acquire_sample(t_residency *x);
+void residency_meminfo( t_residency *x );
+void residency_acquire_stop(t_residency *x);
+void residency_transpose(t_residency *x, t_floatarg tf);
+void residency_synthresh(t_residency *x, t_floatarg thresh);
+void residency_oscbank(t_residency *x, t_floatarg flag);
+void do_residency(t_residency *x);
+
+void residency_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("residency~"), (t_newmethod)residency_new,
+                  (t_method)residency_free,sizeof(t_residency), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_residency, x_f);
+	class_addmethod(c,(t_method)residency_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)residency_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)residency_interpolation,gensym("interpolation"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_synthresh,gensym("synthresh"),A_FLOAT,0);
+	class_addmethod(c,(t_method)residency_acquire_sample,gensym("acquire_sample"),  0);
+	class_addmethod(c,(t_method)residency_acquire_stop,gensym("acquire_stop"),  0);
+	class_addmethod(c,(t_method)residency_playthrough,gensym("playthrough"), A_DEFFLOAT, 0);
+	class_addmethod(c,(t_method)residency_force_position,gensym("force_position"), A_FLOAT, 0);
+
+    residency_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void residency_force_position(t_residency *x, t_floatarg position)
+{
+	if( position >= 0.0 && position < 1.0 ){
+		x->force_pos = position;
+	}
+}
+
+void residency_meminfo( t_residency *x )
+{
+    t_fftease *fft = x->fft;
+    post("%d frames in buffer", x->framecount);
+    post("frame_duration: %f, actual time in buffer: %f", x->tadv, (float)(x->framecount) * x->tadv);
+	post("main storage chunk: %.2f MB", (x->framecount * (fft->N + 2) * sizeof(t_float)) / 1000000.0 );
+}
+
+void residency_transpose(t_residency *x, t_floatarg tf)
+{
+	x->fft->P = tf;
+}
+
+void residency_synthresh(t_residency *x, t_floatarg thresh)
+{
+	x->fft->synt = thresh;
+}
+
+void residency_oscbank(t_residency *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void residency_verbose(t_residency *x, t_floatarg t)
+{
+	x->verbose = t;
+}
+
+void residency_size(t_residency *x, t_floatarg newsize)
+{
+	if(newsize > 0.0){//could be horrendous size, but that's the user's problem
+		x->duration = newsize/1000.0;
+		residency_init(x);
+	}
+}
+
+void residency_playthrough (t_residency *x, t_floatarg tog)
+{
+	x->playthrough = tog;
+}
+
+void residency_acquire_stop(t_residency *x)
+{
+	x->acquire_stop = 1;
+	x->read_me = 0;
+}
+
+void residency_free(t_residency *x){
+	int i;
+    if(x->fft->initialized){
+        for(i = 0; i < x->framecount; i++){
+            free(x->loveboat[i]) ;
+        }
+        free(x->loveboat);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *residency_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_residency *x = (t_residency *)pd_new(residency_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+
+	x->fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	x->fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	x->fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    x->last_framecount = x->framecount = 0;
+    
+    if(argc > 0){ x->duration = atom_getfloatarg(0, argc, argv) / 1000.0; }
+    else { post("%s: must give duration argument",OBJECT_NAME); return NULL; }
+    if(argc > 1){ fft->N = (int) atom_getfloatarg(1, argc, argv); }
+    if(argc > 2){ fft->overlap = (int) atom_getfloatarg(2, argc, argv); }
+	return x;
+}
+
+void residency_init(t_residency *x)
+{
+	int i;
+	t_fftease *fft = x->fft;
+    if(!fft->R){
+        return;
+    }
+	if(fft->initialized == -1){
+		return;
+	}
+    
+    fftease_init(x->fft);
+	
+	x->tadv = (t_float)fft->D/(t_float)fft->R;
+	if( x->duration <= 0 ){
+		x->duration = 1.0;
+	}
+    if(!x->tadv){
+        return;
+    }
+	x->framecount =  x->duration / x->tadv;
+	x->read_me = 0;
+	x->acquire_stop = 0;
+	if(x->verbose){
+		post("%s: will allocate %d frames",OBJECT_NAME, x->framecount);
+	}
+	// could probably improve memory management here
+    if(x->framecount <= 0){
+      //  post("bad framecount:%s",x->framecount);
+        return;
+    }
+	if(fft->initialized == 0){
+        // x->virgin = 1;
+        x->force_pos = -1.0;
+        x->current_frame = 0;
+        x->fpos = x->last_fpos = 0;
+        
+		x->sync = 0;
+		x->mute = 0;
+		x->playthrough = 0;
+		x->frame_increment = 0.0; // frozen by default
+		x->verbose = 0;
+        x->loveboat = (t_float **) calloc(x->framecount, sizeof(t_float *));
+		for(i=0;i < x->framecount; i++){
+			x->loveboat[i] = (t_float *) calloc((fft->N + 2), sizeof(t_float));
+			if(x->loveboat[i] == NULL){
+				error("%s: memory error",OBJECT_NAME);
+				return;
+			}
+		}
+	}
+    else if((x->framecount == x->last_framecount) && (fft->initialized != 0)){
+        return;
+    }
+    else if(fft->initialized == 1) {
+        if(x->framecount != x->last_framecount) {
+            // free individual oldies
+            for(i = 0; i < x->last_framecount; i++){
+                free(x->loveboat[i]);
+            }
+            x->loveboat = (t_float**)realloc(x->loveboat, x->framecount * sizeof(t_float *));
+            
+            for(i=0;i < x->framecount; i++){
+                x->loveboat[i] = (t_float *) calloc((fft->N + 2), sizeof(t_float));
+                if(x->loveboat[i] == NULL){
+                    error("%s: memory error",OBJECT_NAME);
+                    return;
+                }
+            }
+        }
+	}
+	
+	if(! fftease_msp_sanity_check(fft, OBJECT_NAME)){
+		// return 0;
+		post("residency~ failed sanity test in Init");
+		x->failed_init = 1;
+	} else {
+		x->failed_init = 0;
+	}
+	if (fft->D <= 0.0 || fft->R <= 0.0){
+		error("%s: bad decimation size or bad sampling rate - cannot proceed",OBJECT_NAME);
+		post("D: %d R: %d",fft->D, fft->R);
+		return;
+	}
+    x->last_framecount = x->framecount;
+}
+
+void do_residency(t_residency *x)
+{
+	int i;
+	t_float fframe = x->current_frame ;
+	t_float last_fpos = x->last_fpos ;
+	int framecount = x->framecount;
+	t_float fincr = x->frame_increment;
+	t_float fpos = x->fpos;
+	t_float force_pos = x->force_pos;
+    t_float frak;
+    long index1, index2;
+    
+	t_fftease *fft = x->fft;
+    
+	if(x->acquire_stop){
+		x->acquire_stop = 0;
+		fpos = (t_float) x->frames_read / (t_float) framecount;
+		last_fpos = fpos;
+		fframe = x->frames_read;
+		if(x->verbose){
+			post("residency: data acquisition stopped");
+		}
+	}
+	else if(x->read_me) { // state for sampling to buffer
+		if(x->frames_read >= framecount){ // termination condition
+			x->read_me = 0;
+			if(x->verbose){
+				post("residency: data acquisition completed");
+			}
+		}
+		else { // convert and store in one frame
+			fftease_fold(fft);
+			fftease_rdft(fft,1);
+			fftease_convert(fft);
+			for(i= 0; i < fft->N + 2; i++){
+				x->loveboat[x->frames_read][i] = fft->channel[i];
+			}
+			++(x->frames_read);
+            
+		}
+	}
+	else { // a sample is now in the buffer
+		if(fpos < 0)
+			fpos = 0;
+		if(fpos > 1)
+			fpos = 1;
+		
+		if(force_pos >= 0.0 && force_pos < 1.0){
+			//	post("forcing frame to %f", force_pos);
+			fframe =  force_pos * (float) framecount;
+			last_fpos = fpos = force_pos;
+			x->force_pos = -1.0;
+		}
+		else if(fpos != last_fpos){
+			fframe =  fpos * (float) framecount;
+			last_fpos = fpos;
+		}
+		fframe += fincr;
+        
+		while(fframe >= framecount) {
+			fframe -= framecount;
+		}
+		while( fframe < 0. ) {
+			fframe += framecount;
+		}
+		if(x->framecount > 0) {
+			x->sync = fframe/(float)x->framecount;
+		}
+        if(x->interpolation_attr == 1){
+            index1 = floor(fframe);
+            index2 = (index1+1) % x->framecount;
+            frak = fframe - (t_float)index1;
+            for(i= 0; i < fft->N + 2; i++){
+                fft->channel[i] =
+                x->loveboat[index1][i] + frak * (x->loveboat[index2][i] - x->loveboat[index1][i]);
+            }
+        }
+        else {
+            for(i= 0; i < fft->N + 2; i++){
+                fft->channel[i]= x->loveboat[(int)fframe][i];
+            }
+        }
+		if(fft->obank_flag){
+			fftease_oscbank(fft);
+		} else {
+			fftease_unconvert(fft);
+			fftease_rdft(fft,FFT_INVERSE);
+			fftease_overlapadd(fft);
+		}
+	}
+	/* restore state variables */
+	
+	x->current_frame = fframe;
+	x->frame_increment = fincr;
+	x->fpos = fpos;
+	x->last_fpos = last_fpos;
+}
+
+t_int *residency_perform(t_int *w)
+{
+	int i, j;
+	
+	//////////////////////////////////////////////
+    t_residency *x = (t_residency *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *increment = (t_float *)(w[3]);
+	t_float *position = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	t_float *vec_sync = (t_float *)(w[6]);
+	t_fftease *fft = x->fft;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	
+    x->frame_increment = *increment;
+    x->fpos = *position;
+	if( fft->obank_flag )
+		mult *= FFTEASE_OSCBANK_SCALAR;
+	
+	if(x->mute){
+		for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+        for(i=0; i < MSPVectorSize; i++){ vec_sync[i] = 0.0; }
+		return w+7;
+	}
+	
+	if(x->acquire_stop){
+		// will reset flag inside do_residency
+        for(i=0; i < MSPVectorSize; i++){ output[i] = 0.0; }
+		x->read_me = 0;
+	}
+	for ( i = 0; i < MSPVectorSize; i++ ){
+		vec_sync[i] = x->sync;
+	}
+	if(x->framecount > 0 && x->read_me )
+		x->sync = (t_float)x->frames_read/(t_float)x->framecount;
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_residency(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_residency(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_residency(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+return w+7;
+}
+
+void residency_acquire_sample(t_residency *x)
+{
+	x->read_me = 1;
+	x->frames_read = 0;
+	if(x->verbose)
+		post("beginning spectral data acquisition");
+	return;
+}
+
+void residency_mute(t_residency *x, t_floatarg tog)
+{
+	x->mute = (short) tog;
+}
+
+void residency_interpolation(t_residency *x, t_floatarg tog)
+{
+	x->interpolation_attr = (short) tog;
+}
+
+void residency_dsp(t_residency *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        residency_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(residency_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
diff --git a/externals/fftease/schmear~.c b/externals/fftease/schmear~.c
new file mode 100644
index 000000000..6277e9676
--- /dev/null
+++ b/externals/fftease/schmear~.c
@@ -0,0 +1,309 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *schmear_class;
+
+#define OBJECT_NAME "schmear~"
+#define MAXSCHMEAR (129)
+
+typedef struct _schmear
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float schmearmult;
+	short mute;
+	t_float *spreader;
+	t_float *newamps;
+	int spreadlen;
+	t_float threshold;
+	short freakmode;
+	int shift;
+} t_schmear;
+
+void schmear_dsp(t_schmear *x, t_signal **sp);
+t_int *schmear_perform(t_int *w);
+void *schmear_new(t_symbol *s, int argc, t_atom *argv);
+void schmear_mute(t_schmear *x, t_floatarg toggle);
+void schmear_rel2peak(t_schmear *x, t_floatarg toggle);
+void schmear_free(t_schmear *x);
+void schmear_init(t_schmear *x);
+void schmear_threshold(t_schmear *x, t_floatarg f);
+void schmear_schmimp(t_schmear *x, t_symbol *msg, short argc, t_atom *argv);
+void schmear_shift(t_schmear *x, t_floatarg f);
+void schmear_oscbank(t_schmear *x, t_floatarg flag);
+
+void schmear_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("schmear~"), (t_newmethod)schmear_new,
+                  (t_method)schmear_free,sizeof(t_schmear), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_schmear, x_f);
+	class_addmethod(c,(t_method)schmear_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)schmear_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)schmear_threshold,gensym("threshold"),A_FLOAT,0);
+	class_addmethod(c,(t_method)schmear_shift,gensym("shift"),A_FLOAT,0);
+	class_addmethod(c,(t_method)schmear_schmimp,gensym("schmimp"),A_GIMME,0);
+    
+    schmear_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void schmear_oscbank(t_schmear *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void schmear_mute(t_schmear *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void schmear_shift(t_schmear *x, t_floatarg f)
+{
+	x->shift = (int)f;
+}
+
+void schmear_schmimp(t_schmear *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+	if(argc > MAXSCHMEAR){
+		post("%d is too long for schmear", argc);
+		return;
+	}
+	if(! (argc % 2) ){
+		post("%s: impulse length %d must be odd",OBJECT_NAME, argc);
+		return;
+	}
+	for( i = 0; i < argc; i++ ){
+		x->spreader[i] = atom_getfloatarg(i,argc,argv);
+	}
+	x->spreadlen = argc;
+}
+
+void schmear_threshold(t_schmear *x, t_floatarg t)
+{
+	x->threshold = (float)t;
+}
+
+void *schmear_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_schmear *x = (t_schmear *)pd_new(schmear_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft->initialized = 0;
+	x->threshold = 0.1;
+	x->schmearmult = 0.1;
+	x->mute = 0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void schmear_init(t_schmear *x)
+{
+
+	t_fftease  *fft = x->fft;
+	fftease_init(fft);
+	x->newamps = (t_float *) calloc((fft->N2+1), sizeof(t_float));
+	x->spreadlen = 7;
+	x->spreader = (t_float *) calloc(MAXSCHMEAR, sizeof(t_float));
+	x->spreader[0] = 0.6;
+	x->spreader[1] = 0.3;
+	x->spreader[2] = 0.15;
+	x->spreader[3] = 0.0;
+	x->spreader[4] = 0.15;
+	x->spreader[5] = 0.3;
+	x->spreader[6] = 0.6;
+	x->shift = 0;
+}
+
+void schmear_free(t_schmear *x)
+{
+    if(x->fft->initialized){
+        free(x->newamps);
+        free(x->spreader);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void do_schmear(t_schmear *x)
+{
+	int i, j;
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	t_float frame_peak = 0.0, local_thresh;
+	t_float threshold = x->threshold;
+	int shift = x->shift;
+	int N = fft->N;
+	int N2 = fft->N2;
+	t_float *newamps = x->newamps;
+	t_float *spreader = x->spreader;
+	t_float curamp;
+	int spreadlen = x->spreadlen;
+	int spread_center = (spreadlen - 1) / 2;
+	int thisbin;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,1);
+	fftease_convert(fft);
+
+	for(i = 0; i < N; i += 2){	
+		if(frame_peak < channel[i])
+			frame_peak = channel[i];
+	}
+	local_thresh = frame_peak * threshold;
+	for(i = 0; i < N2; i++){
+		newamps[i] = 0.0;
+	}
+	/*
+	if( freakmode ){ // weird mistake version
+		for(i = 0; i < N2; i++){	
+			if(channel[i * 2] > local_thresh){
+				curamp = channel[i * 2];
+				for(j = i - spread_center; j <= i + spread_center; j++){
+					if(j >= 0 && j < N2){
+						newamps[j] += curamp * spreader[j + spread_center];
+					}
+				}
+			}
+		}  
+	} 
+	*/
+	// no spread for now
+	
+		for(i = 0; i < N2; i++){	
+			curamp = channel[i * 2];
+			if(curamp > local_thresh){
+
+				for(j = 0; j < spreadlen; j++){
+					thisbin = i + j - spread_center;
+					if(thisbin >= 0 && thisbin < N2){
+						newamps[thisbin] += curamp * spreader[j];
+					}
+				}
+			
+			} else {
+				newamps[i] = curamp;
+			}
+		}
+
+    if( shift > 0 ){
+        for( i = 0; i < N2; i++){
+            channel[i * 2] = newamps[i];
+        }
+        for( i = 0; i < N2; i++){
+            newamps[(i + shift) % N2] = channel[i * 2];
+        }
+    }
+	// move amps back where they belong
+	for(i = 0; i < N2; i++){
+		channel[i * 2] = newamps[i];
+	}
+	fftease_unconvert(fft);
+	fftease_rdft(fft,-1);
+	fftease_overlapadd(fft);
+
+}
+
+t_int *schmear_perform(t_int *w)
+{
+	int	i,j;
+    t_schmear *x = (t_schmear *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *MSPOutputVector = (t_float *)(w[3]);
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	
+	if(x->mute){
+		for( j = 0; j < MSPVectorSize; j++) {
+			*MSPOutputVector++ = *MSPInputVector++ * FFTEASE_BYPASS_GAIN;
+		}
+		return w+4;
+	}
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_schmear(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_schmear(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_schmear(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+4;
+}		
+
+void schmear_dsp(t_schmear *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        schmear_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(schmear_perform, 3, x, sp[0]->s_vec, sp[1]->s_vec);
+    }
+}
diff --git a/externals/fftease/scrape~.c b/externals/fftease/scrape~.c
new file mode 100644
index 000000000..addf00fcf
--- /dev/null
+++ b/externals/fftease/scrape~.c
@@ -0,0 +1,288 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *scrape_class;
+
+#define OBJECT_NAME "scrape~"
+
+typedef struct _scrape
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float knee;
+	t_float cutoff;
+	t_float scrape_mult;
+	t_float thresh1;
+	t_float thresh2;
+	t_float *threshfunc;
+	short mute;
+} t_scrape;
+
+void scrape_dsp(t_scrape *x, t_signal **sp);
+t_int *scrape_perform(t_int *w);
+void *scrape_new(t_symbol *msg, short argc, t_atom *argv);
+void update_thresh_function( t_scrape *x );
+void scrape_frowned( float *S, float *C, float *threshfunc, float fmult, int N2 );
+void scrape_mute(t_scrape *x, t_floatarg toggle);
+void scrape_free( t_scrape *x );
+void update_thresh_function( t_scrape *x );
+void scrape_init(t_scrape *x);
+
+void scrape_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("scrape~"), (t_newmethod)scrape_new,
+                  (t_method)scrape_free,sizeof(t_scrape), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_scrape, x_f);
+	class_addmethod(c,(t_method)scrape_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)scrape_mute,gensym("mute"),A_FLOAT,0);
+
+    scrape_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void scrape_free( t_scrape *x )
+{
+    if(x->fft->initialized){
+        free(x->threshfunc);
+    }
+    fftease_free(x->fft);
+    free(x->fft);
+}
+
+void *scrape_new(t_symbol *msg, short argc, t_atom *argv)
+{
+    t_fftease *fft;
+	t_scrape *x = (t_scrape *)pd_new(scrape_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->fft = (t_fftease *) calloc(1, sizeof(t_fftease) );
+	fft = x->fft;
+	fft->initialized = 0;
+	x->knee = 1000.0;
+	x->cutoff = 4000.0;
+	x->thresh1 = 0.001;
+	x->thresh2 = 0.09;
+	x->scrape_mult = 0.1;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void scrape_init(t_scrape *x)
+{
+	t_fftease  *fft = x->fft;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+		
+	if(!initialized){
+		x->mute = 0;
+		x->threshfunc = (t_float *) calloc(fft->N2, sizeof(t_float));
+		update_thresh_function(x);
+	} else if(initialized == 1){
+		x->threshfunc = (t_float *) realloc(x->threshfunc, fft->N2 * sizeof(t_float));
+		update_thresh_function(x);
+	}
+}
+
+void update_thresh_function( t_scrape *x )
+{
+	t_float funda, curfreq, m1, m2;
+	int i;
+	int R = x->fft->R;
+	int N = x->fft->N;
+	int N2 = x->fft->N2;
+	
+	funda = (t_float)  R / ((t_float)N);
+	curfreq = funda ;
+	for( i = 0; i < N2; i++ ) {
+		if( curfreq  < x->knee ){
+			x->threshfunc[i] = 0.0 ;
+		} else if( curfreq >= x->knee && curfreq < x->cutoff ) {
+			m2 = (x->knee - curfreq) / (x->cutoff - x->knee) ;
+			m1 = 1.0 - m2 ;
+			x->threshfunc[i] = m1 * x->thresh1 + m2 * x->thresh2 ;
+		} else {
+			x->threshfunc[i] = x->thresh2;
+		}
+		curfreq += funda ;
+	}
+}
+
+void scrape_mute(t_scrape *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;	
+}
+
+void do_scrape(t_scrape *x)
+{
+	int real, imag, amp, phase;
+	t_float a, b;
+	int i;
+	t_float maxamp = 0.0;
+	t_fftease *fft = x->fft;
+	int N2 = fft->N2;
+	t_float scrape_mult = x->scrape_mult;
+	t_float *channel = fft->channel;
+	t_float *buffer = fft->buffer;
+	t_float *threshfunc = x->threshfunc;
+	
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	
+	for( i = 0; i <= N2; i++ ){
+		amp = i<<1;
+		if( maxamp < channel[amp] ){
+			maxamp = channel[amp];
+		}
+	}
+	
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		a = ( i == N2 ? buffer[1] : buffer[real] );
+		b = ( i == 0 || i == N2 ? 0. : buffer[imag] );
+		channel[amp] = hypot( a, b );
+		
+		if ( (channel[amp]) < threshfunc[i] * maxamp ){
+			channel[amp] *= scrape_mult;
+		}
+		channel[phase] = -atan2( b, a );
+	}
+	
+	for ( i = 0; i <= N2; i++ ) {
+		imag = phase = ( real = amp = i<<1 ) + 1;
+		buffer[real] = *(channel+amp) * cos( *(channel+phase) );
+		if ( i != N2 )
+			buffer[imag] = -*(channel+amp) * sin( *(channel+phase) );
+	}
+
+	fftease_rdft(fft, FFT_INVERSE);
+	fftease_overlapadd(fft);
+}
+
+t_int *scrape_perform(t_int *w)
+{
+	int	i,j;
+	t_float tmp ;
+    t_scrape *x = (t_scrape *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *knee_freq = (t_float *)(w[3]);
+	t_float *cut_freq = (t_float *)(w[4]);
+	t_float *thresh1 = (t_float *)(w[5]);
+	t_float *thresh2 = (t_float *)(w[6]);
+	t_float *scrape_mult = (t_float *)(w[7]);
+	t_float *MSPOutputVector = (t_float *)(w[8]);
+	
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;   
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+9;
+	}
+    tmp = *knee_freq++;
+    if( tmp > 50 && tmp < 20000 ){
+        x->knee = tmp;
+    }
+    tmp = *cut_freq++;
+    if( tmp > x->knee && tmp < 20000 ){
+        x->cutoff = *cut_freq++;
+    }
+    x->thresh1 = *thresh1;
+    x->thresh2 = *thresh2;
+    x->scrape_mult = *scrape_mult;
+    update_thresh_function( x );
+
+    // 
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_scrape(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_scrape(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_scrape(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+9;
+}		
+
+void scrape_dsp(t_scrape *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        scrape_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(scrape_perform, 8, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+                sp[4]->s_vec, sp[5]->s_vec, sp[6]->s_vec);
+    }
+}
diff --git a/externals/fftease/shapee~.c b/externals/fftease/shapee~.c
new file mode 100644
index 000000000..0be48cf28
--- /dev/null
+++ b/externals/fftease/shapee~.c
@@ -0,0 +1,366 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *shapee_class;
+
+#define OBJECT_NAME "shapee~"
+
+typedef struct _shapee
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft,*fft2;
+    int widthConnected;    
+    t_float shapeWidth;
+	short mute;
+} t_shapee;
+
+
+/* msp function prototypes */
+
+void *shapee_new(t_symbol *s, int argc, t_atom *argv);
+void shapee_init(t_shapee *x);
+void shapee_mute(t_shapee *x, t_floatarg state);
+void shapee_free(t_shapee *x);
+void shapee_dsp(t_shapee *x, t_signal **sp);
+t_int *shapee_perform(t_int *w);
+void shapee_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("shapee~"), (t_newmethod)shapee_new,
+                  (t_method)shapee_free,sizeof(t_shapee), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_shapee, x_f);
+	class_addmethod(c,(t_method)shapee_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)shapee_mute,gensym("mute"),A_FLOAT,0);
+    shapee_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void *shapee_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+	t_fftease *fft, *fft2;		
+	t_shapee *x = (t_shapee *)pd_new(shapee_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	/* INITIALIZATIONS */
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+	fft2->R = fft->R = sys_getsr();
+	fft2->MSPVectorSize = fft->MSPVectorSize = sys_getblksize();
+	x->shapeWidth = 2.0;
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void shapee_init(t_shapee *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);
+	if(!initialized){
+		x->mute = 0;
+	}
+}
+
+void shapee_mute(t_shapee *x, t_floatarg state)
+{
+	x->mute = (short)state;
+}
+
+void do_shapee(t_shapee *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int		
+	i,j,
+
+	R,
+	N,
+	N2,
+	D,
+	Nw,
+	remainingWidth,
+	even, odd;
+
+	
+	t_float
+	a1, b1,
+	a2, b2,
+	*bufferOne,
+	*bufferTwo,
+	*channelOne,
+	*channelTwo;
+	
+
+int	shapeWidth = (int) x->shapeWidth;
+
+	bufferOne = fft->buffer;
+	bufferTwo = fft2->buffer;
+	R = fft->R;
+	N = fft->N;
+	N2 = fft->N2;
+	D = fft->D;
+	Nw = fft->Nw;
+
+	channelOne = fft->channel;
+	channelTwo = fft2->channel;
+
+    
+	
+	if(shapeWidth < 1 || shapeWidth > N2)
+		shapeWidth = 1;
+
+	/* apply hamming window and fold our window buffer into the fft buffer */ 
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	/* do an fft */ 
+	
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_rdft(fft2,FFT_FORWARD);
+	
+	/* convert to polar coordinates from complex values */ 
+	
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+		
+		a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+		b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+		
+		/* replace signal one's phases with those of signal two */
+		
+		*(channelOne+even) = hypot( a1, b1 );
+		*(channelOne+odd) = -atan2( b1, a1 );
+		
+		*(channelTwo+even) = hypot( a2, b2 );
+		*(channelTwo+odd) = -atan2( b2, a2 );       
+	}
+	
+	/* constrain our shapeWidth value */
+	
+	if ( shapeWidth > N2 )
+		shapeWidth = N2;
+  	
+	if ( shapeWidth < 1 )
+		shapeWidth = 1;
+	
+	
+	/* lets just shape the entire signal by the shape width */
+	
+	for ( i=0; i < N; i += shapeWidth << 1 ) {
+		
+		float       amplSum = 0.,
+		freqSum = 0.,
+		factor;
+		
+		for ( j = 0; j < shapeWidth << 1; j += 2 ) {
+			
+			amplSum += *(channelTwo+i+j);
+			freqSum += *(channelOne+i+j);
+		}
+		if(freqSum <= 0.001){
+			freqSum = 1.0;
+		}
+		if (amplSum < 0.000000001)
+			factor = 0.000000001;	
+		
+		else	
+			factor = amplSum / freqSum;
+		
+		for ( j = 0; j < shapeWidth * 2; j += 2 )
+			*(channelOne+i+j) *= factor;
+	}
+	
+	/* copy remaining magnitudes */
+	
+	if ( (remainingWidth = N2 % shapeWidth) ) {
+		
+		int			bindex = (N2 - remainingWidth) << 1;
+		
+		
+		float       amplSum = 0.,
+		freqSum = 0.,
+		factor;
+		
+		for ( j = 0; j < remainingWidth * 2; j += 2 ) {
+			
+	  		amplSum += *(channelTwo+bindex+j);
+	  		freqSum += *(channelOne+bindex+j);
+		}
+		if(freqSum <= 0.00001){
+			freqSum = 1.0;
+		}
+		if (amplSum < 0.000000001)
+			factor = 0.000000001;	
+		
+		else	
+			factor = amplSum / freqSum;
+		
+		for ( j = 0; j < remainingWidth * 2; j += 2 )
+	  		*(channelOne+bindex+j) *= factor;
+	}
+	
+	
+	/* convert from polar to cartesian */	
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = (*(channelOne+even)) * -sin( *(channelOne+odd) );
+	}
+
+	fftease_rdft(fft,FFT_INVERSE);
+	fftease_overlapadd(fft);
+}
+
+
+t_int *shapee_perform(t_int *w)
+{
+	int i,j;
+	/* get our inlets and outlets */
+	t_shapee *x = (t_shapee *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *inShape = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+	x->shapeWidth =   *inShape;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_shapee(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_shapee(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_shapee(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}	
+	
+void shapee_free( t_shapee *x )
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void shapee_dsp(t_shapee *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        shapee_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(shapee_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec);
+    }
+}
diff --git a/externals/fftease/smap.pd b/externals/fftease/smap.pd
new file mode 100644
index 000000000..de9549d85
--- /dev/null
+++ b/externals/fftease/smap.pd
@@ -0,0 +1,28 @@
+#N canvas 0 22 458 308 10;
+#X obj 88 84 inlet;
+#X obj 88 110 / 127;
+#X obj 265 144 - 0;
+#X obj 283 38 t b b;
+#X floatatom 128 161 5 0 0 0 - - -;
+#X obj 88 181 *;
+#X obj 88 210 +;
+#X floatatom 135 192 5 0 0 0 - - -;
+#X obj 88 237 outlet;
+#X obj 283 17 loadbang;
+#X floatatom 205 125 5 0 0 0 - - -;
+#X obj 227 66 float \$2;
+#X obj 304 67 float \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 11 0;
+#X connect 3 1 12 0;
+#X connect 4 0 5 1;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 9 0 3 0;
+#X connect 10 0 2 0;
+#X connect 11 0 10 0;
+#X connect 12 0 2 1;
+#X connect 12 0 7 0;
diff --git a/externals/fftease/swinger~.c b/externals/fftease/swinger~.c
new file mode 100644
index 000000000..346dafff2
--- /dev/null
+++ b/externals/fftease/swinger~.c
@@ -0,0 +1,294 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *swinger_class;
+
+#define OBJECT_NAME "swinger~"
+
+typedef struct _swinger
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+	short mute;
+} t_swinger;
+
+void swinger_dsp(t_swinger *x, t_signal **sp);
+t_int *swinger_perform(t_int *w);
+void *swinger_new(t_symbol *s, int argc, t_atom *argv);
+void swinger_mute(t_swinger *x, t_floatarg state);
+void swinger_init(t_swinger *x);
+void swinger_free(t_swinger *x);
+
+void swinger_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("swinger~"), (t_newmethod)swinger_new,
+                  (t_method)swinger_free,sizeof(t_swinger), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_swinger, x_f);
+	class_addmethod(c,(t_method)swinger_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)swinger_mute,gensym("mute"),A_FLOAT,0);
+    swinger_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void swinger_mute(t_swinger *x, t_floatarg state)
+{
+	x->mute = state;	
+}
+
+void *swinger_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;
+	t_swinger *x = (t_swinger *)pd_new(swinger_class);
+
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void swinger_init(t_swinger *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	
+	if(!fft->initialized){
+		x->mute = 0;
+	}	
+	fftease_init(fft);
+	fftease_init(fft2);
+
+}
+
+void do_swinger(t_swinger *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int		
+	i,
+	
+	R,
+	N,
+	N2,
+	D,
+	Nw,
+	
+	even, odd;
+	
+	t_float
+	a1, b1,
+	a2, b2,
+	*bufferOne,
+	*bufferTwo,
+	*channelOne,
+	*channelTwo;
+	bufferOne = fft->buffer;
+	bufferTwo = fft2->buffer;
+	R = fft->R;
+	N = fft->N;
+	N2 = fft->N2;
+	D = fft->D;
+	Nw = fft->Nw;
+	channelOne = fft->channel;
+	channelTwo = fft2->channel;
+	
+	
+	/* apply hamming window and fold our window buffer into the fft buffer */ 
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	/* do an fft */ 
+	
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_rdft(fft2,FFT_FORWARD);
+	
+	/* use redundant coding for speed, even though moving the invert variable
+	 comparison outside of the for loop will give us only a minimal performance
+	 increase (hypot and atan2 are the most intensive portions of this code).
+	 consider adding a table lookup for atan2 instead.
+	 */
+	
+	/* convert to polar coordinates from complex values */
+	
+	for ( i = 0; i <= N2; i++ ) {
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+		
+		a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+		b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+		
+		/* replace signal one's phases with those of signal two */
+		
+		*(channelOne+even) = hypot( a1, b1 );
+		*(channelOne+odd) = -atan2( b2, a2 );        
+	}
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	
+	
+	/* do an inverse fft */
+	
+	fftease_rdft(fft,FFT_INVERSE);
+	
+	
+	
+	/* dewindow our result */
+	
+	fftease_overlapadd(fft);
+	
+	/* set our output and adjust our retaining output buffer */
+	
+	
+}
+
+t_int *swinger_perform(t_int *w)
+{
+	int i,j;
+    t_swinger *x = (t_swinger *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *MSPOutputVector = (t_float *)(w[4]);
+	
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	
+	/* no computation if muted */
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+5;
+	}
+	
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_swinger(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_swinger(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_swinger(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+5;
+}	
+
+void swinger_free( t_swinger *x )
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void swinger_dsp(t_swinger *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        swinger_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(swinger_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
\ No newline at end of file
diff --git a/externals/fftease/taint~.c b/externals/fftease/taint~.c
new file mode 100644
index 000000000..8d35ab7e5
--- /dev/null
+++ b/externals/fftease/taint~.c
@@ -0,0 +1,378 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *taint_class;
+
+#define OBJECT_NAME "taint~"
+
+typedef struct _taint
+{
+	t_object x_obj;
+    float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+	t_float mult;
+	short mute;
+	int invert;
+	int invert_countdown; // delay onset of invert effect to avoid loud glitches
+	int invert_nextstate; // next state for invert   
+	t_float invert_pad;   
+	t_float threshold;
+	t_float exponent;
+} t_taint;
+
+/* msp function prototypes */
+
+void taint_dsp(t_taint *x, t_signal **sp);
+t_int *taint_perform(t_int *w);
+void *taint_new(t_symbol *s, int argc, t_atom *argv);
+void taint_invert(t_taint *x, t_floatarg toggle);
+void taint_free(t_taint *x);
+void taint_mute(t_taint *x, t_floatarg toggle);
+void taint_tilde_setup(void);
+void taint_init(t_taint *x);
+void taint_pad(t_taint *x, t_floatarg pad);
+
+void taint_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("taint~"), (t_newmethod)taint_new,
+                  (t_method)taint_free,sizeof(t_taint), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_taint, x_f);
+	class_addmethod(c,(t_method)taint_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)taint_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(c,(t_method)taint_invert,gensym("invert"), A_FLOAT, 0);
+    class_addmethod(c,(t_method)taint_pad,gensym("pad"), A_FLOAT, 0);
+    taint_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void taint_mute(t_taint *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void taint_free(t_taint *x)
+{
+	fftease_free(x->fft);
+	fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void taint_pad(t_taint *x, t_floatarg pad)
+{
+	x->invert_pad = pad;
+	taint_invert(x,x->invert);//resubmit to invert
+}
+
+void taint_invert(t_taint *x, t_floatarg toggle)
+{
+	t_fftease *fft = x->fft;
+	x->invert_nextstate = toggle;
+	x->invert_countdown = fft->overlap; // delay effect for "overlap" vectors
+	
+	if(x->invert_nextstate){ // lower gain immediately; delay going to invert
+		x->fft->mult = (1. / (t_float) x->fft->N) * x->invert_pad;
+	} else {
+		x->invert = 0; //immediately turn off invert; delay raising gain
+	}
+}
+
+void *taint_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;		
+
+	t_taint *x = (t_taint *)pd_new(taint_class);
+
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	x->exponent = 0.25;
+	x->threshold = 0.01;
+	
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+    if(argc > 0){ fft->N = fft2->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = fft2->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void taint_init(t_taint *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+
+	short initialized = fft->initialized;
+	
+	fftease_init(fft);
+	fftease_init(fft2);	
+	if(!initialized){
+		x->invert_pad = 0.025; // -32 dB
+		x->invert_countdown = 0;
+		x->mute = 0;
+		x->invert = 0;
+	} 
+	if(x->invert){
+		x->mult *= x->invert_pad;
+    }
+}
+
+void do_taint(t_taint *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int i;
+	int odd,even;
+	t_float a1,b1,a2,b2;
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	int N2 = fft->N2;
+	t_float *channelOne = fft->channel;
+	t_float *channelTwo = fft2->channel;
+	t_float threshold = x->threshold;
+	t_float exponent = x->exponent;
+	int invert = x->invert;
+	
+	
+	/* apply hamming window and fold our window buffer into the fft buffer */ 
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	/* do an fft */ 
+	
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_rdft(fft2,FFT_FORWARD);
+	
+	/* convert to polar coordinates from complex values */
+	
+	if (invert) {
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			t_float magnitude;	
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			magnitude = *(channelTwo+even) = hypot( a2, b2 );
+			*(channelTwo+odd) = -atan2( b2, a2 );
+			
+			/* use threshold for inverse filtering to avoid division by zero */
+			
+			if ( magnitude < threshold )
+				magnitude = 0.;
+			
+			else  
+				magnitude = 1. / magnitude;
+			
+			*(channelOne+even) *= magnitude;
+			*(channelOne+even) = pow( *(channelOne+even), exponent );
+		}
+	}
+	
+	
+	else {
+		
+		for ( i = 0; i <= N2; i++ ) {
+			
+			odd = ( even = i<<1 ) + 1;
+			
+			a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+			b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+			
+			a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+			b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+			
+			*(channelOne+even) = hypot( a1, b1 );
+			*(channelOne+odd) = -atan2( b1, a1 );
+			
+			*(channelTwo+even) = hypot( a2, b2 );
+			*(channelTwo+odd) = -atan2( b2, a2 );
+			
+			/* simple multiplication of magnitudes */
+			
+			*(channelOne+even) *= *(channelTwo+even);
+			
+			*(channelOne+even) = pow( *(channelOne+even), exponent );
+		}
+	}
+	
+	/* convert back to complex form, read for the inverse fft */
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	
+	
+	
+	fftease_rdft(fft,FFT_INVERSE);
+
+	fftease_overlapadd(fft);
+	
+}
+
+t_int *taint_perform(t_int *w)
+{
+	int		
+    i,j;
+	
+	/* get our inlets and outlets */
+	t_taint *x = (t_taint *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *vec_exponent = (t_float *)(w[4]);
+	t_float *vec_threshold = (t_float *)(w[5]);
+	t_float *MSPOutputVector = (t_float *)(w[6]);;
+	t_fftease *fft = x->fft;	
+	t_fftease *fft2 = x->fft2;
+	
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float  *inputTwo = fft2->input;
+	t_float  *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;	
+	
+	//short *connected = x->connected;
+	/* dereference structure  */	
+
+    x->exponent = *vec_exponent;
+    x->threshold = *vec_threshold;
+
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+7;
+	}
+
+
+	if(x->invert_countdown > 0){
+
+		--(x->invert_countdown);
+		if(! x->invert_countdown){ // countdown just ended
+			if(x->invert_nextstate){ // moving to invert (gain is already down)
+				x->invert = x->invert_nextstate;
+			} else { // invert is already off - now reset gain
+				mult = x->fft->mult = 1. / (t_float) x->fft->N;
+			}
+		}
+	}
+//
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_taint(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_taint(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_taint(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+7;
+}		
+
+void taint_dsp(t_taint *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        taint_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(taint_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec,
+                sp[4]->s_vec);
+    }
+}
\ No newline at end of file
diff --git a/externals/fftease/thresher~.c b/externals/fftease/thresher~.c
new file mode 100644
index 000000000..4d992b82c
--- /dev/null
+++ b/externals/fftease/thresher~.c
@@ -0,0 +1,272 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *thresher_class;
+
+#define OBJECT_NAME "thresher~"
+#define DEFAULT_HOLD (40.0)
+
+typedef struct _thresher
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_float move_threshold;
+	t_float *composite_frame;
+	int *frames_left;
+	int max_hold_frames;
+	t_float max_hold_time;
+	int first_frame;
+	t_float damping_factor;
+	short thresh_connected;
+	short damping_connected;
+	short mute;
+	t_float tadv;
+} t_thresher;
+
+void thresher_dsp(t_thresher *x, t_signal **sp);
+t_int *thresher_perform(t_int *w);
+void *thresher_new(t_symbol *s, int argc, t_atom *argv);
+void thresher_mute(t_thresher *x, t_floatarg f);
+void thresher_free( t_thresher *x );
+void thresher_init(t_thresher *x);
+void thresher_transpose(t_thresher *x, t_floatarg tf);
+void thresher_synthresh(t_thresher *x, t_floatarg thresh);
+void thresher_oscbank(t_thresher *x, t_floatarg flag);
+
+void thresher_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("thresher~"), (t_newmethod)thresher_new,
+                  (t_method)thresher_free,sizeof(t_thresher), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_thresher, x_f);
+	class_addmethod(c,(t_method)thresher_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)thresher_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(c,(t_method)thresher_oscbank,gensym("oscbank"),A_FLOAT,0);
+	class_addmethod(c,(t_method)thresher_transpose,gensym("transpose"),A_FLOAT,0);
+	class_addmethod(c,(t_method)thresher_synthresh,gensym("synthresh"),A_FLOAT,0);
+    thresher_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void thresher_transpose(t_thresher *x, t_floatarg tf)
+{
+	x->fft->P = tf;
+}
+
+void thresher_synthresh(t_thresher *x, t_floatarg thresh)
+{
+	x->fft->synt = thresh;
+}
+
+void thresher_oscbank(t_thresher *x, t_floatarg flag)
+{
+	x->fft->obank_flag = (short) flag;
+}
+
+void thresher_free(t_thresher *x){
+    if(x->fft->initialized){
+        free(x->composite_frame);
+    }
+	fftease_free(x->fft);
+    free(x->fft);
+}
+
+void thresher_mute(t_thresher *x, t_floatarg f){
+	x->mute = (short)f;
+}
+
+void *thresher_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft;
+	t_thresher *x = (t_thresher *)pd_new(thresher_class);
+    
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease) );
+	fft = x->fft;
+	fft->initialized = 0;
+	x->move_threshold = 0.001;
+	x->damping_factor = 0.99;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;	
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void thresher_init(t_thresher *x)
+{
+	t_fftease  *fft = x->fft;
+	short initialized = fft->initialized;
+
+	fftease_init(fft);
+	x->tadv = (t_float) fft->D / (t_float) fft->R ;
+
+	if(!initialized){
+		x->mute = 0;
+		if(!x->damping_factor){
+			x->damping_factor = .95;
+		}
+		x->first_frame = 1;
+		x->move_threshold = .00001 ;
+		x->max_hold_time = DEFAULT_HOLD ;
+		x->max_hold_frames = x->max_hold_time / x->tadv;
+		x->composite_frame = (t_float *) calloc( (fft->N+2), sizeof(t_float));
+		x->frames_left = (int *) calloc( (fft->N+2), sizeof(int) );
+		
+	} else if(initialized == 1){
+		x->composite_frame = (t_float *) realloc(x->composite_frame, (fft->N+2) * sizeof(t_float) );
+		x->frames_left = (int *) realloc(x->frames_left, (fft->N+2) * sizeof(int) );
+	}
+}
+
+void do_thresher(t_thresher *x)
+{
+	int i;
+	
+	t_fftease *fft = x->fft;
+	t_float *channel = fft->channel;
+	t_float damping_factor = x->damping_factor;
+	int max_hold_frames = x->max_hold_frames;
+	int *frames_left = x->frames_left;
+	t_float *composite_frame = x->composite_frame;
+	int N = fft->N;
+	t_float move_threshold = x->move_threshold;
+
+	fftease_fold(fft);
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_convert(fft);
+	
+	if( x->first_frame ){
+		for ( i = 0; i < N+2; i++ ){
+			composite_frame[i] = channel[i];
+			frames_left[i] = max_hold_frames;
+		}
+		x->first_frame = 0;
+	} else {
+		for( i = 0; i < N+2; i += 2 ){
+			if(fabs( composite_frame[i] - channel[i] ) > move_threshold || frames_left[i] <= 0 ){
+				composite_frame[i] = channel[i];
+				composite_frame[i+1] = channel[i+1];
+				frames_left[i] = max_hold_frames;
+			} else {
+				--(frames_left[i]);
+				composite_frame[i] *= damping_factor;
+			}
+		}
+	}
+	// try memcpy here
+	for ( i = 0; i < N+2; i++ ){
+		channel[i] = composite_frame[i];
+	}
+	if(fft->obank_flag){
+		fftease_oscbank(fft);
+	} else {
+		fftease_unconvert(fft);
+		fftease_rdft(fft,FFT_INVERSE);
+		fftease_overlapadd(fft);
+	}	
+}
+
+t_int *thresher_perform(t_int *w)
+{
+	int		    i,j;
+    t_thresher *x = (t_thresher *) (w[1]);
+	t_float *MSPInputVector = (t_float *)(w[2]);
+	t_float *inthresh = (t_float *)(w[3]);
+	t_float *damping = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+
+	t_fftease *fft = x->fft;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float *input = fft->input;
+	t_float *output = fft->output;
+	t_float mult = fft->mult;
+	int MSPVectorSize = fft->MSPVectorSize;
+	t_float *internalInputVector = fft->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;		
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;  
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+
+    x->move_threshold = *inthresh;
+    x->damping_factor = *damping;
+
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+        memcpy(input + (Nw - D), MSPInputVector, D * sizeof(t_float));
+        
+		do_thresher(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw-D), MSPInputVector + (D*i), D * sizeof(t_float));
+            
+			do_thresher(x);
+			
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector + (operationCount * MSPVectorSize), MSPInputVector,MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize),MSPVectorSize * sizeof(t_float));
+		operationCount = (operationCount + 1) % operationRepeat;
+		
+		if( operationCount == 0 ) {
+            memcpy(input, input + D, (Nw - D) * sizeof(t_float));
+            memcpy(input + (Nw - D), internalInputVector, D * sizeof(t_float));
+            
+			do_thresher(x);
+			
+			for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}
+
+void thresher_dsp(t_thresher *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    if(!samplerate)
+        return;
+	t_fftease *fft = x->fft;
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+	}
+	if(fft->R != samplerate){
+		fft->R = samplerate;
+	}
+    if(reset_required){
+        thresher_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(thresher_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec);
+    }
+}
\ No newline at end of file
diff --git a/externals/fftease/unconvert.c b/externals/fftease/unconvert.c
new file mode 100644
index 000000000..2a2f774c5
--- /dev/null
+++ b/externals/fftease/unconvert.c
@@ -0,0 +1,39 @@
+#include "fftease.h"
+
+
+
+//void fftease_unconvert( t_float *C, t_float *S, int N2, t_float *lastphase, t_float fundamental, t_float factor )
+//	fftease_unconvert( channel, buffer, N2, c_lastphase_out, c_fundamental, c_factor_out  );
+
+void fftease_unconvert(t_fftease *fft)
+
+{
+	t_float *channel = fft->channel;
+	t_float *buffer = fft->buffer;
+	int N2 = fft->N2;
+	t_float *lastphase = fft->c_lastphase_out;
+	t_float fundamental = fft->c_fundamental;
+	t_float factor = fft->c_factor_out;
+	
+	int 	i, real, imag, amp, freq;
+	t_float 	mag, phase;
+
+	
+    for ( i = 0; i <= N2; i++ ) {
+		
+		imag = freq = ( real = amp = i<<1 ) + 1;
+		
+		if ( i == N2 )
+			real = 1;
+		
+		mag = channel[amp];
+		lastphase[i] += channel[freq] - i*fundamental;
+		phase = lastphase[i]*factor;
+		buffer[real] = mag*cos( phase );
+		
+		if ( i != N2 )
+			buffer[imag] = -mag*sin( phase );
+		
+    }
+	
+}
diff --git a/externals/fftease/vacancy~.c b/externals/fftease/vacancy~.c
new file mode 100644
index 000000000..c99d58154
--- /dev/null
+++ b/externals/fftease/vacancy~.c
@@ -0,0 +1,382 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *vacancy_class;
+
+#define OBJECT_NAME "vacancy~"
+
+typedef struct _vacancy
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+    int invert;
+    int useRms;
+    int swapPhase;
+	short mute;
+	t_float threshold;
+} t_vacancy;
+
+
+/* msp function prototypes */
+
+void vacancy_dsp(t_vacancy *x, t_signal **sp);
+t_int *vacancy_perform(t_int *w);
+void *vacancy_new(t_symbol *s, int argc, t_atom *argv);
+void vacancy_rms(t_vacancy *x, t_floatarg f);
+void vacancy_invert(t_vacancy *x, t_floatarg f);
+void vacancy_swapphase(t_vacancy *x, t_floatarg f);
+void vacancy_free(t_vacancy *x);
+void vacancy_mute(t_vacancy *x, t_floatarg toggle);
+void vacancy_tilde_setup(void);
+void vacancy_init(t_vacancy *x);
+
+void vacancy_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("vacancy~"), (t_newmethod)vacancy_new,
+                  (t_method)vacancy_free,sizeof(t_vacancy), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_vacancy, x_f);
+	class_addmethod(c,(t_method)vacancy_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)vacancy_mute,gensym("mute"),A_FLOAT,0);
+    
+    class_addmethod(c,(t_method)vacancy_rms,gensym("rms"), A_FLOAT, 0);
+    class_addmethod(c,(t_method)vacancy_invert,gensym("invert"), A_FLOAT, 0);
+	class_addmethod(c,(t_method)vacancy_swapphase,gensym("swapphase"), A_FLOAT, 0);
+    
+    vacancy_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void vacancy_rms(t_vacancy *x, t_floatarg f)
+{
+	x->useRms = (int) f;
+}
+
+void vacancy_invert(t_vacancy *x, t_floatarg f)
+{
+	x->invert = (int) f;
+}
+
+void vacancy_swapphase(t_vacancy *x, t_floatarg f)
+{
+	x->swapPhase = (int) f;
+}
+
+void vacancy_mute(t_vacancy *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void *vacancy_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_fftease *fft, *fft2;	
+
+	t_vacancy *x = (t_vacancy *)pd_new(vacancy_class);
+
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+	fft = x->fft;
+	fft2 = x->fft2;	
+	fft->initialized = 0;
+	fft2->initialized = 0;
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	
+	return x;
+}
+
+void vacancy_init(t_vacancy *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	short initialized = x->fft->initialized;
+
+	fftease_init(fft);
+	fftease_init(fft2);
+	
+	if(!initialized){
+		x->mute = 0;
+		x->invert = 0;
+		x->threshold = 0.01;
+		x->useRms = 1;
+		x->swapPhase = 0;
+	}
+}
+
+void vacancy_free(t_vacancy *x)
+{
+	fftease_free(x->fft);
+    fftease_free(x->fft2);
+    free(x->fft);
+    free(x->fft2);
+}
+
+void do_vacancy(t_vacancy *x)
+{
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int	
+	i,
+
+	even, odd;
+	float
+	useme,
+	rms = 0.,
+	a1, b1,
+	a2, b2;
+
+	
+	/* dereference structure  */	
+	
+	t_float *bufferOne = fft->buffer;
+	t_float *bufferTwo = fft2->buffer;
+	int N2 = fft->N2;
+	int Nw = fft->Nw;
+	t_float *channelOne = fft->channel;
+	t_float *channelTwo = fft2->channel;
+	t_float *inputOne = fft->input;
+	int invert = x->invert;
+	int useRms = x->useRms;
+	int swapPhase = x->swapPhase;
+	
+
+	
+	if (useRms) {
+		
+		rms = 0.;
+		
+		for ( i=0; i < Nw; i++ )
+			rms += *(inputOne+i) * *(inputOne+i);
+		
+		rms = sqrt( rms / Nw );
+		
+		useme = rms * x->threshold;
+	}
+	
+	else
+		useme = x->threshold;
+	
+	fftease_fold(fft);
+	fftease_fold(fft2);
+	
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_rdft(fft2,FFT_FORWARD);
+	
+
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		a1 = ( i == N2 ? *(bufferOne+1) : *(bufferOne+even) );
+		b1 = ( i == 0 || i == N2 ? 0. : *(bufferOne+odd) );
+		
+		a2 = ( i == N2 ? *(bufferTwo+1) : *(bufferTwo+even) );
+		b2 = ( i == 0 || i == N2 ? 0. : *(bufferTwo+odd) );
+		
+		*(channelOne+even) = hypot( a1, b1 );
+		*(channelOne+odd) = -atan2( b1, a1 );
+		
+		*(channelTwo+even) = hypot( a2, b2 );
+		*(channelTwo+odd) = -atan2( b2, a2 ); 
+	}
+	
+	
+
+
+	if (invert) {
+		
+		if (swapPhase) {
+			
+			for ( i=0; i < N2; i+=2 ) {
+				if ( *(channelOne+i) > useme && *(channelTwo+i) < *(channelOne+i) ) {
+					*(channelOne+i) = *(channelTwo+i);
+					*(channelOne+i+1) = *(channelTwo+i+1);
+				}
+			}
+		}
+		
+		else {
+			
+			for ( i=0; i < N2; i+=2 ) {
+				if ( *(channelOne+i) > useme && *(channelTwo+i) < *(channelOne+i) ) {
+					*(channelOne+i) = *(channelTwo+i);
+					
+					if ( *(channelOne+i+1) == 0. )
+						*(channelOne+i+1) = *(channelTwo+i+1);
+				}
+			}
+		}
+	}
+	
+	else {
+		
+		if (swapPhase) {
+			
+			for ( i=0; i < N2; i+=2 ) {
+				if ( *(channelOne+i) < useme && *(channelTwo+i) > *(channelOne+i) ) {
+					*(channelOne+i) = *(channelTwo+i);
+					*(channelOne+i+1) = *(channelTwo+i+1);
+				}
+			}
+		}
+		
+		else {
+			
+			for ( i=0; i < N2; i+=2 ) {
+				
+				if ( *(channelOne+i) < useme && *(channelTwo+i) > *(channelOne+i) ) {
+					*(channelOne+i) = *(channelTwo+i);
+					
+					if ( *(channelOne+i+1) == 0. )
+						*(channelOne+i+1) = *(channelTwo+i+1);
+				}
+			}
+		}
+	}
+	
+
+	
+	for ( i = 0; i <= N2; i++ ) {
+		
+		odd = ( even = i<<1 ) + 1;
+		
+		*(bufferOne+even) = *(channelOne+even) * cos( *(channelOne+odd) );
+		
+		if ( i != N2 )
+			*(bufferOne+odd) = -(*(channelOne+even)) * sin( *(channelOne+odd) );
+	}
+	
+
+	
+	fftease_rdft(fft,FFT_INVERSE);
+	fftease_overlapadd(fft);
+	
+}
+
+t_int *vacancy_perform(t_int *w)
+{
+	
+	int	
+	i,j;
+	
+	/* get our inlets and outlets */
+	t_vacancy *x = (t_vacancy *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *vec_threshold = (t_float *)(w[4]);
+	t_float *MSPOutputVector = (t_float *)(w[5]);
+	
+	t_fftease *fft = x->fft;	
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float  *inputTwo = fft2->input;
+	t_float  *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;		
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+6;
+	}
+
+	x->threshold = *vec_threshold;
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_vacancy(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_vacancy(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_vacancy(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+6;
+}		
+
+void vacancy_dsp(t_vacancy *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        vacancy_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(vacancy_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,sp[3]->s_vec);
+    }
+}
diff --git a/externals/fftease/xsyn~.c b/externals/fftease/xsyn~.c
new file mode 100644
index 000000000..b5b412b45
--- /dev/null
+++ b/externals/fftease/xsyn~.c
@@ -0,0 +1,233 @@
+/* Pd 32-bit FFTease 3.0 */
+
+#include "fftease.h"
+
+static t_class *xsyn_class;
+
+#define OBJECT_NAME "xsyn~"
+
+typedef struct _xsyn
+{
+    t_object x_obj;
+    t_float x_f;
+	t_fftease *fft;
+	t_fftease *fft2;
+	short mute;
+} t_xsyn;
+
+void xsyn_dsp(t_xsyn *x, t_signal **sp);
+t_int *xsyn_perform(t_int *w);
+void *xsyn_new(t_symbol *s, int argc, t_atom *argv);
+t_int *offset_perform(t_int *w);
+void xsyn_free( t_xsyn *x );
+void xsyn_init(t_xsyn *x);
+void xsyn_mute(t_xsyn *x, t_floatarg toggle);
+
+void xsyn_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("xsyn~"), (t_newmethod)xsyn_new,
+                  (t_method)xsyn_free,sizeof(t_xsyn), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_xsyn, x_f);
+	class_addmethod(c,(t_method)xsyn_dsp,gensym("dsp"),0);
+	class_addmethod(c,(t_method)xsyn_mute,gensym("mute"),A_FLOAT,0);
+    xsyn_class = c;
+    fftease_announce(OBJECT_NAME);
+}
+
+void xsyn_free( t_xsyn *x )
+{
+    
+	fftease_free(x->fft);
+    free(x->fft);
+    fftease_free(x->fft2);
+    free(x->fft2);
+}
+
+void xsyn_mute(t_xsyn *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void *xsyn_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_xsyn *x = (t_xsyn *)pd_new(xsyn_class);
+    t_fftease *fft, *fft2;
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->fft = (t_fftease *) calloc(1,sizeof(t_fftease));
+	x->fft2 = (t_fftease *) calloc(1,sizeof(t_fftease));
+    fft = x->fft;
+    fft2 = x->fft2;
+	fft->initialized = 0;
+	fft2->initialized = 0;
+    
+	fft->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft->winfac = FFTEASE_DEFAULT_WINFAC;
+	fft2->N = FFTEASE_DEFAULT_FFTSIZE;
+	fft2->overlap = FFTEASE_DEFAULT_OVERLAP;
+	fft2->winfac = FFTEASE_DEFAULT_WINFAC;
+	x->mute = 0;
+    if(argc > 0){ fft->N = (int) atom_getfloatarg(0, argc, argv); }
+    if(argc > 1){ fft->overlap = (int) atom_getfloatarg(1, argc, argv); }
+	return x;
+}
+
+void xsyn_init(t_xsyn *x)
+{
+	fftease_init(x->fft);
+	fftease_init(x->fft2);
+}
+
+void do_xsyn(t_xsyn *x)
+{
+    
+    int i;
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    t_float *channel1 = fft->channel;
+    t_float *channel2 = fft2->channel;
+    int N = fft->N;
+    t_float maxamp;
+    
+	fftease_fold(fft);
+	fftease_fold(fft2);
+    
+	fftease_rdft(fft,FFT_FORWARD);
+	fftease_rdft(fft2,FFT_FORWARD);
+    
+	fftease_leanconvert(fft);
+	fftease_leanconvert(fft2);
+	
+	maxamp = 0;
+    
+	for( i = 0; i < N; i+= 2 ) {
+		if( channel2[i] > maxamp ) {
+			maxamp = channel2[i];
+		}
+	}
+    
+	if( maxamp >  0.000001 ){
+		for( i = 0; i < N; i+= 2 ) {
+			channel1[i] *= (channel2[i] / maxamp );
+		}
+	}
+    
+	fftease_leanunconvert(fft);
+    
+	fftease_rdft(fft,FFT_INVERSE);
+    
+	fftease_overlapadd(fft);
+}
+
+t_int *xsyn_perform(t_int *w)
+{
+    int i,j;
+	t_xsyn *x = (t_xsyn *) (w[1]);
+	t_float *MSPInputVector1 = (t_float *)(w[2]);
+	t_float *MSPInputVector2 = (t_float *)(w[3]);
+	t_float *MSPOutputVector = (t_float *)(w[4]);
+	
+	t_fftease *fft = x->fft;
+	t_fftease *fft2 = x->fft2;
+	int MSPVectorSize = fft->MSPVectorSize;
+	int operationRepeat = fft->operationRepeat;
+	int operationCount = fft->operationCount;
+	t_float *internalInputVector1 = fft->internalInputVector;
+	t_float *internalInputVector2 = fft2->internalInputVector;
+	t_float *internalOutputVector = fft->internalOutputVector;
+	t_float *inputOne = fft->input;
+	t_float *inputTwo = fft2->input;
+	t_float *output = fft->output;
+	int D = fft->D;
+	int Nw = fft->Nw;
+	t_float mult = fft->mult;
+	
+	if(x->mute){
+        for(i=0; i < MSPVectorSize; i++){ MSPOutputVector[i] = 0.0; }
+		return w+5;
+	}
+    
+	if( fft->bufferStatus == EQUAL_TO_MSP_VECTOR ){
+        memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputOne + (Nw - D), MSPInputVector1, D * sizeof(t_float));
+        memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+        memcpy(inputTwo + (Nw - D), MSPInputVector2, D * sizeof(t_float));
+        
+		do_xsyn(x);
+        
+		for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+        memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+        for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+	}
+	else if( fft->bufferStatus == SMALLER_THAN_MSP_VECTOR ) {
+		for( i = 0; i < operationRepeat; i++ ){
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw-D), MSPInputVector1 + (D*i), D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw-D), MSPInputVector2 + (D*i), D * sizeof(t_float));
+            
+			do_xsyn(x);
+            
+			for ( j = 0; j < D; j++ ){ *MSPOutputVector++ = output[j] * mult; }
+            memcpy(output, output + D, (Nw-D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+	}
+	else if( fft->bufferStatus == BIGGER_THAN_MSP_VECTOR ) {
+        memcpy(internalInputVector1 + (operationCount * MSPVectorSize), MSPInputVector1, MSPVectorSize * sizeof(t_float));
+        memcpy(internalInputVector2 + (operationCount * MSPVectorSize), MSPInputVector2, MSPVectorSize * sizeof(t_float));
+        memcpy(MSPOutputVector, internalOutputVector + (operationCount * MSPVectorSize), MSPVectorSize * sizeof(t_float));
+        
+		operationCount = (operationCount + 1) % operationRepeat;
+        
+        if( operationCount == 0 ) {
+            memcpy(inputOne, inputOne + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputOne + (Nw - D), internalInputVector1, D * sizeof(t_float));
+            memcpy(inputTwo, inputTwo + D, (Nw - D) * sizeof(t_float));
+            memcpy(inputTwo + (Nw - D), internalInputVector2, D * sizeof(t_float));
+            
+            do_xsyn(x);
+            
+            for ( j = 0; j < D; j++ ){ internalOutputVector[j] = output[j] * mult; }
+            memcpy(output, output + D, (Nw - D) * sizeof(t_float));
+            for(j = (Nw-D); j < Nw; j++){ output[j] = 0.0; }
+		}
+		fft->operationCount = operationCount;
+	}
+    return w+5;
+}
+
+void xsyn_dsp(t_xsyn *x, t_signal **sp)
+{
+    int reset_required = 0;
+    int maxvectorsize = sys_getblksize();
+    int samplerate = sys_getsr();
+    
+    t_fftease *fft = x->fft;
+    t_fftease *fft2 = x->fft2;
+    
+    if(fft->R != samplerate || fft->MSPVectorSize != maxvectorsize || fft->initialized == 0){
+        reset_required = 1;
+    }
+	if(!samplerate)
+        return;
+    
+	if(fft->MSPVectorSize != maxvectorsize){
+		fft->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft);
+		fft2->MSPVectorSize = maxvectorsize;
+		fftease_set_fft_buffers(fft2);
+	}
+	if(fft->R != samplerate ){
+		fft->R = samplerate;
+        fft2->R = samplerate;
+	}
+    if(reset_required){
+        xsyn_init(x);
+    }
+    if(fftease_msp_sanity_check(fft,OBJECT_NAME)) {
+        dsp_add(xsyn_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec);
+    }
+}
diff --git a/externals/lyonpotpourri b/externals/lyonpotpourri
deleted file mode 160000
index 530895321..000000000
--- a/externals/lyonpotpourri
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 530895321c94d446577272b3f99e35b2f2076498
diff --git a/externals/lyonpotpourri/INSTALLATION.txt b/externals/lyonpotpourri/INSTALLATION.txt
new file mode 100755
index 000000000..57f862abb
--- /dev/null
+++ b/externals/lyonpotpourri/INSTALLATION.txt
@@ -0,0 +1 @@
+This distribution comes with binaries for both OSX (10.9) and Linux (Ubuntu 64-bit). To install, move folders “lyonpotpourri-externals” and “lyonpotpourri-helpfiles” to a location within your Pd search path. If the shipped externals work with your computer hardware, you are good to go. Otherwise, you will need to recompile the externals by typing “make” in a Terminal window. If on OSX, you need to have the developer tools installed in order to run Make. 
diff --git a/externals/lyonpotpourri/LICENSE.txt b/externals/lyonpotpourri/LICENSE.txt
new file mode 100755
index 000000000..5a1ec226f
--- /dev/null
+++ b/externals/lyonpotpourri/LICENSE.txt
@@ -0,0 +1,23 @@
+LyonPotpourri for Pd
+Copyright (c) 2007-2012 Eric Lyon
+
+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.
+
+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.
\ No newline at end of file
diff --git a/externals/lyonpotpourri/MSPd.h b/externals/lyonpotpourri/MSPd.h
new file mode 100755
index 000000000..ed36b9604
--- /dev/null
+++ b/externals/lyonpotpourri/MSPd.h
@@ -0,0 +1,42 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+#include <strings.h>
+#include <string.h>
+
+
+#define LYONPOTPOURRI_MSG "-<LyonPotpourri 3.0>-"
+
+#define NO_FREE_FUNCTION 0
+
+
+/* because Max and Pd have different ideas of what A_FLOAT is, use t_floatarg
+to force consistency. Otherwise functions that look good will fail on some
+hardware. Also note that Pd messages cannot accept arguments of type A_LONG. */
+
+
+#include "m_pd.h"
+// #define t_floatarg float
+#define t_double double
+
+#define atom_getsymarg atom_getsymbolarg
+
+
+#ifndef PIOVERTWO
+#define PIOVERTWO 1.5707963268
+#endif
+#ifndef TWOPI
+#define TWOPI 6.2831853072
+#endif
+#ifndef PI
+#define PI 3.14159265358979
+#endif
+
+/*** MSP helper functions **/
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av);
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av);
+
+// #define potpourri_announce(objname)  post("( %s )\t%s",objname,LYONPOTPOURRI_MSG)
+
+#define potpourri_announce(objname)  post("%s (  %s  )",LYONPOTPOURRI_MSG,objname)
\ No newline at end of file
diff --git a/externals/lyonpotpourri/Makefile b/externals/lyonpotpourri/Makefile
new file mode 100755
index 000000000..a21a8cbeb
--- /dev/null
+++ b/externals/lyonpotpourri/Makefile
@@ -0,0 +1,448 @@
+## Pd library template version 1.0.14
+# For instructions on how to use this template, see:
+#  http://puredata.info/docs/developer/MakefileTemplate
+LIBRARY_NAME = lyonpotpourri
+
+# add your .c source files, one object per file, to the SOURCES
+# variable, help files will be included automatically, and for GUI
+# objects, the matching .tcl file too
+SOURCES = adsr~.c bashfest~.c buffet~.c bvplay~.c channel~.c chopper~.c clean_selector~.c click~.c click2bang~.c click2float~.c clickhold~.c distortion~.c dmach~.c expflam~.c flanjah~.c function~.c granola~.c granulesf~.c granule~.c kbuffer~.c killdc~.c magfreq_analysis~.c markov~.c mask~.c oscil~.c phasemod~.c player~.c pulser~.c rtrig~.c samm~.c sigseq~.c vdb~.c vdp~.c waveshape~.c epluribus~.c dynss~.c counter~.c latch~.c sarec~.c convolver~.c npan~.c shoehorn~.c rotapan~.c sel~.c squash~.c windowvec~.c cartopol~.c poltocar~.c arrayfilt~.c splitspec~.c stutter~.c vecdex~.c quadpan~.c splitbank~.c click~.c
+
+# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will
+# be included automatically
+PDOBJECTS = smap.pd
+
+# example patches and related files, in the 'examples' subfolder
+EXAMPLES = BD0010.aif BT0AADA.aiff CP.aif KR55SNAR.aiff hi_c_12b.aiff hi_o_06e.aiff hi_o_15g.aiff kick_11d.aiff mar2.aif prettypad.aif soda-bd.aif trickhit.aif voice.wav
+
+# manuals and related files, in the 'manual' subfolder
+MANUAL = 
+
+# if you want to include any other files in the source and binary tarballs,
+# list them here.  This can be anything from header files, test patches,
+# documentation, etc.  README.txt and LICENSE.txt are required and therefore
+# automatically included
+EXTRA_DIST = MSPd.h PenroseOscil.h PenroseRand.h bashfest.h fftease.h ugens.h
+
+# unit tests and related files here, in the 'unittests' subfolder
+UNITTESTS = 
+
+
+SHARED_SOURCE = bashfest_dsp.c bashfest_helper.c ellipse.c PenroseOscil.c PenroseRand.c bloscbank.c convert.c fft.c fft4.c fftease_setup.c fold.c leanconvert.c leanunconvert.c makewindows.c overlapadd.c power_of_two.c qsortE.c unconvert.c from_msp.c
+SHARED_LIB = lib$(LIBRARY_NAME).$(SHARED_EXTENSION)
+
+#------------------------------------------------------------------------------#
+#
+# things you might need to edit if you are using other C libraries
+#
+#------------------------------------------------------------------------------#
+
+ALL_CFLAGS = -I"$(PD_INCLUDE)"
+ALL_LDFLAGS =  
+SHARED_LDFLAGS =
+ALL_LIBS = 
+
+
+#------------------------------------------------------------------------------#
+#
+# you shouldn't need to edit anything below here, if we did it right :)
+#
+#------------------------------------------------------------------------------#
+
+# these can be set from outside without (usually) breaking the build
+#CFLAGS = -Wall -W -g
+# Skip irritating warnings:
+CFLAGS = -w -g
+LDFLAGS =
+LIBS =
+
+# get library version from meta file
+LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd)
+
+ALL_CFLAGS += -DPD -DVERSION='"$(LIBRARY_VERSION)"'
+
+PD_INCLUDE = $(PD_PATH)/include/pd
+# where to install the library, overridden below depending on platform
+prefix = /usr/local
+libdir = $(prefix)/lib
+pkglibdir = $(libdir)/pd-externals
+objectsdir = $(pkglibdir)
+
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL) -p -m 644
+INSTALL_DATA = $(INSTALL) -p -m 644
+INSTALL_DIR     = $(INSTALL) -p -m 755 -d
+
+ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \
+	         $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows)
+
+DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION)
+ORIGDIR=pd-$(LIBRARY_NAME:~=)_$(LIBRARY_VERSION)
+
+UNAME := $(shell uname -s)
+ifeq ($(UNAME),Darwin)
+  CPU := $(shell uname -p)
+  ifeq ($(CPU),arm) # iPhone/iPod Touch
+    SOURCES += $(SOURCES_iphoneos)
+    EXTENSION = pd_darwin
+    SHARED_EXTENSION = dylib
+    OS = iphoneos
+    PD_PATH = /Applications/Pd-0.47-1.app/Contents/Resources
+    IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
+    CC=$(IPHONE_BASE)/gcc
+    CPP=$(IPHONE_BASE)/cpp
+    CXX=$(IPHONE_BASE)/g++
+    ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk
+    IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6
+    OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer
+    ALL_CFLAGS := $(IPHONE_CFLAGS) $(ALL_CFLAGS)
+    ALL_LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT)
+    SHARED_LDFLAGS += -arch armv6 -dynamiclib -undefined dynamic_lookup $(ISYSROOT)
+    ALL_LIBS += -lc $(LIBS_iphoneos)
+    STRIP = strip -x
+    DISTBINDIR=$(DISTDIR)-$(OS)
+  else # Mac OS X
+    SOURCES += $(SOURCES_macosx)
+    EXTENSION = pd_darwin
+    SHARED_EXTENSION = dylib
+    OS = macosx
+    PD_PATH = 
+    OPT_CFLAGS = -ftree-vectorize 
+# build universal 32-bit on 10.4 and 32/64 on newer
+    ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8)
+      FAT_FLAGS = -arch ppc -arch i386 -mmacosx-version-min=10.4
+    else
+      SOURCES += $(SOURCES_iphoneos)
+# Starting with Xcode 4.0, the PowerPC compiler is not installed by default
+      ifeq ($(wildcard /usr/llvm-gcc-4.2/libexec/gcc/powerpc*), )
+        FAT_FLAGS = -arch i386 -arch x86_64 -mmacosx-version-min=10.5
+      else
+        FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4
+      endif
+    endif
+    ALL_CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include
+    # if the 'pd' binary exists, check the linking against it to aid with stripping
+    BUNDLE_LOADER = $(shell test ! -e $(PD_PATH)/bin/pd || echo -bundle_loader $(PD_PATH)/bin/pd)
+    ALL_LDFLAGS += $(FAT_FLAGS) -headerpad_max_install_names -bundle $(BUNDLE_LOADER) \
+	-undefined dynamic_lookup 
+    SHARED_LDFLAGS += $(FAT_FLAGS) -dynamiclib -undefined dynamic_lookup \
+	-install_name @loader_path/$(SHARED_LIB) -compatibility_version 1 -current_version 1.0
+    ALL_LIBS += -lc $(LIBS_macosx)
+    STRIP = strip -x
+    DISTBINDIR=$(DISTDIR)-$(OS)
+# install into ~/Library/Pd on Mac OS X since /usr/local isn't used much
+    pkglibdir=$(HOME)/Library/Pd
+  endif
+endif
+# Tho Android uses Linux, we use this fake uname to provide an easy way to
+# setup all this things needed to cross-compile for Android using the NDK
+ifeq ($(UNAME),ANDROID)
+  CPU := arm
+  SOURCES += $(SOURCES_android)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = android
+  PD_PATH = /usr
+  NDK_BASE := /usr/local/android-ndk
+  NDK_PLATFORM_VERSION := 5
+  NDK_SYSROOT=$(NDK_BASE)/platforms/android-$(NDK_PLATFORM_VERSION)/arch-arm
+  NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
+  NDK_TOOLCHAIN_BASE=$(NDK_BASE)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(NDK_UNAME)-x86
+  CC := $(NDK_TOOLCHAIN_BASE)/bin/arm-linux-androideabi-gcc --sysroot=$(NDK_SYSROOT)
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  CFLAGS += 
+  LDFLAGS += -rdynamic -shared
+  SHARED_LDFLAGS += -Wl,-soname,$(SHARED_LIB) -shared
+  LIBS += -lc $(LIBS_android)
+  STRIP := $(NDK_TOOLCHAIN_BASE)/bin/arm-linux-androideabi-strip \
+	--strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),Linux)
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -Wl,-soname,$(SHARED_LIB) -shared
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),GNU)
+  # GNU/Hurd, should work like GNU/Linux for basically all externals
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq ($(UNAME),GNU/kFreeBSD)
+  # Debian GNU/kFreeBSD, should work like GNU/Linux for basically all externals
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_linux)
+  EXTENSION = pd_linux
+  SHARED_EXTENSION = so
+  OS = linux
+  PD_PATH = /usr
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -fPIC
+  ALL_LDFLAGS += -rdynamic -shared -fPIC -Wl,-rpath,"\$$ORIGIN",--enable-new-dtags
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc $(LIBS_linux)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
+endif
+ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_cygwin)
+  EXTENSION = dll
+  SHARED_EXTENSION = dll
+  OS = cygwin
+  PD_PATH = $(shell cygpath $$PROGRAMFILES)/pd
+  OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += 
+  ALL_LDFLAGS += -rdynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin"
+  SHARED_LDFLAGS += -shared -Wl,-soname,$(SHARED_LIB)
+  ALL_LIBS += -lc -lpd $(LIBS_cygwin)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)
+endif
+ifeq (MINGW,$(findstring MINGW,$(UNAME)))
+  CPU := $(shell uname -m)
+  SOURCES += $(SOURCES_windows)
+  EXTENSION = dll
+  SHARED_EXTENSION = dll
+  OS = windows
+  PD_PATH = $(shell cd "$$PROGRAMFILES/pd" && pwd)
+  # MinGW doesn't seem to include cc so force gcc
+  CC=gcc
+  OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
+  ALL_CFLAGS += -mms-bitfields
+  ALL_LDFLAGS += -s -shared -Wl,--enable-auto-import
+  SHARED_LDFLAGS += -shared
+  ALL_LIBS += -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" -L"$(PD_PATH)/obj" \
+	-lpd -lwsock32 -lkernel32 -luser32 -lgdi32 $(LIBS_windows)
+  STRIP = strip --strip-unneeded -R .note -R .comment
+  DISTBINDIR=$(DISTDIR)-$(OS)
+endif
+
+# in case somebody manually set the HELPPATCHES above
+HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.pd=-help.pd)
+
+ALL_CFLAGS := $(ALL_CFLAGS) $(CFLAGS) $(OPT_CFLAGS)
+ALL_LDFLAGS := $(LDFLAGS) $(ALL_LDFLAGS)
+ALL_LIBS := $(LIBS) $(ALL_LIBS)
+
+SHARED_SOURCE ?= $(wildcard lib$(LIBRARY_NAME).c)
+SHARED_HEADER ?= $(shell test ! -e $(LIBRARY_NAME).h || echo $(LIBRARY_NAME).h)
+SHARED_LIB ?= $(SHARED_SOURCE:.c=.$(SHARED_EXTENSION))
+SHARED_TCL_LIB = $(wildcard lib$(LIBRARY_NAME).tcl)
+
+.PHONY = install libdir_install single_install install-doc install-examples install-manual install-unittests clean distclean dist etags $(LIBRARY_NAME)
+
+all: $(SOURCES:.c=.$(EXTENSION)) $(SHARED_LIB)
+
+%.o: %.c
+	$(CC) $(ALL_CFLAGS) -o "$*.o" -c "$*.c"
+
+%.$(EXTENSION): %.o $(SHARED_LIB)
+	$(CC) $(ALL_LDFLAGS) -o "$*.$(EXTENSION)" "$*.o"  $(ALL_LIBS) $(SHARED_LIB)
+	chmod a-x "$*.$(EXTENSION)"
+
+# this links everything into a single binary file
+$(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBRARY_NAME).o lib$(LIBRARY_NAME).o
+	$(CC) $(ALL_LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) \
+		$(LIBRARY_NAME).o lib$(LIBRARY_NAME).o $(ALL_LIBS)
+	chmod a-x $(LIBRARY_NAME).$(EXTENSION)
+
+$(SHARED_LIB): $(SHARED_SOURCE:.c=.o)
+	$(CC) $(SHARED_LDFLAGS) -o $(SHARED_LIB) $(SHARED_SOURCE:.c=.o) $(ALL_LIBS)
+
+install: libdir_install
+
+# The meta and help files are explicitly installed to make sure they are
+# actually there.  Those files are not optional, then need to be there.
+libdir_install: $(SOURCES:.c=.$(EXTENSION)) $(SHARED_LIB) install-doc install-examples install-manual install-unittests
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd \
+		$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SOURCES))" || (\
+		$(INSTALL_PROGRAM) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \
+		$(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION))))
+	test -z "$(strip $(SHARED_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_LIB) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(wildcard $(SOURCES:.c=.tcl)))" || \
+		$(INSTALL_DATA) $(wildcard $(SOURCES:.c=.tcl)) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(PDOBJECTS) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SHARED_TCL_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_TCL_LIB) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+
+# install library linked as single binary
+single_install: $(LIBRARY_NAME) install-doc install-examples install-manual install-unittests
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_PROGRAM) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(STRIP) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/$(LIBRARY_NAME).$(EXTENSION)
+
+install-doc:
+	$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	test -z "$(strip $(SOURCES) $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(HELPPATCHES) \
+			$(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)
+	$(INSTALL_DATA) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt
+	$(INSTALL_DATA) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt
+
+install-examples:
+	test -z "$(strip $(EXAMPLES))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \
+		for file in $(EXAMPLES); do \
+			$(INSTALL_DATA) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \
+		done
+
+install-manual:
+	test -z "$(strip $(MANUAL))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual && \
+		for file in $(MANUAL); do \
+			$(INSTALL_DATA) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \
+		done
+
+install-unittests:
+	test -z "$(strip $(UNITTESTS))" || \
+		$(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/unittests && \
+		for file in $(UNITTESTS); do \
+			$(INSTALL_DATA) unittests/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/unittests; \
+		done
+
+clean:
+	-rm -f -- $(SOURCES:.c=.o) $(SOURCES_LIB:.c=.o) $(SHARED_SOURCE:.c=.o)
+	-rm -f -- $(SOURCES:.c=.$(EXTENSION))
+	-rm -f -- $(LIBRARY_NAME).o
+	-rm -f -- $(LIBRARY_NAME).$(EXTENSION)
+	-rm -f -- $(SHARED_LIB)
+
+distclean: clean
+	-rm -f -- $(DISTBINDIR).tar.gz
+	-rm -rf -- $(DISTBINDIR)
+	-rm -f -- $(DISTDIR).tar.gz
+	-rm -rf -- $(DISTDIR)
+	-rm -f -- $(ORIGDIR).tar.gz
+	-rm -rf -- $(ORIGDIR)
+
+
+$(DISTBINDIR):
+	$(INSTALL_DIR) $(DISTBINDIR)
+
+libdir: all $(DISTBINDIR)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTBINDIR)
+	$(INSTALL_DATA) $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER) $(DISTBINDIR)
+	$(INSTALL_DATA) $(HELPPATCHES) $(DISTBINDIR)
+	test -z "$(strip $(EXTRA_DIST))" || \
+		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTBINDIR)
+#	tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR)
+
+$(DISTDIR):
+	$(INSTALL_DIR) $(DISTDIR)
+
+$(ORIGDIR):
+	$(INSTALL_DIR) $(ORIGDIR)
+
+dist: $(DISTDIR)
+	$(INSTALL_DATA) Makefile  $(DISTDIR)
+	$(INSTALL_DATA) README.txt $(DISTDIR)
+	$(INSTALL_DATA) LICENSE.txt $(DISTDIR)
+	$(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd  $(DISTDIR)
+	test -z "$(strip $(ALLSOURCES))" || \
+		$(INSTALL_DATA) $(ALLSOURCES)  $(DISTDIR)
+	test -z "$(strip $(wildcard $(ALLSOURCES:.c=.tcl)))" || \
+		$(INSTALL_DATA) $(wildcard $(ALLSOURCES:.c=.tcl))  $(DISTDIR)
+	test -z "$(strip $(wildcard $(LIBRARY_NAME).c))" || \
+		$(INSTALL_DATA) $(LIBRARY_NAME).c  $(DISTDIR)
+	test -z "$(strip $(SHARED_HEADER))" || \
+		$(INSTALL_DATA) $(SHARED_HEADER)  $(DISTDIR)
+	test -z "$(strip $(SHARED_SOURCE))" || \
+		$(INSTALL_DATA) $(SHARED_SOURCE)  $(DISTDIR)
+	test -z "$(strip $(SHARED_TCL_LIB))" || \
+		$(INSTALL_DATA) $(SHARED_TCL_LIB)  $(DISTDIR)
+	test -z "$(strip $(PDOBJECTS))" || \
+		$(INSTALL_DATA) $(PDOBJECTS)  $(DISTDIR)
+	test -z "$(strip $(HELPPATCHES))" || \
+		$(INSTALL_DATA) $(HELPPATCHES) $(DISTDIR)
+	test -z "$(strip $(EXTRA_DIST))" || \
+		$(INSTALL_DATA) $(EXTRA_DIST)    $(DISTDIR)
+	test -z "$(strip $(EXAMPLES))" || \
+		$(INSTALL_DIR) $(DISTDIR)/examples && \
+		for file in $(EXAMPLES); do \
+			$(INSTALL_DATA) examples/$$file $(DISTDIR)/examples; \
+		done
+	test -z "$(strip $(MANUAL))" || \
+		$(INSTALL_DIR) $(DISTDIR)/manual && \
+		for file in $(MANUAL); do \
+			$(INSTALL_DATA) manual/$$file $(DISTDIR)/manual; \
+		done
+	test -z "$(strip $(UNITTESTS))" || \
+		$(INSTALL_DIR) $(DISTDIR)/unittests && \
+		for file in $(UNITTESTS); do \
+			$(INSTALL_DATA) unittests/$$file $(DISTDIR)/unittests; \
+		done
+	tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR)
+
+# make a Debian source package
+dpkg-source:
+	debclean
+	make distclean dist
+	mv $(DISTDIR) $(ORIGDIR)
+	tar --exclude-vcs -czpf ../$(ORIGDIR).orig.tar.gz $(ORIGDIR)
+	rm -f -- $(DISTDIR).tar.gz
+	rm -rf -- $(DISTDIR) $(ORIGDIR)
+	cd .. && dpkg-source -b $(LIBRARY_NAME)
+
+etags: TAGS
+
+TAGS: $(wildcard $(PD_INCLUDE)/*.h) $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER)
+	etags $(wildcard $(PD_INCLUDE)/*.h)
+	etags -a *.h $(SOURCES) $(SHARED_SOURCE) $(SHARED_HEADER)
+	etags -a --language=none --regex="/proc[ \t]+\([^ \t]+\)/\1/" *.tcl
+
+showsetup:
+	@echo "CC: $(CC)"
+	@echo "CFLAGS: $(CFLAGS)"
+	@echo "LDFLAGS: $(LDFLAGS)"
+	@echo "LIBS: $(LIBS)"
+	@echo "ALL_CFLAGS: $(ALL_CFLAGS)"
+	@echo "ALL_LDFLAGS: $(ALL_LDFLAGS)"
+	@echo "ALL_LIBS: $(ALL_LIBS)"
+	@echo "PD_INCLUDE: $(PD_INCLUDE)"
+	@echo "PD_PATH: $(PD_PATH)"
+	@echo "objectsdir: $(objectsdir)"
+	@echo "LIBRARY_NAME: $(LIBRARY_NAME)"
+	@echo "LIBRARY_VERSION: $(LIBRARY_VERSION)"
+	@echo "SOURCES: $(SOURCES)"
+	@echo "SHARED_HEADER: $(SHARED_HEADER)"
+	@echo "SHARED_SOURCE: $(SHARED_SOURCE)"
+	@echo "SHARED_LIB: $(SHARED_LIB)"
+	@echo "SHARED_TCL_LIB: $(SHARED_TCL_LIB)"
+	@echo "PDOBJECTS: $(PDOBJECTS)"
+	@echo "ALLSOURCES: $(ALLSOURCES)"
+	@echo "ALLSOURCES TCL: $(wildcard $(ALLSOURCES:.c=.tcl))"
+	@echo "UNAME: $(UNAME)"
+	@echo "CPU: $(CPU)"
+	@echo "pkglibdir: $(pkglibdir)"
+	@echo "DISTDIR: $(DISTDIR)"
+	@echo "ORIGDIR: $(ORIGDIR)"
diff --git a/externals/lyonpotpourri/PenroseOscil.c b/externals/lyonpotpourri/PenroseOscil.c
new file mode 100755
index 000000000..78cd7b684
--- /dev/null
+++ b/externals/lyonpotpourri/PenroseOscil.c
@@ -0,0 +1,40 @@
+#include <math.h>
+#include "PenroseOscil.h"
+
+
+float frequencyToIncrement( float samplingRate, float frequency, int bufferLength ) {
+
+  return (frequency / samplingRate) * (float) bufferLength;
+} 
+
+void makeSineBuffer( float *buffer, int bufferLength ) {
+  
+  int   i;
+
+  float myTwoPi = 8. * atan(1.);
+
+  for ( i=0; i <= bufferLength; i++ )
+    *(buffer+i) = sin( myTwoPi * ((float) i / (float) bufferLength) );
+
+  return;
+}
+
+
+float bufferOscil( float *phase, float increment, float *buffer,
+                   int bufferLength )
+{
+
+  float sample;
+
+  while ( *phase > bufferLength )
+    *phase -= bufferLength;
+
+  while ( *phase < 0. )
+    *phase += bufferLength;
+
+  sample = *( buffer + (int) (*phase) );
+
+  *phase += increment;
+
+  return sample;
+}
diff --git a/externals/lyonpotpourri/PenroseOscil.h b/externals/lyonpotpourri/PenroseOscil.h
new file mode 100755
index 000000000..a47414d21
--- /dev/null
+++ b/externals/lyonpotpourri/PenroseOscil.h
@@ -0,0 +1,8 @@
+
+float frequencyToIncrement( float samplingRate, float frequency,
+			    int bufferLength );
+
+void makeSineBuffer( float *buffer, int bufferLength );
+
+float bufferOscil( float *phase, float increment, float *buffer,
+                   int bufferLength );
diff --git a/externals/lyonpotpourri/PenroseRand.c b/externals/lyonpotpourri/PenroseRand.c
new file mode 100755
index 000000000..98f396e6d
--- /dev/null
+++ b/externals/lyonpotpourri/PenroseRand.c
@@ -0,0 +1,13 @@
+#include "PenroseRand.h"
+
+float rrand(int *seed)
+{
+    int i = ((*seed = *seed * 1103515245 + 12345)>>16) & 077777;
+    return((float)i/16384. - 1.);
+}
+
+float prand(int *seed)
+{
+    int i = ((*seed = *seed * 1103515245 + 12345)>>16) & 077777;
+    return((float)i/32768.);
+}
diff --git a/externals/lyonpotpourri/PenroseRand.h b/externals/lyonpotpourri/PenroseRand.h
new file mode 100755
index 000000000..fb06588a6
--- /dev/null
+++ b/externals/lyonpotpourri/PenroseRand.h
@@ -0,0 +1,3 @@
+
+float rrand(int *seed);
+float prand(int *seed);
diff --git a/externals/lyonpotpourri/README.md b/externals/lyonpotpourri/README.md
new file mode 100755
index 000000000..7f2e92fbe
--- /dev/null
+++ b/externals/lyonpotpourri/README.md
@@ -0,0 +1,72 @@
+Welcome to LyonPotpourri, version 3.0 (64-bit version).
+
+http://disis.music.vt.edu/eric/LyonSoftware/Pd/LyonPotpourri/
+
+LyonPotpourri is a collection of externals developed for the creation and performance of computer music. The externals were originally developed for Max/MSP, and then extended into hybrid code that could compile for both Max/MSP and Pd. As of version 3.0, the code bases of Max/MSP and Pd have diverged to such an extent that I decided to split the LyonPotpourri code into separate Pd and Max/MSP versions. 
+
+The Pd platform tends toward minimalism. Therefore, it is particularly advantageous for Pd users to become adept at designing their own externals. It is hoped that in addition to the utility of specific externals in this collection, the source code will be helpful for computer musicians who wish to learn how to write their own externals. For further guidance on that subject, please see my book “Designing Audio Objects for Max/MSP and Pd.”
+
+LyonPotpourri 3.0 is Copyright Eric Lyon, 2007-2013, and is covered under the MIT license. Please see the accompanying License file for details. 
+
+
+Object Listing:
+
+- adsr~ a simple ADSR envelope that can be click triggered
+- arrayfilt~ fft-based filtering by drawing into an array
+- bashfest~ a click driven buffer player with randomized DSP
+- buffet~ provides operations on a stored buffer
+- bvplay~ selective playback from a stored buffer with enveloping and increment control
+- cartopol~ convert a spectral frame from cartesian to polar form
+- channel~ access to a precise address in the signal vector
+- chopper~ munging loop playback from a buffer
+- clean_selector~ like selector~ but crossfades when switching channels
+- click~ converts a bang to a click
+- click2float~ translates a signal click to a float message
+- clickhold~ sample and hold a click
+- convolver~ non-real-time convolution with impulses of arbitrary size
+- distortion~ lookup function distortion
+- dmach~ pattern based sample accurate drum machine prototype
+- expflam~ converts a click to an exponential flam click pattern
+- flanjah~ simple flanger
+- function~ write various functions into an array
+- granola~ granular pitch scaling
+- granulesf~ granular synthesis module reading from a soundfile in a buffer
+- granule~ granular synthesis module reading from a stored waveform in a buffer
+- kbuffer~ low sampling rate buffer to capture gestures
+- killdc~ DC block filter
+- latch~ sustain an incoming click with sample-accurate timing
+- magfreq_analysis~ transforms a time domain signal to a magnitude/frequency spectrum
+- markov~ implements a first order Markov chain
+- mask~ a click driven pattern sequencer
+- npan~ power-panning to an arbitrary number of output channels
+- oscil~ oscillator with flexible waveform specification
+- phasemod~ phase modulated waveform
+- player~ click driven buffer player that can sustain multiple iterations
+- poltocar~ convert spectral frame from polar to complex representation
+- pulser~ pulse wave generated by additive synthesis
+- quadpan~ pan an incoming sound within a quadraphonic plane
+- rotapan~ rotate an array of input channels to the same number of output channels
+- rtrig~ generates random click triggers
+- samm~ sample accurate multiple metronomes, with click signal articulation
+- sarec~ sample accurate recording
+- sel~ sample-accurate implementation of the sel algorithm  
+- shoehorn~ collapse from a larger number to a smaller number of audio channels
+- sigseq~ signal level numerical sequencer
+- splitbank~ - split an incoming sound into complementary, independently tunable spectra
+- splitspec~ split an incoming sound into complementary spectra
+- squash~ implementation of a compression algorithm by Chris Penrose
+- stutter~ stuttering playback from an array
+- vdb~ a delay line using an array for storage (no vector limit on feedback delaytime)
+- vdp~ a simple, self-contained delay unit
+- vecdex~ outputs the sample index within the current signal vector 
+- waveshape~ a Chebychev function lookup waveshaper
+- windowvec~ apply a Hann window to the input signal vector
+
+Best wishes for the success of your creative projects and explorations!
+
+Eric Lyon
+ericlyon@vt.edu
+Department of Music
+Institute for Creativity, Arts, and Technology
+Virginia Tech
+# lyonpotpourri3.0
diff --git a/externals/lyonpotpourri/README.txt b/externals/lyonpotpourri/README.txt
new file mode 100755
index 000000000..288861393
--- /dev/null
+++ b/externals/lyonpotpourri/README.txt
@@ -0,0 +1,71 @@
+Welcome to LyonPotpourri, version 3.0 (64-bit version).
+
+http://disis.music.vt.edu/eric/LyonSoftware/Pd/LyonPotpourri/
+
+LyonPotpourri is a collection of externals developed for the creation and performance of computer music. The externals were originally developed for Max/MSP, and then extended into hybrid code that could compile for both Max/MSP and Pd. As of version 3.0, the code bases of Max/MSP and Pd have diverged to such an extent that I decided to split the LyonPotpourri code into separate Pd and Max/MSP versions. 
+
+The Pd platform tends toward minimalism. Therefore, it is particularly advantageous for Pd users to become adept at designing their own externals. It is hoped that in addition to the utility of specific externals in this collection, the source code will be helpful for computer musicians who wish to learn how to write their own externals. For further guidance on that subject, please see my book “Designing Audio Objects for Max/MSP and Pd.”
+
+LyonPotpourri 3.0 is Copyright Eric Lyon, 2007-2013, and is covered under the MIT license. Please see the accompanying License file for details. 
+
+
+Object Listing:
+
+- adsr~ a simple ADSR envelope that can be click triggered
+- arrayfilt~ fft-based filtering by drawing into an array
+- bashfest~ a click driven buffer player with randomized DSP
+- buffet~ provides operations on a stored buffer
+- bvplay~ selective playback from a stored buffer with enveloping and increment control
+- cartopol~ convert a spectral frame from cartesian to polar form
+- channel~ access to a precise address in the signal vector
+- chopper~ munging loop playback from a buffer
+- clean_selector~ like selector~ but crossfades when switching channels
+- click~ converts a bang to a click
+- click2float~ translates a signal click to a float message
+- clickhold~ sample and hold a click
+- convolver~ non-real-time convolution with impulses of arbitrary size
+- distortion~ lookup function distortion
+- dmach~ pattern based sample accurate drum machine prototype
+- expflam~ converts a click to an exponential flam click pattern
+- flanjah~ simple flanger
+- function~ write various functions into an array
+- granola~ granular pitch scaling
+- granulesf~ granular synthesis module reading from a soundfile in a buffer
+- granule~ granular synthesis module reading from a stored waveform in a buffer
+- kbuffer~ low sampling rate buffer to capture gestures
+- killdc~ DC block filter
+- latch~ sustain an incoming click with sample-accurate timing
+- magfreq_analysis~ transforms a time domain signal to a magnitude/frequency spectrum
+- markov~ implements a first order Markov chain
+- mask~ a click driven pattern sequencer
+- npan~ power-panning to an arbitrary number of output channels
+- oscil~ oscillator with flexible waveform specification
+- phasemod~ phase modulated waveform
+- player~ click driven buffer player that can sustain multiple iterations
+- poltocar~ convert spectral frame from polar to complex representation
+- pulser~ pulse wave generated by additive synthesis
+- quadpan~ pan an incoming sound within a quadraphonic plane
+- rotapan~ rotate an array of input channels to the same number of output channels
+- rtrig~ generates random click triggers
+- samm~ sample accurate multiple metronomes, with click signal articulation
+- sarec~ sample accurate recording
+- sel~ sample-accurate implementation of the sel algorithm  
+- shoehorn~ collapse from a larger number to a smaller number of audio channels
+- sigseq~ signal level numerical sequencer
+- splitbank~ - split an incoming sound into complementary, independently tunable spectra
+- splitspec~ split an incoming sound into complementary spectra
+- squash~ implementation of a compression algorithm by Chris Penrose
+- stutter~ stuttering playback from an array
+- vdb~ a delay line using an array for storage (no vector limit on feedback delaytime)
+- vdp~ a simple, self-contained delay unit
+- vecdex~ outputs the sample index within the current signal vector 
+- waveshape~ a Chebychev function lookup waveshaper
+- windowvec~ apply a Hann window to the input signal vector
+
+Best wishes for the success of your creative projects and explorations!
+
+Eric Lyon
+ericlyon@vt.edu
+Department of Music
+Institute for Creativity, Arts, and Technology
+Virginia Tech
diff --git a/externals/lyonpotpourri/Updates.txt b/externals/lyonpotpourri/Updates.txt
new file mode 100755
index 000000000..291cb7a41
--- /dev/null
+++ b/externals/lyonpotpourri/Updates.txt
@@ -0,0 +1,4 @@
+Updates to LyonPotpourri 3.0
+
+12.22.2013
+Nothing yet!
\ No newline at end of file
diff --git a/externals/lyonpotpourri/adsr~-help.pd b/externals/lyonpotpourri/adsr~-help.pd
new file mode 100755
index 000000000..0ca845b3e
--- /dev/null
+++ b/externals/lyonpotpourri/adsr~-help.pd
@@ -0,0 +1,73 @@
+#N canvas 487 392 455 385 10;
+#X obj 115 233 adsr~;
+#X msg 115 94 bang;
+#X obj 35 187 osc~ 400;
+#X obj 97 274 *~;
+#X obj 97 304 *~ 0.1;
+#X obj 97 335 dac~;
+#X msg 175 112 10 50 50 50;
+#X text 254 115 adsr data as list;
+#X msg 182 137 100 50 100 500;
+#X obj 175 90 loadbang;
+#N canvas 0 22 673 325 individual-adsr-elements 0;
+#X obj 62 244 outlet;
+#X msg 62 158 set_a \$1;
+#X msg 135 159 set_d \$1;
+#X msg 210 158 set_s \$1;
+#X msg 283 159 set_r \$1;
+#X msg 353 159 set_gain1 \$1;
+#X msg 451 160 set_gain2 \$1;
+#X obj 353 110 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 2900 1;
+#X obj 451 109 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 2030 1;
+#X obj 62 106 vsl 15 30 1 100 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 1435 1;
+#X obj 135 110 vsl 15 30 10 100 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 1289 1;
+#X obj 210 107 vsl 15 30 50 500 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 967 1;
+#X obj 283 109 vsl 15 30 50 1000 0 0 empty empty empty 0 -8 0 8 -242048
+-1 -1 458 1;
+#X msg 62 40 50 50 200 200 1 0.7;
+#X obj 62 64 unpack f f f f f f;
+#X obj 62 16 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 1 0;
+#X connect 10 0 2 0;
+#X connect 11 0 3 0;
+#X connect 12 0 4 0;
+#X connect 13 0 14 0;
+#X connect 14 0 9 0;
+#X connect 14 1 10 0;
+#X connect 14 2 11 0;
+#X connect 14 3 12 0;
+#X connect 14 4 7 0;
+#X connect 14 5 8 0;
+#X connect 15 0 13 0;
+#X restore 194 163 pd individual-adsr-elements;
+#X obj 205 200 samm~ 40 1;
+#X text 30 39 adsr~ - An ADSR envelope triggered by signal clicks or
+bangs;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 111 74 trigger ADSR;
+#X text 273 197 slow click metronome;
+#X connect 0 0 3 1;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 0 5 1;
+#X connect 6 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 6 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
diff --git a/externals/lyonpotpourri/adsr~.c b/externals/lyonpotpourri/adsr~.c
new file mode 100755
index 000000000..467187dd9
--- /dev/null
+++ b/externals/lyonpotpourri/adsr~.c
@@ -0,0 +1,334 @@
+#include "MSPd.h"
+/* internal metronome now redundant so disabled */
+// LyonPotpourri 3.0 - Max references removed
+
+
+static t_class *adsr_class;
+
+#define OBJECT_NAME "adsr~"
+
+typedef struct _adsr
+{
+	t_object x_obj;
+	float x_f;
+	// Variables Here
+	float a;
+	float d;
+	float s;
+	float r;
+	int ebreak1;
+	int ebreak2;
+	int ebreak3;
+	int asamps;
+	int dsamps;
+	int ssamps;
+	int rsamps;
+	int asamps_last;
+	int dsamps_last;
+	int ssamps_last;
+	int rsamps_last;
+	float tempo;
+	float egain1;
+	float egain2;
+	int tempomode;
+	int beat_subdiv;
+	int tsamps;
+	int counter;
+	float srate;
+	short manual_override;
+	float click_gain; // input click sets volume too
+	short mute;
+} t_adsr;
+
+static void *adsr_new(t_symbol *s, int argc, t_atom *argv);
+
+t_int *adsr_perform(t_int *w);
+void adsr_dsp(t_adsr *x, t_signal **sp);
+void adsr_assist(t_adsr *x, void *b, long m, long a, char *s);
+void adsr_bang(t_adsr *x);
+void adsr_manual_override(t_adsr *x, t_floatarg toggle);
+void adsr_list (t_adsr *x, t_atom *msg, short argc, t_atom *argv);
+void adsr_tempomode(t_adsr *x, t_atom *msg, short argc, t_atom *argv);
+void adsr_set_a(t_adsr *x, t_floatarg f);
+void adsr_set_d(t_adsr *x, t_floatarg f);
+void adsr_set_s(t_adsr *x, t_floatarg f);
+void adsr_set_r(t_adsr *x, t_floatarg f);
+void adsr_set_gain1(t_adsr *x, t_floatarg f);
+void adsr_set_gain2(t_adsr *x, t_floatarg f);
+void set_tempo(t_adsr *x, t_floatarg f);
+void adsr_mute(t_adsr *x, t_floatarg f);
+
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av);
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av);
+
+void adsr_tilde_setup(void){
+	adsr_class = class_new(gensym("adsr~"), (t_newmethod)adsr_new, 
+						   0,sizeof(t_adsr), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(adsr_class, t_adsr, x_f);
+	class_addmethod(adsr_class,(t_method)adsr_dsp,gensym("dsp"),0);
+	class_addmethod(adsr_class,(t_method)adsr_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_list,gensym("list"),A_GIMME,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_a,gensym("set_a"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_d,gensym("set_d"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_s,gensym("set_s"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_r,gensym("set_r"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_gain1,gensym("set_gain1"),A_FLOAT,0);
+	class_addmethod(adsr_class,(t_method)adsr_set_gain2,gensym("set_gain2"),A_FLOAT,0);
+	class_addbang(adsr_class,(t_method)adsr_bang);
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+void adsr_mute(t_adsr *x, t_floatarg f)
+{
+    x->mute = (short)f;
+}
+
+void adsr_set_gain1(t_adsr *x, t_floatarg f)
+{
+	x->egain1 = f;
+	return;
+}
+
+void adsr_set_gain2(t_adsr *x, t_floatarg f)
+{
+	x->egain2 = f;
+	return;
+}
+void adsr_bang(t_adsr *x) {
+	x->counter = 0;
+	return;
+}
+void adsr_set_a(t_adsr *x, t_floatarg f)
+{
+	
+	f /= 1000.0;
+	
+	x->a = f;
+	x->asamps = x->a * x->srate;
+	
+	if( x->tempomode) {
+		x->rsamps = x->tsamps - (x->asamps+x->dsamps+x->ssamps);	
+		if( x->rsamps < 0 ) {
+			x->rsamps = 0;
+		}
+	} else {	
+		x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+	}
+	x->ebreak1 = x->asamps;
+	x->ebreak2 = x->asamps+x->dsamps;
+	x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+	return ;
+}
+
+void adsr_set_d(t_adsr *x, t_floatarg f)
+{
+	f /= 1000.0 ;
+	
+	x->d = f;
+	x->dsamps = x->d * x->srate;
+	
+	if( x->tempomode) {
+		x->rsamps = x->tsamps - (x->asamps+x->dsamps+x->ssamps);	
+		if( x->rsamps < 0 ) {
+			x->rsamps = 0;
+		}
+	} else {	
+		x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+	}
+	x->ebreak2 = x->asamps+x->dsamps;
+	x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+	return ;
+}
+
+void adsr_set_s(t_adsr *x, t_floatarg f)
+{
+	
+	f /= 1000.0;
+	
+	x->s = f;
+	x->ssamps = x->s * x->srate;
+	
+	if( x->tempomode) {
+		x->rsamps = x->tsamps - (x->asamps+x->dsamps+x->ssamps);	
+		if( x->rsamps < 0 ) {
+			x->rsamps = 0;
+		}
+	} else {	
+		x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+	}
+	
+	x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+	return ;
+}
+
+void adsr_set_r(t_adsr *x, t_floatarg f)
+{
+	
+	f /= 1000.0;
+	
+	if( x->tempomode) {
+		return;
+	} else {	
+		x->r = f;
+		x->rsamps = x->r * x->srate;		
+		x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+	}
+	
+	return ;
+}
+
+void adsr_list (t_adsr *x, t_atom *msg, short argc, t_atom *argv)
+{
+    t_atom *fraud; // make compiler happy
+    fraud = msg;
+	x->rsamps = x->tsamps - (x->asamps+x->dsamps+x->ssamps);	
+	if( x->rsamps < 0 ) 
+		x->rsamps = 0;
+	
+	x->a = (atom_getfloatarg(0,argc,argv)) * .001;
+	x->d = (atom_getfloatarg(1,argc,argv)) * .001;
+	x->s = (atom_getfloatarg(2,argc,argv)) * .001;
+	x->r = (atom_getfloatarg(3,argc,argv)) * .001;
+	
+	x->asamps = x->a * x->srate;
+	x->dsamps = x->d * x->srate;
+	x->ssamps = x->s * x->srate;
+	x->rsamps = x->r * x->srate;
+	
+	
+    x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+    x->ebreak1 = x->asamps;
+    x->ebreak2 = x->asamps+x->dsamps;
+    x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+	
+}
+
+static void *adsr_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+	t_adsr *x = (t_adsr *)pd_new(adsr_class);
+    t_symbol *fraud; // make compiler happy
+    fraud = s;
+	outlet_new(&x->x_obj, gensym("signal"));
+	
+   
+	x->srate = sys_getsr();
+	if(!x->srate){
+		error("zero sampling rate, setting to 44100");
+		x->srate = 44100;
+	}
+	
+	x->a = 10;
+	x->d = 50;
+	x->s = 100;
+	x->r = 100;
+	x->egain1 = .7;
+	x->egain2 = .1;
+	atom_arg_getfloat(&x->a,0,argc,argv);
+	atom_arg_getfloat(&x->d,1,argc,argv);
+	atom_arg_getfloat(&x->s,2,argc,argv);
+	atom_arg_getfloat(&x->r,3,argc,argv);
+	atom_arg_getfloat(&x->egain1,4,argc,argv);
+	atom_arg_getfloat(&x->egain2,5,argc,argv);
+
+	x->a *= .001;
+	x->d *= .001;
+	x->s *= .001;
+	x->r *= .001;
+	
+	x->asamps = x->a * x->srate;
+	x->dsamps = x->d * x->srate;
+	x->ssamps = x->s * x->srate;
+	x->rsamps = x->r * x->srate;
+	x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+	x->ebreak1 = x->asamps;
+	x->ebreak2 = x->asamps+x->dsamps;
+	x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+
+	x->counter = 0;
+	x->click_gain = 0.0;
+	x->mute = 0;
+	return x;
+}
+
+t_int *adsr_perform(t_int *w)
+{
+	t_adsr *x = (t_adsr *) (w[1]);
+	t_float *in = (t_float *)(w[2]);
+	t_float *out = (t_float *)(w[3]);
+	int  n = (int) w[4];
+	int tsamps = x->tsamps;
+	int counter = x->counter;
+	int ebreak1 = x->ebreak1;
+	int ebreak2 = x->ebreak2;
+	int ebreak3 = x->ebreak3;
+	float egain1 = x->egain1;
+	float egain2 = x->egain2;
+	int asamps = x->asamps;
+	int dsamps = x->dsamps;
+	int ssamps = x->ssamps;
+	int rsamps = x->rsamps;
+	//  short manual_override = x->manual_override;
+	float click_gain = x->click_gain;
+	float etmp;
+	float env_val;
+	float input_val;
+	/*********************************************/	
+	if(x->mute){
+		while(n--) *out++ = 0.0; 
+		return w+5;
+	}
+	while(n--) {
+		input_val = *in++;
+		if(input_val){
+			click_gain = input_val;
+			counter = 0;
+		}
+		
+		
+		if( counter < ebreak1 ){
+			env_val = (float) counter / (float) asamps;
+		} else if (counter < ebreak2) {
+			etmp = (float) (counter - ebreak1) / (float) dsamps;
+			env_val = (1.0 - etmp) + (egain1 * etmp);
+		} else if (counter < ebreak3) {
+			etmp = (float) (counter - ebreak2) / (float) ssamps;
+			env_val = (egain1 * (1.0 - etmp)) + (egain2 * etmp);
+		} else if( counter < tsamps ){
+			env_val = ((float)(tsamps-counter)/(float)rsamps) * egain2 ;
+		} else {
+			env_val = 0.0;
+		}
+		if(click_gain && env_val && (click_gain != 1.0) ){
+			env_val *= click_gain;
+		}
+		*out++ = env_val;
+		if(counter < tsamps)
+			counter++;
+	}
+	x->counter = counter;
+	x->click_gain = click_gain;
+	return (w+5);
+}		
+
+void adsr_dsp(t_adsr *x, t_signal **sp)
+{
+	if(x->srate != sp[0]->s_sr ){
+		x->srate = sp[0]->s_sr;
+		x->asamps = x->a * x->srate;
+		x->dsamps = x->d * x->srate;
+		x->ssamps = x->s * x->srate;
+		x->rsamps = x->r * x->srate;
+		x->tsamps = x->asamps+x->dsamps+x->ssamps+x->rsamps;
+		x->ebreak1 = x->asamps;
+		x->ebreak2 = x->asamps+x->dsamps;
+		x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+		x->counter = 0;	
+	}
+	dsp_add(adsr_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
+
+
+
+
diff --git a/externals/lyonpotpourri/arrayfilt~-help.pd b/externals/lyonpotpourri/arrayfilt~-help.pd
new file mode 100755
index 000000000..c17187870
--- /dev/null
+++ b/externals/lyonpotpourri/arrayfilt~-help.pd
@@ -0,0 +1,145 @@
+#N canvas 814 114 449 293 10;
+#X obj 31 238 dac~;
+#X obj 31 81 noise~;
+#X text 32 36 arrayfilt~ filters a sound with the contents of an array
+\, so that filters can be drawn by hand;
+#X floatatom 70 144 5 0 0 0 gain - -, f 5;
+#X obj 31 178 *~ 0.05;
+#N canvas 172 134 1229 589 array-fft-block 0;
+#X obj 121 66 inlet~;
+#X obj 122 415 outlet~;
+#X obj 121 98 windowvec~;
+#X obj 121 136 rfft~, f 6;
+#X obj 187 464 block~ 1024 8;
+#X obj 121 171 cartopol~;
+#X obj 122 289 poltocar~;
+#X obj 122 319 rifft~;
+#X obj 122 382 windowvec~;
+#X obj 122 349 *~ 0;
+#X obj 290 185 *;
+#X msg 242 107 1 1024 8;
+#X obj 242 138 unpack f f f;
+#X obj 242 217 /;
+#X floatatom 242 249 12 0 0 0 - - -, f 12;
+#X text 323 250 rescale factor;
+#X obj 242 76 loadbang;
+#N canvas 0 22 450 278 (subpatch) 0;
+#X array arrayfilt1 513 float 3;
+#A 0 0.95 0.935714 0.914285 0.909523 0.921429 0.921429 0.921429 0.921429
+0.921429 0.921429 0.914286 0.907143 0.889286 0.885714 0.871429 0.850001
+0.842858 0.840477 0.838096 0.835715 0.832143 0.835714 0.835714 0.835714
+0.835714 0.835714 0.835714 0.835714 0.835714 0.835714 0.835714 0.835714
+0.835714 0.835714 0.842857 0.842857 0.753574 0.757146 0.760717 0.764289
+0.764289 0.764289 0.764289 0.764289 0.764289 0.764289 0.764289 0.757146
+0.757146 0.752384 0.747622 0.74286 0.74286 0.74286 0.74286 0.74286
+0.74286 0.737503 0.732146 0.726788 0.721431 0.714288 0.700002 0.69524
+0.690479 0.685717 0.664288 0.642859 0.624492 0.606124 0.587757 0.569389
+0.551022 0.532654 0.514287 0.428572 0.271429 0.271429 0.271429 0.271429
+0.271429 0.271429 0.271429 0.271429 0.271429 0.265714 0.26 0.254286
+0.248571 0.242857 0.235714 0.228571 0.214285 0.2 0.178571 0.171428
+0.160714 0.114285 0.107142 0.0571415 0.021427 0.0178556 0.0142841 0.00714123
+0.00714123 0.00714123 0.00714123 0.00714123 0.00714123 0.00714123 0.00624837
+0.00535551 0.00446264 0.00356978 0.00267692 0.00178406 0.000891194
+-1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06
+-1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06
+-1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06
+-1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06
+-1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06 -1.66893e-06
+-1.66893e-06 0.00714123 0.00714123 0.00714123 0.00714123 0.00714123
+0.00714123 0.00714123 0.00714123 0.00714123 0.0142841 0.0142841 0.0142841
+0.0178556 0.021427 0.021427 0.0285699 0.0285699 0.0321414 0.0357128
+0.0357128 0.0428557 0.0428557 0.0428557 0.0428557 0.0428557 0.0428557
+0.0428557 0.0428557 0.0428557 0.0428557 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0285714
+0.0285714 0.0285714 0.0285714 0.0285714 0.0285714 0.0290476 0.0295238
+0.03 0.0304762 0.0309524 0.0314286 0.0319048 0.032381 0.0328572 0.0333334
+0.0338096 0.0342858 0.0347619 0.0352381 0.0357143 0.0357143 0.0357143
+0.0357143 0.0357143 0.0357143 0.0357143 0.0357143 0.0357143 0.0363637
+0.037013 0.0376624 0.0383117 0.0389611 0.0396105 0.0402598 0.0409092
+0.0415585 0.0422079 0.0428572 0.0464287 0.0500001 0.0500001 0.0500001
+0.0500001 0.0500001 0.0500001 0.0500001 0.0500001 0.0517859 0.0535716
+0.0553573 0.057143 0.0607145 0.0642859 0.0642859 0.0642859 0.0642859
+0.0642859 0.0642859 0.0642859 0.0642859 0.0642859 0.0642859 0.0642859
+0.0642859 0.0642859 0.0660717 0.0678574 0.0696431 0.0714288 0.0726193
+0.0738098 0.0750003 0.0761908 0.0773813 0.0785717 0.0785717 0.0785717
+0.0785717 0.0785717 0.0785717 0.0785717 0.0785717 0.0785717 0.0797622
+0.0809527 0.0821432 0.0833337 0.0845242 0.0857146 0.086364 0.0870133
+0.0876627 0.088312 0.0889614 0.0896108 0.0902601 0.0909095 0.0915588
+0.0922082 0.0928575 0.0935069 0.0941562 0.0948056 0.095455 0.0961043
+0.0967537 0.097403 0.0980524 0.0987017 0.0993511 0.1 0.1 0.1 0.1 0.1
+0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
+0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
+0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
+0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575 0.0928575
+0.0928575 1 1;
+#X coords 0 1 513 0 400 140 1 0 0;
+#X restore 525 133 graph;
+#X msg 428 432 \; arrayfilt1 const 0;
+#X obj 678 443 tabwrite arrayfilt1;
+#X msg 678 363 1 \$1;
+#X obj 678 400 unpack f f;
+#X floatatom 678 324 5 0 0 0 - - -, f 5;
+#X text 715 323 set a range of bin gains to 1;
+#X text 549 437 zero out array;
+#X obj 77 227 arrayfilt~ arrayfilt1;
+#X text 644 102 Size the filter to (FFT size / 2) + 1;
+#X text 879 103 in this case \, 513;
+#X text 934 214 draw into array to change filter properties;
+#X text 542 475 flat response;
+#X msg 427 469 \; arrayfilt1 const 1;
+#X text 120 444 set FFT size to 1024 \, with an overlap of 8;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 5 0 25 0;
+#X connect 5 1 25 1;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 10 0;
+#X connect 12 2 10 1;
+#X connect 13 0 14 0;
+#X connect 14 0 9 1;
+#X connect 16 0 11 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 0;
+#X connect 21 1 19 1;
+#X connect 22 0 20 0;
+#X connect 25 0 6 0;
+#X connect 25 1 6 1;
+#X restore 31 113 pd array-fft-block;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 79 224 A demonstration of using fft primitives with a simple
+external that operates on bin magnitudes;
+#X connect 1 0 5 0;
+#X connect 3 0 4 1;
+#X connect 4 0 0 0;
+#X connect 4 0 0 1;
+#X connect 5 0 4 0;
diff --git a/externals/lyonpotpourri/arrayfilt~.c b/externals/lyonpotpourri/arrayfilt~.c
new file mode 100755
index 000000000..01f17fc7a
--- /dev/null
+++ b/externals/lyonpotpourri/arrayfilt~.c
@@ -0,0 +1,90 @@
+#include "MSPd.h"
+
+static t_class *arrayfilt_class;
+
+/* Pd version of arrayfilt~ */
+
+#define OBJECT_NAME "arrayfilt~"
+typedef struct _arrayfilt
+{
+	t_object x_obj;
+    t_float x_f;
+    t_word *a_samples;
+    int a_frames;
+    t_symbol *arrayname;
+} t_arrayfilt;
+
+void *arrayfilt_new(t_symbol *msg, short argc, t_atom *argv);
+void arrayfilt_dsp(t_arrayfilt *x, t_signal **sp);
+void arrayfilt_setarray(t_arrayfilt *x);
+
+void arrayfilt_tilde_setup(void){
+    arrayfilt_class = class_new(gensym("arrayfilt~"), (t_newmethod)arrayfilt_new,
+                              0, sizeof(t_arrayfilt),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(arrayfilt_class, t_arrayfilt, x_f);
+    class_addmethod(arrayfilt_class, (t_method)arrayfilt_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *arrayfilt_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_arrayfilt *x = (t_arrayfilt *)pd_new(arrayfilt_class);
+    // t_symbol *arrayname;
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->arrayname = atom_getsymbolarg(0, argc, argv);
+    arrayfilt_setarray(x);
+	return x;
+}
+
+void arrayfilt_setarray(t_arrayfilt *x)
+{
+    t_garray *a;
+    t_symbol *arrayname = x->arrayname;
+	if (!(a = (t_garray *)pd_findbyclass(arrayname, garray_class))) {
+		if (*arrayname->s_name) pd_error(x, "arrayflt~: %s: no such array", arrayname->s_name);
+    }
+	else  {
+		garray_usedindsp(a);
+        if (!garray_getfloatwords(a, &x->a_frames, &x->a_samples))
+        {
+            pd_error(x, "%s: bad template for player~", arrayname->s_name);
+        }
+	}
+}
+
+t_int *arrayfilt_perform(t_int *w)
+{
+    int i;
+    t_arrayfilt *x = (t_arrayfilt *) w[1];
+    t_float *mag_in = (t_float *) w[2];
+    t_float *phase_in = (t_float *) w[3];
+    t_float *mag_out = (t_float *) w[4];
+    t_float *phase_out = (t_float *) w[5];
+    t_float mag, phase;
+    t_word *a_samples = x->a_samples;
+    int a_frames = x->a_frames;
+    int n = (int) w[6];
+    int N2 = n / 2;
+    
+    arrayfilt_setarray(x);
+    
+    if(a_frames < N2+1) {
+        goto exit;
+    }
+    for(i = 0; i < N2 + 1; i++){
+        mag = mag_in[i];
+        phase = phase_in[i];
+        mag_out[i] = mag * a_samples[i].w_float;
+        phase_out[i] = phase;
+    }
+exit:
+    return (w + 7);
+}
+
+void arrayfilt_dsp(t_arrayfilt *x, t_signal **sp)
+{
+    dsp_add(arrayfilt_perform,6, x,
+            sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/bashfest.h b/externals/lyonpotpourri/bashfest.h
new file mode 100755
index 000000000..8cbb87b47
--- /dev/null
+++ b/externals/lyonpotpourri/bashfest.h
@@ -0,0 +1,185 @@
+#include "MSPd.h"
+#include "ugens.h"
+#include <string.h>
+/* calling codes for DSP modules */
+#define TRANSPOSE 0
+#define RINGMOD 1
+#define FLANGE 2
+#define BUTTER 3
+#define TRUNCATE 4
+#define SWEEPRESON 5
+#define COMB 6
+#define SLIDECOMB 7
+#define REVERB1 8
+#define ELLIPSE 9
+#define COMPDIST 10
+#define FEED1 11
+#define RETRO 12
+#define FLAM1 13
+#define FLAM2 14
+#define EXPFLAM 15
+#define COMB4 16
+#define RINGFEED 17
+#define RESONADSR 18
+#define STV 19	
+//////
+#define ROOT2 (1.4142135623730950488)
+#define PI2 (6.2831853071795862319959)
+// #define BUFFER_SIZE (1<<15)
+#define LOPASS 0
+#define HIPASS 1
+#define BANDPASS 2
+#define COMBFADE (.04 )
+#define MAXFILTER 12 /*must be at least as big as see below */
+#define ELLIPSE_FILTER_COUNT 11 /*actual number of filters*/
+#define MAX_COEF 48
+#define MY_MAX 2147483647.0 /* for rand() */
+/*data types */
+
+typedef struct
+{
+	float *data;//contains cycle data
+	int len;//length of array
+	int p;//position pointer
+} t_cycle;
+
+typedef struct
+{
+  long phase; // current phase in frames
+  double phasef; // current phase in frames
+  float gain; // gain for this note
+  float gainL;// left gain
+  float gainR;// right gain
+  short status;// status of this event slot
+  float *workbuffer;//sample processing space (both input and output)
+  float *inbuf;//pointer to input part of workbuffer
+  float *outbuf;//pointer to output part of workbuffer
+  int in_start;// location in workbuffer to read from input
+  int out_start;// location in workbuffer to write output
+  int sample_frames;//actual size in frames of sample, which changes if it gets bigger
+  int countdown;//latency counter before we actually start sending out samples
+  int out_channels; //number of channels per frame of output
+  short completed;//did the defer call do its thing?
+
+
+} t_event;
+
+typedef struct _bashfest
+{
+  t_object x_obj;
+  float x_f;  
+  float sr; // sampling rate
+  t_symbol *wavename; // name of waveform buffer
+  short hosed; // buffers are bad
+  float fadeout; // fadeout time in sample frames (if truncation)
+  float sync; // input from groove sync signal
+  float increment; // read increment
+  int most_recent_event; // position in array where last note was initiated
+  long b_nchans; // channels of buffer
+  long b_valid; // state of buffer
+  long b_frames; // number of frames in sample buffer
+  t_word *b_samples; // pointer samples in buffer
+  int overlap_max; // max number of simultaneous plays 
+  t_event *events; //note attacks
+  int active_events; // how many currently activated notes?
+  int buf_samps;//total samples in workbuffer
+  int halfbuffer;//buf_samps / 2
+  int buf_frames;// number of sample frames in workbuffer
+  int latency_samples;// amount of samples to count down before playing sample
+  float *params; // parameter list
+  float *odds;// odds for each process happening
+  int max_process_per_note;//what it says
+  int min_process_per_note;//ditto
+  int new_slot;//position for newest note
+  float new_gain;//recently assigned gain
+  short verbose;//toggle Max window error reporting
+  float work_buffer_size;// size in ms of work buffers
+  t_cycle tcycle;//contains an optional transposition cycle
+  short block_dsp;//flag to turn off all dsp and play straight from MSP buffer
+  short sound_lock;//keep current processed sound in buffer
+  short grab;//flag to copy immediate processed buffer into MSP buffer
+  char sound_name[256];
+  float *trigger_vec;//stores incoming trigger vectors
+  int vs;//Max/MSP vector size
+  
+  /* stuff for bashfest DSP */
+  float *sinewave;
+  int sinelen;
+  short mute;
+  float maxdelay;
+  float *delayline1;
+  float *delayline2;
+  LSTRUCT *eel; // for ellipse processor
+  float *mini_delay[4]; // small delay lines for allpass filter
+  float max_mini_delay ;
+  float *transfer_function;
+  int tf_len; // length of transfer function
+  float *feedfunc1;
+  float *feedfunc2;
+  float *feedfunc3;
+  float *feedfunc4;
+  int feedfunclen;
+  int flamfunc1len;
+  float *flamfunc1;
+  CMIXCOMB *combies;
+  CMIXADSR *adsr;
+  float max_comb_lpt;
+  float *reverb_ellipse_data;
+  float **ellipse_data;
+  float *dcflt;
+  CMIXOSC oscar;
+  CMIXRESON resies[2];
+
+} t_bashfest;
+
+
+
+/*function prototypes*/
+void putsine (float *arr, int len);
+float boundrand(float min, float max);
+void mycombset(float loopt,float rvt,int init,float *a,float srate);
+float mycomb(float samp,float *a);
+void setweights(float *a, int len);
+void delset2(float *a,int *l,float xmax, float srate);
+void delput2(float x,float *a,int *l);
+float dliget2(float *a,float dwait,int *l,float srate);
+void butterLopass( float *in, float *out, float cutoff, int frames, int channels, float srate);
+void butterBandpass(float *in, float *out,  float center, float bandwidth, int frames,int  channels, float srate);
+void butterHipass(float *in, float *out,  float cutoff, int frames,int channels, float srate);
+void butset(float *a);
+void lobut(float *a, float cutoff,float SR);
+void hibut(float *a, float cutoff, float SR);
+void bpbut(float *a, float formant, float bandwidth, float SR);
+void butter_filter(float *in,float *out,float *a, int frames, int channels, int channel);
+void rsnset2(float cf,float bw,float scl,float xinit,float *a,float srate);
+float reson(float x,float *a);
+
+void ellipset(float *list, LSTRUCT *eel, int  *nsects, float *xnorm);
+float ellipse(float x, LSTRUCT *eel, int nsects, float xnorm);
+float allpass(float samp,float *a);
+void init_reverb_data(float *a);
+void init_ellipse_data(float **a);
+
+void setExpFlamFunc(float *arr, int flen, float v1,float v2,float alpha);
+void setflamfunc1(float *arr, int flen);
+void funcgen1(float *outArray, int outlen, float duration, float outMin, float outMax,
+	 float speed1, float speed2, float gain1, float gain2, float *phs1, float *phs2, 
+	 float *sine, int sinelen);
+void normtab(float *inarr,float *outarr, float min, float max, int len);
+float mapp(float in,float imin,float imax,float omin,float omax);
+float oscil(float amp,float si,float *farray,int len,float *phs);
+void set_dcflt(float *a);
+
+void set_distortion_table(float *arr, float cut, float max, int len);
+float dlookup(float samp,float *arr,int len);
+void do_compdist(float *in,float *out,int sampFrames,int nchans,int channel, 
+	    float cutoff,float maxmult,int lookupflag,float *table,int range,float bufMaxamp);
+float getmaxamp(float *arr, int len);
+void buildadsr(CMIXADSR *a);
+/*bashfest dsp functions */
+void feed1(float *inbuf, float *outbuf, int in_frames, int out_frames,int channels, float *functab1,
+	   float *functab2,float *functab3,float *functab4,int funclen, 
+	   float duration, float maxDelay, t_bashfest *x);
+void reverb1me(float *in, float *out, int inFrames, int out_frames, int nchans, 
+	       int channel, float revtime, float dry, t_bashfest *x);
+	       void killdc( float *inbuf, int in_frames, int channels, t_bashfest *x);
diff --git a/externals/lyonpotpourri/bashfest_dsp.c b/externals/lyonpotpourri/bashfest_dsp.c
new file mode 100755
index 000000000..dfed186ce
--- /dev/null
+++ b/externals/lyonpotpourri/bashfest_dsp.c
@@ -0,0 +1,1547 @@
+#include "bashfest.h"
+
+void transpose(t_bashfest *x, int slot, int *pcount)
+{
+  float *inbuf;
+  float *outbuf;
+  int i;
+  int iphs = 0;
+  int ip2;
+  float m1, m2;
+  float phs = 0;
+  int out_frames;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;  
+  int in_frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+//  float srate = x->sr;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  int buf_frames = x->buf_frames;
+  float tfac;
+  
+  ++(*pcount);
+  tfac = params[ (*pcount)++ ];
+  // out_start MUST BE SET WITH RESPECT TO in_start
+  
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+  //  fprintf(stderr,"TRANSPOSE: in %d out %d\n", w->in_start, w->out_start);
+  out_frames = (float) in_frames / tfac ;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+
+  for( i = 0; i < out_frames * channels; i += channels ){
+    iphs = phs;
+    m2 = phs - iphs;
+    m1 = 1. - m2;
+
+    if( channels == 1 ){
+      *outbuf++ = inbuf[iphs] * m1 + inbuf[ iphs + 1] * m2 ; 
+
+    } else if( channels == 2 ){
+      ip2 = iphs * 2;
+      *outbuf++ = inbuf[ip2] * m1 + inbuf[ ip2 + 2] * m2 ; 
+      *outbuf++ = inbuf[ip2 + 1] * m1 + inbuf[ ip2 + 3] * m2 ; 
+    }
+    phs += tfac ;
+
+  }
+
+  x->events[slot].sample_frames =  out_frames;
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+  
+}
+
+
+void ringmod(t_bashfest *x, int slot, int *pcount)
+{
+  float *sinewave = x->sinewave;
+  float *inbuf, *outbuf;
+  int sinelen = x->sinelen;
+  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+  float srate = x->sr;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+//  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  int i;
+  float phase = 0.0;
+  float si;
+  float rmodFreq;
+
+  ++(*pcount);
+  rmodFreq = params[(*pcount)++];
+
+  //  fprintf(stderr,"-*-*- EXECUTING RINGMOD -*-*-\n");
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+
+  si = ((float) sinelen / srate) * rmodFreq ;
+
+//  inbuf = inbuf + in_start ;
+
+  for(i = 0; i < frames*channels; i += channels ){
+    *outbuf++ = *inbuf++ * sinewave[(int)phase];
+    if( channels == 2 ){
+      *outbuf++ = *inbuf++ * sinewave[(int)phase];
+    }
+    phase += si;
+    while( phase > sinelen )
+      phase -= sinelen;
+  } 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+}
+
+void retrograde(t_bashfest *x, int slot, int *pcount)
+{
+
+  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  float *params = x->params;
+//  float srate = x->sr;
+  int i ;
+  int swap1, swap2;
+  float tmpsamp;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+      
+  ++(*pcount);
+  
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+  memcpy(outbuf, inbuf, in_frames * channels * sizeof(float) );
+    
+  if( channels == 1 ){
+    for(i = 0; i < (frames/2)  ; i++ ){
+      swap2 = (frames - 1 - i);
+      tmpsamp = outbuf[i];
+      outbuf[i] = outbuf[swap2];
+      outbuf[swap2] = tmpsamp;
+    }
+  }
+
+  /* this would also work for mono, but we'll save a few multiplies */
+  else {
+    for(i = 0; i < (frames/2)   ; i++ ){
+      swap1 = i * channels ;
+      swap2 = (frames - 1 - i) * channels;
+      tmpsamp = outbuf[swap1];
+      outbuf[swap1] = outbuf[swap2];
+      outbuf[swap2] = tmpsamp;
+      ++swap1;
+      ++swap2;  
+      tmpsamp = outbuf[swap1];
+      outbuf[swap1] = outbuf[swap2];
+      outbuf[swap2] = tmpsamp;
+    
+    }
+  } 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+  
+}
+
+void comber(t_bashfest *x, int slot, int *pcount)
+{
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+  float srate = x->sr;
+  float *delayline1 = x->delayline1;  
+  float *delayline2 = x->delayline2;  
+  float max_delay = x->maxdelay ;
+  int buf_frames = x->buf_frames;
+  int out_frames ;
+  float overhang, revtime, delay ;
+  //  float *comb1, *comb2;
+  int combsamps;
+  int i;
+  int fade_frames;
+  float fadegain;
+  int fadestart;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  /******************************/
+  ++(*pcount);
+  delay = params[(*pcount)++];
+  revtime = params[(*pcount)++];
+  overhang = params[(*pcount)++];
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+    
+  if( delay <= 0.0 ){
+    error("comber got bad delay value\n");
+    return;
+  }
+  if( delay > max_delay ){
+    delay = max_delay ;
+  }
+  if( overhang < COMBFADE )
+    overhang = COMBFADE;
+
+  out_frames = in_frames + overhang * srate ;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+  
+  combsamps = delay * srate + 20 ;
+  mycombset(delay,revtime,0,delayline1,srate);
+  if( channels == 2 )
+    mycombset(delay,revtime,0,delayline2,srate);
+
+  // ADD IN ORIGINAL SIGNAL
+  for( i = 0; i < in_frames*channels; i += channels){
+    *outbuf++ += mycomb(*inbuf++, delayline1);
+    if( channels == 2 ){
+      *outbuf++ += mycomb(*inbuf++,delayline2);
+    }
+  }
+
+  for( i = in_frames * channels; i < out_frames*channels; i += channels){
+    *outbuf++ = mycomb( 0.0 , delayline1);
+    if( channels == 2 ){
+      *outbuf++ = mycomb( 0.0 , delayline2);
+    }
+  }
+
+  fade_frames = COMBFADE * srate;
+  fadestart = (out_frames - fade_frames) * channels ;
+  for( i = 0; i < fade_frames * channels; i += channels ){
+    fadegain = 1.0 - (float) i / (float) (fade_frames * channels)  ;
+    *(inbuf + fadestart + i) *= fadegain;
+    if(channels == 2){
+      *(inbuf + fadestart + i + 1) *= fadegain;
+    }
+  }
+
+  x->events[slot].sample_frames = out_frames; 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+  
+  
+}
+
+void flange(t_bashfest *x, int slot, int *pcount)
+{
+  int i;
+  float si;
+  float mindel, maxdel;
+  float fac1, fac2;
+  int dv1[2], dv2[2]; /* cmix bookkeeping */
+  float delsamp1, delsamp2 ;
+  float delay_time;
+  //  float dliget2();
+  float speed, feedback, phase, minres, maxres;
+  float hangover ;
+  int hangframes ;
+  
+//  float *inbuf = x->events[slot].workbuffer;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  int buflen = x->buf_samps;
+  float *params = x->params; 
+  float srate = x->sr;
+//  int in_start = x->events[slot].in_start;
+  float *delayline1 = x->delayline1;  
+  float *delayline2 = x->delayline2;  
+  float max_delay = x->maxdelay ;    
+  float *sinewave = x->sinewave;
+  int sinelen = x->sinelen ;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+
+  ++(*pcount);
+  minres = params[(*pcount)++];
+  maxres = params[(*pcount)++];
+  speed = params[(*pcount)++];
+  feedback = params[(*pcount)++];
+  phase = params[(*pcount)++];
+
+  hangover = feedback * 0.25 ; // maybe log relation
+  hangframes = srate * hangover ;
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+
+  if( minres <= 0. || maxres <= 0. ){
+    error("flange: got zero frequency resonances as input");
+    return;
+  }
+  mindel = 1.0/maxres;
+  maxdel = 1.0/minres;
+
+  if( maxdel > max_delay ){
+    maxdel = max_delay;
+    error("flange: too large delay time shortened");
+  }
+
+  delset2(delayline1, dv1, maxdel,srate);
+  if( channels == 2 ){
+    delset2(delayline2, dv2, maxdel,srate);
+  }
+
+
+  si = ((float) sinelen/srate) * speed ;
+
+  if( phase > 1.0 ){
+    phase = 0;
+    error("flange: given > 1 initial phase");
+  }
+  delsamp1 = delsamp2 = 0;
+  phase *= sinelen;
+  fac2 = .5 * (maxdel - mindel) ;
+  fac1 = mindel + fac2;
+
+  for(i = 0; i < in_frames*channels; i += channels ){
+    /* homemade oscillator */
+    delay_time = fac1 + fac2 *  sinewave[(int) phase];
+    if( delay_time < .00001 ){
+      delay_time = .00001;
+    }
+    phase += si;
+    while( phase > sinelen )
+      phase -= sinelen;
+    delput2( *inbuf + delsamp1*feedback, delayline1, dv1);
+    delsamp1 = dliget2(delayline1, delay_time, dv1,srate);
+    *outbuf++ = (*inbuf++ + delsamp1) ;
+    if( channels == 2 ){
+      delput2( *inbuf+delsamp2*feedback, delayline2, dv2);
+      delsamp2 = dliget2(delayline2, delay_time, dv2,srate);
+      *outbuf++ = (*inbuf++ + delsamp2) ;
+    }
+  }
+  /* NOW DO HANGOVER */
+  for(i = 0; i < hangframes*channels; i += channels ){
+
+    delay_time = fac1 + fac2 *  sinewave[ (int) phase ];
+    if( delay_time < .00001 ){
+      delay_time = .00001;
+    }
+    phase += si;
+    while( phase > sinelen )
+      phase -= sinelen;
+    delput2( delsamp1*feedback, delayline1, dv1);
+    delsamp1 = dliget2(delayline1, delay_time, dv1,srate);
+    *outbuf++ = delsamp1 ;
+    if( channels == 2 ){
+      delput2( delsamp2*feedback, delayline2, dv2);
+      delsamp2 = dliget2(delayline2, delay_time, dv2,srate);
+      *outbuf++ = delsamp2 ;
+    }
+  }
+  x->events[slot].sample_frames += hangframes;   
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void butterme(t_bashfest *x, int slot, int *pcount)
+{
+
+  int ftype;
+  float cutoff, cf, bw;
+  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+  float srate = x->sr;
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+//  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+
+
+  ++(*pcount);
+  ftype = params[(*pcount)++];
+  
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+    
+  if(ftype == HIPASS){
+    cutoff = params[(*pcount)++];
+    butterHipass(inbuf, outbuf, cutoff, frames, channels, srate);
+  }
+  else if(ftype == LOPASS){
+    cutoff = params[(*pcount)++];
+    butterLopass(inbuf, outbuf, cutoff, frames, channels, srate);
+  }
+  else if(ftype == BANDPASS){
+    cf = params[(*pcount)++];
+    bw = params[(*pcount)++];
+    butterBandpass(inbuf, outbuf, cf, bw, frames, channels, srate);
+  } else {
+    error("%d not a valid Butterworth filter",ftype);
+    return;
+  }
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+}
+
+
+
+void truncateme(t_bashfest *x, int slot, int *pcount)
+{
+  float shortdur ;
+  int out_frames;
+  int i;
+  float fadegain ;
+  int fade_frames;
+  int fadestart;
+  float fadeout;
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+  float srate = x->sr;
+
+  float *inbuf, *outbuf;
+  int in_start;
+  int out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+  shortdur = params[ (*pcount)++ ];
+  fadeout = params[ (*pcount)++ ];
+  fade_frames = fadeout * srate ;
+  out_frames = shortdur * srate ;
+  if( out_frames >= in_frames ){
+    // error("truncation requesting >= original duration, no truncation");
+    return;
+  }
+  
+  in_start = x->events[slot].in_start;
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+
+  if( fade_frames <= 0 ){
+    error("truncation with 0 length fade!");
+    return;
+  }
+
+  if( fade_frames > out_frames ){
+    error("truncation requested fadeout > new duration, adjusting...");
+    fade_frames = out_frames;
+  }
+
+  memcpy(outbuf, inbuf, in_frames * sizeof(float) );
+  
+  fadestart = (out_frames - fade_frames) * channels ;
+
+  for( i = 0; i < fade_frames * channels; i += channels ){
+    fadegain = 1.0 - (float) i / (float) (fade_frames * channels)  ;
+    outbuf[fadestart + i]   *= fadegain;
+    if( channels == 2 ){
+      outbuf[ fadestart + i + 1] *= fadegain;
+    }
+  }
+
+  x->events[slot].sample_frames = out_frames ;
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+}
+
+// Pd only - not reentrant - appears that sine wave gets screwed up ???
+void sweepreson(t_bashfest *x, int slot, int *pcount)
+{
+  int i;
+  float bwfac;
+  float minfreq, maxfreq, speed, phase;
+  float q1[5], q2[5];
+  float cf, bw;
+  float si;
+  float fac1, fac2;
+//  float inmax, outmax, rescale ;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  float *params = x->params; 
+  float srate = x->sr;
+  float *sinewave = x->sinewave;
+  int sinelen = x->sinelen ;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;  
+
+  
+  ++(*pcount);
+  minfreq = params[(*pcount)++];
+  maxfreq = params[(*pcount)++];
+  bwfac = params[(*pcount)++];
+  speed = params[(*pcount)++];
+  phase = params[(*pcount)++];
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  si = ((float) sinelen / srate) * speed ;
+
+  if( phase > 1.0 ){
+    phase = 0;
+    error("sweepreson: given > 1 initial phase");
+  }
+
+  phase *= sinelen;
+  fac2 = .5 * (maxfreq - minfreq) ;
+  fac1 = minfreq + fac2;
+
+  cf = fac1 + fac2 * sinewave[(int) phase];
+  bw = bwfac * cf;
+  rsnset2( cf, bw, 2.0, 0.0, q1, srate );
+  if( channels == 2 ){
+    rsnset2( cf, bw, 2.0, 0.0, q2, srate );
+  } 
+  
+  for(i = 0; i < in_frames; i++ ){
+    // homemade oscillator 
+
+    phase += si;
+    while( phase >= sinelen )
+      phase -= sinelen;
+	
+
+    fac2 = .5 * (maxfreq - minfreq) ;
+    fac1 = minfreq + fac2;
+
+    cf = fac1 + fac2 * sinewave[(int) phase];
+    bw = bwfac * cf; 
+	if(cf < 10 || cf > 8000 || bw < 1 || srate < 100){
+		post("danger values, cf %f bw %f sr %f",cf, bw, srate);
+	}
+   rsnset2( cf, bw, 2.0, 1.0, q1, srate );
+   // clicks stop if we don't apply filter above, and if attacks come too fast
+   *outbuf++ = reson(*inbuf++, q1);
+
+    if( channels == 2 ){
+	
+    //  rsnset2( cf, bw, 2.0, 1.0, q2, srate );
+	  *outbuf++ = reson(*inbuf++, q2); 
+      
+    }
+  }
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void slidecomb(t_bashfest *x, int slot, int *pcount)
+{
+  float overhang, feedback, delay1, delay2;
+//  int combsamps;
+  int i;
+  int fade_frames;
+  float fadegain;
+  int fadestart;
+  int dv1[2], dv2[2];		/* cmix bookkeeping */
+  float delsamp1 = 0, delsamp2 = 0;
+  float m1, m2;
+  float delay_time;
+  int out_frames ;
+    
+  int channels = x->events[slot].out_channels;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+//  float *sinewave = x->sinewave;
+//  int sinelen = x->sinelen ;
+  float max_delay = x->maxdelay;
+  float *delayline1 = x->delayline1;  
+  float *delayline2 = x->delayline2;  
+  
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;  
+  
+  ++(*pcount);
+  delay1 = params[(*pcount)++];
+  delay2 = params[(*pcount)++];
+  feedback = params[(*pcount)++];
+  overhang = params[(*pcount)++];
+
+// post("del1 %f del2 %f srate %f",delay1,delay2, srate);
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+    
+  if( overhang < COMBFADE )
+    overhang = COMBFADE;
+
+  
+  out_frames = in_frames + overhang * srate ;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+  
+  delset2(delayline1, dv1, max_delay, srate);
+  if( channels == 2 ){
+    delset2(delayline2, dv2, max_delay, srate);
+  }
+
+
+
+  for( i = 0; i < in_frames*channels; i += channels){
+    m2 = (float) i / (float) (out_frames * channels) ;
+    m1 = 1. - m2;
+    delay_time = delay1 * m1 + delay2 * m2 ;
+    delput2(*inbuf +delsamp1*feedback, delayline1, dv1);
+    delsamp1 = dliget2(delayline1, delay_time, dv1, srate);
+    *outbuf++ = *inbuf++ + delsamp1;
+    if( channels == 2 ){
+      delput2( *inbuf + delsamp2*feedback, delayline2, dv2);
+      delsamp2 = dliget2(delayline2, delay_time, dv2, srate);
+      *outbuf++ = *inbuf++ + delsamp2 ;
+    }
+  }
+
+  for( i = in_frames * channels; i < out_frames*channels; i += channels){
+    m2 = (float) i / (float) (out_frames * channels) ;
+    m1 = 1. - m2;
+    delay_time = delay1 * m1 + delay2 * m2 ;
+    delput2( delsamp1*feedback, delayline1, dv1);
+    *outbuf++ = delsamp1 = dliget2( delayline1, delay_time, dv1, srate );
+    if( channels == 2 ){
+      delput2( delsamp2*feedback, delayline2, dv2);
+      *outbuf++ = delsamp2 = dliget2( delayline2, delay_time, dv2, srate );
+    }
+  }
+
+  fade_frames = COMBFADE * srate;
+  fadestart = (out_frames - fade_frames) * channels ;
+  for( i = 0; i < fade_frames * channels; i += channels ){
+    fadegain = 1.0 - (float) i / (float) (fade_frames * channels)  ;
+    *(outbuf + fadestart + i) *= fadegain;
+    if( channels == 2 ){
+      *(outbuf + fadestart + i + 1) *= fadegain;
+    }
+  }
+  x->events[slot].sample_frames = out_frames;  
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+// still a crash whore in Pd: 
+
+void reverb1(t_bashfest *x, int slot, int *pcount)
+{
+
+  float revtime, overhang;
+  int channel_to_compute;
+  float drygain;
+  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+      
+  ++(*pcount);
+  revtime = params[(*pcount)++];
+  if( revtime >= 1. ){
+    error("reverb1 does not like feedback values over 1.");
+    revtime = .99 ;
+  }
+  overhang = params[(*pcount)++];
+  drygain = params[(*pcount)++];
+
+
+  out_frames = in_frames + srate * overhang;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  
+  for( channel_to_compute = 0; channel_to_compute < channels; channel_to_compute++) {
+    reverb1me( inbuf, outbuf, in_frames, out_frames, channels, channel_to_compute, revtime, drygain, x);
+  }
+  
+
+  x->events[slot].sample_frames = out_frames;
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+  
+}
+
+void ellipseme(t_bashfest *x, int slot, int *pcount)
+{
+  int i,j;
+  int nsects;
+  float xnorm;
+  int filtercode ;
+  float *fltdata;
+
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+//  float srate = x->sr;
+  float **flts = x->ellipse_data;
+  LSTRUCT *eel = x->eel;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+    
+  ++(*pcount);
+  filtercode = params[(*pcount)++];
+
+  if( filtercode >= ELLIPSE_FILTER_COUNT ){
+    error("there is no %d ellipse data",filtercode);
+    return;
+  };
+  fltdata = flts[ filtercode ];
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  for( j = 0; j < channels; j++) {
+    ellipset(fltdata,eel,&nsects,&xnorm); 
+    for( i = j; i < in_frames * channels ; i += channels ){
+      outbuf[i] = ellipse(inbuf[i], eel, nsects,xnorm);
+    }
+  } 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void feed1me(t_bashfest *x, int slot, int *pcount)
+{
+//  int i;
+  float mindelay, maxdelay, speed1, speed2;
+  float phz1 = .13, phz2 = .251;
+  float dur;
+  float minfeedback = .1, maxfeedback = .7;
+  float desired_dur;
+  float overhang;
+  /* main variables */
+
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  int out_frames;
+  /* process specfic*/
+  int flen = x->feedfunclen ;
+  float *func1 = x->feedfunc1;
+  float *func2 = x->feedfunc2;
+  float *func3 = x->feedfunc3;
+  float *func4 = x->feedfunc4;
+  float my_max_delay = x->max_mini_delay;
+  float *sinewave = x->sinewave;
+  int sinelen = x->sinelen ;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+  mindelay = params[ (*pcount)++ ];
+  maxdelay = params[ (*pcount)++ ];
+  speed1 = params[ (*pcount)++ ];
+  speed2 = params[ (*pcount)++ ];
+  overhang = params[ (*pcount)++ ];
+
+  if( maxdelay > my_max_delay ){
+    error("feed1: too high max delay, adjusted");
+    maxdelay = my_max_delay ;
+  }
+  dur = in_frames / srate ;
+  desired_dur = dur + overhang;
+  out_frames = srate * desired_dur ;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+  
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+  funcgen1( func1, flen, desired_dur, mindelay, maxdelay,
+	    speed1, speed2, 1.0, 1.0, &phz1, &phz2, sinewave, sinelen);
+
+  phz1 /= (float) flen; phz2 /= (float) flen;
+
+
+  funcgen1( func2, flen, desired_dur, mindelay*.5, maxdelay*2.0,
+	    speed1*1.25, speed2*.75, 1.0, 1.0, &phz1, &phz2, sinewave, sinelen);
+
+  phz1 /= (float) flen; phz2 /= (float) flen;
+
+
+  funcgen1( func3, flen, desired_dur, minfeedback, maxfeedback,
+	    speed1*.35, speed2*1.25, 1.0, 1.0, &phz1, &phz2, sinewave, sinelen);
+
+  phz1 /= (float) flen; phz2 /= (float) flen;
+
+  funcgen1( func4,flen, desired_dur, minfeedback, maxfeedback,
+	    speed1*.55, speed2*2.25, 1.0, 1.0, &phz1, &phz2, sinewave, sinelen);
+		
+  feed1( inbuf, outbuf, in_frames, out_frames, channels, func1, func2, func3, func4, flen, dur, my_max_delay, x);
+
+  x->events[slot].sample_frames = out_frames; 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void flam1(t_bashfest *x, int slot, int *pcount)
+{
+//  int channel_to_compute;
+  int attacks;
+  float gain2;
+  float gainatten;
+  float delay;
+  float gain = 1.0;
+  int i, j, k, delaysamps, delayoffset = 0;
+//  float inputmax;
+  int delay_frames;
+  /* main variables */
+  float *inbuf;
+  float *outbuf;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buflen = x->buf_samps;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int out_frames;
+  int halfbuffer = x->halfbuffer;
+  /* process specfic*/
+  ++(*pcount);  
+  attacks = params[(*pcount)++];
+  gain2 = params[(*pcount)++];
+  gainatten = params[(*pcount)++];
+  delay = params[(*pcount)++];
+
+
+
+  if( attacks <= 1 ){
+    error("flam1: too few attacks: %d",attacks);
+    return;
+  }
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+  delay_frames = srate * delay + 0.5;
+  delaysamps = channels * delay_frames;
+  out_frames = in_frames + (srate * delay * (float) (attacks - 1));
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }
+
+  for( i = 0; i < out_frames * channels; i++ ){
+    outbuf[i] = 0.0 ;
+  }  
+
+  for(i = 0; i < attacks; i++ ){
+    if(in_frames + delay_frames * i >= out_frames){
+      // error("breaking at attack %d",i);
+      break;
+    }
+    for(j = 0; j < in_frames * channels; j += channels ){
+      for( k = 0; k < channels; k++ ){
+		outbuf[j + k + delayoffset] += *(inbuf +j + k) * gain;
+      }
+    }
+    delayoffset += delaysamps;
+    if( i == 0 ){
+      gain = gain2;
+    } else {
+      gain *= gainatten;
+    }    
+  }
+
+  x->events[slot].sample_frames = out_frames; 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;    
+}
+
+void flam2(t_bashfest *x, int slot, int *pcount)
+{
+  //  int channel_to_compute;
+  int attacks;
+  float gain2;
+  float gainatten;
+  float delay1,delay2;
+  float gain = 1.0;
+  int i, j, k, delaysamps, delayoffset = 0;
+  int f_endpoint;
+//  float inputmax, outputmax, rescale;
+  int delay_frames;
+  float now = 0.0;
+  int findex;
+  float inval;
+  float curdelay;
+  /* main variables */
+  float *inbuf;
+  float *outbuf;
+  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buflen = x->buf_samps;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int halfbuffer = x->halfbuffer;
+  float *flamfunc1 = x->flamfunc1;
+  int flamfunclen = x->flamfunc1len;
+  /* process specfic*/
+
+  ++(*pcount);
+  attacks = params[(*pcount)++];
+  gain2 = params[(*pcount)++];
+  gainatten = params[(*pcount)++];
+  delay1 = params[(*pcount)++];
+  delay2 = params[(*pcount)++];
+
+  if( attacks <= 1 ){
+    error("flam2: recieved too few attacks: %d",attacks);
+    return;
+  }
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  for( i = 0; i < attacks - 1; i++ ){
+    findex = ((float)i/(float)attacks) * (float)flamfunclen ;
+    inval = flamfunc1[findex];
+    curdelay = mapp(inval, 0., 1., delay2, delay1);
+    now += curdelay;
+  }
+  out_frames = in_frames + (srate * now);
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }  
+  
+  for( i = 0; i < out_frames * channels; i++ ){
+    outbuf[i] = 0.0 ;
+  }  
+
+  f_endpoint = in_frames;
+  // first time delay_offset is zero
+  for( i = 0; i < attacks; i++ ){
+    findex = ((float)i/(float)attacks) * (float)flamfunclen ;
+    inval = flamfunc1[findex];
+    curdelay = mapp(inval, 0., 1., delay2, delay1);
+
+    delay_frames = srate * curdelay + 0.5;
+    delaysamps = delay_frames * channels;
+    if(f_endpoint >= out_frames){
+      // error("flam2: breaking at attack %d",i);
+      break;
+    }
+    for(j = 0; j < in_frames * channels; j += channels ){
+      for( k = 0; k < channels; k++ ){
+		outbuf[j + k + delayoffset] += *(inbuf + j + k) * gain;
+      }
+    }
+    delayoffset += delaysamps;
+    f_endpoint = in_frames + delayoffset/channels;
+    if( i == 0 ){
+      gain = gain2;
+    } else {
+      gain *= gainatten;
+    }    
+  }
+
+  x->events[slot].sample_frames = out_frames; 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;    
+}
+
+void expflam(t_bashfest *x, int slot, int *pcount)
+{
+  int attacks;
+  float gain2;
+  float gainatten;
+  float delay1,delay2;
+  float gain = 1.0;
+  int i, j, k, delaysamps, delayoffset = 0, f_endpoint;
+//  float inputmax, outputmax, rescale;
+  int delay_frames;
+  float now = 0.0;
+//  int findex;
+//  float inval;
+  float curdelay;
+  float slope;
+  /* main variables */
+  float *inbuf;
+  float *outbuf;
+  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buflen = x->buf_samps;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int halfbuffer = x->halfbuffer;
+  float *expfunc = x->feedfunc1;
+//  int funclen = x->feedfunclen;
+  /* process specfic*/
+
+  ++(*pcount);
+  attacks = params[(*pcount)++];
+  gain2 = params[(*pcount)++];
+  gainatten = params[(*pcount)++];
+  delay1 = params[(*pcount)++];
+  delay2 = params[(*pcount)++];
+  slope = params[(*pcount)++];
+
+  if( attacks <= 1 ){
+    error("expflam: recieved too few attacks: %d",attacks);
+    return;
+  }
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+
+  setExpFlamFunc(expfunc, attacks, delay1, delay2, slope);
+    
+  for( i = 0; i < attacks - 1; i++ ){
+    now += expfunc[i];
+  }
+  
+  out_frames = in_frames + (srate * now);
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }  
+  
+  for( i = 0; i < out_frames * channels; i++ ){
+    outbuf[i] = 0.0 ;
+  }  
+
+  f_endpoint = in_frames;
+  
+  for( i = 0; i < attacks; i++ ){
+    curdelay = expfunc[i];
+    delay_frames = srate * curdelay + 0.5;
+    delaysamps = delay_frames * channels;
+    if(f_endpoint >= out_frames){
+   // error("expflam: breaking at attack %d",i);
+      break;
+    }
+    for(j = 0; j < in_frames * channels; j += channels ){
+      for( k = 0; k < channels; k++ ){
+		outbuf[j + k + delayoffset] += *(inbuf + j + k) * gain;
+      }
+    }
+    delayoffset += delaysamps;
+    f_endpoint = in_frames + delayoffset/channels;
+    if( i == 0 ){
+      gain = gain2;
+    } else {
+      gain *= gainatten;
+    }    
+  }
+
+  x->events[slot].sample_frames = out_frames; 
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;    
+}
+
+void comb4(t_bashfest *x, int slot, int *pcount)
+{
+  float overhang, revtime ;
+  int i, j, k;
+  int fadeFrames;
+  float fadegain;
+  int fadestart;
+  float input_sample;
+  float rez;
+  /* main variables */
+
+  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+
+  /* process specific */
+  CMIXCOMB *combies = x->combies;
+  float maxloop = x->max_comb_lpt;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+  
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  for( j = 0; j < 4; j++ ){
+    rez = params[(*pcount)++] ;
+    if( rez == 0.0){
+      error("comb4: 0 resonance frequency not allowed");
+      return;
+    }
+    if( 1./rez > maxloop ){
+      error("comb4: %f is too long loop",1./rez);
+      return;
+    }
+    combies[j].lpt = 1. / rez ;
+  }
+
+  revtime = params[(*pcount)++];
+  overhang = params[(*pcount)++];
+  if( overhang < COMBFADE )
+    overhang = COMBFADE;
+  out_frames = in_frames + overhang * srate;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  }  
+  for( j = 0; j < 4; j++ ){
+    mycombset( combies[j].lpt, revtime, 0, combies[j].arr, srate);
+  }
+
+  inbuf = x->events[slot].workbuffer + in_start;
+  
+  for( j = 0; j < channels; j++ ){
+    for( i = 0; i < in_frames * channels; i += channels ){
+      input_sample = *(inbuf + i + j) ; // we can move inside loop
+      *(outbuf + i + j ) = 0.0; // comment out to leave original sound into it
+      for( k = 0; k < 4; k++ ){
+		*(outbuf + i + j) += mycomb(input_sample, combies[k].arr);
+      }
+    }
+  }
+  for( i = in_frames * channels; i < out_frames * channels; i += channels ){
+    for( j = 0; j < channels; j++ ){
+      *(outbuf + i + j) = 0.0;
+      for( k = 0; k < 4; k++ ){
+		*(outbuf +i+j) += mycomb(0.0,combies[k].arr);
+      }
+    }
+  } 
+  fadeFrames = COMBFADE * srate; // ok - this is just the fadeout
+  fadestart = (out_frames - fadeFrames) * channels ;
+  for( i = 0; i < fadeFrames * channels; i += channels ){
+    fadegain = 1.0 - (float) i / (float) (fadeFrames * channels)  ;
+    *(outbuf + fadestart + i) *= fadegain;
+    if( channels == 2 ){
+      *(outbuf + fadestart + i + 1) *= fadegain;
+    }
+  }
+  killdc(outbuf, out_frames, channels, x);
+  x->events[slot].sample_frames = out_frames;
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+     
+}
+
+void compdist(t_bashfest *x, int slot, int *pcount)
+{
+  float cutoff, maxmult;
+  int lookupflag;
+  int channel_to_compute;
+  float maxamp;
+  /* main variables */
+
+//  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+//  float srate = x->sr;
+  /* function specific*/
+  int range = x->tf_len;
+  float *table = x->transfer_function;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+  cutoff = params[(*pcount)++];
+  maxmult = params[(*pcount)++];
+  lookupflag = params[(*pcount)++];
+  
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  maxamp = getmaxamp(inbuf, in_frames*channels) ;
+
+  if(lookupflag){
+    set_distortion_table(table, cutoff, maxmult, range);
+  }
+  
+  for( channel_to_compute = 0; channel_to_compute < channels; channel_to_compute++) {
+    do_compdist(inbuf, outbuf, in_frames, channels, channel_to_compute, 
+		cutoff, maxmult, lookupflag, table, range, maxamp);
+  }  
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void ringfeed(t_bashfest *x, int slot, int *pcount)
+{
+  float overhang;
+  int i, j;
+  int fade_frames;
+  float fadegain;
+  int fadestart;
+  float input_sample;
+  float rez ;
+  /* main variables */
+  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  /*function specific*/
+  float *sinewave = x->sinewave;
+  int sinelen = x->sinelen ;
+  CMIXCOMB *combies = x->combies;
+  CMIXRESON *resies = x->resies;
+  CMIXOSC oscar = x->oscar;
+  float maxloop = x->max_comb_lpt;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  oscar.func = sinewave;
+  oscar.len = sinelen;
+  oscar.si = params[(*pcount)++] * ((float)oscar.len / srate);
+  oscar.phs = 0;
+  rez = params[(*pcount)++] ;
+  if( rez > 0 )
+    combies[0].lpt = 1. / rez ;
+  else error("zero comb resonance is bad luck");
+  if(combies[0].lpt > maxloop)
+    error("ringfeed does not appreciate looptimes as large as %f",combies[0].lpt);
+
+  combies[0].rvbt = params[(*pcount)++] ;
+  if(combies[0].rvbt >= 1.0) {
+    error("ringfeed dislikes feedback values >= 1");
+    combies[0].rvbt = .99 ;
+  }
+  resies[0].cf = params[(*pcount)++];
+  resies[0].bw  = resies[0].cf * params[(*pcount)++];
+  overhang = params[(*pcount)++] ;
+  
+  inbuf = x->events[slot].workbuffer + in_start;
+
+  for( i = 0; i < channels ; i++ ){
+    mycombset( combies[0].lpt, combies[0].rvbt, 0, combies[i].arr,srate);
+    rsnset2(resies[0].cf, resies[0].bw, RESON_NO_SCL, 0., resies[i].q, srate);
+  }
+
+  /* MINIMUM OVERHANG */
+
+  if( overhang < COMBFADE )
+    overhang = COMBFADE;
+
+  out_frames = in_frames + overhang * srate ;
+  if( out_frames > buf_frames / 2 ){
+    out_frames = buf_frames / 2 ;
+  } 
+  /* INPUT LOOP */
+  for( i = 0; i < in_frames * channels; i += channels ){
+    for( j = 0; j < channels; j++ ){
+      input_sample = *(inbuf + i + j ) ;
+
+      input_sample *= oscil(1.0, oscar.si, oscar.func, oscar.len, &oscar.phs);
+      input_sample += mycomb(input_sample, combies[j].arr);
+      *(outbuf +i+j) = reson(input_sample, resies[j].q);
+    }
+  }
+  
+  /* COMB TAILS */
+
+  for( i = in_frames * channels; i < out_frames * channels; i += channels ){
+    for( j = 0; j < channels; j++ ){
+      *(outbuf +i+j) = reson(mycomb( 0.0, combies[j].arr), resies[j].q );
+    }
+  }
+
+  /* FADE OUT ON MIX */
+
+  fade_frames = COMBFADE * srate;
+  fadestart = (out_frames - fade_frames) * channels ;
+  for( i = 0; i < fade_frames * channels; i += channels ){
+    fadegain = 1.0 - (float) i / (float) (fade_frames * channels)  ;
+    *(outbuf + fadestart + i) *= fadegain;
+    if( channels == 2 ){
+      *(outbuf + fadestart + i + 1) *= fadegain;
+    }
+  }
+  x->events[slot].sample_frames = out_frames;
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void resonadsr(t_bashfest *x, int slot, int *pcount)
+{
+  int i;
+  float bwfac;
+  float q1[5], q2[5];
+  float cf, bw;
+  float si;
+  float notedur;
+  float phase = 0.;
+//  int j = 0;
+  /* main variables */
+
+//  int out_frames;
+//  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  /*function specific*/
+  CMIXADSR *a = x->adsr;
+  int funclen = a->len;
+  float *adsrfunc = a->func;
+
+  ++(*pcount);
+  a->a = params[(*pcount)++];
+  a->d = params[(*pcount)++];
+  a->r = params[(*pcount)++];
+  a->v1 = params[(*pcount)++];
+  a->v2 = params[(*pcount)++];
+  a->v3 = params[(*pcount)++];
+  a->v4 = params[(*pcount)++];
+  bwfac = params[(*pcount)++];
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;
+  outbuf = x->events[slot].workbuffer + out_start;
+  
+  notedur = (float) in_frames / srate ;
+  a->s = notedur - (a->a+a->d+a->r);
+  if( a->s <= 0.0 ){
+    a->a=a->d=a->s=a->r= notedur/ 4. ;
+  }
+  buildadsr(a);
+  si = ((float) funclen / srate) / notedur ;
+
+  phase = 0;
+
+  rsnset2(adsrfunc[(int)phase], adsrfunc[(int) phase]*bwfac, 2.0, 0.0, q1, srate);
+  if( channels == 2 ){
+    rsnset2( adsrfunc[(int)phase], adsrfunc[(int) phase]*bwfac, 2.0, 0.0, q2, srate );
+  }
+  
+  for(i = 0; i < in_frames*channels; i += channels ){
+    phase += si;
+    if( phase > funclen - 1)
+      phase = funclen - 1;	/* stop at end of function */
+
+    cf = adsrfunc[ (int) phase ];
+    bw = bwfac * cf ;
+    rsnset2( cf, bw, 2.0, 1.0, q1, srate );
+    outbuf[i] = reson(inbuf[i], q1);
+    if( channels == 2 ){
+      rsnset2( cf, bw, 2.0, 1.0, q2, srate );
+      outbuf[i+1] = reson(inbuf[i+1], q2);
+    }
+  }
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+
+}
+
+void stv(t_bashfest *x, int slot, int *pcount)
+{
+  int i,j;
+  /* main variables */
+
+//  int out_frames;
+  int frames = x->events[slot].sample_frames;
+  int channels = x->events[slot].out_channels;
+//  int buf_frames = x->buf_frames;
+  float *params = x->params; 
+  float srate = x->sr;
+  /*function specific*/
+  float *sinewave = x->sinewave;
+  int sinelen = x->sinelen ;
+  float *delayline1 = x->delayline1;  
+  float *delayline2 = x->delayline2;  
+  float max_delay = x->maxdelay ;
+  CMIXOSC osc1, osc2; // put into main object structure
+  float mindel, maxdel;
+  float fac1, fac2;
+  int dv1[2], dv2[2]; /* cmix bookkeeping */
+  float delay_time;
+  float speed1, speed2, depth ;
+//  float max;
+
+  float *inbuf, *outbuf;
+  int in_start = x->events[slot].in_start;
+  int out_start = x->events[slot].out_start;
+//  int in_frames = x->events[slot].sample_frames;
+  int buflen = x->buf_samps;
+  int halfbuffer = x->halfbuffer;
+  
+  ++(*pcount);
+  speed1 = params[(*pcount)++];
+  speed2 = params[(*pcount)++];
+  depth = params[(*pcount)++];
+
+  out_start = (in_start + halfbuffer) % buflen ;
+  inbuf = x->events[slot].workbuffer + in_start;    
+  outbuf = x->events[slot].workbuffer + out_start;  
+
+  mindel = .001;
+  maxdel = depth;
+
+  if( maxdel > max_delay ){
+    maxdel = max_delay;
+  }
+
+  delset2(delayline1, dv1, max_delay,srate);
+  delset2(delayline2, dv2, max_delay,srate);
+
+  fac2 = .5 * (maxdel - mindel) ;
+  fac1 = mindel + fac2;
+
+  osc1.func = sinewave;
+  osc1.len = sinelen;
+  osc1.si = ((float) sinelen / srate ) * speed1 ;
+  osc1.phs = 0;
+  osc1.amp = fac2;
+
+  osc2.func = sinewave;
+  osc2.len = sinelen;
+  osc2.si = ((float) sinelen / srate ) * speed2 ;
+  osc2.phs = 0;
+  osc2.amp = fac2;
+
+  if( channels == 1 ){
+    for(i = 0, j = 0; i < frames; i++, j+=2 ){
+      
+      delay_time = fac1 +
+	oscil(osc1.amp, osc1.si, osc1.func, osc1.len, &osc1.phs);
+      delput2( inbuf[i], delayline1, dv1);
+      outbuf[j] = dliget2(delayline1, delay_time, dv1,srate);
+      
+      delay_time = fac1 +
+	oscil(osc2.amp, osc2.si, osc2.func, osc2.len, &osc2.phs);
+      delput2( inbuf[i], delayline2, dv2);
+      outbuf[j + 1] = dliget2(delayline2, delay_time, dv2,srate);    
+    }
+  }
+  else if( channels == 2 ){
+    for(i = 0; i < frames*2; i += 2 ){
+      delay_time = fac1 +
+	oscil(osc1.amp, osc1.si, osc1.func, osc1.len, &osc1.phs);
+      delput2( inbuf[i], delayline1, dv1);
+      outbuf[i] = dliget2(delayline1, delay_time, dv1,srate);
+      
+      delay_time = fac1 +
+	oscil(osc2.amp, osc2.si, osc2.func, osc2.len, &osc2.phs);
+      delput2( inbuf[i + 1], delayline2, dv2);
+      outbuf[i + 1] = dliget2(delayline2, delay_time, dv2,srate);    
+      
+    }
+  }
+  x->events[slot].out_start = in_start;
+  x->events[slot].in_start = (x->events[slot].out_start + halfbuffer) % buflen ;
+  x->events[slot].out_channels = 2; // we are now stereo, regardless of what we were before
+}
diff --git a/externals/lyonpotpourri/bashfest_helper.c b/externals/lyonpotpourri/bashfest_helper.c
new file mode 100755
index 000000000..81061ecb4
--- /dev/null
+++ b/externals/lyonpotpourri/bashfest_helper.c
@@ -0,0 +1,648 @@
+#include "bashfest.h"
+#include "stdlib.h"
+
+void putsine (float *arr, int len);
+float boundrand(float min, float max);
+
+
+void putsine (float *arr, int len) 
+{
+  int i;
+  double twopi;
+  twopi = 8.0 * atan2(1.,1.);
+
+  for ( i = 0; i < len ; i++) {
+    *(arr + i) = sin( twopi * i / len);
+  }
+}
+
+float boundrand(float min, float max)
+{
+  return min + (max-min) * ((float)rand()/MY_MAX);
+}
+
+
+void mycombset(float loopt,float rvt,int init,float *a,float srate)
+{
+  int j;
+  
+  a[0] =  (3.0 + (loopt * srate + .5));
+  a[1] = rvt;
+  if(!init) { 
+    for(j=3; j<(int)*a; j++)  
+      a[j] = 0;
+    a[2] = 3;
+  }
+}
+
+float mycomb(float samp,float *a)
+{
+  float temp,*aptr;
+  if ( a[2] >= (int) a[0]) 
+    a[2] = 3;
+  aptr = a + (int)a[2];
+  a[2]++; 
+  temp = *aptr;
+  *aptr = *aptr * a[1] + samp;
+  return(temp);
+}
+
+void setweights(float *a, int len)
+{
+  float sum = 0.0;
+  int i;
+  for(i=0;i<len;i++)
+    sum += a[i];
+  if(sum == 0.0){
+    error("zero odds sum");
+  }
+  for(i=0;i<len;i++)
+    a[i] /= sum;
+  for(i=1;i<len;i++)
+    a[i] += a[i-1];
+}
+
+void  delset2(float *a,int *l,float xmax, float srate)
+{
+  /* delay initialization.  a is address of float array, l is size-2 int 
+   * array for bookkeeping variables, xmax, is maximum expected delay */
+
+  int i;
+  *l = 0;
+  *(l+1) = (int)(xmax * srate + .5);
+  for(i = 0; i < *(l+1); i++) *(a+i) = 0;
+}
+
+void delput2(float x,float *a,int *l)
+{
+
+  /* put value in delay line. See delset. x is float */
+
+  *(a + (*l)++) = x;
+  if(*(l) >= *(l+1)) *l -= *(l+1);
+}                                                            
+
+float dliget2(float *a,float wait,int *l,float srate)
+{
+  /* get interpolated value from delay line, wait seconds old */
+  register int im1;
+  float x = wait * srate;
+  register int i = x;
+  float frac = x - i;
+  i = *l - i;
+  im1 = i - 1;
+  if(i <= 0) { 
+    if(i < 0) i += *(l+1);
+    if(i < 0) return(0.);
+    if(im1 < 0) im1 += *(l+1);
+  }
+  return(*(a+i) + frac * (*(a+im1) - *(a+i)));
+}
+
+void butterLopass( float *in, float *out, float cutoff, int frames, int channels, float srate)
+
+{
+  int channel_to_compute;
+  float data[8];
+
+  for( channel_to_compute = 0; channel_to_compute < channels; channel_to_compute++) {
+    butset( data );
+    lobut(data, cutoff, srate);
+    butter_filter( in, out, data, frames, channels, channel_to_compute);
+  }
+
+}
+
+void butterBandpass(float *in, float *out, float center, float bandwidth, int frames,int  channels, float srate)
+{
+  int channel_to_compute;
+  float data[8];
+
+  for( channel_to_compute = 0; channel_to_compute < channels; channel_to_compute++) {
+    butset( data );
+    bpbut(data, center, bandwidth, srate);
+    butter_filter( in, out, data, frames, channels, channel_to_compute);
+  }
+
+}
+
+
+void butterHipass(float *in, float *out, float cutoff, int frames,int channels, float srate)
+{
+  int channel_to_compute;
+  float data[8];
+
+  for( channel_to_compute = 0; channel_to_compute < channels; channel_to_compute++) {
+    butset( data );
+    hibut(data, cutoff, srate);
+    butter_filter( in, out, data, frames, channels, channel_to_compute);
+  }
+
+}
+
+void butset(float *a)		
+{
+  a[6] = a[7] = 0.0;
+}
+
+void lobut(float *a, float cutoff,float SR)			
+{
+  register float	 c;
+
+  c = 1.0 / tan( PI * cutoff / SR);
+  a[1] = 1.0 / ( 1.0 + ROOT2 * c + c * c);
+  a[2] = a[1] + a[1];
+  a[3] = a[1];
+  a[4] = 2.0 * ( 1.0 - c*c) * a[1];
+  a[5] = ( 1.0 - ROOT2 * c + c * c) * a[1];
+
+	
+}
+
+void hibut(float *a, float cutoff, float SR)			
+{
+
+  register float	c;
+
+  c = tan( PI * cutoff / SR);
+  a[1] = 1.0 / ( 1.0 + ROOT2 * c + c * c);
+  a[2] = -2.0 * a[1];
+  a[3] = a[1];
+  a[4] = 2.0 * ( c*c - 1.0) * a[1];
+  a[5] = ( 1.0 - ROOT2 * c + c * c) * a[1];
+
+}
+
+void bpbut(float *a, float formant, float bandwidth,float  SR)
+{
+  register float  c, d;
+
+  c = 1.0 / tan( PI * bandwidth / SR);
+  d = 2.0 * cos( 2.0 * PI * formant / SR);
+  a[1] = 1.0 / ( 1.0 + c);
+  a[2] = 0.0;
+  a[3] = -a[1];
+  a[4] = - c * d * a[1];
+  a[5] = ( c - 1.0) * a[1];
+	
+}
+/* in array can == out array */
+
+void butter_filter(float *in,float *out,float *a, int frames, int channels, int channel)
+{
+
+  int i;
+  float t ,y ;
+
+  for( i = channel ; i < frames * channels; i+= channels )
+    {
+      t = *(in + i) - a[4] * a[6] - a[5] * a[7];
+      y = t * a[1] + a[2] * a[6] + a[3] * a[7];
+      a[7] = a[6];
+      a[6] = t;
+      *(out + i) = y;
+    }
+}
+
+void rsnset2(float cf,float bw,float scl,float xinit,float *a,float srate)
+{
+//  double exp(),cos(),sqrt();
+  float c,temp;
+  if(!xinit) {
+    a[4] = 0;
+    a[3] = 0;
+  }
+  a[2] = exp(-PI2 * bw/srate);
+  temp = 1. - a[2];
+  c = a[2] + 1;
+  a[1] = 4. * a[2]/c * cos(PI2 * cf/srate);
+  if(scl < 0) a[0] = 1;
+  if(scl) a[0] = sqrt(temp/c*(c*c-a[1]*a[1]));
+  if(!scl) a[0] = temp*sqrt(1.-a[1]*a[1]/(4.*a[2]));
+}
+
+float reson(float x,float *a)
+{
+  float temp;
+  temp = *a * x + *(a+1) * *(a+3) - *(a+2) * *(a+4);
+  *(a+4) = *(a+3);
+  *(a+3) = temp;
+  return(temp);
+}
+
+float allpass(float samp,float *a)
+{
+  float temp,*aptr;
+  if ( a[STARTM1] >= (int) a[0]) a[STARTM1] = START;
+  aptr = a + (int)a[STARTM1];
+  a[STARTM1] ++; 
+  temp = *aptr;
+  *aptr = *aptr * a[1] + samp;
+  return(temp - a[1] * *aptr);
+}
+
+void init_reverb_data(float *a)
+{
+  a[0] = 2;
+  a[1] = -0.61043329;
+  a[2] = -1.4582246;
+  a[3] = 1;
+  a[4] = 0.75887003;
+  a[5] = 1;
+  a[6] = -0.6922953;
+  a[7] = 0;
+  a[8] = 0;
+  a[9] = 0.035888535;
+}
+
+void reverb1me(float *in, float *out, int inFrames, int out_frames, int nchans, 
+	       int channel, float revtime, float dry, t_bashfest *x)
+{
+  float dels[4];// stick into main structure
+  float **alpo = x->mini_delay ;
+  float a1,a2,a3,a4;
+  int i;
+//  int alsmp ;
+  float *fltdata = x->reverb_ellipse_data;
+
+  int nsects;
+  float xnorm;
+  LSTRUCT *eel = x->eel;
+
+  float wet;
+//  float max;
+  float srate = x->sr;
+//  float max_del = x->max_mini_delay ;
+
+  wet = cos(1.570796 * dry);
+  dry = sin(1.570796 * dry);
+
+  /* combset uses reverb time , mycombset uses feedback */
+  for( i = 0; i < 4; i++ ){
+    dels[i] = boundrand(.005, .1 );
+	if(dels[i] < .005 || dels[i] > 0.1) {
+		post("reverb1: bad random delay time: %f",dels[i]);
+		dels[i] = .05;
+	}
+    mycombset(dels[i], revtime, 0, alpo[i], srate);
+  }
+
+  ellipset(fltdata,eel,&nsects,&xnorm); 
+
+  for( i = channel ; i < inFrames * nchans; i += nchans ){
+
+    a1 = allpass(in[i], alpo[0]);
+    a2 = allpass(in[i], alpo[1]);
+    a3 = allpass(in[i], alpo[2]);
+    a4 = allpass(in[i], alpo[3]); 
+    
+
+    out[i] = in[i] * dry + ellipse((a1+a2+a3+a4), eel, nsects,xnorm) * wet;
+  }
+
+  for( i = channel + inFrames * nchans; i < out_frames * nchans; i += nchans ){
+
+    a1 = allpass(0.0, alpo[0]);
+    a2 = allpass(0.0, alpo[1]);
+    a3 = allpass(0.0, alpo[2]);
+    a4 = allpass(0.0, alpo[3]); 
+
+    out[i] =  ellipse((a1+a2+a3+a4), eel, nsects,xnorm) * wet;
+
+  }
+
+}
+
+void feed1(float *inbuf, float *outbuf, int in_frames, int out_frames,int channels, float *functab1,
+	   float *functab2,float *functab3,float *functab4,int funclen, 
+	   float duration, float maxDelay, t_bashfest *x)
+{
+  int i;
+  float srate = x->sr;
+  float *delayLine1a = x->mini_delay[0];
+  float *delayLine2a = x->mini_delay[1];
+  float *delayLine1b = x->mini_delay[2];
+  float *delayLine2b = x->mini_delay[3];
+  int dv1a[2], dv2a[2];		/* cmix bookkeeping */
+  int dv1b[2], dv2b[2];		/* cmix bookkeeping */
+  float delsamp1a=0, delsamp2a=0 ;
+  float delsamp1b=0, delsamp2b=0 ;
+  float delay1, delay2, feedback1, feedback2;
+  float funcSi, funcPhs;
+  float putsamp;
+
+  /***************************/
+
+  funcPhs = 0.;
+
+  // read once during note
+
+
+  funcSi = ((float) funclen / srate) / duration ;
+
+
+  delset2(delayLine1a, dv1a, maxDelay,srate);
+  delset2(delayLine2a, dv2a, maxDelay,srate);
+
+  if( channels == 2 ){
+    delset2(delayLine1b, dv1b, maxDelay,srate);
+    delset2(delayLine2b, dv2b, maxDelay,srate);
+  }
+
+
+  for(i = 0; i < out_frames*channels; i += channels ){
+    // buffer loop 
+
+    delay1 = functab1[ (int) funcPhs ];
+    delay2 = functab2[ (int) funcPhs ];
+    feedback1 = functab3[ (int) funcPhs ];
+    feedback2 = functab4[ (int) funcPhs ];
+
+    funcPhs += funcSi;
+    if( funcPhs >= (float) funclen )
+      funcPhs = 0;
+
+    putsamp = i < in_frames * channels ? inbuf[i] + delsamp1a*feedback1 : 0.0;
+	outbuf[i] = putsamp; // zero instead ??
+    
+    delput2( putsamp, delayLine1a, dv1a);
+    delsamp1a = dliget2(delayLine1a, delay1, dv1a,srate);
+
+    putsamp = delsamp1a+delsamp2a*feedback2 ;
+
+    delput2( putsamp, delayLine2a, dv2a);
+	delsamp2a = dliget2(delayLine2a, delay2, dv2a, srate);
+    outbuf[i] += delsamp2a;
+    
+
+    if( channels == 2 ){
+      putsamp = i < in_frames * channels ? inbuf[i+1] + delsamp1a*feedback1 : 0.0;
+	  outbuf[i+1] = putsamp;
+      delput2( putsamp, delayLine1b, dv1b);
+      delsamp1b = dliget2(delayLine1b, delay1, dv1b, srate);
+      putsamp = delsamp1b+delsamp2b*feedback2;
+      delput2( putsamp, delayLine2b, dv2b);
+	  delsamp2b = dliget2(delayLine2b, delay2, dv2b, srate);
+      outbuf[i+1] += delsamp2b;
+    }
+
+  }
+
+}
+
+void setflamfunc1(float *arr, int flen)
+{
+  int i;
+  float x;
+  for ( i = 0; i < flen; i++){
+    x = (float)i / (float) flen ;
+    *(arr + i) = ((x - 1) / (x + 1)) * -1.  ;
+
+  }
+}
+
+
+void setExpFlamFunc(float *arr, int flen, float v1,float v2,float alpha)
+{
+  int i;
+
+  if( alpha == 0 )
+    alpha = .00000001 ;
+
+  for ( i = 0; i < flen; i++){
+    *(arr + i) = v1 + (v2-v1) * ((1-exp((float)i*alpha/((float)flen-1.)))/(1-exp(alpha)));
+  }
+}
+
+void funcgen1(float *outArray, int outlen, float duration, float outMin, float outMax,
+	 float speed1, float speed2, float gain1, float gain2, float *phs1, float *phs2, 
+	 float *sine, int sinelen)
+{
+  float si1, si2;
+  float localSR;
+  int i;
+
+  localSR = duration * (float) outlen ;
+  *phs1 *= (float) sinelen;
+  *phs2 *= (float) sinelen;
+  si1 = ((float)sinelen/localSR)  * speed1;
+  si2 = ((float)sinelen/localSR)  * speed2;
+
+  for( i = 0; i < outlen; i++ ){
+    *(outArray + i) = oscil(gain1, si1, sine, sinelen, phs1) ;
+    *(outArray + i) += oscil(gain2, si2, sine, sinelen, phs2) ;
+  }
+  normtab( outArray, outArray, outMin, outMax, outlen);
+
+}
+
+
+void normtab(float *inarr,float *outarr, float min, float max, int len)
+{
+  int i;
+
+  float imin=9999999999., imax=-9999999999.;
+
+  for(i = 0; i < len ; i++){
+    if( imin > inarr[i] ) 
+      imin = inarr[i];
+    if( imax < inarr[i] ) 
+      imax = inarr[i];
+  }
+  for(i = 0; i < len; i++ )
+    outarr[i] = mapp(inarr[i], imin, imax, min, max);
+  
+}
+
+float mapp(float in,float imin,float imax,float omin,float omax)
+{
+  if( imax == 0.0 )
+    {
+      return 0.0 ;
+    }
+  return( omin+((omax-omin)*((in-imin)/(imax-imin))) );
+}
+
+float oscil(float amp,float si,float *farray,int len,float *phs)
+{
+  register int i =  *phs;   
+  *phs += si;            
+  while(*phs >= len)
+    *phs -= len;     
+  return(*(farray+i) * amp);
+}
+
+void killdc( float *inbuf, int in_frames, int channels, t_bashfest *x)
+{
+  int i,j=1;
+  LSTRUCT *eel = x->eel;
+  int nsects;
+  float xnorm;
+  float *dcflt = x->dcflt;
+  
+  /* float dcflt[64] =
+     {3, -1.9999924    , -1.9992482    ,  1.0000000 
+     ,  .99928019    ,
+     -1.9999956    , -1.9964080    ,  1.0000000    ,  .99645999    ,
+     -1.9999994    , -1.9805074    ,  1.0000000    ,  .98069401    ,
+     .98817413E+00};*/
+
+  for( j = 0; j < channels; j++) {
+    ellipset(dcflt,eel,&nsects,&xnorm); 
+    
+    for( i = j; i < in_frames * channels ; i += channels ){
+      inbuf[i] = ellipse(inbuf[i], eel, nsects,xnorm);
+    }
+  }
+}
+
+void set_dcflt(float *a)
+{
+  a[0] = 3;
+  a[1] = -1.9999924;
+  a[2] = -1.9992482;
+  a[3] = 1;
+  a[4] = 0.99928019;
+  a[5] = -1.9999956;
+  a[6] = -1.996408;
+  a[7] = 1;
+  a[8] = 0.99645999;
+  a[9] = -1.9999994;
+  a[10] = -1.9805074;
+  a[11] = 1;
+  a[12] = 0.98069401;
+  a[13] = 0.98817413;
+}
+
+void set_distortion_table(float *arr, float cut, float max, int len)
+{
+  int i, len2;
+  float samp;
+
+  len2 = len>>1 ;
+  for( i = len2; i < len; i++ ){
+    samp = (float)(i - len2) / (float) len2 ; 
+    if( samp > cut )
+      samp = mapp( samp, cut, 1.0,  cut, max );
+    *(arr + i) = samp;
+  }
+  for( i = 0; i < len2; i++ )
+    *(arr + i) = - *(arr + len - (i+1));
+}
+
+float dlookup(float samp,float *arr,int len) 
+{
+  return arr[(int) (((samp+1.0)/2.0) * (float) len)];
+
+}
+
+void do_compdist(float *in,float *out,int sampFrames,int nchans,int channel, 
+	    float cutoff,float maxmult,int lookupflag,float *table,int range,float bufMaxamp)
+{
+
+  int i;
+
+  float rectsamp;
+
+  for( i = channel ; i < sampFrames * nchans; i+= nchans )
+    {
+	
+      if( lookupflag){
+	*(out + i) = dlookup( *(in + i)/bufMaxamp, table, range );
+      } else {
+	rectsamp = fabs( *(in + i) ) / bufMaxamp;
+	if( rectsamp > cutoff ){
+	  *(in + i) = *(out + i) * 
+	    mapp( rectsamp, cutoff, 1.0, cutoff, maxmult);
+	}
+      }
+    }
+}
+
+float getmaxamp(float *arr, int len) 
+{
+  int i;
+  float max = 0;
+
+  for(i = 0; i < len; i++ ){
+    if( fabs(arr[i]) > max )
+      max = fabs(arr[i]);
+  }
+  return max;
+}
+
+void buildadsr(CMIXADSR *a)
+{
+  float A = a->a;
+  float D = a->d;
+  float S = a->s;
+  float R = a->r;
+  float f1 = a->v1;
+  float f2 = a->v2;
+  float f3 = a->v3;
+  float f4 = a->v4;
+
+  int funclen = a->len;
+  float *func = a->func;
+  float total;
+  int ipoint = 0;
+  int i;
+  int segs[4];
+  float m1,m2;
+  total = A + D + S + R ;
+
+  segs[0] = (A/total) * funclen;
+  segs[1] = (D/total) * funclen;
+  segs[2] = (S/total) * funclen;
+  segs[3] = funclen - (segs[0]+segs[1]+segs[2]);
+
+  if( f1 > 20000. || f1 < -20000. ){
+    f1 = 250.0;
+  }
+  if( f2 > 20000. || f2 < -20000. ){
+    f2 = 1250.0;
+  }
+  if( f3 > 20000. || f3 < -20000. ){
+    f3 = 950.0;
+  }
+  if( f4 > 20000. || f4 < -20000. ){
+    f4 = f1;
+  }
+
+  if( segs[0] <= 0 || segs[1] <= 0 || segs[2] <= 0 || segs[3] <= 0 ){
+
+    for( i = 0; i < 4; i++ ){
+      segs[i] = funclen / 4;
+    }
+  }
+
+  for( i = 0 ; i < segs[0]; i++ ){
+    m1 = 1.-(float)i/(float)(segs[0]);
+    m2 = 1. - m1;
+    *(func +i ) = f1 * m1 + f2 * m2;
+  }
+  ipoint = i;
+
+  for( i = 0 ; i < segs[1]; i++ ){
+    m1 = 1.-(float)i/(float)(segs[1]);
+    m2 = 1. - m1;
+    *(func + i + ipoint) = f2 * m1 + f3 * m2;
+  }
+  ipoint += i;
+
+  for( i = 0 ; i < segs[2]; i++ ){
+    m1 = 1.-(float)i/(float)(segs[2]);
+    m2 = 1. - m1;
+    *(func + i + ipoint) = f3;
+  }
+  ipoint += i;
+
+  for( i = 0 ; i < segs[3]; i++ ){
+    m1 = 1.-(float)i/(float)(segs[3]);
+    m2 = 1. - m1;
+    *(func + ipoint + i) = f3 * m1 + f4 * m2;
+  }
+  ipoint += i;
+
+}
+
diff --git a/externals/lyonpotpourri/bashfest~-help.pd b/externals/lyonpotpourri/bashfest~-help.pd
new file mode 100755
index 000000000..6af9f919f
--- /dev/null
+++ b/externals/lyonpotpourri/bashfest~-help.pd
@@ -0,0 +1,312 @@
+#N canvas 405 213 512 342 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array bashdrum 16884 float 2;
+#X coords 0 1 16884 -1 60 20 1;
+#X restore 291 75 graph;
+#X obj 146 297 dac~;
+#N canvas 696 403 518 368 load-samples 0;
+#X obj 41 107 soundfiler;
+#X msg 41 39 bang;
+#X obj 41 65 openpanel;
+#X obj 158 26 loadbang;
+#X msg 41 87 read -resize \$1 bashdrum;
+#X obj 156 132 loadbang;
+#X msg 157 52 read -resize sound/kick_11d.aiff bashdrum;
+#X msg 111 161 read -resize sound/hi_c_12b.aiff hihat;
+#X msg 148 203 read -resize sound/KR55SNAR.aiff snare;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 291 110 pd load-samples;
+#X floatatom 429 211 5 0 0 0 - - -, f 5;
+#X msg 429 183 0.5;
+#X obj 429 156 loadbang;
+#X obj 146 113 samm~ 120 4;
+#N canvas 525 461 474 324 hatter 0;
+#X obj 74 99 player~ hihat 1;
+#X obj 174 70 sig~ 1;
+#X obj 74 47 mask~ 1 0.7 0.7 0.7 1 0 0.5 0.6 1 0.7 1 0 1 0.7 0 0;
+#X obj 74 19 inlet~;
+#X obj 74 222 vdp~ 500;
+#X msg 311 123 44100;
+#X msg 266 122 16384;
+#X obj 278 148 /;
+#X obj 266 97 t b b;
+#X floatatom 99 196 10 0 0 0 - - -, f 10;
+#X obj 293 73 loadbang;
+#X obj 266 75 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 74 275 outlet~;
+#X text 137 223 compensate for bashfest latency;
+#X obj 279 179 * 1000;
+#X floatatom 135 253 5 0 0 0 - - -, f 5;
+#X obj 74 248 *~ 0.15;
+#X connect 0 0 4 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 7 1;
+#X connect 6 0 7 0;
+#X connect 7 0 14 0;
+#X connect 8 0 6 0;
+#X connect 8 1 5 0;
+#X connect 9 0 4 1;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 14 0 9 0;
+#X connect 15 0 16 1;
+#X connect 16 0 12 0;
+#X restore 82 201 pd hatter;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array hihat 9097 float 2;
+#X coords 0 1 9097 -1 60 20 1;
+#X restore 356 75 graph;
+#N canvas 0 22 462 312 metronome-control 0;
+#X floatatom 52 88 5 0 0 0 - - -, f 5;
+#X msg 51 112 tempo \$1;
+#X msg 127 59 120;
+#X msg 51 55 60;
+#X msg 138 114 pause;
+#X msg 190 114 resume;
+#X obj 81 150 outlet;
+#X msg 92 56 140;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 7 0 0 0;
+#X restore 146 73 pd metronome-control;
+#N canvas 441 424 622 472 processor-control 0;
+#X obj 169 182 outlet;
+#N canvas 301 93 925 625 set-processor-odds 0;
+#X obj 87 552 outlet;
+#X msg 392 170 setodds 0 0 0 0 0 1;
+#X text 543 169 sweepreson;
+#X msg 391 316 setodds 0 0 0 0 0 0 0 0 0 0 0 1;
+#X msg 388 481 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X msg 391 447 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X msg 388 509 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 708 509 resonadsr;
+#X msg 387 535 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 468 51 transpose;
+#X msg 393 54 setodds 1;
+#X text 485 75 ringmod;
+#X msg 394 76 setodds 0 1;
+#X text 518 145 truncate;
+#X msg 393 145 setodds 0 0 0 0 1;
+#X msg 393 239 setodds 0 0 0 0 0 0 0 0 1;
+#X msg 86 160 flatodds;
+#X text 362 8 Processors by position in list. Any list combination
+will select a set of processors in specified weighting for random selection.
+;
+#X text 493 99 flange;
+#X msg 392 100 setodds 0 0 1;
+#X text 514 121 butterworth filters;
+#X msg 394 120 setodds 0 0 0 1;
+#X msg 394 192 setodds 0 0 0 0 0 0 1;
+#X text 545 191 comb;
+#X text 565 214 slidecomb;
+#X msg 393 215 setodds 0 0 0 0 0 0 0 1;
+#X text 586 239 reverb;
+#X msg 392 265 setodds 0 0 0 0 0 0 0 0 0 1;
+#X text 590 268 elliptical filters;
+#X msg 392 291 setodds 0 0 0 0 0 0 0 0 0 0 1;
+#X text 608 293 distortion/compression;
+#X text 615 313 feedback;
+#X msg 390 343 setodds 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 624 342 reverse;
+#X msg 390 367 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 649 366 flam1;
+#X msg 390 391 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 664 391 flam2;
+#X msg 390 417 setodds 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;
+#X text 671 419 expflam;
+#X text 688 442 comb4;
+#X text 700 479 ringmod/feedback;
+#X text 722 535 stereo vdelay;
+#X msg -21 73 setodds 0.25 0.5 1 0 0 1 0.2 0 0 1 1 0.1 0.1 0 0 0.3
+;
+#X msg -12 96 setodds 1 1 1 1 1 1 1 1 0 1 1 0 1 0.2 0.2 0.2 1 1 1 1
+;
+#X text 2 53 a couple distributions;
+#X text 85 141 equal distribution;
+#X connect 1 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 8 0 0 0;
+#X connect 10 0 0 0;
+#X connect 12 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 19 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X connect 25 0 0 0;
+#X connect 27 0 0 0;
+#X connect 29 0 0 0;
+#X connect 32 0 0 0;
+#X connect 34 0 0 0;
+#X connect 36 0 0 0;
+#X connect 38 0 0 0;
+#X connect 43 0 0 0;
+#X connect 44 0 0 0;
+#X restore 170 80 pd set-processor-odds;
+#N canvas 0 22 466 316 efficiency 0;
+#X msg 53 138 mute \$1;
+#X obj 53 98 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 168 119 block_dsp \$1;
+#X obj 169 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 139 182 outlet;
+#X text 211 93 turn off dsp;
+#X text 54 81 mute object;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X restore 284 155 pd efficiency;
+#N canvas 415 474 641 390 process-amount 0;
+#X obj 78 207 outlet;
+#N canvas 680 241 454 304 setodds 0;
+#X msg 124 131 minimum_process \$1;
+#X obj 158 91 unpack f f;
+#X msg 294 131 maximum_process \$1;
+#X obj 125 163 outlet;
+#X obj 159 58 inlet;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 1 1 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X restore 79 165 pd setodds;
+#X msg 79 130 0 1;
+#X msg 36 130 0 0;
+#X msg 120 131 1 1;
+#X msg 156 131 1 2;
+#X text 162 164 set minimum and maximum processing iterations.;
+#X text 164 185 More processing means cooler sounds \, but could;
+#X msg 194 131 2 4;
+#X text 163 205 also overtax your CPU.;
+#X obj 120 94 loadbang;
+#X msg 234 133 4 8;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 8 0 1 0;
+#X connect 10 0 4 0;
+#X connect 11 0 1 0;
+#X restore 207 116 pd process-amount;
+#X msg 75 135 grab;
+#X text 17 103 grab new sound from current processing;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X restore 6 74 pd processor-control;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array snare 9284 float 2;
+#X coords 0 1 9284 -1 60 20 1;
+#X restore 420 75 graph;
+#X obj 146 178 bashfest~ snare 2000 16384 12;
+#X obj 146 139 mask~ 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1;
+#N canvas 46 411 513 413 bassdrum 0;
+#X obj 156 100 sig~ 1;
+#X obj 35 7 inlet~;
+#X obj 35 270 vdp~ 500;
+#X msg 272 178 44100;
+#X msg 227 177 16384;
+#X obj 239 203 /;
+#X obj 227 152 t b b;
+#X floatatom 61 243 10 0 0 0 - - -, f 10;
+#X obj 254 128 loadbang;
+#X obj 227 130 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 35 353 outlet~;
+#X text 98 271 compensate for bashfest latency;
+#X floatatom 73 308 5 0 0 0 - - -, f 5;
+#X obj 239 226 * 1000;
+#X obj 35 147 player~ bashdrum 1;
+#X obj 35 36 mask~ 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0;
+#X obj 35 327 *~ 0.4;
+#X obj 77 292 hsl 90 8 0 0.5 0 0 empty empty empty -2 -8 0 10 -261820
+-1 -1 0 1;
+#X connect 0 0 14 1;
+#X connect 1 0 15 0;
+#X connect 2 0 16 0;
+#X connect 3 0 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 13 0;
+#X connect 6 0 4 0;
+#X connect 6 1 3 0;
+#X connect 7 0 2 1;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 12 0 16 1;
+#X connect 13 0 7 0;
+#X connect 14 0 2 0;
+#X connect 15 0 14 0;
+#X connect 16 0 10 0;
+#X connect 17 0 12 0;
+#X restore 7 202 pd bassdrum;
+#X obj 146 223 *~ 0.4;
+#X obj 200 224 *~ 0.4;
+#N canvas 0 22 458 308 stereo-mix 0;
+#X obj 91 54 inlet~;
+#X obj 186 60 inlet~;
+#X obj 91 166 outlet~;
+#X obj 186 160 outlet~;
+#X obj 91 107 *~ 0.2;
+#X obj 186 109 *~ 0.2;
+#X obj 301 47 inlet;
+#X floatatom 301 73 5 0 0 0 - - -, f 5;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 1;
+#X connect 7 0 4 1;
+#X restore 146 266 pd stereo-mix;
+#X obj 266 247 hsl 100 12 0 1 0 0 empty empty gain -2 -8 0 10 -261820
+-1 -1 0 1;
+#X text 3 41 bashfest~ is a click triggered soundfile player with random
+DSP., f 65;
+#X text 153 159 args: array \, maxdur \, latency \, voices;
+#X obj 3 5 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X connect 3 0 15 1;
+#X connect 3 0 16 1;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 13 0;
+#X connect 6 0 7 0;
+#X connect 6 0 14 0;
+#X connect 7 0 17 1;
+#X connect 7 0 17 0;
+#X connect 9 0 6 0;
+#X connect 10 0 12 0;
+#X connect 12 0 15 0;
+#X connect 12 1 16 0;
+#X connect 13 0 12 0;
+#X connect 14 0 17 1;
+#X connect 14 0 17 0;
+#X connect 15 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 1 0;
+#X connect 17 1 1 1;
+#X connect 18 0 17 2;
diff --git a/externals/lyonpotpourri/bashfest~.c b/externals/lyonpotpourri/bashfest~.c
new file mode 100755
index 000000000..8055eced3
--- /dev/null
+++ b/externals/lyonpotpourri/bashfest~.c
@@ -0,0 +1,1357 @@
+#import "MSPd.h"
+#include "bashfest.h"
+#include <string.h>
+
+/* THIS IS PROBABLY THE LIMITING FACTOR FOR LARGE BUFFER SIZES
+ SO, MAKE THIS A PARAMETER, -OR- BUFFER THE INPUT TRIGGER ITSELF!!!
+ */
+#define DEFAULT_MAX_OVERLAP (8) // number of overlapping instances allowed
+#define ACTIVE 0
+#define INACTIVE 1
+#define MAX_VEC 2048
+#define DEFAULT_BUFFER_SIZE 4000.0 // 4 second default buffer size * 2
+#define DEFAULT_LATENCY 8192 //latency in samples after a trigger for note to start
+#define MAX_PARAMETERS 2048
+#define PROCESS_COUNT 20
+#define CYCLE_MAX 1024
+
+#define OBJECT_NAME "bashfest~"
+
+
+static t_class *bashfest_class;
+
+void *bashfest_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *bashfest_perform_hosed(t_int *w);
+void bashfest_dsp(t_bashfest *x, t_signal **sp);
+void bashfest_dsp_free(t_bashfest *x);
+int bashfest_set_parameters(t_bashfest *x,float *params);
+t_int *bashfest_perform(t_int *w);
+void bashfest_deploy_dsp(t_bashfest *x);
+void bashfest_copy_to_MSP_buffer(t_bashfest *x, int slot);
+/*user messages*/
+void bashfest_stop(t_bashfest *x);
+void bashfest_info(t_bashfest *x);
+void bashfest_mute(t_bashfest *x, t_floatarg t);
+void bashfest_maximum_process(t_bashfest *x, t_floatarg n);
+void bashfest_minimum_process(t_bashfest *x, t_floatarg n);
+void bashfest_setbuf(t_bashfest *x, t_symbol *wavename);
+void bashfest_flatodds(t_bashfest *x);
+void bashfest_killproc(t_bashfest *x, long p);
+void bashfest_soloproc(t_bashfest *x, long p);
+void bashfest_latency(t_bashfest *x, long n);
+void bashfest_verbose(t_bashfest *x, long t);
+void bashfest_block_dsp(t_bashfest *x, t_floatarg t);
+void bashfest_gozero(t_bashfest *x);
+void bashfest_grab(t_bashfest *x);
+void bashfest_setodds(t_bashfest *x,t_symbol *msg, short argc, t_atom *argv);
+void bashfest_tcycle(t_bashfest *x,t_symbol *msg, short argc, t_atom *argv);
+/* function code */
+
+void killdc( float *inbuf, int in_frames, int channels, t_bashfest *x);
+
+void ringmod(t_bashfest *x, int slot, int *pcount);
+void retrograde(t_bashfest *x, int slot, int *pcount);
+void comber(t_bashfest *x, int slot, int *pcount);
+void transpose(t_bashfest *x, int slot, int *pcount);
+void flange(t_bashfest *x, int slot, int *pcount);
+void butterme(t_bashfest *x, int slot, int *pcount);
+void truncateme(t_bashfest *x, int slot, int *pcount);
+void sweepreson(t_bashfest *x, int slot, int *pcount);
+void slidecomb(t_bashfest *x, int slot, int *pcount);
+void reverb1(t_bashfest *x, int slot, int *pcount);
+void ellipseme(t_bashfest *x, int slot, int *pcount);
+void feed1me(t_bashfest *x, int slot, int *pcount);
+void flam1(t_bashfest *x, int slot, int *pcount);
+void flam2(t_bashfest *x, int slot, int *pcount);
+void expflam(t_bashfest *x, int slot, int *pcount);
+void comb4(t_bashfest *x, int slot, int *pcount);
+void ringfeed(t_bashfest *x, int slot, int *pcount);
+void resonadsr(t_bashfest *x, int slot, int *pcount);
+void stv(t_bashfest *x, int slot, int *pcount);
+void compdist(t_bashfest *x, int slot, int *pcount);
+
+
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av);
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av);
+
+
+
+
+void bashfest_tilde_setup(void)
+{
+    bashfest_class = class_new(gensym("bashfest~"),(t_newmethod)bashfest_new,(t_method)bashfest_dsp_free, sizeof(t_bashfest), 0, A_GIMME,0);
+    CLASS_MAINSIGNALIN(bashfest_class,t_bashfest, x_f );
+    class_addmethod(bashfest_class,(t_method)bashfest_dsp,gensym("dsp"),A_CANT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_setbuf,gensym("setbuf"),A_SYMBOL,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_stop,gensym("stop"),0);
+    class_addmethod(bashfest_class,(t_method)bashfest_flatodds,gensym("flatodds"),0);
+    class_addmethod(bashfest_class,(t_method)bashfest_soloproc,gensym("soloproc"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_killproc,gensym("killproc"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_latency,gensym("latency"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_verbose,gensym("verbose"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_setodds,gensym("setodds"),A_GIMME,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_tcycle,gensym("tcycle"),A_GIMME,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_gozero,gensym("gozero"),0);
+    class_addmethod(bashfest_class,(t_method)bashfest_grab,gensym("grab"),0);
+    class_addmethod(bashfest_class,(t_method)bashfest_maximum_process,gensym("maximum_process"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_minimum_process,gensym("minimum_process"),A_FLOAT,0);
+    class_addmethod(bashfest_class,(t_method)bashfest_block_dsp,gensym("block_dsp"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void bashfest_block_dsp(t_bashfest *x, t_floatarg t)
+{
+    
+    x->block_dsp = (short)t;
+    
+}
+void bashfest_maximum_process(t_bashfest *x, t_floatarg n)
+{
+    if(n < 0){
+        error("illegal val to maximum_process");
+        return;
+    }
+    x->max_process_per_note = (int)n;
+}
+
+void bashfest_minimum_process(t_bashfest *x, t_floatarg n)
+{
+    if(n < 0){
+        error("illegal val to minimum_process");
+        return;
+    }
+    x->min_process_per_note = (int)n;
+}
+
+void bashfest_verbose(t_bashfest *x, long t)
+{
+    x->verbose = t;
+}
+void bashfest_latency(t_bashfest *x, long n)
+{
+    if(n < x->vs){
+        error("latency cannot be less than %d",x->vs);
+        return;
+    }
+    /*  if(n > x->latency_samples){
+     x->trigger_buffer = (float *) realloc(x->trigger_buffer, n * sizeof(float));
+     }
+     x->tb_inpt = 0;
+     x->tb_outpt = x->latency_samples - x->vs;*/
+    x->latency_samples = n;
+}
+
+void bashfest_stop(t_bashfest *x)
+{
+    int i;
+	
+    for(i = 0; i < x->overlap_max; i++){
+        x->events[i].status = INACTIVE;
+    }
+}
+
+
+void bashfest_mute(t_bashfest *x, t_floatarg t)
+{
+    x->mute = (short)t;
+}
+
+
+void bashfest_grab(t_bashfest *x)
+{
+    x->grab = 1;
+}
+
+void bashfest_tcycle(t_bashfest *x,t_symbol *msg, short argc, t_atom *argv)
+{
+    t_cycle tcycle = x->tcycle;
+    int i;
+    float data=1.0;
+	
+    if(argc < 1){
+        error("no data for tcycle!");
+        return;
+    } else if(argc > CYCLE_MAX){
+        error("%d is the maximum size tcycle",CYCLE_MAX);
+        return;
+    }
+    x->tcycle.len = argc;
+    x->tcycle.p = 0;
+    for(i=0;i<argc;i++){
+        atom_arg_getfloat(&data,i,argc,argv);
+        if(data <= 0.0){
+            error("bad data for tcycle:%f",data);
+        } else {
+            tcycle.data[i] = data;
+        }
+    }
+}
+
+void bashfest_gozero(t_bashfest *x)
+{
+    x->tcycle.p = 0;
+}
+
+void bashfest_setodds(t_bashfest *x,t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    
+    if(argc > PROCESS_COUNT){
+        error("there are only %d processes",PROCESS_COUNT);
+        return;
+    }
+    for(i=0;i<PROCESS_COUNT;i++){
+        x->odds[i] = 0.0;
+    }
+    
+    
+    for(i=0;i<argc;i++){
+        x->odds[i] = atom_getfloatarg(i,argc,argv);
+    }
+    
+    setweights(x->odds,PROCESS_COUNT);
+}
+
+void bashfest_soloproc(t_bashfest *x, long p)
+{
+    int i;
+    if(p < 0 || p >= PROCESS_COUNT){
+        error("bad %d",p);
+    }
+    for(i=0;i<PROCESS_COUNT;i++){
+        x->odds[i] = 0.0;
+    }
+    x->odds[p] = 1.0;
+    setweights(x->odds,PROCESS_COUNT);
+}
+
+void bashfest_killproc(t_bashfest *x, long p)
+{
+    int i;
+    if(p < 0 || p >= PROCESS_COUNT){
+        error("bad %d",p);
+    }
+    for(i=0;i<PROCESS_COUNT;i++){
+        x->odds[i] = 1.0;
+    }
+    x->odds[p] = 0.0;
+    setweights(x->odds,PROCESS_COUNT);
+}
+
+void bashfest_flatodds(t_bashfest *x)
+{
+    int i;
+    for(i=0;i<PROCESS_COUNT;i++){
+        x->odds[i] = 1.0;
+    }
+    setweights(x->odds,PROCESS_COUNT);
+}
+
+
+void *bashfest_new(t_symbol *msg, short argc, t_atom *argv)
+{
+
+    t_bashfest *x = (t_bashfest *)pd_new(bashfest_class);
+    //  outlet_new(&x->x_obj, gensym("signal"));
+    
+    int i;
+    long membytes = 0;
+    float tmpfloat;
+    srand(time(0));
+    
+    x->sr = sys_getsr();
+    x->vs = sys_getblksize();
+    if(! x->sr)
+        x->sr = 44100;
+    
+    
+    x->work_buffer_size = DEFAULT_BUFFER_SIZE;
+    //  x->latency_samples = DEFAULT_LATENCY;
+    //  x->overlap_max = DEFAULT_MAX_OVERLAP;
+	
+    /* argument list: buffer name, work buffer duration, latency in samples, number of overlaps */
+    atom_arg_getsym(&x->wavename,0,argc,argv);
+    atom_arg_getfloat(&x->work_buffer_size,1,argc,argv);
+    tmpfloat = DEFAULT_LATENCY;
+    atom_arg_getfloat(&tmpfloat,2,argc,argv);
+    x->latency_samples = tmpfloat;
+    tmpfloat = DEFAULT_MAX_OVERLAP;
+    atom_arg_getfloat(&tmpfloat,3,argc,argv);
+    x->overlap_max = tmpfloat;
+
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+    x->sinelen = 8192;
+    
+    x->verbose = 0;
+    x->most_recent_event = 0;
+    x->active_events = 0;
+    x->increment = 1.0;
+    x->block_dsp = 0;
+    x->grab = 0;
+    /*
+     x->tb_inpt = 0;
+     if(x->latency_samples < x->vs){
+     x->latency_samples = x->vs;//might need x->vs * 2 here
+     error("latency forced to %d samples",x->vs);
+     }
+     x->tb_outpt = x->latency_samples - x->vs;
+     */
+    /* buffer contains space for both input and output, thus factor of 2 */
+    x->buf_frames = 2 * x->work_buffer_size * .001 * x->sr;
+    
+    x->buf_samps = x->buf_frames * 2;
+    x->halfbuffer = x->buf_samps / 2;
+	
+    x->maxdelay = 1.0; // in seconds
+    /*memory allocation */
+    x->events = (t_event *) t_getbytes(x->overlap_max * sizeof(t_event));
+    x->trigger_vec = (float *) t_getbytes(MAX_VEC * sizeof(float));
+    x->sinewave = t_getbytes(x->sinelen * sizeof(float));
+    x->params = t_getbytes(MAX_PARAMETERS * sizeof(float));
+    x->odds = t_getbytes(64 * sizeof(float));
+    //  x->trigger_buffer = calloc(x->latency_samples, sizeof(float));
+    
+    for(i=0;i<64;i++)
+        x->odds[i] = 0;
+    putsine(x->sinewave, x->sinelen);
+    for(i=0;i<x->overlap_max;i++){
+        x->events[i].workbuffer = (float *) t_getbytes(x->buf_samps * sizeof(float));
+    }
+    x->delayline1 = (float *) t_getbytes(x->maxdelay * x->sr * sizeof(float));
+    x->delayline2 = (float *) t_getbytes(x->maxdelay * x->sr * sizeof(float));
+    x->max_mini_delay = .25;
+    x->eel = (LSTRUCT *) t_getbytes(MAXSECTS * sizeof(LSTRUCT));
+    for( i = 0; i < 4 ; i++ ){
+        x->mini_delay[i] =
+        (float *) t_getbytes(((int)(x->sr * x->max_mini_delay) + 1)  * sizeof(float));
+    }
+    x->reverb_ellipse_data = (float *) t_getbytes(16 * sizeof(float));
+    
+    x->ellipse_data = (float **) t_getbytes(MAXFILTER * sizeof(float *));
+    for(i=0;i<MAXFILTER;i++){
+        x->ellipse_data[i] = (float *) t_getbytes(MAX_COEF * sizeof(float));
+    }
+    x->tf_len = 1;
+    x->tf_len <<= 16;
+    x->transfer_function = (float *) t_getbytes(x->tf_len * sizeof(float) );
+    x->feedfunclen = 8192 ;
+    x->feedfunc1 = (float *) t_getbytes( x->feedfunclen * sizeof(float) );
+    x->feedfunc2 = (float *) t_getbytes( x->feedfunclen * sizeof(float) );
+    x->feedfunc3 = (float *) t_getbytes( x->feedfunclen * sizeof(float) );
+    x->feedfunc4 = (float *) t_getbytes( x->feedfunclen * sizeof(float) );
+    x->flamfunc1len = 8192 ;
+    x->flamfunc1 = (float *) t_getbytes( x->flamfunc1len * sizeof(float));
+    setflamfunc1(x->flamfunc1,x->flamfunc1len);
+    x->max_comb_lpt = 0.15 ;// watch out here
+    x->combies = (CMIXCOMB *) t_getbytes(4 * sizeof(CMIXCOMB));
+    for( i = 0; i < 4; i++ ){
+        x->combies[i].len = x->sr * x->max_comb_lpt + 2;
+        x->combies[i].arr = (float *) t_getbytes(x->combies[i].len * sizeof(float));
+    }
+    x->adsr = (CMIXADSR *) t_getbytes(1 * sizeof(CMIXADSR));
+    x->adsr->len = 32768 ;
+    x->adsr->func = (float *) t_getbytes(x->adsr->len * sizeof(float) );
+    x->dcflt = (float *) t_getbytes(16 * sizeof(float));
+    x->tcycle.data = (float *) t_getbytes(CYCLE_MAX * sizeof(float));
+    x->tcycle.len = 0;
+    for(i=0;i<x->overlap_max;i++){
+        x->events[i].phasef = x->events[i].phase = 0.0;
+    }
+    
+    membytes = x->overlap_max * sizeof(t_event);
+    membytes += x->sinelen * sizeof(float);
+    membytes += MAX_PARAMETERS * sizeof(float);
+    membytes += 64 * sizeof(float);
+    membytes += x->buf_samps * sizeof(float) * x->overlap_max;
+    membytes += x->maxdelay * x->sr * sizeof(float) * 2;
+    membytes += MAXSECTS * sizeof(LSTRUCT);
+    membytes += ((int)(x->sr * x->max_mini_delay) + 1)  * sizeof(float) * 4;
+    membytes += 16 * sizeof(float);
+    membytes += MAXFILTER * sizeof(float *);
+    membytes += MAX_COEF * sizeof(float) * MAXFILTER;
+    membytes += x->tf_len * sizeof(float);
+    membytes += x->feedfunclen * sizeof(float) * 4;
+    membytes += x->flamfunc1len * sizeof(float);
+    membytes += 4 * sizeof(CMIXCOMB);
+    membytes += x->combies[0].len * sizeof(float) * 4;
+    membytes += sizeof(CMIXADSR);
+    membytes += x->adsr->len * sizeof(float);
+    membytes += 16 * sizeof(float);
+    membytes += CYCLE_MAX * sizeof(float);
+    
+    // post("total memory for this bashfest %.2f MBytes",(float)membytes/1000000.);
+    
+    /* be sure to finish clearing memory */
+    set_dcflt(x->dcflt);
+    init_reverb_data(x->reverb_ellipse_data);
+    init_ellipse_data(x->ellipse_data);
+    
+    for(i=0;i<PROCESS_COUNT;i++){
+        x->odds[i] = 1;
+    }
+    
+    
+    x->max_process_per_note = 2;
+    setweights(x->odds,PROCESS_COUNT);
+    
+    
+    x->mute = 0;
+	
+    for(i = 0; i < x->overlap_max; i++){
+        x->events[i].status = INACTIVE;
+    }
+    
+    
+    return (x);
+}
+
+
+
+
+void bashfest_setbuf(t_bashfest *x, t_symbol *wavename)
+{
+    t_garray *a;
+	x->hosed = 0;
+    x->b_frames = 0;
+    x->b_nchans = 1;
+    x->b_valid = 0;
+    int b_frames;
+    if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+        if (*wavename->s_name) pd_error(x, "bashfest~: %s: no such array",
+                                        wavename->s_name);
+        x->b_samples = 0;
+        x->hosed = 1;
+    }
+    else if (!garray_getfloatwords(a, &b_frames, &x->b_samples)) {
+        pd_error(x, "%s: bad array for bashfest~", wavename->s_name);
+        x->b_samples = 0;
+        x->hosed = 1;
+    }
+    else  {
+        x->b_frames = (long)b_frames;
+        // post("%d frames in buffer %s",x->b_frames, wavename->s_name);
+        garray_usedindsp(a);
+        x->b_valid = 1;
+    }
+    
+}
+
+
+
+t_int *bashfest_perform_hosed(t_int *w)
+{
+    
+    //  t_bashfest *x = (t_bashfest *) (w[1]);
+    //  float *trigger = (t_float *)(w[2]);
+    float *outchanL = (t_float *)(w[3]);
+    float *outchanR = (t_float *)(w[4]);
+    int n = (int) w[5];
+    
+    // try bzero
+    //  while(n--) *outchanL++ = *outchanR++ = 0.0;
+    memset((char *)outchanL, 0, sizeof(float) * n);
+    memset((char *)outchanR, 0, sizeof(float) * n);
+    return(w+6);
+    
+}
+
+/* modified for dsp turnoff*/
+
+t_int *bashfest_perform(t_int *w)
+{
+    t_bashfest *x = (t_bashfest *) (w[1]);
+    float *t_vec = (t_float *)(w[2]);
+    float *outchanL = (t_float *)(w[3]);
+    float *outchanR = (t_float *)(w[4]);
+    int n = (int) w[5];
+
+    t_word *b_samples;
+    long b_nchans;
+//    long b_valid;
+    long b_frames;
+    
+    t_event *events = x->events;
+    //  int active_events = x->active_events;
+    float increment = x->increment;
+    int overlap_max = x->overlap_max;
+    int iphase;
+    int flimit;
+    short insert_success;
+    int new_insert;
+    int i,j,k;
+    t_cycle tcycle = x->tcycle;
+    float gain;
+    //  short bail;
+    float frac;
+    float samp1, samp2;
+    float maxphase;
+    int theft_candidate;
+    int out_channels;
+    float *processed_drum;
+    char *sound_name = x->sound_name;
+    
+    int latency_samples = x->latency_samples;
+    float *trigger_vec = x->trigger_vec;
+    
+	for(i = 0; i < n; i++)
+		trigger_vec[i] = t_vec[i];
+    
+    if(x->mute || x->hosed){
+        while(n--) {
+            *outchanL++ = *outchanR++ = 0.0;
+        }
+        return(w+6);
+    }
+    bashfest_setbuf(x, x->wavename);
+	
+    if(! x->b_valid) {
+        while(n--) {
+            *outchanL++ = *outchanR++ = 0.0;
+        }
+        return(w+6);
+    }
+    
+    b_samples = x->b_samples;
+    b_frames = x->b_frames;
+    b_nchans = 1; // for Pd
+    
+    if(x->block_dsp){
+        /* computation savings if processing is blocked */
+        
+        
+        /* preliminary transposition will be set here */
+        
+        if(tcycle.len > 0){
+            increment = tcycle.data[tcycle.p];
+            // post("position %d, increment %f",tcycle.p,increment );
+        } else {
+            increment = 1.0;
+            //error("increment default, len is zero");
+        }
+        // initial cleaning
+        for(i=0; i<n; i++){
+            outchanL[i] = outchanR[i] = 0.0;
+        }
+        flimit = (b_frames - 1) * 2;
+        for(i = 0; i < overlap_max; i++){
+            if(events[i].status == ACTIVE){
+                gain = events[i].gain;
+                
+                if(b_nchans == 1){ /* mono */
+                    
+                    flimit = (b_frames - 1);
+                    for(j = 0; j < n; j++){
+                        if(events[i].countdown > 0){
+                            --events[i].countdown;
+                        } else {
+                            
+                            iphase = events[i].phasef;
+                            frac = events[i].phasef - iphase;
+                            
+                            if(increment > 0){
+                                if(iphase == flimit || increment == 1.0){
+                                    outchanL[j] += b_samples[iphase].w_float * gain;
+                                    outchanR[j] += b_samples[iphase].w_float * gain;
+                                } else {
+                                    samp1 = b_samples[iphase].w_float;
+                                    samp2 = b_samples[iphase+1].w_float;
+                                    samp1 = gain * (samp1 + frac * (samp2-samp1));
+                                    outchanL[j] += samp1;
+                                    outchanR[j] += samp1;
+                                }
+                            } else { /*negative increment case (currently unused but might be useful)*/
+                                if(iphase == 0.0 || increment == -1.0 ){
+                                    outchanL[j] += b_samples[iphase].w_float * gain;
+                                    outchanR[j] += b_samples[iphase].w_float * gain;
+                                } else {
+                                    samp2 = b_samples[iphase].w_float;
+                                    samp1 = b_samples[iphase-1].w_float;
+                                    samp1 = gain * (samp1 + frac * (samp2-samp1));
+                                    outchanL[j] += samp1;
+                                    outchanR[j] += samp1;
+                                }
+                            }
+                            events[i].phasef += increment;
+                            
+                            if( events[i].phasef < 0.0 || events[i].phasef >= b_frames){
+                                events[i].status = INACTIVE;
+                                events[i].phasef = 0;
+                                // post("valid exit mono note");
+                                break;
+                            }
+                        }
+                    }
+                } else if(b_nchans == 2){
+/*
+                    
+                    for(j = 0; j < n; j++){
+                        if(events[i].countdown > 0){
+                            --events[i].countdown;
+                        } else {
+                            iphase = events[i].phasef;
+                            frac = events[i].phasef - iphase;
+                            iphase *= 2;
+                            if(increment > 0){
+                                if(iphase == flimit || increment == 1.0){
+                                    outchanL[j] += b_samples[iphase] * gain;
+                                    outchanR[j] += b_samples[iphase+1] * gain;
+                                } else {
+                                    samp1 = b_samples[iphase];
+                                    samp2 = b_samples[iphase+2];
+                                    outchanL[j] += gain * (samp1 + frac * (samp2-samp1));
+                                    samp1 = b_samples[iphase+1];
+                                    samp2 = b_samples[iphase+3];
+                                    outchanR[j] += gain * (samp1 + frac * (samp2-samp1));
+                                }
+                            } else {
+                                if(iphase == 0.0 || increment == -1.0 ){
+                                    outchanL[j] += b_samples[iphase] * gain;
+                                    outchanR[j] += b_samples[iphase+1] * gain;
+                                } else {
+                                    samp2 = b_samples[iphase];
+                                    samp1 = b_samples[iphase-2];
+                                    outchanL[j] += gain * (samp1 + frac * (samp2-samp1));
+                                    samp2 = b_samples[iphase+1];
+                                    samp1 = b_samples[iphase-1];
+                                    outchanR[j] += gain * (samp1 + frac * (samp2-samp1));
+                                }
+                            }
+                            events[i].phasef += increment;
+                            
+                            if( events[i].phasef < 0.0 || events[i].phasef >= b_frames){
+                                events[i].status = INACTIVE;
+                                break;
+                            }
+                        }
+                    }*/
+                }
+            }
+        }
+        
+        for(i=0; i<n; i++){
+            if(trigger_vec[i]){
+                gain = trigger_vec[i];
+                
+                insert_success = 0;
+                for(j=0; j<overlap_max; j++){
+                    if(events[j].status == INACTIVE){
+                        events[j].status = ACTIVE;
+                        events[j].gain = gain;
+                        if(increment > 0){
+                            events[j].phasef = 0.0;
+                        } else {
+                            events[j].phasef = b_frames - 1;
+                        }
+                        insert_success = 1;
+                        new_insert = j;
+                        break;
+                    }
+                }
+				
+                if(!insert_success){ // steal a note
+                    
+                    maxphase = 0;
+                    theft_candidate = 0;
+                    for(k = 0; k < overlap_max; k++){
+                        if(events[k].phasef > maxphase){
+                            maxphase = events[k].phasef;
+                            theft_candidate = k;
+                        }
+                    }
+                    new_insert = theft_candidate;
+                    events[new_insert].gain = gain;
+                    if(increment > 0){
+                        events[new_insert].phasef = 0.0;
+                    } else {
+                        events[new_insert].phasef = b_frames - 1;
+                    }
+                    insert_success = 1;
+                    post("stealing a note at %d for buffer %s", new_insert, sound_name);
+                }
+                events[new_insert].countdown = latency_samples;
+                events[new_insert].status = ACTIVE;
+                x->new_slot = new_insert;
+                x->new_gain = gain;
+                // post("new note at slot %d",new_insert);
+                if(tcycle.len > 0){
+                    increment = tcycle.data[tcycle.p++];
+                    if(tcycle.p >= tcycle.len){
+                        tcycle.p = 0;
+                    }
+                    x->tcycle.p = tcycle.p;
+                } else {
+                    increment = 1.0;
+                }
+                
+                for(k=i; k<n; k++){
+                    //roll out for remaining portion of vector
+                    if(events[new_insert].countdown > 0){
+                        --events[new_insert].countdown;
+                    } else {
+                        if(b_nchans == 1){
+                            
+                            iphase = events[new_insert].phasef;
+                            frac = events[new_insert].phasef - iphase;
+                            if(iphase < 0 || iphase >= b_frames){
+                                error("aborting on phase %f",events[new_insert].phasef);
+                                break;
+                            }
+                            if(increment > 0){
+                                if(iphase == flimit || increment == 1.0){
+                                    outchanL[k] += b_samples[iphase].w_float * gain;
+                                    outchanR[k] += b_samples[iphase].w_float * gain;
+                                } else {
+                                    samp1 = b_samples[iphase].w_float;
+                                    samp2 = b_samples[iphase+1].w_float;
+                                    samp1 = gain * (samp1 + frac * (samp2-samp1));
+                                    outchanL[k] += samp1;
+                                    outchanR[k] += samp1;
+                                }
+                            } else { /*negative increment case (currently unused but might be useful)*/
+                                if(iphase == 0.0 || increment == -1.0 ){
+                                    outchanL[k] += b_samples[iphase].w_float * gain;
+                                    outchanR[k] += b_samples[iphase].w_float * gain;
+                                } else {
+                                    samp2 = b_samples[iphase].w_float;
+                                    samp1 = b_samples[iphase-2].w_float;
+                                    samp1 = gain * (samp1 + frac * (samp2-samp1));
+                                    outchanL[k] += samp1;
+                                    outchanR[k] += samp1;
+                                }
+                            }
+                            events[new_insert].phasef += increment;
+                            
+                            if( events[new_insert].phasef < 0.0 || events[new_insert].phasef >= b_frames){
+                                events[new_insert].status = INACTIVE;
+                                break;
+                            }
+                        } else if(b_nchans == 2)
+                        { /*
+                            iphase = events[new_insert].phasef;
+                            frac = events[new_insert].phasef - iphase;
+                            iphase *= 2;
+                            if(increment > 0){
+                                if(iphase == flimit || increment == 1.0){
+                                    outchanL[k] += b_samples[iphase] * gain;
+                                    outchanR[k] += b_samples[iphase+1] * gain;
+                                } else {
+                                    samp1 = b_samples[iphase];
+                                    samp2 = b_samples[iphase+2];
+                                    outchanL[k] += gain * (samp1 + frac * (samp2-samp1));
+                                    samp1 = b_samples[iphase+1];
+                                    samp2 = b_samples[iphase+3];
+                                    outchanR[k] += gain * (samp1 + frac * (samp2-samp1));
+                                }
+                            } else {
+                                if(iphase == 0.0 || increment == -1.0 ){
+                                    outchanL[k] += b_samples[iphase] * gain;
+                                    outchanR[k] += b_samples[iphase+1] * gain;
+                                } else {
+                                    samp2 = b_samples[iphase];
+                                    samp1 = b_samples[iphase-2];
+                                    outchanL[k] += gain * (samp1 + frac * (samp2-samp1));
+                                    samp2 = b_samples[iphase+1];
+                                    samp1 = b_samples[iphase-1];
+                                    outchanR[k] += gain * (samp1 + frac * (samp2-samp1));
+                                }
+                            }
+                            events[new_insert].phasef += increment;
+                            
+                            if( events[new_insert].phasef < 0.0 || events[new_insert].phasef >= b_frames){
+                                events[new_insert].status = INACTIVE;
+                                break;
+                            } */
+                        }
+                    }
+                }
+            }
+        }
+        x->increment = increment;
+        /*    x->tb_inpt = tb_inpt;
+         x->tb_outpt = tb_outpt;*/
+        return(w+6);
+        /* end of block_dsp contingecy code */
+    }
+    
+    /* main body of bashfest processing */
+    
+    
+    for(i=0; i<n; i++){ /* pre-clean buffers*/
+        outchanL[i] = outchanR[i] = 0.0;
+    }
+    
+    /* add output from all active buffers into global outlet buffers */
+	
+	
+    for(i = 0; i < overlap_max; i++){
+        if( events[i].status == ACTIVE){
+            out_channels = events[i].out_channels;
+            /* assign the output part of work buffer to the local float buffer */
+            
+            processed_drum = events[i].workbuffer + events[i].in_start;
+            
+            for(j = 0; j < n; j++){
+                if(x->grab){
+                    x->grab = 0;
+                    // if too slow, defend with defer_low()
+                    bashfest_copy_to_MSP_buffer(x,i);
+                }
+                if(events[i].countdown > 0){
+                    --events[i].countdown;
+                } else {
+                    if(out_channels == 1){
+                        outchanL[j] += processed_drum[events[i].phase] * events[i].gainL;
+                        outchanR[j] += processed_drum[events[i].phase] * events[i].gainR;
+                    } else if(out_channels == 2){
+                        iphase = events[i].phase * 2;
+                        outchanL[j] += processed_drum[iphase] * events[i].gainL;
+                        outchanR[j] += processed_drum[iphase+1] * events[i].gainR;
+                    }
+                    
+                    events[i].phase++;
+                    
+                    if(events[i].phase >= events[i].sample_frames){
+                        events[i].status = INACTIVE;
+                        break;
+                    }
+				}
+            }
+        }
+    }
+	
+    /* now check for initiation click. If found,
+     add to list. If necessary, steal a note
+     */
+    for(i=0; i<n; i++){
+        if(trigger_vec[i]){
+            gain = trigger_vec[i];
+            
+            /*look for an open slot*/
+            insert_success = 0;
+            for(j=0; j<overlap_max; j++){
+                if(events[j].status == INACTIVE){
+                    events[j].status = ACTIVE;
+                    events[j].gain = gain;
+                    insert_success = 1;
+                    new_insert = j;
+                    break;
+                }
+            }
+			
+            if(!insert_success){ /* steal a note if necessary*/
+                maxphase = 0;
+                theft_candidate = 0;
+                for(k = 0; k < overlap_max; k++){
+                    if(events[k].phase > maxphase){
+                        maxphase = events[k].phase;
+                        theft_candidate = k;
+                    }
+                }
+                if(x->verbose){
+                    post("stealing note at slot %d", theft_candidate);
+                }
+                post("stealing a note at %d for buffer %s", theft_candidate, sound_name);
+                new_insert = theft_candidate;
+                events[new_insert].gain = gain;
+                insert_success = 1;
+            }
+            
+            events[new_insert].countdown = x->latency_samples;
+            x->new_slot = new_insert;
+            x->new_gain = gain;
+            
+            bashfest_deploy_dsp(x);
+            
+            
+            /* now begin output from the new note */
+            
+            out_channels = events[new_insert].out_channels;
+            processed_drum = events[new_insert].workbuffer + events[new_insert].in_start;
+ 			
+            /* processed_drum = events[new_insert].workbuffer;	*/
+            for(j = i; j < n; j++){
+                if(events[new_insert].countdown > 0){
+                    --events[new_insert].countdown;
+                } else{
+                    iphase = events[new_insert].phase;
+                    if(x->grab){
+                        x->grab = 0;
+                        // if too slow, defend with defer_low()
+                        bashfest_copy_to_MSP_buffer(x,i);
+                    }
+                    if(out_channels == 1){
+                        outchanL[j] += processed_drum[iphase] * events[new_insert].gainL;
+                        outchanR[j] += processed_drum[iphase] * events[new_insert].gainR;
+                    } else if(out_channels == 2){
+                        iphase = events[i].phase * 2;
+                        outchanL[j] += processed_drum[iphase] * events[new_insert].gainL;
+                        outchanR[j] += processed_drum[iphase+1] * events[new_insert].gainR;
+                    }
+                    
+                    events[new_insert].phase++;
+                    
+                    if(events[new_insert].phase >= events[new_insert].sample_frames){
+                        events[new_insert].status = INACTIVE;
+                        break;
+                    }
+                }
+            }
+        }
+    }
+    return (w+6);
+}
+
+void bashfest_copy_to_MSP_buffer(t_bashfest *x, int slot)
+{
+	int i; //,j;
+	t_event *events = x->events;
+	long b_nchans = x->b_nchans;
+	long b_frames = x->b_frames;
+	t_word *b_samples = x->b_samples;
+	float *processed_drum;
+    
+	processed_drum = events[slot].workbuffer + events[slot].in_start;
+    
+	if(events[slot].out_channels == b_nchans){
+		if(b_nchans == 1){
+			for(i=0;i<b_frames;i++){
+				b_samples[i].w_float = processed_drum[i];
+			}
+		} else if(b_nchans == 2){
+			/*for(i=0;i<b_frames*2;i+=2){
+				b_samples[i].w_float = processed_drum[i];
+				b_samples[i+1] = processed_drum[i+1];
+			}*/
+		}else{
+			error("bashfest copy: channel mismatch");
+			//fixable but first let's try these
+		}
+	}
+}
+void bashfest_deploy_dsp(t_bashfest *x)
+{
+    float *b_samples = x->b_samples;
+    long b_nchans = x->b_nchans;
+    long b_frames = x->b_frames;
+    t_event *events = x->events;
+    float pan;
+    int i; //,j;
+    float *params = x->params;
+    int pcount;
+    int buf_samps = x->buf_samps;
+    int curarg = 0;
+    float maxamp;
+    float rescale;
+    float *inbuf;
+    int slot = x->new_slot;
+    float gain = x->new_gain;
+	
+    events[slot].completed = 1;// for testing only
+	
+    if(b_nchans <1 || b_nchans > 2){
+        error("illegal channels in buffer:%d",b_nchans);
+        return;
+        x->hosed = 1;
+    }
+    if(b_frames > x->buf_frames / 2){
+        error("sample in buffer %s is to large for work buffer",x->sound_name);
+        return;
+        x->hosed = 1;
+    }
+    
+    pan = boundrand(0.1, 0.9);
+    events[slot].gainL = cos(PIOVERTWO * pan) * gain;
+    events[slot].gainR = sin(PIOVERTWO * pan) * gain;
+    events[slot].phase = 0;
+    events[slot].status = ACTIVE;
+    /*  if(x->verbose)
+     post("initiating note at slot %d, gain %f, pan %f,inchans %d",slot,gain,pan,b_nchans);
+     */
+    if(x->sound_lock){
+        return;// of course should finally copy good stuff to MSP buffer
+    }
+    events[slot].out_channels = b_nchans;
+    events[slot].sample_frames = b_frames;
+    for(i=0; i<b_frames*b_nchans; i++){
+        events[slot].workbuffer[i] = b_samples[i];
+    }
+    
+    // clean rest of work buffer
+    for(i=b_frames*b_nchans; i<buf_samps; i++){
+        events[slot].workbuffer[i] = 0.0;
+    }
+    events[slot].in_start = 0;
+    events[slot].out_start = x->halfbuffer;
+    pcount = bashfest_set_parameters(x, params);
+	
+    while(curarg < pcount){
+        if(params[curarg] == TRANSPOSE){
+            transpose(x, slot, &curarg);
+        }
+        else if(params[curarg] == RINGMOD){
+            ringmod(x, slot, &curarg);
+        }
+        else if(params[curarg] == RETRO){
+            retrograde(x, slot, &curarg);
+        }
+        else if(params[curarg] == COMB){
+            comber(x, slot, &curarg);
+        }
+        else if(params[curarg] == FLANGE){
+            flange(x, slot, &curarg);
+        }
+        else if(params[curarg] == BUTTER){
+            butterme(x, slot, &curarg);
+        }
+        else if(params[curarg] == TRUNCATE){
+            truncateme(x, slot, &curarg);
+        }
+        else if(params[curarg] == SWEEPRESON){
+            sweepreson(x, slot, &curarg);
+        }
+        else if(params[curarg] == SLIDECOMB){
+            slidecomb(x, slot, &curarg);
+        }
+        else if(params[curarg] == REVERB1){
+            reverb1(x, slot, &curarg);
+        }
+        else if(params[curarg] == ELLIPSE){
+            ellipseme(x, slot, &curarg);
+        }
+        else if(params[curarg] == FEED1){
+            feed1me(x, slot, &curarg);
+        }
+        else if(params[curarg] == FLAM1){
+            flam1(x, slot, &curarg);
+        }
+        else if(params[curarg] == FLAM2){
+            flam2(x, slot, &curarg);
+        }
+        else if(params[curarg] == EXPFLAM){
+            expflam(x, slot, &curarg);
+        }
+        else if(params[curarg] == COMB4){
+            comb4(x, slot, &curarg);
+        }
+        else if(params[curarg] == COMPDIST){
+            compdist(x, slot, &curarg);
+        }
+        else if(params[curarg] == RINGFEED){
+            ringfeed(x, slot, &curarg);
+        }
+        else if(params[curarg] == RESONADSR){
+            resonadsr(x, slot, &curarg);
+        }
+        else if(params[curarg] == STV){
+            stv(x, slot, &curarg);
+        }
+        else {
+            error("deploy missing branch");
+        }
+    }
+	
+    maxamp = 0.0;
+    inbuf = events[slot].workbuffer + events[slot].in_start;
+    b_nchans = events[slot].out_channels;
+    b_frames = events[slot].sample_frames;
+    for(i=0; i< b_frames * b_nchans; i++){
+        if(maxamp < fabs(inbuf[i])){
+            maxamp = fabs(inbuf[i]);
+        }
+    }
+    if(maxamp>0){
+        rescale = 1.0/maxamp;
+        for(i=0; i< b_frames * b_nchans; i++){
+            inbuf[i] *= rescale;
+        }
+    }
+    else{
+        if(x->verbose)
+            error("zero maxamp detected");
+    }
+	
+    if(events[slot].countdown <= 0)
+        error("deploy_dsp: failed to conclude in time; need more latency");
+}
+
+int bashfest_set_parameters(t_bashfest *x,float *params)
+{
+    float rval;
+    int pcount = 0;
+    int events;
+    int i, j;
+    int type;
+    float cf;//, bw;
+    float *odds = x->odds;
+    int maxproc  = x->max_process_per_note;
+    int minproc = x->min_process_per_note;
+    float tval;
+    t_cycle tcycle = x->tcycle;
+    
+    /* preliminary transposition will be set here */
+    
+    if(tcycle.len > 0){
+        params[pcount++] = TRANSPOSE;
+        params[pcount++] = tcycle.data[tcycle.p++];
+        if(tcycle.p >= tcycle.len){
+            tcycle.p = 0;
+        }
+        x->tcycle.p = tcycle.p;
+    }
+    
+    
+    if(maxproc <= 0){
+        return pcount;
+    }
+    
+    events = minproc + rand() % (1+(maxproc-minproc));
+	
+    for(i = 0; i < events; i++){
+        rval = boundrand(0.0,1.0);
+        j = 0;
+        while(rval > odds[j]){
+            j++;
+        }
+		
+        
+        if(j == RETRO){
+            params[pcount++] = RETRO;
+        } 
+        else if(j == COMB){
+            params[pcount++] = COMB;
+            params[pcount++] = boundrand(.001,.035);// delaytime
+            params[pcount++] = boundrand(.25,.98);//feedback
+            params[pcount++] = boundrand(.05,.5);//hangtime
+        } 
+        else if(j == RINGMOD) {
+            params[pcount++] = RINGMOD;
+            params[pcount++] = boundrand(100.0,2000.0); //need a log version
+        } 
+        else if(j == TRANSPOSE){
+            params[pcount++] = TRANSPOSE;
+            params[pcount++] = boundrand(0.25,3.0);
+        } 
+        else if(j == FLANGE){
+            params[pcount++] = FLANGE;
+            params[pcount++] = boundrand(100.0,400.0);
+            params[pcount++] = boundrand(600.0,4000.0);
+            params[pcount++] = boundrand(0.1,2.0);
+            params[pcount++] = boundrand(0.1,0.95);
+            params[pcount++] = boundrand(0.0,0.9);
+        } 	
+        else if(j == BUTTER){
+            params[pcount++] = BUTTER;
+            type = rand() % 3;
+            params[pcount++] = type;
+            cf = boundrand(70.0,3000.0);
+            params[pcount++] = cf;
+            if(type == BANDPASS){
+                params[pcount++] = cf * boundrand(0.05,0.6);
+            }		
+        }	
+        else if(j == TRUNCATE){
+            params[pcount++] = TRUNCATE;
+            params[pcount++] = boundrand(.05,.15);
+            params[pcount++] = boundrand(.01,.05);
+        }
+        else if(j == SWEEPRESON){
+            params[pcount++] = SWEEPRESON;
+            params[pcount++] = boundrand(100.0,300.0);
+            params[pcount++] = boundrand(600.0,6000.0);
+            params[pcount++] = boundrand(0.01,0.2);
+            params[pcount++] = boundrand(0.05,2.0);
+            params[pcount++] = boundrand(0.0,1.0);
+        }
+        else if(j == SLIDECOMB){
+            params[pcount++] = SLIDECOMB;
+            params[pcount++] = boundrand(.001,.03);
+            params[pcount++] = boundrand(.001,.03);
+            params[pcount++] = boundrand(0.05,0.95);
+            params[pcount++] = boundrand(0.05,0.5);
+        }
+        else if(j == REVERB1){
+            params[pcount++] = REVERB1;
+            params[pcount++] = boundrand(0.25,0.99);
+            params[pcount++] = boundrand(0.1,1.0);
+            params[pcount++] = boundrand(0.2,0.8);
+        }
+        else if(j == ELLIPSE){
+            params[pcount++] = ELLIPSE;
+            params[pcount++] = rand() % ELLIPSE_FILTER_COUNT;
+        }
+        else if(j == FEED1){
+            params[pcount++] = FEED1;
+            tval = boundrand(.001,0.1);
+            params[pcount++] = tval;
+            params[pcount++] = boundrand(tval,0.1);
+            tval = boundrand(.01,0.5);
+            params[pcount++] = tval;
+            params[pcount++] = boundrand(tval,0.5);
+            params[pcount++] = boundrand(.05,1.0);
+        }
+        else if(j == FLAM1){
+            params[pcount++] = FLAM1;
+            params[pcount++] = 4 + (rand() % 20);
+            params[pcount++] = boundrand(0.3,0.8);
+            params[pcount++] = boundrand(0.5,1.2);
+            params[pcount++] = boundrand(.025,0.15);
+        }
+        else if(j == FLAM2){
+            params[pcount++] = FLAM2;
+            params[pcount++] = 4 + (rand() % 20);
+            params[pcount++] = boundrand(0.1,0.9);
+            params[pcount++] = boundrand(0.2,1.2);
+            params[pcount++] = boundrand(.025,0.15);
+            params[pcount++] = boundrand(.025,0.15);
+        }
+        else if(j == EXPFLAM){
+            params[pcount++] = EXPFLAM;
+            params[pcount++] = 4 + (rand() % 20);
+            params[pcount++] = boundrand(0.1,0.9);
+            params[pcount++] = boundrand(0.2,1.2);
+            params[pcount++] = boundrand(.025,0.15);
+            params[pcount++] = boundrand(.025,0.15);
+            params[pcount++] = boundrand(-5.0,5.0);
+        }
+        else if(j == COMB4){
+            params[pcount++] = COMB4;
+            params[pcount++] = boundrand(100.0,900.0);
+            params[pcount++] = boundrand(100.0,900.0);
+            params[pcount++] = boundrand(100.0,900.0);
+            params[pcount++] = boundrand(100.0,900.0);
+            tval = boundrand(.5,0.99);
+            params[pcount++] = tval;
+            params[pcount++] = tval;
+        }
+        else if(j == COMPDIST){
+            params[pcount++] = COMPDIST;
+            params[pcount++] = tval = boundrand(.01,.25);
+            params[pcount++] = boundrand(tval,.9);
+            params[pcount++] = 1;
+        }
+        else if(j == RINGFEED){
+            params[pcount++] = RINGFEED;
+            params[pcount++] = boundrand(90.0,1500.0);
+            params[pcount++] = boundrand(90.0,1500.0);
+            params[pcount++] = boundrand(0.2,0.95);
+            params[pcount++] = boundrand(90.0,1500.0);
+            params[pcount++] = boundrand(.01,.4);
+            params[pcount++] = boundrand(.05,1.0);
+        }
+        else if(j == RESONADSR){
+            params[pcount++] = RESONADSR;
+            params[pcount++] = boundrand(.01,.1);
+            params[pcount++] = boundrand(.01,.05);
+            params[pcount++] = boundrand(.05,.5);
+            params[pcount++] = boundrand(150.0,4000.0);
+            params[pcount++] = boundrand(150.0,4000.0);
+            params[pcount++] = boundrand(150.0,4000.0);
+            params[pcount++] = boundrand(150.0,4000.0);
+            params[pcount++] = boundrand(.03,.7);
+        }
+        else if(j == STV){
+            params[pcount++] = STV;
+            params[pcount++] = boundrand(.025,0.5);
+            params[pcount++] = boundrand(.025,0.5);
+            params[pcount++] = boundrand(.001,.01);
+        }
+        else {
+            error("could not find a process for %d",j);
+            return 0;
+        }
+    }
+    return pcount;
+}
+
+void bashfest_dsp_free(t_bashfest *x)
+{
+    int i;
+	
+    t_freebytes(x->sinewave, x->sinelen * sizeof(float));
+    t_freebytes(x->params, MAX_PARAMETERS * sizeof(float));
+    t_freebytes(x->odds, 64 * sizeof(float));
+    t_freebytes(x->delayline1, x->maxdelay * x->sr * sizeof(float));
+    t_freebytes(x->delayline2, x->maxdelay * x->sr * sizeof(float));
+    
+    for(i=0;i<x->overlap_max;i++){
+        t_freebytes(x->events[i].workbuffer, x->buf_samps * sizeof(float));
+    }
+    t_freebytes(x->events, x->overlap_max * sizeof(t_event));
+	
+    t_freebytes(x->eel,MAXSECTS * sizeof(LSTRUCT));
+    for( i = 0; i < 4 ; i++ ){
+        t_freebytes(x->mini_delay[i], ((int)(x->sr * x->max_mini_delay) + 1) * sizeof(float));
+    }
+    t_freebytes(x->reverb_ellipse_data, 16 * sizeof(float));
+    for(i=0;i<MAXFILTER;i++){
+        t_freebytes(x->ellipse_data[i], MAX_COEF * sizeof(float));
+    } 	
+    t_freebytes(x->ellipse_data, MAXFILTER * sizeof(float *));
+    t_freebytes(x->transfer_function,x->tf_len * sizeof(float));
+    t_freebytes(x->feedfunc1, x->feedfunclen * sizeof(float));
+    t_freebytes(x->feedfunc2, x->feedfunclen * sizeof(float));
+    t_freebytes(x->feedfunc3, x->feedfunclen * sizeof(float));
+    t_freebytes(x->feedfunc4, x->feedfunclen * sizeof(float));
+    t_freebytes(x->flamfunc1, x->flamfunc1len * sizeof(float));
+    for( i = 0; i < 4; i++ ){
+        t_freebytes(x->combies[i].arr, x->combies[i].len * sizeof(float));
+    }
+    t_freebytes(x->combies,4 * sizeof(CMIXCOMB));
+    t_freebytes(x->adsr->func, x->adsr->len * sizeof(float));
+    t_freebytes(x->adsr,sizeof(CMIXADSR));
+    t_freebytes(x->tcycle.data,CYCLE_MAX * sizeof(float));
+    t_freebytes(x->trigger_vec, MAX_VEC * sizeof(float));
+}
+
+void bashfest_dsp(t_bashfest *x, t_signal **sp)
+{
+    bashfest_setbuf(x, x->wavename);
+	
+    if( x->hosed ){
+        error("bashfest~ needs a valid buffer");
+    }
+    /* if vector size changes, we also need to deal, thanks to
+     the trigger buffer inter-delay
+     */
+    if(x->sr != sp[0]->s_sr){
+        x->sr = sp[0]->s_sr;
+        if(!x->sr){
+            post("warning: zero sampling rate!");
+            x->sr = 44100;
+        }
+    } 
+    if(x->b_frames <= 0){
+        post("empty buffer, hosing down");
+        x->hosed = 1;
+    }
+	
+    if(x->hosed){
+        dsp_add(bashfest_perform_hosed, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);	
+    } else {
+        dsp_add(bashfest_perform, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);		
+    }
+}
+/*
+void bashfest_assist (t_bashfest *x, void *b, long msg, long arg, char *dst)
+{
+    if (msg==1) {
+        switch (arg) {
+            case 0: sprintf(dst,"(signal) Click Trigger"); break;
+        }
+    } 
+    else if (msg==2) {
+        switch(arg){
+            case 0: sprintf(dst,"(signal) Channel 1 Output"); break;
+            case 1: sprintf(dst,"(signal) Channel 2 Output"); break;
+        }
+    }
+}
+*/
+
+
diff --git a/externals/lyonpotpourri/bloscbank.c b/externals/lyonpotpourri/bloscbank.c
new file mode 100755
index 000000000..c35ab0dee
--- /dev/null
+++ b/externals/lyonpotpourri/bloscbank.c
@@ -0,0 +1 @@
+
#include "fftease.h"

void bloscbank( float *S, float *O, int D, float iD, float *lf, float *la, float *index, float *tab, 
	int len, float synt, int lo, int hi )
{
  int    amp,freq,chan, i;

  float    a,ainc,f,finc,address;
  
  for ( chan = lo; chan < hi; chan++ ) {

    freq = ( amp = ( chan << 1 ) ) + 1;
    if ( S[amp] > synt ){ 
      finc = ( S[freq] - ( f = lf[chan] ) )* iD;
      ainc = ( S[amp] - ( a = la[chan] ) )* iD;
      address = index[chan];
      for ( i = 0; i < D ; i++ ) {
	O[i] += a*tab[ (int) address ];
	    
	address += f;
	while ( address >= len )
	  address -= len;
	while ( address < 0 )
	  address += len;
	a += ainc;
	f += finc;
      }
      lf[chan] = S[freq];
      la[chan] = S[amp];
      index[chan] = address;
    }    
  }
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/buffet~-help.pd b/externals/lyonpotpourri/buffet~-help.pd
new file mode 100755
index 000000000..16c521ce8
--- /dev/null
+++ b/externals/lyonpotpourri/buffet~-help.pd
@@ -0,0 +1,201 @@
+#N canvas 586 296 617 462 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dopey 62079 float 2;
+#X coords 0 1 62079 -1 200 140 1;
+#X restore 34 65 graph;
+#N canvas 742 412 538 388 load-samples 0;
+#X obj 36 151 soundfiler;
+#X msg 36 83 bang;
+#X obj 36 109 openpanel;
+#X obj 144 37 loadbang;
+#X msg 36 131 read -resize \$1 dopey;
+#X obj 117 17 inlet;
+#X msg 117 64 read -resize sound/voice.wav dopey;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X restore 245 110 pd load-samples;
+#X obj 222 241 buffet~ dopey 100 300;
+#X obj 222 288 bng 15 100 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X floatatom 365 270 5 0 0 0 - - -, f 5;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array soapy 22050 float 2;
+#X coords 0 1 22050 -1 100 70 1;
+#X restore 34 234 graph;
+#N canvas 171 294 544 498 processing 0;
+#X obj 44 402 s buffet-msgs;
+#X msg 203 208 reverse;
+#X msg 171 150 normalize 0.95;
+#X msg 173 176 killdc;
+#X text 43 34 Destructive Buffer Edits;
+#X msg 182 386 autoredraw \$1;
+#X obj 182 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X text 199 363 turn off if redraw hurts performance;
+#X msg 182 345 1;
+#X obj 182 329 loadbang;
+#X msg 43 67 fadein 100;
+#X msg 89 92 fadeout 500;
+#X msg 112 121 rotatetozero 300;
+#X msg 221 247 erase 300 460;
+#X msg 223 285 internal_fadeout 500 800;
+#X msg 251 309 internal_fadein 200 500;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X coords 0 0 1 1 85 60 0;
+#X restore 33 341 pd processing;
+#X obj 222 214 r buffet-msgs;
+#N canvas 574 418 474 306 copying 0;
+#X obj 48 70 buffet~ soapy 100 200;
+#X text 46 30 clear receiver (optional);
+#X obj 50 236 s buffet-msgs;
+#X text 156 162 too long requests are truncated;
+#X msg 270 53 normalize 1;
+#X msg 47 50 erase 0 500;
+#X msg 49 112 copy_to_buffer soapy 0 500;
+#X msg 62 135 copy_to_buffer soapy 500 1000;
+#X msg 154 181 copy_to_buffer soapy 300 1200;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X restore 34 314 pd copying;
+#X text 229 301 operation completion indicator;
+#X text 412 269 rms report;
+#N canvas 151 375 470 320 analysis 0;
+#X obj 65 188 s buffet-msgs;
+#X text 66 88 get rms reading from a specified segment of buffer;
+#X msg 120 145 pevents 50 0.05;
+#X text 117 130 look for percussive events;
+#X msg 64 112 rmschunk 200 300;
+#X connect 2 0 0 0;
+#X connect 4 0 0 0;
+#X restore 33 393 pd analysis;
+#X obj 294 344 print;
+#X text 334 347 list of estimated onsets in buffer;
+#X obj 391 204 dac~;
+#X floatatom 416 151 5 0 1 0 - - -, f 5;
+#X obj 391 178 *~ 0;
+#X obj 419 138 hsl 32 8 0 1 0 0 empty empty empty -2 -8 0 10 -261197
+-1 -1 0 1;
+#X text 458 150 playback gain;
+#X obj 391 118 player~ dopey 1;
+#X msg 245 78 bang;
+#X text 282 80 reload;
+#X text 29 420 buffet~ - Various operations on contents of an array
+;
+#N canvas 34 269 705 565 scrambler 0;
+#X obj 57 356 s buffet-msgs;
+#X msg 57 153 minswap \$1;
+#X floatatom 57 123 5 0 0 0 - - -, f 5;
+#X floatatom 147 121 5 0 0 0 - - -, f 5;
+#X msg 146 151 maxswap \$1;
+#X floatatom 144 223 5 0 0 0 - - -, f 5;
+#X msg 143 253 overlap \$1;
+#X msg 145 194 30;
+#X msg 224 256 retroblock;
+#X msg 314 276 swap;
+#X msg 172 335 specswap 0 1000 250;
+#X obj 59 57 t b b b;
+#X obj 58 28 loadbang;
+#X text 187 120 minimum and maximum swap times in ms.;
+#X text 155 209 fade time for tapering swap blocks (20 ms. by default)
+;
+#X text 226 240 reverse a piece of the buffer;
+#X text 354 276 swap two pieces of the buffer;
+#X text 177 357 specify which parts of buffer to exchange. arguments
+are skip1 \, skip2 and duration. In this example the first 250 ms block
+of the buffer is swapped with the 250 ms block beginning 1000 ms into
+the buffer.;
+#X text 165 26 Destructive rearrangement of buffer;
+#X msg 200 479 autoredraw \$1;
+#X obj 200 453 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X text 217 452 turn off if redraw hurts performance;
+#X msg 200 434 1;
+#X obj 200 418 loadbang;
+#X obj 316 141 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 315 164 metro 250;
+#X msg 58 94 100;
+#X msg 148 92 200;
+#X obj 237 158 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 236 181 metro 500;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 26 0;
+#X connect 11 1 27 0;
+#X connect 11 2 7 0;
+#X connect 12 0 11 0;
+#X connect 19 0 0 0;
+#X connect 20 0 19 0;
+#X connect 22 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 25 0;
+#X connect 25 0 9 0;
+#X connect 26 0 2 0;
+#X connect 27 0 3 0;
+#X connect 28 0 29 0;
+#X connect 29 0 8 0;
+#X restore 33 367 pd scrambler;
+#N canvas 0 22 470 320 playback-controls 0;
+#X obj 18 59 impulse~;
+#X msg 19 31 bang;
+#X text 57 31 retrigger;
+#X msg 95 54 pause;
+#X msg 144 55 resume;
+#X msg 204 56 stop;
+#X obj 18 129 outlet~;
+#X obj 203 130 outlet;
+#X msg 238 103 static_increment 1;
+#X obj 238 84 loadbang;
+#X obj 18 89 samm~ 40 1;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X restore 391 74 pd playback-controls;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X connect 2 0 3 0;
+#X connect 2 1 12 0;
+#X connect 2 2 4 0;
+#X connect 7 0 2 0;
+#X connect 15 0 16 1;
+#X connect 16 0 14 0;
+#X connect 16 0 14 1;
+#X connect 17 0 15 0;
+#X connect 19 0 16 0;
+#X connect 20 0 1 0;
+#X connect 24 0 19 0;
+#X connect 24 0 19 1;
+#X connect 24 1 19 0;
diff --git a/externals/lyonpotpourri/buffet~.c b/externals/lyonpotpourri/buffet~.c
new file mode 100755
index 000000000..f85240ae8
--- /dev/null
+++ b/externals/lyonpotpourri/buffet~.c
@@ -0,0 +1,2161 @@
+#include "MSPd.h"
+#include "fftease.h"
+
+// adapted for Pd
+
+#define CUSHION_FRAMES (128) // pad for grabbing
+#define MAX_CHANNELS (2)
+
+#define MAX_RMS_BUFFER (0.250)
+#define MIN_RMS_BUFFER (.001)
+#define MAX_EVENTS (1024)
+#define MAX_RMS_FRAMES (32768)
+
+#define OBJECT_NAME "buffet~"
+
+
+static t_class *buffet_class;
+
+
+typedef struct {
+	t_word *b_samples;
+	int b_valid;
+	int b_nchans;
+	int b_frames;
+} t_guffer; // stuff we care about from garrays and buffers
+
+typedef struct _buffet
+{
+    
+	t_object x_obj;
+	float x_f;
+	t_symbol *wavename; // name of waveform buffer
+	t_guffer *wavebuf; // holds waveform samples
+	t_guffer *destbuf; // for copying to another buffer
+	
+	float sr; // sampling rate
+	short hosed; // buffers are bad
+	float minframes; // minimum replacement block in sample frames
+	float maxframes; // maximum replacement block in sample frames
+	long storage_maxframes; // maxframe limit that current memory can handle
+	float *storage; //temporary memory to store replacement block (set to maxframes * channels)
+	long storage_bytes; // amount of currently allocated memory
+	float fade; // fadein/fadeout time in sample frames
+	float sync; // input from groove sync signal
+	long swapframes; // number of frames in swap block
+	long r1startframe; //start frame for block 1
+	long r2startframe; // start frame for block 2
+	float dc_coef; // filter coefficient
+	float dc_gain; // normalization factor
+	short initialized; // first time or not
+	float *rmsbuf;// for onset analysis
+	float rmschunk; // store lowest rms value in buffer
+	void *list; // for start/end list
+	void *bang; // completion bang
+	void *floater; // outputs noise floor
+	t_atom *listdata;// to report est. start/stop times of events in buffer
+	float *analbuf; // contain overall envelope
+	float *onset; // contain attack times for percussive evaluations
+	short autoredraw; // to kill redraw if it impacts performance
+} t_buffet;
+
+void buffet_setbuf(t_buffet *x, t_symbol *wavename);
+void *buffet_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *buffet_perform(t_int *w);
+void buffet_dsp(t_buffet *x, t_signal **sp);
+float buffet_boundrand(float min, float max);
+void buffet_assist (t_buffet *x, void *b, long msg, long arg, char *dst);
+void buffet_dsp_free(t_buffet *x);
+void buffet_swap(t_buffet *x);
+void buffet_specswap(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_retroblock(t_buffet *x);
+void buffet_nakedswap(t_buffet *x);
+void buffet_overlap(t_buffet *x, t_floatarg f);
+void buffet_minswap(t_buffet *x, t_floatarg f);
+void buffet_maxswap(t_buffet *x, t_floatarg f);
+void buffet_nosync_setswap(t_buffet *x);
+void buffet_info(t_buffet *x);
+void buffet_killdc(t_buffet *x);
+void buffet_rmschunk(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_fadein(t_buffet *x, t_floatarg f);
+void buffet_fadeout(t_buffet *x, t_floatarg f);
+void buffet_internal_fadein(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_internal_fadeout(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_dc_gain(t_buffet *x, t_floatarg f);
+void buffet_dc_coef(t_buffet *x, t_floatarg f);
+void buffet_normalize(t_buffet *x, t_floatarg f);
+void buffet_rotatetozero(t_buffet *x, t_floatarg f);
+void buffet_autoredraw(t_buffet *x, t_floatarg f);
+void buffet_erase(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_events(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_pevents(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_detect_onsets(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_detect_subband_onsets(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+void buffet_copy_to_buffer(t_buffet *x, t_symbol *msg, short argc, t_atom *argv);
+int buffet_setdestbuf(t_buffet *x, t_symbol *wavename);
+void buffet_init(t_buffet *x, short initialized);
+void buffet_reverse(t_buffet *x);
+void buffet_redraw(t_buffet *x);
+void buffet_redraw_named(t_buffet *x, t_symbol *arrayname);
+void buffet_update(t_buffet *x);
+
+
+void buffet_tilde_setup(void)
+{
+	
+	buffet_class = class_new(gensym("buffet~"),(t_newmethod)buffet_new,(t_method)buffet_dsp_free, sizeof(t_buffet),
+							 0, A_GIMME,0);
+	CLASS_MAINSIGNALIN(buffet_class,t_buffet, x_f );
+	
+	
+	class_addmethod(buffet_class,(t_method)buffet_dsp,gensym("dsp"),A_CANT,0);
+	class_addmethod(buffet_class,(t_method)buffet_swap,gensym("swap"),0);
+	class_addmethod(buffet_class,(t_method)buffet_specswap,gensym("specswap"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_events,gensym("events"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_pevents,gensym("pevents"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_detect_onsets,gensym("detect_onsets"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_detect_subband_onsets,gensym("detect_subband_onsets"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_retroblock,gensym("retroblock"),0);
+	class_addmethod(buffet_class,(t_method)buffet_minswap,gensym("minswap"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_maxswap,gensym("maxswap"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_fadein,gensym("fadein"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_fadeout,gensym("fadeout"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_overlap,gensym("overlap"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_dc_gain,gensym("dc_gain"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_dc_coef,gensym("dc_coef"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_normalize,gensym("normalize"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_rotatetozero,gensym("rotatetozero"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_autoredraw,gensym("autoredraw"),A_FLOAT,0);
+	class_addmethod(buffet_class,(t_method)buffet_killdc,gensym("killdc"),0);
+	class_addmethod(buffet_class,(t_method)buffet_nakedswap,gensym("nakedswap"),0);
+	class_addmethod(buffet_class,(t_method)buffet_rmschunk,gensym("rmschunk"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_erase,gensym("erase"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_copy_to_buffer,gensym("copy_to_buffer"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_internal_fadein,gensym("internal_fadein"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_internal_fadeout,gensym("internal_fadeout"),A_GIMME,0);
+	class_addmethod(buffet_class,(t_method)buffet_setbuf,gensym("setbuf"),A_SYMBOL,0);
+	class_addmethod(buffet_class,(t_method)buffet_reverse,gensym("reverse"),0);
+	class_addmethod(buffet_class,(t_method)buffet_info,gensym("info"),0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+
+void buffet_info(t_buffet *x)
+{
+	long totalframes;
+	buffet_setbuf(x, x->wavename);
+	
+	if( x->hosed ){
+		error("buffet~ needs a valid buffer");
+		return;
+	}
+	
+	if( ! x->sr){
+		error("zero sample rate!");
+		return;
+	}
+	totalframes = x->wavebuf->b_frames;
+	post("minswap: %f, maxswap: %f", 1000. * x->minframes / x->sr, 1000. * x->maxframes / x->sr);
+	post("buffer size: %f", 1000. * totalframes / x->sr);
+}
+
+void buffet_overlap(t_buffet *x, t_floatarg f)
+{
+	if( f < 0.01 ){
+		error("minimum fade time is 0.01 milliseconds");
+		return;
+	}
+	x->fade = f * .001 * x->sr;
+}
+
+void buffet_events(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_word *b_samples;
+	int b_nchans;
+	int b_frames;
+	t_atom *listdata = x->listdata;
+	
+	float bufsize;
+	float onthresh;
+	float offthresh;
+	long bufsamps;
+	long aframes; // frames to analyze
+	float tadv;
+    
+	long i,j;
+	float meansq;
+	float rmsval;
+	long bindex;
+	float ipos;
+	short activated = 0;
+	float realtime = 0.0;
+	int event_count = 0;
+	float buffer_duration;
+	
+	buffet_setbuf(x, x->wavename);
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+	// duration in ms.
+	buffer_duration = 1000.0 * (float)b_frames / x->sr;
+	
+	bufsize = .001 * atom_getfloatarg(0,argc,argv);
+	if(bufsize > MAX_RMS_BUFFER){
+		bufsize = MAX_RMS_BUFFER;
+		post("%s: setting analysis buffer to maximum: %f",OBJECT_NAME, MAX_RMS_BUFFER * 1000.0);
+	} else if(bufsize < MIN_RMS_BUFFER){
+		bufsize = MIN_RMS_BUFFER;
+		post("%s: setting analysis buffer to maximum: %f",OBJECT_NAME, MIN_RMS_BUFFER * 1000.0);
+	}
+	
+	onthresh = atom_getfloatarg(1,argc,argv);
+	offthresh = atom_getfloatarg(2,argc,argv);
+	bufsamps = x->sr * bufsize;
+	
+	bufsamps = bufsize * x->sr;
+	tadv = (float)bufsamps / x->sr;
+	//	post("actual window size: %f",tadv);
+	aframes = (long) ( (float) b_frames / (float)bufsamps ) - 1;
+	if(aframes < 2){
+		error("%s: this buffer is too short to analyze",OBJECT_NAME);
+		return;
+	}
+	//	post("analyzing %d frames",aframes);
+	for(i = 0; i < aframes; i++){
+		meansq = 0.0;
+		ipos = b_nchans * i * bufsamps;
+		/* only analyze first channel */
+		for(j = 0; j < bufsamps; j+= b_nchans){
+			bindex = ipos + j;
+			meansq += b_samples[bindex].w_float * b_samples[bindex].w_float;
+		}
+		meansq /= (float) bufsamps;
+		rmsval = sqrt(meansq);
+		realtime += tadv;
+		if(rmsval > onthresh && ! activated) {
+			activated = 1;
+			
+			//			post("event %d starts at %f",event_count+1, realtime);
+			
+			if(event_count >= MAX_EVENTS){
+				error("%s: exceeded maximum of %d events",OBJECT_NAME, MAX_EVENTS);
+				break;
+			}
+			SETFLOAT(listdata+(event_count*2), realtime * 1000.0);
+			
+		}
+		else if( rmsval < offthresh && activated ){
+			activated = 0;
+			//			post("event %d ends at %f",event_count, realtime);
+			SETFLOAT(listdata+((event_count*2) + 1), realtime * 1000.0);
+			++event_count;
+		}
+	}
+	if(activated){
+		post("%s: missed the end of the last event; setting to end of buffer",OBJECT_NAME);
+		SETFLOAT(listdata+((event_count*2) + 1), buffer_duration);
+		++event_count;
+	}
+	outlet_list(x->list, 0, event_count * 2, listdata);
+}
+
+
+void buffet_pevents(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_word *b_samples;
+	int b_nchans;
+	int b_frames;
+	t_atom *listdata = x->listdata;
+	
+	float bufsize;
+	//float onthresh;
+	//float offthresh;
+	float diffthresh;
+	long bufsamps;
+	long aframes; // frames to analyze
+	float tadv;
+	//long current_frame = 0;
+	long i,j;
+	float meansq;
+	float rmsval;
+	long bindex;
+	float ipos;
+	//short activated = 0;
+	float realtime = 0.0;
+	int event_count = 0;
+	float buffer_duration;
+	float mindiff, maxdiff, absdiff,rmsdiff;
+	float *analbuf = x->analbuf;
+	float *onset = x->onset;
+	//float endtime;
+	
+	buffet_setbuf(x, x->wavename);
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+	// duration in ms.
+	buffer_duration = 1000.0 * (float)b_frames / x->sr;
+	
+	bufsize = .001 * atom_getfloatarg(0,argc,argv);
+	if(bufsize > MAX_RMS_BUFFER){
+		bufsize = MAX_RMS_BUFFER;
+		post("%s: setting analysis buffer to maximum: %f",OBJECT_NAME, MAX_RMS_BUFFER * 1000.0);
+	} else if(bufsize < MIN_RMS_BUFFER){
+		bufsize = MIN_RMS_BUFFER;
+		post("%s: setting analysis buffer to maximum: %f",OBJECT_NAME, MIN_RMS_BUFFER * 1000.0);
+	}
+	
+	diffthresh = atom_getfloatarg(1,argc,argv);
+	bufsamps = x->sr * bufsize;
+	
+	bufsamps = bufsize * x->sr;
+	tadv = (float)bufsamps / x->sr;
+	
+	aframes = (long) ( (float) b_frames / (float)bufsamps );
+	if(aframes < 2){
+		error("%s: this buffer is too short to analyze",OBJECT_NAME);
+		return;
+	}
+	if(aframes > MAX_RMS_FRAMES){
+		post("too many frames: try a larger buffer size");
+		return;
+	}
+	analbuf[0] = 0; // for first comparison
+	for(i = 1; i < aframes; i++){
+		meansq = 0.0;
+		ipos = b_nchans * i * bufsamps;
+		/* only analyze first channel */
+		for(j = 0; j < bufsamps; j+= b_nchans){
+			bindex = ipos + j;
+			meansq += b_samples[bindex].w_float * b_samples[bindex].w_float;
+		}
+		meansq /= (float) bufsamps;
+		analbuf[i] = rmsval = sqrt(meansq);
+		realtime += tadv;
+		
+	}
+	
+	realtime = 0;
+	mindiff = 9999.;
+	maxdiff = 0.0;
+	/* LPF - use elsewhere?
+     for(i = 1; i < aframes; i++ ){
+     analbuf[i] = (analbuf[i] + analbuf[i-1]) * 0.5;
+     }
+     */
+	// look for big changes in direction
+	for(i = 1; i < aframes; i++ ){
+		rmsdiff = analbuf[i] - analbuf[i-1];
+		absdiff = fabs(rmsdiff);
+		if(absdiff > maxdiff)
+			maxdiff = absdiff;
+		if(absdiff < mindiff)
+			mindiff = absdiff;
+		
+		if( rmsdiff > diffthresh ){
+			// new
+			
+			onset[event_count] = (realtime + bufsize) * 1000.0;
+			if(onset[event_count] < 0)
+				onset[event_count] = 0;
+			++event_count;
+			//			post("rt %f diff %f",realtime * 1000.0,rmsdiff);
+		}
+		realtime += tadv;
+	}
+	//	post("mindiff %f maxdiff %f",mindiff,maxdiff);
+	if(event_count == 0){
+		post("%s: no events found",OBJECT_NAME);
+	}
+	
+	
+	for(i = 0; i < event_count; i++){
+		SETFLOAT(listdata + i, onset[i]);
+	}
+	outlet_list(x->list, 0, event_count, listdata);
+}
+
+void buffet_internal_fadeout(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	long fadeframes;
+	long totalframes;
+	int i,j,k;
+	float env;
+	t_word *b_samples;
+	long b_nchans;
+	long startframe;
+	long endframe;
+	
+	if( ! x->sr){
+		error("zero sample rate!");
+		return;
+	}
+	
+	
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(argc < 2){
+		post("%s: internal_fadeout requires start and end times",OBJECT_NAME);
+		return;
+	}
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	
+	if(startframe < 0 || endframe > totalframes || endframe <= startframe){
+		error("%s: bad frame boundaries to internal_fadeout: %ld and %ld",OBJECT_NAME,startframe, endframe);
+		return;
+	}
+	fadeframes = endframe - startframe;
+	
+	for(i = (endframe-1) * b_nchans , k = 0; k < fadeframes ; i -= b_nchans, k++ ){
+		env = (float) k / (float) fadeframes;
+		for(j = 0; j < b_nchans; j++){
+			b_samples[i + j].w_float *= env;
+		}
+	}
+	buffet_update(x);
+}
+
+void buffet_internal_fadein(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	long fadeframes;
+	long totalframes;
+	int i,j,k;
+	float env;
+	t_word *b_samples;
+	long b_nchans;
+	long startframe;
+	long endframe;
+	
+	if( ! x->sr){
+		error("zero sample rate!");
+		return;
+	}
+	
+	
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(argc < 2){
+		post("%s: internal_fadeout requires start and end times",OBJECT_NAME);
+		return;
+	}
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	
+	if(startframe < 0 || endframe > totalframes || endframe <= startframe){
+		error("%s: bad frame boundaries to internal_fadein: %ld and %ld",OBJECT_NAME,startframe, endframe);
+		return;
+	}
+	fadeframes = endframe - startframe;
+	
+	for(i = startframe * b_nchans , k = 0; k < fadeframes ; i += b_nchans, k++ ){
+		env = (float) k / (float) fadeframes;
+		for(j = 0; j < b_nchans; j++){
+			b_samples[i + j].w_float *= env;
+		}
+	}
+	buffet_update(x);
+}
+
+void buffet_reverse(t_buffet *x)
+{
+	
+	int i,j;
+	//	float env;
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	float tmpsamp;
+	long lenm1;
+	
+	buffet_setbuf(x, x->wavename);
+	if(!x->wavebuf->b_valid){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	lenm1 = (b_frames - 1) * b_nchans;
+	for( i = 0; i < (b_frames * b_nchans) / 2; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			tmpsamp = b_samples[(lenm1 - i) + j].w_float;
+			b_samples[(lenm1 - i) + j].w_float = b_samples[i + j].w_float;
+			b_samples[i + j].w_float = tmpsamp;
+		}
+	}
+    
+	buffet_update(x);
+}
+
+void buffet_update(t_buffet *x)
+{
+	outlet_bang(x->bang);
+	if(x->autoredraw){
+		buffet_redraw(x);
+	}
+}
+
+
+void buffet_redraw_named(t_buffet *x, t_symbol *arrayname)
+{
+	t_garray *a;
+	if (!(a = (t_garray *)pd_findbyclass(arrayname, garray_class))) {
+		if (*arrayname->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME, arrayname->s_name);
+	}
+	else  {
+		garray_redraw(a);
+	}
+}
+
+void buffet_redraw(t_buffet *x)
+{
+	t_garray *a;
+	if (!(a = (t_garray *)pd_findbyclass(x->wavename, garray_class))) {
+		if (*x->wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME, x->wavename->s_name);
+		x->wavebuf->b_valid = 0;
+	}
+	else  {
+		garray_redraw(a);
+	}
+}
+
+void buffet_copy_to_buffer(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_symbol *destname;
+	
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	
+	t_word *b_dest_samples;
+	long b_dest_nchans;
+	long b_dest_frames;
+	
+	long startframe;
+	long endframe;
+	long chunkframes;
+	
+	float fadein,fadeout;
+	int fadeframes;
+	// totalframes;
+	float env;
+	int i,j,k;
+	
+	buffet_setbuf(x, x->wavename);
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+    
+	destname = atom_getsymbolarg(0,argc,argv);
+	
+	if(! buffet_setdestbuf(x, destname)){
+		post("%s: could not find buffer %s",OBJECT_NAME,destname->s_name);
+		return;
+	}
+	b_dest_samples = x->destbuf->b_samples;
+	b_dest_nchans = x->destbuf->b_nchans;
+	b_dest_frames = x->destbuf->b_frames;
+	
+	startframe = atom_getfloatarg(1,argc,argv) * .001 * x->sr;
+	endframe = atom_getfloatarg(2,argc,argv) * .001 * x->sr;
+	chunkframes = endframe - startframe;
+	if(chunkframes <= 0){
+		return;
+	}
+	if(b_nchans != b_dest_nchans){
+		error("%s: channel mismatch with buffer %s",OBJECT_NAME, destname->s_name);
+		return;
+	}
+	if(b_dest_frames < chunkframes ){
+		//		post("%s: %s is too small, truncating copy region",OBJECT_NAME, destname->s_name);
+		chunkframes = b_dest_frames;
+	}
+	if(startframe < 0 || endframe >= b_frames){
+		error("%s: bad frame range for source buffer: %ld %ld",OBJECT_NAME, startframe,endframe);
+		return;
+	}
+	/* first clean out destination */
+    for(i = 0; i < b_dest_frames; i++){
+        b_dest_samples[i].w_float = 0.0;
+    }
+	// memset((char *)b_dest_samples, 0, b_dest_frames * b_dest_nchans * sizeof(float));
+	
+	/* now copy segment */
+    for(i = 0; i < chunkframes; i++){
+        b_dest_samples[i].w_float = b_samples[i+startframe].w_float;
+    }
+    
+	/* memcpy(b_dest_samples, b_samples + (startframe * b_nchans),
+		   chunkframes * b_nchans * sizeof(float) ); */
+	
+	if(argc == 5){
+		//		post("enveloping");
+		fadein = atom_getfloatarg(3,argc,argv);
+		fadeout = atom_getfloatarg(4,argc,argv);
+		if(fadein > 0){
+			//			post("fading in");
+			fadeframes = fadein * .001 * x->sr;
+			
+			if( fadeframes > b_dest_frames){
+				error("%s: fadein is too long",OBJECT_NAME);
+				return;
+			}
+			
+			
+			for(i = 0 , k = 0; k < fadeframes ; i += b_dest_nchans, k++ ){
+				env = (float) k / (float) fadeframes;
+				for(j = 0; j < b_dest_nchans; j++){
+					b_dest_samples[i + j].w_float *= env;
+				}
+			}
+		}
+		
+		if(fadeout > 0){
+			//			post("fading out");
+			//			totalframes = chunkframes;
+			fadeframes = fadeout * .001 * x->sr;
+			startframe = chunkframes - fadeframes;
+			endframe = chunkframes;
+			
+			//		endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv); // stays the same
+			
+			if(startframe < 0){
+				error("%s: bad frame boundaries to internal_fadeout: %ld and %ld",
+					  OBJECT_NAME,startframe, endframe);
+				return;
+			}
+			//	  fadeframes = endframe - startframe; // we already know this
+			
+			for(i = (chunkframes-1) * b_dest_nchans , k = 0; k < fadeframes ; i -= b_dest_nchans, k++ ){
+				env = (float) k / (float) fadeframes;
+				for(j = 0; j < b_dest_nchans; j++){
+					b_dest_samples[i + j].w_float *= env;
+				}
+			}
+		}
+	}
+	buffet_redraw_named(x, destname);
+	outlet_bang(x->bang);
+}
+
+int buffet_setdestbuf(t_buffet *x, t_symbol *wavename)
+{
+    
+	t_garray *a;
+	int b_frames;
+	t_word *b_samples;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+		if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,wavename->s_name);
+		x->destbuf->b_valid = 0;
+    }
+	else if (!garray_getfloatwords(a, &b_frames, &b_samples)) {
+		pd_error(x, "%s: bad array for %s", wavename->s_name,OBJECT_NAME);
+		x->destbuf->b_valid = 0;
+    }
+	else  {
+		x->destbuf->b_valid = 1;
+		x->destbuf->b_frames = (long)b_frames;
+		x->destbuf->b_nchans = 1;
+		x->destbuf->b_samples = b_samples;
+		garray_usedindsp(a);
+	}
+    /*We added this in linux - better check that it works */
+	return x->destbuf->b_valid;
+}
+
+void buffet_rmschunk(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+    
+	long bufsamps;
+	long i;
+	float meansq;
+	float rmsval;
+	long bindex;
+    
+	float buffer_duration;
+	long startframe;
+	long endframe;
+	
+	buffet_setbuf(x, x->wavename);
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+	// duration in ms.
+	buffer_duration = 1000.0 * (float)b_frames / x->sr;
+	
+	
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	if(startframe < 0 || startframe >= b_frames - 1){
+		error("%s: naughty start frame: %ld",OBJECT_NAME,startframe);
+		return;
+	}
+	if(endframe < 2 || endframe >= b_frames){
+		error("%s: naughty start frame: %ld",OBJECT_NAME,startframe);
+		return;
+	}
+	
+	
+	bufsamps = (endframe - startframe);
+	//  post("analyzing %d samples",bufsamps);
+	if(!bufsamps){
+		// 	post("%s: start and end are identical!",OBJECT_NAME);
+		// 	post("instantaneous sample value [ch 1 only]: %f", b_samples[startframe*b_nchans]);
+		return;
+	}
+	meansq = 0.0;
+	for(i = startframe; i < endframe; i++){
+		
+		bindex = b_nchans * i; 		/* only analyze first channel */
+		meansq += b_samples[bindex].w_float * b_samples[bindex].w_float;
+		
+	}
+	
+	meansq /= (float) bufsamps;
+	rmsval = sqrt(meansq);
+	
+	x->rmschunk = rmsval;
+	outlet_float(x->floater, (double)x->rmschunk);
+}
+
+
+void buffet_dc_gain(t_buffet *x, t_floatarg f)
+{
+	x->dc_gain = f;
+}
+
+void buffet_dc_coef(t_buffet *x, t_floatarg f)
+{
+	x->dc_coef = f;
+}
+
+void buffet_autoredraw(t_buffet *x, t_floatarg f)
+{
+	x->autoredraw = (short)f;
+}
+
+void buffet_minswap(t_buffet *x, t_floatarg f)
+{
+	if(f < 2.0 * 1000.0 * x->fade  / x->sr){
+		error("minimum must be at least twice fade time which is %f", 1000. * x->fade / x->sr);
+		return;
+	}
+	x->minframes = f * .001 * x->sr;
+	//	post("min set to %f samples",x->minframes);
+}
+
+void buffet_maxswap(t_buffet *x, t_floatarg f)
+{
+	long oldmem;
+	//	long framelimit;
+	long newframes;
+	
+	newframes = f * .001 * x->sr;
+	if(newframes <= x->minframes){
+		error("max blocksize must exceed minimum blocksize, which is %f", 1000. * x->minframes/ x->sr);
+	}
+	if(newframes > x->storage_maxframes ){
+		//	post("extending memory");
+		oldmem = x->storage_bytes;
+		//	post("old memory %d", oldmem);
+		x->storage_maxframes = newframes;
+		x->storage_bytes = (x->storage_maxframes + 1) * 2 * sizeof(float);
+		//	post("new memory %d", x->storage_bytes);
+		
+		x->storage = (float *) resizebytes((char *)x->storage, oldmem, x->storage_bytes);
+	}
+	x->maxframes = newframes;
+}
+
+void buffet_erase(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	long startframe, endframe;
+	//int slab;
+	//int offset;
+	int i;
+	
+	if(argc < 2){
+		post("%s: erase requires start and end times",OBJECT_NAME);
+		return;
+	}
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	if(startframe < 0){
+		startframe = 0;
+	}
+	if(endframe > b_frames - 1){
+		endframe = b_frames - 1;
+	}
+	if(startframe >= b_frames - 1){
+		error("%s: naughty start frame: %ld",OBJECT_NAME,startframe);
+		return;
+	}
+	if(endframe < 2 || endframe <= startframe){
+		error("%s: naughty end frame: %ld",OBJECT_NAME,endframe);
+		return;
+	}
+	
+	for(i = startframe * b_nchans; i < endframe * b_nchans; i++){
+		b_samples[i].w_float = 0.0;
+	}
+	
+	buffet_update(x);
+}
+
+
+void buffet_rotatetozero(t_buffet *x, t_floatarg f)
+{
+	int i;
+	float target = (float) f;
+	long shiftframes = (long) (target * 0.001 * x->sr);
+	
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	float *tmpmem;
+	
+	
+	
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	
+	
+	if(shiftframes <= 0 || shiftframes >= b_frames){
+		error("%s: shift target %f is out of range",OBJECT_NAME,target);
+		return;
+	}
+	
+	tmpmem = (float *) malloc(shiftframes * b_nchans * sizeof(float));
+	
+	/* copy shift block to tmp */
+	for(i = 0; i < shiftframes; i++){
+        tmpmem[i] = b_samples[i].w_float;
+    }
+	// memcpy(tmpmem, b_samples, shiftframes * b_nchans * sizeof(float));
+	
+	
+	/* now shift the rest to the top */
+	for(i = 0; i < b_frames - shiftframes; i++){
+        b_samples[i].w_float =b_samples[i+shiftframes].w_float;
+    }
+    /*
+	memmove(b_samples, b_samples + (shiftframes * b_nchans),
+			(b_frames - shiftframes) * b_nchans * sizeof(float));
+	*/
+	
+	/* finally copy tmp to the tail */
+	
+	for(i = 0; i < shiftframes; i++){
+        b_samples[(b_frames - shiftframes)+i].w_float = tmpmem[i];
+    }
+	/* memcpy(b_samples + (b_frames - shiftframes) * b_nchans,tmpmem,
+		   shiftframes * b_nchans * sizeof(float ));
+	*/
+	free(tmpmem);
+	buffet_update(x);
+}
+
+void buffet_normalize(t_buffet *x, t_floatarg f)
+{
+	
+	float target = (float) f;
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	long i;
+	float maxamp = 0.0;
+	float amptest;
+	float rescale;
+	
+	if(target <= 0.0){
+		error("%s: normalize target %f is too low",OBJECT_NAME,target);
+		return;
+	}
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	for(i = 0; i < b_frames * b_nchans; i++){
+		amptest = fabs(b_samples[i].w_float);
+		if(maxamp < amptest)
+			maxamp = amptest;
+	}
+	
+	if(maxamp < .000000001){
+		post("%s: amplitude zero or too low to normalize in \"%s\"",OBJECT_NAME,x->wavename->s_name);
+		return;
+	}
+	rescale = target / maxamp;
+	if(rescale > .99 && rescale < 1.01){
+		post("%s: \"%s\" already normalized to %f",OBJECT_NAME,x->wavename->s_name,target);
+	}
+	else {
+		for(i = 0; i < b_frames * b_nchans; i++){
+			b_samples[i].w_float *= rescale;
+		}
+	}
+	buffet_update(x);
+}
+
+
+void buffet_fadein(t_buffet *x, t_floatarg f)
+{
+	long fadeframes;
+	long totalframes;
+	int i,j,k;
+	float env;
+	t_word *b_samples;
+	long b_nchans;
+	
+	
+	if( ! x->sr){
+		error("zero sample rate!");
+		return;
+	}
+	fadeframes = f * .001 * x->sr;
+	//post("fading in %d frames",fadeframes);
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	
+	
+	if( fadeframes > totalframes){
+		error("fadein is too long");
+		return;
+	}
+	for(i = 0, k = 0;i < fadeframes * b_nchans; i += b_nchans, k++ ){
+		env = (float) k / (float) fadeframes;
+		for(j = 0; j < b_nchans; j++){
+			b_samples[i + j].w_float *= env;
+		}
+	}
+	buffet_update(x);
+}
+
+void buffet_fadeout(t_buffet *x, t_floatarg f)
+{
+	long fadeframes;
+	long totalframes;
+	int i,j,k;
+	float env;
+	t_word *b_samples;
+	long b_nchans;
+	
+	
+	if( ! x->sr){
+		error("zero sample rate!");
+		return;
+	}
+	fadeframes = f * .001 * x->sr;
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	
+	
+	if( fadeframes > totalframes){
+		error("%s: fadein is too long",OBJECT_NAME);
+		return;
+	}
+	for(i = (totalframes-1) * b_nchans , k = 0; k < fadeframes ; i -= b_nchans, k++ ){
+		env = (float) k / (float) fadeframes;
+		for(j = 0; j < b_nchans; j++){
+			b_samples[i + j].w_float *= env;
+		}
+	}
+	buffet_update(x);
+}
+
+
+
+void buffet_killdc(t_buffet *x)
+{
+	//	long fadeframes;
+	long totalframes;
+	int i,j;
+	t_word *b_samples;
+	long b_nchans;
+	float dc_coef = x->dc_coef;
+	float a0[MAX_CHANNELS];
+	float a1[MAX_CHANNELS];
+	float b0[MAX_CHANNELS];
+	float b1[MAX_CHANNELS];
+	
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(b_nchans > MAX_CHANNELS) {
+		error("buffer has too many channels");
+		return;
+	}
+	for(j = 0; j < b_nchans; j++){
+		a0[j] = a1[j] = b0[j] = b1[j] = 0.0;
+	}
+	
+	for(i = 0; i < totalframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			a0[j] = b_samples[i + j].w_float;
+			b0[j] = a0[j] - a1[j] + dc_coef * b1[j];
+			b_samples[i + j].w_float = b0[j];
+			b1[j] = b0[j];
+			a1[j] = a0[j];
+		}
+	}
+	buffet_update(x);
+}
+
+
+void *buffet_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	
+    
+	//	int i;
+	
+	srand(clock());
+    
+	t_buffet *x = (t_buffet *)pd_new(buffet_class);
+	x->bang = outlet_new(&x->x_obj, gensym("bang"));
+	x->list = outlet_new(&x->x_obj, gensym("list"));
+	x->floater = outlet_new(&x->x_obj, gensym("float"));
+    
+    x->sr = sys_getsr();
+    if(! x->sr )
+        x->sr = 44100;
+    
+    if(argc <= 1 || argv[0].a_type != A_SYMBOL) {
+        post("%s: warning: no array name provided: defaulting to empty symbol",
+            OBJECT_NAME);
+    }
+    atom_arg_getsym(&x->wavename,0,argc,argv);
+    atom_arg_getfloat(&x->minframes,1,argc,argv);
+    atom_arg_getfloat(&x->maxframes,2,argc,argv);
+    if(!x->minframes)
+        x->minframes = 100;
+    if(!x->maxframes)
+        x->maxframes = x->minframes + 10;
+    
+    buffet_init(x,0);
+    
+    
+    
+    return (x);
+}
+
+void buffet_init(t_buffet *x, short initialized)
+{
+	if(x->minframes <= 0)
+		x->minframes = 250;
+	if(x->maxframes <= 0)
+		x->maxframes = 1000;
+	
+	if(!initialized){
+		x->minframes *= .001 * x->sr;
+		x->storage_maxframes = x->maxframes *= .001 * x->sr;
+		x->fade = .001 * 20 * x->sr; // 20 ms fadetime to start
+		x->storage_bytes = (x->maxframes + 1) * 2 * sizeof(float); // stereo storage frames
+		x->storage = (float *) getbytes(x->storage_bytes);
+		x->dc_coef = .995; // for dc blocker
+		x->dc_gain = 4.0;
+		x->autoredraw = 1;
+		x->rmsbuf = (float *) getbytes(MAX_RMS_BUFFER * x->sr * sizeof(float));
+		memset((char *)x->rmsbuf, 0, MAX_RMS_BUFFER * x->sr * sizeof(float));
+		x->listdata = (t_atom *)getbytes(MAX_EVENTS * sizeof(t_atom));// lots of events
+		x->analbuf = (float *) getbytes(MAX_RMS_FRAMES * sizeof(float));
+		memset((char *)x->analbuf, 0, MAX_RMS_FRAMES * sizeof(float));
+		x->onset = (float *) getbytes(MAX_EVENTS * sizeof(float));
+		x->wavebuf = (t_guffer *) getbytes(1 * sizeof(t_guffer));
+		x->destbuf = (t_guffer *) getbytes(1 * sizeof(t_guffer));
+	} else {
+		x->minframes *= .001 * x->sr;
+		x->storage_maxframes = x->maxframes *= .001 * x->sr;
+		x->fade = .001 * 20 * x->sr; // 20 ms fadetime to start
+		x->storage_bytes = (x->maxframes + 1) * 2 * sizeof(float); // stereo storage frames
+		x->storage = (float *) resizebytes((char *)x->storage_bytes,0,x->storage_bytes);
+		x->rmsbuf = (float *)resizebytes((char *)x->rmsbuf,0,MAX_RMS_BUFFER * x->sr * sizeof(float));
+		memset((char *)x->rmsbuf, 0, MAX_RMS_BUFFER * x->sr * sizeof(float));
+	}
+}
+
+
+void buffet_nosync_setswap(t_buffet *x)
+{
+	long totalframes = x->wavebuf->b_frames;
+	
+	float minframes = x->minframes;
+	float maxframes = x->maxframes;
+	long swapframes = x->swapframes;
+	long r1startframe = x->r1startframe;
+	long r2startframe = x->r2startframe;
+	long r1endframe;
+	long r2endframe;
+	long region1;
+	long region2;
+	
+    
+	swapframes = buffet_boundrand(minframes, maxframes);
+	r1startframe = buffet_boundrand(0.0, (float)(totalframes-swapframes));
+	r1endframe = r1startframe + swapframes;
+	region1 = r1startframe;
+	region2 = totalframes - r1endframe;
+	if(swapframes > region1){
+		r2startframe = buffet_boundrand((float)r1endframe,(float)(totalframes-swapframes));
+	} else if(swapframes > region2) {
+		r2startframe = buffet_boundrand(0.0,(float)(r1startframe-swapframes));
+	} else { // either region ok
+		if(buffet_boundrand(0.0,1.0) > 0.5){
+			r2startframe = buffet_boundrand(0.0,(float)(r1startframe-swapframes));
+		} else {
+			r2startframe = buffet_boundrand((float)r1endframe,(float)(totalframes-swapframes));
+		}
+	}
+	r2endframe = r2startframe + swapframes;
+	
+	if(r2startframe < 0 || r1startframe < 0){
+		error("start frame less than zero!");
+		return;
+	}
+	if(r2endframe >= totalframes || r1endframe >= totalframes){
+		error("end frame reads beyond buffer!");
+		return;
+	}
+	x->swapframes = swapframes;
+	x->r1startframe = r1startframe;
+	x->r2startframe = r2startframe;
+	outlet_bang(x->bang);
+}
+
+
+void buffet_swap(t_buffet *x)
+{
+    
+	float maxframes = x->maxframes;
+	float fade = x->fade;
+	long totalframes;
+	long swapframes;
+	long start_sample1;
+	long start_sample2;
+	float *storage = x->storage;
+	t_word *b_samples;
+	float mix_sample;
+	float fadein_gain;
+	float fadeout_gain;
+	float fadephase;
+	long b_nchans;
+	int i,j,k;
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(totalframes < maxframes * 2 + 1){
+		error("buffer must contain at least twice as many samples as the maximum swap size");
+		return;
+	}
+	if(b_nchans > 2){
+		error("buffet~ only accepts mono or stereo buffers");
+		return;
+	}
+	
+	buffet_nosync_setswap(x);
+	
+	
+	start_sample1 = x->r1startframe * b_nchans;
+	start_sample2 = x->r2startframe * b_nchans;
+	swapframes = x->swapframes;
+	
+	// store block1 samples
+	for(i = 0; i < swapframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			storage[i+j] = b_samples[start_sample1 + i + j].w_float;
+		}
+	}
+	// swap block2 into block1 location, fadein
+	
+	for(i = 0, k = 0; i < fade * b_nchans; i += b_nchans, k++){
+		fadephase = ((float)k / (float) fade) * PIOVERTWO;
+		fadein_gain = sin(fadephase);
+		fadeout_gain = cos(fadephase);
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadein_gain * b_samples[start_sample2 + i + j].w_float + fadeout_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	// middle part, pure swap
+	
+	for(i = fade * b_nchans; i < (swapframes-fade) * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample1 + i + j].w_float = b_samples[start_sample2 + i + j].w_float;
+		}
+	}
+	// fade out
+	
+	for(i = (swapframes-fade) * b_nchans, k = 0; i < swapframes * b_nchans; i += b_nchans, k++){
+		fadephase = ((float)k / (float) fade) * PIOVERTWO;
+		fadein_gain = sin(fadephase);
+		fadeout_gain = cos(fadephase);
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadeout_gain * b_samples[start_sample2 + i + j].w_float + fadein_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	// now mix stored block1 into block2 location
+	// swap block2 into block1 location, fadein
+	
+	for(i = 0, k = 0; i < fade * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadein_gain * storage[i + j] + fadeout_gain * b_samples[start_sample2 + i + j].w_float;
+			b_samples[start_sample2 + i + j].w_float = mix_sample;
+		}
+	}
+	// middle part, pure swap
+	
+	for(i = fade * b_nchans; i < (swapframes-fade) * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample2 + i + j].w_float = storage[i + j];
+		}
+	}
+	// fade out
+	
+	for(i = (swapframes-fade) * b_nchans, k = 0; i < swapframes * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadeout_gain * storage[i + j] + fadein_gain * b_samples[start_sample2 + i + j].w_float;
+			b_samples[start_sample2 + i + j].w_float = mix_sample;
+		}
+	}
+	buffet_update(x);
+}
+
+
+void buffet_specswap(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	//	float minframes = x->minframes;
+	float maxframes = x->maxframes;
+	float fade = x->fade;
+	long totalframes;
+	long swapframes;
+	long r1startframe;
+	long r1endframe;
+	long r2startframe;
+	long r2endframe;
+	long region1;
+	long region2;
+	long start_sample1;
+	long start_sample2;
+	float *storage = x->storage;
+	t_word *b_samples;
+	float mix_sample;
+	float fadein_gain;
+	float fadeout_gain;
+	float fadephase;
+	long b_nchans;
+	int i,j,k;
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(totalframes < maxframes * 2 + 1){
+		error("buffer must contain at least twice as many samples as the maximum swap size");
+		return;
+	}
+	if(b_nchans > 2){
+		error("buffet~ only accepts mono or stereo buffers");
+		return;
+	}
+	
+	r1startframe = x->sr * .001 * atom_getfloatarg(0,argc,argv);
+	r2startframe = x->sr * .001 * atom_getfloatarg(1,argc,argv);
+	swapframes = x->sr * .001 * atom_getfloatarg(2,argc,argv);
+	if( r1startframe < 0 || r1startframe >= totalframes){
+		error("bad first skip time");
+		return;
+	}
+	if( r2startframe < 0 || r2startframe >= totalframes){
+		error("bad second skip time");
+		return;
+	}
+	//	post("start1 %d start2 %d swaps %d",r1startframe,r2startframe,swapframes );
+	
+	r1endframe = r1startframe + swapframes;
+	r2endframe = r2startframe + swapframes;
+	region1 = r1startframe;
+	region2 = totalframes - r1endframe;
+	/*
+     post("min: %.0f, max: %.0f, total: %d, swap: %d",minframes, maxframes,totalframes, swapframes);
+	 post("r1st %d, r1end %d, region1 %d, region2 %d",r1startframe, r1endframe, region1, region2);
+	 */
+	if(swapframes > x->storage_maxframes) {
+		error("swapsize %ld is larger than %ld; reset maximum swap.", swapframes,x->storage_maxframes );
+		return;
+	}
+	if(r1endframe >= totalframes){
+		error("block 1 reads beyond buffer!");
+		return;
+	}
+	if(r2endframe >= totalframes){
+		error("block 2 reads beyond buffer!");
+		return;
+	}
+	
+	// store block1 samples
+	start_sample1 = r1startframe * b_nchans;
+	start_sample2 = r2startframe * b_nchans;
+	for(i = 0; i < swapframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			storage[i+j] = b_samples[start_sample1 + i + j].w_float;
+		}
+	}
+	// swap block2 into block1 location, fadein
+	
+	for(i = 0, k = 0; i < fade * b_nchans; i += b_nchans, k++){
+		fadephase = ((float)k / (float) fade) * PIOVERTWO;
+		fadein_gain = sin(fadephase);
+		fadeout_gain = cos(fadephase);
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadein_gain * b_samples[start_sample2 + i + j].w_float + fadeout_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	// middle part, pure swap
+	
+	for(i = fade * b_nchans; i < (swapframes-fade) * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample1 + i + j].w_float = b_samples[start_sample2 + i + j].w_float;
+		}
+	}
+	// fade out
+	
+	for(i = (swapframes-fade) * b_nchans, k = 0; i < swapframes * b_nchans; i += b_nchans, k++){
+		fadephase = ((float)k / (float) fade) * PIOVERTWO;
+		fadein_gain = sin(fadephase);
+		fadeout_gain = cos(fadephase);
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadeout_gain * b_samples[start_sample2 + i + j].w_float + fadein_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	// now mix stored block1 into block2 location
+	// swap block2 into block1 location, fadein
+	
+	for(i = 0, k = 0; i < fade * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadein_gain * storage[i + j] + fadeout_gain * b_samples[start_sample2 + i + j].w_float;
+			b_samples[start_sample2 + i + j].w_float = mix_sample;
+		}
+	}
+	// middle part, pure swap
+	
+	for(i = fade * b_nchans; i < (swapframes-fade) * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample2 + i + j].w_float = storage[i + j];
+		}
+	}
+	// fade out
+	
+	for(i = (swapframes-fade) * b_nchans, k = 0; i < swapframes * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadeout_gain * storage[i + j] + fadein_gain * b_samples[start_sample2 + i + j].w_float;
+			b_samples[start_sample2 + i + j].w_float = mix_sample;
+		}
+	}
+	buffet_update(x);
+}
+
+
+void buffet_retroblock(t_buffet *x)
+{
+	float minframes = x->minframes;
+	float maxframes = x->maxframes;
+	float fade = x->fade;
+	long totalframes;
+	long swapframes;
+	long r1startframe;
+	long r1endframe;
+	long start_sample1;
+	float *storage = x->storage;
+	t_word *b_samples;
+	float mix_sample;
+	float fadein_gain;
+	float fadeout_gain;
+	//	float fadephase;
+	long ub1, lb1;
+	long ub2, lb2;
+	long block1size,block2size;
+	long b_nchans;
+	long syncframe;
+	int i,j,k;
+	buffet_setbuf(x, x->wavename);
+	if(x->hosed){
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(totalframes < maxframes * b_nchans + 1){
+		error("buffer must contain at least twice as many samples as the maximum swap size");
+		return;
+	}
+	if(b_nchans > 2){
+		error("buffet~ only accepts mono or stereo buffers");
+		return;
+	}
+	syncframe = x->sync * totalframes;
+	swapframes = buffet_boundrand(minframes, maxframes);
+	if(x->sync <= 0.0 ){ // either no sync signal or it is zero
+		r1startframe = buffet_boundrand(0.0, (float)(totalframes-swapframes));
+		r1endframe = r1startframe + swapframes;
+	} else {
+		// avoid swapping where we are playing from buffer
+		lb1 = 0;
+		ub1 = syncframe - CUSHION_FRAMES; // could be reading buffer backwards
+		lb2 = ub1 + CUSHION_FRAMES;
+		ub2 = totalframes - 1;
+		block1size = ub1 - lb1;
+		block2size = ub2 - lb2;
+		
+		if(block1size < maxframes && block2size < maxframes ) {
+			error("could not reverse block");
+			return;
+		}
+		if(block1size >= maxframes && block2size >= maxframes){
+			if(buffet_boundrand(0.0,1.0) > 0.5){
+				r1startframe = buffet_boundrand(0.0, (float)(ub1-swapframes));
+			} else {
+				r1startframe = buffet_boundrand((float)lb2, (float)(ub2-swapframes));
+			}
+		} else if(block1size < maxframes) {
+			r1startframe = buffet_boundrand((float)lb2, (float)(ub2-swapframes));
+		} else {
+			r1startframe = buffet_boundrand(0.0, (float)(ub1-swapframes));
+		}
+		r1endframe = r1startframe + swapframes;
+	}
+	
+	
+	if(r1endframe >= totalframes){
+		error("%s: retro beyond bounds",OBJECT_NAME);
+		return;
+	}
+	
+	// store block1 samples
+	start_sample1 = r1startframe * b_nchans;
+	// start_sample2 = r2startframe * b_nchans;
+	// store block in reversed order
+	for(k = 0, i = (swapframes-1) * b_nchans; i > 0; i -= b_nchans, k += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			storage[i+j] = b_samples[start_sample1 + k + j].w_float;
+		}
+	}
+	// swap block2 into block1 location, fadein
+	
+	for(i = 0, k = 0; i < fade * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadein_gain * storage[i + j] + fadeout_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	// middle part, pure swap
+	
+	
+	for(i = fade * b_nchans; i < (swapframes-fade) * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample1 + i + j].w_float = storage[i + j];
+		}
+	}
+	// fade out
+	
+	for(i = (swapframes-fade) * b_nchans, k = 0; i < swapframes * b_nchans; i += b_nchans, k++){
+		fadein_gain = (float)k / (float) fade;
+		fadeout_gain = 1.0 - fadein_gain;
+		for(j = 0; j < b_nchans; j++){
+			mix_sample = fadeout_gain * storage[i + j] + fadein_gain * b_samples[start_sample1 + i + j].w_float;
+			b_samples[start_sample1 + i + j].w_float = mix_sample;
+		}
+	}
+	buffet_update(x);
+}
+
+// clicky version
+void buffet_nakedswap(t_buffet *x)
+{
+	//long
+	long minframes = x->minframes;
+	long maxframes = x->maxframes;
+	long totalframes;
+	long swapframes;
+	long r1startframe;
+	long r1endframe;
+	long r2startframe;
+	long r2endframe;
+	long region1;
+	long region2;
+	long start_sample1;
+	long start_sample2;
+	float *storage = x->storage;
+	t_word *b_samples;
+	long b_nchans;
+	int i,j;
+	buffet_setbuf(x, x->wavename);
+	
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	totalframes = x->wavebuf->b_frames;
+	
+	if(totalframes < maxframes * 2 + 1){
+		error("buffer must contain at least twice as many samples as the maximum swap size");
+		return;
+	}
+	if(b_nchans != 2){
+		error("buffet~ only accepts stereo buffers");
+		return;
+	}
+	swapframes = buffet_boundrand((float)minframes, (float)maxframes);
+	r1startframe = buffet_boundrand(0.0, (float)(totalframes-swapframes));
+	r1endframe = r1startframe + swapframes;
+	region1 = r1startframe;
+	region2 = totalframes - r1endframe;
+	
+	if(swapframes > region1){
+		r2startframe = buffet_boundrand((float)r1endframe,(float)(totalframes-swapframes));
+	} else if(swapframes > region2) {
+		r2startframe = buffet_boundrand(0.0,(float)(r1startframe-swapframes));
+	} else {
+		if(buffet_boundrand(0.0,1.0) > 0.5){
+			r2startframe = buffet_boundrand(0.0,(float)(r1startframe-swapframes));
+		} else {
+			r2startframe = buffet_boundrand((float)r1endframe,(float)(totalframes-swapframes));
+		}
+	}
+	r2endframe = r2startframe + swapframes;
+	if(r2startframe < 0 || r1startframe < 0){
+		error("start frame less than zero!");
+		return;
+	}
+	if(r2endframe >= totalframes || r1endframe >= totalframes){
+		error("end frame reads beyond buffer!");
+		return;
+	}
+	// Now swap the samples. For now no cross fade
+	start_sample1 = r1startframe * b_nchans;
+	start_sample2 = r2startframe * b_nchans;
+	for(i = 0; i < swapframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			storage[i+j] = b_samples[start_sample1 + i + j].w_float;
+		}
+	}
+	// swap block1 into block2
+	for(i = 0; i < swapframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample1 + i + j].w_float = b_samples[start_sample2 + i + j].w_float;
+		}
+	}
+	// swap stored block into block1
+	for(i = 0; i < swapframes * b_nchans; i += b_nchans){
+		for(j = 0; j < b_nchans; j++){
+			b_samples[start_sample2 + i + j].w_float = storage[i + j];
+		}
+	}
+	buffet_update(x);
+}
+
+void buffet_setbuf(t_buffet *x, t_symbol *wavename)
+{
+    
+	t_garray *a;
+	int b_frames;
+	t_word *b_samples;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+		if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,wavename->s_name);
+		x->wavebuf->b_samples = 0;
+		x->wavebuf->b_valid = 0;
+    }
+	else if (!garray_getfloatwords(a, &b_frames, &b_samples)) {
+		pd_error(x, "%s: bad array for %s", wavename->s_name,OBJECT_NAME);
+		x->wavebuf->b_valid = 0;
+    }
+	else  {
+		x->wavebuf->b_valid = 1;
+		x->wavebuf->b_frames = b_frames;
+		x->wavebuf->b_nchans = 1;
+		x->wavebuf->b_samples = b_samples;
+		garray_usedindsp(a);
+	}
+	
+}
+
+
+t_int *buffet_perform(t_int *w)
+{
+	t_buffet *x = (t_buffet *) (w[1]);
+	float *sync = (t_float *)(w[2]);
+	int n = (int) w[3];
+	
+	while(n--){
+		x->sync = *sync++;
+	}
+	
+	return (w+4);
+}
+
+
+float buffet_boundrand(float min, float max)
+{
+	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
+}
+
+void buffet_detect_onsets(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	t_atom *listdata = x->listdata;
+	long startframe;
+	long currentframe;
+	long endframe;
+	long sample_frames;
+	long fft_frames;
+	int R = x->sr;
+	int	N = 1024;
+	int	N2 = N / 2;
+	int	Nw = N;
+	int	Nw2 = Nw / 2;
+	int	D = N / 2;
+	int	i,j,k,m;
+	//	float sb1,sb2,sb3,sb4,energy=0,lastenergy;
+	float freqcenter=0;
+	float tmp;
+	float fave; // freq average
+	short first = 1;
+	float dsum;
+	short suppress = 0;
+	float suppressrt = 0;
+	
+	float rt, rtadv;
+	int	inCount;
+	float *Wanal;
+	float *Wsyn;
+	float *input;
+	float *Hwin;
+	float *buffer;
+	float *channel;
+	float *output;
+	float *input_vec;
+	float *specdiff;
+	float *freqdiff;
+	float *hfc;
+	float *freqs, *amps;
+	float lastfreqs[5];
+	float fdiffs[5];
+	float *onsets;
+	float **loveboat;
+	float *c_lastphase_in;
+	float *c_lastphase_out;
+	float c_fundamental;
+	float c_factor_in;
+	float *trigland;
+	int *bitshuffle;
+	int topanalbin;
+	float threshold;
+	int bytesize;
+	
+	int MAX_ONSETS = 2048;
+	int onset_count = 0;
+	
+	buffet_setbuf(x, x->wavename);
+	if( x->hosed ){
+		error("buffet~ needs a valid buffer");
+		return;
+	}
+	if(argc < 4){
+		post("%s: detect_onsets requires start and end times,threshold and FFTsize",OBJECT_NAME);
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	threshold = atom_getfloatarg(2,argc,argv);
+	N = atom_getfloatarg(3,argc,argv);
+	N2 = N / 2;
+	Nw = N;
+	Nw2 = Nw / 2;
+	D = N / 2;
+	
+	
+	sample_frames = endframe - startframe;
+	fft_frames = sample_frames / D;
+	
+	c_fundamental = (float)R / (float)N;
+	inCount = -Nw;
+	c_factor_in = (float)R/((float)D * TWOPI);
+	
+	rt = startframe * 1000.0 / x->sr;
+	rtadv = 1000. * (float)D/(float)R;
+	
+	post("we will analyze %d FFT frames",fft_frames);
+	
+	Wanal = (float *) getbytes(Nw * sizeof(float));
+	Wsyn = (float *) getbytes(Nw * sizeof(float));
+	Hwin = (float *) getbytes(Nw * sizeof(float));
+	input = (float *) getbytes(Nw * sizeof(float) );
+	output = (float *) getbytes(Nw * sizeof(float) );
+	buffer = (float *) getbytes(N * sizeof(float));
+	channel = (float *) getbytes((N+2) * sizeof(float) );
+	bitshuffle = (int *) getbytes(N * 2 * sizeof(int));
+	bytesize = N * 2 * sizeof(float);
+	//	post("allocing %d bytes to trigland",N * 2 * sizeof(float));
+	
+	trigland = (float *) getbytes(N * 2 * sizeof(float));
+	//  	post("cleaning %d bytes in trigland",N * 2 * sizeof(float));
+	
+	
+	c_lastphase_in = (float *) getbytes((N2+1) * sizeof(float));
+	c_lastphase_out = (float *) getbytes((N2+1) * sizeof(float));
+	
+	input_vec = (float *) getbytes(D * sizeof(float));
+	onsets = (float *) getbytes(MAX_ONSETS * sizeof(float));
+	specdiff = (float *) getbytes(fft_frames * sizeof(float));
+	freqdiff = (float *) getbytes(fft_frames * sizeof(float));
+	hfc = (float *) getbytes(fft_frames * sizeof(float));
+	loveboat = (float **) getbytes(fft_frames * sizeof(float *));
+	
+	freqs = (float *) getbytes(N * sizeof(float));
+	amps = (float *) getbytes(N * sizeof(float));
+	for(i = 0; i < fft_frames; i++){
+		loveboat[i] = (float *) getbytes((N+2) * sizeof(float));
+		if(loveboat[i] == NULL){
+			error("memory error");
+			return;
+		}
+		// memset((char *)loveboat[i],0,(N+2)*sizeof(float));
+	}
+	
+	memset((char *)trigland,0, N * 2 * sizeof(float));
+	memset((char *)input,0,Nw * sizeof(float));
+	memset((char *)output,0,Nw * sizeof(float));
+	memset((char *)c_lastphase_in,0,(N2+1) * sizeof(float));
+	memset((char *)c_lastphase_out,0,(N2+1) * sizeof(float));
+	memset((char *)bitshuffle,0, 2 * N * sizeof(int));
+	
+	
+	makewindows(Hwin, Wanal, Wsyn, Nw, N, D);
+	
+	
+	init_rdft(N, bitshuffle, trigland);
+	
+	currentframe = startframe;
+	
+	for(k = 0; k < fft_frames; k++){
+		for(j = 0; j < D; j++){
+			input_vec[j] = b_samples[(currentframe + j) * b_nchans].w_float;// only read first channel
+		}
+		currentframe += D;
+		
+		for ( j = 0 ; j < Nw - D ; j++ ){
+			input[j] = input[j+D];
+		}
+		for (i = 0, j = Nw - D; j < Nw; j++, i++) {
+			input[j] = input_vec[i];
+		}
+		fold(input, Wanal, Nw, buffer, N, inCount);
+		rdft(N, 1, buffer, bitshuffle, trigland);
+		convert(buffer, loveboat[k], N2, c_lastphase_in, c_fundamental, c_factor_in);
+	}
+	
+	topanalbin = 11000.0 / c_fundamental;
+	//	post("top bin %d",topanalbin);
+	
+	for(j = 0; j < 5; j++)
+		lastfreqs[j] = 0;
+	
+	for(i = 0, k = 1; i < fft_frames - 1; i++, k++){
+        
+		for(j = 0; j < 5; j++)
+			lastfreqs[j] = freqs[j];
+		
+		for(j = 2, m = 0; j < topanalbin * 2; j += 2, m++){  // skip lowest bin
+			freqcenter += fabs(loveboat[i][j]) * fabs(loveboat[i][j+1]);
+			amps[m] = fabs(loveboat[i][j]);
+			freqs[m] = loveboat[i][j+1];
+		}
+		/* swap top freqs to the top - but note there is a problem if some lower partials
+         vacillate over which is the weakest since it will swap places and generate spurious
+         change of frequency info. */
+		
+		for(j = 0; j < topanalbin-1; j++){
+			for(m = j + 1 ; m < topanalbin; m++){
+				if(amps[m]> amps[j]){
+					tmp = amps[j];
+					amps[j] = amps[m];
+					amps[m] = tmp;
+					tmp = freqs[j];
+					freqs[j] = freqs[m];
+					freqs[m] = tmp;
+				}
+			}
+		}
+        
+		if(first){
+			first = 0;
+			for(j = 0; j < 5; j++){
+				lastfreqs[j] = freqs[j];
+			}
+		}
+		for(j = 0; j < 5; j++){
+			fave = (lastfreqs[j] + freqs[j]) * 0.5;
+			if(fave > 0)
+				fdiffs[j] = fabs(lastfreqs[j] - freqs[j])/fave;
+			else
+				fdiffs[j] = 0;
+		}
+		dsum = fdiffs[0] + .5 * fdiffs[1] + .25 * fdiffs[2] + .125 * fdiffs[3] + .0625 * fdiffs[4];
+		if(dsum > threshold && ! suppress){
+			suppress = 1;
+			suppressrt = 0;
+			onsets[onset_count++] = rt;
+			/*
+             post("%.2f: f1 %.2f d1 %.2f f2 %.2f d2 %.2f f3 %.2f d3 %.2f f4 %.2f d4 %.2f f5 %.2f d5 %.2f, dsum: %f",
+             rt, freqs[0],fdiffs[0], freqs[1],fdiffs[1], freqs[2],fdiffs[2], freqs[3],fdiffs[3], freqs[4],fdiffs[4], dsum);
+             */
+			
+		} else {
+			suppressrt += rtadv;
+			if(suppressrt > 100){ // 100 ms latency
+				suppress = 0;
+			}
+			
+		}
+		rt += rtadv;
+	}
+	
+	post("%s: %d onsets detected",OBJECT_NAME,onset_count);
+	for(i = 0; i < onset_count; i++){
+		SETFLOAT(listdata + i, onsets[i]);
+	}
+	
+	outlet_list(x->list, 0, onset_count, listdata);
+	outlet_bang(x->bang);
+	// free memory at end of routine
+}
+
+void buffet_detect_subband_onsets(t_buffet *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	t_word *b_samples;
+	long b_nchans;
+	long b_frames;
+	long startframe;
+	long currentframe;
+	long endframe;
+	long sample_frames;
+	long fft_frames;
+	int R = x->sr;
+	int	N = 1024;
+	int	N2 = N / 2;
+	int	Nw = N;
+	int	Nw2 = Nw / 2;
+	int	D = N / 2;
+	int	i,j,k,l;
+	int minbin,maxbin;
+    
+	
+	float rt, rtadv;
+	int	inCount;
+	float *Wanal;
+	float *Wsyn;
+	float *input;
+	float *Hwin;
+	float *buffer;
+	float *channel;
+	float *output;
+	float *input_vec;
+	float *specdiff;
+	float *freqdiff;
+	float *hfc;
+	float *freqs, *amps;
+    
+	float subband_energy[5];
+	float subband_freqdiff[5];
+	int subband_bincuts[6];
+	
+	float *onsets;
+	float **loveboat;
+    
+	float *c_lastphase_in;
+	float *c_lastphase_out;
+	float c_fundamental;
+	float c_factor_in;
+    
+	float *trigland;
+	int *bitshuffle;
+    
+	
+	float threshold;
+    
+	
+	int MAX_ONSETS = 2048;
+    
+	buffet_setbuf(x, x->wavename);
+	if( x->hosed ){
+		error("buffet~ needs a valid buffer");
+		return;
+	}
+	if(argc < 4){
+		post("%s: detect_onsets requires start and end times,threshold and FFTsize",OBJECT_NAME);
+		return;
+	}
+	b_samples = x->wavebuf->b_samples;
+	b_nchans = x->wavebuf->b_nchans;
+	b_frames = x->wavebuf->b_frames;
+	startframe = .001 * x->sr * atom_getfloatarg(0,argc,argv);
+	endframe = .001 * x->sr * atom_getfloatarg(1,argc,argv);
+	threshold = atom_getfloatarg(2,argc,argv);
+	N = atom_getfloatarg(3,argc,argv);
+	N2 = N / 2;
+	Nw = N;
+	Nw2 = Nw / 2;
+	D = N / 2;
+	
+	if(!endframe)
+		endframe = b_frames;
+	
+	sample_frames = endframe - startframe;
+	fft_frames = sample_frames / D;
+	
+	c_fundamental = (float)R / (float)N;
+	inCount = -Nw;
+	c_factor_in = (float)R/((float)D * TWOPI);
+	
+	rt = startframe * 1000.0 / x->sr;
+	rtadv = 1000. * (float)D/(float)R;
+	
+	post("we will analyze %d FFT frames",fft_frames);
+	subband_bincuts[0] = 1;
+	subband_bincuts[1] = (int) (500.0 / c_fundamental);
+	subband_bincuts[2] = (int) (1000.0 / c_fundamental);
+	subband_bincuts[3] = (int) (2000.0 / c_fundamental);
+	subband_bincuts[4] = (int) (4000.0 / c_fundamental);
+	subband_bincuts[5] = (int) (8000.0 / c_fundamental);
+	
+	Wanal = (float *) getbytes(Nw * sizeof(float));
+	Wsyn = (float *) getbytes(Nw * sizeof(float));
+	Hwin = (float *) getbytes(Nw * sizeof(float));
+	input = (float *) getbytes(Nw * sizeof(float) );
+	output = (float *) getbytes(Nw * sizeof(float) );
+	buffer = (float *) getbytes(N * sizeof(float));
+	channel = (float *) getbytes((N+2) * sizeof(float) );
+	bitshuffle = (int *) getbytes(N * 2 * sizeof(int));
+	trigland = (float *) getbytes(N * 2 * sizeof(float));
+	c_lastphase_in = (float *) getbytes((N2+1) * sizeof(float));
+	c_lastphase_out = (float *) getbytes((N2+1) * sizeof(float));
+	
+	input_vec = (float *) getbytes(D * sizeof(float));
+	onsets = (float *) getbytes(MAX_ONSETS * sizeof(float));
+	specdiff = (float *) getbytes(fft_frames * sizeof(float));
+	freqdiff = (float *) getbytes(fft_frames * sizeof(float));
+	hfc = (float *) getbytes(fft_frames * sizeof(float));
+	loveboat = (float **) getbytes(fft_frames * sizeof(float *));
+	
+	freqs = (float *) getbytes(N * sizeof(float));
+	amps = (float *) getbytes(N * sizeof(float));
+	for(i = 0; i < fft_frames; i++){
+		loveboat[i] = (float *) getbytes((N+2) * sizeof(float));
+		if(loveboat[i] == NULL){
+			error("memory error");
+			return;
+		}
+		// memset((char *)loveboat[i],0,(N+2)*sizeof(float));
+	}
+	
+	memset((char *)trigland,0, N * 2 * sizeof(float));
+	memset((char *)input,0,Nw * sizeof(float));
+	memset((char *)output,0,Nw * sizeof(float));
+	memset((char *)c_lastphase_in,0,(N2+1) * sizeof(float));
+	memset((char *)c_lastphase_out,0,(N2+1) * sizeof(float));
+	memset((char *)bitshuffle,0, 2 * N * sizeof(int));
+	
+	
+	makewindows(Hwin, Wanal, Wsyn, Nw, N, D);
+	
+	
+	init_rdft(N, bitshuffle, trigland);
+	
+	currentframe = startframe;
+	
+	for(k= 0; k < 5; k++){
+		minbin = subband_bincuts[k]; maxbin = subband_bincuts[k+1];
+		post("%d: minbin %d maxbin %d",k, minbin,maxbin);
+	}
+	
+	for(k = 0; k < fft_frames; k++){
+		for(j = 0; j < D; j++){
+			input_vec[j] = b_samples[(currentframe + j) * b_nchans].w_float;// only read first channel
+		}
+		currentframe += D;
+		
+		for ( j = 0 ; j < Nw - D ; j++ ){
+			input[j] = input[j+D];
+		}
+		for (i = 0, j = Nw - D; j < Nw; j++, i++) {
+			input[j] = input_vec[i];
+		}
+		fold(input, Wanal, Nw, buffer, N, inCount);
+		rdft(N, 1, buffer, bitshuffle, trigland);
+		convert(buffer, loveboat[k], N2, c_lastphase_in, c_fundamental, c_factor_in);
+	}
+	
+	rt = rtadv;
+	for(i = 0, j = 1; i < fft_frames - 1; i++, j++){
+		
+		
+		for(k= 0; k < 5; k++){
+			minbin = subband_bincuts[k]; maxbin = subband_bincuts[k+1];
+			subband_energy[k] = 0;
+			subband_freqdiff[k] = 0;
+			/* maxamp = 0;
+             for(l = minbin * 2; l < maxbin * 2; l += 2){
+             } */
+			for(l = minbin * 2; l < maxbin * 2; l += 2){
+				//		subband_energy[k] += (loveboat[j][l] * loveboat[j][l])  - (loveboat[i][l] * loveboat[i][l]);
+				subband_freqdiff[k] += (fabs(loveboat[j][l+1] - loveboat[i][l+1])/loveboat[i][l+1]) *
+				loveboat[j][l] * loveboat[j][l] ;// scale by energy
+			}
+		}
+		/*
+		 post("rt: %.2f sb1 %f sb2 %f sb3 %f sb4 %f sb5 %f",
+         rt, subband_energy[0],subband_energy[1],subband_energy[2],subband_energy[3],subband_energy[4]
+         );
+		 */
+		post("rt:%f fb1 %f fb2 %f fb3 %f fb4 %f fb5 %f",
+			 rt, subband_freqdiff[0],subband_freqdiff[1],subband_freqdiff[2],subband_freqdiff[3],subband_freqdiff[4]
+			 );
+		/*
+         post("%.2f: f1 %.2f d1 %.2f f2 %.2f d2 %.2f f3 %.2f d3 %.2f f4 %.2f d4 %.2f f5 %.2f d5 %.2f, dsum: %f",
+         rt, freqs[0],fdiffs[0], freqs[1],fdiffs[1], freqs[2],fdiffs[2], freqs[3],fdiffs[3], freqs[4],fdiffs[4], dsum);
+         */
+		
+		
+		rt += rtadv;
+	}
+	/*
+	 post("%s: %d onsets detected",OBJECT_NAME,onset_count);
+	 for(i = 0; i < onset_count; i++){
+     SETFLOAT(listdata + i, onsets[i]);
+	 }
+	 
+	 outlet_list(x->list, 0, onset_count, listdata);
+	 
+	 outlet_bang(x->bang);
+	 */
+	// free memory at end of routine
+}
+
+
+/* should really be using malloc/free instead of annoying MSPd routines */
+void buffet_dsp_free(t_buffet *x)
+{
+    
+	freebytes(x->storage,0);
+	freebytes(x->listdata,0);
+	freebytes(x->rmsbuf,0);
+	freebytes(x->analbuf,0);
+	freebytes(x->onset,0);
+	freebytes(x->wavebuf,0);
+	freebytes(x->destbuf,0);
+}
+
+void buffet_dsp(t_buffet *x, t_signal **sp)
+{
+	
+	buffet_setbuf(x, x->wavename);
+	
+	if( x->hosed ){
+		error("buffet~ needs a valid buffer");
+		return;
+	}
+	if( x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		
+		if(!x->sr){
+			post("%s: warning: zero sampling rate!",OBJECT_NAME);
+			x->sr = 44100;
+		}
+		buffet_init(x,1);
+	}
+	
+	dsp_add(buffet_perform, 3, x,
+			sp[0]->s_vec, sp[0]->s_n);
+	
+}
+
diff --git a/externals/lyonpotpourri/bvplay~-help.pd b/externals/lyonpotpourri/bvplay~-help.pd
new file mode 100755
index 000000000..103f6f156
--- /dev/null
+++ b/externals/lyonpotpourri/bvplay~-help.pd
@@ -0,0 +1,52 @@
+#N canvas 234 181 552 434 10;
+#N canvas 348 477 724 547 load-a-sound 0;
+#X obj 49 170 soundfiler;
+#X obj 49 119 openpanel;
+#X obj 49 92 inlet;
+#X msg 49 142 read -resize \$1 bvplay-demo-array;
+#X obj 354 89 loadbang;
+#X msg 354 125 read -resize sound/voice.wav bvplay-demo-array;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X restore 9 86 pd load-a-sound;
+#X obj 9 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
+;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array bvplay-demo-array 62079 float 2;
+#X coords 0 1 62079 -1 200 140 1;
+#X restore 10 140 graph;
+#X obj 250 217 bvplay~ bvplay-demo-array 1 30;
+#X obj 250 283 *~ 0.5;
+#X floatatom 289 263 5 0 0 0 - - -, f 5;
+#X obj 292 242 hsl 64 12 0 1 0 0 empty empty empty -2 -8 0 10 -180201
+-1 -1 0 1;
+#X obj 250 316 dac~;
+#X text 12 345 Send note statements to bvplay~ in list format: [skip
+duration increment amplitude], f 83;
+#X text 271 201 args: name \, chans \, taper;
+#X msg 225 101 taper \$1;
+#X floatatom 225 84 5 0 0 0 - - -, f 5;
+#X text 290 100 set fadein/fadeout for each note;
+#X text 12 369 bvplay~ will omit overlapped notes \, but multiple units
+can be used for polyphony., f 82;
+#X text 187 32 bvplay~ - Enveloped array playback;
+#X text 28 58 <- first load in a sound (recommend at least 5 secs.)
+;
+#X text 368 133 example notes;
+#X msg 250 133 0 500 1.2 1;
+#X msg 271 153 900 1000 -0.5 1;
+#X obj 8 22 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X connect 1 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 7 0;
+#X connect 4 0 7 1;
+#X connect 5 0 4 1;
+#X connect 6 0 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 10 0;
+#X connect 17 0 3 0;
+#X connect 18 0 3 0;
diff --git a/externals/lyonpotpourri/bvplay~.c b/externals/lyonpotpourri/bvplay~.c
new file mode 100755
index 000000000..0f759f513
--- /dev/null
+++ b/externals/lyonpotpourri/bvplay~.c
@@ -0,0 +1,297 @@
+#include "MSPd.h"
+
+static t_class *bvplay_class;
+
+
+#define OBJECT_NAME "bvplay~"
+typedef struct {
+	t_word *b_samples;
+	long b_valid;
+	long b_nchans;
+	long b_frames;
+} t_guffer; // stuff we care about from garrays and buffers
+
+
+typedef struct _bvplay
+{
+    
+    t_object x_obj;
+	float x_f;
+    t_symbol *sfname; // name of soundfile
+	t_guffer *wavebuf; // store needed buffer or garray data
+    
+	long object_chans; // number of channels for a given instantiation
+    float taper_dur;
+    int R;
+    int framesize;
+    float *notedata;
+    int active;
+    float buffer_duration;
+    int taper_frames;
+    float amp;
+    int start_frame;
+    int note_frames;
+    int end_frame;
+    float increment;
+    float findex;
+    int index ;
+	short verbose;
+	short mute;
+} t_bvplay;
+
+t_int *bvplay_perform_mono(t_int *w);
+t_int *bvplay_perform_stereo(t_int *w);
+void bvplay_dsp(t_bvplay *x, t_signal **sp);
+void bvplay_set(t_bvplay *x, t_symbol *s);
+void *bvplay_new(t_symbol *s, t_floatarg taperdur);
+void bvplay_notelist(t_bvplay *x, t_symbol *msg, short argc, t_atom *argv );
+void bvplay_verbose(t_bvplay *x, t_floatarg t);
+void bvplay_mute(t_bvplay *x, t_floatarg t);
+void bvplay_taper(t_bvplay *x, t_floatarg t);
+void bvplay_dsp_free(t_bvplay *x);
+
+void bvplay_tilde_setup(void)
+{
+	bvplay_class = class_new(gensym("bvplay~"),(t_newmethod)bvplay_new,
+                             (t_method)bvplay_dsp_free, sizeof(t_bvplay), 0, A_SYMBOL, A_FLOAT,0);
+	CLASS_MAINSIGNALIN(bvplay_class,t_bvplay, x_f);
+	class_addmethod(bvplay_class,(t_method)bvplay_dsp,gensym("dsp"),A_CANT,0);
+	class_addmethod(bvplay_class,(t_method)bvplay_notelist,gensym("list"),A_GIMME,0);
+	class_addmethod(bvplay_class,(t_method)bvplay_verbose,gensym("verbose"),A_FLOAT,0);
+	class_addmethod(bvplay_class,(t_method)bvplay_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(bvplay_class,(t_method)bvplay_taper,gensym("taper"),A_FLOAT,0);
+    
+	potpourri_announce(OBJECT_NAME);
+}
+
+void bvplay_taper(t_bvplay *x, t_floatarg t)
+{
+	if(t>0){
+		x->taper_dur = (float)t/1000.0;
+		x->taper_frames = x->R * x->taper_dur;
+	}
+}
+
+
+void bvplay_mute(t_bvplay *x, t_floatarg f)
+{
+    x->mute = (short)f;
+}
+
+void bvplay_verbose(t_bvplay *x, t_floatarg f)
+{
+    x->verbose = (short)f;
+}
+
+
+void bvplay_notelist(t_bvplay *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    
+	if( x->active ){
+		if( x->verbose )
+			error("object still playing - cannot add note!");
+		return;
+	}
+	bvplay_set(x, x->sfname);
+	if(! x->wavebuf->b_valid){
+		post("%s: no valid buffer yet",OBJECT_NAME);
+		return;
+	}
+    
+	// read note data
+	if( argc != 4 ){
+		if( x->verbose ){
+			post("improper note data");
+			post("notelist parameters: skiptime, duration, increment, amplitude");
+		}
+	}
+    
+	x->notedata[0] = atom_getfloatarg(0,argc,argv) / 1000.0;
+	x->notedata[1] = atom_getfloatarg(1,argc,argv) / 1000.0;
+	x->notedata[2] = atom_getfloatarg(2,argc,argv);
+	x->notedata[3] = atom_getfloatarg(3,argc,argv);
+    
+	x->start_frame = x->notedata[0] * x->R;
+	x->increment = x->notedata[2];
+	x->index = x->findex = x->start_frame;
+    
+	if( x->increment == 0.0 ){
+		if( x->verbose )
+			post("zero increment!");
+		return;
+	}
+	x->note_frames =  x->notedata[1] * x->increment  * x->R;
+	x->end_frame = x->start_frame + x->note_frames;
+    
+    x->amp = x->notedata[3];
+	if( x->start_frame < 0 || x->start_frame >= x->wavebuf->b_frames){
+		if( x->verbose )
+			post("%s: bad start time",OBJECT_NAME);
+		return;
+	}
+	if( x->end_frame < 0 || x->end_frame >= x->wavebuf->b_frames){
+		if( x->verbose )
+			post("%s: bad end time",OBJECT_NAME);
+		return;
+	}
+    
+	x->active = 1;
+}
+
+t_int *bvplay_perform_mono(t_int *w)
+{
+    t_bvplay *x = (t_bvplay *)(w[1]);
+    t_float *out = (t_float *)(w[2]);
+    int n = (int) w[3];
+	t_word *tab;
+	long iindex = x->index;
+	float findex = x->findex;
+	int end_frame = x->end_frame;
+	float increment = x->increment;
+	int start_frame = x->start_frame;
+	int taper_frames = x->taper_frames;
+	float noteamp = x->amp;
+	float frac, amp;
+    /**********************/
+    bvplay_set(x,x->sfname);
+    
+	if(!x->wavebuf->b_valid) {
+		post("invalid buffer");
+		memset(out, 0, sizeof(float) * n);
+		return (w+4);
+	}
+	tab = x->wavebuf->b_samples;
+	
+	if(x->active){
+		while(n--){
+            // post("index: %d endframe %d", iindex, end_frame);
+			if((increment > 0 && iindex < end_frame) || (increment < 0 && iindex > end_frame)) {
+				// envelope
+				if( increment > 0 ){
+					if( findex < start_frame + taper_frames ){
+						amp = noteamp * ((findex - (float) start_frame) / (float) taper_frames );
+					} else if ( findex > end_frame - taper_frames) {
+						amp = noteamp * (((float)end_frame - findex) / (float) taper_frames);
+					} else {
+						amp = noteamp;
+					}
+				} else { // negative increment case
+					if( findex > start_frame - taper_frames ){
+						amp =  noteamp * ( (start_frame - findex) / taper_frames );
+					} else if ( findex < end_frame + taper_frames) {
+						amp = noteamp * (( findex - end_frame ) / taper_frames) ;
+					} else {
+						amp = noteamp;
+					}
+                    
+				}
+				frac = findex - iindex ;
+				*out++ = amp * (tab[iindex].w_float + frac * (tab[iindex + 1].w_float - tab[iindex].w_float));
+				findex += increment;
+				iindex = findex ;
+			} else {
+				*out++ = 0;
+				x->active = 0;
+			}
+		}
+        
+	}
+	else{
+		while(n--){
+			*out++ = 0;
+		}
+	}
+    
+	x->index = iindex;
+	x->findex = findex;
+    
+	return (w+4);
+}
+
+void bvplay_set(t_bvplay *x, t_symbol *wavename)
+{
+    
+	t_garray *a;
+	int b_frames;
+	t_word *b_samples;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+		if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,wavename->s_name);
+		x->wavebuf->b_valid = 0;
+    }
+	else if (!garray_getfloatwords(a, &b_frames, &b_samples)) {
+		pd_error(x, "%s: bad array for %s", wavename->s_name,OBJECT_NAME);
+		x->wavebuf->b_valid = 0;
+    }
+	else  {
+		x->wavebuf->b_valid = 1;
+		x->wavebuf->b_frames = b_frames;
+		x->wavebuf->b_nchans = 1;
+		x->wavebuf->b_samples = b_samples;
+		garray_usedindsp(a);
+	}
+    
+}
+
+
+void *bvplay_new(t_symbol *s, t_floatarg taperdur)
+{
+    int ichan = 1;
+    
+	t_bvplay *x = (t_bvplay *)pd_new(bvplay_class);
+
+    outlet_new(&x->x_obj, gensym("signal"));
+
+    
+	x->object_chans = ichan;
+    taperdur /= 1000.0; // convert to seconds
+	if(taperdur <= 0)
+		taperdur = .005;
+	x->sfname = s;
+	x->R = sys_getsr();
+	if(! x->R){
+		error("zero sampling rate - set to 44100");
+		x->R = 44100;
+	}
+	x->notedata = (float *) calloc(4, sizeof(float));
+	x->wavebuf = (t_guffer *) calloc(1, sizeof(t_guffer));
+	x->taper_dur = taperdur;
+	x->taper_frames = x->R * x->taper_dur;
+	x->buffer_duration = 0.0 ;
+	x->framesize = 0;
+	x->active = 0;
+	x->verbose = 0;
+	x->mute = 0;
+	// post("channels %f, taper duration %.4f, taperframes %d", chan, taperdur, x->taper_frames );
+    
+	// post("arguments: channels, taper_duration(secs.)");
+	return x;
+}
+
+void bvplay_dsp_free(t_bvplay *x)
+{
+    
+	free(x->notedata);
+	free(x->wavebuf);
+}
+
+void bvplay_dsp(t_bvplay *x, t_signal **sp)
+{
+    bvplay_set(x,x->sfname);
+    
+    if(x->R != sp[0]->s_sr){
+    	x->R = sp[0]->s_sr;
+    	x->taper_frames = x->R * x->taper_dur;
+    }
+    // Pd buffers always mono ...
+    dsp_add(bvplay_perform_mono, 3, x, sp[0]->s_vec, sp[0]->s_n);
+    /*
+    if( x->wavebuf->b_nchans == 1 ) {
+    	// post("initiating mono processor");
+   	 	dsp_add(bvplay_perform_mono, 3, x, sp[0]->s_vec, sp[0]->s_n);
+    } else if( x->wavebuf->b_nchans == 2) {
+    	// post("initiating stereo processor");
+   	 	dsp_add(bvplay_perform_stereo,4,x,sp[0]->s_vec,sp[1]->s_vec,sp[0]->s_n);
+    } else {
+     	post("%s: bad channel spec: %d, cannot initiate dsp code",OBJECT_NAME,  x->wavebuf->b_nchans);
+    }*/
+}
diff --git a/externals/lyonpotpourri/cartopol~-help.pd b/externals/lyonpotpourri/cartopol~-help.pd
new file mode 100755
index 000000000..bd46bfb1f
--- /dev/null
+++ b/externals/lyonpotpourri/cartopol~-help.pd
@@ -0,0 +1,58 @@
+#N canvas 506 441 450 300 10;
+#N canvas 91 32 532 393 basic-fft 0;
+#X obj 225 66 inlet~;
+#X obj 225 341 outlet~;
+#X obj 225 98 windowvec~;
+#X obj 225 136 rfft~, f 6;
+#X obj 75 341 block~ 1024 8;
+#X obj 225 171 cartopol~;
+#X obj 225 215 poltocar~;
+#X obj 225 245 rifft~;
+#X obj 225 308 windowvec~;
+#X obj 225 275 *~ 0;
+#X obj 394 185 *;
+#X msg 346 107 1 1024 8;
+#X obj 346 138 unpack f f f;
+#X obj 346 217 /;
+#X floatatom 346 249 12 0 0 0 - - -, f 12;
+#X text 427 250 rescale factor;
+#X obj 346 76 loadbang;
+#X text 28 195 Any processing would go here ->;
+#X text 44 321 sets FFT size and overlap;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 10 0;
+#X connect 12 2 10 1;
+#X connect 13 0 14 0;
+#X connect 14 0 9 1;
+#X connect 16 0 11 0;
+#X restore 22 142 pd basic-fft;
+#X obj 22 115 osc~ 440;
+#X obj 22 216 dac~;
+#X obj 22 178 *~ 0.01;
+#X floatatom 22 92 5 0 0 0 - - -, f 5;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 103 142 <- look here;
+#X floatatom 93 179 5 0 0 2 gain - -, f 5;
+#X text 23 36 cartopol~ converts Pd-style rfft~ frames to polar form.
+This help file demonstrates the structure of Max pfft~-style FFT processing
+for Pd.;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 1 0;
+#X connect 7 0 3 1;
diff --git a/externals/lyonpotpourri/cartopol~.c b/externals/lyonpotpourri/cartopol~.c
new file mode 100755
index 000000000..094eb208d
--- /dev/null
+++ b/externals/lyonpotpourri/cartopol~.c
@@ -0,0 +1,63 @@
+#include "MSPd.h"
+
+static t_class *cartopol_class;
+
+/* Pd version of cartopol~ */
+
+#define OBJECT_NAME "cartopol~"
+typedef struct _cartopol
+{
+	t_object x_obj;
+    t_float x_f;
+} t_cartopol;
+
+void *cartopol_new(t_symbol *msg, short argc, t_atom *argv);
+void cartopol_free(t_cartopol *x);
+void cartopol_dsp(t_cartopol *x, t_signal **sp);
+
+
+void cartopol_tilde_setup(void){
+    cartopol_class = class_new(gensym("cartopol~"), (t_newmethod)cartopol_new,
+                              0, sizeof(t_cartopol),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(cartopol_class, t_cartopol, x_f);
+    class_addmethod(cartopol_class, (t_method)cartopol_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *cartopol_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_cartopol *x = (t_cartopol *)pd_new(cartopol_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	return x;
+}
+
+t_int *cartopol_perform(t_int *w)
+{
+    int i;
+    t_cartopol *x = (t_cartopol *) w[1];
+    t_float *real_in = (t_float *) w[2];
+    t_float *imag_in = (t_float *) w[3];
+    t_float *mag_out = (t_float *) w[4];
+    t_float *phase_out = (t_float *) w[5];
+    t_float imag, real;
+
+    int n = (int) w[6]; // obj, func, 1 inlet
+    int N2 = n/2;
+    
+    for(i = 0; i < N2 + 1; i++){
+        real = (i == N2 ? real_in[1] : real_in[i]);
+        imag = (i == 0 || i == N2 ? 0.0 : imag_in[i]);
+        mag_out[i] = hypot(real,imag);
+        phase_out[i] = -atan2(imag,real);
+    }
+
+    return (w + 7);
+}
+
+void cartopol_dsp(t_cartopol *x, t_signal **sp)
+{
+    dsp_add(cartopol_perform,6, x,
+            sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/channel~-help.pd b/externals/lyonpotpourri/channel~-help.pd
new file mode 100755
index 000000000..c7c73209b
--- /dev/null
+++ b/externals/lyonpotpourri/channel~-help.pd
@@ -0,0 +1,53 @@
+#N canvas 362 167 389 443 10;
+#X floatatom 30 409 5 0 0 0 - - -, f 5;
+#X obj 30 379 snapshot~;
+#X msg 30 98 44100;
+#X obj 30 118 / 64;
+#X floatatom 30 138 5 0 0 0 - - -, f 5;
+#X obj 30 210 osc~;
+#X obj 30 321 sqrt~;
+#X obj 30 284 *~;
+#X obj 80 284 *~;
+#X obj 30 348 channel~ 1;
+#X msg 166 299 channel \$1;
+#X floatatom 166 275 5 0 0 0 - - -, f 5;
+#X obj 30 235 rfft~;
+#X obj 178 363 metro 250;
+#X obj 30 178 *~ 1;
+#X floatatom 54 159 5 0 0 0 - - -, f 5;
+#X text 101 157 harmonic to synthesize;
+#X msg 166 222 2;
+#X obj 30 73 loadbang;
+#X text 209 273 index to monitor;
+#X obj 23 6 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 178 322 loadbang;
+#X msg 178 343 1;
+#X obj 166 200 loadbang;
+#X text 210 258 signal vector;
+#X text 28 35 channel~ - utility to probe a specific position within
+a signal vector. Useful for examining FFT data.;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 14 0;
+#X connect 5 0 12 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 1 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 12 0 7 0;
+#X connect 12 0 7 1;
+#X connect 12 1 8 1;
+#X connect 12 1 8 0;
+#X connect 13 0 1 0;
+#X connect 14 0 5 0;
+#X connect 15 0 14 1;
+#X connect 17 0 11 0;
+#X connect 17 0 15 0;
+#X connect 18 0 2 0;
+#X connect 21 0 22 0;
+#X connect 22 0 13 0;
+#X connect 23 0 17 0;
diff --git a/externals/lyonpotpourri/channel~.c b/externals/lyonpotpourri/channel~.c
new file mode 100755
index 000000000..b281944d4
--- /dev/null
+++ b/externals/lyonpotpourri/channel~.c
@@ -0,0 +1,84 @@
+#include "MSPd.h"
+
+static t_class *channel_class;
+
+
+typedef struct _channel
+{
+    
+	t_object x_obj;
+	float x_f;
+	void *float_outlet;
+	int channel;
+    
+	
+} t_channel;
+
+#define OBJECT_NAME "channel~"
+
+void *channel_new(t_symbol *s, int argc, t_atom *argv);
+
+t_int *channel_perform(t_int *w);
+void channel_dsp(t_channel *x, t_signal **sp);
+void channel_channel(t_channel *x, t_floatarg chan) ;
+void channel_int(t_channel *x, long chan) ;
+
+#define NO_FREE_FUNCTION 0
+void channel_tilde_setup(void)
+{
+	channel_class = class_new(gensym("channel~"), (t_newmethod)channel_new,
+                              NO_FREE_FUNCTION,sizeof(t_channel), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(channel_class, t_channel, x_f);
+	class_addmethod(channel_class, (t_method)channel_dsp, gensym("dsp"), 0);
+	class_addmethod(channel_class,(t_method)channel_channel,gensym("channel"),A_FLOAT,0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void channel_channel(t_channel *x, t_floatarg chan)
+{
+	if(chan >= 0)
+		x->channel = (int) chan;
+}
+
+
+void channel_int(t_channel *x, long chan)
+{
+	if(chan >= 0)
+		x->channel = (int) chan;
+}
+
+void *channel_new(t_symbol *s, int argc, t_atom *argv)
+{
+    
+	t_channel *x = (t_channel *)pd_new(channel_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->channel = (int)atom_getfloatarg(0,argc,argv);
+	return (x);
+}
+
+t_int *channel_perform(t_int *w)
+{
+	t_channel *x = (t_channel *) (w[1]);
+	t_float *in_vec = (t_float *)(w[2]);
+	t_float *out_vec = (t_float *)(w[3]);
+	int n = (int) w[4];
+	int channel = x->channel;
+	float value;
+	
+	if(channel < 0 || channel > n){
+		return w + 5;
+	}
+	value = in_vec[channel];
+	
+	while( n-- ) {
+		*out_vec++ = value;
+	}
+	return w + 5;
+}
+
+void channel_dsp(t_channel *x, t_signal **sp)
+{
+    dsp_add(channel_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/chopper~-help.pd b/externals/lyonpotpourri/chopper~-help.pd
new file mode 100755
index 000000000..793c4a279
--- /dev/null
+++ b/externals/lyonpotpourri/chopper~-help.pd
@@ -0,0 +1,202 @@
+#N canvas 543 159 539 382 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array sound1 62079 float 2;
+#X coords 0 1 62079 -1 100 70 1;
+#X restore 21 88 graph;
+#X obj 103 218 chopper~ sound1;
+#X obj 103 295 dac~;
+#N canvas 745 473 502 352 messages 0;
+#N canvas 128 60 560 676 basic 0;
+#X obj 49 335 outlet;
+#X msg 49 106 force_new;
+#X msg 128 107 lockme \$1;
+#X obj 128 69 tgl 30 0 empty empty empty 0 -6 0 8 -257985 -1 -1 0 1
+;
+#X floatatom 200 132 5 0 0 0 - minincr -, f 5;
+#X floatatom 322 130 5 0 0 0 - maxincr -, f 5;
+#X floatatom 329 228 5 0 0 0 - minseg -, f 5;
+#X floatatom 432 228 5 0 0 0 - maxseg -, f 5;
+#X msg 329 249 set_minseg \$1;
+#X msg 432 249 set_maxseg \$1;
+#X msg 322 151 set_maxincr \$1;
+#X msg 200 153 set_minincr \$1;
+#X obj 53 380 hsl 128 15 0.1 0.9999 0 0 minincr minincr-init minincr
+-2 -6 0 8 -252672 -1 -1 5645 1;
+#X obj 53 411 hsl 128 15 1.0001 10 0 0 maxincr maxincr-init maxincr
+-2 -6 0 8 -252672 -1 -1 1411 1;
+#N canvas 0 22 470 320 init 0;
+#X obj 27 150 s minincr-init;
+#X msg 27 123 0.5;
+#X obj 134 149 s maxincr-init;
+#X msg 134 122 2;
+#X obj 27 4 loadbang;
+#X obj 245 147 s minseg-init;
+#X obj 352 146 s maxseg-init;
+#X msg 245 120 100;
+#X obj 323 91 s fixed-incr-init;
+#X msg 323 64 1;
+#X msg 352 119 2000;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 0 1 0;
+#X connect 4 0 7 0;
+#X connect 4 0 10 0;
+#X connect 4 0 9 0;
+#X connect 7 0 5 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X restore 275 51 pd init;
+#X obj 55 445 hsl 128 15 3 300 0 0 minseg minseg-init minseg -2 -6
+0 8 -252672 -1 -1 4148 1;
+#X obj 55 476 hsl 128 15 20 2000 0 0 maxseg maxseg-init maxseg -2 -6
+0 8 -252672 -1 -1 12700 1;
+#X msg 311 383 fixed_increment \$1;
+#X obj 49 8 tgl 30 0 empty empty empty 0 -6 0 8 -257985 -1 -1 0 1;
+#X obj 49 52 metro 120000;
+#X obj 314 350 hsl 50 10 0.1 5 0 0 empty empty empty -2 -8 0 10 -174016
+-1 -1 0 1;
+#X floatatom 311 366 5 0 0 0 - - -, f 5;
+#X obj 382 349 r fixed-incr-init;
+#X obj 278 309 t b;
+#X msg 278 330 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 11 0;
+#X connect 5 0 10 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 10 0 23 0;
+#X connect 11 0 0 0;
+#X connect 11 0 23 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
+#X connect 19 0 1 0;
+#X connect 20 0 21 0;
+#X connect 21 0 17 0;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 21 0;
+#X restore 53 44 pd basic controls;
+#N canvas 480 42 593 551 deviations 0;
+#X obj 224 188 outlet;
+#X msg 224 134 rdur \$1;
+#X floatatom 224 110 5 0 0 0 - rdur -, f 5;
+#X obj 222 250 hsl 128 15 0 1 0 0 rdur rdur-init rdur -2 -6 0 8 -252672
+-1 -1 0 1;
+#X obj 222 282 hsl 128 15 0 1 0 0 rinc rinc-init rinc -2 -6 0 8 -252672
+-1 -1 0 1;
+#X floatatom 288 110 5 0 0 0 - rinc -, f 5;
+#X msg 288 134 rinc \$1;
+#X floatatom 356 110 5 0 0 0 - jitter -, f 5;
+#X msg 356 134 jitter \$1;
+#X obj 222 316 hsl 128 15 0 1 0 0 jitter jitter-init jitter -2 -6 0
+8 -252672 -1 -1 0 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X restore 104 82 pd deviations;
+#N canvas 257 591 482 332 memory 0;
+#X obj 167 217 outlet;
+#X text 233 32 1024 locations available;
+#X msg 142 30 store_loop 1;
+#X msg 156 49 recall_loop 1;
+#X msg 182 93 store_loop 2;
+#X msg 195 113 recall_loop 2;
+#X msg 74 87 show_loop;
+#X text 208 170 use numbers that come from show_loop;
+#X msg 35 144 force_new;
+#X msg 281 188 set_loop 1000 25000 1.62;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X restore 88 62 pd memory;
+#N canvas 0 22 490 340 refinements 0;
+#X obj 38 149 outlet;
+#X obj 38 29 tgl 30 0 empty empty empty 0 -6 0 8 -257985 -1 -1 0 1
+;
+#X msg 38 74 adjust_inverse \$1;
+#X msg 95 123 taper \$1;
+#X floatatom 95 100 5 0 0 0 - taper-dur -, f 5;
+#X obj 41 185 hsl 128 15 1 100 0 0 taper-dur taper-dur-init taper-dur
+-2 -6 0 8 -252672 -1 -1 0 1;
+#X text 78 29 maintains loop duration;
+#X text 77 43 under increment change;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X restore 125 104 pd refinements;
+#N canvas 0 22 462 312 system 0;
+#X obj 38 138 outlet;
+#X obj 38 29 tgl 30 0 empty empty empty 0 -6 0 8 -257985 -1 -1 0 1
+;
+#X msg 38 74 mute \$1;
+#X msg 111 105 seed 6331;
+#X text 110 88 set seed (might be helpful for stereo);
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X restore 140 131 pd system;
+#X obj 54 201 s chopper.demo.msgs;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X restore 236 85 pd messages;
+#N canvas 9 465 466 316 load-soundfile 0;
+#X obj 31 177 soundfiler;
+#X msg 30 103 bang;
+#X obj 30 129 openpanel;
+#X msg 30 151 read -resize \$1 sound1;
+#X obj 11 57 loadbang;
+#X obj 105 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 10 82 read -resize sound/voice.wav sound1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X restore 285 330 pd load-soundfile;
+#X obj 103 265 *~ 0.1;
+#X obj 240 116 hsl 100 14 0 0.5 0 0 empty empty empty -2 -8 0 10 -174016
+-1 -1 0 1;
+#X obj 18 8 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 17 38 chopper~ - an algorithmic array chopper;
+#X obj 103 195 r chopper.demo.msgs;
+#X obj 291 215 chopper~ sound1;
+#X obj 291 192 r chopper.demo.msgs;
+#X obj 291 265 *~ 0.1;
+#X obj 330 243 r chopper.demo.gain;
+#X obj 142 242 r chopper.demo.gain;
+#X obj 237 141 s chopper.demo.gain;
+#X text 323 86 <- open this for more info;
+#X text 346 118 set master gain;
+#X msg 24 171 sync_out;
+#X text 88 170 sync instances;
+#X text 25 330 use a fairly long and varied sound here ->;
+#X connect 1 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 15 0;
+#X connect 9 0 1 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 12 0 2 1;
+#X connect 13 0 12 1;
+#X connect 14 0 5 1;
+#X connect 18 0 1 0;
diff --git a/externals/lyonpotpourri/chopper~.c b/externals/lyonpotpourri/chopper~.c
new file mode 100755
index 000000000..71550cc4f
--- /dev/null
+++ b/externals/lyonpotpourri/chopper~.c
@@ -0,0 +1,909 @@
+#include "MSPd.h"
+
+static t_class *chopper_class;
+
+#define MAXSTORE 1024
+#define OBJECT_NAME "chopper~"
+	
+typedef struct _chopper
+{
+
+  t_object x_obj;
+  float x_f;
+  t_symbol *l_sym;
+  long l_chan;
+  float increment;
+  double fbindex;
+  float buffer_duration;
+  float minseg;
+  float maxseg;
+  float segdur;
+  float minincr;
+  float maxincr;
+  int loop_samps;
+  int samps_to_go ;
+  int loop_start;
+  int bindex ;
+  int taper_samps;
+  int loop_min_samps;
+  int loop_max_samps;
+  float R;
+  float ldev;
+  float st_dev ;
+  int lock_loop;
+  int force_new_loop;
+  int framesize;
+  short mute;
+  short disabled;
+  int setup_chans;
+  int *stored_starts;
+  int *stored_samps;   
+  float *stored_increments;
+  short preempt;
+  short loop_engaged;
+  short data_recalled;
+  short initialize_loop;
+  short fixed_increment_on;
+  float fixed_increment;
+  float retro_odds;
+  float fade_level;
+  int transp_loop_samps;
+  float taper_duration;
+  short lock_terminated;
+  int preempt_samps;
+  int preempt_count;
+  short recalling_loop;
+  float jitter_factor;
+  float rdur_factor;
+  float rinc_factor;
+  short increment_adjusts_loop ;
+  short loop_adjust_inverse;
+  long b_frames;
+  long b_nchans;
+  t_word *b_samples;
+} t_chopper;
+
+
+t_int *chopper_perform_stereo(t_int *w);
+t_int *choppermono_perform(t_int *w);
+t_int *chopper_perform_stereo_nointerpol(t_int *w);
+t_int *chopper_perform_mono(t_int *w);
+t_int *chopper_pd_perform(t_int *w);
+void chopper_dsp(t_chopper *x, t_signal **sp);
+void chopper_set(t_chopper *x, t_symbol *s);
+void chopper_mute(t_chopper *x, t_floatarg toggle);
+void chopper_increment_adjust(t_chopper *x, t_floatarg toggle);
+void chopper_adjust_inverse(t_chopper *x, t_floatarg toggle);
+void *chopper_new(t_symbol *msg, short argc, t_atom *argv);
+void chopper_in1(t_chopper *x, long n);
+void chopper_set_minincr(t_chopper *x, t_floatarg n);
+void chopper_set_maxincr(t_chopper *x, t_floatarg n);
+void chopper_set_minseg(t_chopper *x, t_floatarg n);
+void chopper_set_maxseg(t_chopper *x, t_floatarg n);
+void chopper_taper(t_chopper *x, t_floatarg f);
+void chopper_fixed_increment(t_chopper *x, t_floatarg f);
+void chopper_lockme(t_chopper *x, t_floatarg n);
+void chopper_force_new(t_chopper *x);
+float chopper_boundrand(float min, float max);
+void chopper_assist(t_chopper *x, void *b, long m, long a, char *s);
+void chopper_dblclick(t_chopper *x);
+void chopper_show_loop(t_chopper *x);
+void chopper_set_loop(t_chopper *x, t_symbol *msg, short argc, t_atom *argv);
+void chopper_randloop( t_chopper *x);
+void chopper_store_loop(t_chopper *x, t_floatarg loop_bindex);
+void chopper_recall_loop(t_chopper *x,  t_floatarg loop_bindex);
+void chopper_free(t_chopper *x) ;
+void chopper_retro_odds(t_chopper *x, t_floatarg f);
+void chopper_jitter(t_chopper *x, t_floatarg f);
+void chopper_jitterme(t_chopper *x);
+void chopper_rdur(t_chopper *x, t_floatarg f);
+void chopper_rdurme(t_chopper *x);
+void chopper_rinc(t_chopper *x, t_floatarg f);
+void chopper_rincme(t_chopper *x);
+void chopper_adjust_inverse(t_chopper *x, t_floatarg toggle);
+t_int *chopper_performtest(t_int *w);
+void chopper_init(t_chopper *x, short initialized);
+void chopper_seed(t_chopper *x, t_floatarg seed);
+void chopper_testrand(t_chopper *x);
+
+t_symbol *ps_buffer;
+
+
+void chopper_testrand(t_chopper *x)
+{
+	float rval = chopper_boundrand(0.0, 1.0);
+	post("random btwn 0.0 1.0: %f",rval);
+}
+
+void chopper_mute(t_chopper *x, t_floatarg toggle)
+{
+	x->mute = (short) toggle;
+}
+
+void chopper_seed(t_chopper *x, t_floatarg seed)
+{
+	srand((long)seed);
+}
+
+void chopper_tilde_setup(void){
+  chopper_class = class_new(gensym("chopper~"), (t_newmethod)chopper_new, 
+      (t_method)chopper_free ,sizeof(t_chopper), 0,A_GIMME,0);
+  CLASS_MAINSIGNALIN(chopper_class, t_chopper, x_f);
+  class_addmethod(chopper_class,(t_method)chopper_dsp,gensym("dsp"),0);
+  class_addmethod(chopper_class,(t_method)chopper_mute,gensym("mute"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_taper,gensym("taper"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_fixed_increment,gensym("fixed_increment"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_retro_odds,gensym("retro_odds"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_show_loop,gensym("show_loop"),0);
+  class_addmethod(chopper_class,(t_method)chopper_set_loop,gensym("set_loop"),A_GIMME,0);
+  class_addmethod(chopper_class,(t_method)chopper_store_loop,gensym("store_loop"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_recall_loop,gensym("recall_loop"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_increment_adjust,gensym("increment_adjust"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_adjust_inverse,gensym("adjust_inverse"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_jitter,gensym("jitter"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_rdur,gensym("rdur"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_rinc,gensym("rinc"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_set_minincr,gensym("set_minincr"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_set_maxincr,gensym("set_maxincr"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_set_minseg,gensym("set_minseg"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_set_maxseg,gensym("set_maxseg"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_lockme,gensym("lockme"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_force_new,gensym("force_new"),0);
+  class_addmethod(chopper_class,(t_method)chopper_seed,gensym("seed"),A_FLOAT,0);
+  class_addmethod(chopper_class,(t_method)chopper_testrand,gensym("testrand"),0);
+  potpourri_announce(OBJECT_NAME);
+}
+
+
+void chopper_increment_adjust(t_chopper *x, t_floatarg toggle)
+{
+  x->increment_adjusts_loop = (short)toggle;
+  
+}
+
+void chopper_adjust_inverse(t_chopper *x, t_floatarg toggle)
+{
+  x->loop_adjust_inverse = (short)toggle;
+}
+
+void chopper_fixed_increment(t_chopper *x, t_floatarg f)
+{
+  float new_samps = 0;
+  float rectf;
+
+  x->fixed_increment = f;
+  if( f ){
+    x->fixed_increment_on = 1;
+  } else {
+    x->fixed_increment_on = 0;
+  }
+  
+  rectf = fabs(f);
+  
+  if( x->lock_loop && rectf > 0.0 ){
+
+    if( x->loop_adjust_inverse ){
+      new_samps = (float) x->loop_samps * rectf ;
+    } else {
+      new_samps = (float) x->loop_samps / rectf ;
+    }
+    if( f > 0 ){
+      if( x->loop_start + new_samps >= x->framesize ){
+		return;
+      } else {
+		x->increment = x->fixed_increment;
+      }
+    } else {
+      if( x->loop_start - new_samps < 0) {
+		return;
+      } else {
+		x->increment = x->fixed_increment;
+      }
+    }
+		
+  }
+  
+  if( x->increment_adjusts_loop ){
+    x->transp_loop_samps = new_samps;
+  }
+  
+
+}
+
+void chopper_jitter(t_chopper *x, t_floatarg f)
+{
+  f *= 0.1; // scale down a bit
+  if( f >= 0. && f <= 1.0 )
+    x->jitter_factor = f;
+}
+
+void chopper_rdur(t_chopper *x, t_floatarg f)
+{
+
+  if( f >= 0. && f <= 1.0 )
+    x->rdur_factor = f;
+}
+
+void chopper_rinc(t_chopper *x, t_floatarg f)
+{
+  // f *= 0.1; // scale down a bit
+
+  if( f >= 0. && f <= 1.0 )
+    x->rinc_factor = f;
+}
+
+
+void chopper_retro_odds(t_chopper *x, t_floatarg f)
+{
+
+  if( f < 0 )
+    f = 0;
+  if( f > 1 )
+    f = 1;
+		
+  x->retro_odds = f;
+
+}
+
+void chopper_show_loop(t_chopper *x)
+{
+  post("start: %d, samps: %d, increment: %f", x->loop_start, x->transp_loop_samps, x->increment);
+  post("minloop %f, maxloop %f", x->minseg, x->maxseg);
+}
+
+void chopper_store_loop(t_chopper *x, t_floatarg f)
+{
+  int loop_bindex = (int) f;
+
+  if( loop_bindex < 0 || loop_bindex >= MAXSTORE ){
+    error("bindex %d out of range", loop_bindex);
+    return;
+  }
+	
+  x->stored_starts[ loop_bindex ] = x->loop_start;
+  x->stored_samps[ loop_bindex ] = x->transp_loop_samps;
+  x->stored_increments[ loop_bindex ] = x->increment;
+
+  post("storing loop %d: %d %d %f",loop_bindex, 
+       x->stored_starts[ loop_bindex ],x->stored_samps[ loop_bindex ],  x->stored_increments[ loop_bindex ] );
+
+}
+
+void chopper_recall_loop(t_chopper *x, t_floatarg f)
+{
+  // bug warning: recall preceding store will crash program
+  // need to add warning
+int loop_bindex = (int) f;
+
+  if( loop_bindex < 0 || loop_bindex >= MAXSTORE ){
+    error("bindex %d out of range", loop_bindex);
+    return;
+  }
+	
+  if( ! x->stored_samps[ loop_bindex ] ){
+    error("no loop stored at position %d!", loop_bindex);
+    return;
+  }
+
+	
+  x->loop_start = x->stored_starts[ loop_bindex ];
+  x->samps_to_go = x->transp_loop_samps = x->stored_samps[ loop_bindex ];
+	 
+  if( x->loop_min_samps > x->transp_loop_samps )
+    x->loop_min_samps = x->transp_loop_samps ;
+  if( x->loop_max_samps < x->transp_loop_samps )
+    x->loop_max_samps = x->transp_loop_samps ;
+  x->increment = x->stored_increments[ loop_bindex ];
+  x->preempt_count = x->preempt_samps;
+  // post("preempt samps:%d", x->preempt_count);
+  x->recalling_loop = 1;
+  //  x->data_recalled = 1;
+}
+
+void chopper_set_loop(t_chopper *x, t_symbol *msg, short argc, t_atom *argv)
+{
+  if( argc < 3 ){
+    error("format: start samples increment");
+    return;
+  }
+  x->loop_start = atom_getintarg(0,argc,argv);
+  x->loop_samps = atom_getintarg(1,argc,argv);
+  x->increment = atom_getfloatarg(2,argc,argv);
+  x->data_recalled = 1;
+
+  x->samps_to_go = x->loop_samps;
+  x->fbindex = x->bindex = x->loop_start;
+//  post("loop set to: st %d samps %d incr %f", x->loop_start, x->loop_samps,x->increment);
+}
+
+void chopper_taper(t_chopper *x, t_floatarg f)
+{
+  f /= 1000.0;
+	
+  if( f > 0 ){
+    x->taper_samps = (float) x->R * f ;
+  }
+  if( x->taper_samps < 2 )
+    x->taper_samps = 2;
+}
+
+
+
+void *chopper_new(t_symbol *msg, short argc, t_atom *argv)
+{
+  t_chopper *x = (t_chopper *)pd_new(chopper_class);
+  outlet_new(&x->x_obj, gensym("signal"));
+  x->R = sys_getsr();
+  x->l_sym = atom_getsymbolarg(0,argc,argv);
+  chopper_init(x,0);
+  return (x);
+}
+
+
+void chopper_init(t_chopper *x, short initialized) 
+{
+	if(!initialized){
+
+		srand(time(0));
+	
+	  if(!x->R) {
+		error("zero sampling rate - set to 44100");
+		x->R = 44100;
+	  }
+	  x->minseg = 0.1;
+	  x->maxseg = 0.8 ;
+	  x->minincr = 0.5 ;
+	  x->maxincr = 2.0 ;
+	  x->data_recalled = 0;		
+	  x->segdur = 0;
+	  x->bindex = 0 ;
+	  x->taper_duration /= 1000.0;
+	  if( x->taper_duration < .0001 || x->taper_duration > 10.0 )
+		x->taper_duration = .0001;
+		x->increment_adjusts_loop = 0;
+	  x->taper_samps = x->R * x->taper_duration;
+	  if(x->taper_samps < 2)
+		x->taper_samps = 2;
+		
+	  x->preempt_samps = 5;
+	  x->loop_adjust_inverse = 0;
+	  x->preempt = 1;
+	  x->recalling_loop = 0;	
+	  x->ldev = 0;
+	  x->lock_loop = 0;
+	  x->buffer_duration = 0.0 ;
+	  x->st_dev = 0.0;
+	  x->framesize = 0;
+	  x->force_new_loop = 0;
+	  x->mute = 0;
+	  x->disabled = 1;
+	  x->initialize_loop = 1;
+	  x->loop_engaged = 0;
+	  x->fixed_increment_on = 0;
+	  x->retro_odds = 0.5;
+	  x->fade_level = 1.0;
+	  x->lock_terminated = 0;
+		
+	  x->stored_starts = calloc(MAXSTORE, sizeof(int));
+	  x->stored_samps = calloc(MAXSTORE, sizeof(int));
+	  x->stored_increments = calloc(MAXSTORE, sizeof(int));
+		
+	} else {
+		x->taper_samps = x->R * x->taper_duration;
+		if(x->taper_samps < 2)
+		  x->taper_samps = 2;
+	}
+}
+
+void chopper_free(t_chopper *x) 
+{
+  free(x->stored_increments);
+  free(x->stored_samps);
+  free(x->stored_starts);
+}
+
+void chopper_jitterme(t_chopper *x)
+{
+  float new_start;
+  float jitter_factor = x->jitter_factor;
+  new_start = (1.0 + chopper_boundrand(-jitter_factor, jitter_factor) ) * (float) x->loop_start ;
+	
+  if( new_start < 0 ){
+//    error("jitter loop %d out of range", new_start);
+    new_start = 0;
+
+  }
+  else if( new_start + x->transp_loop_samps >= x->framesize ){
+//    error("jitter loop %d out of range", new_start);
+    new_start = x->framesize - x->transp_loop_samps ;
+  }
+  if( new_start >= 0 )
+    x->loop_start = new_start;
+}
+
+void chopper_rdurme(t_chopper *x)
+{
+  float new_dur;
+  float rdur_factor = x->rdur_factor;
+	
+  new_dur = (1.0 + chopper_boundrand( -rdur_factor, rdur_factor)) * (float) x->transp_loop_samps;
+  if( new_dur > x->loop_max_samps )
+    new_dur = x->loop_max_samps;
+  if( new_dur < x->loop_min_samps )
+    new_dur = x->loop_min_samps;
+
+  x->transp_loop_samps = new_dur;
+}
+
+void chopper_rincme(t_chopper *x )
+{
+  float new_inc = 0;
+//  int count = 0;
+  int new_samps;
+  float rinc_factor = x->rinc_factor;
+	
+  /* test generate a new increment */
+  new_inc = (1.0 + chopper_boundrand( 0.0, rinc_factor)) ;
+  if( chopper_boundrand(0.0,1.0) > 0.5 ){
+    new_inc = 1.0 / new_inc;
+  }
+	
+  // test for transgression
+	
+//	post("increment adjust:%d",x->increment_adjusts_loop);
+	
+  if( fabs(new_inc * x->increment) < x->minincr ) {
+    new_inc = x->minincr / fabs(x->increment) ; // now when we multiply - increment is set to minincr
+  }
+  else if ( fabs(new_inc * x->increment) > x->maxincr ){
+    new_inc = x->maxincr / fabs(x->increment) ; // now when we multiply - increment is set to maxincr
+  }
+
+ if(x->increment_adjusts_loop){
+ 	 new_samps = (float) x->transp_loop_samps / new_inc ; 
+  } else {
+  	new_samps = x->transp_loop_samps;
+  }
+    
+  new_inc *= x->increment ;
+  if( x->increment > 0 ){
+    if( x->loop_start + new_samps >= x->framesize ){
+      new_samps = (x->framesize - 1) - x->loop_start ;
+    }
+  } else {
+    if( x->loop_start - new_samps < 0) {
+      new_samps = x->loop_start + 1;
+    }
+  }
+  x->transp_loop_samps = new_samps;
+  x->increment = new_inc;		
+}
+
+void chopper_randloop( t_chopper *x )
+{
+  int framesize = x->b_frames;//test
+//  long bindex = x->fbindex;
+  float segdur = x->segdur;
+  int loop_start = x->loop_start;
+  int loop_samps = x->loop_samps;
+  int transp_loop_samps = x->transp_loop_samps;
+  int samps_to_go = x->samps_to_go;
+  float increment = x->increment;
+//  int taper_samps = x->taper_samps ;
+//  float taper_duration = x->taper_duration;
+  float minincr = x->minincr;
+  float maxincr = x->maxincr;
+  float minseg = x->minseg;
+  float maxseg = x->maxseg;
+  float buffer_duration = x->buffer_duration;
+  float R = x->R;
+  float fixed_increment = x->fixed_increment;
+
+  short fixed_increment_on = x->fixed_increment_on;
+  float retro_odds = x->retro_odds;
+	
+  if(fixed_increment_on){
+    increment = fixed_increment;
+  } else {
+    increment = chopper_boundrand(minincr,maxincr);
+  }
+  segdur = chopper_boundrand( minseg, maxseg );
+  loop_samps = segdur * R * increment; // total samples in segment
+//  post("rand: segdur %f R %f increment %f lsamps %d",segdur,R,increment,loop_samps);
+  transp_loop_samps = segdur * R ; // actual count of samples to play back
+  samps_to_go = transp_loop_samps;  
+  if( loop_samps >= framesize ){
+    loop_samps = framesize - 1;
+    loop_start = 0;
+  } else {
+//    post("rand: bufdur %f segdur %f",buffer_duration, segdur);
+    loop_start = R * chopper_boundrand( 0.0, buffer_duration - segdur );
+    if( loop_start + loop_samps >= framesize ){
+      loop_start = framesize - loop_samps;
+      if( loop_start < 0 ){
+				loop_start = 0;
+				error("negative starttime");
+      }
+    }
+  }
+  if( chopper_boundrand(0.0,1.0) < retro_odds ){
+    increment *= -1.0 ;
+    loop_start += (loop_samps - 1);
+  }
+
+//	post("randset: lstart %d lsamps %d incr %f segdur %f",loop_start,loop_samps,increment,segdur);
+  x->samps_to_go = samps_to_go;
+  x->fbindex = x->bindex = loop_start;
+  x->loop_start = loop_start;
+  x->loop_samps = loop_samps;
+  x->transp_loop_samps = transp_loop_samps;
+  x->increment = increment;
+  x->segdur = segdur;
+}
+
+t_int *chopper_pd_perform(t_int *w)
+{
+  int bindex, bindex2;
+  float sample1, m1, m2;	
+  t_chopper *x = (t_chopper *)(w[1]);
+  t_float *out1 = (t_float *)(w[2]);
+  int n = (int) w[3];
+  
+
+  /*********************************************/
+  t_word *tab = x->b_samples;
+  long b_frames = x->b_frames;
+  long nc = x->b_nchans;
+  float segdur = x->segdur;
+  int taper_samps = x->taper_samps ;
+  float taper_duration = x->taper_duration;
+  float minseg = x->minseg;
+  float maxseg = x->maxseg;
+  int lock_loop = x->lock_loop;
+  int force_new_loop = x->force_new_loop;
+  float R = x->R;
+  short initialize_loop = x->initialize_loop;
+  float fade_level = x->fade_level;
+  short preempt = x->preempt;
+  int preempt_count = x->preempt_count;
+  int preempt_samps = x->preempt_samps;
+  short recalling_loop = x->recalling_loop;
+  float preempt_gain;
+  float jitter_factor = x->jitter_factor;
+  float rdur_factor = x->rdur_factor;
+  float rinc_factor = x->rinc_factor;
+
+  if(x->mute){
+      while(n--) { *out1++ = 0.0; }
+      return (w+4);
+  }
+	
+  /* SAFETY CHECKS */
+  if( b_frames <= 0 || nc != 1) {
+    x->disabled = 1;
+  }
+	
+  if(x->mute || x->disabled){
+    while(n--){
+      *out1++ = 0.0;
+    }
+    return (w+4);
+  }
+	
+  if(x->framesize != b_frames) {
+    x->framesize = b_frames ;
+    x->buffer_duration = (float)  b_frames / R ;
+    initialize_loop = 1;
+  }	
+  else if(x->buffer_duration <= 0.0) { /* THIS WILL HAPPEN THE FIRST TIME */
+    x->framesize = b_frames ;
+    x->buffer_duration = (float)  b_frames / R ;
+    initialize_loop = 1;
+//	post("initializing from perform method");
+  }
+  if(maxseg > x->buffer_duration){
+    maxseg = x->buffer_duration ;
+  }
+	
+  if(minseg < 2. * taper_duration)
+    minseg = taper_duration;
+
+  /* SET INITIAL SEGMENT */
+	
+  bindex = x->fbindex;
+  
+  if(initialize_loop){ /* FIRST TIME ONLY */
+    chopper_randloop(x);
+    bindex = x->fbindex;
+    initialize_loop = 0;
+  }
+
+  while(n--){
+    if( lock_loop )  {
+      if ( recalling_loop ) { 
+        bindex = x->fbindex ;
+		x->fbindex += x->increment;
+		--preempt_count;
+		preempt_gain = fade_level  * ((float) preempt_count / (float) preempt_samps);
+		*out1++ = tab[bindex].w_float * preempt_gain;
+		if( preempt_count <= 0) {
+		  bindex = x->fbindex = x->loop_start;
+		  recalling_loop = 0;
+		}
+      }
+		
+      else if(force_new_loop){
+
+		if( bindex < 0 || bindex >= b_frames ){
+		  x->fbindex = bindex = b_frames/2; // start in the middle
+		}
+		// should switch to <
+		if( preempt && preempt_samps > x->samps_to_go ){ /* PREEMPT FADE */
+
+		  --preempt_count;
+		  preempt_gain = fade_level  * ( (float) preempt_count / (float) preempt_samps );
+		  bindex = x->fbindex ;
+		  x->fbindex += x->increment;
+			 
+						
+		  *out1++ = tab[ bindex ].w_float * preempt_gain;
+		  if(! preempt_count) {
+			chopper_randloop(x);
+			bindex = x->fbindex;
+			force_new_loop = 0;
+		  }
+		} 
+		else { 
+		  /* IMMEDIATE FORCE NEW LOOP AFTER PREEMPT FADE */
+		  chopper_randloop(x);
+		  
+		  force_new_loop = 0;
+		  bindex = x->fbindex ;
+		  bindex2 = bindex << 1;	
+		  x->fbindex += x->increment;
+		  
+		  --(x->samps_to_go);
+		  if( x->samps_to_go <= 0 ){
+			x->fbindex = x->loop_start;
+			bindex = x->fbindex;
+			x->samps_to_go = x->transp_loop_samps;
+		  }
+		  if( x->samps_to_go > x->transp_loop_samps - taper_samps ){
+			fade_level =  (float)(x->transp_loop_samps - x->samps_to_go)/(float)taper_samps ;
+			*out1++ = tab[bindex].w_float * fade_level;
+		  } else if( x->samps_to_go < taper_samps ) {
+			fade_level = (float)(x->samps_to_go)/(float)taper_samps;
+			*out1++ = tab[bindex].w_float * fade_level;
+		  } else {	
+			fade_level = 1.0;
+			*out1++ = tab[bindex].w_float;
+		  }
+		}
+				
+      } 
+      /* REGULAR PLAYBACK */
+      else { 
+
+		if( bindex < 0 || bindex >= b_frames ){
+		  error("lock_loop: bindex %d is out of range", bindex);
+		  x->fbindex = bindex = b_frames / 2;
+		}
+		bindex = floor( (double) x->fbindex );
+		m2 = x->fbindex - bindex ;
+		m1 = 1.0 - m2;
+		
+	//	bindex2 = bindex << 1;
+		x->fbindex += x->increment;
+		
+		--(x->samps_to_go);
+		if( x->samps_to_go <= 0 ){
+		  if( rdur_factor ){
+			chopper_rdurme( x );
+		  }
+		  if( jitter_factor ){
+			chopper_jitterme( x );
+		  }
+		  if( rinc_factor ) {
+			chopper_rincme( x );
+		  }
+		  x->fbindex = x->loop_start;
+		  // x->fbindex -= x->transp_loop_samps;
+		  bindex = x->fbindex;
+		  x->samps_to_go = x->transp_loop_samps;
+		}
+		
+		if( bindex >= b_frames ){
+		  sample1 = tab[bindex].w_float;
+		} else {
+		  sample1 = m1 * tab[bindex].w_float + m2 * tab[bindex + 1].w_float;
+		}
+		if( x->samps_to_go > x->transp_loop_samps - taper_samps ){
+		  fade_level =  (float)(x->transp_loop_samps - x->samps_to_go)/(float)taper_samps ;
+		  *out1++ = sample1 * fade_level;
+		} 
+		else if( x->samps_to_go < taper_samps ) {
+		  fade_level = (float)(x->samps_to_go)/(float)taper_samps;
+		  *out1++ = sample1 * fade_level;
+		} 
+		else {	
+		  fade_level = 1.0;
+		  *out1++ = sample1;
+		}
+      }
+    } /* END OF LOCK LOOP */
+    /* RECALL STORED LOOP */
+    
+    else if (recalling_loop) { 
+      bindex = x->fbindex ;
+      x->fbindex += x->increment;
+      --preempt_count;
+      preempt_gain = fade_level  * ( (float) preempt_count / (float) preempt_samps );
+					
+      *out1++ = tab[bindex].w_float * preempt_gain;
+      if( preempt_count <= 0) {
+		x->fbindex = x->loop_start;
+		bindex = x->fbindex;
+		recalling_loop = 0;
+      }
+    }
+    
+    else {
+      if( force_new_loop ){
+	/* FORCE LOOP CODE : MUST PREEMPT */
+		force_new_loop = 0;
+	/* NEED CODE HERE*/
+      } 
+      else {  /* NORMAL OPERATION */
+		fade_level = 1.0; /* default level */
+
+		if( bindex < 0 || bindex >= b_frames ){
+		  error("force loop: bindex %d is out of range", bindex);
+		  post("frames:%d start:%d, samps2go:%d, tloopsamps:%d, increment:%f", 
+			   x->framesize, bindex, x->samps_to_go, x->transp_loop_samps, x->increment);
+		  chopper_randloop(x);
+		  bindex = x->fbindex;
+		}
+		bindex = x->fbindex ;
+		x->fbindex += x->increment;
+		
+		if( x->samps_to_go > x->transp_loop_samps - taper_samps ){
+		  fade_level =  (float)(x->transp_loop_samps - x->samps_to_go)/(float)taper_samps ;
+		  *out1++ = tab[bindex].w_float * fade_level;
+		} 
+		else if(x->samps_to_go < taper_samps) {
+		  fade_level = (float)(x->samps_to_go)/(float)taper_samps;
+		  *out1++ = tab[bindex].w_float * fade_level;
+		} 
+		else {	
+		  fade_level = 1.0;
+		  *out1++ = tab[bindex].w_float;
+		}
+		--(x->samps_to_go);
+		if( x->samps_to_go <= 0 ){
+		  chopper_randloop( x );
+		  bindex = x->fbindex;
+		}
+      }
+    }
+  }
+
+  x->recalling_loop = recalling_loop;
+  x->fade_level = fade_level;
+  x->initialize_loop = initialize_loop;
+  x->maxseg = maxseg;
+  x->minseg = minseg;	
+  x->segdur = segdur;
+  x->force_new_loop = force_new_loop;
+  return (w+4);
+  
+}
+
+void chopper_force_new(t_chopper *x)
+{
+  x->preempt_count = x->preempt_samps;
+  x->force_new_loop = 1;
+
+}
+
+void chopper_lockme(t_chopper *x, t_floatarg n)
+{
+	x->lock_loop = (short) n;
+//	post("lock loop set to %d from %f",x->lock_loop,n);
+}
+
+//set min time for loop
+void chopper_set_minincr(t_chopper *x, t_floatarg n)
+{
+//  post("set minincr to %f", n);
+	
+  if( n < .005 ){
+    n = .005;
+  }
+  //x->minincr = n ;
+}
+
+// set deviation factor
+void chopper_set_maxseg(t_chopper *x, t_floatarg n)
+{
+
+  n /= 1000.0 ; // convert to seconds
+  if( n > 120. )
+    n = 120.;
+  //post("set maxseg to %f", n);
+  x->maxseg = n;
+  x->loop_max_samps = x->maxseg * x->R;
+}
+
+void chopper_set_minseg(t_chopper *x, t_floatarg n)
+{
+
+  n /= 1000.0 ; // convert to seconds
+	
+  if( n < 0.03 )
+    n = 0.03;
+  //post("set minseg to %f", n);
+  x->minseg = n;
+  x->loop_min_samps = x->minseg * x->R;
+}
+
+// set max time for loop
+void chopper_set_maxincr(t_chopper *x, t_floatarg n)
+{
+  if( n > 4 ){
+    n = 4;
+  }
+  //post("set maxincr to %f", n);
+  x->maxincr =  n ;
+}
+
+
+
+void chopper_set(t_chopper *x, t_symbol *wavename)
+{
+  int frames;
+  t_garray *a;
+  x->disabled = 0;
+
+  x->b_frames = 0;
+  x->b_nchans = 1;
+  if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+      if (*wavename->s_name) pd_error(x, "chopper~: %s: no such array",
+				      wavename->s_name);
+      x->b_samples = 0;
+      x->disabled = 1;
+    }
+  else if (!garray_getfloatwords(a, &frames, &x->b_samples)) {
+      pd_error(x, "%s: bad template for chopper~", wavename->s_name);
+      x->b_samples = 0;
+      x->disabled = 1;
+    }
+  else  {
+    x->b_frames = frames;
+//    post("%d frames in buffer",x->b_frames);
+    garray_usedindsp(a);
+  }
+}
+
+
+
+void chopper_dsp(t_chopper *x, t_signal **sp)
+{
+  chopper_set(x,x->l_sym);
+  if(x->R != sp[0]->s_sr){
+    x->R = sp[0]->s_sr;
+  	chopper_init(x,1);
+  }
+  if(x->disabled){
+    return;
+  }
+
+	dsp_add(chopper_pd_perform, 3, x, sp[0]->s_vec, sp[0]->s_n);
+
+}
+
+
+float chopper_boundrand(float min, float max)
+{
+   return min + (max-min) * ((float) (rand() % RAND_MAX)/(float)RAND_MAX);
+
+}
diff --git a/externals/lyonpotpourri/clean_selector~-help.pd b/externals/lyonpotpourri/clean_selector~-help.pd
new file mode 100755
index 000000000..b076686a8
--- /dev/null
+++ b/externals/lyonpotpourri/clean_selector~-help.pd
@@ -0,0 +1,42 @@
+#N canvas 601 262 479 367 10;
+#X msg 123 146 channel \$1;
+#X floatatom 123 116 5 0 0 0 - - -, f 5;
+#X obj 138 182 osc~ 440;
+#X obj 202 183 osc~ 777;
+#X obj 267 183 noise~;
+#X obj 316 183 osc~ 899;
+#X obj 123 307 dac~;
+#X obj 123 269 *~ 0.02;
+#X msg 29 143 fadetime \$1;
+#X msg 29 115 20;
+#X msg 155 81 1;
+#X msg 189 81 2;
+#X msg 221 82 3;
+#X text 253 82 select channel;
+#X text 25 95 set fadetime;
+#X msg 74 115 1000;
+#X msg 123 82 0;
+#X obj 123 224 clean_selector~ 4 250;
+#X text 278 223 args: inputs \, fadetime;
+#X obj 23 16 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 22 52 clean_selector~ - Cross fade between multiple sources
+;
+#X floatatom 198 273 5 0 0 2 gain - -, f 5;
+#X connect 0 0 17 0;
+#X connect 1 0 0 0;
+#X connect 2 0 17 0;
+#X connect 3 0 17 1;
+#X connect 4 0 17 2;
+#X connect 5 0 17 3;
+#X connect 7 0 6 0;
+#X connect 7 0 6 1;
+#X connect 8 0 17 0;
+#X connect 9 0 8 0;
+#X connect 10 0 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 1 0;
+#X connect 15 0 8 0;
+#X connect 16 0 1 0;
+#X connect 17 0 7 0;
+#X connect 21 0 7 1;
diff --git a/externals/lyonpotpourri/clean_selector~.c b/externals/lyonpotpourri/clean_selector~.c
new file mode 100755
index 000000000..8ca0a9ddb
--- /dev/null
+++ b/externals/lyonpotpourri/clean_selector~.c
@@ -0,0 +1,241 @@
+#include "MSPd.h"
+#define MAX_CHANS (64)
+#define CS_LINEAR (0)
+#define CS_POWER (1)
+
+
+static t_class *clean_selector_class;
+
+typedef struct _clean_selector
+{
+    
+	t_object x_obj;
+	float x_f;
+	// Variables Here
+	short input_chans;
+	short active_chan;
+	short last_chan;
+	int samps_to_fade;
+	int fadesamps;
+	float fadetime;
+	float pi_over_two;
+	short fadetype;
+	short *connected_list;
+	float **bulk ; // array to point to all input audio channels
+	float sr;
+	float vs;
+	int inlet_count;
+} t_clean_selector;
+
+#define OBJECT_NAME "clean_selector~"
+
+void *clean_selector_new(t_symbol *s, int argc, t_atom *argv);
+
+t_int *clean_selector_perform(t_int *w);
+void clean_selector_dsp(t_clean_selector *x, t_signal **sp);
+void clean_selector_float(t_clean_selector *x, t_float f);
+void clean_selector_fadetime(t_clean_selector *x, t_floatarg f);
+void clean_selector_int(t_clean_selector *x, t_int i);
+void clean_selector_channel(t_clean_selector *x, t_floatarg i);
+void clean_selector_dsp_free(t_clean_selector *x);
+
+
+
+void clean_selector_tilde_setup(void) {
+	clean_selector_class = class_new(gensym("clean_selector~"), (t_newmethod)clean_selector_new,
+									 (t_method)clean_selector_dsp_free,sizeof(t_clean_selector), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(clean_selector_class, t_clean_selector, x_f);
+	class_addmethod(clean_selector_class,(t_method)clean_selector_dsp,gensym("dsp"),0);
+	class_addmethod(clean_selector_class,(t_method)clean_selector_fadetime,gensym("fadetime"),A_FLOAT,0);
+	class_addmethod(clean_selector_class,(t_method)clean_selector_channel,gensym("channel"),A_FLOAT,0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+
+void *clean_selector_new(t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+	t_clean_selector *x;
+	x = (t_clean_selector *)pd_new(clean_selector_class);
+    x->fadetime = 0.05;
+    x->inlet_count = 8;
+    if(argc >= 1){
+        x->inlet_count = (int)atom_getfloatarg(0,argc,argv);
+        if(x->inlet_count < 2 || x->inlet_count > MAX_CHANS){
+            error("%s: %d is illegal number of inlets",OBJECT_NAME,x->inlet_count);
+            return (void *) NULL;
+        }
+        
+    }
+    if(argc >= 2){
+        x->fadetime = atom_getfloatarg(1,argc,argv) / 1000.0;
+    }
+    
+    //		post("argc %d inlet count %d fadetime %f",argc, x->inlet_count, x->fadetime);
+    
+	for(i=0; i< x->inlet_count - 1; i++){// create 16 inlets in total
+		inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	}
+	outlet_new(&x->x_obj, gensym("signal"));
+	
+	
+	x->sr = sys_getsr();
+	if(!x->sr){
+		x->sr = 44100.0;
+		error("zero sampling rate - set to 44100");
+	}
+	x->fadetype = CS_POWER;
+	x->pi_over_two = 1.57079632679;
+	
+	
+    
+    if(x->fadetime <= 0.0)
+    	x->fadetime = .05;
+    x->fadesamps = x->fadetime * x->sr;
+    
+    x->connected_list = (short *) t_getbytes(MAX_CHANS * sizeof(short));
+    for(i=0;i<16;i++){
+    	x->connected_list[i] = 0;
+    }
+    x->active_chan = x->last_chan = 0;
+    x->bulk = (t_float **) t_getbytes(16 * sizeof(t_float *));
+    x->samps_to_fade = 0;
+	return (x);
+}
+
+void clean_selector_dsp_free(t_clean_selector *x)
+{
+	t_freebytes(x->bulk, 16 * sizeof(t_float *));
+}
+
+
+void clean_selector_fadetime(t_clean_selector *x, t_floatarg f)
+{
+	float fades = (float)f / 1000.0;
+	
+	if( fades < .0001 || fades > 1000.0 ){
+		error("fade time is constrained to 0.1 - 1000000, but you wanted %f",f );
+		return;
+	}
+	x->fadetime = fades;
+	x->fadesamps = x->sr * x->fadetime;
+	x->samps_to_fade = 0;
+}
+
+t_int *clean_selector_perform(t_int *w)
+{
+	
+	t_clean_selector *x = (t_clean_selector *) (w[1]);
+	int i;
+	int n;
+	t_float *out;
+	
+	int fadesamps = x->fadesamps;
+	short active_chan = x->active_chan;
+	short last_chan = x->last_chan;
+	int samps_to_fade = x->samps_to_fade;
+	float m1, m2;
+	float **bulk = x->bulk;
+	float pi_over_two = x->pi_over_two;
+	short fadetype = x->fadetype;
+	float phase;
+	int inlet_count = x->inlet_count;
+	
+	for ( i = 0; i < inlet_count; i++ ) {
+		bulk[i] = (t_float *)(w[2 + i]);
+	}
+	out = (t_float *)(w[inlet_count + 2]);
+	n = (int) w[inlet_count + 3];
+	
+	/********************************************/
+	if ( active_chan >= 0 ) {
+		while( n-- ) {
+			if ( samps_to_fade >= 0 ) {
+				if( fadetype == CS_POWER ){
+					phase = pi_over_two * (1.0 - (samps_to_fade / (float) fadesamps)) ;
+					m1 = sin( phase );
+					m2 = cos( phase );
+					--samps_to_fade;
+					*out++ = (*(bulk[active_chan])++ * m1) + (*(bulk[last_chan])++ * m2);
+				}
+			}
+			else {
+				*out++ =  *(bulk[active_chan])++;
+			}
+		}
+	}
+  	else  {
+  		while( n-- ) {
+			*out++ = 0.0;
+		}
+  	}
+    
+	x->samps_to_fade = samps_to_fade;
+	return (w + (inlet_count + 4));
+}
+
+void clean_selector_dsp(t_clean_selector *x, t_signal **sp)
+{
+	long i;
+	t_int **sigvec;
+	int pointer_count;
+	
+	pointer_count = x->inlet_count + 3; // all inlets, 1 outlet, object pointer and vec-samps
+	sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+    
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    
+	if(x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		x->fadesamps = x->fadetime * x->sr;
+		x->samps_to_fade = 0;
+	}
+    
+    
+	dsp_addv(clean_selector_perform, pointer_count, (t_int *) sigvec);
+	free(sigvec);
+    
+    for (i = 0; i < MAX_CHANS; i++) {
+        x->connected_list[i] = 1;
+    }
+    
+    
+    
+}
+
+
+void clean_selector_channel(t_clean_selector *x, t_floatarg i) // Look at int at inlets
+{
+	int chan = i;
+	if(chan < 0 || chan > x->inlet_count - 1){
+		post("%s: channel %d out of range",OBJECT_NAME, chan);
+		return;
+	}
+	if(chan != x->active_chan) {
+		
+		x->last_chan = x->active_chan;
+		x->active_chan = chan;
+		x->samps_to_fade = x->fadesamps;
+		if( x->active_chan < 0)
+			x->active_chan = 0;
+		if( x->active_chan > MAX_CHANS - 1) {
+			x->active_chan = MAX_CHANS - 1;
+		}
+		if(! x->connected_list[chan]) {
+            // do it anyway - it's user-stupidity
+            /*
+             post("warning: channel %d not connected",chan);
+             x->active_chan = 1; */
+		}
+		// post("last: %d active %d", x->last_chan, x->active_chan);
+	}	
+}
diff --git a/externals/lyonpotpourri/click2bang~-help.pd b/externals/lyonpotpourri/click2bang~-help.pd
new file mode 100755
index 000000000..ea965ff54
--- /dev/null
+++ b/externals/lyonpotpourri/click2bang~-help.pd
@@ -0,0 +1,10 @@
+#N canvas 514 317 333 242 10;
+#X obj 30 90 samm~ 60 1;
+#X obj 30 125 click2bang~;
+#X obj 30 162 bng 40 100 50 0 empty empty empty 17 7 0 10 -216994 -1
+-1;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 24 45 click2bang~ - Convert click trigger to a bang;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
diff --git a/externals/lyonpotpourri/click2bang~.c b/externals/lyonpotpourri/click2bang~.c
new file mode 100755
index 000000000..a95a6e995
--- /dev/null
+++ b/externals/lyonpotpourri/click2bang~.c
@@ -0,0 +1,64 @@
+#include "MSPd.h"
+
+#define OBJECT_NAME "click2bang~"
+
+static t_class *click2bang_class;
+
+typedef struct _click2bang
+{
+	t_object x_obj;
+	float x_f;
+	void *bang;
+	void *clock;
+} t_click2bang;
+
+void *click2bang_new(void);
+
+t_int *click2bang_perform(t_int *w);
+void click2bang_dsp(t_click2bang *x, t_signal **sp);
+void click2bang_tick(t_click2bang *x) ;
+
+void click2bang_tilde_setup(void)
+{
+	click2bang_class = class_new(gensym("click2bang~"), (t_newmethod)click2bang_new,
+								 NO_FREE_FUNCTION,sizeof(t_click2bang), 0,0);
+	CLASS_MAINSIGNALIN(click2bang_class, t_click2bang, x_f);
+	class_addmethod(click2bang_class, (t_method)click2bang_dsp, gensym("dsp"), 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+void click2bang_tick(t_click2bang *x)
+{
+    outlet_bang(x->bang);
+}
+
+
+
+void *click2bang_new(void)
+{
+    
+	t_click2bang *x = (t_click2bang *)pd_new(click2bang_class);
+	x->bang = outlet_new(&x->x_obj, gensym("bang"));
+	x->clock = clock_new(x,(void *)click2bang_tick);
+	return x;
+}
+
+t_int *click2bang_perform(t_int *w)
+{
+	t_click2bang *x = (t_click2bang *) (w[1]);
+	t_float *in_vec = (t_float *)(w[2]);
+	int n = (int) w[3];
+    
+	while( n-- ) {
+		if(*in_vec++)
+			clock_delay(x->clock, 0);
+	}
+	return (w+4);
+}
+
+void click2bang_dsp(t_click2bang *x, t_signal **sp)
+{
+    dsp_add(click2bang_perform, 3, x, sp[0]->s_vec,sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/click2float~-help.pd b/externals/lyonpotpourri/click2float~-help.pd
new file mode 100755
index 000000000..5f365c56b
--- /dev/null
+++ b/externals/lyonpotpourri/click2float~-help.pd
@@ -0,0 +1,11 @@
+#N canvas 719 335 316 238 10;
+#X floatatom 34 177 5 0 0 0 - - -, f 5;
+#X obj 34 77 samm~ 120 1;
+#X obj 34 143 click2float~;
+#X obj 34 109 mask~ 2 4 6.333 8;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 21 47 click2float~ - Convert a click to a float;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
diff --git a/externals/lyonpotpourri/click2float~.c b/externals/lyonpotpourri/click2float~.c
new file mode 100755
index 000000000..f5671cdd6
--- /dev/null
+++ b/externals/lyonpotpourri/click2float~.c
@@ -0,0 +1,68 @@
+#include "MSPd.h"
+
+
+static t_class *click2float_class;
+
+
+typedef struct _click2float
+{
+    
+	t_object x_obj;
+	float x_f;
+	void *float_outlet;
+	void *clock;
+	double float_value;
+} t_click2float;
+
+#define OBJECT_NAME "click2float~"
+
+void *click2float_new(void);
+t_int *click2float_perform(t_int *w);
+void click2float_dsp(t_click2float *x, t_signal **sp);
+void click2float_tick(t_click2float *x) ;
+
+
+void click2float_tilde_setup(void)
+{
+	click2float_class = class_new(gensym("click2float~"), (t_newmethod)click2float_new, NO_FREE_FUNCTION,sizeof(t_click2float), 0,0);
+	CLASS_MAINSIGNALIN(click2float_class, t_click2float, x_f);
+	class_addmethod(click2float_class, (t_method)click2float_dsp, gensym("dsp"), 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void click2float_tick(t_click2float *x)
+{
+    outlet_float(x->float_outlet,x->float_value);
+}
+
+
+void *click2float_new(void)
+{
+
+	t_click2float *x = (t_click2float *)pd_new(click2float_class);
+	x->float_outlet = outlet_new(&x->x_obj, gensym("float"));
+	x->clock = clock_new(x,(void *)click2float_tick);
+	return x;
+}
+
+t_int *click2float_perform(t_int *w)
+{
+	t_click2float *x = (t_click2float *) (w[1]);
+	t_float *in_vec = (t_float *)(w[2]);
+	int n = (int) w[3];
+    
+	while( n-- ) {
+		if(*in_vec){
+			x->float_value = *in_vec;
+			clock_delay(x->clock, 0);
+		}
+		*in_vec++;
+	}
+	return (w+4);
+}
+
+void click2float_dsp(t_click2float *x, t_signal **sp)
+{
+    dsp_add(click2float_perform, 3, x, sp[0]->s_vec,sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/clickhold~-help.pd b/externals/lyonpotpourri/clickhold~-help.pd
new file mode 100755
index 000000000..74c5e5d5e
--- /dev/null
+++ b/externals/lyonpotpourri/clickhold~-help.pd
@@ -0,0 +1,16 @@
+#N canvas 643 117 374 266 10;
+#X obj 38 74 samm~ 120 1;
+#X obj 38 103 mask~ 440 550 660 880;
+#X obj 38 155 osc~;
+#X obj 38 132 clickhold~;
+#X obj 38 215 dac~;
+#X obj 38 184 *~ 0.025;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 23 48 clickhold~ - convert click to sustained signal;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 5 0 4 1;
diff --git a/externals/lyonpotpourri/clickhold~.c b/externals/lyonpotpourri/clickhold~.c
new file mode 100755
index 000000000..279dac573
--- /dev/null
+++ b/externals/lyonpotpourri/clickhold~.c
@@ -0,0 +1,61 @@
+#include "MSPd.h"
+
+static t_class *clickhold_class;
+
+#define OBJECT_NAME "clickhold~"
+
+typedef struct _clickhold
+{
+	t_object x_obj;
+	float x_f;
+	float hold_value;
+} t_clickhold;
+
+void *clickhold_new(void);
+t_int *clickhold_perform(t_int *w);
+void clickhold_dsp(t_clickhold *x, t_signal **sp);
+
+
+void clickhold_tilde_setup(void)
+{
+	clickhold_class = class_new(gensym("clickhold~"), (t_newmethod)clickhold_new,
+                                NO_FREE_FUNCTION,sizeof(t_clickhold), 0,0);
+	CLASS_MAINSIGNALIN(clickhold_class, t_clickhold, x_f);
+	class_addmethod(clickhold_class, (t_method)clickhold_dsp, gensym("dsp"), 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void *clickhold_new(void)
+{
+	t_clickhold *x = (t_clickhold *)pd_new(clickhold_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->hold_value = 0;
+	return x;
+}
+
+t_int *clickhold_perform(t_int *w)
+{
+	t_clickhold *x = (t_clickhold *) (w[1]);
+	t_float *in_vec = (t_float *)(w[2]);
+	t_float *out_vec = (t_float *)(w[3]);
+	int n = (int) w[4];
+    
+	float hold_value = x->hold_value;
+	
+	while( n-- ) {
+		if(*in_vec){
+			hold_value = *in_vec;
+		}
+		*in_vec++;
+		*out_vec++ = hold_value;
+        
+	}
+	x->hold_value = hold_value;
+	return (w+5);
+}
+
+void clickhold_dsp(t_clickhold *x, t_signal **sp)
+{
+    dsp_add(clickhold_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/click~-help.pd b/externals/lyonpotpourri/click~-help.pd
new file mode 100755
index 000000000..00b1125ba
--- /dev/null
+++ b/externals/lyonpotpourri/click~-help.pd
@@ -0,0 +1,26 @@
+#N canvas 780 485 450 300 10;
+#X obj 69 187 click~;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array click-array 8 float 2;
+#X coords 0 1 8 -1 140 70 1;
+#X restore 218 100 graph;
+#X obj 69 249 tabwrite~ click-array;
+#X obj 34 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 92 220 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 52 104 record click;
+#X msg 69 156 set 0.333;
+#X text 112 221 clear array;
+#X msg 145 155 set 1;
+#X text 25 44 click~ - convert a bang into a click. the default value
+is 1 but the click can be set to any value except zero.;
+#X text 66 137 set click value;
+#X connect 0 0 2 0;
+#X connect 3 0 0 0;
+#X connect 3 0 2 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 9 0 0 0;
diff --git a/externals/lyonpotpourri/click~.c b/externals/lyonpotpourri/click~.c
new file mode 100755
index 000000000..bea1af97e
--- /dev/null
+++ b/externals/lyonpotpourri/click~.c
@@ -0,0 +1,78 @@
+#include "MSPd.h"
+
+static t_class *click_class;
+
+typedef struct _click
+{
+	t_object x_obj;
+	float x_f;
+	void *float_outlet;
+	float float_value;	
+	long status;
+} t_click;
+
+#define OBJECT_NAME "click~"
+
+void *click_new(t_symbol *s, int argc, t_atom *argv);
+void click_bang(t_click *x);
+t_int *click_perform(t_int *w);
+void click_dsp(t_click *x, t_signal **sp);
+void click_set(t_click *x, t_floatarg f);
+
+#define NO_FREE_FUNCTION 0
+void click_tilde_setup(void)
+{
+	click_class = class_new(gensym("click~"), (t_newmethod)click_new, 
+								 NO_FREE_FUNCTION,sizeof(t_click), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(click_class, t_click, x_f);
+	class_addmethod(click_class, (t_method)click_dsp, gensym("dsp"), 0);
+	class_addmethod(click_class, (t_method)click_bang, gensym("bang"), 0);
+	class_addmethod(click_class, (t_method)click_set, gensym("set"), A_FLOAT, 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void click_bang(t_click *x) 
+{
+  x->status = 1;
+}
+
+void click_set(t_click *x, t_floatarg f)
+{
+	x->float_value = f;
+}
+
+void *click_new(t_symbol *s, int argc, t_atom *argv)
+{
+	t_click *x = (t_click *)pd_new(click_class);
+	x->float_outlet = outlet_new(&x->x_obj, gensym("signal"));
+	x->float_value = 1.0;
+	x->status = 0;
+	return x;
+}
+
+t_int *click_perform(t_int *w)
+{
+	t_click *x = (t_click *) (w[1]);
+	t_float *output = (t_float *)(w[2]);
+	int n = (int) w[3];
+	int i;
+	if(x->status){
+		x->status = 0;
+		output[0] = x->float_value;
+		for(i = 1; i < n; i++){
+			output[i] = 0.0;
+		}
+	} 
+	else {
+		for(i = 0; i < n; i++){
+			output[i] = 0.0;
+		}
+	}
+	return w+4;
+}		
+
+void click_dsp(t_click *x, t_signal **sp)
+{
+    dsp_add(click_perform, 3, x, sp[0]->s_vec, sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/collect.pl b/externals/lyonpotpourri/collect.pl
new file mode 100755
index 000000000..1a3d0e29a
--- /dev/null
+++ b/externals/lyonpotpourri/collect.pl
@@ -0,0 +1,6 @@
+while(<*>){
+    chomp;
+    if(/darwin$/ | /liblyonpotpourri.dylib/){
+	`mv $_ darwin_bin64`;
+    }
+}
diff --git a/externals/lyonpotpourri/convert.c b/externals/lyonpotpourri/convert.c
new file mode 100755
index 000000000..01317746e
--- /dev/null
+++ b/externals/lyonpotpourri/convert.c
@@ -0,0 +1 @@
+#include "fftease.h"


/* S is a spectrum in rfft format, i.e., it contains N real values
   arranged as real followed by imaginary values, except for first
   two values, which are real parts of 0 and Nyquist frequencies;
   convert first changes these into N/2+1 PAIRS of magnitude and
   phase values to be stored in output array C; the phases are then
   unwrapped and successive phase differences are used to compute
   estimates of the instantaneous frequencies for each phase vocoder
   analysis channel; decimation rate D and sampling rate R are used
   to render these frequency values directly in Hz. */

void convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor )
{
  float 	phase,
		phasediff;
  int 		real,
		imag,
		amp,
		freq;
  float 	a,
		b;
  int 		i;

/*  float myTWOPI, myPI; */
/*  double sin(), cos(), atan(), hypot();*/
  
/*  myTWOPI = 8.*atan(1.);
  myPI = 4.*atan(1.); */


    for ( i = 0; i <= N2; i++ ) {
      imag = freq = ( real = amp = i<<1 ) + 1;
      a = ( i == N2 ? S[1] : S[real] );
      b = ( i == 0 || i == N2 ? 0. : S[imag] );

      C[amp] = hypot( a, b );
      if ( C[amp] == 0. )
	phasediff = 0.;
      else {
	phasediff = ( phase = -atan2( b, a ) ) - lastphase[i];
	lastphase[i] = phase;
	
	while ( phasediff > PI )
	  phasediff -= TWOPI;
	while ( phasediff < -PI )
	  phasediff += TWOPI;
      }
      C[freq] = phasediff*factor + i*fundamental;
    }
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/convolver~-help.pd b/externals/lyonpotpourri/convolver~-help.pd
new file mode 100755
index 000000000..660142260
--- /dev/null
+++ b/externals/lyonpotpourri/convolver~-help.pd
@@ -0,0 +1,88 @@
+#N canvas 555 371 681 515 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array cdemo_impulse 66162 float 2;
+#X coords 0 1 66162 -1 200 140 1;
+#X restore 268 41 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array cdemo_source 62079 float 2;
+#X coords 0 1 62079 -1 200 140 1;
+#X restore 24 89 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array cdemo_dest 131072 float 2;
+#X coords 0 1 131072 -1 200 140 1;
+#X restore 25 243 graph;
+#X obj 269 222 convolver~ cdemo_source cdemo_impulse cdemo_dest;
+#X obj 269 241 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 434 427 s convo_demo_msg;
+#X obj 269 203 r convo_demo_msg;
+#X msg 271 400 convolve;
+#X obj 473 65 tabplay~ cdemo_dest;
+#X obj 473 139 *~ 0.1;
+#X obj 473 161 dac~;
+#X obj 473 41 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 512 121 5 0 0 0 - - -, f 5;
+#X msg 24 397 bang;
+#X obj 515 106 hsl 100 12 0 1 0 0 empty empty gain -2 -8 0 8 -261570
+-1 -1 0 1;
+#X msg 434 398 noiseimp \$1;
+#X floatatom 434 380 5 0 0 0 - - -, f 5;
+#X msg 526 398 spikeimp \$1;
+#X floatatom 526 382 5 0 0 0 - - -, f 5;
+#X obj 271 421 s convo_demo_msg;
+#X text 288 242 operation completion bang;
+#X obj 432 325 soundfiler;
+#X obj 432 289 openpanel;
+#X msg 432 270 bang;
+#X msg 432 307 read -resize \$1 cdemo_impulse;
+#X msg 573 155 \; pd dsp \$1;
+#X obj 573 131 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 430 351 ... or build a synthetic impulse;
+#N canvas 715 441 450 300 sound-source 0;
+#X obj 104 159 soundfiler;
+#X obj 104 120 loadbang;
+#X obj 104 88 soundfiler;
+#X obj 104 52 openpanel;
+#X msg 104 70 read -resize \$1 cdemo_source;
+#X obj 104 34 inlet;
+#X text 175 122 default sound;
+#X obj 44 242 s convo_demo_msg;
+#X msg 44 218 noiseimp -5;
+#X obj 44 193 loadbang;
+#X text 112 195 default impulse;
+#X msg 104 141 read -resize sound/voice.wav cdemo_source;
+#X connect 1 0 11 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 11 0 0 0;
+#X restore 24 421 pd sound-source;
+#X obj 23 8 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 22 41 convolver~ - non-real-time convolution;
+#X text 64 398 1 find a soundfile to convolve;
+#X text 471 271 2 find an impulse response;
+#X text 269 380 3 perform convolution;
+#X text 492 41 4 play convolution result;
+#X connect 3 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 19 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 9 0 10 1;
+#X connect 11 0 8 0;
+#X connect 12 0 9 1;
+#X connect 13 0 28 0;
+#X connect 14 0 12 0;
+#X connect 15 0 5 0;
+#X connect 16 0 15 0;
+#X connect 17 0 5 0;
+#X connect 18 0 17 0;
+#X connect 22 0 24 0;
+#X connect 23 0 22 0;
+#X connect 24 0 21 0;
+#X connect 26 0 25 0;
diff --git a/externals/lyonpotpourri/convolver~.c b/externals/lyonpotpourri/convolver~.c
new file mode 100755
index 000000000..ce60801e1
--- /dev/null
+++ b/externals/lyonpotpourri/convolver~.c
@@ -0,0 +1,1009 @@
+#include "m_pd.h"
+//#include "lpp.h"
+#include "fftease_oldskool.h"
+#include "MSPd.h"
+
+#define OBJECT_NAME "convolver~"
+#define DENORM_WANT_FIX		1	
+
+#define COMPILE_DATE "1.7.08"
+#define OBJECT_VERSION "2.02"
+
+#define FIX_DENORM_FLOAT(v)	(v=(fabs(v) < 0.000001 ? 0.f : (v)))
+static t_class *convolver_class;
+
+#define CBUF_SIZE 32768
+#define NCMAX 52428800
+
+typedef struct _buffy {
+	t_word *b_samples;
+	long b_frames;
+	long b_nchans;
+	long b_valid;
+	t_garray *b;
+	t_symbol *myname;
+} t_buffy;
+
+
+typedef struct _convolver
+{
+	t_object x_obj;
+	float x_f;
+	t_buffy *impulse; // impulse buffer
+	t_buffy *source; // source buffer
+	t_buffy *dest; // output buffer
+	void *bang; // completion bang
+	float sr;
+	// convolution stuff
+	float *tbuf;
+	float *sbuf;
+	float *filt;
+	long N;
+	long N2;
+	long last_N;
+	// for fast fft
+	float mult; 
+	float *trigland;
+	int *bitshuffle;
+	short static_memory; // flag to avoid dynamic memory manipulation
+} t_convolver;
+
+// maybe no dsp method
+float boundrand(float min, float max);
+void convolver_setbuf(t_buffy *trybuf);
+
+void *convolver_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *convolver_perform(t_int *w);
+
+void convolver_mute(t_convolver *x, t_floatarg toggle);
+void convolver_assist (t_convolver *x, void *b, long msg, long arg, char *dst);
+void convolver_dsp_free(t_convolver *x);
+void convolver_seed(t_convolver *x, t_floatarg seed);
+// void convolver_dsp(t_convolver *x, t_signal **sp, short *count);
+void convolver_attach_buffers(t_convolver *x) ;
+void convolver_spikeimp(t_convolver *x, t_floatarg density);
+void convolver_convolve(t_convolver *x);
+void convolver_convolvechans(t_convolver *x, t_symbol *msg, short argc, t_atom *argv);
+void convolver_version(t_convolver *x);
+void convolver_noiseimp(t_convolver *x, t_floatarg curve);
+
+void rfft( float *x, int N, int forward );
+void cfft( float *x, int NC, int forward );
+void bitreverse( float *x, int N );
+void convolver_static_memory(t_convolver *x, t_floatarg toggle);
+
+
+void convolver_tilde_setup(void){
+	convolver_class = class_new(gensym("convolver~"), (t_newmethod)convolver_new, 
+								(t_method)convolver_dsp_free,sizeof(t_convolver), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(convolver_class, t_convolver, x_f);
+	// class_addmethod(convolver_class,(t_method)convolver_dsp,gensym("dsp"),0);
+	class_addmethod(convolver_class,(t_method)convolver_spikeimp,gensym("spikeimp"), A_FLOAT, 0);
+	class_addmethod(convolver_class,(t_method)convolver_noiseimp, gensym("noiseimp"),A_FLOAT, 0);
+	class_addmethod(convolver_class,(t_method)convolver_convolve, gensym("convolve"),0);
+	class_addmethod(convolver_class,(t_method)convolver_static_memory, gensym("static_memory"),A_FLOAT, 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void convolver_static_memory(t_convolver *x, t_floatarg toggle)
+{
+	
+	long memcount = 0;
+	float *tbuf = x->tbuf;
+	float *sbuf = x->sbuf;
+	float *filt = x->filt;
+	int *bitshuffle = x->bitshuffle;
+	float *trigland = x->trigland;	
+	t_buffy *impulse = x->impulse;
+	long N, N2;
+	
+	x->static_memory = (short) toggle;
+	
+	if( x->static_memory ){
+		convolver_attach_buffers( x );
+		
+		for( N2 = 2; N2 < NCMAX; N2 *= 2){
+			if( N2 >= impulse->b_frames ){
+				// post("%s: Exceeded Impulse Maximum: %d",OBJECT_NAME, NCMAX);
+				break;
+			}
+		}
+		N = 2 * N2;
+		
+		post("%s: memory is now static - do not reload your impulse buffer",OBJECT_NAME);
+		
+		if ((sbuf = (float *) calloc(N+2, sizeof(float))) == NULL)
+			error("%s: insufficient memory", OBJECT_NAME);
+		memcount += (N+2) * sizeof(float);
+		if ((tbuf = (float *) calloc(N2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		memcount += (N2) * sizeof(float);
+		if ((filt = (float *) calloc(N+2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		memcount += (N+2) * sizeof(float);
+		if( (bitshuffle = (int *) calloc(N * 2, sizeof(int))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		memcount += (N2) * sizeof(float);
+		if( (trigland = (float *) calloc(N * 2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);	
+		memcount += (N2) * sizeof(float);
+		post("%s: allocated %f Megabytes for %s", OBJECT_NAME, (float)memcount / 1000000.0, impulse->myname->s_name);
+	}
+}
+
+
+
+void convolver_seed(t_convolver *x, t_floatarg seed)
+{
+    t_convolver *fraud;
+    fraud = x;
+	srand((long)seed);
+}
+
+void convolver_convolve(t_convolver *x)
+{
+	int i;
+	t_symbol *mymsg;
+	short myargc = 3;
+	t_atom data[3];
+	mymsg = (t_symbol *) calloc(1, sizeof(t_symbol));
+	convolver_attach_buffers( x );
+	if(x->source->b_nchans == x->impulse->b_nchans && x->impulse->b_nchans == x->dest->b_nchans){
+		// post("case 1");
+		for(i = 0; i < x->source->b_nchans; i++){
+			SETFLOAT(data, i+1); // source
+			SETFLOAT(data+1, i+1); // impulse
+			SETFLOAT(data+2, i+1); // destination
+			convolver_convolvechans(x, mymsg, myargc, data);
+		}
+	} 
+	else if(x->source->b_nchans == 1 && x->impulse->b_nchans == x->dest->b_nchans){
+		//post("case 2");
+		for(i = 0; i < x->impulse->b_nchans; i++){
+			SETFLOAT(data, 1); // source
+			SETFLOAT(data+1, i+1); // impulse
+			SETFLOAT(data+2, i+1); // destination
+			convolver_convolvechans(x, mymsg, myargc, data);
+		}
+	}
+	else if(x->impulse->b_nchans == 1 && x->source->b_nchans == x->dest->b_nchans){
+		//post("case 3");
+		for(i = 0; i < x->impulse->b_nchans; i++){
+			SETFLOAT(data, i+1); // source
+			SETFLOAT(data+1, 1); // impulse
+			SETFLOAT(data+2, i+1); // destination
+			convolver_convolvechans(x, mymsg, myargc, data);
+		}
+	} else {
+		post("%s: \"convolve\" is not smart enough to figure out what you want to do. Try \"convolvechans\"",OBJECT_NAME);
+		post("source chans: %d, impulse chans: %d, dest chans: %d",x->source->b_nchans, x->impulse->b_nchans, x->dest->b_nchans );
+	}
+	outlet_bang(x->bang);
+}
+
+void convolver_convolvechans(t_convolver *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    t_symbol *fraud;
+	float *tbuf = x->tbuf;
+	float *sbuf = x->sbuf;
+	float *filt = x->filt;
+	long N = x->N;
+	long N2 = x->N2;
+	long i, j, ip, ip1;
+	long ifr_cnt = 0, ofr_cnt = 0;
+	long inframes, outframes;
+	int target_frames = 2;
+	short copacetic; // loop enabler
+	float a,b,temp,max=0.0,gain=1.0; //,thresh=.0000000001,fmag;
+	int readframes, writeframes;
+	t_buffy *impulse = x->impulse;
+	t_buffy *source = x->source;
+	t_buffy *dest = x->dest;
+	int *bitshuffle = x->bitshuffle;
+	float *trigland = x->trigland;	
+	long source_chan, impulse_chan, dest_chan;
+	float rescale = 0.5 / (float) N;
+    fraud = msg;
+//	t_atom newsize;
+	
+	convolver_attach_buffers( x );
+	
+	source_chan = atom_getfloatarg(0,argc,argv);
+	impulse_chan = atom_getfloatarg(1,argc,argv);
+	dest_chan = atom_getfloatarg(2,argc,argv);
+//	post("chans %d %d %d", source_chan, impulse_chan, dest_chan);
+	if( source_chan <= 0 || impulse_chan <= 0 || dest_chan <= 0){
+		error("%s: channels are counted starting from 1",OBJECT_NAME);
+		return;
+	}
+	if( source_chan > source->b_nchans ){
+		error("%s: source channel %d out of range", OBJECT_NAME, source_chan);
+		return;
+	}
+	if( impulse_chan > impulse->b_nchans ){
+		error("%s: impulse channel %d out of range", OBJECT_NAME, impulse_chan);
+		return;
+	}
+	if( dest_chan > dest->b_nchans ){
+		error("%s: dest channel %d out of range", OBJECT_NAME, dest_chan);
+		return;
+	}
+	--source_chan;
+	--impulse_chan;
+	--dest_chan;
+	inframes = source->b_frames;
+	outframes = dest->b_frames;
+	// initialization routine (move out and only do once)
+	for( N2 = 2; N2 < NCMAX; N2 *= 2){
+		if( N2 >= impulse->b_frames )
+			break;
+	}
+	N = 2 * N2;
+	// be more careful with memory
+	// also be sure to clear destination buffer
+	
+	
+	if(! x->static_memory ){
+		if ((sbuf = (float *) calloc(N+2, sizeof(float))) == NULL)
+			error("%s: insufficient memory", OBJECT_NAME);
+		if ((tbuf = (float *) calloc(N2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		if ((filt = (float *) calloc(N+2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		if( (bitshuffle = (int *) calloc(N * 2, sizeof(int))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+		if( (trigland = (float *) calloc(N * 2, sizeof(float))) == NULL)
+			error("%s: insufficient memory",OBJECT_NAME);
+	}
+	
+	x->mult = 1. / (float) N;
+	x->last_N = N;
+	init_rdft( N, bitshuffle, trigland);
+	
+	
+	
+	for(i = 0, j = 0; i < impulse->b_frames; i+= impulse->b_nchans, j++){
+		filt[j] = impulse->b_samples[i + impulse_chan].w_float;
+	}
+	
+	rdft( N, 1, filt, bitshuffle, trigland );
+
+	for (i=0; i <= N; i += 2){
+		
+		a = filt[i];
+		b = filt[i + 1];
+		temp = a*a + b*b;
+		if (temp > max)
+			max = temp;
+	}
+	
+	if (max != 0.) {
+		max = gain/(sqrt(max));
+	} 
+	else {
+		error("%s: impulse response is all zeros",OBJECT_NAME);
+		return;
+	}
+	// make normalization optional
+	for (i=0; i< N+2; i++)
+		filt[i] *= max;
+	
+	ifr_cnt = ofr_cnt = 0;
+	
+	if(source->b_frames - ifr_cnt >= N2)
+		readframes = N2;
+	else readframes = source->b_frames - ifr_cnt;
+	// read desired channel from multichannel source buffer into sbuf
+	for(i = 0, j = ifr_cnt * dest->b_nchans; i < readframes; i++, ifr_cnt++, j += source->b_nchans)
+		sbuf[i] = source->b_samples[j + source_chan].w_float;
+	// zero pad source buffer
+	for (i = readframes; i<N+2; i++)
+		sbuf[i] = 0.;
+	copacetic = 1;
+
+	while( target_frames < source->b_frames + impulse->b_frames ){
+		target_frames *= 2;
+	}
+	//post("src frames + imp frames %d dest frames %d",source->b_frames + impulse->b_frames, dest->b_frames);
+
+	if( dest->b_frames < target_frames){
+		
+		
+		//SETFLOAT(&newsize, (float) target_frames);
+		// typedmess((void *) x->dest->b, gensym("sizeinsamps"),1, &newsize);
+		garray_resize(x->dest->b,(float)target_frames );
+		post("%s: destination buffer was too small and has been resized",OBJECT_NAME);
+		convolver_attach_buffers( x );
+	}
+	
+	while(copacetic && ofr_cnt < ifr_cnt + N2){
+		// post("ofr %d ifr %d, N %d",ofr_cnt, ifr_cnt, N);
+		
+		// convolve source buffer with filter buffer
+		rdft( N, 1, sbuf, bitshuffle, trigland );
+		for (i=0; i<=N2; i++) {
+			ip = 2*i;
+			ip1 = ip + 1;
+			a = sbuf[ip] * filt[ip] - sbuf[ip1] * filt[ip1];
+			b = sbuf[ip] * filt[ip1] + sbuf[ip1] * filt[ip];
+			sbuf[ip] = a;
+			sbuf[ip1] = b;
+		}
+		// inverse fft
+		
+		rdft( N, -1, sbuf, bitshuffle, trigland );
+		
+		//accumulate to output buffer
+		// denormals fix is in
+		for (i=0; i<N2; i++){
+			FIX_DENORM_FLOAT(sbuf[i]);
+			tbuf[i] += sbuf[i];
+		}
+		
+		// write to msp buffer
+		if(dest->b_frames - ofr_cnt >= N2)
+			writeframes = N2;
+		else {
+			writeframes = source->b_frames - ofr_cnt;
+			// post("cutting off with N2 %d dest frames - ofr %d", N2, dest->b_frames - ofr_cnt );
+			copacetic = 0; // reached end of dest buffer
+		}
+		//shift samples to desired channel of multichannel output buffer
+		for(i = 0, j = ofr_cnt * dest->b_nchans; i < writeframes; i++, ofr_cnt++, j += dest->b_nchans)
+			dest->b_samples[j + dest_chan].w_float = tbuf[i];
+		
+		// shift over remaining convolved samples
+		for (i=0; i<N2; i++){
+			FIX_DENORM_FLOAT(sbuf[N2 + i]);
+			tbuf[i] = sbuf[N2+i];
+		}
+		// read in next batch
+		if(source->b_frames - ifr_cnt >= N2)
+			readframes = N2;
+		else {
+			readframes = source->b_frames - ifr_cnt;
+		}
+		// arbitrary input channel read
+		for(i = 0, j = ifr_cnt * source->b_nchans; i < readframes; i++, ifr_cnt++, j += source->b_nchans)
+			sbuf[i] = source->b_samples[j + source_chan].w_float;
+		// zero pad
+		for (i = readframes; i<N+2; i++)
+			sbuf[i] = 0.;
+	}
+	// now normalize output buffer
+  	
+
+	// OK 
+//	post("first rescale: %f", rescale);
+	max = 0.0;
+	for(i = 0, j = 0; i < dest->b_frames; i++, j += dest->b_nchans){
+		if(max < fabs(dest->b_samples[j + dest_chan].w_float) )
+			max = fabs(dest->b_samples[j + dest_chan].w_float);
+	}	
+	if(max <= 0.0){
+		post("convolvesf: zero output");
+		return;
+	}
+	rescale = 1.0 / max;
+	// post("max: %f, second rescale: %f", max, rescale);
+	
+	for(i = 0, j = 0; i < dest->b_frames; i++, j+= dest->b_nchans){
+		dest->b_samples[j + dest_chan].w_float *= rescale;
+	}
+	// FAILED BY HERE
+	// post("rescale done");
+//	return;
+
+	if(! x->static_memory ){
+		free(sbuf);
+		free(tbuf);
+		free(filt);
+		free(bitshuffle);
+		free(trigland);
+		
+	}
+	outlet_bang(x->bang);
+	garray_redraw(x->dest->b);
+}
+
+void convolver_noiseimp(t_convolver *x, t_floatarg curve)
+{
+	long b_nchans;
+	long b_frames;
+	t_word *b_samples;
+	float sr = x->sr;
+	int i;
+	int count;
+//	int position;
+	float gain, guess;
+	float dur;
+	float level = 1.0, endLevel = 0.001;
+	float grow, a1, a2, b1;
+
+	if(fabs(curve) < 0.001){
+		curve = 0.001;
+	}
+	// let's be current
+	convolver_attach_buffers(x);
+	b_nchans = x->impulse->b_nchans;
+	b_frames = x->impulse->b_frames;
+	b_samples = x->impulse->b_samples;
+	// chan test
+	if( sr == 0. ){
+		error("zero sample rate");
+		return;
+	}
+	// zero out buffer
+	dur = (float) b_frames / sr;
+	count = b_frames;
+	if(b_frames < 20){
+		post("impulse buffer too small!");
+		return;
+	}
+
+	
+//	memset((char *)b_samples, 0, b_nchans * b_frames * sizeof(float));
+	// return;
+
+	level = 1.0;
+	endLevel = 0.001;
+	grow = exp(curve / (count - 1) );
+	a1 = (endLevel - level) / (1.0 - exp(curve));
+	a2 = level + a1;
+	b1 = a1;	
+	for( i = 0; i < b_frames; i++ ){
+		guess = boundrand(-1.0, 1.0);
+		gain = 1. - guess;
+
+		b1 = b1 * grow;
+		level = a2 - b1;
+		b_samples[i].w_float = level * guess;
+	}
+
+	garray_redraw(x->impulse->b);
+	outlet_bang(x->bang);
+	
+}
+
+void convolver_spikeimp(t_convolver *x, t_floatarg density)
+{
+	long b_nchans;
+	long b_frames;
+	t_word *b_samples;
+	float sr = x->sr;
+	int i, j;
+	int count;
+	int position;
+	float gain, guess;
+	float dur;
+	
+	// let's be current
+	convolver_attach_buffers(x);
+	b_nchans = x->impulse->b_nchans;
+	b_frames = x->impulse->b_frames;
+	b_samples = x->impulse->b_samples;
+	// chan test
+	if( sr == 0. ){
+		error("zero sample rate");
+		return;
+	}
+	// zero out buffer
+	dur = (float) b_frames / sr;
+	count = density * dur;
+	memset((char *)b_samples, 0, b_nchans * b_frames * sizeof(float));
+	// return;
+	for( j = 0; j < b_nchans; j++ ){
+		for( i = 0; i < count; i++ ){
+			guess = boundrand(0., 1.);
+			gain = 1. - guess;
+			gain = gain * gain;
+			if( boundrand(0.0,1.0) > 0.5 ){
+				gain = gain * -1.0; // randomly invert signs to remove DC
+			}
+			position = (int) (dur * guess * guess * sr) * b_nchans + j;
+			if( position >= b_frames * b_nchans ){
+				error("%d exceeds %d",position, b_frames * b_nchans);
+			} else{
+				b_samples[ position ].w_float = gain;
+			}
+		}
+	}
+	garray_redraw(x->impulse->b);
+	outlet_bang(x->bang);
+}
+
+float boundrand(float min, float max)
+{
+	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
+}
+
+
+void *convolver_new(t_symbol *msg, short argc, t_atom *argv)
+{
+
+	t_convolver *x = (t_convolver *)pd_new(convolver_class);
+    t_symbol *fraud;
+    fraud = msg;
+	x->bang = outlet_new(&x->x_obj, gensym("bang"));  
+	srand(time(0)); //need "seed" message
+	x->impulse = (t_buffy *)malloc(sizeof(t_buffy));
+	x->source = (t_buffy *)malloc(sizeof(t_buffy));
+	x->dest = (t_buffy *)malloc(sizeof(t_buffy));
+	x->static_memory = 0;
+	
+	// default names
+	x->impulse->myname = gensym("impulse_buf");
+	x->source->myname = gensym("source_buf");
+	x->dest->myname = gensym("dest_buf");
+	
+	x->last_N = -1;
+	
+	x->source->myname = atom_getsymbolarg(0,argc,argv);
+	x->impulse->myname = atom_getsymbolarg(1,argc,argv);
+	x->dest->myname = atom_getsymbolarg(2,argc,argv);
+
+	x->sr = sys_getsr();
+    return (x);
+}
+
+
+void convolver_attach_buffers(t_convolver *x) 
+{
+	convolver_setbuf(x->source);
+	convolver_setbuf(x->impulse);
+	convolver_setbuf(x->dest);
+}
+
+
+void convolver_setbuf(t_buffy *trybuf)
+{
+	t_garray *a;
+	int b_frames;
+	/* load up sample array */
+	if (!(a = (t_garray *)pd_findbyclass(trybuf->myname, garray_class))) {
+		if (*trybuf->myname->s_name) pd_error("%s: %s: no such array", OBJECT_NAME, trybuf->myname->s_name);
+	}
+	else if (!garray_getfloatwords(a, &b_frames, &trybuf->b_samples)) { // possible crash worry?
+		pd_error("%s: bad template for %s", trybuf->myname->s_name,OBJECT_NAME);
+		trybuf->b_valid = 0;
+	}
+	else  {
+		trybuf->b_frames = b_frames;
+		trybuf->b_nchans = 1; // Pd buffers are always mono (so far)
+		trybuf->b = a; // link to array
+		garray_usedindsp(a);
+	}
+}
+
+
+t_int *convolver_perform(t_int *w)
+{
+	return w + 4; // maybe we don't need this guy at all
+}
+
+void convolver_dsp_free(t_convolver *x)
+{
+	if( x->static_memory ){
+		free(x->sbuf);
+		free(x->tbuf);
+		free(x->filt);
+		free(x->bitshuffle);
+		free(x->trigland);
+		outlet_bang(x->bang);
+	}
+}
+
+/*
+void convolver_dsp(t_convolver *x, t_signal **sp, short *count)
+{
+// never actually do anything here	
+}
+*/
+
+
+// old FFT stuff, soon to be replaced
+
+
+
+
+void cfft( float *x, int NC, int forward )
+
+{
+	float 	wr,wi,
+	wpr,wpi,
+	theta,
+	scale;
+	int 		mmax,
+		ND,
+		m,
+		i,j,
+		delta;
+	
+	// void bitreverse();
+	
+    ND = NC<<1;
+    bitreverse( x, ND );
+    for ( mmax = 2; mmax < ND; mmax = delta ) {
+		delta = mmax<<1;
+		theta = TWOPI/( forward? mmax : -mmax );
+		wpr = -2.*pow( sin( 0.5*theta ), 2. );
+		wpi = sin( theta );
+		wr = 1.;
+		wi = 0.;
+		for ( m = 0; m < mmax; m += 2 ) {
+			register float rtemp, itemp;
+			for ( i = m; i < ND; i += delta ) {
+				j = i + mmax;
+				rtemp = wr*x[j] - wi*x[j+1];
+				itemp = wr*x[j+1] + wi*x[j];
+				x[j] = x[i] - rtemp;
+				x[j+1] = x[i+1] - itemp;
+				x[i] += rtemp;
+				x[i+1] += itemp;
+			}
+			wr = (rtemp = wr)*wpr - wi*wpi + wr;
+			wi = wi*wpr + rtemp*wpi + wi;
+		}
+    }
+	
+	/* scale output */
+	
+    scale = forward ? 1./ND : 2.;
+    { register float *xi=x, *xe=x+ND;
+		while ( xi < xe )
+			*xi++ *= scale;
+    }
+}
+
+/* bitreverse places float array x containing N/2 complex values
+into bit-reversed order */
+
+void bitreverse( float *x, int N )
+
+{
+	float 	rtemp,itemp;
+	int 		i,j,
+		m;
+	
+    for ( i = j = 0; i < N; i += 2, j += m ) {
+		if ( j > i ) {
+			rtemp = x[j]; itemp = x[j+1]; /* complex exchange */
+			x[j] = x[i]; x[j+1] = x[i+1];
+			x[i] = rtemp; x[i+1] = itemp;
+		}
+		for ( m = N>>1; m >= 2 && j >= m; m >>= 1 )
+			j -= m;
+    }
+}
+
+void init_rdft(int n, int *ip, float *w)
+{
+
+  int	nw,
+	nc;
+
+//  void	makewt(int nw, int *ip, float *w);
+//  void	makect(int nc, int *ip, float *c);
+
+  nw = n >> 2;
+  makewt(nw, ip, w);
+
+  nc = n >> 2;
+  makect(nc, ip, w + nw);
+
+  return;
+}
+
+
+void rdft(int n, int isgn, float *a, int *ip, float *w)
+{
+
+  int		j,
+		nw,
+		nc;
+
+  float		xi;
+
+ // void		bitrv2(int n, int *ip, float *a),
+//		cftsub(int n, float *a, float *w),
+//		rftsub(int n, float *a, int nc, float *c);
+
+    
+  nw = ip[0];
+  nc = ip[1];
+  
+  if (isgn < 0) {
+    a[1] = 0.5 * (a[1] - a[0]);
+    a[0] += a[1];
+
+    for (j = 3; j <= n - 1; j += 2) {
+      a[j] = -a[j];
+    }
+
+    if (n > 4) {
+      rftsub(n, a, nc, w + nw);
+      bitrv2(n, ip + 2, a);
+    }
+
+    cftsub(n, a, w);
+
+    for (j = 1; j <= n - 1; j += 2) {
+      a[j] = -a[j];
+    }
+  }
+
+  else {
+
+    if (n > 4) {
+      bitrv2(n, ip + 2, a);
+    }
+
+    cftsub(n, a, w);
+
+    if (n > 4) {
+      rftsub(n, a, nc, w + nw);
+    }
+
+    xi = a[0] - a[1];
+    a[0] += a[1];
+    a[1] = xi;
+  }
+}
+
+
+void bitrv2(int n, int *ip, float *a)
+{
+  int j, jj1, k, k1, l, m, m2;
+  float xr, xi;
+    
+  ip[0] = 0;
+  l = n;
+  m = 1;
+
+  while ((m << 2) < l) {
+    l >>= 1;
+    for (j = 0; j <= m - 1; j++) {
+      ip[m + j] = ip[j] + l;
+    }
+    m <<= 1;
+  }
+
+  if ((m << 2) > l) {
+
+    for (k = 1; k <= m - 1; k++) {
+
+      for (j = 0; j <= k - 1; j++) {
+	jj1 = (j << 1) + ip[k];
+	k1 = (k << 1) + ip[j];
+	xr = a[jj1];
+	xi = a[jj1 + 1];
+	a[jj1] = a[k1];
+	a[jj1 + 1] = a[k1 + 1];
+	a[k1] = xr;
+	a[k1 + 1] = xi;
+      }
+    }
+  }
+
+  else {
+    m2 = m << 1;
+
+    for (k = 1; k <= m - 1; k++) {
+
+      for (j = 0; j <= k - 1; j++) {
+	jj1 = (j << 1) + ip[k];
+	k1 = (k << 1) + ip[j];
+	xr = a[jj1];
+	xi = a[jj1 + 1];
+	a[jj1] = a[k1];
+	a[jj1 + 1] = a[k1 + 1];
+	a[k1] = xr;
+	a[k1 + 1] = xi;
+	jj1 += m2;
+	k1 += m2;
+	xr = a[jj1];
+	xi = a[jj1 + 1];
+	a[jj1] = a[k1];
+	a[jj1 + 1] = a[k1 + 1];
+	a[k1] = xr;
+	a[k1 + 1] = xi;
+      }
+    }
+  }
+}
+
+
+void cftsub(int n, float *a, float *w)
+{
+  int j, jj1, j2, j3, k, k1, ks, l, m;
+  float wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
+  float x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
+    
+  l = 2;
+
+  while ((l << 1) < n) {
+    m = l << 2;
+
+    for (j = 0; j <= l - 2; j += 2) {
+      jj1 = j + l;
+      j2 = jj1 + l;
+      j3 = j2 + l;
+      x0r = a[j] + a[jj1];
+      x0i = a[j + 1] + a[jj1 + 1];
+      x1r = a[j] - a[jj1];
+      x1i = a[j + 1] - a[jj1 + 1];
+      x2r = a[j2] + a[j3];
+      x2i = a[j2 + 1] + a[j3 + 1];
+      x3r = a[j2] - a[j3];
+      x3i = a[j2 + 1] - a[j3 + 1];
+      a[j] = x0r + x2r;
+      a[j + 1] = x0i + x2i;
+      a[j2] = x0r - x2r;
+      a[j2 + 1] = x0i - x2i;
+      a[jj1] = x1r - x3i;
+      a[jj1 + 1] = x1i + x3r;
+      a[j3] = x1r + x3i;
+      a[j3 + 1] = x1i - x3r;
+    }
+
+    if (m < n) {
+      wk1r = w[2];
+
+      for (j = m; j <= l + m - 2; j += 2) {
+	jj1 = j + l;
+	j2 = jj1 + l;
+	j3 = j2 + l;
+	x0r = a[j] + a[jj1];
+	x0i = a[j + 1] + a[jj1 + 1];
+	x1r = a[j] - a[jj1];
+	x1i = a[j + 1] - a[jj1 + 1];
+	x2r = a[j2] + a[j3];
+	x2i = a[j2 + 1] + a[j3 + 1];
+	x3r = a[j2] - a[j3];
+	x3i = a[j2 + 1] - a[j3 + 1];
+	a[j] = x0r + x2r;
+	a[j + 1] = x0i + x2i;
+	a[j2] = x2i - x0i;
+	a[j2 + 1] = x0r - x2r;
+	x0r = x1r - x3i;
+	x0i = x1i + x3r;
+	a[jj1] = wk1r * (x0r - x0i);
+	a[jj1 + 1] = wk1r * (x0r + x0i);
+	x0r = x3i + x1r;
+	x0i = x3r - x1i;
+	a[j3] = wk1r * (x0i - x0r);
+	a[j3 + 1] = wk1r * (x0i + x0r);
+      }
+
+      k1 = 1;
+      ks = -1;
+
+      for (k = (m << 1); k <= n - m; k += m) {
+	k1++;
+	ks = -ks;
+	wk1r = w[k1 << 1];
+	wk1i = w[(k1 << 1) + 1];
+	wk2r = ks * w[k1];
+	wk2i = w[k1 + ks];
+	wk3r = wk1r - 2 * wk2i * wk1i;
+	wk3i = 2 * wk2i * wk1r - wk1i;
+
+	for (j = k; j <= l + k - 2; j += 2) {
+	  jj1 = j + l;
+	  j2 = jj1 + l;
+	  j3 = j2 + l;
+	  x0r = a[j] + a[jj1];
+	  x0i = a[j + 1] + a[jj1 + 1];
+	  x1r = a[j] - a[jj1];
+	  x1i = a[j + 1] - a[jj1 + 1];
+	  x2r = a[j2] + a[j3];
+	  x2i = a[j2 + 1] + a[j3 + 1];
+	  x3r = a[j2] - a[j3];
+	  x3i = a[j2 + 1] - a[j3 + 1];
+	  a[j] = x0r + x2r;
+	  a[j + 1] = x0i + x2i;
+	  x0r -= x2r;
+	  x0i -= x2i;
+	  a[j2] = wk2r * x0r - wk2i * x0i;
+	  a[j2 + 1] = wk2r * x0i + wk2i * x0r;
+	  x0r = x1r - x3i;
+	  x0i = x1i + x3r;
+	  a[jj1] = wk1r * x0r - wk1i * x0i;
+	  a[jj1 + 1] = wk1r * x0i + wk1i * x0r;
+	  x0r = x1r + x3i;
+	  x0i = x1i - x3r;
+	  a[j3] = wk3r * x0r - wk3i * x0i;
+	  a[j3 + 1] = wk3r * x0i + wk3i * x0r;
+	}
+      }
+    }
+
+    l = m;
+  }
+
+  if (l < n) {
+
+    for (j = 0; j <= l - 2; j += 2) {
+      jj1 = j + l;
+      x0r = a[j] - a[jj1];
+      x0i = a[j + 1] - a[jj1 + 1];
+      a[j] += a[jj1];
+      a[j + 1] += a[jj1 + 1];
+      a[jj1] = x0r;
+      a[jj1 + 1] = x0i;
+    }
+  }
+}
+
+
+void rftsub(int n, float *a, int nc, float *c)
+{
+  int j, k, kk, ks;
+  float wkr, wki, xr, xi, yr, yi;
+    
+  ks = (nc << 2) / n;
+  kk = 0;
+
+  for (k = (n >> 1) - 2; k >= 2; k -= 2) {
+    j = n - k;
+    kk += ks;
+    wkr = 0.5 - c[kk];
+    wki = c[nc - kk];
+    xr = a[k] - a[j];
+    xi = a[k + 1] + a[j + 1];
+    yr = wkr * xr - wki * xi;
+    yi = wkr * xi + wki * xr;
+    a[k] -= yr;
+    a[k + 1] -= yi;
+    a[j] += yr;
+    a[j + 1] -= yi;
+  }
+}
+
+
+void makewt(int nw, int *ip, float *w)
+{
+//    void bitrv2(int n, int *ip, float *a);
+    int nwh, j;
+    float delta, x, y;
+    
+    ip[0] = nw;
+    ip[1] = 1;
+    if (nw > 2) {
+        nwh = nw >> 1;
+        delta = atan(1.0) / nwh;
+        w[0] = 1;
+        w[1] = 0;
+        w[nwh] = cos(delta * nwh);
+        w[nwh + 1] = w[nwh];
+        for (j = 2; j <= nwh - 2; j += 2) {
+            x = cos(delta * j);
+            y = sin(delta * j);
+            w[j] = x;
+            w[j + 1] = y;
+            w[nw - j] = y;
+            w[nw - j + 1] = x;
+        }
+        bitrv2(nw, ip + 2, w);
+    }
+}
+
+
+void makect(int nc, int *ip, float *c)
+{
+    int nch, j;
+    float delta;
+    
+    ip[1] = nc;
+    if (nc > 1) {
+        nch = nc >> 1;
+        delta = atan(1.0) / nch;
+        c[0] = 0.5;
+        c[nch] = 0.5 * cos(delta * nch);
+        for (j = 1; j <= nch - 1; j++) {
+            c[j] = 0.5 * cos(delta * j);
+            c[nc - j] = 0.5 * sin(delta * j);
+        }
+    }
+}
+
diff --git a/externals/lyonpotpourri/counter~-help.pd b/externals/lyonpotpourri/counter~-help.pd
new file mode 100755
index 000000000..3cd4e7de0
--- /dev/null
+++ b/externals/lyonpotpourri/counter~-help.pd
@@ -0,0 +1,32 @@
+#N canvas 617 472 355 264 10;
+#X obj 32 143 counter~ 1 10;
+#X obj 32 169 click2float~;
+#X floatatom 32 204 5 0 0 0 - - -, f 5;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 26 49 counter~ - click-driven counter;
+#X obj 32 81 samm~ 60 2;
+#N canvas 539 566 450 300 messages 0;
+#X obj 86 215 s counter.msgs;
+#X msg 87 118 minmax 20 30;
+#X msg 217 120 direction \$1;
+#X msg 218 58 1;
+#X msg 262 84 -1;
+#X text 248 58 forward;
+#X text 291 83 backward;
+#X msg 191 174 setnext 25;
+#X text 76 99 reset boundaries;
+#X text 269 174 set next value;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 7 0 0 0;
+#X restore 149 177 pd messages;
+#X obj 40 114 r counter.msgs;
+#X text 155 136 args: minimum \, maximum;
+#X text 234 178 <- more here;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 5 0 0 0;
+#X connect 7 0 0 0;
diff --git a/externals/lyonpotpourri/counter~.c b/externals/lyonpotpourri/counter~.c
new file mode 100755
index 000000000..2c529b430
--- /dev/null
+++ b/externals/lyonpotpourri/counter~.c
@@ -0,0 +1,127 @@
+#include "MSPd.h"
+
+static t_class *counter_class;
+
+#define OBJECT_NAME "counter~"
+
+#define COUNTER_UP (1)
+#define COUNTER_DOWN (-1)
+
+typedef struct _counter
+{
+	t_object x_obj;
+	float x_f;
+	long current;
+	long min;
+	long max;
+	short direction;	
+} t_counter;
+
+static void *counter_new(t_symbol *s, int argc, t_atom *argv);
+static t_int *counter_perform(t_int *w);
+static void counter_dsp(t_counter *x, t_signal **sp);
+static void counter_setnext(t_counter *x, t_floatarg val);
+static void counter_direction(t_counter *x, t_floatarg d);
+static void counter_minmax(t_counter *x, t_floatarg min, t_floatarg max);
+static void counter_version(t_counter *x);
+
+void counter_tilde_setup(void)
+{
+    t_class *c;
+	c = class_new(gensym("counter~"), (t_newmethod)counter_new,0,sizeof(t_counter), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_counter, x_f);
+    class_addmethod(c, (t_method)counter_minmax,gensym("minmax"),A_FLOAT,A_FLOAT,0);
+    class_addmethod(c, (t_method)counter_direction,gensym("direction"),A_FLOAT,0);
+    class_addmethod(c, (t_method)counter_setnext,gensym("setnext"),A_FLOAT,0);
+	class_addmethod(c, (t_method)counter_dsp, gensym("dsp"), 0);
+    counter_class = c;
+	potpourri_announce(OBJECT_NAME);
+}
+
+static void counter_setnext(t_counter *x, t_floatarg val)
+{
+	if( val < x->min || val > x->max)
+		return;
+	x->current = (long) val;
+}
+
+static void counter_direction(t_counter *x, t_floatarg d)
+{
+	if( (d != COUNTER_UP) && (d != COUNTER_DOWN) )
+		return;
+	x->direction = (short) d;
+}
+
+static void counter_minmax(t_counter *x, t_floatarg min, t_floatarg max)
+{
+	if(min < 1){
+		return;
+	}
+	if(min >= max){
+		return;
+	}
+	x->min = min;
+	x->max = max;
+}
+
+static void *counter_new(t_symbol *s, int argc, t_atom *argv)
+{
+    float farg;
+    t_symbol *fraud;
+	t_counter *x = (t_counter *)pd_new(counter_class);
+    fraud = s;
+	outlet_new(&x->x_obj, gensym("signal"));
+	x->direction = COUNTER_UP;
+    farg = 1.0;
+	atom_arg_getfloat(&farg,0,argc,argv);
+    x->min = farg;
+    farg = 10.0;
+	atom_arg_getfloat(&farg,1,argc,argv);
+    x->max = farg;
+	if(x->min <= 1)
+		x->min = 1;
+	if(x->max <= x->min)
+		x->max = 10;
+
+	return x;
+}
+
+static t_int *counter_perform(t_int *w)
+{
+	t_counter *x = (t_counter *) (w[1]);
+	t_float *in_vec = (t_float *)(w[2]);
+	t_float *out_vec = (t_float *)(w[3]);
+	int n = (int) w[4];
+	
+	int i;
+	long min = x->min;
+	long max = x->max;
+	long current = x->current;
+	short direction = x->direction;
+	
+	for(i = 0; i < n; i++){
+		if(in_vec[i]){
+			out_vec[i] = current;
+			current = current + direction;
+			if( direction == COUNTER_UP ){
+				if( current > max ){
+					current = min; 
+				}
+			} else if( direction == COUNTER_DOWN ){
+				if( current < min ){
+					current = max;
+				}
+			}
+		} else {
+			out_vec[i] = 0.0;
+		}
+	}
+	
+	x->current = current;
+	return w + 5;
+}		
+
+static void counter_dsp(t_counter *x, t_signal **sp)
+{
+    dsp_add(counter_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/distortion~-help.pd b/externals/lyonpotpourri/distortion~-help.pd
new file mode 100755
index 000000000..f5df2901a
--- /dev/null
+++ b/externals/lyonpotpourri/distortion~-help.pd
@@ -0,0 +1,41 @@
+#N canvas 178 231 501 301 10;
+#X obj 30 154 distortion~;
+#X floatatom 66 131 5 0 0 0 - knee -, f 5;
+#X floatatom 102 117 5 0 0 0 - cut -, f 5;
+#X obj 30 112 osc~ 270;
+#X floatatom 30 90 5 0 0 0 - - -, f 5;
+#X obj 30 224 *~ 0.1;
+#X obj 30 252 dac~;
+#X msg 156 139 \; pd dsp \$1;
+#X obj 156 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 158 184 hsl 128 15 0.001 0.4 0 0 knee knee-input knee -2 -6
+0 8 -259157 -1 -1 1560 1;
+#X obj 157 216 hsl 128 15 0.01 1 0 0 cut cut-input cut -2 -6 0 8 -259157
+-1 -1 1796 1;
+#X obj 30 191 lop~ 8000;
+#N canvas 0 22 180 162 initialize 0;
+#X obj 2 23 loadbang;
+#X msg 58 64 0.15;
+#X msg 3 58 0.05;
+#X obj 3 108 s knee-input;
+#X obj 34 89 s cut-input;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X restore 154 246 pd initialize;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 25 49 distortion~ uses an internal transfer function to shape
+the wave. "knee" is where the transfer function starts to bend and
+"cut" is the clipping point., f 79;
+#X connect 0 0 11 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 5 0 6 1;
+#X connect 8 0 7 0;
+#X connect 11 0 5 0;
diff --git a/externals/lyonpotpourri/distortion~.c b/externals/lyonpotpourri/distortion~.c
new file mode 100755
index 000000000..498989740
--- /dev/null
+++ b/externals/lyonpotpourri/distortion~.c
@@ -0,0 +1,226 @@
+#include "MSPd.h"
+
+
+static t_class *distortion_class;
+
+
+#define OBJECT_NAME "distortion~"
+
+typedef struct _distortion
+{
+    
+    t_object x_obj;
+    float x_f;
+	float knee;
+	float cut;
+	float rescale ;
+	short mute ;
+	short case1;
+} t_distortion;
+
+void *distortion_new(t_floatarg knee, t_floatarg cut);
+t_int *distortion1_perform(t_int *w);
+t_int *distortion2_perform(t_int *w);
+t_int *distortion3_perform(t_int *w);
+void distortion_dsp(t_distortion *x, t_signal **sp);
+void distortion_float(t_distortion *x, double f);
+void distortion_mute(t_distortion *x, t_floatarg f);
+
+
+// no freeing function needed
+
+void distortion_tilde_setup(void){
+    distortion_class = class_new(gensym("distortion~"), (t_newmethod)distortion_new,
+                                 0,sizeof(t_distortion), 0,A_DEFFLOAT,A_DEFFLOAT,0);
+    CLASS_MAINSIGNALIN(distortion_class, t_distortion, x_f);
+    class_addmethod(distortion_class,(t_method)distortion_dsp,gensym("dsp"),0);
+    class_addmethod(distortion_class,(t_method)distortion_mute,gensym("mute"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *distortion_new(t_floatarg knee, t_floatarg cut)
+{
+
+    t_distortion *x = (t_distortion *)pd_new(distortion_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	if( knee >= cut || knee <= 0 || cut <= 0 ) {
+		// post("setting defaults");
+		x->knee = .1;
+		x->cut = .3 ;
+	} else {
+		x->knee = knee;
+		x->cut = cut;
+		// post("User defined values: knee %f cut %f", knee, cut);
+        
+	}
+	x->rescale = 1.0 / x->cut ;
+	x->mute = 0;
+    return x;
+}
+
+
+// use when neither signal is connected
+
+t_int *distortion1_perform(t_int *w)
+{
+    
+	float rectified_sample, in_sample;
+    
+	t_distortion *x = (t_distortion *) (w[1]);
+	float *in = (t_float *)(w[2]);
+	float *out = (t_float *)(w[5]);
+	int n = (int)(w[6]);
+	
+	float knee = x->knee;
+	float cut = x->cut;
+	float rescale = x->rescale;
+    
+	
+	if( x->mute ){
+		while( n-- ){
+			*out++ = 0;
+		}
+		return (w+7);
+	}
+	
+	while (n--) {
+		in_sample = *in++;
+		rectified_sample = fabs( in_sample );
+		if( rectified_sample < knee ){
+			*out++ = in_sample;
+		} else {
+			if( in_sample > 0.0 ){
+				*out++ = rescale * (knee + (rectified_sample - knee) * (cut - knee));
+			} else {
+				*out++ = rescale * (-(knee + (rectified_sample - knee) * (cut - knee)));
+			}
+		}
+        
+	}
+	return (w+7);
+}
+
+// use when both signals are connected
+
+t_int *distortion2_perform(t_int *w)
+{
+    
+	float rectified_sample, in_sample;
+    
+	t_distortion *x = (t_distortion *) (w[1]);
+	float *in = (t_float *)(w[2]);
+	float *data1 = (t_float *)(w[3]);
+	float *data2 = (t_float *)(w[4]);
+	float *out = (t_float *)(w[5]);
+	int n = (int)(w[6]);
+    //	double fabs();
+    
+	float knee = x->knee;
+	float cut = x->cut;
+	float rescale = x->rescale;
+    
+	
+	if( x->mute ){
+		while( n-- ){
+			*out++ = 0;
+		}
+		return (w+7);
+	}
+	
+	while (n--) {
+		in_sample = *in++;
+		knee = *data1++;
+		cut = *data2++;
+		if( cut > 0.000001 )
+			rescale = 1.0 / cut;
+		else
+			rescale = 1.0;
+		
+		rectified_sample = fabs( in_sample );
+		if( rectified_sample < knee ){
+			*out++ = in_sample;
+		} else {
+			if( in_sample > 0.0 ){
+				*out++ = rescale * (knee + (rectified_sample - knee) * (cut - knee));
+			} else {
+				*out++ = rescale * (-(knee + (rectified_sample - knee) * (cut - knee)));
+			}
+		}
+        
+	}
+	x->knee = knee;
+	x->cut = cut;
+	x->rescale = rescale;
+	return (w+7);
+}
+
+t_int *distortion3_perform(t_int *w)
+{
+    
+	float rectified_sample, in_sample;
+    
+	t_distortion *x = (t_distortion *) (w[1]);
+	float *in = (t_float *)(w[2]);
+	float *data1 = (t_float *)(w[3]);
+	float *data2 = (t_float *)(w[4]);
+	float *out = (t_float *)(w[5]);
+	int n = (int)(w[6]);
+    //	double fabs();
+    
+	float knee = x->knee;
+	float cut = x->cut;
+	float rescale = x->rescale;
+	short case1 = x->case1;
+	
+	if( x->mute ){
+		while( n-- ){
+			*out++ = 0;
+		}
+		return (w+7);
+	}
+	
+	while (n--) {
+        // first case, knee is connected, otherwise cut is connected
+		in_sample = *in++;
+		if( case1 ){
+			knee = *data1++;
+		}
+		else {
+			cut = *data2++;
+		}
+		if( cut > 0.000001 )
+			rescale = 1.0 / cut;
+		else
+			rescale = 1.0;
+		
+		rectified_sample = fabs( in_sample );
+		if( rectified_sample < knee ){
+			*out++ = in_sample;
+		} else {
+			if( in_sample > 0.0 ){
+				*out++ = rescale * (knee + (rectified_sample - knee) * (cut - knee));
+			} else {
+				*out++ = rescale * (-(knee + (rectified_sample - knee) * (cut - knee)));
+			}
+		}
+        
+	}
+	x->knee = knee;
+	x->cut = cut;
+	x->rescale = rescale;
+	return (w+7);
+}
+void distortion_mute(t_distortion *x, t_floatarg f) {
+	x->mute = f;
+}
+
+
+void distortion_dsp(t_distortion *x, t_signal **sp)
+{
+
+	dsp_add(distortion2_perform, 6, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,sp[0]->s_n);
+
+}
+
diff --git a/externals/lyonpotpourri/dmach~-help.pd b/externals/lyonpotpourri/dmach~-help.pd
new file mode 100644
index 000000000..7f7f4bb25
--- /dev/null
+++ b/externals/lyonpotpourri/dmach~-help.pd
@@ -0,0 +1,1304 @@
+#N canvas 103 332 573 397 10;
+#X obj 194 182 click2bang~;
+#X obj 194 205 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 24 253 *~ 0.05;
+#X obj 24 282 dac~;
+#X obj 24 85 r dmach-msgs;
+#N canvas 476 235 592 383 operation 0;
+#X obj 29 285 s dmach-msgs;
+#X msg 69 40 arm 1;
+#X msg 89 70 mute 0;
+#X msg 28 15 show 1;
+#X msg 115 149 tempo \$1;
+#X floatatom 115 128 5 0 0 0 - - -, f 5;
+#X msg 115 106 60;
+#X msg 155 105 134;
+#X text 171 130 change the tempo;
+#X text 114 39 prepare to play ptn 1;
+#X text 137 67 now play it;
+#X text 78 18 show sequence data;
+#X msg 105 257 instant_recall \$1;
+#X obj 106 233 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 125 206 by default patterns are recalled in rhythm at the end
+of the last pattern. Setting instant_recall to 1 means you can instantly
+loop or play a sequence.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 12 0 0 0;
+#X connect 13 0 12 0;
+#X restore 386 153 pd operation;
+#X obj 66 234 hsl 60 12 0 0.25 0 0 empty empty gain -2 -8 1 12 -228928
+-1 -1 0 1;
+#X obj 144 259 s bassgain;
+#X obj 277 182 s raw-dmach-data;
+#N canvas 569 435 578 329 saved-patterns 0;
+#X obj 63 37 r raw-dmach-data;
+#X msg 130 105 listraw;
+#X obj 131 141 s dmach-msgs;
+#N canvas 0 22 466 316 saved 0;
+#X msg 10 54 readraw 0 4 0 4 1 1 0 1 0.8 1.49998 1 1 1.99997 1 0.8
+3.49995 1 7 1 1 0 0.7 1 0.499993 1 0.8333 0.999986 1 1.111 1.74995
+1 1.111 2.49997 1 1.333 2.99996 0.666 1.653 3.49995 2 9 1 1 0.499993
+0.7 1 0.749964 1 1 1.49998 0.7 1 1.74995 1 1 2.49997 0.7 1 2.74999
+0.5 1 3.24998 1 1 3.49995 0.7 1 3.74997 3 2 1 1 0.999986 1 1 2.99996
+5 4 1 1.05 0 1 1.05 0.999986 1 1 1.99997 1 0.9 2.99996;
+#X obj 10 148 s dmach-msgs;
+#X connect 0 0 1 0;
+#X restore 356 50 pd saved;
+#X obj 63 72 print;
+#X text 196 107 report current pattern to list outlet;
+#X text 67 208 The resulting readraw message will load the entire pattern.
+if you have a prepend you could send this data directly into a list.
+Otherwise cut and paste from the Pd window.;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X restore 386 207 pd saved-patterns;
+#X obj 147 234 hsl 64 12 0 2 0 0 empty s_bassgain empty -2 -8 0 10
+-261756 -1 -1 3150 1;
+#X obj 24 112 dmach~ 134 9, f 35;
+#N canvas 16 184 1268 473 playback 0;
+#X obj 9 52 inlet~;
+#X obj 75 52 inlet~;
+#X obj 143 52 inlet~;
+#X obj 209 52 inlet~;
+#X obj 273 52 inlet~;
+#X obj 339 52 inlet~;
+#X obj 404 52 inlet~;
+#X obj 470 52 inlet~;
+#X obj 537 52 inlet~;
+#X obj 603 52 inlet~;
+#X obj 10 122 player~ dmach1;
+#X obj 43 145 player~ dmach2;
+#X obj 56 168 player~ dmach3;
+#X obj 81 195 player~ dmach4;
+#X obj 117 381 outlet~;
+#N canvas 509 23 498 587 bass-synth 0;
+#X obj 396 334 adsr~;
+#X obj 304 369 *~;
+#X obj 127 544 outlet~;
+#X obj 117 18 inlet~;
+#X obj 183 20 inlet~;
+#X obj 128 513 *~ 0;
+#X floatatom 347 387 5 0 0 0 - - -, f 5;
+#X obj 285 198 +~ 1400;
+#X obj 285 177 *~ 1000;
+#X obj 284 156 osc~ 0.25;
+#X obj 278 422 vcf~ 4;
+#X obj 349 422 r bassgain;
+#X floatatom 350 445 5 0 0 0 - - -, f 5;
+#X obj 247 334 distortion~ 0.1 0.2;
+#X floatatom 311 285 5 0 0 0 - - -, f 5;
+#X floatatom 375 285 5 0 0 0 - - -, f 5;
+#X obj 52 131 oscil~ 440 8192 square 4;
+#X obj 237 131 oscil~ 440 8192 buzz 16;
+#X obj 358 49 osc~ 5;
+#X obj 346 80 *~ 0.005;
+#X obj 305 95 +~;
+#X obj 285 61 sig~ 1;
+#X obj 56 76 *~;
+#N canvas 0 22 462 312 init 0;
+#X obj 97 195 outlet;
+#X obj 106 221 outlet;
+#X obj 158 231 outlet;
+#X obj 137 137 unpack f f;
+#X obj 149 29 loadbang;
+#X msg 83 147 4;
+#X msg 149 109 0.025 0.05;
+#X msg 205 194 10 30 600 100;
+#X obj 209 235 outlet;
+#X connect 3 0 1 0;
+#X connect 3 1 2 0;
+#X connect 4 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 3 0;
+#X connect 7 0 8 0;
+#X restore 352 247 pd init;
+#X obj 230 60 *~ 0.5;
+#X obj 118 462 distortion~;
+#X floatatom 90 378 5 0 0 0 - - -, f 5;
+#X floatatom 154 378 5 0 0 0 - - -, f 5;
+#N canvas 0 22 466 316 init 0;
+#X obj 106 221 outlet;
+#X obj 158 231 outlet;
+#X obj 137 137 unpack f f;
+#X obj 149 29 loadbang;
+#X msg 149 109 0.1 0.3;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X restore 131 340 pd init;
+#X obj 121 483 lop~ 3000;
+#X floatatom 227 474 5 0 0 0 - - -, f 5;
+#X obj 24 448 osc~;
+#X obj 94 313 *~ 0.5;
+#X msg 150 293 0.666;
+#X obj 27 482 *~ 0.2;
+#X msg 103 262 0.5;
+#X msg 144 261 0.25;
+#X obj 316 499 loadbang;
+#X msg 316 520 1;
+#X obj 315 544 s s_bassgain;
+#X connect 0 0 1 1;
+#X connect 1 0 10 0;
+#X connect 3 0 0 0;
+#X connect 4 0 22 0;
+#X connect 4 0 24 0;
+#X connect 5 0 2 0;
+#X connect 6 0 10 2;
+#X connect 7 0 10 1;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 25 0;
+#X connect 11 0 12 0;
+#X connect 12 0 5 1;
+#X connect 13 0 1 0;
+#X connect 14 0 13 1;
+#X connect 15 0 13 2;
+#X connect 16 0 13 0;
+#X connect 17 0 13 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 1;
+#X connect 20 0 22 1;
+#X connect 21 0 20 0;
+#X connect 22 0 16 0;
+#X connect 22 0 32 0;
+#X connect 23 0 6 0;
+#X connect 23 1 14 0;
+#X connect 23 2 15 0;
+#X connect 23 3 0 0;
+#X connect 24 0 17 0;
+#X connect 25 0 29 0;
+#X connect 26 0 25 1;
+#X connect 27 0 25 2;
+#X connect 28 0 26 0;
+#X connect 28 1 27 0;
+#X connect 29 0 5 0;
+#X connect 30 0 29 1;
+#X connect 31 0 34 0;
+#X connect 32 0 31 0;
+#X connect 33 0 32 1;
+#X connect 34 0 5 0;
+#X connect 35 0 32 1;
+#X connect 36 0 32 1;
+#X connect 37 0 38 0;
+#X connect 38 0 39 0;
+#X restore 238 224 pd bass-synth;
+#N canvas 215 196 532 615 load-waveforms 0;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach1 21988 float 2;
+#X coords 0 1 21988 -1 30 20 1;
+#X restore 100 20 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach2 25652 float 2;
+#X coords 0 1 25652 -1 30 20 1;
+#X restore 100 60 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach3 11171 float 2;
+#X coords 0 1 11171 -1 30 20 1;
+#X restore 181 20 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach4 9284 float 2;
+#X coords 0 1 9284 -1 30 20 1;
+#X restore 181 60 graph;
+#X obj 18 408 soundfiler;
+#X obj 14 77 loadbang;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach5 42964 float 2;
+#X coords 0 1 42964 -1 30 20 1;
+#X restore 252 22 graph;
+#X obj 14 103 t b b b b b b b b;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach6 44614 float 2;
+#X coords 0 1 44614 -1 30 20 1;
+#X restore 253 61 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach7 9097 float 2;
+#X coords 0 1 9097 -1 30 20 1;
+#X restore 317 23 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dmach8 10741 float 2;
+#X coords 0 1 10741 -1 30 20 1;
+#X restore 319 59 graph;
+#X obj 32 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 165 137 read -resize sound/BT0AADA.aiff dmach1;
+#X msg 196 156 read -resize sound/trickhit.aif dmach2;
+#X msg 229 176 read -resize sound/hi_o_15g.aiff dmach3;
+#X msg 240 202 read -resize sound/KR55SNAR.aiff dmach4;
+#X msg 255 240 read -resize sound/soda-bd.aif dmach5;
+#X msg 267 282 read -resize sound/BD0010.aif dmach6;
+#X msg 257 338 read -resize sound/hi_c_12b.aiff dmach7;
+#X msg 262 358 read -resize sound/CP.aif dmach8;
+#X connect 5 0 7 0;
+#X connect 7 0 12 0;
+#X connect 7 1 13 0;
+#X connect 7 2 14 0;
+#X connect 7 3 15 0;
+#X connect 7 4 16 0;
+#X connect 7 5 17 0;
+#X connect 7 6 18 0;
+#X connect 7 7 19 0;
+#X connect 11 0 7 0;
+#X connect 12 0 4 0;
+#X connect 13 0 4 0;
+#X connect 14 0 4 0;
+#X connect 15 0 4 0;
+#X connect 16 0 4 0;
+#X connect 17 0 4 0;
+#X connect 18 0 4 0;
+#X connect 19 0 4 0;
+#X restore 940 21 pd load-waveforms;
+#X msg 113 18 static_increment 1;
+#X obj 113 -2 loadbang;
+#X obj 694 51 inlet~;
+#X obj 760 51 inlet~;
+#X obj 826 51 inlet~;
+#X obj 892 51 inlet~;
+#X obj 959 50 inlet~;
+#X obj 1025 50 inlet~;
+#X obj 363 240 player~ dmach5;
+#X obj 1085 49 inlet~;
+#X obj 1151 49 inlet~;
+#X obj 462 264 player~ dmach6;
+#X obj 573 264 player~ dmach7;
+#X obj 681 266 player~ dmach8;
+#X obj 890 282 snapshot~;
+#X obj 1008 253 metro 150;
+#X msg 1029 222 1;
+#X floatatom 905 313 5 0 0 0 - - -, f 5;
+#N canvas 172 230 208 286 assignments 0;
+#X text 41 123 4 bassline;
+#X text 41 25 0 bassdrum;
+#X text 41 48 1 trick hit;
+#X text 41 73 2 open hihat;
+#X text 41 98 3 snare drum;
+#X text 41 148 5 soda bd;
+#X text 41 173 6 808 bd;
+#X text 41 198 7 closed hihat;
+#X text 41 223 8 claps;
+#X restore 471 407 pd assignments;
+#X connect 0 0 10 0;
+#X connect 1 0 10 1;
+#X connect 2 0 11 0;
+#X connect 3 0 11 1;
+#X connect 4 0 12 0;
+#X connect 5 0 12 1;
+#X connect 6 0 13 0;
+#X connect 7 0 13 1;
+#X connect 8 0 15 0;
+#X connect 9 0 15 1;
+#X connect 10 0 14 0;
+#X connect 11 0 14 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 15 0 14 0;
+#X connect 17 0 10 0;
+#X connect 17 0 11 0;
+#X connect 17 0 12 0;
+#X connect 17 0 13 0;
+#X connect 17 0 25 0;
+#X connect 17 0 28 0;
+#X connect 17 0 29 0;
+#X connect 17 0 30 0;
+#X connect 18 0 17 0;
+#X connect 19 0 25 0;
+#X connect 20 0 25 1;
+#X connect 21 0 28 0;
+#X connect 22 0 28 1;
+#X connect 23 0 29 0;
+#X connect 24 0 29 1;
+#X connect 25 0 14 0;
+#X connect 26 0 30 0;
+#X connect 27 0 30 1;
+#X connect 27 0 31 0;
+#X connect 28 0 14 0;
+#X connect 29 0 14 0;
+#X connect 30 0 14 0;
+#X connect 31 0 34 0;
+#X connect 32 0 31 0;
+#X connect 33 0 32 0;
+#X restore 24 182 pd playback, f 26;
+#N canvas 515 23 653 793 pattern-tutorial 0;
+#X text 31 19 You can build up patterns 1 line at a time. Here's how.
+;
+#X text 16 62 1 make sure the sequencer is off;
+#X obj 31 116 s dmach-msgs;
+#X msg 32 91 nosequence;
+#X text 21 149 2 Define the bar. First number is the bar number. Second
+number is the quarternote count. 4 would be 4/4. 3 would be 3/4. 3.5
+would be 7/8. Since you can use any fraction you like there is considerable
+time flexibility.;
+#X msg 26 213 store 5 4;
+#X text 103 215 put a 4/4 into bar number 5;
+#X obj 26 241 s dmach-msgs;
+#X text 27 285 3 Write your bass drum part - 4 on the floor in this
+case.;
+#X msg 34 324 slotamps 5 6 4 1 0.7 0.7 0.7;
+#X obj 34 349 s dmach-msgs;
+#X obj 38 496 s dmach-msgs;
+#X msg 38 471 slotamps 5 3 8 0 0 1 0 0 0 0 1;
+#X obj 38 598 s dmach-msgs;
+#X msg 38 564 slotamps 5 7 16 1 0.5 0.7 0 1 0.5 0.7 0 1 0.5 0.7 0.9
+1 0 0.7 0.7;
+#X obj 42 690 s dmach-msgs;
+#X text 38 629 6 Now we'll add a line with pitch variation. First we
+write the rhythm.;
+#X text 44 721 Here's the interval pattern:;
+#X obj 38 786 s dmach-msgs;
+#X text 132 783 after the bar number and slot \, we give one transposition
+value for each attack;
+#X obj 40 903 s dmach-msgs;
+#X msg 40 878 slotamps 5 2 10 1 0.7 0.7 0.7 0.7 1 0.7 0.7 1 0.7;
+#X msg 38 761 slotincrs 5 1 0.8333 1 0.8333 1.25 1 1.11;
+#X msg 42 665 slotamps 5 1 8 1 0 1 0.7 0 1 1 0.7;
+#X text 42 933 8 We'll emphasize the pattern with transposition;
+#X obj 45 982 s dmach-msgs;
+#X obj 49 1061 s dmach-msgs;
+#X msg 49 1036 slotamps 5 8 8 0 0 1 0 0 1 0 0.8;
+#X obj 50 1195 s dmach-msgs;
+#X msg 49 1142 slotincrs 5 4 150 133 125 133;
+#X msg 269 1143 slotamps 5 4 4 1 1 1 1;
+#X obj 220 1115 t b b;
+#X obj 221 1089 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X text 36 444 4 Now let's add a snare part.;
+#X text 35 378 The arguments are: bar number \, slot number (in this
+patch slot 6 is driving a bass drum) \, bar subdivision (this must
+be an integer) and an attack pattern with numbers corresponding to
+amplitude (zero of course is a rest).;
+#X text 38 847 7 Let's add some quintuplet cymbals.;
+#X text 43 1005 9 A couple claps.;
+#X text 45 1089 10 Finally a bass line.;
+#X text 164 1186 Note the order of messaging. A slotamps message sets
+all its increments to 1 so the slotincrs message must come after it.
+;
+#X text 36 528 5 Add the hihat fill.;
+#X msg 44 957 slotincrs 5 2 1.1 0.8 0.8 0.8 0.8 1 0.8 0.8 1.2 0.8;
+#X text 47 1252 If you want to effect more complex subdivisions of
+the bar \, read my paper for instructions on how to do that.;
+#X connect 3 0 2 0;
+#X connect 5 0 7 0;
+#X connect 9 0 10 0;
+#X connect 12 0 11 0;
+#X connect 14 0 13 0;
+#X connect 21 0 20 0;
+#X connect 22 0 18 0;
+#X connect 23 0 15 0;
+#X connect 27 0 26 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 31 0 29 0;
+#X connect 31 1 30 0;
+#X connect 32 0 31 0;
+#X connect 40 0 25 0;
+#X restore 386 235 pd pattern-tutorial;
+#X text 215 205 pattern downbeat;
+#N canvas 0 22 677 332 playback 0;
+#X obj 10 285 s dmach-msgs;
+#X msg 218 97 recall \$1;
+#X msg 219 41 0;
+#X msg 256 41 1;
+#X msg 300 97 nosequence;
+#X msg 299 41 2;
+#X msg 335 41 3;
+#X msg 373 41 4;
+#X msg 195 193 loopsequence 0 0 0 1 0 0 1 1 2 2 2 2 3 0 0 0 0 3 3 4
+2 2 3 4 4 4 1 4 3 3 3;
+#X obj 195 148 loadbang;
+#X msg 11 203 playsequence 3 4 3 4;
+#X text 11 175 play one time only;
+#X text 337 73 select a stored pattern;
+#X text 283 170 loop a pattern sequence;
+#X obj 217 122 s dmach-msgs;
+#X obj 218 73 t f b;
+#X text 170 252 another sequence;
+#X text 378 98 this turns off sequencer mode;
+#X msg 152 267 loopsequence 1 1 1 3 1 1 4 6 4 6 6 3 4 1 1 1 6 6 6 6
+6 6 6 6 6;
+#X obj 195 169 delay 100;
+#X msg 406 41 5;
+#X msg 439 41 6;
+#X connect 1 0 14 0;
+#X connect 2 0 15 0;
+#X connect 3 0 15 0;
+#X connect 4 0 14 0;
+#X connect 5 0 15 0;
+#X connect 6 0 15 0;
+#X connect 7 0 15 0;
+#X connect 8 0 0 0;
+#X connect 9 0 19 0;
+#X connect 10 0 0 0;
+#X connect 15 0 1 0;
+#X connect 15 1 4 0;
+#X connect 18 0 0 0;
+#X connect 19 0 8 0;
+#X connect 20 0 15 0;
+#X connect 21 0 15 0;
+#X restore 386 99 pd playback;
+#N canvas 180 306 425 213 stored-patterns 0;
+#X msg 264 79 printraw 0;
+#X msg 142 78 listraw 0;
+#N canvas 0 22 1033 649 pat0 0;
+#X obj 92 588 s dmach-msgs;
+#X msg 210 111 store 0 4;
+#X msg 15 188 slotamps 0 0 8 1 0 0 1 1 0 0 1;
+#X msg 14 164 slotincrs 0 0 1 0.8 1 0.8;
+#X msg 268 151 slotamps 0 2 16 0 0 1 0.7 0 0 1 0.7 0 0 1 0.7 0 0.5
+1 0.7;
+#X msg 252 211 slotamps 0 3 4 0 1 0 1;
+#X obj 15 142 t b b;
+#X obj 86 54 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 339 289 t b b;
+#X msg 341 344 slotamps 0 1 16 1 0 0.7 0 1 0 0 1 0 0 1 0 1 0 0.666
+;
+#X msg 339 325 slotincrs 0 1 1 1 0.8333 1.111 1.111 1.333 1.653;
+#X msg 238 454 slotamps 0 4 8 1 0 0 1 1 0 0 1;
+#X msg 231 432 slotincrs 0 4 60 222 66.6 88.65;
+#X msg 179 491 slotamps 0 5 4 1 1 1 1;
+#X msg 155 511 slotincrs 0 5 1.05 1.05 1 0.9;
+#X msg 424 225 slotamps 0 3 16 0 0 0 0 1 1 0 1 1 0 0.5 0.7 0.9 1 1
+1;
+#X obj 162 435 t b b;
+#X obj 145 55 loadbang;
+#X obj 221 372 t b b;
+#X obj 67 84 t b b b b b b;
+#X text 444 210 snare rush;
+#X text 263 194 normal snare;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 3 0;
+#X connect 6 1 2 0;
+#X connect 7 0 19 0;
+#X connect 8 0 10 0;
+#X connect 8 1 9 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 14 0;
+#X connect 16 1 13 0;
+#X connect 17 0 7 0;
+#X connect 18 0 12 0;
+#X connect 18 1 11 0;
+#X connect 19 0 6 0;
+#X connect 19 1 5 0;
+#X connect 19 1 16 0;
+#X connect 19 2 4 0;
+#X connect 19 3 8 0;
+#X connect 19 4 18 0;
+#X connect 19 5 1 0;
+#X restore 20 30 pd pat0;
+#N canvas 551 229 733 551 pat1 0;
+#X msg 165 57 store 1 3.5;
+#X obj 178 229 s dmach-msgs;
+#X msg 373 203 slotamps 1 3 14 0 0 0 0 1 0 0 0 0 0 1 1 1 0;
+#X msg 405 290 slotamps 1 7 14 1 1 1 1 1 0 0 0 1 0 1 0 1 0;
+#X msg 450 339 slotamps 1 2 7 0 0 0 1 0 0 0;
+#X msg 341 153 slotamps 1 6 7 1 0 0 1 0 0.6 0;
+#X msg 264 73 slotincrs 1 6 1 0.9 0.6;
+#X msg 5 448 slotamps 1 4 14 1 0 0 1 1 1 1 0 1 1 1 1 1 0;
+#X msg 6 427 slotincrs 1 4 80 90 300 120 600 70 111 131 210 60;
+#X msg 398 249 slotamps 1 8 7 0 1 0.7 0 1 0.7 0;
+#X msg 272 92 slotamps 1 1 0 0 0 1 0 1 0 1;
+#X obj 148 401 t b b;
+#X obj 278 46 t b b;
+#X obj 140 22 t b b b b b b b b b;
+#X obj 93 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 53 0 loadbang;
+#X msg 424 392 slotamps 1 8 7 1 1 1 0 0 0 0;
+#X connect 0 0 1 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 11 0 8 0;
+#X connect 11 1 7 0;
+#X connect 12 0 6 0;
+#X connect 12 1 10 0;
+#X connect 13 0 11 0;
+#X connect 13 1 16 0;
+#X connect 13 2 4 0;
+#X connect 13 3 3 0;
+#X connect 13 4 9 0;
+#X connect 13 5 2 0;
+#X connect 13 6 5 0;
+#X connect 13 7 12 0;
+#X connect 13 8 0 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 1 0;
+#X restore 19 55 pd pat1;
+#N canvas 85 193 1049 665 pat2 0;
+#X obj 92 588 s dmach-msgs;
+#X obj 15 142 t b b;
+#X obj 86 54 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 339 289 t b b;
+#X obj 162 435 t b b;
+#X obj 145 55 loadbang;
+#X obj 221 372 t b b;
+#X text 444 210 snare rush;
+#X text 263 194 normal snare;
+#X msg 210 111 store 2 4;
+#X msg 268 151 slotamps 2 2 16 0 0 1 0.7 0 0 1 0.7 0 0 1 0.7 0 0.5
+1 0.7;
+#X msg 245 249 slotamps 2 3 4 0 1 0 1;
+#X msg 424 225 slotamps 2 3 16 0 0 0 0 1 1 0 1 1 0 0.5 0.7 0.9 1 1
+1;
+#X msg 339 325 slotincrs 2 1 1 1 0.8333 1.111 1.111 1.333 1.653;
+#X msg 341 345 slotamps 2 1 16 1 0 0.7 0 1 0 0 1 0 0 1 0 1 0 0.666
+;
+#X msg 15 188 slotamps 2 0 8 1 0 0 1 1 0 0 1;
+#X msg 14 164 slotincrs 2 0 1 0.8 1 0.8;
+#X obj 67 84 t b b b b b b b b;
+#X msg 142 521 slotincrs 2 6 1.05 1.05 0.9 1 0.8;
+#X msg 177 492 slotamps 2 6 16 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0;
+#X msg 532 470 slotamps 2 8 16 1 0.9 0.8 0.6 1 0.9 0.8 0.6 1 0.9 0.8
+0.6 1 0.9 0.8 0.6;
+#X msg 283 455 slotamps 2 4 2 1 1;
+#X msg 229 431 slotincrs 2 4 555 597;
+#X connect 1 0 16 0;
+#X connect 1 1 15 0;
+#X connect 2 0 17 0;
+#X connect 3 0 13 0;
+#X connect 3 1 14 0;
+#X connect 4 0 18 0;
+#X connect 4 1 19 0;
+#X connect 5 0 2 0;
+#X connect 6 0 22 0;
+#X connect 6 1 21 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 1 0;
+#X connect 17 1 4 0;
+#X connect 17 2 10 0;
+#X connect 17 3 3 0;
+#X connect 17 4 6 0;
+#X connect 17 5 11 0;
+#X connect 17 6 20 0;
+#X connect 17 7 9 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X restore 19 85 pd pat2;
+#N canvas 368 153 785 643 pat3 0;
+#X obj 154 226 s dmach-msgs;
+#X msg 177 120 store 3 3;
+#X msg 338 153 slotamps 3 0 9 1 0 0.7 1 0 0.7 1 0 0;
+#X msg 398 213 slotamps 3 8 9 0 1 0.5 0 1 0.5 0 0.5 1;
+#X msg 399 249 slotincrs 3 8 0.7 0.7 0.7 0.7 0.7 0.6;
+#X msg 347 323 slotamps 3 7 18 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 0
+;
+#X msg 414 356 slotamps 3 2 3 1 1 1;
+#X msg 264 423 slotamps 3 4 9 1 1 1 1 1 1 1 1 1;
+#X msg 272 466 slotincrs 3 4 89 111 127 76 140 222 997 560 56;
+#X obj 250 60 t b b b b b b;
+#X obj 374 189 t b b;
+#X obj 304 375 t b b;
+#X obj 221 53 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 124 63 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 11 0;
+#X connect 9 1 6 0;
+#X connect 9 2 5 0;
+#X connect 9 3 10 0;
+#X connect 9 4 2 0;
+#X connect 9 5 1 0;
+#X connect 10 0 4 0;
+#X connect 10 1 3 0;
+#X connect 11 0 8 0;
+#X connect 11 1 7 0;
+#X connect 12 0 9 0;
+#X connect 13 0 12 0;
+#X restore 17 110 pd pat3;
+#N canvas 383 180 805 663 pat4 0;
+#X obj 134 585 s dmach-msgs;
+#X msg 177 119 store 4 3.33333;
+#X msg 361 513 slotamps 4 4 10 1 1 1 1 1 1 1 1 1 1;
+#X msg 338 153 slotamps 4 0 10 1 0 0.7 1 0 0.7 1 0 1 0;
+#X msg 385 243 slotamps 4 8 10 0 1 0.5 0 1 0.5 0 0.5 1 1;
+#X msg 355 221 slotincrs 4 8 0.7 0.7 0.7 0.7 0.7 0.6 0.55;
+#X msg 347 322 slotamps 4 7 20 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 0
+1 1;
+#X msg 420 356 slotamps 4 2 10 1 0 0 1 0 0 1 0 0 1 0 1 0;
+#X msg 337 490 slotincrs 4 4 89 111 127 76 140 222 997 560 333 1444
+;
+#X obj 359 189 t b b;
+#X obj 349 459 t b b;
+#X obj 184 43 t b b b b b b;
+#X text 314 111 A bar with 10 triplets (hard to notate!);
+#X obj 135 56 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 110 25 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 5 0;
+#X connect 9 1 4 0;
+#X connect 10 0 8 0;
+#X connect 10 1 2 0;
+#X connect 11 0 10 0;
+#X connect 11 1 7 0;
+#X connect 11 2 6 0;
+#X connect 11 3 9 0;
+#X connect 11 4 3 0;
+#X connect 11 5 1 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X restore 18 137 pd pat4;
+#X text 271 63 print ptn 0;
+#X text 85 60 send ptn 0 to list outlet;
+#X text 11 12 pattern assembly;
+#X obj 265 106 s dmach-msgs;
+#N canvas 328 128 821 601 pat6 0;
+#X obj -9 526 s dmach-msgs;
+#X msg 571 34 store 6 3.25;
+#X msg 37 76 slotamps 6 0 13 1 0 0 0 1 0 0 1 0 0 1 0 0;
+#X msg 31 221 slotamps 6 2 13 1 0 0 0 1 0 0 1 0 0 1 0 0;
+#X msg 108 30 slotamps 6 6 13 1 0 0 0 0 0 0 0 0 1 0 1 0;
+#X msg 35 366 slotamps 6 1 13 1 0 1 0 0 0 1 0 0 0 1 0 0;
+#X msg 30 337 slotincrs 6 1 0.5 1.5 2 1;
+#X msg 118 493 slotamps 6 4 13 1 0.7 0.7 0.7 1 0.5 0.5 1 0.5 0.5 1
+0.5 0.5;
+#X msg 143 457 slotincrs 6 4 80 160 320 640 160 320 640 80 160 320
+160 320 640;
+#X msg 156 140 slotamps 6 3 13 0 0 1 1 0 0 0 1 0 1 0 0 1.5;
+#X msg 67 259 slotamps 6 7 13 0 0 1 1 0 1 1 0 1 1 0 1 1.3;
+#X msg 149 191 slotamps 6 5 13 0 0 0 0 1 0 0 0 0 0 0 0 1.2;
+#X msg 424 264 slotamps 6 8 13 0 0 0 0 1 0 0 0 0 0 0 0 1.2;
+#X msg 405 242 slotincrs 6 8 1 1.06;
+#X obj 22 -51 loadbang;
+#X obj 246 424 t b b;
+#X obj 138 304 t b b;
+#X obj 414 219 t b b;
+#X text 573 9 13/16 bar;
+#X obj 24 -12 t b b b b b b b b b b;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 19 0;
+#X connect 15 0 8 0;
+#X connect 15 1 7 0;
+#X connect 16 0 6 0;
+#X connect 16 1 5 0;
+#X connect 17 0 13 0;
+#X connect 17 1 12 0;
+#X connect 19 0 15 0;
+#X connect 19 1 16 0;
+#X connect 19 2 10 0;
+#X connect 19 3 3 0;
+#X connect 19 4 17 0;
+#X connect 19 5 11 0;
+#X connect 19 6 9 0;
+#X connect 19 7 4 0;
+#X connect 19 8 2 0;
+#X connect 19 9 1 0;
+#X restore 141 163 pd pat6;
+#X connect 0 0 10 0;
+#X connect 1 0 10 0;
+#X restore 386 126 pd stored-patterns;
+#N canvas 252 329 755 357 playback-adjustments 0;
+#X obj 606 67 s dmach-msgs;
+#X obj 77 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 101 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 125 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 149 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 172 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 220 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 251 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 282 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 315 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 345 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X msg 55 140 1;
+#X obj 376 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 194 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 408 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 441 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#X obj 470 35 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -215152
+-1 -1 0 1;
+#N canvas 19 93 1162 506 adjust-gains__________________________ 0;
+#X obj 81 215 outlet;
+#X obj 83 71 inlet;
+#X floatatom 82 128 5 0 0 0 - - -, f 5;
+#X msg 82 156 gain 0 \$1;
+#X obj 169 67 inlet;
+#X floatatom 168 124 5 0 0 0 - - -, f 5;
+#X obj 258 67 inlet;
+#X floatatom 257 124 5 0 0 0 - - -, f 5;
+#X obj 352 68 inlet;
+#X floatatom 351 125 5 0 0 0 - - -, f 5;
+#X obj 447 71 inlet;
+#X floatatom 446 128 5 0 0 0 - - -, f 5;
+#X msg 168 152 gain 1 \$1;
+#X msg 257 152 gain 2 \$1;
+#X msg 351 153 gain 3 \$1;
+#X msg 446 156 gain 4 \$1;
+#X obj 532 72 inlet;
+#X floatatom 531 129 5 0 0 0 - - -, f 5;
+#X msg 532 157 gain 5 \$1;
+#X obj 531 103 smap 0 4;
+#X obj 626 74 inlet;
+#X floatatom 625 131 5 0 0 0 - - -, f 5;
+#X obj 625 105 smap 0 4;
+#X msg 626 159 gain 6 \$1;
+#X obj 704 75 inlet;
+#X floatatom 703 132 5 0 0 0 - - -, f 5;
+#X obj 703 106 smap 0 4;
+#X msg 704 159 gain 7 \$1;
+#X obj 788 77 inlet;
+#X floatatom 787 134 5 0 0 0 - - -, f 5;
+#X obj 787 108 smap 0 4;
+#X msg 788 161 gain 8 \$1;
+#X obj 888 78 inlet;
+#X obj 447 102 smap 0 4;
+#X obj 352 99 smap 0 4;
+#X obj 258 98 smap 0 4;
+#X obj 169 98 smap 0 4;
+#X obj 83 102 smap 0 4;
+#X connect 1 0 37 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 36 0;
+#X connect 5 0 12 0;
+#X connect 6 0 35 0;
+#X connect 7 0 13 0;
+#X connect 8 0 34 0;
+#X connect 9 0 14 0;
+#X connect 10 0 33 0;
+#X connect 11 0 15 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 19 0;
+#X connect 17 0 18 0;
+#X connect 18 0 0 0;
+#X connect 19 0 17 0;
+#X connect 20 0 22 0;
+#X connect 21 0 23 0;
+#X connect 22 0 21 0;
+#X connect 23 0 0 0;
+#X connect 24 0 26 0;
+#X connect 25 0 27 0;
+#X connect 26 0 25 0;
+#X connect 27 0 0 0;
+#X connect 28 0 30 0;
+#X connect 29 0 31 0;
+#X connect 30 0 29 0;
+#X connect 31 0 0 0;
+#X connect 32 0 29 0;
+#X connect 32 0 25 0;
+#X connect 32 0 21 0;
+#X connect 32 0 17 0;
+#X connect 32 0 11 0;
+#X connect 32 0 9 0;
+#X connect 32 0 7 0;
+#X connect 32 0 5 0;
+#X connect 32 0 2 0;
+#X connect 33 0 11 0;
+#X connect 34 0 9 0;
+#X connect 35 0 7 0;
+#X connect 36 0 5 0;
+#X connect 37 0 2 0;
+#X restore 221 101 pd adjust-gains__________________________;
+#X msg 503 49 1;
+#X obj 220 128 s dmach-msgs;
+#X obj 53 267 s dmach-msgs;
+#N canvas 241 125 1002 464 gates 0;
+#X obj 96 342 outlet;
+#X obj 136 58 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 134 99 muteslot 1 \$1;
+#X obj 238 65 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 237 99 muteslot 2 \$1;
+#X obj 34 56 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 33 97 muteslot 0 \$1;
+#X obj 343 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 447 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 547 63 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 342 98 muteslot 3 \$1;
+#X msg 445 98 muteslot 4 \$1;
+#X msg 546 97 muteslot 5 \$1;
+#X obj 561 176 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 665 176 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 765 175 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 560 209 muteslot 6 \$1;
+#X msg 663 210 muteslot 7 \$1;
+#X msg 764 209 muteslot 8 \$1;
+#X text 247 363 turn slots on or off;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 10 0;
+#X connect 8 0 11 0;
+#X connect 9 0 12 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 18 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X restore 606 37 pd gates;
+#X obj 218 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 243 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#X obj 265 168 vsl 10 55 0 127 0 0 empty empty empty 0 -9 0 10 -93493
+-1 -1 0 1;
+#N canvas 0 156 1248 402 transposers_________________ 0;
+#X obj 49 49 inlet;
+#N canvas 1157 45 458 308 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 49 80 pd zmap;
+#X floatatom 48 106 5 0 0 0 - - -, f 5;
+#X msg 48 134 transpose 0 \$1;
+#X obj 47 180 outlet;
+#X obj 168 48 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 168 79 pd zmap;
+#X floatatom 167 105 5 0 0 0 - - -, f 5;
+#X obj 284 46 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 284 77 pd zmap;
+#X floatatom 283 103 5 0 0 0 - - -, f 5;
+#X obj 394 48 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 394 79 pd zmap;
+#X floatatom 393 105 5 0 0 0 - - -, f 5;
+#X obj 509 49 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 509 80 pd zmap;
+#X floatatom 509 106 5 0 0 0 - - -, f 5;
+#X msg 167 133 transpose 1 \$1;
+#X msg 283 131 transpose 2 \$1;
+#X msg 393 133 transpose 3 \$1;
+#X msg 509 134 transpose 4 \$1;
+#X obj 3 47 inlet;
+#X obj 622 48 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 622 79 pd zmap;
+#X floatatom 622 105 5 0 0 0 - - -, f 5;
+#X msg 622 134 transpose 5 \$1;
+#X obj 732 48 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 732 79 pd zmap;
+#X floatatom 732 105 5 0 0 0 - - -, f 5;
+#X obj 846 54 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 846 85 pd zmap;
+#X floatatom 846 111 5 0 0 0 - - -, f 5;
+#X obj 967 52 inlet;
+#N canvas 1157 45 454 304 zmap 0;
+#X obj 56 34 inlet;
+#X obj 56 60 / 127;
+#X msg 139 43 0.5;
+#X msg 181 43 1.5;
+#X obj 138 78 - 0;
+#X obj 140 20 t b b;
+#X floatatom 96 111 5 0 0 0 - - -, f 5;
+#X obj 56 131 *;
+#X obj 56 160 +;
+#X floatatom 103 142 5 0 0 0 - - -, f 5;
+#X obj 56 187 outlet;
+#X obj 140 -1 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 1;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 5 0;
+#X restore 967 83 pd zmap;
+#X floatatom 967 109 5 0 0 0 - - -, f 5;
+#X msg 732 134 transpose 6 \$1;
+#X msg 846 140 transpose 7 \$1;
+#X msg 967 138 transpose 8 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 17 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 18 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 19 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 20 0;
+#X connect 17 0 4 0;
+#X connect 18 0 4 0;
+#X connect 19 0 4 0;
+#X connect 20 0 4 0;
+#X connect 21 0 2 0;
+#X connect 21 0 7 0;
+#X connect 21 0 10 0;
+#X connect 21 0 13 0;
+#X connect 21 0 16 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 25 0 4 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 35 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 31 0 36 0;
+#X connect 32 0 33 0;
+#X connect 33 0 34 0;
+#X connect 34 0 37 0;
+#X connect 35 0 4 0;
+#X connect 36 0 4 0;
+#X connect 37 0 4 0;
+#X restore 54 239 pd transposers_________________;
+#X connect 1 0 25 1;
+#X connect 2 0 25 2;
+#X connect 3 0 25 3;
+#X connect 4 0 25 4;
+#X connect 5 0 25 5;
+#X connect 6 0 17 0;
+#X connect 7 0 17 1;
+#X connect 8 0 17 2;
+#X connect 9 0 17 3;
+#X connect 10 0 17 4;
+#X connect 11 0 25 0;
+#X connect 12 0 17 5;
+#X connect 13 0 25 6;
+#X connect 14 0 17 6;
+#X connect 15 0 17 7;
+#X connect 16 0 17 8;
+#X connect 17 0 19 0;
+#X connect 18 0 17 9;
+#X connect 21 0 0 0;
+#X connect 22 0 25 7;
+#X connect 23 0 25 8;
+#X connect 24 0 25 9;
+#X connect 25 0 20 0;
+#X restore 386 180 pd playback-adjustments;
+#X text 20 48 dmach~ coordinates click triggers and increment signals
+for pattern-based sequencing., f 91;
+#X text 243 110 args: tempo \, voices;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 24 336 http://disis.music.vt.edu/eric/LyonPapers/SampleAccurate-Lyon-ICMC2006.pdf
+, f 75;
+#X text 23 319 See this paper for more information:;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
+#X connect 2 0 3 1;
+#X connect 4 0 11 0;
+#X connect 6 0 2 1;
+#X connect 10 0 7 0;
+#X connect 11 0 12 0;
+#X connect 11 1 12 1;
+#X connect 11 2 12 2;
+#X connect 11 3 12 3;
+#X connect 11 4 12 4;
+#X connect 11 5 12 5;
+#X connect 11 6 12 6;
+#X connect 11 7 12 7;
+#X connect 11 8 12 8;
+#X connect 11 9 12 9;
+#X connect 11 10 12 10;
+#X connect 11 11 12 11;
+#X connect 11 12 12 12;
+#X connect 11 13 12 13;
+#X connect 11 14 12 14;
+#X connect 11 15 12 15;
+#X connect 11 16 12 16;
+#X connect 11 17 12 17;
+#X connect 11 18 0 0;
+#X connect 11 19 8 0;
+#X connect 12 0 2 0;
diff --git a/externals/lyonpotpourri/dmach~.c b/externals/lyonpotpourri/dmach~.c
new file mode 100755
index 000000000..1bf1422ac
--- /dev/null
+++ b/externals/lyonpotpourri/dmach~.c
@@ -0,0 +1,1225 @@
+#include "MSPd.h"
+
+#define MAX_ATTACKS (512)
+#define MAX_PATTERNS (1024)
+
+
+#define OBJECT_NAME "dmach~"
+
+
+static t_class *dmach_class;
+
+
+typedef struct
+{
+    float trigger_point;
+    float increment;
+    float amplitude;
+} t_attack;
+
+typedef struct
+{
+    short active; // flag for if this drum slot is used in current pattern
+    int attack_count; // number of attacks in this pattern
+    int adex; // index to current attack
+    t_attack *attacks; // array containing attack data
+} t_drumline;
+
+typedef struct
+{
+    float beats; // how many beats in this pattern
+    float dsamps; //duration of pattern in samples
+    t_drumline *drumlines;
+} t_pattern;
+
+typedef struct _dmach
+{
+    
+    t_object x_obj;
+    float x_f;
+    
+	short mute; // global mute
+	float clocker; // global sample counter clock
+	float tempo;
+	float tempo_factor; // multiplier to get actual beat duration
+	t_pattern *patterns; // contains all drum patterns
+	short *stored_patterns;// which locations contain a pattern
+	float *gtranspose;// transpose factor for each individual drum slot
+	float *gains; // gain factor for each individual drum slot
+	float *current_increment;// maintains increment for sustained output
+	int this_pattern; // number of current pattern
+	int next_pattern; // number of pattern to call at end of current pattern
+	float global_gain;
+	float global_transpose;
+	float sr;
+	int drum_count; // number of drum slots to instantiate
+	int outlet_count; // number of outlets on object
+	short virgin; // no patterns stored - turn off performance
+	/* sequencer */
+	short playsequence; // flag to play through a stored sequence once
+	short loopsequence; // flag to loop repeatedly through sequence
+	int *sequence; // contains the sequence of bars to play
+	int sequence_length; // how many bars are stored in sequence
+	int seqptr; // keep track of current sequencer position
+	float zeroalias; // use this to send a coded "zero" message (i.e. bar number is zero)
+	t_atom *listdata; // for list output
+	void *listraw_outlet;// send a list
+	short clickincr; //flag that click increment is on (i.e. no sample and hold)
+	short *attackpattern; // holds full attack sequence including zeros (for list output)
+	int attackpattern_count;// how many ticks in attack pattern
+	t_attack *tmpatks; // hold local copy of new slot pattern
+	short *connected; // list of vector connections
+	short *muted; // state of each slot
+	short instant_recall; // flag that pattern gets loaded immediately (loops only)
+} t_dmach;
+
+void dmach_store(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void *dmach_new(t_symbol *s, int argc, t_atom *argv);
+t_int *dmach_perform(t_int *w);
+void dmach_mute(t_dmach *x, t_floatarg toggle);
+void dmach_dsp(t_dmach *x, t_signal **sp);
+void dmach_dsp_free(t_dmach *x);
+void dmach_init_pattern(t_dmach *x, int pnum);
+void dmach_show(t_dmach *x, t_floatarg fn);
+void dmach_tempo(t_dmach *x, t_floatarg new_tempo);
+void dmach_recall(t_dmach *x, t_floatarg pnf);
+void dmach_transpose(t_dmach *x, t_floatarg slotf, t_floatarg new_transpose_factor);
+void dmach_gain(t_dmach *x, t_floatarg slotf, t_floatarg new_gain_factor);
+void dmach_arm(t_dmach *x, t_floatarg pnf);
+void dmach_playsequence(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_slotamps(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_printraw(t_dmach *x, t_floatarg fn);
+void dmach_readraw(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_slotincrs(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_loopsequence(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_muteslot(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_slotampsfull(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_nosequence(t_dmach *x);
+void dmach_copypattern(t_dmach *x, t_floatarg pn1, t_floatarg pn2);
+void dmach_listraw(t_dmach *x, t_symbol *s, int argc, t_atom *argv);
+void dmach_clickincr(t_dmach *x, t_floatarg toggle);
+void dmach_instant_recall(t_dmach *x, t_floatarg toggle);
+
+
+
+
+void dmach_tilde_setup(void){
+	dmach_class = class_new(gensym("dmach~"), (t_newmethod)dmach_new,
+							(t_method)dmach_dsp_free,sizeof(t_dmach), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(dmach_class, t_dmach, x_f);
+	class_addmethod(dmach_class,(t_method)dmach_dsp,gensym("dsp"),0);
+	class_addmethod(dmach_class,(t_method)dmach_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_show,gensym("show"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_tempo,gensym("tempo"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_store,gensym("store"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_recall,gensym("recall"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_transpose,gensym("transpose"),A_FLOAT,A_FLOAT, 0);
+	class_addmethod(dmach_class,(t_method)dmach_gain,gensym("gain"),A_FLOAT,A_FLOAT, 0);
+	class_addmethod(dmach_class,(t_method)dmach_printraw,gensym("printraw"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_arm,gensym("arm"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_readraw,gensym("readraw"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_listraw,gensym("listraw"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_playsequence,gensym("playsequence"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_slotamps,gensym("slotamps"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_slotampsfull,gensym("slotampsfull"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_slotincrs,gensym("slotincrs"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_loopsequence,gensym("loopsequence"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_muteslot,gensym("muteslot"),A_GIMME,0);
+	class_addmethod(dmach_class,(t_method)dmach_nosequence,gensym("nosequence"),0);
+	class_addmethod(dmach_class,(t_method)dmach_copypattern,gensym("copypattern"),A_FLOAT,A_FLOAT, 0);
+	class_addmethod(dmach_class,(t_method)dmach_clickincr,gensym("clickincr"),A_FLOAT,0);
+	class_addmethod(dmach_class,(t_method)dmach_instant_recall,gensym("instant_recall"),A_FLOAT,0);
+	
+ 	potpourri_announce(OBJECT_NAME);
+}
+
+
+void dmach_muteslot(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int slot;
+	int drum_count = x->drum_count;
+	short mutestate;
+	
+	if(argc < 2){
+		post("muteslot: pattern number, slot number");
+		return;
+	}
+	
+	slot = (int)atom_getfloatarg(0,argc,argv);
+	mutestate = (short)atom_getfloatarg(1,argc,argv);
+	
+	
+	if(slot < 0 || slot > drum_count - 1){
+		error("muteslot: illegal slot index: %d",slot);
+		return;
+	}
+	x->muted[slot] = mutestate;
+}
+
+void dmach_nosequence(t_dmach *x)
+{
+	x->playsequence = 0;
+	x->loopsequence = 0;
+}
+
+void dmach_playsequence(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+	int pnum;
+	
+	if(argc < 1){
+		error("%s: zero length sequence",OBJECT_NAME);
+		return;
+	}
+	/* need safety check here */
+	for(i = 0; i < argc; i++){
+		pnum = (int) atom_getfloatarg(i,argc,argv);
+		if(! x->stored_patterns[pnum]){
+			error("%d is not currently stored",pnum);
+			return;
+		}
+	}
+    
+	for(i = 0; i < argc; i++){
+		x->sequence[i] = (int) atom_getfloatarg(i,argc,argv);
+	}
+    
+	//
+	
+	
+	if(x->instant_recall){
+		x->this_pattern = x->sequence[0];
+		x->clocker = x->patterns[x->this_pattern].dsamps;
+	} else {
+		x->next_pattern = x->sequence[0];
+	}
+	
+	x->mute = 0;
+	x->playsequence = 1;
+	x->loopsequence = 0;
+	x->sequence_length = argc;
+	x->seqptr = 0;
+}
+void dmach_loopsequence(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+	int pnum;
+	
+	if(argc < 1){
+		error("%s: zero length sequence",OBJECT_NAME);
+		return;
+	}
+	
+	for(i = 0; i < argc; i++){
+		pnum = (int) atom_getfloatarg(i,argc,argv);
+		if(! x->stored_patterns[pnum]){
+			error("%d is not currently stored",pnum);
+			return;
+		}
+	}
+	
+	for(i = 0; i < argc; i++){
+		x->sequence[i] = (int) atom_getfloatarg(i,argc,argv);
+	}
+    
+	if(x->instant_recall){
+		x->this_pattern = x->sequence[0];
+		x->clocker = x->patterns[x->this_pattern].dsamps;
+	} else {
+		x->next_pattern = x->sequence[0];
+	}
+	
+	x->mute = 0;
+	x->playsequence = 1;
+	x->loopsequence = 1;
+	x->sequence_length = argc;
+	x->seqptr = 0;
+}
+
+void dmach_gain(t_dmach *x, t_floatarg slotf, t_floatarg new_gain_factor)
+{
+	int slot = slotf;
+    //	float ratio;
+    //	float gain_factor;
+    //	short *stored_patterns = x->stored_patterns;
+	float *gains = x->gains;
+    //	t_pattern *p = x->patterns;
+	int drum_count = x->drum_count;
+    //	int i,j,k;
+	
+	if(slot < 0 || slot > drum_count - 1){
+		error("illegal slot index: %d",slot);
+		return;
+	}
+	/* if(new_gain_factor <= 0){
+     error("illegal gain factor %f", new_gain_factor);
+     return;
+     } */
+    //	gain_factor = gains[slot];
+    //	ratio = new_gain_factor / gain_factor;
+	gains[slot] = new_gain_factor;
+}
+
+void dmach_transpose(t_dmach *x, t_floatarg slotf, t_floatarg new_transpose_factor)
+{
+	int slot = slotf;
+	float *gtranspose = x->gtranspose;
+	int drum_count = x->drum_count;
+	
+	if(slot < 0 || slot > drum_count - 1){
+		error("%s: transpose given illegal slot index: %d",OBJECT_NAME, slot);
+		return;
+	}
+	if(new_transpose_factor == 0){
+		error("illegal transpose factor %f", new_transpose_factor);
+		return;
+	}
+	gtranspose[slot] = new_transpose_factor;
+	
+}
+
+
+void dmach_recall(t_dmach *x, t_floatarg pnf)
+{
+	int pnum = pnf;
+	
+	/* post("requested recall of %d, ignored",pnum);
+     return;*/
+	if(pnum < 0){
+		error("requested index is less than zero");
+		return;
+	}
+	if(pnum >= MAX_PATTERNS){
+		error("requested index is greater than the maximum of %d",MAX_PATTERNS-1);
+		return;
+	}
+	if(! x->stored_patterns[pnum]){
+		error("%d is not currently stored",pnum);
+		return;
+	}
+    //	x->this_pattern = x->next_pattern = pnum;
+	x->mute = 0;
+	x->next_pattern = pnum;
+}
+
+void dmach_arm(t_dmach *x, t_floatarg pnf)
+{
+	int pnum = pnf;
+	int i;
+	t_pattern *p = x->patterns;
+    
+	if(pnum < 0){
+		error("requested index is less than zero");
+		return;
+	}
+	if(pnum > MAX_PATTERNS){
+		error("%s: requested index is greater than the maximum of %d",OBJECT_NAME,MAX_PATTERNS-1);
+		return;
+	}
+	if(! x->stored_patterns[pnum]){
+		error("%s: %d is not currently stored",OBJECT_NAME,pnum);
+		return;
+	}
+	x->mute = 1;
+	x->clocker = 0;
+	x->next_pattern = x->this_pattern = pnum;
+	for(i = 0; i < x->drum_count; i++){ /* reset pointers */
+		p[x->this_pattern].drumlines[i].adex = 0;
+	}
+}
+
+
+void dmach_tempo(t_dmach *x, t_floatarg new_tempo)
+{
+	float ratio;
+	int i, j, k;
+	short *stored_patterns = x->stored_patterns;
+	t_pattern *p = x->patterns;
+	int drum_count = x->drum_count;
+	float sr = x->sr;
+	float tempo_factor = x->tempo_factor;
+	if(new_tempo <= 0.0){
+		error("tempo must be greater than zero, but was %f",new_tempo);
+		return;
+	}
+	ratio = x->tempo / new_tempo;
+	x->clocker *= ratio;
+	x->tempo = new_tempo;
+    tempo_factor = (60.0/new_tempo);
+    
+	for(i = 0; i < MAX_PATTERNS; i++){
+		if(stored_patterns[i]){
+            p[i].dsamps = p[i].beats * tempo_factor * sr;
+			for(j = 0; j < drum_count; j++){
+			    if(p[i].drumlines[j].active){
+                    for(k = 0; k < p[i].drumlines[j].attack_count; k++){
+                        p[i].drumlines[j].attacks[k].trigger_point *= ratio;
+                    }
+			    }
+			}
+		}
+	}
+	x->tempo_factor = tempo_factor;
+}
+void dmach_show(t_dmach *x, t_floatarg fn)
+{
+	int i,j;
+	int pnum = (int) fn;
+    t_pattern *p = x->patterns;
+    t_attack *ptr;
+    int drum_count = x->drum_count;
+    
+    if(pnum < 0 || pnum > MAX_PATTERNS-1){
+    	error("illegal pattern number: %d",pnum);
+    	return;
+    }
+    
+	if(! x->stored_patterns[pnum]){
+		error("%d is not currently stored",pnum);
+		return;
+	}
+	post("showing pattern %d",pnum);
+    /* need to check if pattern is valid */
+    
+    for(j = 0; j < drum_count; j++){
+        if(p[pnum].drumlines[j].active){
+            post("*** drum line for slot %d ***",j);
+            ptr = p[pnum].drumlines[j].attacks;
+            post("there are %d attacks",p[pnum].drumlines[j].attack_count);
+            for(i = 0; i < p[pnum].drumlines[j].attack_count; i++){
+                post("amp: %f, transp: %f, trigger: %f",
+                     ptr->amplitude, ptr->increment, ptr->trigger_point);
+                ptr++;
+            }
+        }
+    }
+}
+
+void dmach_printraw(t_dmach *x, t_floatarg fn)
+{
+	int i,j;
+	int pnum = (int) fn;
+    t_pattern *p = x->patterns;
+    t_attack *ptr;
+    int drum_count = x->drum_count;
+    float normalized_trigger;
+    float tempo_factor = x->tempo_factor;
+    float sr = x->sr;
+    
+    if(pnum < 0 || pnum > MAX_PATTERNS-1){
+    	error("illegal pattern number: %d",pnum);
+    	return;
+    }
+    
+	if(! x->stored_patterns[pnum]){
+		error("%d is not currently stored",pnum);
+		return;
+	}
+    if(!tempo_factor){
+        error("tempo factor is zero!");
+        return;
+    }
+    
+	post("readraw %d %f",pnum, p[pnum].beats);
+    for(j = 0; j < drum_count; j++){
+        if(p[pnum].drumlines[j].active){
+            ptr = p[pnum].drumlines[j].attacks;
+            post("%d %d",j, p[pnum].drumlines[j].attack_count);
+            
+            for(i = 0; i < p[pnum].drumlines[j].attack_count; i++){
+                /* scale attack times to factor out sample rate and tempo */
+                normalized_trigger = ptr->trigger_point / (tempo_factor * sr);
+                post("%f %f %f",
+                     ptr->amplitude, ptr->increment, normalized_trigger);
+                ptr++;
+            }
+        }
+    }
+}
+
+void dmach_listraw(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int i,j;
+	int pnum;
+    t_pattern *p = x->patterns;
+    t_attack *ptr;
+    int drum_count = x->drum_count;
+    float normalized_trigger;
+    float tempo_factor = x->tempo_factor;
+    float sr = x->sr;
+    int ldex = 0;
+    t_atom *listdata = x->listdata;
+    
+    if(argc < 1){
+        pnum = x->this_pattern;
+    } else {
+  		pnum = (int) atom_getfloatarg(0,argc,argv);
+    }
+    if(pnum < 0 || pnum > MAX_PATTERNS-1){
+        error("illegal pattern number: %d",pnum);
+        return;
+    }
+    
+	if(! x->stored_patterns[pnum]){
+		error("%d is not currently stored",pnum);
+		return;
+	}
+    if(!tempo_factor){
+        error("tempo factor is zero!");
+        return;
+    }
+    
+    /* note: format of MACROS requires that ldex be incremented outside of
+     call. Also note that traditional indexing A[x] cannot be used; instead must
+     use A+x format. */
+
+    SETSYMBOL(listdata + ldex, gensym("readraw")); ++ldex;
+    
+    SETFLOAT(listdata + ldex, (float)pnum);  ++ldex;
+	SETFLOAT(listdata + ldex, p[pnum].beats);  ++ldex;
+    
+    for(j = 0; j < drum_count; j++){
+        if(p[pnum].drumlines[j].active){
+            ptr = p[pnum].drumlines[j].attacks;
+            SETFLOAT(listdata + ldex, (float)j); ++ldex;
+            SETFLOAT(listdata + ldex, (float)(p[pnum].drumlines[j].attack_count)); ++ldex;
+            
+            for(i = 0; i < p[pnum].drumlines[j].attack_count; i++){
+                normalized_trigger = ptr->trigger_point / (tempo_factor * sr);
+                SETFLOAT(listdata + ldex, ptr->amplitude); ++ldex;
+                SETFLOAT(listdata + ldex, ptr->increment); ++ldex;
+                SETFLOAT(listdata + ldex, normalized_trigger); ++ldex;
+                ptr++;
+            }
+        }
+    }
+    outlet_list(x->listraw_outlet,0,ldex,listdata);
+}
+
+void dmach_copypattern(t_dmach *x, t_floatarg pn1, t_floatarg pn2)
+{
+	int i,j;
+	int pnum_from = (int) pn1;
+	int pnum_to = (int) pn2;
+    t_pattern *p = x->patterns;
+    t_attack *ptr_from, *ptr_to;
+    int drum_count = x->drum_count;
+    
+    if(pnum_from < 0 || pnum_from > MAX_PATTERNS-1){
+    	error("illegal source pattern number: %d",pnum_from);
+    	return;
+    }
+    if(pnum_to < 0 || pnum_to > MAX_PATTERNS-1){
+    	error("illegal dest pattern number: %d",pnum_to);
+    	return;
+    }
+    if(pnum_from == pnum_to){
+        error("source and dest patterns are the same");
+        return;
+    }
+	if(! x->stored_patterns[pnum_from]){
+		error("%d is not currently stored",pnum_from);
+		return;
+	}
+	dmach_init_pattern(x,pnum_to);
+    //	post("readraw %d %f %f",pnum, p[pnum].beats, p[pnum].dsamps);
+    
+	p[pnum_to].beats = p[pnum_from].beats;
+	p[pnum_to].dsamps = p[pnum_from].dsamps;
+	
+    for(j = 0; j < drum_count; j++){
+        p[pnum_to].drumlines[j].active = p[pnum_from].drumlines[j].active;
+        if(p[pnum_from].drumlines[j].active){
+            ptr_from = p[pnum_from].drumlines[j].attacks;
+            ptr_to = p[pnum_to].drumlines[j].attacks;
+            p[pnum_to].drumlines[j].attack_count = p[pnum_from].drumlines[j].attack_count;
+            for(i = 0; i < p[pnum_from].drumlines[j].attack_count; i++){
+                ptr_to->amplitude = ptr_from->amplitude;
+                ptr_to->increment = ptr_from->increment;
+                ptr_to->trigger_point = ptr_from->trigger_point;
+                ptr_from++;
+                ptr_to++;
+            }
+        }
+    }
+    x->stored_patterns[pnum_to] = 1;// assert that a legal pattern is now stored there
+}
+
+void dmach_readraw(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+	int pnum;
+	int pdex = 0;
+	int slot;
+    t_pattern *p = x->patterns;
+    t_attack *ptr;
+    //  int drum_count = x->drum_count;
+	float tempo_factor = x->tempo_factor;
+	float sr = x->sr;
+	short mutein;
+	
+	mutein = x->mute;
+	x->mute = 1;
+	pnum = (int) atom_getfloatarg(pdex++,argc,argv);
+    
+    
+    if(pnum < 0 || pnum > MAX_PATTERNS-1){
+    	error("%s: illegal pattern number: %d",OBJECT_NAME,pnum);
+    	return;
+    }
+    
+	if(! x->stored_patterns[pnum]){
+        x->stored_patterns[pnum] = 1; // means there's something there now
+        dmach_init_pattern(x,pnum);
+        post("readraw: loading pattern %d",pnum);
+        
+	} else {
+		post("readraw: reloading pattern %d",pnum);
+	}
+	p[pnum].beats = atom_getfloatarg(pdex++,argc,argv);
+    //	p[pnum].dsamps = atom_getfloatarg(pdex++,argc,argv);
+	p[pnum].dsamps = p[pnum].beats * tempo_factor * sr;
+    //	post("dsamps calculated to be %f", p[pnum].dsamps);
+	while(pdex < argc){
+		slot = (int) atom_getfloatarg(pdex++,argc,argv);
+		p[pnum].drumlines[slot].active = 1;
+		p[pnum].drumlines[slot].attack_count = (int) atom_getfloatarg(pdex++,argc,argv);
+		p[pnum].drumlines[slot].adex = 0;
+		ptr = p[pnum].drumlines[slot].attacks;
+		for(i = 0; i < p[pnum].drumlines[slot].attack_count; i++){
+            ptr->amplitude = atom_getfloatarg(pdex++,argc,argv);
+            ptr->increment = atom_getfloatarg(pdex++,argc,argv);
+            ptr->trigger_point = (sr * tempo_factor) * atom_getfloatarg(pdex++,argc,argv);
+			ptr++;
+		}
+		
+	}
+	x->this_pattern = x->next_pattern = pnum;
+	x->virgin = 0;
+	x->mute = mutein;
+}
+
+void dmach_slotamps(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int pdex,i;
+	int slot = 0;
+	float beatseg;
+    //	float tmpbeats;
+	float subdiv;
+	float beat_samps;
+	float tempo_factor;
+	int attack_count;
+	int local_attacks;
+	float trigger_point;
+	float val;
+	int pnum;
+	t_pattern *p = x->patterns;
+	float tempo = x->tempo;
+	float sr = x->sr;
+	t_attack *tmpatks = x->tmpatks;
+	
+    
+	
+	pdex = 0;
+	pnum = atom_getfloatarg(pdex++,argc,argv);
+    /*
+     post("skipping slotamps for %d",pnum);
+     return;*/
+    
+	if(pnum < 0 || pnum > MAX_PATTERNS - 1){
+		error("%s: invalid pattern number: %d",OBJECT_NAME,pnum);
+		return;
+	}
+	
+	if(!x->stored_patterns[pnum]){
+		error("%s: no pattern found at location : %d",OBJECT_NAME,pnum);
+		return;
+	}
+    
+	slot = (int) atom_getfloatarg(pdex++,argc,argv);
+	if(slot < 0 || slot >= x->drum_count){
+		post("%s: %d is an illegal slot",OBJECT_NAME,slot);
+		return;
+	}
+    //	post("filling slotamps %d for %d",slot, pnum);
+	if(tempo <= 0){
+		tempo = 60;
+		error("zero tempo found");
+	}
+	tempo_factor = (60.0/tempo);
+	
+	beatseg = p[pnum].beats; // less general but we're going for ease here
+	subdiv = atom_getfloatarg(pdex++,argc,argv);
+	beat_samps = (beatseg/subdiv) * tempo_factor * sr;
+    trigger_point = 0;
+    attack_count = 0;
+	/* read attack cycle and store any non-zero attacks */
+	local_attacks = 0;
+	// clean me
+	memset((void *)tmpatks, 0, MAX_ATTACKS * sizeof(t_attack) );
+	
+	for(i = 0; i < subdiv; i++){
+		val = atom_getfloatarg(pdex++,argc,argv);
+		if(val){
+			tmpatks[local_attacks].amplitude = val;
+			// force to integer sample point
+			tmpatks[local_attacks].trigger_point = (int)trigger_point;
+			++local_attacks;
+		}
+		trigger_point += beat_samps;
+	}
+    
+	/* initialize with increment of 1.0 for each non-zero amplitude attack. */
+	for(i = 0; i < local_attacks; i++){
+		if(tmpatks[i].amplitude) {
+			tmpatks[i].increment = 1.0;
+		} else {
+			tmpatks[i].increment = 0.0;
+		}
+	}
+	p[pnum].drumlines[slot].active = 0;
+	memcpy((void *)p[pnum].drumlines[slot].attacks,(void *)tmpatks,
+           MAX_ATTACKS * sizeof(t_attack));
+	p[pnum].drumlines[slot].attack_count = local_attacks;
+	p[pnum].drumlines[slot].adex = 0;
+	p[pnum].drumlines[slot].active = 1;
+	x->this_pattern = x->next_pattern = pnum; // set pattern to what we're working on
+    
+    
+}
+
+
+
+/* more general version */
+void dmach_slotampsfull(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+	int pdex,i;
+	int slot = 0;
+	float beatseg;
+	float tmpbeats;
+	float subdiv;
+	float beat_samps;
+	float tempo_factor;
+	int attack_count;
+	int local_attacks;
+	float trigger_point;
+	float val;
+	int pnum;
+	t_pattern *p = x->patterns;
+	float tempo = x->tempo;
+	float sr = x->sr;
+	
+	if(argc > MAX_ATTACKS + 1){
+		post("%s: %d is too long an atk message",OBJECT_NAME,argc);
+		return;
+	}
+	pdex = 0;
+	pnum = atom_getfloatarg(pdex++,argc,argv);
+	
+	if(pnum < 0 || pnum > MAX_PATTERNS - 1){
+		error("%s: invalid pattern number: %d",OBJECT_NAME,pnum);
+		return;
+	}
+	
+	if(!x->stored_patterns[pnum]){
+		error("%s: no pattern found at location : %d",OBJECT_NAME,pnum);
+		return;
+	}
+	
+	x->this_pattern = x->next_pattern = pnum; // set current pattern to what we're working on
+	
+	slot = (int) atom_getfloatarg(pdex++,argc,argv);
+	p[pnum].drumlines[slot].active = 1;
+	tempo_factor = (60.0/tempo);
+	tmpbeats = p[pnum].beats;
+	
+	
+    trigger_point = 0;
+    attack_count = 0;
+    while(tmpbeats > 0){
+		local_attacks = 0;
+		beatseg = atom_getfloatarg(pdex++,argc,argv);
+		subdiv = atom_getfloatarg(pdex++,argc,argv);
+		beat_samps = (beatseg/subdiv) * tempo_factor * sr;
+		/* read attack cycle and store any non-zero attacks */
+		local_attacks = 0;
+		for(i = 0; i < subdiv; i++){
+			val = atom_getfloatarg(pdex++,argc,argv);
+			if(val){
+				p[pnum].drumlines[slot].attacks[attack_count + local_attacks].amplitude = val;
+				/* force to integer sample point (couldn't get round() to work) */
+				p[pnum].drumlines[slot].attacks[attack_count + local_attacks].trigger_point = (int)trigger_point;
+				++local_attacks;
+			}
+			trigger_point += beat_samps;
+		}
+        for(i = 0; i < local_attacks; i++){
+			p[pnum].drumlines[slot].attacks[i + attack_count].increment = 1.0;
+        }
+        tmpbeats -= beatseg;
+        attack_count += local_attacks;
+	}
+	p[pnum].drumlines[slot].attack_count = attack_count;
+    
+}
+
+void dmach_slotincrs(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+    int pdex,i;
+    int slot = 0;
+    int local_attacks;
+	int pnum;
+    t_pattern *p = x->patterns;
+
+	if(argc > MAX_ATTACKS + 1){
+		post("%s: %d is too long a slotincrs message",OBJECT_NAME,argc);
+		return;
+	}
+    pdex = 0;
+	pnum = (int) atom_getfloatarg(pdex++,argc,argv);
+    slot = (int) atom_getfloatarg(pdex++,argc,argv);
+	if(slot < 0 || slot >= x->drum_count){
+		post("%s: %d is an illegal slot",OBJECT_NAME,slot);
+		return;
+	}
+    local_attacks = p[pnum].drumlines[slot].attack_count;
+    if(argc != local_attacks + 2){
+        // post("rejected slotincrs with %d local atks, argc = %d",local_attacks, argc - 2);
+        return;
+    }
+    //  post("%d local atks, argc = %d",local_attacks, argc);
+    
+    
+    if(pnum < 0 || pnum >= MAX_PATTERNS){
+        error("%s: slotincrs sent invalid pattern number: %d",OBJECT_NAME,pnum);
+        return;
+    }
+    
+    if(!x->stored_patterns[pnum]){
+        error("%s: slotincrs: no pattern found at location : %d",OBJECT_NAME,pnum);
+		return;
+    }
+	
+    
+    
+    
+    
+    //  post("filling slotincr for slot %d pnum %d",slot, pnum);
+    
+    
+    
+    for(i = 0; i < local_attacks; i++){
+		p[pnum].drumlines[slot].attacks[i].increment = atom_getfloatarg(pdex++,argc,argv);
+    }
+    x->this_pattern = x->next_pattern = pnum; // set current pattern to what we're working on
+    
+    //  x->mute = mutein;
+}
+
+void dmach_store(t_dmach *x, t_symbol *s, int argc, t_atom *argv)
+{
+    int pdex,i;
+    int slot = 0;
+    float beatseg;
+    float tmpbeats;
+    float subdiv;
+    float beat_samps;
+    float tempo_factor = x->tempo_factor;
+    int attack_count;
+    int local_attacks;
+    float trigger_point;
+    float val;
+	int pnum;
+    t_pattern *p = x->patterns;
+    float tempo = x->tempo;
+    float sr = x->sr;
+    
+    
+    
+    pnum = atom_getfloatarg(0,argc,argv);
+    if(pnum < 0 || pnum > MAX_PATTERNS - 1){
+        error("invalid pattern number: %d",pnum);
+        return;
+    }
+    //  post("%d arguments to \"store\" at pattern %d",argc,pnum);
+    
+    dmach_init_pattern(x,pnum);
+    
+    p[pnum].beats = atom_getfloatarg(1,argc,argv);
+    if(p[pnum].beats <= 0){
+        post("illegal beats at pnum %d: %f",pnum,p[pnum].beats);
+        p[pnum].beats = 4;
+    }
+    if(tempo <= 0){
+        error("zero tempo in store msg");
+        tempo = 60;
+    }
+    tempo_factor = (60.0/tempo);
+    p[pnum].dsamps = p[pnum].beats * tempo_factor * sr;
+    pdex = 2;
+    
+    //  post("%f beats %f samps in this pattern",p[pnum].beats,p[pnum].dsamps );
+    while(pdex < argc){
+        slot = atom_getfloatarg(pdex++,argc,argv);
+        p[pnum].drumlines[slot].active = 1;
+        tmpbeats = p[pnum].beats;
+        
+        trigger_point = 0;
+        attack_count = 0;
+        while(tmpbeats > 0){
+            local_attacks = 0;
+            beatseg = atom_getfloatarg(pdex++,argc,argv);
+            subdiv = atom_getfloatarg(pdex++,argc,argv);
+            beat_samps = (beatseg/subdiv) * tempo_factor * sr;
+            
+            /* read attack cycle and store any non-zero attacks */
+            for(i = 0; i < subdiv; i++){
+				val = atom_getfloatarg(pdex++,argc,argv);
+				if(val){
+                    p[pnum].drumlines[slot].attacks[attack_count + local_attacks].amplitude = val;
+                    /* force to integer sample point (couldn't get round() to work) */
+                    p[pnum].drumlines[slot].attacks[attack_count + local_attacks].trigger_point = (int)trigger_point;
+                    ++local_attacks;
+				}
+				trigger_point += beat_samps;
+            }
+            /* we now know number of attacks and read that many transpose factors */
+            
+            for(i = 0; i < local_attacks; i++){
+				p[pnum].drumlines[slot].attacks[i + attack_count].increment = atom_getfloatarg(pdex++,argc,argv);
+            }
+            tmpbeats -= beatseg;
+            attack_count += local_attacks;
+        }
+        p[pnum].drumlines[slot].attack_count = attack_count;
+        //	post("%d attacks in slot %d for pattern %d",attack_count, slot, pnum);
+    }
+    // new - set internal pointer to start of array
+    p[pnum].drumlines[slot].adex = 0;
+    // set current pattern to this (to avoid crash if pnum 0 is uninitialized)
+    x->this_pattern = x->next_pattern = pnum;
+    x->virgin = 0; // now at least one pattern is stored
+    x->stored_patterns[pnum] = 1; // means there's something there now
+    x->tempo_factor = tempo_factor;//restore this value
+    //  post("pattern stored at %d with %f beats",pnum,p[pnum].beats);
+}
+
+
+void dmach_init_pattern(t_dmach *x, int pnum)
+{
+    int i;
+    int drum_count = x->drum_count;
+    t_pattern *p = x->patterns;
+    if(pnum < 0 || pnum >= MAX_PATTERNS){
+        error("invalid pattern number: %d",pnum);
+        return;
+    }
+    
+    
+    
+    if( x->stored_patterns[pnum] ){
+        // post("replacing pattern stored at %d",pnum);
+    }
+    
+    if(p[pnum].drumlines == NULL){
+        // post("initializing drumline memory at location %d",pnum);
+        p[pnum].drumlines = (t_drumline *)malloc(drum_count * sizeof(t_drumline));
+    }
+    
+    
+    for(i = 0; i < drum_count; i++){
+        p[pnum].drumlines[i].attacks = (t_attack *)calloc(MAX_ATTACKS, sizeof(t_attack));
+        p[pnum].drumlines[i].adex = 0;
+        p[pnum].drumlines[i].active = 0;
+        p[pnum].drumlines[i].attack_count = 0;
+    }
+    
+    
+}
+
+void dmach_dsp_free( t_dmach *x )
+{
+    /* need some freeing action here! */
+	free(x->patterns);
+	free(x->stored_patterns);
+	free(x->current_increment);
+	free(x->gtranspose);
+	free(x->gains);
+	free(x->sequence);
+	free(x->listdata);
+	free(x->connected);
+	free(x->tmpatks);
+	free(x->muted);
+}
+
+void dmach_mute(t_dmach *x, t_floatarg toggle)
+{
+	x->mute = (short)toggle;
+}
+
+void dmach_instant_recall(t_dmach *x, t_floatarg toggle)
+{
+	x->instant_recall = (short)toggle;
+}
+
+void dmach_clickincr(t_dmach *x, t_floatarg toggle)
+{
+	x->clickincr = (short)toggle;
+}
+
+
+
+void *dmach_new(t_symbol *s, int argc, t_atom *argv)
+{
+  	int i;
+	t_dmach *x;
+	x = (t_dmach *)pd_new(dmach_class);
+	
+	if(argc >= 1)
+		x->tempo = atom_getfloatarg(0,argc,argv);
+	else
+		x->tempo = 120;
+	if(argc >= 2)
+		x->drum_count = atom_getfloatarg(1,argc,argv);
+	else
+		x->drum_count = 8;
+	
+	x->outlet_count = x->drum_count * 2 + 1; // one extra for pattern start click
+
+    for(i = 0; i < x->outlet_count; i++){
+        outlet_new(&x->x_obj, gensym("signal"));
+    }
+	x->listraw_outlet = outlet_new(&x->x_obj, gensym("list"));
+	x->patterns = (t_pattern *) malloc(MAX_PATTERNS * sizeof(t_pattern));
+	x->stored_patterns = (short *) malloc(MAX_PATTERNS * sizeof(short));
+	x->current_increment = (float *) malloc(x->drum_count * sizeof(float)); // for sample + hold of increment
+	x->gtranspose = (float *) malloc(x->drum_count * sizeof(float));
+	x->gains = (float *) malloc(x->drum_count * sizeof(float));
+	x->sequence = (int *) malloc(1024 * sizeof(int));
+	x->listdata = (t_atom *) malloc(1024 * sizeof(t_atom));
+	x->connected = (short *) malloc(1024 * sizeof(short));
+	x->tmpatks = (t_attack *)calloc(MAX_ATTACKS, sizeof(t_attack));
+	x->muted = (short *)calloc(x->drum_count, sizeof(short)); // by default mute is off on each slot
+    
+	x->seqptr = 0;
+	x->sequence_length = 0;
+	x->playsequence = 0;
+	x->loopsequence = 0;
+	x->zeroalias = -1.0;
+	x->clickincr = 0;
+	x->instant_recall = 0;
+	
+	
+	if(x->tempo <= 0 || x->tempo > 6666)
+		x->tempo = 60.0;
+    
+    //	post("initial tempo is %f",x->tempo);
+	for(i = 0; i < MAX_PATTERNS; i++){
+		x->patterns[i].drumlines = NULL;
+		x->stored_patterns[i] = 0;
+	}
+	x->this_pattern = x->next_pattern = 0;
+	x->mute = 0;
+    
+	x->clocker = 0;
+	x->sr = sys_getsr();
+	x->tempo_factor = 60.0 / x->tempo ;
+    
+	for(i = 0; i < x->drum_count; i++){
+		x->gains[i] = 1.0;
+		x->gtranspose[i] = 1.0;
+		x->current_increment[i] = 1.0;
+	}
+	// safety - init memory for all drum patterns
+	for(i = 0; i < MAX_PATTERNS; i++){
+		dmach_init_pattern(x,i);
+	}
+	x->virgin = 1;
+    return (x);
+}
+
+
+
+t_int *dmach_perform(t_int *w)
+{
+    int i,j;
+    t_float *trig_outlet, *incr_outlet;
+    
+	t_dmach *x = (t_dmach *) w[1];
+	int outlet_count = x->outlet_count;
+    //	t_float *in_sync = (t_float *) w[2]; // input for sync trigger (not implemented yet)
+	t_float *sync = (t_float *) w[outlet_count + 2];
+	int n = (int) w[outlet_count + 3];
+    
+	int this_pattern = x->this_pattern;
+	int next_pattern = x->next_pattern;
+	t_pattern *p = x->patterns;
+	float *current_increment = x->current_increment;
+	float clocker = x->clocker;
+	float dsamps = p[this_pattern].dsamps;
+	int drum_count = x->drum_count;
+	int adex;
+	/* sequence stuff */
+	int *sequence = x->sequence;
+	short playsequence = x->playsequence;
+	short loopsequence = x->loopsequence;
+	short clickincr = x->clickincr;
+	int seqptr = x->seqptr;
+	int sequence_length = x->sequence_length;
+	short *connected = x->connected;
+	short *muted = x->muted;
+	float *gtranspose = x->gtranspose;
+	float *gains = x->gains;
+	
+	/* clean pnum click outlet */
+	memset((void *)sync, 0, n * sizeof(float));
+	
+	if( x->mute || x->virgin ){
+		for(i = 0; i < drum_count; i++){
+			if(connected[i * 2 + 1]){
+				// post("cleaning outlet pair %d", i);
+				trig_outlet = (t_float *) w[i * 2 + 3];
+				memset((void *)trig_outlet, 0, n * sizeof(float));
+			}
+		}
+		return w + (outlet_count + 4);
+	}
+	
+	/* pre-clean all connected trigger vectors */
+	for(i = 0; i < drum_count; i++){
+		if(connected[i * 2 + 1]){
+			trig_outlet = (t_float *) w[i * 2 + 3];
+			memset((void *)trig_outlet, 0, n * sizeof(float));
+		}
+	}
+	
+	for(j = 0; j < n; j++){
+		if(clocker >= dsamps){ // ready for next pattern now
+			clocker -= dsamps;
+ 			/* this is the pattern sequencer */
+ 			if(playsequence){
+  				if (seqptr >= sequence_length){
+					if(loopsequence){
+						seqptr = 0;
+					} else {
+						/* this is fine, the playthrough has concluded and we now mute external */
+						x->mute = 1;
+						goto escape;
+					}
+ 				}
+ 				this_pattern = sequence[seqptr++];
+                
+ 			}
+ 			/* we do this if we're not pattern sequencing: */
+			else if(next_pattern != this_pattern){
+				this_pattern = next_pattern;
+			}
+			
+			for(i = 0; i < drum_count; i++){ /* reset pointers */
+				p[this_pattern].drumlines[i].adex = 0;
+			}
+			/* send current bar number if in sequence. Note kludge for if
+             bar is 0. We cannot send a 0 click so we alias it to something else.
+             */
+			if(playsequence){
+				if(this_pattern){
+					sync[j] = this_pattern;
+				} else {
+					sync[j] = x->zeroalias;
+				}
+			} else{
+				sync[j] = 1; /* send a sync click */
+			}
+		}
+		else {
+			sync[j] = 0;
+		}
+		for(i = 0; i < drum_count; i++){
+			// float locamp;
+			if(p[this_pattern].drumlines[i].active && ! muted[i]){
+				trig_outlet = (t_float *) w[i * 2 + 3];
+				incr_outlet = (t_float *) w[i * 2 + 4];
+				
+				adex = p[this_pattern].drumlines[i].adex; // overflow danger ???
+                
+				if((int)clocker == (int)p[this_pattern].drumlines[i].attacks[adex].trigger_point){
+					current_increment[i] =
+                    p[this_pattern].drumlines[i].attacks[adex].increment * gtranspose[i];
+					/* put sync click into sample j of the output vector */
+                    
+					trig_outlet[j] =
+                    p[this_pattern].drumlines[i].attacks[adex].amplitude * gains[i];
+					++adex;
+					p[this_pattern].drumlines[i].adex = adex;
+					incr_outlet[j] = current_increment[i];
+					/*
+                     post("t: sample %d, slot %d, amp: %f, incr: %f",
+                     (int)clocker, i, locamp, current_increment[i]); */
+				}
+				else {
+					trig_outlet[j] = 0; // not sure we need these assignments ??
+					if(clickincr){
+						incr_outlet[j] = 0;
+					} else {
+						incr_outlet[j] = current_increment[i]; // samp + hold the increment to outlet
+					}
+				}
+				
+			} 
+		}
+		++clocker;
+	}
+	
+escape:
+	
+	x->clocker = clocker;
+	x->this_pattern = this_pattern;
+	x->seqptr = seqptr;
+	
+	return w + (outlet_count + 4);
+}		
+
+void dmach_dsp(t_dmach *x, t_signal **sp)
+{
+	long i;
+	t_int **sigvec;
+	int pointer_count;
+	
+    
+	if(x->virgin){
+		post("%s: no patterns are stored",OBJECT_NAME);
+        //		return;
+	}
+	if(x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+        /* still need to adjust every stored pattern dsamps variable */
+	}
+	
+	pointer_count = x->outlet_count + 3; // all outlets, 1 inlet, object and s_n
+	
+    //	post("pointer count %d", pointer_count);
+    
+    
+    // copy vector to be safe
+
+	for(i = 0; i < pointer_count - 2; i++){
+		x->connected[i] = 1;
+	}
+
+    
+	sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));	
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+    
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}	
+
+	dsp_addv(dmach_perform, pointer_count, (t_int *) sigvec); 
+	free(sigvec);
+}
+
diff --git a/externals/lyonpotpourri/dynss~-help.pd b/externals/lyonpotpourri/dynss~-help.pd
new file mode 100755
index 000000000..92499b50d
--- /dev/null
+++ b/externals/lyonpotpourri/dynss~-help.pd
@@ -0,0 +1,54 @@
+#N canvas 804 342 414 292 10;
+#X obj 33 212 *~ 0.1;
+#X obj 33 244 dac~;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X msg 93 107 devx \$1;
+#X obj 270 140 hsl 70 12 0 1 0 0 dynss-devx dynss-devx-in devx -2 -8
+0 10 -261682 -1 -1 0 1;
+#X floatatom 93 89 5 0 0 0 - dynss-devx -, f 5;
+#X obj 270 165 hsl 70 12 0 1 0 0 dynss-devy dynss-devy-in devy -2 -8
+0 10 -261682 -1 -1 0 1;
+#X floatatom 154 88 5 0 0 0 - dynss-devy -, f 5;
+#X msg 154 106 devy \$1;
+#X obj 270 191 hsl 70 12 0 1 0 0 dynss-gain dynss-gain-in gain -2 -8
+0 10 -261682 -1 -1 0 1;
+#X floatatom 66 194 5 0 0 1 gain dynss-gain -, f 5;
+#X msg 34 106 freq \$1;
+#X obj 270 115 hsl 70 12 50 600 0 0 dynss-freq dynss-freq-in frequency
+-2 -8 0 10 -261682 -1 -1 0 1;
+#X floatatom 34 89 5 0 0 0 - dynss-freq -, f 5;
+#X obj 33 172 dynss~;
+#X obj 120 144 r dynss.messages;
+#N canvas 23 22 686 335 messages 0;
+#X msg 177 130 new_wave;
+#X msg 179 153 new_amps;
+#X msg 176 105 printwave;
+#X obj 107 225 s dynss.messages;
+#X msg 172 77 pointcount \$1;
+#X msg 172 40 4;
+#X msg 220 38 15;
+#X text 279 78 set the number of breakpoints in the waveform;
+#X text 250 111 print the breakpoints to the Pd window;
+#X text 245 137 generate a new waveform;
+#X text 245 154 generate new amplitudes \, but keep the y-values;
+#X connect 0 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 0;
+#X restore 71 243 pd messages;
+#X text 153 244 <- more info here;
+#X text 21 42 dynss~ - dynamic stochastic synthesis as described by
+Iannis Xenakis in "Formalized Music";
+#X connect 0 0 1 0;
+#X connect 0 0 1 1;
+#X connect 3 0 14 0;
+#X connect 5 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 14 0;
+#X connect 10 0 0 1;
+#X connect 11 0 14 0;
+#X connect 13 0 11 0;
+#X connect 14 0 0 0;
+#X connect 15 0 14 0;
diff --git a/externals/lyonpotpourri/dynss~.c b/externals/lyonpotpourri/dynss~.c
new file mode 100755
index 000000000..70e9c9a39
--- /dev/null
+++ b/externals/lyonpotpourri/dynss~.c
@@ -0,0 +1,324 @@
+#include "MSPd.h"
+
+static t_class *dynss_class;
+
+#define MAXPOINTS (64)
+#define OBJECT_NAME "dynss~"
+#define COMPILE_DATE "9.02.07"
+#define OBJECT_VERSION "2.01"
+
+//pd version
+
+
+typedef struct _dynss
+{
+
+	t_object x_obj;
+    t_float x_f;
+    
+	long point_count; // how many points in waveform (including beginning and end point)
+	t_double freq; // frequency
+	long counter; // count samples
+	long period_samples; // how many samples in a period
+	float srate; // sampling rate
+	long current_point; // which point are we on
+	t_double *values;
+	long *point_breaks;
+	t_double *norm_breaks;
+	t_double *xdevs;
+	t_double *ydevs;
+	t_double devscale_x;
+	t_double devscale_y;
+} t_dynss;
+
+void dynss_tilde_setup(void);
+void *dynss_new(void);
+t_int *dynss_perform(t_int *w);
+void dynss_dsp(t_dynss *x, t_signal **sp);
+void version(void);
+float boundrand(float min, float max);
+void dynss_init(t_dynss *x,short initialized);
+void dynss_devx(t_dynss *x, t_floatarg f);
+void dynss_devy(t_dynss *x, t_floatarg f);
+void dynss_freq(t_dynss *x, t_floatarg f);
+void dynss_printwave(t_dynss *x);
+void dynss_new_wave(t_dynss *x);
+void dynss_pointcount(t_dynss *x, t_floatarg f);
+void dynss_new_amps(t_dynss *x);
+
+void dynss_tilde_setup(void)
+{
+	t_class *c;
+	c = class_new(gensym("dynss~"), (t_newmethod)dynss_new, 0, sizeof(t_dynss), 0,0);
+    CLASS_MAINSIGNALIN(c,t_dynss,x_f);
+	class_addmethod(c,(t_method)dynss_dsp, gensym("dsp"), A_CANT, 0);
+    
+	class_addmethod(c,(t_method)version,gensym("version"),0);
+	class_addmethod(c,(t_method)dynss_devx,gensym("devx"),A_FLOAT,0);
+	class_addmethod(c,(t_method)dynss_devy,gensym("devy"),A_FLOAT,0);
+	class_addmethod(c,(t_method)dynss_freq,gensym("freq"),A_FLOAT,0);
+	class_addmethod(c,(t_method)dynss_printwave,gensym("printwave"),0);
+	class_addmethod(c,(t_method)dynss_new_wave,gensym("new_wave"),0);
+	class_addmethod(c,(t_method)dynss_new_amps,gensym("new_amps"),0);
+	class_addmethod(c,(t_method)dynss_pointcount,gensym("pointcount"),A_FLOAT,0);
+	potpourri_announce(OBJECT_NAME);
+	dynss_class = c;
+}
+
+
+void dynss_pointcount(t_dynss *x, t_floatarg f)
+{
+	if(f >= 2 && f <= MAXPOINTS ){
+		x->point_count = (long) f;
+		dynss_init(x,0);
+	}
+}
+
+void dynss_freq(t_dynss *x, t_floatarg f)
+{
+	x->freq = fabs(f);
+}
+
+void dynss_devx(t_dynss *x, t_floatarg f)
+{
+	x->devscale_x = f;
+}
+
+void dynss_devy(t_dynss *x, t_floatarg f)
+{
+	x->devscale_y = f;
+}
+
+void version(void)
+{
+	post("%s version %s, compiled %s",OBJECT_NAME, OBJECT_VERSION, COMPILE_DATE);
+}
+
+void dynss_printwave(t_dynss *x)
+{
+	int i;
+	for(i = 0; i < x->point_count; i++){
+		post("point %d break %d norm break %f value %f",i, x->point_breaks[i], x->norm_breaks[i], x->values[i]);
+	}
+}
+
+void dynss_new_wave(t_dynss *x)
+{
+	dynss_init(x,0);
+}
+
+void dynss_new_amps(t_dynss *x)
+{
+	int i;
+	for(i = 1; i < x->point_count - 1; i++){
+		x->values[i] = boundrand(-0.95, 0.95);
+	}
+}
+
+
+void *dynss_new(void)
+{
+	t_dynss *x = (t_dynss *)pd_new(dynss_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+	x->srate = sys_getsr();
+	x->point_count = 6; // including fixed start and endpoint, so just 4 dynamic points
+	
+	x->values = (t_double *) calloc(MAXPOINTS + 2, sizeof(t_double));
+	x->point_breaks = (long *) calloc(MAXPOINTS + 2, sizeof(long));
+	x->norm_breaks = (t_double *) calloc(MAXPOINTS + 2, sizeof(t_double));
+	x->xdevs = (t_double *) calloc(MAXPOINTS + 2, sizeof(t_double));
+	x->ydevs = (t_double *) calloc(MAXPOINTS + 2, sizeof(t_double));
+	
+	if(! x->srate ){
+		x->srate = 44100;
+		post("sr autoset to 44100");
+	}
+	x->freq = 100.0;
+	
+	srand(time(0));
+
+	dynss_init(x,0); 
+	
+	return (x);
+}
+
+
+float boundrand(float min, float max)
+{
+	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
+}
+
+void dynss_init(t_dynss *x,short initialized)
+{
+	int i,j;
+	float findex;
+	long point_count = x->point_count;
+	t_double *values = x->values;
+	t_double *norm_breaks = x->norm_breaks;
+	long *point_breaks = x->point_breaks;
+	t_double *ydevs = x->ydevs;
+	t_double *xdevs =x->xdevs;
+
+	
+    if(!initialized){
+		x->period_samples = (long)(x->srate / x->freq);
+		x->counter = 0;
+		x->current_point = 0;
+		x->devscale_x = 0.0; // no evolution by default
+		x->devscale_y = 0.0;
+		// post("there are %d samples per period, srate %f freq %f", x->period_samples, x->srate, x->freq);
+		norm_breaks[0] = 0.0;
+		norm_breaks[point_count - 1] = 1.0;
+		values[0] = values[point_count - 1] = 0.0;
+		for(i = 1; i < point_count - 1; i++){
+			values[i] = boundrand(-1.0, 1.0);
+			norm_breaks[i] = boundrand(0.05,0.95);
+		}
+		// now sort into order (insertion sort)
+
+		for(i = 1; i < point_count; i++){
+			findex = norm_breaks[i];
+			j = i;
+			while( j > 0 && norm_breaks[j-1] > findex){
+				norm_breaks[j] = norm_breaks[j-1];
+				j = j - 1;
+			}
+			norm_breaks[j] = findex;
+				
+		}
+		// now generate sample break points;
+		for(i = 0; i < point_count; i++){
+			point_breaks[i] = (long) ( (float)x->period_samples * norm_breaks[i] );
+			// post("%i %f %f",point_breaks[i], norm_breaks[i], values[i]);
+		}
+		// set y deviation maxes
+		for(i = 0; i < point_count; i++){
+			ydevs[i] = boundrand(0.0,0.99);
+			xdevs[i] = boundrand(0.0,0.99);
+			// post("rands: %f %f",ydevs[i],xdevs[i]);
+		}
+    } else {
+		
+    }
+}
+
+
+t_int *dynss_perform(t_int *w)
+{
+	//int i, j, k;
+	//	float outval;
+	int i,j;
+	float findex1,findex2;
+	t_dynss *x = (t_dynss *) (w[1]);
+//	t_float *inlet = (t_float *) (w[2]);
+	t_float *outlet = (t_float *) (w[3]);
+	int n = (int) w[4];
+	t_double *values = x->values;
+	t_double *norm_breaks = x->norm_breaks;
+	long *point_breaks = x->point_breaks;
+	t_double *ydevs = x->ydevs;
+	t_double *xdevs = x->xdevs;
+	long counter = x->counter;
+	long period_samples = x->period_samples;
+	long current_point = x->current_point;
+	long point_count = x->point_count;
+	float sample;
+	float frak;
+	float dev, newval;
+	long segsamps;
+	
+	while(n--){
+		if( counter == point_breaks[current_point + 1]){
+			sample = values[current_point + 1];
+			++current_point;
+			if(current_point > point_count - 1){
+				current_point = 0;
+				counter = 0;
+			}
+		} 
+	
+		else {
+			segsamps = point_breaks[current_point + 1] - point_breaks[current_point];
+			if( segsamps <= 1){
+				frak = 0.0;
+			} 
+			else {
+				frak = (float)(counter - point_breaks[current_point]) / (float)segsamps;
+				//post("frak %f counter %d point break %d diff %d",frak, counter, point_breaks[current_point],counter - point_breaks[current_point] );
+				if( frak < 0.0 || frak > 1.0 ){
+					post("bad fraction: %f",frak);
+					post("current point: %d", current_point);
+					post("segsamps %d counter %d current break %d next break %d", segsamps, counter, point_breaks[current_point], point_breaks[current_point + 1]);
+				}
+			}
+			if(current_point < 0 || current_point > point_count - 1){
+				post("ERROR: dss had bad current point!");
+				sample = 0;
+			} else {
+				sample = values[current_point] + (values[current_point+1] - values[current_point]) * frak;
+				
+			}
+		}
+		++counter;
+		if(counter >= period_samples){
+			counter = 0;
+			current_point = 0;
+			if( x->freq > 0.0 ){
+				period_samples = x->srate / x->freq;
+			}
+			// nudge waveform
+			for(i = 1; i < point_count - 1; i++){
+				dev = boundrand(-1.0,1.0) * ydevs[i] * x->devscale_y;
+				newval = values[i] + dev;
+				// clip
+				newval = newval > 0.95 ? 0.95 : newval;
+				newval = newval < -0.95 ? -0.95 : newval;
+				values[i] = newval;
+			}
+			for(i = 1; i < point_count - 1; i++){
+				dev = boundrand(-1.0,1.0) * xdevs[i] * x->devscale_x;
+				newval = norm_breaks[i] + dev;
+				// clip
+				newval = newval < 0.05 ? 0.05 : newval;
+				newval = newval > 0.95 ? 0.95: newval;
+				norm_breaks[i] = newval;
+				/* if(norm_breaks[i] < norm_breaks[i-1]){
+					norm_breaks[i] = norm_breaks[i-1] + 0.03; // disallow point jumps for now
+				} */
+			}
+			// now sort them
+			
+			for(i = 1; i < point_count; i++){
+				findex1 = norm_breaks[i];
+				findex2 = values[i];
+				j = i;
+				while( j > 0 && norm_breaks[j-1] > findex1){
+					norm_breaks[j] = norm_breaks[j-1];
+					values[j] = values[j-1];
+					j = j - 1;
+				}
+				norm_breaks[j] = findex1;
+				values[j] = findex2;
+			}
+			
+			// now generate sample breaks
+			for(i = 0; i < point_count; i++){
+				point_breaks[i] = (long) ( (float)period_samples * norm_breaks[i] );
+			}
+		}
+		*outlet++ = sample;
+	}
+	x->counter = counter;
+	x->current_point = current_point;	
+	x->period_samples = period_samples;
+	return (w + 5);
+}
+
+
+void dynss_dsp(t_dynss *x, t_signal **sp)
+{
+	if(x->srate != sp[0]->s_sr) {
+		x->srate = sp[0]->s_sr;
+	}
+	dsp_add(dynss_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec,sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/ellipse.c b/externals/lyonpotpourri/ellipse.c
new file mode 100755
index 000000000..358333210
--- /dev/null
+++ b/externals/lyonpotpourri/ellipse.c
@@ -0,0 +1,250 @@
+#include "bashfest.h"
+
+float ellipse(float x, LSTRUCT *eel, int nsects, float xnorm)
+{
+  register int m;
+  float op;
+  
+  for(m=0;m<nsects;m++) {
+    op = x + eel[m].c0 * eel[m].ps0 + eel[m].c2 * eel[m].ps1
+      - eel[m].c1 * eel[m].ps2 - eel[m].c3 * eel[m].ps3;
+    eel[m].ps1 = eel[m].ps0;
+    eel[m].ps0 = x;
+    eel[m].ps3 = eel[m].ps2;
+    eel[m].ps2 = op;
+    x = op;
+  }
+  return(x*xnorm);
+}
+
+void ellipset(float *list, LSTRUCT *eel, int  *nsects, float *xnorm)
+{
+/* the first argument in the list is the number of sections */
+  int m,i;
+  *nsects = (int)list[0];
+  if(*nsects > MAXSECTS) { 
+    error("sorry, only configured for %d sections",MAXSECTS); 
+    return;
+  }
+  i=1;
+  for(m=0;m<*nsects;m++) {
+    eel[m].c0 = list[i++];
+    eel[m].c1 = list[i++];
+    eel[m].c2 = list[i++];
+    eel[m].c3 = list[i++];
+    eel[m].ps0 = eel[m].ps1 = eel[m].ps2 = eel[m].ps3 = 0;
+  }
+  *xnorm = list[i];
+}
+/*set biquad coefficients one time*/
+void init_ellipse_data(float **a)
+{
+    /* 0: hipass at 200 */
+        a[0][0] = 4;
+        a[0][1] = 1.5156562;
+        a[0][2] = -1.9958239;
+        a[0][3] = 1;
+        a[0][4] = 0.9965234;
+        a[0][5] = -1.9996996;
+        a[0][6] = 0.97229244;
+        a[0][7] = 1;
+        a[0][8] = 0.89313463;
+        a[0][9] = 1.8828678;
+        a[0][10] = -1.9561138;
+        a[0][11] = 1;
+        a[0][12] = 0.95845959;
+        a[0][13] = -1.9999342;
+        a[0][14] = -0.065893592;
+        a[0][15] = 1;
+        a[0][16] = 0.39565826;
+        a[0][17] = 0.26225143;
+    /* 1: hipass at 500 */
+        a[1][0] = 3;
+        a[1][1] = -1.9950633;
+        a[1][2] = -1.9910746;
+        a[1][3] = 1;
+        a[1][4] = 0.99729187;
+        a[1][5] = -1.9964182;
+        a[1][6] = -1.9742933;
+        a[1][7] = 1;
+        a[1][8] = 0.98250468;
+        a[1][9] = -1.999304;
+        a[1][10] = -1.8149534;
+        a[1][11] = 1;
+        a[1][12] = 0.84353385;
+        a[1][13] = 0.90419364;
+    /* 2: bandpass 280 - 700 */
+        a[2][0] = 4;
+        a[2][1] = -1.9989934;
+        a[2][2] = -1.9946771;
+        a[2][3] = 1;
+        a[2][4] = 0.99626146;
+        a[2][5] = -1.9843098;
+        a[2][6] = -1.9807532;
+        a[2][7] = 1;
+        a[2][8] = 0.99066977;
+        a[2][9] = -1.9996779;
+        a[2][10] = -1.9795816;
+        a[2][11] = 1;
+        a[2][12] = 0.9820447;
+        a[2][13] = -1.9513627;
+        a[2][14] = -1.965153;
+        a[2][15] = 1;
+        a[2][16] = 0.97142923;
+        a[2][17] = 0.013949928;
+    /* 3: lopass at 500 */
+        a[3][0] = 3;
+        a[3][1] = -1.9922858;
+        a[3][2] = -1.9903447;
+        a[3][3] = 1;
+        a[3][4] = 0.99525722;
+        a[3][5] = -1.9849712;
+        a[3][6] = -1.9765264;
+        a[3][7] = 1;
+        a[3][8] = 0.97923558;
+        a[3][9] = 1;
+        a[3][10] = -0.98180316;
+        a[3][11] = 0;
+        a[3][12] = 0;
+        a[3][13] = 0.0014021298;
+    /* 4: lopass at 2K */
+        a[4][0] = 3;
+        a[4][1] = -1.9170388;
+        a[4][2] = -1.9264647;
+        a[4][3] = 1;
+        a[4][4] = 0.99064223;
+        a[4][5] = -1.8850187;
+        a[4][6] = -1.9092573;
+        a[4][7] = 1;
+        a[4][8] = 0.95627234;
+        a[4][9] = -1.4613313;
+        a[4][10] = -1.8821271;
+        a[4][11] = 0.99999996;
+        a[4][12] = 0.89422169;
+        a[4][13] = 0.0071020706;
+    /* 5: 
+       f1,f2,f3= 400.0     900.0     2500.     ripple= 1.000     db= 40.00    */            
+        a[5][0] = 4;
+        a[5][1] = -1.9594111;
+        a[5][2] = -1.9900446;
+        a[5][3] = 1;
+        a[5][4] = 0.9932218;
+        a[5][5] = -1.9986938;
+        a[5][6] = -1.967975;
+        a[5][7] = 1;
+        a[5][8] = 0.98456911;
+        a[5][9] = -1.8436241;
+        a[5][10] = -1.9696535;
+        a[5][11] = 1;
+        a[5][12] = 0.9745592;
+        a[5][13] = -1.9996708;
+        a[5][14] = -1.9523041;
+        a[5][15] = 1;
+        a[5][16] = 0.96284515;
+        a[5][17] = 0.0027629927;
+    /* 6:  hipass at 500 */        
+        a[6][0] = 3;
+        a[6][1] = -1.9950633;
+        a[6][2] = -1.9910746;
+        a[6][3] = 1;
+        a[6][4] = 0.99729187;
+        a[6][5] = -1.9964182;
+        a[6][6] = -1.9742933;
+        a[6][7] = 1;
+        a[6][8] = 0.98250468;
+        a[6][9] = -1.999304;
+        a[6][10] = -1.8149534;
+        a[6][11] = 1;
+        a[6][12] = 0.84353385;
+        a[6][13] = 0.90419364;
+    /* 7: bandpass 1000-4000-6000 */
+        a[7][0] = 4;
+        a[7][1] = -1.9924766;
+        a[7][2] = -1.9573893;
+        a[7][3] = 1;
+        a[7][4] = 0.97714717;
+        a[7][5] = -1.2471186;
+        a[7][6] = -1.6082873;
+        a[7][7] = 1;
+        a[7][8] = 0.91482231;
+        a[7][9] = -1.9983103;
+        a[7][10] = -1.8512918;
+        a[7][11] = 1;
+        a[7][12] = 0.88910013;
+        a[7][13] = 0.033335148;
+        a[7][14] = -1.6413378;
+        a[7][15] = 0.99999998;
+        a[7][16] = 0.78964041;
+        a[7][17] = 0.0087452226;            
+    /* 8: hipass 4000-10000 */
+        a[8][0] = 1;
+        a[8][1] = -1.9896868;
+        a[8][2] = -1.3953066;
+        a[8][3] = 1;
+        a[8][4] = 0.58943112;
+        a[8][5] = 0.74811328;
+     /* 9: bandpass 500-2500-3500 */
+        a[9][0] = 6;
+        a[9][1] = -1.9975736;
+        a[9][2] = -1.9902167;
+        a[9][3] = 1;
+        a[9][4] = 0.99529287;
+        a[9][5] = -1.7460823;
+        a[9][6] = -1.853476;
+        a[9][7] = 1;
+        a[9][8] = 0.97721553;
+        a[9][9] = -1.9984481;
+        a[9][10] = -1.9737545;
+        a[9][11] = 1;
+        a[9][12] = 0.98056598;
+        a[9][13] = -1.6166383;
+        a[9][14] = -1.8408836;
+        a[9][15] = 0.99999999;
+        a[9][16] = 0.93097271;
+        a[9][17] = -1.9997426;
+        a[9][18] = -1.9320458;
+        a[9][19] = 1;
+        a[9][20] = 0.94629262;
+        a[9][21] = -0.44018748;
+        a[9][22] = -1.8664352;
+        a[9][23] = 0.99999993;
+        a[9][24] = 0.90871633;
+        a[9][25] = 0.00044746789;     
+    /* 10: bp-300-400-2500-70dB */
+        a[10][0] = 8;
+        a[10][1] = -1.7823256;
+        a[10][2] = -1.9938863;
+        a[10][3] = 1;
+        a[10][4] = 0.99712611;
+        a[10][5] = -1.9981713;
+        a[10][6] = -1.8579881;
+        a[10][7] = 1;
+        a[10][8] = 0.9825214;
+        a[10][9] = -1.7151492;
+        a[10][10] = -1.9844167;
+        a[10][11] = 1;
+        a[10][12] = 0.9884184;
+        a[10][13] = -1.9986272;
+        a[10][14] = -1.8447412;
+        a[10][15] = 1;
+        a[10][16] = 0.94374559;
+        a[10][17] = -1.3382862;
+        a[10][18] = -1.9602273;
+        a[10][19] = 1;
+        a[10][20] = 0.96717992;
+        a[10][21] = -1.9994689;
+        a[10][22] = -1.8529558;
+        a[10][23] = 1;
+        a[10][24] = 0.90889168;
+        a[10][25] = 1;
+        a[10][26] = -1.903171;
+        a[10][27] = 0;
+        a[10][28] = 0.92280038;
+        a[10][29] = -1;
+        a[10][30] = 0;
+        a[10][31] = 0;
+        a[10][32] = 0;
+        a[10][33] = 0.00022546378;
+}
+
+
diff --git a/externals/lyonpotpourri/epluribus~-help.pd b/externals/lyonpotpourri/epluribus~-help.pd
new file mode 100755
index 000000000..0558a68b6
--- /dev/null
+++ b/externals/lyonpotpourri/epluribus~-help.pd
@@ -0,0 +1,32 @@
+#N canvas 732 505 416 313 10;
+#X obj 129 165 epluribus~ 3;
+#X obj 210 191 click2float~;
+#X obj 129 224 *~ 0.1;
+#X obj 129 256 dac~;
+#X obj 205 256 hsl 70 12 0 1 0 0 epluribus-gain epluribus-gain-in gain
+-2 -8 0 10 -261443 -1 -1 0 1;
+#X floatatom 167 206 5 0 0 0 - epluribus-gain -, f 5;
+#X obj 23 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 25 108 phasor~ 620;
+#X obj 25 131 killdc~;
+#X obj 120 131 killdc~;
+#X obj 120 108 phasor~ 620.77;
+#X obj 233 130 killdc~;
+#X floatatom 211 224 5 0 0 0 - - -, f 5;
+#X text 254 221 selected channel;
+#X obj 233 107 phasor~ 600.9;
+#X text 25 47 epluribus~ selects the highest absolute-valued sample
+from all its inputs \, on a pre-sample basis;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 12 0;
+#X connect 2 0 3 0;
+#X connect 2 0 3 1;
+#X connect 5 0 2 1;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 1;
+#X connect 10 0 9 0;
+#X connect 11 0 0 2;
+#X connect 14 0 11 0;
diff --git a/externals/lyonpotpourri/epluribus~.c b/externals/lyonpotpourri/epluribus~.c
new file mode 100755
index 000000000..6c4200ab6
--- /dev/null
+++ b/externals/lyonpotpourri/epluribus~.c
@@ -0,0 +1,149 @@
+#include "MSPd.h"
+
+static t_class *epluribus_class;
+
+#define MAXBEATS (256)
+#define OBJECT_NAME "epluribus~"
+#define COMPILE_DATE "5.3.08"
+#define OBJECT_VERSION "2.0"
+
+typedef struct _epluribus
+{
+	t_object x_obj;
+    float x_f;
+	int incount; // how many inlets (must be at least 2)
+	short inverse; // flag to look for minimum instead
+} t_epluribus;
+
+void *epluribus_new(t_symbol *msg, int argc, t_atom *argv);
+t_int *epluribus_perform(t_int *w);
+void epluribus_dsp(t_epluribus *x, t_signal **sp);
+void epluribus_inverse(t_epluribus *x, t_floatarg tog);
+
+void epluribus_tilde_setup(void)
+{
+    t_class *c;
+	c = class_new(gensym("epluribus~"), (t_newmethod)epluribus_new,
+                                0,sizeof(t_epluribus), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(c, t_epluribus, x_f);
+	class_addmethod(c, (t_method)epluribus_dsp, gensym("dsp"), 0);
+    class_addmethod(c, (t_method)epluribus_inverse, gensym("inverse"),A_FLOAT, 0);
+    epluribus_class = c;
+	potpourri_announce(OBJECT_NAME);
+}
+
+void epluribus_inverse(t_epluribus *x, t_floatarg tog)
+{
+	x->inverse = (short) tog;
+}
+
+
+void *epluribus_new(t_symbol *msg, int argc, t_atom *argv)
+{
+    t_epluribus *x;
+    int i;
+    x = (t_epluribus *)pd_new(epluribus_class);
+    x->incount = (int) atom_getfloatarg(0,argc,argv);
+    if(x->incount < 2 || x->incount > 256 ){
+        int defcount = x->incount < 2 ? 2 : 256;
+        post("%s: warning: there must be between 2 and 256 input vectors",
+            OBJECT_NAME);
+        post("defaulting to %d", defcount);
+        x->incount = defcount;
+    }
+
+    for(i = 0; i < x->incount - 1; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
+    }
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	x->inverse = 0; // by default don't do inverse behaviour
+	return (x);
+}
+
+
+t_int *epluribus_perform(t_int *w)
+{
+	int i,j,k;
+	t_epluribus *x = (t_epluribus *) (w[1]);
+	t_float *inlet;
+	t_float *outlet;
+	t_float *selection;
+	t_int n;
+	t_float maxamp = 0.0;
+	t_float maxout = 0.0;
+	int maxloc;
+	int incount = x->incount;
+	int next_pointer = incount + 5;
+	
+	outlet = (t_float *) w[incount + 2];
+	selection = (t_float *) w[incount + 3];
+	n = (int) w[incount + 4];
+	
+	if( x->inverse ){
+		for(k = 0; k < n; k ++ ){
+			maxamp = 99999999.0;
+			maxloc = 0;
+			for(i = 0, j=2; i < incount ; i++, j++){
+				inlet = (t_float *) (w[j]);
+				if( maxamp > fabs( inlet[k] ) ){
+					maxamp = fabs( inlet[k] ); 
+					maxout = inlet[k]; // don't actually change signal
+					maxloc = i + 1; // record location of max amp
+				}
+			}
+			outlet[k] = maxout;
+			selection[k] = maxloc;
+		}
+	} 
+	else {
+		for(k = 0; k < n; k ++ ){
+			maxamp = 0.0;
+			maxloc = 0;
+			for(i = 0, j=2; i < incount ; i++, j++){
+				inlet = (t_float *) (w[j]);
+				if( maxamp < fabs( inlet[k] ) ){
+					maxamp = fabs( inlet[k] );
+					maxout = inlet[k]; // don't actually change signal
+					maxloc = i + 1; // record location of max amp
+				}
+			}
+			outlet[k] = maxout;
+			selection[k] = maxloc;
+		}
+	}
+		
+	return w + next_pointer;
+}
+
+
+void epluribus_dsp(t_epluribus *x, t_signal **sp)
+{
+	long i;
+	t_int **sigvec;
+	int pointer_count;
+
+	
+	if( x->incount < 2 || x->incount > 256 ){
+		post("bad vector count");
+		return;
+	}
+	pointer_count = x->incount + 4; // all metros, plus 2 outlets, plus the object pointer, plus N
+
+	sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));	
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+
+	dsp_addv(epluribus_perform, pointer_count, (t_int *) sigvec); 
+	free(sigvec);
+	
+}
+
diff --git a/externals/lyonpotpourri/examples/BD0010.aif b/externals/lyonpotpourri/examples/BD0010.aif
new file mode 100755
index 0000000000000000000000000000000000000000..66781e2b2a65df7e9e94e0c6ae6d8bb12ae166f8
GIT binary patch
literal 89282
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
G@c#isI&3%q

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/BT0AADA.aiff b/externals/lyonpotpourri/examples/BT0AADA.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..1c4f5f5b1d894fa19bc463e657475119818461b7
GIT binary patch
literal 44030
zcmX7Q1y~zf+il#PB#<CMgS%6-P^IqPQ@2xhs+78%x>M@z1}!edt+-2&5F$j0%iaHX
zyPr&El3^?}d%a6`C(oWY69Rd!PM9`%a^mcnU>-t)Kp~KYLl8<l=|d7&2LI;Ip9SXL
z|NZ|<|9=Wih1o+N!cM|(z@)HQu)9bIG8^>-eHgO?t0y1`Cy5J))g&t64IY9&PTWkM
zN~xxatu9+Vq9-$a=vG#ZbRP4z%`Ude-qCK@q1%ybzmwHyqi6fsO6=_H4%$oY9qjjU
zN}cz)D}1g7%n1pda4&vt(&eeoX6&1_V(y`Nj}|8`zqDuUgy~q}@v&nC$En8>j@>yH
zd+g$|iN{tQV;o}~tpn{9XsJgJ9-V)5;!(~~>Jjykz9XeaJ{-Ao<iwG!N0N_(9$_CL
zrSMbwQ$DABOF5WwY5&X}{r}F{62AV#KX+I9FLPRqpZ#s>ze$3`YY7wMQlg(nIEI`F
zwDSt&-gkOuH)6Am_8BLFg&3gYPh`QOxZzVhZS9rK6%FZiiPec^UB$=pLVweK<bQql
zapt?Duhu^4O82|Zy?x}C%T4(8m}?PN;s3Q<iad`z?VZ|@nwok(^+4+8)a#(#N_~-<
zpW2!_mMTrvpQ4`fI2Ctl>8V|(&YXI5>es2ir$*D@X|`#hX*1I{rkzT=o%TJgCT%#)
zblUdx<kS04zdoIR261M_nXofU&RjjqJ-6Zf_=PLy5$Cfn^RL~!4Y{-I_U1d|_clCO
z{xB|m(j((j<a6u`<xARY*4wm?N4|~xLS@5p*A-<H&n%f!a<J5)Oj+Sk(O2zWx1|10
z<F@ATwuPPjy(PR|Lu*FQi^yV!F`1%BHL4BLZPsr!?S#dnLvSrb6P0E)fgWzdvV%JZ
zb0fK7Za3Ujo@cz`y>Q+qeO10<zq$aY0Aujf@QA3w_)8P>C;gblPG%+_nK^TA_x$gR
zA1^t#q-+^(N&RBOlDkVQR%EVTxGr%MZu5?<M|aroe!8b_Z{ObMdo=r#54jxHrUW0>
z9BDcJ`uJtgRvce)-1oTWF~f1lv1KV24v`LI?;kj5eX#1#d+;kCJLs@?&mP)t+RmN-
zCT^8&S+()XM$|^q`hvCMHQ}qbuc}>fZCUB^oy$U(URa7>60n%R`1|6!3uEW!&8wZ8
zKIi-Fj#=pGx2M@mE=pV;r-?>K4n~B9#RYHj)A+9QKJMx6PIgOk9&kS4bj|4-M{R%B
zo@hVYE|{HTn_}zDdc*q0dS_E@t+PJDd`*8rvrxiGDpDdL5ZjMghOS1@kjoKw5fu1Y
z=z6ojyv7n`$~Fw@Cuq-TqSPDIG}RP^NO@WoB)%~EVuU>u-j~qj(!Q=Gu`#9L-d|lq
zOarbyw}H~gsV}abRDGsud&P<J%+h%!(4v^4grXk><+<|Q(A@Cswb?tfq(AB3`o3=d
zg8G#BX~xHC@0;EWKRA3C{gD6R_Q!w^J|EKFb-ahYL%b?@mGFH2lio*d4_)uSzJL2(
z>;1s{!4IMzVD2d%#ypz(s54{LquUSfJ#>8dC4Kfo!z1RSU+K}0Lelp>6hBOPfV``}
z4}0jB9-saw!#3mH6Z8|^<8v8HA3c0H@R0k^_Mzj0M-Q_eFL)aH%=_7*XO7R8K5Kok
z=w->vYcHK%*}gvTy6x?{cWdAO{@DKM;pbOhQof45d4A)3JNv!%$A3RQWHw~wXRZAe
znH`&5nj_1-mzSP@EZ<zvl&>i8EJ`TB{3$P=Q0Y~%wY;gapt7v;N)@xlwYIa)^7m)m
z>)PnLJAcUyYZ~Q^Ar04?*v<1=%3Bt;tZPHHJ#5Eybakb5AL#MzTiVyxpTr~fzw58;
z-^b(fCi717{u?MC+BYQUUmATWTql|#nJVcMcSuCiv(g{ZEwU!XB}J9;gR*G+hz6rY
z>LzPMYQ0*do}v!Z9MS&PUDX#GADC<{Y{(&KIt&J_f@)#Duu8ZL;fchf8qqBDG%O!~
ziqJ-EA{CLZQ?FPpq+e$YG18gStY=v>t=C$=W$j=+W^vg`?3e6+*tu+_t=_K4-o`%4
zA)GVMG1YOsbCAn3*G+EGZYuW+9<ClAJm2}yd{6kT3n&h{6!anZS=jyXV-f#Eo{3x#
zSr%!S@I3l?bX&}#n9SHMaVrxr3C|PK5|<`Qla?p-PeLVqnfN<FHqnw4ouo)=nv^+3
zGj(Vhb86Ex_O#4t1=9~sKbB0Nu21euexJN9xhVNu^2+3t<cZVmrpF~8p2?YIHEZvz
zk=d(f2hT2@TQpBOKXiV_0`UU#BIF|11^o*c3$`s}FN|I^ebMqo#}-{(*s&0`K)CSb
zBKe|@Mei0pUp#g3r^T}ue_Ui(h?%ci;IklXfyaV>7m^nKyFk0(>3sRTvUxspKh9;%
zX`4fxJ#F^4*|eF>Gi_%)Nge=4ph~t$KARjft!`@W)cI5HPChcpBdI4zlr);Ocw+BF
zpM;C?=VAw9{*4ZuK#WR@dJ=U$YGo8V@<_z=@E75q!Uw~rhP@062z?OxE{qXI4TFTJ
zf-eUV14;r;`0E2=17`Zw_|Ee=>TUF1>N)7~-XqYxnEQd7$n|!Ux%Ii#xV?6ZbY;41
zaGBr|;Ii74<5J>$&zb8y$EnmQ+p&;yg~M`aaCqu4(P5MQLA$lKHMSg9v&|LjLhJvm
zeVKO|{frxoJq$WyKBJUjU>sz+Gi@1cs{yM-S|#l$EtdL|W<{-}rc%Ahw@H1ZNrb-y
z2)+}409S#Vi%Y<*#D2zHL|;ZHqOwtoP;6u%Vh6kl_6XVloeFh^v_qg48}l5qlPSqq
zZ%Efa*FDyjY5r=$)pyk~<Gk@x<J-sW#-ZcM<BIWt@n34j_#M@V>WH#m>8&`W;L2~w
z#^iK)hWv|Mp~z8$$)C$TWUr(aY1x=%?8g{?%vq8x!HRc?{X|hhhtbocL_zjQ9e<4P
zF-#t;84MY?JP^X`?-%wp_ucI6>7CFM-OcIB?#$~r&>r5lpq18aZa&+5t2v=5qH%S@
zy1x$fo^=~)b83!O`&2bod4Q++aYb&0xROzEtNd5_`SKlQ;?j;kRe#te?nT2z(M8jW
z{wZ2ibfoBN(cB{E!hynj1=<2`{`dS9c|&>Spegdc<ksXy=aO@JbAII{WPi+lpMC0g
z{qM-%^L`)xec|`lY})UWzoUNN_)Yp%@=Nx6=kLPbH-G>6)thxW3!k+stN9l?t2paM
z)~&2RS?99IS)?qNEWfPTSx>VLWaa;|$r5Ir%^b^uXYw;YW`<-sX4+@QWkzSN&g{!t
zou&Ad{VVGi;}`pv*RPqsTz<{^wd)r)%km4Kbuv?%<?+kvS1UM*-rv7}U;h2%_wVe0
z?3LNh*@*0!*}`l^_Hgz<c0o>X&ViiAIWKZ%XXj;?=S1dI<}S%SkVnazl*i0%&YO^z
zlfNT>pnz6zrl7nqsqj+~s!&w;yJ%{WrFdg;MajxPwtv*62TEmSPs<OMn<^43yesBb
z^j2=I@~YlcbE7u4j!<`@F1y~Y{`Ozg-@=9&4bvMIHm+!jZYpUeG#_s{(K6gRr}a#0
zNn1oayuGyJRHsYl>P~UjoUWB!W!<NGynErjcYD9~{^-^8dGuZBx9;EEzox&7=fRuL
zYZ^!#gbh9(>==p~`ZSCfzQ;%MkMMg&d`CDV5hLFO%LUz||BS93Ju5^BU4+wwe?;>|
z67gd3dGSVZl6al?jbxhSs-$^r{g__5SNcabPiB<wRiG5zN^j*16<oy|Kc|MM52*7s
zL7LavN!qvCS30h)OlQ#h>LrFx#vo&=G2K{X3O7wQtuehZ4V%NvOU&=hzs%3fa*L<s
ztfdhGgE&BTK<+~tpls+}7!kG)rhu=5AA|pg@Iurgry~DDYEbED2zoR62zoYp75Xg(
zjya9>!rs90aA$B@`~iY1fl9C?>?Dj37ZINlc_bWZ3n`O~Afw3c<m(g?WgSIK-Arwy
z#nG~@CesP@p9~j9J##ygXPsulu*qOeW96|C?4!0pwjFk7?ezA0?du)f9d<c1at=AV
zI(~K9?Tm1q<1BKy=}LCJ=Z0`A;|6gLaRu&6-CI5OdlEo(1^3$TW$?c5lj!ruH_-RE
zZ;@Y;-)BFwKf`~gf1Uq0=(~OfMg~3z<ONZJW(TDQjR#K-ej02DaST}(QXe`Y^m(Wz
zY;D-nu+p&caQE<?;aTCji0Fvx5v7sX$gPnzk*X+G)QYIbQSB4lC!C!y6ul%mHTrP$
z=NP+~H8GE4e#SJ#NMa$e6Js-CHF1G)YvNMlisH2Klz8uW*Lc79#P}ug+v2ap|BY{q
z{}ZoBa7tL6uqPoU;d;X5gtUZB33C&Y5&{yO6L9fk3FvrryeWPdtTzzf8s89K7ymQ<
zef+)nm+{ZyPsXRl--u6(-xYs8{&4&u@SYaGKYnNYiukGVPVv+@O<V`q@4L9$ahKzc
z$8Cz+9+w<9J<d6f7AuRbihUk?C3a8j!r0(gR?JY$vzSLQn_~Q8pwV5?AEWn1&x&SE
zXrAzR!o~^YsII6-QM;q!!Fi`dI!EM1tPD4VXN1oUlZHJBiwbQFT^q^_`5Y1#EDpXH
z>>5-MG(S)km=PEj&>FBSfa?F+e}$ja?}VR|?@M1_pC3Nn-aowOc=dQ4@}hcXdQS3C
zc--(vaPM^A$yIVsaJ}5h+%~(4TvJ>rE}vZ%ff_Q!ndbD^X`bVl<5fprP7miSC(vQQ
z;k-k<z0CeKs44|^XY9glMYcC>W7rDzId%xEg>{h?W23UUY_q_IVqIx{);i7_%KXXP
z#q?rSGd3|?=vsOqJ(ZqJhgy|b?Y45KDQTZUDI89tQR}JCs5`0N6g4H6a+oraEF+hY
zkC7*n*`z_zPtr+J0?Co6B9;&z688{eiB^Of!d(0Sej84T+l>`sPh#PiGz=Mi4b4Ek
zKyi_!$W;gf;wB;<-UeR;C&GTf=0O$EYtVQ|2jn!w$&zhZZNY=5Z-<#-DlqLe#Ttdi
z4C54o!SKY8Z1B(v^~d!=x<=h4U6i(7dqz833)6hp9MN#qeD!Vhq;bvo`|<hXOx3XJ
znrfnos%%!KDq|H!#TUg!g|)m%epVhO>yw?A`Aci1SEO!Z6=Q41aFVx@)nbkKjyOnE
zELtss2|o%GM@L34kJ1I71+gPlBb)g`{=Q+u@QESw(Dfmk!83!%ffKx8-rWBD{>Z*p
zeazmSJzYJEx-+|JU6(o)ol83^I{ex%x2f8ew$`+|v|Mi1HqU8lYzl9D-e})&`S0l8
zHT8e%*VGl)x!1n04XAlv<5~Tp+P~^oRX}Ba<;n_P#r6t(`Tg?1veL3$Wp<^-rRz!=
ze@gyr`U5YiFF9KhQ>-igSiHBGT{Kkmv}i+-6X?%B7Va*LE`$`+6}&3gUNE(Qkzbqt
zDL*ZLe|}`XZQfvBPTuRh)VzIpbMw6N5TN28%5Bcg%>9u2D)(^izT8#0^KvHv1dPpP
z<_zZubHq8_Im(=o98r!Srz58m;Nl>7_2*RP41jlGjwGiqhnFMI(dHO(47uc7bgoOT
zU+#q5nYn9n*XFLvP0PKP`#ASLK-Kcx+T7thcpfItDK9c_Ro;%gy?GDw-se^33G<Qp
zp5W*<<sZm@l>aTi1ytxZ1rY`R6dWqJSI}6XDr6TX6mBVeP}optE($DKUv#0Uu9#Fj
zsW`1TyM$SCs^m?H^pEeKoqxWS;!9VSmX#5})haG`FF#kVt5{o6UKv#RqKaB|vPxII
zs#;L9x~9A~vG!+Oc-_l-pZceNo&VlzaBO(o=+bz<iQIIznb~}`h23(#71w&a)!3HW
zrfA>R-q*3TW1w?>XH8dJ*W+&6?#DgQo(nzV-r2n+eZGAe{qX*y{mr~dyblAMfjtA=
zgGqyL2K7T5hH{3jhmQ`|@x%COeEvw{$n6n{V6xz{KsFjNdT*33^cJ2I3Pk>*L!w$S
zRXk06McgL|l<bw1j}gY^k3AV{k$Ot!OK(WqWO&(fS&w|7yhstQc&Bt!o>7`qi&VAa
zLE{hAX!SaEoyJ4+NTUKz!YdtKw?dbzx6|*|=Nl-7e+(5yqH(41jR|I&X1WHj&C`6`
zoNK{Z7F%vvIsmGzfqa0BLSvvOpye<)Y%weY)(mIESHeHShY=GI`w*WICS)XXKe7-h
zMMa}dqsq~K=xyki=uwO-W((#iW)K^VJ&kR`IpR`qfADDh8vIMVl(3j^gJ2-eC%z*Z
zNOMUa$VBqL<Vs31<q5@1T}$nuO{EoDv90a_oJ(QA7;70a<{ajr^*`3VHj8ZPSqoS^
z_EL6_?M7Rk-3Gg1`?C%(hvN=1&UHts<0U7C(*tK4=gTe_m&-0X*X^!-Zfo3HxRbe`
z-2L7E^FVqW@#ykQ_RRNk^1AM&_Fm&%>f`Bi#;4ym*7uno(Qk`ii9g#v&A%<cHy|~j
zDKH@LL|{jdPtg9LhG2)_g~9KGc_DEj7eg9CeM9GmehC$Y#e^LVD-MT*PY?euyefhn
zaX8{*gdj3H@>t~S$fhXAsA*BRqjIAR6Wk`OoRB`DHX0Q@C3<`G<LLHiO-y{us+jbc
z));kcLhOdvGqImyJLBx);^NlD-HZDZ$BQS&$Hhm-Z;U?yaO*_;!T96x*W>rZZ;GE7
z&xv=BN5m82?c)S-@8j;q-Hdx2cQx)1K&^{$d*b%Ty^Px%HzzI%Y;8guE_OIp5o?a~
zj;)VvkIjtz8Y_ww$6?~=v7qAvpWTj4jXfKC31BZJ)-KjL78*;BCC5l&9>gq+SsgPa
z#yMtEj86<Bx&|EgzX0cAqu~?UCsa?kK4I<zr>L>0a)9cyq7ae!k=rBvBf2AAM{Eig
zhu;mK6HX3m4to|B7g`y5Ae0mGG9)qt8hjymLeN0a*`T<<{=n@4ihy$gZ2wpOll^3V
z>-_9|-}=t?Y4+LRL-M}h9p%;JwZ&8BdB@Y&W5nZ-yV(7pyBl|m`wy4q_S9{P>wxPn
zfOt7BYn;u_x14>Q2AuXdAsh=F7jjITx14APmBS~8&Gst$`}Py;YVFS1Mca1TUa)m%
zYuT6Cek>mAKUT7h!RDpSP8$d73hT=N@es^XP*d461{n_-vl$rrANoD|EV{E*BS1VC
znv_;VyF{BtBT}2F52&lDE)*f<3uPB&A_YTkCO;%^B>Ry`q+-%t(lSyYiAL-qW)RmA
zqlpkg8{s42JYf#L4L=uGf{VkJVdrCpFpJPl=ozR{)KR1!c@F7{_=%Ve?}49$Q(zxq
zbD&b_C8!@H3$hMkYx!*1Y!;iJm?xP!P3fjkV+*KB0}VrlD+Ygki~fOrqHaw0PB%%b
z(SFok(Js<xHTN`A)LQjhb+{Tf{&jrqI7`*8dZ}8Xf+)W#|5Z9GniSU+NeYPkyL`Kx
zDl3tt$>OCW(ofRKQutWW{}3-n@{d?4ekxul(uwYgCJBYYtHQ9+rqR8lNWn+J;*q|Q
zlo2BTCf|Gb^>F-9`B3~|)!_Vret>!s-irS2{?&c8eJgt_d&7Gk^tgAQ>&A5*?d<MM
z>iE{-)_$YS+_tHe*SfwXuO+nkZZo23Ut>e#!iJiLq`yD@hSk5U_pkd}=T!Tx*0-jj
zCb{}=^_nV6)s-r*%Hqm}721mH6>;Uf^3&zqvevSLWdWs<(%Yrcf0Tc|{@M1&wPXnN
z`Y9zI#e(9m00$C_9gA9u9u(~^iY>A$lokFhyj!@VaAl!)A-O<W&<wEfR>9$dB?Z#}
zu22go`Ih{l{MP(G`5*J&<=@WVm%llGUH;DeRrxdX=jSKnhvX;a$K`tfT(ZmO<cH-)
z=T8A`cK(w56=2Pj{KNTY^6!EMNL_vv*vde@rT|qyE^sdJF9<7G4EA)S;B3MBf}(=9
z0)BzI(6-RNa8lv?!h?mWg^vnz3wsJRMb<^WMRSUF04&Qa;uXn??TV)rZ!f-CoL}5i
zf-P|?`KRP`$?KBZ673(qKdb)S`_u48SIQ_|TY9;)z6@CwTXwmusGM0ox%_rHuVO~U
zg^JEf=gQ5M)m2_q=c~lkv#WD!7&Rwr#%gER7S#pSJ*~&rr`4<e&i?ziA+h0eqi5r@
zCRWp>W_<IBW=qSqmcG`dt*vbf+iKh6+RHm4I^K7Bb^hogbe->}cW>_=>sixN*E_NI
zX`fTy<-W20#r+k$3B1QV)4<k&zk?xz&xi0sn}$k;U5Bp>3;1*Szek88TSxv190lhE
z4Wr!AW1}5HFK}m7h`6HlqHKV4YsD|cDoL>9GT>~^V>^I0V3bahUXZ?#!DaEXE3#6#
zlYF)Oro2r-SIkh{QmB**l;x^m)%$V$_>u88wV(QtTCG{9`L1==ZqnxJd_W~wqxaCC
z(-#@+3`Y#Vj2wV?UrcCIlIgOk)9h#7WzMr;0ODP;bVC9ldm+CeVrU$68#E6phegA-
z!17>1xF38I{5gCS;fYv}_=M;|vXN^5tLs9sQ43MmQ8j?uO+ueT=U{M{M9d9LHO7pc
zj7`JlVAVK#++N&UoB<z?KZ!3T*b$Zx9s`y)nRpC%9L}IRE+^Xp^sA$|Q%+EX)OhMM
z8l1L|)?>BU>Jyzyzd+|P{$=zr6PRDEZLQB(8*Nf-Mp%nkU)kR53|qAAVcP+_6?V1u
z{`L<YXbz_x#yBfD1&)!9=}s7@lTIzpzRqu)l`h*|np}NcZ@9|b7Px)o61hvcrS3%c
z6u|wwJ&t-bd$K$adX{)0y;gdqd&#^*yw7>p_;~rO@p<Gk<m>Od&Ns_f>KE#l>i5uZ
z)Zf{Eh5rkGUVuZuih!d5MFHc1K7nfkZw5975rd)tPCgB44~7JX2k#BO6Py`58sZ)@
zH{?u6R!C2XG1Mn?OX!)<-=W>1s<42t<ggQApTauAq~Q+X@!@O3(*Q#%4Ihp`MMOm;
zM=Xo@H{v|tkLeLtBHl;bjCdGvBw}*J#t6rV1reU%nh2{1M1*sMT?7O)+i-1odHDD6
zvhc6rm%>xR?}a}E40LI@Q@AhKHa5%<rV8r~YYO`lRv-2#Y!Be6OTrF?Z4O%zwks?=
z)EwFyS{nKWwCjMErG#Dx-5)wL)IAg$iU3EQ7xFITbjZ<=9U+rK0)oeaJHS~T4xSri
z3i=ZCF=$H=H&7AyJaA*+gh1<n_JGWQsR1zmpZ>}I4t}G4H~s$gqx<Ij?(v2DeD&Gs
z1M`01?dMhDb=E81bIkLGXN1RRkAFNk?myhuxm$7XbCccr-7dKWxN5;~<=|4`a?n}t
z{Mvc7lLD~0SjPd!r;ZVvR?aDozk|Txh(nNlhy8JT54#GxlXjlAKW(?!PGs}h7ulhJ
z%^hO}*a&T|+AIfbuFU$dwJY;G^DuKNL(6DnY-UWNkJ2B}SI|AIcvg3<=2$t<8fY1`
z88lmJ8}%)yz=9}p%2&!+$|MSrJV<^@-b$WK>LJ}H9U=Wg3L(mfjl_H4{*57G3GIYO
zguR4F0t(-c|AxPTUyP^YG`McuL)<0Y5}ZBOgss6AU@v2*V}>zjFhul6^kmc!Divjg
z%t!7;Vh~>tli}m=7w~Ct4D17J8Vm}34_ygGKz=~}g-|W6mQ;(sS!2F#PBv3bd8Q*K
zPh&SwV^$em4DE&t!y*Gg-=)8%U!te!x^=I0+jRk2p*CB4UmL2iX!13OH3=GsI!Ap?
z9ib+VSB-BQ4^f#^KU61G%K`K2R^C@mSK29B6(<z)6li(9{IJ|prj-4V?T~p%hotG!
z#Ztyt?btb>O^PMAB+~!`d@G(QGK=ntrV2&E`$Fz$-RQPaYr#*!6o7}jMo9c;{P^LT
z;pCydp~Hiw!AFC(1D^*xd7pXH`*ZuJ_m%fe?k(+I-qYE$s=KRuNtd8&OQ)=JZHKDk
zbO*NmVY@?HZrkeC&er`cvX=A~m*ywU8=8?#Pn%{pY8sz3#y1Q#q&G}$K>W@8yZf(C
zeRKW8`qlN6y8623bt~%ZYKH++JX1Tl7GBd-^Q<PVW^RpZwW_+X`d;<k>N(YJRpV8H
zs;a7zs{2)^s+Lv(Iit#@idm_y?5^yp{8d?4`L^<5<+;jZmAfmKR?e$Ttc<Nps7$JK
ztMsY#t#qmksSK#JtMmZNo|VzyyE&DUD(6<ttXxsKq;hTL&dOC_X<Ox~%1f0m!PY7&
z|5mnDiow<`RqU#es##TQsy0*|2m5|sRbEwFC8&l}TUUEkM*%$AP<^BNX7$hNKh=V2
zT@9uttY&`AdVo+jYYJ;xYO%E*wKHn}sXbqtQQKInsKeI9)orZ1Sof{2yB<{^RKL9b
zQGH3h;IGHu^?yJ89c!>|*wk>op{0@9xVZ6lV^@=V)0U<$O}gg!%@3RTEpaXBt>o6Z
ztuI=2ZFAak+Hvih+S@z)J1%r6I%jv5blG-Y>JoJ)bbshU_U!1X?v3ib->d7}&{yB@
z-hZ73;U(}s4LA=RALt*97`!n!I5cnQ$uMzv^>7Z~iocd$I^sRDccfY1E7&Dy9CaBz
zI9e&R6Ydh`h~T0{qGuwdI8J;)Tq|KqR!hD~G-I)2$Hpq81nFGqeQCE0DO)N_mo>|6
z<#XkC<TVPoVxi)s;<G}a<SLga-z)P~SXG2-nd-i(LZulG1y$W^HBP-r{Y}HxY}XWP
z9kk1}B|3<1o-SP{*T?9O=<5wuhNa*+5gPrB8;w~;lPMBBLs=%ZInlhw{KY(K@wTk9
z+_lt0D3C<RamX)-5NZq5{&UdZP$SG0wgYw>_8X>z`@@%jx-=UuK{z4iAkHD)Acl}k
z<ZNUL@)NQN1wqB34x>Jz`q2b*IC?w!1-ci5#sp)IU_N2GunyQc*mKx+932;eOT+!Z
zN%8LZt)Q>yCBzYS5psxl;tb*gVm~Q}w4c;KrhzItm%^lMr2M8bshfb}=}bFG>#z#5
zx?-iJ&!A^A$c(*=GG;XM98+!`YkkpL3lytN7M8V^Rm5hpcd%=0y=-^e7JwwcZo6W8
zTl*CI0tbS_euqp4BWEh-4u|jP;dtD!#0l**A2_Z3&TQv-&NrOfT-;o?xZH6WaP@Ru
z<a*1s)Q#vC>2}ENksFU|#hu1Y;pTFc?!N8|+%LNqxeGn)J(4|kdc5{%^Q3r&d2aB$
z=2_|~@*;U9dMyXM@|jnwm(knZd$RWl?>pYVy?cCcKHfeHeYW^y`26t^`VxJ)zVm!H
z`(E+=>|5{4_rv&k`c3lN;g{z3&hLj`-~Tm#h@ToTQ5%4_F8&;Um_OFv$4~Aj_R9vX
z7$D1Izh8dW{O<Ve_uC7Qd5d3!AKA~rm**?+bM=Gy*7*v2TYSIz7Wn@5edv1w%>D4a
z?YqTy8$k2DzWaPP`lk6V^j+ke0;U9CwvWoE+h@?{i%+W0WuH4fH+*jTEc2NNwBS%5
zoOiFc!dvKl**nd9llLTV7ca9{yH~c?Rj*WVwoU-Y%016{&h;>Pw0m6e*yiEk-tPVm
z)E4o8seR@y<l@{)+>W?SaD%&+xE^&)a8bF`yKHuWJ9j!CbH+KfIvsEdbR2ZdaGdE#
z=j3tb0EesAA=Sa#zQ_KieT+TE?zi1eJGO1D?RMKJww(Qzy^M`!)v>m+xPZIewOL}r
zvhK4!XC2E_GmDvfnPChaBb{-O5e5+M1${r@ZWUH<thQRY(#*6%+IgU#v#Fib+tgW9
zC(1D84bUqmQ?P)&y#b2lL^6UjOv(T#7e}H1l=}%VZUK=&7$^K8JRxi+%p%y}hw-KO
zYxpJj7<?p7hI@&-fLn>1f%C<hv2EBU>|<;yxZ7PYCX5nOgL#3uf?0@}gn^^KqZgnI
zsJo~nqy%{l8GsNVo*<?oi161yNx^~o@+{01+6TQ4T@Ix|Y9Qwz6Cq?vwdFaeNy+AX
z^F{M?v#m*P$~PSZH7m?mV|-?uWn>y;hOdUJhRFszz`%R@t@<E6N>{8)(=F9`Xhqr|
z+OyhaTCPT>snlH3?9fcr(A72So9bQaFu(~j$1jaf9d}a+RQamwsyQkvWgGCGk0_&+
z_KIA^6~!{SQQjrLAfGIU%W`FBWiw<}(jw_TsjCz^c6DrqL@W6&*&soQTYzIn5oL>Z
zh-kth;XEOH^v!6Dz$myO2p%aOSvmsYKj!-kR}QZqh74s4xeb;Kt{o5$JRI=h{oqaM
z7xka%_vkC>+t!Eg{nfj)7t@o~v$_Y~{j+;>m!_+@YiSpuv!ruxXJE%z$B&K;9j@&?
z?RVPev@_ZU+g`ODYD;V*xBdlv`GMA?R(6ZD<xk7amJ2PjTWnhp%>&Kf0Dh)5&uk89
zrUHgJ(A3oQvniwLXw%82B~1yyo3d}BG%=gtjp{~TV-w(?b&bCoKQ#VmeBAh~@e#n=
zjK&9zXBw|I-e|noc&za}nBHo<1N7MkjjtPDG-ftdHkLNlfN5`IYvX9632aB!XaPE*
zdy{WdOw;V94Nd!-jx{}KdJ9@%Q+v}$leQV#?9$9_p47amd42P-=Kq=>H|I3hfn(LS
zkXk}ornIbSInZ*o<wZ+tOG}HUmDU>CI<0kk>!sG$t>0QDZP+%4wrOqq+fKG+w$%ab
zVz*Ch-`@UTdvUv@!?|N>$FYvr9lf38&bgh(I*U3@U4C7=x^lYs-QnH)x_|bddg6P|
z1GZ+@d%m}@581b*?{1&6Kde8spU3m#9pwETa2z;1P(EloxNER*h(5G(==YFic-!!I
z;JD4_zv7!ll7LFtDTorJ3jU5djqV@)DZ~iZ2ww{OMFFDoqD(OX_-+{>)8H#v_dk5|
z8QVUVHKvuuN_R<rNma5C*)~vJ3FNNw74rM?W(65&5GNHM0f%!@&Q@Mf{!&U+_NtYt
zTdHp=$++`)-1xci$K%avtlC4pR(%oZ8C_}%@aYz64r=l=25o{iO<Sw8)~(ZJ=tTNZ
z{dWC31H`~J>@&PI2#nUo)yDJ2QlrI`VA^eZVQM!sz>{>){L)-+!CN9N+bu6G6(Esj
z2U!9+3Hb=AheDu!&=t_L(4Wu&s0J1WxZg?GdsrPD0(XH=gdc*Z!^`1f1QQX1*n~KW
zc!%gfqLBf}dB_9Ex5zT29_5FMM6E>KM&+Wq&<u1EdMElWIv;JsxMAjCu3}0tYOD=*
zDmDe1i|xTNaLaJFaK(5WJ{f-uUx+sXJiJ7xCen#hiC>9LBrfQOvPc$kH2EsIi{ee$
zOZh{^QU9Snr)p@EXy<6{R{mB;tjg##`f~a^`Y2;6;{v0GX~$g2d;yR#$~wim$Xaic
zXmin~n1yCdWnE$wv#r>%?6d4bw!n6R?E%|Yww-qFc1wU4RBjKm_p;w=f6u<of$R_f
ze8an-7ary~aVB%Nab9vN9g&WKj*A^HJHB@8bwW6CofbOnbGqwP?KI?U>m2I52=wJ|
zoJ*ZW&Sn=^m+3ACT+&^NTxwkOuC}g8uJc@v14RAk+V3iMW4Q&n#kp+;$eQl<1Nc?~
zE|SaQ1_PYf!%gEp<`!_vxy=AMl<pXJTXz;$%N28F++MDRE9XkNd~O-Hp4-B`$;|?(
ziA&sz-0R$v+%w#(+$ipLfYKb0q?p8A2HGs{L@*!0b>l{J5nwL}E{2PC>vd}d3`-8C
zS#Aw(zui8%J$L&C@ae1DZMV~I$K5u%CAv)n$LH#XaP0!E2psuUpdoK^UFQ0aYp5&C
zCD-LD(3Lm2#Jfy%p@H+QaK7n$$T`xP<ivCO>~zy<kyE6j-m${*h-0E7httL>;_T!^
zaEK254qqJB090$Se`CMfKFZ$8uGDUsU5u^5_O0y(+Ynm_I|FFiY*q~`9blV>jmYMM
z%~~6}b(Qsf>y6eh=3nMz=4O!Q=wp0g{KE*Li|D_A8y9D#vMR9p&uX0&n<l1Z(hkw$
zY4+4X;K!|_Mo?jt9?CUJ3MH6=CbyC^$Op+`WCp2&luf!wN+Nj^6~s5hN5q{(UxI}o
zCS(&X6IKxd2?V?p{~do5zYZuC6yVV{;lALm0F+C@F>y$2JN7HkH8x^rV10mZC&fI$
zq=Gtc5hf1Qdo~yZx(8i{zK`CIUJLGiFSG|rj><vpL3ttvke88h2qPi~=qHhI3H%2@
zJ};OE_8hhq777&tt>q|m65xHckXw)~kU)#kQfNuD#9KT;n(eFkig~8l5g=fJ=@f9`
zSw^KX&-lQ&));9-8M+MLfDXFQ5T!Ti+x1`n#|FdoSilEA=uYbv>uhycZ3{rdGumC+
z30jJ#L-SLUs#&11QH#~hKr1?_o~HH&nUz1|m&f;x`;Mbj&8kPL%_<+ISy`iepj@eR
zSBxq$73&n!<T`n_{HQ!yW(1gcLKY$&kiL<wmAZ_TjvXC~ktiiECI3js;vDfBv9;*0
zXp_iAm?_*LWRDh&?i}R^Y6Keu^pU2KMI&_nZ~i*I%W&QB!D08IrlFHVF@uW1YlDe{
zsDaFZ>jM)8V7xcHy*&5+vHs8fyZU|lQGHc?Px>~4!Vucq(3{b_r*}p#yJx7UqUUkX
z?w%<<K0So)(eBdjx814T%e!ZHJ9eYGL|u(tSzQ@`(QE@bi|JhfU2a{JPHpE{=WyrW
z&f3n(&NrQJJMVWs?!4N0vNNUgZ0FI={a|iS=dR9;ox4Fx0dpHV_jPUu?+5?4l-BuQ
z=atS&of(~XJ70po|J?bjGq<y;v!b)UQvkNy(W&c#cQL!TU7=m`0Ddp*+TC@c>q^(F
zuCHAsUF}_iU8-(Gw^O%ow@-I+_mb{y-6y-BbieP;>F(<u?$-9W^w{=<^eh4Abh;-U
zR0H)r{k@Q0YHwI?Qtz_ftG)Mnb9x(ljeUf^h`x1w2l{UH{p#cOWBP-D@_42HWq%!y
z!t>#+=3U|a<S77Cn>TP}pk_cj7&*9q@atgrko(Zuq5DJpVYlI9!;gpi`A+-|{FnTW
z5qH4bK97tEA_RK{`J=GWgwb=OHA1>DS@=LWBI1aah@OZB#V+D)KoM6+TqV1JBP<y6
z9NRQ@cT6C)k<JDTu2zPUCCZM;ie&?Gu6&jJk-Qe<OhOe06zPg4C0RK|xl4Ih*{MPT
zwQ{5C0jRu$;~wMFz+Lxfylz~hc2Um+Z0?b|SS`}nYbI!xYffw4XlgVX!0eK=tF;%k
z@3l2rv5u&V)*aBj)Cu)2`sF~^EYs@^5r+MS*M=@5%Q(%r%lO9F08lT{w88YmR0do<
zJM&WWUUP;y&pd9ivG`aHfYiz_ODlu`@q^5Q?1EeZnrAme2@QZwhHizPhJJ^(K-DlC
zSSWD(Qea<TzhJ{K3!Dp|4BrY*g+Br)*oVL(91t@R%MfP~PZ70<VI&Ia0g^8NA|E0%
zk<BP5$^(^*+J}0C`h*%r<Iq0n<>));Ty#Ii3KM`?j=7C_j~T*pu!*2zeu^EzQE>6N
z{kTlrAl@6l9DfJjOdt`a{tpjP#3{rp#9|VLG>Mc-`byH0{mI+OS!6Zn*EUh!Q+lcH
z)GgFY)J__aHl3D6%cE(mT!CNn$f|`7rTfwk(_hou8Cb?d#vw)qqnSx$CNbADZ!jyZ
zVb&hj^MR)N-MZbz$|eG6Wob4!HeEIrRy1o7>j3LHs}MMiRJIp;2K!(36~H~3*%n(n
z+eq6rwg+t=+veI1+3M_U?V{~w*d4LEXqOH8^dUR5y@!36{cQUk_UG)s*_YW5+bbMw
z9l}6n?_Y;Q4jB&59SR)y4rUI8<Ib7DS-|<1bCq*}lgX(DISn;O>PQ1FriY`uV>nQ8
zodJr>aGc}Fb|gAt9LXF3XOPpx$>$7n+Buz^W=;*~G5G6GoK((J@V<j{owJ8?k#mW2
z7hv`cu)LkK95AY6&N@yE$C2Z~A#uDp1P+Zua?o-d9F$<5#DRiiK{+TmXoqo!dWRf`
zOAc2Y?m298*zIu4VJ>Kn4j6l#eVhHD{a5>3@Oo;$#6Aw-7tc;)*JO9u?x@{lJ10Aa
zt--d)_NDC++hAKac0c<&`zm`8NSZ=f?X2spEvz6G&ZfiWq0MgK;5u9PSiiMiZ5_na
zFw2;40Beh2LK#Jjvy3H-Ai9vAMZZOlp-0kDR@GMb0k*l*MrmJYr)hI&6snr~gL<60
zoEkupQF18vC<`c&6bQMA{F%IyJeSNQ$w+^I|F)hKL&5-jD<obe?jVK`X#^pm7U=HB
z36lv7ydK|#&%~d>Z^lo-yWrutPFxo5EN&-2I4|rtU~$>l*Vt3o<=81$JB$|74%GaQ
zm~)s_n7NoB3=OSCcc4qrH_%sr&%Fxminc>(P~E6{)OWz|Qc$~5b5Y(XSELyQMYbcK
zAvYpDz|(OHu?FD{7sK=5SK)Ku*065aC)jpaEDR3qfj)(%0L6s>>4p4+oPkV+SXo4t
zKbC8tI*qgt%>CvZ^Ih|Lv%i^aQkrT^&rK&yi%nb;!6-7810{5yaf;E)NHOpYd4?B;
z1BT^>Km$zQp)c3p)$h~K(ue4bx&d8@?jFFxIUv_Y(F(Nr+IQNM+PT_DEm<Si{Lwtr
z?A6TI_-Wwk5p|LJx_Xs*f*L*EI{smN-+02fld4-)q&fi-1rAD~GFN$4nE*IquOdUS
zLlG`l$bZOp%Hw4^;2~a+B}xs_Z0UAs=$Lx!{@9u^ilkC<OcDot#CPIVVkc3V=%^@K
z1QmV~9uvBc@<*SIt{8O_@B~?cr2@B+k&&#C)RE*78o!JGhQEiOG;A4e9)2~ve|XZc
z<B)79d+5c`j-gpYE<joB7|a}eGI($>c`$I0F`yY}7|0uVHgIZS*TC$7nFB5ZSe}_D
z<n{BKc!j+0yz{(Uyj{GVycN7TylK2RULY@&=fbn++3<)w43E&S>DTg*{U(66=6)@h
zs`~Z)YA~k+-<bMMJTec-!}0JuCXWHK+)TihJbC_LOH+9>d24x_c^h~qd53suya&Ad
zyysw#CA=bDCyzG(;pqnO19k&W1Caw00Tyi;*f(%&;Kab4fyV>61Ahm428@HKLCT=p
zVEACd;FiIE2d@mKgH|wDIVc*`43UOhh9ZX+fwV{(V9!5?%7%J}vBT71|KXX#JBBX|
ze;)obEaOA?&iu*zUHlvT&-@O)dBkaC-pGlO3{Yw41<r!if(wFo0@0}L=$z3Lqd!J@
zLZ)yjxc+$n*Stk5Mb|*S1SbvyJpQeCRALX(l4m7FW2iBYv6QjQu_39obPnMC*;0Xw
z19B#*;CD94+4A)uCsim{DI9?ZcT(|7F|1@M<COcA_movCn94=9P<2Z6Rn<C<8xI(t
zGoCj7V!RP(m5%E9>aFU>>OX3M2Cw02R%&)@(!m|rtHo$-wbQlR0iS!Rt<~~%1f831
zrfw^^Ycs&z+ou!jt%1HV1*jaU`fqxXfn<mUEHB+qWsn$MjPr~~jIWHXM!Ct^G}pAv
zbk9_55}1tUD1dvr0N?v;uCc%@R+c1?9Xn!qZ^^NATg(s+Bm}Y^aujkAk_%~o@Ss*u
zFK9gAe|w-A&~MO6s2D~77#I#)3EK#}0DBB8f;9mxlmT~#C&CxQPrz@$Kf?>*eQ+Iu
zh44WvMyy3#MZ825Ai9tkBpn%oT!K7_yo>yX97W1do~RJi8q`VD7gRG!fwn?VL9Yaf
zx1Z=v3<~3p`3G|ilY{BO(y+<cv)E_YKCBt%h1-m~hARcmVGw>5{yM%IZy*E_RuXOz
z3J4}5m$;gEjaW?7lYB^vNjFJFBq=$FynuY1oJ}4CdC>&Q9?C6B9z{fTrY3@P-VN#(
zs+@+UMbK8!uF&4m%4y?POsjCK`Bte`@2%>s#^^YDG+>fz09yW{SJKBBY(@-YE+dt3
znemcQ%V=W~m<(nla~g9S^8z!2naAv4s;m*#T<b9FIo8{)QvpvYvTn8>w1L=o+4$Pb
z0PJP2%@vyrn*y6!8-dLji^5{F!dbIH+rdg@-DkaH{RC{Moi)ZX0$%FO4rNaUZ4N-%
z4eWzJ<=e-e4Mr(!V{c+F0Z6i#y#Rb?3)XUHN3#9c47NR+&E~RcY&4qyKF5Jih-?T;
z&8h_3)UqUCI?5VkjkDyeKGra+gH;Yj(7a-OX5C;t1h2=eEY=s+SJq9|8Gue(!7;66
zZDOrsEo1$|iU-H($bzt-Ha#{C;OIZve6_i6bIxXiO|(s*jkgWiT4+6H-C&(>y$xiN
zVyyj{7N(e4!F<iU!d%QuWHLbxzlQM!<d$YJ0_hfd8BijR)7R0x=vb>ht734){{h_H
ziZ(?11nQM#G(V~gXp;AV+C7IFMln$uC@(1MDbbWbfNcFhnM@(iC%cegq;}F<(s__A
z@gS-}wj_^ulempIn@9)PR!?|CI86AL5J8~ewfNuoPx#aLm3Tiq2dBpM;eO)Mafd;^
z-wS7l9mcj`-(W9ccVg#a<FG7@1=9)e?LEM^HJBL~KMWItLidAQ%3FYNJJFla6VYyH
zI?9M@M>U{+pq`=5qt>IA0+k~OMMPndLSzMK9|5;ZLvBW{L&hVWkakE2&^LQQGAso#
z8({;N!@t8Xg6G8%#)rLuor5ia`9jUmPVj`KLT5oEp=3xKqy#*Jn;`KJx`l6P1kdMr
z%PPxci@jN4?g1{vBlAwc|H931lgd;DD%xuxhdtHgV>B9h#yWt3w~YslGmJ4tqCpE>
z!CH_5y=?f`Fx?Ptu+q!)o%&4uWBo<_W_=RKy-{=mU6byI?xrpU;9;DOq*ZCF06RPn
z`kv|9VBi|cLB;)9a};Pyp};%rSLdm(sJE%3)J|ZGLj_PxH;+$HnN>Z2BW_W}tI$fm
zGDEpf8KZ<N$`lV2D-<mGnEaFcpgcj2lKlmK&RiK+$_G4gi!^vlJ61M!V{GLZTf&pP
zksOpHh%MrF@h$OovA-B1su6t`Z5PcJafD+)OZ^Y{MpJ~2LfB~UX#VJbqq{~Ij0TS4
z1tLMcAY1TQa8$5Euvic(pbKCl;*oZswtg9TJaS>=*vMMIFcU|jM|?)?MyMlDzLr10
z?*_=w2v}zg{~P}~|1ID=*ZGh5=lB=-hxupuC;6%1wHM6q=kMbm1K7Kle-NbX&w}YG
z@XaOud9eO}{JZ>nz~Ows&*JCufAIf+Ep~zJ%K4*w(FkM&KSCd2jd*}ue)vcN*#GR2
z`6IhW){LAQ`46-wBcDcoj1-MDk93R-kH|)}0-C@{;4hdUSSwg5*aPw)w**fGUj+Gr
z7I2R8QQRmSIA{r@b3wX)$LO`u`=hy|Wgvf~6=H?X!g%2#;TGW)VTQ0+*diPkQAB>C
zd7`bNhoTRn4v|jG5Kj{C6sL&4h`S|7iHl?vs6(Df+9k#@zp>=8lVfkkI;BwQ1nFw&
zEor87NM<KXl5Lkgm9@&$@&J%8xg`HA7bs}Jf!hjx)k=j}>7<;Y+^T$|tWb&pz9p)*
z0|r;35{xs(gU6SSp9Kh4sfMX3>RIYJpoV&({;L*itTh3eRY0qJq$$u0XwiVj#cEe+
zZ)hKD%e4}%N@uT&(M{J~)ScCR*H!CU^boxx7<Dj1ze#^s|4g5uF9emG-as(e8zzDK
zc`Hb-yfjn*#G@N08rK*v8NV5ujA|1HxO!_%XH2(Dl_1Z8HanY>%&W|Y&3DW{%<X2e
z1#0mF$T!1s&~n4_+EQ-mw`jpgU2n)#$WoAYxeIyuKlV2WF+-i9-q2*|YUnQL4d^q#
z0;`}rFv<)AbAyGzW&kyG7c3q21Xc_y0m_XAZVQlbBB*B%!jHh8fv3C>J_JUiQ4k)8
zS%@Ww{fKM8CoDkpBly58^g&Jo+%N_C0whJdP;ithDj4A5Mbv#%1xkq~qXU6rbQ1j)
zU4X%095J&ndoXt~<rqE|g$>4T!v2T-iRI&PxM-l6p22;@b>X4-aQp)NMSKRn8LuZW
z2-AT-bBB;e7$u^JK41*RKH`7GYGNk|L1L1olQxhpk=~IiNis5y>_MJEUQ0d+^ssF5
zDA_>aP{Jv*fVz5t@)YFP|5CJ67}b|Lg_=y=N4*Ku)_iIUl}E$S=rk|dY}y8pdA~tR
zr<DK%<y%3ma8_<su~tcdrR=miZFSb_8$i=CD?Y$eBuKBi(*r?bej$AqaH4L|U(&w=
zZ0!Qhl!}33xPcKIk&J1Kt&BB{9gH-_ImR8vbAYvP7_S-k!0R*P5#u_@A)Wxb?inzu
z>oDUqNCNE#>mO$vVC)8evkpv8g4Z6#7RGwUGVtv`jBSjKj8$NH6PP=~*vVJ~K3~LG
z!SH27fxS61Tp4i;I|hS+U_cl|2AQs=8|gjZm}=<RAnjN~FQGrB-=rU-AEl?zx6{|t
zm(Ul`!|4HZoRtBbRhLzr)n}{6R%fhMf);K?w8GPjv@Tj3K(gcD%1ouXf((g}T2B25
zJhoHR#o$WPfeKkpc}+P+nFqL<Ed@@_Cw~N5<VtcB*@k2$Rg-c7W7_~28<zwj3W-06
z7l?<5QA9T)i68^{k{5*Qgf)avg2VsDs=dKq!SBLP!+YWJxN%%NNLF3N?Zz#~h2v~+
zFf0%I1^W_v25`4|SPv`#3kB@00P_xL?*}l`FbNnZ3>vLK*PzSLZ_vllDd=VBFtk6K
zjfQ{}W*({>bpv${WK%YxW}*@Riz5OK*N3b`<^qJffjo=cgItMRgbYUdBIyVdViZx2
z_=ETX?(rLly@<nze-MihQ3x)A1AILtybgX1z8B~vjxY)AFHkx6!Qx>a0QZKWnb3RC
zQ_#7<X<$MmkY>np$Q8&&fPEeih^5z3V|fL*-ww+XOEeg5XEHaMOTjp!E9QOXW#(A3
zqZtiU&_>f&P~o01?F6-MlF8eIF^Y{{#u9*pH;vmswk_5eZloIFKpAZ{d;vYiWy1<E
zG9uF8qqpc)KqJit-0-}97r;Y*y#wHfZJ_VT(4EsA1QmBAKt!Xq3vk4nfFmYrgS8M1
zPm`m0tT~`rt?|)N)I5-<xvk!=PE>o23&v~5)5o`tCyiUF##EnF7l3!;se%FB^pSG2
zGD1mF^eCPx4k{7>Dh|ps<!SN-a<0rGYmnWM?Uu#Jm{N(fTKY=5Q#w=XB1Mh$0k`Pp
z*sihJKv|<o6q0($XUR3m8Oa<;sDvv)h!x@nah>>?__p|{c&~V#c(OQH%n{p)gd(k|
zMbs?H6nz%G6+IB$6s3v|iZ+9h8q-C|q9njMCyCreK_X`nL&Ox>i<m;ah#<lP+&~B|
zLeu}68cbC}8CX_;Z_FZ?2qMCPwJ;*u|E(*s5jla3VgTSw;b4msz;>sL=7K$}7wrWZ
z{nMf=qW?fH=!NK==&`6!lq;$hb%{DfGSIYQtk_!YEcO!niRX$F#dE}4#e2Z(EI|H8
z;#cAl(3-@(;&HJaU=>s1E%A{gNft{MNp?z3N-jtqNWMxcBxMqTL@%+7vBo0CCV_<R
zc92WD1+G`aSUX6N;G}UNCAm$SCVei=l6FgVG6z|ZY=vy6?6Is2jAt<c&uxZ$oBWDA
zN8X}9D4Z0N6<ZYd6+ab?N}SSFIY+r&nXb%J4ykA=50Ek0sk);oRrQV&fg-+m{NVV#
z@sjZ_HB#*W)ba!B2kNitdXTcT0;<6RpdMTXcSxm1sikPS+9}%2+EakV{m}BYY8^=z
zq?@5zqdN@lu=l#ZAg8R;I{=KErC+H(roW{BpwHJgfxFUZU>W=Y$}Ki*H=HzFGrTcm
z8EOoD2D1@sB!TowqH(Elv+<Pild-}m0NKqTpl+@=odap;Y*U>{V8)x>%@fUQ%)0^V
zWthv&edc}(+`_R0TV{fU%OQY#F97SSw(u-Q2nND{_&^pwrU9p6KO`OU4DuQ9zg{rT
z0Rpvw`a**M2Cjl`hF%0t;Ahb4pdC;N@B?u$Cs+V13APmEVh+JB!tTO;!v4VOVPcpZ
zutGcd1dw7|4&Mx_-E{aDcoDn>t^?eVjR*vF@Iu6KFsA7>q5{!~Pysx2K`ub9LLLGN
zQ8uy>j1HusLQ#o8J$i`x3bZ5>nu(4D3^5J;09}9{1e&QkW(npn<^m=Q^k{Ox6Qi*!
zvD<)hS_~W+6V4772KvC=xVyMdxLTYVkHvF<d$SgQ5dR$i8sC8*1l-XHu!Grzt%OvN
zW%va8RUW}ev?Kb0^vyajF6$UEomfQ7Bn}aEBoxU3<kzPHUb&HUi1d*36gWmTApa)?
zZlo0$j~GNwB(ET^0~mURe2@GC^yiIaK3PRpfZUE7#RsGYXHZsBwopz|E`j!jl1<5?
zG*SjB5{iY20esYf8VT@q8bF6l)Fafh04J_f-%zhn?@_-~FHj!?%>6{o0DR~%_~a{C
zdIaX~Q%_Ux0!%qXO#^GEf%Q%UPJ5PmhI$3Gv*4R^VC{79={d0O1u(`rjd}pMU^_sX
zaVvEjbspH?9O@cs0CggD21waPQlqJkR1TF(^`MfdHdHp1LQzqn6ahs<sil;H<1L_^
z1Mb;X%1+>*9i%Ly#8G@H4iq>ALxGZo<OcG4@(pnI=g6zc%fJ<JCsRnhU`%x}$d6nl
z?IJB9%_Ff%L?WM9Lo6U(B5o%xA<iQ@5m6vbQb))oq!Eq)z7|DrB*5`Pd<_^ClaAkl
zpO25mTLVS1AD4}LhPwfN(FHhnoGnl#`+#Ts1$zOz86aC6)(vCCNdBiwzQLTp?8f|y
znTqj38_;}oJNgUyA<!ldpjV)$qg~K!lnNz6)quO|4eAoWwoQP&MWMLh|BLv4J)H%3
z701`c_qs%IO_1OeDehLRxCDX}Cr})M1b26LFK#6`#e+*BKoXokkV0@GH_7$g{eH9U
z^F8y-?5yP8ySp>zJ?A~=Ocayblw`VQI%V2nnulgK&eX=#!Bo*y%9Iy$OEo5dZ&!?e
z8n+r3f^Q?>HyRr&7^}ehXEQhq{}|q&?_DySFdQ;$G)y*(GYmI$rnEAYBY)wGK2d*C
zKS>{{Z>|po_1>dNZqm)s_1FEXt0B20hxE4;E3L=#5Gnm4m6WWi3r6Oix&q5@7`9&%
zwX&K|4OTuVkCppafNPZn%4DUDQeP>q<dkLkhny(imJiEoG!%@G>&lhn9I^$!;A{Ui
z|7rhj|6>1GH00)BVR?UczsdL2mk3vM#J9sY!#CL18%a~fm(LgE&G5eVUh|$NerAIA
zH*Y6zS#Kc_@w?|CHsTg+#NM7?JOw>L?ho$Acwc6?$GPjftGLasm#%nxGZSF2s<=#8
ziKm^bouizsorRoI*0ZdAWW#sODw`FQnUr}kb6w_0?1iulU&h}VM>A$-3<DYSITXhW
zyo#$Gqp>k6IPB>^(jTPX!|s@m_3>+Zne^Z^ciQK)`)LQ$wx=z}HtC-hkyag<o)eBW
z1JC0t?3S~sdx%n<M;VJH(=|1mNQ(xk)l$o+7D&yLS_ni{Q#`2wDW6lmrhH5J09O1j
z<x$FulmtAMPg8EEJWRQt63g~l%5~bS+VOiSaa?haxYvY~M6Q3A@;c?8lr;W6BgK`H
zk!nm)v7GXy2Jrb|sU`WgN_=O{)Ry?bdZhLQgGRs?P9tJ}HDzn+-qd5M7gH~%K1ofW
z{@~ZAkg;Y-E1FiE(kQKNS}Won2dDj>wty^@^=Z36tk|@_(w?U!rX{C+O_$R1q!;CR
z{DSV#hisLZ#QyI~znC6Jd{Vl@LJUa_M_osE*ysh0ZDesKI#L`CthEZnOb*VNl(7?3
zdzF!y8J1ZAR&p58PJ1)&WxmU@WmV3qi|#TT4d!;%Q?RXovzoJ;Gn#1OznlrqkFLC~
z;;y!?q2!LPab0&kccr@Xxy!;5^l?vjZ*`w@$GS7ziYG5NTnEo+thh}e+)LQ@&scFq
zy*0eOz5PJAHQvMCd)|2OC!fie-&fMt#Md5uY?^PbZ<Ft&@0Ks#_sN&(4<IX{7*<_d
ze^>uVqE?ppcY<}X{=5FSjA_3d1n1vE?jw&UXJM~=M}8=0C=!0X8bopqgyUSQY*tPv
zci>AtfO{coDYcf`k-0R0IkibWs9t7veNaD<sh(XbCH*8dmBOWg(qL&J%*#4F52vI!
z>4}s<{HIQrQ&$Qmw6QK6OK^y8oNkeBm2QXbl<t}?9)E>HC+jWxLi!>gVFP`8=J<5|
zRQ)RK!c*9V5A>h(nFhNdo1qdcX%j<lWW!R!X2U_lP4aoa8zuDPvc{%F0sPK-H9L&w
zjn9oqCL?%Q)zpbNnmMLprqgKM-$2BY=2qtZ$gJJ?R-TwsEy2jMR>-w+FsElMcPwA6
zf$&xJt*xyCtTU~P!Nv>Lk5<_hKx{%?TZFA2@^Y0e28?`abKCWHtGy}~WG{O^`&9c<
z`yqRb{g(ZMJ>8xakPWV^Vn91MvylOl16Cl5PX%1SOZ0?T2!+i262wLP64-?Jh~a^w
z1E&VA3)~cV1}T0m@O9v)Ku3^~DAwFTMS^NlnuDiZu|Fr_wOkRjfmoh%K^KCa1w8=^
zzG2~bgM-1>l2|*9DIJ5`1V;w<3?7QlDk^vcxG@mi?aQ(L!R^^=6Wk%VA6GTw+B(7Q
zf*S<?6kIE~UT{@<)j3j|Z6(^094j3h7F;H{TyV|cYQaVL{PMwtg7dJFKw-8;DTO#2
zN-Yyyk-Z|E%N48(as_?E>Pif{7jz4xx*2pL=wi^GpjDLl+(QR==JrHER>P{!&wXYK
zd=mH=1iKM<jHj@Sr!g`xBCus(1u|Ro0p9{X1>6a^6tIsN$ta>ETN3MQ3((oW*`L@i
z+V|KO*r(Xr+nd<SfN9@sA8mJSM{VnDGi*a(BWu_S*s_x)@XUJAdI10MSZk!U6>qly
zHe0&oz2$=Cuw|oVi6s)Nt+u6%CDfubyUowc4~Vvk0o~@BN8o#_2h*O%Y%zIEuS^e2
zXW<*xFs4SBdYC$z>YIwdPUbXbz)#-AD|eFdw}WWrvE;FKGqy2SqvSD~je!QY;fvv=
zA;EBw2+bIH{zZ7b#~Avc-L*2*Fw`@Ikpml|_vt<QxA^j&GwyGbvv*LxRzFwYA4{*K
zJ_wC5L3bYS-ds?xhpwhBOj0C|^h!D@9Vf<RH2Dp!u=<KJA1&%Xu%1`c16Y31>Okgg
zJ@nR4vfMq&SLKOvQA5C0AYgx`lhRHpqf}6GDn{8WzmOjh6LT6Zc!fMyj*|Q08~j<W
zE*F$@`#t_2{{Q*!`Ogszu-d=CKi)sc-vtR%*&pH$@VR^r?8Co&r+mA7YkVVpqkJ8F
zb$!KrxqSxjQ}09XMeknkQtw!AA8&K-Ph?jJFXCm-0nY}{C{H&qv5;FuzrW|+1DiFJ
z=!8;klk1i1Z`V%OZ0y8Vt`aVt^DU7K2eB5qIvY5Pk$3+o>ta?+)-19xT4dG9%9H8H
ze3^Ma^N-ABnbR}-WwyfZD4A)>_?!`+aWCT_a(hw6<c$6qJu;dQm0B_*FvINl=16wD
zf{nZ3IP5s&SWgb)G_1=Jj)9K$jvkI?*qJp!gNlyw*f*gLn<E4U&+M?$Go@#yyNTa%
zg0rdVpYdC!q<^KC%#lx&Z|P|qOXjSbJx_W%RV4=2=g>QH@ChbxrZ5?2g&k!br5sfp
zKl42e94#G<X!|%iI{G{M@jFI4#_@}0v69nLY^(K-gOtOLSo~v&u)}Zo?Vq^^Plh$a
zkdXtAS;>sD8I>~{!5+8H=*^uD1Fz<1%ppo-U&ii?Qy|v^bcR<MsTtnPfXuu+p~{)R
zlDpC+b3D&%P3HE@W0{wDir+J{vhrtzWYx-Qn-z|=CZZ-!XWh+uouxYSI14&|;T=qN
z&cJTF0J0^!Os=A?+OBZk)I!%L*9ljg>%CiYhY}yv*!{bEihGqi#(mTM#+~M|drE+B
zojn6R3-KYJ@Lcu0^ZfAIVbUvmTVlhF_s)k+xIhd_lGj1(WkC?GzORLE5M>VjxdSBs
zKlCN|(tSSku)O{<{u=&njKhKc8UAJdZLHjI-hY8;mDm2yWG5Kqym;__MxW~-w~-^U
z@Fo)RwFR&DH8}x~o<qr{6aw>FD_xanWv;SX*{z(#+IvkVgHAOuXUgC;Z>4rohZEy6
zPu;F=R?iSg_E3F=S3MoeFFQHy6{Px7L+Lkk&w<ip@NXHK=n>}S4e1djS^6TS>nu8(
zu7IwxuCA`0uDz}+b9gLes%{(QFj#n3cT4wF_g(i%ug6Q6S7S))q3!n4_tTHn&(W{M
zUwD+bnY;Qo`p*VZ=M6>CjGG$TlSeoSd9n%3`MTk$;iJ)D%!yuI-`L$4X`Ex+0-tol
z_{8|dq&F2a{cLK5l{n0_#IzSZ{cqC?lgFIHT-03O+}=D;vlb8Im3atzm1eP83R|jJ
z8X+A=T4u9~({9UIc&=xbuNI$GPd0v8Yh$8NBdz1GBiC5BTTg+PkFEbBhR<aSvSqiG
zvQ@S<wRN`jwnf^;z_>28ZL^)E#1awl5)0%j2%3#7j&k-2_WH!Ux3hP*|4z)#Wcys~
z&Oa#E?dR;V_80ay_Rqu(X4ut$+yTJ>r2<L@)S)!Ry6KE3b7;Ug?9w@Kw|@le2-p@7
zgSYBW&~|UYS^6gejs@(Zp5#aj$2Nl{JE&U%4zRZ!Yjy|dypH250u}`<;8PaE2rdnn
z!gdy3(z&$r$+VmhFq=9C6q+0`JYa0VMEVn0eV|{!uz&%?Hjbr^3TP1!9?**4Ri8+Z
zS^;eWY6Mg!BBTVrTM94+SkMigU{7DMU**2`*pFb5EhOT902;(^_J;P_!lPyn=GlC*
zCED)TZrXO+HnE;b6wk1Otpw})=xt_elJ$Z0uJxpKw{?ki8k$NwYaMHKYZ0qtNwXwd
zE`e*?@U=~V|Ly{=)xz@6hRycToM66cK4M;h)i#FJxWdg1%!SR_%w}@MpPHUvw;jfA
zTWOkZiZVr@In^}PWxNzLx{O)I*H~_+VJ5f2Oink>Aoip?=vKp6j_jT6MjQEd-|$+;
z8?G2Gz}qh&CS@KR{s2RNLpvCZs%UPd40#O!1|zF;rs<PlI39y=$Mnb1@pho?EhZ*x
z6mgpa^x>@D*-BqUUmI;OuRfPfhTnWh^z?RYy$QN5x+X-Fg%H*0#>aObEpsc#Hx1UM
zJyu^;selyBnqnW-_v$V6BsuOInXwbp!D=t{R}ioQT5O=Ako|X0d8M33yWOK~QdY7)
zMU?V8DA-i_h1DuTl!CG<`{ZQ#x%`w2!M|9cX`8%6o`vKXB)6helPe=rg2|ik`v392
zgD3sVe~b)@W&Zj24SOSvnjw>l`a|#@rh<uazRO6h&1mRDef@n6eHDF0;7z^WIC!eV
z-c886QLtCPdh>eio(#_uR*Kr@S?U>#rC6Exnqd4o&)p~7JFyi9y4$(SyK}o_*BjPJ
zJMLQVn&TSc>JDdC$`#;LoNtiDr<{B7FHUj}afUk^JIfOxVR0I=(y|h>60%~mPGxN&
zDs@`c<g7tieY4sSNl`nieAdrdMX+A1S$c9A(^zBeOXd@@`>$ulWuD87CF&xEx(i(0
zn0Wwf-I%$WvJh@|QRd>zrI}MRmt@Y*oI*s;qRa(sXLHSX+J%|($ctRXv9+0Vw7=Vs
zxk1C2KQa$x?&PyhWgda!JqO}k<lF93?(xluln?xdH1Iq<)174^f>r^Gg0o6y6@)#k
zj2+xGs|lFjF{@ivkE|hC1BrNy#_pPn*KBRpcC6*2Stqlu5rKO>>qXYfthYqtW?+wH
zcjf@Q$~mh$8#<fve7a*{k9AIPF2vT}=RD#(M?T93R!GcrS;4bXuF9@9l!>lktbVW=
zRJ)Ch{?+9rvLw{q(A~rx>5hh(+~hv)j$>t@bdQeAfif`OJv@Cq(Vq1%l*h6A-;qgR
z_7?J%_SW`xME{wD4Y$J^qxs_A`7A!YFPpClR$K>PAKwJuEZ;`rE>HSyfN}r$Tz(^L
zWpUOFtK;uL_Q7Zv%X$9w{y!LVXZ<()FNxYpBQi5c&LfwWD}Zy&<WAsRUpX58-4b~<
zNOy=)d|tjPzb4x2o1BV2FGwjx{8v*v0Ns=k$|7vNy~<JL7W3kb@<s8mT1y_aq*_{S
zsJ2kUnLoqTxs>(lF7+7m>NdLNb7t9h$w;n4cA{R2lI31aYAv;uI^uO74hK376kH?y
z0TX&wIwsx161*cNNom-FS-JpSZe6ghF#d|4SqG+_t^-)uQ#W2WNjFcoLbpY?Pj`%R
zA4Ghj`>1p3JbJS}H*quN^!4?1^c_INzIgp-fQX0jgIq*geu<6fGX$YSmp9Y`69*Ya
zuvXdz!w#atud)KhTXb+cR$^6Sb6BV0NU%lV;#uP@<1=HjQ8DF0i~rfw6b7{)E6>a|
ztp^=rOb;n3CZE}C4lx%1A%B5Sjl`ET#k|P8hU~<n*a->dx8_&oEVJK|n_R_;mU5OR
zl&+RO#5zQ?Hrpo3R<gA&fSmV;^GgOjomL4uvjASnpNMg<4~llSh7&C@1Rv#O;wIJ;
zyR(%DinBxs-mu=X#$&;}!wyBsvjt*}X2Y(@2O5;JRkJm)HL|tBG7ZNz9ZHF|O|uQR
zEdz1K6Ol2I{V1aAM-l@RNpFg697jiSE()%9l5GV2NW7uLxuP$<-t-6C2G}}bKlNf8
zVe3geZ7W+BTYJ8#F)I+Xv^67&u^D^KZMAKcU=EvL8`q*%wpFo(flzsE1#Km)D%${C
zZkyHWMIXqZenvA$qF%I~!Gm_vy41SOI-N-W>DXo6tZm^NYg%i-O6Rl|v}9QnVn&`=
zZu8Vm@&vcw$(@Ov9zm2-O>FiMi{0!c>-!~|%3tRF=Cz>Obn{@WwMOQqXfvVaU_5Q#
zOz%y%$qGMeT7<qc!!*j&A4akz`87pNg-r&K?HkB;7wzb{ag}kqai(#iaTLhb*4WHg
z+gQw4(x@|<@Vvc+nY?SbWjKt6wVzn!<ydY}tj5<3+pUqIvY`&xmd_AKzPUsHf%1eg
zd57HdGy08`wdihRVfV*snp|5(a9g6F%d*mHE`3qG4qZ=2)aG|G7LxIe$LlUI?$7AX
z>h>}Z7U`zwhU;3PFBaBi(`A=Z(IuY~+wvDa_Vr{Kjgxvvy;!cGGT4`23RYD$1MGXH
zUR6(_rLI-Cf`8+&0J~9IsMX*=%c((XF2$>)Xm;R3<*pK|98vy+4_$&!aEdaR(uo+i
zrb;a&#Lr4@C9h(YopKtI;|Uz;RV2w#c{>{PLYUHMc{m=!E^-68A#75ZY?5vMEcm5Y
zSc!N2hlrrtgtVH1o!AW?sy4cM0W3wQ?}zV+?>7FJ^}f|aAoPO2Y6yE;$m=J%<~f@G
zaZqtKk$K&{4ZP*OVP46TiBIvKXP;-SXO?FiUd5)KYMxM!+3j{Gxu24sf6Tp(e2nq#
zA*@N&)LqM6)SVMf)#dtx4H@S;@4D#P4O*^t&3BC>vw1j}+1%CIRm)Wk4`fkF4p%;>
z?6NwY$bY}{H9pDb&d212U31<76E1@c=Rwx9&Oe=7oiQNAKDI|d+D+J_TZup11%e!M
z{^8t7*-FIyPWs~LZmv1N)qDBt1NgYkI1lp~*Z8DZ=S4pG2K`sW$Ub(yVEfMbKh~7{
z>P+W1WH~cjcBj{6aAn6Ume*B)Us?qIunMIjs}R)3CJuKsa`lBV?nBh$aOx!2JlA5^
z0`7FZYd>YLE0#42t`L9p+?9ye^(*W6q!Aez;Lc6tNKyCC?waln?w0Ndp4&+GSn@kp
zxwo<6&tYt}`#jeqx5uL=-zC&j-O~)O+d$Ssn1S84AG`e$QBO&p6tBUXgEv&y+XQUu
z2j{(ne3`x2Zx7(XKYKl_36|Sep4iH!<c$yaO~!Y;8P5DH(Z$bw?|q;A2AImi{<0uk
zbAJR3`yhCQCH|%8Q-8v|UneH{v;U(k`CYPI4wXx=YGz%0)LrD>@=$pMx#vsdP4Z^>
zh#Z5ac3Y0cs!NhT;?wrRW*U`zN?|z7GK^-Ht3to~4aOr%nF->p1M!aH3%{p4VlJd9
zel;8MoMFt6T11L9QM;>yh?tII2CV@3wh=?NAI|fZnn?La{jR1F?`dRp`T|l3DU2Cd
zlSu34QX4Y=`Vs>gC5_iC!FAFqX`6IV<7h5Om+%V4kr(j>f5kVVV+=a0E(ohIL{~#s
zg2=T7#BFzGwhz~h#9KH^w_LYgw?=nJcMy4SRd*fx@D*&SgG~CIXvf9$WsoGziGPdG
z<jW$>Mm$3H?{yIIJwC($LoQ-!ekP`-lOY^`O0;1C+|xG0Im2Zv#aCoa$wrGY2QdaU
z@Wr$v;$S2)aE@^un*LGPtiSOsJ~O7XdZL1du^675N^oAS$WQD??9DjSY~<<+(^k`Q
z(@B`IyI2uVP5%>^X>ytaVa*DIoK>(hD#5!(n7hKg_BT%iKWCX|;Fnwt54+!dn6-g#
zm}BuMy+EEPo8M!rq+85p6?Qf^kraiAh_6Dai~q8jr8y|ji_DLqSU2M>lZd#OXPJey
zvmU>uK-ztjLs+VZi8tIu^v^-+cG}&Rb(U4cXw0Qu$+|k5uxPhi=JQu;K$q2IRjy%g
z6Iab=Z;oY!Wrk%jUay(_#T>q2Jl7A$4xY|;PT*Uob6oUhacmq&Kg8145(Vx@TH5jJ
zBKW0kV3wN^h149KpbFe#KJF$jD^g}!g3LdN5BUUsy+(VuYrcjqam>8Yyc8UpLx#&B
zo>F^sje2Cf6k|Q0TtqkNi1|%6#hI>vXMdRXnbr|KG7UR^2x}%ZGu1NvL_AbJ{_BC6
zxAo2V*mxfv{GxFanKVm{i;d%rgN?meXQ4Gw#g*X8^B4n-lEDkIy)-1kqhBx_#lyVG
zFxxPnF)|!%i(t$&2iq#(hb~~qZP3F^W?;R&0Nrj9uXPN|Z9i-Gt<<kU7n`Y%CYGy<
zz6T?*0g+wxU@yWb*}yonK2VnhzNLU}&%w99DK~Y;8PR{@1K6h93d*g)FFqYEWC&{{
zjX)dhjHjRpb0QQy(IPpe&r&?|=8CkF$g+*neDuq~Qcv{F7Vs`brP5L^{Cy79tG-1q
zeV|@vMb9JZPOQHLl=1j1dZ|6|+W)FHAa1QVC6}64$$|@YD9OaLC7}7<QLYgc8be)z
zKD-RC|9EmF1}G7%Pu(23QCs;5ojE6Lkr|%!tL(x$e1p#<mdKe)*oV92_2f~^VfE0y
z<Vbar+k%LdK*UfvhhN2u=s;6{;J@fUMNG{un5vohWFq_>{dMss7G=dmJ(l8Yc&)#*
z4E(jeDBl2IH>742*sok(Cu@)<d2b?B_jp%%7kQ`R3F_u;hSV+Q4e}a2Ue9~abI*NG
zEK+%kXD6Pcxk&1fSdbk(Es@;SJr$7Q1w2-d-7UMlWNdtJe{#nY7k>vye;NDbntL}n
z9J{eHH@Y{wm%3NFmtfgU15;<aC%H$%;Ei#Q0wo5+%?>59wLAR*L>~5W_hXHa-`(BV
z>p?rz-IFx}264PU{T>`0LK#K>cWkAxe9AaJZ62RDp2++Ke9IiZZ7H!q>nI!D+rggA
zaD{t8^keQb?u+iT?pyBb?nmys<Xql%|3mu^EAo7Gr??#+y<2hniR?Fca+AXr;wk1S
zip5-+`>hM3T-(!$Sjg5`WBoltC=+-p6G5-_o)tW$gZS1ic`oqG9(vx8+xZn1(f|(`
zgr`kdYSq1sz3siNh@70vx+lxM>%503*S$B;P`-FGU?%OX{#C+P)%T096aKgUzNx<D
z_~7>A6TX1W|BwutOrM8$n*(&K2qVyetbzglq5f&S{bg8ihy5|&+XH_h>&<=!->h<W
zxc~@Po=B9sjG->_V4^T5!#qrak6$bAL-RV02KE4s{sk!a1Fg)1EoWg|mV~(|i#Pih
zYD@IDF5p~mkZwA0Uh|ZN@El8FHuu4KoM5CsSCYsBa;ipEQiGWf`I#5Bu=d)joz)0%
zZ!BdR8GS3zAUCMT@grOX`)=UzOCr|u71)=lda(WMl!BB}l=@N?sX8;V9qYbCz=Zb0
z5{!~&NE4|mq(x|~JD9%*$%_9|x*%PJ8-2*Eeg!w0MAVuO%TR?Q%?V2yrYnlRTN9?I
zv91nGX*kwlU%1j?*oX7L#0|RLM3TnnF6-{FlKeAdOPbEBm-N9%oDh9Qti)zuVh<!z
zG`ja<WYj@CiD&U7#>1VaX}D+y7fTvyV=cB~P2j$Uk%m#ozUA1Adnwnz$2h!;??A{O
zSOIoWGR#;4Z%!3sD`OLEgdSK51B_FQ^Wei48`m3mA!%cbXN*^2%5EWl-y(&RjX#V&
zvKWn~0PIT=-c6;!&zh#jrUs^l<Z^U^iS1(=i4>m%l17^rQ&yAhxE}d_2%qIqQ1uQL
z%stb6(__<1{7>&#?IYQgZpt#r<b&zW79t8sY6EFYne&@VgBCy0h7k!{ic*37V)#5m
zz>sq0B3uzl&BcCU{vw2u$DAEY$<8(h+dygodM2(S=oNpdk?*k4nyI9fn1f7i_D$>?
z*fVOllm<4XnOqv`e<6PV6Ta53rZ@c7XRynU@tIv_C4;k?9d?#`I><e4LvNVK3YAm9
zuVJPEL_tQFnt)?<c|H|+N+G7~#QdikzZzc<HFBFL8f!daJj^p*1D?$X&jzwyLVMms
z6D@+ID2SHbXyI)+$cek7VOosgIQIVzxX1-~j3*j~kTKAa*y3N|BP$qw0@d;w%m$r4
zoh*Vh{e5sPP9MwKM5o{s_UczqW-@vvGl~Z3d+R&GOSWWWRVH5RCw(5qSq`)?i(UfP
z(sV9XcX$a~aTAaBL$tNiy8XHXx;?}^uV9_&`FQMRfNN2V;J%FIUb;?X#kOZ`H)f1i
z0q05*BUS`Guqe!kffZZ)VBQC`#CS087%b;TxRiO)9C*&**n1uEwO5C4DJO+U*`z#V
zw)<75`bm8T`aNQvo}nBD|AgMUoOv9jPEz|4v(}6G-BSI9d0qu?eo=fId03^;pc=u#
zG_vBqXtAMj_&=^Gr?ClRhyd8GtRYfn8XEHyC6c&+-XLN)5dzKenUqK3l!7k}M$fj%
z9vIWFq_!oHQE>+k;vsbM9Z0RYpyCK5SXa5V94^<B8-a<Ta&Fn=cluNC(!3%j;RKR!
zH!F}X!dC17gWAqt9j{_3e?Fh;%OINJHIaK~LB{<=I4mZbFWNVdxW1P77psDg*?f7u
zZlB~$rX+eFBcm^Rj}iyCok)q5-Z`M<82pYyuulefJK%k618&wOQuSxhvn;WLA>IPs
z0B=q>Ix|SB;F-+uxIIpII|sO$3OXctUg52L3&uVn9^*NPk;r=B@fzknrT+lyG~RPp
zI}+!K<H$?;iTp)^=L1*0_I#wi^?YLco=?m0B!f4ZY(IH?9+~e!8S(hNEck&nWd(%_
z@_RzH-&U5DCJW&ktKco?ZAc7ARc~vy?Xis8b4Q)LUC7w($DNJx{>~cA;$Fv-!My}l
zc{zTxo!<4J)^0576W(LqJD^uA-q<JJx2*8<P3RRoH`SNdXT?)nl2Qweqq(n*uQOKp
zaJ;xP;3Jn~rynL4^fZ|QcYKe)wN#Kz#ru|>7?bi~TWg{zyZVQ)BG_c?{W<;(TCB-m
zc;fD$_k5su{T?}xh^i2|5EfiD5U!QngEE*Eh(^OC2rF(iyuuNzxGQK>k6<hRVML|j
zp|g;87XT9x%4jQ%9##u)U2UZ!jC~JKt{*5jg)$d}TMe7P6|CDsIm`IHNPhY~IF1D6
zq4E!y_nF6>p<1x?ax(*ptCd&}qPp51)C-3piNfBS1zR#-T?*>0!q>MC>^rHRMWeh+
zq~`<mrJ77sSt_1CRdrzdnP5MI$$SVy3oT3Ldqu3k24G+v=4cnG1MJN2*n;DjwPRsK
zr;`;wkNB8X(spT!v<F@GAWTjS^%4x}Lu|tY>8*x{$x^1|&`DT`xv>yKLBvp9Y1q=5
z_zs)Fmv$tMCK7FVESbIwbW72nH|mZecP{F#U?)DOqzF`mTe54i>L)bvI{GGfS9;=O
z8LA(np9U{AU%w4WcMPxMd1T)mc+{_0jSju6R}B`Vqd>@VhAM{oFsd!EAUhj+f|JAW
z?2JdIt~9JMtOG0mfE7DxI1N8`36|_3R^<z<id5nq{A6l*i0-o)gN?aC&pgJW#)|li
zYJsDTklanNNLqrVUGXRVPOjrfq9&#q#~5dUsI!dADC>+Hv0)Bs*61!)`Z#U8M2Q6t
z?trrou}?o>pS~s|<cskWXz`u;h4O*kd$u1bAHd;c<16+*fhFIJ|6}hhe~|>Xi1rOO
z?!TY%g6(Veo^bUGQ0D>H-^G$jq~7HCZNB-5@f_PbSXU3QukH}fc#Yq66$bGl=zoO$
z)5PQ+BR~7F<}KS~T*As+3-O!HgL9tD9ZoSuakoQ>?f;D$ZfpQ2-N0B68@#eH1kY_Q
zp>6QwvUq|YVIJcQ52zP;#(x_2VZE;b&Hjy!>`g3GFGCwcLoBr_hGOK-gkq^#^(wZS
zi+q|V`geGX6W{|*Qugz%x1kFy0okI!wSgd8Uvh9F^eu=lX{4_Tn@~buSYH6waxk2v
ziS?rW8YlTbT_T#+L;TZcVJBnoR__AeHtN>tmJ!iB3(wpr&}|~PHcS_x>!)jp#@3OD
z=cbI-s<8Yub>+!~Ev3sx2|~ZKlbfzcDmvdc7)>X9$X7=FYw0C(K==u6{)c&6K)q>X
z(~d=x97uFoIJj2_rn3qfXAx#zPVyUM)dv^z6|M9MUWo_lHRh|pzkT@Wx50qUV>Zub
zPLC!7A`0EMJ9E7?nM>8-cq)K{<<t_$fl%au4Q<$}q=SW-tc?AExVI#jAz>NDqBCD0
z^XUkA6MrCIR$?E{LZ=={{7e)QXb{?VClIkCQmKkkne~4Q6H_20mRWY-N&GCor947&
zzb>C3#&ioAhs#05*~HfjCIYWDval-g=jG&l6diE>-Jk4#?vM9h^`9YTZx2xov+*sC
z^^ZZy_9Qd0G5A=)UkJ-FyH6$-HI3MtccA1;-*tG^%dAx;uyPwr+cMu0Y?6uCCS!d=
zkmr4gRP9Pme;Xnyex)=dyT87#8j<ql@Jp7Y<|j8Slr|61tb)7CMVp<BF%$NV4V=*7
zu`<vTTRYfcV|4(TBL=v>Ag_Wq%fi(GoFUPeGdVby*GIUx){4(9Kq=056y^IuSX-+Y
z{9p-wM@ceDD)9?y!4+2bHNyIBPTP{w3g1|Jesu?I;z4YC64O6~2&19C(VE9>6gt5I
z?scw)RSQ|4awCx<`{5Z+(LV)pUG`lhGV(4lyYcwd-ud3J*7<js=v1Dc1sg4Z47d<9
zj?(_B{-0U#q&|FgJ2GDe!$(G=mCPrCaw{tY9fZ|BrQzBGEVmE5sn5JIH{RepXf?&K
z-Rhv@v|&x5p4e_9s58)jmh!$g6J>cAe7j7!26OO~mDfKoJ~FW342qrc63U1vgH}}$
zuCggQR!c@yKQyjh@DMYw<7R_#3t;M3Yol-{_;!{td5Q6P6O6kH(j~xWBq-m&xo?bQ
zuWC?KMOL%J`3I|c$z3Rkl~)eTYpK;pRs$S}wHHO1L77do*lKkP*mn^9@t}GdUGkKA
zhdK4Pnt*os7VLYkrZC$aSb!c?A@d<nvQZ0=|Bx4bG*l{tC$O?qgTlYwk($BLv;hZO
zV-I$Pu^G;GG*;m_uy79TB55g@xB@&}OWlvZFa}IK4_kVRXzuGE;xi<|D|F#6$chZ&
zyk%sEjHa9mzO*RXb4Bv&n^3~xjCzBKL&>$DiMBl#=5z!6(s9aZq}LTPF5+1c@tf`o
zF$G>U_dsM_exeL2VKLUwH`M<EI!5TbfsccUMVLYa>P!%FDLA=albk|^{)K&TU4M)G
zt4BoXJp(U4lB?mPDuw{PjP%WgC#V3jxERqnRq#gEHB^I1Yl@ZmE0H?C!K?MdZ`1=E
z9Zp`yMEpoIkmi%HJr@u+u^MY-4L0aDxVSy|n+_4>dJ(yQ$#4eF_B!P%F@!e_&%uOv
z?9*4&BrxI!y^pjX49P@dyaYMkYusKk=iXrrz2`4pa!nHTEs^#j*8YulMBqyTT(J1W
zL_YH#pD5Y{YLbRL&p3AvOpi1C%@w!V-eUhIe{+ZSI+%Y``-SKEji<>{IR{dS82%W3
z`ysT0joi<A!zyg+mE7SRB9$h?F-GH|jihwOD(h@$27<LB3bGoEV<|%so?d<;euE4)
zc*k_T!gGE@)W{<&_y@d!i}-y{Vbkvh&$jV~77!yj9{<{CFs(Olurr7z-e+~*YhkRl
zLg+x*$vHLh<}>goC!rg?MMt_ry-c|Pn{XCXJIr`l2P3(HY`P_kqKQN*k7q;;VO&MP
zO11;hB6PK|+UnER0MRN_^D`0);GHXgww4!MlPPW~iz?796L#Yb|7R$Pyu1g}T}E>(
z+q2kp7c|{3hB&bpbiqHQ1MnkTi5y!7zc~qha~zglJ8ElUI%^Z%QXW6UPf~8UPQkiJ
zl8Jeks;0xp{G-OPuJs+*nTsIbMdt1ibqCt(PVB#>>N4tNbtV~0L%_hn*n$1Qz%F26
zbF~?Apcz`Q@C=rugsBD8f@%)UE+qO5KVg=V0UEwVdwv5V#v@(gunuFD>sW}#u@Mi!
zDs56Wf{CkPPUnM&BgqpU2m|#ywWHD=Ira;vSe-nJe6Um&CA;h=&eV&3{|OfBsfLPY
zkcr#jxYlC>%qI(REF9`kq-ZDPXkEEJJZc4)vD`3ZHmt@BA|8_bZ^+b7z(aI_?2I%1
zy|8JU!O4yO>Ho#yOkvfk5&ltllzPFlcJsIQxAOnuZ|ZMIso<}LoUe{QvOKjIr2uFe
ziak>Zwl0Te+2rzP^PBxvkiq6R`uzT!tPJO*ug4};eSV+Yucz<zOCSiUE?Yk~k;yNC
zClaxVR`y7$;Yc>Woi-Q8v$LO*UT%LLA{WKC<pFgHP|ElVvg%GzY^hS<PkF50YV@m7
zMDArR5MTWAR<r__I&eoF{lBq4*xw0GF%p#eoe0RWu*xI-lR&IVAl4jWbQiN-i#KgA
zbvx~D^a;T`p2O<Ch>!LjPw@fI@;P4H?>to}QNC`XCT(&yo_Kx`ts+JE+?w(Ke7eZL
z5?eA*9!V_JIC&cHY9kplJ1A%5{nV>iZujvLzmng>j=MlNr=pjAN&z^6f=Utif{IEx
z&`t0M&4{=ZJmp|8ZV=;UG#EDnj9bd;w7WpL?fiF=v)FNGlyl(Q4Q#oG=wo68z9D++
zJ3hPbiW>&s1BYo;++bXGN&z&vVsIP9HBVl7Ms__SI0fq=B3Xo$Hxz%sAoRhhM25{E
zs%0ix;#zdY4XoXHka~vMbDqq;E6l1`bjmn1%LFXH56rYr+MLUP{p96J20Vaf=AsD}
zCKvb@N+f7ujSDSLTNPWd2EO?wQe$Rs7x>W*%;)Z)U^uh7KU~fTY(o(%GZ93bBFzE`
zCxeLV(0UgUH?t9Ga1cy9LWxCIT%#3nG<QM6m&lV(ctxC&o9qe+FG&EpbwT`y709<Q
zkH*~;hN(F^cu#nyVaTr$x@i0>3#hBn+&3ZR_Tqmzi0nHJYjs~23qC%feju|-*p8@o
zT7IG)j5O&Bf|Dg+SIcRUd9_%<rZG`^Es?Rmk-ONMjE%m?-hN~;3cF&weirCC8Rm5!
z-l1ibtz<TCAkuFaw&s57S*%XMv|YlNbb(0s+t?|Ou|X5a@)FTJA80=#^S{u323^ze
zJ$(TOTueE){$H#$fDm?~E^->O<LAr=T4ZA{2!B;Bj@UpDt09;pc5GR*ArPB3r#_1#
zcGh0CY1PPCJx2^!ynaJ4pY1W&xK5%%!|Bu5bFk;pXL3!J_<pt-*jHjd4ODXIo!D6)
zsma>!{2vzASL$o(bM%8J_{-wCw_DuV6;}JXfevw%`#(->|9)-dgRN*6i}YKFW}2t5
zjnjC3qtQSHqmA?;Qlx`soz;eUtb%=3jW<z3#6{x&&89bCpDEzkN6;*pxAzJQEm3!y
zcX^eyP|ovqPw<v^pa*ThQd_TSMYGV4qCvI6x&gXDXiS~SBxsDq_A9>U##(f86?Cc!
z;97{TxGs=U6%4l7bS%FID=Cw2kWLIrs`Q=F_l({%#$tkoY!6}dZ^P?fXYHdH=?wK0
zqxcBf=-a@z9hx6}3+T2%TFF?S$0(o9b_!7}(VDM3ivM>x1iqv@tVs*ax7P?uPq3V&
z(Ju>2K}5J1X!W3;o9w=1G|_kDx4&h6J^=gf5|?(Fd3#blf!2DE?A+bNtF6a_F<<ip
z&Q}*R;{^^zfrJxbL;Hb*J+TP8gN1F84Xx3Ro8lvEf;XfB`4Z(QCAG|_JZR4aiHg&y
zxfPdc0T<JeKMo|&JEYM&WYTl;3a^n_7>hoB25gK$dL5#!Vy(61Xzg?1P@|A?f<x^=
z)Lk3=icKgLK*q9QV{Uj<gAydW;ZZ-x--%#&BtMh?CZgdie3*!C*op<Qp0X6naVlP+
zvDg-aurm6BlAW+2o082{jdeRJ$|Y$F;YTVU7l(1nK?Hn|Y$p~znDuR3)C`Sz&BW{U
zo%+uIktkNd!zL3o|At;7xcZ#`2=xGLcnU(qvwiNr#nJold5_q;!8P}36SO#=NAv}b
z#B=s8e{r8{9&3M<z^BIXNiR8`=zqbdKjyohgELR~wtqPOnf4RqE4d}#;e)^UGx3#v
zr_BV36u*Q2Bd7Cc$p#QfqRqj60N50O#g&_^lpqi)59^f_;$Djrmm7u!Ruj)_6}I)U
z#43VV4bUPQfL%?<0q87um%Gs)L>ommzzAZPCgHiANIcUrJZ<6$@054(tYhSpJoocx
zCU>#d;)s4qfZhIwxAPV4#ihlU2&*kOKH=i<l7+#x>Z}je2yAPM?bd~N-34UpLtepH
zbfTGH+j3ZgmE@CeB;Ilx+S3Wf$XUkBHTZ?QpxaGtBqgG4{SO=N2T@wdj5i5O&cteC
zb{L9$j6*B<R)qf(TTs*5YSNZRi>pNuc3lhFRxlhLHCD4Pqq`5|eHf#DJmX(zf=ieY
z^EBVUZf1ti6Au&Dd03k{XYll00{0%EPu?feB_7T41#>K!ngr8A`X?CZ#ovIx9sb3S
zCYlW<GzT-&3I^r|1#`jAl+ifRa%ik&wdk};%;kn4;xA~kO_<-!G(TZia^^dOhF#%z
zMDD~;WWXRz8jPo%i+q>~Un*=w!I^GEifosT(jG^HK82(?2O8dhIl7N_{RT|@NQCJ(
ztVAdBN`g7HfQk9A6N^(Tz@RpvtwD@U6C%l5fQ$ps=ZB)%3;t>X{+U^t?Knr1mWz>?
zn~1^N0^4;QIeLQjGEy~0_kj4kTjU=n;C)Qgz0vGS7SYwcBSY&ezMwBur(Tb2_TiPZ
zlh0wo0tuqcjr=y_J1R&C1yjor0ay$Rr99Dq74a=qfTyhq6W0)Y{e`wQ+vc=w@jkT&
z3wnSG-C04k8;JWG@fQ8Dcly!mkJZ`_436YXKd$OZ+m>^YT;E@dm;FsU)`L&!$9_94
zQsXzgTHU##E1%R$`{ce@z@m20tf&YOzMJMt?Lga}zxs{e(-qFJGqnk|CFs<Oh>zBk
zX8c}Jgxyu0`=||4)!^Pr5DQY4dlh#a#?vT>Efy@SF};;1<kET3G`<tll)@8y&-07N
zlXf4r@jkw^tJHI><Q&8EkAZVs51Oq6&6eW_Ui4qg$XF0<7^N5QaxlDOIHkF+4H{4*
z5UnQpHkDz{D=`vEuo_W5a81M?+jPN_4@~pv^w?@?lpl<oFN~r$=vNQWv*O6yiDQgC
zpkBoXcM(?Nj5hLw4|~sle8oma<}MhF_0%<R8mqA0<}zxhGJZvT=4jZ<QCd3?eeZYd
zx_)SYk;I5~B~nc2f*qLwEy!PJD%HcztH;c#%G{~IJj%mN$_>xSzXC(o^uxG#@H~8H
zE`Db=zQf!1lo^@;_T6K~idif4*3)3$F?85{%<FB;@4aw3oACv%rA{Rqej!p|jwTDH
z5Z4_=6>)BTz{5Ux2|Exe6G5a*8>B~lBuP{B=js|FR)sCCsKw6|0~Jf)LkU6O4rJZ?
zY{(^}s>iqDBD>-rkntOGD+y$bQ(l6L50GmYl&j$4dF22xcL%W<x1r&$MIJ5!8OMW-
z(QsTNLB>d|g0A>?+F&KrV1>3CNY=8fQd5{X)Le>{n7$xnuSztk6FK}5Y5aut8PPa*
zuqFS7VZDV7B78_ED92#j4wApIm$HSr9Ug8Ao~Bix=vvnLSd9&{0_neySozs(XT#M^
zqaOvvMuW2B@lHikrg21AJhRwNBIZ?K#!$|WVmppHfp#?8iJY58e=PVc{#GE%cr9~e
zCdVi8sSEfk(az!Ma-tU(($3&_Ea4Ze<hQH@d6x70)?-<1k~h$9Ahu`++ik>u9A@tX
z_i>OokOT55T7gh8-0fd@T(6@m+}7B|8(3ktK&@xs)+3(KQ>?K!;1|oBVs(GQtCp-;
zXPL6Xb5!x)ny5LIY;238iR6WaED4ic9z?4}L`g&CSKdfF?D?)5uJurcDMP8_d2h49
zwz=5;>v)^1LAD)OZo7yyiQ#>ppbEA?@RRo#36B{Mf>(dT7!fg-0^#5oRGp&Wl`~+&
z1u~{W;o?KdJ}8Kft_+%3Nk(FMvhZp#7MoGqpsh7hJ26f>!eeyO5Uv|}>HQeNLt!*W
zq1TP1oxs=@BYgqP=1gY6QgCl4x$8Ta6FZ3JJf$9Do*ZM{>MQC|e0*0a_rSe}AYTGn
z<$Y$^GooFRu>JmF=6$CAfN}BAy1_q}z(IHz7YwLQt2yun+B7UIjCUdzUW&qa2J?V|
z#i&K`+LvQym)BxtDuRcNLBu-XVFP+?VM^N}3A!K;dLtEjAtMH3ANB?lg$FSTnIg(!
z<jP_&aWxWWEoB!`HM_AC4<e&tz{T^R;@?<{cQq;Y81Cr}wqg>}&4HBjA?;i+Rdy}*
z)T%M5`G`FTLpGKKA<GkwP>D!XQ5xcFtcz{X3hST+h}oIihjs|Ewl}C51$GXlod|wT
z#uqt--b^I3U|;9MqAj8>$3wJQvp=@#HY2^aP<NBVe2DmngA`$d?kD>(20JtcNq-!K
z6(}p@{w-MBTSUFy!9x8TJP@dG6V5J?-cxYm83>$6FG*WZ=LP$5tR@i8--zS4LFb43
zbsX{ZaqQj1Lb|7wI6f_b-eb16>0RPn9Q78K(`_*47Ud+LbBTJ9>jc(|UlB{az<Cji
zdy>85oIS01#E#P*<(^KlznA0t>F*}~;}7j_x5FxK$KqZMcCAOZSi$pI&QqGjb|%)?
zbe^KH&&3Ks{b;*s5h5LV@|}4DO+m4SV41)%@n(vFW+FbS4DT*KC4j9FeaC{vW5GI8
z;K?(1<7uGTN8bB8-v0}1v}cTpyJ$)`!LutMS}b@bM#~wP$K&t}hpA%azMc4{w==r7
zVyCTUoUH}b=3}ePq>P2D5OK{>(in8LF&dxWk9Gi~bTF1%f41#Gwa!F<b!J3|vu#0E
zdPnrWR*du(jPyF7TqCxX!Mf^{%Gh@mm>ngwnNomRQvg=Q#7r_tX6Bloxt5N<Asyet
z53uh8B@vzUjppyW#XP;s{QVo`y9WMUqMpZVe*|szFmY>pnd4iq1-CQrcOn6{s%vPM
zfQAc^3rpaC1P3$;K4>zMA{wbN1WX(TA`U}}L{hqeifvdyraNso_!tfvwn7RuC61<+
zT1S&gRn(uc7sFtl$`eZ$O36cvX*T4TRkeeQEb2k|3YYqcBDDKg$_w=U`^d#RWE%_b
z;(6);{5c{@ZxdGITIy=z_ZGvdMq@pUV9nCew1bqMpkzPda0E_v!P01sbZ&;_Q5$=*
zGKg87yp1wSH6@H#iK3K3^g=0NuyA46D>>ogvJ*F$P02yEf~z)oS<y4FCb)>T(1WuC
zn9&#2j!o(VDf|?LXbg|+R!n%U^s+2s?BVw~MwW<I2>?r=Nw_K(tBIJk&$Y7`#5bGy
zMAjI<(`DnE?0lbvqr!f&(dOc}2umsm^eI5i&aW;8>WA=)OL8}1u!qIKrZBkVl9bZi
zUj_Dsx3wm{YD!(6KzX?4IusG<FJd8^<40>vZ3S|*2EV#sd3Wc@4Zx@N?^BHA*$%`$
zi{iidOd^V80vzOgA|{t=w%R)0!B!A$Gdjy2`0m4O&+?{(jem{zb{*a3j;7^2*I3D~
zyxC9qk3UeoRF$lPKs<24*lvOF>iMW*B^4I^*F4YF(W6R$Y*iUY_2DX8!alSB<C?=o
zbYrhA<4#0m_SATaVf3THxPjnWG$V902sf2T&C#ISSVnUcT)#lN#f<P}jO`VS_4U-P
zlr69!2haykp%)(3Jmi0|y#V%IW!{K-AExu3=1KUQ`6V>VMErd(!N2$5;Cs+73Cr(0
zNa$uS1N;*_s24AwTUdhNpaMUm#|pH9g(gri5acszHer6W*aAeW<)nsa`GR50_VN_5
za!e)SX3A(@!#c==dZ1$yGASA&F$5mAL5_4rf^?_tihLOgG7dnK9)mtDP*E_a(a0%*
zjPt<6h44-Dun|{+j63kF?16*&6B&0JDR%~WcLAw)6A5@n<EtKmlFx}dc#VvFfvo&M
z`H1Aqz#jMk<Ml(z#6n1y{F+5+204R-4-!r+fLMmyY;$8-6eMm{MClaOtc(zFv=|Ip
zdF;+ox@y>*Rgl@0u|;a&H>!mUuZKjhi5ICQQoSJ(Uf^pptkR~~FTaAa&500f0}cqU
zW;ojj_PfI6M$rF_+Mm6C8VW}eQ5Z?T3q0N+`Yphap6o}^@6XZxTrDCF!?k`_7~#HL
z*#VS^;8;ic;rO-s^NqbY+J&<nIMS8#J-AkUUk5%jf^TiX)#6+`^no_iR`gr)i(6?J
z)r|Y7t8s|G!XMV<cty?nD$lky_b(X5ieOf8ioh=6HOoWEhbLD&&1`5S!8$!`wgHyW
zMe(4oIC&F4U>e0+`2d1F2hX1Io*oeyDfF9%VAwU@=2Z>H&hv&Z@wWesF+RYX-wTrM
zkv7o^J8d=X5{*q*45rOsl#Bt{Ml*7RzikZYHX2*)cNmD#>~}@)>cL3su0=CPu)0Gy
z8d+<OM`(FI%^8=i8Kq*JHi7AH46-$Z<)}qljWI2J;1wCwrD#i1$}!^0pbwU3CJ3wx
zV|ECCc~KBA8{DSw>e<O&SJ5RU=9KU;u&^a;=V!`y?7eqvUt;yWpbEP$9@KkCxj@wC
zRWL9X{__$u{37)vZ45K~EY{!w_O_z&9zq7}!OyXa*tWx(blAY&T4cp);zY$tX+mbq
zAqH*^Wu`g~Y#fh-8O+{rkZ_!)T@MBs`+$>u(Y*U%Ee_Byu`3d)1@fsQ+h0J)aHLsH
zwgMlkAmJ)%ntVb0GDSd1;bY8;wx5S;Kt75%1vi|kTgyxQ0;BpJChVh<sG(#6I4Pv;
zb)s=%mA^pCOE9cQ*zUx_I7qt>>HG(_#~&Kwx{=;WB)8z&mSUMKfq$I`j?P8CF91=e
zC{wj~)|p8A3D_|6K~=FG2f{|P6?>!Diip=S6wx2d*^wL>On(f$5nMS0#25;8jNn`}
z{?76A$6*ykgVPf<Kj;XqoyHOIDbqMN4hDEC*G>K}E`K!Jsr;^4*uhiz9WykvpF%5s
z@jT*;=JD$nvR%qmD=Die%g_tfagXz9H-S&fxz}xMw^O%K{@`hBf??c;J|Ws;>>tv!
zi{m`6b0FApu<JCvSg`B?+k3RP@vl9E$4*2yd4-OWfSs1aHd%`d{>s~NqQN*-iE33C
zrkZw>7iLoEItA52yxIJ`-;%uPvS3^#cuC<`uF3mv3c59*Z4Rb2Vw5yTm+GLg?wuGf
z5tM$6ufDWHG!OMCM%pNNiK(=Lx16Cdmy;Ni^Eft7)7<7UZUxFMVC=4;?$EY77}0xR
zJ+`3j9YE_lM0=DXd;%vyyT91RGAk}=Gv)@m;|+QbnMtvlCi#fD^+cOrNzAj?Am4Lp
zGTH8*X_L@EMfr#&m<bc=fCv3fPvw~ClZeks*d|)MgUn_F_-6qJbE47eH9WL{gxO(r
zvLOX>u;t&hArnH80wKtV@?7~7QlcXAqXayVh;^$$Tc1`)mj+0hhDaT;)>>0dzZNW#
zkWIbemAWFW`XjYQ!=#SJW)yzKiO4pQgRu~;eHrZne2Z(4fx;8B7F~Y@bq)Bq1*y4<
zx|`U${cK~v$-{807m=(d>0iYIc?Fx{nueUWu_gY-8+iwN;vpp-8T<~m>@jUT<vlW5
zNb0xX>RXN_6X7SK{N5wWKjS-ki*@n|`TmtNE@XT<`&n#ddJZfY5$mIJL_|}lL{hlH
zUp+n6yTZm%bT$}XtLO{wCtD-uaJs|hNkm-uIhe(sU&`Rj4_H12*XXs+bb~7*KEusl
zh_whL4QmA6IJH<r2WLb!N~*SX@S8lEE|AIR3TF8$C5`?^uK3K6RC?m7uk=5GQJ?6&
z<UZfgzTlppfLX72BCmNGk9a=!*}shicAuwrm#21#ek|oY&-WZU$`N!Fp{*RIiZ`-{
zvISdA)E%&l!hg03-Da`&9_O=N0FKSq;v}bPzGQ)8qZkE)(T|2O5`=a38>rTqtr#o9
zN{c|B>cV*GfOgfA(uUHW(bbmm)r_r(IB5nq(U4JB1D&i6BeEJ+n!vL%TBLJX+G6xe
zfm{_CyJB0CDzbs{Yd(NN;9EgPxUlGQYMe+OkS(vaUZ92XFEKZ)%nO)J$tLCwsF%*1
z@-v@4Yq<9fJ@X^8?i=&&3A*QNY`$mA%16{E%-BSFf8+HN-oNYcHiEyo0UF-c=J^GV
zonhWz00&QF5ymk8_aF&k(13Tt`W#}r19TMa7VO0J^j4uE3w?Pr?HZ(rkSr@SU&%al
z>N%R^5!g5dn{hT$X%cd22D<kYO&^a2AqT-c4MjH>*%pJ5XWg(Hdugm{7mc^-f)s2*
z#Ccsf*18~NU1Vf^&4W`D#;Y9mqmZDX$kH&pJOQ9&el1&3!J3rRY{*?B^4ErS;l{pj
zvHgx@c7dCp|G$3026@YVGB(L;Y?0T<bAhD^Nb{%cy`(RgxVN+~I4aJ>Yq1saY+r!2
z!kd{u%tazcAA$^VY#)Qa!eYJ8Hl7;Cb@xGzd!TYWRYYgp2S@Jl9dWex`HLr-N9zHf
z`IsY*_}r%)f5LtumhW@^PJHiEj>PkqV*5a22;;G%1XK8w`j)$R#J#-ZE`(R?E&XKf
z>XUZt1NZ-t-e=gvkKmK=nx(-%f1%Cb3H<=I(y+aqL^8=dEuux>s0Dgi;jB%tjuy7r
zD8U-@XeELqA5Xjpc3B~iER0%_H&PWut4dE;X?4M{nppoW(QR7t9-CmN39nmww4b)b
zRCWR3I-?m0-?HE&2ZC%PXd}V0QCb|b7&p<3o~f`76VbP3Fs3GfWHVqW7gLvmYfBk<
z%ZSKaOchq#HntlWn`=R}E!3?rm|}ZS^K<WKWbb3|1pCM79cP3eW89yjo&oQKZg?4;
z@D}ZL_HNVO2mJ)w`9Q02Al*Z>%4f{81nN`t&6mu$_sq8USbahZO=3Q#Xe?+7y>xU_
z;SF@M^=MvsVHG;*d#N5!k!6nHa9qr3mDvtKrRB_<z{DUakYmC0f{_uy8Y&h<QiN!c
z-GwwvER7@yL&lUwx)eeB2<BASi4~AXrI1IJkyN!czoO8>MczeIv~UqS&>qXNBYOF7
zNVpF0QC*RG-I0OaLCGQPi#2M*TBSnI9{{5@0xNPX{ps{4YW>CR&t-oB)`9ToETT6H
z229uw3pnzxw`T>icma0B8nAQ&vRKGzvA2gPo?X}-8?it4BDJ@Hsee#*u=fXYeJ@_j
zy&MyA{wSEc8<~F$Bt9h_;)sX|{FC-i&Yh%xmi9R3&Qs55C~=JKzih8qUFSU4oMU^2
z8pE}JQP0sk#qm>=U0i#b?>fu=A@&bx*X`BtUEs_SK79}0CBAd7*6!l7#BctSx|d&f
zi1XrC@8PqKa#!NFZwH0`<f^UQ(N6Au2j{kMuOe!HEBC&N{#yF$cy?kHghiVEv5F@s
zp661HPn^Zm70-Jz$Q8{K9}jL##=;l8cQkKiD0K{V5STTPcNYn2^`+m1_bXV&-`Iw;
z*B<<8O=-gj5WeL`SZIwjBx}gFI-{f(8dW2(tRDK+znQ8cO1UaW1^4(9)>$!nVkL(X
zjJ+_%S5c6wDB~^!%qpqrY$3EF??5n=c^JVtITNUPy-DY%mqX(}vN6&{F{`qs_30!d
zI-!M;Pri_t9qbEE(*<+#l{S;8G7t01%bw6Ozp?+BdG~`k_!`~w9Vqt!TkjQk_Y!_4
zp6xSmPN1K#{_axZn9mQH+4ryl?=#=8vlU2q1zzVO+w(|(tH=gn6$)NdXu-!cmh=L8
zvfxRNA~%HO*o{=#&$(@2<!<E2eq_oH`ujn{o#5h5WX@(yzh14$rA_GMYmiBTOBH1n
zvTHFoDfIN2NVTcjb~IUt6OnmQ;Ny5uav0b+0)BM}RbXT!ZD-Ao6OIgxpx+*}?4<Ev
zEs?Zsu_K#Nn}V1PuqUb_hwEWwR7C<;W?LJZvXX|MKZBZOkkzF%X05Vjmz0HVE68zy
zs397%=Hm(x=~@t^6$qP8llu8MpNoEW4FLpK7p6rO7SyiD2O8(Y)+q#Dh`%XBn_K(j
zd~EYmf~g@eeZ}DVLby7V{Q#~jpq&-Jp$LDImwj<8A4o5_;xP7#a4v+cu#83QVo~lX
z|9`z=+P*-dl3Y;&e^?<6k&2@$l;b{%!##)b6iVTzEknNyPo)}vTZ!_smg7>5wibw0
zjwe``p1?4{UpD~91mD<!<4wS?*7TdwiY)Nv92GIbB4SeDSzmhn&}4dRR+?Y{22%#X
z3kYwU(0oQyX7E<0fMgTFHK83%1;wVJDJ^6q2up1VV`CXw)-n)n9<0L#dTVF}x~*qi
z37&E@qi!o~{a&^^C<io6Z9ijEXm1DDihOjz@1JDE3XD6zI2StJX^vcGlwV?eUuVSM
zX5`<ccMa4N8luP!x}~AsEoRJJZ5G8dpYDNm_n2u<>Az*>CDOiP?!92{y+Z$d!HoO|
z?ECN^4vLv6Q1GROeu4{q3+_3XwO=((RGiD8@71nS*pu0J3munZDn3J<hKPF2TC{3X
z1O61v*ajZr>qnN@!Ni;zPUh9HF-X&?g~SoErzpr6f|L@BQX%kBAY^GY^77P5^y_oH
z4*GjdP*V6?ns7$Q!)jVv2PxT{+Kl63-NZKRwL|xBgDh>MajhLRuC)s?wgb|&H{0G|
zXHV>hNZPK*;J$1J()K_`_XSgXgRVn4KbYPSB=w;GY>yFO>p<+0C?xtQB=;CFcLeQF
zWc_gZW9f_iQS6HdK+&7Q*>TAKDeRA@7X|W)qhr~Q#h#r6evIPyH0`gZ@Hb<?k@1|H
z%6HA+ucATjk(`~bea>X9Cw{{i&Wz-Hr*h<X{$dQre&<(+{LB&bhl56f|C`A9NRAEX
zHw@y)MD2b?(MIwK{W&6HcLhF)vqGa7!k)PE-fVkuygyGVlIPH#Bi%XDizhpfy$Fi%
zj)^DS0UbpkR$HEa3*JF%O?wd*ely-m6W(4uj?_l8slj`z%HF>*#kF~x4S1KuI4&@&
zEa+7h)T+!FDXk$`Y0l+kWR%cqC}T$0WkncOc{TLPMVp&(lvC5ZvVmnev^*X=TO(CZ
zYo|2}BtuUVBU8f9ZD#BmHFgrFgRKYaErT)b)ArKIi8X2(pbOm)CWO8lZ2Lx=q3Md5
zpqhvwOJ(~N<a>>sC(!N#Gf1>zhP|bHU=}{5eT7c?5?k*bb5-c4PuUZh4lkL#FPP17
zXsVBx*MHLrZC2#z-lhsxM{qm0&~#(z#cH<U6{N#0q{Ln1L@a-OoK|=YFMx`F(VpU%
zkSaoB7WSgZBNP%wM3Wxi=n;+y%W)rD;aL<%V~|k)dR7Ftx(ms*nf(nM6)3q;lWLog
zbZd}$>yduK`zYk#a#~TR(#}O@&O%O3Lncl}lFpzA=4%SlbShGHI7f$LH;hEi_Gf<>
z=R}-Ce<W}e_Qnv+!syLj7kWZM3!Ae)7D#t$1hp5a8VR2EL6UdnijGM4p0u4P|3*-V
z_}8wQ1=E6UTh0p`CLB*^PpUX8`r#ZCkwI;=E8Bw?0<Sx>?Z#H*QFr932r#50XT+z7
zwu`pcQv3W)oD-<hnxmqM-_V-h*%8F~_cOY1RQyd3?Kg;H-T3{#QhRc=7uWaZKDy9$
z;%<BLSp&JYAA7=A+e<4wI410_-XK&@o`iT-eYNdyj*Xy1^3;T<S3J8(+VdO@YK^B3
zXMY0Eegb6{+ZkFb^qIN5H{o5Ir=gkf9g8<8&}=Cfx0SsWy!qw4?d`m0v0CN^@N9?X
zdEWM)MzxK7k!2vzY(FDu4<l$h<LD&Vwudoxf^+A&LPTR8WA6~-@+hP87~8X)Kg+T6
zjN=Q8&C49WLODzS7DxVKWD76&HAcM1+PlhJ5VPTirYDNolE@5s$?@0BnFLLP6#fL^
z=X*+d&3qI8&q&~(@BoSkGcgZEl=XYskNmA*WL{~y=?^gRE3@`9M?_x4H*GF|Vs7&f
mubAbZxavLnt>AAmz&^q4xaehSlE973$kc2_RYOIeB>f*=^m_IH

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/CP.aif b/externals/lyonpotpourri/examples/CP.aif
new file mode 100755
index 0000000000000000000000000000000000000000..e90b1bedb51cfa2670ebbc4b595f408e54f00d8a
GIT binary patch
literal 21536
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

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/KR55SNAR.aiff b/externals/lyonpotpourri/examples/KR55SNAR.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..81760c15f4dc93326307a52d6b7eb9e1389086de
GIT binary patch
literal 18622
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
S!w3%WiM^va5dIw@qW^zhn$x!c

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/bell.aiff b/externals/lyonpotpourri/examples/bell.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..4b2a49aecc442e6bc31ad0db85de26b56d3dc905
GIT binary patch
literal 312012
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
Ycl<s0j}g2dXEiV_hyv%8D*n$00GbINy#N3J

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/hi_c_12b.aiff b/externals/lyonpotpourri/examples/hi_c_12b.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..e51d0602ee666a207cc3bd00d7ef63dfe978305f
GIT binary patch
literal 18248
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

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/hi_o_06e.aiff b/externals/lyonpotpourri/examples/hi_o_06e.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..44775561afaad47ef117566fd6fd4900d7e713e8
GIT binary patch
literal 39990
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
NQOrT~iF2`c^FP~CP<j9W

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/hi_o_15g.aiff b/externals/lyonpotpourri/examples/hi_o_15g.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..3d1fe42b9388478b39566c3ded58c76574952369
GIT binary patch
literal 22396
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
BX|MnQ

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/kick_11d.aiff b/externals/lyonpotpourri/examples/kick_11d.aiff
new file mode 100755
index 0000000000000000000000000000000000000000..c067b7ebd898e5c161a33fd3d1ec3b7f855eae9a
GIT binary patch
literal 33822
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
QiqQWH|E~xBm-N8@1KAi9i~s-t

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/mar2.aif b/externals/lyonpotpourri/examples/mar2.aif
new file mode 100755
index 0000000000000000000000000000000000000000..2d9430552bfc5b15b709541c9eebc47ee6e5dd9c
GIT binary patch
literal 6152
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

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/prettypad.aif b/externals/lyonpotpourri/examples/prettypad.aif
new file mode 100755
index 0000000000000000000000000000000000000000..dc7582b648dd858de331e3823f022caab15fe628
GIT binary patch
literal 547546
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
W+wXyV_5c3;?+N_x3H*O}0{;g;KlD!k

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/soda-bd.aif b/externals/lyonpotpourri/examples/soda-bd.aif
new file mode 100755
index 0000000000000000000000000000000000000000..f9848dec8aff14e5cacf455457b61e706e445005
GIT binary patch
literal 172368
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

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/trickhit.aif b/externals/lyonpotpourri/examples/trickhit.aif
new file mode 100755
index 0000000000000000000000000000000000000000..944beac2788f375e29edb8cc170c4362b94a6620
GIT binary patch
literal 102662
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
P-Fg3c{mFqpIRO6${C97B

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/examples/voice.wav b/externals/lyonpotpourri/examples/voice.wav
new file mode 100755
index 0000000000000000000000000000000000000000..8b7f1acc7300e7fbbd142e4b6a3f2e92c1e5955c
GIT binary patch
literal 124204
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
DYa~$D

literal 0
HcmV?d00001

diff --git a/externals/lyonpotpourri/expflam~-help.pd b/externals/lyonpotpourri/expflam~-help.pd
new file mode 100755
index 000000000..cb8ceea4e
--- /dev/null
+++ b/externals/lyonpotpourri/expflam~-help.pd
@@ -0,0 +1,136 @@
+#N canvas 609 102 594 535 10;
+#N canvas 774 592 522 372 load-samples 0;
+#X obj 41 107 soundfiler;
+#X msg 41 39 bang;
+#X obj 41 65 openpanel;
+#X obj 154 29 loadbang;
+#X msg 41 87 read -resize \$1 expflam-drum;
+#X msg 154 54 read -resize examples/kick_11d.aiff expflam-drum;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 307 282 pd load-samples;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array expflam-drum 16884 float 2;
+#X coords 0 1 16884 -1 100 70 1;
+#X restore 296 410 graph;
+#X obj 58 370 player~ expflam-drum 1 8;
+#X obj 83 321 loadbang;
+#X obj 58 453 *~ 0.1;
+#X obj 58 487 dac~;
+#X obj 58 271 expflam~;
+#X floatatom 95 428 5 0 0 0 - - -, f 5;
+#X obj 27 166 r expflam-msg;
+#N canvas 461 254 635 324 expflam-controls 0;
+#X msg 27 143 bypass \$1;
+#X obj 26 118 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 26 226 s expflam-msg;
+#X msg 153 209 setflam \$1 \$2 \$3 \$4 \$5;
+#X floatatom 152 129 5 0 0 0 - - -, f 5;
+#X floatatom 192 130 5 0 0 0 - - -, f 5;
+#X floatatom 233 130 5 0 0 0 - - -, f 5;
+#X floatatom 273 131 5 0 0 0 - - -, f 5;
+#X floatatom 314 131 5 0 0 0 - - -, f 5;
+#N canvas 701 481 454 304 pak 0;
+#X obj 63 60 inlet;
+#X obj 65 150 pack f f f f f;
+#X obj 112 59 inlet;
+#X obj 110 85 t b f;
+#X obj 167 54 inlet;
+#X obj 165 80 t b f;
+#X obj 216 53 inlet;
+#X obj 214 79 t b f;
+#X obj 267 53 inlet;
+#X obj 265 79 t b f;
+#X obj 68 184 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 1 1 1;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 5 1 1 2;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 7 1 1 3;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 9 1 1 4;
+#X restore 153 170 pd pak;
+#X obj 372 -16 hsl 115 15 20 90 0 0 empty empty start-delay -2 -8 0
+10 -162854 -1 -1 0 1;
+#X obj 372 14 hsl 115 15 50 150 0 0 empty empty end-delay -2 -8 0 10
+-162854 -1 -1 0 1;
+#X obj 373 46 hsl 115 15 3 32 0 0 empty empty attack-count -2 -8 0
+10 -162854 -1 -1 0 1;
+#X obj 233 114 int;
+#X obj 373 83 hsl 115 15 -6 6 0 0 empty empty slope -2 -8 0 10 -162854
+-1 -1 0 1;
+#X obj 373 116 hsl 115 15 0.05 0.99 0 0 empty empty attenuation -2
+-8 0 10 -162854 -1 -1 0 1;
+#X obj 75 56 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 76 81 flamall \$1;
+#X text 96 58 flam everything;
+#X text 43 114 flam nothing;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 9 1;
+#X connect 6 0 9 2;
+#X connect 7 0 9 3;
+#X connect 8 0 9 4;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X connect 11 0 5 0;
+#X connect 12 0 13 0;
+#X connect 13 0 6 0;
+#X connect 14 0 7 0;
+#X connect 15 0 8 0;
+#X connect 16 0 17 0;
+#X connect 17 0 2 0;
+#X restore 304 327 pd expflam-controls;
+#X msg 84 341 static_increment 0;
+#X obj 223 318 sig~ 1;
+#X obj 97 402 hsl 115 15 0 0.99 0 0 empty empty gain -2 -8 0 10 -162854
+-1 -1 0 1;
+#X obj 172 187 mask~ 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0;
+#X floatatom 224 299 5 0 0 0 - - -, f 5;
+#X obj 227 281 hsl 64 12 0.5 2.5 0 0 empty empty increment -2 -8 0
+10 -244920 -1 -1 0 1;
+#X obj 58 237 mask~ 1 0.5 0.5 0.5 1 0 0.5 0.5 1 0.5 1 0 0 0.5 1 0.125
+;
+#X obj 172 116 samm~ 98 4;
+#X text 25 47 expflam~ replaces a click trigger with a sequence of
+triggers to create a flam., f 83;
+#X text 180 147 flam gate signal - flams only occur where a 1 in gate
+aligns with the attack pattern below;
+#X text 224 220 attack pattern;
+#X text 304 307 open this for more controls:;
+#X msg 172 93 tempo \$1;
+#X floatatom 172 74 5 20 200 0 - - -, f 5;
+#X obj 23 11 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X connect 2 0 4 0;
+#X connect 3 0 10 0;
+#X connect 4 0 5 0;
+#X connect 4 0 5 1;
+#X connect 6 0 2 0;
+#X connect 7 0 4 1;
+#X connect 8 0 6 0;
+#X connect 10 0 2 0;
+#X connect 11 0 2 1;
+#X connect 12 0 7 0;
+#X connect 13 0 6 1;
+#X connect 14 0 11 0;
+#X connect 15 0 14 0;
+#X connect 16 0 6 0;
+#X connect 17 0 13 0;
+#X connect 17 0 16 0;
+#X connect 22 0 17 0;
+#X connect 23 0 22 0;
diff --git a/externals/lyonpotpourri/expflam~.c b/externals/lyonpotpourri/expflam~.c
new file mode 100755
index 000000000..78bd5593f
--- /dev/null
+++ b/externals/lyonpotpourri/expflam~.c
@@ -0,0 +1 @@
+#include "MSPd.h"


static t_class *expflam_class;

#define OBJECT_NAME "expflam~"

#define MAXFLAMS (64)
#define MAXATTACKS (128)
#define STOPGAIN (.001)


typedef struct
{
	int attack_count; // number of triggers per flam event
	float *attack_times; // trigger times in seconds
	int *attack_points; // trigger times in samples
	int fdex; // current flam
	float gainatten; // attenuation factor
	float amp; // current amp
	int atks;// number of attacks per flam
	long counter; // internal clock
	short active; // flag that flam is turned on


} t_flam;

typedef struct _expflam
{

	t_object x_obj;
	float x_f;
	t_flam *flams; // contain flams
	float start_delay; // initial flam delay
	float end_delay;// end delay
	float atten; // attenuation factor
	float slope;// slope of curve
	int atks;// number of attacks per flam
	float sr;
	float *trigvec; // hold input vector (to protect from memory sharing)
	float *bypvec; // ditto for flamgate vector
	short flamall; // flag to put a flam on everything
	short bypass; // flag to copy input to output without flam
	short flamgate_connected; // flag that a flamgate logical signal is connected to inlet 2

} t_expflam;


void *expflam_new(void);
t_int *expflam_perform(t_int *w);
void expflam_dsp(t_expflam *x, t_signal **sp);
void expflam_setflam(t_expflam *x, t_symbol *msg, short argc, t_atom *argv);
void expflam_free(t_expflam *x);
void expflam_assist(t_expflam *x, void *b, long msg, long arg, char *dst);
void expflam_flamall(t_expflam *x, t_floatarg tog);
void expflam_bypass(t_expflam *x, t_floatarg tog);


void expflam_tilde_setup(void)
{
expflam_class = class_new(gensym("expflam~"),(t_newmethod)expflam_new,
(t_method)expflam_free, sizeof(t_expflam), 0, 0);
	CLASS_MAINSIGNALIN(expflam_class,t_expflam, x_f );
	class_addmethod(expflam_class,(t_method)expflam_dsp,gensym("dsp"),A_CANT,0);
	class_addmethod(expflam_class,(t_method)expflam_setflam,gensym("setflam"),A_GIMME,0);
	class_addmethod(expflam_class,(t_method)expflam_flamall,gensym("flamall"),A_FLOAT,0);
	class_addmethod(expflam_class,(t_method)expflam_bypass,gensym("bypass"),A_FLOAT,0);
    potpourri_announce(OBJECT_NAME);
}

void expflam_flamall(t_expflam *x, t_floatarg tog)
{
	x->flamall = (short) tog;
}

void expflam_bypass(t_expflam *x, t_floatarg tog)
{
	x->bypass = (short) tog;
}

void expflam_assist(t_expflam *x, void *b, long msg, long arg, char *dst)
{
  if (msg==1) {
    switch (arg) {
    	case 0: sprintf(dst,"(signal) Trigger Click"); break;
		case 1: sprintf(dst,"(signal) Flam Gate"); break;
    }
  } else if (msg==2) {
    sprintf(dst,"(signal) Flam Clicks");
  }
}

void *expflam_new(void)
{
	int i;
	t_expflam *x = (t_expflam *)pd_new(expflam_class);
	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
	outlet_new(&x->x_obj, gensym("signal"));
	x->flams = (t_flam *) calloc(MAXFLAMS, sizeof(t_flam));   
	for(i = 0; i < MAXFLAMS; i++){
	  	x->flams[i].attack_times = (float *) calloc(MAXATTACKS, sizeof(float));
	  	x->flams[i].attack_points = (int *) calloc(MAXATTACKS, sizeof(int));
	}
	   
	x->trigvec = malloc(8192 * sizeof(float)); // maximum vector size
	x->bypvec = malloc(8192 * sizeof(float)); // maximum vector size
    x->sr = sys_getsr();
    x->start_delay = .025;
    x->end_delay = 0.1;
    x->slope = -3.0;
    x->atks = 8;
    x->atten = 0.8;
	x->bypass = 0;
	x->flamall = 0;
	
    return x;
}

void expflam_setflam(t_expflam *x, t_symbol *msg, short argc, t_atom *argv)
{
  if( argc != 5 ){
    error("%s: setflam format: startdelay enddelay attacks slope gainatten",OBJECT_NAME);
    return;
  }
  x->start_delay = atom_getfloatarg(0,argc,argv) * 0.001;
  x->end_delay = atom_getfloatarg(1,argc,argv) * 0.001;
  x->atks = (int) atom_getfloatarg(2,argc,argv);
  x->slope = atom_getfloatarg(3,argc,argv);
  x->atten = atom_getfloatarg(4,argc,argv);
  if(x->slope == 0)
  	x->slope = .0001;
  if(x->start_delay <= 0)
  	x->start_delay = .00001;
  if(x->end_delay <= 0)
  	x->end_delay = .00001;
  if(x->atks < 2)
  	x->atks = 2;
  if(x->atks > MAXATTACKS){
  	post("%s: exceeded maximum of %d attacks",OBJECT_NAME, MAXATTACKS);
  	x->atks = MAXATTACKS;
  }
}

void expflam_free(t_expflam *x)
{
int i;

	free(x->trigvec);
	free(x->bypvec);
  for(i = 0; i < MAXFLAMS; i++){
  	free(x->flams[i].attack_times);
  	free(x->flams[i].attack_points);
  }
  free(x->flams);
	
}

t_int *expflam_perform(t_int *w)
{
	int i,j,k;
	t_expflam *x = (t_expflam *) (w[1]);
	float *in_vec = (t_float *)(w[2]);
	float *in2_vec = (t_float *)(w[3]);
	float *out_vec = (t_float *)(w[4]);
	int n = (int) w[5];
	
	float *trigvec = x->trigvec;
	float *flamgate_vec = x->bypvec;
	t_flam *flams = x->flams;
	int atks = x->atks;
	float atten = x->atten;
	float slope = x->slope;
	float start_delay = x->start_delay;
	float end_delay = x->end_delay;
	float sr = x->sr;
	short flamgate_connected = x->flamgate_connected;
	short flamall = x->flamall;
	
	/* in flamgate mode copy input to output and return */
	if(x->bypass){
		memcpy( (void *)out_vec, (void *)in_vec, n * sizeof(float) );
		return (w+6);
	}
	/* copy input vectors */
	memcpy( (void *)flamgate_vec, (void *)in2_vec, n * sizeof(float) );// the order of these mcopies matters
	memcpy( (void *)trigvec, (void *)in_vec, n * sizeof(float) );
	memcpy( (void *)out_vec, (void *)in_vec, n * sizeof(float) );// copy triggers to output for a start
		
	/* look for activation triggers */
	for(i = 0; i < n; i++){
		if(trigvec[i] && (flamgate_vec[i] || ! flamgate_connected || flamall ) ){	
//		post("triggered with t %f and flamgate %f",trigvec[i],flamgate_vec[i]);
			j = 0;  
			while(flams[j].active && j < MAXFLAMS){
				++j;
			}
			if(j >= MAXFLAMS){
				post("too many flams");				
			}
			else {
//				post("inserting flam at location %d",j);
				flams[j].active = 1;
				flams[j].attack_times[0] = 0.0;
				flams[j].attack_points[0] = i;
				flams[j].gainatten = atten;
				flams[j].amp = trigvec[i];
				flams[j].counter = 0;
				flams[j].fdex = 0;
				flams[j].atks = atks;
				
				for(k = 1; k < atks; k++){
					flams[j].attack_times[k] = start_delay + (end_delay - start_delay) * ((1.0 - exp((float)k * slope/((float)atks-1.0)))/(1.0-exp(slope)));
					flams[j].attack_times[k] += flams[j].attack_times[k - 1];
					flams[j].attack_points[k] = flams[j].attack_times[k] * sr + i;
				}						
			}
		}
	}
	/* now iterate through active flams */
	for( i = 0; i < n; i++){
		for(j = 0; j < MAXFLAMS; j++){
			if(flams[j].active){
				if(flams[j].counter >= flams[j].attack_points[flams[j].fdex]){
					out_vec[i] += flams[j].amp;
					flams[j].amp *= flams[j].gainatten;
					if( flams[j].amp <= STOPGAIN ){
						flams[j].active = 0;
					}
					flams[j].fdex++;
					if(flams[j].fdex >= flams[j].atks){
						flams[j].active = 0;
					}
				}
				flams[j].counter++;
			}
		}
	}

	return w+6;
}

void expflam_dsp(t_expflam *x, t_signal **sp)
{

	x->flamgate_connected = 1;
	dsp_add(expflam_perform, 5, x,
			sp[0]->s_vec, 
			sp[1]->s_vec,
			sp[2]->s_vec,  
			sp[0]->s_n
	);
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/fft.c b/externals/lyonpotpourri/fft.c
new file mode 100755
index 000000000..d6bb1bc0b
--- /dev/null
+++ b/externals/lyonpotpourri/fft.c
@@ -0,0 +1 @@
+#include "fftease.h"




/* If forward is true, rfft replaces 2*N real data points in x with
   N complex values representing the positive frequency half of their
   Fourier spectrum, with x[1] replaced with the real part of the Nyquist
   frequency value.  If forward is false, rfft expects x to contain a
   positive frequency spectrum arranged as before, and replaces it with
   2*N real values.  N MUST be a power of 2. */

void rfft( float *x, int N, int forward )

{
  float 	c1,c2,
  		h1r,h1i,
		h2r,h2i,
		wr,wi,
		wpr,wpi,
  		temp,
		theta;
  float 	xr,xi;
  int 		i,
		i1,i2,i3,i4,
		N2p1;
  static int 	first = 1;
/*float PI, TWOPI;*/
void cfft();

    if ( first ) {

	first = 0;
    }
    theta = PI/N;
    wr = 1.;
    wi = 0.;
    c1 = 0.5;
    if ( forward ) {
	c2 = -0.5;
	cfft( x, N, forward );
	xr = x[0];
	xi = x[1];
    } else {
	c2 = 0.5;
	theta = -theta;
	xr = x[1];
	xi = 0.;
	x[1] = 0.;
    }
    wpr = -2.*pow( sin( 0.5*theta ), 2. );
    wpi = sin( theta );
    N2p1 = (N<<1) + 1;
    for ( i = 0; i <= N>>1; i++ ) {
	i1 = i<<1;
	i2 = i1 + 1;
	i3 = N2p1 - i2;
	i4 = i3 + 1;
	if ( i == 0 ) {
	    h1r =  c1*(x[i1] + xr );
	    h1i =  c1*(x[i2] - xi );
	    h2r = -c2*(x[i2] + xi );
	    h2i =  c2*(x[i1] - xr );
	    x[i1] =  h1r + wr*h2r - wi*h2i;
	    x[i2] =  h1i + wr*h2i + wi*h2r;
	    xr =  h1r - wr*h2r + wi*h2i;
	    xi = -h1i + wr*h2i + wi*h2r;
	} else {
	    h1r =  c1*(x[i1] + x[i3] );
	    h1i =  c1*(x[i2] - x[i4] );
	    h2r = -c2*(x[i2] + x[i4] );
	    h2i =  c2*(x[i1] - x[i3] );
	    x[i1] =  h1r + wr*h2r - wi*h2i;
	    x[i2] =  h1i + wr*h2i + wi*h2r;
	    x[i3] =  h1r - wr*h2r + wi*h2i;
	    x[i4] = -h1i + wr*h2i + wi*h2r;
	}
	wr = (temp = wr)*wpr - wi*wpi + wr;
	wi = wi*wpr + temp*wpi + wi;
    }
    if ( forward )
	x[1] = xr;
    else
	cfft( x, N, forward );
}

/* cfft replaces float array x containing NC complex values
   (2*NC float values alternating real, imagininary, etc.)
   by its Fourier transform if forward is true, or by its
   inverse Fourier transform if forward is false, using a
   recursive Fast Fourier transform method due to Danielson
   and Lanczos.  NC MUST be a power of 2. */

void cfft( float *x, int NC, int forward )

{
  float 	wr,wi,
		wpr,wpi,
		theta,
		scale;
  int 		mmax,
		ND,
		m,
		i,j,
		delta;

void bitreverse();

    ND = NC<<1;
    bitreverse( x, ND );
    for ( mmax = 2; mmax < ND; mmax = delta ) {
	delta = mmax<<1;
	theta = TWOPI/( forward? mmax : -mmax );
	wpr = -2.*pow( sin( 0.5*theta ), 2. );
	wpi = sin( theta );
	wr = 1.;
	wi = 0.;
	for ( m = 0; m < mmax; m += 2 ) {
	 register float rtemp, itemp;
	    for ( i = m; i < ND; i += delta ) {
		j = i + mmax;
		rtemp = wr*x[j] - wi*x[j+1];
		itemp = wr*x[j+1] + wi*x[j];
		x[j] = x[i] - rtemp;
		x[j+1] = x[i+1] - itemp;
		x[i] += rtemp;
		x[i+1] += itemp;
	    }
	    wr = (rtemp = wr)*wpr - wi*wpi + wr;
	    wi = wi*wpr + rtemp*wpi + wi;
	}
    }

/* scale output */

    scale = forward ? 1./ND : 2.;
    { register float *xi=x, *xe=x+ND;
	while ( xi < xe )
	    *xi++ *= scale;
    }
}

/* bitreverse places float array x containing N/2 complex values
   into bit-reversed order */

void bitreverse( float *x, int N )

{
  float 	rtemp,itemp;
  int 		i,j,
		m;

    for ( i = j = 0; i < N; i += 2, j += m ) {
	if ( j > i ) {
	    rtemp = x[j]; itemp = x[j+1]; /* complex exchange */
	    x[j] = x[i]; x[j+1] = x[i+1];
	    x[i] = rtemp; x[i+1] = itemp;
	}
	for ( m = N>>1; m >= 2 && j >= m; m >>= 1 )
	    j -= m;
    }
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/fft4.c b/externals/lyonpotpourri/fft4.c
new file mode 100755
index 000000000..fb221181c
--- /dev/null
+++ b/externals/lyonpotpourri/fft4.c
@@ -0,0 +1 @@
+#include <math.h>
#include "fftease.h"

void init_rdft(int n, int *ip, float *w)
{

  int	nw,
	nc;

  void	makewt(int nw, int *ip, float *w);
  void	makect(int nc, int *ip, float *c);

  nw = n >> 2;
  makewt(nw, ip, w);

  nc = n >> 2;
  makect(nc, ip, w + nw);

  return;
}


void rdft(int n, int isgn, float *a, int *ip, float *w)
{

  int		j,
		nw,
		nc;

  float		xi;

  void		bitrv2(int n, int *ip, float *a),
		cftsub(int n, float *a, float *w),
		rftsub(int n, float *a, int nc, float *c);

    
  nw = ip[0];
  nc = ip[1];
  
  if (isgn < 0) {
    a[1] = 0.5 * (a[1] - a[0]);
    a[0] += a[1];

    for (j = 3; j <= n - 1; j += 2) {
      a[j] = -a[j];
    }

    if (n > 4) {
      rftsub(n, a, nc, w + nw);
      bitrv2(n, ip + 2, a);
    }

    cftsub(n, a, w);

    for (j = 1; j <= n - 1; j += 2) {
      a[j] = -a[j];
    }
  }

  else {

    if (n > 4) {
      bitrv2(n, ip + 2, a);
    }

    cftsub(n, a, w);

    if (n > 4) {
      rftsub(n, a, nc, w + nw);
    }

    xi = a[0] - a[1];
    a[0] += a[1];
    a[1] = xi;
  }
}


void bitrv2(int n, int *ip, float *a)
{
  int j, j1, k, k1, l, m, m2;
  float xr, xi;
    
  ip[0] = 0;
  l = n;
  m = 1;

  while ((m << 2) < l) {
    l >>= 1;
    for (j = 0; j <= m - 1; j++) {
      ip[m + j] = ip[j] + l;
    }
    m <<= 1;
  }

  if ((m << 2) > l) {

    for (k = 1; k <= m - 1; k++) {

      for (j = 0; j <= k - 1; j++) {
	j1 = (j << 1) + ip[k];
	k1 = (k << 1) + ip[j];
	xr = a[j1];
	xi = a[j1 + 1];
	a[j1] = a[k1];
	a[j1 + 1] = a[k1 + 1];
	a[k1] = xr;
	a[k1 + 1] = xi;
      }
    }
  }

  else {
    m2 = m << 1;

    for (k = 1; k <= m - 1; k++) {

      for (j = 0; j <= k - 1; j++) {
	j1 = (j << 1) + ip[k];
	k1 = (k << 1) + ip[j];
	xr = a[j1];
	xi = a[j1 + 1];
	a[j1] = a[k1];
	a[j1 + 1] = a[k1 + 1];
	a[k1] = xr;
	a[k1 + 1] = xi;
	j1 += m2;
	k1 += m2;
	xr = a[j1];
	xi = a[j1 + 1];
	a[j1] = a[k1];
	a[j1 + 1] = a[k1 + 1];
	a[k1] = xr;
	a[k1 + 1] = xi;
      }
    }
  }
}


void cftsub(int n, float *a, float *w)
{
  int j, j1, j2, j3, k, k1, ks, l, m;
  float wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
  float x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
    
  l = 2;

  while ((l << 1) < n) {
    m = l << 2;

    for (j = 0; j <= l - 2; j += 2) {
      j1 = j + l;
      j2 = j1 + l;
      j3 = j2 + l;
      x0r = a[j] + a[j1];
      x0i = a[j + 1] + a[j1 + 1];
      x1r = a[j] - a[j1];
      x1i = a[j + 1] - a[j1 + 1];
      x2r = a[j2] + a[j3];
      x2i = a[j2 + 1] + a[j3 + 1];
      x3r = a[j2] - a[j3];
      x3i = a[j2 + 1] - a[j3 + 1];
      a[j] = x0r + x2r;
      a[j + 1] = x0i + x2i;
      a[j2] = x0r - x2r;
      a[j2 + 1] = x0i - x2i;
      a[j1] = x1r - x3i;
      a[j1 + 1] = x1i + x3r;
      a[j3] = x1r + x3i;
      a[j3 + 1] = x1i - x3r;
    }

    if (m < n) {
      wk1r = w[2];

      for (j = m; j <= l + m - 2; j += 2) {
	j1 = j + l;
	j2 = j1 + l;
	j3 = j2 + l;
	x0r = a[j] + a[j1];
	x0i = a[j + 1] + a[j1 + 1];
	x1r = a[j] - a[j1];
	x1i = a[j + 1] - a[j1 + 1];
	x2r = a[j2] + a[j3];
	x2i = a[j2 + 1] + a[j3 + 1];
	x3r = a[j2] - a[j3];
	x3i = a[j2 + 1] - a[j3 + 1];
	a[j] = x0r + x2r;
	a[j + 1] = x0i + x2i;
	a[j2] = x2i - x0i;
	a[j2 + 1] = x0r - x2r;
	x0r = x1r - x3i;
	x0i = x1i + x3r;
	a[j1] = wk1r * (x0r - x0i);
	a[j1 + 1] = wk1r * (x0r + x0i);
	x0r = x3i + x1r;
	x0i = x3r - x1i;
	a[j3] = wk1r * (x0i - x0r);
	a[j3 + 1] = wk1r * (x0i + x0r);
      }

      k1 = 1;
      ks = -1;

      for (k = (m << 1); k <= n - m; k += m) {
	k1++;
	ks = -ks;
	wk1r = w[k1 << 1];
	wk1i = w[(k1 << 1) + 1];
	wk2r = ks * w[k1];
	wk2i = w[k1 + ks];
	wk3r = wk1r - 2 * wk2i * wk1i;
	wk3i = 2 * wk2i * wk1r - wk1i;

	for (j = k; j <= l + k - 2; j += 2) {
	  j1 = j + l;
	  j2 = j1 + l;
	  j3 = j2 + l;
	  x0r = a[j] + a[j1];
	  x0i = a[j + 1] + a[j1 + 1];
	  x1r = a[j] - a[j1];
	  x1i = a[j + 1] - a[j1 + 1];
	  x2r = a[j2] + a[j3];
	  x2i = a[j2 + 1] + a[j3 + 1];
	  x3r = a[j2] - a[j3];
	  x3i = a[j2 + 1] - a[j3 + 1];
	  a[j] = x0r + x2r;
	  a[j + 1] = x0i + x2i;
	  x0r -= x2r;
	  x0i -= x2i;
	  a[j2] = wk2r * x0r - wk2i * x0i;
	  a[j2 + 1] = wk2r * x0i + wk2i * x0r;
	  x0r = x1r - x3i;
	  x0i = x1i + x3r;
	  a[j1] = wk1r * x0r - wk1i * x0i;
	  a[j1 + 1] = wk1r * x0i + wk1i * x0r;
	  x0r = x1r + x3i;
	  x0i = x1i - x3r;
	  a[j3] = wk3r * x0r - wk3i * x0i;
	  a[j3 + 1] = wk3r * x0i + wk3i * x0r;
	}
      }
    }

    l = m;
  }

  if (l < n) {

    for (j = 0; j <= l - 2; j += 2) {
      j1 = j + l;
      x0r = a[j] - a[j1];
      x0i = a[j + 1] - a[j1 + 1];
      a[j] += a[j1];
      a[j + 1] += a[j1 + 1];
      a[j1] = x0r;
      a[j1 + 1] = x0i;
    }
  }
}


void rftsub(int n, float *a, int nc, float *c)
{
  int j, k, kk, ks;
  float wkr, wki, xr, xi, yr, yi;
    
  ks = (nc << 2) / n;
  kk = 0;

  for (k = (n >> 1) - 2; k >= 2; k -= 2) {
    j = n - k;
    kk += ks;
    wkr = 0.5 - c[kk];
    wki = c[nc - kk];
    xr = a[k] - a[j];
    xi = a[k + 1] + a[j + 1];
    yr = wkr * xr - wki * xi;
    yi = wkr * xi + wki * xr;
    a[k] -= yr;
    a[k + 1] -= yi;
    a[j] += yr;
    a[j + 1] -= yi;
  }
}


void makewt(int nw, int *ip, float *w)
{
    void bitrv2(int n, int *ip, float *a);
    int nwh, j;
    float delta, x, y;
    
    ip[0] = nw;
    ip[1] = 1;
    if (nw > 2) {
        nwh = nw >> 1;
        delta = atan(1.0) / nwh;
        w[0] = 1;
        w[1] = 0;
        w[nwh] = cos(delta * nwh);
        w[nwh + 1] = w[nwh];
        for (j = 2; j <= nwh - 2; j += 2) {
            x = cos(delta * j);
            y = sin(delta * j);
            w[j] = x;
            w[j + 1] = y;
            w[nw - j] = y;
            w[nw - j + 1] = x;
        }
        bitrv2(nw, ip + 2, w);
    }
}


void makect(int nc, int *ip, float *c)
{
    int nch, j;
    float delta;
    
    ip[1] = nc;
    if (nc > 1) {
        nch = nc >> 1;
        delta = atan(1.0) / nch;
        c[0] = 0.5;
        c[nch] = 0.5 * cos(delta * nch);
        for (j = 1; j <= nch - 1; j++) {
            c[j] = 0.5 * cos(delta * j);
            c[nc - j] = 0.5 * sin(delta * j);
        }
    }
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/fftease.h b/externals/lyonpotpourri/fftease.h
new file mode 100755
index 000000000..9d6e9cff4
--- /dev/null
+++ b/externals/lyonpotpourri/fftease.h
@@ -0,0 +1,61 @@
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/*
+The new improved fftease.h
+*/
+
+#define getbytes t_getbytes
+#define freebytes t_freebytes
+#define resizebytes t_resizebytes
+
+#define FFTEASE_ANNOUNCEMENT "- a member of FFTease 2.52"
+
+#ifndef PI
+#define PI 3.141592653589793115997963468544185161590576171875
+#endif
+
+#ifndef TWOPI
+#define TWOPI 6.28318530717958623199592693708837032318115234375
+#endif
+
+#define MAX_N (16384)
+#define MAX_N2 (MAX_N/2)
+#define MAX_Nw (MAX_N * 4)
+
+void convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor );
+void unconvert( float *C, float *S, int N2, float *lastphase, float fundamental,  float factor );
+void rfft( float *x, int N, int forward );
+void cfft( float *x, int NC, int forward );
+void bitreverse( float *x, int N );
+void fold( float *I, float *W, int Nw, float *O, int N, int n );
+void init_rdft(int n, int *ip, float *w);
+void rdft(int n, int isgn, float *a, int *ip, float *w);
+void bitrv2(int n, int *ip, float *a);
+void cftsub(int n, float *a, float *w);
+void rftsub(int n, float *a, int nc, float *c);
+void makewt(int nw, int *ip, float *w);
+void makect(int nc, int *ip, float *c);
+void leanconvert( float *S, float *C, int N2 );
+void leanunconvert( float *C, float *S, int N2 );
+void makewindows( float *H, float *A, float *S, int Nw, int N, int I );
+void makehamming( float *H, float *A, float *S, int Nw, int N, int I,int odd );
+void makehanning( float *H, float *A, float *S, int Nw, int N, int I,int odd );
+void overlapadd( float *I, int N, float *W, float *O, int Nw, int n );
+void bloscbank( float *S, float *O, int D, float iD, float *lf, float *la,
+	float *bindex, float *tab, int len, float synt, int lo, int hi );
+
+float randf( float min, float max );
+int randi( int min, int max );
+int power_of_two(int test);
+
+
+void freebytes2(void *fatso, size_t nbytes);
+void *getbytes2(size_t nbytes);
+void *resizebytes2(void *old, size_t oldsize, size_t newsize);
+void limit_fftsize(int *N, int *Nw, char *OBJECT_NAME);
+
+/* THE FUNCTIONS */
diff --git a/externals/lyonpotpourri/fftease_oldskool.h b/externals/lyonpotpourri/fftease_oldskool.h
new file mode 100755
index 000000000..65a382da2
--- /dev/null
+++ b/externals/lyonpotpourri/fftease_oldskool.h
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/*
+The new improved fftease.h
+*/
+
+
+#define FFTEASE_ANNOUNCEMENT "- a member of FFTease 2.52"
+
+#ifndef PI
+#define PI 3.141592653589793115997963468544185161590576171875
+#endif
+
+#ifndef TWOPI
+#define TWOPI 6.28318530717958623199592693708837032318115234375
+#endif
+
+#define MAX_N (16384)
+#define MAX_N2 (MAX_N/2)
+#define MAX_Nw (MAX_N * 4)
+
+void convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor );
+void unconvert( float *C, float *S, int N2, float *lastphase, float fundamental,  float factor );
+void rfft( float *x, int N, int forward );
+void cfft( float *x, int NC, int forward );
+void bitreverse( float *x, int N );
+void fold( float *I, float *W, int Nw, float *O, int N, int n );
+void init_rdft(int n, int *ip, float *w);
+void rdft(int n, int isgn, float *a, int *ip, float *w);
+void bitrv2(int n, int *ip, float *a);
+void cftsub(int n, float *a, float *w);
+void rftsub(int n, float *a, int nc, float *c);
+void makewt(int nw, int *ip, float *w);
+void makect(int nc, int *ip, float *c);
+void leanconvert( float *S, float *C, int N2 );
+void leanunconvert( float *C, float *S, int N2 );
+void makewindows( float *H, float *A, float *S, int Nw, int N, int I );
+void makehamming( float *H, float *A, float *S, int Nw, int N, int I,int odd );
+void makehanning( float *H, float *A, float *S, int Nw, int N, int I,int odd );
+void overlapadd( float *I, int N, float *W, float *O, int Nw, int n );
+void bloscbank( float *S, float *O, int D, float iD, float *lf, float *la,
+	float *bindex, float *tab, int len, float synt, int lo, int hi );
+
+float randf( float min, float max );
+int randi( int min, int max );
+int power_of_two(int test);
+
+
+void freebytes2(void *fatso, size_t nbytes);
+void *getbytes2(size_t nbytes);
+void *resizebytes2(void *old, size_t oldsize, size_t newsize);
+void limit_fftsize(int *N, int *Nw, char *OBJECT_NAME);
+
+/* THE FUNCTIONS */
diff --git a/externals/lyonpotpourri/fftease_setup.c b/externals/lyonpotpourri/fftease_setup.c
new file mode 100755
index 000000000..3243f0912
--- /dev/null
+++ b/externals/lyonpotpourri/fftease_setup.c
@@ -0,0 +1,5 @@
+void fftease_setup(void)
+{
+  //   post("Loaded FFTease Library");
+  //  printf("Loaded FFTease Library(2)");
+}
diff --git a/externals/lyonpotpourri/flanjah~-help.pd b/externals/lyonpotpourri/flanjah~-help.pd
new file mode 100755
index 000000000..2c59f9a5a
--- /dev/null
+++ b/externals/lyonpotpourri/flanjah~-help.pd
@@ -0,0 +1,62 @@
+#N canvas 698 193 450 406 10;
+#X obj 26 104 phasor~ 350;
+#X obj 124 294 *~ 0.1;
+#X obj 124 341 dac~;
+#X obj 124 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X floatatom 135 154 5 -0.5 0.5 2 feedback feedback -, f 5;
+#X floatatom 195 153 5 0 0 2 speed1 speed1 -, f 5;
+#X floatatom 244 151 5 0 0 2 speed2 speed2 -, f 5;
+#X floatatom 295 152 5 0 1 2 depth depth -, f 5;
+#X floatatom 189 320 5 0 0 0 - - -, f 5;
+#X msg 124 106 protect \$1;
+#X obj 124 259 flanjah~;
+#X obj 258 264 hsl 128 15 -0.425 0.425 0 0 feedback feedback-in feedback
+-2 -6 0 8 -167887 -1 -1 12326 1;
+#X obj 258 293 hsl 128 15 0 4 0 0 speed1 speed1-in speed1 -2 -6 0 8
+-167887 -1 -1 1048 1;
+#X obj 258 322 hsl 128 15 0 4 0 0 speed2 speed2-in speed2 -2 -6 0 8
+-167887 -1 -1 794 1;
+#X obj 258 350 hsl 128 15 0 1 0 0 depth depth-in depth -2 -6 0 8 -167887
+-1 -1 1524 1;
+#X text 145 76 protect from dangerous feedback;
+#X obj 189 276 vsl 15 32 0 0.5 0 0 empty empty gain 0 -8 0 8 -261728
+-1 -1 0 1;
+#X obj 26 129 killdc~;
+#X obj 23 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X floatatom 26 82 5 0 0 0 - - -, f 5;
+#X text 22 45 flanjah~ - A simple flanger;
+#N canvas 339 464 318 192 initialize 0;
+#X msg 172 66 0.33;
+#X msg 187 87 0.25;
+#X obj 207 22 loadbang;
+#X msg 207 107 0.12;
+#X msg 163 45 0.4;
+#X obj 37 62 s feedback-in;
+#X obj 39 82 s speed1-in;
+#X obj 39 104 s speed2-in;
+#X obj 40 123 s depth-in;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 0;
+#X connect 2 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 0 3 0;
+#X connect 3 0 8 0;
+#X connect 4 0 5 0;
+#X restore 303 218 pd initialize;
+#X connect 0 0 17 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 9 0;
+#X connect 4 0 10 1;
+#X connect 5 0 10 2;
+#X connect 6 0 10 3;
+#X connect 7 0 10 4;
+#X connect 8 0 1 1;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X connect 16 0 8 0;
+#X connect 17 0 10 0;
+#X connect 19 0 0 0;
diff --git a/externals/lyonpotpourri/flanjah~.c b/externals/lyonpotpourri/flanjah~.c
new file mode 100755
index 000000000..f3c2d06a3
--- /dev/null
+++ b/externals/lyonpotpourri/flanjah~.c
@@ -0,0 +1,333 @@
+#include "MSPd.h"
+
+/* pointless comment */
+
+#define F_LEN 65536
+
+
+static t_class *flanjah_class;
+
+
+#define OBJECT_NAME "flanjah~"
+
+typedef struct _flanjah
+{
+    
+    t_object x_obj;
+    float x_f;
+    //
+    float *sinetab;
+    float si_factor;
+    float osc1_phs;
+    float osc1_si;
+    float si1;
+    float osc2_phs;
+    float osc2_si;
+    float si2;
+    //
+    float speed1;
+    float speed2;
+    float feedback;
+    float maxdel;
+    float depth;
+    //
+    float *ddl1 ;
+    int ddl1_len;
+    int ddl1_phs;
+    float *ddl2 ;
+    int ddl2_len;
+    int ddl2_phs;
+    //
+    float tap1;
+    float tap2;
+    //
+    int feedback_connected;
+    int speed1_connected;
+    int speed2_connected;
+    int depth_connected;
+    short connected[8];
+    int feedback_protect;
+    short mute;
+    float sr;
+} t_flanjah;
+
+t_int *flanjah_perform(t_int *w);
+
+void flanjah_protect(t_flanjah *x, t_floatarg state);
+void flanjah_mute(t_flanjah *x, t_floatarg state);
+void flanjah_dsp(t_flanjah *x, t_signal **sp);
+void *flanjah_new(t_symbol *s, int argc, t_atom *argv);
+void flanjah_dsp_free( t_flanjah *x );
+void flanjah_report( t_flanjah *x );
+void flanjah_float(t_flanjah *x, double f);
+void flanjah_init(t_flanjah *x,short initialized);
+
+void flanjah_tilde_setup(void){
+    flanjah_class = class_new(gensym("flanjah~"), (t_newmethod)flanjah_new,
+                              (t_method)flanjah_dsp_free,sizeof(t_flanjah), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(flanjah_class, t_flanjah, x_f);
+    class_addmethod(flanjah_class,(t_method)flanjah_dsp,gensym("dsp"),0);
+    class_addmethod(flanjah_class,(t_method)flanjah_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(flanjah_class,(t_method)flanjah_protect,gensym("protect"),A_FLOAT,0);
+    class_addmethod(flanjah_class,(t_method)flanjah_report,gensym("report"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void flanjah_report( t_flanjah *x ){
+    post("feedback: %f", x->feedback);
+    post("depth: %f", x->depth);
+    post("si1: %f", x->osc1_si);
+    post("si2: %f", x->osc2_si);
+    post("speed1: %f", x->speed1);
+    post("speed2: %f", x->speed2);
+    post("phase1: %f", x->osc1_phs);
+    post("phase2: %f", x->osc2_phs);
+}
+
+void flanjah_dsp_free( t_flanjah *x ){
+    free(x->sinetab);
+    free(x->ddl1);
+    free(x->ddl2);
+}
+
+
+t_int *flanjah_perform(t_int *w)
+{
+    t_flanjah *x = (t_flanjah *)(w[1]);
+    t_float *in1 = (t_float *)(w[2]);
+    t_float *feedback_vec = (t_float *)(w[3]);
+    t_float *speed1_vec = (t_float *)(w[4]);
+    t_float *speed2_vec = (t_float *)(w[5]);
+    t_float *depth_vec = (t_float *)(w[6]);
+    t_float *out1 = (t_float *)(w[7]);
+    int n = (int) w[8];
+    float fdelay1, fdelay2;
+    int idelay1, idelay2;
+    float insamp1;//, insamp2;
+    float frac;
+    int index1, index2;
+    float m1, m2;
+    //
+    float osc2_phs = x->osc2_phs;
+    int ddl2_len = x->ddl2_len;
+    float osc2_si = x->osc2_si;
+    float *ddl2 = x->ddl2;
+    int ddl2_phs = x->ddl2_phs;
+    float *ddl1 = x->ddl1;
+    float *sinetab = x->sinetab;
+    int ddl1_phs = x->ddl1_phs;
+    int ddl1_len = x->ddl1_len;
+    float osc1_phs = x->osc1_phs;
+    float osc1_si = x->osc1_si;
+    float tap1 = x->tap1;
+    float tap2 = x->tap2;
+    float feedback = x->feedback;
+    int feedback_connected = x->feedback_connected;
+    int speed1_connected = x->speed1_connected;
+    int speed2_connected = x->speed2_connected;
+    int depth_connected = x->depth_connected;
+    float si_factor = x->si_factor;
+    int feedback_protect = x->feedback_protect;
+    float depth_factor = x->depth;
+    /**********************/
+    
+    if( x->mute ){
+        while( n-- ){
+            *out1++ = 0.0;
+        }
+        return (w+9);
+    }
+    while( n-- ){
+        // Pull Data off Signal buffers
+        insamp1 = *in1++;
+        if( feedback_connected ){
+            feedback = *feedback_vec++;
+            
+        }
+        if( feedback_protect ) {
+            if( feedback > 0.425){
+                feedback = 0.425;
+            }
+            if( feedback < -0.425 )
+                feedback = -0.425;
+        }
+        
+        if( speed1_connected ){
+            osc1_si = *speed1_vec++ * si_factor;
+        }
+        if( speed2_connected ){
+            osc2_si = *speed2_vec++ * si_factor;
+        }
+        if( depth_connected ){
+            depth_factor = *depth_vec++;
+        }
+        
+        if( depth_factor < .0001 ){
+            depth_factor = .0001;
+        }
+        if( depth_factor > 1. ){
+            depth_factor = 1.;
+        }
+        
+        fdelay1 = sinetab[ (int) osc1_phs ] * (float) ddl1_len * depth_factor;
+        fdelay2 = sinetab[ (int) osc2_phs ] * (float) ddl2_len * depth_factor;
+        
+        // DSP Proper
+		
+        idelay1 = fdelay1;
+        osc1_phs += osc1_si;
+        while( osc1_phs >= F_LEN )
+            osc1_phs -= F_LEN;
+        while( osc1_phs < 0 )
+            osc1_phs += F_LEN;
+        
+        
+        
+        
+        idelay2 = fdelay2;
+        osc2_phs += osc2_si;
+        while( osc2_phs >= F_LEN )
+            osc2_phs -= F_LEN;
+        while( osc1_phs < 0 )
+            osc2_phs += F_LEN;
+		
+        ddl1[ ddl1_phs++ ] = insamp1 + feedback * (tap1+tap2);
+        ddl1_phs = ddl1_phs % ddl1_len;
+        // linear interpolated lookup
+        index1 = (ddl1_phs + idelay1) % ddl1_len;
+        index2 = (index1 + 1) % ddl1_len ;
+        frac = fdelay1 - idelay1 ;
+        m1 = 1. - frac;
+        m2 = frac;
+        tap1 = m1 * ddl1[ index1 ] + m2 * ddl1[ index2 ];
+        
+        ddl2[ ddl2_phs++ ] = tap1;
+        ddl2_phs = ddl2_phs % ddl2_len;
+        index1 = (ddl2_phs + idelay2) % ddl2_len;
+        index2 = (index1 + 1) % ddl2_len ;
+        frac = fdelay2 - idelay2 ;
+        m1 = 1. - frac;
+        m2 = frac;
+        tap2 = m1 * ddl2[ index1 ] + m2 * ddl2[ index2 ];
+        *out1++ = (insamp1+tap2) * 0.2;
+        
+        
+        ///
+        
+    }
+    x->ddl1_phs = ddl1_phs;
+    x->osc1_phs = osc1_phs;
+    x->ddl2_phs = ddl2_phs;
+    x->osc2_phs = osc2_phs;
+    x->tap1 = tap1;
+    x->tap2 = tap2;
+    // DSP CONFIG
+    return (w+9);
+}
+
+
+// void lop_dsp(t_lop *x, t_signal **sp, short *count)
+void flanjah_dsp(t_flanjah *x, t_signal **sp)
+{
+
+    x->feedback_connected = 1;
+    x->speed1_connected = 1;
+    x->speed2_connected = 1;
+    x->depth_connected = 1;
+    
+    if(x->sr != sp[0]->s_sr){
+        x->sr = sp[0]->s_sr;
+        flanjah_init(x,1);
+    }
+    dsp_add(flanjah_perform, 8, x,
+            sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec, sp[5]->s_vec,
+            sp[0]->s_n);
+}
+
+void flanjah_mute(t_flanjah *x, t_floatarg state)
+{
+    x->mute = state;
+}
+
+void flanjah_protect(t_flanjah *x, t_floatarg state)
+{
+    x->feedback_protect = state;
+    //  post("feedback proctection set to %d",x->feedback_protect);
+}
+
+void flanjah_init(t_flanjah *x,short initialized)
+{
+    int i;
+    if( x->maxdel < .0001 ){
+        x->maxdel = .0001;
+        error("below minimum of 0.01 ms");
+    }
+    if( x->maxdel > 360000. ){
+        x->maxdel = 360000.;
+        error("above maximum of 360 seconds");
+    }
+	
+    x->si_factor = (float)F_LEN / x->sr;
+    x->ddl1_len = x->maxdel * x->sr ;
+    x->ddl1_phs = 0;
+    x->ddl2_len = x->maxdel * x->sr ;
+    x->ddl2_phs = 0;
+    x->osc1_si = x->si_factor * x->speed1;
+    x->osc1_phs = 0;
+    x->osc2_si = x->si_factor * x->speed2;
+    x->osc2_phs = 0;
+	
+    x->tap1 = x->tap2 = 0;
+    if(!initialized){
+        x->ddl1 = (float *) calloc(x->ddl1_len + 2, sizeof(float));
+        x->ddl2 = (float *) calloc(x->ddl2_len + 2, sizeof(float));
+        x->sinetab = (float *) calloc(F_LEN,sizeof(float));
+        for( i = 0; i < F_LEN ; i++ ){
+            x->sinetab[i] = 0.51 - 0.47 * cos( TWOPI * (float) i / (float) F_LEN);
+        }
+    } else {
+        x->ddl1 = (float *) realloc(x->ddl1,(x->ddl1_len + 2) * sizeof(float));
+        x->ddl2 = (float *) realloc(x->ddl2,(x->ddl2_len + 2) * sizeof(float));
+    }
+}
+
+void *flanjah_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+    t_flanjah *x = (t_flanjah *)pd_new(flanjah_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+    x->sr = sys_getsr();
+    if(!x->sr){
+        error("zero sampling rate - set to 44100");
+        x->sr = 44100;
+    }
+    
+    // SET DEFAULTS
+    
+    x->maxdel = .05; // in seconds
+    x->feedback = 0.7;
+    x->speed1 = 0.136;
+    x->speed2 = 0.183;
+    x->feedback_protect = 1;
+    x->depth = 1.0;
+    
+    if( argc > 0 )
+        x->maxdel = atom_getfloatarg(0,argc,argv)/1000.0;
+    if( argc > 1 )
+        x->feedback = atom_getfloatarg(1,argc,argv);
+    if( argc > 2 )
+        x->speed1 = atom_getfloatarg(2,argc,argv);
+    if( argc > 3 )
+        x->speed2 = atom_getfloatarg(3,argc,argv);
+    if( argc > 4 )
+        x->depth = atom_getfloatarg(4,argc,argv);	
+    
+    flanjah_init(x,0);
+    return (x);
+}
+
diff --git a/externals/lyonpotpourri/fold.c b/externals/lyonpotpourri/fold.c
new file mode 100755
index 000000000..0523d28fc
--- /dev/null
+++ b/externals/lyonpotpourri/fold.c
@@ -0,0 +1 @@
+#include "fftease.h"

/*
 * multiply current input I by window W (both of length Nw);
 * using modulus arithmetic, fold and rotate windowed input
 * into output array O of (FFT) length N according to current
 * input time n
 */
void fold( float *I, float *W, int Nw, float *O, int N, int n )

{
 
    int i;

    for ( i = 0; i < N; i++ )
	O[i] = 0.;

    while ( n < 0 )
      	n += N;
    n %= N;
    for ( i = 0; i < Nw; i++ ) {
	      O[n] += I[i]*W[i];
      	if ( ++n == N )
	      n = 0;
    }
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/from_msp.c b/externals/lyonpotpourri/from_msp.c
new file mode 100755
index 000000000..04ab90461
--- /dev/null
+++ b/externals/lyonpotpourri/from_msp.c
@@ -0,0 +1 @@
+
#include "MSPd.h"
void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av)
{
    if (c&&ac&&av&&(idx<ac)) {
        *c = atom_getfloat(av+idx);
    }
}
void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av)
{
	if (c&&ac&&av&&(idx<ac)) {
		*c = atom_getsymbol(av+idx);
	}
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/function~-help.pd b/externals/lyonpotpourri/function~-help.pd
new file mode 100755
index 000000000..03baceb91
--- /dev/null
+++ b/externals/lyonpotpourri/function~-help.pd
@@ -0,0 +1,1308 @@
+#N canvas 345 100 446 350 10;
+#X obj 65 126 function~ putty;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array putty 8192 float 3;
+#A 0 1.52302e-08 1.53646e-08 1.55002e-08 1.56369e-08 1.57749e-08 1.5914e-08
+1.60543e-08 1.61957e-08 1.63385e-08 1.64824e-08 1.66276e-08 1.6774e-08
+1.69216e-08 1.70705e-08 1.72207e-08 1.73722e-08 1.7525e-08 1.76791e-08
+1.78345e-08 1.79912e-08 1.81493e-08 1.83087e-08 1.84695e-08 1.86316e-08
+1.87951e-08 1.896e-08 1.91264e-08 1.92941e-08 1.94633e-08 1.96339e-08
+1.9806e-08 1.99795e-08 2.01545e-08 2.0331e-08 2.0509e-08 2.06886e-08
+2.08696e-08 2.10522e-08 2.12363e-08 2.1422e-08 2.16093e-08 2.17981e-08
+2.19886e-08 2.21807e-08 2.23744e-08 2.25698e-08 2.27668e-08 2.29655e-08
+2.31659e-08 2.33679e-08 2.35718e-08 2.37773e-08 2.39845e-08 2.41935e-08
+2.44043e-08 2.46168e-08 2.48312e-08 2.50473e-08 2.52654e-08 2.54852e-08
+2.57069e-08 2.59305e-08 2.61559e-08 2.63833e-08 2.66126e-08 2.68437e-08
+2.70769e-08 2.73121e-08 2.75492e-08 2.77883e-08 2.80294e-08 2.82726e-08
+2.85178e-08 2.8765e-08 2.90144e-08 2.92659e-08 2.95194e-08 2.97752e-08
+3.0033e-08 3.0293e-08 3.05552e-08 3.08196e-08 3.10863e-08 3.13552e-08
+3.16263e-08 3.18997e-08 3.21754e-08 3.24534e-08 3.27337e-08 3.30164e-08
+3.33015e-08 3.3589e-08 3.38788e-08 3.41711e-08 3.44659e-08 3.4763e-08
+3.50628e-08 3.53649e-08 3.56697e-08 3.5977e-08 3.62868e-08 3.65993e-08
+3.69143e-08 3.7232e-08 3.75523e-08 3.78753e-08 3.82011e-08 3.85295e-08
+3.88606e-08 3.91946e-08 3.95313e-08 3.98708e-08 4.02131e-08 4.05583e-08
+4.09064e-08 4.12574e-08 4.16113e-08 4.19681e-08 4.2328e-08 4.26907e-08
+4.30566e-08 4.34254e-08 4.37974e-08 4.41724e-08 4.45505e-08 4.49318e-08
+4.53163e-08 4.57039e-08 4.60948e-08 4.64888e-08 4.68862e-08 4.72869e-08
+4.76908e-08 4.80982e-08 4.85089e-08 4.89229e-08 4.93405e-08 4.97615e-08
+5.0186e-08 5.0614e-08 5.10455e-08 5.14806e-08 5.19193e-08 5.23616e-08
+5.28076e-08 5.32572e-08 5.37106e-08 5.41677e-08 5.46286e-08 5.50933e-08
+5.55619e-08 5.60342e-08 5.65105e-08 5.69907e-08 5.74749e-08 5.79631e-08
+5.84552e-08 5.89515e-08 5.94518e-08 5.99562e-08 6.04648e-08 6.09775e-08
+6.14946e-08 6.20158e-08 6.25413e-08 6.30711e-08 6.36053e-08 6.41438e-08
+6.46869e-08 6.52343e-08 6.57863e-08 6.63428e-08 6.69038e-08 6.74694e-08
+6.80397e-08 6.86146e-08 6.91943e-08 6.97786e-08 7.03679e-08 7.09619e-08
+7.15607e-08 7.21645e-08 7.27733e-08 7.33868e-08 7.40056e-08 7.46293e-08
+7.52582e-08 7.58922e-08 7.65314e-08 7.71757e-08 7.78254e-08 7.84803e-08
+7.91406e-08 7.98062e-08 8.04774e-08 8.11539e-08 8.1836e-08 8.25236e-08
+8.32169e-08 8.39157e-08 8.46203e-08 8.53305e-08 8.60467e-08 8.67685e-08
+8.74963e-08 8.823e-08 8.89696e-08 8.97152e-08 9.04669e-08 9.12247e-08
+9.19887e-08 9.27589e-08 9.35352e-08 9.43179e-08 9.5107e-08 9.59023e-08
+9.67043e-08 9.75126e-08 9.83276e-08 9.91491e-08 9.99773e-08 1.00812e-07
+1.01654e-07 1.02502e-07 1.03357e-07 1.0422e-07 1.05089e-07 1.05965e-07
+1.06848e-07 1.07739e-07 1.08636e-07 1.09541e-07 1.10453e-07 1.11373e-07
+1.123e-07 1.13234e-07 1.14176e-07 1.15125e-07 1.16083e-07 1.17047e-07
+1.1802e-07 1.19e-07 1.19989e-07 1.20985e-07 1.21989e-07 1.23002e-07
+1.24022e-07 1.25051e-07 1.26088e-07 1.27133e-07 1.28187e-07 1.29249e-07
+1.30319e-07 1.31399e-07 1.32486e-07 1.33583e-07 1.34688e-07 1.35803e-07
+1.36926e-07 1.38058e-07 1.39199e-07 1.4035e-07 1.41509e-07 1.42678e-07
+1.43856e-07 1.45044e-07 1.46241e-07 1.47447e-07 1.48664e-07 1.4989e-07
+1.51125e-07 1.52371e-07 1.53627e-07 1.54892e-07 1.56168e-07 1.57454e-07
+1.5875e-07 1.60056e-07 1.61373e-07 1.627e-07 1.64038e-07 1.65387e-07
+1.66746e-07 1.68116e-07 1.69497e-07 1.70889e-07 1.72292e-07 1.73706e-07
+1.75131e-07 1.76568e-07 1.78016e-07 1.79476e-07 1.80947e-07 1.8243e-07
+1.83924e-07 1.85431e-07 1.86949e-07 1.8848e-07 1.90022e-07 1.91577e-07
+1.93144e-07 1.94723e-07 1.96315e-07 1.9792e-07 1.99537e-07 2.01167e-07
+2.0281e-07 2.04466e-07 2.06135e-07 2.07817e-07 2.09512e-07 2.11221e-07
+2.12943e-07 2.14679e-07 2.16429e-07 2.18192e-07 2.19969e-07 2.2176e-07
+2.23565e-07 2.25385e-07 2.27219e-07 2.29067e-07 2.3093e-07 2.32807e-07
+2.34699e-07 2.36606e-07 2.38529e-07 2.40466e-07 2.42418e-07 2.44386e-07
+2.46369e-07 2.48368e-07 2.50382e-07 2.52412e-07 2.54458e-07 2.5652e-07
+2.58599e-07 2.60693e-07 2.62804e-07 2.64932e-07 2.67076e-07 2.69237e-07
+2.71414e-07 2.73609e-07 2.75821e-07 2.7805e-07 2.80297e-07 2.82561e-07
+2.84843e-07 2.87143e-07 2.89461e-07 2.91797e-07 2.9415e-07 2.96523e-07
+2.98914e-07 3.01323e-07 3.03751e-07 3.06198e-07 3.08665e-07 3.1115e-07
+3.13655e-07 3.16179e-07 3.18723e-07 3.21286e-07 3.2387e-07 3.26474e-07
+3.29098e-07 3.31742e-07 3.34406e-07 3.37092e-07 3.39798e-07 3.42525e-07
+3.45274e-07 3.48043e-07 3.50835e-07 3.53647e-07 3.56482e-07 3.59338e-07
+3.62217e-07 3.65118e-07 3.68041e-07 3.70987e-07 3.73956e-07 3.76948e-07
+3.79963e-07 3.83001e-07 3.86062e-07 3.89147e-07 3.92256e-07 3.95389e-07
+3.98547e-07 4.01728e-07 4.04934e-07 4.08165e-07 4.11421e-07 4.14701e-07
+4.18007e-07 4.21339e-07 4.24696e-07 4.28079e-07 4.31488e-07 4.34923e-07
+4.38385e-07 4.41873e-07 4.45388e-07 4.4893e-07 4.52499e-07 4.56095e-07
+4.5972e-07 4.63372e-07 4.67052e-07 4.7076e-07 4.74496e-07 4.78262e-07
+4.82056e-07 4.85879e-07 4.89731e-07 4.93613e-07 4.97525e-07 5.01466e-07
+5.05438e-07 5.0944e-07 5.13473e-07 5.17536e-07 5.2163e-07 5.25756e-07
+5.29914e-07 5.34102e-07 5.38323e-07 5.42576e-07 5.46862e-07 5.5118e-07
+5.55531e-07 5.59915e-07 5.64333e-07 5.68784e-07 5.73269e-07 5.77789e-07
+5.82343e-07 5.86931e-07 5.91554e-07 5.96212e-07 6.00906e-07 6.05635e-07
+6.104e-07 6.15202e-07 6.2004e-07 6.24914e-07 6.29826e-07 6.34775e-07
+6.39761e-07 6.44785e-07 6.49847e-07 6.54948e-07 6.60087e-07 6.65265e-07
+6.70482e-07 6.75739e-07 6.81035e-07 6.86371e-07 6.91748e-07 6.97166e-07
+7.02624e-07 7.08123e-07 7.13664e-07 7.19247e-07 7.24873e-07 7.3054e-07
+7.3625e-07 7.42003e-07 7.478e-07 7.5364e-07 7.59524e-07 7.65452e-07
+7.71426e-07 7.77443e-07 7.83506e-07 7.89615e-07 7.95771e-07 8.01971e-07
+8.08219e-07 8.14513e-07 8.20856e-07 8.27245e-07 8.33682e-07 8.40168e-07
+8.46702e-07 8.53285e-07 8.59918e-07 8.666e-07 8.73333e-07 8.80116e-07
+8.86949e-07 8.93834e-07 9.0077e-07 9.07758e-07 9.14798e-07 9.21891e-07
+9.29038e-07 9.36237e-07 9.4349e-07 9.50797e-07 9.58159e-07 9.65576e-07
+9.73048e-07 9.80576e-07 9.8816e-07 9.958e-07 1.0035e-06 1.01125e-06
+1.01906e-06 1.02693e-06 1.03486e-06 1.04285e-06 1.0509e-06 1.05901e-06
+1.06717e-06 1.0754e-06 1.08369e-06 1.09204e-06 1.10046e-06 1.10893e-06
+1.11747e-06 1.12607e-06 1.13474e-06 1.14347e-06 1.15226e-06 1.16112e-06
+1.17004e-06 1.17904e-06 1.18809e-06 1.19722e-06 1.20641e-06 1.21567e-06
+1.225e-06 1.2344e-06 1.24386e-06 1.2534e-06 1.26301e-06 1.27269e-06
+1.28243e-06 1.29226e-06 1.30215e-06 1.31212e-06 1.32216e-06 1.33227e-06
+1.34246e-06 1.35272e-06 1.36306e-06 1.37348e-06 1.38397e-06 1.39454e-06
+1.40519e-06 1.41591e-06 1.42672e-06 1.4376e-06 1.44856e-06 1.45961e-06
+1.47073e-06 1.48194e-06 1.49323e-06 1.5046e-06 1.51605e-06 1.52759e-06
+1.53921e-06 1.55092e-06 1.56272e-06 1.57459e-06 1.58656e-06 1.59862e-06
+1.61076e-06 1.62299e-06 1.63531e-06 1.64772e-06 1.66022e-06 1.67282e-06
+1.6855e-06 1.69828e-06 1.71115e-06 1.72411e-06 1.73717e-06 1.75032e-06
+1.76357e-06 1.77692e-06 1.79036e-06 1.8039e-06 1.81754e-06 1.83128e-06
+1.84512e-06 1.85906e-06 1.8731e-06 1.88724e-06 1.90149e-06 1.91584e-06
+1.93029e-06 1.94485e-06 1.95951e-06 1.97428e-06 1.98916e-06 2.00414e-06
+2.01924e-06 2.03444e-06 2.04975e-06 2.06517e-06 2.08071e-06 2.09635e-06
+2.11212e-06 2.12799e-06 2.14398e-06 2.16008e-06 2.1763e-06 2.19264e-06
+2.2091e-06 2.22567e-06 2.24237e-06 2.25918e-06 2.27611e-06 2.29317e-06
+2.31035e-06 2.32766e-06 2.34508e-06 2.36264e-06 2.38032e-06 2.39813e-06
+2.41606e-06 2.43413e-06 2.45232e-06 2.47065e-06 2.4891e-06 2.50769e-06
+2.52642e-06 2.54527e-06 2.56426e-06 2.58339e-06 2.60266e-06 2.62206e-06
+2.6416e-06 2.66129e-06 2.68111e-06 2.70107e-06 2.72118e-06 2.74143e-06
+2.76183e-06 2.78237e-06 2.80306e-06 2.8239e-06 2.84488e-06 2.86602e-06
+2.8873e-06 2.90874e-06 2.93034e-06 2.95208e-06 2.97398e-06 2.99604e-06
+3.01825e-06 3.04062e-06 3.06315e-06 3.08584e-06 3.10869e-06 3.13171e-06
+3.15489e-06 3.17823e-06 3.20174e-06 3.22541e-06 3.24926e-06 3.27327e-06
+3.29746e-06 3.32181e-06 3.34634e-06 3.37104e-06 3.39592e-06 3.42097e-06
+3.4462e-06 3.47161e-06 3.4972e-06 3.52297e-06 3.54892e-06 3.57506e-06
+3.60138e-06 3.62788e-06 3.65458e-06 3.68146e-06 3.70853e-06 3.73579e-06
+3.76325e-06 3.7909e-06 3.81874e-06 3.84678e-06 3.87502e-06 3.90346e-06
+3.9321e-06 3.96093e-06 3.98997e-06 4.01922e-06 4.04867e-06 4.07833e-06
+4.1082e-06 4.13828e-06 4.16856e-06 4.19906e-06 4.22978e-06 4.26071e-06
+4.29186e-06 4.32322e-06 4.35481e-06 4.38662e-06 4.41865e-06 4.4509e-06
+4.48338e-06 4.51609e-06 4.54903e-06 4.58219e-06 4.61559e-06 4.64922e-06
+4.68309e-06 4.71719e-06 4.75153e-06 4.78612e-06 4.82094e-06 4.856e-06
+4.89131e-06 4.92687e-06 4.96268e-06 4.99873e-06 5.03503e-06 5.07159e-06
+5.10841e-06 5.14547e-06 5.1828e-06 5.22038e-06 5.25823e-06 5.29634e-06
+5.33472e-06 5.37336e-06 5.41227e-06 5.45145e-06 5.4909e-06 5.53062e-06
+5.57063e-06 5.6109e-06 5.65146e-06 5.6923e-06 5.73342e-06 5.77482e-06
+5.81652e-06 5.8585e-06 5.90077e-06 5.94333e-06 5.98619e-06 6.02934e-06
+6.07279e-06 6.11654e-06 6.1606e-06 6.20495e-06 6.24962e-06 6.29459e-06
+6.33987e-06 6.38546e-06 6.43137e-06 6.47759e-06 6.52414e-06 6.571e-06
+6.61819e-06 6.66569e-06 6.71353e-06 6.76169e-06 6.81019e-06 6.85902e-06
+6.90818e-06 6.95768e-06 7.00752e-06 7.0577e-06 7.10823e-06 7.1591e-06
+7.21033e-06 7.2619e-06 7.31382e-06 7.36611e-06 7.41875e-06 7.47174e-06
+7.52511e-06 7.57883e-06 7.63293e-06 7.68739e-06 7.74223e-06 7.79744e-06
+7.85303e-06 7.90899e-06 7.96534e-06 8.02207e-06 8.07919e-06 8.1367e-06
+8.19459e-06 8.25289e-06 8.31158e-06 8.37067e-06 8.43016e-06 8.49006e-06
+8.55037e-06 8.61108e-06 8.6722e-06 8.73375e-06 8.79571e-06 8.85809e-06
+8.92089e-06 8.98412e-06 9.04778e-06 9.11187e-06 9.17639e-06 9.24135e-06
+9.30676e-06 9.3726e-06 9.43888e-06 9.50562e-06 9.57281e-06 9.64045e-06
+9.70855e-06 9.77712e-06 9.84614e-06 9.91563e-06 9.98559e-06 1.0056e-05
+1.01269e-05 1.01983e-05 1.02702e-05 1.03425e-05 1.04154e-05 1.04887e-05
+1.05625e-05 1.06368e-05 1.07116e-05 1.0787e-05 1.08628e-05 1.09391e-05
+1.1016e-05 1.10933e-05 1.11712e-05 1.12496e-05 1.13286e-05 1.1408e-05
+1.1488e-05 1.15685e-05 1.16496e-05 1.17312e-05 1.18134e-05 1.18961e-05
+1.19794e-05 1.20632e-05 1.21476e-05 1.22325e-05 1.2318e-05 1.24041e-05
+1.24908e-05 1.2578e-05 1.26658e-05 1.27542e-05 1.28432e-05 1.29328e-05
+1.3023e-05 1.31138e-05 1.32052e-05 1.32972e-05 1.33898e-05 1.3483e-05
+1.35768e-05 1.36713e-05 1.37664e-05 1.38621e-05 1.39585e-05 1.40555e-05
+1.41532e-05 1.42514e-05 1.43504e-05 1.445e-05 1.45503e-05 1.46512e-05
+1.47528e-05 1.48551e-05 1.4958e-05 1.50616e-05 1.51659e-05 1.52709e-05
+1.53766e-05 1.5483e-05 1.55901e-05 1.56979e-05 1.58065e-05 1.59157e-05
+1.60256e-05 1.61363e-05 1.62477e-05 1.63599e-05 1.64727e-05 1.65864e-05
+1.67007e-05 1.68159e-05 1.69317e-05 1.70484e-05 1.71658e-05 1.7284e-05
+1.74029e-05 1.75227e-05 1.76432e-05 1.77645e-05 1.78866e-05 1.80095e-05
+1.81333e-05 1.82578e-05 1.83831e-05 1.85093e-05 1.86363e-05 1.87641e-05
+1.88928e-05 1.90223e-05 1.91526e-05 1.92838e-05 1.94158e-05 1.95488e-05
+1.96826e-05 1.98172e-05 1.99527e-05 2.00892e-05 2.02265e-05 2.03647e-05
+2.05038e-05 2.06438e-05 2.07847e-05 2.09266e-05 2.10693e-05 2.1213e-05
+2.13576e-05 2.15032e-05 2.16497e-05 2.17972e-05 2.19456e-05 2.2095e-05
+2.22453e-05 2.23966e-05 2.2549e-05 2.27022e-05 2.28565e-05 2.30118e-05
+2.31681e-05 2.33254e-05 2.34837e-05 2.36431e-05 2.38035e-05 2.39649e-05
+2.41273e-05 2.42908e-05 2.44554e-05 2.4621e-05 2.47877e-05 2.49554e-05
+2.51243e-05 2.52942e-05 2.54652e-05 2.56374e-05 2.58106e-05 2.5985e-05
+2.61604e-05 2.6337e-05 2.65148e-05 2.66937e-05 2.68737e-05 2.70549e-05
+2.72372e-05 2.74207e-05 2.76054e-05 2.77913e-05 2.79784e-05 2.81667e-05
+2.83561e-05 2.85468e-05 2.87387e-05 2.89319e-05 2.91262e-05 2.93219e-05
+2.95187e-05 2.97168e-05 2.99162e-05 3.01169e-05 3.03189e-05 3.05221e-05
+3.07266e-05 3.09324e-05 3.11396e-05 3.13481e-05 3.15579e-05 3.1769e-05
+3.19815e-05 3.21953e-05 3.24105e-05 3.2627e-05 3.2845e-05 3.30643e-05
+3.3285e-05 3.35071e-05 3.37306e-05 3.39555e-05;
+#A 1000 3.41819e-05 3.44097e-05 3.4639e-05 3.48696e-05 3.51018e-05
+3.53354e-05 3.55705e-05 3.58071e-05 3.60452e-05 3.62848e-05 3.65259e-05
+3.67685e-05 3.70127e-05 3.72584e-05 3.75057e-05 3.77545e-05 3.80049e-05
+3.82568e-05 3.85104e-05 3.87655e-05 3.90223e-05 3.92807e-05 3.95407e-05
+3.98023e-05 4.00656e-05 4.03305e-05 4.05971e-05 4.08654e-05 4.11353e-05
+4.1407e-05 4.16804e-05 4.19554e-05 4.22322e-05 4.25107e-05 4.2791e-05
+4.3073e-05 4.33568e-05 4.36424e-05 4.39298e-05 4.42189e-05 4.45099e-05
+4.48027e-05 4.50973e-05 4.53937e-05 4.5692e-05 4.59922e-05 4.62943e-05
+4.65982e-05 4.6904e-05 4.72117e-05 4.75214e-05 4.78329e-05 4.81464e-05
+4.84619e-05 4.87793e-05 4.90987e-05 4.942e-05 4.97434e-05 5.00688e-05
+5.03962e-05 5.07256e-05 5.10571e-05 5.13907e-05 5.17263e-05 5.20639e-05
+5.24037e-05 5.27456e-05 5.30896e-05 5.34357e-05 5.3784e-05 5.41344e-05
+5.4487e-05 5.48417e-05 5.51987e-05 5.55579e-05 5.59192e-05 5.62828e-05
+5.66487e-05 5.70168e-05 5.73872e-05 5.77598e-05 5.81348e-05 5.8512e-05
+5.88916e-05 5.92735e-05 5.96578e-05 6.00444e-05 6.04334e-05 6.08248e-05
+6.12186e-05 6.16148e-05 6.20135e-05 6.24145e-05 6.28181e-05 6.32241e-05
+6.36326e-05 6.40436e-05 6.44572e-05 6.48733e-05 6.52918e-05 6.5713e-05
+6.61367e-05 6.65631e-05 6.6992e-05 6.74235e-05 6.78577e-05 6.82946e-05
+6.87341e-05 6.91763e-05 6.96211e-05 7.00688e-05 7.0519e-05 7.09721e-05
+7.14279e-05 7.18865e-05 7.23479e-05 7.2812e-05 7.32791e-05 7.37489e-05
+7.42216e-05 7.46971e-05 7.51756e-05 7.5657e-05 7.61412e-05 7.66284e-05
+7.71186e-05 7.76117e-05 7.81078e-05 7.86069e-05 7.9109e-05 7.96142e-05
+8.01224e-05 8.06337e-05 8.11481e-05 8.16656e-05 8.21862e-05 8.271e-05
+8.32369e-05 8.3767e-05 8.43002e-05 8.48367e-05 8.53765e-05 8.59195e-05
+8.64657e-05 8.70152e-05 8.75681e-05 8.81243e-05 8.86837e-05 8.92466e-05
+8.98128e-05 9.03825e-05 9.09555e-05 9.1532e-05 9.2112e-05 9.26954e-05
+9.32823e-05 9.38727e-05 9.44667e-05 9.50643e-05 9.56654e-05 9.627e-05
+9.68784e-05 9.74903e-05 9.81059e-05 9.87252e-05 9.93481e-05 9.99749e-05
+0.000100605 0.000101239 0.000101877 0.000102519 0.000103165 0.000103814
+0.000104467 0.000105125 0.000105786 0.000106451 0.00010712 0.000107793
+0.00010847 0.00010915 0.000109835 0.000110525 0.000111218 0.000111915
+0.000112616 0.000113322 0.000114031 0.000114745 0.000115463 0.000116186
+0.000116912 0.000117643 0.000118379 0.000119118 0.000119862 0.00012061
+0.000121363 0.00012212 0.000122882 0.000123648 0.000124419 0.000125194
+0.000125974 0.000126758 0.000127547 0.00012834 0.000129139 0.000129941
+0.000130749 0.000131561 0.000132378 0.0001332 0.000134027 0.000134859
+0.000135695 0.000136536 0.000137383 0.000138234 0.00013909 0.000139951
+0.000140817 0.000141689 0.000142565 0.000143446 0.000144333 0.000145225
+0.000146122 0.000147024 0.000147931 0.000148844 0.000149762 0.000150685
+0.000151614 0.000152548 0.000153488 0.000154433 0.000155383 0.000156339
+0.000157301 0.000158268 0.00015924 0.000160219 0.000161203 0.000162193
+0.000163188 0.000164189 0.000165196 0.000166209 0.000167228 0.000168252
+0.000169283 0.000170319 0.000171361 0.00017241 0.000173464 0.000174525
+0.000175591 0.000176664 0.000177743 0.000178828 0.00017992 0.000181017
+0.000182121 0.000183231 0.000184348 0.000185471 0.000186601 0.000187737
+0.000188879 0.000190028 0.000191184 0.000192346 0.000193515 0.00019469
+0.000195873 0.000197062 0.000198258 0.00019946 0.00020067 0.000201886
+0.00020311 0.00020434 0.000205577 0.000206822 0.000208073 0.000209332
+0.000210597 0.00021187 0.000213151 0.000214438 0.000215733 0.000217035
+0.000218345 0.000219662 0.000220986 0.000222318 0.000223658 0.000225005
+0.000226359 0.000227722 0.000229092 0.00023047 0.000231855 0.000233249
+0.00023465 0.000236059 0.000237476 0.000238902 0.000240335 0.000241776
+0.000243226 0.000244683 0.000246149 0.000247623 0.000249105 0.000250596
+0.000252095 0.000253603 0.000255119 0.000256643 0.000258176 0.000259718
+0.000261268 0.000262827 0.000264395 0.000265971 0.000267556 0.000269151
+0.000270754 0.000272366 0.000273987 0.000275617 0.000277256 0.000278905
+0.000280562 0.000282229 0.000283905 0.00028559 0.000287285 0.000288989
+0.000290703 0.000292427 0.000294159 0.000295902 0.000297654 0.000299416
+0.000301188 0.000302969 0.000304761 0.000306562 0.000308373 0.000310195
+0.000312026 0.000313868 0.00031572 0.000317582 0.000319454 0.000321337
+0.00032323 0.000325133 0.000327047 0.000328972 0.000330907 0.000332853
+0.00033481 0.000336777 0.000338756 0.000340745 0.000342745 0.000344756
+0.000346778 0.000348811 0.000350856 0.000352911 0.000354978 0.000357056
+0.000359146 0.000361247 0.00036336 0.000365484 0.00036762 0.000369767
+0.000371927 0.000374098 0.000376281 0.000378475 0.000380682 0.000382901
+0.000385132 0.000387375 0.000389631 0.000391899 0.000394179 0.000396471
+0.000398776 0.000401093 0.000403424 0.000405766 0.000408122 0.00041049
+0.000412871 0.000415265 0.000417672 0.000420092 0.000422525 0.000424972
+0.000427431 0.000429904 0.000432391 0.00043489 0.000437404 0.000439931
+0.000442471 0.000445025 0.000447593 0.000450175 0.000452771 0.000455381
+0.000458004 0.000460642 0.000463295 0.000465961 0.000468642 0.000471337
+0.000474047 0.000476771 0.00047951 0.000482263 0.000485031 0.000487815
+0.000490613 0.000493426 0.000496254 0.000499097 0.000501956 0.000504829
+0.000507719 0.000510623 0.000513543 0.000516479 0.00051943 0.000522397
+0.00052538 0.000528379 0.000531394 0.000534425 0.000537472 0.000540535
+0.000543614 0.00054671 0.000549822 0.000552951 0.000556097 0.000559259
+0.000562438 0.000565633 0.000568846 0.000572076 0.000575323 0.000578587
+0.000581868 0.000585166 0.000588483 0.000591816 0.000595167 0.000598536
+0.000601923 0.000605327 0.00060875 0.00061219 0.000615649 0.000619126
+0.000622621 0.000626135 0.000629667 0.000633217 0.000636786 0.000640374
+0.000643981 0.000647607 0.000651252 0.000654915 0.000658599 0.000662301
+0.000666023 0.000669764 0.000673525 0.000677305 0.000681105 0.000684925
+0.000688765 0.000692625 0.000696506 0.000700406 0.000704327 0.000708268
+0.00071223 0.000716212 0.000720215 0.000724239 0.000728284 0.000732349
+0.000736436 0.000740544 0.000744674 0.000748825 0.000752997 0.000757191
+0.000761407 0.000765644 0.000769904 0.000774185 0.000778489 0.000782815
+0.000787163 0.000791534 0.000795927 0.000800343 0.000804782 0.000809244
+0.000813728 0.000818236 0.000822767 0.000827321 0.000831899 0.0008365
+0.000841125 0.000845773 0.000850446 0.000855142 0.000859863 0.000864607
+0.000869376 0.00087417 0.000878988 0.00088383 0.000888698 0.00089359
+0.000898508 0.00090345 0.000908418 0.000913411 0.000918429 0.000923473
+0.000928543 0.000933639 0.00093876 0.000943908 0.000949082 0.000954282
+0.000959509 0.000964762 0.000970042 0.000975348 0.000980682 0.000986042
+0.00099143 0.000996845 0.00100229 0.00100776 0.00101326 0.00101878
+0.00102433 0.00102992 0.00103553 0.00104116 0.00104683 0.00105253 0.00105825
+0.001064 0.00106978 0.00107559 0.00108143 0.0010873 0.0010932 0.00109913
+0.00110509 0.00111108 0.0011171 0.00112314 0.00112922 0.00113533 0.00114147
+0.00114764 0.00115384 0.00116008 0.00116634 0.00117263 0.00117896 0.00118532
+0.00119171 0.00119813 0.00120458 0.00121107 0.00121759 0.00122414 0.00123072
+0.00123734 0.00124399 0.00125067 0.00125738 0.00126413 0.00127091 0.00127773
+0.00128458 0.00129146 0.00129838 0.00130533 0.00131232 0.00131934 0.00132639
+0.00133348 0.00134061 0.00134777 0.00135496 0.00136219 0.00136946 0.00137676
+0.0013841 0.00139148 0.00139889 0.00140633 0.00141382 0.00142134 0.0014289
+0.00143649 0.00144412 0.00145179 0.0014595 0.00146725 0.00147503 0.00148285
+0.00149071 0.00149861 0.00150654 0.00151452 0.00152253 0.00153059 0.00153868
+0.00154681 0.00155498 0.00156319 0.00157144 0.00157974 0.00158807 0.00159644
+0.00160485 0.00161331 0.0016218 0.00163034 0.00163892 0.00164753 0.0016562
+0.0016649 0.00167364 0.00168243 0.00169126 0.00170013 0.00170905 0.00171801
+0.00172701 0.00173605 0.00174514 0.00175428 0.00176345 0.00177267 0.00178194
+0.00179125 0.0018006 0.00181 0.00181945 0.00182894 0.00183847 0.00184806
+0.00185768 0.00186736 0.00187708 0.00188684 0.00189666 0.00190652 0.00191642
+0.00192638 0.00193638 0.00194643 0.00195653 0.00196667 0.00197687 0.00198711
+0.0019974 0.00200774 0.00201814 0.00202857 0.00203906 0.0020496 0.00206019
+0.00207083 0.00208152 0.00209226 0.00210305 0.00211389 0.00212479 0.00213573
+0.00214673 0.00215778 0.00216888 0.00218003 0.00219124 0.0022025 0.00221381
+0.00222518 0.0022366 0.00224807 0.0022596 0.00227118 0.00228282 0.00229451
+0.00230625 0.00231805 0.00232991 0.00234182 0.00235379 0.00236581 0.00237789
+0.00239003 0.00240222 0.00241447 0.00242678 0.00243914 0.00245156 0.00246404
+0.00247658 0.00248918 0.00250184 0.00251455 0.00252733 0.00254016 0.00255305
+0.00256601 0.00257902 0.00259209 0.00260523 0.00261842 0.00263168 0.002645
+0.00265838 0.00267182 0.00268532 0.00269889 0.00271252 0.00272621 0.00273997
+0.00275378 0.00276767 0.00278161 0.00279563 0.0028097 0.00282384 0.00283805
+0.00285232 0.00286665 0.00288105 0.00289552 0.00291006 0.00292466 0.00293933
+0.00295406 0.00296887 0.00298374 0.00299868 0.00301368 0.00302876 0.0030439
+0.00305912 0.0030744 0.00308975 0.00310518 0.00312067 0.00313623 0.00315187
+0.00316757 0.00318335 0.0031992 0.00321512 0.00323111 0.00324718 0.00326332
+0.00327953 0.00329582 0.00331218 0.00332861 0.00334512 0.0033617 0.00337836
+0.00339509 0.0034119 0.00342878 0.00344574 0.00346278 0.00347989 0.00349708
+0.00351435 0.00353169 0.00354912 0.00356662 0.0035842 0.00360186 0.0036196
+0.00363742 0.00365531 0.00367329 0.00369135 0.00370949 0.00372771 0.00374601
+0.0037644 0.00378286 0.00380141 0.00382004 0.00383876 0.00385755 0.00387644
+0.0038954 0.00391445 0.00393358 0.0039528 0.00397211 0.0039915 0.00401098
+0.00403054 0.00405019 0.00406993 0.00408975 0.00410966 0.00412966 0.00414975
+0.00416993 0.00419019 0.00421055 0.004231 0.00425153 0.00427216 0.00429287
+0.00431368 0.00433458 0.00435558 0.00437666 0.00439784 0.00441911 0.00444047
+0.00446193 0.00448348 0.00450512 0.00452686 0.0045487 0.00457063 0.00459265
+0.00461478 0.004637 0.00465931 0.00468173 0.00470424 0.00472685 0.00474956
+0.00477236 0.00479527 0.00481828 0.00484138 0.00486459 0.00488789 0.0049113
+0.00493481 0.00495842 0.00498214 0.00500595 0.00502987 0.0050539 0.00507802
+0.00510225 0.00512659 0.00515103 0.00517558 0.00520023 0.00522499 0.00524985
+0.00527482 0.0052999 0.00532509 0.00535038 0.00537579 0.0054013 0.00542692
+0.00545265 0.0054785 0.00550445 0.00553051 0.00555669 0.00558298 0.00560937
+0.00563589 0.00566251 0.00568925 0.0057161 0.00574307 0.00577015 0.00579735
+0.00582467 0.0058521 0.00587964 0.00590731 0.00593509 0.00596298 0.005991
+0.00601914 0.00604739 0.00607577 0.00610426 0.00613287 0.00616161 0.00619047
+0.00621944 0.00624855 0.00627777 0.00630712 0.00633659 0.00636618 0.0063959
+0.00642574 0.00645571 0.00648581 0.00651603 0.00654638 0.00657685 0.00660746
+0.00663819 0.00666905 0.00670004 0.00673116 0.0067624 0.00679378 0.00682529
+0.00685693 0.00688871 0.00692061 0.00695265 0.00698482 0.00701713 0.00704957
+0.00708214 0.00711485 0.0071477 0.00718068 0.0072138 0.00724706 0.00728045
+0.00731398 0.00734765 0.00738146 0.00741541 0.0074495 0.00748373 0.0075181
+0.00755261 0.00758727 0.00762207 0.00765701 0.00769209 0.00772732 0.0077627
+0.00779821 0.00783388 0.00786969 0.00790565 0.00794175 0.007978 0.0080144
+0.00805095 0.00808765 0.0081245 0.0081615 0.00819865 0.00823595 0.0082734
+0.00831101 0.00834877 0.00838668 0.00842475 0.00846297 0.00850134 0.00853988
+0.00857856 0.00861741 0.00865641 0.00869557 0.00873489 0.00877437 0.008814
+0.0088538 0.00889376 0.00893388;
+#A 2000 0.00897416 0.0090146 0.00905521 0.00909598 0.00913691 0.00917801
+0.00921927 0.0092607 0.00930229 0.00934405 0.00938598 0.00942808 0.00947034
+0.00951278 0.00955538 0.00959815 0.0096411 0.00968421 0.0097275 0.00977096
+0.00981459 0.0098584 0.00990238 0.00994654 0.00999087 0.0100354 0.0100801
+0.0101249 0.01017 0.0102152 0.0102606 0.0103062 0.0103519 0.0103979
+0.010444 0.0104903 0.0105368 0.0105834 0.0106303 0.0106773 0.0107245
+0.0107719 0.0108195 0.0108673 0.0109153 0.0109634 0.0110118 0.0110603
+0.011109 0.0111579 0.0112071 0.0112563 0.0113058 0.0113555 0.0114054
+0.0114555 0.0115057 0.0115562 0.0116069 0.0116577 0.0117088 0.01176
+0.0118115 0.0118631 0.011915 0.011967 0.0120193 0.0120717 0.0121244
+0.0121773 0.0122303 0.0122836 0.0123371 0.0123908 0.0124446 0.0124987
+0.0125531 0.0126076 0.0126623 0.0127172 0.0127724 0.0128277 0.0128833
+0.0129391 0.0129951 0.0130513 0.0131077 0.0131644 0.0132212 0.0132783
+0.0133356 0.0133931 0.0134508 0.0135088 0.0135669 0.0136253 0.013684
+0.0137428 0.0138018 0.0138611 0.0139206 0.0139804 0.0140403 0.0141005
+0.0141609 0.0142216 0.0142825 0.0143436 0.0144049 0.0144665 0.0145282
+0.0145903 0.0146525 0.014715 0.0147778 0.0148407 0.0149039 0.0149674
+0.0150311 0.015095 0.0151591 0.0152235 0.0152882 0.015353 0.0154182
+0.0154835 0.0155491 0.015615 0.0156811 0.0157474 0.015814 0.0158808
+0.0159479 0.0160153 0.0160828 0.0161507 0.0162188 0.0162871 0.0163557
+0.0164245 0.0164936 0.016563 0.0166326 0.0167025 0.0167726 0.016843
+0.0169136 0.0169845 0.0170557 0.0171271 0.0171988 0.0172707 0.0173429
+0.0174154 0.0174881 0.0175612 0.0176344 0.017708 0.0177818 0.0178559
+0.0179302 0.0180048 0.0180797 0.0181549 0.0182303 0.018306 0.018382
+0.0184583 0.0185348 0.0186117 0.0186888 0.0187661 0.0188438 0.0189217
+0.0189999 0.0190784 0.0191572 0.0192363 0.0193156 0.0193953 0.0194752
+0.0195554 0.0196359 0.0197167 0.0197978 0.0198792 0.0199608 0.0200428
+0.020125 0.0202076 0.0202904 0.0203735 0.020457 0.0205407 0.0206247
+0.020709 0.0207937 0.0208786 0.0209638 0.0210493 0.0211352 0.0212213
+0.0213078 0.0213945 0.0214816 0.0215689 0.0216566 0.0217446 0.0218329
+0.0219215 0.0220104 0.0220996 0.0221892 0.022279 0.0223692 0.0224597
+0.0225505 0.0226416 0.0227331 0.0228249 0.022917 0.0230094 0.0231021
+0.0231952 0.0232885 0.0233823 0.0234763 0.0235707 0.0236654 0.0237604
+0.0238557 0.0239514 0.0240474 0.0241438 0.0242405 0.0243375 0.0244348
+0.0245325 0.0246306 0.0247289 0.0248276 0.0249267 0.0250261 0.0251258
+0.0252259 0.0253263 0.0254271 0.0255282 0.0256296 0.0257314 0.0258336
+0.0259361 0.0260389 0.0261421 0.0262457 0.0263496 0.0264539 0.0265585
+0.0266635 0.0267688 0.0268745 0.0269806 0.027087 0.0271938 0.0273009
+0.0274084 0.0275163 0.0276245 0.0277331 0.0278421 0.0279514 0.0280611
+0.0281712 0.0282816 0.0283924 0.0285036 0.0286152 0.0287271 0.0288395
+0.0289521 0.0290652 0.0291787 0.0292925 0.0294067 0.0295213 0.0296363
+0.0297516 0.0298674 0.0299835 0.0301 0.0302169 0.0303342 0.0304519
+0.03057 0.0306884 0.0308073 0.0309265 0.0310462 0.0311662 0.0312867
+0.0314075 0.0315288 0.0316504 0.0317724 0.0318949 0.0320177 0.032141
+0.0322646 0.0323887 0.0325131 0.032638 0.0327633 0.032889 0.0330151
+0.0331416 0.0332686 0.0333959 0.0335237 0.0336518 0.0337804 0.0339095
+0.0340389 0.0341687 0.034299 0.0344297 0.0345608 0.0346924 0.0348244
+0.0349568 0.0350896 0.0352229 0.0353566 0.0354907 0.0356252 0.0357602
+0.0358956 0.0360315 0.0361678 0.0363045 0.0364417 0.0365793 0.0367173
+0.0368558 0.0369948 0.0371341 0.037274 0.0374142 0.037555 0.0376961
+0.0378377 0.0379798 0.0381223 0.0382653 0.0384087 0.0385526 0.0386969
+0.0388417 0.038987 0.0391327 0.0392789 0.0394255 0.0395726 0.0397201
+0.0398682 0.0400166 0.0401656 0.040315 0.0404649 0.0406153 0.0407661
+0.0409174 0.0410692 0.0412214 0.0413742 0.0415274 0.0416811 0.0418352
+0.0419899 0.042145 0.0423006 0.0424567 0.0426133 0.0427703 0.0429279
+0.0430859 0.0432444 0.0434034 0.0435629 0.0437229 0.0438834 0.0440444
+0.0442059 0.0443679 0.0445303 0.0446933 0.0448568 0.0450208 0.0451852
+0.0453502 0.0455157 0.0456817 0.0458482 0.0460152 0.0461827 0.0463508
+0.0465193 0.0466883 0.0468579 0.047028 0.0471986 0.0473697 0.0475413
+0.0477135 0.0478862 0.0480593 0.0482331 0.0484073 0.0485821 0.0487574
+0.0489332 0.0491095 0.0492864 0.0494638 0.0496418 0.0498202 0.0499992
+0.0501788 0.0503589 0.0505395 0.0507206 0.0509023 0.0510846 0.0512674
+0.0514507 0.0516345 0.051819 0.0520039 0.0521894 0.0523755 0.0525621
+0.0527493 0.052937 0.0531253 0.0533141 0.0535035 0.0536934 0.0538839
+0.054075 0.0542666 0.0544588 0.0546515 0.0548448 0.0550387 0.0552331
+0.0554281 0.0556237 0.0558198 0.0560166 0.0562139 0.0564117 0.0566102
+0.0568092 0.0570088 0.057209 0.0574097 0.057611 0.0578129 0.0580155
+0.0582185 0.0584222 0.0586265 0.0588313 0.0590367 0.0592428 0.0594494
+0.0596566 0.0598644 0.0600728 0.0602817 0.0604913 0.0607015 0.0609123
+0.0611237 0.0613357 0.0615483 0.0617615 0.0619753 0.0621897 0.0624047
+0.0626203 0.0628366 0.0630534 0.0632709 0.063489 0.0637076 0.0639269
+0.0641469 0.0643674 0.0645886 0.0648103 0.0650327 0.0652558 0.0654794
+0.0657037 0.0659286 0.0661541 0.0663803 0.0666071 0.0668345 0.0670626
+0.0672912 0.0675206 0.0677505 0.0679811 0.0682123 0.0684442 0.0686767
+0.0689099 0.0691437 0.0693781 0.0696132 0.069849 0.0700853 0.0703224
+0.0705601 0.0707984 0.0710374 0.071277 0.0715173 0.0717583 0.0719999
+0.0722422 0.0724851 0.0727287 0.0729729 0.0732178 0.0734634 0.0737097
+0.0739566 0.0742042 0.0744524 0.0747013 0.0749509 0.0752012 0.0754521
+0.0757037 0.075956 0.076209 0.0764626 0.0767169 0.0769719 0.0772276
+0.077484 0.077741 0.0779988 0.0782572 0.0785163 0.0787761 0.0790366
+0.0792978 0.0795596 0.0798222 0.0800855 0.0803494 0.0806141 0.0808794
+0.0811455 0.0814123 0.0816797 0.0819479 0.0822167 0.0824863 0.0827566
+0.0830275 0.0832992 0.0835716 0.0838447 0.0841186 0.0843931 0.0846683
+0.0849443 0.085221 0.0854984 0.0857765 0.0860553 0.0863349 0.0866152
+0.0868962 0.0871779 0.0874604 0.0877435 0.0880275 0.0883121 0.0885975
+0.0888836 0.0891704 0.089458 0.0897463 0.0900353 0.0903251 0.0906156
+0.0909069 0.0911988 0.0914916 0.091785 0.0920793 0.0923742 0.0926699
+0.0929664 0.0932636 0.0935616 0.0938603 0.0941597 0.0944599 0.0947609
+0.0950626 0.0953651 0.0956683 0.0959723 0.0962771 0.0965826 0.0968889
+0.0971959 0.0975037 0.0978123 0.0981216 0.0984317 0.0987426 0.0990542
+0.0993666 0.0996798 0.0999937 0.100308 0.100624 0.10094 0.101257 0.101575
+0.101894 0.102213 0.102533 0.102854 0.103176 0.103498 0.103822 0.104146
+0.104471 0.104796 0.105123 0.10545 0.105778 0.106107 0.106437 0.106767
+0.107098 0.10743 0.107763 0.108097 0.108431 0.108766 0.109102 0.109439
+0.109777 0.110115 0.110454 0.110794 0.111135 0.111477 0.111819 0.112163
+0.112507 0.112852 0.113197 0.113544 0.113891 0.114239 0.114588 0.114938
+0.115289 0.11564 0.115993 0.116346 0.1167 0.117054 0.11741 0.117766
+0.118123 0.118482 0.11884 0.1192 0.119561 0.119922 0.120284 0.120647
+0.121011 0.121376 0.121741 0.122108 0.122475 0.122843 0.123212 0.123582
+0.123953 0.124324 0.124696 0.125069 0.125443 0.125818 0.126194 0.12657
+0.126948 0.127326 0.127705 0.128085 0.128466 0.128848 0.12923 0.129614
+0.129998 0.130383 0.130769 0.131156 0.131543 0.131932 0.132321 0.132712
+0.133103 0.133495 0.133888 0.134281 0.134676 0.135071 0.135468 0.135865
+0.136263 0.136662 0.137062 0.137462 0.137864 0.138267 0.13867 0.139074
+0.139479 0.139885 0.140292 0.1407 0.141108 0.141518 0.141928 0.14234
+0.142752 0.143165 0.143579 0.143994 0.144409 0.144826 0.145243 0.145662
+0.146081 0.146501 0.146922 0.147344 0.147767 0.148191 0.148615 0.149041
+0.149467 0.149895 0.150323 0.150752 0.151182 0.151613 0.152045 0.152478
+0.152911 0.153346 0.153781 0.154218 0.154655 0.155093 0.155532 0.155972
+0.156413 0.156855 0.157297 0.157741 0.158186 0.158631 0.159077 0.159525
+0.159973 0.160422 0.160872 0.161323 0.161775 0.162228 0.162681 0.163136
+0.163591 0.164048 0.164505 0.164963 0.165423 0.165883 0.166344 0.166806
+0.167269 0.167733 0.168197 0.168663 0.16913 0.169597 0.170066 0.170535
+0.171005 0.171477 0.171949 0.172422 0.172896 0.173371 0.173847 0.174324
+0.174801 0.17528 0.17576 0.17624 0.176722 0.177204 0.177688 0.178172
+0.178657 0.179143 0.17963 0.180118 0.180607 0.181097 0.181588 0.18208
+0.182573 0.183067 0.183561 0.184057 0.184553 0.185051 0.185549 0.186048
+0.186549 0.18705 0.187552 0.188055 0.188559 0.189064 0.18957 0.190077
+0.190585 0.191094 0.191604 0.192114 0.192626 0.193139 0.193652 0.194167
+0.194682 0.195198 0.195716 0.196234 0.196753 0.197273 0.197795 0.198317
+0.19884 0.199364 0.199889 0.200415 0.200941 0.201469 0.201998 0.202528
+0.203058 0.20359 0.204122 0.204656 0.20519 0.205726 0.206262 0.2068
+0.207338 0.207877 0.208417 0.208959 0.209501 0.210044 0.210588 0.211133
+0.211679 0.212226 0.212773 0.213322 0.213872 0.214423 0.214974 0.215527
+0.216081 0.216635 0.217191 0.217747 0.218305 0.218863 0.219422 0.219983
+0.220544 0.221106 0.221669 0.222233 0.222798 0.223364 0.223931 0.224499
+0.225068 0.225638 0.226209 0.226781 0.227354 0.227927 0.228502 0.229078
+0.229654 0.230232 0.23081 0.23139 0.23197 0.232551 0.233134 0.233717
+0.234301 0.234886 0.235472 0.23606 0.236648 0.237237 0.237827 0.238417
+0.239009 0.239602 0.240196 0.240791 0.241386 0.241983 0.242581 0.243179
+0.243779 0.244379 0.244981 0.245583 0.246186 0.246791 0.247396 0.248002
+0.248609 0.249217 0.249826 0.250436 0.251047 0.251659 0.252272 0.252886
+0.2535 0.254116 0.254733 0.25535 0.255969 0.256588 0.257209 0.25783
+0.258452 0.259076 0.2597 0.260325 0.260951 0.261578 0.262206 0.262835
+0.263465 0.264096 0.264728 0.26536 0.265994 0.266629 0.267264 0.2679
+0.268538 0.269176 0.269816 0.270456 0.271097 0.271739 0.272382 0.273026
+0.273671 0.274317 0.274963;
+#A 3000 0.275611 0.27626 0.276909 0.27756 0.278211 0.278864 0.279517
+0.280171 0.280826 0.281482 0.282139 0.282797 0.283456 0.284116 0.284777
+0.285438 0.286101 0.286764 0.287429 0.288094 0.28876 0.289428 0.290096
+0.290765 0.291435 0.292105 0.292777 0.29345 0.294123 0.294798 0.295473
+0.29615 0.296827 0.297505 0.298184 0.298864 0.299545 0.300227 0.300909
+0.301593 0.302277 0.302963 0.303649 0.304336 0.305024 0.305713 0.306403
+0.307094 0.307786 0.308478 0.309172 0.309866 0.310561 0.311258 0.311955
+0.312653 0.313351 0.314051 0.314752 0.315453 0.316156 0.316859 0.317563
+0.318268 0.318974 0.319681 0.320388 0.321097 0.321806 0.322517 0.323228
+0.32394 0.324653 0.325366 0.326081 0.326797 0.327513 0.32823 0.328948
+0.329667 0.330387 0.331108 0.33183 0.332552 0.333275 0.333999 0.334724
+0.33545 0.336177 0.336904 0.337633 0.338362 0.339092 0.339823 0.340555
+0.341288 0.342021 0.342755 0.343491 0.344227 0.344963 0.345701 0.34644
+0.347179 0.347919 0.34866 0.349402 0.350145 0.350888 0.351632 0.352377
+0.353123 0.35387 0.354618 0.355366 0.356115 0.356865 0.357616 0.358368
+0.35912 0.359874 0.360628 0.361383 0.362138 0.362895 0.363652 0.36441
+0.365169 0.365929 0.366689 0.36745 0.368212 0.368975 0.369739 0.370503
+0.371268 0.372034 0.372801 0.373569 0.374337 0.375106 0.375876 0.376647
+0.377418 0.37819 0.378963 0.379737 0.380511 0.381287 0.382063 0.382839
+0.383617 0.384395 0.385174 0.385954 0.386734 0.387516 0.388298 0.38908
+0.389864 0.390648 0.391433 0.392219 0.393005 0.393792 0.39458 0.395369
+0.396158 0.396948 0.397739 0.39853 0.399323 0.400116 0.400909 0.401704
+0.402499 0.403295 0.404091 0.404888 0.405686 0.406485 0.407284 0.408084
+0.408885 0.409686 0.410488 0.411291 0.412094 0.412899 0.413703 0.414509
+0.415315 0.416122 0.416929 0.417738 0.418546 0.419356 0.420166 0.420977
+0.421789 0.422601 0.423414 0.424227 0.425041 0.425856 0.426671 0.427487
+0.428304 0.429121 0.429939 0.430758 0.431577 0.432397 0.433218 0.434039
+0.434861 0.435683 0.436506 0.43733 0.438154 0.438979 0.439804 0.44063
+0.441457 0.442284 0.443112 0.44394 0.444769 0.445599 0.446429 0.44726
+0.448092 0.448923 0.449756 0.450589 0.451423 0.452257 0.453092 0.453928
+0.454764 0.4556 0.456437 0.457275 0.458113 0.458952 0.459791 0.460631
+0.461471 0.462312 0.463154 0.463996 0.464839 0.465682 0.466525 0.467369
+0.468214 0.469059 0.469905 0.470751 0.471598 0.472445 0.473293 0.474141
+0.47499 0.475839 0.476689 0.477539 0.47839 0.479241 0.480093 0.480945
+0.481798 0.482651 0.483504 0.484359 0.485213 0.486068 0.486924 0.48778
+0.488636 0.489493 0.49035 0.491208 0.492066 0.492925 0.493784 0.494643
+0.495503 0.496364 0.497224 0.498086 0.498947 0.499809 0.500672 0.501535
+0.502398 0.503262 0.504126 0.50499 0.505855 0.50672 0.507586 0.508452
+0.509319 0.510186 0.511053 0.51192 0.512788 0.513657 0.514525 0.515394
+0.516264 0.517134 0.518004 0.518874 0.519745 0.520616 0.521488 0.52236
+0.523232 0.524104 0.524977 0.52585 0.526724 0.527598 0.528472 0.529346
+0.530221 0.531096 0.531972 0.532847 0.533723 0.534599 0.535476 0.536353
+0.53723 0.538107 0.538985 0.539863 0.540741 0.54162 0.542498 0.543377
+0.544257 0.545136 0.546016 0.546896 0.547776 0.548657 0.549537 0.550418
+0.5513 0.552181 0.553063 0.553945 0.554827 0.555709 0.556591 0.557474
+0.558357 0.55924 0.560123 0.561007 0.561891 0.562774 0.563658 0.564543
+0.565427 0.566312 0.567196 0.568081 0.568966 0.569852 0.570737 0.571622
+0.572508 0.573394 0.57428 0.575166 0.576052 0.576938 0.577825 0.578711
+0.579598 0.580485 0.581372 0.582259 0.583146 0.584033 0.58492 0.585808
+0.586695 0.587583 0.588471 0.589358 0.590246 0.591134 0.592022 0.59291
+0.593798 0.594686 0.595574 0.596462 0.597351 0.598239 0.599127 0.600016
+0.600904 0.601792 0.602681 0.603569 0.604458 0.605346 0.606235 0.607123
+0.608012 0.6089 0.609789 0.610677 0.611565 0.612454 0.613342 0.614231
+0.615119 0.616007 0.616895 0.617784 0.618672 0.61956 0.620448 0.621336
+0.622224 0.623112 0.623999 0.624887 0.625775 0.626662 0.62755 0.628437
+0.629324 0.630211 0.631098 0.631985 0.632872 0.633759 0.634645 0.635532
+0.636418 0.637304 0.638191 0.639076 0.639962 0.640848 0.641733 0.642619
+0.643504 0.644389 0.645274 0.646158 0.647043 0.647927 0.648811 0.649695
+0.650579 0.651463 0.652346 0.653229 0.654112 0.654995 0.655877 0.65676
+0.657642 0.658524 0.659405 0.660287 0.661168 0.662049 0.662929 0.66381
+0.66469 0.66557 0.666449 0.667329 0.668208 0.669087 0.669965 0.670843
+0.671721 0.672599 0.673476 0.674353 0.67523 0.676106 0.676982 0.677858
+0.678734 0.679609 0.680484 0.681358 0.682232 0.683106 0.683979 0.684853
+0.685725 0.686598 0.68747 0.688341 0.689213 0.690083 0.690954 0.691824
+0.692694 0.693563 0.694432 0.6953 0.696169 0.697036 0.697904 0.69877
+0.699637 0.700503 0.701368 0.702234 0.703098 0.703963 0.704826 0.70569
+0.706553 0.707415 0.708277 0.709138 0.71 0.71086 0.71172 0.71258 0.713439
+0.714297 0.715155 0.716013 0.71687 0.717726 0.718583 0.719438 0.720293
+0.721147 0.722001 0.722855 0.723707 0.72456 0.725411 0.726263 0.727113
+0.727963 0.728813 0.729662 0.73051 0.731358 0.732205 0.733051 0.733897
+0.734743 0.735587 0.736432 0.737275 0.738118 0.73896 0.739802 0.740643
+0.741483 0.742323 0.743162 0.744001 0.744838 0.745676 0.746512 0.747348
+0.748183 0.749018 0.749851 0.750684 0.751517 0.752349 0.75318 0.75401
+0.75484 0.755669 0.756497 0.757324 0.758151 0.758977 0.759803 0.760627
+0.761451 0.762274 0.763097 0.763918 0.764739 0.765559 0.766378 0.767197
+0.768015 0.768832 0.769648 0.770463 0.771278 0.772092 0.772905 0.773717
+0.774529 0.775339 0.776149 0.776958 0.777766 0.778574 0.77938 0.780186
+0.780991 0.781795 0.782598 0.7834 0.784201 0.785002 0.785802 0.7866
+0.787398 0.788195 0.788991 0.789787 0.790581 0.791375 0.792167 0.792959
+0.793749 0.794539 0.795328 0.796116 0.796903 0.797689 0.798475 0.799259
+0.800042 0.800824 0.801606 0.802386 0.803166 0.803944 0.804722 0.805498
+0.806274 0.807048 0.807822 0.808595 0.809366 0.810137 0.810906 0.811675
+0.812442 0.813209 0.813975 0.814739 0.815503 0.816265 0.817026 0.817787
+0.818546 0.819304 0.820061 0.820818 0.821573 0.822327 0.823079 0.823831
+0.824582 0.825332 0.82608 0.826828 0.827574 0.828319 0.829064 0.829807
+0.830549 0.831289 0.832029 0.832768 0.833505 0.834241 0.834977 0.835711
+0.836443 0.837175 0.837906 0.838635 0.839363 0.84009 0.840816 0.841541
+0.842264 0.842987 0.843708 0.844428 0.845147 0.845864 0.84658 0.847296
+0.848009 0.848722 0.849434 0.850144 0.850853 0.851561 0.852267 0.852972
+0.853676 0.854379 0.855081 0.855781 0.85648 0.857178 0.857874 0.858569
+0.859263 0.859956 0.860647 0.861337 0.862026 0.862713 0.8634 0.864084
+0.864768 0.86545 0.866131 0.866811 0.867489 0.868166 0.868841 0.869515
+0.870188 0.87086 0.87153 0.872199 0.872866 0.873532 0.874197 0.87486
+0.875522 0.876183 0.876842 0.8775 0.878157 0.878812 0.879465 0.880117
+0.880768 0.881418 0.882066 0.882712 0.883358 0.884001 0.884644 0.885284
+0.885924 0.886562 0.887199 0.887834 0.888467 0.889099 0.88973 0.89036
+0.890987 0.891614 0.892239 0.892862 0.893484 0.894104 0.894723 0.895341
+0.895957 0.896571 0.897184 0.897796 0.898405 0.899014 0.899621 0.900226
+0.90083 0.901432 0.902033 0.902632 0.90323 0.903826 0.904421 0.905014
+0.905605 0.906195 0.906784 0.907371 0.907956 0.90854 0.909122 0.909702
+0.910281 0.910859 0.911434 0.912009 0.912581 0.913152 0.913722 0.914289
+0.914855 0.91542 0.915983 0.916544 0.917104 0.917662 0.918218 0.918773
+0.919326 0.919878 0.920428 0.920976 0.921523 0.922068 0.922611 0.923152
+0.923692 0.924231 0.924767 0.925302 0.925835 0.926367 0.926897 0.927425
+0.927952 0.928476 0.929 0.929521 0.930041 0.930559 0.931075 0.93159
+0.932103 0.932614 0.933123 0.933631 0.934137 0.934641 0.935144 0.935644
+0.936143 0.936641 0.937136 0.93763 0.938122 0.938612 0.939101 0.939588
+0.940073 0.940556 0.941037 0.941517 0.941995 0.942471 0.942946 0.943418
+0.943889 0.944358 0.944825 0.94529 0.945754 0.946216 0.946676 0.947134
+0.94759 0.948045 0.948498 0.948949 0.949398 0.949845 0.95029 0.950734
+0.951176 0.951616 0.952054 0.95249 0.952924 0.953357 0.953788 0.954217
+0.954644 0.955069 0.955492 0.955913 0.956333 0.956751 0.957166 0.95758
+0.957992 0.958403 0.958811 0.959217 0.959622 0.960025 0.960425 0.960824
+0.961221 0.961616 0.962009 0.962401 0.96279 0.963177 0.963563 0.963947
+0.964328 0.964708 0.965086 0.965462 0.965836 0.966208 0.966578 0.966946
+0.967313 0.967677 0.968039 0.9684 0.968758 0.969115 0.969469 0.969822
+0.970173 0.970522 0.970868 0.971213 0.971556 0.971897 0.972236 0.972573
+0.972908 0.973241 0.973572 0.973901 0.974228 0.974553 0.974876 0.975198
+0.975517 0.975834 0.976149 0.976462 0.976774 0.977083 0.97739 0.977695
+0.977998 0.9783 0.978599 0.978896 0.979191 0.979484 0.979775 0.980064
+0.980352 0.980637 0.98092 0.981201 0.98148 0.981757 0.982032 0.982305
+0.982575 0.982844 0.983111 0.983376 0.983639 0.983899 0.984158 0.984415
+0.984669 0.984922 0.985172 0.985421 0.985667 0.985911 0.986154 0.986394
+0.986632 0.986868 0.987102 0.987334 0.987564 0.987792 0.988017 0.988241
+0.988463 0.988682 0.9889 0.989115 0.989329 0.98954 0.989749 0.989956
+;
+#A 4000 0.990161 0.990364 0.990565 0.990764 0.99096 0.991155 0.991347
+0.991538 0.991726 0.991912 0.992096 0.992278 0.992458 0.992636 0.992812
+0.992986 0.993157 0.993326 0.993494 0.993659 0.993822 0.993983 0.994142
+0.994299 0.994454 0.994606 0.994757 0.994905 0.995051 0.995195 0.995337
+0.995477 0.995615 0.995751 0.995884 0.996016 0.996145 0.996272 0.996397
+0.99652 0.996641 0.99676 0.996876 0.996991 0.997103 0.997213 0.997321
+0.997427 0.997531 0.997633 0.997732 0.99783 0.997925 0.998018 0.998109
+0.998198 0.998285 0.998369 0.998452 0.998532 0.99861 0.998687 0.998761
+0.998832 0.998902 0.998969 0.999035 0.999098 0.999159 0.999218 0.999275
+0.99933 0.999382 0.999433 0.999481 0.999527 0.999571 0.999613 0.999652
+0.99969 0.999725 0.999759 0.99979 0.999819 0.999846 0.99987 0.999893
+0.999913 0.999931 0.999947 0.999961 0.999973 0.999983 0.99999 0.999996
+0.999999 1 0.999999 0.999996 0.99999 0.999983 0.999973 0.999961 0.999947
+0.999931 0.999913 0.999893 0.99987 0.999846 0.999819 0.99979 0.999759
+0.999725 0.99969 0.999652 0.999613 0.999571 0.999527 0.999481 0.999433
+0.999382 0.99933 0.999275 0.999218 0.999159 0.999098 0.999035 0.998969
+0.998902 0.998832 0.998761 0.998687 0.99861 0.998532 0.998452 0.998369
+0.998285 0.998198 0.998109 0.998018 0.997925 0.99783 0.997732 0.997633
+0.997531 0.997427 0.997321 0.997213 0.997103 0.996991 0.996876 0.99676
+0.996641 0.99652 0.996397 0.996272 0.996145 0.996016 0.995884 0.995751
+0.995615 0.995477 0.995337 0.995195 0.995051 0.994905 0.994757 0.994606
+0.994454 0.994299 0.994142 0.993983 0.993822 0.993659 0.993494 0.993326
+0.993157 0.992986 0.992812 0.992636 0.992458 0.992278 0.992096 0.991912
+0.991726 0.991538 0.991347 0.991155 0.99096 0.990764 0.990565 0.990364
+0.990161 0.989956 0.989749 0.98954 0.989329 0.989115 0.9889 0.988682
+0.988463 0.988241 0.988017 0.987792 0.987564 0.987334 0.987102 0.986868
+0.986632 0.986394 0.986154 0.985911 0.985667 0.985421 0.985172 0.984922
+0.984669 0.984415 0.984158 0.983899 0.983639 0.983376 0.983111 0.982844
+0.982575 0.982305 0.982032 0.981757 0.98148 0.981201 0.98092 0.980637
+0.980352 0.980064 0.979775 0.979484 0.979191 0.978896 0.978599 0.9783
+0.977998 0.977695 0.97739 0.977083 0.976774 0.976462 0.976149 0.975834
+0.975517 0.975198 0.974876 0.974553 0.974228 0.973901 0.973572 0.973241
+0.972908 0.972573 0.972236 0.971897 0.971556 0.971213 0.970868 0.970522
+0.970173 0.969822 0.969469 0.969115 0.968758 0.9684 0.968039 0.967677
+0.967313 0.966946 0.966578 0.966208 0.965836 0.965462 0.965086 0.964708
+0.964328 0.963947 0.963563 0.963177 0.96279 0.962401 0.962009 0.961616
+0.961221 0.960824 0.960425 0.960025 0.959622 0.959217 0.958811 0.958403
+0.957992 0.95758 0.957166 0.956751 0.956333 0.955913 0.955492 0.955069
+0.954644 0.954217 0.953788 0.953357 0.952924 0.95249 0.952054 0.951616
+0.951176 0.950734 0.95029 0.949845 0.949398 0.948949 0.948498 0.948045
+0.94759 0.947134 0.946676 0.946216 0.945754 0.94529 0.944825 0.944358
+0.943889 0.943418 0.942946 0.942471 0.941995 0.941517 0.941037 0.940556
+0.940073 0.939588 0.939101 0.938612 0.938122 0.93763 0.937136 0.936641
+0.936143 0.935644 0.935144 0.934641 0.934137 0.933631 0.933123 0.932614
+0.932103 0.93159 0.931075 0.930559 0.930041 0.929521 0.929 0.928476
+0.927952 0.927425 0.926897 0.926367 0.925835 0.925302 0.924767 0.924231
+0.923692 0.923152 0.922611 0.922068 0.921523 0.920976 0.920428 0.919878
+0.919326 0.918773 0.918218 0.917662 0.917104 0.916544 0.915983 0.91542
+0.914855 0.914289 0.913722 0.913152 0.912581 0.912009 0.911434 0.910859
+0.910281 0.909702 0.909122 0.90854 0.907956 0.907371 0.906784 0.906195
+0.905605 0.905014 0.904421 0.903826 0.90323 0.902632 0.902033 0.901432
+0.90083 0.900226 0.899621 0.899014 0.898405 0.897796 0.897184 0.896571
+0.895957 0.895341 0.894723 0.894104 0.893484 0.892862 0.892239 0.891614
+0.890987 0.89036 0.88973 0.889099 0.888467 0.887834 0.887199 0.886562
+0.885924 0.885284 0.884644 0.884001 0.883358 0.882712 0.882066 0.881418
+0.880768 0.880117 0.879465 0.878812 0.878157 0.8775 0.876842 0.876183
+0.875522 0.87486 0.874197 0.873532 0.872866 0.872199 0.87153 0.87086
+0.870188 0.869515 0.868841 0.868166 0.867489 0.866811 0.866131 0.86545
+0.864768 0.864084 0.8634 0.862713 0.862026 0.861337 0.860647 0.859956
+0.859263 0.858569 0.857874 0.857178 0.85648 0.855781 0.855081 0.854379
+0.853676 0.852972 0.852267 0.851561 0.850853 0.850144 0.849434 0.848722
+0.848009 0.847296 0.84658 0.845864 0.845147 0.844428 0.843708 0.842987
+0.842264 0.841541 0.840816 0.84009 0.839363 0.838635 0.837906 0.837175
+0.836443 0.835711 0.834977 0.834241 0.833505 0.832768 0.832029 0.831289
+0.830549 0.829807 0.829064 0.828319 0.827574 0.826828 0.82608 0.825332
+0.824582 0.823831 0.823079 0.822327 0.821573 0.820818 0.820061 0.819304
+0.818546 0.817787 0.817026 0.816265 0.815503 0.814739 0.813975 0.813209
+0.812442 0.811675 0.810906 0.810137 0.809366 0.808595 0.807822 0.807048
+0.806274 0.805498 0.804722 0.803944 0.803166 0.802386 0.801606 0.800824
+0.800042 0.799259 0.798475 0.797689 0.796903 0.796116 0.795328 0.794539
+0.793749 0.792959 0.792167 0.791375 0.790581 0.789787 0.788991 0.788195
+0.787398 0.7866 0.785802 0.785002 0.784201 0.7834 0.782598 0.781795
+0.780991 0.780186 0.77938 0.778574 0.777766 0.776958 0.776149 0.775339
+0.774529 0.773717 0.772905 0.772092 0.771278 0.770463 0.769648 0.768832
+0.768015 0.767197 0.766378 0.765559 0.764739 0.763918 0.763097 0.762274
+0.761451 0.760627 0.759803 0.758977 0.758151 0.757324 0.756497 0.755669
+0.75484 0.75401 0.75318 0.752349 0.751517 0.750684 0.749851 0.749018
+0.748183 0.747348 0.746512 0.745676 0.744838 0.744001 0.743162 0.742323
+0.741483 0.740643 0.739802 0.73896 0.738118 0.737275 0.736432 0.735587
+0.734743 0.733897 0.733051 0.732205 0.731358 0.73051 0.729662 0.728813
+0.727963 0.727113 0.726263 0.725411 0.72456 0.723707 0.722855 0.722001
+0.721147 0.720293 0.719438 0.718583 0.717726 0.71687 0.716013 0.715155
+0.714297 0.713439 0.71258 0.71172 0.71086 0.71 0.709138 0.708277 0.707415
+0.706553 0.70569 0.704826 0.703963 0.703098 0.702234 0.701368 0.700503
+0.699637 0.69877 0.697904 0.697036 0.696169 0.6953 0.694432 0.693563
+0.692694 0.691824 0.690954 0.690083 0.689213 0.688341 0.68747 0.686598
+0.685725 0.684853 0.683979 0.683106 0.682232 0.681358 0.680484 0.679609
+0.678734 0.677858 0.676982 0.676106 0.67523 0.674353 0.673476 0.672599
+0.671721 0.670843 0.669965 0.669087 0.668208 0.667329 0.666449 0.66557
+0.66469 0.66381 0.662929 0.662049 0.661168 0.660287 0.659405 0.658524
+0.657642 0.65676 0.655877 0.654995 0.654112 0.653229 0.652346 0.651463
+0.650579 0.649695 0.648811 0.647927 0.647043 0.646158 0.645274 0.644389
+0.643504 0.642619 0.641733 0.640848 0.639962 0.639076 0.638191 0.637304
+0.636418 0.635532 0.634645 0.633759 0.632872 0.631985 0.631098 0.630211
+0.629324 0.628437 0.62755 0.626662 0.625775 0.624887 0.623999 0.623112
+0.622224 0.621336 0.620448 0.61956 0.618672 0.617784 0.616895 0.616007
+0.615119 0.614231 0.613342 0.612454 0.611565 0.610677 0.609789 0.6089
+0.608012 0.607123 0.606235 0.605346 0.604458 0.603569 0.602681 0.601792
+0.600904 0.600016 0.599127 0.598239 0.597351 0.596462 0.595574 0.594686
+0.593798 0.59291 0.592022 0.591134 0.590246 0.589358 0.588471 0.587583
+0.586695 0.585808 0.58492 0.584033 0.583146 0.582259 0.581372 0.580485
+0.579598 0.578711 0.577825 0.576938 0.576052 0.575166 0.57428 0.573394
+0.572508 0.571622 0.570737 0.569852 0.568966 0.568081 0.567196 0.566312
+0.565427 0.564543 0.563658 0.562774 0.561891 0.561007 0.560123 0.55924
+0.558357 0.557474 0.556591 0.555709 0.554827 0.553945 0.553063 0.552181
+0.5513 0.550418 0.549537 0.548657 0.547776 0.546896 0.546016 0.545136
+0.544257 0.543377 0.542498 0.54162 0.540741 0.539863 0.538985 0.538107
+0.53723 0.536353 0.535476 0.534599 0.533723 0.532847 0.531972 0.531096
+0.530221 0.529346 0.528472 0.527598 0.526724 0.52585 0.524977 0.524104
+0.523232 0.52236 0.521488 0.520616 0.519745 0.518874 0.518004 0.517134
+0.516264 0.515394 0.514525 0.513657 0.512788 0.51192 0.511053 0.510186
+0.509319 0.508452 0.507586 0.50672 0.505855 0.50499 0.504126 0.503262
+0.502398 0.501535 0.500672 0.499809 0.498947 0.498086 0.497224 0.496364
+0.495503 0.494643 0.493784 0.492925 0.492066 0.491208 0.49035 0.489493
+0.488636 0.48778 0.486924 0.486068 0.485213 0.484359 0.483504 0.482651
+0.481798 0.480945 0.480093 0.479241 0.47839 0.477539 0.476689 0.475839
+0.47499 0.474141 0.473293 0.472445 0.471598 0.470751 0.469905 0.469059
+0.468214 0.467369 0.466525 0.465682 0.464839 0.463996 0.463154 0.462312
+0.461471 0.460631 0.459791 0.458952 0.458113 0.457275 0.456437 0.4556
+0.454764 0.453928 0.453092 0.452257 0.451423 0.450589 0.449756 0.448923
+0.448092 0.44726 0.446429 0.445599 0.444769 0.44394 0.443112 0.442284
+0.441457 0.44063 0.439804 0.438979 0.438154 0.43733 0.436506 0.435683
+0.434861 0.434039 0.433218 0.432397 0.431577 0.430758 0.429939 0.429121
+0.428304 0.427487 0.426671 0.425856 0.425041 0.424227 0.423414 0.422601
+0.421789 0.420977 0.420166 0.419356 0.418546 0.417738 0.416929;
+#A 5000 0.416122 0.415315 0.414509 0.413703 0.412899 0.412094 0.411291
+0.410488 0.409686 0.408885 0.408084 0.407284 0.406485 0.405686 0.404888
+0.404091 0.403295 0.402499 0.401704 0.400909 0.400116 0.399323 0.39853
+0.397739 0.396948 0.396158 0.395369 0.39458 0.393792 0.393005 0.392219
+0.391433 0.390648 0.389864 0.38908 0.388298 0.387516 0.386734 0.385954
+0.385174 0.384395 0.383617 0.382839 0.382063 0.381287 0.380511 0.379737
+0.378963 0.37819 0.377418 0.376647 0.375876 0.375106 0.374337 0.373569
+0.372801 0.372034 0.371268 0.370503 0.369739 0.368975 0.368212 0.36745
+0.366689 0.365929 0.365169 0.36441 0.363652 0.362895 0.362138 0.361383
+0.360628 0.359874 0.35912 0.358368 0.357616 0.356865 0.356115 0.355366
+0.354618 0.35387 0.353123 0.352377 0.351632 0.350888 0.350145 0.349402
+0.34866 0.347919 0.347179 0.34644 0.345701 0.344963 0.344227 0.343491
+0.342755 0.342021 0.341288 0.340555 0.339823 0.339092 0.338362 0.337633
+0.336904 0.336177 0.33545 0.334724 0.333999 0.333275 0.332552 0.33183
+0.331108 0.330387 0.329667 0.328948 0.32823 0.327513 0.326797 0.326081
+0.325366 0.324653 0.32394 0.323228 0.322517 0.321806 0.321097 0.320388
+0.319681 0.318974 0.318268 0.317563 0.316859 0.316156 0.315453 0.314752
+0.314051 0.313351 0.312653 0.311955 0.311258 0.310561 0.309866 0.309172
+0.308478 0.307786 0.307094 0.306403 0.305713 0.305024 0.304336 0.303649
+0.302963 0.302277 0.301593 0.300909 0.300227 0.299545 0.298864 0.298184
+0.297505 0.296827 0.29615 0.295473 0.294798 0.294123 0.29345 0.292777
+0.292105 0.291435 0.290765 0.290096 0.289428 0.28876 0.288094 0.287429
+0.286764 0.286101 0.285438 0.284777 0.284116 0.283456 0.282797 0.282139
+0.281482 0.280826 0.280171 0.279517 0.278864 0.278211 0.27756 0.276909
+0.27626 0.275611 0.274963 0.274317 0.273671 0.273026 0.272382 0.271739
+0.271097 0.270456 0.269816 0.269176 0.268538 0.2679 0.267264 0.266629
+0.265994 0.26536 0.264728 0.264096 0.263465 0.262835 0.262206 0.261578
+0.260951 0.260325 0.2597 0.259076 0.258452 0.25783 0.257209 0.256588
+0.255969 0.25535 0.254733 0.254116 0.2535 0.252886 0.252272 0.251659
+0.251047 0.250436 0.249826 0.249217 0.248609 0.248002 0.247396 0.246791
+0.246186 0.245583 0.244981 0.244379 0.243779 0.243179 0.242581 0.241983
+0.241386 0.240791 0.240196 0.239602 0.239009 0.238417 0.237827 0.237237
+0.236648 0.23606 0.235472 0.234886 0.234301 0.233717 0.233134 0.232551
+0.23197 0.23139 0.23081 0.230232 0.229654 0.229078 0.228502 0.227927
+0.227354 0.226781 0.226209 0.225638 0.225068 0.224499 0.223931 0.223364
+0.222798 0.222233 0.221669 0.221106 0.220544 0.219983 0.219422 0.218863
+0.218305 0.217747 0.217191 0.216635 0.216081 0.215527 0.214974 0.214423
+0.213872 0.213322 0.212773 0.212226 0.211679 0.211133 0.210588 0.210044
+0.209501 0.208959 0.208417 0.207877 0.207338 0.2068 0.206262 0.205726
+0.20519 0.204656 0.204122 0.20359 0.203058 0.202528 0.201998 0.201469
+0.200941 0.200415 0.199889 0.199364 0.19884 0.198317 0.197795 0.197273
+0.196753 0.196234 0.195716 0.195198 0.194682 0.194167 0.193652 0.193139
+0.192626 0.192114 0.191604 0.191094 0.190585 0.190077 0.18957 0.189064
+0.188559 0.188055 0.187552 0.18705 0.186549 0.186048 0.185549 0.185051
+0.184553 0.184057 0.183561 0.183067 0.182573 0.18208 0.181588 0.181097
+0.180607 0.180118 0.17963 0.179143 0.178657 0.178172 0.177688 0.177204
+0.176722 0.17624 0.17576 0.17528 0.174801 0.174324 0.173847 0.173371
+0.172896 0.172422 0.171949 0.171477 0.171005 0.170535 0.170066 0.169597
+0.16913 0.168663 0.168197 0.167733 0.167269 0.166806 0.166344 0.165883
+0.165423 0.164963 0.164505 0.164048 0.163591 0.163136 0.162681 0.162228
+0.161775 0.161323 0.160872 0.160422 0.159973 0.159525 0.159077 0.158631
+0.158186 0.157741 0.157297 0.156855 0.156413 0.155972 0.155532 0.155093
+0.154655 0.154218 0.153781 0.153346 0.152911 0.152478 0.152045 0.151613
+0.151182 0.150752 0.150323 0.149895 0.149467 0.149041 0.148615 0.148191
+0.147767 0.147344 0.146922 0.146501 0.146081 0.145662 0.145243 0.144826
+0.144409 0.143994 0.143579 0.143165 0.142752 0.14234 0.141928 0.141518
+0.141108 0.1407 0.140292 0.139885 0.139479 0.139074 0.13867 0.138267
+0.137864 0.137462 0.137062 0.136662 0.136263 0.135865 0.135468 0.135071
+0.134676 0.134281 0.133888 0.133495 0.133103 0.132712 0.132321 0.131932
+0.131543 0.131156 0.130769 0.130383 0.129998 0.129614 0.12923 0.128848
+0.128466 0.128085 0.127705 0.127326 0.126948 0.12657 0.126194 0.125818
+0.125443 0.125069 0.124696 0.124324 0.123953 0.123582 0.123212 0.122843
+0.122475 0.122108 0.121741 0.121376 0.121011 0.120647 0.120284 0.119922
+0.119561 0.1192 0.11884 0.118482 0.118123 0.117766 0.11741 0.117054
+0.1167 0.116346 0.115993 0.11564 0.115289 0.114938 0.114588 0.114239
+0.113891 0.113544 0.113197 0.112852 0.112507 0.112163 0.111819 0.111477
+0.111135 0.110794 0.110454 0.110115 0.109777 0.109439 0.109102 0.108766
+0.108431 0.108097 0.107763 0.10743 0.107098 0.106767 0.106437 0.106107
+0.105778 0.10545 0.105123 0.104796 0.104471 0.104146 0.103822 0.103498
+0.103176 0.102854 0.102533 0.102213 0.101894 0.101575 0.101257 0.10094
+0.100624 0.100308 0.0999937 0.0996798 0.0993666 0.0990542 0.0987426
+0.0984317 0.0981216 0.0978123 0.0975037 0.0971959 0.0968889 0.0965826
+0.0962771 0.0959723 0.0956683 0.0953651 0.0950626 0.0947609 0.0944599
+0.0941597 0.0938603 0.0935616 0.0932636 0.0929664 0.0926699 0.0923742
+0.0920793 0.091785 0.0914916 0.0911988 0.0909069 0.0906156 0.0903251
+0.0900353 0.0897463 0.089458 0.0891704 0.0888836 0.0885975 0.0883121
+0.0880275 0.0877435 0.0874604 0.0871779 0.0868962 0.0866152 0.0863349
+0.0860553 0.0857765 0.0854984 0.085221 0.0849443 0.0846683 0.0843931
+0.0841186 0.0838447 0.0835716 0.0832992 0.0830275 0.0827566 0.0824863
+0.0822167 0.0819479 0.0816797 0.0814123 0.0811455 0.0808794 0.0806141
+0.0803494 0.0800855 0.0798222 0.0795596 0.0792978 0.0790366 0.0787761
+0.0785163 0.0782572 0.0779988 0.077741 0.077484 0.0772276 0.0769719
+0.0767169 0.0764626 0.076209 0.075956 0.0757037 0.0754521 0.0752012
+0.0749509 0.0747013 0.0744524 0.0742042 0.0739566 0.0737097 0.0734634
+0.0732178 0.0729729 0.0727287 0.0724851 0.0722422 0.0719999 0.0717583
+0.0715173 0.071277 0.0710374 0.0707984 0.0705601 0.0703224 0.0700853
+0.069849 0.0696132 0.0693781 0.0691437 0.0689099 0.0686767 0.0684442
+0.0682123 0.0679811 0.0677505 0.0675206 0.0672912 0.0670626 0.0668345
+0.0666071 0.0663803 0.0661541 0.0659286 0.0657037 0.0654794 0.0652558
+0.0650327 0.0648103 0.0645886 0.0643674 0.0641469 0.0639269 0.0637076
+0.063489 0.0632709 0.0630534 0.0628366 0.0626203 0.0624047 0.0621897
+0.0619753 0.0617615 0.0615483 0.0613357 0.0611237 0.0609123 0.0607015
+0.0604913 0.0602817 0.0600728 0.0598644 0.0596566 0.0594494 0.0592428
+0.0590367 0.0588313 0.0586265 0.0584222 0.0582185 0.0580155 0.0578129
+0.057611 0.0574097 0.057209 0.0570088 0.0568092 0.0566102 0.0564117
+0.0562139 0.0560166 0.0558198 0.0556237 0.0554281 0.0552331 0.0550387
+0.0548448 0.0546515 0.0544588 0.0542666 0.054075 0.0538839 0.0536934
+0.0535035 0.0533141 0.0531253 0.052937 0.0527493 0.0525621 0.0523755
+0.0521894 0.0520039 0.051819 0.0516345 0.0514507 0.0512674 0.0510846
+0.0509023 0.0507206 0.0505395 0.0503589 0.0501788 0.0499992 0.0498202
+0.0496418 0.0494638 0.0492864 0.0491095 0.0489332 0.0487574 0.0485821
+0.0484073 0.0482331 0.0480593 0.0478862 0.0477135 0.0475413 0.0473697
+0.0471986 0.047028 0.0468579 0.0466883 0.0465193 0.0463508 0.0461827
+0.0460152 0.0458482 0.0456817 0.0455157 0.0453502 0.0451852 0.0450208
+0.0448568 0.0446933 0.0445303 0.0443679 0.0442059 0.0440444 0.0438834
+0.0437229 0.0435629 0.0434034 0.0432444 0.0430859 0.0429279 0.0427703
+0.0426133 0.0424567 0.0423006 0.042145 0.0419899 0.0418352 0.0416811
+0.0415274 0.0413742 0.0412214 0.0410692 0.0409174 0.0407661 0.0406153
+0.0404649 0.040315 0.0401656 0.0400166 0.0398682 0.0397201 0.0395726
+0.0394255 0.0392789 0.0391327 0.038987 0.0388417 0.0386969 0.0385526
+0.0384087 0.0382653 0.0381223 0.0379798 0.0378377 0.0376961 0.037555
+0.0374142 0.037274 0.0371341 0.0369948 0.0368558 0.0367173 0.0365793
+0.0364417 0.0363045 0.0361678 0.0360315 0.0358956 0.0357602 0.0356252
+0.0354907 0.0353566 0.0352229 0.0350896 0.0349568 0.0348244 0.0346924
+0.0345608 0.0344297 0.034299 0.0341687 0.0340389 0.0339095 0.0337804
+0.0336518 0.0335237 0.0333959 0.0332686 0.0331416 0.0330151 0.032889
+0.0327633 0.032638 0.0325131 0.0323887 0.0322646 0.032141 0.0320177
+0.0318949 0.0317724 0.0316504 0.0315288 0.0314075 0.0312867 0.0311662
+0.0310462 0.0309265 0.0308073 0.0306884 0.03057 0.0304519 0.0303342
+0.0302169 0.0301 0.0299835 0.0298674 0.0297516 0.0296363 0.0295213
+0.0294067 0.0292925 0.0291787 0.0290652 0.0289521 0.0288395 0.0287271
+0.0286152 0.0285036 0.0283924 0.0282816 0.0281712 0.0280611 0.0279514
+0.0278421 0.0277331 0.0276245 0.0275163 0.0274084 0.0273009 0.0271938
+0.027087 0.0269806 0.0268745 0.0267688 0.0266635 0.0265585 0.0264539
+0.0263496 0.0262457 0.0261421 0.0260389 0.0259361 0.0258336 0.0257314
+0.0256296 0.0255282 0.0254271 0.0253263 0.0252259 0.0251258 0.0250261
+0.0249267 0.0248276 0.0247289 0.0246306 0.0245325 0.0244348 0.0243375
+0.0242405 0.0241438 0.0240474 0.0239514 0.0238557 0.0237604 0.0236654
+0.0235707 0.0234763 0.0233823 0.0232885 0.0231952 0.0231021 0.0230094
+0.022917 0.0228249 0.0227331 0.0226416 0.0225505 0.0224597 0.0223692
+0.022279 0.0221892 0.0220996 0.0220104 0.0219215 0.0218329 0.0217446
+0.0216566 0.0215689 0.0214816 0.0213945 0.0213078 0.0212213 0.0211352
+0.0210493 0.0209638 0.0208786 0.0207937 0.020709 0.0206247 0.0205407
+;
+#A 6000 0.020457 0.0203735 0.0202904 0.0202076 0.020125 0.0200428 0.0199608
+0.0198792 0.0197978 0.0197167 0.0196359 0.0195554 0.0194752 0.0193953
+0.0193156 0.0192363 0.0191572 0.0190784 0.0189999 0.0189217 0.0188438
+0.0187661 0.0186888 0.0186117 0.0185348 0.0184583 0.018382 0.018306
+0.0182303 0.0181549 0.0180797 0.0180048 0.0179302 0.0178559 0.0177818
+0.017708 0.0176344 0.0175612 0.0174881 0.0174154 0.0173429 0.0172707
+0.0171988 0.0171271 0.0170557 0.0169845 0.0169136 0.016843 0.0167726
+0.0167025 0.0166326 0.016563 0.0164936 0.0164245 0.0163557 0.0162871
+0.0162188 0.0161507 0.0160828 0.0160153 0.0159479 0.0158808 0.015814
+0.0157474 0.0156811 0.015615 0.0155491 0.0154835 0.0154182 0.015353
+0.0152882 0.0152235 0.0151591 0.015095 0.0150311 0.0149674 0.0149039
+0.0148407 0.0147778 0.014715 0.0146525 0.0145903 0.0145282 0.0144665
+0.0144049 0.0143436 0.0142825 0.0142216 0.0141609 0.0141005 0.0140403
+0.0139804 0.0139206 0.0138611 0.0138018 0.0137428 0.013684 0.0136253
+0.0135669 0.0135088 0.0134508 0.0133931 0.0133356 0.0132783 0.0132212
+0.0131644 0.0131077 0.0130513 0.0129951 0.0129391 0.0128833 0.0128277
+0.0127724 0.0127172 0.0126623 0.0126076 0.0125531 0.0124987 0.0124446
+0.0123908 0.0123371 0.0122836 0.0122303 0.0121773 0.0121244 0.0120717
+0.0120193 0.011967 0.011915 0.0118631 0.0118115 0.01176 0.0117088 0.0116577
+0.0116069 0.0115562 0.0115057 0.0114555 0.0114054 0.0113555 0.0113058
+0.0112563 0.0112071 0.0111579 0.011109 0.0110603 0.0110118 0.0109634
+0.0109153 0.0108673 0.0108195 0.0107719 0.0107245 0.0106773 0.0106303
+0.0105834 0.0105368 0.0104903 0.010444 0.0103979 0.0103519 0.0103062
+0.0102606 0.0102152 0.01017 0.0101249 0.0100801 0.0100354 0.00999087
+0.00994654 0.00990238 0.0098584 0.00981459 0.00977096 0.0097275 0.00968421
+0.0096411 0.00959815 0.00955538 0.00951278 0.00947034 0.00942808 0.00938598
+0.00934405 0.00930229 0.0092607 0.00921927 0.00917801 0.00913691 0.00909598
+0.00905521 0.0090146 0.00897416 0.00893388 0.00889376 0.0088538 0.008814
+0.00877437 0.00873489 0.00869557 0.00865641 0.00861741 0.00857856 0.00853988
+0.00850134 0.00846297 0.00842475 0.00838668 0.00834877 0.00831101 0.0082734
+0.00823595 0.00819865 0.0081615 0.0081245 0.00808765 0.00805095 0.0080144
+0.007978 0.00794175 0.00790565 0.00786969 0.00783388 0.00779821 0.0077627
+0.00772732 0.00769209 0.00765701 0.00762207 0.00758727 0.00755261 0.0075181
+0.00748373 0.0074495 0.00741541 0.00738146 0.00734765 0.00731398 0.00728045
+0.00724706 0.0072138 0.00718068 0.0071477 0.00711485 0.00708214 0.00704957
+0.00701713 0.00698482 0.00695265 0.00692061 0.00688871 0.00685693 0.00682529
+0.00679378 0.0067624 0.00673116 0.00670004 0.00666905 0.00663819 0.00660746
+0.00657685 0.00654638 0.00651603 0.00648581 0.00645571 0.00642574 0.0063959
+0.00636618 0.00633659 0.00630712 0.00627777 0.00624855 0.00621944 0.00619047
+0.00616161 0.00613287 0.00610426 0.00607577 0.00604739 0.00601914 0.005991
+0.00596298 0.00593509 0.00590731 0.00587964 0.0058521 0.00582467 0.00579735
+0.00577015 0.00574307 0.0057161 0.00568925 0.00566251 0.00563589 0.00560937
+0.00558298 0.00555669 0.00553051 0.00550445 0.0054785 0.00545265 0.00542692
+0.0054013 0.00537579 0.00535038 0.00532509 0.0052999 0.00527482 0.00524985
+0.00522499 0.00520023 0.00517558 0.00515103 0.00512659 0.00510225 0.00507802
+0.0050539 0.00502987 0.00500595 0.00498214 0.00495842 0.00493481 0.0049113
+0.00488789 0.00486459 0.00484138 0.00481828 0.00479527 0.00477236 0.00474956
+0.00472685 0.00470424 0.00468173 0.00465931 0.004637 0.00461478 0.00459265
+0.00457063 0.0045487 0.00452686 0.00450512 0.00448348 0.00446193 0.00444047
+0.00441911 0.00439784 0.00437666 0.00435558 0.00433458 0.00431368 0.00429287
+0.00427216 0.00425153 0.004231 0.00421055 0.00419019 0.00416993 0.00414975
+0.00412966 0.00410966 0.00408975 0.00406993 0.00405019 0.00403054 0.00401098
+0.0039915 0.00397211 0.0039528 0.00393358 0.00391445 0.0038954 0.00387644
+0.00385755 0.00383876 0.00382004 0.00380141 0.00378286 0.0037644 0.00374601
+0.00372771 0.00370949 0.00369135 0.00367329 0.00365531 0.00363742 0.0036196
+0.00360186 0.0035842 0.00356662 0.00354912 0.00353169 0.00351435 0.00349708
+0.00347989 0.00346278 0.00344574 0.00342878 0.0034119 0.00339509 0.00337836
+0.0033617 0.00334512 0.00332861 0.00331218 0.00329582 0.00327953 0.00326332
+0.00324718 0.00323111 0.00321512 0.0031992 0.00318335 0.00316757 0.00315187
+0.00313623 0.00312067 0.00310518 0.00308975 0.0030744 0.00305912 0.0030439
+0.00302876 0.00301368 0.00299868 0.00298374 0.00296887 0.00295406 0.00293933
+0.00292466 0.00291006 0.00289552 0.00288105 0.00286665 0.00285232 0.00283805
+0.00282384 0.0028097 0.00279563 0.00278161 0.00276767 0.00275378 0.00273997
+0.00272621 0.00271252 0.00269889 0.00268532 0.00267182 0.00265838 0.002645
+0.00263168 0.00261842 0.00260523 0.00259209 0.00257902 0.00256601 0.00255305
+0.00254016 0.00252733 0.00251455 0.00250184 0.00248918 0.00247658 0.00246404
+0.00245156 0.00243914 0.00242678 0.00241447 0.00240222 0.00239003 0.00237789
+0.00236581 0.00235379 0.00234182 0.00232991 0.00231805 0.00230625 0.00229451
+0.00228282 0.00227118 0.0022596 0.00224807 0.0022366 0.00222518 0.00221381
+0.0022025 0.00219124 0.00218003 0.00216888 0.00215778 0.00214673 0.00213573
+0.00212479 0.00211389 0.00210305 0.00209226 0.00208152 0.00207083 0.00206019
+0.0020496 0.00203906 0.00202857 0.00201814 0.00200774 0.0019974 0.00198711
+0.00197687 0.00196667 0.00195653 0.00194643 0.00193638 0.00192638 0.00191642
+0.00190652 0.00189666 0.00188684 0.00187708 0.00186736 0.00185768 0.00184806
+0.00183847 0.00182894 0.00181945 0.00181 0.0018006 0.00179125 0.00178194
+0.00177267 0.00176345 0.00175428 0.00174514 0.00173605 0.00172701 0.00171801
+0.00170905 0.00170013 0.00169126 0.00168243 0.00167364 0.0016649 0.0016562
+0.00164753 0.00163892 0.00163034 0.0016218 0.00161331 0.00160485 0.00159644
+0.00158807 0.00157974 0.00157144 0.00156319 0.00155498 0.00154681 0.00153868
+0.00153059 0.00152253 0.00151452 0.00150654 0.00149861 0.00149071 0.00148285
+0.00147503 0.00146725 0.0014595 0.00145179 0.00144412 0.00143649 0.0014289
+0.00142134 0.00141382 0.00140633 0.00139889 0.00139148 0.0013841 0.00137676
+0.00136946 0.00136219 0.00135496 0.00134777 0.00134061 0.00133348 0.00132639
+0.00131934 0.00131232 0.00130533 0.00129838 0.00129146 0.00128458 0.00127773
+0.00127091 0.00126413 0.00125738 0.00125067 0.00124399 0.00123734 0.00123072
+0.00122414 0.00121759 0.00121107 0.00120458 0.00119813 0.00119171 0.00118532
+0.00117896 0.00117263 0.00116634 0.00116008 0.00115384 0.00114764 0.00114147
+0.00113533 0.00112922 0.00112314 0.0011171 0.00111108 0.00110509 0.00109913
+0.0010932 0.0010873 0.00108143 0.00107559 0.00106978 0.001064 0.00105825
+0.00105253 0.00104683 0.00104116 0.00103553 0.00102992 0.00102433 0.00101878
+0.00101326 0.00100776 0.00100229 0.000996845 0.00099143 0.000986042
+0.000980682 0.000975348 0.000970042 0.000964762 0.000959509 0.000954282
+0.000949082 0.000943908 0.00093876 0.000933639 0.000928543 0.000923473
+0.000918429 0.000913411 0.000908418 0.00090345 0.000898508 0.00089359
+0.000888698 0.00088383 0.000878988 0.00087417 0.000869376 0.000864607
+0.000859863 0.000855142 0.000850446 0.000845773 0.000841125 0.0008365
+0.000831899 0.000827321 0.000822767 0.000818236 0.000813728 0.000809244
+0.000804782 0.000800343 0.000795927 0.000791534 0.000787163 0.000782815
+0.000778489 0.000774185 0.000769904 0.000765644 0.000761407 0.000757191
+0.000752997 0.000748825 0.000744674 0.000740544 0.000736436 0.000732349
+0.000728284 0.000724239 0.000720215 0.000716212 0.00071223 0.000708268
+0.000704327 0.000700406 0.000696506 0.000692625 0.000688765 0.000684925
+0.000681105 0.000677305 0.000673525 0.000669764 0.000666023 0.000662301
+0.000658599 0.000654915 0.000651252 0.000647607 0.000643981 0.000640374
+0.000636786 0.000633217 0.000629667 0.000626135 0.000622621 0.000619126
+0.000615649 0.00061219 0.00060875 0.000605327 0.000601923 0.000598536
+0.000595167 0.000591816 0.000588483 0.000585166 0.000581868 0.000578587
+0.000575323 0.000572076 0.000568846 0.000565633 0.000562438 0.000559259
+0.000556097 0.000552951 0.000549822 0.00054671 0.000543614 0.000540535
+0.000537472 0.000534425 0.000531394 0.000528379 0.00052538 0.000522397
+0.00051943 0.000516479 0.000513543 0.000510623 0.000507719 0.000504829
+0.000501956 0.000499097 0.000496254 0.000493426 0.000490613 0.000487815
+0.000485031 0.000482263 0.00047951 0.000476771 0.000474047 0.000471337
+0.000468642 0.000465961 0.000463295 0.000460642 0.000458004 0.000455381
+0.000452771 0.000450175 0.000447593 0.000445025 0.000442471 0.000439931
+0.000437404 0.00043489 0.000432391 0.000429904 0.000427431 0.000424972
+0.000422525 0.000420092 0.000417672 0.000415265 0.000412871 0.00041049
+0.000408122 0.000405766 0.000403424 0.000401093 0.000398776 0.000396471
+0.000394179 0.000391899 0.000389631 0.000387375 0.000385132 0.000382901
+0.000380682 0.000378475 0.000376281 0.000374098 0.000371927 0.000369767
+0.00036762 0.000365484 0.00036336 0.000361247 0.000359146 0.000357056
+0.000354978 0.000352911 0.000350856 0.000348811 0.000346778 0.000344756
+0.000342745 0.000340745 0.000338756 0.000336777 0.00033481 0.000332853
+0.000330907 0.000328972 0.000327047 0.000325133 0.00032323 0.000321337
+0.000319454 0.000317582 0.00031572 0.000313868 0.000312026 0.000310195
+0.000308373 0.000306562 0.000304761 0.000302969 0.000301188 0.000299416
+0.000297654 0.000295902 0.000294159 0.000292427 0.000290703 0.000288989
+0.000287285 0.00028559 0.000283905 0.000282229 0.000280562 0.000278905
+0.000277256 0.000275617 0.000273987 0.000272366 0.000270754 0.000269151
+0.000267556 0.000265971 0.000264395 0.000262827 0.000261268 0.000259718
+0.000258176 0.000256643 0.000255119 0.000253603 0.000252095 0.000250596
+0.000249105 0.000247623 0.000246149 0.000244683 0.000243226 0.000241776
+0.000240335 0.000238902 0.000237476 0.000236059 0.00023465 0.000233249
+0.000231855 0.00023047 0.000229092 0.000227722 0.000226359 0.000225005
+0.000223658 0.000222318 0.000220986 0.000219662 0.000218345 0.000217035
+0.000215733 0.000214438 0.000213151 0.00021187 0.000210597 0.000209332
+0.000208073 0.000206822 0.000205577 0.00020434 0.00020311 0.000201886
+0.00020067 0.00019946 0.000198258 0.000197062 0.000195873 0.00019469
+0.000193515 0.000192346 0.000191184 0.000190028 0.000188879 0.000187737
+0.000186601 0.000185471 0.000184348 0.000183231 0.000182121 0.000181017
+0.00017992 0.000178828 0.000177743 0.000176664 0.000175591 0.000174525
+0.000173464 0.00017241 0.000171361 0.000170319 0.000169283 0.000168252
+0.000167228 0.000166209 0.000165196 0.000164189 0.000163188 0.000162193
+0.000161203 0.000160219 0.00015924 0.000158268 0.000157301 0.000156339
+0.000155383 0.000154433 0.000153488 0.000152548 0.000151614 0.000150685
+0.000149762 0.000148844 0.000147931 0.000147024 0.000146122 0.000145225
+0.000144333 0.000143446 0.000142565 0.000141689 0.000140817 0.000139951
+0.00013909 0.000138234 0.000137383 0.000136536 0.000135695 0.000134859
+0.000134027 0.0001332 0.000132378 0.000131561 0.000130749 0.000129941
+0.000129139 0.00012834 0.000127547 0.000126758 0.000125974 0.000125194
+0.000124419 0.000123648 0.000122882 0.00012212 0.000121363 0.00012061
+0.000119862 0.000119118 0.000118379;
+#A 7000 0.000117643 0.000116912 0.000116186 0.000115463 0.000114745
+0.000114031 0.000113322 0.000112616 0.000111915 0.000111218 0.000110525
+0.000109835 0.00010915 0.00010847 0.000107793 0.00010712 0.000106451
+0.000105786 0.000105125 0.000104467 0.000103814 0.000103165 0.000102519
+0.000101877 0.000101239 0.000100605 9.99749e-05 9.93481e-05 9.87252e-05
+9.81059e-05 9.74903e-05 9.68784e-05 9.627e-05 9.56654e-05 9.50643e-05
+9.44667e-05 9.38727e-05 9.32823e-05 9.26954e-05 9.2112e-05 9.1532e-05
+9.09555e-05 9.03825e-05 8.98128e-05 8.92466e-05 8.86837e-05 8.81243e-05
+8.75681e-05 8.70152e-05 8.64657e-05 8.59195e-05 8.53765e-05 8.48367e-05
+8.43002e-05 8.3767e-05 8.32369e-05 8.271e-05 8.21862e-05 8.16656e-05
+8.11481e-05 8.06337e-05 8.01224e-05 7.96142e-05 7.9109e-05 7.86069e-05
+7.81078e-05 7.76117e-05 7.71186e-05 7.66284e-05 7.61412e-05 7.5657e-05
+7.51756e-05 7.46971e-05 7.42216e-05 7.37489e-05 7.32791e-05 7.2812e-05
+7.23479e-05 7.18865e-05 7.14279e-05 7.09721e-05 7.0519e-05 7.00688e-05
+6.96211e-05 6.91763e-05 6.87341e-05 6.82946e-05 6.78577e-05 6.74235e-05
+6.6992e-05 6.65631e-05 6.61367e-05 6.5713e-05 6.52918e-05 6.48733e-05
+6.44572e-05 6.40436e-05 6.36326e-05 6.32241e-05 6.28181e-05 6.24145e-05
+6.20135e-05 6.16148e-05 6.12186e-05 6.08248e-05 6.04334e-05 6.00444e-05
+5.96578e-05 5.92735e-05 5.88916e-05 5.8512e-05 5.81348e-05 5.77598e-05
+5.73872e-05 5.70168e-05 5.66487e-05 5.62828e-05 5.59192e-05 5.55579e-05
+5.51987e-05 5.48417e-05 5.4487e-05 5.41344e-05 5.3784e-05 5.34357e-05
+5.30896e-05 5.27456e-05 5.24037e-05 5.20639e-05 5.17263e-05 5.13907e-05
+5.10571e-05 5.07256e-05 5.03962e-05 5.00688e-05 4.97434e-05 4.942e-05
+4.90987e-05 4.87793e-05 4.84619e-05 4.81464e-05 4.78329e-05 4.75214e-05
+4.72117e-05 4.6904e-05 4.65982e-05 4.62943e-05 4.59922e-05 4.5692e-05
+4.53937e-05 4.50973e-05 4.48027e-05 4.45099e-05 4.42189e-05 4.39298e-05
+4.36424e-05 4.33568e-05 4.3073e-05 4.2791e-05 4.25107e-05 4.22322e-05
+4.19554e-05 4.16804e-05 4.1407e-05 4.11353e-05 4.08654e-05 4.05971e-05
+4.03305e-05 4.00656e-05 3.98023e-05 3.95407e-05 3.92807e-05 3.90223e-05
+3.87655e-05 3.85104e-05 3.82568e-05 3.80049e-05 3.77545e-05 3.75057e-05
+3.72584e-05 3.70127e-05 3.67685e-05 3.65259e-05 3.62848e-05 3.60452e-05
+3.58071e-05 3.55705e-05 3.53354e-05 3.51018e-05 3.48696e-05 3.4639e-05
+3.44097e-05 3.41819e-05 3.39555e-05 3.37306e-05 3.35071e-05 3.3285e-05
+3.30643e-05 3.2845e-05 3.2627e-05 3.24105e-05 3.21953e-05 3.19815e-05
+3.1769e-05 3.15579e-05 3.13481e-05 3.11396e-05 3.09324e-05 3.07266e-05
+3.05221e-05 3.03189e-05 3.01169e-05 2.99162e-05 2.97168e-05 2.95187e-05
+2.93219e-05 2.91262e-05 2.89319e-05 2.87387e-05 2.85468e-05 2.83561e-05
+2.81667e-05 2.79784e-05 2.77913e-05 2.76054e-05 2.74207e-05 2.72372e-05
+2.70549e-05 2.68737e-05 2.66937e-05 2.65148e-05 2.6337e-05 2.61604e-05
+2.5985e-05 2.58106e-05 2.56374e-05 2.54652e-05 2.52942e-05 2.51243e-05
+2.49554e-05 2.47877e-05 2.4621e-05 2.44554e-05 2.42908e-05 2.41273e-05
+2.39649e-05 2.38035e-05 2.36431e-05 2.34837e-05 2.33254e-05 2.31681e-05
+2.30118e-05 2.28565e-05 2.27022e-05 2.2549e-05 2.23966e-05 2.22453e-05
+2.2095e-05 2.19456e-05 2.17972e-05 2.16497e-05 2.15032e-05 2.13576e-05
+2.1213e-05 2.10693e-05 2.09266e-05 2.07847e-05 2.06438e-05 2.05038e-05
+2.03647e-05 2.02265e-05 2.00892e-05 1.99527e-05 1.98172e-05 1.96826e-05
+1.95488e-05 1.94158e-05 1.92838e-05 1.91526e-05 1.90223e-05 1.88928e-05
+1.87641e-05 1.86363e-05 1.85093e-05 1.83831e-05 1.82578e-05 1.81333e-05
+1.80095e-05 1.78866e-05 1.77645e-05 1.76432e-05 1.75227e-05 1.74029e-05
+1.7284e-05 1.71658e-05 1.70484e-05 1.69317e-05 1.68159e-05 1.67007e-05
+1.65864e-05 1.64727e-05 1.63599e-05 1.62477e-05 1.61363e-05 1.60256e-05
+1.59157e-05 1.58065e-05 1.56979e-05 1.55901e-05 1.5483e-05 1.53766e-05
+1.52709e-05 1.51659e-05 1.50616e-05 1.4958e-05 1.48551e-05 1.47528e-05
+1.46512e-05 1.45503e-05 1.445e-05 1.43504e-05 1.42514e-05 1.41532e-05
+1.40555e-05 1.39585e-05 1.38621e-05 1.37664e-05 1.36713e-05 1.35768e-05
+1.3483e-05 1.33898e-05 1.32972e-05 1.32052e-05 1.31138e-05 1.3023e-05
+1.29328e-05 1.28432e-05 1.27542e-05 1.26658e-05 1.2578e-05 1.24908e-05
+1.24041e-05 1.2318e-05 1.22325e-05 1.21476e-05 1.20632e-05 1.19794e-05
+1.18961e-05 1.18134e-05 1.17312e-05 1.16496e-05 1.15685e-05 1.1488e-05
+1.1408e-05 1.13286e-05 1.12496e-05 1.11712e-05 1.10933e-05 1.1016e-05
+1.09391e-05 1.08628e-05 1.0787e-05 1.07116e-05 1.06368e-05 1.05625e-05
+1.04887e-05 1.04154e-05 1.03425e-05 1.02702e-05 1.01983e-05 1.01269e-05
+1.0056e-05 9.98559e-06 9.91563e-06 9.84614e-06 9.77712e-06 9.70855e-06
+9.64045e-06 9.57281e-06 9.50562e-06 9.43888e-06 9.3726e-06 9.30676e-06
+9.24135e-06 9.17639e-06 9.11187e-06 9.04778e-06 8.98412e-06 8.92089e-06
+8.85809e-06 8.79571e-06 8.73375e-06 8.6722e-06 8.61108e-06 8.55037e-06
+8.49006e-06 8.43016e-06 8.37067e-06 8.31158e-06 8.25289e-06 8.19459e-06
+8.1367e-06 8.07919e-06 8.02207e-06 7.96534e-06 7.90899e-06 7.85303e-06
+7.79744e-06 7.74223e-06 7.68739e-06 7.63293e-06 7.57883e-06 7.52511e-06
+7.47174e-06 7.41875e-06 7.36611e-06 7.31382e-06 7.2619e-06 7.21033e-06
+7.1591e-06 7.10823e-06 7.0577e-06 7.00752e-06 6.95768e-06 6.90818e-06
+6.85902e-06 6.81019e-06 6.76169e-06 6.71353e-06 6.66569e-06 6.61819e-06
+6.571e-06 6.52414e-06 6.47759e-06 6.43137e-06 6.38546e-06 6.33987e-06
+6.29459e-06 6.24962e-06 6.20495e-06 6.1606e-06 6.11654e-06 6.07279e-06
+6.02934e-06 5.98619e-06 5.94333e-06 5.90077e-06 5.8585e-06 5.81652e-06
+5.77482e-06 5.73342e-06 5.6923e-06 5.65146e-06 5.6109e-06 5.57063e-06
+5.53062e-06 5.4909e-06 5.45145e-06 5.41227e-06 5.37336e-06 5.33472e-06
+5.29634e-06 5.25823e-06 5.22038e-06 5.1828e-06 5.14547e-06 5.10841e-06
+5.07159e-06 5.03503e-06 4.99873e-06 4.96268e-06 4.92687e-06 4.89131e-06
+4.856e-06 4.82094e-06 4.78612e-06 4.75153e-06 4.71719e-06 4.68309e-06
+4.64922e-06 4.61559e-06 4.58219e-06 4.54903e-06 4.51609e-06 4.48338e-06
+4.4509e-06 4.41865e-06 4.38662e-06 4.35481e-06 4.32322e-06 4.29186e-06
+4.26071e-06 4.22978e-06 4.19906e-06 4.16856e-06 4.13828e-06 4.1082e-06
+4.07833e-06 4.04867e-06 4.01922e-06 3.98997e-06 3.96093e-06 3.9321e-06
+3.90346e-06 3.87502e-06 3.84678e-06 3.81874e-06 3.7909e-06 3.76325e-06
+3.73579e-06 3.70853e-06 3.68146e-06 3.65458e-06 3.62788e-06 3.60138e-06
+3.57506e-06 3.54892e-06 3.52297e-06 3.4972e-06 3.47161e-06 3.4462e-06
+3.42097e-06 3.39592e-06 3.37104e-06 3.34634e-06 3.32181e-06 3.29746e-06
+3.27327e-06 3.24926e-06 3.22541e-06 3.20174e-06 3.17823e-06 3.15489e-06
+3.13171e-06 3.10869e-06 3.08584e-06 3.06315e-06 3.04062e-06 3.01825e-06
+2.99604e-06 2.97398e-06 2.95208e-06 2.93034e-06 2.90874e-06 2.8873e-06
+2.86602e-06 2.84488e-06 2.8239e-06 2.80306e-06 2.78237e-06 2.76183e-06
+2.74143e-06 2.72118e-06 2.70107e-06 2.68111e-06 2.66129e-06 2.6416e-06
+2.62206e-06 2.60266e-06 2.58339e-06 2.56426e-06 2.54527e-06 2.52642e-06
+2.50769e-06 2.4891e-06 2.47065e-06 2.45232e-06 2.43413e-06 2.41606e-06
+2.39813e-06 2.38032e-06 2.36264e-06 2.34508e-06 2.32766e-06 2.31035e-06
+2.29317e-06 2.27611e-06 2.25918e-06 2.24237e-06 2.22567e-06 2.2091e-06
+2.19264e-06 2.1763e-06 2.16008e-06 2.14398e-06 2.12799e-06 2.11212e-06
+2.09635e-06 2.08071e-06 2.06517e-06 2.04975e-06 2.03444e-06 2.01924e-06
+2.00414e-06 1.98916e-06 1.97428e-06 1.95951e-06 1.94485e-06 1.93029e-06
+1.91584e-06 1.90149e-06 1.88724e-06 1.8731e-06 1.85906e-06 1.84512e-06
+1.83128e-06 1.81754e-06 1.8039e-06 1.79036e-06 1.77692e-06 1.76357e-06
+1.75032e-06 1.73717e-06 1.72411e-06 1.71115e-06 1.69828e-06 1.6855e-06
+1.67282e-06 1.66022e-06 1.64772e-06 1.63531e-06 1.62299e-06 1.61076e-06
+1.59862e-06 1.58656e-06 1.57459e-06 1.56272e-06 1.55092e-06 1.53921e-06
+1.52759e-06 1.51605e-06 1.5046e-06 1.49323e-06 1.48194e-06 1.47073e-06
+1.45961e-06 1.44856e-06 1.4376e-06 1.42672e-06 1.41591e-06 1.40519e-06
+1.39454e-06 1.38397e-06 1.37348e-06 1.36306e-06 1.35272e-06 1.34246e-06
+1.33227e-06 1.32216e-06 1.31212e-06 1.30215e-06 1.29226e-06 1.28243e-06
+1.27269e-06 1.26301e-06 1.2534e-06 1.24386e-06 1.2344e-06 1.225e-06
+1.21567e-06 1.20641e-06 1.19722e-06 1.18809e-06 1.17904e-06 1.17004e-06
+1.16112e-06 1.15226e-06 1.14347e-06 1.13474e-06 1.12607e-06 1.11747e-06
+1.10893e-06 1.10046e-06 1.09204e-06 1.08369e-06 1.0754e-06 1.06717e-06
+1.05901e-06 1.0509e-06 1.04285e-06 1.03486e-06 1.02693e-06 1.01906e-06
+1.01125e-06 1.0035e-06 9.958e-07 9.8816e-07 9.80576e-07 9.73048e-07
+9.65576e-07 9.58159e-07 9.50797e-07 9.4349e-07 9.36237e-07 9.29038e-07
+9.21891e-07 9.14798e-07 9.07758e-07 9.0077e-07 8.93834e-07 8.86949e-07
+8.80116e-07 8.73333e-07 8.666e-07 8.59918e-07 8.53285e-07 8.46702e-07
+8.40168e-07 8.33682e-07 8.27245e-07 8.20856e-07 8.14513e-07 8.08219e-07
+8.01971e-07 7.95771e-07 7.89615e-07 7.83506e-07 7.77443e-07 7.71426e-07
+7.65452e-07 7.59524e-07 7.5364e-07 7.478e-07 7.42003e-07 7.3625e-07
+7.3054e-07 7.24873e-07 7.19247e-07 7.13664e-07 7.08123e-07 7.02624e-07
+6.97166e-07 6.91748e-07 6.86371e-07 6.81035e-07 6.75739e-07 6.70482e-07
+6.65265e-07 6.60087e-07 6.54948e-07 6.49847e-07 6.44785e-07 6.39761e-07
+6.34775e-07 6.29826e-07 6.24914e-07 6.2004e-07 6.15202e-07 6.104e-07
+6.05635e-07 6.00906e-07 5.96212e-07 5.91554e-07 5.86931e-07 5.82343e-07
+5.77789e-07 5.73269e-07 5.68784e-07 5.64333e-07 5.59915e-07 5.55531e-07
+5.5118e-07 5.46862e-07 5.42576e-07 5.38323e-07 5.34102e-07 5.29914e-07
+5.25756e-07 5.2163e-07 5.17536e-07 5.13473e-07 5.0944e-07 5.05438e-07
+5.01466e-07 4.97525e-07 4.93613e-07 4.89731e-07 4.85879e-07 4.82056e-07
+4.78262e-07 4.74496e-07 4.7076e-07 4.67052e-07 4.63372e-07 4.5972e-07
+4.56095e-07 4.52499e-07 4.4893e-07 4.45388e-07 4.41873e-07 4.38385e-07
+4.34923e-07 4.31488e-07 4.28079e-07 4.24696e-07 4.21339e-07 4.18007e-07
+4.14701e-07 4.11421e-07 4.08165e-07 4.04934e-07 4.01728e-07 3.98547e-07
+3.95389e-07 3.92256e-07 3.89147e-07 3.86062e-07 3.83001e-07 3.79963e-07
+3.76948e-07 3.73956e-07 3.70987e-07 3.68041e-07 3.65118e-07 3.62217e-07
+3.59338e-07 3.56482e-07 3.53647e-07 3.50835e-07 3.48043e-07 3.45274e-07
+3.42525e-07 3.39798e-07 3.37092e-07 3.34406e-07 3.31742e-07 3.29098e-07
+3.26474e-07 3.2387e-07 3.21286e-07 3.18723e-07 3.16179e-07 3.13655e-07
+3.1115e-07 3.08665e-07 3.06198e-07 3.03751e-07 3.01323e-07 2.98914e-07
+2.96523e-07 2.9415e-07 2.91797e-07 2.89461e-07 2.87143e-07 2.84843e-07
+2.82561e-07 2.80297e-07 2.7805e-07 2.75821e-07 2.73609e-07 2.71414e-07
+2.69237e-07 2.67076e-07 2.64932e-07 2.62804e-07 2.60693e-07 2.58599e-07
+2.5652e-07 2.54458e-07 2.52412e-07 2.50382e-07 2.48368e-07 2.46369e-07
+2.44386e-07 2.42418e-07 2.40466e-07 2.38529e-07 2.36606e-07 2.34699e-07
+2.32807e-07 2.3093e-07 2.29067e-07 2.27219e-07 2.25385e-07 2.23565e-07
+2.2176e-07 2.19969e-07 2.18192e-07 2.16429e-07 2.14679e-07 2.12943e-07
+2.11221e-07 2.09512e-07 2.07817e-07 2.06135e-07 2.04466e-07 2.0281e-07
+2.01167e-07 1.99537e-07 1.9792e-07 1.96315e-07 1.94723e-07 1.93144e-07
+1.91577e-07 1.90022e-07 1.8848e-07 1.86949e-07 1.85431e-07 1.83924e-07
+1.8243e-07 1.80947e-07 1.79476e-07 1.78016e-07 1.76568e-07 1.75131e-07
+1.73706e-07 1.72292e-07 1.70889e-07 1.69497e-07 1.68116e-07 1.66746e-07
+1.65387e-07 1.64038e-07 1.627e-07 1.61373e-07 1.60056e-07 1.5875e-07
+1.57454e-07 1.56168e-07 1.54892e-07 1.53627e-07 1.52371e-07 1.51125e-07
+1.4989e-07 1.48664e-07 1.47447e-07 1.46241e-07 1.45044e-07 1.43856e-07
+1.42678e-07 1.41509e-07 1.4035e-07 1.39199e-07 1.38058e-07 1.36926e-07
+1.35803e-07 1.34688e-07 1.33583e-07 1.32486e-07 1.31399e-07 1.30319e-07
+1.29249e-07 1.28187e-07 1.27133e-07 1.26088e-07 1.25051e-07 1.24022e-07
+1.23002e-07 1.21989e-07 1.20985e-07 1.19989e-07 1.19e-07 1.1802e-07
+1.17047e-07 1.16083e-07 1.15125e-07 1.14176e-07 1.13234e-07 1.123e-07
+1.11373e-07 1.10453e-07 1.09541e-07 1.08636e-07 1.07739e-07 1.06848e-07
+1.05965e-07 1.05089e-07 1.0422e-07 1.03357e-07 1.02502e-07 1.01654e-07
+1.00812e-07 9.99773e-08 9.91491e-08 9.83276e-08 9.75126e-08 9.67043e-08
+9.59023e-08 9.5107e-08 9.43179e-08 9.35352e-08 9.27589e-08 9.19887e-08
+9.12247e-08 9.04669e-08 8.97152e-08 8.89696e-08 8.823e-08 8.74963e-08
+8.67685e-08 8.60467e-08 8.53305e-08 8.46203e-08 8.39157e-08 8.32169e-08
+8.25236e-08 8.1836e-08 8.11539e-08 8.04774e-08 7.98062e-08;
+#A 8000 7.91406e-08 7.84803e-08 7.78254e-08 7.71757e-08 7.65314e-08
+7.58922e-08 7.52582e-08 7.46293e-08 7.40056e-08 7.33868e-08 7.27733e-08
+7.21645e-08 7.15607e-08 7.09619e-08 7.03679e-08 6.97786e-08 6.91943e-08
+6.86146e-08 6.80397e-08 6.74694e-08 6.69038e-08 6.63428e-08 6.57863e-08
+6.52343e-08 6.46869e-08 6.41438e-08 6.36053e-08 6.30711e-08 6.25413e-08
+6.20158e-08 6.14946e-08 6.09775e-08 6.04648e-08 5.99562e-08 5.94518e-08
+5.89515e-08 5.84552e-08 5.79631e-08 5.74749e-08 5.69907e-08 5.65105e-08
+5.60342e-08 5.55619e-08 5.50933e-08 5.46286e-08 5.41677e-08 5.37106e-08
+5.32572e-08 5.28076e-08 5.23616e-08 5.19193e-08 5.14806e-08 5.10455e-08
+5.0614e-08 5.0186e-08 4.97615e-08 4.93405e-08 4.89229e-08 4.85089e-08
+4.80982e-08 4.76908e-08 4.72869e-08 4.68862e-08 4.64888e-08 4.60948e-08
+4.57039e-08 4.53163e-08 4.49318e-08 4.45505e-08 4.41724e-08 4.37974e-08
+4.34254e-08 4.30566e-08 4.26907e-08 4.2328e-08 4.19681e-08 4.16113e-08
+4.12574e-08 4.09064e-08 4.05583e-08 4.02131e-08 3.98708e-08 3.95313e-08
+3.91946e-08 3.88606e-08 3.85295e-08 3.82011e-08 3.78753e-08 3.75523e-08
+3.7232e-08 3.69143e-08 3.65993e-08 3.62868e-08 3.5977e-08 3.56697e-08
+3.53649e-08 3.50628e-08 3.4763e-08 3.44659e-08 3.41711e-08 3.38788e-08
+3.3589e-08 3.33015e-08 3.30164e-08 3.27337e-08 3.24534e-08 3.21754e-08
+3.18997e-08 3.16263e-08 3.13552e-08 3.10863e-08 3.08196e-08 3.05552e-08
+3.0293e-08 3.0033e-08 2.97752e-08 2.95194e-08 2.92659e-08 2.90144e-08
+2.8765e-08 2.85178e-08 2.82726e-08 2.80294e-08 2.77883e-08 2.75492e-08
+2.73121e-08 2.70769e-08 2.68437e-08 2.66126e-08 2.63833e-08 2.61559e-08
+2.59305e-08 2.57069e-08 2.54852e-08 2.52654e-08 2.50473e-08 2.48312e-08
+2.46168e-08 2.44043e-08 2.41935e-08 2.39845e-08 2.37773e-08 2.35718e-08
+2.33679e-08 2.31659e-08 2.29655e-08 2.27668e-08 2.25698e-08 2.23744e-08
+2.21807e-08 2.19886e-08 2.17981e-08 2.16093e-08 2.1422e-08 2.12363e-08
+2.10522e-08 2.08696e-08 2.06886e-08 2.0509e-08 2.0331e-08 2.01545e-08
+1.99795e-08 1.9806e-08 1.96339e-08 1.94633e-08 1.92941e-08 1.91264e-08
+1.896e-08 1.87951e-08 1.86316e-08 1.84695e-08 1.83087e-08 1.81493e-08
+1.79912e-08 1.78345e-08 1.76791e-08 1.7525e-08 1.73722e-08 1.72207e-08
+1.70705e-08 1.69216e-08 1.6774e-08 1.66276e-08 1.64824e-08 1.63385e-08
+1.61957e-08 1.60543e-08 1.5914e-08 1.57749e-08 1.56369e-08 1.55002e-08
+1.53646e-08;
+#X coords 0 1 8191 -1 200 140 1;
+#X restore 62 180 graph;
+#N canvas 603 425 305 177 messages 0;
+#X obj 108 126 outlet;
+#X msg 219 110 clear;
+#N canvas 516 517 705 388 addsyn 0;
+#X obj 39 47 tgl 40 0 empty empty empty 0 -6 0 8 -188364 -1 -1 0 1
+;
+#X msg 39 93 normalize \$1;
+#X text 84 73 on by default;
+#X msg 194 88 addsyn 0.5 0.5;
+#X msg 194 45 addsyn 0 1;
+#X text 272 47 sine;
+#X text 299 88 raised sine;
+#X msg 134 190 addsyn 0 1 0 0.333 0 0.2 0 0.143 0 0.111 0 0.091 0 0.077
+0 0.067;
+#X obj 39 296 outlet;
+#X msg 133 222 addsyn 0 1 0 -0.111 0 0.04 0 -0.02 0 0.012 0 -0.008
+0 0.006 0 -0.004;
+#X msg 135 256 addsyn 0 1 0.5 0.333 0.25 0.2 0.167 0.143 0.125;
+#X text 568 197 square;
+#X text 554 226 triangle;
+#X text 532 258 sawtooth;
+#X msg 135 280 addsyn 0 1 -0.5 0.5 -0.25;
+#X text 319 280 or whatever;
+#X msg 194 66 addsyn 0.35;
+#X text 286 66 DC (turn off normalization first);
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 3 0 8 0;
+#X connect 4 0 8 0;
+#X connect 7 0 8 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 14 0 8 0;
+#X connect 16 0 8 0;
+#X restore 108 16 pd addsyn;
+#N canvas 713 435 486 336 envelopes 0;
+#X obj 12 295 outlet;
+#X msg 78 121 aenv 0.5;
+#X msg 70 103 aenv 0.025;
+#X msg 20 50 adenv 0.05 0.15;
+#X msg 12 31 adenv 0.05 0.15 0.7;
+#X text 9 8 all time values relative to 1;
+#X text 159 31 optional 3rd arg: secondary gain;
+#X msg 233 126 adrenv 0.05 0.1 0.3;
+#X msg 237 145 adrenv 0.05 0.1 0.3 0.7;
+#X msg 83 141 aenv 0.95;
+#X msg 238 169 adrenv 0.15 0.05 0.55 0.5;
+#X msg 223 218 rcos;
+#X msg 223 238 gaussian;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X restore 14 64 pd envelopes;
+#N canvas 752 285 474 324 graphic-harm 0;
+#X obj 134 270 outlet;
+#X obj 134 11 vsl 15 64 0.0001 1 0 0 empty empty empty 0 -8 0 8 -101888
+-1 -1 0 1;
+#X msg 134 127 0;
+#X obj 134 84 t b f;
+#X obj 176 11 vsl 15 64 0 1 0 0 empty empty empty 0 -8 0 8 -101888
+-1 -1 0 1;
+#X obj 176 84 t b f;
+#X obj 220 11 vsl 15 64 0 1 0 0 empty empty empty 0 -8 0 8 -101888
+-1 -1 0 1;
+#X obj 220 84 t b f;
+#X obj 264 11 vsl 15 64 0 1 0 0 empty empty empty 0 -8 0 8 -101888
+-1 -1 0 1;
+#X obj 264 84 t b f;
+#X obj 134 188 pack f f f f f;
+#X msg 134 227 addsyn \$1 \$2 \$3 \$4 \$5;
+#X connect 1 0 3 0;
+#X connect 2 0 10 0;
+#X connect 3 0 2 0;
+#X connect 3 1 10 1;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 10 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 10 3;
+#X connect 8 0 9 0;
+#X connect 9 0 2 0;
+#X connect 9 1 10 4;
+#X connect 10 0 11 0;
+#X connect 11 0 0 0;
+#X restore 160 48 pd graphic-harm;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X restore 65 101 pd messages;
+#X obj 23 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 24 50 function~ provides different tools for writing functions
+into an array.;
+#X text 148 97 <- click here for details;
+#X connect 2 0 0 0;
diff --git a/externals/lyonpotpourri/function~.c b/externals/lyonpotpourri/function~.c
new file mode 100755
index 000000000..d875e06e7
--- /dev/null
+++ b/externals/lyonpotpourri/function~.c
@@ -0,0 +1,380 @@
+#include "MSPd.h"
+
+/* comment */
+
+static t_class *function_class;
+#define OBJECT_NAME "function~"
+
+typedef struct _function
+{
+    t_object x_obj;
+    t_float x_f;
+    t_symbol *wavename; // name of waveform buffer
+    
+    int b_frames;
+    int b_nchans;
+    t_word *b_samples;
+    short normalize;
+} t_function;
+
+void function_setbuf(t_function *x, t_symbol *wavename);
+void *function_new(t_symbol *msg, int argc, t_atom *argv);
+void function_dsp(t_function *x, t_signal **sp);
+void function_redraw(t_function *x);
+void function_clear(t_function *x);
+void function_addsyn(t_function *x, t_symbol *msg, int argc, t_atom *argv);
+void function_aenv(t_function *x, t_symbol *msg, int argc, t_atom *argv);
+void function_adenv(t_function *x, t_symbol *msg, int argc, t_atom *argv);
+void function_normalize(t_function *x, t_floatarg f);
+void function_adrenv(t_function *x, t_symbol *msg, int argc, t_atom *argv);
+void function_rcos(t_function *x);
+void function_gaussian(t_function *x);
+void function_print(t_function *x);
+
+void function_tilde_setup(void)
+{
+    function_class = class_new(gensym("function~"), (t_newmethod)function_new,
+                               NO_FREE_FUNCTION,sizeof(t_function), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(function_class, t_function, x_f);
+    class_addmethod(function_class,(t_method)function_dsp,gensym("dsp"),0);
+    class_addmethod(function_class,(t_method)function_addsyn,gensym("addsyn"),A_GIMME,0);
+    class_addmethod(function_class,(t_method)function_aenv,gensym("aenv"),A_GIMME,0);
+    class_addmethod(function_class,(t_method)function_adenv,gensym("adenv"),A_GIMME,0);
+    class_addmethod(function_class,(t_method)function_adrenv,gensym("adrenv"),A_GIMME,0);
+    class_addmethod(function_class,(t_method)function_clear,gensym("clear"),0);
+    class_addmethod(function_class,(t_method)function_normalize,gensym("normalize"),A_FLOAT,0);
+    class_addmethod(function_class,(t_method)function_rcos,gensym("rcos"),0);
+    class_addmethod(function_class,(t_method)function_gaussian,gensym("gaussian"),0);
+    class_addmethod(function_class,(t_method)function_print,gensym("print"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void function_rcos(t_function *x)
+{
+    int i;
+    long b_frames;
+    t_word *b_samples;
+    function_setbuf(x, x->wavename);
+    b_samples = x->b_samples;
+    b_frames = x->b_frames;
+    if(b_frames == 0){
+        return;
+    }
+    for(i=0;i<b_frames;i++){
+        x->b_samples[i].w_float = (t_float) (0.5 - 0.5 * cos(TWOPI * (t_float)i/(t_float)b_frames));
+    }
+    function_redraw(x);
+    /* for(i=0;i<b_frames;i++){
+        post("%f", x->b_samples[i].w_float);
+    } */
+}
+
+/*
+void function_rcos(t_function *x)
+{
+    int i;
+    long b_frames;
+    t_word *b_samples;
+    t_symbol *wavename = x->wavename;
+    int frames;
+    t_garray *a;
+    
+    x->b_frames = 0;
+    x->b_nchans = 1;
+    // open array
+    if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+        if (*wavename->s_name) pd_error(x, "function~: %s: no such array", wavename->s_name);
+    }
+    else if (!garray_getfloatwords(a, &frames, &x->b_samples)) {
+        pd_error(x, "%s: bad template for function~", wavename->s_name);
+    }
+    else  {
+        x->b_frames = frames;
+        garray_usedindsp(a);
+    }
+    b_frames = x->b_frames;
+    post("rcos generating %d frames", b_frames); // correct
+    // put samples into array
+    for(i=0;i<b_frames;i++){
+        x->b_samples[i].w_float = (t_float) (0.5 - 0.5 * cos(TWOPI * (t_float)i/(t_float)b_frames));
+    }
+    if (!(a = (t_garray *)pd_findbyclass(x->wavename, garray_class))) {
+        if (*x->wavename->s_name) pd_error(x, "function~: %s: no such array", x->wavename->s_name);
+    }
+    else  {
+        garray_redraw(a);
+    }
+    // printed samples are correct
+    for(i=0;i<b_frames;i++){
+        post("%f", x->b_samples[i].w_float);
+    }
+}
+*/
+void function_print(t_function *x)
+{
+    int frames;
+    t_garray *a;
+    int i;
+    x->b_frames = 0;
+    x->b_nchans = 1;
+    if (!(a = (t_garray *)pd_findbyclass(x->wavename, garray_class))) {
+        if (*x->wavename->s_name) pd_error(x, "function~: %s: no such array", x->wavename->s_name);
+    }
+    else if (!garray_getfloatwords(a, &frames, &x->b_samples)) {
+        pd_error(x, "%s: bad template for function~", x->wavename->s_name);
+    }
+    else  {
+        x->b_frames = frames;
+        garray_usedindsp(a);
+        for(i = 0; i < frames; i++){
+            post("%d: %f",i, x->b_samples[i].w_float);
+        }
+    }
+}
+
+
+void function_gaussian(t_function *x)
+{
+    int i;
+    long b_frames;
+    t_word *b_samples;
+    t_float arg, xarg,in;
+    
+    if(!b_frames){
+        post("* zero length function!");
+        return;
+    }
+    function_setbuf(x, x->wavename);
+    b_frames = x->b_frames;
+    b_samples = x->b_samples;
+    arg = 12.0 / (t_float)b_frames;
+    xarg = 1.0;
+    in = -6.0;
+    
+    for(i=0;i<b_frames;i++){
+        b_samples[i].w_float = xarg * pow(2.71828, -(in*in)/2.0);
+        in += arg;
+    }
+    function_redraw(x);
+}
+
+void function_normalize(t_function *x, t_floatarg f)
+{
+    x->normalize = (short)f;
+}
+
+void function_clear(t_function *x)
+{
+    int i;
+    long b_frames = x->b_frames;
+    t_word *b_samples = x->b_samples;
+    
+    function_setbuf(x, x->wavename);
+    b_frames = x->b_frames;
+    b_samples = x->b_samples;
+    for(i=0;i<b_frames;i++)
+        b_samples[i].w_float = 0.0;
+    function_redraw(x);
+}
+
+void function_adrenv(t_function *x, t_symbol *msg, int argc, t_atom *argv)
+{
+    int i,j;
+    int al, dl, sl, rl;
+    long b_frames = x->b_frames;
+    t_word *b_samples = x->b_samples;
+    t_float downgain = 0.33;
+    
+    function_setbuf(x, x->wavename);
+    al = (t_float) b_frames * atom_getfloatarg(0,argc,argv);
+    dl = (t_float) b_frames * atom_getfloatarg(1,argc,argv);
+    rl = (t_float) b_frames * atom_getfloatarg(2,argc,argv);
+    downgain = atom_getfloatarg(3,argc,argv);
+    if(downgain <= 0)
+        downgain = 0.333;
+    if(al+dl+rl >= b_frames){
+        post("atk and dk and release are too long");
+        return;
+    }
+    sl = b_frames - (al+dl+rl);
+    
+    for(i=0;i<al;i++){
+        b_samples[i].w_float = (t_float)i/(t_float)al;
+    }
+    for(i=al, j=dl;i<al+dl;i++,j--){
+        b_samples[i].w_float = downgain + (1.-downgain)*(t_float)j/(t_float)dl;
+    }
+    for(i=al+dl;i<al+dl+sl;i++){
+        b_samples[i].w_float = downgain;
+    }
+    for(i=al+dl+sl,j=rl;i<b_frames;i++,j--){
+        b_samples[i].w_float = downgain * (t_float)j/(t_float)rl;
+    }
+    function_redraw(x);
+}
+
+void function_adenv(t_function *x, t_symbol *msg, int argc, t_atom *argv)
+{
+    int i,j;
+    int al, dl, rl;
+    long b_frames = x->b_frames;
+    t_word *b_samples = x->b_samples;
+    t_float downgain = 0.33;
+    
+    function_setbuf(x, x->wavename);
+    al = (t_float) b_frames * atom_getfloatarg(0,argc,argv);
+    dl = (t_float) b_frames * atom_getfloatarg(1,argc,argv);
+    downgain = atom_getfloatarg(2,argc,argv);
+    if(downgain <= 0)
+        downgain = 0.333;
+    if(al+dl >= b_frames){
+        post("atk and dk are too long");
+        return;
+    }
+    rl = b_frames - (al+dl);
+    
+    for(i=0;i<al;i++){
+        b_samples[i].w_float = (t_float)i/(t_float)al;
+    }
+    for(i=al, j=dl;i<al+dl;i++,j--){
+        b_samples[i].w_float = downgain + (1.-downgain)*(t_float)j/(t_float)dl;
+    }
+    for(i=al+dl,j=rl;i<b_frames;i++,j--){
+        b_samples[i].w_float = downgain * (t_float)j/(t_float)rl;
+    }
+    function_redraw(x);
+}
+
+void function_aenv(t_function *x, t_symbol *msg, int argc, t_atom *argv)
+{
+    int i,j;
+    int al, dl;
+    long b_frames = x->b_frames;
+    t_word *b_samples = x->b_samples;
+    t_float frac;
+    frac = atom_getfloatarg(0,argc,argv);
+    
+    function_setbuf(x, x->wavename);
+    if(frac <= 0 || frac >= 1){
+        post("* attack time must range from 0.0 - 1.0, rather than %f",frac);
+    }
+    
+    al = b_frames * frac;
+    
+    dl = b_frames - al;
+    for(i=0;i<al;i++){
+        b_samples[i].w_float = (t_float)i/(t_float)al;
+    }
+    for(i=al, j=dl;i<b_frames;i++,j--){
+        b_samples[i].w_float = (t_float)j/(t_float)dl;
+    }
+    function_redraw(x);
+}
+
+void function_addsyn(t_function *x, t_symbol *msg, int argc, t_atom *argv)
+{
+    int i,j;
+    long b_frames;
+    t_word *b_samples;
+    t_float amp;
+    t_float maxamp, rescale;
+    t_float theSample;
+    
+    /* for(i = 0; i < argc; i++){
+        post("argument %d: %f",i, atom_getfloatarg(i,argc,argv));
+    }*/
+    
+    function_setbuf(x, x->wavename);
+    b_samples = x->b_samples;
+    b_frames = x->b_frames;
+    amp = atom_getfloatarg(0,argc,argv);
+    // post("harmonic: 0, weight: %.12f", (float)amp);
+    for(i=0;i<b_frames;i++){
+        b_samples[i].w_float = amp;
+    }
+    for(j=1;j<argc;j++){
+        amp = atom_getfloatarg(j,argc,argv);
+        if(amp){
+           // post("harmonic: %d, weight: %.12f", j, (t_float)amp);
+            for(i=0;i<b_frames;i++){
+                theSample = amp * sin(TWOPI * (t_float) j * (t_float)i/(t_float)b_frames);
+                b_samples[i].w_float += theSample;
+               // post("%d: %f", i, (t_float)b_samples[i].w_float);
+            }
+        }
+    }
+    
+    if(x->normalize){
+        maxamp = 0;
+        for(i=0;i<b_frames;i++){
+            if(maxamp < fabs(b_samples[i].w_float))
+                maxamp = fabs(b_samples[i].w_float);
+        }
+        if(!maxamp){
+            post("* zero maxamp!");
+            return;
+        }
+        rescale = 1.0 / maxamp;
+        for(i=0;i<b_frames;i++){
+            b_samples[i].w_float *= rescale;
+        }
+    }
+    
+    /*
+    for(i=0;i<b_frames;i++){
+        post("%f", x->b_samples[i].w_float);
+    }
+    */
+    function_redraw(x);
+}
+
+
+void *function_new(t_symbol *msg, int argc, t_atom *argv)
+{
+    
+    t_function *x = (t_function *)pd_new(function_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->wavename = atom_getsymbolarg(0,argc,argv);
+    x->normalize = 1;
+//    post("float size: %d, t_float size: %d, t_word size %d", sizeof(float), sizeof(t_float), sizeof(t_word));
+//    post("latest version");
+    return x;
+}
+
+void function_setbuf(t_function *x, t_symbol *wavename)
+{
+    int frames;
+    t_garray *a;
+    
+    x->b_frames = 0;
+    x->b_nchans = 1;
+    if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+        if (*wavename->s_name) pd_error(x, "function~: %s: no such array", wavename->s_name);
+    }
+    else if (!garray_getfloatwords(a, &frames, &x->b_samples)) {
+        pd_error(x, "%s: bad template for function~", wavename->s_name);
+    }
+    else  {
+        x->b_frames = frames;
+        garray_usedindsp(a);
+        // post("%d frames in buffer", x->b_frames);
+    }
+}
+
+void function_redraw(t_function *x)
+{
+    t_garray *a;
+    if (!(a = (t_garray *)pd_findbyclass(x->wavename, garray_class))) {
+        if (*x->wavename->s_name) pd_error(x, "function~: %s: no such array", x->wavename->s_name);
+    }
+    else  {
+        garray_redraw(a);
+    }
+}
+
+
+
+void function_dsp(t_function *x, t_signal **sp)
+{
+}
+
diff --git a/externals/lyonpotpourri/granola~-help.pd b/externals/lyonpotpourri/granola~-help.pd
new file mode 100755
index 000000000..ede6eb0be
--- /dev/null
+++ b/externals/lyonpotpourri/granola~-help.pd
@@ -0,0 +1,40 @@
+#N canvas 316 98 349 304 10;
+#X obj 96 238 dac~;
+#X obj 96 83 phasor~ 450;
+#X floatatom 186 105 5 0 0 2 - g-transpose -, f 5;
+#X obj 96 212 *~ 0.05;
+#X obj 189 83 hsl 128 15 0.1 3 0 0 g-transpose granola-transpose-in
+transpose_factor -2 -6 0 10 -4075 -1 -1 3941 1;
+#X obj 25 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 25 111 mute \$1;
+#X obj 145 178 hsl 90 12 0 0.1 0 0 empty granola-gain-in gain -2 -8
+0 10 -212981 -1 -1 4450 1;
+#X floatatom 142 192 5 0 0 0 - - -, f 5;
+#X obj 23 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 96 142 granola~ 100;
+#X obj 96 114 killdc~;
+#N canvas 235 115 191 186 initialize 0;
+#X msg 3 111 1;
+#X obj 3 88 loadbang;
+#X obj 3 133 s granola-transpose-in;
+#X obj 3 63 s granola-gain-in;
+#X obj 3 18 loadbang;
+#X msg 3 41 0.05;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 135 238 pd initialize;
+#X text 24 42 granola~ - a granular pitch transposer;
+#X connect 1 0 11 0;
+#X connect 2 0 10 1;
+#X connect 3 0 0 0;
+#X connect 3 0 0 1;
+#X connect 5 0 6 0;
+#X connect 6 0 10 0;
+#X connect 7 0 8 0;
+#X connect 8 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 0 10 0;
diff --git a/externals/lyonpotpourri/granola~.c b/externals/lyonpotpourri/granola~.c
new file mode 100755
index 000000000..adb6735b3
--- /dev/null
+++ b/externals/lyonpotpourri/granola~.c
@@ -0,0 +1,330 @@
+#include "MSPd.h"
+
+
+static t_class *granola_class;
+
+#define OBJECT_NAME "granola~"
+
+typedef struct _granola
+{
+    
+    t_object x_obj;
+    float x_f;
+    float *gbuf;
+    long grainsamps;
+    long buflen ; // length of buffer
+    int maxgrainsamps; // set maximum delay in ms.
+    float grain_duration; // user grain duration in seconds
+    float sr;
+    float *grainenv;
+    long gpt1; // grain pointer 1
+    long gpt2; // grain pointer 2
+    long gpt3; // grain pointer 3
+    float phs1; // phase 1
+    float phs2; // phase 2
+    float phs3; // phase 3
+    float incr;
+    long curdel;
+    short mute_me;
+    short iconnect;
+    
+} t_granola;
+
+
+
+void *granola_new(t_floatarg val);
+t_int *offset_perform(t_int *w);
+t_int *granola_perform(t_int *w);
+void granola_dsp(t_granola *x, t_signal **sp);
+void granola_mute(t_granola *x, t_floatarg toggle);
+void granola_float(t_granola *x, double f ) ;
+void granola_dsp_free(t_granola *x);
+void granola_size(t_granola *x, t_floatarg newsize);
+void granola_clear(t_granola *x);
+void granola_init(t_granola *x);
+
+void granola_tilde_setup(void){
+    granola_class = class_new(gensym("granola~"), (t_newmethod)granola_new,
+                              (t_method)granola_dsp_free ,sizeof(t_granola), 0,A_FLOAT,0);
+    CLASS_MAINSIGNALIN(granola_class, t_granola, x_f);
+    class_addmethod(granola_class,(t_method)granola_dsp,gensym("dsp"),0);
+    class_addmethod(granola_class,(t_method)granola_clear,gensym("clear"),0);
+    class_addmethod(granola_class,(t_method)granola_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(granola_class,(t_method)granola_size,gensym("size"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void granola_float(t_granola *x, double f) {
+    x->incr = f;
+}
+
+void granola_dsp_free(t_granola *x)
+{
+    
+    free(x->gbuf);
+    free(x->grainenv);
+}
+
+
+void granola_mute(t_granola *x, t_floatarg toggle)
+{
+    x->mute_me = (short)toggle;
+}
+
+void granola_clear(t_granola *x) {
+	memset((char *)x->gbuf, 0, x->buflen);
+}
+
+void granola_size(t_granola *x, t_floatarg newsize) {
+	int newsamps, i;
+	newsamps = newsize * 0.001 * sys_getsr();
+	if( newsamps >= x->maxgrainsamps ){
+		error("granola~: specified size over preset maximum, no action taken");
+		return;
+	}
+	if( newsamps < 8 ){
+		error("granola~: grainsize too small");
+		return;
+	}
+	x->grainsamps = newsamps; // will use for shrinkage
+	x->buflen = x->grainsamps * 4;
+	for(i = 0; i < x->grainsamps; i++ ){
+		x->grainenv[i] = .5 + (-.5 * cos( TWOPI * ((float)i/(float)x->grainsamps) ) );
+	}
+	x->gpt1 = 0;
+	x->gpt2 = x->grainsamps / 3.;
+	x->gpt3 = 2. * x->grainsamps / 3.;
+	x->phs1 = 0;
+	x->phs2 = x->grainsamps / 3. ;
+	x->phs3 = 2. * x->grainsamps / 3. ;
+	x->curdel = 0;
+}
+
+void *granola_new(t_floatarg val)
+{
+    
+    t_granola *x = (t_granola *)pd_new(granola_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+    // INITIALIZATIONS
+	x->sr = sys_getsr();
+	x->grain_duration = val * 0.001; // convert to seconds
+	x->gbuf = NULL;
+	x->grainenv = NULL;
+	
+	granola_init(x);
+    return x;
+    /*
+     
+     
+    if( val > 0 ) {
+        x->grainsamps = val;
+        //    post( "grainsize set to %.0f", val );
+    } else {
+        x->grainsamps = 2048;
+        // post( "grainsize defaults to %d, val was %.0f", x->grainsamps, val );
+        
+    }
+    x->buflen = x->grainsamps * 4;
+    x->gbuf = (float *) calloc( x->buflen, sizeof(float) ) ;
+    x->grainenv = (float *) calloc( x->grainsamps, sizeof(float) );
+    for(i = 0; i < x->grainsamps; i++ ){
+        x->grainenv[i] = .5 + (-.5 * cos( TWOPI * ((float)i/(float)x->grainsamps) ) );
+    }
+    x->gpt1 = 0;
+    x->gpt2 = x->grainsamps / 3.;
+    x->gpt3 = 2. * x->grainsamps / 3.;
+    x->phs1 = 0;
+    x->phs2 = x->grainsamps / 3. ;
+    x->phs3 = 2. * x->grainsamps / 3. ;
+    x->incr = .5 ;
+    x->curdel = 0;
+    x->mute_me = 0;
+    
+    return (x);
+    */
+}
+
+void granola_init(t_granola *x)
+{
+	int i;
+	if(x->sr == 0){
+		post("granola~: dodging zero sampling rate!");
+		return;
+	}
+	x->grainsamps = x->grain_duration * x->sr;
+	if(x->grainsamps <= 5 || x->grainsamps > 4410000) {
+		x->grainsamps = 2048;
+		post( "granola~: grainsize autoset to %d samples, rather than user-specified length %.0f", x->grainsamps, x->grain_duration * x->sr);
+	}
+	x->maxgrainsamps = x->grainsamps; // will use for shrinkage
+	x->buflen = x->grainsamps * 4;
+	// first time only
+	if(x->gbuf == NULL){
+		x->gbuf = (float *) calloc(x->buflen, sizeof(float));
+		x->grainenv = (float *) calloc(x->grainsamps, sizeof(float));
+		x->incr = .5;
+		x->mute_me = 0;
+	}
+	// or realloc if necessary
+	else {
+		x->gbuf = (float *) realloc(x->gbuf, x->buflen * sizeof(float));
+		x->grainenv = (float *) realloc(x->grainenv, x->grainsamps * sizeof(float));
+	}
+	for(i = 0; i < x->grainsamps; i++ ){
+		x->grainenv[i] = .5 + (-.5 * cos(TWOPI * ((float)i/(float)x->grainsamps)));
+	}
+	x->gpt1 = 0;
+	x->gpt2 = x->grainsamps / 3.;
+	x->gpt3 = 2. * x->grainsamps / 3.;
+	x->phs1 = 0;
+	x->phs2 = x->grainsamps / 3. ;
+	x->phs3 = 2. * x->grainsamps / 3. ;
+	x->curdel = 0;
+}
+
+
+t_int *granola_perform(t_int *w)
+{
+	float  outsamp ;
+	int iphs_a, iphs_b;
+	float frac;
+    
+	
+	/****/
+	t_granola *x = (t_granola *) (w[1]);
+	t_float *in = (t_float *)(w[2]);
+	t_float *increment = (t_float *)(w[3]);
+	t_float *out = (t_float *)(w[4]);
+	int n = (int)(w[5]);
+	
+	long gpt1 = x->gpt1;
+	long gpt2 = x->gpt2;
+	long gpt3 = x->gpt3;
+	float phs1 = x->phs1;
+	float phs2 = x->phs2;
+	float phs3 = x->phs3;
+	long curdel = x->curdel;
+	long buflen = x->buflen;
+	long grainsamps = x->grainsamps;
+	float *grainenv = x->grainenv;
+	float *gbuf = x->gbuf;
+	float incr = x->incr;
+	
+	if( x->mute_me ) {
+		while( n-- ){
+			*out++ = 0.0;
+		}
+		return (w+6);
+	}
+	
+	while (n--) {
+        
+		x->incr = *increment++;
+        
+		if( x->incr <= 0. ) {
+			x->incr = .5 ;
+		}
+		
+		if( curdel >= buflen ){
+			curdel = 0 ;
+		}
+		gbuf[ curdel ] = *in++;
+    	
+		// grain 1
+		iphs_a = floor( phs1 );
+		iphs_b = iphs_a + 1;
+		
+		frac = phs1 - iphs_a;
+		while( iphs_a >= buflen ) {
+			iphs_a -= buflen;
+		}
+		while( iphs_b >= buflen ) {
+			iphs_b -= buflen;
+		}
+		outsamp = (gbuf[ iphs_a ] + frac * ( gbuf[ iphs_b ] - gbuf[ iphs_a ])) * grainenv[ gpt1++ ];
+        
+		if( gpt1 >= grainsamps ) {
+			
+			gpt1 = 0;
+			phs1 = curdel;
+		}
+		phs1 += incr;
+		while( phs1 >= buflen ) {
+			phs1 -= buflen;
+		}
+		
+		// now add second grain
+		
+		
+		iphs_a = floor( phs2 );
+		
+		iphs_b = iphs_a + 1;
+		
+		frac = phs2 - iphs_a;
+        
+		
+		while( iphs_a >= buflen ) {
+			iphs_a -= buflen;
+		}
+		while( iphs_b >= buflen ) {
+			iphs_b -= buflen;
+		}
+		outsamp += (gbuf[ iphs_a ] + frac * ( gbuf[ iphs_b ] - gbuf[ iphs_a ])) * grainenv[ gpt2++ ];
+		if( gpt2 >= grainsamps ) {
+			gpt2 = 0;
+			phs2 = curdel ;
+		}
+		phs2 += incr ;
+		while( phs2 >= buflen ) {
+			phs2 -= buflen ;
+		}
+		
+		// now add third grain
+		
+		iphs_a = floor( phs3 );
+		iphs_b = iphs_a + 1;
+		
+		frac = phs3 - iphs_a;
+        
+		while( iphs_a >= buflen ) {
+			iphs_a -= buflen;
+		}
+		while( iphs_b >= buflen ) {
+			iphs_b -= buflen;
+		}
+		outsamp += (gbuf[ iphs_a ] + frac * ( gbuf[ iphs_b ] - gbuf[ iphs_a ])) * grainenv[ gpt3++ ];
+		if( gpt3 >= grainsamps ) {
+			gpt3 = 0;
+			phs3 = curdel ;
+		}
+		phs3 += incr ;
+		while( phs3 >= buflen ) {
+			phs3 -= buflen ;
+		}
+		
+		
+		++curdel;
+		
+		*out++ = outsamp;
+		/* output may well need to attenuated */
+	}
+	x->phs1 = phs1;
+	x->phs2 = phs2;
+	x->phs3 = phs3;
+	x->gpt1 = gpt1;
+	x->gpt2 = gpt2;
+	x->gpt3 = gpt3;
+	x->curdel = curdel;
+	return (w+6);
+	
+}		
+
+void granola_dsp(t_granola *x, t_signal **sp)
+{
+    
+    dsp_add(granola_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,  sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/granulesf~-help.pd b/externals/lyonpotpourri/granulesf~-help.pd
new file mode 100755
index 000000000..cf122987f
--- /dev/null
+++ b/externals/lyonpotpourri/granulesf~-help.pd
@@ -0,0 +1,4519 @@
+#N canvas 660 123 698 511 10;
+#X obj 25 302 granulesf~ gsf_wavetable gsf_window;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array gsf_window 32768 float 3;
+#A 0 0 9.19179e-09 3.67671e-08 8.27261e-08 1.47069e-07 2.29795e-07
+3.30904e-07 4.50397e-07 5.88274e-07 7.44534e-07 9.19178e-07 1.11221e-06
+1.32362e-06 1.55341e-06 1.80159e-06 2.06815e-06 2.3531e-06 2.65642e-06
+2.97814e-06 3.31823e-06 3.67671e-06 4.05357e-06 4.44882e-06 4.86245e-06
+5.29446e-06 5.74485e-06 6.21363e-06 6.7008e-06 7.20634e-06 7.73027e-06
+8.27258e-06 8.83328e-06 9.41236e-06 1.00098e-05 1.06257e-05 1.12599e-05
+1.19125e-05 1.25835e-05 1.32729e-05 1.39806e-05 1.47068e-05 1.54513e-05
+1.62142e-05 1.69955e-05 1.77952e-05 1.86132e-05 1.94497e-05 2.03045e-05
+2.11777e-05 2.20693e-05 2.29793e-05 2.39076e-05 2.48544e-05 2.58195e-05
+2.6803e-05 2.78049e-05 2.88252e-05 2.98638e-05 3.09208e-05 3.19963e-05
+3.30901e-05 3.42022e-05 3.53328e-05 3.64818e-05 3.76491e-05 3.88348e-05
+4.00389e-05 4.12614e-05 4.25022e-05 4.37615e-05 4.50391e-05 4.63351e-05
+4.76495e-05 4.89822e-05 5.03334e-05 5.17029e-05 5.30908e-05 5.44971e-05
+5.59218e-05 5.73648e-05 5.88263e-05 6.03061e-05 6.18043e-05 6.33209e-05
+6.48558e-05 6.64092e-05 6.79809e-05 6.9571e-05 7.11795e-05 7.28064e-05
+7.44516e-05 7.61152e-05 7.77973e-05 7.94976e-05 8.12164e-05 8.29536e-05
+8.47091e-05 8.6483e-05 8.82753e-05 9.0086e-05 9.1915e-05 9.37625e-05
+9.56283e-05 9.75125e-05 9.94151e-05 0.000101336 0.000103275 0.000105233
+0.000107209 0.000109204 0.000111216 0.000113248 0.000115297 0.000117365
+0.000119452 0.000121556 0.00012368 0.000125821 0.000127981 0.000130159
+0.000132356 0.000134571 0.000136804 0.000139056 0.000141326 0.000143615
+0.000145922 0.000148247 0.000150591 0.000152953 0.000155333 0.000157732
+0.000160149 0.000162585 0.000165039 0.000167511 0.000170002 0.000172511
+0.000175038 0.000177584 0.000180148 0.000182731 0.000185332 0.000187951
+0.000190589 0.000193245 0.000195919 0.000198612 0.000201323 0.000204053
+0.000206801 0.000209567 0.000212352 0.000215155 0.000217977 0.000220816
+0.000223675 0.000226551 0.000229446 0.00023236 0.000235291 0.000238241
+0.00024121 0.000244197 0.000247202 0.000250225 0.000253267 0.000256328
+0.000259407 0.000262504 0.000265619 0.000268753 0.000271905 0.000275076
+0.000278265 0.000281472 0.000284698 0.000287942 0.000291204 0.000294485
+0.000297784 0.000301102 0.000304438 0.000307792 0.000311165 0.000314556
+0.000317965 0.000321393 0.000324839 0.000328304 0.000331787 0.000335288
+0.000338808 0.000342346 0.000345902 0.000349477 0.00035307 0.000356682
+0.000360311 0.00036396 0.000367626 0.000371311 0.000375015 0.000378736
+0.000382477 0.000386235 0.000390012 0.000393807 0.000397621 0.000401453
+0.000405303 0.000409172 0.000413059 0.000416964 0.000420888 0.00042483
+0.000428791 0.00043277 0.000436767 0.000440782 0.000444816 0.000448869
+0.00045294 0.000457029 0.000461136 0.000465262 0.000469406 0.000473569
+0.00047775 0.000481949 0.000486167 0.000490403 0.000494657 0.00049893
+0.000503221 0.00050753 0.000511858 0.000516205 0.000520569 0.000524952
+0.000529353 0.000533773 0.000538211 0.000542668 0.000547142 0.000551635
+0.000556147 0.000560677 0.000565225 0.000569792 0.000574377 0.00057898
+0.000583602 0.000588242 0.0005929 0.000597577 0.000602272 0.000606985
+0.000611717 0.000616467 0.000621236 0.000626023 0.000630828 0.000635652
+0.000640494 0.000645354 0.000650233 0.00065513 0.000660046 0.000664979
+0.000669931 0.000674902 0.000679891 0.000684898 0.000689924 0.000694968
+0.00070003 0.000705111 0.00071021 0.000715327 0.000720463 0.000725617
+0.000730789 0.00073598 0.000741189 0.000746417 0.000751663 0.000756927
+0.00076221 0.000767511 0.00077283 0.000778168 0.000783524 0.000788898
+0.000794291 0.000799702 0.000805131 0.000810579 0.000816045 0.00082153
+0.000827033 0.000832554 0.000838093 0.000843651 0.000849228 0.000854822
+0.000860435 0.000866066 0.000871716 0.000877384 0.000883071 0.000888775
+0.000894498 0.00090024 0.000906 0.000911778 0.000917574 0.000923389
+0.000929222 0.000935074 0.000940944 0.000946832 0.000952738 0.000958663
+0.000964607 0.000970568 0.000976548 0.000982546 0.000988563 0.000994598
+0.00100065 0.00100672 0.00101281 0.00101892 0.00102505 0.00103119 0.00103736
+0.00104354 0.00104974 0.00105596 0.00106219 0.00106845 0.00107472 0.00108101
+0.00108732 0.00109365 0.0011 0.00110637 0.00111275 0.00111915 0.00112557
+0.00113201 0.00113847 0.00114494 0.00115144 0.00115795 0.00116448 0.00117103
+0.00117759 0.00118418 0.00119078 0.0011974 0.00120404 0.0012107 0.00121738
+0.00122408 0.00123079 0.00123752 0.00124427 0.00125104 0.00125783 0.00126463
+0.00127146 0.0012783 0.00128516 0.00129204 0.00129894 0.00130585 0.00131278
+0.00131974 0.00132671 0.0013337 0.0013407 0.00134773 0.00135477 0.00136183
+0.00136891 0.00137601 0.00138313 0.00139027 0.00139742 0.00140459 0.00141178
+0.00141899 0.00142622 0.00143346 0.00144073 0.00144801 0.00145531 0.00146263
+0.00146996 0.00147732 0.00148469 0.00149209 0.0014995 0.00150693 0.00151437
+0.00152184 0.00152932 0.00153682 0.00154434 0.00155188 0.00155944 0.00156701
+0.00157461 0.00158222 0.00158985 0.0015975 0.00160517 0.00161285 0.00162055
+0.00162828 0.00163602 0.00164378 0.00165155 0.00165935 0.00166716 0.00167499
+0.00168284 0.00169071 0.0016986 0.0017065 0.00171443 0.00172237 0.00173033
+0.00173831 0.0017463 0.00175432 0.00176235 0.0017704 0.00177847 0.00178656
+0.00179467 0.00180279 0.00181094 0.0018191 0.00182728 0.00183548 0.00184369
+0.00185193 0.00186018 0.00186845 0.00187674 0.00188505 0.00189338 0.00190172
+0.00191009 0.00191847 0.00192687 0.00193528 0.00194372 0.00195218 0.00196065
+0.00196914 0.00197765 0.00198618 0.00199472 0.00200329 0.00201187 0.00202047
+0.00202909 0.00203773 0.00204639 0.00205506 0.00206375 0.00207246 0.00208119
+0.00208994 0.00209871 0.00210749 0.00211629 0.00212511 0.00213395 0.00214281
+0.00215169 0.00216058 0.00216949 0.00217842 0.00218737 0.00219634 0.00220532
+0.00221433 0.00222335 0.00223239 0.00224145 0.00225053 0.00225962 0.00226874
+0.00227787 0.00228702 0.00229619 0.00230537 0.00231458 0.0023238 0.00233304
+0.0023423 0.00235158 0.00236088 0.00237019 0.00237953 0.00238888 0.00239825
+0.00240764 0.00241704 0.00242647 0.00243591 0.00244537 0.00245485 0.00246435
+0.00247387 0.0024834 0.00249295 0.00250252 0.00251211 0.00252172 0.00253135
+0.00254099 0.00255065 0.00256033 0.00257003 0.00257975 0.00258949 0.00259924
+0.00260901 0.0026188 0.00262861 0.00263844 0.00264828 0.00265815 0.00266803
+0.00267793 0.00268785 0.00269779 0.00270774 0.00271771 0.00272771 0.00273772
+0.00274774 0.00275779 0.00276786 0.00277794 0.00278804 0.00279816 0.0028083
+0.00281845 0.00282863 0.00283882 0.00284903 0.00285926 0.00286951 0.00287978
+0.00289006 0.00290036 0.00291068 0.00292102 0.00293138 0.00294175 0.00295215
+0.00296256 0.00297299 0.00298344 0.00299391 0.00300439 0.00301489 0.00302542
+0.00303596 0.00304651 0.00305709 0.00306769 0.0030783 0.00308893 0.00309958
+0.00311025 0.00312093 0.00313164 0.00314236 0.0031531 0.00316386 0.00317464
+0.00318544 0.00319625 0.00320708 0.00321793 0.0032288 0.00323969 0.00325059
+0.00326152 0.00327246 0.00328342 0.0032944 0.00330539 0.00331641 0.00332744
+0.00333849 0.00334956 0.00336065 0.00337176 0.00338288 0.00339403 0.00340519
+0.00341637 0.00342756 0.00343878 0.00345001 0.00346127 0.00347254 0.00348382
+0.00349513 0.00350646 0.0035178 0.00352916 0.00354054 0.00355194 0.00356336
+0.00357479 0.00358625 0.00359772 0.00360921 0.00362071 0.00363224 0.00364379
+0.00365535 0.00366693 0.00367853 0.00369015 0.00370178 0.00371343 0.00372511
+0.0037368 0.00374851 0.00376023 0.00377198 0.00378374 0.00379552 0.00380732
+0.00381914 0.00383098 0.00384283 0.0038547 0.0038666 0.0038785 0.00389043
+0.00390238 0.00391434 0.00392632 0.00393832 0.00395034 0.00396238 0.00397444
+0.00398651 0.0039986 0.00401071 0.00402284 0.00403499 0.00404715 0.00405933
+0.00407153 0.00408375 0.00409599 0.00410825 0.00412052 0.00413281 0.00414512
+0.00415745 0.0041698 0.00418216 0.00419455 0.00420695 0.00421937 0.00423181
+0.00424426 0.00425674 0.00426923 0.00428174 0.00429427 0.00430682 0.00431938
+0.00433197 0.00434457 0.00435719 0.00436983 0.00438249 0.00439516 0.00440785
+0.00442057 0.0044333 0.00444604 0.00445881 0.00447159 0.0044844 0.00449722
+0.00451006 0.00452291 0.00453579 0.00454868 0.00456159 0.00457452 0.00458747
+0.00460044 0.00461342 0.00462643 0.00463945 0.00465249 0.00466554 0.00467862
+0.00469171 0.00470483 0.00471796 0.00473111 0.00474427 0.00475746 0.00477066
+0.00478388 0.00479712 0.00481038 0.00482366 0.00483695 0.00485026 0.00486359
+0.00487694 0.00489031 0.0049037 0.0049171 0.00493052 0.00494396 0.00495742
+0.00497089 0.00498439 0.0049979 0.00501143 0.00502498 0.00503855 0.00505214
+0.00506574 0.00507936 0.005093 0.00510666 0.00512034 0.00513403 0.00514774
+0.00516147 0.00517522 0.00518899 0.00520278 0.00521658 0.0052304 0.00524424
+0.0052581 0.00527198 0.00528587 0.00529979 0.00531372 0.00532767 0.00534163
+0.00535562 0.00536962 0.00538365 0.00539769 0.00541175 0.00542582 0.00543992
+0.00545403 0.00546816 0.00548231 0.00549648 0.00551066 0.00552487 0.00553909
+0.00555333 0.00556759 0.00558187 0.00559616 0.00561047 0.0056248 0.00563915
+0.00565352 0.00566791 0.00568231 0.00569673 0.00571117 0.00572563 0.00574011
+0.0057546 0.00576912 0.00578365 0.0057982 0.00581276 0.00582735 0.00584195
+0.00585658 0.00587122 0.00588587 0.00590055 0.00591525 0.00592996 0.00594469
+0.00595944 0.00597421 0.00598899 0.0060038 0.00601862 0.00603346 0.00604832
+0.00606319 0.00607809 0.006093 0.00610793 0.00612288 0.00613785 0.00615283
+0.00616783 0.00618286 0.0061979 0.00621295 0.00622803 0.00624312 0.00625824
+0.00627337 0.00628851 0.00630368 0.00631887 0.00633407 0.00634929 0.00636453
+0.00637979 0.00639506 0.00641036 0.00642567 0.006441 0.00645635 0.00647171
+0.0064871 0.0065025 0.00651792 0.00653336 0.00654882 0.00656429 0.00657979
+0.0065953 0.00661083 0.00662638 0.00664194 0.00665753 0.00667313 0.00668875
+0.00670439 0.00672004 0.00673572 0.00675141 0.00676712 0.00678285 0.0067986
+0.00681437 0.00683015 0.00684595 0.00686177 0.00687761 0.00689347 0.00690934
+0.00692523 0.00694114 0.00695707 0.00697302 0.00698898 0.00700497 0.00702097
+0.00703699 0.00705302 0.00706908 0.00708515 0.00710125 0.00711736 0.00713348
+0.00714963 0.00716579 0.00718198 0.00719818 0.0072144 0.00723063 0.00724689
+0.00726316 0.00727945 0.00729576 0.00731209 0.00732843 0.0073448 0.00736118
+0.00737758 0.007394 0.00741043 0.00742689 0.00744336 0.00745985 0.00747636
+0.00749288 0.00750943 0.00752599 0.00754257 0.00755917 0.00757579 0.00759242
+0.00760908 0.00762575 0.00764244 0.00765915 0.00767587 0.00769262 0.00770938
+0.00772616 0.00774296 0.00775977 0.00777661 0.00779346 0.00781033 0.00782722
+0.00784412 0.00786105 0.00787799 0.00789495 0.00791193 0.00792893 0.00794595
+0.00796298 0.00798003 0.0079971 0.00801419 0.00803129 0.00804842 0.00806556
+0.00808272 0.0080999 0.00811709 0.00813431 0.00815154 0.00816879 0.00818606
+0.00820335 0.00822065 0.00823797 0.00825531 0.00827267 0.00829005 0.00830744
+0.00832486 0.00834229 0.00835974 0.00837721 0.00839469 0.0084122 0.00842972
+0.00844726 0.00846481 0.00848239 0.00849998 0.0085176 0.00853523 0.00855287
+0.00857054 0.00858822 0.00860593 0.00862365 0.00864139 0.00865914 0.00867692
+0.00869471 0.00871252 0.00873035 0.0087482 0.00876606 0.00878394 0.00880184
+0.00881976 0.0088377 0.00885566 0.00887363 0.00889162 0.00890963 0.00892766
+0.0089457 0.00896377 0.00898185 0.00899995 0.00901807 0.0090362 0.00905436
+0.00907253 0.00909072 0.00910892 0.00912715 0.00914539;
+#A 1000 0.00916366 0.00918194 0.00920023 0.00921855 0.00923689 0.00925524
+0.00927361 0.009292 0.0093104 0.00932883 0.00934727 0.00936573 0.00938421
+0.00940271 0.00942122 0.00943975 0.0094583 0.00947687 0.00949546 0.00951406
+0.00953269 0.00955133 0.00956999 0.00958866 0.00960736 0.00962607 0.0096448
+0.00966355 0.00968232 0.00970111 0.00971991 0.00973873 0.00975757 0.00977643
+0.0097953 0.0098142 0.00983311 0.00985204 0.00987098 0.00988995 0.00990893
+0.00992793 0.00994695 0.00996599 0.00998505 0.0100041 0.0100232 0.0100423
+0.0100614 0.0100806 0.0100998 0.0101189 0.0101381 0.0101574 0.0101766
+0.0101958 0.0102151 0.0102344 0.0102537 0.010273 0.0102924 0.0103117
+0.0103311 0.0103505 0.0103699 0.0103894 0.0104088 0.0104283 0.0104478
+0.0104673 0.0104868 0.0105064 0.0105259 0.0105455 0.0105651 0.0105847
+0.0106043 0.010624 0.0106436 0.0106633 0.010683 0.0107028 0.0107225
+0.0107423 0.010762 0.0107818 0.0108016 0.0108215 0.0108413 0.0108612
+0.0108811 0.010901 0.0109209 0.0109408 0.0109608 0.0109808 0.0110007
+0.0110208 0.0110408 0.0110608 0.0110809 0.011101 0.0111211 0.0111412
+0.0111613 0.0111815 0.0112016 0.0112218 0.011242 0.0112623 0.0112825
+0.0113028 0.011323 0.0113433 0.0113637 0.011384 0.0114043 0.0114247
+0.0114451 0.0114655 0.0114859 0.0115064 0.0115268 0.0115473 0.0115678
+0.0115883 0.0116088 0.0116294 0.01165 0.0116705 0.0116911 0.0117118
+0.0117324 0.0117531 0.0117737 0.0117944 0.0118151 0.0118359 0.0118566
+0.0118774 0.0118982 0.011919 0.0119398 0.0119606 0.0119815 0.0120023
+0.0120232 0.0120441 0.0120651 0.012086 0.012107 0.0121279 0.0121489
+0.0121699 0.012191 0.012212 0.0122331 0.0122542 0.0122753 0.0122964
+0.0123176 0.0123387 0.0123599 0.0123811 0.0124023 0.0124235 0.0124448
+0.012466 0.0124873 0.0125086 0.0125299 0.0125513 0.0125726 0.012594
+0.0126154 0.0126368 0.0126582 0.0126797 0.0127012 0.0127226 0.0127441
+0.0127657 0.0127872 0.0128087 0.0128303 0.0128519 0.0128735 0.0128951
+0.0129168 0.0129384 0.0129601 0.0129818 0.0130035 0.0130253 0.013047
+0.0130688 0.0130906 0.0131124 0.0131342 0.013156 0.0131779 0.0131998
+0.0132216 0.0132436 0.0132655 0.0132874 0.0133094 0.0133314 0.0133534
+0.0133754 0.0133974 0.0134195 0.0134416 0.0134636 0.0134858 0.0135079
+0.01353 0.0135522 0.0135744 0.0135966 0.0136188 0.013641 0.0136633
+0.0136855 0.0137078 0.0137301 0.0137524 0.0137748 0.0137971 0.0138195
+0.0138419 0.0138643 0.0138868 0.0139092 0.0139317 0.0139541 0.0139766
+0.0139992 0.0140217 0.0140443 0.0140668 0.0140894 0.014112 0.0141347
+0.0141573 0.01418 0.0142026 0.0142253 0.0142481 0.0142708 0.0142935
+0.0143163 0.0143391 0.0143619 0.0143847 0.0144076 0.0144304 0.0144533
+0.0144762 0.0144991 0.014522 0.014545 0.0145679 0.0145909 0.0146139
+0.0146369 0.01466 0.014683 0.0147061 0.0147292 0.0147523 0.0147754
+0.0147986 0.0148217 0.0148449 0.0148681 0.0148913 0.0149146 0.0149378
+0.0149611 0.0149844 0.0150077 0.015031 0.0150543 0.0150777 0.0151011
+0.0151245 0.0151479 0.0151713 0.0151948 0.0152182 0.0152417 0.0152652
+0.0152887 0.0153123 0.0153358 0.0153594 0.015383 0.0154066 0.0154302
+0.0154538 0.0154775 0.0155012 0.0155249 0.0155486 0.0155723 0.0155961
+0.0156198 0.0156436 0.0156674 0.0156913 0.0157151 0.015739 0.0157628
+0.0157867 0.0158106 0.0158346 0.0158585 0.0158825 0.0159064 0.0159304
+0.0159545 0.0159785 0.0160026 0.0160266 0.0160507 0.0160748 0.0160989
+0.0161231 0.0161472 0.0161714 0.0161956 0.0162198 0.0162441 0.0162683
+0.0162926 0.0163169 0.0163412 0.0163655 0.0163898 0.0164142 0.0164385
+0.0164629 0.0164873 0.0165118 0.0165362 0.0165607 0.0165851 0.0166096
+0.0166342 0.0166587 0.0166832 0.0167078 0.0167324 0.016757 0.0167816
+0.0168063 0.0168309 0.0168556 0.0168803 0.016905 0.0169297 0.0169545
+0.0169792 0.017004 0.0170288 0.0170536 0.0170785 0.0171033 0.0171282
+0.0171531 0.017178 0.0172029 0.0172278 0.0172528 0.0172778 0.0173028
+0.0173278 0.0173528 0.0173779 0.0174029 0.017428 0.0174531 0.0174782
+0.0175034 0.0175285 0.0175537 0.0175789 0.0176041 0.0176293 0.0176546
+0.0176798 0.0177051 0.0177304 0.0177557 0.017781 0.0178064 0.0178318
+0.0178571 0.0178825 0.017908 0.0179334 0.0179589 0.0179843 0.0180098
+0.0180353 0.0180609 0.0180864 0.018112 0.0181375 0.0181631 0.0181888
+0.0182144 0.01824 0.0182657 0.0182914 0.0183171 0.0183428 0.0183686
+0.0183943 0.0184201 0.0184459 0.0184717 0.0184975 0.0185234 0.0185492
+0.0185751 0.018601 0.0186269 0.0186529 0.0186788 0.0187048 0.0187308
+0.0187568 0.0187828 0.0188088 0.0188349 0.018861 0.0188871 0.0189132
+0.0189393 0.0189654 0.0189916 0.0190178 0.019044 0.0190702 0.0190964
+0.0191227 0.019149 0.0191753 0.0192016 0.0192279 0.0192542 0.0192806
+0.019307 0.0193333 0.0193598 0.0193862 0.0194126 0.0194391 0.0194656
+0.0194921 0.0195186 0.0195451 0.0195717 0.0195983 0.0196248 0.0196514
+0.0196781 0.0197047 0.0197314 0.019758 0.0197847 0.0198115 0.0198382
+0.0198649 0.0198917 0.0199185 0.0199453 0.0199721 0.0199989 0.0200258
+0.0200527 0.0200795 0.0201064 0.0201334 0.0201603 0.0201873 0.0202142
+0.0202412 0.0202682 0.0202953 0.0203223 0.0203494 0.0203765 0.0204036
+0.0204307 0.0204578 0.020485 0.0205121 0.0205393 0.0205665 0.0205938
+0.020621 0.0206483 0.0206755 0.0207028 0.0207301 0.0207575 0.0207848
+0.0208122 0.0208396 0.020867 0.0208944 0.0209218 0.0209493 0.0209767
+0.0210042 0.0210317 0.0210593 0.0210868 0.0211144 0.0211419 0.0211695
+0.0211971 0.0212248 0.0212524 0.0212801 0.0213077 0.0213354 0.0213632
+0.0213909 0.0214186 0.0214464 0.0214742 0.021502 0.0215298 0.0215577
+0.0215855 0.0216134 0.0216413 0.0216692 0.0216971 0.0217251 0.021753
+0.021781 0.021809 0.021837 0.0218651 0.0218931 0.0219212 0.0219493
+0.0219774 0.0220055 0.0220336 0.0220618 0.02209 0.0221182 0.0221464
+0.0221746 0.0222028 0.0222311 0.0222594 0.0222877 0.022316 0.0223443
+0.0223727 0.022401 0.0224294 0.0224578 0.0224862 0.0225147 0.0225431
+0.0225716 0.0226001 0.0226286 0.0226571 0.0226857 0.0227142 0.0227428
+0.0227714 0.0228 0.0228286 0.0228573 0.022886 0.0229146 0.0229433 0.0229721
+0.0230008 0.0230295 0.0230583 0.0230871 0.0231159 0.0231447 0.0231736
+0.0232024 0.0232313 0.0232602 0.0232891 0.023318 0.023347 0.0233759
+0.0234049 0.0234339 0.0234629 0.023492 0.023521 0.0235501 0.0235792
+0.0236083 0.0236374 0.0236665 0.0236957 0.0237249 0.0237541 0.0237833
+0.0238125 0.0238417 0.023871 0.0239003 0.0239296 0.0239589 0.0239882
+0.0240176 0.0240469 0.0240763 0.0241057 0.0241351 0.0241646 0.024194
+0.0242235 0.024253 0.0242825 0.024312 0.0243416 0.0243711 0.0244007
+0.0244303 0.0244599 0.0244895 0.0245192 0.0245488 0.0245785 0.0246082
+0.0246379 0.0246677 0.0246974 0.0247272 0.024757 0.0247868 0.0248166
+0.0248464 0.0248763 0.0249062 0.024936 0.024966 0.0249959 0.0250258
+0.0250558 0.0250858 0.0251158 0.0251458 0.0251758 0.0252058 0.0252359
+0.025266 0.0252961 0.0253262 0.0253563 0.0253865 0.0254167 0.0254469
+0.0254771 0.0255073 0.0255375 0.0255678 0.0255981 0.0256283 0.0256587
+0.025689 0.0257193 0.0257497 0.0257801 0.0258105 0.0258409 0.0258713
+0.0259018 0.0259322 0.0259627 0.0259932 0.0260237 0.0260543 0.0260848
+0.0261154 0.026146 0.0261766 0.0262072 0.0262378 0.0262685 0.0262992
+0.0263299 0.0263606 0.0263913 0.0264221 0.0264528 0.0264836 0.0265144
+0.0265452 0.026576 0.0266069 0.0266378 0.0266686 0.0266995 0.0267305
+0.0267614 0.0267924 0.0268233 0.0268543 0.0268853 0.0269163 0.0269474
+0.0269784 0.0270095 0.0270406 0.0270717 0.0271028 0.027134 0.0271652
+0.0271963 0.0272275 0.0272588 0.02729 0.0273212 0.0273525 0.0273838
+0.0274151 0.0274464 0.0274777 0.0275091 0.0275405 0.0275719 0.0276033
+0.0276347 0.0276661 0.0276976 0.0277291 0.0277606 0.0277921 0.0278236
+0.0278551 0.0278867 0.0279183 0.0279499 0.0279815 0.0280131 0.0280448
+0.0280764 0.0281081 0.0281398 0.0281715 0.0282033 0.028235 0.0282668
+0.0282986 0.0283304 0.0283622 0.028394 0.0284259 0.0284578 0.0284897
+0.0285216 0.0285535 0.0285855 0.0286174 0.0286494 0.0286814 0.0287134
+0.0287454 0.0287775 0.0288095 0.0288416 0.0288737 0.0289058 0.028938
+0.0289701 0.0290023 0.0290345 0.0290667 0.0290989 0.0291311 0.0291634
+0.0291957 0.029228 0.0292603 0.0292926 0.0293249 0.0293573 0.0293897
+0.0294221 0.0294545 0.0294869 0.0295194 0.0295518 0.0295843 0.0296168
+0.0296493 0.0296818 0.0297144 0.029747 0.0297795 0.0298122 0.0298448
+0.0298774 0.0299101 0.0299427 0.0299754 0.0300081 0.0300408 0.0300736
+0.0301063 0.0301391 0.0301719 0.0302047 0.0302375 0.0302704 0.0303032
+0.0303361 0.030369 0.0304019 0.0304349 0.0304678 0.0305008 0.0305338
+0.0305668 0.0305998 0.0306328 0.0306659 0.0306989 0.030732 0.0307651
+0.0307982 0.0308314 0.0308645 0.0308977 0.0309309 0.0309641 0.0309973
+0.0310306 0.0310638 0.0310971 0.0311304 0.0311637 0.031197 0.0312304
+0.0312637 0.0312971 0.0313305 0.0313639 0.0313973 0.0314308 0.0314642
+0.0314977 0.0315312 0.0315647 0.0315983 0.0316318 0.0316654 0.031699
+0.0317326 0.0317662 0.0317998 0.0318335 0.0318672 0.0319009 0.0319346
+0.0319683 0.032002 0.0320358 0.0320696 0.0321033 0.0321372 0.032171
+0.0322048 0.0322387 0.0322726 0.0323065 0.0323404 0.0323743 0.0324082
+0.0324422 0.0324762 0.0325102 0.0325442 0.0325782 0.0326123 0.0326464
+0.0326804 0.0327145 0.0327487 0.0327828 0.0328169 0.0328511 0.0328853
+0.0329195 0.0329537 0.032988 0.0330222 0.0330565 0.0330908 0.0331251
+0.0331594 0.0331938 0.0332281 0.0332625 0.0332969 0.0333313 0.0333657
+0.0334002 0.0334346 0.0334691 0.0335036 0.0335381 0.0335726 0.0336072
+0.0336418 0.0336763 0.0337109 0.0337456 0.0337802 0.0338148 0.0338495
+0.0338842 0.0339189 0.0339536 0.0339883 0.0340231 0.0340579 0.0340927
+0.0341275 0.0341623 0.0341971 0.034232 0.0342668 0.0343017 0.0343366
+0.0343716 0.0344065 0.0344415 0.0344764 0.0345114 0.0345464 0.0345815
+0.0346165 0.0346516 0.0346867 0.0347218 0.0347569 0.034792 0.0348271
+0.0348623 0.0348975 0.0349327 0.0349679 0.0350031 0.0350384 0.0350736
+0.0351089 0.0351442 0.0351796 0.0352149 0.0352502 0.0352856 0.035321
+0.0353564 0.0353918 0.0354273 0.0354627 0.0354982 0.0355337 0.0355692
+0.0356047 0.0356402 0.0356758 0.0357114 0.035747 0.0357826 0.0358182
+0.0358538 0.0358895 0.0359252 0.0359609 0.0359966 0.0360323 0.036068
+0.0361038 0.0361396 0.0361754 0.0362112 0.036247 0.0362829;
+#A 2000 0.0363187 0.0363546 0.0363905 0.0364264 0.0364624 0.0364983
+0.0365343 0.0365703 0.0366063 0.0366423 0.0366783 0.0367144 0.0367504
+0.0367865 0.0368226 0.0368587 0.0368949 0.036931 0.0369672 0.0370034
+0.0370396 0.0370758 0.0371121 0.0371483 0.0371846 0.0372209 0.0372572
+0.0372935 0.0373298 0.0373662 0.0374026 0.037439 0.0374754 0.0375118
+0.0375482 0.0375847 0.0376212 0.0376577 0.0376942 0.0377307 0.0377673
+0.0378038 0.0378404 0.037877 0.0379136 0.0379502 0.0379869 0.0380236
+0.0380602 0.0380969 0.0381336 0.0381704 0.0382071 0.0382439 0.0382807
+0.0383175 0.0383543 0.0383911 0.038428 0.0384648 0.0385017 0.0385386
+0.0385755 0.0386125 0.0386494 0.0386864 0.0387234 0.0387604 0.0387974
+0.0388345 0.0388715 0.0389086 0.0389457 0.0389828 0.0390199 0.039057
+0.0390942 0.0391314 0.0391686 0.0392058 0.039243 0.0392802 0.0393175
+0.0393548 0.039392 0.0394294 0.0394667 0.039504 0.0395414 0.0395788
+0.0396161 0.0396536 0.039691 0.0397284 0.0397659 0.0398034 0.0398409
+0.0398784 0.0399159 0.0399534 0.039991 0.0400286 0.0400662 0.0401038
+0.0401414 0.0401791 0.0402167 0.0402544 0.0402921 0.0403298 0.0403676
+0.0404053 0.0404431 0.0404809 0.0405187 0.0405565 0.0405943 0.0406322
+0.04067 0.0407079 0.0407458 0.0407837 0.0408217 0.0408596 0.0408976
+0.0409356 0.0409736 0.0410116 0.0410496 0.0410877 0.0411257 0.0411638
+0.0412019 0.04124 0.0412782 0.0413163 0.0413545 0.0413927 0.0414309
+0.0414691 0.0415074 0.0415456 0.0415839 0.0416222 0.0416605 0.0416988
+0.0417371 0.0417755 0.0418139 0.0418522 0.0418907 0.0419291 0.0419675
+0.042006 0.0420444 0.0420829 0.0421214 0.04216 0.0421985 0.0422371
+0.0422756 0.0423142 0.0423528 0.0423915 0.0424301 0.0424688 0.0425074
+0.0425461 0.0425848 0.0426236 0.0426623 0.0427011 0.0427398 0.0427786
+0.0428175 0.0428563 0.0428951 0.042934 0.0429729 0.0430118 0.0430507
+0.0430896 0.0431285 0.0431675 0.0432065 0.0432455 0.0432845 0.0433235
+0.0433626 0.0434016 0.0434407 0.0434798 0.0435189 0.043558 0.0435972
+0.0436363 0.0436755 0.0437147 0.0437539 0.0437932 0.0438324 0.0438717
+0.043911 0.0439502 0.0439896 0.0440289 0.0440682 0.0441076 0.044147
+0.0441864 0.0442258 0.0442652 0.0443047 0.0443441 0.0443836 0.0444231
+0.0444626 0.0445022 0.0445417 0.0445813 0.0446209 0.0446605 0.0447001
+0.0447397 0.0447794 0.044819 0.0448587 0.0448984 0.0449381 0.0449778
+0.0450176 0.0450574 0.0450971 0.0451369 0.0451768 0.0452166 0.0452564
+0.0452963 0.0453362 0.0453761 0.045416 0.0454559 0.0454959 0.0455359
+0.0455758 0.0456158 0.0456559 0.0456959 0.0457359 0.045776 0.0458161
+0.0458562 0.0458963 0.0459364 0.0459766 0.0460168 0.0460569 0.0460971
+0.0461374 0.0461776 0.0462178 0.0462581 0.0462984 0.0463387 0.046379
+0.0464193 0.0464597 0.0465001 0.0465404 0.0465808 0.0466213 0.0466617
+0.0467021 0.0467426 0.0467831 0.0468236 0.0468641 0.0469046 0.0469452
+0.0469858 0.0470264 0.047067 0.0471076 0.0471482 0.0471889 0.0472295
+0.0472702 0.0473109 0.0473516 0.0473924 0.0474331 0.0474739 0.0475147
+0.0475555 0.0475963 0.0476371 0.047678 0.0477188 0.0477597 0.0478006
+0.0478415 0.0478825 0.0479234 0.0479644 0.0480054 0.0480464 0.0480874
+0.0481284 0.0481695 0.0482105 0.0482516 0.0482927 0.0483338 0.0483749
+0.0484161 0.0484573 0.0484984 0.0485396 0.0485809 0.0486221 0.0486633
+0.0487046 0.0487459 0.0487872 0.0488285 0.0488698 0.0489112 0.0489525
+0.0489939 0.0490353 0.0490767 0.0491182 0.0491596 0.0492011 0.0492426
+0.0492841 0.0493256 0.0493671 0.0494087 0.0494502 0.0494918 0.0495334
+0.049575 0.0496166 0.0496583 0.0496999 0.0497416 0.0497833 0.049825
+0.0498668 0.0499085 0.0499503 0.0499921 0.0500338 0.0500757 0.0501175
+0.0501593 0.0502012 0.0502431 0.050285 0.0503269 0.0503688 0.0504108
+0.0504527 0.0504947 0.0505367 0.0505787 0.0506207 0.0506628 0.0507048
+0.0507469 0.050789 0.0508311 0.0508732 0.0509154 0.0509575 0.0509997
+0.0510419 0.0510841 0.0511263 0.0511686 0.0512108 0.0512531 0.0512954
+0.0513377 0.05138 0.0514224 0.0514647 0.0515071 0.0515495 0.0515919
+0.0516343 0.0516768 0.0517192 0.0517617 0.0518042 0.0518467 0.0518892
+0.0519318 0.0519743 0.0520169 0.0520595 0.0521021 0.0521447 0.0521873
+0.05223 0.0522727 0.0523153 0.052358 0.0524008 0.0524435 0.0524862
+0.052529 0.0525718 0.0526146 0.0526574 0.0527003 0.0527431 0.052786
+0.0528289 0.0528718 0.0529147 0.0529576 0.0530006 0.0530435 0.0530865
+0.0531295 0.0531725 0.0532156 0.0532586 0.0533017 0.0533448 0.0533879
+0.053431 0.0534741 0.0535172 0.0535604 0.0536036 0.0536468 0.05369
+0.0537332 0.0537765 0.0538197 0.053863 0.0539063 0.0539496 0.0539929
+0.0540363 0.0540796 0.054123 0.0541664 0.0542098 0.0542533 0.0542967
+0.0543402 0.0543836 0.0544271 0.0544706 0.0545142 0.0545577 0.0546012
+0.0546448 0.0546884 0.054732 0.0547756 0.0548193 0.0548629 0.0549066
+0.0549503 0.054994 0.0550377 0.0550815 0.0551252 0.055169 0.0552128
+0.0552566 0.0553004 0.0553442 0.0553881 0.0554319 0.0554758 0.0555197
+0.0555636 0.0556076 0.0556515 0.0556955 0.0557395 0.0557835 0.0558275
+0.0558715 0.0559156 0.0559596 0.0560037 0.0560478 0.0560919 0.056136
+0.0561802 0.0562243 0.0562685 0.0563127 0.0563569 0.0564012 0.0564454
+0.0564897 0.0565339 0.0565782 0.0566225 0.0566669 0.0567112 0.0567556
+0.0567999 0.0568443 0.0568887 0.0569332 0.0569776 0.0570221 0.0570665
+0.057111 0.0571555 0.0572 0.0572446 0.0572891 0.0573337 0.0573783 0.0574229
+0.0574675 0.0575121 0.0575568 0.0576015 0.0576461 0.0576908 0.0577355
+0.0577803 0.057825 0.0578698 0.0579146 0.0579594 0.0580042 0.058049
+0.0580939 0.0581387 0.0581836 0.0582285 0.0582734 0.0583183 0.0583633
+0.0584082 0.0584532 0.0584982 0.0585432 0.0585882 0.0586333 0.0586783
+0.0587234 0.0587685 0.0588136 0.0588587 0.0589039 0.058949 0.0589942
+0.0590394 0.0590846 0.0591298 0.059175 0.0592203 0.0592655 0.0593108
+0.0593561 0.0594014 0.0594468 0.0594921 0.0595375 0.0595829 0.0596283
+0.0596737 0.0597191 0.0597646 0.05981 0.0598555 0.059901 0.0599465
+0.059992 0.0600376 0.0600831 0.0601287 0.0601743 0.0602199 0.0602655
+0.0603112 0.0603568 0.0604025 0.0604482 0.0604939 0.0605396 0.0605853
+0.0606311 0.0606769 0.0607227 0.0607685 0.0608143 0.0608601 0.060906
+0.0609518 0.0609977 0.0610436 0.0610895 0.0611354 0.0611814 0.0612274
+0.0612733 0.0613193 0.0613653 0.0614114 0.0614574 0.0615035 0.0615495
+0.0615956 0.0616417 0.0616879 0.061734 0.0617802 0.0618263 0.0618725
+0.0619187 0.061965 0.0620112 0.0620574 0.0621037 0.06215 0.0621963
+0.0622426 0.0622889 0.0623353 0.0623817 0.062428 0.0624744 0.0625209
+0.0625673 0.0626137 0.0626602 0.0627067 0.0627532 0.0627997 0.0628462
+0.0628927 0.0629393 0.0629859 0.0630325 0.0630791 0.0631257 0.0631723
+0.063219 0.0632657 0.0633124 0.0633591 0.0634058 0.0634525 0.0634993
+0.063546 0.0635928 0.0636396 0.0636864 0.0637333 0.0637801 0.063827
+0.0638738 0.0639207 0.0639677 0.0640146 0.0640615 0.0641085 0.0641555
+0.0642025 0.0642495 0.0642965 0.0643435 0.0643906 0.0644377 0.0644847
+0.0645318 0.064579 0.0646261 0.0646733 0.0647204 0.0647676 0.0648148
+0.064862 0.0649093 0.0649565 0.0650038 0.065051 0.0650983 0.0651457
+0.065193 0.0652403 0.0652877 0.0653351 0.0653825 0.0654299 0.0654773
+0.0655247 0.0655722 0.0656197 0.0656671 0.0657146 0.0657622 0.0658097
+0.0658573 0.0659048 0.0659524 0.066 0.0660476 0.0660953 0.0661429 0.0661906
+0.0662382 0.0662859 0.0663337 0.0663814 0.0664291 0.0664769 0.0665247
+0.0665724 0.0666203 0.0666681 0.0667159 0.0667638 0.0668116 0.0668595
+0.0669074 0.0669553 0.0670033 0.0670512 0.0670992 0.0671472 0.0671952
+0.0672432 0.0672912 0.0673393 0.0673873 0.0674354 0.0674835 0.0675316
+0.0675797 0.0676279 0.067676 0.0677242 0.0677724 0.0678206 0.0678688
+0.067917 0.0679653 0.0680136 0.0680619 0.0681102 0.0681585 0.0682068
+0.0682551 0.0683035 0.0683519 0.0684003 0.0684487 0.0684971 0.0685456
+0.068594 0.0686425 0.068691 0.0687395 0.068788 0.0688366 0.0688851
+0.0689337 0.0689823 0.0690309 0.0690795 0.0691281 0.0691768 0.0692254
+0.0692741 0.0693228 0.0693715 0.0694202 0.069469 0.0695178 0.0695665
+0.0696153 0.0696641 0.069713 0.0697618 0.0698106 0.0698595 0.0699084
+0.0699573 0.0700062 0.0700552 0.0701041 0.0701531 0.0702021 0.070251
+0.0703001 0.0703491 0.0703981 0.0704472 0.0704963 0.0705454 0.0705945
+0.0706436 0.0706927 0.0707419 0.0707911 0.0708402 0.0708895 0.0709387
+0.0709879 0.0710372 0.0710864 0.0711357 0.071185 0.0712343 0.0712836
+0.071333 0.0713823 0.0714317 0.0714811 0.0715305 0.0715799 0.0716294
+0.0716788 0.0717283 0.0717778 0.0718273 0.0718768 0.0719263 0.0719759
+0.0720254 0.072075 0.0721246 0.0721742 0.0722239 0.0722735 0.0723232
+0.0723728 0.0724225 0.0724722 0.072522 0.0725717 0.0726214 0.0726712
+0.072721 0.0727708 0.0728206 0.0728705 0.0729203 0.0729702 0.07302
+0.0730699 0.0731198 0.0731698 0.0732197 0.0732697 0.0733197 0.0733696
+0.0734196 0.0734697 0.0735197 0.0735698 0.0736198 0.0736699 0.07372
+0.0737701 0.0738202 0.0738704 0.0739205 0.0739707 0.0740209 0.0740711
+0.0741213 0.0741716 0.0742218 0.0742721 0.0743224 0.0743727 0.074423
+0.0744734 0.0745237 0.0745741 0.0746244 0.0746748 0.0747253 0.0747757
+0.0748261 0.0748766 0.0749271 0.0749776 0.0750281 0.0750786 0.0751291
+0.0751797 0.0752302 0.0752808 0.0753314 0.075382 0.0754327 0.0754833
+0.075534 0.0755847 0.0756353 0.0756861 0.0757368 0.0757875 0.0758383
+0.075889 0.0759398 0.0759906 0.0760414 0.0760923 0.0761431 0.076194
+0.0762449 0.0762958 0.0763467 0.0763976 0.0764486 0.0764995 0.0765505
+0.0766015 0.0766525 0.0767035 0.0767545 0.0768056 0.0768567 0.0769077
+0.0769588 0.0770099 0.0770611 0.0771122 0.0771634 0.0772146 0.0772657
+0.0773169 0.0773682 0.0774194 0.0774707 0.0775219 0.0775732 0.0776245
+0.0776758 0.0777272 0.0777785 0.0778299 0.0778812 0.0779326 0.077984
+0.0780355 0.0780869 0.0781384 0.0781898 0.0782413 0.0782928 0.0783443
+0.0783959 0.0784474 0.078499 0.0785506 0.0786022 0.0786538 0.0787054
+0.078757 0.0788087 0.0788604 0.0789121 0.0789638 0.0790155 0.0790672
+0.079119 0.0791707 0.0792225 0.0792743 0.0793261 0.0793779 0.0794298
+0.0794816 0.0795335 0.0795854 0.0796373 0.0796892 0.0797412 0.0797931
+0.0798451 0.0798971 0.0799491 0.0800011 0.0800531 0.0801051 0.0801572
+0.0802093 0.0802614 0.0803135 0.0803656 0.0804177;
+#A 3000 0.0804699 0.080522 0.0805742 0.0806264 0.0806786 0.0807309
+0.0807831 0.0808354 0.0808876 0.0809399 0.0809922 0.0810446 0.0810969
+0.0811493 0.0812016 0.081254 0.0813064 0.0813588 0.0814112 0.0814637
+0.0815161 0.0815686 0.0816211 0.0816736 0.0817261 0.0817787 0.0818312
+0.0818838 0.0819364 0.081989 0.0820416 0.0820942 0.0821469 0.0821995
+0.0822522 0.0823049 0.0823576 0.0824103 0.082463 0.0825158 0.0825686
+0.0826213 0.0826741 0.082727 0.0827798 0.0828326 0.0828855 0.0829384
+0.0829912 0.0830442 0.0830971 0.08315 0.083203 0.0832559 0.0833089
+0.0833619 0.0834149 0.0834679 0.083521 0.083574 0.0836271 0.0836802
+0.0837333 0.0837864 0.0838396 0.0838927 0.0839459 0.0839991 0.0840523
+0.0841055 0.0841587 0.0842119 0.0842652 0.0843185 0.0843718 0.0844251
+0.0844784 0.0845317 0.0845851 0.0846384 0.0846918 0.0847452 0.0847986
+0.084852 0.0849055 0.0849589 0.0850124 0.0850659 0.0851194 0.0851729
+0.0852264 0.08528 0.0853335 0.0853871 0.0854407 0.0854943 0.0855479
+0.0856016 0.0856552 0.0857089 0.0857626 0.0858163 0.08587 0.0859237
+0.0859775 0.0860312 0.086085 0.0861388 0.0861926 0.0862464 0.0863003
+0.0863541 0.086408 0.0864619 0.0865158 0.0865697 0.0866236 0.0866776
+0.0867315 0.0867855 0.0868395 0.0868935 0.0869475 0.0870015 0.0870556
+0.0871096 0.0871637 0.0872178 0.0872719 0.087326 0.0873802 0.0874343
+0.0874885 0.0875427 0.0875969 0.0876511 0.0877054 0.0877596 0.0878139
+0.0878681 0.0879224 0.0879767 0.0880311 0.0880854 0.0881397 0.0881941
+0.0882485 0.0883029 0.0883573 0.0884117 0.0884662 0.0885206 0.0885751
+0.0886296 0.0886841 0.0887386 0.0887932 0.0888477 0.0889023 0.0889568
+0.0890114 0.0890661 0.0891207 0.0891753 0.08923 0.0892846 0.0893393
+0.089394 0.0894487 0.0895035 0.0895582 0.089613 0.0896678 0.0897225
+0.0897774 0.0898322 0.089887 0.0899419 0.0899967 0.0900516 0.0901065
+0.0901614 0.0902163 0.0902713 0.0903262 0.0903812 0.0904362 0.0904912
+0.0905462 0.0906013 0.0906563 0.0907114 0.0907664 0.0908215 0.0908766
+0.0909318 0.0909869 0.091042 0.0910972 0.0911524 0.0912076 0.0912628
+0.091318 0.0913733 0.0914285 0.0914838 0.0915391 0.0915944 0.0916497
+0.091705 0.0917604 0.0918158 0.0918711 0.0919265 0.0919819 0.0920374
+0.0920928 0.0921482 0.0922037 0.0922592 0.0923147 0.0923702 0.0924257
+0.0924813 0.0925368 0.0925924 0.092648 0.0927036 0.0927592 0.0928148
+0.0928705 0.0929262 0.0929818 0.0930375 0.0930932 0.093149 0.0932047
+0.0932604 0.0933162 0.093372 0.0934278 0.0934836 0.0935394 0.0935953
+0.0936511 0.093707 0.0937629 0.0938188 0.0938747 0.0939306 0.0939866
+0.0940425 0.0940985 0.0941545 0.0942105 0.0942665 0.0943226 0.0943786
+0.0944347 0.0944908 0.0945469 0.094603 0.0946591 0.0947152 0.0947714
+0.0948276 0.0948838 0.09494 0.0949962 0.0950524 0.0951086 0.0951649
+0.0952212 0.0952775 0.0953338 0.0953901 0.0954464 0.0955028 0.0955591
+0.0956155 0.0956719 0.0957283 0.0957847 0.0958412 0.0958976 0.0959541
+0.0960106 0.0960671 0.0961236 0.0961801 0.0962367 0.0962932 0.0963498
+0.0964064 0.096463 0.0965196 0.0965762 0.0966329 0.0966895 0.0967462
+0.0968029 0.0968596 0.0969163 0.0969731 0.0970298 0.0970866 0.0971433
+0.0972001 0.097257 0.0973138 0.0973706 0.0974275 0.0974843 0.0975412
+0.0975981 0.097655 0.097712 0.0977689 0.0978259 0.0978828 0.0979398
+0.0979968 0.0980538 0.0981109 0.0981679 0.098225 0.098282 0.0983391
+0.0983962 0.0984534 0.0985105 0.0985676 0.0986248 0.098682 0.0987392
+0.0987964 0.0988536 0.0989108 0.0989681 0.0990254 0.0990826 0.0991399
+0.0991972 0.0992546 0.0993119 0.0993693 0.0994266 0.099484 0.0995414
+0.0995988 0.0996563 0.0997137 0.0997712 0.0998286 0.0998861 0.0999436
+0.100001 0.100059 0.100116 0.100174 0.100231 0.100289 0.100347 0.100404
+0.100462 0.100519 0.100577 0.100635 0.100693 0.10075 0.100808 0.100866
+0.100923 0.100981 0.101039 0.101097 0.101155 0.101212 0.10127 0.101328
+0.101386 0.101444 0.101502 0.10156 0.101618 0.101676 0.101733 0.101791
+0.101849 0.101907 0.101965 0.102024 0.102082 0.10214 0.102198 0.102256
+0.102314 0.102372 0.10243 0.102488 0.102546 0.102605 0.102663 0.102721
+0.102779 0.102837 0.102896 0.102954 0.103012 0.103071 0.103129 0.103187
+0.103246 0.103304 0.103362 0.103421 0.103479 0.103537 0.103596 0.103654
+0.103713 0.103771 0.10383 0.103888 0.103947 0.104005 0.104064 0.104122
+0.104181 0.104239 0.104298 0.104357 0.104415 0.104474 0.104533 0.104591
+0.10465 0.104709 0.104767 0.104826 0.104885 0.104944 0.105002 0.105061
+0.10512 0.105179 0.105238 0.105297 0.105355 0.105414 0.105473 0.105532
+0.105591 0.10565 0.105709 0.105768 0.105827 0.105886 0.105945 0.106004
+0.106063 0.106122 0.106181 0.10624 0.106299 0.106358 0.106417 0.106476
+0.106536 0.106595 0.106654 0.106713 0.106772 0.106832 0.106891 0.10695
+0.107009 0.107069 0.107128 0.107187 0.107247 0.107306 0.107365 0.107425
+0.107484 0.107543 0.107603 0.107662 0.107722 0.107781 0.107841 0.1079
+0.10796 0.108019 0.108079 0.108138 0.108198 0.108257 0.108317 0.108376
+0.108436 0.108496 0.108555 0.108615 0.108675 0.108734 0.108794 0.108854
+0.108914 0.108973 0.109033 0.109093 0.109153 0.109212 0.109272 0.109332
+0.109392 0.109452 0.109512 0.109571 0.109631 0.109691 0.109751 0.109811
+0.109871 0.109931 0.109991 0.110051 0.110111 0.110171 0.110231 0.110291
+0.110351 0.110411 0.110472 0.110532 0.110592 0.110652 0.110712 0.110772
+0.110832 0.110893 0.110953 0.111013 0.111073 0.111134 0.111194 0.111254
+0.111314 0.111375 0.111435 0.111495 0.111556 0.111616 0.111677 0.111737
+0.111797 0.111858 0.111918 0.111979 0.112039 0.1121 0.11216 0.112221
+0.112281 0.112342 0.112402 0.112463 0.112523 0.112584 0.112645 0.112705
+0.112766 0.112827 0.112887 0.112948 0.113009 0.113069 0.11313 0.113191
+0.113252 0.113312 0.113373 0.113434 0.113495 0.113556 0.113616 0.113677
+0.113738 0.113799 0.11386 0.113921 0.113982 0.114043 0.114104 0.114165
+0.114226 0.114287 0.114348 0.114409 0.11447 0.114531 0.114592 0.114653
+0.114714 0.114775 0.114836 0.114897 0.114959 0.11502 0.115081 0.115142
+0.115203 0.115265 0.115326 0.115387 0.115448 0.11551 0.115571 0.115632
+0.115694 0.115755 0.115816 0.115878 0.115939 0.116 0.116062 0.116123
+0.116185 0.116246 0.116308 0.116369 0.116431 0.116492 0.116554 0.116615
+0.116677 0.116738 0.1168 0.116861 0.116923 0.116985 0.117046 0.117108
+0.11717 0.117231 0.117293 0.117355 0.117416 0.117478 0.11754 0.117602
+0.117663 0.117725 0.117787 0.117849 0.117911 0.117972 0.118034 0.118096
+0.118158 0.11822 0.118282 0.118344 0.118406 0.118468 0.11853 0.118592
+0.118654 0.118716 0.118778 0.11884 0.118902 0.118964 0.119026 0.119088
+0.11915 0.119212 0.119274 0.119337 0.119399 0.119461 0.119523 0.119585
+0.119648 0.11971 0.119772 0.119834 0.119897 0.119959 0.120021 0.120084
+0.120146 0.120208 0.120271 0.120333 0.120395 0.120458 0.12052 0.120583
+0.120645 0.120708 0.12077 0.120833 0.120895 0.120958 0.12102 0.121083
+0.121145 0.121208 0.12127 0.121333 0.121396 0.121458 0.121521 0.121584
+0.121646 0.121709 0.121772 0.121834 0.121897 0.12196 0.122022 0.122085
+0.122148 0.122211 0.122274 0.122336 0.122399 0.122462 0.122525 0.122588
+0.122651 0.122714 0.122777 0.12284 0.122903 0.122965 0.123028 0.123091
+0.123154 0.123217 0.12328 0.123344 0.123407 0.12347 0.123533 0.123596
+0.123659 0.123722 0.123785 0.123848 0.123912 0.123975 0.124038 0.124101
+0.124164 0.124228 0.124291 0.124354 0.124417 0.124481 0.124544 0.124607
+0.124671 0.124734 0.124797 0.124861 0.124924 0.124988 0.125051 0.125114
+0.125178 0.125241 0.125305 0.125368 0.125432 0.125495 0.125559 0.125622
+0.125686 0.12575 0.125813 0.125877 0.12594 0.126004 0.126068 0.126131
+0.126195 0.126259 0.126322 0.126386 0.12645 0.126513 0.126577 0.126641
+0.126705 0.126769 0.126832 0.126896 0.12696 0.127024 0.127088 0.127152
+0.127215 0.127279 0.127343 0.127407 0.127471 0.127535 0.127599 0.127663
+0.127727 0.127791 0.127855 0.127919 0.127983 0.128047 0.128111 0.128175
+0.128239 0.128304 0.128368 0.128432 0.128496 0.12856 0.128624 0.128689
+0.128753 0.128817 0.128881 0.128946 0.12901 0.129074 0.129138 0.129203
+0.129267 0.129331 0.129396 0.12946 0.129524 0.129589 0.129653 0.129718
+0.129782 0.129847 0.129911 0.129975 0.13004 0.130104 0.130169 0.130233
+0.130298 0.130363 0.130427 0.130492 0.130556 0.130621 0.130686 0.13075
+0.130815 0.13088 0.130944 0.131009 0.131074 0.131138 0.131203 0.131268
+0.131333 0.131397 0.131462 0.131527 0.131592 0.131657 0.131721 0.131786
+0.131851 0.131916 0.131981 0.132046 0.132111 0.132176 0.132241 0.132306
+0.132371 0.132436 0.132501 0.132566 0.132631 0.132696 0.132761 0.132826
+0.132891 0.132956 0.133021 0.133086 0.133151 0.133216 0.133282 0.133347
+0.133412 0.133477 0.133542 0.133608 0.133673 0.133738 0.133803 0.133869
+0.133934 0.133999 0.134065 0.13413 0.134195 0.134261 0.134326 0.134391
+0.134457 0.134522 0.134588 0.134653 0.134719 0.134784 0.13485 0.134915
+0.134981 0.135046 0.135112 0.135177 0.135243 0.135308 0.135374 0.13544
+0.135505 0.135571 0.135636 0.135702 0.135768 0.135833 0.135899 0.135965
+0.136031 0.136096 0.136162 0.136228 0.136294 0.136359 0.136425 0.136491
+0.136557 0.136623 0.136689 0.136755 0.13682 0.136886 0.136952 0.137018
+0.137084 0.13715 0.137216 0.137282 0.137348 0.137414 0.13748 0.137546
+0.137612 0.137678 0.137744 0.13781 0.137876 0.137943 0.138009 0.138075
+0.138141 0.138207 0.138273 0.13834 0.138406 0.138472 0.138538 0.138604
+0.138671 0.138737 0.138803 0.13887 0.138936 0.139002 0.139069 0.139135
+0.139201 0.139268 0.139334 0.1394 0.139467 0.139533 0.1396 0.139666
+0.139733 0.139799 0.139866 0.139932;
+#A 4000 0.139999 0.140065 0.140132 0.140198 0.140265 0.140332 0.140398
+0.140465 0.140531 0.140598 0.140665 0.140731 0.140798 0.140865 0.140932
+0.140998 0.141065 0.141132 0.141199 0.141265 0.141332 0.141399 0.141466
+0.141533 0.141599 0.141666 0.141733 0.1418 0.141867 0.141934 0.142001
+0.142068 0.142135 0.142202 0.142269 0.142336 0.142403 0.14247 0.142537
+0.142604 0.142671 0.142738 0.142805 0.142872 0.142939 0.143006 0.143073
+0.14314 0.143208 0.143275 0.143342 0.143409 0.143476 0.143544 0.143611
+0.143678 0.143745 0.143813 0.14388 0.143947 0.144015 0.144082 0.144149
+0.144217 0.144284 0.144351 0.144419 0.144486 0.144554 0.144621 0.144688
+0.144756 0.144823 0.144891 0.144958 0.145026 0.145093 0.145161 0.145228
+0.145296 0.145364 0.145431 0.145499 0.145566 0.145634 0.145702 0.145769
+0.145837 0.145905 0.145972 0.14604 0.146108 0.146176 0.146243 0.146311
+0.146379 0.146447 0.146514 0.146582 0.14665 0.146718 0.146786 0.146854
+0.146921 0.146989 0.147057 0.147125 0.147193 0.147261 0.147329 0.147397
+0.147465 0.147533 0.147601 0.147669 0.147737 0.147805 0.147873 0.147941
+0.148009 0.148077 0.148145 0.148214 0.148282 0.14835 0.148418 0.148486
+0.148554 0.148623 0.148691 0.148759 0.148827 0.148896 0.148964 0.149032
+0.1491 0.149169 0.149237 0.149305 0.149374 0.149442 0.14951 0.149579
+0.149647 0.149716 0.149784 0.149852 0.149921 0.149989 0.150058 0.150126
+0.150195 0.150263 0.150332 0.1504 0.150469 0.150538 0.150606 0.150675
+0.150743 0.150812 0.150881 0.150949 0.151018 0.151086 0.151155 0.151224
+0.151293 0.151361 0.15143 0.151499 0.151567 0.151636 0.151705 0.151774
+0.151843 0.151911 0.15198 0.152049 0.152118 0.152187 0.152256 0.152325
+0.152394 0.152462 0.152531 0.1526 0.152669 0.152738 0.152807 0.152876
+0.152945 0.153014 0.153083 0.153152 0.153221 0.15329 0.15336 0.153429
+0.153498 0.153567 0.153636 0.153705 0.153774 0.153844 0.153913 0.153982
+0.154051 0.15412 0.15419 0.154259 0.154328 0.154397 0.154467 0.154536
+0.154605 0.154675 0.154744 0.154813 0.154883 0.154952 0.155021 0.155091
+0.15516 0.15523 0.155299 0.155369 0.155438 0.155508 0.155577 0.155647
+0.155716 0.155786 0.155855 0.155925 0.155994 0.156064 0.156133 0.156203
+0.156273 0.156342 0.156412 0.156482 0.156551 0.156621 0.156691 0.15676
+0.15683 0.1569 0.15697 0.157039 0.157109 0.157179 0.157249 0.157319
+0.157388 0.157458 0.157528 0.157598 0.157668 0.157738 0.157808 0.157877
+0.157947 0.158017 0.158087 0.158157 0.158227 0.158297 0.158367 0.158437
+0.158507 0.158577 0.158647 0.158717 0.158787 0.158857 0.158928 0.158998
+0.159068 0.159138 0.159208 0.159278 0.159348 0.159419 0.159489 0.159559
+0.159629 0.159699 0.15977 0.15984 0.15991 0.159981 0.160051 0.160121
+0.160192 0.160262 0.160332 0.160403 0.160473 0.160543 0.160614 0.160684
+0.160755 0.160825 0.160895 0.160966 0.161036 0.161107 0.161177 0.161248
+0.161318 0.161389 0.161459 0.16153 0.161601 0.161671 0.161742 0.161812
+0.161883 0.161954 0.162024 0.162095 0.162166 0.162236 0.162307 0.162378
+0.162448 0.162519 0.16259 0.162661 0.162731 0.162802 0.162873 0.162944
+0.163015 0.163086 0.163156 0.163227 0.163298 0.163369 0.16344 0.163511
+0.163582 0.163653 0.163724 0.163795 0.163865 0.163936 0.164007 0.164078
+0.164149 0.164221 0.164292 0.164363 0.164434 0.164505 0.164576 0.164647
+0.164718 0.164789 0.16486 0.164932 0.165003 0.165074 0.165145 0.165216
+0.165287 0.165359 0.16543 0.165501 0.165572 0.165644 0.165715 0.165786
+0.165858 0.165929 0.166 0.166072 0.166143 0.166214 0.166286 0.166357
+0.166429 0.1665 0.166571 0.166643 0.166714 0.166786 0.166857 0.166929
+0.167 0.167072 0.167143 0.167215 0.167287 0.167358 0.16743 0.167501
+0.167573 0.167645 0.167716 0.167788 0.167859 0.167931 0.168003 0.168074
+0.168146 0.168218 0.16829 0.168361 0.168433 0.168505 0.168577 0.168648
+0.16872 0.168792 0.168864 0.168936 0.169008 0.169079 0.169151 0.169223
+0.169295 0.169367 0.169439 0.169511 0.169583 0.169655 0.169727 0.169799
+0.169871 0.169943 0.170015 0.170087 0.170159 0.170231 0.170303 0.170375
+0.170447 0.170519 0.170591 0.170664 0.170736 0.170808 0.17088 0.170952
+0.171024 0.171097 0.171169 0.171241 0.171313 0.171386 0.171458 0.17153
+0.171602 0.171675 0.171747 0.171819 0.171892 0.171964 0.172036 0.172109
+0.172181 0.172254 0.172326 0.172398 0.172471 0.172543 0.172616 0.172688
+0.172761 0.172833 0.172906 0.172978 0.173051 0.173123 0.173196 0.173268
+0.173341 0.173414 0.173486 0.173559 0.173631 0.173704 0.173777 0.173849
+0.173922 0.173995 0.174067 0.17414 0.174213 0.174286 0.174358 0.174431
+0.174504 0.174577 0.174649 0.174722 0.174795 0.174868 0.174941 0.175014
+0.175086 0.175159 0.175232 0.175305 0.175378 0.175451 0.175524 0.175597
+0.17567 0.175743 0.175816 0.175889 0.175962 0.176035 0.176108 0.176181
+0.176254 0.176327 0.1764 0.176473 0.176546 0.176619 0.176693 0.176766
+0.176839 0.176912 0.176985 0.177058 0.177132 0.177205 0.177278 0.177351
+0.177424 0.177498 0.177571 0.177644 0.177718 0.177791 0.177864 0.177938
+0.178011 0.178084 0.178158 0.178231 0.178304 0.178378 0.178451 0.178525
+0.178598 0.178671 0.178745 0.178818 0.178892 0.178965 0.179039 0.179112
+0.179186 0.179259 0.179333 0.179407 0.17948 0.179554 0.179627 0.179701
+0.179775 0.179848 0.179922 0.179996 0.180069 0.180143 0.180217 0.18029
+0.180364 0.180438 0.180512 0.180585 0.180659 0.180733 0.180807 0.18088
+0.180954 0.181028 0.181102 0.181176 0.18125 0.181323 0.181397 0.181471
+0.181545 0.181619 0.181693 0.181767 0.181841 0.181915 0.181989 0.182063
+0.182137 0.182211 0.182285 0.182359 0.182433 0.182507 0.182581 0.182655
+0.182729 0.182803 0.182877 0.182952 0.183026 0.1831 0.183174 0.183248
+0.183322 0.183397 0.183471 0.183545 0.183619 0.183694 0.183768 0.183842
+0.183916 0.183991 0.184065 0.184139 0.184214 0.184288 0.184362 0.184437
+0.184511 0.184585 0.18466 0.184734 0.184809 0.184883 0.184957 0.185032
+0.185106 0.185181 0.185255 0.18533 0.185404 0.185479 0.185553 0.185628
+0.185703 0.185777 0.185852 0.185926 0.186001 0.186076 0.18615 0.186225
+0.186299 0.186374 0.186449 0.186523 0.186598 0.186673 0.186748 0.186822
+0.186897 0.186972 0.187047 0.187121 0.187196 0.187271 0.187346 0.187421
+0.187495 0.18757 0.187645 0.18772 0.187795 0.18787 0.187945 0.18802
+0.188094 0.188169 0.188244 0.188319 0.188394 0.188469 0.188544 0.188619
+0.188694 0.188769 0.188844 0.188919 0.188995 0.18907 0.189145 0.18922
+0.189295 0.18937 0.189445 0.18952 0.189595 0.189671 0.189746 0.189821
+0.189896 0.189971 0.190047 0.190122 0.190197 0.190272 0.190348 0.190423
+0.190498 0.190573 0.190649 0.190724 0.190799 0.190875 0.19095 0.191026
+0.191101 0.191176 0.191252 0.191327 0.191403 0.191478 0.191553 0.191629
+0.191704 0.19178 0.191855 0.191931 0.192006 0.192082 0.192158 0.192233
+0.192309 0.192384 0.19246 0.192535 0.192611 0.192687 0.192762 0.192838
+0.192914 0.192989 0.193065 0.193141 0.193216 0.193292 0.193368 0.193443
+0.193519 0.193595 0.193671 0.193747 0.193822 0.193898 0.193974 0.19405
+0.194126 0.194201 0.194277 0.194353 0.194429 0.194505 0.194581 0.194657
+0.194733 0.194809 0.194885 0.194961 0.195036 0.195112 0.195188 0.195264
+0.19534 0.195416 0.195493 0.195569 0.195645 0.195721 0.195797 0.195873
+0.195949 0.196025 0.196101 0.196177 0.196254 0.19633 0.196406 0.196482
+0.196558 0.196634 0.196711 0.196787 0.196863 0.196939 0.197016 0.197092
+0.197168 0.197244 0.197321 0.197397 0.197473 0.19755 0.197626 0.197702
+0.197779 0.197855 0.197932 0.198008 0.198084 0.198161 0.198237 0.198314
+0.19839 0.198467 0.198543 0.19862 0.198696 0.198773 0.198849 0.198926
+0.199002 0.199079 0.199155 0.199232 0.199309 0.199385 0.199462 0.199538
+0.199615 0.199692 0.199768 0.199845 0.199922 0.199998 0.200075 0.200152
+0.200229 0.200305 0.200382 0.200459 0.200536 0.200612 0.200689 0.200766
+0.200843 0.20092 0.200996 0.201073 0.20115 0.201227 0.201304 0.201381
+0.201458 0.201535 0.201612 0.201688 0.201765 0.201842 0.201919 0.201996
+0.202073 0.20215 0.202227 0.202304 0.202381 0.202458 0.202536 0.202613
+0.20269 0.202767 0.202844 0.202921 0.202998 0.203075 0.203152 0.20323
+0.203307 0.203384 0.203461 0.203538 0.203615 0.203693 0.20377 0.203847
+0.203924 0.204002 0.204079 0.204156 0.204234 0.204311 0.204388 0.204465
+0.204543 0.20462 0.204698 0.204775 0.204852 0.20493 0.205007 0.205084
+0.205162 0.205239 0.205317 0.205394 0.205472 0.205549 0.205627 0.205704
+0.205782 0.205859 0.205937 0.206014 0.206092 0.206169 0.206247 0.206325
+0.206402 0.20648 0.206557 0.206635 0.206713 0.20679 0.206868 0.206946
+0.207023 0.207101 0.207179 0.207256 0.207334 0.207412 0.20749 0.207567
+0.207645 0.207723 0.207801 0.207879 0.207956 0.208034 0.208112 0.20819
+0.208268 0.208346 0.208424 0.208501 0.208579 0.208657 0.208735 0.208813
+0.208891 0.208969 0.209047 0.209125 0.209203 0.209281 0.209359 0.209437
+0.209515 0.209593 0.209671 0.209749 0.209827 0.209905 0.209983 0.210061
+0.21014 0.210218 0.210296 0.210374 0.210452 0.21053 0.210608 0.210687
+0.210765 0.210843 0.210921 0.211 0.211078 0.211156 0.211234 0.211313
+0.211391 0.211469 0.211547 0.211626 0.211704 0.211782 0.211861 0.211939
+0.212018 0.212096 0.212174 0.212253 0.212331 0.21241 0.212488 0.212566
+0.212645;
+#A 5000 0.212723 0.212802 0.21288 0.212959 0.213037 0.213116 0.213194
+0.213273 0.213351 0.21343 0.213509 0.213587 0.213666 0.213744 0.213823
+0.213902 0.21398 0.214059 0.214137 0.214216 0.214295 0.214374 0.214452
+0.214531 0.21461 0.214688 0.214767 0.214846 0.214925 0.215003 0.215082
+0.215161 0.21524 0.215319 0.215397 0.215476 0.215555 0.215634 0.215713
+0.215792 0.215871 0.215949 0.216028 0.216107 0.216186 0.216265 0.216344
+0.216423 0.216502 0.216581 0.21666 0.216739 0.216818 0.216897 0.216976
+0.217055 0.217134 0.217213 0.217292 0.217371 0.21745 0.21753 0.217609
+0.217688 0.217767 0.217846 0.217925 0.218004 0.218084 0.218163 0.218242
+0.218321 0.2184 0.21848 0.218559 0.218638 0.218717 0.218797 0.218876
+0.218955 0.219034 0.219114 0.219193 0.219272 0.219352 0.219431 0.21951
+0.21959 0.219669 0.219749 0.219828 0.219907 0.219987 0.220066 0.220146
+0.220225 0.220305 0.220384 0.220464 0.220543 0.220623 0.220702 0.220782
+0.220861 0.220941 0.22102 0.2211 0.221179 0.221259 0.221339 0.221418
+0.221498 0.221577 0.221657 0.221737 0.221816 0.221896 0.221976 0.222055
+0.222135 0.222215 0.222295 0.222374 0.222454 0.222534 0.222614 0.222693
+0.222773 0.222853 0.222933 0.223013 0.223092 0.223172 0.223252 0.223332
+0.223412 0.223492 0.223572 0.223651 0.223731 0.223811 0.223891 0.223971
+0.224051 0.224131 0.224211 0.224291 0.224371 0.224451 0.224531 0.224611
+0.224691 0.224771 0.224851 0.224931 0.225011 0.225091 0.225171 0.225251
+0.225332 0.225412 0.225492 0.225572 0.225652 0.225732 0.225812 0.225893
+0.225973 0.226053 0.226133 0.226213 0.226294 0.226374 0.226454 0.226534
+0.226615 0.226695 0.226775 0.226856 0.226936 0.227016 0.227096 0.227177
+0.227257 0.227338 0.227418 0.227498 0.227579 0.227659 0.227739 0.22782
+0.2279 0.227981 0.228061 0.228142 0.228222 0.228303 0.228383 0.228464
+0.228544 0.228625 0.228705 0.228786 0.228866 0.228947 0.229027 0.229108
+0.229189 0.229269 0.22935 0.22943 0.229511 0.229592 0.229672 0.229753
+0.229834 0.229914 0.229995 0.230076 0.230156 0.230237 0.230318 0.230399
+0.230479 0.23056 0.230641 0.230722 0.230802 0.230883 0.230964 0.231045
+0.231126 0.231206 0.231287 0.231368 0.231449 0.23153 0.231611 0.231692
+0.231773 0.231854 0.231934 0.232015 0.232096 0.232177 0.232258 0.232339
+0.23242 0.232501 0.232582 0.232663 0.232744 0.232825 0.232906 0.232987
+0.233068 0.233149 0.233231 0.233312 0.233393 0.233474 0.233555 0.233636
+0.233717 0.233798 0.23388 0.233961 0.234042 0.234123 0.234204 0.234286
+0.234367 0.234448 0.234529 0.23461 0.234692 0.234773 0.234854 0.234936
+0.235017 0.235098 0.235179 0.235261 0.235342 0.235424 0.235505 0.235586
+0.235668 0.235749 0.23583 0.235912 0.235993 0.236075 0.236156 0.236238
+0.236319 0.2364 0.236482 0.236563 0.236645 0.236726 0.236808 0.236889
+0.236971 0.237052 0.237134 0.237216 0.237297 0.237379 0.23746 0.237542
+0.237624 0.237705 0.237787 0.237868 0.23795 0.238032 0.238113 0.238195
+0.238277 0.238358 0.23844 0.238522 0.238604 0.238685 0.238767 0.238849
+0.238931 0.239012 0.239094 0.239176 0.239258 0.23934 0.239421 0.239503
+0.239585 0.239667 0.239749 0.239831 0.239912 0.239994 0.240076 0.240158
+0.24024 0.240322 0.240404 0.240486 0.240568 0.24065 0.240732 0.240814
+0.240896 0.240978 0.24106 0.241142 0.241224 0.241306 0.241388 0.24147
+0.241552 0.241634 0.241716 0.241798 0.24188 0.241963 0.242045 0.242127
+0.242209 0.242291 0.242373 0.242455 0.242538 0.24262 0.242702 0.242784
+0.242866 0.242949 0.243031 0.243113 0.243195 0.243278 0.24336 0.243442
+0.243524 0.243607 0.243689 0.243771 0.243854 0.243936 0.244018 0.244101
+0.244183 0.244266 0.244348 0.24443 0.244513 0.244595 0.244678 0.24476
+0.244842 0.244925 0.245007 0.24509 0.245172 0.245255 0.245337 0.24542
+0.245502 0.245585 0.245667 0.24575 0.245833 0.245915 0.245998 0.24608
+0.246163 0.246246 0.246328 0.246411 0.246493 0.246576 0.246659 0.246741
+0.246824 0.246907 0.246989 0.247072 0.247155 0.247237 0.24732 0.247403
+0.247486 0.247568 0.247651 0.247734 0.247817 0.2479 0.247982 0.248065
+0.248148 0.248231 0.248314 0.248396 0.248479 0.248562 0.248645 0.248728
+0.248811 0.248894 0.248977 0.24906 0.249143 0.249225 0.249308 0.249391
+0.249474 0.249557 0.24964 0.249723 0.249806 0.249889 0.249972 0.250055
+0.250138 0.250221 0.250304 0.250388 0.250471 0.250554 0.250637 0.25072
+0.250803 0.250886 0.250969 0.251052 0.251136 0.251219 0.251302 0.251385
+0.251468 0.251551 0.251635 0.251718 0.251801 0.251884 0.251968 0.252051
+0.252134 0.252217 0.252301 0.252384 0.252467 0.252551 0.252634 0.252717
+0.2528 0.252884 0.252967 0.253051 0.253134 0.253217 0.253301 0.253384
+0.253468 0.253551 0.253634 0.253718 0.253801 0.253885 0.253968 0.254052
+0.254135 0.254219 0.254302 0.254386 0.254469 0.254553 0.254636 0.25472
+0.254803 0.254887 0.25497 0.255054 0.255138 0.255221 0.255305 0.255388
+0.255472 0.255556 0.255639 0.255723 0.255807 0.25589 0.255974 0.256058
+0.256141 0.256225 0.256309 0.256392 0.256476 0.25656 0.256644 0.256727
+0.256811 0.256895 0.256979 0.257062 0.257146 0.25723 0.257314 0.257398
+0.257482 0.257565 0.257649 0.257733 0.257817 0.257901 0.257985 0.258069
+0.258153 0.258236 0.25832 0.258404 0.258488 0.258572 0.258656 0.25874
+0.258824 0.258908 0.258992 0.259076 0.25916 0.259244 0.259328 0.259412
+0.259496 0.25958 0.259664 0.259748 0.259833 0.259917 0.260001 0.260085
+0.260169 0.260253 0.260337 0.260421 0.260506 0.26059 0.260674 0.260758
+0.260842 0.260926 0.261011 0.261095 0.261179 0.261263 0.261348 0.261432
+0.261516 0.2616 0.261685 0.261769 0.261853 0.261938 0.262022 0.262106
+0.262191 0.262275 0.262359 0.262444 0.262528 0.262612 0.262697 0.262781
+0.262865 0.26295 0.263034 0.263119 0.263203 0.263288 0.263372 0.263457
+0.263541 0.263625 0.26371 0.263794 0.263879 0.263963 0.264048 0.264133
+0.264217 0.264302 0.264386 0.264471 0.264555 0.26464 0.264724 0.264809
+0.264894 0.264978 0.265063 0.265148 0.265232 0.265317 0.265402 0.265486
+0.265571 0.265656 0.26574 0.265825 0.26591 0.265994 0.266079 0.266164
+0.266249 0.266333 0.266418 0.266503 0.266588 0.266672 0.266757 0.266842
+0.266927 0.267012 0.267097 0.267181 0.267266 0.267351 0.267436 0.267521
+0.267606 0.267691 0.267776 0.26786 0.267945 0.26803 0.268115 0.2682
+0.268285 0.26837 0.268455 0.26854 0.268625 0.26871 0.268795 0.26888
+0.268965 0.26905 0.269135 0.26922 0.269305 0.26939 0.269475 0.26956
+0.269646 0.269731 0.269816 0.269901 0.269986 0.270071 0.270156 0.270241
+0.270327 0.270412 0.270497 0.270582 0.270667 0.270752 0.270838 0.270923
+0.271008 0.271093 0.271179 0.271264 0.271349 0.271434 0.27152 0.271605
+0.27169 0.271776 0.271861 0.271946 0.272031 0.272117 0.272202 0.272287
+0.272373 0.272458 0.272544 0.272629 0.272714 0.2728 0.272885 0.272971
+0.273056 0.273141 0.273227 0.273312 0.273398 0.273483 0.273569 0.273654
+0.27374 0.273825 0.273911 0.273996 0.274082 0.274167 0.274253 0.274338
+0.274424 0.27451 0.274595 0.274681 0.274766 0.274852 0.274937 0.275023
+0.275109 0.275194 0.27528 0.275366 0.275451 0.275537 0.275623 0.275708
+0.275794 0.27588 0.275965 0.276051 0.276137 0.276223 0.276308 0.276394
+0.27648 0.276566 0.276651 0.276737 0.276823 0.276909 0.276995 0.27708
+0.277166 0.277252 0.277338 0.277424 0.27751 0.277595 0.277681 0.277767
+0.277853 0.277939 0.278025 0.278111 0.278197 0.278283 0.278369 0.278454
+0.27854 0.278626 0.278712 0.278798 0.278884 0.27897 0.279056 0.279142
+0.279228 0.279314 0.2794 0.279486 0.279572 0.279659 0.279745 0.279831
+0.279917 0.280003 0.280089 0.280175 0.280261 0.280347 0.280433 0.28052
+0.280606 0.280692 0.280778 0.280864 0.28095 0.281037 0.281123 0.281209
+0.281295 0.281381 0.281468 0.281554 0.28164 0.281726 0.281813 0.281899
+0.281985 0.282071 0.282158 0.282244 0.28233 0.282417 0.282503 0.282589
+0.282676 0.282762 0.282848 0.282935 0.283021 0.283107 0.283194 0.28328
+0.283367 0.283453 0.28354 0.283626 0.283712 0.283799 0.283885 0.283972
+0.284058 0.284145 0.284231 0.284318 0.284404 0.284491 0.284577 0.284664
+0.28475 0.284837 0.284923 0.28501 0.285096 0.285183 0.28527 0.285356
+0.285443 0.285529 0.285616 0.285703 0.285789 0.285876 0.285962 0.286049
+0.286136 0.286222 0.286309 0.286396 0.286482 0.286569 0.286656 0.286743
+0.286829 0.286916 0.287003 0.28709 0.287176 0.287263 0.28735 0.287437
+0.287523 0.28761 0.287697 0.287784 0.287871 0.287957 0.288044 0.288131
+0.288218 0.288305 0.288392 0.288478 0.288565 0.288652 0.288739 0.288826
+0.288913 0.289 0.289087 0.289174 0.289261 0.289348 0.289435 0.289522
+0.289608 0.289695 0.289782 0.289869 0.289956 0.290043 0.29013 0.290217
+0.290305 0.290392 0.290479 0.290566 0.290653 0.29074 0.290827 0.290914
+0.291001 0.291088 0.291175 0.291262 0.29135 0.291437 0.291524 0.291611
+0.291698 0.291785 0.291872 0.29196 0.292047 0.292134 0.292221 0.292308
+0.292396 0.292483 0.29257 0.292657 0.292744 0.292832 0.292919 0.293006
+0.293094 0.293181 0.293268 0.293355 0.293443 0.29353 0.293617 0.293705
+0.293792 0.293879 0.293967 0.294054 0.294141 0.294229 0.294316 0.294404
+0.294491 0.294578 0.294666 0.294753 0.294841 0.294928 0.295016 0.295103
+0.29519 0.295278 0.295365 0.295453 0.29554 0.295628 0.295715 0.295803
+0.29589;
+#A 6000 0.295978 0.296065 0.296153 0.296241 0.296328 0.296416 0.296503
+0.296591 0.296678 0.296766 0.296854 0.296941 0.297029 0.297116 0.297204
+0.297292 0.297379 0.297467 0.297555 0.297642 0.29773 0.297818 0.297905
+0.297993 0.298081 0.298168 0.298256 0.298344 0.298432 0.298519 0.298607
+0.298695 0.298783 0.29887 0.298958 0.299046 0.299134 0.299222 0.299309
+0.299397 0.299485 0.299573 0.299661 0.299749 0.299836 0.299924 0.300012
+0.3001 0.300188 0.300276 0.300364 0.300452 0.300539 0.300627 0.300715
+0.300803 0.300891 0.300979 0.301067 0.301155 0.301243 0.301331 0.301419
+0.301507 0.301595 0.301683 0.301771 0.301859 0.301947 0.302035 0.302123
+0.302211 0.302299 0.302387 0.302475 0.302563 0.302652 0.30274 0.302828
+0.302916 0.303004 0.303092 0.30318 0.303268 0.303357 0.303445 0.303533
+0.303621 0.303709 0.303797 0.303886 0.303974 0.304062 0.30415 0.304238
+0.304327 0.304415 0.304503 0.304591 0.30468 0.304768 0.304856 0.304944
+0.305033 0.305121 0.305209 0.305298 0.305386 0.305474 0.305562 0.305651
+0.305739 0.305827 0.305916 0.306004 0.306093 0.306181 0.306269 0.306358
+0.306446 0.306534 0.306623 0.306711 0.3068 0.306888 0.306977 0.307065
+0.307154 0.307242 0.30733 0.307419 0.307507 0.307596 0.307684 0.307773
+0.307861 0.30795 0.308038 0.308127 0.308215 0.308304 0.308393 0.308481
+0.30857 0.308658 0.308747 0.308835 0.308924 0.309013 0.309101 0.30919
+0.309278 0.309367 0.309456 0.309544 0.309633 0.309722 0.30981 0.309899
+0.309988 0.310076 0.310165 0.310254 0.310342 0.310431 0.31052 0.310609
+0.310697 0.310786 0.310875 0.310964 0.311052 0.311141 0.31123 0.311319
+0.311408 0.311496 0.311585 0.311674 0.311763 0.311852 0.31194 0.312029
+0.312118 0.312207 0.312296 0.312385 0.312474 0.312562 0.312651 0.31274
+0.312829 0.312918 0.313007 0.313096 0.313185 0.313274 0.313363 0.313452
+0.313541 0.313629 0.313718 0.313807 0.313896 0.313985 0.314074 0.314163
+0.314252 0.314341 0.31443 0.314519 0.314608 0.314698 0.314787 0.314876
+0.314965 0.315054 0.315143 0.315232 0.315321 0.31541 0.315499 0.315588
+0.315677 0.315767 0.315856 0.315945 0.316034 0.316123 0.316212 0.316301
+0.316391 0.31648 0.316569 0.316658 0.316747 0.316837 0.316926 0.317015
+0.317104 0.317194 0.317283 0.317372 0.317461 0.317551 0.31764 0.317729
+0.317818 0.317908 0.317997 0.318086 0.318175 0.318265 0.318354 0.318443
+0.318533 0.318622 0.318711 0.318801 0.31889 0.31898 0.319069 0.319158
+0.319248 0.319337 0.319427 0.319516 0.319605 0.319695 0.319784 0.319874
+0.319963 0.320052 0.320142 0.320231 0.320321 0.32041 0.3205 0.320589
+0.320679 0.320768 0.320858 0.320947 0.321037 0.321126 0.321216 0.321305
+0.321395 0.321485 0.321574 0.321664 0.321753 0.321843 0.321932 0.322022
+0.322112 0.322201 0.322291 0.32238 0.32247 0.32256 0.322649 0.322739
+0.322829 0.322918 0.323008 0.323098 0.323187 0.323277 0.323367 0.323456
+0.323546 0.323636 0.323725 0.323815 0.323905 0.323995 0.324084 0.324174
+0.324264 0.324354 0.324443 0.324533 0.324623 0.324713 0.324803 0.324892
+0.324982 0.325072 0.325162 0.325252 0.325341 0.325431 0.325521 0.325611
+0.325701 0.325791 0.325881 0.32597 0.32606 0.32615 0.32624 0.32633
+0.32642 0.32651 0.3266 0.32669 0.32678 0.32687 0.326959 0.327049 0.327139
+0.327229 0.327319 0.327409 0.327499 0.327589 0.327679 0.327769 0.327859
+0.327949 0.328039 0.328129 0.328219 0.328309 0.328399 0.32849 0.32858
+0.32867 0.32876 0.32885 0.32894 0.32903 0.32912 0.32921 0.3293 0.32939
+0.329481 0.329571 0.329661 0.329751 0.329841 0.329931 0.330021 0.330112
+0.330202 0.330292 0.330382 0.330472 0.330562 0.330653 0.330743 0.330833
+0.330923 0.331014 0.331104 0.331194 0.331284 0.331375 0.331465 0.331555
+0.331645 0.331736 0.331826 0.331916 0.332006 0.332097 0.332187 0.332277
+0.332368 0.332458 0.332548 0.332639 0.332729 0.332819 0.33291 0.333
+0.333091 0.333181 0.333271 0.333362 0.333452 0.333542 0.333633 0.333723
+0.333814 0.333904 0.333995 0.334085 0.334175 0.334266 0.334356 0.334447
+0.334537 0.334628 0.334718 0.334809 0.334899 0.33499 0.33508 0.335171
+0.335261 0.335352 0.335442 0.335533 0.335623 0.335714 0.335805 0.335895
+0.335986 0.336076 0.336167 0.336257 0.336348 0.336439 0.336529 0.33662
+0.33671 0.336801 0.336892 0.336982 0.337073 0.337164 0.337254 0.337345
+0.337436 0.337526 0.337617 0.337708 0.337798 0.337889 0.33798 0.33807
+0.338161 0.338252 0.338342 0.338433 0.338524 0.338615 0.338705 0.338796
+0.338887 0.338978 0.339068 0.339159 0.33925 0.339341 0.339432 0.339522
+0.339613 0.339704 0.339795 0.339886 0.339976 0.340067 0.340158 0.340249
+0.34034 0.340431 0.340522 0.340612 0.340703 0.340794 0.340885 0.340976
+0.341067 0.341158 0.341249 0.34134 0.341431 0.341521 0.341612 0.341703
+0.341794 0.341885 0.341976 0.342067 0.342158 0.342249 0.34234 0.342431
+0.342522 0.342613 0.342704 0.342795 0.342886 0.342977 0.343068 0.343159
+0.34325 0.343341 0.343432 0.343523 0.343614 0.343705 0.343797 0.343888
+0.343979 0.34407 0.344161 0.344252 0.344343 0.344434 0.344525 0.344616
+0.344708 0.344799 0.34489 0.344981 0.345072 0.345163 0.345254 0.345346
+0.345437 0.345528 0.345619 0.34571 0.345802 0.345893 0.345984 0.346075
+0.346166 0.346258 0.346349 0.34644 0.346531 0.346623 0.346714 0.346805
+0.346896 0.346988 0.347079 0.34717 0.347261 0.347353 0.347444 0.347535
+0.347627 0.347718 0.347809 0.347901 0.347992 0.348083 0.348175 0.348266
+0.348357 0.348449 0.34854 0.348631 0.348723 0.348814 0.348906 0.348997
+0.349088 0.34918 0.349271 0.349363 0.349454 0.349546 0.349637 0.349728
+0.34982 0.349911 0.350003 0.350094 0.350186 0.350277 0.350369 0.35046
+0.350552 0.350643 0.350735 0.350826 0.350918 0.351009 0.351101 0.351192
+0.351284 0.351375 0.351467 0.351558 0.35165 0.351741 0.351833 0.351925
+0.352016 0.352108 0.352199 0.352291 0.352382 0.352474 0.352566 0.352657
+0.352749 0.352841 0.352932 0.353024 0.353115 0.353207 0.353299 0.35339
+0.353482 0.353574 0.353665 0.353757 0.353849 0.35394 0.354032 0.354124
+0.354216 0.354307 0.354399 0.354491 0.354582 0.354674 0.354766 0.354858
+0.354949 0.355041 0.355133 0.355225 0.355316 0.355408 0.3555 0.355592
+0.355684 0.355775 0.355867 0.355959 0.356051 0.356143 0.356234 0.356326
+0.356418 0.35651 0.356602 0.356694 0.356785 0.356877 0.356969 0.357061
+0.357153 0.357245 0.357337 0.357429 0.357521 0.357612 0.357704 0.357796
+0.357888 0.35798 0.358072 0.358164 0.358256 0.358348 0.35844 0.358532
+0.358624 0.358716 0.358808 0.3589 0.358992 0.359084 0.359176 0.359268
+0.35936 0.359452 0.359544 0.359636 0.359728 0.35982 0.359912 0.360004
+0.360096 0.360188 0.36028 0.360372 0.360464 0.360556 0.360648 0.36074
+0.360832 0.360924 0.361016 0.361109 0.361201 0.361293 0.361385 0.361477
+0.361569 0.361661 0.361753 0.361845 0.361938 0.36203 0.362122 0.362214
+0.362306 0.362398 0.362491 0.362583 0.362675 0.362767 0.362859 0.362952
+0.363044 0.363136 0.363228 0.36332 0.363413 0.363505 0.363597 0.363689
+0.363782 0.363874 0.363966 0.364058 0.364151 0.364243 0.364335 0.364427
+0.36452 0.364612 0.364704 0.364797 0.364889 0.364981 0.365074 0.365166
+0.365258 0.36535 0.365443 0.365535 0.365627 0.36572 0.365812 0.365905
+0.365997 0.366089 0.366182 0.366274 0.366366 0.366459 0.366551 0.366644
+0.366736 0.366828 0.366921 0.367013 0.367106 0.367198 0.367291 0.367383
+0.367475 0.367568 0.36766 0.367753 0.367845 0.367938 0.36803 0.368123
+0.368215 0.368308 0.3684 0.368493 0.368585 0.368678 0.36877 0.368863
+0.368955 0.369048 0.36914 0.369233 0.369325 0.369418 0.36951 0.369603
+0.369695 0.369788 0.369881 0.369973 0.370066 0.370158 0.370251 0.370344
+0.370436 0.370529 0.370621 0.370714 0.370807 0.370899 0.370992 0.371084
+0.371177 0.37127 0.371362 0.371455 0.371548 0.37164 0.371733 0.371826
+0.371918 0.372011 0.372104 0.372196 0.372289 0.372382 0.372474 0.372567
+0.37266 0.372753 0.372845 0.372938 0.373031 0.373123 0.373216 0.373309
+0.373402 0.373494 0.373587 0.37368 0.373773 0.373866 0.373958 0.374051
+0.374144 0.374237 0.374329 0.374422 0.374515 0.374608 0.374701 0.374793
+0.374886 0.374979 0.375072 0.375165 0.375258 0.375351 0.375443 0.375536
+0.375629 0.375722 0.375815 0.375908 0.376001 0.376093 0.376186 0.376279
+0.376372 0.376465 0.376558 0.376651 0.376744 0.376837 0.37693 0.377022
+0.377115 0.377208 0.377301 0.377394 0.377487 0.37758 0.377673 0.377766
+0.377859 0.377952 0.378045 0.378138 0.378231 0.378324 0.378417 0.37851
+0.378603 0.378696 0.378789 0.378882 0.378975 0.379068 0.379161 0.379254
+0.379347 0.37944 0.379533 0.379626 0.379719 0.379812 0.379905 0.379998
+0.380092 0.380185 0.380278 0.380371 0.380464 0.380557 0.38065 0.380743
+0.380836 0.380929 0.381023 0.381116 0.381209 0.381302 0.381395 0.381488
+0.381581 0.381674 0.381768 0.381861 0.381954 0.382047 0.38214 0.382233
+0.382327 0.38242 0.382513 0.382606 0.382699 0.382793 0.382886 0.382979
+0.383072 0.383165 0.383259 0.383352 0.383445 0.383538 0.383632 0.383725
+0.383818 0.383911 0.384005 0.384098 0.384191 0.384284 0.384378 0.384471
+0.384564 0.384658 0.384751 0.384844 0.384937 0.385031 0.385124 0.385217
+0.385311 0.385404 0.385497 0.385591 0.385684 0.385777 0.385871 0.385964
+0.386057 0.386151 0.386244 0.386337 0.386431 0.386524 0.386617;
+#A 7000 0.386711 0.386804 0.386898 0.386991 0.387084 0.387178 0.387271
+0.387365 0.387458 0.387551 0.387645 0.387738 0.387832 0.387925 0.388019
+0.388112 0.388205 0.388299 0.388392 0.388486 0.388579 0.388673 0.388766
+0.38886 0.388953 0.389047 0.38914 0.389234 0.389327 0.389421 0.389514
+0.389608 0.389701 0.389795 0.389888 0.389982 0.390075 0.390169 0.390262
+0.390356 0.390449 0.390543 0.390636 0.39073 0.390824 0.390917 0.391011
+0.391104 0.391198 0.391291 0.391385 0.391479 0.391572 0.391666 0.391759
+0.391853 0.391947 0.39204 0.392134 0.392227 0.392321 0.392415 0.392508
+0.392602 0.392696 0.392789 0.392883 0.392977 0.39307 0.393164 0.393257
+0.393351 0.393445 0.393539 0.393632 0.393726 0.39382 0.393913 0.394007
+0.394101 0.394194 0.394288 0.394382 0.394475 0.394569 0.394663 0.394757
+0.39485 0.394944 0.395038 0.395132 0.395225 0.395319 0.395413 0.395507
+0.3956 0.395694 0.395788 0.395882 0.395975 0.396069 0.396163 0.396257
+0.396351 0.396444 0.396538 0.396632 0.396726 0.39682 0.396913 0.397007
+0.397101 0.397195 0.397289 0.397382 0.397476 0.39757 0.397664 0.397758
+0.397852 0.397946 0.398039 0.398133 0.398227 0.398321 0.398415 0.398509
+0.398603 0.398696 0.39879 0.398884 0.398978 0.399072 0.399166 0.39926
+0.399354 0.399448 0.399542 0.399636 0.399729 0.399823 0.399917 0.400011
+0.400105 0.400199 0.400293 0.400387 0.400481 0.400575 0.400669 0.400763
+0.400857 0.400951 0.401045 0.401139 0.401233 0.401327 0.401421 0.401515
+0.401609 0.401703 0.401797 0.401891 0.401985 0.402079 0.402173 0.402267
+0.402361 0.402455 0.402549 0.402643 0.402737 0.402831 0.402925 0.403019
+0.403113 0.403207 0.403301 0.403395 0.403489 0.403583 0.403678 0.403772
+0.403866 0.40396 0.404054 0.404148 0.404242 0.404336 0.40443 0.404524
+0.404619 0.404713 0.404807 0.404901 0.404995 0.405089 0.405183 0.405277
+0.405372 0.405466 0.40556 0.405654 0.405748 0.405842 0.405936 0.406031
+0.406125 0.406219 0.406313 0.406407 0.406501 0.406596 0.40669 0.406784
+0.406878 0.406972 0.407067 0.407161 0.407255 0.407349 0.407443 0.407538
+0.407632 0.407726 0.40782 0.407915 0.408009 0.408103 0.408197 0.408292
+0.408386 0.40848 0.408574 0.408669 0.408763 0.408857 0.408951 0.409046
+0.40914 0.409234 0.409328 0.409423 0.409517 0.409611 0.409706 0.4098
+0.409894 0.409989 0.410083 0.410177 0.410271 0.410366 0.41046 0.410554
+0.410649 0.410743 0.410837 0.410932 0.411026 0.41112 0.411215 0.411309
+0.411404 0.411498 0.411592 0.411687 0.411781 0.411875 0.41197 0.412064
+0.412158 0.412253 0.412347 0.412442 0.412536 0.41263 0.412725 0.412819
+0.412914 0.413008 0.413102 0.413197 0.413291 0.413386 0.41348 0.413575
+0.413669 0.413763 0.413858 0.413952 0.414047 0.414141 0.414236 0.41433
+0.414425 0.414519 0.414614 0.414708 0.414802 0.414897 0.414991 0.415086
+0.41518 0.415275 0.415369 0.415464 0.415558 0.415653 0.415747 0.415842
+0.415936 0.416031 0.416125 0.41622 0.416314 0.416409 0.416503 0.416598
+0.416693 0.416787 0.416882 0.416976 0.417071 0.417165 0.41726 0.417354
+0.417449 0.417543 0.417638 0.417733 0.417827 0.417922 0.418016 0.418111
+0.418205 0.4183 0.418395 0.418489 0.418584 0.418678 0.418773 0.418868
+0.418962 0.419057 0.419151 0.419246 0.419341 0.419435 0.41953 0.419625
+0.419719 0.419814 0.419908 0.420003 0.420098 0.420192 0.420287 0.420382
+0.420476 0.420571 0.420666 0.42076 0.420855 0.42095 0.421044 0.421139
+0.421234 0.421328 0.421423 0.421518 0.421612 0.421707 0.421802 0.421896
+0.421991 0.422086 0.422181 0.422275 0.42237 0.422465 0.422559 0.422654
+0.422749 0.422844 0.422938 0.423033 0.423128 0.423222 0.423317 0.423412
+0.423507 0.423601 0.423696 0.423791 0.423886 0.42398 0.424075 0.42417
+0.424265 0.424359 0.424454 0.424549 0.424644 0.424739 0.424833 0.424928
+0.425023 0.425118 0.425213 0.425307 0.425402 0.425497 0.425592 0.425687
+0.425781 0.425876 0.425971 0.426066 0.426161 0.426255 0.42635 0.426445
+0.42654 0.426635 0.42673 0.426824 0.426919 0.427014 0.427109 0.427204
+0.427299 0.427394 0.427488 0.427583 0.427678 0.427773 0.427868 0.427963
+0.428058 0.428152 0.428247 0.428342 0.428437 0.428532 0.428627 0.428722
+0.428817 0.428912 0.429006 0.429101 0.429196 0.429291 0.429386 0.429481
+0.429576 0.429671 0.429766 0.429861 0.429956 0.430051 0.430146 0.43024
+0.430335 0.43043 0.430525 0.43062 0.430715 0.43081 0.430905 0.431 0.431095
+0.43119 0.431285 0.43138 0.431475 0.43157 0.431665 0.43176 0.431855
+0.43195 0.432045 0.43214 0.432235 0.43233 0.432425 0.43252 0.432615
+0.43271 0.432805 0.4329 0.432995 0.43309 0.433185 0.43328 0.433375
+0.43347 0.433565 0.43366 0.433755 0.43385 0.433945 0.43404 0.434135
+0.43423 0.434325 0.43442 0.434515 0.43461 0.434705 0.4348 0.434895
+0.43499 0.435085 0.435181 0.435276 0.435371 0.435466 0.435561 0.435656
+0.435751 0.435846 0.435941 0.436036 0.436131 0.436226 0.436321 0.436417
+0.436512 0.436607 0.436702 0.436797 0.436892 0.436987 0.437082 0.437177
+0.437273 0.437368 0.437463 0.437558 0.437653 0.437748 0.437843 0.437938
+0.438034 0.438129 0.438224 0.438319 0.438414 0.438509 0.438604 0.4387
+0.438795 0.43889 0.438985 0.43908 0.439175 0.43927 0.439366 0.439461
+0.439556 0.439651 0.439746 0.439841 0.439937 0.440032 0.440127 0.440222
+0.440317 0.440413 0.440508 0.440603 0.440698 0.440793 0.440889 0.440984
+0.441079 0.441174 0.441269 0.441365 0.44146 0.441555 0.44165 0.441745
+0.441841 0.441936 0.442031 0.442126 0.442222 0.442317 0.442412 0.442507
+0.442603 0.442698 0.442793 0.442888 0.442984 0.443079 0.443174 0.443269
+0.443365 0.44346 0.443555 0.44365 0.443746 0.443841 0.443936 0.444031
+0.444127 0.444222 0.444317 0.444412 0.444508 0.444603 0.444698 0.444794
+0.444889 0.444984 0.445079 0.445175 0.44527 0.445365 0.445461 0.445556
+0.445651 0.445747 0.445842 0.445937 0.446033 0.446128 0.446223 0.446318
+0.446414 0.446509 0.446604 0.4467 0.446795 0.44689 0.446986 0.447081
+0.447176 0.447272 0.447367 0.447462 0.447558 0.447653 0.447748 0.447844
+0.447939 0.448035 0.44813 0.448225 0.448321 0.448416 0.448511 0.448607
+0.448702 0.448797 0.448893 0.448988 0.449084 0.449179 0.449274 0.44937
+0.449465 0.44956 0.449656 0.449751 0.449847 0.449942 0.450037 0.450133
+0.450228 0.450324 0.450419 0.450514 0.45061 0.450705 0.450801 0.450896
+0.450991 0.451087 0.451182 0.451278 0.451373 0.451469 0.451564 0.451659
+0.451755 0.45185 0.451946 0.452041 0.452137 0.452232 0.452327 0.452423
+0.452518 0.452614 0.452709 0.452805 0.4529 0.452995 0.453091 0.453186
+0.453282 0.453377 0.453473 0.453568 0.453664 0.453759 0.453855 0.45395
+0.454046 0.454141 0.454236 0.454332 0.454427 0.454523 0.454618 0.454714
+0.454809 0.454905 0.455 0.455096 0.455191 0.455287 0.455382 0.455478
+0.455573 0.455669 0.455764 0.45586 0.455955 0.456051 0.456146 0.456242
+0.456337 0.456433 0.456528 0.456624 0.456719 0.456815 0.45691 0.457006
+0.457101 0.457197 0.457292 0.457388 0.457483 0.457579 0.457675 0.45777
+0.457866 0.457961 0.458057 0.458152 0.458248 0.458343 0.458439 0.458534
+0.45863 0.458725 0.458821 0.458917 0.459012 0.459108 0.459203 0.459299
+0.459394 0.45949 0.459585 0.459681 0.459777 0.459872 0.459968 0.460063
+0.460159 0.460254 0.46035 0.460445 0.460541 0.460637 0.460732 0.460828
+0.460923 0.461019 0.461115 0.46121 0.461306 0.461401 0.461497 0.461592
+0.461688 0.461784 0.461879 0.461975 0.46207 0.462166 0.462262 0.462357
+0.462453 0.462548 0.462644 0.46274 0.462835 0.462931 0.463026 0.463122
+0.463218 0.463313 0.463409 0.463505 0.4636 0.463696 0.463791 0.463887
+0.463983 0.464078 0.464174 0.46427 0.464365 0.464461 0.464556 0.464652
+0.464748 0.464843 0.464939 0.465035 0.46513 0.465226 0.465322 0.465417
+0.465513 0.465608 0.465704 0.4658 0.465895 0.465991 0.466087 0.466182
+0.466278 0.466374 0.466469 0.466565 0.466661 0.466756 0.466852 0.466948
+0.467043 0.467139 0.467235 0.46733 0.467426 0.467522 0.467617 0.467713
+0.467809 0.467904 0.468 0.468096 0.468191 0.468287 0.468383 0.468478
+0.468574 0.46867 0.468765 0.468861 0.468957 0.469053 0.469148 0.469244
+0.46934 0.469435 0.469531 0.469627 0.469722 0.469818 0.469914 0.47001
+0.470105 0.470201 0.470297 0.470392 0.470488 0.470584 0.470679 0.470775
+0.470871 0.470967 0.471062 0.471158 0.471254 0.471349 0.471445 0.471541
+0.471637 0.471732 0.471828 0.471924 0.472019 0.472115 0.472211 0.472307
+0.472402 0.472498 0.472594 0.47269 0.472785 0.472881 0.472977 0.473072
+0.473168 0.473264 0.47336 0.473455 0.473551 0.473647 0.473743 0.473838
+0.473934 0.47403 0.474126 0.474221 0.474317 0.474413 0.474509 0.474604
+0.4747 0.474796 0.474892 0.474987 0.475083 0.475179 0.475275 0.47537
+0.475466 0.475562 0.475658 0.475753 0.475849 0.475945 0.476041 0.476137
+0.476232 0.476328 0.476424 0.47652 0.476615 0.476711 0.476807 0.476903
+0.476998 0.477094 0.47719 0.477286 0.477381 0.477477 0.477573 0.477669
+0.477765 0.47786 0.477956 0.478052 0.478148 0.478244 0.478339 0.478435
+0.478531 0.478627 0.478722 0.478818 0.478914 0.47901 0.479106 0.479201
+0.479297 0.479393 0.479489 0.479585 0.47968 0.479776 0.479872 0.479968
+0.480064 0.480159 0.480255 0.480351 0.480447 0.480543 0.480638 0.480734
+0.48083 0.480926 0.481022 0.481117 0.481213 0.481309 0.481405 0.481501
+;
+#A 8000 0.481596 0.481692 0.481788 0.481884 0.48198 0.482075 0.482171
+0.482267 0.482363 0.482459 0.482554 0.48265 0.482746 0.482842 0.482938
+0.483034 0.483129 0.483225 0.483321 0.483417 0.483513 0.483609 0.483704
+0.4838 0.483896 0.483992 0.484088 0.484183 0.484279 0.484375 0.484471
+0.484567 0.484663 0.484758 0.484854 0.48495 0.485046 0.485142 0.485238
+0.485333 0.485429 0.485525 0.485621 0.485717 0.485813 0.485908 0.486004
+0.4861 0.486196 0.486292 0.486388 0.486483 0.486579 0.486675 0.486771
+0.486867 0.486963 0.487058 0.487154 0.48725 0.487346 0.487442 0.487538
+0.487634 0.487729 0.487825 0.487921 0.488017 0.488113 0.488209 0.488304
+0.4884 0.488496 0.488592 0.488688 0.488784 0.48888 0.488975 0.489071
+0.489167 0.489263 0.489359 0.489455 0.489551 0.489646 0.489742 0.489838
+0.489934 0.49003 0.490126 0.490222 0.490317 0.490413 0.490509 0.490605
+0.490701 0.490797 0.490892 0.490988 0.491084 0.49118 0.491276 0.491372
+0.491468 0.491563 0.491659 0.491755 0.491851 0.491947 0.492043 0.492139
+0.492235 0.49233 0.492426 0.492522 0.492618 0.492714 0.49281 0.492906
+0.493001 0.493097 0.493193 0.493289 0.493385 0.493481 0.493577 0.493672
+0.493768 0.493864 0.49396 0.494056 0.494152 0.494248 0.494344 0.494439
+0.494535 0.494631 0.494727 0.494823 0.494919 0.495015 0.495111 0.495206
+0.495302 0.495398 0.495494 0.49559 0.495686 0.495782 0.495877 0.495973
+0.496069 0.496165 0.496261 0.496357 0.496453 0.496549 0.496644 0.49674
+0.496836 0.496932 0.497028 0.497124 0.49722 0.497316 0.497411 0.497507
+0.497603 0.497699 0.497795 0.497891 0.497987 0.498083 0.498178 0.498274
+0.49837 0.498466 0.498562 0.498658 0.498754 0.49885 0.498945 0.499041
+0.499137 0.499233 0.499329 0.499425 0.499521 0.499617 0.499712 0.499808
+0.499904 0.5 0.500096 0.500192 0.500288 0.500383 0.500479 0.500575
+0.500671 0.500767 0.500863 0.500959 0.501055 0.50115 0.501246 0.501342
+0.501438 0.501534 0.50163 0.501726 0.501822 0.501917 0.502013 0.502109
+0.502205 0.502301 0.502397 0.502493 0.502589 0.502684 0.50278 0.502876
+0.502972 0.503068 0.503164 0.50326 0.503356 0.503451 0.503547 0.503643
+0.503739 0.503835 0.503931 0.504027 0.504123 0.504218 0.504314 0.50441
+0.504506 0.504602 0.504698 0.504794 0.504889 0.504985 0.505081 0.505177
+0.505273 0.505369 0.505465 0.505561 0.505656 0.505752 0.505848 0.505944
+0.50604 0.506136 0.506232 0.506328 0.506423 0.506519 0.506615 0.506711
+0.506807 0.506903 0.506999 0.507094 0.50719 0.507286 0.507382 0.507478
+0.507574 0.50767 0.507765 0.507861 0.507957 0.508053 0.508149 0.508245
+0.508341 0.508437 0.508532 0.508628 0.508724 0.50882 0.508916 0.509012
+0.509108 0.509203 0.509299 0.509395 0.509491 0.509587 0.509683 0.509778
+0.509874 0.50997 0.510066 0.510162 0.510258 0.510354 0.510449 0.510545
+0.510641 0.510737 0.510833 0.510929 0.511025 0.51112 0.511216 0.511312
+0.511408 0.511504 0.5116 0.511696 0.511791 0.511887 0.511983 0.512079
+0.512175 0.512271 0.512366 0.512462 0.512558 0.512654 0.51275 0.512846
+0.512942 0.513037 0.513133 0.513229 0.513325 0.513421 0.513517 0.513612
+0.513708 0.513804 0.5139 0.513996 0.514092 0.514187 0.514283 0.514379
+0.514475 0.514571 0.514667 0.514762 0.514858 0.514954 0.51505 0.515146
+0.515242 0.515337 0.515433 0.515529 0.515625 0.515721 0.515817 0.515912
+0.516008 0.516104 0.5162 0.516296 0.516391 0.516487 0.516583 0.516679
+0.516775 0.516871 0.516966 0.517062 0.517158 0.517254 0.51735 0.517446
+0.517541 0.517637 0.517733 0.517829 0.517925 0.51802 0.518116 0.518212
+0.518308 0.518404 0.518499 0.518595 0.518691 0.518787 0.518883 0.518978
+0.519074 0.51917 0.519266 0.519362 0.519457 0.519553 0.519649 0.519745
+0.519841 0.519936 0.520032 0.520128 0.520224 0.52032 0.520415 0.520511
+0.520607 0.520703 0.520799 0.520894 0.52099 0.521086 0.521182 0.521278
+0.521373 0.521469 0.521565 0.521661 0.521756 0.521852 0.521948 0.522044
+0.52214 0.522235 0.522331 0.522427 0.522523 0.522618 0.522714 0.52281
+0.522906 0.523002 0.523097 0.523193 0.523289 0.523385 0.52348 0.523576
+0.523672 0.523768 0.523863 0.523959 0.524055 0.524151 0.524247 0.524342
+0.524438 0.524534 0.52463 0.524725 0.524821 0.524917 0.525013 0.525108
+0.525204 0.5253 0.525396 0.525491 0.525587 0.525683 0.525779 0.525874
+0.52597 0.526066 0.526162 0.526257 0.526353 0.526449 0.526545 0.52664
+0.526736 0.526832 0.526928 0.527023 0.527119 0.527215 0.52731 0.527406
+0.527502 0.527598 0.527693 0.527789 0.527885 0.527981 0.528076 0.528172
+0.528268 0.528363 0.528459 0.528555 0.528651 0.528746 0.528842 0.528938
+0.529033 0.529129 0.529225 0.529321 0.529416 0.529512 0.529608 0.529703
+0.529799 0.529895 0.52999 0.530086 0.530182 0.530278 0.530373 0.530469
+0.530565 0.53066 0.530756 0.530852 0.530947 0.531043 0.531139 0.531235
+0.53133 0.531426 0.531522 0.531617 0.531713 0.531809 0.531904 0.532
+0.532096 0.532191 0.532287 0.532383 0.532478 0.532574 0.53267 0.532765
+0.532861 0.532957 0.533052 0.533148 0.533244 0.533339 0.533435 0.533531
+0.533626 0.533722 0.533818 0.533913 0.534009 0.534105 0.5342 0.534296
+0.534392 0.534487 0.534583 0.534678 0.534774 0.53487 0.534965 0.535061
+0.535157 0.535252 0.535348 0.535444 0.535539 0.535635 0.53573 0.535826
+0.535922 0.536017 0.536113 0.536209 0.536304 0.5364 0.536495 0.536591
+0.536687 0.536782 0.536878 0.536974 0.537069 0.537165 0.53726 0.537356
+0.537452 0.537547 0.537643 0.537738 0.537834 0.53793 0.538025 0.538121
+0.538216 0.538312 0.538408 0.538503 0.538599 0.538694 0.53879 0.538885
+0.538981 0.539077 0.539172 0.539268 0.539363 0.539459 0.539554 0.53965
+0.539746 0.539841 0.539937 0.540032 0.540128 0.540223 0.540319 0.540415
+0.54051 0.540606 0.540701 0.540797 0.540892 0.540988 0.541084 0.541179
+0.541275 0.54137 0.541466 0.541561 0.541657 0.541752 0.541848 0.541943
+0.542039 0.542134 0.54223 0.542325 0.542421 0.542517 0.542612 0.542708
+0.542803 0.542899 0.542994 0.54309 0.543185 0.543281 0.543376 0.543472
+0.543567 0.543663 0.543758 0.543854 0.543949 0.544045 0.54414 0.544236
+0.544331 0.544427 0.544522 0.544618 0.544713 0.544809 0.544904 0.545
+0.545095 0.545191 0.545286 0.545382 0.545477 0.545573 0.545668 0.545764
+0.545859 0.545954 0.54605 0.546145 0.546241 0.546336 0.546432 0.546527
+0.546623 0.546718 0.546814 0.546909 0.547005 0.5471 0.547195 0.547291
+0.547386 0.547482 0.547577 0.547673 0.547768 0.547863 0.547959 0.548054
+0.54815 0.548245 0.548341 0.548436 0.548531 0.548627 0.548722 0.548818
+0.548913 0.549009 0.549104 0.549199 0.549295 0.54939 0.549486 0.549581
+0.549676 0.549772 0.549867 0.549963 0.550058 0.550153 0.550249 0.550344
+0.55044 0.550535 0.55063 0.550726 0.550821 0.550916 0.551012 0.551107
+0.551203 0.551298 0.551393 0.551489 0.551584 0.551679 0.551775 0.55187
+0.551965 0.552061 0.552156 0.552252 0.552347 0.552442 0.552538 0.552633
+0.552728 0.552824 0.552919 0.553014 0.55311 0.553205 0.5533 0.553396
+0.553491 0.553586 0.553682 0.553777 0.553872 0.553967 0.554063 0.554158
+0.554253 0.554349 0.554444 0.554539 0.554635 0.55473 0.554825 0.55492
+0.555016 0.555111 0.555206 0.555302 0.555397 0.555492 0.555588 0.555683
+0.555778 0.555873 0.555969 0.556064 0.556159 0.556254 0.55635 0.556445
+0.55654 0.556635 0.556731 0.556826 0.556921 0.557016 0.557112 0.557207
+0.557302 0.557397 0.557493 0.557588 0.557683 0.557778 0.557874 0.557969
+0.558064 0.558159 0.558255 0.55835 0.558445 0.55854 0.558635 0.558731
+0.558826 0.558921 0.559016 0.559111 0.559207 0.559302 0.559397 0.559492
+0.559587 0.559683 0.559778 0.559873 0.559968 0.560063 0.560159 0.560254
+0.560349 0.560444 0.560539 0.560634 0.56073 0.560825 0.56092 0.561015
+0.56111 0.561205 0.561301 0.561396 0.561491 0.561586 0.561681 0.561776
+0.561871 0.561966 0.562062 0.562157 0.562252 0.562347 0.562442 0.562537
+0.562632 0.562728 0.562823 0.562918 0.563013 0.563108 0.563203 0.563298
+0.563393 0.563488 0.563583 0.563679 0.563774 0.563869 0.563964 0.564059
+0.564154 0.564249 0.564344 0.564439 0.564534 0.564629 0.564724 0.56482
+0.564915 0.56501 0.565105 0.5652 0.565295 0.56539 0.565485 0.56558
+0.565675 0.56577 0.565865 0.56596 0.566055 0.56615 0.566245 0.56634
+0.566435 0.56653 0.566625 0.56672 0.566815 0.56691 0.567005 0.5671
+0.567195 0.56729 0.567385 0.56748 0.567575 0.56767 0.567765 0.56786
+0.567955 0.56805 0.568145 0.56824 0.568335 0.56843 0.568525 0.56862
+0.568715 0.56881 0.568905 0.569 0.569095 0.56919 0.569285 0.56938 0.569475
+0.56957 0.569665 0.56976 0.569854 0.569949 0.570044 0.570139 0.570234
+0.570329 0.570424 0.570519 0.570614 0.570709 0.570804 0.570899 0.570993
+0.571088 0.571183 0.571278 0.571373 0.571468 0.571563 0.571658 0.571753
+0.571847 0.571942 0.572037 0.572132 0.572227 0.572322 0.572417 0.572512
+0.572606 0.572701 0.572796 0.572891 0.572986 0.573081 0.573176 0.57327
+0.573365 0.57346 0.573555 0.57365 0.573745 0.573839 0.573934 0.574029
+0.574124 0.574219 0.574313 0.574408 0.574503 0.574598 0.574693 0.574787
+0.574882 0.574977 0.575072 0.575167 0.575261 0.575356 0.575451 0.575546
+0.57564 0.575735 0.57583 0.575925 0.57602 0.576114 0.576209 0.576304
+0.576399 0.576493 0.576588 0.576683 0.576778 0.576872 0.576967 0.577062
+;
+#A 9000 0.577156 0.577251 0.577346 0.577441 0.577535 0.57763 0.577725
+0.577819 0.577914 0.578009 0.578104 0.578198 0.578293 0.578388 0.578482
+0.578577 0.578672 0.578766 0.578861 0.578956 0.57905 0.579145 0.57924
+0.579334 0.579429 0.579524 0.579618 0.579713 0.579808 0.579902 0.579997
+0.580092 0.580186 0.580281 0.580375 0.58047 0.580565 0.580659 0.580754
+0.580849 0.580943 0.581038 0.581132 0.581227 0.581322 0.581416 0.581511
+0.581605 0.5817 0.581795 0.581889 0.581984 0.582078 0.582173 0.582267
+0.582362 0.582457 0.582551 0.582646 0.58274 0.582835 0.582929 0.583024
+0.583118 0.583213 0.583308 0.583402 0.583497 0.583591 0.583686 0.58378
+0.583875 0.583969 0.584064 0.584158 0.584253 0.584347 0.584442 0.584536
+0.584631 0.584725 0.58482 0.584914 0.585009 0.585103 0.585198 0.585292
+0.585386 0.585481 0.585575 0.58567 0.585764 0.585859 0.585953 0.586048
+0.586142 0.586237 0.586331 0.586425 0.58652 0.586614 0.586709 0.586803
+0.586898 0.586992 0.587086 0.587181 0.587275 0.58737 0.587464 0.587558
+0.587653 0.587747 0.587842 0.587936 0.58803 0.588125 0.588219 0.588313
+0.588408 0.588502 0.588596 0.588691 0.588785 0.58888 0.588974 0.589068
+0.589163 0.589257 0.589351 0.589446 0.58954 0.589634 0.589729 0.589823
+0.589917 0.590011 0.590106 0.5902 0.590294 0.590389 0.590483 0.590577
+0.590672 0.590766 0.59086 0.590954 0.591049 0.591143 0.591237 0.591331
+0.591426 0.59152 0.591614 0.591708 0.591803 0.591897 0.591991 0.592085
+0.59218 0.592274 0.592368 0.592462 0.592557 0.592651 0.592745 0.592839
+0.592933 0.593028 0.593122 0.593216 0.59331 0.593404 0.593499 0.593593
+0.593687 0.593781 0.593875 0.593969 0.594064 0.594158 0.594252 0.594346
+0.59444 0.594534 0.594628 0.594723 0.594817 0.594911 0.595005 0.595099
+0.595193 0.595287 0.595381 0.595476 0.59557 0.595664 0.595758 0.595852
+0.595946 0.59604 0.596134 0.596228 0.596322 0.596417 0.596511 0.596605
+0.596699 0.596793 0.596887 0.596981 0.597075 0.597169 0.597263 0.597357
+0.597451 0.597545 0.597639 0.597733 0.597827 0.597921 0.598015 0.598109
+0.598203 0.598297 0.598391 0.598485 0.598579 0.598673 0.598767 0.598861
+0.598955 0.599049 0.599143 0.599237 0.599331 0.599425 0.599519 0.599613
+0.599707 0.599801 0.599895 0.599989 0.600083 0.600177 0.600271 0.600365
+0.600458 0.600552 0.600646 0.60074 0.600834 0.600928 0.601022 0.601116
+0.60121 0.601304 0.601397 0.601491 0.601585 0.601679 0.601773 0.601867
+0.601961 0.602054 0.602148 0.602242 0.602336 0.60243 0.602524 0.602618
+0.602711 0.602805 0.602899 0.602993 0.603087 0.60318 0.603274 0.603368
+0.603462 0.603556 0.603649 0.603743 0.603837 0.603931 0.604025 0.604118
+0.604212 0.604306 0.6044 0.604493 0.604587 0.604681 0.604775 0.604868
+0.604962 0.605056 0.60515 0.605243 0.605337 0.605431 0.605525 0.605618
+0.605712 0.605806 0.605899 0.605993 0.606087 0.60618 0.606274 0.606368
+0.606461 0.606555 0.606649 0.606743 0.606836 0.60693 0.607023 0.607117
+0.607211 0.607304 0.607398 0.607492 0.607585 0.607679 0.607773 0.607866
+0.60796 0.608053 0.608147 0.608241 0.608334 0.608428 0.608521 0.608615
+0.608709 0.608802 0.608896 0.608989 0.609083 0.609176 0.60927 0.609363
+0.609457 0.609551 0.609644 0.609738 0.609831 0.609925 0.610018 0.610112
+0.610205 0.610299 0.610392 0.610486 0.610579 0.610673 0.610766 0.61086
+0.610953 0.611047 0.61114 0.611234 0.611327 0.611421 0.611514 0.611608
+0.611701 0.611795 0.611888 0.611981 0.612075 0.612168 0.612262 0.612355
+0.612449 0.612542 0.612635 0.612729 0.612822 0.612916 0.613009 0.613102
+0.613196 0.613289 0.613383 0.613476 0.613569 0.613663 0.613756 0.613849
+0.613943 0.614036 0.614129 0.614223 0.614316 0.614409 0.614503 0.614596
+0.614689 0.614783 0.614876 0.614969 0.615063 0.615156 0.615249 0.615342
+0.615436 0.615529 0.615622 0.615716 0.615809 0.615902 0.615995 0.616089
+0.616182 0.616275 0.616368 0.616462 0.616555 0.616648 0.616741 0.616835
+0.616928 0.617021 0.617114 0.617207 0.617301 0.617394 0.617487 0.61758
+0.617673 0.617767 0.61786 0.617953 0.618046 0.618139 0.618232 0.618326
+0.618419 0.618512 0.618605 0.618698 0.618791 0.618884 0.618977 0.619071
+0.619164 0.619257 0.61935 0.619443 0.619536 0.619629 0.619722 0.619815
+0.619908 0.620001 0.620095 0.620188 0.620281 0.620374 0.620467 0.62056
+0.620653 0.620746 0.620839 0.620932 0.621025 0.621118 0.621211 0.621304
+0.621397 0.62149 0.621583 0.621676 0.621769 0.621862 0.621955 0.622048
+0.622141 0.622234 0.622327 0.62242 0.622513 0.622606 0.622699 0.622792
+0.622885 0.622978 0.62307 0.623163 0.623256 0.623349 0.623442 0.623535
+0.623628 0.623721 0.623814 0.623907 0.623999 0.624092 0.624185 0.624278
+0.624371 0.624464 0.624557 0.62465 0.624742 0.624835 0.624928 0.625021
+0.625114 0.625207 0.625299 0.625392 0.625485 0.625578 0.625671 0.625763
+0.625856 0.625949 0.626042 0.626134 0.626227 0.62632 0.626413 0.626505
+0.626598 0.626691 0.626784 0.626876 0.626969 0.627062 0.627155 0.627247
+0.62734 0.627433 0.627526 0.627618 0.627711 0.627804 0.627896 0.627989
+0.628082 0.628174 0.628267 0.62836 0.628452 0.628545 0.628638 0.62873
+0.628823 0.628916 0.629008 0.629101 0.629193 0.629286 0.629379 0.629471
+0.629564 0.629656 0.629749 0.629842 0.629934 0.630027 0.630119 0.630212
+0.630305 0.630397 0.63049 0.630582 0.630675 0.630767 0.63086 0.630952
+0.631045 0.631137 0.63123 0.631322 0.631415 0.631507 0.6316 0.631692
+0.631785 0.631877 0.63197 0.632062 0.632155 0.632247 0.63234 0.632432
+0.632525 0.632617 0.632709 0.632802 0.632894 0.632987 0.633079 0.633172
+0.633264 0.633356 0.633449 0.633541 0.633634 0.633726 0.633818 0.633911
+0.634003 0.634095 0.634188 0.63428 0.634372 0.634465 0.634557 0.63465
+0.634742 0.634834 0.634926 0.635019 0.635111 0.635203 0.635296 0.635388
+0.63548 0.635573 0.635665 0.635757 0.635849 0.635942 0.636034 0.636126
+0.636218 0.636311 0.636403 0.636495 0.636587 0.63668 0.636772 0.636864
+0.636956 0.637048 0.637141 0.637233 0.637325 0.637417 0.637509 0.637602
+0.637694 0.637786 0.637878 0.63797 0.638062 0.638155 0.638247 0.638339
+0.638431 0.638523 0.638615 0.638707 0.638799 0.638891 0.638984 0.639076
+0.639168 0.63926 0.639352 0.639444 0.639536 0.639628 0.63972 0.639812
+0.639904 0.639996 0.640088 0.64018 0.640272 0.640364 0.640456 0.640548
+0.64064 0.640732 0.640824 0.640916 0.641008 0.6411 0.641192 0.641284
+0.641376 0.641468 0.64156 0.641652 0.641744 0.641836 0.641928 0.64202
+0.642112 0.642204 0.642296 0.642388 0.642479 0.642571 0.642663 0.642755
+0.642847 0.642939 0.643031 0.643123 0.643215 0.643306 0.643398 0.64349
+0.643582 0.643674 0.643766 0.643857 0.643949 0.644041 0.644133 0.644225
+0.644316 0.644408 0.6445 0.644592 0.644684 0.644775 0.644867 0.644959
+0.645051 0.645142 0.645234 0.645326 0.645418 0.645509 0.645601 0.645693
+0.645784 0.645876 0.645968 0.64606 0.646151 0.646243 0.646335 0.646426
+0.646518 0.64661 0.646701 0.646793 0.646885 0.646976 0.647068 0.647159
+0.647251 0.647343 0.647434 0.647526 0.647618 0.647709 0.647801 0.647892
+0.647984 0.648075 0.648167 0.648259 0.64835 0.648442 0.648533 0.648625
+0.648716 0.648808 0.648899 0.648991 0.649082 0.649174 0.649265 0.649357
+0.649448 0.64954 0.649631 0.649723 0.649814 0.649906 0.649997 0.650089
+0.65018 0.650272 0.650363 0.650455 0.650546 0.650637 0.650729 0.65082
+0.650912 0.651003 0.651094 0.651186 0.651277 0.651368 0.65146 0.651551
+0.651643 0.651734 0.651825 0.651917 0.652008 0.652099 0.652191 0.652282
+0.652373 0.652465 0.652556 0.652647 0.652739 0.65283 0.652921 0.653012
+0.653104 0.653195 0.653286 0.653377 0.653469 0.65356 0.653651 0.653742
+0.653834 0.653925 0.654016 0.654107 0.654198 0.65429 0.654381 0.654472
+0.654563 0.654654 0.654746 0.654837 0.654928 0.655019 0.65511 0.655201
+0.655292 0.655384 0.655475 0.655566 0.655657 0.655748 0.655839 0.65593
+0.656021 0.656112 0.656204 0.656295 0.656386 0.656477 0.656568 0.656659
+0.65675 0.656841 0.656932 0.657023 0.657114 0.657205 0.657296 0.657387
+0.657478 0.657569 0.65766 0.657751 0.657842 0.657933 0.658024 0.658115
+0.658206 0.658297 0.658388 0.658479 0.65857 0.65866 0.658751 0.658842
+0.658933 0.659024 0.659115 0.659206 0.659297 0.659388 0.659478 0.659569
+0.65966 0.659751 0.659842 0.659933 0.660024 0.660114 0.660205 0.660296
+0.660387 0.660478 0.660568 0.660659 0.66075 0.660841 0.660932 0.661022
+0.661113 0.661204 0.661295 0.661385 0.661476 0.661567 0.661658 0.661748
+0.661839 0.66193 0.66202 0.662111 0.662202 0.662292 0.662383 0.662474
+0.662564 0.662655 0.662746 0.662836 0.662927 0.663018 0.663108 0.663199
+0.66329 0.66338 0.663471 0.663561 0.663652 0.663743 0.663833 0.663924
+0.664014 0.664105 0.664195 0.664286 0.664377 0.664467 0.664558 0.664648
+0.664739 0.664829 0.66492 0.66501 0.665101 0.665191 0.665282 0.665372
+0.665463 0.665553 0.665644 0.665734 0.665825 0.665915 0.666005 0.666096
+0.666186 0.666277 0.666367 0.666458 0.666548 0.666638 0.666729 0.666819
+0.666909 0.667 0.66709 0.667181 0.667271 0.667361 0.667452 0.667542
+0.667632 0.667723 0.667813 0.667903 0.667993 0.668084 0.668174 0.668264
+0.668355 0.668445 0.668535 0.668625 0.668716 0.668806 0.668896 0.668986
+0.669077 0.669167 0.669257 0.669347 0.669438 0.669528 0.669618 0.669708
+0.669798;
+#A 10000 0.669888 0.669979 0.670069 0.670159 0.670249 0.670339 0.670429
+0.670519 0.67061 0.6707 0.67079 0.67088 0.67097 0.67106 0.67115 0.67124
+0.67133 0.67142 0.67151 0.671601 0.671691 0.671781 0.671871 0.671961
+0.672051 0.672141 0.672231 0.672321 0.672411 0.672501 0.672591 0.672681
+0.672771 0.672861 0.672951 0.673041 0.673131 0.67322 0.67331 0.6734
+0.67349 0.67358 0.67367 0.67376 0.67385 0.67394 0.67403 0.674119 0.674209
+0.674299 0.674389 0.674479 0.674569 0.674659 0.674748 0.674838 0.674928
+0.675018 0.675108 0.675197 0.675287 0.675377 0.675467 0.675557 0.675646
+0.675736 0.675826 0.675916 0.676005 0.676095 0.676185 0.676275 0.676364
+0.676454 0.676544 0.676633 0.676723 0.676813 0.676902 0.676992 0.677082
+0.677171 0.677261 0.677351 0.67744 0.67753 0.67762 0.677709 0.677799
+0.677888 0.677978 0.678068 0.678157 0.678247 0.678336 0.678426 0.678515
+0.678605 0.678695 0.678784 0.678874 0.678963 0.679053 0.679142 0.679232
+0.679321 0.679411 0.6795 0.67959 0.679679 0.679769 0.679858 0.679947
+0.680037 0.680126 0.680216 0.680305 0.680395 0.680484 0.680574 0.680663
+0.680752 0.680842 0.680931 0.68102 0.68111 0.681199 0.681289 0.681378
+0.681467 0.681557 0.681646 0.681735 0.681825 0.681914 0.682003 0.682092
+0.682182 0.682271 0.68236 0.68245 0.682539 0.682628 0.682717 0.682806
+0.682896 0.682985 0.683074 0.683163 0.683253 0.683342 0.683431 0.68352
+0.683609 0.683699 0.683788 0.683877 0.683966 0.684055 0.684144 0.684233
+0.684323 0.684412 0.684501 0.68459 0.684679 0.684768 0.684857 0.684946
+0.685035 0.685124 0.685213 0.685302 0.685391 0.685481 0.68557 0.685659
+0.685748 0.685837 0.685926 0.686015 0.686104 0.686193 0.686282 0.686371
+0.686459 0.686548 0.686637 0.686726 0.686815 0.686904 0.686993 0.687082
+0.687171 0.68726 0.687349 0.687438 0.687527 0.687615 0.687704 0.687793
+0.687882 0.687971 0.68806 0.688148 0.688237 0.688326 0.688415 0.688504
+0.688592 0.688681 0.68877 0.688859 0.688948 0.689036 0.689125 0.689214
+0.689303 0.689391 0.68948 0.689569 0.689658 0.689746 0.689835 0.689924
+0.690012 0.690101 0.69019 0.690278 0.690367 0.690456 0.690544 0.690633
+0.690722 0.69081 0.690899 0.690987 0.691076 0.691165 0.691253 0.691342
+0.69143 0.691519 0.691607 0.691696 0.691785 0.691873 0.691962 0.69205
+0.692139 0.692227 0.692316 0.692404 0.692493 0.692581 0.69267 0.692758
+0.692846 0.692935 0.693023 0.693112 0.6932 0.693289 0.693377 0.693466
+0.693554 0.693642 0.693731 0.693819 0.693907 0.693996 0.694084 0.694173
+0.694261 0.694349 0.694438 0.694526 0.694614 0.694703 0.694791 0.694879
+0.694967 0.695056 0.695144 0.695232 0.69532 0.695409 0.695497 0.695585
+0.695673 0.695762 0.69585 0.695938 0.696026 0.696114 0.696203 0.696291
+0.696379 0.696467 0.696555 0.696643 0.696732 0.69682 0.696908 0.696996
+0.697084 0.697172 0.69726 0.697348 0.697437 0.697525 0.697613 0.697701
+0.697789 0.697877 0.697965 0.698053 0.698141 0.698229 0.698317 0.698405
+0.698493 0.698581 0.698669 0.698757 0.698845 0.698933 0.699021 0.699109
+0.699197 0.699285 0.699373 0.699461 0.699548 0.699636 0.699724 0.699812
+0.6999 0.699988 0.700076 0.700164 0.700251 0.700339 0.700427 0.700515
+0.700603 0.700691 0.700778 0.700866 0.700954 0.701042 0.70113 0.701217
+0.701305 0.701393 0.701481 0.701568 0.701656 0.701744 0.701832 0.701919
+0.702007 0.702095 0.702182 0.70227 0.702358 0.702445 0.702533 0.702621
+0.702708 0.702796 0.702884 0.702971 0.703059 0.703146 0.703234 0.703322
+0.703409 0.703497 0.703584 0.703672 0.703759 0.703847 0.703935 0.704022
+0.70411 0.704197 0.704285 0.704372 0.70446 0.704547 0.704635 0.704722
+0.70481 0.704897 0.704984 0.705072 0.705159 0.705247 0.705334 0.705422
+0.705509 0.705596 0.705684 0.705771 0.705859 0.705946 0.706033 0.706121
+0.706208 0.706295 0.706383 0.70647 0.706557 0.706645 0.706732 0.706819
+0.706906 0.706994 0.707081 0.707168 0.707255 0.707343 0.70743 0.707517
+0.707604 0.707692 0.707779 0.707866 0.707953 0.70804 0.708128 0.708215
+0.708302 0.708389 0.708476 0.708563 0.708651 0.708738 0.708825 0.708912
+0.708999 0.709086 0.709173 0.70926 0.709347 0.709434 0.709521 0.709608
+0.709695 0.709783 0.70987 0.709957 0.710044 0.710131 0.710218 0.710305
+0.710392 0.710478 0.710565 0.710652 0.710739 0.710826 0.710913 0.711
+0.711087 0.711174 0.711261 0.711348 0.711435 0.711522 0.711608 0.711695
+0.711782 0.711869 0.711956 0.712043 0.712129 0.712216 0.712303 0.71239
+0.712477 0.712563 0.71265 0.712737 0.712824 0.71291 0.712997 0.713084
+0.713171 0.713257 0.713344 0.713431 0.713517 0.713604 0.713691 0.713778
+0.713864 0.713951 0.714038 0.714124 0.714211 0.714297 0.714384 0.714471
+0.714557 0.714644 0.71473 0.714817 0.714904 0.71499 0.715077 0.715163
+0.71525 0.715336 0.715423 0.715509 0.715596 0.715682 0.715769 0.715855
+0.715942 0.716028 0.716115 0.716201 0.716288 0.716374 0.71646 0.716547
+0.716633 0.71672 0.716806 0.716892 0.716979 0.717065 0.717152 0.717238
+0.717324 0.717411 0.717497 0.717583 0.71767 0.717756 0.717842 0.717929
+0.718015 0.718101 0.718187 0.718274 0.71836 0.718446 0.718532 0.718619
+0.718705 0.718791 0.718877 0.718963 0.71905 0.719136 0.719222 0.719308
+0.719394 0.71948 0.719567 0.719653 0.719739 0.719825 0.719911 0.719997
+0.720083 0.720169 0.720255 0.720341 0.720428 0.720514 0.7206 0.720686
+0.720772 0.720858 0.720944 0.72103 0.721116 0.721202 0.721288 0.721374
+0.72146 0.721546 0.721631 0.721717 0.721803 0.721889 0.721975 0.722061
+0.722147 0.722233 0.722319 0.722405 0.72249 0.722576 0.722662 0.722748
+0.722834 0.72292 0.723005 0.723091 0.723177 0.723263 0.723349 0.723434
+0.72352 0.723606 0.723692 0.723777 0.723863 0.723949 0.724035 0.72412
+0.724206 0.724292 0.724377 0.724463 0.724549 0.724634 0.72472 0.724806
+0.724891 0.724977 0.725063 0.725148 0.725234 0.725319 0.725405 0.725491
+0.725576 0.725662 0.725747 0.725833 0.725918 0.726004 0.726089 0.726175
+0.72626 0.726346 0.726431 0.726517 0.726602 0.726688 0.726773 0.726859
+0.726944 0.727029 0.727115 0.7272 0.727286 0.727371 0.727456 0.727542
+0.727627 0.727713 0.727798 0.727883 0.727969 0.728054 0.728139 0.728225
+0.72831 0.728395 0.72848 0.728566 0.728651 0.728736 0.728821 0.728907
+0.728992 0.729077 0.729162 0.729248 0.729333 0.729418 0.729503 0.729588
+0.729673 0.729759 0.729844 0.729929 0.730014 0.730099 0.730184 0.730269
+0.730354 0.73044 0.730525 0.73061 0.730695 0.73078 0.730865 0.73095
+0.731035 0.73112 0.731205 0.73129 0.731375 0.73146 0.731545 0.73163
+0.731715 0.7318 0.731885 0.73197 0.732055 0.73214 0.732224 0.732309
+0.732394 0.732479 0.732564 0.732649 0.732734 0.732819 0.732903 0.732988
+0.733073 0.733158 0.733243 0.733328 0.733412 0.733497 0.733582 0.733667
+0.733751 0.733836 0.733921 0.734006 0.73409 0.734175 0.73426 0.734344
+0.734429 0.734514 0.734598 0.734683 0.734768 0.734852 0.734937 0.735022
+0.735106 0.735191 0.735276 0.73536 0.735445 0.735529 0.735614 0.735698
+0.735783 0.735867 0.735952 0.736037 0.736121 0.736206 0.73629 0.736374
+0.736459 0.736543 0.736628 0.736712 0.736797 0.736881 0.736966 0.73705
+0.737135 0.737219 0.737303 0.737388 0.737472 0.737556 0.737641 0.737725
+0.737809 0.737894 0.737978 0.738062 0.738147 0.738231 0.738315 0.7384
+0.738484 0.738568 0.738652 0.738737 0.738821 0.738905 0.738989 0.739074
+0.739158 0.739242 0.739326 0.73941 0.739494 0.739579 0.739663 0.739747
+0.739831 0.739915 0.739999 0.740083 0.740167 0.740252 0.740336 0.74042
+0.740504 0.740588 0.740672 0.740756 0.74084 0.740924 0.741008 0.741092
+0.741176 0.74126 0.741344 0.741428 0.741512 0.741596 0.74168 0.741764
+0.741847 0.741931 0.742015 0.742099 0.742183 0.742267 0.742351 0.742435
+0.742518 0.742602 0.742686 0.74277 0.742854 0.742938 0.743021 0.743105
+0.743189 0.743273 0.743356 0.74344 0.743524 0.743608 0.743691 0.743775
+0.743859 0.743942 0.744026 0.74411 0.744193 0.744277 0.744361 0.744444
+0.744528 0.744612 0.744695 0.744779 0.744862 0.744946 0.74503 0.745113
+0.745197 0.74528 0.745364 0.745447 0.745531 0.745614 0.745698 0.745781
+0.745865 0.745948 0.746032 0.746115 0.746199 0.746282 0.746366 0.746449
+0.746532 0.746616 0.746699 0.746783 0.746866 0.746949 0.747033 0.747116
+0.747199 0.747283 0.747366 0.747449 0.747533 0.747616 0.747699 0.747783
+0.747866 0.747949 0.748032 0.748116 0.748199 0.748282 0.748365 0.748449
+0.748532 0.748615 0.748698 0.748781 0.748864 0.748948 0.749031 0.749114
+0.749197 0.74928 0.749363 0.749446 0.749529 0.749612 0.749695 0.749779
+0.749862 0.749945 0.750028 0.750111 0.750194 0.750277 0.75036 0.750443
+0.750526 0.750609 0.750692 0.750775 0.750857 0.75094 0.751023 0.751106
+0.751189 0.751272 0.751355 0.751438 0.751521 0.751603 0.751686 0.751769
+0.751852 0.751935 0.752018 0.7521 0.752183 0.752266 0.752349 0.752432
+0.752514 0.752597 0.75268 0.752762 0.752845 0.752928 0.753011 0.753093
+0.753176 0.753259 0.753341 0.753424 0.753507 0.753589 0.753672 0.753754
+0.753837 0.75392 0.754002 0.754085 0.754167 0.75425 0.754333 0.754415
+0.754498 0.75458 0.754663 0.754745 0.754828 0.75491 0.754993 0.755075
+0.755158 0.75524 0.755322 0.755405 0.755487 0.75557 0.755652 0.755734
+0.755817 0.755899 0.755982 0.756064 0.756146 0.756229 0.756311;
+#A 11000 0.756393 0.756476 0.756558 0.75664 0.756722 0.756805 0.756887
+0.756969 0.757051 0.757134 0.757216 0.757298 0.75738 0.757462 0.757545
+0.757627 0.757709 0.757791 0.757873 0.757955 0.758038 0.75812 0.758202
+0.758284 0.758366 0.758448 0.75853 0.758612 0.758694 0.758776 0.758858
+0.75894 0.759022 0.759104 0.759186 0.759268 0.75935 0.759432 0.759514
+0.759596 0.759678 0.75976 0.759842 0.759924 0.760006 0.760088 0.760169
+0.760251 0.760333 0.760415 0.760497 0.760579 0.76066 0.760742 0.760824
+0.760906 0.760988 0.761069 0.761151 0.761233 0.761315 0.761396 0.761478
+0.76156 0.761642 0.761723 0.761805 0.761887 0.761968 0.76205 0.762132
+0.762213 0.762295 0.762376 0.762458 0.76254 0.762621 0.762703 0.762784
+0.762866 0.762947 0.763029 0.763111 0.763192 0.763274 0.763355 0.763437
+0.763518 0.7636 0.763681 0.763762 0.763844 0.763925 0.764007 0.764088
+0.76417 0.764251 0.764332 0.764414 0.764495 0.764576 0.764658 0.764739
+0.764821 0.764902 0.764983 0.765064 0.765146 0.765227 0.765308 0.76539
+0.765471 0.765552 0.765633 0.765714 0.765796 0.765877 0.765958 0.766039
+0.76612 0.766202 0.766283 0.766364 0.766445 0.766526 0.766607 0.766688
+0.766769 0.76685 0.766932 0.767013 0.767094 0.767175 0.767256 0.767337
+0.767418 0.767499 0.76758 0.767661 0.767742 0.767823 0.767904 0.767985
+0.768066 0.768147 0.768227 0.768308 0.768389 0.76847 0.768551 0.768632
+0.768713 0.768794 0.768874 0.768955 0.769036 0.769117 0.769198 0.769278
+0.769359 0.76944 0.769521 0.769601 0.769682 0.769763 0.769844 0.769924
+0.770005 0.770086 0.770166 0.770247 0.770328 0.770408 0.770489 0.77057
+0.77065 0.770731 0.770811 0.770892 0.770973 0.771053 0.771134 0.771214
+0.771295 0.771375 0.771456 0.771536 0.771617 0.771697 0.771778 0.771858
+0.771939 0.772019 0.7721 0.77218 0.772261 0.772341 0.772421 0.772502
+0.772582 0.772663 0.772743 0.772823 0.772904 0.772984 0.773064 0.773144
+0.773225 0.773305 0.773385 0.773466 0.773546 0.773626 0.773706 0.773787
+0.773867 0.773947 0.774027 0.774107 0.774188 0.774268 0.774348 0.774428
+0.774508 0.774588 0.774668 0.774749 0.774829 0.774909 0.774989 0.775069
+0.775149 0.775229 0.775309 0.775389 0.775469 0.775549 0.775629 0.775709
+0.775789 0.775869 0.775949 0.776029 0.776109 0.776189 0.776269 0.776349
+0.776428 0.776508 0.776588 0.776668 0.776748 0.776828 0.776908 0.776987
+0.777067 0.777147 0.777227 0.777307 0.777386 0.777466 0.777546 0.777626
+0.777705 0.777785 0.777865 0.777945 0.778024 0.778104 0.778184 0.778263
+0.778343 0.778423 0.778502 0.778582 0.778661 0.778741 0.778821 0.7789
+0.77898 0.779059 0.779139 0.779218 0.779298 0.779377 0.779457 0.779536
+0.779616 0.779695 0.779775 0.779854 0.779934 0.780013 0.780093 0.780172
+0.780251 0.780331 0.78041 0.78049 0.780569 0.780648 0.780728 0.780807
+0.780886 0.780966 0.781045 0.781124 0.781203 0.781283 0.781362 0.781441
+0.78152 0.7816 0.781679 0.781758 0.781837 0.781916 0.781996 0.782075
+0.782154 0.782233 0.782312 0.782391 0.78247 0.78255 0.782629 0.782708
+0.782787 0.782866 0.782945 0.783024 0.783103 0.783182 0.783261 0.78334
+0.783419 0.783498 0.783577 0.783656 0.783735 0.783814 0.783893 0.783972
+0.784051 0.78413 0.784208 0.784287 0.784366 0.784445 0.784524 0.784603
+0.784681 0.78476 0.784839 0.784918 0.784997 0.785075 0.785154 0.785233
+0.785312 0.78539 0.785469 0.785548 0.785626 0.785705 0.785784 0.785863
+0.785941 0.78602 0.786098 0.786177 0.786256 0.786334 0.786413 0.786491
+0.78657 0.786649 0.786727 0.786806 0.786884 0.786963 0.787041 0.78712
+0.787198 0.787277 0.787355 0.787434 0.787512 0.78759 0.787669 0.787747
+0.787826 0.787904 0.787982 0.788061 0.788139 0.788218 0.788296 0.788374
+0.788453 0.788531 0.788609 0.788687 0.788766 0.788844 0.788922 0.789
+0.789079 0.789157 0.789235 0.789313 0.789392 0.78947 0.789548 0.789626
+0.789704 0.789782 0.78986 0.789939 0.790017 0.790095 0.790173 0.790251
+0.790329 0.790407 0.790485 0.790563 0.790641 0.790719 0.790797 0.790875
+0.790953 0.791031 0.791109 0.791187 0.791265 0.791343 0.791421 0.791499
+0.791576 0.791654 0.791732 0.79181 0.791888 0.791966 0.792044 0.792121
+0.792199 0.792277 0.792355 0.792433 0.79251 0.792588 0.792666 0.792744
+0.792821 0.792899 0.792977 0.793054 0.793132 0.79321 0.793287 0.793365
+0.793443 0.79352 0.793598 0.793675 0.793753 0.793831 0.793908 0.793986
+0.794063 0.794141 0.794218 0.794296 0.794373 0.794451 0.794528 0.794606
+0.794683 0.794761 0.794838 0.794915 0.794993 0.79507 0.795148 0.795225
+0.795303 0.79538 0.795457 0.795535 0.795612 0.795689 0.795766 0.795844
+0.795921 0.795998 0.796076 0.796153 0.79623 0.796307 0.796385 0.796462
+0.796539 0.796616 0.796693 0.796771 0.796848 0.796925 0.797002 0.797079
+0.797156 0.797233 0.79731 0.797387 0.797464 0.797542 0.797619 0.797696
+0.797773 0.79785 0.797927 0.798004 0.798081 0.798158 0.798235 0.798311
+0.798388 0.798465 0.798542 0.798619 0.798696 0.798773 0.79885 0.798927
+0.799004 0.79908 0.799157 0.799234 0.799311 0.799388 0.799464 0.799541
+0.799618 0.799695 0.799771 0.799848 0.799925 0.800002 0.800078 0.800155
+0.800232 0.800308 0.800385 0.800462 0.800538 0.800615 0.800691 0.800768
+0.800845 0.800921 0.800998 0.801074 0.801151 0.801227 0.801304 0.80138
+0.801457 0.801533 0.80161 0.801686 0.801763 0.801839 0.801916 0.801992
+0.802068 0.802145 0.802221 0.802298 0.802374 0.80245 0.802527 0.802603
+0.802679 0.802756 0.802832 0.802908 0.802984 0.803061 0.803137 0.803213
+0.803289 0.803366 0.803442 0.803518 0.803594 0.80367 0.803746 0.803823
+0.803899 0.803975 0.804051 0.804127 0.804203 0.804279 0.804355 0.804431
+0.804507 0.804583 0.80466 0.804736 0.804812 0.804888 0.804964 0.80504
+0.805115 0.805191 0.805267 0.805343 0.805419 0.805495 0.805571 0.805647
+0.805723 0.805799 0.805874 0.80595 0.806026 0.806102 0.806178 0.806253
+0.806329 0.806405 0.806481 0.806557 0.806632 0.806708 0.806784 0.806859
+0.806935 0.807011 0.807086 0.807162 0.807238 0.807313 0.807389 0.807465
+0.80754 0.807616 0.807691 0.807767 0.807842 0.807918 0.807994 0.808069
+0.808145 0.80822 0.808296 0.808371 0.808447 0.808522 0.808597 0.808673
+0.808748 0.808824 0.808899 0.808974 0.80905 0.809125 0.809201 0.809276
+0.809351 0.809426 0.809502 0.809577 0.809652 0.809728 0.809803 0.809878
+0.809953 0.810029 0.810104 0.810179 0.810254 0.810329 0.810405 0.81048
+0.810555 0.81063 0.810705 0.81078 0.810855 0.81093 0.811005 0.811081
+0.811156 0.811231 0.811306 0.811381 0.811456 0.811531 0.811606 0.811681
+0.811756 0.811831 0.811906 0.81198 0.812055 0.81213 0.812205 0.81228
+0.812355 0.81243 0.812505 0.812579 0.812654 0.812729 0.812804 0.812879
+0.812953 0.813028 0.813103 0.813178 0.813252 0.813327 0.813402 0.813477
+0.813551 0.813626 0.813701 0.813775 0.81385 0.813924 0.813999 0.814074
+0.814148 0.814223 0.814297 0.814372 0.814447 0.814521 0.814596 0.81467
+0.814745 0.814819 0.814894 0.814968 0.815042 0.815117 0.815191 0.815266
+0.81534 0.815415 0.815489 0.815563 0.815638 0.815712 0.815786 0.815861
+0.815935 0.816009 0.816084 0.816158 0.816232 0.816306 0.816381 0.816455
+0.816529 0.816603 0.816678 0.816752 0.816826 0.8169 0.816974 0.817048
+0.817123 0.817197 0.817271 0.817345 0.817419 0.817493 0.817567 0.817641
+0.817715 0.817789 0.817863 0.817937 0.818011 0.818085 0.818159 0.818233
+0.818307 0.818381 0.818455 0.818529 0.818603 0.818677 0.81875 0.818824
+0.818898 0.818972 0.819046 0.81912 0.819193 0.819267 0.819341 0.819415
+0.819488 0.819562 0.819636 0.81971 0.819783 0.819857 0.819931 0.820004
+0.820078 0.820152 0.820225 0.820299 0.820373 0.820446 0.82052 0.820593
+0.820667 0.820741 0.820814 0.820888 0.820961 0.821035 0.821108 0.821182
+0.821255 0.821329 0.821402 0.821475 0.821549 0.821622 0.821696 0.821769
+0.821842 0.821916 0.821989 0.822062 0.822136 0.822209 0.822282 0.822356
+0.822429 0.822502 0.822576 0.822649 0.822722 0.822795 0.822868 0.822942
+0.823015 0.823088 0.823161 0.823234 0.823307 0.823381 0.823454 0.823527
+0.8236 0.823673 0.823746 0.823819 0.823892 0.823965 0.824038 0.824111
+0.824184 0.824257 0.82433 0.824403 0.824476 0.824549 0.824622 0.824695
+0.824768 0.824841 0.824914 0.824986 0.825059 0.825132 0.825205 0.825278
+0.825351 0.825423 0.825496 0.825569 0.825642 0.825714 0.825787 0.82586
+0.825933 0.826005 0.826078 0.826151 0.826223 0.826296 0.826369 0.826441
+0.826514 0.826586 0.826659 0.826732 0.826804 0.826877 0.826949 0.827022
+0.827094 0.827167 0.827239 0.827312 0.827384 0.827457 0.827529 0.827602
+0.827674 0.827746 0.827819 0.827891 0.827964 0.828036 0.828108 0.828181
+0.828253 0.828325 0.828398 0.82847 0.828542 0.828614 0.828687 0.828759
+0.828831 0.828903 0.828976 0.829048 0.82912 0.829192 0.829264 0.829336
+0.829409 0.829481 0.829553 0.829625 0.829697 0.829769 0.829841 0.829913
+0.829985 0.830057 0.830129 0.830201 0.830273 0.830345 0.830417 0.830489
+0.830561 0.830633 0.830705 0.830777 0.830849 0.830921 0.830992 0.831064
+0.831136 0.831208 0.83128 0.831352 0.831423 0.831495 0.831567 0.831639
+0.83171 0.831782 0.831854 0.831926 0.831997 0.832069 0.832141 0.832212
+0.832284 0.832355 0.832427 0.832499 0.83257 0.832642 0.832713 0.832785
+0.832857 0.832928 0.833 0.833071 0.833143 0.833214 0.833286 0.833357
+0.833429;
+#A 12000 0.8335 0.833571 0.833643 0.833714 0.833786 0.833857 0.833928
+0.834 0.834071 0.834142 0.834214 0.834285 0.834356 0.834428 0.834499
+0.83457 0.834641 0.834713 0.834784 0.834855 0.834926 0.834997 0.835068
+0.83514 0.835211 0.835282 0.835353 0.835424 0.835495 0.835566 0.835637
+0.835708 0.835779 0.835851 0.835922 0.835993 0.836064 0.836134 0.836205
+0.836276 0.836347 0.836418 0.836489 0.83656 0.836631 0.836702 0.836773
+0.836844 0.836914 0.836985 0.837056 0.837127 0.837198 0.837269 0.837339
+0.83741 0.837481 0.837552 0.837622 0.837693 0.837764 0.837834 0.837905
+0.837976 0.838046 0.838117 0.838188 0.838258 0.838329 0.838399 0.83847
+0.838541 0.838611 0.838682 0.838752 0.838823 0.838893 0.838964 0.839034
+0.839105 0.839175 0.839245 0.839316 0.839386 0.839457 0.839527 0.839597
+0.839668 0.839738 0.839809 0.839879 0.839949 0.840019 0.84009 0.84016
+0.84023 0.840301 0.840371 0.840441 0.840511 0.840581 0.840652 0.840722
+0.840792 0.840862 0.840932 0.841002 0.841072 0.841143 0.841213 0.841283
+0.841353 0.841423 0.841493 0.841563 0.841633 0.841703 0.841773 0.841843
+0.841913 0.841983 0.842053 0.842123 0.842192 0.842262 0.842332 0.842402
+0.842472 0.842542 0.842612 0.842681 0.842751 0.842821 0.842891 0.842961
+0.84303 0.8431 0.84317 0.84324 0.843309 0.843379 0.843449 0.843518
+0.843588 0.843658 0.843727 0.843797 0.843867 0.843936 0.844006 0.844075
+0.844145 0.844214 0.844284 0.844353 0.844423 0.844492 0.844562 0.844631
+0.844701 0.84477 0.84484 0.844909 0.844979 0.845048 0.845117 0.845187
+0.845256 0.845325 0.845395 0.845464 0.845533 0.845603 0.845672 0.845741
+0.84581 0.84588 0.845949 0.846018 0.846087 0.846156 0.846226 0.846295
+0.846364 0.846433 0.846502 0.846571 0.84664 0.846709 0.846779 0.846848
+0.846917 0.846986 0.847055 0.847124 0.847193 0.847262 0.847331 0.8474
+0.847469 0.847538 0.847606 0.847675 0.847744 0.847813 0.847882 0.847951
+0.84802 0.848089 0.848157 0.848226 0.848295 0.848364 0.848433 0.848501
+0.84857 0.848639 0.848707 0.848776 0.848845 0.848914 0.848982 0.849051
+0.849119 0.849188 0.849257 0.849325 0.849394 0.849463 0.849531 0.8496
+0.849668 0.849737 0.849805 0.849874 0.849942 0.850011 0.850079 0.850148
+0.850216 0.850284 0.850353 0.850421 0.85049 0.850558 0.850626 0.850695
+0.850763 0.850831 0.8509 0.850968 0.851036 0.851104 0.851173 0.851241
+0.851309 0.851377 0.851446 0.851514 0.851582 0.85165 0.851718 0.851786
+0.851855 0.851923 0.851991 0.852059 0.852127 0.852195 0.852263 0.852331
+0.852399 0.852467 0.852535 0.852603 0.852671 0.852739 0.852807 0.852875
+0.852943 0.853011 0.853079 0.853146 0.853214 0.853282 0.85335 0.853418
+0.853486 0.853553 0.853621 0.853689 0.853757 0.853824 0.853892 0.85396
+0.854028 0.854095 0.854163 0.854231 0.854298 0.854366 0.854434 0.854501
+0.854569 0.854636 0.854704 0.854772 0.854839 0.854907 0.854974 0.855042
+0.855109 0.855177 0.855244 0.855312 0.855379 0.855447 0.855514 0.855581
+0.855649 0.855716 0.855783 0.855851 0.855918 0.855986 0.856053 0.85612
+0.856187 0.856255 0.856322 0.856389 0.856456 0.856524 0.856591 0.856658
+0.856725 0.856792 0.85686 0.856927 0.856994 0.857061 0.857128 0.857195
+0.857262 0.857329 0.857396 0.857463 0.85753 0.857597 0.857664 0.857731
+0.857798 0.857865 0.857932 0.857999 0.858066 0.858133 0.8582 0.858267
+0.858334 0.858401 0.858467 0.858534 0.858601 0.858668 0.858735 0.858801
+0.858868 0.858935 0.859002 0.859069 0.859135 0.859202 0.859269 0.859335
+0.859402 0.859469 0.859535 0.859602 0.859668 0.859735 0.859802 0.859868
+0.859935 0.860001 0.860068 0.860134 0.860201 0.860267 0.860334 0.8604
+0.860467 0.860533 0.8606 0.860666 0.860732 0.860799 0.860865 0.860931
+0.860998 0.861064 0.86113 0.861197 0.861263 0.861329 0.861396 0.861462
+0.861528 0.861594 0.86166 0.861727 0.861793 0.861859 0.861925 0.861991
+0.862057 0.862124 0.86219 0.862256 0.862322 0.862388 0.862454 0.86252
+0.862586 0.862652 0.862718 0.862784 0.86285 0.862916 0.862982 0.863048
+0.863114 0.86318 0.863245 0.863311 0.863377 0.863443 0.863509 0.863575
+0.863641 0.863706 0.863772 0.863838 0.863904 0.863969 0.864035 0.864101
+0.864166 0.864232 0.864298 0.864364 0.864429 0.864495 0.86456 0.864626
+0.864692 0.864757 0.864823 0.864888 0.864954 0.865019 0.865085 0.86515
+0.865216 0.865281 0.865347 0.865412 0.865478 0.865543 0.865609 0.865674
+0.865739 0.865805 0.86587 0.865935 0.866001 0.866066 0.866131 0.866197
+0.866262 0.866327 0.866392 0.866458 0.866523 0.866588 0.866653 0.866718
+0.866784 0.866849 0.866914 0.866979 0.867044 0.867109 0.867174 0.867239
+0.867304 0.867369 0.867434 0.867499 0.867564 0.867629 0.867694 0.867759
+0.867824 0.867889 0.867954 0.868019 0.868084 0.868149 0.868214 0.868279
+0.868343 0.868408 0.868473 0.868538 0.868603 0.868667 0.868732 0.868797
+0.868862 0.868926 0.868991 0.869056 0.86912 0.869185 0.86925 0.869314
+0.869379 0.869444 0.869508 0.869573 0.869637 0.869702 0.869767 0.869831
+0.869896 0.86996 0.870025 0.870089 0.870153 0.870218 0.870282 0.870347
+0.870411 0.870476 0.87054 0.870604 0.870669 0.870733 0.870797 0.870862
+0.870926 0.87099 0.871054 0.871119 0.871183 0.871247 0.871311 0.871376
+0.87144 0.871504 0.871568 0.871632 0.871696 0.871761 0.871825 0.871889
+0.871953 0.872017 0.872081 0.872145 0.872209 0.872273 0.872337 0.872401
+0.872465 0.872529 0.872593 0.872657 0.872721 0.872785 0.872848 0.872912
+0.872976 0.87304 0.873104 0.873168 0.873231 0.873295 0.873359 0.873423
+0.873487 0.87355 0.873614 0.873678 0.873741 0.873805 0.873869 0.873932
+0.873996 0.87406 0.874123 0.874187 0.87425 0.874314 0.874378 0.874441
+0.874505 0.874568 0.874632 0.874695 0.874759 0.874822 0.874886 0.874949
+0.875012 0.875076 0.875139 0.875203 0.875266 0.875329 0.875393 0.875456
+0.875519 0.875583 0.875646 0.875709 0.875772 0.875836 0.875899 0.875962
+0.876025 0.876088 0.876152 0.876215 0.876278 0.876341 0.876404 0.876467
+0.87653 0.876593 0.876656 0.87672 0.876783 0.876846 0.876909 0.876972
+0.877035 0.877097 0.87716 0.877223 0.877286 0.877349 0.877412 0.877475
+0.877538 0.877601 0.877664 0.877726 0.877789 0.877852 0.877915 0.877977
+0.87804 0.878103 0.878166 0.878228 0.878291 0.878354 0.878416 0.878479
+0.878542 0.878604 0.878667 0.87873 0.878792 0.878855 0.878917 0.87898
+0.879042 0.879105 0.879167 0.87923 0.879292 0.879355 0.879417 0.87948
+0.879542 0.879605 0.879667 0.879729 0.879792 0.879854 0.879916 0.879979
+0.880041 0.880103 0.880166 0.880228 0.88029 0.880352 0.880415 0.880477
+0.880539 0.880601 0.880663 0.880726 0.880788 0.88085 0.880912 0.880974
+0.881036 0.881098 0.88116 0.881222 0.881284 0.881346 0.881408 0.88147
+0.881532 0.881594 0.881656 0.881718 0.88178 0.881842 0.881904 0.881966
+0.882028 0.882089 0.882151 0.882213 0.882275 0.882337 0.882398 0.88246
+0.882522 0.882584 0.882645 0.882707 0.882769 0.88283 0.882892 0.882954
+0.883015 0.883077 0.883139 0.8832 0.883262 0.883323 0.883385 0.883446
+0.883508 0.883569 0.883631 0.883692 0.883754 0.883815 0.883877 0.883938
+0.884 0.884061 0.884122 0.884184 0.884245 0.884306 0.884368 0.884429
+0.88449 0.884552 0.884613 0.884674 0.884735 0.884797 0.884858 0.884919
+0.88498 0.885041 0.885103 0.885164 0.885225 0.885286 0.885347 0.885408
+0.885469 0.88553 0.885591 0.885652 0.885713 0.885774 0.885835 0.885896
+0.885957 0.886018 0.886079 0.88614 0.886201 0.886262 0.886323 0.886384
+0.886444 0.886505 0.886566 0.886627 0.886688 0.886748 0.886809 0.88687
+0.886931 0.886991 0.887052 0.887113 0.887173 0.887234 0.887295 0.887355
+0.887416 0.887477 0.887537 0.887598 0.887658 0.887719 0.887779 0.88784
+0.8879 0.887961 0.888021 0.888082 0.888142 0.888203 0.888263 0.888323
+0.888384 0.888444 0.888505 0.888565 0.888625 0.888686 0.888746 0.888806
+0.888866 0.888927 0.888987 0.889047 0.889107 0.889168 0.889228 0.889288
+0.889348 0.889408 0.889468 0.889529 0.889589 0.889649 0.889709 0.889769
+0.889829 0.889889 0.889949 0.890009 0.890069 0.890129 0.890189 0.890249
+0.890309 0.890369 0.890429 0.890488 0.890548 0.890608 0.890668 0.890728
+0.890788 0.890847 0.890907 0.890967 0.891027 0.891086 0.891146 0.891206
+0.891266 0.891325 0.891385 0.891445 0.891504 0.891564 0.891623 0.891683
+0.891743 0.891802 0.891862 0.891921 0.891981 0.89204 0.8921 0.892159
+0.892219 0.892278 0.892338 0.892397 0.892457 0.892516 0.892575 0.892635
+0.892694 0.892753 0.892813 0.892872 0.892931 0.892991 0.89305 0.893109
+0.893168 0.893228 0.893287 0.893346 0.893405 0.893464 0.893524 0.893583
+0.893642 0.893701 0.89376 0.893819 0.893878 0.893937 0.893996 0.894055
+0.894114 0.894173 0.894232 0.894291 0.89435 0.894409 0.894468 0.894527
+0.894586 0.894645 0.894704 0.894762 0.894821 0.89488 0.894939 0.894998
+0.895056 0.895115 0.895174 0.895233 0.895291 0.89535 0.895409 0.895467
+0.895526 0.895585 0.895643 0.895702 0.895761 0.895819 0.895878 0.895936
+0.895995 0.896053 0.896112 0.89617 0.896229 0.896287 0.896346 0.896404
+0.896463 0.896521 0.896579 0.896638 0.896696 0.896755 0.896813 0.896871
+0.896929 0.896988 0.897046 0.897104 0.897163 0.897221 0.897279 0.897337
+0.897395 0.897454 0.897512 0.89757 0.897628 0.897686 0.897744 0.897802
+0.89786 0.897918 0.897977 0.898035 0.898093 0.898151 0.898209 0.898266
+0.898324;
+#A 13000 0.898382 0.89844 0.898498 0.898556 0.898614 0.898672 0.89873
+0.898788 0.898845 0.898903 0.898961 0.899019 0.899077 0.899134 0.899192
+0.89925 0.899307 0.899365 0.899423 0.899481 0.899538 0.899596 0.899653
+0.899711 0.899769 0.899826 0.899884 0.899941 0.899999 0.900056 0.900114
+0.900171 0.900229 0.900286 0.900344 0.900401 0.900459 0.900516 0.900573
+0.900631 0.900688 0.900745 0.900803 0.90086 0.900917 0.900975 0.901032
+0.901089 0.901146 0.901204 0.901261 0.901318 0.901375 0.901432 0.901489
+0.901547 0.901604 0.901661 0.901718 0.901775 0.901832 0.901889 0.901946
+0.902003 0.90206 0.902117 0.902174 0.902231 0.902288 0.902345 0.902402
+0.902459 0.902516 0.902573 0.902629 0.902686 0.902743 0.9028 0.902857
+0.902913 0.90297 0.903027 0.903084 0.90314 0.903197 0.903254 0.90331
+0.903367 0.903424 0.90348 0.903537 0.903594 0.90365 0.903707 0.903763
+0.90382 0.903876 0.903933 0.903989 0.904046 0.904102 0.904159 0.904215
+0.904272 0.904328 0.904384 0.904441 0.904497 0.904554 0.90461 0.904666
+0.904723 0.904779 0.904835 0.904891 0.904948 0.905004 0.90506 0.905116
+0.905172 0.905229 0.905285 0.905341 0.905397 0.905453 0.905509 0.905565
+0.905621 0.905677 0.905733 0.905789 0.905845 0.905901 0.905957 0.906013
+0.906069 0.906125 0.906181 0.906237 0.906293 0.906349 0.906405 0.906461
+0.906516 0.906572 0.906628 0.906684 0.90674 0.906795 0.906851 0.906907
+0.906962 0.907018 0.907074 0.90713 0.907185 0.907241 0.907296 0.907352
+0.907408 0.907463 0.907519 0.907574 0.90763 0.907685 0.907741 0.907796
+0.907852 0.907907 0.907963 0.908018 0.908073 0.908129 0.908184 0.90824
+0.908295 0.90835 0.908406 0.908461 0.908516 0.908571 0.908627 0.908682
+0.908737 0.908792 0.908848 0.908903 0.908958 0.909013 0.909068 0.909123
+0.909178 0.909234 0.909289 0.909344 0.909399 0.909454 0.909509 0.909564
+0.909619 0.909674 0.909729 0.909784 0.909839 0.909894 0.909948 0.910003
+0.910058 0.910113 0.910168 0.910223 0.910277 0.910332 0.910387 0.910442
+0.910497 0.910551 0.910606 0.910661 0.910715 0.91077 0.910825 0.910879
+0.910934 0.910989 0.911043 0.911098 0.911152 0.911207 0.911261 0.911316
+0.91137 0.911425 0.911479 0.911534 0.911588 0.911643 0.911697 0.911752
+0.911806 0.91186 0.911915 0.911969 0.912023 0.912078 0.912132 0.912186
+0.91224 0.912295 0.912349 0.912403 0.912457 0.912511 0.912566 0.91262
+0.912674 0.912728 0.912782 0.912836 0.91289 0.912944 0.912998 0.913052
+0.913107 0.913161 0.913215 0.913269 0.913322 0.913376 0.91343 0.913484
+0.913538 0.913592 0.913646 0.9137 0.913754 0.913807 0.913861 0.913915
+0.913969 0.914023 0.914076 0.91413 0.914184 0.914237 0.914291 0.914345
+0.914398 0.914452 0.914506 0.914559 0.914613 0.914666 0.91472 0.914774
+0.914827 0.914881 0.914934 0.914988 0.915041 0.915095 0.915148 0.915201
+0.915255 0.915308 0.915362 0.915415 0.915468 0.915522 0.915575 0.915628
+0.915682 0.915735 0.915788 0.915841 0.915895 0.915948 0.916001 0.916054
+0.916107 0.91616 0.916214 0.916267 0.91632 0.916373 0.916426 0.916479
+0.916532 0.916585 0.916638 0.916691 0.916744 0.916797 0.91685 0.916903
+0.916956 0.917009 0.917062 0.917114 0.917167 0.91722 0.917273 0.917326
+0.917379 0.917431 0.917484 0.917537 0.91759 0.917642 0.917695 0.917748
+0.9178 0.917853 0.917906 0.917958 0.918011 0.918064 0.918116 0.918169
+0.918221 0.918274 0.918326 0.918379 0.918431 0.918484 0.918536 0.918589
+0.918641 0.918694 0.918746 0.918798 0.918851 0.918903 0.918955 0.919008
+0.91906 0.919112 0.919165 0.919217 0.919269 0.919321 0.919374 0.919426
+0.919478 0.91953 0.919582 0.919634 0.919687 0.919739 0.919791 0.919843
+0.919895 0.919947 0.919999 0.920051 0.920103 0.920155 0.920207 0.920259
+0.920311 0.920363 0.920415 0.920466 0.920518 0.92057 0.920622 0.920674
+0.920726 0.920777 0.920829 0.920881 0.920933 0.920985 0.921036 0.921088
+0.92114 0.921191 0.921243 0.921295 0.921346 0.921398 0.921449 0.921501
+0.921553 0.921604 0.921656 0.921707 0.921759 0.92181 0.921862 0.921913
+0.921965 0.922016 0.922067 0.922119 0.92217 0.922221 0.922273 0.922324
+0.922376 0.922427 0.922478 0.922529 0.922581 0.922632 0.922683 0.922734
+0.922785 0.922837 0.922888 0.922939 0.92299 0.923041 0.923092 0.923143
+0.923194 0.923245 0.923297 0.923348 0.923399 0.92345 0.9235 0.923551
+0.923602 0.923653 0.923704 0.923755 0.923806 0.923857 0.923908 0.923959
+0.924009 0.92406 0.924111 0.924162 0.924212 0.924263 0.924314 0.924365
+0.924415 0.924466 0.924517 0.924567 0.924618 0.924669 0.924719 0.92477
+0.92482 0.924871 0.924921 0.924972 0.925022 0.925073 0.925123 0.925174
+0.925224 0.925275 0.925325 0.925376 0.925426 0.925476 0.925527 0.925577
+0.925627 0.925678 0.925728 0.925778 0.925828 0.925879 0.925929 0.925979
+0.926029 0.926079 0.92613 0.92618 0.92623 0.92628 0.92633 0.92638 0.92643
+0.92648 0.92653 0.92658 0.92663 0.92668 0.92673 0.92678 0.92683 0.92688
+0.92693 0.92698 0.92703 0.92708 0.92713 0.927179 0.927229 0.927279
+0.927329 0.927379 0.927428 0.927478 0.927528 0.927577 0.927627 0.927677
+0.927727 0.927776 0.927826 0.927875 0.927925 0.927975 0.928024 0.928074
+0.928123 0.928173 0.928222 0.928272 0.928321 0.928371 0.92842 0.928469
+0.928519 0.928568 0.928618 0.928667 0.928716 0.928766 0.928815 0.928864
+0.928914 0.928963 0.929012 0.929061 0.929111 0.92916 0.929209 0.929258
+0.929307 0.929356 0.929406 0.929455 0.929504 0.929553 0.929602 0.929651
+0.9297 0.929749 0.929798 0.929847 0.929896 0.929945 0.929994 0.930043
+0.930092 0.93014 0.930189 0.930238 0.930287 0.930336 0.930385 0.930433
+0.930482 0.930531 0.93058 0.930628 0.930677 0.930726 0.930775 0.930823
+0.930872 0.930921 0.930969 0.931018 0.931066 0.931115 0.931163 0.931212
+0.931261 0.931309 0.931358 0.931406 0.931454 0.931503 0.931551 0.9316
+0.931648 0.931696 0.931745 0.931793 0.931842 0.93189 0.931938 0.931986
+0.932035 0.932083 0.932131 0.932179 0.932228 0.932276 0.932324 0.932372
+0.93242 0.932468 0.932517 0.932565 0.932613 0.932661 0.932709 0.932757
+0.932805 0.932853 0.932901 0.932949 0.932997 0.933045 0.933093 0.93314
+0.933188 0.933236 0.933284 0.933332 0.93338 0.933428 0.933475 0.933523
+0.933571 0.933619 0.933666 0.933714 0.933762 0.933809 0.933857 0.933905
+0.933952 0.934 0.934048 0.934095 0.934143 0.93419 0.934238 0.934285
+0.934333 0.93438 0.934428 0.934475 0.934523 0.93457 0.934618 0.934665
+0.934712 0.93476 0.934807 0.934854 0.934902 0.934949 0.934996 0.935044
+0.935091 0.935138 0.935185 0.935232 0.93528 0.935327 0.935374 0.935421
+0.935468 0.935515 0.935562 0.935609 0.935656 0.935704 0.935751 0.935798
+0.935845 0.935892 0.935938 0.935985 0.936032 0.936079 0.936126 0.936173
+0.93622 0.936267 0.936314 0.93636 0.936407 0.936454 0.936501 0.936548
+0.936594 0.936641 0.936688 0.936734 0.936781 0.936828 0.936874 0.936921
+0.936968 0.937014 0.937061 0.937107 0.937154 0.9372 0.937247 0.937293
+0.93734 0.937386 0.937433 0.937479 0.937526 0.937572 0.937618 0.937665
+0.937711 0.937757 0.937804 0.93785 0.937896 0.937943 0.937989 0.938035
+0.938081 0.938127 0.938174 0.93822 0.938266 0.938312 0.938358 0.938404
+0.93845 0.938497 0.938543 0.938589 0.938635 0.938681 0.938727 0.938773
+0.938819 0.938865 0.93891 0.938956 0.939002 0.939048 0.939094 0.93914
+0.939186 0.939232 0.939277 0.939323 0.939369 0.939415 0.93946 0.939506
+0.939552 0.939597 0.939643 0.939689 0.939734 0.93978 0.939826 0.939871
+0.939917 0.939962 0.940008 0.940054 0.940099 0.940144 0.94019 0.940235
+0.940281 0.940326 0.940372 0.940417 0.940463 0.940508 0.940553 0.940599
+0.940644 0.940689 0.940734 0.94078 0.940825 0.94087 0.940915 0.940961
+0.941006 0.941051 0.941096 0.941141 0.941186 0.941231 0.941277 0.941322
+0.941367 0.941412 0.941457 0.941502 0.941547 0.941592 0.941637 0.941682
+0.941727 0.941772 0.941816 0.941861 0.941906 0.941951 0.941996 0.942041
+0.942085 0.94213 0.942175 0.94222 0.942264 0.942309 0.942354 0.942399
+0.942443 0.942488 0.942532 0.942577 0.942622 0.942666 0.942711 0.942755
+0.9428 0.942845 0.942889 0.942933 0.942978 0.943022 0.943067 0.943111
+0.943156 0.9432 0.943244 0.943289 0.943333 0.943377 0.943422 0.943466
+0.94351 0.943555 0.943599 0.943643 0.943687 0.943731 0.943776 0.94382
+0.943864 0.943908 0.943952 0.943996 0.94404 0.944084 0.944129 0.944173
+0.944217 0.944261 0.944305 0.944348 0.944392 0.944436 0.94448 0.944524
+0.944568 0.944612 0.944656 0.9447 0.944743 0.944787 0.944831 0.944875
+0.944919 0.944962 0.945006 0.94505 0.945093 0.945137 0.945181 0.945224
+0.945268 0.945312 0.945355 0.945399 0.945442 0.945486 0.945529 0.945573
+0.945616 0.94566 0.945703 0.945747 0.94579 0.945834 0.945877 0.94592
+0.945964 0.946007 0.94605 0.946094 0.946137 0.94618 0.946224 0.946267
+0.94631 0.946353 0.946396 0.94644 0.946483 0.946526 0.946569 0.946612
+0.946655 0.946698 0.946741 0.946784 0.946827 0.946871 0.946913 0.946956
+0.946999 0.947042 0.947085 0.947128 0.947171 0.947214 0.947257 0.9473
+0.947343 0.947385 0.947428 0.947471 0.947514 0.947556 0.947599 0.947642
+0.947685 0.947727 0.94777 0.947813 0.947855 0.947898 0.947941 0.947983
+0.948026 0.948068 0.948111 0.948153 0.948196 0.948238 0.948281 0.948323
+0.948366 0.948408 0.948451 0.948493 0.948535 0.948578 0.94862;
+#A 14000 0.948662 0.948705 0.948747 0.948789 0.948831 0.948874 0.948916
+0.948958 0.949 0.949042 0.949085 0.949127 0.949169 0.949211 0.949253
+0.949295 0.949337 0.949379 0.949421 0.949463 0.949505 0.949547 0.949589
+0.949631 0.949673 0.949715 0.949757 0.949799 0.949841 0.949883 0.949924
+0.949966 0.950008 0.95005 0.950091 0.950133 0.950175 0.950217 0.950258
+0.9503 0.950342 0.950383 0.950425 0.950467 0.950508 0.95055 0.950591
+0.950633 0.950674 0.950716 0.950757 0.950799 0.95084 0.950882 0.950923
+0.950965 0.951006 0.951047 0.951089 0.95113 0.951172 0.951213 0.951254
+0.951295 0.951337 0.951378 0.951419 0.95146 0.951502 0.951543 0.951584
+0.951625 0.951666 0.951707 0.951748 0.951789 0.951831 0.951872 0.951913
+0.951954 0.951995 0.952036 0.952077 0.952118 0.952158 0.952199 0.95224
+0.952281 0.952322 0.952363 0.952404 0.952445 0.952485 0.952526 0.952567
+0.952608 0.952648 0.952689 0.95273 0.95277 0.952811 0.952852 0.952892
+0.952933 0.952974 0.953014 0.953055 0.953095 0.953136 0.953176 0.953217
+0.953257 0.953298 0.953338 0.953379 0.953419 0.95346 0.9535 0.95354
+0.953581 0.953621 0.953661 0.953702 0.953742 0.953782 0.953822 0.953863
+0.953903 0.953943 0.953983 0.954023 0.954064 0.954104 0.954144 0.954184
+0.954224 0.954264 0.954304 0.954344 0.954384 0.954424 0.954464 0.954504
+0.954544 0.954584 0.954624 0.954664 0.954704 0.954744 0.954783 0.954823
+0.954863 0.954903 0.954943 0.954982 0.955022 0.955062 0.955102 0.955141
+0.955181 0.955221 0.95526 0.9553 0.95534 0.955379 0.955419 0.955458
+0.955498 0.955537 0.955577 0.955616 0.955656 0.955695 0.955735 0.955774
+0.955814 0.955853 0.955892 0.955932 0.955971 0.95601 0.95605 0.956089
+0.956128 0.956168 0.956207 0.956246 0.956285 0.956324 0.956364 0.956403
+0.956442 0.956481 0.95652 0.956559 0.956598 0.956637 0.956676 0.956716
+0.956755 0.956794 0.956833 0.956871 0.95691 0.956949 0.956988 0.957027
+0.957066 0.957105 0.957144 0.957183 0.957221 0.95726 0.957299 0.957338
+0.957376 0.957415 0.957454 0.957493 0.957531 0.95757 0.957609 0.957647
+0.957686 0.957724 0.957763 0.957801 0.95784 0.957879 0.957917 0.957956
+0.957994 0.958032 0.958071 0.958109 0.958148 0.958186 0.958225 0.958263
+0.958301 0.95834 0.958378 0.958416 0.958454 0.958493 0.958531 0.958569
+0.958607 0.958646 0.958684 0.958722 0.95876 0.958798 0.958836 0.958874
+0.958912 0.95895 0.958988 0.959026 0.959064 0.959102 0.95914 0.959178
+0.959216 0.959254 0.959292 0.95933 0.959368 0.959406 0.959444 0.959481
+0.959519 0.959557 0.959595 0.959632 0.95967 0.959708 0.959746 0.959783
+0.959821 0.959859 0.959896 0.959934 0.959971 0.960009 0.960047 0.960084
+0.960122 0.960159 0.960197 0.960234 0.960272 0.960309 0.960346 0.960384
+0.960421 0.960459 0.960496 0.960533 0.960571 0.960608 0.960645 0.960683
+0.96072 0.960757 0.960794 0.960831 0.960869 0.960906 0.960943 0.96098
+0.961017 0.961054 0.961091 0.961128 0.961166 0.961203 0.96124 0.961277
+0.961314 0.961351 0.961388 0.961424 0.961461 0.961498 0.961535 0.961572
+0.961609 0.961646 0.961682 0.961719 0.961756 0.961793 0.96183 0.961866
+0.961903 0.96194 0.961976 0.962013 0.96205 0.962086 0.962123 0.96216
+0.962196 0.962233 0.962269 0.962306 0.962342 0.962379 0.962415 0.962452
+0.962488 0.962525 0.962561 0.962597 0.962634 0.96267 0.962707 0.962743
+0.962779 0.962815 0.962852 0.962888 0.962924 0.96296 0.962997 0.963033
+0.963069 0.963105 0.963141 0.963177 0.963214 0.96325 0.963286 0.963322
+0.963358 0.963394 0.96343 0.963466 0.963502 0.963538 0.963574 0.963609
+0.963645 0.963681 0.963717 0.963753 0.963789 0.963825 0.96386 0.963896
+0.963932 0.963968 0.964003 0.964039 0.964075 0.96411 0.964146 0.964182
+0.964217 0.964253 0.964289 0.964324 0.96436 0.964395 0.964431 0.964466
+0.964502 0.964537 0.964573 0.964608 0.964644 0.964679 0.964714 0.96475
+0.964785 0.96482 0.964856 0.964891 0.964926 0.964962 0.964997 0.965032
+0.965067 0.965102 0.965138 0.965173 0.965208 0.965243 0.965278 0.965313
+0.965348 0.965383 0.965419 0.965454 0.965489 0.965524 0.965559 0.965594
+0.965628 0.965663 0.965698 0.965733 0.965768 0.965803 0.965838 0.965873
+0.965907 0.965942 0.965977 0.966012 0.966046 0.966081 0.966116 0.966151
+0.966185 0.96622 0.966254 0.966289 0.966324 0.966358 0.966393 0.966427
+0.966462 0.966496 0.966531 0.966565 0.9666 0.966634 0.966669 0.966703
+0.966738 0.966772 0.966806 0.966841 0.966875 0.966909 0.966944 0.966978
+0.967012 0.967046 0.96708 0.967115 0.967149 0.967183 0.967217 0.967251
+0.967285 0.96732 0.967354 0.967388 0.967422 0.967456 0.96749 0.967524
+0.967558 0.967592 0.967626 0.96766 0.967694 0.967727 0.967761 0.967795
+0.967829 0.967863 0.967897 0.96793 0.967964 0.967998 0.968032 0.968065
+0.968099 0.968133 0.968167 0.9682 0.968234 0.968267 0.968301 0.968335
+0.968368 0.968402 0.968435 0.968469 0.968502 0.968536 0.968569 0.968603
+0.968636 0.96867 0.968703 0.968736 0.96877 0.968803 0.968836 0.96887
+0.968903 0.968936 0.968969 0.969003 0.969036 0.969069 0.969102 0.969135
+0.969169 0.969202 0.969235 0.969268 0.969301 0.969334 0.969367 0.9694
+0.969433 0.969466 0.969499 0.969532 0.969565 0.969598 0.969631 0.969664
+0.969697 0.96973 0.969762 0.969795 0.969828 0.969861 0.969894 0.969926
+0.969959 0.969992 0.970025 0.970057 0.97009 0.970123 0.970155 0.970188
+0.97022 0.970253 0.970286 0.970318 0.970351 0.970383 0.970416 0.970448
+0.970481 0.970513 0.970546 0.970578 0.97061 0.970643 0.970675 0.970707
+0.97074 0.970772 0.970804 0.970837 0.970869 0.970901 0.970933 0.970966
+0.970998 0.97103 0.971062 0.971094 0.971126 0.971158 0.97119 0.971223
+0.971255 0.971287 0.971319 0.971351 0.971383 0.971415 0.971447 0.971478
+0.97151 0.971542 0.971574 0.971606 0.971638 0.97167 0.971701 0.971733
+0.971765 0.971797 0.971828 0.97186 0.971892 0.971924 0.971955 0.971987
+0.972019 0.97205 0.972082 0.972113 0.972145 0.972176 0.972208 0.972239
+0.972271 0.972302 0.972334 0.972365 0.972397 0.972428 0.97246 0.972491
+0.972522 0.972554 0.972585 0.972616 0.972647 0.972679 0.97271 0.972741
+0.972772 0.972804 0.972835 0.972866 0.972897 0.972928 0.972959 0.97299
+0.973022 0.973053 0.973084 0.973115 0.973146 0.973177 0.973208 0.973239
+0.97327 0.9733 0.973331 0.973362 0.973393 0.973424 0.973455 0.973486
+0.973516 0.973547 0.973578 0.973609 0.973639 0.97367 0.973701 0.973732
+0.973762 0.973793 0.973823 0.973854 0.973885 0.973915 0.973946 0.973976
+0.974007 0.974037 0.974068 0.974098 0.974129 0.974159 0.97419 0.97422
+0.97425 0.974281 0.974311 0.974341 0.974372 0.974402 0.974432 0.974462
+0.974493 0.974523 0.974553 0.974583 0.974613 0.974644 0.974674 0.974704
+0.974734 0.974764 0.974794 0.974824 0.974854 0.974884 0.974914 0.974944
+0.974974 0.975004 0.975034 0.975064 0.975094 0.975124 0.975154 0.975183
+0.975213 0.975243 0.975273 0.975303 0.975332 0.975362 0.975392 0.975421
+0.975451 0.975481 0.97551 0.97554 0.97557 0.975599 0.975629 0.975658
+0.975688 0.975717 0.975747 0.975776 0.975806 0.975835 0.975865 0.975894
+0.975924 0.975953 0.975982 0.976012 0.976041 0.97607 0.9761 0.976129
+0.976158 0.976188 0.976217 0.976246 0.976275 0.976304 0.976333 0.976363
+0.976392 0.976421 0.97645 0.976479 0.976508 0.976537 0.976566 0.976595
+0.976624 0.976653 0.976682 0.976711 0.97674 0.976769 0.976798 0.976826
+0.976855 0.976884 0.976913 0.976942 0.97697 0.976999 0.977028 0.977057
+0.977085 0.977114 0.977143 0.977171 0.9772 0.977229 0.977257 0.977286
+0.977314 0.977343 0.977371 0.9774 0.977428 0.977457 0.977485 0.977514
+0.977542 0.977571 0.977599 0.977627 0.977656 0.977684 0.977712 0.977741
+0.977769 0.977797 0.977825 0.977854 0.977882 0.97791 0.977938 0.977966
+0.977995 0.978023 0.978051 0.978079 0.978107 0.978135 0.978163 0.978191
+0.978219 0.978247 0.978275 0.978303 0.978331 0.978359 0.978387 0.978414
+0.978442 0.97847 0.978498 0.978526 0.978554 0.978581 0.978609 0.978637
+0.978665 0.978692 0.97872 0.978748 0.978775 0.978803 0.97883 0.978858
+0.978886 0.978913 0.978941 0.978968 0.978996 0.979023 0.979051 0.979078
+0.979106 0.979133 0.97916 0.979188 0.979215 0.979243 0.97927 0.979297
+0.979324 0.979352 0.979379 0.979406 0.979433 0.979461 0.979488 0.979515
+0.979542 0.979569 0.979596 0.979624 0.979651 0.979678 0.979705 0.979732
+0.979759 0.979786 0.979813 0.97984 0.979867 0.979894 0.97992 0.979947
+0.979974 0.980001 0.980028 0.980055 0.980081 0.980108 0.980135 0.980162
+0.980189 0.980215 0.980242 0.980269 0.980295 0.980322 0.980349 0.980375
+0.980402 0.980428 0.980455 0.980481 0.980508 0.980534 0.980561 0.980587
+0.980614 0.98064 0.980667 0.980693 0.980719 0.980746 0.980772 0.980798
+0.980825 0.980851 0.980877 0.980904 0.98093 0.980956 0.980982 0.981008
+0.981035 0.981061 0.981087 0.981113 0.981139 0.981165 0.981191 0.981217
+0.981243 0.981269 0.981295 0.981321 0.981347 0.981373 0.981399 0.981425
+0.981451 0.981477 0.981502 0.981528 0.981554 0.98158 0.981606 0.981631
+0.981657 0.981683 0.981709 0.981734 0.98176 0.981786 0.981811 0.981837
+0.981862 0.981888 0.981914 0.981939 0.981965 0.98199 0.982016 0.982041
+0.982067 0.982092 0.982117 0.982143 0.982168 0.982194 0.982219 0.982244
+0.98227 0.982295 0.98232 0.982345 0.982371 0.982396 0.982421 0.982446
+0.982471;
+#A 15000 0.982497 0.982522 0.982547 0.982572 0.982597 0.982622 0.982647
+0.982672 0.982697 0.982722 0.982747 0.982772 0.982797 0.982822 0.982847
+0.982872 0.982897 0.982922 0.982946 0.982971 0.982996 0.983021 0.983046
+0.98307 0.983095 0.98312 0.983144 0.983169 0.983194 0.983218 0.983243
+0.983268 0.983292 0.983317 0.983341 0.983366 0.98339 0.983415 0.983439
+0.983464 0.983488 0.983513 0.983537 0.983561 0.983586 0.98361 0.983635
+0.983659 0.983683 0.983707 0.983732 0.983756 0.98378 0.983804 0.983829
+0.983853 0.983877 0.983901 0.983925 0.983949 0.983973 0.983997 0.984021
+0.984046 0.98407 0.984094 0.984118 0.984141 0.984165 0.984189 0.984213
+0.984237 0.984261 0.984285 0.984309 0.984333 0.984356 0.98438 0.984404
+0.984428 0.984451 0.984475 0.984499 0.984523 0.984546 0.98457 0.984593
+0.984617 0.984641 0.984664 0.984688 0.984711 0.984735 0.984758 0.984782
+0.984805 0.984829 0.984852 0.984876 0.984899 0.984922 0.984946 0.984969
+0.984992 0.985016 0.985039 0.985062 0.985085 0.985109 0.985132 0.985155
+0.985178 0.985201 0.985225 0.985248 0.985271 0.985294 0.985317 0.98534
+0.985363 0.985386 0.985409 0.985432 0.985455 0.985478 0.985501 0.985524
+0.985547 0.98557 0.985592 0.985615 0.985638 0.985661 0.985684 0.985706
+0.985729 0.985752 0.985775 0.985797 0.98582 0.985843 0.985865 0.985888
+0.985911 0.985933 0.985956 0.985978 0.986001 0.986023 0.986046 0.986068
+0.986091 0.986113 0.986136 0.986158 0.98618 0.986203 0.986225 0.986248
+0.98627 0.986292 0.986314 0.986337 0.986359 0.986381 0.986403 0.986426
+0.986448 0.98647 0.986492 0.986514 0.986536 0.986558 0.98658 0.986603
+0.986625 0.986647 0.986669 0.986691 0.986713 0.986735 0.986756 0.986778
+0.9868 0.986822 0.986844 0.986866 0.986888 0.986909 0.986931 0.986953
+0.986975 0.986996 0.987018 0.98704 0.987062 0.987083 0.987105 0.987126
+0.987148 0.98717 0.987191 0.987213 0.987234 0.987256 0.987277 0.987299
+0.98732 0.987342 0.987363 0.987385 0.987406 0.987427 0.987449 0.98747
+0.987491 0.987513 0.987534 0.987555 0.987576 0.987598 0.987619 0.98764
+0.987661 0.987682 0.987704 0.987725 0.987746 0.987767 0.987788 0.987809
+0.98783 0.987851 0.987872 0.987893 0.987914 0.987935 0.987956 0.987977
+0.987998 0.988019 0.988039 0.98806 0.988081 0.988102 0.988123 0.988143
+0.988164 0.988185 0.988206 0.988226 0.988247 0.988268 0.988288 0.988309
+0.988329 0.98835 0.988371 0.988391 0.988412 0.988432 0.988453 0.988473
+0.988494 0.988514 0.988535 0.988555 0.988575 0.988596 0.988616 0.988636
+0.988657 0.988677 0.988697 0.988717 0.988738 0.988758 0.988778 0.988798
+0.988819 0.988839 0.988859 0.988879 0.988899 0.988919 0.988939 0.988959
+0.988979 0.988999 0.989019 0.989039 0.989059 0.989079 0.989099 0.989119
+0.989139 0.989159 0.989179 0.989198 0.989218 0.989238 0.989258 0.989277
+0.989297 0.989317 0.989337 0.989356 0.989376 0.989396 0.989415 0.989435
+0.989455 0.989474 0.989494 0.989513 0.989533 0.989552 0.989572 0.989591
+0.989611 0.98963 0.989649 0.989669 0.989688 0.989708 0.989727 0.989746
+0.989766 0.989785 0.989804 0.989823 0.989843 0.989862 0.989881 0.9899
+0.989919 0.989939 0.989958 0.989977 0.989996 0.990015 0.990034 0.990053
+0.990072 0.990091 0.99011 0.990129 0.990148 0.990167 0.990186 0.990205
+0.990224 0.990242 0.990261 0.99028 0.990299 0.990318 0.990336 0.990355
+0.990374 0.990393 0.990411 0.99043 0.990449 0.990467 0.990486 0.990505
+0.990523 0.990542 0.99056 0.990579 0.990597 0.990616 0.990634 0.990653
+0.990671 0.99069 0.990708 0.990726 0.990745 0.990763 0.990781 0.9908
+0.990818 0.990836 0.990855 0.990873 0.990891 0.990909 0.990927 0.990946
+0.990964 0.990982 0.991 0.991018 0.991036 0.991054 0.991072 0.99109
+0.991108 0.991126 0.991144 0.991162 0.99118 0.991198 0.991216 0.991234
+0.991252 0.99127 0.991287 0.991305 0.991323 0.991341 0.991359 0.991376
+0.991394 0.991412 0.991429 0.991447 0.991465 0.991482 0.9915 0.991518
+0.991535 0.991553 0.99157 0.991588 0.991605 0.991623 0.99164 0.991658
+0.991675 0.991693 0.99171 0.991727 0.991745 0.991762 0.991779 0.991797
+0.991814 0.991831 0.991848 0.991866 0.991883 0.9919 0.991917 0.991934
+0.991952 0.991969 0.991986 0.992003 0.99202 0.992037 0.992054 0.992071
+0.992088 0.992105 0.992122 0.992139 0.992156 0.992173 0.99219 0.992207
+0.992223 0.99224 0.992257 0.992274 0.992291 0.992307 0.992324 0.992341
+0.992358 0.992374 0.992391 0.992408 0.992424 0.992441 0.992457 0.992474
+0.992491 0.992507 0.992524 0.99254 0.992557 0.992573 0.99259 0.992606
+0.992622 0.992639 0.992655 0.992672 0.992688 0.992704 0.992721 0.992737
+0.992753 0.992769 0.992786 0.992802 0.992818 0.992834 0.99285 0.992867
+0.992883 0.992899 0.992915 0.992931 0.992947 0.992963 0.992979 0.992995
+0.993011 0.993027 0.993043 0.993059 0.993075 0.993091 0.993107 0.993122
+0.993138 0.993154 0.99317 0.993186 0.993201 0.993217 0.993233 0.993249
+0.993264 0.99328 0.993296 0.993311 0.993327 0.993342 0.993358 0.993374
+0.993389 0.993405 0.99342 0.993436 0.993451 0.993467 0.993482 0.993497
+0.993513 0.993528 0.993544 0.993559 0.993574 0.99359 0.993605 0.99362
+0.993635 0.993651 0.993666 0.993681 0.993696 0.993711 0.993727 0.993742
+0.993757 0.993772 0.993787 0.993802 0.993817 0.993832 0.993847 0.993862
+0.993877 0.993892 0.993907 0.993922 0.993937 0.993952 0.993967 0.993981
+0.993996 0.994011 0.994026 0.994041 0.994055 0.99407 0.994085 0.994099
+0.994114 0.994129 0.994143 0.994158 0.994173 0.994187 0.994202 0.994216
+0.994231 0.994245 0.99426 0.994274 0.994289 0.994303 0.994318 0.994332
+0.994346 0.994361 0.994375 0.99439 0.994404 0.994418 0.994432 0.994447
+0.994461 0.994475 0.994489 0.994503 0.994518 0.994532 0.994546 0.99456
+0.994574 0.994588 0.994602 0.994616 0.99463 0.994644 0.994658 0.994672
+0.994686 0.9947 0.994714 0.994728 0.994742 0.994756 0.99477 0.994783
+0.994797 0.994811 0.994825 0.994839 0.994852 0.994866 0.99488 0.994893
+0.994907 0.994921 0.994934 0.994948 0.994961 0.994975 0.994989 0.995002
+0.995016 0.995029 0.995043 0.995056 0.99507 0.995083 0.995096 0.99511
+0.995123 0.995136 0.99515 0.995163 0.995176 0.99519 0.995203 0.995216
+0.995229 0.995243 0.995256 0.995269 0.995282 0.995295 0.995308 0.995321
+0.995334 0.995347 0.995361 0.995374 0.995387 0.9954 0.995413 0.995425
+0.995438 0.995451 0.995464 0.995477 0.99549 0.995503 0.995516 0.995528
+0.995541 0.995554 0.995567 0.995579 0.995592 0.995605 0.995618 0.99563
+0.995643 0.995655 0.995668 0.995681 0.995693 0.995706 0.995718 0.995731
+0.995743 0.995756 0.995768 0.995781 0.995793 0.995805 0.995818 0.99583
+0.995843 0.995855 0.995867 0.995879 0.995892 0.995904 0.995916 0.995928
+0.995941 0.995953 0.995965 0.995977 0.995989 0.996001 0.996013 0.996026
+0.996038 0.99605 0.996062 0.996074 0.996086 0.996098 0.99611 0.996121
+0.996133 0.996145 0.996157 0.996169 0.996181 0.996193 0.996204 0.996216
+0.996228 0.99624 0.996252 0.996263 0.996275 0.996287 0.996298 0.99631
+0.996321 0.996333 0.996345 0.996356 0.996368 0.996379 0.996391 0.996402
+0.996414 0.996425 0.996437 0.996448 0.996459 0.996471 0.996482 0.996494
+0.996505 0.996516 0.996527 0.996539 0.99655 0.996561 0.996572 0.996584
+0.996595 0.996606 0.996617 0.996628 0.996639 0.99665 0.996661 0.996673
+0.996684 0.996695 0.996706 0.996717 0.996728 0.996738 0.996749 0.99676
+0.996771 0.996782 0.996793 0.996804 0.996815 0.996825 0.996836 0.996847
+0.996858 0.996868 0.996879 0.99689 0.9969 0.996911 0.996922 0.996932
+0.996943 0.996953 0.996964 0.996975 0.996985 0.996996 0.997006 0.997017
+0.997027 0.997037 0.997048 0.997058 0.997069 0.997079 0.997089 0.9971
+0.99711 0.99712 0.997131 0.997141 0.997151 0.997161 0.997171 0.997182
+0.997192 0.997202 0.997212 0.997222 0.997232 0.997242 0.997252 0.997262
+0.997272 0.997282 0.997292 0.997302 0.997312 0.997322 0.997332 0.997342
+0.997352 0.997362 0.997371 0.997381 0.997391 0.997401 0.997411 0.99742
+0.99743 0.99744 0.997449 0.997459 0.997469 0.997478 0.997488 0.997497
+0.997507 0.997517 0.997526 0.997536 0.997545 0.997555 0.997564 0.997574
+0.997583 0.997592 0.997602 0.997611 0.99762 0.99763 0.997639 0.997648
+0.997658 0.997667 0.997676 0.997685 0.997695 0.997704 0.997713 0.997722
+0.997731 0.99774 0.997749 0.997759 0.997768 0.997777 0.997786 0.997795
+0.997804 0.997813 0.997822 0.997831 0.997839 0.997848 0.997857 0.997866
+0.997875 0.997884 0.997892 0.997901 0.99791 0.997919 0.997928 0.997936
+0.997945 0.997954 0.997962 0.997971 0.99798 0.997988 0.997997 0.998005
+0.998014 0.998022 0.998031 0.998039 0.998048 0.998056 0.998065 0.998073
+0.998082 0.99809 0.998098 0.998107 0.998115 0.998123 0.998132 0.99814
+0.998148 0.998156 0.998165 0.998173 0.998181 0.998189 0.998197 0.998205
+0.998213 0.998222 0.99823 0.998238 0.998246 0.998254 0.998262 0.99827
+0.998278 0.998286 0.998294 0.998301 0.998309 0.998317 0.998325 0.998333
+0.998341 0.998348 0.998356 0.998364 0.998372 0.998379 0.998387 0.998395
+0.998402 0.99841 0.998418 0.998425 0.998433 0.998441 0.998448 0.998456
+0.998463 0.998471 0.998478 0.998486 0.998493 0.998501 0.998508 0.998515
+0.998523 0.99853 0.998537 0.998545 0.998552 0.998559 0.998567 0.998574
+0.998581 0.998588 0.998595 0.998603 0.99861 0.998617 0.998624 0.998631
+0.998638;
+#A 16000 0.998645 0.998652 0.998659 0.998666 0.998673 0.99868 0.998687
+0.998694 0.998701 0.998708 0.998715 0.998722 0.998729 0.998735 0.998742
+0.998749 0.998756 0.998762 0.998769 0.998776 0.998783 0.998789 0.998796
+0.998803 0.998809 0.998816 0.998822 0.998829 0.998836 0.998842 0.998849
+0.998855 0.998862 0.998868 0.998874 0.998881 0.998887 0.998894 0.9989
+0.998906 0.998913 0.998919 0.998925 0.998932 0.998938 0.998944 0.99895
+0.998956 0.998963 0.998969 0.998975 0.998981 0.998987 0.998993 0.998999
+0.999005 0.999011 0.999017 0.999023 0.999029 0.999035 0.999041 0.999047
+0.999053 0.999059 0.999065 0.999071 0.999077 0.999082 0.999088 0.999094
+0.9991 0.999106 0.999111 0.999117 0.999123 0.999128 0.999134 0.99914
+0.999145 0.999151 0.999156 0.999162 0.999167 0.999173 0.999178 0.999184
+0.999189 0.999195 0.9992 0.999206 0.999211 0.999216 0.999222 0.999227
+0.999232 0.999238 0.999243 0.999248 0.999254 0.999259 0.999264 0.999269
+0.999274 0.99928 0.999285 0.99929 0.999295 0.9993 0.999305 0.99931
+0.999315 0.99932 0.999325 0.99933 0.999335 0.99934 0.999345 0.99935
+0.999355 0.999359 0.999364 0.999369 0.999374 0.999379 0.999384 0.999388
+0.999393 0.999398 0.999402 0.999407 0.999412 0.999416 0.999421 0.999426
+0.99943 0.999435 0.999439 0.999444 0.999448 0.999453 0.999457 0.999462
+0.999466 0.999471 0.999475 0.999479 0.999484 0.999488 0.999492 0.999497
+0.999501 0.999505 0.99951 0.999514 0.999518 0.999522 0.999526 0.999531
+0.999535 0.999539 0.999543 0.999547 0.999551 0.999555 0.999559 0.999563
+0.999567 0.999571 0.999575 0.999579 0.999583 0.999587 0.999591 0.999595
+0.999599 0.999602 0.999606 0.99961 0.999614 0.999618 0.999621 0.999625
+0.999629 0.999632 0.999636 0.99964 0.999643 0.999647 0.999651 0.999654
+0.999658 0.999661 0.999665 0.999668 0.999672 0.999675 0.999679 0.999682
+0.999685 0.999689 0.999692 0.999696 0.999699 0.999702 0.999705 0.999709
+0.999712 0.999715 0.999719 0.999722 0.999725 0.999728 0.999731 0.999734
+0.999738 0.999741 0.999744 0.999747 0.99975 0.999753 0.999756 0.999759
+0.999762 0.999765 0.999768 0.999771 0.999773 0.999776 0.999779 0.999782
+0.999785 0.999788 0.99979 0.999793 0.999796 0.999799 0.999801 0.999804
+0.999807 0.999809 0.999812 0.999815 0.999817 0.99982 0.999822 0.999825
+0.999828 0.99983 0.999833 0.999835 0.999837 0.99984 0.999842 0.999845
+0.999847 0.999849 0.999852 0.999854 0.999856 0.999859 0.999861 0.999863
+0.999865 0.999868 0.99987 0.999872 0.999874 0.999876 0.999878 0.999881
+0.999883 0.999885 0.999887 0.999889 0.999891 0.999893 0.999895 0.999897
+0.999899 0.999901 0.999902 0.999904 0.999906 0.999908 0.99991 0.999912
+0.999914 0.999915 0.999917 0.999919 0.99992 0.999922 0.999924 0.999926
+0.999927 0.999929 0.99993 0.999932 0.999934 0.999935 0.999937 0.999938
+0.99994 0.999941 0.999943 0.999944 0.999946 0.999947 0.999948 0.99995
+0.999951 0.999952 0.999954 0.999955 0.999956 0.999958 0.999959 0.99996
+0.999961 0.999962 0.999964 0.999965 0.999966 0.999967 0.999968 0.999969
+0.99997 0.999971 0.999972 0.999973 0.999974 0.999975 0.999976 0.999977
+0.999978 0.999979 0.99998 0.999981 0.999981 0.999982 0.999983 0.999984
+0.999985 0.999985 0.999986 0.999987 0.999987 0.999988 0.999989 0.999989
+0.99999 0.999991 0.999991 0.999992 0.999992 0.999993 0.999993 0.999994
+0.999994 0.999995 0.999995 0.999996 0.999996 0.999996 0.999997 0.999997
+0.999997 0.999998 0.999998 0.999998 0.999998 0.999999 0.999999 0.999999
+0.999999 0.999999 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.999999 0.999999 0.999999
+0.999999 0.999999 0.999998 0.999998 0.999998 0.999998 0.999997 0.999997
+0.999997 0.999996 0.999996 0.999996 0.999995 0.999995 0.999994 0.999994
+0.999993 0.999993 0.999992 0.999992 0.999991 0.999991 0.99999 0.999989
+0.999989 0.999988 0.999987 0.999987 0.999986 0.999985 0.999985 0.999984
+0.999983 0.999982 0.999981 0.999981 0.99998 0.999979 0.999978 0.999977
+0.999976 0.999975 0.999974 0.999973 0.999972 0.999971 0.99997 0.999969
+0.999968 0.999967 0.999966 0.999965 0.999964 0.999962 0.999961 0.99996
+0.999959 0.999958 0.999956 0.999955 0.999954 0.999952 0.999951 0.99995
+0.999948 0.999947 0.999946 0.999944 0.999943 0.999941 0.99994 0.999938
+0.999937 0.999935 0.999934 0.999932 0.99993 0.999929 0.999927 0.999926
+0.999924 0.999922 0.99992 0.999919 0.999917 0.999915 0.999914 0.999912
+0.99991 0.999908 0.999906 0.999904 0.999902 0.999901 0.999899 0.999897
+0.999895 0.999893 0.999891 0.999889 0.999887 0.999885 0.999883 0.999881
+0.999878 0.999876 0.999874 0.999872 0.99987 0.999868 0.999865 0.999863
+0.999861 0.999859 0.999856 0.999854 0.999852 0.999849 0.999847 0.999845
+0.999842 0.99984 0.999837 0.999835 0.999833 0.99983 0.999828 0.999825
+0.999822 0.99982 0.999817 0.999815 0.999812 0.999809 0.999807 0.999804
+0.999801 0.999799 0.999796 0.999793 0.99979 0.999788 0.999785 0.999782
+0.999779 0.999776 0.999773 0.999771 0.999768 0.999765 0.999762 0.999759
+0.999756 0.999753 0.99975 0.999747 0.999744 0.999741 0.999738 0.999734
+0.999731 0.999728 0.999725 0.999722 0.999719 0.999715 0.999712 0.999709
+0.999705 0.999702 0.999699 0.999696 0.999692 0.999689 0.999685 0.999682
+0.999679 0.999675 0.999672 0.999668 0.999665 0.999661 0.999658 0.999654
+0.999651 0.999647 0.999643 0.99964 0.999636 0.999632 0.999629 0.999625
+0.999621 0.999618 0.999614 0.99961 0.999606 0.999602 0.999599 0.999595
+0.999591 0.999587 0.999583 0.999579 0.999575 0.999571 0.999567 0.999563
+0.999559 0.999555 0.999551 0.999547 0.999543 0.999539 0.999535 0.999531
+0.999526 0.999522 0.999518 0.999514 0.99951 0.999505 0.999501 0.999497
+0.999492 0.999488 0.999484 0.999479 0.999475 0.999471 0.999466 0.999462
+0.999457 0.999453 0.999448 0.999444 0.999439 0.999435 0.99943 0.999426
+0.999421 0.999416 0.999412 0.999407 0.999402 0.999398 0.999393 0.999388
+0.999384 0.999379 0.999374 0.999369 0.999364 0.999359 0.999355 0.99935
+0.999345 0.99934 0.999335 0.99933 0.999325 0.99932 0.999315 0.99931
+0.999305 0.9993 0.999295 0.99929 0.999285 0.99928 0.999274 0.999269
+0.999264 0.999259 0.999254 0.999248 0.999243 0.999238 0.999232 0.999227
+0.999222 0.999216 0.999211 0.999206 0.9992 0.999195 0.999189 0.999184
+0.999178 0.999173 0.999167 0.999162 0.999156 0.999151 0.999145 0.99914
+0.999134 0.999128 0.999123 0.999117 0.999111 0.999106 0.9991 0.999094
+0.999088 0.999082 0.999077 0.999071 0.999065 0.999059 0.999053 0.999047
+0.999041 0.999035 0.999029 0.999023 0.999017 0.999011 0.999005 0.998999
+0.998993 0.998987 0.998981 0.998975 0.998969 0.998963 0.998956 0.99895
+0.998944 0.998938 0.998932 0.998925 0.998919 0.998913 0.998906 0.9989
+0.998894 0.998887 0.998881 0.998874 0.998868 0.998862 0.998855 0.998849
+0.998842 0.998836 0.998829 0.998822 0.998816 0.998809 0.998803 0.998796
+0.998789 0.998783 0.998776 0.998769 0.998762 0.998756 0.998749 0.998742
+0.998735 0.998729 0.998722 0.998715 0.998708 0.998701 0.998694 0.998687
+0.99868 0.998673 0.998666 0.998659 0.998652 0.998645 0.998638 0.998631
+0.998624 0.998617 0.99861 0.998603 0.998595 0.998588 0.998581 0.998574
+0.998567 0.998559 0.998552 0.998545 0.998537 0.99853 0.998523 0.998515
+0.998508 0.998501 0.998493 0.998486 0.998478 0.998471 0.998463 0.998456
+0.998448 0.998441 0.998433 0.998425 0.998418 0.99841 0.998402 0.998395
+0.998387 0.998379 0.998372 0.998364 0.998356 0.998348 0.998341 0.998333
+0.998325 0.998317 0.998309 0.998301 0.998294 0.998286 0.998278 0.99827
+0.998262 0.998254 0.998246 0.998238 0.99823 0.998222 0.998213 0.998205
+0.998197 0.998189 0.998181 0.998173 0.998165 0.998156 0.998148 0.99814
+0.998132 0.998123 0.998115 0.998107 0.998098 0.99809 0.998082 0.998073
+0.998065 0.998056 0.998048 0.998039 0.998031 0.998022 0.998014 0.998005
+0.997997 0.997988 0.99798 0.997971 0.997962 0.997954 0.997945 0.997936
+0.997928 0.997919 0.99791 0.997901 0.997892 0.997884 0.997875 0.997866
+0.997857 0.997848 0.997839 0.997831 0.997822 0.997813 0.997804 0.997795
+0.997786 0.997777 0.997768 0.997759 0.997749 0.99774 0.997731 0.997722
+0.997713 0.997704 0.997695 0.997685 0.997676 0.997667 0.997658 0.997648
+0.997639 0.99763 0.99762 0.997611 0.997602 0.997592 0.997583 0.997574
+0.997564 0.997555 0.997545 0.997536 0.997526 0.997517 0.997507 0.997497
+0.997488 0.997478 0.997469 0.997459 0.997449 0.99744 0.99743 0.99742
+0.997411 0.997401 0.997391 0.997381 0.997371 0.997362 0.997352 0.997342
+0.997332 0.997322 0.997312 0.997302 0.997292 0.997282 0.997272 0.997262
+0.997252 0.997242 0.997232 0.997222 0.997212 0.997202 0.997192 0.997182
+0.997171 0.997161 0.997151 0.997141 0.997131 0.99712 0.99711 0.9971
+0.997089 0.997079 0.997069 0.997058 0.997048 0.997037 0.997027 0.997017
+0.997006 0.996996 0.996985 0.996975 0.996964 0.996953 0.996943 0.996932
+0.996922 0.996911 0.9969 0.99689 0.996879 0.996868 0.996858 0.996847
+0.996836 0.996825 0.996815 0.996804 0.996793 0.996782 0.996771 0.99676
+0.996749 0.996738 0.996728 0.996717 0.996706 0.996695 0.996684 0.996673
+0.996661 0.99665 0.996639 0.996628 0.996617 0.996606 0.996595 0.996584
+0.996572 0.996561 0.99655 0.996539 0.996527;
+#A 17000 0.996516 0.996505 0.996494 0.996482 0.996471 0.996459 0.996448
+0.996437 0.996425 0.996414 0.996402 0.996391 0.996379 0.996368 0.996356
+0.996345 0.996333 0.996321 0.99631 0.996298 0.996287 0.996275 0.996263
+0.996252 0.99624 0.996228 0.996216 0.996204 0.996193 0.996181 0.996169
+0.996157 0.996145 0.996133 0.996121 0.99611 0.996098 0.996086 0.996074
+0.996062 0.99605 0.996038 0.996026 0.996013 0.996001 0.995989 0.995977
+0.995965 0.995953 0.995941 0.995928 0.995916 0.995904 0.995892 0.995879
+0.995867 0.995855 0.995843 0.99583 0.995818 0.995805 0.995793 0.995781
+0.995768 0.995756 0.995743 0.995731 0.995718 0.995706 0.995693 0.995681
+0.995668 0.995655 0.995643 0.99563 0.995618 0.995605 0.995592 0.995579
+0.995567 0.995554 0.995541 0.995528 0.995516 0.995503 0.99549 0.995477
+0.995464 0.995451 0.995438 0.995425 0.995413 0.9954 0.995387 0.995374
+0.995361 0.995347 0.995334 0.995321 0.995308 0.995295 0.995282 0.995269
+0.995256 0.995243 0.995229 0.995216 0.995203 0.99519 0.995176 0.995163
+0.99515 0.995136 0.995123 0.99511 0.995096 0.995083 0.99507 0.995056
+0.995043 0.995029 0.995016 0.995002 0.994989 0.994975 0.994961 0.994948
+0.994934 0.994921 0.994907 0.994893 0.99488 0.994866 0.994852 0.994839
+0.994825 0.994811 0.994797 0.994783 0.99477 0.994756 0.994742 0.994728
+0.994714 0.9947 0.994686 0.994672 0.994658 0.994644 0.99463 0.994616
+0.994602 0.994588 0.994574 0.99456 0.994546 0.994532 0.994518 0.994503
+0.994489 0.994475 0.994461 0.994447 0.994432 0.994418 0.994404 0.99439
+0.994375 0.994361 0.994346 0.994332 0.994318 0.994303 0.994289 0.994274
+0.99426 0.994245 0.994231 0.994216 0.994202 0.994187 0.994173 0.994158
+0.994143 0.994129 0.994114 0.994099 0.994085 0.99407 0.994055 0.994041
+0.994026 0.994011 0.993996 0.993981 0.993967 0.993952 0.993937 0.993922
+0.993907 0.993892 0.993877 0.993862 0.993847 0.993832 0.993817 0.993802
+0.993787 0.993772 0.993757 0.993742 0.993727 0.993711 0.993696 0.993681
+0.993666 0.993651 0.993635 0.99362 0.993605 0.99359 0.993574 0.993559
+0.993544 0.993528 0.993513 0.993497 0.993482 0.993467 0.993451 0.993436
+0.99342 0.993405 0.993389 0.993374 0.993358 0.993342 0.993327 0.993311
+0.993296 0.99328 0.993264 0.993249 0.993233 0.993217 0.993201 0.993186
+0.99317 0.993154 0.993138 0.993122 0.993107 0.993091 0.993075 0.993059
+0.993043 0.993027 0.993011 0.992995 0.992979 0.992963 0.992947 0.992931
+0.992915 0.992899 0.992883 0.992867 0.99285 0.992834 0.992818 0.992802
+0.992786 0.992769 0.992753 0.992737 0.992721 0.992704 0.992688 0.992672
+0.992655 0.992639 0.992622 0.992606 0.99259 0.992573 0.992557 0.99254
+0.992524 0.992507 0.992491 0.992474 0.992457 0.992441 0.992424 0.992408
+0.992391 0.992374 0.992358 0.992341 0.992324 0.992307 0.992291 0.992274
+0.992257 0.99224 0.992223 0.992207 0.99219 0.992173 0.992156 0.992139
+0.992122 0.992105 0.992088 0.992071 0.992054 0.992037 0.99202 0.992003
+0.991986 0.991969 0.991952 0.991934 0.991917 0.9919 0.991883 0.991866
+0.991848 0.991831 0.991814 0.991797 0.991779 0.991762 0.991745 0.991727
+0.99171 0.991693 0.991675 0.991658 0.99164 0.991623 0.991605 0.991588
+0.99157 0.991553 0.991535 0.991518 0.9915 0.991482 0.991465 0.991447
+0.991429 0.991412 0.991394 0.991376 0.991359 0.991341 0.991323 0.991305
+0.991287 0.99127 0.991252 0.991234 0.991216 0.991198 0.99118 0.991162
+0.991144 0.991126 0.991108 0.99109 0.991072 0.991054 0.991036 0.991018
+0.991 0.990982 0.990964 0.990946 0.990927 0.990909 0.990891 0.990873
+0.990855 0.990836 0.990818 0.9908 0.990781 0.990763 0.990745 0.990726
+0.990708 0.99069 0.990671 0.990653 0.990634 0.990616 0.990597 0.990579
+0.99056 0.990542 0.990523 0.990505 0.990486 0.990467 0.990449 0.99043
+0.990411 0.990393 0.990374 0.990355 0.990336 0.990318 0.990299 0.99028
+0.990261 0.990242 0.990224 0.990205 0.990186 0.990167 0.990148 0.990129
+0.99011 0.990091 0.990072 0.990053 0.990034 0.990015 0.989996 0.989977
+0.989958 0.989939 0.989919 0.9899 0.989881 0.989862 0.989843 0.989823
+0.989804 0.989785 0.989766 0.989746 0.989727 0.989708 0.989688 0.989669
+0.989649 0.98963 0.989611 0.989591 0.989572 0.989552 0.989533 0.989513
+0.989494 0.989474 0.989455 0.989435 0.989415 0.989396 0.989376 0.989356
+0.989337 0.989317 0.989297 0.989277 0.989258 0.989238 0.989218 0.989198
+0.989179 0.989159 0.989139 0.989119 0.989099 0.989079 0.989059 0.989039
+0.989019 0.988999 0.988979 0.988959 0.988939 0.988919 0.988899 0.988879
+0.988859 0.988839 0.988819 0.988798 0.988778 0.988758 0.988738 0.988717
+0.988697 0.988677 0.988657 0.988636 0.988616 0.988596 0.988575 0.988555
+0.988535 0.988514 0.988494 0.988473 0.988453 0.988432 0.988412 0.988391
+0.988371 0.98835 0.988329 0.988309 0.988288 0.988268 0.988247 0.988226
+0.988206 0.988185 0.988164 0.988143 0.988123 0.988102 0.988081 0.98806
+0.988039 0.988019 0.987998 0.987977 0.987956 0.987935 0.987914 0.987893
+0.987872 0.987851 0.98783 0.987809 0.987788 0.987767 0.987746 0.987725
+0.987704 0.987682 0.987661 0.98764 0.987619 0.987598 0.987576 0.987555
+0.987534 0.987513 0.987491 0.98747 0.987449 0.987427 0.987406 0.987385
+0.987363 0.987342 0.98732 0.987299 0.987277 0.987256 0.987234 0.987213
+0.987191 0.98717 0.987148 0.987126 0.987105 0.987083 0.987062 0.98704
+0.987018 0.986996 0.986975 0.986953 0.986931 0.986909 0.986888 0.986866
+0.986844 0.986822 0.9868 0.986778 0.986756 0.986735 0.986713 0.986691
+0.986669 0.986647 0.986625 0.986603 0.98658 0.986558 0.986536 0.986514
+0.986492 0.98647 0.986448 0.986426 0.986403 0.986381 0.986359 0.986337
+0.986314 0.986292 0.98627 0.986248 0.986225 0.986203 0.98618 0.986158
+0.986136 0.986113 0.986091 0.986068 0.986046 0.986023 0.986001 0.985978
+0.985956 0.985933 0.985911 0.985888 0.985865 0.985843 0.98582 0.985797
+0.985775 0.985752 0.985729 0.985706 0.985684 0.985661 0.985638 0.985615
+0.985592 0.98557 0.985547 0.985524 0.985501 0.985478 0.985455 0.985432
+0.985409 0.985386 0.985363 0.98534 0.985317 0.985294 0.985271 0.985248
+0.985225 0.985201 0.985178 0.985155 0.985132 0.985109 0.985085 0.985062
+0.985039 0.985016 0.984992 0.984969 0.984946 0.984922 0.984899 0.984876
+0.984852 0.984829 0.984805 0.984782 0.984758 0.984735 0.984711 0.984688
+0.984664 0.984641 0.984617 0.984593 0.98457 0.984546 0.984523 0.984499
+0.984475 0.984451 0.984428 0.984404 0.98438 0.984356 0.984333 0.984309
+0.984285 0.984261 0.984237 0.984213 0.984189 0.984165 0.984141 0.984118
+0.984094 0.98407 0.984046 0.984021 0.983997 0.983973 0.983949 0.983925
+0.983901 0.983877 0.983853 0.983829 0.983804 0.98378 0.983756 0.983732
+0.983707 0.983683 0.983659 0.983635 0.98361 0.983586 0.983561 0.983537
+0.983513 0.983488 0.983464 0.983439 0.983415 0.98339 0.983366 0.983341
+0.983317 0.983292 0.983268 0.983243 0.983218 0.983194 0.983169 0.983144
+0.98312 0.983095 0.98307 0.983046 0.983021 0.982996 0.982971 0.982946
+0.982922 0.982897 0.982872 0.982847 0.982822 0.982797 0.982772 0.982747
+0.982722 0.982697 0.982672 0.982647 0.982622 0.982597 0.982572 0.982547
+0.982522 0.982497 0.982471 0.982446 0.982421 0.982396 0.982371 0.982345
+0.98232 0.982295 0.98227 0.982244 0.982219 0.982194 0.982168 0.982143
+0.982117 0.982092 0.982067 0.982041 0.982016 0.98199 0.981965 0.981939
+0.981914 0.981888 0.981862 0.981837 0.981811 0.981786 0.98176 0.981734
+0.981709 0.981683 0.981657 0.981631 0.981606 0.98158 0.981554 0.981528
+0.981502 0.981477 0.981451 0.981425 0.981399 0.981373 0.981347 0.981321
+0.981295 0.981269 0.981243 0.981217 0.981191 0.981165 0.981139 0.981113
+0.981087 0.981061 0.981035 0.981008 0.980982 0.980956 0.98093 0.980904
+0.980877 0.980851 0.980825 0.980798 0.980772 0.980746 0.980719 0.980693
+0.980667 0.98064 0.980614 0.980587 0.980561 0.980534 0.980508 0.980481
+0.980455 0.980428 0.980402 0.980375 0.980349 0.980322 0.980295 0.980269
+0.980242 0.980215 0.980189 0.980162 0.980135 0.980108 0.980081 0.980055
+0.980028 0.980001 0.979974 0.979947 0.97992 0.979894 0.979867 0.97984
+0.979813 0.979786 0.979759 0.979732 0.979705 0.979678 0.979651 0.979624
+0.979596 0.979569 0.979542 0.979515 0.979488 0.979461 0.979433 0.979406
+0.979379 0.979352 0.979324 0.979297 0.97927 0.979243 0.979215 0.979188
+0.97916 0.979133 0.979106 0.979078 0.979051 0.979023 0.978996 0.978968
+0.978941 0.978913 0.978886 0.978858 0.97883 0.978803 0.978775 0.978748
+0.97872 0.978692 0.978665 0.978637 0.978609 0.978581 0.978554 0.978526
+0.978498 0.97847 0.978442 0.978414 0.978387 0.978359 0.978331 0.978303
+0.978275 0.978247 0.978219 0.978191 0.978163 0.978135 0.978107 0.978079
+0.978051 0.978023 0.977995 0.977966 0.977938 0.97791 0.977882 0.977854
+0.977825 0.977797 0.977769 0.977741 0.977712 0.977684 0.977656 0.977627
+0.977599 0.977571 0.977542 0.977514 0.977485 0.977457 0.977428 0.9774
+0.977371 0.977343 0.977314 0.977286 0.977257 0.977229 0.9772 0.977171
+0.977143 0.977114 0.977085 0.977057 0.977028 0.976999 0.97697 0.976942
+0.976913 0.976884 0.976855 0.976826 0.976798 0.976769 0.97674 0.976711
+0.976682 0.976653 0.976624 0.976595 0.976566 0.976537 0.976508 0.976479
+0.97645 0.976421 0.976392 0.976363 0.976333 0.976304 0.976275 0.976246
+0.976217;
+#A 18000 0.976188 0.976158 0.976129 0.9761 0.97607 0.976041 0.976012
+0.975982 0.975953 0.975924 0.975894 0.975865 0.975835 0.975806 0.975776
+0.975747 0.975717 0.975688 0.975658 0.975629 0.975599 0.97557 0.97554
+0.97551 0.975481 0.975451 0.975421 0.975392 0.975362 0.975332 0.975303
+0.975273 0.975243 0.975213 0.975183 0.975154 0.975124 0.975094 0.975064
+0.975034 0.975004 0.974974 0.974944 0.974914 0.974884 0.974854 0.974824
+0.974794 0.974764 0.974734 0.974704 0.974674 0.974644 0.974613 0.974583
+0.974553 0.974523 0.974493 0.974462 0.974432 0.974402 0.974372 0.974341
+0.974311 0.974281 0.97425 0.97422 0.97419 0.974159 0.974129 0.974098
+0.974068 0.974037 0.974007 0.973976 0.973946 0.973915 0.973885 0.973854
+0.973823 0.973793 0.973762 0.973732 0.973701 0.97367 0.973639 0.973609
+0.973578 0.973547 0.973516 0.973486 0.973455 0.973424 0.973393 0.973362
+0.973331 0.9733 0.97327 0.973239 0.973208 0.973177 0.973146 0.973115
+0.973084 0.973053 0.973022 0.97299 0.972959 0.972928 0.972897 0.972866
+0.972835 0.972804 0.972772 0.972741 0.97271 0.972679 0.972647 0.972616
+0.972585 0.972554 0.972522 0.972491 0.97246 0.972428 0.972397 0.972365
+0.972334 0.972302 0.972271 0.972239 0.972208 0.972176 0.972145 0.972113
+0.972082 0.97205 0.972019 0.971987 0.971955 0.971924 0.971892 0.97186
+0.971828 0.971797 0.971765 0.971733 0.971701 0.97167 0.971638 0.971606
+0.971574 0.971542 0.97151 0.971478 0.971447 0.971415 0.971383 0.971351
+0.971319 0.971287 0.971255 0.971223 0.97119 0.971158 0.971126 0.971094
+0.971062 0.97103 0.970998 0.970966 0.970933 0.970901 0.970869 0.970837
+0.970804 0.970772 0.97074 0.970707 0.970675 0.970643 0.97061 0.970578
+0.970546 0.970513 0.970481 0.970448 0.970416 0.970383 0.970351 0.970318
+0.970286 0.970253 0.97022 0.970188 0.970155 0.970123 0.97009 0.970057
+0.970025 0.969992 0.969959 0.969926 0.969894 0.969861 0.969828 0.969795
+0.969762 0.96973 0.969697 0.969664 0.969631 0.969598 0.969565 0.969532
+0.969499 0.969466 0.969433 0.9694 0.969367 0.969334 0.969301 0.969268
+0.969235 0.969202 0.969169 0.969135 0.969102 0.969069 0.969036 0.969003
+0.968969 0.968936 0.968903 0.96887 0.968836 0.968803 0.96877 0.968736
+0.968703 0.96867 0.968636 0.968603 0.968569 0.968536 0.968502 0.968469
+0.968435 0.968402 0.968368 0.968335 0.968301 0.968267 0.968234 0.9682
+0.968167 0.968133 0.968099 0.968065 0.968032 0.967998 0.967964 0.96793
+0.967897 0.967863 0.967829 0.967795 0.967761 0.967727 0.967694 0.96766
+0.967626 0.967592 0.967558 0.967524 0.96749 0.967456 0.967422 0.967388
+0.967354 0.96732 0.967285 0.967251 0.967217 0.967183 0.967149 0.967115
+0.96708 0.967046 0.967012 0.966978 0.966944 0.966909 0.966875 0.966841
+0.966806 0.966772 0.966738 0.966703 0.966669 0.966634 0.9666 0.966565
+0.966531 0.966496 0.966462 0.966427 0.966393 0.966358 0.966324 0.966289
+0.966254 0.96622 0.966185 0.966151 0.966116 0.966081 0.966046 0.966012
+0.965977 0.965942 0.965907 0.965873 0.965838 0.965803 0.965768 0.965733
+0.965698 0.965663 0.965628 0.965594 0.965559 0.965524 0.965489 0.965454
+0.965419 0.965383 0.965348 0.965313 0.965278 0.965243 0.965208 0.965173
+0.965138 0.965102 0.965067 0.965032 0.964997 0.964962 0.964926 0.964891
+0.964856 0.96482 0.964785 0.96475 0.964714 0.964679 0.964644 0.964608
+0.964573 0.964537 0.964502 0.964466 0.964431 0.964395 0.96436 0.964324
+0.964289 0.964253 0.964217 0.964182 0.964146 0.96411 0.964075 0.964039
+0.964003 0.963968 0.963932 0.963896 0.96386 0.963825 0.963789 0.963753
+0.963717 0.963681 0.963645 0.963609 0.963574 0.963538 0.963502 0.963466
+0.96343 0.963394 0.963358 0.963322 0.963286 0.96325 0.963214 0.963177
+0.963141 0.963105 0.963069 0.963033 0.962997 0.96296 0.962924 0.962888
+0.962852 0.962815 0.962779 0.962743 0.962707 0.96267 0.962634 0.962597
+0.962561 0.962525 0.962488 0.962452 0.962415 0.962379 0.962342 0.962306
+0.962269 0.962233 0.962196 0.96216 0.962123 0.962086 0.96205 0.962013
+0.961976 0.96194 0.961903 0.961866 0.96183 0.961793 0.961756 0.961719
+0.961682 0.961646 0.961609 0.961572 0.961535 0.961498 0.961461 0.961424
+0.961388 0.961351 0.961314 0.961277 0.96124 0.961203 0.961166 0.961128
+0.961091 0.961054 0.961017 0.96098 0.960943 0.960906 0.960869 0.960831
+0.960794 0.960757 0.96072 0.960683 0.960645 0.960608 0.960571 0.960533
+0.960496 0.960459 0.960421 0.960384 0.960346 0.960309 0.960272 0.960234
+0.960197 0.960159 0.960122 0.960084 0.960047 0.960009 0.959971 0.959934
+0.959896 0.959859 0.959821 0.959783 0.959746 0.959708 0.95967 0.959632
+0.959595 0.959557 0.959519 0.959481 0.959444 0.959406 0.959368 0.95933
+0.959292 0.959254 0.959216 0.959178 0.95914 0.959102 0.959064 0.959026
+0.958988 0.95895 0.958912 0.958874 0.958836 0.958798 0.95876 0.958722
+0.958684 0.958646 0.958607 0.958569 0.958531 0.958493 0.958454 0.958416
+0.958378 0.95834 0.958301 0.958263 0.958225 0.958186 0.958148 0.958109
+0.958071 0.958032 0.957994 0.957956 0.957917 0.957879 0.95784 0.957801
+0.957763 0.957724 0.957686 0.957647 0.957609 0.95757 0.957531 0.957493
+0.957454 0.957415 0.957376 0.957338 0.957299 0.95726 0.957221 0.957183
+0.957144 0.957105 0.957066 0.957027 0.956988 0.956949 0.95691 0.956871
+0.956833 0.956794 0.956755 0.956716 0.956676 0.956637 0.956598 0.956559
+0.95652 0.956481 0.956442 0.956403 0.956364 0.956324 0.956285 0.956246
+0.956207 0.956168 0.956128 0.956089 0.95605 0.95601 0.955971 0.955932
+0.955892 0.955853 0.955814 0.955774 0.955735 0.955695 0.955656 0.955616
+0.955577 0.955537 0.955498 0.955458 0.955419 0.955379 0.95534 0.9553
+0.95526 0.955221 0.955181 0.955141 0.955102 0.955062 0.955022 0.954982
+0.954943 0.954903 0.954863 0.954823 0.954783 0.954744 0.954704 0.954664
+0.954624 0.954584 0.954544 0.954504 0.954464 0.954424 0.954384 0.954344
+0.954304 0.954264 0.954224 0.954184 0.954144 0.954104 0.954064 0.954023
+0.953983 0.953943 0.953903 0.953863 0.953822 0.953782 0.953742 0.953702
+0.953661 0.953621 0.953581 0.95354 0.9535 0.95346 0.953419 0.953379
+0.953338 0.953298 0.953257 0.953217 0.953176 0.953136 0.953095 0.953055
+0.953014 0.952974 0.952933 0.952892 0.952852 0.952811 0.95277 0.95273
+0.952689 0.952648 0.952608 0.952567 0.952526 0.952485 0.952445 0.952404
+0.952363 0.952322 0.952281 0.95224 0.952199 0.952158 0.952118 0.952077
+0.952036 0.951995 0.951954 0.951913 0.951872 0.951831 0.951789 0.951748
+0.951707 0.951666 0.951625 0.951584 0.951543 0.951502 0.95146 0.951419
+0.951378 0.951337 0.951295 0.951254 0.951213 0.951172 0.95113 0.951089
+0.951047 0.951006 0.950965 0.950923 0.950882 0.95084 0.950799 0.950757
+0.950716 0.950674 0.950633 0.950591 0.95055 0.950508 0.950467 0.950425
+0.950383 0.950342 0.9503 0.950258 0.950217 0.950175 0.950133 0.950091
+0.95005 0.950008 0.949966 0.949924 0.949883 0.949841 0.949799 0.949757
+0.949715 0.949673 0.949631 0.949589 0.949547 0.949505 0.949463 0.949421
+0.949379 0.949337 0.949295 0.949253 0.949211 0.949169 0.949127 0.949085
+0.949042 0.949 0.948958 0.948916 0.948874 0.948831 0.948789 0.948747
+0.948705 0.948662 0.94862 0.948578 0.948535 0.948493 0.948451 0.948408
+0.948366 0.948323 0.948281 0.948238 0.948196 0.948153 0.948111 0.948068
+0.948026 0.947983 0.947941 0.947898 0.947855 0.947813 0.94777 0.947727
+0.947685 0.947642 0.947599 0.947556 0.947514 0.947471 0.947428 0.947385
+0.947343 0.9473 0.947257 0.947214 0.947171 0.947128 0.947085 0.947042
+0.946999 0.946956 0.946913 0.946871 0.946827 0.946784 0.946741 0.946698
+0.946655 0.946612 0.946569 0.946526 0.946483 0.94644 0.946396 0.946353
+0.94631 0.946267 0.946224 0.94618 0.946137 0.946094 0.94605 0.946007
+0.945964 0.94592 0.945877 0.945834 0.94579 0.945747 0.945703 0.94566
+0.945616 0.945573 0.945529 0.945486 0.945442 0.945399 0.945355 0.945312
+0.945268 0.945224 0.945181 0.945137 0.945093 0.94505 0.945006 0.944962
+0.944919 0.944875 0.944831 0.944787 0.944743 0.9447 0.944656 0.944612
+0.944568 0.944524 0.94448 0.944436 0.944392 0.944348 0.944305 0.944261
+0.944217 0.944173 0.944129 0.944084 0.94404 0.943996 0.943952 0.943908
+0.943864 0.94382 0.943776 0.943731 0.943687 0.943643 0.943599 0.943555
+0.94351 0.943466 0.943422 0.943377 0.943333 0.943289 0.943244 0.9432
+0.943156 0.943111 0.943067 0.943022 0.942978 0.942933 0.942889 0.942845
+0.9428 0.942755 0.942711 0.942666 0.942622 0.942577 0.942532 0.942488
+0.942443 0.942399 0.942354 0.942309 0.942264 0.94222 0.942175 0.94213
+0.942085 0.942041 0.941996 0.941951 0.941906 0.941861 0.941816 0.941772
+0.941727 0.941682 0.941637 0.941592 0.941547 0.941502 0.941457 0.941412
+0.941367 0.941322 0.941277 0.941231 0.941186 0.941141 0.941096 0.941051
+0.941006 0.940961 0.940915 0.94087 0.940825 0.94078 0.940734 0.940689
+0.940644 0.940599 0.940553 0.940508 0.940463 0.940417 0.940372 0.940326
+0.940281 0.940235 0.94019 0.940144 0.940099 0.940054 0.940008 0.939962
+0.939917 0.939871 0.939826 0.93978 0.939734 0.939689 0.939643 0.939597
+0.939552 0.939506 0.93946 0.939415 0.939369 0.939323 0.939277 0.939232
+0.939186 0.93914 0.939094 0.939048 0.939002 0.938956 0.93891 0.938865
+0.938819 0.938773 0.938727 0.938681 0.938635 0.938589 0.938543 0.938497
+0.93845;
+#A 19000 0.938404 0.938358 0.938312 0.938266 0.93822 0.938174 0.938127
+0.938081 0.938035 0.937989 0.937943 0.937896 0.93785 0.937804 0.937757
+0.937711 0.937665 0.937618 0.937572 0.937526 0.937479 0.937433 0.937386
+0.93734 0.937293 0.937247 0.9372 0.937154 0.937107 0.937061 0.937014
+0.936968 0.936921 0.936874 0.936828 0.936781 0.936734 0.936688 0.936641
+0.936594 0.936548 0.936501 0.936454 0.936407 0.93636 0.936314 0.936267
+0.93622 0.936173 0.936126 0.936079 0.936032 0.935985 0.935938 0.935892
+0.935845 0.935798 0.935751 0.935704 0.935656 0.935609 0.935562 0.935515
+0.935468 0.935421 0.935374 0.935327 0.93528 0.935232 0.935185 0.935138
+0.935091 0.935044 0.934996 0.934949 0.934902 0.934854 0.934807 0.93476
+0.934712 0.934665 0.934618 0.93457 0.934523 0.934475 0.934428 0.93438
+0.934333 0.934285 0.934238 0.93419 0.934143 0.934095 0.934048 0.934
+0.933952 0.933905 0.933857 0.933809 0.933762 0.933714 0.933666 0.933619
+0.933571 0.933523 0.933475 0.933428 0.93338 0.933332 0.933284 0.933236
+0.933188 0.93314 0.933093 0.933045 0.932997 0.932949 0.932901 0.932853
+0.932805 0.932757 0.932709 0.932661 0.932613 0.932565 0.932517 0.932468
+0.93242 0.932372 0.932324 0.932276 0.932228 0.932179 0.932131 0.932083
+0.932035 0.931986 0.931938 0.93189 0.931842 0.931793 0.931745 0.931696
+0.931648 0.9316 0.931551 0.931503 0.931454 0.931406 0.931358 0.931309
+0.931261 0.931212 0.931163 0.931115 0.931066 0.931018 0.930969 0.930921
+0.930872 0.930823 0.930775 0.930726 0.930677 0.930628 0.93058 0.930531
+0.930482 0.930433 0.930385 0.930336 0.930287 0.930238 0.930189 0.93014
+0.930092 0.930043 0.929994 0.929945 0.929896 0.929847 0.929798 0.929749
+0.9297 0.929651 0.929602 0.929553 0.929504 0.929455 0.929406 0.929356
+0.929307 0.929258 0.929209 0.92916 0.929111 0.929061 0.929012 0.928963
+0.928914 0.928864 0.928815 0.928766 0.928716 0.928667 0.928618 0.928568
+0.928519 0.928469 0.92842 0.928371 0.928321 0.928272 0.928222 0.928173
+0.928123 0.928074 0.928024 0.927975 0.927925 0.927875 0.927826 0.927776
+0.927727 0.927677 0.927627 0.927577 0.927528 0.927478 0.927428 0.927379
+0.927329 0.927279 0.927229 0.927179 0.92713 0.92708 0.92703 0.92698
+0.92693 0.92688 0.92683 0.92678 0.92673 0.92668 0.92663 0.92658 0.92653
+0.92648 0.92643 0.92638 0.92633 0.92628 0.92623 0.92618 0.92613 0.926079
+0.926029 0.925979 0.925929 0.925879 0.925828 0.925778 0.925728 0.925678
+0.925627 0.925577 0.925527 0.925476 0.925426 0.925376 0.925325 0.925275
+0.925224 0.925174 0.925123 0.925073 0.925022 0.924972 0.924921 0.924871
+0.92482 0.92477 0.924719 0.924669 0.924618 0.924567 0.924517 0.924466
+0.924415 0.924365 0.924314 0.924263 0.924212 0.924162 0.924111 0.92406
+0.924009 0.923959 0.923908 0.923857 0.923806 0.923755 0.923704 0.923653
+0.923602 0.923551 0.9235 0.92345 0.923399 0.923348 0.923297 0.923245
+0.923194 0.923143 0.923092 0.923041 0.92299 0.922939 0.922888 0.922837
+0.922785 0.922734 0.922683 0.922632 0.922581 0.922529 0.922478 0.922427
+0.922376 0.922324 0.922273 0.922221 0.92217 0.922119 0.922067 0.922016
+0.921965 0.921913 0.921862 0.92181 0.921759 0.921707 0.921656 0.921604
+0.921553 0.921501 0.921449 0.921398 0.921346 0.921295 0.921243 0.921191
+0.92114 0.921088 0.921036 0.920985 0.920933 0.920881 0.920829 0.920777
+0.920726 0.920674 0.920622 0.92057 0.920518 0.920466 0.920415 0.920363
+0.920311 0.920259 0.920207 0.920155 0.920103 0.920051 0.919999 0.919947
+0.919895 0.919843 0.919791 0.919739 0.919687 0.919634 0.919582 0.91953
+0.919478 0.919426 0.919374 0.919321 0.919269 0.919217 0.919165 0.919112
+0.91906 0.919008 0.918955 0.918903 0.918851 0.918798 0.918746 0.918694
+0.918641 0.918589 0.918536 0.918484 0.918431 0.918379 0.918326 0.918274
+0.918221 0.918169 0.918116 0.918064 0.918011 0.917958 0.917906 0.917853
+0.9178 0.917748 0.917695 0.917642 0.91759 0.917537 0.917484 0.917431
+0.917379 0.917326 0.917273 0.91722 0.917167 0.917114 0.917062 0.917009
+0.916956 0.916903 0.91685 0.916797 0.916744 0.916691 0.916638 0.916585
+0.916532 0.916479 0.916426 0.916373 0.91632 0.916267 0.916214 0.91616
+0.916107 0.916054 0.916001 0.915948 0.915895 0.915841 0.915788 0.915735
+0.915682 0.915628 0.915575 0.915522 0.915468 0.915415 0.915362 0.915308
+0.915255 0.915201 0.915148 0.915095 0.915041 0.914988 0.914934 0.914881
+0.914827 0.914774 0.91472 0.914666 0.914613 0.914559 0.914506 0.914452
+0.914398 0.914345 0.914291 0.914237 0.914184 0.91413 0.914076 0.914023
+0.913969 0.913915 0.913861 0.913807 0.913754 0.9137 0.913646 0.913592
+0.913538 0.913484 0.91343 0.913376 0.913322 0.913269 0.913215 0.913161
+0.913107 0.913052 0.912998 0.912944 0.91289 0.912836 0.912782 0.912728
+0.912674 0.91262 0.912566 0.912511 0.912457 0.912403 0.912349 0.912295
+0.91224 0.912186 0.912132 0.912078 0.912023 0.911969 0.911915 0.91186
+0.911806 0.911752 0.911697 0.911643 0.911588 0.911534 0.911479 0.911425
+0.91137 0.911316 0.911261 0.911207 0.911152 0.911098 0.911043 0.910989
+0.910934 0.910879 0.910825 0.91077 0.910715 0.910661 0.910606 0.910551
+0.910497 0.910442 0.910387 0.910332 0.910277 0.910223 0.910168 0.910113
+0.910058 0.910003 0.909948 0.909894 0.909839 0.909784 0.909729 0.909674
+0.909619 0.909564 0.909509 0.909454 0.909399 0.909344 0.909289 0.909234
+0.909178 0.909123 0.909068 0.909013 0.908958 0.908903 0.908848 0.908792
+0.908737 0.908682 0.908627 0.908571 0.908516 0.908461 0.908406 0.90835
+0.908295 0.90824 0.908184 0.908129 0.908073 0.908018 0.907963 0.907907
+0.907852 0.907796 0.907741 0.907685 0.90763 0.907574 0.907519 0.907463
+0.907408 0.907352 0.907296 0.907241 0.907185 0.90713 0.907074 0.907018
+0.906962 0.906907 0.906851 0.906795 0.90674 0.906684 0.906628 0.906572
+0.906516 0.906461 0.906405 0.906349 0.906293 0.906237 0.906181 0.906125
+0.906069 0.906013 0.905957 0.905901 0.905845 0.905789 0.905733 0.905677
+0.905621 0.905565 0.905509 0.905453 0.905397 0.905341 0.905285 0.905229
+0.905172 0.905116 0.90506 0.905004 0.904948 0.904891 0.904835 0.904779
+0.904723 0.904666 0.90461 0.904554 0.904497 0.904441 0.904384 0.904328
+0.904272 0.904215 0.904159 0.904102 0.904046 0.903989 0.903933 0.903876
+0.90382 0.903763 0.903707 0.90365 0.903594 0.903537 0.90348 0.903424
+0.903367 0.90331 0.903254 0.903197 0.90314 0.903084 0.903027 0.90297
+0.902913 0.902857 0.9028 0.902743 0.902686 0.902629 0.902573 0.902516
+0.902459 0.902402 0.902345 0.902288 0.902231 0.902174 0.902117 0.90206
+0.902003 0.901946 0.901889 0.901832 0.901775 0.901718 0.901661 0.901604
+0.901547 0.901489 0.901432 0.901375 0.901318 0.901261 0.901204 0.901146
+0.901089 0.901032 0.900975 0.900917 0.90086 0.900803 0.900745 0.900688
+0.900631 0.900573 0.900516 0.900459 0.900401 0.900344 0.900286 0.900229
+0.900171 0.900114 0.900056 0.899999 0.899941 0.899884 0.899826 0.899769
+0.899711 0.899653 0.899596 0.899538 0.899481 0.899423 0.899365 0.899307
+0.89925 0.899192 0.899134 0.899077 0.899019 0.898961 0.898903 0.898845
+0.898788 0.89873 0.898672 0.898614 0.898556 0.898498 0.89844 0.898382
+0.898324 0.898266 0.898209 0.898151 0.898093 0.898035 0.897977 0.897918
+0.89786 0.897802 0.897744 0.897686 0.897628 0.89757 0.897512 0.897454
+0.897395 0.897337 0.897279 0.897221 0.897163 0.897104 0.897046 0.896988
+0.896929 0.896871 0.896813 0.896755 0.896696 0.896638 0.896579 0.896521
+0.896463 0.896404 0.896346 0.896287 0.896229 0.89617 0.896112 0.896053
+0.895995 0.895936 0.895878 0.895819 0.895761 0.895702 0.895643 0.895585
+0.895526 0.895467 0.895409 0.89535 0.895291 0.895233 0.895174 0.895115
+0.895056 0.894998 0.894939 0.89488 0.894821 0.894762 0.894704 0.894645
+0.894586 0.894527 0.894468 0.894409 0.89435 0.894291 0.894232 0.894173
+0.894114 0.894055 0.893996 0.893937 0.893878 0.893819 0.89376 0.893701
+0.893642 0.893583 0.893524 0.893464 0.893405 0.893346 0.893287 0.893228
+0.893168 0.893109 0.89305 0.892991 0.892931 0.892872 0.892813 0.892753
+0.892694 0.892635 0.892575 0.892516 0.892457 0.892397 0.892338 0.892278
+0.892219 0.892159 0.8921 0.89204 0.891981 0.891921 0.891862 0.891802
+0.891743 0.891683 0.891623 0.891564 0.891504 0.891445 0.891385 0.891325
+0.891266 0.891206 0.891146 0.891086 0.891027 0.890967 0.890907 0.890847
+0.890788 0.890728 0.890668 0.890608 0.890548 0.890488 0.890429 0.890369
+0.890309 0.890249 0.890189 0.890129 0.890069 0.890009 0.889949 0.889889
+0.889829 0.889769 0.889709 0.889649 0.889589 0.889529 0.889468 0.889408
+0.889348 0.889288 0.889228 0.889168 0.889107 0.889047 0.888987 0.888927
+0.888866 0.888806 0.888746 0.888686 0.888625 0.888565 0.888505 0.888444
+0.888384 0.888323 0.888263 0.888203 0.888142 0.888082 0.888021 0.887961
+0.8879 0.88784 0.887779 0.887719 0.887658 0.887598 0.887537 0.887477
+0.887416 0.887355 0.887295 0.887234 0.887173 0.887113 0.887052 0.886991
+0.886931 0.88687 0.886809 0.886748 0.886688 0.886627 0.886566 0.886505
+0.886444 0.886384 0.886323 0.886262 0.886201 0.88614 0.886079 0.886018
+0.885957 0.885896 0.885835 0.885774 0.885713 0.885652 0.885591 0.88553
+0.885469 0.885408 0.885347 0.885286 0.885225 0.885164 0.885103 0.885041
+0.88498 0.884919 0.884858 0.884797 0.884735 0.884674 0.884613;
+#A 20000 0.884552 0.88449 0.884429 0.884368 0.884306 0.884245 0.884184
+0.884122 0.884061 0.884 0.883938 0.883877 0.883815 0.883754 0.883692
+0.883631 0.883569 0.883508 0.883446 0.883385 0.883323 0.883262 0.8832
+0.883139 0.883077 0.883015 0.882954 0.882892 0.88283 0.882769 0.882707
+0.882645 0.882584 0.882522 0.88246 0.882398 0.882337 0.882275 0.882213
+0.882151 0.882089 0.882028 0.881966 0.881904 0.881842 0.88178 0.881718
+0.881656 0.881594 0.881532 0.88147 0.881408 0.881346 0.881284 0.881222
+0.88116 0.881098 0.881036 0.880974 0.880912 0.88085 0.880788 0.880726
+0.880663 0.880601 0.880539 0.880477 0.880415 0.880352 0.88029 0.880228
+0.880166 0.880103 0.880041 0.879979 0.879916 0.879854 0.879792 0.879729
+0.879667 0.879605 0.879542 0.87948 0.879417 0.879355 0.879292 0.87923
+0.879167 0.879105 0.879042 0.87898 0.878917 0.878855 0.878792 0.87873
+0.878667 0.878604 0.878542 0.878479 0.878416 0.878354 0.878291 0.878228
+0.878166 0.878103 0.87804 0.877977 0.877915 0.877852 0.877789 0.877726
+0.877664 0.877601 0.877538 0.877475 0.877412 0.877349 0.877286 0.877223
+0.87716 0.877097 0.877035 0.876972 0.876909 0.876846 0.876783 0.87672
+0.876656 0.876593 0.87653 0.876467 0.876404 0.876341 0.876278 0.876215
+0.876152 0.876088 0.876025 0.875962 0.875899 0.875836 0.875772 0.875709
+0.875646 0.875583 0.875519 0.875456 0.875393 0.875329 0.875266 0.875203
+0.875139 0.875076 0.875012 0.874949 0.874886 0.874822 0.874759 0.874695
+0.874632 0.874568 0.874505 0.874441 0.874378 0.874314 0.87425 0.874187
+0.874123 0.87406 0.873996 0.873932 0.873869 0.873805 0.873741 0.873678
+0.873614 0.87355 0.873487 0.873423 0.873359 0.873295 0.873231 0.873168
+0.873104 0.87304 0.872976 0.872912 0.872848 0.872785 0.872721 0.872657
+0.872593 0.872529 0.872465 0.872401 0.872337 0.872273 0.872209 0.872145
+0.872081 0.872017 0.871953 0.871889 0.871825 0.871761 0.871696 0.871632
+0.871568 0.871504 0.87144 0.871376 0.871311 0.871247 0.871183 0.871119
+0.871054 0.87099 0.870926 0.870862 0.870797 0.870733 0.870669 0.870604
+0.87054 0.870476 0.870411 0.870347 0.870282 0.870218 0.870153 0.870089
+0.870025 0.86996 0.869896 0.869831 0.869767 0.869702 0.869637 0.869573
+0.869508 0.869444 0.869379 0.869314 0.86925 0.869185 0.86912 0.869056
+0.868991 0.868926 0.868862 0.868797 0.868732 0.868667 0.868603 0.868538
+0.868473 0.868408 0.868343 0.868279 0.868214 0.868149 0.868084 0.868019
+0.867954 0.867889 0.867824 0.867759 0.867694 0.867629 0.867564 0.867499
+0.867434 0.867369 0.867304 0.867239 0.867174 0.867109 0.867044 0.866979
+0.866914 0.866849 0.866784 0.866718 0.866653 0.866588 0.866523 0.866458
+0.866392 0.866327 0.866262 0.866197 0.866131 0.866066 0.866001 0.865935
+0.86587 0.865805 0.865739 0.865674 0.865609 0.865543 0.865478 0.865412
+0.865347 0.865281 0.865216 0.86515 0.865085 0.865019 0.864954 0.864888
+0.864823 0.864757 0.864692 0.864626 0.86456 0.864495 0.864429 0.864364
+0.864298 0.864232 0.864166 0.864101 0.864035 0.863969 0.863904 0.863838
+0.863772 0.863706 0.863641 0.863575 0.863509 0.863443 0.863377 0.863311
+0.863245 0.86318 0.863114 0.863048 0.862982 0.862916 0.86285 0.862784
+0.862718 0.862652 0.862586 0.86252 0.862454 0.862388 0.862322 0.862256
+0.86219 0.862124 0.862057 0.861991 0.861925 0.861859 0.861793 0.861727
+0.86166 0.861594 0.861528 0.861462 0.861396 0.861329 0.861263 0.861197
+0.86113 0.861064 0.860998 0.860931 0.860865 0.860799 0.860732 0.860666
+0.8606 0.860533 0.860467 0.8604 0.860334 0.860267 0.860201 0.860134
+0.860068 0.860001 0.859935 0.859868 0.859802 0.859735 0.859668 0.859602
+0.859535 0.859469 0.859402 0.859335 0.859269 0.859202 0.859135 0.859069
+0.859002 0.858935 0.858868 0.858801 0.858735 0.858668 0.858601 0.858534
+0.858467 0.858401 0.858334 0.858267 0.8582 0.858133 0.858066 0.857999
+0.857932 0.857865 0.857798 0.857731 0.857664 0.857597 0.85753 0.857463
+0.857396 0.857329 0.857262 0.857195 0.857128 0.857061 0.856994 0.856927
+0.85686 0.856792 0.856725 0.856658 0.856591 0.856524 0.856456 0.856389
+0.856322 0.856255 0.856187 0.85612 0.856053 0.855986 0.855918 0.855851
+0.855783 0.855716 0.855649 0.855581 0.855514 0.855447 0.855379 0.855312
+0.855244 0.855177 0.855109 0.855042 0.854974 0.854907 0.854839 0.854772
+0.854704 0.854636 0.854569 0.854501 0.854434 0.854366 0.854298 0.854231
+0.854163 0.854095 0.854028 0.85396 0.853892 0.853824 0.853757 0.853689
+0.853621 0.853553 0.853486 0.853418 0.85335 0.853282 0.853214 0.853146
+0.853079 0.853011 0.852943 0.852875 0.852807 0.852739 0.852671 0.852603
+0.852535 0.852467 0.852399 0.852331 0.852263 0.852195 0.852127 0.852059
+0.851991 0.851923 0.851855 0.851786 0.851718 0.85165 0.851582 0.851514
+0.851446 0.851377 0.851309 0.851241 0.851173 0.851104 0.851036 0.850968
+0.8509 0.850831 0.850763 0.850695 0.850626 0.850558 0.85049 0.850421
+0.850353 0.850284 0.850216 0.850148 0.850079 0.850011 0.849942 0.849874
+0.849805 0.849737 0.849668 0.8496 0.849531 0.849463 0.849394 0.849325
+0.849257 0.849188 0.849119 0.849051 0.848982 0.848914 0.848845 0.848776
+0.848707 0.848639 0.84857 0.848501 0.848433 0.848364 0.848295 0.848226
+0.848157 0.848089 0.84802 0.847951 0.847882 0.847813 0.847744 0.847675
+0.847606 0.847538 0.847469 0.8474 0.847331 0.847262 0.847193 0.847124
+0.847055 0.846986 0.846917 0.846848 0.846779 0.846709 0.84664 0.846571
+0.846502 0.846433 0.846364 0.846295 0.846226 0.846156 0.846087 0.846018
+0.845949 0.84588 0.84581 0.845741 0.845672 0.845603 0.845533 0.845464
+0.845395 0.845325 0.845256 0.845187 0.845117 0.845048 0.844979 0.844909
+0.84484 0.84477 0.844701 0.844631 0.844562 0.844492 0.844423 0.844353
+0.844284 0.844214 0.844145 0.844075 0.844006 0.843936 0.843867 0.843797
+0.843727 0.843658 0.843588 0.843518 0.843449 0.843379 0.843309 0.84324
+0.84317 0.8431 0.84303 0.842961 0.842891 0.842821 0.842751 0.842681
+0.842612 0.842542 0.842472 0.842402 0.842332 0.842262 0.842192 0.842123
+0.842053 0.841983 0.841913 0.841843 0.841773 0.841703 0.841633 0.841563
+0.841493 0.841423 0.841353 0.841283 0.841213 0.841143 0.841072 0.841002
+0.840932 0.840862 0.840792 0.840722 0.840652 0.840581 0.840511 0.840441
+0.840371 0.840301 0.84023 0.84016 0.84009 0.840019 0.839949 0.839879
+0.839809 0.839738 0.839668 0.839597 0.839527 0.839457 0.839386 0.839316
+0.839245 0.839175 0.839105 0.839034 0.838964 0.838893 0.838823 0.838752
+0.838682 0.838611 0.838541 0.83847 0.838399 0.838329 0.838258 0.838188
+0.838117 0.838046 0.837976 0.837905 0.837834 0.837764 0.837693 0.837622
+0.837552 0.837481 0.83741 0.837339 0.837269 0.837198 0.837127 0.837056
+0.836985 0.836914 0.836844 0.836773 0.836702 0.836631 0.83656 0.836489
+0.836418 0.836347 0.836276 0.836205 0.836134 0.836064 0.835993 0.835922
+0.835851 0.835779 0.835708 0.835637 0.835566 0.835495 0.835424 0.835353
+0.835282 0.835211 0.83514 0.835068 0.834997 0.834926 0.834855 0.834784
+0.834713 0.834641 0.83457 0.834499 0.834428 0.834356 0.834285 0.834214
+0.834142 0.834071 0.834 0.833928 0.833857 0.833786 0.833714 0.833643
+0.833571 0.8335 0.833429 0.833357 0.833286 0.833214 0.833143 0.833071
+0.833 0.832928 0.832857 0.832785 0.832713 0.832642 0.83257 0.832499
+0.832427 0.832355 0.832284 0.832212 0.832141 0.832069 0.831997 0.831926
+0.831854 0.831782 0.83171 0.831639 0.831567 0.831495 0.831423 0.831352
+0.83128 0.831208 0.831136 0.831064 0.830992 0.830921 0.830849 0.830777
+0.830705 0.830633 0.830561 0.830489 0.830417 0.830345 0.830273 0.830201
+0.830129 0.830057 0.829985 0.829913 0.829841 0.829769 0.829697 0.829625
+0.829553 0.829481 0.829409 0.829336 0.829264 0.829192 0.82912 0.829048
+0.828976 0.828903 0.828831 0.828759 0.828687 0.828614 0.828542 0.82847
+0.828398 0.828325 0.828253 0.828181 0.828108 0.828036 0.827964 0.827891
+0.827819 0.827746 0.827674 0.827602 0.827529 0.827457 0.827384 0.827312
+0.827239 0.827167 0.827094 0.827022 0.826949 0.826877 0.826804 0.826732
+0.826659 0.826586 0.826514 0.826441 0.826369 0.826296 0.826223 0.826151
+0.826078 0.826005 0.825933 0.82586 0.825787 0.825714 0.825642 0.825569
+0.825496 0.825423 0.825351 0.825278 0.825205 0.825132 0.825059 0.824986
+0.824914 0.824841 0.824768 0.824695 0.824622 0.824549 0.824476 0.824403
+0.82433 0.824257 0.824184 0.824111 0.824038 0.823965 0.823892 0.823819
+0.823746 0.823673 0.8236 0.823527 0.823454 0.823381 0.823307 0.823234
+0.823161 0.823088 0.823015 0.822942 0.822868 0.822795 0.822722 0.822649
+0.822576 0.822502 0.822429 0.822356 0.822282 0.822209 0.822136 0.822062
+0.821989 0.821916 0.821842 0.821769 0.821696 0.821622 0.821549 0.821475
+0.821402 0.821329 0.821255 0.821182 0.821108 0.821035 0.820961 0.820888
+0.820814 0.820741 0.820667 0.820593 0.82052 0.820446 0.820373 0.820299
+0.820225 0.820152 0.820078 0.820004 0.819931 0.819857 0.819783 0.81971
+0.819636 0.819562 0.819488 0.819415 0.819341 0.819267 0.819193 0.81912
+0.819046 0.818972 0.818898 0.818824 0.81875 0.818677 0.818603 0.818529
+0.818455 0.818381 0.818307 0.818233 0.818159 0.818085 0.818011 0.817937
+0.817863 0.817789 0.817715 0.817641 0.817567 0.817493 0.817419 0.817345
+0.817271 0.817197 0.817123 0.817048 0.816974 0.8169 0.816826 0.816752
+0.816678;
+#A 21000 0.816603 0.816529 0.816455 0.816381 0.816306 0.816232 0.816158
+0.816084 0.816009 0.815935 0.815861 0.815786 0.815712 0.815638 0.815563
+0.815489 0.815415 0.81534 0.815266 0.815191 0.815117 0.815042 0.814968
+0.814894 0.814819 0.814745 0.81467 0.814596 0.814521 0.814447 0.814372
+0.814297 0.814223 0.814148 0.814074 0.813999 0.813924 0.81385 0.813775
+0.813701 0.813626 0.813551 0.813477 0.813402 0.813327 0.813252 0.813178
+0.813103 0.813028 0.812953 0.812879 0.812804 0.812729 0.812654 0.812579
+0.812505 0.81243 0.812355 0.81228 0.812205 0.81213 0.812055 0.81198
+0.811906 0.811831 0.811756 0.811681 0.811606 0.811531 0.811456 0.811381
+0.811306 0.811231 0.811156 0.811081 0.811005 0.81093 0.810855 0.81078
+0.810705 0.81063 0.810555 0.81048 0.810405 0.810329 0.810254 0.810179
+0.810104 0.810029 0.809953 0.809878 0.809803 0.809728 0.809652 0.809577
+0.809502 0.809426 0.809351 0.809276 0.809201 0.809125 0.80905 0.808974
+0.808899 0.808824 0.808748 0.808673 0.808597 0.808522 0.808447 0.808371
+0.808296 0.80822 0.808145 0.808069 0.807994 0.807918 0.807842 0.807767
+0.807691 0.807616 0.80754 0.807465 0.807389 0.807313 0.807238 0.807162
+0.807086 0.807011 0.806935 0.806859 0.806784 0.806708 0.806632 0.806557
+0.806481 0.806405 0.806329 0.806253 0.806178 0.806102 0.806026 0.80595
+0.805874 0.805799 0.805723 0.805647 0.805571 0.805495 0.805419 0.805343
+0.805267 0.805191 0.805115 0.80504 0.804964 0.804888 0.804812 0.804736
+0.80466 0.804583 0.804507 0.804431 0.804355 0.804279 0.804203 0.804127
+0.804051 0.803975 0.803899 0.803823 0.803746 0.80367 0.803594 0.803518
+0.803442 0.803366 0.803289 0.803213 0.803137 0.803061 0.802984 0.802908
+0.802832 0.802756 0.802679 0.802603 0.802527 0.80245 0.802374 0.802298
+0.802221 0.802145 0.802068 0.801992 0.801916 0.801839 0.801763 0.801686
+0.80161 0.801533 0.801457 0.80138 0.801304 0.801227 0.801151 0.801074
+0.800998 0.800921 0.800845 0.800768 0.800691 0.800615 0.800538 0.800462
+0.800385 0.800308 0.800232 0.800155 0.800078 0.800002 0.799925 0.799848
+0.799771 0.799695 0.799618 0.799541 0.799464 0.799388 0.799311 0.799234
+0.799157 0.79908 0.799004 0.798927 0.79885 0.798773 0.798696 0.798619
+0.798542 0.798465 0.798388 0.798311 0.798235 0.798158 0.798081 0.798004
+0.797927 0.79785 0.797773 0.797696 0.797619 0.797542 0.797464 0.797387
+0.79731 0.797233 0.797156 0.797079 0.797002 0.796925 0.796848 0.796771
+0.796693 0.796616 0.796539 0.796462 0.796385 0.796307 0.79623 0.796153
+0.796076 0.795998 0.795921 0.795844 0.795766 0.795689 0.795612 0.795535
+0.795457 0.79538 0.795303 0.795225 0.795148 0.79507 0.794993 0.794915
+0.794838 0.794761 0.794683 0.794606 0.794528 0.794451 0.794373 0.794296
+0.794218 0.794141 0.794063 0.793986 0.793908 0.793831 0.793753 0.793675
+0.793598 0.79352 0.793443 0.793365 0.793287 0.79321 0.793132 0.793054
+0.792977 0.792899 0.792821 0.792744 0.792666 0.792588 0.79251 0.792433
+0.792355 0.792277 0.792199 0.792121 0.792044 0.791966 0.791888 0.79181
+0.791732 0.791654 0.791576 0.791499 0.791421 0.791343 0.791265 0.791187
+0.791109 0.791031 0.790953 0.790875 0.790797 0.790719 0.790641 0.790563
+0.790485 0.790407 0.790329 0.790251 0.790173 0.790095 0.790017 0.789939
+0.78986 0.789782 0.789704 0.789626 0.789548 0.78947 0.789392 0.789313
+0.789235 0.789157 0.789079 0.789 0.788922 0.788844 0.788766 0.788687
+0.788609 0.788531 0.788453 0.788374 0.788296 0.788218 0.788139 0.788061
+0.787982 0.787904 0.787826 0.787747 0.787669 0.78759 0.787512 0.787434
+0.787355 0.787277 0.787198 0.78712 0.787041 0.786963 0.786884 0.786806
+0.786727 0.786649 0.78657 0.786491 0.786413 0.786334 0.786256 0.786177
+0.786098 0.78602 0.785941 0.785863 0.785784 0.785705 0.785626 0.785548
+0.785469 0.78539 0.785312 0.785233 0.785154 0.785075 0.784997 0.784918
+0.784839 0.78476 0.784681 0.784603 0.784524 0.784445 0.784366 0.784287
+0.784208 0.78413 0.784051 0.783972 0.783893 0.783814 0.783735 0.783656
+0.783577 0.783498 0.783419 0.78334 0.783261 0.783182 0.783103 0.783024
+0.782945 0.782866 0.782787 0.782708 0.782629 0.78255 0.78247 0.782391
+0.782312 0.782233 0.782154 0.782075 0.781996 0.781916 0.781837 0.781758
+0.781679 0.7816 0.78152 0.781441 0.781362 0.781283 0.781203 0.781124
+0.781045 0.780966 0.780886 0.780807 0.780728 0.780648 0.780569 0.78049
+0.78041 0.780331 0.780251 0.780172 0.780093 0.780013 0.779934 0.779854
+0.779775 0.779695 0.779616 0.779536 0.779457 0.779377 0.779298 0.779218
+0.779139 0.779059 0.77898 0.7789 0.778821 0.778741 0.778661 0.778582
+0.778502 0.778423 0.778343 0.778263 0.778184 0.778104 0.778024 0.777945
+0.777865 0.777785 0.777705 0.777626 0.777546 0.777466 0.777386 0.777307
+0.777227 0.777147 0.777067 0.776987 0.776908 0.776828 0.776748 0.776668
+0.776588 0.776508 0.776428 0.776349 0.776269 0.776189 0.776109 0.776029
+0.775949 0.775869 0.775789 0.775709 0.775629 0.775549 0.775469 0.775389
+0.775309 0.775229 0.775149 0.775069 0.774989 0.774909 0.774829 0.774749
+0.774668 0.774588 0.774508 0.774428 0.774348 0.774268 0.774188 0.774107
+0.774027 0.773947 0.773867 0.773787 0.773706 0.773626 0.773546 0.773466
+0.773385 0.773305 0.773225 0.773144 0.773064 0.772984 0.772904 0.772823
+0.772743 0.772663 0.772582 0.772502 0.772421 0.772341 0.772261 0.77218
+0.7721 0.772019 0.771939 0.771858 0.771778 0.771697 0.771617 0.771536
+0.771456 0.771375 0.771295 0.771214 0.771134 0.771053 0.770973 0.770892
+0.770811 0.770731 0.77065 0.77057 0.770489 0.770408 0.770328 0.770247
+0.770166 0.770086 0.770005 0.769924 0.769844 0.769763 0.769682 0.769601
+0.769521 0.76944 0.769359 0.769278 0.769198 0.769117 0.769036 0.768955
+0.768874 0.768794 0.768713 0.768632 0.768551 0.76847 0.768389 0.768308
+0.768227 0.768147 0.768066 0.767985 0.767904 0.767823 0.767742 0.767661
+0.76758 0.767499 0.767418 0.767337 0.767256 0.767175 0.767094 0.767013
+0.766932 0.76685 0.766769 0.766688 0.766607 0.766526 0.766445 0.766364
+0.766283 0.766202 0.76612 0.766039 0.765958 0.765877 0.765796 0.765714
+0.765633 0.765552 0.765471 0.76539 0.765308 0.765227 0.765146 0.765064
+0.764983 0.764902 0.764821 0.764739 0.764658 0.764576 0.764495 0.764414
+0.764332 0.764251 0.76417 0.764088 0.764007 0.763925 0.763844 0.763762
+0.763681 0.7636 0.763518 0.763437 0.763355 0.763274 0.763192 0.763111
+0.763029 0.762947 0.762866 0.762784 0.762703 0.762621 0.76254 0.762458
+0.762376 0.762295 0.762213 0.762132 0.76205 0.761968 0.761887 0.761805
+0.761723 0.761642 0.76156 0.761478 0.761396 0.761315 0.761233 0.761151
+0.761069 0.760988 0.760906 0.760824 0.760742 0.76066 0.760579 0.760497
+0.760415 0.760333 0.760251 0.760169 0.760088 0.760006 0.759924 0.759842
+0.75976 0.759678 0.759596 0.759514 0.759432 0.75935 0.759268 0.759186
+0.759104 0.759022 0.75894 0.758858 0.758776 0.758694 0.758612 0.75853
+0.758448 0.758366 0.758284 0.758202 0.75812 0.758038 0.757955 0.757873
+0.757791 0.757709 0.757627 0.757545 0.757462 0.75738 0.757298 0.757216
+0.757134 0.757051 0.756969 0.756887 0.756805 0.756722 0.75664 0.756558
+0.756476 0.756393 0.756311 0.756229 0.756146 0.756064 0.755982 0.755899
+0.755817 0.755734 0.755652 0.75557 0.755487 0.755405 0.755322 0.75524
+0.755158 0.755075 0.754993 0.75491 0.754828 0.754745 0.754663 0.75458
+0.754498 0.754415 0.754333 0.75425 0.754167 0.754085 0.754002 0.75392
+0.753837 0.753754 0.753672 0.753589 0.753507 0.753424 0.753341 0.753259
+0.753176 0.753093 0.753011 0.752928 0.752845 0.752762 0.75268 0.752597
+0.752514 0.752432 0.752349 0.752266 0.752183 0.7521 0.752018 0.751935
+0.751852 0.751769 0.751686 0.751603 0.751521 0.751438 0.751355 0.751272
+0.751189 0.751106 0.751023 0.75094 0.750857 0.750775 0.750692 0.750609
+0.750526 0.750443 0.75036 0.750277 0.750194 0.750111 0.750028 0.749945
+0.749862 0.749779 0.749695 0.749612 0.749529 0.749446 0.749363 0.74928
+0.749197 0.749114 0.749031 0.748948 0.748864 0.748781 0.748698 0.748615
+0.748532 0.748449 0.748365 0.748282 0.748199 0.748116 0.748032 0.747949
+0.747866 0.747783 0.747699 0.747616 0.747533 0.747449 0.747366 0.747283
+0.747199 0.747116 0.747033 0.746949 0.746866 0.746783 0.746699 0.746616
+0.746532 0.746449 0.746366 0.746282 0.746199 0.746115 0.746032 0.745948
+0.745865 0.745781 0.745698 0.745614 0.745531 0.745447 0.745364 0.74528
+0.745197 0.745113 0.74503 0.744946 0.744862 0.744779 0.744695 0.744612
+0.744528 0.744444 0.744361 0.744277 0.744193 0.74411 0.744026 0.743942
+0.743859 0.743775 0.743691 0.743608 0.743524 0.74344 0.743356 0.743273
+0.743189 0.743105 0.743021 0.742938 0.742854 0.74277 0.742686 0.742602
+0.742518 0.742435 0.742351 0.742267 0.742183 0.742099 0.742015 0.741931
+0.741847 0.741764 0.74168 0.741596 0.741512 0.741428 0.741344 0.74126
+0.741176 0.741092 0.741008 0.740924 0.74084 0.740756 0.740672 0.740588
+0.740504 0.74042 0.740336 0.740252 0.740167 0.740083 0.739999 0.739915
+0.739831 0.739747 0.739663 0.739579 0.739494 0.73941 0.739326 0.739242
+0.739158 0.739074 0.738989 0.738905 0.738821 0.738737 0.738652 0.738568
+0.738484 0.7384 0.738315 0.738231 0.738147 0.738062 0.737978 0.737894
+0.737809 0.737725 0.737641 0.737556 0.737472 0.737388 0.737303 0.737219
+0.737135;
+#A 22000 0.73705 0.736966 0.736881 0.736797 0.736712 0.736628 0.736543
+0.736459 0.736374 0.73629 0.736206 0.736121 0.736037 0.735952 0.735867
+0.735783 0.735698 0.735614 0.735529 0.735445 0.73536 0.735276 0.735191
+0.735106 0.735022 0.734937 0.734852 0.734768 0.734683 0.734598 0.734514
+0.734429 0.734344 0.73426 0.734175 0.73409 0.734006 0.733921 0.733836
+0.733751 0.733667 0.733582 0.733497 0.733412 0.733328 0.733243 0.733158
+0.733073 0.732988 0.732903 0.732819 0.732734 0.732649 0.732564 0.732479
+0.732394 0.732309 0.732224 0.73214 0.732055 0.73197 0.731885 0.7318
+0.731715 0.73163 0.731545 0.73146 0.731375 0.73129 0.731205 0.73112
+0.731035 0.73095 0.730865 0.73078 0.730695 0.73061 0.730525 0.73044
+0.730354 0.730269 0.730184 0.730099 0.730014 0.729929 0.729844 0.729759
+0.729673 0.729588 0.729503 0.729418 0.729333 0.729248 0.729162 0.729077
+0.728992 0.728907 0.728821 0.728736 0.728651 0.728566 0.72848 0.728395
+0.72831 0.728225 0.728139 0.728054 0.727969 0.727883 0.727798 0.727713
+0.727627 0.727542 0.727456 0.727371 0.727286 0.7272 0.727115 0.727029
+0.726944 0.726859 0.726773 0.726688 0.726602 0.726517 0.726431 0.726346
+0.72626 0.726175 0.726089 0.726004 0.725918 0.725833 0.725747 0.725662
+0.725576 0.725491 0.725405 0.725319 0.725234 0.725148 0.725063 0.724977
+0.724891 0.724806 0.72472 0.724634 0.724549 0.724463 0.724377 0.724292
+0.724206 0.72412 0.724035 0.723949 0.723863 0.723777 0.723692 0.723606
+0.72352 0.723434 0.723349 0.723263 0.723177 0.723091 0.723005 0.72292
+0.722834 0.722748 0.722662 0.722576 0.72249 0.722405 0.722319 0.722233
+0.722147 0.722061 0.721975 0.721889 0.721803 0.721717 0.721631 0.721546
+0.72146 0.721374 0.721288 0.721202 0.721116 0.72103 0.720944 0.720858
+0.720772 0.720686 0.7206 0.720514 0.720428 0.720341 0.720255 0.720169
+0.720083 0.719997 0.719911 0.719825 0.719739 0.719653 0.719567 0.71948
+0.719394 0.719308 0.719222 0.719136 0.71905 0.718963 0.718877 0.718791
+0.718705 0.718619 0.718532 0.718446 0.71836 0.718274 0.718187 0.718101
+0.718015 0.717929 0.717842 0.717756 0.71767 0.717583 0.717497 0.717411
+0.717324 0.717238 0.717152 0.717065 0.716979 0.716892 0.716806 0.71672
+0.716633 0.716547 0.71646 0.716374 0.716288 0.716201 0.716115 0.716028
+0.715942 0.715855 0.715769 0.715682 0.715596 0.715509 0.715423 0.715336
+0.71525 0.715163 0.715077 0.71499 0.714904 0.714817 0.71473 0.714644
+0.714557 0.714471 0.714384 0.714297 0.714211 0.714124 0.714038 0.713951
+0.713864 0.713778 0.713691 0.713604 0.713517 0.713431 0.713344 0.713257
+0.713171 0.713084 0.712997 0.71291 0.712824 0.712737 0.71265 0.712563
+0.712477 0.71239 0.712303 0.712216 0.712129 0.712043 0.711956 0.711869
+0.711782 0.711695 0.711608 0.711522 0.711435 0.711348 0.711261 0.711174
+0.711087 0.711 0.710913 0.710826 0.710739 0.710652 0.710565 0.710478
+0.710392 0.710305 0.710218 0.710131 0.710044 0.709957 0.70987 0.709783
+0.709695 0.709608 0.709521 0.709434 0.709347 0.70926 0.709173 0.709086
+0.708999 0.708912 0.708825 0.708738 0.708651 0.708563 0.708476 0.708389
+0.708302 0.708215 0.708128 0.70804 0.707953 0.707866 0.707779 0.707692
+0.707604 0.707517 0.70743 0.707343 0.707255 0.707168 0.707081 0.706994
+0.706906 0.706819 0.706732 0.706645 0.706557 0.70647 0.706383 0.706295
+0.706208 0.706121 0.706033 0.705946 0.705859 0.705771 0.705684 0.705596
+0.705509 0.705422 0.705334 0.705247 0.705159 0.705072 0.704984 0.704897
+0.70481 0.704722 0.704635 0.704547 0.70446 0.704372 0.704285 0.704197
+0.70411 0.704022 0.703935 0.703847 0.703759 0.703672 0.703584 0.703497
+0.703409 0.703322 0.703234 0.703146 0.703059 0.702971 0.702884 0.702796
+0.702708 0.702621 0.702533 0.702445 0.702358 0.70227 0.702182 0.702095
+0.702007 0.701919 0.701832 0.701744 0.701656 0.701568 0.701481 0.701393
+0.701305 0.701217 0.70113 0.701042 0.700954 0.700866 0.700778 0.700691
+0.700603 0.700515 0.700427 0.700339 0.700251 0.700164 0.700076 0.699988
+0.6999 0.699812 0.699724 0.699636 0.699548 0.699461 0.699373 0.699285
+0.699197 0.699109 0.699021 0.698933 0.698845 0.698757 0.698669 0.698581
+0.698493 0.698405 0.698317 0.698229 0.698141 0.698053 0.697965 0.697877
+0.697789 0.697701 0.697613 0.697525 0.697437 0.697348 0.69726 0.697172
+0.697084 0.696996 0.696908 0.69682 0.696732 0.696643 0.696555 0.696467
+0.696379 0.696291 0.696203 0.696114 0.696026 0.695938 0.69585 0.695762
+0.695673 0.695585 0.695497 0.695409 0.69532 0.695232 0.695144 0.695056
+0.694967 0.694879 0.694791 0.694703 0.694614 0.694526 0.694438 0.694349
+0.694261 0.694173 0.694084 0.693996 0.693907 0.693819 0.693731 0.693642
+0.693554 0.693466 0.693377 0.693289 0.6932 0.693112 0.693023 0.692935
+0.692846 0.692758 0.69267 0.692581 0.692493 0.692404 0.692316 0.692227
+0.692139 0.69205 0.691962 0.691873 0.691785 0.691696 0.691607 0.691519
+0.69143 0.691342 0.691253 0.691165 0.691076 0.690987 0.690899 0.69081
+0.690722 0.690633 0.690544 0.690456 0.690367 0.690278 0.69019 0.690101
+0.690012 0.689924 0.689835 0.689746 0.689658 0.689569 0.68948 0.689391
+0.689303 0.689214 0.689125 0.689036 0.688948 0.688859 0.68877 0.688681
+0.688592 0.688504 0.688415 0.688326 0.688237 0.688148 0.68806 0.687971
+0.687882 0.687793 0.687704 0.687615 0.687527 0.687438 0.687349 0.68726
+0.687171 0.687082 0.686993 0.686904 0.686815 0.686726 0.686637 0.686548
+0.686459 0.686371 0.686282 0.686193 0.686104 0.686015 0.685926 0.685837
+0.685748 0.685659 0.68557 0.685481 0.685391 0.685302 0.685213 0.685124
+0.685035 0.684946 0.684857 0.684768 0.684679 0.68459 0.684501 0.684412
+0.684323 0.684233 0.684144 0.684055 0.683966 0.683877 0.683788 0.683699
+0.683609 0.68352 0.683431 0.683342 0.683253 0.683163 0.683074 0.682985
+0.682896 0.682806 0.682717 0.682628 0.682539 0.68245 0.68236 0.682271
+0.682182 0.682092 0.682003 0.681914 0.681825 0.681735 0.681646 0.681557
+0.681467 0.681378 0.681289 0.681199 0.68111 0.68102 0.680931 0.680842
+0.680752 0.680663 0.680574 0.680484 0.680395 0.680305 0.680216 0.680126
+0.680037 0.679947 0.679858 0.679769 0.679679 0.67959 0.6795 0.679411
+0.679321 0.679232 0.679142 0.679053 0.678963 0.678874 0.678784 0.678695
+0.678605 0.678515 0.678426 0.678336 0.678247 0.678157 0.678068 0.677978
+0.677888 0.677799 0.677709 0.67762 0.67753 0.67744 0.677351 0.677261
+0.677171 0.677082 0.676992 0.676902 0.676813 0.676723 0.676633 0.676544
+0.676454 0.676364 0.676275 0.676185 0.676095 0.676005 0.675916 0.675826
+0.675736 0.675646 0.675557 0.675467 0.675377 0.675287 0.675197 0.675108
+0.675018 0.674928 0.674838 0.674748 0.674659 0.674569 0.674479 0.674389
+0.674299 0.674209 0.674119 0.67403 0.67394 0.67385 0.67376 0.67367
+0.67358 0.67349 0.6734 0.67331 0.67322 0.673131 0.673041 0.672951 0.672861
+0.672771 0.672681 0.672591 0.672501 0.672411 0.672321 0.672231 0.672141
+0.672051 0.671961 0.671871 0.671781 0.671691 0.671601 0.67151 0.67142
+0.67133 0.67124 0.67115 0.67106 0.67097 0.67088 0.67079 0.6707 0.67061
+0.670519 0.670429 0.670339 0.670249 0.670159 0.670069 0.669979 0.669888
+0.669798 0.669708 0.669618 0.669528 0.669438 0.669347 0.669257 0.669167
+0.669077 0.668986 0.668896 0.668806 0.668716 0.668625 0.668535 0.668445
+0.668355 0.668264 0.668174 0.668084 0.667993 0.667903 0.667813 0.667723
+0.667632 0.667542 0.667452 0.667361 0.667271 0.667181 0.66709 0.667
+0.666909 0.666819 0.666729 0.666638 0.666548 0.666458 0.666367 0.666277
+0.666186 0.666096 0.666005 0.665915 0.665825 0.665734 0.665644 0.665553
+0.665463 0.665372 0.665282 0.665191 0.665101 0.66501 0.66492 0.664829
+0.664739 0.664648 0.664558 0.664467 0.664377 0.664286 0.664195 0.664105
+0.664014 0.663924 0.663833 0.663743 0.663652 0.663561 0.663471 0.66338
+0.66329 0.663199 0.663108 0.663018 0.662927 0.662836 0.662746 0.662655
+0.662564 0.662474 0.662383 0.662292 0.662202 0.662111 0.66202 0.66193
+0.661839 0.661748 0.661658 0.661567 0.661476 0.661385 0.661295 0.661204
+0.661113 0.661022 0.660932 0.660841 0.66075 0.660659 0.660568 0.660478
+0.660387 0.660296 0.660205 0.660114 0.660024 0.659933 0.659842 0.659751
+0.65966 0.659569 0.659478 0.659388 0.659297 0.659206 0.659115 0.659024
+0.658933 0.658842 0.658751 0.65866 0.65857 0.658479 0.658388 0.658297
+0.658206 0.658115 0.658024 0.657933 0.657842 0.657751 0.65766 0.657569
+0.657478 0.657387 0.657296 0.657205 0.657114 0.657023 0.656932 0.656841
+0.65675 0.656659 0.656568 0.656477 0.656386 0.656295 0.656204 0.656112
+0.656021 0.65593 0.655839 0.655748 0.655657 0.655566 0.655475 0.655384
+0.655292 0.655201 0.65511 0.655019 0.654928 0.654837 0.654746 0.654654
+0.654563 0.654472 0.654381 0.65429 0.654198 0.654107 0.654016 0.653925
+0.653834 0.653742 0.653651 0.65356 0.653469 0.653377 0.653286 0.653195
+0.653104 0.653012 0.652921 0.65283 0.652739 0.652647 0.652556 0.652465
+0.652373 0.652282 0.652191 0.652099 0.652008 0.651917 0.651825 0.651734
+0.651643 0.651551 0.65146 0.651368 0.651277 0.651186 0.651094 0.651003
+0.650912 0.65082 0.650729 0.650637 0.650546 0.650455 0.650363 0.650272
+0.65018 0.650089 0.649997 0.649906 0.649814 0.649723 0.649631 0.64954
+0.649448 0.649357 0.649265 0.649174 0.649082 0.648991 0.648899;
+#A 23000 0.648808 0.648716 0.648625 0.648533 0.648442 0.64835 0.648259
+0.648167 0.648075 0.647984 0.647892 0.647801 0.647709 0.647618 0.647526
+0.647434 0.647343 0.647251 0.647159 0.647068 0.646976 0.646885 0.646793
+0.646701 0.64661 0.646518 0.646426 0.646335 0.646243 0.646151 0.64606
+0.645968 0.645876 0.645784 0.645693 0.645601 0.645509 0.645418 0.645326
+0.645234 0.645142 0.645051 0.644959 0.644867 0.644775 0.644684 0.644592
+0.6445 0.644408 0.644316 0.644225 0.644133 0.644041 0.643949 0.643857
+0.643766 0.643674 0.643582 0.64349 0.643398 0.643306 0.643215 0.643123
+0.643031 0.642939 0.642847 0.642755 0.642663 0.642571 0.642479 0.642388
+0.642296 0.642204 0.642112 0.64202 0.641928 0.641836 0.641744 0.641652
+0.64156 0.641468 0.641376 0.641284 0.641192 0.6411 0.641008 0.640916
+0.640824 0.640732 0.64064 0.640548 0.640456 0.640364 0.640272 0.64018
+0.640088 0.639996 0.639904 0.639812 0.63972 0.639628 0.639536 0.639444
+0.639352 0.63926 0.639168 0.639076 0.638984 0.638891 0.638799 0.638707
+0.638615 0.638523 0.638431 0.638339 0.638247 0.638155 0.638062 0.63797
+0.637878 0.637786 0.637694 0.637602 0.637509 0.637417 0.637325 0.637233
+0.637141 0.637048 0.636956 0.636864 0.636772 0.63668 0.636587 0.636495
+0.636403 0.636311 0.636218 0.636126 0.636034 0.635942 0.635849 0.635757
+0.635665 0.635573 0.63548 0.635388 0.635296 0.635203 0.635111 0.635019
+0.634926 0.634834 0.634742 0.63465 0.634557 0.634465 0.634372 0.63428
+0.634188 0.634095 0.634003 0.633911 0.633818 0.633726 0.633634 0.633541
+0.633449 0.633356 0.633264 0.633172 0.633079 0.632987 0.632894 0.632802
+0.632709 0.632617 0.632525 0.632432 0.63234 0.632247 0.632155 0.632062
+0.63197 0.631877 0.631785 0.631692 0.6316 0.631507 0.631415 0.631322
+0.63123 0.631137 0.631045 0.630952 0.63086 0.630767 0.630675 0.630582
+0.63049 0.630397 0.630305 0.630212 0.630119 0.630027 0.629934 0.629842
+0.629749 0.629656 0.629564 0.629471 0.629379 0.629286 0.629193 0.629101
+0.629008 0.628916 0.628823 0.62873 0.628638 0.628545 0.628452 0.62836
+0.628267 0.628174 0.628082 0.627989 0.627896 0.627804 0.627711 0.627618
+0.627526 0.627433 0.62734 0.627247 0.627155 0.627062 0.626969 0.626876
+0.626784 0.626691 0.626598 0.626505 0.626413 0.62632 0.626227 0.626134
+0.626042 0.625949 0.625856 0.625763 0.625671 0.625578 0.625485 0.625392
+0.625299 0.625207 0.625114 0.625021 0.624928 0.624835 0.624742 0.62465
+0.624557 0.624464 0.624371 0.624278 0.624185 0.624092 0.623999 0.623907
+0.623814 0.623721 0.623628 0.623535 0.623442 0.623349 0.623256 0.623163
+0.62307 0.622978 0.622885 0.622792 0.622699 0.622606 0.622513 0.62242
+0.622327 0.622234 0.622141 0.622048 0.621955 0.621862 0.621769 0.621676
+0.621583 0.62149 0.621397 0.621304 0.621211 0.621118 0.621025 0.620932
+0.620839 0.620746 0.620653 0.62056 0.620467 0.620374 0.620281 0.620188
+0.620095 0.620001 0.619908 0.619815 0.619722 0.619629 0.619536 0.619443
+0.61935 0.619257 0.619164 0.619071 0.618977 0.618884 0.618791 0.618698
+0.618605 0.618512 0.618419 0.618326 0.618232 0.618139 0.618046 0.617953
+0.61786 0.617767 0.617673 0.61758 0.617487 0.617394 0.617301 0.617207
+0.617114 0.617021 0.616928 0.616835 0.616741 0.616648 0.616555 0.616462
+0.616368 0.616275 0.616182 0.616089 0.615995 0.615902 0.615809 0.615716
+0.615622 0.615529 0.615436 0.615342 0.615249 0.615156 0.615063 0.614969
+0.614876 0.614783 0.614689 0.614596 0.614503 0.614409 0.614316 0.614223
+0.614129 0.614036 0.613943 0.613849 0.613756 0.613663 0.613569 0.613476
+0.613383 0.613289 0.613196 0.613102 0.613009 0.612916 0.612822 0.612729
+0.612635 0.612542 0.612449 0.612355 0.612262 0.612168 0.612075 0.611981
+0.611888 0.611795 0.611701 0.611608 0.611514 0.611421 0.611327 0.611234
+0.61114 0.611047 0.610953 0.61086 0.610766 0.610673 0.610579 0.610486
+0.610392 0.610299 0.610205 0.610112 0.610018 0.609925 0.609831 0.609738
+0.609644 0.609551 0.609457 0.609363 0.60927 0.609176 0.609083 0.608989
+0.608896 0.608802 0.608709 0.608615 0.608521 0.608428 0.608334 0.608241
+0.608147 0.608053 0.60796 0.607866 0.607773 0.607679 0.607585 0.607492
+0.607398 0.607304 0.607211 0.607117 0.607023 0.60693 0.606836 0.606743
+0.606649 0.606555 0.606461 0.606368 0.606274 0.60618 0.606087 0.605993
+0.605899 0.605806 0.605712 0.605618 0.605525 0.605431 0.605337 0.605243
+0.60515 0.605056 0.604962 0.604868 0.604775 0.604681 0.604587 0.604493
+0.6044 0.604306 0.604212 0.604118 0.604025 0.603931 0.603837 0.603743
+0.603649 0.603556 0.603462 0.603368 0.603274 0.60318 0.603087 0.602993
+0.602899 0.602805 0.602711 0.602618 0.602524 0.60243 0.602336 0.602242
+0.602148 0.602054 0.601961 0.601867 0.601773 0.601679 0.601585 0.601491
+0.601397 0.601304 0.60121 0.601116 0.601022 0.600928 0.600834 0.60074
+0.600646 0.600552 0.600458 0.600365 0.600271 0.600177 0.600083 0.599989
+0.599895 0.599801 0.599707 0.599613 0.599519 0.599425 0.599331 0.599237
+0.599143 0.599049 0.598955 0.598861 0.598767 0.598673 0.598579 0.598485
+0.598391 0.598297 0.598203 0.598109 0.598015 0.597921 0.597827 0.597733
+0.597639 0.597545 0.597451 0.597357 0.597263 0.597169 0.597075 0.596981
+0.596887 0.596793 0.596699 0.596605 0.596511 0.596417 0.596322 0.596228
+0.596134 0.59604 0.595946 0.595852 0.595758 0.595664 0.59557 0.595476
+0.595381 0.595287 0.595193 0.595099 0.595005 0.594911 0.594817 0.594723
+0.594628 0.594534 0.59444 0.594346 0.594252 0.594158 0.594064 0.593969
+0.593875 0.593781 0.593687 0.593593 0.593499 0.593404 0.59331 0.593216
+0.593122 0.593028 0.592933 0.592839 0.592745 0.592651 0.592557 0.592462
+0.592368 0.592274 0.59218 0.592085 0.591991 0.591897 0.591803 0.591708
+0.591614 0.59152 0.591426 0.591331 0.591237 0.591143 0.591049 0.590954
+0.59086 0.590766 0.590672 0.590577 0.590483 0.590389 0.590294 0.5902
+0.590106 0.590011 0.589917 0.589823 0.589729 0.589634 0.58954 0.589446
+0.589351 0.589257 0.589163 0.589068 0.588974 0.58888 0.588785 0.588691
+0.588596 0.588502 0.588408 0.588313 0.588219 0.588125 0.58803 0.587936
+0.587842 0.587747 0.587653 0.587558 0.587464 0.58737 0.587275 0.587181
+0.587086 0.586992 0.586898 0.586803 0.586709 0.586614 0.58652 0.586425
+0.586331 0.586237 0.586142 0.586048 0.585953 0.585859 0.585764 0.58567
+0.585575 0.585481 0.585386 0.585292 0.585198 0.585103 0.585009 0.584914
+0.58482 0.584725 0.584631 0.584536 0.584442 0.584347 0.584253 0.584158
+0.584064 0.583969 0.583875 0.58378 0.583686 0.583591 0.583497 0.583402
+0.583308 0.583213 0.583118 0.583024 0.582929 0.582835 0.58274 0.582646
+0.582551 0.582457 0.582362 0.582267 0.582173 0.582078 0.581984 0.581889
+0.581795 0.5817 0.581605 0.581511 0.581416 0.581322 0.581227 0.581132
+0.581038 0.580943 0.580849 0.580754 0.580659 0.580565 0.58047 0.580375
+0.580281 0.580186 0.580092 0.579997 0.579902 0.579808 0.579713 0.579618
+0.579524 0.579429 0.579334 0.57924 0.579145 0.57905 0.578956 0.578861
+0.578766 0.578672 0.578577 0.578482 0.578388 0.578293 0.578198 0.578104
+0.578009 0.577914 0.577819 0.577725 0.57763 0.577535 0.577441 0.577346
+0.577251 0.577156 0.577062 0.576967 0.576872 0.576778 0.576683 0.576588
+0.576493 0.576399 0.576304 0.576209 0.576114 0.57602 0.575925 0.57583
+0.575735 0.57564 0.575546 0.575451 0.575356 0.575261 0.575167 0.575072
+0.574977 0.574882 0.574787 0.574693 0.574598 0.574503 0.574408 0.574313
+0.574219 0.574124 0.574029 0.573934 0.573839 0.573745 0.57365 0.573555
+0.57346 0.573365 0.57327 0.573176 0.573081 0.572986 0.572891 0.572796
+0.572701 0.572606 0.572512 0.572417 0.572322 0.572227 0.572132 0.572037
+0.571942 0.571847 0.571753 0.571658 0.571563 0.571468 0.571373 0.571278
+0.571183 0.571088 0.570993 0.570899 0.570804 0.570709 0.570614 0.570519
+0.570424 0.570329 0.570234 0.570139 0.570044 0.569949 0.569854 0.56976
+0.569665 0.56957 0.569475 0.56938 0.569285 0.56919 0.569095 0.569 0.568905
+0.56881 0.568715 0.56862 0.568525 0.56843 0.568335 0.56824 0.568145
+0.56805 0.567955 0.56786 0.567765 0.56767 0.567575 0.56748 0.567385
+0.56729 0.567195 0.5671 0.567005 0.56691 0.566815 0.56672 0.566625
+0.56653 0.566435 0.56634 0.566245 0.56615 0.566055 0.56596 0.565865
+0.56577 0.565675 0.56558 0.565485 0.56539 0.565295 0.5652 0.565105
+0.56501 0.564915 0.56482 0.564724 0.564629 0.564534 0.564439 0.564344
+0.564249 0.564154 0.564059 0.563964 0.563869 0.563774 0.563679 0.563583
+0.563488 0.563393 0.563298 0.563203 0.563108 0.563013 0.562918 0.562823
+0.562728 0.562632 0.562537 0.562442 0.562347 0.562252 0.562157 0.562062
+0.561966 0.561871 0.561776 0.561681 0.561586 0.561491 0.561396 0.561301
+0.561205 0.56111 0.561015 0.56092 0.560825 0.56073 0.560634 0.560539
+0.560444 0.560349 0.560254 0.560159 0.560063 0.559968 0.559873 0.559778
+0.559683 0.559587 0.559492 0.559397 0.559302 0.559207 0.559111 0.559016
+0.558921 0.558826 0.558731 0.558635 0.55854 0.558445 0.55835 0.558255
+0.558159 0.558064 0.557969 0.557874 0.557778 0.557683 0.557588 0.557493
+0.557397 0.557302 0.557207 0.557112 0.557016 0.556921 0.556826 0.556731
+0.556635 0.55654 0.556445 0.55635 0.556254 0.556159 0.556064 0.555969
+0.555873 0.555778 0.555683 0.555588 0.555492 0.555397 0.555302 0.555206
+;
+#A 24000 0.555111 0.555016 0.55492 0.554825 0.55473 0.554635 0.554539
+0.554444 0.554349 0.554253 0.554158 0.554063 0.553967 0.553872 0.553777
+0.553682 0.553586 0.553491 0.553396 0.5533 0.553205 0.55311 0.553014
+0.552919 0.552824 0.552728 0.552633 0.552538 0.552442 0.552347 0.552252
+0.552156 0.552061 0.551965 0.55187 0.551775 0.551679 0.551584 0.551489
+0.551393 0.551298 0.551203 0.551107 0.551012 0.550916 0.550821 0.550726
+0.55063 0.550535 0.55044 0.550344 0.550249 0.550153 0.550058 0.549963
+0.549867 0.549772 0.549676 0.549581 0.549486 0.54939 0.549295 0.549199
+0.549104 0.549009 0.548913 0.548818 0.548722 0.548627 0.548531 0.548436
+0.548341 0.548245 0.54815 0.548054 0.547959 0.547863 0.547768 0.547673
+0.547577 0.547482 0.547386 0.547291 0.547195 0.5471 0.547005 0.546909
+0.546814 0.546718 0.546623 0.546527 0.546432 0.546336 0.546241 0.546145
+0.54605 0.545954 0.545859 0.545764 0.545668 0.545573 0.545477 0.545382
+0.545286 0.545191 0.545095 0.545 0.544904 0.544809 0.544713 0.544618
+0.544522 0.544427 0.544331 0.544236 0.54414 0.544045 0.543949 0.543854
+0.543758 0.543663 0.543567 0.543472 0.543376 0.543281 0.543185 0.54309
+0.542994 0.542899 0.542803 0.542708 0.542612 0.542517 0.542421 0.542325
+0.54223 0.542134 0.542039 0.541943 0.541848 0.541752 0.541657 0.541561
+0.541466 0.54137 0.541275 0.541179 0.541084 0.540988 0.540892 0.540797
+0.540701 0.540606 0.54051 0.540415 0.540319 0.540223 0.540128 0.540032
+0.539937 0.539841 0.539746 0.53965 0.539554 0.539459 0.539363 0.539268
+0.539172 0.539077 0.538981 0.538885 0.53879 0.538694 0.538599 0.538503
+0.538408 0.538312 0.538216 0.538121 0.538025 0.53793 0.537834 0.537738
+0.537643 0.537547 0.537452 0.537356 0.53726 0.537165 0.537069 0.536974
+0.536878 0.536782 0.536687 0.536591 0.536495 0.5364 0.536304 0.536209
+0.536113 0.536017 0.535922 0.535826 0.53573 0.535635 0.535539 0.535444
+0.535348 0.535252 0.535157 0.535061 0.534965 0.53487 0.534774 0.534678
+0.534583 0.534487 0.534392 0.534296 0.5342 0.534105 0.534009 0.533913
+0.533818 0.533722 0.533626 0.533531 0.533435 0.533339 0.533244 0.533148
+0.533052 0.532957 0.532861 0.532765 0.53267 0.532574 0.532478 0.532383
+0.532287 0.532191 0.532096 0.532 0.531904 0.531809 0.531713 0.531617
+0.531522 0.531426 0.53133 0.531235 0.531139 0.531043 0.530947 0.530852
+0.530756 0.53066 0.530565 0.530469 0.530373 0.530278 0.530182 0.530086
+0.52999 0.529895 0.529799 0.529703 0.529608 0.529512 0.529416 0.529321
+0.529225 0.529129 0.529033 0.528938 0.528842 0.528746 0.528651 0.528555
+0.528459 0.528363 0.528268 0.528172 0.528076 0.527981 0.527885 0.527789
+0.527693 0.527598 0.527502 0.527406 0.52731 0.527215 0.527119 0.527023
+0.526928 0.526832 0.526736 0.52664 0.526545 0.526449 0.526353 0.526257
+0.526162 0.526066 0.52597 0.525874 0.525779 0.525683 0.525587 0.525491
+0.525396 0.5253 0.525204 0.525108 0.525013 0.524917 0.524821 0.524725
+0.52463 0.524534 0.524438 0.524342 0.524247 0.524151 0.524055 0.523959
+0.523863 0.523768 0.523672 0.523576 0.52348 0.523385 0.523289 0.523193
+0.523097 0.523002 0.522906 0.52281 0.522714 0.522618 0.522523 0.522427
+0.522331 0.522235 0.52214 0.522044 0.521948 0.521852 0.521756 0.521661
+0.521565 0.521469 0.521373 0.521278 0.521182 0.521086 0.52099 0.520894
+0.520799 0.520703 0.520607 0.520511 0.520415 0.52032 0.520224 0.520128
+0.520032 0.519936 0.519841 0.519745 0.519649 0.519553 0.519457 0.519362
+0.519266 0.51917 0.519074 0.518978 0.518883 0.518787 0.518691 0.518595
+0.518499 0.518404 0.518308 0.518212 0.518116 0.51802 0.517925 0.517829
+0.517733 0.517637 0.517541 0.517446 0.51735 0.517254 0.517158 0.517062
+0.516966 0.516871 0.516775 0.516679 0.516583 0.516487 0.516391 0.516296
+0.5162 0.516104 0.516008 0.515912 0.515817 0.515721 0.515625 0.515529
+0.515433 0.515337 0.515242 0.515146 0.51505 0.514954 0.514858 0.514762
+0.514667 0.514571 0.514475 0.514379 0.514283 0.514187 0.514092 0.513996
+0.5139 0.513804 0.513708 0.513612 0.513517 0.513421 0.513325 0.513229
+0.513133 0.513037 0.512942 0.512846 0.51275 0.512654 0.512558 0.512462
+0.512366 0.512271 0.512175 0.512079 0.511983 0.511887 0.511791 0.511696
+0.5116 0.511504 0.511408 0.511312 0.511216 0.51112 0.511025 0.510929
+0.510833 0.510737 0.510641 0.510545 0.510449 0.510354 0.510258 0.510162
+0.510066 0.50997 0.509874 0.509778 0.509683 0.509587 0.509491 0.509395
+0.509299 0.509203 0.509108 0.509012 0.508916 0.50882 0.508724 0.508628
+0.508532 0.508437 0.508341 0.508245 0.508149 0.508053 0.507957 0.507861
+0.507765 0.50767 0.507574 0.507478 0.507382 0.507286 0.50719 0.507094
+0.506999 0.506903 0.506807 0.506711 0.506615 0.506519 0.506423 0.506328
+0.506232 0.506136 0.50604 0.505944 0.505848 0.505752 0.505656 0.505561
+0.505465 0.505369 0.505273 0.505177 0.505081 0.504985 0.504889 0.504794
+0.504698 0.504602 0.504506 0.50441 0.504314 0.504218 0.504123 0.504027
+0.503931 0.503835 0.503739 0.503643 0.503547 0.503451 0.503356 0.50326
+0.503164 0.503068 0.502972 0.502876 0.50278 0.502684 0.502589 0.502493
+0.502397 0.502301 0.502205 0.502109 0.502013 0.501917 0.501822 0.501726
+0.50163 0.501534 0.501438 0.501342 0.501246 0.50115 0.501055 0.500959
+0.500863 0.500767 0.500671 0.500575 0.500479 0.500383 0.500288 0.500192
+0.500096 0.5 0.499904 0.499808 0.499712 0.499617 0.499521 0.499425
+0.499329 0.499233 0.499137 0.499041 0.498945 0.49885 0.498754 0.498658
+0.498562 0.498466 0.49837 0.498274 0.498178 0.498083 0.497987 0.497891
+0.497795 0.497699 0.497603 0.497507 0.497411 0.497316 0.49722 0.497124
+0.497028 0.496932 0.496836 0.49674 0.496644 0.496549 0.496453 0.496357
+0.496261 0.496165 0.496069 0.495973 0.495877 0.495782 0.495686 0.49559
+0.495494 0.495398 0.495302 0.495206 0.495111 0.495015 0.494919 0.494823
+0.494727 0.494631 0.494535 0.494439 0.494344 0.494248 0.494152 0.494056
+0.49396 0.493864 0.493768 0.493672 0.493577 0.493481 0.493385 0.493289
+0.493193 0.493097 0.493001 0.492906 0.49281 0.492714 0.492618 0.492522
+0.492426 0.49233 0.492235 0.492139 0.492043 0.491947 0.491851 0.491755
+0.491659 0.491563 0.491468 0.491372 0.491276 0.49118 0.491084 0.490988
+0.490892 0.490797 0.490701 0.490605 0.490509 0.490413 0.490317 0.490222
+0.490126 0.49003 0.489934 0.489838 0.489742 0.489646 0.489551 0.489455
+0.489359 0.489263 0.489167 0.489071 0.488975 0.48888 0.488784 0.488688
+0.488592 0.488496 0.4884 0.488304 0.488209 0.488113 0.488017 0.487921
+0.487825 0.487729 0.487634 0.487538 0.487442 0.487346 0.48725 0.487154
+0.487058 0.486963 0.486867 0.486771 0.486675 0.486579 0.486483 0.486388
+0.486292 0.486196 0.4861 0.486004 0.485908 0.485813 0.485717 0.485621
+0.485525 0.485429 0.485333 0.485238 0.485142 0.485046 0.48495 0.484854
+0.484758 0.484663 0.484567 0.484471 0.484375 0.484279 0.484183 0.484088
+0.483992 0.483896 0.4838 0.483704 0.483609 0.483513 0.483417 0.483321
+0.483225 0.483129 0.483034 0.482938 0.482842 0.482746 0.48265 0.482554
+0.482459 0.482363 0.482267 0.482171 0.482075 0.48198 0.481884 0.481788
+0.481692 0.481596 0.481501 0.481405 0.481309 0.481213 0.481117 0.481022
+0.480926 0.48083 0.480734 0.480638 0.480543 0.480447 0.480351 0.480255
+0.480159 0.480064 0.479968 0.479872 0.479776 0.47968 0.479585 0.479489
+0.479393 0.479297 0.479201 0.479106 0.47901 0.478914 0.478818 0.478722
+0.478627 0.478531 0.478435 0.478339 0.478244 0.478148 0.478052 0.477956
+0.47786 0.477765 0.477669 0.477573 0.477477 0.477381 0.477286 0.47719
+0.477094 0.476998 0.476903 0.476807 0.476711 0.476615 0.47652 0.476424
+0.476328 0.476232 0.476137 0.476041 0.475945 0.475849 0.475753 0.475658
+0.475562 0.475466 0.47537 0.475275 0.475179 0.475083 0.474987 0.474892
+0.474796 0.4747 0.474604 0.474509 0.474413 0.474317 0.474221 0.474126
+0.47403 0.473934 0.473838 0.473743 0.473647 0.473551 0.473455 0.47336
+0.473264 0.473168 0.473072 0.472977 0.472881 0.472785 0.47269 0.472594
+0.472498 0.472402 0.472307 0.472211 0.472115 0.472019 0.471924 0.471828
+0.471732 0.471637 0.471541 0.471445 0.471349 0.471254 0.471158 0.471062
+0.470967 0.470871 0.470775 0.470679 0.470584 0.470488 0.470392 0.470297
+0.470201 0.470105 0.47001 0.469914 0.469818 0.469722 0.469627 0.469531
+0.469435 0.46934 0.469244 0.469148 0.469053 0.468957 0.468861 0.468765
+0.46867 0.468574 0.468478 0.468383 0.468287 0.468191 0.468096 0.468
+0.467904 0.467809 0.467713 0.467617 0.467522 0.467426 0.46733 0.467235
+0.467139 0.467043 0.466948 0.466852 0.466756 0.466661 0.466565 0.466469
+0.466374 0.466278 0.466182 0.466087 0.465991 0.465895 0.4658 0.465704
+0.465608 0.465513 0.465417 0.465322 0.465226 0.46513 0.465035 0.464939
+0.464843 0.464748 0.464652 0.464556 0.464461 0.464365 0.46427 0.464174
+0.464078 0.463983 0.463887 0.463791 0.463696 0.4636 0.463505 0.463409
+0.463313 0.463218 0.463122 0.463026 0.462931 0.462835 0.46274 0.462644
+0.462548 0.462453 0.462357 0.462262 0.462166 0.46207 0.461975 0.461879
+0.461784 0.461688 0.461592 0.461497 0.461401 0.461306 0.46121 0.461115
+0.461019 0.460923 0.460828 0.460732 0.460637 0.460541 0.460445 0.46035
+0.460254 0.460159 0.460063 0.459968 0.459872 0.459777 0.459681 0.459585
+0.45949;
+#A 25000 0.459394 0.459299 0.459203 0.459108 0.459012 0.458917 0.458821
+0.458725 0.45863 0.458534 0.458439 0.458343 0.458248 0.458152 0.458057
+0.457961 0.457866 0.45777 0.457675 0.457579 0.457483 0.457388 0.457292
+0.457197 0.457101 0.457006 0.45691 0.456815 0.456719 0.456624 0.456528
+0.456433 0.456337 0.456242 0.456146 0.456051 0.455955 0.45586 0.455764
+0.455669 0.455573 0.455478 0.455382 0.455287 0.455191 0.455096 0.455
+0.454905 0.454809 0.454714 0.454618 0.454523 0.454427 0.454332 0.454236
+0.454141 0.454046 0.45395 0.453855 0.453759 0.453664 0.453568 0.453473
+0.453377 0.453282 0.453186 0.453091 0.452995 0.4529 0.452805 0.452709
+0.452614 0.452518 0.452423 0.452327 0.452232 0.452137 0.452041 0.451946
+0.45185 0.451755 0.451659 0.451564 0.451469 0.451373 0.451278 0.451182
+0.451087 0.450991 0.450896 0.450801 0.450705 0.45061 0.450514 0.450419
+0.450324 0.450228 0.450133 0.450037 0.449942 0.449847 0.449751 0.449656
+0.44956 0.449465 0.44937 0.449274 0.449179 0.449084 0.448988 0.448893
+0.448797 0.448702 0.448607 0.448511 0.448416 0.448321 0.448225 0.44813
+0.448035 0.447939 0.447844 0.447748 0.447653 0.447558 0.447462 0.447367
+0.447272 0.447176 0.447081 0.446986 0.44689 0.446795 0.4467 0.446604
+0.446509 0.446414 0.446318 0.446223 0.446128 0.446033 0.445937 0.445842
+0.445747 0.445651 0.445556 0.445461 0.445365 0.44527 0.445175 0.445079
+0.444984 0.444889 0.444794 0.444698 0.444603 0.444508 0.444412 0.444317
+0.444222 0.444127 0.444031 0.443936 0.443841 0.443746 0.44365 0.443555
+0.44346 0.443365 0.443269 0.443174 0.443079 0.442984 0.442888 0.442793
+0.442698 0.442603 0.442507 0.442412 0.442317 0.442222 0.442126 0.442031
+0.441936 0.441841 0.441745 0.44165 0.441555 0.44146 0.441365 0.441269
+0.441174 0.441079 0.440984 0.440889 0.440793 0.440698 0.440603 0.440508
+0.440413 0.440317 0.440222 0.440127 0.440032 0.439937 0.439841 0.439746
+0.439651 0.439556 0.439461 0.439366 0.43927 0.439175 0.43908 0.438985
+0.43889 0.438795 0.4387 0.438604 0.438509 0.438414 0.438319 0.438224
+0.438129 0.438034 0.437938 0.437843 0.437748 0.437653 0.437558 0.437463
+0.437368 0.437273 0.437177 0.437082 0.436987 0.436892 0.436797 0.436702
+0.436607 0.436512 0.436417 0.436321 0.436226 0.436131 0.436036 0.435941
+0.435846 0.435751 0.435656 0.435561 0.435466 0.435371 0.435276 0.435181
+0.435085 0.43499 0.434895 0.4348 0.434705 0.43461 0.434515 0.43442
+0.434325 0.43423 0.434135 0.43404 0.433945 0.43385 0.433755 0.43366
+0.433565 0.43347 0.433375 0.43328 0.433185 0.43309 0.432995 0.4329
+0.432805 0.43271 0.432615 0.43252 0.432425 0.43233 0.432235 0.43214
+0.432045 0.43195 0.431855 0.43176 0.431665 0.43157 0.431475 0.43138
+0.431285 0.43119 0.431095 0.431 0.430905 0.43081 0.430715 0.43062 0.430525
+0.43043 0.430335 0.43024 0.430146 0.430051 0.429956 0.429861 0.429766
+0.429671 0.429576 0.429481 0.429386 0.429291 0.429196 0.429101 0.429006
+0.428912 0.428817 0.428722 0.428627 0.428532 0.428437 0.428342 0.428247
+0.428152 0.428058 0.427963 0.427868 0.427773 0.427678 0.427583 0.427488
+0.427394 0.427299 0.427204 0.427109 0.427014 0.426919 0.426824 0.42673
+0.426635 0.42654 0.426445 0.42635 0.426255 0.426161 0.426066 0.425971
+0.425876 0.425781 0.425687 0.425592 0.425497 0.425402 0.425307 0.425213
+0.425118 0.425023 0.424928 0.424833 0.424739 0.424644 0.424549 0.424454
+0.424359 0.424265 0.42417 0.424075 0.42398 0.423886 0.423791 0.423696
+0.423601 0.423507 0.423412 0.423317 0.423222 0.423128 0.423033 0.422938
+0.422844 0.422749 0.422654 0.422559 0.422465 0.42237 0.422275 0.422181
+0.422086 0.421991 0.421896 0.421802 0.421707 0.421612 0.421518 0.421423
+0.421328 0.421234 0.421139 0.421044 0.42095 0.420855 0.42076 0.420666
+0.420571 0.420476 0.420382 0.420287 0.420192 0.420098 0.420003 0.419908
+0.419814 0.419719 0.419625 0.41953 0.419435 0.419341 0.419246 0.419151
+0.419057 0.418962 0.418868 0.418773 0.418678 0.418584 0.418489 0.418395
+0.4183 0.418205 0.418111 0.418016 0.417922 0.417827 0.417733 0.417638
+0.417543 0.417449 0.417354 0.41726 0.417165 0.417071 0.416976 0.416882
+0.416787 0.416693 0.416598 0.416503 0.416409 0.416314 0.41622 0.416125
+0.416031 0.415936 0.415842 0.415747 0.415653 0.415558 0.415464 0.415369
+0.415275 0.41518 0.415086 0.414991 0.414897 0.414802 0.414708 0.414614
+0.414519 0.414425 0.41433 0.414236 0.414141 0.414047 0.413952 0.413858
+0.413763 0.413669 0.413575 0.41348 0.413386 0.413291 0.413197 0.413102
+0.413008 0.412914 0.412819 0.412725 0.41263 0.412536 0.412442 0.412347
+0.412253 0.412158 0.412064 0.41197 0.411875 0.411781 0.411687 0.411592
+0.411498 0.411404 0.411309 0.411215 0.41112 0.411026 0.410932 0.410837
+0.410743 0.410649 0.410554 0.41046 0.410366 0.410271 0.410177 0.410083
+0.409989 0.409894 0.4098 0.409706 0.409611 0.409517 0.409423 0.409328
+0.409234 0.40914 0.409046 0.408951 0.408857 0.408763 0.408669 0.408574
+0.40848 0.408386 0.408292 0.408197 0.408103 0.408009 0.407915 0.40782
+0.407726 0.407632 0.407538 0.407443 0.407349 0.407255 0.407161 0.407067
+0.406972 0.406878 0.406784 0.40669 0.406596 0.406501 0.406407 0.406313
+0.406219 0.406125 0.406031 0.405936 0.405842 0.405748 0.405654 0.40556
+0.405466 0.405372 0.405277 0.405183 0.405089 0.404995 0.404901 0.404807
+0.404713 0.404619 0.404524 0.40443 0.404336 0.404242 0.404148 0.404054
+0.40396 0.403866 0.403772 0.403678 0.403583 0.403489 0.403395 0.403301
+0.403207 0.403113 0.403019 0.402925 0.402831 0.402737 0.402643 0.402549
+0.402455 0.402361 0.402267 0.402173 0.402079 0.401985 0.401891 0.401797
+0.401703 0.401609 0.401515 0.401421 0.401327 0.401233 0.401139 0.401045
+0.400951 0.400857 0.400763 0.400669 0.400575 0.400481 0.400387 0.400293
+0.400199 0.400105 0.400011 0.399917 0.399823 0.399729 0.399636 0.399542
+0.399448 0.399354 0.39926 0.399166 0.399072 0.398978 0.398884 0.39879
+0.398696 0.398603 0.398509 0.398415 0.398321 0.398227 0.398133 0.398039
+0.397946 0.397852 0.397758 0.397664 0.39757 0.397476 0.397382 0.397289
+0.397195 0.397101 0.397007 0.396913 0.39682 0.396726 0.396632 0.396538
+0.396444 0.396351 0.396257 0.396163 0.396069 0.395975 0.395882 0.395788
+0.395694 0.3956 0.395507 0.395413 0.395319 0.395225 0.395132 0.395038
+0.394944 0.39485 0.394757 0.394663 0.394569 0.394475 0.394382 0.394288
+0.394194 0.394101 0.394007 0.393913 0.39382 0.393726 0.393632 0.393539
+0.393445 0.393351 0.393257 0.393164 0.39307 0.392977 0.392883 0.392789
+0.392696 0.392602 0.392508 0.392415 0.392321 0.392227 0.392134 0.39204
+0.391947 0.391853 0.391759 0.391666 0.391572 0.391479 0.391385 0.391291
+0.391198 0.391104 0.391011 0.390917 0.390824 0.39073 0.390636 0.390543
+0.390449 0.390356 0.390262 0.390169 0.390075 0.389982 0.389888 0.389795
+0.389701 0.389608 0.389514 0.389421 0.389327 0.389234 0.38914 0.389047
+0.388953 0.38886 0.388766 0.388673 0.388579 0.388486 0.388392 0.388299
+0.388205 0.388112 0.388019 0.387925 0.387832 0.387738 0.387645 0.387551
+0.387458 0.387365 0.387271 0.387178 0.387084 0.386991 0.386898 0.386804
+0.386711 0.386617 0.386524 0.386431 0.386337 0.386244 0.386151 0.386057
+0.385964 0.385871 0.385777 0.385684 0.385591 0.385497 0.385404 0.385311
+0.385217 0.385124 0.385031 0.384937 0.384844 0.384751 0.384658 0.384564
+0.384471 0.384378 0.384284 0.384191 0.384098 0.384005 0.383911 0.383818
+0.383725 0.383632 0.383538 0.383445 0.383352 0.383259 0.383165 0.383072
+0.382979 0.382886 0.382793 0.382699 0.382606 0.382513 0.38242 0.382327
+0.382233 0.38214 0.382047 0.381954 0.381861 0.381768 0.381674 0.381581
+0.381488 0.381395 0.381302 0.381209 0.381116 0.381023 0.380929 0.380836
+0.380743 0.38065 0.380557 0.380464 0.380371 0.380278 0.380185 0.380092
+0.379998 0.379905 0.379812 0.379719 0.379626 0.379533 0.37944 0.379347
+0.379254 0.379161 0.379068 0.378975 0.378882 0.378789 0.378696 0.378603
+0.37851 0.378417 0.378324 0.378231 0.378138 0.378045 0.377952 0.377859
+0.377766 0.377673 0.37758 0.377487 0.377394 0.377301 0.377208 0.377115
+0.377022 0.37693 0.376837 0.376744 0.376651 0.376558 0.376465 0.376372
+0.376279 0.376186 0.376093 0.376001 0.375908 0.375815 0.375722 0.375629
+0.375536 0.375443 0.375351 0.375258 0.375165 0.375072 0.374979 0.374886
+0.374793 0.374701 0.374608 0.374515 0.374422 0.374329 0.374237 0.374144
+0.374051 0.373958 0.373866 0.373773 0.37368 0.373587 0.373494 0.373402
+0.373309 0.373216 0.373123 0.373031 0.372938 0.372845 0.372753 0.37266
+0.372567 0.372474 0.372382 0.372289 0.372196 0.372104 0.372011 0.371918
+0.371826 0.371733 0.37164 0.371548 0.371455 0.371362 0.37127 0.371177
+0.371084 0.370992 0.370899 0.370807 0.370714 0.370621 0.370529 0.370436
+0.370344 0.370251 0.370158 0.370066 0.369973 0.369881 0.369788 0.369695
+0.369603 0.36951 0.369418 0.369325 0.369233 0.36914 0.369048 0.368955
+0.368863 0.36877 0.368678 0.368585 0.368493 0.3684 0.368308 0.368215
+0.368123 0.36803 0.367938 0.367845 0.367753 0.36766 0.367568 0.367475
+0.367383 0.367291 0.367198 0.367106 0.367013 0.366921 0.366828 0.366736
+0.366644 0.366551 0.366459 0.366366 0.366274 0.366182 0.366089 0.365997
+0.365905 0.365812 0.36572 0.365627 0.365535 0.365443 0.36535 0.365258
+;
+#A 26000 0.365166 0.365074 0.364981 0.364889 0.364797 0.364704 0.364612
+0.36452 0.364427 0.364335 0.364243 0.364151 0.364058 0.363966 0.363874
+0.363782 0.363689 0.363597 0.363505 0.363413 0.36332 0.363228 0.363136
+0.363044 0.362952 0.362859 0.362767 0.362675 0.362583 0.362491 0.362398
+0.362306 0.362214 0.362122 0.36203 0.361938 0.361845 0.361753 0.361661
+0.361569 0.361477 0.361385 0.361293 0.361201 0.361109 0.361016 0.360924
+0.360832 0.36074 0.360648 0.360556 0.360464 0.360372 0.36028 0.360188
+0.360096 0.360004 0.359912 0.35982 0.359728 0.359636 0.359544 0.359452
+0.35936 0.359268 0.359176 0.359084 0.358992 0.3589 0.358808 0.358716
+0.358624 0.358532 0.35844 0.358348 0.358256 0.358164 0.358072 0.35798
+0.357888 0.357796 0.357704 0.357612 0.357521 0.357429 0.357337 0.357245
+0.357153 0.357061 0.356969 0.356877 0.356785 0.356694 0.356602 0.35651
+0.356418 0.356326 0.356234 0.356143 0.356051 0.355959 0.355867 0.355775
+0.355684 0.355592 0.3555 0.355408 0.355316 0.355225 0.355133 0.355041
+0.354949 0.354858 0.354766 0.354674 0.354582 0.354491 0.354399 0.354307
+0.354216 0.354124 0.354032 0.35394 0.353849 0.353757 0.353665 0.353574
+0.353482 0.35339 0.353299 0.353207 0.353115 0.353024 0.352932 0.352841
+0.352749 0.352657 0.352566 0.352474 0.352382 0.352291 0.352199 0.352108
+0.352016 0.351925 0.351833 0.351741 0.35165 0.351558 0.351467 0.351375
+0.351284 0.351192 0.351101 0.351009 0.350918 0.350826 0.350735 0.350643
+0.350552 0.35046 0.350369 0.350277 0.350186 0.350094 0.350003 0.349911
+0.34982 0.349728 0.349637 0.349546 0.349454 0.349363 0.349271 0.34918
+0.349088 0.348997 0.348906 0.348814 0.348723 0.348631 0.34854 0.348449
+0.348357 0.348266 0.348175 0.348083 0.347992 0.347901 0.347809 0.347718
+0.347627 0.347535 0.347444 0.347353 0.347261 0.34717 0.347079 0.346988
+0.346896 0.346805 0.346714 0.346623 0.346531 0.34644 0.346349 0.346258
+0.346166 0.346075 0.345984 0.345893 0.345802 0.34571 0.345619 0.345528
+0.345437 0.345346 0.345254 0.345163 0.345072 0.344981 0.34489 0.344799
+0.344708 0.344616 0.344525 0.344434 0.344343 0.344252 0.344161 0.34407
+0.343979 0.343888 0.343797 0.343705 0.343614 0.343523 0.343432 0.343341
+0.34325 0.343159 0.343068 0.342977 0.342886 0.342795 0.342704 0.342613
+0.342522 0.342431 0.34234 0.342249 0.342158 0.342067 0.341976 0.341885
+0.341794 0.341703 0.341612 0.341521 0.341431 0.34134 0.341249 0.341158
+0.341067 0.340976 0.340885 0.340794 0.340703 0.340612 0.340522 0.340431
+0.34034 0.340249 0.340158 0.340067 0.339976 0.339886 0.339795 0.339704
+0.339613 0.339522 0.339432 0.339341 0.33925 0.339159 0.339068 0.338978
+0.338887 0.338796 0.338705 0.338615 0.338524 0.338433 0.338342 0.338252
+0.338161 0.33807 0.33798 0.337889 0.337798 0.337708 0.337617 0.337526
+0.337436 0.337345 0.337254 0.337164 0.337073 0.336982 0.336892 0.336801
+0.33671 0.33662 0.336529 0.336439 0.336348 0.336257 0.336167 0.336076
+0.335986 0.335895 0.335805 0.335714 0.335623 0.335533 0.335442 0.335352
+0.335261 0.335171 0.33508 0.33499 0.334899 0.334809 0.334718 0.334628
+0.334537 0.334447 0.334356 0.334266 0.334175 0.334085 0.333995 0.333904
+0.333814 0.333723 0.333633 0.333542 0.333452 0.333362 0.333271 0.333181
+0.333091 0.333 0.33291 0.332819 0.332729 0.332639 0.332548 0.332458
+0.332368 0.332277 0.332187 0.332097 0.332006 0.331916 0.331826 0.331736
+0.331645 0.331555 0.331465 0.331375 0.331284 0.331194 0.331104 0.331014
+0.330923 0.330833 0.330743 0.330653 0.330562 0.330472 0.330382 0.330292
+0.330202 0.330112 0.330021 0.329931 0.329841 0.329751 0.329661 0.329571
+0.329481 0.32939 0.3293 0.32921 0.32912 0.32903 0.32894 0.32885 0.32876
+0.32867 0.32858 0.32849 0.328399 0.328309 0.328219 0.328129 0.328039
+0.327949 0.327859 0.327769 0.327679 0.327589 0.327499 0.327409 0.327319
+0.327229 0.327139 0.327049 0.326959 0.32687 0.32678 0.32669 0.3266
+0.32651 0.32642 0.32633 0.32624 0.32615 0.32606 0.32597 0.325881 0.325791
+0.325701 0.325611 0.325521 0.325431 0.325341 0.325252 0.325162 0.325072
+0.324982 0.324892 0.324803 0.324713 0.324623 0.324533 0.324443 0.324354
+0.324264 0.324174 0.324084 0.323995 0.323905 0.323815 0.323725 0.323636
+0.323546 0.323456 0.323367 0.323277 0.323187 0.323098 0.323008 0.322918
+0.322829 0.322739 0.322649 0.32256 0.32247 0.32238 0.322291 0.322201
+0.322112 0.322022 0.321932 0.321843 0.321753 0.321664 0.321574 0.321485
+0.321395 0.321305 0.321216 0.321126 0.321037 0.320947 0.320858 0.320768
+0.320679 0.320589 0.3205 0.32041 0.320321 0.320231 0.320142 0.320052
+0.319963 0.319874 0.319784 0.319695 0.319605 0.319516 0.319427 0.319337
+0.319248 0.319158 0.319069 0.31898 0.31889 0.318801 0.318711 0.318622
+0.318533 0.318443 0.318354 0.318265 0.318175 0.318086 0.317997 0.317908
+0.317818 0.317729 0.31764 0.317551 0.317461 0.317372 0.317283 0.317194
+0.317104 0.317015 0.316926 0.316837 0.316747 0.316658 0.316569 0.31648
+0.316391 0.316301 0.316212 0.316123 0.316034 0.315945 0.315856 0.315767
+0.315677 0.315588 0.315499 0.31541 0.315321 0.315232 0.315143 0.315054
+0.314965 0.314876 0.314787 0.314698 0.314608 0.314519 0.31443 0.314341
+0.314252 0.314163 0.314074 0.313985 0.313896 0.313807 0.313718 0.313629
+0.313541 0.313452 0.313363 0.313274 0.313185 0.313096 0.313007 0.312918
+0.312829 0.31274 0.312651 0.312562 0.312474 0.312385 0.312296 0.312207
+0.312118 0.312029 0.31194 0.311852 0.311763 0.311674 0.311585 0.311496
+0.311408 0.311319 0.31123 0.311141 0.311052 0.310964 0.310875 0.310786
+0.310697 0.310609 0.31052 0.310431 0.310342 0.310254 0.310165 0.310076
+0.309988 0.309899 0.30981 0.309722 0.309633 0.309544 0.309456 0.309367
+0.309278 0.30919 0.309101 0.309013 0.308924 0.308835 0.308747 0.308658
+0.30857 0.308481 0.308393 0.308304 0.308215 0.308127 0.308038 0.30795
+0.307861 0.307773 0.307684 0.307596 0.307507 0.307419 0.30733 0.307242
+0.307154 0.307065 0.306977 0.306888 0.3068 0.306711 0.306623 0.306534
+0.306446 0.306358 0.306269 0.306181 0.306093 0.306004 0.305916 0.305827
+0.305739 0.305651 0.305562 0.305474 0.305386 0.305298 0.305209 0.305121
+0.305033 0.304944 0.304856 0.304768 0.30468 0.304591 0.304503 0.304415
+0.304327 0.304238 0.30415 0.304062 0.303974 0.303886 0.303797 0.303709
+0.303621 0.303533 0.303445 0.303357 0.303268 0.30318 0.303092 0.303004
+0.302916 0.302828 0.30274 0.302652 0.302563 0.302475 0.302387 0.302299
+0.302211 0.302123 0.302035 0.301947 0.301859 0.301771 0.301683 0.301595
+0.301507 0.301419 0.301331 0.301243 0.301155 0.301067 0.300979 0.300891
+0.300803 0.300715 0.300627 0.300539 0.300452 0.300364 0.300276 0.300188
+0.3001 0.300012 0.299924 0.299836 0.299749 0.299661 0.299573 0.299485
+0.299397 0.299309 0.299222 0.299134 0.299046 0.298958 0.29887 0.298783
+0.298695 0.298607 0.298519 0.298432 0.298344 0.298256 0.298168 0.298081
+0.297993 0.297905 0.297818 0.29773 0.297642 0.297555 0.297467 0.297379
+0.297292 0.297204 0.297116 0.297029 0.296941 0.296854 0.296766 0.296678
+0.296591 0.296503 0.296416 0.296328 0.296241 0.296153 0.296065 0.295978
+0.29589 0.295803 0.295715 0.295628 0.29554 0.295453 0.295365 0.295278
+0.29519 0.295103 0.295016 0.294928 0.294841 0.294753 0.294666 0.294578
+0.294491 0.294404 0.294316 0.294229 0.294141 0.294054 0.293967 0.293879
+0.293792 0.293705 0.293617 0.29353 0.293443 0.293355 0.293268 0.293181
+0.293094 0.293006 0.292919 0.292832 0.292744 0.292657 0.29257 0.292483
+0.292396 0.292308 0.292221 0.292134 0.292047 0.29196 0.291872 0.291785
+0.291698 0.291611 0.291524 0.291437 0.29135 0.291262 0.291175 0.291088
+0.291001 0.290914 0.290827 0.29074 0.290653 0.290566 0.290479 0.290392
+0.290305 0.290217 0.29013 0.290043 0.289956 0.289869 0.289782 0.289695
+0.289608 0.289522 0.289435 0.289348 0.289261 0.289174 0.289087 0.289
+0.288913 0.288826 0.288739 0.288652 0.288565 0.288478 0.288392 0.288305
+0.288218 0.288131 0.288044 0.287957 0.287871 0.287784 0.287697 0.28761
+0.287523 0.287437 0.28735 0.287263 0.287176 0.28709 0.287003 0.286916
+0.286829 0.286743 0.286656 0.286569 0.286482 0.286396 0.286309 0.286222
+0.286136 0.286049 0.285962 0.285876 0.285789 0.285703 0.285616 0.285529
+0.285443 0.285356 0.28527 0.285183 0.285096 0.28501 0.284923 0.284837
+0.28475 0.284664 0.284577 0.284491 0.284404 0.284318 0.284231 0.284145
+0.284058 0.283972 0.283885 0.283799 0.283712 0.283626 0.28354 0.283453
+0.283367 0.28328 0.283194 0.283107 0.283021 0.282935 0.282848 0.282762
+0.282676 0.282589 0.282503 0.282417 0.28233 0.282244 0.282158 0.282071
+0.281985 0.281899 0.281813 0.281726 0.28164 0.281554 0.281468 0.281381
+0.281295 0.281209 0.281123 0.281037 0.28095 0.280864 0.280778 0.280692
+0.280606 0.28052 0.280433 0.280347 0.280261 0.280175 0.280089 0.280003
+0.279917 0.279831 0.279745 0.279659 0.279572 0.279486 0.2794 0.279314
+0.279228 0.279142 0.279056 0.27897 0.278884 0.278798 0.278712 0.278626
+0.27854 0.278454 0.278369 0.278283 0.278197 0.278111 0.278025 0.277939
+0.277853 0.277767 0.277681 0.277595 0.27751 0.277424 0.277338 0.277252
+0.277166 0.27708 0.276995 0.276909 0.276823 0.276737 0.276651 0.276566
+0.27648 0.276394 0.276308 0.276223 0.276137 0.276051 0.275965;
+#A 27000 0.27588 0.275794 0.275708 0.275623 0.275537 0.275451 0.275366
+0.27528 0.275194 0.275109 0.275023 0.274937 0.274852 0.274766 0.274681
+0.274595 0.27451 0.274424 0.274338 0.274253 0.274167 0.274082 0.273996
+0.273911 0.273825 0.27374 0.273654 0.273569 0.273483 0.273398 0.273312
+0.273227 0.273141 0.273056 0.272971 0.272885 0.2728 0.272714 0.272629
+0.272544 0.272458 0.272373 0.272287 0.272202 0.272117 0.272031 0.271946
+0.271861 0.271776 0.27169 0.271605 0.27152 0.271434 0.271349 0.271264
+0.271179 0.271093 0.271008 0.270923 0.270838 0.270752 0.270667 0.270582
+0.270497 0.270412 0.270327 0.270241 0.270156 0.270071 0.269986 0.269901
+0.269816 0.269731 0.269646 0.26956 0.269475 0.26939 0.269305 0.26922
+0.269135 0.26905 0.268965 0.26888 0.268795 0.26871 0.268625 0.26854
+0.268455 0.26837 0.268285 0.2682 0.268115 0.26803 0.267945 0.26786
+0.267776 0.267691 0.267606 0.267521 0.267436 0.267351 0.267266 0.267181
+0.267097 0.267012 0.266927 0.266842 0.266757 0.266672 0.266588 0.266503
+0.266418 0.266333 0.266249 0.266164 0.266079 0.265994 0.26591 0.265825
+0.26574 0.265656 0.265571 0.265486 0.265402 0.265317 0.265232 0.265148
+0.265063 0.264978 0.264894 0.264809 0.264724 0.26464 0.264555 0.264471
+0.264386 0.264302 0.264217 0.264133 0.264048 0.263963 0.263879 0.263794
+0.26371 0.263625 0.263541 0.263457 0.263372 0.263288 0.263203 0.263119
+0.263034 0.26295 0.262865 0.262781 0.262697 0.262612 0.262528 0.262444
+0.262359 0.262275 0.262191 0.262106 0.262022 0.261938 0.261853 0.261769
+0.261685 0.2616 0.261516 0.261432 0.261348 0.261263 0.261179 0.261095
+0.261011 0.260926 0.260842 0.260758 0.260674 0.26059 0.260506 0.260421
+0.260337 0.260253 0.260169 0.260085 0.260001 0.259917 0.259833 0.259748
+0.259664 0.25958 0.259496 0.259412 0.259328 0.259244 0.25916 0.259076
+0.258992 0.258908 0.258824 0.25874 0.258656 0.258572 0.258488 0.258404
+0.25832 0.258236 0.258153 0.258069 0.257985 0.257901 0.257817 0.257733
+0.257649 0.257565 0.257482 0.257398 0.257314 0.25723 0.257146 0.257062
+0.256979 0.256895 0.256811 0.256727 0.256644 0.25656 0.256476 0.256392
+0.256309 0.256225 0.256141 0.256058 0.255974 0.25589 0.255807 0.255723
+0.255639 0.255556 0.255472 0.255388 0.255305 0.255221 0.255138 0.255054
+0.25497 0.254887 0.254803 0.25472 0.254636 0.254553 0.254469 0.254386
+0.254302 0.254219 0.254135 0.254052 0.253968 0.253885 0.253801 0.253718
+0.253634 0.253551 0.253468 0.253384 0.253301 0.253217 0.253134 0.253051
+0.252967 0.252884 0.2528 0.252717 0.252634 0.252551 0.252467 0.252384
+0.252301 0.252217 0.252134 0.252051 0.251968 0.251884 0.251801 0.251718
+0.251635 0.251551 0.251468 0.251385 0.251302 0.251219 0.251136 0.251052
+0.250969 0.250886 0.250803 0.25072 0.250637 0.250554 0.250471 0.250388
+0.250304 0.250221 0.250138 0.250055 0.249972 0.249889 0.249806 0.249723
+0.24964 0.249557 0.249474 0.249391 0.249308 0.249225 0.249143 0.24906
+0.248977 0.248894 0.248811 0.248728 0.248645 0.248562 0.248479 0.248396
+0.248314 0.248231 0.248148 0.248065 0.247982 0.2479 0.247817 0.247734
+0.247651 0.247568 0.247486 0.247403 0.24732 0.247237 0.247155 0.247072
+0.246989 0.246907 0.246824 0.246741 0.246659 0.246576 0.246493 0.246411
+0.246328 0.246246 0.246163 0.24608 0.245998 0.245915 0.245833 0.24575
+0.245667 0.245585 0.245502 0.24542 0.245337 0.245255 0.245172 0.24509
+0.245007 0.244925 0.244842 0.24476 0.244678 0.244595 0.244513 0.24443
+0.244348 0.244266 0.244183 0.244101 0.244018 0.243936 0.243854 0.243771
+0.243689 0.243607 0.243524 0.243442 0.24336 0.243278 0.243195 0.243113
+0.243031 0.242949 0.242866 0.242784 0.242702 0.24262 0.242538 0.242455
+0.242373 0.242291 0.242209 0.242127 0.242045 0.241963 0.24188 0.241798
+0.241716 0.241634 0.241552 0.24147 0.241388 0.241306 0.241224 0.241142
+0.24106 0.240978 0.240896 0.240814 0.240732 0.24065 0.240568 0.240486
+0.240404 0.240322 0.24024 0.240158 0.240076 0.239994 0.239912 0.239831
+0.239749 0.239667 0.239585 0.239503 0.239421 0.23934 0.239258 0.239176
+0.239094 0.239012 0.238931 0.238849 0.238767 0.238685 0.238604 0.238522
+0.23844 0.238358 0.238277 0.238195 0.238113 0.238032 0.23795 0.237868
+0.237787 0.237705 0.237624 0.237542 0.23746 0.237379 0.237297 0.237216
+0.237134 0.237052 0.236971 0.236889 0.236808 0.236726 0.236645 0.236563
+0.236482 0.2364 0.236319 0.236238 0.236156 0.236075 0.235993 0.235912
+0.23583 0.235749 0.235668 0.235586 0.235505 0.235424 0.235342 0.235261
+0.235179 0.235098 0.235017 0.234936 0.234854 0.234773 0.234692 0.23461
+0.234529 0.234448 0.234367 0.234286 0.234204 0.234123 0.234042 0.233961
+0.23388 0.233798 0.233717 0.233636 0.233555 0.233474 0.233393 0.233312
+0.233231 0.233149 0.233068 0.232987 0.232906 0.232825 0.232744 0.232663
+0.232582 0.232501 0.23242 0.232339 0.232258 0.232177 0.232096 0.232015
+0.231934 0.231854 0.231773 0.231692 0.231611 0.23153 0.231449 0.231368
+0.231287 0.231206 0.231126 0.231045 0.230964 0.230883 0.230802 0.230722
+0.230641 0.23056 0.230479 0.230399 0.230318 0.230237 0.230156 0.230076
+0.229995 0.229914 0.229834 0.229753 0.229672 0.229592 0.229511 0.22943
+0.22935 0.229269 0.229189 0.229108 0.229027 0.228947 0.228866 0.228786
+0.228705 0.228625 0.228544 0.228464 0.228383 0.228303 0.228222 0.228142
+0.228061 0.227981 0.2279 0.22782 0.227739 0.227659 0.227579 0.227498
+0.227418 0.227338 0.227257 0.227177 0.227096 0.227016 0.226936 0.226856
+0.226775 0.226695 0.226615 0.226534 0.226454 0.226374 0.226294 0.226213
+0.226133 0.226053 0.225973 0.225893 0.225812 0.225732 0.225652 0.225572
+0.225492 0.225412 0.225332 0.225251 0.225171 0.225091 0.225011 0.224931
+0.224851 0.224771 0.224691 0.224611 0.224531 0.224451 0.224371 0.224291
+0.224211 0.224131 0.224051 0.223971 0.223891 0.223811 0.223731 0.223651
+0.223572 0.223492 0.223412 0.223332 0.223252 0.223172 0.223092 0.223013
+0.222933 0.222853 0.222773 0.222693 0.222614 0.222534 0.222454 0.222374
+0.222295 0.222215 0.222135 0.222055 0.221976 0.221896 0.221816 0.221737
+0.221657 0.221577 0.221498 0.221418 0.221339 0.221259 0.221179 0.2211
+0.22102 0.220941 0.220861 0.220782 0.220702 0.220623 0.220543 0.220464
+0.220384 0.220305 0.220225 0.220146 0.220066 0.219987 0.219907 0.219828
+0.219749 0.219669 0.21959 0.21951 0.219431 0.219352 0.219272 0.219193
+0.219114 0.219034 0.218955 0.218876 0.218797 0.218717 0.218638 0.218559
+0.21848 0.2184 0.218321 0.218242 0.218163 0.218084 0.218004 0.217925
+0.217846 0.217767 0.217688 0.217609 0.21753 0.21745 0.217371 0.217292
+0.217213 0.217134 0.217055 0.216976 0.216897 0.216818 0.216739 0.21666
+0.216581 0.216502 0.216423 0.216344 0.216265 0.216186 0.216107 0.216028
+0.215949 0.215871 0.215792 0.215713 0.215634 0.215555 0.215476 0.215397
+0.215319 0.21524 0.215161 0.215082 0.215003 0.214925 0.214846 0.214767
+0.214688 0.21461 0.214531 0.214452 0.214374 0.214295 0.214216 0.214137
+0.214059 0.21398 0.213902 0.213823 0.213744 0.213666 0.213587 0.213509
+0.21343 0.213351 0.213273 0.213194 0.213116 0.213037 0.212959 0.21288
+0.212802 0.212723 0.212645 0.212566 0.212488 0.21241 0.212331 0.212253
+0.212174 0.212096 0.212018 0.211939 0.211861 0.211782 0.211704 0.211626
+0.211547 0.211469 0.211391 0.211313 0.211234 0.211156 0.211078 0.211
+0.210921 0.210843 0.210765 0.210687 0.210608 0.21053 0.210452 0.210374
+0.210296 0.210218 0.21014 0.210061 0.209983 0.209905 0.209827 0.209749
+0.209671 0.209593 0.209515 0.209437 0.209359 0.209281 0.209203 0.209125
+0.209047 0.208969 0.208891 0.208813 0.208735 0.208657 0.208579 0.208501
+0.208424 0.208346 0.208268 0.20819 0.208112 0.208034 0.207956 0.207879
+0.207801 0.207723 0.207645 0.207567 0.20749 0.207412 0.207334 0.207256
+0.207179 0.207101 0.207023 0.206946 0.206868 0.20679 0.206713 0.206635
+0.206557 0.20648 0.206402 0.206325 0.206247 0.206169 0.206092 0.206014
+0.205937 0.205859 0.205782 0.205704 0.205627 0.205549 0.205472 0.205394
+0.205317 0.205239 0.205162 0.205084 0.205007 0.20493 0.204852 0.204775
+0.204698 0.20462 0.204543 0.204465 0.204388 0.204311 0.204234 0.204156
+0.204079 0.204002 0.203924 0.203847 0.20377 0.203693 0.203615 0.203538
+0.203461 0.203384 0.203307 0.20323 0.203152 0.203075 0.202998 0.202921
+0.202844 0.202767 0.20269 0.202613 0.202536 0.202458 0.202381 0.202304
+0.202227 0.20215 0.202073 0.201996 0.201919 0.201842 0.201765 0.201688
+0.201612 0.201535 0.201458 0.201381 0.201304 0.201227 0.20115 0.201073
+0.200996 0.20092 0.200843 0.200766 0.200689 0.200612 0.200536 0.200459
+0.200382 0.200305 0.200229 0.200152 0.200075 0.199998 0.199922 0.199845
+0.199768 0.199692 0.199615 0.199538 0.199462 0.199385 0.199309 0.199232
+0.199155 0.199079 0.199002 0.198926 0.198849 0.198773 0.198696 0.19862
+0.198543 0.198467 0.19839 0.198314 0.198237 0.198161 0.198084 0.198008
+0.197932 0.197855 0.197779 0.197702 0.197626 0.19755 0.197473 0.197397
+0.197321 0.197244 0.197168 0.197092 0.197016 0.196939 0.196863 0.196787
+0.196711 0.196634 0.196558 0.196482 0.196406 0.19633 0.196254 0.196177
+0.196101 0.196025 0.195949 0.195873 0.195797 0.195721 0.195645 0.195569
+0.195493 0.195416 0.19534 0.195264 0.195188 0.195112 0.195036 0.194961
+0.194885;
+#A 28000 0.194809 0.194733 0.194657 0.194581 0.194505 0.194429 0.194353
+0.194277 0.194201 0.194126 0.19405 0.193974 0.193898 0.193822 0.193747
+0.193671 0.193595 0.193519 0.193443 0.193368 0.193292 0.193216 0.193141
+0.193065 0.192989 0.192914 0.192838 0.192762 0.192687 0.192611 0.192535
+0.19246 0.192384 0.192309 0.192233 0.192158 0.192082 0.192006 0.191931
+0.191855 0.19178 0.191704 0.191629 0.191553 0.191478 0.191403 0.191327
+0.191252 0.191176 0.191101 0.191026 0.19095 0.190875 0.190799 0.190724
+0.190649 0.190573 0.190498 0.190423 0.190348 0.190272 0.190197 0.190122
+0.190047 0.189971 0.189896 0.189821 0.189746 0.189671 0.189595 0.18952
+0.189445 0.18937 0.189295 0.18922 0.189145 0.18907 0.188995 0.188919
+0.188844 0.188769 0.188694 0.188619 0.188544 0.188469 0.188394 0.188319
+0.188244 0.188169 0.188094 0.18802 0.187945 0.18787 0.187795 0.18772
+0.187645 0.18757 0.187495 0.187421 0.187346 0.187271 0.187196 0.187121
+0.187047 0.186972 0.186897 0.186822 0.186748 0.186673 0.186598 0.186523
+0.186449 0.186374 0.186299 0.186225 0.18615 0.186076 0.186001 0.185926
+0.185852 0.185777 0.185703 0.185628 0.185553 0.185479 0.185404 0.18533
+0.185255 0.185181 0.185106 0.185032 0.184957 0.184883 0.184809 0.184734
+0.18466 0.184585 0.184511 0.184437 0.184362 0.184288 0.184214 0.184139
+0.184065 0.183991 0.183916 0.183842 0.183768 0.183694 0.183619 0.183545
+0.183471 0.183397 0.183322 0.183248 0.183174 0.1831 0.183026 0.182952
+0.182877 0.182803 0.182729 0.182655 0.182581 0.182507 0.182433 0.182359
+0.182285 0.182211 0.182137 0.182063 0.181989 0.181915 0.181841 0.181767
+0.181693 0.181619 0.181545 0.181471 0.181397 0.181323 0.18125 0.181176
+0.181102 0.181028 0.180954 0.18088 0.180807 0.180733 0.180659 0.180585
+0.180512 0.180438 0.180364 0.18029 0.180217 0.180143 0.180069 0.179996
+0.179922 0.179848 0.179775 0.179701 0.179627 0.179554 0.17948 0.179407
+0.179333 0.179259 0.179186 0.179112 0.179039 0.178965 0.178892 0.178818
+0.178745 0.178671 0.178598 0.178525 0.178451 0.178378 0.178304 0.178231
+0.178158 0.178084 0.178011 0.177938 0.177864 0.177791 0.177718 0.177644
+0.177571 0.177498 0.177424 0.177351 0.177278 0.177205 0.177132 0.177058
+0.176985 0.176912 0.176839 0.176766 0.176693 0.176619 0.176546 0.176473
+0.1764 0.176327 0.176254 0.176181 0.176108 0.176035 0.175962 0.175889
+0.175816 0.175743 0.17567 0.175597 0.175524 0.175451 0.175378 0.175305
+0.175232 0.175159 0.175086 0.175014 0.174941 0.174868 0.174795 0.174722
+0.174649 0.174577 0.174504 0.174431 0.174358 0.174286 0.174213 0.17414
+0.174067 0.173995 0.173922 0.173849 0.173777 0.173704 0.173631 0.173559
+0.173486 0.173414 0.173341 0.173268 0.173196 0.173123 0.173051 0.172978
+0.172906 0.172833 0.172761 0.172688 0.172616 0.172543 0.172471 0.172398
+0.172326 0.172254 0.172181 0.172109 0.172036 0.171964 0.171892 0.171819
+0.171747 0.171675 0.171602 0.17153 0.171458 0.171386 0.171313 0.171241
+0.171169 0.171097 0.171024 0.170952 0.17088 0.170808 0.170736 0.170664
+0.170591 0.170519 0.170447 0.170375 0.170303 0.170231 0.170159 0.170087
+0.170015 0.169943 0.169871 0.169799 0.169727 0.169655 0.169583 0.169511
+0.169439 0.169367 0.169295 0.169223 0.169151 0.169079 0.169008 0.168936
+0.168864 0.168792 0.16872 0.168648 0.168577 0.168505 0.168433 0.168361
+0.16829 0.168218 0.168146 0.168074 0.168003 0.167931 0.167859 0.167788
+0.167716 0.167645 0.167573 0.167501 0.16743 0.167358 0.167287 0.167215
+0.167143 0.167072 0.167 0.166929 0.166857 0.166786 0.166714 0.166643
+0.166571 0.1665 0.166429 0.166357 0.166286 0.166214 0.166143 0.166072
+0.166 0.165929 0.165858 0.165786 0.165715 0.165644 0.165572 0.165501
+0.16543 0.165359 0.165287 0.165216 0.165145 0.165074 0.165003 0.164932
+0.16486 0.164789 0.164718 0.164647 0.164576 0.164505 0.164434 0.164363
+0.164292 0.164221 0.164149 0.164078 0.164007 0.163936 0.163865 0.163795
+0.163724 0.163653 0.163582 0.163511 0.16344 0.163369 0.163298 0.163227
+0.163156 0.163086 0.163015 0.162944 0.162873 0.162802 0.162731 0.162661
+0.16259 0.162519 0.162448 0.162378 0.162307 0.162236 0.162166 0.162095
+0.162024 0.161954 0.161883 0.161812 0.161742 0.161671 0.161601 0.16153
+0.161459 0.161389 0.161318 0.161248 0.161177 0.161107 0.161036 0.160966
+0.160895 0.160825 0.160755 0.160684 0.160614 0.160543 0.160473 0.160403
+0.160332 0.160262 0.160192 0.160121 0.160051 0.159981 0.15991 0.15984
+0.15977 0.159699 0.159629 0.159559 0.159489 0.159419 0.159348 0.159278
+0.159208 0.159138 0.159068 0.158998 0.158928 0.158857 0.158787 0.158717
+0.158647 0.158577 0.158507 0.158437 0.158367 0.158297 0.158227 0.158157
+0.158087 0.158017 0.157947 0.157877 0.157808 0.157738 0.157668 0.157598
+0.157528 0.157458 0.157388 0.157319 0.157249 0.157179 0.157109 0.157039
+0.15697 0.1569 0.15683 0.15676 0.156691 0.156621 0.156551 0.156482
+0.156412 0.156342 0.156273 0.156203 0.156133 0.156064 0.155994 0.155925
+0.155855 0.155786 0.155716 0.155647 0.155577 0.155508 0.155438 0.155369
+0.155299 0.15523 0.15516 0.155091 0.155021 0.154952 0.154883 0.154813
+0.154744 0.154675 0.154605 0.154536 0.154467 0.154397 0.154328 0.154259
+0.15419 0.15412 0.154051 0.153982 0.153913 0.153844 0.153774 0.153705
+0.153636 0.153567 0.153498 0.153429 0.15336 0.15329 0.153221 0.153152
+0.153083 0.153014 0.152945 0.152876 0.152807 0.152738 0.152669 0.1526
+0.152531 0.152462 0.152394 0.152325 0.152256 0.152187 0.152118 0.152049
+0.15198 0.151911 0.151843 0.151774 0.151705 0.151636 0.151567 0.151499
+0.15143 0.151361 0.151293 0.151224 0.151155 0.151086 0.151018 0.150949
+0.150881 0.150812 0.150743 0.150675 0.150606 0.150538 0.150469 0.1504
+0.150332 0.150263 0.150195 0.150126 0.150058 0.149989 0.149921 0.149852
+0.149784 0.149716 0.149647 0.149579 0.14951 0.149442 0.149374 0.149305
+0.149237 0.149169 0.1491 0.149032 0.148964 0.148896 0.148827 0.148759
+0.148691 0.148623 0.148554 0.148486 0.148418 0.14835 0.148282 0.148214
+0.148145 0.148077 0.148009 0.147941 0.147873 0.147805 0.147737 0.147669
+0.147601 0.147533 0.147465 0.147397 0.147329 0.147261 0.147193 0.147125
+0.147057 0.146989 0.146921 0.146854 0.146786 0.146718 0.14665 0.146582
+0.146514 0.146447 0.146379 0.146311 0.146243 0.146176 0.146108 0.14604
+0.145972 0.145905 0.145837 0.145769 0.145702 0.145634 0.145566 0.145499
+0.145431 0.145364 0.145296 0.145228 0.145161 0.145093 0.145026 0.144958
+0.144891 0.144823 0.144756 0.144688 0.144621 0.144554 0.144486 0.144419
+0.144351 0.144284 0.144217 0.144149 0.144082 0.144015 0.143947 0.14388
+0.143813 0.143745 0.143678 0.143611 0.143544 0.143476 0.143409 0.143342
+0.143275 0.143208 0.14314 0.143073 0.143006 0.142939 0.142872 0.142805
+0.142738 0.142671 0.142604 0.142537 0.14247 0.142403 0.142336 0.142269
+0.142202 0.142135 0.142068 0.142001 0.141934 0.141867 0.1418 0.141733
+0.141666 0.141599 0.141533 0.141466 0.141399 0.141332 0.141265 0.141199
+0.141132 0.141065 0.140998 0.140932 0.140865 0.140798 0.140731 0.140665
+0.140598 0.140531 0.140465 0.140398 0.140332 0.140265 0.140198 0.140132
+0.140065 0.139999 0.139932 0.139866 0.139799 0.139733 0.139666 0.1396
+0.139533 0.139467 0.1394 0.139334 0.139268 0.139201 0.139135 0.139069
+0.139002 0.138936 0.13887 0.138803 0.138737 0.138671 0.138604 0.138538
+0.138472 0.138406 0.13834 0.138273 0.138207 0.138141 0.138075 0.138009
+0.137943 0.137876 0.13781 0.137744 0.137678 0.137612 0.137546 0.13748
+0.137414 0.137348 0.137282 0.137216 0.13715 0.137084 0.137018 0.136952
+0.136886 0.13682 0.136755 0.136689 0.136623 0.136557 0.136491 0.136425
+0.136359 0.136294 0.136228 0.136162 0.136096 0.136031 0.135965 0.135899
+0.135833 0.135768 0.135702 0.135636 0.135571 0.135505 0.13544 0.135374
+0.135308 0.135243 0.135177 0.135112 0.135046 0.134981 0.134915 0.13485
+0.134784 0.134719 0.134653 0.134588 0.134522 0.134457 0.134391 0.134326
+0.134261 0.134195 0.13413 0.134065 0.133999 0.133934 0.133869 0.133803
+0.133738 0.133673 0.133608 0.133542 0.133477 0.133412 0.133347 0.133282
+0.133216 0.133151 0.133086 0.133021 0.132956 0.132891 0.132826 0.132761
+0.132696 0.132631 0.132566 0.132501 0.132436 0.132371 0.132306 0.132241
+0.132176 0.132111 0.132046 0.131981 0.131916 0.131851 0.131786 0.131721
+0.131657 0.131592 0.131527 0.131462 0.131397 0.131333 0.131268 0.131203
+0.131138 0.131074 0.131009 0.130944 0.13088 0.130815 0.13075 0.130686
+0.130621 0.130556 0.130492 0.130427 0.130363 0.130298 0.130233 0.130169
+0.130104 0.13004 0.129975 0.129911 0.129847 0.129782 0.129718 0.129653
+0.129589 0.129524 0.12946 0.129396 0.129331 0.129267 0.129203 0.129138
+0.129074 0.12901 0.128946 0.128881 0.128817 0.128753 0.128689 0.128624
+0.12856 0.128496 0.128432 0.128368 0.128304 0.128239 0.128175 0.128111
+0.128047 0.127983 0.127919 0.127855 0.127791 0.127727 0.127663 0.127599
+0.127535 0.127471 0.127407 0.127343 0.127279 0.127215 0.127152 0.127088
+0.127024 0.12696 0.126896 0.126832 0.126769 0.126705 0.126641 0.126577
+0.126513 0.12645 0.126386 0.126322 0.126259 0.126195 0.126131 0.126068
+0.126004 0.12594 0.125877 0.125813 0.12575 0.125686 0.125622 0.125559
+0.125495 0.125432 0.125368 0.125305 0.125241 0.125178 0.125114 0.125051
+0.124988;
+#A 29000 0.124924 0.124861 0.124797 0.124734 0.124671 0.124607 0.124544
+0.124481 0.124417 0.124354 0.124291 0.124228 0.124164 0.124101 0.124038
+0.123975 0.123912 0.123848 0.123785 0.123722 0.123659 0.123596 0.123533
+0.12347 0.123407 0.123344 0.12328 0.123217 0.123154 0.123091 0.123028
+0.122965 0.122903 0.12284 0.122777 0.122714 0.122651 0.122588 0.122525
+0.122462 0.122399 0.122336 0.122274 0.122211 0.122148 0.122085 0.122022
+0.12196 0.121897 0.121834 0.121772 0.121709 0.121646 0.121584 0.121521
+0.121458 0.121396 0.121333 0.12127 0.121208 0.121145 0.121083 0.12102
+0.120958 0.120895 0.120833 0.12077 0.120708 0.120645 0.120583 0.12052
+0.120458 0.120395 0.120333 0.120271 0.120208 0.120146 0.120084 0.120021
+0.119959 0.119897 0.119834 0.119772 0.11971 0.119648 0.119585 0.119523
+0.119461 0.119399 0.119337 0.119274 0.119212 0.11915 0.119088 0.119026
+0.118964 0.118902 0.11884 0.118778 0.118716 0.118654 0.118592 0.11853
+0.118468 0.118406 0.118344 0.118282 0.11822 0.118158 0.118096 0.118034
+0.117972 0.117911 0.117849 0.117787 0.117725 0.117663 0.117602 0.11754
+0.117478 0.117416 0.117355 0.117293 0.117231 0.11717 0.117108 0.117046
+0.116985 0.116923 0.116861 0.1168 0.116738 0.116677 0.116615 0.116554
+0.116492 0.116431 0.116369 0.116308 0.116246 0.116185 0.116123 0.116062
+0.116 0.115939 0.115878 0.115816 0.115755 0.115694 0.115632 0.115571
+0.11551 0.115448 0.115387 0.115326 0.115265 0.115203 0.115142 0.115081
+0.11502 0.114959 0.114897 0.114836 0.114775 0.114714 0.114653 0.114592
+0.114531 0.11447 0.114409 0.114348 0.114287 0.114226 0.114165 0.114104
+0.114043 0.113982 0.113921 0.11386 0.113799 0.113738 0.113677 0.113616
+0.113556 0.113495 0.113434 0.113373 0.113312 0.113252 0.113191 0.11313
+0.113069 0.113009 0.112948 0.112887 0.112827 0.112766 0.112705 0.112645
+0.112584 0.112523 0.112463 0.112402 0.112342 0.112281 0.112221 0.11216
+0.1121 0.112039 0.111979 0.111918 0.111858 0.111797 0.111737 0.111677
+0.111616 0.111556 0.111495 0.111435 0.111375 0.111314 0.111254 0.111194
+0.111134 0.111073 0.111013 0.110953 0.110893 0.110832 0.110772 0.110712
+0.110652 0.110592 0.110532 0.110472 0.110411 0.110351 0.110291 0.110231
+0.110171 0.110111 0.110051 0.109991 0.109931 0.109871 0.109811 0.109751
+0.109691 0.109631 0.109571 0.109512 0.109452 0.109392 0.109332 0.109272
+0.109212 0.109153 0.109093 0.109033 0.108973 0.108914 0.108854 0.108794
+0.108734 0.108675 0.108615 0.108555 0.108496 0.108436 0.108376 0.108317
+0.108257 0.108198 0.108138 0.108079 0.108019 0.10796 0.1079 0.107841
+0.107781 0.107722 0.107662 0.107603 0.107543 0.107484 0.107425 0.107365
+0.107306 0.107247 0.107187 0.107128 0.107069 0.107009 0.10695 0.106891
+0.106832 0.106772 0.106713 0.106654 0.106595 0.106536 0.106476 0.106417
+0.106358 0.106299 0.10624 0.106181 0.106122 0.106063 0.106004 0.105945
+0.105886 0.105827 0.105768 0.105709 0.10565 0.105591 0.105532 0.105473
+0.105414 0.105355 0.105297 0.105238 0.105179 0.10512 0.105061 0.105002
+0.104944 0.104885 0.104826 0.104767 0.104709 0.10465 0.104591 0.104533
+0.104474 0.104415 0.104357 0.104298 0.104239 0.104181 0.104122 0.104064
+0.104005 0.103947 0.103888 0.10383 0.103771 0.103713 0.103654 0.103596
+0.103537 0.103479 0.103421 0.103362 0.103304 0.103246 0.103187 0.103129
+0.103071 0.103012 0.102954 0.102896 0.102837 0.102779 0.102721 0.102663
+0.102605 0.102546 0.102488 0.10243 0.102372 0.102314 0.102256 0.102198
+0.10214 0.102082 0.102024 0.101965 0.101907 0.101849 0.101791 0.101733
+0.101676 0.101618 0.10156 0.101502 0.101444 0.101386 0.101328 0.10127
+0.101212 0.101155 0.101097 0.101039 0.100981 0.100923 0.100866 0.100808
+0.10075 0.100693 0.100635 0.100577 0.100519 0.100462 0.100404 0.100347
+0.100289 0.100231 0.100174 0.100116 0.100059 0.100001 0.0999436 0.0998861
+0.0998286 0.0997712 0.0997137 0.0996563 0.0995988 0.0995414 0.099484
+0.0994266 0.0993693 0.0993119 0.0992546 0.0991972 0.0991399 0.0990826
+0.0990254 0.0989681 0.0989108 0.0988536 0.0987964 0.0987392 0.098682
+0.0986248 0.0985676 0.0985105 0.0984534 0.0983962 0.0983391 0.098282
+0.098225 0.0981679 0.0981109 0.0980538 0.0979968 0.0979398 0.0978828
+0.0978259 0.0977689 0.097712 0.097655 0.0975981 0.0975412 0.0974843
+0.0974275 0.0973706 0.0973138 0.097257 0.0972001 0.0971433 0.0970866
+0.0970298 0.0969731 0.0969163 0.0968596 0.0968029 0.0967462 0.0966895
+0.0966329 0.0965762 0.0965196 0.096463 0.0964064 0.0963498 0.0962932
+0.0962367 0.0961801 0.0961236 0.0960671 0.0960106 0.0959541 0.0958976
+0.0958412 0.0957847 0.0957283 0.0956719 0.0956155 0.0955591 0.0955028
+0.0954464 0.0953901 0.0953338 0.0952775 0.0952212 0.0951649 0.0951086
+0.0950524 0.0949962 0.09494 0.0948838 0.0948276 0.0947714 0.0947152
+0.0946591 0.094603 0.0945469 0.0944908 0.0944347 0.0943786 0.0943226
+0.0942665 0.0942105 0.0941545 0.0940985 0.0940425 0.0939866 0.0939306
+0.0938747 0.0938188 0.0937629 0.093707 0.0936511 0.0935953 0.0935394
+0.0934836 0.0934278 0.093372 0.0933162 0.0932604 0.0932047 0.093149
+0.0930932 0.0930375 0.0929818 0.0929262 0.0928705 0.0928148 0.0927592
+0.0927036 0.092648 0.0925924 0.0925368 0.0924813 0.0924257 0.0923702
+0.0923147 0.0922592 0.0922037 0.0921482 0.0920928 0.0920374 0.0919819
+0.0919265 0.0918711 0.0918158 0.0917604 0.091705 0.0916497 0.0915944
+0.0915391 0.0914838 0.0914285 0.0913733 0.091318 0.0912628 0.0912076
+0.0911524 0.0910972 0.091042 0.0909869 0.0909318 0.0908766 0.0908215
+0.0907664 0.0907114 0.0906563 0.0906013 0.0905462 0.0904912 0.0904362
+0.0903812 0.0903262 0.0902713 0.0902163 0.0901614 0.0901065 0.0900516
+0.0899967 0.0899419 0.089887 0.0898322 0.0897774 0.0897225 0.0896678
+0.089613 0.0895582 0.0895035 0.0894487 0.089394 0.0893393 0.0892846
+0.08923 0.0891753 0.0891207 0.0890661 0.0890114 0.0889568 0.0889023
+0.0888477 0.0887932 0.0887386 0.0886841 0.0886296 0.0885751 0.0885206
+0.0884662 0.0884117 0.0883573 0.0883029 0.0882485 0.0881941 0.0881397
+0.0880854 0.0880311 0.0879767 0.0879224 0.0878681 0.0878139 0.0877596
+0.0877054 0.0876511 0.0875969 0.0875427 0.0874885 0.0874343 0.0873802
+0.087326 0.0872719 0.0872178 0.0871637 0.0871096 0.0870556 0.0870015
+0.0869475 0.0868935 0.0868395 0.0867855 0.0867315 0.0866776 0.0866236
+0.0865697 0.0865158 0.0864619 0.086408 0.0863541 0.0863003 0.0862464
+0.0861926 0.0861388 0.086085 0.0860312 0.0859775 0.0859237 0.08587
+0.0858163 0.0857626 0.0857089 0.0856552 0.0856016 0.0855479 0.0854943
+0.0854407 0.0853871 0.0853335 0.08528 0.0852264 0.0851729 0.0851194
+0.0850659 0.0850124 0.0849589 0.0849055 0.084852 0.0847986 0.0847452
+0.0846918 0.0846384 0.0845851 0.0845317 0.0844784 0.0844251 0.0843718
+0.0843185 0.0842652 0.0842119 0.0841587 0.0841055 0.0840523 0.0839991
+0.0839459 0.0838927 0.0838396 0.0837864 0.0837333 0.0836802 0.0836271
+0.083574 0.083521 0.0834679 0.0834149 0.0833619 0.0833089 0.0832559
+0.083203 0.08315 0.0830971 0.0830442 0.0829912 0.0829384 0.0828855
+0.0828326 0.0827798 0.082727 0.0826741 0.0826213 0.0825686 0.0825158
+0.082463 0.0824103 0.0823576 0.0823049 0.0822522 0.0821995 0.0821469
+0.0820942 0.0820416 0.081989 0.0819364 0.0818838 0.0818312 0.0817787
+0.0817261 0.0816736 0.0816211 0.0815686 0.0815161 0.0814637 0.0814112
+0.0813588 0.0813064 0.081254 0.0812016 0.0811493 0.0810969 0.0810446
+0.0809922 0.0809399 0.0808876 0.0808354 0.0807831 0.0807309 0.0806786
+0.0806264 0.0805742 0.080522 0.0804699 0.0804177 0.0803656 0.0803135
+0.0802614 0.0802093 0.0801572 0.0801051 0.0800531 0.0800011 0.0799491
+0.0798971 0.0798451 0.0797931 0.0797412 0.0796892 0.0796373 0.0795854
+0.0795335 0.0794816 0.0794298 0.0793779 0.0793261 0.0792743 0.0792225
+0.0791707 0.079119 0.0790672 0.0790155 0.0789638 0.0789121 0.0788604
+0.0788087 0.078757 0.0787054 0.0786538 0.0786022 0.0785506 0.078499
+0.0784474 0.0783959 0.0783443 0.0782928 0.0782413 0.0781898 0.0781384
+0.0780869 0.0780355 0.077984 0.0779326 0.0778812 0.0778299 0.0777785
+0.0777272 0.0776758 0.0776245 0.0775732 0.0775219 0.0774707 0.0774194
+0.0773682 0.0773169 0.0772657 0.0772146 0.0771634 0.0771122 0.0770611
+0.0770099 0.0769588 0.0769077 0.0768567 0.0768056 0.0767545 0.0767035
+0.0766525 0.0766015 0.0765505 0.0764995 0.0764486 0.0763976 0.0763467
+0.0762958 0.0762449 0.076194 0.0761431 0.0760923 0.0760414 0.0759906
+0.0759398 0.075889 0.0758383 0.0757875 0.0757368 0.0756861 0.0756353
+0.0755847 0.075534 0.0754833 0.0754327 0.075382 0.0753314 0.0752808
+0.0752302 0.0751797 0.0751291 0.0750786 0.0750281 0.0749776 0.0749271
+0.0748766 0.0748261 0.0747757 0.0747253 0.0746748 0.0746244 0.0745741
+0.0745237 0.0744734 0.074423 0.0743727 0.0743224 0.0742721 0.0742218
+0.0741716 0.0741213 0.0740711 0.0740209 0.0739707 0.0739205 0.0738704
+0.0738202 0.0737701 0.07372 0.0736699 0.0736198 0.0735698 0.0735197
+0.0734697 0.0734196 0.0733696 0.0733197 0.0732697 0.0732197 0.0731698
+0.0731198 0.0730699 0.07302 0.0729702 0.0729203 0.0728705 0.0728206
+0.0727708 0.072721 0.0726712 0.0726214 0.0725717 0.072522 0.0724722
+0.0724225 0.0723728 0.0723232 0.0722735 0.0722239 0.0721742 0.0721246
+0.072075 0.0720254 0.0719759 0.0719263 0.0718768 0.0718273 0.0717778
+0.0717283 0.0716788 0.0716294 0.0715799 0.0715305 0.0714811 0.0714317
+0.0713823 0.071333 0.0712836 0.0712343 0.071185 0.0711357 0.0710864
+0.0710372 0.0709879 0.0709387 0.0708895 0.0708402 0.0707911 0.0707419
+0.0706927 0.0706436 0.0705945 0.0705454 0.0704963 0.0704472 0.0703981
+0.0703491 0.0703001 0.070251 0.0702021 0.0701531 0.0701041 0.0700552
+0.0700062 0.0699573 0.0699084 0.0698595 0.0698106 0.0697618 0.069713
+0.0696641 0.0696153 0.0695665 0.0695178 0.069469 0.0694202 0.0693715
+0.0693228 0.0692741 0.0692254 0.0691768 0.0691281 0.0690795 0.0690309
+0.0689823 0.0689337 0.0688851 0.0688366;
+#A 30000 0.068788 0.0687395 0.068691 0.0686425 0.068594 0.0685456 0.0684971
+0.0684487 0.0684003 0.0683519 0.0683035 0.0682551 0.0682068 0.0681585
+0.0681102 0.0680619 0.0680136 0.0679653 0.067917 0.0678688 0.0678206
+0.0677724 0.0677242 0.067676 0.0676279 0.0675797 0.0675316 0.0674835
+0.0674354 0.0673873 0.0673393 0.0672912 0.0672432 0.0671952 0.0671472
+0.0670992 0.0670512 0.0670033 0.0669553 0.0669074 0.0668595 0.0668116
+0.0667638 0.0667159 0.0666681 0.0666203 0.0665724 0.0665247 0.0664769
+0.0664291 0.0663814 0.0663337 0.0662859 0.0662382 0.0661906 0.0661429
+0.0660953 0.0660476 0.066 0.0659524 0.0659048 0.0658573 0.0658097 0.0657622
+0.0657146 0.0656671 0.0656197 0.0655722 0.0655247 0.0654773 0.0654299
+0.0653825 0.0653351 0.0652877 0.0652403 0.065193 0.0651457 0.0650983
+0.065051 0.0650038 0.0649565 0.0649093 0.064862 0.0648148 0.0647676
+0.0647204 0.0646733 0.0646261 0.064579 0.0645318 0.0644847 0.0644377
+0.0643906 0.0643435 0.0642965 0.0642495 0.0642025 0.0641555 0.0641085
+0.0640615 0.0640146 0.0639677 0.0639207 0.0638738 0.063827 0.0637801
+0.0637333 0.0636864 0.0636396 0.0635928 0.063546 0.0634993 0.0634525
+0.0634058 0.0633591 0.0633124 0.0632657 0.063219 0.0631723 0.0631257
+0.0630791 0.0630325 0.0629859 0.0629393 0.0628927 0.0628462 0.0627997
+0.0627532 0.0627067 0.0626602 0.0626137 0.0625673 0.0625209 0.0624744
+0.062428 0.0623817 0.0623353 0.0622889 0.0622426 0.0621963 0.06215
+0.0621037 0.0620574 0.0620112 0.061965 0.0619187 0.0618725 0.0618263
+0.0617802 0.061734 0.0616879 0.0616417 0.0615956 0.0615495 0.0615035
+0.0614574 0.0614114 0.0613653 0.0613193 0.0612733 0.0612274 0.0611814
+0.0611354 0.0610895 0.0610436 0.0609977 0.0609518 0.060906 0.0608601
+0.0608143 0.0607685 0.0607227 0.0606769 0.0606311 0.0605853 0.0605396
+0.0604939 0.0604482 0.0604025 0.0603568 0.0603112 0.0602655 0.0602199
+0.0601743 0.0601287 0.0600831 0.0600376 0.059992 0.0599465 0.059901
+0.0598555 0.05981 0.0597646 0.0597191 0.0596737 0.0596283 0.0595829
+0.0595375 0.0594921 0.0594468 0.0594014 0.0593561 0.0593108 0.0592655
+0.0592203 0.059175 0.0591298 0.0590846 0.0590394 0.0589942 0.058949
+0.0589039 0.0588587 0.0588136 0.0587685 0.0587234 0.0586783 0.0586333
+0.0585882 0.0585432 0.0584982 0.0584532 0.0584082 0.0583633 0.0583183
+0.0582734 0.0582285 0.0581836 0.0581387 0.0580939 0.058049 0.0580042
+0.0579594 0.0579146 0.0578698 0.057825 0.0577803 0.0577355 0.0576908
+0.0576461 0.0576015 0.0575568 0.0575121 0.0574675 0.0574229 0.0573783
+0.0573337 0.0572891 0.0572446 0.0572 0.0571555 0.057111 0.0570665 0.0570221
+0.0569776 0.0569332 0.0568887 0.0568443 0.0567999 0.0567556 0.0567112
+0.0566669 0.0566225 0.0565782 0.0565339 0.0564897 0.0564454 0.0564012
+0.0563569 0.0563127 0.0562685 0.0562243 0.0561802 0.056136 0.0560919
+0.0560478 0.0560037 0.0559596 0.0559156 0.0558715 0.0558275 0.0557835
+0.0557395 0.0556955 0.0556515 0.0556076 0.0555636 0.0555197 0.0554758
+0.0554319 0.0553881 0.0553442 0.0553004 0.0552566 0.0552128 0.055169
+0.0551252 0.0550815 0.0550377 0.054994 0.0549503 0.0549066 0.0548629
+0.0548193 0.0547756 0.054732 0.0546884 0.0546448 0.0546012 0.0545577
+0.0545142 0.0544706 0.0544271 0.0543836 0.0543402 0.0542967 0.0542533
+0.0542098 0.0541664 0.054123 0.0540796 0.0540363 0.0539929 0.0539496
+0.0539063 0.053863 0.0538197 0.0537765 0.0537332 0.05369 0.0536468
+0.0536036 0.0535604 0.0535172 0.0534741 0.053431 0.0533879 0.0533448
+0.0533017 0.0532586 0.0532156 0.0531725 0.0531295 0.0530865 0.0530435
+0.0530006 0.0529576 0.0529147 0.0528718 0.0528289 0.052786 0.0527431
+0.0527003 0.0526574 0.0526146 0.0525718 0.052529 0.0524862 0.0524435
+0.0524008 0.052358 0.0523153 0.0522727 0.05223 0.0521873 0.0521447
+0.0521021 0.0520595 0.0520169 0.0519743 0.0519318 0.0518892 0.0518467
+0.0518042 0.0517617 0.0517192 0.0516768 0.0516343 0.0515919 0.0515495
+0.0515071 0.0514647 0.0514224 0.05138 0.0513377 0.0512954 0.0512531
+0.0512108 0.0511686 0.0511263 0.0510841 0.0510419 0.0509997 0.0509575
+0.0509154 0.0508732 0.0508311 0.050789 0.0507469 0.0507048 0.0506628
+0.0506207 0.0505787 0.0505367 0.0504947 0.0504527 0.0504108 0.0503688
+0.0503269 0.050285 0.0502431 0.0502012 0.0501593 0.0501175 0.0500757
+0.0500338 0.0499921 0.0499503 0.0499085 0.0498668 0.049825 0.0497833
+0.0497416 0.0496999 0.0496583 0.0496166 0.049575 0.0495334 0.0494918
+0.0494502 0.0494087 0.0493671 0.0493256 0.0492841 0.0492426 0.0492011
+0.0491596 0.0491182 0.0490767 0.0490353 0.0489939 0.0489525 0.0489112
+0.0488698 0.0488285 0.0487872 0.0487459 0.0487046 0.0486633 0.0486221
+0.0485809 0.0485396 0.0484984 0.0484573 0.0484161 0.0483749 0.0483338
+0.0482927 0.0482516 0.0482105 0.0481695 0.0481284 0.0480874 0.0480464
+0.0480054 0.0479644 0.0479234 0.0478825 0.0478415 0.0478006 0.0477597
+0.0477188 0.047678 0.0476371 0.0475963 0.0475555 0.0475147 0.0474739
+0.0474331 0.0473924 0.0473516 0.0473109 0.0472702 0.0472295 0.0471889
+0.0471482 0.0471076 0.047067 0.0470264 0.0469858 0.0469452 0.0469046
+0.0468641 0.0468236 0.0467831 0.0467426 0.0467021 0.0466617 0.0466213
+0.0465808 0.0465404 0.0465001 0.0464597 0.0464193 0.046379 0.0463387
+0.0462984 0.0462581 0.0462178 0.0461776 0.0461374 0.0460971 0.0460569
+0.0460168 0.0459766 0.0459364 0.0458963 0.0458562 0.0458161 0.045776
+0.0457359 0.0456959 0.0456559 0.0456158 0.0455758 0.0455359 0.0454959
+0.0454559 0.045416 0.0453761 0.0453362 0.0452963 0.0452564 0.0452166
+0.0451768 0.0451369 0.0450971 0.0450574 0.0450176 0.0449778 0.0449381
+0.0448984 0.0448587 0.044819 0.0447794 0.0447397 0.0447001 0.0446605
+0.0446209 0.0445813 0.0445417 0.0445022 0.0444626 0.0444231 0.0443836
+0.0443441 0.0443047 0.0442652 0.0442258 0.0441864 0.044147 0.0441076
+0.0440682 0.0440289 0.0439896 0.0439502 0.043911 0.0438717 0.0438324
+0.0437932 0.0437539 0.0437147 0.0436755 0.0436363 0.0435972 0.043558
+0.0435189 0.0434798 0.0434407 0.0434016 0.0433626 0.0433235 0.0432845
+0.0432455 0.0432065 0.0431675 0.0431285 0.0430896 0.0430507 0.0430118
+0.0429729 0.042934 0.0428951 0.0428563 0.0428175 0.0427786 0.0427398
+0.0427011 0.0426623 0.0426236 0.0425848 0.0425461 0.0425074 0.0424688
+0.0424301 0.0423915 0.0423528 0.0423142 0.0422756 0.0422371 0.0421985
+0.04216 0.0421214 0.0420829 0.0420444 0.042006 0.0419675 0.0419291
+0.0418907 0.0418522 0.0418139 0.0417755 0.0417371 0.0416988 0.0416605
+0.0416222 0.0415839 0.0415456 0.0415074 0.0414691 0.0414309 0.0413927
+0.0413545 0.0413163 0.0412782 0.04124 0.0412019 0.0411638 0.0411257
+0.0410877 0.0410496 0.0410116 0.0409736 0.0409356 0.0408976 0.0408596
+0.0408217 0.0407837 0.0407458 0.0407079 0.04067 0.0406322 0.0405943
+0.0405565 0.0405187 0.0404809 0.0404431 0.0404053 0.0403676 0.0403298
+0.0402921 0.0402544 0.0402167 0.0401791 0.0401414 0.0401038 0.0400662
+0.0400286 0.039991 0.0399534 0.0399159 0.0398784 0.0398409 0.0398034
+0.0397659 0.0397284 0.039691 0.0396536 0.0396161 0.0395788 0.0395414
+0.039504 0.0394667 0.0394294 0.039392 0.0393548 0.0393175 0.0392802
+0.039243 0.0392058 0.0391686 0.0391314 0.0390942 0.039057 0.0390199
+0.0389828 0.0389457 0.0389086 0.0388715 0.0388345 0.0387974 0.0387604
+0.0387234 0.0386864 0.0386494 0.0386125 0.0385755 0.0385386 0.0385017
+0.0384648 0.038428 0.0383911 0.0383543 0.0383175 0.0382807 0.0382439
+0.0382071 0.0381704 0.0381336 0.0380969 0.0380602 0.0380236 0.0379869
+0.0379502 0.0379136 0.037877 0.0378404 0.0378038 0.0377673 0.0377307
+0.0376942 0.0376577 0.0376212 0.0375847 0.0375482 0.0375118 0.0374754
+0.037439 0.0374026 0.0373662 0.0373298 0.0372935 0.0372572 0.0372209
+0.0371846 0.0371483 0.0371121 0.0370758 0.0370396 0.0370034 0.0369672
+0.036931 0.0368949 0.0368587 0.0368226 0.0367865 0.0367504 0.0367144
+0.0366783 0.0366423 0.0366063 0.0365703 0.0365343 0.0364983 0.0364624
+0.0364264 0.0363905 0.0363546 0.0363187 0.0362829 0.036247 0.0362112
+0.0361754 0.0361396 0.0361038 0.036068 0.0360323 0.0359966 0.0359609
+0.0359252 0.0358895 0.0358538 0.0358182 0.0357826 0.035747 0.0357114
+0.0356758 0.0356402 0.0356047 0.0355692 0.0355337 0.0354982 0.0354627
+0.0354273 0.0353918 0.0353564 0.035321 0.0352856 0.0352502 0.0352149
+0.0351796 0.0351442 0.0351089 0.0350736 0.0350384 0.0350031 0.0349679
+0.0349327 0.0348975 0.0348623 0.0348271 0.034792 0.0347569 0.0347218
+0.0346867 0.0346516 0.0346165 0.0345815 0.0345464 0.0345114 0.0344764
+0.0344415 0.0344065 0.0343716 0.0343366 0.0343017 0.0342668 0.034232
+0.0341971 0.0341623 0.0341275 0.0340927 0.0340579 0.0340231 0.0339883
+0.0339536 0.0339189 0.0338842 0.0338495 0.0338148 0.0337802 0.0337456
+0.0337109 0.0336763 0.0336418 0.0336072 0.0335726 0.0335381 0.0335036
+0.0334691 0.0334346 0.0334002 0.0333657 0.0333313 0.0332969 0.0332625
+0.0332281 0.0331938 0.0331594 0.0331251 0.0330908 0.0330565 0.0330222
+0.032988 0.0329537 0.0329195 0.0328853 0.0328511 0.0328169 0.0327828
+0.0327487 0.0327145 0.0326804 0.0326464 0.0326123 0.0325782 0.0325442
+0.0325102 0.0324762 0.0324422 0.0324082 0.0323743 0.0323404 0.0323065
+0.0322726 0.0322387 0.0322048 0.032171 0.0321372 0.0321033 0.0320696
+0.0320358 0.032002 0.0319683 0.0319346 0.0319009 0.0318672 0.0318335
+0.0317998 0.0317662 0.0317326 0.031699 0.0316654 0.0316318 0.0315983
+0.0315647 0.0315312 0.0314977 0.0314642 0.0314308 0.0313973 0.0313639
+0.0313305 0.0312971 0.0312637 0.0312304 0.031197 0.0311637 0.0311304
+0.0310971 0.0310638 0.0310306 0.0309973 0.0309641 0.0309309 0.0308977
+0.0308645 0.0308314 0.0307982 0.0307651 0.030732 0.0306989 0.0306659
+0.0306328 0.0305998 0.0305668 0.0305338 0.0305008 0.0304678 0.0304349
+0.0304019 0.030369 0.0303361 0.0303032 0.0302704 0.0302375 0.0302047
+0.0301719 0.0301391 0.0301063 0.0300736 0.0300408 0.0300081 0.0299754
+0.0299427 0.0299101 0.0298774 0.0298448 0.0298122 0.0297795 0.029747
+0.0297144 0.0296818 0.0296493 0.0296168 0.0295843 0.0295518 0.0295194
+0.0294869 0.0294545 0.0294221 0.0293897 0.0293573 0.0293249 0.0292926
+0.0292603 0.029228 0.0291957 0.0291634 0.0291311 0.0290989 0.0290667
+0.0290345 0.0290023 0.0289701 0.028938 0.0289058 0.0288737 0.0288416
+0.0288095 0.0287775 0.0287454 0.0287134 0.0286814 0.0286494 0.0286174
+0.0285855 0.0285535 0.0285216 0.0284897;
+#A 31000 0.0284578 0.0284259 0.028394 0.0283622 0.0283304 0.0282986
+0.0282668 0.028235 0.0282033 0.0281715 0.0281398 0.0281081 0.0280764
+0.0280448 0.0280131 0.0279815 0.0279499 0.0279183 0.0278867 0.0278551
+0.0278236 0.0277921 0.0277606 0.0277291 0.0276976 0.0276661 0.0276347
+0.0276033 0.0275719 0.0275405 0.0275091 0.0274777 0.0274464 0.0274151
+0.0273838 0.0273525 0.0273212 0.02729 0.0272588 0.0272275 0.0271963
+0.0271652 0.027134 0.0271028 0.0270717 0.0270406 0.0270095 0.0269784
+0.0269474 0.0269163 0.0268853 0.0268543 0.0268233 0.0267924 0.0267614
+0.0267305 0.0266995 0.0266686 0.0266378 0.0266069 0.026576 0.0265452
+0.0265144 0.0264836 0.0264528 0.0264221 0.0263913 0.0263606 0.0263299
+0.0262992 0.0262685 0.0262378 0.0262072 0.0261766 0.026146 0.0261154
+0.0260848 0.0260543 0.0260237 0.0259932 0.0259627 0.0259322 0.0259018
+0.0258713 0.0258409 0.0258105 0.0257801 0.0257497 0.0257193 0.025689
+0.0256587 0.0256283 0.0255981 0.0255678 0.0255375 0.0255073 0.0254771
+0.0254469 0.0254167 0.0253865 0.0253563 0.0253262 0.0252961 0.025266
+0.0252359 0.0252058 0.0251758 0.0251458 0.0251158 0.0250858 0.0250558
+0.0250258 0.0249959 0.024966 0.024936 0.0249062 0.0248763 0.0248464
+0.0248166 0.0247868 0.024757 0.0247272 0.0246974 0.0246677 0.0246379
+0.0246082 0.0245785 0.0245488 0.0245192 0.0244895 0.0244599 0.0244303
+0.0244007 0.0243711 0.0243416 0.024312 0.0242825 0.024253 0.0242235
+0.024194 0.0241646 0.0241351 0.0241057 0.0240763 0.0240469 0.0240176
+0.0239882 0.0239589 0.0239296 0.0239003 0.023871 0.0238417 0.0238125
+0.0237833 0.0237541 0.0237249 0.0236957 0.0236665 0.0236374 0.0236083
+0.0235792 0.0235501 0.023521 0.023492 0.0234629 0.0234339 0.0234049
+0.0233759 0.023347 0.023318 0.0232891 0.0232602 0.0232313 0.0232024
+0.0231736 0.0231447 0.0231159 0.0230871 0.0230583 0.0230295 0.0230008
+0.0229721 0.0229433 0.0229146 0.022886 0.0228573 0.0228286 0.0228 0.0227714
+0.0227428 0.0227142 0.0226857 0.0226571 0.0226286 0.0226001 0.0225716
+0.0225431 0.0225147 0.0224862 0.0224578 0.0224294 0.022401 0.0223727
+0.0223443 0.022316 0.0222877 0.0222594 0.0222311 0.0222028 0.0221746
+0.0221464 0.0221182 0.02209 0.0220618 0.0220336 0.0220055 0.0219774
+0.0219493 0.0219212 0.0218931 0.0218651 0.021837 0.021809 0.021781
+0.021753 0.0217251 0.0216971 0.0216692 0.0216413 0.0216134 0.0215855
+0.0215577 0.0215298 0.021502 0.0214742 0.0214464 0.0214186 0.0213909
+0.0213632 0.0213354 0.0213077 0.0212801 0.0212524 0.0212248 0.0211971
+0.0211695 0.0211419 0.0211144 0.0210868 0.0210593 0.0210317 0.0210042
+0.0209767 0.0209493 0.0209218 0.0208944 0.020867 0.0208396 0.0208122
+0.0207848 0.0207575 0.0207301 0.0207028 0.0206755 0.0206483 0.020621
+0.0205938 0.0205665 0.0205393 0.0205121 0.020485 0.0204578 0.0204307
+0.0204036 0.0203765 0.0203494 0.0203223 0.0202953 0.0202682 0.0202412
+0.0202142 0.0201873 0.0201603 0.0201334 0.0201064 0.0200795 0.0200527
+0.0200258 0.0199989 0.0199721 0.0199453 0.0199185 0.0198917 0.0198649
+0.0198382 0.0198115 0.0197847 0.019758 0.0197314 0.0197047 0.0196781
+0.0196514 0.0196248 0.0195983 0.0195717 0.0195451 0.0195186 0.0194921
+0.0194656 0.0194391 0.0194126 0.0193862 0.0193598 0.0193333 0.019307
+0.0192806 0.0192542 0.0192279 0.0192016 0.0191753 0.019149 0.0191227
+0.0190964 0.0190702 0.019044 0.0190178 0.0189916 0.0189654 0.0189393
+0.0189132 0.0188871 0.018861 0.0188349 0.0188088 0.0187828 0.0187568
+0.0187308 0.0187048 0.0186788 0.0186529 0.0186269 0.018601 0.0185751
+0.0185492 0.0185234 0.0184975 0.0184717 0.0184459 0.0184201 0.0183943
+0.0183686 0.0183428 0.0183171 0.0182914 0.0182657 0.01824 0.0182144
+0.0181888 0.0181631 0.0181375 0.018112 0.0180864 0.0180609 0.0180353
+0.0180098 0.0179843 0.0179589 0.0179334 0.017908 0.0178825 0.0178571
+0.0178318 0.0178064 0.017781 0.0177557 0.0177304 0.0177051 0.0176798
+0.0176546 0.0176293 0.0176041 0.0175789 0.0175537 0.0175285 0.0175034
+0.0174782 0.0174531 0.017428 0.0174029 0.0173779 0.0173528 0.0173278
+0.0173028 0.0172778 0.0172528 0.0172278 0.0172029 0.017178 0.0171531
+0.0171282 0.0171033 0.0170785 0.0170536 0.0170288 0.017004 0.0169792
+0.0169545 0.0169297 0.016905 0.0168803 0.0168556 0.0168309 0.0168063
+0.0167816 0.016757 0.0167324 0.0167078 0.0166832 0.0166587 0.0166342
+0.0166096 0.0165851 0.0165607 0.0165362 0.0165118 0.0164873 0.0164629
+0.0164385 0.0164142 0.0163898 0.0163655 0.0163412 0.0163169 0.0162926
+0.0162683 0.0162441 0.0162198 0.0161956 0.0161714 0.0161472 0.0161231
+0.0160989 0.0160748 0.0160507 0.0160266 0.0160026 0.0159785 0.0159545
+0.0159304 0.0159064 0.0158825 0.0158585 0.0158346 0.0158106 0.0157867
+0.0157628 0.015739 0.0157151 0.0156913 0.0156674 0.0156436 0.0156198
+0.0155961 0.0155723 0.0155486 0.0155249 0.0155012 0.0154775 0.0154538
+0.0154302 0.0154066 0.015383 0.0153594 0.0153358 0.0153123 0.0152887
+0.0152652 0.0152417 0.0152182 0.0151948 0.0151713 0.0151479 0.0151245
+0.0151011 0.0150777 0.0150543 0.015031 0.0150077 0.0149844 0.0149611
+0.0149378 0.0149146 0.0148913 0.0148681 0.0148449 0.0148217 0.0147986
+0.0147754 0.0147523 0.0147292 0.0147061 0.014683 0.01466 0.0146369
+0.0146139 0.0145909 0.0145679 0.014545 0.014522 0.0144991 0.0144762
+0.0144533 0.0144304 0.0144076 0.0143847 0.0143619 0.0143391 0.0143163
+0.0142935 0.0142708 0.0142481 0.0142253 0.0142026 0.01418 0.0141573
+0.0141347 0.014112 0.0140894 0.0140668 0.0140443 0.0140217 0.0139992
+0.0139766 0.0139541 0.0139317 0.0139092 0.0138868 0.0138643 0.0138419
+0.0138195 0.0137971 0.0137748 0.0137524 0.0137301 0.0137078 0.0136855
+0.0136633 0.013641 0.0136188 0.0135966 0.0135744 0.0135522 0.01353
+0.0135079 0.0134858 0.0134636 0.0134416 0.0134195 0.0133974 0.0133754
+0.0133534 0.0133314 0.0133094 0.0132874 0.0132655 0.0132436 0.0132216
+0.0131998 0.0131779 0.013156 0.0131342 0.0131124 0.0130906 0.0130688
+0.013047 0.0130253 0.0130035 0.0129818 0.0129601 0.0129384 0.0129168
+0.0128951 0.0128735 0.0128519 0.0128303 0.0128087 0.0127872 0.0127657
+0.0127441 0.0127226 0.0127012 0.0126797 0.0126582 0.0126368 0.0126154
+0.012594 0.0125726 0.0125513 0.0125299 0.0125086 0.0124873 0.012466
+0.0124448 0.0124235 0.0124023 0.0123811 0.0123599 0.0123387 0.0123176
+0.0122964 0.0122753 0.0122542 0.0122331 0.012212 0.012191 0.0121699
+0.0121489 0.0121279 0.012107 0.012086 0.0120651 0.0120441 0.0120232
+0.0120023 0.0119815 0.0119606 0.0119398 0.011919 0.0118982 0.0118774
+0.0118566 0.0118359 0.0118151 0.0117944 0.0117737 0.0117531 0.0117324
+0.0117118 0.0116911 0.0116705 0.01165 0.0116294 0.0116088 0.0115883
+0.0115678 0.0115473 0.0115268 0.0115064 0.0114859 0.0114655 0.0114451
+0.0114247 0.0114043 0.011384 0.0113637 0.0113433 0.011323 0.0113028
+0.0112825 0.0112623 0.011242 0.0112218 0.0112016 0.0111815 0.0111613
+0.0111412 0.0111211 0.011101 0.0110809 0.0110608 0.0110408 0.0110208
+0.0110007 0.0109808 0.0109608 0.0109408 0.0109209 0.010901 0.0108811
+0.0108612 0.0108413 0.0108215 0.0108016 0.0107818 0.010762 0.0107423
+0.0107225 0.0107028 0.010683 0.0106633 0.0106436 0.010624 0.0106043
+0.0105847 0.0105651 0.0105455 0.0105259 0.0105064 0.0104868 0.0104673
+0.0104478 0.0104283 0.0104088 0.0103894 0.0103699 0.0103505 0.0103311
+0.0103117 0.0102924 0.010273 0.0102537 0.0102344 0.0102151 0.0101958
+0.0101766 0.0101574 0.0101381 0.0101189 0.0100998 0.0100806 0.0100614
+0.0100423 0.0100232 0.0100041 0.00998505 0.00996599 0.00994695 0.00992793
+0.00990893 0.00988995 0.00987098 0.00985204 0.00983311 0.0098142 0.0097953
+0.00977643 0.00975757 0.00973873 0.00971991 0.00970111 0.00968232 0.00966355
+0.0096448 0.00962607 0.00960736 0.00958866 0.00956999 0.00955133 0.00953269
+0.00951406 0.00949546 0.00947687 0.0094583 0.00943975 0.00942122 0.00940271
+0.00938421 0.00936573 0.00934727 0.00932883 0.0093104 0.009292 0.00927361
+0.00925524 0.00923689 0.00921855 0.00920023 0.00918194 0.00916366 0.00914539
+0.00912715 0.00910892 0.00909072 0.00907253 0.00905436 0.0090362 0.00901807
+0.00899995 0.00898185 0.00896377 0.0089457 0.00892766 0.00890963 0.00889162
+0.00887363 0.00885566 0.0088377 0.00881976 0.00880184 0.00878394 0.00876606
+0.0087482 0.00873035 0.00871252 0.00869471 0.00867692 0.00865914 0.00864139
+0.00862365 0.00860593 0.00858822 0.00857054 0.00855287 0.00853523 0.0085176
+0.00849998 0.00848239 0.00846481 0.00844726 0.00842972 0.0084122 0.00839469
+0.00837721 0.00835974 0.00834229 0.00832486 0.00830744 0.00829005 0.00827267
+0.00825531 0.00823797 0.00822065 0.00820335 0.00818606 0.00816879 0.00815154
+0.00813431 0.00811709 0.0080999 0.00808272 0.00806556 0.00804842 0.00803129
+0.00801419 0.0079971 0.00798003 0.00796298 0.00794595 0.00792893 0.00791193
+0.00789495 0.00787799 0.00786105 0.00784412 0.00782722 0.00781033 0.00779346
+0.00777661 0.00775977 0.00774296 0.00772616 0.00770938 0.00769262 0.00767587
+0.00765915 0.00764244 0.00762575 0.00760908 0.00759242 0.00757579 0.00755917
+0.00754257 0.00752599 0.00750943 0.00749288 0.00747636 0.00745985 0.00744336
+0.00742689 0.00741043 0.007394 0.00737758 0.00736118 0.0073448 0.00732843
+0.00731209 0.00729576 0.00727945 0.00726316 0.00724689 0.00723063 0.0072144
+0.00719818 0.00718198 0.00716579 0.00714963 0.00713348 0.00711736 0.00710125
+0.00708515 0.00706908 0.00705302 0.00703699 0.00702097 0.00700497 0.00698898
+0.00697302 0.00695707 0.00694114 0.00692523 0.00690934 0.00689347 0.00687761
+0.00686177 0.00684595 0.00683015 0.00681437 0.0067986 0.00678285 0.00676712
+0.00675141 0.00673572 0.00672004 0.00670439 0.00668875 0.00667313 0.00665753
+0.00664194 0.00662638 0.00661083 0.0065953 0.00657979 0.00656429 0.00654882
+0.00653336 0.00651792 0.0065025 0.0064871 0.00647171 0.00645635 0.006441
+0.00642567 0.00641036 0.00639506 0.00637979 0.00636453 0.00634929 0.00633407
+0.00631887 0.00630368 0.00628851 0.00627337 0.00625824 0.00624312 0.00622803
+0.00621295 0.0061979 0.00618286 0.00616783 0.00615283 0.00613785 0.00612288
+0.00610793 0.006093 0.00607809 0.00606319 0.00604832 0.00603346 0.00601862
+0.0060038 0.00598899 0.00597421 0.00595944 0.00594469 0.00592996 0.00591525
+0.00590055 0.00588587 0.00587122 0.00585658 0.00584195 0.00582735 0.00581276
+0.0057982 0.00578365 0.00576912 0.0057546 0.00574011 0.00572563 0.00571117
+0.00569673 0.00568231 0.00566791 0.00565352 0.00563915 0.0056248 0.00561047
+0.00559616 0.00558187 0.00556759 0.00555333 0.00553909 0.00552487 0.00551066
+0.00549648 0.00548231 0.00546816 0.00545403 0.00543992 0.00542582;
+#A 32000 0.00541175 0.00539769 0.00538365 0.00536962 0.00535562 0.00534163
+0.00532767 0.00531372 0.00529979 0.00528587 0.00527198 0.0052581 0.00524424
+0.0052304 0.00521658 0.00520278 0.00518899 0.00517522 0.00516147 0.00514774
+0.00513403 0.00512034 0.00510666 0.005093 0.00507936 0.00506574 0.00505214
+0.00503855 0.00502498 0.00501143 0.0049979 0.00498439 0.00497089 0.00495742
+0.00494396 0.00493052 0.0049171 0.0049037 0.00489031 0.00487694 0.00486359
+0.00485026 0.00483695 0.00482366 0.00481038 0.00479712 0.00478388 0.00477066
+0.00475746 0.00474427 0.00473111 0.00471796 0.00470483 0.00469171 0.00467862
+0.00466554 0.00465249 0.00463945 0.00462643 0.00461342 0.00460044 0.00458747
+0.00457452 0.00456159 0.00454868 0.00453579 0.00452291 0.00451006 0.00449722
+0.0044844 0.00447159 0.00445881 0.00444604 0.0044333 0.00442057 0.00440785
+0.00439516 0.00438249 0.00436983 0.00435719 0.00434457 0.00433197 0.00431938
+0.00430682 0.00429427 0.00428174 0.00426923 0.00425674 0.00424426 0.00423181
+0.00421937 0.00420695 0.00419455 0.00418216 0.0041698 0.00415745 0.00414512
+0.00413281 0.00412052 0.00410825 0.00409599 0.00408375 0.00407153 0.00405933
+0.00404715 0.00403499 0.00402284 0.00401071 0.0039986 0.00398651 0.00397444
+0.00396238 0.00395034 0.00393832 0.00392632 0.00391434 0.00390238 0.00389043
+0.0038785 0.0038666 0.0038547 0.00384283 0.00383098 0.00381914 0.00380732
+0.00379552 0.00378374 0.00377198 0.00376023 0.00374851 0.0037368 0.00372511
+0.00371343 0.00370178 0.00369015 0.00367853 0.00366693 0.00365535 0.00364379
+0.00363224 0.00362071 0.00360921 0.00359772 0.00358625 0.00357479 0.00356336
+0.00355194 0.00354054 0.00352916 0.0035178 0.00350646 0.00349513 0.00348382
+0.00347254 0.00346127 0.00345001 0.00343878 0.00342756 0.00341637 0.00340519
+0.00339403 0.00338288 0.00337176 0.00336065 0.00334956 0.00333849 0.00332744
+0.00331641 0.00330539 0.0032944 0.00328342 0.00327246 0.00326152 0.00325059
+0.00323969 0.0032288 0.00321793 0.00320708 0.00319625 0.00318544 0.00317464
+0.00316386 0.0031531 0.00314236 0.00313164 0.00312093 0.00311025 0.00309958
+0.00308893 0.0030783 0.00306769 0.00305709 0.00304651 0.00303596 0.00302542
+0.00301489 0.00300439 0.00299391 0.00298344 0.00297299 0.00296256 0.00295215
+0.00294175 0.00293138 0.00292102 0.00291068 0.00290036 0.00289006 0.00287978
+0.00286951 0.00285926 0.00284903 0.00283882 0.00282863 0.00281845 0.0028083
+0.00279816 0.00278804 0.00277794 0.00276786 0.00275779 0.00274774 0.00273772
+0.00272771 0.00271771 0.00270774 0.00269779 0.00268785 0.00267793 0.00266803
+0.00265815 0.00264828 0.00263844 0.00262861 0.0026188 0.00260901 0.00259924
+0.00258949 0.00257975 0.00257003 0.00256033 0.00255065 0.00254099 0.00253135
+0.00252172 0.00251211 0.00250252 0.00249295 0.0024834 0.00247387 0.00246435
+0.00245485 0.00244537 0.00243591 0.00242647 0.00241704 0.00240764 0.00239825
+0.00238888 0.00237953 0.00237019 0.00236088 0.00235158 0.0023423 0.00233304
+0.0023238 0.00231458 0.00230537 0.00229619 0.00228702 0.00227787 0.00226874
+0.00225962 0.00225053 0.00224145 0.00223239 0.00222335 0.00221433 0.00220532
+0.00219634 0.00218737 0.00217842 0.00216949 0.00216058 0.00215169 0.00214281
+0.00213395 0.00212511 0.00211629 0.00210749 0.00209871 0.00208994 0.00208119
+0.00207246 0.00206375 0.00205506 0.00204639 0.00203773 0.00202909 0.00202047
+0.00201187 0.00200329 0.00199472 0.00198618 0.00197765 0.00196914 0.00196065
+0.00195218 0.00194372 0.00193528 0.00192687 0.00191847 0.00191009 0.00190172
+0.00189338 0.00188505 0.00187674 0.00186845 0.00186018 0.00185193 0.00184369
+0.00183548 0.00182728 0.0018191 0.00181094 0.00180279 0.00179467 0.00178656
+0.00177847 0.0017704 0.00176235 0.00175432 0.0017463 0.00173831 0.00173033
+0.00172237 0.00171443 0.0017065 0.0016986 0.00169071 0.00168284 0.00167499
+0.00166716 0.00165935 0.00165155 0.00164378 0.00163602 0.00162828 0.00162055
+0.00161285 0.00160517 0.0015975 0.00158985 0.00158222 0.00157461 0.00156701
+0.00155944 0.00155188 0.00154434 0.00153682 0.00152932 0.00152184 0.00151437
+0.00150693 0.0014995 0.00149209 0.00148469 0.00147732 0.00146996 0.00146263
+0.00145531 0.00144801 0.00144073 0.00143346 0.00142622 0.00141899 0.00141178
+0.00140459 0.00139742 0.00139027 0.00138313 0.00137601 0.00136891 0.00136183
+0.00135477 0.00134773 0.0013407 0.0013337 0.00132671 0.00131974 0.00131278
+0.00130585 0.00129894 0.00129204 0.00128516 0.0012783 0.00127146 0.00126463
+0.00125783 0.00125104 0.00124427 0.00123752 0.00123079 0.00122408 0.00121738
+0.0012107 0.00120404 0.0011974 0.00119078 0.00118418 0.00117759 0.00117103
+0.00116448 0.00115795 0.00115144 0.00114494 0.00113847 0.00113201 0.00112557
+0.00111915 0.00111275 0.00110637 0.0011 0.00109365 0.00108732 0.00108101
+0.00107472 0.00106845 0.00106219 0.00105596 0.00104974 0.00104354 0.00103736
+0.00103119 0.00102505 0.00101892 0.00101281 0.00100672 0.00100065 0.000994598
+0.000988563 0.000982546 0.000976548 0.000970568 0.000964607 0.000958663
+0.000952738 0.000946832 0.000940944 0.000935074 0.000929222 0.000923389
+0.000917574 0.000911778 0.000906 0.00090024 0.000894498 0.000888775
+0.000883071 0.000877384 0.000871716 0.000866066 0.000860435 0.000854822
+0.000849228 0.000843651 0.000838093 0.000832554 0.000827033 0.00082153
+0.000816045 0.000810579 0.000805131 0.000799702 0.000794291 0.000788898
+0.000783524 0.000778168 0.00077283 0.000767511 0.00076221 0.000756927
+0.000751663 0.000746417 0.000741189 0.00073598 0.000730789 0.000725617
+0.000720463 0.000715327 0.00071021 0.000705111 0.00070003 0.000694968
+0.000689924 0.000684898 0.000679891 0.000674902 0.000669931 0.000664979
+0.000660046 0.00065513 0.000650233 0.000645354 0.000640494 0.000635652
+0.000630828 0.000626023 0.000621236 0.000616467 0.000611717 0.000606985
+0.000602272 0.000597577 0.0005929 0.000588242 0.000583602 0.00057898
+0.000574377 0.000569792 0.000565225 0.000560677 0.000556147 0.000551635
+0.000547142 0.000542668 0.000538211 0.000533773 0.000529353 0.000524952
+0.000520569 0.000516205 0.000511858 0.00050753 0.000503221 0.00049893
+0.000494657 0.000490403 0.000486167 0.000481949 0.00047775 0.000473569
+0.000469406 0.000465262 0.000461136 0.000457029 0.00045294 0.000448869
+0.000444816 0.000440782 0.000436767 0.00043277 0.000428791 0.00042483
+0.000420888 0.000416964 0.000413059 0.000409172 0.000405303 0.000401453
+0.000397621 0.000393807 0.000390012 0.000386235 0.000382477 0.000378736
+0.000375015 0.000371311 0.000367626 0.00036396 0.000360311 0.000356682
+0.00035307 0.000349477 0.000345902 0.000342346 0.000338808 0.000335288
+0.000331787 0.000328304 0.000324839 0.000321393 0.000317965 0.000314556
+0.000311165 0.000307792 0.000304438 0.000301102 0.000297784 0.000294485
+0.000291204 0.000287942 0.000284698 0.000281472 0.000278265 0.000275076
+0.000271905 0.000268753 0.000265619 0.000262504 0.000259407 0.000256328
+0.000253267 0.000250225 0.000247202 0.000244197 0.00024121 0.000238241
+0.000235291 0.00023236 0.000229446 0.000226551 0.000223675 0.000220816
+0.000217977 0.000215155 0.000212352 0.000209567 0.000206801 0.000204053
+0.000201323 0.000198612 0.000195919 0.000193245 0.000190589 0.000187951
+0.000185332 0.000182731 0.000180148 0.000177584 0.000175038 0.000172511
+0.000170002 0.000167511 0.000165039 0.000162585 0.000160149 0.000157732
+0.000155333 0.000152953 0.000150591 0.000148247 0.000145922 0.000143615
+0.000141326 0.000139056 0.000136804 0.000134571 0.000132356 0.000130159
+0.000127981 0.000125821 0.00012368 0.000121556 0.000119452 0.000117365
+0.000115297 0.000113248 0.000111216 0.000109204 0.000107209 0.000105233
+0.000103275 0.000101336 9.94151e-05 9.75125e-05 9.56283e-05 9.37625e-05
+9.1915e-05 9.0086e-05 8.82753e-05 8.6483e-05 8.47091e-05 8.29536e-05
+8.12164e-05 7.94976e-05 7.77973e-05 7.61152e-05 7.44516e-05 7.28064e-05
+7.11795e-05 6.9571e-05 6.79809e-05 6.64092e-05 6.48558e-05 6.33209e-05
+6.18043e-05 6.03061e-05 5.88263e-05 5.73648e-05 5.59218e-05 5.44971e-05
+5.30908e-05 5.17029e-05 5.03334e-05 4.89822e-05 4.76495e-05 4.63351e-05
+4.50391e-05 4.37615e-05 4.25022e-05 4.12614e-05 4.00389e-05 3.88348e-05
+3.76491e-05 3.64818e-05 3.53328e-05 3.42022e-05 3.30901e-05 3.19963e-05
+3.09208e-05 2.98638e-05 2.88252e-05 2.78049e-05 2.6803e-05 2.58195e-05
+2.48544e-05 2.39076e-05 2.29793e-05 2.20693e-05 2.11777e-05 2.03045e-05
+1.94497e-05 1.86132e-05 1.77952e-05 1.69955e-05 1.62142e-05 1.54513e-05
+1.47068e-05 1.39806e-05 1.32729e-05 1.25835e-05 1.19125e-05 1.12599e-05
+1.06257e-05 1.00098e-05 9.41236e-06 8.83328e-06 8.27258e-06 7.73027e-06
+7.20634e-06 6.7008e-06 6.21363e-06 5.74485e-06 5.29446e-06 4.86245e-06
+4.44882e-06 4.05357e-06 3.67671e-06 3.31823e-06 2.97814e-06 2.65642e-06
+2.3531e-06 2.06815e-06 1.80159e-06 1.55341e-06 1.32362e-06 1.11221e-06
+9.19178e-07 7.44534e-07 5.88274e-07 4.50397e-07 3.30904e-07 2.29795e-07
+1.47069e-07 8.27261e-08 3.67671e-08 9.19178e-09;
+#X coords 0 1 32767 -1 200 140 1;
+#X restore 431 29 graph;
+#X obj 25 156 function~ gsf_window;
+#X msg 25 133 rcos;
+#N canvas 10 37 581 367 sprayclouds 0;
+#X obj 9 231 outlet;
+#X msg 9 153 spray;
+#X obj 116 108 metro 1000;
+#X obj 116 87 tgl 15 0 empty dac-toggle empty 0 -6 0 8 -262144 -1 -1
+0 1;
+#X floatatom 9 65 5 0 0 0 - - -, f 5;
+#X msg 116 155 pitchspray;
+#X msg 9 32 1;
+#X obj 9 12 loadbang;
+#X msg 47 33 2;
+#X obj 116 63 r dac-toggle;
+#X text 77 35 <- select cloud method (1=spray \, 2=pitchspray);
+#X text 197 108 <- time interval is the cloud horizon (also latency)
+;
+#X text 196 158 <- either of these triggers a "cloud" of grains;
+#N canvas 666 199 458 308 select-method 0;
+#X obj 64 35 inlet;
+#X obj 138 25 inlet;
+#X obj 26 13 loadbang;
+#X obj 138 223 spigot;
+#X obj 193 224 spigot;
+#X obj 230 188 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 175 185 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 64 132 unpack f f;
+#X obj 64 65 sel 1 2;
+#X msg 64 102 1 0;
+#X msg 97 102 0 1;
+#X obj 138 255 outlet;
+#X obj 193 254 outlet;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 9 0;
+#X connect 3 0 11 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 1;
+#X connect 6 0 3 1;
+#X connect 7 0 6 0;
+#X connect 7 1 5 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X restore 9 131 pd select-method;
+#X connect 1 0 0 0;
+#X connect 2 0 13 1;
+#X connect 3 0 2 0;
+#X connect 4 0 13 0;
+#X connect 5 0 0 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 4 0;
+#X connect 9 0 3 0;
+#X connect 13 0 1 0;
+#X connect 13 1 5 0;
+#X restore 25 181 pd sprayclouds;
+#N canvas 0 22 454 304 amp 0;
+#X obj 89 108 inlet~;
+#X obj 89 149 *~;
+#X obj 89 198 outlet~;
+#X obj 176 110 inlet~;
+#X obj 176 151 *~;
+#X obj 176 200 outlet~;
+#X obj 256 109 inlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 6 0 1 1;
+#X restore 25 389 pd amp;
+#X obj 223 344 hsl 128 15 0 1 0 0 empty empty gain -2 -6 0 8 -81528
+-1 -1 0 1;
+#X obj 25 419 dac~;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array gsf_wavetable 4e+06 float 2;
+#X coords 0 1 4e+06 -1 200 140 1;
+#X restore 431 169 graph;
+#X text 99 431 your sound here - it should be at least 20 seconds long
+->;
+#N canvas 181 44 551 550 grist 0;
+#X obj 87 481 outlet;
+#X msg 86 91 grist 25 1000 0.25 3 0.1 0.9 0.1 0.9 50 200;
+#X msg 98 124 grist 2 1000 0.25 2 0.1 0.9 0.1 0.9 4000 8000;
+#X text 15 41 args: events horizon min_incr max_incr minpan maxpan
+minamp maxamp mindur maxdur;
+#X msg 211 439 events \$1;
+#X floatatom 211 416 5 0 0 0 - - -, f 5;
+#X text 255 417 directly set events per "cloud";
+#X msg 108 152 grist 5 1000 1 1 0.1 0.9 0.1 0.9 1000 2000;
+#X msg 120 193 grist 8 1000 0.25 3 0.1 0.9 1 1 200 200;
+#X msg 133 222 grist 1 1000 1 1 0.1 0.9 0.1 0.9 1000 1000;
+#X msg 148 250 grist 200 1000 0.2 4 0.1 0.9 0.1 0.9 50 80;
+#X obj 86 71 loadbang;
+#X msg 161 277 grist 150 1000 0.2 4 0.1 0.9 0.1 0.9 150 250;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 0;
+#X connect 12 0 0 0;
+#X restore 40 200 pd grist;
+#X obj 25 107 loadbang;
+#N canvas 0 22 498 348 scales 0;
+#X obj 110 246 outlet;
+#X text 66 43 these get used when you drive with "pitchspray";
+#X msg 38 94 setscale 1 1.25 1.5 2;
+#X msg 157 156 setscale 0.5 1 2;
+#X obj 38 70 loadbang;
+#X msg 104 116 setscale 1 1.25 1.33333 1.5 1.875 2;
+#X msg 264 220 setscale 1 1.06 1.09;
+#X msg 257 185 setscale 1 1.5 2.25;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 2 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 51 219 pd scales;
+#N canvas 287 22 749 764 more-messages 0;
+#X obj 40 615 outlet;
+#X msg 40 49 nopan \$1;
+#X obj 40 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X text 59 26 turn off panning effect;
+#X obj 70 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 70 103 interpolate \$1;
+#X text 89 80 set interpolation (on by default);
+#X obj 139 223 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 139 247 steady \$1;
+#X text 158 224 set steady rhythm;
+#X obj 102 144 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 102 168 interpolate_envelope \$1;
+#X text 121 145 set envelope interpolation (off by default);
+#X floatatom 147 280 5 0 0 0 - - -, f 5;
+#X msg 147 302 retro_odds \$1;
+#X text 186 280 odds for backwards grain (0-1);
+#X floatatom 222 324 5 0 0 0 - - -, f 5;
+#X msg 222 346 transpose \$1;
+#X text 255 382 reseed random generator;
+#X msg 216 402 seed \$1;
+#X floatatom 216 384 5 0 0 0 - - -, f 5;
+#X floatatom 229 428 5 0 0 0 - - -, f 5;
+#X msg 229 446 pitchdev \$1;
+#X text 268 426 detune factor for "pitchspray";
+#X msg 220 491 grain 3300 -1 1 0.2 15000;
+#X text 219 476 specify a single grain directly:;
+#X text 218 509 args: dur \, incr \, amp \, pan \, skip;
+#X msg 218 541 info;
+#X obj 345 309 hsl 128 15 0.1 2 0 0 empty empty transpose -2 -6 0 8
+-81528 -1 -1 0 1;
+#X text 260 324 comment;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 10 0 11 0;
+#X connect 11 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 0 0;
+#X connect 16 0 17 0;
+#X connect 17 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 0 0;
+#X connect 24 0 0 0;
+#X connect 27 0 0 0;
+#X connect 28 0 16 0;
+#X restore 69 261 pd more-messages;
+#X text 136 181 <- triggering;
+#X text 103 200 <- parameters;
+#X text 125 221 <- optional tunings;
+#X text 189 262 <- etc.;
+#X text 25 52 granulesf~ creates granular textures by mixing together
+enveloped grains taken from a soundfile stored in an array.;
+#X msg 60 133 adrenv 0.05 0.1 0.3 1;
+#N canvas 0 22 828 525 skiptimes 0;
+#X msg 282 152 maxskip -1;
+#X msg 209 151 minskip 0;
+#X obj 60 385 outlet;
+#X text 363 153 set to full buffer (default);
+#X obj 209 124 t b b;
+#X obj 209 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 19 31 t b b;
+#X obj 19 8 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
+;
+#X text 69 15 constrain min & max skiptimes \; in this case each grain
+starts (or ends) at the same time;
+#X msg 263 326 minskip \$1;
+#X msg 357 326 maxskip \$1;
+#X obj 266 224 hsl 128 15 0 20000 0 0 empty empty skiptime -2 -6 0
+8 -81528 -1 -1 0 1;
+#X obj 263 268 t f f;
+#X floatatom 263 247 5 0 0 0 - - -, f 5;
+#X text 403 225 slide it!;
+#X floatatom 357 256 5 0 0 0 - - -, f 5;
+#X obj 357 300 + 0;
+#X text 398 255 optional offset;
+#X msg 19 54 minskip 5000;
+#X msg 120 52 maxskip 5000;
+#X obj 357 274 t b f;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 4 0 1 0;
+#X connect 4 1 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 18 0;
+#X connect 6 1 19 0;
+#X connect 7 0 6 0;
+#X connect 9 0 2 0;
+#X connect 10 0 2 0;
+#X connect 11 0 13 0;
+#X connect 12 0 9 0;
+#X connect 12 1 16 0;
+#X connect 13 0 12 0;
+#X connect 15 0 20 0;
+#X connect 16 0 10 0;
+#X connect 18 0 2 0;
+#X connect 19 0 2 0;
+#X connect 20 0 16 0;
+#X connect 20 1 16 1;
+#X restore 60 239 pd skiptimes;
+#X text 150 238 <- constrain grain selection;
+#X obj 466 452 soundfiler;
+#X obj 466 401 openpanel;
+#X msg 466 377 bang;
+#X msg 466 424 read -resize \$1 gsf_wavetable;
+#X obj 23 10 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 100 113 grain envelope;
+#X connect 0 0 5 0;
+#X connect 0 1 5 1;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 5 2;
+#X connect 10 0 0 0;
+#X connect 11 0 3 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 19 0 2 0;
+#X connect 20 0 0 0;
+#X connect 23 0 25 0;
+#X connect 24 0 23 0;
+#X connect 25 0 22 0;
diff --git a/externals/lyonpotpourri/granulesf~.c b/externals/lyonpotpourri/granulesf~.c
new file mode 100755
index 000000000..63ac71b61
--- /dev/null
+++ b/externals/lyonpotpourri/granulesf~.c
@@ -0,0 +1,1076 @@
+#include "MSPd.h"
+
+#define MAXGRAINS (512) // just for present to get lower overhead
+
+#define MAXSCALE (8192)
+#define OBJECT_NAME "granulesf~"
+
+static t_class *granulesf_class;
+
+typedef struct {
+    float amplitude;
+    float panL;
+    float panR;
+    long delay; // samples to wait until event starts
+    long duration;// length in samples of event
+    float phase; // phase for frequency oscillator
+    float ephase; // phase for envelope
+    float si; // sampling increment for frequency
+    float esi; // sampling increment for envelope
+    float endframe;//boundary frame (extremes are 0 or size-1); approach depends on sign of si
+    short active;//status of this slot (inactives are available for new grains)
+} t_grain;
+
+typedef struct {
+	t_word *b_samples;
+	long b_frames;
+	long b_nchans;//not needed here
+} t_pdbuffer;
+
+
+typedef struct _granulesf
+{
+    
+    t_object x_obj;
+    float x_f;
+    t_pdbuffer *wavebuf; // holds waveform samples
+    t_pdbuffer *windowbuf; // holds window samples
+	t_symbol *wavename; // name of waveform buffer
+	t_symbol *windowname; // name of window buffer
+    
+	float sr; // sampling rate
+	short mute;
+	short hosed; // buffers are bad
+	/* Global grain data*/
+	long events; // number of events in a block
+	long horizon; // length of block for random events
+	float min_incr; // minimum frequency for a grain
+	float max_incr; // maximum frequency for a grain
+	float minpan; // minimum pan for a grain
+	float maxpan; // maxium pan for a grain
+	float minamp; // minimum amplitude for a grain
+	float maxamp; // maximum amplitude for a grain
+	float mindur; // minumum duration for a grain
+	float maxdur; // maximum duration for a grain
+	t_grain *grains; // stores grain data
+	float *pitchscale; // contains a frequency grid for pitch constraint
+	int pitchsteps; // number of members in scale
+	float transpose; // factor for scaling all pitches
+	float pitch_deviation; // factor to adjust scaled pitches
+	short steady; // toggles pulsed rhythmic activity
+	float lowblock_increment; //lowest allowed frequency
+	float highblock_increment;// highest allowed frequency
+	float mindur_ms;//store duration in ms
+	float maxdur_ms;//ditto
+	float horizon_ms;//ditto
+	short constrain_scale;//flag to only use bounded portion of scale rather than all of it
+	short nopan;//stereo channels go straight out, mono goes to center
+	long minskip;//minimum inskip in samples (default = zero)
+	long maxskip;//maximum inskip in samples (default = maximum possible given dur/increment of note)
+	long b_nchans;//channels in buffer (always 1 for Pd, at least today)
+	long b_frames;//frames in waveform buffer
+	float retro_odds;//odds to play sample backwards
+	short interpolate;//flag to interpolate samples - on by default
+	short interpolate_envelope;//flag to interpolate envelope
+} t_granulesf;
+
+void granulesf_setbuf(t_granulesf *x, t_symbol *wavename, t_symbol *windowname);
+void *granulesf_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *granulesf_perform(t_int *w);
+t_int *granulesf_perform_no_interpolation(t_int *w);
+t_int *granulesf_performhose(t_int *w);
+void granulesf_dsp(t_granulesf *x, t_signal **sp);
+void granulesf_reload(t_granulesf *x);
+void granulesf_spray(t_granulesf *x);
+void granulesf_pitchspray(t_granulesf *x);
+void granulesf_transpose(t_granulesf *x, t_floatarg t);
+void granulesf_pitchdev(t_granulesf *x, t_floatarg d);
+void granulesf_lowblock(t_granulesf *x, t_floatarg f);
+void granulesf_highblock(t_granulesf *x, t_floatarg f);
+void granulesf_events(t_granulesf *x, t_floatarg e);
+float granulesf_boundrand(float min, float max);
+void *granulesf_grist(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv);
+void *granulesf_grain(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv);
+void *granulesf_setscale(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv);
+void granulesf_info(t_granulesf *x);
+void granulesf_mute(t_granulesf *x, t_floatarg toggle);
+void granulesf_steady(t_granulesf *x, t_floatarg toggle);
+void granulesf_constrain_scale(t_granulesf *x, t_floatarg toggle);
+void granulesf_dsp_free(t_granulesf *x);
+void granulesf_init(t_granulesf *x,short initialized);
+void granulesf_constrain(int *index_min, int *index_max, float min_incr, float max_incr, float *scale, int steps);
+void granulesf_interpolate(t_granulesf *x, t_floatarg toggle);
+void granulesf_nopan(t_granulesf *x, t_floatarg toggle);
+void granulesf_retro_odds(t_granulesf *x, t_floatarg o);
+void granulesf_seed(t_granulesf *x, t_floatarg seed);
+void granulesf_interpolate_envelope(t_granulesf *x, t_floatarg toggle);
+
+
+void granulesf_tilde_setup(void){
+    granulesf_class = class_new(gensym("granulesf~"), (t_newmethod)granulesf_new,
+                                (t_method)granulesf_dsp_free,sizeof(t_granulesf), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(granulesf_class, t_granulesf, x_f);
+    class_addmethod(granulesf_class,(t_method)granulesf_dsp,gensym("dsp"),0);
+    class_addmethod(granulesf_class,(t_method)granulesf_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_setbuf,gensym("setbuf"),A_DEFSYM,A_DEFSYM,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_spray,gensym("spray"),0);
+    class_addmethod(granulesf_class,(t_method)granulesf_info,gensym("info"),0);
+    class_addmethod(granulesf_class,(t_method)granulesf_pitchspray,gensym("pitchspray"),0);
+    class_addmethod(granulesf_class,(t_method)granulesf_transpose,gensym("transpose"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_events,gensym("events"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_pitchdev,gensym("pitchdev"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_lowblock,gensym("lowblock"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_highblock,gensym("highblock"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_steady,gensym("steady"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_constrain_scale,gensym("constrain_scale"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_grist,gensym("grist"),A_GIMME,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_grain,gensym("grain"),A_GIMME,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_setscale,gensym("setscale"),A_GIMME,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_interpolate,gensym("interpolate"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_nopan,gensym("nopan"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_retro_odds,gensym("retro_odds"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_seed,gensym("seed"),A_FLOAT,0);
+    class_addmethod(granulesf_class,(t_method)granulesf_interpolate_envelope,gensym("interpolate_envelope"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void granulesf_interpolate_envelope(t_granulesf *x, t_floatarg toggle)
+{
+	x->interpolate_envelope = toggle;
+}
+
+void granulesf_seed(t_granulesf *x, t_floatarg seed)
+{
+	srand((long)seed);
+}
+
+void granulesf_retro_odds(t_granulesf *x, t_floatarg o)
+{
+	if(o < 0 || o > 1){
+		error("retro odds must be within [0.0 - 1.0]");
+		return;
+	}
+	x->retro_odds = 0;
+}
+
+void granulesf_interpolate(t_granulesf *x, t_floatarg toggle)
+{
+	x->interpolate = toggle;
+	post("toggle DACs to change interpolation status");
+}
+
+void granulesf_nopan(t_granulesf *x, t_floatarg toggle)
+{
+	x->nopan = toggle;
+}
+
+void granulesf_constrain_scale(t_granulesf *x, t_floatarg toggle)
+{
+	x->constrain_scale = toggle;
+}
+void granulesf_lowblock(t_granulesf *x, t_floatarg f)
+{
+	if(f > 0){
+		x->lowblock_increment = f;
+	}
+}
+
+void granulesf_highblock(t_granulesf *x, t_floatarg f)
+{
+	if(f > 0){
+		x->highblock_increment = f;
+	}
+}
+
+void granulesf_pitchdev(t_granulesf *x, t_floatarg d)
+{
+	if(d < 0 ){
+		error("pitch deviation must be positive");
+		return;
+	}
+	x->pitch_deviation = d;
+}
+
+void granulesf_mute(t_granulesf *x, t_floatarg toggle)
+{
+	x->mute = toggle;
+}
+
+void granulesf_steady(t_granulesf *x, t_floatarg toggle)
+{
+	x->steady = toggle;
+}
+
+void granulesf_events(t_granulesf *x, t_floatarg e)
+{
+	if( e <= 0 ){
+		post("events must be positive!");
+		return;
+	}
+	x->events = e;
+}
+
+void granulesf_transpose(t_granulesf *x, t_floatarg t)
+{
+	if( t <= 0 ){
+		error("transpose factor must be greater than zero!");
+		return;
+	}
+	x->transpose = t;
+}
+
+void *granulesf_setscale(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+	float *pitchscale = x->pitchscale;
+	if( argc >= MAXSCALE ){
+		error("%d is the maximum size scale", MAXSCALE);
+		return 0;
+	}
+	if( argc < 2 ){
+		error("there must be at least 2 members in scale");
+		return 0;
+	}
+	for(i=0; i < argc; i++){
+		pitchscale[i] = atom_getfloatarg(i,argc,argv);
+	}
+	x->pitchsteps = argc;
+    return 0;
+}
+
+void granulesf_constrain(int *index_min, int *index_max, float min_incr, float max_incr, float *scale, int steps)
+{
+	int imax = steps - 1;
+	int imin = 0;
+	while(scale[imin] < min_incr && imin < imax){
+		++imin;
+	}
+	if(imin == imax){
+		post("could not constrain minimum index  - your grist parameters are out of range for this scale");
+		*index_min = 0;
+		*index_max = steps - 1;
+		return;
+	}
+    while(scale[imax] > max_incr && imax > 0){
+		--imax;
+	}
+	if(imax < 1 || imax <= imin){
+		post("could not constrain maximum index - your grist parameters are out of range for this scale");
+		*index_min = 0;
+		*index_max = steps - 1;
+		return;
+	}
+	*index_min = imin;
+	*index_max = imax;
+}
+
+void granulesf_pitchspray(t_granulesf *x)
+{
+	int i,j;
+	long grainframes;
+	long b_frames = x->wavebuf->b_frames;
+	long eframes = x->windowbuf->b_frames;
+	long minskip = x->minskip;
+	long maxskip = x->maxskip;
+	float retro_odds = x->retro_odds;
+	long horizon = x->horizon; // length of block for random events
+	float mindur = x->mindur;
+	float maxdur = x->maxdur;
+	float min_incr = x->min_incr; // minimum frequency for a grain
+	float max_incr = x->max_incr; // maximum frequency for a grain
+	float minpan = x->minpan; // minimum pan for a grain
+	float maxpan = x->maxpan; // maxium pan for a grain
+	float minamp = x->minamp; // minimum amplitude for a grain
+	float maxamp = x->maxamp; // maximum amplitude for a grain
+	float transpose = x->transpose; // pitch scalar
+	float lowblock_increment = x->lowblock_increment;
+	float highblock_increment = x->highblock_increment;
+	short steady = x->steady;
+	float pitch_deviation = x->pitch_deviation;
+	float pdev = 0;
+	float pdev_invert = 0;
+    //	float pscale;
+	float pan;
+	int index_min, index_max;
+	int steps = x->pitchsteps;
+	float *scale = x->pitchscale;
+	int windex;
+	short inserted = 0;
+	short constrain_scale = x->constrain_scale;
+	t_grain *grains = x->grains;
+	float tmp;
+    
+	if( steps < 2 ){
+		error("scale is undefined");
+		return;
+	}
+	if( pitch_deviation ){
+		pdev = 1.0 + pitch_deviation;
+		pdev_invert = 1.0 / pdev;
+	}
+	for( i = 0; i < x->events; i++ ){
+		inserted = 0;
+		for(j = 0; j < MAXGRAINS; j++ ){
+			if(!grains[j].active){
+                if(steady){
+                    grains[j].delay = (float)(i * horizon) / (float) x->events ;
+                } else {
+                    grains[j].delay = granulesf_boundrand(0.0,(float) horizon);
+    			}
+    			grains[j].duration = (long) granulesf_boundrand(mindur, maxdur);
+    			grains[j].phase = 0.0;
+    			grains[j].ephase = 0.0;
+    			pan = granulesf_boundrand(minpan, maxpan);
+                
+    			grains[j].amplitude = granulesf_boundrand(minamp, maxamp);
+    			grains[j].panL = grains[j].amplitude * cos(pan * PIOVERTWO);
+    			grains[j].panR = grains[j].amplitude * sin(pan * PIOVERTWO);
+    			grains[j].amplitude *= .707;//used directly only for "nopan"
+    			
+                if(constrain_scale){
+                    granulesf_constrain(&index_min,&index_max,min_incr, max_incr, scale, steps);
+                    windex = (int) granulesf_boundrand((float)index_min, (float)index_max);
+                } else {
+                    windex = (int) granulesf_boundrand(0.0, (float)(steps));
+                }
+    			grains[j].si = transpose * scale[windex];
+                //	post("windex %d scale[w] %f transpose %f si %f",windex, scale[windex], transpose, grains[j].si );
+    			grainframes = grains[j].duration * grains[j].si;
+    			grains[j].esi =  (float) eframes / (float) grains[j].duration;
+    			
+    			if( pitch_deviation ){
+    				grains[j].si *= granulesf_boundrand(pdev_invert,pdev);
+    			}
+    			// post("new si: %f", grains[j].si);
+    			/* must add this code to spray, and also do for high frequencies
+                 */
+    			if(lowblock_increment > 0.0) {
+    				if(grains[j].si < lowblock_increment){
+    					post("lowblock: aborted grain with %f frequency",grains[j].si);
+    					grains[j].active = 0; // abort grain
+    					goto nextgrain;
+    				}
+    			}
+    			if(highblock_increment > 0.0) {
+    				if(grains[j].si > highblock_increment){
+    					post("highblock: aborted grain with %f frequency, greater than %f",
+                             grains[j].si, highblock_increment);
+    					grains[j].active = 0; // abort grain
+    					goto nextgrain;
+    				}
+    			}
+                /* set skip time into sample */
+                if(grainframes >= b_frames ){
+				  	error("grain size %.0ld is too long for buffer which is %ld",grainframes, b_frames);
+				  	grains[j].active = 0;
+				  	goto nextgrain;
+                }
+                if(minskip > b_frames - grainframes){//bad minskip
+				  	error("minskip time is illegal");
+				  	grains[j].phase = 0.0;
+				  	grains[j].endframe = grainframes - 1;
+                } else {
+                    if(maxskip > b_frames - grainframes){
+					  	grains[j].phase = granulesf_boundrand((float)minskip, (float) (b_frames - grainframes));
+					  	//post("1. minskip %d maxskip %d",minskip,b_frames - grainframes);
+                    } else {
+					  	grains[j].phase = granulesf_boundrand((float)minskip, (float)maxskip);
+					  	//post("2. minskip %d maxskip %d",minskip,maxskip);
+                    }
+                    grains[j].endframe = grains[j].phase + grainframes - 1;
+                }
+                
+                
+                if( granulesf_boundrand(0.0,1.0) < retro_odds){//go backwards - make sure to test both boundaries
+				  	grains[j].si *= -1.0;
+				  	tmp = grains[j].phase;
+				  	grains[j].phase = grains[j].endframe;
+				  	grains[j].endframe = tmp;
+                }
+                /*post("grain: grainframes %d phase %f endframe %f amp %f",
+                 grainframes, grains[j].phase, grains[j].endframe, grains[j].amplitude);*/
+                grains[j].active = 1;
+    			inserted = 1;
+    			goto nextgrain;
+    		}
+		}
+		if(!inserted){
+			error("could not insert grain with increment %f",grains[j].si);
+			return;
+		}
+    nextgrain: ;
+	}
+}
+
+void granulesf_spray(t_granulesf *x)
+{
+	int i,j;
+	long grainframes;
+	long eframes = x->windowbuf->b_frames;
+	long b_frames = x->wavebuf->b_frames;
+    //	long b_nchans = x->wavebuf->b_nchans;
+    //	float sr = x->sr;
+	long horizon = x->horizon; // length of block for random events
+	float mindur = x->mindur;
+	float maxdur = x->maxdur;
+	float min_incr = x->min_incr; // minimum incr for a grain (must be positive!)
+	float max_incr = x->max_incr; // maximum incr for a grain (must be positive!)
+	float minpan = x->minpan; // minimum pan for a grain
+	float maxpan = x->maxpan; // maxium pan for a grain
+	float minamp = x->minamp; // minimum amplitude for a grain
+	float maxamp = x->maxamp; // maximum amplitude for a grain
+	float transpose = x->transpose; // pitch scalar
+	long minskip = x->minskip;
+	long maxskip = x->maxskip;
+	short steady = x->steady;
+	float retro_odds = x->retro_odds;
+	float pan;
+	t_grain *grains = x->grains;
+	short inserted;
+	float tmp;
+
+	for( i = 0; i < x->events; i++ ){
+		inserted = 0;
+		for(j = 0; j < MAXGRAINS; j++ ){
+			if(!grains[j].active){
+				grains[j].active = 1;
+				if(steady){
+					grains[j].delay = (float)(i * horizon) / (float) x->events ;
+				} else {
+    				grains[j].delay = granulesf_boundrand(0.0,(float) horizon);
+    			}
+   				grains[j].duration = (long) granulesf_boundrand(mindur, maxdur);//frames for this grain
+    			grains[j].ephase = 0.0;
+    			pan = granulesf_boundrand(minpan, maxpan);
+     			grains[j].amplitude = granulesf_boundrand(minamp, maxamp);
+    			grains[j].panL = grains[j].amplitude * cos(pan * PIOVERTWO);
+    			grains[j].panR = grains[j].amplitude * sin(pan * PIOVERTWO);
+    			grains[j].amplitude *= .707;//used directly only for "nopan"
+                grains[j].si = transpose * granulesf_boundrand(min_incr, max_incr);
+                
+                grainframes = grains[j].duration * grains[j].si;//frames to be read from buffer
+                // grains[j].esi =  (float) eframes / (float) grainframes;
+                grains[j].esi =  (float) eframes / (float) grains[j].duration;
+                if(grainframes >= b_frames ){
+				  	error("grain size %.0ld is too long for buffer which is %ld",grainframes, b_frames);
+				  	grains[j].active = 0;
+				  	goto nextgrain;
+                }
+                if(minskip > b_frames - grainframes){//bad minskip
+				  	error("minskip time is illegal");
+				  	grains[j].phase = 0.0;
+				  	grains[j].endframe = grainframes - 1;
+                } else {
+                    if(maxskip > b_frames - grainframes){
+					  	grains[j].phase = granulesf_boundrand((float)minskip, (float) (b_frames - grainframes));
+					  	//post("1. minskip %d maxskip %d",minskip,b_frames - grainframes);
+                    } else {
+					  	grains[j].phase = granulesf_boundrand((float)minskip, (float)maxskip);
+					  	//post("2. minskip %d maxskip %d",minskip,maxskip);
+                    }
+                    grains[j].endframe = grains[j].phase + grainframes - 1;
+                }
+                
+                if( granulesf_boundrand(0.0,1.0) < retro_odds){//go backwards - make sure to test both boundaries
+				  	grains[j].si *= -1.0;
+				  	tmp = grains[j].phase;
+				  	grains[j].phase = grains[j].endframe;
+				  	grains[j].endframe = tmp;
+                }
+    			inserted = 1;
+                /*	post("startframe %f endframe %f increment %f e-incr %f grainframes %d bframes %d",
+                 grains[j].phase,grains[j].endframe,grains[j].si,grains[j].esi,grainframes, b_frames);*/
+    			
+    			goto nextgrain;
+    		}
+		}
+		if(! inserted){
+			error("granulesf~: could not insert grain");
+			return;
+		}
+    nextgrain: ;
+	}
+}
+
+void *granulesf_grain(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	short inserted;
+	int j;
+	float duration, incr, amplitude, pan;
+	t_grain *grains;
+	long eframes;
+	long frames;
+	float sr;
+	float skip;
+
+	grains = x->grains;
+	eframes = x->windowbuf->b_frames;
+	frames = x->wavebuf->b_frames;
+	sr = x->sr;
+	
+	if(argc < 5){
+		error("grain takes 5 arguments, not %d",argc);
+		post("duration increment amplitude pan skip(in ms)");
+		return 0;
+	}
+	duration = atom_getintarg(0,argc,argv);
+	incr = atom_getfloatarg(1,argc,argv); // in ms
+	amplitude = atom_getfloatarg(2,argc,argv);
+	pan = atom_getfloatarg(3,argc,argv);
+	skip = atom_getfloatarg(4,argc,argv) * .001 * sr;
+	if(skip < 0){
+		error("negative skip is illegal");
+		return 0;
+	}
+	if(skip >= frames){
+		error("skip exceeds length of buffer");
+		return 0;
+	}
+	if(incr == 0.0){
+		error("zero increment prohibited");
+		return 0;
+	}
+	if(duration <= 0.0){
+		error("illegal duration:%f",duration);
+		return 0;
+	}
+	if(pan < 0.0 || pan > 1.0){
+		error("illegal pan:%f",pan);
+		return 0;
+	}
+    inserted = 0;
+    for(j = 0; j < MAXGRAINS; j++ ){
+        if(!grains[j].active){
+            grains[j].delay = 0.0;// immediate deployment
+            grains[j].duration = (long) (.001 * x->sr * duration);
+            grains[j].phase = skip;
+            grains[j].ephase = 0.0;
+            grains[j].amplitude = amplitude * .707;
+            grains[j].panL = amplitude * cos(pan * PIOVERTWO);
+            grains[j].panR = amplitude * sin(pan * PIOVERTWO);
+            grains[j].esi =  (float)eframes / (float)grains[j].duration;
+            grains[j].si = incr;
+            grains[j].active = 1;
+            return 0;
+        }
+    }
+    
+    error("could not insert grain");
+    return 0;
+    
+}
+
+float granulesf_boundrand(float min, float max)
+{
+	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
+}
+
+
+void *granulesf_new(t_symbol *msg, short argc, t_atom *argv)
+{
+
+    t_granulesf *x = (t_granulesf *)pd_new(granulesf_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->wavebuf = (t_pdbuffer*)malloc(sizeof(t_pdbuffer));
+    x->windowbuf = (t_pdbuffer*)malloc(sizeof(t_pdbuffer));
+	srand(time(0)); //need "seed" message
+    
+	x->pitchscale = (float *) t_getbytes(MAXSCALE * sizeof(float));
+	x->grains = (t_grain *) t_getbytes(MAXGRAINS * sizeof(t_grain));
+	
+    
+	// default names
+	x->wavename = gensym("waveform");
+	x->windowname = gensym("window");
+
+    
+    // apparently Pd lacks this Max/MSP bug
+	x->wavename = atom_getsymbolarg(0,argc,argv);
+	x->windowname = atom_getsymbolarg(1,argc,argv);
+
+    
+	x->sr = sys_getsr();
+	if(! x->sr )
+		x->sr = 44100;
+    
+	granulesf_init(x,0);
+    
+    
+    return (x);
+}
+
+void granulesf_init(t_granulesf *x,short initialized)
+{
+	int i;
+	
+	if(!initialized){
+		x->pitchsteps = 0; // we could predefine a 12t scale
+		x->mute = 0;
+		x->steady = 0;
+		x->events = 1; // set to 10 LATER
+		x->horizon_ms = 1000;
+		x->min_incr = 0.5;
+		x->max_incr = 2.0;
+		x->minpan = .1;
+		x->maxpan = .9;
+		x->minamp = .1;
+		x->maxamp = 1.0;
+		x->mindur_ms = 150;
+		x->maxdur_ms = 750;
+		x->transpose = 1.0;
+		x->pitch_deviation = 0.0;
+		x->lowblock_increment = 0.0; // by default we do not block any increments
+		x->highblock_increment = 0.0; // ditto
+		x->constrain_scale = 0;
+		x->retro_odds = 0.5;// after testing, set this to zero
+		x->maxskip = -1;//flag to reset in setbuf SHOULD BE -1
+		x->nopan = 0;//panning is on by default
+		x->interpolate = 1;
+		x->interpolate_envelope = 0;
+	}
+	x->horizon = x->horizon_ms * .001 * x->sr;
+	x->mindur = x->mindur_ms * .001 * x->sr;
+	x->maxdur = x->maxdur_ms * .001 * x->sr;
+	for( i = 0; i < MAXGRAINS; i++ ){ // this is what we test for a legal place to insert grain
+		x->grains[i].active = 0;
+	}
+}
+
+void granulesf_info(t_granulesf *x)
+{
+	int tcount = 0;
+	t_grain *grains = x->grains;
+    //	long eframes = x->windowbuf->b_frames;
+	int i;
+	
+	for(i = 0; i < MAXGRAINS; i++ ){
+		if(grains[i].active)
+			++tcount;
+	}
+	post("%d active grains", tcount);
+	post("wavename %s", x->wavename->s_name);
+	post("windowname %s", x->windowname->s_name);
+	post("sample size: %d",x->wavebuf->b_frames);
+}
+
+
+void *granulesf_grist(t_granulesf *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	if(argc < 10 ){
+		error("grist takes 10 arguments:");
+		post("events horizon min_incr max_incr minpan maxpan minamp maxamp mindur maxdur");
+		return 0;
+	}
+	x->events = atom_getintarg(0,argc,argv);
+	x->horizon_ms = atom_getfloatarg(1,argc,argv);
+	x->min_incr = atom_getfloatarg(2,argc,argv);
+	x->max_incr = atom_getfloatarg(3,argc,argv);
+	x->minpan = atom_getfloatarg(4,argc,argv);
+	x->maxpan = atom_getfloatarg(5,argc,argv);
+	x->minamp = atom_getfloatarg(6,argc,argv);
+	x->maxamp = atom_getfloatarg(7,argc,argv);
+	x->mindur_ms = atom_getfloatarg(8,argc,argv);
+	x->maxdur_ms = atom_getfloatarg(9,argc,argv);
+	
+	x->mindur = .001 * x->sr * x->mindur_ms ;
+	x->maxdur = .001 * x->sr * x->maxdur_ms;
+	x->horizon = .001 * x->sr * x->horizon_ms;
+	
+	if(x->min_incr < 0){
+		x->min_incr *= -1.0;
+	}
+	if(x->max_incr < 0){
+		x->max_incr *= -1.0;
+	}
+	if(x->minpan < 0.0) {
+		x->minpan = 0.0;
+	}
+	if(x->maxpan > 1.0) {
+		x->maxpan = 1.0;
+	}
+	if(x->events < 0){
+		x->events = 0;
+	}
+	return 0;
+}
+
+
+void granulesf_reload(t_granulesf *x)
+{
+	granulesf_setbuf(x, x->wavename, x->windowname);
+}
+
+
+void granulesf_setbuf(t_granulesf *x, t_symbol *wavename, t_symbol *windowname)
+{
+    t_garray *a;
+    int frames;
+    
+    x->hosed = 0;
+    x->wavebuf->b_frames = 0;
+    x->windowbuf->b_frames = 0;
+    x->wavebuf->b_nchans = 1;//unused, should kill
+    x->windowbuf->b_nchans = 1;  //unused, should kill
+    x->b_nchans = 1;
+    
+    /* load up sample array */
+    if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+        if (*wavename->s_name) pd_error(x, "granulesf~: %s: no such array", wavename->s_name);
+        x->hosed = 1;
+    }
+    else if (!garray_getfloatwords(a, &frames, &x->wavebuf->b_samples)) {
+        pd_error(x, "%s: bad template for granulesf~", wavename->s_name);
+        x->hosed = 1;
+    }
+    else  {
+        x->wavebuf->b_frames = frames;
+        x->b_nchans = 1; // Pd buffers are always mono (so far)
+        garray_usedindsp(a);
+    }
+    
+    /* load up envelope array*/
+    if (!(a = (t_garray *)pd_findbyclass(windowname, garray_class))) {
+        if (*wavename->s_name) pd_error(x, "granulesf~: %s: no such array", windowname->s_name);
+        x->hosed = 1;
+    }
+    else if (!garray_getfloatwords(a, &frames, &x->windowbuf->b_samples)) {
+        pd_error(x, "%s: bad template for granulesf~", windowname->s_name);
+        x->hosed = 1;
+    }
+    else  {
+        x->windowbuf->b_frames = frames;
+        garray_usedindsp(a);
+    }
+    
+    x->maxskip = x->wavebuf->b_frames - 1;
+}
+
+
+t_int *granulesf_performhose(t_int *w)
+{
+    //	t_granulesf *x = (t_granulesf *) (w[1]);
+	float *outputL = (t_float *)(w[3]);
+	float *outputR = (t_float *)(w[4]);
+	int n = (int) w[5];
+	while(n--) *outputL++ = *outputR++ = 0;
+	return (w+6);
+}
+
+t_int *granulesf_perform_no_interpolation(t_int *w)
+{
+	t_granulesf *x = (t_granulesf *) (w[1]);
+    //	float *in = (t_float *)(w[2]); // ignoring input
+	float *outputL = (t_float *)(w[3]);
+	float *outputR = (t_float *)(w[4]);
+	int n = (int) w[5];
+
+	t_pdbuffer *wavebuf = x->wavebuf;
+	t_pdbuffer *windowbuf = x->windowbuf;
+	t_word *wavetable = wavebuf->b_samples;
+	t_word *window = windowbuf->b_samples;
+	t_grain *grains = x->grains;
+	long b_nchans = x->b_nchans;
+	long b_frames = wavebuf->b_frames;
+	short nopan = x->nopan;
+	float sample1, sample2;
+	float envelope;
+	float amplitude;
+	float panL, panR;
+	float si;
+	float esi;
+	float phase;
+	float ephase;
+	long delay;
+	long eframes = windowbuf->b_frames;
+	long current_index;
+	int i,j;
+	
+    
+	/* grain parameters */
+    
+    
+	if( x->mute ){
+		while(n--) *outputL++ = *outputR++ = 0;
+		return (w+6);
+	}
+    
+    // pre-clean buffer
+	for( i = 0; i < n; i++ ){
+		outputL[i] = outputR[i] = 0;
+	}
+    
+	for (j=0; j<MAXGRAINS; j++) {
+        
+		if(!grains[j].active){
+			goto nextgrain;
+		}
+		amplitude = grains[j].amplitude;
+		si =  grains[j].si;
+		esi = grains[j].esi;
+		phase =  grains[j].phase;
+		ephase = grains[j].ephase;
+		delay =  grains[j].delay;
+		panL = grains[j].panL;
+		panR = grains[j].panR;
+        
+		
+		for(i = 0; i < n; i++ ){
+			if( delay > 0 ){
+				--delay;
+			}
+			if( delay <= 0 && ephase < eframes){
+                
+				envelope = amplitude * window[(int)ephase].w_float;// interpolate please!
+				
+				if(b_nchans == 1){
+					sample1 = wavetable[(int)phase].w_float;
+					sample1 *= envelope;
+					if(nopan){
+						sample1 *= amplitude; // center it
+						outputL[i] += sample1;
+						outputR[i] += sample1;
+					} else {
+						outputL[i] += panL * sample1;
+						outputR[i] += panR * sample1;
+					}
+				} else if(b_nchans == 2){
+                    if(phase < 0 || phase >= b_frames){
+                        error("phase %f is out of bounds",phase);
+                        goto nextgrain;
+                    }
+					current_index = (long)(phase * 2.0);
+					sample1 = wavetable[current_index].w_float;
+					sample2 = wavetable[current_index+1].w_float;
+					sample1 *= envelope;
+					sample2 *= envelope;
+					if(nopan){
+						outputL[i] += sample1 * amplitude;
+						outputR[i] += sample2 * amplitude;
+					} else {
+						outputL[i] += panL * sample1;
+						outputR[i] += panR * sample2;
+					}
+				}
+                
+                /*this will be gritty so be sure to interpolate both envelope and sample-lookup */
+				
+                
+				phase += si;
+				if(phase < 0 || phase >= b_frames){
+					error("phase %f out of bounds",phase);
+					grains[j].active = 0;
+					goto nextgrain;
+				}
+				ephase += esi;
+                
+                
+				if( ephase >= eframes ){
+					grains[j].active = 0;
+					goto nextgrain; // must escape loop now
+				}
+                
+			}
+		}
+		grains[j].phase = phase;
+		grains[j].ephase = ephase;
+		grains[j].delay = delay;
+		
+    nextgrain: ;
+	}
+    
+	return (w+6);
+}
+
+t_int *granulesf_perform(t_int *w)
+{
+	t_granulesf *x = (t_granulesf *) (w[1]);
+    //	float *in = (t_float *)(w[2]); // ignoring input
+	float *outputL = (t_float *)(w[3]);
+	float *outputR = (t_float *)(w[4]);
+	int n = (int) w[5];
+
+	t_pdbuffer *wavebuf = x->wavebuf;
+	t_pdbuffer *windowbuf = x->windowbuf;
+	t_word *wavetable = wavebuf->b_samples;
+	t_word *window = windowbuf->b_samples;
+	t_grain *grains = x->grains;
+	long b_nchans = x->b_nchans;
+	long b_frames = wavebuf->b_frames;
+	short nopan = x->nopan;
+	short interpolate_envelope = x->interpolate_envelope;
+	float sample1, sample2;
+	float envelope;
+	float amplitude;
+	float panL, panR;
+	float si;
+	float esi;
+	float phase;
+	float ephase;
+	long delay;
+	long eframes = windowbuf->b_frames;
+	long current_index;
+	float tsmp1, tsmp2;
+	float frac;
+	int i,j;
+	
+	if( x->mute ){
+		while(n--) *outputL++ = *outputR++ = 0;
+		return (w+6);
+	}
+    
+    // pre-clean buffer
+	for( i = 0; i < n; i++ ){
+		outputL[i] = outputR[i] = 0;
+	}
+    
+	for (j=0; j<MAXGRAINS; j++) {
+        
+		if(!grains[j].active){
+			goto nextgrain;
+		}
+		amplitude = grains[j].amplitude;
+		si =  grains[j].si;
+		esi = grains[j].esi;
+		phase =  grains[j].phase;
+		ephase = grains[j].ephase;
+		delay =  grains[j].delay;
+		panL = grains[j].panL;
+		panR = grains[j].panR;
+        
+		
+		for(i = 0; i < n; i++ ){
+			if( delay > 0 ){
+				--delay;
+			}
+			if( delay <= 0 && ephase < eframes){
+                
+                if(interpolate_envelope){
+                    current_index = floor((double)ephase);
+                    frac = ephase - current_index;
+                    if(current_index == 0 || current_index == eframes - 1 || frac == 0.0){// boundary conditions
+                        envelope = window[current_index].w_float;
+                    } else {
+                        tsmp1 = window[current_index].w_float;
+                        tsmp2 = window[current_index + 1].w_float;
+                        envelope = tsmp1 + frac * (tsmp2 - tsmp1);
+                    }
+                } else {
+					// envelope = amplitude * window[(int)ephase];
+					envelope = window[(int)ephase].w_float;// amplitude built into panL and panR
+				}
+				if(b_nchans == 1){
+                    if(phase < 0 || phase >= b_frames){
+                        error("phase %f is out of bounds",phase);
+                        goto nextgrain;
+                    }
+                    current_index = floor((double)phase);
+                    frac = phase - current_index;
+                    if(current_index == 0 || current_index == b_frames - 1 || frac == 0.0){// boundary conditions
+                        sample1 = wavetable[current_index].w_float;
+                    } else {
+                        tsmp1 = wavetable[current_index].w_float;
+                        tsmp2 = wavetable[current_index + 1].w_float;
+                        sample1 = tsmp1 + frac * (tsmp2 - tsmp1);
+                    }
+					sample1 *= envelope;
+					if(nopan){
+						sample1 *= amplitude; // center it
+						/* accumulate grain samples into output buffer */
+						outputL[i] += sample1;
+						outputR[i] += sample1;
+					} else {
+						outputL[i] += panL * sample1;
+						outputR[i] += panR * sample1;
+					}
+				} else if(b_nchans == 2){
+                    if(phase < 0 || phase >= b_frames){
+                        error("phase %f is out of bounds",phase);
+                        goto nextgrain;
+                    }
+                    current_index = floor((double)phase);
+                    frac = phase - current_index;
+                    current_index <<= 1;// double it
+					if(current_index == 0 || current_index == b_frames - 1 || frac == 0.0){
+						sample1 = wavetable[current_index].w_float;
+						sample2 = wavetable[current_index+1].w_float;
+					} else {
+                        tsmp1 = wavetable[current_index].w_float;
+                        tsmp2 = wavetable[current_index + 2].w_float;
+                        sample1 = tsmp1 + frac * (tsmp2 - tsmp1);
+                        tsmp1 = wavetable[current_index + 1].w_float;
+                        tsmp2 = wavetable[current_index + 3].w_float;
+                        sample2 = tsmp1 + frac * (tsmp2 - tsmp1);
+					}
+                    
+					sample1 *= envelope;
+					sample2 *= envelope;
+					
+					if(nopan){
+						outputL[i] += sample1 * amplitude;
+						outputR[i] += sample2 * amplitude;
+					} else {
+						outputL[i] += panL * sample1;
+						outputR[i] += panR * sample2;
+					}
+				}
+				
+				phase += si;
+				if(phase < 0 || phase >= b_frames){
+					error("phase %f out of bounds",phase);
+					grains[j].active = 0;
+					goto nextgrain;
+				}
+				ephase += esi;
+                
+                
+				if( ephase >= eframes ){
+					grains[j].active = 0;
+					goto nextgrain; // must escape loop now
+				}
+                
+			} 
+		} 		
+		grains[j].phase = phase;
+		grains[j].ephase = ephase;
+		grains[j].delay = delay;
+		
+    nextgrain: ;
+	}
+	return (w+6);
+}
+
+void granulesf_dsp_free(t_granulesf *x)
+{
+	t_freebytes(x->grains, MAXGRAINS * sizeof(t_grain));
+	t_freebytes(x->pitchscale, MAXSCALE * sizeof(float));
+}
+
+void granulesf_dsp(t_granulesf *x, t_signal **sp)
+{
+    
+	granulesf_reload(x);
+	
+	if( x->hosed ){
+		post("You need some valid buffers");
+		dsp_add(granulesf_performhose, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+		return;
+	}
+	if( x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		if( !x->sr ){
+			post("warning: zero sampling rate!");
+			x->sr = 44100;
+		}
+		granulesf_init(x,1);
+	} 
+	if(x->interpolate){
+		dsp_add(granulesf_perform, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+	} else {
+		dsp_add(granulesf_perform_no_interpolation, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+	}
+}
+
diff --git a/externals/lyonpotpourri/granule~-help.pd b/externals/lyonpotpourri/granule~-help.pd
new file mode 100755
index 000000000..76c0ff9f1
--- /dev/null
+++ b/externals/lyonpotpourri/granule~-help.pd
@@ -0,0 +1,2387 @@
+#N canvas 205 39 516 500 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array waveform 8192 float 3;
+#A 0 0 0.00262835 0.00525669 0.00788498 0.0105132 0.0131414 0.0157695
+0.0183974 0.0210252 0.0236529 0.0262804 0.0289077 0.0315348 0.0341617
+0.0367883 0.0394147 0.0420408 0.0446666 0.047292 0.0499172 0.0525419
+0.0551663 0.0577903 0.0604139 0.063037 0.0656597 0.0682819 0.0709036
+0.0735248 0.0761455 0.0787656 0.0813852 0.0840042 0.0866226 0.0892403
+0.0918574 0.0944739 0.0970896 0.0997047 0.102319 0.104933 0.107546
+0.110158 0.112769 0.115379 0.117989 0.120598 0.123206 0.125813 0.128419
+0.131024 0.133629 0.136232 0.138834 0.141436 0.144036 0.146635 0.149234
+0.151831 0.154427 0.157022 0.159616 0.162208 0.1648 0.16739 0.169979
+0.172567 0.175154 0.177739 0.180323 0.182906 0.185488 0.188068 0.190647
+0.193224 0.195801 0.198375 0.200948 0.20352 0.206091 0.20866 0.211227
+0.213793 0.216357 0.21892 0.221481 0.224041 0.226599 0.229155 0.23171
+0.234263 0.236814 0.239364 0.241912 0.244458 0.247003 0.249546 0.252086
+0.254626 0.257163 0.259698 0.262232 0.264764 0.267293 0.269821 0.272347
+0.274871 0.277393 0.279913 0.282432 0.284948 0.287462 0.289973 0.292483
+0.294991 0.297497 0.3 0.302502 0.305001 0.307498 0.309993 0.312485
+0.314976 0.317464 0.319949 0.322433 0.324914 0.327393 0.32987 0.332344
+0.334816 0.337285 0.339752 0.342217 0.344679 0.347139 0.349596 0.35205
+0.354503 0.356952 0.359399 0.361844 0.364286 0.366725 0.369162 0.371596
+0.374027 0.376456 0.378882 0.381306 0.383726 0.386144 0.388559 0.390972
+0.393381 0.395788 0.398192 0.400593 0.402991 0.405387 0.407779 0.410169
+0.412555 0.414939 0.41732 0.419698 0.422072 0.424444 0.426813 0.429179
+0.431541 0.433901 0.436257 0.438611 0.440961 0.443308 0.445652 0.447993
+0.45033 0.452665 0.454996 0.457324 0.459649 0.46197 0.464288 0.466603
+0.468915 0.471223 0.473528 0.475829 0.478127 0.480422 0.482713 0.485001
+0.487285 0.489566 0.491844 0.494118 0.496388 0.498655 0.500919 0.503179
+0.505435 0.507688 0.509937 0.512182 0.514424 0.516662 0.518897 0.521128
+0.523355 0.525578 0.527798 0.530014 0.532226 0.534435 0.53664 0.53884
+0.541038 0.543231 0.54542 0.547606 0.549788 0.551965 0.554139 0.556309
+0.558475 0.560637 0.562796 0.56495 0.5671 0.569246 0.571388 0.573526
+0.575661 0.577791 0.579917 0.582038 0.584156 0.58627 0.588379 0.590485
+0.592586 0.594683 0.596776 0.598864 0.600949 0.603029 0.605105 0.607176
+0.609244 0.611307 0.613366 0.61542 0.61747 0.619516 0.621558 0.623595
+0.625628 0.627656 0.62968 0.631699 0.633714 0.635725 0.637731 0.639733
+0.64173 0.643723 0.645711 0.647694 0.649673 0.651648 0.653618 0.655583
+0.657544 0.6595 0.661452 0.663399 0.665341 0.667279 0.669212 0.67114
+0.673064 0.674983 0.676897 0.678806 0.680711 0.682611 0.684506 0.686396
+0.688282 0.690163 0.692039 0.69391 0.695776 0.697638 0.699494 0.701346
+0.703193 0.705035 0.706872 0.708704 0.710531 0.712353 0.714171 0.715983
+0.71779 0.719593 0.72139 0.723182 0.72497 0.726752 0.728529 0.730301
+0.732068 0.73383 0.735587 0.737339 0.739086 0.740827 0.742564 0.744295
+0.746021 0.747742 0.749458 0.751168 0.752874 0.754574 0.756269 0.757959
+0.759643 0.761322 0.762996 0.764665 0.766328 0.767986 0.769639 0.771287
+0.772929 0.774566 0.776197 0.777823 0.779444 0.78106 0.78267 0.784274
+0.785873 0.787467 0.789056 0.790639 0.792216 0.793788 0.795355 0.796916
+0.798472 0.800022 0.801567 0.803106 0.80464 0.806168 0.807691 0.809208
+0.810719 0.812225 0.813726 0.81522 0.81671 0.818194 0.819672 0.821144
+0.822611 0.824072 0.825528 0.826978 0.828422 0.829861 0.831294 0.832721
+0.834143 0.835559 0.836969 0.838374 0.839773 0.841166 0.842553 0.843935
+0.845311 0.846681 0.848045 0.849404 0.850757 0.852104 0.853445 0.854781
+0.85611 0.857434 0.858752 0.860065 0.861371 0.862672 0.863966 0.865255
+0.866538 0.867815 0.869087 0.870352 0.871612 0.872865 0.874113 0.875355
+0.876591 0.877821 0.879045 0.880263 0.881475 0.882682 0.883882 0.885076
+0.886265 0.887447 0.888624 0.889794 0.890959 0.892117 0.89327 0.894416
+0.895557 0.896691 0.89782 0.898942 0.900059 0.901169 0.902274 0.903372
+0.904464 0.90555 0.906631 0.907705 0.908773 0.909835 0.910891 0.911941
+0.912984 0.914022 0.915054 0.916079 0.917098 0.918112 0.919119 0.92012
+0.921115 0.922103 0.923086 0.924062 0.925033 0.925997 0.926955 0.927907
+0.928853 0.929792 0.930726 0.931653 0.932574 0.933489 0.934398 0.935301
+0.936197 0.937087 0.937971 0.938849 0.939721 0.940586 0.941445 0.942298
+0.943145 0.943986 0.94482 0.945648 0.94647 0.947286 0.948096 0.948899
+0.949696 0.950487 0.951271 0.95205 0.952822 0.953588 0.954347 0.955101
+0.955848 0.956589 0.957323 0.958052 0.958774 0.95949 0.960199 0.960903
+0.9616 0.962291 0.962975 0.963654 0.964325 0.964991 0.965651 0.966304
+0.966951 0.967591 0.968226 0.968854 0.969476 0.970091 0.9707 0.971303
+0.9719 0.97249 0.973074 0.973652 0.974224 0.974789 0.975348 0.975901
+0.976447 0.976987 0.977521 0.978049 0.97857 0.979085 0.979593 0.980096
+0.980592 0.981082 0.981565 0.982042 0.982513 0.982978 0.983436 0.983888
+0.984334 0.984773 0.985206 0.985633 0.986054 0.986468 0.986876 0.987278
+0.987674 0.988063 0.988446 0.988822 0.989193 0.989557 0.989915 0.990266
+0.990612 0.990951 0.991283 0.99161 0.99193 0.992244 0.992552 0.992853
+0.993148 0.993437 0.993719 0.993996 0.994266 0.99453 0.994787 0.995039
+0.995284 0.995523 0.995755 0.995982 0.996202 0.996416 0.996624 0.996825
+0.99702 0.997209 0.997392 0.997569 0.997739 0.997903 0.998061 0.998213
+0.998358 0.998498 0.998631 0.998758 0.998878 0.998993 0.999101 0.999203
+0.999299 0.999389 0.999473 0.99955 0.999622 0.999687 0.999746 0.999798
+0.999845 0.999886 0.99992 0.999948 0.99997 0.999986 0.999996 1 0.999998
+0.999989 0.999974 0.999954 0.999927 0.999894 0.999855 0.99981 0.999759
+0.999701 0.999638 0.999569 0.999493 0.999412 0.999324 0.99923 0.999131
+0.999025 0.998913 0.998795 0.998672 0.998542 0.998406 0.998264 0.998116
+0.997962 0.997802 0.997636 0.997464 0.997287 0.997103 0.996913 0.996717
+0.996516 0.996308 0.996094 0.995875 0.995649 0.995418 0.995181 0.994938
+0.994688 0.994433 0.994172 0.993906 0.993633 0.993354 0.99307 0.99278
+0.992483 0.992182 0.991874 0.99156 0.99124 0.990915 0.990584 0.990247
+0.989904 0.989556 0.989201 0.988841 0.988475 0.988103 0.987726 0.987343
+0.986954 0.986559 0.986158 0.985752 0.98534 0.984923 0.9845 0.98407
+0.983636 0.983195 0.982749 0.982298 0.98184 0.981377 0.980909 0.980434
+0.979954 0.979469 0.978978 0.978481 0.977979 0.977471 0.976957 0.976438
+0.975913 0.975383 0.974847 0.974306 0.973759 0.973207 0.972649 0.972086
+0.971517 0.970942 0.970363 0.969777 0.969187 0.96859 0.967989 0.967382
+0.966769 0.966151 0.965528 0.964899 0.964265 0.963625 0.962981 0.96233
+0.961675 0.961014 0.960348 0.959676 0.958999 0.958317 0.957629 0.956937
+0.956239 0.955535 0.954827 0.954113 0.953394 0.952669 0.95194 0.951205
+0.950465 0.94972 0.94897 0.948214 0.947454 0.946688 0.945917 0.945141
+0.944359 0.943573 0.942782 0.941985 0.941184 0.940377 0.939565 0.938749
+0.937927 0.9371 0.936268 0.935431 0.934589 0.933743 0.932891 0.932034
+0.931172 0.930306 0.929434 0.928558 0.927676 0.92679 0.925898 0.925002
+0.924101 0.923196 0.922285 0.921369 0.920449 0.919524 0.918594 0.917659
+0.91672 0.915775 0.914826 0.913873 0.912914 0.911951 0.910983 0.91001
+0.909033 0.908051 0.907064 0.906073 0.905077 0.904076 0.903071 0.902061
+0.901047 0.900028 0.899004 0.897976 0.896943 0.895906 0.894864 0.893818
+0.892767 0.891712 0.890652 0.889588 0.888519 0.887446 0.886369 0.885287
+0.8842 0.883109 0.882014 0.880915 0.879811 0.878703 0.87759 0.876473
+0.875352 0.874227 0.873097 0.871963 0.870825 0.869682 0.868536 0.867385
+0.86623 0.86507 0.863907 0.862739 0.861567 0.860391 0.859211 0.858027
+0.856839 0.855646 0.85445 0.853249 0.852045 0.850836 0.849623 0.848406
+0.847186 0.845961 0.844732 0.8435 0.842263 0.841023 0.839778 0.83853
+0.837278 0.836022 0.834762 0.833498 0.83223 0.830959 0.829683 0.828404
+0.827121 0.825835 0.824544 0.82325 0.821952 0.82065 0.819345 0.818036
+0.816723 0.815407 0.814087 0.812763 0.811436 0.810105 0.80877 0.807432
+0.80609 0.804745 0.803396 0.802044 0.800688 0.799329 0.797966 0.796599
+0.79523 0.793856 0.79248 0.7911 0.789716 0.788329 0.786939 0.785545
+0.784148 0.782748 0.781344 0.779937 0.778527 0.777113 0.775697 0.774277
+0.772853 0.771427 0.769997 0.768564 0.767128 0.765689 0.764246 0.762801
+0.761352 0.7599 0.758445 0.756987 0.755526 0.754062 0.752595 0.751125
+0.749652 0.748175 0.746696 0.745214 0.743729 0.742241 0.74075 0.739256
+0.737759 0.73626 0.734757 0.733252 0.731744 0.730233 0.728719 0.727202
+0.725683 0.724161 0.722636 0.721108 0.719578 0.718045 0.716509 0.71497
+0.713429 0.711885 0.710339 0.70879 0.707238 0.705684 0.704127 0.702568
+0.701006 0.699442 0.697875 0.696305 0.694733 0.693159 0.691582 0.690003
+0.688421 0.686837 0.68525 0.683661 0.68207 0.680476 0.67888 0.677282
+0.675681 0.674078 0.672473 0.670866 0.669256 0.667644 0.66603 0.664413
+0.662795 0.661174 0.659551 0.657926 0.656299 0.65467 0.653038 0.651405
+0.649769 0.648131 0.646492 0.64485 0.643206 0.64156 0.639913 0.638263
+0.636611 0.634958 0.633302 0.631645 0.629985 0.628324 0.626661 0.624996
+0.62333 0.621661 0.619991 0.618318 0.616645;
+#A 1000 0.614969 0.613292 0.611612 0.609931 0.608249 0.606565 0.604879
+0.603191 0.601502 0.599811 0.598118 0.596424 0.594729 0.593032 0.591333
+0.589632 0.587931 0.586227 0.584522 0.582816 0.581108 0.579399 0.577689
+0.575976 0.574263 0.572548 0.570832 0.569114 0.567395 0.565675 0.563954
+0.562231 0.560507 0.558781 0.557054 0.555327 0.553597 0.551867 0.550136
+0.548403 0.546669 0.544934 0.543198 0.54146 0.539722 0.537983 0.536242
+0.5345 0.532758 0.531014 0.529269 0.527523 0.525777 0.524029 0.52228
+0.520531 0.51878 0.517029 0.515276 0.513523 0.511769 0.510014 0.508258
+0.506502 0.504744 0.502986 0.501227 0.499467 0.497707 0.495946 0.494184
+0.492421 0.490658 0.488893 0.487129 0.485363 0.483597 0.481831 0.480063
+0.478296 0.476527 0.474758 0.472989 0.471218 0.469448 0.467677 0.465905
+0.464133 0.462361 0.460588 0.458814 0.45704 0.455266 0.453491 0.451716
+0.449941 0.448165 0.446389 0.444613 0.442836 0.441059 0.439282 0.437504
+0.435727 0.433949 0.43217 0.430392 0.428613 0.426835 0.425056 0.423277
+0.421497 0.419718 0.417938 0.416159 0.414379 0.4126 0.41082 0.40904
+0.40726 0.40548 0.4037 0.401921 0.400141 0.398361 0.396581 0.394802
+0.393022 0.391243 0.389464 0.387685 0.385905 0.384127 0.382348 0.380569
+0.378791 0.377013 0.375235 0.373457 0.37168 0.369903 0.368126 0.36635
+0.364573 0.362797 0.361022 0.359246 0.357472 0.355697 0.353923 0.352149
+0.350376 0.348603 0.346831 0.345059 0.343287 0.341516 0.339746 0.337976
+0.336206 0.334437 0.332669 0.330901 0.329134 0.327367 0.325601 0.323835
+0.32207 0.320306 0.318543 0.31678 0.315018 0.313256 0.311495 0.309735
+0.307976 0.306217 0.304459 0.302702 0.300946 0.29919 0.297435 0.295682
+0.293928 0.292176 0.290425 0.288674 0.286925 0.285176 0.283428 0.281681
+0.279935 0.27819 0.276446 0.274703 0.272961 0.27122 0.26948 0.267741
+0.266003 0.264266 0.26253 0.260795 0.259061 0.257328 0.255597 0.253866
+0.252137 0.250409 0.248682 0.246956 0.245231 0.243507 0.241785 0.240064
+0.238344 0.236626 0.234908 0.233192 0.231477 0.229764 0.228051 0.22634
+0.224631 0.222922 0.221215 0.21951 0.217806 0.216103 0.214401 0.212701
+0.211003 0.209305 0.20761 0.205915 0.204222 0.202531 0.200841 0.199153
+0.197466 0.19578 0.194096 0.192414 0.190733 0.189054 0.187376 0.1857
+0.184026 0.182353 0.180682 0.179012 0.177344 0.175678 0.174013 0.17235
+0.170689 0.169029 0.167371 0.165715 0.16406 0.162408 0.160757 0.159107
+0.15746 0.155814 0.15417 0.152528 0.150888 0.149249 0.147613 0.145978
+0.144345 0.142714 0.141084 0.139457 0.137831 0.136208 0.134586 0.132966
+0.131349 0.129733 0.128119 0.126507 0.124897 0.123289 0.121683 0.120079
+0.118477 0.116877 0.115279 0.113683 0.112089 0.110497 0.108908 0.10732
+0.105734 0.104151 0.10257 0.10099 0.0994133 0.0978384 0.0962655 0.0946949
+0.0931263 0.09156 0.0899959 0.0884339 0.0868741 0.0853166 0.0837613
+0.0822082 0.0806573 0.0791087 0.0775624 0.0760183 0.0744765 0.0729369
+0.0713997 0.0698647 0.0683321 0.0668018 0.0652738 0.0637482 0.0622248
+0.0607039 0.0591853 0.0576691 0.0561552 0.0546438 0.0531347 0.051628
+0.0501238 0.048622 0.0471225 0.0456256 0.0441311 0.042639 0.0411494
+0.0396623 0.0381776 0.0366954 0.0352157 0.0337386 0.0322639 0.0307917
+0.0293221 0.027855 0.0263905 0.0249285 0.023469 0.0220122 0.0205579
+0.0191061 0.017657 0.0162105 0.0147665 0.0133252 0.0118865 0.0104504
+0.00901695 0.00758612 0.00615795 0.00473244 0.00330959 0.0018894 0.000471906
+-0.00094293 -0.00235504 -0.00376449 -0.00517121 -0.00657521 -0.00797651
+-0.0093751 -0.0107709 -0.012164 -0.0135544 -0.014942 -0.0163268 -0.0177089
+-0.0190882 -0.0204647 -0.0218384 -0.0232094 -0.0245775 -0.0259428 -0.0273054
+-0.0286651 -0.030022 -0.031376 -0.0327272 -0.0340756 -0.035421 -0.0367637
+-0.0381035 -0.0394404 -0.0407745 -0.0421056 -0.0434339 -0.0447593 -0.0460817
+-0.0474013 -0.048718 -0.0500317 -0.0513425 -0.0526504 -0.0539554 -0.0552574
+-0.0565565 -0.0578526 -0.0591457 -0.0604359 -0.0617231 -0.0630074 -0.0642887
+-0.065567 -0.0668423 -0.0681145 -0.0693838 -0.0706501 -0.0719134 -0.0731736
+-0.0744309 -0.0756851 -0.0769363 -0.0781844 -0.0794295 -0.0806716 -0.0819105
+-0.0831465 -0.0843793 -0.0856092 -0.0868359 -0.0880595 -0.0892801 -0.0904976
+-0.091712 -0.0929233 -0.0941315 -0.0953366 -0.0965386 -0.0977375 -0.0989332
+-0.100126 -0.101315 -0.102502 -0.103685 -0.104865 -0.106042 -0.107216
+-0.108386 -0.109554 -0.110718 -0.111879 -0.113037 -0.114192 -0.115344
+-0.116492 -0.117638 -0.11878 -0.119919 -0.121054 -0.122187 -0.123316
+-0.124442 -0.125565 -0.126685 -0.127801 -0.128914 -0.130024 -0.131131
+-0.132235 -0.133335 -0.134432 -0.135526 -0.136616 -0.137704 -0.138788
+-0.139869 -0.140946 -0.142021 -0.143092 -0.144159 -0.145224 -0.146285
+-0.147343 -0.148398 -0.149449 -0.150497 -0.151542 -0.152583 -0.153622
+-0.154657 -0.155688 -0.156717 -0.157742 -0.158763 -0.159782 -0.160797
+-0.161809 -0.162817 -0.163822 -0.164824 -0.165823 -0.166818 -0.16781
+-0.168798 -0.169784 -0.170765 -0.171744 -0.172719 -0.173691 -0.174659
+-0.175625 -0.176586 -0.177545 -0.1785 -0.179452 -0.1804 -0.181345 -0.182287
+-0.183226 -0.184161 -0.185092 -0.18602 -0.186945 -0.187867 -0.188785
+-0.1897 -0.190611 -0.19152 -0.192424 -0.193326 -0.194224 -0.195118
+-0.196009 -0.196897 -0.197782 -0.198663 -0.19954 -0.200415 -0.201286
+-0.202153 -0.203017 -0.203878 -0.204736 -0.20559 -0.20644 -0.207288
+-0.208131 -0.208972 -0.209809 -0.210643 -0.211473 -0.2123 -0.213123
+-0.213943 -0.21476 -0.215573 -0.216383 -0.21719 -0.217993 -0.218793
+-0.219589 -0.220382 -0.221172 -0.221958 -0.222741 -0.22352 -0.224296
+-0.225069 -0.225838 -0.226604 -0.227366 -0.228125 -0.228881 -0.229633
+-0.230382 -0.231127 -0.231869 -0.232608 -0.233343 -0.234075 -0.234804
+-0.235529 -0.23625 -0.236969 -0.237684 -0.238395 -0.239103 -0.239808
+-0.240509 -0.241207 -0.241902 -0.242593 -0.243281 -0.243965 -0.244647
+-0.245324 -0.245999 -0.246669 -0.247337 -0.248001 -0.248662 -0.249319
+-0.249973 -0.250624 -0.251271 -0.251915 -0.252556 -0.253193 -0.253827
+-0.254457 -0.255084 -0.255708 -0.256329 -0.256946 -0.257559 -0.25817
+-0.258777 -0.25938 -0.25998 -0.260577 -0.261171 -0.261761 -0.262348
+-0.262932 -0.263512 -0.264089 -0.264662 -0.265232 -0.265799 -0.266363
+-0.266923 -0.26748 -0.268033 -0.268583 -0.26913 -0.269674 -0.270214
+-0.270751 -0.271285 -0.271815 -0.272342 -0.272866 -0.273386 -0.273903
+-0.274417 -0.274928 -0.275435 -0.275939 -0.276439 -0.276937 -0.277431
+-0.277922 -0.278409 -0.278893 -0.279374 -0.279852 -0.280326 -0.280798
+-0.281265 -0.28173 -0.282191 -0.28265 -0.283105 -0.283556 -0.284005
+-0.28445 -0.284892 -0.28533 -0.285766 -0.286198 -0.286627 -0.287053
+-0.287475 -0.287895 -0.288311 -0.288724 -0.289133 -0.28954 -0.289943
+-0.290343 -0.29074 -0.291134 -0.291524 -0.291912 -0.292296 -0.292677
+-0.293055 -0.293429 -0.293801 -0.294169 -0.294534 -0.294896 -0.295255
+-0.295611 -0.295963 -0.296313 -0.296659 -0.297002 -0.297342 -0.297679
+-0.298013 -0.298344 -0.298671 -0.298996 -0.299317 -0.299635 -0.29995
+-0.300262 -0.300571 -0.300877 -0.30118 -0.30148 -0.301776 -0.30207
+-0.30236 -0.302648 -0.302932 -0.303214 -0.303492 -0.303767 -0.304039
+-0.304308 -0.304575 -0.304838 -0.305098 -0.305355 -0.305609 -0.30586
+-0.306108 -0.306353 -0.306595 -0.306834 -0.30707 -0.307303 -0.307533
+-0.307761 -0.307985 -0.308206 -0.308424 -0.308639 -0.308852 -0.309061
+-0.309268 -0.309471 -0.309672 -0.309869 -0.310064 -0.310256 -0.310445
+-0.310631 -0.310814 -0.310994 -0.311172 -0.311346 -0.311518 -0.311687
+-0.311852 -0.312015 -0.312175 -0.312333 -0.312487 -0.312639 -0.312787
+-0.312933 -0.313076 -0.313216 -0.313354 -0.313488 -0.31362 -0.313749
+-0.313875 -0.313999 -0.314119 -0.314237 -0.314352 -0.314465 -0.314574
+-0.314681 -0.314785 -0.314886 -0.314985 -0.31508 -0.315173 -0.315264
+-0.315351 -0.315436 -0.315518 -0.315598 -0.315675 -0.315749 -0.31582
+-0.315889 -0.315955 -0.316018 -0.316079 -0.316137 -0.316192 -0.316245
+-0.316295 -0.316342 -0.316387 -0.316429 -0.316469 -0.316506 -0.31654
+-0.316572 -0.316601 -0.316628 -0.316651 -0.316673 -0.316692 -0.316708
+-0.316722 -0.316733 -0.316741 -0.316747 -0.316751 -0.316752 -0.31675
+-0.316746 -0.31674 -0.316731 -0.316719 -0.316705 -0.316688 -0.316669
+-0.316648 -0.316624 -0.316597 -0.316568 -0.316537 -0.316503 -0.316467
+-0.316428 -0.316387 -0.316344 -0.316298 -0.316249 -0.316199 -0.316146
+-0.31609 -0.316032 -0.315972 -0.315909 -0.315844 -0.315777 -0.315707
+-0.315635 -0.315561 -0.315484 -0.315405 -0.315323 -0.31524 -0.315154
+-0.315065 -0.314975 -0.314882 -0.314787 -0.314689 -0.31459 -0.314488
+-0.314384 -0.314277 -0.314168 -0.314057 -0.313944 -0.313829 -0.313711
+-0.313592 -0.313469 -0.313345 -0.313219 -0.31309 -0.31296 -0.312827
+-0.312692 -0.312554 -0.312415 -0.312274 -0.31213 -0.311984 -0.311836
+-0.311686 -0.311534 -0.31138 -0.311224 -0.311065 -0.310905 -0.310742
+-0.310577 -0.310411 -0.310242 -0.310071 -0.309898 -0.309724 -0.309547
+-0.309368 -0.309187 -0.309004 -0.308819 -0.308632 -0.308443 -0.308252
+-0.308059 -0.307865 -0.307668 -0.307469 -0.307268 -0.307066 -0.306861
+-0.306655 -0.306446 -0.306236 -0.306024 -0.30581 -0.305594 -0.305376
+-0.305156 -0.304934 -0.304711 -0.304485 -0.304258 -0.304029 -0.303798
+-0.303566 -0.303331 -0.303095 -0.302856 -0.302617 -0.302375 -0.302131
+-0.301886 -0.301639 -0.30139 -0.301139 -0.300887 -0.300633 -0.300377
+-0.300119 -0.29986 -0.299599 -0.299336 -0.299072 -0.298806 -0.298538
+-0.298268 -0.297997 -0.297724 -0.29745 -0.297173 -0.296896 -0.296616
+-0.296335 -0.296052 -0.295768 -0.295482 -0.295194 -0.294905 -0.294614
+-0.294322 -0.294028 -0.293733 -0.293436 -0.293137 -0.292837 -0.292535
+-0.292232 -0.291927 -0.291621 -0.291313 -0.291003 -0.290693 -0.29038
+-0.290066 -0.289751 -0.289434 -0.289116 -0.288796 -0.288475 -0.288153
+-0.287829 -0.287503 -0.287176 -0.286848 -0.286518 -0.286187 -0.285854
+-0.28552 -0.285185 -0.284848 -0.28451 -0.284171 -0.28383 -0.283488
+-0.283145 -0.2828 -0.282454 -0.282106;
+#A 2000 -0.281757 -0.281407 -0.281056 -0.280703 -0.280349 -0.279994
+-0.279637 -0.27928 -0.278921 -0.27856 -0.278199 -0.277836 -0.277472
+-0.277107 -0.27674 -0.276372 -0.276004 -0.275633 -0.275262 -0.27489
+-0.274516 -0.274141 -0.273765 -0.273388 -0.27301 -0.27263 -0.27225
+-0.271868 -0.271485 -0.271101 -0.270716 -0.27033 -0.269943 -0.269555
+-0.269165 -0.268775 -0.268383 -0.267991 -0.267597 -0.267202 -0.266806
+-0.266409 -0.266012 -0.265613 -0.265213 -0.264812 -0.26441 -0.264007
+-0.263603 -0.263199 -0.262793 -0.262386 -0.261978 -0.261569 -0.26116
+-0.260749 -0.260338 -0.259925 -0.259512 -0.259097 -0.258682 -0.258266
+-0.257849 -0.257431 -0.257012 -0.256593 -0.256172 -0.255751 -0.255329
+-0.254905 -0.254481 -0.254057 -0.253631 -0.253205 -0.252777 -0.252349
+-0.25192 -0.251491 -0.25106 -0.250629 -0.250197 -0.249764 -0.249331
+-0.248896 -0.248461 -0.248025 -0.247589 -0.247151 -0.246713 -0.246275
+-0.245835 -0.245395 -0.244954 -0.244513 -0.24407 -0.243627 -0.243184
+-0.242739 -0.242294 -0.241849 -0.241403 -0.240956 -0.240508 -0.24006
+-0.239611 -0.239162 -0.238711 -0.238261 -0.23781 -0.237358 -0.236905
+-0.236452 -0.235998 -0.235544 -0.23509 -0.234634 -0.234178 -0.233722
+-0.233265 -0.232807 -0.232349 -0.231891 -0.231432 -0.230972 -0.230512
+-0.230051 -0.22959 -0.229129 -0.228667 -0.228204 -0.227741 -0.227278
+-0.226814 -0.226349 -0.225885 -0.225419 -0.224954 -0.224487 -0.224021
+-0.223554 -0.223086 -0.222619 -0.22215 -0.221682 -0.221213 -0.220744
+-0.220274 -0.219804 -0.219333 -0.218862 -0.218391 -0.21792 -0.217448
+-0.216975 -0.216503 -0.21603 -0.215557 -0.215083 -0.214609 -0.214135
+-0.213661 -0.213186 -0.212711 -0.212236 -0.21176 -0.211284 -0.210808
+-0.210332 -0.209855 -0.209378 -0.208901 -0.208424 -0.207946 -0.207469
+-0.206991 -0.206512 -0.206034 -0.205555 -0.205076 -0.204597 -0.204118
+-0.203639 -0.203159 -0.202679 -0.202199 -0.201719 -0.201239 -0.200758
+-0.200278 -0.199797 -0.199316 -0.198835 -0.198354 -0.197873 -0.197391
+-0.19691 -0.196428 -0.195946 -0.195465 -0.194983 -0.194501 -0.194019
+-0.193537 -0.193054 -0.192572 -0.19209 -0.191607 -0.191125 -0.190642
+-0.19016 -0.189677 -0.189195 -0.188712 -0.188229 -0.187747 -0.187264
+-0.186781 -0.186298 -0.185816 -0.185333 -0.18485 -0.184368 -0.183885
+-0.183402 -0.18292 -0.182437 -0.181954 -0.181472 -0.180989 -0.180507
+-0.180025 -0.179542 -0.17906 -0.178578 -0.178096 -0.177614 -0.177132
+-0.17665 -0.176168 -0.175687 -0.175205 -0.174724 -0.174242 -0.173761
+-0.17328 -0.172799 -0.172318 -0.171837 -0.171357 -0.170876 -0.170396
+-0.169916 -0.169436 -0.168956 -0.168476 -0.167997 -0.167517 -0.167038
+-0.166559 -0.16608 -0.165601 -0.165123 -0.164645 -0.164166 -0.163689
+-0.163211 -0.162733 -0.162256 -0.161779 -0.161302 -0.160826 -0.160349
+-0.159873 -0.159397 -0.158922 -0.158446 -0.157971 -0.157496 -0.157021
+-0.156547 -0.156073 -0.155599 -0.155125 -0.154652 -0.154179 -0.153706
+-0.153234 -0.152762 -0.15229 -0.151818 -0.151347 -0.150876 -0.150405
+-0.149935 -0.149465 -0.148995 -0.148525 -0.148056 -0.147587 -0.147119
+-0.146651 -0.146183 -0.145716 -0.145249 -0.144782 -0.144315 -0.143849
+-0.143384 -0.142918 -0.142453 -0.141989 -0.141525 -0.141061 -0.140597
+-0.140134 -0.139671 -0.139209 -0.138747 -0.138286 -0.137825 -0.137364
+-0.136903 -0.136444 -0.135984 -0.135525 -0.135066 -0.134608 -0.13415
+-0.133693 -0.133236 -0.132779 -0.132323 -0.131867 -0.131412 -0.130957
+-0.130503 -0.130049 -0.129595 -0.129142 -0.12869 -0.128238 -0.127786
+-0.127335 -0.126884 -0.126434 -0.125984 -0.125535 -0.125086 -0.124638
+-0.12419 -0.123743 -0.123296 -0.122849 -0.122403 -0.121958 -0.121513
+-0.121069 -0.120625 -0.120181 -0.119739 -0.119296 -0.118854 -0.118413
+-0.117972 -0.117532 -0.117092 -0.116653 -0.116214 -0.115776 -0.115338
+-0.114901 -0.114465 -0.114029 -0.113593 -0.113158 -0.112724 -0.11229
+-0.111857 -0.111424 -0.110992 -0.11056 -0.110129 -0.109698 -0.109268
+-0.108839 -0.10841 -0.107982 -0.107554 -0.107127 -0.1067 -0.106274
+-0.105849 -0.105424 -0.105 -0.104576 -0.104153 -0.103731 -0.103309
+-0.102888 -0.102467 -0.102047 -0.101628 -0.101209 -0.10079 -0.100373
+-0.0999556 -0.0995391 -0.0991233 -0.098708 -0.0982934 -0.0978793 -0.0974659
+-0.0970532 -0.096641 -0.0962294 -0.0958185 -0.0954082 -0.0949985 -0.0945894
+-0.094181 -0.0937732 -0.0933661 -0.0929595 -0.0925536 -0.0921484 -0.0917437
+-0.0913398 -0.0909364 -0.0905337 -0.0901317 -0.0897302 -0.0893295 -0.0889293
+-0.0885299 -0.088131 -0.0877329 -0.0873353 -0.0869384 -0.0865422 -0.0861467
+-0.0857518 -0.0853575 -0.0849639 -0.084571 -0.0841787 -0.0837871 -0.0833962
+-0.0830059 -0.0826163 -0.0822274 -0.0818391 -0.0814515 -0.0810646 -0.0806783
+-0.0802927 -0.0799078 -0.0795236 -0.07914 -0.0787571 -0.0783749 -0.0779934
+-0.0776125 -0.0772324 -0.0768529 -0.0764741 -0.0760959 -0.0757185 -0.0753417
+-0.0749657 -0.0745903 -0.0742156 -0.0738416 -0.0734682 -0.0730956 -0.0727237
+-0.0723524 -0.0719818 -0.071612 -0.0712428 -0.0708743 -0.0705065 -0.0701394
+-0.069773 -0.0694073 -0.0690423 -0.068678 -0.0683144 -0.0679515 -0.0675893
+-0.0672278 -0.0668669 -0.0665068 -0.0661474 -0.0657887 -0.0654307 -0.0650734
+-0.0647167 -0.0643609 -0.0640056 -0.0636512 -0.0632973 -0.0629443 -0.0625919
+-0.0622402 -0.0618892 -0.061539 -0.0611894 -0.0608406 -0.0604924 -0.060145
+-0.0597983 -0.0594522 -0.0591069 -0.0587623 -0.0584184 -0.0580752 -0.0577328
+-0.057391 -0.0570499 -0.0567096 -0.0563699 -0.056031 -0.0556928 -0.0553553
+-0.0550185 -0.0546824 -0.054347 -0.0540123 -0.0536784 -0.0533451 -0.0530126
+-0.0526808 -0.0523496 -0.0520192 -0.0516895 -0.0513605 -0.0510323 -0.0507047
+-0.0503778 -0.0500517 -0.0497262 -0.0494015 -0.0490775 -0.0487542 -0.0484316
+-0.0481097 -0.0477886 -0.0474681 -0.0471483 -0.0468293 -0.0465109 -0.0461933
+-0.0458763 -0.0455601 -0.0452446 -0.0449298 -0.0446157 -0.0443023 -0.0439897
+-0.0436777 -0.0433664 -0.0430558 -0.042746 -0.0424368 -0.0421284 -0.0418206
+-0.0415136 -0.0412072 -0.0409016 -0.0405966 -0.0402924 -0.0399889 -0.0396861
+-0.0393839 -0.0390825 -0.0387818 -0.0384818 -0.0381824 -0.0378838 -0.0375859
+-0.0372886 -0.0369921 -0.0366963 -0.0364011 -0.0361067 -0.0358129 -0.0355199
+-0.0352275 -0.0349358 -0.0346448 -0.0343546 -0.034065 -0.0337761 -0.0334878
+-0.0332003 -0.0329135 -0.0326274 -0.0323419 -0.0320571 -0.031773 -0.0314896
+-0.0312069 -0.0309249 -0.0306435 -0.0303629 -0.0300829 -0.0298036 -0.0295249
+-0.029247 -0.0289697 -0.0286932 -0.0284172 -0.028142 -0.0278675 -0.0275936
+-0.0273204 -0.0270479 -0.026776 -0.0265048 -0.0262343 -0.0259644 -0.0256953
+-0.0254268 -0.0251589 -0.0248917 -0.0246252 -0.0243594 -0.0240942 -0.0238297
+-0.0235659 -0.0233027 -0.0230401 -0.0227782 -0.022517 -0.0222565 -0.0219966
+-0.0217373 -0.0214787 -0.0212208 -0.0209635 -0.0207069 -0.0204509 -0.0201956
+-0.0199409 -0.0196868 -0.0194334 -0.0191807 -0.0189286 -0.0186771 -0.0184263
+-0.0181761 -0.0179266 -0.0176777 -0.0174294 -0.0171818 -0.0169348 -0.0166885
+-0.0164428 -0.0161977 -0.0159532 -0.0157094 -0.0154662 -0.0152236 -0.0149817
+-0.0147404 -0.0144997 -0.0142596 -0.0140202 -0.0137814 -0.0135432 -0.0133056
+-0.0130686 -0.0128323 -0.0125965 -0.0123614 -0.0121269 -0.011893 -0.0116597
+-0.011427 -0.0111949 -0.0109635 -0.0107326 -0.0105023 -0.0102727 -0.0100437
+-0.00981519 -0.00958733 -0.0093601 -0.00913343 -0.00890737 -0.00868189
+-0.00845702 -0.00823273 -0.00800903 -0.00778593 -0.00756341 -0.00734148
+-0.00712013 -0.00689937 -0.00667918 -0.00645957 -0.00624055 -0.00602211
+-0.00580423 -0.00558695 -0.00537023 -0.00515408 -0.00493852 -0.00472352
+-0.00450907 -0.00429521 -0.00408192 -0.00386917 -0.003657 -0.00344538
+-0.00323433 -0.00302386 -0.00281391 -0.00260454 -0.00239571 -0.00218744
+-0.00197973 -0.00177256 -0.00156595 -0.00135988 -0.00115436 -0.00094938
+-0.00074496 -0.000541066 -0.00033771 -0.000134914 6.73617e-05 0.000269101
+0.000470301 0.000670969 0.000871101 0.00107069 0.00126976 0.00146832
+0.00166633 0.00186383 0.00206079 0.00225723 0.00245315 0.00264857 0.00284346
+0.00303783 0.00323169 0.00342502 0.00361785 0.00381017 0.00400199 0.0041933
+0.00438408 0.00457438 0.00476416 0.00495345 0.00514224 0.00533054 0.00551832
+0.00570561 0.00589241 0.00607872 0.00626455 0.00644987 0.00663471 0.00681906
+0.00700291 0.0071863 0.00736919 0.00755162 0.00773356 0.00791502 0.00809601
+0.00827651 0.00845654 0.0086361 0.00881518 0.00899382 0.00917198 0.00934966
+0.00952689 0.00970364 0.00987995 0.0100558 0.0102312 0.0104061 0.0105806
+0.0107546 0.0109281 0.0111012 0.0112739 0.0114461 0.0116179 0.0117892
+0.0119601 0.0121305 0.0123005 0.0124701 0.0126392 0.0128079 0.0129761
+0.0131439 0.0133113 0.0134783 0.0136448 0.0138109 0.0139766 0.0141418
+0.0143066 0.014471 0.014635 0.0147986 0.0149617 0.0151245 0.0152868
+0.0154487 0.0156102 0.0157713 0.015932 0.0160923 0.0162521 0.0164116
+0.0165707 0.0167293 0.0168876 0.0170455 0.0172029 0.01736 0.0175167
+0.017673 0.0178289 0.0179844 0.0181395 0.0182943 0.0184486 0.0186026
+0.0187562 0.0189094 0.0190622 0.0192147 0.0193668 0.0195185 0.0196698
+0.0198208 0.0199714 0.0201216 0.0202715 0.020421 0.0205701 0.0207189
+0.0208673 0.0210153 0.021163 0.0213104 0.0214574 0.021604 0.0217503
+0.0218962 0.0220417 0.022187 0.0223318 0.0224764 0.0226206 0.0227644
+0.0229079 0.0230511 0.0231939 0.0233364 0.0234785 0.0236203 0.0237618
+0.023903 0.0240438 0.0241843 0.0243245 0.0244643 0.0246038 0.024743
+0.0248819 0.0250204 0.0251587 0.0252966 0.0254342 0.0255715 0.0257084
+0.0258451 0.0259814 0.0261175 0.0262532 0.0263886 0.0265237 0.0266585
+0.026793 0.0269272 0.0270611 0.0271947 0.027328 0.027461 0.0275937
+0.0277261 0.0278583 0.0279901 0.0281216 0.0282529 0.0283839 0.0285145
+0.0286449 0.028775 0.0289049 0.0290344 0.0291637 0.0292926 0.0294214
+0.0295498 0.0296779 0.0298058 0.0299334 0.0300607 0.0301878 0.0303146
+0.0304411 0.0305674 0.0306934 0.0308191 0.0309445 0.0310698 0.0311947
+0.0313194 0.0314438 0.0315679 0.0316919 0.0318155 0.0319389 0.032062
+0.0321849 0.0323076 0.0324299 0.0325521 0.032674 0.0327956 0.032917
+0.0330382 0.0331591 0.0332798 0.0334002 0.0335204 0.0336403 0.0337601
+0.0338795 0.0339988 0.0341178 0.0342365 0.0343551 0.0344734 0.0345915
+0.0347093 0.034827 0.0349444 0.0350615 0.0351785 0.0352952 0.0354117
+0.035528 0.035644 0.0357598 0.0358755 0.0359908 0.036106 0.036221 0.0363357
+0.0364503 0.0365646 0.0366787 0.0367926 0.0369063 0.0370197 0.037133
+0.037246 0.0373589 0.0374715 0.037584 0.0376962 0.0378082 0.0379201
+0.0380317 0.0381431 0.0382543 0.0383654 0.0384762 0.0385868 0.0386972
+0.0388075 0.0389175 0.0390274 0.039137 0.0392465 0.0393558 0.0394648
+0.0395737;
+#A 3000 0.0396824 0.039791 0.0398993 0.0400074 0.0401154 0.0402231
+0.0403307 0.0404381 0.0405453 0.0406524 0.0407592 0.0408659 0.0409724
+0.0410787 0.0411848 0.0412908 0.0413966 0.0415022 0.0416076 0.0417129
+0.0418179 0.0419228 0.0420276 0.0421321 0.0422365 0.0423407 0.0424448
+0.0425486 0.0426523 0.0427559 0.0428592 0.0429624 0.0430655 0.0431683
+0.043271 0.0433736 0.0434759 0.0435781 0.0436802 0.0437821 0.0438838
+0.0439854 0.0440868 0.044188 0.0442891 0.04439 0.0444907 0.0445913
+0.0446918 0.0447921 0.0448922 0.0449922 0.045092 0.0451916 0.0452911
+0.0453905 0.0454897 0.0455887 0.0456876 0.0457863 0.0458849 0.0459834
+0.0460816 0.0461798 0.0462777 0.0463756 0.0464732 0.0465708 0.0466681
+0.0467654 0.0468625 0.0469594 0.0470562 0.0471528 0.0472493 0.0473456
+0.0474418 0.0475379 0.0476338 0.0477296 0.0478252 0.0479207 0.048016
+0.0481112 0.0482062 0.0483011 0.0483959 0.0484905 0.0485849 0.0486793
+0.0487734 0.0488675 0.0489614 0.0490552 0.0491487 0.0492422 0.0493356
+0.0494288 0.0495218 0.0496147 0.0497075 0.0498001 0.0498926 0.049985
+0.0500772 0.0501693 0.0502612 0.050353 0.0504447 0.0505362 0.0506276
+0.0507188 0.0508099 0.0509009 0.0509917 0.0510824 0.051173 0.0512634
+0.0513537 0.0514438 0.0515338 0.0516237 0.0517134 0.051803 0.0518924
+0.0519817 0.0520709 0.05216 0.0522489 0.0523376 0.0524263 0.0525148
+0.0526031 0.0526913 0.0527794 0.0528674 0.0529552 0.0530428 0.0531304
+0.0532178 0.053305 0.0533921 0.0534791 0.053566 0.0536527 0.0537392
+0.0538257 0.053912 0.0539981 0.0540841 0.05417 0.0542557 0.0543413
+0.0544268 0.0545121 0.0545973 0.0546824 0.0547673 0.054852 0.0549367
+0.0550211 0.0551055 0.0551897 0.0552738 0.0553577 0.0554415 0.0555251
+0.0556086 0.055692 0.0557752 0.0558583 0.0559412 0.056024 0.0561067
+0.0561892 0.0562716 0.0563538 0.0564359 0.0565178 0.0565996 0.0566812
+0.0567627 0.0568441 0.0569253 0.0570064 0.0570873 0.0571681 0.0572487
+0.0573292 0.0574095 0.0574897 0.0575698 0.0576497 0.0577294 0.057809
+0.0578885 0.0579678 0.0580469 0.0581259 0.0582048 0.0582835 0.058362
+0.0584404 0.0585187 0.0585968 0.0586747 0.0587525 0.0588301 0.0589076
+0.0589849 0.0590621 0.0591391 0.059216 0.0592927 0.0593692 0.0594456
+0.0595218 0.0595979 0.0596738 0.0597496 0.0598251 0.0599006 0.0599759
+0.060051 0.0601259 0.0602007 0.0602753 0.0603498 0.0604241 0.0604982
+0.0605722 0.060646 0.0607197 0.0607932 0.0608665 0.0609396 0.0610126
+0.0610854 0.061158 0.0612305 0.0613028 0.0613749 0.0614469 0.0615187
+0.0615903 0.0616617 0.061733 0.0618041 0.061875 0.0619457 0.0620163
+0.0620867 0.0621569 0.0622269 0.0622968 0.0623665 0.062436 0.0625053
+0.0625744 0.0626434 0.0627121 0.0627807 0.0628491 0.0629174 0.0629854
+0.0630533 0.0631209 0.0631884 0.0632557 0.0633228 0.0633897 0.0634564
+0.063523 0.0635893 0.0636555 0.0637214 0.0637872 0.0638528 0.0639182
+0.0639833 0.0640483 0.0641131 0.0641777 0.0642421 0.0643063 0.0643703
+0.0644341 0.0644977 0.0645611 0.0646243 0.0646873 0.0647501 0.0648126
+0.064875 0.0649372 0.0649991 0.0650609 0.0651225 0.0651838 0.0652449
+0.0653058 0.0653665 0.065427 0.0654873 0.0655474 0.0656072 0.0656668
+0.0657263 0.0657855 0.0658444 0.0659032 0.0659618 0.0660201 0.0660782
+0.066136 0.0661937 0.0662511 0.0663084 0.0663653 0.0664221 0.0664786
+0.0665349 0.066591 0.0666468 0.0667024 0.0667578 0.066813 0.0668679
+0.0669225 0.066977 0.0670312 0.0670852 0.0671389 0.0671924 0.0672457
+0.0672987 0.0673515 0.067404 0.0674563 0.0675084 0.0675602 0.0676118
+0.0676631 0.0677141 0.067765 0.0678155 0.0678658 0.0679159 0.0679658
+0.0680153 0.0680647 0.0681137 0.0681625 0.0682111 0.0682594 0.0683074
+0.0683552 0.0684027 0.06845 0.068497 0.0685437 0.0685902 0.0686364
+0.0686823 0.068728 0.0687734 0.0688186 0.0688635 0.0689081 0.0689524
+0.0689965 0.0690403 0.0690838 0.069127 0.06917 0.0692127 0.0692551
+0.0692973 0.0693391 0.0693807 0.069422 0.0694631 0.0695038 0.0695443
+0.0695844 0.0696243 0.0696639 0.0697033 0.0697423 0.069781 0.0698195
+0.0698577 0.0698955 0.0699331 0.0699704 0.0700074 0.0700441 0.0700805
+0.0701166 0.0701524 0.0701879 0.0702231 0.070258 0.0702926 0.0703269
+0.0703609 0.0703946 0.070428 0.0704611 0.0704938 0.0705263 0.0705585
+0.0705903 0.0706219 0.0706531 0.070684 0.0707146 0.0707449 0.0707748
+0.0708045 0.0708338 0.0708629 0.0708916 0.0709199 0.070948 0.0709757
+0.0710031 0.0710302 0.071057 0.0710834 0.0711095 0.0711353 0.0711608
+0.0711859 0.0712107 0.0712351 0.0712593 0.0712831 0.0713065 0.0713297
+0.0713525 0.0713749 0.071397 0.0714188 0.0714403 0.0714614 0.0714821
+0.0715026 0.0715226 0.0715424 0.0715617 0.0715808 0.0715995 0.0716178
+0.0716358 0.0716535 0.0716708 0.0716877 0.0717043 0.0717206 0.0717365
+0.071752 0.0717672 0.071782 0.0717965 0.0718106 0.0718243 0.0718377
+0.0718507 0.0718634 0.0718757 0.0718877 0.0718993 0.0719104 0.0719213
+0.0719318 0.0719419 0.0719516 0.071961 0.07197 0.0719787 0.0719869
+0.0719948 0.0720023 0.0720095 0.0720162 0.0720226 0.0720286 0.0720343
+0.0720395 0.0720444 0.0720489 0.072053 0.0720568 0.0720601 0.0720631
+0.0720657 0.0720679 0.0720697 0.0720711 0.0720721 0.0720728 0.0720731
+0.072073 0.0720724 0.0720715 0.0720702 0.0720685 0.0720664 0.072064
+0.0720611 0.0720578 0.0720541 0.0720501 0.0720456 0.0720407 0.0720355
+0.0720298 0.0720238 0.0720173 0.0720104 0.0720031 0.0719955 0.0719874
+0.0719789 0.07197 0.0719607 0.071951 0.0719409 0.0719304 0.0719194
+0.0719081 0.0718963 0.0718841 0.0718716 0.0718586 0.0718452 0.0718313
+0.0718171 0.0718024 0.0717874 0.0717719 0.071756 0.0717396 0.0717229
+0.0717057 0.0716881 0.0716701 0.0716517 0.0716328 0.0716136 0.0715939
+0.0715737 0.0715532 0.0715322 0.0715108 0.071489 0.0714667 0.071444
+0.0714209 0.0713973 0.0713734 0.071349 0.0713241 0.0712989 0.0712732
+0.071247 0.0712205 0.0711935 0.071166 0.0711382 0.0711099 0.0710811
+0.0710519 0.0710223 0.0709923 0.0709617 0.0709308 0.0708994 0.0708676
+0.0708354 0.0708027 0.0707695 0.070736 0.070702 0.0706675 0.0706326
+0.0705972 0.0705614 0.0705252 0.0704885 0.0704514 0.0704138 0.0703758
+0.0703373 0.0702984 0.070259 0.0702192 0.070179 0.0701382 0.0700971
+0.0700555 0.0700134 0.0699709 0.0699279 0.0698845 0.0698407 0.0697963
+0.0697516 0.0697063 0.0696606 0.0696145 0.0695679 0.0695209 0.0694734
+0.0694254 0.069377 0.0693282 0.0692788 0.0692291 0.0691788 0.0691281
+0.069077 0.0690254 0.0689733 0.0689208 0.0688678 0.0688144 0.0687605
+0.0687061 0.0686513 0.068596 0.0685403 0.068484 0.0684274 0.0683702
+0.0683127 0.0682546 0.0681961 0.0681372 0.0680777 0.0680178 0.0679575
+0.0678966 0.0678353 0.0677736 0.0677114 0.0676487 0.0675856 0.067522
+0.0674579 0.0673934 0.0673284 0.067263 0.067197 0.0671306 0.0670638
+0.0669965 0.0669287 0.0668604 0.0667917 0.0667225 0.0666529 0.0665828
+0.0665122 0.0664412 0.0663697 0.0662977 0.0662253 0.0661523 0.066079
+0.0660051 0.0659309 0.0658561 0.0657808 0.0657051 0.065629 0.0655523
+0.0654752 0.0653977 0.0653197 0.0652412 0.0651622 0.0650828 0.0650029
+0.0649225 0.0648417 0.0647604 0.0646786 0.0645964 0.0645137 0.0644306
+0.064347 0.0642629 0.0641783 0.0640933 0.0640078 0.0639219 0.0638355
+0.0637486 0.0636612 0.0635734 0.0634852 0.0633964 0.0633073 0.0632176
+0.0631275 0.0630369 0.0629458 0.0628543 0.0627623 0.0626699 0.062577
+0.0624836 0.0623898 0.0622955 0.0622008 0.0621056 0.0620099 0.0619138
+0.0618172 0.0617201 0.0616226 0.0615246 0.0614262 0.0613273 0.061228
+0.0611282 0.0610279 0.0609272 0.060826 0.0607244 0.0606223 0.0605197
+0.0604167 0.0603132 0.0602093 0.0601049 0.0600001 0.0598948 0.0597891
+0.0596829 0.0595762 0.0594691 0.0593616 0.0592536 0.0591451 0.0590362
+0.0589268 0.058817 0.0587068 0.058596 0.0584849 0.0583733 0.0582612
+0.0581487 0.0580358 0.0579224 0.0578085 0.0576942 0.0575795 0.0574643
+0.0573487 0.0572326 0.0571161 0.0569992 0.0568817 0.0567639 0.0566456
+0.0565269 0.0564077 0.0562882 0.0561681 0.0560476 0.0559267 0.0558054
+0.0556836 0.0555613 0.0554387 0.0553156 0.0551921 0.0550681 0.0549437
+0.0548189 0.0546936 0.0545679 0.0544418 0.0543152 0.0541883 0.0540609
+0.053933 0.0538047 0.0536761 0.0535469 0.0534174 0.0532874 0.0531571
+0.0530263 0.052895 0.0527634 0.0526313 0.0524988 0.0523659 0.0522326
+0.0520988 0.0519646 0.0518301 0.0516951 0.0515597 0.0514238 0.0512876
+0.051151 0.0510139 0.0508764 0.0507385 0.0506003 0.0504616 0.0503225
+0.050183 0.050043 0.0499027 0.049762 0.0496209 0.0494794 0.0493374
+0.0491951 0.0490524 0.0489093 0.0487657 0.0486218 0.0484775 0.0483328
+0.0481877 0.0480422 0.0478963 0.04775 0.0476034 0.0474563 0.0473089
+0.047161 0.0470128 0.0468642 0.0467152 0.0465659 0.0464161 0.046266
+0.0461155 0.0459646 0.0458133 0.0456617 0.0455096 0.0453572 0.0452045
+0.0450513 0.0448978 0.0447439 0.0445897 0.044435 0.04428 0.0441247
+0.043969 0.0438129 0.0436564 0.0434996 0.0433424 0.0431849 0.043027
+0.0428688 0.0427102 0.0425512 0.0423919 0.0422322 0.0420722 0.0419118
+0.0417511 0.04159 0.0414286 0.0412668 0.0411047 0.0409423 0.0407795
+0.0406163 0.0404528 0.040289 0.0401249 0.0399604 0.0397955 0.0396304
+0.0394649 0.0392991 0.0391329 0.0389664 0.0387996 0.0386325 0.038465
+0.0382972 0.0381291 0.0379606 0.0377919 0.0376228 0.0374534 0.0372837
+0.0371137 0.0369433 0.0367727 0.0366017 0.0364304 0.0362589 0.036087
+0.0359148 0.0357423 0.0355695 0.0353964 0.035223 0.0350492 0.0348752
+0.0347009 0.0345263 0.0343514 0.0341762 0.0340008 0.033825 0.033649
+0.0334726 0.033296 0.0331191 0.0329419 0.0327644 0.0325867 0.0324086
+0.0322303 0.0320517 0.0318729 0.0316937 0.0315143 0.0313346 0.0311547
+0.0309745 0.030794 0.0306133 0.0304322 0.030251 0.0300695 0.0298877
+0.0297056 0.0295233 0.0293408 0.029158 0.0289749 0.0287916 0.0286081
+0.0284243 0.0282402 0.0280559 0.0278714 0.0276866 0.0275016 0.0273164
+0.0271309 0.0269452 0.0267592 0.026573 0.0263866 0.0262 0.0260131 0.025826
+0.0256387 0.0254512 0.0252634 0.0250754 0.0248872 0.0246988 0.0245102
+0.0243213 0.0241323 0.023943 0.0237536 0.0235639 0.023374 0.0231839
+0.0229937 0.0228032 0.0226125 0.0224216 0.0222305 0.0220393 0.0218478
+0.0216562 0.0214643 0.0212723 0.0210801 0.0208877 0.0206951 0.0205024
+0.0203094 0.0201163 0.019923 0.0197296 0.019536 0.0193422;
+#A 4000 0.0191482 0.018954 0.0187597 0.0185653 0.0183706 0.0181758
+0.0179809 0.0177858 0.0175905 0.0173951 0.0171995 0.0170038 0.0168079
+0.0166119 0.0164158 0.0162195 0.016023 0.0158264 0.0156297 0.0154328
+0.0152358 0.0150387 0.0148414 0.014644 0.0144465 0.0142489 0.0140511
+0.0138532 0.0136552 0.013457 0.0132588 0.0130604 0.0128619 0.0126633
+0.0124646 0.0122658 0.0120668 0.0118678 0.0116686 0.0114694 0.0112701
+0.0110706 0.0108711 0.0106714 0.0104717 0.0102719 0.010072 0.00987196
+0.00967187 0.0094717 0.00927144 0.0090711 0.00887068 0.00867019 0.00846961
+0.00826896 0.00806824 0.00786745 0.00766659 0.00746566 0.00726467 0.00706361
+0.00686249 0.0066613 0.00646006 0.00625877 0.00605741 0.00585601 0.00565455
+0.00545304 0.00525149 0.00504989 0.00484824 0.00464655 0.00444482 0.00424305
+0.00404125 0.0038394 0.00363753 0.00343562 0.00323368 0.00303172 0.00282972
+0.0026277 0.00242566 0.0022236 0.00202152 0.00181941 0.0016173 0.00141517
+0.00121302 0.00101087 0.000808706 0.000606536 0.00040436 0.000202181
+-2.69055e-12 -0.000202181 -0.00040436 -0.000606536 -0.000808706 -0.00101087
+-0.00121302 -0.00141517 -0.0016173 -0.00181941 -0.00202152 -0.0022236
+-0.00242566 -0.0026277 -0.00282972 -0.00303172 -0.00323368 -0.00343562
+-0.00363753 -0.0038394 -0.00404125 -0.00424305 -0.00444482 -0.00464655
+-0.00484824 -0.00504989 -0.00525149 -0.00545304 -0.00565455 -0.00585601
+-0.00605741 -0.00625877 -0.00646006 -0.0066613 -0.00686249 -0.00706361
+-0.00726467 -0.00746566 -0.00766659 -0.00786745 -0.00806824 -0.00826896
+-0.00846961 -0.00867019 -0.00887068 -0.0090711 -0.00927144 -0.0094717
+-0.00967187 -0.00987196 -0.010072 -0.0102719 -0.0104717 -0.0106714
+-0.0108711 -0.0110706 -0.0112701 -0.0114694 -0.0116686 -0.0118678 -0.0120668
+-0.0122658 -0.0124646 -0.0126633 -0.0128619 -0.0130604 -0.0132588 -0.013457
+-0.0136552 -0.0138532 -0.0140511 -0.0142489 -0.0144465 -0.014644 -0.0148414
+-0.0150387 -0.0152358 -0.0154328 -0.0156297 -0.0158264 -0.016023 -0.0162195
+-0.0164158 -0.0166119 -0.0168079 -0.0170038 -0.0171995 -0.0173951 -0.0175905
+-0.0177858 -0.0179809 -0.0181758 -0.0183706 -0.0185653 -0.0187597 -0.018954
+-0.0191482 -0.0193422 -0.019536 -0.0197296 -0.019923 -0.0201163 -0.0203094
+-0.0205024 -0.0206951 -0.0208877 -0.0210801 -0.0212723 -0.0214643 -0.0216562
+-0.0218478 -0.0220393 -0.0222305 -0.0224216 -0.0226125 -0.0228032 -0.0229937
+-0.0231839 -0.023374 -0.0235639 -0.0237536 -0.023943 -0.0241323 -0.0243213
+-0.0245102 -0.0246988 -0.0248872 -0.0250754 -0.0252634 -0.0254512 -0.0256387
+-0.025826 -0.0260131 -0.0262 -0.0263866 -0.026573 -0.0267592 -0.0269452
+-0.0271309 -0.0273164 -0.0275016 -0.0276866 -0.0278714 -0.0280559 -0.0282402
+-0.0284243 -0.0286081 -0.0287916 -0.0289749 -0.029158 -0.0293408 -0.0295233
+-0.0297056 -0.0298877 -0.0300695 -0.030251 -0.0304322 -0.0306133 -0.030794
+-0.0309745 -0.0311547 -0.0313346 -0.0315143 -0.0316937 -0.0318729 -0.0320517
+-0.0322303 -0.0324086 -0.0325867 -0.0327644 -0.0329419 -0.0331191 -0.033296
+-0.0334726 -0.033649 -0.033825 -0.0340008 -0.0341762 -0.0343514 -0.0345263
+-0.0347009 -0.0348752 -0.0350492 -0.035223 -0.0353964 -0.0355695 -0.0357423
+-0.0359148 -0.036087 -0.0362589 -0.0364304 -0.0366017 -0.0367727 -0.0369433
+-0.0371137 -0.0372837 -0.0374534 -0.0376228 -0.0377919 -0.0379606 -0.0381291
+-0.0382972 -0.038465 -0.0386325 -0.0387996 -0.0389664 -0.0391329 -0.0392991
+-0.0394649 -0.0396304 -0.0397955 -0.0399604 -0.0401249 -0.040289 -0.0404528
+-0.0406163 -0.0407795 -0.0409423 -0.0411047 -0.0412668 -0.0414286 -0.04159
+-0.0417511 -0.0419118 -0.0420722 -0.0422322 -0.0423919 -0.0425512 -0.0427102
+-0.0428688 -0.043027 -0.0431849 -0.0433424 -0.0434996 -0.0436564 -0.0438129
+-0.043969 -0.0441247 -0.04428 -0.044435 -0.0445897 -0.0447439 -0.0448978
+-0.0450513 -0.0452045 -0.0453572 -0.0455096 -0.0456617 -0.0458133 -0.0459646
+-0.0461155 -0.046266 -0.0464161 -0.0465659 -0.0467152 -0.0468642 -0.0470128
+-0.047161 -0.0473089 -0.0474563 -0.0476034 -0.04775 -0.0478963 -0.0480422
+-0.0481877 -0.0483328 -0.0484775 -0.0486218 -0.0487657 -0.0489093 -0.0490524
+-0.0491951 -0.0493374 -0.0494794 -0.0496209 -0.049762 -0.0499027 -0.050043
+-0.050183 -0.0503225 -0.0504616 -0.0506003 -0.0507385 -0.0508764 -0.0510139
+-0.051151 -0.0512876 -0.0514238 -0.0515597 -0.0516951 -0.0518301 -0.0519646
+-0.0520988 -0.0522326 -0.0523659 -0.0524988 -0.0526313 -0.0527634 -0.052895
+-0.0530263 -0.0531571 -0.0532874 -0.0534174 -0.0535469 -0.0536761 -0.0538047
+-0.053933 -0.0540609 -0.0541883 -0.0543152 -0.0544418 -0.0545679 -0.0546936
+-0.0548189 -0.0549437 -0.0550681 -0.0551921 -0.0553156 -0.0554387 -0.0555613
+-0.0556836 -0.0558054 -0.0559267 -0.0560476 -0.0561681 -0.0562882 -0.0564077
+-0.0565269 -0.0566456 -0.0567639 -0.0568817 -0.0569992 -0.0571161 -0.0572326
+-0.0573487 -0.0574643 -0.0575795 -0.0576942 -0.0578085 -0.0579224 -0.0580358
+-0.0581487 -0.0582612 -0.0583733 -0.0584849 -0.058596 -0.0587068 -0.058817
+-0.0589268 -0.0590362 -0.0591451 -0.0592536 -0.0593616 -0.0594691 -0.0595762
+-0.0596829 -0.0597891 -0.0598948 -0.0600001 -0.0601049 -0.0602093 -0.0603132
+-0.0604167 -0.0605197 -0.0606223 -0.0607244 -0.060826 -0.0609272 -0.0610279
+-0.0611282 -0.061228 -0.0613273 -0.0614262 -0.0615246 -0.0616226 -0.0617201
+-0.0618172 -0.0619138 -0.0620099 -0.0621056 -0.0622008 -0.0622955 -0.0623898
+-0.0624836 -0.062577 -0.0626699 -0.0627623 -0.0628543 -0.0629458 -0.0630369
+-0.0631275 -0.0632176 -0.0633073 -0.0633964 -0.0634852 -0.0635734 -0.0636612
+-0.0637486 -0.0638355 -0.0639219 -0.0640078 -0.0640933 -0.0641783 -0.0642629
+-0.064347 -0.0644306 -0.0645137 -0.0645964 -0.0646786 -0.0647604 -0.0648417
+-0.0649225 -0.0650029 -0.0650828 -0.0651622 -0.0652412 -0.0653197 -0.0653977
+-0.0654752 -0.0655523 -0.065629 -0.0657051 -0.0657808 -0.0658561 -0.0659309
+-0.0660051 -0.066079 -0.0661523 -0.0662253 -0.0662977 -0.0663697 -0.0664412
+-0.0665122 -0.0665828 -0.0666529 -0.0667225 -0.0667917 -0.0668604 -0.0669287
+-0.0669965 -0.0670638 -0.0671306 -0.067197 -0.067263 -0.0673284 -0.0673934
+-0.0674579 -0.067522 -0.0675856 -0.0676487 -0.0677114 -0.0677736 -0.0678353
+-0.0678966 -0.0679575 -0.0680178 -0.0680777 -0.0681372 -0.0681961 -0.0682546
+-0.0683127 -0.0683702 -0.0684274 -0.068484 -0.0685403 -0.068596 -0.0686513
+-0.0687061 -0.0687605 -0.0688144 -0.0688678 -0.0689208 -0.0689733 -0.0690254
+-0.069077 -0.0691281 -0.0691788 -0.0692291 -0.0692788 -0.0693282 -0.069377
+-0.0694254 -0.0694734 -0.0695209 -0.0695679 -0.0696145 -0.0696606 -0.0697063
+-0.0697516 -0.0697963 -0.0698407 -0.0698845 -0.0699279 -0.0699709 -0.0700134
+-0.0700555 -0.0700971 -0.0701382 -0.070179 -0.0702192 -0.070259 -0.0702984
+-0.0703373 -0.0703758 -0.0704138 -0.0704514 -0.0704885 -0.0705252 -0.0705614
+-0.0705972 -0.0706326 -0.0706675 -0.070702 -0.070736 -0.0707695 -0.0708027
+-0.0708354 -0.0708676 -0.0708994 -0.0709308 -0.0709617 -0.0709923 -0.0710223
+-0.0710519 -0.0710811 -0.0711099 -0.0711382 -0.071166 -0.0711935 -0.0712205
+-0.071247 -0.0712732 -0.0712989 -0.0713241 -0.071349 -0.0713734 -0.0713973
+-0.0714209 -0.071444 -0.0714667 -0.071489 -0.0715108 -0.0715322 -0.0715532
+-0.0715737 -0.0715939 -0.0716136 -0.0716328 -0.0716517 -0.0716701 -0.0716881
+-0.0717057 -0.0717229 -0.0717396 -0.071756 -0.0717719 -0.0717874 -0.0718024
+-0.0718171 -0.0718313 -0.0718452 -0.0718586 -0.0718716 -0.0718841 -0.0718963
+-0.0719081 -0.0719194 -0.0719304 -0.0719409 -0.071951 -0.0719607 -0.07197
+-0.0719789 -0.0719874 -0.0719955 -0.0720031 -0.0720104 -0.0720173 -0.0720238
+-0.0720298 -0.0720355 -0.0720407 -0.0720456 -0.0720501 -0.0720541 -0.0720578
+-0.0720611 -0.072064 -0.0720664 -0.0720685 -0.0720702 -0.0720715 -0.0720724
+-0.072073 -0.0720731 -0.0720728 -0.0720721 -0.0720711 -0.0720697 -0.0720679
+-0.0720657 -0.0720631 -0.0720601 -0.0720568 -0.072053 -0.0720489 -0.0720444
+-0.0720395 -0.0720343 -0.0720286 -0.0720226 -0.0720162 -0.0720095 -0.0720023
+-0.0719948 -0.0719869 -0.0719787 -0.07197 -0.071961 -0.0719516 -0.0719419
+-0.0719318 -0.0719213 -0.0719104 -0.0718993 -0.0718877 -0.0718757 -0.0718634
+-0.0718507 -0.0718377 -0.0718243 -0.0718106 -0.0717965 -0.071782 -0.0717672
+-0.071752 -0.0717365 -0.0717206 -0.0717043 -0.0716877 -0.0716708 -0.0716535
+-0.0716358 -0.0716178 -0.0715995 -0.0715808 -0.0715617 -0.0715424 -0.0715226
+-0.0715026 -0.0714821 -0.0714614 -0.0714403 -0.0714188 -0.071397 -0.0713749
+-0.0713525 -0.0713297 -0.0713065 -0.0712831 -0.0712593 -0.0712351 -0.0712107
+-0.0711859 -0.0711608 -0.0711353 -0.0711095 -0.0710834 -0.071057 -0.0710302
+-0.0710031 -0.0709757 -0.070948 -0.0709199 -0.0708916 -0.0708629 -0.0708338
+-0.0708045 -0.0707748 -0.0707449 -0.0707146 -0.070684 -0.0706531 -0.0706219
+-0.0705903 -0.0705585 -0.0705263 -0.0704938 -0.0704611 -0.070428 -0.0703946
+-0.0703609 -0.0703269 -0.0702926 -0.070258 -0.0702231 -0.0701879 -0.0701524
+-0.0701166 -0.0700805 -0.0700441 -0.0700074 -0.0699704 -0.0699331 -0.0698955
+-0.0698577 -0.0698195 -0.069781 -0.0697423 -0.0697033 -0.0696639 -0.0696243
+-0.0695844 -0.0695443 -0.0695038 -0.0694631 -0.069422 -0.0693807 -0.0693391
+-0.0692973 -0.0692551 -0.0692127 -0.06917 -0.069127 -0.0690838 -0.0690403
+-0.0689965 -0.0689524 -0.0689081 -0.0688635 -0.0688186 -0.0687734 -0.068728
+-0.0686823 -0.0686364 -0.0685902 -0.0685437 -0.068497 -0.06845 -0.0684027
+-0.0683552 -0.0683074 -0.0682594 -0.0682111 -0.0681625 -0.0681137 -0.0680647
+-0.0680153 -0.0679658 -0.0679159 -0.0678658 -0.0678155 -0.067765 -0.0677141
+-0.0676631 -0.0676118 -0.0675602 -0.0675084 -0.0674563 -0.067404 -0.0673515
+-0.0672987 -0.0672457 -0.0671924 -0.0671389 -0.0670852 -0.0670312 -0.066977
+-0.0669225 -0.0668679 -0.066813 -0.0667578 -0.0667024 -0.0666468 -0.066591
+-0.0665349 -0.0664786 -0.0664221 -0.0663653 -0.0663084 -0.0662511 -0.0661937
+-0.066136 -0.0660782 -0.0660201 -0.0659618 -0.0659032 -0.0658444 -0.0657855
+-0.0657263 -0.0656668 -0.0656072 -0.0655474 -0.0654873 -0.065427 -0.0653665
+-0.0653058 -0.0652449 -0.0651838 -0.0651225 -0.0650609 -0.0649991 -0.0649372
+-0.064875 -0.0648126 -0.0647501 -0.0646873 -0.0646243 -0.0645611 -0.0644977
+-0.0644341 -0.0643703 -0.0643063 -0.0642421 -0.0641777 -0.0641131 -0.0640483
+-0.0639833 -0.0639182 -0.0638528 -0.0637872 -0.0637214 -0.0636555 -0.0635893
+-0.063523 -0.0634564 -0.0633897 -0.0633228 -0.0632557 -0.0631884 -0.0631209
+-0.0630533 -0.0629854 -0.0629174 -0.0628491 -0.0627807 -0.0627121 -0.0626434
+-0.0625744 -0.0625053 -0.062436 -0.0623665 -0.0622968 -0.0622269 -0.0621569
+-0.0620867 -0.0620163 -0.0619457 -0.061875 -0.0618041 -0.061733 -0.0616617
+-0.0615903 -0.0615187 -0.0614469 -0.0613749 -0.0613028 -0.0612305 -0.061158
+-0.0610854 -0.0610126 -0.0609396 -0.0608665 -0.0607932 -0.0607197 -0.060646
+-0.0605722 -0.0604982 -0.0604241 -0.0603498 -0.0602753 -0.0602007 -0.0601259
+-0.060051 -0.0599759 -0.0599006 -0.0598251 -0.0597496 -0.0596738 -0.0595979
+-0.0595218 -0.0594456 -0.0593692 -0.0592927 -0.059216 -0.0591391 -0.0590621
+-0.0589849 -0.0589076 -0.0588301 -0.0587525 -0.0586747 -0.0585968 -0.0585187
+-0.0584404 -0.058362 -0.0582835 -0.0582048 -0.0581259 -0.0580469 -0.0579678
+-0.0578885 -0.057809 -0.0577294;
+#A 5000 -0.0576497 -0.0575698 -0.0574897 -0.0574095 -0.0573292 -0.0572487
+-0.0571681 -0.0570873 -0.0570064 -0.0569253 -0.0568441 -0.0567627 -0.0566812
+-0.0565996 -0.0565178 -0.0564359 -0.0563538 -0.0562716 -0.0561892 -0.0561067
+-0.056024 -0.0559412 -0.0558583 -0.0557752 -0.055692 -0.0556086 -0.0555251
+-0.0554415 -0.0553577 -0.0552738 -0.0551897 -0.0551055 -0.0550211 -0.0549367
+-0.054852 -0.0547673 -0.0546824 -0.0545973 -0.0545121 -0.0544268 -0.0543413
+-0.0542558 -0.05417 -0.0540841 -0.0539981 -0.053912 -0.0538257 -0.0537392
+-0.0536527 -0.053566 -0.0534791 -0.0533921 -0.053305 -0.0532178 -0.0531304
+-0.0530428 -0.0529552 -0.0528674 -0.0527794 -0.0526913 -0.0526031 -0.0525148
+-0.0524263 -0.0523376 -0.0522489 -0.05216 -0.0520709 -0.0519817 -0.0518924
+-0.051803 -0.0517134 -0.0516237 -0.0515338 -0.0514438 -0.0513537 -0.0512634
+-0.051173 -0.0510824 -0.0509917 -0.0509009 -0.0508099 -0.0507188 -0.0506276
+-0.0505362 -0.0504447 -0.050353 -0.0502612 -0.0501693 -0.0500772 -0.049985
+-0.0498926 -0.0498001 -0.0497075 -0.0496147 -0.0495218 -0.0494288 -0.0493356
+-0.0492422 -0.0491487 -0.0490552 -0.0489614 -0.0488675 -0.0487734 -0.0486793
+-0.0485849 -0.0484905 -0.0483959 -0.0483011 -0.0482062 -0.0481112 -0.048016
+-0.0479207 -0.0478252 -0.0477296 -0.0476338 -0.0475379 -0.0474418 -0.0473456
+-0.0472493 -0.0471528 -0.0470562 -0.0469594 -0.0468625 -0.0467654 -0.0466681
+-0.0465708 -0.0464732 -0.0463756 -0.0462777 -0.0461798 -0.0460816 -0.0459834
+-0.0458849 -0.0457863 -0.0456876 -0.0455887 -0.0454897 -0.0453905 -0.0452911
+-0.0451916 -0.045092 -0.0449922 -0.0448922 -0.0447921 -0.0446918 -0.0445913
+-0.0444907 -0.04439 -0.0442891 -0.044188 -0.0440868 -0.0439854 -0.0438838
+-0.0437821 -0.0436802 -0.0435781 -0.0434759 -0.0433736 -0.043271 -0.0431683
+-0.0430655 -0.0429624 -0.0428592 -0.0427559 -0.0426523 -0.0425486 -0.0424448
+-0.0423407 -0.0422365 -0.0421321 -0.0420276 -0.0419228 -0.0418179 -0.0417129
+-0.0416076 -0.0415022 -0.0413966 -0.0412908 -0.0411848 -0.0410787 -0.0409724
+-0.0408659 -0.0407592 -0.0406524 -0.0405453 -0.0404381 -0.0403307 -0.0402231
+-0.0401154 -0.0400074 -0.0398993 -0.039791 -0.0396824 -0.0395737 -0.0394648
+-0.0393558 -0.0392465 -0.039137 -0.0390274 -0.0389175 -0.0388075 -0.0386972
+-0.0385868 -0.0384762 -0.0383654 -0.0382543 -0.0381431 -0.0380317 -0.0379201
+-0.0378082 -0.0376962 -0.037584 -0.0374715 -0.0373589 -0.037246 -0.037133
+-0.0370197 -0.0369063 -0.0367926 -0.0366787 -0.0365646 -0.0364503 -0.0363357
+-0.036221 -0.036106 -0.0359908 -0.0358755 -0.0357598 -0.035644 -0.035528
+-0.0354117 -0.0352952 -0.0351785 -0.0350615 -0.0349444 -0.034827 -0.0347093
+-0.0345915 -0.0344734 -0.0343551 -0.0342365 -0.0341178 -0.0339988 -0.0338795
+-0.0337601 -0.0336403 -0.0335204 -0.0334002 -0.0332798 -0.0331591 -0.0330382
+-0.032917 -0.0327956 -0.032674 -0.0325521 -0.0324299 -0.0323076 -0.0321849
+-0.032062 -0.0319389 -0.0318155 -0.0316919 -0.0315679 -0.0314438 -0.0313194
+-0.0311947 -0.0310698 -0.0309445 -0.0308191 -0.0306934 -0.0305674 -0.0304411
+-0.0303146 -0.0301878 -0.0300607 -0.0299334 -0.0298058 -0.0296779 -0.0295498
+-0.0294214 -0.0292926 -0.0291637 -0.0290344 -0.0289049 -0.028775 -0.0286449
+-0.0285145 -0.0283839 -0.0282529 -0.0281216 -0.0279901 -0.0278583 -0.0277261
+-0.0275937 -0.027461 -0.027328 -0.0271947 -0.0270611 -0.0269272 -0.026793
+-0.0266585 -0.0265237 -0.0263886 -0.0262532 -0.0261175 -0.0259814 -0.0258451
+-0.0257084 -0.0255715 -0.0254342 -0.0252966 -0.0251587 -0.0250204 -0.0248819
+-0.024743 -0.0246038 -0.0244643 -0.0243245 -0.0241843 -0.0240438 -0.023903
+-0.0237618 -0.0236203 -0.0234785 -0.0233364 -0.0231939 -0.0230511 -0.0229079
+-0.0227644 -0.0226206 -0.0224764 -0.0223318 -0.022187 -0.0220417 -0.0218962
+-0.0217503 -0.021604 -0.0214574 -0.0213104 -0.021163 -0.0210153 -0.0208673
+-0.0207189 -0.0205701 -0.020421 -0.0202715 -0.0201216 -0.0199714 -0.0198208
+-0.0196698 -0.0195185 -0.0193668 -0.0192147 -0.0190622 -0.0189094 -0.0187562
+-0.0186026 -0.0184486 -0.0182943 -0.0181395 -0.0179844 -0.0178289 -0.017673
+-0.0175167 -0.01736 -0.0172029 -0.0170455 -0.0168876 -0.0167293 -0.0165707
+-0.0164116 -0.0162521 -0.0160923 -0.015932 -0.0157713 -0.0156102 -0.0154487
+-0.0152868 -0.0151245 -0.0149617 -0.0147986 -0.014635 -0.014471 -0.0143066
+-0.0141418 -0.0139766 -0.0138109 -0.0136448 -0.0134783 -0.0133113 -0.0131439
+-0.0129761 -0.0128079 -0.0126392 -0.0124701 -0.0123005 -0.0121305 -0.0119601
+-0.0117892 -0.0116179 -0.0114461 -0.0112739 -0.0111012 -0.0109281 -0.0107546
+-0.0105806 -0.0104061 -0.0102312 -0.0100558 -0.00987995 -0.00970364
+-0.00952689 -0.00934966 -0.00917198 -0.00899382 -0.00881518 -0.0086361
+-0.00845654 -0.00827651 -0.00809601 -0.00791502 -0.00773356 -0.00755162
+-0.00736919 -0.0071863 -0.00700291 -0.00681906 -0.00663471 -0.00644987
+-0.00626455 -0.00607872 -0.00589241 -0.00570561 -0.00551832 -0.00533054
+-0.00514224 -0.00495345 -0.00476416 -0.00457438 -0.00438408 -0.0041933
+-0.00400199 -0.00381017 -0.00361785 -0.00342502 -0.00323169 -0.00303783
+-0.00284346 -0.00264857 -0.00245315 -0.00225723 -0.00206079 -0.00186383
+-0.00166633 -0.00146832 -0.00126976 -0.00107069 -0.000871101 -0.000670969
+-0.000470301 -0.000269102 -6.73617e-05 0.000134914 0.00033771 0.000541066
+0.00074496 0.00094938 0.00115436 0.00135988 0.00156595 0.00177256 0.00197973
+0.00218744 0.00239571 0.00260454 0.00281391 0.00302386 0.00323433 0.00344538
+0.003657 0.00386917 0.00408192 0.00429521 0.00450907 0.00472352 0.00493852
+0.00515408 0.00537023 0.00558695 0.00580423 0.00602211 0.00624055 0.00645957
+0.00667918 0.00689937 0.00712013 0.00734148 0.00756341 0.00778593 0.00800903
+0.00823273 0.00845702 0.00868189 0.00890737 0.00913343 0.0093601 0.00958733
+0.00981519 0.0100437 0.0102727 0.0105023 0.0107326 0.0109635 0.0111949
+0.011427 0.0116597 0.011893 0.0121269 0.0123614 0.0125965 0.0128323
+0.0130686 0.0133056 0.0135432 0.0137814 0.0140202 0.0142596 0.0144997
+0.0147404 0.0149817 0.0152236 0.0154662 0.0157094 0.0159532 0.0161977
+0.0164428 0.0166885 0.0169348 0.0171818 0.0174294 0.0176777 0.0179266
+0.0181761 0.0184263 0.0186771 0.0189286 0.0191807 0.0194334 0.0196868
+0.0199409 0.0201956 0.0204509 0.0207069 0.0209635 0.0212208 0.0214787
+0.0217373 0.0219966 0.0222565 0.022517 0.0227782 0.0230401 0.0233027
+0.0235659 0.0238297 0.0240942 0.0243594 0.0246252 0.0248917 0.0251589
+0.0254268 0.0256953 0.0259644 0.0262343 0.0265048 0.026776 0.0270479
+0.0273204 0.0275936 0.0278675 0.028142 0.0284172 0.0286932 0.0289697
+0.029247 0.0295249 0.0298036 0.0300829 0.0303629 0.0306435 0.0309249
+0.0312069 0.0314896 0.031773 0.0320571 0.0323419 0.0326274 0.0329135
+0.0332003 0.0334878 0.0337761 0.034065 0.0343546 0.0346448 0.0349358
+0.0352275 0.0355199 0.0358129 0.0361067 0.0364011 0.0366963 0.0369921
+0.0372886 0.0375859 0.0378838 0.0381824 0.0384818 0.0387818 0.0390825
+0.0393839 0.0396861 0.0399889 0.0402924 0.0405966 0.0409016 0.0412072
+0.0415136 0.0418206 0.0421284 0.0424368 0.042746 0.0430558 0.0433664
+0.0436777 0.0439897 0.0443023 0.0446157 0.0449298 0.0452446 0.0455601
+0.0458763 0.0461933 0.0465109 0.0468293 0.0471483 0.0474681 0.0477886
+0.0481097 0.0484316 0.0487542 0.0490775 0.0494015 0.0497262 0.0500517
+0.0503778 0.0507047 0.0510323 0.0513605 0.0516895 0.0520192 0.0523496
+0.0526808 0.0530126 0.0533451 0.0536784 0.0540123 0.054347 0.0546824
+0.0550185 0.0553553 0.0556928 0.056031 0.0563699 0.0567096 0.0570499
+0.057391 0.0577328 0.0580752 0.0584184 0.0587623 0.0591069 0.0594522
+0.0597983 0.060145 0.0604924 0.0608406 0.0611894 0.061539 0.0618892
+0.0622402 0.0625919 0.0629443 0.0632973 0.0636512 0.0640056 0.0643609
+0.0647167 0.0650734 0.0654307 0.0657887 0.0661474 0.0665068 0.0668669
+0.0672278 0.0675893 0.0679515 0.0683144 0.068678 0.0690423 0.0694073
+0.069773 0.0701394 0.0705065 0.0708743 0.0712428 0.071612 0.0719818
+0.0723524 0.0727237 0.0730956 0.0734682 0.0738416 0.0742156 0.0745903
+0.0749657 0.0753417 0.0757185 0.0760959 0.0764741 0.0768529 0.0772324
+0.0776125 0.0779934 0.0783749 0.0787571 0.07914 0.0795236 0.0799078
+0.0802927 0.0806783 0.0810646 0.0814515 0.0818391 0.0822274 0.0826163
+0.0830059 0.0833962 0.0837871 0.0841787 0.084571 0.0849639 0.0853575
+0.0857518 0.0861467 0.0865422 0.0869384 0.0873353 0.0877329 0.088131
+0.0885299 0.0889293 0.0893295 0.0897302 0.0901317 0.0905337 0.0909364
+0.0913398 0.0917437 0.0921484 0.0925536 0.0929595 0.0933661 0.0937732
+0.094181 0.0945894 0.0949985 0.0954082 0.0958185 0.0962294 0.096641
+0.0970532 0.0974659 0.0978793 0.0982934 0.098708 0.0991233 0.0995391
+0.0999556 0.100373 0.10079 0.101209 0.101628 0.102047 0.102467 0.102888
+0.103309 0.103731 0.104153 0.104576 0.105 0.105424 0.105849 0.106274
+0.1067 0.107127 0.107554 0.107982 0.10841 0.108839 0.109268 0.109698
+0.110129 0.11056 0.110992 0.111424 0.111857 0.11229 0.112724 0.113158
+0.113593 0.114029 0.114465 0.114901 0.115338 0.115776 0.116214 0.116653
+0.117092 0.117532 0.117972 0.118413 0.118854 0.119296 0.119739 0.120181
+0.120625 0.121069 0.121513 0.121958 0.122403 0.122849 0.123296 0.123743
+0.12419 0.124638 0.125086 0.125535 0.125984 0.126434 0.126884 0.127335
+0.127786 0.128238 0.12869 0.129142 0.129595 0.130049 0.130503 0.130957
+0.131412 0.131867 0.132323 0.132779 0.133236 0.133693 0.13415 0.134608
+0.135066 0.135525 0.135984 0.136444 0.136903 0.137364 0.137825 0.138286
+0.138747 0.139209 0.139671 0.140134 0.140597 0.141061 0.141525 0.141989
+0.142453 0.142918 0.143384 0.143849 0.144315 0.144782 0.145249 0.145716
+0.146183 0.146651 0.147119 0.147587 0.148056 0.148525 0.148995 0.149465
+0.149935 0.150405 0.150876 0.151347 0.151818 0.15229 0.152762 0.153234
+0.153706 0.154179 0.154652 0.155125 0.155599 0.156073 0.156547 0.157021
+0.157496 0.157971 0.158446 0.158922 0.159397 0.159873 0.160349 0.160826
+0.161302 0.161779 0.162256 0.162733 0.163211 0.163689 0.164166 0.164645
+0.165123 0.165601 0.16608 0.166559 0.167038 0.167517 0.167997 0.168476
+0.168956 0.169436 0.169916 0.170396 0.170876 0.171357 0.171837 0.172318
+0.172799 0.17328 0.173761 0.174242 0.174724 0.175205 0.175687 0.176168
+0.17665 0.177132 0.177614 0.178096 0.178578 0.17906 0.179542 0.180025
+0.180507 0.180989 0.181472 0.181954 0.182437 0.18292 0.183402 0.183885
+0.184368 0.18485 0.185333 0.185816 0.186298 0.186781 0.187264 0.187747
+0.188229 0.188712 0.189195 0.189677 0.19016 0.190642 0.191125 0.191607
+0.19209 0.192572 0.193054 0.193537 0.194019 0.194501 0.194983 0.195465
+0.195946 0.196428 0.19691 0.197391 0.197873;
+#A 6000 0.198354 0.198835 0.199316 0.199797 0.200278 0.200758 0.201239
+0.201719 0.202199 0.202679 0.203159 0.203639 0.204118 0.204597 0.205076
+0.205555 0.206034 0.206512 0.206991 0.207469 0.207946 0.208424 0.208901
+0.209378 0.209855 0.210332 0.210808 0.211284 0.21176 0.212236 0.212711
+0.213186 0.213661 0.214135 0.214609 0.215083 0.215557 0.21603 0.216503
+0.216975 0.217448 0.21792 0.218391 0.218862 0.219333 0.219804 0.220274
+0.220744 0.221213 0.221682 0.22215 0.222619 0.223086 0.223554 0.224021
+0.224487 0.224954 0.225419 0.225885 0.226349 0.226814 0.227278 0.227741
+0.228204 0.228667 0.229129 0.22959 0.230051 0.230512 0.230972 0.231432
+0.231891 0.232349 0.232807 0.233265 0.233722 0.234178 0.234634 0.23509
+0.235544 0.235998 0.236452 0.236905 0.237358 0.23781 0.238261 0.238711
+0.239162 0.239611 0.24006 0.240508 0.240956 0.241403 0.241849 0.242294
+0.242739 0.243184 0.243627 0.24407 0.244513 0.244954 0.245395 0.245835
+0.246275 0.246713 0.247151 0.247589 0.248025 0.248461 0.248896 0.249331
+0.249764 0.250197 0.250629 0.25106 0.251491 0.25192 0.252349 0.252777
+0.253205 0.253631 0.254057 0.254481 0.254905 0.255329 0.255751 0.256172
+0.256593 0.257012 0.257431 0.257849 0.258266 0.258682 0.259097 0.259512
+0.259925 0.260338 0.260749 0.26116 0.261569 0.261978 0.262386 0.262793
+0.263199 0.263603 0.264007 0.26441 0.264812 0.265213 0.265613 0.266012
+0.266409 0.266806 0.267202 0.267597 0.267991 0.268383 0.268775 0.269165
+0.269555 0.269943 0.27033 0.270716 0.271101 0.271485 0.271868 0.27225
+0.27263 0.27301 0.273388 0.273765 0.274141 0.274516 0.27489 0.275262
+0.275633 0.276004 0.276372 0.27674 0.277107 0.277472 0.277836 0.278199
+0.27856 0.278921 0.27928 0.279637 0.279994 0.280349 0.280703 0.281056
+0.281407 0.281757 0.282106 0.282454 0.2828 0.283145 0.283488 0.28383
+0.284171 0.28451 0.284848 0.285185 0.28552 0.285854 0.286187 0.286518
+0.286848 0.287176 0.287503 0.287829 0.288153 0.288475 0.288796 0.289116
+0.289434 0.289751 0.290066 0.29038 0.290693 0.291003 0.291313 0.291621
+0.291927 0.292232 0.292535 0.292837 0.293137 0.293436 0.293733 0.294028
+0.294322 0.294614 0.294905 0.295194 0.295482 0.295768 0.296052 0.296335
+0.296616 0.296896 0.297173 0.29745 0.297724 0.297997 0.298268 0.298538
+0.298806 0.299072 0.299336 0.299599 0.29986 0.300119 0.300377 0.300633
+0.300887 0.301139 0.30139 0.301639 0.301886 0.302131 0.302375 0.302617
+0.302856 0.303095 0.303331 0.303566 0.303798 0.304029 0.304258 0.304485
+0.304711 0.304934 0.305156 0.305376 0.305594 0.30581 0.306024 0.306236
+0.306446 0.306655 0.306861 0.307066 0.307268 0.307469 0.307668 0.307865
+0.308059 0.308252 0.308443 0.308632 0.308819 0.309004 0.309187 0.309368
+0.309547 0.309724 0.309898 0.310071 0.310242 0.310411 0.310577 0.310742
+0.310905 0.311065 0.311224 0.31138 0.311534 0.311686 0.311836 0.311984
+0.31213 0.312274 0.312415 0.312554 0.312692 0.312827 0.31296 0.31309
+0.313219 0.313345 0.313469 0.313592 0.313711 0.313829 0.313944 0.314057
+0.314168 0.314277 0.314384 0.314488 0.31459 0.314689 0.314787 0.314882
+0.314975 0.315065 0.315154 0.31524 0.315323 0.315405 0.315484 0.315561
+0.315635 0.315707 0.315777 0.315844 0.315909 0.315972 0.316032 0.31609
+0.316146 0.316199 0.316249 0.316298 0.316344 0.316387 0.316428 0.316467
+0.316503 0.316537 0.316568 0.316597 0.316624 0.316648 0.316669 0.316688
+0.316705 0.316719 0.316731 0.31674 0.316746 0.31675 0.316752 0.316751
+0.316747 0.316741 0.316733 0.316722 0.316708 0.316692 0.316673 0.316651
+0.316628 0.316601 0.316572 0.31654 0.316506 0.316469 0.316429 0.316387
+0.316342 0.316295 0.316245 0.316192 0.316137 0.316079 0.316018 0.315955
+0.315889 0.31582 0.315749 0.315675 0.315598 0.315518 0.315436 0.315351
+0.315264 0.315173 0.31508 0.314985 0.314886 0.314785 0.314681 0.314574
+0.314465 0.314352 0.314237 0.314119 0.313999 0.313875 0.313749 0.31362
+0.313488 0.313354 0.313216 0.313076 0.312933 0.312787 0.312639 0.312487
+0.312333 0.312175 0.312015 0.311852 0.311686 0.311518 0.311346 0.311172
+0.310994 0.310814 0.310631 0.310445 0.310256 0.310064 0.309869 0.309672
+0.309471 0.309268 0.309061 0.308852 0.308639 0.308424 0.308206 0.307985
+0.307761 0.307533 0.307303 0.30707 0.306834 0.306595 0.306353 0.306108
+0.30586 0.305609 0.305355 0.305098 0.304838 0.304575 0.304308 0.304039
+0.303767 0.303492 0.303214 0.302932 0.302648 0.30236 0.30207 0.301776
+0.30148 0.30118 0.300877 0.300571 0.300262 0.29995 0.299635 0.299317
+0.298996 0.298671 0.298344 0.298013 0.297679 0.297342 0.297002 0.296659
+0.296313 0.295963 0.295611 0.295255 0.294896 0.294534 0.294169 0.293801
+0.293429 0.293055 0.292677 0.292296 0.291912 0.291524 0.291134 0.29074
+0.290343 0.289943 0.28954 0.289133 0.288724 0.288311 0.287895 0.287475
+0.287053 0.286627 0.286198 0.285766 0.28533 0.284892 0.28445 0.284005
+0.283556 0.283105 0.28265 0.282191 0.28173 0.281265 0.280798 0.280326
+0.279852 0.279374 0.278893 0.278409 0.277922 0.277431 0.276937 0.276439
+0.275939 0.275435 0.274928 0.274417 0.273903 0.273386 0.272866 0.272342
+0.271815 0.271285 0.270751 0.270214 0.269674 0.26913 0.268583 0.268033
+0.26748 0.266923 0.266363 0.265799 0.265232 0.264662 0.264089 0.263512
+0.262932 0.262348 0.261761 0.261171 0.260577 0.25998 0.25938 0.258777
+0.25817 0.257559 0.256946 0.256329 0.255708 0.255084 0.254457 0.253827
+0.253193 0.252556 0.251915 0.251271 0.250624 0.249973 0.249319 0.248662
+0.248001 0.247337 0.246669 0.245999 0.245324 0.244647 0.243965 0.243281
+0.242593 0.241902 0.241207 0.240509 0.239808 0.239103 0.238395 0.237684
+0.236969 0.23625 0.235529 0.234804 0.234075 0.233343 0.232608 0.231869
+0.231127 0.230382 0.229633 0.228881 0.228125 0.227366 0.226604 0.225838
+0.225069 0.224296 0.22352 0.222741 0.221958 0.221172 0.220382 0.219589
+0.218793 0.217993 0.21719 0.216383 0.215573 0.21476 0.213943 0.213123
+0.2123 0.211473 0.210643 0.209809 0.208972 0.208131 0.207288 0.20644
+0.20559 0.204736 0.203878 0.203017 0.202153 0.201286 0.200415 0.19954
+0.198663 0.197782 0.196897 0.196009 0.195118 0.194224 0.193326 0.192424
+0.19152 0.190611 0.1897 0.188785 0.187867 0.186945 0.18602 0.185092
+0.184161 0.183226 0.182287 0.181345 0.1804 0.179452 0.1785 0.177545
+0.176586 0.175625 0.174659 0.173691 0.172719 0.171744 0.170765 0.169784
+0.168798 0.16781 0.166818 0.165823 0.164824 0.163822 0.162817 0.161809
+0.160797 0.159782 0.158763 0.157742 0.156717 0.155688 0.154657 0.153622
+0.152583 0.151542 0.150497 0.149449 0.148398 0.147343 0.146285 0.145224
+0.144159 0.143092 0.142021 0.140946 0.139869 0.138788 0.137704 0.136616
+0.135526 0.134432 0.133335 0.132235 0.131131 0.130024 0.128914 0.127801
+0.126685 0.125565 0.124442 0.123316 0.122187 0.121054 0.119919 0.11878
+0.117638 0.116492 0.115344 0.114192 0.113037 0.111879 0.110718 0.109554
+0.108386 0.107216 0.106042 0.104865 0.103685 0.102502 0.101315 0.100126
+0.0989332 0.0977375 0.0965386 0.0953366 0.0941315 0.0929233 0.091712
+0.0904976 0.0892801 0.0880595 0.0868359 0.0856092 0.0843793 0.0831465
+0.0819105 0.0806716 0.0794295 0.0781844 0.0769363 0.0756851 0.0744309
+0.0731736 0.0719134 0.0706501 0.0693838 0.0681145 0.0668423 0.065567
+0.0642887 0.0630074 0.0617231 0.0604359 0.0591457 0.0578526 0.0565565
+0.0552574 0.0539554 0.0526504 0.0513425 0.0500317 0.048718 0.0474013
+0.0460817 0.0447593 0.0434339 0.0421056 0.0407745 0.0394404 0.0381035
+0.0367637 0.035421 0.0340756 0.0327272 0.031376 0.030022 0.0286651
+0.0273054 0.0259428 0.0245775 0.0232094 0.0218384 0.0204647 0.0190882
+0.0177089 0.0163268 0.014942 0.0135544 0.012164 0.0107709 0.0093751
+0.00797651 0.00657521 0.00517121 0.00376449 0.00235504 0.00094293 -0.000471906
+-0.0018894 -0.00330959 -0.00473244 -0.00615795 -0.00758612 -0.00901695
+-0.0104504 -0.0118865 -0.0133252 -0.0147665 -0.0162105 -0.017657 -0.0191061
+-0.0205579 -0.0220122 -0.023469 -0.0249285 -0.0263905 -0.027855 -0.0293221
+-0.0307917 -0.0322639 -0.0337386 -0.0352157 -0.0366954 -0.0381776 -0.0396623
+-0.0411494 -0.042639 -0.0441311 -0.0456256 -0.0471225 -0.048622 -0.0501238
+-0.051628 -0.0531347 -0.0546438 -0.0561552 -0.0576691 -0.0591853 -0.0607039
+-0.0622248 -0.0637482 -0.0652738 -0.0668018 -0.0683321 -0.0698647 -0.0713997
+-0.0729369 -0.0744765 -0.0760183 -0.0775624 -0.0791087 -0.0806573 -0.0822082
+-0.0837613 -0.0853166 -0.0868741 -0.0884339 -0.0899959 -0.09156 -0.0931263
+-0.0946949 -0.0962655 -0.0978384 -0.0994133 -0.10099 -0.10257 -0.104151
+-0.105734 -0.10732 -0.108908 -0.110497 -0.112089 -0.113683 -0.115279
+-0.116877 -0.118477 -0.120079 -0.121683 -0.123289 -0.124897 -0.126507
+-0.128119 -0.129733 -0.131349 -0.132966 -0.134586 -0.136208 -0.137831
+-0.139457 -0.141084 -0.142714 -0.144345 -0.145978 -0.147613 -0.149249
+-0.150888 -0.152528 -0.15417 -0.155814 -0.15746 -0.159107 -0.160757
+-0.162408 -0.16406 -0.165715 -0.167371 -0.169029 -0.170689 -0.17235
+-0.174013 -0.175678 -0.177344 -0.179012 -0.180682 -0.182353 -0.184026
+-0.1857 -0.187376 -0.189054 -0.190733 -0.192414 -0.194096 -0.19578
+-0.197466 -0.199153 -0.200841 -0.202531 -0.204222 -0.205915 -0.20761
+-0.209305 -0.211003 -0.212701 -0.214401 -0.216103 -0.217806 -0.21951
+-0.221215 -0.222922 -0.224631 -0.22634 -0.228051 -0.229764 -0.231477
+-0.233192 -0.234908 -0.236626 -0.238344 -0.240064 -0.241785 -0.243507
+-0.245231 -0.246956 -0.248682 -0.250409 -0.252137 -0.253866 -0.255597
+-0.257328 -0.259061 -0.260795 -0.26253 -0.264266 -0.266003 -0.267741
+-0.26948 -0.27122 -0.272961 -0.274703 -0.276446;
+#A 7000 -0.27819 -0.279935 -0.281681 -0.283428 -0.285176 -0.286925
+-0.288674 -0.290425 -0.292176 -0.293928 -0.295682 -0.297435 -0.29919
+-0.300946 -0.302702 -0.304459 -0.306217 -0.307976 -0.309735 -0.311495
+-0.313256 -0.315018 -0.31678 -0.318543 -0.320306 -0.32207 -0.323835
+-0.325601 -0.327367 -0.329134 -0.330901 -0.332669 -0.334437 -0.336206
+-0.337976 -0.339746 -0.341516 -0.343287 -0.345059 -0.346831 -0.348603
+-0.350376 -0.352149 -0.353923 -0.355697 -0.357472 -0.359246 -0.361022
+-0.362797 -0.364573 -0.36635 -0.368126 -0.369903 -0.37168 -0.373457
+-0.375235 -0.377013 -0.378791 -0.380569 -0.382348 -0.384127 -0.385905
+-0.387685 -0.389464 -0.391243 -0.393022 -0.394802 -0.396581 -0.398361
+-0.400141 -0.401921 -0.4037 -0.40548 -0.40726 -0.40904 -0.41082 -0.4126
+-0.414379 -0.416159 -0.417938 -0.419718 -0.421497 -0.423277 -0.425056
+-0.426835 -0.428613 -0.430392 -0.43217 -0.433949 -0.435727 -0.437504
+-0.439282 -0.441059 -0.442836 -0.444613 -0.446389 -0.448165 -0.449941
+-0.451716 -0.453491 -0.455266 -0.45704 -0.458814 -0.460588 -0.462361
+-0.464133 -0.465905 -0.467677 -0.469448 -0.471218 -0.472989 -0.474758
+-0.476527 -0.478296 -0.480063 -0.481831 -0.483597 -0.485363 -0.487129
+-0.488893 -0.490658 -0.492421 -0.494184 -0.495946 -0.497707 -0.499467
+-0.501227 -0.502986 -0.504744 -0.506502 -0.508258 -0.510014 -0.511769
+-0.513523 -0.515276 -0.517029 -0.51878 -0.520531 -0.52228 -0.524029
+-0.525777 -0.527523 -0.529269 -0.531014 -0.532758 -0.5345 -0.536242
+-0.537983 -0.539722 -0.54146 -0.543198 -0.544934 -0.546669 -0.548403
+-0.550136 -0.551867 -0.553597 -0.555327 -0.557054 -0.558781 -0.560507
+-0.562231 -0.563954 -0.565675 -0.567395 -0.569114 -0.570832 -0.572548
+-0.574263 -0.575976 -0.577689 -0.579399 -0.581108 -0.582816 -0.584522
+-0.586227 -0.587931 -0.589632 -0.591333 -0.593032 -0.594729 -0.596424
+-0.598118 -0.599811 -0.601502 -0.603191 -0.604879 -0.606565 -0.608249
+-0.609931 -0.611612 -0.613292 -0.614969 -0.616645 -0.618318 -0.619991
+-0.621661 -0.62333 -0.624996 -0.626661 -0.628324 -0.629985 -0.631645
+-0.633302 -0.634958 -0.636611 -0.638263 -0.639913 -0.64156 -0.643206
+-0.64485 -0.646492 -0.648131 -0.649769 -0.651405 -0.653038 -0.65467
+-0.656299 -0.657926 -0.659551 -0.661174 -0.662795 -0.664413 -0.66603
+-0.667644 -0.669256 -0.670866 -0.672473 -0.674078 -0.675681 -0.677282
+-0.67888 -0.680476 -0.68207 -0.683661 -0.68525 -0.686837 -0.688421
+-0.690003 -0.691582 -0.693159 -0.694733 -0.696305 -0.697875 -0.699442
+-0.701006 -0.702568 -0.704127 -0.705684 -0.707238 -0.70879 -0.710339
+-0.711885 -0.713429 -0.71497 -0.716509 -0.718045 -0.719578 -0.721108
+-0.722636 -0.724161 -0.725683 -0.727202 -0.728719 -0.730233 -0.731744
+-0.733252 -0.734757 -0.73626 -0.737759 -0.739256 -0.74075 -0.742241
+-0.743729 -0.745214 -0.746696 -0.748175 -0.749652 -0.751125 -0.752595
+-0.754062 -0.755526 -0.756987 -0.758445 -0.7599 -0.761352 -0.762801
+-0.764246 -0.765689 -0.767128 -0.768564 -0.769997 -0.771427 -0.772853
+-0.774277 -0.775697 -0.777113 -0.778527 -0.779937 -0.781344 -0.782748
+-0.784148 -0.785545 -0.786939 -0.788329 -0.789716 -0.7911 -0.79248
+-0.793856 -0.79523 -0.796599 -0.797966 -0.799329 -0.800688 -0.802044
+-0.803396 -0.804745 -0.80609 -0.807432 -0.80877 -0.810105 -0.811436
+-0.812763 -0.814087 -0.815407 -0.816723 -0.818036 -0.819345 -0.82065
+-0.821952 -0.82325 -0.824544 -0.825835 -0.827121 -0.828404 -0.829683
+-0.830959 -0.83223 -0.833498 -0.834762 -0.836022 -0.837278 -0.83853
+-0.839778 -0.841023 -0.842263 -0.8435 -0.844732 -0.845961 -0.847186
+-0.848406 -0.849623 -0.850836 -0.852045 -0.853249 -0.85445 -0.855646
+-0.856839 -0.858027 -0.859211 -0.860391 -0.861567 -0.862739 -0.863907
+-0.86507 -0.86623 -0.867385 -0.868536 -0.869682 -0.870825 -0.871963
+-0.873097 -0.874227 -0.875352 -0.876473 -0.87759 -0.878703 -0.879811
+-0.880915 -0.882014 -0.883109 -0.8842 -0.885287 -0.886369 -0.887446
+-0.888519 -0.889588 -0.890652 -0.891712 -0.892767 -0.893818 -0.894864
+-0.895906 -0.896943 -0.897976 -0.899004 -0.900028 -0.901047 -0.902061
+-0.903071 -0.904076 -0.905077 -0.906073 -0.907064 -0.908051 -0.909033
+-0.91001 -0.910983 -0.911951 -0.912914 -0.913873 -0.914826 -0.915775
+-0.91672 -0.917659 -0.918594 -0.919524 -0.920449 -0.921369 -0.922285
+-0.923196 -0.924101 -0.925002 -0.925898 -0.92679 -0.927676 -0.928558
+-0.929434 -0.930306 -0.931172 -0.932034 -0.932891 -0.933743 -0.934589
+-0.935431 -0.936268 -0.9371 -0.937927 -0.938749 -0.939565 -0.940377
+-0.941184 -0.941985 -0.942782 -0.943573 -0.944359 -0.945141 -0.945917
+-0.946688 -0.947454 -0.948214 -0.94897 -0.94972 -0.950465 -0.951205
+-0.95194 -0.952669 -0.953394 -0.954113 -0.954827 -0.955535 -0.956239
+-0.956937 -0.957629 -0.958317 -0.958999 -0.959676 -0.960348 -0.961014
+-0.961675 -0.96233 -0.962981 -0.963625 -0.964265 -0.964899 -0.965528
+-0.966151 -0.966769 -0.967382 -0.967989 -0.96859 -0.969187 -0.969777
+-0.970363 -0.970942 -0.971517 -0.972086 -0.972649 -0.973207 -0.973759
+-0.974306 -0.974847 -0.975383 -0.975913 -0.976438 -0.976957 -0.977471
+-0.977979 -0.978481 -0.978978 -0.979469 -0.979954 -0.980434 -0.980909
+-0.981377 -0.98184 -0.982298 -0.982749 -0.983195 -0.983636 -0.98407
+-0.9845 -0.984923 -0.98534 -0.985752 -0.986158 -0.986559 -0.986954
+-0.987343 -0.987726 -0.988103 -0.988475 -0.988841 -0.989201 -0.989556
+-0.989904 -0.990247 -0.990584 -0.990915 -0.99124 -0.99156 -0.991874
+-0.992182 -0.992483 -0.99278 -0.99307 -0.993354 -0.993633 -0.993906
+-0.994172 -0.994433 -0.994688 -0.994938 -0.995181 -0.995418 -0.995649
+-0.995875 -0.996094 -0.996308 -0.996516 -0.996717 -0.996913 -0.997103
+-0.997287 -0.997464 -0.997636 -0.997802 -0.997962 -0.998116 -0.998264
+-0.998406 -0.998542 -0.998672 -0.998795 -0.998913 -0.999025 -0.999131
+-0.99923 -0.999324 -0.999412 -0.999493 -0.999569 -0.999638 -0.999701
+-0.999759 -0.99981 -0.999855 -0.999894 -0.999927 -0.999954 -0.999974
+-0.999989 -0.999998 -1 -0.999996 -0.999986 -0.99997 -0.999948 -0.99992
+-0.999886 -0.999845 -0.999798 -0.999746 -0.999687 -0.999622 -0.99955
+-0.999473 -0.999389 -0.999299 -0.999203 -0.999101 -0.998993 -0.998878
+-0.998758 -0.998631 -0.998498 -0.998358 -0.998213 -0.998061 -0.997903
+-0.997739 -0.997569 -0.997392 -0.997209 -0.99702 -0.996825 -0.996624
+-0.996416 -0.996202 -0.995982 -0.995755 -0.995523 -0.995284 -0.995039
+-0.994787 -0.99453 -0.994266 -0.993996 -0.993719 -0.993437 -0.993148
+-0.992853 -0.992552 -0.992244 -0.99193 -0.99161 -0.991283 -0.990951
+-0.990612 -0.990266 -0.989915 -0.989557 -0.989193 -0.988822 -0.988446
+-0.988063 -0.987674 -0.987278 -0.986876 -0.986468 -0.986054 -0.985633
+-0.985206 -0.984773 -0.984334 -0.983888 -0.983436 -0.982978 -0.982513
+-0.982042 -0.981565 -0.981082 -0.980592 -0.980096 -0.979593 -0.979085
+-0.97857 -0.978049 -0.977521 -0.976987 -0.976447 -0.975901 -0.975348
+-0.974789 -0.974224 -0.973652 -0.973074 -0.97249 -0.9719 -0.971303
+-0.9707 -0.970091 -0.969476 -0.968854 -0.968226 -0.967591 -0.966951
+-0.966304 -0.965651 -0.964991 -0.964325 -0.963654 -0.962975 -0.962291
+-0.9616 -0.960903 -0.960199 -0.95949 -0.958774 -0.958052 -0.957323
+-0.956589 -0.955848 -0.955101 -0.954347 -0.953588 -0.952822 -0.95205
+-0.951271 -0.950487 -0.949696 -0.948899 -0.948096 -0.947286 -0.94647
+-0.945648 -0.94482 -0.943986 -0.943145 -0.942298 -0.941445 -0.940586
+-0.939721 -0.938849 -0.937971 -0.937087 -0.936197 -0.935301 -0.934398
+-0.933489 -0.932574 -0.931653 -0.930726 -0.929792 -0.928853 -0.927907
+-0.926955 -0.925997 -0.925033 -0.924062 -0.923086 -0.922103 -0.921115
+-0.92012 -0.919119 -0.918112 -0.917098 -0.916079 -0.915054 -0.914022
+-0.912984 -0.911941 -0.910891 -0.909835 -0.908773 -0.907705 -0.906631
+-0.90555 -0.904464 -0.903372 -0.902274 -0.901169 -0.900059 -0.898942
+-0.89782 -0.896691 -0.895557 -0.894416 -0.89327 -0.892117 -0.890959
+-0.889794 -0.888624 -0.887447 -0.886265 -0.885076 -0.883882 -0.882682
+-0.881475 -0.880263 -0.879045 -0.877821 -0.876591 -0.875355 -0.874113
+-0.872865 -0.871612 -0.870352 -0.869087 -0.867815 -0.866538 -0.865255
+-0.863966 -0.862672 -0.861371 -0.860065 -0.858752 -0.857434 -0.85611
+-0.854781 -0.853445 -0.852104 -0.850757 -0.849404 -0.848045 -0.846681
+-0.845311 -0.843935 -0.842553 -0.841166 -0.839773 -0.838374 -0.836969
+-0.835559 -0.834143 -0.832721 -0.831294 -0.829861 -0.828422 -0.826978
+-0.825528 -0.824072 -0.822611 -0.821144 -0.819672 -0.818194 -0.81671
+-0.81522 -0.813726 -0.812225 -0.810719 -0.809208 -0.807691 -0.806168
+-0.80464 -0.803106 -0.801567 -0.800022 -0.798472 -0.796916 -0.795355
+-0.793788 -0.792216 -0.790639 -0.789056 -0.787467 -0.785873 -0.784274
+-0.78267 -0.78106 -0.779444 -0.777823 -0.776197 -0.774566 -0.772929
+-0.771287 -0.769639 -0.767986 -0.766328 -0.764665 -0.762996 -0.761322
+-0.759643 -0.757959 -0.756269 -0.754574 -0.752874 -0.751168 -0.749458
+-0.747742 -0.746021 -0.744295 -0.742564 -0.740827 -0.739086 -0.737339
+-0.735587 -0.73383 -0.732068 -0.730301 -0.728529 -0.726752 -0.72497
+-0.723182 -0.72139 -0.719593 -0.71779 -0.715983 -0.714171 -0.712353
+-0.710531 -0.708704 -0.706872 -0.705035 -0.703193 -0.701346 -0.699494
+-0.697638 -0.695776 -0.69391 -0.692039 -0.690163 -0.688282 -0.686396
+-0.684506 -0.682611 -0.680711 -0.678806 -0.676897 -0.674983 -0.673064
+-0.67114 -0.669212 -0.667279 -0.665341 -0.663399 -0.661452 -0.6595
+-0.657544 -0.655583 -0.653618 -0.651648 -0.649673 -0.647694 -0.645711
+-0.643723 -0.64173 -0.639733 -0.637731 -0.635725 -0.633714 -0.631699
+-0.62968 -0.627656 -0.625628 -0.623595 -0.621558 -0.619516 -0.61747
+-0.61542 -0.613366 -0.611307 -0.609244 -0.607176 -0.605105 -0.603029
+-0.600949 -0.598864 -0.596776 -0.594683 -0.592586 -0.590485 -0.588379
+-0.58627 -0.584156 -0.582038 -0.579917 -0.577791 -0.575661 -0.573526
+-0.571388 -0.569246 -0.5671 -0.56495 -0.562796 -0.560637 -0.558475
+-0.556309 -0.554139 -0.551965 -0.549788 -0.547606 -0.54542 -0.543231
+-0.541038 -0.53884 -0.53664 -0.534435 -0.532226 -0.530014 -0.527798
+-0.525578 -0.523355 -0.521128 -0.518897 -0.516662 -0.514424 -0.512182
+-0.509937 -0.507688 -0.505435 -0.503179 -0.500919 -0.498655 -0.496388
+-0.494118 -0.491844 -0.489566 -0.487285 -0.485001;
+#A 8000 -0.482713 -0.480422 -0.478127 -0.475829 -0.473528 -0.471223
+-0.468915 -0.466603 -0.464288 -0.46197 -0.459649 -0.457324 -0.454996
+-0.452665 -0.45033 -0.447993 -0.445652 -0.443308 -0.440961 -0.438611
+-0.436257 -0.433901 -0.431541 -0.429179 -0.426813 -0.424444 -0.422072
+-0.419698 -0.41732 -0.414939 -0.412555 -0.410169 -0.407779 -0.405387
+-0.402991 -0.400593 -0.398192 -0.395788 -0.393381 -0.390972 -0.388559
+-0.386144 -0.383726 -0.381306 -0.378882 -0.376456 -0.374027 -0.371596
+-0.369162 -0.366725 -0.364286 -0.361844 -0.359399 -0.356952 -0.354503
+-0.35205 -0.349596 -0.347139 -0.344679 -0.342217 -0.339752 -0.337285
+-0.334816 -0.332344 -0.32987 -0.327393 -0.324914 -0.322433 -0.319949
+-0.317464 -0.314976 -0.312485 -0.309993 -0.307498 -0.305001 -0.302502
+-0.3 -0.297497 -0.294991 -0.292483 -0.289973 -0.287462 -0.284948 -0.282432
+-0.279913 -0.277393 -0.274871 -0.272347 -0.269821 -0.267293 -0.264764
+-0.262232 -0.259698 -0.257163 -0.254626 -0.252086 -0.249546 -0.247003
+-0.244458 -0.241912 -0.239364 -0.236814 -0.234263 -0.23171 -0.229155
+-0.226599 -0.224041 -0.221481 -0.21892 -0.216357 -0.213793 -0.211227
+-0.20866 -0.206091 -0.20352 -0.200948 -0.198375 -0.195801 -0.193224
+-0.190647 -0.188068 -0.185488 -0.182906 -0.180323 -0.177739 -0.175154
+-0.172567 -0.169979 -0.16739 -0.1648 -0.162208 -0.159616 -0.157022
+-0.154427 -0.151831 -0.149234 -0.146635 -0.144036 -0.141436 -0.138834
+-0.136232 -0.133629 -0.131024 -0.128419 -0.125813 -0.123206 -0.120598
+-0.117989 -0.115379 -0.112769 -0.110158 -0.107546 -0.104933 -0.102319
+-0.0997047 -0.0970896 -0.0944739 -0.0918574 -0.0892403 -0.0866226 -0.0840042
+-0.0813852 -0.0787656 -0.0761455 -0.0735248 -0.0709036 -0.0682819 -0.0656597
+-0.063037 -0.0604139 -0.0577903 -0.0551663 -0.0525419 -0.0499172 -0.047292
+-0.0446666 -0.0420408 -0.0394147 -0.0367883 -0.0341617 -0.0315348 -0.0289077
+-0.0262804 -0.0236529 -0.0210252 -0.0183974 -0.0157695 -0.0131414 -0.0105132
+-0.00788498 -0.00525669 -0.00262835;
+#X coords 0 1 8191 -1 100 70 1;
+#X restore 355 67 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array window 8192 float 3;
+#A 0 0 0.00490196 0.00980392 0.0147059 0.0196078 0.0245098 0.0294118
+0.0343137 0.0392157 0.0441176 0.0490196 0.0539216 0.0588235 0.0637255
+0.0686275 0.0735294 0.0784314 0.0833333 0.0882353 0.0931373 0.0980392
+0.102941 0.107843 0.112745 0.117647 0.122549 0.127451 0.132353 0.137255
+0.142157 0.147059 0.151961 0.156863 0.161765 0.166667 0.171569 0.176471
+0.181373 0.186275 0.191176 0.196078 0.20098 0.205882 0.210784 0.215686
+0.220588 0.22549 0.230392 0.235294 0.240196 0.245098 0.25 0.254902
+0.259804 0.264706 0.269608 0.27451 0.279412 0.284314 0.289216 0.294118
+0.29902 0.303922 0.308824 0.313726 0.318627 0.323529 0.328431 0.333333
+0.338235 0.343137 0.348039 0.352941 0.357843 0.362745 0.367647 0.372549
+0.377451 0.382353 0.387255 0.392157 0.397059 0.401961 0.406863 0.411765
+0.416667 0.421569 0.426471 0.431373 0.436274 0.441176 0.446078 0.45098
+0.455882 0.460784 0.465686 0.470588 0.47549 0.480392 0.485294 0.490196
+0.495098 0.5 0.504902 0.509804 0.514706 0.519608 0.52451 0.529412 0.534314
+0.539216 0.544118 0.54902 0.553922 0.558824 0.563725 0.568627 0.573529
+0.578431 0.583333 0.588235 0.593137 0.598039 0.602941 0.607843 0.612745
+0.617647 0.622549 0.627451 0.632353 0.637255 0.642157 0.647059 0.651961
+0.656863 0.661765 0.666667 0.671569 0.676471 0.681373 0.686275 0.691176
+0.696078 0.70098 0.705882 0.710784 0.715686 0.720588 0.72549 0.730392
+0.735294 0.740196 0.745098 0.75 0.754902 0.759804 0.764706 0.769608
+0.77451 0.779412 0.784314 0.789216 0.794118 0.79902 0.803922 0.808824
+0.813725 0.818627 0.823529 0.828431 0.833333 0.838235 0.843137 0.848039
+0.852941 0.857843 0.862745 0.867647 0.872549 0.877451 0.882353 0.887255
+0.892157 0.897059 0.901961 0.906863 0.911765 0.916667 0.921569 0.926471
+0.931373 0.936275 0.941176 0.946078 0.95098 0.955882 0.960784 0.965686
+0.970588 0.97549 0.980392 0.985294 0.990196 0.995098 1 0.999875 0.99975
+0.999624 0.999499 0.999374 0.999249 0.999124 0.998999 0.998873 0.998748
+0.998623 0.998498 0.998373 0.998247 0.998122 0.997997 0.997872 0.997747
+0.997621 0.997496 0.997371 0.997246 0.997121 0.996996 0.99687 0.996745
+0.99662 0.996495 0.99637 0.996244 0.996119 0.995994 0.995869 0.995744
+0.995618 0.995493 0.995368 0.995243 0.995118 0.994992 0.994867 0.994742
+0.994617 0.994492 0.994367 0.994241 0.994116 0.993991 0.993866 0.993741
+0.993615 0.99349 0.993365 0.99324 0.993115 0.992989 0.992864 0.992739
+0.992614 0.992489 0.992364 0.992238 0.992113 0.991988 0.991863 0.991738
+0.991612 0.991487 0.991362 0.991237 0.991112 0.990986 0.990861 0.990736
+0.990611 0.990486 0.990361 0.990235 0.99011 0.989985 0.98986 0.989735
+0.989609 0.989484 0.989359 0.989234 0.989109 0.988983 0.988858 0.988733
+0.988608 0.988483 0.988358 0.988232 0.988107 0.987982 0.987857 0.987732
+0.987606 0.987481 0.987356 0.987231 0.987106 0.98698 0.986855 0.98673
+0.986605 0.98648 0.986355 0.986229 0.986104 0.985979 0.985854 0.985729
+0.985603 0.985478 0.985353 0.985228 0.985103 0.984977 0.984852 0.984727
+0.984602 0.984477 0.984352 0.984226 0.984101 0.983976 0.983851 0.983726
+0.9836 0.983475 0.98335 0.983225 0.9831 0.982974 0.982849 0.982724
+0.982599 0.982474 0.982349 0.982223 0.982098 0.981973 0.981848 0.981723
+0.981597 0.981472 0.981347 0.981222 0.981097 0.980971 0.980846 0.980721
+0.980596 0.980471 0.980346 0.98022 0.980095 0.97997 0.979845 0.97972
+0.979594 0.979469 0.979344 0.979219 0.979094 0.978968 0.978843 0.978718
+0.978593 0.978468 0.978343 0.978217 0.978092 0.977967 0.977842 0.977717
+0.977591 0.977466 0.977341 0.977216 0.977091 0.976965 0.97684 0.976715
+0.97659 0.976465 0.97634 0.976214 0.976089 0.975964 0.975839 0.975714
+0.975588 0.975463 0.975338 0.975213 0.975088 0.974962 0.974837 0.974712
+0.974587 0.974462 0.974337 0.974211 0.974086 0.973961 0.973836 0.973711
+0.973585 0.97346 0.973335 0.97321 0.973085 0.972959 0.972834 0.972709
+0.972584 0.972459 0.972333 0.972208 0.972083 0.971958 0.971833 0.971708
+0.971582 0.971457 0.971332 0.971207 0.971082 0.970956 0.970831 0.970706
+0.970581 0.970456 0.97033 0.970205 0.97008 0.969955 0.96983 0.969705
+0.969579 0.969454 0.969329 0.969204 0.969079 0.968953 0.968828 0.968703
+0.968578 0.968453 0.968327 0.968202 0.968077 0.967952 0.967827 0.967702
+0.967576 0.967451 0.967326 0.967201 0.967076 0.96695 0.966825 0.9667
+0.966575 0.96645 0.966325 0.966199 0.966074 0.965949 0.965824 0.965699
+0.965573 0.965448 0.965323 0.965198 0.965073 0.964947 0.964822 0.964697
+0.964572 0.964447 0.964321 0.964196 0.964071 0.963946 0.963821 0.963696
+0.96357 0.963445 0.96332 0.963195 0.96307 0.962944 0.962819 0.962694
+0.962569 0.962444 0.962318 0.962193 0.962068 0.961943 0.961818 0.961693
+0.961567 0.961442 0.961317 0.961192 0.961067 0.960941 0.960816 0.960691
+0.960566 0.960441 0.960315 0.96019 0.960065 0.95994 0.959815 0.95969
+0.959564 0.959439 0.959314 0.959189 0.959064 0.958938 0.958813 0.958688
+0.958563 0.958438 0.958312 0.958187 0.958062 0.957937 0.957812 0.957687
+0.957561 0.957436 0.957311 0.957186 0.957061 0.956935 0.95681 0.956685
+0.95656 0.956435 0.956309 0.956184 0.956059 0.955934 0.955809 0.955684
+0.955558 0.955433 0.955308 0.955183 0.955058 0.954932 0.954807 0.954682
+0.954557 0.954432 0.954306 0.954181 0.954056 0.953931 0.953806 0.953681
+0.953555 0.95343 0.953305 0.95318 0.953055 0.952929 0.952804 0.952679
+0.952554 0.952429 0.952303 0.952178 0.952053 0.951928 0.951803 0.951678
+0.951552 0.951427 0.951302 0.951177 0.951052 0.950926 0.950801 0.950676
+0.950551 0.950426 0.9503 0.950175 0.95005 0.949925 0.9498 0.949674
+0.949549 0.949424 0.949299 0.949174 0.949049 0.948923 0.948798 0.948673
+0.948548 0.948423 0.948297 0.948172 0.948047 0.947922 0.947797 0.947672
+0.947546 0.947421 0.947296 0.947171 0.947046 0.94692 0.946795 0.94667
+0.946545 0.94642 0.946294 0.946169 0.946044 0.945919 0.945794 0.945669
+0.945543 0.945418 0.945293 0.945168 0.945043 0.944917 0.944792 0.944667
+0.944542 0.944417 0.944291 0.944166 0.944041 0.943916 0.943791 0.943666
+0.94354 0.943415 0.94329 0.943165 0.94304 0.942914 0.942789 0.942664
+0.942539 0.942414 0.942288 0.942163 0.942038 0.941913 0.941788 0.941662
+0.941537 0.941412 0.941287 0.941162 0.941037 0.940911 0.940786 0.940661
+0.940536 0.940411 0.940285 0.94016 0.940035 0.93991 0.939785 0.939659
+0.939534 0.939409 0.939284 0.939159 0.939034 0.938908 0.938783 0.938658
+0.938533 0.938408 0.938282 0.938157 0.938032 0.937907 0.937782 0.937656
+0.937531 0.937406 0.937281 0.937156 0.937031 0.936905 0.93678 0.936655
+0.93653 0.936405 0.936279 0.936154 0.936029 0.935904 0.935779 0.935654
+0.935528 0.935403 0.935278 0.935153 0.935028 0.934902 0.934777 0.934652
+0.934527 0.934402 0.934276 0.934151 0.934026 0.933901 0.933776 0.93365
+0.933525 0.9334 0.933275 0.93315 0.933025 0.932899 0.932774 0.932649
+0.932524 0.932399 0.932273 0.932148 0.932023 0.931898 0.931773 0.931647
+0.931522 0.931397 0.931272 0.931147 0.931022 0.930896 0.930771 0.930646
+0.930521 0.930396 0.93027 0.930145 0.93002 0.929895 0.92977 0.929644
+0.929519 0.929394 0.929269 0.929144 0.929019 0.928893 0.928768 0.928643
+0.928518 0.928393 0.928267 0.928142 0.928017 0.927892 0.927767 0.927641
+0.927516 0.927391 0.927266 0.927141 0.927016 0.92689 0.926765 0.92664
+0.926515 0.92639 0.926264 0.926139 0.926014 0.925889 0.925764 0.925638
+0.925513 0.925388 0.925263 0.925138 0.925013 0.924887 0.924762 0.924637
+0.924512 0.924387 0.924261 0.924136 0.924011 0.923886 0.923761 0.923635
+0.92351 0.923385 0.92326 0.923135 0.92301 0.922884 0.922759 0.922634
+0.922509 0.922384 0.922258 0.922133 0.922008 0.921883 0.921758 0.921632
+0.921507 0.921382 0.921257 0.921132 0.921007 0.920881 0.920756 0.920631
+0.920506 0.920381 0.920255 0.92013 0.920005 0.91988 0.919755 0.919629
+0.919504 0.919379 0.919254 0.919129 0.919003 0.918878 0.918753 0.918628
+0.918503 0.918378 0.918252 0.918127 0.918002 0.917877 0.917752 0.917626
+0.917501 0.917376 0.917251 0.917126 0.917 0.916875 0.91675 0.916625
+0.9165 0.916375 0.916249 0.916124 0.915999 0.915874 0.915749 0.915623
+0.915498 0.915373 0.915248 0.915123 0.914998 0.914872 0.914747 0.914622
+0.914497 0.914372 0.914246 0.914121 0.913996 0.913871 0.913746 0.91362
+0.913495 0.91337 0.913245 0.91312 0.912995 0.912869 0.912744 0.912619
+0.912494 0.912369 0.912243 0.912118 0.911993 0.911868 0.911743 0.911617
+0.911492 0.911367 0.911242 0.911117 0.910991 0.910866 0.910741 0.910616
+0.910491 0.910366 0.91024 0.910115 0.90999 0.909865 0.90974 0.909614
+0.909489 0.909364 0.909239 0.909114 0.908988 0.908863 0.908738 0.908613
+0.908488 0.908363 0.908237 0.908112 0.907987 0.907862 0.907737 0.907611
+0.907486 0.907361 0.907236 0.907111 0.906985 0.90686 0.906735 0.90661
+0.906485 0.90636 0.906234 0.906109 0.905984 0.905859 0.905734 0.905608
+0.905483 0.905358 0.905233 0.905108 0.904982 0.904857 0.904732 0.904607
+0.904482 0.904357 0.904231 0.904106 0.903981 0.903856 0.903731 0.903605
+0.90348 0.903355 0.90323 0.903105 0.902979 0.902854 0.902729 0.902604
+0.902479 0.902354 0.902228 0.902103 0.901978 0.901853 0.901728 0.901602
+0.901477 0.901352 0.901227 0.901102 0.900976 0.900851 0.900726 0.900601
+0.900476;
+#A 1000 0.900351 0.900225 0.9001 0.899975 0.89985 0.899725 0.899599
+0.899474 0.899349 0.899224 0.899099 0.898973 0.898848 0.898723 0.898598
+0.898473 0.898347 0.898222 0.898097 0.897972 0.897847 0.897722 0.897596
+0.897471 0.897346 0.897221 0.897096 0.89697 0.896845 0.89672 0.896595
+0.89647 0.896345 0.896219 0.896094 0.895969 0.895844 0.895719 0.895593
+0.895468 0.895343 0.895218 0.895093 0.894967 0.894842 0.894717 0.894592
+0.894467 0.894342 0.894216 0.894091 0.893966 0.893841 0.893716 0.89359
+0.893465 0.89334 0.893215 0.89309 0.892964 0.892839 0.892714 0.892589
+0.892464 0.892339 0.892213 0.892088 0.891963 0.891838 0.891713 0.891587
+0.891462 0.891337 0.891212 0.891087 0.890961 0.890836 0.890711 0.890586
+0.890461 0.890336 0.89021 0.890085 0.88996 0.889835 0.88971 0.889584
+0.889459 0.889334 0.889209 0.889084 0.888958 0.888833 0.888708 0.888583
+0.888458 0.888332 0.888207 0.888082 0.887957 0.887832 0.887707 0.887581
+0.887456 0.887331 0.887206 0.887081 0.886955 0.88683 0.886705 0.88658
+0.886455 0.886329 0.886204 0.886079 0.885954 0.885829 0.885704 0.885578
+0.885453 0.885328 0.885203 0.885078 0.884952 0.884827 0.884702 0.884577
+0.884452 0.884327 0.884201 0.884076 0.883951 0.883826 0.883701 0.883575
+0.88345 0.883325 0.8832 0.883075 0.882949 0.882824 0.882699 0.882574
+0.882449 0.882324 0.882198 0.882073 0.881948 0.881823 0.881698 0.881572
+0.881447 0.881322 0.881197 0.881072 0.880946 0.880821 0.880696 0.880571
+0.880446 0.88032 0.880195 0.88007 0.879945 0.87982 0.879695 0.879569
+0.879444 0.879319 0.879194 0.879069 0.878943 0.878818 0.878693 0.878568
+0.878443 0.878317 0.878192 0.878067 0.877942 0.877817 0.877692 0.877566
+0.877441 0.877316 0.877191 0.877066 0.87694 0.876815 0.87669 0.876565
+0.87644 0.876314 0.876189 0.876064 0.875939 0.875814 0.875689 0.875563
+0.875438 0.875313 0.875188 0.875063 0.874937 0.874812 0.874687 0.874562
+0.874437 0.874311 0.874186 0.874061 0.873936 0.873811 0.873686 0.87356
+0.873435 0.87331 0.873185 0.87306 0.872934 0.872809 0.872684 0.872559
+0.872434 0.872308 0.872183 0.872058 0.871933 0.871808 0.871683 0.871557
+0.871432 0.871307 0.871182 0.871057 0.870931 0.870806 0.870681 0.870556
+0.870431 0.870305 0.87018 0.870055 0.86993 0.869805 0.86968 0.869554
+0.869429 0.869304 0.869179 0.869054 0.868928 0.868803 0.868678 0.868553
+0.868428 0.868302 0.868177 0.868052 0.867927 0.867802 0.867676 0.867551
+0.867426 0.867301 0.867176 0.867051 0.866925 0.8668 0.866675 0.86655
+0.866425 0.866299 0.866174 0.866049 0.865924 0.865799 0.865673 0.865548
+0.865423 0.865298 0.865173 0.865048 0.864922 0.864797 0.864672 0.864547
+0.864422 0.864296 0.864171 0.864046 0.863921 0.863796 0.863671 0.863545
+0.86342 0.863295 0.86317 0.863045 0.862919 0.862794 0.862669 0.862544
+0.862419 0.862293 0.862168 0.862043 0.861918 0.861793 0.861668 0.861542
+0.861417 0.861292 0.861167 0.861042 0.860916 0.860791 0.860666 0.860541
+0.860416 0.86029 0.860165 0.86004 0.859915 0.85979 0.859664 0.859539
+0.859414 0.859289 0.859164 0.859039 0.858913 0.858788 0.858663 0.858538
+0.858413 0.858287 0.858162 0.858037 0.857912 0.857787 0.857661 0.857536
+0.857411 0.857286 0.857161 0.857036 0.85691 0.856785 0.85666 0.856535
+0.85641 0.856284 0.856159 0.856034 0.855909 0.855784 0.855658 0.855533
+0.855408 0.855283 0.855158 0.855033 0.854907 0.854782 0.854657 0.854532
+0.854407 0.854281 0.854156 0.854031 0.853906 0.853781 0.853655 0.85353
+0.853405 0.85328 0.853155 0.85303 0.852904 0.852779 0.852654 0.852529
+0.852404 0.852278 0.852153 0.852028 0.851903 0.851778 0.851653 0.851527
+0.851402 0.851277 0.851152 0.851027 0.850901 0.850776 0.850651 0.850526
+0.850401 0.850275 0.85015 0.850025 0.8499 0.849775 0.849649 0.849524
+0.849399 0.849274 0.849149 0.849024 0.848898 0.848773 0.848648 0.848523
+0.848398 0.848272 0.848147 0.848022 0.847897 0.847772 0.847646 0.847521
+0.847396 0.847271 0.847146 0.847021 0.846895 0.84677 0.846645 0.84652
+0.846395 0.846269 0.846144 0.846019 0.845894 0.845769 0.845643 0.845518
+0.845393 0.845268 0.845143 0.845018 0.844892 0.844767 0.844642 0.844517
+0.844392 0.844266 0.844141 0.844016 0.843891 0.843766 0.84364 0.843515
+0.84339 0.843265 0.84314 0.843015 0.842889 0.842764 0.842639 0.842514
+0.842389 0.842263 0.842138 0.842013 0.841888 0.841763 0.841637 0.841512
+0.841387 0.841262 0.841137 0.841012 0.840886 0.840761 0.840636 0.840511
+0.840386 0.84026 0.840135 0.84001 0.839885 0.83976 0.839634 0.839509
+0.839384 0.839259 0.839134 0.839009 0.838883 0.838758 0.838633 0.838508
+0.838383 0.838257 0.838132 0.838007 0.837882 0.837757 0.837631 0.837506
+0.837381 0.837256 0.837131 0.837005 0.83688 0.836755 0.83663 0.836505
+0.83638 0.836254 0.836129 0.836004 0.835879 0.835754 0.835628 0.835503
+0.835378 0.835253 0.835128 0.835002 0.834877 0.834752 0.834627 0.834502
+0.834377 0.834251 0.834126 0.834001 0.833876 0.833751 0.833625 0.8335
+0.833375 0.83325 0.833125 0.833 0.832874 0.832749 0.832624 0.832499
+0.832374 0.832248 0.832123 0.831998 0.831873 0.831748 0.831622 0.831497
+0.831372 0.831247 0.831122 0.830997 0.830871 0.830746 0.830621 0.830496
+0.830371 0.830245 0.83012 0.829995 0.82987 0.829745 0.829619 0.829494
+0.829369 0.829244 0.829119 0.828993 0.828868 0.828743 0.828618 0.828493
+0.828368 0.828242 0.828117 0.827992 0.827867 0.827742 0.827616 0.827491
+0.827366 0.827241 0.827116 0.82699 0.826865 0.82674 0.826615 0.82649
+0.826365 0.826239 0.826114 0.825989 0.825864 0.825739 0.825613 0.825488
+0.825363 0.825238 0.825113 0.824987 0.824862 0.824737 0.824612 0.824487
+0.824362 0.824236 0.824111 0.823986 0.823861 0.823736 0.82361 0.823485
+0.82336 0.823235 0.82311 0.822984 0.822859 0.822734 0.822609 0.822484
+0.822359 0.822233 0.822108 0.821983 0.821858 0.821733 0.821607 0.821482
+0.821357 0.821232 0.821107 0.820981 0.820856 0.820731 0.820606 0.820481
+0.820356 0.82023 0.820105 0.81998 0.819855 0.81973 0.819604 0.819479
+0.819354 0.819229 0.819104 0.818978 0.818853 0.818728 0.818603 0.818478
+0.818353 0.818227 0.818102 0.817977 0.817852 0.817727 0.817601 0.817476
+0.817351 0.817226 0.817101 0.816975 0.81685 0.816725 0.8166 0.816475
+0.81635 0.816224 0.816099 0.815974 0.815849 0.815724 0.815598 0.815473
+0.815348 0.815223 0.815098 0.814972 0.814847 0.814722 0.814597 0.814472
+0.814346 0.814221 0.814096 0.813971 0.813846 0.813721 0.813595 0.81347
+0.813345 0.81322 0.813095 0.812969 0.812844 0.812719 0.812594 0.812469
+0.812344 0.812218 0.812093 0.811968 0.811843 0.811718 0.811592 0.811467
+0.811342 0.811217 0.811092 0.810966 0.810841 0.810716 0.810591 0.810466
+0.810341 0.810215 0.81009 0.809965 0.80984 0.809715 0.809589 0.809464
+0.809339 0.809214 0.809089 0.808963 0.808838 0.808713 0.808588 0.808463
+0.808338 0.808212 0.808087 0.807962 0.807837 0.807712 0.807586 0.807461
+0.807336 0.807211 0.807086 0.80696 0.806835 0.80671 0.806585 0.80646
+0.806334 0.806209 0.806084 0.805959 0.805834 0.805709 0.805583 0.805458
+0.805333 0.805208 0.805083 0.804957 0.804832 0.804707 0.804582 0.804457
+0.804331 0.804206 0.804081 0.803956 0.803831 0.803706 0.80358 0.803455
+0.80333 0.803205 0.80308 0.802954 0.802829 0.802704 0.802579 0.802454
+0.802328 0.802203 0.802078 0.801953 0.801828 0.801703 0.801577 0.801452
+0.801327 0.801202 0.801077 0.800951 0.800826 0.800701 0.800576 0.800451
+0.800326 0.8002 0.800075 0.79995 0.799825 0.7997 0.799574 0.799449
+0.799324 0.799199 0.799074 0.798948 0.798823 0.798698 0.798573 0.798448
+0.798322 0.798197 0.798072 0.797947 0.797822 0.797697 0.797571 0.797446
+0.797321 0.797196 0.797071 0.796945 0.79682 0.796695 0.79657 0.796445
+0.796319 0.796194 0.796069 0.795944 0.795819 0.795694 0.795568 0.795443
+0.795318 0.795193 0.795068 0.794942 0.794817 0.794692 0.794567 0.794442
+0.794316 0.794191 0.794066 0.793941 0.793816 0.793691 0.793565 0.79344
+0.793315 0.79319 0.793065 0.792939 0.792814 0.792689 0.792564 0.792439
+0.792313 0.792188 0.792063 0.791938 0.791813 0.791688 0.791562 0.791437
+0.791312 0.791187 0.791062 0.790936 0.790811 0.790686 0.790561 0.790436
+0.79031 0.790185 0.79006 0.789935 0.78981 0.789685 0.789559 0.789434
+0.789309 0.789184 0.789059 0.788933 0.788808 0.788683 0.788558 0.788433
+0.788307 0.788182 0.788057 0.787932 0.787807 0.787682 0.787556 0.787431
+0.787306 0.787181 0.787056 0.78693 0.786805 0.78668 0.786555 0.78643
+0.786304 0.786179 0.786054 0.785929 0.785804 0.785679 0.785553 0.785428
+0.785303 0.785178 0.785053 0.784927 0.784802 0.784677 0.784552 0.784427
+0.784301 0.784176 0.784051 0.783926 0.783801 0.783675 0.78355 0.783425
+0.7833 0.783175 0.78305 0.782924 0.782799 0.782674 0.782549 0.782424
+0.782298 0.782173 0.782048 0.781923 0.781798 0.781673 0.781547 0.781422
+0.781297 0.781172 0.781047 0.780921 0.780796 0.780671 0.780546 0.780421
+0.780295 0.78017 0.780045 0.77992 0.779795 0.77967 0.779544 0.779419
+0.779294 0.779169 0.779044 0.778918 0.778793 0.778668 0.778543 0.778418
+0.778292 0.778167 0.778042 0.777917 0.777792 0.777667 0.777541 0.777416
+0.777291 0.777166 0.777041 0.776915 0.77679 0.776665 0.77654 0.776415
+0.776289 0.776164 0.776039 0.775914 0.775789 0.775663 0.775538 0.775413
+0.775288;
+#A 2000 0.775163 0.775038 0.774912 0.774787 0.774662 0.774537 0.774412
+0.774286 0.774161 0.774036 0.773911 0.773786 0.77366 0.773535 0.77341
+0.773285 0.77316 0.773035 0.772909 0.772784 0.772659 0.772534 0.772409
+0.772283 0.772158 0.772033 0.771908 0.771783 0.771657 0.771532 0.771407
+0.771282 0.771157 0.771032 0.770906 0.770781 0.770656 0.770531 0.770406
+0.77028 0.770155 0.77003 0.769905 0.76978 0.769654 0.769529 0.769404
+0.769279 0.769154 0.769029 0.768903 0.768778 0.768653 0.768528 0.768403
+0.768277 0.768152 0.768027 0.767902 0.767777 0.767651 0.767526 0.767401
+0.767276 0.767151 0.767026 0.7669 0.766775 0.76665 0.766525 0.7664
+0.766274 0.766149 0.766024 0.765899 0.765774 0.765648 0.765523 0.765398
+0.765273 0.765148 0.765023 0.764897 0.764772 0.764647 0.764522 0.764397
+0.764271 0.764146 0.764021 0.763896 0.763771 0.763645 0.76352 0.763395
+0.76327 0.763145 0.76302 0.762894 0.762769 0.762644 0.762519 0.762394
+0.762268 0.762143 0.762018 0.761893 0.761768 0.761642 0.761517 0.761392
+0.761267 0.761142 0.761017 0.760891 0.760766 0.760641 0.760516 0.760391
+0.760265 0.76014 0.760015 0.75989 0.759765 0.759639 0.759514 0.759389
+0.759264 0.759139 0.759014 0.758888 0.758763 0.758638 0.758513 0.758388
+0.758262 0.758137 0.758012 0.757887 0.757762 0.757636 0.757511 0.757386
+0.757261 0.757136 0.757011 0.756885 0.75676 0.756635 0.75651 0.756385
+0.756259 0.756134 0.756009 0.755884 0.755759 0.755633 0.755508 0.755383
+0.755258 0.755133 0.755008 0.754882 0.754757 0.754632 0.754507 0.754382
+0.754256 0.754131 0.754006 0.753881 0.753756 0.75363 0.753505 0.75338
+0.753255 0.75313 0.753004 0.752879 0.752754 0.752629 0.752504 0.752379
+0.752253 0.752128 0.752003 0.751878 0.751753 0.751627 0.751502 0.751377
+0.751252 0.751127 0.751001 0.750876 0.750751 0.750626 0.750501 0.750376
+0.75025 0.750125 0.75 0.749875 0.74975 0.749624 0.749499 0.749374 0.749249
+0.749124 0.748999 0.748873 0.748748 0.748623 0.748498 0.748373 0.748247
+0.748122 0.747997 0.747872 0.747747 0.747621 0.747496 0.747371 0.747246
+0.747121 0.746996 0.74687 0.746745 0.74662 0.746495 0.74637 0.746244
+0.746119 0.745994 0.745869 0.745744 0.745618 0.745493 0.745368 0.745243
+0.745118 0.744992 0.744867 0.744742 0.744617 0.744492 0.744367 0.744241
+0.744116 0.743991 0.743866 0.743741 0.743615 0.74349 0.743365 0.74324
+0.743115 0.742989 0.742864 0.742739 0.742614 0.742489 0.742364 0.742238
+0.742113 0.741988 0.741863 0.741738 0.741612 0.741487 0.741362 0.741237
+0.741112 0.740986 0.740861 0.740736 0.740611 0.740486 0.740361 0.740235
+0.74011 0.739985 0.73986 0.739735 0.739609 0.739484 0.739359 0.739234
+0.739109 0.738983 0.738858 0.738733 0.738608 0.738483 0.738358 0.738232
+0.738107 0.737982 0.737857 0.737732 0.737606 0.737481 0.737356 0.737231
+0.737106 0.73698 0.736855 0.73673 0.736605 0.73648 0.736355 0.736229
+0.736104 0.735979 0.735854 0.735729 0.735603 0.735478 0.735353 0.735228
+0.735103 0.734977 0.734852 0.734727 0.734602 0.734477 0.734352 0.734226
+0.734101 0.733976 0.733851 0.733726 0.7336 0.733475 0.73335 0.733225
+0.7331 0.732974 0.732849 0.732724 0.732599 0.732474 0.732349 0.732223
+0.732098 0.731973 0.731848 0.731723 0.731597 0.731472 0.731347 0.731222
+0.731097 0.730971 0.730846 0.730721 0.730596 0.730471 0.730346 0.73022
+0.730095 0.72997 0.729845 0.72972 0.729594 0.729469 0.729344 0.729219
+0.729094 0.728968 0.728843 0.728718 0.728593 0.728468 0.728343 0.728217
+0.728092 0.727967 0.727842 0.727717 0.727591 0.727466 0.727341 0.727216
+0.727091 0.726965 0.72684 0.726715 0.72659 0.726465 0.72634 0.726214
+0.726089 0.725964 0.725839 0.725714 0.725588 0.725463 0.725338 0.725213
+0.725088 0.724962 0.724837 0.724712 0.724587 0.724462 0.724337 0.724211
+0.724086 0.723961 0.723836 0.723711 0.723585 0.72346 0.723335 0.72321
+0.723085 0.722959 0.722834 0.722709 0.722584 0.722459 0.722333 0.722208
+0.722083 0.721958 0.721833 0.721708 0.721582 0.721457 0.721332 0.721207
+0.721082 0.720956 0.720831 0.720706 0.720581 0.720456 0.72033 0.720205
+0.72008 0.719955 0.71983 0.719705 0.719579 0.719454 0.719329 0.719204
+0.719079 0.718953 0.718828 0.718703 0.718578 0.718453 0.718327 0.718202
+0.718077 0.717952 0.717827 0.717702 0.717576 0.717451 0.717326 0.717201
+0.717076 0.71695 0.716825 0.7167 0.716575 0.71645 0.716325 0.716199
+0.716074 0.715949 0.715824 0.715699 0.715573 0.715448 0.715323 0.715198
+0.715073 0.714947 0.714822 0.714697 0.714572 0.714447 0.714321 0.714196
+0.714071 0.713946 0.713821 0.713696 0.71357 0.713445 0.71332 0.713195
+0.71307 0.712944 0.712819 0.712694 0.712569 0.712444 0.712318 0.712193
+0.712068 0.711943 0.711818 0.711693 0.711567 0.711442 0.711317 0.711192
+0.711067 0.710941 0.710816 0.710691 0.710566 0.710441 0.710315 0.71019
+0.710065 0.70994 0.709815 0.70969 0.709564 0.709439 0.709314 0.709189
+0.709064 0.708938 0.708813 0.708688 0.708563 0.708438 0.708312 0.708187
+0.708062 0.707937 0.707812 0.707687 0.707561 0.707436 0.707311 0.707186
+0.707061 0.706935 0.70681 0.706685 0.70656 0.706435 0.706309 0.706184
+0.706059 0.705934 0.705809 0.705684 0.705558 0.705433 0.705308 0.705183
+0.705058 0.704932 0.704807 0.704682 0.704557 0.704432 0.704306 0.704181
+0.704056 0.703931 0.703806 0.703681 0.703555 0.70343 0.703305 0.70318
+0.703055 0.702929 0.702804 0.702679 0.702554 0.702429 0.702303 0.702178
+0.702053 0.701928 0.701803 0.701678 0.701552 0.701427 0.701302 0.701177
+0.701052 0.700926 0.700801 0.700676 0.700551 0.700426 0.7003 0.700175
+0.70005 0.699925 0.6998 0.699674 0.699549 0.699424 0.699299 0.699174
+0.699049 0.698923 0.698798 0.698673 0.698548 0.698423 0.698297 0.698172
+0.698047 0.697922 0.697797 0.697672 0.697546 0.697421 0.697296 0.697171
+0.697046 0.69692 0.696795 0.69667 0.696545 0.69642 0.696294 0.696169
+0.696044 0.695919 0.695794 0.695669 0.695543 0.695418 0.695293 0.695168
+0.695043 0.694917 0.694792 0.694667 0.694542 0.694417 0.694291 0.694166
+0.694041 0.693916 0.693791 0.693666 0.69354 0.693415 0.69329 0.693165
+0.69304 0.692914 0.692789 0.692664 0.692539 0.692414 0.692288 0.692163
+0.692038 0.691913 0.691788 0.691662 0.691537 0.691412 0.691287 0.691162
+0.691037 0.690911 0.690786 0.690661 0.690536 0.690411 0.690285 0.69016
+0.690035 0.68991 0.689785 0.689659 0.689534 0.689409 0.689284 0.689159
+0.689034 0.688908 0.688783 0.688658 0.688533 0.688408 0.688282 0.688157
+0.688032 0.687907 0.687782 0.687656 0.687531 0.687406 0.687281 0.687156
+0.687031 0.686905 0.68678 0.686655 0.68653 0.686405 0.686279 0.686154
+0.686029 0.685904 0.685779 0.685654 0.685528 0.685403 0.685278 0.685153
+0.685028 0.684902 0.684777 0.684652 0.684527 0.684402 0.684276 0.684151
+0.684026 0.683901 0.683776 0.68365 0.683525 0.6834 0.683275 0.68315
+0.683025 0.682899 0.682774 0.682649 0.682524 0.682399 0.682273 0.682148
+0.682023 0.681898 0.681773 0.681647 0.681522 0.681397 0.681272 0.681147
+0.681022 0.680896 0.680771 0.680646 0.680521 0.680396 0.68027 0.680145
+0.68002 0.679895 0.67977 0.679644 0.679519 0.679394 0.679269 0.679144
+0.679019 0.678893 0.678768 0.678643 0.678518 0.678393 0.678267 0.678142
+0.678017 0.677892 0.677767 0.677641 0.677516 0.677391 0.677266 0.677141
+0.677016 0.67689 0.676765 0.67664 0.676515 0.67639 0.676264 0.676139
+0.676014 0.675889 0.675764 0.675638 0.675513 0.675388 0.675263 0.675138
+0.675013 0.674887 0.674762 0.674637 0.674512 0.674387 0.674261 0.674136
+0.674011 0.673886 0.673761 0.673635 0.67351 0.673385 0.67326 0.673135
+0.67301 0.672884 0.672759 0.672634 0.672509 0.672384 0.672258 0.672133
+0.672008 0.671883 0.671758 0.671632 0.671507 0.671382 0.671257 0.671132
+0.671007 0.670881 0.670756 0.670631 0.670506 0.670381 0.670255 0.67013
+0.670005 0.66988 0.669755 0.669629 0.669504 0.669379 0.669254 0.669129
+0.669003 0.668878 0.668753 0.668628 0.668503 0.668378 0.668252 0.668127
+0.668002 0.667877 0.667752 0.667626 0.667501 0.667376 0.667251 0.667126
+0.667 0.666875 0.66675 0.666625 0.6665 0.666375 0.666249 0.666124 0.665999
+0.665874 0.665749 0.665623 0.665498 0.665373 0.665248 0.665123 0.664998
+0.664872 0.664747 0.664622 0.664497 0.664372 0.664246 0.664121 0.663996
+0.663871 0.663746 0.66362 0.663495 0.66337 0.663245 0.66312 0.662995
+0.662869 0.662744 0.662619 0.662494 0.662369 0.662243 0.662118 0.661993
+0.661868 0.661743 0.661617 0.661492 0.661367 0.661242 0.661117 0.660991
+0.660866 0.660741 0.660616 0.660491 0.660366 0.66024 0.660115 0.65999
+0.659865 0.65974 0.659614 0.659489 0.659364 0.659239 0.659114 0.658988
+0.658863 0.658738 0.658613 0.658488 0.658363 0.658237 0.658112 0.657987
+0.657862 0.657737 0.657611 0.657486 0.657361 0.657236 0.657111 0.656985
+0.65686 0.656735 0.65661 0.656485 0.65636 0.656234 0.656109 0.655984
+0.655859 0.655734 0.655608 0.655483 0.655358 0.655233 0.655108 0.654982
+0.654857 0.654732 0.654607 0.654482 0.654357 0.654231 0.654106 0.653981
+0.653856 0.653731 0.653605 0.65348 0.653355 0.65323 0.653105 0.652979
+0.652854 0.652729 0.652604 0.652479 0.652354 0.652228 0.652103 0.651978
+0.651853 0.651728 0.651602 0.651477 0.651352 0.651227 0.651102 0.650976
+0.650851 0.650726 0.650601 0.650476 0.650351 0.650225 0.6501;
+#A 3000 0.649975 0.64985 0.649725 0.649599 0.649474 0.649349 0.649224
+0.649099 0.648973 0.648848 0.648723 0.648598 0.648473 0.648347 0.648222
+0.648097 0.647972 0.647847 0.647722 0.647596 0.647471 0.647346 0.647221
+0.647096 0.64697 0.646845 0.64672 0.646595 0.64647 0.646345 0.646219
+0.646094 0.645969 0.645844 0.645719 0.645593 0.645468 0.645343 0.645218
+0.645093 0.644967 0.644842 0.644717 0.644592 0.644467 0.644342 0.644216
+0.644091 0.643966 0.643841 0.643716 0.64359 0.643465 0.64334 0.643215
+0.64309 0.642964 0.642839 0.642714 0.642589 0.642464 0.642339 0.642213
+0.642088 0.641963 0.641838 0.641713 0.641587 0.641462 0.641337 0.641212
+0.641087 0.640961 0.640836 0.640711 0.640586 0.640461 0.640336 0.64021
+0.640085 0.63996 0.639835 0.63971 0.639584 0.639459 0.639334 0.639209
+0.639084 0.638958 0.638833 0.638708 0.638583 0.638458 0.638332 0.638207
+0.638082 0.637957 0.637832 0.637707 0.637581 0.637456 0.637331 0.637206
+0.637081 0.636955 0.63683 0.636705 0.63658 0.636455 0.636329 0.636204
+0.636079 0.635954 0.635829 0.635704 0.635578 0.635453 0.635328 0.635203
+0.635078 0.634952 0.634827 0.634702 0.634577 0.634452 0.634327 0.634201
+0.634076 0.633951 0.633826 0.633701 0.633575 0.63345 0.633325 0.6332
+0.633075 0.632949 0.632824 0.632699 0.632574 0.632449 0.632324 0.632198
+0.632073 0.631948 0.631823 0.631698 0.631572 0.631447 0.631322 0.631197
+0.631072 0.630946 0.630821 0.630696 0.630571 0.630446 0.63032 0.630195
+0.63007 0.629945 0.62982 0.629695 0.629569 0.629444 0.629319 0.629194
+0.629069 0.628943 0.628818 0.628693 0.628568 0.628443 0.628317 0.628192
+0.628067 0.627942 0.627817 0.627692 0.627566 0.627441 0.627316 0.627191
+0.627066 0.62694 0.626815 0.62669 0.626565 0.62644 0.626314 0.626189
+0.626064 0.625939 0.625814 0.625689 0.625563 0.625438 0.625313 0.625188
+0.625063 0.624937 0.624812 0.624687 0.624562 0.624437 0.624311 0.624186
+0.624061 0.623936 0.623811 0.623686 0.62356 0.623435 0.62331 0.623185
+0.62306 0.622934 0.622809 0.622684 0.622559 0.622434 0.622308 0.622183
+0.622058 0.621933 0.621808 0.621683 0.621557 0.621432 0.621307 0.621182
+0.621057 0.620931 0.620806 0.620681 0.620556 0.620431 0.620305 0.62018
+0.620055 0.61993 0.619805 0.61968 0.619554 0.619429 0.619304 0.619179
+0.619054 0.618928 0.618803 0.618678 0.618553 0.618428 0.618302 0.618177
+0.618052 0.617927 0.617802 0.617676 0.617551 0.617426 0.617301 0.617176
+0.617051 0.616925 0.6168 0.616675 0.61655 0.616425 0.616299 0.616174
+0.616049 0.615924 0.615799 0.615673 0.615548 0.615423 0.615298 0.615173
+0.615048 0.614922 0.614797 0.614672 0.614547 0.614422 0.614296 0.614171
+0.614046 0.613921 0.613796 0.613671 0.613545 0.61342 0.613295 0.61317
+0.613045 0.612919 0.612794 0.612669 0.612544 0.612419 0.612293 0.612168
+0.612043 0.611918 0.611793 0.611668 0.611542 0.611417 0.611292 0.611167
+0.611042 0.610916 0.610791 0.610666 0.610541 0.610416 0.61029 0.610165
+0.61004 0.609915 0.60979 0.609664 0.609539 0.609414 0.609289 0.609164
+0.609039 0.608913 0.608788 0.608663 0.608538 0.608413 0.608287 0.608162
+0.608037 0.607912 0.607787 0.607661 0.607536 0.607411 0.607286 0.607161
+0.607036 0.60691 0.606785 0.60666 0.606535 0.60641 0.606284 0.606159
+0.606034 0.605909 0.605784 0.605658 0.605533 0.605408 0.605283 0.605158
+0.605033 0.604907 0.604782 0.604657 0.604532 0.604407 0.604281 0.604156
+0.604031 0.603906 0.603781 0.603655 0.60353 0.603405 0.60328 0.603155
+0.60303 0.602904 0.602779 0.602654 0.602529 0.602404 0.602278 0.602153
+0.602028 0.601903 0.601778 0.601653 0.601527 0.601402 0.601277 0.601152
+0.601027 0.600901 0.600776 0.600651 0.600526 0.600401 0.600275 0.60015
+0.600025 0.5999 0.599775 0.599649 0.599524 0.599399 0.599274 0.599149
+0.599024 0.598898 0.598773 0.598648 0.598523 0.598398 0.598272 0.598147
+0.598022 0.597897 0.597772 0.597646 0.597521 0.597396 0.597271 0.597146
+0.597021 0.596895 0.59677 0.596645 0.59652 0.596395 0.596269 0.596144
+0.596019 0.595894 0.595769 0.595643 0.595518 0.595393 0.595268 0.595143
+0.595018 0.594892 0.594767 0.594642 0.594517 0.594392 0.594266 0.594141
+0.594016 0.593891 0.593766 0.59364 0.593515 0.59339 0.593265 0.59314
+0.593015 0.592889 0.592764 0.592639 0.592514 0.592389 0.592263 0.592138
+0.592013 0.591888 0.591763 0.591637 0.591512 0.591387 0.591262 0.591137
+0.591012 0.590886 0.590761 0.590636 0.590511 0.590386 0.59026 0.590135
+0.59001 0.589885 0.58976 0.589634 0.589509 0.589384 0.589259 0.589134
+0.589009 0.588883 0.588758 0.588633 0.588508 0.588383 0.588257 0.588132
+0.588007 0.587882 0.587757 0.587631 0.587506 0.587381 0.587256 0.587131
+0.587005 0.58688 0.586755 0.58663 0.586505 0.58638 0.586254 0.586129
+0.586004 0.585879 0.585754 0.585628 0.585503 0.585378 0.585253 0.585128
+0.585002 0.584877 0.584752 0.584627 0.584502 0.584377 0.584251 0.584126
+0.584001 0.583876 0.583751 0.583625 0.5835 0.583375 0.58325 0.583125
+0.583 0.582874 0.582749 0.582624 0.582499 0.582374 0.582248 0.582123
+0.581998 0.581873 0.581748 0.581622 0.581497 0.581372 0.581247 0.581122
+0.580997 0.580871 0.580746 0.580621 0.580496 0.580371 0.580245 0.58012
+0.579995 0.57987 0.579745 0.579619 0.579494 0.579369 0.579244 0.579119
+0.578993 0.578868 0.578743 0.578618 0.578493 0.578368 0.578242 0.578117
+0.577992 0.577867 0.577742 0.577616 0.577491 0.577366 0.577241 0.577116
+0.57699 0.576865 0.57674 0.576615 0.57649 0.576365 0.576239 0.576114
+0.575989 0.575864 0.575739 0.575613 0.575488 0.575363 0.575238 0.575113
+0.574987 0.574862 0.574737 0.574612 0.574487 0.574362 0.574236 0.574111
+0.573986 0.573861 0.573736 0.57361 0.573485 0.57336 0.573235 0.57311
+0.572984 0.572859 0.572734 0.572609 0.572484 0.572359 0.572233 0.572108
+0.571983 0.571858 0.571733 0.571607 0.571482 0.571357 0.571232 0.571107
+0.570981 0.570856 0.570731 0.570606 0.570481 0.570356 0.57023 0.570105
+0.56998 0.569855 0.56973 0.569604 0.569479 0.569354 0.569229 0.569104
+0.568978 0.568853 0.568728 0.568603 0.568478 0.568353 0.568227 0.568102
+0.567977 0.567852 0.567727 0.567601 0.567476 0.567351 0.567226 0.567101
+0.566975 0.56685 0.566725 0.5666 0.566475 0.56635 0.566224 0.566099
+0.565974 0.565849 0.565724 0.565598 0.565473 0.565348 0.565223 0.565098
+0.564972 0.564847 0.564722 0.564597 0.564472 0.564346 0.564221 0.564096
+0.563971 0.563846 0.563721 0.563595 0.56347 0.563345 0.56322 0.563095
+0.562969 0.562844 0.562719 0.562594 0.562469 0.562344 0.562218 0.562093
+0.561968 0.561843 0.561718 0.561592 0.561467 0.561342 0.561217 0.561092
+0.560966 0.560841 0.560716 0.560591 0.560466 0.560341 0.560215 0.56009
+0.559965 0.55984 0.559715 0.559589 0.559464 0.559339 0.559214 0.559089
+0.558963 0.558838 0.558713 0.558588 0.558463 0.558338 0.558212 0.558087
+0.557962 0.557837 0.557712 0.557586 0.557461 0.557336 0.557211 0.557086
+0.55696 0.556835 0.55671 0.556585 0.55646 0.556334 0.556209 0.556084
+0.555959 0.555834 0.555709 0.555583 0.555458 0.555333 0.555208 0.555083
+0.554957 0.554832 0.554707 0.554582 0.554457 0.554331 0.554206 0.554081
+0.553956 0.553831 0.553706 0.55358 0.553455 0.55333 0.553205 0.55308
+0.552954 0.552829 0.552704 0.552579 0.552454 0.552328 0.552203 0.552078
+0.551953 0.551828 0.551703 0.551577 0.551452 0.551327 0.551202 0.551077
+0.550951 0.550826 0.550701 0.550576 0.550451 0.550326 0.5502 0.550075
+0.54995 0.549825 0.5497 0.549574 0.549449 0.549324 0.549199 0.549074
+0.548948 0.548823 0.548698 0.548573 0.548448 0.548322 0.548197 0.548072
+0.547947 0.547822 0.547697 0.547571 0.547446 0.547321 0.547196 0.547071
+0.546945 0.54682 0.546695 0.54657 0.546445 0.546319 0.546194 0.546069
+0.545944 0.545819 0.545694 0.545568 0.545443 0.545318 0.545193 0.545068
+0.544942 0.544817 0.544692 0.544567 0.544442 0.544316 0.544191 0.544066
+0.543941 0.543816 0.543691 0.543565 0.54344 0.543315 0.54319 0.543065
+0.542939 0.542814 0.542689 0.542564 0.542439 0.542313 0.542188 0.542063
+0.541938 0.541813 0.541688 0.541562 0.541437 0.541312 0.541187 0.541062
+0.540936 0.540811 0.540686 0.540561 0.540436 0.54031 0.540185 0.54006
+0.539935 0.53981 0.539685 0.539559 0.539434 0.539309 0.539184 0.539059
+0.538933 0.538808 0.538683 0.538558 0.538433 0.538307 0.538182 0.538057
+0.537932 0.537807 0.537682 0.537556 0.537431 0.537306 0.537181 0.537056
+0.53693 0.536805 0.53668 0.536555 0.53643 0.536304 0.536179 0.536054
+0.535929 0.535804 0.535679 0.535553 0.535428 0.535303 0.535178 0.535053
+0.534927 0.534802 0.534677 0.534552 0.534427 0.534301 0.534176 0.534051
+0.533926 0.533801 0.533675 0.53355 0.533425 0.5333 0.533175 0.53305
+0.532924 0.532799 0.532674 0.532549 0.532424 0.532298 0.532173 0.532048
+0.531923 0.531798 0.531673 0.531547 0.531422 0.531297 0.531172 0.531047
+0.530921 0.530796 0.530671 0.530546 0.530421 0.530295 0.53017 0.530045
+0.52992 0.529795 0.52967 0.529544 0.529419 0.529294 0.529169 0.529044
+0.528918 0.528793 0.528668 0.528543 0.528418 0.528292 0.528167 0.528042
+0.527917 0.527792 0.527667 0.527541 0.527416 0.527291 0.527166 0.527041
+0.526915 0.52679 0.526665 0.52654 0.526415 0.526289 0.526164 0.526039
+0.525914 0.525789 0.525663 0.525538 0.525413 0.525288 0.525163 0.525038
+0.524912;
+#A 4000 0.524787 0.524662 0.524537 0.524412 0.524286 0.524161 0.524036
+0.523911 0.523786 0.52366 0.523535 0.52341 0.523285 0.52316 0.523035
+0.522909 0.522784 0.522659 0.522534 0.522409 0.522283 0.522158 0.522033
+0.521908 0.521783 0.521657 0.521532 0.521407 0.521282 0.521157 0.521032
+0.520906 0.520781 0.520656 0.520531 0.520406 0.52028 0.520155 0.52003
+0.519905 0.51978 0.519654 0.519529 0.519404 0.519279 0.519154 0.519029
+0.518903 0.518778 0.518653 0.518528 0.518403 0.518277 0.518152 0.518027
+0.517902 0.517777 0.517651 0.517526 0.517401 0.517276 0.517151 0.517026
+0.5169 0.516775 0.51665 0.516525 0.5164 0.516274 0.516149 0.516024
+0.515899 0.515774 0.515648 0.515523 0.515398 0.515273 0.515148 0.515023
+0.514897 0.514772 0.514647 0.514522 0.514397 0.514271 0.514146 0.514021
+0.513896 0.513771 0.513645 0.51352 0.513395 0.51327 0.513145 0.51302
+0.512894 0.512769 0.512644 0.512519 0.512394 0.512268 0.512143 0.512018
+0.511893 0.511768 0.511642 0.511517 0.511392 0.511267 0.511142 0.511017
+0.510891 0.510766 0.510641 0.510516 0.510391 0.510265 0.51014 0.510015
+0.50989 0.509765 0.509639 0.509514 0.509389 0.509264 0.509139 0.509014
+0.508888 0.508763 0.508638 0.508513 0.508388 0.508262 0.508137 0.508012
+0.507887 0.507762 0.507636 0.507511 0.507386 0.507261 0.507136 0.507011
+0.506885 0.50676 0.506635 0.50651 0.506385 0.506259 0.506134 0.506009
+0.505884 0.505759 0.505633 0.505508 0.505383 0.505258 0.505133 0.505008
+0.504882 0.504757 0.504632 0.504507 0.504382 0.504256 0.504131 0.504006
+0.503881 0.503756 0.50363 0.503505 0.50338 0.503255 0.50313 0.503004
+0.502879 0.502754 0.502629 0.502504 0.502379 0.502253 0.502128 0.502003
+0.501878 0.501753 0.501627 0.501502 0.501377 0.501252 0.501127 0.501001
+0.500876 0.500751 0.500626 0.500501 0.500376 0.50025 0.500125 0.5 0.499875
+0.49975 0.499624 0.499499 0.499374 0.499249 0.499124 0.498998 0.498873
+0.498748 0.498623 0.498498 0.498373 0.498247 0.498122 0.497997 0.497872
+0.497747 0.497621 0.497496 0.497371 0.497246 0.497121 0.496995 0.49687
+0.496745 0.49662 0.496495 0.49637 0.496244 0.496119 0.495994 0.495869
+0.495744 0.495618 0.495493 0.495368 0.495243 0.495118 0.494992 0.494867
+0.494742 0.494617 0.494492 0.494367 0.494241 0.494116 0.493991 0.493866
+0.493741 0.493615 0.49349 0.493365 0.49324 0.493115 0.492989 0.492864
+0.492739 0.492614 0.492489 0.492364 0.492238 0.492113 0.491988 0.491863
+0.491738 0.491612 0.491487 0.491362 0.491237 0.491112 0.490986 0.490861
+0.490736 0.490611 0.490486 0.490361 0.490235 0.49011 0.489985 0.48986
+0.489735 0.489609 0.489484 0.489359 0.489234 0.489109 0.488983 0.488858
+0.488733 0.488608 0.488483 0.488358 0.488232 0.488107 0.487982 0.487857
+0.487732 0.487606 0.487481 0.487356 0.487231 0.487106 0.48698 0.486855
+0.48673 0.486605 0.48648 0.486355 0.486229 0.486104 0.485979 0.485854
+0.485729 0.485603 0.485478 0.485353 0.485228 0.485103 0.484977 0.484852
+0.484727 0.484602 0.484477 0.484352 0.484226 0.484101 0.483976 0.483851
+0.483726 0.4836 0.483475 0.48335 0.483225 0.4831 0.482974 0.482849
+0.482724 0.482599 0.482474 0.482349 0.482223 0.482098 0.481973 0.481848
+0.481723 0.481597 0.481472 0.481347 0.481222 0.481097 0.480971 0.480846
+0.480721 0.480596 0.480471 0.480346 0.48022 0.480095 0.47997 0.479845
+0.47972 0.479594 0.479469 0.479344 0.479219 0.479094 0.478968 0.478843
+0.478718 0.478593 0.478468 0.478343 0.478217 0.478092 0.477967 0.477842
+0.477717 0.477591 0.477466 0.477341 0.477216 0.477091 0.476965 0.47684
+0.476715 0.47659 0.476465 0.47634 0.476214 0.476089 0.475964 0.475839
+0.475714 0.475588 0.475463 0.475338 0.475213 0.475088 0.474962 0.474837
+0.474712 0.474587 0.474462 0.474337 0.474211 0.474086 0.473961 0.473836
+0.473711 0.473585 0.47346 0.473335 0.47321 0.473085 0.472959 0.472834
+0.472709 0.472584 0.472459 0.472333 0.472208 0.472083 0.471958 0.471833
+0.471708 0.471582 0.471457 0.471332 0.471207 0.471082 0.470956 0.470831
+0.470706 0.470581 0.470456 0.470331 0.470205 0.47008 0.469955 0.46983
+0.469705 0.469579 0.469454 0.469329 0.469204 0.469079 0.468953 0.468828
+0.468703 0.468578 0.468453 0.468327 0.468202 0.468077 0.467952 0.467827
+0.467702 0.467576 0.467451 0.467326 0.467201 0.467076 0.46695 0.466825
+0.4667 0.466575 0.46645 0.466324 0.466199 0.466074 0.465949 0.465824
+0.465699 0.465573 0.465448 0.465323 0.465198 0.465073 0.464947 0.464822
+0.464697 0.464572 0.464447 0.464321 0.464196 0.464071 0.463946 0.463821
+0.463696 0.46357 0.463445 0.46332 0.463195 0.46307 0.462944 0.462819
+0.462694 0.462569 0.462444 0.462318 0.462193 0.462068 0.461943 0.461818
+0.461693 0.461567 0.461442 0.461317 0.461192 0.461067 0.460941 0.460816
+0.460691 0.460566 0.460441 0.460315 0.46019 0.460065 0.45994 0.459815
+0.45969 0.459564 0.459439 0.459314 0.459189 0.459064 0.458938 0.458813
+0.458688 0.458563 0.458438 0.458312 0.458187 0.458062 0.457937 0.457812
+0.457687 0.457561 0.457436 0.457311 0.457186 0.457061 0.456935 0.45681
+0.456685 0.45656 0.456435 0.456309 0.456184 0.456059 0.455934 0.455809
+0.455684 0.455558 0.455433 0.455308 0.455183 0.455058 0.454932 0.454807
+0.454682 0.454557 0.454432 0.454306 0.454181 0.454056 0.453931 0.453806
+0.453681 0.453555 0.45343 0.453305 0.45318 0.453055 0.452929 0.452804
+0.452679 0.452554 0.452429 0.452303 0.452178 0.452053 0.451928 0.451803
+0.451678 0.451552 0.451427 0.451302 0.451177 0.451052 0.450926 0.450801
+0.450676 0.450551 0.450426 0.4503 0.450175 0.45005 0.449925 0.4498
+0.449675 0.449549 0.449424 0.449299 0.449174 0.449049 0.448923 0.448798
+0.448673 0.448548 0.448423 0.448297 0.448172 0.448047 0.447922 0.447797
+0.447672 0.447546 0.447421 0.447296 0.447171 0.447046 0.44692 0.446795
+0.44667 0.446545 0.44642 0.446294 0.446169 0.446044 0.445919 0.445794
+0.445668 0.445543 0.445418 0.445293 0.445168 0.445043 0.444917 0.444792
+0.444667 0.444542 0.444417 0.444291 0.444166 0.444041 0.443916 0.443791
+0.443666 0.44354 0.443415 0.44329 0.443165 0.44304 0.442914 0.442789
+0.442664 0.442539 0.442414 0.442288 0.442163 0.442038 0.441913 0.441788
+0.441662 0.441537 0.441412 0.441287 0.441162 0.441037 0.440911 0.440786
+0.440661 0.440536 0.440411 0.440285 0.44016 0.440035 0.43991 0.439785
+0.439659 0.439534 0.439409 0.439284 0.439159 0.439034 0.438908 0.438783
+0.438658 0.438533 0.438408 0.438282 0.438157 0.438032 0.437907 0.437782
+0.437656 0.437531 0.437406 0.437281 0.437156 0.437031 0.436905 0.43678
+0.436655 0.43653 0.436405 0.436279 0.436154 0.436029 0.435904 0.435779
+0.435653 0.435528 0.435403 0.435278 0.435153 0.435028 0.434902 0.434777
+0.434652 0.434527 0.434402 0.434276 0.434151 0.434026 0.433901 0.433776
+0.43365 0.433525 0.4334 0.433275 0.43315 0.433025 0.432899 0.432774
+0.432649 0.432524 0.432399 0.432273 0.432148 0.432023 0.431898 0.431773
+0.431647 0.431522 0.431397 0.431272 0.431147 0.431022 0.430896 0.430771
+0.430646 0.430521 0.430396 0.43027 0.430145 0.43002 0.429895 0.42977
+0.429644 0.429519 0.429394 0.429269 0.429144 0.429019 0.428893 0.428768
+0.428643 0.428518 0.428393 0.428267 0.428142 0.428017 0.427892 0.427767
+0.427641 0.427516 0.427391 0.427266 0.427141 0.427016 0.42689 0.426765
+0.42664 0.426515 0.42639 0.426264 0.426139 0.426014 0.425889 0.425764
+0.425638 0.425513 0.425388 0.425263 0.425138 0.425013 0.424887 0.424762
+0.424637 0.424512 0.424387 0.424261 0.424136 0.424011 0.423886 0.423761
+0.423635 0.42351 0.423385 0.42326 0.423135 0.42301 0.422884 0.422759
+0.422634 0.422509 0.422384 0.422258 0.422133 0.422008 0.421883 0.421758
+0.421632 0.421507 0.421382 0.421257 0.421132 0.421007 0.420881 0.420756
+0.420631 0.420506 0.420381 0.420255 0.42013 0.420005 0.41988 0.419755
+0.419629 0.419504 0.419379 0.419254 0.419129 0.419004 0.418878 0.418753
+0.418628 0.418503 0.418378 0.418252 0.418127 0.418002 0.417877 0.417752
+0.417626 0.417501 0.417376 0.417251 0.417126 0.417001 0.416875 0.41675
+0.416625 0.4165 0.416375 0.416249 0.416124 0.415999 0.415874 0.415749
+0.415623 0.415498 0.415373 0.415248 0.415123 0.414997 0.414872 0.414747
+0.414622 0.414497 0.414372 0.414246 0.414121 0.413996 0.413871 0.413746
+0.41362 0.413495 0.41337 0.413245 0.41312 0.412995 0.412869 0.412744
+0.412619 0.412494 0.412369 0.412243 0.412118 0.411993 0.411868 0.411743
+0.411617 0.411492 0.411367 0.411242 0.411117 0.410991 0.410866 0.410741
+0.410616 0.410491 0.410366 0.41024 0.410115 0.40999 0.409865 0.40974
+0.409614 0.409489 0.409364 0.409239 0.409114 0.408988 0.408863 0.408738
+0.408613 0.408488 0.408363 0.408237 0.408112 0.407987 0.407862 0.407737
+0.407611 0.407486 0.407361 0.407236 0.407111 0.406985 0.40686 0.406735
+0.40661 0.406485 0.40636 0.406234 0.406109 0.405984 0.405859 0.405734
+0.405608 0.405483 0.405358 0.405233 0.405108 0.404982 0.404857 0.404732
+0.404607 0.404482 0.404357 0.404231 0.404106 0.403981 0.403856 0.403731
+0.403605 0.40348 0.403355 0.40323 0.403105 0.402979 0.402854 0.402729
+0.402604 0.402479 0.402354 0.402228 0.402103 0.401978 0.401853 0.401728
+0.401602 0.401477 0.401352 0.401227 0.401102 0.400976 0.400851 0.400726
+0.400601 0.400476 0.400351 0.400225 0.4001 0.399975 0.39985 0.399725
+;
+#A 5000 0.399599 0.399474 0.399349 0.399224 0.399099 0.398973 0.398848
+0.398723 0.398598 0.398473 0.398348 0.398222 0.398097 0.397972 0.397847
+0.397722 0.397596 0.397471 0.397346 0.397221 0.397096 0.39697 0.396845
+0.39672 0.396595 0.39647 0.396345 0.396219 0.396094 0.395969 0.395844
+0.395719 0.395593 0.395468 0.395343 0.395218 0.395093 0.394967 0.394842
+0.394717 0.394592 0.394467 0.394341 0.394216 0.394091 0.393966 0.393841
+0.393716 0.39359 0.393465 0.39334 0.393215 0.39309 0.392964 0.392839
+0.392714 0.392589 0.392464 0.392339 0.392213 0.392088 0.391963 0.391838
+0.391713 0.391587 0.391462 0.391337 0.391212 0.391087 0.390961 0.390836
+0.390711 0.390586 0.390461 0.390336 0.39021 0.390085 0.38996 0.389835
+0.38971 0.389584 0.389459 0.389334 0.389209 0.389084 0.388958 0.388833
+0.388708 0.388583 0.388458 0.388332 0.388207 0.388082 0.387957 0.387832
+0.387707 0.387581 0.387456 0.387331 0.387206 0.387081 0.386955 0.38683
+0.386705 0.38658 0.386455 0.38633 0.386204 0.386079 0.385954 0.385829
+0.385704 0.385578 0.385453 0.385328 0.385203 0.385078 0.384952 0.384827
+0.384702 0.384577 0.384452 0.384326 0.384201 0.384076 0.383951 0.383826
+0.383701 0.383575 0.38345 0.383325 0.3832 0.383075 0.382949 0.382824
+0.382699 0.382574 0.382449 0.382323 0.382198 0.382073 0.381948 0.381823
+0.381698 0.381572 0.381447 0.381322 0.381197 0.381072 0.380946 0.380821
+0.380696 0.380571 0.380446 0.38032 0.380195 0.38007 0.379945 0.37982
+0.379695 0.379569 0.379444 0.379319 0.379194 0.379069 0.378943 0.378818
+0.378693 0.378568 0.378443 0.378317 0.378192 0.378067 0.377942 0.377817
+0.377692 0.377566 0.377441 0.377316 0.377191 0.377066 0.37694 0.376815
+0.37669 0.376565 0.37644 0.376314 0.376189 0.376064 0.375939 0.375814
+0.375689 0.375563 0.375438 0.375313 0.375188 0.375063 0.374937 0.374812
+0.374687 0.374562 0.374437 0.374311 0.374186 0.374061 0.373936 0.373811
+0.373686 0.37356 0.373435 0.37331 0.373185 0.37306 0.372934 0.372809
+0.372684 0.372559 0.372434 0.372308 0.372183 0.372058 0.371933 0.371808
+0.371683 0.371557 0.371432 0.371307 0.371182 0.371057 0.370931 0.370806
+0.370681 0.370556 0.370431 0.370305 0.37018 0.370055 0.36993 0.369805
+0.36968 0.369554 0.369429 0.369304 0.369179 0.369054 0.368928 0.368803
+0.368678 0.368553 0.368428 0.368302 0.368177 0.368052 0.367927 0.367802
+0.367677 0.367551 0.367426 0.367301 0.367176 0.367051 0.366925 0.3668
+0.366675 0.36655 0.366425 0.366299 0.366174 0.366049 0.365924 0.365799
+0.365674 0.365548 0.365423 0.365298 0.365173 0.365048 0.364922 0.364797
+0.364672 0.364547 0.364422 0.364296 0.364171 0.364046 0.363921 0.363796
+0.36367 0.363545 0.36342 0.363295 0.36317 0.363045 0.362919 0.362794
+0.362669 0.362544 0.362419 0.362293 0.362168 0.362043 0.361918 0.361793
+0.361668 0.361542 0.361417 0.361292 0.361167 0.361042 0.360916 0.360791
+0.360666 0.360541 0.360416 0.36029 0.360165 0.36004 0.359915 0.35979
+0.359664 0.359539 0.359414 0.359289 0.359164 0.359039 0.358913 0.358788
+0.358663 0.358538 0.358413 0.358287 0.358162 0.358037 0.357912 0.357787
+0.357661 0.357536 0.357411 0.357286 0.357161 0.357036 0.35691 0.356785
+0.35666 0.356535 0.35641 0.356284 0.356159 0.356034 0.355909 0.355784
+0.355659 0.355533 0.355408 0.355283 0.355158 0.355033 0.354907 0.354782
+0.354657 0.354532 0.354407 0.354281 0.354156 0.354031 0.353906 0.353781
+0.353655 0.35353 0.353405 0.35328 0.353155 0.35303 0.352904 0.352779
+0.352654 0.352529 0.352404 0.352278 0.352153 0.352028 0.351903 0.351778
+0.351652 0.351527 0.351402 0.351277 0.351152 0.351027 0.350901 0.350776
+0.350651 0.350526 0.350401 0.350275 0.35015 0.350025 0.3499 0.349775
+0.349649 0.349524 0.349399 0.349274 0.349149 0.349024 0.348898 0.348773
+0.348648 0.348523 0.348398 0.348272 0.348147 0.348022 0.347897 0.347772
+0.347646 0.347521 0.347396 0.347271 0.347146 0.347021 0.346895 0.34677
+0.346645 0.34652 0.346395 0.346269 0.346144 0.346019 0.345894 0.345769
+0.345643 0.345518 0.345393 0.345268 0.345143 0.345018 0.344892 0.344767
+0.344642 0.344517 0.344392 0.344266 0.344141 0.344016 0.343891 0.343766
+0.34364 0.343515 0.34339 0.343265 0.34314 0.343015 0.342889 0.342764
+0.342639 0.342514 0.342389 0.342263 0.342138 0.342013 0.341888 0.341763
+0.341637 0.341512 0.341387 0.341262 0.341137 0.341012 0.340886 0.340761
+0.340636 0.340511 0.340386 0.34026 0.340135 0.34001 0.339885 0.33976
+0.339634 0.339509 0.339384 0.339259 0.339134 0.339009 0.338883 0.338758
+0.338633 0.338508 0.338383 0.338257 0.338132 0.338007 0.337882 0.337757
+0.337631 0.337506 0.337381 0.337256 0.337131 0.337005 0.33688 0.336755
+0.33663 0.336505 0.33638 0.336254 0.336129 0.336004 0.335879 0.335754
+0.335628 0.335503 0.335378 0.335253 0.335128 0.335003 0.334877 0.334752
+0.334627 0.334502 0.334377 0.334251 0.334126 0.334001 0.333876 0.333751
+0.333625 0.3335 0.333375 0.33325 0.333125 0.332999 0.332874 0.332749
+0.332624 0.332499 0.332374 0.332248 0.332123 0.331998 0.331873 0.331748
+0.331622 0.331497 0.331372 0.331247 0.331122 0.330996 0.330871 0.330746
+0.330621 0.330496 0.330371 0.330245 0.33012 0.329995 0.32987 0.329745
+0.329619 0.329494 0.329369 0.329244 0.329119 0.328993 0.328868 0.328743
+0.328618 0.328493 0.328368 0.328242 0.328117 0.327992 0.327867 0.327742
+0.327616 0.327491 0.327366 0.327241 0.327116 0.32699 0.326865 0.32674
+0.326615 0.32649 0.326365 0.326239 0.326114 0.325989 0.325864 0.325739
+0.325613 0.325488 0.325363 0.325238 0.325113 0.324987 0.324862 0.324737
+0.324612 0.324487 0.324362 0.324236 0.324111 0.323986 0.323861 0.323736
+0.32361 0.323485 0.32336 0.323235 0.32311 0.322984 0.322859 0.322734
+0.322609 0.322484 0.322359 0.322233 0.322108 0.321983 0.321858 0.321733
+0.321607 0.321482 0.321357 0.321232 0.321107 0.320981 0.320856 0.320731
+0.320606 0.320481 0.320356 0.32023 0.320105 0.31998 0.319855 0.31973
+0.319604 0.319479 0.319354 0.319229 0.319104 0.318978 0.318853 0.318728
+0.318603 0.318478 0.318353 0.318227 0.318102 0.317977 0.317852 0.317727
+0.317601 0.317476 0.317351 0.317226 0.317101 0.316975 0.31685 0.316725
+0.3166 0.316475 0.31635 0.316224 0.316099 0.315974 0.315849 0.315724
+0.315598 0.315473 0.315348 0.315223 0.315098 0.314972 0.314847 0.314722
+0.314597 0.314472 0.314347 0.314221 0.314096 0.313971 0.313846 0.313721
+0.313595 0.31347 0.313345 0.31322 0.313095 0.312969 0.312844 0.312719
+0.312594 0.312469 0.312344 0.312218 0.312093 0.311968 0.311843 0.311718
+0.311592 0.311467 0.311342 0.311217 0.311092 0.310966 0.310841 0.310716
+0.310591 0.310466 0.310341 0.310215 0.31009 0.309965 0.30984 0.309715
+0.309589 0.309464 0.309339 0.309214 0.309089 0.308963 0.308838 0.308713
+0.308588 0.308463 0.308338 0.308212 0.308087 0.307962 0.307837 0.307712
+0.307586 0.307461 0.307336 0.307211 0.307086 0.30696 0.306835 0.30671
+0.306585 0.30646 0.306334 0.306209 0.306084 0.305959 0.305834 0.305709
+0.305583 0.305458 0.305333 0.305208 0.305083 0.304957 0.304832 0.304707
+0.304582 0.304457 0.304332 0.304206 0.304081 0.303956 0.303831 0.303706
+0.30358 0.303455 0.30333 0.303205 0.30308 0.302954 0.302829 0.302704
+0.302579 0.302454 0.302328 0.302203 0.302078 0.301953 0.301828 0.301703
+0.301577 0.301452 0.301327 0.301202 0.301077 0.300951 0.300826 0.300701
+0.300576 0.300451 0.300325 0.3002 0.300075 0.29995 0.299825 0.2997
+0.299574 0.299449 0.299324 0.299199 0.299074 0.298948 0.298823 0.298698
+0.298573 0.298448 0.298322 0.298197 0.298072 0.297947 0.297822 0.297697
+0.297571 0.297446 0.297321 0.297196 0.297071 0.296945 0.29682 0.296695
+0.29657 0.296445 0.296319 0.296194 0.296069 0.295944 0.295819 0.295694
+0.295568 0.295443 0.295318 0.295193 0.295068 0.294942 0.294817 0.294692
+0.294567 0.294442 0.294316 0.294191 0.294066 0.293941 0.293816 0.293691
+0.293565 0.29344 0.293315 0.29319 0.293065 0.292939 0.292814 0.292689
+0.292564 0.292439 0.292313 0.292188 0.292063 0.291938 0.291813 0.291688
+0.291562 0.291437 0.291312 0.291187 0.291062 0.290936 0.290811 0.290686
+0.290561 0.290436 0.29031 0.290185 0.29006 0.289935 0.28981 0.289685
+0.289559 0.289434 0.289309 0.289184 0.289059 0.288933 0.288808 0.288683
+0.288558 0.288433 0.288307 0.288182 0.288057 0.287932 0.287807 0.287682
+0.287556 0.287431 0.287306 0.287181 0.287056 0.28693 0.286805 0.28668
+0.286555 0.28643 0.286304 0.286179 0.286054 0.285929 0.285804 0.285679
+0.285553 0.285428 0.285303 0.285178 0.285053 0.284927 0.284802 0.284677
+0.284552 0.284427 0.284301 0.284176 0.284051 0.283926 0.283801 0.283676
+0.28355 0.283425 0.2833 0.283175 0.28305 0.282924 0.282799 0.282674
+0.282549 0.282424 0.282298 0.282173 0.282048 0.281923 0.281798 0.281673
+0.281547 0.281422 0.281297 0.281172 0.281047 0.280921 0.280796 0.280671
+0.280546 0.280421 0.280295 0.28017 0.280045 0.27992 0.279795 0.279669
+0.279544 0.279419 0.279294 0.279169 0.279044 0.278918 0.278793 0.278668
+0.278543 0.278418 0.278292 0.278167 0.278042 0.277917 0.277792 0.277667
+0.277541 0.277416 0.277291 0.277166 0.277041 0.276915 0.27679 0.276665
+0.27654 0.276415 0.276289 0.276164 0.276039 0.275914 0.275789 0.275663
+0.275538 0.275413 0.275288 0.275163 0.275038 0.274912 0.274787 0.274662
+0.274537;
+#A 6000 0.274412 0.274286 0.274161 0.274036 0.273911 0.273786 0.27366
+0.273535 0.27341 0.273285 0.27316 0.273035 0.272909 0.272784 0.272659
+0.272534 0.272409 0.272283 0.272158 0.272033 0.271908 0.271783 0.271657
+0.271532 0.271407 0.271282 0.271157 0.271032 0.270906 0.270781 0.270656
+0.270531 0.270406 0.27028 0.270155 0.27003 0.269905 0.26978 0.269654
+0.269529 0.269404 0.269279 0.269154 0.269029 0.268903 0.268778 0.268653
+0.268528 0.268403 0.268277 0.268152 0.268027 0.267902 0.267777 0.267651
+0.267526 0.267401 0.267276 0.267151 0.267026 0.2669 0.266775 0.26665
+0.266525 0.2664 0.266274 0.266149 0.266024 0.265899 0.265774 0.265648
+0.265523 0.265398 0.265273 0.265148 0.265023 0.264897 0.264772 0.264647
+0.264522 0.264397 0.264271 0.264146 0.264021 0.263896 0.263771 0.263645
+0.26352 0.263395 0.26327 0.263145 0.26302 0.262894 0.262769 0.262644
+0.262519 0.262394 0.262268 0.262143 0.262018 0.261893 0.261768 0.261642
+0.261517 0.261392 0.261267 0.261142 0.261017 0.260891 0.260766 0.260641
+0.260516 0.260391 0.260265 0.26014 0.260015 0.25989 0.259765 0.259639
+0.259514 0.259389 0.259264 0.259139 0.259014 0.258888 0.258763 0.258638
+0.258513 0.258388 0.258262 0.258137 0.258012 0.257887 0.257762 0.257636
+0.257511 0.257386 0.257261 0.257136 0.257011 0.256885 0.25676 0.256635
+0.25651 0.256385 0.256259 0.256134 0.256009 0.255884 0.255759 0.255633
+0.255508 0.255383 0.255258 0.255133 0.255008 0.254882 0.254757 0.254632
+0.254507 0.254382 0.254256 0.254131 0.254006 0.253881 0.253756 0.25363
+0.253505 0.25338 0.253255 0.25313 0.253005 0.252879 0.252754 0.252629
+0.252504 0.252379 0.252253 0.252128 0.252003 0.251878 0.251753 0.251627
+0.251502 0.251377 0.251252 0.251127 0.251002 0.250876 0.250751 0.250626
+0.250501 0.250376 0.25025 0.250125 0.25 0.249875 0.24975 0.249624 0.249499
+0.249374 0.249249 0.249124 0.248998 0.248873 0.248748 0.248623 0.248498
+0.248373 0.248247 0.248122 0.247997 0.247872 0.247747 0.247621 0.247496
+0.247371 0.247246 0.247121 0.246995 0.24687 0.246745 0.24662 0.246495
+0.24637 0.246244 0.246119 0.245994 0.245869 0.245744 0.245618 0.245493
+0.245368 0.245243 0.245118 0.244992 0.244867 0.244742 0.244617 0.244492
+0.244367 0.244241 0.244116 0.243991 0.243866 0.243741 0.243615 0.24349
+0.243365 0.24324 0.243115 0.242989 0.242864 0.242739 0.242614 0.242489
+0.242364 0.242238 0.242113 0.241988 0.241863 0.241738 0.241612 0.241487
+0.241362 0.241237 0.241112 0.240986 0.240861 0.240736 0.240611 0.240486
+0.240361 0.240235 0.24011 0.239985 0.23986 0.239735 0.239609 0.239484
+0.239359 0.239234 0.239109 0.238983 0.238858 0.238733 0.238608 0.238483
+0.238358 0.238232 0.238107 0.237982 0.237857 0.237732 0.237606 0.237481
+0.237356 0.237231 0.237106 0.23698 0.236855 0.23673 0.236605 0.23648
+0.236355 0.236229 0.236104 0.235979 0.235854 0.235729 0.235603 0.235478
+0.235353 0.235228 0.235103 0.234977 0.234852 0.234727 0.234602 0.234477
+0.234352 0.234226 0.234101 0.233976 0.233851 0.233726 0.2336 0.233475
+0.23335 0.233225 0.2331 0.232974 0.232849 0.232724 0.232599 0.232474
+0.232349 0.232223 0.232098 0.231973 0.231848 0.231723 0.231597 0.231472
+0.231347 0.231222 0.231097 0.230971 0.230846 0.230721 0.230596 0.230471
+0.230346 0.23022 0.230095 0.22997 0.229845 0.22972 0.229594 0.229469
+0.229344 0.229219 0.229094 0.228968 0.228843 0.228718 0.228593 0.228468
+0.228343 0.228217 0.228092 0.227967 0.227842 0.227717 0.227591 0.227466
+0.227341 0.227216 0.227091 0.226965 0.22684 0.226715 0.22659 0.226465
+0.22634 0.226214 0.226089 0.225964 0.225839 0.225714 0.225588 0.225463
+0.225338 0.225213 0.225088 0.224962 0.224837 0.224712 0.224587 0.224462
+0.224337 0.224211 0.224086 0.223961 0.223836 0.223711 0.223585 0.22346
+0.223335 0.22321 0.223085 0.222959 0.222834 0.222709 0.222584 0.222459
+0.222334 0.222208 0.222083 0.221958 0.221833 0.221708 0.221582 0.221457
+0.221332 0.221207 0.221082 0.220956 0.220831 0.220706 0.220581 0.220456
+0.22033 0.220205 0.22008 0.219955 0.21983 0.219705 0.219579 0.219454
+0.219329 0.219204 0.219079 0.218953 0.218828 0.218703 0.218578 0.218453
+0.218327 0.218202 0.218077 0.217952 0.217827 0.217702 0.217576 0.217451
+0.217326 0.217201 0.217076 0.21695 0.216825 0.2167 0.216575 0.21645
+0.216324 0.216199 0.216074 0.215949 0.215824 0.215699 0.215573 0.215448
+0.215323 0.215198 0.215073 0.214947 0.214822 0.214697 0.214572 0.214447
+0.214321 0.214196 0.214071 0.213946 0.213821 0.213696 0.21357 0.213445
+0.21332 0.213195 0.21307 0.212944 0.212819 0.212694 0.212569 0.212444
+0.212318 0.212193 0.212068 0.211943 0.211818 0.211693 0.211567 0.211442
+0.211317 0.211192 0.211067 0.210941 0.210816 0.210691 0.210566 0.210441
+0.210315 0.21019 0.210065 0.20994 0.209815 0.20969 0.209564 0.209439
+0.209314 0.209189 0.209064 0.208938 0.208813 0.208688 0.208563 0.208438
+0.208312 0.208187 0.208062 0.207937 0.207812 0.207687 0.207561 0.207436
+0.207311 0.207186 0.207061 0.206935 0.20681 0.206685 0.20656 0.206435
+0.206309 0.206184 0.206059 0.205934 0.205809 0.205684 0.205558 0.205433
+0.205308 0.205183 0.205058 0.204932 0.204807 0.204682 0.204557 0.204432
+0.204306 0.204181 0.204056 0.203931 0.203806 0.203681 0.203555 0.20343
+0.203305 0.20318 0.203055 0.202929 0.202804 0.202679 0.202554 0.202429
+0.202303 0.202178 0.202053 0.201928 0.201803 0.201678 0.201552 0.201427
+0.201302 0.201177 0.201052 0.200926 0.200801 0.200676 0.200551 0.200426
+0.2003 0.200175 0.20005 0.199925 0.1998 0.199675 0.199549 0.199424
+0.199299 0.199174 0.199049 0.198923 0.198798 0.198673 0.198548 0.198423
+0.198297 0.198172 0.198047 0.197922 0.197797 0.197672 0.197546 0.197421
+0.197296 0.197171 0.197046 0.19692 0.196795 0.19667 0.196545 0.19642
+0.196294 0.196169 0.196044 0.195919 0.195794 0.195669 0.195543 0.195418
+0.195293 0.195168 0.195043 0.194917 0.194792 0.194667 0.194542 0.194417
+0.194291 0.194166 0.194041 0.193916 0.193791 0.193666 0.19354 0.193415
+0.19329 0.193165 0.19304 0.192914 0.192789 0.192664 0.192539 0.192414
+0.192288 0.192163 0.192038 0.191913 0.191788 0.191662 0.191537 0.191412
+0.191287 0.191162 0.191037 0.190911 0.190786 0.190661 0.190536 0.190411
+0.190285 0.19016 0.190035 0.18991 0.189785 0.189659 0.189534 0.189409
+0.189284 0.189159 0.189034 0.188908 0.188783 0.188658 0.188533 0.188408
+0.188282 0.188157 0.188032 0.187907 0.187782 0.187656 0.187531 0.187406
+0.187281 0.187156 0.187031 0.186905 0.18678 0.186655 0.18653 0.186405
+0.186279 0.186154 0.186029 0.185904 0.185779 0.185653 0.185528 0.185403
+0.185278 0.185153 0.185028 0.184902 0.184777 0.184652 0.184527 0.184402
+0.184276 0.184151 0.184026 0.183901 0.183776 0.18365 0.183525 0.1834
+0.183275 0.18315 0.183025 0.182899 0.182774 0.182649 0.182524 0.182399
+0.182273 0.182148 0.182023 0.181898 0.181773 0.181647 0.181522 0.181397
+0.181272 0.181147 0.181022 0.180896 0.180771 0.180646 0.180521 0.180396
+0.18027 0.180145 0.18002 0.179895 0.17977 0.179644 0.179519 0.179394
+0.179269 0.179144 0.179019 0.178893 0.178768 0.178643 0.178518 0.178393
+0.178267 0.178142 0.178017 0.177892 0.177767 0.177641 0.177516 0.177391
+0.177266 0.177141 0.177016 0.17689 0.176765 0.17664 0.176515 0.17639
+0.176264 0.176139 0.176014 0.175889 0.175764 0.175638 0.175513 0.175388
+0.175263 0.175138 0.175013 0.174887 0.174762 0.174637 0.174512 0.174387
+0.174261 0.174136 0.174011 0.173886 0.173761 0.173635 0.17351 0.173385
+0.17326 0.173135 0.17301 0.172884 0.172759 0.172634 0.172509 0.172384
+0.172258 0.172133 0.172008 0.171883 0.171758 0.171632 0.171507 0.171382
+0.171257 0.171132 0.171007 0.170881 0.170756 0.170631 0.170506 0.170381
+0.170255 0.17013 0.170005 0.16988 0.169755 0.169629 0.169504 0.169379
+0.169254 0.169129 0.169004 0.168878 0.168753 0.168628 0.168503 0.168378
+0.168252 0.168127 0.168002 0.167877 0.167752 0.167626 0.167501 0.167376
+0.167251 0.167126 0.167001 0.166875 0.16675 0.166625 0.1665 0.166375
+0.166249 0.166124 0.165999 0.165874 0.165749 0.165623 0.165498 0.165373
+0.165248 0.165123 0.164998 0.164872 0.164747 0.164622 0.164497 0.164372
+0.164246 0.164121 0.163996 0.163871 0.163746 0.16362 0.163495 0.16337
+0.163245 0.16312 0.162994 0.162869 0.162744 0.162619 0.162494 0.162369
+0.162243 0.162118 0.161993 0.161868 0.161743 0.161617 0.161492 0.161367
+0.161242 0.161117 0.160991 0.160866 0.160741 0.160616 0.160491 0.160366
+0.16024 0.160115 0.15999 0.159865 0.15974 0.159614 0.159489 0.159364
+0.159239 0.159114 0.158988 0.158863 0.158738 0.158613 0.158488 0.158363
+0.158237 0.158112 0.157987 0.157862 0.157737 0.157611 0.157486 0.157361
+0.157236 0.157111 0.156985 0.15686 0.156735 0.15661 0.156485 0.15636
+0.156234 0.156109 0.155984 0.155859 0.155734 0.155608 0.155483 0.155358
+0.155233 0.155108 0.154982 0.154857 0.154732 0.154607 0.154482 0.154357
+0.154231 0.154106 0.153981 0.153856 0.153731 0.153605 0.15348 0.153355
+0.15323 0.153105 0.152979 0.152854 0.152729 0.152604 0.152479 0.152354
+0.152228 0.152103 0.151978 0.151853 0.151728 0.151602 0.151477 0.151352
+0.151227 0.151102 0.150976 0.150851 0.150726 0.150601 0.150476 0.150351
+0.150225 0.1501 0.149975 0.14985 0.149725 0.149599 0.149474 0.149349
+;
+#A 7000 0.149224 0.149099 0.148973 0.148848 0.148723 0.148598 0.148473
+0.148348 0.148222 0.148097 0.147972 0.147847 0.147722 0.147596 0.147471
+0.147346 0.147221 0.147096 0.14697 0.146845 0.14672 0.146595 0.14647
+0.146345 0.146219 0.146094 0.145969 0.145844 0.145719 0.145593 0.145468
+0.145343 0.145218 0.145093 0.144967 0.144842 0.144717 0.144592 0.144467
+0.144342 0.144216 0.144091 0.143966 0.143841 0.143716 0.14359 0.143465
+0.14334 0.143215 0.14309 0.142964 0.142839 0.142714 0.142589 0.142464
+0.142339 0.142213 0.142088 0.141963 0.141838 0.141713 0.141587 0.141462
+0.141337 0.141212 0.141087 0.140961 0.140836 0.140711 0.140586 0.140461
+0.140336 0.14021 0.140085 0.13996 0.139835 0.13971 0.139584 0.139459
+0.139334 0.139209 0.139084 0.138958 0.138833 0.138708 0.138583 0.138458
+0.138333 0.138207 0.138082 0.137957 0.137832 0.137707 0.137581 0.137456
+0.137331 0.137206 0.137081 0.136955 0.13683 0.136705 0.13658 0.136455
+0.136329 0.136204 0.136079 0.135954 0.135829 0.135704 0.135578 0.135453
+0.135328 0.135203 0.135078 0.134952 0.134827 0.134702 0.134577 0.134452
+0.134326 0.134201 0.134076 0.133951 0.133826 0.133701 0.133575 0.13345
+0.133325 0.1332 0.133075 0.132949 0.132824 0.132699 0.132574 0.132449
+0.132323 0.132198 0.132073 0.131948 0.131823 0.131698 0.131572 0.131447
+0.131322 0.131197 0.131072 0.130946 0.130821 0.130696 0.130571 0.130446
+0.13032 0.130195 0.13007 0.129945 0.12982 0.129695 0.129569 0.129444
+0.129319 0.129194 0.129069 0.128943 0.128818 0.128693 0.128568 0.128443
+0.128317 0.128192 0.128067 0.127942 0.127817 0.127692 0.127566 0.127441
+0.127316 0.127191 0.127066 0.12694 0.126815 0.12669 0.126565 0.12644
+0.126314 0.126189 0.126064 0.125939 0.125814 0.125689 0.125563 0.125438
+0.125313 0.125188 0.125063 0.124937 0.124812 0.124687 0.124562 0.124437
+0.124311 0.124186 0.124061 0.123936 0.123811 0.123686 0.12356 0.123435
+0.12331 0.123185 0.12306 0.122934 0.122809 0.122684 0.122559 0.122434
+0.122308 0.122183 0.122058 0.121933 0.121808 0.121683 0.121557 0.121432
+0.121307 0.121182 0.121057 0.120931 0.120806 0.120681 0.120556 0.120431
+0.120305 0.12018 0.120055 0.11993 0.119805 0.11968 0.119554 0.119429
+0.119304 0.119179 0.119054 0.118928 0.118803 0.118678 0.118553 0.118428
+0.118302 0.118177 0.118052 0.117927 0.117802 0.117677 0.117551 0.117426
+0.117301 0.117176 0.117051 0.116925 0.1168 0.116675 0.11655 0.116425
+0.116299 0.116174 0.116049 0.115924 0.115799 0.115674 0.115548 0.115423
+0.115298 0.115173 0.115048 0.114922 0.114797 0.114672 0.114547 0.114422
+0.114296 0.114171 0.114046 0.113921 0.113796 0.113671 0.113545 0.11342
+0.113295 0.11317 0.113045 0.112919 0.112794 0.112669 0.112544 0.112419
+0.112293 0.112168 0.112043 0.111918 0.111793 0.111667 0.111542 0.111417
+0.111292 0.111167 0.111042 0.110916 0.110791 0.110666 0.110541 0.110416
+0.11029 0.110165 0.11004 0.109915 0.10979 0.109664 0.109539 0.109414
+0.109289 0.109164 0.109039 0.108913 0.108788 0.108663 0.108538 0.108413
+0.108287 0.108162 0.108037 0.107912 0.107787 0.107661 0.107536 0.107411
+0.107286 0.107161 0.107036 0.10691 0.106785 0.10666 0.106535 0.10641
+0.106284 0.106159 0.106034 0.105909 0.105784 0.105658 0.105533 0.105408
+0.105283 0.105158 0.105033 0.104907 0.104782 0.104657 0.104532 0.104407
+0.104281 0.104156 0.104031 0.103906 0.103781 0.103655 0.10353 0.103405
+0.10328 0.103155 0.10303 0.102904 0.102779 0.102654 0.102529 0.102404
+0.102278 0.102153 0.102028 0.101903 0.101778 0.101652 0.101527 0.101402
+0.101277 0.101152 0.101027 0.100901 0.100776 0.100651 0.100526 0.100401
+0.100275 0.10015 0.100025 0.0998999 0.0997747 0.0996495 0.0995243 0.0993991
+0.0992739 0.0991487 0.0990235 0.0988984 0.0987732 0.098648 0.0985228
+0.0983976 0.0982724 0.0981472 0.098022 0.0978968 0.0977717 0.0976465
+0.0975213 0.0973961 0.0972709 0.0971457 0.0970205 0.0968953 0.0967702
+0.096645 0.0965198 0.0963946 0.0962694 0.0961442 0.096019 0.0958938
+0.0957687 0.0956435 0.0955183 0.0953931 0.0952679 0.0951427 0.0950175
+0.0948923 0.0947672 0.094642 0.0945168 0.0943916 0.0942664 0.0941412
+0.094016 0.0938908 0.0937656 0.0936405 0.0935153 0.0933901 0.0932649
+0.0931397 0.0930145 0.0928893 0.0927641 0.092639 0.0925138 0.0923886
+0.0922634 0.0921382 0.092013 0.0918878 0.0917626 0.0916375 0.0915123
+0.0913871 0.0912619 0.0911367 0.0910115 0.0908863 0.0907611 0.090636
+0.0905108 0.0903856 0.0902604 0.0901352 0.09001 0.0898848 0.0897596
+0.0896344 0.0895093 0.0893841 0.0892589 0.0891337 0.0890085 0.0888833
+0.0887581 0.0886329 0.0885078 0.0883826 0.0882574 0.0881322 0.088007
+0.0878818 0.0877566 0.0876314 0.0875063 0.0873811 0.0872559 0.0871307
+0.0870055 0.0868803 0.0867551 0.0866299 0.0865048 0.0863796 0.0862544
+0.0861292 0.086004 0.0858788 0.0857536 0.0856284 0.0855033 0.0853781
+0.0852529 0.0851277 0.0850025 0.0848773 0.0847521 0.0846269 0.0845018
+0.0843766 0.0842514 0.0841262 0.084001 0.0838758 0.0837506 0.0836254
+0.0835003 0.0833751 0.0832499 0.0831247 0.0829995 0.0828743 0.0827491
+0.0826239 0.0824988 0.0823736 0.0822484 0.0821232 0.081998 0.0818728
+0.0817476 0.0816224 0.0814972 0.0813721 0.0812469 0.0811217 0.0809965
+0.0808713 0.0807461 0.0806209 0.0804957 0.0803706 0.0802454 0.0801202
+0.079995 0.0798698 0.0797446 0.0796194 0.0794942 0.0793691 0.0792439
+0.0791187 0.0789935 0.0788683 0.0787431 0.0786179 0.0784927 0.0783676
+0.0782424 0.0781172 0.077992 0.0778668 0.0777416 0.0776164 0.0774912
+0.077366 0.0772409 0.0771157 0.0769905 0.0768653 0.0767401 0.0766149
+0.0764897 0.0763645 0.0762394 0.0761142 0.075989 0.0758638 0.0757386
+0.0756134 0.0754882 0.075363 0.0752379 0.0751127 0.0749875 0.0748623
+0.0747371 0.0746119 0.0744867 0.0743615 0.0742364 0.0741112 0.073986
+0.0738608 0.0737356 0.0736104 0.0734852 0.07336 0.0732348 0.0731097
+0.0729845 0.0728593 0.0727341 0.0726089 0.0724837 0.0723585 0.0722333
+0.0721082 0.071983 0.0718578 0.0717326 0.0716074 0.0714822 0.071357
+0.0712318 0.0711067 0.0709815 0.0708563 0.0707311 0.0706059 0.0704807
+0.0703555 0.0702303 0.0701052 0.06998 0.0698548 0.0697296 0.0696044
+0.0694792 0.069354 0.0692288 0.0691037 0.0689785 0.0688533 0.0687281
+0.0686029 0.0684777 0.0683525 0.0682273 0.0681022 0.067977 0.0678518
+0.0677266 0.0676014 0.0674762 0.067351 0.0672258 0.0671007 0.0669755
+0.0668503 0.0667251 0.0665999 0.0664747 0.0663495 0.0662243 0.0660992
+0.065974 0.0658488 0.0657236 0.0655984 0.0654732 0.065348 0.0652228
+0.0650976 0.0649725 0.0648473 0.0647221 0.0645969 0.0644717 0.0643465
+0.0642213 0.0640961 0.063971 0.0638458 0.0637206 0.0635954 0.0634702
+0.063345 0.0632198 0.0630946 0.0629695 0.0628443 0.0627191 0.0625939
+0.0624687 0.0623435 0.0622183 0.0620931 0.061968 0.0618428 0.0617176
+0.0615924 0.0614672 0.061342 0.0612168 0.0610916 0.0609665 0.0608413
+0.0607161 0.0605909 0.0604657 0.0603405 0.0602153 0.0600901 0.0599649
+0.0598398 0.0597146 0.0595894 0.0594642 0.059339 0.0592138 0.0590886
+0.0589634 0.0588383 0.0587131 0.0585879 0.0584627 0.0583375 0.0582123
+0.0580871 0.0579619 0.0578368 0.0577116 0.0575864 0.0574612 0.057336
+0.0572108 0.0570856 0.0569604 0.0568353 0.0567101 0.0565849 0.0564597
+0.0563345 0.0562093 0.0560841 0.0559589 0.0558337 0.0557086 0.0555834
+0.0554582 0.055333 0.0552078 0.0550826 0.0549574 0.0548322 0.0547071
+0.0545819 0.0544567 0.0543315 0.0542063 0.0540811 0.0539559 0.0538307
+0.0537056 0.0535804 0.0534552 0.05333 0.0532048 0.0530796 0.0529544
+0.0528292 0.0527041 0.0525789 0.0524537 0.0523285 0.0522033 0.0520781
+0.0519529 0.0518277 0.0517026 0.0515774 0.0514522 0.051327 0.0512018
+0.0510766 0.0509514 0.0508262 0.0507011 0.0505759 0.0504507 0.0503255
+0.0502003 0.0500751 0.0499499 0.0498247 0.0496995 0.0495744 0.0494492
+0.049324 0.0491988 0.0490736 0.0489484 0.0488232 0.048698 0.0485729
+0.0484477 0.0483225 0.0481973 0.0480721 0.0479469 0.0478217 0.0476965
+0.0475714 0.0474462 0.047321 0.0471958 0.0470706 0.0469454 0.0468202
+0.046695 0.0465699 0.0464447 0.0463195 0.0461943 0.0460691 0.0459439
+0.0458187 0.0456935 0.0455684 0.0454432 0.045318 0.0451928 0.0450676
+0.0449424 0.0448172 0.044692 0.0445669 0.0444417 0.0443165 0.0441913
+0.0440661 0.0439409 0.0438157 0.0436905 0.0435653 0.0434402 0.043315
+0.0431898 0.0430646 0.0429394 0.0428142 0.042689 0.0425638 0.0424387
+0.0423135 0.0421883 0.0420631 0.0419379 0.0418127 0.0416875 0.0415623
+0.0414372 0.041312 0.0411868 0.0410616 0.0409364 0.0408112 0.040686
+0.0405608 0.0404357 0.0403105 0.0401853 0.0400601 0.0399349 0.0398097
+0.0396845 0.0395593 0.0394341 0.039309 0.0391838 0.0390586 0.0389334
+0.0388082 0.038683 0.0385578 0.0384327 0.0383075 0.0381823 0.0380571
+0.0379319 0.0378067 0.0376815 0.0375563 0.0374311 0.037306 0.0371808
+0.0370556 0.0369304 0.0368052 0.03668 0.0365548 0.0364296 0.0363045
+0.0361793 0.0360541 0.0359289 0.0358037 0.0356785 0.0355533 0.0354281
+0.035303 0.0351778 0.0350526 0.0349274 0.0348022 0.034677 0.0345518
+0.0344266 0.0343015 0.0341763 0.0340511 0.0339259 0.0338007 0.0336755
+0.0335503 0.0334251 0.0332999 0.0331748 0.0330496 0.0329244 0.0327992
+0.032674 0.0325488 0.0324236 0.0322984 0.0321733 0.0320481 0.0319229
+0.0317977 0.0316725 0.0315473 0.0314221 0.0312969 0.0311718 0.0310466
+0.0309214 0.0307962 0.030671 0.0305458 0.0304206 0.0302954 0.0301703
+0.0300451 0.0299199 0.0297947 0.0296695 0.0295443 0.0294191 0.0292939
+0.0291688 0.0290436 0.0289184 0.0287932 0.028668 0.0285428 0.0284176
+0.0282924 0.0281673 0.0280421 0.0279169 0.0277917 0.0276665 0.0275413
+0.0274161 0.0272909 0.0271657 0.0270406 0.0269154 0.0267902 0.026665
+0.0265398 0.0264146 0.0262894 0.0261642 0.0260391 0.0259139 0.0257887
+0.0256635 0.0255383 0.0254131 0.0252879 0.0251627 0.0250376 0.0249124
+0.0247872 0.024662 0.0245368 0.0244116 0.0242864 0.0241612;
+#A 8000 0.0240361 0.0239109 0.0237857 0.0236605 0.0235353 0.0234101
+0.0232849 0.0231597 0.0230346 0.0229094 0.0227842 0.022659 0.0225338
+0.0224086 0.0222834 0.0221582 0.022033 0.0219079 0.0217827 0.0216575
+0.0215323 0.0214071 0.0212819 0.0211567 0.0210315 0.0209064 0.0207812
+0.020656 0.0205308 0.0204056 0.0202804 0.0201552 0.02003 0.0199049
+0.0197797 0.0196545 0.0195293 0.0194041 0.0192789 0.0191537 0.0190285
+0.0189034 0.0187782 0.018653 0.0185278 0.0184026 0.0182774 0.0181522
+0.018027 0.0179019 0.0177767 0.0176515 0.0175263 0.0174011 0.0172759
+0.0171507 0.0170255 0.0169004 0.0167752 0.01665 0.0165248 0.0163996
+0.0162744 0.0161492 0.016024 0.0158988 0.0157737 0.0156485 0.0155233
+0.0153981 0.0152729 0.0151477 0.0150225 0.0148973 0.0147722 0.014647
+0.0145218 0.0143966 0.0142714 0.0141462 0.014021 0.0138958 0.0137707
+0.0136455 0.0135203 0.0133951 0.0132699 0.0131447 0.0130195 0.0128943
+0.0127692 0.012644 0.0125188 0.0123936 0.0122684 0.0121432 0.012018
+0.0118928 0.0117677 0.0116425 0.0115173 0.0113921 0.0112669 0.0111417
+0.0110165 0.0108913 0.0107661 0.010641 0.0105158 0.0103906 0.0102654
+0.0101402 0.010015 0.00988983 0.00976465 0.00963946 0.00951427 0.00938908
+0.0092639 0.00913871 0.00901352 0.00888833 0.00876314 0.00863796 0.00851277
+0.00838758 0.00826239 0.00813721 0.00801202 0.00788683 0.00776164 0.00763645
+0.00751127 0.00738608 0.00726089 0.0071357 0.00701052 0.00688533 0.00676014
+0.00663495 0.00650976 0.00638458 0.00625939 0.0061342 0.00600901 0.00588383
+0.00575864 0.00563345 0.00550826 0.00538307 0.00525789 0.0051327 0.00500751
+0.00488232 0.00475714 0.00463195 0.00450676 0.00438157 0.00425638 0.0041312
+0.00400601 0.00388082 0.00375563 0.00363045 0.00350526 0.00338007 0.00325488
+0.00312969 0.00300451 0.00287932 0.00275413 0.00262894 0.00250376 0.00237857
+0.00225338 0.00212819 0.002003 0.00187782 0.00175263 0.00162744 0.00150225
+0.00137707 0.00125188 0.00112669 0.0010015 0.000876314 0.000751127
+0.000625939 0.000500751 0.000375563 0.000250376 0.000125188;
+#X coords 0 1 8191 -1 100 70 1;
+#X restore 355 154 graph;
+#X obj 26 197 function~ window;
+#X msg 26 167 rcos;
+#X obj 26 124 function~ waveform;
+#X msg 26 100 addsyn 0 1 0.25;
+#X obj 26 143 loadbang;
+#X obj 26 372 granule~ waveform window;
+#X msg 26 341 spray;
+#X obj 26 445 dac~;
+#X obj 26 417 *~ 0.2;
+#X obj 224 417 *~ 0.2;
+#X obj 168 296 metro 1000;
+#X obj 168 275 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 141 101 addsyn 0 0.1 0.3 0.5 0.3 0.1;
+#N canvas 0 22 410 263 more-messages 0;
+#X obj 13 191 outlet;
+#X msg 159 175 steady \$1;
+#X obj 159 153 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 176 155 steady rhythm;
+#N canvas 0 22 643 386 tuning 0;
+#X obj 63 252 outlet;
+#X msg 91 121 setscale 110 123.75 139.219 146.667 165 185.625 208.828
+220 247.5 278.438 293.333 330 371.25 417.656 440 495 556.875 586.667
+660 742.5 835.312 880 990 1113.75 1173.33 1320 1485 1670.62 1760 1980
+;
+#X obj 91 96 loadbang;
+#X msg 227 236 pitchdev \$1;
+#X floatatom 227 216 5 0 0 0 - - -, f 5;
+#X obj 230 192 hsl 128 15 0 0.1 0 0 empty empty empty -2 -6 0 8 -260704
+-1 -1 0 1;
+#N canvas 0 22 470 320 more-scales 0;
+#X msg 53 65 setscale 440 495 556.875 586.667 660 742.5 835.312 880
+990 1113.75 1173.33 1320 1485 1670.62;
+#X text 58 45 two octave Pythagorean;
+#X msg 64 125 setscale 55 58.2705 61.7354 65.4064 69.2957 73.4162 77.7817
+82.4069 87.3071 92.4986 97.9989 103.826 110 116.541 123.471 130.813
+138.591 146.832 155.563 164.814 174.614 184.997 195.998 207.652 220
+233.082 246.942 261.626 277.183 293.665 311.127 329.628 349.228 369.994
+391.995 415.305 440 466.164 493.883 523.251 554.365 587.33 622.254
+659.255 698.456 739.989 783.991 830.609 880 932.328 987.767 1046.5
+1108.73 1174.66 1244.51 1318.51 1396.91 1479.98 1567.98 1661.22;
+#X text 62 106 equal-tempered 12 tone;
+#X msg 84 299 setscale 55 60.7249 67.0458 74.0245 81.7297 90.2369 99.6296
+110 121.45 134.092 148.049 163.459 180.474 199.259 220 242.9 268.183
+296.098 326.919 360.948 398.518 440 485.8 536.366 592.196 653.837 721.895
+797.037 880 971.599 1072.73 1184.39 1307.67 1443.79 1594.07;
+#X text 79 279 equal-tempered 7 tone;
+#X msg 94 422 setscale 220 247.5 278.438 293.333 330 440 495 556.875
+586.667 660 880 990 1113.75 1173.33 1320;
+#X text 92 404 pentatonic;
+#X obj 60 488 outlet;
+#X connect 0 0 8 0;
+#X connect 2 0 8 0;
+#X connect 4 0 8 0;
+#X connect 6 0 8 0;
+#X restore 63 42 pd more-scales;
+#X text 173 105 default: diatonic pythagorean;
+#X msg 193 58 constrain_scale \$1;
+#X obj 193 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X text 156 14 limit scale within freq constraints set by grist message
+;
+#X text 213 31 (if your boundaries are bad the constraints will be
+ignored and the full scale will be used.);
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 8 0;
+#X restore 100 68 pd tuning;
+#X msg 204 76 transpose \$1;
+#X floatatom 204 53 5 0 0 0 - - -, f 5;
+#X text 203 34 global transposition;
+#N canvas 0 22 244 162 initialize 0;
+#X obj 9 76 s granule-master-gain-in;
+#X msg 9 56 0.05;
+#X obj 9 32 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X restore 279 176 pd initialize;
+#N canvas 0 22 478 328 grain-cloud-profile 0;
+#X obj 35 235 outlet;
+#X msg 79 20 grist 333 1000 50 5000 0 1 0.05 1 30 60;
+#X msg 79 44 grist 250 1000 100 300 0.1 0.9 0.1 1 40 60;
+#X msg 79 68 grist 30 1000 400 500 0.1 0.9 0.1 1 50 600;
+#X msg 79 92 grist 10 1000 1200 1500 0.1 0.9 0.1 1 20 50;
+#X msg 79 116 grist 3 1000 100 1500 0.1 0.9 0.1 1 1000 8000;
+#X msg 85 200 events \$1;
+#X floatatom 85 180 5 0 0 0 - - -, f 5;
+#X text 127 177 specify events-per-cloud directly;
+#X text 28 260 grist parameter sequence:;
+#X text 28 274 events-per-cloud \, event horizon(ms.) \, min freq \,
+max freq \,;
+#X text 29 307 min grain-size(ms.) \, max grain-size;
+#X text 28 290 left pan boundary \, right pan boundary \, min amp \,
+max amp \,;
+#X msg 83 136 grist 3 1000 200 800 0.1 0.9 0.1 1 2000 4000;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 13 0 0 0;
+#X restore 13 38 pd grain-cloud-profile;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 9 0 0 0;
+#X restore 387 356 pd more-messages;
+#X floatatom 26 294 5 0 0 0 - - -, f 5;
+#X msg 190 340 pitchspray;
+#X msg 26 244 1;
+#X obj 26 218 loadbang;
+#X text 90 218 select method;
+#X text 67 342 basic grain cloud;
+#X obj 26 77 loadbang;
+#X text 267 339 tuned grain cloud;
+#X msg 36 268 2;
+#X msg 96 170 aenv 0.025;
+#N canvas 666 199 454 304 select-method 0;
+#X obj 64 35 inlet;
+#X obj 138 25 inlet;
+#X obj 26 13 loadbang;
+#X obj 138 223 spigot;
+#X obj 193 224 spigot;
+#X obj 230 188 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 175 185 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 64 132 unpack f f;
+#X obj 64 65 sel 1 2;
+#X msg 64 102 1 0;
+#X msg 97 102 0 1;
+#X obj 138 255 outlet;
+#X obj 193 254 outlet;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 9 0;
+#X connect 3 0 11 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 1;
+#X connect 6 0 3 1;
+#X connect 7 0 6 0;
+#X connect 7 1 5 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X restore 26 317 pd select-method;
+#X obj 23 14 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 24 49 granule~ - granular synthesis;
+#X text 91 80 generate waveform;
+#X text 96 150 generate envelope;
+#X text 60 244 spray;
+#X text 69 268 pitchspray;
+#X obj 349 300 hsl 128 15 0 1 0 0 granule-master-gain granule-master-gain-in
+master_gain -2 -8 0 10 -261682 -1 -1 635 1;
+#X floatatom 263 399 5 0 0 0 - granule-master-gain -, f 5;
+#X floatatom 65 398 5 0 0 0 - granule-master-gain -, f 5;
+#X text 332 358 comment;
+#X text 167 253 Turn on to start grains (DACs must be on);
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 10 0;
+#X connect 7 1 11 0;
+#X connect 8 0 7 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 1;
+#X connect 12 0 26 1;
+#X connect 13 0 12 0;
+#X connect 14 0 4 0;
+#X connect 15 0 7 0;
+#X connect 16 0 26 0;
+#X connect 17 0 7 0;
+#X connect 18 0 16 0;
+#X connect 19 0 18 0;
+#X connect 22 0 5 0;
+#X connect 24 0 16 0;
+#X connect 25 0 2 0;
+#X connect 26 0 8 0;
+#X connect 26 1 17 0;
+#X connect 34 0 11 1;
+#X connect 35 0 10 1;
diff --git a/externals/lyonpotpourri/granule~.c b/externals/lyonpotpourri/granule~.c
new file mode 100755
index 000000000..019118df4
--- /dev/null
+++ b/externals/lyonpotpourri/granule~.c
@@ -0,0 +1 @@
+#include "MSPd.h"

#define MAXGRAINS (512) // just for present to get lower overhead

#define MAXSCALE (8192)
#define OBJECT_NAME "granule~"


static t_class *granule_class;


typedef struct {
    float amplitude;
    float panL;
    float panR;
    long delay; // samples to wait until event starts
    long duration;// length in samples of event
    float phase; // phase for frequency oscillator
    float ephase; // phase for envelope
    float si; // sampling increment for frequency
    float esi; // sampling increment for envelope
} t_grain;

typedef struct {
	t_word *b_samples;
	long b_frames;
	long b_nchans;
} t_pdbuffer;


typedef struct _granule
{
    
    t_object x_obj;
    float x_f;
    t_pdbuffer *wavebuf; // holds waveform samples
    t_pdbuffer *windowbuf; // holds window samples
	t_symbol *wavename; // name of waveform buffer
	t_symbol *windowname; // name of window buffer
    
	float sr; // sampling rate
	short mute;
	short hosed; // buffers are bad
	/* Global grain data*/
	long events; // number of events in a block
	long horizon; // length of block for random events
	float minfreq; // minimum frequency for a grain
	float maxfreq; // maximum frequency for a grain
	float minpan; // minimum pan for a grain
	float maxpan; // maxium pan for a grain
	float minamp; // minimum amplitude for a grain
	float maxamp; // maximum amplitude for a grain
	float mindur; // minumum duration for a grain
	float maxdur; // maximum duration for a grain
	t_grain *grains; // stores grain data
	float *pitchscale; // contains a frequency grid for pitch constraint
	int pitchsteps; // number of members in scale
	float transpose; // factor for scaling all pitches
	float pitch_deviation; // factor to adjust scaled pitches
	short steady; // toggles pulsed rhythmic activity
	float lowblock_freq; //lowest allowed frequency
	float highblock_freq;// highest allowed frequency
	float mindur_ms;//store duration in ms
	float maxdur_ms;//ditto
	float horizon_ms;//ditto
	short constrain_scale;//flag to only use bounded portion of scale rather than all of it
} t_granule;

void granule_setbuf(t_granule *x, t_symbol *wavename, t_symbol *windowname);
void *granule_new(t_symbol *msg, short argc, t_atom *argv);
t_int *granule_perform(t_int *w);
t_int *granule_performhose(t_int *w);
void granule_dsp(t_granule *x, t_signal **sp);
void granule_reload(t_granule *x);
void granule_spray(t_granule *x);
void granule_pitchspray(t_granule *x);
void granule_transpose(t_granule *x, t_floatarg t);
void granule_pitchdev(t_granule *x, t_floatarg d);
void granule_lowblock(t_granule *x, t_floatarg f);
void granule_highblock(t_granule *x, t_floatarg f);
void granule_events(t_granule *x, t_floatarg e);
float granule_boundrand(float min, float max);
void *granule_grist(t_granule *x, t_symbol *msg, short argc, t_atom *argv);
void *granule_grain(t_granule *x, t_symbol *msg, short argc, t_atom *argv);
void *granule_setscale(t_granule *x, t_symbol *msg, short argc, t_atom *argv);
void granule_info(t_granule *x);
void granule_mute(t_granule *x, t_floatarg toggle);
void granule_steady(t_granule *x, t_floatarg toggle);
void granule_constrain_scale(t_granule *x, t_floatarg toggle);
void granule_dsp_free(t_granule *x);
void granule_init(t_granule *x,short initialized);
void granule_constrain(int *index_min, int *index_max, float minfreq, float maxfreq, float *scale, int steps);

void granule_tilde_setup(void){
    granule_class = class_new(gensym("granule~"), (t_newmethod)granule_new,
                              (t_method)granule_dsp_free,sizeof(t_granule), 0,A_GIMME,0);
    CLASS_MAINSIGNALIN(granule_class, t_granule, x_f);
    class_addmethod(granule_class,(t_method)granule_dsp,gensym("dsp"),0);
    class_addmethod(granule_class,(t_method)granule_mute,gensym("mute"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_setbuf,gensym("setbuf"),A_DEFSYM,A_DEFSYM,0);
    class_addmethod(granule_class,(t_method)granule_spray,gensym("spray"),0);
    class_addmethod(granule_class,(t_method)granule_info,gensym("info"),0);
    class_addmethod(granule_class,(t_method)granule_pitchspray,gensym("pitchspray"),0);
    class_addmethod(granule_class,(t_method)granule_transpose,gensym("transpose"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_events,gensym("events"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_pitchdev,gensym("pitchdev"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_lowblock,gensym("lowblock"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_highblock,gensym("highblock"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_steady,gensym("steady"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_constrain_scale,gensym("constrain_scale"),A_FLOAT,0);
    class_addmethod(granule_class,(t_method)granule_grist,gensym("grist"),A_GIMME,0);
    class_addmethod(granule_class,(t_method)granule_grain,gensym("grain"),A_GIMME,0);
    class_addmethod(granule_class,(t_method)granule_setscale,gensym("setscale"),A_GIMME,0);
    potpourri_announce(OBJECT_NAME);
}

void granule_constrain_scale(t_granule *x, t_floatarg toggle)
{
	x->constrain_scale = toggle;
}
void granule_lowblock(t_granule *x, t_floatarg f)
{
	if(f > 0){
		x->lowblock_freq = f;
	}
}

void granule_highblock(t_granule *x, t_floatarg f)
{
	if(f > 0){
		x->highblock_freq = f;
	}
}

void granule_pitchdev(t_granule *x, t_floatarg d)
{
	if(d < 0 ){
		error("pitch deviation must be positive");
		return;
	}
	x->pitch_deviation = d;
}

void granule_mute(t_granule *x, t_floatarg toggle)
{
	x->mute = toggle;
}

void granule_steady(t_granule *x, t_floatarg toggle)
{
	x->steady = toggle;
}

void granule_events(t_granule *x, t_floatarg e)
{
	if( e <= 0 ){
		post("events must be positive!");
		return;
	}
	x->events = e;
    //	x->steady_dur = x->horizon / (float) x->events;
}

void granule_transpose(t_granule *x, t_floatarg t)
{
	if( t <= 0 ){
		error("transpose factor must be greater than zero!");
		return;
	}
	x->transpose = t;
}

void *granule_setscale(t_granule *x, t_symbol *msg, short argc, t_atom *argv)
{
	int i;
	float *pitchscale = x->pitchscale;
	if( argc >= MAXSCALE ){
		error("%d is the maximum size scale", MAXSCALE);
		return 0;
	}
	if( argc < 2 ){
		error("there must be at least 2 members in scale");
		return 0;
	}
	for(i=0; i < argc; i++){
		pitchscale[i] = atom_getfloatarg(i,argc,argv);
	}
	x->pitchsteps = argc;
    //	post("read %d values into scale", x->pitchsteps);
    return 0;
}

void granule_constrain(int *index_min, int *index_max, float minfreq, float maxfreq, float *scale, int steps)
{
	int imax = steps - 1;
	int imin = 0;
	while(scale[imin] < minfreq && imin < imax){
		++imin;
	}
	if(imin == imax){
        //		post("could not constrain minimum index  - your grist parameters are out of range for this scale");
		*index_min = 0;
		*index_max = steps - 1;
		return;
	}
    while(scale[imax] > maxfreq && imax > 0){
		--imax;
	}
	if(imax < 1 || imax <= imin){
        //		post("could not constrain maximum index - your grist parameters are out of range for this scale");
		*index_min = 0;
		*index_max = steps - 1;
		return;
	}
	*index_min = imin;
	*index_max = imax;
}

void granule_pitchspray(t_granule *x)
{
	int i,j;
    
	long eframes = x->windowbuf->b_frames;
	long frames = x->wavebuf->b_frames;
	float sr = x->sr;
	long horizon = x->horizon; // length of block for random events
	float mindur = x->mindur;
	float maxdur = x->maxdur;
	float minfreq = x->minfreq; // minimum frequency for a grain
	float maxfreq = x->maxfreq; // maximum frequency for a grain
	float minpan = x->minpan; // minimum pan for a grain
	float maxpan = x->maxpan; // maxium pan for a grain
	float minamp = x->minamp; // minimum amplitude for a grain
	float maxamp = x->maxamp; // maximum amplitude for a grain
	float transpose = x->transpose; // pitch scalar
	float lowblock_freq = x->lowblock_freq;
	float highblock_freq = x->highblock_freq;
	short steady = x->steady;
	float pitch_deviation = x->pitch_deviation;
	float pdev = 0;
	float pdev_invert = 0;
    //	float pscale;
	float pan;
	int index_min, index_max;
	int steps = x->pitchsteps;
	float *scale = x->pitchscale;
	int windex;
	short inserted = 0;
	short constrain_scale = x->constrain_scale;
	t_grain *grains = x->grains;
    
    
	if( steps < 2 ){
		error("scale is undefined");
		return;
	}
	if( pitch_deviation ){
		pdev = 1.0 + pitch_deviation;
		pdev_invert = 1.0 / pdev;
	}
	for( i = 0; i < x->events; i++ ){
		inserted = 0;
		for(j = 0; j < MAXGRAINS; j++ ){
			if( grains[j].ephase >= eframes ){
				if(steady){
					grains[j].delay = (float)(i * horizon) / (float) x->events ;
				} else {
    				grains[j].delay = granule_boundrand(0.0,(float) horizon);
    			}
    			grains[j].duration = (long) granule_boundrand(mindur, maxdur);
    			grains[j].phase = 0.0;
    			grains[j].ephase = 0.0;
    			pan = granule_boundrand(minpan, maxpan);
    			grains[j].panL = cos(pan * PIOVERTWO);
    			grains[j].panR = sin(pan * PIOVERTWO);
    			grains[j].amplitude = granule_boundrand(minamp, maxamp);
    			grains[j].esi =  (float) eframes / (float) grains[j].duration ;
				if(constrain_scale){
					granule_constrain(&index_min,&index_max,minfreq, maxfreq, scale, steps);
					windex = (int) granule_boundrand((float)index_min, (float)index_max);
				} else {
					windex = (int) granule_boundrand(0.0, (float)(steps-1));
				}
    			grains[j].si = transpose * scale[windex] * (float) frames / sr;
    			if( pitch_deviation ){
    				grains[j].si *= granule_boundrand(pdev_invert,pdev);
    			}
    			/* must add this code to spray, and also do for high frequencies
                 */
    			if(lowblock_freq > 0.0) {
    				if(grains[j].si * (sr/frames) < lowblock_freq){
    					post("lowblock: aborted grain with %f frequency",grains[j].si * (sr/frames));
    					grains[j].ephase = eframes; // abort grain
    				}
    			}
    			if(highblock_freq > 0.0) {
    				if(grains[j].si * (sr/frames) > highblock_freq){
    					post("highblock: aborted grain with %f frequency, greater than %f",
                             grains[j].si * (sr/frames), highblock_freq);
    					grains[j].ephase = eframes; // abort grain
    				}
    			}
    			inserted = 1;
    			goto nextgrain;
    		}
		}
		if(!inserted){
			error("could not insert grain");
			return;
		}
    nextgrain: ;
	}
}

void granule_spray(t_granule *x)
{
	int i,j;
	long eframes = x->windowbuf->b_frames;
	long frames = x->wavebuf->b_frames;
	float sr = x->sr;
	long horizon = x->horizon; // length of block for random events
	float mindur = x->mindur;
	float maxdur = x->maxdur;
	float minfreq = x->minfreq; // minimum frequency for a grain
	float maxfreq = x->maxfreq; // maximum frequency for a grain
	float minpan = x->minpan; // minimum pan for a grain
	float maxpan = x->maxpan; // maxium pan for a grain
	float minamp = x->minamp; // minimum amplitude for a grain
	float maxamp = x->maxamp; // maximum amplitude for a grain
	float transpose = x->transpose; // pitch scalar
    //	float steady_dur = x->steady_dur;
	short steady = x->steady;
	float pan;
	t_grain *grains = x->grains;
	short inserted;

	for( i = 0; i < x->events; i++ ){
		inserted = 0;
		for(j = 0; j < MAXGRAINS; j++ ){
			if( grains[j].ephase >= eframes ){
				if(steady){
					grains[j].delay = (float)(i * horizon) / (float) x->events ;
				} else {
    				grains[j].delay = granule_boundrand(0.0,(float) horizon);
    			}
   				grains[j].duration = (long) granule_boundrand(mindur, maxdur);
    			grains[j].phase = 0.0;
    			grains[j].ephase = 0.0;
    			pan = granule_boundrand(minpan, maxpan);
    			grains[j].panL = cos(pan * PIOVERTWO);
    			grains[j].panR = sin(pan * PIOVERTWO);
    			grains[j].amplitude = granule_boundrand(minamp, maxamp);
    			grains[j].esi =  (float) eframes / (float) grains[j].duration ;
				grains[j].si = transpose * granule_boundrand(minfreq, maxfreq) * (float) frames / sr;
    			inserted = 1;
    			goto nextgrain;
    		}
		}
		if(! inserted){
			error("could not insert grain");
			return;
		}
    nextgrain: ;
	}
}

void *granule_grain(t_granule *x, t_symbol *msg, short argc, t_atom *argv)
{
	short inserted;
	int j;
	float duration, frequency, amplitude, pan;
	t_grain *grains;
	long eframes;
	long frames;
	float sr;

	grains = x->grains;
	eframes = x->windowbuf->b_frames;
	frames = x->wavebuf->b_frames;
	sr = x->sr;

	if(argc < 4){
		error("grain takes 4 arguments, not %d",argc);
		post("duration frequency amplitude pan");
		return 0;
	}
	duration = atom_getintarg(0,argc,argv);
	frequency = atom_getfloatarg(1,argc,argv); // in ms
	amplitude = atom_getfloatarg(2,argc,argv);
	pan = atom_getfloatarg(3,argc,argv);
	if(duration <= 0.0){
		error("illegal duration:%f",duration);
		return 0;
	}
	if(frequency <= 0.0){
		error("illegal frequency:%f",frequency);
		return 0;
	}
	if(pan < 0.0 || pan > 1.0){
		error("illegal pan:%f",pan);
		return 0;
	}
	inserted = 0;
	for(j = 0; j < MAXGRAINS; j++ ){
		if( grains[j].ephase >= eframes ){
			grains[j].delay = 0.0;// immediate deployment
			grains[j].duration = (long) (.001 * x->sr * duration);
			grains[j].phase = 0.0;
			grains[j].ephase = 0.0;
			grains[j].panL = cos(pan * PIOVERTWO);
			grains[j].panR = sin(pan * PIOVERTWO);
			grains[j].amplitude = amplitude;
			grains[j].esi =  (float) eframes / (float) grains[j].duration ;
			grains[j].si = frequency * (float) frames / sr;
			return 0;
		}
	}
	
	error("could not insert grain");
	return 0;
	
}

float granule_boundrand(float min, float max)
{
	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
}


void *granule_new(t_symbol *msg, short argc, t_atom *argv)
{

    t_granule *x = (t_granule *)pd_new(granule_class);
    outlet_new(&x->x_obj, gensym("signal"));
    outlet_new(&x->x_obj, gensym("signal"));
    x->wavebuf = (t_pdbuffer*)malloc(sizeof(t_pdbuffer));
    x->windowbuf = (t_pdbuffer*)malloc(sizeof(t_pdbuffer));
	srand(time(0));
    
	x->pitchscale = (float *) t_getbytes(MAXSCALE * sizeof(float));
	x->grains = (t_grain *) t_getbytes(MAXGRAINS * sizeof(t_grain));
	
    
	// default names
	x->wavename = gensym("waveform");
	x->windowname = gensym("window");
    
	/* MaxMSP bug that may soon be fixed, this does not work:
     x->wavename = atom_getsymarg(0,argc,argv);
     x->windowname = atom_getsymarg(1,argc,argv); */
    
    // apparently Pd lacks this Max/MSP bug
	x->wavename = atom_getsymbolarg(0,argc,argv);
	x->windowname = atom_getsymbolarg(1,argc,argv);

    
	x->sr = sys_getsr();
	if(! x->sr )
		x->sr = 44100;
    
	granule_init(x,0);
    
    
    return (x);
}

void granule_init(t_granule *x,short initialized)
{
	int i;
	
	if(!initialized){
		x->pitchsteps = 0; // we could predefine a 12t scale
		x->mute = 0;
		x->steady = 0;
		x->events = 10;
		x->horizon_ms = 1000;
		x->minfreq = 220.0;
		x->maxfreq = 880.0;
		x->minpan = .1;
		x->maxpan = .9;
		x->minamp = .1;
		x->maxamp = 1.0;
		x->mindur_ms = 150;
		x->maxdur_ms = 750;
		x->transpose = 1.0;
		x->pitch_deviation = 0.0;
		x->lowblock_freq = 0.0; // by default we do not block any frequencies
		x->highblock_freq = 0.0; // ditto
		x->constrain_scale = 0;
	}
	x->horizon = x->horizon_ms * .001 * x->sr;
	x->mindur = x->mindur_ms * .001 * x->sr;
	x->maxdur = x->maxdur_ms * .001 * x->sr;
	for( i = 0; i < MAXGRAINS; i++ ){ // this is what we test for a legal place to insert grain
		x->grains[i].ephase = 9999999999.0;
	}
}

void granule_info(t_granule *x)
{
	int tcount = 0;
	t_grain *grains = x->grains;
	long eframes = x->windowbuf->b_frames;
	int i;
	
	for(i = 0; i < MAXGRAINS; i++ ){
		if( grains[i].ephase < eframes )
			++tcount;
	}
	post("%d active grains", tcount);
	post("wavename %s", x->wavename->s_name);
	post("windowname %s", x->windowname->s_name);
}


void *granule_grist(t_granule *x, t_symbol *msg, short argc, t_atom *argv)
{
	if(argc < 10 ){
		error("grist takes 10 arguments:");
		post("events horizon minfreq maxfreq minpan maxpan minamp maxamp mindur maxdur");
		return 0;
	}
	x->events = atom_getintarg(0,argc,argv);
	x->horizon_ms = atom_getfloatarg(1,argc,argv);
	x->minfreq = atom_getfloatarg(2,argc,argv);
	x->maxfreq = atom_getfloatarg(3,argc,argv);
	x->minpan = atom_getfloatarg(4,argc,argv);
	x->maxpan = atom_getfloatarg(5,argc,argv);
	x->minamp = atom_getfloatarg(6,argc,argv);
	x->maxamp = atom_getfloatarg(7,argc,argv);
	x->mindur_ms = atom_getfloatarg(8,argc,argv);
	x->maxdur_ms = atom_getfloatarg(9,argc,argv);
	
	x->mindur = .001 * x->sr * x->mindur_ms ;
	x->maxdur = .001 * x->sr * x->maxdur_ms;
	x->horizon = .001 * x->sr * x->horizon_ms;
	
	if(x->minfreq < 0){
		x->minfreq *= -1.0;
	}
	if(x->maxfreq < 0){
		x->maxfreq *= -1.0;
	}
	if(x->minpan < 0.0) {
		x->minpan = 0.0;
	}
	if(x->maxpan > 1.0) {
		x->maxpan = 1.0;
	}
	if(x->events < 0){
		x->events = 0;
	}
	return 0;
}


void granule_reload(t_granule *x)
{
	granule_setbuf(x, x->wavename, x->windowname);
}


void granule_setbuf(t_granule *x, t_symbol *wavename, t_symbol *windowname)
{
    t_garray *a;
    int frames;
    
    x->hosed = 0;
    x->wavebuf->b_frames = 0;
    x->windowbuf->b_frames = 0;
    x->wavebuf->b_nchans = 1;
    x->windowbuf->b_nchans = 1;
    if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
        if (*wavename->s_name) pd_error(x, "granule~: %s: no such array", wavename->s_name);
        x->hosed = 1;
    }
    else if (!garray_getfloatwords(a, &frames, &x->wavebuf->b_samples)) {
        pd_error(x, "%s: bad template for granule~", wavename->s_name);
        x->hosed = 1;
    }
    else  {
        x->wavebuf->b_frames = frames;
        garray_usedindsp(a);
    }
    
    if (!(a = (t_garray *)pd_findbyclass(windowname, garray_class))) {
        if (*wavename->s_name) pd_error(x, "granule~: %s: no such array", windowname->s_name);
        x->hosed = 1;
    }
    else if (!garray_getfloatwords(a, &frames, &x->windowbuf->b_samples)) {
        pd_error(x, "%s: bad template for granule~", windowname->s_name);
        x->hosed = 1;
    }
    else  {
        x->windowbuf->b_frames = frames;
        garray_usedindsp(a);
    }
}


t_int *granule_performhose(t_int *w)
{
    //	t_granule *x = (t_granule *) (w[1]);
	float *outputL = (t_float *)(w[3]);
	float *outputR = (t_float *)(w[4]);
	int n = (int) w[5];
	while(n--) *outputL++ = *outputR++ = 0;
	return (w+6);
}

t_int *granule_perform(t_int *w)
{
	t_granule *x = (t_granule *) (w[1]);
    //	float *in = (t_float *)(w[2]); // ignoring input
	float *outputL = (t_float *)(w[3]);
	float *outputR = (t_float *)(w[4]);
	int n = (int) w[5];

	t_pdbuffer *wavebuf = x->wavebuf;
	t_pdbuffer *windowbuf = x->windowbuf;
	t_word *wavetable = wavebuf->b_samples;
	t_word *window = windowbuf->b_samples;
	t_grain *grains = x->grains;
	float sample;
	float envelope;
	float amplitude;
	float panL, panR;
	float si;
	float esi;
	float phase;
	float ephase;
	long delay;
	long frames = wavebuf->b_frames;
	long eframes = windowbuf->b_frames;
	int i,j;
	
    
    
	/* grain parameters */
    
    
	if( x->mute ){
		while(n--) *outputL++ = *outputR++ = 0;
		return (w+6);
	}
    
    // pre-clean buffer
	for( i = 0; i < n; i++ ){
		outputL[i] = outputR[i] = 0;
	}
    
	for (j=0; j<MAXGRAINS; j++) {
        
		if(grains[j].ephase >= eframes){
			goto nextgrain;
		}
		amplitude = grains[j].amplitude;
		si =  grains[j].si;
		esi = grains[j].esi;
		phase =  grains[j].phase;
		ephase = grains[j].ephase;
		delay =  grains[j].delay;
		panL = grains[j].panL;
		panR = grains[j].panR;
        
		
		for(i = 0; i < n; i++ ){
			// ++(x->sampcount); // not really needed
			if( delay > 0 ){
				--delay;
			}
			if( delay <= 0 && ephase < eframes){
				sample = wavetable[(int)phase].w_float;
                
				envelope = amplitude * window[(int)ephase].w_float;
				sample *= envelope;
				outputL[i] += panL * sample;
				outputR[i] += panR * sample;
				phase += si;
				ephase += esi;
				while( phase >= frames )
					phase -= frames;
                
				if( ephase >= eframes ){
					grains[j].ephase = ephase;
					goto nextgrain; // must escape loop now
				}
                
			}
		}
		grains[j].phase = phase;
		grains[j].ephase = ephase;
		grains[j].delay = delay;
		
    nextgrain: ;
	}
    
	return (w+6);
    
    
}

void granule_dsp_free(t_granule *x)
{

	t_freebytes(x->grains, MAXGRAINS * sizeof(t_grain));
	t_freebytes(x->pitchscale, MAXSCALE * sizeof(float));
}

void granule_dsp(t_granule *x, t_signal **sp)
{
    
	granule_reload(x);
	
	if( x->hosed ){
		post("You need some valid buffers");
		dsp_add(granule_performhose, 5, x,
                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
		return;
	}
	if( x->sr != sp[0]->s_sr){
		x->sr = sp[0]->s_sr;
		if( !x->sr ){
			post("warning: zero sampling rate!");
			x->sr = 44100;
		}
		granule_init(x,1);
	} 
	dsp_add(granule_perform, 5, x, 
			sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/kbuffer~-help.pd b/externals/lyonpotpourri/kbuffer~-help.pd
new file mode 100755
index 000000000..c55bcd5f4
--- /dev/null
+++ b/externals/lyonpotpourri/kbuffer~-help.pd
@@ -0,0 +1,69 @@
+#N canvas 487 22 464 484 10;
+#X obj 44 210 kbuffer~ 512 8000;
+#X text 170 207 args: ksampling rate \, storage time (in ms.);
+#N canvas 0 22 466 316 more-messages 0;
+#X msg 238 89 size 4000;
+#X obj 173 154 outlet;
+#X text 170 212 reset size or srate;
+#X msg 275 124 info;
+#X msg 137 91 ksrate 1024;
+#X connect 0 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X restore 302 170 pd more-messages;
+#X msg 43 165 record;
+#X msg 98 166 play;
+#X msg 143 167 stop;
+#X msg 186 167 speed \$1;
+#X msg 261 167 loop;
+#X obj 44 273 phasor~;
+#X floatatom 160 258 5 0 0 0 - - -, f 5;
+#X floatatom 26 136 5 0 0 2 kb-input kb-input -, f 5;
+#X obj 82 363 hsl 128 15 300 1000 0 0 kb-input empty empty -2 -6 0
+8 -261119 -1 -1 0 1;
+#X floatatom 131 127 5 0 0 0 - - -, f 5;
+#X msg 129 104 1;
+#X obj 44 392 *~ 0.1;
+#X obj 44 422 dac~;
+#X obj 129 83 loadbang;
+#X text 177 122 try different playback speed \, negative OK;
+#X text 80 335 hit record \; then perform some wiggles here:;
+#X text 187 150 after done recording \, hit loop or play;
+#X obj 22 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 44 308 killdc~;
+#N canvas 0 22 222 238 monitor-phase 0;
+#X obj 101 116 metro 100;
+#X obj 101 97 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 101 144 snapshot~;
+#X obj 101 42 loadbang;
+#X msg 101 67 1;
+#X obj 101 179 outlet;
+#X obj 15 48 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 6 0 2 0;
+#X restore 160 234 pd monitor-phase;
+#X text 21 45 kbuffer~ lets you sample gestures with a lower sampling
+rate than the audio rate., f 68;
+#X connect 0 0 8 0;
+#X connect 0 1 22 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 21 0;
+#X connect 10 0 0 0;
+#X connect 12 0 6 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 14 0 15 1;
+#X connect 16 0 13 0;
+#X connect 21 0 14 0;
+#X connect 22 0 9 0;
diff --git a/externals/lyonpotpourri/kbuffer~.c b/externals/lyonpotpourri/kbuffer~.c
new file mode 100755
index 000000000..1e949bb88
--- /dev/null
+++ b/externals/lyonpotpourri/kbuffer~.c
@@ -0,0 +1,310 @@
+#include "MSPd.h"
+
+#define OBJECT_NAME "kbuffer~"
+
+static t_class *kbuffer_class;
+
+typedef struct _kbuffer
+{
+    
+    t_object x_obj;
+    float x_f;
+	float ksrate;
+	float srate;
+	float si;
+	float phase;
+	float duration;
+	int iphase;
+	int lastphase;
+	int length;
+	float *data;
+	float fval;
+	float lastval;
+	short record_flag;
+	short play_flag;
+	short dump_flag;
+	short loop_flag;
+	float sync ;
+	float speed ;
+	short in_connected;
+	int memsize;
+} t_kbuffer;
+
+t_int *kbuffer_perform(t_int *w);
+
+void kbuffer_dsp(t_kbuffer *x, t_signal **sp);
+void *kbuffer_new(t_symbol *s, int argc, t_atom *argv);
+void kbuffer_dsp_free(t_kbuffer *x);
+void kbuffer_record(t_kbuffer *x);
+void kbuffer_play(t_kbuffer *x);
+void kbuffer_loop(t_kbuffer *x);
+void kbuffer_info(t_kbuffer *x);
+void kbuffer_dump(t_kbuffer *x);
+void kbuffer_stop(t_kbuffer *x);
+void kbuffer_info(t_kbuffer *x);
+void kbuffer_speed(t_kbuffer *x, t_floatarg speed);
+void kbuffer_size(t_kbuffer *x, t_floatarg ms);
+void kbuffer_ksrate(t_kbuffer *x, t_floatarg ksrate);
+void kbuffer_float(t_kbuffer *x, double f);
+void kbuffer_int(t_kbuffer *x, int i);
+void kbuffer_init(t_kbuffer *x,short initialized);
+
+void kbuffer_tilde_setup(void){
+    kbuffer_class = class_new(gensym("kbuffer~"), (t_newmethod)kbuffer_new,
+                              (t_method)kbuffer_dsp_free,sizeof(t_kbuffer), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(kbuffer_class, t_kbuffer, x_f);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_dsp,gensym("dsp"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_record,gensym("record"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_play,gensym("play"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_loop,gensym("loop"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_stop,gensym("stop"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_dump,gensym("dump"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_info,gensym("info"),0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_speed,gensym("speed"),A_FLOAT,0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_size,gensym("size"),A_FLOAT,0);
+    class_addmethod(kbuffer_class,(t_method)kbuffer_ksrate,gensym("ksrate"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void kbuffer_speed(t_kbuffer *x, t_floatarg speed) {
+	x->speed = speed;
+}
+
+void kbuffer_size(t_kbuffer *x, t_floatarg ms) {
+	int i;
+	if(ms < 1)
+		ms = 1;
+	x->duration = ms / 1000.0 ;
+	x->memsize = x->ksrate * x->duration * sizeof(float);
+    x->length = x->duration * x->ksrate ;
+	x->data = (float*) realloc(x->data,x->memsize*sizeof(float));
+    for( i = 0; i < x->length; i++){
+    	x->data[i] = 0.0;
+    }
+}
+
+void kbuffer_ksrate(t_kbuffer *x, t_floatarg ksrate) {
+	int i;
+	if( ksrate < 1 )
+		ksrate = 1 ;
+	x->ksrate = ksrate ;
+	x->memsize = x->ksrate * x->duration * sizeof(float);
+    x->length = x->duration * x->ksrate ;
+    x->si = x->ksrate / x->srate;
+	x->data = (float*) realloc(x->data,x->memsize*sizeof(float));
+    for( i = 0; i < x->length; i++){
+    	x->data[i] = 0.0;
+    }
+}
+
+void kbuffer_info(t_kbuffer *x) {
+	post("function length is %d samples",x->length);
+	post("function sampling rate is %.2f",x->ksrate);
+	post("function byte size is %d",x->memsize);
+	post("function duration is %.2f seconds",x->duration);
+}
+
+void kbuffer_record(t_kbuffer *x) {
+	x->record_flag = 1;
+	x->play_flag = 0;
+	x->dump_flag = 0;
+	x->loop_flag = 0;
+	x->sync = 0.0;
+	x->phase = x->iphase = 0 ;
+	x->lastphase = -1 ;
+	// post("starting to record");
+}
+void kbuffer_stop(t_kbuffer *x) {
+	x->record_flag = 0;
+	x->play_flag = 0;
+	x->dump_flag = 0;
+	x->loop_flag = 0;
+	x->sync = 0.0;
+	x->phase = x->iphase = 0 ;
+	x->lastphase = -1 ;
+}
+void kbuffer_dump(t_kbuffer *x) {
+	x->record_flag = 0;
+	x->play_flag = 0;
+	x->loop_flag = 0;
+	x->dump_flag = 1;
+	x->sync = 0.0;
+	x->phase = x->iphase = 0 ;
+	x->lastphase = -1 ;
+}
+
+void kbuffer_play(t_kbuffer *x) {
+	x->record_flag = 0;
+	x->play_flag = 1;
+	x->dump_flag = 0;
+	x->loop_flag = 0;
+	x->sync = 0.0;
+	x->phase = x->iphase = 0 ;
+	x->lastphase = -1 ;
+}
+
+void kbuffer_loop(t_kbuffer *x) {
+	x->record_flag = 0;
+	x->play_flag = 0;
+	x->dump_flag = 0;
+	x->loop_flag = 1;
+	x->sync = 0.0;
+	x->phase = x->iphase = 0 ;
+	x->lastphase = -1 ;
+}
+
+void kbuffer_dsp_free(t_kbuffer *x) {
+	free(x->data);
+}
+
+t_int *kbuffer_perform(t_int *w)
+{
+    // DSP config
+    t_kbuffer *x = (t_kbuffer *)(w[1]);
+    t_float *in = (t_float *)(w[2]);
+    t_float *out = (t_float *)(w[3]);
+    t_float *sync_out = (t_float *)(w[4]);
+    int n = (int) w[5];
+    short record_flag = x->record_flag;
+    short play_flag = x->play_flag ;
+    short dump_flag = x->dump_flag ;
+    short loop_flag = x->loop_flag ;
+    int length = x->length;
+    int iphase = x->iphase;
+    int lastphase = x->lastphase;
+    float phase = x->phase;
+    float *data = x->data;
+    float si = x->si;
+    float speed = x->speed;
+    float sample;
+    short in_connected = x->in_connected;
+    float fval = x->fval;
+    /*********************/
+    
+    while( n-- ){
+        if( in_connected ){
+            sample = *in++ ;
+        } else {
+            sample = fval;
+        }
+        if( record_flag ){
+            iphase = phase;
+            /*		phase += (si * speed); Bug!! */
+            phase += si;
+            if( iphase >= length ){
+                record_flag = 0;
+                // post("end of recording at %d samples",length);
+            }
+            else if( iphase > lastphase ){
+                lastphase = iphase ;
+                data[ iphase ] = sample ;
+            }
+            *sync_out++ = phase / (float) length ;
+            *out++ = sample ; // mirror input to output
+        } else if ( play_flag ){
+            iphase = phase;
+            phase += (si * speed);
+            if( iphase >= length ){
+                play_flag = 0;
+                *out++ = data[ length - 1 ]; // lock at final value
+            } else if (iphase < 0 ) {
+                play_flag = 0;
+                *out++ = data[ 0 ]; // lock at first value
+            }
+            else {
+                *out++ = data[ iphase ] ;
+            }
+            *sync_out++ = phase / (float) length ;
+        }
+        else if ( loop_flag ){
+            iphase = phase;
+            phase += (si * speed);
+            if( iphase >= length ){
+                phase = iphase = 0;
+            } else if (iphase < 0 ) {
+                phase = iphase = length - 1;
+            }
+            *out++ = data[ iphase ] ;
+            *sync_out++ = phase / (float) length ;
+            
+        }
+        else if ( dump_flag ) {
+            iphase = phase ;
+            phase += 1.0 ;
+            if( iphase >= length ){
+                dump_flag = 0;
+            } else {
+                *out++ = data[ iphase ];
+            }
+            
+        }
+        
+        else {
+            *sync_out++ = 0.0 ;
+            *out++ = 0.0;
+            
+        }
+        x->phase = phase;
+        x->lastphase = lastphase;
+        x->record_flag = record_flag;
+        x->play_flag = play_flag;
+        
+    }
+    // DSP CONFIG
+    return (w+6);
+}
+
+void *kbuffer_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+    t_kbuffer *x = (t_kbuffer *)pd_new(kbuffer_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->srate = sys_getsr();
+	if( x->srate == 0 ){
+		error("zero sampling rate - set to 44100");
+		x->srate = 44100;
+	}
+	x->ksrate = atom_getfloatarg(0,argc,argv);
+    x->duration = atom_getfloatarg(1,argc,argv)/1000.0;
+	if(x->ksrate <= 0)
+		x->ksrate = 128;
+	if(x->duration <= 0)
+		x->duration = 10.;
+	
+	kbuffer_init(x,0);
+ 	return (x);
+}
+
+void kbuffer_init(t_kbuffer *x,short initialized)
+{
+	if(!initialized){
+		x->record_flag = 0;
+		x->play_flag = 0;
+		x->dump_flag = 0;
+		x->loop_flag = 0;
+		x->fval = 0;
+		x->speed = 1.0 ;
+        x->memsize = x->ksrate * x->duration * sizeof(float);
+        x->length = x->duration * x->ksrate;
+        x->data = (float *) calloc(x->memsize, sizeof(float));
+	}
+    x->si = x->ksrate / x->srate;
+}
+
+void kbuffer_dsp(t_kbuffer *x, t_signal **sp)
+{
+	// DSP CONFIG
+
+	x->in_connected = 1;
+    
+	if(x->srate != sp[0]->s_sr){
+        x->srate = sp[0]->s_sr;
+        kbuffer_init(x,1);
+	}
+   	dsp_add(kbuffer_perform, 5, x,
+            sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+    
+}
+
diff --git a/externals/lyonpotpourri/killdc~-help.pd b/externals/lyonpotpourri/killdc~-help.pd
new file mode 100755
index 000000000..9edceba4d
--- /dev/null
+++ b/externals/lyonpotpourri/killdc~-help.pd
@@ -0,0 +1,27 @@
+#N canvas 648 97 510 369 10;
+#X obj 34 180 killdc~;
+#X obj 34 128 +~ 0.5;
+#X obj 34 98 *~ 0.5;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array sine+dc 441 float 2;
+#X coords 0 1 441 -1 200 140 1;
+#X restore 295 27 graph;
+#X obj 13 260 tabwrite~ sine+dc;
+#X msg 88 202 bang;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array dc-gone 441 float 2;
+#X coords 0 1 441 -1 200 140 1;
+#X restore 294 181 graph;
+#X obj 140 260 tabwrite~ dc-gone;
+#X obj 34 68 osc~ 100;
+#X obj 9 7 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 13 40 killdc~ removes DC from signal;
+#X text 125 202 <- see DC cut in action;
+#X connect 0 0 7 0;
+#X connect 1 0 0 0;
+#X connect 1 0 4 0;
+#X connect 2 0 1 0;
+#X connect 5 0 4 0;
+#X connect 5 0 7 0;
+#X connect 8 0 2 0;
diff --git a/externals/lyonpotpourri/killdc~.c b/externals/lyonpotpourri/killdc~.c
new file mode 100755
index 000000000..864b7a297
--- /dev/null
+++ b/externals/lyonpotpourri/killdc~.c
@@ -0,0 +1,119 @@
+#include "MSPd.h"
+
+#define OBJECT_NAME "killdc~"
+#define FUNC_LEN (512)
+#define MAXSECTS 20
+
+static t_class *killdc_class;
+
+typedef struct {
+    float ps[4][MAXSECTS];
+    float c[4][MAXSECTS];
+    int nsects ;
+    float xnorm;
+} COEFS ;
+
+typedef struct _killdc
+{
+    t_object x_obj;
+    float x_f;
+    
+    COEFS fdata;
+} t_killdc;
+
+void *killdc_new(t_symbol *s);
+t_int *offset_perform(t_int *w);
+t_int *killdc_perform(t_int *w);
+void killdc_dsp(t_killdc *x, t_signal **sp);
+
+
+
+void killdc_tilde_setup(void)
+{
+    killdc_class = class_new(gensym("killdc~"),(t_newmethod)killdc_new,0,
+                             sizeof(t_killdc), 0, A_DEFSYMBOL,0);
+    CLASS_MAINSIGNALIN(killdc_class,t_killdc, x_f );
+    class_addmethod(killdc_class,(t_method)killdc_dsp,gensym("dsp"),A_CANT,0);
+  	potpourri_announce(OBJECT_NAME);
+    
+}
+
+void *killdc_new(t_symbol *s)
+{
+ 	int i, j;
+    
+    t_killdc *x = (t_killdc *)pd_new(killdc_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+    /**************/
+    
+    
+	x->fdata.nsects = 3;
+	x->fdata.c[0][0] = -1.9999995 ;
+	x->fdata.c[1][0] = -1.9997407 ;
+	x->fdata.c[2][0] =  1.0000000  ;
+	x->fdata.c[3][0] =  0.99974253 ;
+	x->fdata.c[0][1] = -1.9999997  ;
+	x->fdata.c[1][1] = -1.9988353 ;
+	x->fdata.c[2][1] =  1.0000000  ;
+	x->fdata.c[3][1] =  0.99883796 ;
+	x->fdata.c[0][2] = -2.0000000   ;
+	x->fdata.c[1][2] = -1.9959218 ;
+	x->fdata.c[2][2] =  1.0000000  ;
+	x->fdata.c[3][2] =  0.99592773 ;
+	
+    for(i=0; i< x->fdata.nsects; i++) {
+    	for(j=0;j<4;j++)  {
+      		x->fdata.ps[j][i] = 0.0;
+    	}
+  	}
+    
+	x->fdata.xnorm = 0.99725327e+00 ;
+    
+    
+    
+    
+    // INITIALIZATIONS
+    
+    
+    return (x);
+}
+// method from Paul Lansky's cmix implementation
+t_int *killdc_perform(t_int *w)
+{
+	t_float *in1,*out;
+	float sample ;
+	int n;
+	int m;
+	float op;
+    //	int lcount = 0;
+    /********/
+	t_killdc *x = (t_killdc *) (w[1]);
+	in1 = (t_float *)(w[2]);
+	out = (t_float *)(w[3]);
+	n = (int)(w[4]);
+	
+	while (n--) {
+		sample = *in1++;
+    	for(m=0; m< x->fdata.nsects;m++) {
+            op = sample + x->fdata.c[0][m] * x->fdata.ps[0][m] +
+            x->fdata.c[2][m] * x->fdata.ps[1][m]
+            - x->fdata.c[1][m] * x->fdata.ps[2][m]
+            - x->fdata.c[3][m] * x->fdata.ps[3][m];
+            
+    		x->fdata.ps[1][m] = x->fdata.ps[0][m];
+   			x->fdata.ps[0][m] = sample;
+    		x->fdata.ps[3][m] = x->fdata.ps[2][m];
+    		x->fdata.ps[2][m] = op;
+    		sample = op;
+  		}
+ 		*out++ = sample * x->fdata.xnorm ;
+	}
+	return (w+5);
+}		
+
+void killdc_dsp(t_killdc *x, t_signal **sp)
+{
+    dsp_add(killdc_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec,  sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/latch~-help.pd b/externals/lyonpotpourri/latch~-help.pd
new file mode 100755
index 000000000..230eae76c
--- /dev/null
+++ b/externals/lyonpotpourri/latch~-help.pd
@@ -0,0 +1,28 @@
+#N canvas 890 538 471 305 10;
+#X obj 112 155 latch~ 250;
+#X obj 112 106 samm~ 60 1;
+#X obj 23 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 30 207 *~;
+#X obj 30 149 osc~ 500;
+#X obj 30 268 dac~;
+#X obj 117 217 hsl 70 12 0 0.1 0 0 latch-gain latch-gain-in gain -2
+-8 0 10 -262130 -1 -1 0 1;
+#X floatatom 68 218 5 0 0 0 - latch-gain -, f 5;
+#X obj 203 82 osc~ 0.1;
+#X obj 203 105 *~ 400;
+#X obj 203 133 +~ 450;
+#X text 24 42 latch~ - a sample-accurate latch generator. An incoming
+click is held for a given amount of time.;
+#X text 193 158 arg: latch duration in ms.;
+#X obj 30 236 *~ 0;
+#X connect 0 0 3 1;
+#X connect 1 0 0 0;
+#X connect 3 0 13 0;
+#X connect 4 0 3 0;
+#X connect 7 0 13 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 1;
+#X connect 13 0 5 0;
+#X connect 13 0 5 1;
diff --git a/externals/lyonpotpourri/latch~.c b/externals/lyonpotpourri/latch~.c
new file mode 100755
index 000000000..b67c27b29
--- /dev/null
+++ b/externals/lyonpotpourri/latch~.c
@@ -0,0 +1,111 @@
+#include "MSPd.h"
+
+static t_class *latch_class;
+
+#define OBJECT_NAME "latch~"
+#define LATCH_WAITING 0
+#define LATCH_RUNNING 1
+
+typedef struct _latch
+{
+	t_object x_obj;
+    t_float x_f;
+	t_float current;
+	long latch;
+	long dsamps;
+	long sr;
+	t_float duration;
+	long status;
+	long connected;
+} t_latch;
+
+static void *latch_new(t_float duration);
+static t_int *latch_perform(t_int *w);
+static void latch_dsp(t_latch *x, t_signal **sp);
+
+void latch_tilde_setup(void)
+{
+	latch_class = class_new(gensym("latch~"), (t_newmethod)latch_new, 0, sizeof(t_latch), 0,A_FLOAT, 0);
+	CLASS_MAINSIGNALIN(latch_class, t_latch, x_f);
+	class_addmethod(latch_class, (t_method)latch_dsp, gensym("dsp"), A_CANT, 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+static void *latch_new(t_float duration)
+{
+
+	t_latch *x = (t_latch *)pd_new(latch_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	x->status = LATCH_WAITING;    
+	x->duration = duration;
+	x->sr = sys_getsr();
+	if(x->duration <= 1.0)
+		x->duration = 1.0;
+	x->duration *= 0.001;
+	x->dsamps = x->sr ? x->sr * x->duration : 44100;
+
+	return x;
+}
+
+static t_int *latch_perform(t_int *w)
+{
+	t_latch *x = (t_latch *) (w[1]);
+	t_float *trigger = (t_float *)(w[2]);
+	t_float *vec_duration = (t_float *)(w[3]);
+	t_float *output = (t_float *)(w[4]);
+	int n = (int) w[5];
+	int next_pointer = 6;
+	long latch = x->latch;
+	long dsamps = x->dsamps;
+	long status = x->status;
+	t_float current = x->current;
+	t_float duration = x->duration;
+	long sr = x->sr;
+	long connected = x->connected;
+	int i = 0;
+
+	
+
+	for(i = 0; i < n; i++){
+        
+		if(connected){
+			duration = vec_duration[i];
+			if( duration > 0.0 ){ // dummy proof
+				dsamps = sr * duration * 0.001;
+			}
+		}
+        
+		if(trigger[i]){
+			latch = 0;
+			status = LATCH_RUNNING;
+			current = trigger[i];
+		} else {
+			latch++;
+			if(latch >= dsamps){
+				status = LATCH_WAITING;
+				current = 0.0;
+			}
+		}
+		output[i] = current;
+     
+	}
+    
+	
+	x->current = current;
+	x->status = status;
+	x->latch = latch;
+	x->dsamps = dsamps;
+	return w + next_pointer;
+}		
+
+static void latch_dsp(t_latch *x, t_signal **sp)
+{
+	x->connected = 1;
+	if(x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		x->dsamps = x->duration * x->sr;
+	}
+    dsp_add(latch_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/leanconvert.c b/externals/lyonpotpourri/leanconvert.c
new file mode 100755
index 000000000..617c66568
--- /dev/null
+++ b/externals/lyonpotpourri/leanconvert.c
@@ -0,0 +1 @@
+#include "fftease.h"

void leanconvert( float *S, float *C, int N2 )

{

 int		real, imag,
		amp, phase;
 float		a, b;
  int		i;
	double hypot(), atan2();
	
 for ( i = 0; i <= N2; i++ ) {
   imag = phase = ( real = amp = i<<1 ) + 1;
   a = ( i == N2 ? S[1] : S[real] );
   b = ( i == 0 || i == N2 ? 0. : S[imag] );
   C[amp] = hypot( a, b );
   C[phase] = -atan2( b, a );
 }
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/leanunconvert.c b/externals/lyonpotpourri/leanunconvert.c
new file mode 100755
index 000000000..48807294e
--- /dev/null
+++ b/externals/lyonpotpourri/leanunconvert.c
@@ -0,0 +1 @@
+#include "fftease.h"

/* unconvert essentially undoes what convert does, i.e., it
  turns N2+1 PAIRS of amplitude and frequency values in
  C into N2 PAIR of complex spectrum data (in rfft format)
  in output array S; sampling rate R and interpolation factor
  I are used to recompute phase values from frequencies */

void leanunconvert( float *C, float *S, int N2 )

{
double cos(), sin();
  int		real, imag,
		amp, phase;
  register int		i;
  
  for ( i = 0; i <= N2; i++ ) {
    imag = phase = ( real = amp = i<<1 ) + 1;
    S[real] = *(C+amp) * cos( *(C+phase) );
    if ( i != N2 )
      S[imag] = -*(C+amp) * sin( *(C+phase) );
  }
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/lpp.h b/externals/lyonpotpourri/lpp.h
new file mode 100755
index 000000000..d9521ac01
--- /dev/null
+++ b/externals/lyonpotpourri/lpp.h
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <time.h>
+
+#define LYONPOTPOURRI_MSG "-[LyonPotpourri 3.0]-"
+#define LYONPOTPOURRI_VERSION "3.0 (pre-release 3.1)"
+#define LPP_COMPILE_DATE "12 May 2010"
+#define lpp_version(objectname) post("%s: version %s compiled %s",objectname,LYONPOTPOURRI_VERSION,LPP_COMPILE_DATE);
+// #define potpourri_announce(objname)  post("%s\t ( %s )",LYONPOTPOURRI_MSG,objname)
+
+#define NO_FREE_FUNCTION 0
+
+#ifndef PI
+#define PI 3.1415926535898
+#endif
+#ifndef PIOVERTWO
+#define PIOVERTWO 1.5707963268
+#endif
+#ifndef TWOPI
+#define TWOPI 6.2831853072
+#endif
+// budget version of Max/MSP denorm function
+#define FIX_DENORM_FLOAT(v)	(v=(fabs(v) < 0.000001 ? 0.f : (v)))
+
+
+/*** MSP helper functions, thanks JKC! ***/
+
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av);
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av);
+
+void atom_arg_getfloat(float *c, long idx, long ac, t_atom *av) 
+{
+		if (c&&ac&&av&&(idx<ac)) {
+			*c = atom_getfloat(av+idx);
+		}
+}
+
+void atom_arg_getsym(t_symbol **c, long idx, long ac, t_atom *av)
+{
+	if (c&&ac&&av&&(idx<ac)) {
+		*c = atom_getsymbol(av+idx);
+	} 
+}
diff --git a/externals/lyonpotpourri/lyonpotpourri-meta.pd b/externals/lyonpotpourri/lyonpotpourri-meta.pd
new file mode 100755
index 000000000..55430cf84
--- /dev/null
+++ b/externals/lyonpotpourri/lyonpotpourri-meta.pd
@@ -0,0 +1,7 @@
+#N canvas 15 49 200 200 10;
+#N canvas 25 49 420 300 META 1;
+#X text 13 41 NAME lyonpotpourri;
+#X text 10 25 AUTHOR Eric Lyon <e.lyon@qub.ac.uk>;
+#X text 10 10 VERSION 2.0;
+#X text 10 60 LICENSE MIT;
+#X restore 10 10 pd META;
diff --git a/externals/lyonpotpourri/m_pd.h b/externals/lyonpotpourri/m_pd.h
new file mode 100755
index 000000000..02030a779
--- /dev/null
+++ b/externals/lyonpotpourri/m_pd.h
@@ -0,0 +1,735 @@
+/* Copyright (c) 1997-1999 Miller Puckette.
+* For information on usage and redistribution, and for a DISCLAIMER OF ALL
+* WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
+
+
+#ifndef __m_pd_h_
+
+#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
+extern "C" {
+#endif
+
+#define PD_MAJOR_VERSION 0
+#define PD_MINOR_VERSION 45
+#define PD_BUGFIX_VERSION 4
+#define PD_TEST_VERSION ""
+extern int pd_compatibilitylevel;   /* e.g., 43 for pd 0.43 compatibility */
+
+/* old name for "MSW" flag -- we have to take it for the sake of many old
+"nmakefiles" for externs, which will define NT and not MSW */
+#if defined(NT) && !defined(MSW)
+#define MSW
+#endif
+
+/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
+#ifdef _MSC_VER
+/* #pragma warning( disable : 4091 ) */
+#pragma warning( disable : 4305 )  /* uncast const double to float */
+#pragma warning( disable : 4244 )  /* uncast float/int conversion etc. */
+#pragma warning( disable : 4101 )  /* unused automatic variables */
+#endif /* _MSC_VER */
+
+    /* the external storage class is "extern" in UNIX; in MSW it's ugly. */
+#ifdef _WIN32
+#ifdef PD_INTERNAL
+#define EXTERN __declspec(dllexport) extern
+#else
+#define EXTERN __declspec(dllimport) extern
+#endif /* PD_INTERNAL */
+#else
+#define EXTERN extern
+#endif /* _WIN32 */
+
+    /* and depending on the compiler, hidden data structures are
+    declared differently: */
+#if defined( __GNUC__) || defined( __BORLANDC__ ) || defined( __MWERKS__ )
+#define EXTERN_STRUCT struct
+#else
+#define EXTERN_STRUCT extern struct
+#endif
+
+/* Define some attributes, specific to the compiler */
+#if defined(__GNUC__)
+#define ATTRIBUTE_FORMAT_PRINTF(a, b) __attribute__ ((format (printf, a, b)))
+#else
+#define ATTRIBUTE_FORMAT_PRINTF(a, b)
+#endif
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#include <stddef.h>     /* just for size_t -- how lame! */
+#endif
+
+/* Microsoft Visual Studio is not C99, it does not provide stdint.h */
+#ifdef _MSC_VER
+typedef signed __int8     int8_t;
+typedef signed __int16    int16_t;
+typedef signed __int32    int32_t;
+typedef signed __int64    int64_t;
+typedef unsigned __int8   uint8_t;
+typedef unsigned __int16  uint16_t;
+typedef unsigned __int32  uint32_t;
+typedef unsigned __int64  uint64_t;
+#else
+# include <stdint.h>
+#endif
+
+/* for FILE, needed by sys_fopen() and sys_fclose() only */
+#include <stdio.h>
+
+#define MAXPDSTRING 1000        /* use this for anything you want */
+#define MAXPDARG 5              /* max number of args we can typecheck today */
+
+/* signed and unsigned integer types the size of a pointer:  */
+#if !defined(PD_LONGINTTYPE)
+#define PD_LONGINTTYPE long
+#endif
+
+#if !defined(PD_FLOATSIZE)
+  /* normally, our floats (t_float, t_sample,...) are 32bit */
+# define PD_FLOATSIZE 32
+#endif
+
+#if PD_FLOATSIZE == 32
+# define PD_FLOATTYPE float
+/* an unsigned int of the same size as FLOATTYPE: */
+# define PD_FLOATUINTTYPE unsigned int
+
+#elif PD_FLOATSIZE == 64
+# define PD_FLOATTYPE double
+# define PD_FLOATUINTTYPE unsigned long
+#else
+# error invalid FLOATSIZE: must be 32 or 64
+#endif
+
+typedef PD_LONGINTTYPE t_int;       /* pointer-size integer */
+typedef PD_FLOATTYPE t_float;       /* a float type at most the same size */
+typedef PD_FLOATTYPE t_floatarg;    /* float type for function calls */
+
+typedef struct _symbol
+{
+    char *s_name;
+    struct _class **s_thing;
+    struct _symbol *s_next;
+} t_symbol;
+
+EXTERN_STRUCT _array;
+#define t_array struct _array       /* g_canvas.h */
+
+/* pointers to glist and array elements go through a "stub" which sticks
+around after the glist or array is freed.  The stub itself is deleted when
+both the glist/array is gone and the refcount is zero, ensuring that no
+gpointers are pointing here. */
+
+#define GP_NONE 0       /* the stub points nowhere (has been cut off) */
+#define GP_GLIST 1      /* the stub points to a glist element */
+#define GP_ARRAY 2      /* ... or array */
+
+typedef struct _gstub
+{
+    union
+    {
+        struct _glist *gs_glist;    /* glist we're in */
+        struct _array *gs_array;    /* array we're in */
+    } gs_un;
+    int gs_which;                   /* GP_GLIST/GP_ARRAY */
+    int gs_refcount;                /* number of gpointers pointing here */
+} t_gstub;
+
+typedef struct _gpointer           /* pointer to a gobj in a glist */
+{
+    union
+    {   
+        struct _scalar *gp_scalar;  /* scalar we're in (if glist) */
+        union word *gp_w;           /* raw data (if array) */
+    } gp_un;
+    int gp_valid;                   /* number which must match gpointee */
+    t_gstub *gp_stub;               /* stub which points to glist/array */
+} t_gpointer;
+
+typedef union word
+{
+    t_float w_float;
+    t_symbol *w_symbol;
+    t_gpointer *w_gpointer;
+    t_array *w_array;
+    struct _binbuf *w_binbuf;
+    int w_index;
+} t_word;
+
+typedef enum
+{
+    A_NULL,
+    A_FLOAT,
+    A_SYMBOL,
+    A_POINTER,
+    A_SEMI,
+    A_COMMA,
+    A_DEFFLOAT,
+    A_DEFSYM,
+    A_DOLLAR, 
+    A_DOLLSYM,
+    A_GIMME,
+    A_CANT
+}  t_atomtype;
+
+#define A_DEFSYMBOL A_DEFSYM    /* better name for this */
+
+typedef struct _atom
+{
+    t_atomtype a_type;
+    union word a_w;
+} t_atom;
+
+EXTERN_STRUCT _class;
+#define t_class struct _class
+
+EXTERN_STRUCT _outlet;
+#define t_outlet struct _outlet
+
+EXTERN_STRUCT _inlet;
+#define t_inlet struct _inlet
+
+EXTERN_STRUCT _binbuf;
+#define t_binbuf struct _binbuf
+
+EXTERN_STRUCT _clock;
+#define t_clock struct _clock
+
+EXTERN_STRUCT _outconnect;
+#define t_outconnect struct _outconnect
+
+EXTERN_STRUCT _glist;
+#define t_glist struct _glist
+#define t_canvas struct _glist  /* LATER lose this */
+
+typedef t_class *t_pd;      /* pure datum: nothing but a class pointer */
+
+typedef struct _gobj        /* a graphical object */
+{
+    t_pd g_pd;              /* pure datum header (class) */
+    struct _gobj *g_next;   /* next in list */
+} t_gobj;
+
+typedef struct _scalar      /* a graphical object holding data */
+{
+    t_gobj sc_gobj;         /* header for graphical object */
+    t_symbol *sc_template;  /* template name (LATER replace with pointer) */
+    t_word sc_vec[1];       /* indeterminate-length array of words */
+} t_scalar;
+
+typedef struct _text        /* patchable object - graphical, with text */
+{
+    t_gobj te_g;                /* header for graphical object */
+    t_binbuf *te_binbuf;        /* holder for the text */
+    t_outlet *te_outlet;        /* linked list of outlets */
+    t_inlet *te_inlet;          /* linked list of inlets */
+    short te_xpix;              /* x&y location (within the toplevel) */
+    short te_ypix;
+    short te_width;             /* requested width in chars, 0 if auto */
+    unsigned int te_type:2;     /* from defs below */
+} t_text;
+
+#define T_TEXT 0        /* just a textual comment */
+#define T_OBJECT 1      /* a MAX style patchable object */
+#define T_MESSAGE 2     /* a MAX stype message */
+#define T_ATOM 3        /* a cell to display a number or symbol */
+
+#define te_pd te_g.g_pd
+
+   /* t_object is synonym for t_text (LATER unify them) */
+
+typedef struct _text t_object;
+
+#define ob_outlet te_outlet
+#define ob_inlet te_inlet
+#define ob_binbuf te_binbuf
+#define ob_pd te_g.g_pd
+#define ob_g te_g
+
+typedef void (*t_method)(void);
+typedef void *(*t_newmethod)( void);
+typedef void (*t_gotfn)(void *x, ...);
+
+/* ---------------- pre-defined objects and symbols --------------*/
+EXTERN t_pd pd_objectmaker;     /* factory for creating "object" boxes */
+EXTERN t_pd pd_canvasmaker;     /* factory for creating canvases */
+EXTERN t_symbol s_pointer;
+EXTERN t_symbol s_float;
+EXTERN t_symbol s_symbol;
+EXTERN t_symbol s_bang;
+EXTERN t_symbol s_list;
+EXTERN t_symbol s_anything;
+EXTERN t_symbol s_signal;
+EXTERN t_symbol s__N;
+EXTERN t_symbol s__X;
+EXTERN t_symbol s_x;
+EXTERN t_symbol s_y;
+EXTERN t_symbol s_;
+
+/* --------- prototypes from the central message system ----------- */
+EXTERN void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void pd_forwardmess(t_pd *x, int argc, t_atom *argv);
+EXTERN t_symbol *gensym(const char *s);
+EXTERN t_gotfn getfn(t_pd *x, t_symbol *s);
+EXTERN t_gotfn zgetfn(t_pd *x, t_symbol *s);
+EXTERN void nullfn(void);
+EXTERN void pd_vmess(t_pd *x, t_symbol *s, char *fmt, ...);
+#define mess0(x, s) ((*getfn((x), (s)))((x)))
+#define mess1(x, s, a) ((*getfn((x), (s)))((x), (a)))
+#define mess2(x, s, a,b) ((*getfn((x), (s)))((x), (a),(b)))
+#define mess3(x, s, a,b,c) ((*getfn((x), (s)))((x), (a),(b),(c)))
+#define mess4(x, s, a,b,c,d) ((*getfn((x), (s)))((x), (a),(b),(c),(d)))
+#define mess5(x, s, a,b,c,d,e) ((*getfn((x), (s)))((x), (a),(b),(c),(d),(e)))
+EXTERN void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN t_pd *pd_newest(void);
+
+/* --------------- memory management -------------------- */
+EXTERN void *getbytes(size_t nbytes);
+EXTERN void *getzbytes(size_t nbytes);
+EXTERN void *copybytes(void *src, size_t nbytes);
+EXTERN void freebytes(void *x, size_t nbytes);
+EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize);
+
+/* -------------------- atoms ----------------------------- */
+
+#define SETSEMI(atom) ((atom)->a_type = A_SEMI, (atom)->a_w.w_index = 0)
+#define SETCOMMA(atom) ((atom)->a_type = A_COMMA, (atom)->a_w.w_index = 0)
+#define SETPOINTER(atom, gp) ((atom)->a_type = A_POINTER, \
+    (atom)->a_w.w_gpointer = (gp))
+#define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f))
+#define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \
+    (atom)->a_w.w_symbol = (s))
+#define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \
+    (atom)->a_w.w_index = (n))
+#define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \
+    (atom)->a_w.w_symbol= (s))
+
+EXTERN t_float atom_getfloat(t_atom *a);
+EXTERN t_int atom_getint(t_atom *a);
+EXTERN t_symbol *atom_getsymbol(t_atom *a);
+EXTERN t_symbol *atom_gensym(t_atom *a);
+EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv);
+EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv);
+EXTERN t_symbol *atom_getsymbolarg(int which, int argc, t_atom *argv);
+
+EXTERN void atom_string(t_atom *a, char *buf, unsigned int bufsize);
+
+/* ------------------  binbufs --------------- */
+
+EXTERN t_binbuf *binbuf_new(void);
+EXTERN void binbuf_free(t_binbuf *x);
+EXTERN t_binbuf *binbuf_duplicate(t_binbuf *y);
+
+EXTERN void binbuf_text(t_binbuf *x, char *text, size_t size);
+EXTERN void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp);
+EXTERN void binbuf_clear(t_binbuf *x);
+EXTERN void binbuf_add(t_binbuf *x, int argc, t_atom *argv);
+EXTERN void binbuf_addv(t_binbuf *x, char *fmt, ...);
+EXTERN void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y);
+EXTERN void binbuf_addsemi(t_binbuf *x);
+EXTERN void binbuf_restore(t_binbuf *x, int argc, t_atom *argv);
+EXTERN void binbuf_print(t_binbuf *x);
+EXTERN int binbuf_getnatom(t_binbuf *x);
+EXTERN t_atom *binbuf_getvec(t_binbuf *x);
+EXTERN int binbuf_resize(t_binbuf *x, int newsize);
+EXTERN void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv);
+EXTERN int binbuf_read(t_binbuf *b, char *filename, char *dirname,
+    int crflag);
+EXTERN int binbuf_read_via_canvas(t_binbuf *b, char *filename, t_canvas *canvas,
+    int crflag);
+EXTERN int binbuf_read_via_path(t_binbuf *b, char *filename, char *dirname,
+    int crflag);
+EXTERN int binbuf_write(t_binbuf *x, char *filename, char *dir,
+    int crflag);
+EXTERN void binbuf_evalfile(t_symbol *name, t_symbol *dir);
+EXTERN t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av,
+    int tonew);
+
+/* ------------------  clocks --------------- */
+
+EXTERN t_clock *clock_new(void *owner, t_method fn);
+EXTERN void clock_set(t_clock *x, double systime);
+EXTERN void clock_delay(t_clock *x, double delaytime);
+EXTERN void clock_unset(t_clock *x);
+EXTERN void clock_setunit(t_clock *x, double timeunit, int sampflag);
+EXTERN double clock_getlogicaltime(void);
+EXTERN double clock_getsystime(void); /* OBSOLETE; use clock_getlogicaltime() */
+EXTERN double clock_gettimesince(double prevsystime);
+EXTERN double clock_gettimesincewithunits(double prevsystime,
+    double units, int sampflag);
+EXTERN double clock_getsystimeafter(double delaytime);
+EXTERN void clock_free(t_clock *x);
+
+/* ----------------- pure data ---------------- */
+EXTERN t_pd *pd_new(t_class *cls);
+EXTERN void pd_free(t_pd *x);
+EXTERN void pd_bind(t_pd *x, t_symbol *s);
+EXTERN void pd_unbind(t_pd *x, t_symbol *s);
+EXTERN t_pd *pd_findbyclass(t_symbol *s, t_class *c);
+EXTERN void pd_pushsym(t_pd *x);
+EXTERN void pd_popsym(t_pd *x);
+EXTERN t_symbol *pd_getfilename(void);
+EXTERN t_symbol *pd_getdirname(void);
+EXTERN void pd_bang(t_pd *x);
+EXTERN void pd_pointer(t_pd *x, t_gpointer *gp);
+EXTERN void pd_float(t_pd *x, t_float f);
+EXTERN void pd_symbol(t_pd *x, t_symbol *s);
+EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv);
+#define pd_class(x) (*(x))
+
+/* ----------------- pointers ---------------- */
+EXTERN void gpointer_init(t_gpointer *gp);
+EXTERN void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto);
+EXTERN void gpointer_unset(t_gpointer *gp);
+EXTERN int gpointer_check(const t_gpointer *gp, int headok);
+
+/* ----------------- patchable "objects" -------------- */
+EXTERN t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1,
+    t_symbol *s2);
+EXTERN t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp);
+EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp);
+EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp);
+EXTERN t_inlet *signalinlet_new(t_object *owner, t_float f);
+EXTERN void inlet_free(t_inlet *x);
+
+EXTERN t_outlet *outlet_new(t_object *owner, t_symbol *s);
+EXTERN void outlet_bang(t_outlet *x);
+EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp);
+EXTERN void outlet_float(t_outlet *x, t_float f);
+EXTERN void outlet_symbol(t_outlet *x, t_symbol *s);
+EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
+EXTERN t_symbol *outlet_getsymbol(t_outlet *x);
+EXTERN void outlet_free(t_outlet *x);
+EXTERN t_object *pd_checkobject(t_pd *x);
+
+
+/* -------------------- canvases -------------- */
+
+EXTERN void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir);
+
+EXTERN void canvas_setargs(int argc, t_atom *argv);
+EXTERN void canvas_getargs(int *argcp, t_atom **argvp);
+EXTERN t_symbol *canvas_getcurrentdir(void);
+EXTERN t_glist *canvas_getcurrent(void);
+EXTERN void canvas_makefilename(t_glist *c, char *file,
+    char *result,int resultsize);
+EXTERN t_symbol *canvas_getdir(t_glist *x);
+EXTERN char sys_font[]; /* default typeface set in s_main.c */
+EXTERN char sys_fontweight[]; /* default font weight set in s_main.c */
+EXTERN int sys_fontwidth(int fontsize);
+EXTERN int sys_fontheight(int fontsize);
+EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b);
+EXTERN int canvas_open(t_canvas *x, const char *name, const char *ext,
+    char *dirresult, char **nameresult, unsigned int size, int bin);
+
+/* ---------------- widget behaviors ---------------------- */
+
+EXTERN_STRUCT _widgetbehavior;
+#define t_widgetbehavior struct _widgetbehavior
+
+EXTERN_STRUCT _parentwidgetbehavior;
+#define t_parentwidgetbehavior struct _parentwidgetbehavior
+EXTERN t_parentwidgetbehavior *pd_getparentwidget(t_pd *x);
+
+/* -------------------- classes -------------- */
+
+#define CLASS_DEFAULT 0         /* flags for new classes below */
+#define CLASS_PD 1
+#define CLASS_GOBJ 2
+#define CLASS_PATCHABLE 3
+#define CLASS_NOINLET 8
+
+#define CLASS_TYPEMASK 3
+
+
+EXTERN t_class *class_new(t_symbol *name, t_newmethod newmethod,
+    t_method freemethod, size_t size, int flags, t_atomtype arg1, ...);
+EXTERN void class_addcreator(t_newmethod newmethod, t_symbol *s, 
+    t_atomtype type1, ...);
+EXTERN void class_addmethod(t_class *c, t_method fn, t_symbol *sel,
+    t_atomtype arg1, ...);
+EXTERN void class_addbang(t_class *c, t_method fn);
+EXTERN void class_addpointer(t_class *c, t_method fn);
+EXTERN void class_doaddfloat(t_class *c, t_method fn);
+EXTERN void class_addsymbol(t_class *c, t_method fn);
+EXTERN void class_addlist(t_class *c, t_method fn);
+EXTERN void class_addanything(t_class *c, t_method fn);
+EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s);
+EXTERN void class_setwidget(t_class *c, t_widgetbehavior *w);
+EXTERN void class_setparentwidget(t_class *c, t_parentwidgetbehavior *w);
+EXTERN t_parentwidgetbehavior *class_parentwidget(t_class *c);
+EXTERN char *class_getname(t_class *c);
+EXTERN char *class_gethelpname(t_class *c);
+EXTERN char *class_gethelpdir(t_class *c);
+EXTERN void class_setdrawcommand(t_class *c);
+EXTERN int class_isdrawcommand(t_class *c);
+EXTERN void class_domainsignalin(t_class *c, int onset);
+EXTERN void class_set_extern_dir(t_symbol *s);
+#define CLASS_MAINSIGNALIN(c, type, field) \
+    class_domainsignalin(c, (char *)(&((type *)0)->field) - (char *)0)
+
+         /* prototype for functions to save Pd's to a binbuf */
+typedef void (*t_savefn)(t_gobj *x, t_binbuf *b);
+EXTERN void class_setsavefn(t_class *c, t_savefn f);
+EXTERN t_savefn class_getsavefn(t_class *c);
+EXTERN void obj_saveformat(t_object *x, t_binbuf *bb); /* add format to bb */
+
+        /* prototype for functions to open properties dialogs */
+typedef void (*t_propertiesfn)(t_gobj *x, struct _glist *glist);
+EXTERN void class_setpropertiesfn(t_class *c, t_propertiesfn f);
+EXTERN t_propertiesfn class_getpropertiesfn(t_class *c);
+
+#ifndef PD_CLASS_DEF
+#define class_addbang(x, y) class_addbang((x), (t_method)(y))
+#define class_addpointer(x, y) class_addpointer((x), (t_method)(y))
+#define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y))
+#define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y))
+#define class_addlist(x, y) class_addlist((x), (t_method)(y))
+#define class_addanything(x, y) class_addanything((x), (t_method)(y))
+#endif
+
+/* ------------   printing --------------------------------- */
+EXTERN void post(const char *fmt, ...);
+EXTERN void startpost(const char *fmt, ...);
+EXTERN void poststring(const char *s);
+EXTERN void postfloat(t_floatarg f);
+EXTERN void postatom(int argc, t_atom *argv);
+EXTERN void endpost(void);
+EXTERN void error(const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2);
+EXTERN void verbose(int level, const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(2, 3);
+EXTERN void bug(const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2);
+EXTERN void pd_error(void *object, const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(2, 3);
+EXTERN void logpost(const void *object, const int level, const char *fmt, ...)
+    ATTRIBUTE_FORMAT_PRINTF(3, 4);
+EXTERN void sys_logerror(const char *object, const char *s);
+EXTERN void sys_unixerror(const char *object);
+EXTERN void sys_ouch(void);
+
+
+/* ------------  system interface routines ------------------- */
+EXTERN int sys_isreadablefile(const char *name);
+EXTERN int sys_isabsolutepath(const char *dir);
+EXTERN void sys_bashfilename(const char *from, char *to);
+EXTERN void sys_unbashfilename(const char *from, char *to);
+EXTERN int open_via_path(const char *dir, const char *name, const char *ext,
+    char *dirresult, char **nameresult, unsigned int size, int bin);
+EXTERN int sched_geteventno(void);
+EXTERN double sys_getrealtime(void);
+EXTERN int (*sys_idlehook)(void);   /* hook to add idle time computation */
+
+/* Win32's open()/fopen() do not handle UTF-8 filenames so we need
+ * these internal versions that handle UTF-8 filenames the same across
+ * all platforms.  They are recommended for use in external
+ * objectclasses as well so they work with Unicode filenames on Windows */
+EXTERN int sys_open(const char *path, int oflag, ...);
+EXTERN int sys_close(int fd);
+EXTERN FILE *sys_fopen(const char *filename, const char *mode);
+EXTERN int sys_fclose(FILE *stream);
+
+/* ------------  threading ------------------- */ 
+EXTERN void sys_lock(void);
+EXTERN void sys_unlock(void);
+EXTERN int sys_trylock(void);
+
+
+/* --------------- signals ----------------------------------- */
+
+typedef PD_FLOATTYPE t_sample;
+typedef union _sampleint_union {
+  t_sample f;
+  PD_FLOATUINTTYPE i;
+} t_sampleint_union;
+#define MAXLOGSIG 32
+#define MAXSIGSIZE (1 << MAXLOGSIG)
+
+typedef struct _signal
+{
+    int s_n;            /* number of points in the array */
+    t_sample *s_vec;    /* the array */
+    t_float s_sr;         /* sample rate */
+    int s_refcount;     /* number of times used */
+    int s_isborrowed;   /* whether we're going to borrow our array */
+    struct _signal *s_borrowedfrom;     /* signal to borrow it from */
+    struct _signal *s_nextfree;         /* next in freelist */
+    struct _signal *s_nextused;         /* next in used list */
+    int s_vecsize;      /* allocated size of array in points */
+} t_signal;
+
+typedef t_int *(*t_perfroutine)(t_int *args);
+
+EXTERN t_int *plus_perform(t_int *args);
+EXTERN t_int *zero_perform(t_int *args);
+EXTERN t_int *copy_perform(t_int *args);
+
+EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n);
+EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n);
+EXTERN void dsp_add_scalarcopy(t_float *in, t_sample *out, int n);
+EXTERN void dsp_add_zero(t_sample *out, int n);
+
+EXTERN int sys_getblksize(void);
+EXTERN t_float sys_getsr(void);
+EXTERN int sys_get_inchannels(void);
+EXTERN int sys_get_outchannels(void);
+
+EXTERN void dsp_add(t_perfroutine f, int n, ...);
+EXTERN void dsp_addv(t_perfroutine f, int n, t_int *vec);
+EXTERN void pd_fft(t_float *buf, int npoints, int inverse);
+EXTERN int ilog2(int n);
+
+EXTERN void mayer_fht(t_sample *fz, int n);
+EXTERN void mayer_fft(int n, t_sample *real, t_sample *imag);
+EXTERN void mayer_ifft(int n, t_sample *real, t_sample *imag);
+EXTERN void mayer_realfft(int n, t_sample *real);
+EXTERN void mayer_realifft(int n, t_sample *real);
+
+EXTERN float *cos_table;
+#define LOGCOSTABSIZE 9
+#define COSTABSIZE (1<<LOGCOSTABSIZE)
+
+EXTERN int canvas_suspend_dsp(void);
+EXTERN void canvas_resume_dsp(int oldstate);
+EXTERN void canvas_update_dsp(void);
+EXTERN int canvas_dspstate;
+
+/*   up/downsampling */
+typedef struct _resample
+{
+  int method;       /* up/downsampling method ID */
+
+  t_int downsample; /* downsampling factor */
+  t_int upsample;   /* upsampling factor */
+
+  t_sample *s_vec;   /* here we hold the resampled data */
+  int      s_n;
+
+  t_sample *coeffs;  /* coefficients for filtering... */
+  int      coefsize;
+
+  t_sample *buffer;  /* buffer for filtering */
+  int      bufsize;
+} t_resample;
+
+EXTERN void resample_init(t_resample *x);
+EXTERN void resample_free(t_resample *x);
+
+EXTERN void resample_dsp(t_resample *x, t_sample *in, int insize, t_sample *out, int outsize, int method);
+EXTERN void resamplefrom_dsp(t_resample *x, t_sample *in, int insize, int outsize, int method);
+EXTERN void resampleto_dsp(t_resample *x, t_sample *out, int insize, int outsize, int method);
+
+/* ----------------------- utility functions for signals -------------- */
+EXTERN t_float mtof(t_float);
+EXTERN t_float ftom(t_float);
+EXTERN t_float rmstodb(t_float);
+EXTERN t_float powtodb(t_float);
+EXTERN t_float dbtorms(t_float);
+EXTERN t_float dbtopow(t_float);
+
+EXTERN t_float q8_sqrt(t_float);
+EXTERN t_float q8_rsqrt(t_float);
+#ifndef N32     
+EXTERN t_float qsqrt(t_float);  /* old names kept for extern compatibility */
+EXTERN t_float qrsqrt(t_float);
+#endif
+/* --------------------- data --------------------------------- */
+
+    /* graphical arrays */
+EXTERN_STRUCT _garray;
+#define t_garray struct _garray
+
+EXTERN t_class *garray_class;
+EXTERN int garray_getfloatarray(t_garray *x, int *size, t_float **vec);
+EXTERN int garray_getfloatwords(t_garray *x, int *size, t_word **vec);
+EXTERN void garray_redraw(t_garray *x);
+EXTERN int garray_npoints(t_garray *x);
+EXTERN char *garray_vec(t_garray *x);
+EXTERN void garray_resize(t_garray *x, t_floatarg f);  /* avoid; use this: */
+EXTERN void garray_resize_long(t_garray *x, long n);   /* better version */
+EXTERN void garray_usedindsp(t_garray *x);
+EXTERN void garray_setsaveit(t_garray *x, int saveit);
+EXTERN t_glist *garray_getglist(t_garray *x);
+EXTERN t_array *garray_getarray(t_garray *x);
+EXTERN t_class *scalar_class;
+
+EXTERN t_float *value_get(t_symbol *s);
+EXTERN void value_release(t_symbol *s);
+EXTERN int value_getfloat(t_symbol *s, t_float *f);
+EXTERN int value_setfloat(t_symbol *s, t_float f);
+
+/* ------- GUI interface - functions to send strings to TK --------- */
+typedef void (*t_guicallbackfn)(t_gobj *client, t_glist *glist);
+
+EXTERN void sys_vgui(char *fmt, ...);
+EXTERN void sys_gui(char *s);
+EXTERN void sys_pretendguibytes(int n);
+EXTERN void sys_queuegui(void *client, t_glist *glist, t_guicallbackfn f);
+EXTERN void sys_unqueuegui(void *client);
+    /* dialog window creation and destruction */
+EXTERN void gfxstub_new(t_pd *owner, void *key, const char *cmd);
+EXTERN void gfxstub_deleteforkey(void *key);
+
+extern t_class *glob_pdobject;  /* object to send "pd" messages */
+
+/*-------------  Max 0.26 compatibility --------------------*/
+
+/* the following reflects the new way classes are laid out, with the class
+   pointing to the messlist and not vice versa. Externs shouldn't feel it. */
+typedef t_class *t_externclass;
+
+EXTERN void c_extern(t_externclass *cls, t_newmethod newroutine,
+    t_method freeroutine, t_symbol *name, size_t size, int tiny, \
+    t_atomtype arg1, ...);
+EXTERN void c_addmess(t_method fn, t_symbol *sel, t_atomtype arg1, ...);
+
+#define t_getbytes getbytes
+#define t_freebytes freebytes
+#define t_resizebytes resizebytes
+#define typedmess pd_typedmess
+#define vmess pd_vmess
+
+/* A definition to help gui objects straddle 0.34-0.35 changes.  If this is
+defined, there is a "te_xpix" field in objects, not a "te_xpos" as before: */
+
+#define PD_USE_TE_XPIX
+
+#ifndef _MSC_VER /* Microoft compiler can't handle "inline" function/macros */
+#if defined(__i386__) || defined(__x86_64__) || defined(__arm__)
+/* a test for NANs and denormals.  Should only be necessary on i386. */
+# if PD_FLOATSIZE == 32
+static inline int PD_BADFLOAT(t_sample f) {
+  t_sampleint_union u;
+  u.f=f;
+  return ((u.i & 0x7f800000)==0) || ((u.i&0x7f800000)==0x7f800000);
+}
+/* more stringent test: anything not between 1e-19 and 1e19 in absolute val */
+static inline int PD_BIGORSMALL(t_sample f) {
+  t_sampleint_union u;
+  u.f=f;
+  return ((u.i & 0x60000000)==0) || ((u.i & 0x60000000)==0x60000000);
+}
+# else
+#  warning 64bit mode: BIGORSMALL not implemented yet
+#  define PD_BADFLOAT(f) 0
+#  define PD_BIGORSMALL(f) 0
+# endif
+#else
+# define PD_BADFLOAT(f) 0
+# define PD_BIGORSMALL(f) 0
+#endif
+#else   /* _MSC_VER */
+#define PD_BADFLOAT(f) ((((*(unsigned int*)&(f))&0x7f800000)==0) || \
+    (((*(unsigned int*)&(f))&0x7f800000)==0x7f800000))
+/* more stringent test: anything not between 1e-19 and 1e19 in absolute val */
+#define PD_BIGORSMALL(f) ((((*(unsigned int*)&(f))&0x60000000)==0) || \
+    (((*(unsigned int*)&(f))&0x60000000)==0x60000000))
+#endif /* _MSC_VER */
+    /* get version number at run time */
+EXTERN void sys_getversion(int *major, int *minor, int *bugfix);
+
+#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
+}
+#endif
+
+#define __m_pd_h_
+#endif /* __m_pd_h_ */
diff --git a/externals/lyonpotpourri/magfreq_analysis~-help.pd b/externals/lyonpotpourri/magfreq_analysis~-help.pd
new file mode 100755
index 000000000..ed48d1d0a
--- /dev/null
+++ b/externals/lyonpotpourri/magfreq_analysis~-help.pd
@@ -0,0 +1,48 @@
+#N canvas 770 168 473 383 10;
+#X obj 186 212 magfreq_analysis~;
+#X obj 186 262 channel~;
+#X obj 186 178 osc~ 440;
+#X msg 95 223 channel \$1;
+#X floatatom 95 199 5 0 0 0 - - -, f 5;
+#X obj 186 302 snapshot~;
+#X obj 379 182 metro 100;
+#X obj 379 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 186 334 5 0 0 0 - - -, f 5;
+#X obj 282 258 channel~;
+#X obj 282 298 snapshot~;
+#X floatatom 282 334 5 0 0 0 - - -, f 5;
+#X floatatom 186 151 5 0 0 0 - - -, f 5;
+#X obj 95 150 loadbang;
+#X msg 95 174 2;
+#X msg 379 130 1;
+#X obj 379 105 loadbang;
+#X msg 252 180 fftinfo;
+#X obj 9 7 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 19 198 select bin;
+#X text 8 124 try different frequencies \, then see what bins they
+show up in, f 69;
+#X text 13 39 magfreq_analysis~ - Analyze input as magnitude/frequency
+spectrum. You could use the output to drive an oscillator bank and
+resynthesize the spectrum \, possibly with frequency alterations.,
+f 67;
+#X connect 0 0 1 0;
+#X connect 0 1 9 0;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 6 0 5 0;
+#X connect 6 0 10 0;
+#X connect 7 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 2 0;
+#X connect 13 0 14 0;
+#X connect 14 0 4 0;
+#X connect 15 0 7 0;
+#X connect 16 0 15 0;
+#X connect 17 0 0 0;
diff --git a/externals/lyonpotpourri/magfreq_analysis~.c b/externals/lyonpotpourri/magfreq_analysis~.c
new file mode 100755
index 000000000..bb85d9a86
--- /dev/null
+++ b/externals/lyonpotpourri/magfreq_analysis~.c
@@ -0,0 +1,438 @@
+#include "MSPd.h"
+#include "fftease.h"
+
+static t_class *magfreq_analysis_class;
+
+#define OBJECT_NAME "magfreq_analysis~"
+
+typedef struct _magfreq_analysis
+{
+    
+	t_object x_obj;
+	float x_f;
+	int R;
+	int	N;
+	int	N2;
+	int	Nw;
+	int	Nw2;
+	int	D;
+	int	i;
+	int	inCount;
+	float *Wanal;
+	float *Wsyn;
+	float *input;
+	float *Hwin;
+	float *buffer;
+	float *channel;
+	float *output;
+	// for convert
+	float *c_lastphase_in;
+	float *c_lastphase_out;
+	float c_fundamental;
+	float c_factor_in;
+	float c_factor_out;
+    // for oscbank
+	int NP;
+	float P;
+	int L;
+	int first;
+	float Iinv;
+	float *lastamp;
+	float *lastfreq;
+	float *index;
+	float *table;
+	float myPInc;
+	float ffac;
+	//
+	float lofreq;
+	float hifreq;
+	int lo_bin;
+	int hi_bin;
+	float topfreq;
+	float synt;
+	// for fast fft
+	float mult;
+	float *trigland;
+	int *bitshuffle;
+	//
+	int bypass_state;
+	int pitch_connected;
+	int synt_connected;
+	int overlap;
+	int winfac;
+	short mute;
+} t_magfreq_analysis;
+
+void *magfreq_analysis_new(t_symbol *s, int argc, t_atom *argv);
+t_int *offset_perform(t_int *w);
+t_int *magfreq_analysis_perform(t_int *w);
+void magfreq_analysis_dsp(t_magfreq_analysis *x, t_signal **sp);
+void magfreq_analysis_bypass(t_magfreq_analysis *x, t_floatarg state);//Pd does not accept A_LONG
+void magfreq_analysis_float(t_magfreq_analysis *x, double f);
+void magfreq_analysis_free(t_magfreq_analysis *x);
+void magfreq_analysis_mute(t_magfreq_analysis *x, t_floatarg tog);
+void magfreq_analysis_init(t_magfreq_analysis *x, short initialized);
+void magfreq_analysis_lowfreq(t_magfreq_analysis *x, t_floatarg f);
+void magfreq_analysis_highfreq(t_magfreq_analysis *x, t_floatarg f);
+void magfreq_analysis_overlap(t_magfreq_analysis *x, t_floatarg o);
+void magfreq_analysis_winfac(t_magfreq_analysis *x, t_floatarg f);
+void magfreq_analysis_fftinfo(t_magfreq_analysis *x);;
+
+
+void magfreq_analysis_tilde_setup(void)
+{
+	magfreq_analysis_class = class_new(gensym("magfreq_analysis~"), (t_newmethod)magfreq_analysis_new,
+                                       (t_method)magfreq_analysis_free ,sizeof(t_magfreq_analysis), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(magfreq_analysis_class, t_magfreq_analysis, x_f);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_dsp, gensym("dsp"), 0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_mute, gensym("mute"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_bypass, gensym("bypass"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_highfreq, gensym("highfreq"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_lowfreq, gensym("lowfreq"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_overlap, gensym("overlap"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_winfac, gensym("winfac"), A_DEFFLOAT,0);
+	class_addmethod(magfreq_analysis_class, (t_method)magfreq_analysis_fftinfo, gensym("fftinfo"),0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+void magfreq_analysis_mute(t_magfreq_analysis *x, t_floatarg tog)
+{
+	x->mute = (short)tog;
+}
+
+void magfreq_analysis_overlap(t_magfreq_analysis *x, t_floatarg f)
+{
+	int i = (int) f;
+	if(!power_of_two(i)){
+		error("%f is not a power of two",f);
+		return;
+	}
+	x->overlap = i;
+	magfreq_analysis_init(x,1);
+}
+
+void magfreq_analysis_winfac(t_magfreq_analysis *x, t_floatarg f)
+{
+	int i = (int)f;
+	
+	if(!power_of_two(i)){
+		error("%f is not a power of two",f);
+		return;
+	}
+	x->winfac = i;
+	magfreq_analysis_init(x,2);
+}
+
+void magfreq_analysis_fftinfo(t_magfreq_analysis *x)
+{
+	if( ! x->overlap ){
+		post("zero overlap!");
+		return;
+	}
+	post("%s: FFT size %d, hopsize %d, windowsize %d", OBJECT_NAME, x->N, x->N/x->overlap, x->Nw);
+}
+
+void magfreq_analysis_free(t_magfreq_analysis *x ){
+	freebytes(x->c_lastphase_in,0);
+	freebytes(x->c_lastphase_out,0);
+	freebytes(x->trigland,0);
+	freebytes(x->bitshuffle,0);
+	freebytes(x->Wanal,0);
+	freebytes(x->Wsyn,0);
+	freebytes(x->input,0);
+	freebytes(x->Hwin,0);
+	freebytes(x->buffer,0);
+	freebytes(x->channel,0);
+	freebytes(x->output,0);
+	freebytes(x->lastamp,0);
+	freebytes(x->lastfreq,0);
+	freebytes(x->index,0);
+	freebytes(x->table,0);
+}
+
+void magfreq_analysis_highfreq(t_magfreq_analysis *x, t_floatarg f)
+{
+	float curfreq;
+	
+	if(f < x->lofreq){
+		error("current minimum is %f",x->lofreq);
+		return;
+	}
+	if(f > x->R/2 ){
+		f = x->R/2;
+	}
+	x->hifreq = f;
+	x->hi_bin = 1;
+	curfreq = 0;
+	while(curfreq < x->hifreq) {
+		++(x->hi_bin);
+		curfreq += x->c_fundamental;
+	}
+}
+
+void magfreq_analysis_lowfreq(t_magfreq_analysis *x, t_floatarg f)
+{
+	float curfreq;
+	
+	if(f > x->hifreq){
+		error("current maximum is %f",x->lofreq);
+		return;
+	}
+	if(f < 0 ){
+		f = 0;
+	}
+	x->lofreq = f;
+	x->lo_bin = 0;
+	curfreq = 0;
+	while( curfreq < x->lofreq ) {
+		++(x->lo_bin);
+		curfreq += x->c_fundamental ;
+	}
+}
+
+
+void magfreq_analysis_init(t_magfreq_analysis *x, short initialized)
+{
+	int i;
+	float curfreq;
+	
+	if(!x->R)//temp init if MSP functions returned zero
+		x->R = 44100;
+	if(!x->D)
+		x->D = 256;
+	if(x->P <= 0)
+		x->P = 1.0;
+	if(!power_of_two(x->overlap))
+		x->overlap = 2;
+	if(!power_of_two(x->winfac))
+		x->winfac = 2;
+	x->N = x->D * x->overlap;
+	x->Nw = x->N * x->winfac;
+	// limit_fftsize(&x->N,&x->Nw,OBJECT_NAME);
+	x->N2 = x->N / 2;
+	x->Nw2 = x->Nw / 2;
+	x->inCount = -(x->Nw);
+	x->bypass_state = 0;
+	x->mult = 1. / (float) x->N;
+	x->pitch_connected = 0;
+	x->synt_connected = 0;
+    
+	x->L = 8192 ;
+	x->c_fundamental =  (float) x->R/(float)( (x->N2)<<1 );
+	x->c_factor_in =  (float) x->R/((float)x->D * TWOPI);
+	x->c_factor_out = TWOPI * (float)  x->D / (float) x->R;
+	x->Iinv = 1./x->D;
+	x->myPInc = x->P*x->L/x->R;
+	x->ffac = x->P * PI/x->N;
+	
+	if(!initialized){
+		x->Wanal = (float *) getbytes( (MAX_Nw) * sizeof(float));
+		x->Wsyn = (float *) getbytes( (MAX_Nw) * sizeof(float));
+		x->Hwin = (float *) getbytes( (MAX_Nw) * sizeof(float));
+		x->input = (float *) getbytes( MAX_Nw * sizeof(float) );
+		x->output = (float *) getbytes( MAX_Nw * sizeof(float) );
+		x->buffer = (float *) getbytes( MAX_N * sizeof(float) );
+		x->channel = (float *) getbytes( (MAX_N+2) * sizeof(float) );
+		x->bitshuffle = (int *) getbytes( MAX_N * 2 * sizeof( int ) );
+		x->trigland = (float *) getbytes( MAX_N * 2 * sizeof( float ) );
+		x->c_lastphase_in = (float *) getbytes( (MAX_N2+1) * sizeof(float) );
+		x->c_lastphase_out = (float *) getbytes( (MAX_N2+1) * sizeof(float) );
+		x->lastamp = (float *) getbytes( (MAX_N+1) * sizeof(float) );
+		x->lastfreq = (float *) getbytes( (MAX_N+1) * sizeof(float) );
+		x->index = (float *) getbytes( (MAX_N+1) * sizeof(float) );
+		x->table = (float *) getbytes( x->L * sizeof(float) );
+		x->P = 1.0;
+		x->ffac = x->P * PI/MAX_N;
+		x->mute = 0;
+        //		x->threshgen = .0001;
+        
+	}
+	memset((char *)x->input,0,x->Nw * sizeof(float));
+	memset((char *)x->output,0,x->Nw * sizeof(float));
+	memset((char *)x->c_lastphase_in,0,(x->N2+1) * sizeof(float));
+	memset((char *)x->c_lastphase_out,0,(x->N2+1) * sizeof(float));
+	memset((char *)x->lastamp,0,(x->N+1) * sizeof(float));
+	memset((char *)x->lastfreq,0,(x->N+1) * sizeof(float));
+	memset((char *)x->index,0,(x->N+1) * sizeof(float));
+    
+	for ( i = 0; i < x->L; i++ ) {
+		x->table[i] = (float) x->N * cos((float)i * TWOPI / (float)x->L);
+	}
+	init_rdft( x->N, x->bitshuffle, x->trigland);
+	makehanning( x->Hwin, x->Wanal, x->Wsyn, x->Nw, x->N, x->D, 0);
+	
+	if( x->hifreq < x->c_fundamental ) {
+		x->hifreq = 3000.0 ;
+	}
+	x->hi_bin = 1;
+	curfreq = 0;
+	while( curfreq < x->hifreq ) {
+		++(x->hi_bin);
+		curfreq += x->c_fundamental ;
+	}
+	
+	x->lo_bin = 0;
+	curfreq = 0;
+	while( curfreq < x->lofreq ) {
+		++(x->lo_bin);
+		curfreq += x->c_fundamental ;
+	}
+	
+}
+
+void *magfreq_analysis_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+	t_magfreq_analysis *x = (t_magfreq_analysis *)pd_new(magfreq_analysis_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal"));
+	
+	x->lofreq = atom_getfloatarg(0,argc,argv);
+	x->hifreq = atom_getfloatarg(1,argc,argv);
+	x->overlap = atom_getfloatarg(2,argc,argv);
+	x->winfac = atom_getfloatarg(3,argc,argv);
+	
+	if(x->lofreq <0 || x->lofreq> 22050)
+		x->lofreq = 0;
+	if(x->hifreq <50 || x->hifreq> 22050)
+		x->hifreq = 4000;
+    
+    
+	if(!power_of_two(x->overlap)){
+		x->overlap = 4;
+	}
+	if(!power_of_two(x->winfac)){
+		x->winfac = 2;
+	}
+	x->R = sys_getsr();
+	x->D = sys_getblksize();
+	
+	magfreq_analysis_init(x,0);
+	
+	return (x);
+}
+
+t_int *magfreq_analysis_perform(t_int *w)
+{
+	int 	j, in,on;
+	int    amp,freq,chan;
+	
+	t_magfreq_analysis *x = (t_magfreq_analysis *) (w[1]);
+	t_float *inbuf = (t_float *)(w[2]);
+	t_float *magnitude_vec = (t_float *)(w[3]);
+	t_float *frequency_vec = (t_float *)(w[4]);
+	t_float *index_vec = (t_float *)(w[5]);
+	int n = (int) w[6];
+	
+	int D = x->D;
+	int Nw = x->Nw;
+	int N = x->N ;
+	int N2 = x-> N2;
+	float fundamental = x->c_fundamental;
+	float factor_in =  x->c_factor_in;
+	int *bitshuffle = x->bitshuffle;
+	float *trigland = x->trigland;
+	float *lastphase_in = x->c_lastphase_in;
+    
+	
+	float *Wanal = x->Wanal;
+	float *input = x->input;;
+	float *buffer = x->buffer;
+	float *channel = x->channel;
+	in = on = x->inCount ;
+	
+	
+	if(x->mute){
+		for( j = 0; j < n; j++ ) {
+			*magnitude_vec++ = 0;
+			*frequency_vec++ = 0;
+			*index_vec++ = j;
+		}
+		return w+7;
+	}
+    
+	
+	if (x->bypass_state) {
+		for( j = 0; j < n; j++ ) {
+			*magnitude_vec++ = 0;
+			*frequency_vec++ = 0;
+			*index_vec++ = 0;
+		}
+		return w+7;
+	}
+	
+    in = on = x->inCount ;
+	
+    in += D;
+    //    on += I;
+	
+    for ( j = 0 ; j < (Nw - D) ; j++ ){
+        input[j] = input[j+D];
+    }
+    for ( j = (Nw-D); j < Nw; j++) {
+        input[j] = *inbuf++;
+    }
+	
+    fold( input, Wanal, Nw, buffer, N, in );
+    rdft( N, 1, buffer, bitshuffle, trigland );
+    convert( buffer, channel, N2, lastphase_in, fundamental, factor_in );
+	
+	
+    // start osc bank
+	
+    for ( chan = 0; chan < n; chan++ ) {
+		
+        freq = ( amp = ( chan << 1 ) ) + 1;
+        frequency_vec[chan] = channel[freq];
+        magnitude_vec[chan] = channel[amp];
+        
+    	index_vec[chan] = chan;
+	}
+    
+	
+	
+    // restore state variables
+    x->inCount = in % Nw;
+    return w+7;
+}
+
+void magfreq_analysis_bypass(t_magfreq_analysis *x, t_floatarg state)
+{
+	x->bypass_state = state;
+}
+
+#if __MSP__
+void magfreq_analysis_float(t_magfreq_analysis *x, double f) // Look at floats at inlets
+{
+	int inlet = x->x_obj.z_in;
+	
+	if (inlet == 1)
+    {
+		/*x->P = (float)f;
+         x->myPInc = x->P*x->L/x->R;*/
+    }
+	else if (inlet == 2)
+    {
+		//	x->threshgen = (float)f;
+    }
+	
+}
+#endif
+
+
+void magfreq_analysis_dsp(t_magfreq_analysis *x, t_signal **sp)
+{
+	
+	if(x->D != sp[0]->s_n || x->R != sp[0]->s_sr ){
+		x->D = sp[0]->s_n;
+		x->R = sp[0]->s_sr;
+		magfreq_analysis_init(x,1);
+	}
+	
+	dsp_add(magfreq_analysis_perform, 6, x,
+			sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+			sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/makewindows.c b/externals/lyonpotpourri/makewindows.c
new file mode 100755
index 000000000..81a80f000
--- /dev/null
+++ b/externals/lyonpotpourri/makewindows.c
@@ -0,0 +1 @@
+#include "fftease.h"

void makewindows( float *H, float *A, float *S, int Nw, int N, int I )

{
 int i ;
 float sum ;

    for ( i = 0 ; i < Nw ; i++ )
	H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ) ;

    if ( Nw > N ) {
     float x ;

	x = -(Nw - 1)/2. ;
	for ( i = 0 ; i < Nw ; i++, x += 1. )
	    if ( x != 0. ) {
		A[i] *= N*sin( PI*x/N )/(PI*x) ;
		if ( I )
		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
	    }
    }

    for ( sum = i = 0 ; i < Nw ; i++ )
	sum += A[i] ;

    for ( i = 0 ; i < Nw ; i++ ) {
     float afac = 2./sum ;
     float sfac = Nw > N ? 1./afac : afac ;
	A[i] *= afac ;
	S[i] *= sfac ;
    }

    if ( Nw <= N && I ) {
	for ( sum = i = 0 ; i < Nw ; i += I )
	    sum += S[i]*S[i] ;
	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
	    S[i] *= sum ;
    }
}

void makehamming( float *H, float *A, float *S, int Nw, int N, int I, int odd )

{
 int i;
 float sum ;


 
 if (odd) {
    for ( i = 0 ; i < Nw ; i++ )
	  H[i] = A[i] = S[i] = sqrt(0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ));
 }
	
 else {

   for ( i = 0 ; i < Nw ; i++ )
	  H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) );

 }
 	
    if ( Nw > N ) {
     float x ;

	x = -(Nw - 1)/2. ;
	for ( i = 0 ; i < Nw ; i++, x += 1. )
	    if ( x != 0. ) {
		A[i] *= N*sin( PI*x/N )/(PI*x) ;
		if ( I )
		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
	    }
    }
    for ( sum = i = 0 ; i < Nw ; i++ )
	sum += A[i] ;

    for ( i = 0 ; i < Nw ; i++ ) {
     float afac = 2./sum ;
     float sfac = Nw > N ? 1./afac : afac ;
	A[i] *= afac ;
	S[i] *= sfac ;
    }

    if ( Nw <= N && I ) {
	for ( sum = i = 0 ; i < Nw ; i += I )
	    sum += S[i]*S[i] ;
	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
	    S[i] *= sum ;
    }
}

  
void makehanning( float *H, float *A, float *S, int Nw, int N, int I, int odd )
{
 int i;
 float sum ;
 
 
 if (odd) {
    for ( i = 0 ; i < Nw ; i++ )
	  H[i] = A[i] = S[i] = sqrt(0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1))));
 }
	
 else {

   for ( i = 0 ; i < Nw ; i++ )
	  H[i] = A[i] = S[i] = 0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1)));

 }
 	
    if ( Nw > N ) {
     float x ;

	x = -(Nw - 1)/2. ;
	for ( i = 0 ; i < Nw ; i++, x += 1. )
	    if ( x != 0. ) {
		A[i] *= N*sin( PI*x/N )/(PI*x) ;
		if ( I )
		    S[i] *= I*sin( PI*x/I )/(PI*x) ;
	    }
    }
    for ( sum = i = 0 ; i < Nw ; i++ )
	sum += A[i] ;

    for ( i = 0 ; i < Nw ; i++ ) {
     float afac = 2./sum ;
     float sfac = Nw > N ? 1./afac : afac ;
	A[i] *= afac ;
	S[i] *= sfac ;
    }

    if ( Nw <= N && I ) {
	for ( sum = i = 0 ; i < Nw ; i += I )
	    sum += S[i]*S[i] ;
	for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
	    S[i] *= sum ;
    }
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/markov~-help.pd b/externals/lyonpotpourri/markov~-help.pd
new file mode 100755
index 000000000..17c812788
--- /dev/null
+++ b/externals/lyonpotpourri/markov~-help.pd
@@ -0,0 +1,114 @@
+#N canvas 379 48 488 369 10;
+#X obj 132 186 markov~ 10;
+#X obj 132 220 phasor~;
+#X obj 132 250 lop~ 3000;
+#X obj 132 279 *~ 0.1;
+#X obj 132 307 dac~;
+#X floatatom 229 259 5 0 0 0 - - -, f 5;
+#N canvas 447 119 548 433 bach 0;
+#X obj 153 44 inlet;
+#X obj 135 415 outlet;
+#X obj 153 73 t b b;
+#X msg 183 107 set_length 9;
+#X obj 15 107 t b b b b b b b b b b;
+#X msg 15 360 values 261.626 293.665 329.628 391.995 440 523.251 587.33
+659.255 698.456;
+#X text 11 340 the notes in first 2 bars of JS Bach WTC 1 no. 1 prelude
+;
+#X msg 711 134;
+#X msg 724 156;
+#X msg 280 152 event_odds 0 0 1 1 0 0 0 0 0 0;
+#X msg 280 172 event_odds 1 0 0 0 0 1 0 0 0 0;
+#X msg 280 192 event_odds 2 0 0 0 1 0 0 0 0 0;
+#X msg 280 212 event_odds 3 0 0 0 0 0 1 0 0 0;
+#X msg 280 232 event_odds 4 0 0 0 0 0 0 1 0 0;
+#X msg 280 254 event_odds 5 0 0 0 0 0 0 0 1 0;
+#X msg 280 276 event_odds 6 0 0 0 0 0 0 0 0 1;
+#X msg 281 297 event_odds 7 1 0 0 1 0 0 0 0 0;
+#X msg 281 317 event_odds 8 1 0 0 0 1 0 0 0 0;
+#X text 189 398 If you do not know about transition matrices please
+see Xenakis's Formalized Music or whatever Web info you can find on
+first order Markov chains.;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 1 17 0;
+#X connect 4 2 16 0;
+#X connect 4 3 15 0;
+#X connect 4 4 14 0;
+#X connect 4 5 13 0;
+#X connect 4 6 12 0;
+#X connect 4 7 11 0;
+#X connect 4 8 10 0;
+#X connect 4 9 9 0;
+#X connect 5 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 1 0;
+#X connect 13 0 1 0;
+#X connect 14 0 1 0;
+#X connect 15 0 1 0;
+#X connect 16 0 1 0;
+#X connect 17 0 1 0;
+#X restore 132 142 pd bach;
+#X obj 132 117 loadbang;
+#N canvas 0 22 458 308 tempo-control 0;
+#X obj 138 45 loadbang;
+#X msg 138 69 120 4;
+#X obj 138 101 unpack f f;
+#X floatatom 138 127 5 0 0 0 - - -, f 5;
+#X floatatom 203 127 5 0 0 0 - - -, f 5;
+#X msg 138 157 tempo \$1;
+#X msg 203 154 subdiv \$1;
+#X obj 138 207 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X restore 0 87 pd tempo-control;
+#X obj 131 77 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 232 218 snapshot~;
+#X floatatom 232 239 5 0 0 0 - - -, f 5;
+#X obj 232 174 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 232 195 metro 50;
+#N canvas 0 22 458 308 override 0;
+#X obj 141 168 outlet;
+#X msg 116 120 manual_override \$1;
+#X obj 116 87 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 280 103 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X restore -4 158 pd override;
+#X text 254 175 see phase (1 cycle per note);
+#X text 183 138 is there a pdq external?;
+#X obj -14 16 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text -14 51 markov~ - 1st order Markov chains for basic melodic
+coherence, f 67;
+#X connect 0 0 1 0;
+#X connect 0 1 10 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 5 0 3 1;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 0 0;
+#X connect 9 0 6 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 13 0 10 0;
+#X connect 14 0 0 0;
diff --git a/externals/lyonpotpourri/markov~.c b/externals/lyonpotpourri/markov~.c
new file mode 100755
index 000000000..c54b45bfc
--- /dev/null
+++ b/externals/lyonpotpourri/markov~.c
@@ -0,0 +1,290 @@
+#include "MSPd.h"
+
+
+static t_class *markov_class;
+
+#define OBJECT_NAME "markov~"
+
+typedef struct _markov
+{
+    
+    t_object x_obj;
+    float x_f;
+    // for markov
+	int event_count;
+	int maximum_length;
+	float **event_weights;
+	int current_event;
+	float *values;
+	float current_value;
+	// for rhythm
+	int count;
+	int event_samples;
+	int subdiv;
+	float tempo;
+    
+	float sr;
+	short manual_override;
+	short trigger;
+} t_markov;
+
+//void main(void)
+void *markov_new(t_floatarg event_count);
+t_int *markov_perform(t_int *w);
+void markov_dsp(t_markov *x, t_signal **sp);
+int markov_domarkov( int current_event, float **event_weights, int event_count );
+void markov_subdiv(t_markov *x, t_floatarg subdiv);
+void markov_tempo(t_markov *x, t_floatarg tempo);
+void markov_set_length(t_markov *x, t_floatarg length);
+void markov_manual_override(t_markov *x, t_floatarg toggle);
+void markov_values(t_markov *x, t_symbol *msg, short argc, t_atom *argv);
+void markov_event_odds(t_markov *x, t_symbol *msg, short argc, t_atom *argv);
+void markov_free( t_markov *x);
+void markov_bang( t_markov *x);
+
+void markov_tilde_setup(void){
+    markov_class = class_new(gensym("markov~"), (t_newmethod)markov_new,
+                             (t_method)markov_free,sizeof(t_markov), 0,A_DEFFLOAT,0);
+    CLASS_MAINSIGNALIN(markov_class, t_markov, x_f);
+    class_addmethod(markov_class,(t_method)markov_dsp,gensym("dsp"),0);
+    class_addmethod(markov_class,(t_method)markov_subdiv,gensym("subdiv"),A_FLOAT,0);
+    class_addmethod(markov_class,(t_method)markov_tempo,gensym("tempo"),A_FLOAT,0);
+    class_addmethod(markov_class,(t_method)markov_set_length,gensym("set_length"),A_FLOAT,0);
+    class_addmethod(markov_class,(t_method)markov_manual_override,gensym("manual_override"),A_FLOAT,0);
+    class_addmethod(markov_class,(t_method)markov_values,gensym("values"),A_GIMME,0);
+    class_addmethod(markov_class,(t_method)markov_event_odds,gensym("event_odds"),A_GIMME,0);
+    class_addbang(markov_class,(t_method)markov_bang);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void markov_free( t_markov *x)
+{
+	free( x->values );
+	free( x->event_weights );
+}
+
+void markov_manual_override(t_markov *x, t_floatarg toggle)
+{
+	x->manual_override = toggle;
+}
+
+void markov_bang(t_markov *x)
+{
+	x->trigger = 1;
+}
+
+void markov_values(t_markov *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+    
+	if( argc != x->event_count ){
+		error("there must be %d values in this list", x->event_count);
+		return;
+	}
+	for( i = 0; i < x->event_count ; i++){
+		x->values[i] = atom_getfloatarg(i, argc, argv);
+	}
+}
+
+void markov_event_odds(t_markov *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+	int event;
+	float sum = 0.0;
+    
+	float **event_weights = x->event_weights;
+    
+	if( argc != x->event_count + 1){
+		error("there must be %d values in this list", x->event_count + 1);
+		return;
+	}
+	event = atom_getfloatarg(0, argc, argv);
+	if( event < 0 || event > x->event_count - 1 ){
+		error("attempt to set event outside range of 0 to %d",x->event_count - 1);
+		return;
+	}
+	for( i = 0; i < x->event_count; i++){
+		event_weights[event][i] = atom_getfloatarg( (i+1), argc, argv);
+		sum += event_weights[event][i];
+	}
+	if( sum == 0.0 ){
+		error("zero sum for odds - this is a very bad thing");
+		return;
+	} else if( sum != 1.0 ){
+		// post("sum was %f, rescaling to 1.0", sum);
+		for( i = 0; i < x->event_count; i++ ){
+			event_weights[event][i] /= sum;
+		}
+	}
+}
+
+void markov_set_length(t_markov *x, t_floatarg length)
+{
+	if( length < 1 || length > x->maximum_length ){
+		error("%d is an illegal length", (int) length);
+		return;
+	}
+	x->event_count = length;
+    
+}
+
+void markov_tempo(t_markov *x, t_floatarg tempo)
+{
+	x->tempo = tempo;
+	x->event_samples = x->sr * (60.0/x->tempo) / (float) x->subdiv;
+}
+
+void markov_subdiv(t_markov *x, t_floatarg subdiv)
+{
+	x->subdiv = (int) subdiv;
+	if( subdiv < 1 || subdiv > 128)
+		subdiv = 1;
+	x->event_samples = x->sr * (60.0/x->tempo) / (float) x->subdiv;
+}
+
+void *markov_new(t_floatarg event_count)
+{
+    
+  	int i;
+
+    t_markov *x = (t_markov *)pd_new(markov_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    // event_count is MAXIMUM event_count
+	if( event_count < 2 || event_count > 256 ){
+		error("maximum event length limited to 256, set to 16 here");
+		event_count = 16 ;
+	}
+    x->maximum_length = event_count;
+    
+    x->event_count = 4; // default pattern
+    x->count = 0;
+    
+    x->event_weights = (float **) malloc( event_count * sizeof(float *) );
+  	for( i = 0; i < 10; i++ ){
+    	x->event_weights[i] = (float *) malloc( event_count * sizeof(float) );
+  	}
+    x->values = (float *) malloc( event_count * sizeof(float) );
+    
+	x->current_event = 0;
+    x->values[0] = 300;
+    x->values[1] = 400;
+    x->values[2] = 500;
+    x->values[3] = 600;
+    // weights
+    x->event_weights[0][0] = 0;
+	x->event_weights[0][1] = 0.5;
+	x->event_weights[0][2] = 0.5;
+	x->event_weights[0][3] = 0;
+    x->event_weights[1][0] = 0.25;
+	x->event_weights[1][1] = 0.5;
+	x->event_weights[1][2] = 0.0;
+	x->event_weights[1][3] = 0.25;
+    x->event_weights[2][0] = 1;
+	x->event_weights[2][1] = 0.0;
+	x->event_weights[2][2] = 0.0;
+	x->event_weights[2][3] = 0.0;
+    x->event_weights[3][0] = 0.33;
+	x->event_weights[3][1] = 0.33;
+	x->event_weights[3][2] = 0.34;
+	x->event_weights[3][3] = 0.0;
+    x->current_value = x->values[ x->current_event ];
+	x->count = 0;
+	x->tempo = 60.0;
+	x->sr = sys_getsr();
+	if( ! x->sr ){
+		error("zero sampling rate - set to 44100");
+		x->sr = 44100;
+	}
+	x->subdiv = 1;
+	x->event_samples = x->sr * (60.0/x->tempo) / (float) x->subdiv;
+    
+	x->trigger = 0;
+    
+    return (x);
+}
+
+
+t_int *markov_perform(t_int *w)
+{
+	
+	t_markov *x = (t_markov *) (w[1]);
+	t_float *out = (t_float *)(w[3]);
+	t_float *sync = (t_float *)(w[4]);
+	int n = (int)(w[5]);
+	
+	int count = x->count;
+	int event_samples = x->event_samples;
+	int event_count = x->event_count;
+	float **event_weights = x->event_weights;
+	int current_event = x->current_event;
+	float *values = x->values;
+	float current_value = x->current_value;
+    
+	
+	if( x->manual_override ){
+		while (n--) {
+			if( x->trigger ){
+				current_event = markov_domarkov( current_event, event_weights, event_count );
+				current_value = values[ current_event ];
+				x->trigger = 0;
+			}
+			*out++ = current_value;
+		}
+		x->current_value = current_value;
+		x->current_event = current_event;
+		return (w+6);
+	}
+	
+	while (n--) {
+        
+		if( ++count >= event_samples ){
+			current_event = markov_domarkov( current_event, event_weights, event_count );
+			current_value = values[ current_event ];
+			count = 0;
+		}
+        
+		*sync++ = (float) count / (float) event_samples;
+        
+		*out++ = current_value;
+        
+	}
+    
+	x->current_value = current_value;
+	x->count = count;
+	x->current_event = current_event;
+	
+	return (w+6);
+}
+
+int markov_domarkov(int current_event, float **event_weights, int event_count)
+{
+	float randval;
+	int i;
+	
+	randval =  rand() % 32768 ;
+	randval /= 32768.0;
+	
+	
+	for( i = 0; i < event_count; i++ ){
+		if( randval < event_weights[current_event][i] ){
+			return i;
+		}
+		randval -= event_weights[current_event][i];
+	}
+	return 0; // should never happen
+}
+
+void markov_dsp(t_markov *x, t_signal **sp)
+{
+    //	long i;
+    if(x->sr!=sp[0]->s_sr){
+        x->sr=sp[0]->s_sr;// BUG!!! in MSP code was !=
+        x->event_samples = x->sr * (60.0/x->tempo) / (float) x->subdiv;
+        x->count = 0;
+    }
+    dsp_add(markov_perform, 5, x, sp[0]->s_vec , sp[1]->s_vec, sp[2]->s_vec, 
+            sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/mask~-help.pd b/externals/lyonpotpourri/mask~-help.pd
new file mode 100755
index 000000000..16c48c83a
--- /dev/null
+++ b/externals/lyonpotpourri/mask~-help.pd
@@ -0,0 +1,34 @@
+#N canvas 168 173 424 386 10;
+#X msg 31 93 tempo \$1;
+#X floatatom 31 68 5 0 0 0 - mask-tempo-in -, f 5;
+#X obj 31 144 mask~ 1 0 0 0 1 0 0 0.5 0 1 0 0 0.2 0.4 0.6 0.8;
+#X obj 31 205 clickhold~;
+#X obj 31 232 osc~ 120;
+#X obj 242 177 adsr~ 5 10 10 200 0.7 0.1;
+#X obj 31 268 *~;
+#X obj 31 303 *~ 0.1;
+#X obj 31 329 dac~;
+#X obj 31 177 mask~ 440 500 370 1000 888;
+#X obj 32 8 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#N canvas 0 22 195 209 initialize 0;
+#X msg 39 74 60;
+#X obj 39 48 loadbang;
+#X obj 39 114 s mask-tempo-in;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X restore 87 305 pd initialize;
+#X text 33 41 mask~ - click-driven sequencer;
+#X obj 31 119 samm~ 60 4;
+#X connect 0 0 13 0;
+#X connect 1 0 0 0;
+#X connect 2 0 5 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 9 0 3 0;
+#X connect 13 0 2 0;
diff --git a/externals/lyonpotpourri/mask~.c b/externals/lyonpotpourri/mask~.c
new file mode 100755
index 000000000..6dd0b4f25
--- /dev/null
+++ b/externals/lyonpotpourri/mask~.c
@@ -0,0 +1,363 @@
+#include "MSPd.h"
+
+static t_class *mask_class;
+
+#define MAXLEN 256
+#define MAXMASKS 1024
+#define MAXSEQ 1024
+#define OBJECT_NAME "mask~"
+#define DATE "(6.6.06)"
+
+typedef struct
+{
+    float *pat; // mask pattern
+    int length;// length of pattern
+} t_maskpat;
+
+typedef struct
+{
+    int *seq; // mask pattern
+    int length;// length of pattern
+    int phase; // keep track of where we are in sequence
+} t_sequence;
+
+typedef struct _mask
+{
+    
+    t_object x_obj;
+    float x_f;
+    short mute;// stops all computation (try z-disable)
+    short gate; // continues masking but inhibits all output
+    short phaselock; // indicates all patterns are the same size and use the same phase count
+    short indexmode;//special mode where input clicks are also mask indicies (+ 1)
+    int phase;//phase of current pattern
+    int current_mask;// currently selected pattern
+    t_maskpat *masks;// contains the mask patterns
+    t_sequence sequence;// contains an optional mask sequence
+    int *stored_masks;// a list of patterns stored
+    int pattern_count;//how many patterns are stored
+    short noloop;// flag to play pattern only once
+    float *in_vec;//copy space for input to avoid dreaded vector sharing override
+} t_mask;
+
+void *mask_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *mask_perform(t_int *w);
+void mask_dsp(t_mask *x, t_signal **sp);
+void mask_mute(t_mask *x, t_floatarg f);
+void mask_phaselock(t_mask *x, t_floatarg f);
+void mask_gate(t_mask *x, t_floatarg f);
+void mask_addmask(t_mask *x, t_symbol *msg, short argc, t_atom *argv);
+void mask_recall(t_mask *x, t_floatarg p);
+void mask_showmask(t_mask *x, t_floatarg p);
+void mask_indexmode(t_mask *x, t_floatarg t);
+void mask_gozero(t_mask *x);
+void mask_free(t_mask *x);
+void mask_sequence(t_mask *x, t_symbol *msg, short argc, t_atom *argv);
+void mask_noloop(t_mask *x, t_floatarg f);
+void mask_playonce(t_mask *x, t_floatarg pnum);
+
+
+
+void mask_tilde_setup(void){
+    mask_class = class_new(gensym("mask~"), (t_newmethod)mask_new,
+                           (t_method)mask_free ,sizeof(t_mask), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(mask_class, t_mask, x_f);
+    class_addmethod(mask_class,(t_method)mask_dsp,gensym("dsp"),0);
+    class_addmethod(mask_class,(t_method)mask_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_phaselock,gensym("phaselock"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_gate,gensym("gate"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_addmask,gensym("addmask"),A_GIMME,0);
+    class_addmethod(mask_class,(t_method)mask_sequence,gensym("sequence"),A_GIMME,0);
+    class_addmethod(mask_class,(t_method)mask_recall,gensym("recall"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_showmask,gensym("showmask"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_indexmode,gensym("indexmode"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_playonce,gensym("playonce"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_noloop,gensym("noloop"),A_FLOAT,0);
+    class_addmethod(mask_class,(t_method)mask_gozero,gensym("gozero"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void mask_playonce(t_mask *x, t_floatarg pnum)
+{
+	x->noloop = 1;
+	x->mute = 0;
+	mask_recall(x,pnum);
+}
+
+void mask_indexmode(t_mask *x, t_floatarg t)
+{
+	x->indexmode = (short)t;
+}
+
+void mask_gozero(t_mask *x)
+{
+    x->phase = 0;
+}
+
+void mask_mute(t_mask *x, t_floatarg f)
+{
+    x->mute = (short)f;
+}
+
+void mask_noloop(t_mask *x, t_floatarg f)
+{
+    x->noloop = (short)f;
+}
+
+void mask_phaselock(t_mask *x, t_floatarg f)
+{
+    x->phaselock = (short)f;
+}
+
+void mask_gate(t_mask *x, t_floatarg f)
+{
+    x->gate = (short)f;
+}
+
+
+void mask_showmask(t_mask *x, t_floatarg p){
+    int location = p;
+    short found = 0;
+    int i;
+    int len;
+    
+    
+    for(i = 0; i<x->pattern_count; i++){
+        if(location == x->stored_masks[i]){
+            found = 1;
+            break;
+        }
+    }
+    if(found){
+        len = x->masks[location].length;
+        post("pattern length is %d",len);
+        for(i = 0; i < len; i++){
+            post("%d: %f",i,x->masks[location].pat[i]);
+        }
+        
+    } else {
+        error("no pattern stored at location %d",location);
+    }
+}
+
+void mask_recall(t_mask *x, t_floatarg p)
+{
+    int i;
+    int location = p;
+    short found = 0;
+    
+    
+    for(i = 0; i < x->pattern_count; i++){
+        if(location == x->stored_masks[i]){
+            found = 1;
+            break;
+        }
+    }
+    if(found){
+        x->current_mask = location;
+        if(! x->phaselock){
+            x->phase = 0;
+        }
+    } else {
+        error("no pattern stored at location %d",location);
+    }
+}
+
+//initiate mask recall sequence
+void mask_sequence(t_mask *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    
+	if(argc > MAXSEQ){
+		error("%d exceeds possible length for a sequence",argc);
+		return;
+	}
+	if(argc < 1){
+		error("you must sequence at least 1 mask");
+		return;
+	}
+	for(i = 0; i < argc; i++){
+		x->sequence.seq[i] = atom_getfloatarg(i,argc,argv);
+	}
+	if(x->sequence.seq[0] < 0){
+		post("sequencing turned off");
+		x->sequence.length = 0;
+		return;
+	}
+	x->sequence.phase = 0;
+	x->sequence.length = argc;
+	// now load in first mask of sequence
+	mask_recall(x, (t_floatarg)x->sequence.seq[x->sequence.phase++]);
+	
+	// ideally would check that each sequence number is a valid stored location
+}
+
+void mask_addmask(t_mask *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int location;
+    int i;
+    
+    if(argc < 2){
+        error("must specify location and mask");
+        return;
+    }
+    if(argc > MAXLEN){
+        error("mask is limited to length %d",MAXLEN);
+        return;
+    }
+    location = atom_getintarg(0,argc,argv);
+    if(location < 0 || location > MAXMASKS - 1){
+        error("illegal location");
+        return;
+    }
+    if(x->masks[location].pat == NULL){
+        x->masks[location].pat = (float *) malloc(MAXLEN * sizeof(float));
+        x->stored_masks[x->pattern_count++] = location;
+    } else {
+        //    post("replacing pattern stored at location %d", location);
+    }
+    //  post("reading new mask from argument list, with %d members",argc-1);
+    x->masks[location].length = argc-1;
+    for(i=1; i<argc; i++){
+        x->masks[location].pat[i-1] = atom_getfloatarg(i,argc,argv);
+    }
+    //  post("there are currently %d patterns stored",x->pattern_count);
+}
+
+void mask_free(t_mask *x)
+{
+    int i;
+    for(i=0;i<x->pattern_count;i++)
+        free(x->masks[i].pat);
+    free(x->masks);
+    free(x->stored_masks);
+    free(x->sequence.seq);
+    free(x->in_vec);
+}
+
+void *mask_new(t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    t_mask *x = (t_mask *)pd_new(mask_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+    x->masks = (t_maskpat *) malloc(MAXMASKS * sizeof(t_maskpat));
+    x->stored_masks = (int *) malloc(MAXMASKS * sizeof(int));
+    
+    x->sequence.seq = (int *) malloc(MAXSEQ * sizeof(int));
+    
+    
+    /* this should be vector size, and possibly realloced in dsp routine if size changes */
+    x->in_vec = (float *) malloc(8192 * sizeof(float));
+    
+    x->sequence.length = 0; // no sequence by default
+    x->sequence.phase = 0; //
+    
+    //	post("allocated %d bytes for basic mask holder",MAXMASKS * sizeof(t_maskpat));
+    
+    x->current_mask = -1; // by default no mask is selected
+    for(i=0; i<MAXMASKS; i++){
+        x->stored_masks[i] = -1; // indicates no pattern stored
+        x->masks[i].pat = NULL;
+    }
+    if(argc > 0){
+        //	post("reading initial mask from argument list, with %d members",argc);
+        x->masks[0].pat = (float *) malloc(MAXLEN * sizeof(float));
+        //		post("allocated %d bytes for this pattern", MAXLEN * sizeof(float));
+        x->masks[0].length = argc;
+        for(i=0; i<argc; i++){
+            x->masks[0].pat[i] = atom_getfloatarg(i,argc,argv);
+        }
+        x->current_mask = 0; // now we use the mask we read from the arguments
+        x->stored_masks[0] = 0;
+        x->pattern_count = 1;
+    }
+    x->indexmode = 0;
+    x->mute = 0;
+    x->gate = 1;//by default gate is on, and the pattern goes out (zero gate turns it off)
+    x->phaselock = 0;// by default do NOT use a common phase for all patterns
+    x->phase = 0;
+    x->noloop = 0;
+    
+    return x;
+}
+
+
+t_int *mask_perform(t_int *w)
+{
+    int i;
+    t_mask *x = (t_mask *) (w[1]);
+    float *inlet = (t_float *) (w[2]);
+    float *outlet = (t_float *) (w[3]);
+    int n = (int) w[4];
+    
+    int phase = x->phase;
+    short gate = x->gate;
+    short indexmode = x->indexmode;
+    short noloop = x->noloop;
+    int current_mask = x->current_mask;
+    t_maskpat *masks = x->masks;
+    t_sequence sequence = x->sequence;
+    float *in_vec = x->in_vec;
+    
+    
+    if( x->mute || current_mask < 0){
+        while(n--) *outlet++ = 0;
+        return (w+5);
+    }
+    
+    // should use memcpy() here
+    for(i = 0; i < n; i++){
+        in_vec[i] = inlet[i];
+    }
+    // clean outlet - should use memset()
+    for( i = 0; i < n; i++){
+        outlet[i] = 0.0;
+    }
+    
+    for(i = 0; i<n; i++){
+        if(in_vec[i]){ // got a click
+            if(indexmode){ // indexmode means the click itself controls the phase of the mask
+                phase = in_vec[i] - 1;
+                /*    	post("current mask: %d, length: %d, inphase %d", current_mask, masks[current_mask].length, phase); */
+                if(phase < 0 || phase >= masks[current_mask].length){
+                    /*	post("phase %d out of range", phase); */
+                    phase %= masks[current_mask].length;
+                    /*	post("phase reset to %d", phase); */
+                }
+            }
+            if(gate){
+				outlet[i] = masks[current_mask].pat[phase];
+                //				post("mask value: %f",outlet[i]);
+			}
+            ++phase; //advance phase in all cases (so pattern advances when gated)
+            if(phase >= masks[current_mask].length){
+				phase = 0;
+				if(noloop){
+					x->mute = 1;
+                    //				post("halted by noloop");
+					goto out;
+				}
+				// if a sequence is active, reset the current mask too
+				if(sequence.length){
+					mask_recall(x, (t_floatarg)sequence.seq[sequence.phase++]);
+					current_mask = x->current_mask; // this was reset internally!
+					if(sequence.phase >= sequence.length)
+						sequence.phase = 0;
+				}
+            }
+        } 
+    }
+out:
+    x->phase = phase;
+    x->sequence.phase = sequence.phase;
+    return (w+5);
+}
+
+
+
+void mask_dsp(t_mask *x, t_signal **sp)
+{
+    dsp_add(mask_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/npan~-help.pd b/externals/lyonpotpourri/npan~-help.pd
new file mode 100755
index 000000000..5ab3d6dea
--- /dev/null
+++ b/externals/lyonpotpourri/npan~-help.pd
@@ -0,0 +1,113 @@
+#N canvas 687 213 522 443 10;
+#X obj -38 157 npan~ 4;
+#X obj 1 124 phasor~ 0.2;
+#X obj -38 98 noise~;
+#X obj -37 298 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore -38 255 pd meter;
+#X obj 24 299 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 23 256 pd meter;
+#X obj 87 299 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 86 256 pd meter;
+#X obj 148 300 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 147 257 pd meter;
+#X obj -44 13 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 20 158 arg: number of outlets;
+#X text 80 97 Left inlet is sound to pan. Right inlet (ranging from
+0-1) determines perimeter pan location.;
+#X text -35 57 npan~ - perimeter panning for an arbitrary number of
+channel outputs, f 69;
+#X connect 0 0 4 0;
+#X connect 0 1 6 0;
+#X connect 0 2 8 0;
+#X connect 0 3 10 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 10 0 9 0;
diff --git a/externals/lyonpotpourri/npan~.c b/externals/lyonpotpourri/npan~.c
new file mode 100755
index 000000000..60aac986c
--- /dev/null
+++ b/externals/lyonpotpourri/npan~.c
@@ -0,0 +1,130 @@
+#include "MSPd.h"
+#define OBJECT_NAME "npan~"
+
+#define SPEAKERMAX (1024)
+
+static t_class *npan_class;
+
+
+typedef struct _npan
+{
+	t_object x_obj;
+	double pi_over_two;
+	double twopi;
+    float x_f;
+	int outcount;
+    t_float *input_locvec;
+    t_float *panner_locvec;
+} t_npan;
+
+void *npan_new(t_symbol *s, short argc, t_atom *argv);
+t_int *npan_perform(t_int *w);
+void npan_dsp(t_npan *x, t_signal **sp);
+void npan_free(t_npan *x);
+
+void npan_tilde_setup(void){
+    npan_class = class_new(gensym("npan~"), (t_newmethod)npan_new,
+                  (t_method)npan_free, sizeof(t_npan),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(npan_class, t_npan, x_f);
+    class_addmethod(npan_class, (t_method)npan_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *npan_new(t_symbol *s, short argc, t_atom *argv)
+{
+	t_npan *x;
+    x = (t_npan *)pd_new(npan_class);
+	int i;
+	x->outcount = (int) atom_getfloatarg(0, argc, argv);
+	if( x->outcount < 2 || x->outcount > SPEAKERMAX ){
+		
+		error("npan~: output count %d exceeded range limits of 2 to %d",x->outcount, SPEAKERMAX);
+        x->outcount = SPEAKERMAX;
+	}
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal")); // create 2nd inlet
+	for(i = 0; i < x->outcount; i++){
+		outlet_new(&x->x_obj, gensym("signal"));
+	}
+    x->input_locvec = (t_float *) calloc(8192, 1);
+    x->panner_locvec = (t_float *) calloc(8192, 1);
+    x->pi_over_two = 1.5707963267948965;
+	x->twopi = 6.283185307179586;
+	return x;
+}
+
+void npan_free(t_npan *x)
+{
+    free(x->panner_locvec);
+    free(x->input_locvec);
+}
+
+t_int *npan_perform(t_int *w)
+{
+    t_npan *x = (t_npan*) w[1];
+    int outcount = x->outcount;
+	t_float *input = (t_float*) w[2];
+	t_float *panner = (t_float*) w[3];
+    t_float *outlet1, *outlet2, *cleanoutlet;
+    t_float *input_locvec = x->input_locvec;
+    t_float *panner_locvec = x->panner_locvec;
+    
+	double gain1, gain2;
+	double insamp;
+	int chan1, chan2;
+	double panloc, frak;
+	int i,j;
+	
+	double pi_over_two = x->pi_over_two;
+    int n = (int) w[4 + outcount];
+	// copy inputs
+    for(i = 0; i < n; i++){
+        input_locvec[i] = input[i];
+        panner_locvec[i] = panner[i];
+    }
+	// clean all outlets
+	for( i = 0; i < outcount; i++ ){
+		cleanoutlet = (t_float*) w[4 + i];
+        for(j = 0; j < n; j++){
+            cleanoutlet[j] = 0.0;
+        }
+	}
+	for(i = 0; i < n; i++){
+        insamp = input_locvec[i];
+		panloc = panner_locvec[i];
+		if( panloc < 0 )
+			panloc = 0.0;
+		if( panloc >= 1 ) // wrap around (otherwise crash on outlet out of range)
+			panloc = 0.0;
+		panloc *= (double) outcount;
+		chan1 = floor( panloc );
+		chan2 = (chan1 + 1) % outcount;
+		frak = ( panloc - chan1 ) * pi_over_two;
+		gain1 = cos( frak );
+		gain2 = sin( frak );
+		outlet1 = (t_float*) w[chan1 + 4]; // add offset
+		outlet2 = (t_float*) w[chan2 + 4];
+		
+		outlet1[i] = insamp * gain1;
+		outlet2[i] = insamp * gain2;
+	}
+    return (w + outcount + 5);
+}
+
+void npan_dsp(t_npan *x, t_signal **sp)
+{
+	long i;
+    t_int **sigvec;
+    int pointer_count = x->outcount + 4;
+    sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    dsp_addv(npan_perform, pointer_count, (t_int *) sigvec);
+    free(sigvec);
+}
+
diff --git a/externals/lyonpotpourri/oscil~-help.pd b/externals/lyonpotpourri/oscil~-help.pd
new file mode 100755
index 000000000..05efe2dcd
--- /dev/null
+++ b/externals/lyonpotpourri/oscil~-help.pd
@@ -0,0 +1,84 @@
+#N canvas 241 327 452 381 10;
+#X floatatom 134 164 5 0 0 2 frequency oscil-frequency-in -, f 5;
+#X obj -59 312 dac~;
+#N canvas 0 22 639 421 built-in-waveforms 0;
+#X obj 121 344 outlet;
+#X msg 135 88 square;
+#X msg 186 89 triangle;
+#X msg 254 89 buzz;
+#X msg 299 89 sine;
+#X msg 26 43 harmcount \$1;
+#X floatatom 26 23 5 0 0 0 - - -, f 5;
+#X msg 343 88 sawtooth;
+#X msg 374 221 harmcount \$1;
+#X floatatom 324 175 5 0 0 0 - - -, f 5;
+#X obj 324 195 t b f;
+#X msg 324 219 buzz;
+#X obj 327 154 hsl 40 15 1 40 0 0 empty empty empty -2 -6 0 8 -36928
+-1 -1 0 1;
+#X text 131 69 band-limited waveforms;
+#X text 325 133 or do it dynamically;
+#X msg 272 312 fadetime 50;
+#X text 236 295 make sure your fade time is short for fast changes
+;
+#X text 118 45 set how many harmonics in bl waveforms;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 8 0;
+#X connect 11 0 0 0;
+#X connect 12 0 9 0;
+#X connect 15 0 0 0;
+#X restore -59 73 pd built-in-waveforms;
+#X obj -59 221 oscil~ 220 8192 square 16;
+#X floatatom 147 228 5 0 0 0 - - -, f 5;
+#X msg -15 134 fadetime 5000;
+#X msg 1 163 fadetime 50;
+#X obj 150 209 hsl 128 15 0 0.7 0 0 empty empty gain -2 -6 0 8 -261836
+-1 -1 0 1;
+#N canvas 0 22 470 320 user-waveforms 0;
+#X msg 105 81 0 0 0.1 0 0.25 0.5 0 0 0.3 0.1 0.05;
+#X obj 105 230 outlet;
+#X msg 120 107 0 0.1 0.3 0 0 0 0 0.5 0 0 0.7 0 0 0.2 0.1;
+#X msg 130 129 0 0.1 0.1 1 1 0.1 0.1;
+#X msg 140 151 0 1 0.5 0.25 0.125 0.0625;
+#X text 45 33 list relative weights of harmonics \, starting with DC
+;
+#X msg 145 198 0 1;
+#X text 171 199 this is a sine;
+#X connect 0 0 1 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 6 0 1 0;
+#X restore -50 95 pd user-waveforms;
+#X text -19 118 waveform interpolation;
+#X obj -64 12 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text -61 42 oscil~ - an oscillator with arbitrary waveforms \, length
+and crossfade between different waveforms;
+#N canvas 0 22 450 300 initialize 0;
+#X obj 78 90 loadbang;
+#X msg 78 113 220;
+#X obj 78 148 s oscil-frequency-in;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore -2 303 pd initialize;
+#X obj -59 250 *~ 0.02;
+#X connect 0 0 3 0;
+#X connect 2 0 3 0;
+#X connect 3 0 13 0;
+#X connect 4 0 13 1;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 4 0;
+#X connect 8 0 3 0;
+#X connect 13 0 1 0;
+#X connect 13 0 1 1;
diff --git a/externals/lyonpotpourri/oscil~.c b/externals/lyonpotpourri/oscil~.c
new file mode 100755
index 000000000..88dd3abb1
--- /dev/null
+++ b/externals/lyonpotpourri/oscil~.c
@@ -0,0 +1,789 @@
+#include "MSPd.h"
+#include "string.h"
+
+/**/
+// NOTE: MUST PREVENT WAVEFORM UPDATE IF ALREADY IN PROGRESS
+
+// 7.23.04 adding bandlimited harmonic count
+// 9.2.04 fixed cross fade amplitude bug
+// 1.14.06 added apwave message for amp/phase creation
+
+#define OSCIL_MAXIMUM_HARMONICS (1024)
+#define OSCIL_DEFAULT_FLEN 8192
+#define OSCIL_MAX_FLEN 1048576
+#define OSCIL_MAX_HARMS 1024
+#define OSCIL_DEFAULT_HARMONICS 10
+#define OSCIL_INIT_FREQ 440.0
+#define OSCIL_DEFAULT_WAVEFORM "sine"
+#define OSCIL_NOFADE 0
+#define OSCIL_LINEAR 1
+#define OSCIL_POWER 2
+
+#define OBJECT_NAME "oscil~"
+#define REV "2.4.06"
+
+
+static t_class *oscil_class;
+
+typedef struct _oscil
+{
+    
+    t_object x_obj;
+    float x_f;
+	int table_length;
+	float *wavetable;
+	int harmonic_count;
+	float *harmonic_weights;
+	float *harmonic_phases;
+	double phase;
+	double phase_offset;
+	double si_factor;
+	double si;
+	int bl_harms;
+	float piotwo;
+	float twopi;
+	float sr;
+	short mute;
+	short connected[4];
+	float *old_wavetable;
+	short dirty;
+	float fade_ms;
+	int fade_samples;
+	int fade_countdown;
+	short fadetype;
+	short firsttime;
+	short fade_in_progress;
+	short interpolate; // flag for synthesis method
+    
+} t_oscil;
+
+void *oscil_new(t_symbol *s, short argc, t_atom *argv);
+static t_int *oscil_perform(t_int *w);
+void oscil_dsp(t_oscil *x, t_signal **sp);
+void build_waveform(t_oscil *x);
+void build_amph_waveform(t_oscil *x);
+void oscil_mute(t_oscil *x, t_floatarg flag);
+void oscil_sine(t_oscil *x );
+void oscil_sawtooth(t_oscil *x);
+void oscil_square(t_oscil *x) ;
+void oscil_triangle(t_oscil *x);
+void oscil_buzz(t_oscil *x );
+void oscil_list (t_oscil *x, t_symbol *msg, short argc, t_atom *argv);
+void oscil_fadetime (t_oscil *x, t_floatarg fade_ms) ;
+void oscil_fadetype(t_oscil *x, t_floatarg ftype);
+void oscil_harmcount(t_oscil *x, t_floatarg harms);
+void oscil_interpolate(t_oscil *x, t_floatarg tog);
+void oscil_dsp_free(t_oscil *x);
+void oscil_amph(t_oscil *x, t_symbol *msg, short argc, t_atom *argv);
+t_int *oscil_perform_interpolate(t_int *w);
+
+
+void oscil_tilde_setup(void)
+{
+    oscil_class = class_new(gensym("oscil~"), (t_newmethod)oscil_new,
+                            (t_method)oscil_dsp_free ,sizeof(t_oscil), 0, A_GIMME,0);
+    CLASS_MAINSIGNALIN(oscil_class, t_oscil, x_f );
+    class_addmethod(oscil_class, (t_method)oscil_dsp, gensym("dsp"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_mute, gensym("mute"), A_DEFFLOAT,0);
+    class_addmethod(oscil_class, (t_method)oscil_sine, gensym("sine"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_triangle, gensym("triangle"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_square, gensym("square"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_sawtooth, gensym("sawtooth"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_buzz, gensym("buzz"), 0);
+    class_addmethod(oscil_class, (t_method)oscil_list, gensym("list"), A_GIMME, 0);
+    class_addmethod(oscil_class, (t_method)oscil_amph, gensym("amph"), A_GIMME, 0);
+    class_addmethod(oscil_class, (t_method)oscil_fadetype, gensym("fadetype"), A_FLOAT, 0);
+    class_addmethod(oscil_class, (t_method)oscil_fadetime, gensym("fadetime"), A_FLOAT, 0);
+    class_addmethod(oscil_class, (t_method)oscil_harmcount, gensym("harmcount"), A_FLOAT, 0);
+    class_addmethod(oscil_class, (t_method)oscil_interpolate, gensym("interpolate"), A_FLOAT, 0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void oscil_list (t_oscil *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	short i;
+	int harmonic_count = 0;
+	float *harmonic_weights = x->harmonic_weights;
+	for (i=0; i < argc; i++) {
+		harmonic_weights[harmonic_count] = atom_getfloatarg(i, argc, argv);
+		++harmonic_count;
+	}
+	x->harmonic_count = harmonic_count ;
+	build_waveform(x);
+}
+
+void oscil_amph(t_oscil *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	short i;
+	int harmonic_count = 0;
+	float *harmonic_weights = x->harmonic_weights;
+	float *harmonic_phases = x->harmonic_phases;
+	if(argc < 1){
+		return;
+	}
+	/* DC */
+	harmonic_weights[0] = atom_getfloatarg(0, argc, argv);
+	harmonic_phases[0] = 0;
+	
+	harmonic_count = 1;
+	for (i=1; i < argc; i += 2) {
+		harmonic_weights[harmonic_count] = atom_getfloatarg(i, argc, argv);
+		harmonic_phases[harmonic_count] = atom_getfloatarg(i+1, argc, argv);
+		++harmonic_count;
+	}
+	x->harmonic_count = harmonic_count ;
+	build_amph_waveform(x);
+}
+
+
+void oscil_fadetime (t_oscil *x, t_floatarg fade_ms)
+{
+	if(x->fade_countdown) {
+		error("oscil: crossfade in progress, cannot update fade time");
+		return;
+	}
+	if( fade_ms < 0.0 || fade_ms > 60000.0 ){
+		error("%s: %f is not a good fade time",OBJECT_NAME, fade_ms);
+		fade_ms = 50.;
+	}
+	x->fade_ms = fade_ms;
+	x->fade_samples = x->fade_ms * x->sr / 1000.0 ;
+}
+
+void oscil_fadetype(t_oscil *x, t_floatarg ftype)
+{
+    
+	if( ftype < 0 || ftype > 2 ) {
+		error("%s: unknown type of fade, selecting no fade",OBJECT_NAME);
+		ftype = 0;
+	}
+	x->fadetype = ftype;
+}
+
+void oscil_harmcount(t_oscil *x, t_floatarg harms)
+{
+    
+	if( harms < 1 || harms > OSCIL_MAXIMUM_HARMONICS-1) {
+		error("%d is out of range and must be between 1 to %d", harms,OSCIL_MAXIMUM_HARMONICS-1 );
+		return;
+	}
+	x->bl_harms = harms + 1;
+}
+
+void oscil_mute(t_oscil *x, t_floatarg flag)
+{
+	x->mute = (short)flag;
+}
+
+void oscil_interpolate(t_oscil *x, t_floatarg flag)
+{
+	x->interpolate = (short)flag;
+    //	post("must toggle DACs for this synthesis method");
+}
+
+
+void *oscil_new(t_symbol *s, short argc, t_atom *argv)
+{
+	float init_freq;
+	t_symbol *init_waveform_symbol;
+
+    t_oscil *x = (t_oscil *)pd_new(oscil_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"), gensym("signal") );
+    outlet_new(&x->x_obj, gensym("signal") );
+    
+    /*
+     SET DEFAULTS IN ADVANCE
+     added 4.14.2003
+     */
+    
+    init_freq = OSCIL_INIT_FREQ;
+    x->table_length = OSCIL_DEFAULT_FLEN;
+    init_waveform_symbol = gensym(OSCIL_DEFAULT_WAVEFORM);
+    x->bl_harms = OSCIL_DEFAULT_HARMONICS;
+    x->table_length = OSCIL_DEFAULT_FLEN ;
+    x->phase_offset = 0.0;
+    x->interpolate = 0;
+    
+    if( argc > 0 ){
+        init_freq = atom_getfloatarg(0, argc, argv);
+        if( ! init_freq ){
+            error("%s: zero initial frequency, resetting to 440",OBJECT_NAME);
+            init_freq = 440 ;
+        }
+        
+    }
+    if( argc > 1 ){
+        x->table_length = atom_getfloatarg(1, argc, argv);
+        //    post("table length is %d", x->table_length );
+    }
+    if( argc > 2 ){
+        init_waveform_symbol = atom_getsymbolarg(2, argc, argv);
+    } else {
+        init_waveform_symbol = gensym( OSCIL_DEFAULT_WAVEFORM );
+        
+    }
+    
+    if( argc > 3 ) {
+        x->bl_harms = atom_getfloatarg(3, argc, argv);
+        if( x->bl_harms > 1024 ){
+            error("%s: too many harmonics - limit is 1024",OBJECT_NAME);
+            x->bl_harms = 1024;
+        }
+    }
+    else {
+        x->bl_harms = OSCIL_DEFAULT_HARMONICS ;
+    }
+    
+    if( x->table_length < 4 ){
+        x->table_length = OSCIL_DEFAULT_FLEN ;
+    }
+    if( x->table_length > OSCIL_MAX_FLEN ){
+        x->table_length = OSCIL_MAX_FLEN;
+        error("%s: Exceeded maximum - setting function length to %d",OBJECT_NAME,OSCIL_MAX_FLEN);
+    } if( x->bl_harms < 1 || x->bl_harms > OSCIL_MAXIMUM_HARMONICS ){
+        x->bl_harms = OSCIL_DEFAULT_HARMONICS ;
+        error("%s: Bad parameters. Bandlimited waveforms will have %d partials.",
+              OBJECT_NAME,OSCIL_DEFAULT_HARMONICS);
+    }
+    
+    
+	x->fade_in_progress = 0;
+    
+	x->bl_harms = x->bl_harms + 1;
+	x->piotwo = 2. * atan(1.0);
+	x->twopi = 8.0 * atan(1.0);
+    
+	
+	x->old_wavetable = (float *) t_getbytes( x->table_length * sizeof(float) );
+    
+	x->wavetable = (float *) t_getbytes( x->table_length * sizeof(float) );
+	x->harmonic_weights = (float *) t_getbytes( OSCIL_MAXIMUM_HARMONICS * sizeof(float) );
+	x->harmonic_phases = (float *) t_getbytes( OSCIL_MAXIMUM_HARMONICS * sizeof(float) );
+	x->phase = 0;
+	x->mute = 0;
+	x->dirty = 0;
+	x->sr = sys_getsr();
+	if( ! x->sr ){
+		x->sr = 44100;
+		error("zero sampling rate - set to 44100");
+	}
+	x->si_factor = (float) x->table_length / x->sr;
+	x->si = init_freq * x->si_factor ;
+	x->fade_countdown = 0;
+	x->fade_ms = 50. ;
+	x->fade_samples = x->fade_ms * x->sr / 1000.0 ;
+	x->fadetype = OSCIL_LINEAR;
+    
+	x->firsttime = 1;
+	
+	if (init_waveform_symbol == gensym("triangle")) {
+		oscil_triangle( x );
+	} else if (init_waveform_symbol == gensym("square")) {
+		oscil_square( x );
+	} else if (init_waveform_symbol == gensym("sawtooth")) {
+		oscil_sawtooth( x );
+	} else if (init_waveform_symbol == gensym("buzz")) {
+		oscil_buzz( x );
+	} else { // default to sine wave
+		oscil_sine( x );
+	}
+    
+	x->firsttime = 0;
+    
+	// post("Additive synthesis oscil [4.14.2003a] (as described in Audio Programming)");
+    
+    return (x);
+}
+
+void build_amph_waveform( t_oscil *x )
+{
+	float rescale;
+	int i, j;
+	float max = 0.0;
+	float *wavetable = x->wavetable;
+	float *old_wavetable = x->old_wavetable;
+	float *harmonic_weights = x->harmonic_weights;
+	float *harmonic_phases = x->harmonic_phases;
+	int harmonic_count = x->harmonic_count;
+	int table_length = x->table_length;
+	float twopi = x->twopi;
+    //	float testsum = 0.0;
+	float addphase;
+    
+	if( x->fade_in_progress ){
+		// error("Crossfade in progress. Cannot generate waveform");
+		// do not use because this will happen too often
+		return;
+	}
+	
+    
+	if( harmonic_count < 1 ){
+		error("%s: no harmonics specified, waveform not created.",OBJECT_NAME);
+		return;
+	}
+	
+	if( x->fadetype && ! x->firsttime ){
+		x->fade_countdown = x->fade_samples;
+		x->fade_in_progress = 1;
+	}
+	/*
+     for( i = 0; i < table_length ; i++ ){
+     old_wavetable[i] = wavetable[i];
+     }
+     */
+	memcpy(old_wavetable, wavetable, table_length * sizeof(float) );
+    
+	x->dirty = 1 ;
+	
+	// add DC in directly (usually 0.0)
+	for( i = 0; i < table_length; i++ ){
+		wavetable[i] = harmonic_weights[0];
+	}
+	// sum all specified harmonics
+	for( i = 1 ; i < harmonic_count; i++ ){
+		if( harmonic_weights[i] ){
+			addphase = twopi * harmonic_phases[i];
+            //			post("amp %f phase %f twopi phase %f",harmonic_weights[i],harmonic_phases[i],addphase);
+			for( j = 0; j < table_length; j++ ){
+				wavetable[j] +=
+                harmonic_weights[i] * sin( twopi * ((float)i * ((float)j/(float)table_length)) + addphase ) ;
+			}
+		}
+	}
+	// determine maximum amplitude.
+	max = 0;
+	for( j = 0; j < table_length; j++ ){
+		if( max < fabs(wavetable[j]) ){
+			max = fabs(wavetable[j]) ;
+		}
+	}
+	// restore last table
+	if( max == 0.0 ){
+		for( j = 0; j < table_length; j++ ){
+			wavetable[j] = old_wavetable[j];
+		}
+		error("all zero function ignored");
+		x->dirty = 0;
+		return;
+	}
+	// normalize waveform to maximum amplitude of 1.0
+	rescale = 1.0 / max ;
+    
+	for( j = 0; j < table_length; j++ ){
+		wavetable[j] *= rescale ;
+	}
+	x->dirty = 0;
+}
+
+void build_waveform( t_oscil *x ) {
+	float rescale;
+	int i, j;
+	float max = 0.0;
+	float *wavetable = x->wavetable;
+	float *old_wavetable = x->old_wavetable;
+	float *harmonic_weights = x->harmonic_weights;
+	int harmonic_count = x->harmonic_count;
+	int table_length = x->table_length;
+	float twopi = x->twopi;
+    //	float testsum = 0.0;
+    
+	if( x->fade_in_progress ){
+		// error("Crossfade in progress. Cannot generate waveform");
+		// do not use because this will happen too often
+		return;
+	}
+	
+    
+	if( harmonic_count < 1 ){
+		error("no harmonics specified, waveform not created.");
+		return;
+	}
+	
+	if( x->fadetype && ! x->firsttime ){
+		x->fade_countdown = x->fade_samples;
+		x->fade_in_progress = 1;
+	}
+	/*
+     for( i = 0; i < table_length ; i++ ){
+     old_wavetable[i] = wavetable[i];
+     }
+     */
+	memcpy(old_wavetable, wavetable, table_length * sizeof(float) );
+	
+	x->dirty = 1 ;
+	
+	// add DC in directly (usually 0.0)
+	for( i = 0; i < table_length; i++ ){
+		wavetable[i] = harmonic_weights[0];
+	}
+	// sum all specified harmonics
+	for( i = 1 ; i < harmonic_count; i++ ){
+		if( harmonic_weights[i] ){
+			for( j = 0; j < table_length; j++ ){
+				wavetable[j] += harmonic_weights[i] * sin( twopi * ( (float) i * ((float) j /(float)table_length)) ) ;
+			}
+		}
+	}
+	// determine maximum amplitude. Since waveform is symmetric, we could only look for positive maximum.
+	max = 0;
+	for( j = 0; j < table_length; j++ ){
+		if( max < fabs(wavetable[j]) ){
+			max = fabs(wavetable[j]) ;
+		}
+	}
+	// restore last table
+	if( max == 0.0 ){
+		for( j = 0; j < table_length; j++ ){	// could use memcpy here
+			wavetable[j] = old_wavetable[j];
+		}
+		error("all zero function ignored");
+		x->dirty = 0;
+		return;
+	}
+	// normalize waveform to maximum amplitude of 1.0
+	rescale = 1.0 / max ;
+    
+	for( j = 0; j < table_length; j++ ){
+		wavetable[j] *= rescale ;
+	}
+	x->dirty = 0;
+}
+
+// interpolation
+t_int *oscil_perform_interpolate(t_int *w)
+{
+	t_oscil *x = (t_oscil *) (w[1]);
+	t_float *freq_vec = (t_float *)(w[2]);
+	t_float *phase_vec = (t_float *)(w[3]);
+	t_float *out = (t_float *)(w[4]);
+	int n = (int) w[5];
+    
+	double si_factor = x->si_factor;
+	double si = x->si ;
+	double phase = x->phase;
+	double phase_offset = x->phase_offset;
+	int table_length = x->table_length;
+	float *wavetable = x->wavetable;
+	float *old_wavetable = x->old_wavetable;
+	short *connected = x->connected ;
+	int fade_countdown = x->fade_countdown;
+	int iphase, iphase2;
+	int fade_samples = x->fade_samples;
+	short fadetype = x->fadetype;
+	float m1, m2;
+	float frac;
+	double fphase;
+	float sample1, sample2, outsamp1, outsamp2;
+	
+	float piotwo = x->piotwo;
+	
+	if( x->mute ){
+		while (n--) {
+			*out++ = 0.0;
+		}
+		return (w+6);
+	}
+	/* interpolated loop */
+	if(x->interpolate){
+		while (n--) {
+			if(connected[0])
+				si = *freq_vec++ * si_factor;
+			
+			if(connected[1]){
+				phase_offset = (float)table_length * *phase_vec++;
+                
+			}
+            
+			fphase = (phase + phase_offset);
+			while( fphase >= table_length ) {
+				fphase -= table_length;
+			}
+			while( fphase < 0 ) {
+				fphase += table_length;
+			}
+			
+			iphase = floor(fphase);
+			iphase2 = (iphase+1)%table_length ;
+			frac = fphase - iphase;
+			
+			
+			if( x->dirty ){
+				sample1 = old_wavetable[ iphase ];
+				sample2 = old_wavetable[ iphase2 ];
+				*out++ = sample1 + frac * (sample2 - sample1);
+			}
+			else if( fade_countdown ){
+                
+				sample1 = wavetable[ iphase ];
+				sample2 = wavetable[ iphase2 ];
+				outsamp1 = sample1 + frac * (sample2 - sample1);
+                
+				sample1 = old_wavetable[ iphase ];
+				sample2 = old_wavetable[ iphase2 ];
+				outsamp2 = sample1 + frac * (sample2 - sample1);
+                
+				m2 = (float) fade_countdown / (float) fade_samples ;
+				m1 = 1.0 - m2 ;
+				--fade_countdown;
+				if( fadetype == 1 ){
+					*out++ = m1 * outsamp1 + m2 * outsamp2 ;
+				}
+				else if( fadetype == 2 ) {
+					m1 *= piotwo;
+					*out++ = sin(m1) * outsamp1 + cos(m1) * outsamp2;
+				}
+			} else {
+				sample1 = wavetable[ iphase ];
+				sample2 = wavetable[ iphase2 ];
+				*out++ = sample1 + frac * (sample2 - sample1) ;
+			}
+            
+            
+			phase += si;
+			while( phase >= table_length ) {
+				phase -= table_length ;
+			}
+			while( phase < 0 ) {
+				phase += table_length ;
+			}
+            
+		}
+	}
+    
+    /* non-interpolated loop */
+	else {
+		while (n--) {
+			if(connected[0])
+				si = *freq_vec++ * si_factor;
+			
+			if(connected[1]){
+				phase_offset = (float)table_length * *phase_vec++;
+                
+			}
+            
+			iphase = (int)(phase + phase_offset);
+			while( iphase >= table_length ) {
+				iphase -= table_length;
+			}
+			while( iphase < 0 ) {
+				iphase += table_length;
+			}
+			
+			if( x->dirty ){
+				*out++ = old_wavetable[ iphase ] ;
+			}
+			else if( fade_countdown ){
+				m2 = (float) fade_countdown / (float) fade_samples ;
+				m1 = 1.0 - m2 ;
+				--fade_countdown;
+				if( fadetype == 1 ){
+					*out++ = m1 * wavetable[iphase] + m2 * old_wavetable[ iphase ] ;
+				}
+				else if( fadetype == 2 ) {
+					m1 *= piotwo;
+					*out++ = sin(m1) * wavetable[iphase] + cos(m1) * old_wavetable[ iphase ] ;
+				}
+			} else {
+				*out++ = wavetable[ iphase ] ;
+			}
+            
+            
+			phase += si;
+			while( phase >= table_length ) {
+				phase -= table_length ;
+			}
+			while( phase < 0 ) {
+				phase += table_length ;
+			}
+            
+		}
+	}
+    
+	if( ! fade_countdown ){
+		x->fade_in_progress = 0;
+	}
+	x->fade_countdown = fade_countdown;
+    x->phase = phase;
+    x->phase_offset = phase_offset;
+	return (w+6);
+}
+
+
+static t_int *oscil_perform(t_int *w)
+{
+	t_oscil *x = (t_oscil *) (w[1]);
+	t_float *freq_vec = (t_float *)(w[2]);
+	t_float *phase_vec = (t_float *)(w[3]);
+	t_float *out = (t_float *)(w[4]);
+	int n = (int) w[5];
+    
+	double si_factor = x->si_factor;
+	double si = x->si ;
+	double phase = x->phase;
+	double phase_offset = x->phase_offset;
+	int table_length = x->table_length;
+	float *wavetable = x->wavetable;
+	float *old_wavetable = x->old_wavetable;
+	short *connected = x->connected ;
+	int fade_countdown = x->fade_countdown;
+	int iphase;
+	int fade_samples = x->fade_samples;
+	short fadetype = x->fadetype;
+	float m1, m2;
+	float piotwo = x->piotwo;
+	
+	if( x->mute ){
+		while (n--) {
+			*out++ = 0.0;
+		}
+		return (w+6);
+	}
+	
+	while (n--) {
+		if(connected[0])
+			si = *freq_vec++ * si_factor;
+		
+		if(connected[1]){
+			phase_offset = (float)table_length * *phase_vec++;
+            
+		}
+        
+		iphase = (int)(phase + phase_offset);
+		while( iphase >= table_length ) {
+			iphase -= table_length;
+		}
+		while( iphase < 0 ) {
+			iphase += table_length;
+		}
+		
+		if( x->dirty ){
+			*out++ = old_wavetable[ iphase ] ;
+		}
+		else if( fade_countdown ){
+			m2 = (float) fade_countdown / (float) fade_samples ;
+			m1 = 1.0 - m2 ;
+			--fade_countdown;
+			if( fadetype == 1 ){
+				*out++ = m1 * wavetable[iphase] + m2 * old_wavetable[ iphase ] ;
+			}
+			else if( fadetype == 2 ) {
+				m1 *= piotwo;
+				*out++ = sin(m1) * wavetable[iphase] + cos(m1) * old_wavetable[ iphase ] ;
+			}
+		} else {
+			*out++ = wavetable[ iphase ] ;
+		}
+        
+        
+		phase += si;
+		while( phase >= table_length ) {
+			phase -= table_length ;
+		}
+		while( phase < 0 ) {
+			phase += table_length ;
+		}
+        
+	}
+	if( ! fade_countdown ){
+		x->fade_in_progress = 0;
+	}
+	x->fade_countdown = fade_countdown;
+    x->phase = phase;
+    x->phase_offset = phase_offset;
+	return (w+6);
+}
+
+void oscil_sawtooth(t_oscil *x)
+{
+    int i;
+    float sign = 1.0;
+    
+	x->harmonic_weights[0] = 0.0; // DC
+	x->harmonic_count = x->bl_harms;
+	for( i = 1 ; i < x->bl_harms; i++ ){
+		x->harmonic_weights[i] = sign * 1.0/(float)i;
+		sign *= -1. ;
+	}
+	build_waveform(x);
+}
+void oscil_triangle(t_oscil *x)
+{
+    int i;
+    float sign = 1.0;
+	x->harmonic_weights[0] = 0.0; // DC
+	x->harmonic_count = x->bl_harms;
+	for( i = 1 ; i < x->bl_harms; i += 2 ){
+		x->harmonic_weights[i] = sign * 1.0/((float)i * (float)i);
+		x->harmonic_weights[i + 1] = 0.0;
+		sign *= -1;
+	}
+	build_waveform(x);
+}
+
+void oscil_sine(t_oscil *x)
+{
+	x->harmonic_weights[0] = 0.0;
+	x->harmonic_weights[1] = 1.0;
+	x->harmonic_count = 2;
+	build_waveform(x);
+}
+
+void oscil_square(t_oscil *x)
+{
+    int i;
+	x->harmonic_weights[0] = 0.0; // DC
+	x->harmonic_count = x->bl_harms;
+	for( i = 1 ; i < x->bl_harms  ; i += 2 ){
+		x->harmonic_weights[i] = 1.0/(float)i;
+		x->harmonic_weights[i + 1] = 0.0;
+	}
+	build_waveform(x);
+}
+
+void oscil_buzz(t_oscil *x)
+{
+    int i;
+	x->harmonic_weights[0] = 0.0;
+	x->harmonic_count = x->bl_harms;
+	for( i = 1 ; i < x->bl_harms; i++ ){
+		x->harmonic_weights[i] = 1.0;
+	}
+	build_waveform(x);
+}
+
+void oscil_dsp_free(t_oscil *x)
+{
+
+	t_freebytes(x->wavetable, x->table_length * sizeof(float));
+	t_freebytes(x->old_wavetable, x->table_length * sizeof(float));
+	t_freebytes(x->harmonic_weights, OSCIL_MAXIMUM_HARMONICS * sizeof(float));
+	t_freebytes(x->harmonic_phases, OSCIL_MAXIMUM_HARMONICS * sizeof(float));
+}
+
+void oscil_dsp(t_oscil *x, t_signal **sp)
+{
+	if(! x->sr ){
+		x->sr = 44100;
+	}
+	if( x->sr != sp[0]->s_sr ){
+		if(! sp[0]->s_sr){
+			error("oscil~: Zero sampling rate reported!");
+			return;
+		}
+		x->si *= sp[0]->s_sr / x->sr ;
+		x->sr = sp[0]->s_sr;
+		x->si_factor = (float) x->table_length / x->sr;	
+	}
+
+	x->connected[0] = 1;
+	x->connected[1] = 1; 
+
+	x->phase = 0.0;
+    
+	dsp_add(oscil_perform_interpolate, 5, x, 
+			sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+    
+	
+}
+
diff --git a/externals/lyonpotpourri/overlapadd.c b/externals/lyonpotpourri/overlapadd.c
new file mode 100755
index 000000000..beab0e091
--- /dev/null
+++ b/externals/lyonpotpourri/overlapadd.c
@@ -0,0 +1 @@
+/*
 * input I is a folded spectrum of length N; output O and
 * synthesis window W are of length Nw--overlap-add windowed,
 * unrotated, unfolded input data into output O
 */

#include "fftease.h"

void overlapadd( float *I, int N, float *W, float *O, int Nw, int n )

{
 int i ;
    while ( n < 0 )
	n += N ;
    n %= N ;
    for ( i = 0 ; i < Nw ; i++ ) {
	O[i] += I[n]*W[i] ;
	if ( ++n == N )
	    n = 0 ;
    }
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/pd-template.spec b/externals/lyonpotpourri/pd-template.spec
new file mode 100755
index 000000000..ce9b1b8dc
--- /dev/null
+++ b/externals/lyonpotpourri/pd-template.spec
@@ -0,0 +1,29 @@
+# This is a sample spec file for packaging Pd libraries
+
+#%define _topdir	 	/home/strike/mywget
+%define name		template 
+%define release		1
+%define version 	0.1
+%define buildroot %{_topdir}/%{name}-%{version}-root
+
+BuildRoot:	%{buildroot}
+Summary: 		replace me with a summary of your library
+License: 		GPL
+Name: 			%{name}
+Version: 		%{version}
+Release: 		%{release}
+Source: 		%{name}-%{version}.tar.gz
+Prefix: 		/usr
+Group: 			Development/Tools
+
+%description
+Replace me with a description of your library.
+
+%prep
+%setup -q
+
+%build
+make
+
+%install
+make install prefix=$RPM_BUILD_ROOT/usr
diff --git a/externals/lyonpotpourri/phasemod~-help.pd b/externals/lyonpotpourri/phasemod~-help.pd
new file mode 100755
index 000000000..b66561f47
--- /dev/null
+++ b/externals/lyonpotpourri/phasemod~-help.pd
@@ -0,0 +1,105 @@
+#N canvas 472 143 283 364 10;
+#X obj 18 113 phasemod~;
+#X obj 18 216 dac~;
+#X floatatom 18 87 5 0 0 2 freq frequency -, f 5;
+#X floatatom 78 86 5 0 0 2 phase phase -, f 5;
+#X obj 18 250 hsl 128 15 50 700 0 0 frequency phasemod-freq-in frequency
+-2 -6 0 8 -262017 -1 -1 2188 1;
+#X obj 19 280 hsl 128 15 0 30 0 0 phase phasemod-phase-in phase -2
+-6 0 8 -262017 -1 -1 6350 1;
+#X floatatom 73 184 5 0 0 2 gain phasemod-gain -, f 5;
+#N canvas 826 370 454 304 scope 0;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array phasemod-scope 441 float 3;
+#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0.000191748 0.000191748 0.000191748 0.000191748 0.000191748
+0.000191748 0.000191748 0.000191748 0.000191748 0.000191748 0.000191748
+0.000191748 0.000383495 0.000383495 0.000383495 0.000383495 0.000383495
+0.000383495 0.000383495 0.000383495 0.000575243 0.000575243 0.000575243
+0.000575243 0.000575243 0.00076699 0.00076699 0.00076699 0.00076699
+0.000958738 0.000958738 0.000958738 0.00115049 0.00115049 0.00115049
+0.00134223 0.00134223 0.00153398 0.00153398 0.00172573 0.00172573 0.00191747
+0.00191747 0.00210922 0.00210922 0.00230097 0.00249272 0.00268446 0.00268446
+0.00287621 0.00306796 0.0032597 0.00345145 0.0036432 0.00383494 0.00402669
+0.00441018 0.00460193 0.00479367 0.00517716 0.00536891 0.0057524 0.00613588
+0.00632763 0.00671112 0.0070946 0.00766983 0.00805331 0.00843679 0.00901202
+0.00939549 0.00997071 0.0105459 0.0111211 0.0118881 0.0124633 0.0132302
+0.0139971 0.014764 0.0155309 0.0164895 0.0174481 0.0184067 0.019557
+0.0205156 0.0218575 0.0230077 0.0243495 0.0256914 0.0272248 0.0287582
+0.0302915 0.0320164 0.0339328 0.0358491 0.0377653 0.0400645 0.0423635
+0.0446623 0.0471524 0.0498337 0.0527062 0.0557696 0.0588325 0.0622776
+0.065722 0.0693569 0.0733733 0.0775797 0.0819759 0.0865614 0.0915271
+0.0966813 0.102024 0.107935 0.113842 0.120317 0.127167 0.134391 0.141797
+0.149765 0.15829 0.167182 0.176627 0.186432 0.196783 0.207862 0.219475
+0.231618 0.244468 0.258016 0.272437 0.287347 0.303103 0.319684 0.33707
+0.355418 0.37452 0.394697 0.415732 0.437582 0.460539 0.484534 0.509325
+0.53516 0.561931 0.589521 0.617949 0.6472 0.677081 0.707513 0.738241
+0.769103 0.799998 0.830403 0.859988 0.888433 0.91514 0.939591 0.960963
+0.978634 0.991561 0.998833 0.999279 0.991685 0.974726 0.946971 0.907
+0.853461 0.784913 0.700158 0.598622 0.479494 0.343381 0.191139 0.025308
+-0.150712 -0.331287 -0.509655 -0.676516 -0.820993 -0.930486 -0.991636
+-0.991536 -0.91934 -0.76849 -0.539849 -0.244096 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0.000191748 0.000191748 0.000191748 0.000191748 0.000191748
+0.000191748 0.000191748 0.000191748 0.000191748 0.000191748 0.000191748
+0.000191748 0.000383495 0.000383495 0.000383495 0.000383495 0.000383495
+0.000383495 0.000383495 0.000383495 0.000575243 0.000575243 0.000575243
+0.000575243 0.000575243 0.00076699 0.00076699 0.00076699 0.00076699
+0.000958738 0.000958738 0.000958738 0.00115049 0.00115049 0.00115049
+0.00134223 0.00134223 0.00134223 0.00153398 0.00153398 0.00172573 0.00172573
+0.00191747 0.00210922 0.00210922 0.00230097 0.00249272 0.00249272 0.00268446
+0.00287621 0.00306796 0.0032597 0.00345145 0.0036432 0.00383494 0.00402669
+0.00421843 0.00460193 0.00479367 0.00498542 0.00536891 0.00556065 0.00594414
+0.00632763 0.00671112 0.0070946 0.00747809 0.00786157 0.00843679 0.00882027
+0.00939549 0.00997071 0.0103542 0.0111211 0.0116963 0.0122715 0.0130385
+0.0138054 0.0145723 0.0153392 0.0162978 0.0172564 0.018215 0.0191736
+0.0203238 0.0214741 0.0226243 0.0239662 0.025308 0.0268414 0.0283748
+0.0299082 0.0316331 0.0333579 0.0352742 0.0373821 0.0394897 0.0417888
+;
+#X coords 0 1 440 -1 200 140 1;
+#X restore 37 20 graph;
+#X obj 69 246 tabwrite~ phasemod-scope;
+#X obj 69 193 inlet~;
+#X obj 130 216 metro 100;
+#X obj 130 197 tgl 15 0 empty phasemod-scope-tog empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X text 154 201 turn on scope;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X restore 43 137 pd scope;
+#X obj 9 7 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 13 43 phasemod~ - a phase-modulated sinusoid;
+#N canvas 0 22 450 300 initialize 0;
+#X msg 75 106 162;
+#X msg 77 136 15;
+#X obj 31 73 loadbang;
+#X obj 127 124 s phasemod-freq-in;
+#X obj 119 168 s phasemod-phase-in;
+#X msg 97 212 0.1;
+#X obj 135 243 s phasemod-gain-in;
+#X msg 60 268 1;
+#X obj 131 278 s phasemod-scope-tog;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 0 5 0;
+#X connect 2 0 7 0;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X restore 157 252 pd initialize;
+#X obj 19 311 hsl 128 15 0 1 0 0 phasemod-gain phasemod-gain-in gain
+-2 -6 0 8 -262017 -1 -1 1270 1;
+#X text 112 133 <- look at waveform;
+#X obj 18 182 *~ 0.03;
+#X connect 0 0 7 0;
+#X connect 0 0 13 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 6 0 13 1;
+#X connect 13 0 1 0;
+#X connect 13 0 1 1;
diff --git a/externals/lyonpotpourri/phasemod~.c b/externals/lyonpotpourri/phasemod~.c
new file mode 100755
index 000000000..2bcb54c1b
--- /dev/null
+++ b/externals/lyonpotpourri/phasemod~.c
@@ -0,0 +1,167 @@
+#include "MSPd.h"
+#define FUNC_LEN (32768)
+#define OBJECT_NAME "phasemod~"
+
+
+static t_class *phasemod_class;
+
+
+typedef struct _phasemod
+{
+    
+    t_object x_obj;
+    float x_f;
+    t_float x_val;
+    float mygain;
+    float *wavetab;
+	float phs;
+	float bendphs;
+	float frequency;
+	float alpha;
+	short mute;
+	short connections[4];
+	float si_fac;
+	float sr;
+} t_phasemod;
+
+void *phasemod_new(t_symbol *s, int argc, t_atom *argv);
+t_int *offset_perform(t_int *w);
+t_int *phasemod_perform(t_int *w);
+void phasemod_float(t_phasemod *x, double f);
+void phasemod_int(t_phasemod *x, long n);
+void phasemod_mute(t_phasemod *x, t_floatarg toggle);
+void phasemod_dsp(t_phasemod *x, t_signal **sp);
+void phasemod_dsp_free(t_phasemod *x);
+
+void phasemod_tilde_setup(void){
+    phasemod_class = class_new(gensym("phasemod~"), (t_newmethod)phasemod_new,
+                               (t_method)phasemod_dsp_free,sizeof(t_phasemod), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(phasemod_class, t_phasemod, x_f);
+    class_addmethod(phasemod_class,(t_method)phasemod_dsp,gensym("dsp"),0);
+    class_addmethod(phasemod_class,(t_method)phasemod_mute,gensym("mute"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void phasemod_dsp_free( t_phasemod *x )
+{
+    free(x->wavetab);
+}
+
+void phasemod_mute(t_phasemod *x, t_floatarg toggle)
+{
+	x->mute = toggle;
+}
+void phasemod_assist (t_phasemod *x, void *b, long msg, long arg, char *dst)
+{
+	if (msg==1) {
+		switch (arg) {
+			case 0:
+				sprintf(dst,"(signal/float) Frequency ");
+				break;
+			case 1:
+				sprintf(dst,"(signal/float) Slope Factor ");
+				break;
+		}
+	} else if (msg==2) {
+		sprintf(dst,"(signal) Output ");
+	}
+}
+
+void *phasemod_new(t_symbol *s, int argc, t_atom *argv)
+{
+  	int i;
+    t_phasemod *x = (t_phasemod *)pd_new(phasemod_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->phs = 0;
+  	x->mute = 0;
+    x->frequency = 440.0;
+	
+    x->wavetab = (float *) calloc(FUNC_LEN, sizeof(float) );
+    for( i = 0 ; i < FUNC_LEN; i++ ) {
+    	x->wavetab[i] = sin( TWOPI * ((float)i/(float) FUNC_LEN)) ;
+    }
+    x->bendphs = 0;
+    x->sr = sys_getsr();
+    if(!x->sr)
+        x->sr = 44100.0;
+    x->si_fac = 1.0/x->sr;
+    return (x);
+}
+
+t_int *phasemod_perform(t_int *w)
+{
+    
+	float phs;
+	
+	t_phasemod *x = (t_phasemod *) (w[1]);
+	t_float *frequency_vec = (t_float *)(w[2]);
+	t_float *alpha_vec = (t_float *)(w[3]);
+	t_float *out = (t_float *)(w[4]);
+	int n = (int) w[5];
+	
+	short *connections = x->connections;
+	float bendphs = x->bendphs;
+	float *wavetab = x->wavetab;
+	float si_fac = x->si_fac;
+	
+	float incr = x->frequency * si_fac ;
+	float alpha = x->alpha;
+	
+	if( x->mute ){
+		while(n--){
+			*out++ = 0.0;
+		}
+		return (w + 6);
+	}
+	
+	while (n--) {
+		if( connections[1] ){
+			alpha = *alpha_vec++;
+		}
+		if( alpha == 0 ){
+			alpha = .000001;
+		}
+		
+		if( connections[0] ){
+			incr = *frequency_vec++ * si_fac ;
+		}
+		// NO NEGATIVE FREQUENCIES
+		if( incr < 0 )
+			incr = -incr;
+        
+		bendphs += incr ;
+		while( bendphs > 1.0 )
+			bendphs -= 1.0 ;
+        phs =   FUNC_LEN * ( (1 - exp(bendphs * alpha))/(1 - exp(alpha))  );
+        
+		while( phs < 0.0 ) {
+			phs += FUNC_LEN;
+		}
+		while( phs >= FUNC_LEN ){
+			phs -= FUNC_LEN;
+		}
+		*out++ =  wavetab[(int) phs] ;
+	}
+    
+	x->bendphs = bendphs;
+	return (w+6);
+}
+
+void phasemod_dsp(t_phasemod *x, t_signal **sp)
+{
+
+	x->connections[0] = 1;
+	x->connections[1] = 1;
+    
+	if(x->sr != sp[0]->s_sr){
+		if(!sp[0]->s_sr){
+			error("zero sampling rate");
+			return;
+		}
+		x->sr = sp[0]->s_sr;
+		x->si_fac = 1.0/x->sr;
+	}
+	dsp_add(phasemod_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,  sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/player~-help.pd b/externals/lyonpotpourri/player~-help.pd
new file mode 100755
index 000000000..b18b66b79
--- /dev/null
+++ b/externals/lyonpotpourri/player~-help.pd
@@ -0,0 +1,129 @@
+#N canvas 428 168 584 467 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array sf4player 14274 float 2;
+#X coords 0 1 14274 -1 200 140 1;
+#X restore 358 63 graph;
+#X obj 26 344 dac~;
+#N canvas 113 308 712 535 load-a-sound 0;
+#X obj 49 170 soundfiler;
+#X obj 49 119 openpanel;
+#X obj 49 92 inlet;
+#X msg 49 142 read -resize \$1 sf4player;
+#X msg 339 115 read -resize sound/bell.aiff sf4player;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X restore 133 390 pd load-a-sound;
+#X obj 133 333 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 286 190 5 0 0 0 - increment -, f 5;
+#X obj 266 424 hsl 128 15 -2 2 0 0 increment empty increment -2 -6
+0 10 -143299 -1 -1 1800 1;
+#N canvas 144 217 774 527 triggers 0;
+#X obj 93 107 samm~ 60 1;
+#X msg 93 79 mute \$1;
+#X obj 93 46 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 36 253 outlet~;
+#X msg 208 113 bang;
+#X msg 205 72 tempo \$1;
+#X floatatom 205 52 5 0 0 0 - - -, f 5;
+#X obj 208 25 hsl 128 15 20 200 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 244 115 manual play;
+#X text 111 48 stop metro;
+#X obj 169 250 loadbang;
+#X msg 169 274 1;
+#X obj 169 296 s increment;
+#X obj 353 344 outlet~;
+#X obj 353 283 clickhold~;
+#X obj 37 185 mask~ 1 0.7 0.5 0.3 0.1;
+#X obj 353 228 mask~ 1 3 2 4;
+#X obj 208 138 click~;
+#X connect 0 0 15 0;
+#X connect 0 0 16 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 17 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 3 0;
+#X connect 16 0 14 0;
+#X connect 17 0 3 0;
+#X restore 58 181 pd triggers;
+#X msg 26 161 static_increment \$1;
+#X obj 26 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#N canvas 184 101 652 543 Learn-About-Me 0;
+#X text 30 61 (up to 8 simultaneous plays) so that;
+#X text 30 83 if you retrigger before the last play;
+#X text 33 104 is done \, the tail of the sound does;
+#X text 33 127 not get cut off abruptly.;
+#X text 31 41 other players \, player~ allows overlap;
+#X text 42 176 By default you have continuous control;
+#X text 42 215 the right inlet.) This increment controls;
+#X text 42 233 ALL currently active playbacks. If you;
+#X text 43 255 want independent playback (say a drum;
+#X text 42 277 machine with different increments on;
+#X text 45 301 each note) then turn on "static_increment.";
+#X text 46 328 Then you lose direct control over increment -;
+#X text 45 372 is constant. But then you can have multiple notes;
+#X text 45 398 playing at different increments.;
+#X text 29 22 player~ plays sound from an array. Unlike;
+#X text 40 194 over the sound increment (the input to;
+#X text 44 437 player~ is sample-triggered \, which means it can;
+#X text 46 461 be controlled with a sample-accurate metronome;
+#X text 48 482 such as samm~. This can make for a much more steady
+;
+#X text 46 504 rhythm then using metro.;
+#X text 44 351 whatever increment is set at the onset of each note
+;
+#X restore 130 423 pd Learn-About-Me;
+#X text 177 348 do this before turning on DACs;
+#X text 161 330 <- first load in a short sound (recommend 1-5 secs.)
+;
+#X floatatom 63 303 5 0 0 0 - player-gain -, f 5;
+#X obj 26 321 *~ 0.2;
+#X obj 266 396 hsl 128 15 0 1 0 0 player-gain player-gain-in gain -2
+-8 0 10 -260987 -1 -1 0 1;
+#X obj 26 91 loadbang;
+#X obj 286 211 sig~;
+#X obj 170 234 clean_selector~ 2;
+#X obj 170 182 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 170 205 channel \$1;
+#X obj 9 7 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 26 276 player~ sf4player 1 8;
+#N canvas 0 22 450 300 initialize 0;
+#X obj 164 103 s phasemod-scope-tog;
+#X obj 153 36 loadbang;
+#X msg 154 62 0.1;
+#X connect 1 0 2 0;
+#X restore 26 387 pd initialize;
+#X msg 26 112 1;
+#X text 47 137 set this for fixed increments (and polyphony);
+#X text 13 53 player~ - click-driven sample-accurate array playback
+;
+#X text 169 275 args: channel count \, overlap count, f 38;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 6 0 21 0;
+#X connect 6 1 17 0;
+#X connect 7 0 21 0;
+#X connect 8 0 7 0;
+#X connect 12 0 13 1;
+#X connect 13 0 1 0;
+#X connect 13 0 1 1;
+#X connect 15 0 23 0;
+#X connect 16 0 17 1;
+#X connect 17 0 21 1;
+#X connect 18 0 19 0;
+#X connect 19 0 17 0;
+#X connect 21 0 13 0;
+#X connect 23 0 8 0;
diff --git a/externals/lyonpotpourri/player~.c b/externals/lyonpotpourri/player~.c
new file mode 100755
index 000000000..dee10cd60
--- /dev/null
+++ b/externals/lyonpotpourri/player~.c
@@ -0,0 +1,522 @@
+#include "MSPd.h"
+
+static t_class *player_class;
+
+
+#include "time.h"
+#include "stdlib.h"
+
+#define MAX_CHANNELS (1)
+#define DEFAULT_MAX_OVERLAP (8) // number of overlapping instances allowed
+#define FORWARD 1
+#define BACKWARD 2
+#define ACTIVE 0
+#define INACTIVE 1
+#define MAX_VEC 2048
+
+#define MAXIMUM_VECTOR (8192)
+
+#define OBJECT_NAME "player~"
+#define COMPILE_DATE "7.3.06"
+
+typedef struct
+{
+	float phase; // current phase in frames
+	float gain; // gain for this note
+	short status;// status of this event slot
+		float increment;// first increment noted (only if using static increments)
+			
+} t_event;
+
+typedef struct _player
+{
+
+	t_object x_obj;
+	float x_f;
+	t_symbol *wavename; // name of waveform buffer
+	float sr; // sampling rate
+	short hosed; // buffers are bad
+	float fadeout; // fadeout time in sample frames (if truncation)
+	float sync; // input from groove sync signal
+	float increment; // read increment
+	short direction; // forwards or backwards
+	int most_recent_event; // position in array where last note was initiated
+	long b_nchans; // channels of buffer
+	int overlap_max; // max number of simultaneous plays 
+	t_event *events; //note attacks
+	int active_events; // how many currently activated notes?
+	short connections[4]; // state of signal connections
+	short interpolation_tog; // select for interpolation or not
+	short mute;
+	short static_increment; // flag to use static increment (off by default)
+							// variables only for Pd
+	int vs; // signal vector size
+	float *trigger_vec; // copy of input vector (Pd only)
+	float *increment_vec; // copy of input vector (Pd only)
+	t_word *b_samples; // pointer to array data
+	long b_valid; // state of array
+	long b_frames; // number of frames (in Pd frames are mono)
+} t_player;
+
+void player_setbuf(t_player *x, t_symbol *wavename);
+void *player_new(t_symbol *msg, short argc, t_atom *argv);
+t_int *player_perform_mono(t_int *w);
+t_int *player_perform_mono_interpol(t_int *w);
+t_int *player_perform_stereo(t_int *w);
+t_int *player_perform_stereo_interpol(t_int *w);
+t_int *player_perform_stereo_interpol_nocopy(t_int *w);
+t_int *player_perform_hosed1(t_int *w);
+t_int *player_perform_hosed2(t_int *w);
+t_int *pd_player(t_int *w);
+
+void player_dsp(t_player *x, t_signal **sp);
+float player_boundrand(float min, float max);
+void player_dsp_free(t_player *x);
+void player_float(t_player *x, double f);
+void player_interpolation(t_player *x, t_float f);
+void player_mute(t_player *x, t_floatarg f);
+void player_static_increment(t_player *x, t_floatarg f);
+void player_stop(t_player *x);
+void player_info(t_player *x);
+void player_init(t_player *x,short initialized);
+
+void player_tilde_setup(void)
+{
+	player_class = class_new(gensym("player~"), (t_newmethod)player_new, 
+							 (t_method)player_dsp_free ,sizeof(t_player), 0, A_GIMME,0);
+	CLASS_MAINSIGNALIN(player_class, t_player, x_f );
+	class_addmethod(player_class, (t_method)player_dsp, gensym("dsp"), 0);
+//	class_addmethod(player_class, (t_method)player_mute, gensym("mute"), A_DEFFLOAT,0);
+	class_addmethod(player_class, (t_method)player_setbuf, gensym("setbuf"),A_DEFSYM, 0);
+	class_addmethod(player_class, (t_method)player_mute, gensym("mute"), A_FLOAT, 0);
+	class_addmethod(player_class, (t_method)player_static_increment, gensym("static_increment"), A_FLOAT, 0);
+	class_addmethod(player_class, (t_method)player_stop, gensym("stop"), 0);
+	potpourri_announce(OBJECT_NAME);
+	
+}
+
+void player_static_increment(t_player *x, t_floatarg f)
+{
+	x->static_increment = f;
+}
+
+void player_stop(t_player *x)
+{
+	int i;
+	
+	for(i = 0; i < x->overlap_max; i++){
+		x->events[i].status = INACTIVE;
+		x->events[i].phase = 0.0;
+		x->events[i].phase = 0.0;
+		x->events[i].gain = 0.0;
+	}
+}
+
+
+
+void player_mute(t_player *x, t_floatarg f)
+{
+	x->mute = f;
+}
+
+
+
+void *player_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	
+	t_player *x = (t_player *)pd_new(player_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	outlet_new(&x->x_obj, gensym("signal") );
+	if(argc < 1 || argv[0].a_type != A_SYMBOL){
+		post("%s: warning: no buffer name given: defaulting to "
+                     "empty symbol",OBJECT_NAME);
+	}
+	x->wavename = atom_getsymbolarg(0,argc,argv);
+	x->b_nchans = 1;	
+	x->overlap_max = atom_getfloatarg(2,argc,argv);
+	if(x->overlap_max <= 0 || x->overlap_max > 128){
+		x->overlap_max = DEFAULT_MAX_OVERLAP;
+	}
+	// post("%d overlaps for %s",x->overlap_max,x->wavename->s_name);
+	x->sr = sys_getsr();
+	x->vs = sys_getblksize();
+	if(!x->sr)
+		x->sr = 44100;
+	if(!x->vs)
+		x->vs = 256;  
+	player_init(x,0);
+	//   player_setbuf(x, x->wavename);
+	return (x);
+}
+
+void player_init(t_player *x,short initialized)
+{
+	int i;
+	
+	if(!initialized){
+		x->most_recent_event = 0;
+		x->active_events = 0;
+		x->increment = 1.0;
+		x->direction = FORWARD;
+		
+		x->events = (t_event *) calloc(x->overlap_max, sizeof(t_event));
+		x->mute = 0;
+		x->interpolation_tog = 1; // interpolation by default
+		x->static_increment = 0; // by default increment is adjustable through note
+		for(i = 0; i < x->overlap_max; i++){
+			x->events[i].status = INACTIVE;
+			x->events[i].increment = 0.0;
+			x->events[i].phase = 0.0;
+			x->events[i].gain = 0.0;
+		}
+		//		post("using local vectors");
+		x->increment_vec = malloc(MAXIMUM_VECTOR * sizeof(float));
+		x->trigger_vec = malloc(MAXIMUM_VECTOR * sizeof(float));
+	} else {
+		for(i = 0; i < x->overlap_max; i++){
+			x->events[i].status = INACTIVE;
+		}
+		x->increment_vec = realloc(x->increment_vec, x->vs * sizeof(float));
+		x->trigger_vec = realloc(x->trigger_vec, x->vs * sizeof(float));
+	}
+	
+}
+void player_setbuf(t_player *x, t_symbol *wavename)
+{
+	int frames;
+
+	t_garray *a;
+	
+	x->hosed = 0;
+
+	x->b_frames = 0;
+	x->b_valid = 0;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class)))
+    {
+		if (*wavename->s_name) pd_error(x, "player~: %s: no such array",
+										wavename->s_name);
+		x->b_samples = 0;
+		x->hosed = 1;
+    }
+	else if (!garray_getfloatwords(a, &frames, &x->b_samples))
+    {
+		pd_error(x, "%s: bad template for player~", wavename->s_name);
+		x->b_samples = 0;
+		x->hosed = 1;
+    }
+	else  {
+		x->b_frames = frames;
+		x->b_valid = 1;
+		garray_usedindsp(a);
+	}
+	if(! x->b_valid ){
+		post("player~ got invalid buffer");
+	}
+	
+}
+
+t_int *player_perform_hosed1(t_int *w)
+{
+	
+	//  t_player *x = (t_player *) (w[1]);
+	float *outchan = (t_float *)(w[4]);
+	int n = (int) w[5];
+	
+	memset((void *)outchan,0,sizeof(float) * n);
+	return(w+6);
+}
+
+t_int *player_perform_hosed2(t_int *w)
+{
+	
+	//  t_player *x = (t_player *) (w[1]);
+	float *out1 = (t_float *)(w[4]);
+	float *out2 = (t_float *)(w[5]);
+	int n = (int) w[6];
+	
+	//  while(n--) *outchan++ = 0.0;
+	memset((void *)out1,0,sizeof(float) * n);
+	memset((void *)out2,0,sizeof(float) * n);
+	return(w+7);
+}
+
+
+/* New mono version for Pd */
+
+t_int *player_perform_mono_interpol(t_int *w)
+{
+	t_player *x = (t_player *) (w[1]);
+	float *t_vec = (t_float *)(w[2]);
+	float *i_vec = (t_float *)(w[3]);
+	float *outchan = (t_float *)(w[4]);
+	int n = (int) w[5];
+	t_word *b_samples;
+	long b_nchans;
+	t_event *events = x->events;
+
+	float increment = x->increment;
+	int overlap_max = x->overlap_max;
+	int iphase;
+	float fphase;
+	float gain;
+	short insert_success;
+	int new_insert;
+	int i,j,k;
+	float *trigger_vec = x->trigger_vec;
+	float *increment_vec = x->increment_vec;
+	short bail;
+	short static_increment = x->static_increment;
+	float maxphase;
+	float frac;
+	int theft_candidate;
+	int flimit;
+	float samp1, samp2;
+	long b_frames;
+	float vincrement;
+	
+	if(x->mute || x->hosed){
+		memset((void *)outchan,0,sizeof(float) * n);
+		return(w+6);
+	}
+	player_setbuf(x, x->wavename);
+	b_samples = x->b_samples;
+	b_nchans = x->b_nchans;
+	b_frames = x->b_frames;  
+    
+	if(! x->b_valid) {
+		player_stop(x);
+		memset((void *)outchan,0,sizeof(float) * n);
+		return(w+6);		
+	}
+	// DO THIS BETTER
+
+	for(i = 0; i < n; i++){
+		trigger_vec[i] = t_vec[i];
+		increment_vec[i] = i_vec[i];
+	}
+
+
+	/* test if we even need to do anything */
+	bail = 1;	
+	for(i = 0; i < overlap_max; i++){
+		if(events[i].status == ACTIVE){
+			bail = 0;
+			break;
+		}
+	} 
+	if(bail){
+		for(i = 0; i < n; i++){
+			if(trigger_vec[i]){
+				bail = 0;
+			}
+		}
+	}
+	if(bail){
+		memset((void *)outchan,0,sizeof(float) * n);
+		return(w+6);
+	}
+	
+	/* main sample playback code */
+
+	vincrement = increment_vec[0];
+
+	memset((void *)outchan,0,sizeof(float) * n);
+	flimit = (b_frames - 1) * 2;
+	for(i = 0; i < overlap_max; i++){
+		if(events[i].status == ACTIVE){
+			gain = events[i].gain;
+			for(j = 0; j < n; j++){ //vector loop
+				iphase = events[i].phase;
+				frac = events[i].phase - iphase;
+				if(static_increment){
+					increment = events[i].increment;
+				} else {
+
+					increment = increment_vec[j];
+
+				}
+			//	iphase *= 2;
+				if(increment > 0){ // moving forward into sample
+					if(iphase == flimit){
+						outchan[j] += b_samples[iphase].w_float * gain;
+					} else {
+						samp1 = b_samples[iphase].w_float;
+						samp2 = b_samples[iphase + 1].w_float;
+						outchan[j] += gain * (samp1 + frac * (samp2-samp1));
+					}
+				} 
+				// moving backwards into sample				
+				else {
+					if(iphase == 0.0){
+						outchan[j] += b_samples[iphase].w_float * gain;
+					} else {
+						samp2 = b_samples[iphase].w_float;
+						samp1 = b_samples[iphase - 1].w_float;
+						outchan[j] += gain * (samp1 + frac * (samp2-samp1));
+					}
+				}
+				
+				if(static_increment){
+					events[i].phase += events[i].increment;
+				}
+				else {
+
+
+					events[i].phase += increment_vec[j];
+
+				}
+				if( events[i].phase < 0.0 || events[i].phase >= b_frames){
+					events[i].status = INACTIVE;
+					break;
+				}
+			}
+		}
+	}
+	/* trigger responder and initial playback code */
+	for(i=0; i<n; i++){
+		if(trigger_vec[i]){
+			gain = trigger_vec[i];
+
+			increment = increment_vec[i];
+			insert_success = 0;
+			
+			/* put new event into event list */
+			for(j=0; j<overlap_max; j++){
+				if(events[j].status == INACTIVE){
+					events[j].status = ACTIVE;
+					events[j].gain = gain;
+					events[j].increment = increment;
+					if(increment > 0){
+						events[j].phase = 0.0;
+					} else {
+						events[j].phase = b_frames - 1;
+					}
+					insert_success = 1;
+					new_insert = j;
+					break;
+				}
+			}	
+			
+			if(!insert_success){ // steal a note if necessary
+				
+				maxphase = 0;
+				theft_candidate = 0;
+				for(k = 0; k < overlap_max; k++){
+					if(events[k].phase > maxphase){
+						maxphase = events[k].phase;
+						theft_candidate = k;
+					}
+				}
+				// post("stealing note at slot %d", theft_candidate);
+				new_insert = theft_candidate;
+				events[new_insert].gain = gain;
+				events[new_insert].increment = increment;
+				if(increment > 0){
+					events[new_insert].phase = 0.0;
+				} else {
+					events[new_insert].phase = b_frames - 1;
+				}
+				insert_success = 1;
+			}
+			
+			for(k=i; k<n; k++){
+				
+				//roll out for remaining portion of vector
+				fphase = events[new_insert].phase;
+				iphase = (int)floorf(fphase);
+				frac = fphase - iphase;
+		//		iphase *= 2; // double for stereo
+				/* do interpolation */
+				if(increment > 0){ // moving forward into sample
+					if(iphase == flimit){
+						outchan[k] += b_samples[iphase].w_float * gain;
+					} else {
+						samp1 = b_samples[iphase].w_float;
+						samp2 = b_samples[iphase + 1].w_float;
+						outchan[k] += gain * (samp1 + frac * (samp2-samp1));
+					}
+				} 
+				// moving backwards into sample				
+				else {
+					if(iphase == 0.0){
+						outchan[k] += b_samples[iphase].w_float * gain;
+					} else {
+						samp2 = b_samples[iphase].w_float;
+						samp1 = b_samples[iphase - 1].w_float;
+						outchan[k] += gain * (samp1 + frac * (samp2-samp1));
+					}
+				}
+				/* advance phase */
+				if(static_increment){
+					increment = events[new_insert].increment;
+				} else {
+
+					increment = increment_vec[k];
+				}
+				
+				events[new_insert].phase += increment; 
+				
+				
+				/* note termination conditions */
+				if( events[new_insert].phase < 0.0 || events[new_insert].phase >= b_frames){
+					events[new_insert].status = INACTIVE;
+					break;
+				}
+			}					
+		}
+	}
+	return (w+6);
+}
+
+
+
+float player_boundrand(float min, float max)
+{
+	return min + (max-min) * ((float) (rand() % RAND_MAX)/ (float) RAND_MAX);
+}
+
+
+void player_dsp_free(t_player *x)
+{
+
+	free(x->events);
+	free(x->increment_vec);
+	free(x->trigger_vec);
+
+}
+
+void player_dsp(t_player *x, t_signal **sp)
+{
+	
+	player_setbuf(x, x->wavename);
+	
+	if(x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		if(!x->sr){
+			post("warning: zero sampling rate!");
+			x->sr = 44100;
+		}
+	} 
+	
+	if(x->vs != sp[0]->s_n){
+		x->vs = sp[0]->s_n;
+		player_init(x,1);
+	}
+	
+	if(x->b_frames <= 0 && ! x->hosed){
+		post("empty buffer, external disabled until it a sound is loaded");
+		x->hosed = 1;
+	}
+	
+	
+	player_stop(x); // turn off all players to start
+	
+	if(x->hosed)
+		dsp_add(player_perform_hosed1, 5, x, 
+				sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+	else{
+		dsp_add(player_perform_mono_interpol, 5, x, 
+				sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);	
+	}
+	
+}
diff --git a/externals/lyonpotpourri/poltocar~-help.pd b/externals/lyonpotpourri/poltocar~-help.pd
new file mode 100755
index 000000000..f94f1fc3c
--- /dev/null
+++ b/externals/lyonpotpourri/poltocar~-help.pd
@@ -0,0 +1,56 @@
+#N canvas 506 441 450 300 10;
+#N canvas 91 32 532 393 basic-fft 0;
+#X obj 225 66 inlet~;
+#X obj 225 341 outlet~;
+#X obj 225 98 windowvec~;
+#X obj 225 136 rfft~, f 6;
+#X obj 75 341 block~ 1024 8;
+#X obj 225 171 cartopol~;
+#X obj 225 215 poltocar~;
+#X obj 225 245 rifft~;
+#X obj 225 308 windowvec~;
+#X obj 225 275 *~ 0;
+#X obj 394 185 *;
+#X msg 346 107 1 1024 8;
+#X obj 346 138 unpack f f f;
+#X obj 346 217 /;
+#X floatatom 346 249 12 0 0 0 - - -, f 12;
+#X text 427 250 rescale factor;
+#X obj 346 76 loadbang;
+#X text 28 195 Any processing would go here ->;
+#X text 44 321 sets FFT size and overlap;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 10 0;
+#X connect 12 2 10 1;
+#X connect 13 0 14 0;
+#X connect 14 0 9 1;
+#X connect 16 0 11 0;
+#X restore 30 119 pd basic-fft;
+#X obj 30 92 osc~ 440;
+#X obj 30 193 dac~;
+#X obj 30 155 *~ 0.01;
+#X floatatom 30 69 5 0 0 0 - - -, f 5;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X floatatom 101 156 5 0 0 2 gain - -, f 5;
+#X text 23 36 poltocar~ converts from polar form to rfft~ complex format.
+;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 1 0;
+#X connect 6 0 3 1;
diff --git a/externals/lyonpotpourri/poltocar~.c b/externals/lyonpotpourri/poltocar~.c
new file mode 100755
index 000000000..d7e0de291
--- /dev/null
+++ b/externals/lyonpotpourri/poltocar~.c
@@ -0,0 +1,67 @@
+#include "MSPd.h"
+
+static t_class *poltocar_class;
+
+/* Pd version of poltocar~ */
+
+#define OBJECT_NAME "poltocar~"
+typedef struct _poltocar
+{
+	t_object x_obj;
+    t_float x_f;
+} t_poltocar;
+
+void *poltocar_new(t_symbol *msg, short argc, t_atom *argv);
+void poltocar_free(t_poltocar *x);
+void poltocar_dsp(t_poltocar *x, t_signal **sp);
+
+
+void poltocar_tilde_setup(void){
+    poltocar_class = class_new(gensym("poltocar~"), (t_newmethod)poltocar_new,
+                              0, sizeof(t_poltocar),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(poltocar_class, t_poltocar, x_f);
+    class_addmethod(poltocar_class, (t_method)poltocar_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *poltocar_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_poltocar *x = (t_poltocar *)pd_new(poltocar_class);
+    inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+	return x;
+}
+
+t_int *poltocar_perform(t_int *w)
+{
+    int i;
+    t_poltocar *x = (t_poltocar *) w[1];
+    t_float *mag_in = (t_float *) w[2];
+    t_float *phase_in = (t_float *) w[3];
+    t_float *real_out = (t_float *) w[4];
+    t_float *imag_out = (t_float *) w[5];
+    t_float real, imag;
+
+    int n = (int) w[6]; // obj, func, 1 inlet
+    int N2 = n/2;
+    
+    for(i = 0; i < N2 + 1; i++){
+        real = mag_in[i] * cos( phase_in[i] );
+        if(i == N2){
+            imag = 0;
+        } else{
+            imag = -mag_in[i] * sin( phase_in[i] );
+        }
+        real_out[i] = real;
+        imag_out[i] = imag;
+    }
+
+    return (w + 7);
+}
+
+void poltocar_dsp(t_poltocar *x, t_signal **sp)
+{
+    dsp_add(poltocar_perform,6, x,
+            sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[0]->s_n);
+}
diff --git a/externals/lyonpotpourri/power_of_two.c b/externals/lyonpotpourri/power_of_two.c
new file mode 100755
index 000000000..038c6a326
--- /dev/null
+++ b/externals/lyonpotpourri/power_of_two.c
@@ -0,0 +1,17 @@
+
+int power_of_two(int test)
+{
+  int limit = 8192;
+  int compare = 1;
+  //  post("testing what we thing is an int:%d",test);
+  do {
+    if(test == compare){
+      //      post("good power of 2 found!");
+      return 1;
+    } 
+    compare *= 2;
+  } while (compare <= limit);
+  
+  return 0;
+}
+
diff --git a/externals/lyonpotpourri/pulser~-help.pd b/externals/lyonpotpourri/pulser~-help.pd
new file mode 100755
index 000000000..f0cf79744
--- /dev/null
+++ b/externals/lyonpotpourri/pulser~-help.pd
@@ -0,0 +1,54 @@
+#N canvas 196 132 459 311 10;
+#X msg -14 114 harmonics \$1;
+#X floatatom -14 90 5 0 0 0 - pulser-harmonic-count -, f 5;
+#X floatatom 94 104 5 0 0 2 freq pulser-frequency -, f 5;
+#X obj 157 93 osc~ 0.1;
+#X obj 157 115 *~ 0.4;
+#X obj 157 139 +~ 0.5;
+#X obj 69 214 *~ 0.1;
+#X floatatom 108 194 5 0 0 1 gain pulser-gain -, f 5;
+#X obj 69 251 dac~;
+#X floatatom 157 73 5 0 0 0 - pulser-pw-speed -, f 5;
+#X obj 69 174 pulser~ 74 12;
+#X text 163 158 <- pulsewidth;
+#X obj -19 14 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#N canvas 658 263 450 300 initialize 0;
+#X obj 170 210 s pulser-frequency;
+#X obj 170 154 loadbang;
+#X msg 170 181 74;
+#X obj 41 87 s pulser-harmonic-count;
+#X obj 40 34 loadbang;
+#X msg 41 60 12;
+#X obj 277 116 s pulser-pw-speed-in;
+#X obj 277 49 loadbang;
+#X msg 277 91 0.1;
+#X obj 21 161 s pulser-gain-in;
+#X msg 22 140 0.1;
+#X obj 23 118 loadbang;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X restore 131 250 pd initialize;
+#X obj 228 85 hsl 128 15 0 1 0 0 pulser-pw-speed pulser-pw-speed-in
+pulsewidth-modulation-speed -2 -8 0 10 -83269 -1 -1 400 1;
+#X obj 227 116 hsl 128 15 0 1 0 0 pulser-gain pulser-gain-in gain -2
+-8 0 10 -83269 -1 -1 1270 1;
+#X text -20 48 pulser~ - A pulsewave with variable pulsewidth;
+#X text 164 175 args: initial frequency \, # of harmonics;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 1;
+#X connect 6 0 8 0;
+#X connect 6 0 8 1;
+#X connect 7 0 6 1;
+#X connect 9 0 3 0;
+#X connect 10 0 6 0;
diff --git a/externals/lyonpotpourri/pulser~.c b/externals/lyonpotpourri/pulser~.c
new file mode 100755
index 000000000..4e64c32af
--- /dev/null
+++ b/externals/lyonpotpourri/pulser~.c
@@ -0,0 +1,214 @@
+#include "MSPd.h"
+
+#define FUNC_LEN (16384)
+#define FUNC_LEN_OVER2 (8192)
+#define MAX_COMPONENTS (256)
+
+#define OBJECT_NAME "pulser~"
+
+static t_class *pulser_class;
+
+
+typedef struct _pulser
+{
+
+  t_object x_obj;
+  float x_f;
+  int components;
+  float global_gain;
+  float *wavetab;
+
+  float *phases;
+  float frequency;
+  float pulsewidth;
+  float si_fac;
+  short mute;
+  short connected[4];
+  float sr;
+} t_pulser;
+
+void *pulser_new(t_symbol *s, int argc, t_atom *argv);
+
+t_int *pulser_perform(t_int *w);
+void pulser_dsp(t_pulser *x, t_signal **sp);
+void pulser_mute(t_pulser *x, t_floatarg toggle);
+void pulser_harmonics(t_pulser *x, t_floatarg c);
+void pulser_float(t_pulser *x, double f);
+void pulser_free(t_pulser *x);
+
+void pulser_tilde_setup(void){
+  pulser_class = class_new(gensym("pulser~"), (t_newmethod)pulser_new, 
+			    (t_method)pulser_free,sizeof(t_pulser), 0,A_GIMME,0);
+  CLASS_MAINSIGNALIN(pulser_class, t_pulser, x_f);
+  class_addmethod(pulser_class,(t_method)pulser_dsp,gensym("dsp"),0);
+  class_addmethod(pulser_class,(t_method)pulser_mute,gensym("mute"),A_FLOAT,0);
+  class_addmethod(pulser_class,(t_method)pulser_harmonics,gensym("harmonics"),A_FLOAT,0);
+  potpourri_announce(OBJECT_NAME);
+}
+
+void pulser_mute(t_pulser *x, t_floatarg toggle)
+{
+	x->mute = toggle;
+}
+
+void pulser_harmonics(t_pulser *x, t_floatarg c)
+{
+	if(c < 2 || c > MAX_COMPONENTS){
+		error("harmonic count out of bounds");
+		return;
+	}
+	x->components = c;
+	x->global_gain = 1.0 / (float) x->components ;
+	// reset phases too?
+}
+
+void pulser_free(t_pulser *x)
+{
+	free(x->phases);
+	free(x->wavetab);
+}
+
+void *pulser_new(t_symbol *s, int argc, t_atom *argv)
+{
+  int i;
+
+  t_pulser *x = (t_pulser *)pd_new(pulser_class);
+  inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+  outlet_new(&x->x_obj, gensym("signal"));
+  x->sr = sys_getsr();
+  if(!x->sr){
+    error("zero sampling rate, setting to 44100");
+    x->sr = 44100;
+  }
+
+  x->mute = 0;
+  x->components = 8;
+  x->frequency = 440.0;
+  x->pulsewidth = 0.5;
+  
+  if( argc > 0 )
+    x->frequency = atom_getfloatarg(0,argc,argv);
+  if( argc > 1 )
+    x->components = atom_getfloatarg(1,argc,argv);
+			
+  x->si_fac = ((float)FUNC_LEN/x->sr) ;
+  
+  if(x->components <= 0 || x->components > MAX_COMPONENTS){
+  	error("%d is an illegal number of components, setting to 8",x->components );
+  	x->components = 8;
+  }
+  x->global_gain = 1.0 / (float) x->components ;
+  x->phases = (float *) calloc(MAX_COMPONENTS, sizeof(float) );
+  x->wavetab = (float *) calloc(FUNC_LEN, sizeof(float) );
+
+  for(i = 0 ; i < FUNC_LEN; i++) {
+    x->wavetab[i] = sin(TWOPI * ((float)i/(float) FUNC_LEN)) ;
+  }
+  return (x);
+}
+
+
+t_int *pulser_perform(t_int *w)
+{
+
+  int i,j;
+  float gain;
+  float incr;
+
+  float outsamp;
+  int lookdex;
+  t_pulser *x = (t_pulser *) (w[1]);
+  t_float *frequency_vec = (t_float *)(w[2]);
+  t_float *pulsewidth_vec = (t_float *)(w[3]);
+  t_float *out = (t_float *)(w[4]);
+  int n = (int) w[5];
+	
+
+  float *wavetab = x->wavetab;
+  float si_fac = x->si_fac;
+
+  float *phases = x->phases;
+  int components = x->components;
+  float global_gain = x->global_gain;
+  float pulsewidth = x->pulsewidth;
+  float frequency = x->frequency;
+  short *connected = x->connected;
+  
+  if( x->mute )
+  {
+  	while( n-- ){
+  		*out++ = 0.0;
+  	}
+  	return (w+6);
+  }
+  
+  incr = frequency * si_fac;
+  
+  while (n--) { 
+
+    if( connected[1] ){
+    	pulsewidth = *pulsewidth_vec++;
+    	// post("pw %f",pulsewidth);
+    }
+    if( pulsewidth < 0 )
+      pulsewidth = 0;
+    if( pulsewidth > 1 )
+      pulsewidth = 1;
+    
+    if( connected[0] ){
+      incr = *frequency_vec++ * si_fac ;
+    }
+ 
+    outsamp = 0;
+    
+    for( i = 0, j = 1; i < components; i++, j++ ){
+
+      lookdex = (float)FUNC_LEN_OVER2 * pulsewidth * (float)j;
+ 
+      while( lookdex >= FUNC_LEN ){
+				lookdex -= FUNC_LEN;
+		  }
+ 
+      gain = wavetab[ lookdex ] ;
+ 
+      phases[i] += incr * (float) j;
+      while( phases[i] < 0.0 ) {
+				phases[i] += FUNC_LEN;
+      }
+      while( phases[i] >= FUNC_LEN ){
+				phases[i] -= FUNC_LEN;
+      }
+      outsamp += gain * wavetab[ (int) phases[i] ];
+		
+    }
+    *out++ =  outsamp * global_gain; 
+  }
+
+  //	x->bendphs = bendphs;
+  return (w+6);
+}		
+
+void pulser_dsp(t_pulser *x, t_signal **sp)
+{
+  long i;
+
+	if(!sp[0]->s_sr){
+		error("zero sampling rate");
+		return;
+	}
+	
+  if(x->sr != sp[0]->s_sr){
+  	x->sr = sp[0]->s_sr;
+  	x->si_fac = ((float)FUNC_LEN/x->sr);
+  	for(i=0;i<MAX_COMPONENTS;i++){
+  		x->phases[i] = 0.0;
+  	}
+  }
+  for( i = 0; i < 2; i++){
+
+  	x->connected[i] = 1;
+  }
+  dsp_add(pulser_perform, 5, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+}
+
+
diff --git a/externals/lyonpotpourri/qsortE.c b/externals/lyonpotpourri/qsortE.c
new file mode 100755
index 000000000..0fa7e50e5
--- /dev/null
+++ b/externals/lyonpotpourri/qsortE.c
@@ -0,0 +1 @@
+/* Plug-compatible replacement for UNIX qsort.
   Copyright (C) 1989 Free Software Foundation, Inc.
   Written by Douglas C. Schmidt (schmidt@ics.uci.edu)

This file is part of GNU CC.

GNU QSORT 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, or (at your option)
any later version.

GNU QSORT 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 GNU QSORT; see the file COPYING.  If not, write to
the Free the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */

/* Synched up with: FSF 19.28. */

#ifdef sparc
#include <alloca.h>
#endif

#include <stdlib.h>

/* Invoke the comparison function, returns either 0, < 0, or > 0. */
#define CMP(A,B) ((*cmp)((A),(B)))

/* Byte-wise swap two items of size SIZE. */
#define SWAP(A,B,SIZE) do {int sz = (SIZE); char *a = (A); char *b = (B); \
    do { char _temp = *a;*a++ = *b;*b++ = _temp;} while (--sz);} while (0)

/* Copy SIZE bytes from item B to item A. */
#define COPY(A,B,SIZE) {int sz = (SIZE); do { *(A)++ = *(B)++; } while (--sz); }

/* This should be replaced by a standard ANSI macro. */
#define BYTES_PER_WORD 8

/* The next 4 #defines implement a very fast in-line stack abstraction. */
#define STACK_SIZE (BYTES_PER_WORD * sizeof (long))
#define PUSH(LOW,HIGH) do {top->lo = LOW;top++->hi = HIGH;} while (0)
#define POP(LOW,HIGH)  do {LOW = (--top)->lo;HIGH = top->hi;} while (0)
#define STACK_NOT_EMPTY (stack < top)                

/* Discontinue quicksort algorithm when partition gets below this size.
   This particular magic number was chosen to work best on a Sun 4/260. */
#define MAX_THRESH 4


/* requisite prototype */

int qsortE (char *base_ptr, int total_elems, int size, int (*cmp)());



/* Stack node declarations used to store unfulfilled partition obligations. */
typedef struct 
{
  char *lo;
  char *hi;
  
} stack_node;

/* Order size using quicksort.  This implementation incorporates
   four optimizations discussed in Sedgewick:
   
   1. Non-recursive, using an explicit stack of pointer that store the 
      next array partition to sort.  To save time, this maximum amount 
      of space required to store an array of MAX_INT is allocated on the 
      stack.  Assuming a 32-bit integer, this needs only 32 * 
      sizeof (stack_node) == 136 bits.  Pretty cheap, actually.

   2. Choose the pivot element using a median-of-three decision tree.
      This reduces the probability of selecting a bad pivot value and 
      eliminates certain extraneous comparisons.

   3. Only quicksorts TOTAL_ELEMS / MAX_THRESH partitions, leaving
      insertion sort to order the MAX_THRESH items within each partition.  
      This is a big win, since insertion sort is faster for small, mostly
      sorted array segments.
   
   4. The larger of the two sub-partitions is always pushed onto the
      stack first, with the algorithm then concentrating on the
      smaller partition.  This *guarantees* no more than log (n)
      stack size is needed (actually O(1) in this case)! */
      
int qsortE (char *base_ptr, int total_elems, int size, int (*cmp)())
{
  /* Allocating SIZE bytes for a pivot buffer facilitates a better 
     algorithm below since we can do comparisons directly on the pivot. */
  char *pivot_buffer = (char *)  malloc(size);
  int   max_thresh   = MAX_THRESH * size;

  if (total_elems > MAX_THRESH)
    {
      char       *lo = base_ptr;
      char       *hi = lo + size * (total_elems - 1);
      stack_node stack[STACK_SIZE]; /* Largest size needed for 32-bit int!!! */
      stack_node *top = stack + 1;

      while (STACK_NOT_EMPTY)
        {
          char *left_ptr;
          char *right_ptr;
          {
            char *pivot = pivot_buffer;
            {
              /* Select median value from among LO, MID, and HI. Rearrange
                 LO and HI so the three values are sorted. This lowers the 
                 probability of picking a pathological pivot value and 
                 skips a comparison for both the LEFT_PTR and RIGHT_PTR. */

              char *mid = lo + size * ((hi - lo) / size >> 1);

              if (CMP (mid, lo) < 0)
                SWAP (mid, lo, size);
              if (CMP (hi, mid) < 0)
                SWAP (mid, hi, size);
              else 
                goto jump_over;
              if (CMP (mid, lo) < 0)
                SWAP (mid, lo, size);
            jump_over:
              COPY (pivot, mid, size);
              pivot = pivot_buffer;
            }
            left_ptr  = lo + size;
            right_ptr = hi - size; 

            /* Here's the famous ``collapse the walls'' section of quicksort.  
               Gotta like those tight inner loops!  They are the main reason 
               that this algorithm runs much faster than others. */
            do 
              {
                while (CMP (left_ptr, pivot) < 0)
                  left_ptr += size;

                while (CMP (pivot, right_ptr) < 0)
                  right_ptr -= size;

                if (left_ptr < right_ptr) 
                  {
                    SWAP (left_ptr, right_ptr, size);
                    left_ptr += size;
                    right_ptr -= size;
                  }
                else if (left_ptr == right_ptr) 
                  {
                    left_ptr += size;
                    right_ptr -= size;
                    break;
                  }
              } 
            while (left_ptr <= right_ptr);

          }

          /* Set up pointers for next iteration.  First determine whether
             left and right partitions are below the threshold size. If so, 
             ignore one or both.  Otherwise, push the larger partition's
             bounds on the stack and continue sorting the smaller one. */

          if ((right_ptr - lo) <= max_thresh)
            {
              if ((hi - left_ptr) <= max_thresh) /* Ignore both small partitions. */
                POP (lo, hi); 
              else              /* Ignore small left partition. */  
                lo = left_ptr;
            }
          else if ((hi - left_ptr) <= max_thresh) /* Ignore small right partition. */
            hi = right_ptr;
          else if ((right_ptr - lo) > (hi - left_ptr)) /* Push larger left partition indices. */
            {                   
              PUSH (lo, right_ptr);
              lo = left_ptr;
            }
          else                  /* Push larger right partition indices. */
            {                   
              PUSH (left_ptr, hi);
              hi = right_ptr;
            }
        }
    }

  /* Once the BASE_PTR array is partially sorted by quicksort the rest
     is completely sorted using insertion sort, since this is efficient 
     for partitions below MAX_THRESH size. BASE_PTR points to the beginning 
     of the array to sort, and END_PTR points at the very last element in
     the array (*not* one beyond it!). */

#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))

  {
    char *end_ptr = base_ptr + size * (total_elems - 1);
    char *run_ptr;
    char *tmp_ptr = base_ptr;
    char *thresh  = MIN (end_ptr, base_ptr + max_thresh);

    /* Find smallest element in first threshold and place it at the
       array's beginning.  This is the smallest array element,
       and the operation speeds up insertion sort's inner loop. */

    for (run_ptr = tmp_ptr + size; run_ptr <= thresh; run_ptr += size)
      if (CMP (run_ptr, tmp_ptr) < 0)
        tmp_ptr = run_ptr;

    if (tmp_ptr != base_ptr)
      SWAP (tmp_ptr, base_ptr, size);

    /* Insertion sort, running from left-hand-side up to `right-hand-side.' 
       Pretty much straight out of the original GNU qsort routine. */

    for (run_ptr = base_ptr + size; (tmp_ptr = run_ptr += size) <= end_ptr; )
      {

        while (CMP (run_ptr, tmp_ptr -= size) < 0)
          ;

        if ((tmp_ptr += size) != run_ptr)
          {
            char *trav;

            for (trav = run_ptr + size; --trav >= run_ptr;)
              {
                char c = *trav;
                char *hi, *lo;

                for (hi = lo = trav; (lo -= size) >= tmp_ptr; hi = lo)
                  *hi = *lo;
                *hi = c;
              }
          }

      }
  }
  return 1;
}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/quadpan~-help.pd b/externals/lyonpotpourri/quadpan~-help.pd
new file mode 100755
index 000000000..f758a8c92
--- /dev/null
+++ b/externals/lyonpotpourri/quadpan~-help.pd
@@ -0,0 +1,120 @@
+#N canvas 87 151 509 477 10;
+#X obj 7 206 quadpan~, f 29;
+#X obj 8 316 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 7 273 pd meter;
+#X obj 69 317 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 68 274 pd meter;
+#X obj 132 317 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 131 274 pd meter;
+#X obj 193 318 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
+#N canvas 0 22 450 300 meter 0;
+#X obj 110 164 snapshot~;
+#X obj 126 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 110 187 5 0 0 0 - - -, f 5;
+#X obj 110 91 env~ 1024;
+#X obj 126 140 metro 100;
+#X obj 109 211 - 100;
+#X obj 231 46 loadbang;
+#X msg 231 71 1;
+#X obj 109 246 outlet;
+#X obj 110 51 inlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 9 0 3 0;
+#X restore 192 275 pd meter;
+#X obj 95 105 hsl 128 15 0 1 0 0 empty empty X-coordinate -2 -8 0 10
+-262144 -1 -1 0 1;
+#X obj 107 146 hsl 128 15 0 1 0 0 empty empty Y-coordinate -2 -8 0
+10 -262144 -1 -1 0 1;
+#X text 5 61 quadpan~ takes in X/Y cordinates (as signal or float)
+to position a signal within a quadraphonic plane.;
+#X obj 7 154 osc~ 440;
+#X obj 11 25 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 195 169 Spatial positioning of output channels;
+#X text 195 187 is as follows:;
+#X text 360 223 3;
+#X text 292 223 4;
+#X text 362 275 1;
+#X text 291 275 2;
+#X connect 0 0 2 0;
+#X connect 0 1 4 0;
+#X connect 0 2 6 0;
+#X connect 0 3 8 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 1;
+#X connect 10 0 0 2;
+#X connect 12 0 0 0;
diff --git a/externals/lyonpotpourri/quadpan~.c b/externals/lyonpotpourri/quadpan~.c
new file mode 100755
index 000000000..a43c02c07
--- /dev/null
+++ b/externals/lyonpotpourri/quadpan~.c
@@ -0,0 +1 @@
+#include "MSPd.h"
#define OBJECT_NAME "quadpan~"
/*
 
 Front
 
 *out1         *out3
 
 
 
 *out2         *out4
 
 Back
 
 */

static t_class  *quadpan_class;


typedef struct _quadpan
{
    t_object x_obj;
    t_float x_f;
//    short bypass;
//    float pi_over_two;
//    float twopi;
    float *in;
    float *Xin;
    float *Yin;
} t_quadpan;

void *quadpan_new(t_symbol *s, int argc, t_atom *argv);
t_int *offset_perform(t_int *w);
t_int *quadpan_perform(t_int *w);
void quadpan_dsp(t_quadpan *x, t_signal **sp);
void quadpan_showstate( t_quadpan *x );
void quadpan_free(t_quadpan *x);
void quadpan_tilde_setup(void)
{
	quadpan_class = class_new(gensym("quadpan~"), (t_newmethod)quadpan_new, (t_method)quadpan_free,sizeof(t_quadpan),0,A_GIMME,0);
	CLASS_MAINSIGNALIN(quadpan_class, t_quadpan, x_f);
	class_addmethod(quadpan_class, (t_method)quadpan_dsp, gensym("dsp"), A_CANT, 0);
    
	potpourri_announce(OBJECT_NAME);
}

void *quadpan_new(t_symbol *s, int argc, t_atom *argv)
{
    int i;
    t_quadpan *x = (t_quadpan *)pd_new(quadpan_class);
    
    
    for(i = 0; i < 2; i++){
        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
    }
    for(i = 0; i < 4; i++){
        outlet_new(&x->x_obj, gensym("signal"));
    }
    x->in = (float *) malloc(8192 * sizeof(float));
    x->Xin = (float *) malloc(8192 * sizeof(float));
    x->Yin = (float *) malloc(8192 * sizeof(float));
//    x->pi_over_two = 1.5707963267948965;
//    x->twopi = 6.283185307179586;
    
    return x;
}
void quadpan_free(t_quadpan *x)
{
    free(x->in);
    free(x->Xin);
    free(x->Yin);
}

t_int *quadpan_perform(t_int *w)
{
    float gain1, gain2, gain3, gain4;
    float xval, yval;
    float xsquared, ysquared, ix, iy, ixsquared, iysquared;
    int i;
    
    t_quadpan *x = (t_quadpan *) (w[1]);
    float *in = x->in;
    float *Xin = x->Xin;
    float *Yin = x->Yin;
    
    float *in_loc = (t_float *)(w[2]);
    float *Xin_loc = (t_float *)(w[3]);
    float *Yin_loc = (t_float *)(w[4]);
    
    float *out1 = (t_float *)(w[5]);
    float *out2 = (t_float *)(w[6]);
    float *out3 = (t_float *)(w[7]);
    float *out4 = (t_float *)(w[8]);
    int n = (int)(w[9]);
    
    // copy buffers to avoid writeovers in shared memory
    for(i = 0; i < n; i++){
        in[i] = in_loc[i];
        Xin[i] = Xin_loc[i];
        Yin[i] = Yin_loc[i];
    }
    
    while( n-- ){
        xval = *Xin++;
        yval = *Yin++;
        if( xval < 0.0 )
            xval = 0.0;
        if( yval > 1.0 )
            yval = 1.0;
        if( yval < 0.0 )
            yval = 0.0;
        if( yval > 1.0 )
            yval = 1.0;
        
        xsquared = xval * xval;
        ysquared = yval * yval;
        ix = 1.0 - xval;
        iy = 1.0 - yval;
        ixsquared = ix * ix;
        iysquared = iy * iy;
        
        gain1 = sqrt( xsquared + ysquared );
        if( gain1 > 1.0 )
            gain1 = 1.0;
        gain1 = 1.0 - gain1; /* Left Rear Gain */
        
        
        gain2 = sqrt( ixsquared + ysquared );
        if( gain2 > 1.0 )
            gain2 = 1.0;
        gain2 = 1.0 - gain2; /* Right Rear Gain */
        
        gain3 = sqrt( xsquared + iysquared );
        if( gain3 > 1.0 )
            gain3 = 1.0;
        gain3 = 1.0 - gain3; /* Left Front Gain */
        
        
        gain4 = sqrt( ixsquared + iysquared ) ;
        if( gain4 > 1.0 )
            gain4 = 1.0;
        gain4 = 1.0 - gain4; /* Right Front Gain*/
        
        *out1++ = *in * gain3;
        *out2++ = *in * gain4;
        *out3++ = *in * gain2;
        *out4++ = *in++ * gain1;
    }
    
    return (w+10);
}



void quadpan_dsp(t_quadpan *x, t_signal **sp)
{
    if( ! sp[0]->s_sr ){
        return;
    }
    dsp_add(quadpan_perform, 9, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec,
            sp[3]->s_vec, sp[4]->s_vec, sp[5]->s_vec, sp[6]->s_vec,
            sp[0]->s_n);
}


\ No newline at end of file
diff --git a/externals/lyonpotpourri/rotapan~-help.pd b/externals/lyonpotpourri/rotapan~-help.pd
new file mode 100755
index 000000000..b026bd9e0
--- /dev/null
+++ b/externals/lyonpotpourri/rotapan~-help.pd
@@ -0,0 +1,37 @@
+#N canvas 606 234 406 508 10;
+#X obj 31 269 rotapan~ 5;
+#X obj 31 373 shoehorn~ 5 2;
+#X obj 31 414 *~ 0.01;
+#X obj 106 415 *~ 0.01;
+#X obj 31 97 osc~ 400;
+#X obj 65 120 osc~ 500;
+#X obj 120 228 phasor~ 0.08;
+#X obj 31 463 dac~;
+#X obj 110 164 osc~ 430;
+#X obj 129 187 osc~ 479;
+#X obj 95 142 osc~ 300;
+#X text 22 34 rotapan~ rotates an array of channels preserving spatial
+relations. The rightmost inlet controls the phase of the rotation \,
+in the range (0-1). The argument determines the length of the channel
+array.;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 148 374 hsl 128 15 0 0.15 0 0 empty empty gain -2 -8 0 10 -232576
+-1 -1 0 1;
+#X connect 0 0 1 0;
+#X connect 0 1 1 1;
+#X connect 0 2 1 2;
+#X connect 0 3 1 3;
+#X connect 0 4 1 4;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 1;
+#X connect 4 0 0 0;
+#X connect 5 0 0 1;
+#X connect 6 0 0 5;
+#X connect 8 0 0 3;
+#X connect 9 0 0 4;
+#X connect 10 0 0 2;
+#X connect 13 0 3 1;
+#X connect 13 0 2 1;
diff --git a/externals/lyonpotpourri/rotapan~.c b/externals/lyonpotpourri/rotapan~.c
new file mode 100755
index 000000000..2c46a1e99
--- /dev/null
+++ b/externals/lyonpotpourri/rotapan~.c
@@ -0,0 +1,147 @@
+#include "MSPd.h"
+
+static t_class *rotapan_class;
+
+#define OBJECT_NAME "rotapan~"
+
+/* Pd version of rotapan~ */
+
+typedef struct _rotapan
+	{
+		t_object x_obj;
+        t_float x_f;
+		t_double sr;
+        long rchans;
+        double pio2;
+        t_float *inarr;
+        t_float **ins; // array of input signal vectors
+        t_float **outs; // array of output signal vectors
+	} t_rotapan;
+
+
+void *rotapan_new(t_symbol *s, int argc, t_atom *argv);
+
+
+void rotapan_free(t_rotapan *x);
+void rotapan_assist(t_rotapan *x, void *b, long msg, long arg, char *dst);
+void rotapan_version(t_rotapan *x);
+void rotapan_dsp(t_rotapan *x, t_signal **sp);
+t_int *rotapan_perform(t_int *w);
+
+void rotapan_tilde_setup(void){
+    rotapan_class = class_new(gensym("rotapan~"), (t_newmethod)rotapan_new,
+                               (t_method)rotapan_free, sizeof(t_rotapan),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(rotapan_class, t_rotapan, x_f);
+    class_addmethod(rotapan_class, (t_method)rotapan_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *rotapan_new(t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+    
+    t_rotapan *x = (t_rotapan *)pd_new(rotapan_class);
+    x->rchans = (long) atom_getfloatarg(0,argc,argv);
+    /* allocate in chans plus 1 for controlling the pan */
+    for(i = 0; i < x->rchans; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
+    }
+    for(i=0; i < x->rchans; i++){
+        outlet_new(&x->x_obj, gensym("signal"));
+    }
+    x->pio2 = PI / 2.0;
+    x->inarr = (t_float *) malloc((x->rchans + 1) * sizeof(t_float));
+    // for better compatibility with Max 6
+    x->ins = (t_float **) malloc((x->rchans + 1) * sizeof(t_float *));
+    x->outs = (t_float **) malloc(x->rchans * sizeof(t_float *));
+    for(i = 0; i < x->rchans + 1; i++){
+        x->ins[i] = (t_float *) malloc(8192 * sizeof(t_float));
+    }
+    return x;
+}
+
+
+
+void rotapan_free(t_rotapan *x)
+{
+    int i;
+    for(i = 0; i < x->rchans + 1; i++){
+        free(x->ins[i]);
+    }
+    free(x->ins);
+    free(x->outs);
+    free(x->inarr);
+}
+
+// try copying all vectors first!!!
+
+t_int *rotapan_perform(t_int *w)
+{
+    t_rotapan *x = (t_rotapan*) w[1];
+    t_float *invec;
+	long rchans = x->rchans;
+    t_double pio2 = x->pio2;
+    t_float *inarr = x->inarr;
+    t_float **ins = x->ins;
+    t_float **outs = x->outs;
+    double amp1, amp2;
+    double panloc;
+    double scaledIndex;
+	int chan,i,j;
+    int offset;
+    
+    int n = (int) w[(rchans * 2) + 3];
+    
+    // copy input vectors
+    for(i = 0; i < rchans + 1; i++){
+        invec = (t_float *) w[2 + i];
+        for(j = 0; j < n; j++){
+            ins[i][j] = invec[j];
+        }
+    }
+    
+    // assign output vector pointers
+    for(i = 0; i < rchans; i++){
+        outs[i] = (t_float *) w[3 + rchans + i];
+    }
+    
+	for( j = 0; j < n; j++){
+        for(chan = 0; chan < rchans; chan++){
+            inarr[chan] = ins[chan][j];
+            outs[chan][j] = 0;
+        }
+        scaledIndex = ins[rchans][j] * (double) rchans;
+        if(scaledIndex < 0.0 || scaledIndex > rchans)
+            scaledIndex = 0.0;
+        
+        offset = (int) floor(scaledIndex) % rchans;
+        panloc = (scaledIndex - offset) * pio2;
+        
+        amp1 = cos( panloc );
+        amp2 = sin( panloc );
+        
+        for(chan = 0; chan < rchans; chan++){
+            outs[(chan+offset)%rchans][j] += amp1 * inarr[chan];
+            outs[(chan+offset+1)%rchans][j] += amp2 * inarr[chan];
+        }
+	}
+    return (w + (rchans * 2) + 4);
+}
+
+void rotapan_dsp(t_rotapan *x, t_signal **sp)
+{
+	long i;
+    t_int **sigvec;
+    int pointer_count = (x->rchans * 2) + 3; // input/output chans + object + panner + vectorsize
+    sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    dsp_addv(rotapan_perform, pointer_count, (t_int *)sigvec);
+    free(sigvec);
+}
diff --git a/externals/lyonpotpourri/rtrig~-help.pd b/externals/lyonpotpourri/rtrig~-help.pd
new file mode 100755
index 000000000..af4b99478
--- /dev/null
+++ b/externals/lyonpotpourri/rtrig~-help.pd
@@ -0,0 +1,1268 @@
+#N canvas 32 219 471 332 10;
+#X floatatom 42 100 10 0 0 0 - rtrig-odds -, f 10;
+#X msg 42 125 odds \$1;
+#N canvas 0 22 466 316 initialize-odds 0;
+#X msg 83 104 44100;
+#X floatatom 62 161 5 0 0 0 - - -, f 5;
+#X obj 82 137 t b f;
+#X obj 62 185 / 44100;
+#X obj 33 68 t b b;
+#X msg 22 101 3;
+#X obj 34 23 loadbang;
+#X obj 85 236 s rtrig-odds;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 1;
+#X connect 3 0 7 0;
+#X connect 4 0 0 0;
+#X connect 4 1 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 4 0;
+#X restore 210 293 pd initialize-odds;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array rtrig_buffa 8000 float 3;
+#A 0 -0.835742 0.295418 -0.477275 0.664057 0.0894576 0.126525 -0.570681
+-0.769957 0.328894 0.887324 -0.987493 -0.0918505 -0.167639 0.30611
+0.247932 0.985064 0.511729 -0.00734649 0.834626 -0.250302 0.602716
+-0.245854 0.251351 0.959939 0.462986 0.376727 -0.676458 0.0291857 -0.0850926
+0.94899 -0.698311 0.411686 -0.93346 0.647462 0.45746 -0.202548 0.599162
+-0.972271 0.203824 0.525393 -0.243858 0.728809 0.555214 0.762019 -0.56623
+-0.936332 -0.650677 -0.0315117 -0.817959 -0.607699 0.624249 0.888495
+-0.538406 -0.21957 -0.971602 0.299982 -0.481549 -0.363419 0.919384
+-0.177656 0.633112 0.961006 0.0322292 -0.397558 -0.86288 0.359295 -0.498907
+0.313094 0.347302 -0.931515 0.2274 -0.194406 0.901002 -0.183211 0.492452
+-0.0555201 -0.223885 0.339124 0.881303 0.347028 -0.931989 0.935646
+-0.960249 0.374315 0.427719 0.886643 -0.610111 -0.340919 -0.861892
+-0.77309 -0.771005 -0.89265 0.784726 -0.176239 -0.59436 0.452907 0.901254
+-0.33951 -0.896446 0.560837 0.657857 0.6397 -0.251398 -0.375343 0.925152
+0.767889 0.776224 0.228304 -0.265735 -0.770307 0.674781 -0.709107 0.688673
+-0.0179935 -0.559029 -0.453848 -0.0498401 0.619035 0.534469 0.538508
+-0.605998 0.752198 -0.898959 -0.358198 0.253901 -0.560671 0.0542763
+-0.801537 0.137144 0.653029 -0.310072 0.868368 0.895979 0.344743 0.88309
+0.51009 0.911849 0.412433 -0.50774 0.473596 0.123357 0.488988 0.422602
+-0.247433 0.786962 -0.355936 -0.61795 -0.333146 0.288632 0.401489 -0.161195
+0.619629 0.353057 0.129873 -0.48553 -0.643962 0.793926 -0.260973 0.738193
+-0.271011 0.300902 -0.255625 -0.196899 -0.310884 0.463357 0.545739
+0.0642049 -0.746434 0.0312008 -0.534848 0.386727 -0.394044 -0.136592
+-0.639938 -0.125413 0.822458 -0.0163202 -0.831933 0.243304 0.0835845
+-0.109819 -0.263907 0.350414 -0.443453 0.239869 0.861429 -0.49394 -0.0297523
+0.387729 0.657026 0.288703 0.213668 -0.843178 0.870313 -0.100632 -0.776229
+0.624257 -0.184434 -0.590113 0.133038 -0.673835 0.42339 -0.301372 0.256905
+-0.242029 0.461011 0.614018 -0.175316 0.682158 -0.340017 -0.306358
+0.180674 -0.893927 -0.0329915 -0.496265 0.64704 -0.80673 0.816391 -0.0227405
+-0.511206 0.749586 0.324426 -0.588578 0.731633 0.0103903 0.526134 0.408683
+-0.256027 0.769024 0.409292 -0.88282 -0.0139037 -0.220843 0.249845
+-0.728362 -0.478801 0.563889 -0.822624 0.547458 -0.38642 -0.225291
+0.371196 -0.884515 -0.62141 0.0543785 0.573484 0.238404 -0.141481 -0.871272
+-0.228759 -0.00496008 -0.405321 -0.0663771 0.540572 0.549933 -0.419932
+0.642915 0.739506 -0.0393885 -0.269934 0.323352 -0.867807 -0.628863
+-0.623337 0.543939 -0.376835 0.842055 -0.0336764 -0.540341 -0.00541768
+-0.530913 -0.651437 -0.373879 0.596194 -0.188957 0.654246 -0.552156
+-0.6946 0.0461859 0.425136 0.0923067 -0.727232 0.436202 0.118093 -0.384571
+-0.505481 0.747758 0.410103 0.714996 -0.0788929 0.76251 -0.500903 0.493941
+-0.0383628 0.345127 0.580724 0.823013 -0.816762 0.816806 0.526632 0.751311
+0.176557 0.663496 -0.0243367 0.725419 -0.328631 -0.465656 -0.12947
+-0.606257 -0.755194 0.0302401 0.197236 0.395497 0.77666 0.397157 -0.829292
+-0.354888 0.661359 0.673057 -0.241324 -0.0920525 0.0217313 -0.275228
+-0.650033 0.695618 -0.239013 0.482461 0.584513 -0.133738 -0.467729
+-0.753606 0.198563 -0.0801162 0.574328 0.370515 0.672695 0.109728 0.393439
+-0.409602 -0.0315059 0.167785 -0.121698 -0.476875 0.562172 0.153844
+0.540081 0.730521 0.0823469 -0.119007 0.508604 -0.744002 -0.536503
+-0.379099 -0.517365 0.726126 -0.436086 0.377468 0.660092 0.0119243
+-0.062981 0.352068 -0.45459 -0.439821 -0.272285 -0.532898 0.301422
+0.112311 0.665597 0.0473227 0.340226 -0.476158 0.350259 0.346503 0.721466
+-0.422589 -0.533556 -0.522983 0.0757775 0.561406 -0.719939 0.189364
+0.736802 0.512699 -0.419168 -0.50214 0.180212 0.732151 0.405037 0.690649
+-0.342393 0.817066 0.822425 -0.19811 -0.170585 -0.00960906 -0.183966
+0.0843094 0.186337 -0.339525 -0.772934 -0.646612 0.550507 0.564046
+0.452695 0.247418 -0.33724 -0.471828 -0.0587427 0.121892 0.80766 0.718705
+0.00680929 0.444281 -0.352458 -0.0231827 0.162945 -0.796439 0.586364
+0.179311 0.476521 -0.569629 0.503339 -0.257618 0.370019 0.806299 -0.684801
+0.51225 -0.514917 0.783005 -0.628046 0.436044 0.579696 0.182305 0.36794
+0.60085 -0.253543 0.16974 -0.390853 0.379326 -0.0498748 0.483581 -0.807632
+0.355495 0.434666 0.527345 0.516842 -0.058084 -0.364105 0.0444323 -0.735993
+-0.520848 0.0848005 -0.619585 0.251174 0.29002 0.72976 -0.661572 0.227479
+-0.511462 -0.571849 0.633173 0.276035 0.552367 0.641434 -0.269253 0.784109
+-0.741408 -0.658231 0.394871 0.0828319 -0.135257 0.785654 0.655901
+-0.0883092 0.277407 0.445409 0.327473 0.0265041 -0.632168 -0.283796
+0.0538263 -0.347673 0.614191 -0.481112 -0.0303797 -0.682108 -0.617428
+0.739628 -0.431869 -0.113293 0.149238 0.296776 0.349126 0.409234 -0.177757
+0.331158 0.117851 -0.436817 -0.647831 0.28219 -0.394438 0.633584 0.595235
+0.503814 0.727404 -0.523504 -0.335233 -0.0714134 -0.259293 -0.217885
+0.424861 0.443948 0.528297 0.267977 0.733394 0.620765 0.659832 -0.335029
+0.399491 -0.692404 0.714901 0.471658 -0.729963 -0.42572 0.602705 0.556965
+-0.36731 0.513438 0.214491 -0.716247 0.408588 0.430966 -0.320824 -0.718305
+0.356686 0.388347 -0.772503 -0.731744 -0.699603 0.333012 0.220973 -0.257542
+0.502044 0.306945 -0.410018 -0.283928 0.251241 0.481999 -0.600003 0.0456756
+0.340463 0.0377561 0.501463 -0.594775 -0.015507 -0.483183 0.485574
+-0.0807038 -0.250886 0.463413 0.495773 -0.702418 0.44709 -0.685287
+-0.687092 0.298555 0.132605 0.114882 -0.63336 0.585037 -0.080348 -0.0366592
+0.078957 -0.131559 0.19811 -0.589798 0.0484538 -0.265803 -0.441673
+-0.585173 0.350033 -0.711773 -0.573298 0.238271 -0.173883 0.337647
+0.684968 0.727698 0.659831 -0.739789 -0.049479 -0.49972 -0.104304 0.506399
+0.629377 -0.489331 0.301648 0.151661 -0.660537 -0.62112 -0.359871 0.127436
+0.707046 0.235909 0.734927 0.12304 0.0763171 -0.645178 0.0402257 0.454439
+0.52093 0.710564 -0.072247 -0.713049 -0.63649 0.371238 -0.46628 0.720145
+-0.139022 -0.70529 0.25552 -0.702439 0.029119 -0.0352826 0.391516 -0.708384
+0.55949 0.465008 -0.127794 -0.0208143 0.398531 -0.621433 0.116855 0.72709
+-0.585166 -0.481018 0.562012 0.471237 0.6655 0.165751 -0.707516 0.523411
+0.462807 0.0830106 0.666693 0.3467 0.278718 -0.601018 0.417231 -0.370105
+0.505445 0.361488 -0.07527 0.70442 -0.210057 -0.34542 -0.557546 -0.418198
+-0.134056 0.192986 -0.190269 -0.611525 -0.2634 -0.222219 -0.598422
+0.665082 -0.231841 0.654043 -0.509599 -0.576013 -0.449476 0.410317
+0.45798 0.124308 -0.222888 -0.683149 0.591303 -0.148623 -0.608435 0.695386
+0.323044 0.545027 -0.360188 0.0783212 0.27972 -0.223151 0.494273 -0.610568
+0.434615 -0.703194 -0.358026 -0.286511 0.350378 -0.549627 -0.246215
+0.260122 0.496291 -0.235503 -0.479008 0.567751 0.323822 -0.115039 0.196336
+0.175999 0.300174 -0.570021 0.263679 0.0880464 0.704413 -0.370217 -0.198681
+0.294029 0.0815164 -0.395507 0.165862 0.525991 0.471599 0.15045 0.482413
+-0.0613482 -0.554782 -0.677325 -0.505148 -0.0165601 0.297918 -0.247105
+-0.128779 0.528402 0.559834 0.687403 -0.608829 0.612915 0.0459864 0.345713
+0.213191 -0.454221 0.00844385 0.0109279 -0.611085 -0.251864 0.541453
+-0.00680817 0.20224 0.0888158 0.472351 0.197968 0.600626 -0.545826
+-0.296135 -0.361889 -0.403542 0.62498 -0.21801 0.490471 0.45164 0.504504
+-0.0748931 -0.0910913 -0.454578 0.304081 -0.289184 0.365134 0.0521821
+0.669388 -0.00531549 -0.609455 0.134414 -0.014946 -0.686835 0.567918
+0.316421 -0.034298 -0.333065 -0.149974 -0.631012 0.475446 -0.535029
+-0.0158695 -0.447376 0.267874 -0.0135686 0.320405 0.442661 -0.563091
+0.421266 -0.54511 -0.646913 -0.564367 -0.511526 -0.444568 -0.361846
+-0.6733 -0.568254 0.0271765 -0.601813 0.624402 0.0579314 -0.207928
+0.460577 0.13731 -0.673844 -0.118013 0.560369 -0.41876 0.396223 -0.462294
+0.234038 0.464818 0.591199 -0.516332 -0.209218 -0.624572 0.491284 0.0815168
+0.044928 -0.0939441 0.402145 -0.156087 -0.00193751 0.457005 0.579195
+-0.297386 -0.392002 0.0500696 -0.235417 -0.520099 -0.504788 0.372377
+0.13047 0.115681 0.316857 0.0735848 -0.253244 -0.504774 0.47214 0.188744
+-0.460137 -0.626947 0.191956 0.467457 0.475433 0.521683 -0.0967438
+0.0854922 0.441389 -0.394306 -0.387262 0.0130479 0.156095 -0.265696
+0.625665 0.368947 -0.628428 -0.0312153 0.27487 -0.534798 -0.578554
+-0.132449 -0.370106 -0.18532 0.113568 0.338905 0.205818 -0.139103 0.292232
+-0.466877 0.381875 0.643627 -0.617752 -0.347127 -0.565264 -0.447765
+-0.0991089 -0.45228 -0.11953 0.243897 0.421926 -0.465014 0.280245 0.486581
+0.088119 -0.0574674 -0.415159 0.0977275 0.127468 -0.00414757 -0.206007
+-0.0248921 -0.194346 -0.347053 0.436773 0.162224 -0.085168 0.440861
+0.598579 -0.437637 -0.602206 0.112534 0.599072 -0.126888 -0.530007
+-0.641592 -0.560737 -0.562271 -0.397322 -0.295041 -0.286294 0.416746
+-0.310183 0.47051 0.528005 -0.57018 0.577526 -0.054944 0.48164 0.511956
+0.406457 -0.55139 0.293391 -0.0229246 -0.336202 -0.0374929 -0.0554736
+-0.0152052 -0.551992 0.402195 -0.623831 0.516455 -0.565019 0.0641088
+0.136063 -0.572871 -0.622318 0.0863632 0.313693 0.459188 0.269234 0.119192
+-0.604932 -0.136763 0.0913802 0.433635 0.202212 0.142965 -0.557436
+0.519055 0.357822 -0.107945 0.453436 0.543711 -0.0272039 0.497259 0.348116
+0.588512 0.0931868 0.465119 -0.106892 0.205048 -0.407759 0.199801 0.10876
+-0.449567 0.581581 -0.498432 -0.0377746 -0.432671 -0.350054 0.422076
+0.0385665 -0.0291709 0.168769 0.392004 -0.395741 0.0711381 0.408597
+-0.525884 -0.367884 -0.102081 0.182327 0.365597 0.498273 0.377647 -0.365565
+0.0100336 -0.60319 0.0940302 0.216856 0.229052 -0.12576 -0.167006 0.389126
+-0.035366 -0.0957428 -0.0386752 -0.285765 0.278915 -0.444399 0.614114
+0.128978 -0.261654;
+#A 1000 -0.367433 -0.275242 -0.494542 0.00431681 0.0247323 -0.0105089
+-0.274871 0.61231 0.224424 0.108666 -0.363012 0.24762 -0.468279 -0.0948115
+0.0297219 -0.466191 -0.604472 -0.421738 -0.308083 0.431317 0.542731
+0.489894 -0.255843 -0.14041 -0.161539 0.163833 0.319203 -0.501539 0.241121
+-0.211488 -0.593707 0.0076551 -0.272384 -0.183472 -0.117746 0.460573
+-0.595302 -0.452789 0.446612 0.502246 0.355556 -0.571297 -0.369663
+0.371721 0.224178 0.0209524 -0.545654 0.0221634 0.359498 0.070479 0.337225
+-0.248012 0.576219 -0.295738 0.559389 -0.0700473 -0.333728 0.294 0.218175
+-0.172732 0.383528 -0.155221 0.062428 0.340428 -0.236089 -0.5382 0.0437288
+-0.163413 -0.508837 0.522399 -0.034779 -0.150689 0.404752 -0.19332
+-0.174052 0.332519 0.333605 0.377217 -0.134947 0.000228848 -0.0633218
+0.169028 0.310182 0.498309 -0.0821215 -0.118023 -0.344128 0.217763
+0.335757 0.479297 -0.274292 0.233225 -0.37188 -0.163501 -0.184397 -0.0960866
+0.38999 0.270889 -0.0135504 -0.154792 -0.422041 -0.100883 0.517478
+0.482862 -0.440394 -0.436418 -0.0914329 -0.249056 0.0930156 -0.516369
+-0.400413 0.41524 0.579206 -0.274995 0.210603 0.183352 -0.323886 -0.206244
+-0.142845 -0.396456 0.416858 -0.318263 0.293502 -0.249623 -0.0445082
+0.0329547 -0.00507005 0.227516 -0.094368 0.291225 -0.292363 -0.214395
+0.154849 -0.541658 -0.403338 -0.482903 0.506149 0.572239 -0.416546
+0.566058 -0.278873 0.528777 0.53763 -0.135283 0.00586314 -0.257098
+-0.542307 -0.0928621 -0.253854 -0.569594 0.38338 0.459174 -0.288573
+0.34601 -0.134484 -0.249679 -0.192104 -0.449886 -0.426976 0.471713
+0.12383 -0.0358312 0.337693 0.1343 0.547612 -0.265108 0.511812 -0.096223
+0.108317 0.0683641 -0.296455 0.0799446 0.549392 -0.26494 -0.0668157
+0.413318 -0.541842 0.0376601 -0.244326 -0.424026 0.0293535 -0.0948211
+0.504502 0.519598 0.274755 0.27989 -0.124142 0.397101 -0.0362575 -0.204294
+-0.177781 -0.148448 0.509071 -0.296815 -0.408951 0.22306 0.126114 0.115586
+-0.313965 -0.0422686 -0.123403 -0.0918809 -0.0434048 0.205762 0.497157
+0.216819 -0.352018 -0.434552 0.0969264 0.435664 0.487445 0.206018 0.433077
+0.0522922 -0.461244 -0.128747 -0.376982 -0.364537 -0.534637 -0.355191
+0.051794 -0.111232 -0.26376 -0.171768 -0.535732 -0.1053 -0.286618 0.522006
+0.490407 0.0269577 0.334498 0.288256 0.131309 -0.35567 0.0504357 -0.538349
+-0.200592 0.528612 0.333771 0.42801 -0.255544 -0.311824 -0.0103947
+-0.510054 -0.21405 -0.133371 0.101145 -0.320838 -0.234215 -0.362298
+-0.00609061 -0.0941244 -0.274805 0.0855003 0.532705 -0.390074 -0.189968
+-0.17807 -0.427541 0.394226 -0.0915744 0.0087277 0.0882959 0.390637
+0.0978042 -0.0682682 -0.287665 -0.321582 -0.252169 0.390103 0.45845
+-0.51312 -0.426996 -0.165765 -0.0878426 -0.458708 0.194024 0.409689
+0.372037 -0.0333962 0.451497 0.366627 -0.457975 0.245902 -0.277681
+-0.435963 0.166079 -0.48291 -0.0583709 -0.125538 0.227343 0.303136
+-0.064972 -0.491479 -0.0962057 -0.206229 0.107734 0.326645 -0.257916
+0.458317 0.49532 -0.459684 -0.356774 -0.232013 -0.372925 -0.372314
+-0.302658 0.235733 0.478405 -0.470904 -0.300925 -0.292057 0.398182
+-0.195054 0.497424 -0.208164 -0.311334 -0.355826 -0.144643 -0.151203
+0.443159 0.415945 -0.455035 -0.358111 -0.0568893 0.0884788 -0.363805
+0.133959 0.470788 0.414416 -0.149819 0.393441 0.113702 -0.194813 -0.396641
+-0.0369495 -0.052249 -0.0308795 -0.144171 0.425029 -0.461673 0.365892
+-0.466819 0.00353357 0.466091 0.181119 -0.0473516 -0.217339 0.31901
+-0.493251 -0.285854 -0.140661 -0.187819 -0.261082 -0.373948 -0.111184
+0.368464 0.142652 0.170717 -0.121921 0.456237 -0.191502 -0.233861 0.205927
+-0.144203 -0.1619 -0.0928985 -0.134012 -0.441922 -0.330149 -0.150014
+0.0512567 0.398885 -0.222977 0.216484 -0.142294 0.447771 -0.465575
+0.242806 0.365434 0.244199 0.402724 -0.151852 -0.14024 -0.333509 0.273799
+0.420283 0.413328 -0.39063 0.179519 0.326531 -0.399391 0.384413 0.151763
+0.238433 -0.429873 -0.108666 0.380411 0.15069 0.282908 -0.457724 -0.38476
+0.174552 0.0572583 -0.0910657 -0.195095 0.0783487 0.329131 0.149767
+0.006806 -0.422064 -0.306607 0.169531 -0.463747 0.355426 0.140381 -0.462418
+0.333689 -0.0960503 -0.360754 0.119676 -0.312339 -0.0121017 -0.162273
+-0.430013 0.0237817 -0.00227968 0.148671 0.378073 0.15942 -0.0425293
+0.00365751 -0.0688015 -0.34862 0.311434 0.343505 0.0208228 0.399145
+-0.484528 0.451569 0.368019 -0.306757 0.189017 -0.0569441 -0.220609
+0.141537 0.35402 -0.0006415 -0.0401325 0.287822 0.0738417 -0.0212225
+0.308195 0.128946 0.0163164 0.120673 0.277234 0.034024 -0.206095 -0.372988
+-0.468244 -0.0811246 -0.0588176 -0.171899 -0.210384 -0.365513 -0.222266
+-0.14499 -0.328541 -0.409464 -0.141213 0.283887 -0.0739413 -0.306423
+0.322907 0.270656 -0.263126 0.450735 -0.0218741 -0.261802 0.475905
+-0.473354 -0.0700584 -0.133136 -0.355867 0.00855277 0.262923 0.012141
+-0.137954 -0.199379 0.326304 -0.355264 0.433404 0.352456 -0.273565
+-0.444891 0.139199 0.376416 0.0151982 0.443985 -0.240998 0.264514 0.461
+-0.118386 -0.387363 0.0910616 0.228133 -0.11079 -0.280568 -0.244386
+0.292792 -0.361689 -0.279105 0.295952 0.414509 -0.281819 0.442386 -0.195142
+-0.346505 0.0396845 -0.402754 -0.0985328 0.379534 -0.135418 0.360593
+0.242732 -0.105493 -0.0723099 0.0717686 -0.155488 -0.420064 0.121793
+0.192059 -0.455617 -0.208639 0.223255 0.162779 0.037244 0.136878 -0.0850288
+0.349981 0.167607 0.444043 -0.0383285 0.11186 0.0802951 -0.357286 -0.0806454
+0.259644 -0.0360423 -0.055709 -0.223303 -0.248628 -0.0425518 -0.26166
+-0.0282449 0.440017 0.28618 0.0718392 -0.191033 -0.344718 -0.200991
+-0.134885 -0.227084 -0.0267616 0.217874 0.0678331 0.399215 0.440716
+-0.348663 0.26552 -0.428508 0.392761 0.0243112 -0.36356 0.0455636 0.27707
+0.157334 0.382869 -0.0740053 0.43482 -0.00214982 0.0627078 -0.271819
+-0.327664 -0.384596 0.00444482 -0.326818 -0.0775521 0.23256 -0.0896605
+-0.0635293 -0.148796 0.0851521 0.374422 0.2215 -0.0345469 0.404843
+-0.222723 -0.437568 0.282256 -0.0619798 -0.0772161 -0.0800227 -0.410801
+-0.439997 -0.197767 0.163016 -0.17148 -0.0611159 -0.119884 0.119299
+0.439572 0.33912 -0.103626 0.364075 -0.361341 0.3171 0.0145265 -0.419276
+-0.121783 -0.151006 -0.0310109 0.114667 -0.209216 -0.322913 -0.235401
+-0.40658 0.0924605 0.113212 0.147169 0.438308 0.412988 0.0774338 0.21899
+0.195107 0.327054 -0.131339 0.115037 -0.305849 0.153441 -0.249048 -0.0652134
+-0.0182817 -0.217721 -0.352367 0.211939 0.380106 -0.0904079 -0.0739979
+0.423267 0.263662 -0.432514 -0.213369 -0.0989565 0.16136 0.397206 0.217036
+0.246652 -0.396639 0.282959 0.214799 -0.269673 0.386277 -0.215938 0.167963
+-0.396283 -0.315497 -0.333759 0.248123 -0.194862 -0.219814 -0.03245
+-0.103017 -0.349431 -0.111254 -0.281066 0.100527 0.0117867 0.272746
+-0.128362 -0.129661 0.132829 -0.307941 0.00660918 -0.200856 0.235275
+-0.0927469 -0.0226129 -0.167796 -0.370535 0.148211 -0.377942 -0.175602
+-0.276206 0.338425 -0.0396304 0.301293 0.0180009 0.261997 -0.0591971
+0.0446929 -0.155237 -0.204242 -0.237984 -0.183541 -0.122579 0.189739
+-0.26438 0.360301 0.0482359 -0.334967 -0.206607 -0.198226 -0.201065
+0.16676 -0.37113 -0.342875 -0.209142 0.0310099 0.298324 0.120238 0.0470919
+0.297156 -0.240169 -0.215206 0.408261 0.330327 -0.097586 -0.268137
+-0.0556848 0.349251 0.00282997 0.30927 0.309262 -0.0128703 -0.00612628
+-0.184591 -0.248113 0.382744 0.179613 0.00817505 0.195997 -0.144197
+-0.0751613 0.219514 0.0317123 -0.28574 0.266036 -0.0310973 -0.0661612
+0.342639 -0.277836 0.107258 0.20614 0.00382019 -0.224966 0.0614965
+-0.408289 0.394971 0.276286 0.215131 -0.397132 0.109002 -0.40052 0.390415
+-0.359158 -0.230041 0.27466 0.178274 0.0948681 0.00116634 -0.248427
+0.27649 0.338282 -0.376667 -0.31084 -0.0300047 -0.218511 -0.268928
+0.39139 -0.313863 0.321134 -0.140555 -0.0516427 -0.307018 -0.291352
+0.0298606 -0.385452 -0.181127 0.053446 -0.239011 0.097486 0.177064
+-0.000433934 -0.30665 0.0959365 -0.317159 0.387091 0.19832 0.243064
+0.371351 0.0748231 0.205311 -0.366705 -0.0768744 0.36651 0.216433 0.139159
+0.363253 -0.340081 -0.07106 0.171344 0.211102 -0.158153 0.0424928 0.183498
+0.365141 -0.234668 0.293459 0.0180548 -0.142257 -0.352378 0.0748415
+0.0258298 -0.271492 -0.290075 0.0295616 -0.381029 -0.0205016 0.207977
+-0.100546 0.347204 -0.101012 -0.297965 -0.273311 0.141041 0.137948
+0.18005 -0.326404 -0.0871252 0.277847 0.235149 0.0395204 -0.238603
+-0.264331 -0.203643 -0.0813457 -0.309769 -0.374069 -0.0502322 -0.0566436
+0.123142 0.147841 0.248827 -0.227233 -0.0982252 -0.254568 -0.273491
+-0.335766 0.283466 -0.136765 0.010351 -0.0925355 0.234273 -0.160938
+-0.245124 -0.309106 0.0330107 -0.274756 -0.314079 0.00381228 0.0424322
+0.202715 -0.259872 -0.18628 0.069997 -0.365253 -0.133553 0.108994 0.0705565
+-0.273852 -0.134493 -0.288914 -0.110644 -0.0990951 -0.199465 -0.320406
+0.335455 0.282634 0.213235 0.276555 0.268883 0.286708 -0.118949 -0.328117
+0.331795 -0.316752 0.201464 -0.364426 -0.336822 -0.16654 0.302646 0.0643729
+-0.0167951 -0.158792 0.28786 -0.229108 -0.309211 -0.313667 -0.243702
+-0.306722 -0.180656 -0.234998 -0.108153 0.275709 0.0259072 -0.12274
+0.120937 -0.183879 -0.340529 -0.0978198 -0.165505 -0.291105 0.113772
+-0.0929008 -0.0994556 0.164509 0.295482 -0.299901 0.271355 -0.129076
+0.099856 0.050496 -0.346137 0.270383 -0.0327291 -0.344542 0.155496
+-0.343207 0.261987 -0.316049 -0.0735887 0.0214508 -0.257683 -0.36021
+-0.352323 0.0680364 -0.273948 0.050504 -0.0290199 0.201088 -0.0193107
+0.19138 0.270749 0.335952 0.318403 -0.33531 0.143152 0.103387 -0.193895
+0.138447 -0.0235258 -0.0415646 0.15683 -0.00642759 -0.116454 0.282772
+0.20992 0.0739448 -0.0861439 -0.0420883 -0.30765 0.157526 0.08245 0.182733
+-0.133364 -0.0246687 0.218607 -0.209579 -0.320855 -0.322398 0.35486
+0.134056 -0.332112 -0.243868 0.215638 0.0652962 -0.0840778 -0.283003
+-0.0369627 -0.271987 -0.00461057 -0.19783 0.0413568 0.203738 0.157843
+0.0195133 0.135245 -0.212573;
+#A 2000 0.200209 0.0734631 0.0928159 -0.292988 0.2947 0.18162 -0.0486224
+0.0396767 0.216987 -0.062405 -0.213681 0.0946136 -0.180953 0.184422
+0.090247 -0.32984 0.0228291 0.116746 -0.13639 -0.233402 0.116045 0.209376
+0.163891 -0.0382326 -0.188677 -0.317437 -0.261232 0.191135 -0.295033
+-0.238871 0.312057 -0.11146 0.161592 0.0986467 -0.208995 0.0948014
+0.0407823 0.288357 -0.0250742 0.159394 0.122286 0.140017 0.129958 0.19922
+0.0839394 0.125641 0.155163 0.24258 0.180648 -0.0777762 0.0850191 0.246365
+-0.0264099 -0.100617 0.114681 0.284826 0.339862 0.0118169 -0.232638
+0.221441 -0.19921 0.248252 0.324319 0.240422 0.301309 -0.121478 0.222187
+0.176571 -0.219922 0.289331 -0.118886 -0.294437 0.32212 -0.209111 0.178933
+0.0594453 -0.262483 0.197674 0.0996593 -0.210097 0.0171813 -0.0484113
+0.33269 0.222671 -0.0358214 -0.33749 -0.0942383 0.215121 -0.109529
+0.330561 0.100836 -0.0992404 0.0287395 -0.253757 0.0893601 -0.148973
+0.140383 -0.167216 -0.169799 -0.25304 0.299888 0.0102152 0.0863718
+-0.092021 0.166359 0.158904 0.275049 0.300602 0.0963948 -0.28523 0.172087
+-0.272496 0.0823892 0.262345 0.099517 -0.165058 -0.134409 0.309801
+0.283063 -0.0316093 0.204293 0.21318 0.0538177 0.18466 0.00250576 -0.0544187
+0.189842 -0.222168 -0.106343 -0.307607 -0.196389 -0.0696753 -0.297406
+-0.0539127 0.320251 -0.0609413 -0.291684 -0.199573 0.08094 0.193998
+-0.233949 0.00121626 -0.0501311 0.0616576 0.233605 0.255903 0.218478
+-0.136381 0.122158 -0.00800147 -0.0114827 -0.255058 0.29856 -0.0854143
+0.287666 0.0150338 0.0117555 -0.175524 -0.127498 -0.291856 -0.239653
+-0.146728 -0.0467028 -0.165863 0.0958069 -0.0884098 -0.310673 0.317856
+0.282399 -0.0525878 -0.0736862 -0.293273 0.019204 -0.279421 -0.317724
+0.157718 -0.30051 0.0174446 0.183465 -0.245442 -0.130558 0.184748 -0.230893
+-0.269816 -0.100168 0.3068 0.14368 -0.317063 -0.309782 -0.294259 -0.291738
+-0.0143223 -0.0754103 0.048723 0.10371 -0.103782 0.271576 -0.264943
+-0.109083 0.263659 -0.0276319 -0.149169 0.116271 0.0665562 0.147749
+0.148644 0.227626 0.0559344 0.27466 0.252752 0.152369 0.246294 0.184177
+-0.246614 -0.308383 0.0951599 0.00363405 -0.297969 0.258989 0.0806836
+-0.0559659 -0.111874 0.225087 0.306603 -0.0646075 0.0318277 0.0923795
+-0.0981586 -0.268282 -0.123288 0.0201577 0.29108 0.0952233 0.0526 -0.301416
+-0.0584485 0.112849 0.00126683 -0.0832985 -0.20591 -0.0706531 -0.228938
+0.271258 0.180262 0.221928 0.10046 -0.182533 -0.226745 -0.304964 0.208472
+0.000754345 0.200569 -0.220168 0.0375318 0.0816712 -0.2192 -0.0154953
+0.182909 -0.230553 0.259952 -0.161504 0.154741 -0.153478 0.26998 0.0513453
+-0.157198 0.213378 -0.0856444 -0.120973 -0.0966633 0.224547 0.0105354
+-0.198395 -0.118149 0.0729837 0.290852 -0.196454 0.118081 0.202891
+0.17986 -0.0721225 0.177271 -0.0174806 -0.290065 0.0745255 -0.154929
+-0.168351 -0.0243916 0.249136 0.256901 0.189068 0.156595 0.0642284
+-0.194196 -0.247858 0.0801667 -0.119518 -0.247126 0.117147 -0.069204
+0.00629999 -0.159399 0.147141 0.11182 -0.238538 0.0228745 -0.283409
+0.0771356 -0.0566473 -0.0391579 -0.278063 0.268495 -0.181168 -0.151863
+0.183665 0.0633193 -0.121778 0.19827 -0.0128894 -0.00344577 -0.277451
+0.0274723 -0.0133802 0.00842348 -0.0791821 -0.124454 0.0900195 0.19345
+0.201803 0.273694 -0.270986 -0.0593161 -0.149996 -0.200205 -0.082581
+0.129325 0.267734 0.253242 -0.0720151 0.233291 -0.156047 -0.227897
+0.221627 0.226295 0.281477 0.0193852 0.00892663 -0.273691 0.0391456
+0.192175 -0.128201 0.165189 -0.229504 -0.140561 0.193843 0.200563 0.102336
+0.185621 0.0424851 -0.09698 -0.125775 0.146362 -0.0854688 -0.102335
+-0.0463309 -0.231399 -0.248978 0.0922811 0.039514 0.0599057 0.242111
+0.266201 -0.0979566 0.25037 0.0117171 0.226489 -0.101533 -0.266627
+0.03791 0.102744 0.212804 0.118176 -0.0125826 0.215656 -0.0334058 0.0895978
+0.0783781 -0.0343111 0.127555 0.0102875 -0.0246137 0.236109 0.0828266
+-0.113185 -0.204268 -0.240917 0.26065 -0.264378 -0.153071 0.0278315
+0.121887 0.0825421 0.229201 0.276274 -0.0715817 -0.180164 -0.249047
+-0.125105 0.131866 -0.232858 0.25224 0.276273 0.0810688 0.245526 0.244941
+-0.0971761 -0.0832707 -0.0733448 0.0653995 0.246176 0.102141 -0.220758
+0.226546 -0.054626 -0.272391 -0.0282433 0.205286 0.0329339 0.171306
+0.236747 -0.157997 -0.0388805 -0.15742 -0.179038 0.0381513 -0.188084
+-0.251478 -0.253176 0.0475456 -0.105379 0.158924 -0.24756 0.0924737
+-0.0567246 -0.107556 -0.259675 0.0212133 0.0819598 -0.202242 0.260077
+0.00780536 -0.245202 0.123752 -0.110788 0.0311192 0.0315005 -0.0562755
+-0.233526 -0.235854 0.114524 0.205028 0.158546 -0.0634319 -0.0846447
+0.185626 -0.117343 -0.193117 0.0580969 -0.265026 0.133234 -0.136169
+-0.112354 -0.247143 -0.11897 0.105658 -0.113451 -0.123621 -0.0447416
+-0.197857 -0.0474364 -0.226956 -0.205807 -0.229976 -0.0535528 -0.245341
+0.177827 -0.261107 -0.163546 0.197595 -0.26165 -0.168897 -0.0280393
+-0.209458 0.0496961 -0.209237 -0.0881118 -0.0378347 -0.219661 0.185735
+0.0150017 0.230972 0.0276925 -0.190811 0.0082931 -0.252202 -0.191321
+-0.244875 -0.21279 0.243977 0.0583171 0.0358342 -0.185315 -0.00703214
+-0.0733836 -0.254737 0.0913277 0.143447 -0.0218662 0.189068 -0.21364
+-0.00290769 -0.197538 0.112431 0.0912156 -0.0544065 -0.0978668 0.119396
+-0.0297196 0.130008 0.0906917 0.235269 -0.214147 0.0161478 0.0888101
+-0.0660549 -0.112315 -0.10933 0.238853 0.0765751 -0.139129 0.17043
+-0.208353 0.117063 -0.0550542 0.0875908 -0.0861098 -0.211831 0.0237104
+-0.186028 0.195406 0.129471 -0.231986 -0.0995911 -0.119745 -0.16781
+-0.0890738 0.0947444 0.212143 0.0700198 0.108372 0.0628498 -0.16294
+0.0946244 -0.0320069 -0.026718 -0.0789739 -0.216737 0.18733 -0.0521794
+-0.180563 0.0248214 -0.193363 -0.105484 -0.0843865 -0.0133015 0.0996474
+0.213871 0.0657021 -0.235381 0.0880285 -0.110797 0.174899 -0.105456
+0.172242 -0.0733781 -0.100684 -0.240032 -0.0973065 0.201482 -0.0443407
+-0.155592 -0.150305 0.169108 0.0895078 -0.107437 0.12768 -0.0670655
+0.142149 -0.08015 0.0449655 0.194063 0.244388 0.10573 -0.163425 0.125315
+0.152969 0.0788152 0.0542501 0.0290168 0.179835 0.0378998 0.114797
+-0.0558295 -0.199985 -0.207163 -0.0974645 0.0929253 -0.20687 0.119756
+0.0165074 0.232307 0.124001 0.111752 0.204292 -0.140088 -0.0957599
+0.229428 -0.134416 0.220038 -0.122082 -0.0997085 0.108066 -0.0775698
+0.194433 -0.173509 0.145684 0.0787471 -0.230043 -0.163299 0.0801612
+0.172812 0.0702269 -0.0116277 -0.0519028 0.0636801 -0.084178 0.107996
+-0.148294 -0.0600114 -0.0247268 0.168201 0.205954 0.156607 0.208827
+0.0679073 0.209747 0.011258 -0.170288 -0.230386 0.229419 0.190623 0.207985
+-0.212651 0.0317362 -0.106794 -0.13473 0.142166 -0.0251642 -0.0288235
+-0.0337985 0.152869 -0.0406989 -0.168958 0.0333708 -0.0197622 -0.0885399
+-0.140533 -0.0989477 0.168748 -0.0897475 -0.0241031 -0.103746 0.150809
+-0.03587 -0.053442 0.206022 -0.0999474 -0.0928646 0.0403806 -0.0919412
+0.0577665 -0.126466 0.175648 -0.180812 0.0996705 -0.0405699 -0.114944
+-0.102486 0.0918843 0.00448387 0.00183077 0.00944839 0.0138147 -0.0505852
+0.0866179 -0.115519 -0.108612 -0.154609 -0.111818 0.0968398 -0.185756
+-0.02288 0.212193 -0.0387429 -0.160995 0.189006 0.0309686 0.112071
+-0.219272 -0.211714 -0.135507 0.177542 -0.201028 -0.177894 0.027844
+0.213909 -0.0401007 0.0230527 0.144766 -0.0210758 0.142618 -0.039296
+-0.0957271 0.124666 -0.165123 -0.161159 0.141317 -0.0982746 0.0572213
+0.050454 0.214058 -0.0768965 -0.209624 -0.0406298 0.213217 0.0969856
+-0.0863185 -0.0743621 -0.0857871 -0.075959 -0.131607 -0.138822 -0.148579
+-0.213226 0.0180573 0.13084 0.0543585 0.119827 -0.112457 -0.0977953
+0.0164791 -0.177642 -0.157413 0.0320012 -0.126222 0.078934 -0.00208391
+-0.127755 0.139318 -0.0980561 -0.0908191 -0.0733907 0.0203532 0.159281
+-0.0920969 0.208396 0.0156036 -0.200091 0.127974 0.0395545 0.0116631
+0.0743272 -0.126499 0.132529 -0.0953007 0.123712 -0.078223 -0.0163382
+0.104084 0.0993994 -0.0724851 0.166886 0.193674 0.0273915 0.0709334
+-0.0395487 0.0895268 0.0889484 -0.00710997 -0.155659 0.213252 0.145936
+0.212149 0.209009 -0.157068 -0.191406 -0.00746764 0.191534 0.0806529
+-0.110945 -0.171742 0.0461092 -0.147565 0.107846 -0.044346 0.182862
+-0.0644761 -0.0858064 0.0550425 -0.0958679 0.03817 -0.177639 0.120698
+0.0711522 0.0449057 -0.122984 -0.054183 -0.0687513 -0.127333 -0.0674979
+0.193451 -0.0127256 0.0644915 0.0326161 -0.0114128 -0.105916 0.173758
+0.0514912 -0.115653 -0.161222 -0.00476611 -0.13773 0.0854689 -0.0822358
+-0.161381 0.0236774 -0.155088 0.0437309 -0.137562 0.0671559 0.0871476
+-0.0421604 0.144062 -0.185112 0.0901474 0.172525 -0.181544 -0.046364
+-0.102488 0.114237 -0.161602 -0.181793 0.118405 0.10209 -0.16913 -0.166716
+-0.0144649 0.114457 -0.177584 -0.0795526 -0.153275 -0.0945481 0.198615
+0.0764526 -0.161438 0.0378139 -0.0691348 -0.178629 0.108782 0.151731
+0.0177777 0.196047 0.121159 -0.201375 -0.126326 0.153518 -0.104173
+0.172263 0.146907 -0.0176664 -0.0834507 -0.142872 0.147091 -0.0626841
+0.132974 0.00635607 0.0414528 0.199162 0.0839908 -0.100203 0.106594
+0.133035 0.12103 -0.118235 -0.107672 0.058426 0.11397 -0.0416509 0.0927299
+-0.100303 0.0709961 0.109996 -0.0903446 -0.0535805 -0.145821 -0.0959745
+-0.0837521 0.114064 -0.0103824 0.192805 0.0253374 0.106676 -0.0059829
+0.143166 0.155225 0.069973 0.177585 -0.0725978 -0.00102501 0.152026
+0.174496 -0.0668389 -0.122991 0.169162 0.143466 0.0841107 -0.0880505
+0.157568 -0.103738 0.0507492 -0.0998481 -0.156989 -0.107662 -0.0551859
+-0.133294 0.161826 0.175963 -0.0661633 0.126007 -0.190035 0.0092972
+-0.0411551 0.0829361 0.0709953 0.121547 -0.0602791 0.0462523 0.0146203
+-0.188068 0.0735257 -0.164606 -0.0488419 0.156753 0.0711526 0.00221219
+-0.0634613 0.165176 0.035219 -0.12677 -0.0717442 0.168748 -0.109586
+0.111461 0.0341829 0.101998 0.0618109 0.189829 0.0912702 -0.00186241
+-0.0433434 -0.0109901 0.10514 0.00251591 -0.0229517 0.138047 0.0200906
+-0.0869301 -0.185712 -0.0113521 -0.0353086 0.142783 -0.119065 0.0486695
+-0.165385 -0.06074 0.182049 0.149746 0.102271 0.0411116 0.0484548;
+#A 3000 0.173558 0.0864053 -0.0398964 -0.163088 -0.0743301 0.0764632
+0.0642505 0.0859902 0.0358329 0.164668 0.185583 0.0353322 0.150186
+-0.0673695 0.0130015 -0.0308566 0.0243223 0.086611 0.125987 -0.0834
+0.136504 0.0972897 -0.0322126 -0.0595156 -0.0117016 0.0200816 0.174668
+0.145331 0.0151355 0.174449 0.00582571 0.0439086 0.0765667 -0.178212
+-0.153946 -0.146511 0.0721378 -0.0277833 -0.0724084 0.0389396 0.0916826
+0.0469879 0.0735868 -0.136336 0.109006 0.132552 0.0807181 0.0430299
+-0.0476355 0.0295503 0.00502616 0.0213951 -0.0923652 -0.148128 -0.00796943
+0.0710561 0.140625 -0.0142634 0.019726 -0.148771 0.0392031 0.0622252
+-0.085075 -0.0514789 -0.0154989 -0.173611 -0.00463826 -0.0937347 0.145399
+0.0810978 -0.171749 -0.0593341 -0.0834753 0.144305 0.122191 -0.126667
+0.118683 0.0523141 -0.112697 -0.0573408 0.114695 -0.0171614 -0.0783925
+-0.0774069 -0.169516 0.128926 0.154329 0.106715 -0.106938 -0.0409872
+0.111444 -0.0967544 -0.07789 0.0341553 -0.0127092 0.0462965 -0.0850067
+0.032137 -0.138081 -0.0358738 0.12415 0.0332228 -0.109311 0.158179
+0.15287 0.131136 0.0559478 0.110903 0.0632892 0.137327 -0.163804 0.127648
+-0.00612092 0.0689045 -0.130614 0.123659 0.0423482 0.0244303 0.0533944
+-0.103913 0.0644314 0.147814 -0.000301854 0.164613 0.0770267 -0.007688
+0.0795304 -0.0891494 -0.115913 0.0338951 -0.0266791 -0.00139539 -0.0107366
+-0.167743 -0.112874 0.00364346 0.0246054 0.0506078 -0.0365013 -0.0613995
+-0.162893 0.115542 -0.0434122 0.000662969 0.133679 0.0608481 -0.157543
+0.0701366 -0.00752228 0.062997 -0.00232885 -0.0245298 0.05496 0.0685631
+-0.0537974 -0.162219 -0.126501 -0.152731 0.0605448 0.15829 -0.093694
+0.131179 0.142254 -0.0162248 0.0574343 0.149152 -0.0570182 -0.150853
+0.155237 -0.0576269 -0.0740736 0.103659 0.00790221 0.0704513 -0.0568679
+0.0106242 0.0371273 0.0824222 -0.164666 -0.0830993 -0.161305 0.0638288
+-0.0607619 -0.154124 -0.0244543 -0.0618564 -0.138769 -0.161935 0.0493661
+-0.154418 0.138621 0.0403727 -0.00528452 -0.0566457 -0.129225 -0.103856
+-0.0352825 -0.0351495 -0.153171 0.0344591 0.137348 -0.157252 0.0170674
+-0.0111438 0.119622 0.0783717 -0.158601 -0.0803632 -0.101834 -0.0766658
+-0.157058 0.128418 0.0479387 -0.137988 0.156363 0.0178816 -0.0723136
+-0.0452653 -0.0159216 0.0372501 -0.00573264 -0.108602 -0.13679 0.155166
+-0.158697 0.0824443 -0.0170316 0.0335439 0.0170823 -0.0561548 0.0428964
+-0.0858373 -0.0824806 0.102465 -0.0135689 -0.0165507 0.0732273 -0.107949
+0.00977816 0.143483 -0.106062 0.0239498 -0.139412 -0.13419 0.0995984
+-0.0624123 -0.0420321 0.0129472 0.00387326 -0.0153612 -0.0951885 0.00409278
+0.0920586 -0.102916 0.0759207 0.109607 0.103106 -0.143043 -0.0185282
+0.0434247 -0.129843 0.0691915 0.00224206 0.143839 0.0689207 0.109069
+-0.0838886 0.132185 0.0886391 -0.0944101 -0.153513 0.133218 -0.123263
+-0.140702 -0.116041 -0.0937273 0.135206 0.112007 -0.0549318 0.0097323
+-0.0189892 -0.0941122 -0.136567 -0.041169 0.0800246 0.0887374 0.0141533
+-0.148689 -0.14829 -0.142357 0.0227182 -0.090651 0.123609 0.0208081
+-0.14877 0.105323 -0.100936 -0.0884676 -0.118898 -0.130214 0.0635899
+-0.127105 0.0125208 -0.00695408 0.0136048 -0.143893 -0.0909064 0.0541485
+-0.0169242 -0.078393 0.0641363 -0.129023 -0.0439865 -0.0926122 0.0785349
+0.102233 0.0181518 0.0741398 -0.120359 -0.0699596 0.0317246 0.0261806
+-0.0485861 -0.085642 0.133362 0.101745 0.00223944 0.126139 -0.0363134
+0.147574 -0.050396 -0.134334 -0.0949427 -0.134784 -0.0714207 0.113255
+-0.133133 0.108113 -0.0676188 0.130769 0.0750587 0.119601 -0.0274351
+0.0584047 0.0171742 -0.131771 -0.129168 0.0319371 -0.0387252 0.0804702
+-0.143578 -0.0289375 0.0459569 0.0178343 -0.0826935 0.0251686 -0.105605
+0.00729027 -0.040004 -0.0750128 -0.100395 -0.0499645 -0.105713 -0.138029
+0.106065 -0.0526687 -0.0673471 -0.0156689 -0.0976511 0.124586 -0.0494665
+-0.0262731 -0.0572895 -0.0431664 -0.0678085 0.132328 -0.0415095 -0.0356755
+0.0516783 -0.0467004 -0.0407006 0.0294756 0.111597 -0.0820459 -0.0798673
+0.0877687 0.0565628 -0.0726594 -0.0298497 0.0273784 0.123714 0.0953478
+-0.0578996 -0.0563484 0.0732273 -0.0939433 -0.0134044 -0.103775 0.0505915
+-0.0128405 -0.0187125 0.0214177 -0.0394197 -0.00312144 0.0010957 -0.12721
+-0.0986527 -0.0273788 -0.12769 0.0760943 -0.0367239 0.0532083 0.0574171
+0.12846 -0.0381186 -0.00238101 -0.0441273 -0.0870778 -0.0621075 -0.110292
+0.0414898 -0.127919 0.0265038 0.0708036 0.0287773 -0.131407 -0.0155435
+0.040803 0.0300598 0.0595005 0.0306868 -0.0814499 -0.022711 -0.0954945
+-0.040151 0.0284474 0.0798937 -0.00645906 0.115213 0.0168048 0.115433
+0.0947185 0.0977 -0.0432901 0.0244274 0.0219628 -0.126507 -0.126708
+-0.115355 0.0131409 -0.0178251 -0.113995 0.0885133 0.0886676 0.054478
+-0.123537 0.102725 0.0274028 -0.0201851 0.0359829 -0.130632 -0.0530071
+-0.0870958 0.13014 0.0436166 -0.129825 -0.0540442 -0.0877443 0.0241994
+-0.100787 -0.013293 0.128893 -0.054039 -0.0783347 0.103837 0.120657
+-0.0838516 -0.0818118 0.00488695 0.0341884 -0.00792697 0.0664923 0.0428005
+-0.10777 0.0932301 0.118478 0.0311577 0.0622649 0.112278 -0.0944156
+0.116036 -0.0546071 -0.0415273 -0.0994695 -0.0042225 -0.106228 0.0578003
+0.00560405 -0.0832121 0.0286824 -0.0455286 -0.00944815 0.0248472 -0.0749605
+-0.00915242 -0.012491 -0.0772782 -0.0780326 0.0426449 0.00624683 -0.0182367
+-0.110369 0.0203082 0.0388392 -0.0134558 -0.113461 0.0394771 -0.0305197
+0.0535718 0.0984983 0.0107777 0.0630689 -0.0685532 0.0743478 -0.059173
+-0.0254748 0.0385105 0.0820903 -0.0911478 -0.120632 0.125234 -0.0415189
+-0.0198608 0.122306 -0.0708164 0.0731587 0.0576574 -0.0779969 0.00798973
+0.0614933 -0.0739947 -0.0482081 -0.0301763 -0.0863928 -0.0123479 -0.100468
+-0.0553885 0.10061 -0.0871712 -0.0992769 -0.0412806 0.00637478 0.00683828
+0.00567641 0.00882006 -0.0507263 -0.00726054 -0.0316824 0.0720837 -0.00966656
+-0.00534259 0.0961286 0.0540446 0.0671545 -0.0480932 -0.0855013 -0.0767124
+-0.0603025 -0.0283065 -0.115748 0.0289509 -0.0606214 0.120343 -0.0549505
+0.119348 0.0432102 -0.0890348 0.112689 0.0359685 0.0076352 -0.0543289
+-0.0981038 0.0887975 0.0502702 0.0448753 0.0187022 -0.100448 0.117044
+0.0301797 -0.0562876 -0.118638 -0.0471621 -0.0536074 -0.010733 -0.0371306
+-0.0415894 -0.0232408 -0.00817158 -0.0322478 -0.0823216 0.057985 0.0184162
+-0.0729541 -0.0238277 -0.0764938 -0.0821643 0.0853423 -0.0191425 0.0456314
+-0.101011 -0.111164 0.0887079 0.108839 -0.0366411 0.0366845 -0.00794471
+0.0743201 -0.116002 -0.0880584 -0.117199 -0.0229633 -0.0431907 -0.0157511
+0.0352888 -0.0957762 -0.0969923 0.0871341 -0.0168125 -0.0847782 -0.0248615
+0.0266423 -0.108505 -0.0960715 -0.0161921 -0.115153 0.0824413 0.109353
+0.0430087 0.0247346 -0.073886 -0.0798892 -0.0428891 0.101965 0.0785867
+-0.0912218 0.076108 -0.0998503 0.0819016 0.0493919 0.101686 0.0925761
+0.0108485 -0.00341864 0.0582651 -0.0772319 0.0653804 -0.00490431 -0.0818488
+-0.0530744 -0.00234148 0.1021 -0.0181815 0.0673436 -0.0136986 0.0555192
+-0.0684297 0.0674482 -0.0522361 0.00339143 0.0189195 0.0797529 0.0596698
+0.0214301 0.00636965 0.0766288 -0.034823 0.0377106 0.00443192 -0.00475465
+0.0917248 -0.0711176 -0.0100447 0.0300136 0.0602811 0.0102313 0.0676439
+-0.039796 -0.112646 0.107967 0.107395 0.00903484 0.0965092 -0.0592804
+-0.106459 0.0604111 0.0907119 0.10979 -0.00141599 -0.0475283 -0.037476
+-0.110551 0.0193624 -0.0671819 0.0987725 -0.100837 0.0151567 -0.0613616
+-0.0399829 0.0113761 -0.020814 -0.0575396 0.0368101 -0.102924 0.0381659
+0.0154235 0.0737416 -0.0530872 0.042365 -0.10586 0.0209801 -0.0774718
+0.0965817 0.0366656 -0.0734282 -0.0118983 0.0414423 -0.020581 0.103915
+-0.0789889 0.0899482 -0.0592233 0.0434926 0.0242897 -0.0160691 -0.0504465
+0.0052492 0.0148264 -0.044935 0.0189129 0.0374787 0.0413752 -0.00717599
+0.0470786 -0.0687287 -0.0953715 0.0418426 0.0966302 0.0899492 -0.0423821
+0.0345056 -0.0288465 0.0772198 0.00742612 -0.0235636 0.0297662 0.0246235
+0.106263 0.0836961 0.0140199 -0.0648137 -0.00286074 -0.0929327 -0.030786
+-0.09722 0.00232895 0.0702008 0.0360142 -0.0431214 -0.0615409 0.0120698
+-0.0179491 -0.0369778 -0.102966 0.0383491 -0.0471985 -0.001574 -0.0932257
+0.0263893 -0.103223 -0.0657719 -0.0310277 0.0910421 -0.00489068 -0.0861269
+0.0399926 0.0380773 -0.0115539 0.0411883 -0.0379355 -0.0800769 -0.0805847
+-0.0813157 -0.0340343 0.0106786 -0.0194467 -0.0977389 0.0783219 0.00667025
+-0.0994575 -0.0922637 -0.0989971 -0.0583375 -0.0627319 -0.0632006 -0.0127436
+-0.0960202 -0.0458013 0.0291997 0.06792 0.0148387 0.0992669 0.0626022
+-0.0852894 0.050106 -0.00703903 0.0145449 -0.0673959 -0.066469 -0.0870324
+0.0671034 0.0673042 0.0684892 0.0827303 -0.0492994 0.0985079 0.0975959
+-0.0767962 -0.0354165 0.0787236 -0.0483149 0.085719 0.0174181 -0.0901367
+-0.0748318 -0.0168138 -0.0611439 0.0793303 -0.000382945 -0.0831188
+0.0348028 -0.0630469 0.0279596 -0.0758223 0.0889051 -0.0657222 -0.0351514
+-0.0108462 0.0206023 0.00342939 -0.056033 0.00170116 -0.0135202 0.0920253
+0.00821804 0.0627429 -0.0625612 0.0475009 0.0911915 -0.052369 0.0196653
+0.0436813 0.0480595 -0.0967523 0.0373786 -0.0284933 -0.0696583 0.0129352
+-0.0489368 -0.0366684 -0.0858022 -0.0854107 0.0254629 0.0806221 0.0843674
+0.0288046 0.0532854 -0.0407318 0.0770768 0.00574052 -0.00424772 -0.0410003
+-0.0636551 0.0470132 0.080742 -0.0683668 0.0397289 0.0391872 -0.013384
+0.0764705 -0.0771787 -0.00250281 0.00434914 0.0095641 0.0415522 0.0712155
+-0.065202 0.0915026 -0.0719902 -0.069749 -0.0429729 0.0211485 0.0375925
+0.0136204 0.0104715 0.0613622 0.0113693 0.0587059 -0.00777694 -0.0719939
+0.037853 0.0624963 -0.00244391 -0.0882534 -0.0211197 0.0498613 0.039521
+0.0554317 0.0586651 -0.0132119 0.00789909 0.0486014 0.0917666 0.021918
+0.0485426 0.00913585 0.0759319 -0.0672207 0.052421 0.0888714 0.0774803
+0.0197589 -0.057988 0.0406684 -0.0197807 0.0884112 -0.00177422 0.0392753
+0.022705 0.0633483 -0.0612946 -0.0309161 0.0848013 -0.00653231 0.0777233
+-0.0370621 -0.0503526 0.0113136 -0.0504009 -0.0286294 -0.0288821 0.0652834
+-0.0799183 0.0230335 -0.0454548 -0.0248015 0.0873202 0.0717325 -0.0821504
+-0.0150553 -0.0262376 -0.0178746 -0.0206601 -0.00478706 0.0732438 0.0113788
+-0.0674488 0.0260477 -0.00372725 -0.021158 -0.0486368 0.0873743 -0.0776077
+0.0188391 0.0735687 0.00740782 -0.0747897 0.0247785 -0.0824243 -0.0674632
+0.0673154 -0.050897 0.0485181 0.0626501 0.00544994 0.0529686 -0.00365343
+-0.00645985 0.0622872 0.0467649 0.0643953 -0.0315704 0.0299958 -0.0354854
+-0.0207879 -0.0487645 -0.0264784 -0.0759335 0.0658809 0.0760264 0.0113502
+;
+#A 4000 0.0232085 -0.00295692 -0.0037627 -0.0302234 0.0199647 0.0487856
+-0.0563897 -0.0430549 0.0182524 -0.0553319 -0.0117767 -0.0710143 0.0576602
+0.0151193 -0.0385029 -0.00116495 0.0134047 -0.0371417 0.0268056 -0.0787356
+-0.0287352 -0.0700739 -0.00614181 0.0035292 0.037925 0.0447966 -0.0270117
+-0.0111899 -0.0584252 0.0212179 -0.0495641 0.0494275 -0.0399874 -0.00156313
+0.00951535 -0.0654701 -0.0788001 0.0506299 -0.00318004 0.0389564 0.0417943
+-0.0826117 -0.00295447 -0.0373947 0.0213437 -0.0395203 0.0831919 -0.00135541
+-0.0396605 -0.0383961 0.0298691 -0.0469609 0.046156 -0.00677279 -0.00670764
+0.0332374 0.0367584 -0.0199451 -0.0299017 -0.0698981 0.0433913 -0.0246412
+0.0554748 -0.0500904 -0.0695468 -0.02356 -0.00693216 0.0161949 0.00728662
+-0.0499378 0.0116285 0.0506661 0.0190768 0.0629156 -0.0392995 0.0591692
+-0.0786462 -0.0348695 0.0602216 -0.0703871 -0.0558726 -0.0743552 -0.0376303
+-0.0731023 -0.0376348 0.0320921 0.0684899 0.081023 -0.0249217 -0.0659174
+0.0236278 -0.048032 0.0488733 -0.0746391 -0.0529973 0.053481 0.0610931
+-0.0500703 -0.0123857 0.0716112 0.050769 -0.0470996 0.00917141 0.0444948
+0.0419748 -0.0557659 0.0408033 -0.0391869 -0.00952783 -0.0584194 0.0415058
+0.0429153 0.00975938 -0.0459918 -0.0527684 -0.0465876 0.0773995 0.00565338
+-0.00609835 -0.0454705 0.0237648 0.0405301 0.0483184 0.0350996 -0.0461078
+0.0258797 0.0134373 0.0366518 -0.00598282 -0.0641379 0.0296166 -0.0274792
+0.00420166 -0.0691912 0.00849212 0.0675445 0.0368539 -0.0509026 0.0706284
+0.0588616 -0.0292046 -0.0333575 0.00557093 -0.056585 0.042427 -0.0194417
+-0.0600566 -0.0228791 -0.0601686 0.0316606 0.0298546 -0.0564214 0.0281264
+-0.0421375 -0.0321013 0.00861586 0.0615034 -0.0442022 -0.00940106 0.0682671
+0.0198141 -0.0506283 -0.000816518 0.0613501 -0.0224049 0.0727526 0.026645
+0.0102108 -0.0621173 -0.0298775 0.052307 -0.0527452 -0.0662842 -0.0419854
+-0.0667265 0.0312524 -0.0605519 -0.0539439 0.0507988 -0.0516462 0.0463087
+0.0654916 -0.0401101 0.00805014 -0.000735866 -0.0216371 0.0129501 0.0181212
+0.0464236 0.0235335 -0.060339 0.00224643 -0.0469302 0.00385983 -0.062532
+0.0517418 0.0693544 -0.0439005 -0.0688071 0.0697483 -0.0186708 0.058293
+-0.0119901 -0.00160754 -0.0567549 -0.0111007 -0.0457444 -0.0686136
+0.0485991 -0.0560067 -0.0603094 -0.0311315 -0.0347783 0.0671608 0.0274932
+-0.0338023 -0.0527029 -0.0724365 -0.0459632 0.0488177 0.0525665 0.0703671
+0.0600539 -0.00278851 0.0612016 -0.0330564 0.0254928 -0.0242087 -0.0644278
+0.0659684 0.0348146 -0.00816879 -0.0519871 -0.0274256 0.0229449 -0.0269983
+0.0563946 -0.0180679 0.0414729 0.0212699 -0.0314747 0.0578209 0.013648
+-0.012467 0.0203291 0.00107844 0.0251646 -0.061182 0.0226602 -0.0679105
+0.00956147 -0.0535254 0.0677524 -0.0455229 -0.0328604 0.0542836 0.0213329
+0.00101921 0.00426161 0.00245122 -0.0311841 -0.00298272 0.0579049 -0.0319819
+0.0602026 0.0550147 0.00833849 -0.0645982 0.0460022 0.00681244 0.0318528
+-0.0547733 0.0329283 -0.0529877 -0.0547249 -0.0413451 -0.050919 -0.0265143
+0.0429341 0.0337823 -0.0528125 -0.0323879 -0.0371068 -0.0151879 -0.0557561
+-0.0398862 0.00125247 0.0376735 -0.0452306 -0.0216141 0.0512187 0.0101807
+-0.0244687 0.0666922 0.0223105 0.0336601 -0.0257667 -0.0659288 -0.0533143
+-0.0568824 -0.0204123 -0.00913007 0.0495334 0.059042 0.00149375 -0.0199719
+-0.0204401 -0.0242784 0.0533368 -0.0547379 0.0274176 -0.0539052 0.00703998
+0.0122314 0.0207328 0.0082407 -0.0502405 -0.0580947 -0.0652968 -0.0408456
+-0.0300353 0.0500554 0.059924 0.0226976 0.0470676 0.0300832 -0.0521303
+-0.0434677 0.0420662 -0.0637253 -0.0282353 0.0472294 0.0487775 0.000406203
+-0.0564663 0.0256907 0.0520261 -0.0369613 -0.0564767 -0.00832827 -0.0490619
+0.0114895 0.0610402 0.0534141 -0.0617665 0.0463494 -0.0212997 0.00731406
+0.0640723 0.0283931 -0.0482548 -0.0415955 0.034499 -0.0355501 0.0641118
+0.0611263 0.00806472 0.0537014 -0.0194965 0.04187 -0.0621171 -0.0308196
+-0.0526858 0.0378897 0.0417617 -0.0327886 -0.038842 0.0533235 -0.0379307
+-0.0230401 0.0631726 -0.0354479 0.0606431 0.0038577 -0.0353015 0.0611083
+0.00986514 0.0525498 0.0322595 -0.0262471 0.0175871 -0.0425034 -0.034341
+0.0343512 -0.00582132 -0.00216965 -0.0308996 0.0194773 -0.0480123 0.0367159
+0.000979969 -0.0603171 -0.00716886 -0.0497715 -5.74132e-05 -0.0237112
+0.017545 -0.0457071 -0.0482234 -0.0428745 0.0270232 -0.0293815 0.0470682
+-0.0199057 0.017803 0.018121 -0.0528311 -0.047878 -0.0283641 0.0154843
+-0.0112566 0.0223315 0.0585076 -0.0163455 0.0208455 -0.0574329 -0.0449024
+0.0316602 0.0546824 0.0459631 -0.0378298 0.0104215 0.0239305 -0.0574579
+0.0187883 0.0470083 0.00134487 0.0373891 0.0287596 0.0176246 0.0211383
+0.0522366 0.0304413 0.0180927 -0.00520472 -0.00493491 -0.0245225 0.0203045
+-0.0441135 -0.0503216 -0.0423394 0.040382 0.0328318 0.0178739 0.0522771
+-0.0218727 0.0384792 0.0564295 0.0116536 -0.0395358 -0.0195086 0.0369713
+-0.00507094 0.00272098 -0.0548548 -0.0412066 -0.0344362 0.0572448 -0.0455309
+0.0260816 0.00545119 -0.0263728 0.0301343 0.0366202 0.0124376 -0.0470996
+-0.0048548 -0.0289829 -0.0459082 -0.0197317 -0.056052 0.0208885 -0.028215
+-0.009879 -0.0169501 -0.044545 -0.00561645 0.0561034 -0.0512953 0.0195345
+0.0183656 0.0340246 0.0159045 0.0147001 0.011293 0.0383048 0.0139301
+0.0205511 0.0161483 0.0285812 -0.0244202 -0.00411797 -0.00120473 -0.001106
+-0.0315709 -0.0190053 0.00879033 -0.0343857 0.0141961 -0.013577 -0.0283298
+-0.0163206 -0.018112 0.0241002 0.0172528 -0.0331261 0.0137344 0.0541693
+-0.00740887 -0.0146491 0.0238594 -0.0392272 -0.042653 0.0295971 -0.0437868
+-0.00104993 -0.0232523 0.0283198 0.00915047 0.0457421 0.00180389 0.00356868
+-0.052484 -0.00556803 0.0541313 0.0304336 0.046445 -0.0515958 0.0511773
+0.00641148 0.0217138 0.00164088 0.0439702 -0.00253807 0.0232517 0.0512915
+-0.011806 -0.047276 -0.0459035 -0.0337341 0.0340615 -0.00716726 -0.0350575
+-0.00532302 0.0286125 -0.0347484 0.0504601 0.00725448 -0.0316892 0.00142906
+-0.0507116 -0.0382314 -0.012945 0.0199415 -0.0199314 -0.042792 -0.00173364
+0.0123201 0.024731 -0.00536449 -0.0448082 0.0309147 -0.00904821 -0.018492
+-0.0267931 -0.00778724 0.0268095 -0.0269223 0.00179272 0.0369286 -0.0314397
+0.0145588 0.00223041 -0.0350915 0.0311863 0.0130095 -0.00934447 -0.0381999
+-0.00304966 -0.0491975 -0.0500033 -0.0168451 -0.0450088 0.0163931 0.0291041
+0.00727728 -0.036848 0.0340685 -0.0116662 -0.00148679 0.00103389 -0.0374032
+-0.0300421 -0.000105296 0.00117334 -0.00228839 -0.00488078 0.0444215
+-0.0437324 -0.0178209 -0.0426513 -0.00816167 -0.00153485 -0.0249988
+-0.00222452 0.00441124 0.045266 0.0214263 0.0356299 0.0246222 0.0351585
+-0.0465375 -0.00904492 -0.00394886 0.0319304 0.0254875 -0.022898 0.00386978
+0.000347115 -0.0441399 -0.0371762 0.0367699 -0.0380647 0.0133768 0.0159541
+-0.0213193 0.0226873 0.0139755 0.0195783 0.0227935 -0.0215736 -0.0487342
+-0.0358417 0.0125099 -0.00821951 0.044817 0.0109874 0.00481487 0.0474796
+0.0249953 0.0382578 -0.0383005 -0.0158843 0.0264883 -0.0437816 -0.0379181
+-0.0107408 0.0216199 -0.00929034 0.0435413 -0.011691 -0.0284183 -0.0354493
+-0.0250706 -0.00738957 -0.00160084 0.0226224 0.0250018 0.0291519 -0.00179127
+-0.0331567 0.00424755 0.0478301 -0.0398232 0.0225477 -0.0167039 -0.00145396
+0.0148112 0.0331616 -0.0322901 -0.0219004 0.028229 -0.0166997 -0.0152668
+-0.0303827 -0.0105952 0.0116113 0.00215041 0.0378414 0.0336669 0.0216083
+-0.0329385 0.0246664 0.0180005 0.0311766 -0.0386748 -0.0200423 -0.0254794
+0.0216373 0.00205767 -0.0026129 0.0157657 -0.0462159 -0.0365779 0.0307631
+-0.0139408 0.0394106 -0.0117476 -0.0299753 -0.0208686 -0.0361304 -0.0126577
+-0.0301614 0.0351149 0.0423119 0.00348616 0.0104074 -0.040338 0.0271404
+0.0388229 -0.00377744 -0.00465373 0.0270036 0.00058781 0.0124913 0.039063
+0.0130591 0.0354801 0.00649493 -0.00799274 0.0410164 -0.0289106 -0.0021224
+0.0335194 -0.00719606 -0.0314962 -0.00957143 0.00862059 0.0229873 0.0112813
+0.0433841 0.0209205 -0.0155161 -0.0329042 -0.0398198 -0.0403796 0.00815549
+0.0277006 0.0333835 0.0408551 -0.0225481 0.00379061 -0.0283602 0.0261624
+-0.0306885 -0.0116726 0.0437106 -0.0145126 0.0439009 -0.0332225 -0.0316633
+0.00679859 0.0173038 -0.013825 0.00471999 0.0222479 0.00680166 -0.00827523
+-0.0172671 0.00998321 -0.0192239 0.0380591 -0.00974715 0.038819 -0.00663069
+-0.00415495 -0.0191781 -0.0133687 -0.0412435 -0.0206221 -0.0257818
+-0.0219611 0.0132269 0.00974006 -0.0276068 -0.027113 -0.0122657 -0.0350041
+0.0275005 -0.0142673 -0.0156015 -0.0194604 0.0306659 -0.0199164 -0.0198592
+0.00947517 -0.00495544 0.0414039 0.0129279 0.00848902 -0.0280356 -0.0254557
+0.00414192 -0.0285504 0.0323534 0.0280198 -0.0146886 -0.0167676 -0.0245948
+0.0263374 -0.0371355 0.0417638 0.0280166 -0.0340907 0.0158902 -0.0113252
+0.00561381 0.0344036 0.0378688 -0.0387572 -0.0327194 -0.0134105 -0.0387978
+0.026158 0.00732316 -0.0393751 0.0382705 0.00761807 0.0312192 -0.0214935
+0.0263325 -0.00280985 0.00876339 -0.0291963 0.0092623 -0.0279623 0.0372623
+-0.0155016 0.0373925 0.0129782 -0.0240901 -0.000382024 -0.00063029
+-0.0303984 -0.0396524 0.0134525 -0.037749 -0.0382185 -0.0033881 -0.0183828
+-0.000140294 0.00388887 0.0271782 0.021568 0.00521532 -0.0212649 -0.0245851
+-0.00874191 -0.0329973 0.0312623 0.00826409 -0.0257638 -0.0192993 0.0185333
+-0.0215308 -0.0205771 0.00182865 0.0221678 -0.0320758 -0.0160253 -0.0198682
+0.000660462 0.0104033 -0.00520725 -0.0291332 0.0194919 0.0367563 -0.0286114
+-0.0110771 0.0259347 0.0363141 0.0042874 0.00293622 0.0382681 -0.0385143
+-0.0355985 -0.0122022 -0.0380717 0.00275173 0.0318358 0.0338793 -0.0297797
+-0.0112633 -0.00243917 -0.0277539 -0.0282676 0.011427 -0.0166744 -0.0130673
+0.0293463 0.0219637 0.016172 -0.0289725 0.0250573 0.0270533 0.0131094
+0.0205053 0.0358969 0.0338678 0.0126391 -0.0120052 -0.0371907 -0.0226067
+-0.0336317 0.0093574 0.0164499 0.00716317 0.00576894 0.0218776 0.00899573
+-0.00153709 -0.0278492 0.0237625 0.0273851 0.0275101 0.0210411 0.0106127
+-0.00784759 -0.00152568 -0.0324362 -0.0308996 -0.0131359 0.00161629
+-0.00213867 0.000108056 0.00737141 -0.0194758 -0.0181708 -0.0210741
+0.0296536 -0.0233513 -0.00517655 0.0115864 0.0210976 -0.0161077 -0.0318391
+-0.0139962 -0.0302747 0.00704774 0.0211407 -0.0119257 0.00342778 0.0281486
+0.00610502 -0.0342753 0.0182799 0.0278164 0.020619 0.0318338 -0.0180253
+-0.0118973 -0.00897804 0.0240822 0.0325911 0.0205736 -0.000439841 -0.0131164
+0.0216454 -0.0258035 -0.0199313 -0.0169216 0.0104289 0.0294133 0.00646299
+0.0343042 -0.00699336 -0.0131239 0.0265836 -0.0253401 -0.00381108 0.035079
+-0.0280135 -0.00684215 -0.0160239 0.00875539 0.0226003 0.0255409 -0.00843269
+-0.0249587 -0.0245871 -0.0199702 -0.00500268 0.0227476 -0.0339641 0.00947815
+0.00929899 -0.029653 0.013679 -0.000594559 -0.00559267 0.0293031 0.0079757
+0.0148724 -0.013213 -0.00815607 -0.0123639 0.0339289 -0.0288844 -0.00558602
+0.0194138;
+#A 5000 0.011794 -0.023335 0.0195792 0.0291025 -0.00562236 -0.0153483
+0.00357997 -0.00770151 0.00909717 -0.0100473 -0.00818514 0.0023615
+0.0089601 0.0108067 0.00474749 0.0177341 0.00250366 -0.0189739 0.0243105
+-0.0333674 0.0301901 -0.00483403 0.0306426 -0.00112348 -0.00822323
+0.0326775 0.0213102 0.0187695 -0.0087805 -0.0298401 0.0135209 -0.0276573
+-0.00296547 0.00493955 0.0298277 0.012313 0.0200528 -0.03056 0.00231328
+0.0208099 0.00885818 -0.0147446 -0.0109534 0.00758571 -0.00803555 0.0115444
+-0.0208973 -0.0047034 0.00573858 0.00375047 0.00972034 -0.0115607 0.00802264
+0.0199435 0.00681596 0.0234824 -0.0293348 0.0195667 -0.001767 -0.0224462
+0.0176703 0.00283818 -0.013611 -0.0281063 -0.0294261 -0.0283942 -0.0010303
+0.0189098 0.0312762 -0.0296071 -0.00407273 0.0101747 -0.02091 0.0159894
+0.0151751 -0.0277165 0.00752312 -0.0182507 -0.0148558 0.0184244 0.0213509
+0.000820939 0.0263058 0.00475986 -0.00412142 0.00280555 -0.0170212
+0.0189312 0.00113172 0.0218175 0.00453768 0.00535973 0.0245663 0.0182178
+-0.0136914 -0.0300476 0.0290831 0.02761 -0.00816106 0.0108763 -0.00575712
+0.0153209 -0.0234047 -0.0025652 0.00215573 -0.00641798 -0.00953584
+0.00198757 0.00231762 0.0295187 -0.00370301 0.00947679 -0.00933436
+0.0264409 -0.0202738 0.0111224 -0.0116462 0.00691194 -0.018946 -0.0093047
+0.00608635 -0.0156492 -0.00825471 -0.014183 -0.00553767 -0.0279252
+0.0173518 -0.0158998 0.0184068 0.00694272 0.0054242 0.0144424 -0.00178177
+0.0099006 -0.00336844 0.0148623 -0.0273405 0.0178337 0.022197 0.0119439
+-0.0112646 0.0140386 -0.0106163 0.0180122 -0.0202539 0.0109307 0.0213784
+0.00371602 -0.0192908 0.0289985 0.0199365 0.0016619 -0.0234802 -0.0248305
+-0.0244316 -0.00892402 0.0276999 -0.000926093 0.025319 -0.0279166 -0.0229266
+-0.00501592 -0.0202896 -0.00483199 0.00630874 -0.013418 -0.0127354
+-0.0235411 0.0267571 0.00479899 -0.0236766 -0.0147266 -0.0223787 -0.0170078
+0.000869558 -0.0258323 -0.0104767 0.00661562 0.0010565 -0.0206533 0.024914
+0.0100474 0.0037721 -0.00564504 0.0165739 -0.00264078 0.0254048 -0.0276773
+-0.0114254 -0.00650337 0.0187751 0.00821754 -0.00583379 0.0105602 -0.0266668
+-0.0215112 -0.0135702 -0.0262893 -0.00104969 -0.0272616 0.00774709
+-0.00853758 0.0107151 0.0169605 -0.0216254 -0.022073 0.00777973 -0.0190075
+0.020625 0.0045367 0.00582445 -0.0104339 0.00329198 0.00728507 0.0118011
+0.0269013 0.000558021 -0.00048552 -0.0140847 -0.00522203 -0.0255445
+0.0245787 0.00527942 -0.00377134 -0.0136796 0.0164392 -0.0162625 -0.0135448
+0.0172811 -0.00420916 0.022249 -0.0240094 -0.00804154 0.00991048 -0.00232563
+-0.0220275 -0.000955787 -0.0179544 -0.00977216 0.0224331 0.0209739
+-0.00309348 0.00633736 -0.0257301 0.0231549 0.0180547 0.00836457 -0.00670235
+-0.0241312 -0.0108565 -0.01758 0.011053 0.0178038 -0.00297904 -0.00855139
+0.00773135 -0.015522 -0.0195589 0.0085583 -0.0133518 0.0128526 0.0225487
+-0.00225824 0.0132192 -0.00552192 -0.0142598 -0.0202987 0.0113768 -0.00436293
+-0.0192834 -0.0181217 -0.0169494 -0.00370834 -0.0229671 -0.0227786
+-0.0176028 -0.024228 -0.0103294 0.012895 0.00295277 -0.0163752 0.0228927
+0.0231382 -0.0198241 -0.00338745 -0.0217258 -0.0169829 0.00511858 0.0153656
+0.0238241 -0.00390502 0.000543026 -0.00215885 -0.0216081 0.0223212
+0.00900532 -0.0209824 0.00233115 -0.00638642 -0.00475563 -0.0207349
+0.0102267 0.0117699 0.00764262 0.000485487 -0.0120865 -0.00596644 0.00750027
+0.0102399 0.0222689 -0.00626576 0.00507691 0.0108058 0.00466612 0.0184326
+0.0114898 -0.00178554 -0.0214255 -0.0151043 0.00389931 0.00611453 0.011779
+-0.00255227 -0.00109455 -0.00630907 -0.0111268 -0.0107363 -0.00655222
+0.00916807 -0.0106535 -0.0236316 0.013587 0.00682021 0.00740389 0.0105095
+-0.0143288 -0.0140463 0.0195057 -0.0189149 -0.00293892 0.0209033 0.0150488
+0.0170115 0.00244874 -0.000531779 -0.00864751 -0.0158598 0.0134123
+0.00520285 0.0065825 0.00122747 0.0174485 -0.0136396 0.0125668 0.0106209
+0.00256686 0.0188095 -0.021408 -0.00995505 -0.00737002 0.00241848 -0.0224321
+0.0104947 0.00209399 -0.00934 0.00881614 0.00918312 0.00332746 0.00226015
+0.0177739 0.00872401 -0.00375418 0.00687959 0.0163251 0.00463709 -0.00249016
+-0.0103907 -0.0127825 -0.0211019 -0.00346187 0.0025176 -0.0195749 -0.00903949
+0.0127224 -0.0182452 -0.0037449 -0.0104937 -0.0147896 0.000441033 0.0151126
+0.0150496 -0.0151211 0.0198974 -0.00648868 -0.00881631 -0.00675153
+-0.0130507 0.00222756 -0.00907579 0.00369085 0.00471282 -0.0200166
+0.00682551 0.000475485 0.0109861 -0.0189455 0.0194092 -0.00761342 0.01566
+-0.00415192 0.00988988 0.0131523 0.0202126 0.00164586 0.00466115 0.0042258
+0.014235 -0.0200796 -0.0200053 0.00953259 0.00394879 -0.0137527 0.0133437
+-0.00601983 -0.0129815 0.0174546 -0.00236343 0.014976 0.00177654 0.0192543
+-0.0165936 -0.0200737 -0.00308647 -0.0121312 -0.00101508 0.00576133
+-0.0135534 -0.00414842 -0.00977185 -0.0110888 -0.0176665 0.020201 0.000103915
+-0.0162106 0.00129614 -0.00797941 0.00313392 0.00446713 0.0200555 0.0193115
+-0.0195953 0.00610523 0.00345976 0.000568659 -0.0177625 -0.00056385
+0.00307489 -0.00830557 0.0164053 0.00981673 -0.000337955 0.00587092
+0.0102994 0.00716086 -0.0179399 -0.00965425 0.00552933 0.0086652 0.0137781
+0.0143474 0.0166241 -0.0113579 0.00810173 -0.0171289 0.00335139 -0.000136389
+0.0164448 0.00379564 -0.00746737 -0.0155033 -0.0156839 0.00369368 -0.0108057
+-0.00556354 0.0161697 -0.00643513 -0.00174482 -0.016307 -0.00390513
+-0.01541 -0.00325067 0.00679664 -0.0106832 -0.00609779 0.013787 -0.0060264
+0.00175911 -0.0176059 0.00505219 0.00626133 0.00710359 -0.00326446
+-0.00914656 -0.00711672 0.00188894 0.00994349 -0.0109982 -0.0137967
+0.0112302 0.00518609 0.0163556 -0.0041245 0.00878321 -0.00932251 0.00495372
+-0.00866801 0.0188272 -0.0142209 0.0132164 0.00734867 0.0176389 0.016903
+0.00830682 -0.00676318 0.015767 0.0105981 -0.0180293 0.0118356 0.0166987
+-0.00292938 0.016494 -0.00390031 0.00456486 -0.0165654 0.00629518 0.00270334
+-0.0031696 -0.0125936 0.00468887 -0.0108615 0.0127615 0.00579049 0.0015124
+0.00919078 -0.00288787 -0.0069744 -0.010072 0.0110847 -0.0083595 -0.00520093
+-0.0140943 0.0130941 0.00291248 -0.00249142 0.0019882 -0.00552807 0.00907188
+0.00701001 0.0128446 0.0138812 -0.00669456 -0.0091914 -0.0155814 0.0118771
+0.00306768 0.0089601 4.87688e-05 -0.0165753 -0.0142439 -0.00446496
+-0.0153819 0.0127401 0.00882866 0.0138197 -0.00838846 -0.000717258
+0.00788621 -0.0136064 0.0173182 -0.00434114 -0.0120628 0.000557328
+-0.013825 -0.0130131 0.00130062 -0.0119241 0.00544472 -0.00266774 0.0136734
+0.0106791 0.0168159 -0.00526431 0.00662529 -0.00458634 -0.000645557
+0.0134741 -3.9694e-05 -0.000295426 -0.0129974 0.00815489 -0.00329835
+0.000379739 0.00903147 -0.00766313 -0.0109274 0.0023256 -0.0100161
+0.0125098 -0.0103888 -0.016187 0.0144716 -0.00322135 -0.0141911 -0.0140297
+0.00632885 -0.0156198 -0.0120266 0.00773087 0.00883036 -0.00943039
+0.00087353 0.0118156 -0.0159113 0.0162683 -0.0120294 0.00485543 0.00602778
+-0.000212966 -0.00699858 -0.00811812 0.0127374 0.00762 -0.0121463 0.0057338
+0.0152191 0.00373511 0.00997474 0.013611 -0.000622422 -0.00921167 -0.00405898
+-0.00366005 -0.0155302 -0.00623179 -0.00118671 0.00109995 0.00743866
+-0.0120657 0.00605737 0.00837801 0.00376192 -0.00333946 0.0102448 0.00211353
+0.00220577 0.00356102 0.00619844 0.0139441 -0.010854 0.0016684 0.0119057
+-0.0152422 -0.0103855 -0.013929 -0.0133092 0.0148162 0.0127014 -0.0141117
+-0.00589344 -0.0102384 -0.00916879 0.00964585 0.0100435 0.00215131
+-0.00772844 6.60042e-05 0.00737175 -0.00450362 -0.0125272 0.0136496
+-0.000460775 0.0108109 0.0139025 0.0039098 0.0139418 0.00521247 -0.00768274
+-0.0151775 -0.00242032 -0.0121441 -0.00326192 0.0148182 -0.00927056
+0.00796059 -0.00516314 0.00772112 -0.0136727 0.000215002 0.00966329
+0.00737751 -0.00393126 0.00178057 -0.000231045 0.0132805 -0.0122922
+0.0125806 0.0033438 -0.00273845 -0.0050877 -0.014159 0.00414198 -0.0138216
+0.00971385 0.00317629 0.000276221 0.00237725 -0.0115982 0.011698 0.00499187
+0.0133066 -0.00401141 0.0141446 0.0109956 0.00636107 -0.00976566 -0.000792338
+0.00661025 0.0107527 0.0098179 -0.00330331 0.0130513 0.0107277 0.00444097
+-0.00541295 -0.0013376 0.0118424 0.00629169 0.00861314 -0.0116223 -0.00165359
+0.00453897 -0.0136798 -0.00758352 0.0123301 -0.0135285 0.00381468 -0.0134026
+0.0119324 -0.00153256 0.0135537 -0.00143586 -0.00663921 0.00202939
+-0.00145424 -0.0111718 0.00449651 0.00591836 -0.0104056 0.00640195
+-0.00146417 -0.00672711 0.00589206 0.00103691 0.00269587 0.00947889
+0.00436132 -0.00817976 -0.013467 -0.00629897 0.0017077 0.00490634 -0.0130369
+-0.00934676 0.00881372 0.0064038 -0.0082985 -0.00368064 0.00105433
+-0.00707307 -0.00478192 -0.00936201 0.00405569 -0.00815587 0.00590702
+-0.0107118 -0.00414202 0.00129476 0.00625843 0.00708817 0.0054154 0.00530941
+0.000686702 -0.0106288 0.00251357 0.00831386 -0.0108688 0.00298791
+0.00872527 0.00928518 0.000660167 -0.00553394 0.00158073 -0.0036277
+0.0017622 -0.00660237 0.0109083 -0.0127224 -0.00382097 -0.00891224
+0.0110275 0.0100457 -0.00135313 -0.00250879 0.00347453 0.000713521
+-0.00983129 0.0128053 0.000837871 0.00540863 0.0090991 -0.00641546
+-0.00803903 0.0127052 -0.00890005 -0.008448 -0.00922506 -0.0121532
+0.000358595 0.00348523 -0.0111269 0.000438879 0.00638975 -0.00432599
+-0.00877099 -0.00935755 -0.000134803 -0.00361586 0.00705568 0.0105808
+0.0113129 0.00499092 -0.00251181 0.00523848 0.0115313 -0.00318519 0.00407405
+-0.0109854 -0.00614844 -0.00453025 0.0089713 -0.0103979 0.010858 -0.0100695
+0.00126864 0.0119713 -0.00331934 -0.00578554 -0.00136575 -0.00253582
+-0.0111106 0.00226965 0.00179003 -0.00458614 0.0117681 0.0105192 0.0045464
+0.0111329 -0.0066591 0.00975511 0.00949084 -0.00389633 0.000969593
+-0.00484972 0.00156428 -0.00125597 0.0010522 -0.00630323 -0.000666371
+-0.00256996 0.00967127 -0.00931685 -0.0070897 -0.00863617 0.00973146
+-0.00679495 0.00664627 -0.0107553 -0.00678334 -0.0073555 0.0028328
+-0.0074993 0.00785706 -0.00794663 0.00244377 -0.00361091 0.000499738
+0.00385415 0.000715035 0.00828348 -0.00761224 -0.00390454 0.00554149
+-0.00884904 0.00354493 -0.00581734 -0.0106556 0.00757721 0.00798714
+-0.00755903 0.00646172 -0.00789588 0.00880257 -0.00193197 -0.00252052
+-0.00298339 0.00424432 0.00086599 0.00810739 0.000173593 0.00510825
+0.00520783 0.00614126 0.00229457 -0.0094382 -0.0110126 -0.00254995
+0.00511274 0.0032377 -0.00947284 -0.0102886 0.00671566 0.00548167 -0.00991932
+0.00653304 -0.00841475 0.00744598 0.00753517 -0.00215317 0.0023745
+0.00123881 -0.0033708 -0.00351567 0.00961403 0.0104291 -0.00437929
+-0.00453368 -0.0049478 -0.00677792 -0.0106788 0.00571421 0.00553373
+0.00995161 0.00452391 -0.0103609 0.00876115 0.00880707 0.00649518 -0.00757657
+0.00184018 0.00330433 0.00409766 0.000993472 0.00603217 -0.00238106
+-0.000301685 0.000982104 -0.00612623 0.00295712 -0.00203754 -0.00456782
+0.000256376 -0.00358335 0.00918037 0.00737128 -0.00227146 0.00995883
+0.0062105 0.00528483 -0.00353867 -0.00375995 0.000460811 -0.000427725
+-0.00698899 0.00947917 0.00855573 -0.00130174 -0.00316505 0.000626231
+-0.00513888 -0.00794333 -0.00959825 0.00693421 -0.00817165 -0.00135494
+0.00588952 -0.000103875 -0.0085644 -0.000652357 -0.00495887 0.00198118
+;
+#A 6000 -0.00570322 -0.00447865 -0.0043397 0.00652218 -0.00709481 -0.00838182
+-0.00793983 0.0035901 0.00945395 0.00290804 -0.00921651 -0.00967486
+-0.00919485 0.0093202 -0.00847386 0.00520904 -0.00660879 -0.00674357
+-0.00707267 -0.00795935 0.00954667 0.000196531 -0.00664793 5.74777e-05
+0.00606852 -0.00875444 0.00599406 -0.000125537 -0.00514972 -0.00875745
+-0.00737619 -0.00460677 0.00150842 0.00925627 0.00289913 0.00440645
+-0.00733838 0.00418025 0.00337703 0.00701451 0.00722648 0.00593873
+0.00678984 -0.00619318 -0.00100098 -0.00474514 0.00641145 -0.00153918
+-0.00501351 -0.0043192 0.000429743 0.00470691 0.00422804 0.00152915
+-0.00747768 0.0077937 -0.00156794 0.00428469 0.00609792 0.00547062
+-0.00205094 0.00447308 0.0027717 -0.00618855 0.00547681 -0.00850097
+-0.00238274 0.00370864 -0.00846104 0.000512816 0.00451144 -0.00268473
+0.00116592 -0.0067849 -0.00324647 0.00397147 0.00355538 -0.00425668
+0.00640954 0.00806337 0.007616 0.00678378 0.00437298 0.00352057 -0.006564
+0.000978523 0.00790908 -0.00168019 -0.00107751 0.00631138 0.00599533
+0.00578724 0.0081389 -0.00752588 0.00408646 0.0059702 -0.0054637 -0.00858825
+-0.00579754 -0.00145522 -0.0073227 -0.00470899 0.00728165 0.0069051
+-0.00730967 -0.00150545 0.00647672 0.00149735 0.00366194 -0.00838924
+-0.000374832 -0.00122974 -0.00731579 -0.00652773 -0.00759172 -0.00685793
+0.00603223 0.00265052 0.00575305 -0.00446075 -0.00101701 0.00467671
+0.005519 -0.00811778 -0.00163843 -0.000343813 -0.00452201 0.00595735
+-0.00785912 0.00016791 0.0045331 0.000481177 -0.00136025 0.000680868
+0.0051469 -0.00276325 -0.000745286 0.000772739 -0.00742422 0.00293254
+-0.00128592 -0.000688605 -0.00713458 0.00600986 -0.00106583 -0.00715026
+0.0025631 -0.00646056 0.00171886 -0.00601867 0.00612158 0.00322696
+0.00740005 0.00550956 0.00453673 0.00392505 -0.0061616 -0.000516313
+0.00761124 0.00392338 0.00186975 -0.00529232 0.00698131 0.00337108
+-0.0040963 -0.00451536 -0.00721366 -0.0012427 0.00409687 -0.00179516
+-0.00328285 0.00647386 0.003664 0.00153735 0.00707133 -0.00245462 0.0051299
+0.00481272 0.00493074 0.00580417 -0.00691799 -0.00490422 -0.00475159
+-0.00589517 0.00110445 -0.00124221 0.00294809 -0.000484902 0.000277398
+0.00015137 0.00562472 -0.00666164 -0.00332831 0.000899421 -0.0012883
+0.00213544 0.00309042 0.00677626 -0.00448499 0.00687569 -0.00655839
+0.00404458 -0.00577648 -0.00404707 0.00140575 -0.00126649 0.000812072
+0.00533673 -0.00620354 4.41353e-05 0.00401003 0.00170354 0.0049924
+-0.00645399 0.00519603 0.0035215 0.00442806 0.00494526 0.000681385
+0.0012084 -0.00633715 -0.00586083 0.00375201 -0.00262531 -0.00291554
+-0.00264985 0.00583282 0.00677645 -0.00692467 0.000267408 0.00579844
+0.00368968 -0.00177472 0.0010855 0.00679995 0.000122758 0.00583166
+0.00523548 -0.0041251 -2.53327e-05 0.00616941 -0.00384253 0.00354661
+-0.000392576 0.00257688 0.00658872 -0.00653203 0.00548864 -0.00377223
+-0.000187408 -0.0023093 0.000236237 -0.00479687 0.00247366 0.000144412
+-0.00570199 0.00637643 -0.00640608 -0.00424227 -0.00142989 -0.00252244
+0.00163066 0.00398428 0.00137108 0.00362175 0.00194547 -0.0010796 0.00256626
+0.00176679 0.0062276 -0.00309467 -0.00293094 -0.00320228 -0.00555314
+-0.00649318 0.00144863 -0.00331446 -0.00402584 0.0037118 0.00483936
+-0.00169543 0.00254426 -0.00604689 0.00237577 -0.00366 0.00351545 0.0061645
+0.00492222 0.00146122 -0.00256746 0.00594143 0.000650396 0.00374092
+0.00631955 -0.000428623 -0.00280288 -0.00249915 0.00425296 0.0048905
+0.00247389 0.00207205 0.00223507 -0.00491864 -0.00316483 0.00378491
+-0.00406631 0.00316984 -0.00367661 -0.00375972 0.0051286 -0.00294593
+0.00556332 0.00364787 0.00407355 0.00173862 3.28866e-05 0.00232997
+0.00416101 -0.00566787 -0.00271189 0.000217296 0.00296157 0.0060023
+-0.00457923 0.00159063 -0.00148797 0.000351654 0.000998788 -0.00582986
+-0.00592717 0.00459883 -0.000770127 0.0052337 0.00567257 -0.0048552
+-0.000597726 -0.0013158 0.00139299 -0.00296905 -0.000961222 -0.00334943
+-0.00139248 0.000758566 -0.000819108 -0.00519409 -0.00295937 -0.00411034
+-0.00126598 0.00575326 -0.00155944 0.000455269 0.00346974 0.00559425
+0.00534368 -0.00560721 0.00312315 -0.00572429 -0.000124678 0.00115189
+-0.00216995 0.00521385 -0.00561396 0.0044913 0.00371405 -0.00133451
+0.00392491 0.000914768 0.0048232 0.00351704 0.000169633 0.00249119
+-0.000865149 0.00532587 0.00358741 0.00342586 0.00113506 0.00218809
+-0.00224852 0.000403272 0.00294683 0.00063136 0.00360218 -0.00158013
+0.00543662 -0.00200175 0.000709361 0.00276262 -0.00357119 -0.00461073
+-0.00470699 -0.0022236 -0.00269078 -0.00338843 0.00209679 -0.000959598
+0.00313796 0.0044886 -0.00243988 0.00469972 0.00242487 0.00401584 0.00500083
+-0.000891066 -0.00122546 -0.00359965 -0.000344482 -0.00415781 0.0027435
+-0.00237994 -0.00169673 0.0031223 -0.00470681 0.00314136 0.00217102
+-0.00157792 -0.000949771 0.00324864 -0.00359902 0.00473037 0.00502376
+-0.00480421 0.00346058 -0.00283585 -0.00306908 0.00252832 0.00435907
+0.00424503 -0.00257584 -0.000241485 -0.00274146 0.000318125 0.00392117
+-0.00118808 -0.00412203 0.0006699 -0.000286332 -0.00063445 0.000472918
+0.000689999 -0.00299858 -0.0016545 0.00224191 0.00417085 0.0015336
+-0.00342328 -0.000118605 -0.00118747 0.000777475 0.00271026 -0.00166069
+-0.00132269 0.00378446 -0.00439403 0.000324111 -0.0048448 0.00435902
+0.00187618 0.000572443 0.00388358 -0.00376661 0.0046025 0.00192439
+0.00208894 -0.00043276 -0.00354637 0.00456001 -0.000825786 0.00334023
+-0.000142944 -0.0019605 -0.00176253 -0.00274092 -0.000667061 0.00296384
+0.00367993 -0.00465371 -0.00430577 0.00136595 -0.00174363 -0.00416508
+5.4845e-05 0.00190514 0.00194718 0.000377468 -0.001856 0.00354122 -0.00238809
+-0.00188939 -0.00387527 -0.000494484 0.00325548 -0.0018559 -0.00132489
+0.00150993 0.00329367 -0.000278264 0.00375311 0.00218339 -0.00275456
+0.001742 0.00429865 0.00387615 -0.000439828 -0.00370054 -0.00346178
+0.00410798 0.00178555 8.5822e-05 0.00339224 0.00145151 -0.00429751
+-0.00115119 -0.00172806 0.00335812 0.00205153 0.000996019 0.00398642
+0.00106922 0.000467772 -0.00411921 0.00384463 -0.000496191 -0.00199914
+0.00195315 0.000226245 -0.00336411 -0.00143821 0.00405345 0.00040218
+-0.000116104 -0.00300518 -0.00283273 0.000828467 0.00169684 -0.00341477
+-0.00321241 0.00360331 0.000191778 -0.00137282 0.000789467 -0.00321108
+-0.00397042 -0.00133701 -0.00353439 -0.000264215 -0.000250179 -0.00267769
+0.00227221 -0.00244035 -0.000185492 0.00046219 0.00355101 -0.00121823
+-0.000776099 0.00100131 -0.00146032 -0.000632884 -0.0040171 -0.000120965
+-0.00390938 0.00258878 -0.00147856 7.27925e-05 -0.000523017 -0.00387894
+0.00259002 -0.00112165 0.00081854 -0.00051505 0.00277914 0.00224479
+0.00137916 -0.00270149 -0.002342 -0.00267588 0.00163964 -0.0015441
+-0.00336015 0.00210629 0.00150747 -0.00225274 -0.0024877 0.00278617
+0.00244658 -0.00119675 -0.00239757 -0.000679584 0.00377146 0.00356494
+-0.00125804 0.00142345 0.00100273 0.000310673 -0.00123811 0.000158328
+0.00127412 0.0030484 0.00027143 -0.00107729 0.00248735 -0.00239672
+-0.0014675 -0.0034669 -0.00246139 -0.000478933 0.00134645 -0.00122935
+0.00235249 -0.00289891 -0.00156293 -0.00177095 -0.003396 -0.00253654
+-0.000311373 -0.00306275 -0.000249744 0.00346336 0.00107112 -0.00274107
+0.0011735 -0.00298394 -0.00299706 -0.00142962 0.00264445 3.7643e-05
+0.00109791 -0.000570788 -0.00329633 0.00316035 -0.00308219 -0.00211852
+-0.00283544 0.00150027 -0.00186509 -0.00298058 -3.8477e-05 -0.000860678
+0.00309285 0.00158349 0.00309149 -0.00221238 0.00159396 -0.000843301
+-0.000199285 -0.00200043 -0.00313551 0.00224219 0.00118295 -0.00137142
+0.000953036 -0.00177081 -0.00171165 0.00139588 -0.00184153 0.0012838
+0.00181769 0.000104944 -0.000851724 -0.000374557 0.00137421 0.00208226
+0.000945936 -0.00330075 0.00129221 0.000573518 -0.00330378 0.00260766
+-0.002838 -0.000613219 -0.000219534 -0.00194837 0.000851609 0.00213776
+-0.00324207 0.00238679 0.00107862 0.000354471 0.00109193 0.00139112
+-0.00173112 -0.000888298 -0.00308811 -0.00155819 0.00106979 0.0016091
+0.00159336 -0.00179553 -0.000787975 -0.000806378 0.00063396 0.00209535
+0.00216238 -0.00201451 -1.67794e-05 0.00238587 0.00258593 -0.000931098
+0.00284618 -0.000117558 -0.00116463 0.00279147 0.00143573 0.000761398
+-0.000503515 -0.000948251 0.00129045 -0.000223791 -0.00128649 -0.000827047
+-0.00266098 -0.000856781 0.00263298 -0.00172005 0.00085221 0.000962359
+0.00203107 -0.0020965 0.000777521 -0.00151143 0.00137948 0.00224661
+-0.000354447 0.00190892 0.000702389 0.00132761 0.00213337 0.00261426
+-0.00264768 0.000330986 -0.00023868 0.00188377 0.000817171 -0.000376495
+-0.00161819 0.00204246 0.00203329 -0.0026721 -0.000235097 0.00233353
+-0.0028177 0.00179812 0.00260218 -0.000739494 0.000428464 0.00233469
+-0.000783066 0.00247251 0.00100424 0.0018425 0.00195536 -0.00201084
+0.00212107 0.00184687 0.00278345 0.000845881 -0.00167152 -0.00208996
+0.00257876 -0.00106471 -0.000587303 0.00140029 0.00198946 0.00223463
+-0.00015454 -0.0011717 -0.000472182 0.001378 -0.000142248 -0.00161436
+0.00191329 0.00233531 -4.13618e-05 -0.00225598 -0.00226086 -0.000732662
+0.00238388 -3.53509e-06 -0.00246556 0.000409025 -0.00209033 0.001095
+-0.000610658 -0.00123896 0.00189721 -0.00245098 -0.000620009 0.000315553
+0.0013178 -0.00233828 -0.00238781 -0.00215948 -0.00134533 -2.24758e-05
+0.000113663 0.00115464 -0.00141208 0.00218523 0.00147756 -0.00158325
+0.00166478 -0.00182054 3.5271e-06 -0.00109895 -0.000463907 -0.000817356
+-0.00170237 0.00225851 0.00170723 -0.00234207 0.000100658 -0.00214875
+-0.00229243 0.001074 -0.00138498 0.00236444 0.00109029 -0.0010582 0.000948999
+0.00139785 -0.000255612 -0.00154754 -0.000902163 -0.000556932 0.00184524
+-0.000818614 0.0014175 -0.001147 -0.000879508 0.00137127 0.00157677
+-0.00227442 -0.000213276 -0.00163455 -0.00235069 0.000914303 -0.000359532
+0.00123966 0.00204608 0.00115316 -0.00209813 0.000266484 0.000787913
+0.00185387 -0.000490972 0.00130654 -0.000763627 0.000687359 1.25636e-05
+-0.000517927 -0.00210868 0.000302149 -0.000221433 -0.00139145 -0.00218493
+-0.000786313 0.000499234 0.00140311 -0.00210649 3.17324e-05 -0.00149887
+-0.000949377 -0.00217184 -0.00170018 0.00178524 0.000209359 0.00209031
+0.00178385 -0.00129121 0.000139166 -0.00162974 -0.00060624 -0.000557949
+-0.00162694 -0.000707867 0.000242797 -0.00177361 0.00142123 0.000909407
+0.000589972 -0.00108638 -0.001541 0.000119615 -0.00154313 0.00184791
+0.00112397 -0.000481904 -0.00203236 0.000932752 -6.22393e-05 0.000403429
+-0.000214537 -0.00129623 0.00150692 0.00135973 -0.000668023 0.000859076
+0.000477253 -0.00205027 0.000620383 -0.000298067 0.00131581 -9.81897e-05
+-0.000357981 0.000391007 0.00120418 -0.000479092 0.000118652 -0.00183203
+0.0011365 -0.000703926 -0.000782721 0.00201164 -0.00060997 -0.00095725
+0.000978817 -0.00176144 0.000256378 0.000577638 0.000324133 1.59867e-05
+0.00160444 0.00132522 -0.00166645 0.001214 0.00166469 0.000941659 0.000189783
+-0.000329214 0.000621588 0.000827563 0.000667328 0.00097043 0.00116145
+0.000785249 4.30932e-05 5.21686e-05 0.000412219 0.000602401 -0.000733841
+-0.00120154 0.000249634 -0.00127267 -0.00180589 0.00113257 0.00115229
+-0.000576841 0.000447163 0.0018513 -0.000842885 -0.00175455 -0.00139878
+-0.00090474 0.000459078 -0.00142743 -0.000454167 -0.000222927 0.00150268
+-0.000933776 0.000395572 0.000256062 0.00175047 0.000725543 0.000754875
+0.00124936 0.000557209 0.000163629 -0.000817999 0.00149572 0.000422363
+-0.00169798 -0.000436914 -0.000310488 -0.0013734 -0.00105209 -0.00125445
+0.000686591 -0.000624771 0.00134761 -0.0017261 0.00144715 0.000225461
+0.000898026 0.000874913 -0.000806741 -0.00106018 0.000942372 -0.000554013
+-7.91525e-06 -0.000867468 0.00105901 -0.000392938 0.000726409 0.00130337
+0.000244898 -3.74816e-06 -0.000388736 0.000184777 0.000765299 -0.000649227
+0.000357297;
+#A 7000 0.0012492 -0.000575012 -0.000898908 0.000507421 -0.000530798
+-0.000259931 -0.00151475 0.000737702 0.000613408 0.00158958 -0.00118669
+0.0015686 -0.00123311 -0.001357 0.00029626 0.00104943 -0.00109924 -0.00100317
+0.00142512 -0.000305563 -0.000475551 0.00135078 0.000744428 -0.000338464
+0.000532713 0.00135782 0.000868392 -0.00146866 0.000550816 0.0015088
+-0.000846424 -0.000401221 -0.00019781 -0.000220583 -0.000470368 0.00100168
+-0.000986546 0.000920071 -0.00132245 0.00131788 0.00064037 0.000788796
+-0.000758939 -0.000382906 0.000309443 -0.000870563 0.00074417 -0.000779842
+-0.00127626 0.00057363 -0.000889073 0.000219084 0.000446521 -0.00125235
+9.01408e-05 -0.00103675 0.000389459 -0.000313182 -0.000615406 -0.00015187
+-0.000870292 -0.00129548 0.000424396 0.00142679 -0.000447372 -0.000900836
+-0.000787204 0.00099431 0.000140848 -0.000485013 0.000252497 -0.000374513
+-0.000863164 -0.000540191 0.00023615 -0.000714745 0.000558057 -0.000323393
+-0.000441217 0.000784675 -4.65611e-05 0.000436985 -0.00116446 -0.0001948
+0.000213646 0.000608115 0.00035096 3.90493e-05 -0.00113403 0.000135148
+0.000705914 -0.000505814 -0.000555664 0.000386704 -0.000838822 -0.000561424
+0.000400031 -0.000138427 -0.00040852 0.000369891 -0.000300845 0.00124515
+0.00124346 -0.00113911 0.00111082 0.000594973 -0.000300892 0.000686361
+-0.0010648 0.000853163 -6.13605e-05 0.000673992 0.00113989 -0.000162426
+0.000163353 -0.000293628 0.000136755 -0.000341238 0.000993567 -0.00113639
+-0.000481713 -0.00120794 0.00110377 -0.000529109 -0.000900797 1.5097e-05
+-0.000127802 -0.00115169 -0.000218883 -0.00103647 -0.000729499 -0.000933569
+0.000261304 0.000553128 0.000213879 -0.00104661 0.000533644 -0.000868625
+0.000911986 -0.00092741 -0.000160334 0.000682107 -0.000541971 -7.53034e-05
+-0.00114301 -0.000283223 0.000369455 0.000836565 -0.00115323 -6.13803e-05
+-0.000710245 -0.000505833 0.000271918 -0.000249941 0.000159092 -0.00104976
+0.000924776 -0.000313533 -0.00101767 -0.00109038 0.000389106 0.000954921
+-0.00049903 -0.000687481 -0.00079854 0.000145733 0.000642144 -0.000180584
+-0.000277334 0.0002971 -0.000401817 -0.000123326 -0.00018055 -4.79884e-05
+0.000738632 -0.000676492 -0.000579566 0.000748011 -0.000341441 -0.000497692
+-0.000307388 6.95357e-05 -0.000244494 0.000563768 -0.000399399 -0.000456226
+-0.000262401 -0.000539637 0.000579934 0.000935327 0.000232443 -0.000948325
+-2.87749e-05 0.000719733 -0.000900581 0.000606823 0.000864087 -6.92021e-05
+0.000901744 -0.000684915 0.000382314 -0.000354214 0.000875534 0.000880776
+0.000439515 -0.00073796 -0.000421234 -0.000559352 -0.000690283 -0.00062318
+0.000211343 -0.000923636 -0.000920695 -0.000947497 -0.000324575 -0.000912157
+0.000376783 -0.000387742 -0.000774662 0.000123788 0.000820491 0.000936377
+0.000456949 0.000784013 0.000777128 0.000380906 -0.000855015 0.000631465
+0.000680243 -0.00016551 -0.000182981 -0.000283614 -7.74131e-05 -0.000339954
+0.000856157 0.000464451 -0.0009205 0.000906736 0.00044987 0.000660678
+-0.000310299 0.000487073 -0.000114541 0.000136953 -5.9995e-05 -0.00014513
+0.000737664 0.000257715 -0.00080071 -0.000816176 -1.94711e-05 0.000297526
+3.97128e-05 -0.000519886 -0.000813488 -0.000192749 0.000842487 -0.0002868
+0.000398808 -0.000481032 0.000677423 -0.000200971 7.96434e-05 -0.000845284
+-1.42636e-05 0.000376014 0.000234714 -0.000763005 0.000789758 -0.000396797
+-0.000329816 -0.000188165 -0.000317305 0.000726605 0.000548254 -0.000327887
+-0.000709808 -0.000484459 0.000769154 -0.000625539 0.000344775 -0.000619264
+-0.000376633 -0.000460527 0.000411514 -0.000244047 -0.000583738 -0.000335371
+0.00041205 0.000190481 0.00012176 0.000637337 0.000695486 -0.000219423
+0.000365849 -0.000479682 0.000137039 0.00020266 -0.000463569 -0.000750459
+-0.000381625 -0.000461828 -0.000631848 -0.00060664 0.000232222 -0.000714649
+0.000397486 0.000222135 -0.00032225 0.000570012 -0.000208637 -0.000725021
+0.000678173 -0.000540412 -0.000469693 0.000594229 0.000426519 -0.000538308
+0.000223535 -0.000137773 -0.000316593 -0.00015623 -0.000610216 0.000381392
+0.00061934 -0.00025272 -0.000268581 0.000656806 6.27917e-05 -0.000500579
+0.000587874 0.000462338 0.000101547 -0.000673198 -0.000395233 -0.000264257
+0.000558283 -7.40567e-05 -0.000394004 -0.000691442 4.78703e-05 0.00054017
+0.000667208 0.000540232 -0.000595821 0.000286323 0.000664962 -0.000199572
+0.000407903 -0.000261271 -0.000442182 3.44015e-05 0.000173264 3.26499e-05
+0.000340138 0.000313123 0.000372136 -0.000322517 0.00022914 -0.000253731
+-0.000447886 -0.000126551 0.000626085 0.000149804 0.000101168 0.000622597
+0.00039729 -0.000268301 0.000120118 1.50889e-05 -0.000378856 0.000413486
+-0.000342796 0.00029533 0.000209729 -0.00031269 -0.000144468 -0.000102416
+-0.000147359 -0.00028676 0.000584347 0.000108544 -0.000202493 -7.51208e-05
+0.000403579 0.000447199 -0.000548961 0.000288714 -9.09286e-05 -0.000441917
+-0.000418663 -0.000218049 -0.000306548 -2.17395e-05 0.000176577 8.58264e-05
+0.000542075 -0.000277782 0.000535511 -0.000187838 -0.000236575 0.000101605
+0.000237291 -6.59155e-06 0.000367821 0.000453996 -0.000245949 0.000197307
+-0.000358722 0.000447421 -0.00041882 -0.000214713 -3.92954e-05 0.000231444
+0.000279601 0.000503509 0.000487381 -0.000268749 -1.41e-05 0.000205976
+0.000329102 0.000497112 -0.000403776 -0.00052477 0.000106153 -7.88035e-06
+-0.000369373 0.000395796 -0.000139955 -0.000391764 0.000296226 0.000271513
+7.23289e-05 -0.000509181 0.000207145 -5.47508e-05 0.000215143 0.000361323
+0.000226735 0.000185898 0.000299066 0.000227878 0.000499131 -0.000370339
+-2.75462e-05 -0.000115399 -0.000502344 0.000341239 0.000509725 8.26888e-05
+3.69382e-05 -2.25344e-06 0.000312896 0.000163926 0.000477555 -3.13345e-05
+-0.000490836 4.24753e-05 0.000262056 0.000151496 1.16089e-05 0.000317891
+-0.000109386 0.000308685 0.00043373 -0.00030428 -0.000320058 -0.00038599
+-0.000171142 -0.000418772 0.000291421 0.000302665 -2.95393e-05 1.26319e-05
+0.000137193 -6.00689e-05 -0.00031629 -0.000117911 0.000239614 0.000368158
+-0.000399459 0.000161575 0.000175609 -0.000374141 -9.84947e-05 -0.000213919
+-0.000428891 0.000174801 -0.000189702 0.000214115 0.000165268 -0.000349396
+-0.000405665 3.95643e-05 0.00036534 0.000289016 0.000424982 -6.46746e-05
+-0.000332357 0.000326202 -0.000347566 -0.000397012 -6.96946e-05 0.000115071
+3.94671e-05 0.000328449 0.000323533 0.000304188 0.00018308 -9.26968e-05
+7.13173e-05 0.000359726 -0.000247005 -8.64855e-05 -5.32104e-05 -9.01422e-05
+-2.14043e-05 0.000199606 0.000142187 0.000196057 -0.000214303 -0.000261724
+-0.000275583 -7.52304e-05 0.000126259 3.01654e-05 -4.09653e-05 -0.0003402
+-0.000218268 -0.000320716 2.88781e-05 -0.000256556 -2.60203e-05 -0.000189933
+-5.74624e-05 0.000132393 -0.000144382 -5.66651e-05 -6.79256e-05 -0.000332045
+-0.000154313 -0.000254363 -0.000296142 0.000167059 -3.51242e-05 7.95371e-05
+-0.000177711 -0.000144392 0.000358404 -0.000325194 -0.000178367 0.00011174
+0.000114395 0.000353344 -4.52515e-05 0.000152097 -0.000356767 -0.000340855
+-0.000275549 0.000260527 -0.000189885 4.07865e-05 -7.10681e-05 -4.75349e-05
+0.000243042 -0.000221257 0.000132443 -2.22106e-05 -0.000296696 0.000178845
+0.000340916 0.000172121 -0.000280522 -4.32924e-05 0.000312616 -0.000296574
+0.000248021 -0.000235786 0.000110128 0.000176364 0.000222532 -0.000188694
+-0.000228089 -1.8564e-05 -0.000107123 -0.000173131 0.000165302 -0.000210595
+0.000190611 -0.000158425 -0.000302273 -1.9037e-05 3.78133e-05 -0.000219932
+0.000131112 -0.000281152 9.74466e-05 -0.000119311 -0.000275698 4.63384e-05
+-0.000230743 -1.70803e-05 -9.66521e-05 3.54906e-05 -0.000138785 0.000265031
+0.00013758 0.000161817 -9.01403e-06 0.000243307 -0.000232444 0.000101935
+0.000275709 -0.000190156 0.000139153 -0.000151913 -0.000242767 -0.000258583
+-9.71673e-05 0.000290766 9.92376e-05 -3.16694e-05 -0.000110656 -0.000174381
+0.000141272 -0.000138564 -3.78255e-05 -1.28841e-05 -9.9798e-05 -0.000220305
+-4.35099e-05 1.51792e-05 0.000160573 -0.000177594 -0.000156793 -0.000186564
+-0.000266483 -7.12576e-05 -0.00025858 5.47798e-05 -7.04945e-05 0.000106298
+-0.000206712 0.000242848 -0.000117685 0.000237174 -8.5087e-05 -0.00025921
+0.000115376 3.29665e-05 -3.51605e-05 -9.79168e-05 -9.33544e-05 0.000170928
+-0.000231284 -8.21348e-05 -8.11348e-05 -0.000146722 4.11026e-05 -0.000204514
+-0.000109212 -0.000218314 6.33194e-05 0.000187675 -8.45559e-05 -2.93489e-06
+-7.4673e-05 -0.000128661 1.08752e-06 -1.2751e-06 -3.47991e-06 -6.38608e-05
+3.5126e-05 -4.96448e-05 -0.000166491 8.91011e-06 0.000112424 -1.49576e-05
+-7.11332e-05 0.00015326 -0.000231573 0.000159096 -0.000102849 -8.83628e-05
+-3.44492e-05 6.08733e-05 -5.24769e-05 -0.000143917 0.000187676 -5.48234e-05
+-0.000169366 -6.924e-05 0.000208597 7.43959e-05 1.51495e-05 -0.000156248
+-0.000189901 -0.00021846 -1.09017e-05 -2.10567e-05 0.000175068 -0.000203148
+9.6554e-05 0.000159488 -0.000157061 0.000157146 9.29294e-05 -8.68819e-05
+-0.000112576 0.000106051 -0.000159277 8.87658e-05 0.000117173 0.000207073
+-0.000159477 -0.00014425 6.50592e-05 -0.000169995 -3.47183e-05 -0.000191218
+0.000199124 -0.000158299 -0.000173895 5.56455e-05 0.000109783 -4.95583e-05
+-0.00019452 0.000162531 -7.30231e-05 -6.51151e-05 -6.5513e-05 -1.30406e-05
+-4.58004e-05 8.54845e-05 -6.62585e-05 0.000147404 -0.000145886 0.000171048
+-8.13935e-05 -0.000112742 8.18382e-05 9.87108e-05 -0.000178329 8.30383e-05
+0.000118243 -0.000133737 -0.000117509 -0.000181216 6.96005e-05 -2.5578e-05
+-8.87828e-05 -0.000119761 -0.000131815 9.39839e-05 -3.85206e-05 -3.98037e-05
+-0.000123752 6.5694e-05 0.000149544 6.55084e-05 -5.10189e-05 -0.000147475
+5.61899e-05 0.000156118 -0.000126318 -7.61452e-05 0.000146521 -9.81166e-05
+2.3322e-05 1.48155e-06 -4.83064e-05 -0.000116114 -0.000133376 -3.8507e-06
+-2.81958e-05 0.000132099 0.000141073 -3.98404e-05 6.84192e-05 -0.000148495
+-9.63587e-05 0.000123971 -0.000153369 0.000123925 0.000126407 5.96334e-05
+-0.00013141 -0.000151332 6.38976e-06 -0.000132509 -0.000113432 -0.000145522
+-2.72324e-06 0.000103609 -9.12737e-05 2.333e-05 -5.32228e-05 -1.80584e-05
+-0.000108868 4.33863e-05 1.05692e-05 -3.24529e-05 -2.547e-05 -0.000127644
+-5.51754e-05 0.000118803 4.58581e-05 -6.0435e-05 0.000119945 9.03633e-05
+0.000126189 -2.16762e-05 0.000103534 5.26705e-05 9.06114e-05 -3.96244e-06
+9.18588e-05 -6.99231e-05 -0.000102175 0.000121435 -5.29731e-05 -0.000130497
+7.07592e-07 -6.53253e-06 -0.000126898 -7.27657e-05 4.9602e-05 -0.000130346
+-9.72919e-05 0.000115102 1.65862e-05 0.000124706 -0.000111513 -1.01902e-05
+0.00011511 9.17382e-05 -5.68378e-05 -0.000126589 -9.65907e-05 0.000109071
+1.98354e-05 1.44711e-05 -9.53789e-05 -4.40881e-05 -3.42756e-05 -0.000107171
+6.77947e-05 -6.02567e-05 -4.51936e-06 7.07596e-05 5.11669e-06 1.96312e-05
+0.000103474 -0.000117026 9.32659e-05 1.71592e-05 -5.50648e-05 8.14844e-05
+8.30488e-05 9.60546e-05 5.34437e-05 1.59611e-07 7.36206e-05 -0.000113025
+-6.21388e-05 1.59049e-05 -1.24152e-05 -1.14204e-05 9.41162e-05 5.53836e-05
+-7.5127e-05 8.12193e-05 4.72129e-05 4.56104e-05 -6.3318e-06 8.70641e-05
+-2.9712e-05 -5.41445e-05 0.000105252 -3.76891e-06 -2.06443e-05 3.80059e-05
+-5.28402e-05 -3.03088e-05 6.83216e-05 2.58535e-06 -6.68118e-05 7.39135e-05
+5.81208e-07 -3.86402e-05 -9.29886e-06 9.32456e-05 -3.96077e-05 7.14271e-05
+5.64583e-06 2.07722e-06 -8.81567e-05 1.48119e-05 -2.04169e-05 4.94373e-05
+-6.21602e-05 -6.99812e-05 -6.81391e-05 -6.67656e-05 -6.97088e-05 -2.29791e-05
+-4.80091e-05 -2.99185e-05 7.93086e-06 -6.4468e-06 1.68672e-05 -5.89997e-06
+-6.48934e-05 -4.2006e-05 -3.71554e-05 3.15824e-05 -1.4117e-05 -8.54198e-05
+-5.2555e-05 6.81312e-05 -8.00106e-05 -5.03327e-05 -4.99049e-05 5.6397e-05
+-8.34014e-05 4.20525e-05 -3.50847e-05 -3.44716e-05 1.595e-05 -2.8145e-05
+-3.57833e-05 3.28588e-05 7.61727e-05 -6.03767e-05 -1.1149e-05 4.99157e-05
+1.97055e-05 2.67875e-05 2.76247e-05 4.69502e-05 1.2949e-05 7.13521e-05
+2.82482e-05 3.18771e-07 -3.82229e-05 6.32702e-05 2.32495e-05 7.1777e-05
+-5.64882e-05 -7.52744e-05 5.21801e-05 -4.66259e-05 -4.72077e-05 -5.04802e-05
+5.51556e-05 -4.92359e-05 -6.65992e-05 5.69698e-05 3.37395e-05 -5.03714e-05
+5.93517e-05 2.79149e-05 1.50739e-05 -4.38056e-05 -4.2024e-05 3.20716e-05
+-1.51792e-05 5.43174e-05 6.80207e-05 2.4926e-05 6.80454e-05 -8.69103e-06
+-4.71735e-05 5.8643e-05 -1.73492e-05 5.06138e-05 -2.80768e-05 6.04457e-05
+-2.56288e-05 1.8836e-05 -1.48352e-05 5.89033e-05 5.97622e-05 -2.3729e-05
+-3.43449e-05 3.39459e-05 -4.18459e-05 1.94012e-05 9.52488e-06 -5.98462e-05
+-5.52232e-06 4.58803e-05 -5.51445e-05 2.25818e-06 4.16403e-05 -4.15755e-05
+3.94566e-05 4.77493e-05 -1.37609e-05 -6.95325e-06;
+#X coords 0 1 7999 -1 100 70 1;
+#X restore 237 208 graph;
+#N canvas 512 387 458 308 makeglitch 0;
+#X obj 87 124 noise~;
+#X obj 166 125 line~;
+#X msg 169 69 1;
+#X msg 234 76 0 200;
+#X obj 163 163 *~;
+#X obj 95 204 *~;
+#X obj 95 245 tabwrite~ rtrig_buffa;
+#X obj 172 30 t b b b;
+#X obj 136 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 52 48 inlet;
+#X obj 164 187 *~;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 1 0 4 1;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 10 0;
+#X connect 4 0 10 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 0;
+#X connect 7 1 3 0;
+#X connect 7 2 2 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 5 1;
+#X restore 105 292 pd makeglitch;
+#X obj 42 177 player~ rtrig_buffa 1 4;
+#X obj 42 262 *~ 0.1;
+#X obj 42 291 dac~;
+#X obj 200 171 sig~ 1;
+#X obj 42 154 rtrig~ 0.1 1 1e-05;
+#X obj 78 220 hsl 128 8 0 1 0 0 empty empty gain -2 -8 0 8 -223855
+-1 -1 0 1;
+#X floatatom 75 232 5 0 0 0 - - -, f 5;
+#X obj 45 84 hsl 128 8 0 0.001 0 0 rtrig-odds empty odds -2 -8 0 8
+-223855 -1 -1 0 1;
+#X obj 26 10 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 28 43 rtrig~ - generates random click triggers;
+#X obj 105 267 loadbang;
+#X text 160 149 args: min gain \, max gain \, per-sample event odds
+;
+#X connect 0 0 1 0;
+#X connect 1 0 9 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 6 0 7 1;
+#X connect 8 0 5 1;
+#X connect 9 0 5 0;
+#X connect 10 0 11 0;
+#X connect 11 0 6 1;
+#X connect 15 0 4 0;
diff --git a/externals/lyonpotpourri/rtrig~.c b/externals/lyonpotpourri/rtrig~.c
new file mode 100755
index 000000000..3604cb4dc
--- /dev/null
+++ b/externals/lyonpotpourri/rtrig~.c
@@ -0,0 +1,145 @@
+#include "MSPd.h"
+
+static t_class *rtrig_class;
+
+#define OBJECT_NAME "rtrig~"
+
+#define MAXFLAMS (16)
+#define MAXATTACKS (128)
+#define STOPGAIN (.001)
+
+#define RAND_MAX2 (0x7fffffff)
+
+typedef struct
+{
+	int attack_count; // number of triggers per flam event
+	float *attack_times; // trigger times in seconds
+	int *attack_points; // trigger times in samples
+	int fdex; // current flam
+	float gainatten; // attenuation factor
+	float amp; // current amp
+	int atks;// number of attacks per flam
+	long counter; // internal clock
+	short active; // flag that flam is turned on
+    
+    
+} t_flam;
+
+typedef struct _rtrig
+{
+    
+	t_object x_obj;
+	float x_f;
+    short mute;
+    float min;
+    float max;
+    float odds;
+    
+} t_rtrig;
+
+
+void *rtrig_new(t_symbol *s, int argc, t_atom *argv);
+t_int *rtrig_perform(t_int *w);
+void rtrig_dsp(t_rtrig *x, t_signal **sp);
+void rtrig_free(t_rtrig *x);
+void rtrig_mute(t_rtrig *x, t_floatarg tog);
+void rtrig_min(t_rtrig *x, t_floatarg v);
+void rtrig_max(t_rtrig *x, t_floatarg v);
+void rtrig_odds(t_rtrig *x, t_floatarg v);
+
+
+void rtrig_tilde_setup(void)
+{
+    rtrig_class = class_new(gensym("rtrig~"),(t_newmethod)rtrig_new,(t_method)rtrig_free, sizeof(t_rtrig), 0, A_GIMME,0);
+    CLASS_MAINSIGNALIN(rtrig_class,t_rtrig, x_f );
+    
+    class_addmethod(rtrig_class,(t_method)rtrig_dsp,gensym("dsp"),A_CANT,0);
+    class_addmethod(rtrig_class,(t_method)rtrig_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(rtrig_class,(t_method)rtrig_min,gensym("min"),A_FLOAT,0);
+    class_addmethod(rtrig_class,(t_method)rtrig_max,gensym("max"),A_FLOAT,0);
+    class_addmethod(rtrig_class,(t_method)rtrig_odds,gensym("odds"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void rtrig_mute(t_rtrig *x, t_floatarg tog)
+{
+	x->mute = (short) tog;
+}
+
+void rtrig_min(t_rtrig *x, t_floatarg v)
+{
+	x->min = (float) v;
+}
+
+void rtrig_max(t_rtrig *x, t_floatarg v)
+{
+	x->max = (float) v;
+}
+
+void rtrig_odds(t_rtrig *x, t_floatarg v)
+{
+	x->odds = (float) v;
+}
+
+
+void *rtrig_new(t_symbol *s, int argc, t_atom *argv)
+{
+
+    t_rtrig *x = (t_rtrig *)pd_new(rtrig_class);
+    outlet_new(&x->x_obj, gensym("signal"));    
+    x->mute = 0;
+    x->min = atom_getfloatarg(0,argc,argv);
+    x->max = atom_getfloatarg(1,argc,argv);
+    x->odds = atom_getfloatarg(2,argc,argv);
+    
+    srand(time(0));
+    return (x);
+}
+
+
+
+void rtrig_free(t_rtrig *x)
+{    
+}
+
+t_int *rtrig_perform(t_int *w)
+{
+    
+	t_rtrig *x = (t_rtrig *) (w[1]);
+	float *out_vec = (t_float *)(w[2]);
+	int n = (int) w[3];
+	
+	float rval;
+	float min = x->min;
+	float max = x->max;
+	float odds = x->odds;
+    
+	if(x->mute){
+		memset( (void *)out_vec, 0, n * sizeof(float) );
+		return (w+4);
+	}
+    
+	while( n-- ){
+		rval = (float) rand() / (float) RAND_MAX2;
+		if(rval < odds){
+			rval = min + (max-min) * ((float) rand() / (float) RAND_MAX2);
+			*out_vec++ = rval;
+		} else {
+			*out_vec++ = 0.0;
+		}
+	}
+	
+    
+	return (w+4);
+}
+
+void rtrig_dsp(t_rtrig *x, t_signal **sp)
+{
+    
+	dsp_add(rtrig_perform, 3, x, 
+            //			sp[0]->s_vec, 
+			sp[1]->s_vec,
+			sp[0]->s_n
+            );
+}
+
diff --git a/externals/lyonpotpourri/samm~-help.pd b/externals/lyonpotpourri/samm~-help.pd
new file mode 100755
index 000000000..150455784
--- /dev/null
+++ b/externals/lyonpotpourri/samm~-help.pd
@@ -0,0 +1,200 @@
+#N canvas 1227 671 555 539 10;
+#X obj 42 295 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 78 80 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 42 254 click2bang~;
+#X obj 134 313 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 134 282 click2bang~;
+#X obj 245 339 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 245 290 click2bang~;
+#X obj 116 467 *~ 0.1;
+#X obj 116 497 dac~;
+#X floatatom 320 454 5 0 0 0 - - -, f 5;
+#N canvas 547 354 816 547 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X msg 211 191 2 50 50 50;
+#X obj 94 178 osc~ 322;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 180 394 pd toner;
+#N canvas 547 354 820 551 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X msg 211 191 2 50 50 50;
+#X obj 94 178 osc~ 444;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 244 394 pd toner;
+#N canvas 547 354 828 559 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X msg 211 191 2 50 50 50;
+#X obj 94 178 osc~ 670;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 374 393 pd toner;
+#N canvas 452 295 832 563 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X msg 211 191 2 50 50 50;
+#X obj 94 178 osc~ 190;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 116 394 pd toner;
+#N canvas 547 354 828 559 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X obj 94 178 osc~ 976;
+#X msg 211 191 2 50 50 200;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X restore 436 393 pd toner;
+#X obj 140 183 samm~ 20 5 7 11 13 19 1;
+#N canvas 460 303 824 555 toner 0;
+#X obj 211 218 adsr~;
+#X obj 94 286 *~;
+#X obj 210 154 loadbang;
+#X obj 115 347 outlet~;
+#X obj 169 100 inlet~;
+#X msg 211 191 2 50 50 50;
+#X obj 94 179 osc~ 555;
+#X connect 0 0 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 309 393 pd toner;
+#X obj 163 362 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 163 313 click2bang~;
+#X obj 345 372 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 345 310 click2bang~;
+#X obj 441 340 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 441 291 click2bang~;
+#X obj 140 153 r samm-msgs;
+#N canvas 0 22 574 436 operation 0;
+#X obj 127 186 s samm-msgs;
+#X msg 109 134 tempo \$1;
+#X floatatom 109 105 5 0 0 0 - - -, f 5;
+#X msg 109 79 20;
+#X msg 215 112 arm;
+#X msg 253 115 resume;
+#X msg 313 115 pause;
+#X msg 34 107 beatinfo;
+#X msg 250 210 mute \$1;
+#X obj 251 174 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 8 0;
+#X restore 375 98 pd operation;
+#X obj 323 448 hsl 80 8 0 0.25 0 0 empty empty gain -2 -8 0 8 -141498
+-1 -1 0 1;
+#X text 312 187 args: tempo \, [beat subdivisions]*;
+#N canvas 639 436 544 322 specs 0;
+#X obj 48 283 s samm-msgs;
+#X msg 90 71 divbeats 1 19 13 11 7 5;
+#X msg 102 116 msbeats 250 450 333 1600 777 630;
+#X msg 48 30 beats 0.1 0.2 0.333 0.25 0.4 0.5;
+#X msg 98 162 ratiobeats 1 12 1 16 1 9 1 7 3 32 5.5 11;
+#X text 46 9 specify each tempo with its time interval in beats;
+#X text 91 53 specify each tempo as a subdivision of a beat (quarter
+note);
+#X text 108 96 specify each tempo with time interval in ms.;
+#X text 107 142 specify each tempo as a ratio (relative to a whole
+note);
+#X msg 106 205 sampbeats 44100 22050 11025 88200 6677 9313;
+#X text 131 185 specify each tempo in samples;
+#X msg 157 243 beatinfo;
+#X text 155 227 diagnostics;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 9 0 0 0;
+#X connect 11 0 0 0;
+#X restore 375 123 pd specs;
+#X text 99 80 reinit timer;
+#X obj 9 12 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 11 46 samm~ - sample accurate multiple metronomes;
+#X obj 78 103 click~;
+#X connect 1 0 31 0;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 9 0 7 1;
+#X connect 10 0 7 0;
+#X connect 11 0 7 0;
+#X connect 12 0 7 0;
+#X connect 13 0 7 0;
+#X connect 14 0 7 0;
+#X connect 15 0 2 0;
+#X connect 15 0 13 0;
+#X connect 15 1 4 0;
+#X connect 15 1 10 0;
+#X connect 15 2 11 0;
+#X connect 15 2 18 0;
+#X connect 15 3 16 0;
+#X connect 15 3 6 0;
+#X connect 15 4 12 0;
+#X connect 15 4 20 0;
+#X connect 15 5 14 0;
+#X connect 15 5 22 0;
+#X connect 16 0 7 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 22 0 21 0;
+#X connect 23 0 15 0;
+#X connect 25 0 9 0;
+#X connect 31 0 15 0;
diff --git a/externals/lyonpotpourri/samm~.c b/externals/lyonpotpourri/samm~.c
new file mode 100755
index 000000000..0e8d0788a
--- /dev/null
+++ b/externals/lyonpotpourri/samm~.c
@@ -0,0 +1,431 @@
+#include "MSPd.h"
+
+
+static t_class *samm_class;
+
+#define MAXBEATS (256)
+#define OBJECT_NAME "samm~"
+// #define DATE "prerelease"
+
+typedef struct _samm
+{
+	t_object x_obj;
+	float x_f;
+	double tempo; /* current tempo */
+	double onebeat_samps; /* number of samples for a single beat */
+	double *beats; /* amount of beats for each active tempo outlet */
+	double *metro_samps;/* number of samples to count down for each time interval */
+	double *metro_beatdurs;/* number of beats for each metro time interval */
+	double *metro;/* current countdown for each time interval */
+	int metro_count; /* number of metronomes to keep track of */
+	float sr; /* current sampling rate */
+	short pause;
+	short mute;
+    // Pd only */
+	float *trigger_vec;
+	short vs;
+} t_samm;
+
+void *samm_new(t_symbol *msg, short argc, t_atom *argv);
+void *samm_beatlist(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+t_int *samm_perform(t_int *w);
+void samm_dsp(t_samm *x, t_signal **sp);
+void samm_tempo(t_samm *x, t_floatarg f);
+void samm_divbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+void samm_msbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+void samm_sampbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+void samm_ratiobeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+void samm_free(t_samm *x);
+void samm_beatinfo(t_samm *x);
+void samm_init(t_samm *x,short initialized);
+void samm_mute(t_samm *x, t_floatarg f);
+void samm_pause(t_samm *x);
+void samm_arm(t_samm *x);
+void samm_resume(t_samm *x);
+void samm_beats(t_samm *x, t_symbol *msg, short argc, t_atom *argv);
+
+
+void samm_beatinfo(t_samm *x)
+{
+	int i;
+	post("tempo %.10f",x->tempo);
+	post("samples in one beat: %.10f",x->onebeat_samps);
+	for(i = 0; i < x->metro_count; i++){
+		post("%d: relative duration %.10f, samples %.10f samples ratio to 1 beat: %.10f", i,
+             x->metro_beatdurs[i], x->metro_samps[i], x->onebeat_samps / x->metro_samps[i]  );
+	}
+}
+
+void samm_tilde_setup(void){
+	samm_class = class_new(gensym("samm~"), (t_newmethod)samm_new,
+						   (t_method)samm_free,sizeof(t_samm), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(samm_class, t_samm, x_f);
+	class_addmethod(samm_class,(t_method)samm_dsp,gensym("dsp"),0);
+	class_addmethod(samm_class,(t_method)samm_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(samm_class,(t_method)samm_tempo,gensym("tempo"),A_FLOAT,0);
+	class_addmethod(samm_class,(t_method)samm_beatinfo,gensym("beatinfo"),0);
+	class_addmethod(samm_class,(t_method)samm_beats,gensym("beats"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_divbeats,gensym("divbeats"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_msbeats,gensym("msbeats"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_sampbeats,gensym("sampbeats"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_ratiobeats,gensym("ratiobeats"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_pause,gensym("pause"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_arm,gensym("arm"),A_GIMME,0);
+	class_addmethod(samm_class,(t_method)samm_resume,gensym("resume"),A_GIMME,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+
+void samm_pause(t_samm *x)
+{
+	x->pause = 1;
+}
+
+void samm_mute(t_samm *x, t_floatarg f)
+{
+	x->mute = (short) f;
+}
+
+void samm_arm(t_samm *x)
+{
+	int i;
+	
+	x->pause = 1;
+	for( i = 0; i < x->metro_count; i++){
+		x->metro[i] = 1.0;
+	}
+	
+}
+
+void samm_resume(t_samm *x)
+{
+	x->pause = 0;
+}
+
+void samm_beats(t_samm *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    double beatdur;
+    
+	if(argc != x->metro_count){
+		error("%s: arguments did not match metro count %d",OBJECT_NAME,x->metro_count);
+		return;
+	}
+    
+	for(i = 0; i < argc; i++){
+		beatdur = (double)atom_getfloatarg(i,argc,argv);
+    	if(!beatdur){
+			error("%s: zero divisor given for beat stream %d",OBJECT_NAME,i+1);
+			beatdur = 1.0;
+		}
+        
+		x->metro_beatdurs[i] = beatdur;
+		x->metro_samps[i] = x->metro_beatdurs[i] * x->onebeat_samps;
+		x->metro[i] = 1.0; // initialize for instantaneous beat
+	}
+}
+
+void samm_divbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    double divisor;
+    
+	if(argc != x->metro_count){
+		error("%s: arguments did not match metro count %d",OBJECT_NAME,x->metro_count);
+		return;
+	}
+    
+	for(i = 0; i < argc; i++){
+		divisor = (double)atom_getfloatarg(i,argc,argv);
+    	if(!divisor){
+			error("%s: zero divisor given for beat stream %d",OBJECT_NAME,i+1);
+			divisor = 1.0;
+		}
+        
+		x->metro_beatdurs[i] = 1.0 / divisor; // argument is now DIVISOR of beat
+		x->metro_samps[i] = x->metro_beatdurs[i] * x->onebeat_samps;
+		x->metro[i] = 1.0; // initialize for instantaneous beat
+	}
+}
+
+void samm_msbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    double msecs;
+	if(argc != x->metro_count){
+		error("%s: arguments did not match metro count %d",OBJECT_NAME,x->metro_count);
+		return;
+	}
+	for(i = 0; i < argc; i++){
+		msecs = (double)atom_getfloatarg(i,argc,argv);
+    	if(msecs <= 0){
+			error("%s: illegal duration for beat stream %d",OBJECT_NAME,i+1);
+			msecs = 1000.0;
+		}
+		x->metro_samps[i] = x->sr * .001 * msecs;
+		x->metro_beatdurs[i] = x->metro_samps[i] / x->onebeat_samps; // just in case tempo changes
+		x->metro[i] = 1.0; // initialize for instantaneous beat
+	}
+    
+}
+
+void samm_sampbeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i;
+    double samples;
+	if(argc != x->metro_count){
+		error("%s: arguments did not match metro count %d",OBJECT_NAME,x->metro_count);
+		return;
+	}
+	for(i = 0; i < argc; i++){
+		samples = (double)atom_getfloatarg(i,argc,argv);
+    	if(samples <= 0){
+			error("%s: illegal duration for beat stream %d",OBJECT_NAME,i+1);
+			samples = x->sr;
+		}
+		x->metro_samps[i] = samples;
+		x->metro_beatdurs[i] = x->metro_samps[i] / x->onebeat_samps; // just in case tempo changes
+		x->metro[i] = 1.0; // initialize for instantaneous beat
+	}
+}
+
+void samm_ratiobeats(t_samm *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    int i,j;
+    double num,denom;
+    
+	if(argc != x->metro_count * 2){
+		error("%s: arguments did not match metro count %d",OBJECT_NAME,x->metro_count);
+		return;
+	}
+    
+	for(i = 0, j= 0; i < argc; i += 2, j++){
+		num = (double)atom_getfloatarg(i,argc,argv);
+		denom = (double)atom_getfloatarg(i+1,argc,argv);
+    	if(!denom){
+			error("%s: zero divisor given for beat stream %d",OBJECT_NAME,(i/2)+1);
+			denom = 1.0;
+		}
+        
+		x->metro_beatdurs[j] = 4.0 * (num / denom);
+        //		post("beat duration %f",4.0 * (num/denom));
+		x->metro_samps[j] = x->metro_beatdurs[j] * x->onebeat_samps;
+		x->metro[j] = 1.0; // initialize for instantaneous beat
+	}
+}
+
+void samm_tempo(t_samm *x, t_floatarg f)
+{
+	int i;
+	double last_tempo;
+	double tempo_fac;
+	
+	if( f <= 0.0) {
+		error("illegal tempo: %f", f);
+		return;
+	}
+	last_tempo = x->tempo;
+	x->tempo = f;
+	tempo_fac = last_tempo / x->tempo; // shrink or stretch factor for beats
+	x->onebeat_samps = (60.0/x->tempo) * x->sr;
+	for(i = 0; i < x->metro_count; i++){
+		x->metro_samps[i] = x->metro_beatdurs[i] * x->onebeat_samps;
+		x->metro[i] *= tempo_fac;
+	}
+}
+
+
+void *samm_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	int i,j, default_tempo = 120;
+	double divisor;
+	t_samm *x;
+    t_atom sane_defaults[2];
+	
+    if(argc < 2){
+        // If no args, set some sane defaults
+        if (!argc){
+            post("%s: warning: no tempo or beat streams provided: setting "
+                 "tempo to 120 BPM and 1 stream to '1'",OBJECT_NAME);
+            SETFLOAT(sane_defaults, default_tempo);
+            SETFLOAT(sane_defaults+1, 1.);
+            argc = 2;
+            argv = sane_defaults;
+        }
+        else
+        {
+            error("%s: there must be at least 1 beat stream",OBJECT_NAME);
+            return (void *)NULL;
+        }
+    }
+    if(argc > MAXBEATS + 1)
+    {
+        error("%s: exceeded maximum of %d beat values",OBJECT_NAME, MAXBEATS);
+        return (void *)NULL;
+    }
+    
+    x = (t_samm *)pd_new(samm_class);
+    x->metro_count = argc - 1;
+    for(i=0;i< x->metro_count;i++)
+        outlet_new(&x->x_obj, gensym("signal"));
+	x->sr = sys_getsr();
+	x->vs = sys_getblksize();
+    
+    x->pause = 0;
+    x->mute = 0;
+    
+	x->beats = (double *) calloc(x->metro_count, sizeof(double));
+	x->metro_samps = (double *) calloc(x->metro_count, sizeof(double));
+	x->metro_beatdurs = (double *) calloc(x->metro_count, sizeof(double));
+	x->metro = (double *) calloc(x->metro_count, sizeof(double));
+    
+	if(! x->sr ){
+		x->sr = 44100;
+		post("sr autoset to 44100");
+	}
+	
+	if(argc > 0) {
+		x->tempo = (double) atom_getfloatarg(0,argc,argv);
+	}
+    
+	if( x->tempo <= 0.0 ){
+		x->tempo = default_tempo;
+		post("tempo autoset to %d BPM", default_tempo);
+	}
+	
+	x->onebeat_samps = (60.0/x->tempo) * x->sr;
+	
+    
+    
+    
+	for(i = 1,j = 0; i < argc; i++, j++){
+        divisor = (double)atom_getfloatarg(i,argc,argv);
+    	if(!divisor){
+			error("%s: zero divisor given for beat stream %d",OBJECT_NAME,i);
+			divisor = 1.0;
+		}
+        
+		x->metro_beatdurs[j] = 1.0 / divisor; // argument is now DIVISOR of beat
+		x->metro_samps[j] = x->metro_beatdurs[j] * x->onebeat_samps;
+		x->metro[j] = 1.0; // initialize for instantaneous beat
+		
+	}
+    //    post("there are %d beat streams",x->metro_count);
+    samm_init(x,0);
+    
+    return (x);
+}
+
+void samm_free(t_samm *x)
+{
+    free(x->trigger_vec);
+    free(x->beats);
+    free(x->metro_samps);
+    free(x->metro_beatdurs);
+    free(x->metro);
+    
+}
+void samm_init(t_samm *x,short initialized)
+{
+    if(!initialized){
+        x->trigger_vec = (float*)calloc(x->vs, sizeof(float));
+        
+        
+    } else {
+        x->trigger_vec = (float*) realloc(x->trigger_vec,x->vs*sizeof(float));
+    }
+}
+
+
+t_int *samm_perform(t_int *w)
+{
+	int i, j, k;
+    //	float outval;
+	t_samm *x = (t_samm *) (w[1]);
+	t_float *inlet = (t_float *) (w[2]);
+	t_float *beat_outlet;
+	
+	int n;
+	
+	int metro_count = x->metro_count;
+	double *metro = x->metro;
+	float *trigger_vec = x->trigger_vec;
+	short pause = x->pause;
+    
+    n = (int) w[metro_count + 3];
+    
+    if(x->mute){
+		for(i = 0, j=3; i < metro_count; i++, j++){
+			beat_outlet = (t_float *) (w[j]);
+			for(k=0; k < n; k++){
+				beat_outlet[k] = 0.0; // use memset
+			}
+		}
+		return (w + metro_count + 4);
+    }
+    /* main loop */
+	for(i=0;i<n;i++)
+		trigger_vec[i] = inlet[i];
+    
+	for(i = 0, j=3; i < metro_count; i++, j++){
+		beat_outlet = (t_float *) (w[j]);
+		for(k = 0; k < n; k++){
+			if(trigger_vec[k]) {
+				metro[i] = 1.0; // instant reset from an impulse
+			}
+			
+			beat_outlet[k] = 0.0;
+			if(! pause ){
+				metro[i] -= 1.0;
+				if( metro[i] <= 0){
+					beat_outlet[k] = 1.0;
+					metro[i] += x->metro_samps[i];
+				}
+			}
+		}
+	}
+    
+	return (w + metro_count + 4);
+}
+
+
+void samm_dsp(t_samm *x, t_signal **sp)
+{
+	long i;
+    t_int **sigvec;
+    int pointer_count;
+    
+    pointer_count = x->metro_count + 3; // all metros, plus 1 inlet, plus the object pointer, plus N
+	
+	if(x->vs != sp[0]->s_n){
+		x->vs = sp[0]->s_n;
+		samm_init(x,1);
+	}
+	if(x->sr != sp[0]->s_sr) {
+		x->sr = sp[0]->s_sr;
+		x->onebeat_samps = (60.0/x->tempo) * x->sr;
+		for(i = 0; i < x->metro_count; i++){
+			x->metro_samps[i] = x->metro_beatdurs[i] * x->onebeat_samps;
+			x->metro[i] = 0;
+		}
+	}
+	sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+    
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    //	post("attached %d pointers",pointer_count);
+
+	dsp_addv(samm_perform, pointer_count, (t_int *) sigvec);     
+    
+	free(sigvec);
+    
+}
+
diff --git a/externals/lyonpotpourri/sarec~-help.pd b/externals/lyonpotpourri/sarec~-help.pd
new file mode 100755
index 000000000..7fff63368
--- /dev/null
+++ b/externals/lyonpotpourri/sarec~-help.pd
@@ -0,0 +1,110 @@
+#N canvas 635 332 566 425 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array track1 100000 float 2;
+#X coords 0 1 99999 -1 200 100 1;
+#X restore 17 111 graph;
+#X obj 156 301 sarec~ track1 1;
+#X obj 258 240 noise~;
+#X obj 258 269 *~ 0.1;
+#X obj 156 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X floatatom 156 349 5 0 0 0 - - -, f 5;
+#X obj 18 12 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X floatatom 423 364 5 0 0 0 - - -, f 5;
+#X obj 426 351 hsl 100 10 0 0.25 0 0 empty empty gain -2 -8 0 10 -141498
+-1 -1 0 1;
+#X msg 376 294 \; track1 const 0;
+#X text 374 279 clear track;
+#X text 256 224 input signal;
+#X text 25 233 trigger record ->;
+#X obj 349 351 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 379 193 s sarec.messages;
+#X obj 24 260 r sarec.messages;
+#X obj 227 122 vradio 15 1 0 4 empty empty record_mode 0 -8 0 10 -204800
+-4160 -1 1;
+#X text 245 121 record;
+#X text 245 138 overdub;
+#X text 246 153 punch;
+#X text 245 169 lock track;
+#X obj 156 263 click~;
+#N canvas 310 149 450 300 status-messages 0;
+#X msg 88 133 overdub;
+#X msg 147 133 punch;
+#X msg 37 133 record;
+#X msg 192 134 lock;
+#X obj 90 68 sel 0 1 2 3;
+#X obj 48 213 s sarec.messages;
+#X obj 81 28 inlet;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 4 1 0 0;
+#X connect 4 2 1 0;
+#X connect 4 3 3 0;
+#X connect 6 0 4 0;
+#X restore 227 193 pd status-messages;
+#X msg 379 174 punchfade \$1;
+#X msg 379 150 5;
+#X msg 409 150 50;
+#X msg 438 150 150;
+#X text 376 132 set taper for punch mode;
+#N canvas 149 234 450 300 show-record-phase 0;
+#X obj 53 132 snapshot~;
+#X msg 179 95 1;
+#X obj 179 116 metro 50;
+#X obj 179 76 loadbang;
+#X text 94 154 record phase;
+#X obj 53 60 inlet~;
+#X obj 53 199 outlet;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 5 0 0 0;
+#X restore 156 324 pd show-record-phase;
+#N canvas 144 388 450 300 set-record-region 0;
+#X obj 37 199 s sarec.messages;
+#X msg 49 120 region 500 1000;
+#X msg 37 93 region 0 0;
+#X text 40 75 set region to entire array (default);
+#X text 167 120 select region within array (ms.);
+#X msg 61 159 region 0 1500;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 5 0 0 0;
+#X restore 379 103 pd set-record-region;
+#N canvas 115 280 450 300 playback 0;
+#X obj 42 205 *~ 0.1;
+#X obj 42 235 dac~;
+#X obj 42 178 tabplay~ track1;
+#X obj 179 67 inlet;
+#X obj 44 74 inlet;
+#X connect 0 0 1 0;
+#X connect 0 0 1 1;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 2 0;
+#X restore 349 383 pd playback;
+#X text 216 351 play back track ->;
+#X text 380 81 select region;
+#X text 20 47 sarec~ - sample-accurate recording unit. This object
+could provide the basis for a multi-track recording system.;
+#X connect 1 0 28 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 21 0;
+#X connect 7 0 30 1;
+#X connect 8 0 7 0;
+#X connect 13 0 30 0;
+#X connect 15 0 1 0;
+#X connect 16 0 22 0;
+#X connect 21 0 1 0;
+#X connect 23 0 14 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 23 0;
+#X connect 28 0 5 0;
diff --git a/externals/lyonpotpourri/sarec~.c b/externals/lyonpotpourri/sarec~.c
new file mode 100755
index 000000000..a07a87719
--- /dev/null
+++ b/externals/lyonpotpourri/sarec~.c
@@ -0,0 +1,400 @@
+#include "MSPd.h"
+
+static t_class *sarec_class;
+
+#define MAXBEATS (256)
+#define OBJECT_NAME "sarec~"
+#define SAREC_RECORD 1
+#define SAREC_OVERDUB 2
+#define SAREC_PUNCH 3
+#define SAREC_LOCK 4
+
+// update time in samples
+#define WAVEFORM_UPDATE (22050)
+
+typedef struct _sarec
+{
+	t_object x_obj;
+    t_float x_f;
+    long b_valid;
+    long b_frames;
+    t_word *b_samples;
+	long display_counter;
+	int valid; // status of recording buffer (not yet implemented)
+	int status; // idle? 0, recording? 1
+	int mode; // record, overdub or punch
+	int overdub; // 0 ? write over track, 1: overdub into track
+	int *armed_chans; // 1, armed, 0, protected
+	long counter; // sample counter
+	float sync; // position in recording
+	long start_frame; // start time in samples
+	long end_frame; // end time in samples
+	long fadesamps; // number of samples for fades on PUNCH mode
+	long regionsamps; // use for fade
+	int channel_count; // number of channels (hopefully!) in buffer
+	float sr;
+    float syncphase;
+	t_symbol *bufname; // name of recording buffer
+    t_garray *recbuf; 
+} t_sarec;
+
+
+void *sarec_new(t_symbol *bufname);
+
+// void sarec_region(t_sarec *x, t_symbol *msg, short argc, t_atom *argv);
+void sarec_regionsamps(t_sarec *x, t_floatarg start_frame, t_floatarg end_frame);
+void sarec_region(t_sarec *x, t_floatarg start_time, t_floatarg end_time);
+
+t_int *sarec_perform(t_int *w);
+void sarec_dsp(t_sarec *x, t_signal **sp);
+
+
+void sarec_arm(t_sarec *x, t_floatarg chan);
+void sarec_disarm(t_sarec *x, t_floatarg chan);
+void sarec_attach_buffer(t_sarec *x);
+void sarec_overdub(t_sarec *x);
+void sarec_record(t_sarec *x);
+void sarec_punch(t_sarec *x);
+void sarec_punchfade(t_sarec *x, t_floatarg fadetime);
+void sarec_tilde_setup(void);
+void sarec_lock(t_sarec *x);
+
+
+void sarec_tilde_setup(void)
+{
+    t_class *c;
+    c = class_new(gensym("sarec~"),(t_newmethod)sarec_new,0, sizeof(t_sarec),0, A_SYMBOL,0);
+    CLASS_MAINSIGNALIN(c,t_sarec,x_f);
+    class_addmethod(c,(t_method)sarec_dsp,gensym("dsp"),A_CANT,0);
+    class_addmethod(c,(t_method)sarec_arm,gensym("arm"),A_FLOAT,0);
+    class_addmethod(c,(t_method)sarec_disarm,gensym("disarm"),A_FLOAT,0);
+    class_addmethod(c,(t_method)sarec_overdub,gensym("overdub"),0);
+    class_addmethod(c,(t_method)sarec_lock,gensym("lock"),0);
+    class_addmethod(c,(t_method)sarec_punch,gensym("punch"),0);
+    class_addmethod(c,(t_method)sarec_punchfade,gensym("punchfade"),A_FLOAT,0);
+    class_addmethod(c,(t_method)sarec_record,gensym("record"),0);
+    class_addmethod(c,(t_method)sarec_regionsamps,gensym("regionsamps"),A_FLOAT, A_FLOAT,0);
+    class_addmethod(c,(t_method)sarec_region,gensym("region"),A_FLOAT, A_FLOAT,0);
+    sarec_class = c;
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void sarec_lock(t_sarec *x)
+{
+	x->mode = SAREC_LOCK;
+}
+
+
+void *sarec_new(t_symbol *bufname)
+{
+	int i;
+	int chans;
+    
+    chans = 1; // mono processing only in Pd
+    
+	t_sarec *x = (t_sarec *)pd_new(sarec_class);
+	inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+
+	
+    x->status = 0;
+	x->counter = 0;
+    x->b_valid = 0;
+    x->bufname = bufname;
+	x->channel_count = chans;
+	x->armed_chans = (int *) malloc(x->channel_count * sizeof(int));
+	x->display_counter = 0;
+	x->start_frame = 0;
+	x->end_frame = 0;
+	x->overdub = 0;
+	x->mode = SAREC_RECORD;
+	x->sr = sys_getsr();
+	x->fadesamps = x->sr * 0.05; // 50 ms fade time
+	x->start_frame = -1; // initialize to a bad value
+	x->end_frame = -1;
+	x->regionsamps = 0;
+	for(i = 0; i < x->channel_count; i++){
+		x->armed_chans[i] = 1; // all channels armed by default
+	}
+	return x;
+}
+
+t_int *sarec_perform(t_int *w)
+{
+	int i, j;
+	t_sarec *x = (t_sarec *) (w[1]);
+	t_float *click_inlet = (t_float *) (w[2]);
+	t_float *record_inlet;
+	t_float *sync;
+	t_int channel_count = x->channel_count;
+	int n;
+	int next_pointer = channel_count + 5;
+	int status = x->status;
+	int counter = x->counter;
+	int *armed_chans = x->armed_chans;
+	t_word *samples = x->b_samples;
+	long b_frames = x->b_frames;
+	long start_frame = x->start_frame;
+	long end_frame = x->end_frame;
+    long b_valid = x->b_valid;
+	//int overdub = x->overdub;
+	int mode = x->mode;
+	long fadesamps = x->fadesamps;
+	long regionsamps = x->regionsamps;
+	int clickval;
+	float frak;
+	float goin_up, goin_down;
+	long counter_msf;
+	sync = (t_float *) (w[3 + channel_count]);
+	n = (int) w[4 + channel_count];
+    if(! b_valid)
+        goto escape;
+	if(! regionsamps ){
+		x->regionsamps = regionsamps = end_frame - start_frame;
+	}
+	for(i = 0; i < n; i++){
+		// could be record (1) or overdub (2)
+		if( click_inlet[i] ){
+			clickval = (int) click_inlet[i];
+			if(clickval == -2) {
+				status = 0;
+				counter = 0;
+                garray_redraw(x->recbuf);
+			}
+			else {
+				// arm all channels
+				if(clickval == -1) {
+					// just use all armed channels
+				}
+				// arm only one channel - protect against fatal bad index
+				else if(clickval <= channel_count && clickval > 0) {
+					for(j=0; j < channel_count; j++){
+						armed_chans[j] = 0;
+					};
+					armed_chans[clickval - 1] = 1;
+					// post("arming channel %d", clickval);
+				}
+				
+				counter = start_frame;
+				if(!end_frame){
+					end_frame = b_frames;
+				}
+				status = 1;
+			}
+			
+		}		
+		if(counter >= end_frame) {
+			counter = 0;
+			status = 0;
+            garray_redraw(x->recbuf);
+		}
+		// write over track
+		if(status && (mode == SAREC_RECORD) ){
+			for(j=0; j < channel_count; j++){
+				if( armed_chans[j] ){
+					record_inlet = (t_float *) (w[3 + j]);
+					samples[ (counter * channel_count) + j].w_float = record_inlet[i];
+				}
+			}
+			counter++;
+		}
+		// overdub
+		else if(status && (mode == SAREC_OVERDUB) ){
+			for(j=0; j < channel_count; j++){
+				if( armed_chans[j] ){
+					record_inlet = (t_float *) (w[3 + j]);
+					samples[ (counter * channel_count) + j].w_float += record_inlet[i];
+				}
+			}
+			counter++;
+		}
+		// punch
+		
+		else if(status && (mode == SAREC_PUNCH)) {
+			counter_msf = counter - start_frame;
+			for(j=0; j < channel_count; j++){
+				if( armed_chans[j] ){
+					record_inlet = (t_float *) (w[3 + j]);
+					// frak is multiplier for NEW STUFF, (1-frak) is MULTIPLIER for stuff to fade out
+					// do power fade though
+					
+					if( counter_msf < fadesamps ){
+						
+						// fade in
+						frak = (float)counter_msf / (float)fadesamps;
+						goin_up = sin(PIOVERTWO * frak);
+						goin_down = cos(PIOVERTWO * frak);
+						//post("fadein: %d, up: %f, down: %f", counter_msf, goin_up, goin_down);
+						samples[ (counter * channel_count) + j].w_float =
+						(samples[ (counter * channel_count) + j].w_float * goin_down)
+						+ (record_inlet[i] * goin_up);
+					} else if ( counter_msf >= (regionsamps - fadesamps) ){
+						frak = (float) (regionsamps - counter_msf) / (float) fadesamps;
+						// fade out
+                        
+						// frak = (float)counter_msf / (float)fadesamps;
+						goin_up = cos(PIOVERTWO * frak);
+						goin_down = sin(PIOVERTWO * frak);
+						//post("fadeout: %d, up: %f, down: %f", counter_msf, goin_up, goin_down);
+						samples[ (counter * channel_count) + j].w_float =
+						(samples[ (counter * channel_count) + j].w_float * goin_up)
+						+ (record_inlet[i] * goin_down);
+					} else {
+						// straight replace
+						samples[ (counter * channel_count) + j].w_float = record_inlet[i];
+					}
+					
+				}
+			}
+			counter++;
+		}
+		
+		sync[i] = (float) counter / (float) b_frames;
+	}
+	if(status){
+		x->display_counter += n;
+		if(x->display_counter > WAVEFORM_UPDATE){
+            garray_redraw(x->recbuf);
+			x->display_counter = 0;
+		}
+	}
+	x->end_frame = end_frame;
+	x->status = status;
+	x->counter = counter;
+escape:
+	return w + next_pointer;
+}
+
+void sarec_overdub(t_sarec *x)
+{
+	x->mode = SAREC_OVERDUB;
+}
+
+
+void sarec_record(t_sarec *x)
+{
+	x->mode = SAREC_RECORD;
+}
+
+void sarec_punchfade(t_sarec *x, t_floatarg fadetime)
+{
+	x->fadesamps = x->sr * fadetime * 0.001; // read fade in ms.
+	//post("punch mode");
+}
+
+void sarec_punch(t_sarec *x)
+{
+	x->mode = SAREC_PUNCH;
+	// post("punch mode");
+}
+
+void sarec_disarm(t_sarec *x, t_floatarg chan)
+{
+    //	int i;
+	int ichan = (int) chan;
+	if(chan <= x->channel_count && chan > 0) {
+		x->armed_chans[ichan - 1] = 0;
+	}
+}
+
+void sarec_arm(t_sarec *x, t_floatarg chan)
+{
+	int i;
+	int ichan = (int) chan;
+	if(ichan == -1){
+		for(i = 0; i < x->channel_count; i++){
+			x->armed_chans[i] = 1;
+		}
+	} else if(ichan == 0)
+	{
+		for(i = 0; i < x->channel_count; i++){
+			x->armed_chans[i] = 0;
+		}
+	} else if(chan <= x->channel_count && chan > 0) {
+		x->armed_chans[ichan - 1] = 1;
+	}
+}
+
+
+void sarec_region(t_sarec *x, t_floatarg start_time, t_floatarg end_time)
+{
+	long b_frames = x->b_frames;
+	long start_frame, end_frame;
+	float sr = x->sr;
+	// convert milliseconds to samples:
+	start_frame = (long) (sr * 0.001 * start_time );
+	end_frame = (long) (sr * 0.001 * end_time );
+	start_frame = start_frame < 0 || start_frame > b_frames - 1 ? 0 : start_frame;
+	end_frame = end_frame > b_frames ? b_frames : end_frame;
+	x->end_frame = end_frame;
+	x->start_frame = start_frame;
+	x->regionsamps = end_frame - start_frame;
+}
+
+void sarec_regionsamps(t_sarec *x, t_floatarg start_frame, t_floatarg end_frame)
+{
+	long b_frames = x->b_frames;
+	// long start_frame, end_frame;
+	//start_frame = (long) atom_getfloatarg(0, argc, argv);
+	//end_frame = (long) atom_getfloatarg(1, argc, argv);
+	start_frame = start_frame < 0 || start_frame > b_frames - 1 ? 0 : start_frame;
+	end_frame = end_frame > b_frames ? b_frames : end_frame;
+	x->end_frame = (long)end_frame;
+	x->start_frame = (long)start_frame;
+	x->regionsamps = end_frame - start_frame;
+}
+
+
+void sarec_attach_buffer(t_sarec *x)
+{
+	t_garray *a; 
+	t_symbol *bufname = x->bufname;
+	int b_frames;
+	float *b_samples = x->b_samples;
+	if (!(a = (t_garray *)pd_findbyclass(bufname, garray_class))) {
+		if (*bufname->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,bufname->s_name);
+        x->b_valid = 0;
+    }
+	else if (!garray_getfloatwords(a, &b_frames, &b_samples)) {
+		pd_error(x, "%s: bad array for %s", bufname->s_name,OBJECT_NAME);
+        x->b_valid = 0;
+    }
+	else  {
+        x->recbuf = a;
+        x->b_valid = 1; // a->a_valid; ???
+        x->b_frames = b_frames;
+        x->b_samples = b_samples;
+		garray_usedindsp(a);
+	}
+}
+
+void sarec_dsp(t_sarec *x, t_signal **sp)
+{
+	long i;
+	t_int **sigvec;
+	int pointer_count;
+	pointer_count = x->channel_count + 4;
+    /* all channels, 1 inlet, 1 sync outlet,  the object pointer, vector size N */
+	
+	sarec_attach_buffer(x);
+	if( x->start_frame < 0 && x->end_frame < 0){
+		x->start_frame = 0;
+		x->end_frame = x->b_frames;
+	}
+	sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+	x->sr = sp[0]->s_sr;
+    
+	dsp_addv(sarec_perform, pointer_count, (t_int *) sigvec);
+	free(sigvec);	
+}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/sel~-help.pd b/externals/lyonpotpourri/sel~-help.pd
new file mode 100755
index 000000000..320b382b1
--- /dev/null
+++ b/externals/lyonpotpourri/sel~-help.pd
@@ -0,0 +1,46 @@
+#N canvas 192 248 489 337 10;
+#X obj 41 184 sel~ 1 2 5.5, f 27;
+#X obj 41 226 click2bang~;
+#X obj 120 227 click2bang~;
+#X obj 200 225 click2bang~;
+#X obj 41 87 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 41 269 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 120 268 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 200 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 114 75 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 114 142 *~ 2;
+#X obj 268 88 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 41 125 click~;
+#X obj 114 112 click~;
+#X obj 268 126 click~;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 28 41 sel~ - sample-accurate implementation of the sel algorithm
+;
+#X text 281 224 impulses are numerically matched by sending a click
+(impulse with value 1.0) to the appropriate outlet, f 31;
+#X msg 312 99 set 5.5;
+#X obj 312 70 loadbang;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 3 0 7 0;
+#X connect 4 0 11 0;
+#X connect 8 0 12 0;
+#X connect 9 0 0 0;
+#X connect 10 0 13 0;
+#X connect 11 0 0 0;
+#X connect 12 0 9 0;
+#X connect 13 0 0 0;
+#X connect 18 0 13 0;
+#X connect 19 0 18 0;
diff --git a/externals/lyonpotpourri/sel~.c b/externals/lyonpotpourri/sel~.c
new file mode 100755
index 000000000..4e4eb73a9
--- /dev/null
+++ b/externals/lyonpotpourri/sel~.c
@@ -0,0 +1,178 @@
+#include "MSPd.h"
+
+static t_class *sel_class;
+
+#define MAXBEATS (256)
+#define OBJECT_NAME "sel~"
+#define COMPILE_DATE "9.02.07"
+#define OBJECT_VERSION "2.01"
+// #define DATE "prerelease"
+
+/* Pd version of sel~ */
+
+typedef struct _sel
+{
+	t_object x_obj;
+    t_float x_f;
+	t_float *matches; // store numbers to match against
+	t_float *trigger_vec; // copy of input vector
+	t_int length; // number of matches to check
+    t_float **ins; // array of input signal vectors
+    t_float **outs; // array of output signal vectors
+} t_sel;
+
+void *sel_new(t_symbol *msg, short argc, t_atom *argv);
+void sel_free(t_sel *x);
+void sel_dsp(t_sel *x, t_signal **sp);
+
+
+void sel_tilde_setup(void){
+    sel_class = class_new(gensym("sel~"), (t_newmethod)sel_new,
+                              (t_method)sel_free, sizeof(t_sel),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(sel_class, t_sel, x_f);
+    class_addmethod(sel_class, (t_method)sel_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *sel_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	int i;
+
+	t_sel *x = (t_sel *)pd_new(sel_class);
+	x->length = (t_int)argc;
+
+	for(i=0;i< x->length ;i++){
+        outlet_new(&x->x_obj, gensym("signal"));
+    }
+    
+	x->matches = (t_double *) malloc(x->length * sizeof(double));
+
+	for(i = 0; i < argc; i++){
+		x->matches[i] = (double)atom_getfloatarg(i,argc,argv);
+	}
+
+    x->ins = (t_float **) malloc(1 * sizeof(t_float *));
+    x->outs = (t_float **) malloc(x->length * sizeof(t_float *));
+    // only 1 inlet
+    for(i = 0; i < 1; i++){
+        x->ins[i] = (t_float *) malloc(8192 * sizeof(t_float));
+    }
+	return x;
+}
+
+void sel_free(t_sel *x)
+{
+	free(x->matches);
+    free(x->outs);
+    free(x->ins[0]);
+    free(x->ins);
+}
+
+t_int *sel_perform(t_int *w)
+{
+    int i, j;
+    t_sel *x = (t_sel *) w[1];
+    t_float **ins = x->ins;
+    t_float **outs = x->outs;
+    t_float *invec;
+	t_float *inlet;
+	t_float *match_outlet;
+	t_float *matches = x->matches;
+	t_int length = x->length;
+	
+    int n = (int) w[length + 3]; // obj, func, 1 inlet
+    
+    // copy input vectors (just 1 here)
+    for(i = 0; i < 1; i++){
+        invec = (t_float *) w[2 + i];
+        for(j = 0; j < n; j++){
+            ins[i][j] = invec[j];
+        }
+    }
+    inlet = ins[0];
+    // assign output vector pointers
+    for(i = 0; i < length; i++){
+        outs[i] = (t_float *) w[3 + i];
+    }
+    
+    // clean each outlet
+	for(j = 0; j < length; j++){
+		match_outlet = (t_double *) outs[j];
+		for(i = 0; i < n; i++){
+			match_outlet[i] = 0.0;
+		}
+	}
+    // now match and route any clicks in the input
+	for(i = 0; i < n; i++){
+		if(inlet[i]){
+			for(j = 0; j < length; j++){
+				if( inlet[i] == matches[j]){
+					match_outlet = (t_double *) outs[j];
+					match_outlet[i] = 1.0; // always send a unity click
+				}
+			}
+		}
+	}
+    return (w + length + 4);
+}
+
+/*
+void sel_perform64(t_sel *x, t_object *dsp64, double **ins,
+                   long numins, double **outs,long numouts, long n,
+                   long flags, void *userparam)
+{
+    int i, j;
+	t_double *inlet = ins[0];
+	t_double *match_outlet;
+	t_double *matches = x->matches;
+	int length = x->length;
+	
+    // clean each outlet
+	for(j = 0; j < length; j++){
+		match_outlet = (t_double *) outs[j];
+		for(i = 0; i < n; i++){
+			match_outlet[i] = 0.0;
+		}
+	}
+    // now match and route any clicks in the input
+	for(i = 0; i < n; i++){
+		if(inlet[i]){
+			for(j = 0; j < length; j++){
+				if( inlet[i] == matches[j]){
+					match_outlet = (t_double *) outs[j];
+					match_outlet[i] = 1.0; // always send a unity click
+				}
+			}
+		}
+	}
+}
+
+
+t_int *sel_dsp64(t_sel *x, t_object *dsp64, short *count, double sr, long n, long flags)
+{
+    if(!sp[0]->s_sr)
+        return;
+    object_method(dsp64, gensym("dsp_add64"),x,sel_perform64,0,NULL);
+}
+*/
+
+void sel_dsp(t_sel *x, t_signal **sp)
+{
+	long i;
+    t_int **sigvec;
+    int pointer_count = x->length + 3; // output chans + object + inchan + vectorsize
+    if(!sp[0]->s_sr){
+        return;
+    }
+    sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    dsp_addv(sel_perform, pointer_count, (t_int *)sigvec);
+    free(sigvec);
+}
diff --git a/externals/lyonpotpourri/shoehorn~-help.pd b/externals/lyonpotpourri/shoehorn~-help.pd
new file mode 100755
index 000000000..33883d33e
--- /dev/null
+++ b/externals/lyonpotpourri/shoehorn~-help.pd
@@ -0,0 +1,28 @@
+#N canvas 375 428 410 405 10;
+#X obj 11 117 osc~ 340;
+#X obj 11 283 *~ 0.01;
+#X obj 87 285 *~ 0.01;
+#X obj 11 338 dac~;
+#X obj 48 168 osc~ 546;
+#X obj 29 141 osc~ 739;
+#X obj 11 246 shoehorn~ 5 2;
+#X obj 67 193 osc~ 1666;
+#X obj 86 216 osc~ 665;
+#X text -2 47 shoehorn~ collapses an arbitrary number of input channels
+into an arbitrary number of output channels \, by spacing them from
+left to right with equal power panning.;
+#X obj -3 9 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 153 250 hsl 128 15 0 0.15 0 0 empty empty gain -2 -8 0 10 -232576
+-1 -1 1300 1;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 1;
+#X connect 4 0 6 2;
+#X connect 5 0 6 1;
+#X connect 6 0 1 0;
+#X connect 6 1 2 0;
+#X connect 7 0 6 3;
+#X connect 8 0 6 4;
+#X connect 11 0 2 1;
+#X connect 11 0 1 1;
diff --git a/externals/lyonpotpourri/shoehorn~.c b/externals/lyonpotpourri/shoehorn~.c
new file mode 100755
index 000000000..4d8cd9b31
--- /dev/null
+++ b/externals/lyonpotpourri/shoehorn~.c
@@ -0,0 +1,174 @@
+#include "MSPd.h"
+
+static t_class *shoehorn_class;
+
+/* Pd version of shoehorn~ */
+
+#define OBJECT_NAME "shoehorn~"
+
+typedef struct _shoehorn
+{
+    
+    t_object x_obj;
+    t_float x_f;
+    long inChans;
+    long outChans;
+    double pio2;
+    t_float *inarr;
+    t_float **loc_invecs;
+    t_float *outs;
+    double advFrac;
+    double *pangains1;
+    double *pangains2;
+    long *indexList;
+} t_shoehorn;
+
+void *shoehorn_new(t_symbol *s, int argc, t_atom *argv);
+void shoehorn_free(t_shoehorn *x);
+void shoehorn_dsp(t_shoehorn *x, t_signal **sp);
+t_int *shoehorn_perform(t_int *w);
+
+void shoehorn_tilde_setup(void){
+    shoehorn_class = class_new(gensym("shoehorn~"), (t_newmethod)shoehorn_new,
+                           (t_method)shoehorn_free, sizeof(t_shoehorn),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(shoehorn_class, t_shoehorn, x_f);
+    class_addmethod(shoehorn_class, (t_method)shoehorn_dsp, gensym("dsp"),0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *shoehorn_new(t_symbol *s, int argc, t_atom *argv)
+{
+	int i;
+    double fullFrac, thisFrac, panloc;
+    long outIndex;
+    t_shoehorn *x = (t_shoehorn *)pd_new(shoehorn_class);
+    x->inChans = (long) atom_getfloatarg(0,argc,argv);
+    x->outChans = (long) atom_getfloatarg(1,argc,argv);
+    if(x->inChans < 2){
+        post("%s: warning: defaulting to 2 in channels", OBJECT_NAME);
+        x->inChans = 2;
+    }
+    if(x->outChans < 2){
+        post("%s: warning: defaulting to 2 out channels", OBJECT_NAME);
+        x->outChans = 2;
+    }
+    for(i = 0; i < x->inChans - 1; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
+    }
+    for(i=0; i < x->outChans; i++){
+        outlet_new(&x->x_obj, gensym("signal"));
+    }
+    x->pio2 = PI / 2.0;
+    
+    x->inarr = (t_float *) malloc(x->inChans * sizeof(t_float));
+    x->loc_invecs = (t_float **) malloc(x->inChans * sizeof(t_float *));
+    for(i = 0; i < x->inChans; i++){
+        x->loc_invecs[i] = (t_float *) malloc(8192 * sizeof(t_float));
+    }
+    x->pangains1 = (double *) malloc(x->inChans * sizeof(double));
+    x->pangains2 = (double *) malloc(x->inChans * sizeof(double));
+    x->indexList = (long *) malloc(x->inChans * sizeof(long));
+    x->advFrac = (double)(x->outChans - 1)/(double)(x->inChans - 1);
+    x->outs = (t_float **) malloc(x->outChans * sizeof(t_float *)); // temporary holding for output vectors
+    
+    for(i = 1; i < x->inChans - 1; i++){
+        fullFrac = i * x->advFrac;
+        outIndex = floor(fullFrac);
+        thisFrac = fullFrac - outIndex;
+        panloc = thisFrac * x->pio2;
+        x->indexList[i] = outIndex;
+        x->pangains1[i] = cos(panloc);
+        x->pangains2[i] = sin(panloc);
+    }
+    return x;
+}
+
+void shoehorn_free(t_shoehorn *x)
+{
+    int i;
+    free(x->inarr);
+    free(x->pangains1);
+    free(x->pangains2);
+    free(x->indexList);
+    for(i = 0; i < x->inChans; i++){
+        free(x->loc_invecs[i]);
+    }
+    free(x->loc_invecs);
+    free(x->outs);
+}
+
+
+t_int *shoehorn_perform(t_int *w)
+{
+    t_shoehorn *x = (t_shoehorn*) w[1];
+	long inChans = x->inChans;
+    long outChans = x->outChans;
+    t_float *inarr = x->inarr;
+    t_float **loc_invecs = x->loc_invecs;
+    t_float *invec;
+    t_float **outs = x->outs;
+    double *pangains1 = x->pangains1;
+    double *pangains2 = x->pangains2;
+	int chan,i, j;
+    long outIndex;
+    long *indexList = x->indexList;
+    
+    int n = (int) w[inChans + outChans + 2];
+    // assign output vector pointers
+    
+    for(i = 0; i < outChans; i++){
+        outs[i] = (t_float *) w[2 + inChans + i];
+    }
+
+    // copy all input vectors to a local 2D array
+    for(i = 0; i < inChans; i++){
+        invec = (t_float *) w[2 + i];
+        for(j = 0; j < n; j++){
+            loc_invecs[i][j] = invec[j];
+        }
+    }
+   
+	for( j = 0; j < n; j++){
+        // copy local input sample frame
+        for(chan = 0; chan < inChans; chan++){
+            inarr[chan] = loc_invecs[chan][j];
+        }
+        
+        // zero out output channels
+        for(chan = 1; chan < outChans - 1; chan++){
+            outs[chan][j] = 0.0;
+        }
+        
+        // copy outer channel samples directly
+        
+        outs[0][j] = inarr[0];
+        outs[outChans - 1][j] = inarr[inChans - 1];
+        
+        // spread internal input channels to respective output channels
+        
+        for(chan = 1; chan < inChans - 1; chan++){
+            outIndex = indexList[chan];
+            outs[outIndex][j] += pangains1[chan] * inarr[chan];
+            outs[outIndex+1][j] += pangains2[chan] * inarr[chan];
+        }
+	}
+    return (w + inChans + outChans + 3);
+}
+
+void shoehorn_dsp(t_shoehorn *x, t_signal **sp)
+{
+	long i;
+    t_int **sigvec;
+    int pointer_count = x->inChans + x->outChans + 2;
+    sigvec  = (t_int **) calloc(pointer_count, sizeof(t_int *));
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    dsp_addv(shoehorn_perform, pointer_count, (t_int *)sigvec);
+    free(sigvec);
+}
diff --git a/externals/lyonpotpourri/sigseq~-help.pd b/externals/lyonpotpourri/sigseq~-help.pd
new file mode 100755
index 000000000..b756c425d
--- /dev/null
+++ b/externals/lyonpotpourri/sigseq~-help.pd
@@ -0,0 +1,83 @@
+#N canvas 133 217 352 325 10;
+#X obj 20 126 sigseq~;
+#X obj 113 155 bng 30 550 50 0 empty empty empty 0 -6 0 8 -260679 -51584
+-1;
+#X obj 66 245 *~ 0.1;
+#X obj 66 214 *~;
+#X obj 66 283 dac~;
+#X obj 20 175 osc~;
+#N canvas 647 240 474 324 messages 0;
+#X obj 133 195 outlet;
+#N canvas 40 386 462 312 clock 0;
+#X obj 141 124 outlet;
+#X obj 45 212 send~ external_clock;
+#X msg 45 148 tempo \$1;
+#X floatatom 44 122 5 0 0 0 - - -, f 5;
+#X obj 45 173 samm~ 60 0.25;
+#X msg 141 98 external_clock \$1;
+#X obj 141 51 tgl 40 0 empty empty empty 0 -6 0 8 -4061 -1 -1 0 1;
+#X text 139 30 must toggle DACs before switch takes effect;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X restore 207 159 pd clock;
+#X obj 205 234 outlet~;
+#X obj 205 198 receive~ external_clock;
+#N canvas 0 22 474 324 other-controls 0;
+#X obj 24 181 outlet;
+#X msg 24 65 banggate \$1;
+#X obj 24 14 tgl 40 0 empty empty empty 0 -6 0 8 -4061 -1 -1 1 1;
+#X text 66 27 open gate for bang on sequence start;
+#X obj 58 -9 loadbang;
+#X msg 24 -7 1;
+#X msg 159 141 adsrgate \$1;
+#X obj 159 94 tgl 40 0 empty empty empty 0 -6 0 8 -4061 -1 -1 0 1;
+#X text 205 114 on by default \, zero turns off ADSR;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X restore 133 64 pd other-controls;
+#N canvas 367 423 470 320 sequences 0;
+#X obj 76 246 outlet;
+#X msg 200 91 440 469.333 605 660 704;
+#X msg 173 190 500 600 700 1300 888 340 3000 773 773;
+#X obj 227 148 loadbang;
+#X msg 53 113 rand \$1;
+#X obj 53 59 tgl 40 0 empty empty empty 0 -6 0 8 -4061 -1 -1 0 1;
+#X obj 129 30 tgl 40 0 empty empty empty 0 -6 0 8 -4061 -1 -1 0 1;
+#X msg 129 84 retro \$1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X restore 176 98 pd sequences;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 20 96 pd messages;
+#X obj 18 18 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 15 52 sigseq~ - sample-accurate sequencing;
+#X floatatom 105 219 5 0 0 2 - sigseq-gain -, f 5;
+#X obj 148 218 hsl 128 15 0 0.2 0 0 sigseq-gain sigseq-gain-in gain
+-2 -8 0 10 -203904 -1 -1 4400 1;
+#X text 111 101 <- controls here;
+#X connect 0 0 5 0;
+#X connect 0 1 3 1;
+#X connect 0 2 1 0;
+#X connect 2 0 4 0;
+#X connect 2 0 4 1;
+#X connect 3 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 6 1 0 0;
+#X connect 9 0 2 1;
diff --git a/externals/lyonpotpourri/sigseq~.c b/externals/lyonpotpourri/sigseq~.c
new file mode 100755
index 000000000..a2233d763
--- /dev/null
+++ b/externals/lyonpotpourri/sigseq~.c
@@ -0,0 +1,572 @@
+#include "MSPd.h"
+
+
+static t_class *sigseq_class;
+
+#define MAX_VEC 2048
+#define MAX_SEQ 1024
+#define internal_clock 1
+#define EXTERNAL_CLOCK 2
+
+#define OBJECT_NAME "sigseq~"
+typedef struct _sigseq
+{
+    
+    t_object x_obj;
+    float x_f;
+    
+    // Variables Here
+    float *sequence;
+    float *trigger_vec; // stores vector with trigger click
+    int seq_len;
+    int seq_ptr;// position in sequence
+    short bang_ptr;
+    float tempo;
+    int beat_subdiv;
+    int tsamps;
+    int counter;
+    float val;
+    void *mybang;
+    void *m_outlet; // NEW
+    void *m_clock; // NEW
+    float flat_gain;
+    float last_val;
+    short retro_state;
+    short rand_state;
+    // ADSR
+    float a;
+    float d;
+    float s;
+    float r;
+    int ebreak1;
+    int ebreak2;
+    int ebreak3;
+    int asamps;
+    int dsamps;
+    int ssamps;
+    int rsamps;
+    float egain;
+    int do_envelope;
+    int bang_on;
+    short mute;
+    int rval;
+    int method; //synthesis method to use
+    float sr;
+} t_sigseq;
+
+void *sigseq_new(t_symbol *s, int argc, t_atom *argv);
+
+t_int *sigseq_perform(t_int *w);
+t_int *sigseq_perform_clickin(t_int *w);
+void sigseq_dsp(t_sigseq *x, t_signal **sp);
+void sigseq_list (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_adsr (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_adsrgate (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_banggate (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_tempo(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_retro(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_rand(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_mute(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv);
+void sigseq_tick(t_sigseq *x);
+void sigseq_report(t_sigseq *x);
+void sigseq_readfile(t_sigseq *x, t_symbol *filename);
+void sigseq_internal_clock(t_sigseq *x, t_floatarg toggle);
+void sigseq_external_clock(t_sigseq *x, t_floatarg toggle);
+void sigseq_gozero(t_sigseq *x);
+void sigseq_free(t_sigseq *x);
+void sigseq_init(t_sigseq *x,short initialized);
+
+
+void sigseq_tilde_setup(void){
+    sigseq_class = class_new(gensym("sigseq~"), (t_newmethod)sigseq_new,
+                             (t_method)sigseq_free ,sizeof(t_sigseq), 0,A_GIMME,0);
+    CLASS_MAINSIGNALIN(sigseq_class, t_sigseq, x_f);
+    class_addmethod(sigseq_class,(t_method)sigseq_dsp,gensym("dsp"),0);
+    class_addmethod(sigseq_class,(t_method)sigseq_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_list,gensym("list"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_adsr,gensym("adsr"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_adsrgate,gensym("adsrgate"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_banggate,gensym("banggate"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_tempo,gensym("tempo"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_retro,gensym("retro"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_rand,gensym("rand"),A_GIMME,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_report,gensym("report"),0);
+    class_addmethod(sigseq_class,(t_method)sigseq_gozero,gensym("gozero"),0);
+    class_addmethod(sigseq_class,(t_method)sigseq_internal_clock,gensym("internal_clock"),A_FLOAT,0);
+    class_addmethod(sigseq_class,(t_method)sigseq_external_clock,gensym("external_clock"),A_FLOAT,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void sigseq_gozero(t_sigseq *x)
+{
+    if(x->seq_len <= 0)
+        return;
+    x->seq_ptr = x->seq_len - 1;
+}
+
+void sigseq_internal_clock(t_sigseq *x, t_floatarg toggle)
+{
+    if(toggle){
+        x->method = internal_clock;
+    } else {
+        x->method = EXTERNAL_CLOCK;
+    }
+}
+
+void sigseq_external_clock(t_sigseq *x, t_floatarg toggle)
+{
+    if(toggle){
+        x->method = EXTERNAL_CLOCK;
+    } else {
+        x->method = internal_clock;
+    }
+    post("method is %d",x->method);
+}
+
+void sigseq_report(t_sigseq *x)
+{
+    int i;
+    post("randstate: %d", x->rand_state);
+    post("rval: %d", x->rval);
+    post("seqpt: %d", x->seq_ptr);
+    post("manual rnd pos: %d", x->rval % x->seq_len);
+    
+    for(i=0;i<x->seq_len;i++){
+        post("%f",x->sequence[i]);
+    }
+}
+
+void sigseq_readfile(t_sigseq *x, t_symbol *filename)
+{
+    FILE *fp;
+    float data;
+    post("requested path: %s", filename->s_name);
+    fp = fopen(filename->s_name, "r");
+    if( fp == NULL ){
+        post("could not open file!");
+        return;
+    }
+    while( fscanf(fp, "%f", &data) != EOF ){
+        post("%f",data);
+    }
+    fclose(fp);
+}
+
+void sigseq_mute(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    x->mute = atom_getfloatarg(0,argc,argv);
+}
+
+
+void sigseq_rand(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    x->rand_state = atom_getfloatarg(0,argc,argv);	
+}
+
+void sigseq_retro(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    x->retro_state = atom_getfloatarg(0,argc,argv);
+	
+}
+
+void sigseq_adsrgate(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    
+    x->do_envelope = atom_getfloatarg(0,argc,argv);
+}
+
+void sigseq_banggate(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    
+    x->bang_on = atom_getfloatarg(0,argc,argv);
+}
+
+void sigseq_tempo(t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    float beatdur;
+	
+    x->tempo = atom_getfloatarg(0,argc,argv);
+    if(!x->tempo)
+        x->tempo = 120;
+   	
+    beatdur = (60. / x->tempo ) / (float) x->beat_subdiv ;
+    x->tsamps = x->sr * beatdur;
+   	
+    x->asamps = x->sr * x->a;
+    x->dsamps = x->sr * x->d;
+    x->rsamps = x->sr * x->r;
+    x->ssamps = x->tsamps - (x->asamps+x->dsamps+x->rsamps);
+    x->ebreak1 = x->asamps;
+    x->ebreak2 = x->asamps+x->dsamps;
+    x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+    if( x->ssamps < 0 ){
+        x->ssamps = 0;
+        // post("adsr: Warning: zero duration sustain");
+    }
+}
+void *sigseq_new(t_symbol *s, int argc, t_atom *argv)
+{
+    t_sigseq *x = (t_sigseq *)pd_new(sigseq_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    outlet_new(&x->x_obj, gensym("signal"));
+    x->mybang = outlet_new(&x->x_obj, gensym("bang"));
+    x->m_clock = clock_new(x,(void *)sigseq_tick);
+    
+    srand(clock());
+    x->tempo = atom_getfloatarg(0,argc,argv);
+    x->beat_subdiv = atom_getfloatarg(1,argc,argv);
+    x->flat_gain = atom_getfloatarg(2,argc,argv);
+    if( x->tempo <= 0 )
+        x->tempo = 120.;
+    if(x->beat_subdiv <= 0)
+        x->beat_subdiv = 2;
+    if(x->flat_gain<= 0)
+        x->flat_gain = 0.5;
+    
+    x->sr = sys_getsr();
+    if(!x->sr){
+        x->sr = 44100;
+        error("zero sampling rate - set to 44100");
+    }
+    sigseq_init(x,0);
+	
+    return (x);
+}
+
+void sigseq_init(t_sigseq *x,short initialized)
+{
+    float beatdur;
+    int asamp, dsamp, ssamp, rsamp;
+    //  int i;
+    
+    if(!initialized){
+        x->sequence = (float *) t_getbytes(MAX_SEQ * sizeof(float));
+        x->trigger_vec = (float *) t_getbytes(MAX_VEC * sizeof(float));
+        x->seq_len = 3;
+        x->seq_ptr = 0;
+        x->bang_ptr = 0;
+        x->sequence[0] = 313;
+        x->sequence[1] = 511;
+        x->sequence[2] = 71;
+        x->method = internal_clock;
+        x->a = .005;
+        x->d = .01;
+        x->r = .2;
+        x->egain = .707;
+        x->do_envelope = 1;
+        x->bang_on = 0;
+        x->retro_state = 0;
+        x->rand_state = 0;
+        x->mute = 0;
+    }
+    
+    beatdur = (60. / x->tempo ) / (float) x->beat_subdiv;
+    x->tsamps = x->sr * beatdur;
+    x->counter = x->tsamps ;
+    x->last_val = 666.6661;
+    x->val = x->sequence[0];
+    asamp = x->sr * x->a;
+    dsamp = x->sr * x->d;
+    rsamp = x->sr * x->r;
+    ssamp = x->tsamps - (asamp+dsamp+rsamp);
+    if( ssamp < 0 ){
+        ssamp = 0;
+    }
+    x->ebreak1 = asamp;
+    x->ebreak2 = asamp+dsamp;
+    x->ebreak3 = asamp+dsamp+ssamp;
+    x->asamps = asamp;
+    x->dsamps = dsamp;
+    x->ssamps = ssamp;
+    x->rsamps = rsamp;
+}
+
+void sigseq_tick(t_sigseq *x)
+{
+    if(x->seq_ptr) //weird that we need this
+        x->seq_ptr = 0;
+    //  post("bang: val %f s0 %f pt %d",x->val,x->sequence[0],x->seq_ptr);
+    outlet_bang(x->mybang);
+}
+
+void sigseq_list (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    short i;
+    
+    if( argc < 1 ){
+        // post("null list ignored");
+        return;
+    }
+    x->seq_len = 0;
+    for( i = 0; i < argc; i++ ){
+        x->sequence[i] = atom_getfloatarg(i,argc,argv);
+        ++(x->seq_len);
+    }
+    x->seq_ptr = 0;
+    x->val = x->sequence[ 0 ];
+    x->counter = 0 ;
+    //  sigseq_tick(x);
+    return;
+}
+
+void sigseq_adsr (t_sigseq *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    //  short i;
+    
+    if( argc != 4 ){
+        error("sigseq~: bad arguments for adsr");
+        return;
+    }
+    x->a = atom_getfloatarg(0,argc,argv) * .001;
+    x->d = atom_getfloatarg(1,argc,argv) * .001;
+    x->r = atom_getfloatarg(2,argc,argv) * .001;
+    x->egain = atom_getfloatarg(3,argc,argv);
+    
+    x->asamps = x->sr * x->a;
+    x->dsamps = x->sr * x->d;
+    x->rsamps = x->sr * x->r;
+    x->ssamps = x->tsamps - (x->asamps+x->dsamps+x->rsamps);
+    x->ebreak1 = x->asamps;
+    x->ebreak2 = x->asamps+x->dsamps;
+    x->ebreak3 = x->asamps+x->dsamps+x->ssamps;
+    if( x->ssamps < 0 ){
+        x->ssamps = 0;
+        // post("adsr: Warning: zero duration sustain");
+    }
+    //  	post("A %d D %d S %d R %d gain %f",x->asamps,x->dsamps,x->ssamps,x->rsamps,x->egain);
+    return;
+}
+t_int *sigseq_perform(t_int *w)
+{
+    
+    t_sigseq *x = (t_sigseq *) (w[1]);
+    //  t_float *in = (t_float *)(w[2]);
+    t_float *out = (t_float *)(w[3]);
+    t_float *adsr = (t_float *)(w[4]);
+    int n = (int) w[5];
+    /*********************************************/
+    float *sequence = x->sequence;
+    int seq_len = x->seq_len;
+    int seq_ptr = x->seq_ptr;
+    int tsamps = x->tsamps;
+    int counter = x->counter;
+    float val = x->val;
+    float last_val = x->last_val;
+    int ebreak1 = x->ebreak1;
+    int ebreak2 = x->ebreak2;
+    int ebreak3 = x->ebreak3;
+    float egain = x->egain;
+    float env_val;
+    float flat_gain = x->flat_gain;
+    int do_envelope = x->do_envelope;
+    int asamps = x->asamps;
+    int dsamps = x->dsamps;
+    //  int ssamps = x->ssamps;
+    int rsamps = x->rsamps;
+    int bang_on = x->bang_on;
+    short bang_ptr = x->bang_ptr;
+    short retro_state = x->retro_state;
+    short rand_state = x->rand_state;
+    float etmp;
+    //  short bang_me_now = 0 ;
+    float trand;
+    /*********************************************/
+    if(x->mute){
+        while (n--) {
+            *out++ = 0.0;
+        }
+        return (w+6);
+    } else {
+        
+        while(n--) {
+            if(counter >= tsamps){
+                counter = 0;
+                bang_ptr = (bang_ptr + 1) % seq_len ;
+                if (rand_state) {
+                    trand = (float) ( rand() % 32768 / 32768.0) * (float) seq_len;
+                    x->rval = trand ;
+                    seq_ptr = x->rval % seq_len;
+                    
+                }
+                else if (retro_state) {
+                    seq_ptr = (seq_ptr - 1) % seq_len ;
+                    if( seq_ptr < 0) {
+                        seq_ptr = seq_len - 1;
+                    }
+                    //
+                }
+                else {
+                    seq_ptr = (seq_ptr + 1) % seq_len ;
+                }
+                if ( seq_ptr >= seq_len || seq_ptr < 0) {
+                    seq_ptr = 1;
+                }
+                val = sequence[ seq_ptr ];
+                if( bang_ptr == 0 && bang_on) {
+                    clock_delay(x->m_clock,0);
+                }
+            }
+            *out++ = val;
+            if( do_envelope ) {
+                if( counter < ebreak1 ){
+                    env_val = (float) counter / (float) asamps;
+                } else if (counter < ebreak2) {
+                    etmp = (float) (counter - ebreak1) / (float) dsamps;
+                    env_val = (1.0 - etmp) + (egain * etmp);
+                } else if (counter < ebreak3) {
+                    env_val = egain;
+                } else {
+                    env_val = ((float)(tsamps-counter)/(float)rsamps) * egain ;
+                }
+                *adsr++ = env_val;
+            } else {
+                *adsr++ = flat_gain;
+            }
+            counter++;
+        }
+        if( last_val != val) {
+            last_val = val;
+        }
+        
+        x->seq_ptr = seq_ptr;
+        x->bang_ptr = bang_ptr;
+        x->counter = counter;
+        x->val = val;
+        x->last_val = last_val;
+        
+    }
+    return (w+6);
+}
+
+
+t_int *sigseq_perform_clickin(t_int *w)
+{
+    
+    t_sigseq *x = (t_sigseq *) (w[1]);
+    t_float *trigger = (t_float *)(w[2]);
+    t_float *out = (t_float *)(w[3]);
+    t_float *adsr = (t_float *)(w[4]);
+    int n = (int) w[5];
+    /*********************************************/
+    float *sequence = x->sequence;
+    int seq_len = x->seq_len;
+    int seq_ptr = x->seq_ptr;
+    int tsamps = x->tsamps;
+    int counter = x->counter;
+    //  float val = x->val;
+    float last_val = x->last_val;
+    int ebreak1 = x->ebreak1;
+    int ebreak2 = x->ebreak2;
+    int ebreak3 = x->ebreak3;
+    float egain = x->egain;
+    float env_val;
+    float flat_gain = x->flat_gain;
+    int do_envelope = x->do_envelope;
+    int asamps = x->asamps;
+    int dsamps = x->dsamps;
+    //  int ssamps = x->ssamps;
+    int rsamps = x->rsamps;
+    int bang_on = x->bang_on;
+    short bang_ptr = x->bang_ptr;
+    short retro_state = x->retro_state;
+    short rand_state = x->rand_state;
+    float *trigger_vec = x->trigger_vec;
+    float etmp;
+    //  short bang_me_now = 0 ;
+    float trand;
+    int i;
+    /*********************************************/
+    if(x->mute){
+        while (n--) {
+            *out++ = 0.0;
+        }
+        return (w+6);
+    }
+ 	
+    for(i = 0; i < n; i++){
+        trigger_vec[i] = trigger[i];
+    }
+    for(i = 0; i < n; i++) {
+        if(trigger_vec[i]){
+            counter = 0;
+            //     bang_ptr = (bang_ptr + 1) % seq_len ;
+            
+            if (rand_state) {
+                trand = (float) ( rand() % 32768 / 32768.0) * (float) seq_len;
+                x->rval = trand ;
+                x->seq_ptr = x->rval % seq_len;	
+                
+            }
+            else if (retro_state) {
+                x->seq_ptr = (seq_ptr - 1) % seq_len ;
+                if( x->seq_ptr < 0) {
+                    x->seq_ptr = seq_len - 1;
+                }
+            } 
+            else {
+                x->seq_ptr = (x->seq_ptr + 1) % seq_len ;
+            }
+            if ( x->seq_ptr >= seq_len || x->seq_ptr < 0) {
+                x->seq_ptr = 1;
+            }
+            x->val = sequence[x->seq_ptr];			
+            if(x->seq_ptr == 0 && bang_on) {
+                clock_delay(x->m_clock,0);
+            }
+        }
+        out[i] = x->val;
+        if( do_envelope ) {
+            if( counter < ebreak1 ){
+                env_val = (float) counter / (float) asamps;
+            } else if (counter < ebreak2) {
+                etmp = (float) (counter - ebreak1) / (float) dsamps;
+                env_val = (1.0 - etmp) + (egain * etmp);
+            } else if (counter < ebreak3) {
+                env_val = egain;
+            } else if(counter < tsamps) {
+                env_val = ((float)(tsamps-counter)/(float)rsamps) * egain ;
+            } else {
+                env_val = 0;
+            }
+            adsr[i] = env_val;
+        } else {
+            adsr[i] = flat_gain;
+        }
+        counter++;
+    }
+    if( last_val != x->val) {
+        last_val = x->val;		
+    }
+    
+    x->bang_ptr = bang_ptr;
+    x->counter = counter;
+    
+    x->last_val = last_val;
+	
+    return (w+6);
+}		
+
+void sigseq_free(t_sigseq *x)
+{
+    
+    t_freebytes(x->sequence, MAX_SEQ * sizeof(float));
+    t_freebytes(x->trigger_vec, MAX_VEC * sizeof(float));
+}
+
+void sigseq_dsp(t_sigseq *x, t_signal **sp)
+{
+    if(!sp[0]->s_sr)
+        return;
+    if(x->sr != sp[0]->s_sr){
+        x->sr = sp[0]->s_sr;
+        sigseq_init(x,1);
+    }
+    if(x->method == EXTERNAL_CLOCK){
+        dsp_add(sigseq_perform_clickin, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+    } else {
+        dsp_add(sigseq_perform, 5, x, 
+                sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
+    }
+}
+
diff --git a/externals/lyonpotpourri/smap-help.pd b/externals/lyonpotpourri/smap-help.pd
new file mode 100755
index 000000000..37a53b9e2
--- /dev/null
+++ b/externals/lyonpotpourri/smap-help.pd
@@ -0,0 +1,9 @@
+#N canvas 246 169 450 300 10;
+#X obj 141 163 smap 0 4;
+#X obj 144 113 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 141 195 5 0 0 0 - - -;
+#X text 49 56 remap a 0-127 MIDI input range to the output range specified
+in the arguments;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
diff --git a/externals/lyonpotpourri/smap.pd b/externals/lyonpotpourri/smap.pd
new file mode 100755
index 000000000..de9549d85
--- /dev/null
+++ b/externals/lyonpotpourri/smap.pd
@@ -0,0 +1,28 @@
+#N canvas 0 22 458 308 10;
+#X obj 88 84 inlet;
+#X obj 88 110 / 127;
+#X obj 265 144 - 0;
+#X obj 283 38 t b b;
+#X floatatom 128 161 5 0 0 0 - - -;
+#X obj 88 181 *;
+#X obj 88 210 +;
+#X floatatom 135 192 5 0 0 0 - - -;
+#X obj 88 237 outlet;
+#X obj 283 17 loadbang;
+#X floatatom 205 125 5 0 0 0 - - -;
+#X obj 227 66 float \$2;
+#X obj 304 67 float \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 11 0;
+#X connect 3 1 12 0;
+#X connect 4 0 5 1;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 9 0 3 0;
+#X connect 10 0 2 0;
+#X connect 11 0 10 0;
+#X connect 12 0 2 1;
+#X connect 12 0 7 0;
diff --git a/externals/lyonpotpourri/splitbank~-help.pd b/externals/lyonpotpourri/splitbank~-help.pd
new file mode 100755
index 000000000..58f5bd140
--- /dev/null
+++ b/externals/lyonpotpourri/splitbank~-help.pd
@@ -0,0 +1,355 @@
+#N canvas 551 163 627 595 10;
+#X obj 36 501 shoehorn~ 8 2, f 32;
+#N canvas 371 171 799 432 splitter 0;
+#X obj 533 297 block~ 128 1;
+#X obj 103 237 outlet~;
+#X obj 151 236 outlet~;
+#X obj 203 243 outlet~;
+#X obj 251 242 outlet~;
+#X obj 325 241 outlet~;
+#X obj 373 240 outlet~;
+#X obj 425 247 outlet~;
+#X obj 133 70 inlet~;
+#X obj 54 234 outlet~;
+#X obj 270 86 unpack f f f f f f f f;
+#X msg 271 53 1 1 1 1 1 1 1 1;
+#X obj 625 244 outlet;
+#X obj 271 18 loadbang;
+#X obj 598 94 inlet;
+#X obj 133 172 splitbank~ 8, f 78;
+#X obj 537 253 outlet~;
+#X obj 453 85 inlet;
+#X obj 15 71 r splitbank-msg;
+#X obj 495 92 inlet;
+#X obj 547 92 inlet;
+#X text 51 269 FFT size is (signal-vector-size * overlap-factor). The
+overlap factor is specified internally \, and defaults to 8.0. Overlap-add
+and windowing is performed internally \, so the block~ overlap factor
+must be 1.0. The vector size of 128 used here produces an FFT size
+of 1024 by default., f 41;
+#X connect 8 0 15 0;
+#X connect 10 0 15 1;
+#X connect 10 1 15 2;
+#X connect 10 2 15 3;
+#X connect 10 3 15 4;
+#X connect 10 4 15 5;
+#X connect 10 5 15 6;
+#X connect 10 6 15 7;
+#X connect 10 7 15 8;
+#X connect 11 0 10 0;
+#X connect 13 0 11 0;
+#X connect 14 0 15 12;
+#X connect 15 0 9 0;
+#X connect 15 1 1 0;
+#X connect 15 2 2 0;
+#X connect 15 3 3 0;
+#X connect 15 4 4 0;
+#X connect 15 5 5 0;
+#X connect 15 6 6 0;
+#X connect 15 7 7 0;
+#X connect 15 8 16 0;
+#X connect 15 9 12 0;
+#X connect 17 0 15 9;
+#X connect 18 0 15 0;
+#X connect 19 0 15 10;
+#X connect 20 0 15 11;
+#X restore 36 363 pd splitter;
+#X obj 36 549 dac~;
+#X obj 365 465 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 365 523 \; pd dsp \$1;
+#X obj 399 288 hsl 128 15 0 1 0 0 empty empty manual_override -2 -8
+0 10 -262144 -1 -1 0 1;
+#X floatatom 252 538 5 0 0 0 sync_signal - -, f 5;
+#X obj 272 169 hsl 128 15 0 0.01 0 0 empty empty synthesis_threshold
+-2 -8 0 10 -262144 -1 -1 0 1;
+#N canvas 184 87 542 546 soundsource 0;
+#X obj 66 406 outlet~;
+#X obj 62 350 *~ 0.1;
+#X obj 42 198 -~ 0.5;
+#X obj 46 144 phasor~ 440;
+#X floatatom 109 63 5 0 0 0 - - -, f 5;
+#X obj 147 146 phasor~ 440;
+#X obj 150 191 -~ 0.5;
+#X obj 133 96 *~ 1.5;
+#X msg 416 179 100;
+#X obj 416 157 loadbang;
+#X obj 268 26 inlet;
+#X obj 342 300 s splitbank-freq;
+#X obj 138 316 hsl 128 15 0 0.4 0 0 empty empty gain -2 -8 0 10 -262144
+-1 -1 4700 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 5 0;
+#X connect 8 0 11 0;
+#X connect 9 0 8 0;
+#X connect 10 0 4 0;
+#X connect 12 0 1 1;
+#X restore 36 231 pd soundsource;
+#X floatatom 36 206 5 0 0 2 frequency splitbank-freq -, f 5;
+#X obj 318 210 hsl 128 15 0 1 0 0 empty empty table_offset -2 -8 0
+10 -262144 -1 -1 0 1;
+#X obj 352 250 hsl 128 15 0 1 0 0 empty empty bin_offset -2 -8 0 10
+-262144 -1 -1 0 1;
+#N canvas 617 105 817 690 state 0;
+#X obj 49 66 inlet;
+#X msg 49 93 set \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12
+\$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20 \$21 \$22 \$23 \$24 \$25 \$26
+\$27 \$28 \$29 \$30 \$31 \$32 \$33 \$34 \$35 \$36 \$37 \$38 \$39 \$40
+\$41 \$42 \$43 \$44 \$45 \$46 \$47 \$48 \$49 \$50 \$51 \$52 \$53 \$54
+\$55 \$56 \$57 \$58 \$59 \$60 \$61 \$62 \$63 \$64 \$65 \$66 \$67 \$68
+\$69 \$70 \$71 \$72 \$73 \$74 \$75 \$76 \$77 \$78 \$79 \$80 \$81 \$82
+\$83 \$84 \$85 \$86 \$87 \$88 \$89 \$90 \$91 \$92 \$93 \$94 \$95 \$96
+\$97 \$98 \$99 \$100 \$101 \$102 \$103 \$104 \$105 \$106 \$107 \$108
+\$109 \$110 \$111 \$112 \$113 \$114 \$115 \$116 \$117 \$118 \$119 \$120
+\$121 \$122 \$123 \$124 \$125 \$126 \$127 \$128 \$129 \$130 \$131 \$132
+\$133 \$134 \$135 \$136 \$137 \$138 \$139 \$140 \$141 \$142 \$143 \$144
+\$145 \$146 \$147 \$148 \$149 \$150 \$151 \$152 \$153 \$154 \$155 \$156
+\$157 \$158 \$159 \$160 \$161 \$162 \$163 \$164 \$165 \$166 \$167 \$168
+\$169 \$170 \$171 \$172 \$173 \$174 \$175 \$176 \$177 \$178 \$179 \$180
+\$181 \$182 \$183 \$184 \$185 \$186 \$187 \$188 \$189 \$190 \$191 \$192
+\$193 \$194 \$195 \$196 \$197 \$198 \$199 \$200 \$201 \$202 \$203 \$204
+\$205 \$206 \$207 \$208 \$209 \$210 \$211 \$212 \$213 \$214 \$215 \$216
+\$217 \$218 \$219 \$220 \$221 \$222 \$223 \$224 \$225 \$226 \$227 \$228
+\$229 \$230 \$231 \$232 \$233 \$234 \$235 \$236 \$237 \$238 \$239 \$240
+\$241 \$242 \$243 \$244 \$245 \$246 \$247 \$248 \$249 \$250 \$251 \$252
+\$253 \$254 \$255 \$256 \$257 \$258 \$259 \$260 \$261 \$262 \$263 \$264
+\$265 \$266 \$267 \$268 \$269 \$270 \$271 \$272 \$273 \$274 \$275 \$276
+\$277 \$278 \$279 \$280 \$281 \$282 \$283 \$284 \$285 \$286 \$287 \$288
+\$289 \$290 \$291 \$292 \$293 \$294 \$295 \$296 \$297 \$298 \$299 \$300
+\$301 \$302 \$303 \$304 \$305 \$306 \$307 \$308 \$309 \$310 \$311 \$312
+\$313 \$314 \$315 \$316 \$317 \$318 \$319 \$320 \$321 \$322 \$323 \$324
+\$325 \$326 \$327 \$328 \$329 \$330 \$331 \$332 \$333 \$334 \$335 \$336
+\$337 \$338 \$339 \$340 \$341 \$342 \$343 \$344 \$345 \$346 \$347 \$348
+\$349 \$350 \$351 \$352 \$353 \$354 \$355 \$356 \$357 \$358 \$359 \$360
+\$361 \$362 \$363 \$364 \$365 \$366 \$367 \$368 \$369 \$370 \$371 \$372
+\$373 \$374 \$375 \$376 \$377 \$378 \$379 \$380 \$381 \$382 \$383 \$384
+\$385 \$386 \$387 \$388 \$389 \$390 \$391 \$392 \$393 \$394 \$395 \$396
+\$397 \$398 \$399 \$400 \$401 \$402 \$403 \$404 \$405 \$406 \$407 \$408
+\$409 \$410 \$411 \$412 \$413 \$414 \$415 \$416 \$417 \$418 \$419 \$420
+\$421 \$422 \$423 \$424 \$425 \$426 \$427 \$428 \$429 \$430 \$431 \$432
+\$433 \$434 \$435 \$436 \$437 \$438 \$439 \$440 \$441 \$442 \$443 \$444
+\$445 \$446 \$447 \$448 \$449 \$450 \$451 \$452 \$453 \$454 \$455 \$456
+\$457 \$458 \$459 \$460 \$461 \$462 \$463 \$464 \$465 \$466 \$467 \$468
+\$469 \$470 \$471 \$472 \$473 \$474 \$475 \$476 \$477 \$478 \$479 \$480
+\$481 \$482 \$483 \$484 \$485 \$486 \$487 \$488 \$489 \$490 \$491 \$492
+\$493 \$494 \$495 \$496 \$497 \$498 \$499 \$500 \$501 \$502 \$503 \$504
+\$505 \$506 \$507 \$508 \$509 \$510 \$511 \$512 512;
+#X msg 433 93 205 7 49 10 211 58 51 76 121 62 63 212 243 181 157 71
+165 233 140 16 82 20 74 152 238 218 230 214 204 50 26 117 242 179 215
+53 237 79 199 95 91 41 161 208 80 189 67 154 3 252 146 216 65 23 148
+192 200 223 248 36 134 5 106 119 124 130 145 227 133 13 45 235 59 128
+14 166 251 34 113 42 56 164 94 122 93 17 190 37 224 176 174 103 102
+175 84 159 196 101 9 253 184 98 132 4 221 229 66 245 115 191 141 114
+100 185 210 81 110 193 44 137 68 155 116 169 203 127 97 108 2 249 52
+125 167 254 178 39 158 240 247 29 195 234 46 123 202 32 61 239 194
+25 222 118 143 197 180 120 15 188 182 92 172 38 207 153 18 160 156
+31 96 27 30 72 220 236 70 40 231 75 241 11 54 69 250 47 206 33 19 198
+129 6 171 64 150 85 83 24 107 99 225 246 135 226 88 187 0 213 162 60
+147 77 255 131 111 168 244 139 21 105 1 112 22 43 177 35 228 173 138
+170 183 232 209 149 217 163 136 86 57 90 8 142 12 144 78 104 201 55
+48 89 109 87 28 186 219 151 73 126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 512;
+#X text 434 69 current bin mapping;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 279 470 pd state;
+#N canvas 0 22 695 522 sig2float 0;
+#X obj 200 68 inlet~;
+#X obj 343 201 outlet;
+#X obj 343 168 snapshot~;
+#X msg 343 106 1;
+#X obj 343 82 loadbang;
+#X obj 343 133 metro 50;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X restore 252 501 pd sig2float;
+#N canvas 53 282 535 369 interval-sets 0;
+#X msg -79 52 1 1 1 1 1 1 1 1;
+#X msg -66 76 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7;
+#X msg -56 103 1 1.01 1.02 1.03 1.04 1.05 1.06 1.07;
+#X obj -92 294 s splitbank-msg;
+#X msg -92 21 1 1.25 1.5 2 0.5 1 1.875 2.25;
+#X msg -41 132 1 1.059 1.122 1.189 1.259 1.334 1.414 1.498;
+#X msg -26 160 1 1.122 1.259 1.414 1.587 1.781 1.999 2.244;
+#X msg -12 195 1 1.189 1.414 1.681 1.999 2.378 2.828 3.363;
+#X msg 4 217 1 1.0009 1.002 1.003 1.004 1.005 1.006 1.007;
+#X text 13 250 list unpacks to frequency multipliers for each spectrum
+fragment;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X restore 404 69 pd interval-sets;
+#N canvas 111 193 455 381 frequency-synthesis-constraints 0;
+#X obj 14 214 s splitbank-msg;
+#X msg 67 86 maxfreq 600;
+#X msg 168 137 minfreq 200;
+#X msg 151 112 minfreq 0;
+#X msg 14 35 maxfreq 19000;
+#X msg 41 62 maxfreq 1500;
+#X msg 179 161 minfreq 900;
+#X text 9 252 The range of frequencies to be synthesized can be specfied
+by minimum and maximum. Actually produced frequencies will vary outside
+this range \, depending on the current interval set. Constraining frequency
+range reduces the CPU load. When the minimum frequency equals or exceeds
+the maximum \, no sound is produced.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X restore 404 95 pd frequency-synthesis-constraints;
+#N canvas 367 60 618 567 basic-messages 0;
+#X msg -86 57 manual_override \$1;
+#X msg -1 306 scramble;
+#X msg -9 275 ramptime 5000;
+#X obj -104 418 s splitbank-msg;
+#X msg -49 175 powerfade \$1;
+#X obj -49 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg -28 239 mute \$1;
+#X obj -28 202 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg -102 -7 fftinfo;
+#X msg -114 -41 showstate;
+#X obj -86 26 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 62 307 set new random mapping;
+#X text 29 239 mute all sound and release CPU cycles;
+#X text 40 60 manually move between two settings when this toggle is
+on;
+#X text -44 -6 print FFT size and related information;
+#X text -47 -40 show the current bin mapping;
+#X text 83 268 set transition time (in milliseconds) to move from one
+mapping to the next;
+#X obj -19 34 s splitbank-man-override;
+#X text 144 362 change overlap factor (DACs must be restarted);
+#X msg 79 448 \; pd dsp \$1;
+#X obj 79 395 t b b;
+#X msg 114 418 1;
+#X msg 79 418 0;
+#X obj 123 394 delay 1;
+#X msg 78 361 overlap 4;
+#X text 41 172 select equal-power cross fade \, rather than linear
+(default);
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 10 0 17 0;
+#X connect 20 0 23 0;
+#X connect 20 1 22 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 21 0;
+#X connect 24 0 3 0;
+#X connect 24 0 20 0;
+#X restore 403 43 pd basic-messages;
+#X text 26 39 splitbank~ splits an incoming sound into a number of
+sub-spectra \, each of which is independently tunable. Each sub-spectrum
+emerges from its own outlet \, from where it can be fully spatialized
+\, or collapsed to stereo as shown in this example. The internal design
+of the FFT processing requires that the object be deployed inside a
+block~ subpatcher \, in order to gain control over the FFT size.;
+#X text 121 363 <- main DSP block~ subpatch;
+#N canvas 131 124 508 327 timing 0;
+#N canvas 95 351 507 328 steadyclock 0;
+#X obj 83 25 inlet;
+#X obj 133 86 t 1 f f;
+#X msg 206 148 ramptime \$1;
+#X obj 217 287 s splitbank-msg;
+#X obj 133 197 metro 1000;
+#X msg 133 242 scramble;
+#X obj 83 57 sel 0;
+#X msg 84 112 0;
+#X connect 0 0 6 0;
+#X connect 1 0 4 0;
+#X connect 1 1 4 1;
+#X connect 1 2 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 6 1 1 0;
+#X connect 7 0 4 0;
+#X restore 26 292 pd steadyclock;
+#X msg 73 87 7000;
+#X msg 190 231 0;
+#X msg 97 120 2000;
+#X msg 167 176 100;
+#X text 217 233 turn off clock;
+#X msg 26 53 20000;
+#X text 115 30 Set transition time in milliseconds. this smooth crossfade
+does not operate when manual override is selected;
+#X msg 123 151 500;
+#X obj 231 106 r splitbank-man-override;
+#X obj 231 139 sel 0 1;
+#X msg 358 249 5000;
+#X obj 358 175 r splitbank-startbang;
+#X obj 358 214 delay 50;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 6 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X connect 10 1 2 0;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X restore 405 123 pd timing;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 436 508 sel 1;
+#X obj 436 533 s splitbank-startbang;
+#X connect 0 0 2 0;
+#X connect 0 1 2 1;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 1 2 0 2;
+#X connect 1 3 0 3;
+#X connect 1 4 0 4;
+#X connect 1 5 0 5;
+#X connect 1 6 0 6;
+#X connect 1 7 0 7;
+#X connect 1 8 13 0;
+#X connect 1 9 12 0;
+#X connect 3 0 4 0;
+#X connect 3 0 21 0;
+#X connect 5 0 1 4;
+#X connect 7 0 1 1;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 1 2;
+#X connect 11 0 1 3;
+#X connect 13 0 6 0;
+#X connect 21 0 22 0;
diff --git a/externals/lyonpotpourri/splitbank~.c b/externals/lyonpotpourri/splitbank~.c
new file mode 100755
index 000000000..948cd4aa7
--- /dev/null
+++ b/externals/lyonpotpourri/splitbank~.c
@@ -0,0 +1 @@
+#include "MSPd.h"
#define OSCBANK_TABLE_LENGTH (8192)
#define OSCBANK_DEFAULT_TOPFREQ (15000.0)

#define MAXSTORE (128)

#define OBJECT_NAME "splitbank~"

static t_class *splitbank_class;

typedef struct
{
    int R;
    int	N;
    int	N2;
    int	Nw;
    int	Nw2;
    int	vector_size;
    int	i;
    int	in_count;
    float *Wanal;
    float *Wsyn;
    float *input_buffer;
    float *Hwin;
    float *complex_spectrum;
    float *interleaved_spectrum;
    float *output_buffer;
    // for convert
    float *c_lastphase_in;
    float *c_lastphase_out;
    float c_fundamental;
    float c_factor_in;
    float c_factor_out;
    float P;
    int table_length;
    float table_si;
    int first;
    float i_vector_size;
    float *lastamp;
    float *lastfreq;
    float *index;
    float *table;
    float pitch_increment;
    
    int lo_bin;
    int hi_bin;
    float synthesis_threshold;
    
    int overlap;
    int winfac;
    float user_lofreq;
    float user_hifreq;
    float curfreq;
    // faster FFT
    float mult;
    float *trigland;
    int *bitshuffle;
    
} t_oscbank;

typedef struct _splitbank
{
    t_object x_obj;
    t_float x_f;
    t_oscbank **obanks;
    int N;
    int N2;
    int R;
    int overlap;
    void *list_outlet;
    t_atom *list_data;
    int *bin_tmp;
    int ramp_frames;
    int frames_left;
    float frame_duration;
    int vector_size;
    int table_offset;
    int bin_offset;
    float *last_mag;
    float *current_mag;
    int *last_binsplit;
    int *current_binsplit;
    int **stored_binsplits;
    short *stored_slots;
    float *in_amps;
    short new_distribution;
    short interpolation_completed;
//    short bypass;
    short initialize;
    short manual_override;
    float manual_control_value;
    short mute;
    short powerfade;
    int channel_count;
    long countdown_samps; // samps for a given fadetime
    long counter;
    int hopsamps;
    t_float **ins; // input signal vectors
    t_float **outs; // output signal vectors
} t_splitbank;

void *splitbank_new(t_symbol *s, int argc, t_atom *argv);
t_int *splitbank_perform( t_int *w );
void splitbank_dsp(t_splitbank *x, t_signal **sp);
void splitbank_showstate( t_splitbank *x );
void splitbank_manual_override( t_splitbank *x, t_floatarg toggle );
void splitbank_setstate( t_splitbank *x, t_symbol *msg, short argc, t_atom *argv);
void splitbank_ramptime( t_splitbank *x, t_symbol *msg, short argc, t_atom *argv);
int rand_index( int max);
void splitbank_scramble (t_splitbank *x);
void splitbank_store( t_splitbank *x, t_floatarg location );
void splitbank_recall( t_splitbank *x, t_floatarg location );
void splitbank_powerfade( t_splitbank *x, t_floatarg toggle );
void splitbank_maxfreq( t_splitbank *x, t_floatarg freq );
void splitbank_minfreq( t_splitbank *x, t_floatarg freq );
void splitbank_mute( t_splitbank *x, t_floatarg toggle );
void splitbank_fftinfo( t_splitbank *x);
void splitbank_free( t_splitbank *x );
void splitbank_overlap( t_splitbank *x, t_floatarg ofac );
void splitbank_spliti( t_splitbank *x,  float *dest_mag, int start, int end, float oldfrac);
void splitbank_split(t_splitbank *x, int *binsplit, float *dest_mag, int start, int end );
int splitbank_closestPowerOfTwo(int p);
void fftease_obank_analyze( t_oscbank *x ) ;
void fftease_obank_initialize ( t_oscbank *x, float lo_freq, float hi_freq, int overlap,
                               int R, int vector_size, int N);
void fftease_obank_transpose( t_oscbank *x );
void fftease_obank_synthesize( t_oscbank *x );
void fftease_obank_destroy( t_oscbank *x );
void fftease_shiftin( t_oscbank *x, float *input );
void fftease_shiftout( t_oscbank *x, float *output );
void fftease_obank_topfreq( t_oscbank *x, float topfreq );
void fftease_obank_bottomfreq( t_oscbank *x, float bottomfreq );

void rfft( float *x, int N, int forward );
void cfft( float *x, int NC, int forward );
void bitreverse( float *x, int N );
void fold( float *I, float *W, int Nw, float *O, int N, int n );
void init_rdft(int n, int *ip, float *w);
void rdft(int n, int isgn, float *a, int *ip, float *w);
void bitrv2(int n, int *ip, float *a);
void cftsub(int n, float *a, float *w);
void rftsub(int n, float *a, int nc, float *c);
void makewt(int nw, int *ip, float *w);
void makect(int nc, int *ip, float *c);
void makewindows( float *H, float *A, float *S, int Nw, int N, int I );
void makehamming( float *H, float *A, float *S, int Nw, int N, int I,int odd );
void makehanning( float *H, float *A, float *S, int Nw, int N, int I,int odd );
void convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor );
//////////
void splitbank_tilde_setup(void){

    splitbank_class = class_new(gensym("splitbank~"), (t_newmethod)splitbank_new,
                                (t_method)splitbank_free, sizeof(t_splitbank),0,A_GIMME,0);
	CLASS_MAINSIGNALIN(splitbank_class, t_splitbank, x_f);
    class_addmethod(splitbank_class, (t_method)splitbank_dsp, gensym("dsp"),0);
    class_addmethod(splitbank_class, (t_method)splitbank_showstate, gensym("showstate"),0);
    class_addmethod(splitbank_class, (t_method)splitbank_manual_override, gensym("manual_override"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_store, gensym("store"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_mute, gensym("mute"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_recall, gensym("recall"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_setstate, gensym("setstate"),A_GIMME,0);
    class_addmethod(splitbank_class, (t_method)splitbank_ramptime, gensym("ramptime"),A_GIMME,0);
    class_addmethod(splitbank_class, (t_method)splitbank_powerfade, gensym("powerfade"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_maxfreq, gensym("maxfreq"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_minfreq, gensym("minfreq"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_overlap, gensym("overlap"),A_FLOAT,0);
    class_addmethod(splitbank_class, (t_method)splitbank_scramble, gensym("scramble"),0);
    class_addmethod(splitbank_class, (t_method)splitbank_fftinfo, gensym("fftinfo"),0);
    
    potpourri_announce(OBJECT_NAME);
}

void splitbank_overlap( t_splitbank *x, t_floatarg ofac )
{
    x->overlap = splitbank_closestPowerOfTwo( (int)ofac );
}

void splitbank_powerfade( t_splitbank *x, t_floatarg toggle )
{
    x->powerfade = (short)toggle;
}
void splitbank_mute( t_splitbank *x, t_floatarg toggle )
{
    x->mute = (short)toggle;
}
void splitbank_fftinfo( t_splitbank *x)
{
    post("FFT size: %d", x->N);
    post("Overlap Factor: %d", x->overlap);
    post("Hop size: %d", x->hopsamps);
}

void splitbank_manual_override( t_splitbank *x, t_floatarg toggle )
{
    x->manual_override = (short)toggle;
}

void splitbank_free( t_splitbank *x )
{
    int i;
    if(x->initialize == 0){
        free(x->list_data) ;
        free(x->current_binsplit);
        free(x->last_binsplit);
        free(x->current_mag);
        free(x->last_mag);
        free(x->bin_tmp);
        free(x->stored_slots);
        free(x->in_amps);
        for( i = 0; i < MAXSTORE; i++ ){
            free(x->stored_binsplits[i]);
        }
        free(x->stored_binsplits);
        for(i = 0; i < x->channel_count + 5; i++){
            free(x->ins[i]);
        }
        free(x->ins);
        free(x->outs);
        for(i = 0; i < x->channel_count; i++){
            fftease_obank_destroy(x->obanks[i]);
        }
        free(x->obanks);
    }
}

void splitbank_maxfreq( t_splitbank *x, t_floatarg freq )
{
    int i;
    for(i = 0; i < x->channel_count; i++){
        fftease_obank_topfreq( x->obanks[i], freq);
    }
}

void splitbank_minfreq( t_splitbank *x, t_floatarg freq )
{
    int i;
    for(i = 0; i < x->channel_count; i++){
        fftease_obank_bottomfreq( x->obanks[i], freq);
    }
}

void splitbank_store( t_splitbank *x, t_floatarg loc )
{
    int **stored_binsplits = x->stored_binsplits;
    int *current_binsplit = x->current_binsplit;
    short *stored_slots = x->stored_slots;
    int location = (int) loc;
    int i;
    
    if( location < 0 || location > MAXSTORE - 1 ){
        error("location must be between 0 and %d, but was %d", MAXSTORE, location);
        return;
    }
    for(i = 0; i < x->N2; i++ ){
        stored_binsplits[location][i] = current_binsplit[i];
    }
    stored_slots[location] = 1;
    
   // post("stored bin split at location %d", location);
}

void splitbank_recall( t_splitbank *x, t_floatarg loc )
{
    int **stored_binsplits = x->stored_binsplits;
    int *current_binsplit = x->current_binsplit;
    int *last_binsplit = x->last_binsplit;
    short *stored_slots = x->stored_slots;
    int i;
    int location = (int) loc;
    if( location < 0 || location > MAXSTORE - 1 ){
        error("location must be between 0 and %d, but was %d", MAXSTORE, location);
        return;
    }
    if( ! stored_slots[location] ){
        error("nothing stored at location %d", location);
        return;
    }
    
    for(i = 0; i < x->N2; i++ ){
        last_binsplit[i] = current_binsplit[i];
        current_binsplit[i] = stored_binsplits[location][i];
    }
    
    x->new_distribution = 1;
    x->interpolation_completed = 0;
    x->frames_left = x->ramp_frames;
    if(! x->ramp_frames) { // Ramp Off - Immediately set last to current
        for( i = 0; i < x->N2; i++ ){
            x->last_binsplit[ i ] = x->current_binsplit[ i ];
        }
    }
}

int splitbank_closestPowerOfTwo(int p){
    int base = 2;
    if(p > 2){
        while(base < p){
            base *= 2;
        }
    }
    return base;
}

void *splitbank_new(t_symbol *s, int argc, t_atom *argv)
{
    t_splitbank *x = (t_splitbank *)pd_new(splitbank_class);
    int i;

    
    x->channel_count = (int) atom_getfloatarg(0, argc, argv);
    x->channel_count = splitbank_closestPowerOfTwo( x->channel_count );
    // post("theoretic chan count: %d",x->channel_count );
    // x->channel_count = 8;
    srand( time( 0 ) );
    for(i = 0; i < x->channel_count + 4; i++){
        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
    }
    for(i = 0; i < x->channel_count + 1; i++){
        outlet_new(&x->x_obj, gensym("signal"));
    }
    
    x->ins = (t_float **) malloc(sizeof(t_float *) * (x->channel_count + 5));
    x->outs = (t_float **) malloc(sizeof(t_float *) * (x->channel_count + 1));
    for(i = 0; i < x->channel_count + 5; i++){
        x->ins[i] = (t_float *) malloc(8192 * sizeof(t_float));
    }
    x->list_outlet = (t_outlet *) outlet_new(&x->x_obj, gensym("list"));
 
    x->obanks = (t_oscbank **) malloc(x->channel_count * sizeof(t_oscbank *));
    for(i = 0; i < x->channel_count; i++){
        x->obanks[i] = (t_oscbank *) malloc(sizeof(t_oscbank));
    }
    
    x->mute = 0;
    x->table_offset = 0;
    x->bin_offset = 0;
    x->powerfade = 0;
    x->manual_override = 0;
    x->countdown_samps = 0;
    x->overlap = 8; // to generate FFT size
    x->initialize = 1;
    return x;
}
t_int *splitbank_perform(t_int *w)
{
	
    int i,j;
    float frac = 0.0;
    t_splitbank *x = (t_splitbank *) (w[1]);
    
    int channel_count = x->channel_count;
    float *input;
    float *synthesis_threshold;
    float *t_offset;
    float *b_offset;
    float *manual_control;
    float *sync = (t_float *)(w[(channel_count * 2) + 7]);
    int n = (int) w[(channel_count * 2) + 8];
    
    int N2 = x->N2;
    int N = x->N;
    int hopsamps = x->hopsamps;
//    int frames_left = x->frames_left;
//    int ramp_frames = x->ramp_frames;
    
    int *current_binsplit = x->current_binsplit;
    int *last_binsplit = x->last_binsplit;
    
    float *in_amps = x->in_amps;
    float manual_control_value = x->manual_control_value;
    
    long counter = x->counter;
    long countdown_samps = x->countdown_samps;
    
    t_oscbank **obanks = x->obanks;

    
    t_float **ins = x->ins;
    t_float *inlet;
    t_float *outlet;
    t_float **outs = x->outs; // assign from output vector pointers
    
    // mute branch: clear outlets and return
    
    if(x->mute){
        for(i = 0; i < (channel_count + 1); i++){
            outlet = (t_float *) w[i + (channel_count + 7)];
            for(j = 0; j < n; j++){
                outlet[j] = 0.0;
            }
        }
        return (w + ((channel_count * 2) + 9));
    }
    
    // Copy all inlets

    for(i = 0; i < channel_count + 5; i++){
        inlet = (t_float *) w[2 + i];
        for(j = 0; j < n; j++){
            ins[i][j] = inlet[j];
        }
    }
    // local assigments:
    
    input = ins[0];

    synthesis_threshold = ins[channel_count + 1];
    t_offset = ins[channel_count + 2];
    b_offset = ins[channel_count + 3];
    manual_control = ins[channel_count + 4];
    
    // assign outlet pointers
    
    for(i = 0; i < (channel_count + 1); i++){
        outs[i] = (t_float *) w[i + (channel_count + 7)]; // was 5
    }
    
    sync = outs[channel_count];
    
    for(i = 0; i < channel_count; i++){
        obanks[i]->pitch_increment = ins[i+1][0] * obanks[i]->table_si;
        obanks[i]->synthesis_threshold = synthesis_threshold[0];
    }

    
    x->table_offset = t_offset[0] * N2;
    x->bin_offset = b_offset[0] * N2;
    
    manual_control_value = manual_control[0];
    
    
    // ANALYSIS (only analyze to one oscbank
    
    fftease_shiftin( obanks[0], input );
    fftease_obank_analyze( obanks[0] );
    
    
    // copy input amplitudes from analyzed frame
    for( i = 0, j = 0; i < N; i += 2 , j++){
        in_amps[j] = obanks[0]->interleaved_spectrum[i];
    }
    
    // zero the amps next
    
    for(i = 0; i < channel_count; i++){
        for(j = 0; j < N; j += 2){
            obanks[i]->interleaved_spectrum[j] = 0.0;
        }
    }
    
    if( x->manual_override ){
        for(i = 0; i < channel_count; i++){
            splitbank_spliti( x, obanks[i]->interleaved_spectrum,
                             N2*i/channel_count, N2*(i+1)/channel_count, manual_control_value);
        }
        frac = manual_control_value;
    }
    else if( x->new_distribution ) {
        
        x->new_distribution = 0;

        for(i = 0; i < channel_count; i++){
            splitbank_split( x, last_binsplit, obanks[i]->interleaved_spectrum,
                            N2*i/channel_count, N2*(i+1)/channel_count);
        }
        frac = 0.0;
    }
    else if ( x->interpolation_completed ) {
        for(i = 0; i < channel_count; i++){
            splitbank_split( x, current_binsplit, obanks[i]->interleaved_spectrum,
                            N2*i/channel_count, N2*(i+1)/channel_count);
        }
        frac = 1.0;
    } else {
        frac = (float) counter / (float) countdown_samps;

        for(i = 0; i < channel_count; i++){
            splitbank_spliti( x, obanks[i]->interleaved_spectrum,
                             N2*i/channel_count, N2*(i+1)/channel_count, 1.0 - frac);
        }
        counter += hopsamps;
        if( counter >= countdown_samps )
        {
            counter = countdown_samps;
            x->interpolation_completed = 1;
        }
    }
    for( i = 0; i < n; i++ ){
        sync[i] = frac;
    }
    // copy frequency information to other banks

    for(i = 1; i < channel_count; i++){
        for( j = 1; j < N; j += 2){
            obanks[i]->interleaved_spectrum[j] = obanks[0]->interleaved_spectrum[j];
        }
    }
    
    // SYNTHESIS
    
    for(i = 0; i < channel_count; i++){
        fftease_obank_synthesize( obanks[i] );
        fftease_shiftout( obanks[i], outs[i] );
    }
    x->counter = counter;
    return (w + ((channel_count * 2) + 9));
}


void splitbank_scramble (t_splitbank *x)
{
    int i, j;
    int used;
    
    int max = x->N2;
    int bindex;
    
    int *current_binsplit = x->current_binsplit;
    int *last_binsplit = x->last_binsplit;
    int *bin_tmp = x->bin_tmp;
    
    x->new_distribution = 1;
    x->interpolation_completed = 0;
    
    //  post("scrambling");
    
    // Copy current mapping to last mapping (first time this will be all zeros)
    
    for( i = 0; i < x->N2; i++ ){
        last_binsplit[i] = current_binsplit[i];
    }
    
    
    for( i = 0; i < max; i++ ){
        bin_tmp[i] = i;
    }
    
    used = max;
    
    // This randomly distributes each bin number (to occur once each in a random location)
    
    for( i = 0; i < max; i++ ){
        bindex = rand_index( used );
        current_binsplit[i] = bin_tmp[bindex];
        for(j = bindex; j < used - 1; j++) {
            bin_tmp[j] = bin_tmp[j+1];
        }
        --used;
    }
    x->counter = 0;
    if(! x->countdown_samps ) { // Ramp Off - Immediately set last to current
        for( i = 0; i < x->N2; i++ ){
            last_binsplit[ i ] = current_binsplit[ i ];
        }
    }
}

int rand_index( int max) {
    int rand();
    return ( rand() % max );
}

void splitbank_setstate (t_splitbank *x, t_symbol *msg, short argc, t_atom *argv) {
    short i;
    
    if( argc != x->N2 ){
        error("list must be of length %d, but actually was %d", x->N2, argc);
        return;
    }
    for( i = 0; i < x->N2; i++ ){
        x->last_binsplit[ i ] = x->current_binsplit[ i ];
        x->current_binsplit[ i ] = 0;
    }
    for (i=0; i < argc; i++) {
        x->current_binsplit[i] = atom_getintarg(i, argc, argv );
		
    }
    x->frames_left = x->ramp_frames;
    if(! x->ramp_frames) { // Ramp Off - Immediately set last to current
        for( i = 0; i < x->N2; i++ ){
            x->last_binsplit[ i ] = x->current_binsplit[ i ];
        }
    }
    
    return;
}

void splitbank_ramptime (t_splitbank *x, t_symbol *msg, short argc, t_atom *argv) {
    float rampdur;
	rampdur = atom_getfloatarg(0,argc,argv) * 0.001;
 	x->countdown_samps = rampdur * x->R;
 	x->counter = 0;
    
//    return;
}

// REPORT CURRENT SHUFFLE STATUS
void splitbank_showstate (t_splitbank *x ) {
    
    t_atom *list_data = x->list_data;
    
    short i, count;
    
    count = 0;
    // post("showing %d data points", x->N2);
    
    for( i = 0; i < x->N2; i++ ) {
        SETFLOAT(list_data+count,x->current_binsplit[i]);
        ++count;
    }
    outlet_list(x->list_outlet,0L,x->N2,list_data);
    
    return;
}
/*
void splitbank_float(t_splitbank *x, t_float f) // Look at floats at inlets
{
	int inlet = ((t_pxobject*)x)->z_in;
	int N2 = x->obank1->N2;
	
	// inlet 0 is the first signal inlet
	
	if (inlet == 1)
	{
        x->obank1->pitch_increment = f * x->obank1->table_si;
	}
	else if (inlet == 2)
	{
        x->obank2->pitch_increment = f * x->obank2->table_si;
	}
	else if (inlet == 3)
	{
        x->obank3->pitch_increment = f * x->obank3->table_si;
	}
	else if (inlet == 4)
	{
        x->obank4->pitch_increment = f * x->obank4->table_si;
	}
	else if (inlet == 5)
	{
        x->obank5->pitch_increment = f * x->obank5->table_si;
	}
	else if (inlet == 6)
	{
        x->obank6->pitch_increment = f * x->obank6->table_si;
	}
	else if (inlet == 7)
	{
        x->obank7->pitch_increment = f * x->obank7->table_si;
	}
	else if (inlet == 8)
	{
        x->obank8->pitch_increment = f * x->obank8->table_si;
	}
	else if (inlet == 9)
	{
        x->obank1->synthesis_threshold = f;
        x->obank2->synthesis_threshold = f;
        x->obank3->synthesis_threshold = f;
        x->obank4->synthesis_threshold = f;
        x->obank5->synthesis_threshold = f;
        x->obank6->synthesis_threshold = f;
        x->obank7->synthesis_threshold = f;
        x->obank8->synthesis_threshold = f;
	}
	else if (inlet == 10)
	{
        x->table_offset = (int) (f * N2);
	}
	else if (inlet == 11)
	{
        x->bin_offset = (int) (f * N2);
	}
	else if (inlet == 12)
	{
        x->manual_control_value = f;
	}
}
*/
void splitbank_split(t_splitbank *x, int *binsplit, float *dest_mag, int start, int end )
{
    int i;
    int bindex;
    int n = x->N2;
    float *in_amps = x->in_amps;
    int table_offset = x->table_offset;
    int bin_offset = x->bin_offset;
    
    if( table_offset  < 0 )
        table_offset *= -1;
    if( bin_offset  < 0 )
        bin_offset *= -1;
    
    for( i = start; i < end; i++){
        bindex = binsplit[ (i + table_offset) % n ];
        bindex = ( bindex + bin_offset ) % n;
        dest_mag[ bindex * 2 ] = in_amps[ bindex ]; // putting amps into interleaved spectrum
    }
}


void splitbank_spliti( t_splitbank *x, float *dest_mag, int start, int end, float oldfrac)
{
    int i;
    int bindex;
    int *current_binsplit = x->current_binsplit;
    int *last_binsplit = x->last_binsplit;
    float *current_mag = x->current_mag;
    float *last_mag = x->last_mag;
    float *in_amps = x->in_amps;
    int bin_offset = x->bin_offset;
    int table_offset = x->table_offset;
    int n = x->N2;
    float newfrac;
    float phase;
    
    
    if( oldfrac < 0 )
        oldfrac = 0;
    if( oldfrac > 1.0 )
        oldfrac = 1.0;
 	
    if( x->powerfade ){
        phase = oldfrac * PIOVERTWO;
        oldfrac = sin( phase );
        newfrac = cos( phase );
    } else {
        newfrac = 1.0 - oldfrac;
    }
    
    if( table_offset  < 0 )
        table_offset *= -1;
    if( bin_offset  < 0 )
        bin_offset *= -1;
    
    for( i = 0; i < n; i++ ){
        last_mag[i] = current_mag[i] = 0.0;
    }
    
    for( i = start; i < end; i++ ){
        bindex = current_binsplit[ (i + table_offset) % n ];
        bindex = ( bindex + bin_offset ) % n;
        current_mag[ bindex ] = in_amps[ bindex ];
        
        bindex = last_binsplit[ (i + table_offset) % n ];
        bindex = ( bindex + bin_offset ) % n;
        last_mag[ bindex ] = in_amps[ bindex ];
    }
    for( i = 0; i < n; i++){
        if(! current_mag[i] && ! last_mag[i]){
            dest_mag[i * 2] = 0.0;
        }
        else if( current_mag[i] && last_mag[i]) {
            dest_mag[i * 2] = current_mag[i];
        } else if (  current_mag[i] && ! last_mag[i] ) {
            dest_mag[i * 2] = newfrac * current_mag[i];
        }
        else {
            dest_mag[i * 2] = oldfrac * last_mag[i];
        }
    }
}

void splitbank_dsp(t_splitbank *x, t_signal **sp)
{
    int i;
    int R;
    int lo_freq = 0;
    int hi_freq = 15000;
    int fftsize;
    int overlap = x->overlap;
    t_int **sigvec;
    int pointer_count;
    int channel_count = x->channel_count;
    int vector_size;
    t_oscbank **obanks = x->obanks;
    
    pointer_count = (channel_count * 2) + 8;
    sigvec = (t_int **) malloc(sizeof(t_int *) * pointer_count);
	for(i = 0; i < pointer_count; i++){
		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
	}
	sigvec[0] = (t_int *)x; // first pointer is to the object
	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
		sigvec[i] = (t_int *)sp[i-1]->s_vec;
	}
    
    x->vector_size = vector_size = sp[0]->s_n;
 
    fftsize = vector_size * overlap;
    
//    post("vector size %d, sys vector size: %d",vector_size, sys_getblksize() );
//    post("splitbank~: samples per vector: %d, sys blocksize %d, fftsize %d",
//         sp[0]->s_n, sys_getblksize(), fftsize);
    
    // generate FFT size from x->overlap * x->vector_size
    if( ! sp[0]->s_sr ){
        error("splitbank~: zero sample rate! Perhaps no audio driver is selected.");
        return;
    }
    if(x->initialize || x->R != sys_getsr() || x->vector_size != sp[0]->s_n || x->N != fftsize){
        if( (x->initialize || x->R != sys_getsr()) && (! x->countdown_samps) ){
            x->counter = 0;
            x->countdown_samps = 1.0 * x->R; // 1 second fade time by default
        }
        x->R = sys_getsr();
        R = (int) x->R;
        x->N = fftsize;
        x->N2 = fftsize / 2;
        x->list_data = malloc((x->N + 2) * sizeof(t_atom));
        x->last_binsplit = malloc(x->N2 * sizeof(int));
        x->current_binsplit = malloc(x->N2 * sizeof(int));
        x->bin_tmp = malloc(x->N2 * sizeof(int));
        x->last_mag = malloc(x->N2 * sizeof(float));
        x->current_mag = malloc(x->N2 * sizeof(float));
        x->stored_slots = malloc(x->N2 * sizeof(short));
        x->stored_binsplits = malloc(MAXSTORE * sizeof(int *));
        for( i = 0; i < MAXSTORE; i++ ){
            x->stored_binsplits[i] = malloc(x->N2 * sizeof(int));
        }
        splitbank_scramble( x );
        
        for( i = 0; i < x->N2; i++ ){
            x->last_binsplit[i] = x->current_binsplit[i];
        }
         for(i = 0; i < channel_count; i++){
            fftease_obank_initialize(obanks[i], lo_freq, hi_freq, overlap, R, vector_size,x->N);
        }
        
        x->in_amps = malloc((x->N +2) * sizeof(float));
        x->initialize = 0;
    }
    x->hopsamps = x->N / x->overlap;
    dsp_addv(splitbank_perform, pointer_count, (t_int *) sigvec);
    free(sigvec);
}

////////////////////////////////////////
/**************************************************/
void fftease_obank_destroy( t_oscbank *x )
{
    free(x->Wanal);
    free(x->Wsyn);
    free(x->Hwin);
    free(x->complex_spectrum);
    free(x->interleaved_spectrum);
    free(x->input_buffer);
    free(x->output_buffer);
    free(x->c_lastphase_in);
    free(x->lastamp);
    free(x->lastfreq);
    free(x->index);
    free(x->table);
    free(x->bitshuffle);
    free(x->trigland);
    free(x);
}
/**************************************************/
void fftease_obank_initialize ( t_oscbank *x, float lo_freq, float hi_freq, int overlap,
                               int R, int vector_size, int N)
{
    int i;

    x->overlap = overlap;
    
    //  x = t_getbytes( sizeof(t_oscbank) ); // CRASH!!
    
    x->R = R;
    x->vector_size = vector_size;
    x->N = N;
    x->Nw = x->N;
    x->N2 = (x->N)>>1;
    x->Nw2 = (x->Nw)>>1;
    x->in_count = -(x->Nw);
    x->table_length = OSCBANK_TABLE_LENGTH ;
    // x->topfreq = OSCBANK_DEFAULT_TOPFREQ ;
    
    x->user_lofreq = lo_freq;
    x->user_hifreq = hi_freq;
    
    x->synthesis_threshold = .000001;
    x->table_si = (float) x->table_length/ (float) x->R;
    x->Wanal = (float *) malloc( x->Nw * sizeof(float) );
    x->Wsyn = (float *) malloc( x->Nw * sizeof(float) );
    x->Hwin = (float *) malloc( x->Nw * sizeof(float) );
    x->complex_spectrum = (float *) malloc( x->N * sizeof(float) );
    x->interleaved_spectrum = (float *) malloc( (x->N + 2) * sizeof(float) );
    x->input_buffer = (float *) malloc( x->Nw * sizeof(float) );
    x->output_buffer = (float *) malloc( x->Nw * sizeof(float) );
    x->c_lastphase_in = (float *) malloc( (x->N2+1) * sizeof(float) );
    x->c_lastphase_out = (float *) malloc( (x->N2+1) * sizeof(float) );
    x->lastamp = (float *) malloc( (x->N+1) * sizeof(float) );
    x->lastfreq = (float *) malloc( (x->N+1) * sizeof(float) );
    x->index = (float *) malloc( (x->N+1) * sizeof(float) );
    x->table = (float *) malloc( x->table_length * sizeof(float) );
    x->bitshuffle = (int *) malloc( (x->N * 2) * sizeof( int ) );
    x->trigland = (float *) malloc( (x->N * 2) * sizeof( float ) );
    
    x->mult = 1. / (float) x->N;
    
    for( i = 0; i < x->N2 + 1; i++) {
        x->c_lastphase_in[i] = x->c_lastphase_out[i] = 0.0;
    }
    
    for( i = 0; i < x->N + 1; i++) {
        x->lastamp[i] = x->lastfreq[i] = x->index[i] = 0.0;
    }
    
    for( i = 0; i < x->Nw; i++ ){
        x->input_buffer[i] = x->output_buffer[i] = 0.0;
    }
    
    init_rdft( x->N, x->bitshuffle, x->trigland);
    makehanning( x->Hwin, x->Wanal, x->Wsyn, x->Nw, x->N, x->vector_size, 0);
    
    
    x->c_fundamental =  (float) x->R/(float)x->N ;
    x->c_factor_in =  (float) x->R/((float)x->vector_size * TWOPI);
    x->c_factor_out = 1.0 / x->c_factor_in;
    
    
    
    if( x->user_hifreq < x->c_fundamental ) {
        x->user_hifreq = OSCBANK_DEFAULT_TOPFREQ ;
    }
    
    x->hi_bin = 1;
    x->curfreq = 0;
    while( x->curfreq < x->user_hifreq ) {
        ++(x->hi_bin);
        x->curfreq += x->c_fundamental ;
    }
    
    x->lo_bin = 0;
    x->curfreq = 0;
    while( x->curfreq < x->user_lofreq ) {
        ++(x->lo_bin);
        x->curfreq += x->c_fundamental ;
    }
    
    if( x->hi_bin > x->N2)
        x->hi_bin = x->N2 ;
    
    for ( i = 0; i < x->table_length; i++ ) {
        x->table[i] = (float) x->N * cos(  (float)i * TWOPI / (float)x->table_length );
    }
    
    x->P = 1.0 ;
    x->i_vector_size = 1. / x->vector_size;
    x->pitch_increment = x->P * x->table_length/x->R;
    /*
     post("*** oscbank OO ***");
     post("initialized oscbank!");
     post("synthesizing %d bins", x->hi_bin - x->lo_bin);
     post("FFTsize %d, overlap %d", x->N, x->overlap);
     post("vector size %d, Nw %d", x->vector_size, x->Nw);
     post("*** initialization done! ***");
     */
}
/**************************************************/
void  fftease_obank_topfreq( t_oscbank *x, float topfreq )
{
    if( topfreq < x->c_fundamental ) {
        topfreq = OSCBANK_DEFAULT_TOPFREQ ;
    }
    
    x->hi_bin = 1;
    x->curfreq = 0;
    while( x->curfreq < topfreq ) {
        ++(x->hi_bin);
        x->curfreq += x->c_fundamental ;
    }
    if( x->hi_bin > x->N2)
        x->hi_bin = x->N2 ;
}
/**************************************************/
void  fftease_obank_bottomfreq( t_oscbank *x, float bottomfreq )
{
    
    
    x->lo_bin = 0;
    x->curfreq = 0;
    while( x->curfreq < bottomfreq ) {
        ++(x->lo_bin);
        x->curfreq += x->c_fundamental ;
    }
    
}
/**************************************************/
void  fftease_obank_analyze( t_oscbank *x )
{
    fold( x->input_buffer, x->Wanal, x->Nw, x->complex_spectrum, x->N, x->in_count );
    
    rdft( x->N, 1, x->complex_spectrum, x->bitshuffle, x->trigland );
    
    convert( x->complex_spectrum, x->interleaved_spectrum, x->N2, x->c_lastphase_in,
            x->c_fundamental, x->c_factor_in );
    
}
/**************************************************/
void fftease_shiftin( t_oscbank *x, float *input )
{
    int i;
    int vector_size = x->vector_size;
    int Nw = x->Nw;
    float *input_buffer = x->input_buffer;
    
    for ( i = 0 ; i < (Nw - vector_size) ; i++ ){
        input_buffer[i] = input_buffer[i + vector_size];
    }
    for ( i = (Nw - vector_size) ; i < Nw; i++ ) {
        input_buffer[i] = *input++;
    }
    
}
/**************************************************/
void fftease_shiftout( t_oscbank *x, float *output )
{
    int i;
    int vector_size = x->vector_size;
    int Nw = x->Nw;
    float *output_buffer = x->output_buffer;
    float mult = x->mult;
    
    for ( i = 0; i < vector_size; i++ ){
        *output++ = output_buffer[i] * mult;
    }
    for ( i = 0; i < Nw - vector_size; i++ ){
        output_buffer[i] = output_buffer[i + vector_size];
    }
    for ( i = Nw - vector_size; i < Nw; i++ ){
        output_buffer[i] = 0.;
    }
    
    x->in_count += vector_size;
}
/**************************************************/
void fftease_obank_synthesize( t_oscbank *x )
{
    int amp, chan, freq;
    float    a,ainc,f,finc,address;
    int n;
    
    float synthesis_threshold = x->synthesis_threshold;
    float *lastfreq = x->lastfreq;
    float *lastamp = x->lastamp;
    int table_length = x->table_length;
    float *output_buffer = x->output_buffer;
    int vector_size = x->vector_size;
    float i_vector_size = x->i_vector_size;
    int lo_bin = x->lo_bin;
    int hi_bin = x->hi_bin;
    float *interleaved_spectrum = x->interleaved_spectrum;
    float pitch_increment = x->pitch_increment;
    float *index = x->index;
    float *table = x->table;
    
    for ( chan = lo_bin; chan < hi_bin; chan++ ) {
        
        freq = ( amp = ( chan << 1 ) ) + 1;
        if ( interleaved_spectrum[amp] > synthesis_threshold ){
            interleaved_spectrum[freq] *= pitch_increment;
            finc = ( interleaved_spectrum[freq] - ( f = lastfreq[chan] ) ) * i_vector_size;
            ainc = ( interleaved_spectrum[amp] - ( a = lastamp[chan] ) ) * i_vector_size;
            address = index[chan];
            for ( n = 0; n < vector_size; n++ ) {
                output_buffer[n] += a*table[ (int) address ];
                
                address += f;
                while ( address >= table_length )
                    address -= table_length;
                while ( address < 0 )
                    address += table_length;
                a += ainc;
                f += finc;
            }
            lastfreq[chan] = interleaved_spectrum[freq];
            lastamp[chan] = interleaved_spectrum[amp];
            index[chan] = address;
        }
    }
}
////////////////////////
void init_rdft(int n, int *ip, float *w)
{
    
    int	nw,
	nc;
    
    void	makewt(int nw, int *ip, float *w);
    void	makect(int nc, int *ip, float *c);
    
    nw = n >> 2;
    makewt(nw, ip, w);
    
    nc = n >> 2;
    makect(nc, ip, w + nw);
    
    return;
}


void rdft(int n, int isgn, float *a, int *ip, float *w)
{
    
    int		j,
    nw,
    nc;
    
    float		xi;
    
    void		bitrv2(int n, int *ip, float *a),
    cftsub(int n, float *a, float *w),
    rftsub(int n, float *a, int nc, float *c);
    
    
    nw = ip[0];
    nc = ip[1];
    
    if (isgn < 0) {
        a[1] = 0.5 * (a[1] - a[0]);
        a[0] += a[1];
        
        for (j = 3; j <= n - 1; j += 2) {
            a[j] = -a[j];
        }
        
        if (n > 4) {
            rftsub(n, a, nc, w + nw);
            bitrv2(n, ip + 2, a);
        }
        
        cftsub(n, a, w);
        
        for (j = 1; j <= n - 1; j += 2) {
            a[j] = -a[j];
        }
    }
    
    else {
        
        if (n > 4) {
            bitrv2(n, ip + 2, a);
        }
        
        cftsub(n, a, w);
        
        if (n > 4) {
            rftsub(n, a, nc, w + nw);
        }
        
        xi = a[0] - a[1];
        a[0] += a[1];
        a[1] = xi;
    }
}


void bitrv2(int n, int *ip, float *a)
{
    int j, j1, k, k1, l, m, m2;
    float xr, xi;
    
    ip[0] = 0;
    l = n;
    m = 1;
    
    while ((m << 2) < l) {
        l >>= 1;
        for (j = 0; j <= m - 1; j++) {
            ip[m + j] = ip[j] + l;
        }
        m <<= 1;
    }
    
    if ((m << 2) > l) {
        
        for (k = 1; k <= m - 1; k++) {
            
            for (j = 0; j <= k - 1; j++) {
                j1 = (j << 1) + ip[k];
                k1 = (k << 1) + ip[j];
                xr = a[j1];
                xi = a[j1 + 1];
                a[j1] = a[k1];
                a[j1 + 1] = a[k1 + 1];
                a[k1] = xr;
                a[k1 + 1] = xi;
            }
        }
    }
    
    else {
        m2 = m << 1;
        
        for (k = 1; k <= m - 1; k++) {
            
            for (j = 0; j <= k - 1; j++) {
                j1 = (j << 1) + ip[k];
                k1 = (k << 1) + ip[j];
                xr = a[j1];
                xi = a[j1 + 1];
                a[j1] = a[k1];
                a[j1 + 1] = a[k1 + 1];
                a[k1] = xr;
                a[k1 + 1] = xi;
                j1 += m2;
                k1 += m2;
                xr = a[j1];
                xi = a[j1 + 1];
                a[j1] = a[k1];
                a[j1 + 1] = a[k1 + 1];
                a[k1] = xr;
                a[k1 + 1] = xi;
            }
        }
    }
}


void cftsub(int n, float *a, float *w)
{
    int j, j1, j2, j3, k, k1, ks, l, m;
    float wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
    float x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
    
    l = 2;
    
    while ((l << 1) < n) {
        m = l << 2;
        
        for (j = 0; j <= l - 2; j += 2) {
            j1 = j + l;
            j2 = j1 + l;
            j3 = j2 + l;
            x0r = a[j] + a[j1];
            x0i = a[j + 1] + a[j1 + 1];
            x1r = a[j] - a[j1];
            x1i = a[j + 1] - a[j1 + 1];
            x2r = a[j2] + a[j3];
            x2i = a[j2 + 1] + a[j3 + 1];
            x3r = a[j2] - a[j3];
            x3i = a[j2 + 1] - a[j3 + 1];
            a[j] = x0r + x2r;
            a[j + 1] = x0i + x2i;
            a[j2] = x0r - x2r;
            a[j2 + 1] = x0i - x2i;
            a[j1] = x1r - x3i;
            a[j1 + 1] = x1i + x3r;
            a[j3] = x1r + x3i;
            a[j3 + 1] = x1i - x3r;
        }
        
        if (m < n) {
            wk1r = w[2];
            
            for (j = m; j <= l + m - 2; j += 2) {
                j1 = j + l;
                j2 = j1 + l;
                j3 = j2 + l;
                x0r = a[j] + a[j1];
                x0i = a[j + 1] + a[j1 + 1];
                x1r = a[j] - a[j1];
                x1i = a[j + 1] - a[j1 + 1];
                x2r = a[j2] + a[j3];
                x2i = a[j2 + 1] + a[j3 + 1];
                x3r = a[j2] - a[j3];
                x3i = a[j2 + 1] - a[j3 + 1];
                a[j] = x0r + x2r;
                a[j + 1] = x0i + x2i;
                a[j2] = x2i - x0i;
                a[j2 + 1] = x0r - x2r;
                x0r = x1r - x3i;
                x0i = x1i + x3r;
                a[j1] = wk1r * (x0r - x0i);
                a[j1 + 1] = wk1r * (x0r + x0i);
                x0r = x3i + x1r;
                x0i = x3r - x1i;
                a[j3] = wk1r * (x0i - x0r);
                a[j3 + 1] = wk1r * (x0i + x0r);
            }
            
            k1 = 1;
            ks = -1;
            
            for (k = (m << 1); k <= n - m; k += m) {
                k1++;
                ks = -ks;
                wk1r = w[k1 << 1];
                wk1i = w[(k1 << 1) + 1];
                wk2r = ks * w[k1];
                wk2i = w[k1 + ks];
                wk3r = wk1r - 2 * wk2i * wk1i;
                wk3i = 2 * wk2i * wk1r - wk1i;
                
                for (j = k; j <= l + k - 2; j += 2) {
                    j1 = j + l;
                    j2 = j1 + l;
                    j3 = j2 + l;
                    x0r = a[j] + a[j1];
                    x0i = a[j + 1] + a[j1 + 1];
                    x1r = a[j] - a[j1];
                    x1i = a[j + 1] - a[j1 + 1];
                    x2r = a[j2] + a[j3];
                    x2i = a[j2 + 1] + a[j3 + 1];
                    x3r = a[j2] - a[j3];
                    x3i = a[j2 + 1] - a[j3 + 1];
                    a[j] = x0r + x2r;
                    a[j + 1] = x0i + x2i;
                    x0r -= x2r;
                    x0i -= x2i;
                    a[j2] = wk2r * x0r - wk2i * x0i;
                    a[j2 + 1] = wk2r * x0i + wk2i * x0r;
                    x0r = x1r - x3i;
                    x0i = x1i + x3r;
                    a[j1] = wk1r * x0r - wk1i * x0i;
                    a[j1 + 1] = wk1r * x0i + wk1i * x0r;
                    x0r = x1r + x3i;
                    x0i = x1i - x3r;
                    a[j3] = wk3r * x0r - wk3i * x0i;
                    a[j3 + 1] = wk3r * x0i + wk3i * x0r;
                }
            }
        }
        
        l = m;
    }
    
    if (l < n) {
        
        for (j = 0; j <= l - 2; j += 2) {
            j1 = j + l;
            x0r = a[j] - a[j1];
            x0i = a[j + 1] - a[j1 + 1];
            a[j] += a[j1];
            a[j + 1] += a[j1 + 1];
            a[j1] = x0r;
            a[j1 + 1] = x0i;
        }
    }
}


void rftsub(int n, float *a, int nc, float *c)
{
    int j, k, kk, ks;
    float wkr, wki, xr, xi, yr, yi;
    
    ks = (nc << 2) / n;
    kk = 0;
    
    for (k = (n >> 1) - 2; k >= 2; k -= 2) {
        j = n - k;
        kk += ks;
        wkr = 0.5 - c[kk];
        wki = c[nc - kk];
        xr = a[k] - a[j];
        xi = a[k + 1] + a[j + 1];
        yr = wkr * xr - wki * xi;
        yi = wkr * xi + wki * xr;
        a[k] -= yr;
        a[k + 1] -= yi;
        a[j] += yr;
        a[j + 1] -= yi;
    }
}


void makewt(int nw, int *ip, float *w)
{
    void bitrv2(int n, int *ip, float *a);
    int nwh, j;
    float delta, x, y;
    
    ip[0] = nw;
    ip[1] = 1;
    if (nw > 2) {
        nwh = nw >> 1;
        delta = atan(1.0) / nwh;
        w[0] = 1;
        w[1] = 0;
        w[nwh] = cos(delta * nwh);
        w[nwh + 1] = w[nwh];
        for (j = 2; j <= nwh - 2; j += 2) {
            x = cos(delta * j);
            y = sin(delta * j);
            w[j] = x;
            w[j + 1] = y;
            w[nw - j] = y;
            w[nw - j + 1] = x;
        }
        bitrv2(nw, ip + 2, w);
    }
}


void makect(int nc, int *ip, float *c)
{
    int nch, j;
    float delta;
    
    ip[1] = nc;
    if (nc > 1) {
        nch = nc >> 1;
        delta = atan(1.0) / nch;
        c[0] = 0.5;
        c[nch] = 0.5 * cos(delta * nch);
        for (j = 1; j <= nch - 1; j++) {
            c[j] = 0.5 * cos(delta * j);
            c[nc - j] = 0.5 * sin(delta * j);
        }
    }
}
void convert(float *S, float *C, int N2, float *lastphase, float fundamental, float factor )
{
    float 	phase,
    phasediff;
    int 		real,
    imag,
    amp,
    freq;
    float 	a,
    b;
    int 		i;
    
    /*  float myTWOPI, myPI; */
    /*  double sin(), cos(), atan(), hypot();*/
    
    /*  myTWOPI = 8.*atan(1.);
     myPI = 4.*atan(1.); */
    
    
    for ( i = 0; i <= N2; i++ ) {
        imag = freq = ( real = amp = i<<1 ) + 1;
        a = ( i == N2 ? S[1] : S[real] );
        b = ( i == 0 || i == N2 ? 0. : S[imag] );
        
        C[amp] = hypot( a, b );
        if ( C[amp] == 0. )
            phasediff = 0.;
        else {
            phasediff = ( phase = -atan2( b, a ) ) - lastphase[i];
            lastphase[i] = phase;
            
            while ( phasediff > PI )
                phasediff -= TWOPI;
            while ( phasediff < -PI )
                phasediff += TWOPI;
        }
        C[freq] = phasediff*factor + i*fundamental;
    }
}

\ No newline at end of file
diff --git a/externals/lyonpotpourri/splitspec~-help.pd b/externals/lyonpotpourri/splitspec~-help.pd
new file mode 100755
index 000000000..d20dec413
--- /dev/null
+++ b/externals/lyonpotpourri/splitspec~-help.pd
@@ -0,0 +1,396 @@
+#N canvas 323 22 903 531 10;
+#X obj 34 134 noise~;
+#N canvas 68 56 1321 800 splitspec-rfft 0;
+#X obj 33 76 inlet~;
+#X obj 34 461 outlet~;
+#X obj 33 108 windowvec~;
+#X obj 33 146 rfft~, f 6;
+#X obj 34 531 block~ 1024 8;
+#X obj 33 181 cartopol~;
+#X obj 34 335 poltocar~;
+#X obj 34 365 rifft~;
+#X obj 34 428 windowvec~;
+#X obj 34 395 *~ 0;
+#X obj 1107 163 *;
+#X msg 1059 85 1 1024 8;
+#X obj 1059 116 unpack f f f;
+#X obj 1059 195 /;
+#X floatatom 1059 227 12 0 0 0 - - -, f 12;
+#X text 962 228 rescale factor;
+#X obj 1059 54 loadbang;
+#X obj 1058 256 s \$0-rescale;
+#X obj 68 385 r \$0-rescale;
+#X obj 161 469 outlet~;
+#X obj 161 343 poltocar~;
+#X obj 161 373 rifft~;
+#X obj 161 436 windowvec~;
+#X obj 161 403 *~ 0;
+#X obj 195 393 r \$0-rescale;
+#X obj 280 469 outlet~;
+#X obj 280 343 poltocar~;
+#X obj 280 373 rifft~;
+#X obj 280 436 windowvec~;
+#X obj 280 403 *~ 0;
+#X obj 314 393 r \$0-rescale;
+#X obj 407 477 outlet~;
+#X obj 407 351 poltocar~;
+#X obj 407 381 rifft~;
+#X obj 407 444 windowvec~;
+#X obj 407 411 *~ 0;
+#X obj 441 401 r \$0-rescale;
+#X obj 537 479 outlet~;
+#X obj 537 353 poltocar~;
+#X obj 537 383 rifft~;
+#X obj 537 446 windowvec~;
+#X obj 537 413 *~ 0;
+#X obj 571 403 r \$0-rescale;
+#X obj 664 487 outlet~;
+#X obj 664 361 poltocar~;
+#X obj 664 391 rifft~;
+#X obj 664 454 windowvec~;
+#X obj 664 421 *~ 0;
+#X obj 698 411 r \$0-rescale;
+#X obj 783 487 outlet~;
+#X obj 783 361 poltocar~;
+#X obj 783 391 rifft~;
+#X obj 783 454 windowvec~;
+#X obj 783 421 *~ 0;
+#X obj 817 411 r \$0-rescale;
+#X obj 910 495 outlet~;
+#X obj 910 369 poltocar~;
+#X obj 910 399 rifft~;
+#X obj 910 462 windowvec~;
+#X obj 910 429 *~ 0;
+#X obj 944 419 r \$0-rescale;
+#X obj 198 73 inlet;
+#X obj 501 100 inlet;
+#X obj 562 100 inlet;
+#X obj 626 98 inlet;
+#X obj 1335 1235 outlet;
+#X obj 1082 337 outlet;
+#X obj 35 282 splitspec~ 8, f 159;
+#X text 124 531 determines FFT size of 1024 with overlap factor 8;
+#X msg 1066 382 set \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12
+\$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20 \$21 \$22 \$23 \$24 \$25 \$26
+\$27 \$28 \$29 \$30 \$31 \$32 \$33 \$34 \$35 \$36 \$37 \$38 \$39 \$40
+\$41 \$42 \$43 \$44 \$45 \$46 \$47 \$48 \$49 \$50 \$51 \$52 \$53 \$54
+\$55 \$56 \$57 \$58 \$59 \$60 \$61 \$62 \$63 \$64 \$65 \$66 \$67 \$68
+\$69 \$70 \$71 \$72 \$73 \$74 \$75 \$76 \$77 \$78 \$79 \$80 \$81 \$82
+\$83 \$84 \$85 \$86 \$87 \$88 \$89 \$90 \$91 \$92 \$93 \$94 \$95 \$96
+\$97 \$98 \$99 \$100 \$101 \$102 \$103 \$104 \$105 \$106 \$107 \$108
+\$109 \$110 \$111 \$112 \$113 \$114 \$115 \$116 \$117 \$118 \$119 \$120
+\$121 \$122 \$123 \$124 \$125 \$126 \$127 \$128 \$129 \$130 \$131 \$132
+\$133 \$134 \$135 \$136 \$137 \$138 \$139 \$140 \$141 \$142 \$143 \$144
+\$145 \$146 \$147 \$148 \$149 \$150 \$151 \$152 \$153 \$154 \$155 \$156
+\$157 \$158 \$159 \$160 \$161 \$162 \$163 \$164 \$165 \$166 \$167 \$168
+\$169 \$170 \$171 \$172 \$173 \$174 \$175 \$176 \$177 \$178 \$179 \$180
+\$181 \$182 \$183 \$184 \$185 \$186 \$187 \$188 \$189 \$190 \$191 \$192
+\$193 \$194 \$195 \$196 \$197 \$198 \$199 \$200 \$201 \$202 \$203 \$204
+\$205 \$206 \$207 \$208 \$209 \$210 \$211 \$212 \$213 \$214 \$215 \$216
+\$217 \$218 \$219 \$220 \$221 \$222 \$223 \$224 \$225 \$226 \$227 \$228
+\$229 \$230 \$231 \$232 \$233 \$234 \$235 \$236 \$237 \$238 \$239 \$240
+\$241 \$242 \$243 \$244 \$245 \$246 \$247 \$248 \$249 \$250 \$251 \$252
+\$253 \$254 \$255 \$256 \$257 \$258 \$259 \$260 \$261 \$262 \$263 \$264
+\$265 \$266 \$267 \$268 \$269 \$270 \$271 \$272 \$273 \$274 \$275 \$276
+\$277 \$278 \$279 \$280 \$281 \$282 \$283 \$284 \$285 \$286 \$287 \$288
+\$289 \$290 \$291 \$292 \$293 \$294 \$295 \$296 \$297 \$298 \$299 \$300
+\$301 \$302 \$303 \$304 \$305 \$306 \$307 \$308 \$309 \$310 \$311 \$312
+\$313 \$314 \$315 \$316 \$317 \$318 \$319 \$320 \$321 \$322 \$323 \$324
+\$325 \$326 \$327 \$328 \$329 \$330 \$331 \$332 \$333 \$334 \$335 \$336
+\$337 \$338 \$339 \$340 \$341 \$342 \$343 \$344 \$345 \$346 \$347 \$348
+\$349 \$350 \$351 \$352 \$353 \$354 \$355 \$356 \$357 \$358 \$359 \$360
+\$361 \$362 \$363 \$364 \$365 \$366 \$367 \$368 \$369 \$370 \$371 \$372
+\$373 \$374 \$375 \$376 \$377 \$378 \$379 \$380 \$381 \$382 \$383 \$384
+\$385 \$386 \$387 \$388 \$389 \$390 \$391 \$392 \$393 \$394 \$395 \$396
+\$397 \$398 \$399 \$400 \$401 \$402 \$403 \$404 \$405 \$406 \$407 \$408
+\$409 \$410 \$411 \$412 \$413 \$414 \$415 \$416 \$417 \$418 \$419 \$420
+\$421 \$422 \$423 \$424 \$425 \$426 \$427 \$428 \$429 \$430 \$431 \$432
+\$433 \$434 \$435 \$436 \$437 \$438 \$439 \$440 \$441 \$442 \$443 \$444
+\$445 \$446 \$447 \$448 \$449 \$450 \$451 \$452 \$453 \$454 \$455 \$456
+\$457 \$458 \$459 \$460 \$461 \$462 \$463 \$464 \$465 \$466 \$467 \$468
+\$469 \$470 \$471 \$472 \$473 \$474 \$475 \$476 \$477 \$478 \$479 \$480
+\$481 \$482 \$483 \$484 \$485 \$486 \$487 \$488 \$489 \$490 \$491 \$492
+\$493 \$494 \$495 \$496 \$497 \$498 \$499 \$500 \$501 \$502 \$503 \$504
+\$505 \$506 \$507 \$508 \$509 \$510 \$511, f 45;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 5 0 67 0;
+#X connect 5 1 67 1;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 10 0;
+#X connect 12 2 10 1;
+#X connect 13 0 14 0;
+#X connect 14 0 17 0;
+#X connect 16 0 11 0;
+#X connect 18 0 9 1;
+#X connect 20 0 21 0;
+#X connect 20 1 21 1;
+#X connect 21 0 23 0;
+#X connect 22 0 19 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 1;
+#X connect 26 0 27 0;
+#X connect 26 1 27 1;
+#X connect 27 0 29 0;
+#X connect 28 0 25 0;
+#X connect 29 0 28 0;
+#X connect 30 0 29 1;
+#X connect 32 0 33 0;
+#X connect 32 1 33 1;
+#X connect 33 0 35 0;
+#X connect 34 0 31 0;
+#X connect 35 0 34 0;
+#X connect 36 0 35 1;
+#X connect 38 0 39 0;
+#X connect 38 1 39 1;
+#X connect 39 0 41 0;
+#X connect 40 0 37 0;
+#X connect 41 0 40 0;
+#X connect 42 0 41 1;
+#X connect 44 0 45 0;
+#X connect 44 1 45 1;
+#X connect 45 0 47 0;
+#X connect 46 0 43 0;
+#X connect 47 0 46 0;
+#X connect 48 0 47 1;
+#X connect 50 0 51 0;
+#X connect 50 1 51 1;
+#X connect 51 0 53 0;
+#X connect 52 0 49 0;
+#X connect 53 0 52 0;
+#X connect 54 0 53 1;
+#X connect 56 0 57 0;
+#X connect 56 1 57 1;
+#X connect 57 0 59 0;
+#X connect 58 0 55 0;
+#X connect 59 0 58 0;
+#X connect 60 0 59 1;
+#X connect 61 0 67 0;
+#X connect 62 0 67 2;
+#X connect 63 0 67 3;
+#X connect 64 0 67 4;
+#X connect 67 0 6 0;
+#X connect 67 1 6 1;
+#X connect 67 2 20 0;
+#X connect 67 3 20 1;
+#X connect 67 4 26 0;
+#X connect 67 5 26 1;
+#X connect 67 6 32 0;
+#X connect 67 7 32 1;
+#X connect 67 8 38 0;
+#X connect 67 9 38 1;
+#X connect 67 10 44 0;
+#X connect 67 11 44 1;
+#X connect 67 12 50 0;
+#X connect 67 13 50 1;
+#X connect 67 14 56 0;
+#X connect 67 15 56 1;
+#X connect 67 16 69 0;
+#X connect 67 17 66 0;
+#X connect 69 0 65 0;
+#X restore 34 164 pd splitspec-rfft;
+#X obj 720 115 hsl 128 15 0 1 0 0 empty empty manual_override_controller
+-2 -8 0 10 -204786 -1 -1 0 1;
+#X obj 362 111 hsl 128 15 0 1 0 0 empty empty table_offset -2 -8 0
+10 -204786 -1 -1 0 1;
+#X obj 525 112 hsl 128 15 0 1 0 0 empty empty bin_offset -2 -8 0 10
+-204786 -1 -1 0 1;
+#X obj 108 124 r splitspec-help-msgs;
+#N canvas 197 462 750 354 messages 0;
+#X msg 322 119 scramble;
+#X obj 440 85 metro 5000;
+#X obj 440 51 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 44 180 spiral;
+#X obj 395 154 loadbang;
+#X msg 395 183 ramptime 5000;
+#X msg 527 243 manual_override \$1;
+#X obj 527 205 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 461 45 use for constantly changing spectra;
+#X msg 222 113 bypass \$1;
+#X obj 222 87 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 337 302 s splitspec-help-msgs;
+#X text 545 206 slider control of x-fade amount;
+#X text 245 86 turn off spectral splitting;
+#X text 490 176 interpolation time in ms.;
+#X text 91 175 spiral configuration;
+#X text 27 27 break into contiguous blocks of spectrum (power of 2
+only);
+#X msg 30 55 squantize 7;
+#X text 381 120 scramble bin assignments;
+#X connect 0 0 11 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 7 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 9 0;
+#X connect 17 0 11 0;
+#X restore 34 381 pd messages;
+#X msg 114 381 <- how it works;
+#X floatatom 34 457 5 0 0.25 0 - - -, f 5;
+#X obj 37 432 hsl 128 15 0 2 0 0 empty empty gain -2 -8 0 10 -204800
+-1 -1 1900 1;
+#X obj 34 485 s splitspec-help-mgain;
+#N canvas 0 22 1204 446 gain8 0;
+#X obj 36 44 inlet~;
+#X obj 36 106 outlet~;
+#X obj 36 76 *~;
+#X obj 79 44 r splitspec-help-mgain;
+#X obj 223 44 inlet~;
+#X obj 223 106 outlet~;
+#X obj 223 76 *~;
+#X obj 266 44 r splitspec-help-mgain;
+#X obj 409 44 inlet~;
+#X obj 409 106 outlet~;
+#X obj 409 76 *~;
+#X obj 452 44 r splitspec-help-mgain;
+#X obj 596 44 inlet~;
+#X obj 596 106 outlet~;
+#X obj 596 76 *~;
+#X obj 639 44 r splitspec-help-mgain;
+#X obj 781 44 inlet~;
+#X obj 781 106 outlet~;
+#X obj 781 76 *~;
+#X obj 824 44 r splitspec-help-mgain;
+#X obj 968 44 inlet~;
+#X obj 968 106 outlet~;
+#X obj 968 76 *~;
+#X obj 1011 44 r splitspec-help-mgain;
+#X obj 1154 44 inlet~;
+#X obj 1154 106 outlet~;
+#X obj 1154 76 *~;
+#X obj 1197 44 r splitspec-help-mgain;
+#X obj 1341 44 inlet~;
+#X obj 1341 106 outlet~;
+#X obj 1341 76 *~;
+#X obj 1384 44 r splitspec-help-mgain, f 35;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 1;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 1;
+#X connect 8 0 10 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 1;
+#X connect 12 0 14 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 1;
+#X connect 16 0 18 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 1;
+#X connect 20 0 22 0;
+#X connect 22 0 21 0;
+#X connect 23 0 22 1;
+#X connect 24 0 26 0;
+#X connect 26 0 25 0;
+#X connect 27 0 26 1;
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X connect 31 0 30 1;
+#X restore 34 222 pd gain8;
+#X floatatom 433 230 5 0 0 0 sync-phase - -, f 5;
+#N canvas 244 54 590 399 storage 0;
+#X obj 191 298 s splitspec-help-msgs;
+#X msg 85 125 store \$1;
+#X msg 80 82 1;
+#X msg 119 79 2;
+#X msg 159 80 3;
+#X msg 202 178 recall \$1;
+#X msg 212 133 1;
+#X msg 251 130 2;
+#X msg 291 131 3;
+#X text 247 55 store and then recall bin configuration patterns;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X restore 201 431 pd storage;
+#X obj 28 12 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 27 50 splitspec~ - divides a spectrum into N separate parts
+(N must be a power of 2 \, less than the FFT size) \, which can then
+be spatialized. Smooth transitions between spectral divisions are provided.
+, f 105;
+#X text 271 430 <- save configurations;
+#N canvas 0 22 450 300 current-bin-configuration 0;
+#X obj 124 56 inlet;
+#X msg 123 105 344 165 79 39 487 386 236 27 213 462 284 439 293 160
+1 173 201 242 130 144 417 274 372 119 179 332 270 24 290 348 203 111
+176 492 271 420 187 312 13 224 300 100 258 246 60 158 327 508 46 477
+345 279 45 136 97 51 351 225 159 161 147 499 260 223 425 506 470 373
+63 357 197 62 421 194 114 503 272 278 207 32 189 44 422 387 354 367
+219 59 353 375 167 306 511 440 449 50 464 450 495 340 168 253 301 57
+58 346 479 65 445 259 443 23 143 155 127 286 389 472 388 364 198 264
+292 22 295 285 240 177 399 328 314 31 403 384 329 505 333 82 442 321
+231 126 113 476 56 359 303 99 311 336 238 378 496 254 228 202 204 72
+317 125 437 133 396 444 134 391 428 86 8 243 460 80 42 256 393 195
+115 371 108 182 129 41 95 172 16 356 413 435 360 392 395 283 252 17
+49 211 19 199 233 335 501 459 451 482 36 419 310 424 221 307 475 116
+85 426 394 247 276 96 215 347 510 70 137 488 153 71 467 26 474 416
+73 257 458 78 145 380 226 304 163 491 25 191 415 282 54 318 77 87 309
+152 33 298 407 208 232 162 411 269 216 47 409 365 322 418 452 402 432
+148 343 326 463 188 457 2 28 98 447 109 214 83 489 112 414 193 493
+206 75 190 69 7 21 61 140 131 12 196 52 498 5 308 366 43 406 149 230
+92 478 3 456 29 281 355 209 106 4 423 81 484 461 88 118 299 368 169
+102 40 323 363 504 485 164 483 123 239 138 481 150 277 234 170 241
+291 383 379 34 267 382 174 358 64 280 132 507 48 350 181 494 268 124
+139 429 408 180 324 9 370 398 210 453 465 401 294 468 319 142 369 427
+251 38 89 53 55 471 227 390 220 473 249 412 405 266 128 454 30 157
+446 330 84 117 212 93 37 448 433 305 341 74 222 287 217 15 244 146
+349 35 381 338 337 385 186 6 185 110 122 331 11 289 175 288 361 245
+397 184 250 265 18 362 120 68 66 192 316 229 235 248 273 325 455 237
+377 490 297 502 91 486 218 410 497 441 438 313 94 10 302 20 436 339
+103 261 90 104 342 320 76 434 480 135 0 430 101 296 151 334 509 262
+469 107 275 263 315 404 205 178 352 121 141 156 67 183 14 166 171 200
+255 374 105 500 400 154 431 466;
+#X msg 176 27 showstate;
+#X obj 176 55 s splitspec-help-msgs;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
+#X restore 547 214 pd current-bin-configuration;
+#X obj 34 348 dac~ 1 2 3 4 5 6 7 8, f 35;
+#X connect 0 0 1 0;
+#X connect 1 0 11 0;
+#X connect 1 1 11 1;
+#X connect 1 2 11 2;
+#X connect 1 3 11 3;
+#X connect 1 4 11 4;
+#X connect 1 5 11 5;
+#X connect 1 6 11 6;
+#X connect 1 7 11 7;
+#X connect 1 8 12 0;
+#X connect 1 9 17 0;
+#X connect 2 0 1 4;
+#X connect 3 0 1 2;
+#X connect 4 0 1 3;
+#X connect 5 0 1 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 11 0 18 0;
+#X connect 11 1 18 1;
+#X connect 11 2 18 2;
+#X connect 11 3 18 3;
+#X connect 11 4 18 4;
+#X connect 11 5 18 5;
+#X connect 11 6 18 6;
+#X connect 11 7 18 7;
diff --git a/externals/lyonpotpourri/splitspec~.c b/externals/lyonpotpourri/splitspec~.c
new file mode 100755
index 000000000..e88ca3e2f
--- /dev/null
+++ b/externals/lyonpotpourri/splitspec~.c
@@ -0,0 +1,722 @@
+#include "MSPd.h"
+
+#define MAXSTORE (128)
+#define OBJECT_NAME "splitspec~"
+
+/* Pd version of splitspec~ */
+
+static t_class *splitspec_class;
+
+typedef struct _splitspec
+{
+    t_object x_obj;
+    t_float x_f;
+    int N;
+    int N2;
+    void *list_outlet;
+    void *phase_outlet;
+    t_atom *list_data;
+    // Avoid buffer sharing overwrites with local copies
+    t_float *inmag_loc;
+    t_float *inphase_loc;
+    t_float *t_offset_loc;
+    t_float *b_offset_loc;
+    t_float *manual_control_loc;
+    float frame_duration;
+    int table_offset;
+    int bin_offset;
+    float *last_mag;
+    float *current_mag;
+    int *last_binsplit;
+    int *current_binsplit;
+    int **stored_binsplits;
+    short *stored_slots;
+    short new_distribution;
+    short interpolation_completed;
+    short bypass;
+    short initialize;
+    int manual_override;
+    long countdown_samps; // samps for a given fadetime
+    long counter;
+    int overlap_factor; // compensate for overlap in fade
+    float sr;
+    float fl_phase; // show phase as float
+    int hopsamps; // number of samples to hop
+    int channel_count; // number of channels to split
+    t_clock *phase_clock;
+    t_float **magvecs;// connect to mag input vectors
+    t_float **phasevecs;// point to phase input vectors
+} t_splitspec;
+
+void *splitspec_new(t_symbol *s, int argc, t_atom *argv);
+t_int *offset_perform(t_int *w);
+t_int *splitspec_perform(t_int *w);
+void splitspec_dsp(t_splitspec *x, t_signal **sp);
+void splitspec_showstate( t_splitspec *x );
+void splitspec_bypass( t_splitspec *x, t_floatarg toggle);
+void splitspec_manual_override( t_splitspec *x, t_floatarg toggle );
+void splitspec_setstate (t_splitspec *x, t_symbol *msg, int argc, t_atom *argv);
+void splitspec_ramptime (t_splitspec *x, t_symbol *msg, int argc, t_atom *argv);
+int rand_index( int max);
+void splitspec_scramble (t_splitspec *x);
+void splitspec_spiral(t_splitspec *x);
+void splitspec_squantize(t_splitspec *x, t_floatarg blockbins);
+void splitspec_overlap( t_splitspec *x, t_floatarg factor);
+
+void splitspec_store( t_splitspec *x, t_floatarg floc);
+void splitspec_recall( t_splitspec *x, t_floatarg floc);
+void splitspeci( int *current_binsplit, int *last_binsplit, int bin_offset, int table_offset,
+                float *current_mag, float *last_mag, float *inmag, float *dest_mag, int start, int end, int n,
+                float oldfrac, float newfrac );
+void splitspec( int *binsplit, int bin_offset, int table_offset,
+               float *inmag, float *dest_mag, int start, int end, int n );
+
+void splitspec_dsp_free( t_splitspec *x );
+
+void splitspec_phaseout(t_splitspec *x);
+int splitspec_closestPowerOfTwo(int p);
+void splitspec_tilde_setup(void){
+   splitspec_class = class_new(gensym("splitspec~"), (t_newmethod)splitspec_new,
+                                (t_method)splitspec_dsp_free, sizeof(t_splitspec),0,A_GIMME,0);
+    
+    /* splitspec_class = class_new(gensym("splitspec~"), (t_newmethod)splitspec_new,
+                                0, sizeof(t_splitspec),0,A_GIMME,0); */
+	CLASS_MAINSIGNALIN(splitspec_class, t_splitspec, x_f);
+    class_addmethod(splitspec_class, (t_method)splitspec_dsp, gensym("dsp"),0);
+    class_addmethod(splitspec_class, (t_method)splitspec_showstate, gensym("showstate"),0);
+    class_addmethod(splitspec_class, (t_method)splitspec_scramble, gensym("scramble"),0);
+    class_addmethod(splitspec_class, (t_method)splitspec_spiral, gensym("spiral"),0);
+    class_addmethod(splitspec_class, (t_method)splitspec_squantize, gensym("squantize"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_manual_override, gensym("manual_override"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_bypass, gensym("bypass"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_store, gensym("store"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_recall, gensym("recall"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_overlap, gensym("overlap"),A_FLOAT,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_setstate, gensym("setstate"),A_GIMME,0);
+    class_addmethod(splitspec_class, (t_method)splitspec_ramptime, gensym("ramptime"),A_GIMME,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void splitspec_phaseout(t_splitspec *x)
+{
+    outlet_float(x->phase_outlet, x->fl_phase);
+}
+
+void splitspec_overlap( t_splitspec *x, t_floatarg fol )
+{
+    int overlap = (int)fol;
+	if( overlap < 2 ){
+		post("splitspec~: illegal overlap %d",overlap);
+	}
+	x->overlap_factor = overlap;
+}
+
+void splitspec_spiral(t_splitspec *x)
+{
+    int i,j,k;
+    int offset;
+
+    int channel_count = x->channel_count;
+    int *current_binsplit = x->current_binsplit;
+    int *last_binsplit = x->last_binsplit;
+    
+    int N2 = x->N2;
+    
+    offset = N2 / channel_count;
+    
+    x->new_distribution = 1;
+    x->interpolation_completed = 0;
+    for( i = 0; i < N2; i++ ){
+        last_binsplit[i] = current_binsplit[i];
+    }
+    k = 0;
+    for( i = 0; i < N2 / channel_count; i++){
+        for(j = 0; j < channel_count; j++){
+            current_binsplit[i + (j * offset)] = k++;
+        }
+    }
+    if(! x->counter) { // Ramp Off - Immediately set last to current
+        for( i = 0; i < N2; i++ ){
+            last_binsplit[ i ] = current_binsplit[ i ];
+        }
+    }
+}
+
+void splitspec_squantize(t_splitspec *x, t_floatarg bb)
+{
+    int i, j, k;
+    
+    int maxblock;
+    int iterations;
+    int bincount = 0;
+    int *current_binsplit = x->current_binsplit;
+    int *last_binsplit = x->last_binsplit;
+    int blockbins = (int) bb;
+    int N2 = x->N2;
+    int channel_count = x->channel_count;
+    blockbins = splitspec_closestPowerOfTwo( blockbins );
+    maxblock = N2 / channel_count;
+    if( blockbins < 1 || blockbins > maxblock ){
+        error("%d is out of bounds - must be between 1 and %d", blockbins, maxblock);
+        return;
+    }
+    
+    iterations = N2 /  channel_count /  blockbins;
+    x->new_distribution = 1;
+    x->interpolation_completed = 0;
+    
+    
+    for( i = 0; i < N2; i++ ){
+        last_binsplit[i] = current_binsplit[i];
+    }
+    
+    if( iterations == 1 ){
+        for( i = 0; i < N2 ; i++ ){
+            current_binsplit[i] = i;
+        }
+    }
+    else {
+        for( k = 0; k < iterations; k++ ) {
+            for( i = 0; i < N2; i += maxblock  ){
+                for( j = 0; j < blockbins; j++ ){
+                    if( i + j + k * blockbins < N2 ){
+                        current_binsplit[i + j + k * blockbins] = bincount++;
+                        // post("assigning %d to position %d", bincount-1, i+j+k*blockbins);
+                    } else {
+                        // error("%d out of range", i + j + k * blockbins);
+                    }
+                }
+            }
+        }
+    }
+    
+    
+//    x->frames_left = x->ramp_frames;
+    if(! x->counter) { // Ramp Off - Immediately set last to current
+        for( i = 0; i < N2; i++ ){
+            last_binsplit[ i ] = current_binsplit[ i ];
+        }
+    }
+}
+
+void splitspec_bypass( t_splitspec *x, t_floatarg toggle )
+{
+    x->bypass = (int)toggle;
+}
+
+void splitspec_manual_override( t_splitspec *x, t_floatarg toggle )
+{
+    x->manual_override = (int) toggle;
+}
+
+void splitspec_dsp_free( t_splitspec *x ){
+    int i;
+    if(x->initialize == 0){
+        free(x->list_data);
+        free(x->last_binsplit);
+        free(x->current_binsplit);
+        free(x->last_mag);
+        free(x->current_mag);
+        free(x->stored_slots);
+        for(i = 0; i < MAXSTORE; i++){
+            free(x->stored_binsplits[i]);
+        }
+        free(x->stored_binsplits);
+        free(x->inmag_loc);
+        free(x->inphase_loc);
+        free(x->t_offset_loc);
+        free(x->b_offset_loc);
+        free(x->manual_control_loc);
+        free(x->magvecs);
+        free(x->phasevecs);
+    }
+}
+
+void splitspeci( int *current_binsplit, int *last_binsplit, int bin_offset, int table_offset,
+                float *current_mag, float *last_mag, float *inmag, float *dest_mag, int start, int end, int n,
+                float oldfrac, float newfrac )
+{
+    int i;
+    int bindex;
+    
+    for( i = 0; i < n; i++ ){
+        last_mag[i] = current_mag[i] = 0.0;
+    }
+    for( i = start; i < end; i++ ){
+        bindex = current_binsplit[ (i + table_offset) % n ];
+        bindex = ( bindex + bin_offset ) % n;
+        current_mag[ bindex ] = inmag[ bindex ];
+        bindex = last_binsplit[ (i + table_offset) % n ];
+        bindex = ( bindex + bin_offset ) % n;
+        last_mag[ bindex ] = inmag[ bindex ];
+    }
+    for( i = 0; i < n; i++){
+        if(! current_mag[i] && ! last_mag[i]){
+            dest_mag[i] = 0.0;
+        } else {
+            dest_mag[i] = oldfrac * last_mag[i] + newfrac * current_mag[i];
+        }
+    }
+    
+}
+
+void splitspec( int *binsplit, int bin_offset, int table_offset,
+               float *inmag, float *dest_mag, int start, int end, int n )
+{
+    int i;
+    int bindex;
+    // n is actually N2
+    for( i = start; i < end; i++){
+        bindex = binsplit[ (i + table_offset) % n ];
+        bindex = ( bindex + bin_offset ) % n;
+        dest_mag[ bindex ] = inmag[ bindex ];
+    }
+}
+
+
+void splitspec_store( t_splitspec *x, t_floatarg floc)
+{
+    int **stored_binsplits = x->stored_binsplits;
+    int *current_binsplit = x->current_binsplit;
+    short *stored_slots = x->stored_slots;
+    int location = (int)floc;
+    int i;
+    
+    if( location < 0 || location > MAXSTORE - 1 ){
+        error("location must be between 0 and %d, but was %d", MAXSTORE, location);
+        return;
+    }
+    for(i = 0; i < x->N2; i++ ){
+        stored_binsplits[location][i] = current_binsplit[i];
+    }
+    stored_slots[location] = 1;
+    
+//    post("stored bin split at location %d", location);
+}
+
+void splitspec_recall( t_splitspec *x, t_floatarg floc)
+{
+    int **stored_binsplits = x->stored_binsplits;
+    int *current_binsplit = x->current_binsplit;
+    int *last_binsplit = x->last_binsplit;
+    short *stored_slots = x->stored_slots;
+    int i;
+    int location = (int)floc;
+    if( location < 0 || location > MAXSTORE - 1 ){
+        error("location must be between 0 and %d, but was %d", MAXSTORE, location);
+        return;
+    }
+    if( ! stored_slots[location] ){
+        error("nothing stored at location %d", location);
+        return;
+    }
+    
+    for(i = 0; i < x->N2; i++ ){
+        last_binsplit[i] = current_binsplit[i];
+        current_binsplit[i] = stored_binsplits[location][i];
+    }
+    
+    x->new_distribution = 1;
+    x->interpolation_completed = 0;
+ //   x->frames_left = x->ramp_frames;
+    if(! x->counter) { // Ramp Off - Immediately set last to current
+        for( i = 0; i < x->N2; i++ ){
+            x->last_binsplit[ i ] = x->current_binsplit[ i ];
+        }
+    }
+}
+
+void *splitspec_new(t_symbol *s, int argc, t_atom *argv)
+{
+    int i;
+    t_splitspec *x = (t_splitspec *)pd_new(splitspec_class);
+    
+    // x->channel_count = 8; // hard wire just for now
+    x->channel_count = (int) atom_getfloatarg(0, argc, argv);
+    x->channel_count = splitspec_closestPowerOfTwo( x->channel_count );
+    // post("Channel count is: %d", x->channel_count);
+    srand( time( 0 ) );
+    
+    for(i=0; i < 4; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("signal"),gensym("signal"));
+    }
+    for(i=0; i < x->channel_count * 2; i++){
+        outlet_new(&x->x_obj, gensym("signal"));
+    }
+    x->list_outlet = (t_outlet *) outlet_new(&x->x_obj, gensym("list")); // to report random distribution
+    x->phase_outlet = (t_outlet *) outlet_new((t_object *)x, &s_float);
+    x->phase_clock = (t_clock *) clock_new((void *)x, (t_method)splitspec_phaseout);
+    x->bypass = 0;
+    x->table_offset = 0;
+    x->bin_offset = 0;
+    
+    x->sr = sys_getsr();
+ 	x->counter = 0;
+    x->overlap_factor = 8; // default
+    
+	x->countdown_samps = 1.0 * x->sr; // 1 second fade time by default
+    
+    x->initialize = 1;
+    x->manual_override = 0;
+    
+    x->inmag_loc = (t_float *) calloc(8192,sizeof(t_float));
+    x->inphase_loc = (t_float *) calloc(8192,sizeof(t_float));
+    x->t_offset_loc = (t_float *) calloc(8192,sizeof(t_float));
+    x->b_offset_loc = (t_float *) calloc(8192,sizeof(t_float));
+    x->manual_control_loc = (t_float *) calloc(8192,sizeof(t_float));
+    x->magvecs = (t_float **) malloc(x->channel_count * sizeof(t_float *));
+    x->phasevecs = (t_float **) malloc(x->channel_count * sizeof(t_float *));
+    return x;
+}
+
+int splitspec_closestPowerOfTwo(int p){
+    int base = 2;
+    while(base < p){
+        base *= 2;
+    }
+    return base;
+}
+
+t_int *splitspec_perform(t_int *w)
+{
+	
+    int i, j;
+
+    t_splitspec *x = (t_splitspec *) (w[1]);
+    int channel_count = x->channel_count;
+    
+    float *inmag = (t_float *)(w[2]);
+    float *inphase = (t_float *)(w[3]);
+    float *t_offset = (t_float *)(w[4]);
+    float *b_offset = (t_float *)(w[5]);
+    float *manual_control = (t_float *)(w[6]);
+
+    t_float **magvecs = x->magvecs;
+    t_float **phasevecs = x->phasevecs;
+    int n = (int) w[7 + (channel_count * 2)];
+    
+    int table_offset = x->table_offset;
+    int bin_offset = x->bin_offset;
+    
+    int *current_binsplit = x->current_binsplit;
+    int *last_binsplit = x->last_binsplit;
+    float *last_mag = x->last_mag;
+    float *current_mag = x->current_mag;
+    long counter = x->counter;
+    long countdown_samps = x->countdown_samps;
+    float frac, oldgain, newgain;
+    t_float *inmag_loc = x->inmag_loc;
+    t_float *inphase_loc = x->inphase_loc;
+    t_float *t_offset_loc = x->t_offset_loc;
+    t_float *b_offset_loc = x->b_offset_loc;
+    t_float *manual_control_loc = x->manual_control_loc;
+    int next_ptr = 8 + (channel_count * 2);
+    int hopsamps = x->hopsamps;
+    int N2 = x->N2;
+    /****/
+    
+    // copy inputs to local buffers
+    
+    for(i = 0; i < n; i++){
+        inmag_loc[i] = inmag[i];
+        inphase_loc[i] = inphase[i];
+        t_offset_loc[i] = t_offset[i];
+        b_offset_loc[i] = b_offset[i];
+        manual_control_loc[i] = manual_control[i];
+    }
+    
+    // assign local vector pointers
+    for(i = 0, j= 0; i < channel_count * 2; i+=2, j++){
+        magvecs[j] = (t_float *) w[ 7 + i ];
+        phasevecs[j] = (t_float *) w[ 8 + i ];
+    }
+    
+    table_offset = *t_offset_loc * n;
+    bin_offset = *b_offset_loc * n;
+    
+    if( table_offset  < 0 )
+        table_offset *= -1;
+    if( bin_offset  < 0 )
+        bin_offset *= -1;
+  	
+    
+    // n == fftsize / 2 (N2)
+    // n is the number of "bins", and is also the number of values in each signal vector
+    
+    if( x->bypass ){
+        for( i = 0; i < n; i++){
+            for(j = 0; j < channel_count; j++){
+                magvecs[j][i] = inmag_loc[i] * 0.5;;
+                phasevecs[j][i] = inphase_loc[i];
+            }
+        }
+        return (w + next_ptr);
+    }
+    
+    // ZERO OUT MAGNITUDES AND COPY PHASES TO OUTPUT
+    for( i = 0; i < n; i++ ){
+        for(j = 0; j < channel_count; j++){
+            magvecs[j][i] = 0.0;
+            phasevecs[j][i] = inphase_loc[i];
+        }
+    }
+    
+    // Special case of live control over interpolation
+    if( x->manual_override ){
+        
+        // do interpolation
+        frac = *manual_control_loc;
+        // sanity check here
+        if( frac < 0 ) { frac = 0; }
+        if( frac >1.0 ){ frac = 1.0; }
+        oldgain = cos( frac * PIOVERTWO );
+        newgain = sin( frac * PIOVERTWO );
+        
+        for(j = 0; j < channel_count; j++){
+            splitspeci( current_binsplit, last_binsplit, bin_offset, table_offset,
+                       current_mag, last_mag, inmag_loc, magvecs[j],
+                       N2*j/channel_count, N2*(j+1)/channel_count, N2, oldgain, newgain );
+        }
+        return (w + next_ptr);
+    }
+    
+    // Normal operation
+    if( x->new_distribution ){
+        x->new_distribution = 0;
+        // put out contents of last distribution
+        for(j = 0; j < channel_count; j++){
+            splitspec(last_binsplit, bin_offset, table_offset, inmag_loc, magvecs[j],
+                      N2*j/channel_count, N2*(j+1)/channel_count, N2);
+        }
+        frac = 0.0;
+        
+    } else if ( x->interpolation_completed ) {
+        // put out contents of current distribution
+        for(j = 0; j < channel_count; j++){
+            splitspec(current_binsplit, bin_offset, table_offset, inmag_loc, magvecs[j],
+                      N2*j/channel_count, N2*(j+1)/channel_count, N2);
+        }
+        frac = 1.0;
+    } else {
+        // do interpolation
+        frac = (float) counter / (float) countdown_samps;
+        oldgain = cos( frac * PIOVERTWO );
+        newgain = sin( frac * PIOVERTWO );
+        for(j = 0; j < channel_count; j++){
+            splitspeci( current_binsplit, last_binsplit, bin_offset, table_offset,
+                       current_mag, last_mag, inmag_loc, magvecs[j],
+                       N2*j/channel_count, N2*(j+1)/channel_count, N2, oldgain, newgain );
+        }
+        // end of interpolation
+        
+        counter += hopsamps;
+        if( counter >= countdown_samps )
+        {
+            counter = countdown_samps;
+            x->interpolation_completed = 1;
+        }
+    }
+    
+    x->fl_phase = frac;
+    clock_delay(x->phase_clock,0.0); // send current phase to float outlet
+    x->counter = counter;
+    return (w + next_ptr);
+}
+
+
+void splitspec_scramble (t_splitspec *x)
+{
+    int i;
+    
+    int max = x->N2;
+    int swapi, tmp;
+    int N2 = x->N2;
+    int *current_binsplit = x->current_binsplit;
+    int *last_binsplit = x->last_binsplit;
+    
+    x->new_distribution = 1;
+    x->interpolation_completed = 0;
+
+    // Copy current mapping to last mapping (first time this will be all zeros)
+    
+    for( i = 0; i < x->N2; i++ ){
+        last_binsplit[i] = current_binsplit[i];
+    }
+
+    for( i = 0; i < N2; i++ ){
+        current_binsplit[i] = i;
+    }
+    max = N2;
+    for(i = 0; i < N2; i++){
+        swapi = rand() % max;
+        tmp = current_binsplit[swapi];
+        current_binsplit[swapi] = current_binsplit[max - 1];
+        current_binsplit[max - 1] = tmp;
+        --max;
+    }
+    /*
+    for(i = 0; i < N2; i++){
+        post("i: %d, dex: %d", i, current_binsplit[i]);
+    }
+   */
+    x->counter = 0;
+    if(! x->countdown_samps ) { // Ramp Off - Immediately set last to current
+        for( i = 0; i < x->N2; i++ ){
+            last_binsplit[ i ] = current_binsplit[ i ];
+        }
+    }
+}
+
+
+void splitspec_setstate (t_splitspec *x, t_symbol *msg, int argc, t_atom *argv) {
+    short i;
+    
+    if( argc != x->N2 ){
+        error("list must be of length %d, but actually was %d", x->N2, argc);
+        return;
+    }
+    for( i = 0; i < x->N2; i++ ){
+        x->last_binsplit[ i ] = x->current_binsplit[ i ];
+        x->current_binsplit[ i ] = 0;
+    }
+    for (i=0; i < argc; i++) {
+        x->current_binsplit[i] = atom_getintarg(i, argc, argv );
+		
+    }
+   // x->frames_left = x->ramp_frames;
+    if(!x->counter) { // Ramp Off - Immediately set last to current
+        for( i = 0; i < x->N2; i++ ){
+            x->last_binsplit[ i ] = x->current_binsplit[ i ];
+        }
+    }
+    
+    return;
+}
+
+void splitspec_ramptime (t_splitspec *x, t_symbol *msg, int argc, t_atom *argv) {
+    float rampdur;
+    
+ 	rampdur = atom_getfloatarg(0,argc,argv) * 0.001; // convert from milliseconds
+ 	x->countdown_samps = rampdur * x->sr;
+ 	x->counter = 0;
+    //  post("countdown samps :%d", x->countdown_samps  );
+}
+
+// REPORT CURRENT SHUFFLE STATUS
+void splitspec_showstate (t_splitspec *x ) {
+    
+    t_atom *list_data = x->list_data;
+    
+    short i, count;
+    
+    count = 0;
+    // post("showing %d data points", x->N2);
+    
+    if(! x->initialize){
+        for( i = 0; i < x->N2; i++ ) {
+            SETFLOAT(list_data+count,(float)x->current_binsplit[i]);
+            ++count;
+        }
+        outlet_list(x->list_outlet,0,x->N2,list_data);
+    }
+    return;
+}
+
+void splitspec_dsp(t_splitspec *x, t_signal **sp)
+{
+    int i;
+    float R, funda;
+    int vector_size;
+    t_int **sigvec;
+    int pointer_count;
+    vector_size = sys_getblksize();
+    
+    pointer_count = (x->channel_count * 2) + 7;
+    sigvec = (t_int **) malloc(sizeof(t_int *) * pointer_count);
+	for(i = 0; i < pointer_count; i++){
+		sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+	}
+	sigvec[0] = (t_int *)x; // first pointer is to the object
+	sigvec[pointer_count - 1] = (t_int *)sp[0]->s_n; // last pointer is to vector size (N)
+	for(i = 1; i < pointer_count - 1; i++){ // now attach the inlet and all outlets
+		sigvec[i] = (t_int *)sp[i-1]->s_vec;
+	}
+    
+    /*
+     
+     FFT size (N) == vector size. (Pd only. Max has a different approach.)
+     There is one vector with the magnitudes, and another with the phases, each of size .
+     Therefore N2+2 (or the vector size/2  + 1) is the actual number of bins.
+     Therefore N2/split is the number of bins assigned to each splitted channel.
+     
+     */
+    // post("vector size %d, sys vector size: %d",vector_size, sys_getblksize() );
+    // post("splitspec: samples per vector: %d, sys blocksize %d", sp[0]->s_n, sys_getblksize());
+    if( ! sp[0]->s_sr ){
+        error("splitspec~: zero sample rate!");
+        return;
+    }
+	
+    
+    if( x->initialize || x->sr != sys_getsr() || x->N != sp[0]->s_n){
+        
+        x->sr = sys_getsr();
+        x->N = sp[0]->s_n;
+        x->N2 = sp[0]->s_n / 2;
+ //       post("FFT size is %d, N2 is %d",x->N, x->N2);
+        R = sys_getsr();
+//        post("sampling rate: %f, vector thinks it is: %f", sys_getsr(), sp[0]->s_sr);
+        funda = R / (2. * (float) x->N) ;
+        
+        if(x->initialize){
+            x->list_data = (t_atom *) calloc((x->N + 2),sizeof(t_atom));
+            x->last_binsplit = (int *) calloc( x->N2,sizeof(int));
+            x->current_binsplit = (int *) calloc( x->N2,sizeof(int));
+            x->last_mag = (float *) calloc(x->N2,sizeof(float)) ;
+            x->current_mag = (float *) calloc(x->N2,sizeof(float)) ;
+            x->stored_slots = (short *) calloc(x->N2,sizeof(short));
+            x->stored_binsplits = (int **) calloc(MAXSTORE,sizeof(int *));
+            for( i = 0; i < MAXSTORE; i++ ){
+                x->stored_binsplits[i] = (int *)calloc(x->N2,sizeof(int));
+            }
+        } else {
+            x->list_data = (t_atom *) realloc((void *)x->list_data,(x->N + 2) * sizeof(t_atom));
+            x->last_binsplit = (int *) realloc((void *)x->last_binsplit,x->N2 * sizeof(int));
+            x->current_binsplit = (int *) realloc((void *)x->current_binsplit,x->N2 * sizeof(int));
+            x->last_mag = (float *) realloc((void *)x->last_mag,x->N2 * sizeof(float));
+            x->current_mag = (float *) realloc((void *)x->current_mag,x->N2 * sizeof(float));
+            x->stored_slots = (short *) realloc((void *)x->stored_slots,x->N2 * sizeof(short));
+            for( i = 0; i < MAXSTORE; i++ ){
+                x->stored_binsplits[i] = (int *) realloc((void *)x->stored_binsplits[i],x->N2 * sizeof(int));
+            }
+            for(i = 0; i < x->N2; i++){
+                x->last_mag[i] = 0.0;
+                x->current_mag[i] = 0.0;
+                x->current_binsplit[i] = i;
+                x->last_binsplit[i] = i;
+            }
+        }
+        
+        x->frame_duration = (float) sp[0]->s_n / sp[0]->s_sr;
+        
+        splitspec_scramble( x );
+        for( i = 0; i < x->N2; i++ ){
+            x->last_binsplit[i] = x->current_binsplit[i];
+        }
+        
+        x->initialize = 0;
+        x->counter = 0;
+    }
+    
+    if(vector_size == 0) {
+        // post("zero vector size!");
+        return;
+    } else {
+        x->hopsamps = x->N / x->overlap_factor;
+//        post("hop samps: %d, overlap: %d", x->hopsamps, x->overlap_factor);
+    }
+    dsp_addv(splitspec_perform, pointer_count, (t_int *) sigvec);
+    free(sigvec);
+}
+
+
diff --git a/externals/lyonpotpourri/squash~-help.pd b/externals/lyonpotpourri/squash~-help.pd
new file mode 100755
index 000000000..f56091d1b
--- /dev/null
+++ b/externals/lyonpotpourri/squash~-help.pd
@@ -0,0 +1,85 @@
+#N canvas 670 336 409 359 10;
+#X obj 20 229 squash~;
+#X obj 14 14 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#N canvas 565 63 450 300 taps 0;
+#X obj 43 111 noise~;
+#X obj 118 79 metro 1000;
+#X msg 118 56 1;
+#X obj 118 33 loadbang;
+#X obj 168 201 line~;
+#X obj 63 226 *~;
+#X obj 63 260 outlet~;
+#X msg 118 155 1;
+#X msg 209 176 0.05 50;
+#X msg 271 176 0.01 900;
+#X msg 340 177 0 50;
+#X obj 209 149 delay 1;
+#X obj 271 149 delay 50;
+#X obj 339 149 delay 900;
+#X connect 0 0 5 0;
+#X connect 1 0 7 0;
+#X connect 1 0 11 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 1;
+#X connect 5 0 6 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 0;
+#X connect 9 0 4 0;
+#X connect 10 0 4 0;
+#X connect 11 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X connect 12 0 13 0;
+#X connect 13 0 10 0;
+#X restore 20 170 pd taps;
+#X obj 20 273 *~ 0.1;
+#X obj 20 308 dac~;
+#X floatatom 59 253 5 0 0 0 - squash-gain -, f 5;
+#X obj 66 308 hsl 128 15 0 0.1 0 0 squash-gain empty gain -2 -8 0 10
+-261682 -1 -1 4400 1;
+#X obj 49 196 r squash.messages;
+#N canvas 741 67 448 403 squash-controls 0;
+#X obj 31 130 s squash.messages;
+#X msg 31 106 ratio \$1;
+#X obj 34 62 hsl 128 15 0.5 1 0 0 empty empty ratio -2 -8 0 10 -204786
+-1 -1 0 1;
+#X floatatom 31 86 5 0 0 0 - - -, f 5;
+#X obj 29 234 s squash.messages;
+#X obj 32 166 hsl 128 15 0 0.001 0 0 empty empty noise_threshold -2
+-8 0 10 -204786 -1 -1 0 1;
+#X floatatom 29 190 7 0 0 0 - - -, f 7;
+#X msg 29 210 nt \$1;
+#X text 171 165 set noise floor;
+#X obj 28 347 s squash.messages;
+#X obj 31 279 hsl 128 15 0 1 0 0 empty empty compression_threshold
+-2 -8 0 10 -204786 -1 -1 1000 1;
+#X floatatom 28 303 7 0 0 0 - - -, f 7;
+#X msg 28 323 thresh \$1;
+#X text 170 278 set compression threshold;
+#X text 29 18 lower ratio values give higher compression \, values
+greater than 1 result in expansion.;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X restore 111 243 pd squash-controls;
+#X text 16 50 squash~ is based on a compression algorithm by Christopher
+Penrose. It can be useful for extreme effects \, and is notable for
+employing the overlap-add system found in FFTease externals \, though
+all processing is done in the time domain here. This processor is capable
+of generating extreme amplitude ranges. Use with caution \, with a
+low playback gain \, and do not use this external in performance until
+you are very familiar with its operation.;
+#X connect 0 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 5 0 3 1;
+#X connect 7 0 0 0;
diff --git a/externals/lyonpotpourri/squash~.c b/externals/lyonpotpourri/squash~.c
new file mode 100755
index 000000000..0719eadb6
--- /dev/null
+++ b/externals/lyonpotpourri/squash~.c
@@ -0,0 +1,437 @@
+#include "MSPd.h"
+
+
+#define OBJECT_NAME "squash~"
+
+/* Pd version of squash~ */
+
+static t_class *squash_class;
+
+
+typedef struct _squash
+{
+
+	t_object x_obj;
+	t_float x_f;
+	int D;
+	int N;
+	int Nw;
+	int N2;
+	int incnt;
+	int outcnt;
+	float *Wanal;
+	float *Wsyn;
+	float *Hwin;
+	float *buffer;
+	float *input;
+	float *output;
+	float thresh;
+	float ratio;
+	float nt;
+	float nmult;
+	short mute;
+} t_squash;
+
+
+float boundrand(float min, float max);
+void *squash_new(t_symbol *msg, short argc, t_atom *argv);
+void squash_mute(t_squash *x, t_floatarg toggle);
+void squash_assist (t_squash *x, void *b, long msg, long arg, char *dst);
+void squash_dsp_free(t_squash *x);
+double squash_squat( float *buffer, float thresh, float ratio, float nt, float nmult, int N );
+void squash_mute(t_squash *x, t_floatarg f);
+void squash_thresh(t_squash *x, t_floatarg f);
+void squash_nt(t_squash *x, t_floatarg f);
+void squash_ratio(t_squash *x, t_floatarg f);
+void squash_nmult(t_squash *x, t_floatarg f);
+void squash_mute(t_squash *x, t_floatarg f);
+void squash_free(t_squash *x);
+void squash_dsp(t_squash *x, t_signal **sp);
+void overlapadd( float *I, int N, float *W, float *O, int Nw, int n );
+void makehanning( float *H, float *A, float *S, int Nw, int N, int I, int odd );
+void makehamming( float *H, float *A, float *S, int Nw, int N, int I, int odd );
+void fold( float *I, float *W, int Nw, float *O, int N, int n );
+void makewindows( float *H, float *A, float *S, int Nw, int N, int I );
+/*
+void squash_perform64(t_squash *x, t_object *dsp64, double **ins, 
+                      long numins, double **outs,long numouts, long n,
+                      long flags, void *userparam);
+void squash_dsp64(t_squash *x, t_object *dsp64, short *count, double sr, long n, long flags);
+*/
+/*
+int main(void)
+{
+	t_class *c;
+	c = class_new("el.squash~", (method)squash_new, (method)squash_free, sizeof(t_squash), 0,A_GIMME,0);
+	
+    class_addmethod(c, (method)squash_dsp64, "dsp64", A_CANT, 0);
+	class_addmethod(c, (method)squash_assist,"assist",A_CANT,0);
+	class_addmethod(c,(method)squash_thresh, "thresh", A_FLOAT,  0);
+	class_addmethod(c,(method)squash_nt, "nt", A_FLOAT,  0);
+	class_addmethod(c,(method)squash_nmult, "nmult", A_FLOAT,  0);
+	class_addmethod(c,(method)squash_ratio, "ratio", A_FLOAT,  0);
+	class_addmethod(c,(method)squash_mute, "mute", A_FLOAT,  0);
+	class_register(CLASS_BOX, c);
+	squash_class = c;
+	
+	potpourri_announce(OBJECT_NAME);
+	return 0;
+}
+*/
+
+void squash_tilde_setup(void){
+    squash_class = class_new(gensym("squash~"), (t_newmethod)squash_new,
+                          (t_method)squash_free, sizeof(t_squash),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(squash_class, t_squash, x_f);
+    class_addmethod(squash_class, (t_method)squash_dsp, gensym("dsp"),0);
+	class_addmethod(squash_class,(t_method)squash_thresh, gensym("thresh"), A_FLOAT,  0);
+	class_addmethod(squash_class,(t_method)squash_nt, gensym("nt"), A_FLOAT,  0);
+	class_addmethod(squash_class,(t_method)squash_nmult, gensym("nmult"), A_FLOAT,  0);
+	class_addmethod(squash_class,(t_method)squash_ratio, gensym("ratio"), A_FLOAT,  0);
+	class_addmethod(squash_class,(t_method)squash_mute, gensym("mute"), A_FLOAT,  0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+void *squash_new(t_symbol *msg, short argc, t_atom *argv)
+{
+    
+    t_squash *x = (t_squash *)pd_new(squash_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+	
+	x->D = sys_getblksize();
+	x->N = x->D * 4;
+	x->Nw = x->N;
+	x->N2 = x->N / 2;
+	x->incnt = - x->Nw;
+	x->Wanal = (float *) calloc(x->Nw,sizeof(float));
+	x->Wsyn = (float *) calloc(x->Nw, sizeof(float));
+	x->Hwin = (float *) calloc(x->Nw, sizeof(float));
+	x->input = (float *) calloc(x->Nw, sizeof(float));
+	x->output = (float *) calloc(x->Nw, sizeof(float));
+	x->buffer = (float *) calloc(x->N, sizeof(float));
+	makehanning(x->Hwin, x->Wanal, x->Wsyn, x->Nw, x->N, x->D, 0);
+	x->thresh = 0.1;
+	x->ratio = 1.;
+	x->nt = .0000001;
+	x->nmult = 0.1;
+	x->mute = 0;
+    return x;
+}
+
+
+void squash_free(t_squash *x)
+{
+    free(x->Wanal);
+    free(x->Wsyn);
+    free(x->Hwin);
+    free(x->input);
+    free(x->output);
+    free(x->buffer);
+}
+
+void makewindows( float *H, float *A, float *S, int Nw, int N, int I )
+
+{
+	int i ;
+	float sum ;
+	
+    for ( i = 0 ; i < Nw ; i++ )
+		H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ) ;
+	
+    if ( Nw > N ) {
+		float x ;
+		
+		x = -(Nw - 1)/2. ;
+		for ( i = 0 ; i < Nw ; i++, x += 1. )
+			if ( x != 0. ) {
+				A[i] *= N*sin( PI*x/N )/(PI*x) ;
+				if ( I )
+					S[i] *= I*sin( PI*x/I )/(PI*x) ;
+			}
+    }
+	
+    for ( sum = i = 0 ; i < Nw ; i++ )
+		sum += A[i] ;
+	
+    for ( i = 0 ; i < Nw ; i++ ) {
+		float afac = 2./sum ;
+		float sfac = Nw > N ? 1./afac : afac ;
+		A[i] *= afac ;
+		S[i] *= sfac ;
+    }
+	
+    if ( Nw <= N && I ) {
+		for ( sum = i = 0 ; i < Nw ; i += I )
+			sum += S[i]*S[i] ;
+		for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+			S[i] *= sum ;
+    }
+}
+
+
+
+
+void makehamming( float *H, float *A, float *S, int Nw, int N, int I, int odd )
+
+{
+	int i;
+	float sum ;
+	
+	
+	
+	if (odd) {
+		for ( i = 0 ; i < Nw ; i++ )
+			H[i] = A[i] = S[i] = sqrt(0.54 - 0.46*cos( TWOPI*i/(Nw - 1) ));
+	}
+	
+	else {
+		
+		for ( i = 0 ; i < Nw ; i++ )
+			H[i] = A[i] = S[i] = 0.54 - 0.46*cos( TWOPI*i/(Nw - 1) );
+		
+	}
+ 	
+    if ( Nw > N ) {
+		float x ;
+		
+		x = -(Nw - 1)/2. ;
+		for ( i = 0 ; i < Nw ; i++, x += 1. )
+			if ( x != 0. ) {
+				A[i] *= N*sin( PI*x/N )/(PI*x) ;
+				if ( I )
+					S[i] *= I*sin( PI*x/I )/(PI*x) ;
+			}
+    }
+    for ( sum = i = 0 ; i < Nw ; i++ )
+		sum += A[i] ;
+	
+    for ( i = 0 ; i < Nw ; i++ ) {
+		float afac = 2./sum ;
+		float sfac = Nw > N ? 1./afac : afac ;
+		A[i] *= afac ;
+		S[i] *= sfac ;
+    }
+	
+    if ( Nw <= N && I ) {
+		for ( sum = i = 0 ; i < Nw ; i += I )
+			sum += S[i]*S[i] ;
+		for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+			S[i] *= sum ;
+    }
+}
+
+
+
+void makehanning( float *H, float *A, float *S, int Nw, int N, int I, int odd )
+{
+	int i;
+	float sum ;
+	
+	
+	if (odd) {
+		for ( i = 0 ; i < Nw ; i++ )
+			H[i] = A[i] = S[i] = sqrt(0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1))));
+	}
+	
+	else {
+		
+		for ( i = 0 ; i < Nw ; i++ )
+			H[i] = A[i] = S[i] = 0.5 * (1. + cos(PI + TWOPI * i / (Nw - 1)));
+		
+	}
+ 	
+    if ( Nw > N ) {
+		float x ;
+		
+		x = -(Nw - 1)/2. ;
+		for ( i = 0 ; i < Nw ; i++, x += 1. )
+			if ( x != 0. ) {
+				A[i] *= N*sin( PI*x/N )/(PI*x) ;
+				if ( I )
+					S[i] *= I*sin( PI*x/I )/(PI*x) ;
+			}
+    }
+    for ( sum = i = 0 ; i < Nw ; i++ )
+		sum += A[i] ;
+	
+    for ( i = 0 ; i < Nw ; i++ ) {
+		float afac = 2./sum ;
+		float sfac = Nw > N ? 1./afac : afac ;
+		A[i] *= afac ;
+		S[i] *= sfac ;
+    }
+	
+    if ( Nw <= N && I ) {
+		for ( sum = i = 0 ; i < Nw ; i += I )
+			sum += S[i]*S[i] ;
+		for ( sum = 1./sum, i = 0 ; i < Nw ; i++ )
+			S[i] *= sum ;
+    }
+}
+
+void fold( float *I, float *W, int Nw, float *O, int N, int n )
+
+{
+	
+    int i;
+	
+    for ( i = 0; i < N; i++ )
+		O[i] = 0.;
+	
+    while ( n < 0 )
+      	n += N;
+    n %= N;
+    for ( i = 0; i < Nw; i++ ) {
+		O[n] += I[i]*W[i];
+      	if ( ++n == N )
+			n = 0;
+    }
+}
+
+void overlapadd( float *I, int N, float *W, float *O, int Nw, int n )
+
+{
+	int i ;
+    while ( n < 0 )
+		n += N ;
+    n %= N ;
+    for ( i = 0 ; i < Nw ; i++ ) {
+		O[i] += I[n]*W[i] ;
+		if ( ++n == N )
+			n = 0 ;
+    }
+}
+
+
+void squash_mute(t_squash *x, t_floatarg f){
+  x->mute = (short)f;
+}
+
+void squash_thresh(t_squash *x, t_floatarg f){
+  x->thresh = (float)f;
+}
+
+void squash_nt(t_squash *x, t_floatarg f){
+  x->nt = (float)f;
+}
+
+void squash_ratio(t_squash *x, t_floatarg f){
+  x->ratio = (float)f;
+}
+
+void squash_nmult(t_squash *x, t_floatarg f){
+  x->nmult = (float)f;
+}
+
+t_int *squash_perform(t_int *w)
+{
+	t_squash *x = (t_squash *) (w[1]);
+	float *in = (t_float *)(w[2]);
+	float *out = (t_float *)(w[3]);
+	int n = (int) w[4];
+	
+	int j;
+	float *input = x->input;
+	float *output = x->output;
+	int D = x->D;
+	int Nw = x->Nw;
+	int N = x->N;
+	float *buffer = x->buffer;
+	float *Wanal = x->Wanal;
+	float *Wsyn = x->Wsyn;	
+	float thresh = x->thresh;
+	float ratio = x->ratio;
+	float nt = x->nt;
+	float nmult = x->nmult;
+	
+	if(x->mute){
+		memset((void *)out, 0, n * sizeof(float) );
+		return w + 5;
+	}
+	
+	x->incnt += D;
+	
+    for ( j = 0 ; j < Nw - D ; j++ )
+		input[j] = input[j+D];
+	
+    for ( j = Nw-D; j < Nw; j++ ) {
+		input[j] = *in++;
+    }
+	fold( input, Wanal, Nw, buffer, N, x->incnt );
+	squash_squat( buffer, thresh, ratio, nt, nmult, Nw );
+	overlapadd( buffer, N, Wsyn, output, Nw, x->incnt );
+	
+    for ( j = 0; j < D; j++ )
+      *out++ = output[j];
+
+    for ( j = 0; j < Nw - D; j++ )
+      output[j] = output[j+D];
+			
+    for ( j = Nw - D; j < Nw; j++ )
+      output[j] = 0.;	
+
+	x->incnt = x->incnt % Nw;
+	return w + 5;
+}
+
+/*
+void squash_dsp64(t_squash *x, t_object *dsp64, short *count, double sr, long n, long flags)
+{
+    if(!sr)
+        return;
+    if(n != x->D ){
+        x->D = n;
+        error("squash~: blocksize change not implemented yet!");
+    }
+
+    object_method(dsp64, gensym("dsp_add64"),x,squash_perform64,0,NULL);
+}
+*/
+
+void squash_dsp(t_squash *x, t_signal **sp)
+{
+    if(sp[0]->s_n != x->D ){
+        x->D = sp[0]->s_n;
+        error("blocksize change not implemented yet!");
+    } else {
+        dsp_add(squash_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+    }
+}
+
+#define DIAG 0
+
+/*  compression/expansion routine! */ 
+	
+double squash_squat( float *buffer, float thresh, float ratio, float nt, float nmult, int N )
+{
+  register int		i;
+  double 		rms = 0.;
+  float		dbthr;
+  register float 	mult;
+
+    dbthr = 10. * log10(thresh);
+
+
+  for ( i=0; i < N; i++ )
+    rms += ( *(buffer+i) * *(buffer+i) );
+
+  rms = sqrt(rms/(float)N);
+  if (rms < nt && ratio < 1.)
+    mult = nmult;
+  else
+    mult = pow( 10., (( dbthr - (( dbthr - (10. * log10(rms)) ) * ratio) ) / 10.) ) / rms;
+
+  if (DIAG) {
+    if (rms <= thresh)
+      fprintf(stderr,"below  dbthr: %f  dbrms: %f rms: %f  mult: %f\n", dbthr, (10. * log10(rms)), rms, mult);
+    else
+      fprintf(stderr,"above  dbthr: %f  dbrms: %f rms: %f  mult: %f\n", dbthr, (10. * log10(rms)), rms, mult);
+  }
+
+  for ( i=0; i < N; i++ )
+    *(buffer+i) *= mult;
+
+  return rms;
+}
+
+
diff --git a/externals/lyonpotpourri/stutter~-help.pd b/externals/lyonpotpourri/stutter~-help.pd
new file mode 100755
index 000000000..aacd4e093
--- /dev/null
+++ b/externals/lyonpotpourri/stutter~-help.pd
@@ -0,0 +1,124 @@
+#N canvas 173 944 422 326 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array sound1 62079 float 2;
+#X coords 0 1 62079 -1 100 70 1;
+#X restore 19 101 graph;
+#X obj 27 278 dac~;
+#N canvas 1642 1031 502 352 messages 0;
+#X obj 22 122 s stutter.messages;
+#X text 20 15 extrema for echo count;
+#X text 23 148 extrema for loop duration;
+#N canvas 586 175 450 300 pattern-storage 0;
+#X obj 29 46 s stutter.messages;
+#X msg 29 13 show_loop;
+#X text 118 15 print current loop;
+#X text 169 83 setloop (start sample \, sample duration);
+#X obj 26 113 s stutter.messages;
+#X msg 26 79 set_loop 6951 3000;
+#X obj 30 187 s stutter.messages;
+#X msg 30 153 store_loop 1;
+#X obj 25 249 s stutter.messages;
+#X msg 25 215 recall_loop 1;
+#X text 128 213 recall loop 1;
+#X text 127 154 store current loop in location 1;
+#X text 25 277 you can store up to 1024 different loops in locations
+0-1023;
+#X connect 1 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 6 0;
+#X connect 9 0 8 0;
+#X restore 313 149 pd pattern-storage;
+#X obj 43 257 s stutter.messages;
+#X obj 43 199 unpack f f;
+#X msg 45 172 90 40;
+#X msg 108 172 1000 200;
+#X msg 43 226 max_looptime \$1;
+#X msg 172 226 min_looptime \$1;
+#X text 176 173 order: max \, min;
+#X obj 320 112 s stutter.messages;
+#X msg 320 55 lockme \$1;
+#X obj 320 27 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#N canvas 564 177 450 300 refinements 0;
+#X obj 43 257 s stutter.messages;
+#X msg 93 232 taper 5;
+#X msg 43 200 taper 50;
+#X text 111 199 softer envelope;
+#X text 153 235 harder envelope;
+#X text 44 183 taper duration in ms.;
+#X obj 30 101 s stutter.messages;
+#X msg 30 75 randomize_dur \$1;
+#X floatatom 30 51 5 0 0 0 - - -, f 5;
+#X obj 33 26 hsl 128 15 0 0.2 0 0 empty empty empty -2 -8 0 10 -129795
+-1 -1 0 1;
+#X obj 193 104 s stutter.messages;
+#X floatatom 193 54 5 0 0 0 - - -, f 5;
+#X obj 196 29 hsl 128 15 0 0.2 0 0 empty empty empty -2 -8 0 10 -129795
+-1 -1 0 1;
+#X msg 193 77 randomize_start \$1;
+#X text 25 7 random loop deviations;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 13 0 10 0;
+#X restore 313 179 pd refinements;
+#X msg 328 76 new_loop;
+#X text 340 29 lock current loop;
+#X text 392 76 force new;
+#X msg 22 58 minmax_echo 2 4;
+#X msg 75 87 minmax_echo 5 20;
+#X msg 190 89 minmax_echo 1 2;
+#X msg 153 38 min_echo 1;
+#X msg 172 61 max_echo 2;
+#X connect 5 0 8 0;
+#X connect 5 1 9 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 4 0;
+#X connect 9 0 4 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 15 0 11 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X restore 131 126 pd messages;
+#X text 126 100 use a fairly long and varied sound here;
+#N canvas 9 465 466 316 load-soundfile 0;
+#X obj 31 177 soundfiler;
+#X msg 30 103 bang;
+#X obj 30 129 openpanel;
+#X msg 30 151 read -resize \$1 sound1;
+#X obj 11 57 loadbang;
+#X obj 105 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 10 82 read -resize examples/voice.wav sound1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X restore 129 82 pd load-soundfile;
+#X obj 27 253 *~ 0.1;
+#X obj 88 252 hsl 100 14 0 0.5 0 0 stutter.demo.gain empty empty -2
+-8 0 10 -174016 -1 -1 8400 1;
+#X obj 5 10 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 218 127 <- open this for more info;
+#X text 194 254 set master gain;
+#X floatatom 66 232 5 0 0 0 - stutter.demo.gain -, f 5;
+#X obj 27 209 stutter~ sound1 500 1000 30;
+#X obj 27 184 r stutter.messages;
+#X text 6 42 stutter~ - stutter-play an array;
+#X connect 5 0 1 0;
+#X connect 5 0 1 1;
+#X connect 10 0 5 1;
+#X connect 11 0 5 0;
+#X connect 12 0 11 0;
diff --git a/externals/lyonpotpourri/stutter~.c b/externals/lyonpotpourri/stutter~.c
new file mode 100755
index 000000000..b65651589
--- /dev/null
+++ b/externals/lyonpotpourri/stutter~.c
@@ -0,0 +1,531 @@
+#include "MSPd.h"
+
+static t_class *stutter_class;
+long rand_state = 0 ;
+
+#define OBJECT_NAME "stutter~"
+
+// REALLY MESSED UP - need to figure out 64-bit and may need to start from scratch
+
+/* still needs implementation for mono. Also update to use rand() function.
+ Also free memory function. Change from pre-inc/dec to normal form.
+ 
+ Obviously this is a legacy external. Chopper probably does everything stutter does
+ only better.
+ */
+
+typedef struct _stutter
+	{
+		t_object x_obj;
+		t_float x_f;
+		t_symbol *l_sym;
+		t_symbol *bufname;
+		t_garray *theBuffer;
+		t_garray *l_buf;
+		long l_chan;
+		///
+		int loop_samps;
+		int samps_to_go ;
+		int loop_start;
+		int echos;
+		int min_echo;
+		int max_echo;
+		int b_index;
+		//
+		int taper_samps;
+		t_float taper_dur;
+		int loop_min_samps;
+		int loop_max_samps;
+		t_float loop_min_duration;
+		t_float loop_max_duration;
+		t_float taper_duration;
+		t_float R;
+		t_float ldev;
+		t_float st_dev;
+		int lock_loop;
+		int new_loop_loop;
+		t_float buffer_duration;
+		int framesize;
+		int bufchans;
+		short verbose;
+		short mute_me;
+		int *stored_starts;
+		int *stored_samps;
+		long b_valid;
+		//float *b_samples;
+        t_word *b_samples;
+		long b_frames;
+	} t_stutter;
+
+t_int *stutter_perform(t_int *w);
+
+void stutter_dsp(t_stutter *x, t_signal **sp);
+void *stutter_new(t_symbol *msg, short argc, t_atom *argv);
+void stutter_in1(t_stutter *x, long n);
+void stutter_min_looptime(t_stutter *x, t_floatarg n);
+void stutter_max_looptime(t_stutter *x, t_floatarg n);
+void stutter_randomize_start(t_stutter *x, t_floatarg n);
+void stutter_randomize_dur(t_stutter *x, t_floatarg n);
+void stutter_lockme(t_stutter *x, t_floatarg n);
+void stutter_new_loop(t_stutter *x);
+
+void stutter_assist(t_stutter *x, void *b, long m, long a, char *s);
+void stutter_dblclick(t_stutter *x);
+void stutter_verbose(t_stutter *x, t_floatarg t);
+void stutter_mute(t_stutter *x, t_floatarg t);
+void stutter_show_loop(t_stutter *x);
+void stutter_set_loop(t_stutter *x, t_symbol *msg, short argc, t_atom *argv);
+void stutter_store_loop(t_stutter *x, t_floatarg loop_b_index);
+void stutter_recall_loop(t_stutter *x,  t_floatarg loop_b_index);
+void stutter_taper(t_stutter *x,  t_floatarg f);
+void stutter_min_echo(t_stutter *x,  t_floatarg f);
+void stutter_max_echo(t_stutter *x,  t_floatarg f);
+void stutter_minmax_echo(t_stutter *x,  t_floatarg minf, t_floatarg maxf);
+float boundrand(float min, float max);
+void stutter_init(t_stutter *x,short initialized);
+void stutter_info(t_stutter *x);
+void stutter_version(t_stutter *x);
+void stutter_setarray(t_stutter *x);
+float erand(void);
+
+t_symbol *ps_buffer;
+
+void stutter_tilde_setup(void){
+	stutter_class = class_new(gensym("stutter~"), (t_newmethod)stutter_new, 
+								NO_FREE_FUNCTION,sizeof(t_stutter), 0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(stutter_class, t_stutter, x_f);
+	class_addmethod(stutter_class,(t_method)stutter_dsp,gensym("dsp"),0);
+	class_addmethod(stutter_class,(t_method)stutter_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_show_loop,gensym("show_loop"),0);
+	class_addmethod(stutter_class,(t_method)stutter_set_loop,gensym("set_loop"),A_GIMME,0);
+	class_addmethod(stutter_class,(t_method)stutter_store_loop,gensym("store_loop"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_recall_loop,gensym("recall_loop"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_taper,gensym("taper"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_min_echo,gensym("min_echo"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_max_echo,gensym("max_echo"),A_FLOAT,0);
+    class_addmethod(stutter_class,(t_method)stutter_minmax_echo,gensym("minmax_echo"),A_FLOAT,A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_min_looptime,gensym("min_looptime"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_max_looptime,gensym("max_looptime"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_lockme,gensym("lockme"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_new_loop,gensym("new_loop"),0);
+	class_addmethod(stutter_class,(t_method)stutter_randomize_dur,gensym("randomize_dur"),A_FLOAT,0);
+	class_addmethod(stutter_class,(t_method)stutter_randomize_start,gensym("randomize_start"),A_FLOAT,0);
+	ps_buffer = gensym("buffer~");
+	potpourri_announce(OBJECT_NAME);
+}
+
+void stutter_mute(t_stutter *x, t_floatarg tog)
+{
+	x->mute_me = (int)tog;
+}
+
+void stutter_verbose(t_stutter *x, t_floatarg tog)
+{
+	x->verbose = (int)tog;
+}
+
+
+void stutter_setarray(t_stutter *x)
+{
+	t_garray *b;
+	t_symbol *bufname = x->bufname;
+	int frames;
+	
+	if (!(b = (t_garray *)pd_findbyclass(bufname, garray_class)))
+    {
+		if (*bufname->s_name) pd_error(x, "stutter~: %s: no such array",
+										bufname->s_name);
+		x->b_valid = 0;
+    }
+	else if (!garray_getfloatwords(b, &frames, &x->b_samples))
+    {
+		pd_error(x, "%s: bad template for stutter~", bufname->s_name);
+		x->b_samples = 0;
+		x->b_valid = 1;
+    }
+	else  {
+		x->b_frames = frames;
+		x->b_valid = 1;
+		x->theBuffer = b;
+		garray_usedindsp(b);
+	}
+        //if(! x->b_valid ){
+        //    post("stutter~ got invalid buffer");
+        //}
+}
+
+t_int *stutter_perform(t_int *w)
+{
+	t_stutter *x = (t_stutter *)(w[1]);
+	t_float *out1 = (t_float *)(w[2]);
+	int n = (int) w[3];
+	long b_frames = x->b_frames;
+	int next_pointer = 4;
+	t_word *tab;
+    t_float theSample;
+	long b_index;
+	int loop_start, samps_to_go, echos, loop_samps, taper_samps;
+	int loop_max_samps, loop_min_samps;
+	int lock_loop;
+	t_float sdev, ldev, startdev, st_dev;
+	
+	stutter_setarray(x);
+    
+	if(x->mute_me || ! x->b_valid) {
+		while( n-- ) {
+			*out1++ = 0.0;
+		}
+		return w+next_pointer;
+	} else {
+		
+		tab = x->b_samples;
+		b_frames = x->b_frames;
+		b_index = x->b_index;
+		loop_start = x->loop_start;
+		loop_samps = x->loop_samps;
+		samps_to_go = x->samps_to_go;
+		echos = x->echos;
+		taper_samps = x->taper_samps ;
+		loop_max_samps = x->loop_max_samps;
+		loop_min_samps = x->loop_min_samps;
+		ldev = x->ldev;
+		lock_loop = x->lock_loop;
+		st_dev = x->st_dev;
+		
+		if( x->framesize != b_frames ) {
+			x->framesize = b_frames;
+			x->buffer_duration = (float)  b_frames / (float) x->R ;
+		}	
+		
+		while( n-- ) {
+			if( b_index < 0 ){
+				b_index = 0;
+			} else if( b_index > b_frames - 1) {
+				b_index = 0;
+			}
+			theSample = tab[ b_index ].w_float;
+			if( samps_to_go > loop_samps - taper_samps ){
+				*out1++ = theSample * ( (float)(loop_samps - samps_to_go)/(float)taper_samps );
+				++b_index;
+			} else if( samps_to_go < taper_samps ) {
+				*out1++ = theSample * ( (float)(samps_to_go)/(float)taper_samps );
+				++b_index;
+				
+			} else {
+				*out1++ = theSample;
+				++b_index;
+			}
+			if( ! --samps_to_go ){
+				b_index = loop_start ;
+				sdev = ldev * loop_samps ;
+				if( erand() < .5 ){
+					sdev = -sdev;
+				}
+				if(  ( --echos <= 0 ) && ( ! lock_loop ) ) {
+					echos = (int)boundrand((float)x->min_echo,(float)x->max_echo);
+					samps_to_go = loop_samps = 
+					loop_min_samps + ( erand() * (float)(loop_max_samps-loop_min_samps) ) ;
+					loop_start = erand() * (b_frames - loop_samps) ;
+				} else {
+					loop_samps += sdev;
+					
+					if( loop_samps < loop_min_samps ){
+						loop_samps = loop_min_samps;
+					} else if( loop_samps > loop_max_samps ) {
+						loop_samps = loop_max_samps;
+					}
+					samps_to_go = loop_samps;
+					if( st_dev ) {
+						startdev = erand() * st_dev * (t_float) loop_samps;
+						if( erand() < .5 ){
+							startdev = -startdev;
+						}
+						loop_start += startdev ;
+						if( loop_start < 0 ) {
+							loop_start = 0 ;
+						} else if ( loop_start + loop_samps > b_frames) {
+							loop_start = b_frames - loop_samps;
+						}
+					}
+					if( loop_start + loop_samps >= b_frames ){
+						loop_start = (b_frames - loop_samps) - 1;
+					}
+					
+				}
+			}
+		}
+		x->b_index = b_index;
+		x->loop_start = loop_start;
+		x->loop_samps = loop_samps;
+		x->samps_to_go = samps_to_go;
+		x->echos = echos;
+		return w + next_pointer;
+	}
+}
+
+float erand(void) {
+	static int im = 6075 ;
+	static int ia = 106 ;
+	static int ic = 1283 ;
+	rand_state = (rand_state * ia +  ic) % im ;
+	return ( (float) rand_state / (float) im );
+}
+
+void stutter_info(t_stutter *x)
+{
+	post("there are %d frames in this buffer. Duration is %f.",x->b_frames, x->buffer_duration);
+}
+
+void stutter_new_loop(t_stutter *x)
+{
+	x->echos = (int)boundrand((float)x->min_echo,(float)x->max_echo);
+	x->samps_to_go = x->loop_samps = boundrand((float)x->loop_min_samps,(float)x->loop_max_samps);
+	x->loop_start = boundrand(0.0,1.0) * (x->framesize - x->loop_samps) ;
+}
+
+void stutter_show_loop(t_stutter *x)
+{
+	post("start %d samps %d", x->loop_start, x->loop_samps);
+}
+
+void stutter_store_loop(t_stutter *x, t_floatarg loop_b_index)
+{
+	int i = loop_b_index;
+	x->stored_starts[i] = x->loop_start;
+	x->stored_samps[i] = x->loop_samps;
+	// post("loop stored at position %d", i);
+}
+
+void stutter_recall_loop(t_stutter *x, t_floatarg loop_b_index)
+{
+	// bug warning: recall preceding store will crash program
+	// need to add warning
+	int i = loop_b_index;
+	
+	if(!x->stored_samps[i]){
+		error("no loop stored at position %d!", i);
+		return;
+	}
+	x->loop_start = x->stored_starts[ i ];
+	x->samps_to_go = x->loop_samps = x->stored_samps[ i ];
+	if( x->loop_min_samps > x->loop_samps )
+		x->loop_min_samps = x->loop_samps ;
+	if( x->loop_max_samps < x->loop_samps )
+		x->loop_max_samps = x->loop_samps ;
+	// post("loop recalled from position %d", i);
+}
+
+
+void stutter_set_loop(t_stutter *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	float temp;
+	atom_arg_getfloat(&temp, 0, argc, argv);
+	x->loop_start = temp;
+	atom_arg_getfloat(&temp, 0, argc, argv);
+	x->loop_samps = temp;
+	//	post("loop set to: %d %d", x->loop_start, x->loop_samps);
+}
+
+void stutter_lockme(t_stutter *x, t_floatarg f)
+{
+    int n = (int) f;
+	if( n > 0 ) {
+		x->lock_loop = 1;
+	} else {
+		x->lock_loop = 0;
+	}
+}
+//set min time for loop
+void stutter_min_looptime(t_stutter *x, t_floatarg n)
+{
+	n /= 1000.0;
+	
+	if( n < .0001 ){
+		n = .0001;
+	}
+	x->loop_min_samps = x->R * n ;
+	if( x->loop_min_samps >= x->loop_max_samps ){
+		x->loop_min_samps = x->loop_max_samps - 1;
+	}
+	
+}
+
+// set deviation factor
+void stutter_randomize_dur(t_stutter *x, t_floatarg n)
+{
+	
+	if( n < 0 )
+		n = 0;
+	if( n > 1 )
+		n = 1.;
+	x->ldev = n;
+}
+void stutter_randomize_start(t_stutter *x, t_floatarg n)
+{
+	
+	if( n < 0 )
+		n = 0;
+	if( n > 1 )
+		n = 1.;
+	x->st_dev = n;
+}
+
+// set max time for loop
+void stutter_max_looptime(t_stutter *x, t_floatarg n)
+{
+	n /= 1000.0;
+	
+	if( x->buffer_duration > 0.0 ) {
+		if( n >= x->buffer_duration * .49) {
+			n = x->buffer_duration * .49 ;
+		}
+	}
+	x->loop_max_samps = x->R * n ;
+	if( x->loop_max_samps <= x->loop_min_samps ){
+		x->loop_max_samps = x->loop_min_samps + 1;
+	}
+}
+
+
+
+
+void *stutter_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_stutter *x = (t_stutter *)pd_new(stutter_class);
+	outlet_new(&x->x_obj, gensym("signal"));
+
+	srand(time(0));
+	
+	if(argc<1){
+		post("stutter~: warning: no array name given (defaulting to "
+                     "empty symbol)");
+	}
+	x->bufchans = 1;
+	x->bufname = atom_getsymbolarg(0,argc,argv);
+	x->loop_min_duration = atom_getintarg(1,argc,argv)/1000.0;
+	x->loop_max_duration = atom_getintarg(2,argc,argv)/1000.0;
+	x->taper_duration = atom_getintarg(3,argc,argv)/1000.0;
+	
+	if(!x->loop_min_duration)
+		x->loop_min_duration = .02;
+	if(!x->loop_max_duration)
+		x->loop_max_duration = 0.2;
+	if(!x->taper_duration)
+		x->taper_duration = .002;
+	
+	x->R = sys_getsr();
+	if(!x->R)
+		x->R = 44100.0;
+	stutter_init(x,0);
+	return x;
+}
+
+float boundrand(float min, float max)
+{
+	return min + (max-min) * ((float)rand()/RAND_MAX);
+}
+
+void stutter_taper(t_stutter *x,  t_floatarg f)
+{
+	f *= .001;
+	if(f>0){
+		x->taper_duration = f;
+		x->taper_samps = x->R * x->taper_duration;
+	}
+}
+
+void stutter_min_echo(t_stutter *x,  t_floatarg f)
+{
+	int ec = (int)f;
+	if(ec>0 && ec < x->max_echo){
+		x->min_echo = ec;
+	} else {
+		error("min echo must be less than max echo, and greater than zero");
+	}
+}
+void stutter_max_echo(t_stutter *x,  t_floatarg f)
+{
+	int ec = (int)f;
+	
+	if(ec > x->min_echo){
+		x->max_echo = ec;
+	} else {
+		error("max echo must be greater than min echo");
+	}
+}
+
+void stutter_minmax_echo(t_stutter *x,  t_floatarg minf, t_floatarg maxf)
+{
+    int minec = (int)minf;
+    int maxec = (int)maxf;
+    
+    if( minec < maxec){
+        x->min_echo = minec;
+        x->max_echo - maxec;
+    }
+    else {
+        error("bad inputs to minmax_echo");
+    }
+}
+
+
+void stutter_init(t_stutter *x,short initialized)
+{
+	int i;
+	
+	if(!initialized){
+		x->loop_min_samps = x->loop_min_duration * (float)x->R;
+		x->loop_max_samps = x->loop_max_duration * (float)x->R;
+		x->samps_to_go = x->loop_samps = x->loop_min_samps + 
+		(erand() * (float)(x->loop_max_samps-x->loop_min_samps) ) ;
+		
+		x->loop_start = 0;
+		x->min_echo = 2;
+		x->max_echo = 12;
+		x->echos = (int) boundrand((float)x->min_echo,(float)x->max_echo);
+		x->b_index = x->loop_start ;
+		x->samps_to_go = x->loop_samps;
+		x->taper_samps = x->R * x->taper_duration;
+		x->ldev = 0;
+		x->lock_loop = 0;
+		x->buffer_duration = 0.0 ;
+		x->st_dev = 0.0;
+		x->framesize = 0;
+		x->new_loop_loop = 0;
+		x->mute_me = 0;
+		x->verbose = 0;
+		x->stored_starts = t_getbytes(1024 * sizeof(int));
+		x->stored_samps = t_getbytes(1024 * sizeof(int));
+		for(i = 0; i < 1024; i++){
+			x->stored_samps[i] = 0;
+		}
+	} else {
+		x->loop_min_samps = x->loop_min_duration * (float)x->R;
+		x->loop_max_samps = x->loop_max_duration * (float)x->R;
+		x->samps_to_go = x->loop_samps = x->loop_min_samps + 
+		(erand() * (float)(x->loop_max_samps - x->loop_min_samps)) ;
+		x->loop_start = 0;
+		x->b_index = x->loop_start;
+		x->samps_to_go = x->loop_samps;
+		x->taper_samps = x->R * x->taper_duration;
+		x->ldev = 0;
+		x->lock_loop = 0;
+		x->buffer_duration = 0.0 ;
+		x->st_dev = 0.0;
+		x->framesize = 0;
+		x->new_loop_loop = 0;
+	}
+}
+void stutter_dsp(t_stutter *x, t_signal **sp)
+{
+    stutter_setarray(x);
+
+	if(x->R != sp[0]->s_sr){
+		x->R = sp[0]->s_sr;
+		x->taper_samps = x->R * x->taper_duration;
+		x->loop_min_samps = .02 * (t_float)x->R;
+		x->loop_max_samps = .2 * (t_float) x->R;
+	}
+	dsp_add(stutter_perform, 3, x, sp[0]->s_vec, sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/ugens.h b/externals/lyonpotpourri/ugens.h
new file mode 100755
index 000000000..6bccc5f7e
--- /dev/null
+++ b/externals/lyonpotpourri/ugens.h
@@ -0,0 +1,57 @@
+/* THIS IS A TOTALLY HACKED HEADER - NO LONGER ANY GOOD FOR CMIX */
+
+#define MAXSECTS 20
+#define RESON_NO_SCL (0.)
+#define START 3
+#define STARTM1 2 /* for start of comb memory in a array */
+#define NCOMBS  6 /* for reverb */
+#define NALPASSES 2 /* for reverb */
+
+typedef struct {
+  float ps0;
+  float ps1;
+  float ps2;
+  float ps3;
+  float c0;
+  float c1;
+  float c2;
+  float c3;
+} LSTRUCT ;
+
+typedef struct {
+  int len;
+  float *func;
+  float amp;
+  float phs;
+  float si;
+} CMIXOSC ;
+
+typedef struct {
+  float *arr;
+  float lpt;
+  float rvbt;
+  int len;
+  int status;
+} CMIXCOMB ;
+
+typedef struct {
+  float cf;
+  float bw;
+  float scl;
+  float q[5];
+} CMIXRESON ;
+
+typedef struct {
+  float a;
+  float d;
+  float s;
+  float r;
+  float v1;
+  float v2;
+  float v3;
+  float v4;
+  float v5;
+  float *func;
+  int len;
+} CMIXADSR ;
+
diff --git a/externals/lyonpotpourri/unconvert.c b/externals/lyonpotpourri/unconvert.c
new file mode 100755
index 000000000..85392dd71
--- /dev/null
+++ b/externals/lyonpotpourri/unconvert.c
@@ -0,0 +1,34 @@
+#include "fftease.h"
+
+
+
+void unconvert( float *C, float *S, int N2, float *lastphase, float fundamental, float factor )
+
+{
+  int 		i,
+		real,
+		imag,
+		amp,
+		freq;
+  float 	mag,
+		phase;
+double sin(), cos();
+
+    for ( i = 0; i <= N2; i++ ) {
+
+	imag = freq = ( real = amp = i<<1 ) + 1;
+
+	if ( i == N2 )
+	  real = 1;
+
+	mag = C[amp];
+	lastphase[i] += C[freq] - i*fundamental;
+	phase = lastphase[i]*factor;
+	S[real] = mag*cos( phase );
+
+	if ( i != N2 )
+	  S[imag] = -mag*sin( phase );
+
+    }
+
+}
diff --git a/externals/lyonpotpourri/vdb~-help.pd b/externals/lyonpotpourri/vdb~-help.pd
new file mode 100755
index 000000000..4bb6ee545
--- /dev/null
+++ b/externals/lyonpotpourri/vdb~-help.pd
@@ -0,0 +1,106 @@
+#N canvas 848 86 446 275 10;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array vdb-delay-line 88200 float 2;
+#X coords 0 1 88200 -1 100 70 1;
+#X restore 339 73 graph;
+#X obj 20 179 *~ 0.1;
+#X obj 20 214 dac~;
+#X obj 36 97 r vdb-msgs;
+#N canvas 0 22 454 304 input-sound 0;
+#X obj 53 162 *~;
+#X msg 111 53 tempo \$1;
+#X floatatom 110 22 5 0 0 0 - - -, f 5;
+#X floatatom 41 71 5 0 0 0 - - -, f 5;
+#X obj 40 107 osc~ 450;
+#X obj 53 240 outlet~;
+#X obj 112 83 samm~ 130 1;
+#X obj 112 114 adsr~ 10 30 500 300 0.5 0.2;
+#X obj 53 201 *~ 0.5;
+#X connect 0 0 8 0;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 1;
+#X connect 8 0 5 0;
+#X restore 20 77 pd input-sound;
+#N canvas 138 333 474 324 msgs 0;
+#X obj 15 193 s vdb-msgs;
+#X obj 17 25 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 16 58 inf_hold \$1;
+#X msg 112 104 maxdelay \$1;
+#X floatatom 112 71 5 1 1000 0 - - -, f 5;
+#X obj 116 36 hsl 70 10 1 1000 0 0 empty empty maximum_delay -2 -8
+1 10 -185881 -1 -1 0 1;
+#X obj 220 102 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 220 76 1;
+#X obj 221 43 loadbang;
+#X msg 221 140 always_update \$1;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X restore 203 197 pd msgs;
+#N canvas 110 371 466 316 delaytime 0;
+#X obj 87 269 outlet~;
+#X obj 309 123 *~ 200;
+#X obj 309 151 +~ 799;
+#X obj 87 230 clean_selector~ 2;
+#X msg 21 131 channel \$1;
+#X obj 22 70 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+;
+#X obj 21 19 loadbang;
+#X floatatom 310 64 5 0 0 0 - - -, f 5;
+#X msg 22 45 1;
+#X obj 309 90 osc~ 0.1;
+#X obj 87 196 sig~ 200;
+#X text 45 74 select fixed or changing delay time;
+#X connect 1 0 2 0;
+#X connect 2 0 3 1;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 5 0;
+#X connect 9 0 1 0;
+#X connect 10 0 3 0;
+#X restore 148 84 pd delaytime;
+#X floatatom 276 90 5 -0.9 0.9 2 feedback vdb-feedback -, f 5;
+#X obj 283 178 hsl 70 10 -0.9 0.9 0 0 vdb-feedback vdb-feedback-in
+feedback_amt -2 -8 1 10 -185881 -1 -1 1300 1;
+#X obj 9 10 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 23 40 vdb~ - a delay line with feedback exposed as garray;
+#X floatatom 50 156 5 0 0 2 gain vdb-gain -, f 5;
+#X obj 283 205 hsl 70 10 0 1 0 0 vdb-gain vdb-gain-in gain -2 -8 1
+10 -185881 -1 -1 1490 1;
+#N canvas 889 561 450 300 initialize 0;
+#X obj 157 81 s vdb-feedback-in;
+#X msg 157 50 0;
+#X obj 156 14 loadbang;
+#X obj 27 53 loadbang;
+#X obj 28 120 s vdb-gain-in;
+#X msg 28 89 0.1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 5 0 4 0;
+#X restore 167 155 pd initialize;
+#X obj 20 122 vdb~ vdb-delay-line 2000 1000 1 0.7 1;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 14 0;
+#X connect 4 0 14 0;
+#X connect 6 0 14 1;
+#X connect 7 0 14 2;
+#X connect 11 0 1 1;
+#X connect 14 0 1 0;
diff --git a/externals/lyonpotpourri/vdb~.c b/externals/lyonpotpourri/vdb~.c
new file mode 100755
index 000000000..a891f486c
--- /dev/null
+++ b/externals/lyonpotpourri/vdb~.c
@@ -0,0 +1,519 @@
+#include "MSPd.h"
+
+#define OBJECT_NAME "vdb~"
+
+static t_class *vdb_class;
+
+typedef struct
+{
+	float coef;
+	float cutoff;
+	float x1;
+} t_lpf;
+
+typedef struct {
+	t_word *b_samples;
+	long b_valid;
+	long b_nchans;
+	long b_frames;
+} t_guffer; // stuff we care about from garrays and buffers
+
+
+typedef struct _vdb
+{
+    
+    t_object x_obj;
+    float x_f;
+    
+	float sr;
+	t_lpf lpf;
+	short filter;
+	//
+	float speed;
+	float feedback;
+	float delay_time;
+	float delay_samps;
+	float maxdelay; // maximum delay in seconds (cannot be larger than buffer)
+	long maxdelay_len; // framelength of usable region of buffer
+	long len; // framelength of buffer
+	long phs; // current phase
+	float tap;
+	short *connections;
+	short feedback_protect;
+	short mute;
+	short interpolate;
+	short inf_hold;
+	short always_update;
+	// copy to buffer
+	t_symbol *buffername;
+	t_guffer *delay_buffer;
+	long b_nchans;
+	long b_frames;
+	t_word *b_samples;
+	long b_valid;
+	// interface
+	int inlet_count;
+	int outlet_count;
+	int delay_inlet;
+	int feedback_inlet;
+	short redraw_flag; // pd only for gating redraw function
+	
+} t_vdb;
+
+t_int *vdb_perform(t_int *w);
+
+void vdb_protect(t_vdb *x, t_floatarg state);
+void vdb_inf_hold(t_vdb *x, t_floatarg state);
+void vdb_always_update(t_vdb *x, t_floatarg state);
+void vdb_maxdelay(t_vdb *x, t_floatarg delay);
+void vdb_dsp(t_vdb *x, t_signal **sp);
+void *vdb_new(t_symbol *s, int argc, t_atom *argv);
+void vdb_float(t_vdb *x, t_float f);
+void vdb_mute(t_vdb *x, t_floatarg t);
+void vdb_interpolate(t_vdb *x, t_floatarg t);
+void vdb_show(t_vdb *x);
+void vdb_update_buffer(t_vdb *x);
+void vdb_coef(t_vdb *x, t_floatarg f);
+void vdb_filter(t_vdb *x, t_floatarg t);
+void vdb_init(t_vdb *x,short initialized);
+int vdb_attach_buffer(t_vdb *x);
+void vdb_redraw(t_vdb *x);
+void vdb_redraw_array(t_vdb *x, t_floatarg t);
+void vdb_free(t_vdb *x);
+
+
+void vdb_tilde_setup(void)
+{
+	
+	vdb_class = class_new(gensym("vdb~"),(t_newmethod)vdb_new,(t_method)vdb_free, sizeof(t_vdb), 0, A_GIMME,0);
+	CLASS_MAINSIGNALIN(vdb_class,t_vdb, x_f );
+	class_addmethod(vdb_class,(t_method)vdb_dsp,gensym("dsp"),A_CANT,0);
+	class_addmethod(vdb_class,(t_method)vdb_protect,gensym("protect"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_inf_hold,gensym("inf_hold"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_maxdelay,gensym("maxdelay"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_always_update,gensym("always_update"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_show,gensym("show"),0);
+    //	class_addmethod(vdb_class,(t_method)vdb_update_buffer,gensym("update_buffer"),0);
+	class_addmethod(vdb_class,(t_method)vdb_interpolate,gensym("interpolate"),A_FLOAT,0);
+	class_addmethod(vdb_class,(t_method)vdb_redraw_array,gensym("redraw_array"),A_FLOAT,0);
+	
+	potpourri_announce(OBJECT_NAME);
+}
+
+
+void vdb_maxdelay(t_vdb *x, t_floatarg delay)
+{
+	long newlen;
+	x->maxdelay = 50.0;
+	newlen = delay * .001 * x->sr;
+	if(newlen > x->len){
+		error("%s: requested a max delay that exceeds buffer size",OBJECT_NAME);
+		return;
+	}
+	x->maxdelay_len = newlen;
+	
+}
+
+void vdb_update_buffer(t_vdb *x)
+{
+	vdb_attach_buffer(x);
+}
+
+void vdb_mute(t_vdb *x, t_floatarg t)
+{
+	x->mute = (short)t;
+}
+
+void vdb_always_update(t_vdb *x, t_floatarg state)
+{
+	x->always_update = (short) state;
+}
+
+void vdb_redraw_array(t_vdb *x, t_floatarg t)
+{
+	x->redraw_flag = (short)t;
+}
+
+
+void vdb_inf_hold(t_vdb *x, t_floatarg state)
+{
+	x->inf_hold = (short) state;
+}
+
+void vdb_filter(t_vdb *x, t_floatarg t)
+{
+	x->filter = (short)t;
+}
+
+void vdb_coef(t_vdb *x, t_floatarg f)
+{
+	x->lpf.coef = (float)f;
+}
+
+void vdb_show(t_vdb *x)
+{
+	post("feedback %f delay %f",x->feedback, x->delay_time);
+}
+
+void vdb_interpolate(t_vdb *x, t_floatarg t)
+{
+	x->interpolate = (short)t;
+}
+
+t_int *vdb_perform(t_int *w)
+{
+	// DSP config
+    t_vdb *x = (t_vdb *)(w[1]);
+    int n;
+
+    float fdelay;
+    float insamp; //, insamp2;
+    float outsamp;
+    float frac;
+    t_word *delay_line = x->b_samples;
+
+	int phs = x->phs;
+	long maxdelay_len = x->maxdelay_len;
+
+	float feedback = x->feedback;
+	short *connections = x->connections;
+	float sr = x->sr;
+	short feedback_protect = x->feedback_protect;
+	short interpolate = x->interpolate;
+	short inf_hold = x->inf_hold;
+	float x1,x2;
+	int idelay;
+	int dphs,dphs1,dphs2;
+	long b_nchans = x->b_nchans;
+ 	int delay_inlet = x->delay_inlet;
+ 	int feedback_inlet = x->feedback_inlet;
+	t_int i,j;
+	t_float *input;
+	t_float *output;
+	t_float *delay_vec;
+	t_float *feedback_vec;
+	
+	/**********************/
+	
+    
+    
+	n = (int) w[b_nchans * 2 + 4];
+	
+	if(x->always_update){
+		vdb_attach_buffer(x);
+		maxdelay_len = x->maxdelay_len;
+		phs = x->phs;
+	}
+
+        if( x->mute ) {
+            for(i = 0; i < b_nchans; i++){
+                output = (t_float *) w[4 + b_nchans + i];
+                for(j = 0; j < n; j++){
+                    *output++ = 0.0;
+                }
+            }
+            return (w + b_nchans * 2 + 5);
+        }
+        
+        
+        
+        if(!x->b_valid){
+            for(i = 0; i < b_nchans; i++){
+                output = (t_float *) w[4 + b_nchans + i];
+                for(j = 0; j < n; j++){
+                    *output++ = 0.0;
+                }
+            }
+            return (w + b_nchans * 2 + 5);
+        }
+        
+        fdelay = x->delay_time * .001 * sr;
+        feedback = x->feedback;
+        delay_vec = (t_float *) w[b_nchans + 2];
+        feedback_vec = (t_float *) w[b_nchans + 3];
+        for(i = 0; i < b_nchans; i++){
+            input = (t_float *) w[i+2];
+            output = (t_float *) w[4 + b_nchans + i];
+            phs = x->phs; // reset for each channel
+            for(j = 0; j < n; j++){
+                
+                //		insamp = input[j];
+                
+                if ( connections[delay_inlet]) {
+                    fdelay = delay_vec[j];
+                    fdelay *= .001 * sr;
+                    if (fdelay < 1. )
+                        fdelay = 1.;
+                    if( fdelay > maxdelay_len - 1 )
+                        fdelay = maxdelay_len - 1;
+                    x->delay_time = fdelay;
+                }
+                if(! inf_hold ){
+                    if(connections[feedback_inlet]){
+                        feedback = feedback_vec[j];
+                        if( feedback_protect ) {
+                            if( feedback > 0.99)
+                                feedback = 0.99;
+                            if( feedback < -0.99 )
+                                feedback = -0.99;
+                        }
+                        x->feedback = feedback;
+                    }
+                }
+                
+                idelay = floor(fdelay);
+                
+                if(phs < 0 || phs >= maxdelay_len){
+                    error("%s: bad phase %d",OBJECT_NAME,phs);
+                    phs = 0;
+                }
+                
+                if(interpolate){
+                    frac = (fdelay - idelay);
+                    dphs1 = phs - idelay;
+                    dphs2 = dphs1 - 1;
+                    
+                    while(dphs1 >= maxdelay_len){
+                        dphs1 -= maxdelay_len;
+                    }
+                    while(dphs1 < 0){
+                        dphs1 += maxdelay_len;
+                    }
+                    while(dphs2 >= maxdelay_len){
+                        dphs2 -= maxdelay_len;
+                    }
+                    while(dphs2 < 0){
+                        dphs2 += maxdelay_len;
+                    }
+                    
+                    x1 = delay_line[dphs1 * b_nchans + i].w_float;
+                    x2 = delay_line[dphs2 * b_nchans + i].w_float;
+                    outsamp = x1 + frac * (x2 - x1);
+                    
+                } else {
+                    dphs = phs - idelay;
+                    while(dphs >= maxdelay_len){
+                        dphs -= maxdelay_len;
+                    }
+                    while(dphs < 0){
+                        dphs += maxdelay_len;
+                    }
+                    if(dphs < 0 || dphs >= maxdelay_len){
+                        error("bad dphase %d",dphs);
+                        dphs = 0;
+                    }
+                    outsamp = delay_line[dphs * b_nchans + i].w_float;
+                    
+                    
+                }
+                output[j] = outsamp;
+                if(! inf_hold ){
+                    insamp = input[j];
+                    delay_line[phs * b_nchans + i].w_float = insamp + outsamp * feedback;
+                }
+                ++phs;
+                while(phs >= maxdelay_len){
+                    phs -= maxdelay_len;
+                }
+                while(phs < 0){
+                    phs += maxdelay_len;
+                }
+                
+            }
+            
+        }
+        
+        
+        x->phs = phs;
+        if(x->redraw_flag){
+            vdb_redraw(x);
+        }
+        return (w + b_nchans * 2 + 5);
+        
+        
+}
+    
+void *vdb_new(t_symbol *s, int argc, t_atom *argv)
+{
+    int i;
+    int user_chans;
+
+    t_vdb *x = (t_vdb *)pd_new(vdb_class);
+
+    x->sr = sys_getsr();
+    if(argc < 2){
+        if (!argc)
+        {
+            post("%s: warning: no array name given: defaulting to empty symbol",
+                OBJECT_NAME);
+        } else {
+            error("%s: you must provide a valid buffer name and channel count",
+                OBJECT_NAME);
+            return (void *)NULL;
+        }
+    }
+        
+    if(!x->sr){
+        error("zero sampling rate - set to 44100");
+        x->sr = 44100;
+    }
+    // DSP CONFIG
+
+
+    // SET DEFAULTS
+    x->maxdelay = 50.0; // milliseconds
+    x->feedback = 0.5;
+    x->delay_time  = 0.0;
+
+    // args: name channels [max delay, initial delay, feedback, interpolation_flag]
+        
+
+    x->buffername = atom_getsymbolarg(0,argc,argv);
+        
+    user_chans = 1; // in Pd buffers always mono...
+    x->maxdelay = atom_getfloatarg(1,argc,argv);
+    x->delay_time = atom_getfloatarg(2,argc,argv);
+    x->feedback = atom_getfloatarg(3,argc,argv);
+    x->interpolate = atom_getfloatarg(4,argc,argv);
+    x->b_nchans = user_chans;
+    x->redraw_flag = 1;
+        
+    /* need data checking here */
+    x->inlet_count = x->b_nchans + 2;
+    x->outlet_count = x->b_nchans;
+    x->delay_inlet = x->b_nchans;
+    x->feedback_inlet = x->delay_inlet + 1;
+
+    for(i = 0; i < x->inlet_count - 1; i++){
+        inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+    }
+    outlet_new(&x->x_obj, gensym("signal") );
+        
+        
+    vdb_init(x,0);
+    return (x);
+}
+    
+    void vdb_free(t_vdb *x)
+    {
+
+        free(x->connections);
+    }
+    
+    
+    void vdb_init(t_vdb *x,short initialized)
+    {
+        // int i;
+        
+        
+        if(!initialized){
+            if(!x->maxdelay)
+                x->maxdelay = 50.0;
+            x->maxdelay_len = x->maxdelay * .001 * x->sr;
+            x->feedback_protect = 0;
+            x->inf_hold = 0;
+            x->phs = 0;
+            x->mute = 0;
+            x->always_update = 0;
+            x->connections = (short *) calloc(128, sizeof(short));
+        }
+        
+    }
+    
+    
+
+    
+    void vdb_protect(t_vdb *x, t_floatarg state)
+    {
+        x->feedback_protect = state;
+    }
+    
+    int vdb_attach_buffer(t_vdb *x)
+    {
+
+        t_garray *a;
+        t_symbol *wavename = x->buffername;
+        int b_frames;
+        t_word *b_samples;
+        if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+            if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,wavename->s_name);
+            
+            x->b_valid = 0;
+            return 0;
+        }
+        else if (!garray_getfloatwords(a, &b_frames, &b_samples)) {
+            pd_error(x, "%s: bad array for %s", wavename->s_name,OBJECT_NAME);
+            x->b_valid = 0; 
+            return 0;
+        }
+        else  {
+            x->b_nchans = 1;
+            x->b_frames = b_frames;
+            x->b_samples = b_samples;
+            x->b_valid = 1;		
+            x->len = x->b_frames;
+            if(x->maxdelay_len > x->len){
+                x->maxdelay_len = x->len;
+                post("%s: shortened maxdelay to %d frames",OBJECT_NAME,x->maxdelay_len);	
+            }
+            garray_usedindsp(a);
+            return(1);	
+        }
+        
+        
+    }
+
+    
+    void vdb_redraw(t_vdb *x)
+    {
+        t_garray *a;
+        t_symbol *wavename = x->buffername;
+        if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+            if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME, wavename->s_name);
+            x->b_valid = 0;
+        }
+        else  {
+            garray_redraw(a);
+        }
+    }
+    
+    
+    void vdb_dsp(t_vdb *x, t_signal **sp)
+    {
+        int i;
+        int vector_count;
+        t_int **sigvec;
+        
+        vector_count = x->inlet_count+x->outlet_count + 2;
+        
+        
+        for(i = 0; i < vector_count - 2; i++){
+
+            x->connections[i] = 1;
+        }
+        
+        vdb_attach_buffer(x);
+        
+        sigvec  = (t_int **) calloc(vector_count, sizeof(t_int *));	
+        for(i = 0; i < vector_count; i++)
+            sigvec[i] = (t_int *) calloc(sizeof(t_int),1);
+        
+        sigvec[0] = (t_int *)x;
+        
+        sigvec[vector_count - 1] = (t_int *)sp[0]->s_n;
+        
+        for(i = 1; i < vector_count - 1; i++){
+            sigvec[i] = (t_int *)sp[i-1]->s_vec;
+        }
+        
+        
+
+        dsp_addv(vdb_perform, vector_count, (t_int *)sigvec);
+        
+        free(sigvec);
+        
+        
+    }
+    
+    
diff --git a/externals/lyonpotpourri/vdp~-help.pd b/externals/lyonpotpourri/vdp~-help.pd
new file mode 100755
index 000000000..088c12a50
--- /dev/null
+++ b/externals/lyonpotpourri/vdp~-help.pd
@@ -0,0 +1,51 @@
+#N canvas 665 223 458 308 10;
+#X obj 135 164 vdp~ 20 0 0.5;
+#N canvas 627 438 458 308 input-sound 0;
+#X obj 130 125 phasor~ 96;
+#X obj 130 158 -~ 0.5;
+#X obj 130 190 outlet~;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 90 79 pd input-sound;
+#X floatatom 281 125 5 0 0 0 - - -, f 5;
+#N canvas 643 483 454 304 delaytime 0;
+#X obj 177 107 osc~ 0.1;
+#X obj 177 140 *~ 9.9;
+#X obj 177 169 +~ 10;
+#X obj 177 198 outlet~;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X restore 172 107 pd delaytime;
+#X obj 90 255 *~ 0.1;
+#X obj 90 280 dac~;
+#X obj 284 113 hsl 80 8 -0.99 0.99 0 0 empty empty feedback_amount
+-2 -8 1 10 -76846 -1 -1 4200 1;
+#X floatatom 128 235 5 0 0 0 - - -, f 5;
+#X obj 132 224 hsl 80 8 0 0.2 0 0 empty empty gain -2 -8 1 10 -76846
+-1 -1 2900 1;
+#N canvas 0 22 458 308 capture 0;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array vdp-catch 882 float 2;
+#X coords 0 1 882 -1 200 140 1;
+#X restore 35 85 graph;
+#X obj 263 152 s vdp-msgs;
+#X msg 263 117 copy_to_buffer vdp-catch;
+#X connect 2 0 1 0;
+#X restore 238 166 pd capture;
+#X obj 13 79 r vdp-msgs;
+#X obj 8 10 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 9 46 vdp~ - a simple \, self-contained delay unit with feedback
+;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 2;
+#X connect 3 0 0 1;
+#X connect 4 0 5 0;
+#X connect 4 0 5 1;
+#X connect 6 0 2 0;
+#X connect 7 0 4 1;
+#X connect 8 0 7 0;
+#X connect 10 0 0 0;
diff --git a/externals/lyonpotpourri/vdp~.c b/externals/lyonpotpourri/vdp~.c
new file mode 100755
index 000000000..0dc5a88c2
--- /dev/null
+++ b/externals/lyonpotpourri/vdp~.c
@@ -0,0 +1,477 @@
+
+#include "MSPd.h"
+
+#define F_LEN 16384
+#define MAX_DELAY_TIME 3600000.0 // in seconds
+#define OBJECT_NAME "vdp~"
+
+static t_class *vdp_class;
+
+typedef struct
+{
+	float coef;
+	float cutoff;
+	float x1;
+} t_lpf;
+
+typedef struct {
+	float *b_samples;
+	long b_valid;
+	long b_nchans;
+	long b_frames;
+	t_symbol *wavename;
+} t_guffer; // stuff we care about from garrays and buffers
+
+typedef struct _vdp
+{
+    
+    t_object x_obj;
+    float x_f;
+	float sr;
+	
+	t_lpf lpf;
+	short filter;
+	
+	float speed;
+	float feedback;
+	float delay_time;
+	float delay_samps;
+	float maxdel;
+	
+	float *delay_line ;
+	float *write_ptr; // location to write current input
+	float *startmem; // first address in delay line
+	float *endmem; // last address to read in delay line
+	int len;
+	int phs;
+	float tap;
+	short connections[4];
+	
+	short feedback_protect;
+	short mute;
+	short interpolate;
+	short inf_hold;
+	/* copy to buffer */
+	t_guffer *destbuf; /* for copying to another buffer */
+	/* tapering */
+	long taper_count;
+	float taper_feedback;
+} t_vdp;
+
+t_int *vdp_perform(t_int *w);
+
+void vdp_protect(t_vdp *x, double state);
+void vdp_dsp(t_vdp *x, t_signal **sp);
+void *vdp_new(t_symbol *s, int argc, t_atom *argv);
+void vdp_float(t_vdp *x, double f);
+void vdp_mute(t_vdp *x, t_floatarg t);
+void vdp_interpolate(t_vdp *x, t_floatarg t);
+void vdp_show(t_vdp *x);
+void vdp_coef(t_vdp *x, t_floatarg f);
+void vdp_filter(t_vdp *x, t_floatarg t);
+void vdp_init(t_vdp *x,short initialized);
+void vdp_clear(t_vdp *x);
+void vdp_inf_hold(t_vdp *x,t_floatarg state);
+void vdp_copy_to_buffer(t_vdp *x, t_symbol *msg, short argc, t_atom *argv);
+int vdp_setdestbuf(t_vdp *x, t_symbol *wavename);
+void vdp_redraw(t_vdp *x);
+void vdp_free(t_vdp *x);
+
+
+void vdp_tilde_setup(void)
+{
+	vdp_class = class_new(gensym("vdp~"),(t_newmethod)vdp_new,(t_method)vdp_free, sizeof(t_vdp), 0, A_GIMME,0);
+	CLASS_MAINSIGNALIN(vdp_class,t_vdp, x_f );
+	
+	class_addmethod(vdp_class,(t_method)vdp_dsp,gensym("dsp"),A_CANT,0);
+	class_addmethod(vdp_class,(t_method)vdp_protect,gensym("protect"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_mute,gensym("mute"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_filter,gensym("filter"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_coef,gensym("coef"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_show,gensym("show"),0);
+	class_addmethod(vdp_class,(t_method)vdp_clear,gensym("clear"),0);
+	class_addmethod(vdp_class,(t_method)vdp_inf_hold,gensym("inf_hold"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_interpolate,gensym("interpolate"),A_FLOAT,0);
+	class_addmethod(vdp_class,(t_method)vdp_copy_to_buffer,gensym("copy_to_buffer"),A_GIMME,0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+void vdp_mute(t_vdp *x, t_floatarg t)
+{
+	x->mute = (short)t;
+}
+
+void vdp_inf_hold(t_vdp *x, t_floatarg t)
+{
+	x->inf_hold = (short)t;
+	x->taper_feedback = 1.0;
+	x->taper_count = 0;
+}
+
+
+void vdp_filter(t_vdp *x, t_floatarg t)
+{
+	x->filter = (short)t;
+}
+
+void vdp_coef(t_vdp *x, t_floatarg f)
+{
+	x->lpf.coef = (float)f;
+}
+
+void vdp_show(t_vdp *x)
+{
+	post("feedback %f delay %f",x->feedback, x->delay_time);
+}
+
+void vdp_interpolate(t_vdp *x, t_floatarg t)
+{
+	x->interpolate = (short)t;
+}
+
+t_int *vdp_perform(t_int *w)
+{
+	// DSP config
+    t_vdp *x = (t_vdp *)(w[1]);
+    t_float *input = (t_float *)(w[2]);
+    t_float *delay_vec = (t_float *)(w[3]);
+    t_float *feedback_vec = (t_float *)(w[4]);
+    t_float *output = (t_float *)(w[5]);
+    int n = (int) w[6];
+    
+    float fdelay;
+    float insamp;
+    float outsamp = 0.0;
+    float frac;
+	float *write_ptr = x->write_ptr;
+	float *read_ptr;
+	float *startmem = x->startmem;
+	float *endmem = x->endmem;
+	int len = x->len;
+	float tap = x->tap;
+	float feedback = x->feedback;
+	float delay_samps = x->delay_samps;
+	short *connections = x->connections;
+	float sr = x->sr;
+	float msr = sr * 0.001;
+	short feedback_protect = x->feedback_protect;
+	short interpolate = x->interpolate;
+	t_lpf lpf = x->lpf;
+	short filter = x->filter;
+	float x1,x2;
+	int idelay;
+	
+	short inf_hold = x->inf_hold;
+	
+	
+	/**********************/
+	
+	if( x->mute ) {
+		/* while(n--){
+         *output++ = 0.0;
+         } */
+		memset( (char *)output, 0, n * sizeof(float) );
+		return (w+7);
+	}
+	
+	fdelay = delay_samps;
+	idelay = floor(fdelay);
+	
+	/* loop only for infinite hold */
+	
+	if(inf_hold){
+		while( n-- ){
+			read_ptr = write_ptr;
+			outsamp = *read_ptr;
+			*write_ptr++;
+			if( write_ptr >= endmem ){
+				write_ptr = startmem;
+			}
+			*output++ = outsamp;
+		}
+		x->write_ptr = write_ptr;
+		x->delay_samps = fdelay;
+		return (w+7);
+	}
+	
+	
+	/* normal main loop*/
+	while( n-- ){
+		
+		// Pull Data off Signal buffers
+		insamp = *input++;
+		
+		
+		if ( connections[1]) {
+			fdelay = *delay_vec++ * msr; // convert delay from milliseconds to samples
+			if (fdelay < 0.0 )
+				fdelay = 0.0;
+			if( fdelay >= len )
+				fdelay = len - 1;
+			idelay = floor(fdelay);
+		}
+		
+		if(connections[2]){
+			feedback = *feedback_vec++;
+			if( feedback_protect ) {
+				if( feedback > 0.99)
+					feedback = 0.99;
+				if( feedback < -0.99 )
+					feedback = -0.99;
+			}
+			
+		}
+		
+		
+		/* make fdelay behave */
+		if(fdelay < 0.0){
+			fdelay = 0.0;
+		}
+		else if(fdelay >= len){
+			fdelay = len - 1;
+		}
+		idelay = floor(fdelay);
+		
+		if(interpolate){
+			frac = (fdelay - idelay);
+			read_ptr = write_ptr - idelay;
+			if( read_ptr < startmem ){
+				read_ptr += len;
+			}
+			x1 = *read_ptr--;
+			if( read_ptr < startmem ){
+				read_ptr += endmem - startmem;
+			}
+			x2 = *read_ptr;
+			outsamp = x1 + frac * (x2 - x1);
+			
+		}
+		else { // no interpolation case
+			read_ptr = write_ptr - idelay;
+			if( read_ptr < startmem ){
+				read_ptr += len;
+			}
+			outsamp = *read_ptr;
+			
+		}
+		if(filter){
+			outsamp += lpf.x1 * lpf.coef;
+			outsamp /= (1.0+lpf.coef);
+			lpf.x1 = outsamp;
+		}
+		
+		*write_ptr++ = insamp + outsamp * feedback;
+		
+		if( write_ptr >= endmem ){
+			write_ptr = startmem;
+		}
+		
+		*output++ = outsamp;
+	}
+	
+	x->tap = tap;
+	x->feedback = feedback;
+	x->delay_time = fdelay;
+	x->delay_samps = fdelay;
+	x->write_ptr = write_ptr;
+	
+	return (w+7);
+	
+	
+}
+
+void *vdp_new(t_symbol *s, int argc, t_atom *argv)
+{
+    int i;
+
+	t_vdp *x = (t_vdp *)pd_new(vdp_class);
+	for(i = 0; i < 2; i++){
+		inlet_new(&x->x_obj, &x->x_obj.ob_pd,gensym("signal"), gensym("signal"));
+	}
+	outlet_new(&x->x_obj, gensym("signal") );
+	x->sr = sys_getsr();
+	if(!x->sr){
+		error("zero sampling rate - set to 44100");
+		x->sr = 44100;
+	}
+	// DSP CONFIG
+    
+    
+	// SET DEFAULTS
+	x->maxdel = 50.0; // milliseconds
+	x->feedback = 0.5;
+	x->delay_time  = 0.0;
+    
+    /*
+     atom_arg_getfloat(&x->maxdel,0,argc,argv);
+     atom_arg_getfloat(&x->delay_time,1,argc,argv);
+     atom_arg_getfloat(&x->feedback,2,argc,argv);
+     */
+	x->maxdel = atom_getfloatarg(0,argc,argv);
+	x->delay_time = atom_getfloatarg(1,argc,argv);
+	x->feedback = atom_getfloatarg(2,argc,argv);
+	x->interpolate = atom_getfloatarg(3,argc,argv);
+	if(!x->maxdel)
+		x->maxdel = 50.0;
+    
+	vdp_init(x,0);
+	return (x);
+}
+
+void vdp_free(t_vdp *x)
+{
+	free(x->delay_line);
+}
+
+void vdp_clear(t_vdp *x)
+{
+	memset((char*)x->delay_line,0,(x->len + 2) * sizeof(float));
+}
+
+
+void vdp_init(t_vdp *x,short initialized)
+{
+    //int i;
+    
+    if(!initialized){
+        x->feedback_protect = 0;
+        x->interpolate = 1;
+        x->filter = 0;
+        x->inf_hold = 0;
+        if( x->maxdel < .00001 ){
+            x->maxdel = .00001;
+        }
+        if( x->maxdel > MAX_DELAY_TIME ){
+            error("%s: %f is too long, delay time set to max of %f",OBJECT_NAME,x->maxdel, MAX_DELAY_TIME);
+            x->maxdel = MAX_DELAY_TIME;
+        }
+        x->len = x->maxdel * .001 * x->sr;
+        x->lpf.coef = 0.5;
+        x->lpf.x1 = 0.0;
+        x->delay_line = (float *) calloc((x->len + 2), sizeof(float));
+        x->destbuf = (t_guffer *) calloc(1,sizeof(t_guffer));
+        x->phs = 0;
+        x->mute = 0;
+        x->tap = 0;
+    } else {
+        x->len = x->maxdel * .001 * x->sr;
+        x->delay_line = (float *) realloc(x->delay_line, (x->len + 2) * sizeof(float));
+        memset((char*)x->delay_line,0,(x->len + 2) * sizeof(float));
+    }
+    x->startmem = x->delay_line;
+    x->endmem = x->startmem + x->len;
+    // x->endmem = x->startmem + (x->len - 1);
+    
+    x->write_ptr = x->startmem;
+    /*
+     post("startmem %d endmem %d len %d diff %d diffback %d", x->startmem, x->endmem, x->len, x->endmem - x->startmem, ( x->endmem - x->startmem) /sizeof(float));
+     */
+}
+
+void vdp_dsp(t_vdp *x, t_signal **sp)
+{
+	// DSP CONFIG
+	x->connections[1] = 1;
+	x->connections[2] = 1;
+    
+	if(x->sr != sp[0]->s_sr){
+		x->sr = sp[0]->s_sr;
+		vdp_init(x,1);
+	}
+    dsp_add(vdp_perform, 6, x,
+    		sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
+    		sp[0]->s_n);
+    
+}
+
+
+
+void vdp_protect(t_vdp *x, double state)
+{
+	x->feedback_protect = state;
+}
+
+void vdp_copy_to_buffer(t_vdp *x, t_symbol *msg, short argc, t_atom *argv)
+{
+    t_symbol *destname;
+    
+    float *b_samples = x->delay_line;
+    long b_nchans = 1;
+    long b_frames = x->len + 2;
+    
+    float *b_dest_samples;
+    long b_dest_nchans;
+    long b_dest_frames;
+    
+	
+	destname = atom_getsymarg(0,argc,argv);
+	
+	if(! vdp_setdestbuf(x, destname)){
+		post("could not find buffer");
+		return;
+	}
+	b_dest_samples = x->destbuf->b_samples;
+	b_dest_nchans = x->destbuf->b_nchans;
+	b_dest_frames = x->destbuf->b_frames;
+	
+    
+	if(b_nchans != 1){
+		error("%s: buffer must be mono",OBJECT_NAME);
+		return;
+	}
+	if(b_dest_frames < b_frames ){
+		// post("%s: destination buffer %s is too small, truncating",OBJECT_NAME,destname->s_name);
+		b_frames = b_dest_frames; // local copy only
+	}
+ 	// post("cleaning out %d frames",b_dest_frames);
+	/* first clean out destination */
+	memset((char *)b_dest_samples, 0, b_dest_frames * 1 * sizeof(float));
+	
+	// post("copying %d frames",b_frames);
+	
+	/* now copy segment */
+	memcpy(b_dest_samples, b_samples, b_frames * 1 * sizeof(float) );
+	vdp_redraw(x);
+}
+
+int vdp_setdestbuf(t_vdp *x, t_symbol *wavename)
+{
+
+	t_garray *a;
+    //	t_symbol *wavename = x->buffername;
+	int b_frames;
+	float *b_samples;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+		if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME,wavename->s_name);
+        
+		x->destbuf->b_valid = 0;
+		return 0;
+    }
+	else if (!garray_getfloatarray(a, &b_frames, &b_samples)) {
+		pd_error(x, "%s: bad array for %s", wavename->s_name,OBJECT_NAME);
+		x->destbuf->b_valid = 0;
+		return 0;
+    }
+	else  {
+ 		x->destbuf->b_nchans = 1;
+		x->destbuf->b_frames = b_frames;
+		x->destbuf->b_samples = b_samples;
+		x->destbuf->b_valid = 1;
+		x->destbuf->wavename = wavename;
+		garray_usedindsp(a);
+		return(1);
+	}
+}
+
+void vdp_redraw(t_vdp *x)
+{
+	t_garray *a;
+	t_symbol *wavename = x->destbuf->wavename;
+	if (!(a = (t_garray *)pd_findbyclass(wavename, garray_class))) {
+		if (*wavename->s_name) pd_error(x, "%s: %s: no such array",OBJECT_NAME, wavename->s_name);
+		x->destbuf->b_valid = 0;
+	}
+	else  {
+		garray_redraw(a);
+	}
+}
diff --git a/externals/lyonpotpourri/vecdex~-help.pd b/externals/lyonpotpourri/vecdex~-help.pd
new file mode 100755
index 000000000..32bc95eb5
--- /dev/null
+++ b/externals/lyonpotpourri/vecdex~-help.pd
@@ -0,0 +1,73 @@
+#N canvas 552 251 450 300 10;
+#X obj 39 260 dac~;
+#X obj 39 200 *~ 0.01;
+#X obj 39 125 noise~;
+#N canvas 532 235 601 529 fft-hipass 0;
+#X obj 86 50 inlet~;
+#X obj 225 472 outlet~;
+#X obj 225 98 windowvec~;
+#X obj 225 136 rfft~, f 6;
+#X obj 225 171 cartopol~;
+#X obj 225 346 poltocar~;
+#X obj 225 376 rifft~;
+#X obj 225 439 windowvec~;
+#X obj 225 406 *~ 0;
+#X obj 421 264 *;
+#X msg 373 186 1 1024 8;
+#X obj 373 217 unpack f f f;
+#X obj 373 296 /;
+#X floatatom 373 328 12 0 0 0 - - -, f 12;
+#X text 454 329 rescale factor;
+#X obj 373 155 loadbang;
+#X obj 185 311 *~;
+#X obj 125 268 greater~ 20;
+#X obj 91 212 vecdex~;
+#X msg 162 212 top \$1;
+#X obj 162 180 inlet;
+#X text 164 22 only pass through bin magnitudes for bin numbers greater
+than the "top" number sent to greater~;
+#X obj 79 484 block~ 1024 8;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 4 1;
+#X connect 4 0 16 1;
+#X connect 4 1 5 1;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 8 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 9 0;
+#X connect 11 2 9 1;
+#X connect 12 0 13 0;
+#X connect 13 0 8 1;
+#X connect 15 0 10 0;
+#X connect 16 0 5 0;
+#X connect 17 0 16 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 20 0 19 0;
+#X restore 39 164 pd fft-hipass;
+#X obj 117 94 hsl 128 15 0 100 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 114 128 5 0 0 0 - - -, f 5;
+#X text 253 99 set cutoff bin;
+#X obj 118 200 hsl 128 15 0 0.2 0 0 empty empty gain -2 -8 0 10 -262144
+-1 -1 0 1;
+#X text 129 165 <- open to see workings of this hipass filter;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X text 28 36 vecdex~ - outputs the current index within a signal vector.
+It can be useful for spectral processing \, as demonstrated here.,
+f 64;
+#X connect 1 0 0 0;
+#X connect 1 0 0 1;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 7 0 1 1;
diff --git a/externals/lyonpotpourri/vecdex~.c b/externals/lyonpotpourri/vecdex~.c
new file mode 100755
index 000000000..626907b15
--- /dev/null
+++ b/externals/lyonpotpourri/vecdex~.c
@@ -0,0 +1,67 @@
+/* Required Header Files */
+
+#include "MSPd.h"
+
+/* The class pointer */
+
+static t_class *vecdex_class;
+
+/* The object structure */
+
+typedef struct _vecdex {
+	t_object obj;
+	t_float x_f;
+//    float top;
+} t_vecdex;
+
+#define OBJECT_NAME "vecdex~"
+
+/* Function prototypes */
+
+void *vecdex_new(t_symbol *msg, short argc, t_atom *argv);
+void vecdex_dsp(t_vecdex *x, t_signal **sp);
+t_int *vecdex_perform(t_int *w);
+
+/* The object setup function */
+
+void vecdex_tilde_setup(void)
+{
+	vecdex_class = class_new(gensym("vecdex~"), (t_newmethod)vecdex_new, 0,sizeof(t_vecdex),0,A_GIMME,0);
+	CLASS_MAINSIGNALIN(vecdex_class, t_vecdex, x_f);
+	class_addmethod(vecdex_class, (t_method)vecdex_dsp, gensym("dsp"), A_CANT, 0);
+
+	potpourri_announce(OBJECT_NAME);
+}
+
+/* The new instance routine */
+
+void *vecdex_new(t_symbol *msg, short argc, t_atom *argv)
+{
+	t_vecdex *x = (t_vecdex *)pd_new(vecdex_class);
+	outlet_new(&x->obj, gensym("signal"));
+	return x;
+}
+
+/* The free memory function*/
+
+
+/* The perform routine */
+
+t_int *vecdex_perform(t_int *w)
+{
+	t_vecdex *x = (t_vecdex *) (w[1]);
+//	t_float *input = (t_float *) (w[2]);
+	t_float *output = (t_float *) (w[3]);
+	int n = (int) w[4];
+	int i;
+	
+	for(i=0; i < n; i++){
+        output[i] = i;
+	}
+	return w + 5;
+}
+
+void vecdex_dsp(t_vecdex *x, t_signal **sp)
+{
+	dsp_add(vecdex_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
\ No newline at end of file
diff --git a/externals/lyonpotpourri/waveshape~-help.pd b/externals/lyonpotpourri/waveshape~-help.pd
new file mode 100755
index 000000000..be1ace791
--- /dev/null
+++ b/externals/lyonpotpourri/waveshape~-help.pd
@@ -0,0 +1,36 @@
+#N canvas 482 57 462 373 10;
+#X obj 27 239 waveshape~;
+#X obj 27 303 *~ 0.1;
+#X obj 27 330 dac~;
+#X msg 123 164 0 0 0 1 1;
+#X msg 125 190 0 0.5 0 0 1 0.3 1;
+#X msg 125 217 0 0.2 0 0.2 0 0.2 0 0 1 0 0 0 0 0 0.5;
+#X text 122 146 select a weighted summation of Chebychev polynomials
+;
+#X floatatom 80 304 5 0 0 0 - - -, f 5;
+#X floatatom 27 91 5 0 0 0 - - -, f 5;
+#X obj 256 192 loadbang;
+#X obj 27 109 osc~ 200;
+#X obj 27 275 killdc~;
+#X obj 28 16 cnv 15 160 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X obj 98 84 osc~ 0.1;
+#X obj 98 105 *~ 0.49;
+#X obj 98 128 +~ 0.51;
+#X obj 27 159 *~;
+#X text 24 55 waveshape~ basic waveshaping unit;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 1 0 2 1;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 7 0 1 1;
+#X connect 8 0 10 0;
+#X connect 9 0 5 0;
+#X connect 10 0 16 0;
+#X connect 11 0 1 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 1;
+#X connect 16 0 0 0;
diff --git a/externals/lyonpotpourri/waveshape~.c b/externals/lyonpotpourri/waveshape~.c
new file mode 100755
index 000000000..47822b6b6
--- /dev/null
+++ b/externals/lyonpotpourri/waveshape~.c
@@ -0,0 +1,171 @@
+#include "MSPd.h"
+
+#define OBJECT_NAME "waveshape~"
+
+#define ws_MAXHARMS (256)
+
+
+static t_class *waveshape_class;
+
+
+typedef struct _waveshape
+{
+    
+    t_object x_obj;
+    float x_f;
+    int flen;
+    float *wavetab;
+    float *tempeh; // work function
+    int hcount;
+    float *harms;
+    short mute;
+} t_waveshape;
+
+void *waveshape_new(void);
+
+t_int *waveshape_perform(t_int *w);
+void waveshape_dsp(t_waveshape *x, t_signal **sp);
+void waveshape_list (t_waveshape *x, t_symbol *msg, short argc, t_atom *argv);
+void update_waveshape_function( t_waveshape *x );
+//float mapp();
+void waveshape_mute(t_waveshape *x, t_floatarg tog);
+void waveshape_free(t_waveshape *x);
+
+
+void waveshape_tilde_setup(void){
+    waveshape_class = class_new(gensym("waveshape~"), (t_newmethod)waveshape_new,
+                                (t_method)waveshape_free,sizeof(t_waveshape), 0,0);
+    CLASS_MAINSIGNALIN(waveshape_class, t_waveshape, x_f);
+    class_addmethod(waveshape_class,(t_method)waveshape_dsp,gensym("dsp"),0);
+    class_addmethod(waveshape_class,(t_method)waveshape_mute,gensym("mute"),A_FLOAT,0);
+    class_addmethod(waveshape_class,(t_method)waveshape_list,gensym("list"),A_GIMME,0);
+    potpourri_announce(OBJECT_NAME);
+}
+
+
+void waveshape_free(t_waveshape *x)
+{
+	free(x->wavetab);
+	free(x->tempeh);
+	free(x->harms);
+}
+
+
+void waveshape_list (t_waveshape *x, t_symbol *msg, short argc, t_atom *argv)
+{
+	short i;
+    t_symbol *fraud;
+    fraud = msg;
+    x->hcount = 0;
+	for (i=0; i < argc; i++) {
+		if (argv[i].a_type == A_FLOAT) {
+				x->harms[ x->hcount ] = argv[i].a_w.w_float;
+				++(x->hcount);
+		}
+	}
+	update_waveshape_function( x );
+    
+}
+
+void waveshape_mute(t_waveshape *x, t_floatarg tog)
+{
+	x->mute = tog;
+}
+
+void *waveshape_new(void)
+{
+    t_waveshape *x = (t_waveshape *)pd_new(waveshape_class);
+    outlet_new(&x->x_obj, gensym("signal"));
+    
+	x->flen = 1<<16 ;
+	x->wavetab = (float *) calloc( x->flen, sizeof(float) );
+	x->tempeh = (float *) calloc( x->flen, sizeof(float) );
+	x->harms = (float *) calloc( ws_MAXHARMS, sizeof(float) );
+	x->hcount = 4;
+	x->harms[0] = 0;
+	x->harms[1] = .33;
+	x->harms[2] = .33;
+	x->harms[3] = .33;
+	x->mute = 0;
+	update_waveshape_function( x );
+    return (x);
+}
+
+void update_waveshape_function( t_waveshape *x ) {
+	float point;
+	int i, j;
+	float min, max;
+    // zero out function;
+	for( i = 0; i < x->flen; i++ ){
+		x->tempeh[i] = 0;
+	}
+	for( i = 0 ; i < x->hcount; i++ ){
+		if( x->harms[i] > 0.0 ) {
+			for( j = 0; j < x->flen; j++ ){
+				point = -1.0 + 2.0 * ( (float) j / (float) x->flen) ;
+				x->tempeh[j] += x->harms[i] * cos( (float) i * acos( point ) );
+			}
+		}
+	}
+	min = 1; max = -1;
+	for( j = 0; j < x->flen; j++ ){
+		if( min > x->tempeh[j] )
+			min = x->tempeh[j];
+		if( max < x->tempeh[j] )
+			max = x->tempeh[j];
+        
+	}
+    //	post("min:%f, max:%f",min,max);
+    // normalize from -1 to +1
+	if( (max - min) == 0 ){
+		post("all zero function - watch out!");
+		return;
+	}
+	for( j = 0; j < x->flen; j++ ){
+		x->tempeh[j] = -1.0 + ( (x->tempeh[j] - min) / (max - min) ) * 2.0 ;
+	}
+	// put tempeh into waveshape function
+	for( j = 0; j < x->flen; j++ ){
+		x->wavetab[j] = x->tempeh[j];
+	}
+}
+
+t_int *waveshape_perform(t_int *w)
+{
+	float insamp; // , waveshape, ingain ;
+	int windex ;
+	
+	t_waveshape *x = (t_waveshape *) (w[1]);
+	t_float *in = (t_float *)(w[2]);
+	t_float *out = (t_float *)(w[3]);
+	int n = (int) w[4];
+	int flenm1 = x->flen - 1;
+	float *wavetab = x->wavetab;
+	
+	if(x->mute){
+		while(n--){
+			*out++ = 0.0;
+		}
+		return w+5;
+	}
+	
+	while (n--) {
+		insamp = *in++;
+		if(insamp > 1.0){
+			insamp = 1.0;
+		}
+		else if(insamp < -1.0){
+			insamp = -1.0;
+		}
+		windex = ((insamp + 1.0)/2.0) * (float)flenm1 ;
+		*out++ = wavetab[windex] ;
+	}
+    
+	return (w+5);
+}
+
+void waveshape_dsp(t_waveshape *x, t_signal **sp)
+{
+    dsp_add(waveshape_perform, 4, x, sp[0]->s_vec,sp[1]->s_vec,sp[0]->s_n);
+}
+
diff --git a/externals/lyonpotpourri/windowvec~-help.pd b/externals/lyonpotpourri/windowvec~-help.pd
new file mode 100755
index 000000000..2c750387f
--- /dev/null
+++ b/externals/lyonpotpourri/windowvec~-help.pd
@@ -0,0 +1,57 @@
+#N canvas 506 441 450 300 10;
+#N canvas 91 32 532 393 basic-fft 0;
+#X obj 225 66 inlet~;
+#X obj 225 341 outlet~;
+#X obj 225 98 windowvec~;
+#X obj 225 136 rfft~, f 6;
+#X obj 75 341 block~ 1024 8;
+#X obj 225 171 cartopol~;
+#X obj 225 215 poltocar~;
+#X obj 225 245 rifft~;
+#X obj 225 308 windowvec~;
+#X obj 225 275 *~ 0;
+#X obj 394 185 *;
+#X msg 346 107 1 1024 8;
+#X obj 346 138 unpack f f f;
+#X obj 346 217 /;
+#X floatatom 346 249 12 0 0 0 - - -, f 12;
+#X text 427 250 rescale factor;
+#X obj 346 76 loadbang;
+#X text 28 195 Any processing would go here ->;
+#X text 44 321 sets FFT size and overlap;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 10 0;
+#X connect 12 2 10 1;
+#X connect 13 0 14 0;
+#X connect 14 0 9 1;
+#X connect 16 0 11 0;
+#X restore 32 136 pd basic-fft;
+#X obj 32 109 osc~ 440;
+#X obj 32 210 dac~;
+#X obj 32 172 *~ 0.01;
+#X floatatom 32 86 5 0 0 0 - - -, f 5;
+#X obj 26 4 cnv 15 155 25 empty empty LyonPotpourri 20 12 1 18 -260097
+-204786 0;
+#X floatatom 103 173 5 0 0 2 gain - -, f 5;
+#X text 28 35 windowvec~ - applies a Hann window to each incoming signal
+vector. Useful for the the windowing portion of an overlap-add process.
+, f 66;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 1 0;
+#X connect 6 0 3 1;
diff --git a/externals/lyonpotpourri/windowvec~.c b/externals/lyonpotpourri/windowvec~.c
new file mode 100755
index 000000000..cf471ca72
--- /dev/null
+++ b/externals/lyonpotpourri/windowvec~.c
@@ -0,0 +1,97 @@
+/* Required Header Files */
+
+#include "MSPd.h"
+
+/* The class pointer */
+
+static t_class *windowvec_class;
+
+/* The object structure */
+
+typedef struct _windowvec {
+	t_object obj;
+	t_float x_f;
+	float *envelope;
+	long vecsize;
+	long oldbytes;
+} t_windowvec;
+
+#define OBJECT_NAME "windowvec~"
+
+/* Function prototypes */
+
+void *windowvec_new(void);
+void windowvec_dsp(t_windowvec *x, t_signal **sp, short *count);
+t_int *windowvec_perform(t_int *w);
+
+/* The object setup function */
+
+void windowvec_tilde_setup(void)
+{
+	windowvec_class = class_new(gensym("windowvec~"), (t_newmethod)windowvec_new, 0, sizeof(t_windowvec), 0,0);
+	CLASS_MAINSIGNALIN(windowvec_class, t_windowvec, x_f);
+	class_addmethod(windowvec_class, (t_method)windowvec_dsp, gensym("dsp"), A_CANT, 0);
+	potpourri_announce(OBJECT_NAME);
+}
+
+/* The new instance routine */
+
+void *windowvec_new(void)
+{
+	t_windowvec *x = (t_windowvec *)pd_new(windowvec_class);
+	outlet_new(&x->obj, gensym("signal"));
+	x->vecsize = 0;
+	x->envelope = NULL;
+	return x;
+}
+
+/* The free memory function*/
+
+void windowvec_free(t_windowvec *x, t_signal **sp, short *count)
+{
+	freebytes(x->envelope, x->oldbytes);
+}
+
+/* The perform routine */
+
+t_int *windowvec_perform(t_int *w)
+{
+	t_windowvec *x = (t_windowvec *) (w[1]);
+	t_float *input = (t_float *) (w[2]);
+	t_float *output = (t_float *) (w[3]);
+	int n = (int) w[4];
+	int i;
+	float *envelope = x->envelope;
+	
+	/* Apply a Hann window to the input vector */
+	
+	for(i=0; i < n; i++){
+		output[i] = input[i] * envelope[i];
+	}
+	return w + 5;
+}
+
+void windowvec_dsp(t_windowvec *x, t_signal **sp, short *count)
+{
+	int i;
+	float twopi = 8. * atan(1);
+	if(x->vecsize != sp[0]->s_n){
+		x->vecsize = sp[0]->s_n;
+		
+		/* Allocate memory */
+		
+		if(x->envelope == NULL){
+			x->envelope = (float *) getbytes(x->vecsize * sizeof(float));
+		} else {
+			x->envelope = (float *) resizebytes(x->envelope, x->oldbytes, x->vecsize * sizeof(float));
+		}
+		x->oldbytes = x->vecsize * sizeof(float);
+		
+		/* Generate a Hann window */
+		
+		for(i = 0 ; i < x->vecsize; i++){
+			x->envelope[i] = - 0.5 * cos(twopi * (i / (float)x->vecsize)) + 0.5;
+		}
+	}
+	dsp_add(windowvec_perform, 4, x, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
+}
\ No newline at end of file
-- 
GitLab