Spectral "Compensation"?

Ok, had a great geek out session with @jamesbradbury this afternoon and after building something on top of his Auto Spectral Compensation we managed to get something working really nicely!

Have a play with it, and let us know your thoughts.

So a couple of questions and thoughts.

Firstly, it’s kind of slow… I guess faster than I thought it would be, but there is a marked difference between fluid.stuff~ @rodmode ENGAGED and hisstools.stuff~. I imagine(?) some of this is unavoidable since the hissstuff doesn’t have the kind of buffer-based threading that makes @blocking 2 possible.

I’m not a HISSpert, so there’s probably some improvements that can be made in the p IRprocessing to speed things up, but I put some stuff in there that seem pretty boiler plate in terms of IR processing. (I feel like I’ve accidentally learned a bunch about IR shit now!)

Alternatively, perhaps it’s possible to somehow implement the post-flucoma.stuff~ part of the patch in the FluCoMa-verse, or in the fl.universe~ (I remember @a.harker mentioning building some filter stuff for framelib which could potentially make this possible, easier, and/or faster).

Another question is the melbands vs MFCCs thing. At the moment you pick the @numbands you want (capped at 20 with the current @fftsettings) and then filters are centered on those frequency. @jamesbradbury suggested that something faster/better might be to do the same with MFCCs since they compute faster and would potentially produce more perceptually meaningful compensations. We (he) wasn’t able to find the formula in order to make that happen, and there was enough other stuff going on in the patch that it got passed by, but this could be another potential vector for improvement (though the fluid. part of the patch is plenty fast as it stands.

Another potential problem is the super fast onset detection I’m dealing with these days may overrun @blocking 2. So this puts me in kind of new territory either wrapping up the relevant fluid.bufdescriptors~ object in a poly/roundrobin situation, or doing @blocking 0 (or 1?) and managing a queue of some kind. I suspect the former would be the better way to go for latency’s sake, but it’s a thing to ask/discuss.

AAAAAND lastly one of the things that I thought would be interesting to do would be to normalize (regularize? (standardize?!)) the input material that will be compensated for. More practically: say I’m using my snare to drive this system, specifically in the context of the corpus-based sampler thing from the other thread, and I want to have a wider range of timbral inflection available to me than is possible to make with the snare drum, that it would be good to expand that timbral range so that the available range of the snare is extended out (not to 20-20k, but perhaps to a specified range). I guess would be as simple, computationally, as running the center frequencies of the melband (or MFCC) calculation through a scaling function so those points would be centred on wider frequencies. Or actually, in typing this out now, I guess a better way would be to fake formula/calculation for where the center of the frequencies are in the p centerFreq subpatch. That would retain(?) the relationship between the melbands/MFCCs. Either way, I wanted to flag this up as a point as well.

So yeah, open to thoughts!

edit:
(code updated with minphase IR-ing)


----------begin_max5_patcher----------
18174.3oc68s9jaabkueV9uBr7lptaRFMa+BnAt2u333D4sVqDei0Vt1xapo
vPhYFXggfKH3HIu0p+1u8CPP7nAP2.nA4nLpronHHH5yoOu5Se5yu+6u5Uqt
M8iQ6W47+w4mcd0q9u+pW8JwGw+fWU7ue0pGC+35jv8hu1pnecS35Ou5J4k1
d3w3sIQ4hqgJ9v3MhuY5s+xqg3JeyzC4G+pfhOcWX95Gh2d+MYQqykCC+ffq
AW4P7Ah+x83qN+c9s7+7UeE+kqzbzd6g77zsJGsv1i1xA6tvrvGixixtIZa3
sIQUGx0Iji+JxOJ+S6hjTwpaC2d+Jm+dOzIFds6UNn.AEhHGecTz4iQ62Gde
zwwedzGEOkUuFp6Lk6JynudoMhqXND6Kos.AghFIssN8wGi1l2h1d2CQN6SR
+fy97C2cmyCg61EscuS7VmGhxJYEIwaiVmdXadU59tzs42EtNpJENjvAIXUk
6de7uJuaNE1mD9sGtsP.BV412xDuD+xeWTxSQ4wqCW0M2D44wYit99Wi8fXD
MP9GW+qXOerPAALRl61nOvHtV71MQ2EkoqZCweNkcPPDmhnTgFAVP5iV1oCx
K24Vma0l7npIOTup9WogIfijJ1m+WdSiT6RM4Omb3Ol91Pm38N2EtO+5qud9
UM7FP0PpDrOdi3BXaqv3BE9N7vBqPRCriVC4tjT1.8DAl8Xn3w3oKyAXtWkN
EszRrxSJV4QDhUP.dRxUl4Bk.WRendTAs4J+qI5C0PBkrnDpbJcdHzNLJtyY
8tC4wO1ggeEwLPbUp2it1Pxmohw0o96pz2+CYwgIqFVXGHD1kAMJk0qdOLZR
xOJXHrGRbRzSQY6iYS4mFauZEKJhJe7qpbKbt3ujJ9g7up7ih2J+HX4GkE8T
7w6GW9ogYrQdNaXeHSRXez6nDD+mIcST11CwheI4GxlOKFRhYNNCY+tBCyhI
3iW9Duf5Jbg3Wn9Kr9Q8ImXFLIi6SRW+9nMUDRYSHr.mh2tKKZOyARXdwXu7
xrfABOjjeSsIYVvqAtPeufi+Q029niDk+TJmhe0p6yh2jtkOjpMuv+3iO7eV
5aQ75IRS7M1FtSwMyDVYLoNt3dFIeX+sgY7osB8WzwKlmllT+Rk2WRzc4EWd
W71sM3o4o659hYw2+PO26sorK9Xe+1hqr+lCakW8FlDR9M6CepN2NOLIoPYu
9O+GC2FybiEw01EjKn7hRaXOrecVZRRM5UdkmTbkMLI90QeHdS9ChGz0UluY
e83cGEoVUNKuI99n840+r7v62W+S1m+IISuxGc31BM5axidbWBiJp+Epsh1p
puUMKV6yaXdTZdpT2rCeAsVoaiancjMcYACKrlCKLs6d70RAagIfhf63Os3s
LeMOElvWoyi64w0kEsKMKOZS0E9HGea2D8wJ1TJbUTXdYj7mZtOp6B4VGno7
MT0aPKKLc5XQCeq86eoqYHHfJMkJlaDuGAO5709bUla40bq1lxZw1l0V2u8j
3sPfPKP5.aIYtulYtpSFKRMik7bfwVXVgHLqfQhTvrf70QXJv8Yfo.4ZpdtY
Iv64f.KgxkQsqg.AmpStGPM2itZtD2519Ggpo2e9OpydVzk6cXQuw9sbB2to
HB.dxOkwFnLH.z4lQ5aSFoTyzT9XHmqUvH6k4oJBpSq8fmJsNB5TLT4WWMWc
e5gr0GIzBljS8gMKH573skqK6mKsV5nqxgoiApliAjEGCdZNFXNicfVZL3p4
Xvyh7AhliAnEGCXClKr0X.o4X.24Xn3COlXkU70Ku4FYtAtILOOK91C4R03p
YJxn0vpWNRtOI81vjh0wV5jTwBg+pSjvLsc.e2+5O9i77GHV3He6yrwFBfOa
6UV..yihnH0+PDZR49uKlH9ZmvM+xg84NruAeWGEBgNgOJXdp3l3ovM8UwMQ
CwMMl2Urk6Hew90Bk6ahObl4cnqc1kD9Im8oOF47exbvt6P9+4p4mo4sLLs.
WISyStYKXfUXZvqc1GkvdnNR6hN4oLd25zL9.wFbOxxv8PAWSYxZDOrM4dfq
cXqOYiHjuGiVME9BdgjpPBNADJ4KAh+EFNyUGxQlht62CZV2neeWYlefh084
5akM5+g38G2.HMmhQjUlumrZQnx+xi1ZKpNl3d1O1+q+B+mq1v1Y0+W9K+u9
+weMZ6F4mLJtzAl5wgijWbdziEqYY01z38Q7e3q3u7T7s7vf965xwFwNbi6h
aFy0e0goJTIbcIx85xFBO+dGsqdJXfgZFbxTCxKf1tjelX4T0AwdeXdjCx.J
1e1USjEsAwSlO3.aLktyQHa+cw45ZN.5YHctO99s7bHnwt5CoRRVFokG7ej2
6ZYECVj8OOBnrFPsvdWitF7xtU+xtU+EwtU2ytEvWl0mkF7lztxpzvmQF+5b
Op.hUZVX4ugE+EXOpNb2cQYErH4quNDdcX7cy3t+iFdeSzmcU3hPZqjfVZFV
tLi4k0Nq9as2XYPhmm1LHnL6OPfz8gcDnF0Ve3gG4denKMK8XhKesyM9v50G
x3peFOxnKfFYFXvH7ybNf6n4.Ex.SjEfVps3xS28Sv0lapg3GGpyt63Z6Qw4
du1zcuU7Hm0MWYA11j5U6+SgmdLrO91SYQx7yA.r2rjb7FX+FwOxF.UCLkOB
O9gcUa0S6DCPPEIXT3wzEnLCUaNMM1yD5SgIGhRuq8BPOQ0GGckF0pbMF6+d
0r7ZeMFWJmsLr1LvZeqGYLtZLMU+FEVPOI8W4qr+gzr7lCmuppn+nDx5H4DO
E8wcYN+l6fN+N1qHmud+5vjvL95q0OuLnY8rXIOSRX4ecrDUm4bxzaVnUoHc
7K9P7lM0Vc7rcbKfthElf8sWlo247u921kktNZ+9XCncj2p4lVocmpQ+f+QN
kT9EGbLh7P54JYStujRpWRI0KojZZYbIN6Zlp9tGB2GMwiLf0R1BxGJa8.RM
EDzJISn9VyVmYUxgpxsXue+ioo4OvDoMrr0c6tt0qDgzTROgw07KJPtanTIS
N.tzYzJNSvV+rwmsBz7yKmgxSufehkl2coVgcVuLKpyO+1zs+uycd+1zO37.
6+e7v5GbRuygug1NqC25bKSB9QVbOrkS3jl4jE8H+sU+opUCKjFLiF0qg9SW
cVA7mpciAR6Ru0vQmYrUJQCgvq8v9dTnOUr2sxOE3sjot8VGySqMBORasG6A
BJNX.JOv9BSsHZUtjkjd6yhKKZ0jO4beX7VmeCzTyqPH8hy9pL.dhWPUFq+h
uuAatMOMzXgOn+EG+TJnxXkU4mjE2q0+zXN0ZvxhTYF4mywA+ofoxBzpBSs3
DqsjZ+70wrmGfUdVLyC2FG1cxsEXJi1y8BUtE4Wy.KDGr7gaIXxe1bGQf4mm
lDuelDcQjZNt.mqMxthrKzbys3EYcU9E4X1ulnHDs7hhbV01zrGMWZDdYF8e
gVdcCoTvhGFEmoJyZ8UNblbdZUIypqlM8t6bdME3.XBDl6OCZq8TufQxXZUi
ZOX4CHsHCwUW0O68r+yXlkcYUMVfCrYaaaITmCeJJiwG+ryWKYUxSiCKPIiM
E5Cr4AUsfiw7RTki4aG0T9F0cH13x0o1xk4+Fx.jpvWsV4rDHZKlMEnrjO0Q
UKOPDw9xGt9WK2GFeJ431w77s1VfnwWbKE7ClD.hRwDLSf.v9CAMuLD6bXtA
5VoK17ny5o64XVDls8J0EcOR29VcTn6ApFayJtAqaI2HhxwZCCgory9wKWjl
QMEPcs93.p0rB0piCf1RGA1bbb7WWiwguUGG9ZKefs53fpM+vtiCsKXOqpt.
gZyNrosT3zcqbx4uXGy6v6+oEieXSb5OJJ6gad6oiTYkBzP8P+16uKNIYcZR
ZVkuPkuAaAMEQKtR9stpxkJuuelsnFT.goVvnmqwPLE4IdG6MttMrfUbevi2
HwkD.P7uNwCQIth24ivtX96.JtUzomI.FHeRf.e.Q9N1GwVmOr4sxB0snTPn
fp4D4U7E0x6VQGqKlqwA0tuC4o2mEtItHBNP40JmuNULOxp0i8MaWnC7.WYS
DwU+MTIsUNo98Gptcd8OQJOL9LJn1bBEA7BDyIPOJRxO8A.HoE6QrtUw8dS7
VdAREUxiwAHnfGiJmnPTeBtMOlINU6wG.HPZ.+F7CbITp3cDT.ULG650HF4J
2Ig5BwhuEJ.ytY4iGxnFUOT8kgKmG6QL1.Qp5Bx9khu9Tfquu7cJ4TMEj8bA
x4IO9enx2I+0VD43pKtd8Z1WnFOAym4ELBxwwIWwlnXxfIF9Xyam5yHIIeA.
88kui8KgPsu+poXjYk7utKZqyOFtcuyOF8X7soIaVU0boET5daXdttJcUK.f
etQXZUyAK+7PTOOAVXf+C+g7aD+L.cG9qShBypLSIVVKSqkoo5JEFYxwTrA1
JD2+wWFz3fToR06fsV+b0azk6pQZAgPABcUtpJ9KTaCFcqV13PCoZTC1sBaG
5aYqotubCFrrVyO8t+r9wJUivfdXl3mv2Jk3EDT7NPv.huPdzQRGfbYVg+T5
w3jZbikAdVWLjGfkvYNDAc8jVl4RFheqfKSE.88gbwEjW2x+9CK+6BndhgLv
yECkxKroMjl9NIdPHPFRb.xiHXCtAPl9+f5Oe2m1jkdez12IlesqZjHcrwq0
UUZVbf3iCnRig3fBGB7OxEOfBHovWgp2omB3.ixIujJn4j3jTZZxVKh2u86l
j5lNZTACqPYxzWCMh2DsM5ovERW3aphdKCGKVqvv7KmAAEuCZ8XHKF5easc1
+Yz.+Mgwa+7HF4LwyRewse2xM72+gXl8FcIfVJGvB6QmdYQG2nmcC7+s8Iwa
pbfNGURVLwfTCWX85HY.9yPANLznZI3uee0Jo2T6HcwWTQsdstgkf7daXdV7
GWmmkLST4hLn4Gj3OOxE8LnYxmCRk+kzMUa.QF3kvfXiFHvlKWliYlDGvb1h
Lhqen7GgM71AtrfC+eHdctY77KVYmefeBiyeVF43OtNcWzXsJZRD.MVc+wT6
Ef4+Yok8dW3siRQ2DBVkz5f1QWDhO5i42NoEo0cDYJV254w336RumuBcqrjn
AljwTOBEJuKBFJRAAoXKcWBR+e+QC1H7KfEi7SgOEcW8p+etWNB3Z2tMFcdW
B7lvr2+5s7tnvqEIcSWlf5LzQJMqPK2y5xcu1WvMrPZxgCH5asb1YsTjqNmc
koucDaQkJSiCtidVUx6WJ59D.Pk5x2F+7nwtwr8t6I.sRY8osgq0arW5q0eT
+rUUn4p7b6cGMuMIhEtgrfF9lzz2ux5h1wae+3k5NsUkd.t1b020TsVsyHOF
iG3WF4CVb2CuyNFXNYLOttTQtp1qVXicLabdF7pX4sOskiCMmvTUWA5cmJSV
XO2pUUGeubc9+DuQg8bHvzDd3XlsDol4KDDPJpduf.rOs3cTeMWnnWYPatkN
NNpFXe5+wvO5UoSrs.6pcio3lwqqPOvu9pnoE53KCyowoUyjLHfvtnf5QDvM
5uXyqsNjq1YtcVWVgeYIT09cC3Ef5yqn5qT9tyT.UyYMV2VS0bIhlGjPSS7c
k5XewV6h77G+MIGhpdfpMb2W4UrOsnV1NYvMXwLyVPDYoeX6jnhyqyBIU7G+
T3zHB.JvUVlWTJFij53HHKT7kiHdSVTzDoBwrPYNsgd7P5WNB3sLK6ayCmDI
3S.ddxLx6AXDfXJwK.F3tbzweKZyjnAZ45Dfkq.GT34cong+injjzOnOYztD
icC..+AiCB4JqtRpOzWrHI184RbWbBE8kLgJ1p02jlLQwxxr74xha0UVTrUC
ovpDwtCY6RldfezxSs.A5xruILTyMy4NX9Mv.BPF7KxE3EHTPQ9tdH+kf9yh
VGE+j9U.gJYvxzxbh1AUqpe6R.xkQyECG4xRGT.ryDLQX9DBJ7ISKNQaLkuf
Ew679nsa1+bzq7oIL8saz3vBQg.pbixIdffhSRHE5pUxhNuFbxC2YhOgJIL9
6CySc9ddVXVY8w397n6NjjjazFF27Lw365Bk61lGlhkmZTOlkAugNSWDHaIH
hEfTtbSdV5n9KyDjj3mDsi7o9x3EwkZXXT.Nvepz9EcNxx4M88mimWxOvyB6
ml1dsC3ybhbofKlvX1ZJ1LSsOzjFbB4TuwEvf.fb8ILMMRQAT4A.XX6yCVc1
L1q+CLw2Fmk+Im+z8oyh4muPPjoNwOEAlU+MhNe4dk3mBnM9oD.V0KPsqDa0
J5N0Rf6VBJHufRublfD1sIDzKPhxKPhxKPhxqFUiqjC+U7cGw7N1qOzdXJpr
UmRDpDzEueFyqiBi6Ju9isqLV.ZwC1WFAU3IX+klmvFHoYa9rS8ZLoAqA2Aq
waQXMxFjK08b09q4rFN3+BLVzgtHs95BfpUJ6.AKNrALdSMTaapo.xlWdSMh
nHM1ViWvRnPcDGqImKaMBlioFa77WDdiqniwu7XYxQiMBdynr13sjVafAXon
T+NrrS2uU2lKpumEaOf9vKgQAU2QgmM6jldASeT7ERdEpWQR0PAlrbFoyzr4
+ut3tqu+bB7tP.JPf.sTQiz2OvJPPaR3mpEO4fvOqevJyPe5BS55fA0GIYBT
PxdSCqgm4YWJYNmcCVrI2pNvGb1khr2raPsI2lg4MqoD76hy0kh87rGEKAzA
u.wpg7Puj0vhrF5QjA05CdIqguj0vWxZ3qFMbddqwv5Bbhn4oVq6.BvBDbQt
3UIbtrjKP628YSAGIh+xj4PQBenKOvFx2XRlOWiQXKhm8x5iTFQlZC2EeQ77
kLYrXB1ajpOcD0vPLG4J2wjmGoDyeYRIljoXoThMJ3fxCaYsDRIJG87D7m7H
iG6mjDMB+LmCLdzupPFXhr.zhkxOcSvDwpo4RW7Dx0lvZj3GGdtQoEWcS7Hw
lo+jnKB93YSfPinKBjgsIu.6YhNB7K4jv1Qlb3qtIQ6j3XZZqNtZl9SGoLGU
XnL2EPW6jwJdsSGk8myh9uzkbInYMQyEjomLubzWRS0Koo5kzT8RZplqB4RX
fKK5l6XV3NDsc8mtYcXx5CIR0DCWoEMvZqzBiKRVEWKg1pFeUYJrYqEnCShc
YVrwsqx7XGlH61L4vlJ6xbYydGyPlMaX5D5JYYEUwCRjPGJInYCKPk8SMrgp
iczAskpo8TE1TQMuzI6pxJdqIY11xZseh9rtNnE1NrxViJ60R6fVa0vhqNVc
MwxaOVeGzBb+Vg62Rb+Vi60hbWVkUaYtCqy8Zg9MLonadmjAtpA2ntE6l1RZ
Z4t00GL4w0MiS.MuTW4KsUv4JtQ0Vs0vxcWVuK1N4hzHGzN+506rI0VFmsYc
HP8JDyHtGYI3dD49Rffx.dUjK9yJ6ar7N7Rv6PTbEd2BK50JtqFEwoCOTqJK
sbvXsZkR+kfEhkmhHoNr2xJ80rYq0eFcaEN5pVTWFKjB154uQ5vQE60PVXqM
LpSIQHsRk0PN95kff3SNru8cCIG1CiFVsWtZQIw.YB.7D1C8fKpn3v7v3sSi
GBWDChdth8tTlOIW+KKdHugpDVqoNXFSzeQbp.QxkgVjSNxkDOL24Nm6FK6y
setGZHtWY8uKeiVxiDnrTK8OlF2kzCcqcKzL+KC3+EngnDlvIXOZP26dXe6f
XGaj54S9626.Ga.gvoZ.Ldqdxbv.ew11WDW8EUPg+Zhy8YoG1MVlXvT0gqsw
K5H5JiqwEeIYEL5i6xb9m+M2Ac9cN+l6P+VmeO6uv8xSwcySQnEIPaHQXCzs
vTHBbQ4aVxRYuJXq+KLS0H1DODP7+sNu1Adsyukwqo.v0i0ZJBErHb4BwVhm
j85cIwkO7qwNvwaA0e.NHVqUyb0o+VaKpxHhbkmbVh2kUDQwNwiNfR+IZNky
AMmQVDNTf2kjqo+o+EmAzt6QzDgAST6V+XJK7u6VrQwnKIow+oWOAlnOZw3g
EwkWDijO5hy6do+m.elimjz6+m4Nl9W3dfXt6gW+aGsJOXQRpKvsZNwgv+wg
AuH44.5CGA+s9tD1prKay1UUZYJX9sJwr.2lkXVOkYlHxHmwJYL1gnnRQgZN
DCbOWiPj1LQ+ywPz2f4Y+fy0HT2oYH7bLBwlvCOKyxHSzl4QBUspQWlgHvDl
HRoLwiwa1kxhjsvlHAJVIEAQkEhorYygnWu3reCHM5YP7fZBqWsvdZ1FYgMg
tXG4hMApugN3BdnC6enCWzgt2kt8NWSsk.FxVBpnGdBjoQrx+5LPZPiBo.MD
sgITwxQ8Jh32u7esvzFwjoMvYPtxDG8miHQjttAFIdrzN5KWrfdtCOGlOJCE
+xcoEPnwQzs3CQ.5RWetK+pWNZzlL9b0wQFL.H1OaYQSU3HS7uLHwCh5PcfL
Obp3nOrIN8GEEj7MusFDuWsfp6muzAv709a1GltVrO00vJOBDJw4XNz4JQMO
N.G5pvIaSz8qB9wUh+sDNB8gaCWxmt8QgyqhauSr5SJf0Gd8Iu+NwruVy20q
j+dab7RYrlMO9gTGJEN99CqCGi.g596OEA7j8lenGEImG7A.HQIKs6V7OpDe
NOgB8H0.Zbg3YCzOg.oRLOIvkTf5LDT.0UhY5JJdhpPsI0EhKvfUreAZr5BY
TVWOby0MTAdkpTOLTDsI7WpMrPqRAQebVXYzOZv1UAKicie5pl3TANHTeFoJ
4Y.nuu7creMDR8uQC.f3utKp.tx+wnGiuki3RMMquPJ1uMLOeLJ18f4HkWuK
bGYQIve3Ojei3mELFxrI3sW.evALqEtRgdlNCEancq9.2V0FpNhIZseGTYQd
U8lK.NEtEsiv0DnJRp9OH1oL91WXCUswsvVSMJAmUSr91zNj7.wclzL+o28m
GWLl0QoGObAF6BoDuffh2ABzP0.xilT5rmqOHhefdLtRE2rZbBBwCJUh7aHn
qmzyBWBC0BmftrUvLyu3Eefx8qe4qm9kKf5QjH+jKVBPnP1zLxfXEHdPHPtr
i.jGo.u7f9J.hLU5ne2m1jkdez12IjENOpphc7Od8XTWmMmf93.IRfwdSgCM
9G4h0PQ+Hxgq5c5qnqwHdVW9Kbbj9jULax1KViU62MKp0ln0FnmRqoS2Mz3d
Sz1nmBOy5Zeihirllwr1JbU+RI.Pw6fms3wKHuuswIw+KJh6Mgwa+7DoNlpQ
YLIse24mD2+gXlMxwPjsTXgE1SO8xEAsg9hj392jfF77kLOSM11vs9fNUGfW
pS.XCMBOmyGeezl4wNXe7Pk3aaqa5bxFdaXdV7GWmmkXAtwYkv3mS7OOCKzc
P2AO20D9Koah1OYulFFupFAX97iQNdS7CXZ9rRUGd714yuU6fGu.HweHdc93
m6d1Im9C7t.V9WrqB3GWmtKZNr7aZDVMx9zwzdGf4+4RQV+cg2NYCTlxXTog
Ln+hyJSJ5i42NaIBn+HmUjGkKKG.uK8ddlkr9xp0PnAS8HTn7NIXnHkZjhxI
4bxh92ebjEtyE7BV+ovmhtKM6wOuLKYEbsa+FTuLSKylvr2+5s7d43qEIudL
LK0Y8lTZVjVViMkUaiufqs.awEb.UOqmGbqu8V8mG7xsQYjamsJy6CVY.mEI
4eonGYBZ1HqVhGIZNJRjd2IUf1a2zos1u0aVtsdxLJ4KJUtlYFvcvpo31jHV
nZxB65aRSe+pylJzIrdchRxmJQBO.25R02oxLiZGtdrIMfeYzjXwufd65qgl
4F6isKUvqp85BroulO1OidHW3R3nkSPClfUU6T5e2JSfdO29YQs+8xbG8S7t
B+WJKBHgGR63WBbybnCBHEUpcP.1mV7NpuAILvqL3W2RGgGU4Ne7oGC+nWi1
1+BWgNMDYTsNJE5f90y7Bsvty4kQ1Dd.GY1oPXWTP8Hl3NyN6xIJ6E21WVwZ
KIzurzWa+NM75Q84mFnqT9tKffTs44CRsUioIcopWnN1MepxY25rutTYuN5a
RND0ryCMxJCgeZ1nE0t7ImJAmcWIEDZV5G1NaT5koSSIk9G+T37Qn.TfqrDe
oTLFIsEgfrkQc9Iz2jEEMiTpX1rbOkfd7kpc9Ix2x7rsMOb1HSeBvyStqYd.
FQJlZ8BfAtmeZ8uEsY1nSZ4ZEgkY5ATDAy4lN+OhRRR+v3H01GqF2..vWqXS
QtxJ9m5C8EKnlcutD2KFFB5EFBuo+caT1aRSlQUgxrg6xVWhq7PeTMjtyBgt
6P1tj4MncZ4oIj.cY1uENq3lwc0J2bX.AHWfCxE3EHLdf7c8P9mS9TVz5n3m
FWkjoRluLsim3QfpmvtyCQJS0CWreFRKxfB78ljUBy+XPQbNzhSQOynPvYMh
m8Qsf+iubhz4zj+3r403vESg.pr.gHdffhtf.E5pchTuLMXlGtar9GqroNee
Xdpy2yyB4pyFcrOO5tCII4it.XZdlY8ccgxcx2CSwxNngGyplmNmmbBjsrUw
hVKS8AOS3T+y6jsjIMa7HjO0WF2OtTyGiBvA9yAO5Yadly4vf4Wx8KhOv28j
OMe0ZDfKIHxoHtP.fYurnvKLpoQX3I8W8FZBCB.x0vxz1IEELqG.fgpOq50m
VvdCe3I+13r7O47mtO0JlKq7aV8GbEGmY2biDucuILOOK91C4xVekhYqwg0q
2mjdaXRQohTJuzAbv9UsSHa46NIGNiHv8ul3jEcemHsMRMRaiwciz1ndQZ6q
z.ssck6FPweAT.mGy.Oo4l0nEBiiGKBi2BmF6ltIftwhqtvgKEXv0LvhZkR9
N6w90.kVX27HfNL.DFM2bfxeg1MU+SLEUMwuJrl1s32Vc5xN5bebsk59tZ31
mEWElYb2OH.VzJR.f.T.ESAAL4+h5vmcUJyS..5KacTPs0HLkxvFQYVaTf0b
TPfcNJJ9viF8GxfewvoSC8pLxOfA9lF2kCNwqRlj3YVQiTNF5w.9Ii26aBgu
JUPqY.6H9rs5g3MapAs7pUUUol5QEJn9XIRVU27rgT1Q04ljFuvj0lnfqLkD
ntRrMRBUORCNHvLSC2lIV+mtTAvXpvOfTkJBlDUzgL1NmaSh2sWIUfaSEHpZ
p3HA2xy39362JZlT8LYIISrzyXPEn9q58Dk0TK9t3jHdrvEZwG8WsJb2tJeb
M6PLVxuHML6eU4GEuU9QkN7VkE8T7w6uDUyVElsluJf04Gxj1.9n2IDZe0io
aXlGNDWwGUYrnxCs.21w9cEq1YUkMXeUEWjRLHVhsT9DI1XSoUbRxVQZR552
GsopC2Uo6h1FucG+nysMuz.Z4kKVoxMUCbmmieUW+35wTdwS8E1rJspiU2mE
uIcKePTalf+wUV9lqLtupDi3arMbmhaVZEuiKtWzQZuMLiOQUf01nRSxooI0
uT48kDcWdwk2EucaCtXd5ttunPau6KeaJ6hO12us3J6u4vV4UugISjeC2iU8
uWXRRgtZ8e9OFtM9wv7n7X4T.BTdQIdi+.yoVZRRM5UdkmTbkMLY70QeHdS9
CxZJox7sAdGO496zTSyEusZ+gaKzguIO5wcILpn9WfQccE11jWBz9mt6yLMJ
.fuD6Ni1EqNZWutC1kz2BBJL6cUuuanELT.uTXI7R4CubVnjqMWmDFW.NbSY
YBnkY80+tOa5Zqgij0oqLSfLfMBRF5PaHdbFXHsKUvSbDdJi3palxWPijunq
3DDKwICjUzh5QDgujHikRFaBXNYiQOUMjPZA5ijQfsz7lsow66g4zUJHrrJj
bMOPI6fr3LkpNrbM0gE8b5vhHCdGicsnCqd3boai1klD8YdrQNe2uZpRmmmc
ErnRH5wWXHhMAuzrGycVQBVDNRAjN+7wYkKwVdqfPgoXnDYbel3sxagbWAkv
ZKzWHu7bwckmqcUhHRlhL9lk2c0HrpXaFhm2wMZ34ULvid+mzXumDYykC5xO
iBBFrLlUHAB4EH8YUTvHpk0hvRtBxlgAOprO.8r61zVYiOFa5GvmadDBXSdT
QTJTxy68xFgG8dYCkxGDnDP1tz2LaulPIZmfMnE2wWnla3qmEGCtZNFPVbLP
zbL.s4tuavX.Zow.R2xPvh7AZqZ23LnX34oqToUGE5paPBr4n.axnvVhlt5p
i5YyYDhtEpimMMYRzUtfZS6UZWyR.aNJ.5Jb5ZS6lTSFE1hWfzkWbTWxNwTn
qoSbPOUQVs8ttiPtz.RbUTQ3UF6czqKpVAxc2JnFKz2NAXucBsAptamE82JK
5oMVTshou5qFtdwaWq3pD25.Ja6ehbpvW6r.csSA1ZGMj0ZjLrp9zx36RJS.
1GGOzzZE43JryIACsSEBZMB9YshRWcXlsektdNpP8dLgrx.WE7w1+verPF63
5sRS.pXGMLw9EgsAitUKabnenecZv95PP9pUzZpAsqCEqzHgy0QCkqSGFWub
T.L.xVuzBxqa4e+gk+0GVVmJjrpIbrZE0nVvtZ+pRyhCD8wZzQiEGi.dUmik
TMF3TcJJMiFVpLRcSGMpfgUnLY5aH3R0l5BMgE0AhEyTbBxlC85Pd5ynAdC3
LU6QtAXkgUG9Mgpz9I.iPvyEXbid1MvaAwniIIKlXPx.HEUePQZZ3olM4u0f
LTSsizEewLHB0ljmJn.cRT4hLna.ymFsnGCfjpKWoxFv2oAdILH1nABr4xk4
XlIQMQgMqNha.2llaCePH1zlCeUPoY+jvEqrSSXx7YTjiMg.SirJZRD.FC4k
1jpqAskFnnaBAOInrzpDuBHqzLI1tiHyHHpzpDYitL2btjnAlj0A5IsIo2.h
ImzT6RLdU.ejy8xQZ.0IWRKAtaXgrelvr.EjyTZxMEXqlsb1YsTjqNmcSAhG
mD7NZEIOkv3nM94QiciYMAbCmHDMNqou1.HY74ppPuPunIvtnkDsqAuhlJ0Y
.jJNI3TbBPo3XfhvwAghyYsxoId9s7dUr71mNRXQb7Ph3ngCQqnNpF1CubCL
UIjFZV9B0GFCmVqk1JzeKPGy56pc+PS3XgkPqwbZbL.MICBZB4fVan25rRam
41YcYEl.efS.5.Wn.plyZrtslp4RDMOulll36Af.PqHIqFp+Lb2WM.d+rIQz
DF+LlJNuNKTCQeFSDZCKeVjHZA+dlSEZ.DMVj.T.sdFSBZCmdVjNZ.adFSCZ
CUdVjFZCIdCWT8Cf5aS.w2rOgh9RlPUBgclKVpKJLYEhnI7zMx.+L.R5FMbz
YE5uMryYtsQcgZN6P.pfTNiVVpAvH2HgPNqP3MfJtmOdkUCCbFDfsAP+1kmA
mZv61v9DFBR2rzXrCnayryDi9v01HgpMqR7Sh1M.F1FMDrcAlir5vr1ynyKY
S3SaL60tAPl1b.WZSGpzF.lzzAhzF+jwWHHiSsDhOHFq.Kg+FFyhMdxixtQh
.BUQZEMQtjZMBsdvsDTPQSr83qiBdVLjPgKIg564OeDZm3Py5rCaW+fr.S2q
KiHvP3noW5DRksjYF4J.gkWPhliHQimDadH9fWPhlWPhlWPhlWMp975SN7b5
DVGBx0pQURw1qw.KUyE+Ecwa8s6b1EE89axSuIIdu48uSfs4KxdqseKOAp7F
zb2F6vqPWdFZb6p7PzgWht8TLr2ht7XzrbRFxyQCuGTDR5vP3JkBoxlkJp4d
XpxEhFtQzwUxftSzzkhB2JnlW5jqEAgRaRlsctT6mnOGLC5joCGM0nxdc1Ln
CGMb5niiGSb9ziCnAcB0uin9cF0uCodcJ0kiI0Nm5vAUuNodCSJ5l2IYfqZv
Mp6zposjlVpac8grXW2pcbyqzU2buoAaWWE2oZa1psaGyKYAkfZdCL7QTROd
ztvUj5U6vq5GE3mUd2ul3beV5gcilEB5mEhFhE1Bit6mGhj+kqBv747wDycf
8x+fcy+PnEUDDhKg4mKG12geMl4oDLVQPHseVHdHVnHiCWc5uMikJSCQQnYW
JrTdXre14Whyu8vcW+XThHL+q49s22KaF2CalLQI06RRCMRVkJWyuKYQ4rMw
2f1LIPOpy.3D4RFvfncC2AEa0fx98ubL2pm+aQVZK3PvLSjfArQBz14QABlZ
QVV8.saAYBs4jp5vvJ3msaI3sZC1GCGTUayuQuv1n45QOBAFLBESxK9PDgLg
IRNGiP.zfgnq6YXHBaAZA8MBUKT7X7lcoL+tEJKAR3gRBpIxzeW48HYBSwBr
NAIya5xSwZKYiNWyIHSDrQK8HjXhbMXPdXkKV6bGMvNM1LKYiZ4z8uyip18w
lk2tMSpYXd5laMMWlA1MSlHIlrRtf.QbjcQwKA4BddCPUiGepjzOFRmaFfUf
mpfKAj.RWfmQrqCVDVMzcbXST3QWnYhh6AUM9hnBTh90Mgq+rx5Q.onvL.cT
QBfdJuBg1oOUrISxrZPbm4pqHKZWz1MNru6cYQ+WZWlI.u4r9JbckQVBEfPZ
PPcWQyLkFu0LJkNmTJATiR8rIk1XOk0fT8mSREgCpPpPHZZzZ09K2pmByZbb
H9YxeWe5D2WQRAUxCPcxCtRiBkpP.GKJWJWPqxGRZBrz1WOVAeJL4PT5csKa
nSjxwA2oxB5z0RR2dembtZey3sw4wgIsYLM9VJJgEE+LGKuF.nhyiJes8Ojl
k2bfg+6q9ppNOFkY5AEbbMPvgrzBNE1KtLEbbWNAGSDaPKhXimAhMtKsXSgs
2KSwFuESrAYfTCbVjZT6Q9IyiuBMqwWICzvWhe0PaDzwSlGXEbVCrhTgDkda
meRzzHp7wyZ.UT5IRrYE4MWEa8sGt6ttJyZfBJDY7pZ7PE1iDKqw08ejqkZr
PnUt6pDohIl59RoT+RoT+EXoT+sRIKm2F9QG5hTW0RiYe1IN658Olll+PzlZ
0GjVoZkzS5nQ8kNZYUVbkQ4kFIqGHHxcoK35S7pQvhfKHKBFH9KOuyEGRYs7
3706Ceb2dGpSsxmRK1m2RJgUTQ+H7kB+6HmCBGAqqVoPYcVWQkkAw8x5TtQH
egjz6NhaLiweibjUsmd4CG0QBj6ccu5bpKcQTUlGlq3iC4X78eXaXxm1Gqel
Um0UyUPnD41CD7OzGFQDTVLJBulAAxh61m9RDzuDA8KGFwdbS2pwaVwHGSVI
K+Ndxxb9MvqpZUu2hAu1YQvV0rhLultxMSBNfi3wFCSylsqlkjQ0heuuieuU
JqEDPtaaXppihu8CtacR752+Yi4YiUPYe78aE3R8.bEnHL.nufefCrh3x3pf
GznqfmBc.WrrWkT7GWdWX5Rnfl5QH4tjCwatlGsOSZI5yNe8CLeD6X2HOwwb
Cz.mulEXdZlyqccYukYvmoEs6vNG7o+0lzOr0A6y9j8Ioen35HDv8zGH9JxO
hMQHdXIQauO+AGeeL6YvbL+.y0+CoIa3K63qSu6tSePMQRYad4fj2gMcwIib
sIEB2Woi8PYgrAYgAUUXvi2X6HxbDSBlY48iRSJ8cvK7.954RhbDRWN4oNGc
PxlWCqG4badLxTd730ifxsIf3w6UvU9i.XEPBCGX7Bx69PXbtS9CQNExpo2U
xtb9.iYl9g4iqAFOWiJK4aDTAWC3t3bMgNaMItPFWjEyGm+ktcecKyShq4Od
ll73tiX7NXU0TdSaDJ8bunLs2E9dN2h8UXiS4ZZYxZajxa+J6R4rq57TXVb5
AlvW3m167OK3kW4jjdXyVVziW4reGi9xBSb1+P3tnqbxYQ7eeT1Uheo6Ywr9
aud1LkFLZVOUdVecCJ5rW.4ef795lrRyHzEjyK40rkddXAq4WHaQjLKZHeHE
6ydkCmLRGGEGDZvR1XOXda2adQg6asN5ADK8SBCpGPEEwSxxKM3CyZvGHomS
nb+3IELPB3KiF7Ar6F7ghz0LPJarVK9.9RK93KsV7gcaqGs8XU2n8eZ6dlIj
8rnSYAWwkUYKUJ+yN4rvH1KCYkMQdLJLVbW7O5IlXMKheV7+gOkFugGSFOXi
386ODs+5lOpthNvrym7Lb5j8OFLV4NMVO9fyXmDnntta4+zHdDMXINV7E8HQ
HyyIk4J.R787gdDfGymp+EU+Y30CzwP5ocW3CVnNFRA2jRu12khATBaY+9HQ
qk8xpG1DtQ5sxYe78Osez7U3LzIazk2hcOov6SWTIyo0LFvS1X2QkT1h.bov
.ldJE46Bc4JoeQzYF3BRZed38AmgSGtuIclAZvYXDRCLXDhe4vgOgEFyzLSy
1D2y1s0U1Qv1caT7KJYHRQW0u3O7T94E7xBjMaAxtxJ1.iDQZ5AKNO5ur.4W
Vf7KKP945BjWeHiCBCGWB7tz8wbdfysQ7079gr377nsr0Bakk85M4HAwP4YO
f8W9XlkIDgBnr0WvSTrzb0hsH3g3zpSftQ7Kxj4WTDeUWxRnUUJzOi7m+XVD
SkvIzI+CoN6YBWa237etZS5AlNcwo64+bEOqLxnMbR2Fc7qw2vQA2M+CLUbm
8oNe3AlTqbSg3xwtPTgD99q343IKxIduSXhXChBcdJLIdiy5GNr88U9sROtq
R8myGxYKmOkB+xFSmDWC.WFKn9XMS+5W+Zw9usWTkDiUvG1t+80SDBiXg2cW
U0kOrtijnqS1mrSAhDP5TooIAV6.QzKoTIwH9MMpVNyrKM0NVoZttJ6WhCFL
+jDx9Cmg5SbAtbvK2CbIwQ+cNvqGcynEfmjv9X6hpiRHGxVGUfqOFPC.H.zG
g3R29WCgPP.GdGC.L5AcokuuM62wi9N5yi2hDXRSRDcRw5UULLU7uUlcvwMy
45dMJ.5QfHrKtH6YJ0rvWTsk3z2GUwsxXaEwAtSZ5CLKy.LODT1L.xMf5wX+
txBsgx9CaFI.gbQtdrIffKpVs8u+yNDB+vXMV6aAV17lhbCMg4HZfPKo5bDK
fKDBA88wPrOypmG4RSIQDb5mc.Sblx2+YzLkLz.HaEN7hfolUMlunKImOyjI
LWuyuILYLtWBVslTOWGO0FSeWRxpXYUVzllaVUOoN3YTSXG6N8pbfRZZMt45
qDo9QS95XS90k0lEFfMXit3w8v2YwkcyB8MYDh0o8dWTWxP+qIr+.ITJwk54
C4EyM6ZMCqp82q0CHMaibeefWt7FtIeE6Kb4PGc4NzwtFLsBbulWZ9dPeWL.
QwDVDVH1ZSZNs1960MuArn7FhI8b+NXj0AK5qp7Bbw6W8XhoFYFfdBpOwcUw
GgC.9D.6CEeBfE9Jy3NvEgnTWZKHsVkHjqLVOOn3DKTONPWTqf4a+8tTDgLh
kKrLrXr7yjsRH.apiD3.ZUtAt.lvP.urz7B3L.W.L.w3J9z.LzGI4R9DWBkD
35SfbzVWCwP9BGIMSLlGPHr45Vb1i7C3KmrUV.T78tTDJMaJPXXa4lBNahk.
CJWqt3fyFSQ6XREaT8.AkdZEg70f7ihJV3l2Fs8P8XhOVyE8y4t896hSRJIz
W042jsX4h0VUvVtpwkqwrPADH+XQwVH.DSQdh2wdiqqhYkh6Ed7lYLPlBJ+V
HdrkW3JdmO2YfvZXG2N5zylMsHehf.eoITL+ifJEQe0pvs2WToGTPyUnyDAy
R2klUVZLWiCZc+GxSuOKbSbwhXpo9We9tdw9HOa+r6Rc8Ivsfwl.ia9a1mBS
ovw2eXc3XDH1GkvVaGiZqMeR4h7h4SnGEImG7A.HQsVOOuJh6m2jUix1GUN2
fCPPwbCpbRFQ8IX0yMLwy5tKYtBoBUO+.lVFU7NBJfJjQb85WClPcgXw2Dwz
YCjuyEJTlU+vMW2nTNX.0CCEQqqf3WpV3SAt99x20IWroBhGyNl3djmhQ46j
+hmE8iFr8v0qYewZ7KLWZQvjHGG6biIjNl3XhvO17mf5yHUIOi452W9N1ulH
H.E+FUy8FyMwecWzVmeLb6dmeL5w3aSS1rpoY8ERw9G9C42H9YAiQ8dcRTXV
EFCTt.l.lxjqTlfIRQwFpV2dkPCoGKk0U8N30CEyrK26hTgmPAB0HtVD9evT
iM91WX83po99mcZAK6cnpalwolpoxjjelzLe+9jXVzt+DuLfGktYC0xZubln
oGC+nWi5OVWxYlrVzfUvz50QLRpMTFsAsP+77xHUrgHFKYvBigEILJnpOPdL
TDW34l7Z2HvVDYk415dE6yGs.09cZXel5yWyxUJeW229WDqhQsUioIcoZmtF
g1iPVpxJLqF3vYQyQtyzeSxgnWCGC0oJbYHkEYjv0YIgFv+H3E.glk9gsyFk
dh9bKsEhuPnz+3mBmOBEfXK3U5JihwHosHDDBwmeB8MYQQyHkJlMEGJLY9F3
w4d9Ix2x7rsMOb1HSeBvySlHEO.zSDuB0K.F3d9o0+injjzOLNRscT+tA.fu
VwrgbgToWRnuXAd7btRNuLDAh97F158msYdZ4pVcYgm5JnXXUO6mEBMSt3EN
kNt7HaFM12B78HLMifBKbzhr7wjCBNq15NweFmjPiDfPg.AgEfIdffhDYRgc
rL2mMhQ4g6FqUiJKi+6CySc9d9AgzJqk+kCNdWGb7nM2GYbm28DnzonDxPC1
Nh0E3Djmbb0sVMzRC.EkMtHSam0mf619KpQcNiHc2QeIdxxvodK0DRVZ1z5G
XyriQhhtDcg.LEWuKDv2OK2EGtb1DkD9oOKNQjts5AsZHP4uH7JjWaIp.3hq
2E9vHT4BVjdZgOndiSV1QVQsZWlyN+pYdE0pIXBQKiNla2UUsFUTsc5q3be6
GhMFZppdC7eB4UN0.vsFREHavp9j58cVQBs8rSinebbHOkbn58McawjJ.xA0
LIh4nrTS9lpRQpB2SiZ.uypOpQuXp2oOSGF95OLZUIyyeAPMqjlmtTlEYutZ
NFPVbLPt.3CbDKQqAwwhN2NiBWiz4fVZXHbsp03PgQh4u9fUTDlmIxEtDTay
yuf3TtGDzNReLoiKol4ArCyCDnsLaqyjvkzfqs0XkSDXnKmcCH9t.jGaxT.u
H9cboEULVA+sKhkZQiXk+5ZLNbs53PWGr1cT3NAQPMOuNy6H1TePcqxTXgh2
HgZY8Rbrpatxx1ewAB3scAmehv0nPyUjc2JrlNpMip4Ps6hJerET9DJl7ITH
4cW9E8W5E8T1EUy46Ue0vY7tc1tUIM2QAh2+D4TKJ7YofvmRwfO5BA2HYXU0
Uz3qpmITsniufushbb0jBLkh6dpE1sQE0sUT5daXdttJcUalp+bC+DM1k8FX
tiEF3pp579G9isRyGWs.NgJLezUW9WD1FL5Vsrwg9qX7oUs3CUo3VQq4md2e
V+XkpQXPObQI7AoDuffh2ABFP7ExiNR5.jKyJ7mROFmjpFqsrwYVULjGfkrz
qP7lEmTLjIYHSu2koBfAGPnKsf75V92eX4eW.0SlUDOWrr3ofroMjl9NIdP1
5qj0AKxiTTMIPl9+f5Oe2m1jkdez12IlesqZjXaIhWqqpzr3.wGGPOdHBJbH
v+HW7.JfGKnXUuSOEvAFkSdIUPyIwIozzjsVDue62MI0McznBFVgxjouFZDu
IZazSgKjtv2z.WwGHVrVgg4WNCBJdGz5wPVLz+1Z8wrmQC72DFu8yiXjyDOK
8E29cK2ve+GhY1azk.Zobz2YRaAF2nmcC7+MYIiNsjrXhAoFtv50Qx.7mgBb
XnQ0Rve+9nMi2NRW7EUTqWOIN1dj2aCyyh+357rjYhJWjAcTdT1mG4hdFzL4
yAox+R5ln8ixKgAwFMPfMWtLGyLIp812XwQr3.fLEa3sCbYAG9+P75by34Wr
xN+.GkpxeVF43OtNcWzXsJZRD.MVc+wT6ETdb5VRYu2Ed6nTzMgfUIsNnczE
g3i9X9sSZQZcGQVWmZxE2336RumuBcqrjnAljOdJe42EQrg3LgjhszcIH8+8
GMXivu.VLxOE9TzcoYO9Y6sbjFsliKok.uIL68udK+.k8ZQR2zkInNCcjS8U
jx8rtb2q8EbCKjlb3.h9VKmcVKE4pyYWY5aGwVToxz3f6nmUk79khi5G.T4T
iZiedzX2X1d28DfVor9z1v05M1K805Ope1pJzbUdt8til2lDwB2PVPCeSZ56
WYcQ63sue7Rcm1pRONzFgq9tlp0pcF4wX7.+xHevh6d3c1w.yIi4w0kJxU0d
0BariYiyyfWEKu8osbbn4Dlp5JPu6TYxB64Vsp5n51O2kafoI7vwLaIRMyWH
HfTT8dhCgTw6n9ZtPQs6dPVg9a0jrr9tZ2eqzarsQOqwbZbrVMICBZ1h7r1P
uUqvyNysy5xJLoc2MgVc2BEP0bVi0s0TMWhnY6qyzDeOPKqyJRxpaMcFt6qF
zN5rIQzrsyYLUbdcVntkxYLQncajyhDQq1Em4TgFsHNKR.JZEbFSBZ292rHc
72h1LIZfVtNAX4JvAEddWJZncqpa3hpef1S2DZMc1mPQeISnJ60dlKVpaiQy
JDwtCY6RldfezxSs.Gwt8k6gE2Lm6f42.CH.YvuHWfWfPAE465g7WB5OKZcT
7S5WADpjAKSKyIZGTsp9sKAnpQHZzxRMn4GNxFenUH78Qa2r+4nWY0clQCBv
1ftw3kmAmZcbwg8ILTWVzRiw84Q2cHII2nMLt4Yhw20EJ2sMOLEKO0ndLKCd
CcltHP1RPDK.ob4l7rzQ8WlIHIwOIZG4S8kwKhK0vvn.rBbWyPZ+hNGY47dn
4ywyK4G3Yg8SSau1A7YNQtTvESXLaMEalo1GZRCNgbp23BXP.Pt9DllFon.p
7..Lr84AqNaF60+Al3aiyx+jye59zYw7SwuwwefgZlqEb+NahqpZfqCz7Va1
3VkIWR7pTVQ7Lqz.1jig5Mds86Xi2rCOtIK7CGqUiZh1E48pd+XiT7gU5Ea9
tUu61XPu5luVOMdstgidk3Btqnwz4ijcsU.j2HKftjiZdFxVpmP0J8Cxnbm3
rqYytO9XY4fqrqPVk2P8VMVlP2jJkJ5xb9M5IlFRn058kmnSg.+5zsOkl7Tz
mYV2fN+ZTVpRBFpffAFRvM5wic2eGKlfgX2IQ12kjxFYmjXydLT7X7zj.cQm
jEyXxn4QY2DsM71jl5LsaMwJlsa1RhUQ9z.BWj1iHvGaH.OI5u19fMH0RLmX
6bldPBkE0EmPcoRJjb70EfN8WR5rXBcdnyNTi24rd2g73GKKG6AMUQvyiY75
cOZyrkeTTGHD0K51sUNc9qJ7H1z25cwIQ7fQJ7sdr+dtJb2tJebsfgXbweQF
6g+UkeT7V4GU1fPWkE8T7w6GW9ogYq4gcsN+Pljv9n2od15pGSYqRb6g3JcP
rxnMjUIImgreWge1UU1wmUU3EtdRyd7W8HRK+9jJQ5vBcOIc86i1Ts46tJcW
z13s630v917xVAU4kKBO7lZSxLelAtPeuxdtrpuci3BpeQkSwr3Xxh2jtkOj
pMuv+3JQIKrnye8DoI9FaC2o3lkQZ0wE2KZdT2Flwm1JzeQkgMkllT+Rk2WR
zc4EWdW71sM3o4o659hY7E118kuMkcwG662Vbk82bXq7p2vjPxugGUY8uWXR
Rgxd8e9OFtMl4DKhqsKHWP4Ek1vdfE3YZRRM5UdkmTbkMLI90QeHdS9Cxs3r
x7sAQvdJD0Zc.rFezgaKznuIO5wcILpn9WfQcc0zvzq8B2BLuzqsv2cuCFLT
GTVHKWXZ283qc1Lpi2x707TXhS7VmG26Du2IKhuAyQabXbkHq2fp6oCneqCz
T9VsdJuVVXdkYMm4132P2Fe5XFBBnRSoh4Fw6QvEDnB1cXM2psorVrsYsJP8
gwxag.gVfzA1RxbeMybkoMsexyAFagYEBVhPBhd03BxWGgo.2mAlBjqn54lk
.umCBrDpHMLV0PvnPihwhEEZgbPE1+HTM89y+Qc1yhtbuCK5M1ukS31MEQ.v
BFnH1.kAAfN2LReaxHkZllxGC4bsBFYuLO3RgMC9W.M1X5E.xAnaCdlXwlku
ts2YuuzQPAClKr0X.oKHNz4XXI1EF8xQxBrWMcjju6RNDu45aObGOqG6+ryW
K4yN+RbN6Cu9wnDlgwM6YeN+5M+3qke5WeKOHDtISj1I4WcN9w8lQzqNFXwU
CrKGPZQd+DA6RZB4dyLq6H23yNHPIC70u90oa2Gw4N2EExyx291L06tKm8UX
Bs2um4cxywi370L91cYQ+Wr.AX+Xrwg7e3B3+SdUmItSj7ebGOSy6Enw1HlC
7Vh4.Xf3uB.A1XNH24VmDcoWHrCJFMDEqCgR7jKbkLMBsqMO7wv2G4Dm43CC
PLIZlzgtYkOveN2.wBp0UNeBgt1XZcGK90HQXr62w0hzcFFELmjJFTiTAVgT
iyNrOJiY3c2Cg6ibXzmtDa.Z0LuqRGmackoJ.5YCB9WSbR3aCflRuHzJy2PT
szWkXvVWRvheg5wwKI5lwoTP5siauFbzzUPZ3pvpQCHxoE+V2GMEc1dz0gWo
E8Qi03IKFdvNDm08AE3qwSJn9bPCvRAREfkhKFKy0+o+0TGaZM0ipr.kw+nz
3I4glgGjdZR0I753uz3ez5LU6GLGDoFOHBdFdPTOcHIW0bSf8ez7x+Y9mHoD
cdzygzpdFeshzZCVmFP343eT5XBbFdNdlHxL8mDbHMP5b7jzQBgflqmzPzzr
7fzYVZFdNt53ieFbwSzxb7LPPDpFyPTu45IMHI4OGOIclkHygNKQGq5D243I
oSzktygpDQGqCnY4IA0k6MY0IcCtYpOHTfAglOsmjNVHPygIB8VRkUBn.oUr
h1HTQsdxMT+mKhVq.3fygMYjVArMGwQosQkopAB0ZwZygaFnNZfddy0SZHmz
yh.AbwB2EtXg6Bc0MwLS9IokUiiylS7QoivmMLOo0SF4YCixPsDOajdL0Y9h
D.qj4Kw+Z1YTZMZaDDzrxoFbkWygkcHTW0KzTeR.e8E5m3ShtXOIuE6IoicP
erUrYn0yFW+K8P7lM0NZDylxgVillRakObzDe3jKJVAQKVA87wJf.ncDIwWT
yCXsXEd1YdPuGNxNyCKTJ0fZQiZOeiVfACQ2ACbAFL3wnIH2E6FmgQ93nwYW
rw4Vr8YVr6yqXyypnnb5jmTqF6b9op+9vl3zeTbL6t4skPSQi1NQA2RQiC8X
g3otGS2rmcRfPY+Vm2BukcuyiXL7o50sd2EsR+qrr+aS3cHTb8109H6uzp6M
nc2WP6nmfdrL.u5q5tATTu4STU3rbx36OrNruI.086CJB3I6UGPOJRxW7A.X
8FOc2s5CTYe58DZTfZ2XyaCU5D1RFjPWgKonqSQPATILR6Ude0awtTWHtn2K
i8K5BytLq4AMeXCKq0r4zNtVD6HwD8FBbZ1uTlM4sB1jp1lpVXZsxl1C0mMz
kzN.56KeG6WAUGbcZ1PV9q6hJfOfeL5w3a4c.siNnlnBwaCyy6Sgnid2Sm8s
mIOf9g+P9MhaCz2vpInETz1rCXZItRgDlrEEqo9YWMy41JjG68eseW0ayLTN
4Yp9n121LqP1t+YVxBU1bf0wpQKD6PbhslII5e5c+4984WuqN4gK5IyPJwKH
n3cffdDwNAXGtkP3D8ne+lcChV8QJDOXAYmADAc8jV13ynnZ8Qpym.pd1aO6
AnnV9zue4SW.0ShNZdtXYCdExlFPZ3Kg3AYKgP13wQdjh9bHzuQCjqor828o
MYo2Gs8ch4r4QDu.Jy5SLexFe8wAzindPgAU9G4h6QwPS.KrCEidFYiJLcnY
jxnEnGE10psZPeR6A8Krq6zQCI12DsM5ovYVV8apzui5HFCS.pz4ZX8skGU3
KnA0aBi29YMGUZBnfy1PShA88M3zF14m4wD5hZPUCy6MYwu5pzpIF2qGZpNd
vNdt3WkXXut5gpnU8wr94ZX2Da5G0neVGPUvcdsB.VS7m87KgTAO40vpnl9g
6wg54mfG1DhFPe7rMZpf+65aOqWLeetFZMw1c0Cuy97YUba+BJZipXxtVVLz
0CkQXv9bQMkXstFJL5RHiFa0mMhpAFpqmziZO8ZiY5y1fuR6deNBmsmIkgvB
84hjpf44iZpXNGKMvy74JTyJXh34X4Fpwob0D2jwl7IjpMSPM1YI+BydZ1pm
egwh43iFuwmrjRKbEeN9oPlrYH5h.2S.yvmbJvzDiveNHh1IVfqKNfOChbk3
8stRHZhw2iFeuGI1daJdYaNldO0ZrPC.nd4rDOyacwHvo6wgQ2iBetmrZRab
397ErTKL1VubinGtZOd7BZxzUMD40J6DT2Xk8XvI6YgfqzOH0YUdZfA1yxvp
V2UZ9lKlbno5hm0iDKqsry+oTmZ00NzaVrZGYW2jt0ClTOYIq1XOsl6vgl3M
8bM.qhqzZOBWFijswLZsGfZgSzyz.rFdPq+Hb.zlblFbMv5YsGdZguyyzXrB
NNq83SKradlFe0wn4tK.vdfq3QBUwyKAfdNR.svTY8EQzAVSm7.rJdIaXvCZ
hQxiBejmLcUGGj02tgNXe7zGbMw3XsVVfl3Z7Hvz3ISPUvt3KGOHswkXMBrR
SrH97ovVh2vcaGrOLFdFd9JvRX8p4U8vO3QfcvyFQYLMoIt.OJLA9Lt99S39
6Ex4EnJd9ZxdMoIF9NU76cZX2aO316PX1qYLV4QmqCr16q9e9p++fHrZOo
-----------end_max5_patcher-----------