Hise crashing
-
For sure! Will post something later today.
-
@Christoph-Hart This one crashes a lot:
I replaced the getSystemTime() API call with a permanent string so you don't have to merge. It still crashes anyway...HiseSnippet 2579.3oc6Z07aaibEmx1LarSb1roAEs.8vTchdihLo7mIoKrTrrhUp+PwxaxFXDrcL4HoAgjiJ4HaqFja8Pu0dq2JJv9WPuUTfBrn+ETfhh85dZOVrG5419lgeHpOirqiqcwJaSy48l2i+l27l27dCUEOlIw2m4ojZ58a2jnj5lpUa6xardCL0UobQkTef551LyWq731Mw99DKkTol7IBloldJE4mucsGiswtljNjTTdNiZR1h5P4cnVI+OkZaWBaQ1m5jn2KlurIycclMqE.jIU0UZhMeMtNYGrnaSnpj5ZaXQ4LupbLm3qjZpGyrZWsA6X2f9+bpO8PahnggRUPQAjKwrsDHVPUY8FTaqJQCXeEPoU5L7mLX3eW0soVzX5cLC2Vx.0Qhj1iTSLJ3YjDd5iO7Rk.dSE.uORspoGsIuCGA1tgZYWNwqFFlBRBqf9pLwedV00YPOb4YcvulTxCZDKg1R55YPvk4dzry.cymYSxZZSvdZBJyNCL03yQGg8P07f4CzmfhTF1xpB1kXqkVxIcF8LQZQx2mH.ZShGmR7gmpySqt6NwcFgdS5ioV7Foen.BoaPn0avkMdavS1iTGwoxGY5zOJn8KS1X6jMJlrgELQjrcCngd38NIt2Ow8vrQUhYBBjifQQYqGkzF3.isFBoNH8SwtoyjtD4P351XO3Zgldx6aCWeZKW4UaA8V0gqUIMgq6Zxgq6vNBtVjXl9Uxg5ryHsJBSlXsg25Xa6CgEAZ0Z4ZxoLWs4lcl2L6LSGYOxomS+9FF2O2p6arzCMV8gKtT5GM+7a3Vm5RxVmvq11mSbDJSi60hHrnSC+JreBcj0u0g9bOpacM8LKJ4tc+rVJyJRVE6m0pYLziTZn0tH5dnzvO2KzJcPSrmOA7zz1dt6a7pXtuLTr4mGUtFJsdZDlivnCI.1AUiX0fVAOlLHOhC6HBhxQLODuAAEoTTjoAcLDUAw8HfVftg8Qatwmgba4bHwCdJho9XfHGDlMvdE3ZFFyg9weh74uVuiNCiLFKLG5g8QOmftbb6LT8t3Hz6hYLVdP5cIAcod8GpdWYD5ckLFOXP5cUA8n4IZMjVnWNnH+4DNTH3SniN7fkA+y1zF2dGFmn8.HzvxAdGh9Ev0E3rasZEIPuHVOt8FARqEpkLnbAASjhDunxWP4sA3f2f5m0izDBtxkQYjK3CWAvwdAqAzVPetvEGIVdTQHzdrVbvOuypi5gKOpmsF3LTv1VKX6D+rVXuWW2izVhn5BMDvItCGBwcHgbEBugsMsoOQ6fbKpmQ9m32WEYCqAtgZTYTBDE8SPF4f+eu6EaKC+mHVQCP+kcsHmTvstsXARNzGi1FClvJkQyCRBMon6izBoMeNwCAE9QngS.gjLMY9Zcqtd6Z6nt5ScGPWShs5Ys7vGukv.JmIfnEuPDHVat4yAKOOAfkwpvL+vXlSOAyMkgsC41tWQ6iqT1kmKgyPuFzk0GpA0g5NB64x5mN6YWZajly954o0Z9fyt07AuSq4BIslBr6SLeNwDxGAFChcBhZp4G5lOb.OXXFqvCzekbFdoAgogfyNBaDKrQzpovY0jvc6nlmY3FqvP3th9o.tcD1HV3ERBWwZqj3cy31mY.2QkgHV+zf3DRaDK8xQNzCIp2wTdiB1Maf6DGzFx2HCRO6RykHZ3dfh0Nv.hAtTlbKCoJzIR36JXJvsDjGfV5BdTLjFDZQ8D1mB1z5tDq8Imv0D4OjAc.j9XldLOYVR+UYPoMgcV7HVoCezuMZeApqMXl6jIPOd6x8DDFAnBFrsvSbDQN7GXji.I6JtQjZ5tKcEvn2t3Q3s7bQGbRl1h78d6PvdRW+SE1c9eO16ZYv3Bd4VfMtfA+f+IdrvbEo9rKjw8LuYlom4syf5kUsZCjmnrGOlsMj4xfXGjSyHDTKHk0Lv9O1PB6QcDJ9q6pKUGd0kIK90LnJrDcjA6hQ461j3NrZNUBKcCt6SKWDywhxPCo0oTNfVQxQP88AEkNsZQh+q4rlx95zj4JzPpqwkbmMpjUQkhJTKwIJHSlS4DXnjRT+e6najkCBJ7Z+yTAmLPPMgIonzeQwPo4LqV1Xd20qKNjhPFfYtqBiEE+55S4sSdHFuWJhebg6GoVgxMaLX7Nw.vKLw79FugGIxrpaTqFrvtCXmRszmcAb9GSTouSm5NpUX1sa1f4RMKQs4jfC.YZ0fFFC6Tp95m8G+cqUxi7yaQbMishe0reQ9mE13mUq1OJOX9SbrTeb9m0Ba2wp+62eu+PgGSaxrwdi0Lxji2B0ALzmZLca99pwCJz+M95SNdSXuiCo5VAHUUcqR6FtHDtCEiaiQCru5K9q8OGAycqINwvxtIszu.eDApavIL.TH8ameKRc3AkbjtOABHA0sZlT7pNLFjnga8tOGx6leKFq4FtXXnakTIUZf8Eg8gLZRpl0a4yYNQXQdPkU4jlx3loNPc4EyBepcOw0GrNbYgcOeZeN5nMwX5n88jyjwSYh4zK4QTCPbWKOtzuGfHhE5JydV+P0vfgRq7UGbeK0mc4Br2H.refp7H0jX75A22cDSIIQHqsH0RDHpb9XF6EltTLmRDhk3bj6VBEkH58HfhxVriq.OPwLZL4e0eK+lz9npTL+1zSh197W+W96CNVapIOmhUoDbne0gb88DOW0cZ4TEJ5vj.SstPxkhTiSMgHtbPa8nzJqRbsjM92vmPlFh1oBYZDwL4rx0ilU1gQ8IxYk6DbO5IDWhW+6nkHgCz27m9si6qEq4X+Zw50VN03YKeG4YM0k5WC1EWB+mOIAMcDFqRcZZS1v8HhMT3Tn+S.QTD0t8e1l4xBxsMoKydDveudchWRrOvATANGVR2sr1DH0ktVfCEti85NS2SksvX7sEiZ95GnF.WjvoG8cEpc0sPsK5.ygkYbCXwjKQ9JoBqERzFIRGeLBPq7K+W+ly+.z6ZxgG+9dXW+lrtV28kUINz8YtBqdmm1m5SD6otmvSpqJKXhW.3.X8sqUBFjCTlpXdKOoKYAGVK2H7+0+h69OV66133x+FGeXT9FE1rX08BC1Hu+851Eq2x6ntVATjXha2G092aIfxVD.ZIIuILojncdo55PHe9pPUyc88G5keYeaSsX9MLYu+1iRcLcMlM4dTW5qpIDqAyHWtA6MUktEWErqenZnC6UBC6sTCWKcUvzNxbol7pVtTm8cAl376r.ROzyBXkKryBX3m65U8yB3lg0u8jNK2BKnSPwXDeGYEaqZi6xU9EgurqXBCHazxvF+d7JhCYq2EBSdQ+tFtpc7j2IXYyUI.KcIt5.3aqVAeYvg3hHXv+u7LbvldrO2L3abfX4+0kT.aqq7Ka+zpaKZiLTjeKDDuMO8r5JNPwaetooXav6CyACVlbmAYV3LHyhmAYV5LHyxmAYV4LHypiTFQcyEZwYNAqw.BU1H3ULlJ9UUlZRk+C7eYFkI
-
Yup, that's a good example. The problem is if you recompile a script while a timer is running, then it will try to execute a timer callback for a nonexisting engine. I'll look into it...
-
@Christoph-Hart Yeah I noticed that timers are often a cause for crash for a long time.
In this snippet, I even get crashes with the timer not running at compile -
@ustk Oh yeah and it also crashes while running without any action ;)
-
Alright, please try it now, I've just commited a fix for it.
It should also prevent dangling repaint calls, control callbacks whatever from being executed. Actually there is already a protection in place, but for some reason it failed, so now we have double protection against dangling callbacks :)
-
@Christoph-Hart Cool! Testing...
-
@Christoph-Hart It is so bulletproof now that the Timer doesn't start anymore
-
Yes, TOTAL PROTECTION!!!
-
@Christoph-Hart Been crazy on F5, Walked on it... Slept on it... Even my cat tried... It's stable!
-
@Christoph-Hart Hmmm... It still crashes every now and then while running, not at compile...
I just open the above snippet and let it run. When I come back after a moment it always crashed... -
Which configuration are you using? Release build on Windows?
-
@Christoph-Hart Release on mac
-
Ah, it's crashing on Release on Windows too, Debug is fine. The problem is some weird memory corruption that occurs over time and I think has something to do with storing Strings in
reg
variables. If I change thereg
tovar
in your snippet, it doesn't crash, also if I comment out the lines that store strings into thereg
slots... -
@ustk Can you confirm that the crashes also disappear on your system if you change the
reg
s tovar
? Because if yes, I can try the address sanitizer on macOS, which is helpful for finding these memory corruption bugs. -
@Christoph-Hart Ok I'm testing ;)
-
@Christoph-Hart Well for some reason it is stable now. Nothing changed since yesterday, I didn't even restart the machine...
I had a doubt about the computer sleeping or when exiting the screen saver but it refuses to crash now... Can you do something? -
Apologies fellas! Meant to post a snippet last week and got caught up in US holiday craziness. Let me try out the new commit and see if it's working with my current project.
-
I think those recent commits fixed it for me Haven't had any crashes yet.
-
@Christoph-Hart Ok so I went a little further by replacing the REGs
Here's the thing:The snippet below still crashes even when replacing the reg for var (strings only):
(so same snippet as above except the string reg to var)HiseSnippet 2577.3oc6Z07aaibEmx1LarST1roAEs.8vTchdihLo7mIoKrTrriUp+PwxaxFXDrcL4HoAgjiJ4HaqFja8Pu0dq25k8ehhdoK5eAEnnXutm5wh8vdtceyvOD0mQ1qiqcwJaSy48l2i+l27l27dCUEOlIw2m4ojZ58a2jnj5lpUa6xarVCL0UobIkTef5Z1LyWq731Mw99DKkTol7IBloldJE4muY0GiswtljNjTTdNiZR1h5P4cnVovujZauA1hrO0IQuWnPYSl6ZLaVK.HSppqzDa9ZbcxNXQ2lPUI00V2hxYdU4XNwWI0TOlY0tZC1wtA8+4Te5g1DQCCkpfhBHuAy1RfXAUk0ZPsspDMf8U.kVoyvexfg+cU2lZQio2wLbaICTGIRZORMwnfmQR3oO9vKUB3MU.79H0pldzl7NbDX6Fpkc4DuZXXJHIrB5qxD+0zpqwfd3xy4feMYCOnQrDZKpqmEAWl8QomA5lOyljyzlf8zDTROCL03yQGg8P07f4CzmfhTF1xpB1kXqkQxISV8rQZQx2mH.ZShGmR7gmpySqt6NwcFgdSlioV7FYdn.BYZPn0avkMdavSV7L4T4iLSlGEz9kIarcxFkR1vBlHhZmdFORcTCno9iBt2Iw89ItGlOpRLSPfbDLNJa8njVAGXz0PH0AYdJ1MS1LaPNDttM1CtVrom791v0m1xUd0VPuUc3ZURS35tlb35NrifqkHlYdkDiomQZWDFMwpCu0v11GBKCzp0x0jSYtZyldl2jdloirH40yqeeCi6mek8MV7gFq7vEVLyilat0cqScI4pS3Ua6yINBkow8ZQD1zogeEVPgNx425PetG0stld1Ejb2teVKlcYIqR8yZkrF5QJMzdWBcOTF3m6EZkNnI1ym.9ZZaO68MdUL2WFJ1bygJWCkQOCByQXzgD.6fpQrZPqfGSVjGwgcDAQ4HF3OzffhTJJxzfNFhqf3dDPKP2v9nMW+yPtsbNj3AOEwTeLPjCByFXuhbMCiYQ+7OQ97Ws2QmgQVi4mE8v9nmWPWNtcFpdWXD5cgrFKMH8tnftTu9CUuKOB8tbViGLH8thfdz7DsFRKzKGTj+rBGJD7IzQGdvxv+4ZZiauCiSzd.DbXo.uCQ+B35Bb1sVsRDnWDqG2d8.o0B0RVT9fvIRQhWT4Kn71.bvaP8y4QZBgW4x3Lxk7gq.3Xuf0.ZyqOa3hiDKOpHDZOVKN3m2Y0Q8vkG0yUCbFJZaqErgheNKr2qq6QZKQTcgFB3D2gCgHOjPtBgW21l1zmncP9EzyJ+S76qhrg0.2PMpLJAhh9EHi7v+u28hskg+SDqnAn+xtVjSJ5V2Vr.IO5iQaiASXkxn4.IglTz8QZgzlKu3gfB+HzvIfPRllLestUWucscTW8otCnqIwV8bVd3i2RX.kyDPzhWHBEqM6b4gkmm.vxXEXleXLyqmf4lx.2gba2qn8wUJ6RylvYnWC5R5C0f5PcGg8bI8Sm8rKsMRyYe87zZMevY2Z9f2o0b9jVSA18IlOmXBYj.iAwNAQM07CcyGNfGLLiU3A5uRNCu3fvzPvYGgMhE1HZ0T3rZR3tcTyyLbiUXHbWV+T.2NBaDK77IgqXsUR7tYb6yLf6nxPDqeZPbBoMhkdoHG5gD06XJuQQ6lMvchCZC4ajEomawYSDMbOPwZGX.w.WLa9kfTE5DI7cELE3tAjGfVlhdTLjFDZA8D1mh1z5tDq8Imv0D4OjEc.j.Y1dLOYWT+UYQYLgcV7HVYBezuMZeApqMXl6jIPOd6x8DDFAnFFrsvSbDQN7GXji.I6JtQjZ5tKcEvn2t3Q3s7bQGbR11h78d6PvdRW+SE1c9eO16ZYv3Bd4VfMtfA+f+IdrvbEo9rKjw8LuYlom4syf5kUsZCjmnvGOlsMj4xfXGjSyHDTKHk0rv9O1PB6QcDJ+q65KUGd8kIK+0LnNrDcjA6hQ461j3NrpNUBKdCt6SKWBywhBQCo0oXNfVIxQPE9AkkNsZIh+q4rlx95zj4JzPpqwkbSGUzpnVQEpk3LEjIyobBLTRINAf1Q2HKHDT3091TAmMPPUgIonzeYwPw4LqV1Xd2UrKNlhPFfYtqRiEk+55S4sSdLFuWJiebg6GoVgxMaLX7Nw.vKLw79FugGJRZ00qUCVX2ArSotwmcAbBHSTouym5NpUX1sa1f4RM2fZyIAGAxzpAMLF14T80O6O+mVcCOxutEw0L1J9Uo+hBOKrwupVseVAv7m3fo93BOqE1tGq9ioMY1XuwZFYxwag5.F5SMltM+X03AE56iu9ji2D163XptU.RUU2ZicCWDB2ghwswnA1W8E+89mif4tUEmYXY2jV5WfOh.0M3DF.Jj9sKrEoN7fRNR2m.Ajf5VMSJdUGFCRzvsd2mD4cKrEi0bcWLLzsRpjJMv9hv9PFMIUyZs74LmHrHOpxpbRSYbyTGntzB4fO0tm35CVCtL+tmOsOGczlXLcz9QxYx3oLwb5k7HpAHtqkGW52CPDwBckYOqepZXvPoU9pCtuk5ytbA1aD.1OPUdjZRLd8f66NhojjHj0VjZIBDUtPLi8BSWJlyFDhk3bj6VBEkH58HfhxVriq.OPwLZL4e2+nvlz9npTpv1zSh1972+29mCNVapIOmhUoDbne0gb88DOW0cZ4TEJ5vj.SstPxkhTiSMgHtbPa8nzJqRbsjM9uvmPlFh1oBYZDwL4rx0ilU1gQ8IxYk6DbO5IDWhW+6nkHgCz+5u7GG2WLVyw9Ei0qsbpwyV9NxyZpK0uHrKtD9OeRBZ5HLVk5zzlrt6QDanvoP+m.hnHpc6+rMykEjaaRWl8Hf+d85DujXefCnhbNrjtaYsIPpKcs.GJbG60cltmJagw3aKF070OQM.tHgSO5GJT6pagZWzAlCKy3FvhIWh7UREVKjnMRjN9XDfV429e9Cm+An20jCO988vt9MYcst6KqRbn6ybEV8NOsO0mH1ScOgmTWUVvDu.vAv5aVcCXPNPYph4s7jtjEcXsbiv+W+at6+d0eXiiK+ab7gQ4aTbyRU2KLXi792qaWrVKui5ZEPIhItceT6euk.JaQ.nkj7lvjRh1EjpqCgBEpBUM202fnW9k8sM0BEV2j89aOJ0wz0Hcx8ntzWUSHVClQtbC1apJcKtJXW+P0PG1qDF1aoFtV5pfocj4RM4UsboN66BLw42YAjYnmEvxWXmEvvO20q5mEvMCqe6IcVtEVPmfhwH9VxJ1V0F2kq7KBeYWcd0B8mMZYXieOdEwgr06BgIuneWCW0Ndx6Drr4pDfktDWc.7sUqfuL3PbQDL3+WdFNXSO1maF7MNPr7+5RJfs0U90seZ0sEsQFJxuEBh2lmdNcEGn3sO2zTrM38g4fAKS9yfLyeFjYgyfLKdFjYoyfLKeFjYkQJint4hs3Lmf0X.gJqG7JFSE+pJSMox2gUbSTr
But this one is stable keeping all REGs:
please note that the only thing I did here was :- Modify the paint routine order mostly (it's stable since, very weird...)
- and the timer computation order too but it was stable before that
HiseSnippet 2628.3oc6a07aabbEeoj1DKYKGGWihVfdXJODPESKuq9x1IMPjVeXIWQIZQY6XHXjNZ4PxAd2cXmcnjXM7sdn2Zu0a8R9mnnmBZ+Gn.EE4ZNUzSE4PO212L6GbVwOLkprpXQnjVuyaduY+MuulYdKcYNygDDv3FYlbu1MIFYtlYk19hFqz.S8M1bUiLuu4JtLmWY7v1MwAAjpFYxL9ijclYxILTe91keH1E66P5Pxv3YLpCYKpGUzgZ4B+Tpq653pj8ndZbuPgMcX9qvbYs.fLtokQSryqv0IaikrMloQl2aspTAiWQfEj.iLS7PV01UZvNxOj+mQCnG3RjMrMp.CTH40YtUkHVR0XkFT2pkimvAFvfVtyze7vo+sLKQqRSn2QMbCUGnNRnqOxL1ffmsN7rFd3kQCdSDBuOzrhCm1TzoGI1tp4l9BBuFFLA5vJjWiw96W2bEFvguXVO7qHqygFIRjaQKq7H3xLe5zSArEvbIy53Rv7bRJSOEXZBDnCwbTMNXOPeFJdvvUqVF6SbykU0S17V4iGEU+ADIPaR3BJI.dpdOtxNamvLB85rGQqJZj8SjPHaCBsdCgpwaBexbRcjfpdjYy9ogsegdiR5MVUuQUvPn2tAzvJ5dOs6CztGrFUHNQD5Lq8fYSCIe6m8wX+r4ytN4.3ZILGtVrIWcea35ia4qt5Jo2pNbsBoIbcGGAbca1gv0UINYeoZxM8TJ8fTIIiF3qfccO.b6yUqkuifx7yMyzS85omZxHMvZ90o9jYqSDUZGHHdRgxI3sHRc0jvuRH1DyCHfoMmTnYcZf4EE4ru2LneLnKrxhVVoOmMn0AABN0uNzWd6GLC5S5h98kziG56dWzSapTojCI71hF.KHluaa3hCAAVXT.AzXUQTPqQvUQrZHB1ogZX4HGXtACCsFJWjRFvSvLxYGB9L8TnnORq6IPhU9EjvHliRcywh4umNGq1MGvjwJZtDyUjCxpnaixB+b6Hy79IZvRybG6Wlz6KRKMnP1rlRihEHL5.BXaT5jZPqvGZdDm3wNjfnBDiiDMHIVGTrIFcDjODI3DXT.1vAnMV6yQ9s7Nfv67vZzWCq8.Lr14smuWF14jz00Wd8c3WX.C+B4sWpWC+hR5w9MxgWsbhLUw1LAYG+b14QO.R3rzB4Qg1jtYpVsXtlypCOIgmAwTjdNpa.GxfY4jlPxZgJq0juQA.UdjnvLAlGFnkadqYhh.0hAKKkcWVKADj0IDrdTLX8YqAVphtt4BWkJX1pX9qpyIs0BQVU5R8QJMhRDXTC4NQninhFEca1.mP4.WHjGzDytXnRK7AA3vGVYXWhi.6W2kjae6krxau.728sxOu0Kyihbn6G+fhK+7yA7akl+gGXP1XRJfARsNDijKaQNEC43PyGCgpb7QEco08IU2ibrHmL1JOZ+PDqrMPVqmKS0malPzj0AVefSplsOiPOblWZF0PJmTCwPFZQT6boOSY0DTSGtlqKsYfT0AfV8m72WFOZ0fX3bT0hCHJ5mfrmC92aeasbXp+QtfQCX72DrGGWTZK.QlC8wnRXvAu7ln6BRBMon6fxEQ6tyoGNJGgiAgTc5vBxkd3NIqsiYMf52CV0wVnZdKoC9Izf2cNHE2w.rjtWn90ozmJoyMTqVG0a6SJZW8pjcIsPytTnKY0WEpG0e.5ykrNc5yTi1.Umcw4oUa9fyt17AuUs475ZS3WI7gUgeFjD.TseFRtSg3l4BzBz5Ml6MRSFv8sdoxHuXufUefZGgsSD1NNfJxvpC2RwMOyvMY.if68rNEvsiv1IBOuNbkgW53cij1mY.2YHiPr0oAwZRamH8Rw9zcVBT9C02EvUmsdbB2C05bRofTlXWooa.QaA8LZKTxTwZwCSZVREjcRV3DQKtOZ+iy2VtQ42zGrq6qbpvt2+6wdJ+lgE7pkMZbAC9d+Sxbg4GsotYl50SM4TuYJzI6B1JWu5SdBQNy0E1MVu5NbeZCPvbg6QNOjy1ENATLiv4jSePby9ePb85D3DdfUMFYPlepXmlD+9c7binS4B28zMgs9gkmXOhVmS8BzVkbH0gDd98IMWkD7JAqohWulLe4Hj48DpdmN9z8xCUaPqJK9hZCpFGCSkLxRkzN9F0ImgA789mYBKhR3wm0oXzc8CtgYIV0VtXQ5RaHqmSTGfZNUMDj0IvOfJZqWum2I06XXg6GZVlJbZza7NVOvKXXdWi2npGMs4Z0pAA1c.6Dlq+4W.kJZrxcUHuaZVl41tYClO0YcpqfDVqnIMCaX2uB58MO42+6VdcN4m2h36jnE+5o+xBOIpwOqVseTAP8qUAuOtvSZgc0z5E9SeTwGRaxbw7gxhL9vEn1io9DCoay22LYRg9uwWe7gyf8Vpm20CQpo4VquSTPHbGJA21CFXe8W9m61FA1tkkEWcSecM8ywGRf8Z6Ek.Jh9MJrEoN7fzmo6QfDRvIwczEuhGiop2S5R1dqBawXMWyGCS8p5CR4F3.YZe3.W5CyJsBDLuXrnpoaEAooJuYl8MWZgYgO0ts75CVAtL+NmOsOGczFaHcz9dJKYhISZSujmQMDwoBOtzuFfLiEZjYMqenYTxPkVdzA2W27IWt.6UCA66C6ixE2VgwqDde5LlJRxTVaQpokHZyBIcraz1kR5YcBopr.7okvvHl9IDvvXK1QkgGnzhlP9W8WJrAsKpFqVnD833kO+0+w+Zuy0lY7yobUFgExrNrWet74ZtcKuJvgNbHfo0G1bobqwYFSlWNrsU71JqP7qpZ7ugOQcZKamIpS63N0sJWI1prMiFPTVkaFdO5QDeBu6Uzz1vA5u8G9sC6aPr4P+FDOotbhgSW9V1m0DWpeigWba3+7YSPSFiwJTultj07Oj3BGbJx+IjHJlZZ+mRLeV3da0cY1k.960qS35XumSnhBADRmVVWBr0kTA3vA2w7z6z8ToKrGdcwfrW+.yP3hjN8nu6fZitGT6hNwbzwLtJDL4STujsnyBIaijaGeHRPa7K+W+ly+Dz63HfG+dbrePSVp3tupBwitGyWp067zdZ.Qtl5tROoTmrfIe2k8nquc40gIYOkoBVzhqbIK5wZ4Gi+u4Wbq+wxe2BGW9W33Ch2uQwMVsxtQIaT2+Nc4hUZwOLUDvpDGb6tn18ZKgT1h.PSm7FfQQqcA0v0gPgBUfSMm5qZ0K9ptVlZgBq4vd2sFk4P5ZLs9ZTW5OUSDVCsHWtA60LUtEiB50OvLxgcjPwdcynXoQAU6.2K03iZ6k5ruJvXme0BHaeqEv8tvpEP+q65nds.tVz42dTmvsnCzIoXOfuNwxkUcwobkedzK6JgPO1M5lvB+bQYYQ1NYfv3WzuqgQsxSdyvvlQI.qbIFc.7MLKiuL3PbQjL3+WdFdXGN6KbB+FGHC+uhhBna8U++RXRyRx1HaC02BA4ayyZVKCO3vaegiibYv6.1fdKybmAYl+LHyBmAYV7LHyRmAYt2YPl6OPYjmatXKAyKLFCHTdsvWwXljWUYlwM9O.QkF4q