Global pitch modulator problem
-
My goal is to simulate vibrato by modulating the gain and pitch with an LFO, I was hoping that by using a single global LFO instead of two individual ones I would save a little CPU.
-
Well this is exactly what the Global Modulator system is made for, but why can't you use the intensity of the receiving pitch modulator?
-
I don't see an intensity slider there
-
The thingy that says 1.00st :)
-
But I want that to be set to 1st so the LFO goes up to 1 st, and then I want to use a CC to change the intensity of the LFO but I don't want to change the pitch variation.
-
not sure to 100% understand, but, do you want this (?) :
-
I want that but as a global modulator, which I can do already, but when I reduce the intensity of the global LFO I want it to reduce the effect of the receiving parameter, in my case pitch. Which it doesn't, so for this purpose I can't see it being very useful unless I'm missing something... I guess I could write a script to do the job
-
this is a global modulator; but, infortunaly, pitch shift is already linked to sampler/waveform generator (maybe possible in global ?).
So yes i think you must script to link one knob (or else) to the LFO & Pitch function together. And if i say well when you'll increase/decrease the value of your knob (or else) you will do the same thing for LFO intensity and Pitch shift.
But LFO and pitch shift (pitch is in ST) have not the same values/interval.why not a knob for LFO (invisible), a knob for Pitch (invisible) and a global knob (visible) linked to the two by script ?
-
No that's not a global modulator :) global modulators go in a global modulator container. That's a gain modulator at the top level of the chain. Take a look at the snippet I posted in the first post.
-
Now I get it. I think I need to change the way how the intensity modulation affects the intensity. Right now it just "modulates" the intensity and for Global Modulators this has no effect so in this case I need to apply this directly on the actual modulation signal. Does that make sense?
-
Or add a intensity modulation to the receiving modulator which might be even cleaner...
-
Ya that's what I need, thanks :)
-
Just ran into this issue again so time for a bump :)
-
Is there be some scriptable work-around for this?
-
Well I came up with a quick kind of solution that works via a knob on the GUI. It's not ideal though as the pitch value changes with the intensity but really I just want to be changing intensity and leaving the actual pitch alone.
HiseSnippet 1372.3oc4X81aaSDF+bRMZ0PJLsgDBgDVUfT5XT0zUZAlPMsoMUQqoIptqfDuX5p8kjS09Ni84.cS6c7d9Rv2.9hvGA3c7x8ZdC7b9risWyxRx5fAyppJ2yet628bO+6ttAbaRXHO.os3IW3SPZukt0ELwfFCvTFp0dHskzaiCEj.SEocuvGGFRbPZZkOPRPawEPweOY6cwtXlMIiDBcJmZSNj5QEYT6V+dTW2lXGxITubRuQ8V1bVCtKOBvSY80P9X6yw8IGgkhURGo8F66PE7.KAVPBQZKrK24BqA7umoj+TZH8LWhbPMjELQJxM4tNRDK+Mpw.pqS2z8cHBlztYVgxJqvM0aScninmYMdmXFlYZj2dnUZRvq1bBOsbvaAE7tttkc.0WjwQhsajPMCcqW.dJtnR+glNXmCElCwAlmyNqKUXOv7qLavYBBSrJ1w4dL9YUWNk2x21bM3uUtaEiJFYpdXyNfVwtKq1mHZychbwv1u5xRNiFtrTuLs73NOCsNvkeF10T5TXdJNfhYhmZVpXjBoUCIBIdC3tMvttmANJUS40XWkrTlKkQL6EwrETNyLieUakp2FPjaDYkJFOphgI7A.WNysjFhPp3hpJ92UwEfdQt0tUBeiGOZU3ri3BRGV0ULdjwhFO13o4zq23XkrYbIAiiqzlDLA0pxh7NiDjteRjC7WJ5PZLcNj1JGgbBxYsXTQGexnwpMYJk0Pi1b4IksoxSMdyLFwxHc4n.ThyoLdHQbPTQbzvRI98VtTGR.hBN6F5oG1nXKR9TRn62ZOr.mNSvjBKjOIPPklHs8HCgTVp3rE02iDdtf6GKqmOmIgfl9zrt+.Hmlb4tH8GPVTeK5CSAS8e+g+31nKGbCoXRc5ym2QlrMgAbzWHvdjCY9jwyPxn0FaxnZi6XXJg600iMBiGukFCdgSiW13MI0dE8860iXKx.6B5M+l4MO97Akqofx6qqR4kY.A+Q.UDU97OHgcVRPyLAd10g+0osNr+TWGVqbQCR4oKOxXJlsv+B0ZWapq0Nst223RmLgWoAjyY2AKofrtNTFKFmusdgJwOOLhP6R84t3.I+lAjuKhvryw2rtzYoUluV8ep9WiGR5wC7RRXNZ2dHoOrj4obBARfB08syufVdbtX.k0unK3MqeHm6uOCCFDm7SRinPA2KcQQZer95arZwugcf+06Sj+7KZDOFYAYdiy4q8s5aFKeN92oyUy3KkAa9iRJM09gxy2QmjxS5WwKLnP7Heq+Cf3IVJq7qmkxNlGIfX11XQ.U1myQQdVPwBaBfDFi3FJa4ojrqM030RaAxhvbhG7WvWByZxwZILqkxDc47ZuotET5K9lCwa12MdroLYf4ADnn3kxwkqv3u8m+7ub0WXris.V8SBvrPedXgI1h3QOAZXLLOw6GRj99GKcjxSuAGGLVVOY6lvdbr5XgEQAwdj63wiXhBdfkmqZME6wLm7uhTIu1Udz8Kde0kmtHpmSoaiTLZQ87cI6yFRbgKkjjAZORObjqXD07frMmw8GvYzB0UOl.gl86SBJ79LYU2G6VaGg.tGc9pvGSbI3790eT8CA+Qb.XwHyoUo1zaUlzI26oqfq58B9+wMidgKmLmMNl71eoW3PZQSd.lrdGkf+C0m3azLS8WBoBOAGCaorCg6eqzKlnpYsmcycaI17nsRZtCtSDiD+dHHsaMgqL8kE6E9khU80shz+SrFdX6.9CRdwNom60ho.6aV76Bunda4XyZoO0iz13A0adfsszX+of0Y7Zr9LqwclYM1Xl03ylYM1bl0XqYViOeBZHKtuSDbuLUBMfP28UQvZitBmVYzeCntIiLB
-
I've modified my previous script to be more useful now. It can set a CC to control the "intensity" and has a table to shape the CC response curve. The only thing I don't know how to do is add a smoothing value, I don't know if it's necessary though anyway.
HiseSnippet 1753.3oc4Y0sSbaDEdL65jvlrjllToppJUKTakIkf1kPf1FEwFLPJJ7mXARk5EoC1yt6HrmYq8rTnQ4YH20qyE8Mnu.Q8InOB8QHW2aZOiG60igkkcSH8mDqDD97yLemely4LlMC4tjnHdHxXzsOpMAYbEy5GwDsbZgoLzJKhLFybMbjfDZoHsvQswQQDOjgQgGHIXLZQT7yKmeArOl4RxHgP6xotjUoATQF0Mq8Ppu+xXOx1z.Momo1JtblC2m2AvSAyJn1X28wMIqikhMhIx3BK4QE7v5BrfDgLJt.26n5s3+HSI+tzH5d9D4KUQ0gERQdYtumDwRpHmVTeuMSs6HDrnal4EJn7B2vbMpGsK8Luw6EyvJSCc+gwH8CdUOa3UoWvyPCdEUv6Zl0cCosEYbjX65ITyP2z4fmhKZjmUzzgyDDlXpHh3QTOQK6YqTYh6VtjF8ugPa1RXemX5kKEmULkGoAIzA66uGDYhrEgcHJ1PfKRXc.NzZ0k2v5dVJwaRDqw853iAmh83RNcecbodYZEv8NEsdfOeOrukLUwZWbHEyDGaUzWm8Y6sIU31BVrTaA648PFeO6wS4M9jVUf+IUMkjzfsGWPNT.LGWI0I4GP877IaxinBJmMdOVisvrlD6aUc5Isj+uxTUp1CDthDXvhbzofxt7gsn5czvZWF4wal78RN4NDx8SiZ157cVnGvyw4TvkiCra2thFfbbxiDPhbbT9iJRuwbvON9lI1y2oS3Aj7621X3PBrlILg0cltNgxknLeJiX0nCyUFErxaN1tJqcRX88gjyxkdR4RVvCj7IATWQsU7uqhKj9kma2fJjLtqTR6ItYhFkdZ28lyVmKHavrmnzSJMZomV53bZznWrRhH9jPI2xkFk1vxdM3DKTqStgY7WuSvdRort28TQFM7LgB5I1m743Qdkfo9QopwtVE4dteoKcpe4DqpaKYD0yFbCRdOMugIOjF1GK1lEaOoAmD4fxZ4qaVZvpa5pRYzDjyVgQEazlz8cU7IkRET23hNoL6WmZrwzCwxHcxh0njzXnrcwDwAQEwEsGKo7bcepGIDQgZxWzLNnhhcGYMB+7ZnAP4wL0iLGeMd97CxZTxLMQ+35+RM8Kpzubh9wIQIpmlbkptogTeOr.iL9LyomYp7OGrA7iFeg7W+Jm32QncVYQo3PGpDmG3PaSBETYpfwhjCfIHTs8F0bQRz9Bd6XuaPaNS5pMt3Y5eOTBrIMPnij+hz7fIZZWm9S4L3.7gce8EOtlrlFrQlf9HscybPCHwa5Oiz1T0JdYyLYzW3qLHQoCSWKMK4H4QiKXJKSix2hReRLcqCYWKpSiFzCimppA0OHR.64JAPAAjw6atSDwBZ0i63Krh1GF8AJ4tOwaadr7Jy3hlJDEnOCn8KzsnAIuI1f9M8PC5jy6.Sck1wWeTL47mILjFq9rNYtXs.7PLeVkAd7wAEtWS4u5MdGoG3ENQ7lFuIS6V1boFMHthLvVzb4u8Ucz1WMnbIET9HS07dYNPnl.fJhZD2ONgc1DfVYBb5WM42GzqlzdfuZhQg2Dy5W7egqhb9mpe8SDkhF9CmEFLG5YbgowTvzzDl+KFaW0L20PNKb874Wf1l6iCk7WNj7CcHLWM9WplLYYkrbsZOq1ivGPZvCCRZZ00BWkzD1RcJaSfZkvkdb0yKqGv4hVTVy7of2n1pbd6kXxhnd5KhSmHAOHcSGz1t0gFfw8cM9NyYikWi+s2374cz4WPcjAN2SFeytgEHx+waLnPb2bq+Gf391Jqv6lsx1h2Q.mYWCCCRImoAt4VcnYgKAPBiQ7iji2Lh7FBp2qjNtScByK9k+BdRXVU9tQBypoLQmrt1kMqCs9h+rIwF6GD+tkrXf0CHPSwSTiSqw3e7m+xud92XbCWAr6aGhYQs4Q4V35j.51vrgQ5DgYMk49aISjzo6vwg8j0KmeYvF6oN0whNgwYj2Of2gIxkA9VSC6pm6Gne8GktvfcH5L5VWJEi0oAs8IKwNf3C2ELonyhpajzkpNHWiy3sawYzbsR2h.mFa1jDl6qTm0Puml18EBr695Md2h3Sv5oxeZsUgTPbH3wHu4mgoeQtOzTAW02G8siKC8Z2A4U7iqm7W.I8NFROZxGbNabQI3+Dy99Mo6qo786rCQOCDp9otVbrrGPBEJ8hIt3Y7YTlSL65ykLOGbMHFwUco+a1maI804G+8bKi8csdw+SrGAX2P9iS9h1xr0KESAraV7eQrQMWS9tU0zu9lz2D.8XdrqqzYeqpHTu0X5gViaOzZLyPqwcFZMlcn0XtgViurOZHane+Nv0uTEw.Batj5TqQ2apYT.82.olE8fA
I did some more testing too and discovered this issue isn't just with the global modulators. It happens even when just applying and LFO directly to a sound generator's pitch parameter. :(
-
@Christoph-Hart your suggested solution, using an inverted modulator, seems to have solved the issue :)
HiseSnippet 969.3oc6W0saaaCElz1ZnAcqqsKEXWpK5tZXCwoo+cUbhicgwbZLhbxFvFPKqzw1DkhTihJc9on2tWjc8dk5Sv5HEssnVzbsac5FFltvP7PdH+z46b9NzCjhPHMUHQ3sFNMAP3O0KXJWMo8DBki5cDBeCuiIoJP5aMc3zDRZJDgv35OwX.uUCT9ya1+PBivCgBSHz4BZHzmFSUEVGz56nLVWRDLjF6r58Z0KTvaKXhLMdp6sCJgD9RxX3oDyxp4gveRmHpRHCTDEjhvMNTDMMXh3Ub65OmlReACLCZhBzaj0bWAKxfXy6n1SnrnAy+tSQHr2fhnPcaTXauioQzE1KhF2LeB+BObiG3ZKCdMcg2NUBulU.OjC5ZXQmFDhnLFQUFYF5X1DTQYlpGWA7TpZpKc8OJbuk2.pJbR03sVE3USTW03cF4+YdcFMBBUEfsgW2e3iKSeCKTttW.kC4Uj4.4N4i8+dxEf+S.NHMA0+tZxme.9WW0ZxjUtl7jPk9zGJI7zDQZoMN.hoCEbS.ov3YoPWI7ymZHYW6sEDYkS8l86p+Fqzm.hJSlmsbPrHiqJkcTekoDWsgxEMNquBghF+uPQNbquZvshHHdvkZ3bScJcbBC5vu.XBsEq5vQvHRFSsvpKHOVvEISDbZnaBvofRRGOFjtPuxumCTJcikBKa25TfAD2j461puNIjH0gI38LTzb0CEKit9ROKb8MEl9+2Peu9Gp99Zzcu1kUU87528jbT94l27W.+khwme1Y+19GRSDLhzLuQgJC3gym2+md8eruQAsWwkhZ85VFs5QBYr8nKXm9vX8Q5ZYHDmHzZ8kxpChEB0DJebYc4sa0WHR5vI5.Rj6lzNKUIhmenH7W4s6dea4mKNQ+ynu175iamOFEnfjiHJBB+idOHe8NyeuS1LiQathmZqXV3WjyuKXRCSuQqaVi7vJk9L8HZK3JofwzBWFHeaaiiBq69tQrtG6PRNjJRb5oUNkJ2jCSO24a5SyheQYkRahV4rLZqYxvmSXYvFsV8CQawxpKp+13r56mZ30WBodq+Jo9NUZ9cGklKSulFaWkzawNkevVogxRIyjNVTpOSZ4pQE+eS2R+TQlRqGeLQecieQ2LQGqCz2NNDzHgyAl9f7v0LAQ63cLisWOlGkO3s5mYS1zLFOaxlym7ixYDSBkhmEZYZiB00xsn+t44+e6sz+we8X+lnKroGlXSrNM9Ygglf82niNU6wtqsG2as8Xu01i6u1d7f01iGt1d7nk3gQy3fLc6b6EnzFFzwVJhWz4GWG8m.+GNYQ
-
@Christoph-Hart Seems there is still a problem here (maybe fixed in the develop branch?).
Using the last snippet I posted if I have the mod-wheel at 0 and play a note it gives one pitch, if I move the mod-wheel to 127 and play the same note it gives a different pitch.
-
This issue is still there in the develop branch. Here is a video comparing the behaviour in Kontakt and HISE, with accompanying project files so you can test it yourself.
https://www.youtube.com/watch?v=c4I1XZYKbpg
HISE snippet:
HiseSnippet 1149.3oc6X8zaaTDEe1XOzDZaZQzJPHPZufDRPqrcSK+4h2DG6DKrarx5jhDGZmt633Qrdlkcm0fOw2B9lvY3C.G3i.G3C.W3L7lYWu63TSv0xIMAXOX44MuY2eu++dSuHgGMNVDgr1n+jPJx5FX2Ib4vFCILNp8tHq0w8hnwTIZmIgj3XpOxxpzdpcs1nLBdBe+uu9Nj.B2iNkj54XAyi1gMhIKn1y4yYAAsH9z9rQFbukSaOAugHPj.HoDtBJj38UjSnOlnXaMLx50Z5yjhHWIQRiQVk2Q3Owcn3a3o7eLKl87.pZQUjK7hRI2RD3qPrhJpwPVfeuoRbLBdo8Jj+Rox+cvcY9rb5E5gaq2vt3Dl5Cq0NK3U0DdUVX3gLPW4TzAfP3mDPjyhLk4HaClfOCxZykTdLSNoPa+60ekB22.2iI8FNe7t1bvKXnNuwalw+l3lCFP8jEfsLt0WbwZoWOEJuCdu.wyIAEJPAWBnhFow06kssc9914LT8uMTEg9kEMTMbgCUsJsvZj4GZVYdglk+WQn4a9Blo3W9nyRKlBcNJQKCXtYJLw3NsNHSqA+q.XU+mAVqH5WmP4dFDenixEosgG1cbdBYLcfHZT5GL2MyoC8D3CY530mNJT.0a7LI5NRHjCY7Sl0wi4zQHBaxIfn6axeugjX5ACFnpQY3m2HIVJFMEK5hHtRZ3tDIAY8k3Gs08gmAen52OsA7yCNX0rFs5LeqsvdYJKYtISYSWodYUVburLX95XHaTrjvkZ.d87kUu.c+QuTpubm6kS8c4oDZo+aVB8PQhDRZzkHiXeKjm6wIibgZTdT.IbNM.9PXq0PpipWWQsVmugx80K9S3Iaypp0VYaVc5llh6cSE2qiUYXzsLqE16hmlwwdOJTK9EyrdtWO9.OI.g9QDdbnHlV0vq8GO0d0L2aWpLgaxNBkRplIIk30BDOC9damoDM371N8H7YdYv5YdScUlI8xe5O9fetdZlcWJHM9GD6ABqR2YFx0KIHl9Dlubnw68WMHWyj79jH+SWZ47oUk+eJhUYEjakhwqg2d+ccOLKcm9+1M4ioAhPvgzDacEbQ3PAmMio9PJjG3jSny3AMWwXaoDF1rQRzXZg+3uUeWpGYhIU8SJylc6jRoCEflIi6CFkYCkfWWNAmuywE5OYlTAJLGPgdYJH01oom.LIzym1CwKnqwMwoBosN0yk6RiaNEqoVjK2f8FXsawUA85svYNrWITrahyhktJnZWAcysZFQL6J.e2rgVUptiIQLns8bTqAr8zoZUbXmwRwjj0NS7+riN5GpuCKTDPhTW3yQwz9DMVUW9yXZjL8bZhoSqAitAyOvgtJUJGqO5rt6iO6TC0dtLMwknqK5rKoC8XYek4hAeKLz2WMacvf8q9YatHFn3h3aLh3EIdJzVsLRDnB4WWSAjat9102.2Us1tJZLIHQeEQUteEzHnO0m54o7ouGnel+YpsDm4AKwY1ZINyCWhy7nk3Le7RblO4LOiZDgsSjhQo9+.gdMSyDZke+WVkP+k4R85Z
Kontakt Monolith: lfoTest.nki.zip
-
So we partly solved this using a scriptnode LFO. However that only works if the pitch mod ranges is set to -1...1 when it's set to 0...1 the problem is still there, that is when the intensity is at 0 the pitch shift is applied almost as if it's a constant pitch modulator.
Here's a snippet, using a scriptnode LFO, that demonstrates the issue. I think the pitch lfo used in this context (which is a common context) needs some special handling implementing in HISE.
HiseSnippet 2684.3oc6astaaibElRxirksSxtqSCJJRATA5O7hlHPRcus.Iw2BL55D0Huo6+LFSMxhvTbXIobraQe25iPQeBJ5Svh9BzdlY3kgTTxTJxd2ro9GFhy0u4b+b3vdtTChmG0UoPkSuwgnTXaT+ar8Gs+HrosxwGnT3gnSvd9D2phl16FGrmGYfRgBkdMqgBUVSg+22+h8vVXaCRbSJJumZZP9Fywl9ws16k+ASKqivCHmZNVZzMd4wFT68oVzI.dJgTUbvFWhuf7FLaXEQJEJe3.SepaeerOwCFydzA2zeD8C1hw+dSOyysHrGzT5CKjnYk8GYZMnW3Y0SAVndwm7RhS9iQmXNvLp8XJvWv6nZ7LjoAEJNOHos.PpfDjVS.ouD02v0zwOtGFd1BcrMvPFhARsLTDiUoveGsOEFfsesw3KIG4BODMgcaop9rpv+95e2vI1F9lT6pT62P8Iu0d2udy+5lU17usY0zcMbXl8w1FWpkEwMytYbW24MwcsmL9bh6ypdE1ZBIZfvwOIMsb9noFhSsz.o1Gaa5+VGRvyGQsFvnUreOMGPIfrA+5aO9.rOlwTBZCFmCw02jAmBGPtBjpErnJnCHdW5Sc.45o3efjCcvDKreRwIldSPG.8HAOjwnr8L8uQVuZAjwTmqLVdg3Wh5Y5aLJaLVLCLBTp6BLFnY9.zgCGRL7iA3Zni9tkUML+a+Fhs+WfdsE8brULgBjI.jPDpi+xftqF0e0nAnMG6k+i7ZuzI21KKTZUYLZse.rOtZjc2YJ1g28nFVBq3HALeZfUbF268XWSrseD13PtZv.pxFQ0fgDiesaG+gl9+2nXyrNtDGrK4TZOK7M65gG6XQdGb7dVUwu85Qb2yhZb4zVncDmAdu6d9DP4ycl9FV4tMtMmCnUjLtj492P7+.08RN+K32fPlvW63IV9lmYMjp7JKK5G1mN1wLvnHvM3s0iZciyHpsoAqIwHHfDosMw5UioSf8n.pPQtUx2PG.Xq7QXC3LbSOr+Hl4ViPCF0LhDjk25XA.t.HbZ6gcgnh.u5dhSJacCMEfJnvOdiGyNd7.mJw5Wb9D.fsCaiFZdcmyNmwlURfnmHgHowbavPM2vnj.FHFLdLxaLk5OhL3LmvkKIbdJGNfPQsLFYRPca.PxQtPYk8DnKUjgjxLCJDk2yj3Xtc9Ff.fcq9NPeQQI1a3oX2KH97iQ5FgMkgfiGvntTOCvvMWMOhNw5oLOB.kCswffZP3HmXZGrsHjZMUkSvWK8byo2doc5AR6j1htUMSrUZvVmwVsd3VUFcAa8Vf8Xczyq2LwABZQmcD66Sb5a9W3tVTqooJ9SqQWUMsVft6kjOHjBXF0aVqgttda01sazogVc0tJJRxdLFaj.Qg0lGwjcBY750Qhld0De5XvTRXXgRqCJdcxDgwK6FHVm29YhswOB0mKDaZeA2edvRrCaIpkb3y.LYenh253CYETHWIIGVR6CgbFiSpt8fH0MVWKl9UVZIEVJsjsPG4R9ySH1F2jW420Ezv6AQiTqiVlqylnSXVvcrtImKEnY.XRWZw9YLPp0M4eJB91qFLX50Ux7lLWdCjmikoulxLc7v6eAY1gVyKlXm3tvzUtEWbK2Ngj1oMQ1zyFCgdl5TsizdELhkb2JHsaIDTm5r4RpI08hsar.FrHWGlw4Al.q.eyd7vt7lpE34isGPtlkDzy0RIpWNuFLZLCCFI8.hP5IzllRtOKkOQrKw5t4y.q.BwqVYjVqYfws4KN3UFLnjxt1Gq8RlqL+EQweVFP5MB6IQFUmOYbZ28gfATTlqJtL2WYtw1rM5Xu2y50.aEBLHlTII7sPdlLIwyvoDveLhXeEwBVtZwiXgjwQyEZOB8lIikNIgTBdHyJ8+.qVDwdSJJ2PPIZrI7rG7RM7o5U9QfKD5DZSjKwi3yXMIbAE5H3134JKpJbQYU3Cg7bFLfLfOaF4Z1tuJOajTgGBxBFWEa.0U0TqCCna2NM51VUDjxFnW46igP9mipvb.SdiGJWXoB5cDKhj9DDpTyfPkz0q2TqcC8UlpeRU1LhlQVioBnwbg9X5fj5KODATrQ0B6agzTJlf2WXYCcIkkmYDUfjbehCvWEE.XT+2IQAVNe4JArkbmqTVrWkUCMMuwZUFQt1IEEcKgHAuiETdP1xYwoRXceI20MPmvk63oW3ADgcMscl3+rpfGkgUetnRJAO8aBpqRzwHbIWGc.47IWDtl7ZmbGQ+Vg9t1F4hsGPGWEjitah7rTVQdpeeD4Yxz6+rIzyFohYRxcyNrIMyjwqfzWNOg55c6p1nYKvoRiNs6zbpPYmy1+oPXsybQuSBpsYlqx8cPsOBIp1MXcXD0ZPZ+bCutVx9WQNqmiHvNnl5sp0sY6F06VuEDsidmYT6l8YkNFVsnDrzU6NO24qKRx+tOG+0E43eeXnkZSNygZQlhwYZwH60h5+ixv2QhUK9mKVH5nr47kQ5oiQOxxzxa5QUuV25MZ0sodS0Nc51ZVlG1gGOsvJkVWPzQuaBovt05vqlTKsNMqqp2t9zfpUi1Zs6n0ttZqlZcZwAUIzeLWFRVGnacRa6qSRq.yzTxsakKOINrUbkVC2pmvVM0f5n0tcqFcza1Ykj8PRmWyMr6fhnmJ.Qtm7KVX8lh4IYw6rhvOOS52+YJlACOPGbFnYCPHUc55urRHKaCosBIOsH4iscbEXz9LqDLaEkJp1+uFLeBTCFvXt5cQnoyrrKqxfBCdGEZ2GAvDTEH8e7VhHs4GSoCAeoVlNqX8rXPesE80CJd6jILHHdwWynfPkYuAMszu.stoeAZJqtDemCky.zXRUGnsE7cQO+HqvfezZXylr7oxRmHR90joa2FMNzCP7EhLWt8x7turv9+TqkLKf0Rm8PNQu3g7g7LzLkde2IzH0xxccZ3xtm4WOKDm06YLhh+e9mmb9W7c+pWtz3N2gXLsvQ+QXmbKbrNOQuF4j.GTF4UCRihkHOAuDE.QawyowaQY7VNNBt3HSS.5bs25qn.mTxDaIBrdQA2JKPpkx7zdT5kiw7Km3c50Ret246R+z9Ne+N5DeHmwSv9tlWyh9Xx39feXivKwoWXlPAOqF5gtOwd.+g+K7WPmZrmKDzoVXmxGwGJNhP1pPrl7O2F9A7I7mq9mvWQp9ZBDE5zW9267aP9aM7gs+TWrsmC0KwB2mL17TpMiRG2325QX1rEEsVp88oX2L656ewQvgLy4zG6OwkK5EdoYkD0Rcy1WKe252jeoERi+mTW48e.+hRRbe2qDhw9bisGFTwBNF+JvfzPLDdPXqIErOgZSCuB0wb82Q.ExKtf4EKF6YdfBLhG0xieYX9pQM8qeo357xKT2xQKV7ufqL4W+7.eNh66+mteIP4yqvZ4CiweaV4UN6oAeoGy46pH3SAYI+tJ9WuXOSGpElk+WIvR2oXNtYi8JvqqXd7FiJajbzG+948gA8aukO4iUlT4mC9VuO1iwXCW5YA2KFlD4F7VfysM+ySsBj+B7bUMkqjCijcG.NyvHrxAYOG8kXN0Wh4zXIlSykXNsVh4zdIlSm4NGlK5fRmxzGgF5cnPQsPT0iJTR4+AIsLDK