Linking knobs causes DAW crash for multiple instances!
-
@d-healey said in Linking knobs causes DAW crash for multiple instances!:
Circular references. L changes R which changes L which changes R which changes L which changes R...
Do you mean the code is not correctly written?
@d-healey said in Linking knobs causes DAW crash for multiple instances!:
There's a tool in the Tools menu to check for these things.
Which tool?
-
@Fortune said in Linking knobs causes DAW crash for multiple instances!:
@d-healey said in Linking knobs causes DAW crash for multiple instances!:
Circular references. L changes R which changes L which changes R which changes L which changes R...
Do you mean the code is not correctly written?
@d-healey said in Linking knobs causes DAW crash for multiple instances!:
There's a tool in the Tools menu to check for these things.
Which tool?
Tools> Check javascript objects for cyclic references
-- its right there at number 4 on the list.
-
@Fortune said in Linking knobs causes DAW crash for multiple instances!:
Do you mean the code is not correctly written?
In your
onR_GainControl
callback you are callingL_Gain.changed()
which will trigger theonL_GainControl
callback, and in that callback you are callingR_Gain.changed()
which will trigger theonR_GainControl
callback again. -
Tools> Check javascript objects for cyclic references
Actually it seems that tool doesn't pick this up as a cyclic reference....
Maybe because the
.changed()
method has this:
-
@d-healey Yes I've just tried Check javascript objects for cyclic references tool and it doesn't recognize any cyclic reference.
But when I remove
.changed()
methods from.onR_GainControl
. and.onl_GainControl
, the value is not updated in the eq of the controlled knob. What is the proper way for this? -
HiseSnippet 857.3ocsV0riSCCD1oaMPCTDHwCPDmJRvRZfcAIDZK8OTErKUTXE2PtINar1D6JGGfJzdjGHdJ3ggK7F.iSR2jVBktUPtM+7M9aF6YlLVJbowwBIxnwalOihLtFdxbtJnW.gwQi5iLtN9PRrhJsxT0c9LRbL0CYXryy0JLZTGk98iC5RBIbWZgJD5XAyk9RVDSUncbmWvBCGR7nugEUx6G1Yjqf2SDJR.9rC1FMi3dJ4D5QDsa0vHiKMvioDxIJhhFC9zU3MeRf3i7L+OlEylFR0BsQSf.koF0KfE5MdQtFiPF0GWj46jk42BeHyict9hJvMRMXUfnbMvn1xTp9RTp8ehRCEgd5.7GnmQI5UOid2DOwUxloJrn41Uwi3vkiOAJ6koUlunZeqFtm.7fq1MhbJcnDDNGQq8ssuq0d1124IMMaZBE+Xk0GHRqWvESaa8TqEPOgp5IhlI3fPqamZ81YXX7PFmZ4mvcULA2RvSspAJEgsbWf5tPbCSn2oo4maZ1P6iytwT0wZksxLAwqQb.QR8FlGsVZcmkdNqkI5Hkeh8HggSgWMsVlHYjc0TzYsonyZSQmMHEa+OJEcVWJ5rTJtJYW8zRImE7c+62WXEqR78sBnRpkJfnLOqTRdjPQeEfv7ylMLOyzZUS99UZKmMgTYkl0c7x0ArEOIZJUtnXtvQnMX49rKsY8YtYE0RNJ3i3L0qlQykK5DaWQmHJ+VA5IqkyPvUUZG40y6HmDx7nRDCBxkwo26nTxmOYy5Ke+qGf1XvNU.9si5STD8bgb5.TbFUpX5JgQe5GfgrYSIZf6SiOUIlkx27WQPw6ux3OULG9QclWHzsC5BDGmxwwubbNnC52moASVEdIgD0xia06UxM.uMVZtld1EOlolWduyEXFrckyfq7leCo6MwiYJ2fp4asJ3q9oz+Y9luQqIdfuO0UUP153guaaWecAnxqEIJF+jCIJICdPfOJIZBrT2kBLgyogvAgMpo6txjs0x5JyDJ2KU3mvWtw1ZYibisWXDEQbkh26l0Vo2YdkTM.m3o+tPC3+V.YqyaFwX6csQQvp7265pKE2C3d0Xb1BLOXKv7vs.ydaAl82BLOZKv730hQ+WTOKQIhxZS.EiGjNWyvX.m.uxReQh9EL+LpuL
-
@d-healey Thanks. But actually I couldn't find a way to link-unlink knobs with this shared function.
HiseSnippet 1411.3oc6Y0saaaCEVJ1pq1ctncnEaWJDrKbA5Brz5OCqXHt4uNi1zXT2ktcy5XjniIBEogDUVCJ56VdD1ivdD106lsCojrnbTTT8ZZWJpbfg44vC424iGd3QLCC4d3nHdngYqmezTrg4maM5HlXx5SPDlwfMLLup01nHANzNQzZGMEEEg8MLMa7Ho.yVMMTO+0pqgnHlGNWjgwtbhG9Ij.hHW5v9OlPoag7wOmDn066zefGmsNmxiA7zvpmwTj2An8wOEI61RVFlWZSehfGNRfD3HCylqw8OZzD9uyR5+tjHxdTrrgiwHXfRDuEm5KQr72FqOgP8Gl42QFFlVCyYgFIrvMr1l3SlIOmMtlRgctE57g4RUAOmyFdNkAOSM30LAdW2ZjWHYpHWiDaWwZ.CVnFifk.cXkzWik96lVqygdvDqDfN.uUHzXlEcuWud219t85cqGzocm1vBQjv9PTn8HRvTJVtT6X+C1pfiU1GK1b7Xrmn6xZpWVZZYF5VsgtyY3SHrCd4ZwBAmAFlAYvz04AS4LnQ2k05yxIHN4S9n7XFeOmS0dk1TKILJggsGGy7DDXN4LkVoggbZWuLqtMLtzX7s5z90cZaCOIeqw.qDgEOTHBI6EKvc0UH+Ny9GjYcK473JMZWohtyT2JZBJD6uUJh5Jk8FEVqzajiTJpWGQo6A6d5VzYxnphzjakzjakzj6YSSZqzmFA4VAA47NhfbqhfbmifNoypEwUsK2hx8PToDfVSbf8yb.E1U+IcPxX6tZCqV2fQpUJ6k8bxXE0f8FIZqx0KrSobB3jtV9Vp4Ih4IdkKm3TseiFc8Tt.uCnu8qkJZaOupwiKUW57SwgkpVdfQXUF1kEGrGNLaAIqiPlyholspWpYuDJUqib1.FQryTL6zRXajtN.otajhJ3WBUh6qll3dDk3iCMHP94OyREiXn.b9gge+wF01X22BiSVlUF2wRage9g.d9oAafDH4IPodD3kSwgBhj.M2.eHbzdx4Qsr1.GcffOU4xogd.5NSm9U4S386eTdi05GnWZwubb.5U5XKf36SwC4QD4xetlARGu1yuq97OVe9W8cx72rlTe9Pe7upghi+s9Fm7renBDteLEIJVVhL+YpBIhzO+WdFOCP5Q50p8VTqRuZWqRcg60sFRDdSJGuKUBdgfvya7lV4WGqjBTxAaSqs942sk4UZUnKogkKOqV7YmPpfRGMANmVo31x8+afonB72KH9hIZQz8KoX8ArCgs2C4TT37reihtbi54xk3lMqcHhzkruvDR+EVJJ+hDfUgDWb.70rFh9+P.wy3wBBa+sQPYrPlaqmFGLBdiUOL.UFCSkUWXtjrNfj18jsk.ZDl4qZ7OvSpRGYayTkNYJMdKyE39obAeJWvmxE7QetfalPIWw5EnCwpaTQwF2T0dLOLv9QXFNTxUNUbSc+Qcuoto09l51wS.P34gHVzTdD1QejmSmqttMvhXVwtmHpPujt2Vf6o0uK2OSnqtPHrnvfAsKLRaSzpi+OWcSFBVzGgAuwemHOvYkbmdbyvXZDVs6vQ2vbwt5h+QTnOrt3UU9xZVtXwB505eIIRuzGfav77XS8+0WhoQ8f6YbIqsxvXxAraBmDRgW7cVp8wnXpHSZw8YayY7oS3LRgHfmggzC6uOtPfUoNzCEBj2A4RtQ+mgoXTj1duutO7piXTHvS3EjKbpOWT050WYk.WaYxA6ONd4yFeD8xmmG6Pg7mWbVo+RKHmtqsZ419C+586ihEdeLGAHuP9K8RtfQYBiKqj.9MS8Opqk01x11ytSSKqdqzSdmYjW54Iio+FfeJ2F2EvlucAr4NKfM2cAr4dKfM2eAr46pzF4I9OLVvCRh+AAC2Tc2tllIU.o1JX7udKtC+C
-
@Fortune You need to put the button check inside each callback. The shared function is where you call shared functionality, without having to retrigger each knob's changed callback.
-
@d-healey Thank you. I am really really so confused. Would you mind sharing a simple example from my snippet please.
-
HiseSnippet 931.3ocsV0saaaCElxwrsVatXEnO.B8JGfrTY0l1ATTDW+2fQVRMl6B5cEzRTwDQhzfhpcFA4AI2sWm8VrGg9FzcnDcjrmhSpwhtw9bN76vuymnN7LVJ7oIIBIxpwGVLmhr9Q7jEb0rdyHLNZTej0iwGSRTToStqtKlSRRnAHKqc9UsCqF0QYOe8vtjHB2mV3BgNUv7o+FKloJ7NtyQrnngj.5GXwkV8K6LxWv6IhDo.e1A6hlS7OmbF8DhdY0vHqGLHfoDxIJhhlfrp2UDrXxLwW34q+TVBaZDUazFMARTt6ghn.Mi0dQ8lwhBFurtSPPVFWnB6jqBOEeLKfcs+B03mxB3TfnrdXUaSzqcY54d2omUI5UOmdOAOwWxlqJhn41OfGwgWTgD3UPYZkuVTsGTG2S.qfq1OlbNcnDLtFQqW45tmyAtt69ll1MsgWDIJmOSjNcSUJAusyacVB9LppmHdtfCFsdlI9yxww3QLN0ILk6qXBtifahqAKEQs7WhbOH6QozcaZeQSaG3gE5zZoqFZGGwES81OgpNU6sk1rsdyyM2UugWlso2Bwzovr88HQQSgCUsVmWqW0Ya1MVyYQuwJNK5cqdMjnbUUcwmi8MlfvOIyHRZvPyt151DCCiqVJJS3pDBuMJDdaTH79+PHZWgPrcZf2lz.uUzf0qm02sq4+yedegShJMLzYFURcTyHJ6KKoCmHTz2CHruvtg8k1NqGJLrxXF1DQkUFV27TtIfs3owSoxk58xEBcQVsME9laSUtKpetnVZgB9HNS894T9M07BYdS.sw1wvJ3eprlXO1zDaRDKfJQLnW0CwYusQYD1bwvec0U+8gn6LXuuCv4G5x.2.aNAtB77m+XTehhn6DapFnBmSkJlV7r5S+LbEWde4F39zjyUh4Ykq4fGn22ZA+mEa3q6rnvnaGz2Qd7Jmmvx44vMkmJkgRYZPoL8OS6f9u2GA2JJBRiHpUupTOefI.bvbk6jz26vSXpEkme3d49y6JceBdLS4OqZ9VqB9BGHtu4qYZjl3AggTeUAYqiG9w6+QOP+tHUw3mcLQIYvAB7IowSfgy7o.S3bZjt4gUM8m441tZasxLgxCxL9F7XB1VaaYB1dYPTLwWJ9je9mn54cdTlGfS7rw9Z.yeB1NW+kIF6tuKJFFC6S99Zo3mAtWMFus.yK1BLubKvbvVf4UaAlWuEX9kMhQOA76RUh37OS.GiGj0gzxZ.m.mxxNQh9W.hxpau.
-
@d-healey Thank you sir. Let's say each knob controls a simple gain. The simple gain value is not updated. In this situation what should be inside the shared function?
HiseSnippet 1412.3oc6Y0saaaCEVx1rK1YtncnEaWJDrKb.5Rsz5OCnaHNINtyn0IFwYoa2rVFIpXhHQZHQkUih9fz61iRdD1ivdD1avFIkrEkqrii2RVSP7EEkmCOjemuygGdDS2.pMJLjFnoWd+gCPZ5eNn2PBq+V8gXhV6lZ52FzAFxPAFwh1b3.XXHxQSWu3yEBzKWRS96uVeSnGjXiREooc.EaidI1GyRk1swKvddsfNn8w9Jy9QMZaSIaQ8nQb7TDTWa.z9X3QncfhoU.noeqscvLZPOFjgB0zKsI0YXu9zeiDO+Cvg3C8PhAlZ83KTr3VTOGAhER01pO1yo6H+NTSSGzMkEJFyB2CzA6fGKOkMtiTgQpEp7gdgYAOSU3Ue9gmtB7JECu6B5YGfGvR0Hv1xf1DdfxExCApvJdtZEVF.1hxmAgslO7XTq.9fwVT6I0q+.iGWu9pOqZkpU3AhPlwIv.idX+AdHQn1z3GLjIGqcDhssqKxlUaEE0qHLMOCslsgVqDumpFuYDiQk63HHyMcKp+.JgOn1JI5SrDS7vDjgaDwlgoDCJIQuv3.pWM6QV9.9p6EgVsZk2UshA+G10n1HQkEBdAgdn0ZgH1ABo0DCMEad7vUEa36ka5Y.LwRjr8aA87NjmJWaRbMxuy56xsbpdtT6T8ao1y1qUhZBbtAiEfOLhgpopP7uir7Yw1kxYINhJyjOAN19xwKP4v9v.jSqDLW6rHzD+Me5T0cmNYZMSxzZljo04gLslFYZ8ugLMygLWLdzZV7n0GwiSxHStiiYfG9vlTiPVjqqQeT.xf0Gx3noZEExbGJCsK2nJuqR4JuuhwjpbcyUWBn7PA4pVbCRvrLrFIx+PTvHpezD4kRyVqFL8Z0pWkXGysJSjRZSvrcGfHSqBtVR.gWKuXBp3+OlrR9sSpj2yC6fBzv7B1eFPFz0j.N41we+CeX8S0laisNGFGm6IMtLHIQLi4xq109o1MgLn35nDug6gCPALrf7zahNgeOe7kSkAMQgGynCjtaR9GGYmoC+1zM7oMFlNXyF9p8Y7Km5CeqZOF9XGGOTWZHVD5S0zV3zy89aot+tp6+5+mr+klCZOcYO8WUPvouog1G2D.uUDpSjGjks+DQglDEBzn1Hf3xdBGkCUirWHMsLuv8tftXlc+7wagbvKOA7hFuIs.VED2oRJXKAZ8yKZ+d42NZ8752qfBVVZbS4iuJQBkpJBLmVO4xy8MQdvL72qvNr9JYyMxoq81jS3Gs6R8fASx9Ey5xEmOWNG2rzbmhHbIiqLozeAPR4Wk.rLk3pCfuCnK7SgDh8nQLL4nNPd+d7J2fch76w+zUaDGpDBxSzUgdAw8+wiqKFK.TODwQN3u4+RTZJFqmnzbjRsyYs.qoUK3Mtte+M0BtoVvM0BtVTK39wTxxfWAOAIeZEIabe4XWZfuwyQDTffqLmwS18Gy6S1MXtextcsYbHre.jDNfFhLUW4IzYopqIhEQxN8XQYlkv8ZwcOk4sTiQBsTExSKxrX7wYVoNXkd3+y02l.4A8dHt23ranM2YEbmZdS2HuPj7zgopgohsTE+iv.GdbwdV0KO2sKl6yCdqOoe8xKuuao37A2y3AVKOBiw2otM+xOO924NtZtKLxiMRZ1iVcnD5f9TBNSPeODuhvQGgxjKkqCsAiAsONUx8ZrGxCACUNt80MdIlffAbdBsfbg47yEyJd8UfX3ZHpGXb836MKdM56MuHNgxKYd0IR+k.dYbKCY313++38kQ+AWF6gOzNf9Z632RTTvXIoDteSj+Q5JC5HFaL9IDAf5qUW7DY3WaaKxo+FN+juMVKfMe6BXyiV.ad7BXySV.ad5BXy2MSaD23uQDi5Gm+yEzca4S4pqG2zi7nf1+XM8OrD
-
@Fortune Shared function is for anything that both knobs need to do.
-
@d-healey Is button check needed in shared function?
-
@Fortune I wouldn't have thought so, because the shared function should trigger whether or not the knobs are linked, hover if you only want it to trigger when the knobs are linked you could just wrap the call in the button check we already have in the knob callbacks.
Tasks that are only done by one knob should go in that knob's callback rather than the shared function.
-
@d-healey said in Linking knobs causes DAW crash for multiple instances!:
@Fortune I wouldn't have thought so, because the shared function should trigger whether or not the knobs are linked, hover if you only want it to trigger when the knobs are linked you could just wrap the call in the button check we already have in the knob callbacks.
Tasks that are only done by one knob should go in that knob's callback rather than the shared function.
So we are back to start again, right? :) shared function is not working, .changed() is crashing for multiple instances. I also saw lot's of suggestions for using .changed() for linking knobs on forum.
Actually it is avery simple process, link/unlink knobs with a button, any ideas anyone?
-
@Fortune We're not back to where we started. Don't used
.changed()
you don't need it here.HiseSnippet 1400.3oc6Y8taaaCDWx1rK1ctncnEaeTHXevAHKyRo+CnXHNwNtyn0IFwYoaeYsLRTwDQhzPhJqFEEXOZ4QXOB6QX6IXijR1hxS1w0nIqoH9Csk2wi7286Nd7Dau.pMJLjFnoW9vQCQZ5eIn+HBaPyAPLQqSKM86.5BCYn.iXQ6LZHLLD4noqW74BA5kKoI+8WasCzCRrQohzzNhhsQuD6iYoR603EXOu1PGzgXekY+vFcrojlTOZDGOEA00FBsOEdBZOnXZE.Z52ZWGLiFzmAYnPM8R6PcF0e.82Hwy+HbH9XOjXfoVe9BEKtM0yQfXgTslCvdN8F62gZZ5fdorPwXV39ftXG7D4orwckJLRsPkOzKLO3YpBu5KN7zUfWoX3cOPe6.7PVpFA1tMnCgGnbg7PfJrhmqVg+tDnIkOCBaCe3on1A7ASrn1iqWeciGUu9ZOqZkpU3AhPlwYv.i9X+gdHQn1z3GLjIGabBhsqqKxlUaUE0qJLMOCslugVqN8dtSDiQk62X.yMrI0eHkvGTa0D8I1gIdXBxvMhXyvThAkjnWXb.0ql8XKWmu5dQn0pV4cUqXv+gcMpMVTYgfWPnGasQHhcjPZMwPSwlGObMwF9d4ldA.SrDIaeSnm2w7D4ZSiqo8Z4lMSeVpcldrT677Wgyk5yI.Q0yxm.hs+YIJ4+U3.X.xocxNW6hHjDTmOcnB57HCq4RFVykLr9XQFl4PFKGOXMOdvJCOLsOM8tMIAV43mXs2lwBvGGwP0TUH9y0MxKWN6RXMqkvRYIrl93P0JJT+dTFZeN.q7tJkq79JFSqx0MWcINuGJHW0h6IBlmg0HQ9GiBFGhGOQdAyrUjAythr5EF1wwPkIRIcHX19CQjYUmVKIvyqXWLAU7+ESVu9NI0q66gcPAZXdY4u.HiGZR.mbGXiM276OWagM1Jiwuw08oy133bbowkAII7YLO92O0oEjAEW5j3MbObHJfgEjmdKzY7ayiuBpLnEJ7TFcnzcSxy4H6Bc32ltgOownzA6zvWsahe4be3aUwlO1wwC0iFhEg9TMcDN8Bu+Vp6uq59u0Gk8uzBP6oK64+pBBN+MMz9uW0ya3f5D4AYY6BQbdLQg.MpW2KtRmvQ4H0VytTZMYQg68.8vL6A4i2B4fWdB3kMdSZzqJHtejTvVBz9mW1t5xuoy540UWAErrxjVumTwUBkpJBLmUm2xhFsPdvL72qvNrAJYyMxo27Njy3Gs6Q8fASy9Ey5xEWLWNG2rzBmhHbIiqMozeEPR4Wm.rLk35CfuKnG7SgDhCnQLL4jtPdaQ7J2f8h76y+.UaDGpDBxSzUgdAw8+wiqKFK.TeDwQN3e3+RTZJFqmnzbrRsOvZAVypVvuK5A3lZA2TK3lZAeNTK3AwTxsAuBdFR9.JR13Axwtz.eimiHn.AWYNmGl6OVzGla3B+vb6ay3P3v.HIbHMDYptxSoyRUWKDKhjc5whxLKg60l6dJyakFiEZoJjmVjYw3iyrRcwJ8v+masKAxC58QbuwY+PatyJ3N07ldQdgH4oCSUCSEaoJ9GgAN73h87pW9A2tXtOB3s9j9MJu59tkhKFbufmQs7XLFem5t7K+73em6jp4tvHO1XoYOZ0kRnCGPI3LA8CP7JBmbBJStTtNz1LFz9zTI2uwAHODLT431213kXBBFv4IzRxElKNWLu302.hgqgndfwmGeuYwOi9dyKiSn7RlWehzeMfWF2xPFtM9+OdeUzevUwd3CsCnu1N9sDEELVQJg62D4+UbkAcEiMl7Dh.P8MpKdhL7qssE4zeGmex2FqkvlMWBad3RXyiVBad7RXySVBad5bsQbi+1QLpeb9OWPuckOkqtdbSOxiBZ+Kjp6JrB
-
@d-healey after clicking the Link button, the Knob2 value has been updating but Simple Gain value is not being updated. You can check that.
-
But interestingly putting the shared function on the button callback works!
I will check it in the daws and let's see if that one crashes or not. Thank you so much @d-healey for this brillant idea and help.
HiseSnippet 1379.3oc6Y0saaaCEVx1bK1ctncHCXWJDrKb.xBrz5OanXHNw+TXz5Di3rzsaVGiDcLQjHEjnxpQQeP5c8QIOB6QXOB6MXijR1hxU1w0KsXIK5BEyygGxuyGO7viX5GPsQggz.M8xGM1Goo+EfAiIrQMGAwDstszzuKnGLjgBLhEs2XeXXHxQSWu3SEBzKWRS97W6rGzERrQohzzNlhsQOG6gYoR623YXW2NPGzQXOkd+fFcsojlTWZDGOEA007g1mAOEsOTzsB.M8OqsClQCFvfLTnldo8nNiGLh96j39eLNDehKRzvTa.efhE2g55HPrPpVyQXWm9S76PMMcP+TVnXLKrNnG1AOUdJabOoBiTKT4C8BKBdlpvq9xCOcE3UJFd2GLvN.6yR0Hv1c.cI7EpgP9RfJrh6qVg1.PSJuGD11dvyPcB3MlZQsGUu9VFOrd8MeR0JUqvWHBYFmCCLFf87cQhkZSiezPFbr8oHV6gCQ1rZanndCgo4Yn0hMzZi34T038hXLpbFm.YtoMod9TBuQsMRzmXIl3hIHigQDaFlRLnjD8BiCnt0rmX4V7Q2MBsY0JutZEC9CdnQsIhJKD7LB8DqsCQriERqIZZJl73laJlPY+x9mvQv.jSmD.TKFVuQ99Rb.wTk.ylPW2S3g70lE+S3mrbjDZykgjZmK+H0d4ri5aASk.KU9HeZKdbdxkRRKhhR7f7IHUGX9zi0BoGqEROVW0ziYNzCW8JvJVKhUrdOVYV+a1Ybp+nrYVL96xXA3ShXnZpJDu2xHu8EYGBq4MDVJCgUNCA2+qVQYwXeJCc.GlUdckxUdSEiYUMbXt5RnAWTPtpEm8DrHCqQh7NAELYQeRG4IgylkGL+r7pGBYGuZpzQJoKAyNvGQlWtesjP.9o.ESPE+WL4Y.2M4LfAtXGTfFlmp+yAxUEMIfSNW8cu8s+vEZKswVe.FGGsKMtLHIzOi4xhBz9otsfLn3frDug6g9n.FVPd5sPmyqPH9XsxfVnvyXTeo6lDwyQ1k5vuJcBebiwoM1qgmZEJ+xEdvWoVchG1wwE0mFhEK8oZ5Jb5kd9sTm+gpy+NWIyeokf1SG1K9UED7teqg16W9.uHFpSjKjksxFwtxDEBznVBgnLABGkiUWY+nTtyxB26C5iY1ixGuExAu7.vO13Mo3wpf3ZbRAaIPme9psRw54UoXAErr1zx4ml2UBkpJBLmW07WH122B4Byveu.6vFoDM2Hm586RNmu0tO0EFLK6WLqKWb4RaliaVZoCQDtjw0lP5uDHo7qS.VFRb8Av2CzG9eg.hCoQLL4zdPdwQ7L2f8i7Fv+nWaDGpDBxUTUgdAw4+wsqKZK.z.DwQ13u4OIJMEs0STZNQo1GXt.qayEbatfayEbiOWv5wTxc.u.dNRdoLR13qjsGRC7LdJhfBDbk4Btru+XYurO+k9x9NvlwgvQAPRnOMDYpNxynyRUWKDKhjs6whxzKg60g6dJ8asFSDZoJjGVjYv3syLR8vJ0v+m6zl.4K5CPbuw4fPatyJ3N03l9QtgH4tCSUCSEaoJd1bikVtbiWquiyOceiRwkCtWx0vVdBFiO+rM+fNW92zNMy8PXjKahzrai5QIT+QTB1VMl5PDe2+omhxD2jqCsKiAsOKUx5MND4hfgJas9lFOGSPv.NOgVQtvb44hEsd80fX3ZH16aby3aKKdi+aK+2sCkmd7+Imp9oXN7f1AzWZGeCbhsdqIkv8ah7eJVYPOQaioW7F.Te65hKVB+RaaQzw2x4m7swZEr46VAadvJXyCWAadzJXyiWAa99EZi3ryciXTu33etf9skW.ptdboBxsBZ+CzbgkiO