Category Archives: Uncategorized

Project 2: Rave Visuals Continued – Arnav Luthra

For this project, I continued my work on the first project and added a tap for bpm and pose recognition using machine learning and the leap motion controller.

I kept the same overall layout with a video feed being stripped into separate RGB colorplanes and then moving them against each other but instead of having a single looping video I created a playlist of videos which can be switched by making a fist. I also altered the playback speed of the video using the position of the right palm over the sensor.

Instead of using the problematic beat detection object from the first version, I instead built a simple tap for bpm. I did this through a timer and some zl functions.

If I were to continue this further I would look into more interesting parameters to tweak as well as finding some ways to add some more visual diversity.

Patch:

Final Project – Willow Hong

For the final project I decided to further explore the connection between motion and sound. I incorporated data from the Myo armband into a music synthesizer that used several techniques I have learned from this class.

The synthesizer is composed of two main parts: the motion data reading section and the music control section. I used an online myo-osc communication application (https://github.com/samyk/myo-osc) and udp messaging to read the armband data. I am able to obtain normalized quaternion metrics as well as several gesture readings. These data laid a solid foundation for a stable translation from motion to sound.

I selected pitch, playback speed, timbre and reverberation as the manipulation parameters. I downloaded music as separate instrument stems  so that I can play with the parameters on individual track without interfering with the overall music flow. After many trials, I eventually had the following mapping relationships:

  1. The up/down motion of the arm will change the pitch of the timbani instrument.
  2. The left/right motion of the arm will change the playback speed of both timbani and percussion part of the music.
  3. The fist/rest gesture will switch between piano-based and bass-based core melody.
  4. The rotation motion of the arm will change the reverberation delay time of the piano melody.

I recorded a section of the generated music, which is shown below:

The code for the project is as follows:

 

 

 

Project 2: Object Generator- Tanushree Mediratta

For my second project, I decided to continue using the leap motion device, but for visual purposes. I decided to create an object generator. The object’s position, size and color are all manipulated through gestures and positions of the hands. I was able to incorporate topics we learnt in class such as Machine Learning, Open GL, etc in my project as well.

Here is a short demonstration:

 

Like project 1, I created my main patch from scratch:

I modified the visual subpath of the leap motion help file:

This is modified patch of the machine learning sam starter and training patch:

Project 2: Swiss Design Poster Installation – Sarika Bajaj

For this past semester, I have been conducting a research project under Prof. Susan Finger to install projection systems around the IDeATe Hunt Basement to create a platform for students in the animation, game design, and intelligent environment minors to publicly display their work. Therefore, my projects for Twisted Signals revolved around creating demos for specifically the interactive projection system using Max. My first project, a virtual ball pit, was a good exercise in learning on how to use the Kinect but was not really a conceptually heavy demo. Therefore, for my second project, I wanted to make a system that would actually teach the users something.

The concept that I settled on was to make a system that allowed users to interact with the Hunt Swiss Poster collection, an extensive set of extraordinary Swiss design posters that are housed in the Hunt Library which very students know exist. Originally, I had planned on using the Kinect to allow users to “draw something” using a colored depth map that would then get processed to display the closest Swiss design poster. However, in my early protoyping, it was starting to get apparent that the interaction was not as obvious as it could be, which was leading to a weaker installation. Moreover, as I have had to borrow all of my equipment from IDeATe for every project, I ran into the issue that every Kinect and my specific computer was checked out for the time span that I needed to work on this project. Therefore, I had to pivot.

While planning the projection installation, we were hit with the news that the Kinect was no longer going to be produced. As I was forced to work without a Kinect anyway, I decided to work on creating an interesting interaction with just an RGB camera which thankfully will probably always be produced. Additionally, I realized that, although being a far more difficult path, the best possible way for users to interact with these Swiss posters was to be a literal part of them, which would mean every single poster would have to be designed uniquely. However, this direction would also result in an avenue where several students could choose to participate in this project if they are lacking in their ideas for projects.

Therefore, for my Project 2, I created two different Swiss poster exhibits as well as a very simple UI that an IDeATe staff member would use when turning on the projection system each morning. Each exhibit has an interaction display that mimics a Swiss poster design that is placed next to the original Swiss poster, some information about the poster, and some information about the project.

First Exhibit: 

Second Exhibit: 

UI Snapshot: 

Gist of Code: 

Jonathan Namovic-Final Project

I decided to build off my patch from project 1 and continue on my journey of sound synthesis and instrument creation. I cleaned up the patch and made a presentation view for easier interaction and I added three new instruments. The first is a take on FM synthesis and clipping effects that resulted in a harmonized growling sound. For the second instrument, I took the same clipping effect and applied it to a long resonance filter over a click to create a kind of rounded square wave. For the last instrument I took the resonant click and filtered it in a new way to create a sound similar to a church organ.

Here is a sample loop I created using the new instruments and the drums from my old patch.

and here is the code

Main Patch:

Instruments from patch 1

Drum Patch:

basic notes:

New Instruments

Growl:

Square Wave:

church organ:

Project 2 – Kevin Darr

For this project, I used spectral analysis along with machine learning to create a system for chord recognition. The system works by writing FFT frequency bin amplitudes into a matrix, then taking “snapshots” of the matrix and outputting the snapshot as a list, then sending these lists to the ml.svm object for categorization. While the system could easily work with any audio source, for this demonstration I made a simple polyphonic synth using sawtooth oscillators and a MIDI controller to play chords for the system to analyze. The challenge with this project was devising a system for processing the data from the FFT matrix and molding it into a form that is usable by the SVM but still contains enough data to identify specific chord spectra. The algorithm is powerful enough to recognize, for example, the difference between a C major chord and a C minor chord, if given enough training data.

In this demonstration I show how to train the SVM and how to map new chords. At the end I show that the system is not aware that a chord played an octave higher is not recognized. This can be fixed easily by simply mapping one chord played in several octaves (for example play C major chords with roots C3, C4, and C5 as state 1, D3 D4 D5 state 2, etc.)

Continue reading

Project 2 – Magic 8 Ball – Alex Reed

For this project I wanted to explore the possibility for using voice to text to control Max. After a lot of research and trial and error I found that speech processing is better suited to other programs, like Processing or Google APIs. So the project transformed in to small “performance” piece, where with a little behind the scenes magic, the user can ask to know their future.

Here is a demo video:

And some screenshots:

Gist:

Project 1 – Willow Hong

For this project I explored the connection between movement and music, and essentially created my own theremin, which is an instrument that  controls the frequency and amplitude of sounds using hand movement.

I used Leap Motion sensor to read the absolute position of my left hand along the z (vertical) axis, and the range of that data stream is translated into 8 MIDI notes from C3 to C4. The velocities of my right ring finger are normalized and then mapped onto the computer system’s volume scale, so the faster my right hand moves, the higher the volume will be.

I also added a slowly rotating noise point cloud to create some visual atmosphere. The note change will be reflected in the color change of the visualization, and volume change will alter the cloud size.

Project 1 – Adrienne

For my project I wanted to see what I could do by modifying mesh points in a 3D model. This for me was an exploration of how Max reads 3D models, and I ended up with a crashing patch that took in a model, and distorted it using a .mov file. It used the normals of the model to extrude the vertices, and each point was being modified in accordance to the video. I eventually tried to use a pfft to get it to react to sound. It created really cool textures, but unfortunately I can’t get the patch to open. Below are screenshots of what I had.

I based this off of the duck distortion patch and this one I found on the internet:

https://www.dropbox.com/s/40nyha7vm2mqheb/extrusion.maxpat?dl=0

Project 1 – Arnav Luthra

For this project I tried making reactive visuals for rave music. There are two main components, the video of a 3D model dancing and an actual 3D model jumping around in space. The video is separated into R, G and B planes which are then moved around in sync with the music. The 3D model is distorted by a jit.catch on the signal and is bounced around on beat to the incoming audio.
The beat/bpm detection was done by an external object that was rather inaccurate but still created some cool visual effects.

One thing I really wanted to add to this project that would have made it a lot more interesting is having it fade in and out of these separate visual components based on the activity of the low-end. Since rave music is largely driven by kick drums, moments in a song where the kick drum or bass is absent are generally tense and dramatic. Being able to have the visuals correspond to this moment would have been really key. I tried to start this in measuring the difference in peakamps on beat with a low pass filtered signal but couldn’t find a meaningful delta. I then tried to simply map the amplitude of the filtered signal to the alpha channels of the layers but the 3D model would respond to a change in alpha values.

Overall, I think I could greatly improve on this project by more accurately measuring beats/bpm and getting the triggering/fading working. Below is a low-res recording of the visuals as well as the pasted patch.

 

<pre><code>
———-begin_max5_patcher———-
6063.3oc6cs0iiiak94N.4+ffQ+PR1pbyKhRT4gEU1cFjEXyrAHSxtOzUPAY
aUtT2xRZjjqK8fs+sGdQ2sjLsDksmKSRWkKcwj7iGdtwy4ve729ad2hUQu5k
tv3OZ7Qi28tejck2ItF+Juq3BuawN2WWG3lJdvE67RSc25s3l7al48Zl3Ffk
kWKb+N+v.uLwafJtZZ1aAdhGs7A82H96nUe5VGX8WOZeVw6CKtbra15m7C29
Ph25LYmFYiVBtwvjZw+EAv+IhcIi+YwKI+hxdK1S9FKVX7OE25++29a3+l8q
aTdrG58Bqqd3PO84G+JqcIcC.X0..JsG.vb..vTLjwPALPrTX7m5uMzMXwMC
9oIfQ8SeLIxCp8HHOfTIt.oWTxi+cCvRmoM5IiYwADKWbH9Elpvn2OLaN..u
WiSLbWk96d+iPiaMd+ine+jfC6o.Gll7eAANyL0PuKDfKcrLwXqx6D3G5sNZ
eXVCHXT.i4X.FGIST.nZUB15hfK1TapyLfKjoPvblvk9V7D649Y2cwecRqXL
sFOgAlHXcXYqvBlGChbytdQAywSFbUfBqeacfmApaP.pHHf5ADPJ.BPhTjhJ
7NuYdVOv5Td9O68UC28a7ilFT.FA8.VPAXgDHA0QcUtlAr3S9YKedchADQAF
NVfIo.JlNBBCnsDNnB1iRFFGANXc5G14lk3+5TIQ5UTxKI9YdFItO6gVtK5Y
CLv3SwdaOByiGiByR8+hneJn2UB1fUBr3eAgt6jO6eJwmqS8oyuwDuDZYYaR
YvpIbIxFaQQLMVLkzZ3yuj4zrn3YA6PfYD6.TIe6YF0FZs41fktouEtNwycy
j3TAGCSaHSaEqlngC75XAJDR3TzSylP3XbY.lHXXAMgJax7rHEyHXU2CdEW5
LFE53bo43NRNpsuTtKo2wtpxs6YrCFbdGyG64K.pI1V6COlxeaV4FtcRCQ7n
HsECQIMskJd6PzMmkY3MItuLI.vgLhIYhbwsoU9ulwY4b16O6uwKJNvMzyXc
TPTh3ioF2sJvKbyCdgtrOX.MtaiWb1SE+Mn396h13YPMbLtS7xrGj++.KgGA
53BKezcsWC7ngHXjphfcPmtH3gD5PjXODJ0SlXZeVk3bFrZvYLVMv0PWJ.Fe
EX2PJi3SGPAcLbhk1Phj+xdNWilXrxiYH9TDyRGEiXG7RJFiHL01cHB+MZBu
PBa+fADLM0rHiwqIlDGgpF.oJGX6Km2m0.BLJh.JpjH3mGvfoyXfAH7bSHrZ
eVVT3zXrM0U8NBUwPh097edATBaSx9vOyz0n2ocU8KDdTq+MqQ8aJPCayKG0
u1.Cznbjt0R7OGAiw4+T7UEXD6xfhkx++jPCzXjShspQZ.gTAZ.tTaMYbTpe
leTnw6gFuGY7d7zBoiQYCqSM7fY7fP1A5h4kl9siUU2COFpBH1ATBCNPKgY8
lyLHvsnM9E+vMQGyx85COxXbLI.UW5.1TnY.TXSD07hrqR7A+ZdO8qF28XBy
HXtkzFHhkwcBizwJXQ9oa7MwQuFeCwLpDDfJoarEZdg.jqBKv4HrrELD.sAz
PrOoXj.lEP89TuMoYa72IbYh3SoYtIYLYUfhKvLck8vDCxrLi.sz8LhkS4LB
D3HVJaZgtZlRhhMti8u+fwcO6FvHVNZX7MRb0dVwUh0RatjBL3pAXSC7Y7Mt
S7qG1GyonkelweMz.NKTun4k5EAWhDbTvWG9za5RmMGSXERQ1kRurrcVRgXS
n0YPBsprVm1lqLlv.nNjXyP.K1+Qsq1poyEohPLtWPvpfn0eVAFYJ6D85Kxn
cuH66hBcWGcrf3ccTfb1foCzf9K1px8QTF94v2IW1hOKG6kV…yPW9tc6v9
O6Av1.+zLApdSoxSEOaRzKxtx03JS7XBYOnIDtzgo3rvJJqkNLfhAyWEqLSW
6FvzirToGNAvQECbjkp3QwSGSWZliQLSMsIXDV3qJ5Yeo5iwoa26e91rKryH
V5VBlbCAZ3OftXDxH0JLbylVgtTkBez4RPIqk7hYOkAS+4YIPdHT8p3gkSkA
hVTbo7j7.LCOqv35ncLqLx5X0bjenQrWR19jUdaLd8suX7he1SFQI9a8CYpO
mlY3xLOILJYG6uj6E7oDNykz7q1uZU.yFTIAmh9awpxUCx2uwWo5aPmcMOzQ
skNxVZbNoAvKaj3He4PhQgOZH2MKK4nLBNxn+nBL3yiO7h+lrm3WlTiqQWNv
FRp.gZxegDrZxRJtGenIGi6xVneZR9V4JnD4DdL5u7.PHKxXqW3nn8NBLaoG
hLGmJFkTrCOr8jZLJ2oTd5pLSxi2GF6t9yb6w9z9cwFDl8uO9XpW1Q8wyQ.F
6QvmyFW49WGjvamHD4m8xgslh3hBwvCo9rMwt1lLH2FtKpHXgyU4jcnbxNbe
NvRUl8NiQrJ.UQtIcOnZ7yNOtLo8JyIsdzFLlnWxAVo9lCoT8syMJoA4g1iI
5Xg1U66.0Rt6Kpl2jGHviAEd7Ezhvbaw7DAddgSKSBGSbUawDNUBRThXyYbF
C4Qi1vKIGDJPAFuQ+.um8RR8iBqOwwf333ZW+c0eIN38oHw2k8MUWyOTdMb0
0R7d1u3qvr5xtIrwaFavtOQhauVoWYN22jPFsYoiCjSmEcsJX5VjLsjwPKYD
A5jm4k7Dpqbv+tEda7y3.7pshffT9xfkN2T6GvFuwpsb263sotjHFdG6E5GF
m3wTIJyMKejUc+MdO5tOH6gdDY07AZKnq4c6Vf06VrMweSTHuizb9he8hlrH
.33+r1XR7Hgtwc85LJUFp12cSYC18oqbS3Sm4JjgJuaVTTPy6U8lAdOlke+X
+vv1.ZVT7.2kYyySC81qhX2c2fe8hak9.isu31OvVxm8Pp6ysP9L2ffbl.sZ
gWcC84bYx7kyGHP0ckwZ6SoqShBBZNtk254tt0F1hh0dkFI.ZPdvdA+3BBqE
US6a725kl05hYtaSacoC4Ewt19U4K+eHyaGS68r1OQihzPik50Yc17FCxBsc
7Oj3tyfYbBevB.3FOUmdtquwRuomw.Bg5OSdjAJF.J4YbnuoF1IduqRXSAGp
Qidsr8pk8WtrIMOin8ILy98S8LX2wXeJazXj8jmAmcYPJ+hb9oFqihR13Gxl
jSa700v9Lbuy.vSbF.z3NGZu1.1rcjjBFBA0TNfTE+t5D3GhrUh68SrhNMnh
NAZUnLZtgVxji04BRpNDh8GzFXYOcvJegMxQZx6UGXk9h+WLvlKz0RQqovKT
57Mnzw.D3UJ8k.xd8sunMLiLALSls9EPF4JEx7qEH.SWd6jgKYp6zQLTb0fV
HsgVnoyC6JGt92zF+d7jorP13qZ18rNvPqDOQFWlKFu9UR7BKiah5YKQO3QM
SH4JQ1mgBhVh+.8fToLEXWWf94JDYzZVhY.TFW20bCf9Xox.FmjxembWwV0t
BiN0.NqcEKU6JzYuqPNETYdmfvp1ULm8tB5Tlfl2tB29W0WBMuDKJ2U5f.mY
wpz2jfqgNHYfNHrWdjx+n3p5MU2ktzkwheZtqGOlTosl65cLEgQOcNKsAyef
jXao6.Igd4Bjjg14BoyhJCGrIu2qpiv1yWn5zHzOy8YG9pIuC7CeL5TB6Z0g
TpdKiQMh9IRwtlbgpiQYFqLB3+adftQjALCsw+D6pc31RZzgkJHmrfsHWxW9
44qrgryK8Ii6b2mEwHM8WKxtkD2WjEDDFsJqGDbXYDo6Y.mYfIAEn4pBRsoE
Hf8G7D9xw5pfAQxwjfOUrDpWtCMHwkk0277m8hUjyD6xgwc7glwl8hzdQDsy
fkvx+cGe2rM9N1k+KQurj8sYbWItGyM+V72UALvDCGK5npXZUQ+gC.Iy5Ryq
hviItd4E5VQUGZZkzhQnsoMFIceCVtCPcDmZ+7LRFHxhHHDIb8tkrnqaRA+Z
PI7qAkvuFTBi0erspBAsJPjWE6rqY91aSu3NuVD+nAtuISmqZO05.+3m73j8
hADzdIPWtwFOzFvgUC5JrawJOFvnGE8ZIKk8uM9q4z2tIusnkGhbybqAd0QO
IvzfBs8SjKVpjs4+4e7C+iTlrnOj9p2N5G9lnWB4kxwzO7mih1X7Mtgq4A0w
29pHvCVtKtgW9K919renD.2E8ruG+Jsepfnn31SFxDCLLiIi3ANmy5tM6vts
.zXpLUDHzej67vaN7QdnXnwP08NXB..nNlKN7Y4NyQ98bSWeU6C8+g84eQfC
uMe.IxR+deBuvs4tBj0SX5trgyf6vdw9jZN6qiuljbf4iMCGvR3mW1FR7hiF
nm7XAIAnquAt8X0FIcAEhBTPEUdOeIBi5FDvDYMSQe4Fi9FNkwDTmeQBUBqn
BXJ7rcUW.KyxxrnCBT2Jlt965e1kMhSSVO3HthTu+lPF+SMnHMMwBJRzhtgn
iLUx60BqLJBs8tlK13F2+jYyYxa3++tW.TTVbFfzYsKSZ4CUpSws34fGhMk6
kD26HRtp9gbrZPxGOIWlNu+yQACrJo4j4.CZN99Pp255KXZ7H0Ds0xO6su64
XGb+fgo1TYvYJQqCDJqEEHryIo0PsxakNwrA0xhYr6RapE0j1ezHhzlhXSIL
BPVx7PTBpcbXrbkDCT4t8fo2CudhAQDiaE+peZSqSToroD3JHY.EfkVvBMwW
vPWYPBy2CMv.ssdFNsf8QVLoIVKgXrIB2Ywb85f7iuvsVYrq+RYmp.2PKYQJ
BbTmJfSYBtaN+fWYg.TezclSgtSFNwDrYI7QruVWu1pvApuktnoHJFK8KtIC
IKfPmq0PAcJ0SdXi5IOuDxWVO44ENMdLBnXrs0oWFGXqOFUzOOfyJOctLV.Y
0CTdZVPbN7Px4TbY+OElsA8MaCjy25d1Fcxy1j4a5l.E5Ahk6JNoiB6yuflt
ES3W9o6Yb0soL2QwzeRMcuyKKIRiBAMmhkS4mvBT3Ik7H0KJ4+TUq+oj+HxC
VZLSE1ewoz+gSAmvB17CjaD3mF572vdcok5F50dczTrAHujkPvkn4k0l8gfR
gCi7DZgLvZXxIhdCs6clJw4ielkVfd1pZ.E2Yb0JZhyju4NuViVU76FSZ7.Z
aI0u.MF0DnAeuUSjxE0XTAJnszoa5ZnH8IIt7mpofRisBOOO8OreFtw60gRP
fqETbR9KhoiLjWdlOQf7jAQzYNSzbTNoqLm+D.S4zhCSl8DLxT47tBM+Y6Dm
2nhoXj072YTsu3XMhzI5r1Co4zzm8LxhqtfhK6.yeFFRNUpqNwKz0QWjbgH5
Ngt3EJM.wJm+lPz7SzoLKstVqbdlQOst3EgOxIlQtWucvtj2dVlkQpq0A5BA
hp2EQlWJTz5TYPOmcFkU..N+cFn50Rf4WTOTYjAM+JRBUl4.7RQVehcwKgH.
n5R0GtXUTKQ9KSyI2m817fLYTdfW5Y8WsOSZ7YiLP5DSThsAQqbCxSBhxsyZ
3rlnJ4Jld4FnHV++5zNfP5qF.SF7z4SleWxM7HuB+0vQB8dTkeS2epuf3uQ.
7WNScPf6WizqU.6e+8hH1+96Egr+82+MQq2y8dA6Jeez9fTOuOaTFG+2e+5H
dn6m4c+8+EO+Ug9e41+ZHmN91e2+0+3+4a91+1eG.f+9a++91+iaQ.n8s+8+
129+9m99+a+u+96A3aCxekX+u7E2k6hq6wqlg9u3bUuUn+uH0KvacifH9l1A
naYpATyqQ8lV.+XiEwxyeBdt5DUb9Acfmeh8YS0oO4+XV2gG7heXuafe1akN
XKkGC6MdhzXOuM871OxOzKB666lSO2UDKK6UqiRRZfNsYRIGer49sYOsqmP3
eQZv9jZwxd6aWKP46ZrItV19PeteEE68r4AivffnWjbFpA0ciCGYHIhd8rDO
9o00wGx0nYXu45OmtPEVjWxCPa7Xp93DjbYQdwB6Rd3YmXrJd2s6Rm1YX0XN
6WyyxVnLiorfy7IWUVz1sUbpF0bMYLy01Thb24jy0fhedzC.5puSdBxj4kjG
nLUJwn0iDYd577PRDm6qw6gyxYiIAo2BDPAzJK6kT5E7rOaavxmbC2bTBrQd
Lhn4pTQAvIChPakV5Mi0ID4YwbyPEaSzdFs9p8O9nWRYnhU7mmuCvEhlKhP1
HQ4jljW1CU5HKdNKSK7hdyJCuD2zYhxcD0DD7fGIE1xRpRsBSphvWwukC1Y.
K+AY3vgLtykoOzy8VGalHWTKMyE0BWmKZmU6hyl1H4rRS7BYVq2jgPYvN.jG
R1howGphPTv4jsfEVy0VLIYsoL7OySaoy.aAMn.r4XN+RsnfZ59cQU.NcPEf
U0J.6QTlYLwxYarTAX7LVOCYCRO2oU2FwViXHleHJjeHWXpigXuJvdXNdpxo
AnhkQHjyXLyKulPHMyinzwx1kcwLZLGS3lxrOJ+XO5rrXVGC0wv2xTFsQmyg
ZeKoW+15.OCzzvfwbtJWfAR2lpzgo7ro8p+NujIUdvPnwi.H7A0t7dQ.Q0Oc
tfgMtq+5jPAHXL0j27S8LaPmUv8Kzx5wv.i6aFd0bkXUc.HdIWZGEujKt1Oa
+FudlXMUj7dDT2EG7Qxf1kZdBphVK7wqvC460LTIywm1avVAJcXnQ1L7O5qj
Y6TaS05bBQ8FTk1iBzV6QopzflM2Y+1ap4YoKX1SW.pit.QIXudYjehMHVoF
TeSyHUZOar9ZPnRMn9V3PUZkpCReMnJsGFOmKbTpGf5oGfNa8.vLtx09byvT
zf3iRXS0aChNZCZq2FDdzFb1mUOZWvxdFWbYqDsssk9fckjA4.ahL5cLqlXP
xbNyapDrSzljXakjLZoOAU1JIYjpOAU1JIYzViMnJsGRayfVmjHfYgpUstfE
cF4WYYqLcrlfcxYlrxRsUpP80fJsR0YNYGpVWvZN0xTzEPp1EzQCBNkwrNZP
kr+jns1inD2BzbZysZcA3bRZSTSAK6KdWvbNYaSHJquilH9TRAKQ1SfzSChU
tA0ifIhZxIzmIgDkXRSzmjPSGkgTM0fTkk0Cmo0pp0EZkmf5cspo8ovtPGMn
RRlr02RGSk3FoOlQlJwLhnOq8LUiYjFmBQJ4LEy4jrUot.gLi9ITstPu6x.T
WcAk2kAczfpYmOcNgcnJv972ENNJzG8O97gBydWPIWhLaLATBDl8dvwM4XNc
SiZffnKLapwnjwsX8I.BqjHcS8YMM1TUcHziHcrRhzI5iwNVMII5yiwX03dn
woP0h5AM1fJom6LJlRoNvbFABJ0AZcf2qW9yH0bau97aORIqaf5aiMQDkGgZ
pAUhUn9XTfvJIj2VuM3wQT8YvHRIdu34zogp0EPNy39zhN2JQnlDu4LRSTad
eNMfDcJBgKdpc9apePzgAP4gUkLsDjmrBM+KnLFeMwNk+0LQEAcNyTQPkjv.
0WHU.MOyQuIDoLjpGmqCU1vRbewGaqCHZQS09fgt8gBcGGHzCbXPevAAcd0k
QFCwsiM2xbZy8wWeyiWPHxik35UN0ZXBO5kEYiWQMbf.fNVvaZ7oV0BjFYe2
GaEt00SrtOVjZcUnWdmIycUqNhWfGu60nuXRfN1N2z4mZzgZ7VV1ND.ULBHT
HVL..VPjUqWpbn+feHeNrrvbPYuEfbSmeBVOR4yGLE41TyATSPpImnUaezOH
nrW2n9xTDf1K1l3twmOiUVAeDu.rnah.lP.5FYAgG5PkCTDl+oFE3D46gJwG
pXDU+Wc73kshCmLf+jXfCEXJ+jjxn4q4FtM+fz1t9Q.cbRD+fxr3nEeI1o5M
1mEUNJE2z14fJnTODTGYVTjkKroMH0BaWmFt8b29fL+z.+MkmJ7+3gzT89kU
Me1DyN1LSqNQraBup.0Nm.jctRIvMYxUtP+ENeCicQgQow7zjM+cyO50UXUl
MECME8VaG1.T7IpIjIX8fQ43oZOcxo5D6vbDu5G8RcSsP1lxkr1.BkJ+D0DO
GzqGiX86hBcWGsnGFU.nEvQvTC.gThjUK.iIlCSd4XaynptofrzwgfsvpxbC
bSseLJhQvPDi6P.HAPP.2gIDcWutMcHCA.NRhODxT9IL.vIMaLz5lFF3.EDS
T1BMnbVmMmaQutng4yVNN1lEexAdDpYH1FHHLnHaKrYNaHJx4piZl0qnBdGH
lrxbPg.wsW2c.wLarXJDR6XSIDa4mPHH57SQyeS1u9WvO87WS
———–end_max5_patcher———–
</code></pre>