{"id":32919,"date":"2026-10-27T11:04:04","date_gmt":"2026-10-27T09:04:04","guid":{"rendered":"https:\/\/kood.tech\/?page_id=32919"},"modified":"2026-11-12T18:09:24","modified_gmt":"2026-11-12T16:09:24","slug":"start-from-zero","status":"publish","type":"page","link":"https:\/\/kood.tech\/en\/start-from-zero\/","title":{"rendered":"Start from zero"},"content":{"rendered":"\n<style id=\"kz-lp1-fonts\">\n\/* Nexa 400 + 700, the same embedded faces as page 32930 *\/\n@font-face{font-family:\"Nexa\";font-style:normal;font-weight:400;font-display:swap;src:url(data:font\/woff2;base64,d09GMk9UVE8AAJm4AAwAAAABIlAAAJlkAAEAQgAAAAAAAAAAAAAAAAAAAAAAAAAADYKoORuBjxQckg4GYACNGAE2AiQDj0wT0U4EBgWJDAcgW3ghcYLppvtZRequAo\/1v9lxV8K2qcS7W0ELkpC7yKiwcSADmxue\/f\/\/mUkjxrYbuNv9AYChmVmTJJIuE9tjjM6le2301l0LhK3gHYVS6VjP+46vCft+raiQj3AFd492KDQTxASFKySSN0pzPO5Pfw+WNzdu0teEdbywVFztaLQdjYeQiVQ18cZ+RnxG4b2tcdnSxGeGgnwiYchaWOo8iWc5fPZRt1hN31fYheMX75UkPuwv2Uf\/TZxmqTvreoWOy2yecYSPSFMfVLO16CYqjUnvmGzMIjYgpilF1wHx2ByqRLT0WOf52vNw6r0fsEqxrkwbFItLp0ityepEd0Y6yAMwN1fFWLAsxoYsgY3RNSqVqFQGJq0cFRsQOaEYGA1yEwPPBf1v1sMYYVD\/cLBm30+CVAIMrPSA7PgnuPz3npl9X39aFwlBgKuW5hbCADZqtlDQ2v4+FMNsdjGtkLV5KB6pgWNOk0yT639PqVsbe3vEE0kQpNnW+f3nedv8Dx\/POX7Py33vM2\/zzMyTMWJvoKgpGluKpjRbTO1zY9LVJDAzpDb1lappBSt2AlLqMAUZQIP2NNY57Dv5PH1c7O3eyVFSN2HjgTSeUhBgoElgiWbU+L9ULT9t9SGZdsaJYHKa3rnyXFPc9cRnSD98XIAgKNqw6YEKcTw8VK7UOqoUnTWo6nVuIwogYP7XXM6TM5vbv5kZoproUPHorxMKA\/O8gOjG0B6aS37Pgy\/Zf\/9dmqxXP0fKn59mwZZmlqEcwOUUiLSbpggpZjOeYImSEkDCE+RiCniedR2q9PIgcK0Q7\/jG9NE7SW\/J9s8YkyWA7gJSygog6MQ1BYY7H4AM\/KNqkU2dOIzCPbaN8QWBQLLSIGu8pqc5+9m5Wci8PU1\/\/k+yt\/sqpmhKoQbBqkAxDZYNQQN+IYh4CVpEpIrU9NxeMq\/f7\/85q4W+6qfO\/nbPSg0nTWdIZiCmAQ6YDNsa7H059eb\/53Xr\/7PW5Fz\/4f\/7\/vf+TNF\/Ep2CrdBaoGsfO1bGhnZsSRwVIxYgBKdZ2nNixUKzkYwihDIOVUILARLo8xBjGUX3ZXbymmFBwuKgTmsYh58WgoMnPoYUISnlGycOGEi2iCzZpUrvNv6sBYeizK+qn2DqFcaXKnynFqcVIvC18WFP10SBO7mIi9K2TL6Jw0IuBvyvdadye8N0TWk2cVoPIBcxhQXwT4Wde\/BNSg9SsorD\/LX0ld7m9FvZtG53TdABtimlwdKwkW7fyae9d1J3kZTW5F6lv3cqNb0VZgADaH64IZRgwmRkwxAYgM2CWaCX9jNhCtbXqr5MtvlFPELhMXta8t+barbvbSAWOt3MriJ4kXdOpCPk0Ety0Xjc1J5+dz9IbKDOC5A6AwtSjCeBUEDkHbiULtExBXBx1BHLC9CCSivpPIR4KSk48BxSLNP0KXWu3LYXOofUnd25qEr3jeH\/c29K97hDvzFAAlCAekzBavvd58pWdodyS6lKbRS5oD9BCzNBmaDgQBZGA\/9fe53lcaCrpd4Z9FNfIhQrJE4lfX968QQh0XSrEgUeDc\/\/uzKStvrPZFl1j7MZNmAxZ1UScellLbM0MovPIMOJBZY1K4MhIeOg22AKNtDItnu15\/WrPHsBN2mECmHF2+mL+PFP\/zvovONvbTRISJRX0RORiXf9PbaZ6LA6bPZ21cAn3tlmQmWUVRbaR5EQFgk5kSGv2w17\/BcL7a43ukPKo5QiTkREJEiQzAWR0n+dVNiG2atAqFEvEA0hwH8zfZ+RIGex0kqLQQxC6JWaxBjj\/FIf94MJXAYikma\/LfAFizj7n73mPw4\/j7R4kgJ+7mxx5yycucvX32d7H34lC497h2TDU2DMW+ZR+2f4UxAEsIUzb2oaJjFSZSlQpkZbXfQ20BgzLLTUBpvscMhJ5131wCsffAsjPklJho1HzJo9L5nyVWuhg96GG22i6RZbZaNt9jik3lW3PfHKh0jVq+ilutWj4pR5rShVOZZ3USUtdRnLWYGKV7YaxZZedsUrW\/mqVbfgKlanFnWpV9P67LtNbl6LW9227dC+zba2zQ063MkuNtpia211sONd6XZDTXalWz3odV\/6New55t4whjvSsR73YUcz9glMcupDDT\/mJKc5oylNZ9bzAAPCgQtPwIUE1nCCDzjoABBEEgUAICHCRBAplNEGBAIVdDDGCgc8SKN44yNyqaYrWZoYZJ49SvQxyTYrnPHJt2iKLj2VUFaykZO8xEklo3j5FVNeDRESZSmqjMpqCRShqjqaaqO7vmb7ocVeYWtr7WHCSlu97IX7P\/Ihe8wu8JqtIb9P4N9exNyCNdVnI9FIDiHPFrlRq3m7VHTnialP+HqRyOaPCN++oLi1L\/gwbY5AqSHUFIa62lDqHgidQbQiJJkQcqcEQwwjAzwMtZhDaA9pDMeqYayjjaXowc4Nizg9NjvOEkiWXyVLyHZ6h3R7lWbpSyEfYHK7ijGp2Anql3QJx84uqpGFGcVNPJS9dmFYdo2bdgtsCISMt0WbQrGbyDbocQu4y2dfO8\/O3o2ctZspuBtDPJCiQ3L3PIQM7tf9dAeqcQantnhqwHPP4fNkW80J9tuoD3F+Ns7Cg7fB0GscA7GJCwUsIomGSUIYtsZw3qugQhd4wAMqZShLuyiJmRiZcB57snQ8DNm00PV8k3y155NlX\/jayPJta5oRPiYqL+bdBe9QtPcFvi32DZE0vkMvjAA6BQpRImeSRxbJBULVqma1ajoMY1jDt\/kzjQ0s2mHRZbYv53HGLEyM3HSw3FxDNzEwJ0U5hPKFQ82ZUi3Vysrd6hp\/Y\/5CC0Kyh6ShqB2kCZAMupcN1XWIFS4gJWzFhYypE\/n0oNUiQn2U1Lhx6USCeeyorcrYLb9aJEDxo9ltp+ySxPXN3s+lgGBr8yZ29i4aCijhlmXk3LCCA\/M4gYZx0ehK50h\/JZygCAgAeUAXQAAoAqYBAsB8YGUjrh90EqDIoyjqJNBJAUUeRWCKYuPMfaPebpJZ62aoo2804jhmSuhXGkcBBjLckeqgRYJvXnV0yvVJ85sowURdggMkYZjEUVes4nIdhDxTxzhXjGXinzShher3eooegk1kNV4\/I8sh4tLbxLCzBOp7N0FzFjxMPLjLDKdRp9vDjPhGhraG+cwvB7P146EU+q0g1fJqB1DFNlVl3funjyPGOvVGr08VM9Wv612sj45yREdgZYdQZNS1S\/va9Dt6q9vqvehzWYGgsC5sbET9l\/Gy+X5jQfMfPQ3jcgFogg2mQ16hdEdeLqjlTOTx+xBoHbMiFL9E+aj36tsezL3I3X6HE9sIByz8QIAPl\/WKuiny5j\/gJT+eH6NTwOcSfzodf\/sMXREyn7bJAVy0ycC+3A+WyGwIjoJD2eTzWyF1BaEJs+6O+hi5bkvd9HIEzDTB02dGzKY5Ok\/m8yJbwbpu1lbttF25h\/fBPj7sD\/YRcFQePY5Bx6pj3XH1+Lz+NxSMu5DAEf5Qw4YyWGgIoA8SExxwo5xksmlHN2K0MsA8u+SZYI8tTrjjVSK9k0Qy2UgnvQxyyK+o0iqIll8xFdVQX5jKmupuvu+ZZp4ltrIT7bbf99ZrMqttsNXAcdfNWXLIKdfdNmTSNbfc99hH\/1NhHoQbq+jiGSrymONNPOVgkeJPMpX0Q6WdWfZ5\/J9Rrf5g6mXSqBApW2pBbnh0d\/OkmYzH7YPrDf8Zd7bYht6i23YjBvvdJ86R7FOzYxbO\/ehBfwHvVyzsmgpCnjlKLaDQUIJ3tKurd2kH+5l6oLiN3pzOvIY1lOCk9HB3rujo6S\/v6emP8GA\/pobPyF8Dh9duCKAJS67F5qWQ+aDcgxgh9u+a46Hqg30HI+hBn0Pj770cxxqvJxlZDtQKwAWADukOpIxCqJj970Dm8OUnhiaU\/sKHBSS\/fMZISAd+XB7G4vNHoTRPdMz9Ksp00+aoR399qm998bExJF\/G06JRcgEziwHGViLmIwzvZssASgaOQgkrX2f4tTz+7sMr78yThwbsyIIOhWO8SMudverjj0biZ8wvGMBXAGS8Oa8eaDGJLPMnN6y5VGRD40ZGshcHMaoMYSfmQ3TfTBGPepViQZHf27cGhCXvwEVgoLczMaYFcp63hzBqKkTF1c1Hpo1A9nTkcsDNPjmFAezHFwEg8qyIAJEwMXXZH+Q1S0xkEhqHTEY08EsgROFvwYQ+sFI\/zXESHtij1l28p313ADexCftwYCnUHAAEe6EJTYDBG\/5RqqvC3+Jjj+3puRNifwr7FUTjOhi\/wDrY5gZL0aIp8vZN16Ou0zsCKwEHOF799MxglG873Dmp7lhqXWtJYwHDx6OdXvKb4znybwk2Rc40JjK9ADUs+1UJ+Q\/JsSeossyY4ExYJWuLzzYbByIlPscgclRB0x2ry2UHXreE10uC\/BIUCpYafnRlFIc21gLRpKl4rzqC4lc+NxM5rFXXf3tOYUXj0EmICj5kp0GHT\/2zOMcpqMHmItEpmYUisFAoJpF5f6eDvkQLthh0x79+xTCIe9B5o1R3wR\/oMIJPwcYP1oCeAE+LK+IOBRnRaDXwrXECJD1fMRyWgI\/F2Mfgexs9T8tj\/MROCIOwP0X9SidRJ1HHdeLMqwbchS2oRKV45RvFKzlV6CgEMgpe3BDl6UtIwV5mOb7rq31OTMEFoMmfcJsNEackIrw5RJo5sUci+o5hyukC15q5dfh0MgyGC9BRyB3DWKthQU2Hsib26BOiGtnscvXiZs9id9r9R6dhNre9VeWceGubkINsYgwTLsOulEZTY3MfraBEgjMIo17q\/wOJA0ACqhEuQdxtfAeB0JDepei7WZIth4WiGzv70aUJe8ByhMywSLjuyxEvimTn6ZC0AkJguvo6EZxCGtIjaIrTA5QE5QVM2M+iALKZPR8LgnhEsQrmlyB2njAAJkSHoISGhQeYqf916+napY9KT4vDyqJqUlln7nYj9pn8+ofe\/Ba6fEOQAnqovRK8aOrnvSEkS5h0l3oHrcjmTUmGRDdaYFBgU0B+pT9svKc+e6U2uYY+EM3rXTDMlHIm0iz9hNT86Yq2+7XRup7uS3PCO32uhDvT2wNrAAMkUdN6dizCtx3uGKfIk7AL17\/kQCL8orurp+ZGoSq5EKsIm0qY3sGmr\/hBwx6JLvpbDB03hhkyPE3om7eckdvRO90rbzetBmwD8Ajg17bEgmEco2fEHWbdW70WyS6MuhBJLB5bC1SxTNM619L+nt6K7q6eyBsUs1EoJhMwuZCZ2t95SaOppUR2jHXfdbWkXkJj\/XjMZFEUsqD0S6IhJLDSvGfimsfJht9yMNGlN5lt703Nd6nREEE\/eG1AU7MxFPAuqZFtCeSfTDJzeNSveLti4PY5\/7TmbdY057WWhlGi+RWDC4AohrpfdtTVWs0+qg7PkRcFWwkjWrSODLU2hwboUzOgYbnmWxm90GQ322819OTerDDyKc6DZQbGwtwWHlE68+hiqt3hD1KYTAWqOYk+jsEx2ZWhrJ81+Uj2zbhu+ueJakCD7uTv0qf0eqkfzXUvhJspbFHYCDB84PUihGsxBsOJDQHeoikMQSJNJQSJhIk\/vlo6oUCHewTT\/UuugAOXI1Dd3pJbetk0VJp6rH7S\/\/XSIQXaoXjEo4i7RWGchxSGDFZ86g4HCe8UJjHpJcj0l44zm4MCHxPAf9jV9LChD4aODjddvzWwDJA8\/pL3zTUFn0YsxNTSAXpPTWZ3K9TQCdYpZwJhIHdfjbnXIN5I+EWMJYj1ajR2pZxOxXb5CkxgRsFzINfKHFg99Vp3JRHoESZSzdxN7OBLFJ14rOmPLCDuukyqZheoza9gQIAbjqBSo0ouwirCOAncHYwBi8AoZbRolnDG4xepkBjoEjraMHmJ1vTDKaHlxqrtC6uX15im0NLoqpR\/Vq2vHs+hukoEOATXqiQFf42RWt+ppV8F+pvXvWb5ZXdhc0jLfR8FyiGVk\/MSJxKBtMOM3C11juEFFpN6SCEmBpCfH475NxY7F3hAilIfaieOqaXj1UWTyfmIIPdsXKh0MWxp91eNNxsBA1RnbeuRo2mmb9rv7uFW3kcZhw2cPsSl+mvkoUlymrqP\/aZl+Ei6Kj0+PTU9IvXDIQstqA9o6TShWc2TfwE6G4rloNCl1zF8a9bfJnlCauPNTrEW1xJNzp\/N8ifKCefGDDQqLVkOq5WIACVw9WBrOvFIOwXCe8yFGCc0E4UGZmIFC6NYep4Oy66g5tPgCpREVLWsRqSYRJZjpHDupq47wLvLW68Hqq+yy\/tZHUvvnbsE9bs6RouXxiodQJ6+VtXWCecbTElZGPKC1vUfv\/KwGHHU3RvtQl3DPhbHpP7pBM1L319bn\/j1bzRFvrYHV9nG8Mtdbwz9Qnl3BJ6kRNoMbgL2YsKtUfBngVlQQw3LsBKHF8dUprAOc9c+w0KrzvrGjvdJpgdjk+iSmLY5QocXrCpYSYTGxk5MWbQLVS7xHtVPdiPv2qlC+LURWvo6GTcbUqWzQVnD6awbYN6QowErACCr8nBWavYcjSlsVQqd4l9q8YrzXyZAfePRp0M4ncGtUVBsdxmnf+wSBqeRkkQMJM5+kqP3+6JuJIWIibH3icq5whRM\/Xf7KBDBF9ah0WF9aQxsQuPCZhiHxgdFwAmwBU0CFcxFU0ANW9E02BaaEXagmeAXcNYiAM2DQLQg7EQLw67QorAHLR40QcuCBi0PWrRiMQF0Adcs9oIB9qENYX9pI0xEm8MhmARGWACmgFsGwWh7OIx2DELQbgiFI2hvOFradyAs4OFFRIAT6Hg4iU6EKHQynEKnIBFOozPhTKkezqFz4TxMQedDUnQBLqBLkIKugBkuomtwKXQjXEE3ITW6vUhH9yEDpsJVZA3XSg0LC3oCmegZZKEXi2mQHb05cBNy4Rb6CLdLn4Lp6AvcgxmQB0shP\/paFKIfcB\/9LGaiP1CE\/gbF8AD9B2sZeCiJ8TkoC48wMfAYkwAVmBR4gtkAHWO2Ls3GVMHhCVI\/jZrDPCwZFsIyFL9UFOVHeVFxlB0VRgVRbpQTZYXxMBmZQx0shzUo9QIJEAM9wB1sgL7AgFrgAnZAN5BDf+AAbcAD7CEeM0MlVEM0xIKIWNoFY6Ez2IJlD9pBH2gfekFb6A0JIAR6YnkLAiuCllgJNAUe0AxaYGWhBhaBV6DygSdWFWbBSliNVQMf6AdSYD5We4EA8IEqWAxroUusVegOK6AVzMFahziszQ0MhKEwBkbCIBgOw2AAjIIhMBpGwGCsb1iF9QutYQnW\/6DPBaGrJXZ7HB7peSmxVbxyVWMV6tfJPu1p78Y3G+cDHeJxix+99KCZc2zyI7mU8pNWhxpb4H997EUSSc9+Xkvffxbs2s52vd\/Dctge5cfFsTgNp\/c5ORPn\/rxf8sv8yroWr9b1vDlv7rf87fL2Ksumf\/7H6n\/s+MfxP2T\/Yfr\/RH567dO4T0s\/+\/P\/Lvosh5+VM4vfxv+JOF649J\/+\/zf3P9\/TAOlsgb+gTFCV2y931Ker\/pvy36bcXykTP1v2v6n+2f13CnOFHwsPnXfueUFf7BG1i7aK2v2\/84eM+E4cIs4SbxO3BfoEZCP30v308T9f9rnq879\/bllzmRbmcN4auF6uhjlwV9Byl67tXNsy8CzvT6MPrOtcd3TQ0vXK9Y\/yz82P3HB9Q\/iG3wb\/8WvVxqUhY775fvOHQ8M3+29u3nxgaGrob+KiMRu2pG\/5assvFucOj96q2vrm1i+2nhiekYwdF7NNui1iW922uhEdI88bn7hds\/2HUdmjQiZc2HFi9LSJh3be2nl6zPRJa3cl7to7pm3sst1\/y0dNyd\/7v+MT9k6Mb5gweNqBfR37UhN\/NzFyv3Z\/j7rQ89aB6kknJ0\/ySj3474MHp+R4B3srD9Ufik8VU4N8NIf3T+s3zdM3yDfuSOyRliMHp\/eZPsVv9tHIo4VHvzm6p+CcvsR\/3bHx46pwREDEcdUJZ4Z34JoTCSf7B604mXTy4MwfHeed6jD6U0i8kcaoZXYwNMFYa\/KZySGTWJNBk39cB5kGmw6Y\/u52sVmWWaf5GfMs83bzOxLexXLJVslhyWVJgKRN8lTyWvLXIkAqyB3yQjsQYBx8AlbAl\/BbRIrIkB1Eo14oQP8xH0yG\/eK++CNhQtQRT0lzsogiykgZUxy1RiVRVspIq2g53aU7GBvmBHOVWWceM0bWkfVmK2wO9wXX5Cw4P9fj7nGV3NIkV7hlT4mWArjBAEFowRjuCJN9Qx02YR+3VVb5NVS+WI\/EVHwkG0pV+BQJRYtY0ilFQ7oyTPmCNbxSWWON89zhvWhFIk7iqhKrEJVbdSe3jaH+bzupRVdqWprWiV5NZIFat3ZkPVvau6lbkW67jZyj\/+6p+ronfO9TP+wxhr++t5f67iiYto\/rGTmrzPdX1nJ2vQZr+Flj1s0xH\/9pNeNstdmYuztlb9zHsIYmAhxhRz2KcUxvOmUIMIAkOM5y3h\/+487D\/Hh5Vssqrf\/r59K4nj7Vfwr8dJRhcADm5PX9DKUXoqbhsGlyt+g9ugp81puDVu8dVJDyZppHPjz5ss8t1D94OB6BQd3YiO\/dFLwx+xMjz4vnkY49txZ3yISBYxe6imYMizemzI5ePDfcElbSHRJ6r1ZYix1PpRcbfAhzw6PldDgb4I8hE0oon5BsA8NbVi\/+Isjx0gkfS+gMFjoPK\/hwBqUugRd25xKwbwwXhGZia+hoGsJ6s2KAngNN1cIht\/UyKJbwYLrre4UVHJtZC3XhFv145fn0g6ofcl0CX3r\/SChihsChdlUNQZLa9F3MPozmYUTb7oaMHuPve8C4a6eo\/qP0qNP\/NtcaUJ2bMDKnzsA8RsQihDis66XRGyJdxVJJIyUsSr+9m4VU+3oZhSmvOGsfZcPpxGWGS9hrwwK8bUPEX2Q4e1Heq0AscxHM6gfv4DgoP\/zC8ONgdU23s1ao2i2LC1MfS0n7tmHj9aybam0aT2KwhvAJNSh70u+srU0ad2ZhB9Zk42\/rRzid8dvApHulm8unJBMtXKatn0g639Q2Km7okSu1lnpJrjT4dUezT0FGbUkILgxJB3CrCTrPSPxQws5QYOdRkDfThx6+ACC+DzkH+xP7D6W0ap+eiH2jOH8fyaflRQRTGa34m0SATGiOjESZ+JvgktWIueci6tvFpVf3FV+7FrvARxEqi2XnAoQi04\/UlyR2RI3MQH9CWw8iYE6KjYGIxvDRXmWPUfG0c2312TUJotOpbfKitOGIqcxLy32vCg9vDUuT58Vn+lapMm2jQa\/5+fQS\/VIMbmPKZjnVXhm96IPBBPECDRxvHNrpDcpwJ0V3UIbHbU6gvOK0I9RLhOB+OIqULYqu0d2QmSMGtwmHTLH99epA1NhMP31DlJfVCxUoeVDLj7kMdwrwDpfhzVSnA+K5QYkJxwssm7PEIXxfQI8tck+dSoXpr2CIoziu9zdKSPrvbjH4+hK6xcBlBSrw34CkanRLx2tyQbz197zJbANoDMgiYh4WzJRCgazLGhMcPjfgiBxLpN8nKJE8ONc1wVMnnzheHc5igaTi+HZ5sU3J6WZ2TbdrLMOgKEKyM5oDLx8eqvN7+LzDr+REmwXxOQXdIg8W7T9eYaArYzKXsrkHS2oi1t1PhrW9dAIO40UuARfxi3kwkPMK9W9WfY4R5ZU5h\/rwLaDW\/T0htOyNvNimP+0WRlF1mfRcwXfJPYdq8z8cy3To9tPyZGS7oQc+v5g0m2EIUHmJju0LV4WqZWpZobLB3Ue47tqQYoAuMu0uXS8X1GdGwufaa4eVaoNlBttF+k1B6JX+l9aGaqnwQS1lcCpzkwYRn0TBun1gKKQobn+h5Bcwlm2Mogeb6wo+SY8Sw+aM81zan72wuuXAYaW1UXp2sPNHFAPJHuMl8HZRhgUQVGQm31sidjADMn0yTWZMJm1mUPcg32W1o6QV9Smlu1G6dbIbohkFm+kyNik0AwYPBJZA8CzBGNhyA7b1uTOP4DZPEKpRAmkrSVEPtYRPFyFYUCpH86g3klUFIdxMJLv7XI9OBpte6nlcYCZyaLOmEH+rangrkRhPLv0KhszytzBvrG5UNqPisNJ9atFdkUaKKrqlGIE3FhH8zpckE5UgNRMJvNzCeNGrtPU9saPN0aHB0JIODQVGmnDWDHOIhRgSXKkS47bnPuatkcQ+Dy7oJwajMz1DKVwRz+92B3JOf8PRWvFaNvTSKYbwxwzX7worvB6oau2AMcQ7pXyYzWzNOteRIHcKfqMniSIxPW9uvUQC\/quskEAIojjox3mG+FpV72PE+G9ilO\/L7jrw3OH9DcKG+V7BFVREoIvhRGp+ExCp3ZIde1WR8uXu9pTW3sHf3h5LUZ07kcps5nZqUr52oAHKhvN2hqIBFDEXECgSLcakzAxWVIZTeS+P3hD5KpZGhPYb7y5S68cqve37ZdTT9X4o3Y5uNW\/\/RmMCeSnIUB9y7Y5uEmzoCYeOPGN5FTZk9Pipru5ROeUG5DsNBy0mPc2Y2HNt4LpWmKj0V4XQieqS8hSYfKdn8DfvMNr+K4dOJbGhTWmtj0ZIh58NQ0g6BGwwgjanWlHvIjsaYmhLKrldMifO7NbmC6mkT5gF+aybZ8ktmAA04RQY\/urJYt3lHt+O+jhaU7m3ewIhqqpW8At7ZHpKvIgXz\/RyKZrwhzV3cP6X2aU6RUu7OIYYUiqG20zh\/ZpE1tn2BPmu0XW0MG4AX7eoIxUzaVVfyNHCjhSS7RLZKxmoauC9U8QIguuZ8zRczgWFM+9199D6cOql8hCqx7EuSm4P6nqMOSmmfpht4xhmZbKeZC4omJ6FHaiLoz2hZJNeJ4Yl20SxAIw8zydgJEYMt7iMFi8gC\/oFZ0bS6DMc6SxTZ14JnURF6KHsbU9n3aDhnDjO8a8qMNIrHqEBbGUEHKFHGliwQWX3w4lRK56OeOBOEpcuwd0SdjA1n9tt6yfjJU+IS5Nd+g7cMUJJgNFkTqbAPwCYcN3N0GU8zr0U99bfiQbYRIRpyaHi3HnLTm8XJo2QJ6Uy67Om8tMGviQAJA\/ccaGGbr0YsNSbT8hnmtjSodVU1IVIatKJ8EErZbiLM8ilR5PVZesn4h0ud2ciR07iOlrPWrG8mAjBb0\/bu3QMUup+JoPaLBW\/v7F9DxDp4C4pTAf1imnzhW\/nx5uMPf6jZZ72aeogpOoxTr5+IAYXUngWs7wmbFTq9ViZ1drE2u2dbcCIrradz4I57AUW4cIq\/qnqrT1cCr29JJpFZuwPvgbeLYMONLXDmcR4omxkiym8Lrt9vGOlHD1+I61m2xgUuilWB3AvlZDFdLGlXXtTWRUsqUonU0BiJFnJ3WSlqweOnIQNSmLju2dnwc8NXaaJFIHh3dTsupy\/g1sNACy2Z2gMc7TNfOqEUsQpX7uLFEPPtqmkh0jiZSpxd+3KOfq6IJjEPPScoqGnlnpUfdvzXKYTx3bf28frsN39\/uHSVXfJharA7kwIo4PUXFlypapD23rPy1MCe9GqK5Uxl\/I8C64N+9\/JGMoYrqnt4zke4S8nByA9ROzJPtv3FLXUZVcnit5Ia+EK0waVY9WlDwbUCp8LlKcq8uIz\/KpUmQ5V1wNipLzj1jRtJ1czd5NeyTMJ5VKXtEwz9Q9Gngbngc0TZ+O8kSeTlgUcd7jCRtIpCqDe7nsNNAnSUPZKQb2NJGr5kWJbV1jPr5SYzQpAPONmtqSheOABMv8oqGOt73Xhb4k3\/LcAII0ahEV04bE4gECF1\/mawLUpLr2i7ZgZQptnMrfm5jdfs48Oo5+Du\/CXwrNEAPbLz4Y0fWUrEzlUZ\/59csDFTI0LszsnIN0mf7oczoCP1Tx0CuK5D29+ymzzdvn9nX6tzSbE9ilbMzuBF\/vGcTyZqVD7SXud7+b3052ZVq\/DsF4f+GbZSXoyqH1REI+e4j6\/j1DsRSgEC0NobTHy3cXIm688AS+z8OSAiwpGkf5NH5iAcB7TY69kMbupc26AZmLvL5DgMz\/HIOGgrmMXUK+4HJDtkhcadxLkOgluKDb\/gp\/luC9iCxlGM11yQEJQuQ7Uyd40s0eYu+S8m7b1+Zxs4G8cxjeR79Kn5azEZl4QH0YDX9XahwAsiOAh3rwPKeXmDYkyWz\/FOSK1qxkRJkIfVP1Q8gDAA7ubFi26YSb2jknihQgy89qnDekPcuXsDQg10Nmmv9xQO5k+oftUIqzQ8kCDyWMyAOT5IK8P4DxD\/K6u9oLj+BmUPizfG0Jbm+rULVD1GM\/rZK22fgbFWOYLs2bxw\/LqGKShIf0DwK58SDqUNck5qLSzGRQml\/6I7JNK6m0SIzlTslYHOZTFspoq6\/S9p4xGpx0n0\/SzraL\/OZ1JbeUawJO+14Qa2M9mpEQ5NJDqMjzZ5dWEkt0tRzuYktp4iqF\/MbkPgz0ewKWDBr7IXqcAG3xY\/QAKvPLAv+QtccPI70sge7JdXk6Jx3Ly9Z3CKALgv+DBBdunROyjbD1K7zKwetpk4jL\/bncgRlX8gh4Qa\/A2LZrlkV6uANP4ZqIyAJr92vbWa+GqN4FdMzE5Op\/OZuk18IRoJgpEgUjtteyD4la+siEY0qbEV95tGsdkPiyGOg5BwiWguPbTgQtOiUywwap4oBgrBqgnJDeyPcT2GM9FbOcus9nOtHpYuYMRiJxALZQdh9lWBoluPAOjvQK5tR94jsMuXg\/Mauaw7aN63pmSYioJwJCEcmBIMkxEHe8GZE8hOt67MGpvpMOPl0KDNS7rB0eW51PIrlIu1snLyUsqIqdHjnQwRGzbzL46GavCPVUg+yul5AIxE+KaqRzKtrIjDPbai2vo0bQ2eYXPHRmQPC91FMWjZ5vDHH8r0fU2FB+LbFyq4j\/twWLC568RG3NFP8lxmne0hEfwuI0eoxj\/K98vmreOq+LTmow4p1w\/GhsYxTYcw1FAsj0M\/23OymmCgr9mCNzHOR6nMTEkKNWr90TgQRiWg6wTVHhvbk5NaGT5a3oOlScxnYR0VaGcoFbugXsRMY\/vBfBuRp9egsxKurAW0\/lRSI7gaU4OnJJEJTCRCgnXra2bTQGFankan8J\/NKsBaoor2DKDWMJqTHyvrOr4CV41m1Cus4Uqh0Qp\/Wm3HO0S6iH4fld3p\/K77TvUnJqdXbUGBIUxDK681lqjDm4cGIaCEfWAsTvWHyndmT\/lxkJzhyAgSXTml+pq6zAduewbQJ+JwIQgqAXxKVDgWsqj0gwl6mjFyVbhBfEup3MBJLEGWyF8+\/dn3g80wGYCSIej3RVl5nYHnGRxhQsrcBI1svdcUZQWBi2fuV7Gl2QoUXsbxlIWpOX0t0jTo8KGY3b\/KwxYe70ENbxV9CNSinYhOm6fOKTHrIQyRUCGReW60XPHovCZYeyg3VgiHkOF+njq+0qfvM63cvWLkVgjqSx1SCptKHfZMYntFs25B9vEZ7LIMwSInWZ\/6cDB6zjxx8RrwR0GdzwwqTi25Q1KZZQfQtuQxHwqPpYCp8fYv1u8eWjrtQYDrxbebE3JsAeVGO5c19K5+uXQS3mrVXnQIAlppgbNCao5aQfE6Fd2PXOKgz5wv5n0oH24LOI7+CfndaUOnY8P97pbvLa4exd5dOrwC3krYUF0TmWLxBwRRjhqD2htbzDDKKY5jiI2kGwdWxl+7ZRumNvkTT6hnXPeVXMoiLiPIva9WOVHJUuvwwzGM+pbQFwje\/I5WXDv53Hv6MMA\/f2vp6P\/tv4DyIxNmPIfxPeDeQmS7EQmgfcfH1m\/GHReP\/RKN33RQpUXk65suPSKCYTMELskzMEQr\/qpiX6nCfRuY7EXfPWy8tli+gP\/M27Y1wsCv3sub8X16kaJFTs+16UldNaITN8A3G4fCM6zenq1LabPj33uQnUFPcXAngTAXvhib+ClpNlthkCVl2jf8bD4EHrHzoJ6JVy3qdZzMGJALTJ5i3eenwrgg2dGwmeHFkJlCXFhcivCy4Cr\/ZVaYMKRLfjC6\/KZYCtKzi\/YHkLdiRRF3wvpr0ZZz1SvOV1QBwzJFGwBjz\/OiBbvOR+j865moJ7Tg1oVdKUZuiyIXKB0aIbGVudqkUXRaj2HJqplkhi2d5HAN5AiNE90YQJYWoNFu2a5l9sZrYUlzXQ\/E0h18ReT1kulPkNfQhcH4ZgdjkdfYvjaRW02Rma72jsbpCAtjEOC5dTLqZXCmhCKAMIPL8DJE6xSO8WpVRIN9iiQwAqUU4jMU9K6xbZ9rI9hzvY2r3KbChS0dpHdRrs9atZz6mzKyUNPl2iX3RJ8+2tV6+r2gbrpqVNzGeBzInk6tfI3uozWJIxCnanYoZHhQ6\/oCipC0MWwnl+fCYlaFSiX1LXIpnc2QQBsj7HPhD7x1nirvXX9wqrdAIWJ1ONopEQyZQRasZTZJxCdJ2pWLrIS7tFoALi5H4DGEjCDokZR5yL7PtbLsLmX3c2tUyJOJkmoW2xz0Q9MVMW\/QJuEDfd7CSQ4bofMnG2trE0fLCglDktDESNqeRfCpmmkkyKY0fl2pjyfS6Z9RVEwX0fzSgWzJfpe0lW2iIly9UtolCuCdhcmh6Hw0zOAg5qkxTlwfJSpXpGpN2e51\/pWB\/QqxzNHM8fr6gautgmViX4xIWqZmitKKI9uKu3sKOX1HG26D3O\/YJtFaxfabautr8+71TZVofpwM0On\/Z1mF\/ncvnP9UGVOr7u2Ulu\/cyzAtkutSWODFOm\/lplwlH3xfKraePtuvREM9hQMq70uqyZRdDqtjStKG1JOZlx80PeK8Mj28FROFIO4T0Ll1cBoKU9pBknLhNYxa9hMlWxV6kNd4twqgOOZ0A0MjNtQ8Q+Rtd5bbjRvxd+EjjK3q6XqNmRCRAOHr9kLP2+vqOfYOJW63YNil1BrbT+lNGhtQIuTE7kwRAlkZ\/ZPZ4CGbQPa\/XSsV6uraAqRNKYTkYAmhkZg7\/JyqhTaMiGiivdgOImOFHWcoWFRzdE6lSqHjdYiCULB1UKisbMPKeZjc3X+R+mxmgA1NlF5A7gu8zArrPjWquhlkSONNaWSEMCJv9KIJnFSDupyxGClK1gJI\/kQh+NQr3MG0cCvuJ2NouSNhhScRgqfFj1JRNphxHN49R7jL0UycPoIy\/ePjaeXxGZ4R\/6QO273LAF7x8japQfa9tA0GJPjqIwpdXQ6vfRIBM+Otp+Od2k1ZXVhkro0IkKQShkKmSSA9zaMpykrfmanfv03G4fsDXr+RXqs1e\/NhwzIz30tj0jvEOHYBBhT4+iKLbqqCnopNEBYUZ9KwgEtJqQRm7M8vt+o9DdyOKnkDulvBnq7ouXp7+RgyoKMHEEPrbafz2zGJopl3XUsJtHVFLB7eQRiXkdZNPlyroFe4LHJA9NuBmhsFQVGQja22jmKdDel\/baYynnXMUuwNYROtKGhnd0v5udL7Kbr2BbwhGczux1C6VomrBQrcmOZkPW1K9DBz9vQ2zgPosuPPBuq1Lk1LVM1oVU5BjuMCd9qaDP36UQuMDO44d2nILKzT+WbMR4m\/hY08ieypuJJs9pZYbXuG\/WtY5DSbZzvoY7CTQTFo1+5v2V8KO3gpbyh7aa1LikyNboEG6696ryrCY2lGku3RjJdq8hCJHVu1YSfcyi9VgW+e4gR1oDYzJA+q7ULm+i5N7OScmYKIySUg9c8GV7SpVk32LsApMf4++NNagcorJTHUtXd7hnpbUN+m8sprQ6VKqLrpbUNkpXLpfkIjqIeI+tqCLOR9HY516aPCspJIziZiSxGe05w0o5AJL0+9jtiZd2XATzMuEfYvRWYcACkZvyIrVPxDTYsJH02eflWqTg4g9vFikNZ7\/3T\/fcqpbnuolPLh\/3vJj3WDNfW9jlrhbtUgXFh9FZVWWUq1Bhm9lYuHybdJi3TamquDJ7LMbSVonb7S7FGg+KtlL0Xet2+d\/1IbUHPbKnU1ucMC9BdrtakLwND0wfnAuCUWUnYqtwzQe+U6dpWRy6mmdPpX1vGdGSSY7DXI7WiStzuxJAte4b5PYHyhs4MBi0ZKwY\/\/judNebxLO8Mpe3wcXtWHHocU4kfsaeYoAYPi1pDj2rJKk9mXFzqd1UGcCWDWknZmLIZImoqLD5X31\/ZxqHsaoibExnndrHKFyiW5lbyvR0qX5zXeXdSu3mOLXYnx7CaNPIahDDpNLGiIboY\/xvneLX\/MPhzXlo1QdFmSiM3itBRaO23L63FleNAUY0xwjeyfUPTlS7zpdv5jDtfQEDCRVgXwT\/4hcC4oHqAAIoXPvXwWFrb0kep5VBuHURN8apmRTWK+\/GScbtCT5tkuvmbTtRpbcCKjIlcBKLFJfQlXZ96vyO5f7r2gNUEVhhIw3diSF+tkc6nmiaw4kGSActdonfMb2b23Hi54GdK9JXE9nFeaPpjvTGVqdLaGwlD8EZ2JMwY3z7SO2zpzkNy7IDgHspoi0c4Z8K6CCL3po9fkfx0qFLnFENMBOBLyncQlMupwaVv5fv7VC6I7Vr9t9EEPoDd0EDHwCPEmxu4NdYHwlkFbx6glxUxiGBY0cwJ40IaAHh7u6HVw19hbmntTNUc+pahHZDjgVeTtd101cMLZ60FS60RiM0x2EUerDNP6USNVg+oyPDiohEkINTLWgqGSth8aD24wgx5XFo7z7R+TVQ2FQU8A6ZBIZxBEWRR\/Z8\/PmX65lGJzYZ9vSDo62dYaM0xtvdaLSYXIOj4FeCufI\/vpaSZbfng+qhQemfiZOs31bkPRwxqRE91Y\/XFkw2oUe7xbJ\/wua98e9E4j26wdAvo7nBDuzBCr40nZJnrP2F27W1pdXgmQF6Gbqcva\/DC9ytlx6aNkuWcYPIjGM2WRbF\/NVfnfX51jgV6\/X1smOQ2WZYnP8NSC2IgzYRGOz6nfA45tZw6f3n8X8E1ytnMognoKip5OcJaI3H\/NMpT1d7JT0x9PASNMaPnfVieKR9NDLwbRSOXgRNQxxoAxwKvsehA7Qn5D9Mkr+Sd2ju\/E36dr\/HH5Xd5gF5VRI1GQGjouAnB1YAB0Zr1xMNPp1+KPXFPDlTcey2+Xc5yeYUdeQJJtQUWTViZI5jRYuaX0L0eXPBPDJz3gOS0lc6nGiewkkGezOyC15LfvruVhldELGpRVmMheUrQVIsB6W\/DSPjoHSWnGeLoAYilU6l7T9vaBvU1WUksrVqhwzKdItolQKuL6wSvsiKtXb9HqG+zpOJOkbzlIQOikp9YYBExWyCONFl\/yGQWYQmwzB1SX73eqHSh8F7DKJdYULgj5nzqYE97tqNdvIUdfgqLGoibdMP75p4vPb6TsLCcsZQHjXfm6gOinh+VaBcYSNUp7RSirATnp6TBqmy0WDHFADBSazJ6Buc9PWsl0qabPjcR0NtwY2AWHmagQ1iOI1RPJrRBFAvT1TStFMr72fy4E4XSiuoSWNRD3KCoMwXS1XfIhcoAVRidqC4uS4SHb5Y0aou7S3oaGrT2o8LC\/1Bm2a8SWL4o\/+m0RpMD9+9O8y6WlXr1c5NJTzLG6mv7eAYRxJS5JwObGSAnhRpIuXZpDXkDyT8nBnaWThkf4dDY6LRRtBovJLG6AW+bd6uIdBu+tGWDPF0aRIRW\/NERkgBQQKyCWf2Yim8z5S\/357+rMxqmGTz62dLc75j39G0+8mk6n\/svjRR4b9WO16leGNr7DNAS63kcnokHQ8bZP\/Ay5s+KAVqO0Xb2Oda2CYNGF2pjgRA+AT9p0XVZ0SpbOpQPbTNb7p3vSpCX0jjlxAdO32wnHNBspxrN6lsZUhtQzzY340XMauRBBPsMXy1GbcJA8fM6tarSunAT5GszK2VQyCfRiE5ZiT0kGBzwz2SVLxPsO9uB9Wh72T3Gc+QiF8FTa0u3mtQhZM2OICNN1L8b64xrB8rkWSyUcjCRWOLweFqUq2p3LuPgNXiqJQzSf5pTW3p3XSEX+WmhhO3WnKIBEjHnE6TBcXq+aTNl3Rq28CyZuKbmhrnYK953wjbZy7j8CxIxmjFxIVJYOrAF1FJZK+fH3mndQ3rNzuZjbVVd709B+fl9kEEDegpm3z5bvLsDIu8WqeeUJYhgcKL3mzezTY8AnVL6o5wfqud09jHEu4StBmeTicyOHtmU629pubRouwz7kuhXYF7yL+LkzdZayV3P8nBU0Tx7b6nme5V3p8iiOJ4USWf1CJpX6UwvopADfYDQDV0jZkfaiLhqMLdWGOylE3KZ3DkUVZXVhkmq08gUMMMjiSRwIrn0iwCOFnLkdNio1DW5RCUA7NSm0Rh2FiVkd5oKxCZJeagpaatnsDY15OOsaQfyjXkd9NC0yttQouITUMS+6dxIJIk65\/aXtKjdNXRHck6Eajewtl08BMNyMIBw44T9AS6s8HBVZB8E5xNjavHweqdbddfP2v6XC42k5azVwEqK5FjdevE2HWvUykvuREiepxMBgSImRA7KRn0nje0FJbHx\/c1utnGITeM5ID8dIwZ17uupz7hYX1KtIzW7jp0fCqS6Ss9PU8lIIAnXVFJA6eSsOSxrpnGE4bwphtCQrrFr+oJUArAQMM8AIAQA8UY0MiZGuFeyFS+DQqxYswpXIhi9Ug+vxdnFnqEAioa6WqpTVkpbDbSWufhohfM6yUhdwJUG77rgEXVbx0CgMF6B8SUJSxMf5D727xqmchX9qiReorrmSGTYW9BclVWZJPoltUlRkNatHKgquTP8ivDoDkWqMjcxI6gyPtOpwk0WZ8+zkmw11Q68KWavOKfIPDmCfeFCnw7YDIVppADnlBzKhDwvqk6n4y+7BbUuYatmi8QZOt6oPSkvDJU8TyOCAV2Mj8DZ8M0QSJw6CKqYF+uNSp3hHaDPTmTeTFSpxUZODqGWb1Znvdw6drV9oMQoMo+czGx8uLb68xESjReiqlNJcpKlAcW1lwKcBvX4kKrIqbiY2WrYBdplTaRNwGZNLO\/sHXSiXmsZorCdxEUgUig+qWrTFxgmbZ22G5W6vfCIKvg2iJfTZkNIMJsnhyo451WwYSTT3vbalcy+EQrODqGumQz3qcsL8XZfv0GuT3R\/BJnPuX\/TraaHa2s\/yYgR78FPu0pEvAwQyXjp8FeybTW9N0BaIKNB5TPDYzkw6CUb\/9hORlXK3yuRkRRmFJeXHZQ8WTiEbZbgtiLYuZHTOcbagT3Zk8KOFLNJAzkNKYyod1ezq2suzzouw5E7uCZUn58DB+t5UIFR1EnkuTH+xgmy1riom2fohfPCpYHwRIMaSGiFntM5tSxPBmxFZnucfj+eCcaU52oQ4T1azS+ul6puopgcSxUmU+IydJh5SqnT2mEy0HM1hSNGTHDOU4BoaOb7g\/L\/uLO7xvcF4H7ohKKgsBH3F0C\/6ujz7HutbJp2jmTfCOEm7lJZ4rK4EaRWUdjYd4KVJWjDJ65CtXIONghtCAGLSQ5xd0QS5gDOe5jxOInAFGKZgow4XBlCG7mEc\/NyFb+x+s2\/J+BtvJbxuXbsl56pUaE9rpzfw772YLUo0bCCEqObWYubjatrq75o3HchuqpgJK6KyfNIZSa8Tas8+LAAzqlDg3EF6+BZZTpmZkUlBnN3Gx6w4grd3UFrMWSafkZbl12dJDqjbZMXpw4P8LW41++qULPjiFwVZfdybHnuyK6m2hYkP8WP5qxUO\/5PZqfCJkIpAP7LUQDCIavzPyyP4l7g+WiF4GFowyE20iPc9hr\/p6nEemuJQFCQj09WM+kQk2Nox7ukMEK7uUNNvFufT4+p7gSHC\/xgAvtrpuk122edRh140xF90nyvG1A4aT9cg\/Wc3y69bCjFDkX7\/a8SCNt8BvFK+WNYm+K11pS3AZruxQ9mmZkKYANNcp8vCmDARtH961zBYNBL8sN9hnmCbe9+Tz8HPv6ImhluaO\/sePd\/T3ehTdjAszQlCpVeFOcJJjCZMKAKOPKm5DKw0m1kYMjMko+jjncxKUhjWM8PMVrbAYA32GUHWqw\/KRCgXvK2t9BST45tEIWlgiN8lOQR75jHfDYfZ0HphU9gXwZJXQBkrQeB9aRouFJLV9SfzuDBbM4GbvQZvjV9peotcR8S5835SjrPQ\/KGJ9Wq62+3JbfTHufTap\/Y0NsIy1pVXzJtNnlim2+uF+1\/7nJSbsTcCDkUGSShN0+Imbe5wRnDE91l76aUxEoWMfyCwBPnxa2tVc6OYl91Z5UqMzeS5ePXczXc6GN8b6lgkvmsiB2w1fxNKbVaE5AiYyoXhXDh4aJSECl7Ab3C4L3aZNB7Wp9lJ8Vq2bxK9S0fNF5SNCzH\/PCI85K8Y3NOYSDWO3\/dGZKVV5ErgTcmxCG1PFtOe0QGf7VA79QeCGENegg9+bzYcqkqrZquP8EXXaN\/C+TjjzrdZKC2cDJNP9dWn1Wb6G4ACvNx36vq7REpXK5K41Md+61PlpUE5uEHM3i9ztJXiUprf6ogkm3H39aSmzl5i9WYW5uoQ2CPDW2RlyZI90N+sJsYvCTMD7aND348iZEGAmxolL\/j8aKzbSfkgjo4t3WIw2ypHe1HejH4nKqnsgdca28V+Pxjw6Bg\/Cp6FgCT7aywtTmgimMwJrJsVVhIZduojtpwT4bffxZbZ4LFT\/9iPFbkvyH+S\/Lg8A1WHjBlQPUn6PGcaIwu\/MkL+tmZllf\/Ni5AMIPnxG5Fd2AHhWo4FBXH1wSiXb6lGl9TvqRmSiYbLsjQB4\/\/rTOBB2AXHKAd2Eucl+TBoetnekO4WMhx4b9ZipNgOw7Q+NDmF\/82tzx9UtEDEYwsmjtBzi\/H1ihJQFZ8rYpv6LgcOD6bLOU6stk5RWTHRAk7cseG3zo1EvklX41BKz8qfzKHRV3FPvNxGd5T4oNJGqt4DjDAjbkv\/q+b7eERHjpWzkslYI3WrxYSlIHPsbwTYM5VbQqya7AgmWMjV\/8tiDJ\/UYpZawFSnJzMRSJCIGaCtJmbw0g+V3WofEuZadD1RjeHe50WCuVbdoXk+9JBMxbuk+OBAtGg0h9KLFOhCtlTK\/rNTQI6iMIcwhkVwRbV7zgB9VVWQCRmzvXR+wHVnHuj0ifLvpGgbIB5dbFXXUtvqEUL5irP+ULBePxRNzgcKzklhFpx7zO8EP0M1hT3DnbxOwQml6pm9lpF+UyThDUqea6Ne80Uy5BoLDVF1kyOkK9cQIaX1sxoNwF87OLrJHkcixmF16mRIoVtw1phhAQ2CGiRMS4iBTSyiEJpGD03PdUsoQ0t43KKWtER3+Vhc4uABYIwB3FGRaBF9T1OQGeCyCaywaulCjWQSyo4f1d\/0H3RJOENYrahrVU9cA9cJzjz4JfV1osZ33wYx8bS+Ojq6eHylQtGzj+aYkn4Ym8Eq2VxU5U9ISo\/kSI5PCGMDlaH5EfWegYIa3z6I\/vUo+qx2uJRnu9gQZ9y8kAxzy+OhMqnLRLWaFX16EjZM0QB1NgwoNifsHbtbUl1RCaALd9lBz0dL+VE0x8EW0wpC7gphFqa6dhd+zw\/HPsUsnSB5t4U7fGR5JIzpdvLV1XvZLrcj8B\/WpAZ0y31GDw8oUOI98w2cm5La7vEbeJZ8qPh783KspnTtPIArZ96Hj0rtJbz4KsTExDBYIZdhcLdHgUH22vAZyuK8neMsBH0bzJBvP3+w+lsA8iDygjNUAbEIDWPl\/83D8gCr8J+e8k+aWDC3rNgCsdqDBB+6PAqCbeuf4SFOohcN1CTbDCrXc7mqztnPbD9QfDLaR7D6wCQ+9evCJdpXnMnT3xtKQF0FHUAfoDgQB4Lj9n3hJzNERavfwxj3SOgK1XxwSQhrEi0BAr4\/akmRfWM66ezU6FLy9k8VFXDdoDqCASR4lsQXSL4DnWinJcibPAndJqN1d8o1GJi7nwBNbBxNHu2yzAfwOrLwMKgzP39tEmxA7rMjLVWRfw6M4CtTH4yVKm7ebA7kLqpt9cgKyUui3obSDMI5ySAgqNWxyla0Ke\/1bTec9BKXnAFLmWKbZnAjqln06dg38CEg8Axt16joFpMZlEFfvdu7WsogIN9o5OfDPmJVMYp9QTYw9Xxecsbq1UpmHg7ts5onM1tb1N9aMILmEA2yumoV6DfFGCD6I2OJGAm\/kh92oFMUBak2GvAgIWkn7AtEQgTNbwFEJHhzYGXG47w6cJWQDP4nFLITld0WB8KZHU1WH6iouG3Q\/SbwpWMHnm2dHNjCHV+ReVGgcOHLXkjxLABtYA0nHLnXRO020eSR3iw8UPVXFmJafvB\/w9VQzcIxKMFuEv9xP7YZZhPmfq576F9FiU3SlyGgxaSfssYqqntdW4RqnYFxYWpA9Ty0uSKmJ7R1qUVw+g0q7voOD+8tuY0lHzyShyGSGtGc576zt++erAyu3eWvZ295hqAQZak8aHh6T8Xn1qe8VrKCEXYw2HL6GNaAHuL01rfVluXXZOEqea2i\/c6dCLOMvF0VQFOZnBLGYKclKDP+X9\/laUnIa6KBoI0r1E0caTOKglX4ouR0zFrGmTPgAiK0RmqgJvGMHpNITlLoUUZNB+NECenDIU6H06jhmhd4+1m7j9MiMaV+LGAWRQFrm9eCqeOofD\/iCOw8wzgpxl2WiHNfGNV532pxk7mhAWzXo\/8uV\/1o09GlNreHae4ZAPpX4QS5lQSCQgxOZVIP68cRsVGKvVwKkOQ9qcGLuLB4XjRlkTEF+1wgEH+3FshcDCbIVi4pBLo2MBe3C7oe7rcTfUaA00oAdf4roY4eRoAuoFEk83dVaLU3KMTjVoX8O+xCDQVkDltJi0Ir8FAYOXjHVpVaU24pDaNCA8kMSICbw60d5sy2WaWYxwmPz8pYFNkebSRQVkuxftI\/SZyMbNtbRC9IPhfk48iEQCpTgGoljazTMZvpF8+EQ03M06iSgrtqeTiIDNHDbwDqPaKHc+FIUKc4NhEbLYmiyTexsmAhxUwMNMp\/C\/BiKEI2SHpCEWSS2DAXCPgwEyYAznvaxwadJYvTZ6UX+zOcLmVBXMA4JyNScsgHTPRNn9MBpDYipzEObBDTvYBA9TAT2KOZlzhdDb1q1RI1agDKQVp0yIAfFclbJJkXShxJnlUpcyW00s2+5nC9SC9GKWeTYFoM7K+9TgHWEXu66F\/J0Y3scLjex6CMUz47ZzKa3WMfq6FAXH9clXK08hOCSUs2Sy6Uq2eSJTlBtJq3ahjreoF4cwKP+esh7InMi+lqqpYIQek8aGMd2IHmHBQVLXOZHtpPyYUjKJOrBm4jGMS5Jt5auKtMHmPxSC6R9Yd7W2KRBXqz3XZwTm2jBqsSghDk8JGUAz7pEOlcQ6CGZDSddIFP00qiV3bBEo7YgEi0mRVg+MeYIQEzd8LjTSega6WR4uEeLB5zVuX+Oxm\/Hom+axm\/\/6C8JODXxcU7Xl2UpYCOPJJDVrkO3JhZN19j3BXcz9nR9Wluvm7+lneiQ3PsaV\/\/K\/n7oRIAlMrGEuRljuRVjl\/PMqEQ6UN08WqsSHUTyai8V+RR4txz4P2DPiYAFhtrM8FYt0pGmZqaUZh0vvy8778idH7QaqDbx0Qjcq9VpxMsBdyFZ2PIQvDVjDnmDgY5i\/ZPZ2TgT5Juyzz3UWnVw8FLvqeaEZqjN7ByoC4UHq7qrTCxZF7Eweqlg3DZwXRwMdIvWwBw7aAZ9xNPqkhbOjzymtyaX7tgr6Si45zvvcilHyEvYc1SAtyqzxv4U6gz117WzjvA0HJ\/VnVikUenVgYgL7uPQvYJ5iwU4Pqbf0zTFkCPc9A5L2MZLCBVAak5vWDqUXKYo6tDTl1CaKzae1cUdqwcmKbXnu9ULMtPIV3U9XgANZPNe6dbainW4G\/tIRB0H4LAd4OI+TAc40tRdxOI38mxJSBbJevO6fxXjegh2P2XqxBE+c9MslIG212SJnGqXyvTLkyj50BQ\/VWk4O0vRbQTHKKEhkHTHbhftwCFSOaLgDzAhWsN45tA9vwZ5u4Y8I5m0QodPeGjv6qxiCtDRwy9pI3mqDnEprF2jg\/UPgBd7q3T+VMBV7kCOn9pZw4mOOCopQl+cuwsykCAjJR1jlqn7sgyOOwNuQgfEab2KdAT62aruoh7mTZbIVzgoWLg6WKbBa3ZSpJ2Guq4pw\/Kps4Z5nk9LFMUCpQjWkyfIsg5yEXRt+7lFxeSwjkc3hR3NzXoB4roTEM8jNq8qS8WYNAxp57qHlu8TK+SKY3BrtioRBQWSadbmBCgTj0pEDshAn7WJ6ZfyfAiRP4xXHHZMLBIDoGO5ve3YhYpaN7RSHo5UwlRDParjRLmrTOOqB7hk2tPOjsqP9b0+6\/BPBgvzZx1kX5QSbkToxhW1iW8Xc3IhhvBUPWFAK9Q9JqjT48FyRy98IoofcCH6Z9IAJ8K0N51\/sMmHbTpQLR1QpL31E8ncmiVs6GO5GkVl6FaaC7sE8ohJAmB+GF9YRQMBVjn5kPmQQ8IOmGB5uIpa9Sj0npRd1yLC2MHWWuUGhr1YS8ZSYyAcYPgi4w4AvfLmKwgDEL0YTJd8gEdTC0KTY2k6l6d23HO6PyQwRTYcdlXMpUtuMIhu\/4+l1QHmIln5e+aiNcN7t9rj++5wFkOBtyl\/LefCSo9QaETpG0HONDKL5xQJHOQ\/twRbbX40xaWGqpiDpxSMbduD37mVmavat0r1zI\/\/ki+UpWTsG9UqAXLTMzMZl86haeY3SqK0LR9V71f4DXKeCnUJkIAq9sCHJt0h6VfEDuQuje7oD\/y4m7H4QkqTsXDRgAor4NEA0wz15RdkWjZHawCqkl5CpNNdejIsUPXKUo3vWok+rvJi4BV2HYMEtw0I9cJcMeMwzDfl7qIw9tuDv8GdInd4vOK42ucHjfSEQLV5h+KenLsRmmmyW6h8mK\/pn++jirfCBRaeGA3LSRYHvie\/dr2uxNHIj9ZoQHwh8MwzQWrkRVHjqaU217KRjgbAc1FMzdReSg4CAS85ej4nk5f\/JHcL9cItOR3SK\/RvZQF+ecFwDEMeERMHb9Nf94wGoEB4V9Cox6d3BT0OsH1hJTFXZZJuQ3bi5aLDIAF0ZY0yq6X88hcVLmuoQK6mQqCGJCcSfE7dUdxVzmKg1wqt7eIVEW8l07mZeYN1KhpYoyjr\/qAilQpOCb0CsaI5okukPkwwfjTxgIXyNPOE38Dr0SqIN9\/KeHLkZwUPg+YNTVvziTiaijwLoROAGw63kJBuijOskpyN\/TvMCx1gaEXvBItzRI046IbmGDDf4nSFXDo4sOt+BobRobclLeHcYiAvbNdoIQy6M0+ev77z\/+dOr449bRX33psXGyVs7\/q1fqfqSyVJD5QfzG+yFOc\/xv+68vVXVXgSiX9PjgC+yoxYZGvawxqluSOyO6xbspxBI6hEGxAjgB4IVBXqZFduHmnubQK8PYUbyzcLrQAFEYxbuJHkAGC69EYdGTVatxcmHQ8dEFZ41GiLW4S94IuctfJji6Imhzl1fe6X179KjZDeBtnlo5RrKehHePgLtj4nhE3D55EkI+dbQCu6UzUc7fSX4aCqHpCozHdVNTWLNkpMVjcRCJ5Dl+1SSZoBw\/\/X7T\/3KvEPqiOrPmrBxjMUwvXqbkj\/1m1cRJ4x69+\/zjZ0d9cl72fHkX7tUsGZJoCSfZuBKBbL9JQ+ab4MFI5hRFynDJHW4EzIIa0XmkrDNl87UNEqlebEh4KnIXEQAt+V3Pr4JllbCe+BSGqihjk0HG07yOLNaUal3f351VczauAFO2xbikwdjjJuFHR3hxhMefX+h+hhkO7S1C\/f4zTWOlvGQylRObXAG+zxuAp9e5Ms9FAfiiupDKyPPTQO+eywQbIIiiknVMcHzP7CRczNZ8F+0JeXm1UYkm9yvX4TtdAQFqByOE\/WunAN77YiIrqwaqJpb0ljRNa5vaYE5SdsDe1wGHB+cVYNIMAC0laL2jXen4hNKOzoHitrZ05qfNQEbXzfV8c6YE6D2HKUAEXPWuBx0SBsJP3o1tNuu3sHXJjOFR6S3I76TqTBHVfPy\/j1oL7gHJekxccRWVE3hLpWDg0jLdWAlp9eBp8T3RpNTEhNhrqXDmccuQU40XGK6izI2G6Y\/z2zJZU6p97cvujJdxvKjodosd6wYXrqL5MmE\/nDKK5hmrMd4pwS\/IJadfXXc4ncDPm9YeOo\/BM3h8E6sRBeBjblFUI6L30VYOAU1WbN0e4CcPkULh4DrPoltwFvE+T+tunbZU9n6wT87LCF7sA2r36anzotbVVJ9vDo45W+lirjL67mu2qmHjDXy33MSBxqEQmnclipon\/kK\/47EPT3YBUv5yMivTDEUTSxSDNzH3dMDh\/nnGEpoZfdokyMTDB0z+kuEIXu7r9boqUnpeDawL1bfDbCZPR2gNs9RtDhxV1YPWtptULfJ8ddWzvKWqSdI62X2pIWQpTTfXoiLND3de0TxxOuTvIRahgSEmnJti0bRqLemPbajrhhudDGbNLoWY1kyRFur8XXNjcPiS+G3sz+dp3zQ23JdotRS1Hqd+m6TXe3vMHu+rSWNul3uo0cmcPgx02JYRBGUYORyhB6CRtwqtwdLcViER6Q5v0ArdsewX71Ak2LHYKGg5j\/zgL\/Bc0hRTO\/9+PjRSFuGwzMLELY4vB8KRGsinQ9wb6nKzpHuY1MmRE6wzhiMo7\/ibThy7ZBs82\/SW5ogufO9q5ouAo72MrA36\/Mj9R4YtBT09kWZTOqcg0KOTusg5wFs0L3F0y82ytmiU6CNhvaztgsfnXvANY8Ogryk8aN8M5xZRPESTPKiz\/qHjlCmIFu7bYX6T+XaHF9438VNg2zTR8jZ5B9+i2yzsD\/MLKw5pCekTf51HtEdlw9Wwx6eAEmpSbGGvvIYl\/EVPrrTLNv3C4MJjS047CkYuCkIA9Vp\/HdCh\/GOgdsgTQTdPnoygL3s8Dh9gtthN3rIc52hSL24M75WYzmbzA\/hMLFXuE\/eUF0w\/4nll8ygMUf+LVPDwTxwfO\/vpD+hKN3\/I6aNdQlY8RsENl49Wou52+Ho0vQyX3eGlMJn\/HOcqIakWc01glUitXJnaKOFPNDYTJdxEES2AiL3\/wJQSk\/skAznOMF1bL5HqSw35pkk6soDamT5jOpVTcGuwOdrD2VV1OYWdc8I6yEzsBQcOUurfDdOMBS2ZrCmtc7XD6PjjpilbJc\/c+gMl5z\/0DlBdY8TcJnFaP6KzmE7ZJ\/46gMSzpOV0C7VyjtOjSQApdubfnD0gPMvCcvZb9ncsUT3IhEsXt3Dx83oXq7IH7aMAgf9fmN1V\/0BURZGVBJdZVAFpjRS71Hm\/AvEd7lX\/bLwGxq9TXUmBs09ckJmIvWBA8Wm\/KnruTYbpT\/irO8FPLQ78SvJMM9HCxkfR885jVJIZ6wd+jyASz\/KmzLLFBvTnVuXj20hnuVZ2jTwX6VIp\/jYGS6TN7EYTcKliOuWP\/f3swFtPgtRnIxMZwNfBE2ve\/p4AuHrt8dXhlFuGrZWYqRSv4oFktlAJL9q6g7vhnOAPBXv8zhs5falwJvHV1cXVmLVlu7r2Kjs8CuDdU1XN7eI6b0yLJT0zOsgE\/s5TTvbka2nTth0Rnt4JXnDZEoNSp5uaOb+MF3E2WviTLVT1GEDypjwblcgA6Ta6+BoDvTVQNIu78RXGbetUbRht4tuPAXd+IfkexB+iLzkyTEpByG1gWjduaFU8uLsa7snzExHNbKDSCVdlCgagkJlo780I7367MB9JdIyijEc5\/6GVJ0JY+9RJbrOKb6Wo+EWcOAQvtBu3iMYri8l5WeGYbdSVPaFMdfgNFdWIqH3UzXqpIj05eVN+oM4MANuBvv0pKr7oegiqRqESy20EhhfIT3DrYkEqmw8BEjHemAAhoYTgqDGIaAsiSCyvYW+NPaf7KdI3rrTjg1pofrz\/FNBhDZ4eC4JQdMEnFnKrt1HtEiisYjiMA9M2L2eP1Uy1A+yF2CvCg+N\/7\/X6tPg0eJhelnaP+tAuMyTCNKxNaOEU8MLkRY7uxI43C2HVwmtwQJ63NjQzr92TFzNJ2SMJR8d1yK3QbAmIin2ir9Hx8RXdALT3aut1HTqbhPr9boohRggTvpg6l0xBGYyncwtPTav+G6IOgkwiOh2V9RC5wMrGCRvirh514mywsaLy5P6ojIK8dqFt3Yv+nRRYaEtlsVlw3xmt0FZ1LQepVStUfHMRMiBOia\/mXKrG\/MLFBnJoH9vtVONET1bMwwCixu79nnzdSFV9r8ZOiBDsJmBGMJUZgYWre27fO\/twxoPW\/IBmwrsqeqcI3bC+6k4u0iuUp4VIrGFYayDUX5YFwLv4A99NTHE\/t3Qf8NS0M63rvX3vdP7MzbPx58+7uVlDtGECzYT7VXRfURq1S4uoFhmlIM789rRHxexQOVkKQ0yhCpKFZ4bUEzzStBfcoo23oz1oJRw\/JyNAXewD6b\/lt3YVp7ZDzducNCsOdofGRe8W3n8YM9cDq\/GWLp7mxZOpHDfF\/cP7bfLw+3L62cgJ8LQJ398TgPU3Jq0mjXmDdaPIBkB6gh50Wb6iL\/hgfdzT4mMYaRk1Ybt9KsSuZ5BzhGVBfoeg3CryJN8Du7VXpiiEJvYr14emamz3xEOsrg72m6A9vQI9Q9zkE8Sz1P2BCwowuS8Q\/lMGX57UdQ2bMOFzGdQ+Pfc5bCoTf5lrvYLPLSLH\/LTxVr+plmn1e7Pyq6pYSEouLTo\/KsNYzdEOl4DiIMN6E09F9y48asnYv\/Dz9h+\/UmPIPi+f2\/svvJ0113RiXEnljWAJ3WP+0i4uRtsuPAmMmXZBuB0uKOC4EL8Lxb54iIUzVVzIv+cR9M+HGC6cu+ZiZTV8446b1\/Lad+BavKHIj8318wquE+OZPq9iKam5SEk8kDOe\/l+6e5qkkJ+bVZvZY7+kGoAWAJoBYKOz6rdIbO4LxlzxvGZavcu3PG\/f3f4dcSO4LwcezrEOOSbZ9KWLScKPoYCINBuCqYwQkdARvJZxZIioBCIbvI0HWb\/RQ36+fA+7GOQpHup0Dkn6OR1Vz3mMhsZIqMsRfoQny6mBsH49tha\/h3dwEzaIvwnHK55rrN+A5eLdyLiHLl1wkB\/YqoyP9yaRcihjPcVdOPXjA2Qt0sB1EbFv8f4ODsYqAnsZjxuFOMhKbBTktK0qppjmkrQWkGwzDq1klosbkDrLqud0ANbRftA4uEM8BLTZQMJeh+\/VoVbT9rp8oP\/8vfZyOHXrGjdM93fzpo1Xl3bJyve87wfXD\/IoMnYiPSBkIZXpS1AaBL0XSqEAjzSXEZw60x6KSXE9pw9CwIZ1A9op+iXRRJLuJ10bLW5ASMVhPJ38nTZ+S9DIgLH6D\/O7d5RkygXrg4P5vYjl9yIuSXtOh7Bzd27YiCQ\/KsLAuB4YAaCFgb4fUj8vv5qkENruEtaS2hIGCxtCYbi9CdsllLnPJjk9I2DP+KUMEhtKCuxpRs+qYXURNkFCbs\/ebfDCG6qbq9JFvRGG72j3VEnBLHaPDbURNtGBWo6FBrtnFDe9UXk8XxouZjc62YpwB8pQyLEhfidKmm5DOdbgWcby5p\/fCEh2I569QeUBur\/XAdzWGfx8ejjFTKrU2BSkUVe+NICnCn3Poi6z9Vu1MzcNYKh3mdefLpCVa0L5W5w9RvuRrcYcsT\/Lzt4H5E9srtDzwLfALkxHQ6SzDoMKLebI1Hk5sBTQ15cQ5WHZHI711o1XQo+PQLoadItBnmJTV7X6+FkZLw\/YpcUuata76jpBqs\/cYMfTvxFIbdG4k3C2SALXTKmS8D47x1HyyJjWkTewceqZ\/kZw6hxDNgOXKfovgzPMCP1t6rqldzHcsnZFW5oWQGqapcrou29znQH2GTc2f64QLE+XwAMufnCeDW5sedrNy238XqEDnCX954qkVQF7mCmit7F0rGD+yrBwzp3dwd3vdUPgzCHBbLYS2AxqubkCQw1GPhtk3ByNUMz8yd+3h3xItjgcZZXhYHSMRh8SizsuzwswW7hra4wrCxCxkM2\/sE\/gAoqLs9lTDU4TZcGmmPIcc1+xxc+79CVDa7S0Kk\/wgIJhqZWXlFME52OKVaIVZhycXapIKLECF+LKC4mloIaKWzHt5HQGfma7zU9m4Xh2DAspyK+qyFc8PUsMcAnQW13ARuGlTCZZz7EP223rKBuRXtvrU9OZAc6fpL1MkQ\/EOZ31xyyR\/XRlon0MR2SWBeFUO10\/jnGAee4phoOmFRFZCB7X00ciMUJvZkLED6ti3mKW3LUktyA0qySQ0+lQKnTV8zWOTZG4GWHeQ9khFEuiMKzSyIAQTE4n04aorCKypKPUqJyuIgoTtFM+fcNZDzOIMRP0QG154HCRqOfCRBGYf+fRIZxCxnUQWFMOLHOwiCoSBlEkJbLEotgkhHbx73hPPgFvOKiAoR\/ofRE5hY6mOp9DkaR+BrAixWhzY0NO2xuZaDuuyMdFKK\/MnU7Sp8lfcvhkVBY9KB0DJ3A60\/+QwSxqy780vpwzA0OD61F4EQgVxd9hxNnXpXvs6vqtx+jlG2lJDfC6VT2y2SfHh8bEL0DxSlbDRbn5n6CfJwjxDQOyCmrAjDH0z2W+uw+EVEyPfQXus5vljYYosC9V8SsaYZmEdac4KxLsKfInnDuRE9haJFyVgcmlKAbtYWCEBqt\/KQ0fHOaEyLs8fb\/MaZooC014shmAqz42nTfepvHO1xrQr4HZQR\/Q+kLD4k3bmem\/ap8FNCQC8L92s8Hb+1+WdPXI56u7f7nreWpYu0Yp6U+R2QRLRM5u1gHShplWYbtV7QoQR2OOn7LdXt2xxByA0iZqkpvyVf0D4o67V1+yfY7KommTT8pbOATFSUxo2L\/4EUWM1cEZw+hhJAOX2hnESKcZoGBhO4RQHyL1XqiryVTBevx8j2Exv+FcvHE8uqYa+afA2PmgWIoKSd5Awgu6mAXSHjQs9L8uVCUoo11LML\/s83kXbPxlNrwCSqcLWSD9J18EJb3iSSW24Ts9NNcz8mo9JlZ84PMwYNn2A2XTP7\/VfDqtn+eAKERaLPxh1dJQyzcBzjgYTyp1sO4xTshGtWmk0ZStHU\/HMQ6FTgcFaybPt9cZBU4x0GNZjSaRjERVzFMpzujzLA+S7hYqJPq5BB7hIXEhkq51QJ5sx95sV341mkbEPxXJpKNLMhoDBm28ZnUtvFY4oijmcAyLyi6htQgQ\/+Bew3dUyzfmoRvKAS7ywga4ZNdqxKgRk2RL72XChRrTi2qvVyCpZg5hv3p9XQOBgNQHCDD95O2\/kdHt\/wdY4\/BBsvidZji7gJPE\/RyisXtmOCNs4QHNtdPkJoC7ZqHkOvYSD3BYywFl48JDhJKclRMkt3jRZIGus3K9nZPMghYpcx7zDajZt1EXCC1BigdRvngTdEr59JjarBwmYiiuNGKRZorEuEdUDkfDPYQeugTQppIcLiEIgxnGsPJrEBQwQBm28ymGAwYoYNcUYTCDGQSwcIYAImRhf0bjbKIWzfy\/hlfqnqXd4QOPVfTEKE8mQRdgxsbL\/xR61LiYkdw3C2WyEOmChdK56sgj\/FeHXJf4pgNvDsczeydP9lxwEZRAA+NhxTV7lZbC30vBm5K74caJk+\/Zp\/KcTpdBETaGcNosRtiLFteTF5MJFd3SRNtQMS4cLPoEiFXUMbEug6IjMcdhTNKAczE93+cEL5Kq5bcRQB66yWAFbEPILgYbl0Ba4oMykUghYMt2CdhBG2MtbGagDdsqhwlbnqC0BSldAmWJD+qNjEJBxqoEVJC1sAzKGahkmXoZL9JsEd\/i4ZXzb3QI6c+klKNdeNDFTBuH0Ne9Jl7LbyZd9gweZM5I52Y9p090CVL2bo0NWlqG073vPAqvWXdBne1Xt5CO34s66Vw828VsQZMmRGOYXdEp8Drl5N1qgBQ+w8U8K5aJhrQDVQ6nKyOV57FNaP53pek3AG+xljv5Z\/8bglrfBFZCTAMq3lDUuh6B+x59O\/6P5T4BRN+2AqOD+ES5Gi6eSyhxEo7UkT49tv41B\/gv2VrlM10UKa2dN4p1Iir9aO7Eo2XHr0tmnzO67OBVO15DFAH3+J2vk59hSx1ICLjwIX9fOvIt+iv1+5IFkvv+PEetMHsoJSFm7KeIZCFD5iJx\/sC5Bxy7pv\/ZM+HS86ZiLPwlALZNiU3PL7IfnhkLn8rixdUV2sjpeQPkinq6oXyWcyJVjd96YUV4dB6YQHvL7P1QGDiH35xzXBIIk9QoBN47E4PmPXl961Yu0HngIR00M6AuuwSfGlN5yo7mwkr8W3uikJl48z8hGcShWLQo1jLAH0aG+2S0ibGsFvyUeprcf7dZx5kyhiHjUMU8QAYC7\/u2g7cPw5LDR9fMj\/B2Pmp8+cBAB9uDzWu4ht1YzWt4A9yZj\/KDi+s7F9x3zpEPrrwce5nGPmwOEJIRC3OQ4R9MwXICxN5pE6Z8exgjBkfeRSCA6g+95jieuECpn3GJdJLB3mbTcddM0p6Rjse9hNMfdomONOvAW0ob0BQnSKYXCA45gWkDlA48nrpnhVwNHbr59zUK\/kRLGDxNXsuaUp2tXUW4lmms4ziOBY3tUYsakGGP2OCa0yiWydBxTd6aDDzuAUk4jXQ9xv7wg99Py\/1Zx7rBSGU\/9huIqNDlicFg0nIn8m+7A4p9aHPpZWPT2csrHc0lDQ1w6zXSt87T8xpnT2PIJCuQQHbEASnfynnegs6kr5S6iWZEuATWdjAzZDzoMScjYjKO4JQ5KMWb6JATSFbOKgSEvtc3o85mhLsEdnQwM2E86TGnIHwyDo\/YyZ0PgfoOVC9\/rXTCzalynjo2hErKUFUZcRDEbHPxZ9JtN8l5K86FnaKXXKlo94TIyZgrrN+A6Qm2CKAFo4diNEcCMwQsupt2vb3jmSoyCYP4EPzV5nvDxZPm3m0xQZ3QgZyjQjWcfr5Vx0AKTQnxGFqwWQRNmfmEPX+mwqmS7DQZSUwKwzDGJRgP2\/U8n\/G9KKUcuDyxZIH8EQKTKrgsuFc5f\/WWGIcxFF9X0L\/L\/yd8e2KMDfOBLBYieZ4ODRcJzXs462EsCCIbLoRNzsLTUWQydeTXxJmx\/4nuz0alrh2D7cyEmle0q4zcdd3JSnN6sw6b3paKQeGlWtfZKN4Std9VV7F6C2C3f2yKLV9a9MVl3pWpRu4F2kptWeM8ZW8vtBr55r\/v6CNgbEaIl+UvTY3rtSkfL+7uzJxaheBM+8uW13lLfjr57oQRHn6wc9XL2\/ddgtcgfAZvpHwce0XzszuMoDj8lHpbXwcWxieEKvZpFHzkWANpDeJq12zTUWwI4SN1WjGEdWNT8S45Dkwx6kUdjlxiMAzxIwAv5hKfjfOvEOCKGlTx6288vORvmt2LM7xBOQR\/YY2RJx\/Ppm8IecOYuSIGrgrOr+Nf2DewCcIJU8\/CO6KIMoVOc2SZiAuhty6xHZYpLWGPLthzl+iS0R9xOV6ISwmX8ItoCumwxYmQbsglkNfyATY3u1CM4tV9mM8sYaSznVLFfHBWOaNiLhbO\/SANIf8WFOASH8Mn+sL2627MhkAYyxbP0pMwxlvRB6u5KB4Egn\/EvLAGF7PtKjfEYr7wpLNFqaBu8r+9kZfYPhebA4hDvMuC\/DJc\/IULEoANLbKzdzbnq35chBKosxSyEHpbqVRVsCpziPiWOlCShWJxlI+VX6NjOCYQJ8NVKt+WDks2Fd5VKMakMtsEopTQLW+E56FS3EpG6IeOluJYVRklnYGgrjiDy5G\/5yOg7r+tFut+EU88jl59rsf4KMe9mGFN4pbcujhTyc6YfMK3cUuV\/kFxL6M1P4mP2gvEqkVa0pmayek94U7mawLk4wM\/B78X8wnn8HvkfBDVkkOnEbAosBsa3s1LKa0RzqcCfQLERAjvULLXgllJy5fgObNVTsI1x9KDZDL5EVEgsuwJCphEBPqco6\/kzUG9Ld19X322OeQeL1+PrMZAUMLjLdzKDziBO\/gKkByxAqhlbdn8r8jZJPvmotelY+TjoHmvGyZ\/2wqbjq5+90uW16kvXmiUd4cRl1+n3XZ1\/bZj9IpsQm+BBCjCatiy3qJ7jWTgz82yNlHTuJkYXomfNPxTg\/J2RnG0zfFQ1tvpLTIAFJ64Wm7Mj5t360qgqnDKNGyDF8sqCOVFMnCxi0EE\/UGOXaAEJShpXAWR+SUnOfyYM\/FY\/MKsAeQgv6Kd9KuU+lnXraWGwc1uIH\/XbMqeleQScmuIQEgPGCXsTbumSgpnMZTZQZeAJwCsbbNBdKPPArFvVvjFhLnU0dfrymtH8yQEVNftnDhNFj6MbuMIr5irlf8AM6zi36oR82FqOY0knKeCgclcBg8conitQ8qXAYQdZj4EfNftqsWIbHal5Tki0owFAd4214R\/cNH+nqBnPdbnCJreP6SXkmYy8uMo+L3HwgL0Dm0wV+\/h4ur6gYgB9YTXtOvcdAArTo\/IrzvNo86XqCaycKqEsM48CgHPdYObjTIwHCD02OsS173XlgcI2JAz9hMEYM+HBPOVrX8ZBfQq6zuQSNzFPRDuMbPAD1IOFzRXdLPUyHuNvxcZkzjfRr+EAmRhaQPvM\/4hqZoWBitYJfTvdbVF1yt3h0KXAcIdXHhAAdysWyKI7sYWG\/22VTqIUAtmnu9z0lKhB0qgmitNqowamj+6spDn8FmzcRdAu7K2wursMvELzZ3wvHP7xrEVf48OqY3US8Ii5G6Kl2JQYXA6ArUGHD7\/b714DVBTSNfmlTEKDEjkqTJluNFoMPZv7dHTddzHOFbAnPqHQXoDMmPW6a+mP1ihdbb2rnAvuV4oWmPZnNShaooS+V7vD+ocHpKt2NWZiewWjN8Z6P9zB2bQ1cD\/EGEtq7JRCB3Vl1+ePg+XDk8NWqIBipZUeJ8HJJY8x5DL5js4OLFTK+wmrGgMXhJ0Qq49ubsIoPCw0lrXogy\/rrQ+3taUtrFlc0eHh2crfCcqOTk1JTlJdIefr9cVGr3Ovd63u90XpmvS09kXslNyUrKKS4SftbX1jNHVm52dNHCFv7PFF6xzHQBCa+5hqGqfgsAk\/OnA8gfL\/otLTc3nLSSnr5\/ZDxFym1SpvaXqo7\/qKqjUwgNXzM\/3nB18YP0wfFm0b1+PBWtr8qNtnoWutIunKiIA2sxbX5y3cbL4Yk\/ZaZGNdN5aQAnhfdO8HSF3uEFnVWT1IbLI\/wdAtpq6QgFK1mM+lJAUQz6LA\/wETAihhIZYpc7g8p9VYyopCgSb3JcrGgpxSAmsaFkYG6Y7VdxqwIlC1yrFBc04KOOvr8wpM8sS63ffnkmfK+SH6Tk9oFJBdwcDwbujgkeMKgfVP250alRyNC1XXs0Na6t4bbo+qxzL683prS8cKhqVTx8IF\/YJ\/6EHYEvcuTETFU1zWcxjt4q0Ve7monIH5FwZ0rlpigp92xDVIgkju7ob1JjL5++FsaEHSmLnKvtCVb4ieXJIQjC95qBME5qvrPXwE9Z5jimHMkY1w3XFI0UjwWOHi4v6heHs7PQcWqmWeCB8Ltkz1yJ+eNmDBo3bZfQaiAPZO8QOut930auive\/2B1+fr\/BZ7JS1iW6Yf7pFW8DNB8WLZu\/KWlJLsi+k+4qzLIwbgjKctfbmOLaGdJ46rzO8haLeM+DTB7U839L\/l8h\/6US\/wxqr\/6gXUvaajGNmQVBJV22yGXY5HyIVT10ssY7Z\/IpRfwvUTkWqVoOq1am9remcnu9cD3s7xvGd0JTHmcRs5o8bnoAHCQIQQA4raKGECVbk8zktqaEbjUyzSowiLfrZZJ9lDrkSY3cdgkzaRJhMO+u4vCKqiJOuoFIqqKqRiurroLcZju+aZLHt7GbcEiuss8VhV8xUfjFnO+iYM+645JEP\/kaQJ2FHlBVRRRvH+EcZa0B8SaUYMFy0+BNJIZ0QaWWWU37L34fLWenarMu2CFqgvQjrLp4xdCgN7LGApJRwCBpM5FZce2bj94cPtEwfk162lH5AtVXp2PSEKIq6EalmAnevUXTLagSUI59d2KcaB2xg4KoTszDNs2SKsey5qJQIaXUcT5yyYnXrkosVpvRO3brVmvV9B\/1VfDyOfbJ2dr7agXd5mkWkA03VXbw7sCiokllsw2nRb3Q9EOyIVkA7vn7id+sJusPfZHwZUGjAxKxaPPi68ZHXJvJjkhxuRlYfJ6aafVt0KptIuIbJY0MkqzWiRjoqWKgkva82iA8LXWD\/E9E\/z7fLpwfnu1P0v811hc98VgrxrF3aO1H6bFavfA6rtPMgHDuCMYVBoxQvje6xYDqeb\/Z5yoJRL0MYodgrjIP6sn8JhrE3NwW4iRHwQiBWggkbFAXxviJix4m+Ji4CAiig7TY6CvXGoAHuZ5RJoFHG4LzGJjv9QvprNCRRkKDidAm\/JCSDnFTbEDGccJg3x9FmTlx5x0iMcDGCODSZsLtpFEclaJ4lCoNQLUFBOVLgXL3zHUPmQ8A1yOdq7DMfBwhH\/AWXKMyu6DuP+9NYWFAL8ANylCLfM6tskOGf04vSn0vnpxfmfzgEOuUHdSrz1gD5t60QvIA7RTJKydb9WEdyZOI6ZTOklHHy+jIl+EnvBwRnM+Cgp8a1PI6HMwkj37D\/uVX5+hB+vge7IC9Ihqx1lVcLJqOwYfHP\/JIpryDiFUgUADbY1RAE4YiCis1rmJ0nPMZMFi3AStZAeDli6mWLSZ\/1cxfn\/Mv0GY19mOaq5sp89GLit\/EIsyYVY\/sOT9t1PQYH\/PyvLfeBFPV4Wgdo0LLa0L3eeUqgbtoc6cKuOXhdVtKYBhcaaOkz4sUlhBBRdGUEo8LgCmQAlvkMLQV2uT922FfzgFqnoMrK1KsMKzMX6PLw0uaMOd9krzLjN3a+velv6r83\/fLly+NeXtPBudcmoKbyy8mLI3f77qCxmZFwRlAYIrAEmcAHmwLdP4QD7fHldqQuBSxjPpz21oVc61L1GMVFzGQbXql7zGEV9HxIUM\/s9HUXoxpNfZKnMzliIvnJuJ5jTY3olif5l13EKwcXQHQLJ4UedaTC39JywX47KxTi\/iT2KzAXGHJRF1zqcMHUjgde3g5jgkcf1A\/TcFSrBc3i4+Az6uRy5TnUZIQGd0lwt9\/qOWNGMsqP+HY2hRNUJwGAU5jVIgrfPk0rmTR6hqLe7pvu9jUD\/TwDWWgquYq8dsn5cIsyhpFHl033P+BHIag+MOPyOLyWmkLYG1gGwQHuQAKh6VsUsa8MvCPhKuXrXGzgtHd73xc8nt51njoTHwQX6DrFaCvt0CmUcrvoiSagFvI1LI2BZlsurETaqloxhd1LEcnPc+wkpV3LbvA7R4oi0dN6eqq01RPFfU1K4AMc6X7kwK9+HnTSFMtkAB1Fd0YyIvzT0YA746uhqkOT19jsTzV0KEAkK8\/SuyOWiQcPO2pl1Oae+Mz9jlVlLvTWoFgMYURi8U9DQ2Xt7dAxHqXCy3+8rjSWQ5ryHyf13GSfxonFTfpviZ2xLMUa2shS83U7XfDj\/Qnf0O2JSwgddF92FHtPGDQpxHr1f2uPV8i56p1rjFxJRY2aE6PSkAp2brXr1n1E8juzNWR1bAWR0j+7tW7zTrlE3Dfc7hA36FrckFpVvWl\/HWKhYvR3SxFjE+sYrXKiTA4Hnp26mMnKR4tZsliz3bEOx+xRehBmhvQ5WgRfEuoNywOirXl679GliWQPDc3ARn4tcUV+rrUC49HBcYT2g1CVnZ7KcWvyHNJ3pstZODDyHK+bAy1J5ED\/4ovZ99rDZqJF2GBIYpf21mB4kuBZ77g9cWU8UCq9GmAvddLOuLU7fSvS\/MjtHgPcGhaxgDtQk3IXh181eKXoark\/172IqrzdrBpo8iLsyvUvc6fMO6uBK6JkXwQwCVjnr9e1BSEO1EZgETHjRY6uAHLunFnKaMSs8XCsLjTK116NdqZsvhJbhKFD4XsIYIqtfCWKs\/wU\/FXnHTp\/U7Pf3YXyZH2+furqS7V3SrZuDU7xmcsD\/Xa5mmZn\/QsPyYGevtziLui8HCQcd5vhxf30lrAyxp3Xmzs0Vr+MoR5iN0neo7Er8hbw+H9eoayNKi9xOYsN9dupQ97BViqrO820SL6ap4VmjtpLShueAWBDlY\/VZ09fFPHBrTqvuevXdMJSIMq0mSJQ90OH1hYL3JJd0RGLmDcJnzxI0a79ZLncULF9YTWVk3sPtqyshG5W1dnVGDXHPQr8qcBl\/yhPs1+9ri8t\/uDK0l\/G1TnkiapmLTTUDGY4S++Flqcp8hFr2t\/XyKDYggCIEa0T6vDSCk8IeyzrxdSH2+c08+EL\/\/9jADiPbgLRaAZu8w8m9dyIllvVfx8tPA3wq8PZAnGP8hFPPqBMRdg5vRKjuO\/gQWD+v\/\/F\/QIXwMwEc5OrWgf9jFFnv3q3PPPGJ32Wq6SlKK\/SVagahVeqI13rzvDm9ViP35gmNp2xpzTjmcwLNsTChB69TPGDL9FEnbqvFUpXRiOF1FBPiCjV1NFIG50ctptR05ZZY5MdDrhm1LxVJ9wyYMwlN9zzxCsffIstoeETyloCqWUQLKUMlrNfV7U+a1l+c7u3jT3uaBd7u+ZpKdMVXWKmXFU6mbGBnAtXzSMkIadC60dnXHJfuUAC4vT4950zubr6xr137w8cmUfVcWGUD5mwGfo0fm9tnCA5JKXPLj1cqI3AklldDaYCSBnpE2uRyjxS6kiF19DJOTQDL3JL1AM23Ot2aEgpUAou0vuYRoaDGdg49hANx54yXgI+QRaBQtyhkeA009PD8fA8Ao\/IM+OROVSOkCfimfPEPIso4CR1huDD2xYGDgEJBQ0DC4cEKQr8IUZGWhVUUkV1WJNopq10pbauel+tNzaAcA0xq7k6\/EV4Vp4zXok+7fqcYZG1VH6KL0S4GPRLMQTxBvIpRdKECAg2QZPhmmF3MSJeaV6HX5Idya6leF1gW6F3ipRiSigN5QYqqKSK6qdX2+l9+BveX5D\/F2L4VcgKKGVQYV5TJ+SZ5kLRqSIGyykziuvnFvUzMMMvalwSFXhJAgVMVn12K216Bd3w74w0RuF2CGlHIDsW9QMvPPTY05um8+FNKvzCbqYngQcEiAgRYY4Yi6Cxg5ZWPilf4Ic\/AQQSRDB6QggljMiAsKz5n2baStd7tkK9q0x4ZlLCNf+Z1R+iuYr53b88SHDHK3n6sxfJ8NdP+6WCe\/rKPwk+4ENM+Ej5Y+rwiWEbPrXcnqE1wEBOK8ifl+oMHxspjEJ3kfPAwlOVT0qLct\/VCbKHj4nUdIrPscUeC3ud6LbuxL8H79CENsEavjKyNZo3P1B4ijwfIOD8Pi0Y9TPwPgk75vfUHRXlsJG1\/NLlkoR\/5\/BHRjZGYToC1kWtB9556L6nAi8dPh8OQL26ls9r6PLxusMyTRvnvEImZunEADXLQ9lQzn8DbgUjrmyYRtnuEN3GmHaEasdIdgJKOTShKodPDZ8eNQf2UUMcOEQexyGdE\/MD9DKZqujBAilVgz+HBj6QQzWwMwwfztklDjAc61ccSA+LfuKplvfx\/CfKZ60lRlzvIrypv02y76EyS9lQT0eZHi0wU4a0mHtNhpWr1wL3SN8of\/cwYCOwjWpwkM8OWWtM7I6o2zGlOw7YCRF7MITL57DZIYR2HSsfN1QBjQeDUix09B6bXB26yGZoYckvgZWmVnaxh0CqZkCxyjkXqbVrQ0Bj6d112ND6Atw4z1buluECyRjJYl1nluRgQjBdLiEIkhjts0+orK5JbfbyGw3UjoVlB\/Qvs3r7\/oQ5Qy5gsAo0MaQuXLMoOkvA0qWCo7HwmkGh5h9huj5YOHpC\/Mzymvx56gsZbWIYEYmFGQVfoQVmg8oW8L0Q0L5m+utS6OmDsJ1AC5tuoJv2fLJMyCmN+tIo5yBTo66kxvHpwh\/IHlEyDXCldzc6YOerAk8x0ZmpRWKPMNyUha8fT\/xQmYFBTYd+kEzZI04RFKmtpW+AapzDTnBwO7FIsHCqPfPUHeJF5QpGQoaskqIhfJDNyYUzGniWApMlHZPCdxMWnkfAkC2TpMxZiMYJwXpcSzmPxVsTkBApkKQ0LZrCxyEOMHChEI6x+namVy\/mhw6lvaiBtOWSijXMu0WZRMrQwaGLONr5a9Z8DTw6peRGph1TRW3NI2WmT0xZpJexx5TUavc2roQroJb1GCAqYd3fyh\/o+QcJEPzYRSxgAK8tyMAoQOq9CQHrqai\/ZusniGEVKCU04l3havifSYAgiv3Spfx\/VgZaAKhCA1EqKrg\/OGxsVxtYOMgRkq2q7hcgQbFl0foNpBKTB9VJQFgU3rjwlisrHwsRIUlIBDiluxALV9aVd53bh8SHYJIEtotUyNYSX3S\/8wYYrdBvSh\/VWdCAYv3WyWkIi+4UMnurD5sHp88IhdEkT8e3dL5gCXV2wO2OYjpYwBKU6TCkYMhL8jfLlHF5LrBDOn4Uk6XywZG1pEc5e7fF6f6Bsigpowunh8ipjMHg54xLcWgcsYFOONEAN4pS6kMiwipfa6Fgu7F1SzEY19CEkLFqaYkNlLew1Orsj7hJkYjpJxJSwutz6gTEs2tjAfEwUurWzuB4oHrlrBrUC9BMd\/DLSbk99CXcvtLsEh7lDilkEcm0NlJxpOU++SuWC1tXac0cyzQeJhWp3frMqN4Ci\/NalTkfJnepWkEMmguUysJy6aiT42lC6FIi7dIjyrGX8Mcgf\/jXU3dQz7HSz1VHfrHm0m+OK8SVfcW2i9+MsXB4fgjmVx6TW\/9E97xdofYzqIy7KFAd11n2XxzQnPSkoyWJXHjSSiLlCHqqHaOjr9gJnIu1CJoDgCOrP1M1pQWHQgxjO02yQqlraxxUxWtxh5qDxdCrIJRIpeS1bp5m0LN0wlIY1KGv22zmRN+OBLmbwCEea2RpmLO74rjlVNYdr6I\/wZbXXgK+FLg73+6W\/\/3soX\/cz1wlvjjx51f1J3FnT4UGkL5kK\/zl5zgebxzmvRI4PsCHcue4\/s3UnApMs\/C2odJmbMxrGw5BoVpm5hRTYhO1hpFnJ4BAVRXmIEH81HJi9srQTFoh3TMT0jIeQRQCtPRacJurGFmVW1rLuH47KiaplbV7fwnZ00djJs6rcz\/0e6BKmVQXRBsrRGZhHc6Z2yVW4wgEN2pR7uQHD76Nf+EbRx77yi0jD+1at+G2WiW\/tVZmYrUBSD5cAFTbEDXu2JX3gS2ixzxzbGoK9lFqaAtMOO2FSAGyHTpryy0LKRGxSrqTOxoiYBmxC1ASMUeeK8ZhjwNS\/Pm\/a2LlCQCmIHCrg\/YSHdAJdPVhxtMdPmibL7beqypf2jTyLS0dNZS4aT8wD0gtk4QlZyoGfQ4laNVWNEJkdCduMp9+GJ2tu46F7lEylXgDjR+74fIvq8pk9aYoISDYbCuoJgYh\/PmSBOkUDAoVKQOlsokCFc9zjEjhYBdfShJcu\/\/\/gW5bdV5P6GvdsunS14OdGM5SMU4QUnFQznL8WYQ\/6MJYqSD3MjNVVdVKE0j9SbqolVXuXQ5w40RgBLsaGM291n1X5l73WBJmcM4RZ8woN3VwlAeZ1JoAwj2YyoDSlrWFizfusRR2IOrYYQNCFNX+WS\/40Awc0fRYXU+jBb5kST\/KgWS8XvWpA9cTEJCri1AT5zKb98Mmfapk9HPbgrpoh2MN7ekxG4a+rg6mRKcsqQ\/4woCO9AAZECS4yTwoVVnOYrov\/A\/C2W7dXQM8CxRUNnMJK1zqf3HXWmVApQSvRx5DhiX\/XXXLqUAgbUcjvWCCGdaldztud8IRnW0fXcb3fzBODnacDaOUzcVJ66aFvcJQ\/iaAUeypmrLnJvemzJXC3RRgK8vttgp+dZOycu8MkuFaNjjCf6hWn\/VWjPSLCzuJ9hVeG16LKSw+gClbUIOCeRWPAMKu1UULehYIrO7JTYTBZuKAuZCuoRq7xrTjGsMrh0D+qxh8lWp9hlg1npeQRIQdQBRRwwVwb77oD4Kpk+Xi4QGXCiW6OFIdQi5lDlO7EOue5XvHdpiUZhmUDO6b8oLUtZUOMIzquEEfPEiK6LPn61NHAt8QGXgXQzl0AZJjwy8CJdWer5YtH5lG6Rd79WY1PkTgGZu7wNaV9OHXQe6HVm21bLW+zJzmrFA+bsqXdG8D08qp1j5lIGVKuWqfLHViiWD41zrgPiUY0LY4tD617siB9fo\/6F5gHdfq6Ha9JWn548RSdktSksf8LW+cS8Iy9Bq2pe8PJZCuLM48b65VPbNy\/ICce0+YEYvcdKzCL1JN9ULO5ZAL\/m0lwG2p2GYnrYCC2V0jkd3hOdlHe+DExDYn9C\/3srPbdD5pPQmMwivKsbrMwnLYmgYuLrTRGv911mLP\/dZl7BuYFtC5vKxoxbB7QSbn7+vtJU+vZteWOTa8EmBiRHB+v3Yk+eCr+dwKE9xTMi\/fzYz49a55nD2VqBmsDG2BhWLK6lWHjIY6tbAAGN6zrTCW+wUAiNdYeecJro4Lcu1auHur+wGvjS3hPgcCsQ+FhwcGkwWa88Ez+zeZ4MKwCllHhaO73PsIe7CGd57YY+qO3yR3VtN1BQIYUIebM\/KUbuc9i+FljDy5vCfTWr3QHQmtkhHn\/WaS2IQHZiEGK+UAQw5mt2zaqIzFzlp4vljdDFG4qdbnntadDo3H4M3aa9MkWw4yengDx8AFQZPUSVk\/LtVgyb33voEIMxEYOH95sa12CCGCGBJIYQNb2EHGmYtGXPlSCGQQIkaadBksMmXJliNXnnyFihRrqpnmOuuiq26666GnXnrro69+L8BqtnrrNWvV5hdb7dOrT7\/9Bhww6qBDjjrhpHMubmKTu7bZ\/bF7m9v8\/trTPdvL\/dunPrfYUj\/D+SvnSXv1iqMlpWXlFb3ZfmWsuz2s3+OeJDrpNNmwUbpxCSWVXEqppfVF6tLLKKuiSiqtsY466220sX7cb\/tjfw2U2YCdAsA+551ysefGq+qBeBGjRAGXj5d2FPK+JpUCXagV68Vf9TCtWtOpN701ZmAwo6YHTdaZKyjWKM2TWIb3ZvHxtswYeiFIwC+KxH6dLQSwgxMhnL0WoTFfYii0SKDkz+QAGs60tFknNC1M+PQRItkhSjx7CVLZIE0+BwVqYhSaTJE5Km5X05co56RCLWdNNeeihU4a6YzYVRc9NNazyU0v\/bjrbxAPg0eTiyHG8TTeBL4mjtjLJNN5m2FyM81HXSw3y2K+lvy4wlIrKa2yhr+1dlHZbQ+1ffbzc2CYj4Pm53Dxc8Rp6t4zrgpwDe5LFnl5802ebrkr0D0PNfFITONxrPXEUzrPYr3n3vH0Ptb54BNPn2ODL34w+mn730x++SfIf2IIDjwEVZBf4ReU7BASDi3P2EOFxVHhcVVEPBUZX0UlUNEJVUwiFZu5ikus4mulEmqtEmurkmo3KIVKpyXnnTN1EWWu25ZS665HafUcKqleg9LJFSIKMQpxKMSl03jbxpTRWOOzNAEqs4kqq0lFDZNNTlOgUpqqspumcppeRJhhRpoJlVKdym2Wymt2EWGOOWkuVH4HVEEHBxVSOBRayKVTOrpAMNKMmyskKPmHAKElqhonj8UsXuosel7QhEJFJWLCJQ17ZDjgiBNROBNtsuUEQkoSbsJlHR4NEcLHhXAiLHx5WCTpmgJ+SkIvehJ40ZvhpIOHABHhxl8+I6YbEsRIaISUGGzMdskFn2hmtzFLSM7AlcZYSMUNdzzwxAvvAqlY5SlORSXqoUBpKU\/tiy33G5YOxM6S6ophKkBNyiyuKqjk+iu\/6pR\/q1VADSq+4SqhkcMSaUggTdBgRoOZWLTo0KIjFj0G9BgwYpoFdQEqoyMquMsqpKvDQulJGLK2+NfjeXxS9xJMqdnlpGsBxC1ylyt3Xnwo+XnF\/j8GHoSQwAb2HLlozIM3Xyr+mjz+zgEfIkhhCwdOGnHjSU5Bzd4vtN8Ht8j+tcYVrz3lnQEUiCEb+uYnExRN4ue0\/8+dc5RNafkfNuOSow7Zbu9colEfBmVHvC8OBRrHlH7dh38O0Xxg6WD158jNjcD27N7PWSJChzmZPfe5+68x3GXeHl6awnPe2r+XQeHr\/rd7Maj719TUhNj2nb5gWHMD5Bt1ADPoezuIc2PiFkfWvObVpsBNjo6L4pI4P24fF8Yd4rK4Y1zwkDeb+jrTCBYtWaZClVrooIcBRphghvmWW2+7\/Y47h2CAwwfnKQyIFhNms3XsDHYre4F5dSTZs6FsJTvsaUfEPy6cEJcZt5olA9uBbce0iXDFEReCOTJnxuXCvkp9DTHUMMPFW6tsU+tMnQ31NrHrDHYUzZETZy4SJEqSLMVCN1xz0y3zc36NKRlH7rLYIkstwzfrJ07Fq1KtRq2mmmmuhZZnicTj34wxCpUqkS9PsSK5CkAC1n0zqqhZs2FLQ8uOjj1IwDbfjBYkpCytYEVGTkEJEiplxKhcRcRJywlnqZmxqlnNqE5plp+UjiR47dXCZajUyWxMXI6g8zFa7az8cdSfoBPPdkDGlRdl02i20XRhFKO\/jnHiFhe4wAUu5PsrGFubc1Dik4CEJCIxSUhKNmRLzfGb4hEQmSEho6CiRWxKI4XOqNOfZXbuGJtftFrvm8X1MIAUb6BjteblgoUW0G6G2+TaEMQm5cwgVKJs5VrpZpBx6iy10V4nXflbHcKctiW3gr4zDzyKFq+MiUVqYyQoFESijZWoVDCpNs5KJUJYauPVyhdqhTZBU3nCWGkTNVMsnEybpLkiEeTaZC3kiqTQpmipQBRlsVdM1puVsz6sL6tglayKVXf5zSYsnR5WTlWz8unlZerSxeHAxejfMhNMNMmsQ\/0u78k+I9ACCxLTIouToI02ZhrNky60kF5zbcwNt5Ii80FYURwvOcSZaZNJ1zEc8qccNjOD5EHJB2pinyTQkSYI0jNSwvW1gJw+CCElUSLphH3hIf4CIwBYCMbIVKsWQ\/sgedEzzgjrhw4uKIs6s1GZEs9HmqFvQksrqjY4pcia1WJyWl7ry4ghUgjDMlfD7Yj0dEfkiZT\/AqYjAWN6HfEgZOOmNMCymVQdBcgPN+E11I5awb35vR578Wx+l707OU4vO\/t1Aab7BuHN7D9J\/qsaki\/tHn4R7uJNp4Xnckc4oY14PPizgV6EUv9mnuZ\/3UczV+b+qrdr1+z+PfxsZPsz14k6bcyAFRu2dKEvY1kvR1VkLXRXtaZrjhn\/in\/Nv+WS62576qNr3bJf\/5v9H4AN5AwiLck0v+o6mrk8t6KUG9L+xHWkShMe9Po+ezDkLm+q0BTV4U1fDVsARU5CaKzGS4COf089+pupZ4IZU0ZvTODhA37y3B82PYx4CGr40fAGaPg3rGk40jDQ0G39Yv0INNysm6391kHA+gGsP+sQa7w1BLi38RkIQCvAsIgBdnwuBHZlrk1iBubBNIjx3PMkmB7m3iTbwi\/twZfwof2WmpLm6qC7TpbY5oAedTnUyg7tvJbOemmrp\/VWWa2rg9FwKd9ZYwpKmTsyTIQoCRJRrlCxEhWaajFIkgdIcrWrrT2\/Xm+PG6LYGZuvstYOu+0bGEkWmp\/6ieeDov3XzyH9rdDRYku9scxhpzx0RLkJNvqQk556a2drr\/2ed07owqpKhYkypLLoFn+gtl4CHkRtSpfL9T+NvQTRMTBykSpLOot8mW0uV1sttdZGb0UeGWmo4cYZYYzxplpotnnm22y9jTblVaddUO+cq85nZZe98cIrr\/12w18CjMLBMEKMZm8yR9M4mc7BFI3M5KqOj0XczeFtAV+LeZhLbTmVZfyt5GeFJtYItFqo7YJtpbdBiG1M1tHaItwukfbYK9p+sQ6KcUCcQ+IdluSYFCclO+E4s1NyXJLhrGwXFbim1G3l7ipzR6X7ajTwd6LKg2Ha7\/PNPdPMU5180t47rbzU0UftvNXBB91808cffQ0IGBTDwAiPiTGWDSbIc0WthwZ7nwYP3PfIc8+88KQefujqq+6+6+dfRhtlqmmmOOqYNiKt1nMuOO+sPTbZZ7cN1sSnH7dYhO+ZSwj+oMCDXgdjys4\/ELURDbSWzL2bVJnaGGqk4UYYZ4ypZltIVcm0zSBBrYdwznn1xSPZQI56W1\/LntLGiR7lZOnT7nloS1Lk9nrI2EYsg3WrPXbxNCxYa+LWeJfTTUcb7bbAcmvbut5+6G9KkE+rcCltppthpav9Jb70Rc3f4JBtzzFdzDTF9rjwxOBFXpl6UFWaQFY9SqDC0uvS4IWnxAlY7XLPPOhxNmzi73+6rMY0+g+Cw3kRgHOvvUMB4Plh6e+fE3+8c0N2LIADBiwJoNEl1mILTNnrKKPPHZxqCxzekkVmYdfbfp551x2raiczbSrjxsE8io91+hOvacwXijW7msgE0m27lwUFX8Inv864BVUnhOe+qcohxRGgbFKEPecz5VtPhYSX4ZNT3ufC\/7Y51x0GloadXbGkqiBo3kjKmMzcrrSKXzDZBWQ8KYC55x7RNHHI\/JlpIzdkvdAmuarUX7ozVU57z0697bCpWw34+MgclpLL4pLtRUV7NgDIE9glAPBs63N6aHP\/MsWrTcJW1+hYK\/OCWMm6NCxqttxdcu6+L333lVrGVaCgtoNBi1C3sPaL8IPwBetX3vf8yoHV57OUtEBSvWOzrDCp1uKFOK9ZlIyeIfJm8Xdece6OeTbhDbst\/WL2KeX5nj+w7OaLPHwHw+Yq3yFZbrcty2qB5WDAdtWl833FkposNM3CAJOpTDCnxD3HBkA7IE0jWVqnrp+U3Ge+RZ\/36FK6uaZ8alXKEa8llbxatSmonC3RJLt5frbG3M877y9T2D\/ZT5zXqZrL22tByRdwQq1SlCjBpAept2uUmU42\/O7PWPDGT7OaCrYmjx0ptoGC11vc9hS6rty2udgdyzJj3rtQxI4U0toC\/IeynPzLT1lejcvOr8r0OebZmvyrSOlycSCou9mBFaQCNgsb9oxq48UHGULSSAIJJNnEQmpIEGg1oebMHWCPDFtgPO+Me4esM0Hg4Xc1cOUHp9k3fiGl\/4XEmro8ZQCoss+jivTlp6z7pVVolNKjzLlIfcvcAstNEQJfhaCuaqiqsN7VV1Rzxb5K8VbC+paQEBbfxG1rKu8k+CVlNSkWm6KaMlhl+M7st01LLLmxFcWQXkbKfFMtoThLPCxtlG5cRP6FpymqiiGh+sSMJeS9i6WtvLQ+SNnxMlaNZfohvUNp4vocMFNOGWpMVW3BVRXptVDPhPtE3buieltyzYqEbv7u1SHFxz2kw2fLdtRtLQucqNDtTLmWIncqr+lqZndTF5x5htLrU0SXSj0p3Ps9HvVK26UaBJE5dPU8V9ykpawszV6nfETm12f6EUrdxirWJsf5pu782YuT0VTs950p8tYX5K\/iuCi5+EKmzXdphc9QzFnmcw6FzKXwExa\/j5eUsW\/kK00RlaP6wbclCf2mnCjNiLdYFOLjDQYasRBzDgzPUKgEHMg3WzznVEKedeVecG4dyKvHRain9JoNjcyl\/SnaWHSZ6UvPA4DcHA9X+BJKzVLw0ori7v6eZ+CAk3Podafw\/wfx6x8AYvtvEf0axr8soV9nfXNOvngx0lEGKFM73FYJ0hVlRfvIYKycAyGafp4gydASRRK8cn0OgicCEURMFpXgUrQyOZEiObByqFTawuwaOFfZJyFKHD3AYKmNBaxspxnWCp2xnDTbo6UrvtfUjjcYL9jOnlfcZ8\/b2mNnezjbw6M9hL64Pg+Ur0kER3kcJSGK0JK0BaOP7YqrWSYrXdZWvlDPJPRmaCUeTdIbqWS3SmyRX43tSi51XuMl+qcJpwmnCQ8Tvg9ECkYBTK2LbNE8Q7NknGXX4i0YCESGKsJJk3qGxmvjdwybOrOMVtrw9VhEFqpU8bVTszoaHmigyETBWjltpMMZ\/bjH7TGdx3iPDSsfzNVnMCOzipsf5fbY0U+GYwSOEXBkiwJpWU3MlBbi5ef9eviaxjgFap5hy3JMfFcwC+S4o20Kme63aTXN9M7leWHB64WIMdS6Ws9QLM7RWbayMrtw1rV8sLd6G0ZA3AYMhAhJWMYsaz7LcxBKIgI3IcQcemDfL0aMxChaq6XVsc5Sn5XVmtcJaAZLrBJr5JJtleCxqNCMGXm7oMyquNqpWR0FfElay6AszcEQ0RMCk8EScyUjW3mVo52DNJ9Vm70Tb2QYrJ6j42uhXpshizqZXyVdB8GtyOaTX+\/IGM7e4ewdHr1DffhiERVUw1DlLLla1Zrng4GezFCNbC\/0Y5BEVHECvUXSxzEVMFbjjKwsZwFFgtSgFI0ks5XtuUgZyjjgGLVawRJaFxzpe9gOuUW5ebR7AYD7g4BI\/1Ke0u4w3Di7NkfNteZG5pS55+aOzb00P1QOPHdopPQLZk3fJwYuVX5zYo+CGFdq+6wiqziNaY3jWr5H7DDerz8h75BmI4fIIcsh23RtsD96\/wAiilD1WE0LCgoaAAABlwo0UAJn4JBZ6mpV6\/LVG\/Rj7SwoKGhwiIrhOIEMK2ggByhQgUsCGnz3Plnb2ifH6TAtSUVVLUQjOpah44zXj9w+uXddB8HizgjzpYOh3jh9wukTTp\/w8AmvTyNSqBw31shIBQVrzWk7OqiP+usyEMNxzdhCmp27CGuTGGqAWdk39TQe998sECpOk0iUo0WMhlNZ6q34rGt5qNZzaxibS\/rj85lQJqxEtWLTeAnGq46QSJxitBwNspilvla15vn0XQKSwYlQ0qSMQXJaxR6LCs2aUbcLGo\/YQr3GvAQA40tWwPliKE\/CCSeccDZ1nnc3OOamF3q3\/OGxDSr43+Bn0T+Sh0avkl0v7g+Byg6EWy6HX0R+Rp24a44LCMeMqVrIGlg617p0xnKydNn3eHZ2i95oYnYAwrhXbkhU0pBGnJLmbTV2atityI20F1PUStZQa3mL1oiIElWPLURWCCGEEEIIIYQQHP2XjLgKta3izXSYIVCqMcZmbI6rQ+ESSSSRbHjX0IabFnqHNioBNAgTJ0lqo1yW5T\/Xi9lzEE4nEiKIHi4mUNOkJsdStNyV404Ie4xEDbCCLLvGty5NUqSIxEgxCZK7qZahIluoIWYGYDXNGLFoXJzdXse1TnRfvAsGbir0JjaIQBosRTzJjFhyvMrAc+cDBEIgskQoPVrMoDIpm7yVoroL4SaE87HlN4VSYkpKjeFsx9LFY0mUasqp9k7ND0prOa1MK9Ue85zofl4XbAlig0IUSqKezX61aI9B1BALay04xvdU7cZO5KUjPoR6oNLa4WoWlh3lgQu1mvEN64jz7ZD8RBNNNNFseI+hr9z0bqxhTbtPC+hjlNsODR6K1iS7RkPZei82rjsfDkC4LfIQEespxGrUQCpP3lIADrXuusBtGVCE94xjtatYZylK25WzSZx5tvPS9freNLtyix7pYjwgGYpVcbhdrnwwEJQGZDzb1l1iXesQHaMjdbTuiPI9e2Cv73tDD+iqxt0leNKEskqbaE8+u\/+MbR+JURoa\/MnTfpAnvRYRLJRRoXmjjuO0hS8tKAubFkYWMgvfWhwklhfYsdHW4mMx58lgL9rnSghmakCrSIIlAUpKW1qpq7n1gGNVDKYDXNW4u4SWdEwJafdiBjgqWEV+5RmPQcFUY5dUx9qxAxfjWJqnDjwxz2RD8K37iulMq8RYK9I+4f0R8TUEo\/KEVaFVCVqXrkO+uqbQI4P+FRpYkcGVmZHMoZS3p6swC3GZaRXhDQ53i9CSNimXWor2dbokuBGxpBlGNtmtEjxX4jALFUeClJwWWxFpun7uYTZiFmqKqfBeJHuE6oA2SjdhtBw7BF2xxBJLLMuy68hcV7Yf1xAqsodK0e0wEAfGuyHzirtn5cptU+tx9wkt6Yoy12K01zrKhZ7JpSIyks7oZmXbf3fYXGZZfUQ2aj3BjQ9KTqjCPk8+OsnnqbNTnJ3i7BSPTlHnPi89ukRd3mBagKR2uMcEQ0opmHZQhhNBSe+1z0EwYUQpRsWq44J4O\/Bd1teU9dXU+lxvbchPGrP8JDCrX\/Mr61cefs3l49e25rU8z\/uUZ3gH\/HEtupUuZrUJw6JawnsGnitRmIkBoWLGB7d5Ka\/kMX5vD4R32lwLG14IbHjpYUMa2oCGUAovX8OGHGTg\/um0wsLChvttWkMWMnAUUj2s4X3RPN\/CwlyTvb2uRxwPtamivKHDLHD\/kAjFaf1P29aJGbJcR\/w6CDe4MSEYG0m7fqGubzFKTn2LGn2EVxHe0AYc7tZIrXeqP4KiWyIpsUY3K9tzJQeTkCilpoGhpspmMbcNanO3m0drG5kNYWNmc0RpEdpJul6WSZghQklTM7aSXS+6c8xMmj\/4\/tiMSVOe9\/9tq+amQi9bsiVbsiVbsiVbsiVb1pZHW14h7ilSTVG0ve7cjB\/B7zX1dTsDc5qO4HVlL5JNqZ5i5CzG9+yQKa07or5Hd0jc3bd4TKmI8QFq8ULFFhUiJgpF66JIBMUDlV\/nBd3qJz0GBUPdxRcf\/tjHci7OFi+NuC2mK9bi3JAEvlIEHioee4FKW7hHkTFFaK1ouzo5g8cZxFY\/PFe+Sttyt+IyQkUiFEyrGSrWOM34kWs8kLowrcctWnp5JVZyYTIUIkiI3OjSqYVrFBa7RQgnGk+suUiaC6NRcxGURsL+xbRSSmkw9jOtEQEBcgF8mL2Qb6calqJrTDmvDdDj7o370YqlAih2FE5hlO9WOX7KwmsFVb6lsjtrhVS0yv\/acLSdN\/SAU+twnxIs6YgSdO2bscH8OrgJfEADE5BABGFgAhegIA+qQIa9vW\/8irAyV9g09UUiMEqRCEV2bTk1kyFCyxBCCCGEEBbh7V60JwEWRyMqKaEUXQumAjN7bFPRTqioomaybmUTt9\/SU2NuKKZr5Rx+xRE8EqPormVTnpmYxKyYM\/31zI7UUGjX4nmtoWLNUEJZlMdk4COZlWK3vtW01dI73zyvSpNKOJOSlJXyNos4gFrHLDtv71R0JmMb7lofJBw5IRhYTQ19ZzKSkYxN2yQ\/o+T3o\/KWy+d3uZlajs3RxTCUjawU1bXkvpoptXRgE1MBugp8c+7vXP74cod6gzlnQA5zsolLTSG6+oG\/DYIb4tAz21HucMcERtqjnNPeMyxLchRkBMBAi5aSqmflVJGGsU0l14hvkX03bq6Rl6Qg2oWIS8yRz\/Hwqe0Pj1GklAJpJy70\/HHJFw9wXEBQpBPKhLbNkhwnIKJQkvVsfl3lpZWnf994kn5roylPXX3ePo52YADCrUVU0jvKHu0+o4oNoFIwMwCiA8lFz8bjlwq7W1StIvZRA8yUITm2I3MdhXEvCTlH3yJRROyitrzTS5g5wBhTlo3LPFCoFxlAEZXIjJbsVrHrIMQr6pri2H8IJkvw2yfrhLenERDKYDBAGYAl412hHhGIDL2iJqmV3NULZRCmnDan5JScsk75bbkkb4cRMRTGVABkpCzhQgfrEq8JBul7BdygTrSkSRnHklMvyN8GAUwRboZkSIZkyBrydhTBYJZArqZiXGzgRPe5UJVLiQehhR4Q0AzzRKWkkaHP8hyEqkVaU7ubERmREf8YMVkjflv\/QzNw3A7DAdxrdqp5MyZjMiZj1hin7TAQqHqNzTPKVN2bKZmSKZmypjhvhwFAosaXyFPvmzmZkzmZkzn\/mDP47cU\/FszNrJmDQWncVCMjJZRai9COdRRLCoSIJrWMeLJbJZ4y38Nc73gdgaAYLtQoSIBC02bauHfkHP6o9zN+WPar4bFZjh+QvS8uIwAUxA00hqSAEmth2gcdKbDjrGvZlnfWtFq+VhEfQj3D7AOOkXEgVK++d\/zaZh\/uwViKrybiXagnmD3AMGIOgKre42PHuucui7tHWMS2quVUOmocobWHHMpG1rF\/eZ1FhEOtVEzt1KyOqkncucY8coCSaC1omz\/vxF1EGirEAFxGiqKqlqHNWVRAxhIt19y9auzddkfzJ2sd9Frz25\/n85ovSjaubd7pbbT7wiFSRoFdG69t6un2dNtwyYhbB+3eRzGChNIq0hu8Wo\/7QDCRvZRAK6M902EinjQjY0p2q6Qppw4SJEiQIBsrNk1w+meP\/U1aPfjXxv9jAkIu+gxwy+lfFiyyUp0gRaQzCGB2DnxkfebGzoMdOjkfEgx0AXTGuBC22OkiiHHcxQh1wSVwCdKUWuJcp1zRukdu5gTX2pzBllY6B4ltz7nvDr86D17DfOa3XIDKBboQHlvnIjit18XosJ0ugeb4eVjSVJjQNzbJ\/Vomfi9rEB2vMZB3xUG6\/g\/gFDAksXjmHf1cTn+l\/p8Dgs\/exj9p30iFGaE267ueFOC7n\/g\/SlL4myB81J84ks5Rmt1XN23Pg1u5Bzl\/zQVc0HRWjjCdvaJZ6y1n1lknbPVrSXFn0bwQmZ82iY5cgg7F8jDY\/SBaLtJS9DLRgvLO1lIfTWm+lsmeOuh+dJNHMmYS6ci\/KDJl0z7CjMVppLprG1onVYOt2xyF1A3bZsKNyR66CWmBHZ+ivd+hzlqh4xywABmOvCionrSOOutVFqlv3srBjbpnuoik\/yq1ShJ1v3qY6NjEOVjP6P8OJgAAAA==) format(\"woff2\")}\n@font-face{font-family:\"Nexa\";font-style:normal;font-weight:700;font-display:swap;src:url(data:font\/woff2;base64,d09GMk9UVE8AAETcAAsAAAAAdoAAAESPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe9cG8QyBmAAhkIBNgIkA4cgE59SBAYFiBcHIBu4dQdwhyvCD+WuWo5nrPRKNOGOgvMgVXdgYERUkOqb\/\/\/PyQ0ZImug2nr\/ISoFK2QZCXVXBsOSQ8109y2c7q4nlqtPPDjBECSSgolt5iCij4KDMNTUMGakIN9JEmJa8D75aoJwb\/ctOhAz\/y6fK16aP6pDVbSFjnLsUERBC3XlzMp\/j2d\/bX8GjvNRc3n++XXQuW9mIYWkTIbmyMy0TU5ShkpgaGQo\/MPjnP1LvG2a1JMqqUGhxaSI+KxTRIf4GDZROSbKdtxtn4n6n\/ip9nxHZFv\/7r+bZV\/t\/\/vvMeLBzvvTBFPEkEgGYhSMGMBANixiRDHCasYQCelQogmRbIIlJMOiGCKoXMar2Su8jypOxT2i7GBQ1qJ1ZpJZw9951AuMoDwSYxAIhFcoLCmA\/wCwjGYZB6illuLWPiCwnwDvnpgCNU7NwT9FS+32Vt195T3cSW\/ldsooycrJAXLCDjFrgqQdyeYAKkDoMzAnbJJeb\/5s\/HSlXwBBALFUZtbK2\/7bSlnMqvU\/rh7MYV8y+ddYYX4s1gzYBTPawiYuDtS3+nnb7BNP9n86kkdHQzswDNAiDRII4g3Wb364rB8uezst\/1AXe1d3shfuSnTYeJZIIBRzYn\/+dTPxpGK\/YuGUg5NKoGqchWUrLGtf5yxbVeOC50ySagAyOwLAdu9DKPoQN7n\/m6r0vsfrZUuoCatZzBoEy5hPl3W+DKlTJ2ctZW25a9JCKHfKnbI7bHe7KHN0AI5SmKCOCSAqz\/OtfWZzE5Y\/QqXkyBEyMjrONAy91LAiGVUBVAvUHWC9ePzaFQ7YASq5zq+9P6ctoBInjCpQfNXQj+P5wdCxc8uENuuHh9rvX+3fOSE6E6G+kM+7vRvcHGECZfcmtoBeAMrWdWo8P9QJidcF2ennjtH5gAcgXI2E\/42eX50r9TYFfURERERatB5iP74b9Ul0+W977zV8RIIVsUHCEKy0s5fY64gdaAEokCD3u7PkFCvFnRWbsCT5i\/PIOf7vPzjjX50x7xR1jNKVPz7\/w89g2L+W\/2csycJPUiggAuEkJf1s7PRbbQ4nFZ4xp44P6K4J6Xmbrcybfzu3gaKOirbGt7IPrTtr6hs7\/lsBIda1\/pacipXvAq9SQK+EaGlo41ttiELC4ZrKn7mjDC\/nVdR392fmnEHALrZSqhoB4AAGoAACwIAYYABt8Nk8KkzIXnbQzYwJy6TlU8YM2XymZSazaxll6rOQ5Vz2nqADNKAv0b0eY7oO7bo0pc8ZEy0mAQnUmKRNo3lMsY4X6lQp10+lBcyg1hp2soWNbGcPvdbSqsUsVrOETgP5hEGGOJBjnOJ4TnOS3Vxwtouuu7KbrrnhI+653SP3e+yZJ3vuqTde9nZHOVQfs5\/5rGcVEjYx2Uou2cwGtvEp\/2MRS7llBV8GQRGExKZ5QWeiq7j+rP80Xb9b5SyPcpnbPK8HoY9n4pTN3OlOTX465efFydgPADmaEmbxxv8RsP5yoVk+l\/wnjjlQ44pN2rS629rd\/x9FMdT4TVvrHg3w3aP5sf+huxA68iq4Dl3lV+X17Y67u+4p99n7\/v2vckv2\/UHzw6Uf8n949Z9\/\/RXx71+LI42P8d+ZJV81eOLgyYP9By8dnDD45uAX2\/Rt86eyEDib7DapK30fz3TImCGrhlwcoitJbCG+9Y++P8b\/eOnHsh9fbatIYGY6zHSn6RnT39V9zaaZ2Zu5m8Wb3TS799\/2\/z4pB6lXqdeqt6sPqPPU5eqmcmesFkYI1sIx4WlsQKZbrvuk+1P3r16vD9CP1a\/UXzcwg8PQavjYcM\/w1EPh8e6R4THSo8Jjvke9xxOPfh7m3\/hAPod38SX8PL6Ir+SbeD2vb0MMxn+kVFtMsLCxmGex2uK8RU3v5t5fekum2NLGcqllomWOZZFlhaW+z4c+ffX\/thKtbKxcrMKtNljtsjpslWVVYtVV31P\/l+WIoZeGDRk2aVjMsJRhv\/SVpZs8PGG4wWuHEXNHFIz8V4bgkbqs8J9xun\/OJO0o1XcjFP6ZlNuEUtYgzaMrtHjibnE1J6hM0pWiiSX4py63L94XIiUeuEfxTe+bocFhF0JPBx832zQy40DxnvQdZnGRD1blF17ap1t2cZFZRK7zqcAkxcmM9lOXtbW33Wp78+amk5NjqNNUpuqtAYxMZLtQzb7XADc7lQM8dHq9Tv1uHWxt7RFsx8iuGx53uBqlnfHVAlo63xFLrMALWU6ZF7dgHcOdov80OB2QglKMIDBUiYQs9qGO9HSFNt\/wdk2PyPfOK41yO8ZQbOH98LgG8TEFNU8lr2tSw05EsvmEbLBTnWL8XbcqKHVo27KAthilmc4df+1s2\/7bCmSDqMyOLkgqKFSrfGoY2YL9iWw\/Ivn9h4D9IPQ7vfsgCnfW4NUtP7tdQkGLd1GJRME+CBHkRzcG4VMu+arKlCphuFGZkesXz52b9\/jGzeo+EfeU7m\/BBQlOCYr5K4MWT77cwa4nF9z7QxtdG9QxeZM7Q6mFvULqr4mOSSrj8eRdYQH5Lrp4kb8xyG1TqJuPmhLaUHI2+saPl2Q8uc34jYmz0+\/vrBaQdc0SCq8zFWQ7gUIpnCohIGEFrmIL7Ea3\/Hf0UYWBDk\/90h7bK9POKJ5LvrsRyXuIPIHYMkXC34zmu8Te+19ucFXbzoicNMP6emOsSMKzygneMhL0AbOxKHe27VcjSIYjtgBtGZMV8Bp5Pi9OT7U53axuX5D5su3xutBsUXWzQ4NaBGRC4pPI0NUB7cjHEBax3DalLJOSBAtsJ9IaqO1m1BrAZa\/G8V+3YD\/5Qcw0X93kIfLtqDXUtm03OCQldUyrfAi5DGU2Fl1GWRtGzDd04bTpoPkL1Vw\/77TLpSWgDspf\/sxLjB9iFQs7rkXPKO3xIfBrYcNaZzWy1gjPH7XEkLRfE9V0\/h2SWqhV3jxAI9uLpjxyRkaA9\/kQLfntuoXg\/b9EU36\/ziQecKiuP6jnBmhkNQ\/jb6p7Xmevge5SH7UiIIrZqHkVvcTBmVtaF6OPSjFnvgmfM0Bf6R8F66Vgz6\/TaZuLGoWG2Ql23l5JQTEsKMY\/Mpn0fxuL3GCjg6dycy6K9z9G9TNoLaPPQFJNlDHmS8ko6VFkqzAVLstn05EuvxaJ7zz7u\/FNxL5CAXs3PgaNXt0vlYVDHrORH0CNB2rs1uxmuw7sOn5ejd+4rGeSgrk9mzwLAwQyCetDFllB+6Ll82c59emMr060b7i9FAXTNrmD2aRsVJqhOk0Qrw3aTbkETBjXlHqtVVzylusSHLx\/pUCeCphHPS4CtrrtPQ9QiO\/9wtOB8a\/ut1nsOnHckraOjjsdvaKqwFaUIPjl\/z8jgSznVsD4XTHR+2IFQo+sbFnLMMEu6+PYZCcdTzlxQp2akqpNFXGqXfEzx0578YPWyq\/al9IP7k1nN1Bo5q5ZfTRcoJECqam\/hM0fVWcn7UrZtUu9MXB0q6PHB1+tlMTXbh07VcxULNOIrX\/UdLnFWyHI1wBkq4l3RMzy9buPXogTl07kel77addN4Ze19cj1lKSnw2\/KF6pqkZ0hJH9bPV5aC5utdQsMhO\/\/OyS1tMCQ9Kvmn+kmYgonScltQ\/FisLxzYPAxsYs3rBbs3BtfvWps0hdVbonNYR2Lw4qXZoSkmnUKO9iIkuvtLUlUJsmyRhTeKM5DbJY7knorq6RIodhz\/+exGL8WK9Zg\/Pafi+86jWSE3E75LdKYapmnbukVJZdcrErTTQ9KSly49JGpp+f5gXOe0J1bkCBZNxuxsV9tWnmNuftwKzZuOBUh+ASHO7pVh98vyDidkcGajudar1i60UfgC2gvwzzaf0dE2OOQHkXYe6iw557PYzGTkSveYsb2n4tfOo3UB3OX\/D1pbHXC8PhVfpVf5VVF04oM8mhv6+ltdew92eeowqQUhXl+g8bKKA\/ipiPhzRJiT41PuS9g2Os04TpS9yQNXn56lzuZvvITVI2oEA0nVFO8gPofYD9BTbRZ0odMr\/26QFR1cvzgQ9PkfpLgLNgnk5ekR5KxTUGTlBOxD2RoQN1xv1TMvZiaqy1PPmqKXIUbZzSJ9KdEBsUo6sV4JXmr+TL79tsbGpuLdIdE1dYUZEiHJBSqWIYqbsAKho363Umc9zjOHlu4zsPVLiGQ0TjrxtadxTDp1WuBEStj18zQP2qMY78nREhKcPwt3wEBThGJ+X63FcF3GPBF1NuZWYyXbryZXV2rRmNDgww9VF3AFSRjQedtRUloQ5Zbj6q8e0CadwJmtiGsNNbGv335bkcnUx1PUR6KkeZ2IcuHR4LbHZB3aMrUAa79Z5sXrBJwHgBppDzOMOFxc4zTzJgsknq0WDimCBI0kBE+0INIBcdrQXuvgQKgddM0uAaaIuTvAjJKuIZf3LR+cRcFAnm2oJbn9OFd02iXJGQ44txyVAYz4nzUI\/ypnH3IuKJxAi0Qo0yNUnbX3wlsgFn99bM2hsd1RkLSJHHNAxbtDBAo8UgUQWBZD47PxFnrl5Yz1ZMXNTgIzfFEFosc3z4CUWvFxJAvVsf1LcfFPQsY5FsNOvW6Do0hP0kBPX8PSkIVTG45qvhtVbeopANICE8Jj4mhSntdSv8ZREl0Uj1SPUhl6ULRC9MYBgFHRg\/J6nTmLohBLu\/c\/d0YYblZJwxO2Fm\/5nBU1wzCh8n5Gb+5r\/POaJUUpMOj5CrEpEFcfpgKrX\/+eOQUDS8OmTIBUmgegbw05GLKdstGnVUjZw0dz4JbZtGqi2aNHJ1cMHpRF07XP\/u0TLDI7WBXJTSrN7ZY+8JQIM5pTtB1aRosRcxCZJV44wrkol4ywn2PLovoNlqomJhcFq4g9LxesOAKwfF5QCkuZ718U5Fm6OtYBc2tmitIhx5EuUWh4Khqiaf5IpSlrDa2qu0NM1gUP5t+saCGvd6z94cZL75sSnuZ\/NwM0x8nmFTNj0lUB+d40cIGM6IG25NaQTE5DkAGopWhsLUFOZyxam2aBvsQ0QbTFm9ciRwP4aK+atBwE6pmhoH69Vt9X9Qo3h1hOdtEvluIkBch8bcCOPqQO0xQn0GgtT4dDA\/9yw\/9\/f1X+09nNJY2q+shB2inNI30BCqHrhGArhJy4QktUJbjFZfSuJgoWpwuBfd5Mh70700thqJEFi3vANosq7MhVYUhQ5vF4VqRgd6qy3kA\/h9qYXpItkhJYZHJu4FYcCpNS6tq+XFQ+5SGudg6j5pXU1MNVU9qZwo\/\/ZHlKYl1htZH5JiqLzVHP2OPoc0hjQ2kaYOBbZCcc\/nZPY0vTYSsTmOdde8IQGQHMDDssrZk3oZDcAw5DATvl+EXrZqC0jACSW7xOtBcoH2Owy5UMQgdVeDNoPVdkwKsp3r62Nq53n3\/pvm+ntEOrnh+27c8cDerlbMKn5L6+IcCWoF+JozYXu9kOWNWTHA0wx1OGXc3CjgEkZubDU6K2QcCkxD1R\/PcCel37zFV1+OwGGkGUUUVOBC0Xj\/Nd6q1q7+dreeDN+8b6roY2rniaYc7HD0rd4FAll6TKVZhQP3QOmHi5QcljN92wpkDXs2z2gsyg3Jeh0ZisDRb4naqcSWJOR084zQzXQEXTtNviLAb5L1443MoZjl0tEOiQ7vPWLvy6CqBDEL7kZ\/8ft4B\/SZOiXRmfJVzQJijyO9w9LnRyEhsqe4KwYx5yyt0k5MHM6+L3R9mvKlX195TEXZTrJs1qdUwTFbfPi5w2jTfBY7zfavevLlf08FUFdI0EgvGGK5HoukL79rc40Gz1N36rr6zqTxskkgo09VaB+txn4k\/JXCL3zIRdzr1IfJszEhk69GSR1iY4QdmiA4z3AjUnw0+WpfAq0mJbF0TnpB0v3WkT7ch5Iqw1Iw14q3Pabsu77uoNbt26GR+rVr6VooMs0t1h0aalmBHItueDdsPQVweNK0Ow9Rq4DVczsksZSztZiZ5OkbKZZzNqY\/o0BjyJiMizu9qr1p8ELrAWBgtqcAfic+NN55EVjqiMXeNWkJfCTe6i5\/ea27OCXCrYTPaLNkOf1N8jF+84+Pzl1pjfDJ9hMV+CSFxjC\/c\/ZAjlk2HVpaxFz9+0NxS4BNno9OaNqCFQPtoYER\/JDX7xkR93LwTuEVSt9Yt1G\/FcBA2eAEL1r6IyXGK64aAMMZ3P9TKEa\/lWe3aA\/k80qBGe3OwI0t8dzVPuBvtzFnf6DDXTH+BHH0Jk1WW9cIJGqk\/X1vIhiXMbcVIJYAAYjyJjoqvnQQ\/bfF9gK\/HFzRey0jUZIl1ndjrsQsvBwshwbu9whjf9uA9TldAblAuegRhBre6+UT2CnH+VfjgKd\/Jskc1jsys4\/9a0qNYm3es8OzaP7kHEzbt3SyExWWUM6xBv\/VvHbzTRtEwDawsBGzzxlUmm0CLXtJIMxOZCwvTvTM5D6TSA7D8CAxnjYajKptpwCGuDI2KjU2Darj5ACEsEDykQwkunoHD6PkFOr8g5\/fk+QwgXmNSa4nVACJKcsXZFcuwiqd+NEYZej4mR5hmKF4LzAT0dP+5nV1\/Ow08B8oZzwLCmGGmk6fT+RBynsMhJ9WdSbpz0eNArDE0WYzKJu9EtQYai7PVPKMsSpFiPciloId+QpZfZ3VDaLB6XMavc7W4PNyIy\/XrApaXiS0NhIW\/FobQ8m9ECM3+WpiFlVUcSBEN1VDFozhTLGz0evgQfAPaLL3WTFHW2oCy6j5ynZmCDHZEW9zVwsGLxajhDGzUR1yY5fnuydqOwjbhw8zV9rNG7w4igzzPodCenileXmrpOkyWNkF+58dz99ELzXuYSqQcY8X34PukFH8Ms\/XvXmQXCiVk4u8IXlMqCqqYjjTXoEXjEd3Ai1z0KHt5wXIH6xgXxm\/yG53VyUhtGdyGjlNQHaOW0O8xbvy5zS7pjL9Zf6mosU6N3hUyTREXk1I+p5K9J3LWChtfpTcg+k7QStEt2WHzfGE4AUBWN6ZpUI0iZCYyF4oqj+\/bgbez5CdJY5xQalSol6HYW8q0HskyPU7jieETpwOSkBZNI0IYGCTFImRFouQAbHRTOtcOfomlPCWBZGXcZG8s3miTzGbMinIX+S2uky\/rGbGWEW3InYp+MRpRLyC4J0a0kXqivGP+JulgAm11QSIK6YEYiWXCwd8C6yYktPunS24+Sxb5vvldkZ4MOQsvaSfIIYssB1NAD1rnGIj3ADRjxHsh\/iTKNl7GU+3jFkWK\/QShGe2nzinWJ7OuypNr74R3s1bY2dmHz2Cqomka6R6yHCaV8FZV+HA751dLxleWB7J7RjduRYqSn3EUcPEyGiRCywkMojFEf7gfcdW\/mx\/ppGUBWt8Qc8Hct6pWy9rauvNfCHTufyYHKALHceioYEAFfaY+juGV2nWP5uUprG9yds79O2rkpZsruxxSHULG03IXPIwQ+f6k69e6JAcqrA8\/jvg7ByurfhHeT1rpc5B5HXQLnyXYORXXH2SqtYmIC6dsJBL0IHwLrEJqo9nbzw610Yr8NoeZ+Q2MOEsvPE5ABxYscwnogescAuW9UGYZ5T2A\/JWI7UQ0jl6QfSdftDRiaKD9m3nhdlpmq3VYOVmY7Hhdr39a\/JKp4nT\/5EA1L5FB2onQ3Q4lLLSP1SPlg2kE7x7fiq6\/qR\/+BFrycw2Ks4FvQ\/2s3+\/kFkqf+dktlzQ3tVx7ngVgR54C1oSL8KJa0JQY84mSX7XAk9JaqDUZzRcLIXpjiXwoZQxukJM4GX0D4gui3MY8WfySVQsuJGVvqes5X7xrW7UpZb+ZQOKnF+WNwPg77n9SKOeEhy1oSWSICGf6wxJwTa2gvvN8jWEwkTHqKBPELH77c9AQs1o4TSOpt0BroNG\/BqgcDmuM3kO+iaCiWPaRY\/zGvxuPodxy3ASrnkwNHdToc9o09xNRyIGVv4yFxgtxnvLIeOvvpneNzrxTdCPz0sGtP4kDXyGumt253nb7Nh+BvOZv6JKaOrC\/03g7Vu71ebnpURsjQ6DHg+L0KxG93j+My2BkbYtKOC5iDM52Fzmr7zxlvhJii\/EGzJEY8TitOKqnJ+R4qXnoGg5HvZ3E+gWPXh8TyeXYP3hKPsdViLnjrH52IaeF6MAeyhPZ1DwRS6ZMBaaiXp2SJAt2TDzsPdek+VsBP5AsvY3VDZ4C+thQoqLKFDNPqQQ0iM1rOWJrT9bex1FG01g4sHU9VDyqaMjEw\/MMsz2VXe6Jk6lMjlNJKGxXsXFnDgGbH5JKjAmO2g8TFbB1xMWQ3IIXzQd0NFR5x64vl+J6R4WnfuGyyGeMm1AYM\/7T7a62T0958PbhFE6ZTngL+oDgncgQhji\/UPLyhOAlH8T44A0ib7wllrdTFrIVNLcVt3oJA80wq1z3u0aaGN3FcstjEA4TMSrSpS51miFGWGiLu85cK5txAk8ByS1Dp5cg4AyyF+pqQBqUS3rjuBPD\/V6j+\/tjF51moRGtvp8tZ9NHkBxG+f4NiEFGDLOiNg71MkHY2WsJq0E2pCoEcNaflFUWHa8xvE9k4wzLPb6tvTeQW77BDIzy\/2\/ALJwlBiZ6zaJeJn9TmiXwW+dGLcj2TBXclqqFv3cETJqCbz4CmYWdLnzUZaAZKud8\/sMGyDldH4wySnAXdD\/BXqrr+qfOqvcPZzHlxhgym4DXOLjeuBeFFNRHaXjtYRO+5qCkbWfb1ahxpwdXOKSJT17ad+dhRYiRbntmRtMW8bOj7XUnN5KXiXdt9yzxECcanR+6JIxhD+Uzj8b7zEQVvz5WY3iSyG4hzKO4OtOTsPYEoVVe6at8EOvTU0Q1rcNM0HZjWxPKy8i7Hcdv68SPrsqe2yXM9EB+eBOZxMWxRpbWdCFzo6OaNK76vkVPNokOmqMLfcRVZzWHbds+54SoooqhjVDwCgKfsHTThtWnFEv8Qu85CB6uEWNj2YtruT0Xc85lCeXVQVsq2a9XNrfnvVco5w3QyFaj6evlgIKSM3iTmuhyULdiJ4jO1G3vAFpnrEZaD8z2Ua9H49EvDtQoTyMEMyJbj4agjwC2dlanW2lwNBDNCsgxZ40AJ3ABTjkaGRpxszBEz2g4RlsMhGkmD0Aj29ka3m\/bdtgV0sN6WA8YnkwEDmNOf+CTS0Cd6m5E+yFLAFICYJsRKZYhx5fQkebvUjhP7wjgIVI9JIB3sNnYVrkVpq4JO7ZcoOkSyVdlKoNQGLN78tE3So6lFjJprPW3w\/f+VsmebVfYQLmzwu2R4XtDBfI7EOXI4eeC4ttT5dNCE+055FcL7gf1hXeBcmtoqJR++jOvlWLarzAPmBCr\/b7NHByhsQWXJTI4cfnOMZVPn\/pXzZvjH2xvf\/esx0yVBmcBQmk4y0v1AF9vtVctz1m4iW6uKi7Z8ie7HbwKiS1YvUQbb4zgPYpfiPgl6mZ8FfJfltCBfT+r+ie5VWAnR\/0IOvrLW\/mY113m3DL5g66Ze3B5+jjaZFRkNED\/9DEsmQwMYHh\/4KmHAY4weCJoig8t6EEdfCKDH1V5hKPw9bd0HtDlPPA1\/bDO715+fXJnZKPZ\/XETe07w9smeo\/WKM\/N9MGFCw4nrPPc7X3U18\/XrmcjBHw\/vtqKmru56TVNrcVBAQHiQM1Nd79Cg4Kfv+\/DLRMa\/vwcGgUd\/CeAQ4PeT\/L5Hv1\/6yNHF25eBqQwZ9l5q0dt\/EUAm+J9J\/lb5zWEaw1Aie4A0jxK+8hImaYa5Kt97DGnAnDZNRCjMB4SqkGIZsvzOLhOXu583\/Sz0EPEWyoawQ4VxtV4X75wtKDtSqgD3BNleIiwOnn+65BArOqRLbRTufbl3TTF7O487c8boc\/OEYeR\/PSkeZgdXpQXodvgmRC8+uGYvERguRqr9kbZmy8EYReeDXlvdBJdk31MLaxS4RK7fP5eWP3a068gLXJ7um6FQ9tK7uvwdRq\/MTfuCKRu+w66qxV\/ZvOJyqDBWO8eX0DJhs0\/8IhZpKy9eKjm82PQDj3eWZ7YzQTBZ0QKJm4Xn19QU55cxisw0Ht1v5cb\/Sf23pyHGYG4E+l8C26n5JFCmY6e7\/k8ZF7fKL5T8gswPeNTjIWtpJN9K\/JN5TAXLrcCpXtKCZVqr\/DZUz0ZkTm6m9IWf1nJRS0vrjdevXG66uDiHThdRO9o\/fRGK2moRWRSrmPYCIhSCY0tkCH8NluEDj2bZoLFhAZcFm2jZZLY+uM75gmS+Vrk\/8MtJBR+gL+b3ILk20iOuWj1f5g2mfxu4KnBL9kXim5YbiBz4xBiF1OzYG5ViUjjuK85u2hi7LjGS8Ruj15\/MTmIT5AW0zyPahY61P33I1xSsPsWupJ4vyFN3VWyLHAVn2wgb1mXtav6JnKNXhKrUmES2NnnjvjAhyOWeXL0vGVBRW309bIBqNKIFh4Pt\/DEoE+MCVNIDG3WHrSWpSawWuaz+y319fG49F3GdlLV0ZGxylXKq9pYKJXczKjMZX3E6mFPkq7jFsAdJDovgyBkBThoeeMyp7YGr7vkBJdkSy4ydiBMneokkBN3FBlg4pz7yOXTkF+MrPwId6a+\/kiMdoVZx8yvxss0UU4FFVaaT5Z3H7QAPHL+IQ4lxDQYZyBC7Jmr7v8R7zFgkt9cX4iFpDpRb\/Vc00VrbWXLlzmfeoO+a\/Nc\/flZ2un1brdQBRinJN\/2q6X\/IhBp5lmJjudahUc9SaiyrmP8w4HwYPBF4m+YTQb\/2txjWYspVgM0GrwboAlFVMhaYSmk9dIEskBor\/bUnt7yqtt\/ZUZX507OZpaYR7otrF51yPrcydIO3QruA+2KmDF3VA35h5trCzSLdqGWfDKfFGVgsb1azzZZLWQUV6iyYNnDQo4pTqHTKkAtfPAHd1sBdTHuB9\/rDswm6paAqxaAUmRRDU1TMxpQ7iOy5kMmwraFlGROTMeHVTfXwZkcxKwiw2Vfm3+zMmTNHQle4hKkX0JPHTVt09nFyS1AVxqPKO7o67nioDwi9hYa4KE3MgbHk10NOKIgZ7bMwfYVKRSJ8pzsGVdRNcfVpM2B+yQKqk+R4sL4zQDmekBb8fVIO0jDFz7L90m\/UmGf7ffntN+uCuUN\/\/2Fz3ILmkZwuhWg4ph3BF9LQBHsUFnUTVIJB2NKgaheSWzF5hdVuNYYrkIUDAoFt\/F2+MbMb\/3HrmgGLSnzvMLjeoTGswZTDXrgzAW+paYDScA7TnkAjV5qgCtzGdAHYtm1gFXMBHtxqRUZ5YhdGWj3kgjJYsN2pi\/CZvtFIQwDNQnR2BR8xSKWeHuQtlp9IcaxpzB\/+sRk\/Ny8DuzwKLGYckGLA2zVdqtM1lur17qUeHm6r7ESUfWfyaNAou7nJPz8WVFSxGWFuKfrB45tfKim8VCRhVmThJ2UzOLJuFvSC85j6AQeCrQkq\/dy\/YOM3gIuYinyxtIPxd4D9ltENe4N\/A1lGSdJ6mW312Ba++CkFZ88cH\/WBVpXNYP3umpIFYEKWeQdUBI3AeEOGfyyz+TxE3hJNhqxFfC3XS01SZE2OMhx11VxPbEJkN\/YXo1uYDZNrGRwvCs+V3gJ0tEIu6Zzfi5CLbaj05AANkVOFp6kpx3TCIch\/iXyvv+QrzzLImwE5JQvI8k3upab\/WaVHMa02sQHWhdfbQbPVr7rPtsTC1SZ0Opzbf+zcD5PH9rDgHBgFCORGw63AmIQalUlCPRSC3PMKNZMuvJwRa+PNjW5mz1fR598NK8SLlJYsoCNZzwHrfhC0aTQ8xTQAeuG4JijamIo3kWYe4hsayCm1H5yVMnIfhe7EDho+siopTbbMAZoStfPLImxB5c7HcDTCfHiGKVcHpmN5w7Y49ORJeArew9IIWyC6FFMKWf5WNwlO70DsEEM+bC3fvfvD0HCu\/69JOCrxa1ZvUwm7IT8PXgDAnh5tuNMMqC1ZQIZvd7yOPDXFD9styp5+HabtgTH84dWtC4QQ9SRUAD4NNxsBG1OUP42Ct5AmEknO5SPKR79H7uk4oeyH1n4iOYIkS7Y+v5ZvYLcvMRo0yRjCrb\/Kao8BDDxAfoZSp49TFBMPSjKi3CnkAUKVH45HfbuOssZiEThxDCNbchya2pPW6PhhcowS6lELKi3JcBaOpfsQL\/6gkRTckzirA9M0+AYSb7BiAyrqUO77fF9URX+4l7SbYNqFGDiT3LLu0nckeF3kpdvPlNTUqZETMUW0cEmOIrbHwGpYd6eC0sVlnOKOtt\/+qUGofLDJ6wALPui5bZGwjMiv5db\/eFno7PmeHmT9kKk4jPPS8NDn05scvKUHzaJJhHQhBj9aZw5BDrJSjoehmocc6ZriKiAulQOrKcfSfF1j9N6HaFkR3WKb1x\/qTOwBnSX9i6U4ez9Cu2iwbuM78OIlpKOyv3WM9zj+haG\/yhlPmR\/qG8V0l80pmiVQ4P9IIKNMP4sgZPn4wsZbjN\/sWtq5pkdYDVYWHeOzZakwNeRWfRKjBRTsC5i\/mxZi0zQy+MBDoTwTBqO2ESB4SFOpadLjsIfAOddEX+PDjYshsxRzC9jf8WfjEVyp9p\/xqF77Gu9VhGlqswBK3xVJgIPmCN2H0pzqCFlh8855uhux7kN7e7eztEZ+nu\/c2Ru2nfmAUQP+nMcttEPkq6ZrfyXN2RtvjBwlu77n3hq+\/5MqeTHkkWJuBN+iUl9+VrMpLiIxivG\/nBiz4WRWEpssL6zVR7YIbSvz3ubFX11ziuWfPH81V\/2k4lDoLLjZR9qzp9a+5r91PPtovlCRGpvI1iVv2h8uBLvJdZ5XWcpxcSjuFaNinK3xFVhQZvpp0JurrS2TPm7LxzrBFHKuUzhVN0SON90BvddA6CCya4Dgx5wLvqDqaoQGmrsoDr1QI+OnAcHO+u7D2UzSGchtTDc3+Mad3XeFJTAFoQsR7t+xCFXbksI2c+AWrFxyMkQY+A29NvbI8Q0MFwT\/Lxdedkp2MwsH11u3JnP\/3nRG8zL7ZWUJDckPzMJA8eJuRJv7On\/84pfRiBSPI82RH\/jCv+2M96WYIy2ktAM9tB4JS30UdrNhgtF4Zy4dmEY7j3tlZzRyja7UxOgFW+Aahnkck9JpjTkOsG4nLTDu9JKUo3U\/1IunkI6KEVKRr++HaSOyEB1eEf9wwuHTJaZt7XfT62pnPt+Wjw0EWhbvhaAXi7TO21SSfX9jYrjZzlW2R6NLFFpymaYWUQ6DfBs\/E4rkza9dzFwINyDszmZuTHbevnwBQ34ZDHevaw8sZ82ghoRt58HNjo0+GiFchuBkavLBk4z06jGDspLyr6off9X5TqTDdaN2pxxKYqil0yxafzIqSu2w1NFaVI04JfUNxQlPyNk02Ci6YxuDzqfxbDRoSQ2CBIoxUoMpZtvpsIeeehkAzSln1dRWKWAxrFG7FitLRSrXS32p7wyQZc73WNe4yVN9w3d83w8aRwWos6t7dWd1Yd\/udyPGzOOclCmYtlk3ZfMiMK6MOs6MSVWaMjnTkpIruZb2PMtn+SF\/50Nyn+7wqWcdvbc37qqu+Xpv\/p2+zCu661d\/3ddziIJUI2Phw3FRSiW1dLOQixRQTiW16OhEz3v+4CsGvqkQSJyLldU0JVJjczMtdpzV1tlun3M86mkvmG6O+T\/1BGc2uFKYfx4gq50ocjQrJqoOzmniJGxl4UDncchAPM7CQLIjn\/b0Ep+OVysLAgqiczPrMPZFUoE9L0NhkGAvStzJ8fd9OEiGyGnDYCrINVgLJUlnxiL4DeF9uRSQhULqMTEe+a4CWdoI25Viy5QAyAnPNrGuTZ+be18hAR9pYQAitiTqTEfQoPTRTZ+K7eU7KzPy9LNLTCM9l1QvPuV6btXyDT4KHQDpQAILkJDbgULh9wQopJEAfRS00UTs\/jD1t6xWDv+kAtiJ3Krmm47AW7X8k6EeMp7WWjMBI5F5HIgwTQJLn2YTLF5vUHEm0hPc7nbwVkfquLkECTqkBWU9JKvYmvZVmBsxmmTkne6yON3JmI\/uGqzb0H1lQXb9ffHGfBkWVcc+CrYRf7jPZKCkVvgMuAnVQkPgDZ4vcwAvCXbvDxLahSouPwLuZXjhEdQj7G2CYlJWyHQiWcoUCHcZmu8Uex9oi3VV29tGz5g2q0AfKRJ8MkfFSIQvQHOMARimE0CUdB+R5\/Nseuq8C\/Xq6vLrPz9tDluZKSq7QgqQ0tAc7MIosMhxIKENSJGJOO8SQ66v9PM9ZydMIuElhAsFuap3D2t\/LHf7WvXq0A1LtGKAdnbemlLvKaYOnV07ugQ0zp7\/FlkJO8YfYx5Hoi9eUedfuXi\/\/FriukJR+VqmQRPUkZcScveJm0dyV+0BNFYOnFYrgxYLBwYTIcpV9vKp5yh5RK5lgLMlVI6yC83BLo0Cix4HsgCg8gN6ggIDkzGEBj2KrN+yN6U+9ZalfitlgVQiMlahGaQCCV6MnDdni9FmvbT9CUJ510y5XCNpQB6ONy5GMfOgI33YUsI1Dv47vhV5XMj6hSEiX5bUwhHKppPUpdY9aH6V7knXdT8HkVY7aQ\/41hP00SkXQ0OwbRvBKjaBZEFL+vkzWdKxamVJyP59bRDWp3SLeupTvKX6WNnd1y4mIFlBzwqBVySUMRZsLZaK2Dw5cmEuI8\/rTWa5BYwb13RKN8PiFE+rOFZWgUwIFUJLQoEFu94r6eBse2XTJU7rvQRKOBLFkBWGgsojlBET10\/SLL3N3q3krh8yqWisQMskUu5JOqoyj4nrDsH5AdhWJ87QbLFOaLCseG3dMFFWeDJhcZ3zg7VW6i6YFucgUGzffncQPpvcACE4N1s1\/nY2IN+oZLO98FDIFUfBNTDCPYEpo\/b1xb5M8t6UrGiZN7mrLMe9kWzOkQgBTZqLlDQ9aHy+9kqz0P6dGp3g7TDfh8fpX5SJZ7nd\/fSpqa6bKQOcBaUcZbUyymglRBmaH9N84aSQTTZCcpjdk6g6Wa3NPp0nFGUnRjJbKp9KXtekRESo8dBycj0lv0vJEWgvvzqm0FpUBqSyMKhZBrUY7FQPVh0SoIePaTAx0GyIH4n8ArM9A2ccbOVZSmz\/qSnIroqVbv9w4NlanqHGvqFWo8LkZ+C2ar4mj+9Rt446I12jViWuEuzdKz+9efjwRUHRjrg8pl\/KHT0t8LKjQGaJ+lNSAdauv63Hj0bn3sjK3L0l+yjU3K9ZufRs6BHIbt5ToPMIUks4kBExsIEYnDE6JyGBaGcobHdFTs5Y+RO+Df4ecxkyCH5EzoFzgDzC3JINE8FAJ3tPAtc4+q7aFYUzv86srBKVgT1ogIEb\/yZBJmpWFdKH+6F49KuHeIHyJ3e7NNBv0ZtiH5vby0qR6RUaGDEZo6Cgt4L5IGSQ0c6UJRPhwC0K4TNIcwxRYR\/C6heY8ogaaTIFxCGeYjRpkAOH4qPfNRXo12K7zU3t3lL+j5s3Mgbm4b2TQEJrTwIRGhyn6pVpIAVDabLDJG6bU04gfLwV1ThjJYlWT5LMiPVwe2V2bTWz1RuZjCqCYAhFUaDFinvg8XtL9z9zTXHpMFJ9cPgQUs257GMngTN87W9BDqYwGOQlWhiNyF4aaXqitAp0DgeudiWu+3VtE0wRlyJW3W\/AWmszH6zzrLYZCcWctrB7kEo7ENn64zcAiQV\/ISM95i2QyywXDlCYLrGWWikR7OFgu+LeExFXO2FOCw5HyD6EhWxoSns\/kSkdp1a6uPdBggGlrXaiZtkboezBhbxc1jWAk3+Ve\/np9Ppq3bt31R52dn4eM5jSNdKemyg13gcyAKa3chBk00TYsZ2cuGVs9vRNSDUpzoOrs7J+Y0nO\/Q2JYWY7V9oejS5VaPDF3qPdUGYlGCMvSu0GMiunSL5LmeReMm+OQ5nj+\/dl7U8eL+icyZR3OJJkxhsXoUEG8qRfU4CgRcpjLwTYvARzQBoGL97gJJCw\/3t8e+IaJwjfIJHssu9EIoUrrNBftgsVeUSX9jG0S1C\/HQA9QA6vjG84rNx0DqlhyBdzfIZUBo3meSV\/nlwh8UhrL+J6rlOCwFRYAu4Ytm5mXUYgto9G0oIzPDFWpgR107wSXF6CJ4OG2dgn\/\/4kVoEHgs9LHso5oLqDKEMH94K7XfgFJitx+XCFaWAVSu\/XoVG+vxupwhRCCtF8r2TgnV\/dyOaffxSZCAU75mqo0N\/4ARz34AoPjrzu5uqyYraoBJ0XP12QG93CSQqEq0GAsMxPQGFYBlEI5yHLA9hC+bmrbZOZKhS7FyQUkwpyWurrKV2MV\/ogAAGGMnCA9ny1NQASCnDFr7H7u6VmDSiTWwR\/Y9GhRvz8uhtAMz8ACtjnD\/9lQnXU1DpVNfVSOnkqQomq1nzV63fzjnS2x7nOXe53qcvc4T8aR3Wd2lP7ZveNagKmdKqnb5bOucmaunk+P88\/wXEKl8WSoCRneCakMj1Zn7yUpiIPcidP821+ProTdtrOgfNb1jAeTik9rKYYHe\/5xyn+br9PohAa4qbPhHRkYfJTn4\/9XkSLuC67atSx49rU6T3ZjBa3qk0DKn2l+2TPJr3R7+treQuf7j2SQezjkLk7ZyQivb3RWHVv5m0zTne+M9QZFlKi5om\/6t8PD6Mzb4630zszH46Pty\/Xr38de7trpT8SfDInO3YQYKYLjg+8Y0IOgQkr93NfSYA7AjmoZkwCn0BkJma1s7YBLk4tM7NlpUSxM+kpOCMqCOxOwux5I4v8kdQca9mC6MW3qmHNwX9tDLoiExjrJ+cjBsykslkY8YG7kXKnc1JY9bBqM\/fMLoy1yaf9rolaqjMLkAwxoBSrEzFA7D19E8Ax6QNGvBJmcQtRJNpao4RBmiT4dhN18GRHEmgJU0hUiA5ZSa5FVQRSCDgMDYAkhQgAZmJT3cpA6i96TsigMA2DlJc1o3FkUQDDxHkUk1bZsahB0Q7vAKqlmgOxTWuyJHXznBFdDKWKWVwrclOquVU1d+2RDjy2z\/ZzI5\/Ih+bvMvnsvHqV\/DCtx5qN3mZhsKKx2sNsjnL8uJFbxaCUrgV04iweDGSgQq8Bw66JU8L1oPaa0Apt1Cqhhaj6VPsbPuET7vGYUyDeK40Przj1TdhjjTC\/P06z7EopDhuj+CYtR3omXjD24EFuDzwJwUWAHvOQrp6pavoWLdrJitkWKQ8T+oJ\/myJTpK0IcWKZW4u5Pjcta1VlzTiP+xjJMT+zVkU5gOhHV26qVFSgXcehyvwgHQZxKoaqQh0wqJAR44TZUxjGtJaoFdWp9tjOgf\/0wERohB3UH4sDMv21uU8Bg\/c2rq\/rADOmPPQCjsC8Rn6DEsMwhjFEnB1kL+b7mzj27m59D\/gI+NQFf15PvcvGe8gH0EfIJ9gXyFfIoQ\/xsX0WSyxCXzUiZ5pGz0m7DwDkL\/uDc9Y7yV4w2frA7hccVobOP1ATdu7AIdYJEhg\/RsvjH1P7B1SH4oRB9698MQgJ52SSj20fG5hCE42G9St3LCrrAFk5qjZu+7+pQETEnIkPpBNVYX4otZZIEFFjwY3w0Y2w68w9wnbElBh7iwK\/jfpqlLFGC8GUNK0cb2yM2QyL7ZnT0WHOUvv7ow8b\/\/U9L8auRNQB\/UcHJFnjaM\/2vcbRkN45sbM8ClyV9KM5F8LZwgk6GHCFTS63xrdKUeclfsa4MrWj+3aR4+tQ4wbqEEGhzt72ZKg9tF1Ul\/G65b\/Frj74cuxl\/CaZjXU2T8GHtido3xzkqM0xTpw6Kxf3Ll25Xk7ckbpQaAwWV8x+s9hS0iXTKisnXwpdOnHHX+e1u697EPTYma9LsUmJw0H98fUDWqCaRXoRVZnUbCHrnkRrK9vYsdsIzUhQaExYcEXQTCSR84P8xK94lHst\/Nu9IhAVDxeTKbNTFrzFdVtXEoskyyMpEQEiiRzlFNVp9JVGf\/\/ihYEGtGsRQVHdxltN1ntvwHLAvq4rcCoY4lBI3ajQjsHiiqCFSCIXM7DYUtKl0GtO3PLzXtfuG3zdiq1KutlqCKJCYpYP0zH2d9PB5cKlK9clo1tWTr4U+s1pdRDIdQF79h10Myzgodbt6aPs17gXl9oMNfrDW5c0w764aHLprlx3dwAAOATDFOIofvNvmg3qEAJ7C0AjG4BNsCMcO3HqLMQi\/w7xUh7VWjwD3fvrHuQGAAAAnAD92L6AfHXffG8exCMVrprJdIy1ChFEJJFTGI6djO7vF41N1iy55fahIttQoDFYXBEakURmMFlsKemSSWXl5OPS\/Fgp\/ZZRoY6G6qKJ8WBS935uy0lM+TAGK+JJejYPwZWjlGNyglNnuVjn0l25LmRBoTFYXBGCSCIvN2JmxGJLSZdMXVZOPoU2DtxfeuzITxSDUmSr86AeFBqDxfHbADRjixtdsOVr2B72wyPqjDHuYLLYUtLLCwAH4G55+o7CxodyDa0hnPd7G7yFGAJEQDAhCZCNDgMAoKMUhDjHEUMGXIRFWjRvnJuTuVmjCF1JrP35DyfYJD5LAJIp+PDR0kO7F4R5nud5nuO4zpqSUZ1WdZMJHMdxnKlDTr4USpy441s9YX5ekZSa+8Oizcb5+skOZhNLHyyXxFI+ULAQlwxOyHUoR2OwuCI8EEnkoiRUGj3GOeYQS2wp6WRIFjn5tfEUd2x+s6JSKsdvoXLPZJmeqeqZoqpbVWFZlmVZlmVZppRSdVayoiiXlVXaybJvtZhMzN1vIlhEJ5HnDbxerrJpU33d4Z5PwTkVGmT9X9LkEJseMbd7oIBBQYNDhvNZBGAs0DRN0zDGR8ztpOuA0lN9sBR4uwNS50MT3p8YYzvWwA7c8Y\/RxaMKY8FTPCVinWp1zcl6\/fE8aPwUCQKBBqmQiggHgysc7oD6tZpd1f6jSQICnS+t9wrwFlpjA+QQwJPDEPC2RqQPizOBmAVROtVXBsUbiUNhrs\/MgiAIgiRJkq4LvPAmQkP3R+4r1ivk+TMukScQtIWwhHR4+v6to5oEdtQDFPF+1f8qs9iWHbvlwpBLV64RhTSOQmOwuCJAiCRyUQSoNHox21hsKemSEZSVky8F45zyo+KnX3GXzTPEH1IsKdnHK2E2e2ef2RZL1+YSs9HofWrxQ9KDWxSoNHqMw5yome7oxdlyq\/+PqNj7qpQdD9zSoUuZEYGSIACAQ9QHIVdLBwSsLOs9ZRU4tRYw6MuIgHDO6Eda39bdXOxxMl5tSpv1O+fZNKV\/+sniDyUgZcxMBtwsS7OEMTb6r+7rxZKP89vSXIjUfP6Sq62xUL1a2BkNnprWo7Z7ZVZJfLWzDjvyJmKK598anxnFxa\/2S6qhFou\/P01z+cOsxce1vLIE0K+aoZZekabMVi6oTvaqT75qbHr1dMt3CjCSHE7LWP2umdcf9RaHkyCJv1SpgmTKEizPcKHKX8aoNNZU40z\/P8bbZo8EAwal+9RxOU66ZqS7Hqv01DP1Xnip0VtfaAaxIVFoDAkpGTktnpGFlRcfdg5+AgQKEiZCpCjR4iRIkSpd1m\/JNt2Qx5564TMwFsYpMJ0HiFmM5ynOxhvBVwH\/U6FgoUTCpTllxCgRf5ZKlPxZ+VF4NQo31G8GaVrEiyDjPSON9LeZYH5yXsnpX0IMyngESwMZkoko7zCBkAOfSAhRIDShWERQ18UTaUkykpUrV6JCqcoETUCeYbvsib1XoXs2sPP\/4IZ4Qzj0kOfbTzqDctYFYhf5Ndol1zDuegDx+C246SGbSHkp4a2Qd8Lei\/lMyueKfLGZqWBNwMCRIYeARIACISIoIFSIYaCRvJJKk4gMUTnCclOqBAH9klLFk\/1G8UpgISGKIYNEgBAREGIYJN8vdd0tqNvugNVLrhs4UkRgyBAAobqQfq6MOgEGjY8pGeAEfiyvCPIXUMDV6SHg7lIA1ht+z+rlhUmAx\/8w\/P3KAegu1kAe+ab80gmA2Qsmgdums6\/UwhqEB2jxH1kpXsD\/lj+nRC4TdOmzz8eO+wAFVmIVVUl1Vl8t10O98InnYF7DG3gT78kH8JF8Mr\/PaGmS\/Q1\/aMBsASIlGa1Ety0+9okTmVQJVVgTqrN6a7ke6IlPPHme43U8X+a6E+gvMwtoTynf3EdAm7g9QPNfD9Aq\/8efHvD37cp2AN4+eZ0NvJ3xqvpNx9djuOVAkgHbXbkD6KDfLPDXf0CA3\/4JloJwSMht57gX7YhRRIQESIRqNWpNRKvDeDrg+uo1aBxzTPf8f1Rh4RZbYqllVuAst9Iqr7z2hsZD22y3wyM7PfbWLrvt8c5d99z3wBN7Ddhnv48N+sR7nzrgoP8Z8sz\/HXLYEUcdc9xnPnfSKaedcdY5512AuuiSy6646poTvnDdDTfdchvmjulemGqhKcZzGW2MceYba4aZus0yW5defeaYZhGQgXrQ2wue9rDdCEokFJBE9U\/tRLrufnpquaCwqHjY8BEjJdK\/Ghpl8vu7h0csLZZPsvKsvmi6sVqblu1siPtvc0trW3toWEDDiMVJmuUJiUnJKalp6RmZWdk5uR2TOpe4i5+\/+\/3Ds2uKpFmGK4qCJKuKphuWaadT2UwuX8H20z\/KI\/svdpmZppw\/YRsBjz+CtcDpywDg3A3w2RfNkFVACVy4+Rw8vFM4\/cXcg7Nmz5h5Atx5XTJ+2qLSsr7N3V092\/dse7er4\/6Du\/sKwMCDg59OmDIfuDaN+WjsuPEAAgS4vDK4YjwT\/UciyJcAns\/dxgDAl1Fbfz+E\/Ne6Qq8HgoABBOhMtT88402gb87zga+uAdwZe6qZ3QhfE7bacXjEt4dEHA50JwCW7kLnAPHxJtqf7H5m9R3focBeHZo7jptQqBzd2sURnRnLbWKkz9SEGoG0AXz7bj+1En2nsdWEf4UE9n+UPSdoACzoMsqWEFgGgVfalL1K1EmRtd2kgaRtrXUVgqqCrC+W9j8C9QlgdRZVxwbInM0yxNWMbS8QVS3S0pBtxfZng6kUbL6k97od6Ttg9Z7tpmIrF2uxSDPJaeVJdgDbvkGcJftPI7AXuX\/eUgwpQCtwa7uKoI5gWDNYLcHaYkS1C4\/asbQafZEo2oWibegBLHW1S0SJhMlBqEzGsVVIfM9mewtRxGZ8hPtHBfuH96238K3uEYK40K8MKiOW9gAm1zBvBvINoNgivBZB4K4uLQmy8oDyZr\/6rhlWCLsgMlO8\/4R\/+LsVqP1F\/c1BVwGqFuK7PajUdJlkqF4IfD1Eu9b+WRd4apN9OeaMKGuEzqJj5C1iVdg4TD3iun1OJpD8cuG1j0DyQeC+gxJa9iaqBUDkYfqNeGwOCj+0gbIwXTIib0nXh3E6QtdhkRv7zRzn3e6fiH\/NeyNckNp2Eh86jxRh1AQXdQYO5IY4j4p93wYwW05rbWxplBkuSIe4sCtGoE4HH+4LgwU5H87UnW4g7i3dLz3b\/jqI3eXtN\/FJPcJ6Q8jNav6L5XzMyMGzK5SOoI1F7kKYF6IvYtPHf2LUS6DqfxkEhnRnIKRTImmRyIlbJB6vLkbO3iJXGCMRiRn6vq8cZOazeG0zne4k7fJK5JcmiAayUOqt\/rZ5cnuVv6qj+mprGbLXCmLOF3i8HBkIBAKBACYSiQQpoBUVFRWsTe4a2iJlQ0Ob5zU0zAh78WOFVJRaTOVUHdAO7mvLKWxdWI9o0BKlQjJ2VpJnSi1jymMVJd7dmS9rJszjEpY2E5AwnUtAAmbkMwat0ZihmaylmDeFywJzklVU+5o6a+UzAQlIQMLMLwHNJnEzcGVmbYM63v5Y07lxsbFhaFK1WTLiegK4y7XRLtGl9l2tj3aFrtAVZmBlM3kUSy3NsySs9dKu0NVsrrsZ2wwXoDKUFmC0Ju2gE0FkAPFp3+49BB9JLmLlyGfIFzAtKYN3BWgWs1KzA52SpA+6tDyK5hklMqjGteXlG5392rA5kk6n9OAREsMsfSKh9EyplEbpASvX9EzK8rh6QKGDEZuA5BVU6anYwhneTLB6G8knUA3IiK3VjR7RI3rEDIhurAcUZhQHpBXOEqxi6Bi+OLmGySC+QKwzVch2OgCEtG1sjG8kC+8TkEaacDZBjv\/2vW3RAi3QAjMiMUNwT6vzExmQGuTadWaVHL+0T14NnqEXG2ayhLTSV9GaeqTMSlNWiFOQMjlNQQpmQAllri0yZVV2Dd82Fg\/qCi3boaQYLmUS8PqZtj0y+njejewghyR5XUjPdYz2tN3qKl4xCDyBIvDyBtJskabNhXZs01Zj0pCGNHOgDW3l6QMF29td0Ref05E+X01HOmZAC2OxjKrAZqeVg\/ZQgx9ThqxhCGMzm3TnlTUMphakCxiDpvRaauCbGn1FgumRCGWwMWAGlgcVRGnluppoaimeYQfZV4c2dpmL2VNakDYJR0LPZfTyBSQtGOaMqjEyySxOlUlU1bEash3bBvJSx9cza+U7E5mz4UxkLThmYQauXgwlhBmnJGZZRUBZlURdQ7W+nm9gGF\/sVsfW5PcIAmnZsMNaK89GNqaZJGWBxYdKqsqodjUlaqntJk91RN9QudEx7d2csxs5s90czIgGhRSLLSnD2YrFWumXiOEcekTDWUFbJ9\/tFofkuK36w3ldN6vuRxDKIFOeVYbX8w3Byo6YZhADeTiRQZaPMcWBSUJmMVueq5KqiYZ2zQQjiIwhSGQJLzIpjODs8qAwBGSk4y\/y6POdAUhoCsmz3bN9OOxNb\/bu9sZXOHmhd8hMY3cZeOQaupaBVsDqy2hNaHRYR0sULvPNIKOIM6trR7gFxjHt6Guj0IZ1aJGYLDLJLMNqo2VbV2KPio2V2NcBxBBDDLG5dfEcr1iVER\/xiM4JmY4V2Pj1EFspZeaYZg+NqbyQhbqisSk6eoZFlfwolfIhylGKapvoj+GgMXCqaweq5db4yxaH7YB67wA10uUE48En+DfGERpTgx\/DgKt042y7r9FXKyQkJCTgjIyMjIwMpkEDVgvsNjgdcLvg9VCONYQQQgghJPoVAAAAAAAAAAAAAGoDlFJKKaX0\/Jl4xwrvK6mBJhUrm3JibShCukQ9QT5j0BYlQ7goSeasmExIZRnlgYV5VXZ1ks0lXqgutX5riDX6pmDv+LG9r73\/nueWPiEnn1upw+Ycw82pGnfYoPckHF5xiVoMRJqEQRymYDDGgB5CGMrsGIZReeEOL5En7gW9vX4hQGSrAYxONxCxmweUZJeB0eyxxhkQRuYnkAxlaAFBKLWqIOJov0NJ\/aTJ4sdIZr+te\/F+yUUbySfUkYU72Ar6ud0HgX4B3wM7XKwnPcv\/V1fHH9M5\/AZOkx\/GVORxf9Dl6g9KHoJa+Ttv1rIfNPovQJJGTSZrUaNKtTY8mzLeqQY9m9kC8Eo3S3lFOlS8vVGrOiU6ov0x9V3tuMeRhKF7nuXL1dYwFUnFUKCV85PLYacSknhOXZvC7rhKe+GXtNT68EnkTIGdSMHbQfz6qQ6vftiqprnZgBf4mWr\/minUf9Qa0UO0tGlR0lHrZWWivmCjSi0eJyE5UctF1YZataFy19Q6FQbSVlvPT7UOybWmdq1soqP66ds9x00iP0atMam81dL0UsZPWernLeTZ9qsOCQIA) format(\"woff2\")}\n<\/style>\n\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;600&amp;display=swap\">\n<style id=\"kz-lp1-css\">\n.kz{\n  --paper:#F9F9F9;\n  --surface:#FFFFFF;\n  --ink:#232830;\n  --muted:#565C66;\n  --line:rgba(35,40,48,.14);\n  --tint:rgba(35,40,48,.07);\n  --lime:#DCF900;\n  --lime-hover:#E6FF3D;\n  --on-lime:#232830;\n  --lime-soft:rgba(220,249,0,.38);\n  --glow:rgba(220,249,0,.16);\n  --c-johvi:#DCF900; --c-voru:#45CFFF; --c-jarva:#FFF655;\n  --c-johvi-soft:rgba(220,249,0,.38); --c-voru-soft:rgba(69,207,255,.3); --c-jarva-soft:rgba(255,246,85,.55);\n  --c-voru-hover:#7ADCFF; --c-jarva-hover:#FFF98A; --c-voru-glow:rgba(69,207,255,.16); --c-jarva-glow:rgba(255,246,85,.16);\n  --band:#232830;\n  --band-fg:#F3F4EF;\n  --band-muted:#B9BDC2;\n  --band-surface:#3A3F48;\n  --band-fill:rgba(255,255,255,.08);\n  --code-bg:#232830;\n  --code-fg:#E8EBE3;\n  --code-dim:#8A919B;\n  --code-chip:rgba(220,249,0,.14);\n  --key-bg:#232830;\n  --ok:#1E7F47;\n  --ok-band:#8BE3A6;\n  --err-band:#FF9C8A;\n  --warn-band:#FFD27A;\n  --f-sans:\"Nexa\",system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;\n  --f-mono:\"JetBrains Mono\",ui-monospace,SFMono-Regular,Menlo,Consolas,\"Liberation Mono\",monospace;\n  --shadow:0 1px 0 rgba(35,40,48,.05),0 14px 34px -22px rgba(35,40,48,.45);\n  --leaf:0 20px 0 20px;\n  --leaf-sm:0 12px 0 12px;\n  --dot:#D3D6D7;\n  --hero-wash:rgba(249,249,249,.78);\n}\nhtml.dark .kz{\n    --paper:#232830; --surface:#3A3F48; --ink:#F1F2EE; --muted:#A8ADB4; --line:rgba(255,255,255,.12); --tint:rgba(255,255,255,.08); --dot:rgba(255,255,255,.12); --hero-wash:rgba(35,40,48,.8);\n    --lime-soft:rgba(220,249,0,.2); --band:#232830; --band-surface:#3A3F48;\n    --code-bg:#232830; --ok:#1E7F47;\n    --c-johvi-soft:rgba(220,249,0,.2); --c-voru-soft:rgba(69,207,255,.22); --c-jarva-soft:rgba(255,246,85,.22);\n    --shadow:0 1px 0 rgba(0,0,0,.3),0 14px 34px -22px rgba(0,0,0,.9);\n    color-scheme:dark;\n  }\n.kz[data-place=\"voru\"]{--lime:var(--c-voru);--lime-hover:var(--c-voru-hover);--lime-soft:var(--c-voru-soft);--glow:var(--c-voru-glow);--code-chip:var(--c-voru-glow)}\n.kz[data-place=\"jarva\"]{--lime:var(--c-jarva);--lime-hover:var(--c-jarva-hover);--lime-soft:var(--c-jarva-soft);--glow:var(--c-jarva-glow);--code-chip:var(--c-jarva-glow)}\n.kz-info,.kz mark,.kz-lvl-track i,.kz-dsw,.kz-lab-done,.kz-sticky .kz-btn-primary{transition:background-color .4s ease}\n.kz{background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}\n:where(.kz),:where(.kz) *{box-sizing:border-box}\n:where(.kz) [hidden]{display:none!important}\n:where(.kz) img{display:block;max-width:100%;height:auto}\n:where(.kz) a{color:inherit}\n:where(.kz) :focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:2px}\n:where(.kz) :is(h1,h2,h3){margin:0;font-weight:700;letter-spacing:0;text-wrap:balance}\n:where(.kz) p{margin:0}\n:where(.kz) :is(ul,ol){margin:0;padding:0;list-style:none}\n:where(.kz) strong{font-weight:700}\n.kz-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n.kz-wrap{max-width:1120px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}\n@media (min-width:600px){.kz-wrap{padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}}\n.kz-sec{padding-block:72px}\n@media (min-width:900px){.kz-sec{padding-block:112px}}\n.kz-sec-head{display:grid;gap:16px;max-width:44rem;margin-bottom:44px}\n.kz-sec-head p{color:var(--muted);max-width:38rem}\n:where(.kz) h2{font-size:clamp(1.8rem,5.6vw,2.7rem);line-height:1.15}\n:where(.kz) h3{font-size:1.2rem;line-height:1.3}\n.kz-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:.8em 1.4em;border-radius:var(--leaf-sm);font:700 1rem\/1.15 var(--f-sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}\n.kz-btn-primary{background:var(--lime);color:var(--on-lime)}\n.kz-btn-primary:hover{background:var(--lime-hover)}\n.kz-btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}\n.kz-btn-ghost:hover{background:var(--lime-soft)}\n.kz-btn-soft{background:var(--band-fill);color:var(--band-fg)}\n.kz-btn-soft:hover{background:var(--band-surface)}\n.kz-textlink{font-weight:700;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:4px}\n.kz-textlink:hover{background:var(--lime-soft)}\n.kz mark{background:var(--lime);color:var(--on-lime);padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}\n.kz-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:40px 150px}\n@media (min-width:900px){.kz-hero{padding-block:88px 128px;min-height:620px}}\n.kz-hero::before{content:\"\";position:absolute;inset:0;z-index:1;pointer-events:none;background-color:var(--dot);-webkit-mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='22' height='22'%3E%3Ccircle cx='1.5' cy='1.5' r='1.5'\/%3E%3C\/svg%3E\") 0 0\/22px 22px repeat;mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='22' height='22'%3E%3Ccircle cx='1.5' cy='1.5' r='1.5'\/%3E%3C\/svg%3E\") 0 0\/22px 22px repeat}\n.kz-hero-grid{display:grid;gap:40px;align-items:center}\n.kz-hero-copy{position:relative;z-index:3;display:grid;gap:24px;min-width:0}\n@media (min-width:900px){.kz-hero-copy{max-width:32rem}}\n.kz-hero-shapes{position:absolute;z-index:2;right:-56px;bottom:-32px;width:300px;height:auto;color:var(--lime);pointer-events:none;transition:color .4s ease}\n@media (min-width:900px){.kz-hero::before{z-index:0}.kz-hero-shapes{width:min(560px,44vw);right:-40px;bottom:-59px}}\n.kz-hero h1{font-size:clamp(2.3rem,8.6vw,3.9rem);line-height:1.08}\n.kz-lead{font-size:1.125rem;max-width:34rem}\n@media (min-width:900px){.kz-lead{font-size:1.2rem}}\n.kz-cta-row{display:flex;flex-wrap:wrap;gap:12px}\n.kz-cta-row .kz-btn{flex:1 1 200px}\n@media (min-width:600px){.kz-cta-row .kz-btn{flex:0 0 auto}}\n.kz-cta-note{font-size:.9375rem;color:var(--muted);max-width:32rem}\n.kz-hero-media{position:absolute;inset:0;z-index:0;margin:0}\n.kz-hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% 30%}\n.kz-hero-media::after{content:\"\";position:absolute;inset:0;background:var(--hero-wash)}\n@media (min-width:900px){.kz-hero-media{left:max(50%,36rem);z-index:1;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}.kz-hero-media::after{content:none}.kz-hero-media img{object-position:58% 30%}}\n.kz-hj{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:14px;position:relative;max-width:34rem}\n.kz-hj-step:not(:last-child)::after{content:\"\";position:absolute;left:18px;top:43px;height:calc(100% - 24px);border-left:3px dotted var(--ink);opacity:.4}\n.kz-hj-step{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:0 14px}\n.kz-hj-n{position:relative;z-index:1;width:38px;height:38px;margin-top:5px;display:grid;place-items:center;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink);color:var(--ink);font:700 1rem\/1 var(--f-sans);transition:background-color .3s ease,color .3s ease}\n.kz-hj-step:hover .kz-hj-n,.kz-hj-step:focus-within .kz-hj-n,.kz-hj-place .kz-hj-n{background:var(--lime);color:var(--on-lime)}\n.kz-hj-step .kz-btn{justify-self:start;min-height:48px;padding:.7em 1.25em}\n.kz-hj-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:48px}\n.kz-hj-pick b{font-weight:700}\n.kz-hj-pps{display:flex;flex-wrap:wrap;gap:8px}\n.kz-hj-pps .kz-pp{min-height:40px}\n@media (max-width:599px){.kz-hj-place .kz-hj-pick{display:contents}.kz-hj-place b{align-self:center;margin-top:5px}.kz-hj-pps{grid-column:1\/-1;margin-top:10px;gap:6px}.kz-hj-pps .kz-pp{gap:6px;padding:.45em .55em;font-size:.8rem}}\n.kz-lanyard{--lanyard:url(\"\/wp-content\/themes\/kood-johvi\/theme\/images\/mask-seperator.svg\");position:absolute;left:0;right:0;z-index:2;height:32px;pointer-events:none}\n.kz-lanyard::before{content:\"\";position:absolute;inset:0;background-color:var(--lime);-webkit-mask-image:var(--lanyard);mask-image:var(--lanyard);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:auto 12px;mask-size:auto 12px;transition:background-color .4s ease}\n.kz-lanyard-top{top:0}\n.kz-lanyard-bottom{bottom:0}\n.kz-become,.kz-final{position:relative}\n.kz-become{padding-top:96px}\n.kz-final{padding-bottom:96px}\n@media (min-width:900px){.kz-lanyard{height:44px}.kz-lanyard::before{-webkit-mask-size:auto 16px;mask-size:auto 16px}.kz-become{padding-top:112px}.kz-final{padding-bottom:112px}}\n.kz-become{background:var(--band);color:var(--band-fg)}\n.kz-become .kz-sec-head{margin-bottom:0}\n.kz-become .kz-sec-head p{color:var(--band-muted)}\n.kz-become-top{display:grid;gap:36px;align-items:center}\n@media (min-width:900px){.kz-become-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}}\n.kz-become-intro{display:grid;gap:40px;min-width:0}\n.kz-lvl{display:grid;gap:8px}\n.kz-lvl-q{font-weight:700;font-size:1.25rem}\n.kz-lvl-scale{position:relative;height:48px;--p:0}\n.kz-lvl-track{position:absolute;left:12.5%;right:12.5%;top:50%;height:6px;margin-top:-3px;border-radius:3px;background:var(--band-fill)}\n.kz-lvl-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 100%);border-radius:3px;background:var(--lime);transition:width .5s cubic-bezier(.2,.8,.2,1)}\n.kz-lvl-track i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--band-surface);box-shadow:0 0 0 3px var(--band);transition:background-color .3s ease .15s,transform .3s ease .15s}\n.kz-lvl-track i:nth-of-type(1){left:0}\n.kz-lvl-track i:nth-of-type(2){left:33.333%}\n.kz-lvl-track i:nth-of-type(3){left:66.667%}\n.kz-lvl-track i:nth-of-type(4){left:100%}\n.kz-lvl-track i.lit{background:var(--lime);transform:scale(1.1)}\n.kz-lvl-range{position:relative;z-index:1;-webkit-appearance:none;appearance:none;display:block;background:transparent;height:48px;margin:0 0 0 calc(12.5% - 18px);width:calc(75% + 36px);cursor:grab}\n.kz-lvl-range:active{cursor:grabbing}\n.kz-lvl-range:focus{outline:none}\n.kz-lvl-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--band),0 0 0 7px var(--band-fg)}\n.kz-lvl-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--band),0 0 0 7px var(--band-fg)}\n.kz-lvl-range::-webkit-slider-runnable-track{height:48px;background:transparent}\n.kz-lvl-range::-moz-range-track{height:48px;background:transparent}\n.kz-lvl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:36px;height:36px;margin-top:6px;border-radius:50%;background:var(--lime);border:0;box-shadow:0 0 0 4px var(--band),0 0 0 12px var(--glow);transition:box-shadow .2s ease}\n.kz-lvl-range::-moz-range-thumb{width:36px;height:36px;border-radius:50%;background:var(--lime);border:0;box-shadow:0 0 0 4px var(--band),0 0 0 12px var(--glow)}\n.kz-lvl-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--band),0 0 0 16px var(--glow)}\n.kz-lvl-range.bump::-webkit-slider-thumb{animation:kz-bump .45s cubic-bezier(.3,1.6,.5,1)}\n.kz-lvl-range.bump::-moz-range-thumb{animation:kz-bump .45s cubic-bezier(.3,1.6,.5,1)}\n@keyframes kz-bump{0%{transform:scale(1)}35%{transform:scale(1.25)}100%{transform:scale(1)}}\n.kz-lvl-ticks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}\n.kz-lvl-tick{appearance:none;background:none;border:0;padding:2px 4px;font:400 .9375rem\/1.3 var(--f-sans);color:var(--band-muted);text-align:center;cursor:pointer;transition:color .25s ease,transform .25s ease}\n.kz-lvl-tick:hover{color:var(--band-fg)}\n.kz-lvl-tick.is-past{color:var(--band-fg)}\n.kz-lvl-tick.is-on{color:var(--lime);font-weight:700;transform:translateY(-2px)}\n@media (min-width:600px){.kz-lvl-tick{font-size:1.0625rem}}\n.kz-lvl-photos{position:relative;margin:0;width:100%;max-width:100%;aspect-ratio:4\/3;border-radius:var(--leaf);overflow:hidden;background:var(--band-surface)}\n.kz-lvl-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .6s ease,transform 1.4s cubic-bezier(.2,.8,.2,1)}\n.kz-lvl-photos img.is-on{opacity:1;transform:scale(1)}\n.kz-lvl-stage{display:grid;gap:40px;margin-top:64px}\n@media (min-width:980px){.kz-lvl-stage{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}}\n.kz-lvl-panel{display:grid;gap:18px;align-content:start;min-width:0}\n.kz-lvl-panel:not([hidden]){animation:kz-in .5s cubic-bezier(.2,.8,.2,1)}\n@keyframes kz-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\n.kz-lvl-panel h3{font-size:clamp(1.45rem,4.4vw,1.95rem);line-height:1.2}\n.kz-lvl-panel p{color:var(--band-muted)}\n.kz-lvl-panel .kz-lvl-hook{color:var(--band-fg);font-size:1.15rem}\n.kz-lvl-points{display:grid;gap:10px}\n.kz-lvl-points li{display:flex;gap:12px;align-items:baseline;font-weight:700}\n.kz-lvl-points li::before{content:\"\";flex:none;width:8px;height:8px;border-radius:2px;background:var(--lime);transform:translateY(-2px)}\n.kz-lvl-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:4px}\n.kz-lvl-work{min-width:0}\n.kz-lab-note{font-size:.875rem;color:var(--band-muted)}\n.kz-m2{background:var(--band-surface);border-radius:var(--leaf-sm);padding:16px;display:grid;gap:20px;min-width:0}\n@media (min-width:600px){.kz-m2{padding:24px}}\n.kz-m2:not([hidden]){animation:kz-in .5s cubic-bezier(.2,.8,.2,1)}\n.kz-m2-code{margin:0;background:var(--code-bg);border-radius:10px;padding:16px;overflow-x:auto;font:400 .9rem\/1.65 var(--f-mono);color:var(--code-fg);font-variant-ligatures:none}\n.kz-m2-code .kz-ln{display:inline-block;min-width:100%}\n.kz-m2:not([hidden]) .kz-m2-code .kz-ln{animation:kz-line .35s ease both;animation-delay:calc(var(--i) * 90ms + 150ms)}\n@keyframes kz-line{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}\n.kz-m2-code .kz-c{color:var(--code-dim)}\n.kz-m2-form{display:grid;gap:10px}\n.kz-m2-form label{font-weight:700}\n.kz-m2-row{display:flex;flex-wrap:wrap;gap:10px}\n.kz-m2-row input{flex:1 1 220px;min-width:0;min-height:52px;padding:0 16px;border:0;border-radius:var(--leaf-sm);background:var(--code-bg);color:var(--band-fg);font:400 1rem\/1.2 var(--f-sans)}\n.kz-m2-row input::placeholder{color:var(--code-dim)}\n.kz-m2-row input:focus-visible{outline:3px solid var(--lime);outline-offset:2px}\n.kz-m2-note{font-size:.875rem;color:var(--band-muted)}\n@media (prefers-reduced-motion: reduce){.kz-lvl-fill,.kz-lvl-track i,.kz-lvl-tick,.kz-lvl-photos img{transition:none}.kz-lvl-panel:not([hidden]),.kz-m2:not([hidden]),.kz-m2:not([hidden]) .kz-m2-code .kz-ln{animation:none}.kz-lvl-range.bump::-webkit-slider-thumb{animation:none}.kz-lvl-range.bump::-moz-range-thumb{animation:none}}\n.kz-doubts-top{display:grid;gap:32px;margin-bottom:56px}\n.kz-doubts-top .kz-sec-head{margin-bottom:0}\n@media (min-width:900px){.kz-doubts-top{grid-template-columns:1fr 1fr;align-items:end;gap:56px}}\n.kz-doubts-top img{width:100%;aspect-ratio:16\/10;object-fit:cover;border-radius:var(--leaf)}\n.kz-doubt-switch{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.kz-dsw{appearance:none;border:0;cursor:pointer;min-height:42px;padding:.55em 1em;border-radius:var(--leaf-sm);background:var(--tint);color:var(--ink);font:700 .9rem\/1.2 var(--f-sans);transition:background-color .2s ease,color .2s ease}\n.kz-dsw:hover{background:var(--lime-soft)}\n.kz-dsw.is-on{background:var(--lime);color:var(--on-lime)}\n.kz-doubt-set{display:grid;gap:40px}\n@media (min-width:860px){.kz-doubt-set{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}\n.kz-doubt-set:not([hidden]) .kz-doubt{animation:kz-in .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 90ms)}\n.kz-doubt .kz-textlink{justify-self:start;font-size:.95rem}\n@media (prefers-reduced-motion: reduce){.kz-doubt-set:not([hidden]) .kz-doubt{animation:none}.kz-dsw{transition:none}}\n.kz-doubt{display:grid;gap:12px;align-content:start;min-width:0}\n.kz-doubt h3{font-size:1.25rem}\n.kz-doubt p{color:var(--muted);font-size:1rem}\n.kz-doubt p strong{color:var(--ink)}\n.kz-lab{background:var(--band-surface);border-radius:var(--leaf-sm);padding:16px;display:grid;gap:16px;min-width:0}\n@media (min-width:600px){.kz-lab{padding:24px}}\n.kz-lab-tab{appearance:none;border:0;background:transparent;color:var(--band-muted);font:700 .9rem\/1.3 var(--f-sans);padding:12px 10px;border-radius:var(--leaf-sm);cursor:pointer;text-align:left;min-height:48px}\n.kz-lab-tab:hover{color:var(--band-fg);background:var(--band-fill)}\n.kz-lab-tab[aria-selected=\"true\"]{background:var(--band-fg);color:var(--band)}\n.kz-lab-tab.is-done::after{content:\" \\2713\";color:var(--ok-band)}\n.kz-lab-tab[aria-selected=\"true\"].is-done::after{color:var(--ok)}\n.kz-lab-task{display:grid;gap:8px}\n.kz-lab-task h3{font-size:1.2rem}\n.kz-lab-task p,.kz-lab-desc{color:var(--band-muted);font-size:1rem}\n.kz-lab-ai{margin:10px 0;padding:12px 14px;background:var(--code-bg);border-radius:8px;overflow-x:auto}\n.kz-lab-ai code{display:block;background:none!important;padding:0!important;white-space:pre!important;color:var(--code-fg);font:400 .875rem\/1.55 var(--f-mono)}\n.kz-lab-lang{display:block;margin-top:8px;font-size:.875rem}\n.kz-lab-task code,.kz-lab-msg code,.kz-lab-hint code{font-family:var(--f-mono);font-size:.88em;background:var(--code-chip);color:var(--band-fg);padding:.1em .35em;border-radius:4px;white-space:nowrap}\n.kz-lab-msg code,.kz-lab-hint code{white-space:pre-wrap;word-break:break-word}\n.kz-editor{background:var(--code-bg);border-radius:10px;overflow:hidden}\n.kz-editor-body{display:flex;min-width:0;max-height:420px;overflow:auto}\n.kz-code{flex:1;min-width:0;border:0;outline:0;resize:none;background:transparent;color:var(--code-fg);caret-color:var(--lime);font:400 16px\/1.6 var(--f-mono);padding:16px;white-space:pre;overflow-x:auto;overflow-y:hidden;tab-size:2;-moz-tab-size:2}\n.kz-code:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--lime)}\n.kz-code,.kz-out,.kz-lab-task code,.kz-lab-msg code,.kz-lab-hint code,.kz-keys{font-variant-ligatures:none;font-feature-settings:\"liga\" 0,\"calt\" 0}\n@media (max-width:599px){.kz-code{white-space:pre-wrap;overflow-wrap:anywhere}}\n.kz-keys{display:flex;gap:6px;overflow-x:auto;padding:0 10px 10px;scrollbar-width:none}\n.kz-keys::-webkit-scrollbar{display:none}\n.kz-key{flex:0 0 auto;min-width:40px;height:40px;appearance:none;border:0;background:var(--key-bg);color:var(--code-fg);font:600 1rem\/1 var(--f-mono);border-radius:6px;cursor:pointer;padding:0 10px}\n.kz-key:active{background:var(--lime);color:var(--on-lime)}\n@media (hover:hover) and (pointer:fine){.kz-keys{display:none}}\n.kz-lab-actions{display:flex;flex-wrap:wrap;gap:10px}\n.kz-lab-actions .kz-btn{min-height:48px}\n#kz-lab-run{flex:1 1 160px}\n.kz-kbd-tip{font-size:.8125rem;color:var(--band-muted);width:100%}\n@media not all and (hover:hover){.kz-kbd-tip{display:none}}\n.kz-out{margin:0;padding:14px 16px;min-height:3.2em;max-height:240px;overflow:auto;background:var(--code-bg);border-radius:10px;font:400 .9rem\/1.55 var(--f-mono);color:var(--code-fg);white-space:pre-wrap;word-break:break-word}\n.kz-out .kz-ph{color:var(--code-dim);font-family:var(--f-sans)}\n.kz-out .kz-errline{color:var(--err-band)}\n.kz-lab-msg{display:grid;gap:6px;padding:14px 16px;border-radius:var(--leaf-sm);font-size:.975rem;line-height:1.5;color:var(--band-fg)}\n.kz-lab-msg.is-pass{background:rgba(139,227,166,.14)}\n.kz-lab-msg.is-pass strong{color:var(--ok-band)}\n.kz-lab-msg.is-fail{background:rgba(255,210,122,.12)}\n.kz-lab-msg.is-fail strong{color:var(--warn-band)}\n.kz-lab-msg.is-error{background:rgba(255,156,138,.12)}\n.kz-lab-msg.is-error strong{color:var(--err-band)}\n.kz-lab-msg .kz-btn{justify-self:start;margin-top:6px;min-height:44px}\n.kz-lab-hint{background:var(--band-fill);border-radius:var(--leaf-sm);padding:14px 16px;font-size:.975rem;color:var(--band-fg);display:grid;gap:8px}\n.kz-lab-hint p::before{content:\"Hint: \";font-weight:700;color:var(--lime)}\n.kz-lab-done{background:var(--lime);color:var(--on-lime);border-radius:var(--leaf-sm);padding:24px;display:grid;gap:12px}\n.kz-lab-done h3{font-size:1.3rem}\n.kz-lab-done .kz-btn{background:var(--on-lime);color:var(--lime);justify-self:start}\n.kz-lab-done .kz-btn:hover{background:var(--band)}\n#kz-steps{--route:var(--c-johvi);--route-soft:var(--c-johvi-soft)}\n#kz-steps[data-place=\"voru\"]{--route:var(--c-voru);--route-soft:var(--c-voru-soft)}\n#kz-steps[data-place=\"jarva\"]{--route:var(--c-jarva);--route-soft:var(--c-jarva-soft)}\n.kz-place-q{font-weight:700;font-size:.9rem;margin-top:4px}\n.kz-place-pick{display:flex;flex-wrap:wrap;gap:6px}\n.kz-pp{--pc:var(--c-johvi);appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:.45em .75em;border-radius:var(--leaf-sm);background:var(--tint);color:var(--ink);font:700 .85rem\/1.2 var(--f-sans);transition:background-color .25s ease,color .25s ease}\n.kz-pp-voru{--pc:var(--c-voru)}\n.kz-pp-johvi{--pc:var(--c-johvi)}\n.kz-pp-jarva{--pc:var(--c-jarva)}\n.kz-pp i{width:10px;height:10px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 1px var(--line);flex:none}\n.kz-pp:hover{background:var(--line)}\n.kz-pp[aria-pressed=\"true\"]{background:var(--pc);color:var(--on-lime)}\n.kz-pp[aria-pressed=\"true\"] i{background:var(--on-lime);box-shadow:none}\n.kz-place-note:not([hidden]){animation:kz-in .4s cubic-bezier(.2,.8,.2,1)}\n@media (min-width:980px){.kz-jstep .kz-place-q,.kz-jstep .kz-place-pick{display:none}}\n.kz-jp-lime .kz-jp-lane{opacity:0;transition:opacity .35s ease}\n.kz-jp-lime .kz-jp-lane.on{opacity:1}\n.kz-jp-pins{position:absolute;inset:0;pointer-events:none}\n.kz-jp-pin{position:absolute;left:75%;transform:translate(-50%,-50%);pointer-events:auto;appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:var(--leaf-sm);background:var(--paper);box-shadow:0 0 0 2px var(--pc);color:var(--ink);font:700 .8rem\/1 var(--f-sans);white-space:nowrap;transition:background-color .25s ease,color .25s ease,transform .25s cubic-bezier(.3,1.6,.5,1)}\n.kz-jp-pin i{width:9px;height:9px;border-radius:50%;background:var(--pc);flex:none}\n.kz-jp-pin:hover{transform:translate(-50%,-50%) scale(1.06)}\n.kz-jp-pin[aria-pressed=\"true\"]{background:var(--pc);color:var(--on-lime);transform:translate(-50%,-50%) scale(1.1)}\n.kz-jp-pin[aria-pressed=\"true\"] i{background:var(--on-lime)}\n.kz-jp-pin:focus-visible{outline:2px solid var(--ink);outline-offset:3px}\n.kz-journey{display:grid;gap:8px}\n.kz-when{font-weight:700;font-size:.9375rem}\n.kz-journey-map{display:none;position:relative;height:140px;margin:8px 0 28px}\n.kz-jp-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\n.kz-jp-base path{stroke:var(--muted);stroke-width:2.5;stroke-dasharray:1 9;stroke-linecap:round;opacity:.55}\n.kz-jp-lime path{stroke:var(--route);stroke-width:6;stroke-linecap:round;transition:stroke .5s ease}\n.kz-jp-lime{clip-path:inset(0 100% 0 0);transition:clip-path 2s cubic-bezier(.45,0,.25,1)}\n.kz-journey.is-drawn .kz-jp-lime{clip-path:inset(0 0 0 0)}\n.kz-jp-node{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink);font:700 1.25rem\/1 var(--f-sans);transition:background-color .35s ease var(--d),transform .35s cubic-bezier(.3,1.6,.5,1) var(--d)}\n.kz-journey.is-drawn .kz-jp-node{background:var(--route);color:var(--on-lime);transform:scale(1.08)}\n.kz-jp-start{position:absolute;left:0;top:50%;display:grid;gap:10px;justify-items:start}\n.kz-jp-start i{position:relative;display:block;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--route);box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--ink)}\n.kz-jp-start i::after{content:\"\";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--ink);animation:kz-ping 2.4s ease-out infinite}\n@keyframes kz-ping{0%{transform:scale(.8);opacity:.6}80%,100%{transform:scale(2.2);opacity:0}}\n.kz-jp-start b,.kz-jp-end b{font-size:.875rem;font-weight:700;white-space:nowrap}\n.kz-jp-start b{margin-left:-9px}\n.kz-jp-end{position:absolute;right:0;top:50%;display:flex;align-items:flex-end;gap:6px;transform:translate(8px,-100%);color:var(--ink);opacity:.45;transition:opacity .4s ease 2s}\n.kz-journey.is-drawn .kz-jp-end{opacity:1}\n.kz-journey-from{display:flex;align-items:center;gap:14px;font-weight:700;font-size:.9375rem}\n.kz-journey-from i{width:18px;height:18px;margin-left:13px;border-radius:50%;background:var(--route);box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--ink);flex:none}\n.kz-journey-steps{position:relative;display:grid;gap:36px;padding:20px 0}\n.kz-journey-steps::before{content:\"\";position:absolute;left:21px;top:0;bottom:0;border-left:3px dotted var(--line)}\n.kz-journey-steps::after{content:\"\";position:absolute;left:20px;top:0;width:5px;height:0;border-radius:3px;background:var(--route);transition:height 2s cubic-bezier(.45,0,.25,1)}\n.kz-journey.is-drawn .kz-journey-steps::after{height:100%}\n.kz-jstep{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 18px}\n.kz-jstep-n{position:relative;z-index:1;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink);font:700 1.1rem\/1 var(--f-sans);transition:background-color .35s ease var(--d)}\n.kz-journey.is-drawn .kz-jstep-n{background:var(--route);color:var(--on-lime)}\n.kz-jstep-body{display:grid;gap:8px;align-content:start;min-width:0;padding-top:2px}\n.kz-jstep-body h3{font-size:1.25rem;line-height:1.3}\n.kz-jstep-body>p:not(.kz-when){color:var(--muted)}\n.kz-jstep-body .kz-textlink{justify-self:start;font-size:.95rem}\n.kz-journey-to{display:flex;align-items:center;gap:14px;font-weight:700;max-width:40rem}\n.kz-journey-to svg{flex:none;margin-left:12px}\n@media (min-width:980px){.kz-journey-map{display:block}.kz-journey-from{display:none}.kz-journey-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;text-align:center}.kz-journey-steps::before,.kz-journey-steps::after{display:none}.kz-jstep{grid-template-columns:minmax(0,1fr)}.kz-jstep-n{display:none}.kz-jstep-body{justify-items:center;padding-top:0}.kz-jstep-body>p:not(.kz-when){max-width:17rem}.kz-jstep-body .kz-textlink{justify-self:center}.kz-journey-to{justify-content:center;margin:24px auto 0;text-align:left}}\n.kz-sprint-zoom{display:grid;gap:48px;margin-top:80px}\n@media (min-width:900px){.kz-sprint-zoom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}}\n.kz-place-profile{display:grid;gap:16px;align-content:start;min-width:0}\n.kz-place-profile h3{font-size:clamp(1.4rem,4vw,1.75rem);line-height:1.25}\n.kz-place-profile h3 .kz-place-name{background:var(--route);color:var(--on-lime);padding:0 .12em;transition:background-color .4s ease}\n.kz-place-note{color:var(--muted);max-width:34rem}\n.kz-nps-line{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}\n.kz-nps-pill{flex:none;display:inline-flex;align-items:center;min-height:28px;padding:0 .6em;border-radius:var(--leaf-sm);background:var(--route);color:var(--on-lime);font-weight:700;transition:background-color .4s ease}\n.kz-nps-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-items:center;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}\n.kz-nps-n{grid-row:span 2;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--route);color:var(--on-lime);font:700 2.2rem\/1 var(--f-sans);transition:background-color .4s ease}\n.kz-nps-t{font-weight:700;font-size:1.1rem}\n.kz-nps-card p:not(.kz-nps-t){color:var(--muted);font-size:.9375rem}\n.kz-nps-card .kz-nps-def{grid-column:1\/-1;font-size:.8125rem}\n@media (min-width:980px){.kz-jstep .kz-nps-line{flex-direction:column;gap:6px;text-align:center}}\n.kz-place-photos{position:relative;margin:0;width:100%;max-width:100%;aspect-ratio:16\/10;border-radius:var(--leaf);overflow:hidden;background:var(--tint)}\n.kz-place-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .6s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}\n.kz-place-photos img.is-on{opacity:1;transform:scale(1)}\n@media (prefers-reduced-motion: reduce){.kz-jp-lime,.kz-journey-steps::after,.kz-jp-node,.kz-jstep-n,.kz-jp-end{transition:none}.kz-jp-start i::after{animation:none;display:none}.kz-place-photos img,.kz-pp,.kz-cal td,.kz-jp-lime path{transition:none}.kz-place-note:not([hidden]){animation:none}}\n.kz-cal-wrap{display:grid;gap:16px}\n.kz-cal-wrap h3{font-size:1.2rem}\n.kz-cal{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed;margin:-4px}\n.kz-cal caption{text-align:left;font-size:.9375rem;color:var(--muted);padding:0 4px 8px;caption-side:top}\n.kz-cal th{font-size:.8125rem;font-weight:700;color:var(--muted);padding:4px 0 6px;text-align:center}\n.kz-cal td{transition:background-color .4s ease;height:54px;border-radius:6px;vertical-align:top;padding:7px 6px;text-align:left;font:700 .9375rem\/1 var(--f-sans);position:relative;font-variant-numeric:tabular-nums}\n.kz-cal .kz-tag{position:absolute;left:6px;right:2px;bottom:7px;font:400 .7rem\/1 var(--f-sans);overflow:hidden;white-space:nowrap}\n.kz-cal .onsite{background:var(--route);color:var(--on-lime)}\n.kz-cal .team{background:var(--route-soft);color:var(--ink)}\n.kz-cal .remote{background:var(--tint);color:var(--ink)}\n.kz-cal .off{color:var(--muted);font-weight:400}\n.kz-cal .demo{background:var(--ink);color:var(--paper)}\n.kz-cal-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.875rem;color:var(--muted)}\n.kz-cal-legend li{display:flex;align-items:center;gap:8px}\n.kz-sw{width:14px;height:14px;border-radius:3px;flex:none;display:inline-block}\n.kz-sw.onsite{background:var(--route)}\n.kz-sw.team{background:var(--route-soft)}\n.kz-sw.remote{background:var(--tint)}\n.kz-sw.demo{background:var(--ink)}\n.kz-cal-foot{font-size:.9375rem;color:var(--muted)}\n.kz-stories{background:var(--surface)}\n.kz-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,78%);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-right:max(16px,env(safe-area-inset-right,0px));scrollbar-width:thin}\n@media (min-width:700px){.kz-rail{grid-auto-columns:minmax(240px,40%)}}\n@media (min-width:1040px){.kz-rail{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin-right:0;padding-right:0}}\n.kz-story{scroll-snap-align:start;display:grid;gap:8px;text-decoration:none;align-content:start;min-width:0}\n.kz-story-thumb{position:relative;border-radius:var(--leaf-sm);overflow:hidden;background:var(--band);margin-bottom:6px}\n.kz-story-thumb img{width:100%;aspect-ratio:16\/9;object-fit:cover;transition:transform .3s ease}\n.kz-story:hover .kz-story-thumb img{transform:scale(1.03)}\n.kz-play{position:absolute;left:10px;bottom:10px;width:40px;height:40px;border-radius:50%;background:var(--lime);display:grid;place-items:center}\n.kz-play::before{content:\"\";margin-left:3px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent var(--on-lime)}\n.kz-story h3{font-size:1.1rem}\n.kz-story p{font-size:.9375rem;color:var(--muted)}\n.kz-research{margin-top:80px;display:grid;gap:20px}\n@media (min-width:900px){.kz-research{grid-template-columns:.75fr 1.25fr;gap:56px}}\n.kz-research h3{font-size:1.2rem}\n.kz-research .kz-big{font:700 clamp(1.35rem,4.4vw,1.8rem)\/1.35 var(--f-sans)}\n.kz-research-body{display:grid;gap:16px;max-width:42rem}\n.kz-research-body p:not(.kz-big){color:var(--muted)}\n.kz-logos{margin-top:72px;display:grid;gap:24px}\n.kz-logos p{font-size:.9375rem;color:var(--muted)}\n.kz-logo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;align-items:center}\n@media (min-width:900px){.kz-logo-row{grid-template-columns:repeat(8,minmax(0,1fr))}}\n.kz-logo-row img{height:26px;width:100%;object-fit:contain;opacity:.75}\nhtml.dark .kz .kz-logo-row img{filter:invert(1) brightness(1.4)}\n.kz-money-grid{display:grid;gap:22px}\n@media (min-width:900px){.kz-money-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:start}.kz-money-grid .kz-sec-head{grid-column:1\/-1}}\n.kz-price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--leaf);padding:26px 22px;display:grid;gap:18px;box-shadow:var(--shadow)}\n@media (min-width:600px){.kz-price-card{padding:32px}}\n.kz-price-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}\n.kz-price-label{font:600 .8125rem\/1.3 var(--f-mono);color:var(--muted);width:100%}\n.kz-price{font:700 clamp(2.6rem,11vw,3.6rem)\/1 var(--f-sans);font-variant-numeric:tabular-nums}\n.kz-price-meta{font-weight:700;color:var(--muted)}\n.kz-pay{display:grid;gap:14px;counter-reset:pay}\n.kz-pay li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;counter-increment:pay;font-size:1rem;color:var(--muted)}\n.kz-pay li::before{content:counter(pay);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--on-lime);font:700 .875rem\/1 var(--f-mono)}\n.kz-pay strong{color:var(--ink)}\n.kz-fine{font-size:.875rem;color:var(--muted)}\n.kz-money-aside{display:grid;gap:14px}\n.kz-mini{border:1px solid var(--line);border-radius:var(--leaf-sm);padding:20px;display:grid;gap:8px;background:var(--paper)}\n.kz-mini p{color:var(--muted);font-size:.975rem}\n.kz-mini h3{font-size:1.05rem}\n.kz-mini.free{background:var(--ink);color:var(--paper);border-color:var(--ink)}\n.kz-mini.free p{color:inherit;opacity:.82}\n.kz-mini.free h3 mark{font-size:inherit}\n.kz-mini .kz-btn{justify-self:start;margin-top:8px;min-height:46px}\n.kz-mini .kz-textlink{justify-self:start;font-size:.95rem;margin-top:2px}\n.kz-mini.bolt{background:var(--lime-soft);border-color:transparent}\n.kz-mini.bolt p{color:var(--ink)}\n.kz-info{background:var(--lime-soft)}\n.kz-info-grid{display:grid;gap:44px}\n@media (min-width:900px){.kz-info-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}}\n.kz-info .kz-sec-head{margin-bottom:0}\n.kz-info .kz-sec-head p{color:var(--ink);opacity:.85}\n.kz-info-main{display:grid;gap:32px;align-content:start;min-width:0}\n.kz-sess{display:grid;gap:6px}\n.kz-sess-opt{appearance:none;border:0;cursor:pointer;text-align:left;display:grid;grid-template-columns:20px minmax(0,1fr);gap:2px 14px;align-items:center;padding:14px 16px;border-radius:var(--leaf-sm);background:transparent;color:var(--ink);font:inherit;transition:background-color .2s ease}\n.kz-sess-opt::before{content:\"\";grid-row:span 2;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ink);transition:box-shadow .2s ease}\n.kz-sess-opt:hover{background:var(--glow)}\n.kz-sess-opt[aria-checked=\"true\"]{background:var(--surface)}\n.kz-sess-opt[aria-checked=\"true\"]::before{box-shadow:inset 0 0 0 6px var(--ink)}\n.kz-sess-opt strong{font-size:1.05rem;line-height:1.3}\n.kz-sess-opt span{color:var(--muted);font-size:.9375rem;line-height:1.4}\n.kz-sess-opt:focus-visible{outline:3px solid var(--ink);outline-offset:2px}\n.kz-count{display:grid;gap:12px}\n.kz-count-label{font-weight:700}\n.kz-count-n{display:flex;flex-wrap:wrap;gap:8px}\n.kz-count-n span{display:grid;justify-items:center;min-width:68px;padding:12px 10px 10px;background:var(--ink);color:var(--paper);border-radius:var(--leaf-sm)}\n.kz-count-n b{display:block;font:700 clamp(1.6rem,6vw,2.2rem)\/1 var(--f-sans);font-variant-numeric:tabular-nums}\n.kz-count-n b.tick{animation:kz-tick .45s cubic-bezier(.2,.8,.2,1)}\n@keyframes kz-tick{from{transform:translateY(-7px);opacity:.25}to{transform:none;opacity:1}}\n.kz-count-n i{font-style:normal;font-size:.75rem;opacity:.75;margin-top:6px}\n.kz-count-soon{max-width:30rem}\n.kz-cal-links{display:flex;flex-wrap:wrap;gap:8px 20px}\n.kz-join{display:grid;gap:14px}\n.kz-join h3{font-size:1.15rem}\n.kz-howto{display:grid;gap:12px;counter-reset:h}\n.kz-howto li{display:flex;gap:12px;align-items:baseline;counter-increment:h;font-weight:700}\n.kz-howto li::before{content:counter(h) \".\";min-width:1.3em}\n.kz-howto small{display:block;font-weight:400;color:var(--muted);font-size:.9rem;margin-top:2px}\n.kz-info .kz-cta-row{margin-top:4px}\n.kz-qb{background:var(--surface);border-radius:var(--leaf);padding:24px;display:grid;gap:18px;align-content:start;min-width:0}\n@media (min-width:600px){.kz-qb{padding:32px}}\n.kz-qb h3{font-size:clamp(1.35rem,4vw,1.7rem)}\n.kz-qb>p{color:var(--muted)}\n.kz-qb-chips{display:flex;flex-wrap:wrap;gap:8px}\n.kz-qchip{appearance:none;border:0;cursor:pointer;text-align:left;padding:.6em .9em;border-radius:var(--leaf-sm);background:var(--tint);color:var(--ink);font:400 .9rem\/1.3 var(--f-sans);transition:background-color .2s ease,transform .2s cubic-bezier(.3,1.6,.5,1)}\n.kz-qchip::before{content:\"+ \";font-weight:700}\n.kz-qchip:hover{background:var(--lime-soft)}\n.kz-qchip:active{transform:scale(.96)}\n.kz-qchip[aria-pressed=\"true\"]{background:var(--lime);color:var(--on-lime);font-weight:700}\n.kz-qchip[aria-pressed=\"true\"]::before{content:\"\\2713  \"}\n.kz-qchip:focus-visible,.kz-qb-list button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}\n.kz-qb-add{display:flex;flex-wrap:wrap;gap:8px}\n.kz-qb-add input{flex:1 1 200px;min-width:0;min-height:48px;padding:0 14px;border:0;border-radius:var(--leaf-sm);background:var(--tint);color:var(--ink);font:400 1rem\/1.2 var(--f-sans)}\n.kz-qb-add input::placeholder{color:var(--muted)}\n.kz-qb-add input:focus-visible{outline:3px solid var(--ink);outline-offset:1px}\n.kz-btn-ink{background:var(--ink);color:var(--paper);min-height:48px}\n.kz-btn-ink:hover{opacity:.9}\n.kz-qb-listwrap{display:grid;gap:10px}\n.kz-qb-title{font-weight:700;font-size:.9375rem}\n.kz-qb-list{display:grid;gap:6px;counter-reset:q}\n.kz-qb-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;counter-increment:q;padding:8px 8px 8px 14px;border-radius:var(--leaf-sm);background:var(--paper);animation:kz-in .35s cubic-bezier(.2,.8,.2,1)}\n.kz-qb-list li::before{content:counter(q) \".\";font-weight:700;font-variant-numeric:tabular-nums}\n.kz-qb-list li span{overflow-wrap:anywhere}\n.kz-qb-list button{appearance:none;border:0;background:none;cursor:pointer;color:var(--muted);width:34px;height:34px;border-radius:50%;font:700 1.15rem\/1 var(--f-sans)}\n.kz-qb-list button:hover{background:var(--tint);color:var(--ink)}\n.kz-qb-empty{color:var(--muted);font-size:.9375rem}\n.kz-qb-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}\n.kz-qb-actions .kz-btn:disabled{opacity:.45;cursor:not-allowed}\n.kz-qb-note{font-size:.875rem;color:var(--muted)}\n@media (prefers-reduced-motion: reduce){.kz-count-n b.tick,.kz-qb-list li{animation:none}.kz-qchip{transition:none}}\n.kz-faq-list{display:grid;max-width:52rem}\n.kz-faq-list details{border-bottom:1px solid var(--line)}\n.kz-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font-weight:700;font-size:1.05rem;line-height:1.4}\n.kz-faq-list summary::-webkit-details-marker{display:none}\n.kz-faq-list summary::after{content:\"+\";font:400 1.6rem\/1 var(--f-sans);flex:none;width:24px;text-align:center}\n.kz-faq-list details[open] summary::after{content:\"\\2212\"}\n.kz-faq-list .kz-a{padding:0 0 24px;color:var(--muted);display:grid;gap:10px;max-width:42rem}\n.kz-faq-more{margin-top:28px}\n.kz-faq-for{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-12px 0 28px}\n.kz-faq-for-label{font-weight:700}\n.kz-faq-for-note{flex-basis:100%;font-size:.875rem;color:var(--muted)}\n.kz-faq-place{display:grid}\n.kz-faq-place:not([hidden]) details{animation:kz-in .4s cubic-bezier(.2,.8,.2,1)}\n.kz-faq-list .kz-a .kz-textlink{font-size:inherit}\n@media (prefers-reduced-motion: reduce){.kz-faq-place:not([hidden]) details{animation:none}}\n.kz-final{background:var(--band);color:var(--band-fg);overflow:hidden}\n.kz-final-grid{display:grid;gap:48px}\n@media (min-width:900px){.kz-final-grid{grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}}\n.kz-final h2{font-size:clamp(2rem,7vw,3.2rem);line-height:1.1}\n.kz-final-copy{display:grid;gap:20px}\n.kz-final-copy>p{color:var(--band-muted);font-size:1.1rem}\n.kz-final .kz-btn-ghost{color:var(--band-fg);border-color:var(--band-fg)}\n.kz-final .kz-btn-ghost:hover{background:var(--band-fill)}\n.kz-recap{display:grid;gap:16px}\n.kz-recap h3{font-size:1.1rem;color:var(--lime)}\n.kz-recap dl{margin:0;display:grid;gap:12px}\n.kz-recap div{display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:16px;font-size:1rem}\n.kz-recap dt{color:var(--band-muted)}\n.kz-recap dd{margin:0;font-weight:700}\n.kz-final-photo{margin:64px 0 0}\n.kz-final-photo img{width:100%;aspect-ratio:16\/7;object-fit:cover;border-radius:var(--leaf)}\n@media (max-width:599px){.kz-final-photo img{aspect-ratio:4\/3}}\n.kz-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--band);box-shadow:0 -1px 0 var(--band-fill);color:var(--band-fg);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;gap:12px}\n.kz-sticky .kz-t{display:grid;gap:2px;min-width:0}\n.kz-sticky strong{font-size:.9375rem;line-height:1.2}\n.kz-sticky span{font-size:.8rem;line-height:1.3;color:var(--band-muted)}\n.kz-sticky .kz-btn{min-height:46px;padding:.6em 1.1em;flex:none}\n@media (min-width:900px){.kz-sticky{display:none!important}}\n@media (prefers-reduced-motion: reduce){:where(.kz) *{transition:none!important;scroll-behavior:auto!important}}\n\/* the default page template prints the page title as a second H1; this page brings its own *\/\nmain:has(#kz-lp1)>h1.entry-header,main:has(#kz-lp1) h1.entry-header{display:none!important}\n.kz.full-width{max-width:none}\n\/* the theme puts every child of .full-width in its content column; our sections run edge to edge *\/\nmain .kz.full-width > *{grid-column:full-width}\n\n<\/style>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\" id=\"kz-lp1\">\n<!-- HERO -->\n<section class=\"kz-hero\" aria-labelledby=\"kz-h-hero\">\n  <div class=\"kz-wrap kz-hero-grid\">\n    <div class=\"kz-hero-copy\">\n      <h1 id=\"kz-h-hero\">You can start from <mark>zero<\/mark>. Most people here did.<\/h1>\n      <p class=\"kz-lead\">No coding background. A job, a family, maybe a mortgage. That&#8217;s a normal starting point at \/\/kood. In 15 months you learn to build real products with AI, alongside people who started where you are.<\/p>\n      <ol class=\"kz-hj\" id=\"kz-hero-cta\" aria-label=\"Three steps from here\">\n        <li class=\"kz-hj-step\"><span class=\"kz-hj-n\" aria-hidden=\"true\">1<\/span><a class=\"kz-btn kz-btn-primary\" data-cta=\"hero\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=hero\">Play the game<\/a><\/li>\n        <li class=\"kz-hj-step\"><span class=\"kz-hj-n\" aria-hidden=\"true\">2<\/span><a class=\"kz-btn kz-btn-ghost\" data-cta=\"hero-info\" href=\"#kz-info\">Join an info session<\/a><\/li>\n        <li class=\"kz-hj-step kz-hj-place\"><span class=\"kz-hj-n\" aria-hidden=\"true\">3<\/span><div class=\"kz-hj-pick\"><b>Study at:<\/b><span class=\"kz-hj-pps\" role=\"group\" aria-label=\"Where you study\"><button class=\"kz-pp kz-pp-johvi\" type=\"button\" aria-pressed=\"true\" data-place=\"johvi\" data-src=\"hero\"><i><\/i>kood\/J\u00f5hvi<\/button><button class=\"kz-pp kz-pp-jarva\" type=\"button\" aria-pressed=\"false\" data-place=\"jarva\" data-src=\"hero\"><i><\/i>kood\/J\u00e4rva<\/button><button class=\"kz-pp kz-pp-voru\" type=\"button\" aria-pressed=\"false\" data-place=\"voru\" data-src=\"hero\"><i><\/i>kood\/V\u00f5ru<\/button><\/span><\/div><\/li>\n      <\/ol>\n      <p class=\"kz-cta-note\">The test is free and takes 30 minutes on your phone. Selection Sprint 23 runs from 18 January to 5 February 2027 in J\u00f5hvi, V\u00f5ru and Paide.<\/p>\n    <\/div>\n    <figure class=\"kz-hero-media\">\n      <img decoding=\"async\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/11\/johvi-sprint21-058-hero-2400.jpg\" width=\"2400\" height=\"1600\" fetchpriority=\"high\" alt=\"A cheerful duo makes rock-on hand signs during Selection Sprint 21 at kood\/J\u00f5hvi, the man holding a sheet of paper\">\n    <\/figure>\n  <\/div>\n  <svg class=\"kz-hero-shapes\" viewBox=\"0 0 944 480\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M773.75 0 496 480h170.24L944 0z\" fill=\"currentColor\"\/><circle cx=\"100\" cy=\"380\" r=\"100\" fill=\"currentColor\"\/><circle cx=\"348\" cy=\"380\" r=\"100\" fill=\"currentColor\"\/><\/svg>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- WHAT YOU BECOME: value proposition, experience slider and the coding lab for that level -->\n<section class=\"kz-sec kz-become\" id=\"kz-become\" aria-labelledby=\"kz-h-become\">\n  <div class=\"kz-lanyard kz-lanyard-top\" aria-hidden=\"true\"><\/div>\n  <div class=\"kz-wrap\">\n    <div class=\"kz-become-top\">\n      <div class=\"kz-become-intro\">\n        <div class=\"kz-sec-head\">\n          <h2 id=\"kz-h-become\">You learn to build real products, with AI as your tool<\/h2>\n          <p>At \/\/kood you train as an AI-Ready Product Engineer. You work out what a product needs, let AI take on the routine code and stay responsible for what ships. Companies hire for that judgement.<\/p>\n        <\/div>\n        <div class=\"kz-lvl\">\n          <label class=\"kz-lvl-q\" for=\"kz-lvl-range\">How much code have you written so far?<\/label>\n          <div class=\"kz-lvl-scale\">\n            <div class=\"kz-lvl-track\" aria-hidden=\"true\"><span class=\"kz-lvl-fill\"><\/span><i class=\"lit\"><\/i><i><\/i><i><\/i><i><\/i><\/div>\n            <input class=\"kz-lvl-range\" id=\"kz-lvl-range\" type=\"range\" min=\"0\" max=\"3\" step=\"1\" value=\"0\" aria-valuetext=\"Zero, or below\">\n          <\/div>\n          <div class=\"kz-lvl-ticks\" aria-hidden=\"true\">\n            <button class=\"kz-lvl-tick is-on\" type=\"button\" tabindex=\"-1\">Zero, or below<\/button>\n            <button class=\"kz-lvl-tick\" type=\"button\" tabindex=\"-1\">Tried a bit<\/button>\n            <button class=\"kz-lvl-tick\" type=\"button\" tabindex=\"-1\">I build things<\/button>\n            <button class=\"kz-lvl-tick\" type=\"button\" tabindex=\"-1\">Senior developer<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n      <figure class=\"kz-lvl-photos\">\n        <img loading=\"lazy\" class=\"is-on\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2025\/11\/ANVA8447-1-1160x773.jpg\" width=\"1160\" height=\"773\" decoding=\"async\" alt=\"Three women work through a problem together at one laptop\">\n        <img loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/10\/KJstart-38-scaled-e1728388961423-1160x925.jpg\" width=\"1160\" height=\"925\" decoding=\"async\" alt=\"Two smiling young men side by side at their laptops\">\n        <img loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/10\/SprintKJ-443-scaled-e1728389198633-1160x751.jpg\" width=\"1160\" height=\"751\" decoding=\"async\" style=\"object-position:80% 50%\" alt=\"A woman in a green blouse codes on her laptop, with other learners working on their tasks behind her\">\n        <img loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/11\/Sprint22-18-1160x773.jpg\" width=\"960\" height=\"720\" decoding=\"async\" alt=\"Top-down view of people working on laptops around a round table\">\n      <\/figure>\n    <\/div>\n\n    <div class=\"kz-lvl-stage\">\n      <div class=\"kz-lvl-panels\" aria-live=\"polite\">\n        <div class=\"kz-lvl-panel\" data-level=\"1\">\n          <h3>That&#8217;s where most people here started.<\/h3>\n          <p>You don&#8217;t need to know what code looks like yet. The test is a 30-minute logic game with no code in it, and the Selection Sprint starts from the very first line. AI helps you from day one, and you learn to check what it gives you.<\/p>\n          <ul class=\"kz-lvl-points\">\n            <li>No coding experience or exam results needed<\/li>\n            <li>Peers help you when you&#8217;re stuck<\/li>\n            <li>Real tasks from your first Sprint day<\/li>\n          <\/ul>\n          <div class=\"kz-lvl-cta\"><a class=\"kz-btn kz-btn-primary\" data-cta=\"level-1\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=level-1\">Take the test<\/a><\/div>\n        <\/div>\n        <div class=\"kz-lvl-panel\" data-level=\"2\" hidden>\n          <h3>You&#8217;ve seen some code. Now you build whole products.<\/h3>\n          <p>Maybe it was a course at school, a YouTube tutorial or a chatbot writing code for you. At \/\/kood you build complete products in a team, use AI to move faster and learn why the code works, so you can fix it when it breaks.<\/p>\n          <ul class=\"kz-lvl-points\">\n            <li>Apply from 18, no exam results needed<\/li>\n            <li>Study in English, hybrid after the Sprint<\/li>\n            <li>Pay after you&#8217;re hired with the ISA<\/li>\n          <\/ul>\n          <div class=\"kz-lvl-cta\"><a class=\"kz-btn kz-btn-primary\" data-cta=\"level-2\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=level-2\">Take the test<\/a><\/div>\n        <\/div>\n        <div class=\"kz-lvl-panel\" data-level=\"3\" hidden>\n          <h3>Your head start counts, and the projects get hard fast.<\/h3>\n          <p>You&#8217;ll recognise the basics in the Sprint. After that you build products you can explain, review and run, with AI handling the routine code. That&#8217;s what the employers we interviewed asked for. You work alongside people from very different backgrounds, the way real product teams do.<\/p>\n          <ul class=\"kz-lvl-points\">\n            <li>Back-end, user-facing products and AI-powered systems<\/li>\n            <li>You review AI-written code and defend your choices<\/li>\n            <li>A \/\/kood diploma and a portfolio of real projects<\/li>\n          <\/ul>\n          <div class=\"kz-lvl-cta\"><a class=\"kz-btn kz-btn-primary\" data-cta=\"level-3\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=level-3\">Take the test<\/a><\/div>\n        <\/div>\n        <div class=\"kz-lvl-panel\" data-level=\"4\" hidden>\n          <h3>Worried AI will replace your job?<\/h3>\n          <p class=\"kz-lvl-hook\">Want to be safe from the next layoff? Sign up. Module 2 of the \/\/kood curriculum opens to experienced developers soon.<\/p>\n          <p>Module 2, AI-Ready Product Engineering, is the second part of our AI-Ready Product Engineer programme (up to 9 months). It&#8217;s about the calls AI can&#8217;t make for you: scope, trade-offs and priorities. You build AI into real products, hand the routine work to agents and own the result. Your years of writing code are the head start.<\/p>\n          <ul class=\"kz-lvl-points\">\n            <li>Scope, trade-offs and priorities<\/li>\n            <li>AI and agents inside real products<\/li>\n            <li>Made for people who already code<\/li>\n          <\/ul>\n          <div class=\"kz-lvl-cta\"><a class=\"kz-textlink\" data-cta=\"level-4-expert\" href=\"https:\/\/kood.tech\/en\/short-courses\/kood-expert\/\" target=\"_blank\" rel=\"noopener\">Need something now? See kood\/Expert<\/a><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"kz-lvl-work\">\n        <div class=\"kz-lab\" id=\"kz-lab\">\n          <div id=\"kz-lab-panel\" style=\"display:grid;gap:16px\">\n            <div class=\"kz-lab-task\">\n              <h3 id=\"kz-lab-title\">Say hello<\/h3>\n              <div id=\"kz-lab-desc\" class=\"kz-lab-desc\">Loading the task\u2026<\/div>\n            <\/div>\n            <div class=\"kz-editor\">\n              <span id=\"kz-lab-file\" hidden>hello.js<\/span>\n              <div class=\"kz-editor-body\">\n                <pre class=\"kz-gutter\" id=\"kz-lab-gutter\" aria-hidden=\"true\" hidden>1<\/pre>\n                <textarea class=\"kz-code\" id=\"kz-lab-code\" spellcheck=\"false\" autocapitalize=\"off\" autocomplete=\"off\" autocorrect=\"off\" wrap=\"off\" rows=\"4\" aria-label=\"Code editor\" aria-describedby=\"kz-lab-desc kz-lab-kbd\"><\/textarea>\n              <\/div>\n              <div class=\"kz-keys\" id=\"kz-lab-keys\" aria-label=\"Insert a symbol\">\n                <button class=\"kz-key\" type=\"button\" data-ins=\"(\">(<\/button><button class=\"kz-key\" type=\"button\" data-ins=\")\">)<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"{\">{<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"}\">}<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"&quot;\">&#8220;<\/button><button class=\"kz-key\" type=\"button\" data-ins=\";\">;<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"=\">=<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"&lt;\">&lt;<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"&gt;\">&gt;<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"+\">+<\/button><button class=\"kz-key\" type=\"button\" data-ins=\":\">:<\/button><button class=\"kz-key\" type=\"button\" data-ins=\"  \" aria-label=\"Indent\">tab<\/button>\n              <\/div>\n            <\/div>\n            <div class=\"kz-lab-actions\">\n              <button class=\"kz-btn kz-btn-primary\" type=\"button\" id=\"kz-lab-run\">Run code<\/button>\n              <button class=\"kz-btn kz-btn-soft\" type=\"button\" id=\"kz-lab-hint\">Hint<\/button>\n              <button class=\"kz-btn kz-btn-soft\" type=\"button\" id=\"kz-lab-reset\">Reset<\/button>\n              <p class=\"kz-kbd-tip\" id=\"kz-lab-kbd\">Ctrl + Enter runs your code. Tab indents; press Esc first to leave the editor with Tab.<\/p>\n            <\/div>\n            <span id=\"kz-lab-status\" hidden>ready<\/span>\n            <pre class=\"kz-out\" id=\"kz-lab-out\" aria-live=\"polite\"><span class=\"kz-ph\">Press \u201cRun code\u201d to see what your program prints.<\/span><\/pre>\n            <div class=\"kz-lab-msg\" id=\"kz-lab-msg\" role=\"status\" hidden><\/div>\n            <div class=\"kz-lab-hint\" id=\"kz-lab-hints\" hidden><\/div>\n          <\/div>\n          <div class=\"kz-lab-done\" id=\"kz-lab-done\" hidden>\n            <h3>You&#8217;re ready to apply.<\/h3>\n            <p>You&#8217;re a good fit for the Selection Sprint. There you build on this every day, with people next to you who are figuring it out at the same time.<\/p>\n            <a class=\"kz-btn\" data-cta=\"code-done\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=code-done\">Take the logic game<\/a>\n          <\/div>\n          <p class=\"kz-lab-note\">A taste, not the admission test. It runs JavaScript in your browser, and nothing you type can break anything.<\/p>\n        <\/div>\n\n        <div class=\"kz-m2\" id=\"kz-m2\" hidden>\n          <pre class=\"kz-m2-code\" aria-label=\"A joke in code: AI clears a developer's 40 tickets in four minutes, so the developer's next step is \/\/kood Module 2\"><code><span class=\"kz-ln\" style=\"--i:0\"><span class=\"kz-c\">\/\/ Monday, 09:00<\/span><\/span>\n<span class=\"kz-ln\" style=\"--i:1\">const backlog = you.tickets;            <span class=\"kz-c\">\/\/ 40 tickets<\/span><\/span>\n<span class=\"kz-ln\" style=\"--i:2\">const done = await ai.solve(backlog);   <span class=\"kz-c\">\/\/ 09:04<\/span><\/span>\n<span class=\"kz-ln\" style=\"--i:3\"> <\/span>\n<span class=\"kz-ln\" style=\"--i:4\">if (done.length === backlog.length) {<\/span>\n<span class=\"kz-ln\" style=\"--i:5\">  you.next = \"\/\/kood Module 2\";<\/span>\n<span class=\"kz-ln\" style=\"--i:6\">}<\/span><\/code><\/pre>\n          <form class=\"kz-m2-form\" id=\"kz-m2-form\" novalidate data-mc-action=\"\" data-mc-tags=\"\">\n            <label for=\"kz-m2-email\">Get an email when Module 2 opens<\/label>\n            <div class=\"kz-m2-row\">\n              <input id=\"kz-m2-email\" name=\"email\" type=\"email\" autocomplete=\"email\" placeholder=\"you@company.com\" required>\n              <button class=\"kz-btn kz-btn-primary\" type=\"submit\" data-cta=\"level-4-signup\">Sign me up<\/button>\n            <\/div>\n            <p class=\"kz-m2-note\" id=\"kz-m2-note\" role=\"status\">We&#8217;ll write once, when sign-up opens.<\/p>\n          <\/form>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- DOUBTS: three per experience level, synced with the slider -->\n<section class=\"kz-sec\" id=\"kz-doubts\" aria-labelledby=\"kz-h-doubts\">\n  <div class=\"kz-wrap\">\n    <div class=\"kz-doubts-top\">\n      <div class=\"kz-sec-head\">\n        <h2 id=\"kz-h-doubts\">You have doubts.<\/h2>\n        <p>When we interviewed people who applied to \/\/kood, the same worries came up again and again. Pick your starting point and see the three that matter most.<\/p>\n        <div class=\"kz-doubt-switch\" role=\"group\" aria-label=\"Your starting point\">\n          <button class=\"kz-dsw is-on\" type=\"button\" aria-pressed=\"true\">Zero, or below<\/button>\n          <button class=\"kz-dsw\" type=\"button\" aria-pressed=\"false\">Tried a bit<\/button>\n          <button class=\"kz-dsw\" type=\"button\" aria-pressed=\"false\">I build things<\/button>\n          <button class=\"kz-dsw\" type=\"button\" aria-pressed=\"false\">Senior developer<\/button>\n        <\/div>\n      <\/div>\n      <img loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/09\/Kood_SPRINT20th-127_resized-1160x773.jpg\" width=\"1000\" height=\"625\" decoding=\"async\" alt=\"Selection Sprint participants at a \/\/kood learning centre listen during a session, one resting her chin on her hand\">\n    <\/div>\n\n    <div aria-live=\"polite\">\n      <div class=\"kz-doubt-set\" data-level=\"1\">\n        <article class=\"kz-doubt\" style=\"--i:0\">\n          <h3>I&#8217;ve never written a line of code.<\/h3>\n          <p>You don&#8217;t need to. The first step is a 30-minute logic game that tests how you think, with no code in it. The Selection Sprint then starts from the very first line, and you learn by doing tasks that get harder bit by bit.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:1\">\n          <h3>I&#8217;m too old to start over.<\/h3>\n          <p>The average age at \/\/kood is around 30 and most people come from non-tech jobs. Rain spent 11 years in the Navy before he switched. Employers we spoke to said career changers get up to speed faster, because they already know how to work.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:2\">\n          <h3>I can&#8217;t afford to stop earning.<\/h3>\n          <p>You don&#8217;t have to pay tuition up front. Pay in instalments, or start paying after you&#8217;re hired, once you earn more than the Estonian average salary. Your employer can also cover it. <strong>Do plan your living costs:<\/strong> the programme is full-time.<\/p>\n        <\/article>\n      <\/div>\n\n      <div class=\"kz-doubt-set\" data-level=\"2\" hidden>\n        <article class=\"kz-doubt\" style=\"--i:0\">\n          <h3>Shouldn&#8217;t I go to university instead?<\/h3>\n          <p>You can do both, one after the other. \/\/kood gives you a diploma and a portfolio of real projects. It isn&#8217;t an accredited degree, so if you want one later, \/\/kood graduates can earn a BA at EBS in two years instead of three, and top graduates can apply to TalTech&#8217;s IT bachelor programmes under special conditions.<\/p>\n          <a class=\"kz-textlink\" href=\"https:\/\/kood.tech\/en\/students\/k-x-degree\/\" target=\"_blank\" rel=\"noopener\">\/\/kood and universities<\/a>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:1\">\n          <h3>What if I&#8217;m the slowest in the room?<\/h3>\n          <p>There are no teachers and no lectures. You learn with peers, review each other&#8217;s work and ask for help when you&#8217;re stuck. There&#8217;s always someone just as confused as you, and someone who cracked it an hour ago. Your only competition is yourself from yesterday.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:2\">\n          <h3>Can&#8217;t I learn all this from YouTube and AI?<\/h3>\n          <p>You can learn a lot that way, and you&#8217;ll keep using both here. On your own it&#8217;s hard to find people who review your code, projects with real deadlines and a portfolio employers trust. At \/\/kood you get all three, with peers stuck on the same problems as you.<\/p>\n        <\/article>\n      <\/div>\n\n      <div class=\"kz-doubt-set\" data-level=\"3\" hidden>\n        <article class=\"kz-doubt\" style=\"--i:0\">\n          <h3>Won&#8217;t it be too easy for me?<\/h3>\n          <p>You&#8217;ll move through the basics quickly. The Sprint tests how you solve problems and work in a team, and after that the projects grow into whole products: back-end services, user-facing apps and AI-powered systems. You also review other people&#8217;s code, and they review yours.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:1\">\n          <h3>AI already writes my code. Why learn more?<\/h3>\n          <p>Someone has to decide whether that code is any good. At \/\/kood you use AI from the start and learn to review, test and explain what it writes. The employers we interviewed asked for exactly that judgement in the juniors they hire.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:2\">\n          <h3>I have a job. Can I fit this in?<\/h3>\n          <p>The Sprint asks for two weeks on site, Monday to Friday, 10:00\u201316:00. The third week is remote. After that you can study at a learning centre that&#8217;s open 24\/7, from home, or a mix. People who combine studies with a job say it&#8217;s tough but possible.<\/p>\n        <\/article>\n      <\/div>\n\n      <div class=\"kz-doubt-set\" data-level=\"4\" hidden>\n        <article class=\"kz-doubt\" style=\"--i:0\">\n          <h3>I&#8217;ve written code for years. What&#8217;s left to learn?<\/h3>\n          <p>Module 2 is about the calls you already make, with AI in the loop: what to build, what to cut, which trade-off to accept, and how to hand work to agents and check what comes back. It covers the whole shape of a modern system, from data and logic to interfaces, integrations and AI features.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:1\">\n          <h3>Can&#8217;t I learn this myself with AI tools?<\/h3>\n          <p>You can learn the tools on your own. Product judgement grows faster with people who question your decisions. In Module 2 you build real products with peers from different fields, and they review your choices as closely as you review theirs.<\/p>\n        <\/article>\n        <article class=\"kz-doubt\" style=\"--i:2\">\n          <h3>What does it cost, and when does it start?<\/h3>\n          <p>In the full programme, Module 2 takes up to 9 months. We&#8217;ll send the price, schedule and format for experienced developers to everyone who signs up.<\/p>\n          <a class=\"kz-textlink\" data-cta=\"doubt-m2-signup\" href=\"#kz-become\">Sign up for Module 2<\/a>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- STEPS: the journey from today to the first study day (and on to graduation) -->\n<section class=\"kz-sec\" id=\"kz-steps\" aria-labelledby=\"kz-h-steps\" data-place=\"johvi\">\n  <div class=\"kz-wrap\">\n    <div class=\"kz-sec-head\">\n      <h2 id=\"kz-h-steps\">Four steps from here to March<\/h2>\n      <p>Applications close on 12 January 2027. This is the road from today to your first study day.<\/p>\n    <\/div>\n\n    <div class=\"kz-journey\" id=\"kz-journey\">\n      <div class=\"kz-journey-map\">\n        <svg class=\"kz-jp-svg kz-jp-base\" aria-hidden=\"true\" viewBox=\"0 0 1000 140\" preserveAspectRatio=\"none\" focusable=\"false\"><path d=\"M0,70 C20.8,63.7 62.5,25.7 125,32 C187.5,38.3 291.7,108.0 375,108 C458.3,108.0 541.7,32.0 625,32\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane\" data-place=\"voru\" d=\"M625,32 C690,32 690,38 750,38 C810,38 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane on\" data-place=\"johvi\" d=\"M625,32 C690,32 690,70 750,70 C810,70 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane\" data-place=\"jarva\" d=\"M625,32 C690,32 690,102 750,102 C810,102 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path d=\"M875,108 C937.5,114.3 979.2,76.3 1000,70\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><\/svg>\n        <svg class=\"kz-jp-svg kz-jp-lime\" aria-hidden=\"true\" viewBox=\"0 0 1000 140\" preserveAspectRatio=\"none\" focusable=\"false\"><path d=\"M0,70 C20.8,63.7 62.5,25.7 125,32 C187.5,38.3 291.7,108.0 375,108 C458.3,108.0 541.7,32.0 625,32\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane\" data-place=\"voru\" d=\"M625,32 C690,32 690,38 750,38 C810,38 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane on\" data-place=\"johvi\" d=\"M625,32 C690,32 690,70 750,70 C810,70 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path class=\"kz-jp-lane\" data-place=\"jarva\" d=\"M625,32 C690,32 690,102 750,102 C810,102 810,108 875,108\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><path d=\"M875,108 C937.5,114.3 979.2,76.3 1000,70\" fill=\"none\" vector-effect=\"non-scaling-stroke\"\/><\/svg>\n        <span class=\"kz-jp-start\" aria-hidden=\"true\"><i><\/i><b>You, today<\/b><\/span>\n        <span class=\"kz-jp-node\" aria-hidden=\"true\" style=\"left:12.5%;top:22.86%;--d:.25s\">1<\/span>\n        <span class=\"kz-jp-node\" aria-hidden=\"true\" style=\"left:37.5%;top:77.14%;--d:.75s\">2<\/span>\n        <span class=\"kz-jp-node\" aria-hidden=\"true\" style=\"left:62.5%;top:22.86%;--d:1.25s\">3<\/span>\n        <span class=\"kz-jp-node\" aria-hidden=\"true\" style=\"left:87.5%;top:77.14%;--d:1.75s\">4<\/span>\n        <span class=\"kz-jp-end\" aria-hidden=\"true\"><b>Graduation, May 2028<\/b><svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" focusable=\"false\"><path d=\"M5 22V3\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" fill=\"none\"\/><path d=\"M6 4h12l-3 4 3 4H6z\" fill=\"currentColor\"\/><\/svg><\/span>\n        <div class=\"kz-jp-pins\" role=\"group\" aria-label=\"Where you do the Sprint\">\n          <button class=\"kz-jp-pin kz-pp-voru\" type=\"button\" style=\"top:27.14%\" data-place=\"voru\" aria-pressed=\"false\" aria-label=\"Sprint in kood\/V\u00f5ru\"><i><\/i>V\u00f5ru<\/button>\n          <button class=\"kz-jp-pin kz-pp-johvi\" type=\"button\" style=\"top:50.00%\" data-place=\"johvi\" aria-pressed=\"true\" aria-label=\"Sprint in kood\/J\u00f5hvi\"><i><\/i>J\u00f5hvi<\/button>\n          <button class=\"kz-jp-pin kz-pp-jarva\" type=\"button\" style=\"top:72.86%\" data-place=\"jarva\" aria-pressed=\"false\" aria-label=\"Sprint in kood\/J\u00e4rva\"><i><\/i>J\u00e4rva<\/button>\n        <\/div>\n      <\/div>\n\n      <p class=\"kz-journey-from\" aria-hidden=\"true\"><i><\/i>You, today<\/p>\n      <ol class=\"kz-journey-steps\">\n        <li class=\"kz-jstep\" style=\"--d:.25s\">\n          <span class=\"kz-jstep-n\" aria-hidden=\"true\">1<\/span>\n          <div class=\"kz-jstep-body\">\n            <p class=\"kz-when\">Any time before 12.01.2027<\/p>\n            <h3>Play the logic game<\/h3>\n            <p>30 minutes on your phone or computer. It tests how you think, so there&#8217;s nothing to prepare and no code in it. You get three attempts and see your result straight away. Once you start an attempt, you can&#8217;t pause it.<\/p>\n            <a class=\"kz-textlink\" data-cta=\"step-1\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=step-1\">Play now<\/a>\n          <\/div>\n        <\/li>\n        <li class=\"kz-jstep\" style=\"--d:.75s\">\n          <span class=\"kz-jstep-n\" aria-hidden=\"true\">2<\/span>\n          <div class=\"kz-jstep-body\">\n            <p class=\"kz-when\">7 or 14 December, online<\/p>\n            <h3>Join an info session<\/h3>\n            <p>An online session on how the Sprint works, costs and payment, accommodation and studies, with time for your questions. Everyone joins one before the Sprint. Can&#8217;t make it live? You can watch the recording.<\/p>\n            <a class=\"kz-textlink\" href=\"#kz-info\">Info session dates<\/a>\n          <\/div>\n        <\/li>\n        <li class=\"kz-jstep\" style=\"--d:1.25s\">\n          <span class=\"kz-jstep-n\" aria-hidden=\"true\">3<\/span>\n          <div class=\"kz-jstep-body\">\n            <p class=\"kz-when\">18.01\u20135.02.2027<\/p>\n            <h3>Do the Selection Sprint<\/h3>\n            <p>Three weeks of real tasks with real people: two weeks on site in <span class=\"kz-place-pick-name\" data-form=\"long\">kood\/J\u00f5hvi, kood\/V\u00f5ru or kood\/J\u00e4rva in Paide<\/span>, then one week remote. It&#8217;s the admission test, and your chance to find out if this way of learning suits you.<\/p>\n            <p class=\"kz-nps-line\"><b class=\"kz-nps-pill\">NPS 79<\/b><span>from participants of our summer 2026 Sprint<\/span><\/p>\n            <p class=\"kz-place-q\">Where will you do it?<\/p>\n            <div class=\"kz-place-pick\" role=\"group\" aria-label=\"Sprint location\">\n              <button class=\"kz-pp kz-pp-voru\" type=\"button\" aria-pressed=\"false\" data-place=\"voru\" aria-label=\"kood\/V\u00f5ru\"><i><\/i>V\u00f5ru<\/button>\n              <button class=\"kz-pp kz-pp-johvi\" type=\"button\" aria-pressed=\"true\" data-place=\"johvi\" aria-label=\"kood\/J\u00f5hvi\"><i><\/i>J\u00f5hvi<\/button>\n              <button class=\"kz-pp kz-pp-jarva\" type=\"button\" aria-pressed=\"false\" data-place=\"jarva\" aria-label=\"kood\/J\u00e4rva\"><i><\/i>J\u00e4rva<\/button>\n            <\/div>\n            <a class=\"kz-textlink\" href=\"#kz-sprint-cal\">See your Sprint up close<\/a>\n          <\/div>\n        <\/li>\n        <li class=\"kz-jstep\" style=\"--d:1.75s\">\n          <span class=\"kz-jstep-n\" aria-hidden=\"true\">4<\/span>\n          <div class=\"kz-jstep-body\">\n            <p class=\"kz-when\">March 2027<\/p>\n            <h3>Start studying<\/h3>\n            <p>If you&#8217;re selected, you hear back within two weeks of the Sprint and get your study contract. Then you study at <span class=\"kz-place-pick-name\" data-form=\"at\">a learning centre<\/span>, from home, or both.<\/p>\n            <a class=\"kz-textlink\" data-cta=\"step-4-curriculum\" href=\"https:\/\/kood.tech\/en\/students\/ai-ready-product-engineer-curriculum\/\" target=\"_blank\" rel=\"noopener\">See what you will study<\/a>\n          <\/div>\n        <\/li>\n      <\/ol>\n      <p class=\"kz-journey-to\"><svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 22V3\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" fill=\"none\"\/><path d=\"M6 4h12l-3 4 3 4H6z\" fill=\"currentColor\"\/><\/svg>15 months later, in May 2028, you graduate as an AI-Ready Product Engineer.<\/p>\n    <\/div>\n\n    <div class=\"kz-sprint-zoom\" id=\"kz-sprint-cal\">\n      <div class=\"kz-place-profile\">\n        <figure class=\"kz-place-photos\">\n          <img loading=\"lazy\" data-place=\"voru\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/02\/Kood.Voru-sprint_Foto-Reigo-Teervalt-8-1160x773.jpg\" width=\"1000\" height=\"625\" decoding=\"async\" alt=\"Sprint participants work at laptops under the wooden roof beams of kood\/V\u00f5ru, with cyan kood\/V\u00f5ru speech-bubble signs in front\">\n          <img loading=\"lazy\" data-place=\"johvi\" class=\"is-on\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2025\/10\/Sprinters-coming-to-kood_Johvi-1160x773.jpg\" width=\"1000\" height=\"625\" decoding=\"async\" alt=\"Selection Sprint participants walk into the kood\/J\u00f5hvi learning centre on a sunny day\">\n          <img loading=\"lazy\" data-place=\"jarva\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/02\/blogi_sprint-1160x773.jpg\" width=\"1000\" height=\"625\" decoding=\"async\" alt=\"A full room of Selection Sprint participants wave from their desks at kood\/J\u00e4rva\">\n        <\/figure>\n        <h3>Your Sprint in <span class=\"kz-place-name\">kood\/J\u00f5hvi<\/span><\/h3>\n        <div class=\"kz-place-notes\" aria-live=\"polite\">\n          <p class=\"kz-place-note\" data-place=\"voru\" hidden>Great if you&#8217;re from southern Estonia or Tartu, or have relatives nearby to visit. You study on the restored top floor of a historic bank building in V\u00f5ru, with dorm rooms in close proximity.<\/p>\n          <p class=\"kz-place-note\" data-place=\"johvi\">Best if you want to dedicate yourself to learning technology at its core. There&#8217;s a spacious kood\/J\u00f5hvi dorm, and it&#8217;s the most advanced tech hub in the easternmost corner of Europe.<\/p>\n          <p class=\"kz-place-note\" data-place=\"jarva\" hidden>Great if you&#8217;re from Tallinn or Harjumaa (less than an hour away), or from central or western Estonia. kood\/J\u00e4rva is in Paide, with accommodation nearby.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"kz-cal-wrap\">\n        <h3>The three weeks<\/h3>\n        <table class=\"kz-cal\">\n          <caption>18 January to 5 February 2027<\/caption>\n          <thead><tr><th scope=\"col\" abbr=\"Monday\">Mon<\/th><th scope=\"col\" abbr=\"Tuesday\">Tue<\/th><th scope=\"col\" abbr=\"Wednesday\">Wed<\/th><th scope=\"col\" abbr=\"Thursday\">Thu<\/th><th scope=\"col\" abbr=\"Friday\">Fri<\/th><th scope=\"col\" abbr=\"Saturday\">Sat<\/th><th scope=\"col\" abbr=\"Sunday\">Sun<\/th><\/tr><\/thead>\n          <tbody>\n            <tr><td class=\"onsite\">18<span class=\"kz-sr\"> January, on site<\/span><\/td><td class=\"onsite\">19<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">20<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">21<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">22<span class=\"kz-sr\">, on site, exam<\/span><span class=\"kz-tag\" aria-hidden=\"true\">exam<\/span><\/td><td class=\"team\">23<span class=\"kz-sr\">, weekend team task<\/span><\/td><td class=\"team\">24<span class=\"kz-sr\">, weekend team task<\/span><\/td><\/tr>\n            <tr><td class=\"onsite\">25<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">26<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">27<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">28<span class=\"kz-sr\">, on site<\/span><\/td><td class=\"onsite\">29<span class=\"kz-sr\">, on site, exam<\/span><span class=\"kz-tag\" aria-hidden=\"true\">exam<\/span><\/td><td class=\"team\">30<span class=\"kz-sr\">, weekend team task<\/span><\/td><td class=\"team\">31<span class=\"kz-sr\">, weekend team task<\/span><\/td><\/tr>\n            <tr><td class=\"remote\">1<span class=\"kz-sr\"> February, remote<\/span><\/td><td class=\"remote\">2<span class=\"kz-sr\">, remote<\/span><\/td><td class=\"remote\">3<span class=\"kz-sr\">, remote<\/span><\/td><td class=\"remote\">4<span class=\"kz-sr\">, remote<\/span><\/td><td class=\"remote demo\">5<span class=\"kz-sr\">, last day, project demonstration<\/span><span class=\"kz-tag\" aria-hidden=\"true\">demo<\/span><\/td><td class=\"off\">6<span class=\"kz-sr\">, free<\/span><\/td><td class=\"off\">7<span class=\"kz-sr\">, free<\/span><\/td><\/tr>\n          <\/tbody>\n        <\/table>\n        <ul class=\"kz-cal-legend\">\n          <li><i class=\"kz-sw onsite\"><\/i>On site, 10:00\u201316:00<\/li>\n          <li><i class=\"kz-sw team\"><\/i>Weekend team task<\/li>\n          <li><i class=\"kz-sw remote\"><\/i>Remote team week<\/li>\n          <li><i class=\"kz-sw demo\"><\/i>Project demonstration<\/li>\n        <\/ul>\n        <p class=\"kz-cal-foot\">On Friday, 5 February, the Sprint ends with project demonstrations. Applications close on <strong>12 January 2027<\/strong>.<\/p>\n        <div class=\"kz-nps-card\">\n          <b class=\"kz-nps-n\" aria-hidden=\"true\">79<\/b>\n          <p class=\"kz-nps-t\">Sprint NPS: 79<\/p>\n          <p>That&#8217;s how participants rated our summer 2026 Selection Sprint in kood\/J\u00f5hvi, kood\/V\u00f5ru and kood\/J\u00e4rva.<\/p>\n          <p class=\"kz-nps-def\">NPS (Net Promoter Score) runs from \u2212100 to 100: the share of people who would recommend the Sprint to a friend, minus the share who wouldn&#8217;t.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- STORIES -->\n<section class=\"kz-sec kz-stories\" id=\"kz-stories\" aria-labelledby=\"kz-h-stories\">\n  <div class=\"kz-wrap\">\n    <div class=\"kz-sec-head\">\n      <h2 id=\"kz-h-stories\">They had other careers first<\/h2>\n      <p>The Navy, ballet, a fire station. Five people on how they switched to tech.<\/p>\n    <\/div>\n    <div class=\"kz-rail\">\n      <a class=\"kz-story\" href=\"https:\/\/www.youtube.com\/watch?v=vwFpuoHHZ8Y\" target=\"_blank\" rel=\"noopener\" data-cta=\"story-rain\">\n        <span class=\"kz-story-thumb\"><img loading=\"lazy\" src=\"https:\/\/i.ytimg.com\/vi\/vwFpuoHHZ8Y\/hqdefault.jpg\" width=\"480\" height=\"270\" decoding=\"async\" alt=\"Rain smiling in his \/\/kood career switch video\"><span class=\"kz-play\" aria-hidden=\"true\"><\/span><\/span>\n        <h3>Rain<\/h3>\n        <p>11 years in the Navy. Now he works in tech.<\/p>\n      <\/a>\n      <a class=\"kz-story\" href=\"https:\/\/www.youtube.com\/watch?v=jZxjuIWYpDs\" target=\"_blank\" rel=\"noopener\" data-cta=\"story-giorgi\">\n        <span class=\"kz-story-thumb\"><img loading=\"lazy\" src=\"https:\/\/i.ytimg.com\/vi\/jZxjuIWYpDs\/hqdefault.jpg\" width=\"480\" height=\"270\" decoding=\"async\" alt=\"Giorgi in his \/\/kood career switch video\"><span class=\"kz-play\" aria-hidden=\"true\"><\/span><\/span>\n        <h3>Giorgi<\/h3>\n        <p>Switched from ballet to IT.<\/p>\n      <\/a>\n      <a class=\"kz-story\" href=\"https:\/\/www.youtube.com\/watch?v=Imx35EwVTSs\" target=\"_blank\" rel=\"noopener\" data-cta=\"story-roman\">\n        <span class=\"kz-story-thumb\"><img loading=\"lazy\" src=\"https:\/\/i.ytimg.com\/vi\/Imx35EwVTSs\/hqdefault.jpg\" width=\"480\" height=\"270\" decoding=\"async\" alt=\"Roman in his \/\/kood career switch video\"><span class=\"kz-play\" aria-hidden=\"true\"><\/span><\/span>\n        <h3>Roman<\/h3>\n        <p>Went from firefighting to tech.<\/p>\n      <\/a>\n      <a class=\"kz-story\" href=\"https:\/\/www.youtube.com\/watch?v=wVXhur9RAs0\" target=\"_blank\" rel=\"noopener\" data-cta=\"story-karme\">\n        <span class=\"kz-story-thumb\"><img loading=\"lazy\" src=\"https:\/\/i.ytimg.com\/vi\/wVXhur9RAs0\/hqdefault.jpg\" width=\"480\" height=\"270\" decoding=\"async\" alt=\"Karme smiling in her kood\/J\u00f5hvi success story video\"><span class=\"kz-play\" aria-hidden=\"true\"><\/span><\/span>\n        <h3>Karme<\/h3>\n        <p>Left university halfway. Now she&#8217;s a developer.<\/p>\n      <\/a>\n      <a class=\"kz-story\" href=\"https:\/\/www.youtube.com\/watch?v=QiShGw74wNQ\" target=\"_blank\" rel=\"noopener\" data-cta=\"story-ekke\">\n        <span class=\"kz-story-thumb\"><img loading=\"lazy\" src=\"https:\/\/i.ytimg.com\/vi\/QiShGw74wNQ\/hqdefault.jpg\" width=\"480\" height=\"270\" decoding=\"async\" alt=\"Ekke in his video about going from kood\/J\u00f5hvi to Wise\"><span class=\"kz-play\" aria-hidden=\"true\"><\/span><\/span>\n        <h3>Ekke<\/h3>\n        <p>Started with zero experience. Now he&#8217;s at Wise.<\/p>\n      <\/a>\n    <\/div>\n\n    <div class=\"kz-research\">\n      <h3>What employers told us<\/h3>\n      <div class=\"kz-research-body\">\n        <p class=\"kz-big\">Career changers get up to speed faster. They already know how to work, handle uncertainty and talk to people.<\/p>\n        <p>In early 2026 we interviewed 6 tech recruiters, 19 senior engineers and engineering managers, and 6 of our alumni. Career changers came up again and again as the juniors who grow fastest. Your earlier career counts; the code is the part you learn here.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"kz-logos\">\n      <p>Our alumni work at 190+ organisations, including<\/p>\n      <div class=\"kz-logo-row\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/wise.svg\" width=\"90\" height=\"21\" alt=\"Wise\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/bolt.svg\" width=\"69\" height=\"40\" alt=\"Bolt\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2025\/11\/pipedrive-svg-1.svg\" width=\"120\" height=\"33\" alt=\"Pipedrive\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/lhv.svg\" width=\"90\" height=\"30\" alt=\"LHV\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/seb.svg\" width=\"90\" height=\"38\" alt=\"SEB\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/Swedbank_grayscale.svg\" width=\"120\" height=\"30\" alt=\"Swedbank\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/microsoft.svg\" width=\"130\" height=\"28\" alt=\"Microsoft\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2024\/03\/veriff.svg\" width=\"102\" height=\"28\" alt=\"Veriff\">\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- MONEY -->\n<section class=\"kz-sec\" id=\"kz-cost\" aria-labelledby=\"kz-h-cost\">\n  <div class=\"kz-wrap kz-money-grid\">\n    <div class=\"kz-sec-head\">\n      <h2 id=\"kz-h-cost\">What it costs, in plain numbers<\/h2>\n      <p>You only pay if you&#8217;re selected and start studying. Here&#8217;s the whole picture before you apply.<\/p>\n    <\/div>\n    <div class=\"kz-price-card\">\n      <div class=\"kz-price-top\">\n        <p class=\"kz-price-label\">AI-Ready Product Engineer<\/p>\n        <p class=\"kz-price\">4500 \u20ac<\/p>\n        <p class=\"kz-price-meta\">15 months \/ starts March 2027<\/p>\n      <\/div>\n      <h3>Three ways to pay<\/h3>\n      <ol class=\"kz-pay\">\n        <li><span><strong>Pay flexibly in instalments of 300 \u20ac\/month.<\/strong> Or pay the full amount up front if you prefer.<\/span><\/li>\n        <li><span><strong>Pay after you&#8217;re hired.<\/strong> With the Study Income Sharing Agreement (ISA) you start paying once you have a job and earn more than the Estonian average salary.<\/span><\/li>\n        <li><span><strong>Your employer pays,<\/strong> up front or in instalments.<\/span><\/li>\n      <\/ol>\n      <p class=\"kz-fine\">The ISA applies to the AI-Ready Product Engineer programme. Some conditions apply, for example if a \/\/kood partner company hires you. <a class=\"kz-textlink\" href=\"https:\/\/kood.tech\/en\/applicants\/programme-overview\/\" target=\"_blank\" rel=\"noopener\">Full pricing and ISA terms<\/a><\/p>\n    <\/div>\n    <div class=\"kz-money-aside\">\n      <div class=\"kz-mini free\">\n        <h3>Applying is <mark>free<\/mark><\/h3>\n        <p>The logic game, the info session and the three-week Selection Sprint cost nothing.<\/p>\n        <a class=\"kz-btn kz-btn-primary\" data-cta=\"cost\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=cost\">Take the test<\/a>\n      <\/div>\n      <div class=\"kz-mini bolt\">\n        <h3>Bolt scholarship for women<\/h3>\n        <p>Bolt covers the full tuition for one woman in every batch.<\/p>\n        <a class=\"kz-textlink\" href=\"#kz-info\">Ask about it at an info session<\/a>\n      <\/div>\n      <div class=\"kz-mini\">\n        <h3>Want a shorter start?<\/h3>\n        <p>Coding fundamentals &amp; back-end takes 6 months and costs 2500 \u20ac. Pay 300 \u20ac a month (payments continue after the 6 months until it&#8217;s paid), up front, or through your employer. You can continue into the full programme afterwards.<\/p>\n        <a class=\"kz-textlink\" data-cta=\"cost-programmes\" href=\"https:\/\/kood.tech\/en\/applicants\/programme-overview\/\" target=\"_blank\" rel=\"noopener\">See the programmes<\/a>\n      <\/div>\n      <div class=\"kz-mini\">\n        <h3>No laptop?<\/h3>\n        <p>Rent one from our partner GreenDice from 7.90 \u20ac a month. It&#8217;s delivered in one business day.<\/p>\n      <\/div>\n      <div class=\"kz-mini\">\n        <h3>Plan your living costs<\/h3>\n        <p>The ISA covers tuition, not rent or food, and the programme is full-time. Work out how you&#8217;ll cover the 15 months, and bring your questions to an info session.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- INFO SESSIONS: pick a session, watch the countdown, put it in your calendar, build your question list -->\n<section class=\"kz-sec kz-info\" id=\"kz-info\" aria-labelledby=\"kz-h-info\">\n  <div class=\"kz-wrap kz-info-grid\">\n    <div class=\"kz-info-main\">\n      <div class=\"kz-sec-head\">\n        <h2 id=\"kz-h-info\">Ask your questions live<\/h2>\n        <p>Everyone joins one info session before the Sprint. The \/\/kood team walks you through the Sprint, the money side, accommodation and studies, and you can ask anything.<\/p>\n      <\/div>\n\n      <div class=\"kz-sess\" role=\"radiogroup\" aria-label=\"Info sessions\">\n        <button class=\"kz-sess-opt\" type=\"button\" role=\"radio\" aria-checked=\"true\" data-sess=\"7-dec\" data-start=\"2026-12-07T14:00:00Z\"><strong>Monday, 7 December 2026<\/strong><span>16:00, online<\/span><\/button>\n        <button class=\"kz-sess-opt\" type=\"button\" role=\"radio\" aria-checked=\"false\" tabindex=\"-1\" data-sess=\"14-dec\" data-start=\"2026-12-14T14:00:00Z\"><strong>Monday, 14 December 2026<\/strong><span>16:00, online<\/span><\/button>\n        <button class=\"kz-sess-opt\" type=\"button\" role=\"radio\" aria-checked=\"false\" tabindex=\"-1\" data-sess=\"january\"><strong>January 2027 in Tallinn, Tartu and P\u00e4rnu<\/strong><span>On site, face to face with the \/\/kood team<\/span><\/button>\n      <\/div>\n\n      <div class=\"kz-count\">\n        <p class=\"kz-count-label\" id=\"kz-cd-label\">Starts in<\/p>\n        <div class=\"kz-count-n\" aria-labelledby=\"kz-cd-label\">\n          <span><b id=\"kz-cd-d\">\u2013<\/b><i>days<\/i><\/span>\n          <span><b id=\"kz-cd-h\">\u2013<\/b><i>hours<\/i><\/span>\n          <span><b id=\"kz-cd-m\">\u2013<\/b><i>min<\/i><\/span>\n          <span><b id=\"kz-cd-s\">\u2013<\/b><i>sec<\/i><\/span>\n        <\/div>\n        <p class=\"kz-count-soon\" hidden>We&#8217;ll announce the dates in December. Join an online session now, or check back then.<\/p>\n        <div class=\"kz-cal-links\">\n          <a class=\"kz-textlink\" id=\"kz-cal-google\" href=\"https:\/\/calendar.google.com\/\" target=\"_blank\" rel=\"noopener\">Add to Google Calendar<\/a>\n          <a class=\"kz-textlink\" id=\"kz-cal-outlook\" href=\"https:\/\/outlook.live.com\/calendar\/\" target=\"_blank\" rel=\"noopener\">Add to Outlook<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"kz-join\">\n        <h3>How to get a seat<\/h3>\n        <ol class=\"kz-howto\">\n          <li><span>Create your account on study.kood.tech<\/span><\/li>\n          <li><span>Play the 30-minute logic game<\/span><\/li>\n          <li><span>Pick your info session<small>On the platform it&#8217;s called Check-in.<\/small><\/span><\/li>\n        <\/ol>\n        <div class=\"kz-cta-row\">\n          <a class=\"kz-btn kz-btn-primary\" data-cta=\"info\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=info\">Create my account<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"kz-qb\" id=\"kz-qb\">\n      <h3>Bring your questions<\/h3>\n      <p>Tap the ones you want answered, or write your own. No question is too basic here.<\/p>\n      <div class=\"kz-qb-chips\">\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">How does paying after I&#8217;m hired (ISA) work?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">Can I keep my job during the Sprint?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">What happens if I don&#8217;t get in?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">How many hours a week will I study?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">Can my employer pay for it?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">Do I need my own laptop?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\">How do I apply for the Bolt scholarship?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-level=\"1\">How do I prepare if I&#8217;ve never coded?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-level=\"2\" hidden>Can I apply straight after school?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-level=\"3\" hidden>Can I skip what I already know?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-level=\"4\" hidden>When does Module 2 open, and what will it cost?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-place=\"voru\" hidden>How do I get to kood\/V\u00f5ru from Tartu?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-place=\"johvi\">What&#8217;s the kood\/J\u00f5hvi dorm like?<\/button>\n        <button class=\"kz-qchip\" type=\"button\" aria-pressed=\"false\" data-place=\"jarva\" hidden>How long is the trip from Tallinn to Paide?<\/button>\n      <\/div>\n      <form class=\"kz-qb-add\" id=\"kz-qb-form\">\n        <label class=\"kz-sr\" for=\"kz-qb-input\">Your own question<\/label>\n        <input id=\"kz-qb-input\" type=\"text\" maxlength=\"200\" autocomplete=\"off\" placeholder=\"Type your own question\">\n        <button class=\"kz-btn kz-btn-ink\" type=\"submit\">Add<\/button>\n      <\/form>\n      <div class=\"kz-qb-listwrap\">\n        <p class=\"kz-qb-title\"><span id=\"kz-qb-count\">0<\/span> on your list<\/p>\n        <ol class=\"kz-qb-list\" id=\"kz-qb-list\"><\/ol>\n        <p class=\"kz-qb-empty\" id=\"kz-qb-empty\">Nothing yet. Tap a question above to start your list.<\/p>\n      <\/div>\n      <div class=\"kz-qb-actions\">\n        <button class=\"kz-btn kz-btn-primary\" id=\"kz-qb-copy\" type=\"button\" disabled>Copy my questions<\/button>\n        <span class=\"kz-qb-note\" id=\"kz-qb-note\" role=\"status\">Your list stays on this device.<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- FAQ -->\n<section class=\"kz-sec\" id=\"kz-faq\" aria-labelledby=\"kz-h-faq\">\n  <div class=\"kz-wrap\">\n    <div class=\"kz-sec-head\">\n      <h2 id=\"kz-h-faq\">The practical questions<\/h2>\n    <\/div>\n    <div class=\"kz-faq-for\">\n      <p class=\"kz-faq-for-label\">Questions for<\/p>\n      <div class=\"kz-place-pick kz-faq-pick\" role=\"group\" aria-label=\"Show the questions for a learning centre\">\n        <button class=\"kz-pp kz-pp-voru\" type=\"button\" aria-pressed=\"false\" data-place=\"voru\"><i><\/i>kood\/V\u00f5ru<\/button>\n        <button class=\"kz-pp kz-pp-johvi\" type=\"button\" aria-pressed=\"true\" data-place=\"johvi\"><i><\/i>kood\/J\u00f5hvi<\/button>\n        <button class=\"kz-pp kz-pp-jarva\" type=\"button\" aria-pressed=\"false\" data-place=\"jarva\"><i><\/i>kood\/J\u00e4rva<\/button>\n      <\/div>\n      <p class=\"kz-faq-for-note\">Picked on the route above. Switch here to see another learning centre.<\/p>\n    <\/div>\n    <div class=\"kz-faq-list\" aria-live=\"polite\">\n      <div class=\"kz-faq-place\" data-place=\"voru\" hidden>\n        <details>\n          <summary>I know how hard the Selection Sprint is. How do I prepare for that?<\/summary>\n          <div class=\"kz-a\"><p>Clear your calendar first: two weeks on site, Monday to Friday, 10:00\u201316:00, weekend team tasks, and a remote third week. Ask for time off early. You don&#8217;t need to learn to code beforehand, because the Sprint starts from the very first line. What helps most is practice in figuring things out: try <a class=\"kz-textlink\" href=\"#kz-become\">the coding tasks on this page<\/a>, and when you&#8217;re stuck, search, ask and try again. Come rested, because the days are intense and your team counts on you. Sort out a room nearby or your bus times from Tartu before day one.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>Where do I stay during the Sprint in kood\/V\u00f5ru, and how do I get there?<\/summary>\n          <div class=\"kz-a\"><p>At kood\/V\u00f5ru there are dorm rooms close by. Buses run to V\u00f5ru often from Tartu and other towns. Rooms are shared. Staying nearby isn&#8217;t required, but it makes it easier to work with your group.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>What&#8217;s kood\/V\u00f5ru like?<\/summary>\n          <div class=\"kz-a\"><p>kood\/V\u00f5ru is the second \/\/kood learning centre. V\u00f5ru City Government renovated the historic bank building for it, and you study on its restored top floor. The project was named V\u00f5ru City&#8217;s Deed of the Year 2025.<\/p><\/div>\n        <\/details>\n      <\/div>\n      <div class=\"kz-faq-place\" data-place=\"johvi\">\n        <details>\n          <summary>I know how hard the Selection Sprint is. How do I prepare for that?<\/summary>\n          <div class=\"kz-a\"><p>Clear your calendar first: two weeks on site, Monday to Friday, 10:00\u201316:00, weekend team tasks, and a remote third week. Ask for time off early. You don&#8217;t need to learn to code beforehand, because the Sprint starts from the very first line. What helps most is practice in figuring things out: try <a class=\"kz-textlink\" href=\"#kz-become\">the coding tasks on this page<\/a>, and when you&#8217;re stuck, search, ask and try again. Come rested, because the days are intense and your team counts on you. Book a room in the kood\/J\u00f5hvi dorm, so the two weeks go to the Sprint and not to the commute.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>Where do I stay during the Sprint in kood\/J\u00f5hvi, and how do I get there?<\/summary>\n          <div class=\"kz-a\"><p>You can stay in the spacious dorm in the kood\/J\u00f5hvi building. Trains and buses run to J\u00f5hvi often, but most people stay in the dorm for the two on-site weeks. Rooms are shared.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>What&#8217;s kood\/J\u00f5hvi like?<\/summary>\n          <div class=\"kz-a\"><p>kood\/J\u00f5hvi is the first \/\/kood learning centre, opened in 2021. You work on the 5th floor, the main working floor, and the building also has the dorm, a quiet area, a meeting room, a community area and a gym. Sprint exams take place in the exam room on the 3rd floor.<\/p><\/div>\n        <\/details>\n      <\/div>\n      <div class=\"kz-faq-place\" data-place=\"jarva\" hidden>\n        <details>\n          <summary>I know how hard the Selection Sprint is. How do I prepare for that?<\/summary>\n          <div class=\"kz-a\"><p>Clear your calendar first: two weeks on site, Monday to Friday, 10:00\u201316:00, weekend team tasks, and a remote third week. Ask for time off early. You don&#8217;t need to learn to code beforehand, because the Sprint starts from the very first line. What helps most is practice in figuring things out: try <a class=\"kz-textlink\" href=\"#kz-become\">the coding tasks on this page<\/a>, and when you&#8217;re stuck, search, ask and try again. Come rested, because the days are intense and your team counts on you. Line up your carpool or the bus to M\u00e4o, or book accommodation in Paide, before day one.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>Where do I stay during the Sprint in kood\/J\u00e4rva, and how do I get there?<\/summary>\n          <div class=\"kz-a\"><p>There is accommodation in Paide for kood\/J\u00e4rva. People usually carpool, and there&#8217;s now a new bus stop at M\u00e4o, on the Tallinn\u2013Tartu route, a short distance from Paide. Rooms are shared.<\/p><\/div>\n        <\/details>\n        <details>\n          <summary>What&#8217;s kood\/J\u00e4rva like?<\/summary>\n          <div class=\"kz-a\"><p>kood\/J\u00e4rva is the third \/\/kood learning centre, on the newly renovated 3rd floor of the historic Keskv\u00e4ljak 15 building in Paide. You work in coding pods, four-desk hubs built for intensive coding and teamwork. It was named J\u00e4rvamaa&#8217;s Deed of the Year 2025 and Learning Initiative of the Year 2025.<\/p><\/div>\n        <\/details>\n      <\/div>\n      <details>\n        <summary>Who can apply?<\/summary>\n        <div class=\"kz-a\"><p>Anyone who&#8217;s at least 18, has finished basic education (9 grades in Estonia) and speaks good English. You need to live in Estonia with a residence permit or be an EU citizen. You don&#8217;t need Estonian citizenship or any coding experience.<\/p><\/div>\n      <\/details>\n      <details>\n        <summary>How good does my English need to be?<\/summary>\n        <div class=\"kz-a\"><p>Studies are in English. An intermediate level is enough to get going, and your English improves as you work with others.<\/p><\/div>\n      <\/details>\n      <details>\n        <summary>Can I keep my job during the Sprint?<\/summary>\n        <div class=\"kz-a\"><p>The two on-site weeks run Monday to Friday, 10:00\u201316:00, so plan time off for those. The third week is remote. Ask your employer early: some companies cover the programme as part of their training budget.<\/p><\/div>\n      <\/details>\n      <details>\n        <summary>Do I need my own laptop?<\/summary>\n        <div class=\"kz-a\"><p>Yes, bring one to the Sprint. If you don&#8217;t have one, rent a laptop from our partner GreenDice from 7.90 \u20ac a month.<\/p><\/div>\n      <\/details>\n      <details>\n        <summary>What if I don&#8217;t get in?<\/summary>\n        <div class=\"kz-a\"><p>You leave with three weeks of real coding practice and a clear sense of whether this is for you. You can apply again for a later Selection Sprint.<\/p><\/div>\n      <\/details>\n      <details>\n        <summary>Do I get a degree?<\/summary>\n        <div class=\"kz-a\"><p>You get a \/\/kood diploma and a portfolio of projects to show employers. \/\/kood doesn&#8217;t award an accredited degree, because its model doesn&#8217;t fit the traditional definitions in Estonia.<\/p><\/div>\n      <\/details>\n    <\/div>\n    <p class=\"kz-faq-more\"><a class=\"kz-textlink\" href=\"https:\/\/kood.tech\/en\/applicants\/faq\/\" target=\"_blank\" rel=\"noopener\">All frequently asked questions<\/a><\/p>\n  <\/div>\n<\/section>\n<\/div>\n\n\n\n<div class=\"kz full-width\" data-lp=\"b\" data-place=\"johvi\">\n<!-- FINAL CTA -->\n<section class=\"kz-sec kz-final\" id=\"kz-apply\" aria-labelledby=\"kz-h-final\">\n  <div class=\"kz-wrap\">\n    <div class=\"kz-final-grid\">\n      <div class=\"kz-final-copy\">\n        <h2 id=\"kz-h-final\">Your first step takes 30 minutes.<\/h2>\n        <p>Applications for Selection Sprint 23 close on 12 January 2027. Play the logic game tonight, on your phone if you like.<\/p>\n        <div class=\"kz-cta-row\">\n          <a class=\"kz-btn kz-btn-primary\" data-cta=\"final\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=final\">Take the test<\/a>\n          <a class=\"kz-btn kz-btn-ghost\" href=\"https:\/\/kood.tech\/en\/applicants\/programme-overview\/\" target=\"_blank\" rel=\"noopener\">Programme overview<\/a>\n        <\/div>\n      <\/div>\n      <div class=\"kz-recap\">\n        <h3>In short<\/h3>\n        <dl>\n          <div><dt>Programme<\/dt><dd>AI-Ready Product Engineer, 15 months<\/dd><\/div>\n          <div><dt>Cost<\/dt><dd>4500 \u20ac, or pay after you&#8217;re hired<\/dd><\/div>\n          <div><dt>You need<\/dt><dd>18+, good English, no coding background<\/dd><\/div>\n          <div><dt>Sprint<\/dt><dd>18.01\u20135.02.2027 in <span class=\"kz-place-pick-name\" data-form=\"town\">J\u00f5hvi, V\u00f5ru or Paide<\/span><\/dd><\/div>\n          <div><dt>Deadline<\/dt><dd>12.01.2027<\/dd><\/div>\n        <\/dl>\n      <\/div>\n    <\/div>\n    <figure class=\"kz-final-photo\">\n      <img loading=\"lazy\" src=\"https:\/\/kood.tech\/wp-content\/uploads\/2026\/09\/Johvi_sprint21_120-1160x773.jpg\" width=\"1200\" height=\"750\" decoding=\"async\" alt=\"A large group of Selection Sprint participants outside kood\/J\u00f5hvi holding \/\/kood speech-bubble signs\">\n    <\/figure>\n  <\/div>\n  <div class=\"kz-lanyard kz-lanyard-bottom\" aria-hidden=\"true\"><\/div>\n<\/section>\n<div class=\"kz-sticky\" id=\"kz-sticky\" hidden>\n  <div class=\"kz-t\"><strong>Selection Sprint 23<\/strong><span>Free to apply until 12.01.2027<\/span><\/div>\n  <a class=\"kz-btn kz-btn-primary\" data-cta=\"sticky\" href=\"https:\/\/study.kood.tech\/?lp=b&amp;utm_source=kood.tech&amp;utm_medium=landing_page&amp;utm_campaign=ss23&amp;utm_content=sticky\">Take the test<\/a>\n<\/div>\n<\/div>\n\n\n\n<script data-cookieconsent=\"ignore\">\n(function(){\n  \"use strict\";\n\n  \/* ---------- analytics helper (GA4 dataLayer \/ gtag if present) ---------- *\/\n  function track(name, params){\n    params = params || {};\n    params.lp = \"b\";\n    try { (window.dataLayer = window.dataLayer || []).push(Object.assign({ event: name }, params)); } catch (e) {}\n    try { if (typeof window.gtag === \"function\") window.gtag(\"event\", name, params); } catch (e) {}\n  }\n  document.addEventListener(\"click\", function(e){\n    var a = e.target.closest && e.target.closest(\"[data-cta]\");\n    if (a) track(\"kood_lp_cta\", { placement: a.getAttribute(\"data-cta\") });\n  });\n\n  \/* ---------- sticky CTA (phones only via CSS) ---------- *\/\n  var sticky = document.getElementById(\"kz-sticky\");\n  var heroCta = document.getElementById(\"kz-hero-cta\");\n  var finalSec = document.getElementById(\"kz-apply\");\n  var code = document.getElementById(\"kz-lab-code\");\n  var trySec = document.getElementById(\"kz-become\");\n  var heroVisible = true, finalVisible = false, tryVisible = false, editing = false;\n  function syncSticky(){ sticky.hidden = heroVisible || finalVisible || tryVisible || editing; }\n  if (\"IntersectionObserver\" in window){\n    new IntersectionObserver(function(es){ es.forEach(function(en){ heroVisible = en.isIntersecting || en.boundingClientRect.top > 0; }); syncSticky(); }).observe(heroCta);\n    new IntersectionObserver(function(es){ es.forEach(function(en){ finalVisible = en.isIntersecting; }); syncSticky(); }, { rootMargin: \"0px 0px -20% 0px\" }).observe(finalSec);\n    new IntersectionObserver(function(es){ es.forEach(function(en){ tryVisible = en.isIntersecting; }); syncSticky(); }, { rootMargin: \"-30% 0px -30% 0px\" }).observe(trySec);\n  }\n  code.addEventListener(\"focus\", function(){ editing = true; syncSticky(); });\n  code.addEventListener(\"blur\", function(){ editing = false; syncSticky(); });\n\n  \/* ---------- the coding lab ---------- *\/\n  var LEVELS = [\n    {\n      title: \"Say hello\",\n      file: \"hello.js\",\n      desc: 'Computers do exactly what you tell them, to the letter. Change the text between the quote marks so the program prints <code>Hello, \/\/kood!<\/code> Then press Run code.',\n      starter: 'console.log(\"Hello, world!\");\\n',\n      solution: 'console.log(\"Hello, \/\/kood!\");\\n',\n      hints: [\n        \"Only change the words between the quote marks. Keep the quotes, the brackets and the semicolon as they are.\",\n        'It should read: <code>console.log(\"Hello, \/\/kood!\");<\/code>'\n      ],\n      pass: \"That's your first program. Every app you've ever used started with a line like this.\"\n    },\n    {\n      title: \"Fix the rule\",\n      file: \"can-apply.js\",\n      desc: 'This function decides who can apply to \/\/kood. Right now it only lets in people who have coded before. Fix it to match the real rule: <strong>anyone aged 18 or over can apply<\/strong>, whether they\\'ve coded or not.',\n      starter: 'function canApply(age, codedBefore) {\\n  if (codedBefore) {\\n    return true;\\n  }\\n  return false;\\n}\\n',\n      solution: 'function canApply(age, codedBefore) {\\n  if (age >= 18) {\\n    return true;\\n  }\\n  return false;\\n}\\n',\n      fn: \"canApply\",\n      cases: [\n        { args: [31, false], want: true,  who: \"a 31-year-old who has never coded\" },\n        { args: [17, true],  want: false, who: \"a 17-year-old who has coded\" },\n        { args: [18, false], want: true,  who: \"an 18-year-old who has never coded\" },\n        { args: [52, true],  want: true,  who: \"a 52-year-old who has coded\" },\n        { args: [16, false], want: false, who: \"a 16-year-old who has never coded\" }\n      ],\n      hints: [\n        \"The rule is about age, so the <code>if<\/code> should check <code>age<\/code> instead of <code>codedBefore<\/code>.\",\n        \"Change the second line to <code>if (age >= 18) {<\/code>. The <code>>=<\/code> means \u201cgreater than or equal to\u201d.\"\n      ],\n      pass: \"You fixed a rule with an if statement. Rules like this decide what every app does next.\"\n    },\n    {\n      title: \"Catch the AI's bug\",\n      file: \"format-price.test.js\",\n      mode: \"test\",\n      desc: 'An AI wrote <code>formatPrice<\/code> for this page. Our rule: sums are written like <code>4500 \u20ac<\/code>, with no thousands separator. ' +\n        '<pre class=\"kz-lab-ai\"><code>\/\/ written by AI\\nfunction formatPrice(amount) {\\n  return amount.toLocaleString(\"en-US\") + \" \u20ac\";\\n}<\/code><\/pre>' +\n        'It looks fine. Write a test that <strong>fails on the AI\\'s version and passes on a correct one<\/strong>. Prices are whole euros. ' +\n        '<span class=\"kz-lab-lang\">This taste is JavaScript. At \/\/kood, Module 1 is taught in Go or Java.<\/span>',\n      starter: '\/\/ check(actual, expected) throws if they differ\\n\\ntest(\"formats a price\", () => {\\n  check(formatPrice(300), \"300 \u20ac\");\\n});\\n',\n      solution: '\/\/ check(actual, expected) throws if they differ\\n\\ntest(\"formats the full programme price\", () => {\\n  check(formatPrice(4500), \"4500 \u20ac\");\\n});\\n',\n      impls: {\n        ai: 'function formatPrice(amount) {\\n  return amount.toLocaleString(\"en-US\") + \" \u20ac\";\\n}',\n        fixed: 'function formatPrice(amount) {\\n  return String(amount) + \" \u20ac\";\\n}'\n      },\n      hints: [\n        \"Your test passes on both versions, so it can't tell them apart. The AI's code works for some prices and breaks for others. Which prices do people pay for the full programme?\",\n        'Try <code>check(formatPrice(4500), \"4500 \u20ac\");<\/code> and run it.'\n      ],\n      pass: \"You caught it. The AI's version adds a thousands separator, so {want} came out as {got}. Good tests aim at the input where the code breaks, and reviewing AI-written code works the same way.\"\n    }\n  ];\n\n  var STORE_KEY = \"kz-lab-v1\";\n  var state = { level: 0, codes: {}, done: {} };\n  try { var saved = JSON.parse(localStorage.getItem(STORE_KEY) || \"null\"); if (saved && typeof saved === \"object\") { state.codes = saved.codes || {}; state.done = saved.done || {}; } } catch (e) {}\n  function save(){ try { localStorage.setItem(STORE_KEY, JSON.stringify({ codes: state.codes, done: state.done })); } catch (e) {} }\n\n  var el = {\n    tabs: Array.prototype.slice.call(document.querySelectorAll(\".kz-lab-tab\")),\n    panel: document.getElementById(\"kz-lab-panel\"),\n    title: document.getElementById(\"kz-lab-title\"),\n    desc: document.getElementById(\"kz-lab-desc\"),\n    file: document.getElementById(\"kz-lab-file\"),\n    gutter: document.getElementById(\"kz-lab-gutter\"),\n    code: code,\n    run: document.getElementById(\"kz-lab-run\"),\n    hint: document.getElementById(\"kz-lab-hint\"),\n    reset: document.getElementById(\"kz-lab-reset\"),\n    out: document.getElementById(\"kz-lab-out\"),\n    status: document.getElementById(\"kz-lab-status\"),\n    msg: document.getElementById(\"kz-lab-msg\"),\n    hints: document.getElementById(\"kz-lab-hints\"),\n    done: document.getElementById(\"kz-lab-done\"),\n    keys: document.getElementById(\"kz-lab-keys\")\n  };\n  var hintStep = 0;\n\n  function esc(s){ return String(s).replace(\/[&\"\\u003c\\u003e]\/g, function(c){ return c === \"&\" ? \"&amp;\" : c === '\"' ? \"&quot;\" : c === \"\\u003c\" ? \"&lt;\" : \"&gt;\"; }); }\n\n  function refreshEditor(){\n    var n = el.code.value.split(\"\\n\").length;\n    var nums = []; for (var i = 1; n >= i; i++) nums.push(i);\n    el.gutter.textContent = nums.join(\"\\n\");\n    el.code.rows = Math.max(4, n);\n    el.code.style.height = \"auto\";\n    el.code.style.height = el.code.scrollHeight + \"px\";\n  }\n  window.addEventListener(\"resize\", function(){ refreshEditor(); });\n\n  \/* typing effect when the slider switches task (skipped for reduced motion or edited code) *\/\n  var typer = null, typing = \"\";\n  var calm = !!(window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches);\n  function finishTyping(){\n    if (!typer) return;\n    clearInterval(typer); typer = null;\n    el.code.value = typing; refreshEditor();\n  }\n  function typeIn(text){\n    finishTyping();\n    typing = text;\n    var n = 0, step = Math.max(1, Math.ceil(text.length \/ 40));\n    el.code.value = \"\"; refreshEditor();\n    typer = setInterval(function(){\n      n = Math.min(text.length, n + step);\n      el.code.value = text.slice(0, n); refreshEditor();\n      if (n === text.length){ clearInterval(typer); typer = null; }\n    }, 18);\n  }\n  code.addEventListener(\"focus\", finishTyping);\n\n  function setLevel(i, focusTab, animate){\n    finishTyping();\n    state.level = i;\n    var L = LEVELS[i];\n    el.tabs.forEach(function(t, k){\n      var on = k === i;\n      t.setAttribute(\"aria-selected\", on ? \"true\" : \"false\");\n      t.tabIndex = on ? 0 : -1;\n      t.classList.toggle(\"is-done\", !!state.done[k]);\n    });\n    if (focusTab && el.tabs[i]) el.tabs[i].focus();\n    el.title.textContent = L.title;\n    el.desc.innerHTML = L.desc;\n    el.file.textContent = L.file;\n    var own = state.codes[i] != null;\n    el.code.value = own ? state.codes[i] : L.starter;\n    if (animate && !own && !calm) typeIn(L.starter);\n    refreshEditor();\n    el.out.innerHTML = '<span class=\"kz-ph\">Press \u201cRun code\u201d to see what your program prints.<\/span>';\n    el.status.textContent = state.done[i] ? \"solved\" : \"ready\";\n    el.msg.hidden = true; el.msg.className = \"kz-lab-msg\";\n    el.hints.hidden = true; el.hints.innerHTML = \"\";\n    hintStep = 0; el.hint.textContent = \"Hint\";\n  }\n\n  el.tabs.forEach(function(t, k){\n    t.addEventListener(\"click\", function(){ setLevel(k); });\n    t.addEventListener(\"keydown\", function(e){\n      if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\"){\n        e.preventDefault();\n        var n = (k + (e.key === \"ArrowRight\" ? 1 : -1) + LEVELS.length) % LEVELS.length;\n        setLevel(n, true);\n      }\n    });\n  });\n\n  \/* editor behaviour: tab indents, enter keeps indentation, ctrl\/cmd+enter runs *\/\n  var escPressed = false;\n  function insertAtCursor(text){\n    var ta = el.code, s = ta.selectionStart, e2 = ta.selectionEnd;\n    if (typeof ta.setRangeText === \"function\") ta.setRangeText(text, s, e2, \"end\");\n    else { ta.value = ta.value.slice(0, s) + text + ta.value.slice(e2); ta.selectionStart = ta.selectionEnd = s + text.length; }\n    ta.dispatchEvent(new Event(\"input\", { bubbles: true }));\n  }\n  el.code.addEventListener(\"keydown\", function(e){\n    if (e.key === \"Escape\"){ escPressed = true; return; }\n    if (e.key === \"Tab\" && !escPressed && !e.shiftKey){ e.preventDefault(); insertAtCursor(\"  \"); return; }\n    if (e.key === \"Enter\" && (e.ctrlKey || e.metaKey)){ e.preventDefault(); runCode(); return; }\n    if (e.key === \"Enter\" && !e.shiftKey && !e.altKey){\n      var v = el.code.value, pos = el.code.selectionStart;\n      var lineStart = v.lastIndexOf(\"\\n\", pos - 1) + 1;\n      var indent = (v.slice(lineStart, pos).match(\/^\\s*\/) || [\"\"])[0];\n      if (\/\\{\\s*$\/.test(v.slice(lineStart, pos))) indent += \"  \";\n      e.preventDefault(); insertAtCursor(\"\\n\" + indent); return;\n    }\n    escPressed = false;\n  });\n  el.code.addEventListener(\"input\", function(){\n    state.codes[state.level] = el.code.value; save(); refreshEditor();\n  });\n  el.keys.addEventListener(\"pointerdown\", function(e){ if (e.target.closest(\".kz-key\")) e.preventDefault(); });\n  el.keys.addEventListener(\"click\", function(e){\n    var k = e.target.closest(\".kz-key\"); if (!k) return;\n    el.code.focus(); insertAtCursor(k.getAttribute(\"data-ins\"));\n  });\n\n  el.reset.addEventListener(\"click\", function(){\n    el.code.value = LEVELS[state.level].starter; delete state.codes[state.level]; save(); refreshEditor();\n    el.msg.hidden = true; el.out.innerHTML = '<span class=\"kz-ph\">Code reset. Press \u201cRun code\u201d when you\\'re ready.<\/span>';\n  });\n\n  el.hint.addEventListener(\"click\", function(){\n    var L = LEVELS[state.level];\n    if (L.hints.length > hintStep){\n      var p = document.createElement(\"p\"); p.innerHTML = L.hints[hintStep];\n      el.hints.appendChild(p); el.hints.hidden = false; hintStep++;\n      el.hint.textContent = L.hints.length > hintStep ? \"Another hint\" : \"Show answer\";\n      track(\"kood_lp_code_hint\", { task: state.level + 1, hint: hintStep });\n    } else {\n      el.code.value = L.solution; state.codes[state.level] = L.solution; save(); refreshEditor();\n      el.hint.textContent = \"Answer shown\";\n      track(\"kood_lp_code_answer\", { task: state.level + 1 });\n      el.code.focus();\n    }\n  });\n\n  \/* ---------- sandboxed runner: a Web Worker per run, killed after 1.5 s ---------- *\/\n  var WORKER_SRC = [\n    \"self.onmessage=function(e){\",\n    \" var d=e.data,out=[],res=null,err=null;\",\n    \" function fmt(v){if(typeof v==='string')return v;try{return JSON.stringify(v)}catch(_){return String(v)}}\",\n    \" var con={log:function(){out.push(Array.prototype.map.call(arguments,fmt).join(' '));if(out.length>400)throw new Error('Too much output: your program printed more than 400 lines.')}};\",\n    \" con.info=con.warn=con.error=con.log;\",\n    \" try{\",\n    \"  var f=new Function('console',d.body);\",\n    \"  var ref=f(con);\",\n    \"  if(d.mode==='test'){res=Array.isArray(ref)?ref:[]}\",\n    \"  else if(d.fn){\",\n    \"   if(typeof ref!=='function'){res={missing:true}}\",\n    \"   else{res=d.cases.map(function(c){try{return{ok:true,v:ref.apply(null,c)}}catch(x){return{ok:false,e:x.name+': '+x.message}}})}\",\n    \"  }\",\n    \" }catch(x){err={name:x.name||'Error',message:x.message||String(x)}}\",\n    \" self.postMessage({out:out,res:res,err:err});\",\n    \"};\"\n  ].join(\"\\n\");\n  var workerUrl = null;\n  try { workerUrl = URL.createObjectURL(new Blob([WORKER_SRC], { type: \"text\/javascript\" })); } catch (e) {}\n\n  var TEST_HELPERS = \"var __tests = [];\\nfunction check(actual, expected){ if (actual !== expected) throw new Error(\\\"expected \\\" + JSON.stringify(expected) + \\\", got \\\" + JSON.stringify(actual)); }\\nfunction test(name, fn){ try { fn(); __tests.push({ name: String(name), ok: true }); } catch (x) { __tests.push({ name: String(name), ok: false, msg: x ? (x.message || String(x)) : \\\"failed\\\" }); } }\\n\";\n  function buildBody(L, src){\n    if (L.mode === \"test\") return TEST_HELPERS + L.impl + \"\\n\" + src + \"\\n;return __tests;\";\n    var body = src + \"\\n;\";\n    if (L.fn) body += \"\\nreturn (typeof \" + L.fn + \" === 'function') ? \" + L.fn + \" : null;\";\n    return body;\n  }\n\n  function runInPage(L, src){\n    \/\/ fallback when workers are blocked: same contract, with a guard against endless loops\n    var out = [], res = null, err = null, guard = 0;\n    function g(){ if (++guard > 200000) throw new Error(\"Your loop ran too many times. Check that it has a way to stop.\"); }\n    var guarded = src.replace(\/(for\\s*\\([^)]*\\)\\s*\\{|while\\s*\\([^)]*\\)\\s*\\{|do\\s*\\{)\/g, \"$1 __g();\");\n    function fmt(v){ if (typeof v === \"string\") return v; try { return JSON.stringify(v); } catch (_) { return String(v); } }\n    var con = { log: function(){ out.push(Array.prototype.map.call(arguments, fmt).join(\" \")); } };\n    con.info = con.warn = con.error = con.log;\n    try {\n      var f = new Function(\"console\", \"__g\", buildBody(L, guarded));\n      var ref = f(con, g);\n      if (L.mode === \"test\") res = Array.isArray(ref) ? ref : [];\n      else if (L.fn){\n        if (typeof ref !== \"function\") res = { missing: true };\n        else res = L.cases.map(function(c){ try { return { ok: true, v: ref.apply(null, c.args) }; } catch (x) { return { ok: false, e: x.name + \": \" + x.message }; } });\n      }\n    } catch (x) { err = { name: x.name || \"Error\", message: x.message || String(x) }; }\n    return Promise.resolve({ out: out, res: res, err: err });\n  }\n\n  function execute(L, src){\n    if (!workerUrl) return runInPage(L, src);\n    return new Promise(function(resolve){\n      var w;\n      try { w = new Worker(workerUrl); } catch (e) { resolve(runInPage(L, src)); return; }\n      var finished = false;\n      var timer = setTimeout(function(){\n        if (finished) return; finished = true; w.terminate();\n        resolve({ out: [], res: null, err: { name: \"Timeout\", message: \"Your code kept running for too long, so we stopped it. A loop that never ends is the usual cause: check that the condition eventually becomes false.\" } });\n      }, 1500);\n      w.onmessage = function(e){ if (finished) return; finished = true; clearTimeout(timer); w.terminate(); resolve(e.data); };\n      w.onerror = function(e){\n        if (finished) return; finished = true; clearTimeout(timer); w.terminate();\n        if (e && e.preventDefault) e.preventDefault();\n        resolve(runInPage(L, src));\n      };\n      w.postMessage({ body: buildBody(L, src), mode: L.mode || null, fn: L.fn || null, cases: (L.cases || []).map(function(c){ return c.args; }) });\n    });\n  }\n\n  function friendly(err){\n    var m = err.message || \"\";\n    if (err.name === \"Timeout\") return { head: \"Stopped\", text: m };\n    if (err.name === \"SyntaxError\") return { head: \"JavaScript couldn't read your code\", text: \"Look for a missing bracket, quote mark or semicolon. Brackets come in pairs: every ( needs a ) and every { needs a }.\" };\n    var undef = m.match(\/^(\\S+) is not defined\/);\n    if (err.name === \"ReferenceError\" && undef) return { head: \"Unknown name: \" + undef[1], text: \"JavaScript doesn't know <code>\" + esc(undef[1]) + \"<\/code>. Check the spelling and capital letters. For example, <code>console.log<\/code> is all lowercase.\" };\n    return { head: \"Something went wrong\", text: \"JavaScript says: \" + esc(err.name + \": \" + m) };\n  }\n\n  function showMsg(kind, head, text, extra){\n    el.msg.className = \"kz-lab-msg is-\" + kind;\n    el.msg.innerHTML = \"<strong>\" + head + \"<\/strong><span>\" + text + \"<\/span>\" + (extra || \"\");\n    el.msg.hidden = false;\n  }\n\n  function judge(L, r, src){\n    if (L.mode === \"test\" && \/\\bfunction\\s+formatPrice\\b|\\b(?:let|const|var)\\s+formatPrice\\b|(?:^|[^.\\w])formatPrice\\s*=(?!=)\/m.test(src || \"\")) return { kind: \"fail\", head: \"Leave formatPrice as it is\", text: \"Don't write your own <code>formatPrice<\/code> here. We run your test twice, on the AI's version and on a correct one, so your job is only the test.\" };\n    if (L.mode === \"test\" && r.err && String(r.err.message).indexOf(\"expected \") === 0) return { kind: \"fail\", head: \"Put your check inside a test\", text: 'A check outside a test stops the whole run. Wrap it like this: <code>test(\"name\", () => { check(\u2026); });<\/code>' };\n    if (r.err) { var f = friendly(r.err); return { kind: \"error\", head: f.head, text: f.text }; }\n    var out = r.out || [];\n    if (state.level === 0){\n      if (!out.length) return { kind: \"fail\", head: \"Nothing printed yet\", text: \"<code>console.log( )<\/code> is the part that prints. Keep it, and change only the text in quotes.\" };\n      if (out.length === 1 && out[0] === \"Hello, \/\/kood!\") return { kind: \"pass\" };\n      var norm = function(s){ return s.toLowerCase().replace(\/[^a-z]\/g, \"\"); };\n      if (norm(out.join(\"\")) === norm(\"Hello, \/\/kood!\")) return { kind: \"fail\", head: \"So close\", text: \"Computers are picky about every character. Check the capital H, the comma, the two slashes and the exclamation mark.\" };\n      return { kind: \"fail\", head: \"Not quite\", text: \"Your program printed \u201c\" + esc(out.join(\" \")) + \"\u201d. It should print \u201cHello, \/\/kood!\u201d.\" };\n    }\n    if (state.level === 1){\n      if (!r.res || r.res.missing) return { kind: \"fail\", head: \"The function is missing\", text: \"Keep the function called <code>canApply<\/code>. Change only what's inside it.\" };\n      for (var i = 0; L.cases.length > i; i++){\n        var c = L.cases[i], got = r.res[i];\n        if (!got.ok) return { kind: \"error\", head: \"The function crashed\", text: \"When we checked \" + c.who + \", JavaScript said: \" + esc(got.e) };\n        if (got.v !== c.want) return { kind: \"fail\", head: \"Not quite\", text: \"<code>canApply(\" + c.args.join(\", \") + \")<\/code> should return <code>\" + c.want + \"<\/code>, because \" + c.who + (c.want ? \" can apply\" : \" can't apply yet\") + \". Your version returned <code>\" + esc(String(got.v)) + \"<\/code>.\" };\n      }\n      return { kind: \"pass\" };\n    }\n    if (L.mode === \"test\"){\n      if (!r.tf.length) return { kind: \"fail\", head: \"No tests ran\", text: 'Put your check inside a test: <code>test(\"name\", () => { check(\u2026); });<\/code>' };\n      var badFixed = r.tf.filter(function(t){ return !t.ok; })[0];\n      if (badFixed && !(String(badFixed.msg).indexOf(\"expected \") === 0)) return { kind: \"fail\", head: \"Your test crashed\", text: \"JavaScript says: \" + esc(badFixed.msg) + \". Check the spelling of <code>test<\/code>, <code>check<\/code> and <code>formatPrice<\/code>, and that the test has a name: <code>test(\\\"name\\\", () => { check(\u2026); });<\/code>\" };\n      if (badFixed) return { kind: \"fail\", head: \"Your test fails on the correct version too\", text: \"So the test itself expects the wrong thing: \" + esc(badFixed.msg) + \". Our rule is whole euros, a space, then \u20ac, like <code>4500 \u20ac<\/code>.\" };\n      if (r.ta.every(function(t){ return t.ok; })) return { kind: \"fail\", head: \"Your test passes on the AI's version\", text: \"So it can't catch the bug yet. Try a price where the AI's code breaks.\" };\n      return { kind: \"pass\" };\n    }\n    var want = L.expect;\n    if (!out.length) return { kind: \"fail\", head: \"Nothing printed\", text: \"Keep the <code>console.log<\/code> inside the loop so each day gets printed.\" };\n    for (var j = 0; want.length > j; j++){\n      if (out[j] !== want[j]){\n        if (out[j] === undefined) return { kind: \"fail\", head: \"Some days are missing\", text: \"Your program printed \" + out.length + \" lines. It should print 15, one for each day.\" };\n        return { kind: \"fail\", head: \"Line \" + (j + 1) + \" isn't right yet\", text: \"It should be \u201c\" + esc(want[j]) + \"\u201d. Your code printed \u201c\" + esc(out[j]) + \"\u201d.\" };\n      }\n    }\n    if (out.length > want.length) return { kind: \"fail\", head: \"Too many lines\", text: \"Your program printed \" + out.length + \" lines. It should print exactly 15.\" };\n    return { kind: \"pass\" };\n  }\n\n  function runTests(L, src){\n    var ai = Object.assign({}, L, { impl: L.impls.ai }), ok = Object.assign({}, L, { impl: L.impls.fixed });\n    return execute(ai, src).then(function(ra){\n      if (ra.err) return { out: (ra.out || []).slice(), err: ra.err, ta: [], tf: [] };\n      return execute(ok, src).then(function(rf){\n        var ta = ra.res || [], tf = rf.res || [], out = (ra.out || []).slice();\n        function show(label, list){\n          out.push(label);\n          list.forEach(function(t){ out.push((t.ok ? \"  \\u2713 \" : \"  \\u2717 \") + t.name + (t.ok ? \"\" : \": \" + t.msg)); });\n          if (!list.length) out.push(\"  (no tests ran)\");\n        }\n        if (!ra.err) show(\"AI's version\", ta);\n        if (!rf.err) show(\"Correct version\", tf);\n        return { out: out, err: ra.err || rf.err, ta: ta, tf: tf };\n      });\n    });\n  }\n\n  var running = false;\n  function runCode(){\n    if (running) return;\n    running = true;\n    var lvl = state.level, L = LEVELS[lvl], src = el.code.value;\n    el.status.textContent = \"running\u2026\"; el.run.disabled = true;\n    (L.mode === \"test\" ? runTests(L, src) : execute(L, src)).then(function(r){\n      running = false; el.run.disabled = false;\n      if (state.level !== lvl) return;\n      var lines = (r.out || []).map(esc).join(\"\\n\");\n      if (r.err) lines += (lines ? \"\\n\" : \"\") + '<span class=\"kz-errline\">' + esc(r.err.name + \": \" + r.err.message) + \"<\/span>\";\n      if (lvl === 1 && r.res && !r.res.missing && !r.err){\n        lines += (lines ? \"\\n\" : \"\") + L.cases.map(function(c, i){ var g = r.res[i]; return \"canApply(\" + c.args.join(\", \") + \") -> \" + (g.ok ? esc(String(g.v)) : \"error\"); }).join(\"\\n\");\n      }\n      el.out.innerHTML = lines || '<span class=\"kz-ph\">(no output)<\/span>';\n      var v = judge(L, r, src);\n      track(\"kood_lp_code_run\", { task: lvl + 1, result: v.kind });\n      if (v.kind === \"pass\"){\n        var first = !state.done[lvl];\n        state.done[lvl] = true; save();\n        if (el.tabs[lvl]) el.tabs[lvl].classList.add(\"is-done\");\n        el.status.textContent = \"solved\";\n        var next = LEVELS.length - 1 > lvl ? '<button class=\"kz-btn kz-btn-primary\" type=\"button\" id=\"kz-lab-next\">Next level<\/button>' : \"\";\n        \/* name the price the test actually caught (default: the 4500 \u20ac from the hint) *\/\n        var caught = { want: \"4500 \u20ac\", got: \"4,500 \u20ac\" };\n        if (L.mode === \"test\") (r.ta || []).some(function(t){\n          var m = !t.ok && \/\"([^\"]*)\"[^\"]*\"([^\"]*)\"\/.exec(String(t.msg));\n          if (m && m[2].indexOf(\",\") > -1) { caught = { want: m[1], got: m[2] }; return true; }\n          return false;\n        });\n        showMsg(\"pass\", \"Correct.\", L.pass.replace(\"{want}\", esc(caught.want)).replace(\"{got}\", esc(caught.got)), next);\n        var nb = document.getElementById(\"kz-lab-next\");\n        if (nb) nb.addEventListener(\"click\", function(){ goLevel(lvl + 1); });\n        if (first) track(\"kood_lp_code_pass\", { task: lvl + 1 });\n        \/* the \"ready to apply\" box shows after the first solved task; the all-done event still waits for all three *\/\n        el.done.hidden = false;\n        var all = LEVELS.every(function(_, k){ return state.done[k]; });\n        if (all && first) track(\"kood_lp_code_all_done\", {});\n      } else {\n        el.status.textContent = v.kind === \"error\" ? \"error\" : \"try again\";\n        showMsg(v.kind, v.head, v.text);\n      }\n    });\n  }\n  el.run.addEventListener(\"click\", runCode);\n\n  \/* The experience slider picks the task: level 1 = task 1, level 2 = task 2, level 3 = task 3.\n     goLevel is used from inside the lab (Next level) and tells the slider to follow. *\/\n  function goLevel(i){\n    setLevel(i, false, true);\n    try { document.dispatchEvent(new CustomEvent(\"kz:lab-level\", { detail: { level: i } })); } catch (e) {}\n  }\n  window.kzLab = { setLevel: function(i, animate){ setLevel(i, false, !!animate); }, count: LEVELS.length };\n\n  setLevel(0);\n  if (LEVELS.some(function(_, k){ return state.done[k]; })) el.done.hidden = false;\n})();\n<\/script>\n<script data-cookieconsent=\"ignore\">\n\/* Experience slider: level 1-3 open the matching coding task, level 4 shows the Module 2 sign-up.\n   The doubts section follows the same level and has its own switch.\n   Reports kood_lp_level once per change. No less-than signs in this script, so WordPress texturize leaves it alone. *\/\n(function(){\n  \"use strict\";\n  var range = document.getElementById(\"kz-lvl-range\");\n  if (!range) return;\n  var scale = range.parentNode;\n  var ticks = [].slice.call(document.querySelectorAll(\".kz-lvl-tick\"));\n  var dots = [].slice.call(document.querySelectorAll(\".kz-lvl-track i\"));\n  var panels = [].slice.call(document.querySelectorAll(\".kz-lvl-panel\"));\n  var photos = [].slice.call(document.querySelectorAll(\".kz-lvl-photos img\"));\n  var sets = [].slice.call(document.querySelectorAll(\".kz-doubt-set\"));\n  var switches = [].slice.call(document.querySelectorAll(\".kz-dsw\"));\n  var lab = document.getElementById(\"kz-lab\");\n  var m2 = document.getElementById(\"kz-m2\");\n  var labels = ticks.map(function(t){ return t.textContent.trim(); });\n  var current = -1, reported = 0;\n\n  function track(name, params){\n    params.lp = \"b\";\n    try { (window.dataLayer = window.dataLayer || []).push(Object.assign({ event: name }, params)); } catch (e) {}\n    try { if (typeof window.gtag === \"function\") window.gtag(\"event\", name, params); } catch (e) {}\n  }\n\n  function show(n, fromLab){\n    n = Math.max(0, Math.min(3, n | 0));\n    range.value = String(n);\n    range.setAttribute(\"aria-valuetext\", labels[n]);\n    scale.style.setProperty(\"--p\", String(n \/ 3));\n    ticks.forEach(function(t, i){ t.classList.toggle(\"is-on\", i === n); t.classList.toggle(\"is-past\", n > i); });\n    dots.forEach(function(d, i){ d.classList.toggle(\"lit\", n >= i); });\n    panels.forEach(function(p, i){ p.hidden = i !== n; });\n    photos.forEach(function(p, i){ p.classList.toggle(\"is-on\", i === n); });\n    sets.forEach(function(s, i){ s.hidden = i !== n; });\n    switches.forEach(function(b, i){ b.classList.toggle(\"is-on\", i === n); b.setAttribute(\"aria-pressed\", i === n ? \"true\" : \"false\"); });\n    var senior = n === 3;\n    if (lab) lab.hidden = senior;\n    if (m2) m2.hidden = !senior;\n    if (n !== current) {\n      if (!senior && !fromLab && window.kzLab) window.kzLab.setLevel(n, current !== -1);\n      if (current !== -1) { range.classList.remove(\"bump\"); void range.offsetWidth; range.classList.add(\"bump\"); }\n    }\n    current = n;\n    try { document.dispatchEvent(new CustomEvent(\"kz:level\", { detail: { level: n + 1 } })); } catch (e) {}\n  }\n\n  function report(n, source){\n    if (n === reported) return;\n    reported = n;\n    track(\"kood_lp_level\", { level: n + 1, label: labels[n], source: source });\n  }\n\n  range.addEventListener(\"input\", function(){ show(+range.value); });\n  range.addEventListener(\"change\", function(){ report(+range.value, \"slider\"); });\n  ticks.forEach(function(t, i){ t.addEventListener(\"click\", function(){ show(i); report(i, \"slider\"); }); });\n  switches.forEach(function(b, i){ b.addEventListener(\"click\", function(){ show(i); report(i, \"doubts\"); }); });\n  document.addEventListener(\"kz:lab-level\", function(e){ var n = e.detail.level; show(n, true); report(n, \"lab\"); });\n  show(+range.value || 0);\n\n  \/* Module 2 sign-up: posts to the Mailchimp form in data-mc-action (JSONP, so people stay on the page).\n     Empty data-mc-action = not connected yet. *\/\n  var form = document.getElementById(\"kz-m2-form\");\n  if (form) form.addEventListener(\"submit\", function(e){\n    e.preventDefault();\n    var email = document.getElementById(\"kz-m2-email\");\n    var note = document.getElementById(\"kz-m2-note\");\n    if (!email.value || !email.checkValidity()) { note.textContent = \"Check the email address and try again.\"; email.focus(); return; }\n    var action = form.getAttribute(\"data-mc-action\") || \"\";\n    if (!action) { note.textContent = \"Sign-up opens soon. Check back in a few days.\"; return; }\n    var cb = \"kzMc\" + Date.now();\n    window[cb] = function(res){\n      var ok = res && res.result === \"success\";\n      var msg = res && res.msg ? String(res.msg).replace(\/\\u003c[^\\u003e]*\\u003e\/g, \"\") : \"\";\n      note.textContent = ok ? \"You're on the list. We'll email you when Module 2 opens.\" : (\/already subscribed\/i.test(msg) ? \"You're already on the list.\" : \"That didn't work. Try again in a moment.\");\n      if (ok) { track(\"kood_lp_m2_signup\", {}); form.reset(); }\n      try { delete window[cb]; } catch (x) { window[cb] = undefined; }\n    };\n    var tags = form.getAttribute(\"data-mc-tags\") || \"\";\n    var sc = document.createElement(\"script\");\n    sc.src = action.replace(\"\/post?\", \"\/post-json?\") + \"&EMAIL=\" + encodeURIComponent(email.value) + (tags ? \"&tags=\" + encodeURIComponent(tags) : \"\") + \"&c=\" + cb;\n    sc.onerror = function(){ note.textContent = \"That didn't work. Try again in a moment.\"; };\n    document.body.appendChild(sc);\n    note.textContent = \"Signing you up\u2026\";\n  });\n})();\n<\/script>\n<script data-cookieconsent=\"ignore\">\n\/* Journey: draw the lime route once the steps come into view. No less-than signs here (WordPress texturize). *\/\n(function(){\n  \"use strict\";\n  var j = document.getElementById(\"kz-journey\");\n  if (!j) return;\n  if (!(\"IntersectionObserver\" in window)) { j.classList.add(\"is-drawn\"); return; }\n  var io = new IntersectionObserver(function(es){\n    es.forEach(function(e){ if (e.isIntersecting) { j.classList.add(\"is-drawn\"); io.disconnect(); } });\n  }, { threshold: 0.3 });\n  io.observe(j);\n})();\n\n\/* Sprint location: town pins on the route (wide screens) and buttons in step 3 (phones).\n   The pick also becomes the accent colour of the whole page.\n   The route, calendar, photo and note follow the pick at once; the step texts, FAQ and recap\n   switch from \"all three\" to the chosen place once someone actually picks. *\/\n(function(){\n  \"use strict\";\n  var steps = document.getElementById(\"kz-steps\");\n  if (!steps) return;\n  var roots = [].slice.call(document.querySelectorAll(\".kz\"));\n  var buttons = [].slice.call(document.querySelectorAll(\".kz-pp, .kz-jp-pin\"));\n  var forks = [].slice.call(document.querySelectorAll(\".kz-jp-lane\"));\n  var notes = [].slice.call(document.querySelectorAll(\".kz-place-note\"));\n  var photos = [].slice.call(document.querySelectorAll(\".kz-place-photos img\"));\n  var nowNames = [].slice.call(document.querySelectorAll(\".kz-place-name\"));\n  var pickNames = [].slice.call(document.querySelectorAll(\".kz-place-pick-name\"));\n  var texts = [].slice.call(document.querySelectorAll(\"[data-place-text]\"));\n  var faqSets = [].slice.call(document.querySelectorAll(\".kz-faq-place\"));\n  var forms = {\n    short: { voru: \"kood\/V\u00f5ru\", johvi: \"kood\/J\u00f5hvi\", jarva: \"kood\/J\u00e4rva\" },\n    long: { voru: \"kood\/V\u00f5ru\", johvi: \"kood\/J\u00f5hvi\", jarva: \"kood\/J\u00e4rva in Paide\" },\n    at: { voru: \"kood\/V\u00f5ru\", johvi: \"kood\/J\u00f5hvi\", jarva: \"kood\/J\u00e4rva\" },\n    \"in\": { voru: \" in kood\/V\u00f5ru\", johvi: \" in kood\/J\u00f5hvi\", jarva: \" in kood\/J\u00e4rva\" },\n    town: { voru: \"kood\/V\u00f5ru\", johvi: \"kood\/J\u00f5hvi\", jarva: \"kood\/J\u00e4rva, Paide\" }\n  };\n  function nameFor(el, place){ return (forms[el.getAttribute(\"data-form\")] || forms.short)[place]; }\n  function setPlace(place, byUser, src){\n    steps.setAttribute(\"data-place\", place);\n    roots.forEach(function(r){ r.setAttribute(\"data-place\", place); });\n    try { document.dispatchEvent(new CustomEvent(\"kz:place\", { detail: { place: place } })); } catch (e) {}\n    buttons.forEach(function(b){ b.setAttribute(\"aria-pressed\", b.getAttribute(\"data-place\") === place ? \"true\" : \"false\"); });\n    forks.forEach(function(f){ f.classList.toggle(\"on\", f.getAttribute(\"data-place\") === place); });\n    notes.forEach(function(n){ n.hidden = n.getAttribute(\"data-place\") !== place; });\n    faqSets.forEach(function(f){ f.hidden = f.getAttribute(\"data-place\") !== place; });\n    photos.forEach(function(i){ i.classList.toggle(\"is-on\", i.getAttribute(\"data-place\") === place); });\n    nowNames.forEach(function(n){ n.textContent = nameFor(n, place); });\n    if (!byUser) return;\n    pickNames.forEach(function(n){ n.textContent = nameFor(n, place); });\n    texts.forEach(function(t){ t.hidden = t.getAttribute(\"data-place-text\") !== place; });\n    var params = { place: place, lp: \"b\" };\n    if (src) params.source = src;\n    try { (window.dataLayer = window.dataLayer || []).push(Object.assign({ event: \"kood_lp_place\" }, params)); } catch (e) {}\n    try { if (typeof window.gtag === \"function\") window.gtag(\"event\", \"kood_lp_place\", params); } catch (e) {}\n  }\n  buttons.forEach(function(b){ b.addEventListener(\"click\", function(){ setPlace(b.getAttribute(\"data-place\"), true, b.getAttribute(\"data-src\") || \"\"); }); });\n})();\n<\/script>\n<script data-cookieconsent=\"ignore\">\n\/* Info sessions: session picker + live countdown + calendar links, and the \"Bring your questions\" list.\n   Question chips follow the experience level and the Sprint location. No less-than signs here (WordPress texturize). *\/\n(function(){\n  \"use strict\";\n  var info = document.getElementById(\"kz-info\");\n  if (!info) return;\n  function g(id){ return document.getElementById(id); }\n  function track(name, params){\n    params = params || {}; params.lp = \"b\";\n    try { (window.dataLayer = window.dataLayer || []).push(Object.assign({ event: name }, params)); } catch (e) {}\n    try { if (typeof window.gtag === \"function\") window.gtag(\"event\", name, params); } catch (e) {}\n  }\n\n  \/* ---- sessions and countdown ---- *\/\n  var opts = [].slice.call(info.querySelectorAll(\".kz-sess-opt\"));\n  var cd = { d: g(\"kz-cd-d\"), h: g(\"kz-cd-h\"), m: g(\"kz-cd-m\"), s: g(\"kz-cd-s\") };\n  var label = g(\"kz-cd-label\"), box = info.querySelector(\".kz-count-n\"), soon = info.querySelector(\".kz-count-soon\"), links = info.querySelector(\".kz-cal-links\");\n  var gLink = g(\"kz-cal-google\"), oLink = g(\"kz-cal-outlook\");\n  var current = null;\n  function pad(n){ return (n > 9 ? \"\" : \"0\") + n; }\n  function stamp(d){ return d.toISOString().replace(\/[-:]\/g, \"\").replace(\/\\.\\d+\/, \"\"); }\n  function startOf(o){ var iso = o.getAttribute(\"data-start\"); return iso ? new Date(iso) : null; }\n  function setLinks(start){\n    var end = new Date(start.getTime() + 3600000);\n    var title = \"\/\/kood info session\";\n    var details = \"Pick this session as your Check-in on study.kood.tech to get the link. Bring your questions.\";\n    gLink.href = \"https:\/\/calendar.google.com\/calendar\/render?action=TEMPLATE&text=\" + encodeURIComponent(title) +\n      \"&dates=\" + stamp(start) + \"\/\" + stamp(end) + \"&details=\" + encodeURIComponent(details) + \"&location=Online\";\n    oLink.href = \"https:\/\/outlook.live.com\/calendar\/0\/deeplink\/compose?path=%2Fcalendar%2Faction%2Fcompose&rru=addevent&subject=\" +\n      encodeURIComponent(title) + \"&startdt=\" + encodeURIComponent(start.toISOString()) + \"&enddt=\" + encodeURIComponent(end.toISOString()) +\n      \"&location=Online&body=\" + encodeURIComponent(details);\n  }\n  function put(el, v){\n    if (el.textContent === v) return;\n    el.textContent = v;\n    el.classList.remove(\"tick\"); void el.offsetWidth; el.classList.add(\"tick\");\n  }\n  function tick(){\n    if (!current || !current.start) return;\n    var left = current.start.getTime() - Date.now();\n    if (0 >= left) { refresh(); return; }\n    var s = Math.floor(left \/ 1000);\n    var d = Math.floor(s \/ 86400); s -= d * 86400;\n    var h = Math.floor(s \/ 3600); s -= h * 3600;\n    var m = Math.floor(s \/ 60); s -= m * 60;\n    put(cd.d, String(d)); put(cd.h, pad(h)); put(cd.m, pad(m)); put(cd.s, pad(s));\n  }\n  function select(o, byUser){\n    opts.forEach(function(x){ var on = x === o; x.setAttribute(\"aria-checked\", on ? \"true\" : \"false\"); x.tabIndex = on ? 0 : -1; });\n    current = { id: o.getAttribute(\"data-sess\"), start: startOf(o) };\n    var dated = !!current.start;\n    box.hidden = !dated; links.hidden = !dated; soon.hidden = dated;\n    label.textContent = dated ? \"Starts in\" : \"Coming in January\";\n    if (dated) { setLinks(current.start); tick(); }\n    if (byUser) track(\"kood_lp_info_session\", { session: current.id });\n  }\n  function refresh(){\n    var now = Date.now();\n    opts.forEach(function(o){ var st = startOf(o); o.hidden = !!st && now >= st.getTime(); });\n    var live = opts.filter(function(o){ return !o.hidden; });\n    var keep = current && live.filter(function(o){ return o.getAttribute(\"data-sess\") === current.id; })[0];\n    select(keep || live[0] || opts[opts.length - 1], false);\n  }\n  opts.forEach(function(o, i){\n    o.addEventListener(\"click\", function(){ select(o, true); });\n    o.addEventListener(\"keydown\", function(e){\n      var live = opts.filter(function(x){ return !x.hidden; }), k = live.indexOf(o), n = live.length, t = null;\n      if (e.key === \"ArrowDown\" || e.key === \"ArrowRight\") t = live[(k + 1) % n];\n      if (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\") t = live[(k - 1 + n) % n];\n      if (t) { e.preventDefault(); select(t, true); t.focus(); }\n    });\n  });\n  gLink.addEventListener(\"click\", function(){ track(\"kood_lp_calendar\", { session: current && current.id, calendar: \"google\" }); });\n  oLink.addEventListener(\"click\", function(){ track(\"kood_lp_calendar\", { session: current && current.id, calendar: \"outlook\" }); });\n  refresh();\n  setInterval(tick, 1000);\n\n  \/* ---- question list ---- *\/\n  var KEY = \"kz-questions-v1\";\n  var chips = [].slice.call(info.querySelectorAll(\".kz-qchip\"));\n  var list = g(\"kz-qb-list\"), empty = g(\"kz-qb-empty\"), count = g(\"kz-qb-count\"), form = g(\"kz-qb-form\"), input = g(\"kz-qb-input\"), copy = g(\"kz-qb-copy\"), note = g(\"kz-qb-note\");\n  var qs = [];\n  try { qs = JSON.parse(localStorage.getItem(KEY) || \"[]\"); if (!Array.isArray(qs)) qs = []; } catch (e) { qs = []; }\n  function save(){ try { localStorage.setItem(KEY, JSON.stringify(qs)); } catch (e) {} }\n  function render(){\n    list.textContent = \"\";\n    qs.forEach(function(q, i){\n      var li = document.createElement(\"li\");\n      var span = document.createElement(\"span\"); span.textContent = q;\n      var rm = document.createElement(\"button\"); rm.type = \"button\"; rm.textContent = \"\u00d7\";\n      rm.setAttribute(\"aria-label\", \"Remove: \" + q);\n      rm.addEventListener(\"click\", function(){ qs.splice(i, 1); save(); render(); });\n      li.appendChild(span); li.appendChild(rm); list.appendChild(li);\n    });\n    count.textContent = String(qs.length);\n    empty.hidden = qs.length !== 0;\n    copy.disabled = qs.length === 0;\n    chips.forEach(function(c){ c.setAttribute(\"aria-pressed\", qs.indexOf(c.textContent.trim()) === -1 ? \"false\" : \"true\"); });\n  }\n  chips.forEach(function(c){\n    c.addEventListener(\"click\", function(){\n      var q = c.textContent.trim(), at = qs.indexOf(q);\n      if (at === -1) { qs.push(q); track(\"kood_lp_question_add\", { source: \"chip\" }); } else { qs.splice(at, 1); }\n      save(); render();\n    });\n  });\n  form.addEventListener(\"submit\", function(e){\n    e.preventDefault();\n    var q = input.value.trim();\n    if (!q) { input.focus(); return; }\n    if (qs.indexOf(q) === -1) { qs.push(q); track(\"kood_lp_question_add\", { source: \"own\" }); }\n    input.value = \"\"; save(); render();\n  });\n  copy.addEventListener(\"click\", function(){\n    var text = \"My questions for the \/\/kood info session:\\n\" + qs.map(function(q, i){ return (i + 1) + \". \" + q; }).join(\"\\n\");\n    function done(ok){ note.textContent = ok ? \"Copied. Paste them into your notes and bring them along.\" : \"Copying didn't work here. Select the list and copy it by hand.\"; }\n    function fallback(){\n      var ta = document.createElement(\"textarea\"); ta.value = text; ta.setAttribute(\"readonly\", \"\"); ta.style.position = \"fixed\"; ta.style.opacity = \"0\";\n      document.body.appendChild(ta); ta.select(); var ok = false;\n      try { ok = document.execCommand(\"copy\"); } catch (e2) {}\n      document.body.removeChild(ta); done(ok);\n    }\n    try { navigator.clipboard.writeText(text).then(function(){ done(true); }, fallback); } catch (e) { fallback(); }\n    track(\"kood_lp_questions_copy\", { count: qs.length });\n  });\n\n  \/* chips that follow the experience level and the Sprint location *\/\n  var level = 1, place = (info.closest(\".kz\") || document.documentElement).getAttribute(\"data-place\") || \"johvi\";\n  function filterChips(){\n    chips.forEach(function(c){\n      var l = c.getAttribute(\"data-level\"), p = c.getAttribute(\"data-place\");\n      c.hidden = (l !== null && l !== String(level)) || (p !== null && p !== place);\n    });\n  }\n  document.addEventListener(\"kz:level\", function(e){ level = e.detail.level; filterChips(); });\n  document.addEventListener(\"kz:place\", function(e){ place = e.detail.place; filterChips(); });\n  filterChips();\n  render();\n})();\n<\/script>\n<script data-cookieconsent=\"ignore\">\n\/* the default page template prints the page title as a second H1; this page brings its own *\/\n(function(){ var h = document.querySelector(\"main h1.entry-header\"); if (h) h.style.display = \"none\"; })();\n<\/script>\n<div class=\"ama-block block-seperator full-width\" style=\"--seperator-bgcolor: var(--ama-accent-color-1);\"><\/div><div role=\"form\" class=\"wpcf7\" id=\"wpcf7-f17840-p17840-o1\" lang=\"en-US\" dir=\"ltr\"><div><div class=\"wpcf7-form\"><div class=\"fit-the-fullspace\"><div><div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div><form action=\"\/en\/wp-json\/wp\/v2\/pages\/32919#wpcf7-f17840-p17840-o1\" method=\"post\" class=\"wpcf7-form init\" enctype=\"\" autocomplete=\"autocomplete\" novalidate=\"novalidate\" data-status=\"init\" locale=\"en_US\"><div style=\"display: block;\"><input type=\"hidden\" name=\"_wpcf7\" value=\"17840\" \/>\n<input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/>\n<input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/>\n<input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f17840-p17840-o1\" \/>\n<input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<input type=\"hidden\" name=\"_wpcf7_fit-the-fullspace\" value=\"\" \/>\n<\/div><label> Your name\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n\n<label> Your email\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n\n<label> Subject\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span> <\/label>\n\n<label> Your message (optional)\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" name=\"your-message\"><\/textarea><\/span> <\/label>\n\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Submit\" \/><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div><\/form><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Never coded? Most people at \/\/kood hadn\u2019t either. Selection Sprint 23 runs 18 January to 5 February 2027. Take the 30-minute test and apply.<\/p>\n","protected":false},"author":14,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-32919","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/pages\/32919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/comments?post=32919"}],"version-history":[{"count":8,"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/pages\/32919\/revisions"}],"predecessor-version":[{"id":33473,"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/pages\/32919\/revisions\/33473"}],"wp:attachment":[{"href":"https:\/\/kood.tech\/en\/wp-json\/wp\/v2\/media?parent=32919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}