Porting Shadertoy tutorials to jit.gl.pix
Shadertoy has some incredible pieces of work that can be translated into jit.gl.pix.
This page has 28 tutorials that start from the very bottom up with creating and understanding how to build shaders.
https://www.shadertoy.com/view/Md23DV
These start from showing how to fill in a screen with a colour to creating basic grids and geometry all with jit.gl.pix.
All the examples with jit.gl.pix use codebox (Genexpr) due to some code being difficult to build with standard objects with patch cords. The Max file uses a simple Gswitch to swap between tuts.
If you open the jit.gl.pix object you'll find a comment box with the original code from the Shadertoy page, this will allow you to see how certain things get translated from glsl into codebox.
I kept all the tutorials in one max patch so that its easier for people to compare code from other examples.
There are some minor conversion problems such as origin of the co-ordinate system etc etc.. These are highlighted with comment boxes coloured red. Please feel free to edit the max patch and fix any errors you find, just include clear comments so its clear what was changed for people.
If we as a community can convert all the tutorials on this shadertoy page then I think it would make a great starting point for people to learn how to use jit.gl.pix and the jit.gen objects.
Heres the Max patch with tutorials 3-13 (1 and 2 aren't included as they just show nothing useful)
<code> ----------begin_max5_patcher---------- 10414.3oc68s2caajju+symh9p68rQJCMMdCv33YiGmjY7t4wbh8LyNmHu9. RBQgwf.L.fVhYN969sdz.nAIAHndvPYiDKQQf9UUc2UU8utqp+2e1iNYbx0A YmH9RwuHdzi92e1idD8H7AOR98Gcxb+qmD4mQI6jIIymGDmex.9c4AWmSO+q 9JweKKPjeYXl3OmcUX9jKE4Ihrq7WHFGjeUPPrHeYd1vhbFEFGLIYYLkcC4C W3C4KLd1aSCljyMKcMGigZCD1NN3G51zGllC0DuQlqvoTSHY7+5wVZEkeV9p n.54EOId47v3nfbhPzqdXxx7hmpgO7Ce1mg+Zvsmi7eElObVzvEgWKhCBllg bDfxBCdefvW7C94ovafmkrHH0OOPLIIEI7nUCDgW.7x.Q3b+YvuyDWr729sU 3ihEgwSRC7IlcfXZ3bQBm14kk2bjMJxfjAIOMHKIZYdXR7148NMy6MrFMzdf vvyYnkmommKv+crP9um614+ldGM7+WuLWHzMOO973mms.nIAviCSDwI4hI9Q SVFAr7ohUA46MeQ2xPC4BttlCs0cz0MGHb7Ziu3XWTGimMIIJIkKHsgtFZNi 7F.+ktiqgI9GZdZZ5V3eYaUVVGL1YbvUPCdCt4+pbn7IswWzItfqo6PaSCCC b.iFwpLLZfw3dqFvTH3feT9pEAbKAauucVzaw1+xzfSF.kZY0Ss7fTISPxEd zIWDFASLSyfYJJU3iNwewBkG+Hkrfrt+E2W5Nn7Qgw7izJeTZv6CKxuU4S8S A9WNv7vFHR2W64bRUwjLMHMdYH0T3GBcheVQAVvxert8Hhman6RxG00zwOgA SUL7GcRvzvbruZsQeiFn7Kc0LLdVTxj2ELUkPNAjSEGFu.jn.S3vISw0d8zf K7WFk+1KRhyyB+MhnzQg2a48W3OInwLG6Om4HOOMzOpfmbxrzvoIwXinV+C9 3hpCFCZypITIFJEw9K1Rlgwf.urgWlAD4xrw9oX22XdzoQwKySRhp+px7EEb Qt70KBiiWiKlmrn4WlFN6xVx63D3kyaqro2j81kw7aeKLwN+sY9uuN2N2OJR NSudweseLnyIOHOj6BLzJeYPrOPnWBpURhhpQu7ad+VdyTXj+jfqBmleIUQp CFfjGtnXPzIk8xSCmEjkW+Y49yxp+jMjV.OZ4X4LaXZ+7En385InlwNpSiUk IV64sppot.x+1hoj9DpIHtHMYt3mSFK9Y+4goA+1.wzjfr3OOWj6+NP4uhBI TgNny1eBo4QDEBuGrTJAG5iSeTqsZJnrTdwVMbhjKXyppzsoObzTlWrtnX0Z ZS9aSRjaRuyiJz8HEccOvy++FDA1I85+1q+oe9kO+6EO6Yj99m7Dw2829wW7 5W9S+3qvuwOYY7DjYmI7SCDy.CnxEWjjBlbMM.LQZYVvPw2Gj+4YhEfcCn4T zavjLML6cYTgvcTfsXbYI7imJVJMDq7gTVR8uB5MFR450vHx.pZyPSyhWAk3 EW.OC5suxeUFZ+1Uoj7Y0BGpJrXfGkco+hfgkjxeAKtqBDW5SlQ99jvoJ45R fvvwZjcNoAfxErctJGGcLT7x3r7.+oCnB57S.04AQmeBZfINtDRIvehgW.5v VlCuH3ZTZOp6ZnxSgj6KVFG9qKCnB5cAqtJIcJRH+4u+UeOS1+IfNYY5BPXC P+yVhcjbG.VVPAU9vgh+wkgStjx37.+3rADS889QKCJru889vTBPNCV8yBee .whpw5yl.hvoxfl+guidT8TAYGr+KJXJPRXZeNRvLgUVEX4m0RSnr7KJUpjj sGtNCiEWgzTSUdUcWvVK3Fb+GHp+xghuKLMKuUdAUNnB4MXGPmYHwu4hcHNR Ld.ODY8BXQZxDniFDfEFmENsNKC6cP1sZgGDOUsShJjszQsTJV7JZRPKrhxg 1bgVM1rrzn1MjovXXtheDnwGJ1vblAO1ex6lkBhFmREDYkC1Evk0beZ3VE8v bhZS.pMj57SvY8meBOXZS1.H1YRRLZTESHYfj7rKBgVzFcUkUBKBAH5K8imo 11O+Dp4pLB.lndAz2goFmFikNV3DqYyotn4Fvzw7jkfxuojTo2EDr.68g9UP CbxxLYa5TdH4U9YJE03Yufq+g3hkH4IH0e56ClXHRGHnOm.Mq.3KWDk3iZtl FtLidkIyrgkrhCi4mPMtyfoW+anDg19oPaLdV9kml9XtbNS7Uxx3LAklyyo7 HdFWZOEe1GNO9CksHrK7k3pgOUHqFKXVnO2zwJmal7iPgQmIqclJfBV.lh9E 32NsLQCudk3w3Bs9hvetZYxWu5rmn98UTqQVVlBhcAkG9kS0FZd1SKeEz10q digtCZZskqN9ArLuydp.X3iooKU4vnHGfA3ZXJMMHSxMJxPZvT0zaVUCdNtj w65T9Lrb4LrJHJJ4Jj0IyUAukZ5kTC0IK6egBiZklmQK7b.UQCjcjOciT+Xn tGHfe6bFtvAN85MmdJ4fsGPpGpyo1nVpweJ6NYBz5T58zBSvD8AVhYlXUxRP fmTPwXnaDVcVwrMRYMqZ77S9W9yfIZvjjIKSA44CXoPRU4SCee3zkfMVTsfx hhEiCvBljOfBZJDPAEEHuwOCTgBSRDuLWjLAJRVx43fI9nQ.xhgp5KPYTPYA xnnoif15q7YIzRc5fzCPg+RXlIK+FUwKPY1HET8RAtzEUyHHUuyCxuLYJilz zkSX4pEsPp8AICVpDvcVIlGdMZYQwzco3cV.I11fYSUOAJ8bE1JvHPKSujPr Bw1iJhBaOf5OJvGruHKYNjikgQ4OFlGVHtLiDmPJ4.IW9yfIvCPwYbykJerW C6wpTJfL7LpccYxUXBWg1KPECx4hEjkQKvLF.MLAnjDaleK920KIvRqvEDHO bqFqTddPgFERJqu7g.GqJGSIFGX5R3hHdLUMEAay5DbcVBjkiZCjZiKGPWvI dYLiP5D+L4v25xmYii.SdgpMOHZkH48Aonsg4vfxhQA3nK+nhZONBsyZApNt P4E0TpaQnBoUmYLTw7z3DbvBBGQVIlsQ9qfYWPc23xPbbaecH11lzBPHTbsr I3CGoY275PrORWGxz.LksSrVD3KLQZ4PK4xxxsYZ0Ps7ZF5il4DaCKkV4PM. NylLO0LsA7ZmTifPdC0xjx7k1JHMRfMOfk0edJpUNG+377TXHLHpmdyS4G0M SEjYT0RghhjWvCl.pD+.+X72UFPTY1P5YbyARhhVcTo9fhezY8SUZ12lhcLU pp1qzpuEk5EIVpVuRi91TnWjXUU5aWadwSUz6tak5aKScP291qqNnhW1+H6x kcOvOv.Lj8V0GEFC0XVbR5bHy4mbGNQtF.20wS.Tdo2oI3FDHitFqir85Su0 2SQY27YiGFFDZ4c23PRXmLc2EKx5dUZeEFvnNqF.+iHB78am4jkrLcRAqVJz VTmdlFjAFrUhH9uTRZqktKCmNMHd8dZXVDZNxztqxZeaw5crEabG0hkiG4mb WsedngSYgyYS59RTT3x3vK.ID7hAC+F34jrxSWAVkNPLGzzc4.wT+UfoVgyI DYxBvksmc1V2wO6V1YKaOZemscQ4gRvTcsZXSPsO4HYW6Rkax7i+qgW+Mgya Yq6FY4fTlsAY5xN1zNSilIvZ6ujskttKoqzS21wyg0sY5ZXWa6l1pPvsK.rQ ge2MLrrNyvzM8PFlocmXX52mLr68gQYBbt0qwsDpMFhCI42zoKbjQZGKyQV3 +NfIW9utPgFdcfB855NaacHFu2jT0IQgSdGtn5OGwo8yoUd+44vyx9b5jorL G2Oj89P6XqoUbZcvQtlDCyRqgwBEEeiK.5jwKGWeSV65vlZK2wbn1c2nokyG Gj15ggvkrRzvgNDMV7WZ3bKoatadvB+T34vJhdKueqpxJuK4FMdlJvSQwX+3 Y2PIt6lgw1L1IFlscOCCjG08QX1te7yv1t.9kwK7AYbZ3+2EtoIaimwn1XmN F6lcdWxxLahkEhB0q8wcp9geHLdYdqp8kVFaLxlFDxbsFjz6XtIu4xfnE3Qu 5sQ9iCh9c5vB9JZcAsQlNxU9yjIa0Wijo0QJY9OgEF0EUVLQJW7dSDo2QJQ9 M9q5hVFIMZzJMN5HkF+AbsscQXlbVoSaToq1QJU9ZzNz1nRWMWUpr09RWiem oxcqOufbX84dZso.xs2hwJgxcw.HWqdFVox5Nwv5MwFXXl6wHLmdSra2D6Bt Iic1NLw108iKSraf2g3tzEM4ZVLdisqUv6HgmEElQbqhOuq4ZvbnzDDBtVGu YoMp.oNf245zJqazsl0YrOrtFA36lO6LOY1rnfNvP3swfw52ngcwvS6NTlkp OiTq8vJv08ZpA0Qd1c95deUteZ9SdEdTiN+jInuvb9IsxXYHNsYuOwrbWh2J mU+gHfmyCxx7mEbSkeoaORYMkMLGzy3HYN3MavTSrn7cryIEhojrnVES4Y9Q JKZGK0yRdLxj7HuV4QVOn4QiWlmmD2kALlFcPN99taz6PVsgiwsSV8MW+VSB q+KIK6jQ7RHe7ZClfRev7nCLDxelMZiNMX5zCLUTqlaI2H9VZ2H2R9AlWIKY KpdqsmcaacqsWuSIe6bJYmQj.JFsAcMN1MLxvs2mj68I4deR9P4Sx+bvTwjv zIQAhrKSVFMEcvEoSwEkbUPpf5Zw3NRb.5tbjygV3QC3ZeTeeid.f4NbDYN. tvHnIieKscl3cUqn8QujkSsh7gpKLaPdnw27xW8eW5WjrmIStNTo2HSu3UIj qugdcK5VNfnnOOm7jQxEilOmbvmKP2YDyK46IjWxP97gzAD8yqbYRx8ljCCf xC8qI+XxYov9yxhLa4jKQ2K87SjwoF9.gKKmjzo3QKMfcVSo2jJq4AR+q1OW 5BRn6RWVBRmjDcxk0qS10X7EiCwGsD8L.zerWB5P.pE9dXD5XXT9mEjiM8or Cw3StYMOpNL9creY+otOEV5OA6gaExNrP69TH16U2w0wwQRoOuKl8oKXLkez JXIePOUBhjW3D+HYtq73btGC58J7+c58OuPhVH6e1YPeMjvEIgnukSo+Re4q .U13ftb+3IrKaKKCzyZgDy9WB4ATUIqxo+XmNondqknR2+VYvNWZj6e8qo4m d8Wbs3OHV8EqNSV.eGFalTKDYqjqFXxXTDOykbR5jT7fNieJyteAc6mu8ZVl t0pbnChq.ExPxqTbzatnGT5AkCpbHZ+rFJ3updA+pecoeJ5ngneqKvRVgljo oL2kY9KpJCUGKFZ0vnvmV3QPoCu9Kfef7lNbE7Wajew17hX8BmHtZjYkKTBi HSgAKfrLkAbnrHhLeOTgumpv2CUH7SQmXB5vfLiAlDjCo+7Sd+4mLP5p+gnH Qo+K89yPoY0coIjqgyt2Rq0biVqbRDIuFCQDTMTMJCcLbfgcp1.syJFj9J+U b+YYpP4reo3zICudfXBPGXLOXywyHYEuhGXHRgzmhoGXzmghPmPzkxn.70OF Jxy9eM9Cveu5wXI++ZTvj.ylAyC3lNW9Rd0TtjAwiSjkO8mkb2BMYSKbFWk3 zEnBCGKiYfcTcLC+WKyxovbPr.cmWrSb.nbZbVdpO68inLjqRjMfrB+hUlcz QKguAz73UUeQYFOTZxttomwwkBlA.B4ARe5vUUDc4.fZywKlGeE6gkQIIn9G 7wCK0iH6rdVgmROhb9JqRU.FhRJmR4SWaT0TdTky1FUYTMphnHT5zkgWPwZD oYdxpW9MoH6jz2kQSGfgExLCMbxVBVZL55rneXKCBIEzIZbYP5bxcrKjHcAN tGlPOfCecWfd12YOSqXhWfhv5R0AbsHKfwKkxqqYYAQGrm5NY3d4B4+H5CxR 2KVPdSRNOKiJ0jq3.6Rom4BCJXiOvkPIc46KQlQXdguVW3C3kdeas3CAGvGx TLyAKD1+ckRyChkd48KuXMo6Dqj6Qu.YBkdkrZUHcHYrp4PnRg69hUOIENM. M1gHrJdD4px4kVIADZaN5qqd61465PX6yGgrBG8016iSG8kAoW2jipRiXedy 7SGO88uh6IXg1ZzjwydZgubpZW7omNALzjD4iVDOMbNn03I3GqFH32sR4cqj uqpvV2sbEU+RenPfSp2gq4hoS0H418MWH00MPdGtmaY5kFGulUwRp31aDSoa LW62E+7Pw3Fk1eM0dqq0aMMdvpmtIJ81fmI8xX16iOd7oXVVhmQuOE2NGxwS u2mh68o3av1G4mmmtLrK6QjU0dDI8x2F2jnQ2pMIp3oXSi8UWRIvIGF296E7 yED7yr0enEtfRL4xbvvpCZ1qHJLGZIX7gC5blWEzxnviHtFTbsB3xIThZMvJ x.EO.yMX5v81Sq0boCq0HN7UtCWs114f6Foy3nadaaDKe7pjQr7QddEwDlsR Al2AGyJkcbbwRIA2vvN81NXnc5m6zAh7tZqextGPz8c01V+Fsq1dOv1VaYfw eO1Vai9s091ss1VNxySJGqs0XucycjW+9Z2uu186q8gZesIbLICPJhp1nQHz d3EbsOdAZTAonOhomOL+NOYU0dah3XhaXACuVvuhwAxBDjELVZXPUEWBMsGM z1fSaWRANo7kqAA+IJgvOdVTPVyAq6cDj7z4CNr8HaEidn.LQiKCT6AW359e .lYlIlkPfOGuik74vxXsTid4FerG8x0Iza+gm+e+xe7OKd8e4aEO+U+0u8Eu V7yO+0u7mD+z2QO6E+zO8yeyK+wm+5uU7p+4qd829Cn1jxSDvyyJiOmXnLsZ qJKwyFlhfVpigCUbBDsa4UCgKBRnqOM4JD6dHCKhR1XCHyVAIedlDAaUDwo5 .XFgy.4i7DRfYGPa3Kt88AXj5af3WzFn+FJ5nVDYz4fR8kqxnTVreJYCEOGz gCBT4Y3jvthojWflOS0c3rYAoBYftzm1DHD57KCvowCKO3DP8gwIYdGoUhH+ CT1xZbENy8kogp5pFCUPPSWTai9eCI0X8Gu5MkQGbpUJI8a6IQP8rHPaejXm mCAByTJV7A4AsT7KPnIWIdhXiymPwtxUNXfhYt3zWDHSfdpUxDci3Zt1KJ1. IJyA79CycYy2HoCU2oJ7TafkGsAF7IW5WdL6uHC0dSw9hSU50bh3.gJEiXKG Pflq.B9EyVFjw6ASbR7iuXIjbVHtrflS2D.Wuds4RXB658lATUQw21xrRYpX atRREyWIh7AKNVL.OiAqURNXA47Fwo5VfTsmLBjt+L3AmU+ffTFGyU1FK5Xb nbjP7Acq0dMIcTSxYTRHZL1ZIztn6u9g3nd0pdbN9FbanwBRPvcwgrxXLByR aXOdv8+GzzPbO6Y3pAVwo7aCe1iggXOUD9U7G+gmUl9RjaoXPdn7VH.07had bkzEdu8Pre8GmI293vy9JfZ0rNqj.JozmtVxW0gj+AURkloeMSnHfyxZkKBG QUYT1K7z5IcEmT2FSZW1nxlu0O1wosyl2KJ4NSI2FNaOyOA1FNaKNt6ZX9I1 1vUMGDi3q02INb2UJ1CN7n6+EBZS3FHT27M4SWUOq0TNPuu70O4IxxVbpPcG 9Zu3EUke496sM4cmVHju5WjVq0j6UWrGuUbmGulLuSIviveQ+AkFYc2nvuzB gXUxuDekP9G+gmINNkgotYfGBIYMswZEMj9MX6g1FrYOpOn81uAae1cN79s4 i9iX2Ir6n6a5dxCIX5GwVf0cT5s5c9raIJ8dR34ML5QouGk9dT5+8Dk9B.5o CyNiydAhhnnkU78Bmx8BTERjhXnjJPMCO6drU0Rvc9mfongY23aGSSYHI1PS 4VE+iqaGSDI4e5uWfjrBpwu3a+wW+s+r30+D+B9aRvk+te94+v2VBlrx1kLG D5iH+sIdmWuErNSClw2gkEXjpSIS+M3ApGOEy9KPDxfN2e4w5zKoOFVA7WcH lohgb0AFUMDV1wkmdZ1WFocrQ5Ji01klA7IHOt7NvZNXeTzZakycmOgsW3vl ucHje7eDXLajmAaVLuogxXUCkwpMKiUuYmnAKO+kX8zsVEW40vp82AHNQ+UA iiOnOBjAFCIuGzTZArSHRdy.s30OOq35rjg9lcyFkagKxeARGHuFun5s.lWv 95E30k0zg6M7pXipNDq70rF4Di30CILO77SJcyfnjjEk2hY7MWGcOfAMhZWz Wr2Sft1RLtkE4JGGX1u11Kfb0Yfb06Ax8NAHWS2aBPtZ8.49oKPt2DvV2JPt WWgj6AD.VQmQfUTAlYALrOHj9n3tG2ufstNVqs8SONr83v1iCaONrhQs.Som yddHqMtQgNrpPzxCCza8r2yyXsoYO5s8n21idaO5sOvQuELm9u+xW82d92+x WsEHD4Cd5ZwmJJZQQmCNBfB9RbOM72fY.9QzWA4N4zA5jLnfNvmvJ0ohvmA. I4hlhtM2enysNVWhydZOfUO7ArR69aEiF62JFMt83UY28UP5bOgW0NB+GNxa BUS4ZWj6uhwmD3UQeyD2EoO4wqZsCcnDvoARHpdx5Gzvth+zgD9oMPe5Agnj xil4ZhSnm8hjGul6ZPwBqB2sf8ShRGkhyS0JjXsRYUNSBFaPU1uMN8kYeijy l4UKZhxY4BnrIETh+OaA1rQMHIaCQdiZFzL3msd5D6QM6iNTyz6QMqG0r6bT y7ZAdHW6Q6GpY51OnN7ht16YjyW2sG9qd3u5g+pG9qG3vecvQaBg9ACaefov RwSkmOMzKVU.DKO0ONCC3pzT1BOl86fE7H8raXoH9+cJ.9AEOulDeAL7fasy 8qhhAWDllkSAH20iHtYbXiWVNUQb2mGOc.6K3kgKAXdVpeNGNQAgqQgXPYMH +pfx3HX1fhf6sOFBiKi5t0ZExPNHspDzQgoH6JiEXJHhZAFqSimsQj6sfIQW f2xBoLbHmLPV37IG8BFEr7kPZBQGPOqVbhnpsfIuJnHVy64Kx7v8GhPRVc6w x85os0n3d8j1dzaW1Veffvn7NEXxxTZooEshqWK..WLFCRaV.2FKGnQQZX7l FfaO50ih67hdmDTVDZCssI.pg+vRLECBWyU.1jC0.UQZ.b3wvpXVNpefm++L p.dpR3LGk+q7Na0XZNF.Pqd++w+A8r+nRwUsnVdniJSxWYw6z4kMo.rTJnsE GLnVvXtJd2SzIIBWkDfL7hJtK1VUIC70UPspoYVPFUvYTuDN6qJyxZDgQchP YCBJlzUC1CLDehKwWeshwTsXxBphmyvnvTFVZwrDL7t.CTWSVGstrhQDEPTG lWhcCF.mAgKxKeffb9wb7ZVNB37Sj2WEC4oU6NtSeicn6shqp8HmdbU+3EW0 JQ.Hvp1TTwUFwkqDXPuxtBMSYVqOS9TYL0s5kk30BSiazUwuqPssH.MWp2qo PzbY51UrYVlrcFSl6JFu2bYwkfDeSkCtYAvR7LaRhWWvyrG2xdbK6wsrG2R2 Vf0ywdzPGcccq8B6RKmGTXW5XqOTWRj6g2W2CfYO.l8.X1CfYO.lU.Xpfe45 vWNfOpB3+KTv4bivIXIHmLLgT4h2dRYx0kWAnG7Z1t2qerBdOUXBpfICGf+X rLPjIKPArVgUc8Tt5wpNTrRLIrDpQt.KiSjXR1Dd0AnKnqDo+nLpDS.qB6fP 0KyNFx+DWKvX9GeQsbQBdYsTwgvVJGX.wPFOF3WOSEyJ5xa5hkw7kZV0k4Z5 xXpr+BHKOS2Xjilll.mqjQ9dMk+YAwH.szYyDaZEkqZuJAXGEzPYbzpPFifK R2xbDE+C2Hqq1UV8FMh.LNMn7lDLUIVQ1XtIuEuNHqqiepmkNG31MnOFY0H9 oPZ8H+OvylVkniUa.nZZQtufssMmVckzJWzkB1SKm4mJxVAJftlN6q3ch54m Tc2b4GQ2RXY9qJn+xaM0ZHZR29N7.U7xWD3W4DxU9b7N3R+nKfzTCQRkfeZg mtS.eh3YwLKXrJdSNbUXFc1LKQOGYNCqtBe3E.CJbehILvaKWoNEfO9AQPDB VVYdL37H1dlLTyz1Rf5sdXdIOsHIq0vfJ4+rXP.eSB9UFEMY4KL9R0xE6d3M OYJLqMKDCqDUf2d6NMjd6GpcF7J85Qs6iRT6Z.8LQSvmsFhXaHHavV.DaKxv FrU.w1P7kLYEypvTAuPLP4WpHlcTHPXcXt5g0pGVqdXs5g0xosqcIMy86z3Y Y9fBQKI845LpqfYY2Cl0sCLKWcFLKq9K7mdvr5Ay5AKXVaBdfKaysiosbyna A7.8QFJaEsk4nOpADnZ02pHD8GW6x93ITTEp1JxW678biWast0ds1ZVGu9Hq 90V+w6IhgFa+SW7pbPrl3T7lwhWv5ZqjdiY0CzUSX0Zo2XJcYBUWlr5pjkWj 3zJjiwBBVS+FmxDJHcIQA3Oxn.vyT15Dk1NOGGQK3UmtMSs5Wva+Bd6Wv6gb AuoUaOzyD+BHM4MmGCq656JsvAdJJrYsGydYPZMmL.RIrxo4uYqWGylsbJJz z4gy7BM43jLtZnstdSiC95oah08m7yBmT4Py3YiNxm67wSr6x3PzCJHC7TMr 4oBvZn2GFb0hjzbEVn3TPPIIfN6rpbKizD+4njw9QuFLpmxNWoB7fuiG5PZ6 3n7y6N4VJfW.1zEGPkvuX8FpPlvOpSkBSDxBohVVun1E0PFTG9CIfYgT9li+ kz.TxrzrghqW8kkmK+SAiV+gu+OIllbU7YCD+1UvqhBm7tpRLi1uzz+m+mxV m1vglTgCqzEOc97SGJfj7Lgw27jWrbbv5snuAr6kxyoqB7AC8mCVab4.wT+U CXthBSYqCuGsyg2dVJwXUciFFdaL5XBtHXgjogWi8OOFjLHr3ASlFBSCMggk 19NSW2zC0ya34LzxyzyyUdAjB7kQMvOtGuoJXp6949F2tEL1L8X386dbv6g0 0QhoGXcL7eX2a2ART2oGHwdfD6ARrGHwG..I1xh4.Ek6ZobZ7Z4rJu.taesb lODWt68GTqj4lIIfcini1QRwxZ97a4QNBjsK8gWK9+JjHSxKej36Xo40FDra CM00gPUGOnbjWhhWn0bSqvKkwCmP0iMp7CxZnP8Ld7QoGcVGszZI8FdXHzUN cT2J.U8tA.pZX40Cn5m7.ptwbzl.TciIn2N.UgovU3np1VO6ey9L21blNY.x +C3DJYx1bFk7wen3OJ9rGE1dTX6QgsGE1sBYfYaGKGW5TGYZNTyxyzZmg.L8 CNfAyCxx.i41fxPuVP5zB++zagBML3UsxSp73oVlMPdUtIXipJ2EkanT.kpA MKTCtcATMJbZO4U4IylEEzAlAKmwPq09ZKknGG56Ef4mukWGlxH6a1.gFo6P znu2b2gqzBArHv1XHVTPvSxPrLZezwna8nCs6jQGi8im8wIXS7V03P.L4vNT jkmVOrQ8vF0CaTKVexRH1gMlF7NEYXveXW76lLxz6tyHyZKkisTgJpCiA3Yv ZnJ2picvcj1IXYttpw67EVuMqF1uEPaz1xaHcDCNfKy4cAq5HKlU1xge11Xw 52orXsaBK1pMVLZrxfs8wVY4+ttpJuOgWUUkkCfIQQDTJusnWDz.6OMTAO4Z ohgcoXqrrLsMFIuIvLbs3So2HOMyM2Yq0JBihhvXjl9HBMJSMHmV7eAOReWE wspDn6jbRhgqhhN0TrHMAO0HEFNMzbzmoZh1Ind5ouksI4s944ogiWlyChUs 4buzcNiN5IRMikSsaSQZk11a9JkaYCnuJLdZxUhulvKGCtj5hulbE9a3oRnX 0VtlCG0wSkv8yVUultf8jigc2fg6sru7ZVrU65UzosVa6IuwsaO4KdJ1xn7N NZYvymScI2sqndmztA6LkXTIpqzt8cKsOCw.4dg3aCTIq13I6ajk2P+A04PQ Rec+HnXXzeDT5OBJ8XIzikvCbeYKMXJqooXOIGlR2ZUkZfJe9L34UZkKe7X7 lvJZwk9q8b+m1bLFt8EUZyhBrc3v1Jq60osUUpcjt++My1kgO2Rl+oXjktLv 3px9wPTa0aT5.fWLp5ETWfnHDuukdUgXi90hNVQC8rhht1pNUQy8pi51QYxz ToWs1ga9dDspGJmVI770yw1cNLxCjwXPG9WpDB2U5YgwLzIQ2mePxE3aiCxx pRd8NbXnzZYfde8rTaj.LFasbfutHC0OeTJW0nm8TQY.9+uDjFfWFmzUrIeP 68Kh9Q9oyVhbSxEToHwFGvzwPHeoyjNATsltbBs9M4M3vvRWUkpwqOiuWIB9 0kgu2OhtA4R3Fy0CD3+JC3auFuV.ptbGBiACL7i.0vSEkQDLdr90bzkef7qq 3u9T4W+M4W4qAzhzW16n77UzkiWY2fxavxnhaW4opT2PwDOcYkPiiTN7JVmN gGPQIDnuMNTVEGDslOIVFF2fShkold+Iw5i2ShUMcRl2LcR0BA7pFGHucg2z MUOsrZGnTQCpJ5ApEyYs3rpGqge79CLU+Al5.efotMG+ncCQnNCYhoQIjI5r LyFwLw7tElLEIB2wvjcqBKRz4uBwwvlO+Ua4X6WaptWORR2NjjbLFwa7MuPQ K9.mn61CjTOPR8.Ic2BjTWriV2fMj1gzgit3IYHs1mXFRWCQlBOTP8phu7pI pXEba4d+VZeKk2mJ5Mm8gi4rxYAEqir2d1iyiS+yuJHKYdfXg+L4spnLfYfg oi7k3MB.Lq0eLErJvqnwYnZEzMB22yNfEavrsB7mME4RzsNZhbIfx3EYe4Sd xUWc0vx3WxPH0OAiKIO4GlZX9M+8sxJL1MqfLUVxKLa5LZabjsSx3UzPBF9V BDec4ke6aQaByEFhuFF.GOUdp5KERTmyXuqUOLRySwgeccZfynM53MhWzNOb BneO0W70W3m91IQgKDvX.wWuHIiBIgnK4A+y.dTbPQJzGtUdo0t3kV7tII4k NMrJLW8C3pvtO7CDlXK7U1heuUR8guOf7qPyNMADYrSFh7joti0faumdBz94 TG2czclHObx6Zy2njgMGc9zqzNdLVGKBVyEiEf3fLP85t6Ps75PG5sCoIycc p6nFK9G248vR4iofNDvFjulpH93hJEJB+qAIgl6h0YXnx5Z5.Kp+f7.KJk0q yHAYXzJha2RedbCfHKzacnOohLQa5oti5MRzV2wGRwRMy+9P0tN1k.rtCJez 8.ryG7CkJe.Ec3MmbWmGUq6VJtbu4NzTstlCewlXUcgYtCZ29Nl1QEtzEl7u OCy83KX8cPzN520G95p0vzQ5lZV0AWfYCqCpfjYrAXBdtpnDz.RBizpknMfQ XSHD1naoysG6Nzd7L2Q6Yd3zEIf4uRlhtkNaelMunD0uVUU2czfUGnAWu8kF fIkjMllR2qyp7q2Gzf48BMHY7GHZv39fFTazG.ZPqKyGLNbyO6R6wczMabgz sFU918.GcsFWCbT6a3Ha4lvn906CZ.GzpuqdA28jFrsjp6jJ+fuVr9k6KZvX Wzv9Jo2UylZz1Lfut5Nke89hF10XIGialDlh9A0udePCcwB.WmavXIrQ6XUa rji08GMry4C66bZ6Q10nAkudeQC6b9f0dRCN105GT+58AMzEKeHSNMOHZq5x Pa6CltSmtzbnsW3P0f5hAR1t2PwWRGIQ8q2CC4HZXWS8s2a04FiToA0udeQC 6Zpu9dunGuZ8Cpe89fFzOxFba2E67r8NbsGuiMFjaWEVqeXZO1cs8XbXZOcQ Yl8gaoW1n..8cZso6gsAM5HZFF1d7Nx5vb2Q6w5.yer1U64.O9wbWsG6Ca6w YGsGSyC7D9czdLNvim2oFrC73Y6c0dNvim2oYbNGt1iwwlEGcn8b3ldYcrYP l0w15CsrOxZPllGaMnNsBZyClMzcQBj0gi6zgVig2As4ryAOGzVi9QSqwnKB CMOfsGmNzdNf19XXej0drNxZOlGYsmiMaezGcbY7r9wl0O5GaV+n6br0fr5z XnCHhB5cyFZKmCXKpSJNNfsmtn3v8voXU2rqnrdfZO552mLH9.xslqzisk0b g90be9Mcc9lca90cYdnl+vm8+Gudo.nB -----------end_max5_patcher----------- </code>