commit 10a0d7fcc26c0efee8760a59f297d37d24e45b54 Author: Gnarly Narwhal Date: Sun Oct 6 19:07:24 2019 -0400 Entire project diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c983ebb --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +x64/ +Debug/ +Release/ +*.vcxproj* +*.sln +.vs/ \ No newline at end of file diff --git a/Comedy Crusade.zip b/Comedy Crusade.zip new file mode 100644 index 0000000..b611c2b Binary files /dev/null and b/Comedy Crusade.zip differ diff --git a/res/img/Cover Image.ai b/res/img/Cover Image.ai new file mode 100644 index 0000000..5e26569 --- /dev/null +++ b/res/img/Cover Image.ai @@ -0,0 +1,4501 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[7 0 R 6 0 R 8 0 R 44 0 R 43 0 R 45 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Print + + + 2019-10-06T19:03:04-04:00 + 2019-10-06T19:03:04-04:00 + 2019-10-06T19:01:45-04:00 + Adobe Illustrator CC 22.1 (Windows) + + + + 256 + 208 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA0AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A8qYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FWSaV+W35hauofTPLWqXcRFRLFZztHQio+MLx37b4qnZ/IP85AvL/Cd/SlfsLX 7uVcVYTqWm6hpl/Pp+o28lpfWrmO4tplKSI69VZTuDiqGxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ksr8h/ld5589Xht/LemSXMSMFnvX/d2sVd/3kzUWtN+I qx7A4q+k/Iv/ADhboFosdz5z1WTUrgUZtPsKwW4PdWlYerIPdQmKvcfLH5a+QfKyINA0GysHTpcJ ErTn5zvylb6WxVkuKuxV8e/85neQVsPMenedLSMLb6wv1PUSo/4+oF/du3vJCKf7DFXzbirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVXRxySyLHGpeRyFRFBLFiaAAD qTir6i/Jf/nEhriODXvzERoomAktvLqMUcg7g3brRl/4xrv/ADEbrir6n03TdO0yxhsNOtYrOyt1 CQW0CLHGijsqKABiqJxV2KuxV2KvPvz78nr5r/KjXtPVOd3bQG/safa9a0/ehVr3dVZP9lir87MV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVVba1urqYQ2sLzzNUiOJS7 GnXZQTk4Y5TNRBJ8mE8kYC5EAeb3f/nG3T7HQZbjzXqWhrqOo8vS0WSWXisHAss0np8H+PkAoJNd j06nb6HsaWaHHKXBH5n9jqtb2vHDLgjHiPyH7X1Z5K8/QeZJp7SW1NlfQKJBFz9RXjqFZlbitKMR UHxHXelXaPZZ04EgeKJ+FFs7P7TGoJiRwyHx2ZZmqdo7FVKa7toZoIZZAstyxSBD1ZlRpCB8lQnF WOedvzF0DyU1jP5i9W10m+cwDVljaWCGfqkc/AM6eoK8WoRsa07qt2n5o/lreQCe281aRJEdyfr1 uCO/xAuCp9jiqVSfnX+Xlzrll5d0TUo/MOs6jKIYrTTSLlFTrJLLMlYVjjSrN8VaDYHFXwJ580H/ AA/5113QwKJp1/c20XvHHKwjP0pQ4qkWKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV 2KuxV2KuxV9BfkfoNl/heG7RB9YvnkadyBU+nI0arWleIC1p4k52fZEY49MJDnK7+BIeQ7VkcmpM TyjVfEAvbNI8pM0RZI/hB67Drv3zF13bOLFICcqJ/HRv0nZU8guIsIG/0Wa3kmdXeESIYpERivJC QSrgUqCVGxzOw6qMwOR6j9YcPLpjEnmOn9qI/LGa/tfOkFnaO/1K4SU3sK1MfFI2KOw6Ah+IDe9O +R7ZjCWmMpfUKr5/qvZn2PKUdQIx+k3fy/W9g1jWdK0XTLjVNWu4rLT7VedxdTMERF9yfE7AdzsM 4p7F4Z+WX5l3X5p/njeapYJJF5R8r6bNFpwcFTJPdyxp60grs0qRvxB6KvSpOKvcdd0LSNe0m60j WLWO9028Qx3NtKKqynftQgg7hhuDuN8VfPerf84SeVJ9QebTPMV5Y2TGq2ssMdwy16gScotvCqk/ PFXq35W/kt5K/Li1kGiwvPqVyoS71W6Ie4dRvwXiFVErvxUeFa0xV8df85O2C2f53+ZFReMc7W06 9NzLaRM52/y+WKvLMVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir2v/nH tNcf62/1rjpEb8I7cqprOQrOwb7ShVpt0NfbOm7E4/CkSf3fQefX8ebzfbPB4kQB6+p8un48n1Tp Wq2cNhFHNJxZdgT3rU9s5rtbsjNlzmeMWJfZW3V3nZ3aOKGERmaI+1ivm7Uy85lRmMFRzjUhWKil QGIYKSO9DT3zq+xtH4WIQP1Dr5/j3PO9q6rxMhmOT0iw8r6faaHIvlmYafdXsaSRaqUFy5JAKs6y /aUj9gcRuaUOc9rNVlyyrIfp6dB+Pm7/AEmmxY43jHPr1LwDz3/zjn+fPnbVkPmHzpYajpkT1hDm eARqf2ks4ofRD0/y6+LZiOW9t/Kf8q9B/LfyyNH0xjcXMzetqOoSALJcTUpWgJ4oo2RK7e5JJVZp irsVdir4L/5yvI/5XdrHtBZ1/wCkWPFXj+KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2KuxV6l+TfnnS9FS40vUJVtRLKbiC4kNEJKBWRmOy7ICCev3V6PsXW44xOKZ4bNgnl+zk 8/2zo8kpDLAcVCiOv43Zb5r/AD4sbHULO20wi/hjkrfSxn4QlCKRN9lmqQfDt1NRk6ntTDimIx9f 86u7y7z9nT3Y2n7NzZYky9H82+/z7h9vX3yDyx+ZnlLzb5i0jQjqJtX1WZYS0kbr6bMpIQsRw5Mw 4LQkciO2WT7Y0+OHFD1S7q+/9ltceyNROdT9Me+/u/a+s4oo4YkiiUJHGoREXYBVFAB8s5CUiTZ5 vWRiAKHJdgStmmihieaZ1jijUvJI5CqqqKlmJ2AAxV8r/mb/AM5k3dvqk+m+QrO3mtIGMZ1m9V39 UjYtBCpj4r4M5Nf5RirEdD/5zL/M6zvFfVbTT9UsyR6kHpNbyU/yJI2IU/6yN8sVfUf5W/mz5W/M fRG1DRnaK6tyFv8ATZiPXgc9KgfaRqfC42PsQQFXxP8A85Fakuo/nV5quFNQl0ltt42sEdufxixV 5xirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVXI7o6ujFXUgqwNC COhBxV91/wDOOX55W3nzQl0XWJgnm3TIwJwxAN5CuwuEHdh/uweO/Q7KvZ8VeQ/85UeYdR0n8pri z07mbzX7uDSIxEGaRhOGkdEC7kyJCyU71xV5v+Un/OH9q1rBq/5iM7SyAPHoEDlAgO9LmZPi5f5E ZFP5j0xV9F6B5I8n+XoEg0PRbLTkSlDbwRo5I6FnA5MfcmuKqlzpXljS57jzG9lb2t1a28n1jUI4 1SX6uo5uruoBZRwrQ+GKvzR17Vp9Y13UdXn/AL/Ubqa7lruec8jSN+LYqgMVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVRelarqekajb6lpl1JZ39q4kt7qFikiMO 6sMVfYf5Of8AOWGha9FBo/niSPSNaACJqholncHpVz0gc96/B7jpir3TUdG0nWZNKu7lFuF025Go 2DAhk9b0JIUkHUGiTsV96HFUyxV2KvJv+coPOK+W/wAo9UiR+N7rZXS7YA70nBM58aegjj5kYq+B MVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirPfIH54 fmR5FKRaLqjSacn/AEqrys9rStaKjENHXv6bKcVfQfk//nNXy1dKkHmzRp9MmpRruyIuYCfExtwk Qew54q9g8ufnP+VfmJU/RfmaxeV/s288otpifART+m5+gYq+V/8AnLz8wI/MHn2Dy/ZTCTTvLsXB mQ1R7u4CvKwpseKBE+YOKvB8VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVRNnpuo3 zMtlazXTIKusMbSEA+PEHCA3YdPky/RGUq7gT9zKfKH5Y63r81wJ1k06G2Kq7SxNzZ2FeIRuH7O5 PuMIjbttB2HkzE+JeMR7xuT7tvxT0XyR/wA42aXr3mIaZqHmGWyV0Z7dEtVZpCm7JzMtFbjVh8B6 H6TKFNnafYR0+PxIS449dqI7vf8A2Pa9L/5w6/KO0VfrTalqLCnIz3KoCe9BBHFQfTkHn05j/wCc V/yNWIo3l95GNf3rXt7yFf8AVmVdvliqX3v/ADiJ+TNwnGG0vbM/zwXbk/8AJYSj8MVYfrv/ADhD 5fkVjoPmW7tXA+FL6GO5BPgXi+r0/wCBOKvKPN3/ADij+begK01pZw69arUl9Nk5SADxglEchPsg bFXkV7Y3tjdSWl7byWt1CeMtvMjRyIw7MjAMD88VUMVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdiqZaR5d1vWIdQn0yzkuotKtmvdQdKUit0ZVaRqkbAsOm/foDiqW4q7FXYq7FXYq7FX0N+TqaF P5btI7XiHFRdKac/Wr8Zanj+zX9mmXROz6F2ZkgNHHwv87v4ut/o8qe56J5MspbQzBwvqHsAeg+e a/U6/wAOXDVut1PaM+Ku5j+uaXc6TqAu7Kd7e7tmJhnjYqw2IPTsRsQe2ZuKfHEHvdjpNQM0OCYB ieYL1P8ALjzPdeYvLa3V4Ab22la1uZAAqyOiqwcAdKo616b1oAMEhReU7a0MdNn4YfRIcQ8vL5j5 MoyLqXYq7FXYqxnzv+W3krztYm08x6XDeELxhuqcLmL3imWjr8q0PcHFXxL+fn5Jj8sNYsFttRF/ pOsCdrESDjcxfVynNJgBwb+9Xiy0rv8ACKbqvK8VdirsVZP5B8jXnm7V5LZbhNP0uxha71nV5x+4 tLWP7Uj7jkT0VRuxxVl/mfyH+VN35I1TX/y/1nUr278uvbfpi31OKOMSw3UvoLPbhFUqBKVqrVND v7qvKcVdirsVdirsVdirsVdirsVdir1H8nWZfKn5mlSQf8OMKjbY3EYI+kYq8uxV2KuxV2KuxV2K s+/JZLY+bnkmYhorZ2jQEgEl0BrQgGgPQ/Ptk4c3o/ZqF55d4gfvH4+3o+pbHzumnWaRI6qhIFCB tUgVyrLpIZDcg7nL2WckiUv8wanFdETMzMhYNKiMEZlrVgGKuFJHfifll8I0KDkaLAYbdfx7vvez eTNM0aw8uWQ0iN47O5iS6DS09VzMitzlI25kUrTbsNsrkd3iu08+XJnl4p9USY7chR5DySPzR+dv 5U+V7lrXWfMlrDdISslvDzupUYGhEiWyzMh9mAwOAr+Tfze/Lbzncm18t69Be3gBb6owkgnKr1Kx TrE7Adyo2xVmGKuxV2Kvjv8A5zc1ISedPL2mg1Nrpz3BHh9YnZPD/l38cVfN+KuxV2KvUvMdfKX5 LaDokH7vUvO0ja1rLD7RsbdzFYQk/wAjNyl+eKvPLTW9RtNKv9Lt5OFpqZh+uqAKuLdi8a18OZ5f MDFULa21xdXMVrbRtLcTusUMSCrM7niqgeJJpir2nVvyB019c0zyBoOpxSfmBDZNqHmFr24WO0WR kV0srVEjkd5VVuRNfs/F0+yq8guLG90TWjaatZvDd2E4W7sbheLAowLI6sO+KvTfz48o+v8An1e6 LoFqifpiSxOn20ahE53dvEPsovwj1CSdvfFU+80x/l/eflr5x8teXtKt1PkJ9Pkt/MNALu/nlufq l7K7ca+mzOOC8qUA9gFUu0D8uPINxpsfku8iuH/MjVNJk1i1v1mKw2s4gN1b6c8HQtLbrykZhyUt QYq8h0nStQ1fU7XS9Nga5v72VILWBPtPJIeKgfTir2LRdI03Qdefyn5S8oWfnzzHZn09e1vVEkn0 6GZaiWOCNXhijhhIIM8zVY16CmKsL/OX/BP+ObhfJ8UMWnpDCt2tmxez+uhf9I+qsxNYQ+y9v5fh piqp5A8m6K+mXPnXzk0kXlDTJBDHbRHjPqd7TktlAewp8Ur/ALK+/RV6zonm2485/lX531f9FWWi 6fo+hyaXZWdlGsauZblZ340+IrDEsC7n7TFv2qBV43D5O0+f8orjzfE8h1Sy1xdOuYuQ9IWs1r6k b8aV5eqpFa9+mKpL5N0yDVfN+h6XcLzgv9QtbWVBWpSadUYbEHo3bFU1/NnStG0n8yvMml6LCLfT LG/mt7eAMXCCNuLKCxY0DA9TirEsVdirsVVbW6ubSdLi2leCeM1SWNirCopsR7YtmLLLHISiTGQ6 hm3krzH5g8xfmB5T03VL95rWfWLCJ4qKqEPdRj4kQKHp74TIly9V2pqM44ckyR3bD51V/F9nan+S VjcXxks9UltLBm5NaGISsoJqVSQutBTZeStT3yYyO6we1E4wqUBKffdfMV9xHweg2+l2MGlxaWIh JYxQLbCGUc1aJUCBWDV5fCN65WXmsuU5JmcuciSfixfW/wAm/wAq9atmt7/ytppUgr6kFultKAf5 ZYBHIPobFrfO35qf84xa15Jf/Gf5b3txLDpbfW3smYfXLYRfGZYZAB6qrTdSOVP5t8VfUflPXf01 5Q0bXpQIf0lp9tfSAmip68Kync9hyxV86ed/z+/Nbzhq9zpf5P6RdSaPau0L67DafWHmYdWVpFaG FD+zy+Ijf4emKrPLPnH/AJy58s3a3fmHy9c+Y9ILA3NmY7Zrjj3MLWn7wNQbclYe2KvGv+chPO1v 5w/M++1S1SaK0igtraGC5QxTxGOFWljljP2XSd3UjxGKvNsVdirsVep/85FI0PnHR7NE9O0s/L+l QWKilPRW35DjTtzZsVeWYq9e/wCcfvJkx8++X/MOqxKNMt1vtSt4Hr6kw02DmJVUj7AmdOL92Ugd DRV5trHmXV9U8yXfmOe5kXVbq6a8NyjsrpKz8wUYUK8P2adO2KvTPzsvZNb8jfl35p1pQvm/VrK6 TUpQAGuLW2mEdpcSgUozrUjbf6AMVZn58lTSvNWp/mGwYS6b5W0uHTJGJLHVNVtTbwuCTTlFCJJP 9iDirF/+ce/Llprvlrz7bXr8NPWLSX1A0rS0h1AXNy3+xht2xVKfyo803es/85E6N5guW4T6nqzu ygCircB0WMACnFVcIPbFU5/IXSoLP81/NeoxqrS+VdM1e/08MoKiaFhBGaGvRZTirz3zJ+a3n3zF avZahqrx6bISW02zSOztTX+aG3WJH/2QJxVZL5NaDy3odxOHXWvMt2RpVsxCqLJD6PrOCOVJp34x nwjbxGKsj/PC4S380WnkHSFJ0jyfEmmWkSDea8cK93cFR1kmnNPoGKs20+BNL0/XvIEPJx5c8map da6ULFTq129vPOGoFBEAjii37qcVYd+TyN5g8uedPy+Qc77W7GPUNFi2q99pb+sIo6/tyxFx9GKs m/5xq8gva+etL8x+ZbSW1jS6NpoNnPGY3ur702Z3VX4n07WJWkZv5uI64q8d82X/AOkfNWs6hy5/ XL65uOYoQfVmZ67bd8VSnFXYq7FXYqyb8sLiO2/MvylcSmkcOs6fI5/yVuoyf1Yq/S7FXYq7FXYq gbjQ9Kn0OTQmt1j0mS2NkbSKsSi3Ken6acOJReHwjjSnbFVewsLHT7OGysLeO0s7dQkFtAixxoo6 KqKAoHyxVD6/rVnoeh6hrN63G0023lupz34QoXIFe5ptir8xtZ1S61fV77VbtuV3qFxLdXDeMkzm Rzv/AJTYqg8VdirsVevwedfy389eVtI0b8wJrvRPMHl+3Fjp3mazh+tpNZp/dxXUNRITH+yV99xX FUF6f5C+V1F7b3t/581NN7ayltm0zTg9ahrjkzzuq/yKaN3OKoDyn+cWsab+ZMXnHWol1OKSN7K8 09QIohYyoYjb26LRYljQ/Ao2236nFU8e+/5xi0y5Gr2Fj5i1mYH1bfQL1raG0D/aCTzJWQoDt8Jb 3rirz/zv511rzl5gm1rVmQSuqxW1tCvCC3t49ooIUH2UQdB9J3xVnv5zfmPoXmDyj5J0LRZfWksd MtJNfm4sGa+itktljct9oxKj7iv2uuKsa8lfmJH5Z8k+dNCjtpJL/wA0wWtpDdKwEcMUTyGcOvVj IknEUxVA/ldr2m+X/wAxPLutam5i0/T76Ge6kVS5WNW+JuK1Jp7Yqnvlf81V8p/m1qnm/TrUXuk6 hdXq3GnyUj9axvJWf0zs3E04sPcU6Yqnt9rn/OL9vK2saboGv3t69ZItAupoYtPSTqFeRGecpXwZ tsVefaz551rWfN0fmfUCj3cMsL29tGvpwQxWxHo28SDZIkVQoA/Xvir1vzL+Z/5Iw6xc/mD5d0zU L3z/AH7C5gstR4HTrC8ZRWfiADKyN8SCrDlv8OKvO/y9/MhPLV75qvNTtpdUm8y6NfaXI3qcG9a+ ZGaaRiGJ+ya03xViOlarqWkalbanplw9pf2ciy21zEeLo6moIOKvZ/yT86+avNv5y2mv+Z9Sn1O6 0fTdQuIXk4ARqlrIv7uMBUXd67Ab4q8OJJNTuT1OKtYq7FXYq7FVW2uJra4iuYGKTQuskTjqGQ1U j5EYq/T3y1rlrr3l7TNbtSDb6law3UVDWgmQPT5itDiqZYqxvz7560ryTo8GtauGGltdw2t3OgLG FJyVEpUVJVXpyp26VO2Kp5p+oWGo2UN9p9xHd2VwoeC5gdZI3U9CrKSCMVRGKuxV87/85jfmGmle UbXybaS0v9dYTXoU7pZQPUA9/wB7KoA8QrDFXxnirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVZ/wDkd520Tyd+YFvquuiQ6NLbXVpfekgkfhPCyj4D1+PiDirBrwWgu5xZs72gkYW7SgLI Y+R4FwpIDcetDiqjirsVdirsVdir7P8A+cOvzDj1fydceT7uUfpHQWMtmhPxPZTty2r19KVip8Ay jFX0LirGvzJ8l23nXyPq/lmdhGdQh428zdI54yJIXNN6LIik07Yq+ArXzD+Z35Y69eaVa6he6DqN pIY7uzVz6TMp+0Ym5RSA0qrUII6bYqz7S/8AnMP84LKMLcnTdTYChkurUqx9z9Wktx+GKvUfy2/P T80/NVnd+a/Mqad5f8g6CDPqeo2tvKJbp46FbSD6xNMGZ2orcRXegIYjFXzH+Y3nnU/PPnHUfMmo fA95JS3t61WGBPhiiX/VUbnuanvirGsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVVba2 uLq4itraJ57md1jggjUu7u54qqqtSzMTQAYqskjeN2jkUpIhKujChBGxBB74qtxV2KuxV2KuxV2K sk/Lzzzqvkfzfp/mTTTyls3/AH1uTRZoG2lhbY7OvemxoeoxV+jPlLzVo3mvy7Y+YNGm9fT7+MSR N+0p6PG43o6MCrDxGKpvirE/PX5V+Q/PMKJ5l0mO7miHGC8UtFcRjrRZoyr8amvEnj7YqwXTP+cT /wAl9KuDfXNpc3sUVZPTvbpvQULvVhGIqqP8okeOKvnr/nIb85rLzVdQ+UvKapaeR9FIS3jt1EUd zKnwiQIoUCJOka0/yu4AVeLYq7FXYq7FXYqnnk3yfrXm7XYdG0hFM8itJNPKeEMEMYrJNNJ0SNB1 J/XirMfN/wCUGh6Z5SuvMfljzjZ+aotJkhh1yC2heBrY3DGOORCzv6sZkHHlQYq8yxV2KuxV2Kux V2KuxV2KuxV2KuxVnP5Hf+Tf8o/9tOD/AIlirH/OkskvnHXpZDykk1G7Z28S07knFUmxV2KuxV2K uxV2KuxV63/zj9+eN3+XOuGz1Bnn8p6jIDqFutWaCSnEXMS1+0KAOP2lHiBir7w0zU9P1TT7fUdO uI7uxu41ltrmJgyOjCoZSMVVLu7tbO1lu7uZLe1gQyTzysEREUVZmZqAADucVfGf/OQv/OScvmz1 /KvlKV4PLQYpe34qkl9T9lQaMkFex3fvQbYq+fMVdirsVdirsVdir1O4ZvJf5J2kcB9PW/zCmklu 5BUPHpFi/COIU6C4mJY/zKKHFWB6Z5mvtN0HWdGtwog1wW6Xkhry9O2l9YIP9aQKT8sVTD8svK9h 5q8/aJ5d1CaSCy1O5WCeWEqsgUgn4C4da7dwcVZBYfl/oGk6h5g1jzTLOfKfl7U5tKhggZVu9Suo 5GUW8LGiqFQepM9PhXYCpGKof8xdP/LG9vdBk/LU3Yl1aOl/ol0S7WtyziOOJJn+3zNf2j2Nd6BV L/zT8taB5X83S+XNImluW0mGK21W6kZWWXUFWtyYgAvGNXbgFO/wnfFU88x/lhZaN+SHlzzrN6ya zrOoyRNEzD0/qjRu0J4UqGPo8ga7hvliqTeTPy+i1fSrnzJr2pJoXlGwnW2udSdGmlmuHXmLa0gX eWXjudwFG5OKo/zLq35Jjy5d6b5Z0HVTrNYhZ67qN0taLIplL20P7ockBAG/Xrtirz7FWaeRvy+h 1ixufMfmK9Oi+TNOcJeanw5yzzHdbSzjP97Ow+hB8Te6qa+dtD/La88iW/mzyZBfaY0OpnSbzTtQ lWdpQYTPHcxugAGw4uvYkfSqw/yh5S1nzZr9tomkRh7q4JLSOeMUMSCsk0z/ALEca7sf44q96/Kd vyyHnjSPJ3lHShq2rWeo211N5ynqHlW0DzXkkKdIYSY0iiXflyqd6VVeB+b/APlLNb/5j7r/AJPN irNrTyp5M8nQ2LeeLG813zLqccc9t5TspTaCCCahiN5OFkk9WUEFIY1qB9o1IGKqX50+VfKWgXui HRLSfRr/AFGxF1rHlu5n+syafIx/do0pCvV0+Li/xDrtWmKvN8VdirsVdirsVdir138jP+cgda/L m7GnXwk1HylO5aewBBkgZustsWIAP8yE8W9jviqh+c3/ADkF5o/Mad7GPlpfleN6waXG1Wl4mqyX LinNu4X7K+5+LFXlOKuxV2KuxV2KuxV2KvUv+chQLbzRoWkRAraaR5e0u1tVNacfR9UsKk7lpDU4 q8txV6H+SOmXyfmb5M1N4StjPrEdvDOSAHli4NIqitTxEi127jFUV/zkB5ltdQ89Xeh6WaaNoFxd QQjp6l5PO019OR4vOxUbn4VXFUv/ACH0yDUvzg8q29xx9FL1bl+Zov8Aoqtcb/8AIrFUH5Y0KTzz 56upr+Y22mtJcat5g1Copb2auZbiWp25HlxTxYgYqz/z15mHmv8AIq61dFNtbwecxBYWNPhgsl0l YrWJdyB6cUIBp1NTirEfKX5h+Wo/KH+C/Oeiy6noMd4+oWV3YT/Vr22nkjEbleQeKVSB9lhse52A VRsXkL8qPMUscHlPznJp+oz/AA22l+Y7U2/KQmioby3MsCknbcDFUj8ufld5h1T8xl8j3sf6Pvre d01aWQgpbQQAvPMzCq8VjFVNaNtvviqO8++Y5POfmLTvKvk+0kHlrTH/AEf5W0mMfHJzajXEg25T XDfG7Nir0HWo9GsfyO86eTdJaOePyneaRLqOpp8X1vU7uaSO7KMDT0ovTSKM034E/tYqw+Y/4J/J q1EHwa/+YRla5nBo0WjWkgRYRTp9ZmqzeKihxVMvybJ8r2Ol68W9LVvNWuafpGkfZ5rZW15DNfTC tTxeRY4en82KobyL5Ts9c/5yVXQ7kerZx67fSyo/R0spJp+Lf63o0OKrfOP57eY3806ve6Fp2naD qFxcSpPq9rB6mouA3Gv1q4aZo9l6RcaDbFWCRaJd33l3VfNWoXL8I7mK1gkkrI91ezkySKXY1+CF Gd233Kj9rFUhxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV7VeXnkT81vLui/pTX7fyt570Oyj 02ebUgwsdQtoNoZPWQH05Fr8VRvXoR0VSf8A5V9+WPllRf8Amrznaa/6fxR6H5aLzyTsDsr3cipH Cm3xGnLwxVL9C/MQ3n5qeVtavVi0nQ9I1GzFrp9t8FtZ2SXCs6rXc1Wpkdvic1JxVIPzHu9OvPzC 8zXemSrPp1xqt7LaTISyvE9w7Iyk9QVNRiqYfk55m0jyz+Zmg63rBK6XbTOt46gtxjmieFn4qCxC +pUgCvhiqbee/MPkzQ9Gn8k/l/cy32mXMom17zBMnpyXzxMTBbxoQCtvD9r/AC336AVVV/JOteWr 78m/OPlDV9Rj02/ing13Q2mB4zzwr6UsC8QTzdKKo969AcVY7+Wv5ff431i5006zY6ILe2edZ9Ql WNZJBRY4kBK1LORU/sip36FVla/lh5L8mzpqXnfzdp2ofVnWSPy/5elN7dXJX4ljkm4pHbq1N2au 3TcjFU38gfmN5b8w+YfzEu/OOqL5d1HzpYvbWeqiJ54rdHajwUT46GNUUVIqF61piqSal5l8geQr O60/8vbubXfMV5G9vdecbiI2y20Lji8enwMSyO61DTMagfZ67Kpf5M8y+WbX8pPPvlzUbk2mrao2 m3GmARtJ9YNrOzNFUfCnHlWrHoT1pTFWY26/k7518h+VLjzN5tk8v33lSyfT9Q0pLczT3MaytIht 2BoCwfrxbfrSlcVYi/5mabd/mr5Z136q+m+U/LV3Yx6ZpqfvGt9Ps51c9/jlejSOa7seuKrbP8zb HRPzzuPzA0eCSXTTq11epbSARyPbXbOJVoCQrGOVuP44qyjX/LP/ADjdq2pXHmS289Xmm2N5I1xL 5e/Rssl2jyEu0Ucu0agE7VDAdORxV5758852muPZaXolmdL8qaMrxaRpzMGlJkNZbm5cbPPMQOZG wACjYbqsTxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV 2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2KuxV2KvoD/oSr80/+rrof/SRef9kmKu/6Eq/NP/q66H/0kXn/AGSYq7/oSr80 /wDq66H/ANJF5/2SYq7/AKEq/NP/AKuuh/8ASRef9kmKu/6Eq/NP/q66H/0kXn/ZJirv+hKvzT/6 uuh/9JF5/wBkmKu/6Eq/NP8A6uuh/wDSRef9kmKu/wChKvzT/wCrrof/AEkXn/ZJirv+hKvzT/6u uh/9JF5/2SYq7/oSr80/+rrof/SRef8AZJirv+hKvzT/AOrrof8A0kXn/ZJirv8AoSr80/8Aq66H /wBJF5/2SYq7/oSr80/+rrof/SRef9kmKu/6Eq/NP/q66H/0kXn/AGSYq7/oSr80/wDq66H/ANJF 5/2SYq7/AKEq/NP/AKuuh/8ASRef9kmKu/6Eq/NP/q66H/0kXn/ZJirv+hKvzT/6uuh/9JF5/wBk mKu/6Eq/NP8A6uuh/wDSRef9kmKu/wChKvzT/wCrrof/AEkXn/ZJirv+hKvzT/6uuh/9JF5/2SYq 7/oSr80/+rrof/SRef8AZJirv+hKvzT/AOrrof8A0kXn/ZJirv8AoSr80/8Aq66H/wBJF5/2SYq7 /oSr80/+rrof/SRef9kmKu/6Eq/NP/q66H/0kXn/AGSYq7/oSr80/wDq66H/ANJF5/2SYq7/AKEq /NP/AKuuh/8ASRef9kmKu/6Eq/NP/q66H/0kXn/ZJirv+hKvzT/6uuh/9JF5/wBkmKu/6Eq/NP8A 6uuh/wDSRef9kmKu/wChKvzT/wCrrof/AEkXn/ZJir//2Q== + + + + uuid:ebdb514d-e445-4a1b-af5d-0e5240bae21e + xmp.did:697c27cb-67d5-ca4e-b893-d9e4de823b03 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + xmp.iid:947237ee-0487-d64b-b5f6-735f446598ed + xmp.did:947237ee-0487-d64b-b5f6-735f446598ed + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:947237ee-0487-d64b-b5f6-735f446598ed + 2019-10-06T17:45:29-04:00 + Adobe Illustrator CC 22.1 (Windows) + / + + + saved + xmp.iid:697c27cb-67d5-ca4e-b893-d9e4de823b03 + 2019-10-06T19:01:46-04:00 + Adobe Illustrator CC 22.1 (Windows) + / + + + + Document + Print + False + False + 1 + + 640.000000 + 512.000000 + Points + + + + + InkFree + Ink Free + Regular + Open Type + Version 1.00 + False + Inkfree.ttf + + + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 35 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 236 + 28 + 36 + + + CMYK Yellow + RGB + PROCESS + 255 + 241 + 0 + + + CMYK Green + RGB + PROCESS + 0 + 165 + 81 + + + CMYK Cyan + RGB + PROCESS + 0 + 173 + 238 + + + CMYK Blue + RGB + PROCESS + 46 + 49 + 145 + + + CMYK Magenta + RGB + PROCESS + 235 + 0 + 139 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 190 + 30 + 45 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 238 + 64 + 54 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 240 + 90 + 40 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 246 + 146 + 30 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 250 + 175 + 64 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 249 + 236 + 49 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 214 + 222 + 35 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 139 + 197 + 63 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 55 + 179 + 74 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 0 + 147 + 69 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 0 + 104 + 56 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 41 + 180 + 115 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 0 + 166 + 156 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 37 + 169 + 224 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 27 + 117 + 187 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 43 + 56 + 143 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 34 + 97 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 101 + 45 + 144 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 144 + 39 + 142 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 158 + 31 + 99 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 217 + 28 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 236 + 41 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 193 + 180 + 154 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 154 + 132 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 113 + 101 + 88 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 90 + 74 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 195 + 153 + 107 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 168 + 124 + 79 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 138 + 93 + 59 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 117 + 76 + 40 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 96 + 56 + 19 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 59 + 35 + 20 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 35 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 64 + 64 + 65 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 112 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 129 + 132 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 146 + 148 + 151 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 166 + 168 + 171 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 187 + 189 + 191 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 208 + 210 + 211 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 230 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 241 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 236 + 28 + 36 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 241 + 101 + 34 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 255 + 221 + 21 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 0 + 161 + 75 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 34 + 64 + 153 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 127 + 63 + 151 + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 10 0 obj <>/Resources<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/Properties<>>>/Thumb 51 0 R/TrimBox[0.0 0.0 640.0 512.0]/Type/Page>> endobj 47 0 obj <>stream +HWK% ܿS^(J0 +,zˬ鮶Fԇǧ??|>>o_ۯOOѥ?]c3QY\꥞6xʩ"G9XӣLӪ\کm.JKQ5^ۣӆ^,{<ݗsKݗ=_B\k˿rt۠n-|S样n:bg@i9r_y;[t?G?Vo4yu="vp ĵM#R`B=t elS]۬o݆|)ӷLK۾{+J[=+m^y=ׁ7DxZ/۫%뢂}{z[WUTHO.eVS0vmS T޿v?nA9}[i+\G`&ӳt=Ȯ&;:9i.PǪ\q#j,אkH_kH뫍>~Pz k\F%tK u;䔶En_oߟtWWmxvK<(`r /( +P&wHms7`EgߺŬwߵ2$Ma_5f8f m[bWE_i\VD7 Dcס 5VR!`]S:oj(Ja.C2_1RmaI]ӔR;x:xzҙҺ%z,}%i,Xf=:1*ih(*ndrz< [ټh`͝j\;ܽ.Gk T,6ZdM4Le> ~ i,}Inn(hp^CaQ TBDa[G=늀@R(|K:⁅ 01qn`EKqeX_l`Vt/L[q+;*^#ǻ6x#Է"EU5ϣQf9 +!z% + +gtS0v2r!x Y3ns X^stPYE's"/R5M+#%XhUМ aF iMb[\pD!joq9ji9ZLY>fʰ ŷ1*Ʊmjj1p`Ib8Oŗ9`|=w(mNKatq1\3# t\[:moiބ W ;,jǪ pcDnbDŭ$ >o";BG>a.WcwAĖl@EIYhVio$TQfZB愨Bj<\+e(G6xkĻjE;zKl3]SAt6Dj%՚`,M&' *!=BK ]<( y7{:O!e?L#dbv}lR#AMZl^E7*7Ȋ(E-=WJ\Z $(!RHZ쀠H0n] 6o&rL0q /M\Ąo".RQ_RBJKFg,D"[(la;gIx*ZkF Uhxr@^d%ᚘH<B@u}dߟ@`LԑSk сm)-;L# F@4pwS#Şh)pne{2cPPx+9 !NQ ^e3a=KuAx)PԬԀEz2cP&8PځTqi䄁}CiS[[hLΈ:jrnݤ̫ewYLZIH V^D@PG:Z 2v[>zE!QK{M6:a4FϷyŞn/3keН7 ]-.M;*M+jT fQ@ +C2)5[3e'k#E,Ra!IȊIɁ"C؀3fLV)|6Fŵn`l7Džt'h+d([O A#jM +;@6?t 0$gf*ʎ;ЍňD":C,1Mt2kF@#^wK1Լ,J/n))}W+V* > c Lą qUs=r|] 7F?}#xGIhnl#i)hwɬNzP ^*{mm9"Wa1&A_gY@f + ,MYo*Ho%_P qd}_8,n*;U;xvķH b4:ud7f㣞2yY[dž-,x V:]ޙ(xvٛ"8Ě6Gj'(c=wN/{6t9Zy$O匪"k:v$٣I6Ir_n(K83?`{qZ +K-"ϵ5ynZFеb.=ʈ0;pa@AeR͏zM 좟cIRLsvhZ(\.dn*wYo0) 5L2&k2GN݇y) X$,J@&TMaGHWsV;@'Vƺ7bPVrzNw<%D٩0cqmRzS mUӭ\a˱2ؽc?ZdU(`bYJvWi:P +gJބc D)=WX~E<_!07I,R(r<  g,Zx]Y$jcҰN6 JN #U~mKXʿy[]:TVB=( @f:I3ӥ!l܎lPsE9 ͠cR &=,NInٺ$⏕9vW<ŀ( CɁKgv]7yo7,Y*.#ۜF5><0/CR8Rt4|"Y]qÏT˝8-݉ +\Fiȯ*,>4ق#Gd xŃ\Hds(2ڟa[JzlEvuWcvE'j<#]%xOgdF=F5><𞟄>DC1˞%Ɇ |3߇,UեWz,ּ[üS .i~oI;J|A˖;yl+{qO_s-qi/zw 9]>^Vnċ/ĹȇJu[z|EW[m]u*X+pS6fp#jڙ{+nGDy¸3oN;y<z-gyZ[cގltd8.VJ&Mu]W',}q[B?ӏ/z+c&w7O?,Hf'ˆG]ߊ^b-ymo5 bؓx;`gQGn< .ZÎ;8u_,{1ПObxd 7KK +;bݓ^;]w>ӥ{~bo=io=5{@cMMT;vR,rG+mOd ;Lʝo=n{f/]>:YlqF&0 +V1#i]L&9x_N癦ƍLc)_=VIߘg7WJ|H7 (V^ϭi5&oߢ&3jqx > 'VzojD%{2O=[jjVѧE12٢'ЋC'Nosg-qg%͙Ig-|U ~> py/>&2*#D8*Y\@"EO7jPgcO]> .ȏl;;^n')ܶv +76TqAsv.@YO'oThs ТݢM[X@~YmQSƅ\{xOc >:eC`;jo#,eW9;qx/ A^iHmXa@W7cؚt%O{|WuO|o?CU}C) <59,ej7AH]wirr.U2X +L(H5ZB!eF*(Vjʚ,Ձ6äB +:V,}KG h3;$ +B@-Ź6QiPU4Sbl2࿎ fHoXxuYnL&c\&-3FJRkʻD%h_uzK#F} +Fڵ)7Hӌh nt"槲մU7z鼤Pv| :(3‚{\֛R@ VGTh~@88T>O7+!Y"B謜FLDI^$ЌOHg)w>m&%\j$恕1y(]\y}ˋ;ꗋ'^#hR$lRR/A͡GA+T2,"M(E{?FD%*"x縷?O|K.PV μW$-)l$J1:S"ܢpA) |[Riqu-J ʉU!p"|)Y7CJT=PЦu e'HV6 |AqV.^_l44 +,$Ec- +!4N("B!Ƽ H sE-5@hH7PkbxoC%o^bi{օ%S)68*9Hth%RgzHG=\BqH5] FQ"pp[s$PVϝo$/ey!YtC$,j@SF8dJ9윎cE Է4<-S$\FOL/u,TimǨh)$_E\¿G{8%f~¶dm'@E|O"|qGR~c + `9kd,&y[\+ãtnX`ݮXۧnXYu[=I'E)zr׏`GJ.hcr:JZ mn;˯b X8uu>yH?n vm` EvMA'^֧`˧Ю/Жw}+[l9Fwu(;ylB_[cģ{9|T_7:F q}DA`jfw7*wwpo34l=5=@="3|+AU'n =!t62zlgD.zun'D w#7:8QwП6$OGuW3|Vq +0^=XtQGDOmtnI94So7D 9:y5/Fuߓ9k` ~ .w|3*IQqɣ&dx8ܲ-Xq#2At@N*OE.0,'!Us8Om0سyZًwNУx=Wߚr]LFVЛ/₦-q6c%i.-n8C}|W\?xo]\fܟf|[7wwn;Fvܬj㘾ni;`-3k;5EV?vhiGC>T^e.S8vԎ.}l}]y&wj{MOv|JeJKv{q{.&qT?`<.إ;c΃ rK6zx:PGN-LZ7efF^н:]u11lSPoӱZd6;w{P6RCmꍆWo%. ˈQr^IuuS8:k1g@[Z`.|KrK&(>|>?q=:Ǻ>gz߮O۪{~zW* yyoCiԍ>w٦$ &}''MCRS裦'+n1/\Wid{e]5 fFFx;Yycvnylo9%ʜC6f˾Mwȹscc*].D=gӪQO'ԃ^Ͽcjˀc[^OVw9zth;XmNj_N*m|> N<2R#{Gdw(x>rw/;=.3u^ \E{=3C\-x +6|-zhoW-y? [wy?!|VBy5~yN~4!7Zk}ѝfuyZ{37Z>t]={j{p=Ͱ;p'v}[Bn*&:#:;|uѣB^G^F7CGԓ~Րz~2?=8pN3MfLD=; >usޝ# G^_<Qzk>!7=4rL.}Ui Q+9u@ M8==nWY&۝FFƮ}%߁O|e]| ^MC'DC4;GTgꮫNJL~$w3-Um6/Ժw h7Ө9øyұnzA~QF I.[Hws9˶r:ޣ:o GDNMոh.yڮ*ingv]>ͻy2y|T88wYiIajFݵg<\j v@ڡ; XuRa:~_-}䥻sq +k8W* ~.|]j>jj +Қ.8~uy][7?.zܑ$[ *j]/?g,C=TTRɌ8fQ8 1ޑDF r&\UH[=\ qU/VW[^V/ Tmm +ϕl3|^ZU|vŻhjZŤ Bi'+#?[m_bs*:x? +y'O~Ye^]C>Q&]^U*q:gM{X`TA튥?gɷ!Q|z)NhWi{^4dA/MKv׷0&o5RQjz刿AsV=}ơ:*F?y֥_s<'`BYif~~\U_G~]=^w +^졚iYOo:RƘ3Vs\z^(qoQpW1vԮUv:~}O_oo=$PՑx/lB`nLEt;uzpew؆\7mH_}.{;xbQɸЍlu[ [x[n}aoQ2GAu&j,RŽ3'/,#a]LڼY`iЀA6: c[1BEhq̧+N,c ˣ K87hP`Hh;CNkO+L>0zV$rxR(tśN@(!9 {GTϴlC8 3r_>W04(!n F^xOfr yMNzhAC:[J $% $mLT'ڂīl7Jcx,=RQP_9=|23;'>lnj@~Xb%lΠPʓ#lLVÌ1RB}N׃4 D 5=>.1ͬ3ld2*Nr +^@8yc* mI$.̲ +2'$[{2о@ +P\ j}zae0⯟ hB&s}KLؓF$ [cЄf/V:c7 !: hq9`ـ?_`{) a$P;iЙmV 6?.CtZڡƄ)c6k5_:{MD 2Ja7F8jޘcӸj:voJ'&Hh=FfqYcS(0k@Q!DBcN6cZ5._f0^\b$.+9{ee1^5 IZdԨO:S.D%49&B&DP鸉d AIٱ`tA;ԁO2&N.:'4n_\ʠ~ } S1)u2O\*UXg/B_{tMM2Iak/p0,s іy#AHy%:+aiY*W4VP~&#&a Mxwz<;=4;j _SAc#::QG,:/l۬F)%Ǡʮ70,:ugEh tOI*iI'+IcDUxlA07:QxVI*²p2VS.:QQUm4Kx|CFbni.w tbN4upyr%O|W7Ur3E74AGZȶd&QBw4,;>{gyrLOCCHv>MNq,Ir-<)].M:CK\ӕ@!u}.&: FɒQ#CJGGW䀘qa3Mi"&ƾ]֎uQv$/?a3>g3WAp7MC)qWMw%9@t+ހo Ɯ'A9²g&ZQlֻpSwbtro5{ M&b3IR-8Xʶ[~,gPQI?Ƴrzxc;-PdNh~ɿ54dR":p,j {axҙ;nNkE;h^qVM4OkGQaP>}Dp+*>N_4 MʉOs*5z/-( "BR"x8 ͝'Y𶣑^T19qP>'z,OԢ0.Adqj +oᴲ<~raћҟ2n_W*ٷIr.6lVb]p#Uk?ACG6oƬqjh7;-~P~s@Kv/2֜5 +l)ťVX2EfBߦ]KaA4E{ 2z[t-RъԦ|dn|rd Z+4t.a,o&A|I,Ҙ kҴO S7XBf}hL`XR.Lz 2!Pi#]+YtpԍN'):{;E'<[dfCT^?-|7*g:\`3Kۼd&89KA)(-㻹?F!;<4iY~r ]-nyb&Bnb>L`2ݯ}H/hprYoi]nm2/;^!:sym2oVMٛI%Jĉ1mBZ{tVźW>WVuk~q_FW*{T։yl@{À೺Me.>ST8 z)>AnF͢hݑ\'IagU=%L>T7ċ8ǩ90;'k)lJ_!pF/8cꂃj +NsJ +bCVHihݧg 1=ۥs9teӷce]:yeD 9N0e{tDZRçl8opr6'͂ã8g7AM+Y : tN|MIR 7QBq`f4+4ď7O'?4 i8OI-˺v j RLg&$?3նҧIt/Uwg̋L~XƉ{AX&4Z +u *}I)ʴ\^/X­u5mA锖V̅ FXnY/uܗtwWk/M ?bC#%nCƆ?$s,fn_dtr"Sܩeѝhƣ$ +tdCv' 9N(} FYD"7Nn2i.gKq^\֬K$06lb©|oWfi4#>+qxtšK}`Ӳ5 4LsٿlS9ߩr{G4ڤf!;~^u-Le,\軨ZBF`CD5θL9%85Z>kt$nñ0`漀\hVա\ޙ5xJ ?@VIm3 & +̩zd}UMd:fbEMrH&sX%!XLZuOCU:'b L>0 +Llj6ژWqW0' dGnJQuϺ + SKck%Qkx\S9Y7@?S$,SBvMb1,z kG#%dX*=0k2VwdtXΪ!6L%Y*0Z3qDt[ oL%bgc\q&[L[2}l寧z%ؿWf-.GpѸ&wׅUo!d!sm?wEfoWLVw5KD;L).Ov_TMrZCw8vA9 ǔa)ׂ_GUsKZfbL3)3ͲX Ytco0g_jfZTsCd+-}h0Yb~g2Lꓱq?e;oV+* C(.kBJ{'ȹ&a&\8qTͧۡV Z#?hyڋQ\L +-YnvݸR'[;7o) -R./<.rRCo ӼfOvQ`Mq%Z$~mt,!`D/s1zqt8Y2a}ɐ ̶oΧd3}c0':ŭA.{kU"L4 Y,aC#h4Bא)3Hp,q(Lƚ=;!Ssº&L$".Qjۯ-:)wχ],AYYC3^#tJǾuڭe p: iвV13-׶.8\YneC5!zzkC+8ŒӜ6ߑ)fl>r2^uPP] sP} +BZch~dI قi>tlN~;`꧜i+Xۑ;5f^ynd$V +\5La.\ӕ&w=Op16hAc*(ۤ\#K cA $*L9x}t6HZ2`\| !o/A{B"CKP9Tʆ/ e5R2@@s1Y^d\g2Pe]u:`crBRAgTKrٲ+UA<W>BgxJz"dh-&+/iNFZ"%8,DLd8}ȒW|#~%TMD'j ; LlUw^!.ui`HQ8LBPO!3 #UVclEKɫx &K#^̾Z^-l'%d·p ;f`əDŽ+7I1iaB/T^ַRNk}f2īDlR"UCm(."y5 ]ѽ'-vz"`)7XU?T>WWI dnX +8&O~183quQ?~,dD:9f#ڏ`8|#2~GrM&-m1t|)$#DwYqoY^<>G6*!f'Md[u"ëPi0:6Oޣt'EN޸C$P?TL]3ƇFs\NI*m/Xl[m)$,~WgU +.ECg91Lsъx-iA2]4V*Ndtyձ2 k~ @fg,qT\eHũGX"R mS'~w%Sʚ`-kKNwG@*RU{%5h yPFbר29]GVw5@)kN/Ciec4˝E4}{Z{5dE_ұťĤYyLS θ κUf>nt8U`;Ѓ[4Ϙɞi3}ݱe [}Y(`9sPtq8D׊vn +o{6O1sQ7C q3/,rh" ߹,0*-`0i6k,#)bJ@. JX^7,RɈ{U=]Kt6o FvuFc#$Afj[8牋]"DjJB t@8[R'v6[al9 oK$+0LJ2<ڹ@zH=2 AD&D~Y\HaerVey폃ÕffUhߨ mw@*^ɪ{2Iʠ\&5*Si\XfW܂coXX4/X0D5AN)mJWN!,!_2=|J#%;jkRtnK!ԟm'l 2Ҟ&(yϷáK{Vq1'oCq['$; i|J\Gr*{߈葿i5'I?l|hZr @Bof [) k3v$_XKt+b=q˾ +wHGi42zL$ +u\>6ٟ)ɶ$ +B'}|Na]&[ 2 +|czZdJk>N^(myvl*k.lzkI2kda(HsR.΋ +_/ +,Y^Ҝݰ˥EE&D? +sy.1rɒuqˆ߸㭘VXȅԓ~4ؗX R2m'&b*DgQQpa4Ϗ +w݊W=nd +MTWW'6/ UGrW6H W+&#JDQrij6~"Wx 5,W;bR_[̬ VH>t57/(KvxQvA~BUi +[=1Ibݪ9OrrlÐVdxwW(2j(Ϸ~FCF<27M౜R%lz4F`B2)Gy薯AJo!)$xE䭡,(;~iWs{jAk;Ui *-7k Jw ¦TV&"8{~x!\lckD@IOe@3"=%4Y Qx.#q#w"!Rs0gvƽ'2XȢ3rU 6' F:lNpd@M>^ڝ&D!!!nz޾M^]LYC҇x2P0*CU1mʁwjɄyǤ_1ajd}R.70,m!q b9舞/BZ3\4?|w\a`1$˹{ڴOw%Ǒ@*&ɗ(E{hU K18C(CU@E(BܵT%a0$00H)"O~MLFR4"rD5BP-\AǯrE)ϐ^&ߙLb򙻺M#6ka#sb}xkdwD-Vu]|GC"4SviGl<5,rfq8wIIi1Ho _؇}0鬞u,(1mb2+er0.V +^ZR#/@Җͧn9>2 udc dXƖytF穹*zW""4Oro@pZ(*[/Pqh {XrXHIE!fxutZr1yxRO}GV$3q"LW8}R WM~9& P%WHFPjb>ߤetۭvBP3HڑTtM3m$HUJH<O;Z+ 9N09Ȕf{UWr] #bZ?%oH Sq+x uꠒ+=޼5=-"33+"D`QvQ;tLHv,"bEim}\z}RPPjL &&tTLJ3[}Ugu/$/ю~mVbҪP$l (WL\=erL(uPk-ąd]+XoÂ[փ;ʄۂULv$o @Ndf q:ݺ}dT;Jk]׏לkHoVhmA 2QPbi22aY2+lIOǼޒA ؝q*(7in`;qo<$_y4_j,dm9u`k!$i,c>%}]:!"wA!(xڗ ȶ]k  ՝xp#$b\zr\ kԈ%ҹa@DZ^@dUF|k$a"sDI +[w"9#&2*kC:j *1Azv;涱~b֒z氜( $7]rms\  8:i<ĵPX2o XkADžV MnxGן i\VyC^x\x#5CC [k.G92xt1%CB;=d}GPS86)|7]6Ȗ>(Ӧ#`HXQ2o\!Υ"dUL cxAr{`ҽQ3 s7&W&kbdr:9Hb\"# +pқ"ښ_1TҩD" +J!qD/Hb Ygi6r74#k={z=uEיpY4<1,X%YR M}9`¡0)l#֬6ǰOuE? +F9Ez#oQ8&\m#AI16b=`t[R5HNo Osb>h ξ5~3FnUR1NaL$ f͙<@z\R>E'6/8f|Q?V`z5`t@0B}e`X?"Xɱy%4̛RN2,`94h(L2:b w2,0ڭZlS9r^*ĕN>G;ޏ*}m8GTi {oĖz\>7_:2ztG]Dx>V3 YBH 3Ar0Pfsծ%`a:Y 3Ϲ$;+IrOi?އT"LSY: RL+8ue^D8u &+B~#rBX+c>zEt4&v54e Tp @B^XS, VX>(ɨˏccCk5O :1bz qAMώ4•n[9NZ$ե!o/@}8@{L vH'^ dfȼ,[wU٧eQ^?V1l(/eIrԋ}DN񧻳0w,37lh +>ʤg4 +_+#noKdk[m+)uk<,#9/pwIqy< gG=}!0|q icu'-dکAEaOoT?mxO8'4Icbt#DÖPu$Q%>Q'Zd X]R!`k/l YE 2UDj1uP3?V]f%09jYJ7J \IgpJO , mD^$yDq=<%Ű5ѯi>Y6C!#h$ |%'$T"J{ dt uYk,/-[sB'^JȎu_ M^.oG)<~C'$ݵ.s`Dʐ/zpğMjϷmGɨ06DX,pBC#9 |A' Wkb5y՚c"e"|6nVExIg۽{_Ȋʩ#&IOe"酚 D8*faYP/l=,3mXLMJT!F: KQ)_y#Ee/*~+Ѫ %kAԟ#j!}ymi`6 wu4{_WDbw Ũ,ܕ֠W-~W_{Ì??ŎsVIRܮC 'oM;hHlv*aZ,hFLGێioMa3"ſo4@,cA5T>Dh[hKG9, '(z?FhE(ŚŢGLcSbl/]Bu$Qez| ;2z@ib(~{<>iS"QLb_>C<S/R.$%h!-0bXqZ"!VI1&5b~YY9nh͍̊pH/ݮq| f˱=<F$ 9;m̓gZ:kIy޶9)5tܣ#t%=4*73[要rCtfqt$ߴ g1iA__nPf/$@$} $V&1O" N]|'RsR%zd$.PqKXb1ms_N>kŎNׇt\!wxYnd5b씽 +DGz`hX7 Erljuj`̨T-]nّ6*Ck=Xߔch%`lm'yGHi\juUپPdOe"E PgO޴!wN-UHu kW~ǭv[,mmy{> 7xʇ'" "+bNjBI0a}jPhD_Aē)B:+yο{?!OaOKn[4\fvChbO7wpS/|zdncX=,k5NCC +CBg.b So#vo)CM GU.(NMq Tjc<?BT( +p):{t`9)%jC>4َi$VA2&_AW\rl~EluڊEuQrӽ4x)*C4R,lE`ҽ!%ro''n!`nb7Sm@Rwj=GW   p?R'4cm@sZxКeŐ~ k&p[qhmEsu["Ӟ'b,/a +rO hLBD0;E`#2LʀJB_i@d F&tL"cƯ8:#AEB0W{ZQVՊ_h)+V1Ȣ1:kۏva2 7ڡ-;݂a'Fzt5YiI[,SD8>~2jg17Bcj(G`p#GcXP/:_hȸǧz#;KZrJ; S0ٷWe'jzKY٦O (޽k 9W ^W{M[JtJIv +WE߯JЀQ3V3B =5֨`PJ]Da 8P[K8H;*:+0sRه8L0.} 6K:ў ~#l@D i/@GWw{Noo%q:h40@qk͇{\,l)}P)$'zy6ҝ +$K$H%:Iy} lXR1Iwë4-C)/JvU,Yy @E*oVya<l;{L#SkL=.juo4+51c[wj#YZ\jN){4q9sUojp){F/vd&Y),FfTu{ +՛=g<Bj]nYQs%_t)4 +D0:[GqVmCIh-J8qXPja': Sñ0P[vBWZi}&;f6_RlN%F\kĺ^] IۗZD@=R$x>ά֪7r-Eb:7BC, +R䴯L!a +RF䫷Y{a*٦\Z0غ]-x-VWJu3H#6{os"֍msLgZN#>1 ^JGz-b%C +{N8 Vٞ +B}+KP,Pj"R׏((ӧR(v`S*IHS<NT-B(,hjhjُAMF5yZ%X%#63Ϋ EeZpjmi_ ;#Yo)麵VbNS7E,VۅA/p kZ j'Z1R|Z[V@S*\:&05tyŰRېGE-gTEm [8:jrh +ߩW?~$ /F7iS34Jy;[^3;}w +S" M е䶐fq*X""<*{?u^vՑ_.Myhvyr)ġTr#qPƋUXXITښ:̬U+r^s0Om~d( +CyP&] vMvӸ0Td6AŃzU\F>yT puZ?^Y21'-I-6-[Kǹ0NރY_FBwiyFK/c}TH"yV#;%Q tg#Ill+ 5L(j^ x::v)䨴siz8rT!C1L]ƕ$aOu2ƫ~JBj'2SItqX[OgpD 2ˎHUtbfԈ`*Q p7ri  +QL!Q$JT#z]!})(qҪ' q[15~B@!DU-\ഩ5I 3O?~`,B?%`+b)4e z7`ϔv_if*@xgB>]ۋ.\@_h%*pa!@{8V(/FBӦh$VtОeQ6Vj@sٺá锕"XTģ"4EXg#QyEm +g(j%fTa{g?x2q]d?0W&O_`SPt #>M*BR;|0y3^y֩UD6D@ExG$~bv1-nbvV$l)ĬFgqU,Uӥ:7'1G޻$uGWmq>6w_q1vRsE8t@дd.S0OC x5>GIAUlNB=r4Sr/s.C[=;j*B_YCdV- fTq +#^P +*eaiI!DD + +;W!E{ixJh.&Zqf6634 ,(vkOW&UHUrԕ6{*Tƛ\ АNO"ʢ$?KPrD{T7Z!Dr2WoJ`۱W'7!e93?Zw/?v|؏aGN6a yo,~$L`rҭZ^b[دml{bS$ƃx/{K_7Ϩkޛd 򩋉w<YZN"&g ZB&2vD%>0*[T_,TP0q@".m_U>dB"Xϸʰtt`_KT%YH1[CK1 +(XG2,a`Of +A=5m@6Rdee*6S42T,Hm?`O@Иz. 0i݌e56r5C‡E V@ &wh-Ἥ97/, rjP`x[Ba{ɄVaqg~:&;"{`h@BsQGr%c-¬?4`o47FV-ߵ|0sza\_ʁvm3YttZ?ֳi?(05_ζfBe7t+ڌ/՞C9 }yg;+s٨=d㩾1鐘!*TJY4enI0Tu qa D蕛3S*"/Hc{㓟T0'pPsց8lC.p?sUɎk6.Bk@/Uuh);%@PCە)8o1CGhI;Az +9MMz#=2m*P҉Pr>"?JЈ`)=gqƜ=*B(pH)Jq\<]dG5Cnk i>8/VA;hh 1q' +_ף̕6A]$cqvJciEu*?H`$E)4X1-g-4(e7/p3o>Aݝ9|rr[XdXXIj.CA|j<ʽKkSة+DȾ*쬻",$d"01h=.*^;'ea =uH}, ¾ό0!X;m>nÖ+[Z#v'܋2RCBKsSO:B@:s:N8=gEί8~M 5{1IC +Z+4M " YNPm+AnuF<7@L= +䜉)\wHGvN¡hskH@O˗Ԛ: <|$[7~WU zX]P KD^}j'ͣ;htd +^]žz:_Y6~P~^4qդ%+W \݁:y&}m +3#]C)T۸vrѴ.dL%>O{KDŽ;RK]jIL뵱8~'5%?L]9zơva^f?w^9MJ@CkhB#3w+}7W 6r?h +>|rR?SxWVcp(_[/+2#o_'2ˎaUr녽b! +='IJF@ S7̀nK _&0S+Xn }ry|Kѣ؜8ANR, `H'A5~Sw^ ++6+Yv&^*?inZ9u?qAni5͟:z+fEO/Jsm>+P_cgޏ~,b?hCoEm:7 ~%-E~ ڻ + [zb?ė껟 f;+\3Na7 LSLz&TNlO)HgxżuDr$߽4"ʩSot7wS pҪ-iUqDAReEG~YNl~jH׳wZX:inSO6?I堸G@E[%*G;͸ +LMCS= M;(w}j>hi8"y@" m*t]Kڨv_ 3PMpWqamXN 5SeoŸEZ9Ag t]2LP%甶yPUWmH[9ԥilo'Sth\Ty96r +ݍT,@Ve^5Ο|^b$sR>VS"@yP ]`y, QK>$8 =8(/9TrR%sH7S#Cxu옢̉hx9uӶ09!R0nO?E%xnl~gg~-hTA5psNAh;144~;)~^Hٔ7%`I5mϔ#=A<ҷ+(dybrlxqц7wŝ-}cKԪ[.}Q'2i]&R*H`]FENgR o?8m!T:c9S\˙NڰHz_~+@Iڞ}^ޜoR%>n6N}5/}6^=ǖr@#6v]P}jc NjXK@AjZ`k/iV{%}aa=I=Hc?KO =ё}SN A(ҵ'm^8Jm:+]@ڋP^+70XˤYze 6[l3^[Jxn[.H;hU}U~twzWh?+^&>Cc,E;sQBxVyG˹e5%u>}XJo釼>,}_`sy/*ڟC~F6U*<#_?Z,փ?S_~Y{/Ш~h#!ގ# K^0B LԮ;YE`+-晄kMc +0:Fc=qS秤e79-1n{ f.􊈗uzY'=w]΋'k)t[8 /JʟX^x߫+-6[c|'i1ٳ/]L~U= 1NFGRA^^U`qit4ځRUC/Ch#߭_fK8y?Vny9m/x)uCc]Zr.(|6΍=g?s)83F2gmrC$]EWU !q^Z[UՂ̮qΖk'Ja WyǢ|R^/-(Х o8X|O<6$qtd=Q/")D./cu:R벍d=|\+hKhF'=cS~B8^*ۅsw~|Iy'͕ +ڜ +v4uETC*Iw4{^K rNWȢK'bcj 2åoϟ 5|,{k%rbÍJg`rd=/;4-~<= 1K ^֡8}҆ȜK$Y2֮߷诇XK-ul5ZdT~ :Lv:Ovv6HBiaP'-(+^ĭHXxw]i%z}q]ҕ1K4[T?p Jd}Qr孂q4п; ePo6&dYl(kXS dtmTνIy 9C٨`r|v`gP>b[pHgd'7,<ʿe+5xIcYɚ'k xRsiɤjWX-3)>$ _1VJ!oTۓCM>evXT&}?!.lOeOUeIG:iҢ<ę8N<3vB#n RX~2'T6<5$6gu֬=ٗI|9;@j32Sρ7O*{E$~oWs k)/@0W:aslךLշ|KOp_o fo»Un#U{eQR \.6-K`C]_aEVZ\{6ULX 1^Ԗۉ=/%mdO92bd/gGJRvϋlfb&% NfzoQWּòF[mk/)ZQ'Bg}zļ|P/"Ig ['H|D3g[BD@)xn=J\*_(f|UĿJ kK%(Ѫǚ(N[Uӯv@)~~Yyt(&2;H{sb~/UPS?bR[1nѳvl*KoTUt{:- +CRIA۶QG4~܃O;"3W;xܬvo 94y@V8+bO:Hhe !=$T@-3HЙ=Uh>Ay8Xi7ߛCBMVn֠lrp= f 㞻;9Xu0̂sP<a''>ʑA¿@4`ЦI ݫ:Lί,¸$K5*"諭C&7 $Q옿٨8-M=w:J7 $8T꼓0N=1Bg^@ل.pTu{;%>, ,IdIHr0~+dkaaJ4wp8jrUg*XC<6mY^+7/}]7[J a?H.7C:쭨^quiVejd[ƻ8)WAY8.\ xwtd[xov DQJ3xE79uL,2'~:O jRړBd2^_G}Z+=e '{;{u G&!(6. +:#?[!%1)Px;zZ`Tfx0@Ws8SL:ȉW"s<" V@r'vXr߅| d܈e"J*cyV<x˪q-!b@6fG~T[ tf/F#bhv^*=W1u댗82A(~RKDșyx8Lh0?РA,KKJCL{`߮5i8D@9,Aؠ ,fY;YΤa/*(} t,+/0cX6!v$4o\ز9& #YP Z8"D! +Hg $(! O?Aj]h©?,`#+R`IY:%wղ$+40P wX"\; t>hf$#"s^Ji!oR3['jLxTD56uA`.Q"2(.Bg.RIr%b)pI3:/iC:yA{)&poLb /&C$'S5zQ!!wtR1b6&#+fL_@Eͭhފa>2+zZ R&S'"!bo*InkG{U@a8Ooz;"-G|TVN}(e}׋'=jZ8!5J3[]<3xAkĕ y yKz"J[c#x0CP<}].%,KN!;\ZO)Xj'cDB"t. +ח1l#1]y<]jY1Ojɜ6$@|q7krR/α8H̋LDMajk$AÌ RN0䥃MC }7Of9%%'nB&Cԋ G2UNR?:BT@%"l8aad]Δ6 e$vssä˩ ܁zDH2hg1RB1P>Y\-惌)c хE 9\I@"О#:÷MsgxB aܖ>BQBaȤ>p۫FWTf82!X +Tgs3|>BVJL20Sce~bB]+T!] `a+ eSO%APei}v<|nC/^*8rq&쯭40LR^ DB%| +ai.lzn(»TnkuATX;o;CxI0eMm&+` +?Ot HgtVAZaMH~O$"^c4P"ZD8ʰ@#<}c~n|mzt->(̊[R(ԺRB(e\u*<c0RgS(cd><ću \RI!ҡKcRtg JZ!@XH9bRsPP}/ʬe)E"G#uS8<\岻Ź:L8.C6J8 K(uOM\ v{xSog?8<1ĩˆa${Eb + zg~ĈxE'/ ASaCw%7>Oa[R|X 9]$r y/A6 PP̆u7'gʙ[XMg#DG"Mk.X^Vtc1]!07XLΫ9V&|bkߛ:r~!/7@Ը9fMsKSwrÁd^1;D_NIszʺN[ +8d}Zqcac_4؁'AH΄?qK&<` f_~_GA?x.r~; +QR;n j+s}XT?DF 6ޑiV겟МM\E0dHf\<Y/0x[ˁв?g>qv&p$:{'O%>7 7ɖ" (w6.Gse71`$5{eHnqp!/jgPRԴ?n,8ox+8%p?`ۀ/aA7*!ҁ-tA .+5:hOp`G1 mPxj +4~*PdžVy?$1UBBN-ԭJ5DžD8ALEe_Tx^P@T ~Tx2ֹ[J3-UFaA>BCxR XqU &3L̎8 +ǔ/"H|Q#k8C;U;s6Hfغ\Yzlo >4_hGn8q?؞/=yhJ'Lk~SNl "hF'7Ơ;1 4?{3׋+ȝk?5h +BBSZA +~gY+Չ ZДf$/K.;EM 7`0Chl_ꑙ%a[nkfF)hMsZ{k+b}C~Ds@3ݿaGF' `Soؔ^`QER(mkE(a{y+۱_pZ74?hzFYgd~d;Dϡ#XHÞ =kLB4ѧYlƪGfŰe[ &B<14d`zk2(V芠yj#!fL3sj7yk+ޯ+`حqqg }cs!9@j@o &6Z\,N*,F̪F-@2fVXS2~ӈ}FdH~ɧL w݁ ݣ2uEΦ^[OFe4E5x%c:bc^A0:k-Whރ?lP%]ΖY+b/9en0#6{gEqӮ8BoFs_D|D a5`q}DO0e>!Q;vū6v6&VX,R.#v0q~SR Ŧ;#wav:%D\8T+FtFVfq"Eq8W"lkeʊa Υb2HA?t_E_q"ٓBG L85 wk̼2hv>%xĊ[9k{hHmq9`kYDzA 8^2L_zf$.c;;zF"tLU+sB܎͞XDlM yٌ^ClP̐N7pv7Y֌f1kquwzm2 ]ޙ̣uXAzV̑ 2srH6MG]{ۚҾĬbXJ(Pwf0zgjr"3F5-fUp0Y:4gwIf;5SQK݅f%Vh6>>ul5lV(fϰi٬WBXo`Orc8VRk@=Lvui}M<&'G7A^ڶ64!k.xe(Yg6hlf~t-6sl;2@uN$!,)-^eP'6 a92}k Q6YGk/p+I \P,ci1,@ଞBxz:K6g'PIF7^Hs3*w8 P94<)6YN7$~u!FeܙC[MER4 \,Tӹ. ]DXJj;X涜5f~R3Wa2Jv^=O]b3˹ؾ7.G.wfzl +>S ε3/wmugh\yKlb~r_=B9`: Д ǭt{ t #;qCtcgOMKf|S6&ǯ=OFS#tL__dK6 >?僌2d^c5 ]kX(UdLԻٟlvoz&8^U<'wF 0va9^LNh4P%.%S˽e$0lMcylmtW'rVMG_pz}ZlN#5{ 8^SIgeVs0uxl 5Qdؖa{(y*čWۚy_mB*h&藍M{ /AW ֣#YGrW,`Sf{`* +W|):[ 5jAfPiƅP~+klfå3NqdWOԌP%.@|&ㆧS%GHYk^N0kNN:Η3:`烎J]} M1aSC=fw+)5j w'{'4->憎?̱Fg3zm<.%"Ѭ5ǘ5ocF@#.g/n_ 5%Lcz\s2^_ח'>khͻC%@=iJz"Xt6?LMwHqA5voJ2@G[d>g6 F? 2]蛙VÂ#?jsna̷̪4ɴMvJďn\ 0}?1wuS5+H$6XgԞVtNpt Wl- 6%0XuダֈâAfsGӖAmq# )MdO1# 53lVKGjs;)'hL_Ѵ>‰,}ԠZ?Y\T~8nX_c!M6r aps+1f3CLK6, Gt_ވ"z#XVTQaoTz?P~Kn|_GEetut5M !8\6gDܰ4H>@O(3_doh_Di$]s׌J@E'~m2M{LvnUsh5dB)4SōGq56C#m䜫9tvJ˪% +5UYCdd30mx'9H|19? +&aV:;j<(Z{SVH'ٻeD CƉPh9c +d!p[^_[kdJSLk +Ry̖Itünzfu=4sMܥj/dVS- y TܐTڍE ~fzP"٢&4ڬFb ^ 5ί}M0a)饛 AsB0vSKc0؋'];㎳Q'JRMOd&fM_0/ s!0fu0BiH]pevU'.oj.=Bu%! EߏJɈZn W֏@;&Sk,n軏>*Qdh}Ʌ#[yp7 +5^qrF܅EoE.dL؎.kZSC(ƍ 8Qثn6Nȅ@\)q2 Q!_jx \AUHa!x$WcAXJ}tT-zi}c/|ip24EwoF掘R6m_3kl#3}{Yފ-P Zn9ڣd.v +-I !2>(N`n#fph>p zM+:1o=Z:rVt:]ؔOo>a1'dW+2sFIkx$Ӣà)JA."CE)O[yI;ҧ1. ! DZ?K_q'%(-g;:Oѳ񨌚Ceȭ?%OU뼎]ZVKj,=bu'5ٓ-fŧD9~H2i®Y%sh8ЌX|ZǑh UiG'BXoO堵̪lD` n˙nNȴyY7?jn +j05_`$:-0:hkDL(aѲK D8¥i:R}w%DZ$1*r_D/YQlvVz]r:>e_oe.-.NO8qa.2ƶnя@}tˑm)Y 쩧 }.YW&_R ol _ ֢PWQˈ'^(vdצČ֓bِ"m# + 䶖Mpoc},k&^]3*#\F]FrHX8NrYo -Y}EÂf9bo? #7 DҺl"_^N?_6LɌ `gPm#dB&9ЕF7e-} [mT*m64U'XB9y*uĬʎmΉ goqO.x+(5_%EɊodz=ZeCvr:ZԵOyd +P ѣGk^sYK# ĺˮ߽9S o,.8` 4I 0 Œ̣0s$6oűF5ɮ]Ȍ]_Y&3o+#"`DtC`n+s ,<3)V❡gK;ogz~W .:= u/7L!3uowmߚ` RO*^'\ nSf>.k~lD̊;qu]?0P^WS9K2Jf?H8PŢ2M=bDɘb4/ 5Be40ɞo}A#|0щ]LVzqܘ8Ɂk2{0T=*򶌕DA~ vglA88Sq)i),:/Wˬ8`jR{jDf:toLCҽn߭2!M$9^3vހ952ަGJ(L#A~|&E9\|1{`:J[HVwOdX`ؑdCF4!Cel?#_,̿jo㢦-#dLM*+e]YNvd2+"(`ިtuGgCIIQ\ M+"F2T6I|#ceڜE5̋&ԽsY2F]-w z7!L +Xn:+gXd]1VPXLY8d~\f G;6[jesz\6~R4"чl8iuGfHY,dr?plPg&.A3~Wf1Ư?w4b +M0xs eg;傷Fh{L,W Fdw>6}(X]Yn[%g>a7dMF3]\Y|:λ\ B=J/~V" G cȅqPY #u S_(. xQHFu\o+kL؆.ת0!y). ')Z6u]U_tb9ܫ}OL۾yR'S[q Nzجsj-[3]lL-٘RZ;]XB H +o]4nl.݂rӉ1)#\tܒG}qѲM~O]l:^tIb *X\[r;b2ITkY=`Z2W\fж5dl>وKAkR^i~'2 4d6eC׶,!aѲ*q lfiOaRCï7mѲbmY "?hS2lLub5 @(f:+0Eˬ([sv ՜08sIŸkGܔ*e~ᢛNc Rݷy\Hʔh.与 ^3h:4 ,_g 3ZǯY؏Q ثEftkYuJ zsr,;wO'W26%YwfVU7%wHF?8c-;XVv QM;vXwjql(/H-6YrEK4Ma#]ZԉjO.z* ϓs!{xBcxʃeQ6x_RϗIs`#;SHeCLw ޿R/qQ7xшCkO˙JX[Ne{]h@`;c7yKL91fe{b +R8m e2N<ƽCSB! ^ {sC!\W/Z&w3ݡUfABv߹h!.tsV^?󬟶&\xS,XG6ƿV- 4՘(/&*,(L)zR,{G*a*]ye r[NO؋`tjcNFCx$ɲC_ +`@¦듊]G*k]nE8E%Fi\F2|(2 yBp9`u!\b}\P2.x/wE͢Gz`\e{%KF;_޺qSc8YO[O>n+?ʧkC3Lq ̶̖YSn2V +FǪ}Bs3eKs hNQ'—dG]Թ+*7ܲŮNdagZ\NJ(2zqP e X.fE 5sEeFê@fߠ]2]Z0Y~au8ۂG=+4$hť8ګaIL%JDM.cYyxT7Oǵҡ82w;9 k5ҽRX8!*˥G/ua-dO,|IŸ `9~z\,ޢorѻ>k;Hx(_k섴c)n&sfVP6{~7Ay 2_cA6dWr|$*ج0GiDЮfԂReԈug~0i'&e&`W#!A"R|ӣHC z9KtNHf>zF9'^ah3_}0iJPAD>å$=qyL^SxJZ'WB Cʣ 0w3 +;UhBCUt["T NjΑ^i,9u&~CeZ3&yIyD9dj~~%vrubw׳0ݯd4KXd|}gJ;CV i<$e: ڎ % ~V8| E| NQ' vɽK]@JTI ,(|22F1sI;hirq,3Tv[RgV =yA\mKO=`*O"ׯXI@FZJLtl>2sgUʈY$ƄY ~)}n>->*,WܾDC9>?˄E#庹Xʖ +Z dϛUgQ`H}XP(5{^}*C)p +P@D<1HW4\qoPr +IH6fKs8pT&Rf~+=EDLP÷=^y 9?Xb(%:^6\Sx2T2lQj9f%xeL>nnBTJmK wꎙ=spk}y(mJ돉?|"q(?si B$kBu-?IdHd8Z$2xi`-[r>ܮv&Bz.˞ %I5:HHf)@nEY7Lƺa1k!_~rj +_aȫG*i[ODu& +V\)͛B"ɷ5 ;'aN|Zź}FR{}~Q͞R3m IB$1R#"; L8~ުLԥ!Һ,,\{)$xk]>, O6_MzaM2>,+?ltg&O-NsC|zq oVI# +tIS+/FK\=7g8Nn>.*J?Rl3~_Q/,ڹLer״#Ҟ׆jH + T)XoE4XɗvFUmGۃeI ^440IAWa*+A|(3Ll:$z| D*8 +&\n#i9Sll# "œp])';A2Cduc2zHpMx- +) Yr)1ȿs bRk1\,DyORLIi*3ubO|HF+%ɂ0HǁQ_/$wLA O*>?0c8 w\pVwD6B|IqVm1⶝8oZ|&|yIu#v+~!nڏ侜lcy=qq S_rD +jCtO[|]^? 1B N K? #Y5<'iL9£uxhL9jJq.jԐt%6WX}Z:(?&t0:bli7)`Z1f=;Ҕ'DC22 myGUc rCN {|AYT x:ZLTd?4gc;yO +: ޅM|\0?u ;ʤ -nD>n0js 5qް^scQWcoy\92lYeHr?9qtP&88;ׅfuxGk@* cNMx4+Z'* S)" U? ݴj#:nM²BOawE9:97Ъ-+ +95<&dc'Onsx'Dڮ!JZ.~-kոύ!d[DVDB+Yd/"׎bK >Vw B[ʟmhhАe2>ciG}`Z.ׂYS]!< 徧n;IE%Z"V1z4Kx9⅗b8e5i}2m5pz49r}`{>BW3N& mu9j_l̐{( % Zd7 6U2ܱg'MYC =m5dg7]Vܣ= +f>Ts84W=j5# Apcx:%,Yz ѽ>B?4i|."Ji@UEUiCw26X$(o5xoĐo$cY;\g]i}g:6^Z$6t)⟑h?Ԫ >kwq]i#"@6TsWAb6:0@I N>(=طld$>3}L݉˯Tm~?$9ީ>DIG*z)C;JBB*]G^AHLw,ҟw)d55=r_Ulmzhk$ OZxn›C?oFH"( + EXc$Ld Lܐ =ɻVF&RJKN1Uȶ%JM$Anim&6hѮjH/DC$(RVylΪׇFUmCW<î3.X9l㲉~|5238Mdڡ+=. +J_l +K b4 kD#E q&& p)H]A2_t?l.K2SDq [V>J?VBO!%ޥ:$rʩ-")#@j +9 +'zcެYՆoh5U81@ +A@NU52q^[G#[+: (hdn9&`'I+<{kBи}q5]6cE\H4 | eM͚R廙 P;lcV{Zr*X ΘnPRR +# +P(򾡨,eBH'!ї|։uXG4+yߛbJ*jD͋Ju]UKfv,3Neyi#>B@9HƇ{LyyMߙ2`|w}SQTNjyO0l#$tLSV:ObJLFq+&{dw[LX ݍԐ蔽Ij\ +a ]@ +)ml#'Vu+ Yz8Eo^LFr]zc'\#KLVdpt&qV*#IÏByv ɡd>0ie2$PG]LFmHzԘt5rSյf5.Aic˂R0lr֗ Ud*fê{כ&MFn *$3By![;'xO6l#)O lU5jjү^,HZ~,;G$ji$E<SywW+K7-^ݺlPA嫙Q d[e'OEa(I:(Mǚܸ*.qxg>%WjdH/v\KO,{֚DVfdl 8?As~x/V29+R!woF ը摥;)v朩F֯]Qmq(X4(,sY Ě(4+3WbTjnR+D80R EfԮHp`'%v\Iu]A$d d}KfAdGC(+u)5){0_/(1q0"+}A5旇BmSgϝ@x(bSGca G4(A&;žBG0萂aBY]XL4bcOAl9dêOF6 ƞF>ÙʻgI(sS,2M2)I]/MN>dt6!XF' k-aX!Rzc цrm}0T +*Y=5coE r̤G ] MlCYa'mL$V<6mP͏,FsPjOPw3-rȖ^KiW<v>Lp#U@ H 6P䱅@ Т^-h(G < â1jcɺ-IH0WXv>1-&@s=|:R 5lG:~iSdEH##>m +pl-Vךn8Ǧ17 8C1'dǀ#LB9ǣ*P")m'}#G)FjI簿uY Xf[8ڭ*}$*ŢQcy D!wL穱\ַRձaK#z7%d ZxAc9%215{hq>`a`ou NQ +XbzêgUJ-O:]nIr8 UxH=3rGe~} ^55*)W{9~+cׁjUb9Ze`Ư `a>ne…Hga9^n srmmxFq0\ef *+l,#FnHiR "#5. :#ۯb)PPžS;P53>  0øf}fqKY\5E+NQ^}]ܢ=˄7nsvεZ)Cphji-9# ,=_Y1Yn0ix+F.}Oэ }fC[1M fHY}wW'zM EWJz`دcBqF@0[RS(Vrβ*0xz9*6cmhXv8e) HQ+6d B ME|UF;^(cg zwQ`!yFL> c`QqE2#QKG9-pL38H5;\O1mGvc`xr# . ;׳pqXR2*oki5 }% 5#Xt/(vF1(1f`t0uYWN5Ӿ޾ѰBX'-YݘZ{V⁧3uOl8\8+^s2PlH`4! Z鷭)/$4ër?99᠔2gq cfbkh4wED +T9plD1B?"kLy(z-(9[}O&w+7,՚œ"%ij^4ffzC3Oo;.qMnIdPtGE~]Veׯ(~IGF%!lP5b;pp|s/{14 Km TsI,]u36/k~ +kUsN><`9TP)Vai,1o5~ϰcc(.# +c;޲ +20?[0*:vzϦ)v +w"YcQ+ǢOp4`ދ,(eU 2iV%s05aMapP1#g/tUUՇg*kyAp–M+8 txv&[7*sAXV"Ecjlyǥ#=[PobԆ16={ґ|YZD^Ӎh]ȭwUe5 ~YDbaLaYPkjY-uPeK +Kk0`Ի`Tv%ywRSDcn}?W0qW"tfqN1Xwk+{+3'vp“ޯ'+^XBFs!sLf;p] lZ?a,gGԞm=C j,*Z/AXu>Lh=O[2Mjq%~~qfmAjԝ멑5z{A8/(&?$iu ĩ x$IƷnٮ 0F^jNS#' 8`&t`DuZš-/B8n{#GGY_-hnYfv{R۞yCDNgl ttjwPxo#zlDCw0G|?@x s TDg# +vTQ"F'*RD^!T3p?a}cn*E"A4nY +(9cgzel}*n3iSL%ҸK)S:XMB"( ,ަv oiMp|pXaZ,H|bYh,m?ФAbeB*˷o Q#C=_HC84.o_AwЛcD@$>TkbdO1p81~p82jOn4JB^b Ic:c"-݋q'L*T/DV֊ +HP@8)w+ +!rsO֙!3pe Rʦk!x{䓋~[*6>5Aĥ㚁5tڔZ(jТrA XPmֶ0u_f#Rj[x ,"_Y]nIv9݊7Ў Nfio[?iE$`i7͢!jt:Zѹ{gѸ:a8p;8ĭ[P"Q *nBk(Fd ȏ(߷zKAЮ,2R(9[97z֦0ȫ Уy@g՜֯nsȇCܧI)F0ڞ>BmQE/GL4̯E *M 8>H3 +U0AH;[X+NQԟ KuCwD,J/hgSIvpE+ +NàM*|DexwC[tM&,p7#Gf! ŝW 8Aea+?졓l$I;pd~@h.;ZES˯yeN',NQn1KBUvYoAC9Tkӂv9Pﵓ|;ʩKΜScY-_Z\.*VALqj +Ֆ2LK,0Ha"|| 6DYoHl I>(zQAلh4ٞE~4QtqdN'XKQjvw򞯔 Ýg+A1EpԤAhrߑ`6 qߑ vbk\q1`4 D>6K"'n%8.ajCѻ̢Zds0}~baL^fT@Hɷ)@AcƜGl04FCv,6;w!lD~QqPX~}CARS-Tlm]Jz-jўc 0h-\^M#ӍC}utͬ3n%"3º+"Ꚁ{ P+n>SLyp +i?PGHo ur֕$Iɩ$ @HQoXDGP[mZjMI*7 ]n>/'ֵyϭwI")i_?f Oi;9X j"@.3!YD_`eH`Uo6gXbHOW%lYII,tblʿLpjŰ 6G@8QZSg 4-}7C@ I:9 ȱ D9ٽh+yJQ* ۵? !/m*T0Ra+|U|uC>VVP憽A{sKDaКAÞo)-&&uގ,A\@@tg 0*jз_|xc@rtH(SbgH]7'6 ƒ\淋1䉩ł␪BMi26Jit&GM k| qW:!WN%n0P,;9J/͠Y('Z݊Dc؄)^9?qYfP{DŕCs+vqv_5ȀvYH hZ>("T7MnK:u{L5iKB8]CW"Lc<5{So)aˢQgM{G*B- /@d8< Տxm +X3}#z_?`bneM_C۽2f\N_\7F0}`a+*BEe{gFRmBg`i.Z)qա ^ގ{6u =pCfA6 +~ڞ'e elĐ}dhY[ua_0|f-YvQ ?=B!f^1 4#8(Ѵ y`A ]>+ _??4f\aQ6n|T`*Tki6R# Yw-'<,[V8V<)owCU3cݟGW=}d.Lapà][I*a . @‘@%+8a&lf'ǃ Isd=7 y2PF [^ܠuיTR:R6b`*AXrEatHzD**fOodFV=Խ0w$FYEyzVPǤ5JQ: mH mkcAG~Z` 3XMl=VA&߰d$0Idt)RAhQ^zeI˝kўo"Ϡփ`Y2ZA~`I*Y5LRl "G]iVFpeK@W20{ a#<:בr%l6ˎCŽay hK) +|&=h`*_ VÿAƢa:f;G~r%,ͨeRY6pb# tWKVp׬O`C@^jELC1p.c&ƍd̸k@Xj\o|kHŇY{Uq_&9e "GUjٶ ++OQW;q +2[Qf0hxZD1aaSX|cbEb1.֔ Դ4xwZ) 9}4%9g} d.eR= :kAנUg(|bbp\RedT^#.Y$%bw"gdks롅#m/|db<…/\)\<'')g/<+$'KUB˿ ZonI +mqPP9DAd W%}tdzw#ll?1C?at6-f>ЂJڶLp>Ҫ2-iekʷleu&-6 +Pt2 Zݳ%V + Z!X( Mq׺Eat7tA+tҪ`9M+Ɏ0|T" b+haςo.H$YA *Uf_,kIHP= +^ahZ儀\ȞYĥ+X7`00W*TƦ`DX ţ+Alogw!֕ɹCH3!ha4Gem^ bKzѺcn%dۅLu59c#JڝQxœXW%HiWE;ײ-`0QB`;+0n]!~a.$7r^%pJ)ŖvٯdlL^\"keK,K˒S ^e.MΩ0nI"3%1iYREgjW)ّAbC6I.Ԏk/W|ܪ`|h9"1,?@6lⲟCFծ>Ve,,1w23Cp֯;؍!<]5ph ++ 5D  꼟yR΍y՚ "K@0Q̖3 ~WIhSGaZ7hFA;SW@뚋HXaLOl`ܘ4&/fi|GJ=fg27jJ ZfU㳑-!3+i6cYZ `pjg>̌'O0 +ae7W8-n2o^MP`+|ڊX¥}㲟1'=C&,?/w5Ru`~x+8( 4."Ә(_…£6KS,,[Y<4 XwV> OA&wׂ7EH.x,T!??*H94~4CIsr,aA[xL֚iA\EnN1Yf +Qܝ?QzlM?m]h$ppEVh5Vy*\9i7gNVLt4q|`%y#gBڂʼnqfiD;h_:%4E]Z-B@tVtbVul׾ ZT9` ΁>#Qz8DhyM%-na𹠥r|+Z?_(giѴ;SpmbiEa ~;`ڴIN}š7X?-aykVAT3X8u46՝)kXy +cds +4r:XS@\}w5Xd/-`JH0NVy"/KW]SYz)z}VskX 2-f>#spѪh6uް6 8a? #ZNqMX55taT/WoMf ՌRM\P.fRTla-ˁ갲p`59u| w!>oKVckA׆妾2*am7Pg*oʥfijNNAhM_3'8m^r8Q+P- +K3x&i(Cb8`%1*X9)/IV]faZz/f/bHZxӤ:5/^[КU'_ ߃ J^l\- e +.mDL^lU@`5` :_ +W,FiᔀDXz͉_&+g/8:C8l]̟^Ik^awX~)%YF/ 6 n}h=j͂"WX0a?XX>s؄]G/qMfkoLds`30OK;NBhuXK@.yq3xS`ŠC^թh\6x(FY5 Ih0sԢS+Z'\q/,GX |(VТdR`` +X eIѫf!Dbˈ`OnW|b%M<5kV6 !T՚l,:Z m=Jso;K +11z +T{g^X U(̮f֊'_Eאsգ*OO,{r]ڿ=//lzA+HP0-yk-Vrsͅ4nJOuv9׹pC 4X䐃Eϵ>G= +`(m2I2E +ܠYw2×Wn&]&d'E4^X3 +Y_"{Wu7dx3"KqodP{&vrh&"#˞kpWK&v!bū4u8N"FP\ (.C\A_9hSFT.ت6.:qUWQWp]ABW"bk:qh59V>awtiivOXuš_av}>4CiQ "U3B(SRDTΞ̊ g`^.IJ"Q,uZ,*PMZѣs"Je!"fMN*7:{\n7f7)lDDJ)XyG,'gRnUSr:7PkYt[**8<*FpA4ġg»fP2FprY8>5MF/@@9*00d\jR+֝_ &W…߆$޽Uj`RUkSİA`rBQ^9XQ''18aA +䇘+KP +.D<"6ɍkhn5!z[qQX܋ۘyQ:0l3ܖdt Gr?kx}.Bld5"f,y!5~L^W|]֭W4Li<"܅ #Y-(e3 s(LzƘZaLE%5&I@eDkg\ڨN,dM%`V- ./XaѰ['ZV,.UR 2 󄸨[/\K߄?R"@bU*^6E/+hsn]ᭅBdFIvLؚti+yReNk#-qs *9)QCMUl"zBvm-_g=Ɓ76odن +v*/d*b:׮fX)fG~̾KBH8FuKF@ג": Xో Ws" !ӒQdHr-1l`Yi; 1mvv#AI4o*bW#n^ӢAͲ_XaB`$1vw2:n4ty*XX22XJS*j%XX/0i"c#+R$p-TFmdJ2뻁+IkmSZ:%~ .M}q.XeFNA$z]^ +Qyn>Qq)6ׯ} +HNr[PmjV!iY ƽKbLc epB\3?̓s5žuh˧( yBő9.S%K {a]t3M,Z;Φ)/`ᤂ~.0tˢy$TR%|heZ=L*ɀIai~D\oNEp٧t8W08\,Ԭp]Tm\؀6yFF&iUN Zp.v2ڙYVO}Evx=^u䵇IB {z +ӷclhcRidÙZ^ƈNZxRŵ^T[]rs@އt-r~kBK쑬&^]t YV'uh uM^]e)`գ7lSfւJ+ o.pV{,zZ}qHkV0* +=0[s0{j;*I +Yq f3H=Щ,>ٴ6M+$נh>5p*YӹU]SC \G l' QßI%CRiixksR|kis:؋W7-nC!,`gx,ꂶ}; E U҃AtlPLo]m2fMz\- +pkT&n]Zbh6q1-ڊ5r1;=`*_'0k}'17j\vkx˝\յ-`u \vqn]CGM%`B4]4̏gA臤_VJ +{@>=7gOnI(~&o ^uq1% u$f Os9$_PfXbBx⺚-vDuL5؅ʸxڃބ'ز0(iu=9OI@3 +h[9[[I_-àFĹcX)-nxρCF5[d+ L?Ґ `뺚-alSdkJ (2(a6.Džfm. +ӸQ*8w"4vY0]xw4+`[# CDnml%ĮW_Fx&v .dz 6)r>a3Vo4sytstI%Jb'/ԙ%~/xm^w"f2;/MؑWտ~.+jM @ ҚKrv@k]T-]ـˁ5mSx|tc秌97"xY6CZx&҅aϒ~tv%^߼%^AmN89&hѐ)no0q/ x +S:NدtоVWcGSꅦPrjs0y%n WJ.3oR.ÁaF%5'0Dy|8kmjq8vy|فL0Ac?Kztϗt(d8"A,I,I  0" +Nnd:ZDT`G>@,qwv UK哼1k0;o-uerO1Nm0^3nx!%`=puu@vz-@/|]t/}EV(oXFO +Ε98_@3,XJګi!R<"&#h9αB +Rik'Tɢyi&kغZu6v. $te%g|R0sphU\ +X`ZƈaK@d|3'qa(`f73'3j}98 㻌ru@=ؒ%Iݪ$OA':u9bpҀab@D!+Ρ^_FWwji0u^;;KA E帝9 $$(2-S90KͰ5MȎx W7R ;A@&7i:ǹؘl7N3A:=iA1jAb\[x:EcY&e[4CF:j6MVK9ozH>]&n`ٷ\g2Zl\۪sL{݉P 4)tMlQm&f[ڧC_l 3J=% l=ՊC]jjh~( [lAeG8jN 6[; VH~t@ Cd3"q9@,53|X+|=G4ȶSݐ,|-]<dኙvLH|1E oo8\bOa$r1%r.7{>![@苍|UfJs ѓ]Ty<|н`[} L=8,{W9՟j2C֣oyVgNW0.Gd}eY:]8 'KdB]E~NЏQ{(fxlH=/!38ZOq·`/VDmf͞cA+@`18)_Yu# SҔK`C ]0mn:pg[/nV(I{/zڣ tUQ?r[IbBNuBY-Zp|ʼnKx.EZu-TCOr˩)fb?y|ٝJ<"D\t2O%*^){WVв'IZq9Vu}?. @.f2|%MQ'u5ӂ7Cz1[Vݢ MbGjrѮM o>$vza/I" bAZgu!*Z'a" , C,߈?bՍ߈];0/ #Ԉ0_ 4hRi^ȗK$Zn4jOL:$bX g9fF/O"CN@^V@ֹՀ7ͻ7ih@ mNaHOof +t8W*ax? +l.x;8_g `=*DZ|7h't 1kN%xĔdÀBc/TLIj``Q $`Gʁ?'h'_8ۮB^A`-WX?0KkhoͮbX=pmn_q-b +JQDu|>,&*m0\B/$-4=ܸp!mՑ+p["./&C\8&.]5p]Tn/]XuDC_}u|6ލmi;W_\6 -S6pi^4{_ ^U"^\p=2iY?0-8xk3^:zyAvڸ T !i.^|HF:yD%a/d'yK]di 0gi"fKM(Z @5O M6!WuTo #-8|>ExAFL^4{je &ZFg2US`:} ,;`錗`-$&Vep!#w\zu(ڞ;e]H9BV +Wo ֓pm2r nAtS|+8\^!Z8V0Ur:S~"/ߩ5j-Qd)*ClW +T +wPc8s:a`4+ U٤JJΰÖլ_heJ%ي iy|44P +B8ԍ*UaKc VI,a- `)\ݨE @:DJV;qJ֯ګp2 Q I\85Mu;g"q,kRC\Bq ᡦ9gbpEMtU!ݏYvD10}, Z2XsHTi',J ;P׆aՆfdޣF x cvmxu.}.R/Tx0^yy+9lI-L͹U8|pk=ȗO+gXTN 6v֜Ҩ%1BA5`e%J"(2˛yCԆkaB''Ck!ck02l5yњ*MȳjH գ $)8_7+80ڊYDY"oZ8"No,M/FoA[ p7 ξZU"+OLV^H8uԅ-awq.^8G)j8[WXܻd{גl`,ڌHɫK [a܁ Md-Ə\x,|J.AGW7ԣtNєY"W{'(@R)qlVYٖɀ-&.f_)o~}G~݀Ko)΄w0|>+ d߾o_폤5%?+~O/ 0С~ +endstream endobj 51 0 obj <>stream +8;Z]"5F-pE&B;7I.M"=8:1D1NCf@m0e_Xc7k\R-E\]u,`c[][Q9T"8apKh<\n](l% +5#J:PIn0-q-qk%?,fq9ojA@%.>TW> +endstream endobj 52 0 obj [/Indexed/DeviceRGB 255 53 0 R] endobj 53 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 44 0 obj <> endobj 43 0 obj <> endobj 45 0 obj <> endobj 58 0 obj [/View/Design] endobj 59 0 obj <>>> endobj 56 0 obj [/View/Design] endobj 57 0 obj <>>> endobj 54 0 obj [/View/Design] endobj 55 0 obj <>>> endobj 42 0 obj <> endobj 60 0 obj <> endobj 61 0 obj <>stream +HtV{pI'',$K_mɯ`1@ 6 84% I8@BBm}74II:md3ad$tv~ DsqEbwӜcopr.ڷnkt 6C'Bx;\84<:W<޸yM733+c#d1IP6!K3A>ټu4}WU;8#OA=H{=;HOLsa'@NkI7NTJ܌hy`£H3d!G[bSp܆yhG=X +X~| ױ;0N=|W\³~x<ƫxp !_gpg^)<-= ,쐑 +A> (Œ2BDʱs0Њh\",D'Ћ}j: 7Xm؂N.b3 M؍Wp?Eg|1;$0fyk l Xd*j$UP T&vV0SAk9} !:2>ݫ4mNw̷"hxxuf=њtD^q [/jP}8<{3z")s%=& +3`MNCUe&VW3m>f&d|-q%duVۚpKlގ:j3 [7\\z.yC5g/kMb s2I>dghT2pHU>ȢʜJ0?ϴ cDEHJ&ZeRBm#52%Z pP2@g趻fyk%_uEₑ5Q%zHg:^Meh͋|!?yB\09Co1: HQOrH͈ldS$Q G(p 9)ՈTc^jsjtm֬jE*j+77tq9kqdf#Lu<}\$P̸u\:ii5XaaҶpeTeGBE7V-iI9ԵxD07WDk$aaL%wXU#ec\dJ$HH&E$)gJDEjg-&٣$z)8T%QG4"XDפ()^TZwO=AV9ڳ2h4f*MJ-'P[/w9+pFU$,8U8.ri4Qg5jX]v?1Roٛq)TL WtЫ`rўV;9>wE\$l5l@bњT^:Ͱ^:›Hfʏwl*rZ915re(^,V3W,j'd-󔐂A%`D-Gz:6">f/Z.i]0b]5rέm%VI㟖9F+;\d~Db[ZՂ=#1Lb5I)1$99^O'PƟkص4QͭkVZ乨xV3i:X۹ijJj N|m{%;d!{7>u ԥn/ۇKdSN7?'$ 0A E Kf&ͥ?H벴kJRd/]{+҆.E(o~vfCW]"Pe'TO?4rt 2f[U: + ʯ8>1M.9 # +T +IAu[$ZyQ0 +FQl0T(5q8ֲR@!6Kh\vPLY"mGPb;êf4R<h~w%ggPE8"cΣTqK kXJ2W#f1YPQ(Wu>L̖3c aZcԨq_z<{9@,L+w{wψc m_X PLt=੤yk3}~r@9V!Ԓv+tIbjIDτNtd6m4ԗǙ)ߠ"?;;S~&f7ntuԹ/vɊ,Gި}'kaS~+-lo\ ؖY * +m&B.3iU8#2bqZWwTo"@a*nL,o?!lVlEA݀ng)Fl{Ӗ\^9ro6f +endstream endobj 50 0 obj <> endobj 49 0 obj [/ICCBased 62 0 R] endobj 62 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 48 0 obj <> endobj 63 0 obj <> endobj 64 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 17.0 +%%AI8_CreatorVersion: 22.1.0 +%%For: (Gnarly Narwhal) () +%%Title: (Cover Image.ai) +%%CreationDate: 10/6/2019 7:03 PM +%%Canvassize: 16383 +%%BoundingBox: 0 -512 640 0 +%%HiResBoundingBox: 0 -512 640 0 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 13.0 +%AI12_BuildNumber: 312 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: 0 -512 640 0 +%AI3_TemplateBox: 96.5 -54.5 96.5 -54.5 +%AI3_TileBox: -64 -550 704 38 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 2 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 3 +%AI17_Begin_Content_if_version_gt:17 1 +%AI9_OpenToView: -1825.31348432578 988.357432128393 0.6667 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -1825.31348432578 988.357432128393 0.6667 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 767 +%%PageOrigin:-210 -450 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 65 0 obj <>stream +%%BoundingBox: 0 -512 640 0 +%%HiResBoundingBox: 0 -512 640 0 +%AI7_Thumbnail: 128 104 8 +%%BeginData: 7238 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCF8FDFCF8FDFCF8FDBCF82752527D7DA87DA827FD73F82752A8 +%A8FD09FFFD70F82752A8FD0DFF7DFD6DF8277DFD10FFA827FD6AF8277DFD +%13FF27FD69F87DFD15FFA8FD67F827FD17FFA827FD65F87DFD19FF52FD64 +%F87DFD1AFFA8FD62F827CAFD1CFF27FD60F820A8FFA9FD1BFF27FD60F805 +%61373737FD0FFFA87DFD07FFA8A87DFD5EF80600371537371585FFA9FD09 +%FF7DFFFFFF52F8527D7D7D5227F8FF7DFD5CF800FD0437615B6137615B37 +%37AFFD06FFA852FD04FF52FD06F8A8FFA8FD5CF80E376137615B855B5BFD +%043715FD06FF5227FD05FF7D27F82752FFFFFFA8FD5BF80537615B856185 +%858561855B613737AFFD04FF7DF87DFD0EFFFD5CF83737615BA9C9C98485 +%5B61373737FD04FF52F8F8A8FD0DFFA827FD5BF80D3D5B85C9CEC9CF8585 +%37375BFFFFFF7D27F8F852FD0FFF27FD5CF8073D5BCEC9C9A785375BA9FF +%FF7DFD04F827FD10FF27FD5CF8376185A8CFC9A9616137FD04FFA8527D7D +%FD11FF27FD5BF80737615B855A856161373785FD18FF27FD5BF806615B61 +%61615B615B6115AFFD18FFFD5CF806155B37610D3737371561FD0EFF7D52 +%272752A8FD04FFA8FD5DF830373D0EF800361536A9FD0DFF27FD06F852FF +%FFFFA8FD5EF80606FD06F87DFD0BFFA8FD09F827A8FF7DFD67F8FD0BFF27 +%FD04F8527DA8A8FF7DA8FF7DFD67F827FD09FFA8F8F8F852FD09FF27FD68 +%F852FD08FFA8F827A8FD0AFF27FD69F852FD07FF52F8A8FD0AFFA8FD6BF8 +%52FD06FF7DA8FD0BFF52FD6CF852FD05FFA8FD0CFF27FD6DF827A8FD0FFF +%A8FD70F852A8FD0DFF52FD71F82752FD0CFF27FD74F8527DFD08FF7DFD78 +%F87DA8FD05FF27FD7BF85252A87DFDFCF8FDFCF8FD5FF827F827F827FD72 +%F82020F8F827527D7DA8A8FFFFFFA8A87D7D5252FD6CF894B7B78ECAFD10 +%FFA87D5227FD63F8216F456FB7BD95B794FD13FFA8A827FD45F85252FD19 +%F86ABDB7BDB7C4BDC4B7B7C4FD15FFA87DFD43F8A852FD18F845B795BD9B +%C4A1C49BBD95B7BDFD16FFA827FD13F8527DFD2CF87D52FD18F84BB7BD9B +%C4C9CEC9CAC4C495B7C4FD17FF7DFD11F87DA8A8A8FD2BF8A852FD19F870 +%B7BD9BCAC9CEA7C49BBD8EC4FD18FFFD10F87D7DF8F8A827FD2AF87D52FD +%1AF84BB7C4CACEC9CAC4C4B7B7CAFD17FFA8FD0FF827FFF8F8F87DFD0CF8 +%277DFD04F87D52FD0BF8527D52FD07F87DA8A852FD08F827FD11F845BD9B +%C4C3C4A1C495BDCAFD18FFA8FD0FF8A852FD0AF87DFD05F827A827F8F852 +%FFA8F8F87DA827FD05F8A87D7DA852FD05F8A87D7D7D52F85227FD04F852 +%7DFD11F894BDBD9BC4BDC49BBDB7FD19FF7DFD0EF827A827FD09F8A8A852 +%52FD04F8FF27F827A8F8A8F8527D7D7DFD04F8A852F8F8A827FD04F8A87D +%F8F8FF52F87D7DFD04F852A8FD11F845B7B7BDB6B79BBD95B79BFFFFFF7D +%52F8F8F82752FD0EFF7DFD0EF852A8FD09F827FFF827FF52F8F8F8A827F8 +%7D27F87D275227F8A8F8F8F87D52F852A827FD04F87D7DF8F827FF52F852 +%7DFD04F87D7DFD11F82045B7944B4BBDB7BDB1C4FFFFA87D5252FD04F852 +%FD07FFA8A8A8FFFFFF52FD0EF87D52FD09F87DA8F8F827FF52F8F8A82727 +%7DF8F8A8277DF827A827F827FFA87D7D27FD04F827A827F8F87DA852F827 +%A8FD04F8A87DFD16F852CBBD8EBDCAFD07FF7D27F8F8A8FD04FFA827F8F8 +%F827FFFF27FD0EF87D52FD09F8FF27F8F8F827FFF8F8A827277DF8F87D7D +%27F8F8A827F827A827FD04F82727F87D52F8F8277D527DF8F8A827F8F827 +%FF27FD16F852FD0EFF52F87DFFFFFFA8FD07F87DFD0FF8A827FD08F852A8 +%FD05F8A827F8A8527D27F8F8A87D27F8F87D52F87D7DFD05F85227F8FFF8 +%F8F87D275252F8F87D52F8F8A8A852FD16F87DFD0FFF5252FFFFFFF82752 +%FD04A87D27FD0FF87D52FD07F87D52A8FD04F827A8F8F87D7D7DF8F8F8A8 +%7DF8F8F87D27F87DA8FD04F8277DF8527DF8F8277DF8527DF8F827A8277D +%52A8FD17F852FD10FFA8FFFF7D7DFD07FF7DFD0FF8A8A8FD05F827A82752 +%A8F8F8F827FF27F8F87DA852F8F8F8FF52F8F8F87D7DF87DFF27F8F827A8 +%27F852A8F8F8A852F8A87DF8F8F852FF52F8A827FD16F87DFD1CFFFD11F8 +%FF7D27F8527DA827F8F8A87D527DFF52F8F8F852FFF8F8F827A827F8F8F8 +%A852F8F8A8A87D7DA827F8F827A87DA87DF8F87DA8FD06F827A8FD17F852 +%FD1BFFA8FD12F8FD04A87DFD04F827A8A87D27FD04F87D7DFD04F852FD04 +%F87D52F8F8F87D7D7D27FD04F87DA87DF8F8F82727FD06F852A8FD17F852 +%FD1BFF7DFD4AF827A8FD17F827FD1BFF27FD4AF852A8FD18F8A8FD09FFA8 +%FD0FFF7DFD4BF827FF27FD17F8A8FD09FFA87DFD0EFF27FD4BF8277D52FD +%17F852FD09FF7DF87DFD0CFFA8FD66F827FD0AFFF8F8277DA8FD09FF27FD +%67F8A8FD09FF52FD05F852527D527D27A87DFD68F827FD09FFA8FD0AF87D +%FFFD6AF87DFD09FF7DFD08F852FF52FD4BF827FD1EF827FD0AFFA852FD04 +%F827A8FF7DFD4CF8A87DFD1EF87DFD0BFFA87D7D7DFFFFA8FD4DF8A852FD +%1FF8A8FD10FFFD1AF827FFFF52FD30F87D52FD20F8FD0FFFFD1AF827A827 +%52A8FD30F87D27FD20F827FD0DFF27FD1AF8FF27F8F8A8FD09F827FD11F8 +%27FD12F827527D52FD07F827FD19F852FD0BFFFD1BF87D7DF8F8F827FD04 +%F852F8F8F87DA852F8F82752F8F8F87D27FD04F82752A8A8FD08F8277DA8 +%FD06F827FFA87D27FD05F852A8A852FD19F87DFD08FFA8FD1CF8A852FD08 +%F8A87DF8A8527DA8F8F8A827F8F8F8FF7DF8F8F87DA87D2752FD07F852A8 +%527D7DFD04F827FF2727A852F8F8F8277D7DF852A8FD1AF852FD06FFA8FD +%1CF827A8FD09F8A8525252FD04F8527DF8F8F827FF52F8F8527DFD0AF852 +%A8F8F85252FD04F8A827F8F8FF27F8F8F87D52F8277D52FD1BF87DFD04FF +%7DFD1DF87D7DFD09F87D7D7D27FD04F87D7DF8F8F87DA87DF8F8A87DFD09 +%F852A827F8F87DA8F8F8F8A852F8F87DA852F8F852FF527DA852FD1DF852 +%FFFF52FD1EF87D52FD09F87DFF52FD05F8A827F8F852527D52F8F852A8A8 +%5227FD05F827A827F8F827A87DF8F8527DF8F8F87D7D52F8F8A8A87D27FD +%20F85227FD1FF8A827FD09F87DFFFD06F8A827F8F87D277D7DF8F8F82752 +%7DA8A87D27F8F87D7DF8F8F8A827A8F8F8A827F8F8527D527DF827A852FD +%05F87DFD3DF87D27FD07F852F8A852FD06F8A8F8F8527DF87D7DFD08F87D +%7DF827A8F8F8F87D52F8A8F827A8F8F8F8A8F85252F8F8FFFD05F85252FD +%3DF8A852FD06F87D52F87D7DFD05F8277DF827A8F8F852A8FD09F8FFF8A8 +%52F8F87D7DF827A8F8527DF8F87D7DF87D7DF827FF52F8F8F827A827FD3D +%F827FF27FD04F87D7DF8F87D7DFD06F8A852A827F8F852A8FD08F87D52F8 +%A852F87DA8F8F827A8F827A8F852A827F87D7DF8F8A8A827F852A852FD3F +%F852FF7D7D7DFF52F8F8F87D7DFD06F87DFF27FD04F8FF52F8F87DA87D7D +%FF52F8F8A8FFFF7DFD04F8FF27F8A8FFFF27F8F8527DF8F8F8A8FFFFA852 +%FD42F87D5252FD05F82727FD0DF82727F8F852A87D7DFD05F827FD09F827 +%2727FD09F827FD4CF827FDFCF8FDFCF8FDFCF8FDFCF8FDD1F87D527D527D +%527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D +%527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D +%527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D +%527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D +%527D52FD7FFFFF +%%EndData + +endstream endobj 66 0 obj <>stream +\zt3XZsz?sJ2>Ƹm^ܥRtrq#wurnz&wtsXZ.ŹK?yrA="qR.IR;#]*ܥ6cL'b*V;>ߋBoOZv'LLpLmqzr+v;5:ʞ?nU?-1[k1[b'[XYe)Lc1Sb)#lm&c:$~x/FYcJhJsbJk1Ŕv7>YFj=QANjNiM*oեjAc9o{}VΏǕ;*7]7 )hRM-KFb{h@N\Nq馸t.(tU> ztSBH?ΙOQک۴Fg7;}IZ\|Gxz|]:s>rS^8̱|$篵HWwD‚;vL/n}Em0Wmխ7H-ܮ+"xU9=+ߴohYJ'܋LL$߃h~u@h~h'h~h'Y*$GCDIx4qb#qC2=zWV/޴K \,aw,|_6m 7u*Ƿ9mpȍYZW`Zw#qJvtrdصCŸ{ZlJk1v-Ʈ[铫r< l9 j@"rQ-ߤG鋫] ϱݺ[\n|w[_a=aCW2 vȦ֙{@}:ҳr 4LKP6qFr[\F=Q'*DŞ{bOTfO;'J!{zЎ=Q?'sZi㟊mUm1^qcQ$ ϼw:YxH6V#g(#gw8{F"UgbG,ci~#29.2m+X$wH){1Ϣ͎ tDciM笾^e\wqݍ=KrvXQڞ^a$Q{ܾGY"U~ +FKmy깝^6/?yّ5'evPemkIm(Y2Z_iT[TI֗Λi I7/9oXQ켉7Sp tvΛys77vb (INvU, 6A.$ZuX.O]-Cu)z"lv +K{MtǃUlbM=qw/+kƵZ]gkz\:\tnMqZSkq6iT)k$98kc]tuJOc?Cl +FO;Rі{A}p?tg']u18q;N~Χ  m,G.>tUĞ ~Jĭ^ ~ 5I~Xm!elilGu-#Ocۧ}ڵ'z6P[_gljljljlu>iZIqӶ#u-vIY=PF[\rK _V#RG&.:2]STE dzq:ꯂ,]T/ҫt..ͻv\7mBMZ%Vct7(d~^^cT;w洝Uxlpu ++_Z*t5kԝs7ŻZ6;֓orxWljM{ uKW{-cuTrvN`vCVGž~*nBV$sড়֞b=WX/YcnF]Qo// ;"ܾI3VbC +Z<٪&}'pgV=.#!Cxm03^ue;5HKV$:-kvūYB(b.9ɱL4ƊzD&u="fz"?Er,HE7};Cp&el8uoh٧ShOjŬNˠ CٷHJ_Q"^gEx\uzI:뻓Zoa#gU(s7$ݗ9W>'ٺU+s~.[Gؑd_p} SDN LESw6W8he{/Mln} Gt:._MUm/VnFۆ: 4If4u{^Ze.rF"DnH" ]ϯhӅQ:U({ *vtӇ4-L-mH3zd`"UQfFGz4f<%x|R9g \}wvxQEOQx|F"gFb ;S['mÿfK{0}#qm|YRʔ +3!U8*Ն +$|kX֦fJRK #8tHLKHP, (l|R +g%̔`28Qj&plǦ4R{$`U  tF+,X]ujY)_lp D p 6Hu X#LBW0lhy 򐰡Z2FlZxcLiM)&+-0Ἵ}D݂6vo "A\DA(#-Vh2&} +L"N,*H#AGviڨh@)1qO+bF'#;a5E#7:$z, Q"6#\%hRNBZ% PWF)EAp /Bqg +.(&Mel{Ğ,BL9kxxAʩG2Wo+1dTeQ0Z#@Z%'=EMJԕ1rSf@S& qZ.zRٶmjXoA67 ~mpFLЍFHА([(Oz2j-`B'FTL+=\R;W8jwf}n al"8)Q6Ah wD,2J&:l()%ّ,YOLD!8K*,R6Zh6c70dEz.BYxŭy0-nLM-;0D |0UnSͿE `w^-r`*K6 1{M9ZIv!`"sgZWٴ!P:Ǽywh}!`D()kGdtɀB.=!C1" : Ho+$ +'VSwc*"!3&qBj1*1TKt)F3Q\Z8(6}ȼU,vH]1rdpwA~#2j &myH+Ki<@TF(#2Q{) !999K e:QD5wFS%&1r X @e'uH!G 4jK# ؘ4ab"_@*&3"B+פZJGhW xmW " +.\jח@)(Xo:$`P0{dlY Er@T(H$G( DoXA׏H2 Rn(Q9iYhقDs`o6dI*> bI\@Ί^fШ֯$>t\t -L~*[e3%W>ˢDU(%=dQ(AoF-]`X)DjQv+rnSN9@Sl!?.: D0sR aw5Edh F.U~v9A;@2>r 0+7 +@Nꁤa4IǍI.G 5B-T3Im4Cty'|#eMx1SOg3r! +'G)",q% RΑE68Hv-c(lJI5 Ew;hhz(]A.j9=@#&nЅ] #07 .v2zx 9I +V# +B:{* I:`a:4&I)'*24佰@V)Yo2-$ $HAL\PD5#gC-kG I!atPh iRT5YAqL7dî<[h1zPwU'ˌcBڢp%bH", "K.!\%b~i4-1mq.CIxcA6L؆k`+j d;Fm)N`_UA[`@C.hwz#}dg$#ñӀGBx3$A ޠ# HGP HbbZ(yTA"H"upok(oD$aKFv ++dٻ`O+-)ewqDf`c8Y27dycl9Z#)AS({D&\hC ̓פ-P'5xI|q\-aJ~kߟ,\#'beH +"鐾*Q)s +vLfNȚI`S ՗@|0P s+:QߠͷPKRB7n{J"V!ȪF]?貈-S8nSXFJRLT (x sm-)mO.dHx#d `d\Kb`( +YސCM(de9,,ͦU@.7P @U)MJ)ٰY(3l*U9o:P$HR{8M GM65۸Bn4BÁp9.i4P|5kɈ~ +P%E4.BXc Y dpBI״&WyG W.AǦ>{2mܡԊ״I hF(S I ^P$:Dο$9v !G*ӣG*̀6/DLBFr/8w!MޓИ<(軎W#@xj'hfhk FZ64wI1Rx ^?) +< eCRz dRhA|dct ~7s%nq- J3$k_°8 S(̍#DbS(.o4LGk' |!t,i#sK@Q F`]Hxbi橃k ܾQHL`I4 "[C#B*#`R2;2-LRw3?Wګ@T+iӉ," ذ 9hG JIDiA+ћS-&2?|$"Oblt;Y3j̡ML.!`66tXfjI5c#@Ɍ3e jd}$-(͛dVS$Dc=*:L44AFPjQ?/J„mҽ($`cM`[G:TxoRZ KLd?ߠYnt M3j|tBd*H)sAhF@os> +nPJh$iybJۀ=Ho0:d9a`<%j'L\Gt,$ 7Oq FX&9ٸ2ҹ%F\#)W@5Ρ0qQҩD91;Jf\!cm/b6GU$"B&aI(bvt80 0Y +qEO40Wc7冗O)@n\?ZTtw˱G~n$[`Bگ mӹC(:t6y"XqF9Tc:G1""YZ8-Ɋ+!Й ҄gtQH(mt< K=S(9j(+, LrY`q. +E1"{z5&(Y:~"mvPGǛ%7^PƕĎd{,&RD6]`)OU^?`ai(}I}(řn AG2#%ʶeoSp@mNHjj$y5YƔHh A„~M6(U[ Ljcs#ɐMS&eVF/C)o%2|™qpS:ܧh@KP4fL=ᬪhU8 HKTUKaoRҭ&i;l{@D!E8qN0tX6- ufG(,G1Z>HPi1BbR8(>RcqB? 'FCM"e$ү#pK&iRّ' }cC|,ơqc,x G(xBa&F?7Ō҄BXZf6 9C&.F_SGzG%/2YQr}H!79gAG3jpTi( s"^bY*!y>r4%~N,=r7t ђ%)h속!F*U2BBMD6JRmjXC/F%>7궬H4 lz2|03|ph'agiRK WlTJ=]T%I({;Fcd-X[ImAWcI띺 Ƣ#;H\7l/LhQCG!K}?\ J:#+WTJJ5(:8b/]h>QVgt@+.ok +?ΈA2_D+k*4)'x R+ɜ@2ZW qdnB5f.,J)1"ޥBBX,c  +dzkW6%EO^Oa©W:mF&P cJC8x -tL=BɿN11S[5u; +MޫPQQNh5~!p' h#?]V2&ճToSigW0A;M~sB-&o8ץRg:ȕslWd*ËOv{ +^^54RP߷ +MF01Uo!M|V>[\(1%zI`buz + fn; =:/ _tf[f۳y|X*%d.~0B]0[s%P,~z:ߌE[a|cz(7}/Q'=.c'4}Q!ӷ~w'WţJ&a~bhΞ0?`%`b9<~3[gч'wz,&E<[j65,%8X(ns32RTWЇ<>FQZ&E?$}h$d G!P [f~ 2 QWJ.U)lΛhπd$ŧJ.@eHD..9$Mmy0 }R/цi{R@<9ijځ@Eu=|(3ɦ! ֜u*=~4 94>poۦ_=n#iqtW?hgC?j]d/|ЇQGJ~x..!!OxjY]m=οwQtEա(0Nø9~h}7d p ;SvX[bEȄ.lZT .p7`<#uZrv$2a:h'%?vǷ +?lˣG m8<:HH<:8' s~q~-]-onWo//n6`xyZVtޏt ,]]׉rx~R+`|Wzy5d%5A_wZ*'"f1 Ӑ@_R~SEU]u sN6t#c Rm|:tQ/ǀG#ЄC'0|"5Nk" +ζdW*wMh(ZTTUj1\JTMXB`wMP+*[.,.:+o3X kߒx̴ #G[[ۣLX Ԕ}#m0i~8&i*<lsFl>{Gӆ0eJØP0Cp1O2 L+0Өs +j|1O|W= +p)4,ob[ EP1i hg!uetj^v1~X!,“I,m\'# Gh.űpV6 HH{l K"?} +˷/aEC1n۵t `&Q-g\=BE +Rukj5]hb0F 5]w\wUxܦ>&/ \3c۳mߤ3H~*f,5 \\tnNɁhE4)~j\mǦknC&=X6&a}AјSiǩ=[Rn$2Xg"vl.@Q Ӕ׈OAhb[`qIEukVL`.P.ƽyyO+?? LMt"[>]}#g&k:n~l6S*ݞ\qF@5d>0jKM" -4Ԭ5t$Wgf*TvKxXܹ1- 7"Ŷ1pY]x`EKԹ_ +\ +UBBEՉl!u96BTbHXNL`*L>%4T*k)Å+AG@ֿ*$.c*D퓱<$OĚJ\ST2ۑ A`6)4}X>mU M[`^ -$IK)haAxG]sTmXB<Bmܤ%]gqqSjr,Hps1 V[L) )\qr4tXܠKYT1VR0AesAL #clk>ebiV%&>j>f#"\}!MkrydxEa.I} +sULՕ3!.wo"9gШ-,՘TL ¯ĶW SmIV%t u]_b&.g1h.LM!uupLϳ<6Vl +tLI{2Xx(jk`vC 4W%DmJcs5l\"%O$i pEhLoGm*K>$AN:%~ eۢrxT1DV0ω>?%ũV Mv <6 +KJ(nlyY|VhmJ:jCpQK]U. y,$oQ3`FM)wAu,51c& U& "ӬuŦ.x0XpG\]0%\B,ee@ ִz*J뒫]x)*kXbȯtFndk\:)]yu"5`@3-vII]q'Z7Vsm,)0\忊x\xtK5,/TR' '\*W6t3RڮԧcJ<,]`4L"k8#! qfJjbnzsФ\oS{.Tb~[맨vĶY.@jUQ!(*XHT-%3T6qX^۾ #5f0gWQ~e>O.w2PԿrBDkR8%)䰙b'5%M׭q#%I0Qi{4ט鷩3]vWQ\Cպ2kS, 2 XfeU&@T7*SuWTʙ"r6ԽÅitœ$XZQ8-FԨ,b*#jz̸1EIq-C\&$N` T$xT:T)*pi,fTn @uG1=v{t;urs4T_YbӍu)5vIz ~&z_y=]ȬsHh;~3JmRhEv# +Xh&:5@ݷHǰi[;¶^t bED"61BL2<xTKۘ0򜈠cvx+*g<6rG U8>G +u | QE!|]'-T#fnv !n~̀d= bBHܖ^jVKIp X$@G7B Z:.zt~0Bp?s|S-FZ jěZU,1_zu{S9MxjToϼ^0uҭ_VWA%xN (aKQ H`Hɳ`5gϾowq}sE۱O ē +߫wew߹$UШ$( Q!>:  Lsju +0!2%yrsb?<\Y{Jґ`+HbC"0#@O. ._,Ǔ\M0OӟysM<%iPK*ӄ9$r?ӻL,yZ 4~ L.A.rHXdDByHk}J 0 T5Ppa>EyR?M ~tNIy?~\ ~j8co;@!nIfAG5w-KJQ6q<8drYlդ RGmVu6iQ 1Of2yn%WMXU ~ڐi;L\+bͮҤ,j<$M}#$4sf- JȨ͕,s rU`,C- +K8QM„Yס 5!Dq6e`ZbŢ QrX6C!ҘE{^j;ХHbtcFNn7m"ȿ @Sxv_vomԶ`ҙ]&UǦ?'NOOҖBҮ RX^KU 4nDO3h&ZLZ(/B 2uq&#!DŽG)kڸS U\)R?p|g֨OCOժj(M?(C*2b8uHFutzdKz[MA &ake5^QctteSR2UveqFeq,-&5eRy&; RR/QC.FxӸ\ itT$x ٿWZOS('٫~dziSf#=e(H a3ɯk ,: r)gz BT72!lЦR + c,lKps8B}@7kTGSWG:K}܄;KZ:EzvUQq&$31/`iI/{7;Ncb89A9:'S^}ԟI†9_^4fMqz>o(B#W窵Ax^NCfXF_m۠QךHN%`jj5ymn2FyX(ϚjɔN3ZQ}"C6jp '9KՅpT0/Rycf7P9OEA9tƃC ږh8Q_*u|7l&Rtma`QP~ IڠHd9/r)+P+Ô`}QFIiUz4K/"0ː k^hvU5z k/>[156dzRT91ٖ>kz3:Uf +mAg "Ӿ@~sƒ$brcL(̬quS!iNKA[ÝV#\AmҭwJ +cCuyI dn: ACbF)}.njˤP]vGçi B|]Ă;ҋ-5osogB@GaeĴd3< +F}Tk 2옿YLMhj;u=(ܪ~a&iUTL@ŤF`*ոԊeaX Iۤ+F`뚐e _寧+aM&iMQ 0`8LQ:h鷲jPR Ŷqh34EPQ̔(HIWT<E10gK.RϨ(FALXP AI@qg&Â[DcwqbޥQߞw8FQyW*@RǨQ ߑu+%RiYH$wQ߼r@JHR<1J f0wjYPr(|!mwM(@vnxhvxFy u@g43؏Ϩ6']82ŐUA-ӡ(tTWA EzfTc"!vrek4Xo35&H\ךݏ?=-Ə2ȕ|ͳqyd u_b.ѩmN`yZ14zT+ڞ0ZdpZbb_Ž*G"gPyk;(1XQ-~Z&'Bby/PwPie)6%0D̚@brjl.$=tj}k s|wi2/%{i(\x(s5> \K +0qOZu%{-Z;F@bYk',)Nk"VѤMK@v o i"Qgɒ !ϵ"RP_C/ϻm=X*"&LCaSȆ Df/҆(qU:}q#"0LHv/JkBm C_3DhIȷkֵ ;+AۓD]@SDdA 0 5^0pMF2_I\l#w}#;Himf![r!94 4.#RVj6sѦ^dQ@4H'~2P:6S4|;ǎ-eK 41h +R ,yKkLqexrl =st?7)Ჲg ! fePZm܍ +>1|@*|=H}mUp:@0#(C!Y( +B M1,ӑdR@p;)_vkmW0& S6ֱL`+c1h B=bEP )\l4L\#A͡|Q (U)[^uNcI4H 5V)iNɥxq* |Єp,1@(fi'ܡCLڙ!aA.S`ub]" +r d$_ Y&3!@2BsGi8mpCNBЄm7 B ˛9BӀz~Q[fٸ^? 4 i6ړ0 \#\9vqFd9RX2A汀H*FRq+dC0 2A14nELmU7 ̪M%yL!v@[z۞kNc; +;r'Ȧ6ZF`$ĘH>vh>PXrG.`hz Bs֎ B +uz삤k̴P u[&) Gڹ~v\N?OO2H̙2^c11zL"D +v@]H|: fBV,(ɻZ2gi]TscdɵtE(2c0 +Gѳ\4e<l̅~M\1ܵrŔjVpcmbN˜d )t&M`NAB $AVf3H"B(0yOz+"z" DedQ##BWvmvfqOYnMF 0}iJ,O| UPg.UPF&n MЋ:;mfDsv־地J0w,W6y%33r "3,#.,F.Z"mM +r0&Wو]x$NY\3,2"E8^bĤlNH8%h)z)=vBYc].(zۛggT<كC?H|H+dق v(?!Bzt6蚌"%`!g0}7BNæx\EЦj܉ n(2H"$FPNb$CpV;ßYER>KRB..I/tI|ԅ%.ezvz%.I]]$u%KRCP8 ]iR$u!tI~KRB·..>% KRBi-·.QЌ·.I]]$u% KRB$u!tIBB2 9tIBB..I]]~%C]~%B_]LΆ.I$3YL K/.I_Rbc", K$B K ]4ХQ'tI%C/tI%Bd..I2w<$ ]~!tI% ]~!tIBTB2 ى-BRv6tI%B/tI|ԅ%.I]]$u% KRB$u!tIB,fuc~?ΤJ?]Q"KA)AR4JH#[(!~F Ye5Jd>gDf6Jgfg,1J3Jd%3FIQ‚2F l䀄K5ehhl(!u(amuYBsF dq9 F tYF $etF 润Qe6 F 9k)QV5JdƅN[DHQ9;kpN%,5Jd%,3aF72.%!DflklM +*%hF :Q*7YD搓UybDFF`%y7J$\/58傊F g Fy8%)ccl\%"m z* W#a dV,$(;h&FE[f +N!7PFF?3m\ 8& +͕jlz&(PƊ̧B.5Q`t%Wf2 (53 9z32DT+ӡ1Qh9`:SPjpN>|Datf8& +dR.چA/:>PcEzBPB& +*1Qp=^%n;mX(̤ε*B%& +mbp]P$$X(4-#Pj&JAaP@q9 +mވ#4 +_5<6r-Cm hfZdIj,1Wr4y@kp@$oo"7X- 5PhH iPCbx!8Cp,1^\A]| 69&$9? +mt.b}X(IBPcPH,Q[@NC25UcebЦxTZ(P`gf43(즐L z[,jTu1G% mZQY{Ci8aX"ԳBX&͚!\D`ېJSw8[\vX`5NIXϨ1N$PeU4Ɖ +iuƉJlp/d2vbMd0Hh9gZ#WyB% m+8g !2Vjj֪lXǻ4&:P7"5a QQyfΥlݜ1ϥ,܆w$g>HnBNQ-r) MJ7ea˜) NIBSZqAdhmҰ4m!cd VfR%P6; +7]`gjE}̒n셆Zn ,[,Eb5-8jCU b'kx7aB3MJ˓z:r!a'4eJS ;a۬0+BgnPUa`{[|YLl?kr,440 ,TسBϚʲ*X*,OK+'4eb*hX*勚\DzAS.!?)v>ܐ)iB+'{ĕTN]8x &}G([q]8T"L %vphIzK]8ɰęHlViR.gd/ud80 3ȸp^3mE2s@"Z#-R\aFVI<32ϕ9>{hƉVR\082gT6a7) nr}*5 ̞B#3fDcehSO>jOfDrSX9''{1ҔJcIh!  +d2X6-SkhOɅSK{d khb+盳윰 (f~=0'đ9PR1Ҿ ȭԃv+2;-L mt".Q S/y22RLlsYTH\)MOq=a© v!,h 6wPB9ɩCr*IADt<84C2\`2V/:U? +D+a}9+\ =T1P eݷgN dD(L:h!gwbۛ@N5[ۼpb|F 9W $ +qT;\ Jqp8^Dk:{AɆlЉdSZ'uXFCUT9%)YpU|GJpޛRR8(iI6BmݥiF +)!ƼcxEF3e_ʤ +UIډd*g8iB*շY5PP S@΃ 6d7h,f\.BF%>p-=$1_nkw/e BCl#K")@$̜ (1CKI뛙ʼ,@)@9 +2BZef3l\&^%-e+MT n8HlAPG9}#^$aFl_0ngެ òDzyR)0cXz=ṛWR= m9F~E/eSЋc 2`i D=#Duؑx'.T"HړQN\&& ={LGDi'޳hsK +N=eVk*) \N̋E5# +Vq0Iv@~RߔROQ2g M!,cӤW +KNȋhm&:N+eMBL +;5bx'HH= +1g6c=J/fQ>_H/&Ds-idJȧ=idDp#.=*cȝ&Zh$d O?r';lr)eT- +=`3LBh; iɴXfiϿ ́7I{'e{U/A +#A5R/3warܯY` D.wq EǓ3&I p4&fޜs#Sϥ"i26P"^r.E>_. +Ƞ`2A~bw s&sϥIossS=f 0eLi* .~Ag;&< oc2& vo~[%S-'J4F}Wp012oU39hP0Agn,އ@f9 97~Awk^*}W;*?[ʂܕ.}A+~Ҕ;Y9]Z +_4})1`Ґ4^(dAe9Y2}ȡg]/{ǿlCy'10;x_3qn[Wqn4ydWak4q3kuJ/^io6f*L+(HUo0ycEff8H~FkTʅhD_m& +IyL^ Jқz8DQ(2>U _Ê;j無CZ+*a 1+rx;+XլpHϡtxOS3vG?Q"d+CDգ1)`D=Ǡ +wDHpI)/ZD٨Dv8bg +r lW3aHXa9' }/^ |#WxT8E_ (5#O0- AVkSAR)uXT"D0e諈jP_й}Y4O)ˆ_(_żB&;C8b"5G 1b L Kү:`8>@0V5!Z1;R)Ȇäc@@HF\A̩DƱK:Q"̎ $) ׶ X"XسF2B5}?  IFj7YHi!ŊQ@P3_Q,1KI08@,6DžFuhph$Xc$8^%z A~a|8-8f?g=ÇY/GaS9Ҝg%4 0nh> z4^8| d!A@Ok~`c͝B%8U,PxJOD)!^5v= lY~Dsi&1;Ǘ6IԂ38` P}$Bm1Þ!>Qa( +C1N`WXh˘^ +AJD1yS<懚PVne~c`%ND%c=e@I$rC*i'jg)J= }3 /xr +`(!s}Mj|*#0:"r-@oeuMc qH4Fz͵Ki D4B2 zz \~.A"r "BzBK#x(iS>യ@@R|^uמ9=!vX 3H̄+}1 +I cG(HC|_%}QIS(9hRa?F +e0BLw7! [#wCɬ !eD6Cy|)ck +@ +XuNM Շ$PG掄xpy]2J+Qǐ(Ʉ+E6TtOAT4i7PS q)ݞRpCT +n32ϔzΐb<*C~ziY1,5FpT> XV~~|/v H#[{52bb1j9*QگU +Z2]%Lt6|C)2r$2PR?` +EjQZȷ@M(7b3?!0DJ)PPVZMsxTB\fGeUR23@$q4)k$xҔCX,b,8~WcԶ}*)9c,ꝤFx(>(ICߘ߈n*G!pDL4L- 1!F}UBZK]0xpBYGl\0c},wʡ +ɚB9`$V|՗ŜFF"D=Rte-ZPK fI5<:qV1t@"K(}zX;fE>qmȆ)ZbI˸zI@P$^GbR>9BhJҾCLv/p*K_1D+G̺Tȵ +Q<ɖ1tCHMX{׌3V)2NEf(XG酾M h%64UDImZvUG3 %X1iQX"o NYBdNdPJVl* <܍t Lb \O))>#s fe +AP⃐a bGVM +ɩRcpDV.Iq(I&*{7LVם+TPBRߨQL*.`$FU0`5!lQhU]yJT )K̄ <5Ř(MBl't8{gd)lĹsM( ( Dr:I2L=pm?ΐB2&V\ې|sy5dOWdMb@ ΃V"z٤J0y| Q˒a#KRq8ol]sPb.քyk.13`D*yT~)Ɇ+8u>2j*.\)KDˁӂvJ?ǽal$Tp/FNO0+#(4%9=*> ͻODNly"KHMp + U1%p^*hGBe2.niL)P ;y$%(\)PCMe-2m +" ]"hW/RUlc׏3So~##8&A0R`8Xdi65$!q=}_f}0V2g@9oQF^p"pi!#mRDl6b@%݈8ؔd$Tb̜{"L#ȳJINEV|rz += "eYIvwI7O'd @a )%McGE&U{ }vK8q|=ě7TaӍYBîI3 S*θ#M;]O"BFi *䱑7VA)PDa>Lyd$B74An +N5(hhV6+c|ONܑ0q}saɢL1\tUK[H~MD'$7ʓMY*& +P)ȁvBҭCq-gVS-rbdHr=+{ѷJf%rP2IrZ?aG@ +h`R.szw@v;8vKBqSlH'+09}Hāн'Ii)t+F"( i EV毰=hJ%VX28j뒂I_f#st9 !F,eMTR1}O%GVlD&(bioqW"6A#dY`;?"(Aayԧ-XuHdĘĈRb!I<;٦GjF#b^H(#B +WB%QuVFP(y>,1L v4lSTD3ߑ +WB"{7Y祓 +b"4#(xӒ?AQ +HE|vC"IF ZW5(X [ s#?w*t˙*GPdØQLIHFPɲ8*S> 1 2Z7hLAb/iUhXp1oTqI7B$Q5)jHpy0(%PIcM(;|T׈hρ+(QzFkVd뢫eaRe[:yME$X%X mtVI5<D*teTt*<1â^R#}R S [} !Ca7!)@dnxѣ1 +R qTi+M)xyބk|F֧BXRXB0u!HFΘ63-1r(*?:@G$Qè{Зf"#&/!RjTSjfd"'S,0aAn~D2]ТE(o) + 1S/O[m ZYHV05fZ3g~I@ ìTTbgJ +1{aCmP{-?Z){jݺmWvt:eXzX(_{ Ny?w~z﯋Agf ݿm[;h?>Z~yVZvJ{f)wkX⿮UeҾWMcX\Iڽ!b\d fO/$^៙A/d" [Q)g?ΜUBytAJy[N91/qdAh878߹A}\}o@)z_/i~ko(N4[dÕGnn$_k֌pYošOԛ%nIVMiAN:iNz7uZ֫4Zza_`Z;tz}:uZ׵o?5;S`G[Z9-臓AxT|| ZX`bqt@0IceTv7۲*HҫA/Q%&$M^z۽:E.J %ؽ g$/hť%?pf/.$-e`ۍ-alw_(f}"ciq4?Q'/}٭r8Kݨ|_'c)fDڨ-yŠ҅.x-Is3Krv2x%"u[(/_ksF&ݱ6B!jOXiy"L +s}u5\~@A oJ ɗ6}Wl^dEIvѣMʣ 3fsO!.%+ޟ0 +1ĜIǾH8)h9()~i|Պ~@P_~jz(rp6"P7DKv +EL~J?q8d9|'bPwIbԿ[Sگ5@ESoH&]fHr0eſy(3 xο`¸y_K{_-G7ǚo°J'*U}ɞd{辄v[Zޤ!,GkMn[ZFA= <^ڥy뷟_¾@-3`_@7硼04'66~oWЬ.ZZ1'Fs"#Zl>v!Nys=TS/C)O + k(sOFh U CWB @HG!m!ʼnnɮ[;8]mvtAe!g EZܮT3;^v?ia(ABSyg0k_ގ;f}L+i8[,2d{[9j}ԼYkTUzU/CuSeVRh|eu#]o^֯z]KܭV߬`>:rW B"/RG1 XK *v=o2'i_g/9;ӫzfI3I&yac=YOXmƘNP 04PB+IuHX@6!6-٬) :COPTTDZ+9=5ߒN#, ,\c AzID$0! fl}RSjM",lOFk&J/<bk% S ˆcb/\RռJ +AZ W\8Xoؙj6t5bq.w _`UأMZp8`*f)B$}v({ GpIxpdPcӬ(dw|3EK{hz{1%@S͆'=9cN Y 4P\"I<-^L  ~)9@|'_Ν%:!P 3J಴p0 xB~%+E +p|爂^XO9_t c\}7vnx / pyjީ HCzsMG ` +DB@d:y@ƒx1 dwHEB |f-G娄%X19zK_E019@?ڙbIDQ1H}%J+I/(.zQ1F9X>00hIA + @4KE +p6\hBWd@f^?M$aG\n8d=#v'(P\8|X詢_K#Lk.Yj8 )16؉FC_a(`Ot'@@&@k +C/sf,^_1T'c L +PNe lLGJdw fk]}@GNk`6Ln۵湗NM?pwB0o p[YybSJ^ۃp҆ >]#T< g*\4`8Uw c'$%NhqgZ dBA.h4"*PB?(n5*hg9#B5_HHA@e#2D!DyE-\Dn@N;Хj0-D -?Q@D!@m#HQ?: + 6]q[@Y p@8<}i #X#>n/ `A"CCaG@:2h1RX0>ED>;QA۔;W$KU(zH)qAKTp&Uh7+gz0$r9 |(E31A!EEñHv1!}aH3Lm l?}h1}I̿"qNۀ1|~A};P2VP$`ۊֻL/٬/~d">1GCSx6 G_oZ ;jۅV{A4P8ዊV~CcMYKhP{siҹMV]♣FZ{7IR?;kaVsVT&4`Iܱ sM[G?Y(N^>oy4M f*^~v3OAJTh]8Ԛa}m̟'ƚݏV: +FXv3fߪfY{.5Z6!xVo/HZ9 uHo{SYDaׇlc S{sur(y%'Oڷ[w j?u(^5kf߮T;$\,<ҥ]t3tBzVD)[YYpiWu׻ j۪Vfnca?z^޼m45P}~,K+nB8:m!5ރKvƗ=ہ(sYVȭ;_ءJv{)(f]No9ή*YӺ7j;z.qx߭tn7W ի\;c^*ywj޷C@4;vM @͏0SZ^I_mjdI8q;VL,^ .#^YMX|sU9{{wv6¿ۃ/1_G᠞ ]t[o8FYdtqj|F]>;)BJ޽ȁ9vf}3иbwdz)K}H3$}'-8U[sw0=8n3N=|sp5fhf-O m5,ȫtWS*3lT_9 pH٠V6hX4K bf?~JR3%𧹍ۭN.Q7=,`IFhȅq쟷-Zps'Bĥf+ERID6^W ]u(mqDf#kRF +GrT#u(eݳ4 +4|uL T 2o-WO?v J OFj޸YldU{_w&QyUm{{k쒿Y2AYs]53`}-Zth,CT=*ӴQwZ􀦗A<:(6*_ト7հ~%xcvfKtGF4t꽛Ja7?׹LnP?^pllQJ =`Wa 'Mkz"+rQT']i[m7_۝ z&Xsys^!u<܇|(tͻFReDj]h`g.u:8Kk[wA:;fֽ]tGYc/Z0|spEtNhfQz@8ԷٝԘmw.ZݧfUV#_:*LwG4nw hUrM +8*eTzOm֯~D K<[Imx9{4[:Zү}!9t?k(}1,mުͰYb~&2!l"زX+s/rgJ+a +_eb7Ɵ=`oH[[l5֭chm{;5%k\޸~,^ZRsOhgqboxW-Nn|n?_U-<_yVfVtG77VIg#o/Ɵܪk +Z._m'G{NG:A~ϼ~#73sW7KSLs4 s0Hvgxz#s?|u6#>L'Ҭ8zwg7+OV7}SK׋cWVVϧ:v=;[p>veuyxs{?v'kŧS{b˓j8gf&sŲws,a{#eu2(r(>v*ǛBT^; KKON/M1U^^^{;1)o|Y.?m+oﷇ;3+'S僱`l^>/W/'ʯZ7pw^/ʟt|=R8_-_._yO7󯿔[[//޴|:Tޮ WVdž&^Z{ tG? y{!%n`!yP||bhanhixhhvch=9wr<ڃޭ4>? r:njD8Loe0v92aj[16;vávl2Ìm';c{ccӋco^lU?vYoǚ맳c3cәܫq‹w;-|{|ғD{Ezjfwxz REj"QobcsȉĻwDc &z;C㫵d4Cwvrzw`|ճOd}҈/Sf? +ޯy=z1֪N-<:Z]L=^oLLUS٩aLO|^ϧϴNot7jImLߜ] 5gfFf_NgvN|zw7s={x5s{ƛZ}75f8˧g3xnl.:skO?ܛ>:/μǞz9|=ѕMY`;\?^(5a`1= |rN,M^튷'^B)ZK4/)ǧRk!w>nICewx\M5UO~RkKu>Sey2N=ƟM1!գ_{=jt|魵QrnRWg.=eQ&WǕ/o>-CXjcOff֮,==xRٜ^iWP/Mo+WTm}eϫۛ՝Y5T`ڊ]Z;]m=_wןή?ZYo;ژF&7^+lݼ?\7׮_n[-=}ڞ|lm}<❵맯6~cCEh5b?a^\Ls9<<<h6hkdzqˍ"X}u5i߾ן>U+#g*OON+o*/NO: S=ꊷv<|uoNNg,Y5//ՋWRI}4z\:9j\w:uB]L?Gn>/Jxܮ4ooEf㣛rYs|"onwꜷؚg{gOilq[z탣ڭ3KiI9ݮ ujY}(N^o)5T5uz5r +mmKiY8u.j]ᾀN1guobPll4hIY0)w*}-i׾qLcՖVo岱m7+i E֭*ZwU+}[aޣn鷫Zԭ` X,JS"kMɓ.u vu[j7VT;_hh^3M`&kaZNQlRY4U~Խ^Lњ)0E:|[m^c]ٻQ?t] +3guqa(ҹk[.)Ճ +rY۾bw7 + FJk\O:[93HZv_]{쵚UuS[4$(E=hratzV-gL1֭{:-r ,Bw}Wzۛfpiw.yVlۀ p+nx2Xq5wM|} [`M@>):?k6:_9v"wѺyth}Cg+ްm /[9kzSh~{Ta=;uׅ1H ͘%h8=3z3?vB35?ٺlm'HF0=z9u~~m~k~4DիUFdvzU~Y~d;Iw>\~hOc_пX^> 7y*0LybQ/&֮ WFOX|V}tljZ\O+ZxsS4_|1d|3veh .`ry:+\xnqr΋ \8^ Ow>__!ʼnj#<5]^~<|1kMo µև'o{w9 +KZ + 㱼 NMܪ` 'Umtpz&0w6/SKOO7v'Mg[2˲}?DAɠbbVp=_oUݓ:u/0=]Օ_2lJYMcaA@®1[sl$sM J-nE ҕ?-KO齟r^-HZ͟< Շ)# +xUXkֻw7#կ앞Nʏo;Ϯl^UžL n%ᅵ d/ +BOsb>u+uTŮ0ό"[`v Se^iGYm86iAy"O5DXV"t|U0[RO0Ff ňz5e m%+eR7q^_)>* y?C!e.Υa=sUd{XuID`6.zu{Oa{M͝A:xL^7N͜fwcql?ٽա>OZ=V?'k&R~{<ܩ~X6[/=w6p\2`_]ZbT'lnr ADt08S:g"$`HN,ݠ:Ұ;BKLd&mz<2pBPjٲ\^ JbЗ_fd"Uvdȼ̯+tm u#-j1,ӌCF*5 U+Ha מ於yU]b%ا'Qz\N&`Shu_'gg9^OGO?*9u[9yF!\l4ӆ0SQ;բțgyfۏݻuk;#ԡWݾ֥aZM imwt48I6A.2s֒`֒I89j_+VMJo>}=c-{Y>~蒦ڤi'fWHZo.Cl9ݦ=(pKYLf3zQe3UށSZFf]F,@WPѨe$^6z4oN^sL̗I &rg!YLdui/YiX,kCr6)S?7FY 6>MԒv:ПQ=y k4=շۘ9!w2IRGLƖ6~FDxųx~m\^Jqm:~L +CfJ˕ML~^K͜p7ҽGUK^dD\0bͦ>1"LCVW~S۸Xj(ŷMF:s)s~kxY~։!ԅ+/)Hr-=A\NGy1.?4>-Jf>wUA<Z~TߊIuoo7^'XE)@m96_N\V95](tSl<ˌzOQ3S> >H>>' +)qm~vdmbHxdQ•bWzϟlCYQ.8< fe6cDk6X%tP6^}@<?Մ-c?|61eɽѲee[I(ubkjU|-h0 qPLߔTN2l䏗U 8MKJ>[־Ncm}4cd2:;i+1j4+9f؂TB vr{؏ۊ_>RT>WnY|՗JRY\ts|J07'S"|Rr[T ZZͶ"rdйE: Wd`'`N.t}Dz/{9YM+-K0 +}7᷿&\/>Tת +xX V~BBDr˖xRWEhGXZO=*e4(~|Du ݬI\\V, +TclOS0V[<:lOFgܸȱ' CﯩZ:5 Eʝ^-9m}\[dAidՒͲ Y:s`iL[F0 gDv*ѰT0C#O'јzë.zmM4#R_"k|dyw4dv[mԖӍΨr}"FlJPn" pSL1 +.#i7TZ]Vd7'Q;׆~$Tb/W!!Ӿ ˥۟Rwn\4j ܤz]Z&+pѓ~јn74@Z/ +LTWMs(=Nf01,mYd90Cŗ뭟Jzvo$q~/^_vʆK49RAY֋Q5ZRIxԐpTD=7LQh F+gS~(=[XtEôq~/eV\oˉB>M.HWDZ'[\vaekf0Lcy`X ͳvH6(D~ +dLK; cYF>:NvCOu7+<剄 GFcWw'&WǷ +zO]~*$)hN9*ݬ{QnR c ] [{?4n_+з +6v& +lpuR4&.VSh1\-?t$-~\^o"eʹͻ(Z[`>!N|bG۳sʖno9 |zo:_`6-LN0SRu|$|ч[| ]c]9{)1/"P1Ƃ Y5:IZf;vi—q֞,c]Yh2+h y֣g5[p%tGDZ4/HItni_ar~P1[{}t;iOw1| [O}O/xWr=N!ty86wV8HʲB .dZrیg{9}I3~OuO&}:,W}gڰaY)K/# +%JǨA(xƤ3(#z$ > >^yEH|ZbmU?:|xvפbt[̥[x}7C:J2%&` +QT N@ >7hWP[N-y}J*I&xy;pre +ﰉ TlJowtɷLSc*!W&}.;ZLoB+xZ7QJ*7jwky\onihiI '2rJX6b&ez{&v> +bj |#0Qwo+ag#~I5Tϖ;\]ߒ*SPê}lGBmÕP3}'*nO +]٦+3H5< 8B7+R*5vp 9)Ʈ ѳf-PL0I+# nG5G)\kg->ms]k"yu%2@]_TnW󝯳g](Fs>jl{Xq{ +PI +%|:_\Ye)ƈg-}%W_>OC^S;ҖwCË;ͽݕ=# ,I\vx}况!']*Wl4}}O,Y%!mYx9/n]<bׂԁz-*J7+o(uzp6hnO .>Ax|*O ]vyz&DϹ]/rB?^Tˇ]O=1/ᷝe.#m~u"|rٞ W9<*|b1Ϸ>p|ѐdaEԖ,&cE9dmh_'D4S#LJD}a8'9&r >iˀ~t-J#_™FjhYxovCл~P7]*z0(` +<6|VC'T\4 RCFZc +U8Yb(wlWL6*mUh6=.Py.* ?_C¡P9Dڔ+rWf˷޺omDpOku }e4]k(L_ܫOlO'w;9uFm<9:;7vOmtu"h27F 1 >2'atܧbK p!\0kb+F+M^41N~4:ߪ% YOI*c]i& +vf4Dz+ߎeBϛ 7оxH1mrLcd uߕQ +M\ʱ0N_8ô eaj^1HϜ' kQ"-$]/} 5Wop\i{dغƯ7z1/&)|SLvEM4Wl&m L9l&twD,fx+L{\Цd7ٞ5vT؛œ]WJn7-L=AgPl71R٬@HPL $~7M묍iӢčHs;|Uf.[t#6Z緵 4?&EJ 1f }fz7 +ܬ ED3"9퍣} uMp`\Cn/bfH-4R/mybnA)w: 䧹K_jbͶQ|/j)~NСWc*yQd:Opj`ש4pm&B4L;$ e9;rs9ۉN"~UС1cqO.v ߎ?A[%aW1{5LѴah%(8iƴd?g Ew[ľsJiG!@ v6%=FxJNj9% p/ZȽ%#wf +h$nO +y]8\gMW%OpIgxG?-pLbo8t'+gf3[Gvcӯ;h8͏$AYғe!hBfpWO(6Oxlň2X#jbb!p˶ܑ|^̦M%# d |˩ 2K"ujɏ``w&+)Ĵ ܙ %&n#Fڙ`J~v}y(t :V=U[M06ʘ:̸jb*ӌ |ĔGXv +i6ٸk+\OAS{U*{NZ)@~h;@ZozG1vd:X&nrǛl% k݆/]dj4Uv9:"|f1||r;9-)._@9-ߒtqr>Z>r>Z%G|| ,Ͽoitqr>Z%Rr>Z%or>Z>==w9-5f('@{W"}; vwتyׁsV4] r3nIK.Mʟ j;SOgw#wzTxZ/Oe{3R[bVL. >}"1-.Ĝ6=MTl̦*hѨ)&w|%mo&矜]LXv7U~_`zOznIfIJ`%VF {'xa[Պ +Ru2_K hW̺׀7nW<+*vU p}qcT(SFf/>xVzcLUSw|j9`]#nzɪfɼayg细f]]$VtV'X~M8!PDտJgieυ ;S";2 l7X;E5)3ol{>&Qt@ckϵ)KLmMs;؃^'YpT}h큖%{ ~9+ކw_.0#ޑJOt8~{nK9y6+A5LvI5J]3E@8zBd]54cPekrLB0t:S +/UGik1ikWX7cLd/U^ޛ%/8&繍i㔑mvwAi]7 hU|N彡!v/<{2.fi9PX8sJK.E3xo{d77l "H#QŮHF"dD[H럂j9gtr 2L4j./Bޛ3\u H|oB^rL*/a5,M,f#mFJ"^L`ә*ƭ5Rʼi DiWiɰEWM ;keՊ]goR^7)jAyQ:TY2yYѼG^`3˼|@).A .E#,ƬeYV_gqqcW硩y~,4NPsa@֑Y8M\4[aGGe\8:|6ڛc(Oqh 6QͶVwj"ٛEBo ,YL,,m"Ub G/^ ;{9HG8f!E6tG䐍s%MUǍHbl?nD&,F^./j0}QޘX +df@]]؞ slEyU.}40M1XLV}k'~%~ k$Wⷈ# -]8f؏PX;þ@>Xqb,qHV`YPy0Usѫ\Z \\zXwV ݋Jw?9|6]Xz]7Z]:餞͊%=QYayݼy[@?< +>~˕v*S2uOZYJ^ew-U*ʕt~ MKc~L|V/*=PAbtv|qx4eca0`7q+SK;jŨ=TtD i<,`w]\Tꈟyzg^o|L#-nSۦ(t8=fyAݬެ9CwޤV&Psޗj,?c%('h7I%@{g3 +SV7fBaϭOhydB.ύ|,,ݽ>>^Da?-sPup}EDqY7beQ}S5Oa^]Hap ,s3f}nU}Qsu+s[%z" ܺTVQ2Oa\H ^i (si +ܪ t% +ܪBz}n\\aXI& }nkXϭo\daA +f)sҒ$/}5hHDvMɧ%n.d5'ğ,4dqV'AS&dR7>eY(ČI!' ( 3qiGSoE^,~3T;z<$:V etboEW#ze['6ߺXs꤫WBZ\ԙ '=9 O\s ^x8z[=b.0xtRBؼV%1v4!ڼi`9:q;nz]Ks;wcH+/,~W^D&w]ymlUgR 4T8wZukn Ostr{S17Z%F͇\1٩{:tu!juguz~-#:dsG\:].()QY=Q Tu}k?M]c QI%N,!x<}>(0}Ω{xSTHxTHX|͌4s`cU̎` %AFg͔%ӽѹ=,I{=&xIbzD $1h=Gl-hIbzDO=XIbQ$1h= #S]48^$1h=X:]c#C|Y<p갅]V8s\Vhd]V +-.տBB/БyW]V~aՅ/,ȩVm4y.3}+\֟C]c\TuC26=q +WCr glfApa.<K).BjLw >bXVfW# oFxZt]^6,6m܅B:,rX\GGd:ޤ>A>{kže'õƶWC;h(_9N/7 zrRZ{:/IӒϹ~Oァ׏jztުF#V1}kow*7쯝D>Zu{5feDq5~֙ǵRn!p|rL2Ӌ +S]0Ã~u;dÃp⠃Siٟr<\ڤ)˭ywIv]6nJ^3t4."0>XlB{q2]׹SƪQXkTw';A]ߗƕT7\_["e>` _oXQz oWŠmta%7ch^ڂ99Vdl'/ +?0VB'](s{:;=פ*f+cvwF2\l"/%FHmg-ml_i2$ת=&t'r,:L>[N`WTbҢ%_)r=e#N~}_sIvMO}crϹz#ߋ痵-lhn< `9ds ȱzVPIY܅&&@ւj1~>t kgx"lm5d,A[>ƯG1KxG aUЈ!!aIK>هj>~Rvkb5Ѥǔ&m$EsfO=.|cS:1~ahrYࢵo.cqXVoh N5H󻜶;RUemA_$!W:*k zF\/'$>ʛI.[dWBs=wGt[W&곹*p'km2V +E:%NEOhR<+ަLzz 8kgUϛR\V*s,-~L!bp+>J:fa#ZG'1QQ؂O[{pҨ8teK|Zi[K8_\orB4#n4m荖{.r+i1\ C'MmyTѮ3[T=m\z޸>c$%%!:qd"{s&]1zGc ΋F(;֗S\)yg\WnܿjȊ&:4#vy0'g=8sn-@1$܎C?oهX1rC6ǩ|>Wui̘!C7ԘUꨵc* U3ŞBdr1 oGux-;:W˺eE&odvU3UPcIc,\^6f^#6W?:B׫|7YRޥC~ *'Б~A);\z𼕯qbՅnhx~Ѩ#ӌP/G&O1q5nDMN,<8xZL<LZ1 DLq=Yt$_H1 gNtgJvDNL/~sWI߰c~o'iz撵ׁP{Qt/V]\66r\3əvõ1u =عRtW9RkQ8RL H )mONKۑ+3oO2^u5ԹdnGlX* Q9TX_/t`]\Db͞zdZċ@ -< 2)<1GF8 duHį=lH~|p~ι=I8!I +#z߫¢]|_ Li>Oj壧]/M]mMIuTC/jZ/~l -֢)cg%,U*[rOgw~=" "V%wUpf|;*[` +W7x(U8Hfy5:VZJ,hUJ2wq ‰?Ρ'ND!ől6Y8)"w_ޮ<)qsɯ*Y=d3tIVcqZEBR6%/(`ZsT$?bً $f`Fܽ7\u3iɰ~2T\9֮Fa2ͫH7p-k$ʤ_mK!1T0õ4o*O~>6+}Mѓ)8hMDvU|~+\[U"l.sϴH0fF:;]o * #zǟpdÜB|\so~ސp%`)1AgդC @Ozxlw6e-Fepgb +ZxZO" 2hTG%%gFHn,:C C9nƊ ˃j1C c8Ino#xp̒@!șH.V!颹thrF?7s_;-qKq=ɤަ\%KWUެ)9\Y3ܒ +C*zftW.V wOK;&`Mhm3TPB^4 La' +YMqYuy@Q }h+~LLL)z^fOw&uy偑WѵOˆwѧT9,|(+%8Yhry| ~ЈgxES?=r4Mt& GWb|\ޯݭ2"mOyɬLvA-9LX^!TT$HPn^5}9~]nATHj:SahLj{O4Njdle)2xƊ0 %O*Ə ~cqQ5~?ro0-!{ZFβyxZwYZ(әv"1<II#N&/-xiH3Nqp`L;1r_ +GaOb?KIwXWwgX=>_?Ύ"Z:!Ij#6Tyu{m8.=1ͬ3.}Ja 6HP"A6ič,B{5T3TV{_bk] +H`|-}+epl'{RY풕֊#껗Qx[=zfE]yo/rU+[8פPjjYdd`N_t3f0>)%tTZCm#}b#ĸ$uIO`&>ulhoVҺ(gQ /-cKj +`X ˃_\, L_iɿ8k7.K/}~un1W~{s̴4 >0KwŹ_F^_dQ/C6b9ΔwUwSk;ˍV&fFIrքґ<Տ;K;7:&#ɞbe#%kŚu:֡Gmfu>Oɝ& w:2~K$Nƈ /2(W" euEb$#ŪbS[)lE8Eִ {ϖZ~ +%M-n>uI4EH?h+IKP5lc[;i[cYY9j>!K\&<+&-֐NjO:0ńNH]Ot1S QΰOtbeЀ)}L0ѱu.:`k-f)M.:`DOwL0&|Xb S\s _֐(?toDlϯ_vKaD1Dx?yr0|}gv_?)Ci;"00Qd[8 \G%&UXAU0)IVYUdVA/ <NTTQQTDU% []s}y\KORd?ؐ|'ٓ'J&cO'Huc0l=tcoNq*?ncuۏf K_ݩzx +u:fڗg);Uk~B<3ܧF}Ay0NU\ZZy1X+70ؙ1~:vAB2F&Ss[{t ݠS$WIUaJb`8T&M٣SXAM4PHr UK665^epFUVa v*0:B+Iߓ9Q D + x7ܑk*d(qa{K-bT$YU=w|U!r* AyEвlb;v)2|77tU(FǽaCj9ZE`XYT|ho`) $*@3XVrRe +~vSe=_gВyz~o U9)b̤drNBR@ B@NY5b̤TM? #+&-UA5=80RȀ̄'ԃQ}mh;\{@X3ZzUp^0 xVw&q@OVnkբ~_-oE1b +x(7(l0Oq:O0,S<#IՐ +}QAq< eA숎V + YZ 2Yyϸ~9Z0T^ڮx"H*Jb`(,qApn2MirėK*cpT^Z= s CD`XxIxWul1*֚ĈXd,g(@[M/3h^ )XB%xUN$K85cA#fmNFAEYQD.$cmXL LTD^p"pTc^Td^bX S0lUZM/7=BY8ѿjơ9i@b!X  ,f,'h5Ȱ"[5Y³QhEΒ1_*?(9T+C㒨=q\,E;RUf ?RdѼ,Hocќg?Eā"2"H:D: *2ú;T0_gѿ%,Lfa 눶qha}h2ih "k1EH"9ZɼlE\&VVu ẠA:bT`,{]вT,Xƒ"q2(BY bE֜*]k. WEдIxOc15E^piB5cyXwÍ9 L +fƪ`f,ry4u*70WXI;< xd 1jވOq`XXÈh ;b>U,Vܳ *vȨ󪌄XWEcL Z% +endstream endobj 67 0 obj <>stream +-xd +X$k87dVeE *꿠jVpЂXcYz# F`,Ba]PP +xX^#CF  4`1 BY}^&: bQG P5A& 'f@(DxLKt( *XV D_Նƀb4!6VuD"ڈ&7iKK*`.py^5\&POo^d?/uX abN!ybP]ZPPx4] `I,0zߛ +:znnO[_č^D%AY,Q 0dи2Ch`c ¢&U@K\ xH# ێxz8A[@@2QT G- fFEC&7LݕiP\rƦxd $rb`GjSs =87 +MI M@aE`ɐN|Q@[@4x #h&ztukM00۝vCx!V~{,hiJP +F='gŕ(9aY)BYz"AI[,'`*7Š^W56#QP@`ӊ CSIP aNЀs tJ1 pH¤b##M eFAu^ +X+9h(HEGw+Ch@s92/0RgfqxG= j4EJ6P5^s4`?x=p/jOvUi, +81UtiE rE Yd똑#Qgx*pTnb@A&gx\u D +0Tuu ^Z"`h ԌgCH Z,,lU!'gxOf`F~!+^\X}0cZj"+Mx +QVm{łg>(Ѳ&4y d`t okv\ /U=:l!`A$aѐلBCJtH)f2sƜ#aHkfɷHBd=|kT>Y fF1ӽ19@] 5h0[ +ҍD:6^ZdWu&C&>  2+wA%|`yLl[g|=?[Ͳo@dd}&'EeP /lt햓sX϶(>M 2EӗaHyN:572LQZrB/o͟$!i spVMdC:ߡJ6?t<}g?ٵg= )nʈ}'YQ HvUh)&h9֩{a9-7-Y澓?5!S z%q;ϳMlYit92PgvAb(vyўCcO#xQ:le"TJv0Zic֔+qRN Ѣ/B2k+,ʦͰ__I[zz#*89:7K2Ӊ[9'v+Jr)*Y:Ō 19w<}m3Ӝz^8I{&O`c{?Њ͵o<1OܚOtۀ+q"fkаk<z-OpOJNwF/Ԃ +Y{Qshd*C/ζٷކ)l S- ,紮^BF-P#4t:>iљꍑȷ?Mbw6'~LДm{tSFcH(e, %Kƻ@(f<e` hEO l>V\t3=< +(#?t@O-sSŠv|uߗp$CP! w7>1 [Mtg9 :g"r[99 9cJ$Nz0M.<02J&q?#gs 3A~2U9ny 'D +R.zl",a[>ډCN`9CdNBMO9ƒ*#8׬=CQxcx:bZjCڍNT?atؗ%[*?t2@ҦnӉO0Ayt}Ο9q_{mf؎:ph]x 5][J X{'*k$_}w%Loe&t'v1ʣ@<$Z!p600#DQyvPb!ߋLTs1T4P˚^ ՘*6pJ6{=0~.,Yv9YySW!8pY.gv9'^.D~k/_VMvIJ5wىC.ElV6W& Wxg[H~y`b$fLkq s@hVLփOr{oU߱/;UZ^W'.K%u?sO'JY6m^ڞ[~,AZ%QmQ eoԧǠ-0}5)u`!H }suyZl8s/cV@ξ vț?8PL]֭p.Ѣq; n}} TaUͽ9GvaSt( +V #f#t #BF>n)/se} /VFWGMl@'R+aB1ylG|畽oe4/ߝ<˛\3N9H- ;u| 1A/tH)F Sj|ֈ?EG^-A/OhğK:d.5فyb&;P9-FZ*cYy)'8FԜU˧|3ߟ]@0@EW sO>\EBGMP +q_b%mZ4c@9= vqKNjD 4[nsx"͏I3^d)E}HČ/=ɍC"R"Y`@ִ{SDzʗsh+@_$Ӏl1@TS|zq5f|m t{THhq>:g?鋀73h&!:gyz@*'hCǞdIL #W$zNA#2ѤKDD&Pj]V=%&=m/ &CsW2fU>dV,wb)J"Znj94{\Y7}?('| /+wvwB@G׋S<00*J#R-dCW"-nSRfS$b'Y9scD̊A͝=7mD7"@W pBTC75hThITvQT!勸(F_]bmI +ujKՏHP&[_炡j<*9ղ8Ml5c?O~U;EX~7?`G=Uon9H92̸Cdm4!Gd^-e>`C)7Tb\H-ft^K,#+%Mvka.Xroηł2ygcUp.iCJda梩|b (=o)v¯/8vf+ZT#(x9k'M% ` hDL +/M#<0gPГoG +;B.*|W *ge x7V,~!v|uohox7鯄'?A??ccu&( >=_rz_^+'_f#?^c?f#?^M4e5#Idh!obq!:K{kC&4΅# 9G4q d<6p*}<a`3^!.eJ@Ȩ-rg1E_nòɳ cM& FRań}8K"4mqRE# ZC'xTZ]QwuyWn O3B yD#AmNx@Qg|?} e˷W{D {PճY@CQ-+s;#IGaʕI +-~Լabx=2~A4%遳<Z*iDsO7DǐFUVevYZPuiWs^F"rb'M릠fO]3"C7\>b +"? EĠP)c,D?Wq ׽ն0h;aM8I.ն=_vyu2#=Xpݟ`DZfb_9fPSxhWd +wiCH;݁ai75ncD_FrNh4*0qQ~C3e'z:7vq'&bbMl ~K_>_w6DπY40V_e_w"Ҡ qg1 +D+$v.ᓷ`8蚐Y=̝P%5νɒ +O5H_F8I&w:3?oem2]X'lC`|t_]lbuGGn@OrБtv6LlG&RG\ AOG!> fnRɂ ./8'N>TgR6`" ^M` ]Ą"{n<().,{z%&=Ѽ3φ+Qt2iCa !3>;}%1pO2>Œ{9ky_gI\&RA5t^9z#*$5H og20 Ӡ}~x"Q{hO#P8`À + *xE v4BY' -$bb׮0H!xŖY>۠!Ţ [*33JLsQul졓r5dž +EYjˉ`qEt +ˉtjRĐK Lb9/'Zv*hS=I+K^iB΄'m_$IU{.)I.OQRpSHN&O,p՚hTp%jy*lditw AwGɋ̨5wbC>蜱9;_|Ryt.C A<2k`&B"iXW mk-cW~}NJtyV2H'HWwDt $0a&R? Fy xBz5-';G]C. +3Oܸ +WC8y]|m$Rs+DAY#ac.S5yYGƗŰK\³YSOÖ^HvkAՃ<1n=6DdVI}Pc]{UWA껣Bz{2X<^ ڎ Uv&نL %7#{mkQ!bCETB[pZJ4HOA}G9 -!LOЭZۤb +r'JYr8{ r7\# "CЫo PǸ_"| )^-Z`PY}oA.~NC]JтxE%q*g,Q>Bp$pt6EoLvWl E, h,*1}Oߣ?-jx3>LV|w|pg[h`~#&G +І%7v>x[ȑ81G]VY@.2>$yM!\q8Q &e,/Lc1z{ϡ-;" d~ q:)g2u>$3L^?3ֳCݐ[RGDZg|m;U`0KLkx,ȢNs~ۨA)GGP`VxdVd}^<4GMσ%{ļ&劘 4` +fq%b8%U\s(>`q0R<9 !:sL̔;B<0diF49V: fU|b.pżLhw،r]ෛ3| <\i` +f1Ǥ1xxG5&kI_3Ab˾+h9Cf]<&&~̤yJ<2$Tvu{s:y`N ܙ08Pg{{+OzM)À)*'cm0Y3 >}:A6`'YOM,dXsB"ā7gWgBx{#FI$Ho{}x[6sk O2~y1S)dxŹb+'/pA),wӶXiƸ,fx2-{U('}Gd]!@‡؂lGiZ/ѵ,,W@]0v ?(*W3?]AO؟{T毎@aemOzcG%yi?B[Nz43L<W9 1΃+|fHp(M. 100,߸DvmG=,$)|s(_Pz}t:{& rfpK}nZyrk ql~u=5 W\sQؗp)DtoW_@ٵQKG=Uf28gy^LhtǼP@?tE*mQ)5 F9_9jRXp"l GO1򘧲ENֺL XX8rB c~S2ڕvw ]J,LdO(9;_$ggq Y5tքZc^XҢձߤF??gG*Skdӥ@en關͇m2~Yq<vQ25 +70b}h2N-wBG FoIһA-gYVۮt\-+&NL̂DuFȓwMʼ9 28un0$NX2ax$kB#ˏd^RV~ŤMl"saU2E)] OB'kte'᜷4is>2[!ov_&S1/21<%Fo>K}yԙDI7F)l4]*=B8Jy@i4ŝUϬcz|$Yx}0y Bgy3}žZaDw*#M`_߾ rϕ_eVjlX=r +EV"Eq Av +辁\hjuدj +p* B^a H8]*5;ś҄ݢ}:ah?i=!̂{EU%u{f:B0 ~2z.¾W^H/|914,ac$"",m^"⮃T#GԋI俽trg ++q`if"ŰM8 +clkEeK)>9Co0d_TD( P<{g8/xTuXM%R2zhAYR+6a`IѰz3goe785@mƔi@YGgCsQOzRirV3hyDVPNĉ >[BY}e_{AϤƀs ;aa0=)8SU=))AneƄ"kpCíTYXCM^0/iN4Doh3wH3^#?ۦm4/F9&.Z5|o9.)?uooVG~qY"7Iت Ո}A$9ARi}-n=\ObU "aC%zMbҨNу;tIo GAbt`<|reMGc@]D =H1<=c{Qde \4Ws1\y)S#Oc r@bFZH +HcrR(f1?0>!7zjťV駦T~XgVNu:ƐEv> kѹn#zmhu};ǀbTbܞ/4\"! Vnܾ`}7Alwlѫ v=O6z#gN*A#&7Fѳq þѨg48a'ڠR= s:)򹡚5)Ieh0K  {E^رrHd!MV _dBArVH=5 R +f,@$DՃv!nO"z=S4eO$Eo&okh9M[#fORjdJdB0/1+T ,g"PRFdՋk F`"loX\@E0窑6SK\W-p[VwO B+ĩ?s뜾m-\;XY[@$uGJ |*)}5"Es 9,tf839m2BoU,zjMity7837c1m P C<3OnרPax[y9 Su?ÛP<.'̷Vgn0[zKʤgvo-%WB,,B%ɸ]! +We֜/ߎGcƀa`qbԈ/r]p (ߜ_<Μf[PSٝ=m W- 3dЉ鱌GtEiwFǙN#, !"\qb"a/dX)#h PםdO 3t'!-"l<FIYw?8c"Qlmy⣸­V(/)ed'{0DgͣEWM +جr_}I ]r*4;)S̘g7؊D⺤kfxw/q<36 >s&4:BTmr.2hL?j *y+<湯 .?q9U =뿐(XMv_R' Yě5S#1)t5PM{k&Y6wFBfMo@QބLC9E K)aT\?KhwZZ\Y{4N>9g{~ex/@Dxt|c"pسY+2Qbij`c&geIWN/H@X;xПʈCޯ0 +yy`4:$ءaC31C@ytߥkO̐w2Aڼ{VY͉YBwا"i@8 : l9XbfAx1}}~N9 FHykW5D8^6AMS)x*(pyRRߺ 2q +ENN]Ocg`F)!x5RͿ:TZ om>lu=v4hmL..GUm{+s"'װ*3o[$D4!1L +2 6 ^1C!c='Xw/Hi3*;t] yr {@E|)HKtC׊UO(<Ҭ>Ra>\(9R jڃ;NQ*=S` +{&a9kU'MO猣|aB2>W?3hKPoOn(Ta8dg?C[&퐗t#h99]BQuϋSxLdVwcYh IL+Inm*<܇~shnSQTp"W< {xQ8ROfsRm. E E!:cã t}%=:kn +z#†abzľGIf#dAya9>F^ +2[{u>~L"i}&qGHJ#]z<:JGdwHeџG|ɦgdMpƩgNԄ3z~2yܿ9ѿݽq5 v4l[\)QF3_6F[H.l2Ņиpn(+l7bջ8W0Ǒs_O"v?W+/])`5PE +dAPW4fO)MD,ƚ.z}@B%YgȤkwp~hc#񈟒W3FF9zbmyEpvzn2y&4?h.Vc= MRG]+d)G<r5y\2?^9.Cmpj%ntx?aokW?#+F3ΚaiP=rz-5Ҁ£'- 5\Ʃo+[C].cNX}WCAύ@xG{y`A%)mwt+GC>"ު鴓@Ko\|@+A%u'qӜE\n%wiWaHxy9F79Ʊr{f Z0u?7ϵ何x؃FA{#-A D,% Q㦠~My9FdS2E[xIבC)Պ-yVLuS]:a7GghfC0#Dy{yI<1( mAW -\ 1O-,A +.=6dC!OiPbIFv;}RN全@'9K{tdcO=z2>nZOw~S8fP 5RrU .'d,2Aq{E-P|eym19 5%>M9ui6p{OҦHRipa{0*OΌǒ;E9SYؿ-߿R˿Ѹ~Esu. +J&;zNݪaB~ I96zlg'kI{_Eo9?CG$sTWPS,r2N{`Qflf&Kp%h;',:! +D s'4D/Ng=C[^1[n{62K/fmkꢆ8u'=A${#(gdS{ۃp 9"Z_mU|j-ηPM1M! dMDGp)׻%9i8 {~9X-}Y.eg{$cv\OX?&޲8jbo~#Z4بc6vw׭z&䯛\H!~1DT0e.^[ +_^FuzCn +p 9)~b&Bb9Œln"$3S<\ +A>,U:.{9'L X&ofmLz,ۃ^籏A])]%I hP{$RU |S?"W̖}]h6#h,8f"9/[ +IU|N7TKL>FY?4*?kH9@UOAxz!Q @O+FQg9kBW  2jD9Ƽ k%n6>VHXa!욾qKBksz"19ubNYNxYI>.[sWB7ؿ29F.]c<·"$Bsz"'ݰT8\9)8aNS (mVS CT,e ƿvqND&132~' s!\{w#TN~Q,ˊ)TUb2[GU>MŀrCڥc4o:NwCdByٍ-Na@ +C45Lm |BuWXqA6mp}-%pjX1gO`f+" +EOaM'H>94$TxPPO)6|Ԩ\bzCq~nC$ +b|(>TZ y mʜ_U2t9ҔRKr=(P揷@_rGE K3xFnžqY! QkXf!"5SФc0mdR~=ɳ1lhwг^O$ +ubk%8+XQ+~Z1smzero3VS&@^8U5h KX a1S?WǀHsAئ<:T<ΩTY(93P=}jBV#+ +J<&j@xhDW `f 75EV |;H"Bh81DV<&;pl"r3`qK7~ @A,z [r0P0fxrw_o6ȼՋóRR}ݕy f52/\ k!c #ߊG>9b2#Ul6Q$~i0HA-߰aWc Х<8xþ ľ"uy%`h'1h4)#@KZq+ZY7vǙq2T o><v1l%! @䱳%1N&k%eUXa,q{̰&a΂0)EjN?uE"N\ewU݆zj+X7ǵzҁUNZfbahR菢2] -(40)5xLGD=Ŝ6!A@e?%P7C 8l|+^ɾ ˚:VF$旨swCouHz2ϳKBAWU]<{^1uM MDv2&bx#Tqb\by9rS\o|!5'פyH!%MJhaʃzq{pvy ˁJij-J›$5Ӿm~Q¡ywYrFxƶJ[o?g:iYG׃$#^6a-\ KU +_Wĸ/N=XXx} '5J<z*7Mɚ\]e@ +3dƝXqo̚Vue EH ++6=U}-z! #~Pј I8JKyJ>hEL7GB'_x3EwS` D"&my`G=^ -n!g0g8TN-<@<澾"ť&;NTY!}]E&'2y b&9Ym'#s6t/a1\5e8Xf$0`ޟxk4{jyCqof[` @O6NSb{"9Tg~ Agɦ?]UQ D"֠,(覂CoN2R5g1Eشok݁O9gN:ݢE@ 쒤Tk܅= Y)1M2~ ac`Mat5$3>YhDD <霯/f(>zF}bT3Tهq}#Q#YLDi4c %I$(]> +p%8fL:Fj1 +z\rFh{Q+ ?{@c9RVBK0c(𪣪ǭXՒxtջL@ *M#]idKmac]hرBS@y99hb$-ݱg:D (*殈g:-`<}'9_ҴE+}xy$y 3uJ2=gx$c|FpQϨm9SC0鷎Jʊ8" dY$bϊjDgyC'Y ̛٫sǘƬp~gXT vϏ`.w/1ibH9CB7:S4R"T=N` p * SilPS\JJ:,`/M/`k.'-Ȉ]~śq ^$ٓ|xIREI>Jrd@>ӝ99s:pЗM1Gawt~<"p$dUȤ7e(UP!/4}aHQ.:#^R?ILXb44,џU* :@pza\'Fx݁?̨lY'Lq#l' +WIE/Bm[_TםBҊc"p ˚Q4Mdj(\w4C$ oUhdj}xnbrg[^ }J"ZVVc)X5E\aɀ*ҍ]B]W؋ +n>٫<Nt Rnvs]~ěb,:޹/YASoLWAm9Rn!^hbr̛K p.R?=`M'h#VaNi+SF/\'rHF!}q4 ĄG#&F`U5[D3wX<Ov&rOJN +I +PCKԚT=Ze(\!^DT")%\vuU=*=j Œ˗k!O0 ǒ EӺkwS$0|Yx o3LP;9,;w:/0wagCzAEF#~K +܌ +'"ϋ/PD*lN߱e զӜe|st-yQJۖ5^)FOQs[LWAՑ ЭW>y Lts]{(CcCfwAXF`֑}a& 4S|fܼ,*`hg<:+iI'ϔkjvcBAc, XV^ZMqSwADn"N{ +5G/6Et[Cj=g1\9?==4 mG$Kݡa{W!`]BSfc̻KwHk1c+x;s1LTp\@oRsc;Zq2D]M|"uv |EwWҥE^ҽex#R&GfEC;M*\(n0wc*8>A95H(~ *Ĺt52I8-,xt>X0咙ث_6{H~ٯLd8%+3A *9&iC]Cy7L1zEcp`wIP Kxg7t2=DR+|q cz#=;Ϧ:nNQZwe1Pi?3I0ͬuB2Ŭn +IϲQ!#yɤ!+PCpdMvSCeDPP*\`2q;+YebC կǻZS<ޱN$sa.l ov 5)({ +y1n6SEl1?LkWR{s=0oD s` +wM@qKFD'4,JMf ]A0Ôˢ\BBBAGnG;jlT\[`χ8 )9e]lпq"4g`aRoĖy~=ԗ$YE:.$Sᐼt.ɯPM#_p=Y`5%H}o..H`Hr7%v:c"a +LKQ5T!@U[`lpWz +frsobǏ!v\sdTcƬVSoW~W2}ui\(^)L_FmxU_?nA>xy0+7o&~o>EY}׫y/o7B"??~O?g?/O??/??o~叿AWU~'_~/ɟ^E9; &"7oI{"_tk^=޿_ZO+_ſ_ _ooߐ+q#3ոOl0 h@Y^/O2b1O1V%z. G j3P% +#fZ8c#1a_0D$R7a,O+&`;.Yxhb +T5ja`FVNG~h9]_]Q7FpT&ͥQS]oo.4LA*N0䬭<%˔\?Xz*YyRE]< ʜ#1 ι]&+gкcLiw٬pK،[FUX]af^ ʂw.Ax?( ({smS~dIj#Id}Nَ 450S4GPa}DEFb*ZoM5{ +A*Ebx%' 5 ]{s؄$.9B*dC+e)/*xvkhJ d;#-^}MyG]$ry.LMjk0xB +)Ţ y $꒓TSK R'!mL56{ɩ%צFtNo,R"Ug4LfՁ e^_兦`ɿEI&O4KlGE:u`-O 0J|"8b'_!r,V MӥCiuJ~0O 25i+mjkPWYMͭ6k[)ϸd\)N_NI;^o/t~۫t R +9921E+;\Eˢ)\1tZ@sz4vfӱ^Rwwg2Bj;?, +KTPo*1<plW!" d;!m_1wQ%~HQ +薠-pO2c;\ 'ϖO4OXuɔSFf-OL51pS,?5ВFfQd#k詩~ 9u59:e7_r~.рE0wMNʠd%')3/.ܶK~h,M +%ɊZdlO.hN>πa9¶ +02/ `aLߋvxU^.`BwT$mHVXc\\rsB*j#[V'Q:OuNsؚ HˌK! oa.մZ_pI6$01{.!۹K$m]BNʉ r0PI^л*>>8'lK!Y JywGa43廊lڮvv~Tg3$n} d `c,3hS/a__fdkx20Eb +Audɒ6.0(V纾 +4 ǟY"K6)b)N"g%Hp(TLdv"viAD2qE6Jlp^M+zKl )e{BȧI6@"i?!\) 1Ln8o~3w`E{RFƲ'8_Df` 0:PT϶bWł"rٖ=>(4yb@ ^-ag~$LM58z!8 ќ}m ܬ\`4#< +{H9?,!Hm87f b|{V?J7@2-&Mv3y*;S='L2# ԝ +6_,,uc"!eC(QqMj\\6/&=[=M]e~\G(%Y%Qrq_С^LÏcjyJt(OKeφǸwo"Cx)>^fGGcD84b^.ё_4*Fpel05l@,0c]VWl~1{2e]{m ㆊ~Mfwd\% xޢO+e_xZpCh$[0XSr ;BS*q1rg,J? 8^v9]25wfky6K9A*|OnK cp6?jqzzWppI2 Z<f8DbrXi ^yODm;'tM`0$}sc!".A^b".M3"ڝsL'_6L F9g"^>%\T8ǑQIukK0S$nP?FB2sI: !S&)%kGK2x.Moչ{NDY +e & pM3tJ7y̹h&~ +6Vp} F~&#m#-=@rF-PRb3ΐbjr|Gp <1?d`@AELNUƒI 5B fK.o*HGr}6d z)-VlK)ľ k"saP(?7 fL*;6t`Hǖ5 U.FV4%vH3X*=hh{v{Ep"hun/Hj]xӹ hP!uVK$u^61DKpJU$y- 1 {U# X} 6._hANvVTN`M]SFpŇTU2#y%;]BCu*M3Mc@d^EW xvm[ݯ:+ !Zma5s~T%?݀\8Bj 62&6rzi| |uAep>7ˏt#߈))Wi83&R{ F-N`JvSgYVHctLiY08D%.Ň_Bs$bh'IfEv(zqb>q[mdD\fլ.Xʟ}Z&}E ѡMWX"@A/-E.۫u"E* Ay6>)Clb=W)d< 9+Or *v](Y~6vISưW0^GpsVYձMs%u +#NߖFZŌ 8)}}+:ӷ`5ѣx gA[4,Ppjfg.z<@'mcg47\Z$'wXX~Q mq]hв/#l*59'`s㗛!...C]N`yn0}ȷKTB/M!ԦjD $z6;%=kzd1J^͕ {ToUZݠj4xvpE0&j*;Z gӏg^lsƜRЯ+׺Suў6`*oC@Lm+|47߸{waEG$v_(/???3I%-yZ\ER1b _ISk-F p)4Hy>vw1Uiy + %Ks$䒗uʂ>x~/3K19Pwoy{_ WV h(ð ItӦ(CwV|+2ka5ـZ:SrE|UF"*'1d2+h/x+ 4ؿMen}c7 ^3-cr<# Ct)Z, u}5 &z݊d7 +_U`n=Tْ@4ȥ%5?#,HmǡX+Z"*j@6xB*4ͯVhV^$>Bb#)7H?މ uaWEÂRy%/ !FC_ ~h6)"īJIeVA' ?S0#aR6#Kmaȸg 6okUHޮ"'jgUIoo_+(fÉef>d-E2$xH^VO.veJgrN~I vD"I×^铂XC#" z@AťCsěg_ +@a=6@?Ǥ*m=mo/~.˲6jqsթ t8D=wO߰G`8uEd/_/[;?ǴW>{Ag^oŇoGoP }o?ocG?o?7dP.̟_~?ן}?/~׿^u/zџծ?׿O?~7o?u*L) b+ՊsӷoSUU_+VzXMk^%-CRQne5%!:_e! x5B8?MPx1v_?v i~DvGשod,Idȫeίt E>OBhbU涮+a i$*s-CsOAZ4CH+trm_w$'>z88RHDSWOx!Gb9ؗ`GpbKNdgO@->ȝCT_Zg2뻀M 6@vO*:}&MUVSP<0Ԃ-1s; mn};F3?Íl n$@ݿHw9n,HWԞ 'JN9av bWI}/32lURDW a@b+y9r Jqx(">RsF覿!0˂YPbl+Hm*Nv"f}ԁ,ؽɂ_p7_f7Ǝh]Hxa´DFVڇz]k."ڕͶ- +x:')^ʟ4 CFذNwyW8*he&'>$;8қ~Ě^OIb 0ȢP!9K z61ey..ςHH|6-M{҆AuA9(*_1fAKsvrE\w &7ш3&t*e4SSݕ6羫x@Mmۗ\hPscuO[c /US >~g _1\eG+:>Ytޚc?MK!KCo·@x+.Ln ;n87p~Y]f0ZdnP/~:qrۦ,u8wHPU= +".ӐiѯRWÅ3ۄ> !OfN JV'3nmsq\(xh!NHNj2aBLRΒb`H؅Wͫ)v%Y:)7nE0)8LXqB>f#O gWmR\k$@建`_9b!JkqReDaYBt_ b0*{;]aDnWXa M*Oa0K$sb]Ib2n~~_;&! Mpdq,#>L0, c zk{,Z#PIi+}9(/<7ʇ,rr#f Q*vkgnzU9#0bҫҽk2[1F T16X2M L jO ٤@_v2șk| r]Yeă:yϮQۢ++[lsbw+t쫍b!X=mX +c(),N:6r%Pq-C0PN~-@Fjk]K!VqV(PΧ^/ץq!5^2 sƹ ,Q03Ri'` ?g25{x*97:6_u:."*{n~Egs80ܗ'arU:mQ+#k~.uDѶa푣(Xsf(gelFRrN8z&4ȗ.8FDL$ Yqa;ZU=@y?䷼0;$LIOr@W=9v:'!!) v s>QX,SbųUr4sq+o RG<~r% B|,.b0f5Y`Ӹ3hN0^ 犼9e!sA9ډ H㪂wPQ⷇e\B9HB*j;K{$%gb-@*C +7ΝekMmT8P MocxT+F-WO2X:]5 4!~UX$]U.dhr w H/r/1kI<@G. /n3[u!c~}b;oXim跜 'I `tm} 8~'4Ud(L-F೷E!19%hG0 !ǰt~`9Bz{k"k ɔX2'UA"#x(|B9؈PE˟M٨/7_ +dHS D,|{%uk̎#6”YN0_"+ZjTA4r/]fPٝ +\]M>SvV{6e+oVRpkavpșUٻhg-w +6H7ӟccGw w9lr*pԉIhlJp_߻z[< )kBKuON1o1皾a8֢CX]`0xxf?~ qJIw9:bYG~PLB ъdg/ h$L+(u&ZÈ /E+a&wPdYi1g^˴K}yǔ3ʛ XFIJÕ)V?7n`*0Lw9LNm+ %]h w/gy8UP:;z gL\68XGu_az =)jY6ctuE%/;MrcӒXWFH;HPqz<3;1NOEa|,Y@3+tO/";SvouyHYp1mǩ*>PNLea򂹎Ԣތ/l}#pu1ޙFc淟cA9@İlsܬ}|›o%*#8x?0'X/V\Mrܡ3V;qz(9E!gcr' AY֝ r<;z} l3E$ೇ4Ȼ<ۻ $Re9h `V v;[7M(:]cY0֙Rfyr{ۺMkˠ|q~,S\-G&KfNHy>Ƕ}-ǎ;brGNɠ#:Gyj8|S+j^ ⱋmA@75O4tE(/U 噹9YIi> bk-tQ)N +%vՐΙkʣz +#-|pq6,S(Sx2B4=t#2)?3hn[bNc"y73yq+4~˖/$ h*!NO2 qSCQ O|x@=bh )f9 oQ4dO!:,k)uC!gHUO񊙭djCMSGh4wuɣWuo{l7W+˼f@C#Njsnz/.yqة"Z +̛`A^ܻ:ZzL fx:~N!P }hn~ + Z$>AmLWhwy&$bMIka}0o2vkx$I:7 +U0Du4+>h-gmFhk\K՚V*,ݛmNۈ/D2g_yl+i *~?;Z1-: 5K[uHMc1%fJ|@$8/C~Kgɴ RtS*3}Ə EPS䫞%quHO[y`\6,[gK' \U.\E*ٚ k_$hg> ao#6b^hfvY{4F -sd8EgƹwH%1^4B1#JB"薏THyP[SY5[ިg<~O%$4Oc;]M+R{lF\U64gڷa=!/ЏEOj) |{],S0+Fr?EHKSfA|4/ YQ(aVH٫A<"8]CURa}81+T&9178%ƀAeZ6-OgϢ|_Wry֓1S^1wLd@Jo3w9e +n7GY{cϑe%ƒz)o\eaI2*vm }M%~qɃ{Ʋ|j\TiA +\č%֛&Ľa|#Pdv6^eQI}JSCBa^Rp4ݐo(IA5i֒x%M&I3( [ƶ*m_qHI܌Fw!T?>C |bS,ۡ*~]}f?rD '%BGL +Ȃ'm@bGZ9`6Y15|lKЋBW)pF 袎o/Y~eaV~I +Ȯ3?-d D]k|`8X'xZ &c ~JF!*d{Д(0}h9? yЎk +Kz"*. vDp K9k\ϴHy=KaH;\No,juB:X~b,H += УWi^5 }Ѡz\52bfH U>[p5~ +" /YYbRmѭ|y\"Cа}u֭Y~i, ~ډv(B+ㅔa!9]=YcblD=ٻ$ $(ޑ΅Fv L}t$t:9|$׎N5YzN &]P ^zԱѵc_) +Gҷ_Mܸ[\R{n9$&?>GǁAk{ELX&<1uc<D +Hdv&5L~}]5*L7ރR!_VqE@ +QG+ny}P<(,]qN9sq"cxo~)6|~zLZBJfXF7bT]k;-靳p)32zo]Z_Qb(PrN>)<`ZFI0$5,"и T–!`̚ycLƓa a}Ex<,hVQ^^pp9)-6P0p]))عӨ)ifrP(vv^ey{50PSLLTFg6D#9a{)QϺ*^5I'/(L#B^)/ᴝйKY-P_ԓVpzYrp0?~ >z]c\u]:GHzN[4 zշ򺬨a~CuIe#d=WJ0!U>ǿiz̶̨0QޓM( #W'\=6<ȄoKJ@<cȆ.^V}M߰]jxS<°*R5x^aEd9l;/gnϐuyryv>2| ՓT jҪ.f>g `l@S.A `^c<Ls3 E\ܱ$$ei}/}i`wGQ{@C`t yB/G$թ%|WCAegf^e=Sn95ϵ<8mM1O #͎-h3&JnMRccd=ᎊΘq?!,,4 ec΃ywn ݊@1{"T+L&v˒;cYT}\[i\09nH.D|m{r{@SN?@/,ٱ=RD$u ߊ0,j)=^>3ltO=[E*.19_}:N]0,qX<}/Vw%=j3.%!QWAd~u}' -oha= +&l{d}ܗ=نzTr~ƨ!?4j?I־/7!cd /د 3881")ϋ&BLo]ț*9.fǖJ QX^g9=_ё дJٚ+?ۭ)^C,t𩊑577E$ٟpYFkGm)@u˾żн $pxىq Pkkv_}2M"/z5>\'LS18gpɿ\5bHup/Z$'Yߪ ~џ{Ҧ<-Pt6ΗUei%#Ul +XԣMx1:{>{Wy1ٓ!WȔ.wsb8FH>PoOG˳;I}hs}g ++W =a|5C)d=DL3]l/E~aza:KCQَER$9)?Ts%H?6p;ԽpU;Wjp% +浧_OG+\(z5p&S4vSŃu= +zX 4hwG,H`^.sדt3))%x롈X$<ǛII=rLlœH {aҎٰ~(\f+2ם$ 4 ={'<Ύ~WY.DAHsY9$@"-q@k;eP#\NjoݩJ~uy NhP n}ԜI)B -_v}+%1X= ) +^p%HZz[t#)4EqJ_:_ P]č"Y{zDZЪc e,]ΓZ/f=ro{#9(F`۔պ )}g]GRbA:&1ps0ktQgL,yOPb6m[e8yWMF#gƔ/lȬ[:rlOjfti]ct_F_,l|CpԴYXuCp=O"z|ykudCAh4eL= xiGEx Xhʬc P&m{&wQMĖra?QK`Q~N>+XRx4A hwI&ۥ]cA6ܬIʀ>&tJGO{ _ tq*?'S}Qh7|D3pG6kzG#DjEK{_x<ШOI]ɨ`:6M1vѩph}Opr;|ָL0DMeod;)hǾvGtMhÒ r鉾CFAL1{h uQ[ qlD(*'+ߥK|0ak:B d={LQ.s oCM*2oȧ8\m1U=4vuI\,sTnc^d$|0M{(`}Z{  zq2b :0<p +8 0?%VSee¼#槼yx +s 57.(Y=dPc |gV ݘUc^-{Qk>s*TA̙эTI>y;Jf?yW2G* t:{eLp7i  +vHXiXx09hAlL yT<bʲ?1/'xgj;ۂMY]?KĿ):/Rz,Q!-l/#{BbcZU'5[SȰM-R*p'iw=u]PRYzRQXeۋgy;SɳT@>1I^@kj&RO"qeȤv$ .3g[uk}J3 v$~ӈng>BdS};K:=π&i+˘/ J#9~m.Z#94Y)lA:Qwx'*K6g Ŷ9"v砇?x6Ǣe;/2wj0NSpϋG-iW @z~ Ov5iƵ^gxAX_<;}WSD1jҔ 1 +dKQO/ȥQ9TS,[ZnnYǘHf-׏R0bqA #0DN#̌9%:p[6M>0;MxWnSಗ1: |qUP{`S /X%;pOg 1&T S>L/pOx<"ڗU쌑- 4)q?w;Hc)޸^DQ/~Ȍߛۯ@H2& +]_e~K/NvŃń|ZS`Y. .K;Us'Ii&' 1 { w1jncDLĹ.hЪW:8_V'i[!뷭6 dR GR:F9 _qŗHUZ.Kx.+aRb[;T) +#\=gOAMێS/C&ER7n#cxl{ءB=GB*S>m4䱓'nNܭWU|0S%AFpi,Mv+1Dݍwz(5/-@AQ?JVO@JxCT ,]/  &w?0>@*3(qEH̛s#dT bT&AI<)@3o{gPO%[o1/KriJ)5Ri&.Mq/IPa4(R+p@Y;҂ꠈ>LnPI/vx[Юyx4P5ed~lޗUr_yŸR66 wHc-4Z!Qg~5~v(fb9p)c%>} Ϫ.ѭVt([!u(cf׀ʏźnyĮAK l3|6" +c"k( j/;%}X`kFDZxP׵'1~CϑlÔ/-1]!ІXbNLȭ/oj >BO֥qGv=14h3$ 1ߕLHm˫n"#!8ܿ\,6{!(k-DŤd(\)`6ʸ>7?'`/>;xaZ*Y8qbVm k>/D1M +[{&LY V)G'mQYg&r^}]+.P?oIi q\*OMniý1&^7qMPq]\W^x%MEyL4bKp{~/5rtyֹ 1%=^KÁֳU &vl->mx KCE'A;"`|Yoxcr_po:(eCʾ 5b5nGikYtT4l[冷/Aθ^W|,J = <0Y2!6۹qF.ͧtM҈ J CH"7L.0j0]I%rgM~<`SExPºǍ(D皞l3Xwmmo +L|mAa+l Ə3 7N7_Ǩf̒! &uɣ Q!@d z[E1Dia㄀gy<Rرa2 ^/eq37>-'4'Y,BB ~_U$x%_];؃[LkbP'eFĘP}{g!݁YO0~q >vmrxAe'[]0Q..E/d~ꁻ~#R'Ox۶_ރT1{[z&RɆtY.X9!|S0 +;T/ǛOX"]Ol!#e@ՇYd9?4FBhrXW-/y*}&04+Tոu@0<*4]$.//}ܕ^}t*cy0_MwϻLWOvnZVKϠ̄g,:Ԋyg_1W;|d og + +Q{ɴ@rkxiچV0gM%;/mvFpW1m g5VAG'Ȩdvy4:Lɵmi|!ʪӯ@M"#r I]k!fݤc)^<jlk,-=?֎sbU}Wo )N''v;Jqe(m +H7l=4z$8b;Ƌb-P%#S@?փjN!\˽z48zLHf-9?V#`Zm¥7>3W8W0_ D ehKjA9p|ZDѩ/MB+rPY;[ֆ>f7 bI jظTPWc%'rT9ʹZ> + +r')ƽ=yE}X{#+wJ4d݆ Euy_8r<_mma8 &p:JuԮ3b+UyEhs'n |>Dl'u LW.;_|@>_ \xUW&&:.z]/99Y+Zߓby2}PR;-|2nH\'A䌍ŏ ?+r,{"Sp:A'n fF+ӸW:%LFch9Fww:Rѳe.ls|5W¡y~ ttO4͠:mutSe޵{,ag.ah)0OJQ4( z$L/ŀ +m7 1O9, \Ŕ|Svy`AfWH(}I@ ~/%M݄qLXLpbq2(`")xhN0rF,'?O H|["u2M$>u.ihEĕđ2q\>/O~/ +D!KP;w?AZ6l~cݬLt&S Q6oJ){~Fq%?( o)i$j*A_&u!oqtD.ϠYYx9h}N:9)vsa ~~Y}-FI(:qS/^Z*հq5i$_Sߣ4~Yڎr]pI7})W:=ܼO&])]`K͢#!y-NW7Pnz!/ؓG+?+=9F?D,}u_N$,mT`N,?z:;ҔDFVjӖ<xpX$CW̳fhlܺǸx_njC3cCv{0*Ev܁y]Ëx!U.UvŘ*_K&t%ԙlf*'*NoS&=ʏ֬L;zSK*Bw9ucq ,N&2fLmJ*M(|Gs,`)F:q.z ;/dS.UUJb"\Ѯxp' iUSE+WJ2^Ab8Wy⮹ RN"PbiV>Or5}D&@DΞӼޜ1qJSC+={ib8>fw=V ۷oi,!GAX +-ogߕl֎'^Kw$,޶xe\Qq3Y +SRv#nf'|MԙӇwPC@"tQQ95$ +KJMe wN9}>_vV/'ܡLף52nƔO lX{wMKdørq-pTWH;&`Á6c`wv  "qrU0pO0ByQyHOEx u+V`Y sH-J05LBTx`νNpb5+C9~vؼ1<.t͸SXEJ|vYpalĴqR "lnt%KR*JR _)C[.a㪲||9y\nIpUjlrGn?8ZYKfFg À~"ꐥVq1Ôf}Q92޽C-yL\Xt.pM˷œJ~tsm1}|C^UCqHѹN~1)f"TMYY(=!V*m\y/4 +Y Ӫ:|Xr5bh-<l'j0j8iptsʝ#JE-fe0G;ד}!nmH{3yo̚ +6<;\tܧ˸_IBcId&lZd ׯٕI:O3G"4ᵚ%չNSa ¸Oz%uxMe_ +BuH|U,G4ᐂa,vǒyqGopʶYd/]s| Vj8M rwcѠ6q_D;;[k}£&pm8 J,{IQΙ~Қ}LWPqb5Ŋ쮥/sSW'hOO,;j_qh_>L}Eۨ'& +U-rQ6Y$JvgdgRIwK7o2!;v:׶3xe2'29>~ =5늩-#m/&ǾagŠ9>@7)m;,?=ݮǹEQ!:9Qe閕g };}cB gN㹌!8x_ڔMR&@L{<.Ha)VP]̓c^뭊 \R xG#Z:(Y+aNPAB +N/;yE}=Du 1HqI8':/ +"dC{MEQ,,?']?GQ˾~BcCh| *)VqP8Ok>G Gs嶌m΂Kao`CU%i>u)hNx>Φ(<ڷͥ&"p _\l4dyӊVrt._lV3Ntυ"/|( +KLثm@3O#BTgǹƌo/M\r-go7<t1+RF"/X9u.CŅfJb zeRaijy,M;0L~D9'3 @mUn a/"9kr$I8ԭР'A&ohk hĦ& ëx}7I%S*[*TȾr#ZIP(Kvr) eӝE +G N^D&@ x +Y16[K'A\pB;^'V |Jk.v`bWG02rQ8pPF=Ycv/%ʺ+fwOQ=ֆ2Sqv[¾zFZBj4񖒄m;uͷg=!ujO_ܾӔ雾*|%W~8eS_i ىNcCo[, "&lc$y Q7~vOt Yò/_p NAe^NjWauG'u)8{QaA=<!OB}#.Dhk5?S?ϷBD<7E} Nz.owطe0=xfWU4z=h'L +b[n;eKF}VcL,E^^.#du2PA JAƠ'џs3e4z0/SEƘW˞ln,^6'es84bOw=qh>R+B2OʜK\xZT|;fA8T{{1n ƩxFvabN3nQHQܝK!3^\ðòK7<ێÐOZ&vNwOȼ[$3Pݛ u_4ϱ1Sv}AOp'qR᳷Zeb|ȿ>JgqN2a7L' ZUT~$5=+{$1U`k`]nͦoA뀞0 ;"2ϑtUyPNK(EC^" +iB%-%DW#= I+LEgj=03qF>kG}P`nA; &>%PI[J[}N| +WLmWA]Ƴ,,o_ i+yE=Di(`GCoJ@\TqdPIq%49  qa"m>!3 |l7n"Ԗ,c" +aU0š_g_PAA'#~j3bwaxPq z PWnwT|_rvJ`,P7]Yhi(C7-}:uq-]wtTLd9vUU@{_TV P':sK b˰OH`AxCmƈI+zx(=s/>˚}6POɨ@B;C[*}nb,Iy21·YuL%]+0tbyQCe d =+XŮVu۠W:_A1詯'2XbN%\<&Udۛ Jf#̪:?=|vZWŖ$#C">K2uDJJl}ID2sA_~n왙~TI=iōpճBVI;A}?׃K,~M9R=]@.Pߗs_~)~HvMDrۓJ zV>s儙p8&ԣ>v+<ؤ>Ǡ +kSpw@v& \0ޭ>|nֳj;FQ35KSۃ:M6/ ?|=&2'(c͚Xc9r $FD49:/N࠵ u۷lyȗkbg}P·;{o^z|PBdPPq[9gW2$x?xnkyv^n{==g }{}>g+I=q},1 M +#+R~ `j8}}Γ-I4 < +e܁~5O[bW@m +_D2 :SLf$A= +R4NFxjzX+ФK] <muò:Lj"ZymA"=M95en^IB)jDM\(\@!+n^FQe[XG7؂[,y 2OX#"|XfLdi L OC97O]K'|exg1xA<жq_'szKmZr8>eI@~gZ8j/ʛ#U)w]ѻ!5%,)la]KK"5g`~snZ5#itI$Q "Q@XI2q QEC$'YI򬭔%4OŹoXI>_&!(wPkg[J$('am3W 0(Q#3mѠkGdx`l)cңe+Di)0gjxXI%'zϧK{seP)75<]?D=nmu&QOфgl/23.к }ybNzߦ2%[QAyFMrA:P5WR%eQ8g@tA=q i(P65vcev4ŝn*.!<1=Z& +y-P wV8Q_&VF^ma?Ĺsύba)+?};LC7H^f袦a_YxqVymzu}0z`J3hnS$3 + +UΎ)v` uI_+dNXH'!4Qz/LzRazxle=+=DA=JjNv!c/C-"ѪNUqF9Rg/`?/3).E+9#'Ro-^\RrJs kR~q Q@k1= d$;)ы0O=CN|M : m=:؋~j{hTI.x}(0DLl2PK +#힦Ah"FԆx,E)@lqHy@Op2O" ~Kpx.8I2 ++oԓ @^X?, g+ AgJctNtxJ5>Th_CJㇺʻ* +͑V%9vG#[rp_\4ݟ`0a= K v~Pz8(0{9?_<><6ގ @(qo'"> +zTq 9)3h!DXɚ ?nvL+=v8@"wt`aYtua#u,hXuJ6j{Cm*>MQ"" -ڼC22rz % صgwy`С#ߓHUlwrB;Kf"{י㨴0ǂ,ONoc|`~BZ_2V"!CS4yWr9%0@zYɻSx80D +ȗ-0 &]鐡m!r8:LpM*y{ j?:TY!VK␽D:1>~ݿyiB` qzNU) D MKfZ0uU.xAJX1f ɽ<Ȱz:dnsGĎhA~[`1=dܷx?{ZUm@VD/Hh${~츛)#y0Oah?7CzP,UgEEYk9G_ZoG&ӡ1pc2z!Go*JTP:j}0}a_.Wd1_t#F kK5Xֽ]1HHC~< c> ѫsiыl8=l JQ]A{ "<~_l ^E οm$=vz[=h~9kКکУ5GOqad@ΰ> :nYLc0w* `""ϜO:=_H4H`"G~|4%Xqy:v%{95ؙ96'w;'^NBѲ`/+GK @P' FY f^yg®Dl |=,*WÎz@zir*dn5Sj 9uanP|qQo[0UOꙉl=gZ뮯g2> ˔Cأ֤xyIX%IQ Km 瑁B t_h]jX>O0EϿָbMth=yԦc5;( +&=Z; 0 b=r +'3D@ +| IvX4hJX} ~xNt\5vM{O2fP<'k?-MQ7 +KYKn5 +1\16=sv_MBGAe2vc2N8Ɗ}h+I];)+g~$bDH"U;66Aغ@fG)=AUE/z򐺻UQX{@=Uٴ~&X~@Rg'9I1._iCråZ,*tiPeO<.H/yԅ# .~)-0=nL" ژYK-B4m?].;)qIHqzqazq껜)?\5;P='mKuvL 3+{zhDHhBI?`q-M5~ 89Qvx8JC+= eԜF3hS~GBt*n ge\8[H|0o_YbJ(fw>oI%fGbDL2Uj5Jad=`BB#<-j$ +]wEWz,aBJe1%o̽]w [XY;'o`$` iHJI&#䧎Ud("ԃt4'8n0Jދ&Þ,";~==}Wx©aEBa&-3O*`ϯܚtnG#ѕaದԇgIrՂQRT^׭U/8f*Gm 3P=;xf%r#1= \#kܮąiʖs՘x +{!e%2s {`yGcp0'eXYO1iۡ[7`0 |u3v6`jJ?###IZI~󶤬`cއ]ZOvy೩h|b|20w;8 ~a<_~{C\ +endstream endobj 68 0 obj <>stream +j(B A.sbz?;f 3%ܳsCa*!pq:אE>]z(zfe ˾P/&֮Ah/M0LѨ8E,Ժ// ytϽNuHJg4G+p-{W^[v if%Cs҇CzPlt2\'Fg;3H~j~#%$Z;!g/2BxD69ɍ#Բ: iqI*!מ< [rNH-lU̧ b;+yrԏ Tqe2"xt1!r!ӴC~j+/E +gzgacEB Ŧ9u@=΃x$a 9?DF(kR Z95Sxw܈!I{,’;).i-"W4I9٪7 SMO +S bdwo-c!x) $rrCHS]֕ԓ!wȥ7&A wJ՜^^cҁf-[4+= +CZMp!y84I!"/ɂˀVj9xd UFX.@*>l0D14;)?50Dʢ +ղ@k{*R] lv z0.ȓ)=BBI>j=xd5>p8=bM@?PkcTS[nc3\1zɛ' y`%Ji'Å܎ш\A¸P/h4gOжvFQғ4o>{!%5ﰗ5 |segm?:ZQ0E/AJ SɃe dKP󢇢<~VO qIGG=(MxK]pE }o "H a iVIԁazx롊H ~IP-m_0l\FK8X%7UI;1P00b;cX ~k]CJ"x(zj>Mȷb- +A +Xx3Őm"ZWKf}gzTNhsh{Dpn hėy`s?Kv( {etR\1@tUB_.]-Fr>.*_Hq)Rr^f9l.GR +by(:x:nmUؠV.n*w3c:%,lF }Q\G-uzsƑtQh{~ɗInׁxpzTУfDx1&&tjҼv[MQT;μ.U ]]*YUT<"/^#pIӈ::۩1W@Tm ks"KI.eCR+.qەu=-*-lL8:H{f^Bk'3n sD4F|1GazxE+G=7,Oz##;eh&j:41>!d@(/d=1).T?'yVwаQ136KxUL&dQ`K˽I79]8}1Ԗ3ND^s)|̮(A$RcIzIԇiqBٹ_=\Jtu[-x<,a4}rN!.$$t詁J t*bz 1N~2zBb+s_A8w<>;/8e@T(gl)_۷#rK֯2/`:UsEy*X+TC9+ئ!qH3vi^,}tӕUc :љ̢`P!~^9=RZ)^ +GLxa|`4TՄ ^&wCXՔ.Dx?6;EB PDrElq }JIG q(<#{Z,iÙ$'0)2"m9tL'LxLY`uo!'m߲/zT{3gb)r"syWuTHk!G&!f-;vt42}D]둊Ilf Uz~8Q..uy:̘PCǹV _:x3 GSg lΐkH0.[#\ec;O-ֵ"K6G~aD^Z2"?Ns͘?Md J\\S3.!{T: Xdchyd1",k"RGJYv46{0)I*6_-R>8dz]3F&\*dt9^5 Sp_;\WOh-@== r9;u=BkT)]f|t_8U +w3H 2B4)ZH.{=Zp#q%/eu(_ +SȍJT2e +IИ`!<6e~/lFN6a5(Ft/SD0yﰞ\J3Mq7h֟Z^SwRJ\JQOB=A$cULF~`zRg"{UYnp +!SwE5벰N<)v p+WV?8E&=0 98:= Px*yLٮsWYtpNzrgܫ箔؎x ?"y=^j{򾜧q&6SC`צ;z HT^q=8#w$>%E 0"[fOًPI&hJ,ib!qcpTOjl=C=f{ yc 96KGpCūq>6m%t s|tw*EQ=5G@](^d _q -E'@pFqܗLMF5'1U-Cˆ Q޾GeϬ#:Ted$or{ I'qtAgQ?Pi1#w[09MR ǞaM'Oyj:3TX.MmsMtQ;zn]}I!ZbV}R 9xVO wyMKv@l{y9}Y(C~Q=6H=Nw>:Dz畛rZH;IL9W^)wS&zs :^G#]$Y}+ʹΑHeUEIt3ua P'W#c0pfb;Ҥ+h'P6zN!/Thm] ŖxJcơ 8> ` bF@7N^A; +,!@;~h7Cӕr~댱oW~8@M\,S{p&ujt(8hb2ಜ6YeWM>#fӀAt O͡#k5Q i9E_~0U#}14O}uθ|cFC1P~\_ ibJuc{&[k^vVjOg2%vutqU#,YHo@ʛ0R6"fȈ| +g4tK +viPDh1wf'I#6{dfd +~qcd:C@>.] FdX1+ J%|H]xbip!(9OJ|z)`ItU[^#;pY@7RN)KF(v +S$p7ufs'+9.2./;iWfrOm f8ʇe s:~4m5Y,sxm9蛟x3~b-&d$dwBJ:ؑKECӶ(aKJNf C,tTsQ}S~?k=4롘kOA9xI>x|#GuP:@t!Cvk=%F1;)z()BӯF E\drzMy,+G'wj@8 +'+E,BS=Sו%1Ƹ"D(9|n(Ŕ8/4ᷘ@`(F E =w0x-<#eݧ+wЌÏ$x$f.)8TÊE+pi[m3 _)M3U;N%Wl_unCȺ &ׂ<0Op1<\0 W$1 #MY'qB*5 $@l@)eb5L# >tre$F83=IK4V=)hg2$*KZ;,b 2[YQ̧g 5~TKF2>/G_8?EZ*qs6.>^lĤ@f{~*\wt"Sp=qȴtDFã%/Ί-Ff&/J18rOL*kYb㨼⋳`o'ռ4:^|=S#;{ d3VǣefY#yۗ<[UX].D9 EEt}_'yg$Rk%+͞Zes<|˥_5]}{1|zÖ#}7_g?Ovw_}w_7_~ͫ~o`~g_X&'?O~卿r_?c~wC?3_ ??5.V_쯟s+v}{+yăLx_ol4*˟zx_>鈜1"‚ضߎJm15$U) m[mۗ\BRK] }_(Dϲ}=M9*yb[>,oKs`RECkd~__3:P,(a竖 l.D\+T |=?.Plbui%)~2BP;oUUA'WΟ͗Ͽ7o~|w9[@zʿ˿}xeϿŅ?o7?}7C0@ _կȟ>.Vk//ˏ/~Oo}o~/_ӹ +g9^?^wY"mk?|y0Ͼvk}tㇿi;/˳A/?_S?߇?_?%|$(I2;Pm@6|gAM Fl*8` 2 &_Pe)H1TB÷?! lAȆ9^؊1*J?ZnJv  W$1?iMܺ]V' ,tQ㈜Yd7D"8A?!|L/;bQI|2g[b/FshN r~4z^xwﶽ'tIj{]ۋ-OH-e(2~孻~l/XVZtpSl[^3,$ӣC((pch2BR('aKKhVń;hu2pM o萇Ł|ƣ (tIc"jA!H.B[!YVvg`Ja@PpᶘrD.A"v8W{ YԸ JMSIy{nTB4~S.]\Xu0$ +vޛ 'tsep \T,O8q_+1f됙˽~H{veƚ,$_Mɢug Y*#J?^,J.aBD>=YvB܄.1qΒ ܌vbŲ?ST/5ٲP$Jʨ5βe}g6f-;˟tg!E޸Ǜal4v =SI",)d?}=P@ qʣ}}<נy2aCt<^y|w?믽J')*'W+-Z4a)UHk} V%x寽GL w,c{?m#)2Z{(fE_7Bd~Q77g?H?_7B_}?hCgob{ |nr?]ӛńO uC B;^wou +&Qn*n\SnFVVdaw-BRx7c;^Bvp}wy5IO +"}w0'&&>([(pDG!a/r3[)ECe?'PAlBMLfgKKb;2H߻3x1QdXZBMǣY;60k158դJigVՎEUV尞ۨ{XA";/pv{90$,Ht^\c<ێkܟ|9ē{Iˢ]]Iuvdn' MK,"T{=u93ǽ%OIƭvv{b.zHeidM0EB 7{=@RЛ=v ƧUvC$me'9S-coiOQgW1S@0q<[HhU(Rҏ~u^rqhf:GEb^:Td[^]HAms+|=! N4\cny+㪅0˚3cׇuj榛xiRu̠hlAR W;¥=E&qL4a+؃z?Z}h2V^T"6, +Aأ2`w 9x[ՍPBOBZp$g#2ǤdKBj +7-)8L>A֭'xaɜ*5)^PKm6M2zXc +ޞ;};Ӫrf,.ZY)o7{O)KxȣzA\rZިq=3jpkhG4}ʨbw?gձcOCEYƋH!]R1Hsjh}ؙQV%?tC-{ݎ7x:l*ST:ޱm1b8[hMZj܂'lxF`;$(TQ/5W!>1+x>|=ffMe^{!#p9OдH%!fj8TMX\R%]wCw"$n*ndPRLkfN $h 볻$EփfS~> -"C4vrd!|vy$=2S&#Dw?X vە } Xm?ahрzt6:y*㈓4ceTFKOPaXq1[l;n냏})F[X.PaQD(0\qiTg\U&34~*gVRfU a+{˃tF CU6P!A UُrISuu +b'ElY~!(޳nI>X8pV&T'7d$uф}U.AU dQ?(fhé,0ө7lb*Mvrvg, 6Z̀nrz+2q:- +m#Wtr懳%0ju=c16=1٧ {/lz$^Yb$HH:HcXO?>jm(j)?edij5hr%M]q5{Vz XDcA%k1񈚐o pWu1d[b)yo *9Z-(A|1J mقQ%F핕pVP OYm{ϸc TZmţAq;߆ҋʈKP8+hl,&Da eVY ,;eCbLX<O93QY2gkfx#j|=FXo/]%)[dyK{@ +UBxJk~G}3c̰QCe/tffZQUc<@{ͻ5') g7]Cp2}'-k!_/i H "`g OHbE=rG׮߃X ?.4&.딸c0@3#)s#%4D [˫)0oݖZ[b`\t,ZP 1l7Qͣ'ė nzÎAexL-Ӿk#"!A}oKmǮJrUF.TtKa7@T +z 㬝zh3R ^}dHbe +n0YFxTȦqPlrI$ѵš&jVԬPK&8%.ݐ3z̅Au3Pn"vx2ðYRCζ DŦG?TeeO#= +˛%^lIf;r{be:*8齉ҞY SaBp [κ`Gs :$"enU<3c84SF.,j]+Q^9 ;<+`n}ڧ ܀5jsXk0 p_``GP!ߨT@pp:8st@G^ƁR-hkqD:oKyC ТcA6i06.rFt̄. 9ѐjw + + mt +C(сcp;yEO8dL-HbKnh8Q>Hx@ˇK^xXЭ_by- $<"t[4k\M2WQ6)ւ9eٷO" %kF,e[@QI)8` +y1vЁN +nM?Xs`J?RSG ["vȓ#Ay!NqƖ`P4_+d { іM.kBt_(Fl y]ٻ7(>njv_@DQ<5ݼ0K@i 8⃨{@56)4 + qD3.< Ƕ¸a F28+*]]b$SK(p-:9;k Gw+9KlN+v$Oj2s.:}$*TÁ!~`I=@q2%9B/ o3pu_ Op?i^מakr+F+kJ#DHC.ԧ􂧌@[&hGe:W8d.eGq|a"<8o!|,[8\9%DwamH@*ZS˱F` kQipŠ'wO3BGcTbG`6@7 Yr} o@h Y N ̃ńqd -ہq\b'9b)dR[6E=0V|1 Th]M@ +61>c-Hvh/sO gccKPUS-Xp@xNYr2<<֬d=Ydqm`(OJ5&*/^%3c˫adz⸽K+ uN Nq|rdaN'Tm/`VjkCY KtÉ&P=˝~BITh;tc $M?* ,g=%lX;`h +&363>%&oЁN p՚rvOXW1s-ssV B>k[Vr#pl`Chlq@r? |߉slC *.Au;©qPϮ79ޡd+SM';tz>Y9y jU!1PKrUq;u#1)c ̖OLtl^)N4oL (_(t2@d5 3M뢑p}ip˔TA3"YDUfSJ!MO)#( 艩0gx2bBc̑dDQ81H^-$ qSx8vü0E>ÜT[A*BǶn#^yLx9 x`Qnoqqڔ^"dMSTmgH܃F"XwF 3tSoOk,ʡo1t2a*oQa8w@YT^䈝ya?M?+r|OiBz98AUr=DK#Ty#~uiQۯTr;(KE-iLCJ|+ '[o.CIRkΡL^*fP9>@{G O`iHdU)e&S uO/險ģcvv\rl4YX2XQΖsZLG/agH +0{h( Qwm-e$ꥲښStX)ySϞ;j$9 +|z|&W6~pidhfc-8k+JLtK9!禚L)-;|n?BӦ`HZ16njա ( .-j;KK83Yq*!+{hJ% `fpn5F\q 2'3Y=Tu3lΦ9[W1;ˀ?}a j5o %J%r+o'`~ $(XrU+J$XQPvwK%IvMiF;ƹWr-\v(}QMvcw`PB9%w$&%f> ?snmoLms6J=jː hHuЉ7 E[]>;˓*̗ `ފ*uWg߼ /(`vnF)b`yu*8Pz2mmkVq;#lE}ܛL uaNpaK̰muT=mV/M*9`Q)J[XdB.!96Y~vo4$pkV> $-DlQeCXDI(i axwu~ڃV[pL+|HnIl_H=duc0`Y2=B֘}Vi +%:-Q+rg_~x3:mM$+%2@><4:iɭhQl.Qy:, t&@ =l:3Mord(mCwR.XDO3[-ؖIqh1u1JW{qq,|^v  +5~q9w*항𠩣25NZ!pR@iHW +F{KxqbO"s0n;wM_pR(8ޘ͡4⨛]#P .)4$QN2u\) +N*b/ڞ UϱyWK;yAucs9s3t IqYUTU!g\pj ++Qxܶ#"&\.[!NV PTq] 5I"*k~5"]%Yv752q)>`g5.wk-kŷb\@l,?ME2_M bdTh<[ 0Rðz7:6|9RwM-_8p@)ZXOqw];rBwqB$eUЪ+%>8!k4pzrSbgz+Mp&H5r [AdFlT5ɐ0}q7%SZ$ M8+"6H-da+4ă.Rf8H8Y:~@ʊ8r2e¶J(f'[&/49viE j/ѐ$vbSb\"MïyXQr:ҪE iI&go|~ލSP>JI,/魞Dyz9rqn[  .y6vסD{h?^h*#Z9o =\Rms[B԰yPQKA({ k#7\7YИ2ϓ?wjOIYxrgf*Nr^[7نMYT"G6iC $![hrͷPHd!P-UH۳@H(@N!+w0NCѩ܂1^DRҴ^`@mI!5)!e&hcoj>Z:vlkt+JT;N9Kְ M` ܌kx0n˶]I}xR 'fkD]*M2EvkѾTm +NW E:s8o>-j}֡ .8!T=$MH)=I;O`A:&+fM| ]8q<8)A{VgulC&e{I׃l[l(K3`z9ꪥJzԫi1nh 0^YZN~Uc[I!{; N;[:q-O:X̔JEl25L/w3|I@T2nQҙ,_|4jlCP×&D0uB 95ZN6vDTT%(5V,k84@TKLyЂxBB?q?|\| ;Mjq1v+H\3X8u2ohpm]!u4XK] Nd)0?6q\(n֬5 (aR9gj35Tj˰s`T*C,5tmCYyblχM&ϛj9PN' .1U_WvW`rUqL &47tP aY\\& ,!nf +fq~]#%t'Z+&%p@&|+% ΁rz7*`s26|Y֧j.P 5 jJ=ӆQA9ʔz݁D%Qgl[t7ԙMO4|No mkNn4NJ</ +){L\|[ +5aѲ4M(rYKpV|Wtͨ`{Y {" X%*bYd_r(1 +m]@s+V;JaS]x0Ė ,9{*#IB ?ZBY^~PA++AZ-*|=# Et#"Ajzlk̒&ega(_C"D2#"Lf=Ɖ7bڍbCUPgߓق +S*&h55$Unפ&Y+434O5/'>%Ҫ9y!FkH42RpVcB0T偷!p`6%(ljyNu,4T} }{'&p% L"z<8Ɓv% A?#? S,L!z_I9x* 1d؆NQsBTJ +VpUI^uj2qQ(Z/mx!Hh=B$EgT̴[ & +S4?NA'-2yP*+=)RA. "B1>9- TٱmG/ 1[uӚ>'.M^UP8wRH7e%\þIuF7[E<a}ZqêIzE5| fՆ898z]p{-VYk3R G!мOxhq1%8ORE 55F]R %٫ ۡݤ}sF38v/sجX9m郚FyCI:7R wIG!!Cꔚ(eٳTpP!iNJR]tCX  1A+z":uS 0ぽXNdy +:؟ Sܞ[/ݧ U0c*˳/OVm#o Qӕ.m`Rslz7cY֣$Otm_LbngE>fm?d +Ի} 욆<#V ͂ș Q q I"DÌ6ĮX/fcC b#LaqcP3/8X[Ij{s(=j0&.(Aft> XZ`Hx9.5̶C>Ai{R-ݎx-8/ͪ*!E +բ&)zxQ7g+QF-?Sğ ^:uR%̒@7;N %!R:bH ^ u.QS7%1'1FJw #SErՀ8/@(q(hبvҖw51uhB[9Kc4#u}jQ<}8PVAoFMq/8ԦsT0 J!"D,(c? , +3 |H4hAРA5]7M&k}ꬲ_g8S> Ƿlhv /YJ;k`e̮4M/ ҏiڳ IH$fBҙ:KC,Ai(5ymDvֳeOH @xvqg[=Zu;IϳJʼnT]Yo"N)/1,Vd T3ƢkiC- +%(LBO#uHdRo:c#bi }GᖁQ{K6$-ū*$OHT(@ 5qQ'8}AF'J7asAx'^Pm!GC.uG)s$) W+ 1GiIʊ8߈7)%$q" 3C=ENƻCĉ"] L711Iݢjɞf˘Uo{^/m9x`1p=\3EL X#}&"o{8gYuDIзf|C!  ʈm*& +7{҈v VI?n\+0]!:2@z375שTY"%NJb%:њ^ۥ)gjw}0a ydtϪ +?R `ғcjahYxА%Rz3dRCe3pH2۝<4%3!-* k[:34YkvU"!qޠ|ӿc%+Ay)Lz =J2Jܖ +%u=0t衻ڔ[{Lͬ9-d<|8nz-I1 +xLM(p iWh( 9*O:ޠ#aUA:N|(v א{{Rb=Ab0bzvcf])B]z4GO A@^'MgWp1]FLQ\2$FПI:r8*E\<(G}s7$ +P$L,Q1]-SJI 'YPiu{@n!# Q䔷da3G1^\s@m~8e0O{+1WOwOpB-I3U7&21 +KGB`Y_tlF9750Y*6V(!G%r8'5 SG>Q Io;hHm/63]]zFz@;vqv`U5GZ4rNri+Bڮ5A[E8&5[Ľ!i@yWo`XVTh0v)fm)h2+ǾE}[(gME!{8B~mK:(OBC8/U5E;P4w[}3%-87ۊ9D:Dy2K( ?%RA9k{3'\)Q32~@?)9}11Ht] V\.cN{մkg>咽G]nk. tk:y!"XRƝ$S|(0cJ֢E^̺B0,a1TD)'&"+{UZAWH9Z"(w`QU=Ou7 +a\=]~ bt% +de1 )w=ıL{ Hx8bR "&^P|* 6p 8Tb` +2n;?G9Piɤ5B8BnR7(FJbHe>palvDKhSYY7sh kjMП8N)cy :ڡwX6M h HI^EVcSX Z@daܛEmVVh=6cRNV#GT A0ݨK?B`y+[ū,}0K4\K7>;I`W.T{ +vH?tg3}wsLz:mK>9xOS.ָe8I=qd6׽rr9,sU[FYReNb߄ +O@8 GmZn&YV @bGwYk[Uyxf >.r]#䛋#?V? ;7!C N0jyc@}GQ+T"_ 7G<(# bpߦy+N{-PNE0Qs &?|OC=&R> Iz#|rpOeELyʖ.v=BC +`W/ZЮT~VCza6_`Vs]}xb[/XCߥI[RL898TH~qzwU$IF4u~˚ۑ⛨u.fӖB;6{њWf#, Jv@ +*a$&t|-ͅYkQs8N(+|bg? u*W{9k8Uڣ;s\χvԭ'zzJ^ g`;PW0dҿW!6>f'eh?%P:'ޣ7}f`$#-q||@g)vr%+6(Om}WhU_}‰tN~\Xb c[yW1Ƭm=h b(J638¸|}CR/>I:j]ޠ9&xH•`EJL.LBUNۅ9~M8Ƅ8~UډO4WiYҟ)#m0 +ᑚrAx,XI[Ib[?9Q.o'BtLBek[$)kO(57rdw<}rYvY pO1ّi0g1UӇލn,&K_̓cZ=0+pSs9(w7?OKqob{!=F nbWnҵ;ԍrQN KÐpj!eF t#+V\Au<)jUG'o٬GD*Oc *}3&ۍ;>&S@, 5뒫7+7xXpR6 ьE44P2EV1&ca@Aqϛ|dDRS$ʹ&1"cT}L[ep5po)^UgrxB@YAۓ CB O0^[^>];m>P䛝kl+}b]BoK^h|gٝ? c0܅&g^b~E˅sO0`?ˤ<{Jz;JYy "6&vak!]ڏyVwlUj;Mbތܒ|X[z )um`.cwEَّtpQ83`2D~qe_,|-fƶ~eͧ<&5%.㨮| C`NΛsYf' gچIdf! O%g2o-GᷜǸ`sFv1Xo.{א٢]Ush  'c`I?rYeaFE4gˏw_Gޟee$& J+E1o(RrHxמo0D&k4#ɪ-s[3C<{a$%EwϽX{|FS(s2k0DBs1\ +g s^r?<0 ssnb#Fq a ׯ&D,Xl#n7s&EZ8ob?#:٪.ّ2,1?bÎNS6DB8&F؉ܪb `zJĂТ2eun=n8zhsR¯b8ێ.[(w7Ak!gMs]|\⁸$yp +]&?w9Bòͻq毾 ++6ŝj|j/ͮ+79ƱYP3YR_\}GH3J.Bbn1y.Əon0@8;s'">?_AE/qM_vl61Z$qs6#MN#d?Efxokb1_s3Ϧ +=1gTL3¬*&4k nM@ٛvgkf8TOΊd`֏Ͱv|M"ZhCC?3Μ%[c\&JwT 36[\^_F>U̔ C1teO=?W97Gm:.ț ;KSӓ0X36㉷T37~pƮCsydt{~ܺ`h2 1XZÖĉ=YcYMp[3{BGEv[&jRoq+u ;yS.[YHoO!a@*?Ǩ&uj 1b?4/]S9Ei`BAbS_D(#h=W+R 6<7A^ |_k- 1a=;cV,!91NapTX@DԿyb(:bvw/Ѭ-S/Y}HDX p +^%Qډ{.5*Qd9PQMwZU= h<PN@EGg$˶LBJgd2XC'81,c[,øoi{esBIZϭa3(iϢ(o}3@ҏqFńW _XP-E1 +]ށX\E]tllgWW2Nsҥ%b`t(GFR5qx""fp<f}KЎ8u:-rbz¬E,;Ud)؏ +Q}]ݓιm֭-%9 =*gbt?'KEzDdD[2?pB9Bz>̨ _HP-:ņU?`΢J6xaL4NhovDwu>e +qI"L:o xtsR-Ck.^KdWt!x"v \[]޷k jģ~g 6Z@?2~̛q/V1*:q>9c{֑~$2/s):Gv形SWdFEV8ϊAm{3 *RV<"բB ($o>os57" (s6- g@eo8$=iRqFd-NDV4z@~S1wiQ1 8D03M6#D\p|o4e_w PǏ =XoI;OX -uD4}K:Ba9za꛵r;+,;HYAy461Or +ly]i1jޚ0^ZӶɓnl.`0R&zQTZu?bU5ޢœ(R5򔛊j …6VJ=2 ⧚-9n%( Um^M<#vτ3K-,{rOS^- ߉B#jqc2=.itOps15[K+Os'쾀+g-)Wqݜ|r+~,X[TF0{r$jѯ9W'id?tTcή" 96m+!xAA +6?3ndy/ ~D k1.s*d= =!r=ѐ[2| _q(jk~g?c\v%X^8=ڼ +1l%K[w,q[un$a<3̮DXmEºL +d<3x4D}qQN'8Cdz!㚵mn- /;**\_!_Il+=Ȣ6){uAg^&4CXXDB(3q1>F;3j$l-, +ꮹ{%+1Vp8{~?CI:&Fcj֝Z,H][Tϸ,L,`ح>eQ N6^7ٓM>WpY{sf-݌r.}؈! +GTgAv:bim$,!~PM3ݡ>_;Ap]XucqCD-f$_7`MJYqKnbcX_b02rЏGSv+YsݦaF4hv{$fri+~19c+|~Sdž/ܚw=j[B6y;~[a<. \lEp +G'550*J$RK(|4kXҬj RƸZkD )JScE T ?ce};}|yj'D,bi< +af0QE.ewwh}GFkEA׏ =ɉiOƯM~@\ȼQP-CX ߯<p|$kkS;Ì9tYݒ'|N%KI8(g31\Ym&9p~dmu5פU7CؗܛF|i"FlE9!#@ALoZ~Asz؏J*7"_^c3^B9 'V"ߞ:;x"sE*{I9#c`A rhՏrdK'ڟl$Ľ58 iob0jOvTW{{!!8-]P<,s[!MGHxW wI@Ų\zO>!E߾)3脗!< \gOz{/?8ɰ/hzp /ilf NBcu3 -s.ud+w|;ޫCCd'P0&)MZP%_O͘պ}: H: 'T9-K_wXd+kG$v|;y8ȒTᬍ8=nrk7m1WgfJv\4kŭ:zR#ݎIJ`yІLI)dC^ۘ jSPtyZc` }Hqꅣ֓m e#?TSdnL^s6tk|1Y.z!?)NYc:7SAz,B27w[{<;vyW]= +FƵK%jzOqomVnC;;m,aĩOܩ]77mFW!e1W{-!`S)R6ffyB#>4nKgyS6P_h0!q}T"H9_(ךB:c1B&Z2PU!{pSkRR1^ɑ v(%4qWs9FE@JPK1=GV]a T^$[ʡ,F5#\6{4ekG?rkDC,Vg4By,:88=D}L0Өh>owC"?U *-*hxqWxFE[_kd6xSvkXFv(n3.%wrK ܟc^Kĩ#2EeD5Ly#D\q;6.K:GY~! +?<6W4Cw[Sdƒê{$Wǂ虛lswMϒ౶q(oxCXgW5g'T{٧Zszy60jWeхV[wK#[{J=)O:r- .|LD7A)[|Ok ķ$"-[s_GA:=ı "{;7cW-ewwCo-؏E.%  +uzMsFV!O.IXW;,{-[XIX2yǼb \$9{Ѽۍ,esTqO,} Sc~p2 H܇L@0F=}r#Zj鄠8Q?0]#cTZ'R{}q~3ltf82p{/ $%tw"Q(2zVIEWIo8,(+${rNk]lɉ#ExϣcBK(&F$O9z{G >mE=/tЛ]GS5 +k݆H$p7h`kbhǎҜy^ϥWoF1?W7оk-""J<$G^X W8[KxX2"ꋣk'|$Ih`^**q}!Mp{oe7]>Ċ$FJ+X#4dzL_)3׺G쬘=]_.5D'Xn֘ǹ4qGKF֑;DAC />Ўq"& +wauZ29"=,cYT GY޲GK2碎Z~1MC63ZK?Za}O澖PہT/l1\5 xΙgZ_TQ[j&,ѤB@ üݖxb'h{-Rf ڒ(*:fkKh܊&{>bi>[oq9`r8pRծ4%W;Z+O.嘙vᚍD"*g=#nR".AUʊ ٣Kf=s=&XG|vYΞ'\'2'm(O|%S-X<ЖjKY*'HƇ%˸DŽd;׍#N"1!M+Z ~G AיI[$+rLʵoG( .d 7FzD{S7IL3;y Ō۹tp3r밬AT3Cؖdċ#[rctjoKF'OgV8g̫8htߏÚ'i'4=nWY7N M#\$HT$P4ʗC3JUZu! 7pw4'hF&nʐwP~RaҨcd(_H'讬B(W˓r3UfAShuX7ʂpD!քDC/-L?r07_ߝ&Y) ޫ7Wjg>> 8kY{_e0'p{ZFl=-xcrMw1N^ ݑH4\0#*QCuˌzI.IZۼtuM1,YRY/'X@v.(ȵ~ھc.Dwe\M^["-F^CjkM̊a (QfǤ,"R:Xjz,X. V9%„A(N>|y=TX./۷5Sg-qcGx71?QOǨ {4#9DeHg4[wاs#[t3&F[璿6qoMA41p\굊{k99+|:?BVGF[ƭ/~d>Eg iGQ/+{-l.=5\m\h{)Tx'0p΢!:yMӜsHKs)#U#O-7^5-|3h0Qč<*@.S(Z}LmKE3:ioQwFN;[ :y,iʃ>9W{?Uo+!)^l ="!]F gz/w^ŗ!GX{q=sC]6T%/-5/wٖ\D/%Ȟ -1{ϮJv6E3po߉OH>q$eF@FPKYJaJ7MQ{T @h}unn>6X?NjCS>Nn9ER {r4Od*V8OlOڷV.ss؝ާB66;Oۃ|I|Xщ=( '6Rݏ2ګc)=dln' zc (7ՌbM11ie]ToyGwFuRƌ{haޙ'F_D(*ꏬ ֘]W?=k+9tWw-fǖDuEpR]?}l'Lc<2`8U.ӍxsIdji-269,#ܷj$~rz/UCKVF]Vgx 7gu59#fQ6q>F;4-NSG;-"Q7:h@Hq㫡Ab(3h|-Zn +kO4!=䋑oO/GdχUKƸ`ܝknuVH?r}͈8&Ì\|מ*anJs%z9QCA'ó){CA=)2 -9Or ./{nY`Hiѽ05#=o2zhQ( %{-;g̮w騏)u䷫e {ܔN\=j +9n=^ W|f"ZCrz>m׬q"WQuk-I)Q99*8Ê_a&fu~mN dhW6nvbB9'250pY 'r38a)k*8a<prMy1a,}] |}}̳Ug~ew ̖EEwpi9Y /gkzSzpX>sb=XfVV87{]Hփjg`oKrdd;'zf o{D.w/k[3<56/G68# ovf_i7Dl}]hˏ( +CFc]^r|a/q8޷-z_Gk3vìLg{+ꈷ8}6k98rK2,+Oqϐ.x +dV@fޚjԓeȥrTv+W! ň.w}ܕwĻNYת.1l-V{09￿Q?f$#^ɅXH>ݖe?ۼD%"0-Gy)-jind 3fGHw\o9Rw]=w!XX'srBT=iZ +HREK',kJeؖ +v`"LX 8lC(vf??Ξcl#WJӑ[;b N#W#[4by<D<ut)95m;iYA{Qa)3g?&3~;> G^i'ȇrg:'ղ  d'}ˠa>atb8Rv:=}Xa2'tNѪuW)ؙۯg_XB |Bq|AىZ|܌96phďax0J9(&%Q:2c|9zJV<k宸Dz!iѵ{CULJʯHko*#}*g7a%;5uI(E`~J|T}{3cJVWFEab>.'=զfUW.e U蛆0aL-EtkSA@IbkӠ%;Q?]^\{ +>|7|۝04b8MO˄$}7}) +ZN^L(rIJ2rϸѷb%sʎԮ,?z<|\]IO3 UA]3kz-SκViMdy?A9[\]xUK>S4|+L2 +iz HpP%&ZWϭs&2#jAWZ>k<_;G.8Ϣ]D`rU.<ֆ9]1^Z'5*cUhr 9^ŏ]h'=ٲ)F؞A8 vO0BX ;Q,\!e3\O3/N@( #nOa=X1ߋI\C8 +3L?4>wQ,xkOOSiF!ᐡ} X,t&Ig :IN0?(g nʵFNry{SLz:krւ \Il㪞ߢx]5Gǂ'ɤ̢lsn@Xk:R>@#09KHG0wߺuP/csًFKBh +>uD_Y$*5kD5OqIcC}rɗخnMg/;# +z!GdgQ-Y3Xe_z%&7t{ p,%mDS +]`Wp5:c>0w3pO`U-o(g[4]Gg\~ÇBwC]Wb#aROs$ 8Y@.)ӡ@먞4,A,LzX +ȏpA#^@}Ki3aD}XQْyLת;1#FwGzE@ Gδiȃu\g(A(w]x%K +=:=í~N{܊hX+hS뼮D齆^h =COrCk^1:Ş1-.(ހno4LO/%{x[ӽ 9 ߣn2H7G֏D~=]kzHrdk%Zrhj=EѲ-7‡W}&6B}|dޘ;#=jK>hX3㈂)\@ju/5Cgj +)5Ҍ7mJs6}d97npmSTa .QW'L!>-:}(URs~ ؓnڿ.QyYØ.ϻ9i̓fd?ܹMG_S$G%VTUrYǬ,vj + F0a0LܞRL@Qw@R$tL,^q&z6?oHhgpwj:7-5l!B~ +6- C{|I֩q{%>Egq_q|C"y\#I#幰dG!\my/Ll57cT)LsUUQZQ 3̯(cXuO_/n=}s+w<"Z^ +=Nd8d|GD \z?GJB ѩynWAx?9Qc%+a;I$@̵EvcӄcCLl[z,hXeC4|+51ǁta/Q,{ v{LP{D蜹1br }hWELBe*#7=x߽hC`5>E`,zk&7}#|1~Uc('0~6r Ͷ.+GLN1/v1&w1an|2x+\_/Ë R#CS/zNk\e ^>jIHqfp"g\3 Ag|zc4JӪ%{{%=Vԟ;7Eƶ pK{yy-F%:_-x=^>"᳻b2zaL)ai{jv]Mfu0~߳u6v\d\*pc+~\(ןq6l hnķ$L[uFS.V?suȖϫ~f +.|N C;L(2!2a/p&;/ܙ"0,Qօq ’?O|l4;XL%\#=jrB!![*[:ӌrv;gv1w'sBbl51ZC~`%<Jfٚ % z[vg_pӝi%3@foٸMu+0h7̾JA-p+Z7?`aM1Q*⾣3^|%6&XkȳpbCsrQf 0c˳fs+F?'YY.,k |kl$ L7n`C$y z/.U2}=RDd?[yF +szGrr?(*?;7mgx#[|N{a u-%t[ :kdv]c&[WA=vClE ϛϼ9M?9 ̮}--;ԸVhq'}o[Y"2@'ӡ=/Y`5!q#0'ۜ#~+ٕ~΀%y[1`0ieHA/͑ k[dQ +.hOD/)zN\3`Wؑ=-/R'nY0m(]3QtDd}yHX<(<' g62~ K"QX])3p${ts6 +3 ۟Xw5BI~TK{L])mr%H"x͝uD;{|$z%j輻|LY)/zAXesMk0Ws*ZrYn-0%19q*#MaN{q*^#/ܭi[mdv((kz6It,-ƨ_8T% +VsygLҢ:0u3#+ +&@Wÿ?4`Om҉UdZ;ûsYw-ڟzc.x鹰7Ά׶b<t~nr4 ¢2 F=q-d*Q@ '*zZ$yk.п ?n'-bRt94}"C\gj&+a.T-,|د^jBH2A,YI,>2wy.>1gAPAMY)a } y&oJ4M;\"`LpuO QywC1l} w_)ɽEobyItoeTѼN +LbF<.0^_N{sQc!p-\+ {f`u(}s΍IYSƛ3.6#$&sC2rxXk 7i< i*a;ar5j *.Ĉr[~%};Ϋ 1.;V+Z!0?'jr۴e7>aB=?h}r$4j=sZ64Ki29E*:%laQJn 7T}_2c ̙I /] H˄y\R\q`ʮN2x{c %.`0#K$*kwkmg}%tp VL; O!sT/tv9[*A: xԇ̧G>4[וٞ#Qׂ}@OR%/HwC"mM( qz]x9 +S8Y9M*ZïnǗb1n{ȍz8IRw8ƭ +x(d_X,}GړZ=,'WjQ`Ng\?M*,g0Lgn7BR!|f|OL!]Vo˺pCrkHQ> 7:U%w9GMkvNMv9*7kM3UXv7UtiveB)NfJ6^QⅯ74j6]UnL|xU-F@X]ھD5D쭤ҿ;'WeyI#'#XÏAT TzI'^fȘwo1l +[s3$:>ˆjտ%nװW:-=KY@hsK>K61l˷@kF}&mٔ\DvJ"aNDe7IL |5, gŨ,%܆d^8,g U5ÊGns( ñHOg YlcY=ܬMtO0D8^7SҠX÷QmjGijdcawE59TW|g9}"܊ cRͺ"1O nE\OoĔ2CS놸x]R(wf'zG\gidmmzjr{l1`21[} r ~=;^""mK8E{ ~=4Xz`F^_Ç` ޗ{X-vxd"Ìnᄚt,PK%P~]__,k|u?9&?f7ӲzA(A}'q!=mLt⋘ +Ν Ybqا{ '@pL%EG=1i#k SerE*ɔF]qy -ӍaỌ1o!]'uŎZW$fGݸg^B/2Bm( + -7e pO#>$?.R?v$~  0qFKmȢtk;9-qdZI*h5-9wG|k]o;v@RK?Stq$ mqlP!7C3cBm{^`g&=b31d%\.RT\:tW wRtU +nr͈qd ddIw+;Z}pP-L(S,6^ 3ȷ^@8p} ߽c8T ͫD, +kY/-s yɧ·9g NQՄ\8͜L}Duͪ + +XY1e+ᰐI+9!]^3ff"d]*ÇϴZӅڍ5/ҫ@M ϵAz&s)e&гGjC(x ڗ޽DRe{;j/s!CO,KSi6[T~>ڏAuJ^T^LxL/ǃ*t/#; ŸC2Ae5RٖLnw;;;zIB1qcJmuC!`[ԡKTH[aӐg{}b|op_wMu%V^ i}Z0/W4lD+_3jS>VkoFۏ;?jz۹!]9GY |P_qz~thT_hrb2c鯍i$P'36lbyޱx伥v}.*n@yUs;J=7O? {MV2X +V)IQm|lrkTc~9[\N\]^Ƀg>^t}|3ab6#`us(~me7p}órc){WiM{812+AyjffܿSDrP3#TVwT͗1 +e#LчI +U}A~]'HXI Գ KMF;fʼff!)6KU +P^wؤkJ uN+GLUɵB^VBO⣟RўY⫁8g٨.^ԏx=uua р?NZlѝo壑G<8̌JaY_)Ħ2|FfW@ݲ㐃mơoz>yd >NʒK)OfJnDa!eiy|BJiMI PXA|5=0}{ǀi}5սzzk_+`=YQP ; )IN7v;)PD=Q6L,dý/~VsTrfs>d [B>ֹK +^x㳖{-9XG{Sz5q{Sf3x&|2L\ .qk̤G.!@!t=SwHcqP&?cSQ{gRMuuq?zx'@b[62+y{h‰#goطFjYڎ j$Vj^{?J~w&XXh|ڸ$J{HOo#I?jM%vLt"a!+&=oWj"

9Fnj{ 2by8c#CŎdYC;e- Z {eDӰgFi/J.Zn*=0y)>?`۲-0pYeEI~?6?;:-n+8+G0XHBT@/ߒ۱1WU4.ĚYvw L|+XܽUWc]kV/G҉f/j~>-c.lx^uRUa>!85 oI!ŗ5#FpYNg'ٜSuc\T ~c8AٚҾPObj5p%?jxƘ?Cw흝S CЭ"g,e&UARn1#m54;aZG7K#~bl`yaDĻtb&[1 PG/4#_RCBx[lz [[fњңZ/ 8> Jj"@+]FO=֤nǦ9Ba$ޫAD'H&2F{58C=eԨU~ע^ᥝ8(1=mM2sy(NٱI>mGde|>㞘 ȡBK͹+{_jxNA'FuO)] Vî}/Nc3 X>o4|J^Ab^+膼F S&55QAyIF&J}Fb{h@bŵꅝbu{ z &]5/zvV"L.8y>BDknrĥA/8wxwI@ڻC'ONO")WDhy!Ku-;W2/`"?{*75Z &Prm^q9{be}#,?nysVFoCѹRT^ﲟ`!%Z`]gcR:38[]x)EIvz> 1"Y>vƤ%E6T:GFD}lӍ1kRq}epNHd)vAq g@B$|,C\skOȡ^bv{Q+Wf_46HkZi/)QghUriu.sS@ƴ0F+j7Ԙg?u h6) (N܊mo3WϜ0;fi9v~xfv=FM ϵntwur̜!u*n1Q-]GJb'?-+kߐa,S ձGڙYAIޑLMW 1{v#n/q=ô|_hJ:ooW-iZJO*MɈZrMdFww6̑ &AomvLhdl{;=R͊}+jb, ,i2m~ǂRrpJߘ' ب?K^ +`30O}ޏjMp0s0|B\W ?݋WV>/gI<@ ]}}º{&# +11o֞Cр; Clp3cy_oO~I,oĉGQU7#Qȿ +O6ʍCߝVe=ƾ r50|H1Wmv.=?an@p/} M/yK8sl׈?\H[X\U`˸|>O'5+E[n;&-q5,+>>we=Ѫ+-cF*{h1L߆"? }k*MOP!f笍od^ v(k8~[3 g1aM{)JZ~dOb>G-ó~)qwh}'-!bZxB0kV[<ߊzǏ봭[:Npٙ/h^s=ZM?8 +W^ 1KyoQ6ʝܥ- +&f)߇{1dדMc6gn?{ ozn gtTO kow++PZ=W͍%BJӞz]3>x|[O阏Q`- ?`fi2)̟+oiƛG{h4T{^ߣ;r8+>C<ԑFrX7(/{:'.otg5A&gۉd6JIאAj'KڐƬl15dtyz!ߏGBAܷZL `DV;\s6;Ld>xq7|!LnE &=hSjo.DY6|: +gL{TNtEĒ^|Honkdا +d!1JP!Nn꧐W 8πd +! +LF3ĔS ^Vrb?w:b9ozRR$}/.Y;X]O`>^ qW9Q >=Y7͎\%ܠ]f]L30/mJΌ.aM=-zv[7XRf7YZ[;*uoXU| }QYcO5/Bu e4:?!eESh/퉪y&S=:پn,\$}+OPJCXbͧ9"ʢ+z"N}:A.7ʌ}n\Kd+`&FL[QL g\J*!iLz'N)I/Acsw-0.Qɍ xn}c Kq]1|:m.vT1yϞ$ pȼWYz:g#x|ZCۓ-|zM eT=QE4s 9l.qߺ7uӨ'#\ +S#䇱x;l|qliB`2($Z`ʈ१qi)C@GW07^~cj :*o1OXX!^~OHч5 Ssh03.zi*̷L~m@\oeGD|ΌvP|!砒ao(n[x`fYMlpgq59ኝjÎD'V +ٳӐPMRNČcsvw<s׉P5g@{ozԙ>f1cwz^-o)W'­ʓ (5cdkiJ.s]zc7b"E \|#՘!w;Yr[I6[_$5#C~}F:gĦ8[i 4xGPC,';Vlu`O {A:(, y.w#jR \<gdVvu3r޻Ϥb;~c]>ӛ@ZCg&u,;_?雂=zEeg b4䷆i3"xlĄNQsjϪvd!Ķ s΋>]ԘT==v6޹gox7'pgVv-|DHUɋeR|"ޑCxZ_Ŀ/IHzVpc],OP:!6ޑOȇvn s%4{&G2{BU ղޱ˙w^<$ w%j]Vc7/+׼9*{ӕZsKUM;fP#Q/eel7"TO| +kUJ+UTEkxϸTvsFk̎ Dz}jgfq-Ki3[ .8~tG ļ@kW-+RoDFxo!:wjlXcyg,e U]xԉHEOAgh|br{Ze*(ׄ<]ԘBV#ckn]0iL+@,r#i.q(XAg\9i9DKW*MQ6wV%(^gqoITlgt I? {?`]aIؽ}EO~gx?0&&kl;5'kb}6֝iv ژK`Pкt<{: ztz8z=]9l,vGnc)R{fYMu~ ϘzsPĝK%M@\l͗˝֝!+.בJ+2AnY4K#7C![e]UyI]pu~,yT.Z-@l ̇TuJfQ2Tە1!RB40boNoؔ0/Hb&Eթґ9ȗ{)H\3xYhkn$c=)JbgMם|}^o G+>rjq-^< +Ghޟy'nJ߼(lynCظw z kmZC3QvFLͲe4 +?VVCٍZ<_Tdsy<>Wae=Ó:(R2˃ %1f:ѡGrre):2KqҹDGbmzyKVKzmz~oqMY.ݚtGLQKhU;e2oKR j7=#=y3WUWth-r <"=(i 7[jsF/ߗ$#k$m&ps!jsΞNf" -'q FKɨ{ƂGp@2,cn{VPyS0̀Nip4uͬLE_cjM0'HytZ R8w|,K.97dʝjZlEޓ"o`㸆?|Sߖ I_u~*{Vn54~ՙcѼ&8.LOOa/n6OV  i)]f$"$hZ3DN:h2nN;͇}x7݆vsE5r 9O43hSegЮcsaR!/ qK\pg퓫kB/a4ZؖQ,빤F2?N^wuAr +POKϳ@ m>P'T*St5'sfΘ>XaLT불Ka>WFB1(}v=;jr0aOxy6S8.tZłDci4xyx~!_ wTǢjچRfd_}D)9f%r_q%K֗7 #68| zPmM0R^n0>)A D=L&/X { +0gQoHg(h,WfylɕT({mAIqJ-?huEz6~1wneZ)9 Y5&|i{FNti! ;6Dq}m~aB+lK,=W]B/X^QsQm4q S" 71duG6p"Zղ#L?!9kB3ַ2N^hf=!92{?Kb@7rbby/ k{u`:(خ?jwj }\Z$ J+sjԃoك5vdX3bY{k l}G4ͼj!E4Ee}eu<ub ג^q"8`}Po.Uq跬P%nڳ|oLQ+z&YX"]iuE.GE|Jln&آ@u,G[|ث)gS=uc?+iz02l3Q{9,Y+yˉ<Ό)HUȼk#M"Nj:Q2=C*~u%lE ĎS2'V.1a%v◼7 m{F>%l=3SlhdwC񹷏 6BoG,-?=%}!w$}kF f Kt F1oohCs +g#TWf/Do@8^QG-}֊yVKI;`C^nriPe82[x1tSCD TJZ4KϳΫ^/8wFW=_6>ZV\:g2pߋ}Lܳ?2vu*7"յ}:(6$0ܿOwdH^)}$iMsq=C=nk}C mΜ$+?B}O{FqfmiRwvL+*+.FQ4T&wšmԌ֏U~}LCߚ* ;L 0bNeN}kѶ:^cy-]_;\B.QؽG!)W ǁx / GCbc$LdzgJ(|"9}оE;~Mar>?E|.μi"_DJҍpJYFIs'1%]v;j ۥmMDn%9/'gM-X6{z59wH~;>1+h N~$ Xwz ~Q\FS|p˞Wx>7o`*bJ#^$ףrNW,M Zlv?P@uØios#21"(mgv !`r\³lM:1n3ҽ3M]8MZ?2´)#FZ ˺a=)ač^ma BqkDI9OG>\2drY- F + /c`+("u,郍ETv}(zsJ1#ӋT~ +.[e+l 5C=d#tD}ߞ1֫y|<,6]e= xa<]JH D WX TԵ(b쫫WF iC2Cua\xG(h +kZ;'XڜK0 FIy¾1KPJT~jO8tCޚ;TzZ}a~[cRv~3רFi_~w۟%vv2Fs-LY5+dU>d`>i1KyOa,_/k<JJҕm`.vH2t1O%K x{~%f<?i/D yty{C 6]V9#eV==zJfmϾ?VO]s}n!7},0ߧa[nMޕ}@-`oˇ| ,gg~}O5훱YR67OѶ1c}0Nd6^ff]ۏJc.jAV'Tø*>Oh?)н&7/O(GHFc<·&ŗw0fNܿ +?ƥOϟ-8AhJk(e$j;k<2:fJdxdž*[57TXVu,&ɮ:IK/%@O:a/x(W % ez]EEHcMO- ϽKHM9}6\!94_!}gXyDk:b]֧m^rqKJV>Vdj}( ]| =+KA΂zǸ)=p9&YV>N,4gۆEr+hzz2mo,u!\{Le =~҇'j/v~w£\)ѿǫRj!i4S+giљ['Y >AlGca*p7Jb\tWX3cԗ/9?jcQvqg߷JXh8郎J>SwĴ4ge޿!9n[GO +9s=)(ð8G͠{#x`v5{z@kMGNјO~~^p譇g)>b\ +=\xkf^ֺ?rC"⏷4 W LԾnM7ߕ!NESu)pI|oF< aBKwi'e.6x}1]qŠm&+⤪WS Fl#\})7q~c[/JY&ywԫ,oKEt\9 |T?gL-p5"e|Gc>qk,@ҷi(6˹3%cKgǿjbCu|8ހ>Pvqw2mϕ#Wk7Zx;gKఌ-\otӗQsLdԄ1u Gk[D9)]eO}1}9!8" JYFB$ =5W\֫lXXEYi!>6n%[|ga\/O ::+60Rg}b[.\r ߏt/ER9 iJ' +D>S߇]W.B F4Nd;i6o6rZJ8ȩqKlOM_&]=Wcy3#Kx䮳?3%Q 'tzdtVu9;BddC00Ze&#vAߪE'N=Ǔ&o2cTlԤ͎\wFc/>ȕXoS:kk{~5h/$(JsǴ2]^V<=SS5w{<"cꋈ +?;qNIa +j}<~ @Pɩ$XaHvbQ]}̧?(JR;{rn2qjVc ?̅D"ҳ֊rnYӴ1;q-BmVSi)Y|xB9z1\.^-i]xN=*A՝Wq9fʖQ1yjkdl?y=D]ؽ|`DA] Dfxwq~/ +RqmgJ8+QWS& .YQOS/}-r*'}ud$8kV;=jXW6w|}eAd32HO|!t@,6UOH#dK)'K~1] ["2d?QV19'Yh>W;zGtSP^I*֍r6߶)" l&ًwDنb8KK ޽+!L#66{2ZNSgo^ p,l1nK +Ҩ=\F" z|]g9֟/޻EGEot՛}Y0s]Dsdu"A/L3҇`œܓYÆBy`z'U^KƻJ kQi_ͨ-Օ^-yW>+Sr >JG +]?^1YO%Iʶ5-'yjCSE:Wk>m> RWOFt`OL"* ]dywuT\>Y!ۻ=4c#vok I){׫bʬ[6ܹ<!nW%֙'OIXSi_Vz`IM +QX40~5[Ey pc*f<ŽtTJƵpxa \ƫ;ڸ}(=B4c^fD5K,Mq~d.-WJf0OWZW2|Õ{LqÊx(,{7a/dARƖ9$6=RBFiwM;m^CiƷw; ) w_ U+Է'm`_ȶk_U9﹢7w=0s8U|P1 q70HWrO{mİ(q= o;f5\-:mSKJz2eUNkOW9&"<廂i1&Sjq1E%G\ko +cR[Ү\_*i̋KPޣo=ku իGwYurZ|XU-.K4IݹnuMȿuжW8zOg0y,ˆą9ohGzX!&w( 4@DEr=e@oqjy/ģ]U X Vn./ޒ ګn(Q@ +endstream endobj 69 0 obj <>stream +AVd_ꩼlL%7`&H°,cOI@?2xMI5Jx6auE<•rGٶ!|p390< BSWd?衪`- e~KFtمeO1ZT>|#n%Vyb}㥫V_]4Rҫ5ǂ'*s%lK)"Ǔrxh3|$~wޣj(|wwZڤ̧= +ZBs_T8']Q`SS2gm_%R5{-nI2&OC^ڗsvSr\mhkFλj4P';Ky|w!LK+'^5ɉ!>Be)${2eH ; @wgsi'p5C7Vmh.K?Gs#4?)'=<1ev̠7!;ONhj|AO%1u9RcYmfc "fJ>]-e>ZDz=Bm}J<]h1Ϲa[t-!3'.J*rn)vg<\WzbOױx/<ĵDQDԪދh' ꖾe#}i}Ԭlqw^/!.SD39=5O +yKU@&YNQ<:+Z8G%eņvE d#$9|>ObR}C*ΘM O'K/Yae&}imk9sj.Os#ׇn4VMnɂoKo9.+ poC;(sq?‡k2"uBl/f}?0h>,H;zRN]`3C݊nm11+i֊ #rcopvC'cFbeht!,3d$gwU%)_cMqE"h->wP6,lCYWIcR^4<|F OEh-`n5_;IQH\Hƀd?87-ָ_E]x?'B׻;{/٥{Ud$+<=΋]n63>߯}LV$^pO*uLZ+` +z_V)lޘtKc0N-MsSz:8>wx^686N˥\+ .Z 2^;38]bVMs@>ؼhӲzAerȪ߿(qϐ!DbXw7a-ɮ/|K: ;<?q%l%h1}`OjLG-E+KQkV%"b%6 j~MUYK~΢`K #.'vWc0%8%kyRP=փi5~lLd쑘vG>ALo +wiFz#~ O[C<no[QsSW3֍q{B$^&UWp>퇙ʹ`}qf0|P'U>(UvhG H蝊ތQAc583v rֿ$mVw)k$nk\ Qt|){jG+aN}q 0~Xop0Vܱ=o? £U-& yte{&{cLL2/ȋ=¨WR,+{ 2ЩLlb9qsM#NO1ߵ]yz9Ah ѩlRz(7PV)[qHLS3΅ni]3^>c r?iXr +Y?@98ly} :Gw?},Me{g/2c?M۪8%ԃv9{\C;vg,-dv>{ȑ}'ND1Nj*؎i>xwǶ(3=2bF\O6z|dd{ըɔ%Zzq1Y߱dQ&Ŏ(u#&j}/t,6P7o^>O |Jd\Ǘ=%؎ +j$5KKsp[3G|l[lŊcrK>cP Ĩܝ.¾ꆽQ_vS`/l,.dKsg >z> B?<$33a?┸3z`ǡy?XVThe^b4kǭc/y 6>8 +XP4wXhbά\x>Q$ +ؒ!%'gUNYs[]Vo1mh¨zQ6bޅBmepY; +1.%o%l?(])k19.;/GŷǪ=~f9y]saB70$trn禤c}=Bygڑ= ;'|0pN2cc̋QU~ŝm M-=$z#-F0 ҮebӇfOfCtw!eKW],u + ;<ӼQO4{|( `֛VwV=YC/rG2{p8$|{uڢAqƠ h{Tt\L ϸJq m`dB‹Y?^L(/ߋP/dxIBbXL+{~xp"ZDؽva{碋L! GL=O+;:_?ex[ђ>Lu=ϮܹaB \{m(!Fy^50Ssv}o0kE iΦ^ҨS~B>kvN4&sTqeo0mȏቚU2(Y2g.:UT9.* E_@&fy,M|1+npֵhp Hil+m~UF͊Z9#· nO3~`">7=[D3yK6=8 f~'^׏!alQ} zKx!OіPt,P_^볐M>[<.MOsEbߠo{~:GX8wo zÈNɨ&n̏γ]kV$H3j#$<687ro:8NA!ڍܞy'6gGAvウS*cȍni#NƊwpM_N> o&r{gɼ6o[)>oo#A.Bq!BY"mh |(4tRKz}(\g=gi#bi%~uAZ#ubRn^ìnUIO2:]< \=I }"y&WY/R>IHrOgV'1'ԁ2AgM& y=@gg'o'JAWh>D,{R_B@ íf&:*En OlIR{$/1/)[u+U&yq>_%z C!9X zɧ2LX2p|% 5җYpKr{i(Sz;W UR,V. +\nIEo>Oq:q{c&Εt&HNX'حMM)?mseR:"Z瞯=l$BB{ Ng2Cwro v'5щm)Ɍ6 I|8'l\iez_ fT_VG%*5#EQ;_"ϻ7?ƛ +а/6I'𙯛 oйpx;vąוLj]v{?W RP3}6,K8 +^ߑ2"bl,s,ыWqz_#uY\f8(|4I{ǫ;6)L1:g6HӡE9eI Paݞ$O>(5ֺϫ.NZ589ԐYjWG7[g@VQ n/vA_s|GӿIzgMn J ,_䈽@S<5=AEfPd-vbwȘ}E-;^φ =oj( r3F[>(y Ik0?0\n;i=%J:t6ŤWXX%O/ªˎ\k) YPD{2VI;ljێuif[w +ܮM:]t4n^f4YA!v;ɹ;Yfܣq:]븹iedCjys\dVWz/gL`<`>n*-_pn@ Mj.}85`a/~ H\PCv]JXp3>/$4K9Y'x +.폘^ kmObZAe!/"\HӞ/v?`ANnyߜR9 ]Y:/qH ۪j +P ^bn18g)PyGݕXkIؒ5*!aQh园FHC8Jg{~=IVZ\~Zjo6*e Bgxj3\:"9 #_G42TxL.R1 u\p<98(iف3"H\AFFp$aLk;*RY:^r&MG>iU |v04]i2'C.q xvQ莯F3HK +!ʹ+} )>@KE 蚷|8ƫPFm({*4ɑf}CyǛKĬfWtr 8)O^c&5GtK6]r=Q:j";OQ]N+IXqWफ़쳣XL5MGlڰ$Hg'ҥCg, ,9ݙ|ñuE5CwF_i&T> ?#CEw dœ=pC?n@ &ӆ**J|K'k%YSLdT9?ZBqAEס2,>l1')~V ˑ%3a>A-A5[d&iJ^5H*-C +2t/j` b5K=1r-XVydJ y1j5(f-Lh}׮&!x dұg<܅3:.w1!.'TYN#$ͦQFh9 љ[}2Mx6Я\g"'3sTq^8:E/3[={bRiQʍo g<`WF5zyu_P~_HƑc'Beh~j﷿s]_?tz[C[-NՄʚbr q:3ifO!I Y)#>bō>M䏣\[HoO8 6\pk.ApτgZ.۾#0 oK3V,dq XJSFR'ȶtoLjeew4 [lOzDPe⽗+ݶZ8FqֆZdC^d /3k_;s0WOcؚVV _AGn q(+[L_t K&Uєc"lE,+ŏIR~\Eo*4@!0}璁~ED7sVS.p{Jؗ6UF1{'j%+7yW7_u&+PN8oPdo*)FazpfH<7/c}o$;=݃2Z9 #f̺"|5Oԣ[#Zc}6oayiW#嚺rw=;owcXy2t T<;2#V*jo?Ym[Apy׵$v.sbmαՐ`v봂d >>d{+Zķ_"l?.E%Cn'kſ$$*&՞2MS "&K}~=P ʕӉ6Tb y[1?f:rؑllbDeex1k?={S@aL:53+_&2 ;%^`G%kQE4'|N5Y~YӿO_o_??_ۿ1W_5C_o~ma]!bkN![)[QW*G7, +Q_CKUDžeyǴuOVI2(L oQf^b&ܑg&d*it&w!9t'^|ɩ;M4'^K(:.~mS[ km5Rdi XGW%%q.zW#37={{:gN7C3I޶ͮ};$CkU?a^h9*>uqB%dޓ krĜ^ѻgtZEl_[QߏG&P{8C :މ'7OCZk#➿mƩ'x9UtHjg0U?Jusİhf׎JrOZ;ud]+xr0BE"}t2VOBV֩ s1R>]!a9Sw%DѪr% T5зMڱVDV'weL übN;i/nʼ| g'x:ؚD1]B%1Ht7ȗ,OXbdaFx6Ln1n6OH >˔߾O~Sx.ʬu"' ?\SDed (jL|ʀ|UL}~8BL_H⸪ K~7 ]ׯ@3KFVlc{;83Wr3^33*;ؘp9YPqggO̍'dO%wr#k%Qv.KyN jv.92,@/0}12pE,G~O&p΢di@9sZxٰ(VBQ(NgUϣ^1.B6]~֬oI8sGy ^o^വq_C^[?R#{Q3qTdWK||6xrO\{i ++WŒ1EpИ +^#&㬲0rPA1r2|oov'1iL_˷o޹]yޕLhijفZn_أ- 5 +l޳h0B搇ռ{,MmNQO'q[5|:|F&u81&CAOdVex t]DO/ p-%nP6.eE~O|v8޼Mי`F2i<ۧ*(b±^bp$9!u@x,w.]`81 +XrSC;1Bƙ`ѽM| -mMnIx[r9Ln, +!A;oȟߤ<%X2hԔ,_+ZAu,n"-XLoT'wH`^q(DcoT߾3L$T;kDĻLdQ ?`f? Fd{ [ +W)'kyÿUЋx:uG¬ z.6bJ9u6;#<]&2-O{:]|$r;? &K25ȵIM^;Iw%Qvszhϭ.=1M+fYւNnXP'ӛ>ǣ*=üù9G8S,+=ٔ_` CT!#A}SƕPN2Y`*QfuBW=bK略QƬ4(G~6:/zGrUmUCvDg]A[Z.fNB շ~MvQA]gyHAh>#mӒ<cAh-4t/588p&po1ȸ\ +T}ޟ1Q@E!~q {{+ բB7WXQE$OhWrQ;aCo_b/䜿u ,a[x췆`HO^º +tZ繱VQ1g(ERYn=Fլ*_ڗ*"OkzO:ϘM_BtKEq{(? + ?Ͳ9}knrjzgqm*X@*Dq\t,%$h ;;=;Mh5 OȷbNފU$y'O4DŽ;]5kƘ 8}_G.7P 8t40~{c0B:s˾ +Dsl?0ҒSʜ\PѧGn|أDxGS6y&uơkfmȎV̸!hKwH9kg~i9<|y  +>qY<1+iģa]*0,EߛCWl^z\rt/g ~L {>auc9)#,B}._H)$>__\XEג!Yqo븫/8o!y`pb8G-gɉJ;^ڈ5}KĴܖ(E"~tH)?.xp,)VJR;4`Qt1r<ؒO_#aiuwhH{zJԻg# ݌.<ޭyk̯G9OęLi+U?A>ei)G%ꙄvHpeesI6물.[ ǸslQ+ȟoyFbUQ\Q_> +[PψgxŗRPs-Ľ#E>Va\2oU>po9FDb:ʈ%ޛ=&<0k؛p[6 ꯸5`A)$>c<+jȹSF7Ţ(Ë&q ]c>[31JV]z'-[SrXkn|z>+4x=[2V8Ąt.l#̇atQ^up'\_l4: ZgiXlg|c?ccFƺ^QpJyX%vׄ`MBPxO13[[لUylݘ'L,A,1Wc="??x+ 2~s%X" +8X-$jE~?ӄ痘yJI~c޹+~klMN~b;%Үe z=i5=zC˧ʺ܂DZrFΧ~^SH਍s:xp @ꗬ{mQra[|w\l4-?zfO~{y\H%5 W<߯-ZsrOh\=0-!˵93g/@s=vǝkr5߳.Y<#ba;?H6i^{9o53~k(t_Z? [dѼwdR3qț^}ϷGHgY jddSOg--4ZP@kg<}ԁ|R}7 a愶9=>$< ; p}ch)+-wef$ugߨ7O^H~G!9fxťP&efǾ?YE㞠 q +a5cԸj]T*/|@"_u jG[?EG6 [%d81/{G_*+՗[ɉ`[VzhN {OsuEg`/ +\(X323lrX8֨/D]بdT/BUXgr2zW mFa?I,%6Q"?pz ǔֻZͺ6e#7:R~ې=GGOb +eK +z,_ N۝j|bW*t3'H0=@ɌQ=v,ˑMOv w̛*)&)[0]>;zG&vo7QFRUt kr+ x>A}yVm֍ƍtOa[+ +Aqn' zp 7BtR})OikN񢻺uI ?C+̯x2g-yS!lK {wp3X4.}%s}x]~|x#%5I)k}1{ݟBm`F%uMJUaq63o̿~9R#8+zppQP&;PoGҖoeyfP{v4F"u fJP_tFyxa4湖RU7O922fV%˴1TQy27ly:")l~X?LH錢63d^<0'_7kwi[#$[obvL9jk /349uXlNnt~rENZ3iܗ^c\{K$Fp̹~tڸ*k{fXs tl mM &=Ɠ-n{جCd4>/zrRg{?#_'ꑿ :Cd3jsGuIeοxcۭm͘~s^n\"I".ó1]5='KCM>/;$Q}D) "f%•wz%X$DKԨG!@IPOSf*pDDg;ֽUF^XJLoE]eu5Y?>a8)\Ťteunְ݅ؖ_C;> aX; B]:ۉz +"R|<5#DD|i7Y_Z@^z~f+/"nc 9-MAItA!G=='\愦w1q~_Kg=eLҠ.K'z::`dzڹǖ%vHJ㩘ql++;0yO&/<5dw X.=E(/ͫ^q$ PZ a/+ß=Yi$O1(:a=9M۱6WT yk7I>X>YIϺl&s1dx*Ggc Q'¤S,K {q?l1t{t+26E+qԯK;E~ăeK\zMa_?iѸNc3,}Cl&V|iʁ?.6l>㩙|9B{k#1Ly;ؠSP4a^~!uO+;6|ˬGʻӄް&Fkڴ>u?OLhggS(p"?&[E| yNҋr_= qʻy, qz +RK־< ^&f}_"BφiCȗȪ36=Kf@a֍,-yO#[DκF @/@:u[L[#5R%S\sH=Ρ?iO(gRV ʔaǯco~;f99K"44.+$_yntZ%_y~.|M% iTn!I]mn*h"`srTm[h]kY@PPZԫ'~""D<\g;ITVWM4ƹbHC9`PnJjg6w|]SMoJ*TUrn>N=d-cVT^2- ww_U}$oW_m(d>IfO>0TVpdrt#D7wK/fޘ}pwGgl]Pày9[Vyl L58kyjxx? \x(esʇ rC~O wD;D{n2m6*ǘJi=Jb8ֆ 9~уQ :T,Pg+cP& a04;q=lm'W@W]!\O; 66"8b}ˣHt?]z|{\xT+ 7/- V-_쉎Ъt(-ڇAB]~w9RÎqϚo}CSR؇xMnyL !3cm 7;f n +e)"rS0D2=#(pݗ=twR *qO+*!Q}Ζmj0bۻ9 wU\afW%J`fx~|Daa_;C=f%z_a{]]tg"дӸ]o(2ŗ_rry+PX OR˖:M~oX˥܇Ҳxm +MJoyjnO"WqlQWbnǁ^2%z|\ū {x +RaR.4q'ZQgiUwd1P| 3>}TOhܑ O)ؐ?"$#ԑ|A;+8!UIuAk)e{V[fy{Fd[T _Q Qǎ`A 0ń"z[Mv" [\{9G{u?fU3w%mŶ{νy9P:$ZWm .U&<1Q `}c׀¼4`vxk3YZtwfﱞʟpT΂YͲeR0Y6g@yk>l$-"(T+H+Qu4הE>⨪V銗pּ*txQl5Ȱa0YF į#A>~2׽16cR2 \p +.] {ymEFDa<=zo%EG?!UUbAktfBP˺m$49k{>΃1NjJҞ}&!O(cr +*$%T}W4NSn+]ĂAWlU5qK%mÀB~ɩ"_-39^y^U5Q)蜑яN +,d)aU5k~s<^~:{4+֯>K܁{#׀0e[lT|5 +7j;zf(b\e| (4nrI4r3T}4|>x>dIkQ'1!3~O]͸W&8仞h7=FzIb(ܑ쮽»yO4+4:U/koKBH}^VJv3sI—ATdQSBx@}2oc{z Xq=!`MWsh aV!9İQz}6n +]VqS:%ӬulS֚nQ33ú- ~3P l`rIJ,dBkJtwK2aA}qwluLN bFDr;w"Jpf_ׇ2=Ud8ChݚA+>' {Iqp'-`~!߽k %9g܋: l;Ω1/>C_H ?ױɈt:'͖l)"v1 :/VJ#g\GѺ~?Z47 +{ZH3L:RtKm] .i -ǕOlMLD@wջjݱ1҃ ,|:x9=lb]VJ7n367?\@=.^kR<C~۽(:~f+A~K~]=H9 ЏY =ZR)&=RI'X`Hqغot|>d86Ҡ2gf*%?3V11RtYB85!Y&zо+?!IqR;]f1~bXNٕfɹtƾ)q`]M81{a=þ=s*)3Rnm2ory{}Bv$/;cXǴ8?+l#W@{hמr2pO,+weU 3X/ԛbm |Y; BfTL~b))2Bj>1me4cN 9K2Jbδ|AI9YXҰҟ%v.#a?^F"9@8Ӗ|RQ;Yuϼݣ& \בO~@.kmmFځ6vR-9rYA ̯: [}6dH)𤻭"? n?l9-ҩ'I1&ެBpĶD5uPc2њ^k 蓦@{[hqiW$gG&Ug/9ryfxX"U]afyۨsul&n=k~ުu)̣hb}$8\CW!UF~)eA>eoy-)@',?\fnh o2p@O*`}uǨet1 Pmpp2&k ЪRA_MI7F"*^3޸IT!Y>'Kt*-aΖ01<k}-:^m2+69qza0r&'1\vdI-Y`]g'50v -v[1%Έ ?|K{ž87۔,D!J\_9_ѐk!3ƣOn5PXM86p^; +ϖbQE !fQ~F3|35'PK=M"&?nͳ1BQ<_? ^~l;Zk6إX&9@؉+ kG%fR{LP8[ܐ4{&1la``BpWy21OSKhfZnt=6)#gx$AA).wAS{fD҅AIZiq!<ΰ-%B[ɹս:~q] +q%MU~Yxf2Ƶ{?,zA~sGyxfhoCRŲeK4$ws]yxUX]χǹ3XiN?KLOx +&o$G0yc^^~!垪P؏zVwh\<> +R7 9{Lj\k7K%5+3WlcZ]kr5ln34iUsolb9z4Q^YFXFʣw^\ڑAT]W?1:I͡5S?d@FrsSϢl>Y&ڱTœm2ׅ&Oю~a!t'c ny cEwUX\/'lXn55YzMK䂵nʃ[-T 4¤_3CNLzg,D8CR;iA4WgdeSo߀wG"> +KC|Į?:'U/Nމrf٦S?мx ;&άVW"3sJ ,Y1 JKxIޢJ#i1wWN L{fͺ- 5%K}.14rbKDUT8Ч ao"sX>cq9w$d4'> "ufAo/R4vq0\y[%s-sa%~ۇm|56DH{[q|wQ12ˉ1MgEG-T< eŴoU9 ȼ}vόZ!&L(O&F}ƞu5{7't}f[ҽ t.ő@D}(_[ZWF%2!/n޾Xxlyeø/J.z<5)=?IjBd@iI降t !ĺ `ėyk+~_k8l_(pb  kdP,nЖ. '@j9m%iOގgջ!zbg}t:]ڏ/bRE㰟7yyp\`a:kT!NVŰzcQp==m>|/@% }- v|xRzsӈĝ,8ZUW;+)e_춯qvH2%:٦7kc^l. +SS-3^@ Y`Ǵu{>$_zar:4 ƱZGmwD89`}ڰ/ѽAzn$ 7`;J:?/N-vOMχh\3M`Rawg~ЩKw h8n*`i6H'4^m2]b+ zޱ{IUX;$Ia.YB.ˆ#YՉ1y"weAiVvd +YV!¤vN~%SK4LFYgфd1\ki N7:16IЉQ'AbC یw$;T/ w!n?_<ِhjI7Wyz34(52&bʂpFd`s}u!h8/E?|.U7 +lvQW2d+ xMcw6M)<|-s htR%k]11vHwr4,(R R!N_ߴpx)@!耿f2X4=|pH2:6H&\)'[k + 7RrMaMXTwYqoR!:{ bvI8c"1_ۤ.{e$8%; OQ&7׼[̻#G\awLZ) |Q©Ԋ|~ }x9=o񃚒4bx7OIk{A[AW%J$Lm}-8m<ݳ ?U?K`6~55fJ8$%zL$Tl.أO`RV3^zK"BW}?9̣zѳT+:ZdNG3f4Tmv^ C_9*6Ǯ"f5P@b+&)Gvbkv)JY>>AOxKǸJ?Qst?U &wSG!43T9$o wqy9ژvԯ^J]Q."<lN[ݖd w.YNJ`כ}Q-> ~0}~/2ϮvgkϘ1 ,8<˗fZkrn1p!ߵUa8D~&{ C/ +c+Jb>Ҡ:=ƞ|h6w")Θw/ '1=qv?1V61=-+)=PUہdY&KHd_Ar~䟙Ԝ# j1>m~ ?j Lqdxxx#Qeլ%xrA%l79-)¾mij tC \6 +8sBu}Uu?Ų ַ~֩ru5Vƾy3xLyW֑vcukiּRY[ ZY| Y@\ǪG Vl ߒt`H`6>㟴e8?M2{+Os,M̫`J`]yW a IL|w+wA8PExmfl䔏ƑS|+AMZ uWkrc^ejj6 /JLm<~؎YFμHX ++`|t;$՛e!&; 'cCٟq1=vFi+YaW \,"y g$>f`<05? :6iLODhxk3`VY>f01~a'c̗Zʄ8LMZ%Ǎ5b2ݫhvJY$K2ܣ8Ӫfyru_r ]{Mǹ~B魗AuUrorp5/^ÜxhpUiLM(sqn*֘L:{U7=)RAv,- ZF.Qͼ Ώqx893v@q uP +ۏn ^6n[nq%ESr S.{S=皖Oηдcđ 昺]UF KA VޯҚYQjazT*]7$5r~2.ؘW۞$%ymx $ya)N5˸)gGAL9/W(|#[/qXd_h_yi"eW0J"ѵkSqwrV,qy\SNrO2|U0Ag(9g@Ԝ8F,gee/}ECsKLa<ƽJEܐyEWU +qsG1в+ 푐' U+1z%ݳN#KkɁpns ]T cS-4Lum |Y??o~/~׿o۟g۟Oo_O|O~Ϳ_lYk_~??c?~?}O1ou=,~|#/?w{5?>W/+?~ӏ>Nڷ/~t\gr}e|l0z63}Gze?8U 3*a0֏:S$~Z vUpG @lkM@e1lR#o!$u;WfLnM RKW).{!έѦRrۓ7ƙ+'X=zQ^xVP#FK_'Tbb9Wqjb]OiY| u"6AųxkNcHtk E|tMAh-updѺ]LHKj%{]l˫#;mIT#6r;ހ;ZaZm. 3茓~Ԙ)è %7lO[!}4~KnĝEUt—_tXBg=O.\&bĘFU_9o诫/'+3kH; v +Z,#@/aUYԿ뼜VLd ,4k+"-#iqS{.U1/؜@Z䍫@^djU?tag< +CVW7'^kz莵1bkdgДwۂ8a$x g\)!AG)>giF!mEuΰ?#=^6DJCGIBO۞"1JW.'A,R{AD܆[1mwe~#~[NNk;\=k-u( Vod +^:p7sA6?CΎ^PȫϦRI ffzIO+# <(pw?o>>u +O}>7'eJ (U~[&?x|Tݶi5qh =ȉGc)+8Xx'n63#I,}bOxd! Fg*I{d̟xXx꠻7*8[aa+ڿd3`6JqF?#$R#G;!U,GJy˟է|_lbǿO??o?~W ͯ~_?~;TA[^l߱r&S|~//?{?//y$qƿo__| +~_&|o7OOČ>3|Qa,_}?r@y??o?o?7R+)cNIrwY6 Ʉp~?⒮_֔5UM.SGX°{k2E~3 np^hmbKLEt) UNߛ_I^Mb2~hϒ|L)G@"+8, $G\ڬ5ɼLHT ֠QuH[w\0 vy)/AVM+nηTbEsA3Qw`=h b.P Ȅz{Jce(˩s݌)DD(_{Jn1"i1 [qTG"㚰?UP$<Ը )䔗kwS' +ݥZ'<#ˇ7G~zr!M=t1N_` +'E-+$ٜji;AF;X̌%qNIƬ5*` R5p#^3<`Myb}0tAw ^{e:Y:PjT&> 3f07kϛ}m-Wi[L_{mj>I2~d n+8tIWJ?@}qۈGbQ+#_E/!u5=lu!!r4lk5l1A1H-]$LIꂎ~-XA98-x &gRɗmb:8#S_Ğ Pr=7K$P}LVHI}X#,<޾ʶԸ.DpE' Lcڒ{L3ա#"Y,NIѐd_6E0bU61-7audi߷jÉpn+ꅃ?m՟پ[('J؉;mY7x,G4㥉tc;iDpin{VA ƧDb7Kt D-51bE +Se>4V{ߑ-=m [ҧ-9\ݪ#bflQ; d#LvуFy Zx"%=㞘&Y|lU]F X3$ `ZR͎||v&b%ׁ m/Lv>15YC0b%OvT,ìEB1A-了P~WK-^2[ly֫'Zn:adx3jZ],tY52*P[7yy)owPD%W8} v'?2`$KO]r}&)? +/ xfW ϘA1-u Jr2C|42@@S5QٓHAnWdmMPn]swW 'yNX;W!&VwGBu͡5=JsOX&/2 Mkzy+ 4W'X$tc;:E'2`S큸X*7댶XNOxC`$ +%n4&vpM  #!IW`-n+⽾Cal u0[-YxS.. + Y/}ؖWdP5uJfko&Yr,- +/1cǂ\1p}Zbpu95  f09js]uaKL[0h~*&cw&Ey9@S{@'i݉ r34xƤzr(OA4AfŌd4QY4TՏS2aB5I._Z4Cި":30T28-G)5G6ՓTY8W#wh$b֠]B +N| WLb?=PP"uh|b>a}z/å$y,X/_w˄`dx^ezdMtWe*J* L *X/HऊϵefCylkBBV!j ~iI}rX*ϣU +HX?>ݐ byDLjm&īӇl`26t\ n'HS,Ao@;/)$l&O`t%`=8D~ӌ-W9n{yV ORԱGg ׌-3HMlWk[A$Fz%潞*]Z>Y]IӸ n>x#ז%*z=K)23i| +~#&oss8q ۻ2o|D2].=vb|O7>SWmO[arYU!D^Gn@Oj_"X?JiȅQh:n+ڃ\@&?ҙXYKWT֭\*@tuZbg|)t:"-Oޏ':&}Zel, E{bS" 7*S 56X1xu+;AWj 'wn՛ŝqjLOSo?zJt֏e:ۉ0`%͖bWc:v+Ocv~{ߤvDF<tCO:j7PzVUx] %it{#T?}>L =X%!*=^x1nud/I d{mZF~#-P we+@ ĩ\՝5nagV9ڔV^KzsPֲ'+7-,l{"ODs+8v`—3];Okb&/t('VwO!]:eTo!+gj`xtT[ ij^p5z .}_BNgZ|X݀sǐ0%Zu:R|z g%gY-nb޾-kQ~duB3Ï%'xRoI +7߃#57鲌++Q"|RP{' q֧P§*];w(.H6rݖc?~<3$[7LgO|*,/lkij4]F -}VrZx^~1zʷ(3' ;FU `kG$7lev6^إ0'dK|XTeӱz*5fALOluA7*mO}{*5ɇ&qܑbtp?cobh;phs LǥԬଵ9rI_&VA2ǣgBJ0 %}"n%uTYtlJ}ݣ9 ϟ\ϟW~3)b,>5>XLFb&y-8iɿԲL2wOhm#awNDs u[F_ibZx:jwe &ISJյx.I(k;hR ےS +eV04 +z{uҦaqArt^>(%.H3H6apxal^Vǚ)IVۖI=ڲNEc9L=bw$5X{/|߾wD+\AemCB'c}]?ب@]xwD& +Z:O/`]ߣ17[ ɳlgv56fA7sj.j&)H;qND'-ڶ yLMD?t^ +}:i[jTmQ%_Xf"ߒdsXvKkXU6fkrtH xƀI?fV’FĞe41eH+Ckb2{)4[a2}aq: rSV_±9|Qf5ʋF>1 ;`h;npہ}!@+3zn9}uND ڱ@/!.D9q伓(c҃yn|"|WМ}B<-faN @B,}NE'ib'iIŚɒj GKXb+G|^9!ڸY~if=EޏwD3m!%"61 +uA^ud*zۭ^ Ҵ-`qnQ&,|M@깶 x}Mq|͞Fٌ&i"Z]rs( +tBd lmQom-P[#^ +XUvkиvkaJp\ܭc<,`-2b3yI2BVhY3%vflT"$1_^) ς4.KR#6f&]_A;{dAM +`~ZL =eqMO 2|Pm+&OV1c^d|VQ+}a/h jƙ=եBwZ WI)Zr9 1K5#ǯy%58)OP@=Gy8vg648uKm RsB$I4?w5ɽa"6><ܐ 1,p%5q}1Ut|<V:8&'<(s/䭸ؓšz|Uw\Od%|Gbؠ[tUL9.=NL9e2 Ն(.XGDb{dn51tA!MBVF/[!]<,* zъ_LOYyj\OT\H8KثNM]uEC+D"U.߼5Oz:|).&~]i"Zbn[%;l;JZ\m{x.ח%814KJ#/')傜կH--h>rF g+<ŧr1jUi]1&v_ha/ p>tY]aeW-|b1nycU8觿xF=lH?!|: q{:#ROF[vD_~rg#7}s2[$TՈLF>lu$/ o\V}9udd`eBw2QWhm:ҖNgܠ7މ2D>"D&UU'c&We.nxi,'iWnvOU0CG>E K~̾n.4a7BjOވNM16]z3\4JѼ^qHqiqP-faҮ/'(H'jc˕PiwrRGDdk՚<*0v3ކQCqCzMvbV)$ F1IZ7f5BB0X_ w4`c}$9%՟zI.L^B6:'%V9uOx֘j~}eဪ1Y\3ZA0d(oJ._i?/pIma}}PzŌ+C2)TZe(`6xzztFA5{֍@muk㷑ܟ`ie"lkzs2޼j&GP+g6 zFID$o97PvK[e72~/Tk's}sT@^ 7uet.O"_|"lQ(TaSgZτ'[a#N_6c<vV %]X~bQh\( +O.U=#$v +OJw<ގ\O, J|'Z/y=\99ȕ³ƁbZG#Vm->oeXm poG*gA"ۍbյhMq-< L<EBɅYX =XVih⼭("ݜwB3  +шjXZ@>i'M<1eP 4%yZ뤷G և[mxo[C0KDQ^Y6&[2(MPKE MM"HyFXʝ #Bm:4lj2Ƀ࠭dM +Әe=vY1gJa:kP!zGnt3 ;<aA.߀wPԵIѢGܛGo0_z,-꥓q;^s5P|縖mfbŅ`|^쌎< Nj+wVZ/5o΃Xa Ku!Q%D*G&%AftAXf&3*MVrLPOZm=ZϺ-<xtN5jby/_7 o3QtɆڏ+#d;Km :g5?A:dJ~=-$pů9p| :ate±#ldXmX.?t$zwYcD2>B6d^L>)vόmڝ+}SN(o8֡mBH~.m^gv,5y\,DR:߾]Psռ (;-iAϡ̻&ww(c 7z.m)Oub7ãjv-)ebz+6U1ke+=O<,$Kh; FSZpV @zO$_:|"UskH>Dldr2{aqgNl.֛}1BH{}KّN1Ytk,C}m%hUzmπX+_Hk]y 8+SY[QZ [Gۤ6 A?A4l9QvY[ 'gR3+C 9Y,>ϥ4a鼶&a \נ+jJd`|qA0_? +oO`|ԇ:I6Nfsw^ 1^ ac"3e3iב5Fư41Ʌg \n-kR#d *e;;;ѐgazVc`ô𼘘EGԡX`M!07UYbFȂᘕΔt&*L$MSi"oK +3ӐddSf_XGʦzqKn7 ;MuLMlc*& XE=W- kրkQC]3Y8kGw?Sfa%7]*( a0e46n9D+J[aG[PCy*1pÔd-t?ty' JRYXM.ãXѶT䅴 zǵ$~pM"Q;p>rdB)/+J1" k- 36g>6񉷩C '+}orx, +JBOm;Dr f\MZ\w^CXۘu?{8vf\دwV {(njOm:[4WOh ]"Hfd\LX~-1WuhJ[yS'hGk1>q6O6= Q7$ t| sNy>PŭTgZ< +e<5oَvt`J` bPͲMZA(\9r{eG!d{婅uwc6~X ~qj[X\ǘpTgE!}qepӀ{yj-\OO>@:pU?_% -ژimՁXZ֫iw%ZqMnJ.ى)9wD;HҴ?߁vG23)91/ (r'f[Avw˱x3:SO"UWIHж.a77qN/}\&LQS>^!{א\U{>vq;>dp)"Ux-Xs9-(]BGYGS^ZF;Ws*^;؋^J(Aҕe\SD%/uS/mZO>]zxU +j#Fu5VhBެN5qhVHK;Bw5ە=m Z@3'vMDSwy0mh'>>na)ـ6Y[3 +-ԯjaP\^"օѤlB,ardSB7>GO ]^3wǙto^x;l9z:r[XSwGz摩d0m_ıUGɜԽ;,Rz>`ە =)&dIy*pҧgzլ,l 27,#cpP`np<㽣+sq[ldZTVh[Pm +EiiHTPPJcxq WZIv(j~T0xjѲ^ +n]yks#U}w ꓵ+_+L"ˌAR}B!gLͨoM5.zf/=׏[ɮ#JU5FWBu8аP0u&ό9MFEc~wnAuL)ES}Qm$0O&Vxa~DV_B5mwVqKh{f&)PULՕE/To'Ii*&֝9VҮwUC0".~=LO<P|N#J,av+k1z|O_ˠ +"zUBBpRnY'uWTW:>qIOdr#ރ x‘E5kEXkm0EXW^dkpaQNsp~.M yX3/jǚnHنf_;G$߻@U6'Y1F?@I(,°;/> pZDDw>ѽC6(C=MهF~\ ;>齣fr]17,(\D'..-3gXpB_/f,B]7զ7ujgphkcm@I?MMP'ȭA'ꬍ +JdkO=yڳ k#a8/:46 w!\a-$9ea%=B}K71qm`X.k?Jv]1içH~ؓ4"r@3}m^Uhu4k>AnHVm Xc ]كy igm{k`macB}nI%6?Ic޷OʀuN`(Bϓԝ:=.>BVtze,<:k8P Q6W!J X=VDWo;}b yv|.C[(PR gi +A_KUEY<0a`]ߊ1xN+nM>gcʉѓ߆ave 5Fia88iL`..lY7L6F_}1_M9Qx%GmVO쐷{~Ő}߳"cXcL͈^tr=}Rz={ %nP})"jTjvSBׄ1ܯj"i}>Vl㔳2s{Bس[qMX6܍-7dIcyL~3eϢ2+zKCBB`M`mi@gvcPр̣.8~pܧ՜9GK{/TSV-j :B8|s 5 ]L +M5E/^S7v¼uGj@oR.gF<˲Xc>AuI c054k F?Ԑݦx5u0 +mпBoC2mxf^Z7-ĽG YEgKKs0gscz8/X(,O6ݰjUY~\N}j,*ZpfS3/⚙"˓aBL r &Ze:8g-J)OZ0h{\4hs mYa¦ȃS:$aʣ2dK=BZE85vk78HʹȔ,QsplbqJb.[c|iBFfɎ Į2!d;I$ +[r*֛V>lE1^a>(sw9sbʽXKv-f"]m=,PCe_ef`3~ +灖~Ǥ@KmTTBq6Rꖶ^b¥F,p[;؉ae6k;=%=;M}U2emk)9wdP.-o3pY4 (폼Q;% JLWw|ܻ+>xxӉH=Ɛ&Z)H4%c E?LP;i?X!ʾGW溹 ]3%)<_L6#cN43^1*~[ KV h{mB19Js~Dsb71l)*w+ײycyspM`sZLbvwʩ=_}Q7fk2 HlMdSn<lQnhÌê硈z +($5d@>*Or6kGXJgI,X-Jߕ[+짬!Y2flb8Q`mY P-+ƁL'׺m-c ySb+\QB!wd >3ʹ0kbʒ]6A-8JJֱ*?zMQs$KB?ZNhV:\m{Qh~DGpX0S쯩וpMLoOMs_e_ +~상zPsa'job1? ںOg^BiF,4f֪暭ڇ}^c l5Zۚ +-ցƓ[~ 3 {F,`/|Wt._m0M?ᩂve7!iK/mexVYt'`3eaZ0jg`0~#̑BsA}?ǃaNcao^c&{4•'<@n, +sP%&H1 8b_ N~W-]}3ZQ~:Dr&ǥcZ'9EQFnmڪ~(Tk೎*콸#%zzIeú5Y˞}B H^6]1GP)qt/\uÚ}ZW)[':j?E<[p]U>xZ!8 +͹ˎJoqH?\&{5xJr+X;)kb +TWvLKv)3曋ba6:_1GZXYCܟd1`]H]M; +88f۽z4*Pɞ =>2,[+T] 2&`J"/Ft~f8}Oٳ}'4}AF)x7:b4j鮕 5<s |+zv]fg'1)\gYawm$ɖQlHiFt0MbQlKfIuf*HD2ܗ2Chnk\|ϏiJI Uf4.h[6;ڋCJ #[4x9y.OyUjpe[$t41Q<5(Dr,`$(ΖP%1_85"EQ(K=|H3#9HZXERVGSW8.ǟ^>LURzVk`y6(#JQ-}2N˨hwk!+RY-y\HNi Тg8)İ{p3k]"Xɘkd-ϊ ő3Q|]U}1;Fŝ];-~.o9_ #JL%RK̔f}&"|>be#\~c<:i ; F7ή 1QNabk1V犤Z,}w$trm):}J<ߎ8l#\nOlhl4/c6"ITvMދnk^Dz;\ZėXx(5Q䡿Qә{sH?hq$rN4&s PIGP +/ ^*D]n_xf9N+5K77:Vf܂b@+cLu +qBT*%o܈I[܅⳼JnI\4ޥ5 x\*k%b.ð+zǵr<*v 5NY/`*~/ ɚ|1)٣;5YAwRgUdzzKaql2nPb>E;M?l{%$%Ԭqt x]jv|a~ڵ3ɫF~tXV]2C@YN`uʚU6x!Hª̠OQpe+4GGM]f cArƷɨm!]lwup}Jĉj@RQ=ĮwSF$<|(WԽB \wk!GӸ%Lo`i"-=LƳbR ?A+Q5xmHYxj sȂ8&{OTc\Z7-~b"a$W-PN꣏%}<+[u079Umou;y֚~didY/P^yJ /PJ +)Yi^[R 2Ú +0mtM@}%IR:q6eTTFh5c]Z Pԓ{bN(^iĤɯ{/iK+LfI0YW +]=>4KY?\DǧkFk4h9w]a|%G*N>1BXԏ+f`Hkl܎iޜ$}*':phA-#4JȄP+2 +}ɕ>/V)zIb5@ ؎Rkeg蛒 W*S“cp=̘´i.;/pi%!wՖ쳳ݭ ~Kl)[+ ;]@1OOh6l2C= Qs!qEOI=u)ibUneltDN\B$_L"lk7Z[6Pv=Dn;{ALzaثZqo.vh_sg`&fqϭD%tHdZ`mR 3OQ7($(q;C]j.c<sYw5ߖˆd1<szZ1JFzSQ޾i]>:Ez,Fq- ۿƅor&M\Jֲ7uMކS%9@Kz߃f1 acޣ_5dL;;knhid*Ѫ5]הEu>R+"W|$"~>'d]6"ZǼpKFT:=h7ڙN*/ǨtԓP, v,[#n(ZFՎryki%%,Ϸy+ϛ3WP+~?!&c%8 񌻺)fP*.B18sQCJZFf|mqgi/Sק-y7,dZU:3Ng#*LX* +?=H(rp^v?2r?\Z?Nh+e:4FBN"M 'kZFa,0̈Ėxg=ڳQ*{q*pa \l{iGoZA'ề]g<+kpy3weXPC!*$\Җ]*:ܫ:UyG؈(b0.;qhZҿ\ohWy&g lPPE}e 0IlfLu\'-ꇾޅ +|@ p[a@ieLkaBkraC>*3xV,JY-Gɐ5Xٲ#ƫ[p4@Fԍ]嬇QTY[8B  ERA_;E +oՐ*

M/ f6R̳J:JQ :'rl +"am+\6Ɨs/~sLAKONo|V?|6֏+r|[ϕ@A{{|7?A|Nvftioގ^塩>gꉕGrꉚ~jѹ˿nКN|[Ȭ aPۖ1k|99<f[_8-v@?9oaVv=5xdMm ,Ɩ'Ky~og6*#S +'g@PU0sF+'9﷦bx ՙ;z: +k't؝=[:; 0grl>C֔cc7{: +29k5&)~PKo_~rl}xhb@{orφAЀTopldV%1Ƣrl͙,_&!FrhWOfߎ MgnazG kM7A󦶇셯Om0x߽VS;yzs/҅"|xd&GSX`m G.VoG_s7 twz?ͽvx$^ZMF,},+^))Y_.=ҋ5{T{Xo^<zljj|SNG@;blsj~jg[Nfy7#wzzeDnN*ePF*v]vfW^K~_H,e +/_fVO2?dV.},,vz;1ȝ}dNygܗÉa1z=wᅓ'FSEˁgCKC s/q_6/2~7̺tY&/+tdŝ{>w˯ՇV5=myzcDxj%t @U*kd='ct_Y}2̾q]Yugz7 BwO>/:=/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>B/>/{YHܓDg[ӟ(3cJ|g 0t0n*ūw!3RL D_W9 rbM>HAzgI0p] WH+eYaR%*M)W5MõWU*W,\1mۄ oS:z?&aWۛ5mlU1|MR=*218s~Suw/3s^DbpR_W 'w.Vo-#53 thM/˥1{>7'Ԇ:fQˋk}A: `b/\99i}]=7צ/hm`onoReͭΐiʰZ^aX2 Л;Iچ?U_)l=X* 㖗pWQ~E]_KwZP:n(nūɷ6cm{Ǭ~gM`çe}:OjgM=mmT۞N*:KB[~n6 Zye]+"|=q& QL@Z8w~UUE+RmHunEm`oX"WӳM֋"ZY*Vc1;m"#:嫓2µ5ISؤt2]0{fo[t}.اx^)i=onvҩΧ8=I^xTmwz}Gj^.[ߴ^ GmQӋI2 mcN؃l8\ ;aܿ{[{h`ngoz>k]^q؆cl3;}{Lݏ$w>q͓9>sw;3D#`q63AփyZKmwvj+Gu?z;;,&*חb|V>/^l3kM_{<+ZO+%uwd 6k2C- ew3v6G8EG{> endobj 6 0 obj <> endobj 8 0 obj <> endobj 22 0 obj [/View/Design] endobj 23 0 obj <>>> endobj 20 0 obj [/View/Design] endobj 21 0 obj <>>> endobj 18 0 obj [/View/Design] endobj 19 0 obj <>>> endobj 46 0 obj [45 0 R 43 0 R 44 0 R] endobj 80 0 obj <> endobj xref +0 81 +0000000004 65535 f +0000000016 00000 n +0000000216 00000 n +0000049284 00000 n +0000000000 00000 f +0000000000 00000 f +0001013250 00000 n +0001013180 00000 n +0001013320 00000 n +0000000000 00000 f +0000049336 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0001013622 00000 n +0001013653 00000 n +0001013506 00000 n +0001013537 00000 n +0001013390 00000 n +0001013421 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000132902 00000 n +0000132412 00000 n +0000132341 00000 n +0000132483 00000 n +0001013738 00000 n +0000049778 00000 n +0000139266 00000 n +0000136582 00000 n +0000136469 00000 n +0000131131 00000 n +0000131779 00000 n +0000131827 00000 n +0000132786 00000 n +0000132817 00000 n +0000132670 00000 n +0000132701 00000 n +0000132554 00000 n +0000132585 00000 n +0000133185 00000 n +0000133433 00000 n +0000136617 00000 n +0000139340 00000 n +0000139807 00000 n +0000141135 00000 n +0000148555 00000 n +0000214144 00000 n +0000279733 00000 n +0000345322 00000 n +0000410911 00000 n +0000476500 00000 n +0000488468 00000 n +0000554057 00000 n +0000619646 00000 n +0000685235 00000 n +0000750824 00000 n +0000816413 00000 n +0000882002 00000 n +0000947591 00000 n +0001013777 00000 n +trailer +<<23F605745D7B114BAE4E9D4FD3AF9B8C>]>> +startxref +1013963 +%%EOF diff --git a/res/img/CoverImage.png b/res/img/CoverImage.png new file mode 100644 index 0000000..969d778 Binary files /dev/null and b/res/img/CoverImage.png differ diff --git a/res/img/Door.ai b/res/img/Door.ai new file mode 100644 index 0000000..84a03d1 --- /dev/null +++ b/res/img/Door.ai @@ -0,0 +1,3137 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R 31 0 R 56 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Print + + + 2019-10-06T17:32:25-04:00 + 2019-10-06T17:32:25-04:00 + 2019-10-06T13:23:12-04:00 + Adobe Illustrator CC 22.1 (Windows) + + + + 128 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAACAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUh84ee/KXk3TTqPmTU4dOtjURiQkySEfsxRKGkkO/RVNM VfOPnb/nNib1JLfyVoiiMGi6jqpJLDvxtoWFPYmU+64q8Y1/8/vzh11ybvzTewJvSKxYWSgHt/ow iLf7InFWG3uv69fOz32pXV07ji7TzSSFgexLMajFW7LzBr9jIsllqV1ayIOKvDPJGQPAFWHhirMv L3/OQH5w6E4Np5ovLhKjlFfsL1SB+z/pIlKj/VIxV7P5H/5zXcvHbedtFUKTQ6lpRIoNgOVtKxr4 sVk+S4q+j/KXnfyn5v00al5b1ODUrXYSGJqPGTuFlibjJG3s6g4qnmKuxV2KuxV2KuxV2KvEfz2/ 5yS0vyH6ug6CsepebCv71WNbezDCoaan2pD1EYPuxGwZV8W+ZPNHmHzNqsura/fzajqE3255mrQV J4oooqIK7KoAHYYqleKuxV2KuxV2KuxVNvLPmrzF5X1aLV9Av5dO1CH7M0LU5LUEo6mquhpurAg+ GKvtP8i/+ckdI8/BNE1xYtL82KP3cSmlveACpaDkSVcU+KMn3Unfiq9rxV2KuxV2KuxV4j/zkl+e 3+A9LXQdBlU+bNSjLLLsws7c7eswPWRtxGD7segDKvh24uJ7meS4uJGmuJmaSaaRizu7GrMzGpJJ NSTiqnirsVdirsVdirsVdirsVVLe4ntp47i3kaG4hZZIZo2KujqaqysKEEEVBGKvuX/nG789B5+0 dtD1uQL5s0uMGV9gLy3FF+sKBSjqSBIvTow60VV7XirsVdiqQ+e/OGm+TfKWp+ZNRNbbToTIIwaG SQkLFEvXeSRlUeFcVfm75o8yar5m8w3+v6tL62oajM00770FdlRak0RFAVR2AAxVK8VdirsVdirs VdirsVdirsVdiqb+UvNGreVfMmn+YNIl9K/06USxHfiw6PG9KVR0JVh4HFX6ReSvNumeb/Kum+Y9 MNbTUoRKqE1MbglZIm/yo5FZD7jFU7xV2KvlP/nNjztJ62ieSreQiMKdV1FR0YktDbLX2pKSPdTi r5XxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kvqz/AJwo88Oy615JuXqEA1XTgewJWG5Wp9zGwH+scVfV GKuxV+dn5/a++u/nD5puyfggvWsYhWoC2QFtt/rGIt9OKvPsVdirsVdirsVdirsVdirsVdirsVdi r0b/AJx58wnQvzk8s3JZhFd3Q0+VQaBheqbdeXsJJFb6MVfodirsVfl1r9699rupX0jiR7q6mmd1 3DGSRmJHsa4qgMVdiqOttC1u6hWe20+5ngevCWOGR0NDQ0ZQR1FMVak0TWYnKSWFyjjqrQuD9xGK qkflzzDIgePS7t0PRlglINNuoXFVOTRNZicpJYXKOOqtC4P3EYqqR+XPMMiB49Lu3Q9GWCUg026h cVU5NE1mJyklhco46q0Lg/cRiqpH5c8wyIHj0u7dD0ZYJSDTbqFxVCXVpdWkxguoZLeZaFopVKMA dxVWAOKqOKuxVNfKd8+n+adGv0BZ7S+tp1UGhJjmVxQ7+GKv0/xV2KvyrxV2KuxV9/8A/OLn/kif LP8A0ff91C4xV6rirsVdirsVdirsVfCf/OXP/k57z/mDtP8Ak3irxfFXYqi9J/46tl/xni/4mMVf qTirsVflXirsVdir7/8A+cXP/JE+Wf8Ao+/7qFxir1XFXYq7FXYq7FXYq+C/+csP/J26v/xgs/8A qGTFXj+KuxVF6T/x1bL/AIzxf8TGKv1JxV2KvyrxV2KuxV9//wDOLn/kifLP/R9/3ULjFXquKuxV 2KuxV2KuxV8F/wDOWH/k7dX/AOMFn/1DJirx/FXYqi9J/wCOrZf8Z4v+JjFX6k4q7FX5V4q7FXYq +/8A/nFz/wAkT5Z/6Pv+6hcYq9VxV2KuxV2KuxV2Kvgv/nLAf8ht1f8A4wWf/UMmKvH8VdiqL0n/ AI6tl/xni/4mMVfqTirsVflXirsVdir7/wD+cXP/ACRPln/o+/7qFxir1XFXYq7FXYq7FXYq+E/+ cuf/ACc95/zB2n/JvFXi+KuxVF6T/wAdWy/4zxf8TGKv1JxV2KvyrxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxVF6T/wAdWy/4zxf8TGKv1JxV2KvyrxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVF6T/wAd Wy/4zxf8TGKv1JxV2KvyrxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVF6T/wAdWy/4zxf8TGKv1JxV 2KvyrxV2KuxV2KuxV2KuxV2KuxV2KvQ/y8/Inz/5/wBFm1ny7FbSWVvctZyGecRN6qRpIaKQduMq 74qlH5ifll5p/L/VLbTfMUcMd1dwfWYRBIJV9PmybkAUNVOKsTxVF6T/AMdWy/4zxf8AExir9ScV dir8q8VdirsVdirsVdirsVdirsVVbW1uru5jtbSF7i5mYJDBEpd3Y7BVVQSSfAYq+6f+cU/Jvmfy p+W95ZeYtPk027u9UlvILebj6hhe2t41ZlUkp8UTDi1Dt0xV5z/zmN5E84arr2meYdM0m4vtHsdO MN5dW6iX0mWaSRuaKTIFCsCW48ffFXyviqL0n/jq2X/GeL/iYxV+pOKuxV+VeKuxV2KuxV2KuxV2 KuxV2KvvH/nHb8kdN8jeW7bWNStll83alEJbmdwC1rHIKi2ir9mi/wB4R1aorQDFWWecvzr/ACw8 m6iNN8w67Fa6hxDNaRxzXEiBhUeosCS8KjcBqbYqmnkv8xfJXnWzku/LGqxajHCQJ0UPHLHXpzhl VJFBpsStD2xV84f85Y/kjpunWrfmB5dt1tojKsevWcS8Yw0p4pdIo2Xk5CSAdSQevI4q+aNJ/wCO rZf8Z4v+JjFX6k4q7FX5V4q7FXYq7FXYq7FXYq7FWSfltZW9/wDmL5WsbledvdavYQTL4pJdRqw+ 44q/R7zLqNxpnlzVdSto/VubKzuLmCIgkM8UTOq0G+5XFX5i6hqF7qN/cX9/O9ze3cjTXNxIeTvI 55MzHxJOKs9/5x98w6ton5veW305n/0+7j0+8iXpJb3LiOQMO4SvP5rXFX3J+bNja335YebLa5Ki FtJvWLt0Vo4HdHO4+yyhsVfnDpP/AB1bL/jPF/xMYq/UnFXYq/KvFXYq7FXYq7FXYq7FXYqidN1C 507UbXULVuNzZzR3EDHoJImDqfvGKv0t8j+cNI85+U9P8w6Ywe1v4gzxVqYpOksL/wCUjVU/0xV8 1/mR/wA4a6vNrs9/5GvbRdLuXMg0y9Z4nty25SN1SRXQH7PKhA2364qzP8iP+cYT5I1iPzP5mvIb 7XIFYWFpbcmt7cupVpC7hGkk4sQPhAXfrsQqnf8AzlP+YFp5Z/LK80lJR+l/MitY2sIPxeg1PrUh H8ojPD5sMVfDWk/8dWy/4zxf8TGKv1JxV2KvyrxV2KuxV2KuxV2KuxV2KuxV6D+Uv51+bfy1v3bT GW70i5bnfaROT6MjUpzRhvHJQU5Dr3BoMVfTWi/85lfldd2ivqVtqOmXdP3kBiWdK/5EkbVYf6yr 8sVSzzd/zml5NtLR08r6Xdapflf3ct2FtrZSehNGeVqd14r88VfKnnTzt5j856/PrvmC6N1fTUVR 9mOKNfsxRJ0RFr0+k1JJxVLdJ/46tl/xni/4mMVfqTirsVflXirsVdirsVdirsVdirsVdirsVdir sVdiqL0n/jq2X/GeL/iYxV+pOKuxV+VeKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KovSf+OrZf8Z4v +JjFX6k4q7FX5V4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqi9J/46tl/xni/4mMVfqTirsVflXirs VdirsVdirsVdirsVdirsVdirsVdiqL0n/jq2X/GeL/iYxV+pOKuxV+VeKuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KovSf+OrZf8Z4v+JjFX6k4q7FX5V4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqi9J/46 tl/xni/4mMVfqTirsVflXirsVdirsVdirsVdirsVdirsVdirsVdiqL0n/jq2X/GeL/iYxV+pOKux V+VeKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KovSf+OrZf8Z4v+JjFX6k4q7FX5V4q7FXYq7FXYq7F XYq7FXYq7FXYq7FXYqi9J/46tl/xni/4mMVfqTirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs Vdir/9k= + + + + uuid:3c1a665c-f0d9-476d-83a4-d4e6a3deff8a + xmp.did:53895770-d25f-4640-b305-621f3cb5749e + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:d1c078a0-2746-42b2-b0d1-25aedff8fb1e + xmp.did:1b6690ed-28a8-c141-9479-b6a9cf6be651 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:53895770-d25f-4640-b305-621f3cb5749e + 2019-10-06T13:23:13-04:00 + Adobe Illustrator CC 22.1 (Windows) + / + + + + Document + Print + False + False + 1 + + 16.000000 + 32.000000 + Points + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 35 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 236 + 28 + 36 + + + CMYK Yellow + RGB + PROCESS + 255 + 241 + 0 + + + CMYK Green + RGB + PROCESS + 0 + 165 + 81 + + + CMYK Cyan + RGB + PROCESS + 0 + 173 + 238 + + + CMYK Blue + RGB + PROCESS + 46 + 49 + 145 + + + CMYK Magenta + RGB + PROCESS + 235 + 0 + 139 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 190 + 30 + 45 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 238 + 64 + 54 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 240 + 90 + 40 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 246 + 146 + 30 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 250 + 175 + 64 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 249 + 236 + 49 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 214 + 222 + 35 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 139 + 197 + 63 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 55 + 179 + 74 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 0 + 147 + 69 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 0 + 104 + 56 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 41 + 180 + 115 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 0 + 166 + 156 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 37 + 169 + 224 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 27 + 117 + 187 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 43 + 56 + 143 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 34 + 97 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 101 + 45 + 144 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 144 + 39 + 142 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 158 + 31 + 99 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 217 + 28 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 236 + 41 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 193 + 180 + 154 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 154 + 132 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 113 + 101 + 88 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 90 + 74 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 195 + 153 + 107 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 168 + 124 + 79 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 138 + 93 + 59 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 117 + 76 + 40 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 96 + 56 + 19 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 59 + 35 + 20 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 35 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 64 + 64 + 65 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 112 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 129 + 132 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 146 + 148 + 151 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 166 + 168 + 171 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 187 + 189 + 191 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 208 + 210 + 211 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 230 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 241 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 236 + 28 + 36 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 241 + 101 + 34 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 255 + 221 + 21 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 0 + 161 + 75 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 34 + 64 + 153 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 127 + 63 + 151 + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/Thumb 62 0 R/TrimBox[0.0 0.0 16.0 32.0]/Type/Page>> endobj 58 0 obj <>stream +HlRN0 +$m+qā6xY +P}~^((ݽɗ-Q֫D{zqu!UO20AIEfPQ*ՕՍœaN0>QŸ蘫M + +HVj8DP8[զ2!birHs"\_lGl[-ҜhRjV7-O-o}gC?Y&ܰHW6/8!ӌml4Ð"%R*c߾z{rִGd yZXqQ/ԻQZJYءi~5 +endstream endobj 62 0 obj <>stream +8;Xp,*:#.X~> +endstream endobj 63 0 obj [/Indexed/DeviceRGB 255 64 0 R] endobj 64 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 56 0 obj <> endobj 65 0 obj [/View/Design] endobj 66 0 obj <>>> endobj 61 0 obj <> endobj 60 0 obj [/ICCBased 67 0 R] endobj 67 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 59 0 obj <> endobj 68 0 obj <> endobj 69 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 17.0 +%%AI8_CreatorVersion: 22.1.0 +%%For: (Gnarly Narwhal) () +%%Title: (Door.ai) +%%CreationDate: 10/6/2019 5:32 PM +%%Canvassize: 16383 +%%BoundingBox: 0 -33 17 0 +%%HiResBoundingBox: 0 -32.03125 16.0000044564267 0 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 13.0 +%AI12_BuildNumber: 312 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: 0 -32 16 0 +%AI3_TemplateBox: 128.5 -256.5 128.5 -256.5 +%AI3_TileBox: -286 -400 302 368 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 2 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI17_Begin_Content_if_version_gt:17 1 +%AI9_OpenToView: -12 1 32 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -12 1 32 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 7 +%%PageOrigin:-178 -652 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 70 0 obj <>stream +%%BoundingBox: 0 -33 17 0 +%%HiResBoundingBox: 0 -32.03125 16.0000044564267 0 +%AI7_Thumbnail: 64 128 8 +%%BeginData: 4612 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDDEFFA8FFA8FD38FFA87D52522727F8272752527D7DFD30FF7D52 +%FD0FF82752A8FD2AFF7D27FD14F8277DFD26FF52FD1AF87DFD22FFA827FD +%1CF827A8FD1FFF7DFD20F852FD1DFF52FD22F827FD1AFFA827FD24F827FD +%19FF27FD26F827FD16FFA827FD28F827FD15FF52FD2AF852FD13FF7DFD2C +%F852FD11FFA8FD2EF8A8FD10FF27FD2EF827FD0FFF7DFD30F87DFD0DFFA8 +%27FD31F8FD0DFF7DFD32F87DFD0CFFFD33F827FD0BFFA8FD34F8A8FD0AFF +%52FD34F852FD0AFF27FD34F827FD09FFA8FD36F8FD09FF7DFD36F87DFD08 +%FF52FD36F87DFD08FF52FD36F852FD08FF27FD36F852FD08FF27FD36F827 +%FD08FFFD0DF8FD0527F827F8FD0527F827F8FD0527F827F8FD0427FD0EF8 +%27A8FD07FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27FD0D +%F827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27FD0D +%F827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27FD0D +%F827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1BFFA827FD +%0DF827A8FD07FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27 +%FD0DF827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27 +%FD0DF827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1CFF27 +%FD0DF827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1BFFA8 +%27FD0DF827A8FD07FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FD1C +%FF27FD0DF827FD08FF27FD0BF827FD1CFF27FD0DF827FD08FFFD0DF8FFA8 +%FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA827FD0DF8 +%27FD08FF27FD0DF827F827F827F827F827F827F827F827F827F827F827F8 +%27F827F827FD0EF827FD08FFFD37F827FD08FF27FD36F827FD08FFFD37F8 +%27A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD36F827FD08FFFD37 +%F827FD08FF27FD36F827FD08FFFD37F827FD08FF27FD36F827FD08FFFD37 +%F827A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD29F852275227FD +%09F827FD08FFFD29F87DFFFFFF7DFD09F827FD08FF27FD28F852FFFFFF7D +%FD09F827FD08FFFD29F87DFFFFFF7DFD09F827FD08FF27FD28F87DFFFFFF +%7DFD09F827FD08FFFD27F8277DFD05FF7D27FD07F827A8FD07FF27FD25F8 +%7DFD09FF7DFD06F827FD08FFFD25F87DFD0BFF7DFD05F827FD08FF27FD23 +%F852FD06FFA8FD06FF52FD04F827FD08FFFD24F8A8FD04FF52F8F8F852A8 +%FFFFFFA8FD04F827FD08FF27FD22F827FD04FF52FD05F852FD04FF27F8F8 +%F827FD08FFFD23F87DFFFFFFA8FD07F8A8FFFFFF7DF8F8F827FD08FF27FD +%22F852FFFFFF7DFD07F852FFFFFF7DF8F8F827FD08FFFD23F87DFFFFFF7D +%FD07F87DFFFFFF7DF8F8F827A8FD07FF27FD22F852FD04FF27FD05F827A8 +%FFFFFF52F8F8F827FD08FFFD23F827A8FFFFFF7DFD05F87DFD04FF27F8F8 +%F827FD08FF27FD23F87DFD04FFA87D5252A8FD04FFA8FD04F827FD08FFFD +%25F8FD0DFFFD05F827FD08FF27FD24F827FD0BFF27FD05F827FD08FFFD27 +%F8A8FD07FFA827FD06F827FD08FF27FD27F8527DA87DA87D52FD08F827FD +%08FFFD37F827A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD36F827 +%FD08FFFD37F827FD08FF27FD36F827FD08FFFD37F827FD08FF27FD36F827 +%FD08FFFD37F827A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD36F8 +%27FD08FFFD37F827FD08FF27FD36F827FD08FFFD37F827FD08FF27FD36F8 +%27FD08FFFD37F827A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD36 +%F827FD08FFFD37F827FD08FF27FD36F827FD08FFFD37F827FD08FF27FD36 +%F827FD08FFFD37F827A8FD07FF27FD36F827FD08FFFD37F827FD08FF27FD +%36F827FD08FFFD37F827FD08FF27FD36F827FD08FFFD37F827FD08FF27FD +%36F827FD08FFFD37F827A8FD07FF27FD36F827FD08FFFD37F827FD08FFFD +%37F827FD08FFFD37F827FDFCFFFD07FFFF +%%EndData + +endstream endobj 71 0 obj <>stream +OU1Q0ń)S GZL>üyLD1n&;w431dNOOTe] pReRxwNΛosGndqֆumJVjnim4SL-WXvc-*BtSm/&M;Ote6zM)1(V +?ῃC8>#J;uv|{roܻ IKKtu ؀]om~x]{']*_nnv? sl'sf&Ҽ- +mӋQ LeyF 3%nFFu3eu3]K(jtH.\OJ-.wI6wc@<9#Iw b$Y$D;0 tJI4L?Ēh~Ckb<_ZIbK"IC25zWT.4J5\.bW,z_7Zk 4n9oJs[,ۦ4/%n.hqAF%Н~x[k\Iĵp &ĵoe\J烠͖A (\ ._TJ׃m ϱӼ[TZʅni|a-=aLpCWe2v@љy/tik/WJEx.c2Oo_ي34~gۦۼ +ݺ7~gJ9[eJa=byy3;X._oqxrE V1)~be-pؤVYl2+|CT))_kU^~-R&*e$Ǘg-̋nR y?Qzr\T@jGj+r8:Hǝl>&V<5upI!Q#a uIu['.xݤصS~4խ$?ک@ %L>Mӻh6e$ibvԄ4O;>/jL @M @M @M an]\\Z:@4-}ҔBﲅ>) njhKJtZjDzW$EQRGcthLrŸݟ@{f+fuq2HR;HYU!M/+}maEhkv<+㚯Mq=.˅&]VE?R@qvnR='}礛~/}krṾ δ\}=a;ȉa\_] +Quςu G-lf?mwW+ȑKSˎquTa٢vQ qMݜW eܔJ(nPtWSHX]!l'}U / W-Q:U({ *qtӇ4%JS$dt@>ރYaLUF2< <[:)W?;;tymkiR؎HWۖ@ڷX6R~jvƅǥN஋LK+Ri7H"#%2۩QJ|~q=3Y ^ƶ-!z~*/u2BکS(Kqm +G)pTBgȳ<ۧ)Dߗx +=#xa݌hx+\v1R.^al#_E/iWi|@`U};t/o!_HЫcYa{XҢ!aAdӍ +vP!o~l Y@Z +/RQxrnԖ+ +<* !Bٍ6yf1yHDL 7I01 +q zf~Z@N4W `998;XŦVzWvBꁕraQ\"8[@RyZ6 sv٘:߸z$+{dfp1rf-^ ;@$ .KMR +xm5Ȣ[-mlD5W 5jl lbKՆ`r&Fy.p O5N{v*l*iDiZjXADy 0 "0oI$$@<(8'Vp ؜#A@*!+*v #o(}t0W`-Id}He]"|&X85 KjX(R=JaWR 6yr-?f ĬMQqQѠ$`]|jQ,w@9e{I"~^T4fDZDkXo ,X~6 4 B"@@IOF5Yv iaIunؐl:zǙY>s7PӍ׹9H&BWD*4Deܧ5LD!G+qI\КtfaGvɚld> 3 ,bG,.o=/0I+?wXmM-;0\ϴE |(UnC-C h_-rc%RMC/2QyR`*\dLS*7\w /$S l.PȅRr#d:_G)4 <6#1Q'np PAE[(ACz@*d *%:[VP#4+%ElDCb(&CڈQAϕ'% IQ[X4hۗU͊q[=vy@&*t/E&"_"g 'u1Aӎf.3bx [BA}VPI]R~QȽG6&5!\K96DJrLio!ƙZJGlW0z\ㆭW*34D\m6p!Ԫ@NA +K%ˈ#e;&_('sPA'9BI :| ~HM +>.pOr9V#Bq,|+?5TǡE;,0`mi|*8R ;4pr"q$OW™@FDr, Jjf>9kGKI<:vYcPy#G!J5hnBj4R0kovxauXąN#\V/>'o UMDAHYcOy;P# -]۬CjdI^zh~"CC {*%Mx8B@Ҟ" =hƹhD"j8n\Нo<HP. o:F}aZSTӮ CAy\4MY+ `x(4D,A 4] 2#\(\k:#"ؔH0Co_4~օaxL(?d%{P1̲ז6 Q&Zb10#@cۑqOXZ@9`́IYayFO +028 ({$$0G>#MP Q9@9 ]8l)v*&kQ%#˂h4]G|_Exc," [2HX!+{:XhnyOA"/C#2X̒$S1[v *XtB@A{'6|8g,o4&m,"?IvC2#>ǔyhmT[dᑾ90C,3OJ68#c:$0̮aMDc+ܟBd"0\'0Fh8Ubs&MT_rB% HGEFU/MQsx`Y)F +AV5GaDEtd"xtUbjZXdFkhAH#B6F.-ddn5A Rrq/!!Rx`GQ$nRD!+eQd6 2p4"C<W!O5$}mRai&P3(3H*U9en&P$Xh@4 lkp6Ix8G`s,&]d7n8@"F"T@(0Envɤhto~]RM&4HhxMs$h?gP0;<ĤKW9vsGR+^"30YlYrN1&]7|Bn8PlW8V&0'ځDBBȀOU1^)l_hHo^pB4E#7Ƚ')>u5yN-r!QF軉W#@Ҿ+NߩNE 1>@H l6ibn6^?) +< ƥCRz dRA|laL ~ȹ}9RL>ڗlj +s#v-3lpQb +Iđz0ǚBF+89DGb EZJCD'a&NC19I2< 9"2f+<e Pds ;indS2^u@ +$^aN;NdGYmĆc)A#/ 4*ƓΉ6yV7~&3Mm2?ҤM`/"M'EWagԸCk;(:BtڙfIED̳ʰ9r4~WB& +Ln$PoLS^!H>dKU.BcWB! _Qn]7iQ|#H? >Y҈I=G١\ 5"; +d\K D4Ј4Xb$Y!:,QZX2_H,V]JԘsnIm|wMZ(tHQ/&ĕXbpCŁiՓaFf\.\G$r9`M~4|(˞e +F Nh g(8ʿ p)5,NJ Th0.є9~Aѳfl"鄮]D)3 }v,ݓXhRÕ{(qѼjyxd@ҏHL2esəT0h&c00fr"qes7J^%R`yP Y&=:&b8I 7KF L(sbφfOZM0.:чp2< ݬ2# 0a\P R;}vZ'>mH$zRHˎ/LCvb P}>p3Q^xE4.y 17l5^8)ͨ 8f74rbRNm^Ԅ1MҩiWDPe(i0:MՎfsq&2Xa‹/99MgIQn&%B>;j*vA:Tɦ2EW2QbDHN䌡X(L"a.;^3^A]E[DJLji"XSyh\-19ら$k&OOdj䉔bPqL'$bDEn\h>[,-WDa2?);HP4x!zHr HW4ūQ)\,ˈc*EkMP(t`Mڦ27FK.o,AWrI +K\J1.,VGw! &R81]D +D#n0F@GbiBFf68#.z_6\9K^0d .+""n&r8 fU熩(sb^bY*YU=!@ρ\~"bKdIJQc8jJUoELPdɟR;TkCjE>PGzݖ## O]FfFn;,26]4XhEzeH*PZ'p t^vY ֖`pE[Xz悱Hk# a FБ%2&%DB;%0#pCmvW! vx6v(0F?hRCCUVӂ*2lbئmFՆ8#'s_/ȷ].ɳ20Wr%=1XiBy⡜z|+c33Ӷ9(kg@1^<e43cUCsdǑ!さOJ\AN$&01c= ^Z܄JP1KT"Vge&XhDFaq#&b';x.cN΢7h>/YkIpFV(1L[JmV4LHՔW(XJw$MMU5G ++h{m&輍}<"a39-8NwVDb֨g;k@XEvAQ +h. +S7gOEeSPdF + <(2T[`šPxpp4 =Eq[tNصd9I?>ZmQcc14uWQecyUEs2"xLmJ_o~LZ! RxLUX0"*W@ΜÇhY,$2͐y]0gau3s +z]%Fo杯鎾DTQ><*_ +Q>66*G*];@}cৃ<"A_ga%[Z)|Be]!va.e%Kk6ўpә쌨"]Y}UdFL=chZI5Gզ*eƑ ;#M&(ZcD>?aKҤ?X` +w۫W:$EOa©ŪW:mFNt:2\'Ch:.8oOy辐!j +QPQƪ ޑo^3_r +O 29YHE=t[˂W֌FP!\:M!*k <ۃ 7zyb2[-_ +h(u n R5}c0m*N;,1|Bi)[4EOB0;{U_o*|p?~y]ix9]Xkbڴ42[ܜ ץe&.uC]B+b +z@P|3m)H$ (7/chpKU +OX _=Dlc㝣e\:NiKWᏠ&$Hb>Xg.1 ,À-= 5C<[l44,%8X(nq322TWЇ|>F ^m0]ڰec;6` HȆnڟٚ 4lJ6Bh# CU{%j56v'S=$)>=H7&Hx4EǶz4`Q~1F gKaZS,l|)N+AN[>͚NL O|9)<7l~(3Ǎ³T:j}TMcvQsDO +&0&4 \G.0φ~KUŻU{_H T+ +0QGJxN.!D1O +xBshƮ_aj(ҦPr38Ce_k|5ƎSGG8֖Z5642!G7GGK<.w%@5vY xtJR uixEXǖAC MGbnl>I1?8ŖzŮ ץɷ..׃6TRyR)X(RurW(&m6֐TT !h +:z +$T">?- ;Sh% %jə7]^U ^W7tA=vI:j֑|>l_<lGR?Dv]{Ux [?XnD[5DQ$b1=T=X0GwO 5t<=\ftTcfYx³oJ< +@!4s:{x Ktm"hA1lMhk}<8. }O,J,4&2a5vAO Y]{vXKX~V&QސπNaqj-ǀ + L5 ,x q{JcjNh?_ޜqZ*DDxIɠ-bY ex:&>}ڴ"Ec)UG]r`I(#v2@i>B}Sn /d\ {v<K_JF1GHcwP|mq&ӥ!' paR!0¿o|xw^gmj#l+v|']A}a5@ +0c?FiL肆H=cGp\luMO*~A )Sl?6\Ϻ_#0osH" Cq7jkN.WtOǘl`Q ,_K`!P{yn69֦MI8(ux$48=4KQb$1XdBs tWWļiJjľHL;X6z* ++ +֫Xs4]P}ƍyI Rxát +[RUx,u舉.:ע؏t].G X ``%8P8L%`E?f.G9zgx {QI@oijX\=UKemטz5#lQDtfAն)ZA~Li4TP9 +jZ\s|]S>bS,1nj%|7bls0LIia`2xBCJɠiP"J6#!Lg7տv}Y>?I^l[^P._dKՋ}Dp \]͎7gb=c9VxGϨ1@mC%ՙ9` +:? VwF +L?lHM| c5V%-,0Xңun#>נBvtPQi"mHjD-6uAX +`8WQY-eyt%2f*t< Eo LNڐt6 *a;pףz܋qG ˳ ΟqM;\R(2{ګԱzx]:RK xS*mX?2)-'G=9>## _hj*TTT!5*n\ +|E-H93llr4-% T[q_S6 q`yy𜜦 bT)C` 8HsIO>-YI>+$oS'`&M)̑w*AE],+40S&eVSIj 2u.vtS=ꡆAE =G`)iT{ʬK.dM h,)CU~ 1k1-0ڥ)w.X@XQQF#ƀN-<rj eg&̚.O +mpα%B 9%P:9)xadNl|O똦 x3K"y1p-T,BLTޒ:T@$[ +]:(3&9A!%?7&D7Nx2^ +ʟ):G}Z4NORWZU#HT I ; +34=ѭ"aT[\,. @^ID ő.*fCKsƑSy $I8jڨ3e"#Z9jbæT%ΈyᚤVJymA*kJz})Iu`624Yg9CBw=ǝA:~R"tfXû +pEr[ ;aH.d,I2UÔG_p)\ڵXCFh+es'@Wj>lZR{-|kG2ƑmtI&Kl@~TPfce0,;S@}7%I`낔H4_lm,#Є' kB{M02]cN7ˮX-,WF.L`%L^ H7Y-hn(3Q=vWQ\@Sզ2t[V&Xf;cU@T7*RWTǙr14Årc$XZQ8-z4,f#iȸ +(+ŸIjh-:C\&$NZ76Bm]uHSTW ]X5=bSkHcz$P-֞wkbjhp # Y# *o:#R / 8~M5;TqB :ZE :Q*ѯ!K}p]igהrs]VjE:C+LmK-._^)_Z\,=m 5_òR>2}B<_ZTA%xN (a;!oS1ŁkR"}*c-F'1w#mWʢls}I*<ljQS=:PAڣB"mst"tc\OBeF<` ѱ5q;FipG*T@za:Rz)q63` ѱ5qRYx%\Ν"vwbRXAHNgTv +FIe0(!0NS81DǦD{xCxW[ԏ +@k(Mk!7XA8ޥ{i]B(<6G J4HLip·C&n$*7O`E<ʖ@ш vzV8^1*0$oqb%2Clt&AfP.auBVFWCr, v%0.n@g#jHm [54 ,zO_N%U!.+|mB~ڐL=KpV 06, +/ʓl*F6dcv*L5!;0JpM_-C?x%ŏU}_N2 8{gSq_T&BGy,&iR^Ӂ2@* !UPpM1/ۆ1ᅏP~C)Z,fYaŮl]ۅցdX,VBDi:sBį9'X7UdRT]aq4#AVsXXj>/3:9ױvv+tnU&4E)j{AN>*e01♚jsx5=0(ܮ~fnUTL@Ťvn4b1 P}bPJ[PEGK H2?~B01UhIZ u\ؐ84ɱ'POH)tJgr7O@!OEՙ! +˜A( Vsu R^nڏpg"B@msb]蛋AC\."Úk )N*1m KmNn|~*U>&qƞ6f +A[W0GD4!ۮ)ߵ)fMnMQ ~83@ A; Uh(CA,1&:XUE9p +XisReؙG,l!W#aP-(jz` +Je-(u%׌5Q|˓UEFSAdQg1ꬪ ñT[ߏ\Qm<8Z`[iK^ 0 FQ!0CF1'E wUĕСpmjd{ Z^_M{%!Pl#7X`r* FC 6J#b[ ^84j!44LfLTuLqkuU $êQTcQ`mIEP-2ګFFi$Q,:( ;>!@ +MvGNj\?>ίZ`TUhkƊR1H-0Q#Vc/̤|sx,@HGP-0)yZUNm>?{oƱ4 u?H쫘 flzöIDZgzf$9IgI"mry(e2SìbTC/0iҡ*@UͨnFchdnFfTi͓H9J~1TP{ }i(ʴzTTA1GzT !t4-pX`UPjM]1Fvf_ ȺZ㇝FQٚ~YWkyilt⛓:X&F 7010Ŋ2''F85܂$9 W`0c#JRd>e@O{xMދ, A5[Y K3{L̸:TmHrܭ!(Ҝ#0F 8ܥ>Cjϼb{ 3'v2_('J re{IakfbPz-:F@^k' +NDI :T!˞%!K:n]V@67XnEXkX dII ᣂHcLwuq̏#i^gB2ˍ2N( 05l~n]#6JPzߠaA6~ŦBRxMx ݤD<~kY_Q {Zݷb 9Y8&&KY=llrXZG"D, +S) W?aEg,}d]%R HMPrZt%ծFK{b<&(!CuJGJE@pJi%cdҊO q=@*|=eH=}Up:0#Cy +b(Y:%#I%~a Sy?s&gΎ?72i\VAH/A5o@d(ka|oS勊A1H4#|<8c&cniچ)/pdBaFElbn:L`@0 02.ȑPrdļB"/-aB> ', pZIե t 4 蠧!E.}G~A;7fB{bP:&;אtwGB;o]KA)G =$ XN$7HGRq+OadX(t*0>'tC*r@vS,޶gعC㺖dW-`YoL;v'p>PXG-z}֖ B +VUBF AvfE[aqM> TR-YBCB ăD+E +u+bZJBź`&O8bMh3:K-RPG΍f׊9ȰD-/%(p:ZZ6iOtAZ)aIEL)0o1JYX0)%̕~ki,Pan;Y:&%4< uv /'!4:F艐2oVĩ;Tfya)8 9ǫ X q3x$<FdڮgQ1Ԅǽ%1F~bUuFqZ$O,kK yU 0L[@+ %H,f0քHdx!\0~Ov+"z% eEe%dS#A՟Wm$My ٚc<.>!z+{ + h&&%[cCc7N#q:;߲NM0%4Era 1q^LL5R'謋HysZF$2[=L1)k $4ݹFFÙ\CWNA/IcĤnJ٬>N"lE MIp%q[e17}FÚ98ɰiTrY[OȾ=Mq]F+``gp0}7N8"K(]5 +kDjT]2ʣL:Rȵ#Vba%Cvw&?7!2T}Bʅ.I ]_T%rKR ]J7tҡKR ]*$U.tI~KReCʆ.qYq@$&"I\TBʅ.I ]"[~AKRBʅ.I/t)[ ] ]*$U.tI~KRBʅ.I/tI\T%.rT%.I ]*$~Kˆ.I/$~K˅.I/d@% ]^.tI:%B ]^Х(EXB'tIz%B (jȡK/6qJOrKˆ.I_rK˅.L]^.t u ~xAI$\rK$\tsKjȗ˅.kB ]^.tIzBʆ.I ]_T%rKR ]*$U.tI~KRBʅ.|V>N sJlbi`9%XSB޲N sJ 4 $M;% (0дS"9;%RS";v#X6kqS"-S")aqJNrJ`#$\J9%-A#g3N rN K;%qJ8%!sJ 4 bM;%wJޗvJTlMDbJ4r)AS9%h-i8Ho 8%6Nuv)aqJHvJ C;%MYgA(ȌusJdCNԢאښwJft$i1nN!ǫ:%N4&< œuJX#M1딈^k&e󰦗uJX+q)v?8;% vJ6D$Az(((TTD +(M Xc'AAS1*nHuV!a 3. +ŕ*pP\)GJl0uP(f5. +LNwJњA2DbTCPr +N@‚z* b(ID` +%w ()j.C׸(N %\Ea(/k;`y(̤ʴ*]JBS㡈]InP\@B`z*iot{(ܝP8Bk}7$pmE|e7O4 -E2$qPq4yAAoo7X- qP败͈IPCx!7Q`y2"^RAb9&$>? +m.bhԼҏ=J'K@PPZ CvQ`( ]ĞD0L@ pЈEJ*\J=JOC$ + j<ؙc1R.)c*q+EŜN 3;t]+*4k8%B39!5jn⛬vNT _kz(Ss/m`>m +Z 9C]/IQ;'|3ͧ8'|s*nsX圀}!lBf~9('! 7vN(SIčYQ;9"!af+ux]+t2Y< \RvgRrnC;RS ;e!:%0LIdd'8k.gme-MTB?Bn6A1P +SY Cꅇ6ݎNykƙ83|dzlją@R&i I-4~5E;`JG:ʷ&K"K+TJE'aGXNR DA*Y'LG +ÎR'a""L;"Ri<4yK9ß.4b](# +*TZD*wt\[) ='@S_o0tE&{a$Ha/4QR{9D6E}n셚du|>i`14DZ4bJ +cĎi2o7aB3MJJ<мܺ0֎VRa hf˭RmZRTWn00>sCwiLl/kH44Ђ0 ,BW3BteY7X*KV`iJT8T('-+-i;V|nSS&!?)>ܐB)&J'{UĕDNp}0D]nƾ¡6fF(% +'&W8qoNZA3$VLsަ%G{ 4&Pi?񴇆ێ02z>;\Y:des2zY822C4dp]מzzEjg 4fUN$4Ŧarz̞q8\$U#?WBc;ӈx\Gpr +V6P%bC&%:%C|n'^~ +5bӺ)> &cu"RCQ4(|DJsX_ +B8GX[dd3ceȅU2"(L:h.B~Ŭm%]80J@ϹjM@ q0K'p,HPr9Dq1v: +XI 8u8_Eܡd-T + ǰX9%o] N +!tUv ~ꐑ$&N# xQ!0PkLwr) +" \iy f~P*c#CJ3dq"D9G-Ɋ%'u}FbBT<> +Ldp>@AɃO]r!ՠb!43И!Sk]X +)kh{(tL0^ JA M…H4*|@,YD2uZԠAĺg ? +#VQflo eJYh~j^[] WdE s +cUIݳAݍ :F~F/פ Ϡ?NJҵ2;K&r&B,c r0+0F+tH~MN%SsRrE! e_6 +H`<~bw`s&sqosrsr=fV 0e)L&Ag:&< oaV2&\iAS7 K?X'^I$\?Rx7䀃 nY&?F|#T;$}osi9pc|"cs~8?CSzBo٧$t<Be#TvssCl]Y@9.]SRVs49K˃?ܗ8MmJT;؇5$*M?‹r80&s`/_fdAAg]/1{~_K|}@яs+z(w +s^abe[^i=ڮMfD"8Y`barCBТj~שJRnԛ[zuUZ jU;zwjl4˗m\{ٳQ?[j-?~OT,>_qY}\i̬)j8<׿|Xa(Wm~ 0T+p +_CHZC wja\F4[!v|F~f .f[+FQX\ʚ 0Lrp(O||\6X͒.}Rz?/ _t^5wFW!0r)Z㙌O|]hJP)RGU“\| u +v +L +I_C8~w?$))uϝ|wLa &*ř"g2 vFTUyZ >G4 Uc!ȐʖeGD4١&8]8op :p/@0z)'>X{/F^R '8w `*S*LTHU(,WBCKi#~0Ȋ +`6`_7FVT2a\ E4̟f=|=q2哣~Tig~zW?Ӡˆ砧 r1LjXG$ktcC=4׊f)BՊ҃O,N(PB18lr)S%+D'T>CMR>}$t s:Cf +K:Z* 5qԣW!.Jzf'-3 ++>@sP1~`h7 ,[#Tl@F\r2"N_y؎h1z5ccy>&eCG{ޣ}GBg?u3JodPZ;5jcr*T-e>_~: ++hdE2%ވ 咓TFЗC<'x>[UBhQ%CZC;`14׀&"SJ ҷ +Plrsǣ2+)K y[)E}f(=DxL'JᑲU@G u):x.~otQ=FkħK1Ed BCҚ\:$0CfF tF?F +hvCPga0.5"I y. +4fvA yPg q>P)JPV;\'k +P +X +~U_fsa0ĚdPF\B-YL tE3Z"Elj5˥UQ@4 0) !| bN']VĘ09B + ҼC6A +&*9粄D/CUȵ +Q=͖1D!d Gt5*L!Uy.9WY'"g ;ޣBE.ֽ4ݐz@J,JE( +Xˉ38N8f0ŹɝibCHW@y+,Q@H\O)2)>CsDKEye AR⃀ bFFx)Grjn (*K[R>JІ9_HZJ5SW;Cƨ +l#"9 +6+u4OŐD8SsP8*¨hUX/wB;CHu#Νc LZgB-`@!@OJ\mHؓNi' iD+#LlK0`Oxv z.|"XP󠠗^6|Fy| ʒa#KRq(ػs0".քyk/23`D.$;{N/ПB~lJȩrJ]ju%ZյS"!HeL=6QAP4Xj==lJfjI.1,fɈx㋩2@D}Ƌ#Ԕ GP<ѨKQ7v$pueO-(g dE@>eB+C9#]FDŽY 5G+D QJM}s+R)qHvՏ5So~##nƅwCr%~XpD˞kgAco#Kv3<=،xE!Dp4NJs:)E5`bR9ϙn4YJ\I;ՄǺ9t +DAe/l1nQyiо$1ZP"p|ꪒ%оΊND%\]]J,`i*65,!qM'v |(S\cy,(-ը .C@,Q +1$E#F zZ0޵CMIGbM%#D19knVIɩȋJpK=/z4k +"cٕ|݉Z'Q?_P :PrtxZm8e"*=f]_4 r)74aǀVAF !a݅ǺqC7)E$$v!Av3/y:F%-%?& I"5|ʓMY+ +P)l }9%EI!u<¯| wq8^Kaꐼ4Lb&dJt9x z GF9@ "(o 0^r>[  + K$Վ!saKn`AZ MerFj*IbbFhYb?ӷY֣{~qh 4f@E- d:1WDʷ]r^*0H+FAzT姤?PxkO@oO|^wukO\ijѭ! %3 C;אpfqc.C$ޔhed|xvt%1./ڣxw! bNhTCha׾Dn;.f9R&9]tI!]pHk%"HA;dѠJC߮.0ꅀX,rE% U+,݋ʍBoLŚAuId/#KBs@F*^Yx!t>QEKmR9z)Y]뼢."Yb O. <XEfG{ڥP#w1nY@O2$:qϹ._,OUFhO4ba  ٥HC9q]F* `_GQmqP&apFh9Z!9$fD|R"rߠ"(oIj&R"$ʶ`1Ť@9W4,\BeFo8p5JG˖ٻ,tl[@>Ltr2{+nQ*ߔ0#CG#I#ݰha +LJ/)>t)mPJ=iZ!2N7$bQĘzxk'bVR<&an"ٛ32wJ먄Ckr%zH`#3j8Q"qs?xl0Pޥ,%K8EĔ7H> LXе_CZ:x7(+ĦHa-E%!` (c푵\0  +7H3kdx U)~E֔|t*U QA-k١LI$)TZw}Zޔ۵]ZK(PN=]z8*wPꝿ.^_zp +^o!q< k?+eڹuS8TkX࿮uܾWtX\AڽRb.v3H!$-rlS6#}ss}O#9`A&5MSiqFaY&_UoG~mhYY+ws4 xWYX[ )㿜U|@)폫`}WqZ@Տ?~Džc0W8m6wj+㚣gsz$ +" jNAL(Թ]ʂ] ㌧-yY_}PȁR4P%Q2(?'433sGwcͣbW޿eD +bbFNV# uGǁAqpyΕ$[g%<}mԺgnI;l{ $* +hϭixC47 ܄63h̝ջuP>ʕodܭWizi_bZ;,wz}:uZo?5:Sն`G[Zg tW~xTr=VH`bq `ceTv7HA/Q%&$_:۽jWބ +Bzk|ɞꃫn7IK؅--o1E5. {+I':~lOb٭krHZnL_P@ϥ1knjIRNTDnkb[E-`Y*O-)lW+_k=\߀2Më` +7s$-a^fq?FBZRZk X#sT8=~WDx؞pSl9؀Num ̮IW(ls&g5w}1=^څrO/? oov0/iy(Md.͉e`4VV8uu QFjDK_ki'.;Q;X5w0r{b}nx>%wCQB!G7\?W`@Hxn/)QaDW߭6;}iu k p.WR;^v*?g@Bv{U0I:c5N:fcB+n8LzgՁlřW7V^U;^Wf_9;׮;ZUkczUoܵ~xnf>YOaS%Co{پO,Xf!~O<{;䓝A|b}jOimVLbo+8~۟|џxO')nݿӥSdV"vW>lF|Odߑ%;OJ? Bm`:R*.ݟ|'w󡟁? R5y1nb?_?j8}_$.l5ǭ㟗K M$}Gn}(PgzюŪ%WEpf\ʋ"I)kTn V2*%@y!#&;Mq~2{#l 2ӟ_c⟰E_i{}ot 7_HX` 7"rj5R)SK +WJ(Xoؚj>tKbn<^ޅ8 +'|*f3g _5{xLiKh`9%P+dQ}e$rObQ",FNa~LXfG@ptk.pp;}SA!HjBoCcC#"2?L]n5P>ZcR6̳3 iR3P7 ғXυA3PDXǝ6%Mn]}ɚ©౤"%Ǎhy@zf W+-璣4 >Gf62{@X4;za JH9!)` +]D28ؗf(HO4Fdp. DSI8)~IDkf i1/(=dO0~XK~/E 8'X)N/wyYDmdT["ST)$PlL3a'FB f.}סJH6 $He###N ÕS<& @~K* P0{:p=kCj>94=v<-W4>+0W6ߢ <(d_%o!卙OsC",)X ;ޢqar@o`nxZA?jOB15U`X!/0z}t.#{)H{/:̉]/g.aV|A_%Bǘ="KDU1HU ID7Ls{'m,t3c 3(媱|(`>=a1ђYi)֊\Ap@ +dW_fM_M&@7AS-j@pd%zH# +vϣ;Pp `sJN.90 1%%_VQZDžNtzD4 +")ϙl:}PO50s)@:S`唍R/,Stkv*>UTg*&9I'߷kJs/կB Άača57Vnm9kF7zHhl9ztU@h "qF(/N$KtKKpϯĞoj53 A98 X IA]FÐv(+5P^A3b! +h(@+D&)P$ ؤVK$.=lar{9vUi6Wi `j!* +H\6".`3GYGVaǣr6nV{31?Ӡkx3 bG-tv=4HI;y96U=/eKwQᓍ cEO @ѿ(Qrd7eVɀQ +7dkH~hyPvteU }fb9DK"Ϫ !W[8]9U FWzl`|H aT`"y"Jp֏U@OɜC(gE)=F͈&yz6:2~GG%BeSYb_.&t 8Dh +|ſ!͊5;;a#%KXhdqh\;0ꢉF&Bs>nT$ ^4E!JゕOnp} x!Q109q2r4~gcA%؋%DBX$_5ԺίI^aZ/z/t4qVnZ'>nVj6)i^l7@#DPۅibTzk!ڄZ&>j`k8ɒO{m8G>Jv.?r|]+9TX+Z߼³#vwEq =6Zd[h3!>t -rk8o:)ULvm7_MG81'`6p(α=5NZG<Oխ"FhXONX >:)֧pkc0Koamжc~Dz5$WHmـ=;OK&(mj%^5k fp.W*,'꾌\>{bnר7k.=Uuw_{@20|޵gP۽V@$K[c6*Sr,azyhbUP}o- +n0:Lypz@s[ȏ א =zdv !bm+Mʜ/a =\R!D޷,fVxV=촮n^ ?c.RJe_>xyh}5nk1NlςȱlcLWZugvir%{k1\镛X40^9fl0Hqkg})Zڸ=Ȱe<z&LJknfr`e<]o=;)Br޽ʁYjvZ}Ch\Zc=2=]?K}S}'-8UZͪ=r}ک '>xIX9Szu~;HiKe7#)I'Ue{reaAS4mwucdUDkhZ#6Š؟yV +JLZn0ҤK므م%q̟-ZaIs'\[JPPo-;f :@v#C7>! +f:)H ORZ`͚ƛވY*z`p!;AUToT42[y<s{vsD{Xn42dmVi5ymս/47l[zfv㳱?4Xtn ߙ|DBi]n7Zr6P&OZd̑B5~>V+8 ?rn^7iP:3G۝GJ<}ܾݮ>0 WO"֢܅نk_ lg_ nU(5@GvT#8e>|W^z5ŅA.jZjepZӟ ~fUrk3HKnjMԣv[2Fy3]5S`vc-^r!h &`4mԳٞ65ug?+nY~%!/]=N Mߧ]ZBQn~}a?%٭T݇$dOiX^{w(?{+׹nP?]pτllP݊ 5`0fٷO$V <4Ehs$r7']n[i7*_ۃ z`Zs}wᙏfaaS>aݍBRQk*Z4K4kDu|tZ퇎 p3[m{B^!>ecz9*:O܏u^5{jbJO豓Vٽ|U+e䷴[j֮ۿU#}دe N٣7^ hzHT,`@ۛ2Ŷ=ٷY. 2%[at\*. k-z~dW*S5K~cd(}1,}ުϰ[b|i;&Ra!"2Wͪy02ºDE0cϞ07-+w{&Bb{8@VrX,nG;ofyz|?.,;Nq{q<܋lmbqz85>T,N A8# S˝W~'+u~} +Vk[<l.LƧ@su%|ᇉ!Jx +~\_O` 2Fo_K|c=_ijt4ۅfus⯳LeGVe~D07_% 6׮.훍ghJ{>|nnNIˑwW/Fwk.tO'02\\y7|:G1,N?}VngWn͙/:h<+}Sohu3<{=9w`~[7>_ 4%QܰG3(]0t1z=z;_YjaTlmAu]~V/7`zcoWcvg8z;+3͵unKZyjsuy۹ݫi/{'N3_8ظtfWv _y~^^[߮nCw冻PA0׽rW:m1}] ځZ+ś y":k+lihj=X}2QašY+pC&./_)NGS|DS69 +?rw:?"NJCc9}Y RUxxW8nvJWCřgu}*nP+ý{س?3bMEqP1΃Auq)SŵwcA{;{R+~,|>=Y<󷋯.W}x>-*nl~\a޿> ^5?q=R.o@~oǜŻ7_VKK7#_ CᱡקCkϝ!g0;fH} +_O -7- -w|Z9: m_l7޿8:{CGW͡:zx\8tyC_-lˡ)tp7ܾj8Lo: yo'óa ՘;=ޕ>-\ /}~;r`ű9w~8|7|yqvE.;õr3 3Uܝ/0_]2=U{7<_z»zԦ^SoZSŻ^i>N/^\MYoLLӟto(af&>3f[f6Jwxš;Sn]ޞ5OnggGgٕٕ_gwW3ޝ|tt3{)M/cM)Mʻ/Jfcnh}67{tt9Vs=w·9@G5å31qOo窼s򕫜& ,F'`!^NΉ]vi+RDR_rq|Z.6rwz%A䗽qwr'wM}:u"Yv?]xsioY0^OڛuGjv`HmӹIUvԗZ} su?9:_6&X0hnlINk*VQ^hk^vieX] ,HvձvjY6>y5?9T|kM=_?Y\aFvomksa}}p~P=_蕝gİz|o/7ŏg#.lv//^Nm/}|(ԮǞή>_zٹx~;|^ޜYi幃_>-.Wn++n]}ezjxfun~X^mw*0Z唻"֎{˭ew}TZ8YYo?ޘS+7矻 s7AU\Rᇭɗ8hedX?ܾx}nq=s29y]emsٙ/wj;'7;7g݉wŷv"y{{aGy[Wn}ޟųi]^](o^^/_?(o.p/<|އޫp5 a^]MGssspt=?{ys)> O?;988]]NUΆOWΟ=^~u9Y=Sc9_:=w6^/.>>Xx}}_y3i$x~qz 7{ߞ̷mLWݩwwK'+k_.1b㽋I#ŷW |4mZkO*gˇW GgճQ%|;a*].WWS;{7YvU;\|Zk-]/T__^-׮t>^a^q_5nnN{?Pu:|gm4֨ޞrƫ^^--?; 7wxsc\oVLPv^筛˥gm ?~j;0̗Ӓr]R\8| +W[J21unawy \qұZ5kZWx,``UC_\s:71(Y+! mp5~\Ef +'rXKŵ&n՛]٘nvƣvrS +Nл}[anᷛZ-c X,؇JS"KLRK]?ӝ}m ,Ԫu ]czj ڄz-R+)\h48F/vsn-nx&`=̮u _X0㇮+z1Gaꬎ7." ;W:{M5%z4V34?y4=,_׶~1MO:;{myygaZ͏\xbodHF ('W۟9p)fri8I%Zdߦy.4f_|~'+ާlxW;l "Xjm0N=H2ᆤz2xH |ބX!+l OLW6*ڍqʨ;6r^,nvo*-T޸ڻᡅ3W:O;/兝.Wb=u9/.+;3ع`Nu6WC3Fpxkx7l|c&Rx7^ +ZU w9 +KZX&n?爋>P/q.=ezi._Ľ7r031#ן_/-T?@;XUfhO"X_zbMr8R_9.Jpf>x}K)lp6J޴֯7oyrzixO {a6>Urss?S +U NLL/zU|^%L/Ol7Ī[N;Z/[ '}~73im9ם"0NRd(mN'nwu'#9&gnhrh0`l  N`ݻ/_Iu 9s3URI*UT%܅f%f"9jB52pVȘF[?0w+QNL~G3"|wSܶ$toP(m3@{qu_e7ɻ+͓XsC+hrs]翶_a:}ue-㺙?`O7]py + xkK'z_I'xw#mߎbh"Pd])cŷǀ6b̲ixeґm.niƸ X4?l߂H8:`iGo!n{=ʎ&Ì\O43B[~ s#U~KB6Y=d8r!+_) 6iղIC.ýd۷2ܢB|=5MLwwMr2dvH4U}wPMR4,\: &y3s7ՑdI]?25JgJ$[T c\:yi0p2a-G_P-ڪ^D^"`V-7W<+)󳶶*4RmI\pp">0Q;y}M^#t{&Nm-"(9h,# ‡ϕf14W =8~>JƹJ3 yte4k 5vskT5ÞbTIܤ•}ߜP +pfff笉` ֿBwI>gWH-׻R!ɱdT!58rO'@q%G +[-L<{˿Y?6vhx'p\S çlPC2FR-;PmߙE'_ZA]wuφ2[}RHQ565fll1;~™blĿw0n87=njn tg@J0>?d 崶8W19R" ȅ?;X4p*ܬcvhn@HrBMɓ@ĞL~gۅ1[D-Q~e4)9XKȻ|=S6ۙb濒wLpwӂϛHp֬Gjw0C &DqVҵXq27~ܪᛪ5^ H|!-bA}k9Fp'Z.}3[`{̖$-튓&O֖E_P +57`F8_Ta*lA,^xWc` dH>AN$C3wgBxSaqa 6idgy3u9?^ґUjHS̍,+MzZIg-ƋXd[;PRaGPW؞y<M㡞m;n..-.<Е,9hlx+NVeNqPޚs?VD&ItI$`y,8~{/҈~o=ƾ_r>T!KTw_\便+TNSoYSv1ASqg5+нkk8ᖓp7)\}l=g)eΕ}.%ۂ [dϼ҂oI4;?,זK2? G5~ٺ#=J] qv8V1FKCٺzB2-C8iFJc} 8K <؍6r>&㘵0/:83(@-⤝},|_ +N&01 7˲i)Е|N2zfWrkb8Kƚx^p"`qV|z- +&MԤ~g՘O~.!iLaECށo>NlQ̮oO`3r@\84^NAQ#_'\^é_\XC2Z;șoѤN/HԯRfMRR~E SF*&,&;1QN( v7$TsWU"ܩO`vt*wB: w߳`lH\\h WcXW24a EU]l )palǂ 3vŕ(z|2C:-XK6CF +EYA2މ$) 1)zРBc IQ/v;Ea Tl?\Bf#D27C>GF@3E<gW#tfo27N.mǀv"QcIEt7c݃4ӱ5-sd on ?f t&%hnAy[e5~@6[ipWAфp^$\#%$f2QʳNyW&;*Y•Rz t0Ư|$o+nkX{)]>W.M1Yfwke Koi&"Kn2}@FtK66*.U`)oIr}|-A˫P+|\'zxIx|P'N4AEC^](uyL진' \r 8["bk׽&X᧺ֲe1 ̀Cy?ɻ`o`A *S: .+@~̼p!VbfA5ez_&έ#b &,Eٿ63I%W ՟Flߨ%ZbM-S~t}i3->%k@[oon,&=$,nTnv^?J}v"|#Gkݪ6 ӠYPz̝[ цNp-O4?O;os1V{ +F>oTHɇ!LֻԜo0Q2BE~o + ry5*v%րW-9F4nO<œǂeViҞV;3S yLE8$ǚDMKs0tS7fʑX A,A^A|A}.@W{08A*XкUXH:V1T>xkb[V)!Juj[DPꁀ8(v Ա_.#@+Pn𪂵?R +Gc.YêE +V .Ac)bA]uPА/(+|>8)ʝ ,rl&.ax'i xpsVٝsr'yGZrOhԡ)6\7 v\:pB7`??D4Ȭ?6vV%vCqnP 1u}]u;6Q |8GÜ=NDm4Gi-{eCR7)AŝfuYS}}ؙ\f~cxOӕD;Jm bD7_}D{niHBlfX%/*te0n2d Ns`;& S&[Cvh~6XG8C-˭lY>. 6Fw;p2j!ۋ?G +OLd\&Gi)s8g|ڹ|W(|ڹ|Wsˤi].ΧYEsSOK哇%Χ˧pHrNH{Χ><…{w6WzXWRIqvS^;"cZXBn^&g '\PJvHҎcSJSa莱|R)Ä1ticDj= oY: EU,cB/AWMF|P37 d3 9*D-N'Mӳ41ô-[}Z[#0Nuo]H:< 2bЌqc1ѤW V{PZ!CD҈40bh;h_22WOɿ#0 _oW8Ϣto +vȑS*#Hu}I>E+ZG!z^ifިӒvN'uMPxhMc:M3chixRN 7Lxe#e;8v)I8ϡU + =om{"Q~ +`Y[\ZײnP KИn4 4KPml5r~L;\@"<-7"aOSsh|n&g}Kyhk'|HN +NHvΦ%R9k`+7yJ`/7\Ȉng$7s:zѧ` !덚%y@ne.枙5pT By vV B88qpra-B|S7W$Yw% +ʭ78!ڄ0*A4h256ݱg@dhl4KMYWϾL< pjQB7L!W,PNc]ȡwl^*IRII}]t-U + d'Mqѵ,tJ؏aFXGD3{٤g"T桥~?XhW_+ rR=ُ`bĽ +VNa%i&miu%kWzuXp|)ka9T}L5eljg1?M+4QmrpvOnwħBJ}@z(\|mprez.98<¥6Y"OH{yz 4$"ѥ\$#.Q^'KQ*;lW0g+ŹU2LN-USEu7dG촫+S@>"6 *2j%NjLSvګϷ$A\b>&]&g`.؇*93w_2]+NK$I%T>\Vj}-?҉}.؇;tE؇cEps& PJÁRw؇u_ľMWX\ +TŽPbuJ͒(^,Ϩyfb#}.9:jZI \G=)u5 +_=WEe2qB?)rVOMЭgT>IQFH/m`ׁO > LA\G,OyjibV> tS~1lS2%wJ v=+M1:h-GSr()3⡏)-;#U-wP񿫿 E[O~wv 'VVDn3;6#D $*qoq|\ZGӢώ-;K;XHVNz\U5 5V#IGKi +u*B? .jU1jc2l虇NM%qDrOz ݑlc2U (1i0uxڗ@3rA&=ԔN*$Q65S(ehqm'1capZ7GP ^sYś:y>ڹA5Б)ؐ_j +w^~< ՀI~cp?2ynݿ+ettݿE\sQ +Ki ᙍ)y fMxe>"GoN}ֽV~=j-: d(8ױ],Vuپve*Nm.d 1K5GCR9Ϫ5$R)F9<M_d=1dVuʉ f;FTabx4:nTrP^ߧ̻U|x\mt+Q<ͻ?7yPn΀f@nq(cԾbH1L!Iy4cyk[|d +'al)zCAb2yGӶΆ:gX@oj.oӷ`bT/)IZzJ9'\s^ }X &~ahH-%pd +c-6}Kh _r42LSUȑDCI7ZJ`ӝytճ?LD<Нa^Dd".Qb5X5 +{VQ֮ZG}?ħ4ef!i2nmS $R~{TKzhb?e [(HGxb&0>W^tåuAl}A Q+*XeWlʯـb38w9f0ޞsu -Ri,%u'ͥ0h!s@}w"F6lR4s#YLS;`.>;aD´B#0gUhl& IyzBig@ +uCRSȕܥ+jQ]-KLJ_pnR'-UI2"%Y Uʡπ׮z~$#arBDrBSURj99%h>MI4(8OKI<}jJP'Q?-%h>"̿9#%h>_g$%){Hh4@>.%QCTwi$r9bWʲbNQn$Kڞdu b;پnw4qk<78bEw=76ü +skM})H_`BHl)jlq)xm{Yj 3r=WbZB/[r>)f#XZfӑ)^1Gˀaw^:H"L=~"q0gnj |瑌[ /|Lx!"##| E°mAJI5Γ7\R+y1[?tx \~& <3ޚcI5hhCr(\7Q6CޏEృ຃<>wy, ;`~'`}ѼJ|8a,&Qc^CjeMM+ne2 <ʑ2xx +@mĢ%&㘵 S.GKMO#KmMƴ01@q6yAy]#K |#I>= T5OSwD }H03%0"Z-h> J^ M=_~mh?ats`f6t?CnD% n+.=O"oz DfӘ?M)`M07͋v]JD>zg;hm#D M#,aB.=jَťqLu\>Q(tDR2Qvޒ}'`dh쬵暌ahVu h/P:a{a9t_;~aNrdL4zvDm૷/o܃ ӊ `U:M0T% +G| T-m'繅yɈ,M~n9:Nlwr/Wd Y8`>oٳ,}Аh~l +ĊP,ԡd?`(%,/R.{aސ]1%j듈WhU"L;Vbj[\rKk$k&| ɤ3"{-g- +/. H`LD +sc`{`YWSD1\n)ﺿw Rq5xE-<+Aifd/zuxАk.# ˙~^Ȥ`a)AIQrx9q/G%gZ\JlvGkCD+Xs]ÓGR:̣kvj'gaY'_\]ФMt|Dt+RJhx V9 U@`o> ,QZ9WUCy7wx:}J.qؕpm7 d^'NH'i3%|ѥ}.>g4ǧF,]3b)+49102GMJ~$Y'0:Nkdi5#@*㧮o> ɼg cÑ H9\#DSN7)Cz +2wNL6#=1xe5#oֈLI~=G\z CMKc/DtYq飏> c:>QK zjf zYbCJN$6&ѾFҞQjA%f,$Ojy:t#ٗTX_zDY0[rvGS/ǩLw̬5OIzD# +<=Ye@v,Q-G@#Fm:q6wKl12t ^^4'>6@{s7J_|S)[\dr>=Izndž8Pjp3j[S +v257 4F "K+kf-6l'આ;퓚#ә&nÝ +[SK< G)9FAqDlԒ\hWJG~ukzya0(Xbi*#чhHy0 HG|\OA(@o |OIWjw)(}Q[y3wS} 5 +'hيޘk!VԀa !88F + "֠:2`W@I};ZН aw(o I<-ֹD8xCׁ~1@l+%rb6Y{vg]ǯV6*V5zH=*lA5;1 +Ҽli&DžwR/4CmVgbZ&gy녏}2 { L* @W>&t$LY}kGڦ x0+靊HHm}቙ +龘}~jvJ&01˼^|7Oe^ifU9?qy`cyu݈"G{l6hBE ;OhC 4.JB. +/ 9{v)\ ]9C0*U@Q ¨Td¨T*] T%3 R"邅Q + gF +4 RT9VЎLT)zGܾc XDixL31ks +6K9kw ++[|l }7d`NZ:[4M ]X O3t7I.NN Զ `Xb},wE8CLu||O9aYfS߳H&(p:i0NZФ +=qpS޳ ǧGڥ1h1a:9/-{o#fP@D ;Q7C/l%pˌxE8-RUQ8b⡈8ad^l/^nHf}4`S}o?w`n-ᄇ4n I)C?X/@z`tg?64 Ƹ"Р O7 a\юHF~y.ysNiچb vV,#W$[qt[Rx%́|yhg t0d(#aeuO@V tw%2wKM!?UߘyQIq_eܗ̾F ^qJk-_iy!=]s10Ȉ5S)Yiy3[$r1=s%b.́\l{A8.֏N.,,f^dYx|x +@ŎIg7 =w]3yz +~l"ഥdF)k$0#Y_vh)jZf䶰 hP0ܧs41N_3't;ޜpKZ;r +_8CLbI}m_dhTSh.?ij)4̟AQI`̕|\w\0QM` :=URh.?GBs4g-Fp_٨#do[k}vvGm͕z l<G]h.d E֏.zr@R2_(aUYc0_3imʹbm[ .[w!g+gT‚-8]l;߱2ɐ5} GroGJ3EnIrT\NZ |՚k$4>fk_ Fb$B!&W9Qku][^E\g ~nvj9::5͵ G# }]?ѧct, Gbd"d(LQ}Cwa +Ecp |#H:!cD Iv*7$q}w< We)t^h? ®h$tMh8r>: +]D0HABoH=_CR~' >vl@'(#{JKkG#swȮagnq!PH??lwI{z/mtp.5^|M]ׁ "vǵs7goc1Whg (nׁl8h_mMs>yQ".Ώ٦5*}ռ#4{>S}[׬9}7-?~OT<^Ng_q  O4`Wpi PA1O(D#Φh&9=#X2d Q+#=<̓"mAp!g+dP +ѐuar74W1Ir̉AEh$(|a2 I[* }$u%I!V$-oCHEuk!r? !GĂ28ۆ2 D{4G/~,G""hsv+#4@p?Gqs Aȧp ƈ`Yl R$ 5#G[9#8ߌ#c őɐ$KZ1RŐVi%7$50 +dÒ,%G# >@hJŎ,iEF): V,iA!!EOȤ7@X4J.Gh' Y&!J[qn`[0F(czÒ,n?ȑigQʨLI@6 G?IF&P/Vf92HdsB64#Gg𚸎ޮ:h +< /|;,i24JV5Q a_9v?ΟACXT;Y"#R78hD^YX4JUM'Ohh +g#pVh48kTaQ:B9B>UDX s^ 2Zc>$"PD e N8l'a"$#PpMb +(o0NOي"9 +ԈPaw(Rp\M.@6= 4 JI|j +]yqRGc4Ea[ZU(reIl,pHH0Ets`PA h4"@Q2DwK@9$| 5QkxW-whS?탷Y{3Z_r U̶fv\~$f+>0W?\UQ +endstream endobj 72 0 obj <>stream +%AI12_CompressedDataxkǕ%]ùxU=h?`{_[|۷/*?~o慬 +&4w>ߧw[%fWfB鰷g:%_ v4IfD_~Wi6o~WF;}^޿W/bq:8|Kܱvq̂47ܿ +~[!P)zgzQ_9߼9(FW{J&pY\fUf LTƦֿ/޿yΏ_^}ev_7ϰ >!ρ'!7/0 ?3guzޅL>6ZON٠4CXxt/M1pz-I{\^씗I߮wEZ͋W~ _޼_?I.~ooǯ پ#~oSm}:  < +o5tUyʯ#v?Un7/t)W9Vu޿M}b|i^Eyꫛpܿ{u9&~vK/_iׯ_7/OxMo-? hW/oo[Un7~*p`{iO+wm= _gz_l=<'} >%/`W6|lTN_o׽(e+XrWֳgh!K_̄}r17zwx)s1L +5` ~`r#~R?lU,?B×7ۏO {nxnx0^zڹCWJl<?&͌}.m&jKsU˿ۦm]Q0Cx>^wN4ɝ)t:Oٜٝ9|:ϗeh悝sq\q|fJ[?[={_ΥvahKο/eyT{7;^'{`ujdu2Gs0 gmi/Դ@[rCue\T^mw<`!)\iƶw6vXNy& p8N85^p- -h0ySS]vkZ(8=?f蕟ܝ`Nn)u״˕vhJKt4]gsz-@Giv~4ؕzX=l=3u3Ěbf̤Ŝ|Vw +ߝβ]sw^y[E6Z&Y# x ƃ'h[Ig%}Nv,PRZH͗Jl74"d_G=3qF'Jろ뱁-qÄa#6, _i)ܕ-{N8.ӝH4-eS^aUԢN.4ֳ6jz}'}}۝qvn %92yՄ֗(cN8P !`[/QkXtVҳ\im@;l (иTTn9ex2A n7Y%x39U29j +7J.{nFcu8!Y=EШjxcn@iUtx,+pdh8 >߹}xzZ> ,LPIC +QYh5V eΡ]U8LXЭ~$W#2xD3si&flVg{Rs4Zb0={#x}ǷѤ߼8/i]QRd +WqFLaW9:@U 5G 7;eY>(^BXCQ)`&g7 g7f7 f7e7 e7$C7egNEڣm,7}pӼ 8?\d)忼zwߤvrS"Kh&w p< +H"`E+"`a"hA+]dn;A P8! # 6"AED8 +qc)PIw]'\ +1@ q- G"("41IhHOq}Z M : LP1S{2CrJ +5Y4 ܡP q +,b+")*'տН@Y_+X#V"-UOl_}*ǤE:?/}HcNztz{XI7ĂV =C=O>ݝ@N:ANEP Й (ȑ`$B%'+@#E*fuDUYEv1up'ڰJ}βx6ZG#PK&6u;djs谈ǜv>cP2EEG[ +YXFS3^ "˓AKel>ee缃GJBD'As$s\~?0ϓs +6 +-1N"L#yPU*un@EUYGN֏8$pL;/ҕfk8$lJr(9! +<wֽRW5tV}pzE9(a"Kڛ0|2dj@|&/\O_4ӯ󈭧UrP; 5+7 aRXy>̵Vd⑀gtO%CdzN(4-}N)mijw(mnтz@B- ?)pon:M C"H]&6 " +g! AjnijnRյ`+QOj=5틴0wQD &hdbZҲ|K"NZ ~'^ iv?8 c8܉)9mdQl?1QbS"E$n$Q_pGW:`{ft b&‰um'6)2wK]6UXTaŖ\1sg1WXq_ruRUDa8&-DߔUJCdab2?(h.se&d$ K%v`gu^GbN)٬ZGU RI5HEnp8%W)撜4Br+`ťHHVTtH +fq)w"qՠjy?LRIs$9jմ䤄_ĕ{?viǮkW[ڵ#N7SɢY骵>Djk>,_4x^BvcWwnZؽ׬.}Lujy\ӊz'{!+77㘖$=ɩF]zOr]d0hQoĴ/81I?E>%}^ e +sIvv߼tmCԣ~zz{sES-z:x"zzEOM=YS'D}υ]ѥPPU D#8zX\ŲnCIWZdvg)"S tz; D}7ΣHЀ 7`A#ANJ8'FUݠ#-Ț%W҈d Y7xߙh:kGv픜=xF V9yGM}"$i$zэ\'XC(ߣg襖|.\\xC;2gqW6CY[HmڡjǪv_E.z; |L9]* ;)#ڍZ ץ#uo]Lg-{N̙:&mQA؄A}+6i/jV;r>uӛҭЖZsVj ȇ/K )d¢,*;#LGQ, A+M.8XmURYGjOk`q8I;ЉLj `qUM9x ymU5>4~BJ4@.MSt v ՂU +3V-8 +j1,]Niլ?7hFChLz6jRX}J]yʡSt"_;ɯb*FQ4:aGq4 ""F)SN/ŘSD!bjTET*2'\:N@6j:Ԏ"D(8 Ý J[-",‚0"D| Dl1Xj=maX(U.n:˸-&DXBO(ll *ؽ#sACT8X((0wz98_Z{HˡEY ("{BL \!b.!#-\W$ػ +@?%1> +rNA1Vx/bAZ?E«"iŔ k%gIL?J]u½,RcM]dYqFx',@O?q7}>k1 "s.A\OE8XvڎiuU=RxH-vš!o Zg70vK*dyv:Tԋ.*O/=۵ˎXfNFY8N샴zc YoV9VWMVN9Rf_sN!`\C@I3hs)~u៳9aO"f︶'wǾ'WzA Dr8)DANq*;9E$\bٰ_9Ozʳ +)TX-TIWy<,(0&AIEB=֏w&Ղ"+DɝU,V<,SSB[73 VZ\= [F*-TNΰK[X{8A?rYe-paA@ XצSoSaJ)$، +i84(C FDrdH 5=*`7dǬt4󞻲6N[p!uס˚VêwzكlGaQ +?+NUmM\h TY,9X 6p /v4CI3"ccMs2&Cm pރr84bAԾw&JWnn?v7-GI$)hrl#ۈMa)nWe&m̈:3ţYKV2'/9QkKvkэS)$3!x%_;"x]"RIB΍c|{Pt<:@3PwpMUUX]~ں ^v^]MwGZ톪,m* ~{UI[yQhH*f~IvЉHss-a35\hEݬU1l)ׁmve!&ljoODqS5R}2?-%;lo#ps'Q'^TyVСi: jx<u;Ğ]Xcr{7&h!x~{lDcϴQ0g_S< |HQD$#FO,KNCIJL:!'8oNZdOVJBP%o ɢ)NW'(M5TGJغNZ]%MIJ[1RYhMi돮ZУI? ieƓ0Wv|>ۭui{VGk=1^'$$p)̶$GEb6b +w)I sTY5򺅻6X\jի8NJfլQ O8%nb?<%oQoW . +>|JNCg4<>r%A#.n :\.hynhz{+wԦsSp-7P[|}C֛t'-ʣt)5ŏpqrŃ0z[ձR&q,I}{M&3ź]lە`iV Yfjg/>=ڶCemuJ"ɰYJ Uk@]T[XuѫֆUӮ{gן[ +Vͻ6mNyM<|cSlw*1/4*Z]F^*\<ASP2;8Ou{x6/mRx +z +z +z +z +z +z +z +z +z +z +SXSXSXSXSXSXSX;ui(i[ԧDKu*Iϥ{&I#U)KU8V]I`e/ TŊP2S4+첆Օop,]&R_S&-f[B=K9j28~<椦)`IŇI&sk>ϻ}n*[}%dO8r] ;>8e::GAySTvNB7$,);:֔%SS8t5 ] 52l9\ H##"f{M!3}v؏Y cXfdfltФt(ۜũy1Y=6F5EKV!}͂HU%Ihr>XI-˶wl[S +[o +2ؖXJ9y#,XsfK.*;o4C2j;kS3M=#T*,.tG]'i䤸epNc;ufdWIOeb]RcR5Ī1R$Bx`MR-"՜]D(bԆA<ԫKc) +SeAKWZpZ'_eЄDXDhBz$WpT&mB*ꊋhqyhWjZEkKe{)Nu_ VtWpV= MIc))r)%EtBׂ"krF/@B"*"8}[b,D*!RaKClԣ4f -Ta3)\`U,z$7t7D8b-9û߃%&E'pFyBP=[q+-T[Z;ǦfgWڙh+Vc105DI+]Yȸ_)qA7xÀgt&#dm);KzC +Fe\È3~[YGk`ѱʴ:eo =VlL7\rh=Vt(l7Q$|k{SMu5jϔO ++!>9id"V4h?Qҹuu˧~vήulNl|,:7P s +6pi>s1N;1\F.]쬬 (Hecɂ{D?+'F\eZY' uCE88J*~YB#qz'5k| 38Tq÷+Dޞ\Ñ[qKEL{85x:cɣsN~>aT=PH59p(ܘK,b(Pޖ4&ER7ڧZU:%;t~WU^f%Vbcdnx]nd3qm\2w5v[rj;uDf OWzN:c"AŁ6QXP#@sg̱&$v*)vJM':Մ7FR%862IS"(*^M5CX֦Ij%)(̷߫F#M$bF!y"6D6)0u 6">wqU-~p~킏i-GlۛJUU$̾Voitm$V9!6N'UFS,|SeK)N:cS8PUY)z3)ѐݝk +_7թvtipLA"+1Ň< QN!]Y;k 2iO;=^u=[9톓7'h8>Ꮎer}h!O +2(YCL\tBk|W/#&}׸{s74q&RF:\iB1۞}3z d$aܶ0SRS[]h[?UR6C.۵wmi;&nQRPG[5DP +$,B'I6Y$ yJbӚqe2U*HRa?&˵hSڵ%2Lbc Wub$ͥc +_R+tZlL2c?YBZ,xQ9Ш5&`A]f1@/ɔAJ@K]W/l +8ʀWضاO SǧO 8>%p|J)SǧO 8>%p{|J)SǧO 8>%p|J)㧓Ѻ7}d7<O)?^ +G(kURag[m.MieZE\tMkF!e+>dEZSqttEa٩ +RiupP*+,f45;1Q +]W*Y#ŢP< T&7L.˘rBTQ!2M"b"fQ'98L,"ֆ-)#d3(zpmQL*~QacL9z(Ͽ/YRkm +_ȁ_LC'ɥN?%8y>X:BdOqmѷ▬\:䁑պfuxyU?J'&KZzRAVrsSh6mW|Rfn*;ÕMi SDP'l%.):)9+KVsnT7[T3{]}, +$FE&VcUcPPȯ)1w:SIq/2^~2$u\ӬzJq",&1%ρz}jV[`kR29rֹpTj4Eu]YTm VWe=GZ3?&5QTGV\WVMb%>bݻQտZg[T)UжB5甆)oQoԽAuj1 J}nԾߪ~XᇕxT~Fx@ѿ'`gkoe\_+P]\uvݻ9H6\wb2Ӳ@^li c b%$)HY^2'Bg`_S`6wr`OfH `Ya2&* +1{GmE[niէ)v>mn|M(uojbxk}enn=#x?㻼wSzgS(tNjI,JTmTyM7wLuR'=EN(K*_t\s%냬\ R@kgx@.5f21~!֎և56xğ:O¡ɖpL\fJ M\iEѣl}*W*\\k(i=nb'VI&ٻc]ڭ]>E c#NN3xyIB1" yLJnNPu  YS KURk-u] +P3`Bk\4>\XR.UeTGUwL +R!{)T%.IY95I)Fjd.T*dunDHt|zC ~8'έX?Xzl3jжfJxlX9:7tVHCkVi}nѼK&|K[gNH> O<-p|AIFXm88=&^d)kTþ/YA& iɼK y{*љƾ(S kWb6=̥CuL@]MK}۶m^Ot%j[~L`mb{XN?{/S}1mXKYJgdV<ŭ$v- bGjf| :[km|U;oh7=_sv;=gK3Ie޶}=B96mS9[A +;< +xZ87JƥSɕD& 䆩ʰ3aF#d;(ZZcucN_,iťliEKv F[iԍMmÞH}Npci\ &AagTsAʈói"˹iֱu)e +?RCӉ_1։|;2oqw|'j~ fk!֥[g]qIXu*sf]1A=N,CL&PkLϪh}-޹u)vqN +Qsľ%Tƿs2(-[Q)H%!0̖N'?'uI]ªȬ*Һ6¼ϺޗZ Učw-Ժ-FXU_2>E\28p2];ͪZ}vNhUTn-4:ih@&I*ωlJi`Cjd䚶ecqM󊮎V}BRç]SL[LշW7xc^W7t.%UZcjwz\v׵W pίW{S.\ko+ʬӄDkK^ +)[:Il}%%!6 ;4a3Z=#/[?J& mPm^,gIGf=yBj{͊$UQ!Jd%e|2_RT7%4J vCZ6Xӿ?&=-U1kͪbMoݥ7*٣eU6|URƩ?$c^1"'E9h]81[c^-ip/רTW?^7PCɗz7o^z7Ϟi;n۷o^As{oq{1;t˼W dؘ }C"|C~kſ> fkݿiro\?q-/{t`޼,?o>oWo_~_w?0ώ_4_^~/Ͽwї{7ژ_G/_H2尅0N# +4kD:/XK]7*8e4As\a{z5sc- W 7'Q 1w\ڠfp $pf;Ŏ}!oxQ˃GYas'Yuኀ5ZZ& +vo0W2.XoW/`<+|𯱟y`  :]((/p;4_,K$+ML_1aUzBz*ik; X~H7& +|@eO(irڻ gqeRItı@p8Ƭ_dej'P +Q3IFzbuJQIi +T(~.x@fD,nV6CcZ6 RV@ +MF d: +< +,2.rE]ötEHا+82 _3!)BE&'w$ A'pk+€2&qgJF'b JDZ \()a̤qł~)c v<(={&@Ye1&mA됽H'`|m= >)S;l6%+U;~Ç<362Nv0`P.PAX(b{Y9{ZXqd=LX?/yF8pB^3=41~[c8 A gpStaeQދ&Y=QUs8DdW4QP<#%A|g$EA& IBz?FAx&`_~ ARa\%_>ջȪͷ,C9/P +!6eV>/lLJ8! .ИA3T]D+٘"q@ 0'#&CŠO@tڹA9Tf/Z@ݕ_88x``S/|֡x +2>Q0 4BTKoʓ˰$}-6eBy`',#o"gf:xj3KgO08I +b & iZӆb3!sDmfY@iPY2 K-MFўt6JэO:.]L' b)Oh!:(Ýpj d˺$1ilB0r1KӔ' e% l=,f]5ԁ08G!I<4e4%H@ ~CXp}1S\HvbDK2']s 85 Vt3&9F[uY˷1}}ʰv>$ f↧2|A迍QUIj*0a(Xk , @Cm~KO!A_ae@iMNYc2 +2` X nߪZb˒7dUۥΨu-uRD >Cd<ҷ4$Aeo`+q>5j;aL8#@!8&&'-[ +B R8V 'C(ct65t}lٷ.tb{ki!Y%]Vfby h? y'cq*Gx1m T+̎Kqٛ#06g[' e3)- +i[R4نcАDPZTf'y>QXE}̇Hd@]n.'S.Pˠ$לMfj) +&ha#=-%CL' +}|G0Bޠ iM}ıkIEYGX +8'fLv`GaqRBXR0 +1 >IJq>HAqP)Ǝ^A߸21 ogq +3Th{$CVEh, +@@¹K6$~\',sbL6Y%A U% ⊅J£$8o azy-RXMAX,q%૊DPajz%p1VFR8=ލ$Yӌ&^9?H[ɳI#'8 R2@YHS`7ܭQ+J0o +GCҚDȁ7{l6YUCát3! 3ά4 +@ˈL)4EY7gK ad ^لpj %tyJp:VOY=;!MsǛ;P#e&!l 6 9O$M0\$K鱺-DCn\%ox~) KƷh޾G] e4Әqx5hgQx+´ Z1ppi4>L*EYTy{SL}.Lx38ϑΩE6280&1@pJ3D #g v!FvXѫK*|-# y;ʉAi66C"+"ZI %.) lT@[ +ۃ*?@H -q}miǐ +(X8p=eDujUpϼ ȠF_Dњ"ؒc +Dw 2~2fMב25iPư$4vJUpI8$ж٠ @[2}6FwihcĀViWT0p*#p̐N l,jwjcbhZ{JqAeNAca&i|˴b5+joؑqeq2!C i @O7Qf44:^N-޳N-DgTd}8yIe* Zz҃gBsPa1N'8=`TKq`hԏCw*R\ JhK;IXlzEOܐ)R? |쌩JgGS?{><6|ȱb9P&nWM  QMm\Af4\1: ۸p|m`6zT9)yb׏dbˆ魉k %6̼sl ݦlM2\{r촛b0{7s00_}:=pͪ{S7V{08l$B",=$6â?TGߌ<\;|d)gmdpfYf[|mmpIܳ-A݉P:8 Biw) Ń T9sd5o֦0xv 6(+Sٶ38 6`xYfAomG[ү7.qP;m`]3b=chKgOu@~=*548;^6n6]IPf +1P2~b>I;AʗWowFf|U2ڋ0¸ibBBsWXITHF: 9bֆb +訟q0WO~kӲdZ(gqwlK1p)5SA U=_σ/Dm38ᘉ yD˘051SS-kx?w<^I:&?x7m&ۙ.Q֧Hs861vx6^oO}}lPt`T"ը\|Go맩<=χ鏠*^'k;VGCdn`Hg+,Yu +].#DŌ !UH` ɽYl ۨ@nGStG#^ Pȉmxxܨttee\XVpى>̌c5".vAAL` ٨sU b#ev;B"kC̲4'W^&r&b *: .ѶLX%m{c_|1 +U`!axB::lg >5`(7#I&V@Aaf%xXX ҏ!EsU 5 a"ڻ1t2<ɐ7WYqneK1SGdHO2=ڐr(W1@rGL1D> :n=KKM<4N)o-/sVSE7/`Wd%P| A@fHHtndh%8<3z"٪7H/aTX-]ۙ^+zqq7Aa)1:S9Vttzfj-_83yn%oƓC8cݍ<і mL7B|Ηmm*ڪ-~&7U\; +`wdc>Lnt[][ӳ la`nUG+a  ǻy" A BI3+Ү}eO_Xf5fʍ*t8ʳ8}J {5=3[l'<- ๒M2O\ +"xFu'a{BNǓ2EUJurŽ^҃2/2E1 7ܕ@0j%9laMלOEOD/H_mRL<apYosRQ% x'S`Ѽ0L_^&=daE-3)CԦ'a$;X΢ԧ@ |a^5 uI-3NLpa +V|.i|7sh`~/S)r}{YHe#i'Fx"fM>I^2Ǽ/8`SXx?KN>}()nfݻEwBpKHr*=cXY Ϭs%M3eK,h{0{2<,g9m){bX?pѣbڒ* +Coj8)˩(y,7~Czex.oާc$;"[="3R4HHĵ(%9Y6 NŴ%/CλSSätcʍZ'=gA%n;֋g"^dsJrG׎?DBZt gI$E!nQ!bYɂ;vH~HyQܥl +-rQC 39c+WyId>Ix7_IP-(&+3*i,Âpr#f4D* Q3ZxW2 ` 7M~:SataqFC$Ȉ.N21KDJOyIJ t=gq9R@wΐ:4ez#9i :wV}|.GG +pD* u6b2r3$ƪ>^贯$ǹ +[U1x-Ǫ,YQYbX!f(u*'O*v`.5־L%EӹYCfTzaUNjܪ(bLթ&Xġ `':>oЬB#f[ka0hY)X:H֔n{a3bH/  +D JjahbΌudXPDb'~-B3L2t$-F~^)a|z 1#EUy=F2#YqiOSP<ٓSՕcgtE\:{C'}=-KDeu= /R7 +qDØ%_)GxWIB{Wp-G/lؖB{a#`GF Оn(urvG'O, sLYiOK ,~WĀl["]=:Ɖ27+I8)+I"`_97Vc5בނj۬'*UQ,z+ʆ'&",> +{L)}a=F'c}i0 KJ40֣$-S 5ь~Ŷwe0.1/tZY=FsQ3 FRe%8LZ_QtC9=`6srznU/#C9"kڶ0C# 93M3`_XIވ/xe|=c BOTc#QL4ѽ+0/CvϣGdQBR5g f{Z[v40Oɫ@@U,GiQY޵dcMNژ{d`UbJy^J3>`X+d~0I@2i枘SC>2~{>eb}*p,Zha4,sma{u7{"aMcO4LL07  Iby\4vϰiOXF˨M-QMB-vr[fl<@;b0G/W*؉3K vLUq"w94::NlsbSΉ)1Y!D>%6z +DΦpp[NMI3H:ӢJ*p2I΋m31@`NvrFpB<(A2oΓT8[Q,Cd>]dAbaac":9KvsȊ6V%;0Z/ gI&keH"y3e`G*@r&_=U1M"Eq +ZIm8Y]KM_#K*~>.P`k;UQs,(x6JT@ 6sR~`8vsQáFY.xxu8 +]$a%A +5T: H C}S,@H@&le\h-d@'8昢`G]y' +!,/ cbvTb1~R{a<6$c"#zf*) f2c[.d^G?UEDӞ8à fuH88>hCޛ%ЬעuL ui0I!$QuqID%VCI5Y9IiV.*.HKZuK%b.9 +lL^u~cژ> V-rE`β==F[Qx#R|zI]ih&5m9D1E&HٮXʼn4EsXkl`yFp-gGIRD^22VBkm#Y{&$DijO8e^HzK\oRu&IEb$zNܢ%aךu|$tC2Sf9)N;jUmyH@pgEz{'&aX:RvsvRK3F;IYָP'ZfYOfΘ>_&zDA9D5C~pjޘQZ)25ys& ]TbŲ_XrB ;2e19(E]Eٕ̣B?8]V'Ǡ19sf#t`"QS`Fju@Ř. th07Ȃ )iS; 74UDyZ(|A#ryRL}?)<3U*Ty1mUg&|yIODОd,Ҵg 6Ipv`  Jq2NشufĒ(XUN\r#%I*i- K|#Z S Va,zQy} ЫъvE Bi *1DաI +Mz +kQ7omê*L3ȸ"d3U!$D MĦ[\ZDj +mt.!hݻR^+6fi֫AlFhfQׯd" Zplxqk*׀F4rqBE0݅>Js8EMO"1fU 8tљy-RaݧFhtQ^6ϵg0t쓧ѕ1lGBPytN_lrr^nj=u^Yp(SDZY W^zYY>`Yzci*cqb&*&23:PZ2m1+eHWZm7dsH6v>rWJ9Ø3ġ yG3sR&N9n̎bI8v1fR+!l>rv|rlͧL΄O>uxmGߐ7C|n'Χ|x8_'@!or/i Ae; ɠ).fA"Wܐ{3iFG:$޸b+;e],7o|щyq}ȗ>H}͌e} Yf; y]jȅ4LY[gnHeE2WZ+$=wttB Y.z=cHzIu_@D~p+&"f0VP"m}U U52(fA: =PB$3T48P %FT4_HPek PL&#f̀mWɰPf:= Ygj>#UB9 0\hZk HPnrŦ~:^+wӨ+QW޹jkJ +ѻEv]F8ޫt ހ N{#|!Epz}7DZ >Ps{mD tBM(u|lvw\y8/o=ݥ~/P0zz6e|FA=3ƐK!Kkh&Kwbbeђǘ16Wi1TJ;FK&`C ef%XѼ$2/gLo|Y" +٫3IXUE5h%`-Z9)2MU*W6A t(UyX9Nf-at\ޠ:Avޞ;]6Dۘ{϶q#5dOio,FEv.kD*=0j;f'Qq,Pp"Q-|+WZyD2` CGFIkHyRs,]E0&fwwuSWW,20}ED7UAQvqۮ4ԈxƢR5߾H ^!ت4^֗4k\XJjfM*jP>H]Ō[Ypez"[vPA]CA;(on+)ԵRSd0>l"䗍R.is:R`֕moGP?[OFٳNm.4p\imW'QW]*M)Vut] j7(2IOa"#tWuqVN$1;Qȫg">aT!(#Y~F("#P2V!䨒_Ҩ3J[_GZhՉ9\4s_懏ԙt}:DkRj#REXb"X/f`=xbYC!3E(ݶ-l)dm e2òd:xAYGqvCW?um {/ "ٚvW6`ҫw k4LxLY&,w'c߉: \aR(|$,F6ǃQ\QؖhRK`'.`b.`^D wlo uJ> msq`ù&&Man!^# K-a^'z?5>wuLShr>ggGa̻5˼|i+ 33kR\`  vւ6y?;,?FkhIO]N.pܹT^ &vHDʑ/Ȃ6\fnhACc!oA3hBQA1xgN^h%vtTt"ގZ % 7̢,@vB4_)J4`@JiOEat_&ipPGz43c +5MAPM= +xbY&Lt7 HbQ:(H G&BNr[ %E( +RܨFG)EuIAn )y}qn`-r>%EMl)Q/f+Me-gB^w0~սr~S%Eb7B*c?ا|,4=QRdhqE8Ck͟Z'ZQ¸+~ZLg^~Ç}oWi.54ZnJxg;nM!DNF>>"|"ٌφ=6'3(̋+HDHhfNf# dH+Dj՘y.W+ܠ݇kMV ;SdeP07J9; Avc xݜ7Gђ࣏f:$X髵n|=5-6D̛C%|K7himAw8́񏵳 w ).4bi-9~ŢEmR@ve*ji%I/.\{w0B"x1$Tt'rFq:kOf +N +RyxIkn#?`u>U>A28hZKtݚYQw+l\p8Qp4 EA7 .!nD(㏸_>h#Ȧmu7r؂: n;~/>edua{&pwf0'vb85-`%Β>4 +9cmHk[ ^ki8Ziiy{|zNfXbb6z- +alO3t01U1l2koW!| ju: >#lD>*|W=gzxzX'Aժ(P1AB <Njfq8Ezw8|l! G} ++֦e" RMimlg^{H +uH}N,)GE6Z \_P8fs y%6 ^Gf;z,tF-O|Ϯ36cΈ ]؆ttP juuhf6e6̝ͭ٬F N+@!+E ʆ>˜ + 3!vI4:c CMO^^q&S )]j֑6`[ټxj`gU [)[Ylם6ni>;zWejwG'*8v5`M&d$>{'QNy*t~Xc}3fY]vԁa 2cTk Tw +6u]_Sro1򍡣 +>(!SekYgCc/-0A?Ki7^Wghe+71mH!e4gIٍʊv.H) .h Ω gc_fwi0ecmRv![hdmW5oqٿVZEپhwI`)4LXݙI]@/ۡt]Z@}4g-.ăvE+equJQTTs0Éӏɠ,m[\3o{@ yS Et<1~>`m sn֩WQtp4܎'FVT/)kv`WlV?[;7(4,9I'v~"f5qMڣ +mmC: FohEw`(`mTj# gtM֫fu&|+`mpIJfNgUsYO6ߐԁW!"/lyǘgocU*D>+M.3g!0[ѻh4s) fՌ)W)@<>ѣYA& =XDr*˹QL*v4w4>`ȉGSǡ؞-q81hw(>C4]Ṱ}9u"OF'-\;SP,}x(SP+V IG9`lnE4Dc3PU +zdP gJDkXCzeRl OHuZ$ESV˙>RC^FCA⑁2iH՛@l1Th╚3Pc)]'D CA8x p}m0&ٸBųj3K]$36蛺g&䴶+7:#:8nT:6A0>:GWU_bLv%[3e"ݻ796Y#LuPQ aUmPHr$uICFŸqZ#OgɉCx2VA')^P=uTYS/o``)t3 Aǧo~}adLq;q}97؋הDS@RJ)TCU:2 +m >cN҃ :9Xet2R_FsᓄL^e)<<-39]m̛mI4SLq#hjnv <97X*$"_KJu][cJ}606kyCm +1b*l VqQ7Wz04oz”EnAΟj"̝J_SU?BcJ9Tr1SI" +EC%u>C/0npNe\OBlBweqCaPSA6,xNWƧbGj]ah @*bjt!aA98eu-!bc?'/ۭ6%ł&(t66?DvaxY 8#baon> _Aڃ@J"N2ؑ: F؍rޜh0_Z~hs?4[O>*xZ?CcQ;P7v Yz6(:{m@޶6 +hLMSHJ8s$>ȹ;,d. j+ZZX1nM h7Rˌ6;PQ_ec^ӭ;ʱyi>ax́7'k&ѐ0MSj@X~, y-x0t-y푔6υ[$#6&F@FK;ݼGu(>\tG@Q xly ~3EN!)Fl5u9~ /LhEƊut`#Zɻ{ٌWNf[W;FpT[p7%B6l| +ٞW†66fu>*vjp{p.VX5E :x8Z+t9-# N檖Mߚn6x"J&N_MǨ1*-4(\|m*^"%kOk1yZ-ʝ3Yhv};sno7NLxg?>ޖ!7!a8`;W;0{ \7?h ̒#2b.(xE=ˇ/7{,N6Ξ(Ft 8B\*Q6M)p7сU!8:h,s7B@r0u!t7:NH3=(vW RJ68Ζ+6kOCe:nB]L+tP ~ Ǔm胰.rɬhpoޜMXF4 +3Y1Sm9G +\$ޜ\xr`SRUZX!C͕ 7Q:PQf2w~\WR^BϬ{Yc6BYENwӊ\ z|%hP&:8k'uwR O +ArNrۜhN\!^t%;'~+x'C} /!w\isr2g9m+UsƵ^mxt]5UÍBUfчFD#3` ] !cӭ1b +s+fYhXBHH䅎 +ˬbh} >35C:?yB5]ګhםΤկ4'C:BR{n +yиNcW?w-B[W6u#,Ps M( şؕ8bw/b oSK_©_Ʌ%h{-Jj^ysi8oSjս {AUB3w:Y6ZQrC^ّ. " yNR'[tb4[սc}m ˷und%`R@IIɭu-9h.JǗ [̕8sy$͵yg@\,KBXt3!RόȈ[puݩOLb>tsmm߄P/l;\25m':'eɍB (xA7Xn%1 jY!gӞ΀'ZnՈi%w?Qml{[|Ź 7ct ^:ϋ(䵈TػIfx4Oec85#rWts{7ėǹ=:azh"iC]Y[ڂ݊_Gj=sޕ9^]71[Lͳbxټ4H,tly60%;֙b@pJ6/~ұϠ}>n+BIgql9GZHEj_~i +)@~6ËOvXv'`QzƲhZ̥qXj @.V.xlmy2 /]2ؘE͕wi)'4ǰ)(Aj(! I7;Y쩇5n ʹUt+X'+0:I'TC2` +"TX-SnlҦN߮`7hՃۇKfޒ1,5[OҶЎ6 KJWouߒӨPOj*2d.UR~&:ppJruA|/T3lC9K⾎@gSij(ULa*5alנKϧym$Qf&fsll|a湱:Ql/`gh_Xm f  gzj[@6l}mWn +<;~}r7 )\A]h`s!/V<`CAy2dxt\-ͳy,Џ,JF"b0:T@3S + tV$ʙwח\ k2j8 a69n WK[~ ;L@Va[N&臽7_[bF‡^͘%Oi=%XB9;`)e =oG}yv6%,I-9-d!1ɩY|3&NVѭE!q(]pk{AE zKÅWiIvC* +S$R_+6DzIM00x28 |NK(69nlM;!tbMP)MZg-^p~}:KA:r71twB fFfp0bb_mI !n5Dv~uDZg*/6|Kt}qߧP\~İ4Whߜ;Ţ%%ڐ TImPTv.4V'|@m +>zC3I}q*6 @k(C5dݼ0[>坽an9Lڥ@G"`>oPfa7rk+jfO#06o`tuiϳ^uթ'y96-ey4h(;'ޢ w:FF<Θ`'. &;U4='T"\D;͂5tI.ss`N6Z\\Akm ,աDY괇 2x<$u{籈/g˫o> d?1Iř{h3o!o~l8śdr>vׁhPMg눶-Hłw4ZF+.&DV",8c˒FK:l/O/0lrȴ&Wy_JfBYfٕ%l`zcm+DfTx莪k:+e+ŒwA)F7CzlUY@fCx@MP,=o'08щ:[3f8XаH)^,hE8Xz:}Ad.aS +@HqPAQJ2foΈ'k 5sb}F\* U}Ns*{ -`Is%4'SeIc6Y9ģ?H& $ qezc!"-PH{Sa#V¢V Lȧ"f2hoPf.!Ia`O= t"J\s)n&-daOC=ب]Jڒ.|DBm̴Ъ#4.)_2vpI +qoiسk^ pWJe8jN|.O/ԥx.0=ZM"ؒtX@.d n!v HΤHRG:_Ors9^F!&6G02(?:.##CoId{ۘa,,0 >;HB Yl a|Wɂꥼ!ħ?tHoewg!E'˓<z3rZe,2dUyvsnfN6G^rwgj{WiLDVhd3͜Y8Ḩm7g`-VmGPF[RP.w6255m_gq8Ԏᅳv8z@0?9Ԅ\rO5l:rh#ai\aF'(a[qQ*o`sQ I]p?i?̢UXzw8zWH0Qy>lu(cc߿.;,d4'ŭNw?`8,li o3RS.JZFN +N)U<3] +&PU0H^J6ĺDv["Zr@BݠnHKиi@ MϞ_G!" ՃS<;UzdPQMJ[ԜEv0J:4"c:p98AdMN^9=6Ҥۭ\ws^$]uv=' 7Ooj\ Ӆx胇HSM'R*v44YIS@(ޙ3E;n1\tlR; 9rQŁ9ui@íFWy グ -z;9O|n^|[6(% &{Fҫ l]'PC4L}'E m/oOV{wC4hg_GT!7g %ͶyXt!MHJP2CmS̍=O†%x \({i<ȐqPr? hm uw*d&%# RjJ@TG}vԒ/ıӅo|RGӈ#Et#.bu?ӟ;vʊ)b?Xp (KmD +=?hWtd̈́ Qȏ`zAR.\ڻI \ 09b;R%)8.Fʉ=3J_(4:G^޶o0[DPzys"BҥBIƎ|RnҊ/f셩v * Q$dlxKNq}Vp[j*ta6wc\!8 T4~  r!AJ{BplԵ |^zkqǁ釩`x9KƓէBBz*gX݁W eڄ)f>=^5)_Jcn/Le4p2B" `-C +ip5JڤS $iBI$5΅^&Z}*Td=M<7GKdO7B2Y.sgk1)1nNWg?FU M@ +(h' 2vw튈d 9xHp> $pKlC A lAt$"Ɠ@;w`@\j +$ʺOCQZ| b'$d⏣ƨA@L*WQN(rT!j@=vr 2M4Z |]#IExn,)z"O P3i5s^_6<fQ*kda暹V+Ձ/j|}'5s +^I.g܅L f^6t S\7bq#PCQ1Yv);/`eT/fo2ǺxnC&N#/~Lߝs ͕D+2I] AFc\@,{j@ $(VmѴ*7qHtNXpPLYUpyJvuK3 Tޠz;b@IJ倔~r@oTkI?]"_W=`$/ +z S"6[N=vrev4_\0̷ X Їē@pƱP0"UspcYu !e{Jٜ!*m=eШJkIxuxǿv!wa$b=w?˰8m,Cw&fQڴdX7[f;mDO/ؑwfYW:@UwhHrmͼG&6 I*D֜nlנE>'^ڻ1i0FWBt&$IF}B -P a{ R@ґܮĈA~m Ccg|Jt /IC]Tp}GGϖzظv) GJ0(bo$gYJb7_ ]@Oz"ЦP cmAOxԎJl!N[H06k-ٙe/r3 647WHl$lV' R_ͬ53g! iˎ/֏FwxvYW;nsqYL9qEzQ v0x{t')@jmssCbT&6[~J9ľDiۏW$ͰmιNݠBP]3!B әjt(kۄ-|Ӱ+.AF>+5gmo[@̒;9!C ;v+TE0C1B >PSнWt!dy$_ _Qtu!KzѶr&3Tν~i" !W}y#գܮ'Ih{,++1E2#x.´CpZ*= \Od2 +RDvgvjȬ'`>ڽ&yvH:5ojF_oV*wTmM"(?]g=lǩ3$D٢29]f[{qo`=N?i\ j q8ߴ]Nlvh<@Pry4 䞻( ߨ48uv#׳%0sy +Q[ILYJvY CPuLWO=HKyB.H!RT2,fJ~qe%;v_oCdफ़fvEweB @vwah jWU~Lmfr_ͬehՌꆹy;ډu:Dd)o&=h*aq5צr<6&+ܗNc:ݱez&&esxp>H$;TdvF]UýKTCFVBl7LՖJR ,_u3z[ . EG>Pz^W*Q12+ixG-hiJ/[8Hrks"v`?M\|yW/ N|MV7w #؁m: vLk0?v7 +[$dHXۉ<8l#t1 ]6N4R!'L2`h{ɯ{'J +:M[6 +:oEIiGoZQ+Vs/Bի&&udv],kfkϿD);ҡ|̗YPo"RNNţWO˄Ɖ ybmzU(Ry-ۓZ=jl_OX<,0u րBzc,aX0ȨnP?͛LBeS ,uKMldhD陑JwR~4QhYGVb:t5 +k;ݦ0 +%hJ>'`:`O#[";Ķ6F8xI8,XnLs±R p4gpPh-jRh8B \fm%芅`IZ΋(ft:_щiೕZ{c:Yvv$ybKpD=+I 4zGC .- D3E k|.z턇\&y.t|ځH23OϾHsPE$߸X媱RV(SoXd?GLE|AS)34Xv+4ABz@3DP=,++Ǔ¾d"ʵybۯ+V!w,P()mS1IɜU@L4” 2jvvl\ Xgv\mOSu?g2٫~X) Cc'/;$t&LH#)@:U +S161ŋ I97QjDŽg=a_(5٭dUV0ކt&ŋ"oO B**v7Ԝb/e9wIP47f$*zMHJLfD)g,'\dB>X0~jusNCI0{OJ8HjJmc}}%[O28LMOP~fJf>G|!G -5" X`¢aFA 8 3Mġ Z n7` 'uPB: \mu\$ `f**uMXZ2@Ud͵LvwߛPc$rdX8iE!P*I׾(%OcN_Ǟ75Љ0,d `|zNiK0'%Jhؓ鰽i "<^n>J}2QpG[c>o~;h4+sn+<?iHb0m(H%k1"3KaW=*@s!|j|jpcƍ-tψFFXgϊv(! 8x3fyln}oM_ʭ_|r7uT=V:>mzlBΞ/'oA `nBo츫2Q 6o8988ǐwf{@JtٰWte!cPڶMA3Ih7$a"jcd!k=Ƅ3ō83DVW,g©ǓHƏKxawbߩh-B;|[X!@?%L(prD.Pcبڑy^B_T^B:D]R )yt +;HCK!/~S Ѣ4:^Bn+;bN5iL$I_l78!C3Ck}i^$NM(e!LG#x6Y;*F$ h9@\8䟫m[s6CtOϜ N;#&C#v8G!!*ɛBָ^Bf˥ny9߂ q)fADB84,s9π/t5jJ%[6ٚJrܹc>ޱhj0 > +4BZݞ C2doӇfᅟbD`QkLn'L{4^BQFoXG_W #LҞIP<ڥҽITG WBKt jMA(1}jʼ^|qLx#޵N1sZ2i}rsi'ѿ́u.O2;-eQĢx{K|+lt,$ XĊ(-u +ێl^j77?tPloMgvYώ~{dC^TyF!W2u[tlرj[sb=t|h%['COZ(Ķ㖕x{Il[_b\ȉs1(2.J z=m*O|7>o%Lm#0z_WX`;l OA]`2 +"V*U ĮT̂#b*.~ +$^;\nwH:h퐡њO$N Vba*f gG\m{e8f5Wxo s3W`X Q q֗ifEx3Zfd}'QT޷BW~%"j:d rжW ɂ֊9ejv\ .\6ܡnbFbid>⿛R +/~_UJO~a5X||Ź cy8LD$P 5'[KW ٛ"qkQEc'GK +c%M-^eF?l|2 eC l^fʎ>^U6Za'N[i&/,/J䎒3▚fAy+5>/ZVmhy(&,Mٴd@$iƉIeͶ.׉u[aMKI8eH܇aomP @~u){ɘ-8_1CX3OIlo~E'z]ȱXfV L}ޜ 62#BO\k hHS7-Z Dj#t2d^ 葹lFF9Ze`ԃ5cv79SQql?+I'C ͦ((_]AOgeJݕ͐ +9]D>?pO琢Kmdlyc8-xY۰"K50j. +xal^pyH+B vcri[4 nLl\km#35]O'/bT"uw,DlW$Ɉ>1vT5]?*") 4Dz荓P2O +l`ScYs՟ysy9I)ǫUuhtۍpo뱝0pX-GB OR؂.k;Z >w+C`ʾ0j=>X\OQ]oys8"" 9A5f^ WF0*P5O2 繀m`%pKLz,DO 05pRu_^A7brsJ ( xJCMeh1. rV%$uD{$!r!c/{lo~̣ t~`ןrY0 ̇RXV|(V8\ + A,c.8aߺMɛ>؇g.;onN/YQF=#t"TӀQͮY@o:ω*;NR8*;J,g)pS"J83Qvy 7Q=7k{gݛto֤A&f_7+;ହ]'dtpLAgqGp֌A'0fp֌A +'2fR81{yd̞pf Κ1;K"~{|3h +;9O%h}lpo\*RWZ ( {i~UMhBQ̡U8mp wj2a A`U +ckݜTBwV&譞vv4;$`gV6>PeE8e wP42j"pz4&Fn+I1}3#y7\LL`;.o[u!i &"_~C9YAqf708>gJ+Vߍ.* Cö.cl8&I }(hEDT h-iͳ:]O@qhEKݽd[\钞tqIElb0fH ]3磒vˉeZOA!9MکvuA2~;PxLwU A54}HE82G)Ix[~b~ZYͭݻT6]+u:}Ids?mMil +7@ o>H7$m?Ǹ!@f$]z;w {*K>ӠWOkh[Di;] /TNil:\$/;6I#?a*f|A/;~ЊN3;EJ~T;o?՝O&%nbTŨ&=AMz}.5p.^j8<դׇ``"<or!8I30I '(,}AOzyF=,zY夗ga('=tQWzyF,YgaT¨9=oOv^UdqF$ˣLwN!ihQ"{] ̋㢽#6$(ZA;Lq-'8vJ +@f76 .4@mRgkI +RUT<v AnK徒 MT[boM٦>gX+Up ?9yjhB5$Vgs -Tļ}K:tBU#^̪CUG_n*h"٠]HRҧ3L +U:ۡj=RnXHVa@xLk)ԚG=,B +M_LV͉ +i-* Q)>n%*bxă$*.}F'K/O$Qy'/ZA[A;KD]nRw.71f;E9q~S%9pai{BGr{spd*lz;&a:>:ч휚s2"@)OP9,BO rB!ؔkœ) hHsIDJ0g^V Fx#ܼCCX,P|XD4%ܛC4 \X .77qH@]ԮT%64ռ㘄m4)(a~Anr%R)Ӎ| " {9hGihJ@hZ]6%I2 7X}ؤn_@a$ ,zZ hX#^c+3~$8^~kvW:|7݋31$r]$R!AijX&]N4DfV̟˕\AA\s^v`IX0K!ҧaw@'vȟً$%e3;! BP2@=I +Oj$y4f9J9v6wg:(=g",Չ1 +EEk> +y槃tP sͶָhdū܇rCbv>><|ӳbۦqiTC;{䵰2QFxW62zҎW؎@v#yUmݒ +M?ftrn4{k Q='ċ\9 +|͆#4}&=%v%=DTjT=4 +m.=]!M3|3QXTC?&$v + wOVA%f?yWͮ_׿z~~Ͽ\}:;0e8yEA9"{VRӗbEN Rfq!(cB <^̛ArfRg:vI +ގ,o읝Ij)4R\쮲~vp ޸jV$8P X H9x\! xm;YVt +"p ]˸-SN.n#!=J)SK' !^$UIsr} Y#6jQGb +!ngX Ii^(ᖻxE)Bzxȕ}qaNU9:UghU1hHF]].]N^OC)čwPҁD-*L;M|ۺ-$\P{y3x6\c(Rr2cl:qP4%YP+ b5l$ńBՆ'$x  ;&W$ mA/:Xx|1|ͧ+[kgp8ȣ4{C=l_>]Vw,8vrW>U0g8;Cޓ|;iV;&2DDq%&B:[DKcBIxN6C+C.F̽r&zbmjR$QJ5U2Y.2H⊁f>|л$0i!:)>#HU$*Ğ +R*b] ˛sHb͈U(U YETsR {J~<292n6LY* ? ~HUM-H0~UlFXzv& !2</+̾T%B HV쬄I92Jxj3ͬ?JWy)Y qD7Q$oxyWw6%JQm"D !5HǤQMY)c?˽qEZr`Kj6[f\d= ) a)-lϬ[׆+F1 se'3jkEպJȝtw'18ERgTy[i2W!yБŲ˯ E]bI!G"BBlMJ]j/PiY% QZ|ׅ9vyKè]; 7E X4CD{43^+\ .L.ܕ,sX[|((i&-CH^m dcژHW}e>^Nמ8]SI!~i7<7Q¿R 8kfcij;N/LWlލ-κ-AHI9[S(xpӳnf7;b|%}0 nvׅ/>4eѹˤB`&p-9'ZJ)>_RQc,,Lu. C!g"փSL Jq1{/i8mD5@)q* W%p {x#Fh:E h`7*x>Z`#?Ir\@7@)/dŵ78E-Bxq&\;2"sˌ/o2%Ѐ9Y:EI8 {^!?K)5bE q.S5k3txV-r9֮Hoԭ{P=6QxDSlGTB2ff@,h9%lO珳 +3ʠ]cvPk%V 6sBgޞ!i>W.0te]E-Põ5jqu~@}(GuRs bQHroob +k&\LmkV Bڲ``p?t8N+ } EP2Ȉ! PыpM Ce<]^i5!λH紒6ע0V7d[%%T1ă18/Tm\yh^Gr^|yT]HѽuJAT 2n4G*4Lu&J dx"탁VI:{mGaaE'}JB|kc{@s>yӳКiB +N Q3E}tn-!:_\{II>/R(YNbFfE ]w7񫊰fq +#<faZEyݝOZhpwX'ԅZ)x /! }ёW|||qɫg~aK +UȾ? \M̌XxH\7SxS{&I "ݡ-ǐ*:rvnǓM<P@A + \mbahR\bI H*svٸf;c35mQrTpnA=8$\m8ȅ Ii#!&R^ u/g,{x,hes%GnVH%Mb?!v]W"Zt`W m5Foa# RP`\*&m)/оV#ՀY$2v"& ܗyd8bpXDs-9Px=o7\*P_Y#U1`w7q팝@Rm"H4wa#YVo iWygЀ~/X5ڶ`bڎ<#ֻ9%K_H Ej*m?<(q>Hz|s>RTWIXo; X3?<ti;dZ-D˫+~G#?\`l0o|HU^7"s˨o-$,{[= {,nt_|'U6G:EѕA[X.+5\,hE3Khζ.Y@Zۼw?ӹtl>[ď7hBe_]qkӸ~߇D7s Ca1p7EgM"OIJE8͕d1h=$eEK,A0I46 -I@K ̱`0TR\?櫄ث|T;BJT[R82MZCq']!HUYWn4Z!żFd( ,4) +튺{L$n-Jf#&=n݇Ds&M&Dq(VQ(^Bf'}?)+M\K&Ev꧑/$n?/"0ZrBǎS] +׆Y6H"q&P +)\ӟ} 4$_[ǣ XձI% +x3A ͞Œ5WIOV0_,nomӹtw&)q&)~*cDIڲUӦ?oC@ +B`#Rr$ퟦƯ`gIT x |ƍwM3G$p)Qr<2ri[7aPf9Y9jpgo6J@Ƨ%`9:ҸWRX)2{Q$!",w;<՗E1(NԂ&LBjJ/@DfxR~h6} o4.)kL.q>8F8Y XX0\peNy}_z{w^;3|z&ݣgՇg~ݏ;|,tC[sFNϺßu[\ j Mm7'کΔ:>ՋIXp^ P(u.X-!LjK'F 9q}ԕ-~8 A*fJ3 @w8TͰ˙nZ_gva؊Fo?Y:G,dy&[዇#=%[r$-7V?v2Vv0YPRwP -l +`F(C@8`1/~w{R#e;@rrfy!$B X߆[j,K"Mּ*TFr닻'n*Y8Iio⪙t"ك*r oΛ /4>p=s}>OrQ$~#W?gg;Z+!i(yl[R!ڰc ~ [G3;m#`vci>6[̠<= jʾ?`Q? قSĥ ,?QKduhGHHLl\ +T/P.M[w0ֲU#N4WA})dЧӥ'X']󪦑\k{VV4Qv##f JW~yɫ.gx̶~)*S(ظʠ6WZ-6 9Pn=0+=yrf*'XIK{iJΓҤR%ֶúUb6l2xjh&ư +&(dX¸jJd-=hx/etxU=~7 :nyP^":(ø!OeR 8|'i&iզ~Np?u.^ϲJ*bj5@μn?g|џ|i'1ت|\.gaID3ZZ\%M<;,_z˟}}o_ӗ?7_⻯~<ůޕd ^~w˟o7?ŕN /ʔçOͥ?we{˿6?!^_/ӛ?~]/ׯ/owo^fO*W廏SoO/g~0(gmo_ͷ>G,f}ӿӿ._կy}}x~o~oۿwë> 8&^dax[WNQ46"O?v9ڿ%m/_;緬wx闾b/,|,I:gg-: iC>}!V5Ll3f-<;I&Z3<_ϯ38}~@qhU~TWAU=7:bXj9 جۡl͵"7iܒ HSw" aF?xIbNBxw;Z_z}M +$BuIij4!/Q"W! m$ ڀk47oQw1QD:;j~y<'+`Y~h#6W]݊|UQ}!`IOȌx,( ~L> 8C޼}Dg9 䚻/HN$1$ , /yKv;5Suuڡ9ӳܞok$Pr>L]ŧ[>rޘUei4лpLm.+ZSoe˻#wwjߜWGchz٫ܫ +n{pmQmhM_mI+ByH lmԖWTo&iX׎W'e]Xӵ%H$ +3×jf?_p +gYwXƈѺkEJ#Y7lot[9\< e ) WFe.P{'&\UK!ZcQ_`.ث_c5*8*vYAf]EفڤLE]BvH)^1ږ3Rף4J 9ˆ'GQgvY3WYj]ylmF2l/ܺ"J6XV ;ƈkϹH BeaVeeFF|Šnll{>4 y?= ~w#jʺ+,;xTc`Jd7+nC|=7I@ÝfY"eW=.-=W,k3EVL"<b }BD0{䢶qjSd֍EYXJ\> 2DgeoG37 +A2;n)wCA>Hm*14U]3W +zi=G+Vu]L?0Wʘ4&}7APhlL+ʇG6+Cq5Lj*>5.a0+6։VD|Y(1Sbzǽ&"TRR@$ہ J4䔿T`Da`NI5>ؓ1YU + +Di=&_9!vm(b"Jԁ㒓bY E>1B旮 myǴ~_w(#:odԡxC;os"|ٰlj5: +_xOZxҽD 4͟[kĖSi߸Mx8E "xxiX@ӥ:('ItvCYal }x 'בz[UJ:[dn~ ,`vk5)I;=9XJD yly>EIn2fG}*dPm!lj8+rhT!/@5C,S&pSL{MU0'h[44Ngs M"*rWulP/8HS{*:-΀'ReZ*2{LU|x}c, +Ȧ*~J`OV`Kv,6 ,0N3Dֵkq<!|sY"3(lP0.WlʱI⥠chXvn(xA/?}PMN l/7\Ibe.0TeB"-sޛf*FTi=@l@F6Aɼ~HvGћj%haunv{^ډR4*UUָ(4B{o`ca<!2rĽs)쀍>zPGہGyT NL)J3-ZGJ_t깣$Htp11 5I6z}ȟyt8f[*ODihXr5"~/"n`M)" GQ@t& ڨBPx'5A>{oe+AU` +,M}4I| + +`ZQ/01516ʿzj S1a|Ky-gݶ"2Rl-y4$`Aa +mFC4\b^HhkK[7J9Ѩ-q/E٘+Glδ]kW,X.ý*o )"%O E4\IeQ>oCercĴD$_ă E>Ӥ : +7RM,r '޵ +)i=IOJ@7ȸ?5 jtBKos7'e?޸ 45(i]"qж}5 @oi"v:! +Ȫz#q.;D<&. 9 :pn,vЪl(C-=A="eכ Ф"<QG2WkDV{+ ="mԨ}7Oiм QU&f^՟j* .+*Ӂ&DZ= @X&s`mׅr z?Aݠ|FC'GjGOAEMifс3-:/poc>8P׵pHY8V8O83f=[%kɳjK1|}ӯ +`M꬚s|A1-7$b'{Zq))Xb_0ȚzTeQ,wWl`Vy*qĤgfcJuvdU;!A!D!ŷݠ9Ҳ +7ztca'ۣ>8ɱoYćϥrY-_[:L'}3s͸co%sӑyʒI2Ju(O`JJ-[[?`؇}m&ϯV bl~VI$/&Btd=~8 ՏiΨa]& 8I?8g Y4jZ\f7@.v0`zi J t ?%  e}ǵu@޻4R3qZIFe-I(/TF 0*+<9$#]㠠=rΐ Ŗ[Θ3z%ꉦ`Hnɴ?tcQA}C;.DSύu|w_dOo){~K?[IG5\,^B7,Gyһc?b*?~<,xd:cXfzdda'_.I{׎~@6\7 Q[+\R4䃤Dr7ٶX.?`{ܻDs|K&03ZJIg3@>{<1 44P9@M5Ex_wmN?vsgnk5+I G{|Zpc6$̈ [Zj\ln&*Ũ'ujU6\(Θ}@W E,2#;"^#wnm=Kb +m7A)ΒHxLx`L#UGw{[.飕P?^g_Vsq)xs f)YrX\wnM2GG!6/Nj \?u,gb[uiǭ.:ROl 9%C8p7!d6FO^O4l($Fc vS'A26%}ܼ@*Y2 ^ +endstream endobj 73 0 obj <>stream +襤ݜ&g?Ge]S]c,k_HE׷ !,K7-i$%ƒpnQhN@\ᬘD b`|x$I=ވYem+HhKlJ2WX:6y~حMmu^iJ2cj|ˬn@,bȗQ +# bDDyDL_WBXK= Fa +dr[q&N`C LâaF^?'xhMc&2dRu!ƭc!SYd[kf1(!YV|I@  R0yKqgNU1+|+Z֠-@pM}5 pыgzYVeBUn@m$T'!@- u*vOEwIH ".QqC@zyŨB:B}j`|C;HIbn>{79"@΍;J1WRxހe 2=U6g+i˒ +.IS[vY?{M>b Dl-qWG`a}9(9\|_cL*_kd9^P gr?%įB =ؾ:r@w6\WǥpT= i 9xݎL;v,1)4h)ҼgHUqYIg5(iXc:GT#xƫ>ӈ]c*e\KJi]c @v(;M7yf97(޲^Ft =3{4CQ_}`_ʀen.CNP>vVD +%{fe.]]oEɚ$S[Hڑzҿ"0W^A 85o!O-\"*ALH߈wgkk}AE~`tdJ7,%cctsӄώ\kܧY9bo1.{ŋ?Q@,}_?WGw1L_1P~A[OwPIAGmIৎiv56F\iM4_Ivo~m5j[ mHDÚoFۏz9_ROM$ؘkbcR8,bM?oT1[A av, IP.i zK7'm!%{dAi?iSgӾ< ˙M.!bg< ~)jD)*K$󏌯_#x~]#n./â7-n$xUH>HJY>Q*E9ʔ 癕^4XzDfQYrCh7͓{ab(@BeƐ[30τTTiöd ĥDGF'E %~!u.".NO" {a) % + av#]}>L]Au {w[TFuG=7 #[>z{qüΖ͑2e`;/JA%"ʾ[7<\+\dȬ&+Pqj$3s ql.1Av#IP۪ch2CFT#8= h$E=,O$7b>3|(][-.12"WAMjBg"1lUywm?5JߛD21Pw{p Cg"qfAH+n%BʠS8MI xA֐VrO+2f2ip/==j"dA|8b[Vt`L4_CZ/5}RrK8 !#nU,1irT8͒@?5Q)=lcz/F\,>:@6e+TȷJXBQY(ߑ2k)UFLǏ?FNg*%tq߁MB%eaV<%$:*@eP+>I%7":pyhH UwrzGֈ=E_jjv٠ E6n^10=~AM̺ùE* y zb!cGf|{ ()Lߧ'g}PFdvC$ M9#$z4UW;ARu~c^vi{wH<rDu dX.nb\ ] 8 F} ۰.Z!V{K1'(W}o{P)U&x&ˋŦcB^)`79関u*b@. +&GG0TY.疳`;l-VaV&@ϒ'; X + qRMNņ U,'<²a0MlYMAV&Y{vJRrf-BV 'P4{d ]jGމqnGꠖ8axg oF@."'ɰ W^OW#%]#SA _e%l),R +bz;`\& ^%բQQRݓ4sO\tW'l 86nPO׬$ϼTrZKm5ɉh=ͣH@z+q~aʼ֭1ܵ(7 z$}{Fze'f+V ͂e/Gݑg3cRFY x'>x\ęTg^,1OcF~%X}ڍu(bٔ\2̲'{-kd6LM_2G=$JaQ $G4`mB87ItnhI= v1`#3:(`v)G=Hs'ǠPnRd$HgC7;%0*xlCe8áGE8^|K,_Sg^"=-tbZ,1νJbJgͼ.4ATiU. 5"l 9"Ho|)Y*;!pbCB|@5l0)Ak"Zw/$F,}5q!d2Mm}P) 'rG%IGW)#vxҽtq)/~бZIOS0-G Q~ i-,݈nݲ)Sa)a3QU\(8 # UDQj7bJ\`W^JTbqky<8KR5F&A*Eq%k"oH0 "Ce9/tjb[&Q´l +wץ%ft3f tx GYV a5m,c$ܬPX4+:r=)Y3)00q@ +pB?Ax!X!vvKvN=OQKȏ'of(o]X +m*8VPS="b]GY,%Q@xz$vuV+%A]616uonn+~܎h\^I2Y +:-@ Zȍ\jijs +}_j‚q= ]JD |Q=J¤e#4RRxٟ Wy)%sO3ͶXL3B\I h@0WeO9$ (F T@drġ$y4U: 65"tu@"$n:Q-+~SmpG*3%W!AyVvcJn0'Z.Sh(׻TV#)xsVyx-Qb\!X+~ "/{CАg?+iV*^$L'lA*;8.}!|$-$_[ N1B?߈%^W#> Mt +x9TNK+ü*/afSwBa+fPVձG^t{'J5 ɻ;(TF|/qO=7Y auUh+C}a]:E[nםY܎(RWzA͈觍궋E򇪗Q,_vQ?gޓCױ-4|wR/10c;Ƿ8+~ﳘL|%)ɵdv6TWֽK WׂHc2 ZC:Z.DY7mfAԃ!mTB򈵏h*z5㫧 z?9 oWVKOݠh0_JuW5I6k[oUd_7!N>m涇 37AW?Y;GehxK畮CX|Gh +lp\lu[VNGZahֱEiG8V}{4~*~T}7VoXq,R[+{eԑnSV +dTzqUiI9R +Li\:(,k$ EƁA~3vmi"Fbz"@/OEo|Zib(S#u(Of(T϶@#۾MUhn!F>c1; BA5 3ز 9lFIӛ sZ TZy ؖu0VѺo@[4,XlF73Ȫ'ͨ\+٥rsK|3 -CHHjT aAq"#>԰3-s~=jE19ABEs0d*ۘLuAU@Ղ&lI.<)/!}NuǑb +^ϓ=ݍ"UoMR}z bHI[HQ#.Ӗ9Ka20 FP! K+dBNl*9WhƆ^o!6m_w5`dmbS _]镪},{SQ;HB[_YVe uhꀬ @8Z#n0/nSh$( 8315hc7@4$ҾP=%؀ Hf¶zmzw^S$$ǎ},$|v#풅y+SI $H vZosIv|;H_#!h '+*52=:kz,@[M5zEz"*wFC<> +.qly(QLe^$^P^ x=O4BrGQHpDd \jfb*t:CbhBm"r&[H;eV˧s`x@C!Q]m| k`: S%.s/.`=$ӿIe;É6lm)(00i%-q2=nzjJu3DJ7C b뤐ߒfH 4sbL ˬ.a% a zZw C>X;}%Aβ2 vMm蓤=i6=Soh7TXiGG{pq Sd?)Gٳ"AVd*K%cGBr@/J-BxʌscH Bq7߽9|ڟf6ђMda iH)IݎhT}0HDl¦Dyؖ͡/y~~wBz^Lݮ(Nh-ziݱ`3V6xלNDj}Xo@G&LP,nCZ!:!wnEl9,5ah lكU<'zc 9j Q% 6Tw?B&k#2P`={3{BY:yFQF!i\7SLj'z@@^bRGt+ *ܚ`+=Q(\rOb?؟8ޅ6*5#vu$=CȢ趨)쫈6\j9e .+4ǘ7R5%V-]lfY5!L{V_vC?9VǴ!gI햆|ZtU[o.|}o% +T(RFXB28lq1֞=/EORݨD󊱭R 5qUJr ?{~WYQN|#txMhFx! 3Z ם(!CMZQ2km(7i9< xK.껀?`%mCDh3'XF4 S=ˡd*%c ?T9豟_I('U;GXEy +Q3f0NEOr4/H(OCEG߳=ҩ0ҴWO/ȏo'Q"D\"p<;\^o+XJH+K(R"bbMh/3<ְb`KY)BDVl *"ژa[| J>="=_H)Okڭ(+e2ӫfRje̊)hJ7Ǩ.CN$/%@R&crg)n*5և MUj9 ?S Ayn4cVPE N'$`gnS)mיִEmt9$NY+dz6DUqD;T/l6G 7Ujey牨*&;0>Xl?;Z҄/2v7DynPT2]f1]ص 7bM 3 6P[R(E19- %JIt܄bggMYSdtT`tXnLj=R߄#NDkQPZpv~;14F&5x4PTorZ+($U 'u|jM!Č +yzYK&[jAπX2ާ]ӏ_3올3ȁN3>*pd2Oвk Mӭ뉫 (uiQ8kHZBˎ~uaMjJAndnV骃XCa yoh=䃞i '90Qk b"!!7(|kmiR  +Zь,ri͚Zof|04½-@@X֑uS bJf WhX^ #܁r,Wb+]uҘ^^Ąǃb܂Ȫ-.ZؐqD}&#:(hLwhNj@w:|:DIcjZqL9U쁓JiO`JݲՔqXߏ#J\HzeŦ٪mzK9$$[D́W;?ŸTk]CE-F|FyTso,lv6fE׭8IƵuZ~p.-bFk)Ѱ{xqEp▃~hhӀJG.Ti{hT翧ZNr&5T͸(VF.1T'|;&]v=g{k%T!PJquSiɥ{!pS6[ՙȢ"틈C߯\:oZoKjMLh-K^붅;ӛ:,&mL"M>x2pG},B|dw0=#N97YPPu7 +Ov`OhyWu>vܧ[|^H mIU+>W+2 [*} H濘J7Al\wÎRsX9S4k<w$:=6p!(tr6b־n' bkۇ.|'8-YO{0(Q7jҮ k`2i["vxh'({Cd}֖z0XwW~\vx5"8d_g +r%$*†}I +RdC&N{ +7(H|$zg8^)\EۡM1#ax+sퟯ"gNY}GʴF>[JDH{jz>ܘk(I M) 9砣6ZJ~o]( HrR:f**369}|&,&+,Tf:! l`D) /IHS٬LlɪбRч[{vʔ +"jz43[BV8W 6^`nTr"ʇva}SCJPK2cL'1`t-pn\R`;9ΐ%^ݭ( hdHğϿ6~h>w+ HAjLaGCZŗOGi˘%?nzCe*sa-6X +~h1pj+9_ٓ?Ao? _ɋW?]/s??yu#_؜$sZ4`ɧ$)0]F:USb +%VDƠ + /%7r#حjR bY +Ysw`*1^6bST@߈딊lwD&zt'rUN\z!y-:S.3y|٣_ ?J89H9z DPenU1{LG#I^5擙=zq+2 2#D:(γb8ɮSMX`d(eQgWҪi[^4EH{jF3 K0WfJuTYIe +K0o޺cPP ng=^ۈ&Z P zH/䑳֔ ^ ϕGaSC5W S:2B,ts;\(PcQiyfĄGCW4.olBYKql0y7K*^?[rPOHP&l5Aړmy8"e#X~B#/ RW/}-U_G C1H)ڃgX^meѡ"l^\:J |{&5V) 3-؞[MLx΍ot7#5F*PZn>az Զ@LTLN Z]TL-J I%9lГ\y" +mM(pP9p-qc GFDñG{(k;}߯e%[2hI+:]niMZ_c"NE2M+Z(AG^@VR}(F{u$a"~8zwLP7!i86RG'4>n vMS_Uiv7]DI@Q{â8"%\Kj68 Oz=`9#lMG*D]60ǐk4>Y]:$}Ք:(:1=B|C +B`Ȣ3ʐTu dBQ7^ F웞ZiLGu>҂QS"YҺ!%V!q +5BQ̕Zl[}XzUNk=V,pO۶.<0$ȋ)@yRiuPH@#,>_y궞ߍ);J4dzCzB B8 GʰQ[݃ " &U) ȑ@gHQ=Z'T˟7^3$lԵ Iv7O%QjuX`TRA)*sEElVRE"1Cr<zEHlEU֑, "qʣ!#iYhqC ~@CA+vU"oP/]nEdMT e-"!Sq$8MC |4h#J4N3;jC 6Gk/@bp|j< YvdCzsqy{EzAk.w>9 I1S.(~ ] HE E/v&pMkZEE35%ضEȔMAKr׫m,,ª85s:4 3]jx/xPdkM|o +Hg)GXLJ 9MUP˽NT.PrZXR-h:S6(4 zoKmșlKYyp'"?a;$J5Œ}ΩJJ-`i/Z[#|@T5N{VZ@W`v1GyCoNr1ڟE D)K"4fZ.Hxq()M2}gL\)JW̤b7d1A/j?%|Qɼ8x_Ts*>nt3&~ӪffhhX:/߰8o5 {] *PÀCvA#\%Џq>{F&JGŠJ.oO3{=[AH fFڢ{V>[ZͦNo_ |c˒"F^ dv;`V ,$i`5N݊>x_^8Xyj 9YG9a?DٽzwuvDH9fG놸4U:DcQ,DݰEAViaWf;/GZQc\SD|oeקG%/0,Ђ,TFĪW8K*rK{ph\/*wg6Inasj.tCs!+60аYPe +;A1qPp?TQYchqb[[5D=/afz``*A!AGѾYSDNY&S"#O`c$.Rlo* {*8XszDF,TxX _|օS-r0s1jyۛ΅A-a":N-9b_0fm6#Ȟ?Ύ ldsH${Go_P"39 %mIid+q k9TyF(o/@Ft\,{d߉ɼl̀@xD*c0};m(r :3LhQ$EX#s&!}4v"~oEFvCTTcـ96R}W5IiޫNpA+drXLܠA w{/7%eS>< r q_{m冲 ܞرn|W'<2d*ȦЕon;Sjy6˷A nJ)wcKt?U,yO<jOk#6@mĔÆ,?bShf PGqxҜJ#,'#x`sǜh KO9j֮Ptkh׸ LŶH]/ _)Ut8+O4D> LQg!  +ϥ @0[cJ<_s6q;QnV.hCwF}JC0+H _GUE>oQ$KLh yHHR>2iEg-4R~!y~@s/se̾کKAGFu%Z|g1Y~j2V_sm+d[2/D78mpTC F4)Wh4#}ʺQC.n!*8%NGO.O.U۳^(~ d6+'B 8חl2oȗדl#IEjM~o=[\1|/ps+Re "yᣇ-oFwZu W72WWa|MʊRwnh!UVEPz.zXEL\ =@ ;T4=TLl! _uSZyC܁ t}=0B]쫀+1PRܺTz=NZZ> %E.a,[V, hn_[1l{7jBr/@@e'Fi{*d3臢ZLI5vlkd:t6Z`NfBmφk[h=~tDC[2X1S%[u-NLǫ0*84`yP`ism! \ F;#r$[.傆 ܫBD +y"rAdQa",-R~K]AWhbHáUe85s MZ;? TBb9B{7 Tj9}{}0RB%uFf(^84l1 D +먺CHB&?[B@W'n\LvV!^Si@%{ 0X'= 2ԉ+05U #9ux( S8:R)0 աϥBa0p7D7';iF +p_k3@K$nK )H{ĕWXwCY!@6z~LcDΛ%2./87r>}G+|!_n@f9pW.sg2̺d+ xgbdJ*k9(BϺal#B?d&TKj:zēBA{/; Fȱ ˖VLu5ZFwf&` I~ S-r +t %tVTUA k∩m|ѡ  HZVV:$]SDR;95XI޸R:2K̽ ^"@cD!~ +Fl蕖@H:P2<#;ֺRDEw$Z=Wr/b}V BDm2{n5f)@&?׶2 pdM-7l8􏘷 1%PHMzM Bm5ϡ,B>vŝ_K{-e506kV|߬+{Xϝ[^NZӉ?5ٔ6X~G4O''XN"3/#C2s&|AN3# Pb* A d<a?{6IrafƊ6Dw5ga2KUh[,Ygʥxu\da;b} +p`y?Op4b@\ LF L>Jw_o|)aytꁀ/+o$@$Ć!q dʶρ;++399G Б6fagL(Ez"#/<6gphCbFmbڰA}!)3bCnmJ΄q0 }@jY5AqV}:$ْlVE赙O{ +)S+@1p)z{osˋ GTWPl#}Liȉs~[p!Rn/-g7/>I‐ +pBXɽ ar=|vn-d6HxI.zHCI,{8Cwϊ@וы:ݚllFZqݗʑ\+=.H{Q-A,:]#8:A_= t>8GQr}2FbS|f1=ހ`ךaBVYJ,K}#ޢEha +ic~)R3)]mh ϔ h$jo():Ɩ.UGj@A?z_'zu<* W Wo"qSyLUOm˙:{gxr+w@;cAaP ehLC$E'/L^5MVw`$ ,ͣ@KU.t|E&TC5.iEs֮Fp݆q0>@rn.f ‘4+]ienLs[.LB\H}:bm4D@K@EN>2 OYbS ɝqf6< +Z`gAG/ 7߆k0b xѶq0v`O!uBe_L:-g 4 vlK$(!~- +v`OZTI?7f#ިA{O-~,I*L~HG|@jpj0%Qʣ + +2(ɮsa+q +p:tg٥EU$1CUЯ  +5jQ=*?#xeg.ߔ3V?rcKBqΛ?; 3/DXۻq}w(//Z:Aߐxfn.VL󙕭$L C!>yݡ/O=0u +ya'mpD*_eJ"V\NWfMV>$k[Z~}ZK+,#n1mW̕=ANPК2}q+|Xqj9c]$@x+ɖR'ێrngIi5!MxNQUM%5mv5.H`WнZ\>Em璒_F3i/jډ9 j 4<A9q$Ĝ²kN;u&BLKZ%Ä&HT v/=+Mt(llm'OJ[9tr07Y  8H>I Ė(_^bUޒ,@`4ɮbklف47Kl?7_(\/O*ۿ +)Y\7[MGe5o"OSLPqjZ(0w8B +K>kᶂO<՘!W;PYjUuOW\!Uo + GodG \FH6 +cCp'M0!U QnztwCC0EER@7B ͞ųtg^D)Yk~s*إz2AM6C|, +)VEtݶǠ.zS=h,!J@oSb`2dDqlWzd +zITox0Yau0HOM I,_3LU8FtkpMBk44/lѡAkFy6K'$+W +i,bxM{ҕ&H Etr2`JE"Ԭ+==)Lp%N)iOU_=JMuV`  +uVЪTpԠ\Gt4~y(v+oAS KLW ؏j\5P4 +Ti;X~0A7@?*;EMdƶ aAIo&{0Ö +ՀƟtLY>WFJn0ouG{:(zBV)i~<7yaBW n>WWфy@ {vTX!N/̊{,lG)8b nyב5bj [8m Y(a_7 K=I=Wϩ%h=!Tgȑ&Q7%z[VWZbkt n9%K?Je +bjW +-Z~x-'1=2ܻg̗ Y8J)(w؏?@YA+ob:[ h,U0@?ծ\VX`zsmT{LȲvCBC&)э1M74.w" (0v!plnڑN*JbcJ/zu +&~Ȍ O ~>\Uo)XoT_® y|i8MQͥrʡAkGx+}||NА : T Y~ &Z]RNR,"qM$܉K^&$tSM*hQu bS<jD 7$Y[ۿzRt +"T'0)gC%~ ze#M6x>M< "FZB\J<՜A,(hEr (O`wJeٍZ&?qO tAuidikY\W'ؔϕQcX> ̿hK'掲Qʥ%3!ovԾwoj&`#>vY5R`$惏y9[+InR} 0論԰]/K:zˬk.Frq}4rpv:`4q%;atL^Mi%/b Ш*ZU'ÿƷDAK&!Dem9W?=ŢK3 a_vHgiN +Tbqo"IRPBFܘYK#8_v= 9K8~^ Pr̲cI4o?'"ҍ_*x±]b/(:F4i`W4p=iNzGA&."(w mfi5 UBٌSBߵ[ =arTp_21u M +hOVܾ% C]8i.JKYP`(r)XvE^GWP*nʪO@ + F?:I )"4@ xרUXƫsgH\8*QQ%4x!rU +ޘeٻK=bJNBH>2U/N=MSo .$.}d-Q Fimp dӭ^2"OXS2*.ɗsuHu(XC #΁5LQc!Ll) 4Z9 H2AN仑f崯P*F!rExtC!KZr|R`6J" 潇R@{}|t^ѕeQFDD+ Tw_74R +u25Nzo8(_7$MsDؓ@<{UO=ǞohՎU#G6]؍(DFx\sC +}LXz1呯HE =YũC7k:P^W:1$ULٛBk +×&әo&K Pr"COrHa?WDho@@wԾ=biM֎H +:AT}Eޝӯy{ۜNa7A`lEq=5;\Ú&L@}Α =?)7"8h0CXfBr8)qz+Mqn}Pӭ a.5^=y'ʡeۍEnQH;6TZ#nOE81z|Ysċ*͸ѬUzzlĿvZ}_ B&,!@E@qh + 9^*{QrHmČO~^w$:kH4l#)HƒPѬ +CF8_PMSvԃLi "l +|{;nE!N:%sENcuǴǎlK(<`RdV ~ywn'׹.$x]5~sѣܡ<NVB]JJ&!Z +Im +@e~=_!VaGr +#?_n'x`M#zJ&LWP`-M4+hqAϷʌ,ytL)* +$xnGU kq . ֬,#N姟~ͻ;=YWĨڊnʱ0!{δsJ?KVzШ m3S:~ + 6A*aDS>zAyMU"BL Bݘ +e[a>{ĩCsw?"ܡV`ԡ9T%{Xԇ{ht#e$k鞩{9ixD̅x)C9+Rt}ɱ<(z|ۃ Q 6`V4YJEGGFp:Qؓ.y]f7Ty?ЭY/~"ʪ`ϓASYUrcMUDe5z=lGB nC> d)C1{ENqR8SX, Z0Qau$CTEhQE,^z mVQN>^`>Io[5TUdg-vd}x+0 +x*+1v`jM!Kq,OF3hz[-ϼä8C `ǭ$˞E\uP!᭝ס"7D^Ω"j?ĩ"J@v +pMvhco5i`s/[X&o*\NFy m"CI<#{W-Ļ mgD\D Zo!.\5}`{jl뷷asVnCJ:8^k|Z*>V/U>c@~4 h07BV`'К@ 6pHhBVێ>B+ֽ([jZ m>JEixa(#=iWB1=Y]]yBk{ x~ b>n kΚØlϧU~OirT= jfѐ:CyR@7|>/'I5X=B[/q`gaX>a*Ż@~YOy)&5FzE"Ct uDՑroN8Tac~b3Jj ";5Xl6D[xϋŸ +)(0CІM0s}}m +H<>o9uXC@Q\%`(S@vnU@gҠSsbcWl@m2@wx/ V>`ͲKh +/ZRUMK[%~b{csyk\!4[o@+T N$n,kav;Ś:70ve.AUVRnwr*2q9P 5}qV GlZ3a9{ ,163E|SO`2{$L7@qsj|h?¥G~omH^9Fʱ>Ncu<Y0a3U( nL +{^PW%z0,uUZѷ x8f-T aY*(6I9  /Q %4Khh5s>H PɜqH{AX\e OJ\۽>}#6#c3vu/癯cWS /Amh!;A^3l>?)^'s%{l8H ^oZH-1n^ `DӪU̗r:EeT,Pp$QtOr+)@db9|+Ot%t}\MYkQ{vsHNU{G"oh8~3~PI{CRlMBçuIF +RV &;MQ$$|>Բ3CavgtpN"B՚qgNEZvI* +9ҖWic? wѮ+eԾ &eWKӁ&9Š}?5*vl4˟{85V\ a\ҳ, )>ڵ#0[x__!ҡN2"ĴZwfHQSpd<Oh '7MWvxh' o+ XIX=ZAh\Y|JO0gtzTR B)/B"H< H{yPhBJ;Ըg5HwV\K~q0b04  0ڽfJXW O1u!2@? !RY~ԕU"/uKae+up'OC,/6Ȋ AWt3a+lL%EI5Bחx܀HdNcQ^ Ʉ RP1Z&B=͡"@ +iW s8)`%ha4Xҥqr)ʿw<Tz Gۙ{>>z~F`GDU yz<+PaVK\:tԐ{&?&Kٷ{^66%w<Ǘ·X2ks\ש9w0z>x8sH]$rل`@jxĤ +4/yfL,5?gBDD-WoNT߂c(LYNdjG;X#u4bA 쬪PG?8M}~ZEHL@E~cL._Au81W뎗@'R(\(ص,5~rUwaB'\L?L'<‰3c;x6L"{Vhb7P BF?wLq]9B<~J뻆6_6]"{K){JK ^dfRx$#Hd@G^ +~ \&cx "vYLո 0U7^ٌg +l\Zl]9(\~3 X!%=D>~9龷SǕSnEgmlæMH>/0z<@Cj$L[32 9a;^t6srk2-T5S m5^yq`" R 2^ۇn#{Q0v=!ҭ8]|Ӻ}üeRQ|#>c{W%Y<—(zk{ +dJ0/wQn_3(*`@C H$w K$б1wmnQYt!m^z;᷁0{!`˜}}`Ef|5a(21բF[`+]jݩ&jmyXcQZDѾeVkT2uJ{uf赧B~)KIhS'X0=ЏFzPˍ3]VH7Un'\&c9C:R(Í8@_:PC$BUU$qH6UE.2Y iƁaPduxfDS[8znÔ*KffIPd;`|Z4ۭgCk3]&Ue5 N?@r [WCzXgjkU>PGIy }px[ac΢ uuna[x/ѫnJO0)SZ΁{{-h +9G:c$p(>UjXsKl*gF-D (JmQjԞ.x'q& \n*3(A6J>A]8Njg1xG.zEa[@:Uv51Yq`Y7AЍ{ׇp~̗FsU tQrQB= YmǮ7#)Fc}6t\TyWX$X}6.,EU_ !-y5\yvOO+B1M|} 1]^228Y'[t)rR.;CG[)6e8;{D@ LF/:q: +ԟAG#c.Jڙ_ xLq>LR(H7dž,@֩G|}7 ᕣ6wd{j3芥ҫF/ 81\w! [Ra0jlD[=D7j+jdIA 0.7 ɚwCAIL3bG.F^,#^Z#RsЮ lоi|uյ؎ɗI孕S??x1ꀒSj' ntDŽS5HxN/T[_/r]2F )JZoli;߈.J[g`v(j(9B'=MɾѢG +K@eP_zJ(DRlf=o7Ky$Gp* $JgLQ_CrnkJk%p +"\^B߂PvI&Wlj13K;vA_"to" O].0ؑݳ QS];Jͽ*{S6'llĺUndkD0f~q-זbG|. ^u v>2Xx'~#3Fz1(@iI #S;͏D^ut3dL1kc3@V  =ѣ. 6N~ bp0eѴt߄pZ6Uz Cd~ U!ѳ3[.fN +vSgbRpk}rꋕ}ƙQE:(V[ĿBhЈ=,hEuW!0#v;W< $)k١J毦XI|ț}R`EyAf{d:M9 +|$_eJx8tɚb?8=e*gwTi<= M陸\: 8؈MoFL{%[T@E:쀱uGz= +}<.xR:xw KƬ$KzIFA: 5q5tjBV}f6nܦ: 6nZ򩿗H˵Dgd@9_AŠR +'Tqc7}E}2uQxܿ'dpP cY%YY +yQR m9vNk䰆yBuUQmaK`Obys9MDZ> ia\ԤCAe-`! y%9%|cQ; <#^~p|s(${t8zs% S|yX*&8)|h@'B@,\Sa +eeaY RQK5ӠDCݣ+kYޜ#qVX4Bի?`Ƞ5 iB*%@Gsfu WʋPlȂnf@XJh] 2EmA%z:#J ϢQ4@qYFIkD1Y2l +QaPO$+QgUn-)xZ@^`/[ +UZTFbk*f\ND@g5ܫSldy h@8<G qtʳeGCQ '#wBHwpؤ^{/j +Q[YTCk=7BH + 2?l~]>)K$+qN;9,M/& P +|[~(58VHCN3~rKgMɰfUlLUu{C)QZHV*id4ݒB"ȢUT#ȄZ*q)WcWER":Qv`"*(󶍠o՛RAc*_(Zf8"q#9o~Ѭ"a[O~qi=z!N0_<*DbZPP{)D]?mE[a1n1S}(KjWH{5رtIUl"zU)RrŠS8 ?(Ժc2f)"PN^Յb (A`VN:plN<Ö597}S%TgE 9eA@&pMÑhՄ{qDf@P;>T9N Хvzrb{Qq-\MI̷ +kw\4Z2gm?{+63,[[WKJKigہIMUX)Γ"h%ēxJCŠ,`RXtqUgΔO&]jxs8"LW$E:24x1S`A5*Asa+ #Tw承_:ODbD72RPbZZ9&dZ>LfNv%(lNG)_% 9e~PBRvM\d} fc^@w +gEU#7QX Pߺ?vӰ~'J<3\M\CaڗƁh,S5_3z _DM&@,n[L2!@<9.ɰcG1M妶Ÿ}q{+? +78U Oź'ͅ(q[LT}%F<Ȟ(e 15 2 Jnl@,T]nbDS{嶦}X*0KD֜Vxn+8f"PVJ/Q/k0H o7X%-ش@t1y&:( jb2% CMAV]SfB{ER - +WY{fP!ވux-.-Mʋ4I{Pev ܄+BҬp-:\EDpظ8sҳc.fcPw4^p#f`7orGY_⟠gOa;18rlrב+ b,8vsa> -QnHMFtjS 2 q=+B*C=ݭ#6y}5 GRMdp\tC_ `6IraBc=(/(%,ryj]qҙׁ4[2Ӎ^X8w=Mb="k$U"Xf18t-\vd)=RͮD?|F.&uNt#;imG0I*A^)`~^xezn3/;F[BhPw Ӝc=,l,/.U@{  (5=-|Sa`.0`T|#s^sw +GJ&<ĝgCZ)5{b%3~jQjMڼ|aJ~ntq#C-2 LAx;D!BZ=$Ւ.&ũ&B))+oR{AMӇH R |PZ5G>YW,IX\GTøhH v{"\/?ڿū'kpW[yweoqJ)̀ŪF'bg@Xٜt!A +Ţ{uhr2J?JT8~4n(.. +j`QIRYg9e~+vJ@E K:e\=J!0;A1Zv924?`<29Vu{o.ݟ'E ގ TQm>K9@@t_أ/G͘FTl W4)j.f^%NnXL]И Z1a8zr?I]%w`K/>1Y5$x3TW 5Sf%7? `Q- |Z{Fs׀|cQu x-+DPY*Pc..,[> 06OQO𹦍W3 i R<vJ 뭗KPBuLPLgE 6p܇tζ P +(e/ M^IXz0t뒅uRG rH{%-( 9+9ZrIs_Txuu{ 3 F$}(M[OջtP7%LMvq| u;j +>cl5oɁq<$NssG\C>2,2-PMjżNZj p:@^T%QynxE)_.w:*%Rѯ[x1~P>FUJ{7*gƅk#B*!B pNLE5DZkK'&ΈpE,dӀ5<񩡞d|4F7^Ȏz`E("| ʁ:w=La$P.I]mvT~Tj- 耇1zj;bEH0FD;P XR㤧F!p\"8l?uxZ޺IeP]%F(\Ȥ\]Q&/2 Up;nB5dwĕA]{֠UzI]]#%U^(rpk#fˌ*-BKf@V/߂)ᰂ}d͕ OB^xhAE1 W5 +Yұ85YTdt#GpdW%^iO^cg^NW[ܹYyMe +'b##ܒ$0[1hЕj[MA.Ae,!( ;@u@)e )E̪AIw?-q xϴ&+יGbG7Hr1_4׆Ǹ2]3Qt;oM^u5{|أT"]-}۸QzW7tܪy?L0n[GvDToBG3mEK}rN`XP^`葈9 "d1K ,W@|Bkx# +"/ҚIXe!P üGC Nċȸ/|[(Q 1?\d̂FaUª"0h%!xH*gQ i3p +`:zuLn|ZEG` "r? rr@3ǥ^9Á;Sgʊ/op%I `7zIAFeE6e:meܮHZ Uqp4[ɶd*v5d1~鯿i71=Vۖ ۡ6fH*J٠bj[8ziei3Jr숽^ױVy/ n4 ":`W r`Cغ} 7aJ5`čhGf+Mhd{̀]#A~XAk )h sl1ݮ[` {u}ӣvYG7ґLV*Ux}B)p?9֥Vn B^aL|ZT.j~LT n<T6ݓ͎ڑUwY x-yZ +hۚ0ݡHQ<֡6w_vd\#lVm3EցECAS'zX 3oo.V!x|%w#wQhG2(#t'|4<# WHKndmN2A^o -{ Aw٩Dzuܵ<%-h# q[~k ,-b]v@ T4y gD _ +5:FwZ{=ZP}x5%@jU%1?rݒ"ukm*PoU$ja[{Svg73RBzU0쏆˱_{97J*.z$x G u݋*<<=fPd0B91}Q1`>K;B;ʮ@|ɜG,M8%T켙{ |tI9#?{k11ҟW5VvDxVlw&FQGij) UY:$=SNm.YEY_ΰjCvT"߿$9}Ct2ga <<oVPv. m˒E?M/9D1g㲣 \O9Fb[t!ܛ"-ihLM/]=tùδ[!)3X##C +N;)p=2@`C,Ѣс&ia; ҐW{tlj`^܁ +'Y'o^hx*\v=؁=H>q~?'njzXE M{@ᳵךԊ?^K8#(`kYvJ0yavx@{bdC6zn[" kٺ#g dD/aɭ81Wf3 ydH2gҏ$b+-ހ@J2>#{\[M" +Z ^ "ȏ;%ka)ʰ<_ JT3OEۈh6ΐͼyKi)68M`q/}ھCME--tzWVl}Usq,X :]|QQL3bⰽj^EYY{#O1k=έ;1vG +Z1gsVi kqa#ht"]RCqe&J !4AIzdEoI@[kᑥr^s^9w#/SuJ]rug &@j6L)i}:Vk pj<>>pU@ȡ]J/ܱe9 +k`%֟GZCnr2:WH^Plޱ\L)q2C)(y4[X a݁ dͫG~3'jst b;aAsV=ĉ%9)`H7H0>Lz: ^<=-v+ +d2M +oB}<<ł2I,+ڛޣ6K$QH%" c->{P_o%HLT#1^=wpr!Bj囯!Ġrum E=ID`KM"t8hzfh֭ˋI5Hh!ݣ{D7iVBM&D(|;f^g|4ϭQP'I0L5N UydÉ6ӣQDƐ +H{a@ʅ\UY1ĐypFZ &1c iv߭ 2%TLS ȲʋzCm[)NXXĻcT3* +I$9&3{(E +[Pk3L[Fn+3 9DBBK1Vػ͸3[6͝peb]B1%>(cǍ\ ~qi֪{87jn8-K^R/y0i r+vEΤBmm"Q׊h$A$.ӟ^a5 +җDqZLWZ֡{a^F ҞHCUiH(hܫX>"LcW|=@Q!c"ѺӃ;nv\ҍ4Té*;=AcgX"j51I$U +.2hsj6K4)[,,,0PA>P(1as囎~``HD^=J8ͦk&l$|Z٠gK݋9 G9A7묣9~2@f|@Y^MU-<.6ByB ;z<'XަLM9"p8WK]sD\"T=b3XϽ*??oWCRzPK|?Z14Ί\z(%LW :9H!X]th<9E֑ tr q:"pQڳ +==0Y=30ұ^anϥ19SwzE2S5eSůR* )e\B)6U^@JSc+,9I;p[[DKO߻ tj )J蓶XKuDU'xK4IV7L4bpC< 'C^_!&j#H<!Q|=ebs>E.jRX]"gZŐCDygsдÞ@u*gR+F,ʿ0\ z욪Ĥ2=۸,փA}q< ߋQn"iѣh_Ē9G+ިC^H;-͙51ٕͨ'BL +2?Te/F C7: .~ vȟf$(eKήzaE:ҐmZhDt3cAwSs3݃a] NQxim>\el}BA64!XlD+ @b[b,`3(̱a: Ɏ msn#KZeJʽрp!FJf4eo'^vzna]v7a~WCai`< `Z7JV~#jP8#jṭ#9E 8cD3P3)kj1L^IK;b3r.B SuVqV,Ɉitހ{\*z +IsC+ݽhR\ b e{ř9M2Lj5 ǘ4O5 9HL y a"@WJ`fhvV;*5sMcBS*%8YMw!E>*\`aCbJ _x,W]jJ_V'E^yzX*/ذa#^D)V(Aa?'5$k@'C5z ,ȑXőE\,rGB.h"M/i*2d/Sk +-GǡWdGbM{ĉB鶯8灒x &rvM~@y!Ůx،\SG &]I4Nr%L+0sЊ?e۲*jG8+xUre~tQ_/adz%QQ68YJu+7X=΃@"{OBޏA!h H5! ~>jݨUL_g/dɁ$,+"NLp;Z,8YrB¯ǠĚlhq͕cF%|GJAP+.rQIړxGSpGlr{4 + +75 $ =Ϊ,#]n5җS+bbؾukG6-0 (/`]ȇ;G`^ALsyvtn1W[T@"=rh# S%ͽKDaS]E®L80&)Z)5#* 7؋65zAӪV&c \ea*E5.{oz VU)x!)4Y{+LF*<^6Ô H c(Xrw@#$\FA]C6M #bvj8x9(,Vwl/5D8E:~۪X#obtk t5rtkR=`#C^ taln@*p*!Nխ*gež}?A` ynڻZurrql! w,DLQ)~{32b@ og2/"r9TzS<_}蕞 +7sth`+B9xiĭ*BO0ֵgʯA&QvPEG+L;ew}/LDoM 9l׌:}Uݥ ]\5vr, |וd2aUzskf0sgh'ܣ[ڟJaYsI8 &ZW0e +ٌ:@.oCQD6JDA.b=`oYvaS88WtvQltσCϾ_^X뇝A}|Z"Ě"T!7Qì; e". #،5\>4zX@]h مX#%.d( Mp@}]}tqN,5VJW/bT ~K#E^=^^2Ȗ,RNkF!WmER+.Ĕ +"db!{$H7hoq !s.]JoYP͆Gk}~N=_ ʃ$0׺Uf`xAL30Tp$! 0P.M |rv;BJsy8cQ4s{HV&z΀4lyI;lOk37* emnju;EH'9oi֣D9Ƶ &`m/W,K%L`!/a8Qla{E뜉LB֗Dp,O&%IWV CO'#@3 #f|mTkMKWS$ET*X,`ۭ!2t3q_w|B +ݵ&"A +_rw+^Va2k3MEq^GkS4x\u&w@ 4-a 9cN'tP,ұҢ|’,NyR׭"!-}OV6tdjC;c]% bZ\\mQ!4L +Az],) f@r3N|_!L3_`i i=:='@ aR]=9OW[玀:EDew-\%gǮJY"s9CT VJz1 Z\~"<1D8K\ dM tKر_''툎 '5nYI:׼rq==GT1SjLN85}UR>^d1n@UɔΔ Jo{gRnZ4<t T4rZ/,mښS6$3ERBWaxJ4ߠ9@NJ3RiiR)5tJLh5d>Q/pdNY%x fh%ASe\wSΎܧ +&@ټ]lN%Ku Dv %{D_A%qBiL҅sX oy ތo^wdL%)B$³vu$es)B%?c۷@O3? +/Aޞ[ټ*T + :zDC3X'9nbT#P60+WCbl>ZȓBkN )^dkjR?Ȟo5jCkLfl#O> I\ ܑPRaxMnyE c"\A|UTߠ|{HDǙ'FK#ȁd-h_kPK{mt֭%ע!"iN=T¡OW0fګ`V7Uf?NV Eą\[o)4_&hTym' a ̆"W'HDDFG%;|j{ѱ rGjSRNoYu܋{"P&M/W eM'JTdac܈՝  dXiv„( ʈ΀tҾZa>3#1(OtB~~AXz%6!\(fDbQг=պEZM&%p`3AȣpNuoQM /abIZW'VF@&2V0/?r!.1>eu+,ʩЇw'.#xfUt/H2Vgi9iF (@#xb`NH8oqn6K^cgK" s7rQ4/571Hs }|gh(Q\𸗠pK7ÄɣvZ|+ -4u' +1XW+?K"P% L,~XAP7=hUơ[䧛_LuM`(W߻͏TҹWX zD76̩yў& bX%~GPH) N&,U݉1 +\aac`aLHxgG +a\qzz,S("ɭ*9t(DX-փxTDTb|D5k4K)~3FIoɴmNfeW>lyRȲ~DNLdR&5/:N +0+FԩsFJ)ֱ#+a'b b\ѿ$P= ݜ0^nq|raPCDT*"j/ODI Txk! ;^4@3 ( $i/?b@jGcb:<>#N -g", +R$ }A +A߽i2`s&p?4hBjı6) cz bdX8 +[y,J+ +]к RmWJ4ê%H*E5{\M 5o[ t*)7%r t|/er8Am5UkC9r!wtk_6w&a|u3Mo׎ɝ +׫mrta;!fN̯ +TSZӁµ/E?ۏ7RҶ&" +Ɨ!Dx5XxoI9!fY/Bb!OBof:Bu`3[#/jg )MR0ܙBUн)8jjR?,^WJزto}#وBS~=[Vp4.@;F~I^@]Kn)܉(Y[rV#lz-*%yE JY˚ 0txw$ M}F-"VE\I{ͺ{o,} FΤu8k4/D&;yڍQ-\Cٿ(5ytNpAԁdr8T.t@XGH<2hI̎p4U n5#qlȩф@_+X:saC[t0uO׭E+z>Ď>&cewj rV=ɱK`x&;ᶸVVz,Shb(9Ѯ "+[rkq!:}U.W34lȇ熨nhzTqBK}$ b&6ٙêةNyF$@ge0Z:c7Up]=4X1'+S4t:>TtK2's`5z M#MMqs5l?g BZN$GMmPzHkTQyg>??CF pcYWNҞ=O6۾+M$>u0=W1=qA6:H"h\+JTwL=/ATg j S_oOh +t&ȗ>g-י3v"rp[r` p#Tt7]Hh>>Tӣj(j6{+'m7TGXĸ# +'dHQԢP3Q2WjXYAc!UPE)fƭؑ:WtuaJZ<%1R$I'gpwgыdCe`lq"D#\pkħS_ۧGn ek͏]v70cFKkfc< I\gL-`3FǞ z6 #֫Dh{֧˶%vY- GՏ6MzxH!SFǫA?|u X+U3Qq)F9[ +SG|hH>E#e?+ qR, ‚nΘT=kjCX]~VRDeO~|EJŠ_”Dd,cDS蕯]Fd$@řr&0vijh[d4hu/[F&"3s/|ӁM1\nD ,dz@ۣDR ?;5#ב<"̌D-6+w`5Ex!N׈af=x+ąN۷(u<  +C4$4?a?^p#;bF$H׳o-.HϩYkB9_dҺ2*ZY_Ղ!m-8\!\c3/xX6^rv8 !=ąg*B/(s5lQ)_;v0I;س殝Rƈ#(Hktx ɹޖܨUqm>dUIϢBD$UF0:k`GD!|R3c 38Ü:v%ur:BEG i_a)aT.1ʹ>hzĻ:fіӚ>DA^*c)#LHaF#b'bEVʈ\.rP폦E*C4Q:į d1l?<>g)?19FTP&ghXūsBV^2tfϵ6f_ *P~'@7eg-ԂցnʰS+KN|nO)]nMe'_5G+g%CQGo(GWV +T +#3B& v`cDD/"É}-JM+FEo%vmIHz\] OIlRԍ.,MհM`['"l7aTwh;.2nX ƥUD偁.5p u =A`w|7sO#.R&JBq"0GZ)k5U7{Jwfsu*:`+մvIsa6' "N{fpJDoUUnׄuD֢&h3@Bf-a +$2%rnREO ^EcZQ{|ݘIǓgw0Й;Ύ% +p5=ien&:+"z+>%}gϓul<з$N _z55@$Y5R;"|$֚tYK_0Kz"Vd&h@O 9ցʡlĕ?z4_k'e;]}YS~XZD#ۤ85x/i#<8E +ș2l[rolޖΕjcBpgi@WOS ?);#$jYi%Ļ83a,woxϰ)3.ō\Ί==2_$ ֋!@4&iW5c&qE_Cܰ +*ni<\R{kC%wx{>XlH'~M *t6/Y+.jGw&JiMQ|RqmdnwpOHloQd ͧ7d$2 Mw=N^BC\;ɋU(*Q0A;'h 6vp2WƤQroƄU ̀ĻO1g8 e+~=n3cUtI}E&imdp1)v{qCj6>7<^m$.%}N}VNΪ׭z *ⱐ6D!Mpp"غ4Hs)F:ڣ_/8@$#[E멋}ZPFG]N<>zDALp޻TCϱbQ2{nDt֙g4xrE|BBF&&̥@&naIE>='=ZvG8.;Rt睻}BC8dyp?C +@¦ݠPIѩ9|TSRڐ{@2t +4e*AwUUfÎefV "ԆY'e"0:CDD9C~ Ø!&PM+Bv&/#snu+}m̒[P.Br+ؘCau^ lGDNuUU@8T\f(dO @|'g9!SEWSF]af<wY`tb*,&ٺWuv=ք5SEif0h.XS θ%&qzܕ_~Cp"^~̬~EQODmaKxeș fpwR8xiV7lqv[s亽U~SIu [xҞg1קh mkYA Ҿ䊳숶#OO\֩7S nWdCVA(D4xb^3؊f@)jԲ^M_p2^17[(t\Ada-];}>c:Pu-( լ_顜]_HZ/KlEyz p#['{-JŐO)@ ;~ѾXJӹozd x3= rʔpgxв :{i4nQ/lwd;N^l0F2X%r.v 4P0nJI3LJQF2V=s::G0Th'HxA!gYto/c9Ga?\8؏x;M+T?ȞπAk8tbRnag v]:kce +TEbչʮ(B6>ogt/>6q b=RKU@{{gҙEDg :~:ІK%_ƌ"pp$# 1k+-Y {9i)6$o"{HsH,/zy&XC)fU*lʕEY\quAc327}$ 4%MXp :I`Kv(]02kCL, +apVj 8Ȅx(7/OJuoe2HLzZH7|G\Quo:_dlUH]nm*0hMz,^8S_01ԡ-ſYЄ v;i%}87]ԭI`8_=)y>[bMJ4`K{_`WS0΂^n[/d7tlChO%B +.zv1bT"pٙxY <'g| eq#3" { m]CshvT L6zսƷOI08Ngb $;e Ҍx<* S=|hWfp K!Laլc~,3~,rv5Y :WP:IK{?"',bf?1I#Ё΀>/0WA y7k]ٮl :߫;>_ϗsx5Ib%ÿ(3',""$YY*"4"P0痔c'OWM]lNWw}#0q/?!Vsgط%xԤ %\.AB?*+1uy>V,K-`@j-I p45X/׳FFRm6?tdN,h2g$C cB[L֒_^)`V؎+%e\IG/*K0f?M6-Rn@OY%AW-eReqڤ2%n->万r?ֵF|se_ 6 + +endstream endobj 74 0 obj <>stream + `=p#y=T N.&̲=>+TxիWO`rM^QWFW0o Ț@ȁ?pځ7DގTe2eF4ޏ*&2JS&[v̯'ZU_WҔ\IgE(}:T?D@g!܁ϰ)_m*CzQOAp{E(<@R$YT{ӿ߲@]e@vEccopA||<Ӣ/ޕd8+XxJ][V1 +; JZp`hs[D UNr}Bv5,l#qEaxkNçQoy"I,wa*B8U0%Z.E +z/i?KsP_[b6 ջAF{ğߩ>Ty~sN t~޹;+8]OCUH>O)GGuH}GZoCi+n9Gfzj'-8 < ##v[Y$pQ bnS9Э:^5BxW:.ħ?TŃCn$ + ~=(dw_ԲR.yWUJ +GhSڧ?,@AyDfjcgЈo-B %+7/wPWo@X E5Wuc79"4:Ivuz㊋m5 +5Dd밁rh6h 9 M9Gƙ뮆\r"UDq ɰc-_Np=p@F5&`ո%2$ܨ0ˠņ] R4v7ءD~:JZ|IFG *BT2pLlNÇ5in~GUZ<¨|аS"~[ӟZuz!;h POvCŠ9ձๆsPI-g P8"$"W|e\u35)Ma6 N%J\AV?/*P׍Dk*LڈծG9`ʙ>,Μ^Rg~c;&O8bM<^\h~҈M};'Q%y$žkcHul+J?xc0 "iXC0z3@4C%7&4IT>%հV +!)E{ܿ?hp=;ZTPaBp>-AxEjżz{h4|#.֪1?o- Ɔ_ziQ.r ;"JY7}<|z}ld2!!V,[o1dDa¡'zĄ:zθ`#~,PŽN8O\9JOQR&$= IxNLJ%3eQAV\(ڢB[6; +N7G +L98>#UUvc&ժ{"U(]",,~1W٣GXc% <͌;5LgCĘ~C(ޥN~m5!BcZC]an^][hcA*Jj"K~gϡy($Yw0|+=Xt5ͼbbxURW foˍH}#UU2`sC-Al.V%L UF@}/UdqwH/)"]e=-\vt_SQ5j۽vq>[mT~X=0b +..o/h*a($2'ʥd’OIh"NϮ6 O"-jZLVR|ĝO5@]Q*_W ߪ 7 +*/H yF:_Hmieˮj[r*+$i rx `qF'e(G2򲐯v/&@#xvm ̦܆^#ZCSZ}mvP&!=(o#V%2,ݼ1:Fp{QT)*EHTOWi"NmD )қ= }# 3@K5 * +X*ޟ`i2r"=7^ϘPe=k*J1٠iꃐ6U`{:+Q(GH4Xl~J8. !ZE(O;WpVV`=QR+EP !~U\(w[!T-`!2 oc?D`y-#_|s=~jt#&Er#V$+b-F9e6?k>?cD1rYRq^IOi=a$}̽-+.;+ZPh3j.TE:URk@*K@Wvf3!1ԣwdQ5 q E ^SİA^{[JAi좃q6v W]GXr`wf;K6B%d#~|?ŕLkFp&RdKf Ql:U=/K ̀_ICɬ;`#Dӵ]E+ + 1by =$t +Ba$jrhWV[&搤:O-6 v #e{B^ϩh| Mdž3/ݭ7 {=lUxE2/%V<:za]uIc*Js i'a +%UҡqҶs<ؤT0H+R ͞aȇڽL\fkf>HμA _]{X[dϕiEr҄] +@1=9:`< + YaL>d0K"N ~aT?gE:6|E!`4e8*XzA1? 㗻\O vAW* +/k޹K^oшCL{|zZλ>Xͪy~a%zJ~_95J"ݳ0"S˟w.aː Ckt$+92th gˊ[4P̒5`g6j qpg0]Ŕ'۩7tfh`Qfйu&sGuR߼yiJq a'GplCm?,OBdk_=JZ;>0c{9c$-s-f%ExETmoN.(A}'d(G}oz.b+:2qd9j,x@zNV7+jQ'8.|e,̺VɄ ψ]dPn+S3[.GtBɇZ=EԜ?YV" wb*g-.T"^?Dǿ~ԛ}<]a=jGjD]~D܀j&]q10WyOQ8x ?/dHυ/uFúl:w HeN N!ga=<XMh260d9sTKjvTF\jQ9fVWF-Z^u|f:=^4@*Bel$q}W̱>$RԬNZmZ)^(^OSJzI\;"bup td e\ҫJZß~;jŞ_FҊ#RG(@^nXG?/-b_+R1?IRNNΟQoQ%V[P6bX{Q T@`w6B^;̲/ST҅mXNoW6bM&!H W6 Od)B㾬v51&7b*3A26ugW3b E-Ii BһD_AW־oa=3i2}a[#`鯽`{IN[&ary);"$`y[۾ѴDf] ?E/8ItvMOwGn@s+w& +^wU1KIOt#X[!`}ϰ7сř) ѤrxK烯81\QZB2_̲{`=DAu,ꤕ^16$chv&x FUא%e7Ko҆?S9'T6pUM;!BQ(>.F uc2c EJ'(VqjĈ&\62;3(-W ,Aw +p^S5}D%-> SŊ|`ãrjYYׇ$.k:S/$΍lz K|qRTS{jN"n^툾#mTTJ(qW۹"jCrܦ-A"UDٷ8>_u1՟]ֺkQq+mbN1@Qu>bIQOu*c'";Nz+ex_a]!}A+X׋ZzNt46ܤc.J S\v89& +Mz}Uhw=,)$hdl),q8^҂NhA> )ܝŵW%V鲨Mjpp5?#0P@)A3  X5ks)\g$x:%,t+4!Q »g5gb#\, :ɠn\& bO5EpR0A['c>Wog"F&CŰ+'~G}AX7פv.ZG=3qM)qW6Â5-,)L3ʩD::5=9`H.:䣉'˼%ywwswc(A`1vȪఅ!bo)OٌX y :r +FKb8g>L\7F-?46t}k v3ooJ3] 1Gl +Ļtdvk,=lDj $'ZRLb!ק/8* + ?DC!\6څNiC}z!)pևn^ u"o]~Œ2BǀGV_93nV@=4Q"/ ++xSZNup |Wܞ +֙9ژB1kx\oȠcp7!>?=x?!HEl9H{"0XZ|D()_' zQFb<^{ŷ5 +Fשׁq|0F:^[4a91`/a +~˙7mF=8Qcw"TO8#b#xHvd?!;DT4Q9=TtĕuGܦ\Ғf'n56woz*_GnBֺsY?OEjo+d:yV#q=AƶpB=pM +-JPIff&X.6$AIK D8p7\ hr*+"ztW@TA}1^aD:)ǁU&QQV:h$KArM#@BdQ).9 Evv3k`}txۤY`JXsme Vc*Aλ q*\nV;A3?{{_ q;u=0EPiHWa^B >h\*s,Gt~x5Ma&܋"tFuJ^QցqZhڇ~j) 0+4¯W1?bwTڵ +́iZQeTXq9sVЋ?PuEuA =Qb/.;|G!Xn J&i?U`-0c; +!,> +l cN,/ |Hzٝ1SY(_q+4.r]|ڍU _08u˯4R\Otܔ.{3Z;#@zTDYACmҸ`=ʐ$<M=XېLl9*"3{iSzSgl =H]~kNu=?/Z>C3FWP!E!-R-yQW,2j׏YKz~]_g>jxDP ͑ϭ6ˋB;lskTԦ̎̏R=DK/RD 6o0JZ ".0EƉi +NԷTZGLJĥ=;WTЕѐ@F  tSoQ!=ldul/'_QaK3~vNR8xN9'sz|}R+I +5"b@= oTi=nrL #wȁ-R b[ju9/#JC|Qv,1kU'N3fI$s +0JVx5ƈ {<D?mOd뉼7yYC1=^ǫۉ +;.\8xb́ =aQ1f&wLx]hB3*%dHa.nȺW v~h9F1)Zf`mK 1>[Wi_ V@;A?QgrVas[EO'6;7@}u4d"}!!zt($} =_pJ\FZ6&+3d3sY\6d{CW)@IM2j%vU;!?G>QHBGϜ}t0L*/OEз?<>iԅŸUIJJg8Jg'Dn17hwZ_TVk!S4 dZWbZya+3 3d_r@gT;uy7~.)c#nԈq`i'΂sn .tjx*8 ܕ ޯX*צ=|3 !E ^=2PQZbq3잆 6/o="m[5v!ˎyT(I)=D)DKSx{&1}N,`hiӷ̝AxDo':` gq?eN#xsIzKUH|eԅGUM= Cl_Y6b],>*^BnW\g, T03u;(plɮҺEPfpʸ{iy`"}d-H*- +Vvԡn74fI/':.D>t"3ṾqΌՃUq:Ҍf~v[ b*}i_?:_ "Sb,ѨR6yB+;_vW`^|(X+Јۉf-[UYlǻʔ/z(%9`dɝAR͇h} +pF0SCl F l'n>_έ,̭}[p`Q߇ BkO0J5DI #² Om#j JF?_'OС5;lhp\8BpzVS&Iғ D߭|Q8 LD#+)E:v3ŸORmDB9:xo)cA + +PPvo*lC, B7} 0c_jdWulOhWR|)ouYۇVV z=ɷ㴭EY.vQj4ԀӖ|e˖C3-QےTsJ +zI`ĨҠ |0]^< l@6"ˈHcPZƸNuRAf%5kgQoj!Gcrݯ~y"zЫ} G( Er)W RS一ˢZ>A۟&ZE75 {D-G 3}s׾t3=UC Yl qH2%#hH |u.agN{_뷘*_%z+"Fth3:v2vAqJ^bיuG*YQcuDʋRUH#}HB,/g k(DHb4NLD]T$6_k~vUAe&C]p(XwJĐyΰh&޵ ([w%\Iq\DQb)!"Ai0;٢t4p;+1vv6 + LЛ8V5\sO7f1O}Ij\Yvl7o ?t4ԝ`UB/c|`@CפFրǢK’҂W]SN3=7+_a7:MYzkPE<_ramm>()C*~_6Xmǰ7_+;jQnl+l;;WUw׎Eqr*2|J }7L]x]C}*p`KYKxiu۲I^?ͤ!^G8Vٹ ]GivfeD}8-}sulϋK{!ڒ$ $*AR@`$/oJD|bX ,7I9ua]'c?x_l@TX`-TjI!+|33tVrM6/smdnF֢z:G]:7'ĝS_VFma|J}lDJY)"[^ +ԘdjmͰ 񢚢%W G%,(%ꊉ.O23f# d co8C9¢- 2S|E!껰ݫHfaLp\- h!ܠ/q,f,^x=ّUQ)54"(God%،L ]:Ovꙫmj-h}֭a,B*FgBuL=A'zfǣ.bR.hn.*4dϐKخϙpmIIvq;}q)$CQȁGߠ`+܇nhsvXRv66CR!WUg[M0 *MY[N.04fu׳qQ~> +ͰbAɑ}gX*^%){>HK@|+Jc9T!@$`%J 6TEGbBC88tEL=6x[?NzXSR(L/\V]1z=x479ٝs[Q{Z8(3PMO`U VI-u6ŕ.yZGe+~KqlʨIy~8s MfArp88sC7_1lBDFU@? +/f U f|Ҿ@"UH˼#Gaw+550ErT)xJ[P,[DuI /qQGTZpNu0$3 <ԞXU7zBj2iFLYF;0 d"ۻ'n+a U۹u_8K\ T1~̹+|<|(.3˚Zt~ RMd%‚_,Ax ‰RYXc ARZ}er(noYaY,>O{R|PcT@SPIbGd( 1-\Up:{"̄_vΊs݈tKDH+{] H2~GX B BUoKֱWR];:8./Iz`=szg(a..xx0.KQbWk9 +-37Zpkh*:Zzs;\LEg^+:. "y )_mm ڊP^ DߟmQb3u &Q$ 1ͱF uE[BEy$=ֿ+{Pm%QgzI2Y0ȰX:Z$ DB߿y]U=;=g*:+32Rk*̻>Z: vSU<oTH|ٟC<+"Yʅ= cOgg:{80 $:JROۺ˟ѓKu1j3D',H؂x xiNFb[@P +һcR(#qSH4! ϮO0|Ħډ> @PǍV{,\|Uws 3-Tg)kd,f{2[ ůk.ca.KY}kVi5k]3$bۆs{/2{V1,Ӎ=]UD9ZjuHE߯. u[_?gdkHu`oxocHxY` E蜽tc*kVĮ P*,#PL K Ŝaꤘ8lr:[ Kat +!zO;=Q +t-l-P_ٳ<}[PxnovwGn`>$0>3+6Ev` 0R=\[k9U@{R/,&zu + E=lz\1R o?Vqa{xva!"e0IĠti#t1UAKDOBйko.a&<`vI K|E+$|&|B{9IYB|`N{6 +x艻$aJW&PP="2<G|=US)j펈@~u~i9"D~Cj +Ƌ' +fe'QdO(F,ɕ`Zpy/TׯqPO5%NKly%op.'L7rT Y9H"Va"1.Zvz"n +N+5l¨{@٪C!=V@xmE U 'K0?ޯD33o\u<V V0 %JM#w11hQLW}hRfKRzEeO< +/8$+󴩈8yL{L<}tҥgZm0,yFZ<:( (,Z=}8x;B״)4PAi3呎!̲'vU+tEb +150tzP +4+r =4 +vÕJlp5? m12z F8D";'+u Qޘ#g;{YM&%]-<;Lʹa)>|qǭZ-6-P t&BBN.,6>ځh\-LM 0b'oNi>1liQߛtZBT/cO٠GyISpqbvq'T +趆U.DSӸr[-teVӽKFQ3hA$~ѲV랰y$)/h^*<":+%2?ǔuOXd-kT7h_Ŵ&(2JPj%9uj=%RgZH{S?[h`S  ˳*U_آ Z¨g}T9@_&ZHԋp9MBIzzVPM_t~/t,hQ)d XiAݳ̺S*س󠖥=Q*%ԸCM)(H$Z%ºlQ 7t0HHR!>@^?"P\Nz+)S}/l۹b̞3D?8{]H#ݓ汬"qe#N <##YOP[p{t.u!!*}(zA y|`3+EAfiRwQ緈C-.Nϼ5 ŸJ!{8JYx>G47jaK7i`*`_"aRիJ;%}$|+:[qr[.AC4~[9 + ʙ errj})6sd6pv_XX4ph*> +Aɏ#Z D{8-:v7*O#fF[7"DLuH +p@@4cSAjѫG@_(2-Dfs~n<CB\KXȗo*5ԫzgq RBx&{_"W5roN4-bQ `c.½VUS\BDmƺ+Tcv)@EsYmo"k«X"K'Ӳce54I_Woy֪OP2S= +bRTrAA5 Sz“mas<׺iOzlzKe|~30V8ߤX & ÆY2 =x7DK;#Ma +-^rMe-Kn.}LI˰1xBd Qb@@Wbr0C-'qGpW\CyoRp52C ɏ;E=4 a~vox2W-1-2Lhbú֬hqqΉ?y&Hlk>'vNSRs97jW-"f$epezjZmEP/@ 8E=ߌxN~%E y͞\PgqO-[}wBKp0LSF76^Wz'!EKfOa_Q8mËwɡN~&w4x.*zK]'paXH(H}qӱQ{Fя522ݝzu W?Dpr18Zty& {إ-bx> ֡BNd w<ɇC5_Mr>9 +}+Fv^Vw!1lL>PGwY8 =S*G͟(bU@QMm֮4@$!Y\SA0#E-4}~7`5n[kMbN+E苀d tJ>DA7=4JE?E,0a a>9THk`Xΐ:y_oǹ~b]skpLYhԾc| 11yέJ=H@,){{0;rٳN5/E ~];**G;N7Ӌ:ݳ=V"qkMM5%o+d5󷈾Ÿ06͐b\v +M!4LH0 ͒ }RJҭC:aLwD均Yv< +~\WxYw)T2GCi0ksipbsFq^H0WٮC9hzMDj-wQYX@g,![Κ NR L{88T͉-؈hEVpIG<×7=qI7%`٧c%>b1M|x&2xAĥ+c6O#ʙ]_զE<^|wՌ88A=y;*'6y +QQy&+ʯiE'aZZ^q  2r܌FYlqdt{u.EWn{.f!<Z=hî|# ];S-G3?S:H"3%+yoN&aT W0)Ol̛ QWa +0`0Y.xrO)JfA^TҢK JmCܤ~_W +sUnh]< M$qŠט݋ExsD=/^b{q!7sEPvQ=D⹂.=T`rb*BcSIu'cV}dbNlۋm*_QAD?e3E_ox>?͟ӏ?^z#f?/XuLmjU[2,lc"3_m@ӮX+}aNwqq}/0xtx?v5Θ_#&XFÝWrzҫ=T Sg3B[o:r3+0* {@‶吼D;͘q ˌoj*k+A^g>+PWq,u՚hU\ :״(xWuM7!-:R` + ν(܅㢢r̗|V/R˧*UCR6e>ԋʑԙ)γ1,u1]|lqNL6ZUA}a'7|o9PlqFU_ Ok}vKT&pC-lRRq=tU3;#R E֑#yZ89 H9zxlCZ8R^Dj:M]޿9Al5ZFAgu|c_G!oDLJHnz ~\d9İ*vH Jވ +5/̅ DgR1 +x|Xt,ض_#z{K/IFշv%5Q?dU];/KB1.UTfttXK7%{2͟NN}uMH"N5WU%+(6fRa@<,Ș +nL@wq70/C kJWOc@fȭߤ5]`vtȺR9cH= W5V0{R&8Ht_ku{呓U:#ai8=-+#du`biԨ-n^?*3"u =ӝ94W%ۡgx%:F8aiL&q),DcCshDt>)ܗcIY_ LvW㓍/> hV)鄷Җ5=dKυQ_UWy^3DuZ>qH~ljiR!P O7]+񏨕߯XsJcaDŽ%T aZfS.²tMlhwB? O@ԁju*ɍxZǽx⋅WFc!Ja Nl A)dsxܠ*oγQUYL\/ +]W82CwlozTm r IƄDX^^F$u3L5IKǛADKG3)Z@ϕ$ ^힧tFhĕ9:_*ҫ5R 9aX[2#l/6x +6׾̷g聺AĤ{Rrx4"bw)L.}z#_$Z}\_11m,o'.Aǻ쁟۷3-q,oa( +q5 +% H=Qh1^1ϫ]ʼnƴLo?9*RSsu_A3:[gQ.2TD<\#ΣʈB4ux6s"Rـr2~251a=v5ғY>9b_JE^ZXxme앦r~tAUH8Ƚ etlfK(ƽX4=nC­3ȮAxi+D&i1115p9ECd$GO uж_L}0YO8<" ëk1-5S܋Y45PJRRI'q?zpgC=kF +X]_#![Wvp_Wp= ;SB(O>854{˺L.#^Vbݯe 6S2s$+%/$-{Xg.b0i8ZxYdW5G8bGrݭVzѵ-GuqOk;[?4h_,/G7 0̲Qu$ |7=m|VK1܎ۉ*fI;O#jcmE|"E)@KC83YyLKbrnZȕ}O4xԨ*G={rP/@,Z<4Ta {5佴aӰ]`>V6³Go?sWt!>FN.ۘĠ1++bS/( F;$tCp]W⏾QE HhkeƳp8TsH3fty)Cҋ5>BmB~";aHQiyN+"푊FQ%[]uA ݑvFV@{2>D–Z/Ɓ"s<\p=+5ϡJ~ d=\5C_dQBklTf4i:uD´'٪+>dxkUtzs4V9oz:-&j=G'*,,2R(E&SoI*gQW;W#|/"Go(1"9_kO1V澐='c"x1$",ė@vP}2fy+$Ѝg.A%(!~p~t +;bw"ПƜ| `!:P~Nkt(vLqv` iaą +HQ⾔}XMy@q*O%T$NB ]$z׽˶:Qk "Wkȕ\&)Q/FYQmU3[Mo?uh࿺+޼K~GŦ,ϊ j3;HЏ1҃ w5"9hbD[D#w{8Xʰax9YV֖}Jŗҙ 3 נZŐ9Pxek‹`y'1||\/!Σ^-;.>(Ö:4Lg=94S~E cCNG:!"1Uo ǹ(9oa;7ǥdRqŖ 4"!S|E1:|t0KaQNeHGj(:6OU^,i]y8\Dpn$xX:de" +XaX~ny-_GiC:jɔF5&koo}eY +,(&k%Z8j%#(PYc/fvQ2ҬA+P1|Phh-v) zID asS?;W_0 +^j~76KY6֤˂MOB~o 2YQtXpi\!|M-ҙ/OAu!2@w(^+|_D,y7Nڰ5\-֡njD-t(+8X0@Ff~ez~ +ɻYB=E Vec˻gTojX⃗ /٣Abς + 1KQbwkbE=aDۈ8gzj@ʼn9dňyބ13ӽR$I*oXl Ҵg*sޫ3\mQNxk>kL]G%4Z՞;,t=cqJ<ֽ٘$zo}0YG) 4!yG^}Ei kR+b~=~ ƕh~tA\f77Pkv/!̾tfZFx/ $A'wa!x MTbg-i(B_[(;'oXn '(|h@B#m3 a4a}hE#[&{nG0XpUi7_C tH~ !fx TR<_Χ7URKR7$ ]nte(@zIw:J25إvwv4slx;d7#+Lߝ;P{~+(f:LR@ Sw)4[k@MN]{hd_Dm\HNHG|]QNk>µQ|f0DF yMAFa=vn)?Pځ6bUn}.k0F+ 3Y#Φ[)D$*ٔڿwriSe/,wD#F*{o+H{9O[DR?ھޘb[ۉޝe?v-ϿFmNgL~j!/Kۦ7hch yɺ{Yr_XCbV>2:Hj{D#_4 t~%B[F ɟ1!s(3pѥ+5[:2 qE#Η3waWƑY9* X~<.>Kv 7_4жǜu|xH,zGעL70w9=bB۝C-dhXe– yL#FK?7eӥ_cLazdb f7 +vME>\rɴw'|ύtېNikUv[hDFbIȸ~M+uWM".*kESST-,&8$7\CS晎4kx/zp"gR᩻,n?DuAa]Miu PR&F #|ϭp]|-a@2ڐMLIVt`T= dj䥗e0FW jj,K 1>#p`#"TlU-]k,џ"HwmeCҸ6ɚ֟Ӻf2!8-@lah`: ޙ7hMϗ(Ȱ']$LDJf1]o`H +GSﭯK]PO_??< I/ +TGG ^ L[˄IvT JZ!} `䤎 +~ڱ7# }(f?0 i wțe#ٲOzQ5ٯɯj=0{͆pE:``$Pr4"JUIݳIQLdb*[ն-m.\ :Zvʺ*0OwوzJIPj=<_,/dz^ƴ~}WUt3Toest^f* OKO1ࢅvJ)GF㴪,ƍbQ(?n UّA ;Zu WA0Le㐠kN@RHu^G7.׾K5i*Y6kQjh]AsT'-8y\_+~G*D>QI.r~yԨ%BhB$ge6;kZ.BUA;Z4ձMˢBO`QSl93DH3]f=!䨖y&wcgsiYoGljM>:{t/ZPSB鉶#%{zZo椧1L,hρ +l +򤋓۱^A V` !i!#I|)ʺ(jfމ֑ pLd|GfF(\ =yŞtO"=ҙa]Cʫγk[d7R;la Z"( Ηyhėe͸J8kXT B32Xl\vFA:֧F$٢!qH"X9 + uTiIà?'95;lK`L=x+$WH'^itlcu)6j]tX$4 u@4KS)1pգSN~di}_oQsLmc?`3;:cehhdf`۱*u +\^)POZ6a؟G&E@4x^Qש^fY j?t K@!%E*FIgfvڔ&r%2TMƾud7eOΑrT۬ cwoTk+4oP Gb$}3w|J +7QTzhz/#6B(=<Tfv8sԻGAsj\qraE۝NzvF~7ro# JW5 %? mPRFB՛ 'l*W4c+ j5 hMIw6iWHF*HdD$.{g +u@P̳Da}%2@24Z+w#c6a g, +cWOvD{` 2dW R`C6C櫔e~8ɂ]3.LKsi>@ы.ػ?j-'"4/ku|6vl魚=\0Qh{pˣiJĈd1y]iG-Ꝅ:fU, #VwوVq +n=jD…L 0@{&BB(c#(oh<_}fx]Ňxxo5ٺQ%u_2B +, +-Tƈ+9_'VG#p y3!vշLq4Dqڥ]xd;^r棿No2p\uW +{a#q\) ^ y<*#7yOyK=DU%tl2(rװ 7 =a. vKI *I\3}dg|ӓj?HB5h%I>2wS5S:dd~k++ٖF:xaKt[3dskQ)cYJCց7е\ D%gQ $hȍ@茩Vq8ٵxv2grjX:5L'a/P&$#W5vſX)>HHU'+gZeDNCAAFWS'lPF2Pנ- + @TE?1{o̐H͋"!,NM811r3+'NӁvHVɻKwO卪'9Hfe) O({yǻ5Z\@ DCfsc׵oE$vM\I!e֟ Zq3%;FϨVw*DCF>)zcZun?g89Erxrli;  懮L-'u wuo s!ᝇ8C74 y8Ǟ?[ +9ZgaIMbbSБCYcb$Z,\e^(kg= _tzDvL +4,Hds.)>t+` W'H_n㓐fh 3cf#C4QTGƊl Ѭ +BaJo&^*%.׷¢9$p +)ȱ3 nr+ h#gs[* +k*=VBc9z$ƁwыOR*,bm6[|]1Ё<3~&~+l+#G;5)<-VF^ +qNXr@{O4zB41i1^ +UW84#n5uǽ JUڰ+BmPJZMd#]z_ ZwPʸ2lRd[ TFRg4( mAmcifkf4x1ӴKwso)LiiADf89-/wC{Q˨TlIף_<oFocf{%4)Ԩ4Lf8]Z,.VdrQ&SI>ͻ@4T TI]xFTk$S6U=вe;z)p[B?Iv.{NhZ{mYW+G?#IBW6!$#Md?8f&$o&mʍ+B ngnݥ.JR[QiO䴭ýA4^f`aѲ5^~DdE!S#/Kߴ +Q )4iJ~ڻ e:pӝnv “re JXjiI"gqY#\?[ֿl;O?ӧ +gpn'>K;lQ Vq$7|~z$]˰l%WNRdH6k{] |Ūa,Nb"Q?VG,vzLeBBFhKvwBNޝD^WicOmrD/#1b;Oua'+#8F g` !4&3ƣ-n0+G xw7fQDHA +7uDst (m;+Ccx,=;,Vz-U!{M_=I)*3 {$:gB+>Sя+w/\4.L + -%bNY:ތE*oP3HZ_XY:Xټ,"Qi&X:}n +0DkF [XZ7 %Z$l>'b*f1;zBg}X= UEٚA5hʪ}|>Z ~]]~Wa @:%C툉t`G4Rҧ`}7rng 87{\.@`CX²/W ; +OK4dˁEQT ,5P^j] +j &ᅘp +$/*Bf/Dqcjm:f/ +ݯߏ̷0U3Tnm};w_tu6u`Tcip!~JuH4=q ЅK +ڇI>LIϚ<$X,1_%j9ԅW?ca +ܻgZ(jD\dg:d*>:y*QpW&NIW*NSuDq]6 D$MJ(s7~;TcӽfQTDaNK8g1/=.i +-z{hM-c`DDhM:lݝlK*qåKoȏ V:D@{Bnޣ4ݿGND4*8timmRQh:\3 +t:(k_A9%FD9._9:h*L q=w:B̨.U #P봮JڏK9lfSC`u/;CP-|·dVסaTOzWxL tNc2"o!V,A8{oӥńSF!FPi|+Ɍ-ԮpNOǛ2-KC庂Ye1)B%0<3̏%zŴvRPX> I \UFRЙ4mW[w@Fǒܝ({̝ |P +cT*}QT]er^q*ɦ5u3qH'|ؒ} +appp͗*WC[}яVQ%e)FξGG +es)8={.n8:9#(Tm.Ry6qmƞQƀ/:wwwB\xGSb%խ''kkc0gQE#'$+<,4^T5A .0-RuDޘ +μZ(K* v=SY/0x Z9*tk$ fNAF{9ϵ|_ /k+Z8Ŧ"\|.~v ~ L`-hxАBl>($q^G~,1}/<o[b PΠ1P\MAX +&psu[c\CΏB0oA\՛Ho>OULEKø3O~ܜ;eN B?DsN2 [^ ,RV8B`Xe~w4$߮ NsG 04 >2GP?Cƿ1:J3B$Hs_kq[$Ћ/oK;d0_Zyd_ed ~V{+:XYtNz;JL+㽁Y;^r 3Fm!=!bv(-ypxÆlU㞝8)]9i458G%Edo~j0@8Y }j~qrk_$Lh=RU0x.YF9ļ2p=dਯڄabuK%(?Q'N2q۷&$l:G'$xC=.gjp{֜xwoFлQ{DHX+ک;\V1Au"E Hr~I:Ÿ#9؂喙 :v01)M)n## J0v@af6!Is!)tioս=n +:Ӻ"A:11*x7 +#L hCqI3x"V}dW:tKU^WX*dO!XT0nP%%VW` +I;V܅oFbxECDtGfzy[R۠%!,^g,\}PiA5a 8幊Na0Ӕ(lI 1Q0+j mZI+wkƭ +kp +ŒȊ.L@> @6<h%4Мd6?`w$~ɹ> Be FMǭ¸""$Pe 4!ʫZ{ \HUo?\$,NZ$9{ 3U5nUi]ϋ'^5&k,ϴbM)5 i3w:bA>]m5:WP`_2jJFt9"t`N~D2P(2ٶ2-遃VPfaqd*G&DP=u[a+ &I?0zd#i!T\YSf{ -׀Ԯʰ{_@Pl}:zo$]nqWlhUCUVoNkD~UwXe?y4f_46"PWq)\=ɭ4%B|$]?z#o tDϧN^x8m>g&K𧴹J@-Ÿ۷0**_V[8pZbq 64/x ɥ,v xӀ4żִt#'˚ً~?Ѭ{\T~`Ebc#E[YPWk"$ ;}KX?B۽c#'%х@@Sdb€$CV!zaai!*Te_ Ղq ce]!\Aj҆ Y4uuR=FGn0T›L>u~gueKAV |=/x{ H?~/79K+|aV<,`tDЩuGKmXH@3D~v1dx=6=f=j^R@8ND0aMzu%ha3N#` .+s%8:#8:V u$Wi0TaOAM[Nk2.&`)p)X q0$lOPxU0nNog7FmߜȄ16l{hڀ< uT%ZNm uAm-гY9=P3 #sO@^ZB@ϝ&gjRR0r(E9&8P4Z$)XH)AX;P Ta`=a2!\F Aĕ +!D% P⊓4Lb])a̱͜7(6 3Uoq%xoNԀv(eMmjzH_J̰/bH7ɕ牜y̚;p)3%' +J. +=(^X +VSc:(X1&74)|,|] DIBɞYE|#ДP"ం&\Gl 4`=iNB?*!, + + 6{`nr0%Um-Vrď0!sOТW!.FgL?R0 8~wG=y[5xHpːx8}Z$p(uSuDX͉Y*S!LN0{:*G{f ]ݱ}"uRq^)?6(Ŋ@) V]C?F$ tRC@9k s߆K1^Jz~50=uz4P OmG7,RM&dlSh4a8bLeq)v@|SawOx*P}K'gLuKFgnb\h_edPT;ʲrS{#XH`1B;Du-hV]3m2f&vrkɖZ5bt͐+ 6*;jL"$RY#t# @iDLUْ2c_= AM̮u[qzD6'ˢp.%Q/9ר9IN"GoNaxi W#.@^:0cIqlBP̼VyEҨOtc#7Z(1;d("@O;1C[Yn׆ +.,voZWWBTI֏UZp\v vwMwjܱ6>𤤟3YS|іOPO#<"t X7{Ya ]kVn4 $/ 2L#N6ke𺌘.($z)#48W0͋-5zkJ?;|DMrD^t7k|ZP?d!ڔW0De}Me.&m^A]G4Bϡ¬MۓQ +6t~H$8,-N]]WVgrjE$1P +zTzqĮ$j(i,y@ޮj ATXlT&'T^aa@ߜIx AÁiv}$S8ϜQkI'@ڢp + ld@w麤Mޓ|fٓ)0.xx =ap謉`Χ*6F^0:$ G60hF^WtHU6ٹYODxHΩNn+(ڭ}*ٽ%4s7+oaJqi]@QO,X >N7١tJK[qw)"<4!ҩyb]DžbGiC\V |wH %/jx0k(кm@1 +j +䥈UB xgcxU(ާF|R2zTvB>~#'bt<.|RWڙ^:?'jh>O >*XsAˮR?Y*x ,q[VZaEQN5:SGl} rzHP, U58+k%^uqo5^2eu4@%ﻵ3bUe?Cv^ }?Õw +ZEC,@pcy 4cݛO~~F_ePeh?(zX 9fs}"PaUÕdGrK߯\xU_s۝_w04bβq K Oy!a;"JxaW]^r_pW;/$+}}ɞ*l>^]*]ذ fzÁHo`fE]? +-<w x(>gOBO‹"4}s_Fa0Z'WbI~CğȝCǁ@_Gm}txe-op0. Ѓ: zswUvѦjʋCo9ha:)-o|:F"?-.XSkt!7y'k1  R\"v*gH#fgnp8A;wX@ !9 +o;sCfIЮ"PorA}ta|DI΋bUK>ǁy`lM;d}D ܭu0%%葛l9#0k'1lg} q ,$)aQsU1zk;9~.!=(YvdH]^(KRňϙLzP<1y`u{Gw#aGٗC^C%T +?hNVY,Vj]찌I{u \Cʌ<bxZ) ~30aK" Z2okYoV_)? $ٛZʭBghyoj /[Wkƒ&M wUZ \aS!s"f>4*uS]`hGׄz[(Og@jc=,3*K,"sOm@Nt#,f@^ :PfQ3s&|SA~ɸx1<nVpȝE'D9[#l ^j n:'"uv)91lnx[63ih`.} +Lj7F +;Mx|g*w(;3b߮򞹉?hlF|戎ݖMAlyaEdg` t̙̿,{ Ǥkʝw孕gһvXaX fԒ"yOTdi&H6u2u`L6@s3cމ0dY`U>6J\&1x]RYЫ]^D NFl@x/h@#E҇@m&oyf| YƮZOs !hnA5RB%A)~Hø 4sDyT~(2 gwI@3Pv^6?ILKC[^]DI@Le=-x?#0C0 t+M.cgD.4 |imWʽ6DoY3OX;ԤܡmЋsѽ<  Hg,xB|nBBgH}i:]ЛcrbDxݞr%:5{nH v؞x0Fp6&D(L0TƾOd2c4U qFĺAH3p\EH]A}"S~&Zuل}@XQ 3P~#/([U7= }SCU{O]k+xs`jqnH[h}3"Ӄ>ZɒF5zߟV {p;8,wXRMRz3z}cSoW d鵑M&ړNvˆ qCM_3dժ;_U!rapӡ6#0$}<8(ɭکl;bED$r*f&_Sƭ;zĻ`Jj-#C[ {` +-L%yOt* (#%< +6x1(CD u3 [IٵqJF.П4;d-'I{H?[{'lNFJ\T!}֬>(06x㼘+;&MD°hkcA m'$T\uSi;O= )xRB4bxVp+,ǵ\ +2-b| V<]y8h%Tt,M*fNP'cpZ8DS2?#pz^/ E[bzy~GЅZ{>+<\08ۿ^Hޮ><7m<·7`4"̺iaGyb{Viѕ\evxzQW)W]Y06jADY%:VeCmN& w&oC`Rɉu8.>jEm/zX0238hn RD8MDzzBbÃ!KJސ!^20wZI;W63Z'1܅TK`bne'.|<6l5$\+qddɠ4[춤[N`8"HbWf`h 2[`͉Y/L9Yqxg7fr.ecP+fVg>D :,h؝w&@n38mWLv_/s*|z N$s2d<tGSr4S8wϫ?Yo@zrm;Ibbl 7OwS`hk6VVD a<")lLWز>M[ `:~U] u*)`.ZC@8D}%(G`_@p-' P=/Zx@:Nh,` Tfp)(H V$xe@ڋZ?QBRqmFIX͌;(-Ms܄$~ +;H6 ۱V̩h4lCۙ;LȎVF:+e#"GDnUfn*`FQ0v AS86]i[nb:MFQ=c؍?EFn6it; f[ KzSw(tAs}]as(T2l".&WVB5Zk=<He6hRƒܲ yER0VL/ox,`aSs{n}Ja+jtc 0)/(7 +mNp۱Dg=bD{R->680!^SqFsF]|"]%Ku~>Mt]z:1Y ks'"ZZUd?܃*g,lO3AIIu}6o EBS(֗2:H{h=jVgd ̈́ +HC)q댳#<<-#'bTS$3a`MPBѻ52և:1I#oB<0TUHKADC轶I  t3vJ-qƠ(!.vlÍe)e2 h[<+h4_ +T'k//Y-8{uѣP?am:Uv{@a^e_hc! +2pWyURPe$9Fl=^7p8:kK ؍ d4qr0 a7HQ+GWf 4>+OiekE;32 (22-ݠ[tL`*ShAnau:J<` |sz;X",`+Zk雌PųIS- :PJR#V?4QA]݈v״6ؔH9UZgka1`3:2yAxbt,D ;PRHеcrg5P>,wPDG9A5Yp[sʏ iux9fC6$D} C;JvuneD)-Ii9>hKA9(AeWJ t$>]kf Rjµ+ +cS)+jd:I%(7[*oGlPWp8?F |Ohs|vMI "fR2jRFnmr_cd|soIh.JVyJY< rWrGv@Ŝ|_Lq4sX@ՔSl 7<r2 /~>%S pB^UkﮭOgDdjTsDԭ!~~J & +Q:cwp,=.B~sl +-9ӑRzlxBP{6#bSXГZ vWصhފG +j)pe ꢵJn9lZϵ/͑32IF[Rs5\Nf3)@C G5iRL8a]2_m +`%\Y"Jk&qhʔ3ܹsD~eRkJǝ{R1)Sr'"W;|WrYxm։Ʊ5z@EyIjA2LBw2E|IPZ!e &{S\J'~UR444Pxy79C-oXW QmPŒoRpm9DwH]ˑrۊm*LYpn0#JVZ>Қ[w;W|fÜ=pLGSE Ս,X->!h&k Lڍ_NfF٣3ϠO`r'ljzZ  +kPVZy4T'\!'){GϭZy 2 +u\$z=]TqS*OwO,Qǧ%3rFk6}Դ4Ck4qx`I~SFmFԹGcH{%_v#"Nʟ ќv<PMxO%f}{QDtjLBĈz5>A,Wr}GݜZPH, ZꟑC`vHF}/QSp̀ptaADi3SPũ d +ؐ|R nB;բ"qIq _(|Nyƕ'qNQs阢Eda-__6yY@e]B.MFd H&w^=o67{E} +N ,?x|ga{:E^zXrn z=^) ɀq-_F(DvhV]#l?tGk_K^ӳeatOjs#Hf.-a[1atG|3Kɺ|D _W"hR(kDPt?[Uw9_Ӣ-p,yqVbPp8 $3v;1Ee[ &H"C2c^WRJZ;iҀNՏQ遄MQ+l"_t4xOuHW k[A1 hSr1h M@vhG{YUX]EkP|=>u3VѬ!ϪD.8%V{z^+]V[VFpKn'7l:xM@ >TaZJp'?cXƷE cu@Rtw6U׺`E@jLUF#ʧ2O {ץs&'CH}~S)6XV 0 $_`q?qfرVDŽX)MK~zY>_((,4P/!f)͛[(z)u t'BdW|( (o~x1W/!sK~|NՉ*ܞN&-̤ȗ +SCm'^CSߧCqvla5@EkddQTQU/+O5Vٞ T3ޘ>@ꕴ^ yGEO wD=cg]U-jmifBbu?#BJ{]LJ6z>m<5ݕuX;)FU{ +UЯh`<0Ԥܷ9I$#<,\F2'6m4U|P8x'9 9(B*3`H2H\RrdX#B=Α-l`$l<|tbԉOߥ.VxQ*4ZzHCQ "IF9Ӥ=`MƜfcעkw6Uց`8vDV%6A8^Q[-ӧkOȻHWsT723.1롬[%i-עaaJ5j +i3jI Ut_|ї*aѵFIp:QOtg9u>+bm-ⷣBAEi{h]c KCSaG %_jCZ\Pxa,gN]`#w;I2"]E֭SKr` bĵkY$rGj!u7yO雯Sntvsn}FȞt H"hJUX-BH~d7)fVW5jI&LW<QmZTy}i_1m!ާšJ +0>W!ٴv|LS04Pb`ܻ%OX9\rhoRk]pI֓Q?=ӡD)cKlDXg5Ifϧ9|561# 0=gⓚ9Q8E)wZl_*)Pޚ2XSkok=0n>/` dθ1yNe$æтJ;ͨ 3s+bxeoa\7ݷZO+P@:Vԯ=m[k-/ V(߿[΀D›` G܇6emS$xb[CﱝHxTcG4& !T$mi=з% 3#L8et"$ULwaXao_Q&qY40EuYaʊ9C:{"D*rBNjňl{Ye5U *qYv*72z_6BuJHQ?#r-r!o]cOK-Hg=`.0|=0rF2c_ a*C;%  3f}xLS"4bEٛ>%ڷ XSt"wӕrBH1"s9Suո3zM2cN}!^P>vd.CD9; ;O*給Sd˽k0=*/%ĺ؝h|=X"4iY[XA W+Ez^TotlT 'JV@AgD/UJ߮ ?ˇMm#֝#ui,)yue0WzIJI/Z6n+9"(J 1k>!nfXn!5ա(pq@np#4A!:^ n/N,/@GLVlչWZ\Kuƫ^C) }FZЭlSi*YC|M"C)P_'mK -lK<6Šis˯Οol%O-E|DBuӢ8 0:NߡֹqR58h᩺@n!PI% HgK7slYL&Dzk[6JwͿm5lC).tsU)MwIם!3L-JgZ2eȈTzOh=Uv\`̹t@Ypz"&eah𣳾 D#DZ>C,0"Es\z%Z,UL:&ǖRYxPUvTu#aۮkw" Y;TkQg0L:y?"@7iS>a3DAi>Ң&4kCe4?#dγꢀ9>Zr1QtL3:Zo# C V=% L糬4uR PX|  /F@i2[mj]5qgTB:Uh|Mܧ&]Y|W +7 |Aݝr}S߸*rE4S̕[Cd{٤A;6HQ~nO~eڐ1@bToW|>40|X'D@ c[bK23r<+ f9ȝ@ k<v\XEo +r.Iҿ?Ӥ wP"0~{/9Pk9`ݒۊ{V_4ixodfde4W)YsY@Ќ&N<`_>, XHhgbQ"CF󉜠Ī!Rt֕GӋ`V\wFBÓ:6 + TAVVS Faѽ9 +V)STEwW p>*c>GFv'q'ns8 ?];-"*k];Yϗ)o;v㹺E;Z%Qɚ5ǽA%eD[{1:Ւ,zIki:Z^<|M"Ԋ~04Uu5Qq-) wWgp, +]!U5y*f_>~oGT܆&d( ۙ68v3cRĢt {T"##2 ^lS񧆬Y-[/?4P-c " O4.vץ犲<¶~Pl0|$*O~hAaܶ;3l 쓋 +5.oMnd1vbr6wP,4a;Y6,(`>j/oȐ MOSRKoݔwς]_ZRT4i?qH)ls2[G |B~ӂJ pޯsݫZSagp7P~nak;#(t>{fiD7"6>yFe4(Z@|D\g]/fۚ98 1l:YNV.ތqW?jkQѥ4)gM w[=α_ww}nw1%GCh,i93_Pn6ryAbEm+cᛂW3'rh  Ϛ#="(Z֙N=n~VpӃ Lс$VVxǽ9In@*Iڑ4llbVrt +>\׻-3e+Q{Ρ.F Z񏌪&$vƮ}b؄+¦hVóD))v@-qos*hHSJ(xť_@q&SìkI6D'2N hO(}b0Xes5)YayYT?WmՍ75g7#Os0r. dO"IVkBF!2T=Jzn!κt>@X/((*.Œd C{;Х: ip#БͯrW[Z1fHQ49|క[) Gg< kэׁý2ԫQX4xflpϾHr Qùd0z?G /gLi>µx7|JPӳ [7~.?T7̑#. NY\\|F iʙ?h^’Rzy 791|Z!o3~^ILsg>>gG4W1E$sOK+ʔK{"vr /Aб~1W#B}Dsr)d\/1F(ZujiR*I4(^o$jf|l+B^9Lx]#Ȳ(֐S$T+#w*vE& U w!Ժ[_AVSP(75%?8]9LA; PGs)3{C^L ӽ z&uO +nm:! ӭI†;Pl OkȈ?&V%4 _#BDd伍ϓ"ï?^#_ +-Y;?%9Guɓ~F蠍jm: _n7LuLI!RԩoI|$5Hm bo4Љ?A3Qqg{o:qd}-cnjb+=v9 +yM#C)4{|j?dd$!;(BpQ颱żQ\lօe٤T\,,`XЁ f=]{}ATX!JM(}FS/#J?kF>W|ed(~p\5{`;Z\@D ;XɖA!SM>*`u%C *\e7X :z=q88݈wDgTW]M{WA);3}{؈Y+۵Tm~R=Qv_=q繐dHǗq.h1?= ZĠw +-e;{Rn(?/~#ͮе437·orm!&l;ϲMgT +´a~F|%Ґh8t\@!_Wcx(1)X3(em`KUH(p`>uO& +/1Ngӣ>ꉪ 1'm|6[US@p aJzS$n[85 V@/KTbY[}{>2fܔbOS +p3VA~Fb"Җ@p[o5:N +a:GO1TcJQw# wb{\ͼ6O%z 2.tX{,?=1?UꆑfJlg/̔ѶB!?sLÁVZe_Q_@ed2X!V\-_# P?i[` "3~]|) ԯ,SC@8\PROV`FN)ByCq|H[>~=a60$!?$)ܑvπVĢFʺf43HM\jGfz0F}8s,q0oѷ#MTbaɾr3qW_jljlGxg#7|p_-<aUWv^;lW\.ìiΠ^b[傅n/1Q8&tZ8E%˖z, +0žn-QBEd't}Rvw)2|Wߚ`@ύwE,k+Sگ^1vuPD_9x;:CnѸl[)aw Ys쑜Q B=!ZFL۠ˁm ,b~.*wln?S _3E-!C͍uGȑoP d!wl8> LTQRz񢤂 &H= ڊF'y3Z5H0ߵ^~J~0ԹMw5,eg e%x+z|7)< H6.ew9zq?m}m-n-:﯏ "%~?=k7ݯ'-o??w??ÿ?/w?~ׅh?xwv+Pcr hLhȃOmmJvYՊTJ(ڧcPYjԵ|]Ҭ=vn*/.o⼎ק?"(鍀أ5R"DQYg׉`m17:+ͶC+c9jDН(C2Zh|Zvl `SZ^Y5\+֖87]"(G"ĄpsF w^9 \ /r8SY!."r0P̮% nP֜ + 0d8IUvENu +uњ{x֛B-IO@Wjᶕ,/Y_FyGEnb 0V_厉𽠲Lo4%vFGj%!!d_V+s3ѺNࢍFt ts8,nHas+#-`a!6mG;qfmW=*e=lqpATa#'VU4J/GY(㠒iz^Uh g.:gwrWR' +4hPO>zs ۜ*3Յ33H((8@\#]Zvx諞YLccdGt튇J%Wjt".ь6o(̑DI'ee`%DB"aɑ +\GCT$Uzvo}Zh{݇_q)m=ڼL{B3W=$5żV4*mʛFQz/edt5H> 04_ p0ͅX0`GN2)&偮Wxk zCo:`!|n!l.!M_X~H +endstream endobj 75 0 obj <>stream +q+u2`ZQiީV7 +C#뱉sY/rρ3L%b\Ӣ`x5ԜkkNIM~N97glȶtO|w[kzS_{G ύ'Vljc4RN7dWg$` XCv#ʂ|YŇgrr{n2G>Ze6ǡ#;pcvglz׮2ZC@%8k3PTqXqkZ{,8JjB&Z2yޑF'|Cʯ})Xjƪ+ܢ/vn%l"(`!i)#n -F'UxeeÉ ̮R\FԱGQqTe^!*INN_Imj?jbs 4CuQ Ij]= cS B42bcA"Ma-]al&ڥ-[1IUt Q3ދ߲GTT뎮")+8Kzc6׈ ja)ck:Qn#[DPћh<@mg`LJԵ#]|l`=W6_EV\E;#/VUf;Z psK}ί㏟]uHIJ<ȯKbcQA@-)+[DN.+i]8P+4Q t(ILj ,g1 +XGuEȬ,;}ֵejD+sX (Vأ\EAʄ?R> !&G!H;ZSp乎*2O ٠[uO2+qH0UWQ~`]䅪k{16VF֟p g<na?^ψ]hlNc"hDm +[߃ڤX_9+eJzl-";oEA`jj3F㱠-PW~ (̈́BqY;_рHQ*l*k)UX>S]e-K=X^'*:8ei]t +(oqh|:JrrlS +A^{o@Ȋ鯝3֩+u Jbqܪ3b߶.ʍ1U[ہQrjCh_0myN-La}?d#݃TTx 9;i,"5gx <:/KHBl&GH8Y)!F5WQ3s k7LB?]@$/+l;e;eZjlOTz7qnPSɂ`XŸkFwgW,YJvaػ͐ CN:[ _W`8@@fq޷"*b/RiT*`(!'CPt#I%6{|F쌤Ȝ5q ԗn?m!`ņi)RW!Gr?!\a3Xc*: =e_Dž !.i|dw DvH)w`cg3A%N+&UQ_ ?5*4:9,joڊT?`!.͊$aM/O%hi{~=P\uy>Ώ(XVz% 8M{ + oW=R5|=7{dL L_(*pjX3Qo/JHQdN*6ەvz܆*@G5-ݠEi?ESʁd`9(Gϰl*4 i X@|DU~T˥(:%yqECҶ1-ޙɕ21Uլ &+gZugQkVoidi@և;!s^ZhW'bC/u̿SNz]TVN'#,%ͧխ~}x› g\S;x8ҥ>~>U愌Ҕ,ODU\"b3)€]8y3|O mˡ(qƼ>x}QQD.k@EWW \qe;XJ3_~5Aa:1'=k +Hv=[S0SOSuuBhaC3ʦ<]CQ.;ؼXI~y>=FtN)rG(^:'v~nooJ#=//Q p H)_j5tX[dBX9oGHr +W_6+@^6 cvG,‹12+XJ%n[wZ1';93= BؑsG9zˀ(΍ݨ6+]quqٲvO2OW0~o^뽗>^z+ahhIRzֿ{PSk(q?,5C LT?з@ +UHעN|~G$ދMQ<è%:L'|lFW]UqV7 + @ a8v~`P[iHms3@ZMdL!KWCrUy?0&K,xLsRW_nG9ޟ3DF5z{% b#0ְSVft,IKQY +7 Sq#KWha=+?#uحw{Z«XKsaĒ&(18o?Ʈ'2 M; a~K (`2Qt뒲.h_m0% 4Pfp[?ofR0Xx]eDOv#N LB3V6Rk=l<0?DSu{#~Zx{Q1ڞ3숴^.qDkaD. 2#3sHQG}5wtgEec4^!ƪjU\z/bD ~d˜CnF=;#la +}܏{d'Ꙫ'4mm!5D#1l2O-|gQX1.3)Iќ0s62)nOWz"ڪotJ3 *;>S^L`S~5ׄImTT;„T"RӧD80`{N0{5wx +7ơhCꍠh+*q\AުMs?t N7d؃S%%3jFČ!2GW~%M%VHeUz`P㊇:/3뗻' -G9R6v*oZi$ :NI`~ ;:q9,=~U1C*gп#TnnvdeLWnv{G,SLGԬ`-*H4:l$_F4%ԇ.>.c[aa 0T"}!S9ʛZS ωh"NNebY5c?/\&yYGoV \OZ*my,!Qu; 9G .4l1Lj@Fr}qA\s* 7bW1Lq14"h)-:r.EԯXk :vWvǻ5KzcUf@QݣߥJ7,_guj\Gp@9huej1i_+s* r=|0v{Hd㛮aZXW#byYPл\]C{@6doX"q%"|SO01e;%[ ӑ}4tۇp"-bU:Ma㲓8]<`f@X^kBֳG5տi9 axd)y-ʈ:$!+b %aGկ1/3KZq[6ZbKGNFj9OO&ܞ.+z\.֛(}ڜ6 utI]^ Ѩt4?-+DXAa:W\a`v̓Ծz\*FDDyDў ̙9:L!q*qj5W"Kى`%❂a ƿ v)@L:Lzj9߻Au3?E"hZS>K3fvjL~§ ߣ+x<ѽp>tU?(Aѷ5ݵ^OZwtp̡HduTsnOۄKrܻҕ|L~(مEFi7IQwǦjՒ}G(h?u޽CVz:_Ah$箭 ܑ{*7|:G0WN{~sqڶ [ ەAX e@SB=\<8䒘W|Ce,+s`[{1h(d+XIc-Γ)(@Tl*Ƒ]gl9;`w j &]z+ܯO3$tD;YVaҀ`kX%ZEu}J 5~8֜$Ղ sU2G 0ve%54J\Pml!#Am!pR_dK(S׼fͩZ d[R3DUK@p1iE 5+~˖YS;iq/<}HBz\JMwN,k-wfY+.ȍܓrh P2p׭5g9 /;*MUMM7lkD"|M893|MOȞ~ R-jR{啯wR4cE! *#$~ÂhUt;) :]d7{޶csKg|h_ ވ< +ЌLۥǪ![d_;U\/T`>+eBi!7Z-(6c:6$M'$ 8kwĠgF83ƪuZoyp#F=ߚ +yZ +ar7 ԠUߖU@;wS`+gy3ߒq*ǡ]|rH̼U TqMzcN`YkC37;’˜pMd > 2& _g*6"n=ircJG $M4U&J8 fp !߮uvf% GW ^?_"Y6E-]{޺+Kt.R77Zm\px+Gr>U4'ӣM@y2HGq%~sI>Vč7)F:j0X!_*DcN](L6,`#VIq%3׃E M hYX+57TE>Kb !KSx#Yk{QdAv]n ATBWXg YƘ$01qJ xU0uin'Ԍ9Uݯ57֠wu8t >>! a.rm` +_~]oŔ5 Bxi5Q`*`!ta7eF#6s6,EH5dux;(T֍ES]`Q{c?HCwnm#55d,v޼SUz g:7؈L9㏞kĔ֕&bj1zOx6RzpjǕ) ZW1hddKxfY+j}zPFB  x8bd<0YJDر!4¤GNË1UwvZ\zo ;K9KL36`Dz"o?<)ZEٽvw~Z%c1P}3jʗ1I񵀍yt9Z\*%jFPz"$L +Woaݫa4k<!w_1f|3etN^$\{Gl0HND\5s5ֲ›JM<j)I@ܗfHIѺ/5ضah&ȧ +981KT: zw.?Щ ] "tJu¥b*QB|gi2P4ъ4G +BU9V2a,D1'| !>Fa}qܫ'U`{[U1j lī&i8h6@jS֛NF S2J\W 2=̱ +J @\&4+Box qAk""&u}#< +^ƒ#z[E<]@*i*7Vf ΍3rh*ZVE:7 Q'E%S҆eX3xMA%6YC{r}{T +XTe X[bAqP@%pXPXmQ7\icMDT 2)D-r E] ω l2 +2tSXJD*pG@BASϘHIHUh[j Y:7{|e2PZ{\ qnni0o VVN[McC=i +HKoBg@溗ѝ3>8e{ԕV6sh[h-rǎ~/.l`b_Wqvp@]Ɔ;KmQLY(X@B*FTAzKAà)[S$xsj~1z|R%ckkAP)N_1F^Ϯ̬RrP$grg ZYRc2K (=򈁔^ KegCp+r@X/uYRϻa% ȩ8-:2%0EpjI1|\e+5kilD ĘZܲpd^ƻz0<Gd8(e,Zِ^I!9o|It[\k-4V) + &HG)b"%rʮ?&-Eٚ%/&`i8KAqE'wS{t\Zl])f; "ֻ"39wc$ +n[- @%vG8̭bU!VCcpFi@xjL񄮚dy`܂%̆ eO/n#c,~{EЊ]Fy+QQ*ǹ*s ʶ.`=ÒQB(1d9Qχv>y#AAW^aF0 e=zZ&0:Р.^'(nm>؇x- 7534C)KrG"!`2rF$G_"܉8nKzvYVȐ#Qs.յ),.qJ\,\zL9('J9]yEmko> +"_bd@$&Lզ+ v9e?4k!q 6 /=6\?RpGoT>6h bʓ2k؆4+ekXM /J'ZKXsq粳~֯?Hi#yc[`:`I5>9%sD$)2y$ce - +9`p}C } @`A&0AAT:ELRHiuW D3>=<(5vձ ni:9:ðXv>c@ ;0f|}~]7CP^ZH3:K"ToG#AP PQ^o_v^ks?򑈘~/Gjd]-ATP+VmҠn(] +ےbjCT7ycu +ț!lbw-y_m4.5}#.Qaq͈ ɕ;y) Mk\(\;TV'l15xLSW[G9u6DB5T]IޟJ~*??]@@E|Z)TmH>T]gM.0+KKt7^ ,RV==k}Bksm8>Bs$G<:ƽm5:Fj!vVbGLq)S?+Ea +'2:< q˵K k)jgS *JԙW$ԆE=Fػ3`IJi)|\sڴ=ἿG8=ۺgN#I)R )E@='` !)b׫nh3̣Qقlv7iSUY{CPq@fH]6V'YS,o"@Gcm׼[Nox:+8bG fE PO-/D(Ek<2S"Ah<C6 +[xGL@ R[6 Ji0fN*ۮ>ǹsuδhM2* z*>*y(G :S@E$,ꀗz. +hz E<*:s $_f{s] *PxfH +}.孺t Sm3lܣ?Jd_mD*.=R ;0$`TAu D"DxDHf,xWbnIK!/;hX+FW*kѥ\WAqLjMoccְoVIHũ +ܘy['.p_kaK@9iJr$Eq`>N;Rv@:Dok7ajW" CMẃ m}(3C[.b*8O%@3ifWJs~9¸,2 + 8 #~rը!!)NLF8 a M^*' Q劳9[Kox]GNG+m5zŤDr}5C~ml׋ vjt|Ӯo@-m͜qhi܀:@S3DO/ S@PUk87`=:UT0/Zl#ejnI_yh$seHP W-6c5]Č;vc/.Y  zhcqGWDݛ+ё]HU7d]O.Rgh'Wb>(WճDQ|sCN o4#}j@Gv@JV[8QjZv\,:fbVw+ц:OfzS ,sHs2[V DCIꂡ=TrgDAAB޸QnaR kR"mcJ#e;o#h禌$hF&.*'tHTu3Hk%,ݵ[|| g0 _&aH&gMSb܇Q dِG(hv!$wBƳ\ fgͮ>?98>'hTZՌ5)Nʒ;Ln᲏[.pp˶[Nk8hڔ]3l +? 1Jv'HQPrx@/X~V**mIRdhveVKTC + p?\CG"P/b@͵<,.PK,o$KO0. ^#u Xtu%=/b=C{'}CQ!HG{&p!_ 9dSU)zEU͈CkG G/cΞ *ꀑaᓃXzX{'+-D}nȊ6fs#AҌCsPaa:SAAP RX*Nv1OUN4.sD +z]`ڑIf@y_Ef)z633ֳ^;Ff,B8,#W5{q9;H w)Ep/#Xkd:S[BJ-77[bB{t֕V/_ $ wwt)BεDUY, z̼#V,@, T &^؁ Vr6mJ~;G0_^;4*mzQ6]G +764o x7P ۥ(% -އqŮ`b"1p1QTtW\ųNcDڸMsXeJ8(|SF Ӻ^崔“i2͇hʚeѴ.E {:" q(&B O xa["=b1US"}c掰5}r ]TR3PׅɅ1elhLl0}rG.^=2ҁv(ִ6¨C#bn*hQ*OY4cKlyFYzYh_Crֶb:XB ne9*QgSCyzIJ#@Ћ] zw,tRz| + (aX&SHҬ۳!% o mQ_{up7$2ӆy!غ krFƸH)ve)k);Sg Z"8l@>M5ce]>ҝ"*=9?}MTa/xF ͖,\@#ѕ"uDeT;Q4NT m2? * n`"sW{WԵE ꬑPԂ1}K%&s"y[@ðoOi[IV>ͮrh=G*%G b.]Ct."5Je-*;bX숇Vŀ˹0[b|̑%|B+U\;L N1E%`xh|aSt%i@Î 6$")JD "t3N9x̃ž}jy Tt׭5'g TdmRW1"yg@Z9f8Ȋ-ҍJ>fA3k1P"~@'{HKG$a;Ew*)C@KԕAe"DAuD ; cFWI=G8Az(WE h@BX +:{&.] d50H㤢6Ddmn9Ebu ~ \\;emb%OsohQBF0}>6:bl)Kd` +K«wYخ[mիAM dҲD&TQ_Aܬ,TTE@PVF0va>q ;dy% 93E(#dzqþsqG]u8 +(Dq9[V^(+Յ>& q.aDtQ/nX7Ea1Bւp-݌ +ts6(Im 17p ^4G>_ɟ"r o&nt$26Q).( +$;Ԗ&AV#sPk]'r3F8"k +#$a8S*Y1kBvaP:Aޜ~_ϮBo@DC9#LPύU1߽v&3|'׬sO&P9қ*|Ij +G檉Ut2#RT(t(cĞSzP[x#(0"Wtl*G?oziz2s~ZAG! DG1~Nf~ t*Jh"n545 Z a02 mq A$RsH8q$ HR|mE(mz@I^#Uk@6s $8}(J[]- Y_34 #^ +@o*P~Pb u(2T Zʱ$*@> +P+Ө/vR؉pX +;aX>j H77JUBWJD.UCmG#յ?vh&%f^v3#"@zbGc<(+TSH\JJ~`q|_aM /PnZG@}/ԊjSSb+)oJ:y|vW>Sx~75$aZX߰#~kpڊXr [5{}1Y)>WN2̩mW΄XtuC~Cƴe# i2{ ۃ*П0@nA'De|&\ܚM/\/X18o~m5hd{P IbQ#b"E#=U(A3 8/ Ah-=KkBhiϢ.᰽q)5VJ!ܔDuvI K)*tra{0ߏk|i°n2vlLEEE72+S`@Fh8d Ő~ɭ=o`,^[b,(! OB8ӕDޚBl5T%[wP\JzCB}UQ;/lЎԗLSȑd;_aDJ̑`#Ї.ݟށsekTD 7:bZb V@*-3%xWy!&@]q2cM܀Yc.s\~=H5n$`ŚbلNbDpll-ZAkRtnU妄|_ӆ yD76g8V*Ż>풟L4/ fp]<%ݝ bk6]+p6[yҞҐ6gJ[C _[gO0 v's#tIJeeh}ͳcڀ-gRG51W&yO>e{TL!dF&eHr7kuaz±N^A=-n=vG500zЏPH N>Z#7nI~B k7 +U{/?ûr9tjEh$9W>,qDy ?&j(kPCے_440Jؚ.VfւsH^aj,}Zp09Hv&a'~A]#V4>cx90 +3oi;:ӻL4/ 6jhJ\Zػ)}Pc ~X6j̺3SLa+$y 0UtӼGrxnڎ&"y+8e I~SKӔIxcڎ4=v9#0Q*[I)OɩxbMАM:c/-PuN6p6פ9V`^ P?#v%#!{ĭg۴AH l9S}Tԓzζk!x=>!_ LGoбCsEXjias4aU*rkÏaGӥMXm+ % ts9~:ozr~x\x1wUíAod Hq;kHeǎxWv#OyM,ZRjNZ] |IOǑ(iwl㨻A5# PE~ TPC¤: +yHi]%3(JG@c\d 8<7jM=u1[\aEp)JO;Bjw2Z.8 I.]Čn#QLK(w0,Ӱ]K-@ $[Hz?Pq`#9/lLL*=zЩ(_SAP_guxծEU`^v2 mQ<6^`aqp¥]hV!wMWl`a"j5cy.D<?sAZD t07ىWZ3''ag=O l\oPK.HJHY#M`IF b)8aRB쒆uS֑)2ޓؠjڠ/ IsTYFo4z}i^?nZU_+ݾ~j +y`_>cJ sB)-7 +}6]]Dx +ţHu8$;x [V%ĕyPO}O +eE]3Dԃ4d^o,]ɼ5VvtB ҹ<0(YȰp({H߄ Q%Ék1J*oOtP-!%XҿIKD$23"r^X;=*[%s3QwmJbuy<KW +1cC2՝J"fvy~5~/"H;PJjzaje sh,ESdP _Tyo+]䧰S|_ Y95簋f6 ,\^)<2}Q !" ֵ:Ԣ#e ؟##HE{"faC]b3%q oc}4 +a`GShENqL'b"Z<)zzc%Fh>6^WC9<A|8cڧ ),>cx$e e$bFiBpMHh3Š}}Qh=>E22 +SؑM;n(⏝X-e%70[?ZXQ5hź]ZZAZH(̫0cS_vUSy3 -lg".]ɕ0q [˥SEiSP4h~ eL^(9?zؠ@£!d:ΔbH݊!LjBF!N@AQklǯ9ȱxĨ΅ Z8~#c3rʊX+#;:)A +ʙþNYu'8";9vR) V?Y + kBgiՔ9-'Dp=oaih˪SmdpHmn^1yw k5]Vi1jz q[)zrA8uC[ퟆX!\?mqQC͙5כg̅nj>ە$9Uam DEjt&#qhk#(l #Lr! 4PH'B{aSR +2z`Z:ASҋሮ4G*:|>&r1 +{ +retoy| +63iߚ>ÆuMT՚ +h ,V^@j17}ۥ0Ut|uJa1+T@}!nPɠ6^c.n-VUimYdz <@`z>yD9V8}1VȨQA0}SlZU]-GMaQ0@Ӻ3"gDe )G]?/8!ثG +VvKL1^$PjyW49e! qIN$8k&SO6hDyǃ M,&h+CY(gYS)3#*" 8ɍhrYcPiVȚfTk:~:A{d~I3zɦӁaĠ:vK.FbLvjZse!ƬH]MX!"CADž_msR+2V<'xA [  d"-S-su|[.Vǚ2bm۵<#ik4s@F`'&am .[3 ڷ:evBײG*ikv"Κr 2eyLPz}&T3؇zaH% YdS;b D +7^E15RMpjMPR-#{|'yZשׂN#N96RwPfjW%E(,TCjŚὥWE0ĵS۩s"u ک þpt;[ӻ٢vRD< +MqY}9w*gm=Xa]q^R)@.ۙ;Eo + gtThs)0P!hRkx Zce8o$`װ83WUgED,5[Z9' {xZtXڣ=ia)r(C%QdnڴLגo oZ9 +ʞ܏?~^U mԑ'=l%$FC咈Hgi7J]$oBHA(ĐZF!U3JΆJltճـP7(J| Tyo4xyʰ^U6%knaN xIs!C|XD9Dp1ABhcKYk4hk|\q]`-w -n_@"ڳ bo ]B;{Tc8Kp2"lP҇ ʑ3[Oʀ{qJ +s 2 &8p% `( bP[J[զ+w!)( cUs{`<@|%,9Q&@fʻ!<[jZ, yƃZ ͤ QXӓoP)6RWiF% +$zw6Jp!<=h1#" )x_Mݧ0sH/p@*EJF(s~y5%#0 WaX,Bzi9euNDP5~* @ۯjY/nmdBp\}1\c?CS~)@?HtRkBw= P !p Ǚ@-bNdu't|?{w3xU뮯3M V๯W^#j2_TY<-- +xxn)sU*g.zT` +# e{e,af1B-/sdЖ;™Ƃ<'aq:S!^AM"BZij+o[ %?B6أ„kQ=CCk}M[])* z 5!h !]dMu' z[n s.8 1еG!.RpF[c[fdַ*~fޫP- MYB5P-j̄3EOB"i# O$`_Ԡl +1 /0=oڹS6(Si9}6qJ9B}\Y "?ƺCP+E]\vwan0!:B6)͹#[ZK >5?ɹ CORuPkc{;<-FhT5H^[bfkŒ"(Lb7doZ 7!Bg?.@>v& 7XI D!)uI~;+ws!48}#Xa}&9Obi#(00a£8 ]N%XF8PGa=lQE5m~]I(5F +" +讁2 V^ +_RREqϯ[[c0Pe&W@٢_*DBaAhCNr|r(k,s'i1 ~aBK2KcR*E "$2C'ɤGx/hK%9 -B_/[1zR5\ҔTe0= +xe˱;;fyk.\ugb ;j([2Cm./I)E8 jGxT9 @\I vLTe[ +pF/4IW (i>cgeZ;s&Y"UФ _r> HQ^xH'8 +04G3EkS7-o'$AoipUr8.]U`ʲԠfH樜ɳjrݢ&Hٜx8Z9Ɏl)2|eC6̗7Fc]Oo)j o:{k(:hn]$ >SX7p@{% +ZkOqqdџЩk Vb~}#0zAҭI%Sn3ddB_3DFw3 "\R3괸̕lÒmmQ0 eNGDs\Mq(q<}4WHdDEEZ$D.6t(]iL-ybdKXԀU:Q׼_iRk䋀ڛ +Ŕ]|@0~W)3#"Εv +#%=֑zD7HxN8dݲy يaJ(u >ZlakCbZ׾'qV@Dx!5TVVTY/g93F.l{""m(>#[)SodO,HPdo!YCSSdLckwmd-\ےuǃ^8co}Sщ<'0-~H즀'n8&5r +@nj)9dףv\(iU7{$& <2Un-Q1$0u;5?zc춠OSzI0Ӫ#jHfv#l)/g%jvuyt].[anQuǐ[YTn< 5PP=ՠBx)ALặ=aˎǾ 09DspEA4sC'Q-dBLQ=^ו,CVigۦDD2}!0Ck.Bf*i +ЪM-"'%L=lQMtЈ%O5a!6otFjZIX`iԘ\+*nϝm !lzj'SE9 㥴 +ҷEcir-v+N V1Cg ;YAA-Zvt[Z^u*P"> ȱf3FluklIWq9.%z;0jY,Y%QM+H-UuF`ZNQmVٹšVNb<[CD(@ڊR 8ZPk KU28~نU EyPPUp Y2]?IR<8dЎiuOac$)Xbu墺rq(A`̒< @Zߒy2XN ρC j&(Wfl0s#AJpF'M Xav"FcⵎuultKQ ę ׍14ta]1"$k|LQ|!kLYOtw0ѿ(1"zqyc+׵ھ*-ػV7VzϻBi+wD5E@=00۩]t›5qVl^##~7shݐآ*c:@ʕsM@zwJhJ2ֲ,)[[PUh*6 +"` zG<+;|8!>-"ȳ-IufFcK ֭pՃvg>/Q<9YRVUz.>vD6IgXXk#ɹMo(zAԻ`ϰn]O{~dBݺo?rU1tGv*%( l 6kP%G<[e{ 7 =Ble{/4V9dJf"!$y܊k }3S_Ss;X `0QޛY?RA$G1048Qx8;q]H lB: JMѻZUc1_RЏ"y `?)Q=V~̌U#2PHEx_/3k5CZB2.XVbG<.PDחL=}|:O3UȘ!H lr% +֨F1kݿzfjl甦440K χZґ44#j k1Q>S;T\bA =cF,$xl=o1LSlFt",[>o\XhE3tQ¯C=5'v*;v`׬}`ڹ$1+.^ņ(w_K!+p9bJ%;p$ԄN +#m.D8jKnE7"0%TCY\ag'҅e:ޔ݊KYɡ;bl1ʯG ;^LGX6 +(8_+fYMF2| r^ح̤Ȉ*n8W,v͂(;r97fLJOZI!SIGw#X]鋪β>J4_sygm~aٙAT"MC&]OnBJм.H#e,Tvަipտ/`4ςqLQvǰAD(aM/”r;zFz d/t_IluXT(Yt5Jga= 4A6ݪx#2`U`Ɉh{cP8icd[XOq[]5 "[En"z<8B*"c 뢆d'?u0:[Q1{QqS$|ti 6kz;6j!s߀FPnPav}cܟ{ޫm&Ooċ [E,z2#<ԭ_R֨f6Ր,k/:B+31 C)r fECc^v;CBgR|]ߦ> + J8. mhe$(Gyp=:U94iZw>,/z :CD2))UNM]d x\GcKhK!z Bm໰F,"!̰[둒aq%F!* CJ=e3|_߀R.Kn\'"ZŎCR@%݄otjѝB,$ON?R^#k/ *HӈMg-Z!Ew}SJq '"rĻ& 1RygC4Oi"yBXKeK6Ws{D6\+S#i ݊v!;Á J) _r}7(V(PJhU[,j0O6xNǭ2y%٠u.(S&iPH7ȼ 4C\^ 6!1-ᰕ6[ic%DH/a8k3GfO,>R+~lx$)ώ3SI[q?|~1?ݨMv @TV,h&7 &jSs'XvXL5:Ր/.s!竭x{Aq8Y6dCku%`'zB6pT|soT0hrF mf֛DB" 3q(/^RCe-@ף_kS)Ϡn-yMbj83,(>>1_/xi;9w Y}W];*jtZOq@;Ce4B5[PS#ӆ,ɋv1<`@iį =[Ni0FGM!B*^9Hbg5ڈ!=d~Zqgs)|'۠VB5٫2(!:e?VH҂LB@hCjq!ZV =MP"3+Ъ07IAޟ2lPUv?3̬w'wUU:$ p1͑U0LvInސY6[gXPb dШ /,Lӭ+ ^MisV0̶%ҼBC{Q,{D0C )YI ;PX +~HAF"kr "|\[^p:NDͤ0_7tczJ4B*Q *RbYHbGXt̚^Y$RNYnqÿ]K(2dh:rf+ WIN&g zK04*]Qg-νA>tGƎu#H'MDcn#c"{KgBL,dX ^cʟAD}0OC[z\(@xصH\OXQf|*sL"dZt_viobI:HNkfwIaM@0T 5EY3z:3xTtѶ"B\ bqk +`j[zZG\GM_$Ay + _cYe\MjFfšaL> i]+c9}<6t$q*<'@ +tda@ߔ#jPrDsH:CIDž73d;x9Za07_}r8v?ooa_^D۷:Ï_-?od_%=7?߿#w?v}so}Y_zX_o뢼~7_s~oo}oxz~U|Fh0*Ne_~CkT_~x}ON} R ks`rq(VX%C:hÝ{Hk{-=XIrQ}4>4L +($Mw@à^Hrje0Jy{׈trH-Tfާ9rٷ"RmRi?_܇7![S)ŇZA',~(d3!Or8g/#甊G24s~\Y9,[|(Qdߟ6k`B[L\úry E{ď>>}r~|u ۧ?1{ Nt|r|E] B;(O9{>!1@F2YY7F c1yCrI.ܽ\9nJ}z"'9vdUu5=At3kvĆoz|~қѽ㯾$ ƪRIG.kZ)Ev1[Naoވi+\ECވI>ɀ /zdT=4c3 ؟,9#$0 +(.+bw=_C$Ml>p."rZm*DѱRL-%LwiFEh|+vB7{q>z U+I?9?x+ c܉y^DW|s#>`萭=ydp?OrSBrBÄ)PDI +d|T[d +T$߉? tW@3u$& Qޣ(ᏼJ DmUw("M M:HvEf443̟@;bh?3@eǯ4=oTzoAϧڑ û[ƞ$3*<[({yiyŊ +Bf`,gD',р΍0^YFHRḑ4OQ2ѳA@Z,^ѨL-*%HE;/!P[z3,dxF}0pz>vփ'>Y*ԈZO^WOI-  LJBز )F(OǍHXfxcVXCϠ8ndjT ?|WV/GD.^}` 4U!כ ۊ L(/%(O@䂦 +EӸRskq_=A`NqIZɓD gБm0}r +Ȗ4p<EGVp_+DM!(l!G}v5DlyE{$dYPubVQ[i8, WԵ]B*xo `zK6 ~:40KB7CՍTZc5˲I->beYe 96!3lnyO;3^DSPо'AAxHޟ3R{tRp}v:zh\s9 TV Z#;>Xi\mgh6=3#+elQ?ˢhRo;<9s:6|3#xڰҔ|ِP= GkJ~q3nĈd ^ө ~3@#-"=q+|-"sqj褢tiπ,xOQ#Gؼ o,L:2OYduZ+f}A]?СmÇ1[^+哌3HLV"߂ /Yl:BNX0LkBM~rO :9G/o 9Z ̥ |)[4?tOI)D|gJңQ-2~ +9eZX j Cg(欆#s"}lK#`g,؍?l0CXotL(V!=x]H~z:M`h{PD3M*PrIcuqB'21Qnk) h(>O!q+[.e=gxY@WH {=&x#\v'OlɌ?rVGrsRf{ + *`KV'׸< 7aWS걕e%9~6 mT(HCɩY;+\v=kkwP_E.kO _L1KϺ&:A(E8zfر^]xQ?/^ːT$c zM$mde#aWYD-?1yt&t|px=3R6tMz'SOlމMMC(VLlSDn{U)hCG VzC8W~<艤D!+!qgfҺkkDFO!\<'-s5-NrEZ>#X +؄I`ŸȀ_^@TO51jɷp}Z;в0 +#me4N}D:]_)N*JI9n,ȏN:wA`#6W44Lj{:f'8G\8qs n3q&ߠg5Ο hhD%?v @< +l 9H&&)V>9 Z˥~0t9: > C6#8fĀhfczvόl$/o2tlm\j6z}s ~0ܘɍq¹Yzgj8ɲ|d`vacvK0Ä'MWsN3 AkP\9-SV/# f(e<%@z^&]= G :Y<"@w@G#Dddsl5|֞&*JKq'G. +'xt#b<$DWHAHAe!Qŕ2Y$?V6oQ?]ulIsmRLBqo"ޏި&2%J/H!L| 6w + ΎdZ*#oRAYUo`O0>-EcbӰ'ʾ }+.BF"Vҋn&ۃvhy_F4zPmy8k,tV:JWN,r`%z{FKiF`|v@N#v}6"%N˨}Rki5sqzZZv*2:ʆ:" !Ke{Wݥ8J~WaKBGSn$.x\väL3?Yʞxj'kdHC_˳6Y3iGFJ;y'jL:7z묜j?!d+ Daq=1 cFpRjeDwcLn8@U2l$F`aIP&&L @!"+P~:tM`= l?59&4oBٶ5c:(-[6+Le<Pȹ L!&3mPD`jdW5$<3(WKyX=(lG`YQh8 +s}c*\ћVtF +cbA8wD73S)GXa3Caed(\Pɹ:Li:t NE +T:m L? q3Wb +3PLy#x:dcRm'c,βh +?M]]Ubd7=yOHAR2H8)_ 3[*Es8SL&l?8&8:ꍗcԸ|18 :W=pUuThGG0Psc'(,U8$z(4kY26ys:n))DxWp&)baFDFn&J$/*"slE` "e\s%7]"dKz*p\| k ,aVCnvFQ6mWkOaBM gkؚ8Žs֐D@WFp je0\2UO  \/*!xSj U'9=v*^Muot W 2FmF>rO ݥ'0D |MႈY!Zd6wCLQD7zBb10g9 9%9e0s"i&3TVD9%F-nZtDiBƙgm[wYt<OG9 ^.`j&ȻEy&2y*A)#Ȯ!7\t3i' 0JADٵO bCʧyYaL3*J,>T<6gF"bScQ7|40͆:6#{ر#ebx-E/×r%ёa*J]}|2ebzZyIKfFu ݥ4F:$:'V=7  +ԳTIM[43h +M䓡ˁmHfiܔx1uHtB,lˆEap:p.(\nPDkI蕵5F+<6GG'l[h?I})hs*P6H$K;j ģ5s':pM,ojx\Da]-$@ >єa3SEOaO’wX&9LvC߹R%P\6pjVƱs``707e#/\0?.76AxqA'mHd~& +y(kPX6)<,0slV\P8sґN`ERxۑ{䣮AQ먋0956Şe1Lm‘nXN1m4'ЋĀ%11&lnrt3ad oinya|)Qt [dv#!X˥#&M>d}AcaJ|Ra&N+ &ȎP,(4f#tHLWLpAY2pz +9:h,23Wݡi`ToN@A9dP`݆n"ldP4ףa?HiE.ԷY:JLK&jOEn9ˌdWXZB*uHPIb1\D1˘vsQ<[SM*P?r#p-=F$ے=b9pNzվGy{9Ŕ嚦^R^a x*4hĎd|]iE 0O87@-ynB9RkkrF]NӈJ.pߔomXT^H82~@HZF.q @-A!W]e ԁ֥qzqY A3 = Rqy)AZ:Cb& +J0F=flHI#`ѸtRN])Y($=!6F +rgJ*8B10gy81!T iW)`?F >j_ }f$֜0̢:n7i&]_P;:r |%jx I7> "𨩯|$"<7:G|8nWLۧ d%XGwxS@Y5bH7}@z6R͓>En%6s+BiWL wu"`[BBqjQR`ᓦf +4ZҭJV<\t{cƳ!|QƩ114l1Xv f (ul" +r|]1PzX^)c9&L#鰚G=J7F>%DX~"ʑ䪐Z,*9Ȕ8umBץ*QJÛúL!ZX&0ٙK͝3jBZT ~^G\ tLsCCi4{ +‰RxC2kBg"-./J)˓t8%f]vSX$CuF7r|{Ttj3\6>'D}FF)T , 01 ӱTYq*}TTOOBtH2>Po)ZdLfYb? uBTߧ^`2qb1ARhf]2tՌE3EPV=ݩnmM1/1L 4 ZwQ3+!0Lv%!`Ta#XXh"0fd~TL`©Y&@WF 8P6E{\G>eRsSP~V +tAǦYpzF~`YPoɱ=S-Ey6Sa԰(ik]FMFzZQs(J:2X) h'2JIau,.kEFsY'M Kst/M(F?qA q"Wi(k/AcAIfGid1S <)Wtˤ˸֢>hZ03JZz~I\N5/7Lijv9D&"IK]FaJ6Be}1%`zMͧ1_]87aK˔'ey}},0#EȚ ՕYu BXkvkm-gzXXThPpUue[rZQ) o&J+O\`{D +-NN?x&p<3`2hiR)FBx2ec,:Lg{K]ln|0}Nei CkdzDFpM-FKpt̊WUbj4Qc$+ӋytĨN++YG-3DeB +*%<])ZHšC}lRw~ϩr>3t#&t ux_89Cӵ ShDAM)۰tl@qVa<]tpy1˂ +pXŢsTU.;_ءO)+ < #HTbi&+cr3h/M4xit=cqVPk]G[{&/G9'Qk"H5I/#'zÎ 4^\L#{,yz!]6aF6WQ$tD2 (hM_K%W"1eT19hg]Ó5#0SBLr)+N6kF}i&0m٘EyڂSX~ k;`p +! ("1tr9̧Of.Ґm5d9 O1]! ʹOhmvH6U ٤PY$RK&z&q.H(DG,R3cWDaPpCMtS]@"'Ͽh֘hZshG~:i%ɤe&zԛ|⟗(RgvA?51Ӹ +291(]IT}5eZ&v53Q&DA2mR龃2L^IW ퟷȍd=S gmc5B6yXMQ'sǔp_7MMb'޸Éhv~y4WHhvS3~U\Gj٭aqBs ]N@tm03 =¸ Sq#XD ƀpu9P馌|rnfe>x13sD"Pm( }iE1{Fu'R3cIՖZRgLciYz\9# bXM AXk)|c}čLkiRmхsRFhzg?N";H`?%Yxl&J<F4߂x.̧bsG4 /E0TMU +#Lu)SM۟yc !KC<@^5L*|f6[mU@t +ڪLɃa! +|hF5ʑpsP\KcGhe]ywϾ~g_}:x]Lc@ϬXmţ w~oCYi܊/-1v-B'S"* J͝{|-ތw @ Uʑl D%_ge#sQ= O7'g@c [I΂uD~k*i%4nl6$?(L66?R6oGJGl煽?DW_V˻<:P(<\j539^V^om7i\ͧEyJ'"#GNKenH![$#ǵDGY}nCx +bH; 1YU Cy-iZKC_ڧf咬. >B2hB uB Pnʑ%V_ C)o7DSs/&O`; cOpqG dOFpOSH,E.{/<+Y^kKoog߿}bG)"Wy_\/+W^ˤ?l]W&笾_ܷozoՏ>ɗ|hxB .oʖVcO}Mn/{|x.ƲPyծ]?UWQ:O&݃_uOJ;u|ez Y:;+sgMxXi:e+{N&AmV4Lw^gKYu|iW_T7}ᓤ+xUݳ]T2| f`++>vNl%QgUYu_ta|0wG1ݱ۰b"LbR\F7Vm?_ZLi]l&MVz%5ä.\q۶)>_ψ8k"aI4U2 FϜƉ߹( oi]Gu,xn{+uIwwNڋ-+:~$[%A7-oZӳ]`Ms{St7휊OV_/7V氏lbmXݫ_/=]Kg(5G*_O8b wT-Y61jm|}TDVu/bj@Bu/X}ά2u䪳b}Ym9:|09ӯdWyu3]p.k)4ċ-VN᎘dGݾ:mքu_%h<֓v6` b +/M0olgk;7FץY,[FT6QeR gUƟH6m_ح~| hu"DL;ϟ>{(<'Yg}Y_(wz؍c~ Zl_ :/g ewXetqtZpBo[w\i|;|˃k窫b +$Z:,4U)@86d蜕Fwz&ܞS_'7}'gvY#sV,nzusyym럖 q89wqcUV3upW %FPie0}V5(`pZ_ѷs9|9x]\5n|x?/nw׃4Wݱ;o?f/@C; Za ev>(\inKAekB.yg+@zW;b{uGv}UZș" .^& +\P;ä37w1(wli.8 wapQ(BI1jy:td<۵[1~coJ ,$,?y{v,]l'AuRސ5OJWiN3P+k~Pݔ,A4讱x,_2kMn~_g(Wycѿ +tpg_ˍb#W˃=dz_9f4frtGp_G,+fq^__UgopvJ>AYܪ֦+~p/wmW&\vrEi=rj:)o۠w(%`QZOx[pZRn܂ϙkՏ⬟ +<:l:`U/om~&^meK;uk>H{;͒(62|o5zZ91MV-|ċjt +ZTM+v L[{NN4eX4Hr\3NAf&"+sМ\2'Y &0߿\,5a9Qszxo ͥ]/`2ۻ(O@4^ + ջŋ?dN:Z,Mg)fNo:N*`ok-AK>IrAB02?^ScPkk{lUVx&iWd#_3~g yPCd>{D{]ݯ@ޙ?N{;UutegMgm}]c+{ +:]|o8|`ճjJUơ9~58 T_fO)>}9x78ӕ5k_XC0DL _fN',l0/_kkecz|]cX,mGeZAz͚B t<)$zWyo+ D_N̗  L叟fkB+Ϭڀ|b +x?^c]ތߔ7)>ڮj-c[(͜Dݳ*]6Hك jLc0WI|f.ò'&w(46yk/w +]ɋN\r @N 0/f 62PvlAE:.Yi:x7 :..@Ɗ X|ir~#  <)oXT]٫~jW=wVk h>=01 +b@izB@/וM};e0ֺs?rWN:\}Y]:'`ڜ}.MRbr9,hr|c09;Y&킘l$ymyRt.QOq`LqbM`#ec-ۅس `c`$I &YW;y1"b2\ ruY(Nj#ƠC3hU@ dxx *2 d8a562-01 n`#޽~-˔ʪhytR(q2F?M9tA fLJMAF7]ur)ᑩLXhǮc N*6(lm x>_[WwemF(6,/ׂ;}/:EO=cyuȚ~B Jwwei4KcqvK0!MVݯMA:`x=Ns?Nn*i N:b ^'`-D0s|T<ŽHz=XҤG{ߪdtgaj@<`Smdۅt)J3GwY B=/i+%h8XݍL]O_le`i00J9]9$qa-ZY(͞&X`=M{q /,vͤC/Jf8zmSӆ?P*b(x4HHA<6-ArVTiUg^d(&>͸c`XZ~&M|0gp.@&;Ů̳c5. +(>/'Zއ{。dTcroɕ%߱ڠ +ýӯ& +ɜ+^K [YT˫ҮەEvbi_eV?OUcocuxw8U*Է`#ĘΧ>dkZqPkզ7w~`zel@ywӛY-DM÷<Le}z|o_j_|e=@`+֦/2``2oLIymuNo|cO_͟mk|u Nqq0/KPXpL:G b-/bvi-S +ڵue L- Eb=@kLi+Ey;`mG>Ɣ[lnB;c~krVJ1 BE..sOR>>8Vy 09Q^mV_6`+s՝\ F)wഫwq;N4)@{>uj~לĒwxusON6jk0ہ&ilaJ)DVp8ĮaaAo5z!_,lZ%X50OuИ^k 68տ_nd+~.з5_f?;y@oƨὀ;/~iZ:G k[k,g_fJG *{v}glMzJW3@ k +q˳-Fٳo?e*'r<öX+Ng\8j R^w:f5Ac| +AZZhϧYjLw68|N/Twxv"Xꃣ d~is5?J(d=I=Mk9SuRJInp$%߶]]X`@$Ʋ۠ u2JtX9h Xj.^N~9umsAM[vPwgbu۹8{nIgwZOFc0ջ׃Wr@{pj'){XO ]d)X`Y=/CeկD\p`XL( {,A86v9pS,U{;I +6(´'i1z7AKD zZpiֱQ]4)1pXyh.8A?nt̖w c>e۩@XL$+{E8P8a2 iҿeD^<R%|;$)-ub7OTv<5Os``ܕgYuZ:WUVw:ёa̳%hm02;g)/r4}Z}YlnN :pg| ?ʖƚq o.~[{mA"ͶY 涑]^w]"Xi X9ab<;`kg/Y8X^]yE`yS1GN ӔUzow IXu!Z֌V2ePCۅVJ̊c}-2:Yz +8`nͣl0sE +~dKiBeU(-26a("j~Ļً&eA<>N> @;?6dȲ̷ ƣIƭ~xa HTO 2 xq?Il6@OlN>|]U)6pv,(20E5Y,aAhtP8|vtl=) u[~:N3ۅf<LxAL7g}WhW_>]A7 ls}Xѩ/ʓKkJ<{aHX'ywX.b >a|iu}ۋ?yuPޫnQFLMo㠂ِ5[q4ak_/~s&ofynucxTf9ioP㝳5e6z#JbuH8'~fQLVv 6~sV\գ;^S` .9NOrg'/k,H9p-14ov *6Sb3S((Byޛcy +׎SG[N,-'k%P26`p+-0[Z$,tvXC{X +EL%0-Dq+kilAwgA؏,XLuAJ{ jb`#l")Y=IZzG〱A9z_dGW9.8i>͊9yKx}b6{1M諘 д_݀$%Hz3 ]ghUnNHbКU=zO`Z p];z4"WV;Rƅ"*gNi7 9p>QO%Tb],_ρdC~\3h^iVhnek?Y3,u?LRh3LTAF,+S2{Y0$em|4W}8L ]12s_>˕JwOSj^?t7ӕx/.%8}*{`©И,T +FZl0e(xCo ݕ"zm6A}a~g|pU{R8) U;sbh߅s݁G<0FvmO0@w~j ɸu-:Bu3[zA2_QdMp9i߻)Ëb0`)2?<)-ZB{=ejkѽGh]8*@A۹zM1㳣-~O63USۅގFK7XdnϷ;ʖMxw2Rxz<[x(lyՌ3~6fT)ogp67AeV YTeanU\`0 z "tm`~R.J+s X]ح`|pfG}e~{T H?b=<[%g 2,u:ۧ~WGVm +bwFLZGNw̼wA$/4ZxjX?qytힲI?57rM@> \f[jb}mbU>vخ:?м?2~u.A.5s \#L- .ppF~yp[݁YR;>`;6^ק7* Ӷ,~FjⓌ 8?sPd0B<*Xar8c7vHHcgJ(L,%*:O{6kLjUZ'a)9Ix#4 )0'_YUzG__5Jg@~7>U46jf+ 'wsǕɍ;T [ºzǍukR :\?Wmm"qPH[LtO.b>X!|e<@y ^4ƺvt?Vߕ{Ŷ>+<{Hpx \iRݕaݳ{X;ཋzpry7SM^1jjqe'n8ӤfK0?3@}88]n,[S#Os.N Ӎ0kCVY 82u%ۙ13&l;Ԛ/ LaޘU0|5/ѣß& +F\Pz1+ +iO2hWG+҄D?攬TFL$d$-(b$cn?);fyŌZ HZiqPѨre ߩE__o/Pџ8iQj-!c=R^(.e4TFϨMD( +1 .&+#U@ƣ}6*S36bVtƄ A$g0GFR?l th-5 NSY9KƧJ3~uaٯиrpv_KOK%&5ͥgGaÖ@}=mh#]D(ك)*큄Lp hqKb{X\,3BBALأBŕӽr=>5dc^5q>` y2_Z*eɘ}!+PzPDg>2x?Jxj+P +`{mn-v[6TrjpErM"uR=`;،Ҫ[2+dSg344|fpTjlnџ^ UOx]4, AIuƗl-:&NeਉGi#&"Y>)[TDjE[ 8p#VP)S]D'|JB"/@&\NmGTLΊUdRPAF_Ƥp ׅ2 *[) +޲5ti̬R۪,%U֐P)1wZ|:uR(-J-e'r{ƺw3Tq OFkn&-%'=b+nHNǚۡkGKt1UUpefPY19 *u=!3!S Ay[\s͕ D1` +,=E% xiHc2>Hϩݓ&`;E"荻يOeJ7ܔs +W"Zyq܉gDEOvBnleЪqh#xk'lmX% j@m_f1PXĻX c['~}Bn`2L l~ާNI*1*.&z{bi+QW@0 +N%&CHcrAvZ7چ<:mTMZx(h[uf +8T> + >Gd <s0Pu" 0jG(=uru4}ߕ6:%ۑ&Hw27wv5i,DLnr~EnAm;Vl  USX"ͭh8l%buPj+PiBE1e&Q1IEaM8d.oP{ʨ5\.ɞT^ +z9{r#aRݽAmH ,O*/c"@ oEbypt']#I*5Z  =f#t +(Nm0G'\f*^uP15CR.:8aj/s*R_ fgl\ٟu42rmץTfj&Iw͵3]_q빻=NWׯg.AR[}N5,>LSꛅ${{z=\ $[[Jm-l^_gj՘? +ybJJksLy29yzjlcn3jmb-)?ٹ>_d-G0 ّՋkDn|s(3oMr cSDgd(Pitaɓ+gcb^VŅsR\\ܿp9 x ZLL^JN +6 j i*+2E#P6_^rlO &N^zz#L+ն|IX];q{( _|e]@y#`r*JϞSڧ×(vJA(JVnfvZqRj۱q*FjjmykR@RjlMf={w=H" +j+̦ՕKo,7GJ37o47?X^A7w/ >'3 |LrsfrB0RcMyi'zgGӇdעSW҈=`d(X̙XmG*BviF> +aH8~rQ.,:Ňk@ $<0#GX^S;^1`Mq.^2cZWn@Fڈ`l ZT ""ڒ + L㓲\{_E<"pJźd,aҢQ;\5JHiL|8>A* 3 9!8 LHu|66QϜts17L~ +Fǜ!#9aӻL8@4݋SE:{X_n[0klB)z=Uf\vK%TfdumVI+q.3HLwWv?[陋䬓/ 91cRZ-OKeDbW을N{fv"m#|4 ON*ƥ^w|×rs+> WޥAmTҝD,Р H?(Z;säUO|+:j2zH ǀwy@W.q /cf_TѮ8 'qE:3e4Nz]GLn؃QR5qtبp(7S/͝ W6W[1Ha 6Ha`j Jۋ{wKs?u8sk0KpF0n%ʧu(C(pu4w&3y\)ϑ,-y.R_ "ekڽ64W/R@.k7̄Jb<691y"a 4p +T8 eZVG'A)[VTE.PT8+Ui +endstream endobj 76 0 obj <>stream +'dDZ.%:6G `6HKnpfE#ţ:aA`l@J j3P +LOe{rqhv/*W3Slj|Tŧ|#dpCJə!'8ukL" @q[߽:\(T=l拈  O%;2zu.0l&{kٙu1ԧ2ݳ]" +bml\劣H`$kd$77J\bKUS`yr \W n78+@2s:qܣSU:YrI'8H /9+ +`\QㄝkbabNNԒ dSjcmJW>6jF!ӝ#sBLNIr + ,$貕L Q˸TS#FȰ=>CEuIiH + VB߽}Of'0ߢnH,J[TTZ^v{_~|gj}vl: I+E*ZAJ$sw#Oz{ۺyw|~}q8u/'DˡTPPZꮟl'jս =?ɉ6TSgu6xXNue1yq6^Zt؍fvz;?Sg<㏕nb5XR(!yO9WOBs7{'{_^ώ_՜?f=lL)$ǸNh;SF(ߕk˫={Ϟ𳯾ޣϿzCki}n*L)U.1Kr(Pm.oLϭ_>^|{o߾_?v0yk#TNcrFi'dFy tTI7^o썳7VN\)͞Nwvp>sda'Οxǟz}ӏ>?>׿G}ev4`D %.պ\=}ƭG~ß?}7/>7οo/<=`f6dcronٳ7oij?ko~w??ȿꇿGOmr&gD%-W6౸wpy|y<~G/7_>ܫ&}\Cx/ZYxe;JBurioxݏ??WW}7ߝ߹ !HTU٫=t؋yw~_|_ _~?RVߠ9fI\s'.蕇o_'yw??~ų{F8B3{L$UiL?#7y~_ßƻ?O~ǟ}?賻|[UWHCҠ)sb3wo᧟~wg7?׿w'c\Ƀs.]~큇|~?^{+|KްŠ> gsՍw?pn>Sҏ~ko?Ww8_Kl{/fx5^Frpԙ^_XY_rwwݏ>˿?7/|?.Y' !$l8]wfW/n8s믾֯>~|O??蓏_~{gJ7$A*ffT¢jkk?0՟׿>諯+ϿtlErK4D.bzqcO/>Ͼӟ×O>O|3\LcPZα|(VZؼvo?}w~Ͽ?W/+ϻ?O{|l۹KT` 6Mi cz~鍷7_?7_Ï?~W_]Dur;['ҹ$Ĩūgo>psgO%)Zp",=f@ Ȅ uIrUk77{nkus$I1&zdh&iP.;ODb6p`=w>?yvԦ8κ A th; 3'Nl?c蝏>7^{嗞~[޵]h0h Pr 2jV/E 5|ﵻ^{z^/ӟ'6KZ0a/"yE%+5Ϟ:#>S}_}_~_詧;x:S[#3莎ڏ;('nf7O:uWu/=w~k>ϯn\ډNu7mE4d{q XZݹtϾc|{?n\z{3V+n$O2חC{A NZcD2(l^rۯ^z葇^xw3w/ +8s1F|\0qtx g\kvE33{|:Oc'`4ao?2>qZ݌+] ehf;btLNJ Qa .[CcqێMvŠФy]n7Ax44ӓkb\yQ2htZ03Fĸ 85)t؎- ˋ1%T '+HRg3fm.e츄L +&i@?aRǤ9>VȖR4RXY G94a;6f|F3AT~*/$wmmdRz:fYQsDaЀ~7w#D2Rp"ODER-JL9i%`0w؄ÅPvJc@oeB UlP~o~WZ:-7zzO'J3m~G 6 +g2РepOX!ˠJT ƀ ӣɘֿԭd298F\fd-&6A,mk>x; +"ԄzxLCz᝴ <rq%3Vh} vPV0c`%/!@aiA +x}| B e QРqxE- +EOnk^~Jv`Α`jJjQwcyxd$:K||O OZ._vX qQ͈5O,xB5(rK*GL̴jc3̬K,h +Wg֮^zXɰOq!1̓!E=B(~iuhrh~z.1fjj?=}* +U7|~+goiA+&|jRv5RJMW9jyx<ٻd lx&Z3;CVRTn6Kǻ+OT.L8 ,F:&h<0i7$%8f˩)F勀4%>7 k~5pfIn9'T{yL1z (OETRRfJDn91G'cKr%B24=, 2\e.Zu7,70n3::|T>rxȢn*ɭxXP[9sǐfֻs_I2YM%:."u2%\n]Ԫ+W?[Z8ux̦su<#mQְZp/6`wp6fT\r +Tw-d=R^s31f"u)=wlX}& c.Ss\~>U^--Jɦ\GSm۫|nʆFy:yƨ-6O]{&4԰Q%ʬ(=1 Vꄅ1ϝ-\\?Dy7|P99d\*R[u#I .ࡼc#sG-$#gQt1 (-ȯJ+La2^6*kZ< W(A wPQGQFL(p3Ti]6 Te%`XsϝHyE-Տp}ba>TX\\)M+Lrȑ:M[]P,&A=~yB@fNj1I4s*+2ӻ6[@<>w.>`&czI-DJkͻy̦wKx#5'.f05- K=A0Tn>RgN>gf5Ra'wr{ +8׈13Fq1~ )I0i&V1b N&m.WxbgSm@j+FϤ&`|!_ST Ռx Rb⷏@ ªXZg2s*Hu WJL$ +kK77?\SkO"ӏ-">c&SJayb N?i̡1o#bD 3ͥשHNEL^Φml./~(Fo(5yd4)Gҽ|{dъ+wnPuڟ 3w?9uHSd!C#Z.\Fm4r6AxhkOO,-^ +X +/ K`5-x4X@N.,iAIS$:|L h.7ҦT\w)*SrÂʇ qQ 34 TeqrB„<բ&hΤ4xmT(;n_XAF@%xUJrnaKR%IMRjˬ=Pc@qR~~|Mm/.Q=6=l^9D[Pc'#`ڀ +V$4ÎL PHxtiP0E|v>?/lpeF[qT:jsw[w=;wR|C'{zTMx~ %2ymˁ0x 5{=Ƶڐ9/F9!Vq +(} +oLͻ⸃ԿՑ/ԭ>pS|yfےLf 5\ (R';Ԉ%HQ?„8<2yxyfuhwh`?1 MxN Av*30~v9e%HhvFA^"cBys:G.wu0Y$eJMXiآ3:[|鷆,Y!2FxED!OFjT"$j&qMVVW.&T +,NFeZHHȌ\>h?$&ͯqMDthu%lsI6Vko\[8xdCkG^Lʚɯ"RM̯f{ū6_[C!$b+P#z6d1݀1I Wtb#g%׹iQF¸RG4^=ypQ+ Q·Kl܅H`q<mr@raz|Ef~̥G$ 6cR5nZ}ӏw*ܝ>pۆv,rQ'c>hkQXHxwxynŒ9߷؇Ԉ-w0EZw +8wQfPo7a&N& +V.=#bf@%W{R f dD-. eA)A:08#cێn2 h=P[ i,u!?#$0HjA N +⭌ixyuڈ:;+)A8I4ԂƂYG'\PC'̐ѧq_ HTJ/=[Z8WWⅅ򬃎qɞR6gʦ_3{!4E|ReM8dC7R)wH0o Q7i nubؼѡ`z`F܁i^#zْW(X|Zo(] .4\TLcu<svt.ls fHB?4b5zTdB`ԩxKP9=z 3Z,Ey\91j + .$lrc&65Rcj&Nh+פz}X'T# Nxa:ZBA0]ѻE/ļ;`PeS,md Zm0w >߄!NX x@,xo~}_~zK0ōG$ܚ߷b23'?tE_j>ҽٝY\ѸD0IVmb ,vpDr.a LcrĈ9jڶR7u/?}f +ȴWj;wOm59iclS&sӸ(W)=lF$M.ҿujFŎo0Cd>1c +Y7\ DkHgbj`vJ Z8jo4)*R*i0J9j‡ +rvta=R~j?Z\4j]`MPMju˧iz(7KBy55yM/z_sjo"\-\U׷/=~i"ҽce 5E@q>MCe0,Ԩ?aLbvJ@<~@PK.?-#͝`np)ڙڼ6FC0aQO A;h$F-~K4:XG|w5.+ Ju+.ᖍJJyv\gn+0E%p0iR_kMX~A_V<_VNyssɓzs={9O+P\tnq1?CКCö;M׈r}8isCVB +f2j ¸R Vi@*u6%);7h槏؎#fǂ)&;V,䆤 M]^&UloT&Cwa7FYDF-VW,bM:х{Hs&uP]&ږS|Lx|\FπŽcU.3ʋ'8VIҿVmçvGpl$M轿#<M-u&r.rN +9gXd1f眨ZnVdK;G<3g3y_߷tT|4T*J5 | +& <^f|0ٚ^ߺlM^Z<Q)ys"NϮ^63 А ;ЈBƍ(NH1G| \g|#fs!Jfܝ|wxJ+5a><)_3Y\ H~rz +^GC@gN^r3'M>'!BDm]A.QZqŽ'3| M9Ixr*;o/gRT +8(|҇K(g,&!2!ĬMNqJ)2P8q 9WZ\ܿ^nngk7ʋW2F}6R2LyV"tB +FlkC<"#oU=p GOgH,&W KҹN)$njFG'=Έ+u "MÉ"&f +GfV>|㓵/-t7FELy U_ha&(Dq [T8FEѡF䊟(ZoiD#o^0>su~9o^}f#v! Ãv\0~~)3H I>S H-UY=w e11 OpU48k1fQ䔋1 @\|jyL= ȴDeʕPi%HX9T>(L9Y'! DHNO\<0ޣ4jrc̤a"ocXF,= sJR:SvU2VDF<mIPy-׿f7'xF򢒟.OCr +K8-_wcIɉL3f !\4}/ŕtϕ{•;l|tN+f:Gە+|W圔+piJ^W>fB ೔쒔Pro̰KzR}+[ϵ/=!"uTسrYje'3Z7f$y D6؄L7llH߈bIi^YOWS9?oJ2[3PրfJvHEXRlu!΍ɦ>#j}lmN%ūBF^\3:.3 2nC: J;$[I; +&nY$…R~.*1z*t@ݡ|hM pE%ٚr` ͈I L ;.dG_:t^$dD 0q-սzqQTQThe[}gřm`sݽܥPaAL͡j4lH/yՉc#&`G-ؤNj}~Cƨ"L[/D{lCG2p>hRJb&\kc5(}/9DzIż\j#<7v2ƺ\ `fyfVd8:q0Z8f];2UsLqS ̔o[j0Ã;yց~96<;ۻ5:ā2-cc +[N} +ОcNu'N:uPJe Oa9SD2)#f7er't ߬\\ɪ6\P2Qֺ0QTCÙMbx'~(Zcn(aA/& tZ/_ ^rs5aã ӌrlE>7V68|J1M&~r.ڍ\d49zڕx])IU;,j0}K#v6ؘG%l_&:816iL6:Fmsfjwfv-bUT fSSf|'ɘL>}rkΟQHM[&gs.e?\죌 ';`n줽, D3>)AI{c3fdH}眄$cU ݛsDGDjJa ["ͳ@K:(|k{-'UvEN*lBD+l 4_[km%r3&).`)J&^HeKk/ #v?m?(ǎEd,OLyAᐛ`]ظPop%8|aKa0 '[O|fB5t:Gaq^Hh8դBq7wl?>$+B8?饣6X&Hio溇^tŇSxп<.ȅ;0,``!Z3='eJ[[ً[w׆7.CK7^ޗ_ګnxLj*n@p\Qēj +Ӫa[G}1vygKs;;s_ke6tBx-k7hl㣎o3#RLlWPuHMsys@$4*VcҵQe~szzuC$GC *HgmIN5bE'=^^ss^n܊Pa7`x>oFpqQ +S>xUݤ M)OBj9\\#1/7e!.L̈́5#A+o$k^ڪQ]az8X;3~EjV6ՇFO&=0'wSĎzZb~A+ ~6_ b}\NUwj+kb ^z)U8aBGú7ky59}cj qILz=Z^đ>P= c>Q+ L+%fm2 9ҰFCY"dmK+^O"%2\R;vg_vVA\ZbR +I6/5f F̔wql̊];'/<]^i%2wZ \-WWf0_{Yc*pmRz.2LrfңVQlj D>*ll Sd޽ݻoJXk00lOTHw/WFNRs xGH9>m80uKC| VA˚}fqITJ(~qr}Pq )5W V^jݸl'>Nťhw*{XWBIi%KsJDCVl8l?Y_TXG)v9b#HCFA#U% g(%sx/}$.\zʃRE~OLq5 +SsငH?FMȄuQr@aR!z;( .֗/m^8-);w?*;O>Sť"**b\bWf,~`Wd~zUH5zJ"M%9|9%6F3.1s)5yh*%Ha*fJjHH9Ķhmb{́QVUӭœZF{Ljցc]!S^&R^3c-7x-s}j2`eB$|cG4 %ZBrV?ί.}]-xj3>\<5@gA4,$STu9Mcg].ڍlGaZTB${"ֹ[s^-_J48 %?}p~KRމS^=%{@p`(&0.D.{FHYMfDkZ܁JL8i[+vA՜6>SBuLLԍϏzNY{5GKǸhW,S85h5kjY?)[Aq 7x=>ۻ?uX' ex:EGYC=v oBJM19=\vٽ٥Kͯp\;uy;>dR=  Kߚfbg/ʇ_Icү@gD?\\5/zynnaRuza^_,]l\[lmo㏗.>.-\ :|;DnpQVmL)PʼnfT䛓 .pk ʒG,Q>3L)BOp0:x―1 򛏶*q`րg2t2^Gvr'P_+fdCV?i4{)6\K77sJ~/f'=dOGI%1IϋFRVXKq; ('v=1n#} +!\JIM8OF䄛19I2b#Zi1\^D=PkOtv,d3Z(&h#Xsx=K@9̅V>cFƬ8l@G b Z/ vkG'3;֯9{!\b%7/?ja|u$@NJ,?}{w^sRpZ\?|Z֞˟.gU 叾ھ{{?T^ +B\~'hJUܜV=\.n+EktGrnIFwruBˈѢhz=߻T^#׽l(>٧+$pjGG7Y1Jdc mX+wdHć]hܔb&4pՈPPDm #0f\M Q猪۰ ,gt?ا"mLQb..5OcM"T.H,託ԁ  @xdW@瘝8mFFѼLl81GJɩVcF)Lt(ӑҳ%l0(+xCHt@RAKÙ 9NOzud#u@"Z(L,{aFI%Uo\Ջx) +gE$۰Vu&RBL匂}%ӶRtp8i*V-5w~;ן|/Շݕko^}\ܺfm^cu\ox8Ѹ'k'Ȩ@Y&,a#+r`aov-\zV]d~ kBUXmW#nl{`'}A7R~"QtoDMu6H N0@O8nJ i!Ѫ.] SaOI +T0NI\3 \S8sFˠZOj!&??$Y&|L|)zƂ91`|ub#"|rZlOthPE5 Ƥ2ʅKF}KmRFQ3lSHLvSӇ^{Wpnj†*zYU-Ԅ^s0&L 1* Z&"IH1hʹHm{2H6*uLʈ +B71;rQę +(U D)JB +g +Z;oxE̶ Yj3o}-ݒRs{_NƝJbR!^^nd܅k/ψ`V|vK 7n}jz{o]:z[NlNZ딙۷.\u|ܨφͳ@fHFx|3¥,0Yɱ ]BjFffJ K lF YM1'm 8opJgg2&|'f%~Yx!RK s/wvnI/F鏻8$|yiKvDaڸGc '‡ٝ(/BK8APɆF}\W\RY8?{z5lَear +h(< b ɐW0rg m )RQ16 "Fk rL8˄r8 @&pNRQQ~jGmh%*%:$MFO+ZaNJiOn4DzF, +L05HVzxZU7Hi ?"$0zy. E eX6TrSM=~CNa +BJUn9}_~Τ8>r@!V7InI ,ĕLhnY&ZkŞ.BNqjN9fuڮ>i% u Gx'F j`> 'bvb#hu2|dX%Kwɀ\)/ J'-ׅs~я:?&xq d)5JqAIjU_@88^Pq>J#~T@&YAI*ܔ‚R(z~}^ςR 5ц'88(w@!7,x)@눐 B`0ܼz.J¼T]p D/6&{fHNLd!|du!V]%ӗ3DU%Z  |TDF RL^+IJ=wvk *|t҉ӲBC:PME0Ɣ>rl 1 qdOfԌS=Ƀtb jN( h:}c@f+VCD0Da.”) cgcQn x!|xh\*Mw2ۧm;:<; 4IKHP"X1̵^tSwQ+f2Ng1\AqrI;CP&+3(-ˑ e_!"HG\gM+0<g^Ipm91-FnBA*kZz&Y]&]fP(cd]HEOՋ\&By78 H0 \p +@&" hY"- >ꦭ.|di _/y\ېc)+4=w7@E}+ƽp0 # }0cFRrAbA0F + [H9}jkuSSVdiۙQפ3LMn1in/9ylC2r8"~K‚%KM4vnݿ3#_<7zbьd(eEmz FL>6(iTVcxi@k@T ^#$A |0FXsyq Gv;СX…&?nN?vBx>BVTu"B;A(ŇsڊԜA)iI/L8ѓI'  cbnXt`O"l4fqB`-sEXebD(r2@؍d#i9}t p).:ëƍuOzq!X=H*W"as8c36Rl:ϥ$iQ30Ȥgl +Ý>xsOX4-I!2$Ҍ+ZA>5f?wtu|mu`$!Ҕ7:឴"67 ?zSg'Ϙ`c1dvR(Z%48=:cVpxr&;A@dRJ + ŃF*Snj *Ca#Sn3nUB 8-SˡTnʋaG@D%±H< 7Pl FL3S36XSՠ _Qx

tFl\]oΦ)EPKJ~-(t^ +Êz guA-g?WNKDM|Cy85) &92Y!-f:󋼬|"jv +8=]"y.'Ʌ &@0)Jpa"Hod"0+rP&p ` +A*R~D !_px9/,!XrZN$IlWI˗vgox{u}5pNǦA:|$j0({1 @af1B`hP+81sǎ4G=|fs]'zlIZ$s~()w{'0:F ){yaAv+U.f?W-TLV]XY^JF1cqQ?vjbb@i3(N8=N;(r>]_^L@`+0: +3:==9~HOc> Hr߿p cddnqZcRLI4V  ŀ-gHXMEĔJ;v-]N)3;_G]ښEc =݅#0'E xFQ^3;Hޮ<W_ros}Z-pQ@ 5@ZKI-1L77 n^Y{;rՈ2F$5~>v +D!< +a-F۽Ƚ浝 w\譛o=|~?|/y}Gזf8Bfn½ָ$N;_/7%]m>ytcwo?70f&>qJ @vtd%/~gw.~٭|v_~蓣ǷWo68s^? +aKiqoƦslV|M-N'/n4|qw}[gDOY-67BSN,&G@"kM㜍\W؜>y Gw|K/3sŽ#.R:mAH%BlOZwË_|/>ރ?G?\]H)t-^AȀCg]}\o޾}7>~y>ǟ>??wwsDTM& FDCJՕ+_8|~o<|_}tt՝_~G1]1[3^"6kqM KÕf8XH<8/h'p+j\0 !"Ik5ƒyo\ϞGo\[bİ'h@I'r~ɹzw/W\_=ݻoҵ\Lf9z"f5f_0^ZWWׯ?_}ro^(q#@ؠ[Yj'jw󟾲+k<;o_o×wV1$` " 3ݍċᄌ{<]?}?~ǯ^?|?Zu{b׃+1# fB{ˏgo[w_>o>h{ f"{7?}߽{չb$8afZ&<ټ(? {￴^]?~}{5eYϲJX$ņbsXB"qjk&;xZ/߾٫;>X|a^Z~.e> +Qg(! %BtZ!'V~o?|z凇~oգLAn Vr"%#0YQ٨\aƇ/|Ͽ{?y_~ᣟGO6=X릃j"0ZGdjh%^2ne_9:hM)92j0ɴu)oz|o|qu~wN.HE U H`q6yxKu;ϧL3]R7VSޛ^\{~,sVJI͙~aslȲ@sX옕:5gJ(,G55bH(lT +7$ Rݏ +^ P1Ľ>gL8[mK|1|y\[ә\lȫcbbaJ,|jcvxP(rJ;)~P/ş\vcNw[6B`8X>$!d9T*I=S`JnJw UPnh!*哙2SV,QK ͻyC$&+Y&l( jHODR&2L-W;b{P϶2F:F\nQ3\~?w1j'ax1[YIe;,M,s)KZ+{tesHC1iȔ_әL0cppf N&\=qv>H +:N,j h% ZN;p{q 'D!t\q7Bz^HP3t0Wݥx ?jv't +UP1#.Bw *M /?ᕦ|IF-hR8 xgZ*WdG7h%IkE7cQ$TI^"`Zf&lɑ"$+IjUңمx0;RLݓ>Yc Nb1ɏ1`~Ld3 .OŜɨ sR"$pUILJXhF.2f N5W3P׶DlK:YNsRju-ޖs74A!fOɞ_1Ja?ť7!6xh诎M1tֶ#M1ٷO4or2!>.f[}ʯSN^T99 + ̘.j%VJO6 |x?&= +: 7I/ALͭ^-z$bKQbB3n&EE2'2`iR17 i҂qEF'C9hD05SjkhHƺzs?T +4JpÁ)>%gp+rAe]/q@ 2`ErZ2Je(  U=t"2HV/oVՊ4jV.与)EPk.L#y;:lhJczB| +qgm]TTkX+ 8D*jULzE'0YPr3i$8\esʂ11e9c +,s.\CGAiC!3TlA`HEGlBbm;چZX sFvBm~]􆑞n޶aťµTJrJkNH W\IĻdј}D6BDj})\a#F¤_qļJH9% cѳBڸvEB66']ʠ=wӶML1ƴڔ5{*ʤ v*ܘHDc7^V}'m VdwDk + Ѧp &nĄk1~RX@ӽ+V:frH@bM 9OZQJTHQRoбZ^S@('etmjlf/A[ӛwzY2\W37bӇT Jn\klY_nܫ._/vqWLE0:ʃ Pmel 6mt&He>ȧ9vMQ 7ZH 3H شK%2>oƆ݂UXL[ ++!1iЉy<1)u NT7OrY;y!,PL鹹l~FE\NguBkl]~_ū+Fi->`FHeӄG:e=|@DܚBb.i8X#]&1^GB(;.I./qSzw>:˹xR{I.$9$T!3d| +m98ħ1$w/ +ҹ#7L xkEC' )d (oeD]^|>$Jod{0str.1sI.QR\s')Z'gl'X`H΃Ӡl}"6 s` 'j6T'zs>'I ~.%gF\ɲpB~+EDVbQm% D*Ճ湗KkUX7ma"tˤq/<.\7:zmRm*n}M+%ħ e!Fw~ƙ!MH*H}3ٟ B e`)uT=RMXP znp{pM5fpӬxg\tE'7 2.3`Wng6pI7|]T'TAi +D.{RKY@vFgzɲ46mHtuefd(h 8\kUf̬,]]{и<3C_@3-XT$pO{>tNտUK.X׿&%n΃g{?{HuC{tc|lgJV\4vi?vύ9 eO߲2{O7W3}9C_?fjYiϿ}So/1FWn~bt;)=.Ukpin%b#&T,3f] +]97ix]M5E9KS,M"x҂L( + Pݘg5/_A- mmzUj^?O>2c8&EZWZݷV VSwVy|&AxYYk~?؃3:?b~&Ws|ojW~{%ꌿCO!>xbN^Ov_^wLmnovo7|m_o.H;5n-^ޜ=fq5pa[?>MY^w_-(1?ۂXe}_7ڧ@@ g=X'?*CZܼ__-~Y=HY7^^7V/ީ9gkI)[reӯ?{7kvEZ~;"c`b5>y"[ /;%3T `n^Y +c I kY_c2+ @J9`q+v 2{.uNHZ/Gc$@;%sVox{DϿ$M4u⪀9{u}w޲8'Ple!Uɹޏ "N)E%((Ush[| KU/~oO>5yNU?= +7o?oo-dQ7k'\>y"q}w= F;|#/)wGnw?׿_۫gI6`T휮uOv?z'wX௪No~{ٯ/1/NAj'iggS=fw) kZ'2rƝ-"[NocFb +7hg&v{wv&{s`ʝWWF7B VɲJHnut8bBmr6XiLoPDl-A,;z)}bm uc}00\eGlQ^jZSNӌW3wrcA5F :Kf=d9켯߂%,g|WW#=a@ZśO>'. 7 `\_Λ L FBc>\{sT.=UV&W?_< K]R$V(mחAo +M#&OWE)fũu[PՇ>pjk>t=>PNr@ot<VE u5vF7 )!ĢTô:MXKR\Sz*;V(gHy3ܞ[.R.{CopvAAp9"bR3Mx9ecL) +j}z{uM;f;[Xu;Zt 7+UTH=O [\4/`5]݋]$&X[DB'^?8j.hL`E`CVp-D L;yPh^.K-ot5FЍ$'m8ai3}_]j3V! +sDe.r.s Sw, J;F(>t;f;謞?/ɵɛ?|Eqz% P[]fo'o$f C"a%y Z8Y\Y]jqjr9KؗgZ "<5S`{70GK1LZuAY@F#'QGl 켫͞=Ns<܎n)XRF)DnNc )܉T;XL3(6g~ +nN(p97v?E{˲/ +5Jk+X Ru>^vQ 7g \^V +\r;MXf}e}wX{{Bio%7aw9Z~a " 6g1O+킄Jv:KY3Qp4jp4R8{[i[WJݑ0m'BmzWOgI+f22 XP2bc;/$?LPWRiVMnN&'~Y\gZLJsAhQYOS*DHx@fmOK'M֝L.곫3^}nW{g|]s*M HrcWP64P>m -' ך=kjleU-ʌZ9eg؃ BliFZV`t)=*cӸ(IgH/TygNTj@* hQ.H^ҕ‹,A8wej )G+6uќ< B+oFW +R L5BDѭb2y~/_ֹc:@T {]o6`fZ4J/}YS97<$pyH!/v.*gZ=~5 0ϸAcp'ndPzWi(9h9|U>yDJc`sFcyc1q={:+Oan/qO͞P@J'5B0eLoG{{ϛ[Hh [](vV5rƑ3,Z'YҌX95>w#PZGߏ?ϱU\o3{.ëFy(%)Q<*-V44tQV*k̋]w,IRgShQ}TkCjmd"d/eQĝ2eΓKC{iϞࡄFpe;#ڰ=N?Y= Kig;\!亳{쟂JծPY[}jzɷ{P,R4[E"3~t7zQPTmhX )Le0)ͥyWoZ_Uzka+)Oz\>ѺƇ*F*L ?fYVZy荮`MxsU@up$ʼxN?m e÷kBwPCac)SYnvI>ۻ'%nOr;FXshqJIk=I*>XҀ%8]_A&0PA-Rr(gH!ZoJpWo#0A,wQh6{\p7Buc_'͂&쌈)re cx7EgL6.Hk GUa^i-=Rڸ +}ThSqA ǯ(pvP;\6vffi{3$$"s,$J4CWsjdr_slQ͜ke@3VV6 + 3w˷_]El!z-ZL @a)D٦cBF[h3&|ΜJ޼k b;o%Pe+oW@ota)r?Y1fPIB$`M^'>"te8ͦ [iR炵!(s8ighI Ƀ*pg HB}s&7p}PPe6s|U9H"b9 EK (QpUzWRkYu'8ݭQ Ԍ΅:>8$<)dY:J$ )i@jaj4V28_i]IS \9NtqX/9gݕ=koQQo |PT=CqQj 0md%:ԑX:O@rkzU (9jɪ9x?R"EJ+)Ѣ%ۖI@G`V1@-pj?$bEo9 "%s'yb$؀7~sF,[%%OBoG֝T r/GP%诪zw2t#Ilk'BIWQtdѻjȳJBxvRc/O@۔*4iQπًJCp'T/&RNoGȕ"y` J9Rz&5hlr^}‚" JoC]ȵ]2e6L=)X*q.O98";`ӠA1_]F0~G1q v޶wz)EAlBtNn~)vr:} *1 Šc6zF$\>ʰ96wYLr1 @݁=,}̘cTmZ[OQP\K\$t9gE*b3 H&w7nAL#zl'tx=*9mr-3dedl~;?*e:WuP(pu54hk J;,|DPtuAS.+u@O>)\Ы0;ҎH)@ **1r zYVf/ Xb(mq-MVd)7MU.,&4AWV`!֥;~IH[Hțհӄ,}™.eO]`ig$jϼ+̜D@* k%)"qW٫,U.vN(</ݕ[[`u?*m"Esl!l<_-'f>SۗJrMY»cstr,`QɏSd$O粄c`#l䥍 N2R\ǰ.Yn#Σ8 )ۡJ Ɲ0;)qF-}kVo`} b>Krv'PjEנƩր*a۠#ec -Y35 S?*(X\xm@ +s@0ЕC!9,2dc F n갚IAE"]Z 3hlkW?}Sp Ppnx*`MD!\(͋*սaܝ4 C30,}kg"/]Jy2|sã/׿IcNCڙq; wUS(E\d+x-nub3zѼP0ݽ)fr,%-Jf)+MQo^[M&]E|NT$XwghAx',$v|X` +ƚy }fbFc%=fVx2fEs|+KfisaFĖݻ6On0A߮ɭ< TAtI-{ڛUs D vWYY@؉F^ _ _Owo#ek=>BH[@0 ɠ|ֳeo +H5X쳙bWH20@(i*nJ5Ȑ ;rs1Gekv/?ȏ ΛviC[A,3:?ZYU /L[:Ndeͫ3-mpǘ\省Xkt'Ϛ_ + *jz>]BD(;R`r4x3W?يQ۸^WۻlUg%1|$KYbI5Tp_OcJF ZJ Z> +(qf6 qV7y2|]c&zma>DFA}Dh\]02aes걒;"DfAzd6_u73(^$lJr#/6qo7rxݻa NZo`nK:|p\Au9wan9Ve(祎837B @ ]:8 +l-~_ϋ sv.hs^VfoNVm$r&i?2FA9s"z +ӣ% F+S]mȭ4=` ]418|:SoBe'/mQ E h+ov3n| mpIsX++C;{ J'F +#s5^w \;%)at$(jcif {#il!8,$ː*ċ +r;ϐz0M*~?k`leʶ6ɟ|Kw}̌Ѣ +"6FiJ. +~~0ʿ@W@ufNI!x9|x͛P;CV6ꀨqp1fQK~ "ZH23Keق,)PO^Igߘe+j:}g%eڕ zayc | +Z4P" +6UF75(8f6Ϫ fQd+Ez,GJ^nHAXQ-2%9F _AX:$q9a$6/#5O)k"-yfuibf)k8H 2LJr#I9iƓ㳯{ڒkey_@!T͡e0c%9QTsdlLde#brCӴC3T3^gk.q휄 7ï15Lauw I>BAoԵ'OKg +dɃ }Bn X=Ǥ D +/ 9V9p'jYnʹ@!Cj !R0N޲W,v(/4Jv#׺k%uS~b$dڍ"Ga oIAnČaN+p+rk[%=EypC( )Q'G;XV_kҝg Bxj\ѻP̈́[COnv7lpj*D4>JPP~VtQ{BBV|(euu r-'F=y~P9ͮ^!!iOZP<[%Qt^ͮ:ۈ *"=;'lMYxzew=Z2^RpUd_zt 'Q D]5'17ƞ =xIU&f%XH!#3xi\')/47FF;~a2My08rV +i-ŭU]FfA%~S)FnjO֑j_w/X~.l@9PO#hgٶZW~)r\oeLh$0Q\K9SF瑲0I nLwq{f ~]? 8L ‹,[k',)5zVRްNlJj!C̱5z*ua8|a+i&P[ P^P>n|nKIXÂzssIn#KZ$'rlj :OWwy+prC vB1dIc>Vl +S8jo/K?*K]AԟFP_~ͼFAe=PR;DXAy|S'MY:q)W 6I0{Ԃ䴇OW8,:ǿ1ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵ1 {_/8<G ?R'ȆT\O5Gã㳓;< {ǻ|qvk'7_rkُ5 +Xe׬v76'6(fZ+>+WLO@Q$=q??e?;r)Ͽ_9 O\2|9 +րo>N_҅r9uX~Ry]+Op[O6| )`<$$0#EZX/ͲP/ ]/TVSwpΞU;iڋf mj 2K5 +v1.룢2 e63f +K_!>-IoYKq~49B3ߕ':11 -7=!,vfpѢ%=)Cʝ!Z7YO3vInrQ} _PՃЈSN 7`HS~uIwW:QDvAHg$oe4(,VKbm3kzb ݂؄+ +uLFk )8fm䭢MΙR VVb%Pz1BV1#y9[ұZ'YvNz'㈑f'q uXz#%=Y*ԅC06⨵`RjjGY½͢i|'3VVCD 'FJY68jf҄)( +%ĭ$/[9i=Ŧq$t +l,pmDhR/c%!CU}U5h^ɳ͒2Hيղgs-zJvf(F>F*ouV+SwqsYTF%u\ۨ*XQ1-9c/N2;FP.KqUIʇNFce5V{{)EUSde gv}qT ɍ4,Me.;qB#<&eɘ*w?kM27}II +d + Q؃DŽXKR)&l7R+'RLfji9d2+)MexiŒ!J$/%Z!rDiȫ1b+?NP"v^JAmTnng9Y+Mȁ Qeȹ;i$V"d&.wYs4aŶR 7=dr-P8! `⨳Ucfk1^4'1LBT=RjRSzppooQga#uYDJ* y@n]ҠgB"L0>xϸeKlMk_˭"WvBii&Hҵ2dyB4@0YQi./fLng5/[|e J0ET`4!\3MKB/K|z$i$eg@W/ųĀq'?#yQ +9oΞX}e`asbNa ۬frlG$ZD +ɛ zyaTb}=[YRӭr +a`e囊7zFʫ91Zr\ 7ur{)q|]|JLkR,÷¸x|.K J^ieJR=yY''KLieI7Ǖ4UzKR3z@@q1\mYaMp.1ewh?|$97I%[lz]հXsl wL{GKXs\1,9@Q25ښ3gjpvuetE)Ts2BW>K1\j\;˷mcLJ,ȰܥC' DYNb9%^vDB4IV];]Lgd ( +X48oTdFVb%=ZTY2lр$S2V8C?L8(AnfhhԂt Z ɬ)r=AR, \*2L~ gIv=ŋf9@Rűl>@a!8`<ZL>TA@iΣBgiA/ F0#6Is+wRmNAhfjQ 8k_G:Ҋc&富!<!@tΛ*#J\wImɻjLs> gA8K 1UQ~ M]B +?lֵ-^7Vo#ü&eq(s~'I-͒6F Υ?ݣ.YE&s2 6Y>as}8_aEb#l{F"b O${68{ePL3yRXy=En8ـ1 v0M*$F%&dW BHI>Eqz$c3->kI4 iY>LCM8iO/AYhmԭ(%DFFGq@!8r!V Jluiy涙 +'4n>LP߹CK >7k]Bj;eCYCg3J;)X={V +R vt/-?k}^{#0 ~%[+mv N4a?H+ M18Pk1zY ; +IYAh{bjd amwf*y9 hYjZK2WS;9.XKMy(ʃT~ 3 w4 +/Ga +IU6$4)DMՍlmZֺmdOpeEmྲgy5]6@>N@ɏ^"Sy5VZk & 8L;dmNP)T^99LFΉ)Hc 6R a +I `)/!OqJ#6ؚԉ9 r"@sΡf'MF3FɒW+Yk%˖r%[ٶ,qݪ[*VWO }s !8@1_2)׈ګsQlwL¤#?[JB/N|QB(kT K-P2e"ss᱂WyKL$ENIUQqť:(!˙MOfR+lXE)X;|- +{hAR*TB !0K6: YԌ%F*JC# Y`^ V*ӋZoH >nČYXp(rmrl[mf Q6A0i t:0[(ѸN9!ȁE t28i!1@ # 6GӃz,:SHˁ+ wDjaL kS[TRF_PkF郜*c;l_n6„g}"M`.z\{CM2)K(Ty%;jIŧUVjK>@丙bq<u5e tpc/ҚBB8T/t̕N[ / Pmpv_VV$BaJvhŗ0xbi0x{:?w5QPy?nһ&n 6j;=q F*ǯGCC gh#Z\1:GpTqq[4SwKF$bbv*6eg!LXH ++̈NZp;0a?|Qdz#90a0!OXBxGÓ&]d*BzwmX]q3f`稞Fs$dsŧjc&b tpqbVʂF`Û破p54V/!ʘQ;*puBSa tfE=}Iu4圲xpAb @ tɜ 7H ԅ+4a1I$-d3ci$\Bo|ytpn''/lmb'C&#:Ϥ7bv rS@hS>P h(/MXM9G@ : 뼁QPO46h :P?a&FgxU<X  GOZ衑 "+.٩!* SA%̟_R [01rZypzNMf .BL, 4z'7{FDոE ! +Ϥs'fS 3cٽ&( .VX7PXv%-7w N$/f'z&X?)ȺCc,.uܪ-=1"PCBJD? +94q XI9?s)`fAҲ㷎*<-x43*A] '‡t ؚQ3S^nL64a;=&7`1$hP&<rԔCRyL!VHͧF-8&A qP:SOayӸUm!M ch #2aSfZe$ A#ոO: 8HLڸ u@mwI*PCÓV9'jtUF (ݪmڄ%%#_Ɔ,@h$qT?,qea,h炩94ҴI#*ÈXp#̸.=`:6 +.N!;f-<('<-愍S<"M#a:PN/o3r܅0nm@P3yOerL|Թx7=qUvy۔iT? +er\PqHc00DW]|QTVx2* @yc>L\PQsDy`!b5BQ ]{d }qK:$bL|BF FU!'|vt&)edVֆFxgk#l#N mdɊFƵ;OG'#F )- +It NFu SVnH\TqT+xH7c#0"艺dI32@iE.z +P&T +ykVKY\ W܊;$Hy+D dCvR(U>D+f*9b\S.{2ee`1frRqN[P$iJÔ¾QQW|| 3"2&2fjWKyA3Q60Bg% z';<# +sR9Xi;~?X .O$̌NOZt(иx$3q0EWy;]@-\AܶQi="9nk wFBk l(]a 3VZ y:x +t֠"t@%G,୼ݺ@+ *M%m0%fțAѧ >=KǻTɦzN!p&gܒX\0y#0ŵI/fgs%=Ssp_a}}a0&gp;t3gryj!@,dAHp9$P1S@f2 5p NX >Ƥs WBJ} н3cc@yԟtCp7(0f >`Ǝ :k>>yu'D(,Gª7T +'Pp4RT#"uO@+0i\:k9%gik*TUּmll.Rp͟ +Yk`L< +U(`ͤ"6&Oä +ry:1ZpEP:oBe@Txh!I`tH4|8(E!y 蹙<|Si h=(9;  +63\C+6Q/{ĺ)rݯ\FE}R g(`8`j&/PwtlnVAP&3Xqq13ܺ =\EM&5a:-#,)עHkHsxa PX +{H)U_ UTw*D&*PX˞p bAEmdԄhʥzlrwLtr8h(&&2[W WsS\vQF]r+tjJ8| #|Z*-ɍPqI*&0V `&8TB + jc%XRsxP\r MxUhR +W]0d 41x&L UV|?(`8Ds}.gu170a\l LEcv 0ʞv|RtޝVÏp)O!ۙ -w]VAj\U6N*N˭Hs]nNvvFO /`@Eo+T `:ZLq YHGn?HAIJe17KǪz$N>jo^g=>;zV,[XK&|v.P:TJe1s3\nF,:yj)RV:s0 ٹhyx|^*/1i +hsn!3trF|"4]Tܢ'r.bSe5]$:U!.z%F#.iݜ2:jsƦXXF:R.nh ("1L +ƎTߐBCE ;JTK%-.X,2Ҹ6 k.9 J.$[w]< `nvlnl&Lpt:sY4X/Z']6B%`V2AZDEZR7Ǥz\f:C(mg+Ѐlv.R߂͝!  Ce1PZ<=-w6L6{pběrc ! O˹)[[op TԟOv˷ǗW?lGPuFzt.fXC*LI_0i^[:u]O}K0ɅXs{CM:5Z66En rӡBo:|ȋo K*Ov _uOʛםbQPd>-.^􏭝oDho_imQZ<ܾ=vtV:;1+QHaluRszqDoruxw;J_HeNB;\~1T +ScI0Sۉu6Դx?7,󵕫˟ce@*ل!KlLnp:r]Fiyo{٣˧m_$5Xtڧ~kV*% +%NMvW7tipqz˯*ssH 0"AڲDbaN*/f4t|@,aqZ@6G3R`Z_4釟y=߃(KvwSGݻI"Zsrs|yK.,_ܹ[=Gʰj":{Fk!H J,&)`|YQ0#d`WǍ'.Bc'T,,]̞W:)L~/PVӝL\\gW{W,]ھw˓m孋\|dc}aܝ} ˟Xtt*,^fK۷͵<|.V{Pe$A*=̛X?{K'('"Sr]:g dN'wO6A;`a1;VZx|cp͍|Xyhi\>ipJ5=>ŸL7=7\\2= il/{e!?zw?ɧ[MKKBn WJK홵s/}Ӝ\l_YD{W=ڹ*g;uSy4=},VV/2Ι{[p1NW֥znCkrwxXyԌCG]ofMwҵy_==XYy/?km'G@>(NuM3񆫐jP"[9qs~*{[*.Dh)ىBV<-SY<\ gfldXP:V-;~˓.aɺ8ȵxx~T{ه".f[[8HwF<-s3:f$>3p3Z@Wo,dm7 :r}%ϟKNә9DFs=``Pv@ .2Hv 28I;L*D+ Bnڔv )&9Hy}Ťhr +9'Xu +yH6bLg_a`i|%psݣמE';{nzzE?noCJ/ׯ7s#=!7he`O Brkbq-;%Pfؕtm r (Afk[!*Erbo ],PNƠ \N',*Y u7q鞅HKϔz]O+{'n_Q^ԕG+ C M 8!Fh:MNɞv0IJ*KَI}A<.0Ff]sQ@,"6=#CY^"XހjeL57r),ѱI-Wlkg^:hfpKlv BJFb`> g TYri_8_[IXu8t.3#$`ZvΈ'>-ϝΜ/my+Lg?[kF(?Y+7+ ԝMDc +i vuom+չRyLʡxc\G2}|v=PXA#-2^glnv(Μ[ cY)7;ؿ|%RZ'giH"FWt"DJȐxCݬ,^n\5{lwN<ְApmx*0S*aE3ƭxBë@#Zq_pɄ3zUV€!yB **-m%5t+N>mBzN 4 P{RuC`]|ƄQ!MG +W k@Ϭ5y 1 K ܹƵTw߈^NFgxqNBb8,ұ/bhڿOY Kˢ gd\kc`_:>eFx(-KJ}_ ,BDʂĂRٙ8.r5l.l]PFʏBOuIV;b91329a7=q&cUcWM>7F+@#(\l ?VɴdJG'] ;⒅nszp2ZRM+CŊGLn9fMx "إh>;!sWcbqX ;uq>u T/\XB5" ++0@+S}<1Ct[k=?QDfV"BdL,:s,^7ƃyj5b܂~2#xcEnoKhd',bfJm6*Bj&.ٗÏ(O烹17$P4AXp0qh9 D* k Z{zyb +SK4fO^}Qi{/VV`$Lu.mkl&&Q1msgUabY5/;bs>ꍤJemKGLriLOٍ̮4weV$?DC@y!['Bi-vOKm;ܼ<cL2#~-A)(3-D(/E%RPLt^ I>In*fFzhbvi Hk$Z.LHA{& ^rҲKiOhOPnUN];,z)7ee\+5#2BIH ջLOP.Z4:oJ:lm2'RaIm&4b<8\85mvGTq +pfoJ>%z!kԄb8.@e_Oן~[o|?|䃋7,#vRL6Sn/ͥSG/\ӗ߽r.>7|^[{V/e;TBOpF o{r']{W{o򽷿{ ld"f/祥h/vX2^7OV{k|~އwޏ\/DxBv4eJq.r f^yn+Ysyϼ_y ˥2-3&|aE0{HT~e_?sxG}?=yڙ\s .Z}!#ǃYJ*ٰ#"lJ.-ڜ\ٻx}]}K7?W=o yWw/OFKT4#3ƌ؄9)ꝢJ:|"+@AƝDOb:Ymtw/ݼt~O>_Y9qgn樍Jp9ldmxWo>}GgϽ_|[o~ҷ~ֿcƲlw%d*.Wz_~;o_~w>P}c_-}L ŒJkfi{N_~}׿7K|~ǟ_^=u/I)Ow]ƂaP,l;{=|칛=Ow~w?/?_ǿ/?z{H#БZ8Mk wN_W|_7[?~w??ͯ>n/>}&+:7?e%A9nGPί42_yڣO7^>~_G?gw?OO~yꎛ .MnL$xZ-ힼn>o৿?{/_???'w?t}~/zjAL I5`9yҵחx?oO^Ǟtá4%5I&2_Y<~wu?țywӇ|/}鵗/]M'ˌJ?u}3ҏ~k/0^ܵn XYv͹Tu:Ql.mo^o;÷?7Xw_O?n +Ӝ\fy!(էgWv3Woooћ?{>O>>7{C:*(&;2RDL)Vݭݯ<?|?//?/>+/٫b)+AiJ^4BX?}ѧKo_7_?/_~{qP 8(HDzg}_O?勿Ǐ{O>>wO=}}4#eLwR jLkqɻ}g_w7_`;o?yg#O=w}'3r}DXaGpc~Q`+7z׿o~ן'?|Wqme디;HTRuz0jsfyacgK=|/t{VA9| 6BoÍGXXh3ݙэ޸y޸xŻ;vj(Ybp~7lr<'Oܹw&/4*ݝݸՇ{wxG^.n#Ip SV7G7~W^{^_tfw95:J;0LMG\tEV%fuug#=̷/?ӟ/~3O\rܬqMF! aeBLP/!J-f7;yo|^yկ˫|8v"Sl|l01"NUCJً d~s]7z?Ŀu'xG?~oW򫏜p~s{== j Bˡie*eW]kCVzgW_|ᅷs_WY-$/X|!1Xvq8/(DάĐ $o&ur7L y'( '%+aDp@ ~&B&7 Ӹ`"@X7.rr7)FPća,ˤBܛ>u~ak7yh΁O}:eFf$s7J`N S‘XTsd;뒒Lt\aw!@6_VY@n+bJ\^tjRӟVruI2ļ鬄ƌIShmj ʕw;~\NZ}v?o +uh؈::e_ 'q6!F̖9=>Qp4+6^Id:R>2htcrU ku\g(ϋXMͅKљq])N&UʍyjNcx٤`)&RB"Ij&1T)шd/ oR'nP*YZ*3a["X* Ky -)I˘3ex2DTi1 +w8)ӲJp Jx x!CV/kt@UX!y)HPnR 16VrC̄4sAujW NblֆܤEz&b TDfrDcr0zr˨XR +*P;s̈ԛN FTcf$q0jP-:7 + L h͘\q7dOdjLU2t`Q(BTz?֌<^:ڥwp_؊G`ùN1J7񺏔ow>Ə)XJm2i}BrF-ɍdkpQ.LYpg':0j~E8L.gBad5sgKn*~H횲Rۉ\X2ՔVDh;rgxK&1wT3ǍN b^ʒO)TmPE'l _$-xqá)밄lNP".|:_u5`iB*;p'*u,T7x&)׎b@aKva2V Q[Jr/<夓&ԊJ:'3eŠDklu#HAŒ gi43$(= V2z$.*wRMXhފt'd\dԌ&O5n-d'V, ?}RtvAFߤg_,fʼI=1ֈQG ĔWT&<bd `%F᳁bfEp2zy7dS KKONhW0a+7Plo#dgMD(@иKsNB>4aE,&P)(7\6p'tG^ !?ggRU ؈koN[*;cnFv3ï6z*"R^ڕHSR剐M==€bm668|nxb~mZqaMryL,n( \s_=rkOTZ@T8r'OJv% nr)E)g2>2LRJ8_J3n-Gt"}ftr3}Hj5PJsC5ktH^ +Bao-ܩ5=C/Z}9ʸc/!BYV V4mٕˑdZq^av2rŅy=<~u=^L1`˻Zk[Ly]D/% +qBctA¨v R/([v3Q՘X6%5:3@醙 !x8g(3i)Ιwf&N_D #2jVI֋H ,i 6e.잾&MOr,*& +CɃVmz})GÈKѡN(Fv/;[>t)BQ%)ygm\N^2p6)gɥ؂ B^t#)ru yY1JSJVۏ(/%#B2E .Cɭճn4Y 10K! +e2 >R <0QP]ICg󜶺)ms\z?ɹ7.C[][JX.)oBJ/.,0 7=|?=]Ȭ\ե$or۷"B Y\ҙ!D&"db)֥jvbI|v,jmﱅA򣵇|d1D"\YO{K{Vyx׍nvxW秗t~So1d&mByb0gfRBqmYS_Ja%?>"$WJrEBi0f;:\Fhx5FŊG Bm)Xm u6Axb/FH+PFi-إ0yӏbPT_Dڭ @nD))^T +._ELLj3Mh Z*Lk$X' &k} gOnn{R!L;0ޔ7ΓJ&j63c0IHq`A&gS\և@09(oB/ys9yc)DMThʥ !p1TŊYKAfl2aV_nfjYRpRZ\(xP:Imnm?ml4:il%uOJJcB6<#x,L2Eh'Zm#:}-j6Lz^|\zLfgBborߎ_|8izV]`J0IJfVҞٹ_YDih;FJ~G8esLmŵjg? ?">m#Tw)gM(H&~L߄YRkQ1tخFj{)̠ ܸ4:{'16Cx8\dO~:Ӈx9H/!BkgKd9bRDݴ!nBfMҙA-&2vOkg1R$) ɷ}؍5( +(gAx:7:wq)'TdEL9JiLJd5vw G Aqh_Q?|c1拉Pc2]P85J+][ +aALΜT`%[>kJ}tFlq+i=& +b88On7q+e1 +^DЁJZQv]h& ʺ;iL >S +8#Kfl΂9G}7zuBkj+̕M| Rj jui%zcz77X9-m<'2cҞ؅'674iB;qlf 7Ƃ,G! _8q|}") k돻oW^pBδ"35)FtHѮ a lBLs+:(m.eu0+ujq"&h 8i0a\ `Iu O0I../WwQK+s Sz;n\ĕb@-f~nXMV]QϮ.-yO +a|VTK+-+zђ+LBͶkw2֓gQ.NpCYi=n> ϗQuΏab*H(wfxt|H(N;_\v{R {]&Mj"@_L=y49|6nF| m.%0erTv_Bih'ٛZV+W] +[R˴H{w.8GRC&fɥQur,D=I f{ #^?(IkIe}Aq'!/1$~~yn1-ExȊ?O1v~eu3{l?7 0]l֞n_җny>l>¸S:an:LQ*/FYyAP?W􁔟lKHku@"A^j|'579y}iqoug _$$֢imtܥ2 tu 6@MxXӑހBku>rCR>M/F).# QXqZs'P)L)sGd/BI@({O <.W|Nqfs/cc%'%赩XY;)]|v"T?;9ЈPPڏTflv.z?{g1f+WR3[em.ct< +4[sxg MVcKIJDΧQ쌢]3 7IQS~v}'ז}0z/o3><s^M'&L7{`q76lv螉Cap@fq+4w&o\ J !A.bbUqƳחb qp:C!7`T+{BqʅdC?sζ{T^}<6,&`CSdX Dk19MdZ-twW?ыwC]>W?V#Bg"| f뤱|t6~WPCw/ibPc|~"B +Rb~ QWZG=mOR3WPZ壂Dv '  Wh42gp/WΞ|Lsnd.H/G(\pB> n4[v0=z2'߬=sye9,"I9~ZN.Dy?G )woS(oI.Ņ( ĢM7e)Ie7o~=R*Ѵf|a—ơԺk:\* 5Y  (+K9~z`B + b!hJo6;{Re[Rxkz ~M̍VIsq:+5Rab z!Βr0f ]LL)a·ɶDgmPNYm??/;D,h. onhr8Ki6[PVrUW'(Q;( Ͽ䝡iok[p.Zi|v+HHZRFw9]qů@M0&!*|I1I/h 9}@H}\f/]a +O.: U3}\*6VN{N\ɌiVv+ LV=P*6{NWR07Φ~ܠ?-^_[NXJ /+GZeʘM oxvv%$&znvꛯޙXZ *wcXк$P4T,d~\an6YqhV'^}o_n)Vm}bug}EďDK$H'Eu$GI$;.ɛlQY2H\_=]LO_|޻G_^ڣXtwf'Nbie'6r 9J@HFP=6[:AD +;PrdYR|"A`RفFǧOf. ̗g+ꎘ]!'.aw +W"l@G$ 鷦]XɴOۻ6}i[+'o\Q>j1€QD&"tSiG5 2ف;^;ʬo>JK1׆r08w8kז$e6XG29{M*l |BD%t)B wvA=p( _qP<@hJjkXkm=gr!7 +6W.6ϿEOKu ! L!D- +endstream endobj 77 0 obj <>stream +WfQ;8>s#sDdWBEv_N?\!<*i+5֜kBk a2ꄅt%$AWYS Ar6~:*e*bFs[o67.ˣΥh7$%d\/8+tǔ:(-o_Sח" >t9\qg8 (1Y:vOr3Xuga|I! `oZ[ is1@G JaD8̶^gԵHG)Y>8Bg1!@B*D1g\8%eD,$)é.~q=m |_zy jiNZq-E19JUɗ=K3z]ɶ o~ TZe#!#KWpnvh{ht\kٳ''~FK"'[_};Bj*Q2 }4LX{RZ 3TH"\0)+i;Ͼ\s잔&Vxvmi}6\I ,OmCF7lnu)"$4IJRR+@a% DE4<4>={wUפdUkQˇ YT6k@CQ0SBp=Rl:$ ל'9KQjIoXMZnz/.HgP\{R~;%ǫ/+c`vLm!$q' ș狋C17!-\BN(Odg4#06/Z-W(}k)BPR>lїlw!NjV/rY/O}݋=\KIR!'_CJi /B$u n y΋-0I|_ +T" +DͅiTJ +EBoC9Si=x792:l<{nZimٶ/Ӻ'΁w,eSJM wð^$q<_6>~ Wדb)J[WZ}/wHRˏΤ*`Kt6ۭ$rRn=ɖ~|?4#Q\uS!vg_fG/7?_={QƐKkZ9)="E0D( qM[~m>E}Q5Z3."T|UrNkN>]% aa)_!jyrq2qqdO·AaTޤ38`jƝ7Q1XLaRq1YFhO &%?"F(Z +F01-|q*Z=Tyn+{Ti׳T`a#,R'u۝~a&2FCH&؜lZ*'ח9 aj= ^ *7gԶq}Em?s{`F!7RvJ0"tRpFpwa$L+ !TVW7?ţwJ#LkdwQurba.O¥3e!D\l6XSp$2BB]L׼\kJeGwvl[Φs={=ONN~vX-^å!0is֪S979jPrc1H^s%!d2rܐ} c¨br*xr+1G%-?@M(3zﰽrB,bi;'aF'ɗzYJ'9}֜%8}Tlެ\a|9RJ(C)yOC(L2hRu6.?>ViN)nk +g eE=(lu襱'rZCF2 ڼwP]qwOF0.q +VyŇzlRpJs8ݝ݋/~ͭFsW.o;aw>lo,\$.(NI`\ 򅙭PLzyr)Y+ofqgf1 #N\Ax%o6LSOެy{EcaB1Nlͦ_FqR/rzP:Riы>zy'Ś|E$19W +m0A|Ͽ 46t;J!Lns8?v\LL2%Hԃ8gB&VrdkLfkT1y] 0>Jń[>ҝTCt^.w3Օƽ__n?R*OV#TvI&0RsG?s%CI1c1>2q[k9 9˭(\܇J:*|}}UX}S\M y@ 4~-fb]!lb(+%rN/Jjoڃ϶ ?f(EF=>)?:BX]pP: I`70rÓNaFqzA˭ǝ(;;^~}`igRgJ}^Š3Nuɇ4|$4)r)p'%53o ZN勴ݯN꫗鳄L0 B96dl_l@nJ#l!`)ʵ#dƏ+ϛO6ߎ^.\姟|rLJRPF?|) 'QޙޔH+̦:=>v|쳵G>~r{w+o6A30jn\[BY \XHHF2_cA]h1*;fSCe:ӴˏO[/gF'+]<ރ/pA쮒SGe6f˻n3Rw ?yZho?y79a|1l4|fٯOu_dZ$(/h/Ҡ2|iRBp'q`@!?ʶwJ}W* q1W7VϭnA4<~IT654J'pή;.EB +im=z}o.`Ʈٿyy_|/㳯ݹTPcg/J+/:$]<<8%a\-ΌsT^&bkt4ؼL եLu&[|FrsVF]QR+Q҆>=|lwδL 3OÿL )VZL0K>t΍\J Y +!֍1H:#}4 }&%ͻ.>x~3:yv_w^3y/ڔVq|pWY.o)6d2٢3mx4wϦ'VVuw:mee('"U–X'IJӦ+RJmàռ|ymlnoZ).\V[{V+wR\iŷ""քšݽS]ZDkQHQN\8MODX0 %G#-!ץ2_&wKvdp׿Sc\y/a__|\Oʭ_iMPr8ci. zAJ'^H]*7\sɍ g'jTnQM; AFzk?^:7Feq+ a[&"*:I1OVοIuan3+㭇k-3Evr+quy< .9kڐ'ELpbhS)ZnyQ)#$as %I|jXL*A(#3R\-%:kURv7[<ҞPd;J#B< `O%)&S3 + +&@q +_%Yg~Z/>o|)] +F?!@y@`)>m[];u|+{{O[ɋyetzi\=BLn[(XMB7ߘ>2P\7[Gܼۗeqp<8_/?JM #۽?/?_Ϳ}͏~Fgh˵]gpot#z0-?P q$ڻꍝtǬZc=l_>eUe=h?}6N|Xd@Jju[CX,R'zixF`#ǴݎYhbxTPzZL%k ~)AL?6}1. +nb^BT&0*V6LvV\b*\ߟ4.2@#Äyc *MN.dAgw&$.>|>q+g+(e<.Ol>WdSʨr=C9p| sRqUB!UT7\ !A\%ĵ@D"VDHٜ}Ee2Kzy0>|a lsAsbv ziIE[p6<8#z[lՉS +cVO[ӳ\;oBvڣo߽OϿÓ/{ΓO~?~7<~a0 _M9{w9ĘGo?o\ea樽oOl_WN`;'ѥ`voS(ŸeuzNX*HIڨñ1*W⸷w~ m z"#I"JarFMFdjS؝38 LqrAd+VsP!^DL$WpEy Ĝ?fܖkKsubi6vںX\᝱5eI9wNpi31>gVTpI+#Roa/b+Hvq;v[ J6VRR1jZy\\9+SnWJޗ A Hbr`"JqBM(M+U02A(.t/),҄S7$ ʘ +L9n7VsXʵ۩쏎.wat lӢ 8Ko`U0vl$Eqx)@TV_|諕ό>}ݿw{hۃsgs/ak77omξ]?q9){0=i>w$AB@^n_~Uspm9ys9L)4 kN?~fھPQۏ}˓}~Y˜YATCmo?yrW߄P'7}?wWWA2A,^;6HfJ +XjMQRGT^{'퍇kof6 +]fYyR'%R z9b4XLZRQQvvm7+>o1;%)׍Be Nip:ڈ9`ZK5 hGP9ه&)èLikLqvG1LȒzEw.N^h][ѫSd UB$gss~<FH&VH>sv0bbVA8 - fW3;*w*qFQuEM+Ulr)XL <+:xSܷGJqxu z+rlkjn) k7AƎ;+?OR"T8#R.Jz]ﮟ/SwZ|Q]mR MK[GO6^C((Cfay SpS߾\[N-D$;ۇj?ӧ_/=1nu9TH Fbή^]޸P+^SiQ1?MDBJ@F`OO}f668g4aBhSZ ƙPOY-rM+|I2ZVk'CgkQeg,ֆ'/28R&<!cVb<뭵Gfm+NqDdhc$!l/(FQ\aHFaZQ!2Y2iaRU-MLCc ! Auw (_Dru)esڛVk=K&g(V):Ie l1b?.@ [ ;qT,%Ł>&1iD$h,g"yW<YX^NzNr gJ{Yb1-D,',k'U+ӺBfυZ[O'z/Cfi IK  6cH/rAҋYY3H_K2;#OFiZPpkY1v4)Fy]Vf0(S1TNRF ⸂6.U̐I\ӌً_>ʘLfz)xH!lU"i3J.cb6no5vRXf4uPWI&kV7STAiʒ7eŨ;ʡ|I3bVmTTtT7LX1Ɓ` Kd8Ā@` q(A(uٗTVLqT:I(Tрr蠔I([BhIQ9uO I\hɋ&p=bpH=Q&ݍY'YBȧ'dqށ\$ÞƂ'MERZkZIgBR|q,Y5 PR ue>Du!W!Vl! zއ\Űq3F*IJ&IW(鏳^9 K,#J4h +)FAEg|g]O Se:m Y .y*gZIJF@ %8`Jr$afQfD?L2]p''ũbCn @UY+4JZ8CٴYB .Q1IHz!R\ +>աB !Ơ9>ԫBv̐16%]Prv^\X@ju[xBx0JŒ/$wŒi0ILBQZ0?LaiZjjZ̮Sa@ru;8uyˉZrSnM9w0*aD""AgKUZc!D\?_1Lz˃:-Q!8'+XDI+([nBCi^7,+iTKN e-w~W|gWn,"IY25^<}ĄyogQc0֤$W3|aRU)Dpb%Q+p> 5q" +kQ"7Ej5 o{˱ eBrb#A" Lp3u* W7]QwFIs&lIXs?rPs8*>i 1_[)(VmbA0;(aϕ8L +J8)/ճYv'ߞP|*x&O#%wpn9& ]U +zYOa\|`ayw|ɓJbJ8.^ _rڠr4Ѭajv)[ (xJzEޜ ,cp I\ ;cJ7|VRxɛEUAPV -,8?뎥R HVXJj9]%H-WvFVJHjAbdrĬ .\pԪhYvB[Q{R 2bdBP85ޙ<9Wd$^LSd9Dt])@BH4HQ)QkݳӋFWmU4 Vbh]2Γ-M^=n_kUtj#\i!I8uk9[@JIqyO +F%iVDUq$NT)6lC4(䍒R*FKdRB&K(mRJs +,][%YT( +ct0l"GXAp%("BSpJp$"(Z~[:,z^zW +ݡ|ÙP0|^+_q9ʦe~pqZIcRJtPVA0C1ptX5js*^;>XriT|WrhԲRf$ۇ"b<|*ڸkg^n`o\y+~jY)!;*Z$kD4cH^ײZAusmXXwo^;]g3W6M3e<<=@))E@]i5J"H,Q.fKi-3OAúHcpV xJqoϯ/o>|Ki`N۱idA.Vîm7Wjp>?6xx?Iv-8C) lѣpuEy|ދ~vKエ=}}>?G_{sͦ#Q.fA2\ˋkh9T—kt+ORA+/W{ƒeEPqjً>M–dƺ4)ql_7߾OUk<>z뒙! ?yyIyfO|繝w?z_?|O>zd#0ow1D<:ſڍՏvˏ~qou?y>o\oӏڣÓj5cl6fdaXCRpwk/^m={w~w/ͧ?W<_~ۏ/t\:7włƱQUS=W72/}z7~E*8^H0߽W_ɗoO0/w.TRİghSHM'VKؕ!wC7w.o{|+6K8˱!O(~_[~Zr: JL,av<_~po_9ۗɣO9w˯򻏟{.34779\ ;[[h/iϭG??}ʷ_~uѫdzݨDP2gTbr||ioU~޸惍{uz\ ;R{O y^H/o-8+cūo̽uxR]LWX҇Q>O)%R.Z i2+y]*z;}Vywmu0.A)Y*$jmr.{Z*lRN.Ͳ*xg?R-%f_80;2MefsRt׫7|率úJɲR,b\9Fp, DZ)fϙ&3̋J"J~JŦ/ЉbThO~+g h( LX*K Q_iw.KU%B"25u^r"# =H8؜#F̽!AcZ8k!pAȀ'đB:B&cl5nh]6A)#PiJ3't*PP1,ʢ F/=9?b&L4JEMRh$,a83tBJ&9sa5HʹWƧ\Og +V'k[Q Yrv!0gdWȯ "QZ.5O(=Q䦌0sE0=;ND4hIJ7|AU|PZ Ia&#-9Z2! 4}jaeI8BKj>2@^L-(̺PI̘1zA67^Ӝȏ)xySmfu?E(cVDŽXgZyǬ(ݙp);~Ɔ⩅ (meu(fWatm>S)\jY-'/bK)!.^*LVcܢ +#1)O~r`*=i[˹Kw+'1հXkau;Q)&0(~&GYKjvyHf1MvLVTt1?em:eX&ܸ# 4^3K*cvB\F-[{ZV,Q%SC{%:BvT+{dZleGX*xElY1:|3=crK!UiƍfmxXZz/(#rWR:3j2Q iM\mxI?܃9ݨA:T|FewlvTS2ʧnƅq"&pJUBm +BPV)ɣ.)vO!#Z8шu.=Vh Z{.c_(K}:.Uvs6bb*\X2@ EDiF=2 1/"fO DËi z5JT.%{ڥŀD}\&x/Z@MvT,_pa~&ӚTzD1mGP + 0$U&Z:4mlRS9hx}!!>3cgD󰓕{ȦZۍ=q;н'?z҆c. U\m-zY{P&5iNC1&:9I@Bbbq/ FZ}j1-2iuCl+~$[rqՁ'axH,n .Q|C'N`3z>FzYj1I[=(QRЩZUH$o1xlT-l*{wth&Ȓfw%tLj:]{.9r Z<~~o|*WX +g֢ +ybvD$l +t:缬-G:sJu_oi6[Xޥsg' +K7I&TjIȯH-2f&7əݨw +ԕtf ϬF#4lHE7e+׏՝/0}E] \HhxpmB;89Q2^.l< vT3@Ҕy:WҮ- XOc]S^~6!_37??`p͍#R~:@M7Z'oA6Ja+D|TƐɬ憷{J8-.c6ekry4ڱd;^In&b1"DFdz=€WVƧ +^´.]lZ=}-sRafmPQK_^a|dXoV6{AΚ@/E5ÉIVluPz8靠XѭxeJxiYPCZ Y9z~ж!Pb4pr3=WL'vwۯ|pO_ak>&'XDʎ.Sds΍ƣ׳Ûh\jlNh'iPi^~~6"V 3]A[C&cPTjs:LG=<~5 WJ;JyϯZlP;M)ghB~Ym3Kk~A0k}FMi疮{S2Z扅YWZ~+5|WӜG>:㣳Mre`ƻ/ +fLքtW)Kk՛Z{JֳK>0фc6)TR\ϭ<[zč|%֌[o>Dq1:.+1qٍ덕ϯBFjPԞT!j5֯fC&YEbKt_ A>)a~zpct+qs'507 +գMxI-I5Rnl?* B66_ڈG8d}D: UZS76$tz1=$>9&*X()kdySl*KCBS[Җ>^&hԬ7;RqNV!V"jV׭ީeNu *D,&j2 6ͣbi5 kVkvҍ{*7k7 fշvouK/w_̎f ^ѦbZI&ZVu; +|./vAvƝwzKcfSn\抻Zjnt0Z>vknG6Ihi'wZ#jlK䂖䲠͝z}iKDmH Bz( כ5a oןK n0{ol]k\M6meגx~{;;2YRWbo[w/H exT@)5/Ƭ@I6Q]rˍ˯hFDʬ_a B{cb1#*pŬs'QZGϻG ! .S0}a`rn,' #"2a%X#TJ)J)5K]HpL69Uȏ0q8^Z&Jե#/ן&R]?kUn" ť;7[V7"vB;ZjXE'KVmMfSau6$Wv]>J//_3^]2AU=V/mNjxWmK.TBX2K;^Lw!a1JZ|˅etcTSͭxqy!Y8 r)g8Y&;fTFatmQjs+?yTٸ܈ In%&kDv~x\F'HTa!h](o‰V/z)`$DIAVno^~`dn>1"CXiɹTKꡱ8+|~="7 vd[;T&;jk#)>{8eSëju'dW_:(MPez_כRn$gUj>.bZϬR$ -\e?_%[t;{2lUڭXY|۸ +sZ+#~,Ʒ/>wf6tֆ9BDj%˻Fy|s|nRtk9 1_NTma)'!˨n +WAIj]k rLL.BLIUެl=Zz~FjE.-/$n*7BXct%ۦ U\X +5+WFLn*S*y(Z,^תҊg-eB7O^[N,3H):E=Q|nS(,"q/UWBlG Z\[9`ӐjOv %P?g$e[ ݨl1{6 +n2FZč&= qΊ +PRJ+\ +昘4Ώ@ˎ*)CȎe@Ǖ[љIՂ|T/ rEnFEҕxeS( +F~. /#D-ҩC=a}*Ƞ~nb<6pNt\# "Qer|T2Tf B6CbM9ݗ29!fwR>:E+B^g*WT)GFX[1FH4laQjiYtÖmHlPȍfO=RIBH€>AR>;\A}~u8dC24#" e]FW-o1 ^^ +)?zH=ȗh2KTfޟC2 \Ę?aRqt + +O +z_aiiz (ݹTY.H_&ٹجGz^CκQ+[|z驙EčppU{C\J +^"ųx!g'*hCቆ ʆV3MTdf9#%5pz~|KȭDKeLRWXcLmxY}oW0uW,!Tm,HȀvIգ'¨6ՠCbj^?սRXЂ\k3!b1b&g-ÇģRLMzLsW0g}grEXF?jqU+Pz hSkUd2g|ƅ#&ZP.DF?Jqs s& "h-7D;.97ernz/Ls n<.VϰJA\rVxRV̀vA+=Gtf V#j/$U\ +Sΰdse& 6\MVKkۨY C-%apA$]qπѫ=JZf Q+7< 䖓k-Tm4|чŃN}S][\c;Ч4EP&H耏,< mĥzvt33[hx +Dx_]+Aas&5Ovt8ܽrD,%eTg=tq1ťW!_g(;Y6-*<2E&at& ibGe#Zcl=F婅HK֥_-*@0 *5&' HŰ +B)*P) 3&pg]n3\Y/S0AmRkE;MgydNFP&ke1%ct' hz?QhQbX2d1lzI*VKӏ Ҫ+k<\qK8dѫD 8rK9Vo xZ_YN~B@"q)ݣ~CK.+N;C,79+#tv/FLפz,QU7iQBP>sa1BE57\X 7 -9O-*V|X6bTd1?,JVC+Bi9Y/;e yr{a*m>[@tG =;YuG%@ :g}s!K4 > >bL )a@0LpxZn>wg'7'JAx+1VW(A00%ÔEOz2ZF*] ťzabW;s]'j L:&<#Ma>i18R.ąDӍ(VC\rVDȹbZLiI(UKw:Q;ѶEe*5ʯn=?ErxK!jVcbj\>rR}R򠊚wYM;"-ą=\(#5ŭN +ˠ -RˀnT4bn+Y/%&rh]LpDP!v4ƚoaT6kɋx,DuY ,BiFZ m/kL7Q6Qra39 dfq{p`E+Z}<+$ȌH:I.[ g"/0GHdm|ťc|n}>$4ad޵d!T*k6@BZ:$cXhBpcr#R \yZ^3ި(X cJ)ϭKW%Z>BrC 'iB +y65ɞbQ*JC<9piWY;jg!Pb.TTG0[S7H}7OIkv>}esv<&3U6!`F}7?V[Xe' ` Yu6٘vH|1("x VD2V +*[֛63}P]Pb~$꩕57eqQϕ =&tJbk:,3N:\DMb@^D^zrO΄.Dx +Jb%Px5t3*ا C)wDxڎ|nt8BtUܨ2XEUzm+? K'Rq(1d uT||]bNIDx$efmtzwMH#| RQct:ۏORs1IR5< o!rӇ' -%7p`Iِ]KOP1wEjmQ\1C}"ՐPr&" /0s!9g| Ћ9 +ˇݗ!J}ևI[ƦWeɵ+R($Tj٣Si'qގA'%jXb sE"OL?*o`r+*|"+u7ß< 9?.duW,{q˃ă1sLȚuUw0Jg9\RO;1дck-K7Œ1e=1 kHrIl08mZ@Z)y5T|| ?5rs|L/ι!<1 Oa.C ΨZ RuNJKje6Za. @y7CD |%>Ch-.B#h41tN4I'7!PCB`F,^Q+d{:,OKH֭5Dm庛E 3~OtHcěAlI\NT=#BZ:w!$GHAQڴ ΉAnB,oMGڅJ[3Ad>t{TbZ'"7ӭDy[A" q,"!G Q 짲S6trV~բrIⶈL\͹cժ1hB iH r%+ vD>,z҉QXF@d?09{8'̜ Ќ1u#3^T/[,^\sHb&D!\.D ng\9h\t3؂'40C3LȊ c|+}|-ƗdwJc@& a-\.dzKQ.=YWIN IZm𩡜_f6j+<4ipaΊE\OftW[|nvH(n9PP[.*4YѫL-1=Z Jn&HUDe0Ab>`Q/hc +gg(/,XQـ2Jv\DH K"JU{y2`PE pf άɾ9 .?eyqKʾ\l=#֡$H!~MTDI6QtŠpoJ+Z·B3)ȃ.sE`xJ_At /KA Sz,9/y=7B((|K,i6㤜VV~-Ϻb =:M&AܔF_@t:@eIlL)WH&is~A1́$l3=e,ysvt씚x=95xb:|v y [qE`A҄^PWaڜ+h@jKULrA$`t"=ƒGUC4\Wn]k"l\z1$@mCR+B6!.GOj"J+b/0 A62`܈w *7& ·=aRʶD'\jAEڤ`tZ)yk'"00@z.^pAVⅵ emz:(TT>(Vlq/,Fdh!O[KH|7Ղń'B d- @{RmmϞ_X@./]3P$g|k"~N`U#l/p1j2Di`^j@,섅 +"Bln6 <1>gaxMDBT*1SNbB!I(? rT5H2نBnI BKY e .{E\AycjƩ@n>`͂Q!U T('_> F5Q;bP|jaau7>=)ZH(B_D3NԆ$B\ b>Z 'O2l?e@|" &mpi7N7<$"5D˯z/C<]QYLVn\9-FPz a a%LRn4a@'[5Wu>h1jȃ(аs Ayѥҥ&x1Շs>vB]pRg ekqO<:L0`R0^֪{nf/Yڃbv[3>Oh/{gܬ3pN T(:CsE'U'#r;( 9$2:Z(aX?*s\'^;r"@S2^a$Q<dsAAX3].|; UJto4#lRzii{<(Eh˃Jb0jIzGAx򬋈iR)DP6&Aωݰ"bTB_0feVrFmt\y%.i vj&Ќ>:E홐o8@(*.pxHiwCZ,W)\ T0eL~xZ~H@χd)a2ޘ,WN6+.x){MC/S &=r)[ 8br;"uLGqEOA$ &m=xe޷'g_ĩ2[HV.}4^v31HOk(\} U)'f݌-0nѤLyp+&M; 4^=Je29 *Ջ! +P;`>4nG K1^?m$]Q5HAB&RVgrozW*rn҆Qpr 95ZaOh]u +aiM#t +6cIhmdW=13dz'gJ!!9h"xiϮ*4ј܁f2s^WJy?,\U.A ^j< ʯV.q$e 7U+!e{FǸ֥GҤ*եkDb  !*fA%&D(nMŹڑϻ- gmnf;#̖}<YH#O^t=5텲 Y(Q8[}[is<BЍL@멙3aQۧn-C79clfYzf|{^;z=G6@P̴-T\@gLT/@G:,;Wē:Č0{Twҍ](bA(@\="4| 1=HZ.6 +pdPkCyP +g4a&ZGB5gL E|f#Q='>5O|S4b141니4PB}sYmeO~ 7d?ٺ\]OHac DI|T.}OϺ0B+ Xj.&&jD5@ +kx)'ܤKAmQPPR~C,Ĭ-ApM 4$x&|х#vbAI&3lQsUstGEф0BP\뻃&;^0@A 5H,`%Xg^*sʻv,ѵԀ +sNVRnQ1lHzyt0G幈eTi·e([BqO.Bhƍc +^Ԅ ;~ Y7 Rw\'DQ!3,6=:n2 \4㞔ӹ b;zsv +ۋ%O0pX.-Dg)!щsKz N٨#O hR ar7DA|ҧP? [R9"Y;rэIa_jkZ[r`I Sj0ӻ^rsa:",m7+ә@|9GTp7'ay J2@2h)' e%Ҥ6T>ܿgzR4 5 w+mRV5ެ7,K{ON}7ss}wws_ 3"̪k3Ѡ$H$ zՏEuKy bf=-f)D`lMei GJDuTwjOH, X\0:?CV-9U;0ZW-v7!VRJS-;oWRi;NsY=*Y] ȅNuJҙjsF,8#$JK^Zixlg;i؝=zDsBΐ bُKZE)M@}3Q8mB`B%J12œL@iO6NRR(ŝ:}&ᴔdLm`o ru@.n$Coew'%4"D^X 1 &((]0syjf[li|ZvJjq{ (,쩵#@%J>,OˣG #G5C<*TX7ݡVm8G(L˳'/7%ȉ0N3 p8gjqI;=ȸ` l/)ڑR>sК;Uv1nK(Kg9)f;V4_}?.3F^6)k$=iAl+i`wa Y?RJKS.mxI~?~DեݿR3Ce0n$KE+W10J#Pi.Br wx4{nUwYOkm\dF|JiPI/L/'2g@驠Z`R'Ɩ#|6ZGF\.0;|>;Mh(X[vNXPx0m1BA!#xiͧ^}`q;Ϫb[-+RbF2C&{ (6.y&f7j}!atIW; Jޭ_]u&f >r~zo#-6c)ٌ T2ZGeKSr}ě\lXX/2apPЭTv+,ۈ̘MHΝB*w04 դIuƞ3Ύ\܅" eLO2K%k~-}^B!Sz e]ύD +/5V9WDB~i&U)D-RP!u{ 6foܔ{i15(+"C׺=a8ǘ-*fʊ0ލ7V4mAy2!*SW[G  PJzРk P<*Ba,ͳw#Hpڀ@Uvr@8[~5}6&ǸRTE!z#&@wQF +i 7&գT.Jqkux;e3GisC04uml]+ xSݞSYe[יI4AE鬖廧uLnwzeo ?ţf5q*3o.w-  ݌K7)?n䊅[XG X(!Ѭ3 ڦJx4ssr)ֵZÓ/v&׿e%XU06ѷ;P̸ؿdL+j%fa"&s HZ|a]-UcB%)70cHZSTj%索'rV{W\qm}jMꦭvD)lKzB%*3.ז_Y퇘\ ;k+< M<|TG[&K{pњ1&}qJV";x!^Icl~>qT; +@;AŔwzztu}T(~."W kЬxj裃}TG/5^G_"Ss7c rBB}gɬl&K~d"}=>!#Gś?O0W0m>L+G |Vj1&sޠ5r=%6sH;cBocbO+ iKQ֍26\ŕZuY.d{Zy.gLvB9creS? P+;JKbrs7[gKsId=۸\ T-:gDfJdILy/?l$#~zDžŅ6qTKJXO)-T>-9 +ElrBWYʤRs#Œ?a&U +~u)u3& f$mOP-^<6L.ŗp5!mnR(ދP? PٓݙL\A "F~@eP%.By#4R\a;%0 2 [!aܤ\'X +cj7! qJFتS8çvt1!?_=a!X fh0.i69|/'A!2!3GfW "ꇝLJXǭ\ܵ[3J2TVzLvU")V1a\ +RU0Gz]=DX$Z\ȧV;lQyP +^S< <3K{њ?s:oӝ\ T [ejJFm@eop\ 3d?٦ݘL)}LJDol +Y(BbRFI+dgňL !o '3bͮ/&@Qa7b\tPtf3p VQ*GMo9䫸Ԟ_٭ڸ&} `Wq0( ' "hW܎8'` +8|)Ïe1‚AR(aB!#LQ=x.BNn`g}ܓ[qjPWyzR \M)6mMW#f"JлIM*M+Q[auD,OWc8De?#|jAN4D&Bhs,䖌 M\ma1vXC^?k;ezWKR aB\kqaӥ܎f.2o U``&mKqI5X/&VJUנ>ه|aO[)m+eJ~}|6 +8rb"\3ØHʛq1R=7vJaȽRblA*HgLN$Sm(EiMҽ£ BaGi!NeBka6PT.CaTV[ViP[)-~TTi^;vB܌kA|=R9rxqQJ|.%_IH5F#Fe1E9SFN*I8'} %v()Sr8{,n೯nRy"3`sPlGN"׿lokhG6숥t,zRab +@aHu1;;G*GAƵV=t3wT*XOZi.6qQ:2c);a.ڄ&m;( R@[ڽ0G |V*&rN~J1ʺ{RP,1IJC' ZZaK 60K %G pVR݈ + &V΅fJ\o6b?@9(Wok$Yn-oa*LVpw(sVZvhPːάG͸Wja$bQ@AjF \5RbqP*$1UD䵤P)Sl3KA` rwWӺqŪ\}i7 ZRt¤+dՎ2.oMSu B:F:JiL()MRW +K Lv,V@\E[cGײzb:\f(ZrROB[i4βBqa/_á)(v@Td@[Fz{8cyFnZ ,vJNA@}l{B:I5o_`jOZq"VJq&лQ)F)h30 +̃R ĭ̈́$cd֟#/.f`"_v#8"Xc0Րe!P ; OF)W;&vRz.l'T +1u 0A֣[݆G *$8w&WNjB 0f.iJ+CLqsD6x^pJaiEX7Lg|>k63fy6 Ӱp|\oPJK.z a:t,iMȘ({?L}8xf^hl%eP ` 0 3"0q> J'~Rj9ɁN(`fr3Sxk+fg;YPކB J<`# B(2FL$d6Qn,FBp p盈/ʥji'Y˛LRZ87L$X8Nwe)j41))d m>;0Ba%&A'2wڱY?d3anrJ*r͂#(;QasTҫZȫ".OgVqn{2نR 6ڹP=rN͇,R o5K!a<4>\go!lsbYۤf(ø PsO9Hvs"zNϴPuB;i`-Y(B_&JR +–cT>P09i46"CSP 31Al%wkvDf?$½mt;΁Jyh@~{Xkd(NM + ՒQNZ(PƄ +Ɨb$,Gv+%X[AybR?myN-\ϟf~LJt4{5%;Y\tp4 {JK̍K7Lnh!+-r:7ATO5P3.?H>˔wN\k>A >JQ- U]G*`A˹\Xbz6o!Ɣ\vkM찷"@j?NRf@X&i ̠{/nD@JL|Pyc= +J, ޞ7 rOOAx d-u\.:$Ш'aL %۷ksb%Kݼ-Z3 c(\(18:y+JAv@*'T @Gb^uXʸImA m( ~-D{z|Bn*/cN +8=Q) Wjbvg/HߌK B0ŊUUO M00A28_A(1{ϒVjXJ rbiȈRZ9 23}`s2՜![BvC$~{zg6{)w +}QIc*\&^.I} 4_I-/C 8cmT jˍ>e~T[ΔV -pM)+7Az|E܃( +`lSl1ŕBi,ϟ~[1: s/ & +gR,364TBrH/(C`La B:`ՆdPK3`5N[h1v}1vB'`J'$$);]"/0 "Dfl#ʽP3Fմ!64a""7"LPjRAK Qq_ J8qyEovc0Gz'ĚQJ(@QfGȍi Z/%hZW ^V{3mm!& 'y`[ mLI+UlA #vKbvAOBfjӻD*>oM(4Tt>%pcQV{яQ +8^ۘҌ1y\nȹ0H(PnR5hIAXC&i 1cQ8K)P5ď~ +m଎?%c + 4f + aȭl~| b'/0d@uXsj]( %ZqtY 20´S _ 0Zi'żwޘY(3/`ӭ> SuUJk +HpTm@T''~6Hȑ0Ŵ2` +`A*jZo3!F2NY~4LmB-n$d_\ l$յ0DtɥU&NyJ|c7R2^b;[ c;%8cJ;i˻T9?; ѻ !L[) $V+ :?6{gZ3J["5@hUz\fiُq%Bn(݈I p.@`84uJma'b=)zW-ehc=ƀPP ))׿s]VcB3St1X3RǥF!V,g^N)F &mp^.VG`j#LoDy( <%K-J\b+E=ef:WQ ~q8[31"[ԷQA/)@D@[1?qQNj t. w#Q. ?BZ6mqnIP3!f+.{ gId"= SSR8$vdeaR O>ew>1:9CC\2 mR"H8Idb~0|4}HSsOB(M` "ԡ7@'qJ~ܹ)O"PLtƃ3JJX:$ѢL>Lxׅ~g(fɨ픂$_.RAwd7} )f@&YRٌR[Q>FDT&i܈3V + 5haPI)J'x2YWf.`Jco6>gN#By7D`CP?YDDI>SdbvGeS1.̅,ΕJV0Pmbic#? , PE5 |D50Ԉڈ19/Y AyPHNbi 77q]0!K uUB5LZ`~q%X9*&L_Rq'}C3c d1 +vP*ֻۘ  FҏA܆nHJIa#@=b6ck1* 2Rb Je)Ԧ!'~l#JsJ"l$qL;c!-ؠ%7=KС * V\3oO>qe%JQxj+in#Vե s!Z}d 5ۜف݌ n:?RmX0䏱 o@ŁZ3nx-E + yW.H&Εiu HٻSV !%0dnj3L@:}4 S?f($4]BM], љ0(ygDŽ]dPȎ1CJo smvjs+mlA3;;5 +>6Z;@dĕJ( @ob~MBhm\ r S:cALAV/W|vI%h 4TӞ߈q&xX 4Q*‰ΞHlgdRn,䧟DPi.Ft%JWRwIt r?@@dpB bJ5(WVc|́^st({ף0z'^]b$u2J܊Җw*BCȞ1r0>UGp%~:Q&(L@Jc| +/,|nf6J)au̐y~`u3GMTp\8h0a}֜1[rn=b!@?ikav0*Iȡ\ZҙL#RbTbqc0kfl/!iHURYx *Ykv=zPr1* nzzeZ4v}p1LC:3 8LyjWwF+*Ǘ! +H-ɂPc)!GUQ|tT<r x4j)pC>-qŹ8;Bi*Ӗ˓QaD,X- ;/ SPBn 3Tc8QqpX=JKuFyuN3 :dwW\Le.;6{z}W,j >l +=}atC~(ƝOY+Pj_XjDVU*q>s˳n7Ƒ2=՛{Lח|3?b ^i6ZCcw2=Lrvg4 ãQs̲Rv.PL PRqju}=h@}&rZkU}qS]P1@ 8t?fĘ T0Ty=~y{وqQ@@}6;6M~|-Uvt"4L uDL(?t88#)V3<ԃwu`Ry.TVrmlfS2VLwqPK jtXדdV8|49jre~xŒˍڎQ_ie^`J@х7zmW)O !j}&ʾXu&_*=?뙭SA.1!#AE25l8{靱)nBD+ (U/2'#>{X=OKx@86۴;Pj+[>Œ+0echK k~H>^sYq~WNk5:}5>{Nm.;;|q*Vzm%r4Q&RiG(,ykueycǙ^VkU~xVܹqR]TQЫv@oǃ=-?NR;'zsݻĴVJ$Rss .;ǟUV/5 Q1܎yWk%iuQV "?i.o}kwNi~]\xO^e Nר/Ai^;grXi_Q"5x/K}{wx5>}472;gFWfݓw(峘^&R `p{Zyɂr)L])OEgK&Ӄ#H%VtΡ<36; 6` =OcggUh]}\> w.hr `hki>on~YY<9~3p*am_/W_dZ+2/Ϯwq8xHrBew{ĨBm-EL|S_,OF@~Q)_`z'(g@NgO+;/xq[^v܏v}5>2ӹ2JOc`_~rOY7v6?}u;S]M~œϟzWWcuδ%;l|7{_TO_P{w_^~)$W螹'ɣLw|7v!ڝlL2A 4OH)6!I{}YV]dz'œz>8zy~h)'pw˯{G6ޔ/ţJ JJ}x6{ǟ"zK({fL deeq]<TY?ϐT-G ٣`o~~o'L/\>Ϡg?9}LOJ:Ⲿr蛓라[]5C ^W7G/8Gv^]}%'jbsV /=x7_C˳g] CXhPa=2 X`F8z?4A +,%:7:|1{s! +V)ʳgkǻޛ/_I^ix4:}?_?gN?iw,.?wm}xYf_kGg厮ZnϠd3Ug>?!%?̰iylVK˛_ѩɅiyz3`nҢk֖Y{/3ΎYiR4B2>_| +j?HiFuZn.Ug˿>z+Ҩ7wo +o*{b7AvpnuӇk˧W:>{g'O_/^f~ųן@o6w_vnZ{/GtN>g}+.ׯwϵ~guovx_(9/rafs1x(XWG?ѳ_VoʳFqoc|()s_>9cu2dӿNﲾz] x֪VeY>=]Rjxٓ28/ WOoxU&;A8zCP̓.6xxS {k~߮~ i>`?qMy`38.-n{o^Z]ePR|V,΄ +<GjiJiNl "yP>rGfyԟ_>YaP,MT.ֱ8a8BmuScj:ؿo?A{89r]ȵ-_mLA& @򾪻{f5V"EѓGH^EQv4vf#6v/z#"ȼ}̼vQᦍ CP DI>ӾdZ٨WHNلY9Ξ5pj<ܸҹ&︕!&2Pj[\b/96afjM$$ m +)eR 9*T# #,kו+@v*|v􆘨Mh>6v3sˋWԼG-)ͣwi+ +J"rWHLwn.E&fX,3 W&&l2}^FŲX@ʽC5O+Dޕ\L}g`dDfsRyp+Pv'2ys@`ވ)@k5S_ZԹGLx$'ڥ@iVVjEMXviPȄPQPAlf=b +bC\h/':Jur8P0?W(/ U nHqL"B`Fsg;vFtY>zWC-Ft.v S =0eѹ(`-eG19"Y4feh7INjҵzscT->DI%Nnb&'eA%`ϔ#K]va8xkͦ'-ЄaQ_eL6x85c2X;3 HTw/OoeS!;4q4pA'?qkf̆+N*2a8cRHE>1C+SZɅx V :C2eX̃6gOW. C4",Xk5^U%7,,Jk~7G" 7bt%HqMk%T~Sأ{ +UPR"^lVvN>w'y;O[?Ňק_?OfaJqD⃨H,NjYWf7vO_xl\ą{鵷{&Thbl0u[k7O;yk?q/CW<ӏ?|wzi2MuJ3JySY/o֏.pc>_ώ]Uo)#&n*4i !^ofڜRFs WO[O>.z:{i:V1@W}BPR.>ULV|#Yi:Kcn|ʏ~qc<*d]4yyq,1CɺȈ:[BW)7\ۯw9{#}g^yG{A\> 1Z 9jfVs9y7N^;_~/Ƌ3uаw@b.RIjd s+! l4i.:{龍wȽ?vJyTfzCZVsG;Շ{7~}?O>w/_O~  aEWy)e3GN_=uy~/~/_z33,gy.*g޼ǟy^;w{zݏ?3Ͽ~{g @ +p:WiϮmgy7_x7~>G|#Ͼ{hq(LF ;: Cu?}^~?Gͧ_|?;;׀9$bAHwDZY9~ny퟽{W}l?{KSߘ SͰaZ: [.?ȕ֋췟/>O|ϟywm ƆZa`I2on9~/~ɏw>}O=D3aП #&)k ryzq+Ko'|_?k?'^GXb5r3.]z|o{/WfW7#f q!G| +AKI[u֣7o?_/?O~_w^ uӫr5Z*Z܍tyzv}qmkmsʥK'|g_`:~?>⋷~nMR JɒRBbcz~Љ[No|+o>?og?>쳏?+gZKR!&g &1!YMՍn=8{??/~/s/z2|PhH6d\S=Գ/+o|__>~//^z~*ZbFi- Lm1YnSO3}g᧟~|/ѻO|3kޅjH!ko?'>_\%1v@{1Y9u?_x_?}矿_>虗^>qn Lֶ1^trF2oZi,/]z;qdf%^31:+E8ESJ]owV66{#'}|̵^.%d +.\(E}-l\X<MJҩ3's~GO3Y(Άr^ߎ?yΙlt;ӏ?oK/<カu؜ぢ}n*hFf539pׯ˯֫~Wz/sǶ6ˍfTsb +AthE/%"$+rkaa~gޛ?/'O>虋9P a;brj=n$iKO<W]~_~<3O땗_;vb'b]pHǫY7LɕK<.]Ogxݗn?xju +3|uqh-MŒŵWk+=䓷sϽ~/ߵ.VQ_k-䶸r BVОl]$G7!x7.ټ hBhNPS6lq{a&+Y= z"CvB#5&r!~t,FYE/$GSl[=5!Nc3x7e# $"†\,)h"NjPáHZoY^ ]pq>9'6b9N)L@st2*jPY\^ +Lj"8H AlҁS&d9G5s3Ox1]|l:ިVtmUՍ0@GL,u&Ct8 % $'ۜ^hQtޜkfi G| E:yЈZ1xEJ.1"emHjJd˵St fsŀ&9^v("R{t'LƸ+ɰEYA#h*EP%p J.*ax$d=#aP2q 0eRVLVT?g|z6\ҺF5.P'uо!q-2f$,^Im:׸?f`B$7ŹxߟZ4zE sѺKܼֈه5n7̔a_xxjst.eh ̈"RRcRnE@h]J Q \tb+%;o0Mpgp/I >  GIALfPIEtDW R[ؼ1ׁ,ED(ؔN"{]LN7gGe\*bARjEGkCz3xy#MBzMiz:ȰqẔ18arτ˽wmâH[JLbRH@=~7¥rS]A D I0f &(e)l%&$#j=:Z?C(eK"s؟9(7eu?H}I s +R`Q`ƍĸozO~nxPLD&2ww{'\`"tvrϰ~Ҍ7]\`X5eb!+fp +Y.;KN6jsW/=n#* 9)9.R~QR*}s:nAutebqXI׎ARq!T 7#Dtƃ=_Y<RMpH$f sfD z:_d#]6>pC; ,ם=fLu._s\UV 1 *~k,T)=  yxWBll(oAA _ĕNRVLq1/AļS&Ԅia6 拉Rsgm̐ 1zVX2 +Ħ`& dzmĺw=f&͐ qERԨxyp1(sR$:0 +Z;x_2k=fHr ̤ + <:i5_\F`*N8ta-4i"pKbF:nD7NI3vpu`e^&Ǫ%`(@A/VH0ɈJ(U1A IF]VD.cAX8#Jŧe ީ9I52]7v xI;">23r tDfdu(XۂĂV_|kgC~&bTJn=RA*m 5._ Ģ\:]sfBc"[Aw%2ABwՕSW-]й<^#]&1/31@Nv" +5vjGIyi|fVTHԀZ U(^I jFD&”j =ddd=iu΂ReT,!Ir` YtI*TJ ZwX`Dx`6 j:0i'9ܟF/L@ dz^1&zX?ڂvI[8J87tr"ji0HY'4R2x<0nYI#ePDHJ95o\?aLo(N+ I.},Ҡ_/pڕϔN86xnPFL=a# v`/ )!W+kJiÆyOwARUDΥzznzxf}3,i(|б9S= +CzDL/fsgPLťbBk!2k7Q$b鬋s$6B}ӡ|B`Jɔt)] W9p RpMgLڀϝ/]B)Pe-:m L)!gƥ_mmΝn&jD '3bld՝M1Rӡʒ J';͍ 'yvㅅӨR'*;|ƐO..˘QKk7xpZry*\t'3fӺ"uT.H6w |dpv.;pG[6R5!|z)=nEVxRsmno:MBDa \|o_ +~{jٙszOs=4j%5K:`t^JqlMϝm ?{].:qO*Vss69W !mZRmQ҈T,yVi؀V +nE\;0"|~TkU;j{ԴA;\ DJZPQunqOX3x~P0I>ǪL0!~3ViBi +O +zYȥgme' p)X T(8a(SN`Q +Jq].o7lBfL&*kfZ+'nn~ӅOs3eEjO=v7J[9;W'ύ6\xOk<; "YI`!lke &Rw1+.SȁЊVNg'g"-͠2cEHWYtaX,@b~41KJex]Nc@Vdt `a=19"|u8dX?ߢc}&63aG{٘ ؈;ןٽY^e Xh0hsB`5DMۉ9b=cvT }`=#+ҶTVJn*mETFmuyD ka=w_]~m5.vj=IEFx׀HR$ vq22:TqaB pe4MW̞ Rvwn1`ڼz=9QYXZDF&P!cC/M| +MGj`i?(&EEmv XtB0B)"NoNdgGՅL'N~1I7HkG ++#FlHcRБi_d ~/! "1XX8&XX:t/ѡ: +O'Zoln]3lgBdۯCm%a@ΊG̨`S.W'Pw򨘷b&48bdCIF5E{'cE/iVGi8|Mb峋p A`36_z璃+SwH14^+*+ԃtr 6D䠞!!{vN +Q2,؏k0fT8fV،Tقż=/:s&No;cԈL"#T"u&Zlk8&jKgkkLtĂjM v +/2V%;g*Kw͟AyIc- SNZ[8f3\(QnZ*BXyu}ëgo绩飔\9~ދ>)9+ X˅\Lcӗk?!tM01Qݓ&mbA \haSI1,/yWJTjcLs pQb$Cz܄@B .")[ Vsݞ޺+Uu76B"uLnI+33,̼k9,BցJu>Z]Z+5{-]Xd#!OBHHvƳԨaׄtr |M,w +q~8h7a#>͵Kk03S6TJtE'z +Wp3n*(-p <t`vCǞQ qY?=ə=B< 0'#\j 0H< [3ml!&f-jt1v) %p3`CC?0X0dp3Ï[|zPaԜ!$@2s3Z߸̻X a66X">VR J  L/|!2}Tox>6-ec=t[WYPN|gqfD72zʸTL9N94NxNu/ӻX#pzh$PyiF[;"QZ +G8ȦDm3 L ݼIr7rH&S˱KOn^|tMz]x 4) db}:X|L tjAcV)r6.4@# BB>4P#B "X {Z0+#~P9oDV疬X岀X^3crN[-QY +unܻ.k*j;̯^AEF̈M{$!W`>CɃg)1+̺:Bz槜8)9iA3aNh'` +3O~]]:+y)?'3ǓqVqj U}*i{ټܡc|sߘuL4#RwrnAFEdWCpe4XлdGsDavx9O`6T7X; HA.>=xIO:[ՙ#Db.B5:;,kGR ӡ) 0.}qR$]9uuTG*G]>Q3b2C:& +si~"3jcXbNW_tX'erԌZIYak\^Gu!@Anhāퟜݹo“מ_8 HcB˥lXѨ =0aպ .nBz$6߄gr1@DPӹ鍍WHX^O+sAC yBxTHn8LX' |+^TZe%ה #(zol ќ^?߾hMZHwx~0sZ?Lͬ纀ld$câÏcv|.0\#Zרރ Y ܼbzvJsH-=;N6;+R5sJz;9u}m`9ca-4nHgN}z;:dԹsiubiT@TU +SfthavsfqGkoP56 Ȑv?BIğǮÅke,LunPueؽU9z'n$3\qyeϐ}"XS D-Y^ٸx?awa?\B}Zir' 0(b/o bQLHg;UHŕT0T((kX|Z+mECxsagXy`:Gvc΂LP.گھ}#Qd +-*ɶ֌b ##M>3'ֲk?|oq:`F@CjiQJes!cx[ ӨƬ1ERLwRL,rtg?.rصGD + %nlW]\;:jrzU"# LdT&$8d݀1u);}:dČ3K|j V]-POڹj+ھ|mgX >lŞC -S:lxk{%ܟ7a\dډ$ePC"|DŽ7) `d +7[+cb2føDk(W9yGhRl7f7{;*$H*DS: UH{x1ןRT,NYIlBBi' ƌ +J5 vc¥ 'sd#3cJw)JRJ 8-Js'DSkAA8Ma{y'Ki/h$ˌ5h',V윽I"fhϫHysї C#SR~En`!hI-]e.fbT!M1F\tcRr0)Lꔛ3?GM+u21g=B2Km&R ӛN>PY9#g }:1!T.JK.>{gW ir-NGPS,(q +`:0ؙ :\Zp ?.NoWfJ .: +'lj Y3zu +=&؈"pXSAFɺ)`l@}$. tv+2:;+׀Vrt~wF GY=W?rHpE,.3\Kw`2o.ZɁ W.yr/fma܌ ނGL}Ϙaqn?3fuۆfr~*Gvo"Q׺N_{ \S|nY})*W;Vk+;h{TQx |gg%?9 +۵ýV=|cpi"B:Q2QZ-4b z+億D~ޯV_722X4iG8xğݾ31}6[7Gz7cE+!zQ*Zֽu=;PUۃyh)X\ocA^Sf|`*Ვ EtJqv)܎7TkpN .KbsȹhcM/RcFCV"bbj~RNzH zAO: 'JM&Fߞ۹t4<}/AFҝDh0 ܤ٧k o#.^}NRt2zTqB[[iwZY홤-X0?=>Xn*fe@{(%\Y-j%ϜپX>7q)%O]7ɷV'*@ 2$Y/5#:K%0VR -/-Wkg[W._,\hw⍍du/81UJtaJ(tVA7ᥔt|}L]JEKKZFm&fRsz_mn55oׯGdOMO<{rT*$cxpf ?qkw +Q#q̨bg҂RM6v;zcܭXkQk:޹k$s.WJsgeXk] "N M>[\r9XXB 'q& +fAdPq>Q[?XfÉZw$V jBkD}6BZڨR4jFqzqp@¬XN v0{!E0Fq>zs^7-7߅ IcFaJuf}ΟdG;M616> Z$PHi GjC`yDiHϘ qFr=tKA"eląʉOɕN{$;*/ l کo `wŧ˗5on+ļݗ3{,\*"@!MGQ@KbaN).s1؋6'퉪HmJ(vbp[ks9*6˦0aTrR6F@XlMA>qv P~~[L$g#W+$-#Gx=@"}VUdHlz&tO{;5ҕt׺Z=h`q~^ >]p +9Zo-gsg=[AѿSյ JL*1>|#WK[@6s`Fi[{|n3-PA)#\[@,?Gͦ\\ 9Ĩ"f+,W1K%X9`|MY+Fvgq{qiLج}Tqk}DUuiQ}T5lb,)gHL:NX[Jyo$?ޥ{voY1kVA*NMvE$%STu=zyf=l QkA 9#{zۣK֯iP|9 $a{\,nԜ)8|fk[nRVu#rYMo=~w1!SջkVmS;Y735)JreyQ)ߢu秼.OfVJk=R:'Xl)f~x\zy׳OL:a!+եCƨNe&<+ag1!5ҋnHhu.FaW*nT€O/1k+VeK-r 6C3E'"Sd 1)?!&'A|V PYbsA*I?)zNNw*'[U"'k:]>a=lc J>vCœRKщ_ 9k%5 .CT2yRvHM3N_8x3@B +03/:l^rƉY󳁳.|K-q\J(=DZi5Z"x=pY^HtdӪ1BdhTbla0SZ"kV{i~zm1ۋ76nW/?|ko_GW_QkJiϮXF*)e`s#$/ 1I6ZZ#!*HZm1D%Z& Ql\}2U TWʫwgCCfjismCG\+E@Rq7tIvX Knt҅KN3QLNZX S4`vo'jk@h̓^V2zƬ: 1æh#b 3qά$kbJTtDi̅κp “'LN;ӋYi5?#T+13Y6 +=LI+^.IL^I)+YKt +sP%,~Ə*nXX3ϝsGT :("Z(VJI9Uom\׋xy` d:o6dVe%ަRD.iP,,J<3m$[r~$+ޮ4ZۏlVrW|p鷯WۼJwƃw_{ޣx|GyExʅE,eƅ"e()ybiIq}88xrC1{=|0gX;T!Y^_~f鲟4.~#ٙsV$/Rw :g.nTTTE=pf$\x -̧Dv/4S}I{Ŕ!t*YĢę1,j!U@,ٳ8"glȴm&t`ÆԬ^8 :q|g7%+ZzIsb~Ty?yEvD)"dxSBW@/i'a,GY~"&T^2cR"!˕Vlzlg[zu57Oj <$/LĒۉ:bgdrO-iC(+*W(u)\>_|sWɍh1~ߏ/<^߳zW˻_|;/gr<;^x:&l47(֝?h&C$V>ڻOzq讀ێ g''O/im|;V^n&L`M$"-J]`kLj,6/}}R?j\ޕG,GX +I\kZ$lK7_s?q_Xڞ +8"yֽH_%jJ\5dM=A0R}]Z:rC?K+Rv&ˬ859 6w$~63lM,grvm3'0Ǚ@YNøB&:,}g0@DT','*EPa,g$\a)d`N@crU*+GڛץdKvL/8806De"`~F Q%Qڄ)!6  RzlT,M~ͬZKE YO9q\Pj1'8w&f{!$k5)$:έ$MJO(LōX+d @ʂ(䤯W RZ~5(X2 v^ .U0 #hp. S .ha;Ad{tG]5DYU%,7L"J pndR |0,0"+e5'HOꮰ!'ҼFxj12mXBHE 59Jv:ȇVzh JmKZt%!Y I6qa L&dR)P9|d`,B*!\*L<=B= (4ԊALL1jN6{1RHX'Lh@gER΂`1x]Q.@#_cxcL_DWF b7Y q\Hɋn/Xp{z&`"hوUӥq'nCX2,lO-E(.SHVd]XjT]il߯p dԏpAD 5+rqNNpj&Ugqp :焃"Nsb8Ӫm!jKDKX= RUϯ:F4}aEMy|S烅0\60>%I^ʇBCW=ЋC^p#vޢt7buBƧC"du%V]c93}L*PUjR*@jf(&-G@^=aF0!<TѼ\> =|f!OƁ &,DhD_D $WjsPQBX+I@`lx|&) bbDtgGysz!eBe{WY5 +&"arܼkA25ZCR*lX)D My^,̹R4 b´=Y'&&v:F~bsN/Dbl4[]2],0@gP [IVvDSsspIA2(*<$l!br2aJ7ENrXZbu/!nΉ"brd!EȀ\ypbA@>{sn'9sc1Tf[LxAIW) 8Ji~.%zT[@8sd]$pfG< (zC+HDk ppf h*7c<K=Y30zNϣ||?7嘷z{a":`h>yzgHR\pR̬+Z/Ăx5|Ņgv,/fsv¸v{3kz!&".jL'1흶i,8C(`$pX&eT:z"d2妖D8 CA%jfm5]vyfJhZ7!|ji}]IryTAƌx&O[++K\l.x̻:PFU%}, A1980,dYb6gn6RՔqd_[d:+(RTAc(sjD/dm-ae0&a>ԌO!!D%·\aN +~gye py Nc!FOW8#D\DhNŘh¸ Y5iFdH<-Js( +aDz=4 PEf~"aT9Cir;=n *ɭaaw6zTf@C|_=3Yͅp%UI%Eq!fX" i(ƒ+Hv_HYq'S([*/:R) +ʨm=w^:-e9{}!G( PҍF^Z> {~{<\])M &&"IGqR6tl>stream +8lFOc #ɊR¥NW2I{aDI919рi9RfFTM|JEǥa.~w}n\kV ^0MFqBrqQjmд;7o}7__~~郣QZ9!B wDpЌӚXJjnȮ/_޽x4um'Z1eI;5r9 y g]nwr$Z%ɜ@cl2˘F2A|HX;yX'c/4o\|'zWZ?hw9m$IKnv Ww.v~ï|_~i/"vc@%p(LCޚﵸB×7߾;zvWV7ۿ[?{d20R_n{K^]*49jj/yy_WW=$znsx#?5z慳ۂ-> vhu \ztoWvhGKգ#( ~OpܺsPɯ\n՛~?/O~?JJ>w"`@` >}mou?~'w߿׸sXL&E5)EE|7n.|\{t~w_|_=I~իo?ڏ=tfo%x-"ui-{Q+_|\_m1D`FьBuRVyiMVﯾ~_O#0776.P4 D"\ұQeO?ՇW?{kG߼o~?n;XD\ Ij0M?1߾F7;o\7Oᇏ~O>>g՝b1w< +pw+kJMƣ||76>}c?گz޽o9~~>эaٙY' +2MwsbMTU>{o'yg'r_ٛ[?/O;jRř,*8_|row?_~/ջ?;TJHffs3~]~RQV~-ezA +լS2BelXU?{~+٭_|?{o}+G~A@^r"SRВ>^m|o?w}t݇nZR(c@D4Wh ,kZ3Jdxʾ~}|[_}~租o?ҿ8L/dI1Ԍ 2pOכa|7{y7W߸z1[T!0?%&>+YAR!Uf8\*\Ǟ^i?O?o^o7oةu<嘳y!Hrm=eYRB_[tLǝx28wg5SeUYA(zPbӄånIDi]NBrfzmgS\Lp`Q{\ +\@@&f.-]^L}xw/|>/l}ڻڗM ^ݐS0aؼd8Ddcj*nѾ Ko?ޗ\}강P4U3r 310ðZ%_ILZ% |oVJanpXtNMQH)fxE~,M$D72mdRf! P,vCF8?`wAiwb&Y\l/%CZ.FKa~Y+em.ͼʹfm>/$cBɇDOM{YgH2.q%SL P'ŎQ^ZM$`BjvpaA0fATFET,dzS&I$DhK3Ȕ-Ȥ8kƋY䷼|2S> +3l$Gy'H: v~2-lMDHZ5aD9h&<7+z6ԣ^ h@^^2VԦmӳ +R C+efhى..l+mex}g3\SNf+l&ICr:$m|҅V1e"|̇^ܘrL^δND C0pId9ǭC^73Sv܍Xf ~$Ŵ +^?2c0 sw 1-g{~iWxF$m4!h!uɨ0Z& A ՀxE $LDy; `ӏ&=_LC(˦& Kr ᠀D2"R"D1e3:Aap$j^ 3&g5bzi b sRY_xi4\b)eϐRtHg'2LA4E´dbJ%罨tj=gg|@R άI&o.$jOA:RzEHvxVRI'Ѩ3BS`d4[R;||h|چͻq)`pLDyD əy#!t{-("gZHʡRjyt㓰Z B/fMLtËh]?za73/pbQUt@ĆaBԅɲtӯc^p1ah i)NT,DOɏ(`RmjkǺzRۓ\ @!1J%$xkA&#-3!eѽ\^('c%d7_\]4"q@>"BHsN")BrIH,PXo=pf>g6h3=Q IA˜@@>!⋳FZ47ܺ$9o'~>옴s'FrnJSAv!GFw55zl&mcU,ZSc&k^6ƟyTXcS;*e!I 2/mi8`VVmG-C̬CѪ=)o=h\~`u.dWa;vf4ZZX ^p 6̐ h2vˁ`ubq93K"Z aejr .m:1v,NZ}1a){H\r)`Cڌt ji+6<䌋 =sj/N;]@x2{\ry7IɅ[N"! ( &:8w $1[m +LMa P tX*ب[{Iّ %}>^ZXfҀCAo-!B'zX\$c-,iqDV (7XG-oqX GQ]: s~V K z7{׺;7'Lf2Пve0:д]vd~:t/酀 e6ʦyvKYS;|~LKw']}R˙e*ģe"C!Ǘb7)k]-,}qL&($mP4QݕSKKgh c's~A@0 ΅1ww?Qq:nJ;3+"MN>"c.*jK +8aquN貹m}/gBTs3byL`IVY +[NR 0"jt(սZ~Q J*]*Z^c-ʪV==(ǸQDbn#޹^a<lKRV*^] n!1*C&qڪw֯^fS=P\Y\:+ln{|׿ Intz'39`\Hȹi3Tջ' nu\AϑQE,l\s/!LwK]t6 hpiS'|ZTڶ#cZu꫟\}ѫtzC8[_Y硲tj=ڸ_#ٽ 8VYv܄\=n4Q_J V}ׁ .ZFPXrC2D:%\){ȣN˹ 9Ʀ eFfp~,4.$֍nsa1s˕> ea$AuAz7/;k<s۹w@Y J7ߑK6D=dC&Am +3KW.}?|3{]ho]^{͵lz6$\ +|PDm ,`Ze| x;} bόNs^5w;x́lGh*^:ji2yƉ m;hrnJ-!t/&jL*Y9?Lme5ʶJui2VZG|f35&̧AIe-|Qmo<|ѕ7+[+Bj K?!N*znFvJztCn^ LXHWj[*2× +khG@ ܊PXgs+c28"8m=Xd,N٠3NTkQF)`BS\EH,BOY'QtDpYD5rrY)5AoqvD."0e,:ѱGXji-hj B(6_j'ߓr#Fv/U'Zk[W\E<ܺ4jT b Z?dR{*!/rmҵk?R+G"fUn \b[Z8տBzrcڑNZXk F^}8:z56ɶ=HI& q{"l\/X=^PJ[M[.Bjku.YݫX2w `:db%`#bqqCщ%jǯ.hծ^o>ۓ>aONjC7$NVvb93Sˈ9X|"zq86ZhN{e:ڨ /arW 7b8"5=DAu1g9E Q)'I"gY+ x0sQ"&ppVVΓAhekTrssɅ\wLUTGj[wv^ˎob˗@7PhN,YMLKI6L=Q[J+ hҲRiEt'6V\zyחNKJioZv(@%bjݠ3[ 悂m\|9^xv!>JRn%OWŜdR\nhGny' օ֑쒘YSw õh^\n/p" +* Tp\^X7AAB !Ge׵uTv@ u!u1B +ZU,L2m䔋\dH ºFcDŽHE/Tz+(:dJT*mH"Ĵ%[X?A] ΁hȃGM">'qR//F$,ZkJi]ʮCFÆ(rq5(TG*=6>skhsiu&u 9 Ia4(aƱꚘ]]?RZ@` +EÌz^ǵ{[ s^*.N|+6*t ;8#B@ϸ0J~^<&#wam#clrOo!92嚔UW:7DMѻ)UMCRdm'x}tk*ʃ7+;z{V==V*~W9~Pl;%kBϛ'O!a>ZlbX-ݫ/-z4 +UVc㆏4Q)OGRzơ| s~$Vn\y_3*{輒=|ͣO^X@lx&$Ԣ-#&ʧpI`T[TB̮ODF+u`xNXM4Zy?::?!`RZe#,}T$"R֬`ZȔڽK>&)4ܽMU@ńաR#መUZ\D,̥A"bdVkI5a,XT-JvǛgi'=RlKfլVWiItؔ_-ov5;8t_΍X<"!=W*ߘnT+ "z"U>j^4G\;a҅loԚJ0TB0^ZHY >knk}r]' 1 0Jn%ۻf_*YqJ7kwl=@T:L}惒NRfFMVתN8:&#2VDArC\N l =\A ' K%WW01EgS^6Z>>muV*hUҗ] \vjyJL63Z $aFaevnnkUO$lTd^f1MJ+.,;5f_@ L)Rʤ'6&khSDk·xP`3O A+ .fw| Z J%P() Gy5%R +\vEBǒ].՟QnT Ő + e*6Źܻ !PD0V K&GVWrdݘɈ ɉ +)U/Wi~RqyσbhE'Qsφhˍk%'. &ZH/!ZUrvwC.p&Kׯ]XMeƎLZI N,KHF{Kb_Yk D:xXBf|@ 'RU1 +Y?AQn; + yT`j] ^LT8¬׌M|E CKtҘѡ#6 N ׵|.L]DlAn1) rM%Ϟv !h(讀feE4H g}BP\P% kA%݃xy͉h"k!(O{L.ʩ;?[N90k:4G͎V +6'9s4kRbܤ]hڂ GfQL+88ԥ*Ct<$rurS9 ;]RdWΏsnJ"\@@*TO&akR[@T A>2fJa:tjE,S%*qhIȤ_[M.fZc>lo.Z\Mv[o+RNvk׹/ +&t@ l(%K.[Z1Y7nBl|Nm9Q]t.fۉSnK8"PN*>"1]hbHdr1tM6b_C?a *6Ov#t3:ysaRnC.:3"d1{\G~E>?I4HʹP}x W*A. 9(Z.mڞ[x}n:pz1KSsW +?{o$IvÄ22#c}=c߷ڻhtciCHqDjl464IAA?I:^ %q$̓̔FaYs9g~?`r.?D+LʆH@X"afVu!Z!iᯒ;cъxd$ >Xa~O8W Gflv9{ E{fzbOhmT@ KNITBL9uP!Ȯѽ go@XԎBuB(#{Z}~LnRkᜱ΄hᎮKs{CQ0Fj]|!E2y駳tFgbq_翐g;u&?fwQcCJjFs{p3={u?k0]{du'Eү=]|_Cs0l3o3Cxoߙp.Oѭ>:뻟Nދ8/v/ dkwOFn~&c%ןl-_]p RKup )i8}F[{!>1>l~?Kyw>nb"¤2Duъms>\YLN<ǍKs?6ZJ1sqƌ;Y1g~Ghm/CjIv?#C<65˔w?RY !ht 1I.>B!J1Ht0>*`>s/j'F&"7|yON랕/'H@nNYxNJ^`EJYcF`s} 7<2N_wg[ÔhN)m+o 4L`n0ިK[GE0{S-߈Wj5;rvξa nϬIC}"ysugy9ؾnm5~{}_}rTttvo)a !޹$kP%t~ T P4ىg  %oOj-*lP5-hB׽@JYPRDk~_z+gpҺj❺J)vˤ#9 gA mL ].)I2{_`jvIZ 错&Pbt.\,>f11UC-Gek( W͇ۯkBO_VlF]*[s^~CJPo_aKpnWVϾOokSdn[sgp93YO?L~pI}[cHU| 7^ƺr0sbzh.Z}wnDoZeP==MO` cBM\݋x{9rn֯>] $N}Dc1\ׯ`:wwZ1z%`l:Bj(/WSP=?ä]*hHWt7~p3\ + +x3<g/ev6at;^ی2*Vo-_]֕f7F5 olPKA{;<LyOJ|&R+'7/ {BRdA|Nε`^x(sHIti춈HOh{ $ElѤ!@odͺ7Ӌ/_ͮ-@% +?M;P,X#EcX`^rF'?n]!kAK非=pJPӚS`R5=g/sկ;7: ݐ:z3:s!2跍ѽV\氵zsw$c|>Ԃ /f?=}>:zF;1:g՗L$7kFOcܕ/` f)"f jɎhm5E\h!Ո6Rc9\Z@FO |^㪐xv'ݪE]8IRjrjlS;je{}>N]R-b`L;f>j~Z``::|%8,WԹ~ѿ OϾ=&ZE.6xN4i/vJv xl RmC3VWvwRGb٥:u~mof`gT)h{;4``!{0Vmŝ9) +qxgM598NJOp&:D+Ɵ_o[y9suU AtYBq{7FznOrk|,z3&ɉ=xeCEH!%rHl?Z)qӚTe}nDk=11\/>"btπkPY1."(͆@1rV_BͮV"( +`(㨋"irt\MO{kJn6XbFkZ + +"9z?ѸB{&bT+SJڠS1&*2 DMy[#4qo%N ^B4"_"=\5zTIͦKsVhx npJj܁ke?| +ktt3wbF:'$kGڒ7I1 @zzh/s==w9x $DRdL )=GW3pf"Xp')Q>ޕseZs^"9s~!V:xx(@48 v9Y]c}+g鍦v{k$>z!)LL +!("LIyYzw.=xy:@n#|$zsM@ְ{p™d8w *@k>oѹmvت@ +|dw.Ky (^dy參Ҝ)f.83 E==J 䌋 l&f$1IH6ƙT3V@9wp*=+,4bC̄g= +.҃ oNk.8Zu1=E,)1 +UU5Xr +)h]ˠ{.y3H=Dݭ25;=)PNE>} +k06} O !Q1.bnU֣C;=v&qHؠ$Nibܞ/N߃/_H@nCN1}PSO1c! !cv"YMjy/gB%Nl""" 1gHA&$X1Z\pJfi2'Z pКf,sgx%K BP3 p'H6JM+g2 EQ&lPt'@`KD6_אBvr>iKwR) {K0uփ: }T=mN.xoZC}_ۃ;o\' @'`*iSo|x q9wt i(w[.: cp +`MtB? N" +`U-?_LwJVhLoS7pm^:)GaUyUѳ2ԙn:sHf\h*ѮJyDC+*[URpi])> ܘ`]Z*`@Jx1Wڌ>nHc*ú'q +jRB]Ν,u .j >B*kJMh+^_ī@FWtG7.o')wa6= DLD@ '(yBq7dwNhC3i_XHb( .e@9Kz Ͻ })FG=`D@WG[uHC{R?A +29@8AQJ H9ƃ]}yfu&/A%"j&6| ඇZ3vG_5IgQI[|Mur|uF7אER1:mTr{5P>~R$`7SkIIBaý +td4EY}m')aQho*}i[j| đu;9$Z@옆\LJ͂Ү-`TtuAS.2SWџ5(mΛ˗j +?j\N9m/Zͮj NG/H3{j^O}v,_[BicB 9sh }}?Ju!*d5oԠ:fh9iJYe)"G|0# PiRSM9@сUSnT(COXoGy6`\GeP8/ S営I%Ys}yǟee;Cwsޚ +ΤyP,j0Z[Pq%C"YSƞ RQحI'" ڥv%c ow8\j~R)H֘@BOmj>)ZOK7_UonqX*nsKw Q7_?/kbLj@֞*!vA3u$7a +@ڐ)'UICGqZOpg;F/ch*$;)s>H#֚ ޡlAj386kzPn#H٧BcY8דcߧu1գ6 _I *f74p!&GZ\RT$5%YOhCZl]iD=s9{-E&q6/EcuN[ t]52lqy 3\o),Y&ܬZF1cM@0;s I6*m#.M=>Pƒn*2t-X `_1=`g*Vfq?9վ S`v0O.B ~m M*;fa팕Fmk"kr]ͥw*jCmP%6̓ܪ|H٫p:!U, JZj#eF\Aۅj`7CE. QL.Sï_ ^[!L9€"0Ԁތ1dcεֵ{^Rָ@۫w[u( ڧrâ]L^I yMJj>Wv爐C/T"JRԛ uCJwj| l)@L?"9oŤ0`g\3=|=8fp a@.*Y:IeܭDĦ"Ѐ)6|^[;Ɛ1)dX,b( +OXc$ٙgtT~D08sT@@h9h}6ߧ}tt/AëYzW>PiM+B'~ +d*gq8BAdLT{"p.h6٫ً j ?P*?B,F:L0`LoL{FSu,xӆA<DM)kwz '7j礵y?vtK)9ȅJiN҃Lp31X ,(D=_[`"oru9oK[Lic`}6s"_doU&\]1>!w p_ +(CMJIdS *VZUw^mˤN?We91' {PwV*kBF|. IoMHLU>jJew9C y翋ohd6o` +%sw \PF'Y{ֶH5+l 䵃*e! 9|-ߚkp4 ī}o rc^{UTie_?s/K%Zu]P[59oDK%V@N6w~j*O 'ʄnc4L5|C* rvx QZiVZo\d9C!:fvknKn]ɑEow|nn_o[ܜե9b>뮴2ٿ$iEJb|K_ 'b8~'7`Nqq.J.ٻ&qO,$gj.U){NBk1z{(` Gs .(2_-.mƊ7 euOk\ u̒P<JFfChiərNϏF@JT`]pkBH)#hNvx-= 3ǔ gw(VlxP_ -39d2t̻G: mxv9k),_EۯYo(=F=uMVsWzf-SXFrRzTb<; gٗAVhx}f;lWZSYDZvzW UBy}|@;=%ήj@pEzHȶ4;sfaCjm$Xf:S1=_;yaqdC;ú jj.??>Aw`T]QїB;5å.$'T+nR%i3tGі {֞`PM(-k3HGHO=7_&_,yR0_7k= p7=ܩI@4`ck<X-\HjLvBU C7ϾaBiU՚ZΆ0{[QZk};Co $oVf]ԭ20ى7AyR;RMC!HvA6e`rZ<3x\Ixt w oQCLI67{e6޵1hvi ʟՕVjbw/U1vSI}ԨuJ ;I*۬21e (Og?}C:n{As''M#31ZI6s8dy +fW_m_ڟTD 0>>N*?Qaڏr* +v2=:pGO*B!I@ոp>H&;]Pl%Oi th)f@ +Y3E]N(Ϧy*fMhrMTg9 ۔k9@?NlOzbxp? E C׭[ǕORO^o Ae/3M +Po;wJJj&wm@K@鞈%qI)c=>Dl87;%qE)lSZ'7ͺB+)ۇNw/ [zzz$Ti}ל0ٗ"W[ܙ@99N]%\NpNJ bZZB /apڻ. gMd6 ;*pޜ +fo :yӞ/*ek֙5O0GpDŽC2֘F"lTnkم/?? .^jsE=.X?}YݺG*p:UݚB(u21_פh7Ni*[dݝ_Iܵx_*Sq'G~{}Qϓ^Z'N83?]<-e…tb%XdX;CrƫO>oB 5o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6o!6oc q_/ +rcV? +O/] TNN.WsBvTms?>8%'G'pg`u~XճNJُ9?Ah!Y`).$P$M,4|s,p,G2"N8x-̞,Q8:?|\ ៽;%qqkuktJrruq}; _f?X.Nᾗ95s0dˉSz1);)l"/73Er +Vu!$n|̫?} VѹYp^?٬Y.GLq㤩\D fZ8ͬ[M@M? ^R3bQe@;K.X֘P:lLJb)U!Y[BRz"lo!rb&4Qii6:bP)=[ʟ7vJfڑ>woC6!*OCƝs읣0Yk /S.&JvrkbZQc9ʙW_+V"Dv2\'wƟZ;- LHsА0=\XK[}\"AoV&HkN)spbƤ7Sܚɡ.+[ѝ1U&*"4%w?wĤEީJU&qBu9iMD \p ^'6rEлzݿ_OvjrMްD{,akH;J8C FVwjz9L?y_QzPE)jCCDՕ>宴֙7z&+hL-iwˇ{>=hcJ5FR!v`0U"y@s\Fv5mJ{u9FٻjxVOmmVlQ­vwuE  DN 9Ai/.y{oM Ѓ*W¹ӿkiE :F:5 W.TvrVLHYJXCҙbV(힦Α;Rڇ;Jz ?)`^ o.&u4Ƹ-^ @S +rZnU:1⽉.Y?k'`9f ;:`?{=uza_ I]<ѫSZƊ=@w1NBB=Xt} ;oA ԳWRrOڔ>$ ]4[/W+S&DHH_"݆G<*0yT .lX "(DX9uCڔi=THs]"ȇ:r[OB ׆e諲 gȌא{Y }*>h +^֥'Ein:[*k>RO~D`jOւ=1D!a`VwǘAg%"w\Pbe@S(.5>F׈~ju^|&z+`?<|ު+1/&$u0~ќbXqmJz7r|.6v&YSJHhwoG#{->V;}Oã] fE3O:t֦]UjU{> Zpwl {Z٧uij|WJIyU(`ke&Hٔ6 g1!AY +Ve|=ةk-`VkUք;5i$h5́$k>iH{ӃcY*2,~ gVݺW׫TD2FxR U`5kx%&B.-l U P4vS>'k4<+Ŵ'a椿G3S 00m$Eu0z J0Z7)i0KY=-ޔH;= 2?y߾ft%`!&brJzJ9soDU6NZ'8w-z̏~S[>%͉/@B6n=ƛܢme=M]LnW_7yIA5EP쀨ɀ5i 6pF9aG<qdc6ˬ}C.1A;U@!x'̡B?6zҒcDJ@4`mG1r&ImD6A|lCH= 18 +g[)gd?~ټc)NijrK9㹽kީ+sC4"qx;g5,Z&Vƛ&F[.\6GVoA^9Ǵ>X3Ιr$oIs {sֳo= '\C#2ZEy*rDc@!Y6xV$\&)Q§ IM!F -5Uy,k'W@ƃ3]f u@(}Pm(@ޢL8.^*"Xc0RuP JLVـJtk<q%Y8. \ h* n{ R 1n>ONI2б́vseOְuVj5?b5n 9S#ʝaFԲڜ6L;̎op +42' W`bDqnIz8c%֘=Aտ}k^QޒrrwBl݆W 2&4P +9I>"r ZzкeE.f1k û9.u)bb0hOIʰvSLw KpS",Jp֜RY cTO'ELG8`Lkk.30#%:*Ξ30I)Q >s5RWۈ:!AΪ]d&x{9Jr!p(h欁ƇTX-x e" B(&f8NL{Zwb44"X6w^\IM],WIZƈfA +>)[NzCj*:8}S%XFVU!+)0OF[R7r RSڠJv_ @;{)Bpm6^,Ęks5峣 )pms\̱&U!.!9ۧ@`Y8KXrGinr ڹ.iGO +d/Tm q { .~M]g|RjA=ŽDhDBiw0WR'1\Xe?6!:$yHUyQ?2] ^I3e ? ί^]͎.q'O*-Bǻ5WkOQ&mΚy?y``N!U\M)՟T}LËKiwJ>jtx S?-?'2d}Bt7;rV+OJؓBi6oM4 ޫN4=k1F@~`zhg\L9Ǎn@@ ҂[%?+.,x(PSwnOhL)oJZc_5~YHx3T1t8;6:)Kg䎱Ǡya&X6{ B .>n!sݾwRxLl-w e0/io` jLP!`+Im;u?0Oa>"0.FG56k^(!k K 7X XǙ{jDBjb61s 0~rR!-ZΦ¹U&` iV0W~1]cr +0"ic>jgDwbS,V(O>0J6~r("Dy*ܧ $i O~i.`79ͪ Oʄn *z8zb)%nY pĬth A-4G0##-9wY>(LpMrtIJ7_V|]W#f@-͓zʑ\oHOJgƧTJOֹE#u|\bI=%\m> ά1fxEW&u"d$qgik +afˬmpZ)6chc{r_^~-02`l΄mf/^A5#ǛyZXnv}3{J|jO^5YK`CJ}Av2'%yRhk8P<`Fڃw=*:#BmӚHilgmwk!.*ƻo3 O*5WEDLآB S:~'>js/VW "rQRuNmA& l++9dAӁ1'?- L @ȉ{>ᴇ0 al3 yP'[FSLHWW +;J$_=.?)e m1 +_XSt`1 DAI>*;u_S Hղ^FTL0)9pp#&[7ĸ-rI9\0k3Ti{xI}ΘЁVzH]@N@yB'.`dк$>B]==i.xϔ%j ]q# P')!ܘ WEʬ aq`JdPE`Iq=8̳{oQ4:":P52GUX +5:5̫|8؟}\m|s-m|Kf + +^6Ww*lFLM;pQq(Ȁ.qo1XQh#ڵ)S0uS1s/KLFy #?j&."iu9{ :c_;F;N0tPr9nO5i܄}ZÚx^ia* R0%6;-vYg:+"715x]#TbDE6IBj '18zADh}Bj):S..= +C#Z\e{*VE=(s1(s^UK3ޞXx +8^ۄ>1 q~URC6gif0ZJW=3c-X77?iɧG`} +Ǐ,Q>mU7}->>\ + 4nU )ȣ}iy\`j'de-lAfDW"},< DF3gFrJmoفwxw;)9Jw{L5Xs(+9:b)=DQ8.x& +Zz~m#ZܟھMpʴg(g9͂uVۗRTS1ZkۚvClCl"轆خp2x7.@EKƚ84;dg4~ R5%{Bh [p_9>ۗ 9Fi`pLq7pHߧ<,jղ9m>SAɰHE:wz1ǂ=I',RJj68)яDfvX-H-*h^v4AM 'O*^U.O\4^ &(j8U7ngr =؆:Q:6 2܁̀ø')~;.VzpeLKu"?h4e܁"d;Ɲ>Z!hZ8G<0n1@kF,Bx}S.-A\5BI "p-",aRa$"煡~<$V: bXi=fB AYF&IԐ?ld&:=8?:81 }c;FOceT!K7{$01LǾ Ѹo2AZp:mM4 <sr@h mNx,.=L9蔃Jx9#&@ZӟfŇ,! 0s(UEP73;l)j}ȤL 35s?p^ʁ.AB@3Z z``Kh"j䛰-2 +P82#a6ld  D~(BдCn]:#Έ;dOA;n+QHUHĤ;AvxxX [Ȥvk';MSam̄ Nw`lGE;l(]H+03VN N!Ca.}5( mPO}P&$8&TPͨe 7>țAUPO"M"\bmvpyPSjIqe#aQh\$X\Wՠa +j@l 8+@͟*E0*OxOn8m3&m9% Aި+PH,SH 3 +c !*<*Bg  >N6c&9 & > нL&!ak`4ӺxT,m4`Q?F"H1 C3:]7J0:( 1{_j)h<2I$3b\ce%8`4!-j#A ZTt +:nH[Jˊ&TqB-: [kpj 18DN8U'm`+[tz#1xF^WBcf`ȚY'å [qI6:g&'t`5HcGLYN%HǯvZ3f 8"a%TJ TiR.lWp}ǟYt%W1L @%lF#p d| +|Kd-T +ދO`fm؜JSr aArnpa絘lҎ`jcr%t#ɧЉ& D(ڡPG*뽲+k<¯yii_ꤳdHRXQ; UD$xM'bד7at܀G`PNVZ>LhSN.F#(/J&2vBX^6je2V6khemT,dD̡7pr8 0`2P56 M8?F%a-W8#O1᪋QRB(!CZt3*R]:)XkR;5n\JCprU:1 b 码Qp.H> A)@ AG㡮GOtG 1X +rd˦p @+BeGjTITg U># ԠJ(_b 4Wj{PW w +u$Xwqy+2{CzLvtM-oj@e@6=rLө96S{^1`sLrI-bDkcR&"EEh4P@q17'WV윘[MȰ +na!,~p`P< +LH0 J-$c/Bǫ`"m >hab+^ _X~&ZGY.Ù#M:P]..."e.{{=,.eBv@BCLC T:e M6"H $3A8+5,7cˡ>og`@YWWZX\#-0 'p&kF%:r 9.9%Ԕ/\ p +P{4m]apv[Rߒ\Dhǟ++Jc 9ϥ;TNuc=B-I%7.H$rili#ն[jS(0HO횉0AӅ@|1uJ5PʛTE0j*9U{X[Bj4wP#,?1拀@Q ?V f*uIe:> Ae_U3 ʆX^rY ?sDID[T,7Rwfrp5N +yv\"@73'S'CJm̑x{OyL7ڤM33B5yp =R-Ktv#M6ы7Vd[ Fz\G[&J1a6Ja]* Wsj[ׄzYhNiJE\IOE32xA3^?5-'#`87,GS Be[mE;raΤ 9HXLtNv[R닖,Gtz/K˱Αxf*k1ɞK̳n0K #m;y1? \ل!dDwz7q1OfNg= +d2Bv&ҡ_T7@(wm]|0srn֝DOWP k:w jeyf]i @JdzRfB0ٛ[?}Z(Us#dr.Kŵ}|aBl'6)()ן;z ~"\>ޓG`u*[N ?]:Ψe=FR*R]IwvrbhSj[btjmy`5;[`Re5;>eLsw?׆4ssL'rsҩqZ./.}ss}C=ys'\x4:o&;铤8qv-dXwW(,Tw{+t%o4`@xtI D7*n`bZ ھhS/Ny^fσQ|72q[ryS,D8VaXeT]uI5ͧ'=UՅꝙS\~TTm +Y+&#&kSd'ZY^g7Tv+ˋJ ' +M!޼v3oAriL,JkrXv̻K<[4̦NŧΤ.^|sZ_p4 Q퀒oN{5n>I6V %jb "Z8zczO*fkgL\ֶ>ETR`"tjP0($f0 0>.Nw+-?lgFmXC.Eř,&d[9PsZonf\kuџ9؄(1*^wC|!vzTwܗ#L2j,@L'{` ffz/ AyL0ä N(u;zDW<~MkQ;9n`ƤL'ZyZgff`n219sLtR͝+ϸWwv nہf|PX@W!CJϖ/nNm\K4ʕu:TX=~#ҠAQP9SLj.=.;G.Ks"d@vE+K_Ag,DjjP CAv TBHn.\{Q*1Y ($2n^mWH:MNGRv8s!Cr[JyŦ.>\i,^DH  ڦ>S`%UB̋Ƙ0A,TMn2Z6'총r0f{7xW./)\V{[.a24DM+PLPJw4M<цٯj].Ι},|p# Zm( BKytv +t7{|aQ!]? bvL~TU4׸cZ1+ %Ovg V+Dc;wKFn&nevu^ Y(ux*"7!{m0#kryp?& ^T֏_RqJk/7t5YpK52\:~CNE6v5Dpf2}:BLMo/J%V&U`Q2)3nل 'kRU -\002?e+榚kwaṼSa/$&wr¸ ㍄< [ja3aebC:׈ ׺@X%2VbMD@66ntjO,pIY?w n&2.)dww0d|eTuBͤf|j$`>c%X,S|kF&̤/~{uvG nixe!`#.AGL,(xO.Y9#X$2m&*"Y8H+ʇS}.12;œ1AEAA"L‘?r +@(t6V( ΃$jK~biTfRvΈڌ6TgE:V5{pv>&iy *MBJ'!Ks٩#d+jr戍r"2s_ba ," ~h"BXv}8opp 'F O6@<Z=IǤ +X0ZDb%#"#$# F* r}-sM<)LK13Fu2m1=;L x2l0!LuS#plH w aBF=sʋ +ӧ:ʗ x*L ? 7g E(aadTz7T`m9i11o0=d ikF(̈PqkZ$^;\,yP0ja1!?Q٨d7 [j{Nm槗{;gW48`V8䔇KIsa: &|INJD)Z:v9>h8#f`mFž=Nusq-P!OE; I6e\)?blbɩtICBZljp8fe\Fm~wi':Ƭ&U @N ɵu&3G@|)RADZxO8츸섅ݜׯzٸ3avn.O2!g`3N&yḦֺ́';ظA"PaO͐ޕ1 D +t)%7j}2&^ኹK\= |*C4e*R+Dg-]u0)-G+bfn퇭.%Z;04tokX8fP/ o8Tv7P9LFRr{z /?ԽOW~'O?KE6R2hO kl\6:^?ZYllu6/'^}?9q출-nEFl?]_s ٭|-ޘ+Xs~q{/~|}|gDͨ!P.+V);'6\?[~v҉Tu+M(CX,$Ĝ#Bl)Rwܵ ?zx=_yW~^ÛrF7g@6ʪ 1=W#Nx֩v~|{o߾_?Vӯ?~ǿǧ~s,+1jD;v7n=ko׿؋~_Ώsol`,Y[*$ X!QM/.<|^~w~o>z~}?G(Ͽ/~}K;b&-ԺsX9r{y/'G_ o|'}>/cϿw_,{ٜ7> +rܘY=r{nx=O[?{WW~StnCRO* پj;K3_ǿoOO~~>[^xGjea5yA95ƌIn6*D}]y?'~W~·|?o?7-v1.wx46!dk٭cw^Gyן??~ѧ?*Oo%lmfJuji+>//|/_ލG:|EU/): ǎp|7zG~ޯ{鵗_2+LZP$CJX޻|σ|O_Wxw~w'ݹpsUR.qK0;[0kg.^苯o~/~7_ꃏ>zWNyeamOLӍmAJkB[3V3+^8utBA(e8ט1GNf3ZVvVڹv{vswsԵ{y[?7'}K/]8ל F\BtŃvѭ G]Ϸ粵v74>O?o~W^~陧uݛۻ<!`𱬔N%6Vvkڛo7w?rۛ+V;Ui8 Fcx<>PZ).'~g{yW/z?z]<  kԾ$rXv᢬"J;=?s;/uջ}~_yos|׏9!x +LJޅ15qҵ[ /}_/_giu3[{"#k- ]^6N]B9ތ6߈e7Ի P%D+z|8^ ,.qcE;(?1i-ZʁqrKCQd<ޙp2VlԂN ;h@6J(1q.ɡHL!9O%t&U7fEEfD6GH$L}Ĥss(tVJD^ZYo4J\i)27pi4yXc8'~ fb4K3w=&[zTvz*Sk <FLG-up'>FEP^Rj2M@DiVRe!Je|3pOb u6;؊p1~.N6i!ot.70bK|(*JM~ۘ\jDXeX,TK 1Z-^LuH;FtH͠l'S7f 1?ncF̘opa!sTq`$-}\{؈q+fVB5c8 ѥu (x˛\A),\ +#L."^eT8gIN' LځuxhpC vIk L1ë{]0*BLƸW: %}\?4jM:ɨ/Rn.7bMnfGuIހht6fCH^.\M4t"]+mD&@ :Ch-Z^ @7Q14cԞR"7K )r6bebE@!kj*k|/R^.bw[( U #z Zlp +%hy@ѻdK,NfWRD6b!ArTX\ι1ołPx |:>.!U(c1nJn.4uI5?7 XA()Q.kV@zBPX_35b i.1fxx7-k> n@u1.7<;ȸ \vrhy 1 +/{ԤmpӍO(cl50RVhm1=i$x it2&,v*eŚ 352x0&a2&O54a6F,d2\l>l7xzG9P {K:6Ƅ+tc:g*&(lиcT>_q Z'\!'lNmCIԊ6OwOXbvpRCcH[ #lm *lJs T7Pf i\n"w;zlD<RS>)OeG@A%,,S#6odLI8*]@,rq%T\SNaƕfspZDes,9h4t q ۄŧs +RmwcFrBM^K Db#]ԟne8 Sw '̸ypbq7DQr}6QFBq)pɥhc~ƥ'LAGjSLχ>`x +Un?l3@`]t0>U[jPT-O$S$=bm4aPp"VHsrf<46W6f.6`h\rJ i쐰1 +O!$p%Q[#KE3!Oq 1 i0. &:`nȄQъl0Pe06 6=b>b75SfO(S&vHZ0ƄG,8#9) Ndcg.>LIo nG;ta[`> ]x0.Gd Kp$agDY۟!&Qe¸H ؄84GLheԌR\3{! b&jpo2r]aBcfd܊k@u}Q;MhQ+1J ?O.[,L)]UV|ZM QdFHZwa6*wؽ@JCDcCKs[g@ar|%}3LKe * q)?/VQd UJmG!&l{%6ݖ +\oC*:Iݮ_M͜#mBJ{%Ժ;=-ΎZHBn;٪DjxJaԆNL؀s.<ÛY;ל?9f&|b6\O'OUW<kBYpiWqI@ѓv`ox qEgfjWjJ6.g#ÌZO.3ZWmh6q#[0ՈKrA6 N +̜_HUT(өhu N%PI*'1DGj APK_zAIOaJ]W(b/WZ֜;}&c]JǺ3 +#KRaPN&ǪK TGO|Q \T7#zo"KB3jZgf~` \+bFoxɎXHhw hmFMV^{S>}Y\RSw!+./E+S*չ~h@%q,"iA.v kθcԦEX.Dӝ^+q⏿Q&.)?ne+{n;4yd26%e/WMD?ΥQ*̦gO>w΃qza+qKxhp3 F +%!rxxv|kVw }c^ >qp-.!!T/_ +BւZ <(6Q4.y\bB( +. bx,l"4fi<,Qq M7D:*Ӡip-$BHt8oJz׹I;?na͘ +I9>Q jѠ%ە*Wtej'޴2 +*R ;vR9RZ24iZ'M:Q EK+ry#\.6IHXcTf"L)u.u6VOܹ])[jT0k쮜yoToQy;R8UkF0OԹ\rZh; c@wRui*6@CZl1O@S(@i%kgΜc`'d֊KtwlATHݠ9&3+ז+Kgwy8[ gXA֓^.bkI'G'f6e3Vq %̸h##sǮʥ@n@D `NR +i'ĔL@)U&1j7Div|e'Tݑ+[.:kViqyDkzBWz$]Y CD 4B&x tnVMqi :1p"O5 >(X}׀}vp }bus{ݟ0y#n:KdUo/.y%@#~)6_]w? KA03Sfd$S%gV3@KX-wnٖmw{fg=3uoԞG'+ލ/|>-[DmJp2q(G +6dO@LKTWcc::n#Tl: mB^.7dD_:at &o rS1hX~CA3V6 +QR'Aݜ[}2Wxu4*E[t E"mpj[@q9]_T_ HبNƇ>2hvܙ\z&սX]L KJA4xX$:3V*Qʷ7tЋBwV/=;U>=\;ȠM"zC+{˷5ŁW@v[IŀtccmPh@)%.U֯CR\B\\\bx\ra|3\yPKA:0ij~1X^)_~6ykbyX`uEP`Cu\kYqpQ `~"z9VV9&4=ә07Bkkwӳ}rȨϋGοG'#N֌_!(2ZۋO [N?8ssDO*@ V؉J#tN* +DZvm #)ttl'Widy T& +^NN [9^u 1=ͯB EJ5V^Lt UHɚSdHSIѐˡlM \| bh)#hd_3&+pq='U1V SzٹD}-QZꟾx ݋4qPmM.8 MQFܘn(rE/ o l$ŧrzF|4yK΂ +0l/n@N6OZaNB#KÕv!;+M^HS,Jqa  $O!b vqN\tE `.d4D*XA=Ffj<sf (h]p)9 ֶf%T] .wǂZ7Ч]PQ+"_04^dTT;gB^np+-]c2s$=ۛ.^bB5$} #xp]=br㼞e/G*=UOZpИ&\?apvs& N SZcqwjJonˡ斛+RVdm4Pg"=D$;,t1OC", 1ZI|  Fq3U-3χ;tj.K#N!JE@RV281J/-\<Ћ 'k.T4  M"dAYAA2魇Z7r?C sH!l\{NDRJ @kxQ"@riLhZ`͎r#QXn +Hă!a.< $/p ^(Ϊh{W,,S:\5>Ձ0!)!}h#6bN\>هiJ\^Lލpm)R_ WpåHu~]7& q)R"RZJ6^QAuTGY0x'5n'@;b3cAHJ"ds^P sJa0sjnԦ|(/\k\ t|:::8CBbGı1Lj VyzryMYPIlT•HuXU6S+0y9/T !{҈1\8s%:4i>j?BS&RrRd0uq3g<\Ai&?d +0ie }dOe$P nl&>ڼ.y2<b\Ó>WSH@L{b* Z\nHwy0 +RPi1 #(&3bH/n$[kSaceTJ2B=~8s3"i`CNT"A;vqTȸᗆt|^0\Cas*(y='zb\n +)!\N׀|Z9Z}Q\ԩI_5 i|jGUcrC.uDNHhҰ  6l^ Q^p⠏4#'h9IQZIbJIM=m>&EU#uOzq evȌR.RINؤSrLqqQ;nJ=fC8 H.8I/@Hhco׮Eb L^ƍ)nq 'B"ucֶgV<\Vq{_| +r~>C@f1ٽTX#q)kĚB 9V!o838n|JψE`ETʊ:P)^ݿuO.<W_-v7oёRty U_ha$&B +INK@ ݏGIjQN!reXzNϴ!17z{ƧS'dzK\lp؆h."#6 k\ Oxi~ I>4TequNPČO|‹kb + Q 1FtN(bvHr111nr3 :Pji% +cڀ`;3`X6!ujj|qcp253C> cB'ul2a$sJlR:6U2DF<mI9_vwz3?,l(T^TsR_Z` b+2|b:-ݨ]PjjeLPAE\ +\t +uh}ЈGG萍d<ȯn*pI sIO^@xUhmAbcR?S]4ؑq+bK~2/  +*L82H[>~3?  ӴZ65,E=V+)֤4nBLI$  :`&/At'QnSKޞ^.*9*֒ +z2[ؽmù^aZXS0UC囏>'տ:>rt$qČM8P !^mD*|Zr*D{/%LC2TU +|AiU%1iѡk1úםT\"PA<\j-1 ^FFX _V@~.=(_ڸvquRm-y{߰ cZ+,U]T^3X3Ŵ3=2@eF1A >nβHקw@Lij:GE3"{ +F+ٜp dmpv7t zCFT{VϏ9!EG+6:PR i6>R, . +2:I$ŝkWZ L~}ރŃ2L.TCUlM~658hu҆?2I/eu&sJjXNc>[0D?"R-)Ԁx |4W_8oae[[>) I9/F<.vP̨FuG2O7AЕ2hŹa+:߼fGU7Fo_Z)1 5Ò\@Hen붘1x턍05DZ-̮o\**])٠TkmƍwaD[\ta>DĊGAEJMx;Ƨ_,S`ssCz鰘ӱn$g]|4+Y)Sn;qKV)L n79 GǼ^* >}Dd`tmN>R]_"5h|f?? ŝ4^F|t3;ݻ+_[ܙBjʌI6Nf@\ }|b/18 ;kr&da^ վu8dڼEY]կN%Tn8j2ဓHGJD;CnsT 1FǪݛwrWxה|3ދkuN62kvvh/ r0'9 <ɚW襹Xk+8O7pkpKP>6pbp ]͖Z+{_b͗m>: +>6, ^.*rd V]T(?^PSrÉ+ vԗΗ^0z^xT4=K63BgA`TR.~lsJ$ +gqgT' CL{3=LN] +U@vs\ʆiv:@4aA HfLVa֭K5u+B{u%`r &'Alt؆Q<|{_N]lޜ>8|#ppvDt׿z 6퐊q` ԍc-x|}l# *ĦP=V^bCT-RnQ).=gD2X@F0jQ\ڼܺWY^(:xq>Q\UA`yw+qb798S@ [ 7ct;y&T^˳ݹ{/?n\P&`]j 7#ZnLyR(I/}U]'m!,ژ~.ঀrf4/ +G͵|o/ jFdc9'}WS;^4j<|N0@ sqϪ3@)+^zC+OXtqfm~sYLq#::qщAc-&L\w+\+D-/Ƒ:в=B VId`bvČV N UAOG4,Q5$U!\I֖=_Y8rt \Y"%F8Й{Ug岟K L*ZC ĘDəq'G'N|ch T\T܁P |0TJ\"o۽Nk7W%.o^}XMJ&Z[:w1 ҈#^*h}l ӊd[o^\?;^,܊7"A8q񎐞|z \Ǝi~`},3JœPrU@q )-W Zq'^NåhwλY VKfDӁl gca;Ҳd}#N?Cll֯jkn:rHD + ږ#6̋iZ̪>>ŧCәD{?ٻ2Px;޹ʆH~0qy'S \>i\ڎ77Qd*93K)Û]y:qk+_”*"Pa'AQ:u;Cv_gnĈ쬋\I)6J3SZCb4|~kOmIKo>^̫_|\*..? d^΂hZ&8\`J(^d>*T6%!m\.-6C-1@D-й|ʄS{NfĢ1GJq/p J5$PB-|^>wf"uPߪZ5{p7PՊfu`3kd`ÄkBbbf/s@H;C %o эNVM܄2B-> +z]-xq +tftEB2U_KUٞIu l3a0h~> +zSFN_=Jm^Z™ ?(4*xdSA +fK,&sLĺRk_~6U[708h+ kNa/I9K#nu^}ǣF؈`g1uvm^{}f~jңTLRbLzܹοY;}=k)^y +8 *,^), ՗+KZ+/>9{fw޻sK < B3ܴ8(^mL) jŁ]`3* +|LŠ@gX5k ʒC,Q>ƔHp +x+p0!$AWB$o>T6l,cv2)Nev<=/C>ẄɮY|@8/`rN V\O7WJ~'f'ܜdGGI%g(#MTHY`?QH9>=vҐ}JzqOmw a;ip1FIR~&gzi1X^P PkOtv d3Z'(&|HZ\ I `C&d̂] q164F ځСZ\t[Kg?w=y~5)VQl}q}1=jWz[@kSow53\W_g6?^S*كo_|㯷/wSKjiI.D;;WޟyU:͚a>>|vpChyjV |-fD $jz+^'-J{ˋ7}:ڱNx(68bq}ɢR.$բS@r3;sKvX ``₄&",Ak ~m^OԖ@a5'\tDsZ,gt?اmLQb"5WcMBKiGc>~:!C@.x`'A\69f#Na;mFt#T+ZwӱH.LjZt $99).Ja(+B|DHtpC9TГ`fypՁH&wjst$ƒ@K@Bajg%Tr)T˽paW@}i(6,$t{ PaAr}%6Rgtp8IU{Z˻b\߽G\y݋?K+<޼9n꛵ۍ{{ͥKi?&W|\|„ 4ePc?׿2L ybbU; ΣϫwluޮOб6VaY_Zvf朇$@'R~@t!ROto@Mu6p ,'D'I5~ CbZHKW=Ai,Hs95 p188>7 @؝>E7 3Z!(>W@}0@Q/&Ldq8iB;~!F@l)2Tc#RA5jr:\yEE@mT-2ØM Pdˍ0ZCy Dib K$`М̮sV:,5W 5;7O_#)JbDc +g4iÏ󲺲sGG0-;gv6nYV߸;Z +շSʛ?|{F2ⵢy]X_izJlEnf.ed)]HH +Pu4s0uK=/-}+1j+9hW~p&`v".'b6/fPi.;wvu1] D*NT9$"Z1}-0͆jtv$FK 9s ;Z0و!4a.+i.V,ݽ^HBَ 09pgt ̐8B>R(„~SQAB8x +'Jg3+m=eYFMJh 62VDŤ𱴘2=*6JNmlgZ&J+ףYzaVJP2r*=+6l,Rsz~7q1!(lWmh _΅K#B„sk +aXV-NډIM{o~G$+Pu3TZ?ƣw&ıiHM q%WM7W!!JŃt}NLUTbb 1F;l0%𡸔w ӨR¸PsS0ѪS+.o (1rlO:N@  &R{颍tClt҃mB̤"eg݄VjkV|ЉpK6dIj"$%v$q)$, Ȥ 99[@eDtp`U?) aCl2bCB2aI/™:Vq)zgG !8-ZJDsm'D}^EZɂ`vsxR.@#7$pb"nTq"p 0#a㤔9PLlV'G]ƽF+ *X5]Ѐ͸HBrǧLd QZVI5dを$Bk6q 㼔6aC|>dB1VS-L˹ Hjjq;|( R5_uj?qCͅrAP]F$!B61E5ywfy79@/с,=C,l6X"x)%Y]UKi"Pp W^*ef Hjвz18)LI#Cc 'T,y ӳ3&cQEE” M;[!ȠM^Y/FR^LsCU!: +6gڄU +w|"/ns`lbs:>?(Ŝ2$[P;:d3BDp,N m^ٽ4TO6 +rpt3D]1RՋl^F8 GNfj1yF&IZ +8<&~b\2x0rLEG,8<ȈŅۼ t@0a# L2Ҳ΀\DF/"|i9j`׎Z&2kvl4Cg>> d9mTO9f=rl kd0Ǒ`"yruOZq7N|()wĤ :6l@0{ܨf!p&Ŵ0Ռgjb#gpPKŔϗv6ZRV7/?Gw/ߚEcrG8)b3X.7zʳK?o~w6gբ(H^?rGld~(RRτN92L5sK6_Wvj$yvmnz܌u'c.&!V D>2p<I`)#HXʙf2ÜǂJiqښM]Kӳ|78|G˫B,$14IT +9l_Z=}?ջ>}u/~~x/o<,1۽^-+4`#[_}\߽/n}|O._Ϯ|vv7 ͍ǎ{,$tq)~Ͽw_??7_惃rp6XOPa`?# Fzkd^?ߺ1??8/Ϟ_7~?g_?W-tH 1ARKp1Jn/xm-|o+|gѽ_q^[yM=%1Ws`ZWW~ޅ{O_?w߾:[ ~LL@Ϩj\٤ ~FNm^O{w?xug^|\,ˡ,d"tH:%$3 7.~᯾?uݻN=ګ_Y/ @hE %jB +/nlU?}w~?ɿ_|zWݽ/W ,NX (E ^ + z/^h|`{;Ƀ[?|~wyhA T0WhI<f{IhX>>?}}tk_v矞>OChJ@ȸC(r餳!~t7{n|gBٕ'w:Vp)\DQլ$rt&5n؝)OǞoo>=x/}G{6Np#Ǻ51D>Fz +Xwýɣ_W`*$Ń^ 4Bkjxo>T]?=xv}F [ \}=.d)^9LQ\3sn ޻>gk1atOSJ d醦Ed:CR>"{ss3˵^[LurF*B[c\ +ve^B3\v[ڟM]]M{{}.K?xţYz~}v.>8&QaT6Q]-Lb'߽g|KNW+Qm!\ȃpWXKkt!*&۹h+O~nX 9]Ȳ@s˜]옅:93%HǽID1I(lT +HW0X0t*xb,9 =^gL8[iK\1xa\[S\L>alr`Jn,xrcc t< "rJ;)~(?fah +_.a\9X^d$YVKB6JETDL Ɲr +fa!:"D Qyp./̔a;$0b錦YZ`h醝m^`ǬN +*&y=:q,HQ 5 r@@*݋3M)D:`1eQUMhj(KL3X^v +z 6\4tMCVȨ}Fle%4 +X.ĥd,)k콋/_;6?[D"q?cbMF\dx'pL\u̲\[?{F8C]O'l8Fq9_Nz,Z Sډz{r"Fz:TZ@YsB'.6j3t W٥"17e|x%5>>fqJbޅDȎhԋ &IZ å`AJ V+zMZ֫l"%;bA+IZ/ xІLC~C<HqV-9\Dqd%IJz497?3ubҸk+z<!qAscl ȵχ,t`Fsۓq1&c.2jAG_ iLZ/;qMILBX<hFN2fTG1P׶D 2$%VJOLVJ~|p>&܂{I^}}+rggWw̪,ﻪ}OٝٙݝrI.KQЕ A7EESA:̈0J~YD\z>)5&oUWQJ*Qm^k7bb3|iEKǫcYG&S4JХXLRn)Z_cޛŪ^߫oX'c1;?{rmg" k3AnA* [?k):O^^nbz/xZi_<`.qwT2Q /err\(Ǥql頨 ∔K=a QњirI!mZ$`X#A^or)J8*n$dQ˰ez2sڣ\!Js| |׃lcje8/ċf beXq>jFI7+wCvvփz3%Z ɱYKPOzAZ;T)H)]SJLQ] c7c$``JҔ,kJm_s#zi]]}aumAuӹwmF J)B9ッyZ3b5Y /Cu/Atb{Ҿ` +,W`J; )Qe?nioRtFW'?o~~L iQVvwHBofwO{Ϥqr{ʾ:o~obtHqw!Ε# '* ;{sSqRq\y\SlͽӷX|}0m`-jym&*5z*-q}~x+ꚭ}`H*gp!V?aI9eJ™h:njA0RUn`z7TNQs=>x5iڱ9?H=`1V5~/wbş}c4z:ZMIn}WZyoڧ8}w5тg7cJEw?U3\ I>l~s{ٛqWvٯIWT[;~W^WP_=ͯ)F9fN:_Ojk_[ڹyJ(]Ԃ'^GFHA7rLwyY?w(h3kt|6iBɳn(6ʚI~O6k2le%NJ%^Bi^9]9$BcjQ#Y]fh5 Ii|y3pp=r"Rv4J#Jkvߌ}'o.ϲ;y i|2\op}6AuΘs~DndY&i\w޵ݻ0:֖/_ifR ` @Ai>_Z祽5dQzW?T&WE |K@o9w_?Dr͙ܾ^;W߃]z6 %?*z'w8?zi5ZZMS~NfoewjafYy)wDx5k08|3=!nutejo]ڳ/ss84Eiq17lƐW n bxπMS\h͑;^S4 D3iolgUȢդ[O3+.}("ҋndxĖf&/@0.A`)gVrJ7U +RsQB;1zXbi#Mw&UP.MH{'U~q{/X?$IF#j?ωTgKS4-uOˣ u*jR3Z D*S2sXHߣKHQbݎ5h_}=:\T,9i,5FԮ/WS4T9+P8Z \K0eRw+7a)K3q%Ue(c~<:}gijqigX;>þMm|?VQ_yp.7b>rwiˋV*f__Ď&[>4z;CxӳG^CgjN\ӥ=T!BnN_az'+2B;R N[Qf2^}x{c:v:ץ&ԥ!$,J9Ioӆ=uOCw 8;(gW; B}5Zh ur|&h{06m⻣8|ۇἚ QwڄuʉF 48kч=+@._? 'Vyx=[$-ީ>JKy|iaKDY=ә_+j_I +!D˹Eޖ7C=AuT7:ӟ]FZF8N;kn#E. ܹ +cZ/A"j-WX[7z״;IUǧ~e/}0SiAP+KFޟ*{4FUBY(ztiC}{eN8}3ع8*?_}[ڀ~q, sZ=+xo.Rsa;6Gb3:X_qX;TsgKrm_xx.M@R}Dg:UFxVڽsEB˭c}d ~VQhL\y7Yg| + + +R >+3Kٗ ʅk(O̐*V9Ah;`:>z;luLb3H  +\?9>MyE-\壜 U)/m@" WDwpuz:nb գ a}Prifu.xIvr9Z)E6v`"MZ?v/ᛧ je@qv'>ך@uc :&/@PJ>>jsLi!b0GpƩڡ CSY$6fY:vVj+ˁOsM uV-]PhY.cu. #jl%p%E[K]@°$5 (@i$jf.,J'Koxs?Jrcr{;'F +ZhKj +Z7gEd)6zF}+MF\O&,cI@mGr f6zy 9tLf1Z&PV JezkCS͉: *4"V-uNkI. 5Nqp"Y^j#J8h]PJ@O+\QkW qxADŽaWc09Pހ[D0>ojiΫ;_/~c/0sP[<]|)wV<չa]P 7BkUQUy-ܚVR ~1Cjrѹ}%x;I]Os/r}k)ʁ܎8~0GRViRG䰷[S|˱Z\ 7l8 JGo_'3)ꢷGc)Viӊz;Ei1eӍ,jN(낿S?ood7+Q;!+Vy74\;X К?Tk LHAFaI&G 0"$-| eVhAl$l)1HLSW EK5aIE"aֶ(SCXApw@q!!T' nw<~3"Dp)*{jry,:kWV׿l|[i&hՐ6hT`,#wxR&i뻯.髿o"SҘV朿{K:{ q* #ћSF7Xy0jJmf:Ȗ_=3en| U=!+=%iuerJU2<41IexҴW >P - )$Z08N\~Tww@DPh(ҔWPzBK9o {+on Ӣ_&fp&E3uNtwAcS`UR0̸#4ikSC0Rby^Ji 8{{Wb:0BeeOoC0z!Sڏx^>!X(s +endstream endobj 79 0 obj <>stream +=TjcX'ze|aƐq ^: ,a9叮$R~WkǩOyh֎?}sѳ?\~c.RaUfySCy%(BiNSO;/Z R VqmhQ>)ĭ6x ҙ!bk+'oyB-hwK㧐ҹK  #%K/=Izт~/0+I)>G1**}@0ʹ\ŭ+B/ACy'~ +V7Z(ZwU^1$(:g"XOj~%X^z ^ne&f,Su :Q^˨ji?$j\ս t1٬79ѮN֏QNR^^l8C[PAj}/ 儢 TZjZ<}T'nAYPN换J3)E=7֥s^06"lg$+ԣT%TQcw1+ucUsae|M:(]-s{*8$C06R_Qri\_1u3 q]kڞoT_"AԎ w#$<'IֻE;+vh=cR]u$5>}-Tvøs/v$نҼ0&rfZl#*&2?JJRwF {ZႱY/0brGhÇ,x(D픰ch4֣OPQjč$آZhP]msu* 6g ^ïJWX@'8Sia]uCgBae9%Wèp.m<Kw{8e#"ՁI k5Nrj=.a(C9QߍN#aA+uAC'- M1es;:v.Sz//a)*x@I/h9mdxP/jyh3:׿]3 +dyxQg)K]y.b~3^+Qj$9<1/0&@eZkD |P34EjCRvtd(c$]@zU +ѺRrl8ky!uNfk^n۽+Ҟe0 -UzLuޝ ^.Ƙ^rtU1gOv_I4q}.gWb:bd>*HV|={?/8I6Tqu bsbimJ+Lh={Ε_P`IT׉rF9JczD{P6ċ=4`!{0R֐кFp&}=#Zc<0kRIj1Y2LFmF͵7z.RtTw>mi{ +H DCjL8\6q9B +r *9-Z38~}HÝf9FSTWƏ%;*-eۨ3`,[[Qeh.c|"ňԷD0[5 =_&"( +`4SFmw_fbR Rs/]"9)YΑ?0ju+#nee(FZdj":&%JjPVVZ" +y %h/9YŨJQ\Mz~#%J,}IVOV-:팠wyS1,]PMSzGJ0 eOg Bo mvi`M4GJA EY25QXuN]|'.b_ALN`(?6;V* P `r;7PTl8+t7HKI̕\nF !jQdfΛYNZ]%F:1ŭ6n6s<.7ӸMAp#I + Dŕe} 4UF<\oBJ0rMt)j-I'2ig=NJZ0"%@{1FAAG rʉY ~0A{Yu)"a,((a֝IÍ(1Ҁ +9 #7l<'zo,#z\qv}%d9@-Ш+!Url !m .' +C[Y%QDdD4a0s9BR:ɰ"?G:*ԅ?Uy˻|Nh2 |<E: +ӫ9O]?Qli78傩 3ǔ(*G |Qhջ,eIJ8/CnG**6AĂ7aC~3lٝ|tKG|-XbHD^2 0E`Z_O;#vYT_4"jo$P[戾jAk-c mVFL oq^N5rȿRE*jB.Xڽ$*>k!FF~7l%Rd5V`q( xa5/GT̳ +ao!_9@*H 6\O>A)w2L2P]"d,HLZrr跗_7f ,9e9LFB>( Zw=ɷfkÜ^c4*'}DʵsBqu SNQ>ځZ9 \LJʛ,s8[:AS.)+*A6")a+I-qgw!TO@WApA3s2Ǹ1ȉV6Lr^j@lZ+>:",F^FH,]iex I]0Bm@FAPpHlcq#b(G R VċfdY0 s~FWh-e(;NX9Rgy +ـ7` SZ1"yQ1u=EFvSk$S, ey/ÕTrvKwb)TXO0K򅠻t3Vӵzr 2\[l"b+IL\mv& _v r|trhCy3S% ~pќ8QzWzbi%)$ 6 +$^@6QV"FŔ@\X{7T0sH;S`v0E11Ŵp%ycDm tp]} `5h9|$vhRVemP9e%k;@m)+O -ހH;{9C 2dc,Aۅ +0aAA" cHl; ]C>{;4XP +;Kl%4Is. +4[]KC۝kqI(^T`Xpq?NFQk0 ,*  +(0f'aVhXoBnh/>YôL "`r m].X> F> =T o1WcBՋ$[)XmkyI}(%WO70 +%9].@dȄ,Յ<;зi Ӂ͂LXm_2=p4YoBdm$c-QZI(Gf?J[Ӄy4 Ɩ(z?ρ)7ƙ%C#TbWjBua /_./L#9t(z9CZʞnJoa npH MK$${{5>Ezy 8ODs8 I\U+;byRt5s%ֆQm,UK;=ˊVZ1 ~HA`ܑ!;cl0tN9r7 QL q-hI3R"\G#Sn+&K׬#&TӔgu QQ=F9٫i)Fe4 $Q l8*`0ieҾJ>ˉ-(((޾;xA3B7Tt{WJI +WzЍ0 ^i#+GWwxPIscgHSV7sF!ĵ$3VZL _•rc9@f: 6RU{a d̸QQD0 lcIX \+hB6CCY7.Q*ͽג7)^A;GYF91)Kݭ J ̅j)ḿbYy,(nGSy`j_OpJa^ 䓵zAՔz{l,l l =Yw><0 `U~a1gOV(l0i@ps\c=!Fab3xv"m`"pN+Ips#xˈ8C{yA&ͬ~?&lgaoa+mT8`*ru)Z`B;pEsp <XZG+ EPc5@$hfN"7 Ɵǂ!X'iWR#+I2ꧡq?LD팴9>!<;9)!f2~Vpm:A]+p?YK.f틍[ܜBԟn ;}ȋ$HX;`]0NA|o#?(TE>'A;=>mC(N&-Ke.v78l I/5R" v0O"_#K)8DA>taQXʦ$dU +eY?Wr"g6"w3l5;$8P(nm|FtT)VP WT=A^nZh$TVcj$ΰAaM0k׆i썜DLm${Y 9dJIdJS^zΤ ★]+ì*(qҎzw>ykgRQ]ęv*\iWi_r#ߗ9M +͂k)Ə`Z_SѼ(9ͰjJf^!L84z)'R9JqVRZZTVN,*,SΪI>Z0U㘑 6Uy=3'b'5Sl}9odHDA*7RdyV XBy-nw"k5-}}-Ǩ@ agF0Ӎr̊6J/EQk#%(dj-팸#d`fzfAR뜉d+Ċ*(gi͌0d%#te#m[e1F9+Zy[{YʥzZKP`yAnFUӤfEXcqBv1Ʊ0f?1܌Mܘ*\<÷Er8(!Dʉ[`AG F`"]ƍTtz71F%L뱕#e~Fl#|ctee"L:Y0gܼHԍd1vq;* R!5cr&j(E /{1`+ AB׶rVNH+rR6\(-$@| { ȫ[Z*~_Or"ՈLp=GZ tr C>"t(s-ll= Y: ~?̯ǹP6v>WL=6RE6 +Cdc9.nea(eA 6t(+އNq};üВKW9x'BE}ع퍌Bm-sfg$(j'MQ-^fo='. I z$&T9^g3Z9**GIT*C:<=90̀ 6b16k1DuX={Lk~Ɍz ++HÎF()W +Yu<{QN"`Lz,Ć KS9Lqتo|H; Y G(q2ƕ.[KOB RZ2i[$d \\+uaՠXVu0.nŻ(mG8iDuE:x-dAWlT\nE:㉡rr',ʚM-36jBL(?JEA +n&w蟰@8^&T6btc:I9KTт$b sSrQ7BAl͎xL͹B +W ^re:u% k0Z# x*XqAfW;fv*mR:RO9(3i;ܔ +DrIu]5e7e'qe{(e +:LwtKXE奲r~H&]9Cj(0Eͨ}AŒ/lBRcT.;Ɂ`R)g:\v:lJUv9} 0/`ԓV|͑\= +ھaᚶ*4̸I'6NY 7YN\L z\nU%{!<⤃r^:x|ԆŜ +mNń$a$Эdѫst6Zd^́P6UZ sh @pP{– L+8(? 7egƭԌKq +-+3Óbk1n 2jX#`b'm)7r? nF0AfmG;=$fpDBܢ6@JN:JM:vꤍ lpIB0\܊\d,; >a NZr:)׶~bьp?8kba S=Hl^|0d$R},1ȀFDj߀4J}!b3_ۡkPФ Myr+ ̼R$m+qV]<㳣ͳK1mBc^&  ` &6NƁڎ.&؆*x2(ĴzU6 mw 83ڮ&\5,XԸ8i +LBzmK^*([ + +d@Ѥq0R̴"2У+N1ܘRPk"Ø}l  >2H3NvX>L״;XP?PиX=L0GADJw9k[p) ݸbc6zlrZ$$3P ,ҋVTr9ϖ{ȟ_(2k ^YmdGm"p*\Kd> 2xm?;]ȎΡ&Ms-Cz]J[0 C +E&H ̂TXvς!7r.ꤲH>z"',,*U ]3EJVdz-,Ȕ5"PfB␼&$JgEuEg&h. !BOJ‹nюVcIh ¯^ۗbf4$}S"Ҥ6.7AeBrݤ%$C[]0 .B?o#/W3KBv!) SJ1 /hXF8uf5aq$KY,=ҶE v:=HAKepu p%s0n D- Or.X+w*/Lxq{BIG8T(`I h3")ഓ&L3H϶uvq@5fƧK!+Zbz NڐOY&5PmKvcf;6ُLZ2&$=n +L? O 1qz9iPJ 44I3.?nܥsktP*Oj]ImL2yx+Qdqlmv5Gu.:Aa&Ã" P4yY1^YI71f}Ijҿ4!^Y4x(E!Iqk"]I e AC)gЊɠGl Iv~6` Xq P4zZzBL, %A0rN=x|xi `AxH׸q;$Qt(m%vvɁO/\făDmSSo̎RnN4' ^wa=aL;X/! ȝMthda9_ +BŤPq XXM/Yp>.$Fmhz;I/%7<3KbV|L28+ÇTob> Ctj55G+>f"BKb{t, ^W;>d|J-!_ڴq"#m)|/tN20&X,AŤꢔ\yҍA،ۉE&wΔmB ZcFс'jz㝕sCf̎% :I3xDAm=5>sMY; $hӀO;_>J CR4#{@& .  ' muv\`t6r"EP4RS2p6ScoJLȌv #-?a<92Y1E`ixτ 59 w 1C` +˺8Jh]ΐb!-aڰM[Xf*D(&"BX8U|~fL6 4]Ku|bq#N9`N nCPu%6J@$@T VߖDf~;Y nfxu[F"=;]bK2s`` O0'L1TⲔɅ!L0$,)f4IE\BEHF51Lz4 0M 3+d&D!8CB@_q3su6sVf@@/ [6! Pt[0>˸Û\KӃ`FlpX$b6"17nracS)G->mql˛҄y9\J7a.|{h(D8>0Zp6X׻Mz@mԾx€LI*̈!I?]Cq:+@+aC: X ]cH pO[񜓩X/m8ɴu 0 6HX0TS6DaB1n +5F]tqKqu-e/K0r.fh0<Y' r101C@;ō;'`w28$S>`R. +P4c09-,>pv8i`F|t dCf_@ONb +6Bd2&]uZMCf dh,x٪%|AG`C셸4rToo:QW0HGت=ڃ)3M 0FDE|HSg#,nIgqw tn(Pc:/؝K41i͐5Աd9EG&tʍ`NCUO,3r%3z%9<3xH5$/ջ9Y2[aGHl>ىv>Hi?B!u# \2);҅hnq̳ FR|~Ne!g܂'mB]qE(33ULarͭ]_Z۰$$DTق31!Zyg,+i';،,P1+eML°]<=ctJi Ohc0 GMuzf ǁYuQyX@XQd OEuJw[P"uLüMI;O&+Ϣ6't~i T"M'q3 +!h=a'`,5'ڂHq!8Jgx +%ҸXEpf4niׅ?xNXQMe bI`L+F )0a#0 + C-hf'-]ΏL8!_v؂-6 gST385Ӷ.]c nч)A AR`Q&rwY ' Zj8!8O:PФ$I+~Hv*.X1b?iD7tvZg*f<}.Rquk4B +jYF4&gAcڲ#ew"9;퀏)0+H\'XudU_0-UŅ^ri0a#}A3c` D݄ +qGM Õ; .IW{%q zG +5TC:\4LhrE:= ]7Y u`uq3@e)@6z'iGQ$r_ Py-xyP0 VrJ0ϏݽjL N|Ҙ)4a N'X&M:L#1 z43Rg Q?>Yj첗]'S +Y\AFk0a @4.cP."4~riVdm5 )RVl r0Zq eKNKcz7 UۧPtjK8zh.ڊh|JYјS/mGh+1"`Zd X]#v`!6VX6i&YI;(V_63:?Agt Kb\즦-!?ẍ"I`c/;6sטyˆ4QC}L_g׻8;]H++Sւ^3 `uQ@2@*}L3k:GJ}ZK9L0 Y KhqT0JX N; @>Tqy*G# X\Pwn)fмvC60p*m'cqbH7&dCcn2G}M*D! :⦊d@b\iF`?:v4;0@5!6 1kHtx x v!{hy+"2tNg i]ڥ%2$!l+LPUO6iK$zر8Bisz'y>3 sC)4flѮ:)xj|N057[)ZC،_ݳq?Wd#!;#Ln[a|M9X#pCPlmp!.;}T7RYOO ͠rS 9$q4rxE&H¨y" XJ]\~1^ߊVV̜Oy2̂G%Djl底P\9b9B}7_c-bT"і!*VDN)J 7e&XEO9t`*W%NJPʌ&õI 8&"VLڌM~ 2  BWgϗpFefиfiuT.67 !fb+ՈTUPrMۉJRn0<\A(lI$4DP5a=LIf 7lPq>@CZ +|n>A`J@#ᶗS +mI{O-τYt@AH% 08Tb rt4c=xg&$zVX^Ē]67/THHRZvG{D$i"q3Y (<ք*A3lFT(WJh ׽tM%턂E|nR遝jIH5m[\KkRy.Pfit/D@u̼O,5v1TkkJgWkf\*`r & fyP6.2 y 7*΢Hf(քơYXX}3\^spy#ZCJPw(uD +) gF(ݗʫ +LgLc 4tD}1?7Cq!, hԌ1`O&xxQگ9T\:#e +hcu KAYdbq)YnZ9,b .XsG켛NtI`9&9KHucC.3K@0kJeHJtvNDpzBaH Ֆ`H FM$t[եdg7\Y &^:o L&@l$i6!+꣕T މ77˅U PDҙd{Ţ=c@r-[&"0m=t7R1/dw#acLsb~O(b:C6r!.הʊκ ꑩ>E*kP*,%ea$ܴuqE8U*sa[[;pjn2sP,e. E)-#U6laAg)N6PZ6KKӀhiAk@0E<JQv)MX@K@aatytK۹>:O*/0~튕%\?|X% FB~/fE+G-.kH"To_DTq΍G0Y,Kfx%pI$׷+iZ[Bi/Htg|1xYs(2D+4 +ΡĩmCYZiǛ[#uxTo^E8 o(\ZxdgKA0$@PHy%JKln/,ϐj*4,W\J`KKdK%N`100XVjW +gssgJ+WӽSZfNw~hC{…!*4Z].-+-\PkP ՀErvpT_~pvcst6wKSSFiϺ\rEBRvp;᭵ =ܷ<]ilNuH;(wb0ss% H%k0 +R)ʵD{??l{/*Ut^N+Wå-^wAٗoUS Bkj-7{>?\]V:}&dcuFoGk.+ iHerszvu=K#[9Z]6yHԡj* yxɅKHvdp j?0.`6,*ك gnn^#Թj̝ȗx%U_l\8n,Ǫ+- *U{D1}ԍ+N5>`}޵=Bs'/]+E k]y8Y!B-IDs1aRq!;slOv/?ٵsT 3s^K /}^dD[$-CN sO8p`HeL LwWW;1gaH9&3L7k{YYB|~&::L1YBUڇv2S꒔ml]Mtw*K݃^u2ݍ+&vL/fwzn0tMq1Re:;Bv8vauJ6 ;ۛZt7.5cO|W\:}ˊ'L֞? Wփb|o[ˡhx%x|Pk./և[׳}1H0AskO[.]ƚjx |E~pjܣˇ7D:mr/Vx?R^Og{奀u:HĚ¼4!SťsX}/}W@ig{7V.?jQmоOΏ懇ҼIPXHDǛ=\ri7sG+La drqVT*V/Fj Ax%XKO}q/^|L*/YC~6G%s09ѦO,'* {*Dkŕ+laTY,^7>H0z;5TR{7N=xpaxNGk ,(Q`9Sbi+\]WWq}F%ZUݎT7BM[TwLZHxXULJ-9JAAvC%Z0kZ +UhIe Ѱ->?<+K/]itHҳ 0sP;A|3Í V-"m"S@ZM&uw;d,z80hG(J$;2Lɐft,oGsE\~^ioEAiT L7THYu rh28sݝ¹<3p Y)Wkn&F[ZLaqY2 J0>mm~|(ƚ7ʭ{xjnV׮fl7[+dNbBWEJH5 HYpQXicU\:k𙁘upavt>^tP_|$QQQnnj7[# ,-EfP"Te|:"^Z\8z~#QےR~Ht`pe`R!^[˗{7D +;^G3g=6 wzmsfkýTIFDUv)0`rqa@!I+]O؉ϸL{=TF-Mڂ:iŢ<{&'wlTw1$J9<5`/ !`VB01$*x8n,y6?[riA)o=8{)nwVt7 +X\{ E&;YH{깏-~JU˭t7mDRt0m0{(Gk&i pT rڅO6ok+{V!SmZ.ZI7JE2ڴ5(9>Ӂ o$hT˥~+)h8~Gd[oC'M%JKܙ$o󕹳{l <<6 '-&j(֖ٳktcFPCơUpRq[>B P2D;= ˵+۽[ 3(ڂJBIw%1Ւ2]"Hu9XeRL`*{0?wti?wYTQ@2׾hށY.c]}?$ISy40J3ݫmFʜXR*T +Ti)\д/fa͝D,eTmpW(bɆ?R@DO7.**5ޖ䌟m|x Q]s2fgWg{|b+S1;źLvI*,vNCZ:POG`BFvUDwٙvD-͗HՎEa¦=kڛ5v@-P΍GbMrJ(Qe*ِ2sJmSo&!hyʁOYPrBN +LggFGr0^*꠺Hx\F7X8o E.KMjo9\+ݐRr +`"6[{f CY>7f ZՖ.ҩʅxV*u1nY,IzsZ#(RZF&F&⡒`ϔ޾XY%3CNhgdFA(مdcK.օ[KfH$.6ڲQP4@X&MRpxoopa#\J֗ 0JKw}]r_i,[ۙ~fpPwێxp)u1cʄ>-r="4-gT~8aO1X9C+mW= +jk_m-Vw/_'o-f;RO +t2Xm=u{yg _zS_׾7_}/|c^.] G2dT6]kVwN]?Z\ܺ~goo~zGJuDND` QK^Ϙ +vWO՗uo^}|3_n<{?OןX9;|#BfO(l7j,l/\}O}W;{{?=֥Rw.B hx̆Q.V+ G֒Қ?u'>{ٛOOz/O}ǩd͉K);WTW-v2jv7?ygO|ÿ~?+6| \)^Zϵ-EyCa.^#"5/%lmn >qx}c}qҭ96QwOxYQͮo?{7n?|ֻo/}G~k(͟vY?}9Yjk}O~_}~/~??/~O}k++ÍHQh7/_ؓ/|_?}7~_~?_hG@+Fo~m;g.^3_s_Ƴ_ /ǯ_oO~ xwou!0l#D+V]fۣݳ~O<ϟ7~ƻ_?O G /00D7v +ͣK7?[|ҏk?zk{߼~7? ?i=[|!T{sg}_}?ջ/o?goϷORnΡ}6`'i)Fr\:,tv/^ԧ/7姿x7? /}gSr~w)61;={|#?ӯ|o7oʵ╅dRPX1Of͏>Sz?G??{~0/}[_~+>w/JqP.嚳jwq`khַ~{?|~ +x~>xG?S{Y^sɲڳg8tѹK7~ŗ_o^}W~7~y띷wdmq*eAKEZʤj=;׿>_旿7*䀬D/%˃!Wy_^xo_o7?||сV,>hG&"jr{a'?~?y?~ͷ{~;x|,Әe;JYdXmrt}}W'ow?O~oÏ_yC`mSVT#V^7{G77אָ /]11K?Ro [}?//~~~^\9VmH@ cLYA-^$8NeӇ{|~_w__?zpn!WP +*Fz"Wi9{٧|Oן|ԨQ&Հ yKx0018lLwvOyݧϟx_o}o~O~_^=MFs´ä dy"%ec铗_~O<{_?>x{w[q<ݐӡ ˞bANj'O=w_7?7?ӧj(qKܐ7L`rY`% fa +\G6 "4?øF$ +|ʲQ/"ƈ(FɁ)K^T<@+m"aL Fx( +#EL*_)Ɠwl,>t [3":ÂOقdd aRyC%eU׌X*NZ=QDJ({,)e7{ 8`Yҋ>B0w"[p\alA G8 QY0QU^ya1Fd˄8"UF/.81wD%;d;aouaR2$BƜaiG. +l$ɄV=X%( ahZ$`: òw +W,!e.Xv*8rvj0okX *0 R1J.,[20VM9م+Y[61F8<*3kK.4qЏH߿d[uZWAlR`'AK:rqKM!:(MT{ $d,LI/d؁ܲ\z 5.&nL9"R6l> @R/@E6$q)7j\C(^”mf 3)ZE7\C;LĘP[^4f .d88[DX7\dgNbDŽ2dQ6y7[{!̪uգ3NDw@<A5X A"K->ёMVZ +n5r |u &C;$JiOY#ă{05/U8/yE0f~ + @ݶ<<.8Xkӹ-qbvu\W<ǥVJX ǵ]&xaeEA&"/)?!Za) ɅEh,TDvIR1LȲF1kAQ"Lraֿw~5kδVEk)D[%7b>+mBoF6aT3mҗ\QBt +bs d{1&.KN8a&|08(.VQZD$p ɋ^NX +s96&*dg֔gJD贐h5gH\B\Gܹt~)19в#B-F͉(B#"B\ik *l?[P`W<$8*-9K+XʮV3ՐlAt$7Ia ˈTc{vEVV"V^#-e/ Jh }~VLT.60unޱ<..XX8ҭ9 ? % +|cA:$:JnCmJtzrM`L;Ii,=(Slz +VKZm+9JtORL,Ghn)ED7xqSjq4Y_X+@\)Ȗ`'|fs = 302}R-3#ioX;0ÉfᝰU);9Bg +[b3>iX*bjŃzŋt(׋Kbq΍`Ňj~BD$;,#|r@|-В :"(&R KӈRI7Dx]q$ ޙs"Dr $D{ťȚĂ^ވ\JLNBdbކ)0yR^" 1DW=𥕰a"f0˞(@Y/VXqSɘI-0A9,{+> +.1T. 0.JlVyrPFY1&BU[D"\9Ƶŕ` 2VKZ~tcX/crfxR.ILjZL?91ZQ>L6OZ3ΉH,0Sc6ׯ'J]ipUJu|Cr1)hЉ6"̸ڻλvOM*nr-"9沛r~8'1 R†# Z faBk+^ +f@% bm&vOa; @ @ x ٿ1ZX EWt`*FK)l <lVxPpUqTo~40q;@ClwX:qWl!oDĄPȥ 1oFW\0AUX- 6P"PuA*h֠3L7CT+8<tmQ +QUugD󫗖pwT*ykف`.,;V<3%t\ʍT.2R٦RC.:gmܹd "6oPבO `O9$Ĥ4ۡP9/fE0UD+G +IyXlߺ!"=Q^Jv1u&$DXay΁aiR݃媗:qjhG"q E*aqxV!R-ϳkX7ٳ@rspr7tKF/5 +$728,p)lm@qVnvv=2ӿom~glكJ!9Hof&χW?Kv@Ⴙy`0ĊRh`怟Au7sZt\!kB&QG*Ʀz!*-VN" +|/*Zpa@ Ԯ3DPy15&5n'd/T3Rkh`3TcMP@uA|! + +{zhr~e/"mm>IQ +ŨT4Zxq`EfG0~gνW?3}T)%TǷӻ*,/8 +J(A"Mz))p@L_*L[Fgrz_8P4jaw5}ݘTI'xXlbȍdrdwvI+N*%ow'OBT1?͎n}VZ{()ȢFTLMt0`ڄ V>7I o6t}4#A ~/C !5YK'U[ǀ UR.xQ!- /#nQ XxZ)C0.{ kD=&063+{@M{TK;z0zUdTK@Zr4`RRQJD,Fbs\y~,*꣓l5aV:RTX.Wkꮚ +4i%)s^kƑTڂ =2:et?ܻɣEB{WpYݻ_㏨F,(/$jy#0D#2>3qDֈ5$pw^2rT*X jHۻKv\Ga ob %b@Fd:05YT@dUZͮܩo߻ƝȊ!$C;Y.Hg.KSr̦\zm8Sdlӗ?]^cPv9٫_k{jȔ49DsKwKWRs+ N;RDk#.03{̼Yaw%ade}xok̶0p;1 7jT +aH%GӚ]_4`Lh׬]լLooVέx朰V w}٬xw߉+Fuvsq} ̻q!ՏETyi: I :>JEP0(j-Is:Q`˹1&I%WW6nR=.ёFqtZY\Tf "jA(51w@AvB"f@HH-oW\}߲5INg\}CG|~tkXh.J#́-xNT'b=y7Ҹj%ј%t.Pz ίۊmD @l#&&A)q6jץ6G(\vVQ}M]¾i{W޹#6F4ځ\iGXq@ + r'Nk!:8{tzMkj"TbA [\a/rr:] ++*jU:R--)Or}87e:I/1NƛM94 w&a6o;Ϡt%:`GeϮazDu|REX8*[;?Ώnz?7>2cѫSJ"!lϭqi)ݫnmbA>\h)j4JkIix/Qnla^U}K.;sn,xp 1HX4Zy;V߫m>|3:~-158>D'\ʧ6(f nrG\҃33oݨa6k7c}T. ( l!d@hmb|MU~>$W-CaF䚵ST!'_IyJ[lf'byO^ ENf;a2DF>@H-./QC'1G$2j ^kZՀAʶ NpoMR-_]5LWDY +.rb`0d01"-{j=^EHMLU4ȔIqFc~}L'U:a[~@S1RZQ6>zfP +P~ygA$)=Ҋ΍lj:yjvϹEN BksyKp"f"\]EUiR\%`ˣXtCKx Kl; t$f'Teވƚus!SFObɉǜJ-9׎-A)])e!J⥪MuavQfxՈh' ŋ󩮒Qz;FtBzsr~k a(Gw>ؙ.viM>>IJ-kNk?Lh*U4d::J_ޭmݛ^{ߨܯ׎XVF#}2 mB-Hste*֚d}ΟV*1n]{RU8L)rHKg̱&0+X8S `/DGHRB/[h  +Bf x@hD(.k)I}T׵v*Vv7*\SQ@DC,y)K[;RW̓WA: s9RoRgsiCTlvS3PUzV,!Oz @y~4K9"Vbw7Z;wU6Ve,=j7x,U.bb-.95 ]Z/,ϞЁв%'qq%taɷW]bW=\R.L)'x0<=VqFG M yuޏX=7$HA);SWŵ&!uGT4]!.0EP6` 1%L'Ƥ|n 'LhB{GNy3պ!faM͍!8g2J)[ŠD?OyGRKR +16xg5̕ZK(-kމJIo#͎V"wQjVFf`wwO?<~/~uSL)r~<hXAΰ`!,Y10T)H*Y(\QsM$afflC鳆b> 0!@N W|\(j`RW*V#,7+iw0ڿ}%cRV)L|v+Ȥk1!?ј4&Hvhi֎/ k^tD^4JSR-_yV^ r <Ό6R|0;҆Qؠ!@߻`w ~~9oCf1 LKqݡs*OȴdҢCoT-J G/:eG`Z8Б9' +-g)1I9L̩ѭg_m brb|6K'a3rjrf bN)5YO.98s;DcV*9KpŃCe@4 a.5znx?x7=[߾vJ1Y#-Xu!$h?V]3CxkoR]yg_+&a> _ RTv^M\ʗRc!;uUXBHLtK,.9ڎUlGT1*aYx>~1hmzjxN&f&+#Z|XL B K~E[@t?jBt\ %;SV#Tn@\AM&wBJy>|:>@.: 9]?x`c DOX=L9ܟ^^yz~{n#dܔkl]yxXτq]L4!ḄOE K~D[q>*ADZ><r_@qx`ÒHX_4N:Ea 33v/DģBl\\ޅ E'eN-C*XBeL-SɞTdohȬo @|v#"]s#^z>'0BFy!:5!?* Ԧs>B(XQ/ Άv66顙]NrQXK(sbͥ/ر8K-HMJ)_}^Tsɏ^l/⦐q6&ó؋Pvڲs!7c'9byٍ_ 9 nd aZ3`|TN{[[v B*s {HDtJ{ KO De̟Qh0mNN;NȒM!٢^\NkBsEWݨ'"EH'":1&9$%ӓ[?ʻ2k1][}4pwm mAzqGl(UX +`&C4\(.:?ѵB5`&m^e a.%*Փ*f0؜lKZeK̭cz>f֟};"KKQD/DF\iyzEV^K h47 +PzS͌ 'bxqOHZ pX͞JRP8g,aC&+\<|\pɦRoV7^w_n}ۿc3Cuhc)d=Pq`k=S޶vjW•Ƣ\F>=}m8&ZoK褹~4NT)^i d=H Q^ N+[ݫ|fS^:!&؀䦳., +GIX$5^ac0>\}=ío|5E(#( b'2۳)惠F1i%=HJ6mh DK1 /w\v(_Rs[z">..C`%VSS 31F{כ7?h> p Pr[;xT +yT*zkzĤ_=1!da ޽ټVNPk\vW7 +g)kZӂDjayo^ڤ/'~֟^t.{0'"y_+ n +5nsТH/O{R#͊RJz{g=)⍽d>"C$xDZP5h5Fb.z~t淆0Sq%;Md0~7m.Bv=vT- 0J8Len{69f0><$Z\yٗ3AdF=Ξy#>g ps=dJm:WcA{vhBnĴ\vTn\5_Zk!DV6EE% f JXZ?y_]p-8p@M}D AGSM`ݻ/K􄈷ff0k ۹@;!H|?X +:-l''tc%3mQh/z@B޾r +s R+gbvPSN~k]cK@aL̄Lߞߌp٨ v#?'*S6XpSs6tFbI̚Q-~1LQ!yL+IM7(7=q~r3!cG4./֢R!j/X+E%gV\^@+.|XS* `nrszojO"\?^}}Ͼ>{sֱRܚ>?}@mR~=;I4f/痼,S1g ^%cuaTw8}Vz۳D^cy}#9{ ‰K^;ُpoT , `Њvl yObRF-M{K)!awzϏ}q㳝0RrZC(Lׇi.HvAYѸ7jit’?¤&gf H'vn[)Q0^q|/:0䉆ك+&l\)Lf7|ޓO?!@x/figUG^<?ͣVHlEg6!&kZ@#cM%)pGk5;5?M'n 6QĚ=$\\ |¢AV:7" S[/ ӳ-G!-*J96FgZury{ǟ<9J+>?{[?z_R\u{Ja\NkuBLεPT5&pJ &Pf#;NnamnwlNf5gz@͘aˀ`uڲG!'ju'"f4у&aPJ%7 +̶OXu88yDԷ|Tf{u&7fm@kb 1rYLx.{)`!0g݈LLO 5wcʼnO^X[ta`"|Bc*ċo587~َ\\ +XLNqɡ^؊F8kt6Nh虵5fufi|լoverauz^٠SX*Ns픋7gSYX@%'CD=!~'`>%G݃'~v?}7k~Wҽ?_yV]}ϙINft+hO6~Ѻ:O2aհl?_`2Xu=+[w*[ncNoOn͗m=*>I'[tL$ZcmjZÇ+x3*bZq2m.4KRg+rB*Qu. $ +gY˅p@P1 O+[F]11/Jh5Kj~8<r; !bAqNHqy‚7r3Ek@tT&e1ń "y瀞 zp)b)Pb{{b~WZ&'A:JqĦϯ?G%&Ϧgeo^X.ҝ}`o>_ՋVhl_<|ڧ֤b ~i݉XtSUd_.10٩L0 +b*e:.Oַ[ΟN8@[=H,ƊŤRsLjUwTCJ{Yq2i| MR= s1B͓FUT@`dZ;0R?;*\!b>?MunP~T.Qb0-gX\r(S]BkJ6ҋV :"MATryk²@D(#j4z2 {g\NI2UP|-&:jdc+?d5LXtI.QQӍt}NDJ򺜟VGlj\ӛ>y{*&kݭ|ï}{烟?xow>n9y΃tJO2w?uwe%0$fFiz?%oxÅh^:T6ɵ~<|lɭ<9Zѻ_'G!`5,"ʣ; v{|mpjnpLƛ&Mu&O09!Q~JZ(Bytӿmi.|,C*Gt{|a A0u g.1t@5?4*ShC"\ 3i[pFW +UJxhCDώX9a]scZ)VIO1h1z!^ +07:K燷pg,nL5z R% PG\/38#Ҭ1 nRA5fq%޺:yE%H>U@T] +V~}ۣWTދ/"=tò ggZ;OG?Nw//W}lFJ̨wPʈ;\nS*ms'w_G`],7@t4zsjɉ^}rGXzK?=<vc1jR.UfFT 9UGe?BVȍamTH-]RS71[fe +>p>9v`Q~ C|&,<%~0w¼^Uv#khW7r9YErL18$*jPDu*Pv,&; 9s/D=$#T0~⸚R֭Jgjala3Jpg 5Afz>` +Dj!\E8@>G%Aiv+4{̞f66W-#2heIJFbb6L>DA,-f„Jը옍})3hm=΂d|w$YYtiT֥l6+A4z+茺" +܆Q]\jؘ4&G^3$kS:YB9N/2#\2RS^ L>V"80 Mn$ 'DS(ફlDD4)X !T/h FW'caAqbxmŒ9sN<@da +GXcBc$-l]Xn~st,aΤ$#GcJ"93rFTUBι:t93 D)ÊZQJw-iW޵嵯{9u }<}lAZ5\H^Pq1J8B '0PVS=L+)#)R2qǼQjKZi80,ƈd"*TK1TQ;w^~?Di^ZQz p 6ECtew#!# QjnnZX!T"-](S+,}XibҌ+ dRRSӡX YL/.r JL $0e0X BAv]q$Q9&SqBudj1LR$iRb&s`(f J0CطCH".ԅ @w֛Ÿg\pUa& W QDl,_R F'4De jpz!za6E<9rAAHT2]S +X +<~n*tf&2= 61h10NH3^ ~B.qfKSpfs>{ws0%|\Ѫ1OF9 S)v_XtΗrG A8Ayג2x Z# +)ߕHa25żQ&RS oǨ0耐0'c -iVJlce,ZE*A>{!4BBNO{BHj̒h7'%W8hadBP k:p13|bq +jQJ (qVxvgBb7L{C?6yz(3C-xK;'`*G}!"Xщb39_nC &u{=ٮ΅o*0q9uxto3S͈iQ&EV[ٿC ;BB+L!F+RSJe-*kq$hWa ƱPGIEsZ(.w$^Xyְؕ*p9UQS4`TR`R1TIod&'+"8BEv~y< 9dQ*0 Ņ@"JQ 7K(GJ꥕_yxqwlt0zNf̩ >O F'H5%*(8FC YVJ N=sj3 G973B# >$~(l)2q'O`t2 ~F>I^k2R K]geYi:BH\ݽu_YrH;2;ٹ$I,$*:*u[9QeӠyƴJ%h?+l?|~X+\_XG +ؓ @%9T^55^wjIGG;eug8WOޓiȡ|fy.fl*㘍wۅ;iO0 I׿R( +S_1G⹹ȩSg(lfR1(Mz|fXxw*(`RZtPV8C1plX)-g9 ׎W[zN8,pw}k/߽y8pp0'㤈`%TVEuq[6^_~?76UQbM&\׭AaSZ[sן\{]i֛Vy: OzփygݧϺf jQUAbr1[*,ӱ|; &H"*᭚ݣ޼WO7nlA = xp?sѵvuݺqP[ǭŇW=n_?wvr6yyo dafp@{•/]|շ,/~/߹O?{O_}:E,0Z8\N/ӫ=ggRP^\FPؗzD<(c s}xmz0g~Kv7JBE I#wZ{7>~O?ϿF?[~ŕJڐVԌ M2 b]w֍WKys履<[}G?zo߾?_QJ,b1VՕ<ʾW6?}cWk'8׿[j :(zKտOK~gon(0; AD,;(-#Ԃׇ+7￲N>~k租WΥ?g;W_'>y}ڥR0yfzgEZG?'wO~~>o^/m{qm5Pa:ƤRV~kC~p߼?}W>'>;7 +ONq!-HZѬT!G;C筛O<է?|ǿۇʭ8^-_W'_?߾kw.V$C VPB2h<|y~Q_:>z˝q^FU ",6(VNg$PCx9ss=廽w헟>k7Ov_INyc1U+1*f(!g&3I:+Ua׶o~?|ߺ/x7>Ұ"apBTDR"l*]yW.?;W>|'[pDTғxޔnGY=)~s~ß~͛ë+努s(M ($35P:j[V9X 76OZouo㍻G}󸗺Էqg %fdQӥ\`y[of+7o.~ŭ_|?zqA ^e*xG LI<hE7"hyWo?{ۯ]2n*Y~Tl,Fca3_^^^o' Wz~wD#ހoC_*w܀u$kn<2^=ZU]ʴ3Hp Z"hŠByCRmd~bVkTTsR-M HqovExDÁ@"Si[*n jWs_̽g^+?x޺k;~kX LLO!6sFӯ.w62q['[k2I]嵂,\(q(7 +-UKv/s½Je%]dY9eHlY0A<#xV.dˣJT֪[[|u|Tجi[u}Z.[eMxܑ0R-΄pj~fEvf9 qUygKox48-PJIFqt2 哒8Ij5rD]ad”4JLyPBEDgdh'啳:SQ,_TC$%CqҙTeۨ_ĤBlBm3zKL50Z83;hI#c굂͝l/kvWHuv6C);2yf:0' F+YN +Xr2^_3^m5,UHBqLLGH+L qs +޵LaR/"(vE R|6[/ڎ]5$b<x f{aWEGp ~yb(Lgm FMq.C8J;JiJ6b9!\TZIq&#X-%Z*! VF)+fAMhHپth5K0czOFDD-N/SJ3zady$a'LgTދ0uf>lx>&Ƹ2k=8$f516 u<F ۓq!as#uM/j 9kj~Vf7* \֪ i bȸŒA:3#EtHYNt8%"?.^K0uAX!Kّ^޶jeg:|΍r>dr_<7ޅֺd7b+$|l qy.Egŋ qX8gG)p\g" ' QRvv!ϳ" %@9>ܳ. )%\ɭ^SY>YTeX%gՕn\RB) +AT,dže/Ww} fJJR%im&O”e 5rc&ҊIq#D\3K*cub\F-9]JrF+ѽl*-!Dj]2 `*mLC,ՎJ\,_< + $PjdY3d-q!j/FDeFQ(ĵF`h9n`jZ OLَqDj3vC"ㅸiG&p N|T v)ƅZɣ.;[,bd-l@JsъsmҞn eGgReG*^<"f,&WIR*9ԔĢ]2ܚP.HC\v/?`q1B9^X Q9A![+Tfg c[r=/0 +rɗm*jiƕ8Jd't+x,6s HmQeύXʃj֏.aL 8\ ѦUTS̏־9[Ze(^zBXm$մ;{/v˅MXࡗLE,LsTk?M9!I8tVoF>Cjbzfu!UfQG%B +q5c jy=[! +e4A&Ge13;fbVHGW0L,}"b:0=&+STBDEZ&S}Z>2=p"0NMQBod#r/*Ba3Zx Ze{&d(Bv}tBgF^H {$Mк!z6@-DePw99߳.GkIȮZk!ȺeR JhcDg:N{BLbz],kZ]2.,v7z)vX1R\)03KoV6^ry!N~uK]' $6^1WtOjzm0%k<%4ɲQ˽GQL5ҝkTv%,VҸbsu9u:;:~+B󮵨 +cOl?il]y!:s(M؝3AQ;|nK0V+Y;tn=rdUZa°TJ/ I:knlrYnAļV\3kxfR$i噘f~܉eԏ(g'sFiuK>8.E`\Q;9w?>P2ku7"Y7&cw(WDIb8KeBy'/%cRaFmPV_nateDj]+ޯma&mnWwA~᭾:e*ݧEXãG_eji[-oTr=S??ܐ.ږ>/ rVi~g.Ÿ(0Ft7[r-lg/xnip|+׸ѽ(e{q1!:7) (X틇2UZZ/FWK7.g &(mAce"Ӌ'ZKEε  lKZm-bal_Zy{͝{_oMW ni>.-~ Rv7U[HFx֓D٭iutz5plg4~s +ФX'G/ZK&>3Np!2N ۸5'7`~ +ݣWTwf2¤ims,5;vniRR&P\8ms6yǨ۽Cy1;cuJwT_|v4ûon^p5`_MwlB.eKlfI-fZ[[W^]{K輽ڸ=x"w'7;C\ܽS] "QVftDfR0iVǷWn~qU};6:G2VTrP D:6\1H Q9ALR@,p +>qar~,˓a)@ې\@XnJjRKڡ.HpL5 H0f\L.KWX˅#0WX#0kWn@s:ymm2\s:'{/n{v}W>jcX,\Ѫ1&׿hJ/Ճ5'冢YaڛZ q\K=>JK܌=_rؒ m'Ng}7B[RfSm% +ơv+Q4jB>!~,=yO^<5;$U&՘,G9He@H Vc8R7!gC8TJMD(`t;]ƅeDkĕV# W\`VZ2]%N{`.tu 3&'c4T3镈XIG )@:~TmΆ9r]fW+o2$e0H#ʗhkQ-e`,i>M,YE)b|qW\ZZVmMi%4t:+N`>!Ɨ |z61QnWg@?3Zew[N|v^* lB.ąͰPy ?<^Y{&X`nܚkItZ~tSȭ˘^Ǔ\gt9X ǯlz)}$Zs?f .)z|, U<8$󧻗 Zp1km,\*lr2X`\8"qMq>ڙ0ee;==:5 |XV2Lt%>]QbO{K//P1@hD*WE>;:Aɠs>%\K a{jqq*mE8W\v#I%){͸\qȩo1ݗ*]qu&jU gy7O.9#hяV\Ջk>T* ^1QҠE]]S_eE?aLiT!P9ABL)m7$Kqvx#3[l +6rv4*W@V:Lz>]2`+XJ J#.ҶZ=}f*@Gg-ajS[ +r}jFɲiR +F0aD4lą"ȧȭՓTeō*hkCs3sChv ѹ(g=);VKad,##@0 DIj4>08~ y7g`:C*%W Q:&vs. `Ƙi720Y+MVT" JM6Ic1YpVOD*d`1$x0 QB*ȕZcW +1R浼*1FH@(\Rf:luCl5Z$0O<\_y8,9=^y=c%uYoicyY=\LvS~R1,^ +DɥU?ig 3yZ'ję4w_=, 9#H`Neޅt3Gk1fYmFilWa> 3Ya-vG qZc$Nt[KH X 4F0ĭXed}j]<딆q3q6ya(3 J)j>g6jL,D?(h&7i|zHP"l_<%{0h'ڔ S0[ɾca:3Y^\?&k3>XD {֍Xʵ(yv0=w?ƞ +"Ңld}NԏHfRV[A rlǒ |3BBqew8;>[ݙ͉؇xG-/ +UP1.I9 9_BO 2$w%ս;,mlJ+ڻ'Ha:8nl=-ڝ+;/\zV79]ᆥ8Y e O@2prcE2@A?e1i T7g#LI%@@ٺ$A@!Sn4ZoiV{S3rWN-X'!lBm"b-Jg " z\xQ0JLRX&}&@ˇA23aٝ0= i<*DȌxI`\(*@˜^a b e R=s㹘N5d 3="' "gVY\+/N%Bd +>c H*W^UT :eel`Ztr+7qg)"㊉d+Dh@,midy6=dA(wB\nʇ<3'T\GdwLEkvq*;>Oh ++w is!|}jl#ɲ97 $,d#cwë=Zn,!=2fS)?䅨a\rѳ\0[ֶf&X֪nVWzo:Blftهq ]kݟ|OVYS)aLSq@,XNy_ʋͅ0 z#]<䞝Gx?9t1;L5ze qu*3Hͅhl~]iQ Ci?)IT~4?wTq:CT?NA,ʺ$Ky[<KRqPb˓{pحƋf*  :K Pu6累zWgQ ZKGh Dzt6)A09:iBkTM53 BkS=Xʅ.8@9s-.o5XmV} #@DW1ˇ[`OnLqc|n-x}1&5EJ0*+ͭa>IF0HØPTsƍLOI97j$APLR0v Rr %LZ^Zիۘ qS MReLy1i1&=^ + " !y֕xfpjIl^W9zgH蠊Ô2:pʼnwVJvm@q:H0_fzˬ?*by'oZ Pk\Q+T{*LKHv*Jdg!A*tǓr3/@ 'F]/ +\=ŚCBzT|L|HOGX6m/ŭ(w BoudѺtn`d:f1)MН~E(q  ATg]¬Ťצ# RA1F) sdj |K6A E:Tt@XJ54Z3a<Kfa)Ȯ0G0 8? l  Df +A;\s^(9&\0;Ĺ2ln\Ӟ|'0bL%st>(}\ 0[/q\}bOb&q,gΙ,~$D5@/3fHVy +ip NJ(ŵ[)ݭn>T&1& }TXdE2mDghP3yDE*zLXA>@3AޟH +g3n Q !0Qb0ôR}HZo?Bg" *Tȡ3+hj榣 0e >M.=R+{JaRIB3iHIqyx0ĸ%=qi!*\PtO/wǥ |6f +SƒG)/xZ +H0ettD 87rC2437 +Jr_G;djq.;A3! %ДӀ`,WTA;/DYI.Dz&XXJڬ a/"hC&7^uQ~ Ȉ3WG`3ړ#?~ pnȩbxw_qw*? B,VPO:3@33I/eW}٣XubfF:p6+c33[2ow/Ȫ5?r'XƟͮ<ܳ#994=6')7]-|7wr2읧?&@nܬZ])-<7waӁ5:l7իKK ܙn/87??x'=οrXʠ>+[/hx6#_}v,;̟x:0fdA{$'@@HOɽ_ޗ_=JG˩l?(CK'؞\JXU_<zl(e?e^˯=9֯ Xȗ魋Lwts2[ov/??dpQs',uЙ'W˧#K%wi;@0g<\Pdplc`zߟ /d7_Dx`ɟfA5r'fJsǠ G׽p jĖ;SX;oaalfrfx͙c2t +W}3Ć=j`B].{dpPncw`pdl2X?Tc#Kͳr{?&OԦ=LoH=x(rvvSbBлdvwhbO쁩 3igG)->fdv t_/~=v_meOyρ<),5HL}zlOϸ+a ./Gr?ǃX+ <Y<+º|mO#`/6S^D-ڜ LL?X]>ήѯgT`d`vtv~и +BSl5eO,.No^t鍳^;_M?R)v_n} `b HK0Z~9p rQmky75EMV; r?Pf'?=^> {s}zd_/5po'L8gc˯ow +T6jᇅF_fF@i:?edn+k oϞ :ɵ99wBqf; cGlhfʟ-fAm=GVaTs{W㫧0gr_fOfGǷNOz7+=ֱ?5|nZvt|۹ `SWqJ"?8Wh#5*F`{ݿo]@i59n,[)|[0+)TnYțJp7v/V]> ^wח#=srin&+hPu@©|ɉGT2_ؽzf雑!ϰ +# ǣKeGGAn?^:Z-}pF7.iP'zxvnwpj+ؓ k&./d=4ό,Ox5 +9%0rk/X[gK'ӻ3#{ӻ+w4;Z=ęt c+s\M?e{\,M`-HPSW On$-G`ukp~߀wf/rTv_yqnL*|񍩍՗Aƽ~i9P~Ʀ9l36_nj wG_&3ލo e>3fcK/_x+?6Yx] \Њ3l0ndk+N~v˧/~怣>\r狽C_'C}Pr؂ZЩ?}"G +Rܱ֘V؊=|wܙP3#k3߬8qcO>^ܕ 9- O ?#g|oz~_ozѓގ]񕁩wꑝrꑚyl={jcd~{f7_BhO>N|_=@m[ԯ; rtql ?eo`x?L} O#{jox)32s^Wvv<<鎭zv[gop ̜fw{'zF qnufoS'7w2|L={|롘5gӱ@$y(sf-jC_ ˛OnXMdO>!4 U[{ +2e1rtݝ(L+,hs[0Wk7K/9bdɟ^7};|\ZMB,3=+s?۪ci O4W}#ؓuVMDlꍳ`N/?Y6_ CG݅<P3魗?~O/:SEy+cmNm\`Z5R}5}ën;pO}, (uOF;7,G.8C) &ai&^斏s}+};ݕzљ:Z.6MB@~z^_eJSFǗ=nk538_|s?z١gu_syv2$a`i=,+_;o{A]2ےϝ#;btkj<8>beoKm{Y jrٛy]GVoXX<uэW=7PΤ?dUklkboFznl5vߞo >Z{?SmS{瞾~Qӻ2?&vëcX?$XC3 ,f'W}3G"Ne{z2"Gr`ژx|?N\, gg@áofq0zͮO?Wjft I A7Wg6꟬@Ns />t}k`ڛ\,|}忛ؾZ/w>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:L>D:#OLM =ggKr|q^|@:տZ*TR=|q +J-]O\+*T^;3+%Ro知=K%< )ח*cۖe[R*d'imyN +]e}\8:zp}uU76wU7~矝6Qp!.7W˅ky ˗I:m`/ +MXTBk_Kҿ_8*Ogs1 ,\h`/ ke霮ڏwx{g+N 7տq^.¯k;^*7\_C4uƘxԎijM횳Iނvń5?w훐Zi|rzbroGק\;^\TJRᛛEOU٦nzbe@G 6r[*RԂ Ӯ"6=M\߮ɝ_]0reIͧ +eJM?8mYbi\l^I=o~]YM6&utYl~f;ڼrg.-i0d4=qjkSqZb&ib(_,^yڼ_Edb&ib&ib&il%i+iTY;-]KԴs[KSMe}R6ksFFDujE ծYVnn?!NcpsuU.gokgSQ 𨍒 ([O +/J׷ogK4nfԕ0AxQxszU'UZE'\\%aJ8O8W-]j67W&mmy̶vgM`çi}`yஹU[IJڟ&`&|Q\^n+"Ѻl~Ѻ-9@G/._^T.NyhCep.wf N;e79x|$C?tv+k%;Ѽf;O-)]SW$(HrKS[<#9wOz&y6.>'h|P0wZ8?/UJR%wTvvG6~gDUP,ί +YYWQ酦-`D qͧtzؼ;a5!&e+ %#\yWP131Nۥj71,ESvA|^*4_,T -Oh't69Xm_ܮI*o +pekoh/Kd5X׭횣bk"C|y&v~q7g7'խ]vMJnV//Z]V#p^>k~ܝBi/\xxw3ZZs?s钝 d.}2q[(حK$w.]&FR*pw.AVܥ]jajIR.K]juùKŻԺ#K,PpO#wxwsZZ1!֍X,pL |' +;,/> endobj 31 0 obj <> endobj 40 0 obj [/View/Design] endobj 41 0 obj <>>> endobj 15 0 obj [/View/Design] endobj 16 0 obj <>>> endobj 57 0 obj [56 0 R] endobj 80 0 obj <> endobj xref +0 81 +0000000004 65535 f +0000000016 00000 n +0000000173 00000 n +0000038270 00000 n +0000000006 00000 f +0000636639 00000 n +0000000008 00000 f +0000038321 00000 n +0000000009 00000 f +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000017 00000 f +0000636896 00000 n +0000636927 00000 n +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000021 00000 f +0000000022 00000 f +0000000023 00000 f +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000000 00000 f +0000636709 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000636780 00000 n +0000636811 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000039830 00000 n +0000637012 00000 n +0000038691 00000 n +0000042814 00000 n +0000040130 00000 n +0000040017 00000 n +0000039109 00000 n +0000039268 00000 n +0000039316 00000 n +0000039901 00000 n +0000039932 00000 n +0000040165 00000 n +0000042888 00000 n +0000043240 00000 n +0000044513 00000 n +0000049322 00000 n +0000111927 00000 n +0000177516 00000 n +0000243105 00000 n +0000308694 00000 n +0000374283 00000 n +0000439872 00000 n +0000505461 00000 n +0000571050 00000 n +0000637037 00000 n +trailer +<]>> +startxref +637223 +%%EOF diff --git a/res/img/Door1080p.png b/res/img/Door1080p.png new file mode 100644 index 0000000..dd96d97 Binary files /dev/null and b/res/img/Door1080p.png differ diff --git a/res/img/Door1440p.png b/res/img/Door1440p.png new file mode 100644 index 0000000..c16d3d3 Binary files /dev/null and b/res/img/Door1440p.png differ diff --git a/res/img/Door4k.png b/res/img/Door4k.png new file mode 100644 index 0000000..d697d3b Binary files /dev/null and b/res/img/Door4k.png differ diff --git a/res/img/End Screen.ai b/res/img/End Screen.ai new file mode 100644 index 0000000..b59551f --- /dev/null +++ b/res/img/End Screen.ai @@ -0,0 +1,3715 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R 6 0 R 36 0 R 37 0 R 68 0 R 67 0 R 69 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Print + + + 2019-10-06T17:50:04-04:00 + 2019-10-06T17:50:04-04:00 + 2019-10-06T17:45:28-04:00 + Adobe Illustrator CC 22.1 (Windows) + + + + 256 + 144 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAkAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A8qYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FVSC3uJ3KQRPK4FSqKWNPGgxVXudK1S1Xnc2c8CUDcpI3QUboasB1xVCYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqmfl/y1r/mPUo9M 0LT59Sv5N1t7dC7AVoWamyqK7s2wxV9D+RP+cLNZu0juvOurLpsbUJ07T+M09D1DztWJGH+Srj3x V7n5X/5x4/KDy6qG28u297cJubnUa3jkj9rjNyjU/wCqgxV6DaWVnZQiCzgjtoF6RQosaDt9lQBi qB80eXdP8yeXNS0HUF5Wep28ltNsCVEi0DrX9pD8S+4xV+aHmLQr/QNe1DRNQXje6bcSWs4Fac4m KkrXsaVHtiqXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq9g /JH/AJx2178xJU1XUHfS/Kkb0e94/vrgqfiS2VtvYyH4R/lEEYq+1fJnkPyp5L0lNL8uafHY24p6 rqKyzMB9uaQ/E7fM/LbFU/xV2KuxV2Kvij/nMjyiulfmNa6/CnGDzDahpDSgNzaUhkp/zyMR+eKv AsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirOtC/KDzTqS2dxMi W1pcOnqBm/fLE2/LhSladia+ObrB2HlkBKVRifnTps/bWKJMY3KQ+Vvq7T/PXm7SjbEvENKtuCDT Y4IoolhWi8I+Chl4r9nfbNweydLKPDEVLvs/2fY6kdq6mMuKRuPdQ/t+16XbfmB5QudQSwh1BTcS t6cdUkVGetAodlCb9t9+2c7PsrURhxmOw8x93N6CHamnlPgEtz7/AL2Q5r3PSybzFp0fmW18u8+W pXVnPqAjUglILeSKIs4rUBnnAXxofDFWEfmp+ZnmT8up49Yn0Ntc8nzKFuri0JS6sZhtWQEMjwyb cSStGqCd1GKsEl/5zV/L5oVWy0LWJ716KsDpbIpY9g6zSMd9h8GKsb/5yNXzZ5m/JrT/ADb5l0tN FvItVRrHSKlp7axuInSlw7BSZpJFRioUcRQEV5Yq+VMVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVXxMEkRyOQVgSviAemGJo2iQsPsj8ub3R/MFja3Nm/OCenBuJqCDQg g9wRTOz1us/cnNDeNE/J47SaT974U9pWAzzW9GsILMSH7CmhB8eo6Zz3ZHa2TPkMSN+ezu+0uzYY YCQOzHdJ8najr17DPbwtDpSSBpr5vhXgh+L0u7t8JHwileudHqO0IaeBEjc6+n9fc6PBoJ55AxFQ vn+rvRH5j/8AOU/5d+Vrae30if8AxBri8kS0t+SwxuDT9/Ow4gA9k5N2265xL2aSf84zaf5y8ya3 r35rebqi61qJbHSQVKL9VVxJJ6KH7MIZEVN9yGJqdyq+gXRHRkdQyMCGUioIOxBBxVJNO8h+R9Mv v0hp3l3TLK/rX63b2dvFNU9T6iIrfjirA/8AnKeFJPyM8xO3WJrJ0+ZvoE/UxxV8B4q7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX1v+W2q6dYeWtNa0IEC20XpnvTgO vv4++d1+XGTFAR+nhH3PEeOYZZGX1cR+9OLb8yNO160nNtdpcpDLJE5Vq8WU0I/DbxG42yjSaHCN 8XDXI13hu1Wsy8st94vuL1T8qba+h8q87pWSO4uJJrRHrtCyrQgHoGYMw8a175pO3JwOf09IgH3/ AI2d12LCQwerqSR7k31LyT5M1S+W/wBS0DTr6+Tdbu5tIJpgR4SOjN+Oad26coiIioihUUAKoFAA NgABirzzzl/zkB+VPlG+k07VNaWTUYiVms7ON7l0YdVcxgojD+VmBxVG+SPzq/LTzrcC00DWopdQ IJFhOr285pueCShPUoNzwrirGf8AnK68W3/JDWom63c1lCvXqLuOXt7RYq+CMVdirsVdirsVdirs VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqOg1zWYLJrGC+nis3qGt0kdYyG+0OINN+ +Xx1OWMeASkI917NEtNjlLiMQZd9ISOaWIkxuyFhxJUkVB6jbKYyI5FuMQeb7G/5xQ/OmHWtGh8i a5cU1rTI+OkSyHe5tEFRECerwKKU7pT+VjgS+i8VeWf85J/mBf8Akr8srm50yUwavqkyadYzIfjj Mqs8ki96rFGwU9mIOKvnn8sv+cS/OXmmCHVvM1wfL+mXAEiROhkvpVbevpEqIuXi55f5OKvabH/n ED8q7OOMxXOrC+iYPFqC3axzo60IZOEaopBFR8OKsT/5zC1K40r8u/K/la6vmv724u2uJLyRQsss dlEYw0gX4eTfWV5EAVYVAHTFXyPirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVTKPy35hkth dR6bcvbsOSyLC5BXrUUHT3w8JcyPZ2oMeIY58PuL0G3/ACKvPqsUl5qXoSNQzCOD1AgPULWSPkR9 GT8N6CPsxcf7wcfu2+d/bXwe6eXv+cLvy++qQ3Gpa7qWomVFkRrcQ2kbK61B4Mk796/byt5WcDEm J5hlEP8AziR+S8YYPYXcpboXu5QV+XAr+OLFA3v/ADhz+UVxHxhfVLNv54blGPX/AItikGKsM1// AJwghKM/l7zOyuK8bfULcMCe1ZoWWn/Is4q8e86f844/mz5TSSe50g6lYR15XumMbpKDqSgCzKPd owMVeZkEGh2IxVrFXYqr2N9eWF5BfWM7215bOstvcRMUdHQ1VlYbgg4q+xPyV/5yt0bXYYNE89TR 6ZrYokWrNSO0uT0HqHZYJPGvwHxX7OKva9f8oaL5j1DQ7/UALmHRbhr+zgPFonnMZSKVvH0+RZfe h7Yqn2KuxV8K/wDOWnm9de/NabT4H5WmgQJYKB9n1zWWc/MM4Q/6uKvFcVdirsVdirsVdirsVdir sVdirsVdirsVdirsVV7GaKC9t5poxNDFIjyRHo6qwJXfxG2IbcExGcZSFgEEjv8AJ9ZflxqHlrzL bwvayiSJ2CPtujbVVwehFcsyTqJIe+1Gu8TH4uI3H8be96F5m8s6XBYB0JWpoVYjfb2pmBotXPLI gh1ej1uQzVPyj13VpNcvdGnuHurBLf14vVZnMTI6IFRiTRWD/Z9tu+Z8xsj2h0uMYY5QBGfFRra9 id/l9r1XK3kXYq7FXYq8j/Or8ivy+81aFqetzWq6VrlpbzXQ1W1Cxl2iQv8A6QuySg8dyfi/ysVf A+KuxV2KuxVn/wCX355fmR5E4Q6NqZm0xTU6VeAz2tPBVJDR/wDPNlxV9A+Uf+c1vLV0qQ+atEuN Om6NdWLLcwk/zMj+nIg9hzxV6Fff85JflN/hfUtY0vX7a6urO2kmt9Ol52880wX93EsUyxuxZ6A8 QademKvgXUb+71HULnULyQy3d5K9xcSnq0krF3Y/NjiqHxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuxV2Kvafyh/MPQNG0JLG6uEtLqBpCxlIQOGcsGDHY7GlOu2WxIp7HsnV6eWmGKchCUb57XZu/ 0d71HQfP58w6Pd6nAskukx3bWKXjKRGZUiSQqCenwybV60OIA6OZpDp80yMJsx+3zHl0/tD1X8lL kzaJfqLdEiiuaR3KoqmSqhijMAC/AnqSdjToMGR1HtPDhyw33MeXd+q/0KP5gfmJ+Z2iCU+Wvy7u 9Ytov+P6S6thy947SB57hx/rBT7ZW8ywHyB/zltFqXmmLy15z0JvL93cTLbRXKs5SOZzRUuIpVV4 wSQOVTSu4A3xV9E4qx7XvzE8h+X7oWet+YdP067ND9WuLmKOUA9CULcgPcjFUj/NzzNp0f5M+aNY sLuK6tJ9LuIra7t5FkjY3KG3RkdDxPxSDcHFX50Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq+2P+cOLWzl/KG+jdElSbV7n6xG4DqT6FuKMpqPsgbYsozMTYNF7 xb29vbwrDbxJDCgokUahVUeyigGKzmZG5GyqYsXnf5xfkx5c/MTRJRJClr5jgQnS9XRQsqyKKpHK w3eInYg9OoocVT/zjB50l8otYeWZIovMN2sdsuoTtSO25Ck1yaAsxVQeAA+0R2riryHTf+cNPJT8 7rzJr2q6xqs5L3Vyrxwq8jGrOQ6TyFie7SHFWA/85Afl1pH5U+Rl0ry1rmomw80XSR3mhXkkcsDL acZjcRlUjZHSRI1PWvL2GKvmzFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FX2B/zhFrUcvlXzJonL95aX0V7x26XUIiqO/wDx64q+lMVUby9tLKD17uVYIeccXqOa LzmdYo1r/lO4UYqrYq7FXYq+E/8AnK/z2nmX8zpdNtZOen+XIzYJT7JuK8rlvmHpGf8AUxV4virs VdirsVXRxvI6pGpd2NFVRUknsAMVZxd/kh+akGqDTovLl7eyGKKZbi0heW3KTIJF/fAcAaNQgkEH FVLzH+TH5oeW9Fk1vW/L9xZaXFx9a5ZomCc2CLzVHZlqzAbjFUD578h6h5OuNHivLmG6XWtLtdXt ZYCSvpXQainkBupQ/PFWMYq7FXYq7FXYq7FXYqyHQ/y98866OWkaDfXkXEuZ0gk9EKBXk0pAjA+b YqkU8MkE0kMgAkiYo4BDDkpoaFSQfoxVTxV2KuxVnnmbypoGn/lL5L8xQI661rdzqaXjlmKPFaSr GlFPwqV5dutcVYHirsVdirsVeuf84v8AnyPyp+adnFdSCPTddU6bdMxoqvIwMDn5Sqq17Bjir74x Vjf5keVT5s8ia55dRgk2o2kkdu7dFnHxwk+wkVa4q+QvK3/OUH5t+R5pNA1+JNYGnObaa31IMt3E 0R4tH66HkSCOsgc4q9I0/wD5zg8vOq/pHyvd27fti3uIpwNu3NYMVT/zB/zktPH+Vt75ui0aTRmv ybLyqt3IrzXdwQedwIgoAggG/KpDN8O3dV8UTTSzzPNM7STSsXkkYkszMaliT1JOKrMVdirsVZ3+ X35rS+S9MvbOHy3omsTXT+pFfapZi4nhJUKVV6qxT4QQlaVqe+KpzN/zkv8AmsAV0y7stFiNf3en WFrEO3QvHI37NOuKsk/5yM87+d7fXPLccGuajbW175b0+6mihuZoYpZZhIJZCiMqktSjGmKvG7nz T5murSWyudXvZ7Ofj69tLcSvE/A8l5ozFW4tuKjFXoX50M03lL8sLpgo5eXI4AV6/uJmXf78VSf8 v/ynm80Wa6lqes2nlvSJ7gWGnXl/yJu71htDAi0JVaj1HrRa98VYhr2iajoWt32i6lH6V/p08ltc p1AeJip4naqmlQe4xVOvKP5eaz5ktrjURcWuk6FaMI7rW9Tl+r2iSNuIlajNJIRvwRScVRHnr8tL 7ypZadqsep2GuaFqxlSx1TTZTJG0kFBLG6uqMjLy6UxVh2KvRPyV8222i+btN0+Xy9pOsHVtRs7f 61qdu1xLbq8ojY2/xqit+8rUqdwMVZ5+aP58+cfLn5g+YdG0Ox0ewjsb2eGK7j0+BrhqMfjd3Dhn Pc8d8VeWeaPzW/MnzVG6675gvby2faS2D+lbnl2MMIji7fy4qgdE8k69rPlvXvMVjGjab5cW3fUm ZwHAupDHHwX9r7JJ8AMVQnlzyv5h8y6mul6Bp82pX7K0gt4F5MET7TN2VR4nFUvngmgmkgmRo5om KSxuCGVlNGUg9CDirLfy+/La/wDNsk91PeR6N5esmRL/AFu5VmiSSUhY4Yo1+KadyfhjXf5YqzH8 4NJtdH/LPyRpFnejU7DT9S8xW1pqaIY1uUjuYAZVXk+3PkuzEGm2KvHcVdirsVdirYJBBBoRuCOt cVfe3/OOP5wQ+ffKCWWoTA+aNGjSHUVY/FPGPhjuh48+j+DeAIxV67irzn8yvyD/AC7/ADBnF7q1 rJZ6sAFOqWDLDO6gUAl5K8clAAAWUkDYEYqwD/oWX8kvIFjceafNF5eajp2mr6zxX0kYgJX7K+lC kbSszbBC1G6UxV8yfmv+ZV/5+8ztqUkQs9KtUFroulpQR21qmyIFX4eR6tT5DYDFWF4q7FXYq7FX Yq7FXsH/ADkdObi6/L+4YcTN5N0qQqOgLGY0/HFXj+KvYvMmg3nmvy7+T2h6X8V1qNldWsbHYKRf yLI7Vp8KcWY+wxViX5p+ZbLUPMcel6E/Hyz5aT9G6CENA0cLfvLrYmr3M3KUt1oR4Yqn/wCd+my6 3+edzZ2C0udbbShErd5r2ytutPF5KnFWT/mvcflFousweWbi41PVrPylH9Rs/LllGlla/WVUG5mu rx2kd5J5ql2jirTau2KvMfM/mXXfOhLQ2UFhofl62Z7PSrMCK1srZ5kRmHNqu8ksiB3JLOxHsMVY lirOvyut/wAujqUV55p1PULS/tbu3fTbOxto5lmIcN8cjuoX4gB/HFXov5ya3+Umhfmb5jg1DyZd a5rn1oy3M11qb29qXmVZQyRWyK/Hi4+EvirzDzn+ZWoeY9Ot9FttOsdC8uWkxubfR9Ni9OP1ipT1 ZpGLSSycSRyZu+wxVk/5NTGXyR+aWmijGbQBd+meO4tJgS2+/wAPqdv6Yqo6bql95J0Ly3pemTva 615mnttX1meMlZBYiYCwteQ34vxadwD8XJK9MVa/MHyXea7/AM5Ca35Y0pVW41PWZQh/YQTt60kj VP2UVmdvltiqE/MDW08w6/pvkTycrN5Z0mZdN0O2U/713Tv6cl7JSgaS4kNQT0WgxVlf56PZv5A8 qWOmyrNpflrUdS0K1lUU9X6rBZLLLUAV9SdJXr/lDFXh+KuxV2KuxV2Kp55L85a95O8x2nmDQ5/R vrRqgGpjkQ/bilUEckcbEfdvQ4q/QX8qvzT8u/mL5bj1XS3Ed3EFTU9OYj1baYjoR3RqEo/Qj3BA VTjzj5z8ueT9Cn1vzBeLZ2MOwJ3eRyCVjiTq7tTYD9WKvhH86vzv178y9XXmGsfLtmxOnaWGrv09 aYjZpSPoUbDuSq80xV2KuxV2KuxV2KuxV7B/zkreW8+u+UIYnV3tPK2mwz8WVgHrK/Gqk70YYq8f xV9EQXlv5c/IPy55zWVf0oumaj5f0RQw5pc6hqNwbiYAbgxWqNQ+LYq+d8Ve6fnHqlh5c/5yP0vW 5Y6WunPol7cpH1KW8UJPEf6kdBiqK/Mb/nH7zp5q85an5r8lfVNc8sa9cPqMGpR3dvGsX1k+rIso ldGHBnPQHb32xVgXnFtE8p+Xm8kaReRapq1zMlx5q1e2bnbF4a+hY2z0HOOIsXkf9p6fy4q8+xVt WZWDKaMpqD7jFXt35/8AkvzP5j86x+dPL+jXmqaN5lsLG9ju7G3e4iEpt1jeMmFW4sPSqQ2+Ksb8 hflVrKazb6v530KfTvJNmzNrN3qXqaenpcCKRFjFJJLyI9NI6lm2pSuKor8iNR8rW/nLzDZatfJp vl7WdE1LT2uLyRUKxyhXSvQNJRNlXqemKseOsN5t/Nu11BYgkWpavbR2tsdljt/WSK3h6nZIlVPo xV7Dp4hl/wCcqPOdmsiRanfW2pWuiySEKovZbQLHufFeQxVhlr5J1T8oNNuPNHmv0rPzhPFJbeVN FSaOaeKWVTHJqE3pGRFWFGPpfFu9OlMVSnXH05v+cfvLSreQvqCa7ftJaeovrKkkKDkY68uP7tfi 9xirzPFXYq7FXYq7FXYqnvkrzt5j8meYINd8v3Rtr6CqsD8UcsZ+1FKnR0am4+kUIBxVF/mD+ZPm 3z9rTar5iuzMy1FraR1W3t0J+xDHU8egqTVj3JxVi+KuxV2KuxV2KuxV2KuxV2KuxVNL3zNrt7oe m6DdXbSaRpDTPp9nRVWNrl+crVUAsWbuxNOg2xVK8VTLzB5j1vzFqj6prV499fyKkbzyUrxiQIig KAAAqjoMVQKzzpE8SSMsUlDJGGIViOlR0NK4qp4q7FXYqnmi+efOuhwfV9F1/UdNtxWkNpdzQJ8R qfhjZRucVQ+ueaPMuvSrLrmrXmqSJ9h7y4lnK9tvUZqYqleKq1pd3NndQ3drK0F1byLLBMh4skiE MrKR0IIqMVV7/WtW1DVptYvbuWfVJ5frEt67n1TLWvPl1BB6U6YqoXd5d3k7XF3PJcXD05zSszua CgqzEk7Yqo4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq//Z + + + + uuid:e1bfccfb-9e05-4c45-a5ba-4b2c3edcc1c5 + xmp.did:947237ee-0487-d64b-b5f6-735f446598ed + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:d1c078a0-2746-42b2-b0d1-25aedff8fb1e + xmp.did:1b6690ed-28a8-c141-9479-b6a9cf6be651 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:947237ee-0487-d64b-b5f6-735f446598ed + 2019-10-06T17:45:29-04:00 + Adobe Illustrator CC 22.1 (Windows) + / + + + + Document + Print + False + False + 1 + + 32.000000 + 18.000000 + Points + + + + + InkFree + Ink Free + Regular + Open Type + Version 1.00 + False + Inkfree.ttf + + + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 35 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 236 + 28 + 36 + + + CMYK Yellow + RGB + PROCESS + 255 + 241 + 0 + + + CMYK Green + RGB + PROCESS + 0 + 165 + 81 + + + CMYK Cyan + RGB + PROCESS + 0 + 173 + 238 + + + CMYK Blue + RGB + PROCESS + 46 + 49 + 145 + + + CMYK Magenta + RGB + PROCESS + 235 + 0 + 139 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 190 + 30 + 45 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 238 + 64 + 54 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 240 + 90 + 40 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 246 + 146 + 30 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 250 + 175 + 64 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 249 + 236 + 49 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 214 + 222 + 35 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 139 + 197 + 63 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 55 + 179 + 74 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 0 + 147 + 69 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 0 + 104 + 56 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 41 + 180 + 115 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 0 + 166 + 156 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 37 + 169 + 224 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 27 + 117 + 187 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 43 + 56 + 143 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 34 + 97 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 101 + 45 + 144 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 144 + 39 + 142 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 158 + 31 + 99 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 217 + 28 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 236 + 41 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 193 + 180 + 154 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 154 + 132 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 113 + 101 + 88 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 90 + 74 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 195 + 153 + 107 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 168 + 124 + 79 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 138 + 93 + 59 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 117 + 76 + 40 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 96 + 56 + 19 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 59 + 35 + 20 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 35 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 64 + 64 + 65 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 112 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 129 + 132 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 146 + 148 + 151 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 166 + 168 + 171 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 187 + 189 + 191 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 208 + 210 + 211 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 230 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 241 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 236 + 28 + 36 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 241 + 101 + 34 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 255 + 221 + 21 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 0 + 161 + 75 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 34 + 64 + 153 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 127 + 63 + 151 + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 8 0 obj <>/Resources<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/Properties<>>>/Thumb 75 0 R/TrimBox[0.0 0.0 32.0 18.0]/Type/Page>> endobj 71 0 obj <>stream +HWK% )/[$Jںmx50 /|?}d/_jQ@=1%QǗwz}r? +}PyooO5>\7g=iYEr:bO2u-J9kKҪP;[z~ڨl?;)Q/m\o[-~U3|ܤG9ez-gO\ve|>K}vSo-4l0<"//vppFw )0ormlaS%Ϗ mKic~?\gOe%]MX\vg p].{寚yMick=ˬ`aڦAy~~݀m!r*߭~TSӧ5柪#(هBG_\!'/Iz[~w0n] 6o%rL0q -L\!.DBmFg,Kzw-%[؎n#/QDUQn+Ythxn@^dqK513xvC9!:Ⱦ?D# sSk NœցMS[7w.F.hV `S*DKSrஂ2;1B +l(Tx+9 !NQ ^e3a=KKzL"@QNR2Źlš8 "m8&@`\9a8)-@x 4o&gD`x^557nDղ;,x`&UR$JЋc'ThŲ9I=<7/aA;W,h\k95z>To+B4|ѽf.7 Y FI&JJ5nR Y4€LJ *;lZRщȧf^Р5h#2,HY=#Pqo`̳QhU'cW\QtP陴 +IAFȱڼIs΄]2=2deE7aGPъOJ/IJT&^+^8J1JrY4;@J +cy_ _= 6WĭLDopSoσ>x0PP+^@Z~|]1>x0/Q 䯶ٲHN_=z'IE^ o] ޡr;y( {mm9 "Gai1EPY|-ǂU9kkr6 /Р#JM*z,QPF̖ud.&C6Flhǚ6ņjk-˶QE?JB}Zɏ훽D6{ʡ<̓|AÚm1ёObaζE4FrFϻ,]l}|y£$GQw}kMe1mmnFߛ%֞H,2kR?C_;]VSl{+zqo큖3HB3ɍfzNҦN(d/X[GfeSY+/a1 i#z/S9^/n [gd-=Ɖ +Ÿ"t#[E}ƅ.-2J~ ?R#QFzݔ[}l}Rס4o=pv yER`?W vux&^Vz6mϳǼto(ô6Oa,xҫ}]F}`%ZSސ [a4hg$lQ6kƔ_mHYR`ۖ[l!<|dɷ1?Fu]%k{BoP0aoq"۰%q䱳ڲL ۪֐)U}[N5V(j9xj)abcàxl E8{*aԬl"jW>e#Tit [-Ǯ{n'=Bs9`GlW23O(}zl91s,ZG!]Y 7ԍQbA]D}aj4N֨%t9:I\kȳyfsRE1G1z3@EL.PRp^701׃Hu;us->gD1OSӻVF&dSA=ܨO<[|nieM ,~vmEySaãʦu,Ѱ<_K+m%_W]T^>GS\|gWCt/s䟄+JJ6 gyC1]|D;^,|@Wm!I$^Fi맴GuV m!MOL gs,鋉 \L>*='Qx?%$_h| {6WN8f]O-f:ݓEW> oݞ+j;x#q.` G=FqxCEIr.8UD<gl.}8"iyv~ֵ#lڨ3ݎ+n?9y\ܑ%Nٻz.y*U'D2[[a6ȼczcӺr4E'O7k?|}7 ߶u"oy&xdax3RYpz\%oh:oSזU3*ybv}S} 'rի]Iݿ`WVs~W@o>w-e}y뫬crI:W&dsb<)豕<8oGC^ou"(mG>=/ n_* w[dPY/ۍ{c&m~w횠Rn2U/Bxc$#xu6 +KF(ŇMkQLтS|>E|MwϷm=ou*GO,Xtb~V:n3 Da;(v.ե\MetMC΂/V?{u׶(w[w+=r{b}v]+'pqPc7i'xY%XϨcێF +HezRG$.I]:ɒ]fĔkM#5Rt۳zbuq"T-1 ~?qEI01N3yS/Og(<ҟgy)_T^!4Mp ]grkODbx?Rc*Kl\ +FN;B|ro u_uM|XiWa6lϪZ7lcXG6Oy2O6մn">iiAVLޏm[~R/wKI}B49lzQ_F0lI]5]ce +$ '"~4cwC-k额RK͈DҶviە6>;q}ssp 5(Q#gε5;`̢|M[Xw7~Y[lp#&Kbqy]}.7Z;l(˼F'-Cw.0w]8RVսDP+DxAd!y 592› ]wϡ;[=qv91Q|bS|}-?LW}npcDGn0Կj>Gƴ3c`/PCt21Qc@ZApl;|tRY|Ĩe}ݫ|ΎYqnSؼ5gQכsp+) +LGWj _eɾaW9+f1mzCv_Ñ<3p'b7Mӽvܳ??bOF<.nSW)uR/+.ga *yϝ_7Ir8s +_=EsD* TttrVI'1f=pѱ!dՍE_ *:ٽ~Feac-;Y܂dpn}wʍ9Yi;q-KH`mw싵԰&[e,ء Rs %v"~Q~w_کyn7M;{;ٽp)p-xۭ=}pQNF1&Kb 7햙؛<XR vΚ^PKiZ=걩Pݣ꾩^4u MCO +Թ='η˟V?ޭ t誛ҷ&I3g練 ɨ(<]/K1_:}W sW=fdw;?b/!Nv9[bN_=!l;;ZMtz1郝Å+PǂvyP=@.#b6/3R7{i̩e^ st\FXk +ms.bj̠`aV:VgunsG]P=LΧJաjDo.z+^6ui_RKT'XBOݜaw7yv2'\—eG&$>p>?q:Ǻ>g]o׺çm=v+ o|~iM>v9 |''-#Q\RS䣖'-,/ެM}s?7yu m#&9i$@B'MeVN37]r;ނN{f'r5>evh =PsiuR/36W5.`.r4)(0MNi>F.]O~_](Qps\,`0]bA"sn4зˢΨѣQ"нBO +=kt7`M$WzC.mpK =ܣ TG/;,%>.*4mvl>{}ڑ=9e.ݍהSvg={Ө;pO=)NvO}t[[f*}d|DwtgtW1;{4|%\"/|)(wxw0FWlYRgrG(/Z>|ByȯϬٰ|Ee^>)Cuno4֮Ecw=ؓ/yVP^@wL sG>|F0(5|BoU|ݗr/OܭQ{Q ĵوΦtUa_6vD|$;Σ+LҨ;՝f7ʝ;݋_NO {TB1*Oo7ǝ}論;R^˸^n5u o {l9xFw_ǔP#|DTN39j4ɻ†x2yH|8 8wYaa^FܰgB<\b˛v@ء: PuRa:?bߏ߿.~.q +idžV'8W^Zn.|]? Yh}5]\ivy\u{_,/DB>k@mK}#ɒ@OxEl6!C7dK93é*H$cHƀ6"QyVBT!jGXSiAfVTtq弞n SjD7K|3atrݤ+ +(#d[1x0KoA%|QZի2V-қd!&'$8' \j*@e" +BzWY^($t5O +\o>ٳ0wed>D +^>cC~ӟcsY1[tfL`>(vEr=<[oYFm-NNZoG\3˾ +(FQ&X:YNa`ǡ8t_rhg MJhK|^{]iAˣ4>@aV5ّZdh[Wa(n-y`Yt[LC?iBnGu(-X5]qWH=PZ7HZu11,sy{ rUI6Z +D*C 3!OEk%sXNE[.⃩;.h$aN%xhS`$ɰgkRƉ52!njˡⶠ*W. .u(i PRQYtLDt*za.2m_6 (]_xܟ.*"NYs[ђv п{1ѓJN2 2FBdQ=$#Y0h泎|,lv鐂"HCйyogͣeaN{Eyluw-(.5GG`û`k +f  c"^(aZ1e>(5`/IV&C,tWBB/nʝ :xM%켭ͣʖҦn۱nC +R7,y8! +C)\W+ /'AT5tl~ +S9ε\{$ >ȤKn"bIy%lltwbnߠr7w|"bCjXZxl( Gqm6oӤδ% 6>(?gj˗2&Nl{Ng/Z7vJԄHΊPդReU) +|0sTSBn<)Q>sB/9 i,#>za!t߰$|.K.RX $LitP։ `PU\w%^;KUK-騟2#+ڈqN|v'&͊GbWgQ<ׄ¿}s<ƓLkRn-\FgՌ*h΃Z#rjW$}$^T w:ZbZ{)Gf/l;fRc|6=|tm{!/*7-!Ww1G֯) F40A1 SJ)j-ͺjŶ2 ,C|O9>*Pog!aޠMe6&ݮ1P0pn&A.?CԵ-MWyvV^=ؾM9CL}Sk3kyov+oj+Md[%RXb3Rh?y1䲻uU 3F ?vfb;adڅc=)IykVU`0rBWf>< A :MuBF+׬ZIC畸*nb@|#cJOMփa=<4mnx`᜸qe6>Ql|P6[OS?E7:WW[ZӒx B+1c/Z-j뿂ًǵhv TF X46s_\g% +r;hIER> .^¯{>=_k%(. >4rBy@Pf"՗Σ貋jW" I>yu`=6u„>h]rm_D7[r2iCdEu6'1/1ic$/FZ[mw g+5aMb@ -}YMDf؉+>c_J-yorY҃&zt[,aYRCjSPp0:nH~}o%q咒 *1a!ǺwpoKYMǮ$mkN(M]٤iCF +*F:ZP~NB$ϧ2͑2%ɏS+)=~/5BZ )&-Tɓu;I\On0˞i. Y7Zw28j Rx Wh|8#)h^ +=^Ny4c&)F̢i]21οytqxNtWVF*D42" Ne4GKBd7[ZtꀪSSl,ˌ`]]/j:(!+݃]o;ɰh;{'t^M|^E+H.sތ$~KWjɲ[‚SkVjӹXlIK!/:QWYi*o c ҩ=Ialx&)F.{"RZ^ mFAs)7k>NO,,#^?[jLgb8Z =&4Ah׎ ~ُC~N<_ +k?ϾzϷ`M]VQAȡqzkel,R+D0)0nZN4˰ތFCxl`U[TBX %W=zR{^߱) e. F0A.J*p9)uaXf95xP9]S۔D?m`@|ރ1dDN08ǙV^>hO(J]~F{,>ĥGk傩toqE(jv9HEb[E ?+)Vˠ]j57T7PWaP 1_4CjЧ]91mСTjx=*@*1@@Jz|LwͶ3YEаM΂\'h(r _RV\X1[]2Jc~CYo:u*ARO/)QM>8FYlqY%m׺6P@r},_<Fw/XѼ%`l3L"yGT{ ~՞<7~z-^hX=e&:Î +K"8F:o?fGѡZqJ5e:vx }|0|F*}i {ʯ& f'R!##_ŴF=@81@YFf>Nxv3x^uy Ͳ{+gVh.5)w)J`ZSs9>_ůTyn$gdȿ[a[!Ut-Xբ< L=HVqkcl5_KtY6_뒻~?@ 'է7F\,-@EKf7O'47=Vc@L>"u0Cj&hZM+c+cNj7X7RM2-|oXR'F/\B0`vyāmM/I5fJyd!|O,&5Cgu UhW`\\u$:Un/7A AMTW +:'POFۈ$_?太ѠIa:,>uNU&+m)zUƍC-6vA26kB *hǨqn(T#`-Ve?!#ʘ#y/w]qB}=ϊ׈ vkE}7uЋpE-?䯑VFjtDЗv}*U<ڝU({;xtsݭVR~3x\̝#IVď8'̓8sNC aG~: c\ T/kU{=ޑ_|- oϕ{8XsެzibUWB(xK =^4^M`{+,PK?ejFu#sWN:o6ÁI;maw8B:>sbP> {㝩 ɛ]onC'0Sbzy2=nomkp !E_7PDyWT j=xB5Ţ{փ=aƨL %G(tۖYC>l3Q[$;nT?L2ˆ;u6<&m=GD+m"L"vE-P? fF*Lm.²2Xq+*27޷ i! W ,9$o:%\ ֘?lSRߤG;5W8d4`b>5yIZf;Cjh>7m<Ws#ttւJmVupwNp=:L:dFÑ\,D0_ +~{| ęr"_{\#ESvRCjL9 RY4`K?ՆWSv1q󩣦8P뙹JWM?`3A `Ж' G+/Jgyv/h,~015xtP!“\Q}ϯ&=h7P^Κ8C@r.zx6"^_M|sQ7FR#^tY1^}/f|~D!XKWĠB]vmuH'Yv*',1uu?dd$*zzuyIg*`TSJSN8g2Q0. #Մl&s[Afn'HL# ~@~D#}9a® NVz̃5+#ζ4oFjΉA`''d̺q,w%0"p̀0kiZ]RD +@tW%iHF?>}w!ш-jv +gsW»ʒ)ht  ᝃI-ԥo|74`yH-˥0@<@Vt+"* shD^Yj6'T'CZf¢'UD8$ڷb{8d^XV/mj FH5wܿX.Eh8qqSDM1XIUD'uc5-q!]j )e{\o};})Վy.U7jn+ U]rJy%{VQ"[ _*|#^dbs:T{qNMR"xEDډswxGzC]uQB=3 +`mʀbAATێLօf/Zv&'1 :Nk(a i;Ny)ɔMo} 4Wls-R?rlU"%.jLHjNm<ٮ?e4;( ZqP롥L.]&`FT(`f&QĝT ĦS؏w +_(ԇ|kJ'61\7I^i3Dn|{8"q.:vܑ#G )Z\Ounf<(su<N"Q@=?A$fHd_>d!Ha!%_aG@g~kh章<1"5 :V(V"Lycsh֕FObab䴍uY9v.НB:((tnX`r QaHEO/~"-uF|NVHf"SSϪuF%e_FpJ\#(ʓ#efF]o?$E;^”\,Es;w[^ ^%-Zt: FF T,?ɡ_3*x|Ļ+_ %zfchEQ/ #omٵAsBz)Aʎ2Հ:}-/)&so%jKOT + 0#eQɈv~399K*_O0T7J! &\Di)3 + ~c;z9. mqYgגx<%+i Zj"兿Tܮ;XT't8Vz:hxn'h/s"B"+Zv 7(rG YaJa@`oLr0{^*:_L]?٦jJ̇ r2!}i]Rm{ s-]( CPb&swBg0q>(Ⱗfșd)PYg wTQ3~9ywݵ#Sa + flw8j>7es$k',%OݝlmۑPP|63|hSGJFCȽʗ 9hqNLj(* +qRn١:Q*YpOxhr^l,srY;VK&&x(B&7 <9;Ćב.P`.oJ +R$S5H"%PTmQ[ݪT3ec,ENܽ.Gal U%?RVr˭VJ3-s.5hVo\nՓHz[kh1,D?i$f񺠪El֡L+"r +4=g=Iz]>g;&[i8 pC>c9 /ygG\7e:gvT>6DL>@bX/EjLdtxF_nx`d62&Ha:ctnr朝2#G7hItý=N115/vJRsq7AwvHMϜϤܑ^O'i!2UI*['^PoYmZ'm+S*-;f:r_F`r +V3!79N{ EϪ'jUH,{~%*CiKu@瀃&Gj;=wJ,_]*+p]_c5춹a:QD7,[A 37rq3׬p+#NR n =!Y?~1a6: 5Gq߆ nB95jWĂR7]!]j߯KŠ3N]?T׼͐,..W_g.- +endstream endobj 75 0 obj <>stream +8;TBJSq-ou(]XUG!"TM?@f~> +endstream endobj 76 0 obj [/Indexed/DeviceRGB 255 77 0 R] endobj 77 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 68 0 obj <> endobj 67 0 obj <> endobj 69 0 obj <> endobj 82 0 obj [/View/Design] endobj 83 0 obj <>>> endobj 80 0 obj [/View/Design] endobj 81 0 obj <>>> endobj 78 0 obj [/View/Design] endobj 79 0 obj <>>> endobj 66 0 obj <> endobj 84 0 obj <> endobj 85 0 obj <>stream +HtV pTι{qݼ݄$B ɃPF%ix@ < R,P "TkPVmEH+cp:Hrߛupg={9PZK#2L =޹g=ݥg/[?$O.&i#8Zsf(wњ=+sltoך>Ϊ%Zջ)68Eܷb*8 h5!pdimHFz"r ̖4ߧWVa'NfwpM(3wiL"Mm!EQ&Ķan~_BP$jBሮ8h6u Pz(;2V2Ñ^4! O]|D3lHa R}-^'ilW5lVlãx ۱O~_;y ?HGr$ˆ E(F J@9&5:|x阁&,c6܋p? K =Exkco{88 +~Wğ{lďp|s 8x{p|; PȤVD<‡d" p!(/1U@%mX1S0 Sш;p'Ќ|sq7B'+"ǯяXuX(rcY>Wv G+#Fɚl{mܑ458 +V"~TaU_孈߄]o#‡O݄igMBXg5oBъ~T"ok {xy&NpMȃO"m.9>p#x+.ux6({7aEP;O#<.Q ?dL{V`?( ę& v >g-cE-+!=+P(CHThM?!-}X^vN&-9@ +ac ae=Ta4ZBZ;1~B:k_ˠ 3MQXz*@-*=HPveJsSROw=VzԳLVA֫ygovwVL~h/B'&+|E^#/>ĒhANۙ|"^E޽}LJ/*fc{Ÿf ?E8/*}SkƢp,ŭ+e_Uo` >7GϾ;njn\g9D~ 7y{n_>?tFh~gjUgijQ9/ZKkr.sǥĄϹr^'=QGJP~j麎#mT=1ۉitxNպ]T]5V8 7i }GzCIͮLTI,+S)_SGkmc,{:M3[]ƈ &c;h;( +>M}6+7gAx__= +endstream endobj 74 0 obj <> endobj 73 0 obj [/ICCBased 86 0 R] endobj 86 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 72 0 obj <> endobj 87 0 obj <> endobj 88 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 17.0 +%%AI8_CreatorVersion: 22.1.0 +%%For: (Gnarly Narwhal) () +%%Title: (End Screen.ai) +%%CreationDate: 10/6/2019 5:50 PM +%%Canvassize: 16383 +%%BoundingBox: 0 -18 32 0 +%%HiResBoundingBox: 0 -18 32 0 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 13.0 +%AI12_BuildNumber: 312 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: 0 -18 32 0 +%AI3_TemplateBox: 96.5 -54.5 96.5 -54.5 +%AI3_TileBox: -368 -303 400 285 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 2 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 3 +%AI17_Begin_Content_if_version_gt:17 1 +%AI9_OpenToView: -13 21.666666666667 24 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -13 21.666666666667 24 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 763 +%%PageOrigin:-210 -450 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 89 0 obj <>stream +%%BoundingBox: 0 -18 32 0 +%%HiResBoundingBox: 0 -18 32 0 +%AI7_Thumbnail: 128 72 8 +%%BeginData: 5096 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCF8FDBFF8272727FD78F8527DA8A8FD05FF27FD73F8527DFD0A +%FFA8FD70F8277DFD0EFF27FD6DF8277DFD10FF7DFD6BF8277DFD13FFFD6A +%F827A8FD14FF52FD68F87DFD16FF7DFD67F87DFD17FFA8FD66F8A8FD19FF +%27FD64F8275B3715AFFD0DFF7DA8FD05FFA8A852FD62F806060D3D373737 +%FFAFFD08FFA8FFFFA8F8277D7D7D27F8A8A8FD61F8073D37373761FD0437 +%1585FD05FFA852FFFFFF7DFD05F87DFF7DFD61F83737615B858561376137 +%3737FD05FFF87DFD04FFA87D527DA8FFFFA8FD60F80515615B8584A96185 +%5B61155BFD04FF27F8A8FD0BFFA8FD61F8363785A8CEC9AF85613761A9FF +%FF7DF8F827FD0DFFFD62F83737A8C9C984613785FFFF52FD04F8A8FD0CFF +%A8FD61F806378585CFA88B6137A9FFFFFF7D7D7DFD0FFFFD61F80D615B85 +%61615B611585FD14FFA8FD61F83637615B613761373785FD0DFF7DA8FD05 +%FFA8FD61F8063D3737000D153737FD0BFFA827F8F8F82752FFFFFF7DFD62 +%F8063005F8F805007DFD0AFFA827FD07F8FFFF7DFD6AF8A8FD09FF27F8F8 +%F82752A87D7D52FF52FD6BF8FD08FFA8F8F827A8FD07FF52FD6BF827FD07 +%FF52F852FD09FFFD50F827FD1CF852FD06FF527DFD09FF7DFD47F820F8F8 +%F852527D7DA8A8A87DA87D7D5227FD16F827FD05FF7DFD0AFF52FD46F870 +%B7B794FD0FFF7D7D27FD13F827A8FD0EFF27FD42F82070454594BD95B7C4 +%FD11FF7D52FD13F852A8FD0BFF7DFD42F820B7BDBEBDC4BDC4B7BECAFD13 +%FF52FD12F82752FD0AFF52FD42F845B7BD9BC4A1CAA1BD94B7CAFD13FFA8 +%27FD13F8527DFD07FFFD44F895BDC4C9CEC9CAC4BD94C4FD14FFA8FD16F8 +%7D7DFFFFFF7DFD45F870B7CAC9CEA1C495B6A1FD14FFA8FD19F8275227FD +%45F894C4C4CAC4C4BDBDC4FD15FF7DFD61F8B795BEBDBD9BC494C4FD04FF +%A8A87DA8FD0DFF7DFD61F869B7B79570BD9BBDBDFFFFFF5227F8F8F852FD +%0CFF27FD62F82045F852BDB78EC4FFFFA8FFA87D27F8F852FD05FF7D5252 +%7DFFFF27FD65F87DFFC4CBFD08FFA827F8FD04FF52FD04F827A8FD66F87D +%FD0CFFA8277DFFFF27F8527D7D7D5227FD66F87DFD0DFFA8FFFFA852FD06 +%FF7DFD66F87DFD10FFA8FD07FFFD67F852FD17FFA8FD67F852FD17FF52FD +%53F87DFD13F827FD17FFFD17F827FD07F87D52FD22F827FD0FF827A827FD +%13F8A8FD07FFA8A8FD0CFF7DFD16F827A87D7DA8A8FF7DF87D7DFD1FF852 +%7D7DFD11F8A8FD14F8A8FD08FF277DFD0BFF27FD10F827FD04A8FFA8FFA8 +%7DFD0452F87D7DFD18F87D7DFD04A8FF7D7D27FD10F827A827FD13F827FD +%08FF52F82752A8A8FD06FF7DFD11F827A87D5227F8F87D52FD06F852A8FD +%17F8277DA8A8522727FD15F8A8FD15F8A8FD07FFA8FD04F8272752522752 +%FFFD19F8A852FD06F8527DFD04F8A8A827FD05F8277DA852FD09F852A8FD +%09F852FD0BF827A8A87D27FD14F852FD08FF52FD08F8A827FD19F87D7DFD +%06F827A8F8F8F87D527D7DFD04F8277D5227FF27FD08F87D7DFD08F827A8 +%27F8F827A827FD04F827A87D27A8FD16F8FD09FF52FD05F827FF7DFD1AF8 +%A87DFD06F852A8F8F8527DF8F8A8F8F8F827A827F8527D27FD08F852A8F8 +%272752A852F8F8F8FF27F8F8A87D7DF8F8F827A852F852FF27FD15F827FD +%09FFA87D52527DFFA8FD1BF87D7DFD06F827A8F8F87D27F8F8A827F8F87D +%5227A87DFD09F8277DA87DA8A87D52FD04F87D52F87D27277DF8F8F87D52 +%F8F852A8FD17F87DFD0DFFA827FD1BF87D7DFD06F852A8F852A8F8F8F8A8 +%27F827FF7D7D27FD09F827A8A8FF2727FD07F8A827277DF827A8F8F852A8 +%F8F8F87D7D27FD17F8A8FD0CFF27FD1CF87D7DFD07F8A8F8A827F8F8F87D +%27F87D7DFD05F82727FD07F827A8FD09F87D522752F8277DF8F8A827F8F8 +%52277D27FD17F827FD0BFF52FD1DF8A87DFD06F8277D527DFD04F8A827F8 +%7DA8FD05F87DFD09F8FFFD09F87D7D7DF8F827A8F852A8F8F8277D277D52 +%FD18F827FD08FFA827FD1EF87D7DFD07F87D7D52FD04F8A827F87D7DFD04 +%F87D27FD09F8A827FD05F87D27F852FF52F8F8527DF8527DF8F85252F8A8 +%27FD19F852FD06FFA827FD1FF8A87DFD06F827A8A8FD05F8FF27F827FF52 +%2727A87DFD0AF8A852FD04F827A827F852FF27F8F852A8F852A8F852A8F8 +%F8A87DFD1AF852FD04FF7DFD21F87D52FD07F8FF52FD05F8A827F8F852FF +%A8FF52FD0BF852FF527D527D7D52F8F8F852F8F8F87DA8F8F8FFFFA8F8F8 +%F87D27FD1BF852FFFF7DFD2AF8277D27FD05F8A827FD04F827FD0EF8527D +%7D7D5227FD08F8527DF8F82752FD22F82727FDFCF8FDFCF8FDFCF8FDFCF8 +%FDFCF8FD7EF8F8 +%%EndData + +endstream endobj 90 0 obj <>stream +?sJ2>Ƹm^ܥRtrq#wurnz&wtsXZ.ŹK?yrA="qR.IR;#]*ܥ6cL'b*V;>ߋBoOZv'LLpLmqzr+v;5:ʞ?nU?-1[k1[b'[XYe)Lc1Sb)#lm&c:$~x/FYcJhJsbJk1Ŕv7>YFj=QANjNiM*oեjAc9o{}VΏǕ;*7]7 )hRM-KFb{h@N\Nq馸t.(tU> ztSB K#!,w09gu|Nݦ6?!ߙ\;->H$=G=;>6`+ڇ/^יIgוa#9DZw#!czq+ji hcEw5HuШn}Ew,aE_o v^ūY }ER">^ }܆'_d`"q4D۬GC;Gh~F?Rq4?7'8S-,7Uz&O-1ܞG{)8G0$ߣwjM˻TVm}u.hVkpSr||{]]g1u)q{u ExWo0kw}H'Oƫ؎]=Z{ǮŦ$cbZ|9|rU.6[5rr1rQ- _/w.>ǎovnrj+cm}o+g7wm3 v_MTp/B02 +Zge^bK_/%x~c2]o/Alcm]rn3DŞ{bOT쉊=Q'=QĞ("T5C;DXi*Um8.z)s3?G-.<d6V#gXQiNqTVnBLer}\䶙^㏳cܕ"9.צL<7;.'23ţ7qzsݍku7[/%*Zo|tjq{9kcEwk{z^_o|GqeOV[)-ݶ]?[v*6/{ټ oXeG֣֜نA%vPgh}IR9kwlqf{S9j'uX_;o>1t&%>vK8o{icE&vΛ^O%m;obrI܊]7/3&9u;UtS.\T8:jJaӮZPliڧ@z^Rz@m} ͋b[]h&ŽOZRX}PY'e@mqɕ.5ګ[HKp+tMQ^-]N錫 +jtQ:Kݟ@{V+fp2H\7H;FZVƎi<+ZK1w_ߝx| \>F)i'TI޿9֭^sy:ŎU$3+W6N'rbwpg**BTaQD-{Ynbw{9qjr5.n}h=rS<7t6)LI>N2J/s01&L4&%DvCgX`x~}F.ҩzEacPӧk>ݤnlOfn٬nGt'z238 squ0`?DYZ { +^ ; "aSB8Rx !sw&L}o=[=2\V욆K/ @B1He`iDXoC1eSpr@P{hS XQg:A@&+ HG&Sx&3Z, ,xa Sd9'4Ha$qDEF\H8( ODp #@.F@*!+*r C,=":Xcm,KNa@E xq4 88CjX(R]KJӰp+B?_ٮ Q 0Y!lA.s%ڔD)x#Чl2H" +B(]^ hڴhG1ǀ{V`!w`) PV)E : KFE F0~0 VM18{Ҧ_e6>P@ܙ ì)5ё~TM$c^",@p*I*b}5N,uzK(}ڈ;8StA5 hd-f #dbm4q]C RN=z%|]A *z"Bئ(<(hRq(;24Iu$Ռ̶mCTz tdhӀ0bn4B"7DBI ғQMfVkB8 4::7Gd6] ع7P3s3tLgSiIʸG Bk b`W85 !`@ M -)͎5e}Xg" +YRabG1&+s] + +(s]',n.σmqf^ohف9|&MۀrK +< %BxJh7l#:EOQp&(BU$JA +K!ˀ#e;"_('s6@A'9BI | ~\G` +vC6H oB/.0D Շ&{ K"PYM"JtVH 5Fϰ~%@KhaXT*,AA] @,!B h 6j`J!Rz[/v* wbt`iv!bC)$$CKHHd @4r ++BFd_P(rzT$3gI +>npOr9jVğhOm&פ;,=1`.m‹霟|*8S ;4P89J9`'`+LD@r,A%Wk1Cq̏`_WJ(HH(ۡxEFcԣD%RDx7u!PC55q.Z^Aη5qaH=׃KI-HU=QRSA`mHґ-֡y7HH$/=qH4pW!JzI@;8A^f#"+mtMG``Y(Yr ?"- O1ֆ0lh凘doS#pJ:;3 a6^.XW@f 1mK'p +rtA33T$<'|M=#`&ٌj]9 `@:zh@R(UӪEF)ȣ +J!GˀEp4݀˅ |_Exc$"[2PX!+{:XhnOA$/C#2H̒$Sf1ٵN *tB@A{'2B8g$Zh4m&mIo"?IvM2#>ǘhmT[dᒾ90C,@J68MG u`]LUJːWHC dB0\'0GhvDL2 B烁J]ёm^v3SJF +AV5GaDEth!ht6UbjZdF9kmlAH1m{p!8Fn-d#Q&k@ ^BCEQ$nRD!+aQdi6 2pLyjBN1NmWjאD`8HɆΚ@DaGWݨ)}Ё"7E2iRe2k mv"hS:H8+/I"/ +eiQF q:_C A w @YYdԞ LE2[h}SXt{gBpݭ4K0su.G&:@pTE)Xfwo^`Fi&o+WE&!B|MFPUĻW[Gu8e:a_w2)O8qO6nnd8qAFyv(=9 vY:tbk"BEaca$1G-(- rnW5yM +r+KsnHn|wtZ(tHA/&ĝwYbpCŁjhƟ5a֦\.\G$r9`N~|(ɞ id + KNh (8ʿ p)5,NJM\r3JLœ +RX6BdP +:_t-:J~5Ns[)M-_6%3f7FRBisY fE2flNI\|`eqivq[DrNbDCqjkK E^G]B"/HIF cҗn5q!|#L4YJם݂Q\Hjh/;& AK'g5`r) 3 pMq#2tWhvLJf,Hf(WSo$3#hDi$"!·QV er/6R LExQ&lE!IDOCG8 k8ۚ>ҡ{Ŗ}`]bR ('Er3`_hW}䓧&SE:L B4z|cxYXtOvRB#IK5WDzu! >つ,Q;d:3-f&ay:c02a8ȉƥǗ,y5I ɖ1882)uz>uLEq @CF6 Lt)s`φ2,5 7XXd4B'tʌ(q@@QDi#xE[ +0!K!i?P.;Б~ Y5P4@2"_ R`O=x]4rni䆁ͤlK+ cAJ6f"%r*5EI#֡\pv8+8THn$)p +t0K:Mut?gX>kS%N!95S3N`Q3BDKpJxcx]i9Ѡ))t⨔N<$dͩyoXuA̞BY$TC\fi`w*& osQ(.-[ 7AB{i8:,-20$v'ۓ`19:$"]Y4 M)|x v׍&ƗKCM2C)t[(:)I.Q-{vx::o3uJwERS#ɫle5FF#HN&n?GͨdRH#ԘIl2,2}Jy+ΌfυSW>=F\1c gUE3i@^bt,Z +{[n5IaS<$ +,-asz촉dvmhH(3;Bf9JDMCRMDaFA h81rl/#X~[j71M_̎Dl=N8`1e#Ed+\@8B +c4 t4.f&4:t*t7aoyr06qA6˜cPNZ|Of"g2U"zHd.O$@x +.0|5 krl NDh K_]0imTqF"a#}aB:Q6Hr"t(bwb9 ^lccT?,U=]nZo--"#V!-"36Ao= v}9&ҕ(i E՘&T ʩ>Zpp-rsmlry3XA1$/2GycUC}dǑ6!ÁOJ\3N$&o31c= :Z m\cԗD(~RK0zh|p9>9lңg$YHE邷(4yBtxBTLk=u Ō $iko)4yφ.:>D#8ed'S^lt<6xSh' ǤV_h5J!nRu~?m*N;,1BB)[EOck֮5U`0suix9\Xo۴42SޞU΋7U&.!uC]B+b{f/R<_t#Ct~׿?p<鋲sls8*U7 S<Cw8ԄDS.I,9̈́:> 8`1)Ra)bEGq̞镒>$myLm1/6Y.- 6(>D$@#!>m8 ڟٚ5l%aĄ ta?Pr٠Ja6p,Et~'S= )>Up-@'wp/l ojsl L6LۓbE;xUÓLwq$ AxҔS&&ʟn??xmt k'&+-E@vƍ~=wC 1 sM[ر<+چF&$࿞p)fВ2Op#jp' ӡD;)1}״;Uyd[4@}<:H(mGB9);ly/XjxsS:|{yqu淉}t`$Ƌ΋rr[~[`TNK7]^㣼ԛ,!+ 3R~gT00TL< 5ۍFn.J*&ks٤$GSej֡ +|>l_<&l8ᦗ t]yUpM&۸&Po +D5DQ"&VR/oShZu]a5UrapY}AJp'\ij`m)?jeZ\t,iI1MS` gۘ3b;?ڶ6<%,Tgg2~ۏ)g`ZF{VP㋹X~R.;Q Oayj8.f.πJ LL$G3< G(S:cԏQg +alM2We1 NmH2<D>xX8"Es)uGaO(EGZeeXSXx +*wER wۮ_0361MHmwд<*ZP Kg_~TIBS'16Xј:dP66yI۞ `ְn&AS1#?fM@h=skp\dwMOD+~I N)Sj?6φ_Cu0osĀPMQOjqN^WOӘެ>tSXa,m6;±܉R9<8os97 3;'JJ=N]0jr#!n:&XcsZHLFl} +JD"`K(,+Xbf*3wqJp4̓E\[!g=l I%(X:NX!s +HdpE#UQVaXXSP6(mx;ԧx3a2¶|Tt%7LY\;XK-J +ؘ#QAR׭ +Z9ޜA5{MV\1}]S+k> c]/'%}Mb,xR<>F0G~+ +`>"h0~͙B\bpr~[=-^i-e +oJkU{93_qfRl⦈Sld5"=5' <1P[\jinAf=ˎ0,%=6S#Xs0 +Sވ!ni/t,ꢤų+Zr$V2TȮN*Nds Iݕ1C¢FtbTalgY|l. +VTYK.<] :L5P!A}@p$SQ$j!x"TŽ܎aG + Nqt;i urehڢjl$1hOZJqD {³=Coj&%(4$<ۘRcE"+И92/b:׈LYXL .XԆ܏ 0qg*bbUc],K&*5@P6@Bo% iXs#sų.kRw/L+XTWT95)n +|A]HH@î`ͯ  qy{IebAi>L8 +'cBGU#&pxJtEA2v E r"&6e9夸 >>]. إ\i/T;C#&^G 60,|&MDP1zJt ͕qlqi=E8w0Am$ [UMjPe~;[PyU}wXtv*=:IRTN. IUB׍R[bk۰Q]zܬг!9GI#e/o]!+V43\b,NXke4tm 1B՚\ +%ש|-V0=-Q:h Z鳰a _:62qdi];  hedp% &P_tU ]&"#[ &acK=5 +:B%^טk" +SWLPԂ OյW$LpA1BceX +NZ\ iKJ{8QԺZkkf MY*UJ[fM})j>Y>R2Xꆞ lv 퍠>\T\f5fJYH I@?3SRC CNIk`Bvؿ +?hpC48"F'$% +Cz_S%-mlX4Š . /ʓlG6d;w*Lյ!;0MWC?x!ucO2 8kQ}_^T&!C!`&M8xB8jJ=@pĵ!Nd4^yB0[ϣv+*hRkz ) c3%万6 Vn^fac^máZץq_:BM:^o^!]&i]Ԣԑg ( 5L%qyKKpHzKQ~tb! " 9lL +6"4l[ 6y#EFim:W J_Sr24¼4Bj:DZp"(;0Tcǘ?Tlkv1GyWKt`6T(uhÐ *8nU|a$3Cer-DafU0 _MDwZo# |&ʨj&җ5ln eSR :ȣM tpi:#0JuqS}]&+8e>M /_k=_~\"& _^D@|hA|x;:w@+&E5(&AĤQ4;Z\0`%GΊgjj-MEW۩끾GYV] ~+7N+b*&I'5Vh&E|o]6۔;Cvd$NF mci(o|-Yu_5!! +jt`/Q ^Cx);OLqOMmAQ[5}lC$PA@+& +bu(6y8?8Kz5zfj.Tjω/la@cIC8H3c=?vn4C0`h.bcƇ*:ZJCdzԱs|9Wb_"Շ`HefKxKtαհ]6T3vQ^>z/Ȩk9 _9bk) /}[ׄ,X +~7U]~kB7NkBZáf2qPGCMWUh(CGX1ǘbm&[ㅆ?=J㘃?\ו f1t,`0;ƀw[Hd$K"o-3=3$$PZ]{W1DٵR8QBRarp٧j<8HȋB[R4gPcFZ뽴rAuy qrk@yqfyx.%m'-ͺPƽBy# 1Ȭ5c5?hҦ% {7ʄ4(dIZ[)񯡗ݶ,J A) dC||T`"iC|l^w*׊>8VUp&$ėipB6h"$gc5ZzЕIb\J)"2͠kdrAe/@urM8&{|Ndoϯz}$.6Jߑ~ol6b-Zckd){|z59GtKhS/(Ak?e| )>O|dcŖ24bMPruڼ%5F渲lu [J϶*8  ,SJxH2 )_yÔR;pԶlsކ)F XU +4Q"(uA A.f&~cP*-/:$asEn$a+Ӵ}R8KRK>RhBg8P AQ +4K!n&L@谠T )0Һr.HPR2 BگA,KA I dV9#B46f!'!Eh6ӛ sU!adrei@=Mv?(-3ul\Mp4Z I@j}I|GB;8]#eA)GJ, XF$f#8 +!fVG"6Q*pE`|NFf&{l3!+x݋f-c4.s1Zs:"  EgN^9.K2dSR6B &.ኘzSXfZ 9bg +s61xYfܧ 3Msv8b9w"sdLJhyy u~0+[#!4(BA#DH7pkTjT-EIJ)5*%PYrz)gXN,Cv~* ysBselNT}TA땙hN[Ogq(@mx{[oW&V_:gdeN2_uc`HVU :&Z0'C c +VEkZ!ib=RvRhd٨Y!ς+6;I3G֧,H&%g'>DUQ*(׳TAq}*(#ЊmtM +Jƅ&obo G9;krNXr;Gr+aĒkNJY̑v# H-&{Bl.]2lA;ٟ|P tMF0 P~x>!ΉaS<"KhS5 +k@jt9dOuR r#('1p!?M{[")% KRB$u>tIBԃB =;lԃB..I]]zP%K\N.4H$% KRCHvsPԅ% KR +]4 C(hFC..I]]zPԅ% KR +]$u!tIAK$u!tIAKRB..IPKχ.IP K/.YP&tigC_]&tI%B?(t)1J%]~!tI% ʆ.erRbM$BK$B K2C_]B;L^Pl.I$B.I$U!tIAKĖ~!t)^$B K$u>tIBԃB..I]]zPԅ% KR +]$u!tI: 0JHQBgS.x( ֌ Q )%M-o BsF BҬQ‚F %2Q"3%a33mkkp%rz%[oYD$(aA6s@¥QšѲF4|6g`Q9Q BsF YF F pYUs[3(Q25J F ZK(A+%[BsF gQ"{$(᜝5J8'l%aHЊF|S 0sFŐQ"h5d&YI(aQ"s*FSkfO}̙3O 2'N'3")蓽ckiB1vvNiu eX2Kyl )5BFڈ=5GIzvNXre\3?qXO) +ИSMi_w_bAkIAЄTq6:vL t{q.Q%zdA`/N@E5 dCQJL):e,c**ᔬu 8}*tH@#%I8Mc)I)mF4$Z@raζ4#S +c \iyKfAP"c3CJ^l 噲/ eR$QQDK@Io4!VHLۀGGɃ((yb AMAv^J4B3 M.!ds#`8z\˖E/ e2{@p!!bd6 + h sB^XfȏX̡GQL֊$ʌLcePJym-2W6.uɂZ&9mvev7rwgZ$6ؠsqݜSc/aP0e#ݯMIz3 +oVaY"<)ف1`[9B+)6{#^Ȣ)sŏbTNxO4{jg`": +cH\c`@N Mms*_$GOI(.Am O^#Ws4 pJFYe4%'l{d2+c`5[.TEע^8$;p ?oJ(3&^yi+ %GEmߍ_~N'Օaٲ&FH\&Cj1[Jf혁ϳDOd3 +ssjk"O{ ҹRVJ~iSÞ 2_pNi1QNSXmh-4^\u2LPBɧǝNn62l*lvSxmq뎋dZOUVWBȴ_󓲽*ח J:)I;_09JZu,PO$=*J^@%?J_XgsvK>ɶ=Ӄ_*q=I|ܲl~'A*;{9- Q@z, p$lj)\4Mz "Q{| 8:`"QԤnXCRwoJĈRr4 aJic(e/9ja|[dP0k?1;99y9婞ApFgeA &K4P`y`W ij憷 ܌1Zkx|J; 4Ƞ-qQ)ז G}+N9vec7B*ٙ4|C\O37C 3WQjЌ0 黉?ҏw_hl-oP-h soeA! Ki[f,îq-/Q۔wpiHEA? /^Vaw rF,\cPw^_z_-/yq~hTqti~/MuXݖ;㯝Ti[8D'kRJQ ǐ=^iWi٨֏fumv_Zݤ{yX׫gfr֬_%Eqwݾ;kˤ}Ө{"ĥɩҫS{7[55ؚM>WZų).=>jR$қQnCc Zԅ&V5;I03z={f87?:Ei;`sq)kV:d 0]P⹈˸ C=~* djJ +f2;z=L^XQ69eƳ12:r@[ysS6B>f%,Qf>l +~#tWưN9aE֊J.a$|%8+J:V5$97Rs.+%<|y{68JQhf;Q:DhO1:Rl@E0#u(hʋQ6*1NXy|?ll1R3ŴF@N% 'tC|F -|b6E8%y#NgB +xHS6o C"rԬyPizTJGq@: LEu*;&t.8*8~߾8qS0◃-b1ΐ'uBzpc4G+p/!&L/||rV} ίm +0@(&5?&_sj#Qq,~㒎x':2 ` +xõ-c"=>&Pz=Hi F aAy"zT0WKir<  #"qofQݳ:6FuE5.pa? 9Wcl^Cq-9$N YapXswΧ4Ù(|%ǀ[1G^42`_}SWP0 i3:2jp1fsJH8/ \ ЛD$ym]mCw Csh:bZ)=PDD (d#H)K\(ůP. +oڔ8+%Ч_1WxݵgxN`yp V @R:?(3J_y̡BØA93*WIeFfE#`Jp36T؏Bs Jô6YO\7!b\lXt2nD^R5Aǧ~#ɤW Oι<گo- c2|W!Q=u6rBpA%k RcS:5c*L!Uy+vijY=QzbSiZ EyM8MQrG He<}L~T>#Ek9ƽ`@eSj87S0" T`R +>vw#%2oSmO@H0\19<6J 9u ++7jC216 d XG[!DdrZmV|i>C3B2OcE1 +(cDa' 6D +(qg@m:4Jl!'zf<"!b6S`O&nld@w2F3EI`6$rc^ Y|bXP󠠕^6)%LG<_BlԲ$}ȒT\%NGƤ)>[A-Ի5A F Xh}FF^2_Jኬ2)$'zD WJ((+rĴ`;cA"#gq/E Ay9do( Mra1yNGD/ʠC&/wHR4RS&BtGCL ܀ +ڑP=˄[SJ!9F $Ep  &W#|:TcSF9dY GC(6x@$"q݈\]-ᜨcz,B"{lmdNneoy籥=^ۋ Ϡ)Z83RhM+LШ$&0~ΌuIDɊ6Ńg(eH7)Eln%@ oe2=d@m- +m">)g=Ё|u%FS{$,?>=ri| +v eI{h~k^"ނ'c͢@+A2 !~I1R2 P"(%ЁΊID%̢).Xl%2@!vF:Mr "Cj u\)AO?Y8b# n <e!P[Q\H7\.FH6HEz.P#yj>x7"%6%%3So>|aS8BG!pHYVݝ(uS 9H"hXCaJIS8Dx>jm8eQI;Cf쒦#Nx& f1tck~ҌB@~Tm3ȴvNCœBQZAJ)yl$g_&x4w4dQq`:to-CRw +JE;J w1HA.)0⅀+Fy6tɢEF &) Cҗ]pHQ$0 ?k,zhմTL&Eɑ"4%9 X[y\mt1MF2Yx|@>Ncz +uoyiEFdKE5}1n#16 w$*A 蕐DM!xy)MJ$i+(CzOPBRݐH0&ylM ++V$)#cj@;0~$r&<<0f@)8"}T,"䔏dAC`? SP$Kc:QE'4 ?i ITFJDd}C,9\2F*L:q C;$"yXrt;r +5"s +JQ$}ŚٺuYTٖΣ$}^dd"i7 VI9VB!* -Uia/&'F4 +>DFh#O̰agx&HŦ6ȥDĖGCPXyHJ#Y^b(bBdlJdS +G$7!暽)m; A]#裑3& nK +i0#?xl0:,H%K(EĔ7H > LX)(_:&x7(+Ħx&-[BBhAV#maR!*L ֍Ù_RL~v)/y֡E 3LgZwYگ*n[wc^i6JQ5Ma%]J/+mJ0OU}Vw~r|լoZpa/+j4K:4woj+LҨ>Ơܠu^*l ߀w5'2+Q5MnjPVw>uH4^ #h?"^>nUZ.=`|eUJ|<==/'QJ'Y֠W~ڗDnxDɅ( v3"oRcA B )`΂?CA9Ab~gd.qߑ\0ggNx*!<: v%<-cֈߘ\ƿmt8Qg4XtwNGO\0fjpOu.7Gzڿ7a'W[m`2ʣ7 +F8j4' 7aK '^Ct@'GJ:YUwVѿ +U[f#O̓{uvEFfcK&+d&!_,0XA(=LҭXY.AǶ~ +RjuKT IDvjyi7,ڿ_lyޟ brټ!=ݝ3 -Ofz,6QQǍ<2z WNڟ'ඖ@buPtqx<\Wh0֚uЕ8o_P!1infIRN@TDnkekuP1r0ļi` Q{J{jz_xʳq*c'sQPa/)+m/&_]7 |{z?R%Q0ڕGםf*0ʟ:Z#Q? nNÜO~*Ls'#اT d8bt\DU+AY|oA !Rو@)-)$~1!)%ġkC)rxzMC'7QnyZj}O:-M){"atWG#hIPZ0\9 +|-WzWhk *M=}WĨK$}%> a8ϭ~mrl\7 +WaF)]Vj~ ic4?ޜ +ӜZSBV?ow륓z5?kjE0G&|JK0Z{5TS/C)O + k(sOFh U CWB @HG!m!ʼn^ͮW?<[kttAe!g EZܩT3;^u?ia7(ABSyg0k_ގV]L+i8Wit,2d[9j}Ժ^owTWU/C־nQF[?7_ iۍV?u% U+MoU ŀ?dy?ֻz:ϊh N҉x'ēO5HM'fm!~ VXJƣ ߟēx?oLvNO^[mE" L#.^͜s*bPG'IIR#I7I~ @DFP^t'wӡ? 3¢H_ ܧp׏9ϸoqoEOi\niS%>mdRJF +`"@K0E58~KʡKE'*X(fGX5IHBJr_d[z$([- 7ݟX^%a;Ij_X:B:P*@pc)X:؝|BEzpOL5YLFPz۪w{%Yo%9l{WĿRj(hx:A/K4ofɵvՆ& ٛDۇR[s.8Jٍ3XZ +iϕxȋQҡ@C +][)Wegѯ?wLx^XOS>rG[1fS0+`+0=a$#yA$JR87$CMx6wK/tB*tT0'UbqzGNf9ñ!. X(CPpB6 "L'cF97۟/z9@ ZzҋyD4G{2qXZIGs#)b>@òXX 7"b5RkBVe2#$#6vּI1Da@X>]#W8X hV1?;tEկ$c4 m#@ +Ñc)=\\#8Y$t4' +bI^/^i~LIfpk.pp%{sA!HfBⰯ" cCmEdt"0 v:p-H)I=˜;v!3 uPQ>yu@0/&VcMH 2A4M4 p4yCJZb [!PK U"xLx?Y#p@S+)X/(2G Jt+FĐP + + !# yS34%Z $LJ1푱 J'CJm%R{< bG͌1MKOiRab)\\+K}>y20L:1Fr]C +xC w&TD% `X;UPv`@b' 2+<P`y\@8a+#= -6(ܚh"+9 40^j#d%m̍qߊoZNN*6P +b<%J +b G*(-5)QEkpI"'E &Y#[ vE L ZKpC@$j@4/"Oʌѥv \>ABWZ{"d h=['`pj +nL}g#p`c +7+0T\pD PZ7TYG"%=XސF7$rnAtASzI@#{t] +:ZLTKJg鯇2^X.IH 8VfL>  LQeSC;KWa`r> y XiCѮ  `Ƿ/2iB$iAa{o +/9pËA!_ +5xbp_> OO@ <h"l-dÿGDиxc +s37s@ =>f!p2H}$@,% 1ކ袟r gB:9%Vp@#'4>+0WmEC `<@(@%/o!di@sK;\wF†1޸`SA.Q,<$#~"$,+b B1?bk@d12^ h C]<D1_vFY`~AQ9*a Vra^)WLgLЏv,`@`/QC t_jb ia喇^!tQŰ~6C45 $F8ZRkаr-R P0Tkhtr8t$I⑮Y +,z(w S5@;ZKz +v ',vx +  КЋ ˦7P XC;73%w:F$x "tUamivb Mޥ|/n޲}L1v)dY dsPѵERlA(ilնtF+^OD ‚w!>ȉUd jPh"p}dQ_x=(ዠ_ y8:e*kea+Ew\r68\07D5"f+¿!Ɋ50;u>".Zp[H҃"*p`N4.ȝpUѾ\Ґ?C{1)`t"2.h +n@J}lAD./P`eQCtF0&(T"["H1v8ɎW\ &/ i `}q-=7W# w0y`_`P7ϼ//yPF Zʑl|[F%5{pa/"3L'bh +OY]8b]z0j4&ғ'u|QQ6wRn*zĊ?+ݫ^oe)=j6wS/6 +Ln׻gneN枙- 2DZѮ\[Jy % "gZ}ȟK_7[`wg7}vA'FqU/Z2lMgGkn<9}-:u,ݶV04?4ĴM/Vڭ}vٮ^k&tXY"gg{,mW")MV4*gn}N#·_O폁M߾ߊ +"{xL'ցʽ~=`5g<޳vh^m}/~Cepj m}׊ +ǂ.h,תlbiJ޹5xLFx xԾVkh1`j?Hzvz挎hN+0qgg"/֥aXC$kMv^Yok<©q,垃I3zGi{ \8Y\;,r#:,t:]4SOzm$$Wcِzשm="Zz pHӭf}L5IzJOBk^o6ׁ'/SwwVxo*xK{g^<@VԣSд`J. _lv]42h- +ΛV{ul+k*_Yfo`W*lv"G-pw!?\GZW%e/{CQ"VZ_%R|a+]e8f*!:0;LǛga}hw_\]t6;[`9h@ŹFTln۫ |`[ ivZDa~֬kkdD8qd[VL,Q .#p~UM>|sW;{{ wv6¿/1_Gᰞ mtWk8fU<tqw|F]=:)BJѻρ9NV}Ch\Zc;2= +%>L>իV9i۝LJxzE$<Z{tsxn{/vұH +nESսN:ݫQBK +qVi:lTF+t^ h_tEb%K|Y䒸vjLo0Ҥ\#W@486lzpEs'BĥV;EREDZ~W ](mqe#kPF +jp ͻ0FذSO7yV =c[sqӝhOw:[&I$RTO7̸}1Dުq 7b LMmks RcpӮ3ɍ9Ttٽ}밗o8d{5tIwHꄽ ;ŷ\t袝믎8j[7*<'7?}PiyU͛6 B9*ʻ~]74K&H}?yV=ݩբھEQЊVRA8-A+gM}pgMizfZ׸hUhIKoB;h׭͡ڬt~^VAp3/٫V[.IӰ;k+T$6_"ٻa$z?EN;4}_%r`4I C빼meGQ.tY^Ӭ~oo62ЃbUfy=.X5 sd3=5^I=cCPuŢ|W#% ծ,mv쀚b=Z۷q"gh^˷ y:A՟5tYqh`[1鞷3OqK{sEDYG&g Tn (e^h(Ұ)䚺pTL Q ebWlPdnA1hy 0rhtZ?+׻ɣӃwS_ "}5sA](Q3bX^}]%`Ī5LdCDmkVZ5-rk|J]` +_eb7ƟcoG[WmΆ55ch}g'u%k\޼},^^VOŭʃZ|V.wOJ?nl#:x}s5?OÉryt̓?0e}#.zh?F6h蕓_ uSu)Hh1zT*=War;~>cf{bnu~yF^l?z৙gzwq΍lϾSk5'!)1[P=\.or>t#g. tѭv6WzSi<^PxVg!`b.O>n-OmwG3'Nʳ6?fw},zaFceu2(GOr(>vʾ*[bT^? OʏO.+-1]^[xQ^;9+o~Y)?yyW9茖wgoV{OOǃFhg/^,|)jl|\a޽z?#;w#{筑tn92q>_ܑ#hH0a/ёrtqv::{<u4ht]>x>эgOFy[{WKǟfG_NM;#Jw~qt=Y~aF[//G{c#&f/Ʀ?l_ytX㗱Nyl}CL=QcӧzLoitna{XeaէX=x<lĻY N?xl|w~`ݥGʃ#W>4<}n>ts^/*UugG$ 3j,y}6^E]om΍NNNg'f&sMćljcKɹd K}ǭw*ds &k#SkT o|y?|>ޮ<|ݮxx֬{xxai?N/>9O?hNNWFz?Gs! 33qtmFnr:u: מ؊w# קGX߯=5W:> Gr`JWg/XWG~zͧǯח֦U.KOv:OZ./m_~pg}DN3xvvǕN%^?؞_Y JZjUU6V7k/VO/NW?OT.&]}^\vڇѵN: ì={WQtldcMm#:˓қ'@<ɨzo-{G.O~ޟˆX~6^\>[ 6>;գϞ]?zq0xoGnfl^Mw7oG[t0br{X}_D_\?{h>h{чqyqtE˵ /<=^:ө#9]8y&z0r=_|?[|qxxvR;9<><{QO`QOww*`sy֮ON.Y7_'_nίWԅjh(Kxy8}rټv og{(~;M_\,]jxܩ4m>oDzʣrikb2hmNw꼷Ԟ OilQGzã:SKiY9ݩtj]{0M=8rjk"vKk ۖӲ{yX]o:‘;08 V l4hIYn1)w+]-i׾qLc֖h沱m*i Eޫ*zY/}Wcʣ^zԫ` X*JS!LɃu v}S4vT5/44ww/fJ0Xi V[귱jԠ(JY,*_T/qz; Zh-]<+ݴ$jv zqa(ڽk[_P{Oc-qG[a墾s6=6߶:?k ቹ!uurg@qC?V̡KonhO&;"6嶽P$Z:4(b[]w u [(C7(Y&y{ Ǘ7gJ8n]ٶ!ԭW#*dޱ 7$ћB[|@S~kw~x׎mj=~u8=Rop=ٻEf*udԍθW:a;^z%B۩%{?v crЍx4>Jw[9T٩yo7oUg-3OP-C؀]+/4WYWZ=.a& ݐJ TȴiUAȓ{`CneogU9mvKz{b`gmAӽiM +> ͘'h8=33|0vbS5~0ݾ\hng&'Xf0r{ynb{S 6~Qm|޸V?=\y4v< WVOkOtuWWWVch[u*[+pZ~K2?v;R:gGr+W8}yW +$Poaxry52DFwfoG_+?T Jv, o\UžL&΋N5ᅵ {[d/ +ƓbOsb>u+uTŮ0Ȏ[dvuSc^iG9o ;86iAy"ODXVk߱ҋt|U0rO21ZLWqor[tU]qZzQvX-=~6 'uYZC^KFX? g{Pv&ID`/zu{Oa{ a߁A:xL]rvݜFw}q l/ݹѡ>Oj#^? ';k6Z~ <vPj6_+?"w6p\b2`_]ZbT'ln< VkJ! <-~e%)ژB7͙K#2 +.[fF(j\~2_!XG@\ܸ!G#F&6 dǒ'\e<Z*?=¹ݯje1`QɢV7i<˺.R+â)8(k;$hRR9a1X ݢ0vinWj_!V}J b>ȕTI(nV0VpurV8nVLWWu8fgOT<$u}pf*jgZ4y w{ +bv{q:6t†TQ~6LioWC7-7Y>'kP+?%򵿵i*d*N◅jUz}2OϠY@K^{86iǭۿ W~NŶ(#>w +Ah2캶^vTLwtմYNa24(k4jͱny` ,CU߻%czʩZS~1\Ms{8l*:Y\Zb9"ALnskջxZsꧢfr%safjhZ=L1s4v;ߦ%tNpW6z"WktM2w{ Pͻ^;  LG_~4 +]/@[7w(u!2/!{MB*Y"=Ӷ^#Xs׆>N7oE'~,o< +g&@X`7ySO@GE7Tnc '{2q ;ب+.kǻ ۰lbBPkvFcP2TZ~4o"`Z\nuF=tVj"+犟9k6ud_(+@񠒈KOfRQ?Os~jojCL6:"ϵLF} :na+-)HJ-?A\IF1_<~Z|^}.˃yᴑƇSpx]S`/6ʧlx8rOXVt^~N,3i+?jNc30D.z?UdhޯA3ڑrԋ{"M;?MReFTK]pZn%0\5~pAlhD7װy{8 ^]mK[e_:2FI7uy(\pñտ @0GVCT-dmW])<÷.7 !]oVV[H䛕Nۮӱ)k+'Vxfܽ raSc^.l$mМZm4(KֿxPI=\-nAwowZNW}/TN z +OflrT,<56NϷo ?5>p(4!hg%!`޷<PP>@|,+cUBXpXm㧚E<`lQ`&7,w"Z7{+?;NuUm7eCu KfpIZa񲾪Q)[-Xn`k.NL<3lux; _R9A=-/ƨ*wz+ixبF? ~Z>;~ g.yx%Rӎw@`A> +z~3Vk5t2@ +?!Z +tv/o? ;h4Th2\w06ܔ[Mx d'ke;!}]tl }6Ń B$SًLA v2?].wwnͻesѨEp/~Nr;kA_wUjkx#S{DO"Ec6p:zQ`VRNo*EY\{up2ܔeiR!ˁ,\oT g&JJr5 onib4I'UUmF8E|z_Tˣ oI_=fJS[]>;> 3j-Xl*g 5Lk;+R'n5f-]t|4yE~;e]^k 4f`˞%ldy'X@SHjC^wtn4FJ]=z hru|kW6JvbIR<:ɝj+yiK/۠Z3`AMV>3Q`3@7ޫFja7u.$¢pI> nKsy WܦG~+7RiInex&. +ݪ9: -l7nϊ)[}/p8| sirc'i|=W> ]k*OYI}/JqLe0:5tms@m +7ܱKdYczCYDȳm<څK.);:nGJM*sKc|z o#KI{G8z[8~xKsv +0$*_Q@*Wmϯ_xp?$;{f"'ˉN$R 4<~ͣuxpd|"6a{=|mÆm挧\"{,L:,*Je"*6c lؑ0{0;l_Txɓ"Q?)SouK~U8 +P2zjPJ-2nO~X2Q)1SMppwzO1A;ܺtjPJI1)0^Nݝk6M}6|k6:boO>P~e2ﲣt}-2Jj5@q}>ǵfֿp%11 /'en=o_gRxĿMl ?3tNqP3u>Ad?OD;+7nP\2Wc,W;TyTҁ\oq'էt'4+^PZtp+vV5cgcK\נF":^o5 +`eVR'Ti{A})%J-et+4s:^P[{M_5gnx *SU+9Rx伿AbJsB֏ݠA 6V3'PkѾTCGw$o2 nWj| G!o'Ԇ\lD4SQt9Zyzgrg $TCtǡ[sCM>vxtOZ[Po;E/%ӠPÚ}lGBMmFnپ}x'm_֘=Mp\nw55(MX@Ef7=B݊V$ +Ճz;\߱a8vبgwjf)&%7pu׭u(mkI[gmع&!PHQ)Ե6@xu:KOJyָq{`m27v$ǶadhRƧ.,%2nx/WD=~ۺt8Tܕl>#my{-?= ܟ2DB=E]`yWjsOyƢ[׷49βi!+9Ei1~-OHkԓtz^1/oV% md8?zy{.Ooׄ=9י%]NUp뉴'%y4϶Q4O.۳GOl0ƒ t)O6rZ_y#ڒTSC5  <$l=ױ~: S/R-b岽wI4A|E`!|43N t@90H0E^,7#P&2)n_+T!v uzJ f /B-; M!0o6ѡ>BNV>ǵ P ݡ +ͦ'T֥C%T)A jۄ+6$3P 37d{nH^n9M)|c(KӃp7HPvQ}Uiuĵw^OF-.TBnFGkǀ潤g&j cv>\f.ihawɣ~1-0@cݒv`De6^|b+J# 0Z4#-F`ojd%IhECIC*X"`H{y$K/b1q?\Jqfuhg +Hs,˻Xx+=~k&TI +?LkY]Puѫ 3x0A^KGz;YL]]h"m'z֐woHz]=FGWL$e6~ԋy6Ibv;/mzi0ܸe3ene*4gSm6Yc&bu7s\ Ofj +6%>|s4Rp+95nai~7x&7pS. +tL~#Ѵ9-ZH47\eV%Lgtz8rO~=IG&vLzNf/DôCROp;xsJ;#7C$W!:3&o74/`)\v5P-M}֏AgIk/5%ok踒,ycO9ë>_aof{cKhN7>Y9 4:~xGIGl^n~ f& B͒, Io@b0CvDyf-FQBOlq<]YFs'Wb No4%w;FfŴ1([U dy{FYQnԒ&%\ogóFK6OǢm0v6@.Eh;r{w%ҷ`w7 +wX?-՟+D=5wKZuyRLP3tv10p0❿U&|Sc~+0=qEeLK 1'|lǮCOS7!i&z*%Z4*`]eiI훩'g=y&M_^[k5.X~ u'D<wB1 ^`vJT}W{;iB=U5`(;͡UϊʩmUb<8mv_cbܣX# +ً{GS0}{γ(qy[;cA2aXޙyWW&khzUݨ59tw_oj20-Qҙvcs!mBΔĤ/$%ksݳ| ޳IE>s}=x?xpuN<>I\6Uh'r{er*93] Lƈww_gzM8:iVkqh޵Y_PO՛̀˲ƒf`Llm^IF[g`XŠ"ifKl%Mv4~^ƅgP;=΍460pyolm5q/Yd,"ٛɲ&R%tp9阨t4ḁaR$;kC|D(>GN_Tu~\&ztbN卉 Bi)[ +tEy =/ʛ \۞LlQEyL(OWkoշvXg˹pF~%~8@ڢj6 ? -Ldy7]5wJϕu\*?]? gFmeOlٹ(;'iwSEJ˛#-p"^b|M2c/ 7.[)Znt*+YOLy@+q +I~߼7Zjd~6+–|E^6k數+ Q)[ӞPc~RxU/{ݵV$O:kG+*Ճ׽c PƊJj_zI+ +ų@(%h %{Ê)LaMpۍo∋W?)w\Ԋ1{<鞃"\y6Y@?1?˻4!s?~#G"s[)vcMQp s}vfkz -*]x.Z4Cy_䎕|&]q+(\La[U,> }nVn>>?z>7:Z >7Yγ>w +ܪz}nlBڷ-CkK]]da߄EMqF<}vDҪ>{xu!}nIC/mL<UsFխm a&,s,^Pa[UG<}s!-xa_-ϭoM(s.sIܪ+ssE[ sq}c4&3`e>If>s}t)(mJKU6ӶóPꤋVBN3j+1r}_cZ rC;5<Ut@8tWFƘSFhADi{L.~%Kbu0ًl.[cc r#b|/soݻs_;g%LwI +\ ^)ד#IYt9^tiJ>mm&?/ɇus 9)%dV'K: j5!3PUBܑҋz@@?v4VteR7C7C3`[[p/Mw!Vq<ȡ7.P6Eyb +>N~%Ŝ)[bb3K1罠W:E]x3K(@-(܈k%^I `GKgfߐES^F(9ŨJ("? cLѯ[DI[~o +U}{cWͰ\6f1qgCW;ڨ.?ݘ޿Ƿc\84xY tr.9OQ ^^}o~H=5kG_29}MF:{=n {B*tǔ~ g> gBVfZIr;ֽ RHE6U-oIfw=j"so61pX"XJt(īiMSc4Tyn/La{ʴ vgmmJ@NՂ`UAnG={F] 8e[rw.l:|˱t7s3j+P/w[*-<ݒj|U utTL?J.拞|h>:e/ +}\j5rޕylyz@C[ Jnj'TzZ<79k)(UCѫc9q5rԳF?gz~[q^bs>+%rAw#S흞zB]kt_v Tk^xt ]İ^G *ࣱٞ='4r_nl1M#PB쐶gCrO7qu~弛s4 !yki2|ubtxExjIt)6Fly1My-ǘL70 +|7&ny|2A3~dk M5T`Lc>9`.iOXg鞃o-i-ҸxAs* U&,vWYwd٦#`&$}-`D=r(缠ȚÍfIg!WMv3A]xA]ęC~n>_aHM>"NW9yJ&)uԇkxyCUqߚOSXC{T|u)lkHc:O-"(AO,< +L_qz=s&ޔ<&^r4&&5G3#MX#X rqۡ- n :~,v6兇>,ݍ, wg!ZpVpAZM0p|ڶm=fPP6˅.da5f '4~π.-R{ۡ鼟@ɰ_x̶Cml3_ٞ3]x8VaОs;#¼pr @j ]}aå)*LC2f?]mi}/<ǘ9Ps^xoQA ́i <:Co^.g1EC9ׅSrY/EI_ܼb׻]9aD^ؽeumx9\>i>9i˃"wZS+w?N~0gю~?im,<ҤV>%c[(nHS(I[=7$t>,6` 'W߇3/Vn ,^kK xLiF\l+`6$G9^8|xjwC'_я7,M?\^$-ÁQ#k (W+p2Zy0C$s]^[_p{S2/E+25Cm=wnctm.XMD\o|hO$WZW+d9#+|\iLlEaJR7+wG"v^''4)o&T~-vx?͋(~bO޳ R9Ī޹B ?EYc1U@%R^0QS磓(l§͝|fE8iy>+GDGJdELF;<J 3ݞs +RmTnݡ.{\xs\ 0[bHgZeW\_լd4k;FNW>lFr,fL͊Ci:^)#['>oi{/Vsۏܞَ6 +/ކ2c{+fG}l}Ώh>b@r@z?oTeF'@7hn&>kr.ɽ~Fp-} Cr.VqJo]: ig6M1kۙu;G`5n)x];Xu<ջe}8)Ww,xtStiu@&p[˒2|{~Cڇ- d{v'_U 4`{kAM3?44'u3Bi9)k~Jk0b(uo"/Q/2GEM#G't5g]l[n|I y3hΉ-DC-O5sW n>BkS$B:(2:ݟ`9I>uv3%uv~Q!ika[؊ˏ{k`3}l#BXR%|d d2nPrjRʴ1cאECQ(%"Y[bϖFʯi)#i'Ncl]%0KI<;׺kkL}Ɯ>ՎOԜ)ICxI~ǙNnëcDN(GRJā \SJh0)~}\rsܜW'!ӹdnGl!H6d`ڜoKW/=pgL|qHzش#Mw+!OȘs:XNǕGPH,!׋k\z,Ii/i(ͼf2* ~)lRGPvΜ(Ժd㯉)ͯW+k1CN`q6'x s7(|{H^? ,W$a{@JIi>edj=N\.k#psf`32w\AW^&\@dM.ƸvjLuti:@K#xZLJwz0Ī W-&VE'\5}8%"YKj~}ζ'je M +\(p5OJ  \ %j5dE M;aBwW@[\Gɷ|mb8G:M#TEuS}/Kk+T)$im5i\OQqKewdXxhѫpxA&,dʕ'x'q!6y'w ɐ{]P[q! +K M|@)O#|k%j 11&\;?bsKQU's<ϯ_KXOͲg_j=?raY)}=vlr^6ϔFE;o'^g'sjӟP hU4CIzIڤFAH{%Tek" +Kl=4 Lg1#oV.VA|[N5%9'VKU{Y?*_z\#U5~XwW\PBIMY; mGj_mjWcjXLGOl1dCPMJ1]j}|-7c3ְkelGmU +Z#a7e}`z냉0,ũE,*T0`a]zh~ΫX*T,hfn"Vaf0fU,H10tݞa/J_`צXLa(ci(oL4♆BuEexL4āY3QAi6L[܅T9\[U7+›YR).uz1J<]>&[M>=-o?fC7/(4|} +kDl V"?JRWu2w.؎k8 +&ӹr6KiG12EeFs_3;:x#Y-ό?w9?%bEW6wҋT=(~(a/ uX} _{_Y']5ζwZƟ( iAsx#! I7~,,2 ++IKʪ'$@~a$p =2 ʬʈ,/tz7Xޟ[<<^IʟOl#nO1'sQaO~}?7z 8 ̟q1ֺu`}Z2^ϥGTc<:33S5?ugS#>wvsc5z?F~k8,uXܗ}}~с(,s>_ ɷaS#q32?ݓ6o^uGzov=FQ M\Ay0NU\Z5Zy1X+70 1r:vAB2F&Ss[{t ݠST$WEUa*f`84&5ed(G$9&ťUUG28* +;g eɜ "tȏREC8ưhM@1s,˪9VE兠|WNbзe0IzEVq,+9Zl?;ੲX/3hIXˠcЬyy1U9 J4pU8Qd`1V5E0Grh)- +-xQXI+^R,YQ5q/#Q'x` r57aX Ϡ^t_2,')pM֓mЬJ?hrh^o^7qh 2IR'eڀu$!`" @fQqV-S]ƚ"QRePBw4=>%3ѧTʭ`bB'=%f,XA 2UdQt8V ;nO翕iW8 cM,AfQ@g]mぁ2cmM%ϰ($AHt4j62[w]g6)6\^X=v,DFHEs^eb*/yl( 8W2 vDG+,LZDE嬼g\_iI*/xm_O`|Z$xI%p QIY +zU8FD7XT49%NB8*/`9ȡV"P, + kHbD,2yY&A4uL_Hdf4,!ɒ̉ҼŠ*pz 2|ؽ85Fo p2EUEw*./ʊ"p!k+g^`$ +Džˠbo%lJaʜjҸ~9 /q|"bňU#6H+JMYd4d?EiECت +UF+rbfVEϡXU"Deѿ,EYV%2c8>&`Az<ӟ,$,IDmm%mdPmmd7Gtq?uD-Y~``2 #p\\_GC3 egEW1mLF+^YY\(UE,J%g+2䰪hX Ϡe^ oƠС4ey>}DZjV7X]$N&X(pAȚ3Z4{ͥ +6 x, .Mf2"ΐr<9g[#IXUŘE./ΠWЂCV ++ 46uGt`σa9\Z g܍L\pk4h5-SLl嚼42p%M$9.sm%qݟ. +MKw Z81.)}&bE^R@dxV@N!A'$A!4 Vk88si,@`8n -De ɸ4`9 < yc3x#!-Lskr"e|4X6Σ8wT\[iό6$Hz3M\t @aXN26-]X#D8P ⵍcz7e$ȝFdE<^CyAlUAd . z$L8 /Oc`=HM&`kC1/D`)* ASb=9МbG:Hxx?x9P<AQ҂hXO蠠J|3AfUV\ܠ vlËc? +~qyS /%`Dְ~ẃ!F=6M`75ehɌDf1+ONrHPgDXh4|ug&0N0E` -F, TI *VŁp `N$ЇDiCTE8 Q2+8 s3` _Y"4ʪi8$ +Nf%+H/*u-8J*;[)< +h "a٥ 0)s٥G͂)Tq,j0__ &Ʋ9V+@7AK]uc&BQ>stream + ObVX`[[ xꌈ;BW*z8LjS]PX̓Šw&iƃ|`@I2`w)gC $ nQLA o*"rl"N 5_4% ԒR&Ut@de3_3-D9Ky%G$CS `ė9a] {5%ӓ0?'rHz/Fi i 7!7k@rR$ ?E1/ A c1^J0Rr & 5p@t :D0f4yc xpM6%,(A7==,z$Uo譀g0HHA aD䛌 +%ꔰRb 3[ρ`9 -)}ȁlCEUr[%xYtH*UȽ+.i:^Yt@(zJ42` p-FG6IF% GUl3tH'&2hDRF<9 xf,h`@1a,= .0!mg*3\73#2ifJ3CLfhZpԻT9 _NZ"L; AwiAAa;v5/w%!"jx}o*PeKQ]&^@$6XtO(<*[ SXHHG1-:VRO(u'W +*Dɲl{^Ckiՠ%!sT6DY;Ĥ^aDCZ@h Ƒ]@6Ω$D*&HK'9 (4ENh?"q , iS +JāUE7cN,"h2 vH .\"y!C 3%pϠ$&-L,&SM@U UM} 4<$ n(`8cUv;,z}iI Ԟ`Pʁ3KW.A-[f%- }y2zIQPYԓtفnl-a(9ݧ>c,A_$bJD`0`F`  a ƢW$gFN7Xz L0|-Fy50(hml4$VK-#IJ~TL}%]i,Ջ2'X@@G! -)>\ZNcfbXdK_ij +zhe@t`dfwRVo pXHpy{hL*QF|[1aݙ +[]α{N5 ++zc Nw%~_$h[8'AtkYN%HjG-&9RVtV14s#&oi_Ӄ S( 8%+709h๶Aj8)Ix̖8W@&'I@0$uL]2i" _L=6K:6e$Y`XR`7G~oWC(bdVf̭yLsިhs N1S1 )"pU=ٶ;4'L~~]屭[߅-ȳKwId_tJYl">I, ܦ[$/PvzLO?ZP$"/䔪Ιq >}Q3,Ym"ob~.?GQ`\0~'㕖oo%tY&cgVI|Fb~u;] .mqzL%aFKϡ(Ljx(14z1vc55O j$lIV֙OtԦnӉOzpxUҴ_}|\ftVL6||p )B]eBV诠T,yâ[`ˣ6*zzAo6 H6[ЂUΉt +K ϿɏYl 8?#D@`@"yX|4DGyى%::Ϳt1]c?d+p”ehsn՟?:E~m0@TyhS7cP=϶>_Ҍ┏:zҦ }suxZl8s/CVi}+ٔ=pnNMޤjM/eӚF-p:Z n?q_}@#`T%H%骮U߬pf$଑q)=^&5l4b6v5kxJCj:z0FL3xeni9geyLimKCNC@P/u &$)Ff SjNG ğJ#' %0Қۼ 0qV9-,fC1J~.s+9'l"#MP +q_EJ6j\2 ]:^$Ludz9"rƜ׋b#~H F_/R41ä,gt:FL m{][.4R!}c@B{DP=A Fsx$D>Oʳ emO]4acOs@NO'zNԃGdI$j LG/Nغbyz2 3ZҞ~78o{_01]ʘUuuX܉(hittSts?ٚu3Bp׿ ]f厱iԻL WAš`0d+ +2澀TK-*P+Jh"-nSTfSؤ.YcNr +scD +A͝=7m4"@n |{onhXITvIQPķ!˓a;6ul7[|uN6 ljVWC AZfmu.s* WyΩɞbkoeI˙B75aHiE +ܰ-Oէ224:a&8w]j9xΎNY];Tzv&X h]&ٍxRaŷ:kc=Q8BIu)%_ʢ<RQ>-YK vs{#6'-W&FN~t-+9#볬tEKh,V`km^-VO7NFω6 L~.m}1,i}cDdǿW]3UξƄP^Veٿh,5gwQ_t9k,s*VcuBTlHw-h%ljŜ5FO)_YQ% *$8H)˳f3&43P*P55b +Ȧ.ud` K@BJw61yGAgd'\R;A~6lʊq~d6 Z|{6 vf Q{xl!gGXV'{hZ r[M%Ğ;-!{BeGyXٷ_/# +ў{_U0-g>G>p՞&JR8;P?L|7#J h.|UۇH#fm< +*2b;XW$K4I\ loeƎ>sW2\ Sg  +B{sXq֢c͙_;yhi.aW JtG$ e9RykS7=s9Oql*B-"[KU٠ +dC!by Ŵ%6g:;oW<^^E!i;~LL]_W/īc~igZ_hg ԣbW/Aem=Rs^o~ɣ}/*`w+~MEPi2QL* $&샀_0%*Bxў`4t9Α:Q!{}NeHuДGjvmi"C6z2u ˜'"I7+l9wêm崽WK(h@+ܧQc'HbPY_fe+U0Ϗc^;ShhIk4{PWYݔ`)$k%dQDv\7@F@mW _ i>}zǸM`,]=I0߫e%vz$wreBx;6on؃> |_P}|LI|l(פ{#A/%,𓧢 cEgF*+2M$H-9 JvMS`aI'.^.g1"? Eբ3@S' Y~{ɨm!v>8&q;x["Wێ;|@=N &q28/Z;NJ jbmV>=’լ#|?#]|iweP,>hmͅ$ 嗑a +tC0AA n; ^ͶvIIX2v„җ/w;p iDYXOi BXf?/0% qg1 +D+$vx [@LMH,WDON +t|dQ'i/# $;Rm6M.PAs0<_]lbuGFnŴA# fDGx`2k5:괶]f̗< +!I4[D`Jdptpvy٦9q=&Nl!> &@pxM!$7t fI3$1ӝy6tE\q+OPp޶`*\7Coÿ$IGq/g-+#izLe"%KTO75m#O;]z u!twOD0j$@8`JzL=!d.Zrc_Y>oCX~9^+9I,UkYI("YAtL4TS&Ga,JM"1! +vפ%n?9&Ϝp3" }w 7VyRFUdp$: h#[Ax$2Pr=k> : ;)?2%\E|dti +\ $%<5?l%~:jacBp"n "zB9m{ߦ*)#@!lUh^YoO+R'ӫsl`g&D0IV˒佶f YzO!P?|O%"Y0){oad +X8r`0ܱcL[bo9_KUH>e[&<0;@L-i2(1inc^ىۄl`(h9gı7j]2 .[֢F'wftȺ'/ Ti/OYN*\1'gNU\M*yn;Z+D?DDSPQNf&AӭZ٤b +r'JYr8{ r6\#!סW |C-B|ƊW,4ӛbM*k#h{E}?'.NAw4o%q*g$a>8 bA'vύl߈}^J6%l8 Yl$*}O?-jx3>V|wtpMܭhPGM%C.DmAGtF+BpvYeM]DetH"AM[Œץ~rhN )egFc CwZψ(0z \\ >=%|.Ib^ߋ3c{<#! aagb!M#-Ð|e;U 4t+#bLu0è&'Z[*B?b.pżDw،r`\o7.Ygx2@ + +*$Bcq IG7cH7jH%&w~̀oC X]E +ಛ}&"ukr|IYyhdx'#xt;#sg^|umtI)% @} = 6NfKY3^>:6֊YGO QN|Xst y x:RߥݯRUk_z#i7#5q6ᅄ +x ELJ0X=l{[!`Jvz9_9jR^dzOW`|>B\Tt.{;.+?#ߔ v%?$cKɆEGABo'y?T˔dwWQ +zQCnMB‚sHVG~qXb~VqZE$.GW\Ɯ~|XۜÅ!z%S}Wxl`zS03}Dvzo~'0zH z7CУ~KsҳE,VǮL-)&NLuFȓwMʼ1:7F'h,`;p!ώyҸ8 9mqp{1]?y^ɫdEacgnCC^fsO? _'EaC%h +xP56E@ L,^M$8|9KV޽-8RF5+e5]8TYz7 SYVo[w3w<:IuzM'Qvy[I3"}<>9v!oY=~b0_V%D]#@E0|";&,y RQgqnSvU2{*բ͠,Jf#I@G۔ґTYPLLoqM[68^qJwwK~c5CS+Ne$ +\+Urq؟A8Ac+aZ k':▞5+Z΅\G~U.wQ7%\q4%$T|jF.,<<+/9 {X32 gYPD֙#t` +"dz.¾W^DI_0{Dаv&o}<BDQkSZ`QAupYw.շiDC I俽trg ++Q`if"Ű9[yIq>휎 +öt05Тxj}9O;<QQaOggG˳IcD>``9zXwm; K&dwRy8l$^dFS^ƶ{dciz[(Wһ1ܬEԓF4)YkyHV@Nĉ >[BYʾ^{ASP>Gݐ6=.<Y(]S.vwoJ i:2mc"8ѻC0íTYXփL^x_iNB4f͉:h"Zπ7u6ckܳB0|:T]hey7_As]RbEj|k.:{DIV%9F ZD6ע Z|x!8}/qˉIV>%zcl5t(x7RCgF5HPE1?dnmɥ/ ]l8ft"4O_A:x=0Fe ED\d+_n̿འk]1/fʒ14܈Oy ҪP$n<'e5,';A/M6M3Jb0ˏ {FUTgj Y`糰F `p1kȯc=C=_hIEnܾ }7AmwlUF v=O6zw~rU2##&5FZga|}cPhqGm0Ym&2|nfQ<"A |~!4Wt;v>^u_tR%/ZH@C=v8[ +fZ~(Fԣ䴓z3.PҭȺ/(.A܋PIRͮlӴ5Bk$FXI$`4hoZB|Ȱ${; *_fU/x5XdS@|CjQTnshzX,\!oۂ[82SdPFAԟ9uN߶AOJ ;PY[!N++#2q3IBǤ s9,`H\ q0Gs<3BoU,ph5覃4<1  (^Ӑ<3O +݌e+Qb)rbSu?M0F|< # fUsHKP|wI.opDޚӱ1 81i!IʒFދW'?3|7m,h*GYlq=oQ5Ơ1 Xj0o/OˈĘ뜇/ʸ3zt HC.O EwR`wW·j6L3|Uo3t;f`0yX*7*$ 9}s/8Gs1 +`CN;}Ӛ#MTArv<5m}N::4}Ǯz=:(h`ʵ~)'%Dvpw.Sgw  +E⺤AP:򴻗06 x<|&dIH!6uu9Fr haƠrHy}ǐ?'I*Z:GGEw,f⤣6=+]K$cpEiZY:N: LjL5C^rlmٓ0d(Q>LGK)!T\߽J;ZZ\Y{<#w8' q84[/za?1SIT*A&9(<|2]4/hG#yώV:`Di9 !|GOD,/U^K+(;{a󒱀722sRY%Aݑmi!9O]\*N'D\4>d'1HmeG0~żu << 1}Fس/h+]UѬg[ﳲG+mP@X;xП!?h$_D=rh drH0f(G^bѺ'<GP6rUFsE-HpH~CTD d3Ζu/a6+<9;m0u_"]$Q +5+ZOWSYÆ;ϓzTEt%(7ьW99AL->[a6h ayJDa-;뷣3 ;u%9gr)G=ծ y騚mG*rrU y=tP&!9yh"@WC `RB=HB{ N;|VO +B9r8Kciݯ +Ҵ޹/"2=ϗ i:> W=B썻bZ V?½v "ڏgY&uY ?x^+լY#t0Z](@m>Sw(+2TL{6 YbIGc7=#Bdt`g|0Nge]z{UxC +C![ǩ\ w:+Geq~2@ L-F COE(Dψ +8ِ?$;>T9= 4(Փu݆.`usnaKS,a+Jo0}=7s0P<ޡtY(Xpr@ .b +f]3 +-!ށ#}o5tUT17.B@;#y4BG.7wQdpEBMSA +l=2lp?D;jkE3>V/`Z/XL =,:D5eH94Ht]2[FxIס2jE|yVߌt=S]:!7d_SX4zǑ$ yB[@UG)TVsS$թ]nk=MA6H^w;Dp91' qe ޺-n吅Pvџ)$ X(Fb>[Sqz]cpSg /jPlV C +G (m +$F\?\w؃^}&ygcI삜),_/e4R: zFW +J&;zN*3RB~ I9 6zdg'kI{_Eozs(~9,Q9aCN᳼QڣeDfjbZQs‚6>@%QhC2 Ћ$YQ-<Y}%o55ꢆ8u'=A${"(gKdS؃p +t-ٯ*l[[& Ïh ;r@G~S7oK樶RQ[v~9X-}Y)CWK!졌~8rkˢ*]Dp=K1 +{X ; .t{a_c#bϹQcr|硞xb娒yK9{CejF;AqI ` ",m| .ʣ7žh_y0!ӊz1=ցYX?Mɦ?YT)iI ֊rp1S>d3N{Jg]iUxOc^T0'۬ib?ښ%cK.:wv]3Ǻ<)y.Ƹ$ 'PϛL ,^PT6%a^"K{{_`V nGC UF(=eTNHsߓ:u>L`ZN>zu+@|<,BdZ9BD +1p;ddS1$NJMAJ}g﩮.iA|2}3Yk%0o(فNs[J{0נ_vv*u;0U_]Kt;҅ )ѰbݝzKpoyA6)?4%-;8zkס5FF]&ap4l +x~!րb Ԕ8YDlqTiN>QpiQ F7CV"oqQG?9֐fP|PSW4,L">K8E; ң%ƃd&b{T&^3r<p8#,7qԫ8;y_!^G0ICN|=JɧzB] C:A~Ya(d5?b"%H#-BwQEEۡFk Fb*;Y~x]7 }T`~w6| %Ml5_i=*c`H;:Du/|(NBu̅vU;⶗P|E[I~?Sj$JaFV`v͐ r;e X%/@i$l b 8IO>@}e{K <ԕakUh Z9lByUϫHe_rrCfDGdRr r}|UEaelp_!gк"㯌E}]2u<3dɨ[Կ78g +{Tu3ݎ'&9xYNbGi4"Ι4A.T"ΙoJ -Eq$;%KQi{R߲M%#ǐ9G5R%xM=)д:)?ށ^HH+=i( ,B`-T +tuATYTso̻Xi!ǰzGǒ 9!d/ad[ėT\;г`T'a-P;e<6e%5⍻Rw9 3p!4IqNesq>%8LJS1srHh9MPnb?xX1 ܊ð~pzU"K%vw /W39t(i ʋLbv3K2~' sHw:iV*'?cv^(wOhe UQU.mrSaP͐vfCV-1h7d9xJn<>or +.)@&psj` $|dgm4$d +q}-%pjX1gO`f# k$wc` !I"<)8fwI 1Ku-0ũb* p* \yMB_>UD0t9ҔRIO9PG[/SW#~K%{8gU6aϸf0DaS9,OݠimCzgC/399gH5pT9KPV +ݣWsmz%ro3VC|TըJxԣ#Cp;ANCbxWGsAvGlS[>EeMsGO*/LsF>5!V#+&4hLh!]ghgFpz^Y\`uUo%gml;ܭ- , |鐖jxt=d$ Vނ\=0ݰl0%(qHx} z%4zpsܛ\u}Opt|ٷy q'Vm.Dta]qaq)!ef24'*ϺI/D`@vaW{ə}xh {`Ȩ +^*-5oOMx Ya6 @)VShFv: ^| +̡KUt`h\m&|zr\.ݸ8Bz:!1:(X/ ȄP/[w337MK`[l,ΉHndnI>:g>pH~/ + #]cpdEbϋ>BZl1v =TP:1 b13鄕5JB07Z P~iLG fj;/SmH_*c^\5,3zѼ?@EAR?3t(U0VN5 iH@aa +f?SUtr*[FYQ<)MYd!l1EشhAҺsD;vE= +1ELg!AH3Y.IJع]` 1J)𘎨l  kńݫE>7d@Itپ"g!0<霯/f(>,[ED'ϩ `S`KgA>YE=ԙ#J酞H3̨hR?$J3{AH\=G?@yeQ3$L) d&Y;Hw!*Mku8XJJȇzbd|0%s\uTZ.v1])7j +)qWlM7# tlb*;V(<C0g’ rg&DNsWΈ.Zy`iC^/iƢ|/Ah> 7BO(pthЧ҃!I< =DU +xl .]!(h,j?L83Aԋ73,fqXkUa_&sis"㋨c:<˾ʼ!9^;lj^ΐ%(=?ow{Yh rLB7 +:.z)I~'3تGK]D8tk.C?"D)b{[R.*2od}gL n*DD2{,,_2]cx>̋f9$Sgw>)~gm83 TXҼ\~ !eY3!vU +Ge4E(t?G$ ]/G){ +|$NcaMЫb3ݾ=#iU`XB@ +V~CΊr8eF}\ u9CmEFD; ,:(')l̞K+zHa +W/*uOwLsοs +0=udnӗ͠1GAwY:<82*d.2C} *_ 2Ńf.լ/3E,;Ȅ%ܦɠAX%Ua4u;p!za\'FDx݁?LlY'DQ#l'4$^gU!էn#G %(en>j""򆱳J2V AxmO/\GC>fV`lPEbz/h];2i#{PQ&0[ٝ_P]zwDn;7ڡ z7pCbw3Ha /q,2FUQ {(L6rHk#fsJEֶ:܅X BI_@ptpI)xPy[my uYaNEGZ޲#l緰;^-?U{7 m39=g`z?4"-_gp,6"4#pyf}brF>>Y9^|<yGKXNu$0X!gm$! gIE#Lg=DAҔ_6}E13>еFCjQom07̖^>Vf%,):~IGjm$c|f< ]1jUldZN#ycuçNby~Oh]_74ؤy04Zø~hE;1Rhd-uf=%7CI Scx%pd$ pU^ 4Ze[_TҊ8z²z=ꗬ`Dv'RC:!}ǨO)DVS6ZuFW&/zh{. '=-{Z*fUV.5ކUnt^^(T3lPKErk{½GxSR%)(px*nn[/819<`)ԜRDꇎm73>AAUX|DʔgC܃9O$ÌW3Ґb_2pcBqq\*N"a97y08rON I +P%> jM2S*/"iTB)$\vMU=*=j K $ñD "CP`JU۟ wyx3Al$A/U<6E :(2\[JHUFV0z^~iE$es$[6m.s>7F!"΋S"ж|@'g?O1x:ͱU%}u@) Rzc\ wp.kteHlaԳ;q.8xy=<<X78%1Ⱗ'C/98)ԐR;2Cj0ݞ365r#Aco=?")3>~wN{-",]=)QO :^Cu&cOTP\27c;ZqySG&lŊ/]Bw⻫zcb\/ ^2#;l{VE'}aNyCVlh1+5|>ZQIjhL#r" mR 3ISQJrG=%v +zt Pw]epG= J5"rxGUQe1G=fhGw8=|4 Wgh3KsB5 Yfr+^YI/_&e1D}12 zꄳ%1*q/쩇6`%>n̾QwF2P/^N2| sR q Z窊nP3yZn(-D؁I +]`X! {f eH|QHAB2'DYKoܗɻQ$J=cC.z*-@6}vP7;1DuYB^Y ~<r[f~DM 9Oe EؿTX/v=1i͐Lp_%>ۨtQӹl G}{H?;W=uBz3. )ڠ\ =Z + p\Va#'4"1t$=QCbd tuiUͰr{W؋D# 4}V ,O|W/86p~Bh3x9y}CÞS/tGbQHx yO'.?}AHշ)7@iHqOǂ+K`uhí󡥇 I!@%mGmc+$ҦdG`%WpHYH.yC^7*~d^˫o~ݗ~_}?>~o_~?ۯU_{_ܯǏ''l'O?G~'.~_?exBD~y'tοwjٿ?WKiUxWV _d7џ__ؖ.JK>  +=V+@XBP{ +9 9J Rs#D_!]B_48PMzE0s)MH $J)p}uIlFXEtI=őEKNR5DKK0`pš-. %P?Wi2CM\Y:dL>3iR:~r W[zBM?8< @̱2DCR[O'IWZBPP=/=WJ}^5?Z489ő!y_CBU9KJp]0W\rCPEI=:+ rUf5:' D! +_^Ł\H8Hl̫8i5jsfWE)Xgo~ S +S#dZ%{:C} U"4Ӳ`I E.?]lItI.2쒥Iue[8?h%~MH!Bt`T,3׵rrICι?UDxGPK.<}M-Fة.ixo;^]b5ҩ[s*0!gmFȀ)uE.. ~UBYy"RèES< J#V\MMؕ3ݣ1ʹJlMPK-Cj*NUFmf^ ʂv.x >(Q ,)%ƦɒF(Z: &QaHtȱ2MӥHCiuJ@:ai)m˨4|sfm+KFE,+v'8UxEx,̃__K:UΑ ?fL7x~u#siEؙzeKӵ% );o|ZuL\ -UX&xSyc_w +,}Ǵ߷{<*A,ÐQ@m p׆{B} aT8 N&-p)6Yf-OqGw 3i'O$ .4$yb͏\JG#(Lꑁ4Aq #0 - _Sq +^0י7,"T(krU]RļP:[/O±6m*Hg$+E-!N4x>ꧫb?8Œ$? %Utqi +Kc cZ9|/ZSW{qB+H)T\rs@*j#[V&Qצu ?#**bV5 Z(Cbu +aB*4N˿l@Va01{.%%x[0_rbbBm 0zZE儭GH@C)HDcj:N*W^Yj?w@a? ˓&L~em* lKXFڿHTLW\6,i%vɔ- X.*LrLR2\ 3HElRvŢƤa8b @"CB%+]c0ۉ_U@7ir[㌋6 4lĕf9&Y^D!4lO4?H`WyJC Λ8Osm-NX&z(ZgM`k"NLlsY~쪈>PWKљe Rv :^bcӴ-aޢ H j0£RA բנ*ח؎ jx(AUji)7oX[j2V=\ܡ +95˔,Z/?V(%gd  +)꤉eڤU/E>xx1јٲo* >(/":hDb{PB葵KZ%*@TU`e9f9ghJI~4eXmVW=&Y -hUC/^- ]5ü2eo]UJS- Ifv(PpI9i~WRHKAz%X%H2:{ DrӋ^G-6"&CXCW>B3C\FlaYN{q`LYw;$fTlx؍q}ZEKi`zEql%:rJ*I/"+J*oOW'C[U`7T&gh2L'P􀸄[i%Zb/8PqU(sAM%[Wmaܧ蜳[RFcNmН(t:x٥pwIFИ*yfड़ ~:'7ta,^G >NO*Ts/\ hIZmxKS`~iu޳Ӣvnָ:%H-F~Xʑ6-.&`KMrNіUC)1N15t j}CO;d T$I߸J`R:@‡P!+;qfߺuURnYf@Busc*| +.BH~ j7#gͦ@jfL*;6td-#j@2!$ RѶb/w+,ЪbwUD+|)D .k{v{pBhGun/j]h3 h`AuGm1@궽m" )Ct5(%Wђe.$`# X} Vt$hJ[0r 4Ba4 ]tH5X*$zK`Yidn='[*bųkkb@,~Y8sHsj]>:k(K:z'q262||YPp[rzʨA삘?J X|LoѓKU`G!Sp S W93"b D-J8ϲx"Dj0i`&R-$rˮ]\ &A50Ut(a-ыN6+b~.9k R->>ctDLiY8CAOUaDn說^Re[6x]&LA$2#a r5WL7ɴʝW+n`׷?qЯE}i~l)w^Ű8M.^r>x31 3=ޫOlo:aWaű%Gaa`cTٞb^_::~2WG6Q5$ש) UOek3Nk<'֒w*e30#ݷÄ5ȐZ|G7,"4q`@dQ-5_n ||l‘ MX$]4_@Y* pe TU$wk:ǢRO6G4Y&Gio_Fնh:Wgo&S@`8O<] /o/4: * \ѰOey۶h4m`*'qf.4W.`[XZ1KS! +Ds!IIϋF-- x9'\=o2-;s J@e49Z1T/1&4O%QXGf[X7rhR:`6k%UUE}ˌuh ϵ Ze~;^-c5 ۽` 9΄bd95Ab +4sgzW$KaUw +QO>;'7Ht)GXsCnaiL* 9\܀0YZ_tk VE{z@R~/j`Er{$1JM\ {TUFܠʚL6>.H2%bʎ43s ܘS `ZwݹnCs$VAF~;0"Qic?KO\Ͻ|{_=C/e_FDqc<-!T ؂ jjEwUQ~~ucԃ4)Ǯ#q._[-s@DqGB*yYW,ؚ37 2%HP~} 5A$)?%'D}I\BVA)( ח1۴6}g6 +!Ԟ hl X\cNG~.sdwbf[6$5%( F>/ 6>Tɒ4\?jFxְC~=#$HmGX#Z*j6g}_>A$P#:I-k$0n#a?C +Rx%ӂE WCT&I0&^3(+.AVb{ rMA<|/_ølq%%L! ,!mU@ͦAzGU8O]IFb'b=ܶdqJ2ܾL +Y6-=\lSL2tDH.9ΝK/IB,ݤȗ(P\H?0GO?J(~o ̀|gT-ޓis]dll9.~65۶C؃yϯ(o\xM'ΠҚ[V=/y~k׷n:2Ag^"Cz^=WSoL?ѯ =~O?o~/__o~?~}xe~w|͗_WCEȆ!_W Z/Ϳ}S/7yY?&?s?^_x󬂿_櫯c1_|˭N#7SŸÿR,?g+|:oo$I%׮!Wl[ _(,<"D"M;~o:Ú?z?ZeH*lb<@В B€ʮ}W#!D %g!>خ΋s! ]u}7>K{hm}c"C824TwJ1*s[W0ǁ⃅ 6߹9OAZ4C)''d m[>$D:t$o(IĶ .6@jA% N-;mwsO$+0G͓XFSqZlp,#'n>H+trm_w$'>z88RHDSWOx! tFu#pYjKz#{8og1ZWNdOo@->ȝCT_Zg2뷀M 6@vO*:}&MUV易).S!\-xTa˓[cw!`$ 7 Aw# +AZqcFdI5>Qr m.|7 <-㊺V%ED1{t)_g@Aq7ϠpEGpwCuH#̲`)! +`7R>b>u:u Kgn–^&g{~9Vià:à l/lcL;9"i +WۛhUhr|PRJ)JJMr[sr@mmۗ\hPs1 :ĕW{)Av >g1>eGWgo[sIbt64A|]q8|$d& ?Ɖs3@յ.lo }ݟL>nP֕D!BV(BtLCDŽ_$WŇ g }&xVᲿY7Lԉ8rzY,8.\3]f{Y p&qZᨾ E1 }w稔0r Wb#K87}dFs=xL0a +>LYp>M0]Iq>OuEsSd X(IvMOig ёe`_gf8H$wФ"* fdqR+1IL_@. s1d ,%wçO~P2a,Aom/ߐEk*> 1-r0gEGFe]`_nD1!Jw V!gtF,]zUaMf (*&Q@0y@^iX|ݜ)A`^iP#N9`MUOA.+xqB'ٕ9j[tWb`qQ,3n^}T 4> @!tl];|] Ҟ^gX1ξe(XsߚɯHHm` V3j9. +Ыs]2Xhh+qaސ I+8g{3#{=.֑{bvpNC}&cPUeT0gFFz`~A__S*r)6W$z>ǁ9< B-1_(8^v廂 㛢Ig?O贮X};0U(و:BdQ(fFyw]Aof6ŐS䩇k̅N$VŪKWl qɘ|{u9r<ѯf_VkhKGC; 4vk!8D%T=sL,Jl ̅G. t<0G0?&P*2!Oneڛq+r9#%܅y p3!ͮjjL_0BoX(_V2r淏u% kEx3ۀ@9+3wf3eb(sӎx0AuDuh4"b7iegz0 ہԲsW0y'gcgO<9p^W됞r;$3xQBk_0GaL^VɅ}Q{~9?,)6䡛0]yEO.2IuqFRDhy֔q+ g*d@lSdbwk}\j tP(9\:cq9n`D0IϢL@ t9W)cC76QN\@rWʈ=,ZʁLDWQÐ` , R + *Pޘ;wɮ+6]R@93649QQ⦮If\=foc tՀ̇]ЫvH\z/ 5)7@O ‘=^^bz2xg]J_@go4#C6k):BFaYw0?@~vfo8M< k#l@Ke҅=@G*O ^̗X\qb46xrQjla 0ҳ>pʙ`! B*68q sSc:)UagxCW<ʹ)+s3Qʾ t( l['_省zzB8*Q3uYNN\><M*/]VepkN* ފ>+Q-VvqQ<}zssyuvmNa0cs?ayEY#2 A|). s|N}-豳~`^lvP^N[o^6J +/"">?u!h,-*S(TlΞKJ9feWMd :)d4d,+~?WAC\S`IҜFy sp9?0"P֑.!VHo/C=`-_D~mr2_愲7'h_dO(2hvߔBy!K4u PIٹg|]b1[A{b'k%] $1ЮQL4&){suA !inhUQq9{F볼8b>!L u+ȽL%JK.W2+!k)MM!̏:p3egjgSFhE)oa逜nZv&*b|`tzS;I?VA1p{^ | P('Gċm{wwl[xOI._sx+@qCH-n-z: +f +s ?ً7aOzP΀tY#x .HuB:@"ɴ: ^gE88pRdlf}Q +MSfLчypL Ȫm>:C렼m[ 1\i_h3&.< ̄|cI0x r1j\҅fP~yA_5 r:(a3hNJԕ->zPk@(IAUȲ9'+"F/}qiۘb2bFp=ARӻu_Yىqr|*]f*^Y{|\( + N)N۽=]"vcgqƴp@91 :RjRx3h4j;L7[1X"me|}@Klf=(<(/x+Qyl9Iz9z/粧o + W܉ЋG]PSr{F<& G{,!hY?SUAg]ฏa|f?3U|0yg{wς\ꡱl4xs!|JCq{0zwQ \rL]9 :TW +,O[N'upa tF"(WkPA!"Ebv%ٵN1qo:U![ NO%&j&AGL_I|0C|fֳHZAn8;z ZẠu]g0H ++ +J⟀u0|P|? +_oY1H(M*ʧZEΓF'fպ ͺ'1$|2dɇI0kF.̈́}H1CGtKѶwM x˲5>c^IjفCXV3Ǜ '%a˨u`i/xWW5/xof0*Rd)]J^edacL:<^b<";g[aƶnaS2={#W˾"IRıg}㎘ܑD2',`~8oc`8\ A9[462XFgUv4VԌ%; 6B?g`=ϐ 86m>ӉC;ķ >#7xeN Ӄq. ceLU߱F7Qɿy_Wm/gtgq$8NjIqxLӷ8v`{G8)bbmNWC;gj*2)䏴hTLSLM&HЍ\̠mߋ9 yloYqkLoxW/[88=Mh0!wP0{LɎW- >]FՃprRkd{$ qGuҐ)?8 fJ^!U%F[wG@nVỳd'F +6<8^b]⼱SEh"97 KwuXM7L fx:~N!P }?h 7޿rX? y}Y\Z$>AmLWhwy&$bMIka}0o2vkx$I:7 +U0Du4+>h-gmFhc\K՚V*,ݛmNۈ/D2g_ym+i *~?;Z1-䄋%Yǭ?$&1 b %a? f!~Хq ȳdZ_)ԩ`r:Ͷ>1OooY6P.$0 +K#&O9 f} .3D[:ӟSHަuizvYtKP'$>+0")ͦ`A`3!BR_` l^TV]Y1` Nؐ=;o"*WlGس[%|eA_%WL REDOO EPS䫞%quHO[y`\6,[gK' \U.\A*ٚ k_$hg>/D>޸Gl +)żX'|:U!)i zAAv[9="q80ΌsKcFhLc(GTE->)TAţkQy ^8JHh_vᩈ&rĕxXU)MP6#*aQ\U{۰f'=p#u0ҔG_9MKB@*JX&(0 xaU"kj6yzFy0b5ېW>e_b@aw"KҙoҨ!tM.$`@W= +G&KѻV)+|N5 k / +>Le1:cL~]U0Ь!4Rl!ˈ_W(or3s"̷KoK(15O;)H1NWnkU(CtX1NA +IkLGtp <G1`Pᦖͥ(zD Yr_!x%WyWo=>e_CyD:d6#y}S`V~~ԝy1)`_a\V.<zp/ dL Vwgg݄x\Q/ٟE>$6%M.M T ^f-]dIk4C1ilR68m4~wA/3w-fA82Zg:g_j+*@0mMwR"yĤࠁ,(.{iz. $(vt;qføSXǶ (tg4ڀ.u><eYQ&z&* >k:<[k'M?w =GP"b]si̚-<\ y ip_5CU)Q`h_+/͚ſ_Hhn"8^HYp;ܣ16!Oӟ0 l{G:f!60a4 > C+x8_;:d:1tAxQF׎}1(IV⛢qT +DsH@iM + +}FׁA~?`r/-zMTz@G014E71B2["#D~ƙW$?y|peGV⠙rSϪo}CE%Ly aMѢOuek=<=ƼQD=΁Lu_<#t^Fs4sN9f@f9˧#ԾYD`gocI.U7쿕/-IP?{;l G0ˡ 1ܽW3Ɯ67hH>o=S 4lWqM{lC9yX D iatL/1pGOçPWS򞳵p p=g}$%`/)"({,BK#Pp*#c<~}Q B}0V=*tǂ K12c_2dq?1 +:;̿vuXٺ(w&qX97/1e1b0*L+^3={2YUS7lx 7X.hDž&pO/+.Pp_#o8:'CAGՎR uS=z"ۂ- [r}~[NO]DFu}M(<5k-dB ,̃AuoͰ*˴> ĸʆróYYdskel0~q/7K7ɵ"Iy{^,UJc yĘ6x)5b5ٶIqF !_ve<+Fűt{p2W26*(C^!jj؝ =O~ʘ/Qŀ+;aÉ:gb..:"t_dwۿqA =}a:^-Ӽ֥x_U}.p!,xcxE̜lbBo-Ʈ} ր Z lp%RכjdCx<"{ȞtHg1>wl wrMڄZ=]m MR;,{fT@`leYY e\P?peWY*w}_S1Ocq|¤HF4ܫۘv]^?q)$0 y;>-靳p)32zo]Z_Qb(PrN>)<`ZFI0$5,"и T–!`̚ycLƓa a}Ex<,hVQ^^pp9)-6P0p]))عӨ)ifrP(vv^ey{50PSLLTFg6D#9a{)QϺ*^5I'/(L#B^)/ᴝйKY ԗ+\^j൵*^Wam|qi.+jXb'E|z}J)>D5_7M{ _bꤚKءfՓ2m75cPIS'b,Х]Jv=4 +:둮&=# *!^!VD6N ɶ#";_} Y''k_rG/!z*!_Y@BZ%یR,;2cϒ x/c U]KTAOR:> c~Ȣ㥸Yϙqf˧,{1*PYLg/pUq72 I`uaʝ{aܰc/Qq)y `] ⧐ "_ϕvc&{B*Y_d9Lsܗ=نzTr~ƨ!?4j?I־盐12Wͅq_W}Y\&BL_{M|}c@Aknf/oNwWEt{814xnvF +!v]z:{TH՛"[D8saIe_Ԃb^~ބorKbĸcjkf5ur/`D>&Wznk~qU E)3aLfkćC1pù:dpiV_Byʬ_Uџ{Ҧ<-Pt6ΗUei%#Ul +XԣMx1:{>=եW^Grd:2]mD✘$,N{*dQ0pez\YJ d=G8 ϻ~(G[IXouARzLփ@ pYv,$I778I9J,D)=$?肣m"oS6W~& uJ`,7bxzEax{1==COشo ]N7|}"SvW!;jn}ȝ=IѥuُX6oo@EyY51#bw8YVaOyXDuSI>_F_,l|CpԴYXu#ˉ=5Q: sp! 4PoS9.&~Ϋ"a+XRx4A h_L>K vA+3l8%Y2}dMb锎WBS$ a+P:T~N|w١Qo +4fBm:RquFty~zUd|ZU՞KN1yP-zQt^Q=+tm_bS6xkP'8PZ>Wk\&2pf +4c_#~o&aDߡt &ꘀ=U: ց}Bf,[i#5Jj8 +"oQ5?A-ߌrzeC6pdrȏNu9Ӌm=6+ԇYkWh`Ymr.{/g'Xab3a{2B/+P +{X(Qp^j)N +ܫ5p=Rzy]}4w RXDFktB> 摌T%ofFA9'54a&2F={T 2ꄋR]L<k|t"YL{lB +v<0 +כd=YY +%Qg86:KAQ:=׷Nc1{8v)8cß^^gF*p;& bzqzx() + #5SY|.Я) +B 6~}j-)3`<<W^$'-fQ=b/Uf(. qT@0팻YP<3sl,@$re!j8n޽S B{I)QչA276y_}8Y.pD g8Cg/T~9}N'Ww7q\o6.6Η{̛F"l#pTS;Ci 7E 3!>%Ag@Jpe̗|j%V W?=P23ݑcm^<_7/D b&l26GG\=gs,\FkcPvUuN^ Iy +N="Q iv6ȓw~q-^{P,+60m'N' Z"54)U=a̳Ze4e!B`2?\#5`.2 sVYsbOl88.Mb3MY eTPTp +BP@\x|]\ErxX^!5&9J|sJPc`ruqrf@?"A9 ]"R9g=eB9F b3`e/f=&%_{ ʼnRXE;w +؛dvi{!^Bl"{e̳%`Q -䈺s? {07:M4U P }p5I{ 񅴍!2H\I{A`r}*g!VP kD,W|)8TɡrYP߈rRF*%C p@2p +?n?A<{b~.o bmvzx2-qⱍ4~xC` +@y LuWDNnaL;q^bVMd@< OA+7¥4}حu7r@q7yi)8b  +TBzPUZgg`1ohyqW_NS/2.qˎWtQJļ)j;<"MFѸL1I[w"65"v>\ {g:#_V@|`O$p iކ91Y JqP>+YgYڟ4Jxc^,SCkyGL\A"_<ϡhP !ѥ/p@Y;҂ꠈ>LnPIo_vx[Юyx4P5ed~lKT*r[/gsVnt([!u(cf׀ʯźnyĮAK l3|6" +c"k( j/;%}X`kFDZxP׵'1~CϑlÔ/-1]!ІXbNLȭ/oj >Bu)~@x ;`Ǟi bh4pFNwTV&cXU|_=n4 ^!)Zg,Q1) +W +ؿ2#:``EDFmU!dƚ< QLS98:/2S{EpUc~J{щ?DۄsTe 4FWv{׊ B"en}+[RH\4ʟS-l[p/ѐdSF?&g@XcpB,F:':R} +f]VH`=*CU>8J +'VJBb'=c? Պy}׫h:Da,^|߸ye}vɒnҺNC{N땸OpLMd@܁><{T\<޻| ~Saq^61>)Ҳ7wyTAw#y:ט'Ȱo)|4_k_Rs2+gqZbkF, ӆМoy8]dx#ƇK%-zЎW[A;&UY Fsr]6컞ː^#VS9ptEwOEö5Nj/ ]me|԰ +P̓ %"h;Wa|JD 4ʐ0$rӕTb)pW +&k%{y܈2It6}v@[O}@<&CR\v%?0̓QSkcr:9C vh!FmR1t#zǝ5Əz:(Ett\z/4;)oPQ͞%SCZALG .CnD™ @(cI_lV !x'c<;eRAg>Z_fn|ZNhl#UOX8rH(J>vM*2fN=ˊX/1/, B aP|$E4xű3t+LLRbvb]] "4Oew@Y4č&Ae'[]0Q..E/d~A]Q^' mB x']/dR*ِ.+'<1{j\a7Cpgewxi]͗M`Ґ_:d 0k94HSj%AS^$ƃx|ظf4G%rVF>˘奏ҫU.0 +W}b/x__Bdi~2V6] ,QOO»3L$j1  ##RBE2E5mAz?cfض[4pGH'^!^*mPtyoǷuv@6˪bR;f"tF6"lvS/|/§@^4|n`Qp̒D˞}~ 0ꖯ06z^VlSẼn{gzete6h6|Xz`&>`QֹVӕ=I&%kG'SygeF>SVPM%-#D_ûNN<6)=m,9)x(h5-~h[> /=:aDF}%Cϣ1XaZM:Ь< +d ;+2B*}ԥ`^A_p M:2mKun_|ȶayYj8'X'~XHq:9ޑW0CРO].EiCW@A `3M#'pA4^kz-.?":[I3W|Ws +Z3$kfB2gCGۄK>3W8W0_ D ehKjA9p|ZDѩ/MB+rPY; }np+a1^<ē԰qZ^JOrsG,_d((%8oT^ +s#`aq7cQ)#6\,saO@`Vʽ~==A&4x(Q` Vu]̣Eϝ-Yk&hpJ0]|@>_ \x*+aq=Ԯ,]I 0Da1bGCr],p\5jMdS)]`K͢#!y-NW7Pnz!/ؓG+(~Wy{s *>D,}uN$,mT`NAu^lmjJ"#x}5iho^<8,bLj 34vnc\o{H_AӴZJ7Smh L`*:\#lކE_PWyYKӂKÌY"'+<ЯBETx;uWxNPjp?@A "Pﯮ`2PEB9fĥS"S=)\櫞K ꫞B7 %e3bl"VPtlVUCISE0vQ,@Bߨcq`>н(Z +`&SY.|vRiGM=ۘ Z~NU |{lA. +i' q8Ц;~N#==5% 4Xe6̹#Pz(RW֤>2 eS9:( < !"c^@ ̇C5J(Na)ezI&HҕR/^ު̡[8K$\u?O2U/aFadVJDs*Q31FT`>5+aZU?Y=XX s*V{ +Y6 6'H;g:QqѲj&Z& sJy=26ۆ/G8gʬyyX`aʳEAh}`4O)1~8&Df2y˶E { +ߘ] 䀽1s$B^yz8PYi[K> tw,i]\Dm/]Pm ]nodg`_UrD)bw,91{@q l+ JiU?m<0ģR3XY 7ݍEfDڸ} _C͓Po X'(pV1'E9g&Ik׃$}:0j/]K_8W5|PO'f'mf8 A }>ҢmaOږB9P(b,%;33ܥ7iX;k[Ήm<ɲT~`S?Utu^g|uc0ɳbܜ ^Ķqɝz +tǟnWܢǀ\tܳ羝1!3w'\Fb/mJ&FB =[e+.S1`VE {܄p.T#C9HV4p֊7uX@D춹eg72TA`Nsςn!). Q]E]d;ltC'|T7 OwH0 +ׁs[Z?bRhlq"zMpAo`9Ŋ#4pjiȾH3SqNܖQ?$ⅳR؛s1 fPUkqk71='t`E[V_.a5n-<*Y޴#{lDy%K#e/US3s#3S:y,̓(~*:U,٦@(u1Du1[E'3ylxpÞY56!x8$Թz)s/2vI}=U?790),tS3'г{e<oV՟A5=^Drܿ J:۞$FPC՚A4P =B*Zߘ'9LllRe# h%A .ʥ|Mwrj+p-8uz2{V6+dtxo-qկ jx!Z5jf~<(ٮ:5^9V˨8U'CcÁ k[$ )24(-㐗O}'Lf'V:z ſm0J4q"5FPvOt Yò/_p NAe^NjWauG'u)8{Q?aA=<!OB}#.Dhk_[QG">'@O7T;r2S1M&"y/|:\Q( ss% cГۊϹ2NkL=©"c̫eOuhR/sSݠojMB@}U#$ⅾF`$]nmD?1ynzL,:Å@GRQ+Ҩ"ϝXEԉb8rDls3فQu;p >'es84bE]OODԊ9x{7 2!,T /:p  ^`,B 83g27yyId~C̸ +*a mZ%|@a4NX -= OFdKUë޹eK_Ɨy)R4]<';^(:.#ʁ2e_cKOVK +Ov,x"jx9mc8򴗿.L i-)s)Tp&kVrXV1|&'t#R|II Wv$tjҹ{`|??c[TNbk9^0uʮ/ $}Q*|z,*3E U:s6d:}O̯b#Y#)Ӏ_?_0vk6} Z􌆹-on@y1ZvM_? zX,'T-2o$@mXw˽ВtQ8isW~]E}NRp-ҁPߟ Ge b㗗O$̬]1m;B b +ώm]S.We'cd8Kn.:YH35"Xn+次[[[7h S|]~n܋-~>g\M'N[Q\.ın1Z3P2ù(B ۧE7h0#8FSv&$v~K>Nw"CTh׽U֘I it?08PDID6TD*$Yjߠ31mZ_Kbyz/sޱKvN =p\R6,w /NW_SKcw&"g"Os"m㸤hXZzf8WaC~IpckI0Ͳla9=A<"[>^"2ϑtUy^PNK(EC^" +iB%?"+ۑlq3 ̞eȕꙸc#5|a)FHg튯F0T!vc"|}\l<'&N1 4[ЖZ7鬧ǘWo60ԆPӉ!grImU7&cVcU‘_,gԷ/ f_8ĺ`23_EApħ@pV{ujJiX?e<0_5:aA ..` WY nأL$ƌfx4T\/y DJE%JLXYI`&rf/ 2G>vBmɲ1,☩0 ]u/yxu t?⧖]/> ÃLr[&࣍ v S[djZ*D_NC! ȟKc9/f[u[ 0ds4xRY5@܃z-=/m->!b9`#&P}5 lxQvaTyYdbtJ. V` +WrzW䱊] +AtbS_Od.(Xp9JVoȗ=Ҝ n.}_̻|7@̺GAUu~32zf:䓋-IFD|oK2uDJJl}ID2sA33#u7.5@ {Ӽg Y%Y,śr&䑌)?cG05{Fþ>IW$JI2@p-+z!W6y"Kl׍{&yT +)L#A5=hҥsNaY&VE{ ͞& iXv27@]5 &}.Xq v}xUэy,8K~C1Ǜ9H){0d5<ր8";.(})uFuPNIc|Dz,t3/֞`1 $3sNo CKN㳬0oLgPEy3#.6%y8r)/@)zHNx~]:z=%œ顸zyKNrdjMsTgqF`^^OA#cĺy #+oR^ ɒŽ$Rs1U8FĪ.H2e O("H@5 +{~)L+Ut0D1 qRj*K| JYQKsT{<4e;mȋrJ|W vv׸'$bA!YwEBYq$r%ۃuK(1sa'@Jv?.eϕ-C z4vz0ۢL +У #2^df`]Fu7=% {~2 ++MeJַ|T165;䂊uԡ)g5kzKBqz9?P4趃zIA XPmk,E?ǖh;g݆U\C̯y.=fZ(ܸI޽gS?&~TJɜsO ]C +i$_&fʼ{23Fq?rWz8z29x֝#c/C-"ѪNUqF9Rgo`^gp)2S\WrFOL%1߲[$䔠<:T~3:u).b?{.XIv + RA=ʣ]ZÔGr? 9 Ve61'dC<`/6YcuQ''V~a" gd/=bKi*DNf -o$KmRR +o'm-"!<췄gx7rCl$ IڍA=`Aoz0xjZ`~8(!X p|z*!8u(uX;oRI}5+]Vꂯf+~((6GZ< wl~Ksuty„$,EdG4Y޲AaD=gݿ(y|xlP>OV%$DDg}+0rTSfC*5I=Y 1{0YY~&с-gT2ֱTpb)٨an|7EL<h jȸ:4l/c׆= mB~Or# Wa [l8/z9@Vpq_g <9W<8r15!Ki{qb[ F-[iSTk."AD+b`)b6n3^q ʜxvh+pC?\ Zv*=~ώ*Nad<_J,Q'~NB* `"b'y Ie%/$_88OSe+to:K6_vfgx}KgY RzLk O8kA#X@|Y0%*gaGa}Czش$O)嶛c4 i.y[Pv^؉YpГbv[֑\P&gz׷F=Ta^$<(ŘNJ#I$8嶎`19n(PRb}οi̚d/; 1Kth}@a5d/`E>M z=i\gc'Gy/˒#6Gʧ zu^\._`A=%DG-=_aLsۄ3ߓWlӚ&x#Y3Bu[J;޻ؖUizߑj`/'.Uj*eY(;IQiCRĨ1'D䒶;{5ǜ^0._isåF,UiPeϐ +y\h^+Q$\"8f[1{(D52$n1Zhx3v;0!\v&,qq$ +Cu!@E( #껜i?\ ;P='mK}vLl- 3+{fhDHhBgH?@GZj!prG @+ o +6lT}5lA՟w} cIP1?fp·ļ}`q*-&bq|NI/4 q$xO4&]TG][~1ψbw;d^Ab6ջ=I0!Z+e1%oA?ň̽]w [X"Rw,O$I=0!$͒JPO?1p. )< +FM+wYkA=-;+.EujRE9J p%E +Wp)SISdtF)%0;f^V&D=">@dW-~ {@vRp 0jiMZS^aq;ad [fH\&~<28O q_B!g {]ɃGӶ>>;a}œ"d\tj g69/a"_gv9>gay@×Q-@;EdP)r߈+9Q1=d[{v.p("!^[܋dOd^E廅}. 4~zW k:u?h F)H^K;8D=so}Eԃ];x_YgQ4G*t-۠WD$*hUFWG<-!O3e +zrA"{ myyėMtR|H{!t)?^q ʅlrGeu0UB= 3l=9+:)=b"16(h!Q?+x,#iWo +M>9d8Db"xvȯU"⅓BۡUWU^|Ӿ^`F?xYԩ(<[:G='y"cqu x$a Bs~ʉTxI#h9XOa/x»Ż̍4"->stream +$ .ZK;$[  +17HTfqI\#<{"InGzrPBtp!Qu[5.~1шF]=X;aYTxq'ڗV$upڀwX1Gh"%0"n?9+䩈T!N!G${5U=xSd4{J0= b&^A?Pk|h8`p+,yПHLV^EI? dT7+@W/4u&Hz捰He[K_"+a #[(`*cKPBt@~.%yCQ@?ǃo\E>֐h|$aL 1pJ2n~C€hXhRH*<"x(ҝMAϑo ͌h)a5N.Wo/Qu$AqsxMX9clHQcK#pžFx8i)` qu#3S('?\Wc +\{K}q|pvUS9-7MJ ²&=@ijGؓ,6spUHI!Q4`!zQmpAi Gg +6>M^}HJ] bTb^0ʵ*1„[AE%b@9#bCa tT\&;mWNҋ y>Ux\Tn!i;=}JPP#!}Ѫ\G-:9OȃƑLQh[~ɗIńaFߏ6Dz1&&ujQҼt[MQ;μ.U 薠]]*YUPyD^F!,Ō< + +`"y鈞8uyq +,O qs"޽OrǛ]֫()0Gg`3.ѐ}Qfkp7hAdG:SuPԗ5k:-T_.Jg_}rQx~qٜSܕ{TS]B`*oZRc¡~r.W:ިrNFW!/ bgCՃ:cxՇ5 d$iDrG +,lc & A Cm98!dMSekd!WSumȒ@D^OW[tg8†揺<}e<+7a [+%aOfߐ=y:sy 4<Ф(Auewr1'}hG#Iwo'f^,ėtHVw瘚Av)xDЧx}rE2~'G7E3S_͈B-xGl!5_F .SԾG x&Ϝ^ g[K)-$=Zp#q%/eu(_SȍJT2He +I`v|6mN6SMXbG +t6Q:n]f5M.,TŬ4up*dfLqړDBkM Ք9d9) 1'.̍\t6<#YBUx@%. )J?3ҹTvm=u5.@>=E*o.y&pѕU +2;UOyzWTy]uH'Baڎ |NB׽,0}__ρaaGmvxl]aE'iyYW-GzXd@w^JTKTG)ygl8m/R<[V$37S+˳L6 %=a>= )"hN؋䍑(, %W.Cf}Z^8@x +0-8ΕG1!F-bB(^T _W0lZ4O@pFqaK (ILݨ8C%вa#Hoo9a5A~DAMt➾):y;8\j=qO6g:S)>Tiy}%w-B@ +GqwZ͗Q_oLqC }6ğ#YD]iEe=i)-z4L7 !|zx{0 (4ua_0"u)O]E/[!ƠE注ukŻ-L +`yrmV +C:yAWՙªpnzol"RsKEw[KE_/ArbZ=|Z4ť8-t9-a!%9}QY8C~ѷ36H=Nw>:Dz煛r^Hpl)]'=` 0[cX~׻C$k:oEq]sBɸhnQG}~~52F+Ì wLnV,ݼE;Pt#)$Th*hl]㕩 ŖxZcƁ0 0>01#B7NYvX:B 4 +nLdLW֡oW׷~<@Ԧqi=6IG! +N-rB0N.yn#>˲*i g4@Б1셌Oo1Ì.ᾠ% S_=35_:?GL?<,h"GA؞I暗Ղ\mlW.4߈[cfE rU/" A+ͿM 8$ E1ݒCĸ%5ZLIш 'q2W]d2#l!hD>.]"(ʍ9)&:EǬdH +$"Q*CjģCO#y~R +GṋuwKiK˴쀩g. K9.z$QB95mHݼ{,wuқ9qρz>1_`'wxq{zp2ԓwa:TEk-I(kPgAy:o~m@ `H$ABN&>#ycW]glQ7NG;[g HT68)4#爂ݰ:0 "_1.Nˈey<2Pۭ=LRK-3bys9GDϼR(Z"K3nn7eU9D<[ ֨NW‰:E1a$PptrrPAI^Qm+mN B uC.Xt0҄Btcң`gE: +)e5l\g?3^}r'qKb;|N`t}M7GE(ns#g7et[ļ<} A,ZOq'հ"eJ<\ty={͖vf=@q4qf-JeCs[+zĵB*7' \ |$!_a@$ 98N]?Z EF8I="^6dDաɔ2B<I:9o2YUC#{NOCdCbHJqZܼD"Ph|zxh*黤zQ6;~&X[N\Μ +1?KR IcB5yDXBmtNWI )ZB<'ǟdFãáGF# +W3DmfkKdG; x@o!ֱ~]`.3\RJPGGz.^uwŽeIiO7r>G"g7%$hWS')yD}>Y]2L.Bj}t-#SIh?_#xDՍU]_5 9Cw㺊-36a89PA1;.Kib}yʷ)=,*z0RHAVz 'c :M{08*\b=q3^aAx1: +tU7mPB*m\כծzZx&ZQ!tbn-+-wͰ_RhfflC,^k3SP"1fCxᾚe~1Wq WLqa9czpCӭpEޢjʩ5^<#;#G¹Y>̪FhoŗG8>E{-89N]h@~%x,1}:^2^ .Nf*'O;v>!txVVYE:`4p=/0F%0+>; vJK<_1;5]@68/?-3_y^mݭ'WibAw}s EEL?/\<C⃇Vly}ow=|_/?_?_U?~$۷ok?|~_mc9w+˿;v^nYqA??vqiZGp~.WV^ _97+gOIWt֣ vG} 4$vC 7,탨bH|?$*\Q>F U #sM)ʒb9HvjIJ:hMRI!ΪչI@1xtTdC\xMC~xUW7SALo~__?~)_g H/^_|_}_=_~çݧ_~u>s /_B~_}_>?o?__\ݳb.߮,6>Wr̿/ϵwg?3/>/??>w|ʧO~'??9KfE$(I2;'5-MP +ȀL +~1.*GS,zuc.2ocDAKバ /rcQ8(Eh)e`v%BB*~I?M8oݮBYXtѱtDzYd7"8A?!x +'їCGy˨$>q۳0m/!$\m-X]6H%(Q"[.g~}!r<F>?"ޱR/ udsAx֎?ysdn.6ޝ akI'nue[:&l2xء?cUmoٮ y8Bđ,XwR$XUR|g"%β&L.vQpHfm-VmeWEbR=Z8dn_C(;Ks`g5QkNe%Xz[b?vBxpaʐ +mΊ,{__8teAԤ'v*f.{&`Y=R-Q!H]P)؀ bE*)? F-E NE)0:,iW@DOkwD"*TP-^8W2!?; XXm'ǥjTd=!;xFD)SY>e}ݝ=ԣcoHz]{ &bZ[˿x2@(J-v\^D]uYy=QL}:Egf|a)Ky\~*GAm +_6NGtRF|m-PbdQ{DjZ2ak*8jAʷxM;E +O9&G){rJ4H8-qDp*Qa<2[KCUjHKA)iLأh $f;[_Ejo'{$av{1{ZNcEɷ_gRgc/_[׏5lٹ}>_-@{wv?W o"c\?M6J);o4e(8r~Ѿ(A{޷L]j/,w|#_x;@OKRɽ GɕVV-0*pll^x#u/h*=RV$y/h68j+wze<9/\>{׻"?/ɧ}/O/aĽC?wu'_ n?O?y_߱Os]H|O_>8>DΑ؟!߶z ӻ1- 9}£0AbgU;f=G!My81`d| +z$S0;6˺MɌ4R8umruޏ{ڿv󪏎^JM9$L4_4pK +B=qs}Df}Gо^[M|w;ß=%%nL(sԞg!, z*<@Ǡ^b~BEf=82;pmsx:&~osTe'l!%zWiy/"r*g k3^}w=x$iOpNq'dyf#"Ip`ŢJ@\&G UYL MAd>Jǖ 3A艕xL oj,7\Wok l$0[7*-6bWD@׸GiALI?W9Ҭ%ju8AWe$x، Fܤq]4گ)e m% hѝJKhI){4 \|'W~ oSX) mw0cpY͡,V(tܤ  {Mt0NÅ+"2ǧkmIsf*F.&$YMO0S%88OϠwkkv*+eE:zHر\rv7<(o}OFZ5]ag>.AO F5SjlS[* t34冁 YD{oqtrC~[??gEfO%Rمb{ަהXJz +.I'ZY;AЫ1^\aNCV0Qr`#!^ų@P5I. A+aGIRH+H\︫oY),D8#qt/Y칶WK% +5P +#w9&ޮX+K8ʢc57&XYWt`pD C34!cU~48R9cfAA|JvH2 =7d '"إd6ļ~&$"j:!Qy I5N!+2G,ݑEva<>A!;xDMVBA%㴬ӞhEOyp]g\EH1_4۷fE~,yÂX'>JU;4Ԗ'g<">qDـ|=!dyE UIxPl )` l mtAA\KpӴoK4Ґ&Ts#n3$OV;VfpvUh9ߖȈ!,H*<d=n[3"R.oy*R/[&l|g7ڶL~a˵*S\Q6ߦp!HGVHLؤG> `E ҾDm_vi5Y~jd91/ռEZ娲"EҤfG,۔mT]fEJV&oA5Kn=R(oPz"?η!IG"[g{/!C)) ?궺K65 0a^˺Sfũ_5s?X1#u6INM= ق5l6ہ Oy-7!qM?cf"6!jӑ2J!MH%YS<ۅ7"sc XV꫟8>YRxChԑBnqV8KKX a@!,zp"HޒbEu[?~;Zk.t[ 6P[!u{q2Ǡ5 +p'f}_1k5od2)*[el̯};4kc4#IKֈQZ=q5!ޅ_1?FEǒ MRuf1'kY2/-IdZvw54dcb"C{^=T?eMHqDWd"n0yJ}#?C3Pڲ脷sa#Q9*օD+ Z7B~/N/&>H}oT6cVrkx}'kJzp8m1*{ Zc{A|Y +Sxh`loKl.<-,aNM6q5D.?n 3Vx9ޅ.'h\~,P;e:^?MرMj+I?nmX*M7,➮}S 7IZNh.2BFd|טQe +-xU")Dvۘe0ֶ=Wmo]ttٙ30dG0X5*i'KGִtt-B yQZUԆlA~\#ʩNr!Qa>g?і;̈[V1D9T6l qSUVSq3(5q>q(ҭu30l +QOLZJ2y2vlъHΪQ5SyPRY$J {_M$fPd&P4'Poΰpw8GHS{VKGS#fA'r(Tq3kl&03`ϕ~BʏK$bsD@8`/}:4}<(-yہuher$JAE/x|q[Z eZEՐt+{%)H*6R=)ABY{1͑ \#|k@ǥ#6r$O{K_B$.+M*%ϲ`[%VX b(?MɎ:wmzՈo!q#7A)?.!݇U֍0 +dZvSvdI"% +_ rpÏ<5ڈ+ >*P^#V4TE]X rښ{z7WK% n?ƞ=R6 KvBtV,@t@(Hfh"'nq(ה.<c$-a`wMy6N)G8J2nF9 [QK1^{;x;.i#"8@46:ğNkca+\vmvbIb*-Ђ)*B CpC5N,"jt1!z7Ihi rjyሱ)l~#RVp@fnW8^Ü\ȖS-?&5H&,TwbX&Q6Ӫ  u{KdsSX" &zʾS.S>=+ eM78t \t q W*O>}Ѐ#@1 +Q55qah)2<12h# RStYXXz"c "^7_O a}&>E9'"F9rKYFIK +z[t-tP&mо6S/ܨPc֫O4z,(, EW7UO24\xӛ]trύ"|MPU&#ݺI.$o̰lS +jn"XXB0IcdNMܬ.WwA{r2麣x#w]O\&K*3\/=75OD/MY#yC 0a^:&siҎ(gKH*Y P<&9m̼e - ,4v(fm冡. 0BL 5> g^sRXmج.w;WAFMekZBK9s~g?ﱵnḨ$ΟXXGğlsIN)fq\uKYߣD[ B; Ϟ?:h89RVpJlȫU-۶ V"^V g1k}F35(ẹG5٣wb;8(@5uJBvjD#7 #,m6 w‰1n[AFG(»ɜA$rӬsdu>w pDy/fJVC' + T%9ucO@L7K3֍/sf8[Aq01d[תwAȼ 2E<"sdwrd ]sˆ}!2h%Yʕq dmެ/B8pslŞ`ڗ1cQ `^rcQ:o+dڵyLr`P*5w]7"k +yP^z?/:BUB_Cw5a}E{u[b 8g䵷:(܋xi-1Z 9;2œ("VrkYvMW1c㫳GgptN&qŗ%<:dV)ϿGڝedUǶըUƍxj{1v|& P,LgmLN`"Wd) dAQ[ ;NK1S TPlT((>i&kg2+(fv_5Z>SIi:7u3d^r߮6V# +*M#֞7 +ȆU,A0([E/!8F촍^Z9tEA 鳩Ь.EX?{3!};:3$pVwΜ^;}^Nb3hpCeæyB7oϟ@/hj(P-ي 7W{4)vvhWkcXk14LLa>(Ah)r3:fGukkӖt +ⅇȜNK3RGop=fxg¹-/M-->3W'󌝸d=#]]л֭JXIgPHf6`816`*u| yV +H"0j[S}7>4i r"ҠndBx ό#$_ !3Tl%TV@)LJamvUѕGKnP"ܽY~|E'͔$DJZoF]txFK Ҟ&w}rb\#iy'He]rc+긠nly*H)2.8 +n߼ qq^CB ݲZmB} +pG[2C%ЉǦ^=$fKXLNI/5%Μf!N6*>@!Nj 6o,Cw4ZmImGѳJm.0MaRLq+/ 9[\B= s4&Vb&ˮL,@Ҍ W<{X*:J,ao 4:ncFnj KrH$)VdxZXdeG٢a +tgkfjn>KLqe+~gJXO&0ϘrK=l6XK.:=;=ؾ`OYCrVл_fu uJR1>V0]@뫨ڟݠټ@Y㧰;[yje۩Oɇp۾o@'9r8u*uQ`!LYF'SJ`f-k5v&M/ecdт<ͨ%nMàF oXjqgт7@A=5,6O'_&A_" t.2'ҋRp+m#f et*UQΒCGW {1‘`E-PdDžuu:(9x8@УEzL9;^0|47Psi+'^8ScBѢ$ +ȤU<ögс~US 9KdO[j :o?Fk?Qn ' 8/̀`0q$m9XEm5dq6E8.jQ9IltK WHI ^_= n.v2WPM&킼B s^GoQ؎1'XgGcMS<10' +{F@S +x]1rx[DYj$rD~>nD v9ߊvjA5::rYaBGX(iS[waη|S*4!{~ +s%a>äY'RwTMumf!7xؼ|wwRjB2]. F'QR +,z' ״˲D T,mY#Mo,ZP)gA2FF DĊzaYX\0Ir*K+@bL*;~7::( yPݕ &I680'..hH'qT:T/Zc ."UL9y`s_T9=#H5@5Jlm +4FigRgO¢6%tX .ڂD'tLŵ!5of#,\1%[K n#{$aZ xY5ĞI໼@$+5Ѻ +o:iWA~W")s8H6@QHq&gOaXXhN;ܴg_Sm0>LвԧlTG}@dU鸒zk`3:Us0V=j{b4;IJN!-2 8H:t +֙j'ĞO!V@Ue.g`0eaol)gkaߚ$֤̪D/쒰bEo`tAͳqI `{#$fwB!ɩ2SJRᗐ"@PY^8!8E #dם]`y[Joe oE]rNeGݰܢsE>.C)dE8,Ұ94D<4o`‹DY=GF˱SF o{)c21Y.-Jn2Pf+l77".EcapV1x-{IIU3Cmy@(5%z|æ!<1ndYUjW8^y9i7%G8Lp`$~tg(Ϫv(HNEqRcMbUPgȢ>B $s3B| %Rр620L`0Fҩb<>$.AA?cJO)&*a`.o}RSm]փ{=(X6|:xa 8<ϥ( Q\5`7cg:b7SP:SpbT^ +ꨐLc؄U0Wh FWLR=t`jb*JNq@~̤LEch kh { ;`As!;@!.p-?DFBhaD35]q9tAz9Y=-;$Qȣ_{yFwP|8iu p h{l-ddTʅ* E^؋nt4%tҘ塛y\Nq66jC8XvT`ؿHAͳ`X940Rp,H:jN4s0S\.B^ 6-I'>6X<-)m:`/[dxr:nVM%j!k 'WF;,zO 3X4UB WHsz%@B\j͞ +jJ fη =K#)<Ľbhc(=rIJU۱L.HZQN +Hqkh5⍸G:^7гK*& \²~NMݍT2W@1L E+j4d&"^lJ~^a GҞ-0O;er5A3i^QS4;)>Jry6 c C0VP6EGuwcm)}DkQyR{g;l zFRV 9] "a%Α$ ќH!qϗ4u:!DI,MS)R}e@M~C:;UdCy=oÇR6NqS! vqpŝ7Ɗm *~ՇXzέ͆:ց=lTwEP.2o2hpQ*MTd]%E0aQj+<%("5(z$jəKj,Eb SwMJ[?hmtI=?G[cDL~=]^Ҥ~)ٽ)o?Fs2{`BV5 \ @1m@vCQl_70C|nb - \ZY?`̂^J{M|GtM"v2y\CY>̏{Q8,j?E3@tGWv0n"W%R6!#m 6uBaI-mQ X2xZA/4n%CSIjc]¡.D_r`>[پ|n) TϜCgO_LM$W@K4 cDXr:뤟Á>0-`VLl^F1:P0HԋS%?ɥQ.cAW<Pu&b\*DŽ:N֢OvȺr&\=6Ex!:&c -h%LMOu&DEzA\G>q4 աC鈨Nl=H"u )bR3j'(E)Gk]ZWpꙧdt\mA"3{Gpݢ yx AqDw~-#&tiEU2uI*b{JcDʈ(,g,W)Ĵg`w>C0ՄzJ {ɫRAt s=1̙Ki$ a2;@IH_B +1>TCir6lѿhݻh,{S.YV +hFçnkg-|t~ נ7frAs$GUJNKJ H28+H–E;,L9̱]RD5v/)<iMMqMJP,c9vIZUj{`49e4$PL"=F%|T!,iy[[]Rva?J"'m +@(;r5Eغ=N$WS"gzc!4d^Ls4~ŹK 'aڒцa. f2Lw;x\3aI.И/{tH@&Z.*su Cz2:O +'}8=tں}M=Ex280%ΐ-""=t2lP ArI$EC +;؁ω2|I +{ӊfC)/'AD73]Ѣ'$|Ȳ)TxA5sGMqt"},TRyI^nwCx4hChk]`T{=xHhΧ;l CqRԵ9byqAz.iB"³EKa6{"d0vzzhguH`ȫ74x%u)(WٖMuɊ?~cޘ VP%јo)?86&jKN8"eE%sMH4 +!ZM +ؙl!B$RyFh`ty>~ +\>)b ?тc_^.ts +]qh0OiU7j  or!+GeԒSߖ+G^-g3/$ +s7%ؑHJ{!WEV#NsDgy]2UM=tbK:ctookdj}> ےgߞ0j!3. HGdtT a҄ONށ7f eGׂj#p(!#0+[ u9|/\.ř(GG`D{WBSoWZJzs]v/4M ' lЋCh MU?I&\LRm!&!,iyKI!ԮHuoFUB.m)vn +a;"l&v$C4y"e)1Yi Kʗr9Q_yn-6VR=Nş03`b~<\oJ_ ݸjL*vJdvz&/;\DB3b (cF O]<(wwff~c5 p!D5frpS) W,D~qD:iEYzKm!r̚ +.\  "YpT'C6#'pB(2c̱D𰇖HSv@+7j)(;L%՚,&* {5afZDovB; u +@M0 v_a%r<VlžP{5=V jWF5@4ui\JP=3*=4xȐ}8U 6mP ]6&rJnT1Jx χKP PɇT4p|Bq'2DƏ9{cRlZ)&pF yYqyH2uC`\;%jX1mGٮ9d1!v)yl9<;;yfr֐>~LB]>} sEmy,&t4e<@hm BR@yo65,[l9T`8]RI84.~ MU _LȽ/ip)v{^AC}#EI.O/ϔ&E6"Q!V|F`#;[mWZ I@f -:P]QrE)=4r@Ic׊4hۅ,#X4%?^Ǹzqa\0MZ°w+.8:j-ͦC$ (MMv̛}Ò=:9Cst4;[F@4#| ^$@$;@_{zֻȔ2_q@$Pdm@Uoǩr6)BD3K,'/mʴ2I[5l4NCЕ-3z$JV!NSUF}:pplžu6,Y[٭pȹݐȡN=`P +sÅHXP) V/Kj@# `n?͚,DOGG%R`džF`aUн_`ņ5#}Bb0\r|0ѩ92f̨hg~87$. mXT|OAЭQw;l0əs",i>b'XBmL940<:P c2pJTG'B8BQ#O*AliɎę<_ԻF QnWfRHS!jHG x]y;ZJi܆}Sht՗$J5Kt +ԏ )a@ٖ*-V]]vd !;HjrDoBUT^"*?\/b0WvE%RtQWZKIX$,V\Z9-)<ʏm()ppoxCIdkAUN-oؖMk^-)4ż\p{qj,г/(gS~p,=LX(9Ťnm_guacD d9M:!tddZU˺Mb23LbO @Kb%B&D="Bɕݽ`:H{/HYV F '; 4f +FJ_0M>D tZݑ&D(S ,y$O.Tl?. Z|Á30;cQ'(CZ\σ 5BdY8Ul虢GO1ˈrhi չ-jă*5' + ӈrJ G*=dqhf&':(= dD;?IWe%'yTZП& UEL^[18=f((Lqқdg +ό(ڂ Nfv.X<@x:T@qv3[m-UGd>birqpHv9H,4ک`iڝfR +Bu{ql|"Ht^ (7 +)"h}ϖr͒)Y2Pǟ[c Fހ)$^KpW +>|+ng{[¡6/H$h9~@Y{<{zd,T\"9Oj`%_!vy zj5>O^]]ԫ<$J¸{R~Lt_:i}73CpL] c`aN&G+AbO{)v_D.X^ #$3r>hALr[g [^3E7-D4TƣpzS`mKh̤M nK.@w8Ƚ*Kn ѬˠoΚ;3Ή7Ko Kk"%]=Ϡ$,fZd\; P% N4TW܅q7wo=wy ;7^ɮpFQ+ZY +$%ngHDf1 ,/Üs8<C(@pL߈KA|wcRl QN<\v*LDbfm=wHpӊ~2ao,"=|6Essg;2Y{J?wfL9xue[B1z%5| +$ }qY}mر.c!^ 6A}NlUYqj+wV wb =~1$TIa3ZŸj:'~XFRd*3`av@b(~,3lNZFs4;iy!o H/Pjl+Q\gV\={kQ<ݢVh9U, J }swo3Ɛ~933MGio[HDglډU?D[y0^f޴9Xߒ4XvG[~zH&;O*MxdVШ̳B<$6lاG::^/HQ%>ci̞i E`*fG^ 铿oc*r +yvqVD{0>beuᝓxSanٰEBuӳ-Wi gr-m,j:'31bc]s8#р; 6JNt#t^'3 |\~vIC62rs;T,HcO幵>v7} 3%BgaB77Jѡ7p`dT*IDw@&)^D0#&qM×en{8~o >&SՀe2J=CRAtOikX}`d9&pa+(]n;nEsUnT!A#˚Sg(XK11?F<?NС^XC@ÚOcڜ{Fxw{Ȧ~ݏt>>[~_WO)_4O?o\Hܯ??1gY^ׇ1h2_V0<+/=CӧG}޽?Ow?2sT;ojqTAQnٿ R#4,fS+Ay" `K\ 8hnpߘmEz)Fos/xjn UX$[?6ƧQ% hgr6S6WnTg!IAyAh"ɜ8FRȶjF&FD8PSbUD1.l&-D5JW;M{+t*.wM4H- m.^2MW0]autyԧpݹ%8BHnPĵW^!è $9_\=\24{10$8nz40P^#ɿݟ~3~ !O ^5R[.8:Iʻ# LqrtZ+BJ(g}* ;1mc &"K2(MU=dM %o~t){=Jnaɀ Ǽ#Q30%X'7oAdד=O?FK#TܱFE:W;;_ +oYӔf0%[HHJWq6/FrQ'?Qج'S[DGўpǿV 6u~s=ϱOpbΚ)/RYAs]7ݯ-LPcGW d׌2Fw_&w6gk?"Ux'BOz0^ЀJ/w|g~{vQ\Fkq61Z)>p4E-/@!SLOQXH[d(/J[%ƽDNKm67qXbvkQwĸ&DDpm)RUrESԱ +34Kbhbrc]*RI)qy/0flD;(&C'|uXdߝ^aX .k= YMxn*<6&\x٥:OYc}?7rDʋ\v)j,lu;@^J?xjZ ,ӭc~Y>V!A PgT,"fZ-!q@Ftb$g:$s Wsz^0W %|C6:J3ΜGUiQ@4XmUe01Cmxފg/~D ~+d7YɡN&cd#DRZ1I.3<}M1o뿁b*9hT_W|o> ח_ŷ_`_*?UW/we_|;{}ۗ߼o^⳯?u? _?y)1S7ȕoL髵3Wopݟ|O O/ǔ/W%d),o,Q +L|I5lrtw8c.oYu8yp:'B9H'.THx,b3ҍ[|TIX$a11/;o)g +՛k<ڃIQ{%F@RYOe=m`w6}C. +7dAF>i1Ɣ1@1Id(/C"<2" +ЕAU*# qasD}q+ V"{SLJM;zI$=^+ct +Sen^E +أl!2{v`\A=ifz0?،8iPhY/RL@aa?X[e\48{6[`{@U #5Fҫaַo*méL!jeH0KSdJ1m5Go +8#"V3fF4%>FQ߲ \8->ch9/>tV%e""뭂3D/CZc|)Xmюo*9.0Zއ8a9!e +/AMHL{hQ?c +"GJo[kN'a.\l@h.Dc̍N*Q$Vc@4y8Bbڍ#'ܙEO^Ⱥ.~ @`DY% .~4^A_4H6QiXdmwLgNV1mHPjIwRi{k + n2)S ߭#3&8/ĨzsM HX!lD4 hNlcʎ="a+YXFhEZ6ImxGV 6(37ϚϴHuUAM{#6U9o+wI~R/X. za #r 6z@Ugd}, *eIXiAn6ƽM:Cr\k8xG=R,+̄nğ8,F:ئ*zmsWP54 5l-[!^GrVY$N݀ .Ez8&TDq?z^h xzDuk`E9f(͎w?7y8K}MXдp*(a 3Veʨ;:w[zP1\Z :IxAMUX *b@Nb)2(?!ϫkribƸx9,;;\8ܰZc*T.˚ p}ň3 :?buᶧTa{vtK=1,>k{:/^يaB FULTVeSdt fwĢw"PJ93ĥNt8ݡhH/N} `QPKr!VNg>c"ܳef{˗Cy慖2UòWtg4bAwF"o0[+Te/R R_<ڒސzWGFFT$1ϺG [|l;lrk+wо6q2ڳ]K`_*;+e7ݲ^2%k~/c>Z'حOv~D:γ#sj$<,sޢO i-lR[.]*Wu5Hy %GF%?&*Jp)B%H:l+xUF#0өz#2C4izӽi~L\+0b*Q}DI/;'_BI'mg@yɐze0ܒu~ס%_[*l!]Y!pf%䴎%"vdE; *jB>b4]oMsz`^,ΡzpyN8=}Dl=ߊaỌ RD|~?QSA4Kz\\E,_="૰ΏB*YZMG +a5DeAsz ؇gp2"(5x,a+(Go‹ꓡ\isވ@g +Hȶ:8@+jUd6iw3R^Сp u|X#DUDp!fK:cAB y؜nM_:iEucy[ er.b\ ' +^!'nxO/I ۷Q >zvodA8;S' +aMْnFT};06P0K_L[-tyg anSu0* btg}K{#ME;.ngpKGD#Pq R̝XjqzzSs{K&s|#/3yH0ɞM4r#"stT^sB&fy` 15=KS񨅘+Yb蘎U/r@6xUy:)Rsa6]j#=o qNףc:,3cڶk&1}];@Ž(W6ZJd-Z:FM'a@"Gk\ل0\+{Re|l}YmƁT0UcIMj( KF{ojO<Ӂ@o˦mimZ4I2h"I,hZ+hDhr?= ^xDD\sWYӔ8B؎L7kzW=}m{~2YZSf~=Ӓ&f8< R=.Ģc*QZw`_7TY0:Xs)V˙ŊgTtg";MivoOhC6mVm*t^\lcixRevO T +);+P|X"Kc4ߓ4ՕbDHxvc H헂 7ԱS[m؁$J}XzOP^m,%FWGp*PkFhfti<]̪.B!X0ZKimI~J|)e&qF4 gvJ{*[;u\I,vWXiOǵ( b;#׃֐`f`|:~m}S c>G6新18uw\/ڸnB +jqm;Tf4꾳L!pQlc:<ǐ+h7[2c%b6@>fTںf][&j >l5Mg)Dzwҭ=Zxt(Zt\gey)P@ y`˱HJi42<B΁~o]>a8ktU= \4|u "]aI{2B8*a3:7-HB><0YQ:wb8X:a[Sl,R_Gƒ*viV|Puٝ( +P @.;JEe|VD'ũs*i1RDmF3 }rCuG5i*, KpdQ,_G5(jh6uPMI错!2^{Ԣ:A'I`uoc]Up.t&vW{AǔAI,'uO-~/{N=FmkBZ:mvr6L8!<~-<(dvcځx<#()#d( .j3p^z|Jre9o!FFf18Ҥ=8e]C7`-K!a1 Ȍo(Vq=X@r[)`;W+' +Li(+QA XIMrP1V>7^Y┬rp5 YCy2!0U=?MwC㓰>r23XɞOX{{P,>Oψ?\3`g1ΡGJpc Ȗ}ﲎ'[;b s(<qʉcyS؄B¾6i +`ho_":L#8ԣѾވzrXG!w8E&}a(ekwA97` ҄*Z]]sO;t 7K[s7O,SV{ᤙ4:kd61h/:c0 G\kxM[|F!=!S6XE#ҐΨ4uglNoѷހxcUcbe{E?숳\ `*$P"Oi'eh-!B73{*F9(֢LeDtb<րz),[QHNwP-1qΊ:2KAM||՜|j],ֺ6Gf酁{^-r}H܂x3rIWc8 w:_YTGsޏ9CÙQW FYy/(yWPmafA4A}D@ϓ!+͐ [o3~QjM|\SA^AMjيAewyYk5PǘbCuRL[MQeJ|uV ?4#L<~be:V1On7^-ZE<4iStyJVjyz`cz1fS +X` lJgq;[%xv%%mI੃el l>z4Ņu4ώLkS0k} !'js3Õ |C˖o sGaNIIyLJ.~.Ӗes0<ۺzXUF9s LUƧnr?pyv]):9:CX8oK:BQfY^/Q:~,Sǜ5A])A`g`ksMUj_ZW炛G~z=h;pUy5.`3ppWf%30Rz`zcɶ8㨬9U4S8mo7t9tzbPYuz1r57_ Fqqc; ,VV 5;4KzE5Wz0Mۮ:WkZLYa5x}kJi[m/FS +OᘝABnoJil] ϭQآR Ws$wv}S8]j9nͯ#O&Ix x4{l;TK&Ohf#~d%Qi֡BBCSdpc|+`ZLSs|VScUs1oGĵhp n:-MQ0VESܖWPm /ijG6\)rٗZrh7UvXGPM僱YTWs<>%aFL_}-Qi i89I酽Y00v9΄3vA~>w)Œ}!gCz*7~Gɀ;Y@ǝx(mG#akޥ1&m9D sTh&5f5FX0*Kf ICjӻs{`툶T9XÍm:SCY z- +!Rx(FwL{'T'`=s`L,\e]1ܭjl\k#-QjVcP\6׷Vou<nNsd5 9UeR 1t\Пn6ԍ8U2 WCKxu` Eu+oKxIJ kdaO6!V ){UFlIaג&뽔AA'ڠL+~c1aQ)0eEMta(cW;$Skek'c]q𝋭x +yҐÜj86h_*d_5.Sִz5H I3>5{Zur1]TUTFEnn |}!*Zb^e +x!ch̛_ik> +aj#7C:6"#t +_5+[ZT(NQM]fe))A T93χ"Գq72LnnlmD>E3_,_'V'E=) CzFc&ewa yW|];#HUa-1aOWG~I Im+i6c3*-:z|Lv4~?se{L4g@ªš?561ea 6r[Mv5 .М<-zthoG-R*b*]^j֜:^3nY;RҜ2!nt}[QR'12I`QY'&4M;}[VLSıZt"9-ySdH윶7lUd1EQ<&qoy\zNNzUJynC |+qsw3?d¯ڇz xPz;TLOa9K`{ +wMi:yœ磦#.XM +"gO>k|;Ɩp32UTB2vM2 6m u. nVZwmڎlk4&^!bz=k4{ִx#X¶tgc\iNKCvCȨxּYI$G:{5jt MQՅ^J + 0);ӂUz'CFt~#Ytסs?i ++&6U;l:߭b$U]hTp⑗E:+;Vՠ=y; Zfbzs< +>If^It01%eoMߣ |&&4 <\,Gj#_Ө-*!BGuD +|I:/Sqq?%f?i66ׁt<6ü:Ǖʤ`||!VĐiTPIlJ,%/ +hDu\2[ą6a>vt0LFmԖ%ʽG~4˜me3atTU[t{% BS5 h$ *h!^$QB@8{1dF/^BצM%v7R[45-R%^"xsxj w(vsOd`n䳤غCWShAׂ:`x=";m@: 3i̫Ѹ#m{7b +{>lK1X={i7G@ǎZ&r jcsZp=Й1!G +~7$vڲKh4quy80<ϱiWﺏ4qnn9]4y"7~l!q=i|Riݰ|- ޟ#':F_?}-jFFGq*Z]XҹbuʼngL~qbVX>\̶eVBwX[j)q5bǤrƌ:?D z' /a،M5Ǵ.u) +_DW`Jx%Õ7Ki'ëpISM)'RE멸78Z@؞\@hUkdֻ4߆#7lPM[TvK`oѲ +6ki4]]*k1-`%e LYOVc)CXtX +nx^⌚‚^J;(>rc[1a]ܵZ0-TpF2~nfLxeu;B3t:hSv<c QʒKY3䃡9uiPW 7}ŁO[oj,PAء#x(9i:wnHfx7XP펳,a5L6Xr9j +z-|[)>ģ6$&L`=&3ef6S;.`X C*,^H +c7moC <>Kb{#- 4nt:]#\>gKD!qP|kR7×j6#hp͇U8f&0z"j٦%O9pXBclUf"4䶍C9Tc C uPT>P`WUL[E% +PGHw'@[27;[Nn,hy{j{j"ӘSDLJvA2*ֺ;i%a%BaŀmX /jT彅CXbXsvP+Jb(#b|`& U8`QHm*:{ 3X` jv%18FnB!söA=0ߦ[ 1uR3TKƈ)*okmJq=JO-߈jY"{Uc;4'tn>7CEhZ I*cDⲢzfU$c$Q4Ɍ,M㔞ʋqz: BP:3XwS\rsl<Ov1zRvpr%6}ee S\PO d,ȫ$,:dÎRzT Y̷ҠLk +འbUr1/߇}_I uƯzgﹷ! h흒=t檛,((\Qr`+t`"&Vir472>GtdGT!3PW+25mZ} :ham#&"7"gQU~Mއ[0L,Y*B9!F)mH+T:!z{ӝ<7z9:)bmQeFK,7:djLaa`>ZPs;1P!l2*{*_o|R +)`=Rw[J7\'B鞂W.]r4ԣLf#i>,9ZDS3igttxM_ +_=^ +FQdK6űf(^` rAۖ]ƦDs,.UWގGBrZD`s+Pϗ] ړP,֙X:n` +! -]xŴF#^&YP,"`8_on+Qbk!kX#@pql+P*D߉'Kc*%ڑT"g'눼bMK<؏R rZJ[U~|ucϢ'spr(u}~$S 0H){ (=m{Ǯ`iz;Wct޻0q.XL&m3\{oE8x{ C{;1{F@B=[$|#t䕎}bcP=pDcMj 65Y+$RznKD-E7YwIFxTTDO&g#SWT=Xg<*W[+F*;ו d2<ȠƢѩ/߶/ ;UmY'an6; l\·R2K~htoEyn'kjb9т۟.c`4%"aQ`#s}3NNڙ:N")fA^( f׳py0ϖI1 +O=6Gc,B^P䳦u|FA&Liz=}}v-0 (^ Gtg 8SlGFfq%Ivƣ=|D&&Fi_OAצi0G m9Њԯ>J. +ez9Pܓˍ:_'GxR }PRT:.߭V?r5kƯ-wFHhꆄCό|DϢ,Viޡ'`ƮT[+QWR=[RA|7 Ֆy<5JCkс-&ҮCQ͍0$Ez+qleCc=`1(핥 ySѨQi1uF-_1x =NAT!Rg(2؝Z˾Zy'NHVi,:e!CYj8 +T_-Vw~. +yGénP(y\~>'Q`rQ!dJ1pP +:>R X +j h5TyzOꈶ~V2lݝ1o4I t}"aKs.%[y5M&_Z-Ύ| y]|[ֈs$Eݺ2&!1F1P;kƔ#,TS%=F$ $lYw]B +gM#]#̹qKgucǎg/WR}J~y=U E4V#v鍐puZy8C3mgA߈P:f|A%%Plo!2ݳ +ΊM~w[Vqr2=$F:eW:1kjM{Tن'<' +gDd޺^ f*X*jN3 +]+X"w|f~s1sw{h@oN;6x?>P*.l=,x{B.g-ed jmt68x k1"1w3_nom䆄Ϛ/2n7l,b90jֺ m!hՐˆ ST~c 28f1a{5 }J [sciQx1OΦf+s CMݢ,mِ=]!#娸y.PJܜu V@Izg^}WV#{=}Dd}/G_}}_=}Wѫ觟||͟1LtOwuӆ7__cxϲ3Kwců?_?W?U2; y7.to^qow`xyw_}~O_LO?w?/^~o___}f/7?/~7/}/_}ۗW_y\^_=W^_ӷ~_r +endstream endobj 93 0 obj <>stream +%AI12_CompressedDataxisǙ&]~{yXK8z4Ѷ +$)@vX͏7G8Co.gOo6ۛ7No/r5`/o/\=:\}m7//6ϟxu7o\^|ՋۛcH߯{ Ȇyج+G۷z_(]=xyE4/ \=ylQv~/_]bo6tooo_?ooo|u%rt7?}Տ_]qc_|}}s3o*? y͏5_x}ϠTUr,_^goh'8P**ss]抖U[l@0Uq_:xw0x84uhq>x:^:ӈfN89'w',W4roy+?s;4mߴ]M';;@9v +[waOv:khUv0:ٙLgmp0^xͩQ >whlk?Ov4tBlfߙ*|i7`xfgw~7v;.^cJf~?w} [h,s,mB᯿ >/tliCNUk"i7XY?Nf'=S ܣwz p',.v:ӎgZLiiF--\go|{6i1.*+qv8s Chp*='hO@gPŋsJ X+iVwU> +2_./Ǫ.u7]"?MA}Ol\ 8ZQ{;Wcs66ssY6Mn X)؃k;@v[Y 3yAq Si={hY@t~8 @i*UNy]Qک:: Zhzҳ>> q4vh@Lm!Ҿ#hX?M|hTV2LwXo ͵j;Yml4(k=h~bAÊs͹\w=TfpǾmZoTŹs#5$${az= +:N(Z pui|=-vV__c{~-#˔R %Qukj@cj={ 27c4s@x?2<6?Smi4^vX,mqà!TdH.'U=0X7\J^yz:|aĕqXW\A흞giLVV_+x+,7y;*{wwi/x߸hI),(_ [rr_D )lsF09e˙Q(U+Jݙ2 E8n8n4n0n,n(n$I7o)`[8|y\[tF0n L>;?Ocg}JzGD^n6r*̝۬ТP^DU/^͢ꊠ0AiA+*.DuNTdPEAUFTlj#(7(|{QqD1gUuG'Op$?C_ދhfKS'=><G*n O+CS= hQL酲2!J+TFPNXҝr,B0$ƁS^4Q0 ݉*"{-R#-?ŶT,|,|~}" >Ɵ)DqvRC]o)l jeCST{t~8tEy_DH%(I?z(}T(y081p3x-ƀe+ _U|~-r}eS}1\4bl I{QP@E46vxAn#v[¢T+ pAS:bZf) +'|1Z^;){AAqbyyz]G$ڒ]^ [6Լ(et{JBCNȃraN88@ANUmqBROfNT)}\\QdQe iq#M;ҕp\%P9i +#xw~7^2͈Ǿ8vVBZxBz^^: OO:/9$; WH部/WHmIb˥F8IxFʃLӀx{g1pe I4*&[:NϞpݣ{3:9짨h6ءߧM-XPR[j]Y;+YݛoD EPWb@VT'aeqb@"U2^eV-erY\ ֭a`سpX^1֓}F ==٭l"ql^8~^8/+8;q  aBdin#@$/q# L \ILbux33$fr(XF~⠊B,sG%S^LVlZC6W}sA;X WGA"BA}S⛼Ih(,ŘM1ETt,D^ܓ;#Tahd Q-Q;DuX >u誑4Ĝ݊4Bv)!.A.8ĩ(@BQ\ĝH\5"t?Ti5w:nlrR/N? v.{W[<N7ShQO,CTtjZlgihSJgU/jvct;VޕkVv >K}hjk=쁓v@Кܫ8z(;j)y t$Djr;% ~E9 u'y-/#0I](7$9 Β͒% %%1"9|9=I"tt)IR'#|]9C!CU3#qq,b޷?>$qrӋ`-@pu;ې@;(t{ÀCfMNAMPri ?B&Ht5$F]/ݠ#-4˞%wdgٽyߙ +T4ڑIV{Tsj] f]hT*\+V:knq.$@Lt{Aٹ=}Zv`kۭ ˕]KW{i[MeXƩ$J9R_ (Ag1C [lWDbX%XLsJNN!.KM(S&&lti +M%(o..Mɝ'w& å ;ET%AKԔ/Aw.@tX&LkNBe Ǿie"K̇C"lK!)=X<'IG`vJyҶܳ`2&|Y|)]lt -{.u.:]dGjw$O//_onxSt[=J;']EFOqmd1)1md܇6U^ I_%hmѲ=J+_kM~حbaϴ]$rmcZ)A'"G/׵NJRRk%kd"tM:1[(BU裳E{IP0D[Be ĻO`Oc5x,6 Ə3zꝰGZ1%Z nYdn}Yrp/>S-a&1H+/b_t!Cfwc  KM;ecf?df⪺%󒘑* ̚&o XV1 X@cRyD{"^twy}~aoݮ]r>/ق0tzʑ}qb︽ۯz yjopuω2y\Dcvqi3N^fωHtK] +pL=ϴ5sw|=\S1uuG.J +nG=VzY|_gee-zikvg` +uyv"Sfػ b'I,$<NZl\AmV֘=O }ǕofF +g ʕ̋d' rv S P(F*hPmb&0m4:ۃqrV,gy[XYyWS VUR}<K*(}&N$Jqp(U Km"IcY(wwZMe96~nhEʩY'eBhu. +һp'Gx^oA.;QNBHumz@xƔB*h(4 JP\0)ROZ+[ p<SE7/C5Se +2y eTGEXY)|ƁH[+Zho'\U[]3ɔYc嘧9_=: cjwt;"t?M{WӨ^+Ǖv:^]M+wZ醪,*-T54-1 aKK~YMmBhg_3YԧuGϘpΖP sXf8 rv| +;%j1`qJ>|nTXqPKxf 68 +WM؊&I(2dj +fa *'#C#Fg2T, +2Wi'E_ݵ6VE{lK&՘W}Y9Y,E>m1ׁ~:ɲNtG=:ePz#s_$LoK#u aV*;WW$M٦L?1Cjڇ {W}l:ĝmb&1f}jUrѲݛCbŹ?X{Ǟi%r`H%f}b ~%Np!]RydĈ9`щe<>PI&5' ӝړEPĬ*[hQq)j 425kWˤE]4.|E5zT!g 5~ZO0q_{ZjkُmqN"nL +lsozT(f#!cڞ0GAKŒ]j^U,.fcѻ&ͫY1[`?Ċ\pJ%K9j][C~/ct>D]ք'mxЇD+6k3Y[ZI7+q%S}Zun +=ζm*[ĭI֡^{pBMfCQG88AX) 1JL]%N>ν^lζ 0ٴKvg/[mя!2`%dX~͹ME@]"T[+[_uUKCj罍-d+ZW]z\qNy+M<|cS<TWG-(+$_R- =ӏO!}rNLsLD~r=!Ṇq4ν1zƓۼ4=u=u=u=u=u=u=uSXW2y֥M}Ld8Z\+׽KQƸ̧W!c +;Tֻ}"V<xa),OáN{}|_o}cTt0ʿz 0^:=Ѧ"-j** nWR1)ɉAJ)S:QiJ#ױ p&zFV}4bZ Q[8} L}!1BEoP2S(i* Wt2iU(h&jٰ(bR|TH^sRy0pX@Ȼw$)9]{y*[}&d:O2r ;68/%28G-AySTr*7)9:֔_DCU8(WDn'e +[Rϝʚ#ʹ:<!ؿ/>1>_j/)Wxƿng# >r`do)=iB:m8,ed +#Þ@Z"ɏB =HT?{[~uk97G1lQɚt@_5L)j6RpQ+ ~[Ds-vPpU>X*w6ůyMK yJT_ΣTYrR2Y8Se>cI]Y1Z'!U|6EN´A}uQ\VBj UcA +@Cb5 c0B0P K#f?I1g%Ta*,hѼ>-\QW)4qCNM4^S|k$v]q=*mB*겋ha+ͱkWZKdKa{NuT h-0e/!bZPNdJsIS.)f~)(!' RHED"IO_X) tؕ0ȣKCԣ4fՆpD +2>Gi"MIdM%tU51ex[DSh4'у#7`ڢz7{yEng + lb^p+-FJjtkʬ  2Q|3q$  ّ8gboB97Tb[X~K01Lt2dw1/C 1GFr=N6Ix C)ÒPqdP,+cuYW.c\7d"&_S +fl%(}%Žd\UK|-R^8eòa8¥*YZɅ҇eêa5MNbgI:C4VՇDI ]Pd-˸yqy#*j6r\g"~ LǢ=umc}~T{K_$V;Md(9R^(ҏ=$;Iij<<;7D2ˡ*:/n*:g/JϼWRJ{AZE ѵ#[H+j9hm!oؗAjyf5W$a@~֣w:(&*#du);IzB8¸1VR֚˃Ef Uݱ,'5a]kKt#%A}OgLE yioʱILD-|%*lc8FiHĊX>!Vwnuzg_"ًc{}lpz>-N8B\S!N%Kb}g;*k ܰ`=N?sCU,pHBY3?ldWo0)a弒e%ЅHܹI{o"d UN#}OzHړ?x-xniCDU'>ypcCї' Ŀ{׍1Vbke_YŦ"^GG8:urc^:~u]-VDNSDj"1 s~TwE.UcI$8* +WjBhLџ)4Фb>N9;%wZOD;Pe 6qp4u/&ߚ忳!MkS%i$~IdDk#٣#wU$bXG!.y":0GV10DхuDaE k}lX9>wc#[~7now$*s}R$>!Vʣ)]Se)dN'Xc%s**̈́e`Hn e2,4m1hqyc9Y|HTQ#XwH]z$%LSS =^u>[1Whs4`G_2ECiӣ5LYY2P&jq8먭M(6-=>u즩2.Uis`Ʌ ї簠K]cE+mx 3ZjEt+^m42v][{ɯkPtW DS(-I蒍x,(ba"yIa6Y$2%ylӒqA2 ] HRp`#?&:\Ky)E"F1 gel$Mc +S+tZlL20J#ΓJ/*Ytm!^ί⸨ӥCeNoqajmYH fDh js>x&pgq#j7>t +TZVb8~B0QkLV@t=GS+ut$^Zep>/CnWO 8VO 8>%p|J)SǧO 8>%p|JX)SǧO 8>%p|J)SO'u[oniO)R8~vQ֪6.Z:ztr14~,gKR$Ct9F7S< +:lbcWYg)V欠=tgK.X2zH6!5c`R Fh.BnNIM+NeV.O9=ǴVrZ,`$E +KҌƴFB P@ .f^Xэ+A(d08Y_)1Le"/ "yY bq +Na&~G!KX&6nj@#9KC:ܗfT L +{C]/x +7z|WшWz{])g%n$?z3PakyCդ~i0Nž֊>wUzpT. 6zDK!D7X~I)Kڕ_M~:g1?!])c +a ,τ Sv°gU L]⡩p!G̷q W.q-|w[Ac1c)d"x.`WܺI9 9ybYRf"mLG>46%)6Tw \B)}t0)?J /(hI)dgDSK$[Q}n4B-(<hI&vd*`>++Nb;!>b{8U8b"}'}g׉ygL9{}%5q/;vifM+-+|T<(~?=|#bge:+;+wS#J 꺳~Z)33o0ɀm4=Lb ̉eji}TYMi9'3`YyV^R+lњ[Zq5>YOҦMg; U5#;ۺfϬԣJi.n?X{] +Q, EAU +59/Q[ĵ,H׊'\ mU+aXDKř1^*3sL_j,caRM/^0̓%c8׃atƕfδ8QV>4+*\k(i=b'VI9|b]<]>Y C#(BYj}TH6QUs!*)IX(1Ub!ĥOXRRE.T޳)2O#uL۪;&Y(LFld(duDHt|WӇ2G  J6WZ[N)XgH_ar q_=rt=,Z灆l}=G.țS&eog=mpb.6up7YK:4jfWiu⅞,k2UZ/ ڳT>Kbr;IZW^+$Rr UA6=lGcݚt޺v 8WI=Ď's r*rBBƙY hs9|OCY׸Hp<ߢY^t,IsŔؾ:sĔ!ɏEbi!*"+ݹ0nheBUq]?nE{)VՖ^ .0=O*Zr?U-TOn5,0P;DQ)€,TN#ؘ=}{ZjK=M;8ZqN J zO!ʞ2MV^!)3﫽]Sꔓ_=ƞL餇}wzr(r]hz.%xdi2|%MåJ/-Rm{It44a&,X>l VOKVt/҄r6 M/ͣԣ s =yLj{ՊV%UQJ$!e|^RTJh*!$AUiM뤦`ONk>nư˔=v{S]90g4直 qWDI#b`GIq.?ANfCW+&hU]ꬣ1 ߫=b(|߾{ugxZ~gI>gzqWZӯeV2;={gFi 8yܪDl,ی~ڂ ' +6Tsjm~9l^~.OAP7n~mlϫt|w{w|ϛ5ͯv_7}Wݯ7'oXY// azr8NRAA 4jLV"Jje֤zIH=O|Y9n`[zՇ=k:Ǒ-؀o";(opfk'5Y#h$ч3[!tCxl Ӎ5X].^mëG e"q ;&LפךzyXn AJeC +|… [XLA\ m,+N:Q*Yv6Ӝ P"+MbdV㯙y4C"!m[,xFc1D4QE`>=A@ ƣI%);Y?ˈI?0b?\\eaH梜}zeI)35,lώ N(80,=6֖XJёuiȠG_G1ۣ s vPD1+/ă +9cJJy DG\ni/FJ@;mAErQr+Xy!r**3'Յ@[d"6z['!D(:2WY8z X#$x3p/F먑o59 zӅ\iw=@-gꔠXQIi +P~.H7CuJBՀ؀wU3T[gpQءLG܁We`Y3r8!4L{1Mޡ +/|̄X 6H +x,G3܁mѧC6h2؝;=a0* c&@:̈́rlLw8[2Pݎ7;\2 *g*1i˳XE:YAz\<]^& +YRB hz6l^*zʎ28'88!@!fxb!Xs^9 +f 3t'~j*2Ϥ nm +m֌l'7м7x2gtBq@Kfɓ8L% &p;1Žri(*dV5 +xVkpHU   Es*[AX~+CrC<ƛ'Sް6pRuxK|HdqO-"Jk oY"hYvaLFa g@q<;.2H*6 PPbx^p9~A ΐ3] D+X"q@ +3#&BŠOtڹ +J-BDٕ8.PRd(R`_P'= V[6y%– h)y'FyRWmC,Y`AZ Mt:'XsPc%0#[̴2H0`| #;`B`Z+@b-TY9ٽ'F)1J )τXzSe4P;(!pj d˺$1U8@acb2e `1몡 ''1Mš+ 1h] L"~ӘpCHvbDK2FYsPMC +I7c꣸Ɛ.̎A+CRkO!gaxɵtP qa887}"* XX4, c!Po/W>Ms6- 0aV@xP+zQHJ5`30h}bG[?S"f;tr.iH_ÐE/TW$`KƱmr!~|4 .8B{Fs-1'2ϭqي1t͜UJ8$-Ē h?!ǂ**01LXKmA2)]pT& $2lU-a &EeelBV$Sֿ[az/Դe@,{ʀ'2~`T>( h>X"ϸ|ܘ)է nAN|LfyUd[E2aHD*%8xB$o1R* Uހ.3qO}P+K ЉQ`EPJW!P S +a8m5_Ea[̍loɞa"ӏPaP~+>0C+3)4k+>M,Tc^0WbDRZЏf9eN as3?K=]L >,BYDX$$5$!cl3mb7 f)DgÐ.-_&T6$WY7#i1Ǒ8&,q17&'OL3BM1=#7r}ȹ('iF$.pKDf2HঀnxZ`>է\%HCyɁ7{6ITC¡SIn0c͊c(h%ASu*B52dJ_ބ@ vyJ/"tpzthÀ=f>% 0u((&AВNV6 >ObtLT`1kH cwk5a!*8\*ax^~Mk@*XXҦ+Kv"O79Q>)sـ3ÎcᜢxdC^[,# 1aV&J9op 5oTy]i1V +_'L܎c@91w#-FBq^xbEͫVHK +x@` !e=QS#nAF LAM -a}miǐ +=pY8C&ˈ<Պd{Ey ȀF}_X՚,Вc +D9 VW?Fl +W˻En }4UF%4vJQW8v[&* mV1|sFڅ9wgM;eӖN hf5yF E>Qc93b3U(ݩ]ӵ|Zk} ^n0}O;n+XϨ]@{%&U<zzLHkz:J*;IJOL:>Ԙf{:`PM%#PХP=,BEAߌn$6rO!r)F8904dUPD[ EVel鞢hđo%`S =Zn{͖4{BKdshi!„Ld7L#rITkY,K,LY[Tzt#7g9tDkҊ0(ۃTT78q1d93x0YFP/O&gcmm*݁1muA4IGyȀ^\" ާaf/j7Jȧߨ*'FikƩWnuՐtQʰPF,TJsEA;6p9JYZfFwJ A$; UkHj¦S:g5{NViEAZ@9"14n0O2F]^d1蕌$%Bk?u1[iM/\Zl΀1CZ10jJ.X5r@OX'9ctڸ@6sotvZZOokG߱:nmZkb5F 3mog #H!+YS&;;̼j ymNhgwΞh_źտޝ@G:uJ9,wuXEKT{ߌw==BZ~s&xe9Y:.'$sY:_At"k9ssPb&wĔvGS{X]JLq1 k\:<9Yu}盵* t]9uJT.tNiu"XǪ,Ȅ&[udQ1w+5y؉了i]3;uE㹪IYvzt]aveR9vJG{u>zGSuŝwS^vnέRNZέzUye'h)Ou˼vzε=i[_NݹҗӞw_WwE ;HƄ.Za?Z5@2ZX@D{֝>jdL& +&$&yr-fFrl_cl0 \͖<ipFɎ,L=cß[fژz蓽dvg[ĝ%U5RƍV+ c/ϣmᙽɘ"3EǸɁʺn #-T4W5nMZhmM0ŷ[Z{Xu u)4y#t@^91t$>ux8KF0hwC! ęsd5M@\2[KQd)D Ig3a ox$ڰdzb 4fq >04B`Qr* ^$4xf 2Ի#~Vʴsf>h(2ܘG^Av?͈j>N+z.jI,9gǝML Y{qwG3YTF7 L!0-VRT B=x_{+}ym61}eg PfN,&B< FKaׁIFʿ\6+0L)G bv/yhӍwPxs\!'*[{rZP 35tœȏ6#gr_'OXbˋZ؋{ +=փ=e*ml bU.BH9xUɔ@4!r21="ـhpdD8w| 7!/*Ql(׭3x\AJG2me ES0뎹|@G.h{DS-%uRrRNsgN:I +B;)J mT[D2q&hTpS0^x~ +R11`*GGkwJGX*#wDS= 29&[!L]"wЎ0nh֊$v:'řgeu|aڶK +kJG*&Yv 1+ՙ9L.(xȨŠn1 {n/\06+<`L8,N6ickw@߀[b`jӹtzHk?ꉱt"QYntTQlo_ZDA#LSfL.JDx#}:=ֽQޒSK[1yL3&C"-~lɄO^ѯ*tHľL*eW7%X;0 @wDf&' + C[d-iQ:Nieگֱ>˞tBO[h =A^;9hZ?Cs+?̈́2)[wʞDaVyJۋ<BMaX>+RU|?}Vzr`+ D} |0Fڑp#GfK̵ R8LI&jq]$u+x/s {F!B +3_ěg=H83kc&eGg!/٘hftejA4QE]NgX#eb̄=AN8}{iWVL9 + @zEaAfP'g:!2'XNK0$ZxǎƙY' _>FQ7Ǽ +wXf8SI/0G i$3h0gԢbid^eY. .R7)O}Pk({tF)`e EIK-DN\c-3))Yz{d=$ CNJ P9. +O׼Oa9eڍ94K40L`e,ci!J9Vh*ǪNXXf|fbX+vDmL0|ˀ& sճ#4S[^O^L2>*t{@ȵ_:CUgϐ 6g ;C$[Ǧ2%}J/2Jܚ0YIJO`*K k*.Uu3S εgkћq]d?!9S<]@q"pL<т/~FV:27VHF%DIb!LENy&p"" ]& dq8! ^:$.|ED[NAsxqA>&ekg =Jy$%ca DƆ6uFԷRt# ~pRsvd IBR+DhAC np+CP"Ŗ[f2Di t"Cԑm +FC\sDeϵcb!9(BeHׁAhA%s2 Hb&ZKSX +!e(q< 9 +C|*SPՃy9ذ[ hyMp񮖓[$&K;dER$1549B +T]2 C'NI8jH!|勓WYݒ) E}ZQ{Z̬Z/OxnNuv@aUz +9 +-Y:gΕ_W?]]]$ng]z̤K?IWӓ ;v$ION=m 9W3600I,siω(ɹk)xPN.z}Fr (,e,1]H1 /gJHBD?3Dd\fp spx\K=::\_B-XQr}r*2R,c\{Z}w\c<"[ѽ[ڼLCi!qLq mtcx +ё^y5ӡbQ:r& 6bV?.D(e%gÉ+(DLwꘇ\SéЅζN:>IO3#iݒ3͂H_T,5p~s:U^ QM'F%y5MuCdXtP{쬑~#.h tz&,zLNI.G(m@ɪ/J1)eEU_H3tpǾƑoLqĘ!<G oX@qƑJKh+E8tj t9zWI"Ggp)rDnoB"GT4niF8,g*GtƢO̰p*GZ"gYxrōpDX7UZr$yDO2ʱr$!b +[|\_anGVיLj#W(5&S].s]6Q?lg'W7?DE"1ȳ/jDIދ%liyc/nJa\b閠ݹFΧε+iDF0  KHKq}I#N ])#굁*ڌK=xLpረiè* =Ơʙ:CU|lJ!G.3r3d;cHuf|7yI1 7^5 >e(@쳖,= P20 W=*񻖞m m=!GR v3fWaR=GC&Y 7M"@вh+Υdd$!;=<2V1ZM$N&ӛ{<'8ޣD猭zy 9g=/z+YKDl#;/ܪo4:[x్# AOӄj-]B~R³QF%`z:)q<,EcQӜГ!Y/gUvTf7tY4Dh<g[goeAb |<)+!FR4Hx!R.r jr˒XW+@LS +/H]˄:s$nN4m(r^]j@cXkW ϒ!)$`aHdR=PFvkI\U jaHSAL(I8Lp uE zMR<-!ȲL֗,Lc ŭ$93iɛ k ;NgR?wd7&E  d)ٴ_V(hwda,ęR[\ sd#dYVNj2m$=3YS2njki'C8z͡0#yˬߜ(8I/)Gd} #cv*yiJjDEt ^G̶:YeWE!f2[NJ@,%Ut1etI{ +.%vnXf-Z bY8`M!EDk[ eb{IA%+ +ODSr\`Ӭ$ ixוD// M(" 3ar=Ȅubm<<S5Jr<=F]1[yˡRtɁHu.:4L vU4B`F}*@+ vq1M(Gy + ,.ȽRw*DhXCRWc4b|HKJXKƊX2Ե.ߢw1$ +gWpjiV7|LiHÂ/R Ks: 0H wIROD4QKHDX9٬ꖈFԤiKN(W2 J:K&M :m'%!Ҵ^-L5"",j/rE~ :$9_(-C+){Be=&(R9M'i7J0u%3-/b2Ň.\}F.#l+!W\-0 즌HAd4 +prG/+ Od $'~b#ef:%~\ ѻdbN'–BCYjY3/=ajA95̴@@5jPCoLB-&259ͪ=!U>/L-w{ؘ| H"XJưO/a!s>1DFv r'3F/F&G9Ic溅+ZPídω"Ozs ~Pv$#BnDzRb|iHdRf+螮j^e33#24Qv\Ú1XKN K4v]1AfaԋlF]+zWx v0*P+C\Mմ\⻴^hA:Q,.#Y:]2xsb +k'mHS..b:\@v}fs*9 D4K/j)wyQHX'LBP'b'F%^Lt=qc]ǎ^w#{_&.geiti/;Fe=ft8;)̬jώ#v\|c׳vJG %T]c-3mM7|а9f;vUqmlmm$t{;f=o'u9;YC%,IZ 'KȂ%M:A2eo&GG92e$IΩxŽ\Qt_RpѾgR}A_}$$QQ&.yiгd5z֗^Mie֓wZ.|uh5}0u&K)w.Ҙ~mr@Ru:E^[U@tm%^T`h5:gWәuD +W*EjvΝvkA:xOlݱ>nqZC@!N5Ӎ墇q:I \~xZkOw[;Q[;,И2iZ=ibgWkT`gPhg[E9ߝ%Cytvˎ%Cg$YYtfՖRٖv܊4goK;{qtuWwHgNJUkfؖ=eXdقaeC{{gȬS\MhfɪʌدkWk` ϐB2HfɋdbƪĬd[bsa]Өj3">171B_r2?͉n ztE3.+Vk]Jbwb I{Q!m2bEfF=t/ԁh/֒o] +Pš1Y85vS,HU PR1 ̀= Ѐ]]R*^P ݀ E ^8 +*n??/t(PڡQs!BƗ= +5u!vK/wc&d12ÎֱPjTjdLbF CY@~^Rɗ;SW"/[w(X+lb MRyw2Shˤr_=F ʸ=iOjB ..p;".ZB L@Bd4LrOI"/X)ԅʦ$Lg$%B O5~z7w0k$GY-5 _uV~x^޿Hka_'YXrAk=?E@(_pb/%8p% +ю(orBTbuOhby~M9)W2lXȄBԣ3}q}nxfe^Ů{K:#Kl#I{>c?Wqc,+jij^c߯kqЋEzN=OQ@x$]yۂ8Z@7ވ ~DfȻ2XS\ r? +IpHQfuN*;RDDdu <%<=%,+ݍ̳?%27 C6Qoȴɢ@Ѹ>W:u`f}vo= Laxe3No2Tg )) =~|m|.֍qqY<;%.%ⵉ>F/x =Q'W !q s5$OVb0]4YISs+:>’t:^s&ocɤ_LՒ<ϙf<<%y8k{e>/j؊(\V.`  vׂ6yr< +4<$2UNemYlBj/ w²U%L3}PGgKjh 4B +A|:QJ6QAܪ`U /t:Hz  +YF~3`'u!XvouJaRQh/S ξ"ƍ+ޡUb;g*V["v:;#A +7S@CB +s JVfL*QQl%WTq*V@)G P?*XEͬ_wq_$,r[XͧGtXv:oN; ébT01٣D# P Hz%b n \eb +gxؿH;㥊 e!3Kl酊 -{(W~'i}UZN'mG?ϟw?5?y)nl')TMLgDjp(Q̊d3>Z!ҶQJD| @PpXhAG3;5#p}ib맙&a5OÕ0E.̆}#o5a]>(>ʠ"jAYJ5ws:[ wƅYnNۇ+`3oѦ[=$ҙiwx8_u ȣܒ]Tl5hvAp* }oPamCbw-p/msgɢh4"e??1߲%;2ܮc,sUb;7]5o%<*s{#$D1Oiȓh}QPP+( mmQΊVYQCēE=[gZH[`W +V}7 J̄$ppw&qu|2!MSaa~#h_X{>@svO)~pωI  Chg6$g'A-~r.'[_0c>8 4lCf̐Z1@NK^]peq4י-}" $ ,nh 8Wor;7H]H06dIg &XtwE}(!cJ YE2e Z0s:95l쫯9Yti0ow7ekm~@f)^T6!$շZ\EoV']i_i +`U˼;oDbT<6P@&N .l/Jl,Z .Q)evpr&:"w}8@em;DZWє&f4 ?00Wůs:*: .N!8d^I7Y[3@)\FH[;{~Nv8=-oQFp ?LY& X +eS?u2 +bۋ\pTNՃV&rA&U3B/| bmE-SmhꑅYЙ`4۫G^+uc'9!x˶=E~;,e~ +{b*s30]XrL3f+z=.Aʌ1v'~,8~l/BzM9_:Kˤf~%(s7a=rcv(i Zfi`WBo+eY.W4(t%7-3PS]$f PoUvP{3 /C Sb`խb32TmHE41BSDzsl‹!։pHep2m+6~]PO1s)$E) T[ /aF㫅ѐi{f ~f6RT v=zPD W+v[Jvs١ԉ9!B7h&jaMMd\Q<wy`Zj2Px]KvzP #&Vڥď2 ŏZ|;FVoQ[vHFv#p,GQ͍<Ĕ^EvnjYI@OKu[' +WGbۮѕxV&`%bbV¬\ b$KhXv8½+/W)e:dv/%0j5J*߬_ܒ #a +mĈkmH +"7X +l藶_28dLi1 юZ@1V2%֧ܣ.ul٠ _PZX4=Y&U@8,!mL'=Z٣=mGU L5I2~de#F0*VOҔE E̎w(p>ha37X>]I ֛l62C-ꆆlu X/}~#-xآocDr;3p ~*i@P7`VjUS6]Ĩʓr_De|QJL]#Ti@W7Dm\ǚZycv%P%zfN:4c^4[!xcߙ*1s +wbp\[N +ݟ΂UVI;!LuՐs* aUmQ(:jԤ]HG֨Suj9/^esIT-g9Oן={yb ,9{f#91C+H*hK M|g;7n{t"2r/1(hq[WT,uJ3Tuz$t l=HX@C,Uf*S̅*`tF(xd<Z^FkSvw{UhƎ9&vLًf_AD011C؋Bd9UUU:S鳁!i>XˋjUK F ޖ?GćEê +\Y5z Smt3Q;t3h|3 'GV-]&v߸I|PxGJ{Hh/ +t-(i"Tz q+W/Q}iH?aݍ3ķCe+$~Q]Yn! Ǻ ``n3dE Zt iͨq䷡cjR,m`GOxjfk&Fz[ sI +ОtVZ,4qv6yyL0Hž(g?!66C{G 32ZJq0`@:0Үؠm>Cbj0U<>!M +Atq*J^c[cRec+fO!8!~:gO=7s>Ce'>qJDzU͓NI{=~0\ki?q_5I,?o~̼gx" B̼(Jl[Rޑ_ոm J %n>Gu{>{8R\gzg@Qo^)CwH +UIa&MY6bim-z_ЊFRw#(8xfWsgD9vĝͮBy* h|/>'XȖItZ+@9-S"X7PdJ +<"YOvԁj`.Лp\<L `bP-z8bv +^DZW!1[eVp4L^\Ro¹[ :94jǕ"a m)8--;kٶSU`\W΁ji bS4 +%8Nʈ+W}QߖF#9!TBw@K-SnPC!}x=t5#sfsg=u9*9 kn^@RsM-ؘ?F9Ef'Eͯ<Om,"\t5[aAcc zbO6XQb*ߵ9`0o{B{zRhZe^ۄSDÖFg%D>)!ܕЦ᡹Z{!L9WI@nJ%ps"Ǟw{TF496"f:BWk`BeBpH*8Z{ +n4@+X<V\:< \ؼ"l+@C! 8u!켰!b X~m:?C0k F z#5$$C]gG;gYx2㋗ͩmY猌^gt\My|\_W>~ e_Gj+a g0B(6U{0bY +s+fYX´H(䅉P +˪b} 0>35κ>yB5]khYםFQWai]R=\xZXԇٱfM0z a-+ݺh4N_蹄Iu&LOJFqq~EM鍷%iN +#.˅x-Zj^EskOojݽ A]B3w>dX6^Q +Cx_ّS 9^R'[4bWfA7wգs{=m ۷u(mT-`cGBŭu/9~ܔ737ó 5;qm疽4<fY¦ aHDOp~fDF<3Ie=BH#jYEˎA|ƙOB13o;y( N?deo? $[YcyAOGqYnHv JHzmqc(9R|_ϼ]&.<{D1sQ $0r+>/T4-:bqtte;jzvue1h>,z>MwiKo_M4=ꘕ:r1_4c^s}qD 6o^;񻙡Mc۫ 7Z+Rp^&a2i1ʯI{[g=>{X\(-W~qƦ%_zOMg;Ka*]Py8Z|~k0Df`t쮿`20ca4H\m` n?5RM"U,2LudoJp%yPDeBhv錸-w.gʹZIdj G/(XV$%exj_/\XE.;MJ[TYU6,ʇ.&VTj?dw +P-/;zJ,Q٨'rtMop8 X8AJ״e3 +Ty} ģjPh+`I20'Ә(#ݝ{Ȗ-B9ہ'|[s-rƖ*.al\Px6} R0A)$7Ȟ񙄢f>b@ڈPʯ& Qx78s;ģ uDefljv3ТvqձgO|p<#6Y9G_0-4?V*P_9 yfo.-.aq<̼_Cw4,#-}PxEۤӵ{n d`aWIJHzNSRD0`2`OhwpԺmםep>;9:P)b yַ`A +N@B!};;d_4Yx/u]?J0c] ŏ~ez5 >rސN{:u qB08|Aa4%K ѨٞOPpZ0hwe2uQ4g936q2g95\`ID* CV+:xڝC=+E+`U>7p2!P4١wF+{ѹ\:׷)Cpl"$]Udk P᠗vq‡ypČ;HTrJ4t0;$4fw8ZhI8}3Gm(e;k4% O@"]mKB;i<cȟ;~TRG \ޖrA z qqο#&Şn, wtƉg~a;pfM@mGލim³(;,Y֘ +6m%ެ1U v`ˆޜA̢.&2`_2&SN|9Hsub| d<+3lLFKLAo2zL&xPN"('c% ~(_}_x% beV/!8_6ԛhDP +[\ȈCdڥD/$LkS[+^qF>Yddj 6whY}#ۦ߷)v`e  ES[ME2p9=qloMiq=t4Au)Q +cvé2M:8$r{yTlF/`ʻo$H!wѾ~O-M'}`AgA%Z?i +v>(KI/gP#-2ņs tXB>n&*v"@be}Eio:/7!L>%S9&W%E!*4C*HMj7pc7< AI2KhL( ƫѶ,3vp(A_-.!e^$7} uWT*VJ,߆ 9ۍ"CL"$*[=CBnElס2_wK//!n)Yh.MĶ̰ՌA6_RV;RP2Vwq+D: ÛRHTBfՅ92ȍa~o.A=H^"cWYqe])JMJې~骊gO0=SgjSqՖ\d 1A]RvA;8%Çhyv/9QW"#uXX?@jCBTP~H\a)c雭v;gn +`mkLorSJ`;Z#7~@J-kAxKhTw߉d'O _FsW6'X/;O>e,ީF'/\57Lf$m•EnD7=ł:§ i}§E83D>͂YN9ʥ)r, S§4) 5ՅSz("rj|іT}_95B^w2γ]<Ms S;GK<;Nv;ſZÊHu o`K_;yߕ}_n v}זv3Ę<-l( fd2hCqTӲ 5gN3^Nwtխkٽ.u:iϯj bԻUo]%ZU. -Y}]A-9E]I7\%1'Pw_Sۯphk5.Zui]K2&ތy e OKgch#$|PIB?).s & =jt# .o˶t_.@ Xߛ=u{jW/Ż0(9*>fyc_`RNVA!ZpF[Qx; +ʃ }'L9`;61WS3xCV>v‰2WjT&Pg./) &OUL]z>J5xSS:]8{QM~"I\4-(fYQ혷=gic?Xr6p">Rȳ+HYƷu3Â?EFBo_nnb]7Hr1Sbg9i&|X<;1\7ThIA>* pq[NTŘWh0$QYIgABo 4nm`*?nCK-6|JniEB]]3B  *%wg>ImQ |eD0Wԉ]9.\A'}Ű>z BaA4FAJ +H7An^?,Y/9Ǹn@}KUuv(G1.yEn.6 i1^n i'Up]4oP"Hœ7??+TM4:2ǪO P#r0Dk><_?$x N8l;H$S$>!`GElAnN$4ۢ~܁Uru)->[g 1lN 0ۅQ8B%=g (Wi_I`ZBHx< vGZU'CY +nS' x<ըG!Q.7aLl4O"oTC3˝9;%q +&9ì9~P ~NfME %]v|=O䡣5Rq|Rʭu~{PB\7mib\dƅ?U[I|՗Fg{ ~kFrʲw<-O4ߢ#HmS0eyZo1 v?DSRrh NQT f>͝(*E_ A`\@-`݀2t_4’~O Aog-_t@-]ɔ\bW'Co 3vtT:0ܹg` n>%m1H; Q5(E~In +7w5(,X.dlz]:kYڱ ^4Ŗ0BC!)פen$kp,̤B&k1Bvs[ 'wemDi?-Ue|yt#Q럖L,?<^ i,=n"Qa fN@gKdԝU\5]F[~3o(ns +Q=/k྆<霓 `/^lXvkϏ4A ٙ$Pa&'#[UԅvW=P&ەЃD?t[?wggil?VLQE麃EIҡ)*h$adGG{ɶf8v)G*0phbnI +6gԼdls4 +\0DPP81ALxԎ96X9X^s΅D.k t~)d@T~C3oo&vmK[9%폒)cQ}^3Cp %\?"KE$d +.Qʔu4H2i(NJ"|& γۛX2 yQB{AL#uMWɉ;$ ?;~_"Zms[:$Hy&(ؙУu>]&m9㧜Wu/&'w 2!4عvmE2KK +.IPz yfA +DsAHI|-f#2L~%Ib;~%VљC 8uͳmtM,OTY +k5Q~ΖV}FG].Q/S48 7Fy *`dL b ]W@LQ0``52Qo<㵡/AW^A^"l ;e$fE-ZG(oU81D|5Ջ+OWGM$mC;gّ^,i3OZ6!mSx8o]!. 'vpۈ1J./A}Tf l}Х`]/4rq"IJQR govTA뫺/WDN+"0x;$c۶H4Ũf-Ԗ%_W0ݨI^u sl|UU#F SaaA3k$ [ A`5a CXC$Xs[$6>)Oeh䥀)$hX^u Φ%/yPQD>;S^$ФQS vwOgmM" ɇ!ooUܻt*K ZPّddGD. ZɊH\SH{9ӭ@LA;>}phgO5o1c' ˖R'ڜȬ93; Aooɯ/1ni'p$;V[rsĠ( m8qf\ ̢$TȽ;b;y o9* *S¶va I#nR.!B~- @۾`˖CjYyR6(?XebyBդؤLEcfBh_ `(D:"01Zb +11ʳM\I3pe2Abp"C=@Xu媇*`Gv)j <ƿ7ob/Q龰[(X[EOa'.- "Ym >BeS,}K0X+#dfKک6`?tT<5 +kݦ1 +-h4ʔ>NDOLpzXgod;Cdt֎#3n>pPb.Wp!h40 9TCֲ& Ϯ}|S-@Fۿqa1NG6m;`@W,LH2r^D0@4j%_AB:N39eN4)6g:O YU|{O@hɹ?BZ +xIDgxl:ʍ\&y,th1N! PI Q)aNXʾ񌥿H)8\؇)eϹ *?F+#s~A($(P]W45Z>!Y2 ]!h  AUB8XVWi4""˵Ŏ_%WRpYݡ$Q02l! rc92)4d"9ۥp.`6s,}}pdW5U4S~m>Q/98o;4A&T'T|]*3ō I6+E\UO8ߗ56yMv+ٹ;DՎ7܇I(ۋaiYHUc>\n熞S,b4*k_JNsXDZR˰_Y%KE=$5UP̼ŖNsc)㔄 +8SSbq[~!+W ++.~Qi'`jvDLPj˾@a? , zOOϮ{{ xhrVBVeF"$+-feL%ve.˟;C\dwyl=F2JՌ}@&iڔ"8RIbFPٴ<;PCEҮHўiPeLWu2g{3gtdA!:O|  m& TQHGpmlY-~)l&\x:*SaLTSۮ5SӃu-2UmDVdn)v4M@^Wi4Kwߣ~)vý4'grey&Jn2)X^& + Y 乭?w5ӻfсnl0 ɃbHY|}uױM-L-ح@ų)tY/1DvSiO`1{R>7cA'4;A_&:{lk,Wm|VY`iͳ +h!& C؆b${8Zbs|]Y^^YbRֳW(vygW,ɲ ON,M4~y1i@?-0C"GN=f 69my,|H\ +P#c.cTBuwOQ a,I5 Y*^sșڃ-B9̳C)]ċ[ŧpYGM;9beӶ+&T| +}zw}-]f~l8p); ̎!aB +slXAi&,;,6!KB#ٍh݋S*a;Cfǜ0\1)\|ќ"H2 +B8"ybiwbNh/B;|oP`%J(prD.`بyQ^kR_RB9DSR iyr +'HC)S]6eiLzWhvĂjX$AI"S̿߹ϫoWqB2>CkpeY$NOO2&3 nhI*F$ h5@ZT8䟫[ 6SgaCdN{8GqCBUU7qg<*,Kcr3s+ +q)fAD$}3A\ b ۦ7GSϵs)(}.c4favN|Λ; +4BZRݞ ZSݾ+Om QL y%&bD`ȅ'M15Tػd262ê0Ǡ\M%uz0RIS1(Gڻϥ<k29U1HsА^yA#vhP 3^F`2o]8ܔ7bY:y];4)fPA5OTY.g>%q^$oc,X`9FBř[(-1.R m&u6P@"`bcn2cjINl)zC-^6Ȁu^4=x${qٔ_(_ @.$\GXQN%0pU4ò +"ab0ƺ\:[ kwq}/̥82Ø̺9Mۄrh %0T C"5,ǑǦ2vZ\X`&F0qmn0e"~zs$-/qzpn ĹG]:t`OSzn1|R|m+pvA]`2 +"v*] ĮT̂X b+!~$Q;ܿc'$cbvЈh-&OgD K+1[UsHhn5=ԏ޲Gf5[{mw3wX Q qחxhfEz'_ϼ%@/ ǮF"wF +[訐͏!G>r}|Ur(Ȫ<|U-NgqYHUd-:OIَ([J!i7at>zKifu I`0VG:L2zvACѕ'//ֿذ$z}"t*DTgYw#NrGZyeĵڇ(y2Nb\ ^$X{< +Nj5I'-0.>6m/W̷yiFhbH89yJԙIz3XA-b1t*{xH͚e +,]X;T,;Auvh*UZ'9Vh48 }/m~c՘@B۠\ZKWf\WJTJ3*`6ƟpM9h,OUWB9b4Eߋ`~L:G5~.ћF .Y> Ye/lnG +{Ӝtf +u}ElMr %maVIo J$QD@iqZw=߃}@.ϷC:ܿ-̄ʴw4f>1 ; w`'≈-/*W*MzͮΫJkHO?5e^sN{[\I2(\={/ڡ]{=?;,iQKr$(7VW')@ui WxT mr]QIW˞m01`|-~ˢ> ,gp&2;~gv)7Vpa=oׇ%D ԅ`#Y >)0| Is3mE {?פ/EחnzGJtћ ,IrE_>4$Mi`_Ӕ@SdMi!XҔ24Y`ERTf BDR.ҏ{4$As Κ4h K@ ,4OiX@ ' e4YJ⋞[iPXV[iPXV:YtV!JA`+ "k BJ/CӁzato\(fc4AKQ6omW)>N2c'C7]B8] ;(_I8ŶXz5j3% EMK4񖽤EV1%QAo,}͹UliXn.c"|ffB{ +Ҁ;5K9}G@.ďHP"H[}DY8ums١K &a,GS2&eK:!uu-,r>YQ1ķ d, Vb?L$d8XZ h~~'[PB َ>2!śOrg_>goeޕM0}~$Yޞ%*-}v)=eQnf[z{' ڵ}ENGRYcGb/> ,~8J{?٭ .{B?ϫo׳ԣ Be}BnJgܱR =:3bK^}%}N|A. %>ЙAf|B ڞK3 I{j%v`4&:tܺH6h2tq(G&|%C'khAٙ;2tSO-$ZST˾COQb'jXЉAcv[*teAmזxceg@BΧOQrt7I^|_Zu}uE+/ѠRPZBS <4:ҡ{=\|;AN17=8ҧreᑾD7{" Wt?[٫'odF7D\RV$ވh!55ُΔgV{ggۏ2tH<{Ot|Gg3b6͌+ C8z?5U4i3#9&(HH2Gɪ"pd'$޽)NsڂJ +)h2%UDDyn>t*fylpRB8!79fn zy̽ÝT)Dn0pO=.&Au-C-DqBqtyxyyCv}wl&xr*.0c I6Ga&_6G[[K(\%$lvվpfdb9boSz]|qޜz^YrqwL>=qKjMa༬Q ?ԼX&qQ(S%*[B/2nk(e q Ĵi:e}N=fPm6U7X|8i_?@a% ,o0aD{~]f<'y8(@huUCsfL DYf oHH٪)s+3eB6<ۙ',Nq1 $T'J(iG1H'J*5'\B;1HΨ}Vu؅XxW 0;e=,\NҌ֤~(\՝1`VY;]؊a+݆ Æ1dc˰3Je"!X `E&ҰY + p, &Έf,w*;Y.c_DdXF͞B+$}SY ] +P"&J9hPHp8v2 °opv;GQzt:]Gwu?+~2GoYHˆU^GI5f56=5W +Yxw׮QzGj5hq&3I=>:v?13E6L:TNH{dzÆƖwCULlb $>M_J.A>3^ /ɴVfϼ W38IOa饍m97VrvWQ<"K)y(< =c'D\|5x$!Җȑ&}H`xd% @v}{gNx_LSx2&梴bwnN/tJ!8g0 v u7 /iQ$ϲ9}7 } mbC Dzw..MU yL$Ӽ2urjnԚ=Q䦚b?TMQi͡MLqǞsn1t'U]0_AY4 b3cPM'Dd!|_4aa5GһψQMJD$ƗU@UoT˸1I2eO$r#kyda.]jq_tA|pF5e}{qE +b`KA,f3.maXEtd֭iG1 {ce#5VuUDuw?=Eb{+Q3*EL@ec#-n&\~pYX2;?.3=/q݄,º] ՙXSn_X8cPֻ a[_l[K +J5->a} iq4iutetXCaCl/fqK[=zY8y^hE*OVvlQlg4j6 hѠ'|:Vxo_`voʑʗ8- .rK2N[E _\J}U!FfÞ,^P\oDENs;|q&Z`t0D`fɔE(P7E|mB|Uq&\sǢr}ʌ_c*-?Y "RzJCX"G4̀eI_!I1,f)mibSp뺝g.:ws3ƽۘ ,=QҤQh)| +t7(2C V\C;b[=.޿9tk-ջF|;k۾ެֶ}!#,c.Ǒ$^ E}XǡҊ94}(!n;>4ueo乼j̀a nk3=p7hjZprSQ['{n"!h£vP!^sߙKZN-U0WZ+&f2E5"' xnxic0/,怷ghC`r؝khp +|F-Ό/ ;(?ݛΡhAa Gs$FRx8t6CD"\u`]L!,@ paO0۟B&La*Ytq2d7fn$,9u;,ѯ\R*<'U 0h^^ + '^uqU +.(R//[2LR6vI{/͎6WXщ|b8{{;,䷶WP N.!ʥ}Eړ;C(;݁6Lxr@f*$L~I3m**k<#3M ;]0)ʰ8fqo#<MTPWy&j֐ ~vs )"_|~:$T+(2*=peqBbe q?LME3c/'at?n9dU!і+^.p8_$mA + W !pl @!+i+֑BepN}\[ ++oFJLglW- +cWZ + VM9tѭ.)?^Smr!ty .K 䑈wx'lVBYSAF:YOX0*A{ujqWI=prqWFZ4тH݈䝇KˮoX* 9K +jWAW34u +U%_}oW +bBuUt3C(2hI⍿]%j&'w%042 +x;(]w?X^B(2sᱲ +]J޷ǘI*y.ʧ2K +ʫ;a{5`+Fz衕!* '# +dI'k*Dk5l+;.q +~!a#'0o. Pvqm)a1?ƫ^fwjT0sgnKC׽SGմiU]{)TE@y˹6bpU Z?P)'T!o{nԌ_47̈́+O. 374 Ƙ۔/6tM>7__O'wn(8Sc:Z#_۰>ЭF468 Ѓ_'1bV#ƀn5F^g +s/ "`hB p8!| AOP)`B5cAZ8/BtW!z܊  /,3트mX\. +3DE1CB21۹ΖlkF1ƌmFCHfTe!g`\cesBr/f˧]/=F@w|R}e_]qo/>Srߒ- ;P$i[8PCX j‰_V/ȋ}g=/_\/_п?2a-'8fxՙD+SS.ă2Ѷ>zBg55W84W02PQC\`(k֝ G!::`saDzv3Q- 5=4ct9)NAb*$:Sp(x|F䄹C&:k.Lc_G6ChJ@ڗጕBkP}ҝ\s1 hOm8ȫC([f`$ܐEK$' +^*K]awmK%?|N{O(ndDG?UY@1K۲+ JKHgJ]mNj$!bh*}uʰ]ܰ]z{G9UET4sЏd,.| hD,wjA=.i!Mu/"1j-Vt_41}gɘUx8LS'iUm#L ϵ1qdLhΚ/9Ozӑf@[aBE ʪ` 7d +ښUD]ogdTl\B|cRB=})b꫚L7D<">ՍX( 1E$ /w +5D6P:I>I#wNL=ؽUC.HMH.PC"˒08]P8@S>1ƫM@cy\SX9GCSBna-%9t*]cߩWEx:b?Epe4K[0ykB\h_ۆWAapp_QghE@z=䃐y ."~W۲lBA#"6C/a + rB}}#CB\R4.11p1s 99rY,C%2gKiٝX"۞GdFKBۇaUXofa342ݒ4$K|QqCl*.4 X.mz"m܃^6 /1yYگl[ZyڌI~qmF3D7᳁ +[Q\)M϶7c2p[ߥcA߃ynċŲvOg h96c*A:C#phȉXKF- ͞t@#C,2rIhďa'#ݥTUq0z\k{QE‚ + +N2V8Ǣ3>[|P#n|mheN\`렁Yvau[Ƅ2֜ Y;W~ueӊ?|{xpRYd/U/֞&OmBVpofbהݡiMbYa m %laMZӢ,|Wk/=g[:--O5>]$E`5,c%+ǒ\%NX^Er)OA*iƻ{T}Q?YnǦ{޴7]#6q&Ph;|_Gv",A01aZօc̮V0aF?o}#={YKoo//w?_}o~k];퐗JYs~Տ'˟o*'ywoi\AXJR_[H'nqB/ͯ?o?|x;aϿO7w?/_~}(oz+Oo//g_}*Wn~I9}gˏ?0G߾_~O_oa`1fT%]ջjQ4zuem+Im`?ݹQ?_-mono?_U4/l/P;ݲ`E}/mI R3sk6 +!ZG=Z`6#1ܲWG/};F 7OYB~qwvZ_1 Z@'1f3į 6iz%I!4{0fJ&;&ZN<Lܫ{!\)_.`iWH0C+$uTniDb-!ѮM\!Q+q1_W < \u+U)DbCT3BGȬ4, A8ׂɐL,x_n<94j- +_mhncn,yݫKʀ*UaaCx Ad2Eo#j=nhl2g2##/m=>8M&[@pHx-͘$KbZ34,gs](zMEAg59Sg0۫B^ +9-v|[9&(ơ7z nJLn.a1T^莄;ݕg>HeE-V3 zZ#ބ$88/$_{vDHj ?W?I"i6@Jn.Ӣz{m࠰Qoah? Cn xbԹm,׋xш㊞Cbk لp'̰+S Rح p?;_&:AHӂ,|86rә;ܰł3c*9,EkW!]7>{Ih }ndg>^ckTXQ|L B`4^=XBJTs +ٞzN5~w#8+hv;x^c`I`7+]C|=/c#wg^Y8pĻR\ұRȇ0bIYxc9n՛(Ȭ=yDD7*0vnHniNDJA,( aD!p궀}zizbM;1H2D+r'_HukJ$QYysn#A2Fb`q/˴dN&f{ !ҼF:95Lt݉?s3 s=>g0W2G o#m̼CR[Oy bE-׶~E0iqf=JbQ,ٸSф$LǼE$L Gvj%{=@(m0F*\ _@"m>>X' +}R}i)}k̫ Dy ]݃9ˆ`CVdQWAdsȉ `K?5x ֈ-qgA "xxiXq|x('rCal}x 'בZ'UvS- vD7t 0;궴ԝ:3#C)e[O`LZW* 17QJ`+&u7ţq" +ʩ(!QҕY;׽'ee]S|-Px'`9叄&~zeS\D-T%_L)=EBj5ggZi2Gsq{E\ + +hs<eIEqbSA;X@[Xd cY`,3jLd]'&H 'ϣaF⼏7ZT%:ErŦ{$^ +|g.vC gfnpD=(c2 l/7WV/tLbe.0T%B"뵗sޛHEPiA#:v| 6 GVL1bm#ؠXdޓ޿p搽yjZ#;iX]AEuhv]>Cʳ{B $h(6*N !>>Ľs)쀍>zPE#au@At`j=tnhXWc@[kq3(62!D8xF 7Y1ZcS϶φXjRH4g?YAPbL1?S=.І >Lry}x*c +y(Gr54\΍~!s!`a +EffA :\{+Q[m(!8 pqȨw*x;g^&ղJ1&sGĶyjוֹ/2tl3'I:9Z1Z&HF)c\{g|iL8z5;E0xEl|uUAҊX$s1- Dڱ?g'º2hf}#"irsAaz E@N'Kv7v<qڐΓ0|ڒ/}"_65p—*A9nsi/]{@2'"h +m+Ć [2TJSeQ\Fϔ,[ʑPm_9Z^G)偠dXY}Mٰ!7JA&WP| H~\!%Z 6TTۑkIq .PwiyX'4 KIs&N u'U6;*tu$M*7eLLߓS9@z9O,B*t"3r~g# ?ZQ<;CNJBb, YL8Lv6d۳Yc"N(ǘRPl$ڼr~ 9k(VvmEs +kJȸvtPvf"&eeD,[S +EO]uig6 +| lwC6ܥnZUƯkel+LsHCQUA-}SSzyR0M/ęǗw.1Mr5 5',Y}Wc!;5`8vUT]&#:$¿Y'P!g&SW]uC=1 (Z֧H}eZrDYl9щhD` + 7Y GborMf(t`]9=zj*56:%$g]4Yc'rK;X4|^`bjbfmɉBAH*#&>#m5JdZRTI) +*U5y)[2ϳym MWwa ʳn*(DbGĵR:S}teKbw: +>/{LO]H,y`[DCϕ[Գ,*Q#5Λ'x&ե%-:)āYt7Rϛ)Y@N|9S!z-an*O~tk;G7Z#H]Z5n̼7'e7q_~oo=hx#t. c +S ǃvڭa]N՛&4Dv{#OxBN3ϼ˱K*4ʾPKO%dPyȈ;4"1Ů=H+3Ákte`Yރ b ׷n[#8FXeFϸ=eJL؝56TSnpYUQd)D֏i|2QS 0 G6vL?Pu]{esiC0lqE.ϯdw`uV )tѐw|qB\}Jz]꬚s ǏbZo|I5Ŏ3Oˣ~/9r5`5j|k]y&׾26gk% &ͳV#&=3븰b4 L0,gH[U 43ix[lZIK _;i!et)~@2/V?5:u~0&I x'diiq>_m{Z + 8'J@x?D|)u[vcG/>#!#tƼM_C3T0h$_gYN/@ptnx z"@ +$KD\ 9,2NOQ Cn u> +(cq(c[*h~|vnK-wi{.MUH߃K|"09.u˼w-aAsK<.g[^rrD6/@$ax* ebO&Atqo8QyIک%+y̒ƭ?1c >N-) J@ +@gk#"Nwi8Hcy_sjțGNj++jBeİ ܭb"h[C">¾剰: +#7 Pl9 +:!1>#1hǂy6JQ@LG5=x"v\.a>7j։^ R ?U~j[DlYďxһc?b*?~<,xc:cXfzdda'_.I{׎R@6\7Q[+\1䃤Dr7ٶK.?`{ܻDs|K03ZI3:c'@>{<1 4?@M2Ex_wmN?vsm q5+I G{|Zpc6$̈ [Zj\ln*Ũ'ujU6\(Θ6#_Y);"^#wne0Kb +endstream endobj 94 0 obj <>stream + +m7A)ΒHt12`2]G+0ϾЭ梉)x9#C X,~)sbBᤶ; PP.8Yr&a=/^V#֐Y=D~BF7oF^ᵋDsOb?V̰`7ur$c[rЗ͋ݏ +%|U>e^Jk +zs$ϙ*K]V`ks)Qv"$T=% ]^pDxP 1sͩ[Ί9,A@(7LTxq`Uf&RƸĦ$sm݊q`u++:Vŷ8J"|%x= vAO +QGL%AjEAm0 ds\Ql䛺+N& gd8V9Dd(0,:fMqw'xhMcM$!e +,lC[nC񏧲-f1bI7Bѳ /h ",b9*@ҥ`XƝګzcYW@VA[1]~Swa_Q@ `Ok<"D2"݀y H"5}@C50C:[+F=Uӟƭ(El/b]ㆀR1LQr ) +Նvҍ%nb}De1nV s*D<فF+v@яVS 4,v #Y vlϒg%!ĉ]8 J!dA~|d$ZPM`a}9(,\s =T2M Z4q-   o@dwnnWٱk-֘0ZF-&ux'1??B9+2*/hK# +q`?ߠxy=m9 艐fg9l]c[mı(4@8D@kG{7v^xDІīa)hXB+Bp{N2;gBK)٠]yMbL +ElN + f빣:a9 ڎ%/%-]`c DV1d\{<,c65!m' `lڗa9…"DTL('9!Rz}5eU=S7`5%@ty_|DY/t?ak{R|XtƲ%$/j_|g)A/<ij}4OTr)3+h6-&Łң~冶n'PiF͍!f`REoߟ Mq۸K>$RR +q#袆r:gPJf +Lpc:0kry [nq0.>K + ⺆=y鸓l5'2z=1٭mu%\Ґ5.տ7lufo1 vRD9YR)r(XmuC̥dbȪ*C8@ũqd>7-޶5MqJ~PdN@=)hr2= J@RoLUjӬY{HL:6!ƻđݙQVԤvoƸO@@ݍB W?AYkOs+_iY=VJv&5;$*Bpnqev;)?e^݁%a?{Ȕ?ep2U,wLr>>н8>λpwMPvsK'_}WX$dj2N`%T +p"WA-iEIEUعjǓ E{i5&WVJ +Ǖs@%It@ &;"3&E%)HYXBpmEcO$<6e.*5*@@rYcwpd(pOE׮f)ew өQEh%:c\hxĸ˦cQo&oB%fCą2"5i{#4y!6gJ `Zeު)ؖH[;5*БIb!Ny'& +iϬv5 +4Cƞ60GϿ׷|lRyvʁ\ZZрtx/o ʫ<eˣW.gk3#?7 :i0͝vٗ&3b:_BNSÖ#}v ʣ!=O`ܙ #' ~ikljhH9<4Ѿ>Su3QϾ `D]̣ ө[$KZPMkl(A}dKg[ yP$Ǩx\{O9BDePhU7 &[Ϥ1GAOk26QxKX QҬA>3$߆vѐոǕ +8nntգZy| +&rXГ]k ,I]vW߸B ;a^HAbH:Ps#+*)3 +W!›|Р&;lIf!mX-n$jSo{d mh5MN <ܓCD8ZGK0:@ڋcꞟ?) P=7@+TQ֒r4K/E +wk#kf0K ~U;ʸ=g̅*H*ŵ*Z?p[vUhD1ϣECj((s=9ǽt'ϝcA4}a)Dd@JJp'x8X[jTo̫.mjN'Y]~Q-ȹ%+gC=-eW~"Ntm6 fҨym̉*JxC=lx "9*a 7&5Z|{ףMlG.-=!,m\-HjMW& d?EAz)W͈j*Yƭ3VH誘67^ɩDLZ)Jn qo*v]_ktE%R+جZ26K#i–INu`ch-o;6w^0S˙?gCBSy _Nh7 19YW**a)hV c̤#Aޜ{@tҁ{;`oYb7͎eJ?%uN=[˰D?s+gBd {gIΓNA]O8i&bÄ*q]S ZaذE& +=j;l%SAoo)9bA!+ Y`=.#qJy`D8D#uPKj 0vpxc3#PTSv F\GdX+UyZFx.e 􆯲~D@)10.WujQɨɌ(I]Z׹'.v|:c|ygS7kVg*9eG%DQ}$p roJiX2uC,w-9 {dTv&yQ.y +XعMPꛬ:u<3 bAUw]bbPO>Bm|bb;Su&Yk6žvupxO%Nl s:ouFFʨ)xՕp[75jfWfZBQ6%ŷFz*yD +KǫWLk@^XZKy&`$~NBs[%U˳w Z y,#{K2Bӻ{-Jl@γ|OOziXiPHPX;N()5QUL&Ԉ*1爤#Xd8 pbCB|@5l0)Ak"Zw/$F,}5q!d2Mm}P) rG%IGW)#vxҽtq)/n@-Aݤݧ{?LˑB_9hZ}幓%t^ѭ[S=eJS40%l:`C!{D|a~1(PT72ك=XLq #S]JL"`m<=|30/c @"`>P$UCEXH:}m\ D},.[M t܄VR4JMc]5:$3֌n,~N#(˪8!e@>\DR@*1 Af%8PG'%k&4"0HN7/+0niΩ"JvI$avf`͌ߦaE5*#b/uB[B08ekkaIHNAnj[gN[*ЅlcslXb G`:Ku| $0ӢŬV뙦69pT!ݮ`HT"jQ&EP-Y&VN[%M0KQ/{i%bʜ⪨Oe@f~*tx&dXG1XYޠ"$%.`S&Q^ Ad/ j!qinXqO颪P̔{C\Yٍ)n&iV(fÜh%绔L޵V^BHwMǛӷr=kɌZ7 ɾZ#,5^Wٻ2FE.(qb!$h+MXޥpXZU9h 3# +[\a5=" R޻>i<PZ]NޝAi6µx5*瓔 }@w|C|E"Oï"TE%^ꛏ<ȏ,"v vDAVjFD?mU]U/?TYϊa7s?=?;m涇 37AW?Y;GehxK畮CX|Gh +lp\lu[VGZahֱEiG8V}y4~*~T}7VoXq,R0{F)z*/@4Of +b0`.T0-)ېÆ*i$iؙ+> M 2@OmQcu;Ebift:ぬzb!ٌ +eΛ]'W?4;)J?F'B=C ;S02CV*$Tt?HITT T-hn;Vd̓BT7})gb&mh]v VOs*l3rtO 6`Yme pCݩC&I1: c+-3 <idaJT9v@\>,(N:HZt筊{G) VSElbQ8ȃʝ<Φ2K\=~y +4uvg@8󓧮9ܯ@T5&3Zdख़J/P%/y0Ps|[*ɖ?2NFw h0wH=D"zs>]a CgԷ q%b`Eݥ1̱w7) |8ƀMc eFf"%NS YOV~x^faQT5q[R )zNS|Յt#?=,DU.vKy{g 6YVĮr# }T'ͦpQCFt +k3(h=nag\C5E7{G*>~zu}>z4r=n-Lf39=9aƤAzoߓm ||9Y)w@S݈/FMEieK4 y~H7 6VLB#"(g8]tLts\MVmÔ>5]%P&H&tNa" ǒP(+U= -wx8U#i݄9f#Gc)Cj%5MBG^yܘ@ 1`ϙ=ǥa Ys;_tg(?׆+7W6(c+ձmPc +LA2AsE%z#d9|ߋ@%!eq[$~_" Ja?m 5Y*{"EԉađaDf:B!EE ӈn0س3 K8]c+)SK6&udYn**BIV!57e5uL >/sEGݑ Ipo0(Qr??z;N=/nia4w+@kN'"Rx~Xo@G&LP,nCZ!:!wnEl9,5ah lكU<'zc 9j Q% 6Tw?B&k#2P`={3{BY:yFQF!i\7SLj'z@@^bRGt+ *ܚ`+=Q(\rOb?؟8ޅ6*5#vu$=CȢ趨)쫈6\j9e .+4ǘ7R5%R-]lfY5!L{V_vC?9Vfڎ3}]dvKCzn-:Ū-JxPC7Xu>{7*K +L )W,aT]km}nTyVKqo?8*Af%rDž=sC~+Bぎ(p%s:< [Ur^LY- tXXLt}K|(6?%]@{ "ۙB,P#j`σP21N |ϯ$l`*gCc#ct3H'Ţ'ZivſYLfYTGiګbǷs^y }_k{ +-6KN j^/}}]B×1Jrկ!.D$w;Iv!ІG7F-lb)mDH)+셨$O +(["p X ip EJDB PVsUV q)K=|WHЊAEB6p/AɧG)EriM5ӂE} Xt_fz=_J͗2̒Yz<2MwIB3\jdtLL~?8M{0a߻6RUeNFGNwowBY8MXxPC6.-5ƪ*ܸI{݋7Nq̞6v=`AlGjU/-Y&Z->PYo&BZ R@lohch/W$B!bI4 ]tVѮuOwLZieê,v:h>@QI̧,Z@x ٍI͵5:XjpāH{- +J@ofg&QI aC T&U<>s; @UI`=i]>_ZSn)1,ak0iu^VֳZ3૷y5bc8%;& rSe +8YS/BtzC8J]Z++λz#RrP#e_E]hZRP1[⨁u2֐GGrdE!ZgCFICL@H [Q>ص6R0EGF Pp|IhFYFU9洌fM7r~&#:(hLwhNj@w:|:DIP!h s*x'Ҟ[y%eS)124'oG|P/ˊM1U"Fhyr(/-bIH|ݷ@v|0?׺+*Y1҇JZg1 X( +ylaO:-X#KqsPuZgit1dȵ ^RhC==Cpk.K.g o8^_EqLМX%X頤A +ʐ /2RgN;HF}Qi]n֖}t;Ⱦo0"Ep▃~hhӀJ3 ]:lO U2Yh4(R<{ v |p\eyi5B +MWx80_G|B˫<>+,RFzEhK:_y3Xu;(ʀlL S1 b*Zfp ;zKq.'Nʙ2ϔ/y\;y&#I AӗӰu;Y[K>vk$=Ĺ(nq0z EQpC&*iͰ- v*C٪g}+ZEoLRoQ^]+.ʏksWFpVSUSп/ɡ=<\VlxOZZ 0Kh;)r$ o%zn}*}6؇|L;nDk|ա@ȍa檯Qj3b% v4p[>tF+rZo}K[NJl9cZ_|4ÂsƆ3OosՄEbVxERV%bL5 3%%ij2I@ :YUUÁ:VJ>p}Kw`.PRUd@]OݐffKJ*!ƫڍJND.17LovjzX +wIcL)]`$.[墀.K ab7ċVeA FԯGnɼD~$)1_|9tTƿ9,>PCۑ]7T2gjVbgࡶC=ɋCm0o_'OZ__ݿ?_w}ʟ;_/U^ _Ib975Q`AF|zLC+UlQI`ZE9%_bHl qRr#7"ݪ{i?)5kO vE 5z~w+ HeJ,`Qn=NhўNȦ|GjGzr*WMQWȅ@ YѢJ8 9@mΗ=eSD@H_kl)9GeP6Vů@1f)h: |2G1}SAf$V:yV 'ٵ6{*~TX 35,ߙJZ? u+k bzO܈{a FLN*+ La [}L +ְǫ9tҤqQCA!$۝ZB9{aMI/nn}<< +37jbQk۱B!ohZ-)[Xgs(D#+UVᨃ+Ȏ9L לYVȲ80l=l1T[bzJ8Jv}e؃'}E5 QI*84O*YPT[2ЈK㩟sH/% DWə(RSsf٢Ir:;< 1"=6I%C5O<=TKAPtj7-FZzwg.naL>{7`:mLW݈ڢW'PgI5KHꈆ2qdl>6Px03LKfJ#?^Њh 6dףT ~>ց% TZZyu_3DM v?,A6NjAlzLѪ,l^YNVgyaFzhF,m==Oԭ6F|UR~J=Aqы(73b="WT.7c50΅^+z)퀯jI?9:Pm3Q8.>Pb#c29w62Hgt`+1onqMT2k".&Ѵ@vpiQg Q. "± ʄܛ-C#f"hP{ҳ-Ħ¹H8w0[~ Pcp{Jϱ6Ta=)E{P3]_Сl_1:TbV_!0Aoդ*#%ZRb%31w O?޹M`{^tfD\H*Z%'LqB/7|8>w։0RKЀCVI!5 zC#z+)m~;f[t + T\K=ȑ#yp|?Jڎ+/ec_'kY(( Z ++}N@ygF`ӬןX~}kQL +V'JT=~u$a"~8zwLP7!i86RG'4>n vMS_Uiv7]DI@Q{ϘqD?KBlqz/ܳ)6їu XbHtHCf\.dks#w~DLeTSw#T̿ s 5"+CR056LA 6F$fܽ7=Ҙ.Si |YDuGCGK@BL*L$ck5+Eٶ< ұb:[ӲD>oۺ|@ /§JA!ZRX|m`uT`7P+UaRC( 1t +4 DC?.*~oGmu$sO#Rȑ#Ցφ{N&^3$lԵ Iv7O%Qj3&& 0GR7U:5bجNE"b 1x0>3#oY>EGCGt∇'*EQć HWeXEޠ^i ^^M݊Tkɚy%"[DCH ]q=i«3ڇYti &?GiH1xgvFՆ@ & Vm(^0x6(UY)Ȇ +0a\1n3}r +̓b:\p Q@b p1^Mִ KMgjJm)5 5DeWQ)Q̑ǃU4qjuhg>^2yɞך05<+ RfM-p$TAwms|KK{01v]7g #h[ +u lPhNF[ې3ـ<؇OD~* v|{Ik8S Z ^ȷFHjR"4^?>c4bC;o= ԏn?b?ʉRbEh泵].Q0S1#xe4Θ"*SI/=d1A/j?%|Qɼ8x_Ts*>nt3&~ӪffhhX:/߰8o5 {] *PFJ6% H}3>L\T1ߞgLzl gylV0n]Ҏf#17iLiypV=ֈhS|@z`橙,@ +f dFf~#e=" ?J|T)|Q._G$Nwþ!2]<|>^ kc{kENS8=rO񽁓A?O3vsۏJ^ϰ=%1 &9Fr^-ݰW"E9ϰH"룁4޺pʸENf.8>}U-v{ѹp>V44WDI%G Ƭ͆sL|e Lï*"YV(]Lz%&<$uq$L)a@3DaG)ˑu3PBe9>#Mhpjx3߭;~TУC +NI.e)Et%SK8KʉP"дM zmd2"Ho~Sy+tne^j޴lA /|ֶ-C1NN[!`4f[*IYQR - +5\EA hkhdǐi5m;Y0י\nJ+/;A{nO@rv ?QRH}p<UJ[7UՑYgߩSK˧aK*K$|}֫@ ލZ+ŧ P?PYQڢt7 +? lRʹ],ۚE //h,eP!{v(ƖL6VTI)9+V]S!7!*̠8%M2)X*jy21j\[WHIzǷS%EB=vY@3{-Kl/qsP,phUYE!1vaGEjjV=Uаi ZFN^)7PIv|;Q4M>[ ,:Pqmn +(Է;;A +%mwGus*a=2\ Nگ1 RC0?OП صs(='OuB@-=/Zⵁ# CU>zp6 +gܑv2T8ͽe"\g"lQr)oI=w<)N"/|s[q gm/T/ 1[Bqm\OH&{ +gHe|ήiM Mÿg c~pO +Ҏu}q NBHi&rLEz\F!ZO8c5㳞j!;,@ț@GWwA_a= _r-muڀ"eB?$g}I$T}IW5ؼҵħ]8*Eo>77t<s쐩>!V*)+5 Ҧי +ЊǬ=Hg!cZĉWJ~YGI{}!`|7~:d7{?ح?fJY2+2 ;bR$l wşa2~(ìKz=ݠw_!Fvx~2 d& ;9)$CvlBN5&G<)rlTXbil`ŤQWCE @i:iApg֪Ih 1-QfjSi.!\ΰJrLa^GL-_hKGD?ʴ!o$ڱͩBLƕM|/ yA^bM #wU`e6`CrxզxEZ ցrg1ٹ֕&.C Y{k]Vq>]\_-V$ д¸[╩2 +cO\bAߍz++^qSd2xSyupCV7<,G%e#4\ &LeIM6U=}RRCB#H{0️8E{U&'dj'3 +Uxm# oZEHSh-|Y$*9xhr ~S^2iJAfv(¹weq z:uL*z>lYG VE} +5pi:SOײD.8OC-"Ha`I ( ly|mTZFI(s Av !LK.xpg3-遄0,dѕ@1UgRī,HW/N فpL.@%Rtϵ{k ^R `9trYrHuIrXedHc{932`) %ꌯ@I390ƨwi3$7#lXH,LFpymˡ%@@6[9S 76p`oC2B!,c]~=v &[@(+6 >BAˆR^.#% >ϔN=e\-H$P@Po%CGژ]2Qn;EkDLOG9_xlZb A'1+kRok4$ 93)9i"q֪e-:fmǹZ7fKe,[1f:v>a+@LOQTbylIٚ/O2qjS]B1Q!'n=Vjv0H .Jֿcj #׿&B[+ +b=>$Ow7TE#wa v&{ד.bB< AԽbY@§`B"I5@! un2YIEyW hzJtKBsXإ@yQ(‚fU^#t[B=Cl{TG)Xb#`U<snJ 0G6"X#B%KI=+>c_gb?D/tkiy-v_R+Gr]_z"ExEI]t|@iipúA nQ$R~ ށX +T5 +1eRÐE*p/*7`@t6TZb"zh! G)N@T=Ӥ. P~6Һ^="E]][%\{&/:n +q>k(57X~GېTlZ:!%e(*0^JmhpCD8z{P頽 .Q _?%UҒ{MEc),} TH?>+o}_hFyddh2[N0VyS+Ih8uu\I, IלWr&fl6Sz 6L0RvQ[ ~`rsR"~T1PO谚")*E 3t>iڎ㩂"DƑn+Kd+(@ ߕ%]g}K^d6Rce3,ŭ=,md% tpws/qxzPc.j2Ezqߢ/E"@{&Ź UQv6R5R -=px%E@(*PO{^Gĉe(&JUl@2SSr@/_`lOzHrgLwNQP6>D^apuLQmm}F< +T(;@WaA5TYMV4ijes$'ji IsUVVAN$8;׷b> +ʑ$dݎ܍T߇î)NN$ tį TO cL%O/j9U$=9;=qL?ՆGV,V`4%ېz fTlx/6ގ0Iv6N싩A%:LvCa50_wmtE2đߘ?@65EPaBIk*c%6vMF:b ,/&Q&%XK鮧 (%tl0DϪ(1W&y.ANὪH/3ˍta.WeC'8Rѵ8%c>qK3]I7{u¢Tp1)1cN-;$ю.iqJv$&݃ͳfSۙXq۩_յASWC:4 1bLԝس~GMn `t;CSE/$1HdyԼ--5N:Sе!t@S# Fފ*! l]&MD-w$㔑ƮG~VLz4xG=6ɢxK^ͪm˟kV<@uDO`2>׌t-8{R51b[eeYС6?ljNw;M|SB{eol\ʐގDj +gH7tQNTL5lnKsn`8Djbe^֖;],9h vl"G(1b,dg A84%M&U6wru*I@r|%=rn]zrJ˟kAJ3=g [SX>^+PG<Ǡ)*Yv)OeNA ZPL)QUy)V'M7H6L^5ښ$@SG9[ErHJrvbMun1? ˜,䒹 b:Ie")BǢ/ӧʀĝԓCW6f7y +4 6a&C- +XvDRJ[9tr07Y  8H>I Ė(_^bUޒ,@`4ɮbkȲ3oPE>uB'z' qƩwZ+k{S>nM+ ŋN7ރK輢n; հWPCG|C& |%sD>)bDQR>Ƞ&YSI:Vo ( +7E8vL\cg,L߾a>ν嘡it|l'5GN4B uQ!͡&"rȾ-YtXm?QSX]?&{X. ʔz6Ekg5mXRZш|tTG<ԣjoqs*@] +30H!s +ˮ!8Q<2-j֖@,"R-F +3(ؑSL!޲i< lف47Kl?7_(\/O*ۿ +)Y\7[MGe5o"OSLPqjZ(0w8B +K>kᶂO<՘!W;PYjUuOW\!Uo + GodG \FH6 +cCp'M0!U QnztwCC0EER@7B ͞ųtg^D)Yk~s*إz2AM6C|, +)VEtݶǠ.zS=h,!J@oSb`2dDqlWzd +zITox0Yau0HOM I,_3LU8FtkpMBk44/lѡAkFy6K'$+W +i,bxM{ҕ&H Etr2`JE"Ԭ+==)Lp%N)iOU_=JMuV`  +uVЪTpԠ\Gt4~y(v+oAS KLW ؏j\5P4 +Ti;X~0A7@?*;EMdƶ aAIo&{0Ö +ՀƟtLY>WFJn0ouG{:(zBV)i~<7yaBW n>WWфy@ {vTX!N/̊{,lG)8b nyב5bj [8m Y(a_7 K=I=Wϩ%h=!Tgȑ&Q7%z[VWZbkt n9%K?Je +bjW +-Z~x-'1=2ܻg̗ Y8J)(w؏?@YA+ob:[ h,U0@?ծ\VX`zsmT{LȲvCBC&)э1M74.w" (0v!plnڑN*JbcJ/zu +&~Ȍ O ~>\Uo)XoT_® y|i8MQͥrʡAkGx+}||NА : T Y~ &Z]RNR,"qM$܉K^&$tSM*hQu bS<jD 7$Y[ۿzRt +"T'0)gC%~ ze#M6x>M< "FZB\J<՜A,(hEr (O`wJeٍZ&?qO tAuidikY\W'ؔϕQcX> ̿hK'掲Qʥ%3!ovԾwoj&`#>vY5R`$惏y9[+InR} 0論԰]/K:zˬk.Frq}4rpv:`4q%;atL^Mi%/b Ш*ZU'ÿƷDAK&!Dem9W?=ŢK3 a_vHgiN +Tbqo"IRPBFܘYK#8_v= 9K8~^ Pr̲cI4o?'"ҍ_*x±]b/(:F4i`W4p=iNzGA&."(w mfi5 UBٌSBߵ[ =arTp_21u M +hOVܾ% C]8i.JKYP`(r)XvE^GWP*nʪO@ + F?:I )"4@ xרUXƫsgH\8*QQ%4x!rU +ޘeٻK=bJNBH>2U/N=MSo .$.}d-Q Fimp dӭ^2"OXS2*.ɗsuHu(XC #΁5LQc!Ll) 4Z9 H2AN仑f崯P*F!rExtC!KZr|R`6J" 潇R@{}|t^ѕeQFDD+ Tw_74R +u25Nzo8(_7$MsDؓ@<{UO=ǞohՎU#G6]؍(DFx\sC +}LXz1呯HE =YũC7k:P^W:1$ULٛBk +×&әo&K Pr"COrHa?WDho@@wԾ=biM֎H +:AT}Eޝӯy{ۜNa7A`lEq=5;\Ú&L@}Α =?)7"8h0CXfBr8)qz+Mqn}Pӭ a.5^=y'ʡeۍEnQH;6TZ#nOE81z|Ysċ*͸ѬUzzlĿvZ}_ B&,!@E@qh + 9^*{QrHmČO~^w$:kH4l#)HƒPѬ +CF8_PMSvԃLi "l +|{;nE!N:%sENcuǴǎlK(<`RdV ~ywn'׹.$x]5~sѣܡ<NVB]JJ&!Z +Im +@e~=_!VaGr +#?_n'x`M#zJ&LWP`-M4+hqAϷʌ,ytL)* +$xnGU kq . ֬,#N姟~ͻ;=YWĨڊnʱ0!{δsJ?KVzШ m3S:~ + 6A*aDS>zAyMU"BL Bݘ +e[a>{ĩCsw?"ܡV`ԡ9T%{Xԇ{ht#e$k鞩{9ixD̅x)C9+Rt}ɱ<(z|ۃ Q 6`V4YJEGGFp:Qؓ.y]f7Ty?ЭY/~"ʪ`ϓASYUrcMUDe5z=lGB nC> d)C1{ENqR8SX, Z0Qau$CTEhQE,^z mVQN>^`>Io[5TUdg-vd}x+0 +x*+1v`jM!Kq,OF3hz[-ϼä8C `ǭ$˞E\uP!᭝ס"7D^Ω"j?ĩ"J@v +pMvhco5i`s/[X&o*\NFy m"CI<#{W-Ļ mgD\D Zo!.\5}`{jl뷷asVnCJ:8^k|Z*>V/U>c@~4 h07BV`'К@ 6pHhBVێ>B+ֽ([jZ m>JEixa(#=iWB1=Y]]yBk{ x~ b>n kΚØlϧU~OirT= jfѐ:CyR@7|>/'I5X=B[/q`gaX>a*Ż@~YOy)&5FzE"Ct uDՑroN8Tac~b3Jj ";5Xl6D[xϋŸ +)(0CІM0s}}m +H<>o9uXC@Q\%`(S@vnU@gҠSsbcWl@m2@wx/ V>`ͲKh +/ZRUMK[%~b{csyk\!4[o@+T N$n,kav;Ś:70ve.AUVRnwr*2q9P 5}qV GlZ3a9{ ,163E|SO`2{$L7@qsj|h?¥G~omH^9Fʱ>Ncu<Y0a3U( nL +{^PW%z0,uUZѷ x8f-T aY*(6I9  /Q %4Khh5s>H PɜqH{AX\e OJ\۽>}#6#c3vu/癯cWS /Amh!;A^3l>?)^'s%{l8H ^oZH-1n^ `DӪU̗r:EeT,Pp$QtOr+)@db9|+Ot%t}\MYkQ{vsHNU{G"oh8~3~PI{CRlMBçuIF +RV &;MQ$$|>Բ3CavgtpN"B՚qgNEZvI* +9ҖWic? wѮ+eԾ &eWKӁ&9Š}?5*vl4˟{85V\ a\ҳ, )>ڵ#0[x__!ҡN2"ĴZwfHQSpd<Oh '7MWvxh' o+ XIX=ZAh\Y|JO0gtzTR B)/B"H< H{yPhBJ;Ըg5HwV\K~q0b04  0ڽfJXW O1u!2@? !RY~ԕU"/uKae+up'OC,/6Ȋ AWt3a+lL%EI5Bחx܀HdNcQ^ Ʉ RP1Z&B=͡"@ +iW s8)`%ha4Xҥqr)ʿw<Tz Gۙ{>>z~F`GDU yz<+PaVK\:tԐ{&?&Kٷ{^66%w<Ǘ·X2ks\ש9w0z>x8sH]$rل`@jxĤ +4/yfL,5?gBDD-WoNT߂c(LYNdjG;X#u4bA 쬪PG?8M}~ZEHL@E~cL._Au81W뎗@'R(\(ص,5~rUwaB'\L?L'<‰3c;x6L"{Vhb7P BF?wLq]9B<~J뻆6_6]"{K){JK ^dfRx$#Hd@G^ +~ \&cx "vYLո 0U7^ٌg +l\Zl]9(\~3 X!%=D>~9龷SǕSnEgmlæMH>/0z<@Cj$L[32 9a;^t6srk2-T5S m5^yq`" R 2^ۇn#{Q0v=!ҭ8]|Ӻ}üeRQ|#>c{W%Y<—(zk{ +dJ0/wQn_3(*`@C H$w K$б1wmnQYt!m^z;᷁0{!`˜}}`Ef|5a(21բF[`+]jݩ&jmyXcQZDѾeVkT2uJ{uf赧B~)KIhS'X0=ЏFzPˍ3]VH7Un'\&c9C:R(Í8@_:PC$BUU$qH6UE.2Y iƁaPduxfDS[8znÔ*KffIPd;`|Z4ۭgCk3]&Ue5 N?@r [WCzXgjkU>PGIy }px[ac΢ uuna[x/ѫnJO0)SZ΁{{-h +9G:c$p(>UjXsKl*gF-D (JmQjԞ.x'q& \n*3(A6J>A]8Njg1xG.zEa[@:Uv51Yq`Y7AЍ{ׇp~̗FsU tQrQB= YmǮ7#)Fc}6t\TyWX$X}6.,EU_ !-y5\yvOO+B1M|} 1]^228Y'[t)rR.;CG[)6e8;{D@ LF/:q: +ԟAG#c.Jڙ_ xLq>LR(H7dž,@֩G|}7 ᕣ6wd{j3芥ҫF/ 81\w! [Ra0jlD[=D7j+jdIA 0.7 ɚwCAIL3bG.F^,#^Z#RsЮ lоi|uյ؎ɗI孕S??x1ꀒSj' ntDŽS5HxN/T[_/r]2F )JZoli;߈.J[g`v(j(9B'=MɾѢG +K@eP_zJ(DRlf=o7Ky$Gp* $JgLQ_CrnkJk%p +"\^B߂PvI&Wlj13K;vA_"to" O].0ؑݳ QS];Jͽ*{S6'llĺUndkD0f~q-זbG|. ^u v>2Xx'~#3Fz1(@iI #S;͏D^ut3dL1kc3@V  =ѣ. 6N~ bp0eѴt߄pZ6Uz Cd~ U!ѳ3[.fN +vSgbRpk}rꋕ}ƙQE:(V[ĿBhЈ=,hEuW!0#v;W< $)k١J毦XI|ț}R`EyAf{d:M9 +|$_eJx8tɚb?8=e*gwTi<= M陸\: 8؈MoFL{%[T@E:쀱uGz= +}<.xR:xw KƬ$KzIFA: 5q5tjBV}f6nܦ: 6nZ򩿗H˵Dgd@9_AŠR +'Tqc7}E}2uQxܿ'dpP cY%YY +yQR m9vNk䰆yBuUQmaK`Obys9MDZ> ia\ԤCAe-`! y%9%|cQ; <#^~p|s(${t8zs% S|yX*&8)|h@'B@,\Sa +eeaY RQK5ӠDCݣ+kYޜ#qVX4Bի?`Ƞ5 iB*%@Gsfu WʋPlȂnf@XJh] 2EmA%z:#J ϢQ4@qYFIkD1Y2l +QaPO$+QgUn-)xZ@^`/[ +UZTFbk*f\ND@g5ܫSldy h@8<G qtʳeGCQ '#wBHwpؤ^{/j +Q[YTCk=7BH + 2?l~]>)K$+qN;9,M/& P +|[~(58VHCN3~rKgMɰfUlLUu{C)QZHV*id4ݒB"ȢUT#ȄZ*q)WcWER":Qv`"*(󶍠o՛RAc*_(Zf8"q#9o~Ѭ"a[O~qi=z!N0_<*DbZPP{)D]?mE[a1n1S}(KjWH{5رtIUl"zU)RrŠS8 ?(Ժc2f)"PN^Յb (A`VN:plN<Ö597}S%TgE 9eA@&pMÑhՄ{qDf@P;>T9N Хvzrb{Qq-\MI̷ +kw\4Z2gm?{+63,[[WKJKigہIMUX)Γ"h%ēxJCŠ,`RXtqUgΔO&]jxs8"LW$E:24x1S`A5*Asa+ #Tw承_:ODbD72RPbZZ9&dZ>LfNv%(lNG)_% 9e~PBRvM\d} fc^@w +gEU#7QX Pߺ?vӰ~'J<3\M\CaڗƁh,S5_3z _DM&@,n[L2!@<9.ɰcG1M妶Ÿ}q{+? +78U Oź'ͅ(q[LT}%F<Ȟ(e 15 2 Jnl@,T]nbDS{嶦}X*0KD֜Vxn+8f"PVJ/Q/k0H o7X%-ش@t1y&:( jb2% CMAV]SfB{ER - +WY{fP!ވux-.-Mʋ4I{Pev ܄+BҬp-:\EDpظ8sҳc.fcPw4^p#f`7orGY_⟠gOa;18rlrב+ b,8vsa> -QnHMFtjS 2 q=+B*C=ݭ#6y}5 GRMdp\tC_ `6IraBc=(/(%,ryj]qҙׁ4[2Ӎ^X8w=Mb="k$U"Xf18t-\vd)=RͮD?|F.&uNt#;imG0I*A^)`~^xezn3/;F[BhPw Ӝc=,l,/.U@{  (5=-|Sa`.0`T|#s^sw +GJ&<ĝgCZ)5{b%3~jQjMڼ|aJ~ntq#C-2 LAx;D!BZ=$Ւ.&ũ&B))+oR{AMӇH R |PZ5G>YW,IX\GTøhH v{"\/?ڿū'kpW[yweoqJ)̀ŪF'bg@Xٜt!A +Ţ{uhr2J?JT8~4n(.. +j`QIRYg9e~+vJ@E K:e\=J!0;A1Zv924?`<29Vu{o.ݟ'E ގ TQm>K9@@t_أ/G͘FTl W4)j.f^%NnXL]И Z1a8zr?I]%w`K/>1Y5$x3TW 5Sf%7? `Q- |Z{Fs׀|cQu x-+DPY*Pc..,[> 06OQO𹦍W3 i R<vJ 뭗KPBuLPLgE 6p܇tζ P +(e/ M^IXz0t뒅uRG rH{%-( 9+9ZrIs_Txuu{ 3 F$}(M[OջtP7%LMvq| u;j +>cl5oɁq<$NssG\C>2,2-PMjżNZj p:@^T%QynxE)_.w:*%Rѯ[x1~P>FUJ{7*gƅk#B*!B pNLE5DZkK'&ΈpE,dӀ5<񩡞d|4F7^Ȏz`E("| ʁ:w=La$P.I]mvT~Tj- 耇1zj;bEH0FD;P XR㤧F!p\"8l?uxZ޺IeP]%F(\Ȥ\]Q&/2 Up;nB5dwĕA]{֠UzI]]#%U^(rpk#fˌ*-BKf@V/߂)ᰂ}d͕ OB^xhAE1 W5 +Yұ85YTdt#GpdW%^iO^cg^NW[ܹYyMe +'b##ܒ$0[1hЕj[MA.Ae,!( ;@u@)e )E̪AIw?-q xϴ&+יGbG7Hr1_4׆Ǹ2]3Qt;oM^u5{|أT"]-}۸QzW7tܪy?L0n[GvDToBG3mEK}rN`XP^`葈9 "d1K ,W@|Bkx# +"/ҚIXe!P üGC Nċȸ/|[(Q 1?\d̂FaUª"0h%!xH*gQ i3p +`:zuLn|ZEG` "r? rr@3ǥ^9Á;Sgʊ/op%I `7zIAFeE6e:meܮHZ Uqp4[ɶd*v5d1~鯿i71=Vۖ ۡ6fH*J٠bj[8ziei3Jr숽^ױVy/ n4 ":`W r`Cغ} 7aJ5`čhGf+Mhd{̀]#A~XAk )h sl1ݮ[` {u}ӣvYG7ґLV*Ux}B)p?9֥Vn B^aL|ZT.j~LT n<T6ݓ͎ڑUwY x-yZ +hۚ0ݡHQ<֡6w_vd\#lVm3EցECAS'zX 3oo.V!x|%w#wQhG2(#t'|4<# WHKndmN2A^o -{ Aw٩Dzuܵ<%-h# q[~k ,-b]v@ T4y gD _ +5:FwZ{=ZP}x5%@jU%1?rݒ"ukm*PoU$ja[{Svg73RBzU0쏆˱_{97J*.z$x G u݋*<<=fPd0B91}Q1`>K;B;ʮ@|ɜG,M8%T켙{ |tI9#?{k11ҟW5VvDxVlw&FQGij) UY:$=SNm.YEY_ΰjCvT"߿$9}Ct2ga <<oVPv. m˒E?M/9D1g㲣 \O9Fb[t!ܛ"-ihLM/]=tùδ[!)3X##C +N;)p=2@`C,Ѣс&ia; ҐW{tlj`^܁ +'Y'o^hx*\v=؁=H>q~?'njzXE M{@ᳵךԊ?^K8#(`kYvJ0yavx@{bdC6zn[" kٺ#g dD/aɭ81Wf3 ydH2gҏ$b+-ހ@J2>#{\[M" +Z ^ "ȏ;%ka)ʰ<_ JT3OEۈh6ΐͼyKi)68M`q/}ھCME--tzWVl}Usq,X :]|QQL3bⰽj^EYY{#O1k=έ;1vG +Z1gsVi kqa#ht"]RCqe&J !4AIzdEoI@[kᑥr^s^9w#/SuJ]rug &@j6L)i}:Vk pj<>>pU@ȡ]J/ܱe9 +k`%֟GZCnr2:WH^Plޱ\L)q2C)(y4[X a݁ dͫG~3'jst b;aAsV=ĉ%9)`H7H0>Lz: ^<=-v+ +d2M +oB}<<ł2I,+ڛޣ6K$QH%" c->{P_o%HLT#1^=wpr!Bj囯!Ġrum E=ID`KM"t8hzfh֭ˋI5Hh!ݣ{D7iVBM&D(|;f^g|4ϭQP'I0L5N UydÉ6ӣQDƐ +H{a@ʅ\UY1ĐypFZ &1c iv߭ 2%TLS ȲʋzCm[)NXXĻcT3* +I$9&3{(E +[Pk3L[Fn+3 9DBBK1Vػ͸3[6͝peb]B1%>(cǍ\ ~qi֪{87jn8-K^R/y0i r+vEΤBmm"Q׊h$A$.ӟ^a5 +җDqZLWZ֡{a^F ҞHCUiH(hܫX>"LcW|=@Q!c"ѺӃ;nv\ҍ4Té*;=AcgX"j51I$U +.2hsj6K4)[,,,0PA>P(1as囎~``HD^=J8ͦk&l$|Z٠gK݋9 G9A7묣9~2@f|@Y^MU-<.6ByB ;z<'XަLM9"p8WK]sD\"T=b3XϽ*??oWCRzPK|?Z14Ί\z(%LW :9H!X]th<9E֑ tr q:"pQڳ +==0Y=30ұ^anϥ19SwzE2S5eSůR* )e\B)6U^@JSc+,9I;p[[DKO߻ tj )J蓶XKuDU'xK4IV7L4bpC< 'C^_!&j#H<!Q|=ebs>E.jRX]"gZŐCDygsдÞ@u*gR+F,ʿ0\ z욪Ĥ2=۸,փA}q< ߋQn"iѣh_Ē9G+ިC^H;-͙51ٕͨ'BL +2?Te/F C7: .~ vȟf$(eKήzaE:ҐmZhDt3cAwSs3݃a] NQxim>\el}BA64!XlD+ @b[b,`3(̱a: Ɏ msn#KZeJʽрp!FJf4eo'^vzna]v7a~WCai`< `Z7JV~#jP8#jṭ#9E 8cD3P3)kj1L^IK;b3r.B SuVqV,Ɉitހ{\*z +IsC+ݽhR\ b e{ř9M2Lj5 ǘ4O5 9HL y a"@WJ`fhvV;*5sMcBS*%8YMw!E>*\`aCbJ _x,W]jJ_V'E^yzX*/ذa#^D)V(Aa?'5$k@'C5z ,ȑXőE\,rGB.h"M/i*2d/Sk +-GǡWdGbM{ĉB鶯8灒x &rvM~@y!Ůx،\SG &]I4Nr%L+0sЊ?e۲*jG8+xUre~tQ_/adz%QQ68YJu+7X=΃@"{OBޏA!h H5! ~>jݨUL_g/dɁ$,+"NLp;Z,8YrB¯ǠĚlhq͕cF%|GJAP+.rQIړxGSpGlr{4 + +75 $ =Ϊ,#]n5җS+bbؾukG6-0 (/`]ȇ;G`^ALsyvtn1W[T@"=rh# S%ͽKDaS]E®L80&)Z)5#* 7؋65zAӪV&c \ea*E5.{oz VU-x!-4E{WLF*(xÔ H PXr@g$\v%]Hs31E"NW )iEVSKK$UVeB97P^S30ruz (XDv#D8pAgFqRS y-Tٮr&e[`?Cڳ'p?a<kbxEU)@>JO9c`u4v!R4AYE@|JAN3iB<5"> oVDaw:Rv>'Q+k6xV7_8*ФlVN\u* 9 ⃉Ip + +8z ~>9χsT( +upX"Dk[" +7V}fK&SeE%&ˬ-NF^XOH婨2TqF\c>^CuZfRJVU,{f" ?BwH=k[G};/w` !_͕˓Ma{lTG!j @Zٵ!bO?K( +C +]g{)d s9_k ̙ Z4QzRkv[.e8ƮU.wnS_5bclG^di5]fx& Z"agwSm9 <Tɏ0YZČ̃9D}<[+o-2]8 Ū㡿kEC^gX~16/Uxvo) 03"vDCt_ؤRN#]m֋rQ@'I' `I z͌,'b^alOQAZAF*`ͷJ)$/E$1|zO?@oelg AkF~zЪR.jr;9`veaMs>J^ ϰ*չ +zkxX34IKDB-csO%0$y -+q Ha2lFUu}il 7!΁(UY_ AC}C뷬b;ǰQf^+:a}j ^6g`//TN>>-ibaDۨa֍2rE]~<й*7UT}R7t 齽/qlL*q3o/Ad]eMlZE;50 zu!6Q~l% iRNZ .y=v +Lz I"v VF? ]Hj5|D|߫w= *+n8S.oA"Gd)(")X%;<2z+^8'֜TCC#+E\9ɣ r2"A7 <6rNWaTkϔ ALfàa3~p)KJ=i~ XϷ)6Yɾ'l?Q=_. wgEAB,‘L&` u>d:8]'h+r%+ lw1 ՂROW %xUx d:cĠ1%`BX#4 &wҍ"[dshc~p`2x`uV!%7:$eEZ_SG%:3̵n+-GP4SL U+\42A}*KSNa!>B΁"i?`\134*<|^"Nr9A[! 0 +70EjGAݬD:N(ml<(ѾGq-HXہ .R tn>KlE;N[^:g~m8%c6=.DIIiR/9p' ĤY|~3__f9I&/f +VD"v4F $cGf o%7uܴ], AAoDwjk)hܝ +Wk>cx9LSG#12#d.WⰉu@KsnlXS/]8&tl㲴(d9=zuHg i_>,ڐXWI__!W*f$2 𰮅wE 8^ & +:,Cz UqL E0N] Wh-g"Bިd3ћ8r"²q}A,=&E0hM$=47V.MX=qmwU#xeN;t)aA_,ho@8Z{e*J'Gv8:VE9 +W=7S~6!#3:\@36mO:cw!ӹB^KJF܌=-9jnǶ<02:X.EQ"¦`ɞnPw FZ:StցE[d71xI +akP-ɷŬ!u]r4s\`ʨPIO؆n@9̏K@0B~6/a.D{ fΠ[!?Ո-a+%k +$Dм>3ϫ?$6SCʢW?⢚&:0o)HOa+wdTDk[^WP@7/-)+qɄȁ"r Y,m$.ڣA9ڮn,/^8ukɵhxƪH=oZlDOpGS8*Ս"kOӻU`Q&y"qD>A +MjW  U^I&CC%ՉA<!(DyIα$_Zat,\#ߔTS[VbAgTIӯ / U"978@YI4bdje7bGug§;cesZ0! +mep87~0l`23)>k)oVόHE !P_`|lIM4Y Q=u$/f.,~OicVbjy 0X&*{us( -\w[TSB. 5 AX@zVe`I{G@= U2 ~\rzDHrtOw +r*I*C `mƙbEbBjJ 7ӊ+zo12J,{58r`sǙB&Ħjf"xYd0#2; A q\ 51e=9S%n@Ne"U}U" PIi778$"qI:Nҿ9J4ɜ{K9^0G5#rLunK_'Y; t r뿟MYrس]ռLP2~1Ud3,[\6۬xE ©5ؙ`e\w ~KM*M Ҝ-~_Y7e JT!e<%? 0ah迿._JB i y ϒs 'ȁ1#˿_&V}M>7Zswհq"ֵ(f_)@{J:W2 +븁C:Ɔ94;S}D  +)1Ʉ;=FV_ښ+ LʤEIAfH:"yB)q3:v}e"DlA6"궇aM>ڝW. j*T<"4VD-)ݡ0) +omv8$v44a&A=cBBb$ GHͰW@hLLPS'^g"_[8CAT7o" H97Mv]к]pNYǙ-X]H 80&AqVx==!"C @ X!u+epx9B `EAB+0ZZaSF6uݍaӾQE`j>nyڙ/^ cR%yyo2_V3MpˆhimV5( pJnW%i?4ujCB'Lwy%mPrYc@qJ1jD=~vQ@%|"˾C /@  Ȋ3ia䎶# r[.6RgaX;V&ʮ&3XVі~Fv$A2M8H8^DB/7IwXvğ:G)O7ѕ܋acp] +djgE1pMh}EGo|[g%>2 Ag>F<<_l0I̍I9cOacl( ?ƩF~O +és_3}Obq7\" X)UfXd!0a)@弨fvo+ m¾NZE8R$0POLCvg0(m +cbh1;U.uW ۤ#\_1 as @zB8l"yP##7>]iR5V|Jkv:PE{SjC6DVZ^~"1&"kQ0IY:'D,E(^,p?P L_su r#z+}El!sC?IJ;3U +W;E1GMMJ[ֶo$QzuRh*ï~ +NF%h? }m2;%kXK +ttME$AS); qY35nI}ޣE +(#!@RB+~`/ݾYw@Әי?PgTh}{' BW0Q>jp(">& .{?:LB`G&0-)0F?Э#:~p s$,ݗ4k\cS~0lh麵|E֧G0d ZN-AJ"?G09v фp'*1]e +M,e4'ڕAd{}vkCN-=UEj  -]*nZh Vd^צU8{XU;u߉#($PFKGs`0 +&67}t%vj&PLJiQdB̻XIq4n dCHˉS(# Ji?*Їs(n,붔鶲YS"QfwsćR'?'0@g"IkEꎐIe"hpqܿ DS=#[0a+Y)MN2R'̷e:nSҡW#x ZnX3K mևjzPV EѦ"coD6 jK]՚wDd I7Zj7;"JJ +<#0h,1ŌøW;S_6jξ5LI+$3XYd;U$ Wl2za ̂M2Nh .c-t˺stmaזL1xTqˮf/whicMclW"8: " 댩l݈6ؓAϦazH1<mcwٶ{0e蝶\x)dhxվx#O7~ŕ*}&=4;=gb+vQ=|hOh#g!N*ݟEzxABX 3p\^~\kO׊R,ЏHIWX1V#C2%cxh +ˈ>Y8bsTFŽxm UР|e+@=Dd~\o:t:&<ˍetXSt{B +WgfwD:1CP1BfL=310ܬo%6_igRPTU|Ȝ&;Ú?s=>g܋ntS̈ze7]#9"PRqU(1LZWF@ŷW+닽ZWpV0ݹ+Bkl+8^zU71aޞ3DG^PL\b-*%ճ[l.P2ځ 8.V\t#"bM]xW 0rZ3y(Kb,8e$PX)lhDd\_SXl2HJSՅ3@Tc_3!<#JXSš,M~2,'5h*$ ̓xuN(۪KƀάlkUe +o覬㬅Z:͙]@sjo~)@x8 #E]uͺzz1$_}(!VbjJJ]aDuF䢢lHEDr8__b>/EIqsh04Dx>ڮ-IwY+`k=)>WJх^]lDB-;,-vg%qrZF kಊ<0ХFPn nļ'".OfbIbv\$BR(PTVHK;E?c +f>xOlNNZBsXl%tc.i.!ҀU__$Щt 4.3["kzE5@)Arurh!q9INWep֔C(_5V1j-6)=N|j._Zd3r ~s%{ZXAE2Y}(-ƓOncFZI+$Cz,.>=La+D3l tKatq#f"i!oIÆ"5{3́0/ |~DU͘I\W;77[@=9%T랮5pPI,]^V+ɮlӂ +KVK#%ѝIR뺷ySTf3]8ܻjTr&&59H * i0pjoLlB]ϥ WFzbr. +J{LЎ o2:Cͫ 0A1h-ܛ1a&,yr3$)S-fC0_Oᡇی`f]R_)oEZ-\LJvܐn WDa6I$'rKb߱84tEu^x,dM:CnmӬ0+8A+5RdQbðZG{wRǖ([dzh=uO cݨ(bR2׉gTCWS(#hX b{P~o9V,JfmӻUCg0j]y,ٿ`6(YOM$hRLmƄ爇h9Ff҅% ++Uu ~x?{Ci +P}n@`קw.:FS藯ZHȨԄTȤ-,ȧg;dG[HeqRBs_b(gl2/Tch\VC\t> :5Y;z*VJpoH1SA_L0r׾lر~̪A0+Lf_g3gȏA`s"rBΤeqέCwOYab %S؟[nbӰ6w(KAwȩ +(DZJ^  π$,'d<ߢ誐t;!>T;ԌU|N0kY?C^e$[ +NTخǚpX|> {ꑁ:ΙBooc_d˯կ0ꉨ #l  9 N +}bzO5 ꆭ8nk\w#x]>i}.au 3A,4Mm <+vAW\qvC:fu튌"~|h?*Eo\k[ (U Zv\ޫi N+w +H,kps]Ugl]g0lv7\,q6X"P "b)2CC;MSD{1 )Ͽgpq ckIef\A3Xp x#Hrt@6\:#b%́Ͽ 0OVGK֤7\7U!Lf0g˜dF 3vK[oQdz6Y@t6n *9s]-y{Ҝʲ8@-ȃԮGoMI%Klh2isj3cc ޹CвI:zN m?G^,YZ|`j[^Dr +|X8F@zZv${CkU8 ؅Tg iֈ}RoKI _pm^A|ƪs;Wc-u{ sdpƖqח b5O@rG=׭ipUKFBYGTIUB!qKBLi4S0vHmW +˄ 'Nm ,o_-\pO\P7$Ez @MdD)koEH`&)fJܶe@|\z`+:kQ ] /xJj!k lTZ`}{'KwEם>gSW[>Ã_#|Ht "}g۸#qb<7,s8329UtPJ`R6‡l9B;AD`9Ȣ{O~9 +~$ǣiZA,?|$r_CǡBv#~8!]7H+S"-Uv-@~<{و+m1H]jO{f>-/H&<9Ӂ6lX*2f~΀3# a9X_i:!%pN'uO!y;SE2@ey3XzJIw5Ra.W,#Ȩk +PI#a=P/iRhǂׁ8M^~k?'E9AYb7sXU#bknu}!(> jÖ*U}J 2&@ڧ|^rKs3;%>)F>>H$Pgf̃8ɪ33zsK> ~([Q9ǵ~Y9չM]1V)`V@OR[pA&˯|@1~yR{3Ő/v7AFdJrGS8w{^%'fV|B8Lhu \/h뎰V9Fkof:Ww1-򏄉qUGTꥎ/N'r}ru}߱s=:dJs.l)!K |o+AwPP5FnftR~5݊Jݪjw ,G}L6ytw5,5o n⡛qa)ŷ +EN |PfcK a@)$ez fr/{&cb׶^1י,*k\EP`NЊ@+DV 2ն)hc"408C^H'CXd"!Ւܝ%lr2J$$O;F[VP 3H34L5_ʚQ`:7#.22骇 WaȅdUh:3\YNjJC$-=x}$}*@88\}HN% ޼uY^gtngd;W?_q$!e> N +`xP"#hdduN$DЈCMÜ_R>stream +3bߖ8`Q6X0r. }LH1#H,? CX{,t&9N8`̲^/Iyyڔ<Бy_;]>m/Qm19[KJ|y}ئău +Za;%2bks%0B/p 4d>Jy?EXf8]ҖCJeƖ%kf˔ʽ+v + [ΕCľ~%(2y>ȞO֏al|P16 +8W0˪Pn?|PU:\bj?5yE^^y l´3s k#fjI{;Rϖt:ʔ%јx?(NhnY2> hIT}!n;_KS_H{r&ˢhhRQxr>ú~|Z, dFu?SKfScN~vӖ[Vux!ݎ^^aqQL{WW`%F+5welYŴN*'(i-i{͉oA-U9Y: ~Ȳ~Do[}):"ɮ9!jF W$"% } +SW:RpLhP)$dY-GM܆*rWiod7_r0*#N1ǥvꑩA= [Ky̢ QcHrRieFX<͏O3 AO겕񝅿щ5䵁P9 !lRI$Par +d 2tc OɅC +La22EU^90?M>M;1AC+w(xoT2-t7[{,-Wj*,ם/Yp\BK睻s߽eK=4TXU$!SnxnrY)TaQwv> ؟sylvGzbO +Pڮ3a0=b5E+ (6 +U#{կB|C+*\<8?FÊb I+{E-)wUuyA +* }:UIjy}z*)z1@ dGD`!j6)<~F`0N ;1SU +^ٷ^=@Rz[^Z[] +`'Ot{Cz,u+0r(!r3 R *v&Kbwsc^>^4w?3p``b;+B%! +OxqљDs[*5Pۦ|dk%Ǐ" +1)J̀V|P1X3 c^:1S΍$X9׽D2ԓ/a#a* RSyX*Tj/'Bn¦nωJiN*ܪLMxg Z]U|=O*c#BmR[ "¼QEwq j!pg9g6{0#CVĘJk+ ؍L3"01[Ҽqruqxa _Tc+{U7k}S-MAC9lZGW18~Q PCD(fQn ٔ~:ojj%ǣ)~jʓ/NfT+#[E +GY {H:96r#Jd_s*iLVk9^"C + Ql 5OcwjNt解ZTm{"O%c ǔfD9|] vșP~]# 0UN-Bhq1;Z_oaL |Ph9T S_ k(_98 +Ԃ{0.# 2lL"rW_79X3Vm`D]R%:dC␑u݈@LQ̤֩(Q +_9Nx)A*u8.^?si9#&k00Po`XPrckBDE/,NQR kiȩBQ4. Ha NgG +7LX6%OBWos/ƞ`DZ DKX/ "CEn3aGD1k^OmY&3=xݪe9[~ 2L8AVZPGw쟾`E +Ҿ+G)I>C҄d'! Щ]puZ9 +#3hٞS["=U>|qƶX`GH)vu?' g>U0 +P<tl$Zu[`X +žK)iUV݉fDQI\SCI`ZJ(+JSZbPʣ[8>0o4ۿœO/o/)??o?_?[__G ?`A7ikМⰙ8%E J߁:C=mL'i|--B=lY| SNyED6"\ aP,Έ,>"EhRF^U{h$. ٔpas>S `hJ j$Ģe#m[&Wc0Ya *Uv M鲍(bs7@zѻǠ0zz(zCtAEuKSu0"וUFnWj} Re=>ZI6F<4-XvW}Ҧ +loRGy%SGJ-t:.dW*Uڸij#yg`?ϥy$z = +~;A4[?!qk>V|<ȫ}o0R|]I[B5H7-]t0nD:r9KXnlg\@{ďG)v pDy~ !*MG{"JB3`i4F2h=؈1?Qt-zE?JBçtX^{C6ţPE/xX2ڕǖ(9$N/ieSM"%]8DDY~@+bs*<3_A/ecaKw^[^K;8@m~FdI-':ϟD^zc((ト]fBIBzxthᤴ/?6) R*x}[*pB13l0 pXqZ)1㓋x aۙ/h˖qy+b2Ur5 H\Ax"FgѶ#'@!ÒTw@^|!+I^ه`@D)AvO1L߽(@ǖӆ(찒lG˝4_/7(r{rף4U(ʴWЛ;䀌۟^Rz]_O 7@E ERG#^&tz#GHRϩ>weO-ʰ5c݅E"Y*Uqٹ+rwj=/-Sv>ݽXwe AڬJZ E::$־3ObAN;FNDUqqˆVmWﴎoA@- d)I\8sԽ?5EVb +W&tgz@>/H_ +mp̐{ylcuaN}ٸ?XޏUfhh&ݑҋPLfo6GwE/rϱga|y}dBD]v"Nrϝ…$o[KXN`DkUP+pID?ՄQN/&R)Oj@"`)cᰇ&Dwrc΁L;={s4Jڗ~9϶ +Ļ6{@(D\,z̯'+JyiEt~](Z;`N08-#8)[Z"r~ɏIPGk?. T]#o9uL!܋]7+/[?JYG\0D-=ҥ+P՚@cXDa4߇)'k/;sDiQ,=[J߆Po2}./R9ʏ@LQjˣtsjV7mRZˠ|32Je6va:g)g̝6_ќX0<юctT6S6|Vh%xhƊ$%4|XjMwXLUvk~òx=ԢSٕ0/ ၐd6=Ѧ<0Y-G%jڧ*N05\yPbLבF@?ײVIJ3.s?r}k-`ߨN=gIH]8 dzQ߰6흱D]Y Qᬟ۫~|_!č)U[w3D9d=13(_{2"@׃z ҇^$Wgr?BAW'yÎmj|C8 +D֑}WT +i;3Ӵ4~v@ǛoTUͧذ6V^@5]屍cd:ta$&}>ە 䆘v;IHAyu%Y +f|/']hM ħL {.)H@KC?a4B-n=*Wծ[XLLfֈ X]vhAgfE|ݑ7Мʝɷ°םDURv/橠q0V|3Mt`eqDc@zJ"B4)=G 3`X0QP:it5i̮ I1Z]䫤 3Q5dfysRrz[-/TN ?gUӎm);jg5O}DK~DC]X,`H 0UA&1 ׵.s"x5,vd.jqНGiEMG/{I `OCTib %X2y~?紜Zr!5 DڴKl'#s#3FT$Ԩvz޶S۳@;{,#=R0-qiUa;vڷЦiK"i8#d-ιO`jLa@.Z}%nq3ofhES:0PT]XRvg䉼ȎkdpJ3XjWz|8~ +b S8 pŀMt&7阬K|E@;G]a&~<N}jy5^#GU:ڝ~K,.f [ +m$K N 빸qF$b,ZO.3dCʷ.ڄ+-b߸SuDu~%}"l0? Z}aμsYgaSMU>+G>sKZ+UM +<zb:B`a*T\~Y{Ѿ<&7+!V{ʄ !+gGzJBxɭ㣑}GA _f ɋ$kn#}hwa$ r939(_/(HYxc߹/q{** \^Zw˃3[ uqLx71[sGgc`X6'һbvEq,i$+,jzIR0'aud_3rn`zD^gĮE)ĥ0ѸҰ?>Zd7xq)]R 6-1Cnq= 0'網?2rO)}f>+s(G[RjtՐ[۪p6-x1ky-K,ǫ.<%'&pc*q=ƙ޽9\ /& `=y2/ Ԟ_$~LKb;3/eK5c}J@:Bd +ӌr:D hkGiio) h"2oiܝ63 +Ov}Ձ!E=Ag]b.*8l!XiǛ}|S6c8-ւd^`\ђ#201; $rQ$FK;M8h@( : e,Lgk.>()g~?E0%G,ɉ֮X& +vB:d:6-}iv᧓t{7}=aiJ:E8C][Wi1уr?h !P rTBnJ 8㔲ֆSG~,\{'故*:8/0'u{(6Pg&2#+X# )AxH0yO>}zf:%Oa&81kC {MZw.V?i~ ZUmL^'J?`$x"_Nו<``EY jq54ɌK`Յ!67 }naRM[NE}ED +Hj#9+,]_g#8jdU?J jJMzr)(Cia^Ȝ ^<8* %(.BQY`n@x\yW_̸Tot9sW }`=mjL%yW~{T8NE2k5m*>{'_tGp`/y 6tcF7 ʁ@3 TK|`n\<) |؄1U{qTΨN+:9N Mx?OC-f]s F*]Μ_V9#6MY+j:9g +z1#p[n\}"0#\ gT_@$7 }" +EflG!$q吳>GݽVW{lid>ԓiPRݼb>3&wWs* +.b_N߾Ÿ/]B Gn57ٟF*כ2woF5s3Ykz$Ȱ[P4w}J(0+S:h(MCD)[kq@>6r M0Se[y&y0mJ},W͗Ioͩg_gxƣ +;z=uPU5:/#<\:tEXFM_q>kIoG /"A|] +9fyQ}}nّQhE FI"Aօ|]81SAѿV\j_UH"IY| ʛ:ÈA٢ӰAn-9 +7.R?pm{+*ly/)T +O)u.]@*b8I@WT BM? *M i1a9EZ +BlkU>.VeTi/Ү x%Fxb =r,₄pQU?TAFiJFa/՚'RX퉬=}=W;~0k(fGx|;Za߃00օ+U#T9aG7"1!䮿R>rz<\%\䷘lt)6 Yw*0-ȷU21@ \ CQ~cmpi!gJ!kJwhZԞw ׾1x66*? ZʀW4wn>&Hn5L$@/0BżS8A3ZR NKܨVdeƘluA8+w†xt*7I;IBSjә}G8'?*I0ZoIi(}vBVǃ5p*i@IG,x 2Fbrھ W+ʊ@3v-tQq"!L+JL+O6~v4x9CqURvg~S>o%elč|S<,-qx2cYyNխŚN-;8YdR6Kڴ/?b:9!֫ӹGj>JK<:`fPP"-5GmK7N#d1% t"#徼琟>=~`#~joo$FAϩ-mVS8oMU 3l5b]w:Io + 𨪩Gc8FEBGK*EW +F X] 0$M$[6WxGbگ2Ѫdmrjx9$ћ-I9IaJnrGeX /+u졌Eh[v}G vCҞPTiC_3iSՏ(.m2'ՉTPq +a64iI;kSL|uör[#=>S>+PA (=WEouD풇λ4]XfUW{myֽ9U`Ag)>+v<0蹩- +]a'ĬI8w̼&;d@4EكN; +dւ+7\\͸70O=:ylfq8r*Yhvz{+ZJ^m܂b>#DHWobKJvq0*]X*7.k@ʊT!t=+٥`5*#RƞpR"ayrhOYz5!`ŀzABHN:" +Wt2=]ju{bY4^ڡ'hd2]覦ahaFO6zڗn汧jhp ! z#Iz$͝3O Li=z+{Sc^\D\oEĈ]uFN.(QK2P :nb?H<0~w(UCyAʺ +i)V^L:]a :W iB]&=kϮ"_sY>,đC>} N+N ;2һ7֒#B%S~ +tR2+#J,5E8@RDX;(MZf}'[R[ޛ~'~E?&߮;n&^!Qzs0ªKxnƌ2 "I q>k\~Ν3^_ݷJeX,|H4XtIXRZWzz aY}f ̢nꎐC8_NERƲO)a)<7okO^Px)k 1|[63맙4r Z\݊Y9;dT={άl#unܾyQ#~cro=CP[V%cX +,|BM/|"^ 7ޚT!)n#Dr%ИJ-)dEBvVb7J@ɦe~|MZTTB稫r_sjj-lOH 7+ESĔy+BTL2M6!^TS!ľ0V]1IfC,rP`uwT:OXT-*^S:+b̌^kI$m|e D *\Z' _n[^e!,CU^W2JZ9tsuO=`_|=AǭWj$(3F6!FDz{mL1ט|xܣ_B=sMM?755t׺5 EHQȘLAG6Dό7TxإwQL%%_u u9V-2)i܎4n/P7d(9plup7 y  2V*nՆfHJT187R|:$z˿;tA r9:+`K6ƬR?zv6!QЯGV,Ha;9п k[}40u,<ӣU2ϳ36/v + ~^!Z7 +#ˍ* S->l%:4ts:Z"eǺ1iIcsEi,g*dd±>@9A& +(8HLh'ιHWgx IKxjѕU2] +U˪9F3Cp0'Ӑ|n:jA^ qr }#*f%OȾ>uqBo~" 45]5 :gd 4Hn |1ei5ГS`(@e㊑ȗg ۓ 4)QLҴ'ŧK8̌]"zrν^3u@s7{K'Y+Z!3᳝Z܋y4D&NLzukɮW+GO% Sz6񀺇•]YHU0M.;"{ +FA6b[Oӂ+=8{~~2)q(]b]+y}ss9aR߾w߄ϼw8M:5@:pٯԲxuDqSpZѭ`FuCV +ߏطVBk+f^9شg^—oM~x.v%՘ItyDqFB_5na(P*OhzAވASbCs2s`X+*{Q~ \MEā_Ue[g"p dI=mu.=j;$wak=u7bAaFe!"kĩgQEN1QL}T +%xO;)t a= lvXŦK,RȨGV/RXƧY@8^]@PSPb3I1m舑KhL5%l>|P|&qޡ? >_g6;![RfƜle>Q2(n"4)АLjaR KyP;nbmFoa67<Ptre!gDbHna`2nJ;ypJaMXrj'~q{=*K#f]Í;RD5Bv'ƕn)+sZ]6AS"9GZ#!NyErPY1Y||@/y8{,J&clN_A6_/E-0AWzvpP/ɩV-:BڛْE#堟jdV\U1pewA |F5<2B?^thJ2Cw8гʆ*hZ{gAN9m'kȴJ =dֽEU9לĞ,GAWR/I 4@ ͎zoO1DA"(!eJX9mO@G +!*D_r +(-[H9{aεcDM! MUc/xc7>G,pS#R[U(${JbV>H]Z | +}(BZ鞤n~0eeo ַ. if!NNC3WOs&FN1æJ3+֨oѵ?=? +Jv ϲ~jzؤ<݂#ls+4 W@Ճ{M{X3hX) +B\4Nr?S >Elqqz慯aUj wMQwȒ~1)Dqs|GvS!c Whap7&Ṙ5n#kW?] +F*aQctدCǠM\Β&覆NJM=;-9m}^)MXg~.svE<6O,D2%$?E +y,w Y#z}H*g 0CcsZQP9CzR41aA ,;7h!Ƕ]3ЯL΃=(MF^k)Dqݶrϴl)W@"m1#&J[NSQ٧kҋz+Dt@ ΰ~ oGg)z_O2Ώ Inͩ@V[36D K5G90K +k?DŽ0W:4(@tTB) /xum&ϰAT9|753"غ!bfCztT:Z6~JU^=B5Ԕh%28E+sud_B[esIzEaG +yiC!\5LI^ƥrz+A끱 HS!z6V77?R_ŠG~TǦ^;T;4ᐇu}syo_+lwr?f"js6] K/"lTm}q_ ^Ś佝1\Z?{-I(ru]rxd'/VX}59Px*a0% m BIY-8(=DAiƆ4` ǥ‚m0?>:-d(CWtؓ>%r#,5ZJ^KDJ_E$g(#04C-hq (*?b0&!943BNmAwť #BESY'N|H)eGG"9BMHX7l”E!O1}?5*MfFb%[qu׉n+=BzIR4pXؠgo9:DB罤xOC,*`pSaz2+i 7M+xcK]M/S{0p週&J0)6||'Jn8G^ǻ!] +Yi +S/}n9Ґh:?/n_v;ucJZY Χ&\rs[D3-ꓓB W`!n5pVdElIaodVuLw DJ:3҉ ɫlbdгzrhVӖS|ptvR4P2#KK4iFH縗^eY Ք 9j=8:{ۤb.I~)zT4a{#pg}ۖjYYlfBֵfGӎ`7tNaC7A:`S_9uB8mm-YPl'0&)X+S%Pj,: z.Afs"+/Jgk.*vؗ8c#}j]ľZW'aj5B; )\P%0ņx +cHzƁl^KuJ3ѼSuVۤ]:5χ *EFA |]Kz冡L.!~0`6K)w;X B2I%@`zsF}9^< PSu!0G"3/ދd8V8E7'GHLS|qv1L@%D) %NjʰəPq\0{#WzdnWKMEr.VW9$f3J\*`s/$g?|ឈBo3~AD-/ԫcpo'kբh֠5IT.nk!$$Hev|&[I>a}D +osQ[1|R dc r'<2p|>iR9N{XN,YcKt3sبDv%:1oFo"Rh_¢ט:c RtsJd{YVƑ +݅oNhFD(" hL=yT Hra$/) >m+ikk6pߜ".=X9hQ6.߿}f< Q-P9U8THň3YQ~MS-8og`tf4b%k+x֮s)r{E < wI\4 9,n) rgDvӅхgQj9֘Z4ADqGu,Xɳ}s"@71Ttn/"mUI9|`c\XLrbT(΀:vy{JQ2 ާjOח\JTj&c¤R螫rC:]~^ mB Š0[VD^,d7'G׶xۋ {@ٸ쿟-*4oӂ=!zN`tui\Ϫh@6>?[+ZH!Ghe0Z\/1cZ7fXF UdFěYHdqa`Y~aFȺKD)e d*+? @ 쪯= x ҥꪺJ/ϣqL/A'[#C6U'={|qX? I }|wzؑ";\ڡNDØ%WC0*ѰX Lr= o7F#4J"p|0L+ ̵J.D^ t6ǧS!P(hyugLa@2wd_EcfCrZm( 5eN;9^=棗zTʺ 6zr +yepU(%}Y)}*:0j_ԏpĴBahx5PaS)꺽G05Fh"]bW<w%\*Fa`}iQ\   ҩ(oND\v7ٲrr/AIQV~G$]4t{ T2T{eĬL?=͐w82%SpbCȤ^lS!_F ")u)~>ŋ_7oo?~O?ۿ_1cNo{=Wڒayf~PWh v}^I s_|hx{ 8]̴PsQ;u70|+^~j8ԝ:s5!2܂x)SYQ`0U%'%('iƜKXfST! \[A-@Xzb/Uy\*r)ѥ^U@Nqd=0cCsf !2= +c;  9m7zq4@&O(ę,%3ۡT^<3E`=$Ay ;up)<ee |ݓ7GVn$r T +W-U|{%rŭ3\u?VHo=\H8NZBB|l~GP /9 +}7}A tߧ-dVTcYz9HL1K7't|Y͊GU 2ILД$e֙dmޯ=;[c9x[C163~v)hv~"r@, uѲ0=B%&E`_P"*`?IMB\{:z団CעpN`+SzLa ,QLcAۿ'?Yu&+++w:=p~-r2-&ڌH[_Eah= NT +Ȍsh/GۡǾWFmCd\`vu;!}<: -N!^cJ4[aMiToA1LH9"(Q{*:Ls)8<f?> qp}As_W[7LypzoBOPCsWQ&ulOerTF^$#~DӶ͍ȈnEipz/}^숊zPc$\# #l(tțrL@hN\(P }%QT#P9!ಟ2u n&wSU_8IDLM::((C F"e~ȁɈkf+$`v)L-ͺ*.uuB7'ڟ]pP%{ DåʚJ?"$ L- +zAiOfr窥o"bu̗%*V(ľxB'7#Nj%{mg6ti:M|ʊw"?@~V`RPIhN%}/h=@? wsKڣ#Н׆ P!8{4'O?^"-D +$MlxU R$经LC* egJ _~ sDc7 C~zyHw<0j!_' 5cT?a?4*·omش|*X#ŬX:6-ja;C),X斧*%yf8-D@q)nٽ(טE|+cT*T"RAḿx-*ͼe2 +:{#0: +ш~~/'fREvy"S!UCjvnWrFTϯ~a.L 7?9W g)|Ŷ#[*|I2+x}&[ExQ_6jq20cZ̽)& hEwuR-EClBBqi'*и*aEXA06 +R瞿aA{Z//Ab}9-Е_Xif#4 a#ikoZv\NT1K4|"-Qh.-J~2v_iDɺcZgsBxiǣFMVY<>Q%߻zIb硡 +dc$ cY=b~3C=~0r p$YY@Gz } DI6^0!ʆ[ *Z@F[+4ǁvM@1$~`E5H^qj1|)0 (DwՆOKuZp`iT4.٢ Z莴3OأYQ&BzIg5 +uz)X}Uk lҨb"S<(:&Xce0 L s$=V \`h_0$+\!B }+ׁ֛l_7Q9:)Uaa,hD9,6zK +tUAU~=)Cx& 8C!QLZ{:0dg<3{!&a!8Dk%]ꋧ '4+K_$n=ӎ@uN7/qG [%P),{4 7lx с +sZG駰eBKH #.T@j"/ͫ0Sy*"!Ÿpo"_/}XՉZPctQXCd +&7Iz6ʪjjzaE=Ս]&8?]J|+=*6e9~VNPAGB~Ď}uXqAK Llo'¬'%3V#W7xkOɲ:SR,lY%T D*$6ߜȁ ,[^;{~=v*naqF5|ѯ\d:+Ρ,Z+&vRGm<!Jxc D<΅Dq~v3/a̼q?.E Ȑ,LxX Q,eDmY%?/¬ᣃQX{r(C:RCѱy"g 0L{}Bo's#q$ː(cPh: [-P2s3n:JQKO7 +=6\_~{#s(R~4,`i@1Q^(zT+oA( +{a4f Z{BmF+oQKɴ(֣VO&ZL7 {#'pߩ=a@WR0aY&?]l~{lɊKłK +kj }yRwGCRl^J'bɻitJ׆|?}muP.&򠏎oMDYU/X52D,EcSH7Nn^} l6(]x*֎[=3?nO-HhxTC,oyw| x r~dV\A] .u_E%(m#Fl9sԫU:-N <}be8ueE/A 3ţv8o%h>CnaOs@ +:@1}=}%AfƯ_'I/v˧ȸw.FzKԾsԑV(.-c̭Ǔ$Y9`RoG\l/13[A1e +jG_jXthO!E1X+o,%l.vڷڻD# +W7'j+*@p xo G=r +_{6i&*6jdm 7 +!sK]$ۨ`wKEu|_vDPt\ ȝg5Znq6zO rp Qɦ˕wO*3}aɿ  y7R{c$^!ELyڂ&J|8vb4N5?,+ni~5ms:f[T 9YJ6ս@+,CkCOօ`+͒?AU ދ]&i,%HQo(,822eH C1.]ٮ}OwБ +TqAox7QawYk$^ɀ>欃ã xwDd+=5X gw)|$m kGr,[.~\Fe1*X)K.uڄc +f e4Ps m.A%K}LM;{nlLj܆tJXΰ$؜uF#j\4KmEƍkB\)|*luV$_+(Jj e0Gh@!1DQ28imǽe!S-K¬a!.,^|a+@DɆ ڀd~ t;`SɈ5TU™N*zrw'+g;5C*Ф5aɚi}]bqůlچ7Bd,# +,b?D)Za5zAiB9Z$QI " g]__g Z<rhw])~o[g{hW>K2~B<njq{=?Pv;V}]A [R +2zq)|" *+ԓlyC4&30]Au+F[飈ٜL`aoXRƗ1Ѽ"OC{ |i3棇4q 1Vr iv#XÒQxEܢ̏X(c 5}R$2tY{;9'rOeu!´ +jJn($`"R2}0@FR0q;:(L$D"tSҌG]m|" (G< K)S./d/gg{} 'uOt1`(Iu' eSC>L1?TȮ@A@ӣ;}8@je{2Va"$LpXP7w' @> +D ~o}]ZG}5zM]xQ::zdBX`B^&G)?1u[E`͎DoJz0mT * a +/.;h%]{wUo$'G>Z!u]6HU|ȲY^RC +_֧;iq@Ϋ$:]Q/>P1'ZYJruF.B$A>+,Y3r9* +Ѣ1MmZz*[2`K}!@J2i !Gc6;#Kz;bNfSkѱCkтW5 ԝz_-1-ܛzP4'=abA~dU`S']܎ +J`.f x 9L IK!PET3NLSd'3;B53B!XPbh#-xO94`?HDT^u]+o2 #1G\u%=g k.7l0Avc e@[&,mU=Yzj(7"`/0,ʴ7J 9ȵ>3J%CaW/lJ-Ni>I)AA8dU^cZ[!B:N˥gM9~89d7P3"ɰ^CXPH r#K8wx+휵=fj( ߡԁo/MD;uF`&5ێU)+6W"J一jT| +a[<2)J +N +0jP3O]=0).R74JJ<3{ ЦW7c`O. j2 qu.ÿ~rtf+~]C,4\a}'y؄J8{&A,LqSRHq @CdŇ|BĤ59'4[騜> +UKt| Y-Y86^1-S:8>Ƨ!Ɨ H{.q;)%JEȢ~hK-۹\z~ig(qA(Z¶j\oB>{@Vɽ{E~N2/av ۙ+lgXfJլo ^`.(7.6ڎ~-5p!x- ? Fmq1_37T,۲P}YrI]pDj+S, 쥁Lԗi53>OPo(K% 93*|8On]bM ͐Ma/O4z¡:.Qb*\A=qtMںZHg +?nKXOe(XnB3E:>Tkrdcȯy+I8-TvΈ|yk),·j,r&'f{@gVbaA)dwO_gyA|LdiFp~` j&>cptl{ +be7`jvF1e'\H @EVi +[ZAot*$#U8TJb\Z +> lLB y+GTL'mޫ6b-ycS߇ZG]*z_. 5+r6AUr;TK hZaz#;p?@ +IRz6I{P![cs23##y'r*F[&A jVxR+ms._>P+ j$[87̐7-QDD1а( +CT8V<pxN ,E@È(>__o8}pZk=^j 'h i^ uD=|/aǕ6L-AqNY #iP^Jky{Ye.BR`Qh{2F\a:> +TcPϛ f)eUץlDXlޯ}$ Ԥ.E# U줖{-7Mt:~ 1;'7tsPbV3 ;J ``ZW)̻|[!*g@]p9fh/ sl[HjP N⚕ &;;UGc ǨݨF+)TN򑹽3H ##@Xӽ(_ax_ɶ4ztnY G_zjq%[]jMU"txd}52O^$*9h'A3@n +@gL88 ͮ+CH?CS1A(@gj> 3d~ +OD(4A%I|+JAB"=Y9*c'Pppz + +j0jYoQO{ Pr[L1RpLgOcr9s$M9a6y_WmaWop%&*{d\EϜo^ a.pjz񌉙Y=Qt(@"F +L]~Z(oT=y |E6+h Lax@ٻ;]ŮR庽{Z *5B0s}/ kJB N.lЊÞ- 5&~FBS ':2RW?IӪs?)땏KS,gtH)^`XW5?te"o!?k0p;<}{oK < qYXFa$,8D7D"P̑Ȥ*8~OjK +;#ђg*D}X;I#¸`&t|g:Ya' F<],/'{]EuI.S^+O:Ar#fD68$Dc8܇G( nز>|iH>0oIiC7)A+OM*Kb1ӔOn]p_{*y ڥ0wĽe6C_uVZ>5Vdk@fU4hSx7rU.u U!4XS8HAu\yplw[I@K9 ΔPQX8Wq4!#5^Dx 8Rem ˣRy!!Z[pĻww[Aj.JaƉhU5銹EϘa3{\`X9߉H m5B\R H,wZƒ"{@REei.LT@ -jtǑ9op>ApV҆]MjܼՈR*lv*V5Ňu)_>VTl.DvѥXtZlRuYB4xl_G0/5(fbQClxqOiT}dJm^*KRa)bIArAIt<؂)7p [XX>"Wֆ}R| ck +Ό,sB޿ a޽v6'[n5dU1p-v&ʝ4rbViJc'v^^y3X~g bEZZrkpk]^5sfHӻYKAɢ+yJX– h"RnjREWf$"> 5`bԥ2:A5HGI\n j+ Mh4[3ŋ]rKxL&gJK"78Ȭ]i)x1ЈZFbKb@LIjܼ A !)h"Q53!|5QhSn^huu=Vw.dwiTڊJ.~"m  Q2 |CE,p或=Z#S%+ +8 2yYzVHMaLcTW¤]\.|usРh+TzRKK >ۍKRyѬ$u/8ڻ? pT/زgءޘT >wU0=v t?a^a[Oh<5'z%&<بž C%ɐҍXe},齺7u"CYs3xz`;wH/Vcq$:d&g,2B[#rg$f&M %E xms@u#z)von[ᆈ0x 8Y!xV1L'M8{nnT6I1}h% p;-|-\9jLƻ4"B +R&Po}%ǖS_tGiYX̷scYDd>zk k:IO1 Pџ1OsM6&aס^?x]!~\!˄~ +u`%fdRhhq/p?Uwʸҙ.Pf,%0UyruA>}냸ɖs#=_@Źه2pH}1WxZL!_,RjfYB@PRPn87a /ԇX_otT yTR5{'_Vom;\I4{1?tV~~dݭ)z6wwkkب\-ݹW K'SEʤ!io`l.\R>LagHj~Ѥ& ǚf*Qˡ.:]aOS=3DQ#B"=|9 KW!w|{_.0N|AF⟤`빦X J<7H{ĩ%./Y+QD߻ΕN\<ЮPuDSAº`(BœUL8R)1+1'ܔ_Oel_{Ї|{tzJPl,EAKV`G0鑮ˇJz js)vPpj+""ǧDK)_ 4ťw0enQoD-=mױx Q}7`ȱ>,RDM@shMw8hZ[XQh|Pa(PPi~qI;Whѓ,ޛFtlm!tv&" B{GoXW=00a`[R.<_zC~_N@&! +p{M9=pR%Ql%ǡSM hS h@[F +Q9h@DY?-1Rlu' +vD0 e7GVa:H bFwJA-%<05!*v͐3 gOk0&7K +xP -1!gl{j}6F;a%v.9N6@͸Th},LCDA"(OA7gTMB"mw_ +NԊ'(FDg%.:kBm[r9s>&zxÛEJ1Sc-A6"GEسg%OSMXBgfrkNf}вփA +z ڿ@kܝv/ۻ_r&/0DtH!w`e cIʟn aϑz6{uCL-Rh"i2CϚ^S-W)a{X5Gt:ltEAdʀoV_M.Saa j0ĞHz-NHy |'5Di0HoU'H"L8Ԃy9'oC,<ǡ- :#lzwAp 1S'D׀3eվ&󀝰TAP}}s6 o#w&ہD:픪QBle%13"]n'{||x1]DABT*xuI$I8+5Tru=:z]) X*Ѯ ? +J9aC)4U˺4g2b2d1C6iڟlXjuWg4yXpTb|+dmv6^9."n/[+U AT +E-j|W83X,$5]c<cÈSd|%Q(aB*b,lAIw*#`ܪ. IӯjG`j,al=ᐥqJA7Zu Wb~\9`3J'\程}Wrjs>$ 3J|bջ/4cbs{Nx b ٻxc_.-&@J0 +4O#[(Lfmvsz}<ޔnYԵ*4*uL.Qa~,I++9^ UOJX4ꐂi+@?2:ܽTGэ{d$M|ĄRdf +T{bMd2G(rkTL6Y'=ǬяC|>!Öh@>[UCDžkPRS~*)K0v78M}=:R(Msau19oU6@zosso32|չ; +*{p8*C,n=q>^nDT\{_럇)?C ~*9!^Qaqi?OG̨ovi̔C$_TuBYW13U1κ~ ų`вxWk_C'I0s +2 +Pݣ-|*Nex'X#X!(6Uv['l`shASƃv\g@ v:J TdcՌ~a;t!w7wP@7m}R 4ӟ{ܺ^r~U|; ₮Dru}yb*"XM}9,p}֮`!3wimJ`YCPEh.!vXpw;jgiD=4105P"=D⟝@*DŽwd X'A^|y[9' V{%(3U& Nn ^)}(*ڦsQf +Xa b:O7'hC %ܶC@i[6 d;Q-g]|L +H)1Y?M,()($xkS〉UtƑ̢nS{ E^&q(cbGєʖ7s2!->G!G}& W[7(A!8v۾ 7!xf#V?h>%y3(oq9Sx;e~42% { BEZINݩob ((lpFKa&MwX0QD4 ^;g%|@kJqnHS Rni +ėQ3gGV2kCs'Axe@!Io϶vh 4L|"ՆR6S.#T<2o'u{ym=3Yҧ?(UrZ>o=~(ܾwVQ1:VхӂAԴ4?ΠyY{X N.7mfт A-M~3 V@sNM6ݛ\r,:# +J/a7 +_E*dB2ܜʩ8 #3n'# LcXݏ!B!2^YiuTGC,.; L;΢18a]V DTk. 8 /H^cТ/ +*'@Fs 5ϜB+>ĎngJUg\ƍ6l'N;s"SYlm!S7(ȑ|_tei&I #Pl=dTt׀ׄ#tB}sB~oY Pպ +e+t^Ra`"ʦ0&b"]92Xz"QQbMXI>̦зT^f,wkЏA9RZ0H-Y3>ĭ`ѓֳRH LQ+z3e0ؿDi:o qF{jQ⁇:EDJ9<=^mT:t} {_g v`pMmƣt!KÏ7ԏءtJc),SϏ*ti;83&9O>r4`{&v"MCe=h淰"x3z#pa#KJ/u*ړj~E{] a؞u5ryěGQ(5Lt #9>>Yք'^\xf#?C+jnwpC~(.WGЭΚ|ȥa7<=טKCTf!:l:@naW:"ΟV=z2/[_TZs:q,3^G` +T +YuEwk5QWrµY +B<9J KF9z#I`Z @\%Jݏ)!@dPQn)"~}Q?e­E/7?7~ڟ8>Ow/?~u#~@H"I&:}&g8NBqIaWE?C(hMf HnI\.y εxˆNDtl+!wm<] Jb5;% +E<^HY1.'=} Ty +@ +jCg;ں+A/c)@FIJx7#,}Դ҈C#6ŗ8meOy PB*ev vbU +I 6Y~'/\wz CiL Hu,1R]`?C¬fGI2FI1ch9Xi j0Clf1ёyHe&gؓ_(3|_1A0yְZ/ThyY1hD<рjaB=K<}8`sb7: ^~Hz˄&8`D\Mi;[Q*wb&&JG^;̍Me7FwEVIfOt7vր]Dep= ר+[$_}n!Kߋe@:}9pYZcOOq`kcl&z`N;b~^jBW!򋰋`D&1U´_\q" kR+IuE O-u`xF]7; ؀y,D,t\ +ѡذ"l#Jw.~z jr".wZ\v7a{NKj!Gg{ī1`\t#p8M5j'mD&da#fC9 NGX$.(A +vrokh jSoQ{bzL/6<3oUÐ*׀9G)1Ł_:$I=@J *fށJ@ h ! EO ҽ6"|U!-q/X\ +W6dڞN on漽d%A|@A IzK-T. }sܵC)}oj[W%EWb5}I@1y' m<!R %|[AK1CKȥrRJeBPpBP=N4N3@bJJ1h x?d'{WlJvT-3y,ڼ(*D6H?1{LL%.DDwWQIeQ81g"Ӊ{J#JFl^|ƕpJ{XL! B&6WK W֥N( zo9=KdKQcDbN"w*S-cJEdC~Rbϑ[I i{Tcp˪J!_zS~|ޭ16{F> +D&מ;S ,{U 3 TxM c3Ju)/Ж[ELx|sDaUG{ +8\R{x_'C+#oeޝ*jX%[Fi/o~:kgoDH];Dv"0u|̌z`&%vwfjpIklfXRM@%MJ(ԅ$7,">:HdlDMs*z0T aAPP`߫Þ%pCD(aŭlcoo90mw>&~ {ݿ +Y4ww1:[®ƫ@[Ñ'GsG %roNβPA/Har꿀#QI'?z0k肌W얺% JA)V*&H m!6 +$`Q5Xc6\R` 쭁لo գ9ZXx*n;Igj50'[eNՍ6v8@ ā(= eOte*KM˘ +{2S1jOhl_:t>csEX50:uG*#'߁' P W>B$-n@ôZʈm|Qu77Q[[LTԢĤkt^QiVW;TggjY{]ۙ(=+a'UrzD6˦pN%[epkzNR'$^ϑX\)E*9$~a\DW;2zBk uN|9Z>XN-êu@c-)^r75W36=Yب̲Bıg]1MѸ=J_dr sxTb)lۀ;t" j3ٞ?\h_?X%_)ۈ<KDuSzK_"P{Dx`???r=X7ƺ`~56yhXdK2w9vOB' +{׃+_O#5l1grVe @(8`Löل:ʖVPRϪƈz})ucCGDT]#h8@q\Jۮfxk#"@AMz?3kCWse0Ɇ4} mbC@tD1}ݾ 8DF=Y#IR@QuK J+#C"H{M[Q5L~8|AՖm\{0Zx'UyVNw9սפ.i +Ɂ|iX7n7~(&j9Nu*# QrzB36$+ +艜\T)4P%X b-.;s0*y.(Fn;}=Oݺ[7UOFIl]{GVĘ.`5b/!l ?[ 0I { $ӈ8ӸZY?_9e.#f + pa΃wp+i[EZ-5zkJ?;|DMrD^t7k|ZP?d!ڔW0De}Me.&m^A]GɬMۓQ +6t~H$8,- +wӮ+39"F(^*W8obW[Z5gheey@ޮj *OXlT&'T^aa@ߜIxOXbv}$xq<ϜQkI'@ڢPRЅ́Q6?{t]&>3}ɜ0.xxOmymŌ9M1\$#AJ~gsMʾ|7τ{ѫhY\T7p1q+*疦HdB&}c<,.<=18=C}D@^jش[؛N)NQ1/N$s&fN+4vEQ9}ĐqIȊ6I/3-;ӍzvPa,3WY)jnAY1;F8(cCʦD!W/I0 +oD;$vs"A=pg9PsD5MG\y?f%3!齫S3 ~TJn n Fd>F0B=Kှ+x߉cOQ['kX1:k"󩊍l|7IB&(RMvD0cָ"5smEzEaO4q=ff-lߕB)7c6 (:ꉀ#:V !;]i"c>.^.E7D:>/XKP,/v{6ĕJnw9 +ģE  @Z" }`?Y$~SUMA8=cJ^!2wu s šsZJTO03`>%V9N%q;h羢ӿn{k# EE/xȒ |;: PFH)SќǥyOJJ;K_D Zݐ죢5'ቸ*#Л‗.|+R*]+g[T1ʩ\$`yq*7{^_T3 zGUj*p-:|fhWr?[@*k%⬗ iAe? PI"nL~X/(/9!;;X!@pcy 4cݛO^>#FvqM=W>Nq 򇰪JPhһk&+G<,F׶v! zG_^H؎kwv<+Yr=j:8{| +K+3~__g~ +ۯW"ׇ +i6,ȅp <kQaπB|K>`G>J¨&g&}_ܗh1tɕX߮!!DP|@DA>Z:ir2Կ@7O8JTi^]u@tg! TMya*C""ׯ]ad,=KjL85fX +9KWIrwo& " ,rn۩v{ 3W- q\"= +1g"w."aXOCV"IdlGb he:q دq˜3G9d */IGGğd\Z:}k]z٠iDCbv$=r#T 5gf-$Z_?!%,jTҵ*3[Oޕww KHhc@]8Y@ҮiDL&=(uvE0k:SV=ˣ;LۑܗC^Cg |ө;@۝D_PC9ZgXwzt2&c^<ֹ/pZ# )3iX~-ы3k6sо쇯eYe)La 2(a+*B_D NFl@x/h@#E҇@m&oY2B>,QdcW\=C47o!CE?af9"Wȼ_̂6iF9%],F" 7B{ЖoQ.S9DO ^@5Чh#+%.ĊkK ài=aЙ=4.|19PU iDxݞr%:5{nH v؞x0Fp6&D(L0TƾOd2c4U qF,AH3p\EH] >ȩ?\ºl>zCr ,Έvl^I~EW +`- О'󮎵CR<90()luH pvzwQiͻ%EJanxqKIq@xXϳo c-,6icUD{!4at()k,ucZ{\;D5 n:F}y@ogS%T;<#{GL@qANKpʸqGx^LYYTg:AU`L^"9$qlA72R£`sxn<#pd+17NEӐvrfD.Y pҏal'ག@8Ahpd2ղDH5+fNaOq^Lŕj&"aFU4ȠЍQV*mI)4pԝE/H b<"0 +qms}KAC /ӊǶ+' ե~ KӅiV=4Gb=mDϡ,\+"CQ~K̐yY˙?>OBuP|gG9: &c~` Շg|}2MWs;UYW Mv;H0]lwJ_[10-<vlЮ[?՟gzjUf4|:onɁ0UbСGp hl0vD"?tD~um;kQ   p60J/^6*ED'!6<˻Tk %c(ise3M 8.}F *FZv3둞hS|f[cNU^$Km'Kd'b%ray@_RƟ57C{`/hڜO+؝Y1ZhwvhM Wyn j̪SkH$ F8)v]m$b< N0w +ȠI&ϰ69USH׮ׅg ϖJ7i$S蛡:kjJ:T-_2Ut@yI [J<{v-뒯IZ7~'}lwۖ8(5BTZUX"=_XZ# Ja80{rRUN1G*9] @qƟ¹x^5p zғk`N`Mdw!nD X=hK&2DHU_H1esLg=@nj>Sj;VMs +H"b!+yb(~Ѓ3tX|Q@e+@ G~ȌEyFH0"+^ʴpRƵ="JTr&aW[ C^<63^cd4)߻rƒ0+ +~"4@lZ1CAkӰAu΄!4gBvs3Z&0"Q~O^evƫR! fĝMenמ4u)&5i,-;S0`Q + /qԐ'{ܞ[sRWܿpz^ ezuӴzOpX\;i{OD%tL>1/2'#L(oR! cHdv`Q}4i&9p]^9ۦ9@eڤŚ6+|ٿnoǕҨv&%bAA9H6qX2zc@AߜTIg@R'wJ! +ݏ6t"S|$wni1b=d'/Xz#DC9%/[ص&i2pEEfɗTq[ xxN -tلH6Ut&Vdsru_֛]~(3kKu\U "ߛLU37_BK$lhčѶ#-"^Q8%̓ތncdtǐw05wWm@kÊi^9_B|NP(i_v< D+iv:%& +]K +[X<_:maīxGXݘ1H&Lʋ*.x6M_AbSh:v,i^y } 4knTDH|Ψ5t-UTi*@#2de/肬͝<*kF7kET _;pXzٞfz}6o EBS(֗2:H{h=jVgd fZnu\ݸudLJj{1u) xW0D(ѻ52և*$X7E! wL*̃%[|nD!^Y$X~Ìuo%ОQHcPBNJ22n|m-̂i Tg4/A*m_vݓY-8{SVy\^( Ѱ6Dk *=OkӋ0O// HYd~8w<*i2VPB{a +`CczDHI6wu8\28Y^€]ф0j$(+sP`Դj{skE;32 (22=A"Tр(Eukl4Ruo`,;t_h9Mxo2Bs&M +3{r[@)e (XG"hilF󃺺a!im)VYrbfT2yAxbt,D ;PRHеcrg5P>,wPDG9A5Yp[sʏ iux9fC6$D} C;JvuneD)-IYs"T}(rQʮoС;2tgR]QW$J'xH_!W#;x)Hb-AqWy$8f䀢EsA0b[ U(۵^7&5늘I~HzʜVYKG)wc~rͽ%(O#TB.b^f3Fb +]uˑ/6s#o}1UVcuWSO-_MRX ,< N%b yMVr<AMPOQ#xRu*(D錵K? +r=Lݵ0{LG~K}rޢ!gE B%HMbAOjQ=_ӮFV$o(s &{S\J'~UR444O5Q5nsn_[W0J%ߤ,s15pH 1#?嶝M0e(Zebk)2Hk oI]v޽ ̆9{TNV Y +qZDS/1}BLMLڍ_NfF٣3ϠO`r'ljzZ  +kPVi`9NCNXS.[1L+ԹzRrltQM!|<zo:?!F9#x"J2h~;j|Yn9V߽XXm0rͽ'?#<ٽrS65xOWBclSK/C"BH1*N5m (оcC*^JJ] +TA'sR-hū*+O0,n=b7@nm̻vV&L'HOH l!Z7BGgdf5CwD6d?p5=[&TaZJp'?cXƷE cur<luILę44ՁsGOMeLL0KaLO>HRl\}/&zA.8aHH~̰c: ##RzY>_((,4P/!f)͛<&ׁE]ɿ4TLfh(ON\2T[/nL|ɨ0>Dq54}:Gh]g *\#&돪b0~Yy4xe(?{c#d+bm-oG7f4jI+Z6кrA+?/F(\SOu13#EPre]שּ*ñ(5E +66 pyX@K#WmQvzkA2l*-߱/܌z xe-]![-} Ro}hZ [Йz~iZkn G FuGHP8ϿXnI$ p}hS6% N8m~ q= W1x'gLcPH1dohWt(E$vIQ3\ОK5Eo^aնuQ 0^tŠn?D^\BCC8*ʼn`1jUdӉ,mw\ԾP Dzo(ͩb3p +#dTO 'xsi5X) f;k $_2GV5c6s4wFL\ } EWU>l`%̌ۧ;4Y Ʀ'lK끾M-Aa +w , e*mrE_HX7̈3ˬʼ'BT,W,t\XζYY3Z\UK/pm.q#h.lQEWBDSmI y8T!ZN&r* <ߣ#g`T0-^JxwWAXٖ2H3MЈi foH odFǧ REHt+O9bD sq'"ge.9ڶwk 's19D]a-33Ȱ2{^kJ+"[]qv[sBPG#10R= ߉X7wfk0CcTduGl>yΞ kyݪYo$KsQ?~!.a_&gDF{-u!NȢ +jl\)қ*~cZ;Q" J6ΰt8C_/%j)_Rzv!Y>4hj ֨MdIӄtm G+!M' LRҩEZl/A=fg1 -#D[:'hp@*2MPH Av|{orXtc\ +HERwȁL&Q+bg l;#mgxk(0b47\OhR A10m*[Q ^v(3сGt7zv_5ߤ6 0zLv4ݖ9N6歡YIwK +Й~tm}NU(H (0^hէ\d3'I`[RCK#3 u{tG}1hܿ[+[Fࠈo$~]<-b0q px@ZejpRՑ+SuZn!p@)XJvJKK7slYL&Dzk{n)OװVQ,$ ЉNi+H2GĮfGanUO> +I-(EF{NWFs|dΥcl"Sˈ̨0) KD}E!(9b)` #bzjIZ_4g +HWdb*WyT.[BH2rg9mCW١2S}\;̏tXmo}ށ[N0d $PE͟dJ31bߔM/pcT^J7P-3:Ϫ8Ə뙋F`[a0rg)9”q>S'E陀 ޫ Bo$ ,sѶ UwFUl|HH(T/h̯SE~nظ>U0R(NWipC DKƥW+ڦb}7wU}$&GرAJ "ɯL6$D zEۿU5_??a/ _9V QVL JYzfFor'mO-fvW)_˸h0xE wŁb X'}tJv~U&o^uo.fnm=/oCxodfde4W)YsY@Ќ&N<`_><=A(HhG^(u!#rUߗC+ù'umT FҭZ5)f.*â{s&#Rׯ(+M+|Th|GFv'q'ns8 /.ǝ)*k];Yϗ)o;v㹺"(d͚^2խWr D*geq$6^GZySH9#ͅ|u޺ڨ(aKCUnBWff~MhYŸ_Q%@yO܆&d( ۙ68v3cRlbg:=Zv#2 ^lS񧆬Y-[/?4|;U[@dEh}M_+*Dm2 `6HUU Ђstd5#O.*@M7C؉KaCfӌ_COlzd٬f@^IF⪽(!C.ܦ4= +/1d)-؟h8P~S.4Ty+8d|igA#`*<1!_W nܡP"2*6#<wFP|҈Tj8Lm~*EƩšGU2Z| 5,ϡ OaSa9Y[z3*=>^Q?D1GftӀ855܅ncb*;Ǧݽ) ǔq |AһAZZ=1}^ A8LCk`0)WsnC /3Z^O0Aw\=ʞ$E% Kf^ [CaZLET/J-pt&ΝY;PbA<1G=M5S܊I [yK~ISyey##ğv%cQ!lD1Ǐ<1]& vT%b +Ѕ{jh j#Z|#="(Z֙N=n~wk+]ΧӃ Lс$VVxǽ9IG@*Iڑ4llbVrt +>\׻-3e+Q{Ρ.F UMI4]QĀ- WpMѬS z8S4ZDTд呮敐QKM8 YגZ rmNepОQ`UdgAT\}U7Ը߀< ϩ>¬ʹ,WK?$Y +5B:PKl!κTa ,eیf<*0#:AdÐ7t7H<9-cn:2UJ~8a6EX@S͗ [ɺ@HҚrtsа&9[!nGؕ'^}b57c#3xE[%Ի<:M|nx>% +mB$r)AOςl\P0G0O;fMtsqgE3XPOP@?)uJ@[wQH[Oy?J̉ +A}}c16Ofx> )7>S\ ̹Fk {<.l+S.mA0 +v_XBcb<ԋF2Sȸ_c-lQ(B'=IM$ӠzCVi {'L3u &|@𶆜"Ǧr_!`>̿SA+b6@PPpB.jE 0F䇟Ƕ+G)t|$z%Čiz/|t'Iݓ,f[+jw_a{tk{[)$_@a2b& qd M.WP6Y'"9oܱWҾbY.RX1s%;BuВ3PsSKS43I LOR~0> YPFp6}ӰB'vp~Fǝ:EƑq3F[YcvwTkٌL9܋Ss'ގfR#jQ>rEc[y\ϯ vYv*&Zfa svĂlM5&N_c B +YPjB3Ÿ|Q4QY3Ҟ+$CQKAc&g:M" lglPA}ge֕ u6r`-d74GDqp9xw #ΨtÛa!" `SvgxNiJ|z+=^AӁF <)"hw$ܝ +lz^I׊y)r=rOS- +"pg*5]Ke_*kբ;υD&C:s1@yѼSX _\ڃ@鱪E J*xױP6a̍-r ~Eiv&Uo@oAA ?;BLw6Q)ӆHC@qNjHA,^Acf{`Hb|zG)k[Rx`t=B@{2TD|IU;X#NNB'* +3ĜH!Ͳmu$O5Á)&+) p¹@m +-,?|{0.Remc1G:/z=6fDӭ=H[jRm:;R*39*|ʬWSxgN;RΠ}(ǥXkZ !(RHWb Sni=v L +UxYl0%Jj[j}/ 'j2a I[ܞK25ZEc 9`Ț + ōD X<7g! !N!掴{Յ"5W5DVuFxl*}FRu==06փq}0DtceQynBا*RvcS$<>]QݖsSc;Jw&?r8#ꊱʵzᰑ1̚ %NuR?\? +@n^CXCcT沥.6ˮ Zڭ%_2W,OOZn8gx"շ&*Pƻ"׊)W :H8E_9x;:CnqٶS*6#9 +C!{C )AՁ:Xp]uޱqN%nZ.~Ϩ손57e뎐#ߠCTù[$0YPSuFIv [ċ +& u0h+fj` k4 )asKj%DU'YJ e%x+z|7)< H6.ew9zq?m}m-n-:﯏ "%~?=k7ݯ'=?w?w/)_?ǿ??* >_N-V:Nj7^k?A+wјѐ %'ڔ첪!ĕZ[Q\ŅO,]=ըkoY[VTC7q^GpӎFIњ/pDQFT֙cUPPL-F`e\wcre2SmM͌2$9pڈvӲ4dDx]h 7ɯꝫFvr&u+pV%H3윁QW3WBKr +z*+dERO5 EͯP)XapTHІ'ù ]G +VV9 "W~5u7Zē@Wjᶕ,/Y_FyGEnb 0V_厉𽠲Lo4%V" #w萐@t/D9ҙh]_'pFMMD:RXub zrgjK`\RV09ϑ^K6{ۺsbeU s=hQa#'VU4J??,Q"ZA%CӢ#Mw=ϫ69AA]t,{<N h>k$@c} )F9+Ulcg gig^"Ow/!3P$4QqhY g [Ym:2\鬪=߉p:"nY}.y_wF<2 ݅}?t2]>®M/WɩORikn7)#r*qX?<ʅf;6X q2DqɌ dQ|$~:=;cy%ҲZa'Nҭ+H)%ɍش@aJlMay>j.HDˑe|LdԌHBMkZk!ݙ1iu6$ʥ?ҥ}ʞY2zll]0^[):?#'7;& %98^6-T-~R&YFg+! KUpF:pj$׳~#s}2؆у/[p=i&eKQ!_kEѦiRF6IWc C#+ T&E|3:H`d?otHN|. "EZn % 8FM0;M5Eh:uNmՑwUw˽Vڬ Shb(ХNq;[)J֫j_3mMۦ3*Znؾ.t MƢ1JN ɧ+*} (VE-Ct]b\HRp +endstream endobj 96 0 obj <>stream +EiIowVhݜQD [9=r>x 9u DJjv9[/nUVMy@yal9scRLju;\)o3J|:\;躆+\/ssD!١-TM"kV7qa%#.6,CaDε4;G앫\W/@t[a5wװw hǒCDB&_€kmGmAzZ9ߤ+ \&:O OBg=0܊qOOYPs9%59s@z!"H~!,t B3֤ܧZ_ p6ؗ'VGAc4RN7dWg$` XCv#!&8Ie\Ze6ǡ#;pcvglz׮2ZC@%8k3PTqXqkO-ԽmiQ5o!oP,wɽ24d,/F_E>Z +F~IC6A҉KdzD甑\*22DMWWX fW){pw#}Σ( +("E5hO\F շC2?ԪL!Cی9 oh"D;㛍O|5G눨"xm0 ]~,\h~8* Pn!axT^SS^ϩcc`ed{Z K*㧓>uþ )z?V8#a>x{P+ "| +],Q!F.! PVDY&6c4 Z|g,5z3azuwbh@(e6l)}Sv U+/Q򺬟7<)N{S7ƧLSnmOS[8+yO Y1s:ueNY T60[U>#mSխEknn-E"@Bisoa[ϯ!F bKȱ *+3}YXDByk@xu~ +Rm8b4C& 9Il T{ |]UGO@g#lx(ouZBY Ӵv#Us׳;xG&1JzBQgWÚijc}fWB"sMTAݴܮc6,P>iYTvI6_LIw*Q=npX/1`V=,R-d@qm9c4R&J=detL #*r-r-M,mpb0:POqEI?/zIcE:RytQY)NaGX"KO5+9[ g\S;x8ҥ>lf~z?*wS #4e: {"vĽm(Lʿ0lW|x 9!Էm9qqv;y53w1-ǹO7^{`SZ<8Щҫu]+{gv^qe;XJ3_~5Aa:1'=k +Hv==Iɩp!י检]J +}7o%s GkN|`'H)_j5tX[dBX9oGHr_~#GAm"W#m9 Yc+-eVJN?Jvwݶb +;93= Bؑ#؍Pĸ2 ,޹U}f+n".[VnIFI +/,\{㥷ft(hW`w E9|\3ԺDψ}K>ZE{-8=''}DQAzs_0qFgB~فIO"C*ꦴTUA4h"  jq|:_6cM^2(hO" T|1]~A/p2 )w +uv!ᙕ=%J0+YI⪴"|Sg+ WD9ƽr_违ʝn7И'Ô2C^ۣpLew|"K/IrbDecd8`m6c~RāP6! ŧ*߈Vu#f +UfxIwCx+ueSNdj+? + zu"g`FTdo(WsN1oψ."5lT%&~3:zsMV㛄o>iS^L`S~5ׄImTT;„T"RE"c|U ='ʽ;TvᠸwqvzuD ìX:wVԚ*X( } +A89gՌ"\1^M.OǏ߬izw+Z*my,!Qu; 9GS4l1Lj@Fr})T09o`!(icniD"R@["tX]䋨_屰5 +uEtLg;wk vz| n;xzTq=$D2̃MWp@5|^.W<2v4V)L  }>hs^a5EJǶɞ~}#gC̗:%V{Ax?7n'-rl}*ϛ6%@@Tq#D+sWP7$rǢg~z,7U5PCBU\0&:G= +=iUK8)QqN9HZkZeܷ"b1J 5ª_/bEƊ*f.3uRh;SepU:բ/f>V]sdMؠ}-gR +>vha瀌Ѿh(nEΔmk0cLr- ~W~-&'"m=P*gyYÑ7U[ eR\˭^:RC[ n6֫pYӅΩe#TE&YT 9 ms%ϫa]ۈRiBc.}LFb2F.&/FN.'࿛v[,W3KD+8JU3(kd$:EۥgVj㬫D6=(#qxt_+I +V0+ +/O)d'nh8$#ys_tٴN a'j#RXZ&uIBVJ\ uU7X]^f8!knٰke.yAZ8I," AtM=]V􂹺]ԭ7MQ@؜6 utI]^ Ѩt4?-+D؉Wt&1J}#@unb/Z?o'#ad +ɟ3gVs*bdVP")Аj!o +jמLTxô8mCi ~;m]7sS4l 6?%-?]l]1÷1 &.&nDByxu-rVrKcuSGtz==պ;U&gG"CER=ɢso.vȡޕcejC .,7J+Il;6U;Bt@4Tm?@i3_oŨ:|uMR풜.sGDNS=!zG/uc7#`^Gۧm1 ]+Ӄ8ʀz'Yn/y:q^%1(1#ˊ?볘zۮ́!n LGX'vl; 0Γ iN98OLyRUGvqv쬖@Y#j &]z+ܯO3$tD;|` ZqM`Ql=9z;(u{ȗ%9/ʛ7^RZ+Z9A[*cG0"T3 hb. +.U/0#xNTG1,?_D0 R]\nub@a"N +N<Ƣ-؜RGCfGRXRP

ϩ*ӌGwQnŀa[KZȔik; yB3ϛصk9TB<'2䨴wSʁ~ +@Ti['nlձ\;A#z0uvȋBNyJ&gWeܤ:xپR݌Q2[ȶ]W +sϬvOiiViA^M_>8 fp !߮uvf% GW ^?Fll9+q[t-u1W蠳}JM2\ߠjqJֻ<Ҡ^V|L6} ŕ5&K[7ߤaTzhx7_K+H:s=\PݴVBɭɬ *Y2Ƚi +o0 amP8*9,hnKԭ!0~Jh +k,"K|r*ĀW S7vA͘3_ZSDFyZ([X6ܧ{LTl?B1"Ͷ S% + mP/j+U j?Nd c]ku1BL9SvUxOpr7YfcDf7d摹% +g?Aa<"Us|PQh+HY_'CDiq`ԕYkB?^$t %-LڤqL+=0GWXkN z@Nc,@w&Kie#.%ݨ 53*aFQ8EMۋVОkpMw]y&TC +$ IKE$KM$hݗAIl۰WS Fghw%*`Ԇc=ܻcWh)Cµ}p龙b?:aZLz5D"D,(7|l+j?hjA1wc!?~Ÿ1ğxI,wU} H<*I*ξ+98ж:h~Q”̡ {O=sRbpgu ͎B~GКd` +6(^a".h z4O+3 F y9|I +-LCa)i2¦e9mPIMjhOUq=Jʸ ^wгlSA6T*5h \8U0V[ DzGBZ، 9κ|.p w=* fx( rSZI]lN4(|E16ݯ(X*1*ח $dd{TT< 695Sl =?2*f#\QPqAC@f2C5XR"')Y_ukyϴ$CP̃:ޡ_tG@~߮znfj2VaDi7UI\CtZ\BL}Ş0ݬO>lgLa^;Yau֥Ʊ3ACa0mAD܆/8 ^|Sf)F\ 1wcS 1 +%}vPjk03;~OV,?+fg4^ŀUS~4KK2É^o2 bZd@ۻ8oҫ2eWK.ZuX>.c!Fcw0z`h%SĄ"-oJ~=dtXTMSFT5 +{^I rQEdi2D[DNPgXvTuٹ5:Aq[Kgz Y8&XjΚ<:]Y$KiEo^QˆN +-L@oQVBux<_{- dSq" [uj\GeJ` +] |pcЃA;Vj~ׄ+Ө٤+21ePcOŽwŝay#\pQ˼4Y9K줐̜B>$-k-4v) +!&LG)b"%rήOZ5[ ^H;$MNp~?Nil0P# 0&5.fCիSvD(uweEfLrH1G- @}$vG8̣bU!VCcpFi@xjJ񄮚dy`<%{Ԝ>MT>z 0U&Z@tZPYc7]PI:(g=Umzȕy?# :ڭOq$w?Kij ۈo?۠_Q1bzNꕨ(:W5e[7M0a}ȨTN\ט2̜CEF{H~+}csnM²=DT-[VhPz71WCe< |rlk%y _ LRmO9#TӯdD\\%I;,+dQF gOE y bE*x\f d%S +R֫ksF~9$a;r=Ϲԃ7ћ_ǀ0-f + ]X'AsELF(X9Y@ D?x \DF%P L/D/NTRe*1p?hƧ%]u[`fNV6؁)4{0ІBߝFGDY1Wzj rz;`ǑDxA8S#Gn 2̄]kuER ]?ԯꁸHz쬣P@4akqj{(qDqj σ6#|;:v 8Kh^ FQwOcjjJu4Z*lrxWҏG86 P>7f0$#Bkȷשv=t,]7byG +M/+y_8V]sQK`ךKl3(J6A/ԮͰ.E\xVG+@;-V_25TBOeeAYK_ɢئ/LR{}$d9FuLZ1;T:K".S%f?ο]@@E|Z)TmH>TSgMu.*KKt7^7LlF@=fFhɎ@.7U3N%ұjg LZi$U;mzC;ݵ@tGn8Ӷ58~ ;y.H4}NҲ) +Dx#(SP)ktlnzLZ H)b{ZΊ7--Savm'%Lh ]I<9S;BiazΔUOZ5dAW>g(S^zu~ &O|poǩuώZyH*Sjd2Dk?+Ea +'2:< quK kK)BA@@@qH+SjÁi~Fػ3`IJi)|݂sڴ=|>g{FR@S&Y:='` %%ԫi/zgGan(k:^!B|(FF5⢑BSm:6NQ'YS,"@Gsm׼[Nox:;@ }NfG Pҗn{MU>tݢѵ|) + 4^J!-DMWMX  aPEJB3'amWyEk\3-A4ASry?F RY]⩊b"vĂrwu׈=v.4U=~9"y9 ,i%#ƫa'iq +^){|e?xy<"%B<=T $菶iM&9KT#Lz(I*=SZ'zCeoPũ =7y8R شGun2#֊UZt)ճG,4qrRv Ҟ;I8Z!>2Py>K$ZX;mNR B.3K:>#`~!{+(aCqOqv +v,B 8h;h6LЧ[Z:pU|*=&OK6ʑVˊ +~(2Uֆәxf%RVq*AʏA[ xT^%,9zg^9[ox]GNW>;m5zŤD|r}5C~6Oŀ9$ߴtK+g|sD4@s_ Kɪ5>؏|O*Uw6ۑԂzs25@/^qp|9NѦkS\%iOĺMϣLźqNa J]l崧M;>!C 03w!Aˋ% 9 i29X]٦ՐE4?<БQY1 ^XZq% +%N']bz+6aA]I˰n@1o(= +9?#$`޷ \lt"TUJA{W3"B>B"q'H:`$F E ^^& -b{1zHq0 Yq}ƌ0sn|$ H"xsA`|XxiTZ e>$d/ T\e)wYq*=PwiՁ8H7Zļ+ƤUD`kxdW^g8 f|c=Uit +A{L!!65yUϑ8nF2K~(҆k2V@~ͮbRj-$<5ƿm^أ#o׈sj .z[Bp$bD OrάeY3Rv6^ZYX@pGũ &^؁ Vr6mJ~_wpa#ӝ^".=9|~/Ta/xF9 ͖,\sI"2*E(l1"BD;"鮢U=A΁Vgݙi=aH@*ǿ&LB*S,Q 77z0A^?`]Izcaа+|D ~*HR.9qH?J'< +wc>K{ Ttǭ5'g TdmRW1"y^g@Z9f8Ȋ-ҍJ>fA3k(A=M\W$a'Ew*)C@KԕAez[vXb+ʼnܮN +r 3P[KDSgd ܥAVQ 4N*jIDαx-)be[ֱ)!Xjc{- Fm>Ĉ°U!k`{%Wq1?lޗ00lB]bZ1e2MU{0L  =4 Y)*N<@Bd343tpN"T \D^-ㅎʾvݽ*t-WdX%pQ(6Lfe9*2 +o͒޿ NfZwPh2m3Q=c_2ˬ +}^J 0~X 6rMN$Rs?H8q$ HR| ۤa#rQ!TG\ ׀lI: +P+Ө_%OMQ᪱wð839pg9>n!O=?t9boЕ*ӫj\&mO-ߧ:/WhkClh&%f^v3#"<@zŁQyQVxW*&),ק(8A]8l1㥄t_tnfY1G >@/0QMWWI/zRA8St[2gB!相 W|"qWd/,!yң5#i\L&xB窆E-.J*hDtQ~O75hTed#b-{8׬E>dÇsg`=z@4~ _?o_I۟۟_~~o~~/ݟ8:_?~o|kTw S e;d)aHn̗v +QIY 6oBѺ2E?‹5Tۋ= +W]WxwƇhl>H/FjT))`7%Tļy+a_!;AM1~ bZG?7;D'*M`A³ߣ(`1PW ` W= +)>wN26ogB,yOȘx,Uz\A@Zg-^ + : / H2v>~U.bj&F EHvDxߓb= ¨=b>"M#=Ϳ00Pfp^Ah-Bhio.᰽y){ŭnB)8@ORT œ<7L@`**z.3®N,:5C%:pX_균&< VWs eӏ5/پR[. UsTE` HA;"P_CL!GYr>ip| ]i+1Gvn!lCGĜ0Sotص6TAT[gKxW^uqma ؿq2M܀Uc.j'gk%ݞ;H,a택 ͝JZ!-ZA{Rtn1*PǴp &fcR] +O{tlG0kN) _vjm#Pq6]f;o=?RY1[mY3e:֣ݞ+'Kv} 2_3+2#2Rs$9Έ0ZXWyqZ"2nq +,<"l~ (vN#T{H +I2i}E˙ HMNw *$J[Akv> &\~wRPPel Z;C+P -UÒh?B;T=AB%B#0ڸ # }/][j^,l{vA%ñj@ߠ>Qor%Wh1n:J|*J3?g:d UcQ !}_g*d;!^S~U>B*t-EfiV/5f Պ||JgaoŶĹ8U2k(2'vg;}}Qc偔 s>UP @nyhOr*2 C􍑙ʳgpMPτYRZF9ED,mZz#XoDhͿur"\CKx:J*3FcQ *d=KʫJ`|cր5lSf,p pV_ }8pݯpw [-BC &wkycy +0ma}~[=}4 lhYΡ<{E2D:e@=44~}<jq-o~ekm;NBhP9|(Y`^ŋx-Nױ쵃Lt}^@煪:(4}_v8 " +qU퐲,:]=dBo1PLë{lh@XB00zPH ޖDXWg~>s<ɗşmZd=IdK.F`bޓv;uyt%A{Z$x8 Y`Rxyfرv_V2\,IEj_zuza50=8/|J" FMi]ymT7P[0l݆v&M9z߅E \6sdzȶ@7cIë{ ig`8XSF WW746x4OCpY֨u]8e(q1r_)塅֌|6-J`&iN9;{Dqgԙ&6[R Xq$t>@*ȿǩLs0]ZtMiu@:IPSf`Ck((A@~iXZcMad.혷2y5NL/\g'C(˧ul;yDŽb "jW1AݰhCgQI?X^<NdA&LDחQ5V4zZ,.-ػ); vAl՘dVH@`>ty%/"^pj;ITk1$rM>/MS&ወ3v!pAWtRَLM~AOLNklҊ}@]DN4;TL#ދ`Yy1WB~F + K;GS7[i+l5APQO!G8:|o0Y]i{B͹/RWK 봷,"hNi G}o9L#~6tld@TCqCNQ#7A_>Ix kxS^5ϼD'aݖI +`;Ξ+W"aa5DSsM+ϖ:yܞY2ȡ p3hD b"k[awX  Pz;L1\v$Ɏx"o^Z hǝ!$ƥDCWJ+Sl25 #+ *-6FIuw?y!-8yj[ሴIBb߽P6G}q'\H5$r4ϟExmX`XQq]Q"-[M1_~4R GO 1EQ ;!B"es o[.aSEO=`:rXQ4\ʵӎ*['ݣL .)HK"1ۈd$Jb3  4lV ɖ~>lhTo\8:HN% }Y%(x 54 4M<Ϙ$<4jzEs"=Md:a+u,+"'R!wĤu%PZs+߅v#G\q**[R1z˲*wĊ-}+XZNtumz0'WˊϨJșrT.ʼn*-MsTAtD&.+yHy  +`R + ʧXcF5f^㇗VkPO]J$x(Rj6BŸ leF^о8Ot69 rKxi?0sh@t%i^*:}w!L;,Q]Zv=!i)nDAS7껅I !H +Tɑ2&g6$V)hlagBfo7.d^ , Z+Z!)2Ht-& /}ʅ^D (fePG"‡#Ӟ%;hqHV/v.Fg +6% ?Ko֕8jXY@T[WbbϬ`~O#@@32 +yZVV !LgQsaP*5 [k1J*oOtWƖKj,ƢğKD$23"rX;=*[%s3QwmJbuy<[W +1]cVe"+2b{DHXQj8bQ @I+>樕% tMQG` /D01x((IqFX1 LJbHp=PƴQQF5'5. 5LVC{4KxykΣ%kt_>=,x]&%giMR 'j@:6}PS3BAc\ r6H3k|cOؿPfC8Npnb ^..-SѾџ;&RZL /b$#3{=NhLw'=NE5e'=/2,(m:_ 9HbH=@ S uT0?V-r{G6*MFڎBɚӲNЅi ZafSASvBW`'M>g9-t5RY7P885X(#4B'{QF@u4" N+#K)_qh0Ts+ +x"Cҿ{ :aZ}z/aW')K6ϴMٽ/;x~vk8*K,n_)/w'EqTUC}cwxYPTeʓ2=~"\r˲/7o0q$ +0u;5rhH V)xͺEV6b`n @0Ӏ͉Y `)S6F] +l_S&o/+loL #z/eTUlt +ƁlqCy.؉a9RK`o_zs%jaEJPR^qii-jV"XWa6;U]t+ -lg".ˮNPȸRхIT(oEZ/s֫%GHxbMnL) 0ڣXry(ad~D $Z#d;~ W}'2 \[8nD-80:x8+|. 4;]ssL|1vȨQA0}SlZU]#GMeQ0@Ӻ"gDe )gC?/B4&W]GVʸ%hKh(d5`wv|F2όƐ$ Ľ>D# F 3Qa{{zC ڊ@}5YVoʬJDr;Nr6\}PiVȚfTk:~Q;pzSh7,toztQvF@(Y+]4rn ʶ/#ھj^A~PЀ5 鵤!J9h|!x"tJ)9USӉ!a-ת3JystԀSO )?ڡξTy8bCi#~k}U~GIJY% 05_Q W/L֜olegN˃biG1FgX#7јՏf\{yV+P_7Ojv W|IJA3D: MwJ[bF詐 g%h2PB2+2GElS(E=J2UP>>!O={m!{w0f&)LXO, ,> 0i~xUclX-6{pZi>nrPT\%%Rro HN>hGK0sOJiXI>PP>`bw * Y`z* X$Ox +PafƦ2hn0ZP!^-n?AP*#L]7t NDgf*&2_&?OztDzwPMqo  +qН H" K +L^Qý=&S{L|oX9QϏ"7Bf V\ki\{g?ds.GAۣ\J}HX4vj;yȲA;aW³΃Nǽ}ykp\9[3@W ;.7q, Xy" $e U(yhxyg."P0rfއ gTshQ=D~uҡV*0`9 Btcgl&Su3[ZK >ӽ?ɵ COR}R{x{;ZX=7*{ FbfMA0#!#;J>prI솜Ap~"H{%$>+% 遐:$ӻF@v"4BYwp'js{7;.h6 y3{g Mek'|ـ5@AzěG`G,v.oSUF(X~JVNKI8EK35HIX8W>DKwp $)YL"TKxu6[Qf (#^7[vv`-V>QOչob/?ߥr))v@@r`Z"J-}O,#k0&nL@4 vֿ@%%1)aYdQ3/hK%9> O-B_/[1zR5\ҔTe0= +xeu:;fyknuWb ;j(۷2Cm./I)=E8 jWxT9 @I v,TX +_pF/4Iw (i^13ײU}|U9vWh/QA ݤ(TT= vL U Y+5)4J]v*9fteYjZ3b$SsTɳ}EM9 pDs SLe2 l,/o^ƾljS{VFX:a;g4MuE@4؀ L`1@- +ZkOqqfџЩk Vy}#0~AҭI%Sn3ddB+D>FO3 "\R. 3괸̝lÒmmw` @ ʙMB*˛ 3Txo9i +Ȉ"H4~]6mnQӘT[ ?$4uyNH2bI}4X))Ra$Rgji)GE; ]GKz#n‘Q9qNmẽ3)7uaJ(u /Ck%i]6_ρ'"2 쩚@bz|~~951r`!h@1Rz2NrM54%:O:~W& Ek[/x熗#4{~Tt"W$ŏp7dFt̘KK{?j+mq"T铘ZgWG1K8V/섶'1۩Ч34d}/$`l.!U !rmJKa=<׻Y]:TaB?$!8j0DuNC T +]51>",;;_.3Q̍1"!=NU\D8-bu5DdXܜr0xGJ#mHD$![Z>B8'A{ av QR)^Ԃ.Q;qJ?\ÆdOkF,ybQo $l.Ѷ@0-0R;պL-H>PZQv ~na4x^ZYN}rY;AKi7v6o҂M[&v@bt\ϞO2ZqaliyխB#6iQ]@C&}> 且ad fD5m0@+Z8חuF`ZNQmϩQٹũvNb<[CD(@ڊR .ZP{KU628~نU EyPPUpu,US.$L|)4c:nSv$Ia +Xݽkn/=F|rz? 0ffHZ o<,mi'5}u|+h37y۠ %g~!HGp;f#@Z:T~?p\r)ucN0% ]Xw4 f)"d )) &%9VU5Wo<.olcy|]y!0Ra޽z@l{NG_7 (H$<ZSۻ +:/~M',Y8gG5"<~>Wz?RXC]GTQ|]qЃr%;& wJhN2rl)Y[[PUh*6 +">` zGQfU-'_9NeKjlj>{Yў:uk0\YKhy,c+q.UlU=ƴQ1&mw?9 +}^*)+= " Łt fE^KActDk<1"r "Wr%_7 2BQY)Vk`g9T@kB+[g4W=B}h]hX0h1ねhRL+6ۏG$St(aDFHd{ X(<*ӭM8` +zTbirɔ #lErgCHZ fNK_M0CLBa,TQ #; NT0=tA!R!۵D/Cz]-ɪX/iGngx_|0/ +=~Tjr2lU*R-|!P qKȾ-JDzBAiSI|v=MD (fEO?TL zҔ4`)RKR`fD!w-;ga| RWHϘy8= ɠ2^GO;[LD(<ԲUm!H~!~~pi&@/Eg rGtxG",[>qn\XhV>ߧz k.UvUW-? sIbv]t(K!+p9bJ%;p$ԄIG"E*b5mFD h Tw狴t!h7e"1Rvr聘[Ȏ@yze +Fc,u@=H_a})7 5,̌}s~oȲj,r" ,:1)].0Biӑs/˗EGw#X鋪KgYKt%xy~[_wYDveH}IwP04/K0lotY>6!'˕W4`@Tr( ?oNӏ":WkVk("D.bƤJ'iO׽׃M]r/xVlqVYoCʐ_#N%0xӗbWhU wʂ(ZC ɔl>y 1Qv(L4V3WDؙTJ\!e22KLy3 M +HwN0Z"v(U ="WOh^2U|DU#WOUW*R  OHրT + +0S#< +Rev[r=M1%aĥD#FTQ3 ƞb/BwpVHyG,mxLȍE;P4]EJ0g8]&E(c Rwx"*4S ++:^NH^h ?(ŭGĖNf0Y.E>:k0W#W-!OP;*E*Q袼/[Lw6Ѻ0BvBڎC4/uk҄OP)cO&vpPpy'K;Ww2.LU FXӻ񢰩A('M%MnURu`H|%|P" [`HO2GO3d2P!֨C,1P(T{wv̚o[2p6[K uJ'-.99鱖K*gid]QxC 1!aBo{ʨ-HSpm3йj8Q#L҈@`Dx\3)>kvW(^{ ;bl6J%m:~]wlYcBc-YN;KȃzFR}9諩")8h]X:,S CU!Ohar:xR{JFFOtE њٯO?%JXlaJ9]E=kx2A=-f9=W[6U- +AiلG_XOd0:MgM*a Xe(B$(X2"Zlk#-4N:2֧D\@EamD툢t7=t~_uSC z:V-(8s)F5]5Ĕyn@ qnV(G0;SϾ1׀3oնo`˗XըguQ_" |=wV@)kxlFFJbiЍjH57rtJy! ЕфA!)r +fECc^v'CBgV|ݟ> + J8. mhe$(Gyp?:U94iZw>,/zL:CD2)Q.2όY;fL%mHAmKΠ`AX~D,X6iTV#j[J*>vyF5(-LH;&Qy ~&n勏"pz3Po}ζm=m@F@JoPw`Z&゘Zg{Ň/>OaLeDK-=/'$ "k+;Hd3TL#TE5U<| eO uzz76l&lTBnAHF'=JMbdi9^ҽuJ6=RRS766a.J6b`0[jPM(`v7ܯ>qW]iY/Hs";*0*0jE h4`WD ʞ;}c{ sGwtV]{ɍ!*磢ø=wEQ"PcO:AE_$u2UG7"4eUN?rU Jh)tPu b Y ?^$@«9G_!aAӌm3RM7m@DpNS9wuRL{_!RQ($\".)vز9 +˿D9_| ßB &/eF +`CF^Q4Rш﮳X݅/j%A<+2 +Q)B?4}>i`5 [uh/@Y f[Bi. k`h\4TGCo/HHkG@`AG3z?}<$v~ RT0:e%$ A*ѐx%"B a^0,熥I8X#x&GJ 0:j;[QT4xHFAlsy1d̗_'gʹb"ICKS'=٤.i=Q5a3A%}z_b^>x^ ew\x 4?2?,0,Vy@yĉ5UЕ3\I+D".DSDQYjAκRW-Ng*@bRc#߅:X>l=Toׁ yJ_F:#JO'%q>WE]*^{yNW\UCK8Q{<`9{\9Bt/v 9 +AY=#n) 2yWw/wg!VOTr).jIcW@̣yr ӦkrTXZ> +q$H>u0"`wS@h_'˔8$._D\?P9 BWYڐSY?yH!޿iʒ_yǃWt@aJ:ׁW@$}ī֋GQ('@1XR8')x cA)u]ʑR|ynuI@H]T"4`6`{ݷ嗿?ioW~W_C~?~}?~4}.K|<Gww݇_Y?x?|ןU/s÷_~/ʇ?w7?X?wxO?CHyo/Qoc$YtwipFtWU)"##Jk-gzHX^,ծ4} i| {h$m|"##s'G!7m *=E"Z[yx1\^ŭYqtڡu:YW!C@tV])쬱3Gfjc6{nQ㯾$ |êRE |ikZ)iDv1[|evh߈i\CC߈I>II D?2؄8>t `'Љ (WV$Cła z}.4 Iz7a \T Vu=g)̒ Ww$r0/BK%Mz؏"ޖ hi'TV$vL_;syUny DG0}~[I3ydPFAeiahR}RI +d|T;V2adq0Lk~ݥ7ߍNdQTG{eFah`DL27G>$$h}(֎ =As@ BjZ2+"c8:f&/ QuKZ-4#f>C'Î+nyÎ'.(5*PϞ!zިzywhuŊّ3n$yCA1[|ڪ:cϽ &Ha'kY)YK>ť")2_U_%b!;,$9DDbwm38~U FXidt~2tHm$ph9f>bƖOMYl0ﳘivH >Њb67|ct̠v?1ϫ[<Ͳ.^}?`ZZ5xD.#AP^PT*$))2 "Qph.lLWaO~AJi8~qu<ÓMi\:"V{&>9hvFS8,ݡ cƦDt!;Zbl~e*.B3~3aVh?Ae#Иh}H_Va ס/ݬT0*srX:zhY*Uhc~m21msѓke%Cie4L7Z+vܭlHʼnco9I 1l48ӌ%UCB03/ 7."5;'QC$Gҧ\3ji2TW9{T[[TE[M|rG_`<]ft`U1^'Xe^ETuA{"(IȍLB> zU3^;iGxPt0Z %aЋ>ǵ@CF#O~'z"6Z$PcN.! Ph}H-Y=``f&J[G.=8b g𖎴ZH#V3Ff}}['?vd0?1QwԪ]_!0ȡØE|j?/O<$$c =(e3'Gz`P5yܷDu.PSVgc эA|r^RT>|%G7trL"2{lTjS60 ҏ$2V'~a؈}y`C# +[sSD` +JsI}aoUCԁ $}<]PYbm楡$=7DfHÏG/ŋĘu+˃)6]sY=>_H֙Cwh!Y ?1;;ϱA/t^H ]." Ttk¹~bZE 1"^*j5t:םO)e0JuatFƶQy0S85dKJ ɝLnLRO|rv56-F~ct"|jCD|;q{)C#}>C'YຑBƌi3;/Hf60ϺcJ{ ~0\7Dss΢r$$"2phg%#Eaئ+9ħ؄ l:M<}Z&?uc_^;_BQj rZB,yt4a9W]0rTδiDW[h$z.:أAX<#)D En `^4];vDWRoi6ԬR[mT֐c:)d7RLN KHH2 ?~ċ,` 0dvMd#a O)uvj 8됈&# I:6s o0 QM:5Psu=qcx!2Ć~:Bj /T?#vnyp{9ىL hKMt'M2YHqB;4k25TݏCD+3F$֊y'IAPP'pXѸW} ElpAU=BY m:!X:T)IgC !:&u/FuyIiS`*dF@AL\<%Spuy[`byHؠI@C6Y,muiGٮz.q딶DWWu" su+Fh%R C4q2mc_ $3>$p4BGY +_51P E<Pr?)tzB3)Z[/s1YoEa8os +K?lw[ +T )VfǴь#h;2Aw[4JGu`7g:FȰbHs{# mb*l*#DNnm +̻?򵡈d't5Մh&hح5C6WYtZE\9-g|hYp`-zf{V+iGŶңB1JOGpm !܎M @o Rb鴌w49YG``dn2+c\ m6HD" l{Cc%:8<,6*7G763 S-zF # Dj{"Mi^8 +Pjj4jhu/^j3DܨݮX>nEҨч<;˘P:zx* y F&b)'nU |c#rJhI}-+97 4@@%3/=qƇQP6 9y)磮YDyZոpk +#b< N3hs!$-wbD\$"*݇6ȪXJM1#D󌉃Sf@[ krjiKa! 5;&hPO?%z`Pk1>̭$4V( }G#{کNc7 ڲ@ ,ZN*d^a80K[вؑD\awHvɅDK۩miGq|>:Ϸ9xO ,5LTAj6Mxӂ*<Y Mdu0NسgVLj"jb%- lOWHhf_ Q!&v?p =ؑ.`?=a䟧k јV>M*hG;q\ː/J`@#8L28!Qlh<5)TQZ9"ZƓbcV`+6s0MH @RF˗==FLN^?ʠ7kynLh;BЧ N֣iT򻢀.|LI~ D!vD?22g({l''k69Йz]aAj3pHfnr\ae0sJ#0;ҬX i΄U%R5%,H3TD@SX ұ+`` 2aX͇9oC4ccnnWdx*au%4sA +BL+[Lkk0픊.I2=#:G[H{|A͓{FMm%J Ŭ``!_իp&UT# Cscpʛ3q#4Lxh&i4𦧇TPh¨nK9Hn+:UADĖ88T$b1?6u#DTi]Y|O5A1K؞} +\>) Y5|vcbTsFjd[|nhP/~XKrU&|)XQ-5AÆ}DTe!9:^mu$ݢFk#$1o;ڽ>tFyOa=R>i2B-*H2S+w4E]OXd=?|JrMI vafEu$S^Dlj霒OIsU =:{!,垧戻:~#|[GAph5bS @iG% ˜}M|S_֓B/lz RI52·f'Q +]"}F[V!Uϫ kQQdQ،&YyB등Vzfo40K{QKGl3:2lE)l:>'Sme:B]kD(Q! ѧL< +q7ڈH&D=y¨أ)?bvF8j {Cb`[ k?lZ-a7Í*ֺQ/i#BfQw!m +A!c}s[N +zH*ї(rɀL qq-KH;$e¸M 02mgvRdkutY fk0ĸ3AD4j*u7hjb3%p"=a>4HtHb2[d`HkM-C _$^F#XWXrTk|aθ}Ѯx3mDe +}#6x %{=ǡ|ݘ#!#2z +uPZ%U%b|&H9SXtȨ7,FӪJ=ie2wl4EdyuՉ|JF*G0.5-+uͥu$ B5s0. )J942X967*2b=J#FSKd(pS)J;(w)]ˊq f9^$QJ$[8 Ji?f~INkFYh~ Z]I) ɦqV7Q%oMPϔkcSU\ PʴQf8IR 6kA%^n@?BZ9D&,F*YY5F/lS 8+ {;6%:Jm [4a2V4c#ƚ)у7u42`&o;3W$^npP=Te~Г$UB$z r}d^(b +nS-zG>< ݶo6h#rvW% &ytJ:jè|H ,$顤E#6wA9-S5 drhҧ$ :40]I~);]/Z|{ UVU' VK`#UĜ^n@G*gӳ)J6%׋wX7ȤɍN2ҥN KC y4$Mɳ}ϩr^x"^>~i +B4ѱLaeʁ%Ptl +,h:DPE\vpl.^xZd%rUAy8b19IRUو$~Q>xSgF'XXk "YPc Duyy1): I)!."δDdl ^l-\c;$jmdS_vj'l0)Ą؄m$8&H3=^M +l`*D08a*ݵ ꂁ=i +ZpW*,0d64 ز~Q0tPkn/綕: z[u Ś ̦?|0;;O/a{€7D3vM6SGt[]@m'ǿʬyeqюPFy_D[cߋbVX _Kj&U#_l`r#aWD۲̡oi "WiPo E#6mf?S%[;2C=G0 ]V}2Ms-SU;L@E) j[q +7 ^HtPc7TO-5QG[Mх .p/N-i>1+E}qÉȨݰjk4Z{~Ue6ص6^kCKjZ`(4\{ :HɆSH+D ܧ vQUؔ/7 _}R~lkSHH_8&s^Z>88嶰0*MKm59@zT4@ڞCt/$6Xc2vXG@{ƗM'R^%c)5إQg@?C' a7-2vXh+4bSxX/ʐ}eBY9B#|hS[}jVmd܋϶s9M]Gd)Gtb +fmRclzUB 鉆D@5>q׶TuD.$c֗XdQ\K+ΤoHrOxfe?: ѷ 1 bn:~ej6*L& uT횈Rw>=BGpl _k0W{M?3Lf۷2]@t +2]W`xȯB.K=F9xz7t&q|ߓ꽽k/wo7o ūo<Q-^^)AQ@Ft[ijl8#x}P27@Ux;@ke5C +AR1(.ИfB`[DhMb pcX Ұ0cmԗvj`\t  +|)0y.6W{Gq,jډQQ} 2OJ w/_ǬiAyQaXFZGD>`\EQ /7"a-9vvEx,{HIs|$Z#sM F͕ϊƋ-@WK"w??An'k}Ӈj}w%~j!6& 쳇q_MFf0XmmXU/uKԅzFj$ޓ͈O>D_`<A8jGoRKM3 Օ\_}kGhm>-T:CaLit憢E">yX +H է w1D@/UAϰTע~KԌ\6+gbl {_ - r/8Bmʰt7 +9K'Fwn)S}-.H<b-!G#}EAd]5YXZoa-`)2M}WϞ ډOrȃa +oJby\$0:?q an >sL vo)'Г'ǣ3= +'aoGAZoWk+k1V7KdVfAcQx3_y +6fY1'^XYB;͗gj6&fY,syv/ˣѫL)+gWM:xkk} +g)6 [w/i:ORm)G3Zg;^+qsMy n3=SϰX6/h.`/uئ/JRmx=CA*_ΉIN30`!S*T~Ԇig0{nx9:]}R{gݓfwL_OK2]0 F>d))lD"_,4 +>fSwZhauvxSXC@x,N28F.e2A(;્L%YjojOSrgbm]8E}| rV.YxT?LY_4be$-w^Ofʏ~" ;a¯g+0ReUj&@V,6a.LC>y^/^;LJSYV_뭾~?z6_W: csb{[^o'h,gl'&f<#kli;Yk~絎| n_Oorܜ^Ͽm߳q0jta總yu0)TAR9ݜ'm <kkGAms +z^}yu9{]ݻ}et߿'}K] {=vU\[nw#i4-KmG[bkZ^纱m-Xu7\#`g|SBy FBs3W*4A,9)0DmWg>o-6gጷA|(VWs/jÓѣ4Oj A180,Hph;xvfILYin>Ump;,5޶7𱰡UjReiVd`=o }{M˓0X^$_[W 3jaHk/_hC<{I/Twsutϋe˻ߴ_^Y}@6_wmmTWs}60vaZx?2b)+9}^(,9<+OU}U=|Y^7wom^h'}.O-ۘ^nxc};k +Hz @A q_ +Z/W_[gnJ _t~ H _YW懲W`,Xk*39S5&2O{d qV F%V+/j'$ю?J1Љ.(D`:#>xRD:2xm`쬘?É_w*O~ b,lEg~ ,Y$M#uZ>tnȄ( +|[KˠZ}WݗڧIj6l|{(@/6Am|[89 wCw:y{l~Vy;k xw11<[+52 wANW<տ[<]gl_O11Wˉ<7׵r簱O(X8EuRN_jG Y礳z7wӛ6^^?/i91y&R>lw9C ^4vsZmw w2xn9*O47r8D[]o[蜉ΩS^fq A$K,,ͤ;H:}`hT_˕QZUKݴjtZT͞^L[ W~N4eX Y˔7|+˦~ |=+HOReP>Hc0[ME{br{JpPu؋xri>-6a[%K `8͓_*wg9qZ+=hnsN~<8)L~;8t[R븵?[{b|UY,^ 'kֿ(NA4w_* ջ?ȥ9kge8ӻ۽|m7]`zGM~S};|OixZ3iz$*p2H\yfiT|Ҧy:l`#Jb}lK*KbAheqBi&,TwVY`{.;gM^ʇSࢍB; P[v^LA;=aa`<~u_G_5W_N./6<Kd1ٿʈ9X^|C/AXNA +u!oJ=}*`SzNx\-v$rU~`Qct;9rAWv&,Z<^K[8g!o+[}*ޫ6׿lW` h1; {0 +v+8eFB \oNGïsWlxkWCe +mx>#]!2}<n3lPѕ>c.RkҬW_\9c{ +6/Xw4-F<_]ػbg邆{p g0S^))Z.ko+W{x+cfˏ;,F8 ' [6Mg4ƀ5/.It0A.9LuO +bŶUJ{ +EIYFq#W.}tN0­OקY1 +DvXlۅWPZKwr"s((' ''IlQhp6u{W\6DWW @by)63i/a:S+qZ߶wMG:s{[^X:}][咫/Xwu]yt nX{,M~߆;{^h,WE~3Sem[I1,OVWsg<N@Zf[\ yYjSP/ot`.5mubGN Zc m6<]8; "RA4wy4SA-&p %-`0灩ֲbCi4J9ZXc;n b F/W:hmֲ Z^u?u~s72`ڳ0N=ѽh,ޤq&rۼ}2`d<\=~34l;-0xrZO 8ۥf==N?P~#_oo"4?Ç0=Ku|O3S]UNNlzd06>uuv_<0xƲw>}ņ~4דߔ{,pHbp)+SGp A };j=WVL>'h=d@BJ s)h sZ_ݠ6e"˧(@1YM p,^.­-.s2o-w.`- ]ꡀSJҩBmG[>(8QAF5w?V-m[ +D[NT6y{d1xukR"p(rNmϫ{evL6KRy؜\L;ΠN Sosux8](66`#Ą/fӚ<{~ݭ%ݖSY V}v馜fdp̷ +bm.4Nk4Zcx,/MOf_ Iy?YOOnm} +RIddi'tM,JsbTjK,.DxrTNeVM,a2/J0fbE{;~:}O(y08N$'mAiny-X\rXf׿^~= h{MwOs1~Qlu=a|y}X?N`MO2;Z&pawo/'r԰'ioԀhL_-_f ,q0FAPE,7_o@t YQ]42#9)p(p0a#\yVug{uR^TlPAdzV{UWIa +F;h b54ţfR\01W*e0֭AX^T$Ƚ(z R9w^j.2O`|zVz[gU`Rg;p`]3+s:>du9Ᏻ?~pADGF F* U@kU9O;OˣWzy纶Eor]yv૗A O9_4t۰0T.*߆r*4\(NJ`ya,U,Ҽ !Vem1R<>+u&Fw^oy}v[y@/5.1< +㷏1DՍlfRu.sUw G` :9k5g/e'X?Uhdܞ\by DQ?pǼwўlo 7.4~7S=Qm3Pvk*dYB+ F(mA^Tgۥ' Q>&VCRh7Ioj_$Alsץ|\b'Yp낞E\J=9:ᇣg.^I<RvkE=Yl$gD||!X1Kzt09͂unm}7镇\e +] +l"Be/#v`qwRlk=ab]ˮP=̆|5]T{g^s-zɍN2e8_fPr + \#2vB(Sۅz7]NjOӕ[4 i9˃a^?ɕKM0x{lP,r5TGWvgM r`ryǷ~8+fGoA#uQ=~ y,ї-+'z,-`/ aQ k,m@<اC8<"'3bV_W 8g,' Ȋ`\]}rq 2[IZ| +g ?rjp'vhͩ޳_K9 +v\Rk5Xtqa>3*a3i +x@ +V5Ky_"Fh[l5ǧ|]2^=^Ig3'niNvrw?[mj@zW!SQ3)>L@Z,ʫ3Vn IW<{=Va͞+{JOӠj 3bkx= .j0rh}3\v" 7;n6.M_p B,P[q0?Ӭ Ъ`lD5>&aF<0F&^}L)~8 6! bm=WNz%`>L8uO[{qA}gEINbLNg{wFQ.{,NH1$'@(|c3.R|pll f *&ҕT9A4U~# Vgr随,`$ư}0=fdΕ?,[x5돦߰֒?{N\c3ׄt\T"izŭl~bQbnնp5[a@ce=o]<'A`Cڧrr+8򾺸T Hu0ï08%Fi@]6`;iN/뜅{R_9X?3-ho 0?iA KYmqp'%6;s;`$Z˷ɇ0H ؾ}"7N;S:s4OȱtyWw\Su*^\ 4ͼ9`=,]pXv& +(Qc\n:A1&,/bT4f=`6E#lZ;`U%[dV3k +i̚lo%MJy/2ǫs@wuZAd0bhf+`c>j<|y + raC:K9)TWW׭}M08Gswξ]*W^4sե߅;ρ| `DZIuzVge9i9'볻ػucd<(H[LbOgRxxQ;ɖG /qpNv|?8VQ{륎9+2HS8z<*07Xeer82Q M&kէ/ s5sĤ:r5OYJr=0?r>϶9p؁X</ á)K1k[] 82|UF0&Rة%vcDFV .р`Es5.vP p0/suګJ)/`ޕ9'v3ejS$vY̞ig08|L u7K\xgg?tO)`˗_X>+2AQm +V>?}Wݲ{oo$י/O}%1 'rF#4rirrHI1")aWadɒr%[ٶ,q޽{tPS!sFTcogҰN.sbve@&Sh R$;g=.SI:1oXYt4Iܼ,QnVmTܧ,e!0Հ0upv8?(oiS&<z=jgG,k 0`&)KJ O=8h*@`ÆMtĤ6eB6! "fbFXIKZ48hThe +ѢoȷH':NDDZuD}q |y >EA98CL6ȹ +Hm(Fo %'Ԍ-P+6cG ӟ" R{BU #mMmi&1+mO 6wԐ2i:>Cx[fZcqWa {T\R,p[Upry,IHF,ʩ5B.ɞT^ +z9{r#aRݽAmH \n'O.1 +"MZ\X_rQ$C-P_v[3td77pT /cPqN6j<6\%1?[L'j{].{\[au)?ڃxs=KyTHujecÅDr|.3v756>r wef. +--T/ZZH5nnC@h`ry\#L&fg x+o 3=hWyZ@fi{09T]΅ʋ|~Xxw`~HJ wãp}jaLuzvoqJi*NnuWTs$9YX8;qOW{#u@";>L0Zl5ϢBZ̨SRi-3suO&'Lk!|V͟Mo%:;''P#aƌ޴J )`"_Qof;y8sƥc3ru|*H,3t|r*LdG*W/Ι/d'Of6 4^X˾d/':.+CYJ@;/><5rnj&fJm0_\8|}+Ņ;o=/aa]SKɩx{z5A-ۼ!`~">ͤre^.h$&˫Rea©OO\zO; 7vږ7> ^k'x> RuKC: s/9oD8oON4_ux4jhne:Jif\bT֖ٹfh} $/.f΅Lj67ٻqo|D?=M`a6=_zg=JʷW.Ο}yy}v Rnn{66 ~4Z +Wb9wPj':pe%d޾Owekp`PN$gZꢕPJiL 29s%h0 R]*iPBD٩3|iLF-7R fK}63G%2\@.\^ $LHtB;x3\\*ns~#RA~tid֮~ݼ2lL T9!䌃Ͽ\ُvΨ]d͟S*+#6ߘ= QiO<h7hƫKZ78y΍eϥKZ$ʦR^7rP򉮕ŠR t@.k<+pQ1Ouˍu[ sBI %A!0_նSHQ7`mZ%[۬;荵LDYhnatvXV¬H=<ֵqAm-@L}J-ۍ}iPw`RNj U0b##d;]" +ss93D}eU7Sw+ř}"TkkWv3_oZtj 4bٙh +V*3sp~z-Vۑ+]ڻn`G Op}RfRSP愄pOXHԟ-_M촉YXMw0#R3X}VJ.t2RvqkDD3ݽxk/1u_dS=' c :caM%ZOv'<#)R. Y*\#uk[kRaJ{"z$.T\ٻΫa;nzbi/9ˠe^wCNu̘j RRa(|{"jq3;sO3J# +fĂ)띬._qĕ{zTOD|Rv꠶xY+NmND,P((P;ä]O|[ ?3=a:=2УN?8Oh0GrKΙca:ڥȰqRQ j^0!`,ޘpQOp(ۥ-"rږK3NƄC~i|AR1Ha 6Ha`j Jۋ{wKs8skp0n%=dʕ)Wӻ.ҽ;SQQKID02܄w.6Bptj˂<ѱ&Md7!8> 9j +##>KHe]ml `阕&&"lgch l!dL =9);r +\jVo0slD8kj]>#'U2)7#Ò +tזDj 9 egBPKy&\N_ʗ )\,:MU=&XE[fOh@+{9=uK%!V"t(˛!0TF"$q)WJg/٠՚GII\v +endstream endobj 97 0 obj <>stream +X_,sCV2 |s0i[%Zw +Y/fe*Ud35W)qḅr|xaOMPTjVilfR"%=/3P•.QR5LJi8%$ 0!KTg jms3ieX/Ƹ l0@=&&nᑮ\=mɄ`@B Պ(3/er Q cbD:D 2#$1;*Je_f%!4QKƖ !,i2Ս`bƀٽHqA R[[pnv_Jk 3P +LOg{rqhv/*W3S3OG2ᆔ3 T0?qT>:fט<E*z@ [߽:\(T{'_ddH|*9ԗAQ+sA͆fYWJ}*[ho=W\%@͂wl|Bݬ)1Ud伱|9qƁ\91 ޲<9XW n78˧@b2s6FqcSU6YrI+8//9k0bc*Rã ;.Ęd=AQKNnP)HU3]&]1zE&=|LGF,Z;#f4#=+tr + ,$貕L QZsn1on:Ԉ<:l8YW0Q+&j1kD +vzw/w6ϱQ{%&mtȘظc؀qFE;P*m!;ϩ߽]?Tl>eЊ"r~sJe2dgs%6l}( +.D\*W.B]ǚ˱2HN(.CZ?qUB1=:bX|PJTV#eğ. .x̷ƬYk@Q.nKe/;a2%B3qfog}???oG7NnaREuSXʷ2|{:4y<}tWo7wٍs &$mTVLbl(v+ӫgΟ~]z/R=|8&'/xǟz}ӏ>?>׿G}evNi "JJ,]uNz[>?~??«o_|Ko?_/xՃ{xmƲ©sn޺g~g?xWW뫏< &@NTܚ^ـ{~^o瑗O|sy_0 HujМ\^;w{_{;/O>OϿ_㿡ZϟGJqv{9ǬᝌX=q^y?}7+?x|~?_<[ns- i1DŽpKRډ o' Xu4l! 1 +R:Wl/:K{<ؿ{~_}~ˏ_ߟ{{7y]p:,yޜ[>wpҥׯ=o?_k/|ezy=om+68+l{?͇_^/>?xG?y[W,ɶWh1#ūR7SڕKݷG~_}[?,uJʐBӅzgvukɳ;'/_oÏ>w~[?/>>7wʭtsIN2Wbf1&,ʩ\v_~_'}՗×^yW^[>u-EL/ny{_}_ݟWyO~>˗z#O皫&L3SFRgQ("]O˛_{G__}W_}ɧ/x3ou"=c&sH>+O-l^;?_|՟oO~~<3ovR;mu3#¸r{~ky_zo͗͟㏟} WfwFr;['ҹ$Ĩūn>pΫϝNSwEZv̀ B}O%Jj/o.nf{'7ݸp}._9ֹK9NIRb6QNø<^l9~2HՅ3Go|'~/{6=p[0׷\4SFY9yrg{G|g+/ݺBcEsxTȀ FLoOե{+[/~_.;X7bՆc&ÊwQ/_/S\<)孈 tFǝ4(nf7O>}❗^ڷ_z^}}_}ݸK^A nN/89@萒XZݹtϾc|{?n\z{gV+n$Or׷C'1VKVV6/_^SO=C/qZݜ.օOˉl@N29QG .e4hpЈj [q؂ӏvoV$xo˳rIƣ\잙\^ gFMȠ5jN5V Hev"xQBQ5$jRZJ8Lc6׌rvBB}q.q41>A>VȖR4RXYv +*ashv|<0f1y3T~*/$wmmdRz:fYQsDaЀ~7w#d2Rp"ODE1-UMjFsfY%?a&7ڹa1 3<2oѺ',Q ;jи#`$7w7ʱȘLIn,8 +G2L8xd`>|tC]c&J +Pfp|Ά¢yvJc@YGB UltTP~o~K+-VJy==y'ue♶}`E'+g3S:yh28j{V,tېeP[`%Fs RrZc v$Ldo2u8N&,&Tt0'.ZH~3(a+uRComP߇pa̟7(,C# 򧼑6)`Ƅ &.q۱ aD81KNSJ &3(YȍZ:wȄEqv͸rL۽0!Q31wꌘDyR(*"fLk;qǎ[ -7p&ˍ:7jn;N86b19}nF6H  #Zǰun0p*&`h0e: h(a٩I>OɵCcӀp6&w܈g@9Y-OcйVB mtKZׄި?eqBOАiH=UP-gS*d|Q/JD .6eDEJ ._bH L`} hXZ%zz4xې朔4n48,EtyQ="pXf:F;̎}fĀvoͪy=>J6ok$COW.Xo1>bu_M3z )WUJ*SrN| +.}P66*`:~'.+v4P1 R5)94lֺ#B''Ie;94f=q 03 :02H5ϓZ)TŢԄs81'n}p>0cQ%PRA@aj~ąRSYZ2{BC|@YРqxE- +EWF"*"ͽ!7W9G +{GeuǰyĈORA2C:bHu.y?8' \ۇcj .5a:L2-ef]bƪL:ve&:b^LPfqwH!&NyZߖT.>#µumvNю{~<%itHЈhȧ >ac 0+r2)FlqY aٿcdW{(%bL(Oc"d[p&5u@AæZ ܗ`9#7*q T&L1FF,԰;ҩE6Ěəsfչ&D0"Mn60 -OGݾ)hIHPecYѻyx!ș|GuƝ7r fAM8'4ƥj^LB[P6lrl='MHM|[:NWܔ೭Uu 50ɍQG<}pnjH`RƔt1YQ{bN[B+ 3b;[[~xAmԐÃHm%݋KW[Dj\BVY&ܘ=j?z$YGim_~̦̈́H+%\* ep@GJe5-Iw&߈ ^ P$jSk#^Tޟf|(x=.mB=4bq3!lX8P(w +9ؔ=5Spu| vDj'C|iwyfhߨ^?\Zkӧ?DH}-QV_:6G\&R| +'=NHiNGaDLɥ +dR  Bol+v1+jsB e1ܼ95&6fI7CM> $; ӻOkwƥ'sg=R^Q;wyc&\X1-WJ;^9uJwrT@VW+˩氉mw.>`&zK-DJkhD eDVظ[6{[GQ?n&MYȘ2,l ~Ȉ99Xt+|k;XkO˙i~;\#axJ=M8Q 7ld 9 +KPH0 %.~ , +p~Q*u.3`TdDRFs;|*__<{Pv\Vx3QܸEg,L|DlJ),A̸ 9 @g=;4V"H(V&AF`*pH=\Z:yLĄ쁴-hŪ g +妇&ρRX2cBHo,Z n> N)P?}Ӈ4Ȋ/1EE21 1үL1ݨbSbb&qРMsݛK [pa b Ʌ%-"6h;X~ +mZ%ָPڔ*eBeFnXPЀa`=694v,Nn0nwI2Zs)/MF:pRA~!cP_ vUc>0ҲmpTҸx\ě;Jm9 v=X:bA)?\QY hE@ 4sp%*܉TPc"`ڀ//T2JS[n\P/2jףa'݁"X};r#1j: +Pq0sjC⏶6NgPnV.bbs@Opo\zDKɽPi d(Z6 К=xwG ېÎEV< $i- +T9M1gz}ʌ|pWd9pzuvf2rxXrIK= +WXV{/fTD-. A9J*t`ppGǬ6>dzh l!XѺ _r$`'V&4be7ޤ SDDRʭ}//3sj“K,\f8)ݛiϟ7`NĊ hՆ+JiZ@`{$vaP#FȨjWh8̈ X iw:z'ھk=r}ƒS.shUz62ٌI6\i>+0f"qFbƌ ^t}e}\rgbj Pv +Z8j$n4*R*̃"|gsD ٩3SHe|kurҨ6TY7&C5yOPn +b7tw~T{Ö/>MFwx P _S蕻*96`@F)3;hkl/옕= +x! x4P/KDLՕ`~Z(G;"kR3y/mX `¢_Ń j>A>h$G-%G|w.+ Ju9X\F-V*2`@5$piJkMX~AQ T<7M=7T%$L~zcK#8V֓Pymm ~}@Lb* J\5OFwy*p҆| +&`x̨ `5~}+Z^x+R2ks&@E.]dg PՆhCQ!F'$v|>0\g|#fs* Jfnv !Q[uK#fc|8aNy~Ȉ>k uv*o/=Ϥ( +jQ^GP6Z\<^nngkˋ2F}6R2LyP;ƭ0D脔:c֎oxDLGj+s/x8{xk/fz>>r!C`f1ٽRX'εwc-!vUl!=;#̯1X4 WD11kTV >D%=7zp]z~s߾ݺC%əa*Ǜ4LL9Q4`!c H.)h h.L pޏ8FMբF䊟(ZoB(F0߫?HHźff#v@At7&ָ`oz~)3 I>S Z8q '|&UXH3SnrE|"H.X>5fs<&DZ2]rY-ۻ@0 k7'@ p0SN։EpRӓ>78( ?>3G&Ŀ}b[3 lȜ/R);*+"JZ^dͿ?,hH//*y@|rVX¹XoLMNdE1HAQ\) LwO.~ׅdåPa59n=-ݪ_]=5 ( XNSzdž'08z^ =c'g)%)=՝;6)Ia;×}/=sk_|(eBEꨔ b"B!kg΄1 C`*!c>`2d +e oj`T6Zte1U$eJ*:;FvsciOVղMV{{IYR*Dk6\Ëb&@ҥ~8@m RtҎ[7sFx`) e]L:iP>M5:&uj%ٚr` ͈I j& 3 z&]QmL<^yqQTQThe[{gřù~aZXSs0 -ۏ?#"տ:1zl qԂM 7/>d +/X+bi~h@RB[t)MQGVU3\`9'ҘC*Z@T0Z[$k@}X +Ԟ ǜ;EGkFsOtt́ #Ts0vqdrS@Fn"+N88a#t \ +ld->ua*F5KxP lشh;qCsCA҇@ln99%SfY#"f8C%%@>_+ח/ _tsU1iN8dJ&c1`F !%;Zq>3 +fn8PCDPdZn@^.>47s/[Q ,9uĬQsa' 7HӵKvR%B0ە *RLV^ܼ."hs; D a(4-/[1>B >mO1M&Zو}ffW@u8'Br jyL.|-`±1JG]ٹtMtxq,Dۤv2iR~Vٳ@ D&f רb0;8P,?͝2>N g:-_}u#!5mAUL$s.e?GNvݼI{a9Yz[Mg&|vouS67kI_Ǭg8ɌёR}'9 I*1FǪ7׈xԔ D~g¥u.uZv,$>.`9}b 2 n* +D/TytJzaGQ0 '[O~fBC*v$G9!ѳ +pIq7wl?>$+B8?pRq/gT Z%/y傗jNRvLsBp9?pB.$t܉h‚ CFLxk0{avNsƥx}u:0˄ZPq3 ltĎ `P5>l8VY_>z/f.wnϜ{[]yqn`n-}<؋k|̆qp Ʊ*[aĸ[L'F$Tz=V^b +X47D2\K #h5,.]mmmn?ߋtTO?YW..#Jaǻ@Aq7i)p[H-t6&,Lx(\) %_!@x#\Pa֨\d[:le`pQ;E{¤G%̉Tl Źs7_,B_jս[^y֋~!W/nXe8][y\=hp⋩ : +*qӉaa-&|L\;!.*^@HOj0B WبSSȐJYL(F$;ÚiXLjEB-1|eӽHe Tg.ٗbTBKg&'Ǡ3%'g]_<9fD#hN,,5mSWVoWZ qL{`;l_ +WS+Jm+]ٻ|PK:{~qbц +[ BaZ |8wΛjk-jh}I2'.t|O/z2L`в&l ORBs+ׁOirXXH0Bk^UWdi\a#y +P`RabҜh:Qꗭ,,t-OW@96ꂘ:Re#ds~Cyhci'KFbBRvR-%>~Ԏ0ʓBkpYg^.&t/w!@"wz}#~R{?l^K''a?':*O`',wͭ@TFJnAQJk^@Iv]x^kw+`Js2>1ul *X:3$D2)'7jB&Rlldb4P_umKƕ7}UP/n}.N^ f>ΊhZ&8\bWf,~hWdﰵ~zEH5zWK#--9|9Km f\bw)5yh*%Ha*fJՐ` r6m>zgQ{QizfШ}j`aN+Z;#}&5DXg.{ׄ .XˍG,>x 8q `P2&ؑŪPܨO?;Ϻ7oTm~ƇˠN WSnZ&\䱳 AL Ga:H#Dꭍs_-_Rixq@J{¹I,Jy'nLy{JQL}`8&0.Dƣg>#,ĦjsPC%&- kN`I9qQI:k&{xjpjgCmZڇDlOjX;y1^϶7zf@<<oTgHu(KpQP ?nǜ&Ԥ0͵kߙXY8]WxMnj> +W6⭽[7joO\y!Y\XJLK^7kw~e'I2'Aapq5\p;kz}tru^xTl{{W|tIiZNJXmCIIF*RocJ׭N'w#QoNVg6DUbU=5%!5(5X,|ƃ)gYE UG>qp0U  h f ~&@h/-zNIw*G|`'s:y/^1#&Bq\# P^^;R ~1;PIKvtTDh4Q!e%h8S΀rig6҇kR +xN,nz܎gq|7 '܌I 5JcVDgO2lFBbGtŚ, 0332f! +q1vf 5h2ŹÛ;+G Ogv_ysB&*J/n]z(BmZoXc-fX~7o 93=:ZD}=??z𺜝7Vݮ.?k?Ǘ>jK}o}B\~ݧZ*ܜV=\.n)EkZm97$ZLRz;Z:ʈѢhz=߻X^-׽l8>٧+$pZGGAmog XT%a*,Wnggq.kzɉи).L(i2TE>V#<( _[7% T4qjzΨډ rOc*%&))QQ+I1$ +T`#vb^Rp@11;qڌ8h 29RJNu3HaPj#g%l0j!$Rn!9T%`/U'"IﱳN^,L>RE +E@kTR؋{ }6H]4J he!^g"%T)zYP颜QPxdXה.T|JkyO {w^kOw^|k{O6fܝ| k*5K+˗^ґ7_u6ǽI_M'a,`3[ PS-2Ru3q"Tfbdw N0Oj 7 +i!Ѫ.] 0SaOE*gg.X.zH5 ΜѵT J*PDϏ }ևp89 k6;9w^*IxyzQr>z糟<5Ho0>Kwߺm-; e t NQ s[':a-ύl( n0g,[n4'U/`4 SSa?blnEJ{%\Aûtw'2,&pB Y;IJF+bG2=h %TX+RSlHdtw3Z 0Hq*I6)ݍWlĂYS2ibBPbJoju3ݿ]#B2 s[7VP^e┃4TO޳cШSBRի[ziEg_3i#z<0F㰸vDM~2DJ _iv/\ qV,VXva!:\E,&&\',ax9(.%~{UJ{K,y%6H@i6eA8)f.2,"kKv"u/;Ec) @xԌY /F_H)TlHii7!)VD8sNyZKm~ SG[.0ZDШN8,C + :=h8aaLjp1`l>=<*D*!<VFmpLZ!7(C83\~.e1R?T9"^ HcV7AKh +P?#|H+Yp8`,8^2| ' pb U;l XΈD8)p&@gݧ}& *X5]}-H䢟OyQFT:h8/,5WX[]j~\EŁaaNj*&&%!hI~exA(mҎQ~d9b$'!d[sS Jjjq{rZn OqpP#T7,x)@눐 B`Plm]]YaCj.8brbV=v$'YaS`a>QJ.%ӗ3D5%Z  |TDF BL^+IJ=wvk *|t҉FCƀ:Аc э)g'}l 1!qq2'qOԌ<Ƀ: +vڤ*J A` xljw<~(\2"6w}"͸/$X]+;shAT"9xv;20NyGM +BxX3~, `ONy#4frd``].RtV/9b?wz@xgF+%|gj`4Lf3$-#iDWX1̵^0L-wQ+f2Ng1\Aqr + v҇jj&+3(-ˑ e_!"G\gM+0<g^Ipm91-Fnd{ cZ(=..`8``@r0tM=w|jʂNYѳSmgF]V|0|K4U\߿rƤ Y*(q3ƚ(Ϛ>nn8SS0b"N|܊#'xe.Ά''=9m듓F ;Pc5cTcYV m^o^܈g&erS0p,/ `a *k~$h&c./A-^C8pnZ%\8k&/l0˅ڎjM^p)TC(>Vd~9%- 'zr5F˜'0ؓH"YФ=k2@1L +d +"5sZ9@`؍d#i9}tUe^F:'OYN8=*W"as8c36˧*J6Ri0.fP#)Kw=?aqд'ː2z =x1gn#̾ iɸß:8y0:=3Af'2ʣDdFN;̎1& 4G'TiBʔDdjȔZ̄j 8-Sj*7E# "JIj8gttaa}fyf†SqD+Gڧ.A@Ѩ;[{T52^R2<\ׂL%5VU +1؞ID2_ɶfP"m"\ȇq>ySoX! b#S:# Lg~ Wȝ. NOWgH 9ir. 2L +\؇R#,,'s4PD9(8L0EKr@IOs{)?"p^ KBiw9N]J6֫${3vZ]LjNǦA:|$ZPUAQ~ +0E!0\4*81sǎ4G=|fs]'zlIZ$s~()w{'0:F ){yaAv+5.f?W-T㉌ZW[Wϯ,vJ%鱸f珝{}++odKIȔQ@A +!tQR!WfnngWwo}OzB1eCp\,BD3(N8=N;(r>]_^L@`+0: +3:==9~HOc> r)pB `}ȤaǤh [<f) [v7ZRVg?ɥ^ܞEc =݅#4'E xF1T+z ykͥ|7?{[sjQ$}@(l! etS6滙Fvy}ֹkO={pZ1i=:{q r{‚8e>q46p:n[*"H,&sG69Q1BXN/ryuu|?z[޹ow?|񅵥x<[p5.:IΗs ƅz lڷu_rkKk|dmVF8% k:ʃ/~{>\򳛿ڿ|'Z9L&y,,=%ZA78x~76gDOY-67BSN,珊Dl䂽zlpk_ɗfm/l="edT"δ~uk3<ŗOgwW޻?oO?_O-q/AȀCg]}c#7o?}wzw^O_~??wsDTK& FDCJ•_8=8W˿ٟ|у槯_:3z( zNmCwL9=Z)nÅ 3;yz 7F"8QN\qחwnL>?~ow~~!K +jz& +tb.t+ {Ϟn{_{Ww×7ŭ.b2˱X>A-RiѦ[W߿?~֟~߽/'~'ޥb1w< vr]Z}߽ӗW>~y?}_>g>?[[?xJ7l#VA²ݜ\}Uy~xt/䕵z'?Z7/v=3h`*7qo~O?_~ޯ>ݯ?>K;`&347>8~lkꌫ췥KGgwgg/O^|ѕ{ז]ͅ *"c 1Bcaب\' ֭/s?֯?Ͽx?K/dW GK 1ARKH1J^/|c-`;򧯬G~_~r/gn{׷0`/Z/Ї3'O6|v.o?{{ksň8ae5Ml^>o~??_|^Ks렱=eYϲJ `aE1ҹX,!8=ߛM\\Hqw~/߾٫_r~~Z~.e> +Qg(!Q*V~1xk㕟/n/'7~џ~o|a^n a+z9dRhlwe.RGO˯^?|ֳstP \¹BKL-5Kܭ쓋376Jo[?ΧO{w̹~z8P`E!U7f|_f/,^{Ww;Vx-\(x~FNPbRT˥ҙָjbop0{zK˿¿O? =J]<(,ew0 +Gut5[Ų_/ǟ<=>:TZ$0vD"F| '4`pPGK;^+7n:@hMZvsu=@4{~wz _~uwr|v}:Qφ c"N4 OSJ f醦 i2+i] ߟ/_Xm[mbK5RQC5n&qt8ni\jݻ_>;ޣw\+;?^޽g8 T%x x:7߽wxҋW6VB )Qm!E8UXKkt!*&۹h+I̵~as!ِe1+uj5fJ(,GCZ&'ŸPبH'>oH)bݏ +^ P1iu^r&Y϶Hp\^.RI[.lkcbbaJ,|jcvxP(rJ;)~Pş^v}nw[6B`8+x Fp,Jq,b!SQ9e  򢢢䦤q:j PVwD Qyx//̔aG@tFS",-04./v=lN +zy|(!d%,HQNgV(@/J̓M'Q΄jbѡ1؄ ۢT= 2fjډۃz 7\4r̞36Q; `TҴ*`9KXRZ^q`m0WD8󐆛L.>^ȴ9 zg6y 2 +r6WGsǧzǬZ!_-v ظ#;!Čl4  :|)!2I6ҔS= $x`…DZPa%W9(B"lzʥ'_~{[O TVC0LA2 JaUNY,ȸ 㣝X0I^/jnBpmĪzi #~BJga81wx)DP˰e 'e x%5>1fZAż݁h7 'WI~&!`)FJT VRMZUY"%;bA+I:Tt3I;ra;Y Kop<Lqz9Q-9RDqd%IJz2b 7ur{'fRTt:9~-~AZ(\ vX? fNKsSQ/PCZ]dK|bZ1F%xmҊ^C",. iR+毒Sh}uTؖ3[w|bAXA4XrOEiȑjD^z+`$b6TГ҉ȌV"=X,[s*U?\]֚p uL)\sa!"&>.eTSV;kCbVÂ%\A"ṲWtQ %7FY6,3> +W+PŻ^s =fLw yA'RaMʮ4cVaar`I;gS4CRm,T k:V*Snp~}vaœਟ7:6RӗRs׍!4l:pEHQaOX؂hLtZ)uB sqd#6D!U1݋6hmS+,QU{T^~~/9.rzHtnYɰOK^w99s9\p9tkuH.$]2h]=& f!"Ja5־]@AְIDɎJ^aү8ѐļJH9% c#fӳW;;O \x7|JLN H<;XK4JիtBtה aۨYKE֝^ W㭃ł4ۖ@H/u7VW{{+doVE0:д m^6t6N:YOF2_SJqCmi6jjyS̯ѩtJiOj>3}0pM 龔["fl8-n.]Ŵ%3!sRDuKI͎$7qk.ɔ[9|lԈ[E v^'BK/=xu崓Bt2:\/m>,3 f$uH̸O;h0[3y +JG(ЮSN~ RHϭ 1A. x$RK{VP3% %.bu*ZO2RGu9\w/JŀRD7ҽ@02:C^ݖ3}cL| 5䜐_`Ź4bBb:3{@((n{/2m+Eh(7wx+rѳ$圬WV&ND#2ڡFw^1G'3)U975 {Bzf}r? 'Zлx,P .qnCu"ToݾG^"w1)!~ϥ̈Kp1Y6n/ܙy9ٽa8ꡭ]zx4Z\J h}ˆ6,BGLj{&9,M콍@.g$Rʵ=Ck-RkLPJuuWuWbgl84.f|!cf] hƴs9zW_]| EUoƱPk>ɫ_co9aNJrsݣ/=sl1Py?^,ZRS{( ̘mJݷmil+E<3w_5Iz:)K>Y9,͂nϻ_|sxK<+ʓ,(ϠXLE}-e0dW]~hwї?Z' +JMvonogwoݻ_]|h{s +y#Dk ѻK6˜XFJn|I{^^ϫ_$_pU{e1'[=f/h,k]#Tlcm]*g]Jwd=8]YUmzWk +V]ޭ>ջ' }68F3 @<Қx˳׿eivoӯzzC+}_?JIn9gξ~S:o݋/QJWMbx;*5qa b#-TeSfYOEz;hj>"i?U;}gyvr2!AuZqfx[)"U겹|}wG;`ܫ-O}ϟAꭻLqg٫Ӓ͟><;Jewkۯ˿oWW~{O b5ho.5!ʋ7jr@\sc_v]\wtufn U=Vz]'7ێrw愷diW7Ͽ_~+6hK}TZTEm7{߂S]A[/k{_:z_]}q4؝޵ޗ'f,mvnݻwڜ__ОZ۝_l.{Pw>1:ɓf {ϘQJTytWnٟz7kz.ry9?'yZGJImuy4NhOVR{woƴnIjg2m #'psY]#<-p`AJك3~+VWxoV>OpHofcɍX;8b~?Ϲ(Fg_HX6URsZ+hϼT7S~m|fBEu&>7]ك੕ɋm9gU@ƎM~[{ YÌjG O}gYrtYE:+;4՛׿_[˻8ӵzFUO;';o\㏻vAbZ@7=WK}zsʉ8lS +:G;=aasvI/畝7phrer 3NS};W=ƔViά<窿\t*sTDdfV."u;_ U}r]"b)JPH;;T` けg+qT҇Y 2IWTw]k)ƱGj$ɸvix3=qdK|s֛\+c(m{g%m_JgWf8F޲{VS-w2G #*Tsn~8id MG{D΢w{4k >`f*p/~ +[y4E>yz{19/?gں;7jlX̞[W{~ym^?։9ǭ)[Y;>6&G۪߹Tj ~l^w?Tfύ^]^"qAi1S?"w=a dͷ%Z:0H}C@̋jys- PN?ƟWN?<{'at-.n˃[pm} . fUe~ɜ޲<>wF`xú [^ܞRnně$5I[M;{rxɻQR;q(UDnSц5aʳT[ 2MPnI&J.g pߋ TPۓڧ٫Oow^&' I˘#zotnOrA뽪 @UYέXmfDb<:ή_M.WCY#~-Tmۃw^кJ3P^s;v4͕ +b('& +O6fG@"r &۫[9mn`$'?=R;3uZ9U1ljKU_\}>KXQ뻣7XHh`:{wݻ;9%>k|ͯ0Rb;^2Ǭܒ;ZmwdT;foT9I:R9imk}AJGo)iH;]?^kHǓ8#jNI更g7AK=Rjwr!J =MPDs뇔,*4_ +eNjB S{ȀE%1^m/~a+pbg 3ơ;|ΰ>猤4؎Oh]y&1/VQUk4wb%>R`fn؁5Wejny;Ŭ1p4i;pZses +/a$YIܥT?)j0>_Ny-\Qj{Fߋ͋E-ʞEJ +5PrW3 I^_AԾXݵ{gj<8y}VSQ.-ERuUy;| ZU{~_qpasj5{e -2k:S){n:~rY$68xB6DᦶNk/gZLA/9٢.rfEm;~37&ρLS^VFkyvk}`1MX^u>/H՜*?\wëyvP嚀]FoFo8fA"{K-l/ IE;3v pmYBigF0B9ժhI$)`bsr| +-T9Ojuyx:b$,As˨:z9,vIZ3FFHNQ2}zW=MPﬞCnGKJ3,)Ԏp{DQnL!j HL3p04q{^,Cӯ@mzZv4C=>;ؽX7)X(y ߠջ.wT$++ji5;F4OEIGj,8{jRzT8gTwwPca\XOc!wh{&/gR8Z/N8G;-Aהc`{eswϿwW3i66,J@NZ8K D?<" +Z|_.JJ/WIX`L]{p3:Yw\rHcn<ڹ(8j2v7y7M^1[zQRӃrBۿ\l8aM1}`o+휈mz ƞ+S9I `4J:L14TҲ9?}[$)KWVRݡ8n$ip\iËWϾh8^s P @i ( yAsHHZ+! o58?Z&[*,"ϻ [V#*!Uib+J<J)L ʨ+ VtvPP23+;y)ㄽt80zly*dJ)oazٷ9QTݎVKW~q6O ܖ+suo{ߟ/c%=OFcGjr1ssUiTV+3àΩqf*;Fv͝f4WيRGoؙv~^Ի`GdɇWVc} -79Xe{*VsBmRzހtr$ڶ2N@8mxQ}FS  vLfg>[EuwKQ?f(^҄ B8.X=S{pI gYy"Ҝ8gNWfL1reATEKA߱ 6~O!FmN!( /+e/Ἴ$Dh> +h8 dIL2n%=Z 礲b3=|_Ug + ?^1u"$&Jx/1U8r 6H-VZ S L(eL0V':_ F{ʶH)Lplom AսPǠas?L~oLk L֙e*)2ݘ_Z;C{=ːrʫw ,aEW"AZBs7'g=>M/G_Uj2I1T!:ڀjm֖ݷP:4HeN - ۜ޵v}B^x4AZCt)(v?E:!IZ^H}pOyB$f=S)ҕpN*q5Ξ +|#W t+0KP&vꞥ4B+CABJᢙヺhnnZ%E5i+UB9OVI2@_??zANmGQ I,O9g{To{9.7D?S@-ݦ[>胃c''Tw"y\>o|6Jz?VQG;B} 'nd$ZG09ޭ1xɖq!? 粴ͺXL6e#Ԫs, aʮ5("G w $+l#7q} / Us1e$烖k;\ngn$s+k1j=j9IF8fwɸ<~ty`xSo3\;< +')6NzEe PBYuzrc/NŒpѻW'4oZ=|G!t-Ff:?F3:,^@:q.l,86;gq;S<ʝ$m ;ʐv`Z ѩڻ/{:o DL9{&:$ BuO1 y5㸊#J$VAK/?P^H +cIiw&vJƨ<{fܝ_SNP^(pmu0ۘGv3]|;Ykj}X [Z |ʳ Ygר1[ψŨ 06W^?̮Mؓp%Y^էEֵ`kW^W6U4IS4dF;g-󌻝a2ƙ$&h9e9 L@'YBT^( ڽQzN<ջy#L-Z1Z?V$F2 \RUN3iԖ*;r7SOJnL.0_OП}Eu/ޫ۫xڹ޺JE̎xijcs=PX*D(n:Jl610:`;YU&͕ W=L!t`w%j^0;͡;ˋm.(4Z7u絝IVjEp3` j7TTYgG9C.h8l@TJBE$ǥ)@r-rc+W!&p{!֎jQS8x;K]>ђ +˝%xKܚ7/5_#\Eqw3''q[Bk=AgUGZs~* ܆bD*#Y:ح3 0TovGX=?͐$ω7~ O""n$SxvьHQbSnZ[2f/VTҸ+ @DJ*,,J2  +p+ņRt,rZ4'h(,Gy'(h6Z+U =vD.&BlJ#ShSJ\Ytj}KsͲv>/'J$ q)5"XwOgߎ~zW)ʆ"r`ZF4;zu\oZ#_Y>gYiX }H}(L(fZw-\ 'I'.Q)m]f(1K݉R' "\(lD<ʻYBP\E8g}~d[/9$c\h*)SG *eqcPIX0^3\@ u'i8) +JXqdD*+w*CB4`y@ mPZHd:q8Co =whԽЄ"6dדztMϋb%#QP"G 1D>MBu4pu?דd>RI2I R4A"|:VR!0kEoZCjmaO/x˅0@rГ +HuPDiEEr+wtnMMؔF +]M + Z +B\T{/VНQ $^b}s48o+4060C {J0pd@Qq¬e!Xmh;;zE=LBsR_LSf=IHԊ>@)%${)Qzju J:h,W-)u".~ysDU-b0M, T im#]H"SiB@'fHy gHĜ'3>]I(,Q@;Q%nmŧQ~&q5&;+Z pYTvL5Z;FZ Rt%Aiin=B^hqȗ8++yzӆGv}&$@bf!:`mpc]-JXi.\!CJB81d$_^C> 5A2 +pF.(c1$[v1!؍ngE[@*Ki}D+v:WrRYVߣz\nZxJv@űr$ lvQ)謷'7/ډof9@'`(x˜1Rw7C@yfHK/^}W9=Ԛ"(/6yfcos` +PF-_ +6`XQbɓPF +r8/Cm'q.ô F͑MUTa\8Fw/p+5݁d`ȭPAfqrd#9gN)FQn+(Tkhcap U>L)}"UR7CyEk[V/Ekzfv^v r/>`5.:{Ԑex @sY<]܀)p\nPJ?j.rwƸXQRVkK<9`1J>*)lR^~‚uRkA]H"e6L]_f +q6ϔ 8"`)B1:WYPBm\8 %!2+,|vc/QҘ=Ji~=$rު:i8f"!(T⫝̸{R42N;Iɉ-9\uRv v'fRm"(m-%)X{jc(wQ2~UL#:kby!"gJ 2(7α&t 30n| 놣C߅.]ThcR+(P,)PVDE$O6OcZJ50rZ}D03meo!mJ\ R*Nn82L'HFM +Pq/YW11@ئIf){RRڑ@LU{)'Q̉GHN,0 ;=}78*KnIT5*Biv=ެ&FIvHk'CC[]~_8'UOEZ} ]eb-mgWAB]YI8;VӭvLp-vjxoa؃;u!/f˜3ڇ1T,%Mx4AD "i&5Q7FVH1@菢8(4>eqm벙f7<①m0'x{1̦)W^9}ߣZF i 5)gL;szX| ZN.gq) :T7rܢsoaNDbdk * +7gːƇ 7;j \vIlTNAf"N^nzMAARS|@i;7Ty 1PzzQh.p8 ͭH +ܚkY%)mҘa4 ^٣Y#\ OB,ϲʬ3~1%錣5P,Y)@[>HʲY ४P,*{ g쾰'Psa<4aZ'MI̻um| tAA:= i25x,v^ƫ ћ# $ﶻ׼ mW4%st.:g?hȏҘcz]B,=:?Y᬴1Lb'Ϸ9g)UNuҜUogZQ}&Wty{_ *lEm:6 P&V(Gg(XEef|;v [%0vL BI6Ē(_f6 "F2电8+Y-9P@=%(Ga'OӔɓ"$Q]Tw9 $*iչ^d6 "E}]6))X (&P#Ͷ b-X:s*iڈcY0J}r\3$/xʫh^.2ުRLA0r7hAA>pIkGaB^S\!3CX8a3+Z"bOtϏF@2H , A +F^s'/ +̳ej/oSŭ[+m%; rrY TgY@4`c<XNc`Ӏ,])팼bdHPw7j3GqY[cJ'ǔ%jfzIPN(ZwPeԎARLP:4%G07r8'5Ayz7&qܻJPխ dkps@OI{P6*Izpf ̉,.i Wέ7yvR<+,m|(VBHY >jd*Q\T|$,]hs<_ھIwAXDF`b``vVO(=xzhj?I6ZPC.^%y=?QY; ]HQ +|!Y[qBKTsb+&d+{t/)g QBbv 46o9vwA-A_aNmqKsT7_)pVt*i}HGvшeD;A&$5x ~LFj<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rFdXkbkK TW~-V-op|29,bNd78\Âl~-M;k~Z{pgy4ؙDcǏ<<;:=;x޿Maoo;}{ _f (V?~4%_2-Lz\kukcxbH-!\imdwi o_O/OON$>38bgiG09[&̭a[k1ldT:kt,ǘ~R}YfJO=p[O6lCYHG9֏z0B$5J|-TST mXYYkk}Di')7Q4跑e*yOa&VI{Sʙ r71L 4^ +\7z %jNj7z9d2iLyoG~qo&p'RT\(w;)LN>ӄKCv@:Ӣډ`zU*ۈBm_j]de?ף bD+Yfv3R+UlU2Q*aᵲL-ԊNNh*|=6ƹV57rV^akOH)ɑ]RfhR3 m6ӄ$JDzǜ/* *h I YF*9E̍,3jPz6LSnOģ(bRl7 W9,,B8Pa=̈́ +<=X9$r2BAl1s=ND VF\O0I), ]Lj:PjHOe\a9L \#T2Cy$4ywΚ f $7c*))E!l3Yv+Ö;Â2 -Dlr$/dhvJֱ`/yrRCKR_^ cCHI +JQI멠]_QER=IyNs}]ߥ8;9'غ(Ggq**r'o]Aa*L&0+M8pe=x X8\=/63b3AI)᫡M`!a)i|д,VRsčHQeX^ß$R/#y4o1QΊ "( IS BQt;'%P3Ey9 "Xg$O"?CfbR1&6N֧at;-Ɗl֢h5|$tr$ip{#ley(bHVH2բ>IQn8ŊS8]r(WO1*4 ѓiMF0[91>B 2yChvF%e-ںy48֓yy8+qLh$1F_ki^/N{i)uyˀT0Ei҉ZpcnY$kk.f=TS8iXW/] O;cқ,iyh5wZ0tqg؅[+lp +&w6)n##ld  Gat3e2dfQ@]O,ߧ+GiaaI{*ji*ѢGu)XAJ01j#,ċ: 0#!al-J<ᢖa넹@LX{1ђYA9$*y:TYI q\ N; +W2?,|N3)ȳ4ӌ!Nd)+pRfVU4%n=ᬐ! VV|涃~nŨJmē5(x0{9i_Oy &+3`NJᬸdƩ$fj(*nf#roo'$tA&MiVGA!vĎ"Crw)V)x0P}ђp ٝRz=oe͌.8H)4N6%a-$]K> 1+YQƌ+x Tn 3F$Y"Z +b#z@lCqLi$qp Peg +hT>|oLHyfv/JJJ,Xjs=CWi{Bm 0b*ekSz0=d@ gʇ9qu{]A繦ջgw?A!_; ^愖P=TZ`pc +D$b+5Q4SkHmD$S47=abQd=7?bI$9 H@0$C9O$fF#%+WJ-'(KmYzwU=U<@J&lsN͒td"6J&D)D5(i+5M6* *eS?Yy` E&Z[?Q&,û A{!Cv)BS u}nFlxR;f4 /[SE@cDE3|NaڡP)T8j= F$2a*@ M)PB#"y|6FRȌ lXǭ)5\c_50iFOOG= nXj`6o +oR!, ivpx 9gh^D#&g%&] O BRUdmTgqJhjr&:&gӧ/۹/ҢY_;)4P{UڅmC0dT,2d]R/IE6R:8,PXR^򄴈hJov#&f‚Ca\;hC-wnӘ9qil,AآO]A9ԺoS;`_ȀHY@( sP8CZg.IofH6uTAə1UلANѨO(ܗLczLeŃp2Y `x:$ +yxgY_JPce-@hNr`zwĄƆ:i NZ#:l H`hzЙ=wXӘeTٽ +i95yΘ)pXk#1d W=E%e&m>)R/Ty- խ\zF|A'-{Yoĥ|&l0=.C7ⲃs9>9I'?n%DLZOrQKCÆF"*}&9;"LBĪ ׏c.hO"~OI&|tIZRi6529n8n:XD| +DB}7RFIk~(^eE6D7 ++q0;vMh)l-FM<oDrX# I 0"┓7x0&NK*+?aZ6o\ccTĴj<(XJ; +K#JX)X,T䅼x XHk 7aXviLԈu F* c!^X! BPLYO +Sks +A()EMnqLY<-ш.MS13a!Ufn(P1#6in[[#3FGȁ ~€~hn>4i NIf"Tw쾘\^d/n.Xg`稞P[9e?I%rZϘ@..n@ࡂ#Vߤ`;(9(-<\eKh2fa4N?00Aw1\ݵD'gt AsKDl:Xbܞ߾ʤ_R;V/p"8"T)!HC2'M2'uJo/M`fR u LXw `۟t1_0ۉ8 aA ЁI4[\ n!XZnjQHY^xAmxojMC@e !| b5Dkc@!Ӎ,Q. mbt6މPz c!I =4[c%;?uA;X0d*s#߄-O 9<8=a&t N5OaOT:qܬ'!{8#;Dc R @ EtqATdS fOЈгZh!d _2TtsS,v*acf$ggfvcI|, + U* ]bIs]¨q2@zfćEtɻI4֏n +vqu26K].jd F$F`1x_H鐝hqP!'{V:n+)g<L,XWZ6BVY#z֑R1y`Ƥ1ȷC pRc:o3a['jb`ڝ&lUq=b}3@&_ӄ AR;D 1`rFn>5j1A'jQ8+)"Ex!8[5 +|ޟA060T&Lp""8OLaN18XFdE> W``eFptI7Q`v)6p +10nA9m4'lR>4bGcPB:򺿼'flF aFh;ngHerL| \<̛:B*;}hyrdiT? +er\0qHk00D.C@?*+au +၌JBb>P4lvTrXX bMPBBz68x]ZC.ė,Tjh*X v;4D|Ϯ=Ҥ<_ܔa1ޙS6!HF&Xi| +3z#؄4ӹz`}[q'BP#oelN^.YXK2k#f@}2_zOB :rRxLN*i $[iRط#7o bpBĜBDƬCʘ C /hF3&uPZԱRLDd`D@aN*uIS0@z1BB'aftzxJ;MDEQtz>sQpF SdXA)+0EW1yb:HÂ!'DhM*#UFGpPs@ew>ruҌFƌXDt,"h~AnaBNe&mHd1*DcGCqI? i¤%0cNc"T&Fk;ȤƂς#Lt^veҁt߄KBEmo K.$ Tv3i_ lBBL05; R&cX8^2I?B#:LfWL 晐g"amx~"*gĢ@P{Eg)$vs0~@lm4klxȎI;8nj͌y$0I-p<35TN8<){ SU5V@W;sHmW9 X3 Sϑ+' 0P9p=vaD̞Rۈ1lA^R&AMBMFȈ %ΐϸȅ h?Gud~ۘ}@O'k@"nȓvQiq0bb'<#u`D`z!cRA?3r$<`G tĀ?´`1m+fDAjF  :n  D'ژ==ҡ)pT3vpU+v ;ۄnFD M:|*(}?wBX 0.h)WXD@-""jgKbڑ6A4@XMq?at.j#0)xQ;{ëȃ*2cj:i&TzfHqP:J;H韎L~VĸvVYXWh_:պ &'17ڎ+V<2~@Rbȇl)RVρ v Lyx}[r yOd3̾΢*(gE hQ INfxePʾ`\f|-rJiN:=n쐙qTî +ZwAg@bY3x@1Pݰ*mlOg@B'vTہM,:ب!*J7q%%h52 C14l`MC6D2JO9O׈@T}(CG' ̆IO6"M됸^jut6P0F[P)5PbQlkp!b HA**L~nTX,;”rqDmsy%HwtV. XM!0!0}( 0>Х[cÆ/:4v4$L@7yPPx!oa8F 7,R&9[,{ ;rKbqxL(zOB&ޘΕoN8eC*(!Z +/; g<\4!LCYȄ'P ,p94PP)}r3FZXis',x_1)9d+v! uBtoؘ,P&'м& y:;'l"hO"!'cH1͔oD6"0v𚫰 z)9 dO1fr03;H0fډqXaWQ$h:_ U A sJˁ'^R*wh!TI q@?;)\U M HpcBƩPIe-$ʥ4 J1 0dsVs<XA'W1y=  V>0RYYYfxOd 0NAcc͌`5ԈVLhM<J" c|aHŊT T@%,$O:( +|j|v6ŦgZ@'zNYy=)b +.Uc5OlewX}Զq;_Zi,5wfRHB +HDfR"6&OI*tbpEP:OBe@T<ʤS0zc:4>_m"BAu8.zn&0p/p4-!"db(l0I)=Bn[@XM8_c-:1N>gc;7Q 9$cDnٌ!%А7#+@`錅Hj-;/IPb#mCS^h=(9;  63\C+61/#bDWv.ER g(`8`j&Pwtlݬ +nMDg|%z|pB~6Ԍ?7h dImGZ[DGtţ 򅫰jPFkP%ZZJuwLdOh*j#&\ƂU.cdcD[H >dܒ?B'dⲋ,첐[STb)T>0ʧҒ  +h'*` $Jh]a=@mDx+Bj6` +KN xBUo +C*0Q_`= ҃&<S3cʊ7 gwÕӑl.&?,ShؤL'w!\ +Dv&CdkWiU0 tӣr+\;ݫ*h7Pt+U749oFBґRPReYұ SڛDxg %/%}>;kl(m*^䲘.7#`ہ< ye+p9OhɄ\^[P[>/d4pMd7\J:9cb^. +*G[`\nf&TFft87[[:O%{*$ gXg8ۡ*E$Pm4ҔsQ&^S`q. HCuT -E0F[b5`a%ؑRu0]XdHD%Tb:Z߂"-o# [/撳J{u@ yNifFlt+ ǪKӽ='łe\n{u2e]_$TJ&X}VwvA)f{z/jQRy%ډwPD(|b**+dfMuލpc;V]o&zoJ3y6 _X1q3 "e*Z |;f bDQ;|n%OЉ\Yu 9:gm\\tknD[BaNnW/wo .1S@O 5},;s"P\ٿ';{%\<r36_w?TDb ,32s&T^. LE./ӱy66MD-pp~!>BrRRaTLRr]%~x B2[Hvg'XS;T_ssLe3vK 8f"-2pUX "Bi\fxw,p>ښۻ -0;ܾ;k.oʍ 4X7<].nm"4%PQn>//^Z>_>s_iL)Cӱ^=cVtPAm'\ڻ{m}w=.9$*kc}$Ptj#lln + 9'VMJ v#//,?٭.sk|~==(o^w)w&tlqbl}$hevG{Jkͥ AĬTGa KŹNGDՅݽkJ_,._(9IH#:Q +pP}+X[O'Lan'dSBvL0Vƛ. +Prtd,ն3@u%Vf.}Ԓ`s ҽrkV[wX(Dvp:5}4i_޼vӥS6U({.]# 'XkB~9gbPRosJŅ|ƛD%weDj `OiѲgby4L~4^XٻQX4\{WU|ruv{]bi~wyJu,=mlz~z |) +&!gIJXeFg|/7\^b"$+õ-l&ffϥg.y`q:Y6"P/ccLsx4֯Ak}羇r{+wA665s ?tWb_):b59}~i?z5P9g޻wK矓*;c DF+C/nyɇ.<]X8szaՂE.33rmuC3_6B'XMRn+F+[Ņ.`F"^q!/N\$T,,]̞W:)L~7PVӝL\\gހW{W,]ھw˓m孋\|dc}aܝ} ˟Xtt*,^fK۷͵>dHu@ag ځgĞ@eMi٥dˉ){.@Vgc3\y@GFrg'ޓ'j Y@ypN+\Nnv<|1{ZHM8GDrF<{4n.v3RtgO*=p1.uve LODKqqYHOքc3ҒHҹDg{fKiu4'W.<:zޕsvnJN" o%ڻY&9s`.&۩ʺT]͜v-XX+qHt0@lg + m7գHyt;$OK`PKwHCZ"r}DDT,Z+'k#MO˹Fڼ0N,2JM&Z¢15@hlnoTGk+7WTtƃϾsG|Qğǥz%OZ²GȞ'_N6 sҳs+kw6erwR=h1%ߩ.~C~iE<*LAHwVNܜ߽JGV +.K@~)>l9hEJv"9rTrWÙrSx(זNW!KP;Y'C#Sϟjo]Y8XZu} HbnBnj> OK(핥l棡\G${si:3 +h,L`EnaTfp~bRd9:='](ÀP<҄gtD0|~,9Ĵ7-_IXu8t.3#$`Z4vΈ'^-ϝΜ/my+Lg?[F5X# ğ,fɈsPNFMT.R<nߐWs'򪙔C{#BueTiJszEZe\;}S):)%Q9)׷@! +Rnv_eJO<Ҁ& E +Z'3Ri1Οl]%#MDn)烉!3ܻYYݸj֝xa!6ec`_:6cN<åMw_a!"@^|^eabAL.r5l.l]PFʏBOuIV;b91329a7=q&cUcWM>7E+@.^Iv6T+dZk|a. ;⒅nszp2ZRM+CŊGL>,ܤs<'DVKE3Js|vfBH@v:=wc}*'x^Dj<Ŧ4v3YY%e<\ֹiz6!^^,ϯ޾pRc, lv'f.1.ŊL;Tr*%'>߿=R+HNq~+Z0h:ζ6OLbb $˫.1IJJk^,vB+,|Iږ2XuK)DLri&+FhfW;M2(+Rҟkb!ݼr!\촖wz@nr$0qM̨_DKr +v2 +Lnm E"u +nQ;TIn*fzhbvi Hk$Z. !;G& r2¥v'T'Z(ĪkOv@RLvpf$`"X#U(i)b4{zi6|" hƛҀ23[|[kƶTXҘ/N:|b.6#*brh3Iշ`UcUFA5j|8.@e_Oן~[o|?|䃋7,#vǥ2řbm^ 6;K^z/<{]|;o>oέ_vhBOpF o{r']{W{o򽷿{ ld"f硥h/vX2^7OV{k|~އwޏ\/T !;0 8ooyĔf^yn+Ysyϼ_y ˥2-Oy&6`X+|[N[`~f=O};oݏ~zC3 +.A\zCFԏTFDDٔ\Z, 96w#n>~^{Wz^^,hFy?Ovk*P/+wVy{o_oo?+|#[_3&L4rwSVYJ2$"^RoإSw={\k/͞`"q~ۨgtO>}O?~|~G=ʉ;s3GmT҅˱d;'3fwnœzǟ};?z?{=z?𳗾÷g?;0mf+T%Siͯt龇/~?o^asj+ ʩw 6O?g|r#O2g~?1?RTYm 6k/]{}wϾ}|Kw?JOSRd"'O_|]𣏼7}?}ɧݗ^{kK[{ZO* t Q)T͝SWyއO>/g|?Ok~7]`[l'ۜKU}?|O>xO>oя? 0e6‰R}zveع+g.8sƽ/O~{쳏?O?_~=Tc`+/Yʟ)j}G?o_}oG|x^yW^:{ULP>b%(M)ߋ;]HK?Գ_{^}߾퟾˿?G?|ocV;J;9'(uS=/{||{'_w~Gλx_/Qf %BTT-i-㯿?y~O?? l'{^ouFO'lCo^*8Cw^zo|[?/?__Ͽʹ;l|g?[Js:_N/Fm,/l_~龇sn׊b4e8uFmAx V{;3;727^x}.^Z % \s %^;WΤF~~Ï>g_zݥ`"+&*^@W"Bl0w{KVo0]_[>ss=O>o[|W^~٧wChm4iuvH>zݯkok_¿n4{Fprc|_]ݺtٯ>s?o?>/7knwQz{XeСCHR+go+w^~xW^{/s+x'[5{9ODH*!x2s={_vO<{?ރ7z+?G]8՞KUSL4 Mv2ѫ׮!+=3_}/?yիmmg,ސ;ʸJoWgVbȆSNxy:z8bt& y+z) '% 96KWJvׁ-M&7 Ӻ`DЁn\doRcY&M [l:{u.ʌh@d nrT(D9O#O2|!Wow%%HJÈw!@6_VY? 7PIdf1_Le%.mlw:R)O+:$Hļ鬄֌iȤީ#Sގ6HX[Le\ջ?Q.fj>;ӟsCLf߈:/8RLfˉ| ĜGt=no_D1· 옅~7xY'b*@SsRwtfjg enWD@(ɅCr7&L0"UZaBz$NJ젒6\&Bɓ^эP2dF7 XU\z(&Ecc%!g&̾/L#:d]~a~ŀpzclM\ *`2.pMEh+GqÎqaP5[ĒLX1цFZ4Qѩ79(+Ǩѐh@a1=Qe6O`3xKԹ"nLmvcN 0X'(I[UF S*kuvpn$FTLy%%;lw#*+l-V:;%3mHRcPx0cf4`j f n+& JϟzłLb ,mC)Z0:2.2jFE葌h( y6ѷ2R +3&*l hh\å9'!B'P)(7\6G&+>X:Ҫnn#==i[$I2WI%SUmTq{q_eI@d!}aV^KqH-Bke>7IM?`Ԍ_HL>#M\u!3dWB+LHABݵGd;=m1Q!98{:ܹKra\&&)Ǥ-%l|x>@DRzR,RZr[6\`D*VBJgJ!zƃ ?nPS)|8)IrIof@uq:퀍(01:kd1EdZ;Vw}h3$lRdR[P^8S!JvGy/ n +p<`\q|7bl)#3~TF4& qE/a|9W7#!2[^y2Uat߇^D$*bTQEفf5:xbb8e/ 7bs5׋K.QIa\Q!,v#ps V$ep"8ِt3|Au۽rpj05PϖvΙ=-V7Iߺ웰[H )Hcl4FBq1&P +KB$=^r@8gJQ+Q-:MHELkp5yLq΁ 1iB*V[1RfӒ33b ՙ50} 5$Jp/sTSfO0^ — 4sK݉9#3"vB, ZYՅ !R4eRF\unxх0CPQq2>|8iSA1&dRv`}qyޅ$IK^$Bdg(N(Z-CIʔ) {pOn#|1_pT("@,VchGb\]L8q'TLirc} n)@yb2ՕbUpP# ~z>ĂM^qz<7b e~Xm_^HDK7A"8}8JQꪐ~ҊŸZjَۨE!ߺaމ.;J[Fi+]ekW冫|Etw^w{*T$;<-M.$!҅sw!d"mBk}zb0}eI_C謊7)pEa%> v+&z S.L´M}bMf%,-}AMKT3NqY+w)FB|Ub]7tp\,ֳ\ ƍeG0ŃXƅ%d.1Z9cڂ +cq `zɦu7.Ђ巌^ Mw2P&6sӓxR@$,!WVwDRF+$M7`x&ɕi}~Ԟ&ڂ_ D\\{Xi/VZ0ӵɄM[=%* aKedW1!Fj';S_{\|nSJɮUi3Bt=„BupJ h* ` +zy+Ԭza嬲NO1ʅ=ҋ1Ҥ&c =O=g!*;\L/]}Rvԕ j16fZ > }ZJu[PΪPV@&>L߄RkP]QtخFb{!ĠJ8ݹ)QqVuvl΀8G)=zeLkj3}M\jӪ: J#R]9qZ/vןiI{G~46B4iBQ{߬aRle,Fs{/O_߅[?|:غVqG7+ .@P!K1LM%Dn(z)O[tB%]wqDFhv()5\QVύc1?tf`'1 ?`f$ ?3 . U^.oj]Lj˭f:gd.&Lmt,rWl vR!b%ž_Y?EgI0EjJi\--H@`]lzsn6=Orak5gxGorsagqvp3> K ކDS͚M98_DBaT6PZ`*mҝv{ɍnirVS-(`蚍٧arfBdRqw|S'^L 1֖K+[=Oon>lsvÇ]J 6=_vl!L_2 RfkX>RQJΣGXMBo˯#1 ^niv!.y`h쓟E;ktZ19)i㭋_֟{5(rb 3NR&c ڨX*r++[φw\KA?䞔b%HKp`Jc#th Xx0#+1qEVxP*A!ʕT,vat W_oϵamhڴnN:kB)݋*D_* !!gA0{!R J5?8m}>zKYqt+ۨVӛRe0{iuRYJ!V7K5<=yDI)\^4ֱ9Qj;P ? i2vȌデ#L4O.]_rwm~Ba.b%:\# %ғT5oRJ|vBt6&,  !8aJMոZnl.Ę?2:c״&t\9t5hq/oXݽ;誗"6Xgnzi.h7) aq<*惄ӛwߟO;ꮏM[\|wfIIC٭n]Bjk_ZQ9PgFj l%L؂=ՙNބ|MȐ3`oWB\naF h.ZLnP* 8Tf0%e_DF4T"NAH7nx+.hN{_~s]wRЫ LWBIG(@% +SY@=Lg)nR:ܾt/Z|\I(K 1l1ه(+v#*VG;4wn[MI!GbTJ;Kw̜ 0\h8e!LՅ^YJôszLBx}Mh^Dcr}';Y'W_(Fp +FTu{ ?2E`WDC@LO<1 +şPq 1p3v\_WMQg`I{?zYZ#Nv'.B}Q;lݽO /%9?罨f +3+\=Ol:R󝝕w{Ouۇ}yr5?U0_ĭ<=s՟/$e.W 46x10c|n,fI ^5QVdݧ;!拯"Wox!~pSېw : cn}ں8~-n6t1nڭc0 Nק0BewӝC\(Ӫ,R~oG7"j< ǿN+\pJ@Nӿ͕:D~Kb!&,%pDiSĥ!9D%^H)GR*1_\RV\"Slr>LxZ>pAD]_[_RR0iT)FslVJuBoH"IMU51;ԋ!'\#*&V!" )`C|":3])#Ir)!S֪[:{O Bko\wZy-;M6_܉P`PZm!̸)<!Tr31OgALQ};1<}#W7Aq!aq.Vjqtz#@zIZPFg1]Z]^7jC&D?^JHqc̎U`듻\ Ru10qG vpRM.1١PX!N*ݭ%AϥB}2?5:m:]H+e#ƥRiFm⼸7({`N ++WjWf eP+O] `&7H% {*W +r8nڄ1=Qp(|  l2L+WYvlwyaBʃm]?^r- Ūm><geqRHѪF K) ? eCشvLO)},DZ v''/~qYL̗;J2cBsٵ8S`ɑ0G[cT.H!TuJ`g"H *ӗr݁3]-f F~P/ +endstream endobj 98 0 obj <>stream +s$lCF&0>XI76|f5!'"|բaLNIȦbҫiH7Te2}{\}zYY!DERk7W°2qjC"z}|rIufQD]\t5WMIOoR:TR\\0! +r*\vOQDlS~ÿ?z{(a4Nc4D9uu!~e.x>casA&Cg{q{*8#0Viw4oBHz39x1׊͛Y7'HʜSB'劒9F1p +fKn9uMRJr[ 3Kж?.Dq7JhFi󙙥hl2[\~,V}T?\O{?׻Vʺ^ZE Oj +*G2^~1<7)F)?MQB.̘ޤxi&> jfgLm-kM{2zc48,n<<{ZT+Tȣ@Bt֍|A |[sU)Fk]Onzew"4qq|al+ӆr9G20(yj <[\ٕOY .*Z ^KqXhr|hrx;>&VY +1."d!]^?|FOLR%2A0\3Ĭ7I5$m6hyu}NLȒNNJʍVG1lֶk|(sӝ/Axb9M76oOKQwuO"LZTN(e4%06'Zͥ`B,H3^lޛtlW:rÇNjV/rI/M{6+1Fjz}L|g|x/jRZjaKAQs5/(s<||NR[*a\GɅiTLBoA9i{;><Y9}f[Ɛ: a"Ig1@ ~Ԍl-u2Məj*zvȪQ9 ,a~1["jq( ⾄1Jecdb)hݍ[_ ]HrAp):^_ɕXB4l +~,M&|8XU"zc!Ĕ8BgsSuPJ|lB@ q0NeJ7ɛDÄe!MOXa3.2))k^]ɕ+3YDUA!UVi$xUB3HnƳʝ/w ].U,n%ժSH!"Lg/f]AOwE/ ![^gRoIIeVknZ*1nݲ動/z{w49Nfi?L{9@"|\!f,~xM{ʹʴKyqz6>>~Rݖ#!'jb{Ck!a1?Fe]0Aye)KPP F 0Va&fGプnYJ/joG-O\ &MպWM)q_쮝6NR]t/resFx0$i +e0)/WɔG(M +_)ڎ0o[ +@wXfk)snAfH/ܡӢ(qM6*(c)Ug@t\>-[g玳 !)mwtv??6Woml>6;ri0)B~?R]I\Ol 3)Vv{qV$Q_Ϗ +nA 0fW/VG]2k9> +Ve!*rGa&Js1VpA3jɻG_u΃ ImXJrF ^u|ggʇA=qj֙ G6C>crN,RiMκwi&MWT'a +D7!@y&g 4v^dJͅH2B/ \6)l@ƴ;3 $OFO1m)@?\Zɛ >++Wkov[+JPz09ݳ)ɗcQ\^/ნ;&da|Ś^דd^TQ˸R'(ƙP~v RaO%{}}%}ܪl]ωt5g7N_#FeWO&mr{o惄SBckz׷KKQN wlF.o[y~t7B;Nep[(b77TnGH3)iLn W D_w9c:;se6흮oz"3Q0~/\T%] 5Hvip;]YY;rgRi#Z)n5BۈXZ`KaQfZllvW=3K`BG@$ WL![NJi#L~>"Bô96tmkT7 Ӗ{[ǐ>;"/T2LChKIs:|PVkw*7:+ nVǧ| .`iRz F5:K)7<D,|X>T&LBnlbj;Ō(/5WvN7N" nOsg .|?z+8TX:tiŨpE^u ŏ;Io{3b\_^e|Z[(NFhuLO ` Ɠv~ܤTC|7B dls-L}謱hpQzї.F&6ebLޛ8il$ElXn~ږ\gk7?׫\hwmy[*7]4Eͧ!H Prqee-Ʈ΅~zsm.F2̔*ks=F-S-/*ڂnnt{>:};<{9~Yϗïv}uh禳JN.^nI3'\1.ޱڛֽO땓Wac|!l4|3&[}\ob/FiMNRi?xLgNL`g]>xRn=4I%g 2jq}1B'!LdeTZ{nKk7~{P6n?^7<~Sq),=Q.G/Q<|l3ekOO3JsT"e^<1:9d@Ī_;*k {)1w,|y×;'!2w.D<&1ox0&FzmGl2z^|J|x?..x{Eџ\s_ [aTgBlœ_ +Q:?r1RR .8]\FO[͵Gǧ߿3vo.>ƃ_Bxo}"ƥ޽ϵbB&k)9>e)@ZŇ qFŵ{Ϥ`ykqftjNg5FPFZ%"I9qNfzs/Rn*;B.ep+-bvzgoz?}OƦ43˕V9uiq.> +Zs(%DLpH3.4^)Or<(b~'|rinn +ujpGYL*G~G"lL% ZRt0֪t6L'&e[6~jQ59}W%z̺= *'t'NW0z9\nfRI}][SX +Th܃S~Ja%s1o-ܼ;\ujeuh䊄XCB*1%9]z@.0_O\<Z LR/]blRb6D/E9OR|jGlF͍{sY 8t۔CtlwPbXH9=)8p(w1$eܩ,=<僋G߬wwQ)^UO>v 78Ҫ>'O_Z +kfpW*_I~px/~ɗ??_ړ;N?N|C]Vvak>L*"cBQv>IiOX!:cF=h]<5eUdݯ=nVq/7Xgٟ`A,ask!J88f e`Z@(pm Mу +iJ/VI7\2P(W#ER7EXå 4L# +y)%9?E97Ta^[@ Jm012A3ۅ uӋφXnŹtFqeLcBe%lsnmj31DŬTXQj; sHa7ҕ%q!Na\ƅ0x*MkmC!FcrgO+GYK3oe3}9;ЋcL*8˴9B;^0%?jy99͖:ƫߎe5ܹw׏o?>>]98g_ }]޳VŖ ^|.DZs^miJpZW3?fXGklkwy}o>/sD1jt1sxwGq6׵ŸڕТlSZ#@t)Y>|JgQ.OYm.7(Vˏ +R ;pUcͦV//[;l'&?~Ϳw;h3g}ՃO{񾞯_v$#2ûͭ^1޳?'?,&d7!17SJ#Jc@ mv7G4'o +iktۯ2*?5\]K`h* Z= I >7M73"*$cv$FHRiﯞQjqȷvF.r'0KHR$(iq+jB,PQʴVuŗw>i2'8%)ۉ28ňJjZwZY +@ZI5p"фFl{R^0PZ2A>%0!Ce!<<3>|GvuYL)FyI"xf|x#(!'MN-|@R&p6!):צO3;O+ +rFAMtуHAV*$b˜FxV.5&;$ugwro"&gÃWNcTcn!% v+7K"TҖU3CR.HzY묝/{RxVY{iRMI6N_w +6,o4! j~wo*WsaM8IkwOցOws1wT7>GiZ!B[ ++~[ݽ_15tP)A9O["qp<FR)WޫJ xdk9]B=B |lZa|/JFSԪxibgz";\wGX0s^bOũ4B)r!cFщؗ kfu3FQ@d>ڇl3pH-] +I* B +0dĤZ.LLgOPk$i=ɘ8o31}.FiOzB7tGl#Bɗֆ\ .dxA%:QU +NmAB&hnzNxCt*$Jl#8|LIZLmZI \Bl~ pRPʂ?yi6H5!S`+B +8=E.tXRCHjw=[_R0ዱJs˕bsa`iV2eR4B4 +$*`XqPuZģtzΟǹpR䵊n&(&Q2`P+H'4jbg`U5S\#2a! /F=Xڵy+.wX-Ld(wsv Pgj&BȤtf +).P1AH8x$!F\ \tj AT!eG9>+GBffH(돐K`bz|dI9d7(v@&^q9I5MRP>'0K )ZFi%<@"h V+)<}NQUG|\UH.+j%<@*AUBADNQeћ4rC48AvշsuZ"7L.1NWV(QB]\C*)^7, i.E(?"iJ)JKZ?yqG sY4rU^N8yYOc=e0֤$W\=f:g4U)Dpb%Q+Fq>"q538q k + 'ת5ozp!9Q0%A" xOP5w0* +&/E\a(4JE1H2|+kaN OȪL@1@ಂL%iF, {8UFD +$ TPRI9Ǽ]^_vvv_Es=θ3KxA0MMXu%pÑE%GֲOwOΏGnIU02fU/O0R4YVYSgf9g8矞q\>uwv&^x-Q&P NQBfэh_p"( ļn'xfFRލKZͬSz*-g݁@Db9'y̓RAR'bi1LRI'pݝk @yQ|WM/;DZC;eew!yo?_~FհXFP>3<3h6IBR)7eI֣׿T=hC@D3S1 R)PMZʍP6-+JRJ +#mŪTsSJK^yo{F2#!@>%td1;UU]d=r[_{_/~OVͪ(HQ1"Y#CZ +:?kRֿ{;? ]=ڬ7͔t =7w`ggl{Mdt(i D- +|8J?s "Y5c+{ǽ7y[_{qϿڿ/vswkNQ;=n"tdZ a<_٫q^ޓ o>Wn>wT&1۵ aTD$QKGzɕ/]zշ,/?_|?~=yεn6D`ʘr-/uR _ѭz뒙! xyyIyf矾Oz>^/ɟ֏?zd#0ow1D<:ſʍ}﵏r狏~~q?~'>]ʣÓj5cl6fdaXCRpwƳk/]m=w~wǿ/>O?zrǿw\N0t(~o"cscx}z86nd}Kv7}E*8^H0߻7_oO0/]ZtaEU$N+CI;o?}Go_Ï/ç~݇,,8<5e%Ͼr`s{Ooo~}O?}?|㯞kǿ|rZ-=G!`V?Roodv7v>|c?¯>}o޽otٟ~ݗa +E\松H$B*,;,[zzoGهWn6eӯ~O?~_~G[x9]p%eK0 +/u{_:;ۯG{_}?.34779\ ;['[>W??}Ͼ~od;Cq FAØdҬvڽAiPyå~ׯ'oO'?}?f%B4 1.)Q+Ujq(֭oo~ѽ?~|8D$d/LᖅU#G|}?z޿w/VCDD kD"l6].ǯ;?>.} ~Ճ~ߺJhQzU + M̗RDt(}޻O|[y{Xzny=hOjJL+JU~x赝w>_o曧|rRU$ ;}QEgCQ2e%Ɇ]BwW׮߼+˿?~Gz۫ü&qΈRR'^gpѓ?ǯ~7o+ơ4%DHfz.56np?,ܪxzg7߸y<0NzkDQ3E)*CɫF3s\2Jy?pO6 ƓF5~<O ڲ{0BaJ+*YG{WO+_{a?|ow~|FuJeC?4Qq^Uyrշl;h @Zp/{zn@~ykf7G]/]|/ܮs2f$0ƒ>܌yJ)rwTdШLy]RӵKkۭqyX JN2U !Pm Cp =X(LT֮枻{O߽W.~uvֻw7L#!?)ި2)2~PTK[lmFzڵef7?k?wtջ7+LBSx(B9=r5͔Ub y)'~QRxptRmlI@s(8쬓N 3e,4I3j(%Y/JE,bR: A`*g!`:x0Dl.{+5C^&oo׷kk+壥VMݮk+r,g~a +!Xrj3 /(tZjf<'E9~~|xx8 M,+.e ` )8)OԪbVY)j2#˼$b䧤9_lځb +(FkOz仼rPT bм/I_vy>ƒt&Y0)k%P+H6E [=iATO?3k_P~:Sڌ ֦g3V+f uV_o{d'o,{/OxdT!,6vrK +\.enKo\]_m5LEH<☘ +4^* oz3UKWnE9-HzN[%Q^"-"S3Y','9J0x㎄?9 nB4 ? zB)#d2fYύgIei2( V4CnRI %n`(,:Q aĸן3H,(fBDTxZ$Fӱ8C'd"s89[TKqe|ϵp`uR}0! +r1ؘ!gs~OvY!XRc2۳%Ons9WT =ѳnDNSFL,qGT|J!)d%gQK:j5Ha6C ZkzCtVV3Y7y;LJ9"RHieJqz]+^ܨpd%IMJ~@*¼:zzοC\5Dsɚpcf+(ɸX +)?i9QBcUǔ5\WX-: gPr)ZVGH‹ڂY7*֑3F/f|rb31/olrgeX+;N 巒Nvt':p{NiHI\9y[g]0ʥTVuU>aTt;&Mi!:e/Jy#ț>eL`6u/qG13;gbQDL`jD̋S"bcK^vi1 z1EPwi\IŴ&qLkd#r/ I}63N"M[#3TT^_.GGȴ d],-=ZNeWbE)w^Hu/4փB!]kQ +FM: s &9/k QΧ7ܶR[~ZV~ wF~nmɪ>M&a:Z+RiLٱnrfu7*u%dFF*Y3&3C%<lэC|Y(c*&sziuK.LrQ":\y:G??J7w{ET'sW +†Ռ%P4e|~Uk n$Fhה$0cȗN/">\s;f9PM8[z͆R~ +>1d2ދ1(#(d}MY\^'v,َv҃[-(3B~%4 ^$0;)v:Ƥ0dWk۷VO_sKb\!TXY"Tv~[9+[͇af Kepd҄կo>?|-t)oaz'(jft+^٥Rcz)^Z;D#D<Ԫc!?PŦV@CV^\=~|6$j2MF.Wa>oGW V?>vsht&/6WI>TWk}Lf֐ɭ/սܸ7zN/SmF&+G}1ҎR+E[ Na|}#_VjF03Zc|r(ZqwSay빥ޒֿzj#x/x=,?%94'nD,x\/,?ظپtt<:$5!UJkZiޣlL(n4XMF*հT3;s+7qe+/5g5}h֛~y/Q\iN˧|z`4Jwq{~zc:~|]*.*[DsXʃ;I.AdT^}fyI,tatj7׮_Jo\Z`Fs:֬n~axK5,]{UmI+j >heUO(BiGdlyD-nlҼt?f6.]Ae5Fws@6MvdsD :эƫQy;vɶK.hI. Jy0M>7ޑּ^Iv~.T鮇plZvq&]:u`6d^vp-YߍG@xsosO+/%imo_}uy+Vy{XMnxO(wtuOx:JaḘax1fL'[_l\~U_5z'z7Wf +VnJCQ/f[D=1Һ>*}8 m(v!C scX㗜Q2^-0Sf΅iadJbM|L$zk/Qۖ[cݨq` W .1 ǧJi L?@& ҩVr˘Tj\.(jnŋ xL*aH9Y2 ,6J0k^V[ΣŨFAUWMr+1Y#O0:F¥ +k A/xDyct"N +xK#!bvOzM rw{&S|vC9JKέ6o .=R^:'Ug1]} ځ2x-9\[Y HQ}|˕Ɓޟ,^U;!&7N4Aa]oKhv6߾fTL ^i=>JKx3Rs"|ǖle+ +WAIj]k rLL.BLIUެl=ZF~FjE.-/$n*7BXct%ۦ U\X +5+WFLn*S*y(Z,^תҊg-eB7^[N,3H):E=Q|nS(,"q/UWBlG Z\;mu:Xi4չ GjyمD$4eD/mx+Ěr/ez r·C<|tV*mEF'ýUR\bhҲ98-"S֡/i{DE:Z Յ}=|v>&Y:q̇dTi9GDAZb@$eR~Jz/f_)es0k&i Q?$d1~$,⋓zo,J-iQs~#=\) 1LsY*Du'?*Tu3:V33೫VP, DgcBNT( ' "j faɶqs>GXKjn[˘V\gtǘ&+۷ߩl=` +XB:`b񼋲E~%F(׽j60w-G5(pbq4W ȲYG(U%7^9<9aF&UB-Mu VʜjAͻ&+(͉&#abvj($L\$[hCܔQ^/0-`P[ƒ6?N*qsˑZm)JCXA6tљ5ZTqa*HPN92cJmk̲d(ڬr16Y/m旮oZg1 nfzg[w?F(haL0D9;,̂[NvzWP^ҌYxG:Nunap5nBhCrB }>*{$Զ=ZnNy+m~itM̯v>]p+4 #r#,ҎR=A:ǙKƔ^~CCdٴ\7h"ә[ʊYo&kg|3)".V6 +[|_l/eP Pi79YG*/UpgPWMQLH9M(E0>7 ޿>w3!-Dz D RmZۇ/ډ(m">D.#3v2*20Y+C-@Ug,K4;eD%~dGrsǒA&TdKRqOB\G~4HȔV\^oP\^2Dy5/$K^%5Hэ_Ȭ@̮ͱz mw+KmC|jXrl]tbyə=\Lv~1`z/ݿ&cJ/Iikl*U3)V+t{/gt7?f3̲ҠvS]A *gΦFvEA qjc7sk1}`[DU +k\^ U61Zbӥ\kLXG J.g4jH,Y7Qo&7ͩ|jHP#,W̸$/80Voi2~'dwGPZqJGL͸z){ԬW3<` U Si{`Ǟ;;*̄!>C Xϔc\H geڇs1;;9P +[xBq . ."|ԛ4HV2). KL<6ع}+:Qa1Uiʅ . #WIcΐiv!.4'nԌE +rK"BbJLB]MvX¼Ӊܡ-*SQ~v{7X'W[SVjUtwsϪoi!$.EmByO,nu +S0_5pD54ޘ" (FLc/;!!\@21Xbl"*We( G42mGc&FeWa"@TwL0"fT ؖLzy;.@txS%h%,֜1_hP(Hf f]wBr̸!=1}&l sX9LG_:zCHlf PkL!]ˏOBEΨfT+c>I2!7&X=" o03i2{ 2?2-<Kn qX#T )7Kpb K.بgSX9(T>ēvEc +vq{H +%JULu:1 +x+ޗ{zV`l7;Q0Y6gn2Ze&mwk~%[vUYgi7R)"ꌗ;N9pheZ;ND,c`j2U]Oha3ե+.L eM1*k05S=3|12ÄRI>Ql_gӃE4yIHXZ Ӌ5RKPϳ^مOCiw^Ld7bX|Rs1@2ߐd(2(vA|9OۑLG|κUhxcR^mQ~D*%bNg)3^x46Z@&'-Dnd,iC5Qkٹj0([З - +{TUݸ8@pJ0_.܄^@2>23Z{!$5\zR='A[!xJsDp Tc+ S?ʡT= + sddkIc#ɕõD+^Lva@0I>G LnEŒAdptṠ'$R<7b"u/nyx0&Sr3 YVu}\">BTN 4-ZK~"uA~b &0cLbOF\75h}jjAM_ìu1eLi83snx@H5OL.Szz3VtTZ٤VK<lލ:_fZˬC 1˃&i&j^ڈ+Jq%lOib2Rvºջ\w3ٹH |aix3#=@@s‰'YcD=B@.`<(V#J!9qs6M9"PB HUpRik&?xn/ +YLD&zu(oz+H$!E"z# +wTvʆNڣZTn1@Q9wlZ5#MDP^2 c1AD#ugE^:1 +KhǴ1gGP\}qs~1}dƋ6xŋ ~Iy9$(˅}L+Gm41|[&th/m_J9f%.ٝRjXcDl8InBX RKO?GhSDV|j(M$*Zpd<p@\EtbrW9 [)ݫn=[T$z$ᖋʃ4MV*,zKL G R.Q5,'LXA>`Q/hc +gg(/,XQـ2Jv\DH K"JU{Y92`PE pf άɾ9 .?eyqKʾ\l='֡$H!~MTDI6QtŠpoJ+Z·B3)ȃ.sE`xJ_At /KA Sz,9/y=7B((|K,i6㤜VV~-Ϻb&|A~f銈 /a:2Фa6uf&Ԕ+L$c9h dq`ޘ@S6務֞2<9;tG:WSvJo<5><-ȸqc iBU/x0mNrV + o*e &\ G$hA&DD ,UFsWnZ}^ P +MH dZRzX>Lv;CE x7.Eh"9ʍɂaOX-$ZGmxePQ66+>#] 'Y 5>"A1QT*2EnP\ϥ3|JM5I(6? Td$"ȩէ\ܬO +2E@&< l/սxa-HY/u +U/f\ s>b,b(``agc1쉪PB~,aK1ԧ_g/, ].B(@AÉ3sH ~zv`'l~ת6}tG5GDvc_{Då:6}1BdELi2/x1T\Y=.!*1Uj8)'uRvLu?E@]40/v vBJ!67 cH +d0 <&"UB|!*G)'1cBܐ9*b`$lCBE!ʤa,A2 +HF\="Ԡؼ15LMVTrchhY7 0f(*M(K>50g yiu6!WࠏE== l<qY09k6I[+\vM:͇)HM,b+*7+ŐJU/!0#iCʍ= dK*v0&Syv<(#TT$o0PuzY N"²Lz "Gg`TC C +Zuo,E8|1R{P̮ppk≚My`.) +Eg(qntDn~2$T&hb1Lj~RyJ!!r4n,3@BCA6^ N,l51缓 @=ѸPDF@.=¦Q.ƙ8̓bZ<P (FKx p'*Ϻ(!Bt +`c[D +Y !̪@ΈX !0m\-5DG=E2EI?=zH +4 +̜OkI`z(" 6"Lsɕ͡ + fD!*}~!tCbI\hm'N܎H Sy\ lfj!|ц9B3A0Iq[(lw^ݾDqqj1v|>}-$+>LbT$y'N5kݾҷm\EndhG< vtrM!dAkυ,DrL +pbH."kQ-ezLO"IWT z@|:ՙ7B+A@gw7JiČݨ KXDbw-0{': + Ű4:qi^1$XfҘl GYTfkzgW|hL@v9/+ .3ΠK/5BW+8 2Ɛ=xk +H|e\mn#iRu5"1чЅ 3 D7㦀\PHTOgHy73bfKR~OX>N,Ty/B,(t\ݭ>In˴9?{!F&LШZ7j㛜16Ǭhj=3u=Z #s\wt`fZk\n. ^`X*ARN#qr%;%IbF͇،= C;.|X haC>Ø$-P `erq5` 'Ov`Q֋ED`R!;ٹBRC'?ch̅xl][WA..]0ݱ]n"$z>* Qi{g]gb!݄,Gj5@RdJXHCvI"QsX#<قIq"ڌ9gC}4=rq͞w gT s%TnE*'~63fY.R`! "gp-vy"*yś6F L;FM9AXŚKErLj5Dsnҁgy|(N(u)!vbÖ b& 4$x&|х#vbAI&3lQs5stGEф0BPwMva~jPo?Si?YKΦ׽T" wXkGsQ8TtaQ!b > :tGE/Fka4Qs˨ҜP&e\!ꙅЌw4/xQ62.fd0 JR(qapG3G ΰ4VꜺ4.pь{RN3.x%:!G.o$i'vOBuwVFI'jfn;ݹAcal{Ve]KOu3Ѡ$]$A]HXҡ/s b/wbf/)CarQJRn^> ōƐ"nR\ȫSxw>x 7U2 t=&z;炾%&Z#6w.M/p(ɻthVAKU{+DiԻ6ۨFIOw!*%6V_,BS0 ɠ}W[Z,e}^~ +d*mNuj kZK ftTnb.{pc ?Rr %"S~dFbi⪅96ajΩRށF׺jq RBnQyWJ{w̘ 0tTY/Z[_@.tJsVܐ U{3b&PZBEXeu VJ]pFaٓG='t " +$ UZ/8Ӷ/. &T$p_(C*Zd-$O/%X.RnNKIt;? 6 "GZ"`VJb!^=]vwRB#B.l`rPEJ8m61Ŗj{_οew +7`žZ;.T r1xy3K%xsY`fs´<{68j~WRp;mc9`0aqW >Ӄ րb0M)eS>ɺ3oZe;඄TXpVbcKdר֋ :eҁg mu#;~"m/_2nsEuX,pcrWJSfd;%%alwZAH]@(*N<ȶwWeh YρmĤhA챹y[fKi)a6B!)R0\y_Y$3#h8W#ūL B1F*'t+F +46"3fӪ.bs紳L(C( j A5-cR猳#wH qw:6zUadZ_ @`hjTC3Fs#CU@x`Q#_IUQ˟c4THw7zͭG9Y[97e^Zĩlui-ʊŐ:aO{f7NA1fJ{a2$ w9MmPLvȹUIB'!/4(Zf(ʹP؅b1K;vlx _\$?mB*Xr;L9 WKyB}bqc\Az_"Bջ(WbZtI Q*%:9zo.ꕅR<ɩnϩrOT·Ԁ,2vЭnL$H"tVS:\7kNܻGQb3蚸TǙҎcu㌻atD]nƥ z rB%@&JHj9|4 B).6'iq\u`| 'V2Le'Gq@o'T>3.gE>"JswZy Ɓ34+)OTnPf/۹pW)띇nqjcj-%WR ,iY!H e/1\.E;u&V5rRW)$ƭ1_:{7/ +~3n1 >eۻ"lVW @'UD16tpD=$˜D9C( $ݸPm8go~7xd W>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6k>6&#dq0Gg|ԴQ@x<:=<<5H)'grr<<\X9$Ty6bW8Y.de2ڛE|qﵜ!>ԇ׼G $J8">HӤoUt:(PW$G"HWa64M4i?~ G|͆2Gom95{3 Gax/$G)}vʖkB;$Rt"}=>!#'ś?O0W6ދ\iàF2Z&7(Ei\O ΘۘXӦJ~9C&Ru&Wqb]֨ ٞVP\ncsO0qB' +Ғ/J9Dew{TܹV3=D&bZ;#dSէVKiMz;:U|$cq$da\NJy¬i7z\fF/!5B!ºF ;6:gz8}W .ivZ#@$cKUBQ> a&a1[01\k0VךʶD턘v VuL#!L 1$n} +Qc#Gl'|-R֐GO- N-"B*уC%BZnF6A\)b#b%xQ_[)%RP.GHerHfBb80Dl!rQ:[XKrPڂU vm(aPc+!'"urlfeѥXF-%T8gT|n&0Qa r!ܦVQrec|>D)dƬ3!1%*m.qkL\F+\GTڱ{J/:",SmOJ)ba2W9 eN#B5Wis+3ޮEf3)Q)v2}J-D 譳ѹ$Sfoqmk]\H[*f "3%2XL&<Ɉ[︰]c&nQjI)jBC@xYF('{{ŨLZ*%97BZ!̈8fB!\D&zl_JsAD9i)ͤTu]u;$J9n5 dZuV- bҚj@(U EP1/)Qj SZIAh}TjCEҨŅ|Ji @58s3#q^v s6)..@n0U{mTF T ͵0OXJmڍI͔ǴT=A@*D:[(& lL` +~&\VLN q2+;#b<f}Q~#ƅIU|nIg=S +rnrv*Ik}L zaҗqp PӎQ~"rvq]SyR3[)ɗ2X,,hJ$&R\~=„1ˌуrѻ*t|q67P` =)u֓r%&g_p6D*h2MɍMok"w޾.7fQMnZUiT,B,&bi~rm&*1|vVۨ X vv@ 2Dc!dl`nJj;lvHe_57^eݡ\n/ӻ|SƴF D] ۘ.v ux[r5@365m]LAz1T::޸%> KLi[)W .U"ƌ@RތI꡴PSzFc 5R@:LgB8p"$vjCل,+"7Hkm1 +;JPq**W\ D~t  +ڲJ -?JizȠJuڱ\\D(f_ aΙvR*3et( +OJ D Θ51(i-ʙʥ}d6UwRJ +(ߴ^%2 WXe`c>7(%/=ջS02CԪR~"toOq< wvx=DNAB%"66r ׺ l`!SvR RlfۏIxyS} +TԊ3|U5ĀeoL0*NPE 5YP`$] nm& #}q4ceOR-B0gB׀2i;h@ +.LiB$@FP9D !7N/ǔFZܶD4U$&jvVR,!TE8}+Wzw2#.euȬ.s0!emgՎ^=r8mtX) 8śgOfuRkrB^?;W`8wSCoH:Gh-vh. #|\kF]چ"2vd?*׌Q}Nml<)U1P~DZr@-0 Byԭ.|I SڀB9LM$qx x ~` !e)kd.G1uPI* w3!io/|D3D0fGpE`!5CCڡDwJ +R4Dw9LD]NPc  + aGy c+X2:+f "ZQ:>Ю/%C|=x[Iա( s9c.;FP<%W^)`=1A-Ke޹1*VyYFZ'!d>)howOR!Ͷ2΀qLjI ~}5^0mtB }. 0.TTHqL= m?n%2`j 2h]ҔPW\  <'WmX*:xG(APd*$Ilף&X K9k17_KU ԲN7!p׃!` oۙRI9ZLp*:cŝ +(z-ûShncRRj|v`46KL,Oe\c~fBTJ0GtQvpBf WWE\Ό-W6e Im֝˵szA(SY@KA`+j`x +17t%x&34R$Cۂ; %D^@?>6Q +k.ޏ"ݎ4_~&4֮ |-N"'li:_R;E-Uؼ簴&pqo'V崊kQs1֣-0G1qIkg6056h'BdaFURmx;㋉Z# +^/SF4Cną!c?' +kw7s}YZQq-A46#n0v lt<'WdmRp6L;#lGpMQc\h-L 4{X!Ƃpon`Rɨnwzʌb=xiJz t8;ʝJKSsFmiLam!X6XzB %T?j!ymV'NX)Wnb&m&{2j)&@xHPig6lP>!a<4>\go!lsbYۤf(ø PsO9Hvs"zNϴPuB;i`-Y(B_&JR +–cT>P09i46"CSP 31Al%wk;"3F?$ƒmt;΁Jyh@~{Xkd(NM + ՒQNZ(PƄ +Ɨb$,Gv+%X[AybR?myN-\ϟfaLJt4{5%;Y\xp4 {JK̍KLnh!+-r&7ATO5P3.?H>˔wNLk>A >JQ- U]G*`A˹\Xbz6o!Ɣ\vkM찷*@j?N> Rf@X&i ̠ nD@JLbvD<̀%oj9 +G' <кq.e_hÓ0NOP۵i%nޖI-XQ1.Y @Tȼȕi(LA; \h*s1/M:,e\؎pӆvN==>sIj71J'L픆+51;NnYcDy{E;q "T& Xʻ  b &=2T+#(e0fPYJ K)!_nR,-`"13VJ+wAf[6'=ZiB%Do7D~ok'1R@z74rH̯eB%Lз@c\P頝2DkPЛ1F +VQ| !\֬.0Gx{mhkl6NY). ;N?]=rI6S\ /|'󏷱~t+F'an8PL%uxfJHRe6| 80AHSڐ> +vii !rt1f׮06NL>"0d7e XEV\"mDyJSr]q&(@è:"LQ`]CFI2󷵭&0W[I ]f'8 +sT'|K mvܘRbY+/qNmLka7brƔR/r5 8PRU)-s'X;H pzfS05@.,JGk}WA\(iBBi'LsIY(̳zhOm@p&t (m$H.h{L('ǏJK h`NfS\PpX_؈P( fzRiNYH3p`׃$@X02ERjsDiBS`B8LۍKX LTǸB fwpX:l s\nBƒVK횼1m'c(ibL l#2 .|TRP0F3R&[ jl0}:(Do%M*Dd$"t@T)*DHzpǎ(p;en.@P DyHBtDhjd(ĸ26% Sm48ff\FJI0tBBވ[DA%?ࡴNB," R~ U!0檔9Q{5D*V+)PZ)` 1Ł)I!_J+])΃'tTD.P:tfIʹT~> #vKbvAOBfjӻD*>oM(4Tt>%pcQV{яQ +8^ۘҌ1y\nȹ0H(PnR5hIAXC&i 1> =cQ8%SL(QIAoG ?bӶU^pVǟ1Dp3C0`V|0@> +[1[Hp +:,vB95.I-ڸ\b:,aZ멅e/4b;o,ʙyVVm)a*5g$ JJ*6 1\+\'ig0ak'b4a R@mA)0<kz/#t1 ލsRx!wl1k;egL|=Je|8F oa`#:J)D<4*5݃3/!`]ڣ ߏ[)R甁+`W0<qʙR'6knczZbb;i2Jm#D<ƶ"yQՂp +[rZ,Ə6?_O+ĶSz-_QI +MeI:r$m#L1-41 a +!ZĊ|+ ::ۨĤNC;#ej?c~LAPm(%Ødp)E) RlQ/66Ӿ?Lj5O=N{gˁt&ƖBDv 66jB;h%8t+Ƃ|1.IB p}#ndjJ +b5NY,L*`۾ԪSvs3?!s18&)+Lf*w +J؇48g ^Q$D<2A F; BptB4PkX1͝ +*%A`<<)ĈC-Äw]GpbX?N)\O|Qk! dLqGvЗ’h/AmX Ϛ%͘/cAtZ+Ae"͍80lzQÈB(1B'Epe삑 4Fmf㖝=s +ϻ&*z&%J9'b $S0o(띊3r8W*[@ ŠO*$ C2B׀hLe`LS#j#伴du[B ޞNnn aBvX'j J`-UsdUqM4N(Zf{g@bb T" 1wA#R h7 7Fzl0L cU@dB#R*1MC@OFN1. yEHeAG2H "%"whCZAJnz7CATAlǥO!2 f<ܯϟ}+Jt7VFե s!Z}d 5ۜف݌ n:?RmX0䏱 n@ŁZ3nx-E +$4N iπo8C MI mB +gO$g +Pv`3 Ah )7O"X~(B#sq+)ٻ$LQ LyI 28?U1%+rz+1>N@9qhUQ_F=Rj/BKl1σ nSVi˻b!dF9P@|KA @Af)ޠ H)uAYB=p|ZY)#.<yѺ 11֡s17-fT1/š3fK΍G=$g17m^R~X k3 ^6: }p)5\nm C=LkF@ rt6zFJô6<.5hޤg]>?`Fw6i(:vaRCtw wU vZ\L(2EP?~Ի Z)0UimTIxe rsPaAHw!{#Cib4y2˻$5N?!pURd\+; "3FӨBP +كcU逷 +a 1n Bs!AzԻ{6Omo>N +aVJ 3 1;7ܔ(͝Eiٻd &WQ.k5hg(A4B~"SC.7|<SG\] 35ܑFW;eLR9Wl~3zwBnbPjNI(T'I1i5x)[PZ&QփQ9`pp+Lh,ꤱ\qeҙ)neS6ZQ'P?Q@8@jI\L4L 9JrN㠣⁐[3QLI @3{Z X2N[.O'3 c03L@ 1PwGyc*-)ס!ԕ;/a3C\)br1)h]Lu/vT)9w?3g!@}auv@XTMWS+ csFTn]<5\?+bi79 gN˶;H;ƄPl,iw #4HãlVW d`A}4{^Ǘtqn:(miwVJm8}%Wa$Ж-F67|\_y΍X;qu}yZjtf|0\v(wTJpiZrM.-ҎPX8n6O3ZתqqsCT5k^"WցXO,^*7{^?JDkuXvZ[)0JqΉ3^Yv;4r DŴr;fqnAGCGYo=Tk;uqOa6Xm6acMSz/Gt3}!>U +!R>T~|pWnPMs+sfOyev=y_?Q>5h"׍Ϙ,(^Jԕ4?^uMξb2=8T^jLʣ|` a;9{FpFفXDž3p\r֫i.ޛWų?2^^ϟt/rye*Ay:U7o| EI}jxۋ| +IN#Cy27x9uTȸiv˛˿\Q?ꧣ_hgʺsqމp9,Pu+^֧Wo;]_Ot3gDSVwgߴ\NGWӫ<~ǃ?__|Agac|>v~{_TO߮^=_|zɷVs0:Pk^*K{Ne'Oo2صڇl~hwc{2yi70?/8W˗=)~awN~>R゙>z'WP7Mc_?;Goq9+owًo.ߋ!Zvpf4Ayry?Wɵ jf{je.9~q9ilY-XK+u`~?.>nw}ϠSSP3(CZ;*Ϯv_|WoNF{~VJãjP>-͞9\4=JiV*?yߏN??+z5?{ݳoͿc}Cـ .Pӟξ˶ϟ_; ڬks0~uZԿ^]qFאOLfXzcOA͇´|QyY^}:9!6/E׬-ޛ_ٝӤhHNe~3 ~Ҍ긵z}W]3ZW}Hܽ +(̞/콵Vs{˿3mk9Oο-\}Q>x׿~/~W~~tz>s{=sV_g_s~mymn$?~9W?.VޝcC_J%O*’Ɂ;͟V5e5NncO +7'7?S ޳q{;Nx|}YSVV8\(#17ε09m'o]{I +:iƲ9cu2dӿNﲾz[iKkU,^p.5r YqxQ[gOpr=7#׶|w D& /PWuWW{lfӊvhDOrQ"%zIEhۙؽ@Th s2X jWѦaDGۙމtxeesgapHyEfj@KHৢE=APK CMo%U< k6` )<`Oi;E_KwXDErqIHN{\ټ$HER. 4Dp kfʪU9?k&JxbcڴQ*8$e@()ԗm>=MvܬBda4M8 ީXcQː/Z򍚠q+ B4=oMe.3a~om9؄Ua&?n#X.: t؟5&0"b~v]. d ,JkGoڄKJc73wxO{ +2\ L ?!{Wr3OLW/ RɈV "Nl`a&=sP'h O ٵKҬ^捚02 #⡣P 䗹8̴{&J) r]&&-!֥)/dá\p.\b3ڰ310",4X +W)ΝݾBg] n3 R~ +¾jO]x5{p1ͬ^(OR HL(lxu.Ff .BKșybbmTR!P~Ss8 `qL:8iTD7RL4fb:j.̞aF@ #93"<@y/Ґ(3X4~'ZdJ6DŽ !.9!O5DSAZ!AJt@ +܈TCP1)mh}śhx9;s2 +ʩe* JY5ʢW-ਝ"|xq]LQRڡ@G&W,- _&.eUJ6: i_*-IO`}#6P<j +VDIW'hƒDDԎD\rIO?iي|YO[ؔcv`~ėd# \*YIňIņJruz& ryLiK@ej[dƌHiy؈ /Ncsiǧwl!¹\RZ ȁ} 2<ZujƟ^9{K%l|vsZ/VRu: +(՞;T ]KV} +xu ÜZWw;#Rq*Cr W΂#qr*i8A܁)Ek.=K1aM=$/rʟU֛ljJl'zN:uǭ'`rR,\YcR}4\)N5<ע`)om=U16%׸93.р3p8(yqY.US0q2=am#ΊyN0($fH){yJ:MxV1Bڌ..>]YŚ 6`l!P٫@^ZʹPa)\Z f 5j?0ة}#Ir)"Av"8h_RJ*t W`"^lVvN>w'y'^}O/}t'r3p8Xnt$n l_+ۧ/_}srϯR?!+(ΟxǞ|ӏ>??׿ye~BmU;"KjU&X\>sS^O^/~<[[?~?g\?s0cbqf;^#X[X:~xy~w?? 7W~$[`zHARӹJ{vm =s~z7~O7_?헏<o1ދV7}~9Uͬ:~~黿]=~?ٯ?ׯ?]ܹ!)H tןh[3+׏zG_x7~_7֟^ZrxLcFD`RY:vG<ط_zO~O{~/>~'_}̫o;o#\H56̊Kҕfsw?|O~O|_?}v'Xm4 lظY#b-:ŕgz^~?g_?q-!eG9wo={Wǟ}^2)4[ $ \{[7n=zcOۋ??}G?Ͼy'<0z*YcHNg׶67\~?G}_??/|'?zN ՠ,L2pؘ_?tֱ[;._oÏ>~?/>>7֒R?7_o?G_}>W^yV_7f0Y1uC?싯˗~ʷ֭Z et64JD,vVw쩧^~׿>o>ϾO>u'N]5@L4VSH!o//w>ݟg>x\%5f'YpY9u?^|xg?~_?_9qn LֶbXʍd&ߘҞY^_x[7.\=wd!}I[!ʎp31#:+ +,өRڮ;+[ޑ>}\rCg/Ug5EK9GJfmu.0/v.,l&S\zc}ԙGO>^|~ܙ/9+ o>sF94;Źc?>ƛO=q{ml.6hnp 2eMed"zkkok/|;v챭r(՜80/! E$5/VϞ<~~گ?/_~䓏x*[.8 3R{GSQǍdR2\iyɓ/^|/+=_}sh'xADaEJ(zu#LHM\~Sϼ߾tƣ>?}w_z{ӧVVn$) +֝ǡ f7Kֶ/_kؓO~=\|FXż3FHZHmqvvc,VО߄86kzM:;wH;8`Mm ͅXܐՃ^9GcT\TNJvtƤ.guQ'r0Ex46S3R<$)+2f3)uPT Q."8'C(P4SDZ/5V\6+p~'䵡Q>.$!_#&WX1WN'jHVBZVdbVCIAb|T2ϸ9hVd|ЏċDkdF/ۭnHnl ?b:0fhYQIl8YxhVTE0H͹fk85lA#6hTbCE<^/5Դ?mnW/N1ab4ɅPz;K)6ҝ0HtSŀYI$E"T8& +`$>ɹ@$!hS75PBbD (#~/H5q#D3;f3j#Һ6\xñi%ԘHt@:iS-#:hwbh&Bvi|cÂ:C `ؔW, t3cQ!іs=ҺF5.T&u!q-:f$-PPm2k܈`0Apz|K-!aU>ZwI[1B:U'He;s n>D{TeFe V\L +% i\?S鞰a\2>dG1= sa6*F(MRNI0h8uOڭfq&Ҿq 4'l;]@tHd<"$plD=WuphHb5 W(@+cF'Ƨ݁7VOʈ4~);A :'cqS+g G F}y*j$_-?n76Lp "TghMlֆ YraR,B\ڂJJ >9n!Gt_36"dτ[-e ԣ`ҭtv `dԄtIƤtr;mF̨Ĕm6}Czp%Ī im4qp<4NVM9tI;TsF`>9؛@$̤LФ蝴1z(h!Ra@yKz72L}"AJUN +#`MGtΊ)&ئ ǘs# +:d'mNo +*0_L OZ]X&&{`nkq' ktr!PVꇸ,,Zg 3DA`M,OzDP,P`X%iO{=^6:NJEW۟s X*j'@u2Tsz# t-T\*EW1 xAI;(_@:._M%ZcL Yi(P#-Wh1^.}ဓ$@y%j]cȁ!"/N{]LN c,bAJDkCzhŠ &HF*?Z=GEꃦ4@=cZf N߸%ė3rp/& 1KE@=>7"xcz :[!7S`'$8* +&`~ML:S*Hha ).?,#A\)s@ZMZ( vH[hPW.yDdCmț[;S{f<8₅(.Yq#.۸ӟTrr 6\۸~q+qaZ$ɹPvmtRҷFfX7NW.&d} T MmN'..} gB\A%1L 3A_ِM٬B"ria1˛py㨐RJYT;XẍKQMX /.% >Ʌ?hUA\i (n&ne' *͸8 ڟd5aE5a;BB*\BH*|v<͞ 1!dzLͨNR4c0Է`~Î7XhavCCxg;?=i +ն`Kdz%R,Pr]έG*;X*D}BFM6XJGR BnL*v\u+n߸vz\qnr㵥 :7`g D&eL pĤ あvuXI` Wm&JeNn@ p:ꑫX +`fTd-\rvAENjݓ6zXk(EX(;4"UHjvoȢI:Tze#ZĄpiPI;Ԕ0B7AbKh ӃNVꠒ6\`[8.:57tr*ji!`cN V.<¿<0n9MBePd8hJv߸~ `6PRV'dWHwn HE;]kkWnՋTsӻ3 GHC,aPgވ% ңbz1?;(@ś0 +,F+Z3p }3&&dSu2u1wbUY9•_iot8te7S +eQ);\ +tv(Τ s[Gͬ7D źG嫝CGAX 0f~t\foD2!!EgΦ1-u  YDr6:k1f'| x5bD$P='@}@vː6 .; 4qD(С +(AbX2~4 +{3eeĄzj-` ڑʈ!xgȴ72MHuP nAHH-/N LqrRDkwCמ-bfKLquظDVB5 .DhČ5{~m ƸSļ3a)b:MI5R(;K/BIlu0 ܔX-ɹY!Z@61l'>>98wWu@Y1)^Y·O|cߤXfsXa%# {РzW@rPQ`~$\]CH47@)[\f+[7vxWbE`ul1[@B9>5,Б:lk8OՖ.&xLB qJM v72T%;g*Kw͟AyIb- SNFTLsT(tsMraXyu}ëgo;飴T9~ދ>9+2 DK\Lcӛքk?!LKΰ1Qݓ&mbA1\hR)1,/A +&iX<<\Ժ8_pDwHO0>_y tFbA-J+ŹnOo]C/:yVE;"(JqZ#&rJ lČ3LS3GCUğunk)ǺGoJ͞q {.K(;TB\9ϵ7Ӈ_PԂTܚr&H/ )`6(qLx,T#$H(uU}ߤǯ"ⅹh#< epuKǥKSPu[*oeq?\gXPMݒ7a b}F؛r*LFd^Z)`Ǚmԗ:`,OYȽc)kFJ4H0=e%'̃+jp +r^ټ4ec,P(ia|dSHi&n +ׂR7rw~H&~$Pc×ܼ\D 4) $c}&T|L tjqcV)6!4 +@#BBb^ P# 2T {Z0,.FZ;2kr߾6'Qb5C"D?f&,ԔBwc-x#w9\]Rk*n;ٔVM##fTf 6IJDYkZ +n*4ʈ@=SN ǁA'|, I"TLco=_UNr> fuHg8xP!. &};t tvf@pI#/,uw+ 訙 +j5\^W+[l <ź@<% +ÓQ->K0iH:oCEܗbMC0 (fB٪&0u?v4L6&<2ewRkq.k;nhuWv̐&lFLk=cE!7&#V Al.qQ+%=ܞx `$H,msH VF TI4Oܷuk/{ qS6< hԄj?n > ,;a\,P% tnzc&J$8rimm}r#Ă0<xTHn8v&Q!Vp53& $ۗ͵SǮ3*$.ouf9Q cCj hȆMHȂD vDzQ{lЎkD{6Jzn^I1=q%9`UfSfGH 89d12nRrLQ`T H.8u G"HH}w.څ2B ./ЎI#!Bj Lmp/w 3GO\zčg|鞋KB|åIH/&:gK}y\He[->btMʫ=[-0_A7Շ2jyEdWo>jwnwujF}nih5"i:ZQ| 6Eg$8}1QtGͦhzRN j{GH랢޶3Q3bp@U%6k7.҃x|Oj`*%ˋ3/@=\.\a;Z;Q&o€"f0Ya/xyPLj +cWkeX>9 k\;X(U7.,Ѹoc<ɯ7b5fϊYpHڢlk(#sT)d悥lls7_ܽАRZssRĜǟ1F{diTcYH"%;.tQIV\u#|r↜_Mw.].ϝb%9r*JQJA?< M997`p\sǝ}:tL3KBj +V]-pQHڹj+ھ|m)dX P!lŞAC -[q+w8uP5`̡ ˍ}S.`2d !1M4}q0VV*FjX̺9h0%`dS0{$f++}cvc~K.&QNb>R^l +M4!f! foҀj(0T`'qV-X8[K6*>z;o,j4pw(UZnR8ԃ`Bihj-I=vHp"_0 yCV8Q= D&@d7:iA,m +y)vn>J{ps$?{*_%gQX& +|ؾQ1yAa'X6yW-KL-fbt4b)"ƻ$l`-l)0ag_VV*dc~ϔ{3&Ayҟ_XnJ 7-̟޼v1?\82 cRX;rwTL`ϔ;mw:~`@A >ɮ`*Hպctqz2{ b *R5!+$[ PP97aGΫC\c\!&NR؀H]ܩA (#z;/V80e"t wVd<ʋN}RЍܳxf S6@EggI9@v |Q5cvO)z B|B\㡥!=mt:äYMb$%<.o|8W[>3{cKvV%tB..9\rP ²)^kBl-sC4T7[-hAQ W.Hy +r/eua܌`BDl(1#5_g9j!̄j&rTuavTs崙 J>:.$k+ݼ,HcD ԇPMxDZ\_B<ƺw6Zаc.4NE}~mĚGld$޸ڙ@XM, +>uۆKfX`r~/ 0a߄E%u:8&{#-RmY)Zmխ}B՚?z#@db`** +3} ᴀ׸f2K'Bvmpo箕s/{h=|rڀ1:Q(\hRJ;a"?Sدr]N8ԗݾ3qj[HD[#!_Vuol]Ο'b="\%2{wZ +Au>kppoLl_e7c6BR!pHIT]*kx}#Mpg`K n&Bz0Sl9w?m5iBe>f,l%c.6ga 2]T ?^PRӆFkv-*d{Dg>+:TvPth{F~u '%O:Y=1qR[[i?j ۳I3&YPz} gt̊H@aHвZYJ99}|np22Ws #JYX:ܺؾQ^ne=%>M$C੒M*Hfۻvp5׌vfyF)-ȥdcqn76l^Q`؝kv: G09 =4NxF?13i#e{ˆm YTLO^tq[C7v.?\8{Pur.9Vn2 ;/&fmM۽1#wr`U2x +n&I2T sravȵhs9?bО./\Զl'A86c\j WZ6m)'˹0hg&܎'Q!.fӵ Łl,WRsߒ++\Hz.G+=WHӮ\Vzx{0{ Dzo*+|7]]]]mؾd{ؔz;#4#Q#]IwujD YF9 2$P| +"P7a,Xw$jk0 +Q`pBDcySnxceӏy |Jw%V3a}r|i}fɬg2t]G;*p"{w~c@t?S39fX( 9CBk윳H`:0hX"ew޺'RBT|Q V޹p,U .Kiy?^} x *u/:VOf4Xl_,:ORfCrъQqtzy׿ֵo?⛠^yt,,\xULw|Rr1s܄X_L[\+͝Dy~M׋˗K?o6RiFlzb4J@z6AUH,B|L<Ș>&bV7ۻ[{/{GF [EI5GP){C2#p W=8%!B6݈n1!cM@Jy}z&h ׶hs.J7=4[8p;ngY1F'}x:KxMDF2iy״p#mR`VϜzukxZuZ\ |.a>DY/=HŒuˇh@ lNX*)^.gT|'pլ>p<>$lAй\|\l4݈gމVo~s'KDi".B]Bht znpTe{{Zi2`_$ bWƏcS0Sv(qs.4DTqk_)//GzjG[AwZ[wrݽkOE&T+K-^~u׿}[?cƌ_ 3AŤ RX66/zmxx7t~#tV+k7~GfZG?KOKQvZ)N56ւ<Y! NDrCpOɸ NhE6%&! +a&큥E+,S}x^D 1P .19`kDx ҲR]^D 2'?wfqSv/9^s`nrΉab2@jJWˑiQCB} H5$fe&ˌY "mg HTKgI+ n xicggr B+ʅt{ryq|tI{8_d;G-Kfs.UKݻ 1ӥbh{7 !=}xxm?=~+'G;?khk}{;riE.p%Xy\!L ~vh IA\e8BM&Z2%  |^M "i?x_8& G04PD%/{J* )Yk] +X{`gԥD+RIŰTRҙbXi [mHז.;F\on=|z҅o_~g߾K~Ow=m.Nu^}aacZ`bx?o_?5M8а!͖V\4)&?֐ L1?O.[|0fo|4mJHiV^%[gS^&!^Zoyj7C':ah ҬQXشY <'q0/B6Tg]!72}&ަ̦%pJ23KVڮV*LW+&:qy\D܅%D+~f}z} +/f!*\{'Fq9#&6bZI}^"W^ PDx+,̺\ }Ӧ-@yq/ +'x1kRp#Y4]&V2M2JW {wml#iE1 DeyV +ꙑQFCe?arM̮G_moߑCJݾG CrQ+_ѣLkU^} 9N'aa֍Ҋh~у|lHTw?~XXdclatxGUWn፷||SNʋ'`>+oRT̅:Y#>x[J~{d`X lAO$0yz {Nnf~j_[€yVp_)El r\93dpU\B `=Y\8/&NJKbf`Cˬf}ܤX1h) +g!E uc^&IY bfdxZ{A~Rڞne ,n?rfir=pIvꔇÊa gV@r㎠@Hn͸B!ZG-.֯iK1Z͢L̏H)mC@?}~L" +RH!- $&dxOja.[z^nek86<쩹ɐr\%- +✟=o0>M*03:%t7ZsIͯhu>ޮN7 7I-k2  #5?-B);,^stZL.UFo \rԶvjp-ݿCl"K +rǰ\u߿#ka*0dgf@h&D2oO>/Nxf ~Tx"0R ?1)W\8H5փl⣽Tm\JD*a>sqWs-"9aO:q^X*´oQr YsRnKl6L(yp +`:D0.#;Q V.0bP]i\м +s.b|ʹ-,̺`'ÓVԋF /dWRnds[ɯr~wQ =Rln6? >"O*upI?/E2$[.Lt@ZN:@L +!6-$r QT ?= rQ`{H1is .ByDNZ|Yb!Z<*$i%+9RZ(l~ć_1!eqxh@h(O9 OXrAWQz5CxE$D0>E!Tw=X3S9[BHh%UImLč&B$0ɦm,8 K {v?Gdxa^5\HɆh\⬒gT /8!X!1(E4a%5,rry}FˀTrK] 'H)w;z >Hh""u Q;;׮ W!ƃ)ЋCsV޼py'X¼xK1zheE͍P1Aɬ:++ l>~rkui^sgm/w͸ sEpB"dx(P]GXu&c nX:?sxp79?/>.E05Ԃ`=a9H +𧜬8@Eqx7e *:}fVP1H!:ꂥY@w'^HI7/DX d>"LGu2ArZC!DN1DhQ2`&\&=`3t`(?i *`c"ly!Q A ~8ϟs [{u:("%ĻYqh^NH- 8R^*ƻ.DaZYcd]$ pd|aE&\s6o ̸OJG`rpFh"ե7]|MX]ȹi7zV!\l0aýûA<2kl.).8Osn#/D`Ƹ ƻ9 0OCGYs/Z³Vh ׌$/#&0m`.?" ?5 5 _haӳ!L¸Ņ;)+tf8"KtRkf<yfNͼ0aidܾxC0 .gIX,4ݿ7fs/MX>䢜Swn B9߼ssn9yWw`zsji˙s0(erPNɒIr$j~ eb0ǹlys/N?ABc./jdhSs =`9sNN͸cb>MLgM1ÏŬyǩ +I\`މIMPsaT:ɉCc=iēF ftR/aqHK 5rHZJjW n +ꪜzI{ By9cX,e.--ܼsu!8KѴ,y|~Ic1Q}鲡h4LY>l/$+IIYb\9j4 Z/<)ןX|L 8h櫽2#H@AmA"q*ȝ<"D,zP!1B\2 +!X#> b +gPƠh&xTr(HEC8R FU]H!\piP,29WMxfq`N/i> CE%Q8뇝@i%`8$mj'NOڞ{qSsGyθ^:!V'f!y1 +endstream endobj 99 0 obj <>stream +Ga"Y{s3`(x=a݊"nERl +J,zzX4 +q + gOhQ;/Js +'e>ѭkk_ffݞe9eRPuSSzNX<{~{LE}7FJ܅KvG4抑N!G)Q)^()8 d +zDI\R7GA*%^w}z /zU3j|AՀ&#C0CS/ռoV>~vᓧ˯~<9T +S&F`J 51풱IwֵK;G7n<}pʽ*5xS@λ-K_:=79p:n%и&UYUby +elć9=j-~B~Ig?}{Ov>??ן֓K+X,Լa"^k p;],K; Ep\9hݾ~o|/KD`6c\0B6٣BGoq+˿?_|֯{>vqH!맀` BED5E Q'M\ڮw׿?v6DZ-6wqϽteSibHl*g~`>{+'o?Wp|yH%&!:5oW+?Ͼ~{k=鏿u叿|ǟ8XJJt[0 :472Ͼ~nV[W7~ٍ|~~xa!n*DBPb$CR~⣣Ë>_?ӇǍ/ׯp/IiՃq;n[kJx7.O.|GL# +Q$-$Q_^>o\'?ɻF?[~ x-N`::̵%Ճwm_x7~ɕg~~}}_~r6*P4 OJF){+_߹?|oO?}?|/??{W LȇAx)KUJ/^__}_{߼g?}}xysSVW $d(Γsw;q{;Rǫ_?/7;vWB RԈeM'788[_|zowޏ?_~/?;\i! zj S^U#]x_]=<{wyOz?k?Ͼyo{|<.p(@*LF"F^kvW8'͋7_}r?} ޾~pX'UHQ`zЏ޸\_}/>?W?w;W"7HFb(㯚b8)V?'??~?zo><~$唴e90TB- ۥ￵w{|͟|r7n_ʥBI2 xqE1Rh4Σۋ,//ſqï߿7?|vc#܊='bHMr\&R:(w+?Y~??/uǟ=_o~JA +IZ)p!H1Ђ6]o?w~lNJT"H6FFGnyzus~tF..R yI!g!T$31!UU3FlgPd.V_חA36J 8N'8%89 l2֥B/U ˭_[~ɵo?\ֽeV~ H  a;`Cnd$췘WO~o~OFf>I^yܐ-H\aL Kp;^٫}hgGoZ]my"BVm=6daTÊqmoed/GG_¥8weTCaII#Ĥp)3UWB"4)9bK͋~SHz4ŀF>bt2p}> jxa|y=ů߽?>7|+^m,*8-9C"DFnq&*ɘIyjFh^\0-ǿ|}o?wzʫF*f\V%FIKDG!ZB4ͨ\%*)țlJ"s5Id;ASYU0%h"-njҊ +MRPTt< 1#.Q&G$$&g +B8t6s\,0V' %BsPBji(\v镢ZRB)cz2q$/zI_839m"ADhI>N2p2=6x{N HN-g`:9)FyA|&%M!ipH"Ir8? +OXDșkN1G'XSKK!GcbځL/״:̧5P*ӂ(&Kj:"&^ HC^n"jZ"eP'&-Ӷ0̔"kq]-Fpގ,/,FL3̬'=gm;&XC)%3m djtR\hyx͓ alHgX7ݹnCN z~΋bR&[YNf{'6A◼A)=^xC̝4 ¬z>cc,}K@V"DLuC"ʒA< *Z!^Tө;/bϟ>?I2d% + KD $!YHZ,Д fvu$&| +ɪeheK+ݏr-&]f:GmKrSqO~s$dz3ԸUId`bt[@p!+z%e6\XF(U02s^vN|R.h.Fq`a$䖕F'dGn*1Co\諹5-7 [hh_0sv.D-Ww^8|ܜsN%VHKg,ChNM3wv3ƩEOLͺm` ,~~D!Ɵ??VbkKZ2BS\G+ć x48M&qi_ܼQ<,I&>VuOߎqK &Gޤt0yKH# !ĻrnHuXuW +V ,XXe]Lcm<eᤷs9PKP E'jtP,0C+iƽĵ/: ,ƣ2!f<HWz +?RsR!AhTUT&>:K>8PN[6\xSXD$08i/Jf5=dd +ǫlN[ae9룬!!(r9 Xת~:!LSyl/l3I L)O:=짒pd† X 8 +$Q5W?;I 448xi՗lեzu9R)mC=Ox >"rN<ΧRn.p39XԁdFN2n.{MyLP&J3qFQU zٓf> E X ˆEg 팃1)rgm +a~XCx#Ă7lzZTr1wh0{J~mRrI,B,BM&޷)5 @6FXi̸)>@{_=?ذ$itQNj2H3xE@zLt~mAq X-qj3[BG>oB"f6|Pi'_sE2R3C Kz\f9p,|IRU+8\Ƒ־HDQTV!&QLѶRڐrѥg m;Tz@ݝĚkŗc<1psy);jlދw-AUɭtUVoFO˦Cڵ@h@kʫ;rOgT6jO99%&$W–Vr +aT6 KqWb{0H vԀϮ`yxMw+B\@\^?"H|jP$^ّ >MeH̆Xc#;ԲõG6X;mϹ9 \(~ۨZ߽ڻ(VY;df! 3[LziR:Piz0)c֏ƜGePb0a:d&2wѺ޳s6]hM$-aǓljY-oq-K%|lV.tIw0ٹR޼Vr*] *RZMҬf-տ(F^ GjBv-־\3A4LMb˘b^n 12օ%ʬW/1.b\6M/\*n=dkR]+i#-y,.ߎ5wy:!N9+CViNkI{m\gaDb]x/օKlsgS= U*:2ؽ?pCF+&">,^ݴ5T56\y+}:|J-$k%s.2C%W#%HTG򄇰buQczyt (m˛l`0;dr1@u_Umf+14ؽ} ^*%eפ +@j#(v 3x],/]0-(f-MY%Gxn% LnfGGf/xGL-X`Պ!"."jJ/Z:wkwoz;XRv1/f&)%j}"z6(42K!$|;~ɬ1&:GJqE\zQ6n^~qu93( + LW6ëzm?omYV:[Lj6 lQXi54Rjytu{ +;\y bKvcn5{%籨 5x+ޝ SdRkVx0Y;`Ӕč2k#e:.6Š ܘ:"g 56ʆY5˛nz(W,ŠR٣2trmr\PHrW"Z(^H,\^~q7ѻ'P=y!Hnd +n*"Eu TY( x}8pgH\s&oV}l6ףu!\zi*=RUv[ҽfux~uWi^ 'E IE?vZ7@59 BRHh 1z}CYˏ|dj̓(:kg|Ld +iDK&H"ذEKP;!;r~Ge0F V#Dxv"gbVhU7⪘Y<_ u ,K%&3?R V+@X_ʮ"~{Vl\\g::g^'E++Bfa&$xiY^&< +TI]To̅\)T墨v7ts6ۃ, Ëcߊ{D r-ӽHd[m#~_s‑\bҍ9PKc\cuy[cQ&ĥ֘`RUL+N<$|aGtbF {oVb~zx%5KKE<~RIUvšL4o| +xtA*D[ZeO8}gYH*G(&z7 TTZMu+A1f +.*;lȅX}vC"515P[3^5Cl,rZ]`&)K'xb +;Y%ՓC+9";Lrͭ'GA=QqV,m%!<)6Pd6LXuXv8:x[@Zq  +*oĊ@IeW-gAb3nN +x#YP.e̢;RkO>|vdYrLGC_tS hfMOCd iʁ:/ V!es6+et>:__vN,XB#$۹:Kt:.z} T$L6=\ +꬘W hCBH_{A/!(%2s `p>"ڃ些X1dhd,>3Pڻqx&/.]!l0ZzJnij Q@Fv|x 7Zx L0| 16B"6P DF0a@wS~i:l7 [D|%+9!2-q/xq7 + DRiuӼL0ZRfI,1wQEk`61i`ă%Fۍ ̸ߗ.kkJVb$ؙI-j39˽4t0T k8 eNz_ab{A\08l=6 LAƉʰ i\qy+e[SKji S Gj*1^&@NL-9N/E0|jVKM7 .p2@}_8xz-2=e`BʶJ)q]|j8ܽ_X8ҽH8$GңZ.. fx4\p@ZC&ֱ ƍxe5/M^rL `DTLkxy7m21d2kt/?lOmUum@p:i0 P>ttnqd7O#~$*T 97QJ+vXAs~iERAJr҆F?Jffm^V08)!ALUdǝXa.V_<4mjކ &fQ);ͭsvbN؈S30]!5Cg82&j1f45E;PKŁvT  #X/B04}|+@qýK%=uͯopQ"Re,9 +x@ڜ=zZr%[o|i%.& RPj5fs#sE6 n*^vpwr*0]?*j"- +2.D 4P2֠@yeMHVeHZH"3HP?+##3^yD= ]3=1['6#l$S¤|E*":d\7 Abj[mn:dٹh.?Ot75)٭朑NhK(pFlW~yߒ޼@i^8C1/_J3ڝ 7vr_Ǘ/lHIhxn/x +gt.uo c1;^\OVY{\ h\?4 8S~΄3u o֩>]bx^Glt5;zi.'s2|vxs)ᬵ gsܰ-[B^#dOM 58 u1Mf/q)'egb8,z똶GBmD+Kgp^b;,lٗRpm4J>v0ΉXpF;Y1e~Gi͟CjQv?#C<5JȽGwѓPYs"h t 1nv}N#3B-Ht0>ʼ57`>s/kj'B"|yON뜕/'H~_nLY0NJ\`EJ[-H#0>~F nҚ^\~waJWrj4#6{7x&^}07k`P%\icB<=Z潉M7b0Ֆl6w@X¾y3{Rckp3_eH^BkǙ_7rKM/]7w_WGo<9|C*I:<׈Uʅn\կj:URD36ߘ+}y2(G AK|Uw3Hi6+.*7!C +=)^z=QZGm"BSSP)%NtXo$r$-(Q*ځ7U2I L B W !@.uA] ߅ Ǭ9"@fp9*=T;Eq ]V諾p] B +4\kKk}?]oH j񭋂:QԽmAh1vhnt*8Jf;w7 㽹F +M[!U֕;Us0GwK}#z.?.im |" {'4m5UC7Rcw.fֶ¹Zwg2;A!apZ1 G7.> 1%ymo +\j)ozݎaRT.chvu3ZEͻ??9u` N2;0yzAXT-[{ɉ`t7ۗp5٬!aMٛjR ?|.Qޓ"[ }CuJkrs5!) >'rt\Jt <9 ĤB4e{z[@OA=Ph\72Tŗ˯D;P75[po:zٳvϿ:R4ջ +wax&1Zkvmۿ) =1&Uc{ߌ~-Ǵޞm$KTkוV]j8/` kˠFHQETP<ԓ^Eԃys}.>)585h5Ђqox:LkbqN0 0w&N_35?ͳj0~]}\BKj_ǿ]~uOl /-dɡVKh_7uZ`xy|˝=kT[PŌx#!kXv)vcx^ݭ ;:%0_c73z7PJlHy0}  n*ߩ퓂hwFjmDg\(CdYٽǜ3m\yIz.ʤ)m{cF*Ǣ7%Akpᡘg0W}TR1/橜ś"?Jև뎵֩_4oΖ3`p"9vf~]fŸܒ3xQdu1b䬞Nʄ]Zhc0DPP9Q伅ݻlݪT#okJnYbFkZ +2">~?ѨL{e&bT+QJZ*S12&6˔2 DMxS%4qo)7O^D*4_$=X5TIͦ }VhpopJjܾ/kf?| +kt3{b4WF:#$kGڒ7Ik1 +^_zzd.sc=`Uxl"3Sqk +Д]kl0L j5z+I}E!gO{%SBd1r֬&-=ō1(1})&Jz^QZʧu:J0w +") 9c( nՇxzKH 3{" b&/7?T1q=%ي @#B_08c9hxs_rb EA [3Feigr#YzATijEX7dyTC}Qj~b4eFP;)rqhY7V \pQ(J=muC:.~!\>.5uL꜃ @ك>`FHM[쐋6&Gp Z,=|=~[GEؼa >X&f ҃s ~]ik9yҟጳ ;{# qV6y7Fh_&`lE Ju>ۗ8Wu/GA D i3眿wʅ~%GsLbrYzop6S\3u$$+RpLˌZ V;8E>s~Von@!hfaug_}7o5R֔ WugCyVXC_K"VT5Xr +)hm]ˠs.ySH}Dݫ0U);=)PNYn +36u(ӟO!P1.`^Eң#;=nU,FAIzu.Ÿ5>9bzb>C^a45#lE@WJJ_τ`% ޝqYC4DlBb0LHM6b-V}(.dNh5 # 81J*gt\O֐l +Vv5dr *D莁(9pUL WɟkUmrǯ!- p?^|셓פdSR`kuT5 tH _Lzwr}@Nt>'M):֚<;}[R7\tH#F +Ff-хKH#~EJ l+R'Z|>)NMi%-nr!0kftRV5{g%©1!ho̸U]&OsTpIGVQ97*F:R|k1,5!UBkn=c#SuYL^U5GhTB4:; Xtd]8{@h=ޅTR=noY܎NSlEO*R=N*:mJkR0Rn0т +6g +FzPPN\zr™=q={ZR#!{6JFG9\Oqd<8ٷHq<TArʌ93v/9;G_JDVUlTmDgt6叾2k/>r!p o9ojm.Cq 'bt9KڜɩB|H +&oݓ0†5NY{ywAi +3?LOPÂB P)/~/upU +Ưx đu۴9 Z@옆XLJ͂.M`lߔtuAS.2SWџ5(-Njj +?m\N9-/ZͮjO/HƊ3j^W}v,^[BiaBs8sWi }u~% [7vvXgN[g4Ŭ2#>tѻ{]5Gk)x7sʔ'dA7V}g0.ԣy ~?]})rK[[p٤ޔڬ>[eY:hf^F&3q͍T\@HքLj|#n]NQR +h1ڷW . +2i?O  k!EwGzxCg3w[8BʄӢ ][g;[^6CԾ ޲ul1Ĉ#Ri&7X`d &Ԕu`!ѫ׼=.b~Y`2d&!XkQM +$+w;Y֤ց?1N@dwwU#Ԭ}!.Is \gg3ΛFZzS7~f/WB0myOn|-l +&W* 쏰{8&6P r7G9ΡS!P¾`zNE,g͔Lls&suY1ڧ`N=#͹갌- M*;fc팔Zmn5`5h9gpv/BeD6("Hna$GULߐ  }-51l2d#uF Nn55!M"#(d&)Wohk +/MnLiR`a@rj@o0֐1gZt/)k'ABPt1!SLn "L{'_Ͼ~KCDN{5cRyHi4*b )5` +IןW1CL +)=f>)ɨd2ʲAvC"?~>*5goF#з'4ISe%e!: fjz}9:5)kTZ+k/L/5E01vÌ>Δd3|$>fCZRl݀T,P.aWH2vkoP ;5S(.*8K&ZCoj/*Tˣ +&Fzx ll@/Q.*?[[ cO)sb47+mTȍgjzNYcpǼדE08iQ'wë_I)@.TJc|~`#ܘRgdAERۿ[=9XJX\\sކ#$: ClFD޲Dz5ܮ0}M(L 5H!('%=Lq<"rKinXHᝠ W%91 {QwV*kmQ_c#> *\vJ%Ʋa {ųZR2π70ɹѽ.(rdUk|k[e6A<o58U>@7a9Ɩ>aiUFϜKoRVaaFMN+B UU1uݯ7ڽʑ.ȉHtu>(6pݿuwF4W#b8E&`ս[ y@3ےjr,#(]׿;|g-nNkR[@3VuZzu],I%[^v%/ HӻS1 N?ώp J\k08W%^ƨƧk`*]{oJ}0񣹳:d~v|ؖXʶzc?z\:'{.dfQ(Q@%\!B.4LO9{nG#I F5r!4x'; }vwƙ#Jo; Q+b}6<,KʯJ)Rk0 +1B bH{H3״׬7HG׻}u*wٹ+]BK!),#h9)\@=W*2|Νנ+|4ؾl^*))p־Tp%)Ҧ Hz:,SfNW oBڞVHoaMٖf~8K kLJ4'46?uo`12igPDMf׿{'cm9Jr=]iJyԁjeuEjC0wnQ1pڼ\`cZp[ f_S{ჭ<$yg +)sPOxerȒ'eIIyӺ@ksiϝD +֯9־ąd kO {XU2'yV.4VDY[)klosϺeY̾ݣC;@PL%&C +x㎟'.訽.Eԕ^rd4hQff(7s99Knqg<iFXr Wѷf. a>@_ӚZULN*}Zv2 wNEi3_3b1 Wa&>e鬷'oHg[%(3|~j IÈALR.] WP{yrgӫ6On *ƅf|Oecj={g稷1' + +v֍?2fxwR'e$ \WS%p`Xx.(64y4ak [ &5uc3κyE4A*DjqwӘmڭ뻀~JGo_@䯚PO˟3>ߚ'0OJ_b gwlʠNUn#Zվ9a1tRFz|Ll97;!QYi)lS'7ɺB+)ZGwO~pG/ zz({Ticuט}1ٗ"[ O99NMڭIYiMAn;5*4x.>_<}{]` o糓[ַzN?]Yc*3Lkh7G{pg'Yg_ר>ɎèqFڈ@[#fVQe.,6xɛ%iv`ntoeOjz+_č _ +扞ˡ +=|MZ;qʻlMUgv +'yrWRzM?tR"wN_#=5lg}O)p:h0O3n?3L>ڣK  H'D5zw=䌗/*j<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<r2!˵[G?>={ZgwG?Q wQ:9;\޾0v|£vۓK}M$qF99?SN +^\cw6?_Utp^`lV?KLq㤩4qY1 l55ԻU>K ΐ5C>,`E[#Bi &VgmEC]T'SQG|x+]8@:_-h\MOol(V[E7K)j[6f?cpM,3>a wy3{]:Xk|r1)UۿƟZN9ݳWB\a"'e!=7<%IIgLi'rZ:K|UIZCeywB\×v3E#!AkV.UQ"ɛ+ +Su!=IEG0xІam)Ff[1뎪R\d=TNy%1qĞ hƜ=vp5Uӭ7}w/qVQ`g/,]D&*74i^μ& \X2٬ OuSyGϺ49Di@Im;H*/5]c=~Ek[pOִvYzm0{Ok_!JV.ĘԄ8Gj(حu5k ({ۣEP}^J2٠He٪O)"Fe-vk'Dv2 zWW{e1{UI/vs!O1e(yJ)NoRJCTԛg|TfZ 3gEGjFq/`vɮ(OVxsZSRnTD*&9T&@K1.Dc#TIKQe=Xݹq{wv΃ջ?ک&7|"AU'*%&k%ZRjSW߫bg;(`NQkB j(w5ϼ3)X"|E`Lmo(w@S_>\Fk)MK{C˺%fv7 }}ڜj6iPݭ1wu׃_zB[][uLK*nrd5]b|[S;",&96eRJ!?EUu3\[:`W"VƇS.4kU%WjLKVeH*iIحH;U>'{Gzr5N+l1Yw=HʜTOK?*1u`2q0 + xt@?: +rO0mT56f̹+D}@ڃ`aCQs)!'?-%¥oO6䭉z_քp. {ڰ&wP y_CvUHibv!uS2MGğրt&> "eq;3}lwơn'̫<õ¤נ;+qAq_RYɍ֞J2@X7g9ǬջgBКL4I"~ q>9Rh:e0ޅ {3 +Y&$څHJǸ1c@- ~%%'M"\~XA5vbpJG WsU$\Gy&U!y _ "0Cn[#H"_1ϸYqN0 +\PcCRncbIIc<[ZP}6ጡ +Rz5w[%]Xy\f3Օ@=-Iwrc|Ta g֞QJ)܏}LJU($!jb#:lDv jBLì]{ťZOQ&‹OEo,77QGo~Sӛ5%ЀdF/Wr1`Jz#bjG0{j) uK04xGwzS<hY|-ߩ:(ǘ1TvYVKVa^ U>*QAkܭMDjZ ֤}Ī!:W+%9CTA9@CeSZ3ǜ9„L%fɣZcq79Z5Qb=TyZ~T*@ H׬o7.LV3'!,;T4eX2<- {5mW%$N$O>. +@Y$xJ5 L*[>XC0@ +hd}z@VixViOI`qo!fA``PN`ĕ`4opE;bzzc3)1OwT#x{9߹U&ce@I3ywKDoq\LbrWJzJ93oD6Nњ'8w%z̶_N-2Xrt(@!Dk{ٚRuMn֐v.&7ū֛.2A;@!x'̡L?6zҒ-"% OCLN +$"DO + i?uo#Jf $.Z3ݛl>o1΄u'rctNs9YPÅdyfu־!1` ]uAS(lp7|sfsٿ)I#ջƯ$%͡ս/zA>n0֌s&IU i=aayo׺vwѿ:g9sk=H?p"YbP 3/s18ݚ=s]Dn",t+ w.~nƄ(@STl"F -UY:9,kg*{Mk}_g*1pjPzZ6ݻWW4k/Ep0U)E`;1 ̠a!hٙ +ְ.$9D+VKrup D]ֹiE-뀥*@b*9}|RPacћ,Z]?~ZŲY=J W'Nۋz{ ǔ;Ōe1fmv+JWidr7Ĉܙ:mzqFJ90{}w=8_iOX\8 /ddHUhё־s]!E f.)*uJ-i`K18 *A<O +T0r C}D? \p`FtT0=c`R"[:|rVEH9T\m!"囲;POx)Ѧ…rR<`-O 49* |$81iEQ +``qspur'U݊HJr0B7 iI㧅"淐uRV*JrYH9BE6Z7¹ݿ l =_WZ57NJy5TMQUBp@l㨮V]gY$Ɯrǟ5_틬.m@vhu˝"d5q -[:Ɓ]BQJc[xa^KJJ |@AZW;x!0D5'@Dv`I$v5.L{R3ͅC]D;I"#Gk+ qpq7eޯ V90iEEH"atu`)3JYS59/2e6: +"[U''eRZ@"Eqx6m#OO ?Yڂ7ˎ)ʓ"$_Zˤ[c pb- fzOk"xS6;_f<"K)SnpS#(}.`VjlkΊ ^~E&S%Z8kʛֈuW: m պ5]ΎJ(v3c4>9*pApw1,lӹ_wn!qݺGw\xLl.e0s/iwT{ewPYAxyPU\Y5 +P@yP#*UY5/9d5E҄,NUT,Q@=5xg"yU1 9Ar?I9)-A{]\؋ +e4*TI[~1Ue:r +0iajgDbS,V(G>0J֯wu9ys5T"fP9xG5RQi *] $݃2-9&eKi$WQʺC#\LϿ3OsȧyT0+9‚2!U0ѣcFFd[4sRo?.}P +(Zeo<ɹCfN[\}#\#0W9`όO"wvZ(q͡&wp 68Ƙ +RT!oRJm><*uއ->j'ڔ +9>xRbJqktyJz/6(JOO Ɵ?9Nwi6 +do6ZћUAf0ZzħUݚֹT @1T:h'uRd'ePUÍ6ftp՟~ޣ<9&n>*vVvb6}""bIim_Yo'9|!07b5 "!?%]:@*dF#b:0&% D/}՛9#`' "!Lw&^1y. r5*Dph7Ђ `Qi}k +DTfa2)KٳnIޝ 0>.ruu/; +uc*0a-8GO[١<\9MRA0%WR +E'aeHc}DٞJ{hh1J\CʜUNEƔgU)6|Li}-ԯSe"u!F BꀱFՂA]A]}Z|t@F;?:~哽^h,x>鹭cE @U$Ȑ"< [yf*dIV"ώ&ү !t I_}Zگ?#)[} J,Zu!$J[偝Aƚ +PrDI㛤< ` +`O l^] iC,$֙G +*W1gD A9br]9HnIFq$klKQle۲,xvw;;:],}C`?H:W{PCUG_Vx2e%62`nԸxh`{ܒ;8G# Pi+AS0&B) ?Ubs^:JŀJv0X:wML^R +ōlgw '(Z5"!69lLD͕,^Bqf5k͝/@4$q0mJ-ULjL88' %ۯAiC '3d!㻩ʚ=1+np +͆38j 42uSA + 3~Hc?fv6:W2;CF߈h +:0<0BIټ/vw` c1?o?d98'Yᾀ&:%-k]Ӹ£9M~(pRlmARh\-kV7jNaJЁhr@GzmqӻB 5Qd@{4$b F%990Հ@9`ۙܠ‚C:c%['!2Jn NȻ ? y.hhň-Wĺ_'⽃f@S(B־syۨ d A{=*41됁Z3bZ7U#"Q"BO"&&HN ☭^c\aRèAazTʇoj q +f l{PkA3MA-1i`-LO`8hAf9q3 / 5j1 m=>j|cfHN[v$G $⋡-wSx}_T37;D`EE@Dd,Xڧ1Z W[{u`%+1ZX萞*[LlDCuku P !k 4i?ξdxM!~ XPAҧ56#Σ?Ǭa`-U=ZĠPObf2a$h36"2-T݈Gv!HY#V=A=4@f&qDdB#J.Uxσ6d>04 ©S#<<G AxG$L9G+  +P1!Z] _ ;`>5[gG]ou2i۟=qWyF0C7 ! @Pdy ǫVOolo=4^h!#pG9  OMha &, +2~:`_[5t+;g?!eYa} u L}Ct0iW0o OK""gY,\EP Gl}-N`ɍɣ!_4Xӗ.:峸f2S* 䌘iVNbЇ,̡T}a:'k@&_kL̘C@JLdrSK@x"m%@~szLjI+2zf":6b&JyG)F ]f"~?j?#D2ը7n h]7[e}aK,qdPGl.=bqD~(BдCn]:#ΈۿdOA;w t*$ ]crTbԠZ  zRBͣR-Tqd3f2>@z$GnP;` dR[ [yţb LhYw0A!݌X"a5WDY蔌ٛRNA!~N !@}!Shv.+0; 8jgiQ XТʈ]U1@2lj'hP(-+P -CĆh2l(B%f>%V*EŧR03㋶mlJ)`?9XS7_bZL6SiG1f:~JlrS ^rK" PL#^5LFi@Dt|B:鬭/Y+d$TCVvB<4zaC?dV_ zN jJ'ׁ teu0" *qn"c D58eV&cesX拶\OIBFXz 'WðP &%j^cc ΀ ҄3@3{mTfKqu!:+&\u19JCsփ8ppHn&CEj\z5|J)Z$z[vy'WҐq2\fNLxBX9h`005 ROyGpP;q09qxh#'v:zȀ#.w¤ܡ*dS=OH KʲT[#5L*|*f +pjPDC%/rsTޫB5]@f;:!=&E:֦Ԗ7pB5g 2 M&^]PLu[r9&9Ϥ|i":icR&"EEh4P@q17'WV윘[MȰ +na!c@,~p`P< +LH0 J-$c/Bǫ`"m >hab҆z, &|a,⑦PX`S.S2=2!A;-PP>ٿ=A}qB&|rSm*MGR }LkJD|rM.thcRm ( +J+^+x3dͨ`@G %<$N>jo_&mrzVķ$.W=7'{ʊX'"EBs?5I&c=B-I%7.H${riLi#ն[jS(0HO4a "5c:5j*7hOaTr֫vH Ti4X8p=b 7h"#eBU.3V?tJ}0}iҡ!1ҫ3 ʆX^rY ?sDID[T,7Rsfز5N +yv\"@73'R'BJmܱx{OyL7ڤM33B5yp =R-Ktv#M6э7Vd[ Fz\G[&J2a6JaT*ֶ +pq~7mk&cӔ +b3f21`fڽ2*9j:[LND;Pd,@O-m}ȅE;@`R bq39پslՕPmrq\}*s)? +$6ZGٙ{SGbHj# @yÛ|k"Q; YZGٳᥣ7V?GRy]׫sg<]bk@2'窛W#Sc7p)_mn]VGlvls:}ץ¤/ZP +iY,-:ݣ\f27VXIv]bMM3@zp)Rݶ1,3x@aMXZKvjJL˵Py%M]k_Jpޱ^}DmNmTm.HvZ;FeBkKOz{F*Af"=^vS>b0eAKv6\^y,il]̟n^|o}0ZY4{LnX6%!p\n|O~Bv8 Utn=#A"h9sbaɫ4P> ;+lB~np2+H̀lF[; `r&'mHmE*-4zۏ.̏ғ{QY Ǘr7_#TytcZa"oeru +=}qΐOjk|n}cc=F5<67cݩk[w?=w9Q:^:J>ljVnO}hәӳڋ0)?1)$TZ+E^3ft6TXΜLqNL2N{}/V;lfBbخ]N!ӫ@h 'emdDLɕƅųFR}ob&*ϞŻxy5\Y dL0=CvmnP4W޺Ta٭p~]mCWϯ}/噕w|XΦ!,]+陋dwnɫT鏀96, ɮTۀ`OTO\{ve7ph{On'gթpc1RYnlH-yrpb7,6dpn=ŗ6\teKHu%9u׫{@#VnuTmщfy#WomHH{3?^Tt2cR];mO.|;?+Rwҙ'j;;;N>\۸N)7~e7MfSX<>A͍׺kgB6Z_M +e/]f+ .7]R MEJ~2Xq01Zspcm_)s</3(Q>MǛTrc-C"x0{tZSՍW*BmI.H*U*ZssP6̬ hs5ɩ@f{nt*f;ՕsųSՅo^}ٷsY 94&C5~4\;e]LG|xi fSS'SSg KVQqatN;Dv@7s>:x7$@5n\ol->y'hm 3v&@z.ZQk[V" )s0qXP:5OSPf0 0>.Nv)-3#6Nl!"^}̉\n~-{y5ٍ773\j mpȟpjalsTsS͵pňXI+sQ;8r¸ ㍄ܿ [ja3AebC:א ׺@XE2VbMD@66ftjO,pIY?w n&2.)$%P>Օӓ[Fٓ6-;`P%Z߅)ϟ=ro7M+VuXsE).nѐ'BZҐA뗋3' ^=R[MϬ]=LBfF`Q0Zr1:Z#g @IL%+t!89T㜰6oGtȡqK_%RX}+>f:iX(%I0<2T #,qf. +e>jRdTHt h,P%%&\x$s+˱#Z ѹhW8)D=&\b!ӡ¬/\q7Ńy׶>lFLZ9'mȸӯ~mx> ,VRoa%H^ŠZY;4u@ͤ^V$ iEp%^fgTs#&8(!7\I[8|)\ZPH8 +dyDmɯVLаHe8!e8OhpuL~Z[cU/X./g=nS{lb0 R$ѡtrr qt6;u8lR͝WWNQ6CDxBfKV,lEįMD`I_4\zI. Эyo0VOhd1at9LXIňHHʂ\_ |BqJ5>#&| Q`bapƶc&n!H6\,yrP0ja1!?Q٨d7 [j{Nm槗;fU48`Vt9䔇KIsa: &|INJD)Z:zY>h8#f`mFCbOH {'KR .SErI@PXZS1T:r¤ -rcD8PWTTCM32.gl6csu?;ԴNiCv*ŅP 'c:ţM{ ) "I-}'Mvv\\vB nWlA ř0 Y;7IAK{vqڀ3 0@A'sO;}7P .CZ$ۤj$WͮN׏f+[cK~'O_y6-g;F3:y[rQ%K\tt#duv+[7J/֜_ܻr.=KoCϜ=<v? 0%_uJ:rgk7x遧^x_~^ώ^Y:.x u3{Ct#\:{y]zs?}#}wjCLU%7ūHS.=uݻo׏>g,y>'SҦƍVY.qq5^9|n箟O~rutn)m$Z kGwu•G|G_|>7˯ޏ{Յ#w&w̄jZCi56{kgr?;?~??kyg˗w_<[gK֖3;B VHjӋ'ΝqW^罟}?O^_'_o˯__y쎘`I>f ɹmx>v}>S~|䃏g_}oz~ ^e/ݧ8pHJ>I%!Rrgifuwع+w䷿?/? ǿ~V&S`̘fSRI/=Go_Ώ}/?ѧ?_{{$Eb<Ēlm=y سß÷o~/?ǟDc ټz`U2blc]N-;w'啷Ͼ/?]s<[XR{/^vG~?ꃗ_ܥsk[R[tqL2!1ՍK>t'n<3~?wη^o}Sk u&d+wG}__|?ɕZ;"fZBiFʭ'/l?}^{_}G?}G?~嗟}_|񧟼\,)MEj#Il\|G߂/^z}׿㯿}򫯾k'.q⏁X1JULCF(bneGz_}__>O~ǯ˯^yݛ=[lX Ycʈlx$"XJk;{7|W^w~__Gӗ_}g/zӗnD -RLƊsJQ"ӟ_/_uO~Çzn#WH{ύ.y5C BzTmuшE~ܽuݏ?[>-yp4EG̸8l\MXDzR:X]=o/ӟ]ooT[T$a"p$OBi .V;kNx䱇{~_}_}_g8{tZr`~70RȰEY)EΉSp+W_?|׾ҋ?ϯ_;rH"[sC6{8 x0+yDƑWo>{/^O'?O=xߓ<|z+tK3{|srh-E'K|7|G{_|<¿^tf\E3FZHeAH;Jl@)DJgqra x3Fؼ~##uvr߀vBvxx/dC91xAP26PA}r^#\*j'cvƤxsp!e.Q͉ҬB(Vvg85 l!* +)c8 cs\,l@SB.ޙ\Ԙ?͈ .R<av +i63TrQa` Rcx&KS%/cb&(hEJ x15IE498@Bne>1*.x0CE qG5bdƄ}#;ǁ 8FTq)7Ib#Ƭ'[ Ռ^.$aKP΁7(rRX@)F.\EA9ʄp&4O <ZP*fI37czWk|a&Tq)uJe~`jq tQ_ \nȀܜ͎\#6l͆\ xȈǬ((̸(7xtvpxDlG3J81:iC +!ņ4ol`E@4Vڈ +&LR]74Ch-Z^ @5)mЀ Ry:j#iACR|ֆ)CzF t'`fɈJMW mpZo`>q\u*&VYu +4q"R2*dl?AX!W띴&Iz,rŎ#z쎃 w!ͤlT H>fäҰ58n6_nfb=BE,8dpvұ"O2.$r %#<wHAsT6B4h\CzlŸrqWJ6vԆ,#8HA9Z9Z=m;Ge}ðV +Tr]<̳05nۘ,q͈Wå&ln|Bc3HY,F "pqZwpɘN۩k.ʴlTǟ˜ɘ`@lt0#ff4w9w[ڼ\;dPN/yRya+C1$`%tʸ[M EYEF hr*)7ʹc1jqް/TIhztJPaLm#LvSfSCfpOD@m23gpTra,sy7`l2IyZ.<  +_،/TM.bA`jy#f +|LQTdD:8fb+͟w +04cc\"/ÜcAɧs->S +&h$5oj_n/&D[w+XsP?n]\& 뱉0K9| +N.F7.>eeb:Wbz>[cTrǰuuTmB+ǯAQR>T^6N|h|Bd$ټїjK'%- -)B-37uyGe.Szw`@cܺL(?8_•DmО䔕T|.&M#Y.T˥}4-ZpA_bI|fBcbӀa\֋Mt2l܀ 7 |ax ס`llzȀ}sȺo5b̞'PMF2F a Xp1GrRXW,N_x nG;tA[`> ]x0.Gdr xIZϸbQ?CJM:TYi%7-z.Fua!i݁CfMDx`aF`* 17/my H!Ξ͝uGڷzOAIDMH5w,>uH",dRK|aL*vBM++8ꠝ8%Wi +\Tcn O-E_Ǧ +#3&dKTۃtXNӡ"B1@_W۩֎R۰QP ^a1\FꀗFk%6!亘]K*o~Hу:΁R+UpdXFoaG9`N&MGRfoNCZĄqYAฝ `f3sӨTRӘTńb0pAmj! tkja|܆K8<-A;0GI>V??8j9|GE2JMQc𶾓t]LO +{|~dן%*h6/_{|itsu#dcc6`']BUjreͩaOdLjcx񱖜[wl81>3-50ǥRn|~XZEş2/TWW)r1G_L t[*ts 8$vmJj,iJP.6ss숅$䶓J$֎ p)Fm48θ 8w|aSQ8f'fcDXrduJc .UH v=ag [t&l֫NJ@ildQ>e&V\cJ-!NzD| &@2`I.FI!~\>K +e|:5y2Z݁${`SIg2TuҀI/ёH(Ԓ^DwFӾ1=:uCZ) +E,%ԟ X?R]T֚sB0|+Wdw:{Zm TF藓DŽaDlggõu6=)7^c)#Սdpۇ咐B}Zٹ?JظsCFh'R?2yCT`&A+ty^ؾTiW.ґ{ր "B*R48g@ SlggJ9b"A "qx_NiT}|~n/˸\'^ ٨а Yu?2ν;MM |u@#Ͽsq#3gA`j3l4n /t1PZA$V.=Οkޜ{<gߨ<Oi\K'h+  C6`i=߿u,tذ +:^) [)Z|7`T\*Hd{ 01yLiKk)дv!$:x%=\҄fL[hݕ`2joZRi)xc;;ggR)HYp@v4-dQ&(nE$|JU3:h:'ohgn-V\}:Rʊ5vWN?y*7伝MX)˪u#ͧE.9w4nq1; :4E!|gu56Dؘ' B)ӏDscdg΁ұ2kťXn= UL*ybnk˕3>_?u@Oҳt + C ~/I1AㄓbqI̲1+8f\׎\}vfFub d V0'}9Z^Դ@bN&l4Kكo96d&_ UwʖZqUv\90dZ#< BWVfv572*ɞr>rTl⡚R 6G_dK _Sa_rDE`S*;Hl! )S?Iu'x7F#mYT{ LVPuj۰ ]ӓI4D4jfv"no~^Q d>|Qn0\^-\ )Lgv 3{lzB%} AD5ы+C +a)F"(f Ҡ(Rū.p;&< ѩd{ AN9%;ŧ{VT +Ǎبu:D"j;А 3#jiÇ}y@̨G”[˻PZ ^w3T@K1:7 ):_mRn +(\r&?d]Q4+ڐ:190-Q]ҷ}ظ RaSsX &ڄD\nȈx<Lހb zz,?#]P+|vϨMD)X|\ w@Lgn>h+Y<o^uc`qzEZFdKk.рĸ`v2>\!sTbuk03(/)1MaM>'gP +T8oo㕅来^zvU^{.;ȐM"V\.6oyǼA a|j1V]_E &k[hqx54P㏸)aE#g`  t apbR;\lj6>:j> A q=d%6DdEzz TYE䜛ЂΤ1Zߘ>xV^蓋/v5>6qf +)@zmOp;=pT N7F,&T/Hv}[GRډAґoɞ_gfVo-1; *}ssgtyJpRjeż`phpOx8\)iül@\-0BA).Lc$@=DZ}N?>6 '] +v`BNLhKtQ=s!ldv3n1gCfT!596 n m2RnMx;UlۃiLQp#XHtAU?6u=p ^5)J+0GWF(\+bJNB-_ W7dׂ} &!iF0bԊl7߬04^¤V;G^!/7wr孕k䖮19ER0ۛ.^b5$}7FA5Vɍ,怰x=RIzʂ4I{0ն 6 epNuSWz{w;>/_7|<]8'"i:yf' + `鴤Y}'!fIl|rNB0dH]5͵sp /Vjy>AWtu`'_q S:,P!ԖA'VB||iBA +rYٸnpv(BU0Jٔ/JD$SZ],^zez+1bz9^عƵw(}8%"RZ7%$Ƅx UHpO()'?MEu-?ᦀD@LSbhf@nDjKjF:.Dki}Ȇ|,ĥHHYZ\kM+xqG "0tς#48q;rt+>  ARH%\}-#0 +3Fmj;ȇBEjL/Lб:ZF;b&y8FLиx}D[Q7eAU'Q2ZT֣MNoLmj+V8`r^Px1{q$6j!@w +.fxxl\SW*!ep [< Ѐj!ldr/%oi9^B3cjCjR(i=eĘ@.Y{l9D +ʹW5PiF)9)Rx:eָ{Ι!3.4a +0ie }de$P nl&>ڼ,}2<b'\Ó>WSH)S& O )+DDzm;S1̟}~W'fz^> 9?!@f1ٽTX#q)kĚB 9VQ!ɿq|{qŒ:"&f?;P)^ݿuO.<W9 Zonޢ%'A*Ǜza$&B +INK@ ݏ GIjQЧ2J[=̴!17z{ƧS'dzK\lh؆h."ƣ6 k\ xq) ?R}2T?%hj̙?hc:"'+PScVcbf@%*u*J*ڵz%#hvf:j B39ʨ׌vt M& 91}lؐy Sr``3iCY%cAdTSzKΩ\RӛޏqqpF`C򢒟'rK8-_qc сL8! @B(% q$23^p擳_M8 awQmFe"SS+{Pʄr*'V)*ܱ!#y#3C6x]T }ۢ#%)3%=}r{֝蠟soq:*eس8rmԎZ`ف`w 0JQ+~"S)[A7$@x U3ct^VMWSY%d V7@ X#BrՕRg؈\lIѪZjouH +zkxqz 3K[_a(m~q܌NPPa"E\ZW:"r[^ ݃;kWW.*׿5`fUim LfZ`73=2@eF1A >nh;qR4U#E3"{ +F+ٜp dmpnދ QP`~́(ZD|cv< 2BI5B +:mO1M:'A(Rton_!="RS +`Jd{\ *w`^Dxq|kԆ9 Ah&k^),֮Z[ƙ~F]XR jZٻk8lQc"2,,OLz@`E@Aڟ*v6 '3͗>//rP3#tSz{Yl&gDς*FC&]ܱ $>, +g塂΄N6Akf{ *.Z xп0X5!/|t܁h $OŞ}2[[s3[˗'./˯ qe `w?zzu?ȴvoZ8ڿFsJP^6مݫ˗IDk+Z]g.&=b^0xtK~BaZ \8w{jk-6 [z}A]2'.st|O/ᶟ1|/,5}f@]8xJ_P_ +(?]~!,/om\y>w$X] /]FnVCD)4ĒY%t'[|YXĎl?Y_}؈ĀБ*)'kښ.~-hw!;}!^ے^~Ćy1Bk`Ygtr&;hc|'{_ +oGDkwnz=a#>R{o\I''`/':*Oa,a+aGT7FJnARJW~$Nytړ{[Rw? +7}.kK  1<=׫5 +WfwZQ[$˥f%hspUs:[7qy`0ZcϩԌxrTh RDJ"EO@Czmx53}Vҭك¬Vomߏ4ׁά]tI) i\΋ >2Yp6ؘۢm0=WH9ZpyN׳3;[-P<@RV73\:%0yV0, )5$Ncrzv}3{+ 3K?7 &OL*gݩ{lھC&3:2w͹o*v?O>FF'|ʸWN>$j~˳{ + 竫W + Gre\k'g_ztl{λtqiZǵTcF4vQHB)&dGh-ᜒTkxF;<@xŌ캉43&7?`Ńf{jqP/섛%-:Lb +) ,6)'FO;_[I/ R_8i5qaqwN\A H*Qb8pZ':rf dSI*P1RY5w! 03 ``Cl@ Mzvgt2ٵÃ:+sOw_zc~tsMUd+[_ܼp_LOi-Z ;+ۯ|AE1aУ^L.xpxʈ1;5mwl;ÌDDONy1Vo!MRp&Pq)Z +6h2lSHlHvSS^{Wv.`EpYUn5j |fӄw6BRT+Sd$GɃjHL=󊊂&"%ڨZe։G0)#ƛ( +za([CyDib K$PМ̮sV:,5W 5;7\#)K{p Qduqz \UOEJjtyY]9Zӝ;7,+oyoX-[ԅxRhq/[).9i.^Nn))6; Ȥ nzH9\ٹ[X7&< h Pҁ;9?@yy7 g&ъ݂ lHAgw@bRS 8C?h~ +N"b[Kd+() \0GqLeF73dFlߜpzp FNlaV )R b<nEJ{%\A v0eBYFMȡNh 62VDŤ +:`ci1ezTm+R*%:Ƶ$M&7WvYG¬l(e>*BUz0Wl،Y e>ńIJ^^7F);)-ʏIfW7((aY8i'&A7 o{w-tl?&QݯTpiEe_{ޞGܓ.qP\ ""I>N7}d X+.`n + qVM/XvbA:TE,&&cA^rxKxw=*% {K;7 W_py_@iV7e~2qR]e@X6)E>-֖KmDM=tF'=f.+L:i #&tBxBJb pCJKIIR ,&zZvMhZh +< Ǽt`Lv&ѪHR2,,`Gr!@€LSjp1TVHDWO!PZ6 +#V 8$D*ю"Hhe2{{vD@.rrJ$1k;!ý$0*JkGrϸ!#u^Fj0'br`::1:=5Zag(VĪ<Ąn]D>>"0@!Sqop_Xj8{~|}!&0`a.LiY%TML JBВ|Rڄ O`dHNBXMɶ0-N, ճGwpj8i?uCͅrAP]F$#B51E5ywfy79@/с,=C,l6X"x)%Y]Uy%ӗD5E W^*ef" Hjвz18)BIGNb3XI.rkG.J` + SF'v7l>$:<"C>B7y`1bܨ +:$jTQ*-J:D^1يt}~"1:Ŝ2$[P;6d3BDp,N m^ٽ4" '-0#+)>a:6<9N1Z Ҙ°s\&vHu[<  >D]1ZՋl^F8 Gt'3}ڊ<#I$-"iDWf?KKrc.k?<`MY/w f0?2b%Fjq6//LH/B2L,G2 ->ы _va'4ص bRm91%UIjp @1Z0=.SNW.T9 6HC@Y"-'`/gq'>lpؼ#~pV؈u⟚^ۻQIbu./NJq"a$ ./&| ^1#E~hz0F + ZH9yj;:^8>9iF'-ȨiЈsW™(HnSk(b6 '8}Dl~rӦ>9qlCf0VQ+^48 "@ϥ 8ѭk{" #'F,/͈1QK,+77.Zan5i2(AcP(@a~z>t!Ç9=8Bx fh5pч=Ç,l!O=`] S %B PNȠ>49%- zpF#aLvlI$87?a@=$7GZXZkL)?|M6bËN*K.#h&'l^cȨc|sTv=H؄uhjuzUEɦ\J=6eZ}x=6’͝p‹<)`4`σx5fpxr2>1{i1&,@dG-nԨ䐉 a*xz>fʄ`%329 ;\c3m~"T:MT(2f0A>5͔Zm{@Jqe5 c6RExZY^Jb>E 8;0isy1d +e]r&ʑ03T(m޵_ZqL O~ +'Aríbh~*( +k3{7o~O|B1!|bx.P"fYτ>R`vNW@K|}>tf׎F'42+v`!{>~@z$R(Sr{Hr?:WtR4v!ՇJbJ +f) [/l۵t9Ngo^^ps _>5=]cQrG08)b3X.7Z!kەgח{?_OmVEQ~BYd#~(ʥd0;\73.ϵ/<7㻇o_=9Xi52nq3rre0c'NN2䲻HZ%T%d.Fz4c av[!,݋o^i8Go^{w{W[[,vyXIbg],ﯗnΣso̾}o?~?:wu+ au(DFZA__|n>>_|q_/>Ϯׯ~r񍕳d29+ \#53%g[njq*ynƃo7Ϭπ=i1[]O/vAΧP"Yks4r^]9?ѽ;v_|Qi/Mo"e`T"TANu{J/W޽;?~O>_>'WvR +u;\&F $d^v&Oߺ//g?O;_|Vny}еd2)k@(0lDbBIyreڽ/޹?/>?;l~/|ڽXX1YCMLr]VcqMN瘣Jq=XH=7/hWt]Ɯ0GD3*Ik5RkS{;?w?G_^baaE-IBRa]Bng~/߹+_}p?}Ӈw~;_q\Lf9@h٠O6Ͽy7+?zo=ݽO~b1<VɅva)ٿOV>~/ٿ{c~~9ҍ!ux`q~RanNUq4HH<8W}o}lg?zO{wkċ]7Ģh$ +/>_;o緾|Ǘ˯W>|jiDx =Kqv^[wX{~kg߽_=?}?~zG~.=\9 TD0A F5u2\/NoޘpGOg`_~p~pӗݫRAH 1ARKHQqbvޯ>O.?앭޸p& \>>y޽~_'[wVg!p 3x6)3yyQw{ޝ_Y>~}c5_)r8*H%b hƩLB˭}}^y㣩G{+kvA۽-hTDMtZ!'V~o?=/'~៿~x7~nn aℕp9R4Y{i6Bo/_˳t@ \BBKL-5KB[ Z{kgJo]?֧7߿=~z9PɌ1!Wt֣r3/f-՞\=N' +mw2u@tEq9AIQJr,Jg"JZݙt'//sӟ|p;>{wP܅(9օhd|\)hbYi +Ǐן_/~|UH!anuh<(J |ppsKg>zzZ'حfGSz8@Dx{ihg{:=zygrw}*Q)*DhȉGa>M)92 M2tXI|TV[gk|RB[c\ +ve^B3\v[ڟM]]Ms{yw/KYz~}4 >8&QT6:GV~i1o[_qsgVB *Qm!\؃p䫱.&9 +N~nXe11 uj1gJ({=,A-b?feh +_.a\9X^d$YVKB6Nr**L Ɲr +faAwvH]'3e LX:)wath61+JIi> q,HQ 7 rt^ Pŏ&ܔNJ P#c1tUMhj8 2fjoډl+jq|G&!+¨}Fle%4 +X.̥d,)k콋/];_UD11&.22T{.:LdfY.-݆dd L'ls/OBF=cҁ(h)"JisC.6n'l s_b 1u!L0[\p@H!'C(d#M93o40:T`"0‚H+^+c"G0B1!I `CDP.=a#oƾatGeEZ)xZJ + $/ӨЪRٌ[1^TOJ +=9UsE `>#D!tƜЉ CM!='$Z Ufvh}̯xM>.e5BIdO@&BtR+w'#̈́oH^$h-hR( x=T&Bl"%;bA+I:Xt1It!2 3%"| @ i5ْ#EIV8GNqcA6ܑg<|NNx_wMxE/g3$;q`N~0QВhN|p{2.dE$pl|02^>)U JjwfHvu>2#2.#{Y}WooC9rZAWڽ$zӋ^H_j%@ @:L4DwLs2e4f#rQ,sVOg4rz&țI(w+'J/iAT*^Osnk;OiVEP{g҂]ks 덂Yࡡ?,)rk4~Ԏci=+rϋ |hu)8 JJ¸'*v_Pk[l4QYTOӈڹ@6׏|=|Sj+(M X.zGUBoɍ4Y{W7_;ozs?HglS)ҊWDzM;li.K SµT3;Ǽ7͋UW߰VOtDŽc w9~.cu'_24E,%Ig݂U@"URt ^Ҩx;\Q>eܣ^ʲamPIoAQ)D{DY4;5+Z $9Fj-CڴI$yFDS*qTHɢaˌ5&>e@4qG[#B4VAgO,(!y%p^5!ʂu|(-ԌnV\T^#fJ cc)$*"*-vVSb#S&~ތɂc+qJSnR(A*}~ՎoCc}t݇qAzƷuL^ n(派~Ko%LkDsg6 uԽq҉Jv)Ȳ\)dR7hg4JG3ꞻ㧿Iy׃O~|~Y|%iJ0uۓkǔ5("&I?I*Pn|i]>L iQVvwHBofwO{Ϥqr{ʾ:o~obtHqw!Ε# '* ;{sSqRq\y\Slͽӷ\|C0mx5iڱ9?J=`1\k?A^?y$_2:N۝ǿf]֝ޑQ\N^@k,ű0J;)B0~eWhk=zJEўSzÏ\$'o?8u{3|K_:7EmZz3.?O~H*]8Az ~By~ٗ_$o?*lyw0Ϙ'z?<"Bh_ q3L&mMoEmqh/KCxӢ>}c4z:ZMIn}Zyoڧ:}w5т쫿1ҎSܤw69{_?Muq!7^|;go󬇫ѻG^@:{)gjRjs@Qą ]r$LkR/*"W>]π&*+jhN4NXY +fʠrZŸQiJs?~8:yoǢ;=y3:}M[}pq//og׿~ %|e9LKK9C}?}ߎ|Mx#}t͵pPl]ۣZ_iGc̞YQUOZ;Ϗ~G,Kkoؔ*̟?Gj5(1? :;r&7}ݷRɗx o*X`wxS} >(XBkͯܽ =u\_^_%[w_FWVzG2GJ„xgeJGvw;}FyGYCp71HJuD(@Q4MxY{a++ >V,1J)>$Z'@SSjZBm0C[)etNJkΛc3|G0Z7|CvoPQZsf|J\hعճ_?OM,Q;/7]u5?Zی=undvVPqg)-`PRyGW〰7Ӌ RVGWv֥=ܝ?7CS&wp s3F + +n 9zeF Zw}l"EhNnJi8'vO|c;B&PB7xZgYypC^0w#Ƌ%07y&Pw #=O93rSIR*;: ٿ[*_Ki3u% +viB#=r`/s}{a.!M2JQv|N:[i{Z]hPQ#Z Uџ)ϟ֨h@Fr]EvEcᢚd_戠Icu4vX +Ahc/xs-͂F”fIѶR߭ N:ߔ:I,ΔƕT9`l9WX;>þMm|?VQ_ygp.b>rwiˋV*f__Ď&[>4z;CxӳG^cgjN\ӥ=T!BnN_az'+2B;R N[Qf2^}x{c:v:ץ&ԥ!$,J9Ioӆ=uOCw 8;(gW; WB}5Zh ur|&h{06m⻣8|ۇἚ QwڄuʉF 48kч=+@._? 'Vyx=}-crzPvTk<4ΰH^^̯l5ɯ$j"RK"oK] ?ËPދ:@A^WGgkqƾ>ZHqѢ)C~.w˜KGya`u7z0֍5NF9a;i;b lokEhTJJ<{>=QPV1;`!]l^Y)-N vn> +Wo R/EqpNKvgeRj$߷GϓNsQ"]('q!rFH,yF+4>k*tlI; ѥzHHT҈]w{ksu,_ϊ5R8B҂+4+ژ_AZAj#g`xv?"Ap`SReC>'mxgLVXoILs^^WvV2]q"jps %#1;cƌ$bJʞ:q^,Gx<#=['_z3d5dͻ=郃h9z77u3I7wG +49Ξ7\k\dJ>stream +,[ +ML r`Cu o|cEw<8zO70v8U`+ќ%?YDrJω'*:Č1Ht0>i>v|ۧaôhA@E:yxïIw<(I~QLn"]XL*3-AaTXR4N^}=^l]W 3|F>dJqˢ'zKeJ-y Z/P l2Kg%;g[D:[o|\\&xzG6aӗ;=7F"VeG15WB-X;Eh u bE׆CIܪoj猷 "rf'&z4~ +) +!Q\Tm.f9?Gx1;SIˋ-gh *H/%!𒡜PBUJKm]ǔDT0(kiѼQBiF=<1@Ӻwn ?F ^dz$*t9&r|4njEuFL\3}Ŕc -uzr5 +\-Q4[TM Qy\}{@%A?yei + `j59+nHL?L^7~Υ>"sZ"|i:n_lX^$:0)aIN9;Le(901҉vs2,8~e›.}D[v0#A)lv.zg_eJ6W0CTV71~y>u^-' E-mvfZ_c`3C,/,e0+ޓUs?Z Oqqz%JBd3'ftӤ LkhOjHmHΐ. e !Hv!PAzc2ZQJnw4OӔ4Y !rkcwEڳؾd>]iyλs!+_Zl +6)7+4f<[J]G'SvJg93:xso'ܗ')†*βnArP, 8McŃguϹҸ V jl#I:10_('Ui{,Vhoxǔr 5d/FZhdg<_Uk{=4fM + ׶P-vRs#+Q)`ᛠè}XVPڧ9mOrCy)hC S&".PH!\"B5Ekǯ/6`L9'H{# ٹd1B;`PlVSB5xwek<8-E}̗O6rZ5֣Vf&ˤ9CE f*8¨bys QL_ +a7{^jZ$'0=K9҂VBtß{Fneĭ HX SMV$CҤOIʊqJ @Dab=O$S4'9ݵ#B)+HR5#Kk_ҥմ/ab$ eQR}BoQրvL j5G/{ɭn`S2O `F!玕N ,U[=Ί)]M}E!g6R(s*76"5CZT3f4A@.jLqk?࿈`9i@HC r$"ʲ>@X*PoO~7O!%&TUjvcEw- +j = ˇu9\ D,_? Ϻ{JYR0ΤFNJKp i@P_q6d7fX =8;ۈc~Ohݕ^*9 +EZ]6O!쭬A(F2"_cqUdRPTŸQ֪?O Ka>'4@D>Q@"YIW Uݧ.HɟcrTډcJ# ([y]FV$lb%!y b0 !R?N>W:#΀UPy +$JZJ^.a0av!UPYɫ+O1m[*'A^IU4ђbj}gZԗ*Gr0((eH&Ԙ!zrX͌j$$[m>O@er,H."Nc73*·$2 r +h$Dcn g/~^|Ƚ4@n,e0Cyn %ô`4j-mI-H,B[.Qj[Ki GH,t)LFHV&=ThJkHhP}=&(jSꀳF^ + z=Ɂ*äf"@u6oMo@%䢾"!Fnm A]Pɳ64 +ry?*܏QԄ(&B2ڠj7/5j^ۘ73dHT2G-R냌d 8Tnc(4 BP3ZMQD$e!҄U`8h($B W%7q bR\"!->tTH)SB$/1^`f^lDp c+e9 + hX(+T9HWW40v^YN1:"ͩ8.σ!<E]qzOqt"EB+  +S<`$zΈ]?W Hڛ>Ia9oc~X{i26jd򯄩T8 +g=  +vf3ɇ +2ZsHD(?]Io$Yk qϛ鵸ɽ8b-̄T NGmʀ|3YEkO#~1Ƽ$Y]O!PH."A]Sg@ IK^RV:X4UԲmS>;Wm2 +\,=-41r~ +WARr -wҤ*BE.Mi86F/NzX0"RkP7ǂz1ɕ ?NX?!]TGD C(ju;PLo~QO%(NJ8H:4!g_1:y.*Ir@jE'ÔSOvxpN:a&0 2buThk +Juƣ5}JXJuE a\2D0+O+EF[XBE?InR=HvRJ aYN2d4/?)pAHrW&J$Å3|h{.q)m,CԣE5/7R\ tTr+i5RzPtF } +-[i2FaAnVrֲqDV(nĊaVSfp)Ā&g_|Yҥ̳_ #" hs*n#ɂK@",WbWCRXI)3B[mfi;#qbm+}l= ikPqzzpCe;~yiH gx^~EgK͢_,V_|gɓB">j98f eqc[9e-lHczč.xӧI^X@6>^+%8%R`2$ Aw%*f3l .'kh16d*DVA1v?A0:7bL +8fO2fߧ1 J79qT"JRXIr+1mIh)m\re5NDعn)JYkn`v`N?cbiJKƒ7Z@7@<3|79="kr|H(Z$#ː۠7rJv^8SW:[`1w0sj#eY /;a4 E.;UA* 3@z'{2l6+|8l3 +wi0~ 5w.gJi]:*i ;Z0gQD{r~ow/ޣ$ aXTy9dQIe:o*ʸvAuv!n(g/YB$$l^܃-hӬG)$K`;6MpBӊr#^Ԣ(F?{O_$ +]E  E$amZN' LAhC T4Ee0y%[-=jtCl@@AVFrpCp 1QO@,[՛jc +v)%GR'PNV$-%΁yw4[SB|LH2(8i+R r=-&zRLE +gJXm4/ J@nV洞8k|'C ?bZ dZa^b!6iUJR$5L6U.j#w>%y;>e\Tv_Vo1c + Վì—l`K%h_?\(4ti`!gTv\@߮5VN7 r3c}Td!^d ]DqkߗFfBS\킗~Q!aLjWU!T.}{unwDi@Nl&)Z˛6+l-Z NU҈&`[ڣl>\P`gdkඊaPe\ Յ5;ԾL00D9,i+{z)ئR#1_w7-u QU< bkRiw㨾.$qUSKpArXFyT/,+bXi9ƀ!f~pG\fN7Xw"6)a̍fZ+hALҘZ\?Pu[956\ x>8 f  4 ՚SۘŲ'|YpGQ@!"s$2 + A5ѕ1ˋü<&$ײIZWSRkR{-/DlDRg}Hqa!~p j㏷4Pk h8C):3® r+\De%g,7{~ bU,og?js臻9̩)Uz{/QW"4&u%[?[Φj=Ɓ~(H͌@*dEg/Aap t5ᆊN\;+vϻTlg ƫ>OQs7}H0PO -RنDBVNڃW{z$K RERbiJكu?ci'g7rPdXL5D^Ky+RK-|1}? QԀ׽0*}/t ւ8JWEQZLn\,N:+a%#bRwf1,R;1!>PMҥDX [EJ`\h$.[I1%Dnѥ}P03FhNXF$0愲Vb8Tb>Lbʨv%[9µi^}btNl-/6oqs +QHdt!/VVܟWR"aZu+¼;Nm(y_>o2~~? rrut="C!\S] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] r] DHָ>9'e?YL ޱ;GDZ1&R!x/Mb3_//h o:|'R$3H4$I$#%$Fq$O"\*d&ST<Ot> t6oD.߾?[Ov?/mn- @jӟ_&>FO|P?N!Oc'2t{mc|X>Kxb)"_GRpǃN/} RMI')+L˲~?Ez1mDfjweIpJrQ.`$馩R84{ݴFIưH>a3-š`4 R3B96;HNQ2b;AsJ?T#t9+4ɔ1I~3-1 WW4YUP% #|XΤΣ3UPҮҾjG//0s5R y1QTsaJf^!L84z)'R9JqVRZZTVN,*,SΪI>Z0Uaqswo*႙Y)72r`ƋN \6)h+Iz,ZBTLlr7;>>ƖcZJZЇYi#rFf9NnfE6J/EQk#%(dj-팸#d`fzfAR뜉d+Ċ*(gi͌]Iq6b2֘zZP aFN-Ƚ,Z}=I%\h꼠NB7#l iJ "8JaJ_ZnƊ&nLc|[ 9B"oĭ\GHэ`Z_km#Rf_v.X_:mlʑ2J?#1:2&H3kBnd~FFqz2R  qb)\\t9U\5BŽUI0Ǖ!k[9e+'oB9)EXQT +I.QDJQ>-t-F?ȯ'd^g3Z9**GJT9nuyrd0`8-Nomq\㈍Mt,^={Lk~ˈU7QH}B}"i?S ~tjމNXB0aJ)]R8)3jtOUl%U}:i`.,9,Iθ%K8\0uiiX;Ҽ"ym rvՋ5i=}nHnLphCs>^ف(JOm/]%SmcHrS*- +m?y7 N2k'r~IZDn:QRreb! Vhj :p[`2Tv% 6X +ȍl< 0楋N<`k2`n +^"v<ᢳlv9;Qߧt2eTW{Gl~#9T6#bѷIQp{_zjabf=ܬP!fpڌ\ ,ȂyuƓ#SPqsl)ZM#sjF:({0FͰP*x}F&m9({B$>D}TE*>A5gּLO▗ɟ08 ()x CotS.D7U!){(dXroK`PP[wi/ta jrUx*\mCzՄޣv\sY0:xp9 PC!~&s~AߘHi1鞾F +> ⌤-~AF>>vbTN)2x9wDĺ>䡠5c@2#/($-<>D%P튋<*ñF(q}Nh n喸|XiPvPF;ś9/7ƀF=mg(#b@Yv3F}=Y)Мt ]"ɡ'N ^X܍k3.}M) f +f/?礦39Ovг.FNg]-Dĺ1EPs{O6&$A ^mE=7:mϹ9Qaa$tM3.v+<9Х2+To 7 F Z{.4+b 1!BIu'wY\n-DŐܡcNbI0J;93VDo~@sT\vRꄋcp*&5QTP-^M;@ؖflHCPy@W +X}0#=6#I7#Hb*=)[?5"-ڒRWGJT::w#t?Ajt͔hQ.}NՂ$a $ЭdoptZdR&WO#3NΆjaeL/4v9@ 8 +(IL³NTa[rӖlK,s.8I;5@ˎ贋vM"g.XiGd2 u]e o 3𴝚VòfX ޅ&&sS0HqЪoMEh[TT x9i:N;[εg]i `0T1*̤⹡TX +[tӚxNk*xKVT#mR?+`mANA %@ZwY'"rK"k_"*58|}amp0dBS4cX+04jmLtx*'_Tύ/|HLh C7)pd`[8u3.Twt[`g+`l.rI="؆ Wڌ$z껚RsnhGӓ%4=5(,fl9"6h +8REf+tJq2.Ǝ(@F8'A[0fprbNg@&<6oKf-ce3ʆؒ'͹9`!'0]NbA%O@AV`!8 cUyg$ K} mэn +3L8Ay|IHB-0:a82=P <a';`?Xm2q:Z2+> f +ں1$3D0?__΍/M{ͯ#2[;0C&H/T.!DrH',,*{,[ /1eJ6df+xȌ5dp P H^Svs6SNK$a%ED?>kTi1dL|h 6ַ3ePy2ڊbAB /9pP |ﴃѴufFdJ?"DcIO2$Ԡa Ax݅ZCJN:)s YS7렁 Hl5z9x8K"9bP-icpecLN(X4GX0f7A/X:&XdA⽑)V3:3#}Xu3*e2^0~ !4h0X#s"bW#!yLP(*QN& W+<٧e<=C~ !pSTf5X-mN\Eu/ ^ԅԒ~z47[ps%ȼX(ZX3GHPI';@0"C;r\Bś\Q:2X!Dw165|7!#lBeIA$@4`*S@1d_ #I+:^gʆ\'$]h +V?ϴsچ\xളu gEbd,(>@2W)MC'0r P҉utOԄ᠀܌`C2Tai| iE4ܲ\rE}0NO}3a6 })iG$QkKC:%tpi -Q:0%x, +q*y +]rKh}. x(vQ9D |Q~@ƻ2ic6K іXޏw.`,mpҙ9D ++=*k +[ s(lIg ~0شĥD܌"vrDh/mE% +/J+Q崃AZԠxa PD`IA?Bš:@KjAkgܑI`FbPr +>$*] Y)[-6zXNҁD-~ j<¬`~`F @GnJ&LIKh`0}'2@ť-4ޜvORqfuftxҌ*`RL\i=Va{G 9HćnYq l0 H̩xJAIV =vҀBCb8<_LQ]8;d?0<9 `AHʉ9Ϥs&Q(<&Ģ^" MCY)ct lmر5,O9AFu>1{9H[鎐LjR7biK + ~<*snF2+چΜ2@ܘ <9Q"KҎ 8򬓝usKWf}!YG w⚔_)xgOB.OgXb;rw]=pwϗB0 >m'.BDtOdDu\}ɻ15nRK)M\⣳n"jiq1"ݟ `nXu*ج\X9}/ĠT+u.=lww uSn&w2mWu iRπLj${wbԡ)$ B<` K&f4+WoNyXL^R5x qLƪ&5p]Xbw2]5?eŜX+rai?OC=ޓό q IHN<tiu࣌($i+Hp2ݐrӠ'ͨ$(cL>IoI)< icrSΠ *Rn178q18HȉAH@"}YB򜗟u'L6p_2=,4gʂZDWSp҂:QfxZ)4iex IK%Ntπ.;IwDqcPWdX¡/3rI"x !U]ʪCgs~&J^.ϥ4g0'yP[Y/5D(:G=< P'5:=7v>]tqEcNø2>FVlfU`~Y's螰<0NmI*JRq)wERJZAfE!<%TDdTrcoڧ;.h(890i MY(D8Z%ӽX -(]@ c JXTk 7&/R2a؊IP;‰95a]Ɲ>X2y_vaQu`یĽTɃ%O8g,+=':ڰYp,o JS6p(bcx҂l_﹠wD&"b4N)sX` )2 30#ށt + u%ZX6@Q:abC#r p񼛩 +x,_r `l]a*6%/abDŽR8 +s.Ǘ!B_&[9&_pM=,:m`xBl9Q;"Rn)1a`Ial~BB+$4]wOdfpMbI=:w],!$/hF&ir ZXb衋vJq}O 2xɂAĬ܋cЅ('ae|LAD롧FЌ1# Y5[X5SE-$Z qKlhO Vvb.`r5gDsVp:`(",*Pr l^vW'M' ^(P?K.495ԉd7EO>& .ʋ(`N[#SWOOgls%39%u9< 3H5{$?3z9Y2[eCWDlA.DB?̺\>$GPzt1;F`H^`]&p+W?Q/ρyĩB{/l8?R#rg+[%5[b:"_(4Խ KKABD:S-H -t'0 W2X);䬡،=bv쥒of?5Y9EgNޡ_ Lz<{H8<]})/X:~>G'f`H`lÍѯ=.NAnḯk +O Nl9i{wbyYIJk9(Or)^U('!cRKz'42laQ17FpjAMIP9X 'sڌ\XhRќR-!S𤋂g`~с%mPn,.Uh;kN9;*zh5(}~(,թDK ~IIq`X:(Ya߸5غiEc6rI\I0rz$>.dgr&=J$Pa  +Jp 6 ǡ]†2>U\͋~| =hfpr~23fMEK0ȯc\fց6zi[pvv#rR)t5w3F'I32i$0a)4(!@Ah;<1훲iߜ zᙳ#IT/j M،[tr`& [`F 30DS %1yx7swއ% !'*9BLa{!򩨍CR^jA*? ې$dxv 8 +S^"& k2#'/@mExp|opD-j{ &x#( ibyZф9_rP?'f]9#I@>Ĩ&q +VVRaiAځ3=Q0~SvnZIOۈ{rX#ٱEG(ja0iGOιglgr3f7k$M]{&l/ZbSBŢL>"荒N+N7XqPCpvD?p)IT%bv52듬aT==<޵c*H +0} R6?i U&O<ꎤ B׀itDT0hTw#LކeGt N'7Dj{v'3~a/W3tt_*؁kaOPj M1犳aI}A3c` ļq&@g,U,.I_0%q zt⓶G +uTl@:<4Lhs%:3$=/Y + `{ I+B)AUF7DSQ&_Q=yP0 vrN\)0(s{Xʤq +nz҄%2e&L)N§&ӶC:iM[#1 zs.` Q?9YjEܪJ=&36 +\AFg4eA4/cH" 4~Vf&}5 i)vb JJ8pE .rG},sbn0x"Ul>әEKu +{.˖ a_> $a%`0`27lPa|2*tc H4%2;{n$S^c&$nUV4Vc@l%)(N#>2aG4c0M{Z ɜ'my"-C .@/-7$ m~aʂZE_"Ď%*C+u 7)/yJ10e~IţeVssI`{ي &-a=՚B'gM cJM^nŚѤkGT{+! qpH{ru3=8'TJKi,& ,iDLvh"JKX]\a9؉UטB@ +΃G%:SDnP\%aB/_ma4&VvB#r+@xTDΌ*]"|-SVN"0/C7DG$mE*k~&zmE Esk:OH栲shˆs@Ҁa~DdZ@({YfDMe` 6a>"TpvT$"{ M 2 +&T!)ɜ)4b u.9wBqPpHX2he?rcH6L I $qQ#i_H rq0 3 )&par5$!AGE<އW|vEwoꊕe,cRyOwTKNuw2'-&(Aր ZT;4SrFk&A8)/r*k.7OeN&O'GZ(Zɗ7[2_Z7aɐTKbyɯŀX{$PH7RHԷ +U6L$$5eP62y6 +ꡱͣrI$J+oAP<,Tq_25,N" Js+HhNfFTBFKN\$sz E'SH<h#CȨ\Xb-H/oC~:èdoWUV. IokJ# L!Z8B8#3 :|$Cb QH*GKˉf̤[6Tw鷨UPZۚV"QٱPZIw!ij#Z ECrm,%xdCrX-XZI5v7o$lnKvx(뇙U&ӑ(4] +XA:xiЩ̚+S%"3&r{[0 2TO(顾J ""ׁDLt|?V[IupSVt> +IѺn#]ҩ>VJwDk\R %DOu]P,*7$/ Re-:yE֮ׯz{\n$G͵+3::TveGRWk>:硲TOx/W7 T\* [T5jDc+?J $5!;4pT\Tgyx0>e<]e\W^On{⌋ R*j) *׷+2sXy2C@1%<>[U&;VA .$"쇷~bad^/VWnkqB>,_Xϟ/-^kkg?XZLԃr b(4UZcC'MA> Ē]-_,]*Uf;P^KkRe#ݫ^Ilny,4AZfp.ps(sZChV;Nv6:[_j@U8o8Zx +㫉Q86$@Py +6gHm p+$;啫T맒8DlDk ʙCQ z=t}k/.kMh|G$Ry57<ؼytaSՋ>t ++W҃3VyyRJ"rnx?O=oE6y4;ȝcD˕-X<$H\Wkafp/VrT09)7j݈wnztYn샲?,!֝F~Ra|~8>s>IfNg;O6҆GH.G`"k[Gk+[l..rхgr \dm!_YW:n~|t)Z]\~^,- ȕ#٠'ҍDcL7i < SNJ+ryG֏VWAW/ۼm`K*ՆVtoV/.6}Cҕt{{~ΥG^\vsE&ն |eWn^(<$#P+KvhϲyP1|Q\8Z@ kk78t/ǚH/VVKgjhC4W`Ji||^T;;ݭgnބnJ)umypvGm/%NerVc!EKag=$h}Xcv>5(Bo2;0ETl$;6bSqelqUK ]y 3&[1$AkQ^Ο+._/]Vaqbp;KU+g>&,v?٩>wQپ1WVݸ]\ vNa+ #r=Y݂NduY^:xk&-Dvs'H&rsjc~w*ˎ4hLbЙ۟j]8~A:݄F7<DP@Xw U?+-mwr2liC&[+=JKӆ`{ݽg6.qQ)O4.\VGxu.=<~Q-PɎ:D7K 糃¹567:X/ěny҅g;wb͑~XcEGpr!-g{Zc: y>7B/0Qظ'-ʈR #45`9v)NV|sRwFNQQ]{sBm^6YeXxuϦLS,.DkJri u*ժ-lloۺ\:F?oʹ;vUn2. ]x2om᙭O?$[lUAJ$re#;83Z"7LVVBb*ʗ72oŋ^*n фRHVWV.<-A⍹h pA^FC}]^^LNk%=v@֮<7:~0PW/Dˋn&Bq)$hm @s;57.qAHH)-^/,]a+XJ @VJKTrnT]\\ AA.j&IۀA1o~J=TYGlJu`sbXOVǕC+g?v7o֮qyt|gD|7;_Pqaxs߂ʨT( !CAwvoyj=S+O֗"1rN[JqB{˴ ++׶\΍.$ˣʻ&-T}&f~mUPG ;!tRL}#U\j\Ώ/reȪhhh_XpS*Ux4VAζ6z."daHKόokT|eHreH@$<РxDD.2[8gst( M. S` +dy6;  Xm!V[{+,],Zo{n +_5P&gW^X^PZg^!'jk$xڳמ/.]s .CPAB 'f#ȑRYkBeIinH޼'vmFczqH" M>ށ<6VT{ڪ ~qxV.o"6l"jgTCuzp#Hxgb~M$K!ؕʥDcEJ{xdyhFE_o<*WdLP;g<Ֆv-^R;@5DyyS[ +KD 3͂+KVzZ:2]Jj$Z!驎X\\?߻uqvEGQIP@3^"Rgp3\k:bRXÇ)7PFO5 bX,|;o\0(8nuj#E$$/bpT>6ǫڊzkkM-\]#J`.D,!3nm0Xfne!@Ťtr] x#%knRr|oڥ\U .$UxuV~""r*h0Abc"WPbA8)D+.V2I* * O!;D"tjn"Ū}GHF6Tt*&jy,Z4zHFS/AeguW`4*ݽY7A+by< kN,D% 6Y_~z]FrXفr^\@^=Xmg=S#P]PZcO1O*3.|Ɔ:"\ NcT35 +}dM;/.oq6)7xbl:776rݥs]=U@kRliAփG1>ͧk@|K(K{SH kxi`x4E rMjlE6]0ZEԲ[HylhKۡD<NY}kbW_B(9H!j6o-_ +ce;"OӖ V&R`X]'\]EdcHgJvRt2 +њ͘A,J 9J* mᨗN@8BssL.i2ktQ>o1w FBn)Qklsʙ:"!ҐJIJe"H{)̀ \&rрQ;\'h]xTjs9v gqrΏG+M\3T28wXa HIQI[-8xW^Ptd1SRgauxg_ЧK|?}?/{O޸ ͵E'|X[p}y >O^zOГ~7~[&"|Fu€Ju2:8p=c{ʇ>qs|䳟׿Wk_~g2t0HڈO2N}̵Ëޙѕ+=ڛo_}Y6vQ7dj g-~zg+]ɏ6/?z{O߻zbHB= Z2Z;޽zt㉧>?o_K<3޹ZmQ:EODq+щ;(zul|#}֓ys/ՏCO}QPRn V_VrLuo_|pac.<}>ů}w{OC6g •|ZT^?~/|W|?я}~.Qab՚ōó;z_׾Ǿ_{z}/]~BgMHt(,AF ᱸZ _{<>w_'___??{ᛯ\| !*%&َVxgmѕ[>ѧ?׿~w_Э?o^|釹5$=0-$z$&%[l/mG>~O?|ǿ~շ~o}oϽ̶hmO(Kjͅ3ǗǞg뷿׾~O[{wcϽY=SI(+^m]-_uOo_ǟow {V)Ӊ&[.]?>~ӛ旿嗾[88o/$K!&(b*Қˏ|'SK?k?k_ß|^~#7KbJ57v9ַ}or;o{G?~g.&R1w旷_}g/^}'^˿z+ڛw;[o旿Bi8--{o㯾ɷO/ޣ;zŏ2 +̰C]s̚ɺQxm}|vGo?y_o~W?wur$o. 'h!4gwO_OO?mvFҠr*zoC@]!V<}oxϾ'Ooɓ;j3ghq'>,ob^_?9х0[u8c1B~D s0.a +jɒdA 1ʄ^a ڒlvZHJ8xV(^`UdUR3|]V#OfE9O[1 +h倲D!Z +qIkNDNy>EV,/jAPE^+ђ7]t +D8)iZ"dqR Ds^c5%ձO/rOE߽0g5A "0&b:ٺ bBH$@aŅJW-G%,b-Z)\&IN{x%&twzp}Y N)ϠZ2jpspDPL:ȤfwlM>u=:]PCi!ְht _"Zr + ɸdYCʦd |f-3ĹBZ0ym5ۼ )%p!!AY]5dvcL>XI^\1Te}tHN0N@pa=g ĜËK3DDA2{h,9Q|)3yk5bmy +ewq\ h3IɁ)KiHeVQqXXǥWhcŁ{Ų0h!Fz88" ?]E߂@Y+oU[pQL.=Nu6S=cY}LLX.U81De WX1? iP2@շf,r0Å<.CL2[δ/WM^k<PFT&XK`_p@nT;|n`F >Vr" L>ƁD=xлB cdT2y'΍Zƛ%8(e~B/1{P1i! 3$G.k\9(9>\5{flf˖Ef'"p$ g ߝXQGHvc1'_a6 U@NzvbaX8)fzi%KpDHcي\q\Z_`  JrE9 ^S`|z"6q>ن-bf7kpPG28*lndkPb$9b=(Z Fr l,AqdBct `$pyR,z͇ 6{W6':X9'dT JsN,AÔy 4xHb˵KA7&r +SWВyN':rn8:VQ1kUL.~$9 I"[xΆ_ +T*HA)h_6Cs lI! .L42m<ژsD򓺟Qm Ds|qb<_"&\JA]^,:1oX q"ږ +lrxq'[3vh*'A2F*U˻1 %gׅa51;vbECn6z\t.!L:QZ1HKc L.ߴqa D;]tCHUͽu|qΔF/hM|#sS DU?Q/huwTs_B "_,{DfLkM;  ,?!&oKFDjV? KNΙ%9t|C+$rqK}-s{0'8/"n~|o`BmiS.~*S|Va p o^%ȋ'D_ HU;"09B;'ǨO 2kptE1_r`*`,cjyd 0ݬ#%(!b9*~dLN@Z]Z +]Y. k@ +DЋ*6? 4(}ÝnjR+i1Qhf +owBX}ԅY۲ sM,Nm`QˆM5g<׽\& :\?Io55-nҩe'1&־7YtBLVH2zw*X)ՍX09No$gdrt|<)F'*qkJa;i_hCl)BKg>@X7+z\d2A&%JR) Lcm/aQ@ ZLa*bfbe7&M1qW_b(z ]죗,N;rYpT/v+f=%4vDP6 dzΎ~gs-(!|ڑxAj4`c +K:Dk4mdw[3YKȅ(@ج5dGp1&1!֢=2SA NʃBLTڴwƢ;qޘP\.rR k0[2+Fy EWʴ+/9d à,]%fU(*l^ 9i5z:o4SZ}ֶb(K +#l>%/ҌZMJzxCX+aRzpVo'zע#DBl5RPz[/''aLMd~$nomipEL=C¢0IJ"(ܹVOU, "1b3Rn8;"1#c\qú'} F~LeKn +f@% -&tƾ٠p!0&%w37&;6_׋~*qqw-{Y+bqJ=0` pcbw,"Y:֎ 9n|;<ѡ&;˛TrEWGN *:r>/y);t<*h鵝=?^&m>7N4K潍#bDG/lӎ1PgLB̍fl,L˕X7PVH* rW}mGݰVa]4( $@*QcYfF7&Hjo*V,I\:E{M;\J$޲h8^s[|{v 9hF7O3P`6NF+~3)e!lM>gP͉F)J:_r/EuB!b^$> +-͖N"2|7*s`@ Ԏ=@8Py!*7KU&9cc@>* 4iT(AbXrL~I@ .=50y?d-!eİTFBXL͛80"#hmz˟*JyN+N} KsvJ+5pro#Ip@tOO]z{|r76T"j^5R55FH">7 06nڽi \ IGX[ +snKʼnX/<FRnklجӆt>'G?l xyIuf<p}Zu3ZƍQ۫0F+ 1 e:\`v2|xC^XZL֪=kE1۫ln=(W0>OG^Jwbb~+93ђ'bv'޽zT~*T_gǏB!7Ɍ}R\y` W IWlȼ2LNt0`ڀ4V.;Nnw? ?O~n fiu~nTY,eKGKc%^TVpy?0{VJ`aw8H*nEGRRPaȕ6ivn2+Vt,Z!ܬ id0:+J5ZVr|~Fn2$/ЋUV?ƕbC.\&z;?AomDW:w_|-h]߾ٝ[;J¸|<7z H5$c[Hl}?MlJ@@ {;;^vMx)(R VuuD4r(虧Y$ +ȢJQՠHn7jwv g'tb P6ryUR.ѬD.ER6 dtƫ?^9}/l،} +c`5}dO }d +Qݱ3Ħ*Z_wх9;kmv֏!D=]f\sYYKxֆۂ"Wr 9șCZnL옊U* _pl lab/T +0kڮjp7_5+\3v+LNdOܳ^~"38ol>m=Y''{a S/M Ndž5"Z 36SiLWG"J l);)gãyq,>lnem1O ÓʍHnA! '*;s|ƊjMDC&1$6(vH#i@q)RJͷyF+[WXALJGמ%*!;1/[ËވL%q@CD\a;ѮV]?{o^L,İR1)g8j +r~*"~B~kH4ID?ܔX;UF{!JY)?2egwMwDsRW̰'nD奷.-(Hv-xUmCcA8g.^[|-( `Jڦ J'bNAq:6P쀦vxWH,1 ~bV?$-~owqULtחl @ +hɦm{q)ں{]gmXH" 71N }4 w&f4ne[/}ϠdT)JӉ!Y@; `XJ7G/}{ oZG}%D2*SR2!]aS+ $0ۀt${pVlRU fxey;\9!ZyhF8>DV?HFA:#a:hmv97dw +D˛}\9e LͼvQϭ܌wQ'4=߷~׵{Tޝ%spc*dL4o$Z7CV/o ."k\fS&'Ǵ݄J2kw=Hy:T:֌zX(𕃀PD +)&A2ׁt¼ʒgY?=0B* l!HB)E6Ӄ|nS**0H&Ī!A*k\dVݘX$'& %+\cP?kA >L n)RU6D+@!R62e\X;oKխdcRrno_Ám.mHfKhJ0zKCOcl*TS.\o\(ja;>IhuPX`]ow\AɌ2ݣ'9oINesh,GnS2mMق8 uP[vlix +NH4i&7 `̘wh4zΧK:_(SH)6@Ļr~[G]s@2J{;6mgCJmy~i9$[`DU`b\#熔V|auO8PʸVAGZ8yh4KKScA6!4 + oe6&yO+>s*.e盷mm?0:~.Ooi‘Z0* &t봌H:! KfE dPgA<0 y"BgQ;3 -P955Mne]A-ahV&>XVvK;Ս]c7eQxH"4ȦLkP + Ҝ `~~=-?^ݹǿOrfP-S돿<|c*1 TA.ixS"@ri1SHY0<->~ +@ ă!a F| _"c2ڔdkODD(oS>'dwY!Ճ'| V !XpS&_knHšUFB{kn[rmlN7 ^Ĝ A͒Z 6kM+Teӛ꘎JͰԳl +M^jMʻħQX +:kn&Z^S啳l91X?oTX6Dfxe8}BB,؉KK \贿`O90K']T7cxMtXՇGmA67/8SY][`. ky/B^Luǣ &霺 +61_5Wn&>TׇjFbs&tЪLeG}ȷNzXm'7S190+Jvkf%rTt~g]”RcUG[97k Ea$VlCiwa ^vZ}@iځTF1]ݳSr$I;z_>fǘǥ3vUXt {Ð +tGT!,`Q>{_}7}:9~98zFǫ^J2lkWJu!--,D>e/ '8`6 : yy)Z!*!6$z q4n?x ajtJl*LE.d ]Xԛܘ<80cb|vBF[RQ7W^"&C\A\ O/:03iRΠdGAsâf )S;uP |=:ؠhf,'#mZB̈́e5[#sfeba>+./9q!Zzoqa%@%L)QXXSk{x7O_f4d6T. +Dx]]rΛ]Vjs6 >Z*ɍlsӏn=! r)Z=˻֓=.50Ýhֆ*+!eX ั%+6"g)-1Nɥkjc:Vv.ѝ͛&7:-#T0n^@C ݘ<.O`aJN)LQv5$oLxScRtyԜ7UJFN=Pd[+Tة]ZB/,Y$j D#=9u@j&MbMXt2W&7D]!1D@(]!aَ]0\#q6^o8P,mJ>şM*?2{h0.GMZZ1ԃhm%ӵ mC`1ʂQq0oCDעP3)=; K L)RɮX^7xO]]8\(QBv֩F&b?pi + q6{P >hyABJX/IQ&NHLT:HFL)s65(٣Vḻ#׽a% +%zd. &\d"R +jc6ѐKkዽ6v)ƭOWEZX7r|T Btϔ7mo:Zq>"a ƦOd.#&-Z)b: +zI"$5x|7ny`tlڏ)tϦP$5Iɩ~ +|Paq}!96ln2|9} FvyryOElOU%@ >_ﭟZ^}zZXbˡb Ԛc;&~"oG{GOG>,n?)lݿן;ַg>N1古op7#fqxv?ZF%y`ʲKDg}:\ +@$&Ԙ`@6ىU3-OQ.7 +co;x+i|:ܿ%uoM[ӝF]*|m<0Qyzr `*҆L>^uxŊ-2>:=nfxdҕnkr~3fz0ZVC,O"S*Lb WbRQ9DajK|in1zqgs㛱ʥ<9>+ PK6x _] +()% Zr6/b\Q)O8Mn㛓׻n?|xrɓ/O??67j;\ؘ?;y}@mbn5=7̺-8WLRQ{ EaBFkJeMnx~3:NvDn}Yu!u9} ‰MZr[ ywX3 Ie ,E#i>PZDj7̐xՌX!K}LX"URy'FU?FFJqCʯRJ'Jfujz+~jO>~?4P16˥y/p(u{snw'`EMLM0_.,f#nw-?:VTCP(e7Ol{|y'=2Bqw]\Bid +%@0ZWiZÉPX#JЛ\EŢf[4%\4ۻnuf[CuWo˫Ze{X1 ֕{~RXmOp$$>me%/-zM^ڇGm 110h!.z>cYW?hnӫ۰X/^qĒ[=E,hMa  uISjZ> Hr/ c@~*mN NAZ C4{??,Z > I61cZ+Dr"\w4YYY]3jkBUo?LAkt%nt*z7_|ußoq_-tn'ef>2!*RzOJAu./Pͨ؛mBLډJZlaFgPܛ]AHx1-(L7F6 CMUB o.lv!I9bP$W7=J0uw+tDʯ0zYtuBMEKTh%VKvֳ"a6bڜ ]r) +#){16g "riV6kݭ;{g79+oxt~'&J[hm}G Fsd{O. #z4O?Pq)ΦZew'^o藿˳W? +T{͗_|ჟOWjmKn Dzgï?-`vDĥl+lV7( h%zRqIwvy|s1ƍVi|T*"%̄N!A:ՅDl΢/y#X̴H \n<-b3&%vQ lPr^.$د(T k6j7.=o3,#RMS* KEJPbfS|i + 2BCu@F14D'GMnFK.bֆλi;t1+eN3XyH95s+(^4g\O`Cspg&  mvGI$ "V.o='7#muwq6Gsx[>ozL)@(]T=U(S=*ƭ;Q<[ow'_njgÏ׷w;'^|xt?k=olOB\*n/:7&3ڧɽg̋bu\^ON߸yc%1Ƿ|t DT'}_c?*nFbo#*d|M˙Avx nJ GbԴdf;o,qE$#|ⓔZt I$?EŤ-jX ּ6yEŁAⱰR  +d\aM8C5@(LiORVb4_WJxuȥBk4gwjKpSLct{ +Jvwt9Iݹ~a%sɻ>U)ǿ~QF81[;;ڼBo[Ig!iIXFeïc-#}W7_~,7GG}}greyo}',91r~pvX̮xdmrrp PXNն{x/ hmf{? 0c>@f9a3ޝQ v|`񭫶XBЉϳ GIItp8L73Kɚ7,yq3|vd4+7G$@\82+KPX sqVzClA!.+XͨW>_Yzڇ|VJ_LHDmJ~2nG\ ~\ HS+@=mg2Φݰ"h/ Q0{JMVOv˙Q+!4)V/\ +ѱa3sv!R (#q1! ᲤT(/`bvSif}nnpM/ hQR4i V_tg +&dAxS5-+ Mȕ:;'UI*zyUh JD>L}#$Cl^ήm.4$ q}|~Ak~~|;V3p_ݽ=9z|06lDX܄^y~Kˡo!a4-'>yK8`훕 B>F:(R+'.̧"bry3t 7&B 3V7bDO 0\̤ܴSa?J+L֔N-9CBTlP+o qetK+ 57xVGۑd.3Z jZ7Ln$Ed7jlփEΤy)3TS]MCl:{ +x( 3e #齟$?ⅴK}Tf,jWtx`fG  a\z+|ҮD$x[TDFLweU|盕y. rpw3u rcVRPd +!8eFN{-eR?S8#/0TVt8x" : M8$8+PC(UXD<)T !Tw0s1AqbU30cL݃,,W|.J$(v\|\Xnzbs?.$JDŽ(MF8ҊjfjFв(BuQڼ'Dd8ZaZ)L!LW?"HU^\JmE`Ia1F$ÈA%6P!O:X,ܹ!J"|BKMu9/ +x4/,c1MRtsS/Š5n)NU2²Y݇.-_LqE!LJJ?swj:4b`k1:DSe\.Pil@Ø:= D0^+$J;d*NȳW(iX$0mC +@,d5L,aB p^(C36¥C"zy 7̄|j!*KV +(LAN/D/'S.()JkUBK3MD'&- i =sO%l`Clqo?snF@yOVy(Zb?(jx+ +S|pz!'h3Z2SƓRY˖Q0Ll׀)/2AgLxø?FAy?KhIRj,g-f7.c i'vz;DW՗3 #ׯ0F@qlsK,p :p13|bqW.բ?,!X=9Q ; fq0 QEgև>7[BvNTjBD8ƱE"xBąp pC9paRB\_ B0RBLOcaS Ă=;?p;W=y@Uq!d* +Kn(QQ`iSYFp<Ϟ]@HOtY/zn63Jq=eaιsS~^X5Wvu.Dx|P!)5Pã~oݨ:= hFLZ6.~pm]p\a +5BX9JژV(kA$U ^$A l08J*B9p O3t2 +H0J8鉋\Qp `iMhaHD'DzqWNKFe.83B#aL:)ڶ0s%uZ[&tb +d +"pZ,0V.1 H:&a\q@qFppqS詳s@a/*FT0љyY/Kj1K9 ")7(a (Hwn:̩ghZ.B.eH:[E#]2ăx5?suwv> `$Pi {Q_I+N:v:p漛U ̸ wJ0 2Sp0Nc&<ēs!3nBC \rzWP< +o?;??DZetaIHl[JJ QtƏ`LM8y{}}/U{ 9N ,i"b$WUqL#`GmŒu`cxwq9̩'QR2>9]m6 <rG%XdMfr- ~PֆNqkՓ;?_9Ҭ7t$ #=3`ϺOuA8 41VbT*Xc[8B?wL@ET[5KK拗wz/zxOƿ/vcgs8JnoY^GYlհ֍n^W{~ڍ1qJ!E-= WVԧtVz΃_?~7?}Ճn6@@2Rˋkp9X—kt+O0+ǿͿ対{/?yp $z!T<;xǥsq[3 +> vJRql/_g_=Z]orf=) b +h$.-5/-/[ᄌ'[w[˷~"E`@PlhD+׮{}_~7[~ѽ~uwW[fUREaMj5v{k/]i=wǿ/>gO?>_|;O/ E`H8}Gă20*17׶K֕̓O?x._z`[Bx! rN{~x_Ƨ_ӏ駿߾~/߽RIÊIBACκq;oǟ/[Goك_w7JiX!@,xBъg_ٷ޹Yol_oy߽?}?|㯟Gz|kZ-:G1Ϯ[o>]o\^wۯ~Ͽ?{{0¾ sAʲÒ2bM-x}?>ϼr+[}v~Ïzr.-;aWӖSNiP` };\GoO}>~~r']*ghnv.p٨k0A>K7Z>_=_?᝟}|iݻkv2e C F1&vo<( +R6p_>7ͫӷ_}p߿~/sY ҂ͪMx)u|zu[_||7y;_0K |ekH{{G_/}ժd0A +^H&g2\/߯?9*}Ko<^ۻ?Go]zxs8nԫu(jX$&ʗDtp/gng|ӧ}w>z_;i)oS@:hYmrf2*RU6?~m/o/kO_n>=.*!D5P,k)!vΪڵ:zw_o__/7}:+Z +LJ*=Mfz|) v;o^߫}ү>yӏ}7_ystu%\Qu)%df#JpX'Cm:+սafI[Kox<. :u@tEq9CY1Yt)/j^֛Q͛owt[/.vyq|WY*Ƒ08rzӶ;a52Z|:T~_g~kWƍ^% ׏QEh,xF+Md\YyR>|[@h{~7.d-c\\~Q wolvQ4^Scn!|RKRMQh2oyC*[¸휬o\]j/ܠlKj]r0p T閊[s￸ٻ|޻.}ηo{}8 SDIÔ 0DfαHB{eF7}??wr;{͕^&VP>ʥQΈr3pyB^e)_{9}㯬W--%͡( 3^,2)C&p<eQֵB)g2Uʨ-Y/[FA*TC'(`.A r![]^]LeUߪWWʇ͚UWʩUք܌ #*!"XL gPTiGjAWΛwVƋGÃabh +TY-o`\s<|R'rVFΖs+LRfC)Jtl -仼rPGbC`* j|(d(Nc\Q:l(jBX&ht:Vbl`@J qG0MmFoFS39_/Ɍ42^+F }VBK +OMܑɳ}3Ӂ)?`7\qtRJOotjaEcb:BZa\ X(e +,ZZں|Eܮ(A*fR۱KD g/l/{jh9Cbdޏ2BB i cFd1L%,kvܒ?w 0hC1A)AYiJ3T'4T`*(.xQQLpy???g (!2B!0ӂ.40H2C'TRy<AE-I҉k ,{Fm8! +J1X #aOuY!uD,J|LYH2\·hq< 5w9=l$r7C@5 \TZIq&#X-%Z*! xUg3֠&k4@t:j1= #dTIQ")%u0Jf{YMOP2yh/?Bh.1⍫" + ?K*oBJ WrT#bժq@5jəauPB~ `0Z3҃LvCQX05y,$Xlܘ2{ A~&*bXQrNkҪJ$dzht/'[JuK.ZvLuJ崸KR%.WD-G|BJB +&`"-lֆnjݟ7zQ)XfJlATfe.!b1ӛ8TsuAZtB)&1.HcRmzHw7CҤ”)RК3AŽ0ŸP 3yT K79cGÃ^2 fu[N#SZ+ > gHꍕHuڇyS\LoZ7Pmb +~5l~T'0W =F;XR)ףb0_ƌ!LMqd2~$X,f|lT,jI +5aQZ|z@$ALأdb]\Hge25#q. G-m!b 3ޤ^Jm7,]%cRE(l`Fͭ%̡ph{Ug" ,0_.CN̒gs/vZw>D 3gݟ?{օc- +U\k-YwT MjStc!LiAYLŕz,BWƅ#>[@@-`R0 5&R<vFbq#|wp A.8/-ni " 636WU:^'&m@FNZɒTXxsxmT-lĥ*rot%SMw9x|z] 4z`]+o_lnݫ.QyZTcMl?il]y!:s(M؝3AQ;|nK0V+Y;tn=r¤OnxITJ/ +I:knl򰛒YnAļVA\ ٹBg*=H*^=zrmL$ne~g5v=\~Lkח0y֫WZ v? !!Vsht*Wҍ%-+ݽ/w;@i!b|L25Z^iFvX#ÇG1ҶZ+ޅz-ZtsC_Vk[f 3<7YC`֊{@iPv\jFnݷ$IL(n6Aj" ++Hj5.A:r+/7_nfKW^jk! kfR7w}q7Y\i'30f(?ᄚ~ Rv7UZ +9A 'T[5k7)ri|balw Nh-BLBeqkLoәE$$XGY  xQheI-;Lr +Q1 7zZ<&0$ӀcBZrin\&h|bW[Lhq+kRqNU1o 1lf`OJ+҃kvDof'ݺ"D,'Z Gk:Kbi5;U\v+GJi35B͝om+݃U:d!vBo1@}dˮ,2{Bi[go~T+oҼx?a5]Fe7F k@iNvdsP"r5:,Wn6nAZ,K)e6Ldw;ԛ 1?VDNqj؃VqbzpϮtxk& 6vM] ~,Lkkʫ{} ;݃'R}w3WJ'Oҝ}"0ki!aOGd& fu|{^Wޱ9­ʦ:Z&e&"Z'g@BnrbЇbaSPю c\4mCrf)嗰T#DhZ(mu#fGϸ` +m&KɥRu +k6qP^ypJ=" vu,9@sV}n]$lW/35KTɮIt“uK5vW7RyޒkP͛@b)t;=ŻlaD|\W_rϺPvQ)Jk_"ɮPi<]~y)G_f&ZCX aeqDK/յ[ittv@e_}lV/_lתAJewl 2[c)W\DH6&Zs蠿TڅHi/*[zi̛I21輟iQ&o/zT7]߲Aa'x`c:,y2n-`6;#FOu)g)"Vڨ +dmK)ns fǃ%:_\qcZ\vM{6Aя(x׷2fCb.*EP#\.(Ø2N77<"'ĬZF9T2^&;iMDE2Zs3?~TYH~XZuķx +cHTa!dA> G.~y!HFL 8rwk'|v]o +92Ֆ[mo. R =qeWRvd[ $לIڭ|Юח7cݥ7W|(MRez_3{Rn$Zȵ3([UX)j-e+sx^Pg^@E }reC( +Fa. ?_XuC Z9#4 sE/i wwFq Pl/ >M:٥n+-;fH+ox&2ƤPV,oXKqR7!gC8T΃JPTwY Qˈֈ+5PG$he,dJ0]pl@ȍf"LOh iTg+:0@S>="ptf)ڜ sHq(e̮VdH&FyaJ F/V_-e ,i>MFNE," K W#`_Km\)FNbe|TA52!O&f<֓ 6g"tFlss VϮBP$MȅP*^:O6|W(.jج *T8$ Zp1km,\U"ep@{qD*zS }3Ka4w{z.tj60X 900e 0K&QlO{K//P1@hD*WE>;:Aɠs>%\K a{jqq*؞pFJR6r#t_D튫3!Pjn4$λ9>9圏gB?ZqU/PzЦr3XI1\9Lt:k'Vi)BHMlCl Sfy-ۻ”>3Еc)L\aY]2p+XJJ#.ҶZ=uf*@Gg-bjS[ +|}jFI4D)p#0"dL6BGIFCK!9wTg!szav ٥s P({{Rv"H+.S~rҐG*/5PG@Ђl3%CEPL/iߜ \1z&G+B$6CsM 3ƌ0OID5ąI c 7X&Rdd'H4$~|Q0v%Tb>.YgQ*T+ƥaFBU+΋ŵ8$cky!Ub*Q]_ukH x[խ__}7p>"aYrzݏy{1RV벜 ӎ7FzZ 3YQ-vGpP1 4F0ĭXed}j]<Fq3q6yaDg/@Rrl(՘Xp3~Q +rM"lb%DؾyK`Nȵ)2a˓utf^\Lz3>XD {֍Xʵ(yv/ US;ŸwcL\iQ6{zҟ#Ԁ@t`|>7d؇b}4^H15W<쎳ggãs1;3y8(mD1vW('0SRa>MMl4.e`t/ΚA,9镵cEMqR!k!R +\z0R#͑7azcBzPO6E +r90)6!!K A@]IuN'vs2.Dңʭ7kXH5ּ _ Nt4wD{Ŕ#/ V'HP3 >c at#BOx.&iS "Yj/zWP3S$B?XJoi83D´NY=E?2MY%?nŸb" + )7K[^r>"BM/AbeX;RO .7C *u#;"B5Zj'Zx+]yB+`l\n߷(l΍;~2e jvTM%DgWl1="LAwv_Iͳ>z:z=/ JrJsEXτp@f5Lޕz*jθ)֔8@'WגX1mʇ 8HH!菆 Li!b)@dp (+3Pj d~-U n`9P(%G+PBUUW:*cʋM19bH_I9g̳33l\Sb5ʙmwӭ\wſ8>硦jaXnsSaZ)7?xAL@BY8gi+NԼVZ)Y*يsxPu:a`R!Y!HT6N.ZP WT\ +q1&#e),UXkǕBT0';(Sl%/t1 (PkG1"=bR۴ fYB@x%;/6s\$6Hi-hEcXlX72FT0=B'Gf݈(-&6] +1JY'&ݪ10i,$PAcd+h]Bn/ ""V˜4ͺ֚O_2!n6,dLh +D1`rq>yl +r1˜c0H&!rO{䟟M8>3#K.ms1l ĥs!VJ{ xb@6+e9pΤ zb!RC%̘m"Y!W'h+$8qN(E\ LftZ|nvH(nzPLbKMLnRkRHm)J%X"R^XtC<Q& ȋj1\WnI6Y 1 +b7!.(vAJJb/3 Q6(:e@জ2> RDiLqRˮD\z m@EYgmW|F0Zd6td1xgEH/{"kͥCD*dnT\ϥfzQ#Ԛk LvnP8_R  + A%zP㬏 IQKxqQD'xl/k]:B5HbŅ1i{'M, +J-(a @4Ba,%F Ϻ?/mϞ / ]GL +$1<5 [;^ϻIP\a`W!6B_#Rt\Z3OisI =mLTV"DJ'Hxߗ(IHZx<Yx`d<`Kʙs@̭VB=ݻں}aNl*F"r2GlV\ܻ-ON (]fg_L_Gfj.!rf0=SwF6w^{`,~i#K 0iՁ۷XsRg.~k.ry7y3 k7@F +'K/o S.̭O*ncP2'wr`l^ -MybKkpb_j4>Sz5]x:Vx7-|bcVzy/b|wj5p5 +2zMlz΃<}RMklsb +,@zb3KG2Od^g[i132[2F*c,;z1\yjڞz.+vnmxvbfު`zk`dC<6g YT57/0|E|ЮA{D7+[gǿ[(56Vvm8Z{qS Hv3#t4<PJ31V%3 PE.h~{ve›J61As@SeVydKY{< +{W· ' #RC`cL^]8N/1Z[ٵ~9 pvѹ"ȩG"j]^ޔY,x;s%+P!3wpsgxʛɮ89925>&)']|7{rO2^j]sg*'7Fǖ/޺3% :F^rlfxۡ3^>yms3s(^ˇOo ʋ+UfiDy st%4gsobohjwb+dA{"'@H{njdWFɱr53Jb + Qcg7Z3n~5#&[(/k3qgkW'C7%y~ɕWn9Hy?Onzso?g jǮ3^(ck3OT2KŲ3=2@oy3ROϫɭA"F<_{"vv}v -z>wT#gbh<<{ plmMl:߯MRC3VKU{jfu+b-;0!gv.M>12lki" /TG#jFdW[|N&r#YJ}ƗC`GRiag,(SdVOaS'bSkʙ7_ cx>PJϕe|88àˠ MH/ϖ`_62v|:܏͔PK6gC+φǖ/AqEri;Hllt]~cNҗ`zsl?L|m^Q!V zNv{x30h׀쾆YڞYxmjupm"5H6j_Ϝ|ڜsSkg A[~\NmsV9?PN<9;??=q K /t3*I@K3[T5f2z5՝ܞ\9۾]{we P¡3_g~ ԏGich6[8޸f嗰1mVRr]YĝL3;+ϯWl~gח龡Y9ۺ-.}  M5~ @t!ϟ/9ĚL/멽7{o҅CacӅ9[φgGV*Ddgw6l5 fr*y]z09(5A~*'dqZe`擡>sajh>94j|;y0#`#*h"G% l)t#\[..j(혙չW{/=G}:0tJ#+_3FV#+}PrZЩ?cφV c\Mn["90l;{񛝛pGg +Xz*:ZOVZ?殬el1?Wy +`]nd#JOi0> W:Ҿ6'_03CS}+7ӏ5Ԛ71 XS鹭˿nКN|[Ȭ J#-crrdF90p[Ov@?9oaVv=^<FSc˓ۿ<3ѩ g|Փ3E U0sҋ[Si1 =Ybyh{S[TzqpΞ-3ke6!PAkn o؛=_zHGc9k5&)~PKo_~rl}xhb@{orF@ЀTopldVKbhEؚ3XNM44Wodn끓O/=ctɛ.Oo^Mm&L _ a0&{v@^ ʫGX<m2ȚM.ۄ.]ގ.7 twz?ͽvd$9Y0ɧYPWfRSn:!&@?1AH/=φ3kxʞ7O/ *`kj_{^6/_rrl3^0fnnw_}bzlj5؃'E'ƫBqd30VjSo5|w0w؞-b-191~1s9J 0&Y<Ywbj;Ȝr[ϼ/F#bt9z# 'O_ SËϗcφ^|l^elou'vij#LV_17'6_W;|Ɨ_Ckzddb|әڟ}=n0~1]_M`Mh +ѕq,|r郱ʭo;晷@a*Ԛy"T?x:ճL*`=Ln̬Be~`|dd'o/|axlph)38oO^z wfrz=Tcg-Ob_oO(0Je7}~d'N @/? ,@Ɲ\(~7}տغ\E'c}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t'^H}t{O> {=l3W7Mx.1cFJrpUbrR9RZO ?3"a}Y5L')\WdJY,eXT3rSʕtMpUUU)N qjilq?2WE9 jmu[u[u[u:m:͖_ţ7)bkkI=bfkgqѺs}s4Q~])wuj;dctRo+knuX2 Л;Iچ?U_)l=X* 㖗pWQ~E]_KwZP:n(nūɷ6cm{Ǭ~gM`çe}:OjgM=mmT۞N*:KB[~n6 Zye]+"|=q& QL@Z8w~UUE+RmHunEm`oX"WӳM֋"ZY*Vc1;m"#:嫓2µ5ISؤt2]0{fo[t}.اx^)i=onvҩΧ8=I^xTmwz}Gj^.[ߴ^ GmQӋI2 mcN؃l8\ ;aܿ{[{h`ngoz>k]^q؆cl3;}{Lݏ$w>q͓9>sw;3D#`q63AփyZKmwvj+Gu?z;;,&*חb|V>/^l3kM_{<+ZO+%uwd 6k2C- ew3v6G8EG{> endobj 6 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 48 0 obj [/View/Design] endobj 49 0 obj <>>> endobj 46 0 obj [/View/Design] endobj 47 0 obj <>>> endobj 18 0 obj [/View/Design] endobj 19 0 obj <>>> endobj 16 0 obj [/View/Design] endobj 17 0 obj <>>> endobj 70 0 obj [69 0 R 67 0 R 68 0 R] endobj 101 0 obj <> endobj xref +0 102 +0000000004 65535 f +0000000016 00000 n +0000000232 00000 n +0000043485 00000 n +0000000007 00000 f +0000788540 00000 n +0000788610 00000 n +0000000009 00000 f +0000043536 00000 n +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000020 00000 f +0000789170 00000 n +0000789201 00000 n +0000789054 00000 n +0000789085 00000 n +0000000021 00000 f +0000000022 00000 f +0000000023 00000 f +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000000 00000 f +0000788680 00000 n +0000788751 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000788938 00000 n +0000788969 00000 n +0000788822 00000 n +0000788853 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000068531 00000 n +0000068041 00000 n +0000067970 00000 n +0000068112 00000 n +0000789286 00000 n +0000043967 00000 n +0000074549 00000 n +0000071865 00000 n +0000071752 00000 n +0000067245 00000 n +0000067408 00000 n +0000067456 00000 n +0000068415 00000 n +0000068446 00000 n +0000068299 00000 n +0000068330 00000 n +0000068183 00000 n +0000068214 00000 n +0000068856 00000 n +0000069104 00000 n +0000071900 00000 n +0000074623 00000 n +0000075022 00000 n +0000076307 00000 n +0000081580 00000 n +0000147169 00000 n +0000212758 00000 n +0000263827 00000 n +0000329416 00000 n +0000395005 00000 n +0000460594 00000 n +0000526183 00000 n +0000591772 00000 n +0000657361 00000 n +0000722950 00000 n +0000789325 00000 n +trailer +<<4CC6D142D17C3049BC45C2DD3DA856E5>]>> +startxref +789512 +%%EOF diff --git a/res/img/EndScreen1080p.png b/res/img/EndScreen1080p.png new file mode 100644 index 0000000..dfe2f2c Binary files /dev/null and b/res/img/EndScreen1080p.png differ diff --git a/res/img/EndScreen1440p.png b/res/img/EndScreen1440p.png new file mode 100644 index 0000000..55c7313 Binary files /dev/null and b/res/img/EndScreen1440p.png differ diff --git a/res/img/EndScreen21080p.png b/res/img/EndScreen21080p.png new file mode 100644 index 0000000..dbda9c2 Binary files /dev/null and b/res/img/EndScreen21080p.png differ diff --git a/res/img/EndScreen21440p.png b/res/img/EndScreen21440p.png new file mode 100644 index 0000000..fb5e3ca Binary files /dev/null and b/res/img/EndScreen21440p.png differ diff --git a/res/img/EndScreen24k.png b/res/img/EndScreen24k.png new file mode 100644 index 0000000..6aacca2 Binary files /dev/null and b/res/img/EndScreen24k.png differ diff --git a/res/img/EndScreen4k.png b/res/img/EndScreen4k.png new file mode 100644 index 0000000..ee0546b Binary files /dev/null and b/res/img/EndScreen4k.png differ diff --git a/res/img/Player.ai b/res/img/Player.ai new file mode 100644 index 0000000..ff99f68 --- /dev/null +++ b/res/img/Player.ai @@ -0,0 +1,6615 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R 6 0 R 7 0 R 40 0 R 41 0 R 74 0 R 75 0 R 108 0 R 109 0 R 142 0 R 143 0 R 176 0 R 177 0 R 210 0 R 211 0 R 247 0 R 248 0 R 284 0 R 285 0 R 321 0 R 322 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Print + + + 2019-10-06T17:46:33-04:00 + 2019-10-06T17:46:33-04:00 + 2019-10-06T08:55:33-04:00 + Adobe Illustrator CC 22.1 (Windows) + + + + 256 + 132 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAhAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A7j+Yth611YymKNqw3Edr NPDDdIt7xX6tAqXJEMbXHJ1DsVqyonL4gCt8csRjMTGyeR7v1/dz2a/Kcz3Gl6lqLWf6Pt728c21 p6MFvxEaqjnhbSTRGkgZOQc8uNT1xaGc4q7FXYqgddsri90m5t7aQx3LLygIYoC6EOqOy78HK8Xp 1UkYlsxZOCV0Dz57jcV9nMebybTYfW8yeX9P0vTYooZHgu1vIrGzjNubNlN/bSyJM13E6svB6xn4 3Cs5DUKjJISkSBQJ/Hc9nxYOxV2KuxV5r5+gWz1aa7+rR3l39WSexjuYLW5e6Ec7Nd20T3bwRxiG HjIFEikgs3xFdg3zzRlAR4QJDr5fjqfhXWQfljbTw+TbN5ozB9aaW5hgMUdvwhmkZov3MTPHHyjI Yop2JphaGVYq7FXYqx/z3p0195auUiV5TEPUktkBcTR8SssbRKVMv7tmZUqKuFxcnS5445XKIkPw drB7u7lbB/K9u13+YluNPtoodM05HvYdQtbSxhhurO5ilihVZ7aV5WXnJ8KPGgPpk7ldlxnrGKux V2KuxV5B5yjh0iXUDJZR3t1HKn1hpLKzvLu4sZrcRpdlryWD1fRuP3ZjjNeXEcKMMDfnyiZBERE+ XL5f2vSfKNjd2HlbSLK8BW6t7OCOdCQeLiMckFNqKfhFMLQm2KuxV2KsT/MPT4J7Gyurwg6Za3CH UllX1oEgLKxnkhNFb03jUFm2RGdiKYuTgzxhGQMRLiHxBojuPf8AYN2P/ljFfzeZNVnlsFsE0+MW NwUtrK2E8rFHV+dlLOslEXn8fEqJBRQDUrjPTMVdirsVS2axtNXS4iv4lubAsYRaybxSBDR/UjPw uC4IowI298VXw20OmfV4LVfSsCfRS3H93Dt+7Ef8ibcAg2HwhadCqj8VdirsVQ93I/KK3jPF5ieT DqsairMPwX2rXFUJF5b0e3u5L60t0ttRlXjNfRgevIteQErmplAJ2D1p2piqNtJ2miq4CzIxSVR2 ZTTvvRvtLXsRiqtirsVdiqUy6RpeuWYbVrWO/tpj6kVrcKJIQn+629Jqpyp8VSKgnriqLi5W1wls WZ4ZFJhaRizBl6pzbdqj4hXfZu3RVF4q7FXYqhbpmkuIrUMUV1eSVlJDcUoOIIoRUuN/bFUJb+X9 M0wTTaPaRWdxJR5lhURidlH+7abMzdObfF74qmUMyTQxzRmscih0PTZhUYqvxV2KrLiZIIJJ3rwi VnanWiippiqXS+X9Nvhbz6pbR3d5ARLFLJV/Rm2q9uT/AHRHZko3viqMs5XYTRSHk9vJ6Zf+YFVd T8+LivviqIxV2KuxVBXMS3ly9nLX6ukQaVAxXn6pZQCVINAEao71xVQt9L0/RY410u3jsrNpVWW0 gUJFWVgvJI1oqHmwLcaV3rU4qmmKuxV2KpFoUssuoOC7NFHYWjUqePrztLJMSO7MAhJxVfqV1KNW FrWsTJay0qdmW7Vdh03Db/LFU6xV2KuxVIvMEsvoX/pOyyC3WCJ0JVlaTk83Fh0YRKre2xxVMdZE h0e+EcjRSG3l4SoaOh4GjKexHUYqpaVO0skrMAGniguZAP2XdTGy/R6OKpjirsVQ2pu6abdujFXW GQqwNCCEJBBGKoTR2Z73VGBIt4p0traMfYVIoIy3Fe37x2H0Yqh0nmbX5oHcvHHdRvED+zzs3BVf 8mqcvmTiqeYq7FXYqkWsyypfJHE5jaaXT0LqaEKtxJIw+TqhU/PFUX5gmlhsInido2N5YoWUkHi9 5Ejrt2ZWIPtiqI0rbT4VG6IDHG38yISqP/slAbFUVirsVQ+oxSTafcxRjlJJE6IuwqWUgDfFUHoN 611FcsX5p9Yka3J2JhZjxO+9KhgPlTFW9CMjDUHclg17MEY1NVSibHwHHj9FMVTPFXYq7FUnvLgR eYLRCSPXaKMU70hvH3/4DFVTXXcNpyIxBlvIkKA/aC1kIp3oI+X0YqmmKuxV2KpNa2j6d9eWCs13 6KG3D7CRYkKxg0puG+E07ce5xVq2S31S+h1BGIje0tZowKUZHd5VB/2SKcVTrFXYq7FUs1HTiyXM ykurKXMAFWLFBG5Uj9oxAqop1NcVU73UBN9fsQVIe2ia1dSTz+tF4l36fbUdOxFcVR9tYxW800qM xMxqQ1KD4megoB+1Ix3xVEYq7FVK7g+sWs1vy4+tG0fKlacgRWm2KpSJm0qK5oBJJJe2obl8PIXb wwtJ/wAEzkDxFMVV7exWTVrm7DlTHOOS0qG426qu/bj6jYqmmKuxV2KpZqFikmp2M7MSplUNF2Ji jmdGr12LYqhr+d73TmSYCNJCl1byp1EMM6P6hr0ZF4v/ALWKpxbQLb28UCklYkVFJ6kKKb4qqYq7 FXYqx+yLafJJIlGt2NwzxkU9OK3uXqEp4etWntQdRRVNtP8Ag+sQH7UU0hr4iU+qD/w9PoxVFYq7 FXYqk+qwRLqtpfuW/wBCt7mf0xSjlFVFJ91WVwp/yj44qqSN9YuLD11X6xa3bBuNeIf6rL8S/NJO nauKppirsVdiqAu7hfrcZjFZLcsCB9qRnTaFfwdj0FAfcKoPyxAbe0tbZjV4NOsoXI/mjEiMPvGK p3irsVdirsVYqRz1sW8P2orxLUU3428UQvnJHQIJJI4xTp8I74qyrFXYq7FXYqkPmZULQxM3pxXK Oly9OipR4m9z63FAvfmaYqmWjM76XbTOvCS4T6xJHWvF5j6jKD4AvTFUZirsVdiqF1D4Vt5h9qKe Og7H1T6J/CQnFUrs4pbuJYvTZYfSEUTEEKLaXi5+I/aYx8U2rQgk4qn2KuxV2KuxVKtGAeSSXqs0 McjdwrTPLMyfQJF+imKu0FhIglU8lS3t7dz/AMWRqzOPo9QA+9cVTXFXYq7FUqu/31/JEPiDmCCh 6DgTPMpH8rR8QexqAcVdq37mUz/stGsje7WjiUKv+U6F/uxVNcVdirsVYx5r16bS7uJLOIR3Esby T3QsbnUJBFGtQUt7QrNKoeivxb4Sy7fEMF703xwg4zLiFjp1P4sfC+5d5M1U3z6pG6BprS59Ka5W C6tVlYj1Dxhu6ui1ckcWZDXkp3wtDJcVdirsVQGv3txYaNd31u0SPaxmd3mDMgij+KU8VKkn0w3E VG9MW3AIcY474fL7O/rz8nn1h5t1uy82WumXltZHU7iaOHUIo/q/rpHPwl5Ko1K5uEQNMx/uKNSv wgg4scgiJERNxvY+T1DFg7FXYq7FWE+ZNV1I62IfTEUVuERQtrcX0gF1N6ccziC4twil4uSfC5HE mqtti3zxREBISBPUfj79t+Vpv5G1W61Py7FPcxGJ4pJbYAxPbki3kMVTDI0rIw4UZS53B3xaE/xV 2KuxVTuLeO4iMUleJINVJUgqQykEeBFcVXRxpHGscY4ogCqo6AAUAxVdirsVdirsVUbOzgtIBDCC FHdiSTQACpPgAB8sVVsVdirsVdiqjHZwR3MtyATLL9okkgfCq0UdBXgK+OKuu7SC7hMUwJU+Bodw QaEeKkg+2Kq2KuxV2Ksd8y6HJrj8LWSOCa0WSCSSVDJHNFcoPXtJUDIfTkTgSQag8SOhGKqXkbyv beUdKj0ZEj/fO87XEXMJJKwHwBZGkZfTjVUSrsSqVJrXFWT4q7FXYqh78xG3MEsSzi5rCIHpxfkp qrVB+HiDy26ePTFWLaZ5NvdP1e11O6mj1GPT4nisY+HG6iU1VPUuDVroxxM0cZYIQC1ebNyxVl8c iSRrJGeSOAysOhBFQcVXYq7FXYqw3zr5SHmmCaK1SCs8RtL030S3FlcwI5dY5IeSszwzfHE+3Fq9 QSCqnnlnTtO0jR7TRbG3azgsIVjjt34cuI/aJSqMWapYjviqbYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYqlGk3skmoT2oC+ksf1ppDXkwuLiZYSD0K+nD91MVVdQugLtYKgSRNbSxH 9r97MYZPo4mn04qmWKuxV2KpTql8bW4knVPUktoAYo605GZmLH/YLAT9+KozVb76hp813w9QxgUS tKliFG+/c4q7T/hFxB2gmYA+0gEoFO3EScfoxVFYq7FUPqEjpaP6Z4ySFYkcfstKwjDf7EtXFVmn XUMwnihj9OKzkNsvv6arWg8BWmKoee+Rr8qqkPYywpI3863Xw8R7AlWPyxVM8VdirsVdirsVdirs VdirsVdirsVdirsVdirsVdirsVdirsVY9p0jWN1eT3YaOK2srO340JLNC84LoBuQ5ei9ziqtd281 xr6PCvOIQQc5ARRQLj1QTvU1ERApXenbfFU7xV2KuxVI9bt5mvImCEwzNBFIw6BGMsUnyNJxT+zF VfXmjvND1WCB1M8cEvEmtFkVSUbpuFde3cEdQRiqK0zm8D3MkbRPdOZTG44sq0CICvY8EWoPeuKo vFXYqhtRR2tSVUsY3jlKqKsRFIrkKO5ou2KoHQJESyeaU+ktxP8AAZf3bM/FYyWVqFXaRTVfHFVG SKUeYJoAjMt4be4eYAlYltzVQx6VdkI7fTiqe4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYqhdS1XTNMgWfULqK1idxHG0rhOTkEhFr9piAaKN8VpZp+t6RqEssNldxzTwAGaFWpIgb7JZDRg G7EjfFUPff72S/8ARh/1FNirtE/3X/zA2n/MzFU1xV2KuxVC3/xG2h6CWdPi8PSrN+PpUxVKZfht bsr0uLe+YnxWOZjGR7ETE++KsgxV2KuxV2KpEYXuLSJEHJrq0u50Q9BJOUYdf5fVK18MVTC0mSa/ lmjNY5La3dD02ZpSMVRuKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV5F5p8xQaZcS3V7DcX N7PqN5BOIbrUYJIFt2UWsUL20b28bS2zJKscjL6rOFHIsSFWTa1bXY0DQLjWDJc6nYLBJrMduf8A SXjKAztGIQlPTuEjlJQA0Tiu5oWm/DqZ4xIR5SH6CPuJ+aXflfb6vJq2pX+rziV4kSw06UXd1cia KIAySoLpImXoitQGrhySdiVoZN5j1RdPvrdFtp7ye+MQjgtk5sPqsvrGpJVByQtTkw+ztXegvozG ORiZAbD8fj4d4VfKl6t1DMHhmt7q1WC2mt542jdQkQYdfhYFnb4lJGFgnuKuxV2KoLWZobfT2uZX CLA8cld6krIp4KBuWf7CgbkmnfFnjxynLhiLLGbfXVmj0mOawvbW1kjhtTdT27CJjO8NEIXkyhyn p1dVG+LEimZ4odirsVdirGpNYFlqSW8VndX5gS4r9TjEiKskylV5llQFOJUpXkKdKUwWGcscgASO aK8p3Ud5pougro6hbR4pUeKSM2w4Mjo4U/3nMg9wR2wsE7xV2KuxVCapq1hpdobq9kKRA0AVWkdj QtRI0DOx4qTRR0BPQYtmPFKZqIuvx+PPbmgbXzRay30FlcWl3YTXTvHZm6hKpMyI0hCupdQeCMwV yDQHbbFrTnFXYq7FXYq7FXYq7FXYq7FXYqoXUzgxwxGk0xIDdeKLuz09ug9yMVSm98p+XmvBrFxG wv4OMjXnNuRMdaOyf3ZcKWVW4ckDEIVrirrRFeS2eWy4xXEhoLivJSI2dTxerF/gozP8lqN8VRmo WkEMn6SjHCaEiWbiB+8SNSrctqkrG7cd+tMVY9+YulxXUMMz28d9GYZ7WewMaTykThRHdQwN/fSW zAkJseLPx+KgIpmMshExB2K38qtFu9O0G4nv5IpNS1C5e4uhHCtuymgRRLEry8JW485FLEqzFaml cLBmmKuxV2KobU7O3vdPuLW4bhFIhBkFAyEbrIpP2WQgMp7EVxItlGZibBovNLew17WfNugxao8c emaOoduVsoSS5tpFEc1jfFyzfWHRS0XDkqhgWoy8lZSMjZ5vVMWLsVdirsVYP53k1rT7y5vdGZzd XdmtvC1rbJfXFpNHI0vq/VC8Xqx3IIjc8hxKoTtUqKZ+JLh4b9Ke+TLS6tvL9v8AXbiK71C4aS5v p4KGIzzuZHVKfspy4L7DCwTvFXYq7FUp81aaNQ0SeFZY4LiOktpcTGiJMh+HmwowR/sPQ1KMw74s 8eSUDcTX4thnkyx1K581y3E8Y07RIHOoafo8lrHbSJf3MTRStHKjuLiMRO5LqqirjuGxYPScVdir sVdirsVdirsVdirsVdiqQ687yTeijGsstparQ02kmEl0lR/Nbpviqaan/vMn/Ge3/wCT6Yq6XfVL YHoIZyB78ohX7icVSrzMzC4tgCQGt70MB3Ho1ofpGKpjYTwyXExLj6xMzMsfcQxMYlI/ySQW/wBl ird5JFFcwyqw9dWRJUH2mimf0xX2DkNX2I74qjcVdirsVQOpzwx+mJ3EdvGHubl22URW4DEk+zlT 8q4qirj0PQk+scfQCky8/s8QN617UxVSsHcwGOQlpIHaJid2IU/AW92Tix+eKonFXYq07oiM7sFR QSzE0AA3JJOKoTS3Vrc1P+kMfUuVP2kkkAfg1e6qygA9qYq00sSaipiZSZGNvcopBIkEfrIW8CEr 9BHtiqNxV2KuxVBXM0X1+MSuEigVWPLYGWd/Shp49GFPEj6FVa+EBtys8giVyqJISAVkdgsfEn9r mRx98Vbsp2ntYpXAWRlHqKP2XGzr/sWqMVVsVdirsVdirsVdirsVdirsVS28soRqljc78zM3w1+H l9XkHOn83EBa+GKqM17NLamSYL6ZC3sHEEEwQSq5U1J+LhxPzNO2Kq95O8VxdzqAXtLPnED0q5ct Wn/GFcVQ93Akk0MV5WY2zqjSE8WeK4+BWPDiKmVeLAbEV2oaYqoeXfj1CeQdE0/T4CP8pRNIT8qT DFXa1+61gOftT2Mi2p/4vhlR0X/WLOCo70OKsgxV2KuxVj/mX96s9u2/rLaWqj/Ivbn0p9v2vgWp HgPniqYeYYPrGganb8uPrWk8fKlaco2FabYq7R5/rC3Nxx4+tJHJxrWnK3iNK7YqmGKuxVC6t/xy r3/jBL/xA4qhND+K51iboJb4/D4elBDD+PpVxVCD4PMdyOkzy2zwKdgy+jIkh+QXn9NMVZBirsVd irH9Q/fatbQH4vU1BA/iIra0Nwv0Can0nFUX5n20gydoLi0nI8RDdRyEfSFpiqL0z/eZ/wDjPcf8 n3xVFYq7FXYq7FXYq7FXYq7FXYqlr3QmuUkho7qjfVYjvyL0HrN/KgAIDdwTTqKqoe8hVEFjG3KS OyNtGD1dp6ItB7eiS3gN8VVZiLqe5jT/AI+QttT/AIqiZhM57jd2QbdQD0OKu1H4bw8tvV+qen7+ ldfH93qr9+KqKWsVvHeW1tyiMl1DCpVmMnD04iwDklvhj5U32HTFVWNEvZtLmuVDv9WacdqSVhNR T54qm2KuxV2Kpfqtpbu0ExWtwJoBHQnfjKGPwg0PFC56bCuKoOaeZoNU9VyVmguPRSvwj0Hkiag7 fCUr4nFU4gt4IEKQoEVmLEDxPz+4eA26YqqYq7FVk0Mc0MkMg5RyKUcVIqrCh3G+KpE3K20xYrVm jMEt5cEBjukEkjfExNWrIyct6nfFUyFvC+tSTOgMsMEXpOeq8mlDU+YxVHYq7FXYql9xaW/6WtZk X/SC0krtU04LH6bUFaVqydu2KoGGR59NKXJ9QyzWkvB/iHCd4mI3/Z58wB9GKp5FFHFGscYoi9Bu fvJ3J98VXYq7FXYq7FXYq7FXYq7FXYqsigghBEMaxhiWYIAoLHqTTvirfpRer6vBfV48fUoOXGta V60rirliiRmZEVWc1dgACxG1T44q5oomdHZFZ4yTGxAJUkUJB7bGmKpYdtSAOxN7yA/yTZEA/Kqk Yq7T9ri0j/Zhiu4U/wBWKaONa+/FcVTXFXYq7FULqHw/VpuvpTp8Pj6tYevt6tfoxVKbjayeQ/3c tvqBjbs3qyeqlP8AWQFh7YqyDFXYq7FXYqkscAnkNux4+omoIx7gPcLv9zVxVFadObi5a4IoZbS2 cgdAWMrU/HFUwxV2KuxVA38yWtzDdyVMSxzRkLua8RL/AMRhb6aYqgTC9uI4JKc0i05NuhMdwQ1P GlR9+Kp5irsVdirsVdirsVdirsVdirsVdirsVdirsVQsn1H6/Fz/AN66fu/tdKNStPhrTnxr/lU7 4q63+o/XLj0f96Ph9enKnelK/D41p9OKorFXYq7FVO59D0H9f+6/a6+O1Kb1r0pvXFUJL+if0fbe p/vHRfq9ef2eBpX9qnp15V7VriqPxV2KuxV2KoVPqP6Qk4f718fj+10+Gv8Ak1pwr3pxr2xV2n/U eEv1P7HqH1Kcqc6Dpy7caUptTpiqKxV2KuxVC6l9R+qP9d/uN+X2q9DWnH4vs1rTtirrv6j69v8A WP72v7n7XXkvWm1OXH7X7VO9MVRWKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV//2Q== + + + + uuid:60a63007-1a6f-4e4e-b9bf-65417ec81396 + xmp.did:a6e4dddb-6087-5d44-a4e6-d85776ee1291 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:d1c078a0-2746-42b2-b0d1-25aedff8fb1e + xmp.did:1b6690ed-28a8-c141-9479-b6a9cf6be651 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:a6e4dddb-6087-5d44-a4e6-d85776ee1291 + 2019-10-06T08:55:34-04:00 + Adobe Illustrator CC 22.1 (Windows) + / + + + + Document + Print + False + False + 1 + + 1024.000000 + 512.000000 + Points + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 35 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 236 + 28 + 36 + + + CMYK Yellow + RGB + PROCESS + 255 + 241 + 0 + + + CMYK Green + RGB + PROCESS + 0 + 165 + 81 + + + CMYK Cyan + RGB + PROCESS + 0 + 173 + 238 + + + CMYK Blue + RGB + PROCESS + 46 + 49 + 145 + + + CMYK Magenta + RGB + PROCESS + 235 + 0 + 139 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 190 + 30 + 45 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 238 + 64 + 54 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 240 + 90 + 40 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 246 + 146 + 30 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 250 + 175 + 64 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 249 + 236 + 49 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 214 + 222 + 35 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 139 + 197 + 63 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 55 + 179 + 74 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 0 + 147 + 69 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 0 + 104 + 56 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 41 + 180 + 115 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 0 + 166 + 156 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 37 + 169 + 224 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 27 + 117 + 187 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 43 + 56 + 143 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 34 + 97 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 101 + 45 + 144 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 144 + 39 + 142 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 158 + 31 + 99 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 217 + 28 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 236 + 41 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 193 + 180 + 154 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 154 + 132 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 113 + 101 + 88 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 90 + 74 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 195 + 153 + 107 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 168 + 124 + 79 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 138 + 93 + 59 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 117 + 76 + 40 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 96 + 56 + 19 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 59 + 35 + 20 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 35 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 64 + 64 + 65 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 112 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 129 + 132 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 146 + 148 + 151 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 166 + 168 + 171 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 187 + 189 + 191 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 208 + 210 + 211 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 230 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 241 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 236 + 28 + 36 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 241 + 101 + 34 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 255 + 221 + 21 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 0 + 161 + 75 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 34 + 64 + 153 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 127 + 63 + 151 + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 9 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/Thumb 328 0 R/TrimBox[0.0 0.0 1024.0 512.0]/Type/Page>> endobj 324 0 obj <>stream +H͎$%?ɼjl$:H}=3/&I~ˏ/K=fU_]<ףf;|l}z0˙q?ٟh;g\, .[w%>Y-aSs4~˼{K䎿kq2˯>X]KTp/N8FxXeN4&-,3˚:4}P6J~}nN,WaaCg9HD4"f;j~.wh17E'are%F5UG}o+BJJZ+VbSU沶?Jec`׫㱚# 'A(S-mM=0rk#7SQ,M|ּw t +^_}ۑJFtHJd2#Lg/4c6Nϣ:vEa.iIfK*.NQjp⣓9 ೓,pgx[G طc0ۘBm'&Ϟ]-)QR tR S[ڼzYUP@ajCdĊ!gc5d5G?qv5\5-sbelj6p t{)m)c 'h| c)yA3M`m+/y(O d)&LaIs+:Ǧ݅e8k级i.PkEձjՄ#Ω4[(-oiZc"Qqsr}IhCkJI0MUw,c fcL03֚ S:(՞ibRO3s#KnZ,-LGʅhZw4b&wCfrOtXRJI(s*8#ye!;KA UМ!rge5V{m*˘[ )2/4tf+9DS0IM.*hMGu%I7aBR {k +Ŧo,r`B DS0a`f=zodnvf:|d;-D]Kt̘rYف[ y+K@YWk.u-W,*R1 eJ'HS36OFsZJ#8nVV6fxg -4DT5eQLz*RM+Sm }l)2nj(&-i`ң{lk/Ir6I ,w#-3fwdOM%y[oh)#d#;pG,8ZG[∅ O*KZ0Q3 J9n~f ++@f]W:T /)PSՒ"1YF:$9c{fx)_Sfv= q繂ɻA@Jr T%He:/U9Rΐ*Jž0Jw`Wd1S}Z~!JErU!}G rͫ3[qg G2Cj[7xwLroseY{{ǒ߲voJ*!d>\hK&.nw䇁O݃]7U ȶ3L:%WTRd ML?)=faYij۔{Ȳl{w,yblikb)E4fkGLݣvꞦb?/n(ڂwPH̖bf^`cTAp~8r[#pX. 3sf`JT~3YOY&Y=]R[.U)tfFw.3IvO"TH]16.aJCVx%Ǒ#A6,X3X,*6?mLd>D谳9a>n;Nrg:eT \0emqںټESɓAl*l I|h2>;=6;QsNp* :?846 + LTm8y4fVhwWvh:V$=x#yGEUI&5._ĢrMJʗY=.)ҥJWlħ2$IJ/QC!,ʺ)R +7{!AYhkZ{xϑ'W\)&huv`b^4+IU4/G%]_Q8Au(*򢓄SGEe?B ,[:Y0ťR%2YF>aPiLAfuJIv{=D6ۀ-: ̉3ׂ VÚ2@щF~5E`gcTPsLxG~Jn_s:l.MO6=ń.c6&z Hz#@1%ىY>e 2\7eBg9?v, dلQ|Ɂz0깈i?`Նzj&LJ߰TKfsZWF0Ge0T+L^J PE،1}i.a,|&4xMq%2whjNr<Ћ'M=q +`PRA@Z%SlMs%*>G4,Cӹ6f!!|f #p!!xHQꍳϹ WW:X`ΦƮ,<يf8H9 l'pM#ayŋxpX }Uy%!j+9ClhhKvdƞU>x->]8! S(HF0B^S*[al JF}R}!ӄ|"B\$d44Ww6^z^ZZ%cѲ1=BXʧ&ńh;MӀ_KB$܌%?NNuw- {WLk2;@nGS FP͔ƺWITg,M#Vxo?G>8e-IE7O|=ӬIs`"d/̼C4JxerP2 +"LχIMT|u4oS{ke]zMY}IVgv_H3Hz~cYˏdF2tk-Lh(3N-ii/j 0vI L_2OLM1Uz:vϓoZnjD؏xM g+U'ЎO 60 6ocXxdԮXխYg{'ܗkue.!܎G ͮ & ,?֪²|- QpbG~9$jVNJ%t]H*hn#ptFZ*[gGkwxnlDB,E);0|n@+yre#ntSb#!cLu):mdl|:4Х>qKNM޶!BYbròS64T)6!{ x^ Y3@B{~JFo;#f_^Hsw/:t_}OR|ώ(hG)fYJW]'A#H-&y'^syWAdZ0@wF#l6p' gB eA K+lX%G )mA-қ<$g J?,S\H& +JFzhVp:l |+4n}YqbڪNo6X]n$9^rLyAaB1g =VY~JfqޟtJ W7:8ӎ^ͥ5HpZq>{:deos| N̠^Nd#}%ZrbjOMG,[^?:P HRiAN\Hj΢r蘡d4-חAZ*iLddيNœ̞7D6'RtXɂe_ZOS@F}6J)'Ldtݧ\QolᴓCRt7b0zD6%-1lh +/1šW!Dlǘ'-;C +iyX}4W0-?mx\sN,$):4Q6ŶN>Kdۥ`naڦlf>1\Fq`iăI~zZ#y&9WxX֯i)/|f~%)i$ɚ]#X e!Of#̲#a x_@~Vg,ZA0IO;˘3(o]e-}ɚte~VJ{D la:uc橵'*MpEټt.=5lf߫ՅI ghΟbOlhc#,GNSo7^ۮN6iY}gG]Nihƒx`hVI i]W>~cK*]y]AM㙡޻VyysKcZ0K NJrfMz}cXQJt5:\oI6Y +k' M +dQEZS:-l1=4׺5-!*]as[Ovr>(!]4K#2a6$4\a3d}27cxF7no}NaY~-;[5~wJl(r5-?iKc%iwd`6uu#Xrd޺&AkW7S֝ uo~Mݝ97z'J$NiZӒY0eP֍cZzfxϕ "9pD.UlE㺽ğIm;o.u`k̛=5v`A<$ۯsFp~-_PN`u$VМ+R~&bVyQzLZPnh.O>94'bf,6:Okۯpױգ.1>,:j4<;Gx^wgJ$CbR^@3<ϧ~}كhsjL~/@>Y8d=YXv n♼oiyETO$iX$;/?*wǏJ{Vhzg`Հ'Sp,zᔜ|%@mljܘV/H+ݍq;g2z_gsT1Ҁfz%rӂ&~%Pe~^ r}X?(zI_OEg'hC6h1<) +5w_$I{lt3gW'`:oHظ&@{lG$(o8^x,.Ki-P(mI9n +lJ"%!|hbs8av2ۮѪF Fbac=`IvwضP<w H:coy};)0_ +Gmq +#X vQ2< ݱ~ 3Lvӊi>ڠ$7ܺa7ќ2O.ɯnCfvk\,nO$]+II'Ij?Iv-Q2mj3vǡwڸIWG.GOk.uKl4x܈a9zCM󣔃vIr&Ĭl5(::iFhV{Q~Є` ?j&b}u +N_Y(@q5t4(/+`eח ]JMzH郲+ DbŦkh6`C_6 |WXj<9_#U-D sZ7TB-F׫̨]nX00&_5Vk1m<ϘE3lle*| +,xMI +aKMip HTc>Ҝ=W²&$bԣx'rYyd %rexDW7oewq2'i>5,32N7)N^' Gd L'OeΎŧiO¶8yJwX<nFQFu9aB-TgoGeo3`bPdߑ{K-zrm(,m.Ld]G<*0cj[39L䓛(^2VR:~7B 7k.a}>8{,2y]է{1 +fF&Er \(Bu=a٢-ɪ*hiН[뿄[vC\"?T?'[- 6޿^2|c;xltSu5ί{+mnOV֧9G!Cṳ0;o=qXxE9Q=4'Ud4^k:e]`/&m4(Ʀ$i|NBw6ܱCυNs#qkIُXJ>d/s}iDbNZbp毻˱Q"thnYL{9Έ LR*Y՚l&NxqB2ӓ6MZ!}e硖ęv< +r_c/!$(95FGs!~N) ^sXjzӵÕeI(_r,2s~1[VijWFm{'o +_r8ΑvL)fKχ\)*'%+upHQ=! qjVg?{v갈+!MHʭ:8Ub}y|{UT[zH't668(+EۛƮ96m? M--Y2q@>:-VMϱզ:8Y.l/8o5sa5\hBPl1)6$OtkCc,\C:f2r2?lќ vo [ qοCGuKL, +OOiADšA +Ĥ: j'#zS#lky+%ǓWvĄ`u{J񺳞m;sI%xC_ +5 ܱB76O낆ReqM/{ACNv.A@w+, +EAtbX˰N5@|gmmPw83?6LJ"W8'@KKɨD TyGQ$ɷVS%Or1 ZE.Q6`|Y.M-cho}i: IIm+=I$%ďr/59BRg$OLP 7 莊IKKM?@6ֳ:@?f$ŐM479EAS8k[@LhUk^dR2 f2~Ie|h3<.٘32fa]~w8Z=9sEoMIK9_ׂy(y(+_'L, nRJ嗿 KIoI0zjN?-f5gcT^`K9M& s:̀D i8vD2'n}l GC.1c 5꿊9/n=k 2ӱt;u_?9y6t![Fi9rz +3ˠjW6j5q{3A; bH/G/5=b=hw/:j" 'P9y@MSL hQ}zEc'ftWmr)me+aʸ_`m>M8-kvPX<Ȉbh>UD/&P奸 dF+ѹH*8Dt Xҽ64 `cr7;mYb!71m\Y{~HhN2' .2AM)b_Wڑ}=a7{lWKqjjO-J d7w^m1k`>x_-Ed 85cq__f 櫟|,՗r٧?>́q{~|7Cvpd-Li.8V{]OHH K' (PߎT>Vu!VYRšbIw7w&9v)r$R6?~lRmLA H7>$.44([* k=en…UH.]DTfű@Wu!iI,Smt4(ׂUiRGV&%M4gv55 48:lAܺ +gKk 팉{lu aqݜr]$EŽ-JiX삫&/xqXTz__'YˇNmykM@x˛A.@ی =ЁфZ$RI*D#9伤Ys淎IΗBUvZ:֯ DqLE\|`S +bPet=e:D}PAl\=LQZ2KZn T1ޜrnsDSk4U%aRkv%UEFB;'X$kޝ(,/i\35)ǟS;KTWvۻ[7èr_聖\≽|)Ӗ - L,/3<>'Ur\_條s3P6d;QܛL֬i0imh^d +8^-bZz%MnϺraXg}\򦩽}]=HmOF""+QقMi4-PgމV$Fu)z5`+ o3%=m.ӪZ&e\#VϮ9h"Q$Y1G<;f0A[?ektVqL@T!SpfsH<X#P,`55,7bFFA|gG^G.E7ˮK{}ѹ~$Qӥ'3& `ulVZ'fuKoQ*lK³ڊBpQ_˄MB2cqsIC68V(QK322L( +YlI7ݻ1s_@sxAE}~StG o .lx_K 2#L#:':unO_ȦM,a))zX XV93䇥Kj4Kwt%b3̤4CʴIxq7~Co4TRL>M.#AN2͐'Ϥ6<4*l栆bWe&quOnV{TLΆŽ[?W8}6ENv,㼟h fh-F1q)"Հh>zf!SN z%4[Ԃm(xW=soV +d\E9խ*h]?dvhS4WW +* +XG`\Uj85gH?N?7; "Ion02{iZ/ݤ8>>IYBCF:<0s'ns%:X* ]1^<[7{yplm^9jIxʼnʣ#,%DU>5Nnt!`%τLns$o'B\|r .5w2Hvv.4^{yTHy:WWH(LH>sN]Y—)?J$jDQ&3/0%6Of>wVYok%em(x`zIK58+G%8po`.B&Spb2*XfAm*,Գ0=>U8ǻefÁ(:X`2؀8{SB3+Sdbb +uR,ʊ6aٻIe!av^FilkfjW*u¬~Ey=kp{ܠ,5k>G,;TGu8$euP?#I* ;raVcj884hN]E"53 +gU:EezW$ںCf>zӌaͧpx, };cd&_4175XePKpV'$yX?El{vj>駹91:lA5;eEjY;zīx g F Jz}nNuӁs9߶z2ϱ^y 56RG$#O6w=>'͚皘tYY|p$Ih|cA̽>ɤ>U4#0Mx9/.6ۀd=4=SJT7">`)J1hBuH4$mo1e;(HT]%UE&%6b"Gq=1=1I,,D-G[ecZx\0՟fÕ20)M,A4.$+s%AH$ƹ#SA"evn^0)^hT[܌hI2&ÏX7=CVCY(4NY8'>a6g޴4Q 1^I&d"3ԍ,L[,>_yn[DaJb|Voc\4帳n_rk$:w$$#R?Yi8#P_mMG'ҒnTm=a!??I6K8'f3iO_d+bktޔן'-g)>IVKEܸ.Q=*_:V ǶG.ls8O@Ý@wzÿ;HXiJqt/{ݺe}y;ϨSVZTo#9`t|nD kU+n|-!췜Wijer7)]1 Ku>v1iimه^8GeDIXj 8Q2׃2CS*, C A9p,pU?a:tg1`IE;ڟ#mϾZQ2D䨀QMaVE:ʴ5ґ(9$H*WAigp52BY N.^Ͱ;J8n[x/갴4gN-nl|vsR,Yj>YZgE&Vx#\8kw|+8l޽an|YiԛoʈUF O%D:&0r}6<MY˯SS?;&7/w1:4óiC/3V)}ϖh&Ѧ-=tl;zvT:Yly>Y0->̂={`?mD~p ronPʰ^昡d4-N'R@HXfFI2rbeVٺb( DjK>Ys[{ ^N6*Z,//|)MJt@L(Eg-33"2Y $d#Wjx25yA00 EqJ+̗&!h2$85=-FIB˂{Pw ߳/z_ _ o<+]m<|== V'B׵gA*u WUa ]?J$Z`ܾt\_ldI藪eu4a?, x™E~:$i΃ fl('q`2 [AKgKGxTOϋma!,ټA 3xD{Li> +uߒ⌆/\LRXf,|'v Kh8mGsܭ1[^6\,k&2h+4?阊huP;aѕױvԙY/$Į6>phԊ^uMJ-ɔ|֝J. *0YYYSjt3||Xfc@jbYohL "1:4'@{vd? (?2Fv^qN\b\ѬzRtʍtگEV4w-ize+\|PQ,v;g?r, zɦ:pKQT(&dOqhAd\ŊhBfӲAKԤg +$Yc2[zgO8G~jtyƣjV^nٍ@ Jo sX|sₒiĎ(CUdי|/dmGcN6H{BQdj2bb 44gY|ֈ?E H qƲzn*eLtY.ڍG-lΫIX%fPe5}3 G[݃j9€)g$[NF;^_)CHYS]Rӫ.)3BoBb{uP D)RO [B3 zFA4߬3)L^C Ҭg٨LCDu?;ܳ|WOK䫇!2\)6oLz{)PBvp&?DII.2ڤ*%aGr4ov^[DdG^ZEJ.b71E]lwdH=}R)S^b¹(Yu'~Ê%,b;0#-| +,I 2S$hHP7ʔ5@| QPyof'=%&=jL?y⾷vt'O_z6)''QC7;^QG eC\*8&r103x8fY Wd=f:Sk8ɠ=ve]!XLAg}~ͦQ&:l˖GP|.:6$iV ̓u 3q#:RS&ko\) 7\DJGN_{T5>=!i#'2vpEPPT&Vs1泗w1'g[Nz-)_}ƃ +v?DDjCjH7hCihR;khƄԡP15zLvU26;x]rI-&CwQ½Ib%i 6r9g$`}~n~9%e~d̵"u W^%&(a  ck$}4 0IP%bVTnVuoBb 9CG(ap{dCOݱ1+##'5tK}H8pJu1 yR)$pRW{ Z+PTK?zІ!auBOhIY9'ӻ9p.)TylD8xXnO\Y+|dwGu7v;/kK~:ʄ5CJ1WƓP9XENBmC0OxYYϚ*zXdd=$70)3Rk!dL$%BJtbI~~i7wm,ߨ5uH's|ֺ (\Ǣs$-n-tZS{VGI/(kC֧@79^|6Zf{jc#RN*CrsyZ]u4&HE*xwS`tio3 SsFwޔL1*&LB giO]n ߙ;Ϣ֋i{?81:3W&X)'V ؼlN(H4Ų5Q-yHFT[4"m&8HyUM=JMluKɉO *ĞNQ g G~];td2&J) *$Pл,2sIxdw||=.(#Yr#ɤdI3t*Utb4 + /3u ~ +u@Y3cd*!<)kZJD~ECG)SjZ.2ӄQD䚊lVg&"cτ!DS1 ,Ф81VcC 4JLdW{80㗮"U{|nB@9Bv)E(ӵa,u^C=t.83;"E"`RE1=z +q"puԵdoJڞ@7P +boqH._̔-͸D!PXDf}]] IC8ۉ\P^d.)GiRU-L9~p2~RPԉtՃ>SRpuSN+zL6ځ a1,ke 9lcۧxl4';1x^)9oq)70œ+@8'.>C)G +DSja`K/Ԝހ +(#-DdZLp1! Q]-IW5*N<]}6kh$PeWF$e7E(5\ zzsɁqƘO_G`\\%F NM0Nl(bRb,I KZQeLjsBSo K)w9d+H+Lx@ eJ6ɢr,~n`| 2_G\1/^BI* +;x"933 )R&DC)Q=ΌG G_,fWl8mOE%4(DIOsI _ԝgR(D +O'4s L%L:d86Si +RĪ&P.Fk@򹉘;-Ա.)4rQWF|j +b54zoH~O<MI"@*Zym׹=՘x)r׉+Vf,G6}6ќ`'ӚLdN2&iemTSP/4ZGx*gӀ0 š`🄲Q)Жc%rH= /5QCDJȫ~B)RL@A'wS68*S (H&)]_`Q){^z(I71}U?k:&T}K:Mlu3~ۢ+mڑpQiL0a)Ek&XԹ$3a{J#UYa%(cUYS@J 3o~4:V(kC- +O+źkX%Zܾ3Ƥ`ΞvV33e DSrZ]ؤ<̢~Mx)'w@VXH`5o*ARule$Şh jXiFn0}iSXM)4I8b:^a4WH p*A5J) $dm%H!ŋ^o(k~'`UTB(*^fnG;/>k'6?a}Tnq~9 RѶԺ'ĩ*ZRرOJ!.Φ(1d NoWkL;^NG"8OC9Ȭt8I}J]'YfH|uU=W<ƔԺqll'_)Nu4mhaV"CeYShM-}ӒpٱD٪/zN֚`N*] =+)/,|V313u}W ]3WKҥ}`A,EUνZ1EJO̴z;.8"=;5={r3im J$&23㞻Ғޑo*\kK*8 +UԼ᭠߮H8܂qFjJ+ +Efone%/d3eKwf1 X2>򨣷[IN,Q]9o W%uf-K~U!WqR)YN;G1~W`iQTVR^ಬ<(ƌOv..sI$.-&1Sa>. @&GM=VΩp BiEz.0GX]tS+Wp J-^| f;XڑOnMOCμ -CK#[Te'f4r}]u&ޕVS"("ML{CK'=+T$"~`ڸ>6ʵW*/USc1ҵOMd-c%M^i.zEH2w&Ϛ?9vnG'NJvf4} رquNO6Ү{8421]1}7|lNV<6yb|KߺpOU8E,KKiSLrcTswz}͋,ͯ> |$s5j:iv5k  +yl1TP} r=RPWPfjJxj jVD($S8itsJ-ձEuFTӯq'5qahq-GGkoo^s2W;%W-fAhCD8flP|Q +=\!2a`ÉBPلVRK)#F4Mr +0;FAOYʜUOpUhp)xGTwGqטo(qNHLШd,6/:~1X/#g aIb{Z4 +sY+W\=\ӏ̐uaiYOv_ 0C]Sԩ8#?9 Q;\g =٦*SQVRokqvH6z3^`Ggf0z`ǜte tPM" x|6t[mP\ -*P7sï7vuB, [o=?߷+ + 9]cEV&jl  lpT@GoQ9߈!긃_W7p~]{gcQ:uF_o@lnBLSM֤ v-Po(SʊE t w$/(+0gnhl {G6MS,^~JaX +](R:i+bh/iH7_ϷiDuLcZ:N7>lza ;ЭCzerTkQK".8}%v %W +4}._1.RqD 4$ne/e49u he}'/ +nhs=n$Qm,6CB caܬ} ؕPǰqsyt,"bqhm>I V_3w>cMe} +΍o\h63]h +L?]$#)ߋ"XsfRmBk7dTR XxQP4"&(7a+Myc +ͨOhvۍ>T +d}azبV aL9O%5n[_T*Tef6d-,~}NRXJZKaP:IGL)`XfbQ7i)B cdAm*c@n 02 +6l9y3or ؿ;!~Bnyu;U4X]QzMWQe’OKyPGl{xDZQ36=-98 +\q9r 1n@~q لkि>I*Bo +_#JAi* dhWDinڃn&ADf 9jʃZǰC,:!Tg>B!ұ=YkJLEC*e)z[vGBh^Y} Z-r~tѰPuG>/sjAl9;%ۻt0c'U*7!T{HR"L0BAw @/kΆ+ʶ(ukuPLU[,I}ўES~wT8Xp-[/84&E;,cЌ}r 4צ,Cz%$YpErU[>VC-eGDr';ɺ">Hb>T̷6ne [;o%P+(R> +Rt; }!3Y*L#If[bt~FY}t4M,/ +hf3L2C#R +-GDI圚nM|60'07  2f +QХ9E8@h(4]zS$Q At%huk[\nHxzϟ^^@N_2\F8|N7ѱэ3"߼e%7jA#YyB|qse^Rs$%=ĨU?@MXaj@cPz"DpHy~xgic@Z{=*czh_HWeEtװ%OV{ba9dY'FS}ju@ffdv^K]aw[W^'[J(L$U2kuh|{²Z}@eOklt"bٻu˭TJdMV7ˢ*% 6\0 iתպEZn_ +>ܠQj JjD),,Qfuq8"[ ?%sg}᜹Nrbo\~R-TF8f^^Δ{gLh6pv,Srp: Y̨hꙻabrOwhRT4ETΦoY~&=¢0L0%ITRJtG5p׀4F%m?cQwOO'Q4GN gY.8ݎgf5/$f$ +fͭ>1Lxs_7c\WF;DHAY=W跠l4&XKT`YYo# Q`|rydL&4غ^IfwǪдœ>u2Lm"9YƁL3 M2蹴-ql% \C(ŦI;qjBbGfĢԺuŴ르O +SG/C,e5/>4?4&=ԠD~AibjTC +YhFA5s%jh>w߬~ƬC6Ml!B$$MjGmăT|yB\\Y;+-x†?lNk{PrOHia?q¥ا?l\4X9bq~ݴ +PqL h3;IѤym碬EC6]%9]# g5ٽ⭾'MYʧq׏4`6$Oq  vԶ*JdAKk|>0fIWMT|=m i8+\6_5E]={.ϖa9~}h>dD +tܨ\oGBV.;b~~얀?:2͒~@qihn +Ay2OѬ֊vC'xV*u2_-An. gc׏ù l$M44yƒp$<8Z]T.Et /Z H7835hL#Y 7 ǂ+ئ%8#M<'&AiR`VRf ɡ+;w`./4$Քё=<6!2%X\v7ŷDdV5~ 2 -(F`,Fj` ]؇k =8-}r8 bQAԄhpMq؃a1+Efٗ-G';C^3x\d_㎒>t<@1^ ="&$Y:(HF(F/4@@יiawLe-lHLjTJ !+2`iQO^oJJN(ճ?&ٽ~ƇWk! +I&5t,g<Ƅfz _ni +hQ7U2MuG|"Ŵ!zetf@tdg}\qYIFScO|\A4ۋTWSu/Yf{zKpPtѲyӳ^ǾIO+S!lu "ǖ]w3!!p 0pSԥfc 5g Mֽ8ѢM VCSfifomybYe+嘞D=HzZ`XFsQ?vb d.'ߤd`h$Т^xʲ3 eEݳKvکe@0IwEWdӈh~(yQN @{/[`o;'c4Ǹ+<{OВil~ -ˇH(O2h5רJЩlLZbO%M3*C6 =@9iZn~9rc@6\mbYo˖|̧c_9Q.$Qj}aIH˭Iyh:4Q^teW,̇*1*~7$9^ RQ:@/wON ?QC2Õ379hMc-*n~N_0~KFc3KX,D4+HJ)̱P/O2Y+$8Ƥu(Q%q؎;&kй7 +eoy:8y3!pI5oD ʈ7Uu)o6>Hq^D *kJЦ̆ Qn3WHx<'Q/L>A_H{w>qxdF'@jt-ZW׊06Fix!ρBRt>[wm:F[0Lf"+D}?R pq{^vAU,B0 /7nG^<[4vƘlN͆dV8h5d S'm)&ٹ=$@nFMP OGEp;(=cX;Hthke7}B{P+ފ2z$UlTfG-ץ6+B-Np=ʟyʻKej2a/eeoNl޽QGWi:yXVOL<7"d9͋ p_&bT2JS,)Z>4;h6',1,S19n5ɰqV"q!˥Nǔ[iSéz6]V3ɓ~/.BVԨE%k'@M9NA^'K +GfsِPQu77$$3遱| dѴ>Oa;4I#}_4ޯ4M;+ nE9QBjlۦD +4s3;0ܔV q#5@[ujA͍b;P(D~9J9d~^n~iL33:缝 N)"kY~6hxtm欈 +8yy ;F y>NBĶ*#6-+D?`ŧV48;ԯ`+~,)B'fp3ҢQ' ΠSMGɰ"y< Xfb-lJDuqVl< sZ2/> k)! B3#ȤWrm2̒?OQ!"^O(+/RC/%õwݨXG7 ;fxM84erMsVbVo +M?=mTWW4Du?Qlj_b-o8~,6:RJI*b w@sY 2:^#OGPMގIKVف:\oWђcz~u#u<8%o5R'mGumDe/;/p4 1Qo~HYlQ۩S\%O y'mѫL OBIǼW/[}R͌)FVRLS=:xG{* rvd;153JIpB7K9\pn7XK9;ITVيr-H&F}1/b2Iq2{h\HSz}J5.M96m+ oAK՛>D\v=[}2:<~ ,Iޤ\c]etJc=mE+L?ڲ;tSfNVVvWg5HL/[ԟp8i@0mND slΚǚ$=?S3_bppDW+hB6*'KF\RX@R+DC> Ri-afN!fYX5&_ZcN S>$nK/:g jfJSֽ.^2]yq9 3A/€i(J +t7a +aU xCOsyӈ_{p׷&??wxR/s;ә0u^+(񘀧Q2uus5KɉE~@a^2F~p@[b7'H3'ES-T4=I !m*pQ\?/ݗkBq׎eĄ):՛$J㇍`kdPHƝQ:UJ+=SɰtX,xR HȐM:Z_c'bQS9 ԁgڶ}e8.sѝ:@rmЩš3*+܌GZMة yR$irB(uCII{>.)բxu}'sw\]ta+t/Qr#Hy*kv!ccG1'a`s{(0&uԒ<R߬6cmFXZB%c殛߫R,y] ۰Pub4J0,-S3W2V߶-0}yqv,&81KKX'04%u.ZP|hǵP4I ~ j0hKeZjHᄵ|R9/ɤ!RSf&bA25`HٽD_nuWfwᵯ HLL=zAk3n9T\tDڏU峽Oު-"$1_Zt:g_]`ifDYMwȷses){mJR +Dɏ!҈VPf%]uar#f ohY w\͡r+i&adǯKMI1ڗ&?(\F´X2ZJ 4w%cCӶ?*gnc%@T!<2]rl SuO1srdv+]%g;}ZD +9QrG5ElL!vt ( +6Wp\c7r%TDXpExeF'3jN'=>s.nnNd\׃12rgSPEZhLdOϤGt#wPog9xB2VX=d2ϕbyiS&7C?zT8$'˹~ٿZAƄ6&׫3ıTur+wr>E[UaT YX֩P iAZ?qdXv@?`I+h {lg9zBy]ozj ?ħxim^o9E.0e|8#ye<=Ө6jb|qŐ4KMOb\7l$vss/tl;j +buMGy4FK .]T;M/1G* +?Diw$9r@tSr9@>P.O8{.$> d2Y`C8G,kktC~r}-7s|I0`eiu 2F.1NR.3lTGMV$D+-iI\Tj p(U b]Zj$( o%`FXWPvpğb@ j̛$M5Q`e$va=*'<7":hxP+4gc+#G[**j8T%:nktηK?5HZ<%8ŃRQwƱ?(5fԺëkg@,9NюL6S-Bq2.ۘz*j1ð?(ǛnDq!%zf]~`"'>b=2N)%r&CRPKʘD1&Oő>PR={FKM aI`\cP^B5R0񭒥ׂRf_B)5WȵikǢ ktfV̅o cdKjyb#ʕEAf{aQ=Dr]be|z3Eٟ!AxvbipB%.ڰ?6X2TPNL0=J "6&5q g*.88T$"Щҕ]O̭M>F>b,_Q<4$UU?Rd͘j +v*yt^Z;ݧ(\%bzX!9OK+ ?,tAJx@'>>5ղU--Y~}[)@(M.KJM[-  g{05j馒7M.S|bӼ2ڝMl*,_l!VT]&WgZ"9G4/ݩ#r:S-h4iϯEO{9|J6)Ęohc^+;ۓV:zIMZUǁV$ٌU[Tx`ri͕#ropzוEiMŅ=w, iPQnB,ĐQ[{7cP6®D8mB-ӷ7D\ @jDgP5b#c_ڸ3dߚf"?ı []J }WÜ3۞6ʛ4mj@>88kW!xt+%}A/{̋U4|x_&ªE,{8>T +ܿrLBV(>tU}lՈ_芴J\c cw]L{_0>~}_vZ{}AwN, +Ow>F&zmxpg %NN7X&clvqnv6%Ll " `}F709ue>e|"w=:DZ*(Iwמ4瓞^޴$VM+J~cW݋r՝ֆ@8x݌u,|cۺ!t6YiWǿֿ^E)l-S(,h?Im+; +ϧ/wF$} +]@9HP6bCI~ )gT&k&f{&i&?nsIooW(Uշ1]MНK9>U&{LLzNo.W9Ew&rJײ21A3"ti)[*Dlkc[N-8 )INttiO2gFi=35 \ΉKFFzJEҘwt6M3Ւ'q>[>-D_6ICz҃ZS_\L(х;^`!/)/HuCTsS-OYB +qik⅞4wzg13%xB^XץAmc4'l[J3a4|xz! .ovcz>¯]ijG>m6o9F~SN?''kZ"yJˮO%dch.%[iWS_tY5qIպ?L Lhr=_JIA9/_wvS`Ls/ =.#*|Q&Uwr*%N{ɬ"q_q`<HۭU#rm +(b_3aɻIowv^t(;6"Z5R$TZ>r>w+fskKL#/(Lw8Kuixm2pDؐmv +Sƞj1KW&R? 59@dTlL20\HZ"l +!Ό}Bc7*w £\UiW{(ߓH^h+DЅk/+b߿GO?O?/\$)D_#St4f8~jvѾ8{Ncq]}0E:q #q\7}H? r:Nٞͼ)]zk +OpZv1Ii0`hm|}Agېl=F;2‹$C¼6a|ǾpjWF>NixV?3G5\LrV}Ws0/4YTF.(FjN%> [,S#_c' 7T 88u C+*vϝ+MG2{j\Tq˗biwo?G!'{NwV_Me(:׽Yڦ~,<#vH&ᾇ]?9yT)b^o;5'rH0HܶW&5jf̧e;`2NvnKR9,b>Y<UmMYӃNXo2'ݧcL+J#9in!Г9ݧЅ/3[O]2w|cc-Uc‹&~Rh=T=sDBck$_6ˊ8,bɦr&Ѭ3#V6vǷp N[UUJ8;@D->z!AR@Ȋ ,k$ݍ#Ur|%aŶkD 08s +bq v'v?RIekWplSw[yzQ`ںPN;vD*Agt+nlh#6xŴ>d"+TcZȌەƉ+x۴T sX==ms/yp~C7<1g<"JؙzƤ阄ЩLbmԻ$!E6҇E-t#0³B2c d3aOғmeHř@ '/L0pG01tÑ3})szF鈴%!,y85MhncɄy2By =$@49qQ.lplce{1JP'J]y |88*A4ZћimK0aݣ-LK6tڬ絠5n,^(XggbZ~RfPNI*z] yH9u Ne J[P,P+jFpLSmm$L+Z,3lX~̒>ì).9?2$ͪ! %mZ3z [=Qگj0 G*c⴯g0&B9Pv72*}@9)ǷnE+Jf! Wb@E#ZYULCe/ I{XNȵYU&EȚqXNPր'OWͩlr8p.g'y1&T$#/fcT/q+M}7y&+ZIL̒Jml9TD~3"T{ũ3YlCΗ٠Ts W^TLm&~BKT!L?<+ioxRPˁ#@G'zS͞od#9n_LC͈8 |FU'mPe4NR=WJopH>(Yh=mYYÖSQjr71P>RŇBf0),<$p$$ʹAɆ;i`yE!?= + +Ѿ;#nbR,fen7Ӥ8J?hB>ψdmJGx6?aY\hIXm!H$; R&m0iI9ݑ"ADCAYEjR|{WT2Qd+{E7;J.$oxܬ9@d ͆Nas7$ !F*!uv&u"^[Pd>4;ɛzdHY m$yIks7[}nNO8|n6&KΟ #%9 4SMaΡIPD*~7Pz$Nq]O&Kg;") +gS"r]h1.u\\],wI-@٬,Iluy62-v$=XgI|s lЫu֓lH>8Wo\#W`YO}?|$4<=^jOr}Rŀ*<>Yb %) +Йų*hKAtgL.8J' tJ')߈NIPH:diIfH2aщH.OkK8/<-Ӫ$6⹷xZL iJIС9e,wXgh!iYC(0GGgQ$/XP0'ɁX#d47H^0I'&,c[ ^lٙD~ssT۽$STsF6dN`S{p@ 3]uDq\y iYF*LN7^8Sݹ7RPj{+0hxDLs&<Qs:^nY0\Q#ol)h KOрNwBxj|Îz&KؖD- n/8PӬMO4>َ4͡9%IFU}٬c\k5ni&~L@u3@ŧMDl$F5*C$sc9qjFBU嬦ЈN&;=%v;HFk@_:vͨX̀z77r3I~*oR0zKw)L?Z O5j+XJ[%H|8jsy 5+EGݱ3Im. +GSNjO]p?֩4dDZC !ԶJBZIv>XA*Tyr&cY=fJwi2r#֢4=fXołJ %=tߣ$ /?ˏIxT;W&dqAPl(UX7H}0ix)SU;Y uo˽M\+`Sރ4z<}d>6zo9dZH_`:2?)PYY$ԛE"Cwg0")plKr =x +.=>(:~4Gwavz'I L*/4= c||eܗ2F4Ag{| c3L}9J@ʴQ%nAzJ06 PO{B)]F0р+&-CcRZud[>|J7ynm%Qg|"YG;7Bq2~Y,I[ Qcfخc(c*h#BNt{Jpqi6iؑz-vKGcG:!;tQ/=K{cf3?:&e<ڀ]Q¶y]~{Lh؏겼7mìR^Wy(}tz|,Ń]N^0]o~/jJHMleF`R%At4 S7(0v20Lg h2V֟g8xtSYʓ1iyujB8}eǩԫe$@5SXlȨP[ԺDPz`,߂j̜pk4;3N~iRMᕄHǏ;7TP2nR%K hmm2uXS_8κaQRIZ PxR +CR|Dطo(C}~]+7S?z`2l^`@ +ұ=>[`RG?M/ 5m48>YP`|rY,?Z-9k&!DK4r(026mb="{0SwtYl%E$GsTq3aJm ;k]O@.4 D!"Ů$p9p[4y\]W4Ǎ؟V%遵s!Y#ȤQ-*/~4L^%G}2ӒͲD-<:S>\}׎FQu YT3 /U6 hьS|PTv"MJ`w@- vtY +%IUӧ:Ψ׊oKK+<5Apk1yEKxl1֒gl`уx,~3>vsYRSDZL= Z>.PQ!P&/[:)_ָR63JK^﷗ݳ7 |s&N󨸭e]XXŠZoj^v?$'ɘ˜. +(frrIzV_ xhM<tm?*'MsQi=i9$l8pʆhu~;Zj UjȬ?ЭThpvAMsM7 VhT'P|c궚5fR?8j"JēB1!m6Uu7<]E='`ɯkUHB6cl7g' %9P2ڙF b,Jħ>|y3)3uqt喾gc5[Nf~3Ks}}^ʹAM^m|OW!ʆ[:I_ny!+@x3jBM gMskl Q4,E{ꍖk)n;āN_\%sf!S.1g(Ǯ:IúGm`ȡXNtd!Cg8z q6:`XHLj uIa<̃T;@}4* b2ηG5Y>/9ժ>䤔.LFdyZ]t`Ĺ?u!j'+Yc< ͂`ozB6"1,Ҍ\?zM!߿$FxN[͂}|SS_*'NYr&q+הA=uA6`T zeH7r2ަ߶@~`Th6a;ZM9XY帉ݍgPMO0SG{1 g֗FEi4=~﵆L&C2ɚtdQxFnn"ɥ)&ZD~_#Vѭ:Kf@c?ɚ_,Ѩ>6FK}&v.дFw/XͿWƯzC@@Q8{O9TN\\u}XVڗ:Xj#*D˯3/ޟ>*6q/_Liu"_tGl⍉CXK@st舗Q`yɫ1뇎I?nu>˷ 6^ +}긮G]Gۤh&3l`489HGLP}Ûuvs4Q6dDdTFko*NR:pDf\w|- qROOzs93~Hmhp&z678f$$btLv t;*aAKBJAf\_qdJ_@?`M/h$ mh߂_"~snm'I:ƪ+<%H v&7x嚇#kl>iI+CyTTv$Q=7 sb/0zsJQUtϺ;BCaqSiB&K qruOmhrϯIQ'EJTeQ!~" w*EX_؄)1gTjjN:lKng8 C֗pqk8!kɗ);ծMZ5ص\c߫Z؏)RZeYԓ fj@JkB c >kڪJ,je'*ʵ Xb~> +GϖRXS3T &0dj{{PQI}ҡwnxWk/eQѴ% ڔ{:bUgKTNť#AZ]Xrĵ$")͔XzwGk ^Z) I-{ce|P6ycKBd!Nr5Wj]};JrRBO6ߕo +hZRu5%[2mewz$U +-]^]G g0R$1gJY <+$Dg}iaTgCx??uyztkK+9V*x!SACvOZZ@AxV9N $9x?gk`RA)"ەފRYqcflZwBt%.XY$4LlBy֓N(K?bViB]`.ݔ:E5+sbc:#qu]َQ+C-3֤Z3}2gcThA'VY|X?ʵ:aa?@}q#JWCe(!T~ E2A)χ l%Z&6S/v[WF w)E3QQ,0bnbq)ޛnV۷M='TUl5d22,ݦ]k&q刘 |oap3#CI'G*%MtetɖqB ?ƿ6Sצº|]=l</%l#iOjTJ^mCm[98Ř2PYj,0%@¦m"'7E}RgYךA2K?]R% ѻ?j@C0A~ҫmEIeEL10Ţv#0A1*N6宩ilNjcLp + S:5_u$c#\8땀87&roRjsr67Snl%k橖Xe6A8Qx)m %\2KŜ4!&LQKX +ˑKR3zRPIY]"rѫsgtiTh]%O5MɇiH{uj)Lv-I*SR)G4f?bh8j> gW% +SΡ5RZ,˄l,V=G2c''c JOľ_TT$^zm2Ei `Z}U$S6~EgSI,nIzqdUԪ6+ /)4,0tKzjH*!we86dABCwXҔb  +}_H/]b44XS3S_rdE`?yi@R=[}P1{:٣Nԩ0MmTTn+/qP6l+Qy>wB\JH1پ7lK e ˃jI3v:>cTFզ&9p37V^=~phyc~xK[{+UF5V5Lsn#_7l|Q8zP|!ht4vZ({{r)͈rj+TD'Z1$qJprhS!r$Sͪj|VXEjAzʔZF|mjXFjm"TH3R^h!'¡j.T4؞JIf5YoҴK:ϟ1 +O E?4Ac |nk6A6QvdT<9/ RaӴZk\x!!7qMy>i4'8Xg%%M0xGKQ ށfU]K0\VsN\Zv7zJ`B{bHǒJmϽZYh*CE&8>TkNSG׭s2,SG"A2m T'T`Nk[[sNtLj/w{},8WLV-NŊf=XQ;&'LINK]?N4 GIz$N4""yhLo-*HB9@!WPIfY,؞՘T B_ASJJ#Jk&Xqrڏ/CH.E3̬}gӔ$k.8Ac6NZKΣ˟,R y􆎪tifgsNj3*:"$q=c4;W(7/Hw)zHhϽX<fExԭ˄ *z%J5<%V}:rr&<_Zla/i401-||T-DCѬW|g7C/)3YZJ~Wkہh ҍ;Y(m@4rtŜ/SǕIϳzkWYhZa<,}K\ʲ;3φ,YYf?rZpOdFj`VfRPӢ+4P:v%MpOفhڪf$^7UYY01Yi`vu+C"r/̢&I*m0e[%A8ZM7|j Gs%f./nvSjxƈ$!43HQuC.5}鱲*)m?rl??{ ~TI S/O7C^L@;r-x:,dR6#!ҵ\dSr&%ܞ|S'6JH!<[7ӗh>K%TÀ3i\JdB)-@ ^ Dv_1nץ[s(<GB*t*n$Z~W/Gi>H o'hjcVQuȌ<>Lv뽷/QÌ :N.oѠ_˶kānMk۞P'9BRCbE>x.Pϖ&+%],kT$MGvEoW7/µLrg^'*%QiĦj9<0(#W4] + _$MX*ՂY$-D])=fN/O]~KP]tU߬=Hf}"jk M@A: Cu:1)ICWji#\;j#dꞾsBR|P|^"&AjT|HgD&y.EJ"wCKf:a4Hf6,dIMTjEaJM o^;&| ]4D3|!ׅt9\9L[ M<#Z^\[%JzVnvAi$Ӊ .z (.,[G h~!Ů]G9LKeY3O3jUS "t/\;T~ =2k 67|.`a-:sx6^|}y +xM}YGᙩ!7 M$Yp\u,Xq6VWhHϣ%i2h,x瀏<+NL'uTɎ 2RuqsYaYN =r^$Bqړ~:v +6qxiV^' I1[Ϥlso` VttD|HO=vuMAx$ͨ .4ɚy ߍl˾J@1O0w^Δ>3-g8z6%|0ijA>ztH-噛l0ꁲ3QY Vܷx +ew,ѝNު-$ j ' H7'loL?[_Zg]MGwT&a6Of.H%+Z;ZDegErK0Ub߀T!S oG|xB$!-%ki# ַkN7'ҸH~"Ԅd(<_"#u2Ҹ%I%j*:{z=#M{PK5TSG/*$ ڨ'@.ӺҀ_h'>$_|9_4t`h{XqY‡VKg$QU:K!钙G.4lg#9^t2%[(9|{_4vG~_ /zW-U$?R& +צMGkCA<ģmAP˂r̃SkyTo0zE&eՁh̜:H +ky4wVHol~:oe>gS&nJ\$$)u(,AD# ?*]I͜iIKE<Co>W+vo^/I#|$9Ńh?+җ@<֧Q a4ܠl‘.0QQy aH3Ty!vM3%rF:ݢ]΃-vSS}ɭpϱf~%rx$-YX!c5"%GFxƙ"5fT: џ ʣcB? M"OO[q{q](FowͲ|?Pb뛀Ȇ+`u S5Z`Uր$Φc1!©ȨORT;"iC5  +d6ۜ?l=l>[yD}g\['w+oPy?e޷4ij~$ )G"a6X o[^iPflndufUDtթa K^n魮8}Q XSp'eo۱rح5QQA/Jv$VisG=X*Q]nOIpF*ԝ-TIea=y'xȿwfmPWzu4=+=@teݹa8Q J-ViCe}>>_*Χ>f'3ʅWA+DOXTr,BTm@:ZDd@mHI`[2dmGN4(%ݕ7~T]滯}.r vVWGL k-'&Ȣ#5e==";YTfK`(oO|{4NtHUKס4-GtiHygb잓'IEU)=e|v=}71  Y+KL|gݷset]bfH.f9iDUVW +˵kd 4`ǧ+z@AGLi>F4Uޝq|ZӊؗKx x41Ç\SA'ر.o4|qR5 J-fQ VD㊢hm5E Yv@u=lm"=G^=y5AX@ʒU@9E~[Nr +_.ϴ$L )9L%o3o.KA"iֳ +iAmS\֎F$6kBnIQ_WPϋ[ ȴw>Mԏz8/z›f ͼ͋Km~T`uzNtCi0rڻ', f\I _|#5f=.zZZjz(q' SߵW4'='#b/O pj$O=x,0ӂJYF?eY1yTK} #=N˽H6X[M;#USp&:ҧ| $*rFuF F8I3 4kYsNKR1nr~]\r<~f%KKru.G7<>ʩ_DMt9HE (TkF8ڦ6kXv K'=2&i hQu&#kvi +\o^_EK1o-9,C~:OXAǪ5R*:b:Zb!Ns>2^&jV%qjs\R7(+xeM ^T\Ix.-1oMNװRF7u1W>Ĭ#6mNjFu +6T`2d$Ԕ|,h*P}QE%M(ۼN )aegp30.;-i#bs_bj5j7<҇$[~M7ۏ1v9!(g/U|Uy@G 42+Od2y,5՛ 秫wuW#F< +ND# aY`(\~$G.DNEÏ:V&-&Pfp&{=`0{iT|4?НFJ&̉lwr]ƍD % kF1DՑAc cue0"E7tH9& ]k蓜K_㞀:R=[ɺ*ZڪMgNphؔx ]ea|P[j>#2 Gibۄl@N*v{'/#ܲ[q:{zRXTuRIܓH`#[ȔR5ZtSOe/ cX +b5KbHڱRB/k}kiT딗_7 h"!ް<*t i@:;-!5KZJ-"rkG:CsHNM?=9MeQJ7W}X]a0zO^7UMgW?a|>%gSVt̵<|Z QW.L%j;TIY9] jJ&j7"W[F6l$~bf[Һ  +G(PC)Y)`yag RdͿ=Vu6.CK.aţHK1ʘ<l;wd : (XU:*,GsiP]]u&AMuyjS 迉:)21ve|nڅFDkχТ3Ja3Lǖ#͵1Jq5 C"UlWUX©,N1S ?/j'Ugהw:CW5"4Cc +,뎚ڍƦ<ʔuIMV, kTPldQjkili=C.P}ͺWi]#iR;Kk4WbFqh:\C4%c,Iڱ2!ybǔfnh9!(UPyF#M&_Io8%#yR~? `iE0m݉2Tb[k=H$FAWYI[3%4&Ψ'Qz0)lv7Rw1oGjsi2LF=ȩFo<:ĦAjB9G.(5M ԗqCJV^] A-zrEzƟZ8\hВhUWl4N̾BN1|yPZ6+ZjN <*yAQRKIޘ](UίK'XIN-2r~⣩qM*f̥ݔ  }gQ;nB@@ mU Bʯ:IL <Г!bZ4G- ӂPIQExogOEcծ (&.跱Pc\M1t6}Dޥ'2 g:J= +,%(q١vT7=iP_,8zҗnhϱw޿$ё{$6-Ud<95E>E/Hb%ҴΎu րbHeG\ 0QRD1ѲsrhWL׈|ka-{+G0mҵBNЦau or, %]U(a~VYeS<{8[UGoD+Rj Ί|u\-dU߬_(u}q 9ma:shؙNE,Y% +!р*u2ŮlJ4ZRΎ`[˦7ysqmL擖ϑLeF\Zs|CΈ =^4$Sd_#z*IS]m&^z̹b֙-o&Tѓ1*ɴyoCDEҘ !t*ji0ΨRe{33#7Mi{s=K)6o>|UyE>ԒhOe7vJ:~IP_Cjv|UN}kH4=zJheXۓ0_ܴ, ϜTWo*ה#{rgjzC-5XervWkZC^Pj.\fWSB?,[Mc4(~VOÒNg[\38y,c ՘gz* {s9ޤ'vTsaYU@Am ub E l{_U {/U\s]R"86~,+W֏;O %u~ju)Z֛M,Eշ:7co7ͪi&w=Yx'M]3_Lr9wsML2qk ^02d)V!9r٢'|X5JWBZ%Em$W@j{'O#Nk=_rmǶ[.Xٖ\C8lum=NhUO(pK&=Z*LTE:0rhap; ]Qf^O\TzOh)8UcX O (7_zuuڒȩrB/i;V+hTTYXa1,ǥbKǺ8&zI0XS12kB)_;B>m#LNA`֦"WߊJckXG/\SuŌLZ]-#'jNþ&*;[ͩ$,#%,|I,2.e|JҸx v;8-p?g\Ѱ ˲' +}NŤH~}C_&ɑ8d$Hp8G!7P2JEZe渒(2ūZIpQ6mo 䨌LÜ<-YzF18`\ I+o;n^7^Jh~MMx*oqGcx.k;[jWSO`M״t#M`㜪}~58ۏؖ5N˝g\o>~Qm+uTx'ZMŭNkΎMd;l +UqSFZxUǔ. r.6! ]Nj] %Ĵ/-+HW) +XE~ oU>81vԕUܯSaêj#5E}+}G0j]K? ?cKwU`>nKZ&~wmv~0n>l)/{veq*Νvlvٗw\߾&ͪGNyԮ?y"V|iSa"]}mjWCq3һiuoqX`6:JyF69U;l+.п>u5{ZWZu/*o(a>q( +ݵw:ϙU\A(ݔR,-ybo\v\X1Ƚ9yzQsȟ/6,CT_r?fhbGgy>TYTS9>r] 'xMu+MlـTW_ҹr-Z6jOE6b4|Ge;nQh`?>_`Ĉd4i@ Æo]9)&5RQ1e;$Mrj6!Іo%_R?{9-&kGF7!F}.s 2 wx}W_JW'1.ex"2`M^ ?[%KPM?v"B/vr?PIK]8,{țM?a;pi`Ǝ uᕳ ?h*sæe,~\,z<dŨوdg1_oʖpN,8Ud2T]Q GɎ2z{w,MWF5o=5_7b+3oFd?od_dspX*ʋv׉QnY07CtٮBx[q9bv =ξ_o~ nQqZ ?$dxBE)N ͭX`M +y7|sjH+/z8M0he5&KUmF>qFٹ.^"(co[*-?wZ +W:b 5[,tJ@;/  G62~!6:` ΑED&32 +v1͢R#4d'gIR_,)P|*"|X +p*fהx!0Sg\*EEG ͻ&0\TМdKҴYK/hJ-,#TDaeѧgήX) .;!KxRFS8ǡ5d 4BnL%fGjMVpٛy&G%SU4]%#`V2ryM0Y"|1aNvY6^%?aƺ*DF_ks2-, 4#N*Ny*jVqv.CM!PG PK e#PE ڵk*՛C<I`)B? < pWtD2B!zkizzm-i8tw[.;Zn2Π,S^L,?WyvN"uwd`M*a`$)Es7CJ+zV,}9R},n P^O& +2<6PLU9ΝD;A~-ZL)LUϛz\s) +YN(Ej⩜V@s%8xMS[ +n){gtx~DS=gičZ&kfȽy݉ +./ؿlV!/Y֟qfVٕs\OUN0L%TbGW݂_-[ M6XX(Vd!?g!J\^01Z[6#vS%X"%o ¦YM`/ >"yb%jUOf[A!I ѝ8`eoT/B<0\ϓJ@Pz43M/d h9rh՜rM,%PrzUŠ M !D1\Ibg& o^}j2V7F-1: J3TUCDk[wye=Mv뽷/Ì 'oQ/Ieی5 t +nMk۞P'9BRCbE>x.P6LWJѻ1GQ 4ݲ!~ ;OqBNZ M*\$wFu *1)Zpq2ҍk=rUMӕ)NلR-M"+%lYueNzv7>Q_:7RPNP]NLĤ!+5I.5GFꞾsBR|P|^"&A$ N"乌SCycZ܋.%5\J&/Ԩ .;9F:R FV!q5t*D6NIi#m܄N݊h6=s;$;JrTG'[YmH g_q|F %OrMX'&%Iӌo(":4pECbؐJ(lCåo9CۯkǤқh/Т.g j·Y}!~i}vɲ}Yˋ q DWI^}Z#(t" 5WgZcpb׮nRztH[P537ge ꁲ3QY Vܷx +ew,ѝNު-$ ~Jvhu|/~^#W;*A0Ӄ mZcW},{jqNYR^YֺؘE_ޟlT_hxnl L-C - R+H{5PZN1#2)*QQm^y*m߫Vd0޶9?E7xAZ(TA v3Gj8RKvLW3 ݃Ե:S1 n]SSGI %j׊!86"rx.f@_dʼn7>᜿ffiďw`&km>&hdqqW o2hm9θP18+vd-[dBYwEPIaѢߖg~k[-+Ȉ&OQ%YUPG =-֙z,LyP7 }`yTwSh4,14{h9|j!$ky4w0<4 Nh@:>gM] ]jROLt +n0^Khq(^\Bf˂MKQ ¨'&Uo}ƚnGCr_$i-m/0Z` +Z'ȒD&MafJ'4%Qwif)G-n미NE +1Q$EQ9AônV{j}2\0ۨQv2!4ǯ,A#-jA :+ټ{z&PIiSkPZY6áY8_q9tJە9#ɲYM5[GyJ1Lm]RGFz7;$WZ|s$XF>.Ex:"浲DK X<|NK7~T]w_|.r;8s?֩y92_ AmqEGj:<";b,*n3KT=uinOpi!{N8ԀEÓ=/[٧!~hv#/}/}bBuv2zDg_Q Bi+kҰa94'w5 .4|qR50 JՔ[&qJbX nl5e@LyPǘtg'ে5h*TqpZhũa!3NI+N"iMb;V,& Q2ٶ RY]$= Jhz@vz).{GWPhY2:´OrԑUN.'j"q$"]ER +%^ jټ\_eїK%@XPB '-#p;%a%kNۍ4Zz{h)%Atkۿr 2СJ0#R)G$1&6⤾+6YV2-6 (uR [+ۋ;n3#ux$Ey̙\aHGŬ_Ne;,SH?Xw`#!ҿQ!hO2LGͲ&bPL҂ x͛tҀ,&}~&3TuDU']M‡mb{^!Ow:|[tTլ(u:hVƒf4RD< ,A3Q7!=lSs5m+C}rTUȱڛA T>6RJIHJr$ajw:3׏}u;Y.M8|o̙^əSx8ϳ f|[Nd2K}s޽J,PhFFu婐Wh^9K}i r~zzwgA{1&bvZ=Upa&0"fd0s-9s 'tr  Xu/:ևMZ̧M\8)7~C=`0$DƂ$|cHƦhk6yLDԝ J 43Ƥ; mzJd*2`04J]cL5:=u_6&H*Cw5!h"'= 93Q.-9~XvQN6b2yB!=3~NΦk|bJ79YpƄ8Xs\]d(us&aqi¢25[~yyzDfEV蹆GP +nƲ9U%NޚW"GN?$|)ׂUK!r)0st<݃`2n䥗\a\Ξ9QEB2:s#FHVcPu~Cm0Tن4l"0$W`6]Or~ΞGyc݀:7^VKsTa}4#z6=KwꑓđQٔx K{20T|SM(U-5M3+2i VHjmBj@N*vRC.-N^Lt<%5:UO2h/fb-&.j"iު;ZKŽe:vqlڏPMDRr壒s=@< odZ-iL"ژfGN9"9=<Op=BJ7KZ͢i {z@V6>;lAg<~ +L>ɖ)GbZ>| M8!>R%Qd\v4H&T 7zhdme#z bhYsdMS>xI"%)*NjjSCt-h3a"h i^}QӃ͠!edT Ғ tkKx!X<ڎKg;]9r ﱚu$')넌0οp&4rm|ݣ$N6djkׁHuTKD)iI1la/'a?_>&4/79y@$_Gk^ic +FR:&_Xjz f!]b3gfvCP=Of]W.#1)k}O{ux% l4gHIn/'`3Kb@z۪A1֔fir\V 8=O1j h|uzdb->-Y"j)`{ӒEH!E'Cݰ~!LJ4 +_zMgy;@tzK͡x7ڏ+$nԾɒ3A-WANe/>y>yADYj\('x ~1Atvx$H ?\Y#7Jf(4hRK˕#qij P=_-'5_xFI<+3)W/l4a'6/}8 sv'c"y46dNxTÍUM{97ij{w4X|N9gh; b֞뒹M e3X郞|OQwk.zBa\=C 1Vu<-E.`-O䓔FJFô +P4.q^ oiD%kL~)$S"N\J60+z,IǂvLRg0S%oH =7ER7:KTR-!PaFQ~%.fk35#7Nv4b= I6o̳|dy|)Xߚe7;Un[!;jS_*Ud0Z`Ӡ.Fʈf焛50SaANND)za)G$哪~W b˞wS&6+o0*\-0EGOYEe9ڊ^.NjK~HO{̬a,Nb '5]Rr tUcpo>v&7+tS2}W/b^G`ѐ\l z8;%d'FY[Z"c@^˩xChew2Mƕ^ *(cRD;i2D͇Dj%L]<3A")*F|t;߫>,][8q,!Uz* {$s9>*'zg&UXϪ;Pee[S?tZ +S(oEZϸ a)NN5ג:ı `ѲeH+ΟZ]i5=Ē_TRf̴v+sC ̪f:{9^),]Sr#8X_T3d)~Voсtћ`sXwUM\% <`yJUw qW5IQ4)mFwMuOܻhQc{C_rv*ךVn債-ɥD[mMFĭjF-|\jQjl+QQ1wH7:90* +kGJ0EJɯ6oi]WZ(upsӫ* DN+vRlrFJ: bE.f(6_d>u*'v&+G{VnME̊VУ +O>z,sVҠܾQk]#W +ckXN?+,TKX]gzyҾRNw]%[;QYJNI$1)O3RRי;e׌si)?:B0.6 Uμ;+1pJLqF*`OJW8J 铽!}`Ñݼ JbP|YKH0lC'"%+J(r% (½XKlKfc.Z߿yMrj8^㼹J,MfxZ@ab%\zt?rk5)0(+`c a!pXX~ƄQ 6%8G¸C-ժ)~M3[!jsJL_vtNS*0dkR}fIGx ^깴&@Pa@u`'\h~|=lr/mSa fןz!U͗~wZ(a2P8qcޭ1t1}->џ|aҕC˔+0#| +rU?r`WpxLTf JLаmɥcb#?Fx;>|-(;" KQ;-aK!4f[^u|*r9@{kK"[&*8o5WPrS*#LF4@A3ehhE**'Y}SKrdZűখ0ɂĖEG֮!`{/|4pvaș\d}x]KxZW5,"Z1&OwMzyqAUN<$P[g!/9lMTm nZtt .$o@k/u<6qOqλEisn}PϾ>=O_բ⟛ֲϽwֵ槶:s{{C}Ծ|hy_l`im uh]xL\Vs.%*9an8?LX{OދrߞwUww$;wnyy cE#MԞ3ϕ>h~6uaU_کEnuWԲ?H*%jYGYMNeS??ٳOcPɧMR"kǥ3H=вZse4IZ\Sѭº_$"o}&w/@ڿ*8eӥyc׏1sg6eS<['_qhǣ8i/DDd"6X*߇`+_l߳"&uPf3<85WPKm`٪;1+`)Or]8[:_0f!ybӺkҋW)v$;RSl[lQRf&l2Yr)ZH}5(2&UAUֿʦvƕv gs +l%gSݘ3׈{RHS`C:ylWQj+T7QmtHm8l戛7.KpO#SYYvl4&r{kBU"F^xG3Ds~9^h*ࠚd*q^4lq]'UVSB-GemPc q5'tȥ VmbgO()4@KNw±ct >aK]~I2-0>zL[0h +|GwY9 s`̲?0~=%H${ZY,>UEf~)e;![-)aق(gŷyUhTSomG{'"Q4 QY8>t &l*؎g<ίӥz]F"WmO`0=9A"]+fjWʧSTų𞝫Ƚ1ÙIy-ߡ>xcm˞^<.~bN[R?ne֋YOTRwaHrFێsjVPyE-FBiΗSQAG4h:59Mipt|kf&a/ihZ?ac](䏪QWi;"=dkNU+,ŋ2vQcsm˞DGx! dH<\#!¬K(-@,aV#Xn_.02u\cyxU0 + U皵,lxVݽys}Y7=W9"s}2)ohV`7&W@ͱ H ص6lrG厪bD+䳔œ0۸HkP5 +'{ {+}y;\@vK?,'KbFeGaL +_ YLIuEȄR*;"@=F&T!>Gܴ"РhSYND=8Ѣ0Mrh&OX>#]܆BNv ~c|S LK.$+MT/W:^z'hR`6{AvRSuʍ˧4NB09Jrr`Էmn(\d_4PA(a+\ +!{'SHN70 +1lP0Q9ј:O/!ZϹʼn}W>XևnE#?|t^]@&tuukZ:)ui-z);D+Ctyʔ|4Q&^)ADbXf\:&ie=Bv:|y.J,7~QFsx{$8)PkV{ATJ̉Mɍ2s'yaQzM~\Ut%*$|ul6aT fq@HvB{@45_<+.>,B$ͷY=Hf}"j64$ o +bRf@Wi#\;j#dꞾsBR|P|^"&AjT|HgM\FEJ"w\9L[ M<#Z^\[%JzVnv:Ai$Ӊ .Ԭ翂P\hY~b׮9LKeYO3jUji.ƶT~lzdfm^W8 &%i!`a-:9<;/>bk5xM}YGᙩ!7 M$Yp\u,X" <ѐdKGKp*dh,x瀏<+NL%^ ԩd$HieӇ;g9%dH':v +6q#Ӭ$' I1[Ϥlso` VttD|HO=vuMAx$4H 1p8 yQ8CXpI֬`nd_^Vm9ns-wwƣ[ozL[P537ge02Iά+-^*BѲ9KiB2@}zBi? %;4x:S>?YWSzx3H%+Z-rrAóv%*CJ@ZHm߀T!S G|xB$!yK{ڏn0X߮9O"BZHSDF +2Ҹ%Iݥ5O=uD ,Ġ=#M{PO5TSG/*$ ڨ'@.ӺФ忰h'>I |$0F5‡VK+4I.zt:K!钙G.4lg'9^t2%[(;9|{_4~G~,k~k*;IgkSҵF< +шz[g#eA9A xh"Z^9d j4fC]V^gku ZE=3/>8ڄxU(@2[h$OT ⽻4It +nE>Kh8hdGs.DO4$t(*3*Ia3"6pFzEr_~ v3̾ LAYc7V/)T`W:pliHRwL4UEU9*!i,L2AtLwndsu˜o0En2&4ǿYE ++-=O^ w(7IIS5(\+;:0f;.Ni>6= ӑ1͈M-ϣR菩Z%'|Yⷥvs@sV>l ~}aOvKiQO[dkeLjM/ՋmOTcyٛNؖF~0@HP4fy] +dE4|IK#3NSBאW*h k9[)!uʎ Qft[Ӿ:IHs:YE@4i"Zz˭++l]Bϣe )ud}4Iɓ9 +L|i_G*BL +Fv-D89,N OAЄb$ MnBr=X$6sr%-$yrSYi G\z!zIby#^<3"}A l}% kmwnO ʮP@jt +HaM!=,iCblt<3P"g(B-<mZ{n9:՗ܻyǙrn,aEOz{†)S];Agُf^9 D/7$JtT-f+TEճZ͂r鴀Iz $*o:jwڌOY -=M\&$ɲ|}GmiSװE9JVeuԜB,$@E$QGkri*ՅHb#:THB:wABb=^[z[zzvx'<P7TΧ mcDA &DOXTr,BTK6Z DV- +y2 |$t 鲶#'C0(K-ͻkQuUrJz %ؑ3smWGL k[NLPG9kȢ#5e==";YTfK`Luɷ'=apH N8)irX5el&(ꮳBj!q v'SKN@O1=$x9R3K#I)7rc~΢PC %T7TqKis`O YnGt(̈́g1ݣ` 3J1n6IۓդB 27_mPMLd1N42u\;1]YQ˼ZN;vP3]lu\LQ@b@xLL$zcJֻ32 9y}p\&py ѓO=T/zB aJJ!UB +ҨTbUϠh$*'vMZ!?ZgAzؤDzq|zXb+KNCTqr,$, UN"L iLuU?"@NFٶIN guTY; κ).MkGP#E .[e;wEdRG)zbҭd~&G=q=M|zl͋Km~T`u5=R!1i0rڻ',Ro f\mI _|#5fy~}--5=Ls@&ߵ{WiOzV}EOFVl1qÓ<YL * gQcԝM_a-K+-Z~Q3 B[g8vW3ΎϚV8^.˛ݾ#|`jڹ/^W5ё>Sj@ Q8*i=y&$bZ-gpg9T>\t얳3S !\ZrX0nox|SKʉr"P +@`pMmװDNZeL`,k傓zSO#p'nӏ%ہS.O)s?7ؽbD-[?bf<Qt(?H2Tut ՁM8dMLeis\R3(UWMq%̹pg.-1oMNװm+bdxE:ȋuF*0RzO}2WCMPezaj _>ji4qC&lm^ )aegp30.;-i%bs_bj5|@Hl ^E&fצ,ᣂn(iR0/hSR9< ibyKgQ닐ATL}u>: )$$%9PkXlUm_]fuCbN^>j7<҇$՝\Pcr"CQVUο:e5YhdTW +yd +xYk +ʛ 秫w5%1Fl< +ND# aY`((jI2s]2ȉs89_ ?:7&-&Pfp&{=`0@׫~cVЩo4J]+Lsdu6E'H*Y@2y/6"Ŧ{~l%q3jaSH48H{* 9OV9\Zr@v(GbzBi5=?$ g ip?^;aKN/B^so0E׻gjHGYh:,.5!,*tVexmֳL4XYde=`-#'_rzG)8^p%r[MoΞr-|ji4PQ_J1m>YMGwIdT~/TqԄ>GxX/d ^"V&U6ȱSMv +йe Ki5:ᪧ3h/mm;\"" jkoB/k}jT·c):4$ D$<*2w zd:&ma'N0|S$h?`N8+\TY[=y=LV6 XSU\ ӷG59^r@vʺ|yZ>|Z6olog(QC>Jʹ^p2P|[ IlD푴#kᔬ`G<ӳ)TZ՝ 6DjAV..b-(cb8ܱ2+Od : 8X1Um?ssGV3 R3]9?̛5 IN[S%tddc +>7 FDEg2)1ᑌ%BxHuFq*:~"Ԗ sqj'g״{y~N Gk^0Ddi7X7jz7M\ufdں&Xm5*ߵ4di=CnPϬf].<)k極4wbK lh:C4`-y(WJZ෦4'NC ? G6B3o1=u h6Jzsf}AK4_}iE0m=6m6"#dmcۓFn%_e&dѨUG=q҃9T?fqSB,-5: 2*t#,j˩wO?AB5髡PN6M#/_8PNF""2*%g( +DM@H-#]hGP=-w4k0~r_SK̅FxVfJK)WZ_4;y32"U;iLD9@iڬh9 FG^)ȾHp^Z OrzA?FsGZtlO+fyݴl"}ӧE! cU B[?ٻd2h~"{n^4Gm ӂPY"yo]3ZOE 6j"_Q1#1NϦUNz/c,p>FVTG f2R 5.G*MKON*Ӈ@{ѓ$;0c|D|^D^FVqԕc*)I -zi"5eH3:;Q'Xʢ#fH( (i=h9srnч4Ayp&D~]2w;GPV|,=,Ѵ.M%XU@ {]6Q+ɳ']u|g{h=zCJxM%?u\ZޝUiY]@>23-,{IlhpNG,YeؒT5J^?XɦTIeX`(]߲r>?rv[Z6?lhț3ߛGMd>i E +t~*jy0θRf{33c7&K)G~9/t +nC gHFsy|%Y[hԛs;UJKz݆v|UxzX$9 ͪ9VNM8`d椢4zV9Öo7Ԣf]Vo٬VHjS-9z*:AGKq|ܣoskDMxרd ŲSDw=ÅJ"‮#S>aE4^?&DžQ,C,7ABΫqgdxV-b@Y 'a-i<4kQ)P<*j(1,H%Sɢ+ggHH >c4(~Qe [z=8X@1Ad7)sjz؝TsaYʪOڶmnb^A&%;8!&bqwU{/ߛ?p~.Ve7O et;kRI0ǗX+>ތ2>Ū!nhɛL,g{tO,7f 0kfۜ1-029opd-AfKa͑= Uu_.yEjwZ位ֳUjJW(>RJR|W91(W䬡ۛG5q&DU.YwTٸ۷{lQxjO$G6mŘVGpieTw|@ĴoNfF Gj£STݝuT$ hՌޔЪiϥw>5к|x՟J|a:lٰ^zwS(SpZ*}a {YXy9'\W`'R+y5c22ɫI(,v2 31Ib8n`d5QJ\0ۈ\B醤ɱ/yC7D6M|ZoL੦:Dcx.s;L #XI['zy̯KwU`S8.nL Kmnq|7 +zg.sgWqj}dӪW;m_:ܸbr +&6×UÖ\Ԯ"XM0wnS(Ɂf΀-} 8jlv*뢯#0Di#1K{)tۓܲKzuii_i;`?%l:02;];y| P +;XA^TnrTضl7\Pv\9Y8yz7mBN#NifhƑG&rJ֒h'TK歹Uqܗ1`0<&¼5-MlqrJҹ'zZlBRQqmrYbfx@[$x9O6^V-5KBWq6-,9%0uӟ;kfpٱv˗An ݜ>\[gY.=g8\]~\NJfNڴ|Qڵ~L}E˵;HUYGlȀpgΣz%qds*zz@1pp7nr\HlBU jAZ?M# 2u֮: $FӬn(#Ϩ2bh!n"k{l/@4fc2|tNFetYR~~5[kCۡ`4i-\b HkE +:@PܵP7`z?_ +Ο,Xy0Rەwp˘(I?"vӃf=Aac'Lm[q}Ak + +eZ)[b)RC7LƒI4PF{lZUu|Έ1# YPQeiT,MxT<f5S @aq0,G?'s5٠&GȽn(eIʓ( fƲMq_vڜu9i#PX + ݰ<j 7 ]Yn|ZT~[f%]n8 tttYςN6n.7q Y洉?at"tmbˈQ[ +gԣ-AH5{13}/~jзE4Em"oBWؕV~x M3Uӳ#so&))K\% ^};cDZX<rS 1ZMᮄ!հ6*HP}k`Mmθa,)_9eț~cY,Rcلe0b4YsiΕh8'4МFsДU`VsLDsXiIUΏдJ1مMo2鏘16&ov +5#Q Vmͭ&/!a~ AwU{\'.Ww(JUW<_9 M.5Og,4v =I9n<R$|N +־4gYSȃ$'-rR^%v +&&J\^01Z[6#vS%X"%o nPo47p#QI3 n3lh|>\ۭ sQP<*rcOJ5DCHΙdP(JQu>fw""#( mOy3d!j;(PcqӉ'y+ɦx!)p'u$ M}vc0 (S`.i}#5WXfx~e}v[[7vV`̺ }V(z>>VdO070wu94 ?ieI6 U[JA7N@z+ijw64'6騲zY Sntfنvt4y]&[)``vze%_E&I*iYIv$ G3 o]+ᨹWb>& o^}j2V7F-1: J3TUCerqi/ٿio,IuEȄR*33 u ^ DvoGJ4(ox{+Q3N&9X4',?W]rs 9pNA7B7H41RI:0H^:T) +pI%XeۅJL]KTn\~I&GINy/4ԅa,hil}씓M.TZyt}LQDžp깈iC{E J xUCDSH¨D巟~v  +`QIHu,& By>a_j,vz?$DȵwML_]:B9C}+&qK&@Y5J5ESHN60 +1lPn@&SG\yhFsy{@e;x:QiؔX-S88s F5 JTH'lR&i ە +J6tz9yVv]eNzq7>Q߬:3RPNP]NLĤ!+5I.5GFꞾsBR|PX"&A$ N"/sOZ IV +^ O)R24d^hR\(6zHI3YƓIV!*qOJll&tVD\4S*RX7ċ9duyͣ>Nې$$?P}}͇3&{? 5a $M36,dIM}bC*5 M ogzKoJ.BVz՜zr.YK&~Nʳ7t⩯5FP!x)s Yh:'a̲o㪓gb֎`F]-{-V!GcW?|9q +b9@:ٱNF)m]\V:(sSB  P?ݾBͧ^w5. aCL*uGsϭgRW6͹0w+::fz">& qN<$ͨjpP|8\h5+UFv`{IgGQPxԳdu,(<^:-n25F3PWd:-c>8ڄh P>ہ&teih$OT ⽛ԃ$:E%4aN4`xdz.DO4$t(*3*Ijim3"g;"/Nuq;̶LAY0* 0+BKb8;}a2Rwz<MBQgJHZux}&OR9AtlL(0aY:1dF(Д%i1t8D{DRww(7IIS5(]+F9gu` Bw\6>vxvC0#g>laDҖe?V)T-'|Y !dEO[_b)n)-Vi*BZ0~KkX[[38ϱ_f^9 _g Hlq?H='UUVeuhNlHQx;"zRL"]]?Iy\P' t.صF`a[:kKO;*jK,tw⿃4ûUdPcbg,GzJ * NSH&YH9yfiu`V6LVgVELWZg`NO\Mditۍ& +K_Iecl +d]OvÈ4UK_qjIKlZ=V5Iejs>Ana:?[;=?聳7+0U&?JFrRC㴑 + )4`^uY{3rҸ|Δ`(wX* ]޲$`ϳEn?Ng>>ER<}5tNKft&rn$(vC);4qAYs'$=fxVUv!2V{K,p{YWfF|\`\1lM=qKW|}_R/Nx>ruA0ͫ PގR7=iYM&*HHõ-tsf_0$s@vx,N;S+sa<8Y߰ԂI[vHCgƆJVmIIh_V5@&KLi#4Ur^v?j`-"K%:;21C.';TP} %v쮅Ed _<(T )Hr.A~\# ,]qEaivO^"k/-@zg$mk"=L=~{TO*o9es~S)'"L iLf9b"'dQ&rclf=`6åv jDR`a)之U9αSQ{}bҭdӾUOCOxlǾ9sysk͏ @m=EH4}=mZ5. 9 4:H"c 7Rj6?&ݳRe3]ӳzR{}bEPg'yY` s&^ᴛf(WZNؗa2<;㤜︮:s焳%w'o i:Ij +?DG̀|@ (nLgTǛ0iL'ira9[Z㬹^ *`b4= l=]\r=%+(},X\aZSudx|SGʉqHD(TkF8a6/WYDI'=2i07ԵrIdKrfI8}Z8v#gxV֒_/Atkۿr 2СJ0#R)G$1&6⤾+6YV2-6 (uR [+ۋ;n3#ux$E}̙\aHnKŬ_Ne;,SH_Xw`#!oj'Z^fYFP1 +(&iAI݆pp:i@O ;O-`уxLt3\'-YKbil@L݇ +^z(a&k|[Ȗ9݆d^ӫΒKItn)?^Z|M <Ρ+U1 Vm9a-bOr 曚ߎO5I8G@wڗ]h p5/#L+.:ڑsf7l&nOz[%e6RJIHJr$ajw:3׏}u;Y.M8|?3r{=\$gN-&ԛjrȐe|){J,PhFFu婐WY4%ZP49?=1;`HX*0Uf P2YԖeds:9Dï:V&-&Rte?p!{@ inkbdv"cAF1$cS5<&"NU?43Ƥ; mzJd*2`0B w%LqҮ Y/f$bסT4{`@c +MrҞj՜O?,fj( +O182?*K8ģFHؒt iovtѝ?n<.)Q?z`'܃,tsj.,ꎝ0y'dat跊_f&[>%gS̵|n4⭛76=q.QC |Jʹ,hLoj+$ F,I?5HɚLq|E[KRdTpZ꣕NՆ^w ѵ\r%2MwPV{I|FM6X=Qur4HK.Э-qn`h;j,50wYcfu_ѺG6bR極4'bKFh: ΐ,f7" +O2gNŀjUIKqye)ĉӬ4? sBq{b2u@0ɚ韋@3ZE~|kzCr7zQġ\n&نI ]'4!Aam݉2%6""dmmKJb4~d<;sQ5tF=q҃9Tfq}S!u[HW9L5i/r^r4R6P-P(h tYܥ 2h8PNORKЖPYG_+9}@Q%j@j? )9v˽/7[rE_O-:\hВhUWl4NAqS"TmVԜxT@Q>d_KIޘ](U?ośZhsg #GS4᪘R2])CY, $>:,]tB*\ ѼOU>ꥄLbX7z=F[1J#זiA(ڤ"xϯߊjMο6j_2"Fb\憐BRٻ^,pBVTG g2R5.;Tڋ6UCO.> 9}=$:rLDK2wDMOb=Q,Dٱ8((FjTvĵ%E-8'x; z+_3_#:o!=#]9R5nc5\gM=Յ79K`JظUVFygO"gɖhݰzCJxY!҂u_5Ww*߬*PS-TT4DzJl@C(t*b*V)HT8)UE]- )gG0ֲe苂xmL曖H+eFZ; ;#tiHȾ4epG1T kۆ @'L(4&sP;iyYߎ NMRJx$Ӳ_)B" "i̇&VJo)k0ΨRa{33#7Mi{s%js7>GU='jIXҪR^!b;*[o}kH4=zk%N놽h5Ǫ"^I?ܴ,MgN*Jӣ73|15A2w9np{5fӗZZPjKV9mR-~t,[YQbqe (Y\H%,ҧw$c%~NYc8_`OaX־?ND^wF{} !H2yc!3=5*s|>T 8 C.\EQYbL)W@TtP)=MaHT[j-M]<+C A4ѠY= K:a]lu938Z@1 UH s|H55NTӱȪoʶm.b E lhUK&=m~{J6~,+/@h.qVM+w K~EQ][`ʛ1VƷXՂZf4;Z<x/d`&WsF&m8Xߵ?02d)V 9r٢7X5JWBZ%JU^O^jVUcX O Pnꂵ%S/J%]^ZQwV.ѨtXaqRKǺ8!w͊&m s} 02k:]ǔNO>y,suڠ~0kSJckX>%C>gʢ5<?oa]S>\51xWt'QjNE$Q2rSRIPIJ;BZ'ރs :nh'κs +2eRW4&Vo©TrϞ\٧y19"w VB:wm35INYAђY(r ớKlKfc!ڼ~~+S׻{g43#lE-W*|9u:C1ďi6LאuYM襀D#ʅiO>4T[?)yoLwkH`Kfܿ,s[gf% ]p`qq9B ʧ|9ngÖ^gz_1'v-_m49~;gVmmʄ?H~N@b9S9äU)n|U VKzoEc <6i/g(c˥c[b#~\<X@Љ#77 P[cK'{S4=+:V[Py0Y"4wŊn~ +\u[c +UG9@5E3eh\Mj&XSK=zS+Mj/$#i99tmC*6mmƮbpZ*TaSnX[G}~@oyM_v!< N_h2I4ďtDϡLMJgŖc␪5ƘJ/~YhÏO$w{fw!3y< +pqx^>sb1_Ϗo.؟zo +C| +Ŏ1ótMG|pL]gJfCy}'ٰi˫lzF|n8O7r"FCzD7ʷoX +īTQ&CHUwC46 Lf!ِ)z8XQ FR5q =٬naxܜ *߼jO>Š(嫘I"ܮGe߹dyAwAωcWyX/4CߚZ.rYxwa,׫bjB=R"Ant- ؘAubY!T(0b$0d#68y (}u+/аl5ژϽōLo6/o85s6rF&3h.P) Rikq,3]2˽x2̡8S&"9a8NoE8񰩐'-9ySӂRDS9qzUۇ6XKY (nnN.-95Jy$Ix󶠫JT'٘ +So|!$O^Ccyy yp\niw(\Ol±lLpnȐ݇>U1ZֹW*CVy՚f1oxn;"_g)]8rd3ٺ@QA8s:y:(.5-$Ou,ۡ2zL^Y(pNrEsXrzK]HEyO2tY/ b+ L8zV"8G/h2'Jy*&f'i dW[(X2UAq94)6ein/PHoÆ c>7Zn>>[L&`\_@wRFlkH$1 dzvRfM3B m]d#RMNZ0㡬t7gv)۳Y!Ҡ3I,CHK"&DA%]$b9Afq1 ijT)rR ?J6d,-GE3<˼?fp7kPJJa~/@ +ca`nYYI-zvT KiȒp^뾎P$) KQgl'~Oܓ7lƯ%|_N<[raveX2)Qb9Y86DSǟ4iX>o)]d +Yӷ؇#u,ùe&X迶@8uUu43hGa{!d .)9m`)qTgLr/ǔ{˲fN޿ڦ>b\u4T:b1V hpkr|7<~fP2LfYְJh"A.׺x8 4( sLN̩~ i['G$-O)P@tܼe(7K#7i٢F[(HZM+yGeJl&"@Ln_f I%퀤Уigwla3܂< J@a ,YVv6R<%t~9Mz &@4}0(L,卺_IFiٵB.]ʘ;Kl7{Q}2ˏJ ˜H$%a5hdW&LϐVv &9Z>5H7rc-Ckb<5=zrH~q2s $/atOB,K94ː-SmgdjKx%7#KxUXy,m%<ʇGDWPo̪dPʼɺY3U|0>lt,bٽ-nf޷|P%/;M&+]* v%4cJkW܇Ȏekdj~cfÙaF~Ep{NSPʑr6ypZ~77=]%!&8 +SEγxm uW1ezCkXuN gT`DRɡDu%K.~T!5l|ϡ2X7<e/O}7vݟZ+.!a@@*u7ˉ 4*‚.U.U{>lNPNDB:[}Pr >aE;<9/z?YVX"1NG[,W=^’PR'M +pKJ>*7/\#'8I,ˆ +ovL: 2̂qJ9ņ^4{1z"WNg\#yN+XB(nJb)lnb\ ٗY+H`M{]˰ϥ'L]2B!JIym7" 5Hfids؆:odKTC3|?4+qoh2R/PK6&G0S{x{έL{z}8E|B5 ضb'IM4`k&P-m:jkP=zLQdRpޅXpE#qoDl-(5il]$(^)^wX,̓ sM$(9eaA$VJ)53MɦeWRҦW X^"Bhߝ7TNq~_`&9\&ӫkyF%.Sw~7k>s Զ|lP TiH&Kצ̼^"٘5;:cCGy JyM셄Gű<dc%æG|I +{ȉhf_rZ}܇OYN + +r4O٩BĚod &_oZUVf$/?Q؀fg7ASB/]܎FY@ӕi yAIwK݅\du/.p|?_Z(f#1l$˝`I6 +,LI\GVJTdWH1uUeDz|BaF"A(~yaRGW,o{_51al>dYL}$i6je?aj-A:"4PWMO VK4'i37[_2Nlm1uz:Qϕ#72q>,V +k^gmrqSp'Ϧ+&`ZbA\gFwLq6Y+g%z:H6 *h93Y31;:)`HȆM];~^|V-Aߏ޵9&~2Iq}#zÉu`j_0ˮ_k9IB\M(J>$ $tF*x= +~IאGeQ܋P|}bQH(7HŴT̳P.P]DUd&TY8? oHLh4kҸlvqaC9˅77_ebQقiS +|vt·LOO[SNK.xg25UI4|F<٥!2MqΊAW&2VL̗l[fxhiÑn| +H)/Z~O,eNˍ ݫ&bZ%/a8@= #j㏓քcR8=uBlmT3^?p:u-}xZo,ڳgg>q8wX5ǓKǎEmR%-;u((aErƾ&T%(ˢXg4 +ORgr"i9O+{cgT:S4g9z!3V'0 LFF7JtC-ftJs< D+jhrDNˋZ06E%)%4>0B *Nl@Sx6hwo畆BR4蔯)EO%4RF;rqbH5TDA\͓C3/*IT0MRk?ΩUW>4h}e#0mO,,p0j#)yJitX ,T6/`ڇ‡B *Nnٸ%Ýt5}+&M@s_ ,|Cw? /ziq~&0"ؑYhNZՃ?=*J Mz&/* Ui}៯{N_WΜׅ Exx:4?yuљ _,yYFRZ7Z@}}V_CbZf (2{gl4Ϣ4Hs-~w93wK,I*B EWX:\ny:IGhPidźO,~^vm: Q%R6tur_۵#6*Fٚ( +5B\V!*)kCFj@})OG66?4gFFSYQMQiɠZar?RWG+JFee;"Y.Iк|tLKk$(4LJ}!S¹\&%7=%tJ-6B SY*?.gcőȉ8BW9 3%I*=I0(qb*34),نwӠLϾ/f+B_n?#QN}F3^] 5,'2P ~1E#i-5Lj>QwuDtQB%bJT;MCBa%<{|m-5cxrˏN|SY͢Mx9o-IKPJ89?`v1BD;mbV7)Ɇ t D{{iE%۪ER)Q+HT) zҰߛ>J\IYF +tjJ +UM{Iz L Ҝg9ؠ,Mwl@ ':nJD y_Kǰ cwEe,2doB()5n 𪤄wH@8жbɋx-#!Qdn{mPYu&ha4-egV%=41qQ?9-m*&!HH[UlV4!E=^*d&VP5 l"u#R:T$1Jhis|pmo),/ ꯂor!_B +)I,f(0۞w8z,PaZ2 ۂdZ3Y9VO}S8&=O5Q>/n[3׌S.&+HK .'Z:4hؽBp1l]x@Hc騙d<ʾ#:kM`t Q:uqWLufg8G~S[T#bW{x lK P!FSHdIsxP"~tlQi퍚 g~ڼQ}[h9T/|sRRac珔xئXu5oX( |6xU|ԇ݂!d uK_+fMXMX3,gɞ$|[z[6 +9doz^R8jyR@q+mI֘ĔD#nJ3G=DЃvty,p˩@ex҂$ Yr$z'_܁~+mk:csY~+{ J"ه nܚ\4P0ݎ4'#@0? I% I^%,4'(ŞsGϒkkY|ͷu5/$.f~}jAܮ%[iGeJ쩎 >K=;JMf˧8j7,qghbXV$Te7Cx|W~8]koOY'5)#v *>苾.QO74)FfeFEhTv227,)'GI~=Zv% Vw*z66`Ar.m OSeffBsob4ATil3FGwWLvT4IO,Tm *F(^m Jd邛#I H5P$?96RoSlp 㚟#}{9ߵ$;R|٫~apʆwSN#҃;\m(M@Fv`iU GZFU+i4 +9+\g)o,Oģv|&?OIʢ]MuQ}=D#̲#Gx"GbCTS.e' \{\'#1<jօ^{ FÃpSj:d]47cAFPYvמm&L"dss.Q('շ~<Ɏ߲',;|t4Co"jFªd IMجIl@$C~ E7H42IFF0fSNp@OS^rDpU>&aKc)~U}%K2 +r(a>&V'b0?۳f0:b%gY'.J+@7w}Y!r[I.},']S\3SJMRg2ws",dgYkn Dd %l fl/֏2*U +jO+ª=hI6;7Y0ftSr9tdn=RUrZm/QsR|0Լ_;]{:[zKӦ 0on̶ZVޞ$C.|Vs5dWCN6 <΄mFAgf9a>\sdosp2/1Ux2A1v(JUB`YwaTq_y5nO1? hy#Hp +ٕzB F8poVsu:7?i6Ѽ_Ye tÚM1jV;F̞au)G^JA +͜Cl}ڃcoїvޗOG>UQ %fŧ6)V\Du/aUz҂# T^:KYb۔99k4 E{YILR&tR,kW땨.d 䱐bOifw"@IH`SdS5ב~-tcng8Nd>wDۓCJK~*crU=kXҵMfz_6ٺGifhyT6/1u;`R1tzp҂.AgEXhG7S{ Fz:z5[16uƨ[%yV c1s.OV11R{b>mWҊO[?A50} +N4-4mi>wdL)|S"K.fSn?/MYiZo +4bJ 3NS/d%Pq|@ +Oez Y%S{3JjK*aS0X)4yJ8tX%QK3 CTx+Sf`}Ep"9dz ǎ`?9@O+Ew+OQ5 +%4=ڌpoH Zj{  +$잝iv c3*7M.+XդA^he ;&FikTLY$q!/]-? K#pHb̝w7qjU<:Dz'\&5/utifpW"gDsw}ay(]nw='oji3b˞L DdoK:RIKӎr=Cb +4 @ªm$&)k]{)D%Dָ+٨'o2ƁY/h#>?vk~;X[tVBrQ* -Ԝ)~MNצ>u)0N.D+mǎݭ}ɑ>4wQA…W4W2 ھB̆rM&ZkJRbLit!N -e$cerơ хj4 DK˜}.OzZNOhq$pzS+jv0Kk? U4_d 2d|)O T% W~lM^aӳ=:QO?cN5j_/e<6-b,cw$\*M![b+|S]MR4 >Xm<܎T+% 6> s ͤ뒇NG*At";%J/:~Ek4jY[ӢvTSVL]ErFɎ =O֑g( +)ݯIvYIw]S?DQ+(n:+*[Cs +i_YIjh~+r{q׫1Cc5\v*VLXkQ{,G<>fp߷~b44rbj" b~x8D"Q5ʯ`'lDn=p5~@;X"ߋ:77;&v$GS/5({wXSeV;3lۏӈ̈j[¯8uBy7/ބIZf.w\? +G#o$C@e"; 1կ:L7L ^K97":2b_qux<7$ #Z xH ECU +R8#[]_E{`ܑGّ79L4,] +32&&c~rȋkR-rDˋBUwY2ok+πj:ӳUo.S.CC"%bG u#^Ȳx9`gEd(n+l" G/e"&]YcqsIC6<ƳXh/ȩ`"K+w,w}ʯxAEr1\OUW-eOӓn 4i\E +&6|зb+;Dk9Dt|Bנm h}-'wLu`<[^| h:\3Kk{# Ezh-[G{ݷDl!6q?I v'A 6.BŏNz!,O7+[r 7tuk5~mX0}-ۻQL»ռ=r[@O##D !0'`J=7εn 5r!.W$~|Xqd " +m˜R`ˑP!}%NM~5ju^:NIJ/l޾ɉ~FBf,&8;vCLxCp 0,lv0sJC\z  L.' sͮkF0jDDʐ& ?|@آ9>N8t +p)8mc_8wY!VP#}%P#]6%yOl\ޔ/h2@ѽC|pyL]Yttn0SaF8Fb%c|/YV{ }}hM} +*h6MP4vy̪UR 3ix3K;>{[kh +s[0\/oS:r}Vd|oS۪DsK7k&K]ʠ XSsVCn䀥aΥѠSLu:-j^fCvRUm譨fca/MMmT;(b`YXV+t:})IY(ѩ\S^H;ĒQM~X l. +T9(@I<$6=' i?\_>X2,#KMAe_0fK]ȥ⌇&f,yF+5(q.%0JKJPEb =y{Lìm(񜆙Ph sF1z>\87AQpb |Xe~F9O<~CIʴD|%s,_ur=)e%ns#P%@.sM(uLQu>jIBC&‡~6P Mb_J޾uxauBh6/_e\yV' 9<%foV#0 r{{E@ȃ6l *G|Tmݝ\$uE2x,G{|{a@ 92f'cr0i6Tp$ lX@cPN&*cE!*m!kQC*ĵ Ζ&z{Cy/+*nN)O}*-64gurI,>Y /y&G"ZJ53 $׮Yvzl>,Gɨ̛t .Je>J3ewɢahVD;%hbo4Yi4WLpV>"3EھaIhjd8ĉΔ*GEF~Fhڢ\SqŻo8 ' +5 DOJv4wz ,4KJlYIK~\0Z4Nn:$Hʃ*y҇ jT:(K>;2;tv^'CXUhMsxu/:d}~{#1804M$,ql ^lB|miݛۥDG5!S>c0ZL-w)[(yWB$IwTv}w  &f4>K lvŒpV\O$qi"KlRKwAҍR+ +̫` CY (B@S,pqi3{5 3%n p>fgJ;ɀ$^GLE6ٺ6av8T+!騴HZ&% mBgr""1^1:szB#moD4GԆ5} n>"g`P 0ۅe?ab,SZ-''N&"yM.ZܷOv&oJ&FMXg=UĥސnW:YήJ/lRUZzLSf~}Zg}c^6Mr $ !?j vi SU$o}_ҼLW0Ig;eI']>5n˲:}}5?Rf=N %+73' QCI_G%YO:% "W'.Ҙ*==eA˙5CxeA*sW( #AJi3;Pow<>[ß{M(Xxɪynyʆn*{+dG+7@e9@]/;ܗWlPp6yY̧Jn +:I6(*兟9Hgd|^IytE,j!܁5d73VE=8$H]' g,y7I;쫸P{ ݾekHŊ vژ6PDB!]gzچf;6I,̆>n7_LO+3sㅦz&^DH?قik"7בYGWV\S&O,K^LG&{x2w9-ÉXC/RWCp;c(Ii9)v8!')Qy R?Շr95{c;?{gf#jw>x$P+_OnlK_8=EɆo\3T|6 X!Oh m}>g'4-3ʐe˖ư|FuPV +,RCp&:QK. ~'8o\ye4|n஍Q[*f{lurvw)*Pthd5hBn恭U]Ai Kn^DZՎd`'XUG ImӺ?AWCmGdY-~Œ͢w}:6 iRfvbI|r4^KhP_]5N2RoM=tsLK%NKTm!y \} Q&u/g-/8 .v!;g$FFA8LKITxM,XtNw!"BhHڷN6ҕZPd/72֡^oeZo's_,\^-NW;7OY6eF7R198g_=xаf*Nmҕ6 ' +\MdiKʃ`uYb ^m|k̇D#Q(SՃM}!(ksŠQJFj<20 ! rfۭkg4Li>' Lc/OaA^Xx:swﶛʿ g.՜XX)H4KiZ ssh75^DIъTχ*αtqa͉4Qb7VLl`}2w,DR74 RՁgp U)= f41texĄH[%jKɜiN`ig T6IS & df+ޜpdc‰\̪e}cZ`4II7, nW>\mU$ѽZGaBQ5I[ibjAu! +M^?e3=OwU=2 AC'b¦Uo&v7&T3Er +#Z$<+WO>OD?PY iG۲vBdV) +R-@Wp>("o}"[ +Y ٖ7+ +: +g!~3n` +Ș?tL +n=~Yw'h'~5m.ԣ`xx7h,H+<oWH>0 vw#59'|=ԗR.Yﯢv]l /@wAu"?' WoJ + fSbێ2C))2KϛOZ4xx?$+Kj׃|%L?~Tzu,ȽwpφT'O'7j_N׬sWړ OBN|rZ/!axަ 5نg8,rY9[8 ӿ2O?d^}An_(8z˓Y4&iml=hz ͧ_ad&yn[@zqcn+"ϰ&yi>-2ws4P&*%Yొ'~mYWϻIJH$w{hR+HIuR L\5 hWej^m0Q7obgcA4rh?ea{<+EߗTK!=lɂY,6zXaGCOUgFğ +I Ap3%ArKrbUAVy3aݒ Vq x嶷Aq8oy[cwjj\_/]j۰M"{g^z2w}ŴW]9ٺQL*Sˋ ͱWIQ⦕ R%f0яjE= lJꦤp +wSzQhG@Q2{KQyq KP}ԯ¾rLpνc7T:!feQ-kql{"\EOLE@4,3 Yci:IgJm˾̒&iDId Fzqop z9UN=ͧΙtcx6d)jqCꈒk/Դk-R >!_-pt#a2}-bǻj>{_ Yҙ= -՟Z3\;!&Sي/8%}0vGY@u5b4me$QyӲ liZ~ڀԪ;I"LӶK{0u&%ƞo7)d 闐z)$M_h$H*T x?ORT;'w=`L % er&IaT6= %Xdc\0R; rbCIhws,8RG 7lR1Ӧ;5}yv2& {j悏R6]xYlVf13'g:Nav{یp3(f闎{O>g} 8-d*䛒KXriCG X9"*JJBBɻj*}jr߷A +mhI UNvso'r[s"Uve\L$cdH]i]2;SVJ k?eNd/ֶSyS6㼹(۴~O 80pꍅe[_Βr%{|>/)TA^Z@l{O- AtTӟkc[`0-Q9+ɤ%NXRqZ3Qԋg&DԙI+R%S,+ܿtw룔lt_27-+n *&ٗ-Vwۓ$GN@^Z,ysTzK +2+Xelgєyޔx׳?6K0ê-yMl ?iDb̼JS* } +Di|2n갚sbEk\Vx=dڊDHQL;c_( W1^.>6i 3ÐhG]诅Cq[*&- dK]D6&w&]5Jg%MF7[G>lnF4CvG\]r쇖JܒFMifld1ȼi#3[lbg2]=8 J8N&q[Ͼ_WMy}o8k}rtg¼;M=䒳;|!H7>XN*/q@΃ƧYB;\֏ @7'&io6Sg`{gy28?r)%۾g$ޔޤ{:l&rvlT[I.Nb-RF{È$(0Q:{7CYu3,fd,{yϝ :5 ޾g3{,ޫIU[xr [GO ٓu}lZGgT\/]è^p*Hг>`|I{xKt{{gHsRAMmtU~ Bcvbi'v[t=Uj,ߠ!-ʲtWZYtX7 \R[B,{ 46S_\JAgtu~^y2~+V>aȉed'rH&G|[s}p𹊒dzchTY`4+"֍tA$ Y'~b4n+,PxIu,3zXUt/1ɻQ..8dt._F=iit +ܒ1ieҭlͣ&p&5]Xqbzq*| /sw51u 8 .H P둇6|z( <5b!Ui/ʢw(ڒ=$Ku%oJ 1{b"XO=r]Wy Ї1TgҝX4ɿŚ A{Q.M< ',=q/Lqt}%{XI2dP%UM{3َ8AFD-g!= ~kPތ95@ +VěbӢ%$]Gb|. `Tm oIlCh9k.ĄN,UAA8:w1 @IzgYq&b.JĎk52ږk7q۪elCb^K﹡n/z &Z59u} !?q M+d]: JoZCtIN= 8xS~=bڏ3X.1PHTM{2ԥ86 l +H_j52debT̺ц(n\"zoJF&܅TTv|$[=YQihVdYNh?QKPH3BQ+rYzF}9d[ȟ1Obj;ce_jAH#ڄ8S +%q +n4U}$G%B7iԒLrC#܋#WJr{+Qz$CSƝYa?LgSYyDwqWA:Zs](!{OgN&q[ -XEJg$FQ;(;4L4M&:OlvFP-0T)CqfZ tQR3 '/Ms4h.TviI/%Rh1KD@zW1 ')'>}*_5IFY*j+*J/56Nk@r>b-BGRg֞|zXahutOPUPNbedBI}[-q:*2d=w:6i7[L䁋; ",wz%1R;;RBg-7 &1mJl˿p$K^~ZQa~㋂Y8n|Znx0O5-ҵu⡈ַ/B8 Vct8*??W;e^mF&AV%X숀8/h)5o,Z/{^PiÒ*(]6eo.;1鷊h\J=}Kᐘ=u0'H.S`5 ہ7ȵKr) `QlUl$i6V >7(cPO0ɖRsfR''gW߃I o8JZ-"Rk@j*d[ >*]yG9bAf`̅;,C8f͑0]F)ghb[ Gp5pIɅOXܓ\~ j!)zr"P9N+1V2Ni\Q"@^Eʦu7StQ*`u?J5OR/P0T7zj+Eb l UۦQ?U n@gv^p}.b]UGxA|Nps8E&ZЅ: Vll"ה\Eq\.;1M4>OrY*xϪ&QF%¬iJ&'B7jZVr`J + H߆d6 ><]~N[z*I~"S)@}µcWBXs ` ĝzWEZLQ$7(/G^;b:ѿrQS[YZW.[$ϰd9A܂9yu%bj{]Xܲobѫ1_akE,szկWcP[z IxOzEj_zaڟWWUfɥm4C;75iʢ ;/6̴O\TԿVVVye,.VUUj[D/bENK.΋ ybJh3" +".[$}%ηSWau(sgʠղ@mu+*zC.{KG:#Z[׎wM8SJ8H"]3Ubam/Ճƅ`nOݒ("A1D Cqo XS~ &Pm\?? OV5)m&K<._&K`C'@ĻMlb42`zJ܏\MdJ b[`m1O +!M-Ȅ5]/})˅\S WʅK"khI-Xf?vWU< 'X =zEF*9(gLnteHk OӋ.)6 8Cc|'bN:xo@ԴȪD/PwF{2=2VWaeCVqm4Q +2gC"UGJfCٷA_'+s@yf1Q8a +Q[> #UƈWy\ؖl/l`˽SjMm9k<NmQJpKw-N~^:ZU]Sw6_6e9Ցk,y+ƫoxKk-EZH;+PoW vk$Ɩ3*~pbm-Q)+YXM fi7[3֟9*:nu Y:~РNAOd%r?sʧ\ܛJՖJS?i5OZEVR]Q"O|N_&IJ)8Z> 95L"C.>*G^iu8\VjV>o Hw~ߧ&-1>(L.{{#Ҫ@lq΋ T=Ψ(}Tӏ΃W}R@69u-xb%C{6g>*兣ټ'kA1`Zz}h8q% h@W +/KAwbG<DžwWz$Z8@,KURHx]kj #b2u, gVlvZOF<nbCaqRxe#oPߨ) U37@bC]7?~^4]7y¼n@97BdCt!_^q[;mJHq{ʉ^'ÖyU%_ K<a|D cri_Z̋5*ykv +jdwDms8_\C&k#ʈ ty3Ӽ'mn̯E=o{&2a |\:\FP)Sb\ "&Yi8L +8DQ# +L*!v%L7w0p>`6݁jcȴڮ" MŜb?td(inb3Fy]pȭX ,KSyMIϭG#\GnORas vm !,o b[b_%y&ի_ /4u.TcX4g Vƶ7at_T7bF7N1h,P!T@*cYpu71dє!{;a|z,:M4To %wJ;ۂ3æ&+46.1ñZE 4'RR͹kj}vA3_|k q_?Ի.-wBʏV~|〇p$٨iv?ݶTY3(Z Z&9}nˆY0TdV544?jբ%cz E'P7ќ)uw0L<@0&2WIV}beWsH+nf7ky7qX΃R K4mv +N5z>VP_g= !vn+أw|JXQq*.iS4 0f`.kM0Y/1a +_\uY6$0cm(4.Dʴ؈?|CSq &p|+J8;- pH87 NyU> T6M"o˽^[S*.[S7&Y8Y¹eeKpN!P!=}n䴗 +{) ↪{P_.-ybE8ڹv!bda˄R,/q.7Yv~KӼްT/&LSl_UE +H[>[2!W PaDhyZ\ .C;^jN)ZS88GWzx%Vmg6#"My})#jN)g?&ǕlGI@4EaH05Td+1Q)Jbٶg%k:09ikE~`9ONFiDyXF9>\O(2m +"M,_@4{.K,YJ9ۜT \ Ⱥ朂9Q' z2|ӏfxrlhI-&׽ ={:0M8k*n hg0PtL;;M&REc +G$9V!p$scfB԰AF>U%MmɱAS~ZQtm!v\C]S R4g5_g)j}'&JFKs ٔ4g(CcW,9Q6va4Nɳ2T'N25'.鑴|Ε?[r:Dg/P3 OBh$D4'>TiW5HiEQyG[^iI@:C-%G'؋Y8GyZ;|aMlUs3 NO2d,:dglEi SۺYv5L^XP quf n't:6_+N~CцpZ NhU|pW=9*.*rQH4yaNJTbcV᧝QdM97~B!]gzbCsf$V4 3]W8ݧ+35wѴBφg-a/rϾ ><⺝}lDp#E +V_j&L%)-']i#Oe"G7Ѫv5%D#wb }Bt瓔~HkӇ?rjw9 Nw᝟ KýfG^ԓV,?~OnLx<]xQc7 gz_1Jgi]hu5~FyB lɺh8u@|ޏ֜QR~-[jt'et (Xlk>K%,uҺ(e&K_IwuO9{EKhP4mƵQ$#ha9-8,R=PM_,[8!y,\$c:lnd$;5~W3 #BElF2p9zPP]h7w%"JhHG'õt5}wf;˃hKf?GP2-ˎ\T/d'+]O?Y e VS'Jj=:1Ƥ+mN!*HpY^C;*s3-iB'/J˯S{JTk{ԙG7NECTZ7ٲaCPfAP򹠖Fj<2vzyfۭ+34Lzjׁ٘|-D W`>\z,n$@'mćԶqVrYiO kF;(6kBcgЊTϏ:αtq4p0MԳZ}M-#̲ax@ޣ 'v3VMlt +zgpوQ7jrz|ui!= +gndӾP$a9Z$hjb ȹӊV= +hG.y +]oL3 7I}yV6W:_> +y$t$jUϻ +vIcBZUeC]ڄ2IU.&3Xft5Ym9]qv;kOuPb&]~6("5Ij9WtM$_Rj5g̥ڜ\ҵ?rv#Z2@vbuM@G3{ZFӰ,hwjse AE #(ix߬q?'pŬ$_.7as  %!otT"=aNjm>" +"`"\`ۂjZͣBQcP[I5$A@@XM<8{dh -eu:Al=ش;I;*3uBmEeg3I׆O>oAA?PYW +G۲wBI 6%&Ê9iYH%vn1$zNLASkmrlN +y5Jr!~SȄ?teÅE9XCsǭI $cRZ + 4|E]Ɨ\ӭ[vA/ݰkw?&#Z@(5窞nuLd_c|5J3TCrf*d`6@lUfSfiIcR^Z'=a]ðԯgx׸t+ɼ'=KoM>gxHH&:嗩3Vs:'rJ{rrF&p<نgziVof s0E"{6WrǗtb ܣ<뭞4Gճ_l]a9N /#p]ƻ G݅Jo辌vx¼H$ vʝTYj +r˷>0z^{d);E'iCQ4qRķ+d(!SGpN{.`I.%r*Yొ'ObƸ=?Jc}%JJo䐖=^7:j +(Izhfj֜0]\mPQxn l4hBIÔTYB珝D^-{ɵs?;KbcuO_Ӓ;~r_$WQjϷa# oMpuwOn yMK^դ|Cm ~,x[n2Vns>?LwqR߇:]+ ņɤbb|t{U/6-Df2I"E=dF(VΖQnJJP T)(Rh~{XF|Y9\>-E +&*KS}_9 +TGۏ#o0IeCb,9y*:1AuV̂;붢7}37ITJm~d%,҈헨;LqC:ͫYrЉ@ X~W%AQҰ텚vd9j<'k +2[Hq_b_ߑ_|R3§[~AFr 3TkI3NIU”#ZB/{Q +QGH냖dھJFQ;Vܕ$4u|ycZQrΟ}T|| B&2O~\W!̍mz uL78TBlPemy h.sH--|H݈T'xah"{ +r5&F・g8 +3T6.;7S =,ErIINq'mS֨!tU`zD<5rHcxz CAA<*]ucSźxηMN1@ + f`tT %  &~bhjӥ jK?%Qwl FjwB*fKTvkafجvC03=Nަpuv&d_#,Q(歙/b>F9>~B"1qҒ&OJN7. +riCGIXxU8 +*'3PV˃lx숼.RPms? 40 +uWE滩S/OK_~ђ$lt%J˨HtwTe:~b[sPŰDmm{bwĔ8o.mZ?YT\xꍅe[Ǐ|YRZ]\d0xo)|UA*p=Z@t{~['(M:#F:&1`&zƀt=G_IϪ^+ +X)̱rvݣ;c8DJ}Po{=ت Bǜ&7vm;H.E{ڍ|(5ʷhHG^9ttA +uz!Tr;ji<>f6&?|Q#VaiGd'rHئ_OXmaC'^|Ov/TSM*~XirZ H1Y#|?&A?'\1SjWFʠ\pEz<'?:pQ bASF0lTAP쑭L%{Ns%_J 1ǛƣV.W71CǶI/<0XtM_DL>KTm|l v;3{aHi*O^.cbu盚W3>^;6͑抶DGr>"a2"όpkx0/.Zx~ҭ#$*{rJ7ZЮ[z:mۡ u̚6.*?bBc ɠ<8qb\ :ML\ 'N\3Ww^в]Bb{.E .VFM*MN=w]^mhU6,?Cڄ*,,!Y?˅A!2M1CL͜mF09N'f7'bUͰuX WېGwfs/nSOݢGCOsBL'j<%UNفt?`ނHO1ꔱ CI //akl"ڠ(R1d5=6j?8Gw8Ҳ?n9. B'_ɖ'+9mA:>6c.3W9ht5pT%l(s|(IdoaSkz-OSژObX751ٔ6A()a  '+|%^fGdf ^җJI"\zFAlWf[Uq:;TGt_s{5*<Ҽn!I]Ʉ9gqY9%s쌆J8*RPrFS\[>epwovFP+2,Cqf_F]Jf"1v'Prutu;@"*َ)\Y"\:f zF? @}bNRN)6{ןrːz+/Z}+"["zѼwV-x49n3bn 6UC*ֻDŒqѲJſP2J!/IE,q:*_2b~ϝ@W)f x\ {6 C.Z$CZʆЇ%6u#1*c]׵%q{{㸕r,y:x()!K%xbu;71U9H82$ɫkX0$mf7)`G }zbR^? "U'XR׻J$󔬁9Sg{=bIDms3 !w#(6庼`F**yO>`T/!1{9fv0?y{6 _+L`YF"@|[3bGlKooyҍW3J8/%^k>9XڊVՏHH^((N. )fI;nj#iJ:t\7Eb#ۘOdu3l>]!A}(s) sBQm{D>WeQӌ-ꔪD}%MӬךWٝFyuU7bo~K%]c2m[;`ݝ"v9Rc^hGY}r rxogkyx~xyL:lOAiKpTx/TW㘧 h W9s<%2(CĊk +IPpk\ꣻn.C5eN,Ws/ Oh)Y~5({Tme활l/<&Å?Ct`OhR$ 'ӑ\Mi!ZRpwlq6N 1?;2b۝T*/5Ǵ1]_SU,B}]\w*sΫ\^8o ,l[ɢ83PXV9RFV(=Lk fccK +9BR#RXjtܐ;;ǞvӰr m-<48u(if٪BI]AȪےBʅ{>ĜR'6?aNXڕ?x实cZùq<A*ІM5yq!(n_M |(Nr_ +D+/ )R,xl0/ DzC9*{[>2ge^9by $/F_c*=*IS:6ATR}뚟8 L&#V^,v|By7:ޘ'&'@5O=mxha_/-wPOhIRLrGvA^ Nݿ$6X =|:Lg]: +]e{,ܙXml 0HQs\%Vjx!dIVCEKF<߀o%{UWqDaxE]zQpA1^. +9lI!S,yBT3#LoA6{: +w${} =P7Ive*q3xi4*\}VoYҢ )3w)ƏfP|!oR fE>>& 3oCݪ[FQ!ѿG9PyBҀ&q2(>쪳"Z )/4ˢ> D b@y~ Wgq*)@&V0H`#ѪVjcvpgAVi`1CW4)8pTt mD Q {_hV03CaN! U!W ϣw zGHF aE7WgDZߋ0-1I&P/#b``CAiIx~2H6.q V~7cfe8| Zg8V/׷ceS6'G&'78Nl8 +xNù04CVUM nB=ur,+i8cem8qJfa8GxeA*V(ddS\hrY)-Op΋&Ps{hyGY~Bjn ss~Мe)'z4zelC32n|ȍ=o<\;0K =jzƿaNjvHf!"UP^Ek`ߴ](gN^âwQNHN=^ ~N}-ixV}z݄np6p&qyuL6!bh6( K8` {3P>ʀe49j>DyxІC-)k-/fjLV}7ޏq>Iv9Rs-{fZ]5xB]h47t9)q NcS8mI4947b[ +$y[p [ݢ|LM;LL#j +&sk.M[Z6= S0ga/V}0s.Váb퍪z@{V_yxJ>(opf|){XkBiV,`ꩴÓr(1+)&NMEC"H51V$v4"_mrQF[Uqcyg;zV7/?E'46#ʼn +9@;*T+imٶIH8g' i]NeG"n5wIt2!]ӷJ1%$o-QWwW'OH?:d0\%D.jr%>4}dZF +P4NHZ\uScSEV0}7i5)Xj42HUuCmʪH4+lx +3ܾfYǷnCMFsjٗ(؊$יTi.#!ڴR_Y }9BjCIjLȹIsl㡜K~s'ۮ{6-"drǓecB7EI]M4ʶ <$ hMt嵣 +BLECҼu>u&\8d,7_jASo5M)89y&W|?J48{K'E|7ͤ\MЬF25+􉦽h vQJd;I?~Pȯfg]rSׄZIS37^v'Xݑ!,xgɲw'ct˱("3 &){MͩҾ`?] 4+jSg0"ٸn]I8; 83xRuzy9ǂe渶鎧nEUT8YY&+( fuV!eQa3:(Htelmc%v BT*P90x 3U:*O*Ġ1y[s_ݎNYD4p m;mQT^) JV\#̮{}I +L,aÀVOI#G8ua +KMgs2o63|,2gbb.#,R.^3O]ZĀj YIUV}c:'%~Bs67jOq /{(ѹs}yrܲl.&4SSowB3=^#u,x'j 5UьQup)nZL? +; .+Qb'W|u 'ɭHeNf +(M6茵0v$¡)9P ήӡүoeùj%(!'>"-OrG(7$;"\lHՊiVɅ %>=!4Ib9HiFy&loX~Mf-qb*ݯoqfmp0M ~~Wl/ Q&ァ82ju?=ξk^c@Lgeq$>$ňl^:4QRԗ+D+h*9VL\bÊ -3GXMhQf|6m4"UxAZS㿓%i除4])CyJ  Y>9)}|9 M}Thဒ2sTn9RRZ:KsPPJg͎ ӊ&ɳTRN#)8&Ղ8;\+iSzwmlc6J[,gg_i+]G3HI]G{ ~pH:Kw]qD'MNσAj@\V'w֫1jڨձhAӯ#^Dj?X"[s|} wUGTl?\g8_hMM?n|'# NzL+65`E9HK6DE\ ѓCӹT̨'az?pǃp^t>|vXbDN4bI4H,0R!iXLQ]ZPII)q{`M  ȔaI@upge1L+M`/XAؑQv7@(QbW%'Ei$VJrr%y]hdն>$>:ƷlH?Յ +PBgSe ٯm1ؽ6)n;-3&yc@BJUB(}jZyh %sٹ^D˼AtuA7 ߜ3ZIK,lmVXY]0*EεB1E$=J?E~19}MCMFR؉2yPL>gŎ^J&$I v$U|9y%-ׅ6zy/7:cOGXnR#=xGzZ{/]%$HB.$K>C ˣOIG+5^#؎5|\2E轾Y395ݟC?œ锃 (r06W N;љy})!g"nь4 +t\d+we607 [&%j+9EƵXX_`l"}?Tz0Ra ;'#s~$\5b̦.0\h q +s[Y=lL q8@4ks9]$C"pe'C)ռl$'V؇$%i ;Rzx¾,OQG:";ˡx6z>o ƅqRbrxD0f[s~B'OBGS]NlY3R-@ MgVRsQCR0O]ZNJ +:6*qW0ed49rC +'*JGjW+0gB)9<0l[YIM`X齭8B!1xfbp=>״We"S?zq̿xQ7\ˋI:Dx(Ϡi + eQ˶(!E-?RI*[&9)F:'Qs#L;ӤggTXg-@L`KKN#}┩U>ɚ]~\L.'ɿ* +FFIB5*$8~nFP.c֬Cq8oyӛv84zuٌԆɲC^n)/faX6׾~}/ ( ĆY-b?EGt@ +&ucR8ډojP-)#h ~{ɱ|2ԉ^D +PAWrR4-a:ޚ +)ՁRmon00zI0HQ3 a7*EѴVऑ'O#mwYKa}|~8sl7@ z9Uζ~%CհΤ@3Kj`~W84g8]+0O +) ԛ~GN ^-GkxUR]B4ć, ku"dWǵ_ՔEX8N|Bn1Z ~0jhZQlQy#Č9WgF̾<m@s5ߐ֙n*} y]FŴq~a%&Î&F049m@ \vn7h>'RTАM1,*N Wx0we(>-9Kw^q{EO~)ߓɎ{qtizJ=ZJJVP:CwK 6iNc]-t w0}aC\m6dqu4/-+d\Jk*QzO%\i)O2[V=yl{jQɹSJi*ˣޠYM{S+뛔v:e?/-3aο?󇚺+K$M>⋕.l^ ˬHy6,dɺ@j0i}[/4nݓxowy6=XLne,y#n1cw1Ɂ6ILy22_j'T,I֖h%8H@g4lpkҝi1,93y R_.pYs_[rZr8*7Mf@7=7Ι͘MڏD$n ^pTǵ鱭gg˻vgc;puL=i-M~1i4|t#ue)1Qjc)[UE}#<ڣo<S$FakZO9m˃Ӡ̲q5\bqt0gz [,&"Ǒ}}?M ju~\tRCU_{֦(ױU=ou|G@ Rb8q rVcC[Yljg'}fƬfyRa(-W%l;^]"b<\ҫ},BѶot{`ȓ;qT.ieu&J$R3бCm(@1 ׋#Z.n{ɒ?ot_⃐F]I7% HԦaxL"F @JƅMf4`Gq&2bɥM턁$j1~Dt@ts+Cr2r}\ɉK3Ďc f7>XN{rHe2V&к'Y=ub6$Ք[x'f +kk<ΚC~]c`:h ?jGKULi,$ٛovoIń d)VO9GkBlMZL4ƲB/:pw@՝$t NOG!sA2DO%]rb 7Cٌޞ#IHFhjwbuJgJ PxFȀYߴt14?/Tq˾L#{n9/PN'}rEu1p}aԅ.2X6> _iY%x/`)m5@ݮr{2y$fw8 ?S7*>tQ]r%gX47b'}1iWX>\M! a!VvCE8PS$C(?n9G.yz,&\]9S'&tuGslT⤦1M؛63.:o&yB?[:@Q/qne6s>olegO:JYD%rl'2,%·,A qPnO&p_<Ѵ/4u4"U b`iC~e &?%]q?& WMGm#s Ynd77(yn]yɽ]S{p@|WC5BUv6-E;tTw8+NELB4>V &nUXKi "G(ٱo[+s_j|y%OթJ$TM .WKv} qnM7zkȯ-\V֥XfV{p5pah}k"ȾDNڟozX5'2\Nj,hE4Мµ6qz)U$-#ڱbй5j`q-_h'Zt:Y)m0Y%Jσ3J? O0SLAFm0Fgp +tF^Rhm@KO,߯.Ӻ~:lN1+ .(V]Hٴi#mT=-P37q٧@XA(ŵ1`':Gv-mJL,?;3k>#T"%OP՝ibM8qjrFK2f8 6m, z,X +񟓹":8㺗|,=f bƛՂD8sF +\?ՅU?RlaZ;Z8prt1(' 8nQ0hs"ؼӍ .82H,+GۑLa 'FAZTOVMY*nU a0/zۙvV=!Z)N.=ԑcex!Q +؞+ fėVqM3ӅVHYP GczRLakL|cLHɁ)E'{MJH>q%zNUzG}L'f5GڋCB Ūs0g()+6I5 㔆;HoL +d2,cad Q"KZ,~-Њn +>w=hR,{p5SRhOw>T̂ iXUCE\~O!ʵEHy؈YHBűa Tj#kdQoa0±:m8{Mgcb?&tv֟+Nڕ]'Q)S +s -FB +E̗Ԙt(PFW*z-$Rq.(&;uUo zL;6ER<5B2<.ؾ2]K6h`1.;#|@X:pykEqy;rkC5`U[2VZi= +y v_/[+D4,0"x|-ai}^ +RbQlNt$ 'MmAl@jehFqHm4*M%K42+'k}@ZgG +gՅEMEt Kp\[ʸC3?/ޕxK\SUKTKA ц;4U j{i 6*{mU]h| xtZ*µe+~>stl %jm[)଴R"l3PcWqϞYBQƋEϷx“OPT`.K6'4EsI[݂}jd2 pB8U!8Y7x=囗ـp.ѳ/$8FjE 1>9.BnprEsJ;CRBp2󦫎|js ,0q* )PV}ȤL7$6}+Z3Hfe:ݞT͕n&lnV}Oҥ',a74%;&[NYpv.B@9сȑ OM ><*qPL~lToE=pʢ~qHp9g4W.]nb8f 2=u:Vdfy߈xoxv)8 GlW?E +("Wto`$/՝h.~C OUQ'j7wDB礩؋+ܓSe\hxY YSp͓uEsƲZ1`X;KXoBw,{ֆTX. YAW ^UH Y\uuhd ʹa\C=]gkh%a %À cݬ?r0/uaI?b]5Us\OUcj!$ђ?* +sȔ+*ka݆l;T` KUY^Te…GUFs̬r +h0וf[ٔOjcs[&[2s]2ԝW8IęnV]iK7 ҒA +xA i)jt+>0h6&iYs q)ŤQ4p=ͬX*k4ވ'wG0B_(r]]<⥝P.Ҩ Q)sU7!qLD5R]w}iB%rF3 +;#Zw|ɔVNcf;t"LU8t2qdSvc, ]}<_ѾAoSme/ۅ܍lR69M=QW193TLv{]Q+Tb줖1;Ҷ^3IUaY2,x<(o ?IL,c-0{!05JmT1>Ql|[r92^AxE6U͟]8,T92aynR $]'yG(S߁FIBnZ O{y*ׅkenԯ9ig!fdǕJ+̶ lYˆTO⾂+e}M kqhE'WC$ u~e=)A4]ZOd*Q z,{xlDZ1*1͓lTʴ0CbLٹr{%Nߣ{m<$#<O3/l7\ ~%^YWk\&Wl"wJl|K578'Q2`.T-]l?tz.~d93p=%6`G/Z7TR톖yКѕَhL6Z9'Db-Q#vFF۲j7QUAex*z_u6:4_Riqi3 +z7D4YT[OK_іcKQɇg i RUXCY3ib;.dl@jh01Di֗z&Xટ}2,s,ɀ{Ѩ?Pj0>(Ms) RNBzտr%@mNsI,+X) R'(7ZL(E9}}?w4ȓYMONd͘lĈpK3 W#AaW*#B.gŹ_{g%9$3A2SS:2}q.b,yɯQFnN J'' ?3$R!>ɗ rRV*;}s'kk<OO'HM/PG0_ysn}by=rhEɆL3jL&TX4iw&`Mw:,r?0]0s2_[Ti2y7buV:KӕH&[V\g9d׵u&VKP^?Ą 4apGSSWIlřs8fڜdZ-BRu`6zMwB2A{o4ׄV{;ڸ*_'R%(:P e1[R!0MB,GILh]y#Hi5{U~[C.4vywv;c3`삒8@359iL礙ZFLǏ;hu۱J%_GKqB7^?9o41g%ɨ/|Zd֎"ćݨ&sSRkGGp+FB,ZxIaY|n@ ~N^aD>^>xD`SL*u={[$MrG?EfDLaC,I&IVg($Er$~p +٬ &y2Om~B,' H8 NXm5ww>J-3^|f<.@~XR.ԥrB)m*URX㬍]ñ qw^4x *b9#$b8ܣBC%MEH?sh'=(٢ =ÃTt$_q | "&q2u͑,k]<<1SC3kyU.$SHD I!DP],Fwg^߉1bCE5^|)^E!~FZTސ'RNl=YwԆǭJ<% JU>= #QLPO5ɝ:$e#WzC}A)՘BEg7J[v#1CgCQol IWoׄIJ{,M94 5OR<6,kx͵^Z^ӣ5 ׀ N$N{AN**M,J!!EiK"x\XP:p:k@<Uc@?O&P5;ZnL,4ds\W:<$:J?+|I$Ġ0;~ B+Qރ+]nebj‘ c$Mgn6 +t.9iɍưJ7ɳcqcM^{#1>r̟VN\Pn\w*ʴ".T`CS0J7Q?}roM3E0 YyoOJ|-t?]抰uZ:꽵/V1ggۏ<5~IԌO&6'TpS 1Q( 19q蒜)INݶ? ioow + OMρy/2r(o},NdoOt+9LP0)Ȋv$gVb pCcMj +fO'I<#mg,Bn'Ź^y@wڵZ}CK'97*9D4I_ L9R FFuy:K/ϓ$9T/H?GE>[eoQT!Y+;Hr!cE>t%?{iԸ_c7f ]J߁EDJqR>WI*?xnäwfQ:MQOi+dͲJ?,r{cD̆kr=x)8zZ)]"m ή|Xtp]ݑSƶ^/X3{æ>4mPYPX9婂3YX +$ %:&֡H( iͦᤅhLKk[q8(ʥ~T])#@³֦W;/NDP3G'ek;:]6(iը*&Ķ vUFWRK`ET5ن.i8)<U>zz/ ԋlok +f?; MٍNJ^??]v#$\݈0d*Vy;BR +ѤEN/K@Ƙn7 AԐ(6.%=; +kz ꗦSElװӎ=>Ŋg4 ~lLfrUط1nwD5Jj$- _O[EE$KwLJ[sgχuxl\A2 "ZlYo2t$Dӡ6SC PG!d +mN*>~5TfW:7jYbiATutL|o,[&{0: W[6e lʸ]PO $*-@9Bm^9t n,bq2mWn{өOz, =NՂN~ RcUXTݾH3Ma +ȅ:6[3uMeEzN7#BĢ5f>t{gѴ}7Ռ_7N~9@I,|uX~MF*d2"D3{XPVjS12^mJ;$esHjغDƩ 8ȾPXzqza|ui%hÁIW6.4"?/Y~a%aFSB}P(M b09O RoN +Ӭr,W>H,UN]Yc1w$Z0oY{ q>gGG9~[xa|ăkWG4#u5צ-QJs(}?5)%~+E6Vd")WR#>o,P-n<|oQ/TKjl'߶KL?R,cg %+޵" g3]56c8ϋlO6BQ-vrr=z(BBR7*}X~wfg 2J?bKz!uqjbUȴ{u626ji_R!Nu$K4s:3Lsr\:9:VW\n)-fw0&۟=4){$ Q/yDkˈ~/8Y%DKp,#*4ro"MDg%_yVX'} ec)1U|HAv,4\־0L`h3 ھ<2|kMoVo +%.9KQ;-D*n6ur&ţ5Dj>DY&TDShXFsJ+q=-Z1'b.QHPKƏmĴ֭XID$m%&΢>kirЛ9:ur$\ʟ-G-%_#)#]LkE$W~‹\:f7[*H*Ó(*dN6 p~ 9-EJ.%}KXUƀ-%PU95?o'a?/Ob{DTҍkcIM +І3vSٱYR4<| +KVf L"'}m"9lClwm]i|n:9M1[Mrd c|FP~Ձ>U -Uy>J}f՚9yGCfꆍhYbɳs|)`вcp R3-&"4 +?9GÉ9?MP3''\4R#ݑ# /[N=U1N==AXsaR -8]qS~CKʘx;2*ElTfW==s]OQ!*bu"6 8%9Y8ntS،2@rdZ%Yhv(jkry>ij.dR#o5Rդ?&hs~&dEt'SS +ez9 +@2mV1)+ƪ,2T7KKRTѕ Xw'taA',N(M9, +<ɪ_>M̾g Mm|D }oӇ; NekC1LF5^TZ +35~ >rcNQ75O3i^z:ezM& +"7߉ rëGlrel$v#$uGs; +8>3&)t3[[Po]*]!(NL]4M_V[aUP%JBR67.cjs_MŸYDRC7l)=5 }^!Wc! +?"'|!"9YlPaBw5U 7_'rIa~N(D{xMTUfMN8bU x<ݏVY:| +_AӍfq-Xpy_KIOLMj`djSY7tP%T msSks8rvN*y\Ͳ'@% mK\'Hw;4Ժ}X[9b)qҳvMFr®#eZ^39eyzQ(3HΒu JHe;2_0ԉL|;Rg7ɡ i%zʪ*]YB[7J+U1<}VjY +4uv, +%W߹3:^%dr))?jqI??)Uh0o@r^rQS.Oe7oVJ +JA˲IRj^P"݈o /@ By-דP* +  +E#2R/=RHU0[0+YɴspcO yu3̽Te! +L9-IL[0RVO Lzi'||jxy#SewͨJw7&{ʠs;_ {k0)Y0TYyY +zr%~Kjtl]%kXT[ŋXd'bq)P-@u`Y6LU3:%_H.X[2niBQ +ChLM'P<O4س{vrQqqd-[Wp0$qpp)ʆ#wK,Zu[6 pzI }g͏?핂-{q5Ӌ<`lFE/0ٹ8T%> e-TWrq9k)'09tW +4yVh"WΈq H~[YҊ"Lj78pyH@`r6; +iFm8_(G+fq0zƪ~n3t}uVgקʔ̴ɣlNRˬOr1a9 6QNW:2HGcQB6[d–HAoJX듚=,IB_dTϴyv_AlOb%mQM+-F9-*S@W5J-NcΦ9uW #UbqlY=6^SO֭̾̐ԓbyXDv3$ge~Eg.3`#9*r*pQy?S4@ubZ~z\„gQfbrP,gi!>?$דZr̰OrquTgVΝ;sҝ퓊(ĻIl9kֈM@<ڳ\jK;E{IՙRT;,p=/1 ["wDx|y:sIfKd UȜ®iٲ[J {՝UPKPյ㸾= vZTbDH^P1^~qXa7KR*/ g5m&BcE~Q oI_bf*&Je6`+)h@}KX< 2*]NҔM5j;x%gkz%J/Szïk"O?~z3aLPq)q]o8.ۆ>#kϭɊ͠tMxc_tKhq,* ;!7s }sn~ ^2PGE?0M|,&ǐ1ߏDň_( H_n~E-);߿bG#c"퓋vD;f9v^OYW"ۡxb>uURi G B+}y$iŔqfg/Z)S{غ/H%G|rzv lG 1vG'iu>GG4#VytƮq!qNP)F~DxsM pV +989cSvCy'vFo97E|s|Ց8ɱ"#ƶ;QU"?_9~8%cx2aΤ߿bE|65Q/o[p".L@5jaA,;^cX1a}xQ=,3@ (u4#Ș95 8RL1V[wšF}/qX9𓇑&BWLX +œkβ;4xvpdWU‘i%2ӹA~nvnsR:%F\O?B bBM6 +U+)4DBY@QN " +MB0L- +ty![bV1FH +zYv:DR>21cAJJV{e /2cp|qJ3gG g}j6=NYE)kXxeO)VB pv~aftJp<8yEb8Q߳𔎊'8E3x.cJ8Z{]Rr'.i=/4&4p겺i3q¡y||>tr찔soa9ON˪I'}j(e豫^O/XeEFrL;Ib!~Cm#t-Y,Zs~E +sfN$+E<';vjE8 (L,D +GADZHF!"U,}Q1tOiҏrQ@RjoH9n3iOf},ؗeWՏ,M ͩe6 ؒC:zSGٰ`s-cRr_$$cA!i`05 u)b,&O[67,oqR8[0/fmQ7'j=oҀpf7P'xp-Ѵ#A+B% _TB8Mex+bm-5MG?,qWxPt-\;o%Ӑz f7LJ>2WH42%Cxp*!ft#th[ +ׅF|gf6,ah8M3l<^h.,ru-:iNFdjQ(͎>Xͬ Gk\6)C2AK^ZqٞHG$7?\rJn/{ẐBnEl`ڼti9ql$ +mxP &h Nxo9'8p[^46 $U:fw8qM'tRe:J'i2JH$$Ͻ|#9xs!,؄gLo`wNHn*iUde`ZAa<Cp15.tMQaA}MS ?GSf/j}9T +8Mdz_$Zh&gfIiLr(ovβ;eb;H$U2|Tfn2Kn R;Ds:dqώ%4h5 Cg +5'I9{>y!4=D6ٽ; ]5(&$=0'!ed5)=:o-aڨ`nstr-q8kN,g݇F7Ms8we󃓚wp&M(\+焧PoBib'BjCɊJZ}&=A<%,}l5hR!$?dz╦x5VRbٖfi%2 mCkE꣼ųE| gW*}kCaHiۅXટeǹ\RN܇DaBEe%(Xɠ`:$hLyzշ+.$Hcm**ug߸"k%!%19$]!q_+;d[d &'KF}LjeA\$ϴASj~{7(5Y嗟8{ u#O +/&` V.Te) "gŵHp +L.c#ǰTg Q !UHEh.ԹP "~JQ|XEQwL~|d>ZsB x+h /ŇE4?>(g +VЩ%[׷1KkR&4#T0J"9 +V pPV^D7q,scѸ^D'yD\5"UIl*9&%j#T. Gq*K^$'K>\(ilf?b6N>+>2GUh8}ŋnJS6"IB> Cu9u1i&0ꊦ4H[5:8{K?{H%`Mlx|wV (y!7^vqH}U4$76 ZZ*_6JF N":Iל8II45k!' tۄN݊`JCRV$i(Mz=aKսFxM Ϧ\'M}}fӼ$r!*D:]4Gf6~ ;p}X ;Qm"'i9Is7_$#'sM_MV`z<f2/G͂I=d>37RRT"4I1΢WƇ4_,dP O X,1۲`&(!'q{T^ϓڢ@1ww~/կ0 *\ޕҒ!XDFigtӺc ˞<^!wQT0t n]ʩCsfJG mIw')'~S>PS0iuIx><ÑU?%meCU9]1;>XehErK7Uʔnˬhڷ#f PbȪ-pQy8,@FHr?T? sTs%aW"J<}[U|j%1ɝ:hD%[;F&pr y}m+CHʉy6r]C7@Yq*%*Mz )hDa.{-|b:K ƙ.4pga44-6GDTvC GyJֻ$Yb +4iŋI3Q:Iizgs +tGH2n@a +M}h͜'a9aKm8{ϓG;;ngY6y):;Q 7 2:5E%2TD.FuYx¶sR:$P578ã7V|p^ߤ_uHo}o>ŒXʂW-hMrF8(%Fsg5KrL;uAb0;9$c}(MPjIt5]Nud|y_)R?zG(C_0adQ hڅh,ek`i6SyJ{kfN6Y @ޭ:/+\ٔU:xgYcvљ<#ϑ6T 0nY׶t J&j<'t,HDIUmD_4P\hKTf:mvĶ4IXU-=ױk[L0'P|Gu*KDeHIkj׬Vh k9_iٛecXg'&_j&&ؕb%.4*6:s E>vvLGXz7Pgl@lnBO֩s8μs9кW$ΒI[:R ]C*&$63fS@ +E7i9qXqs:a.k>cIJe 6)QP[W^d\QGt|?P +?a~o"f"](yYyͪ*D+"4i(ęNN" +.E꿈CvT0Pstl: %;8s>tܸp" +a RJOؗ.L6Ghi)MD-8ޟZe% +,XD9ܲ Pj,&vNJ#}#n%j}iF.'{(׋c{փ۟4@UO4o_w[yTD/8HhπH}^>8ռrykЁ_~7'9kv*W}NĝCEھuf]v,:.,7߉1c`j%WYB?Vs +jVҨ4DiX9l5{奦e-9z$ +Y;[ 8ImLVsv.;5`%g=aOgg1}Г(Qt/_zVw#} 伎Պ @Q4qy.(^05r"=XuCOg)W #<1*O=S^/vyU3GqwC[J>St"[@#8n+@R$i!*հȋQ3/7V=Jץs\5(i >LqVr_L ; 6>[w,ӵOzzo=KO?Uda6V6YIe +INan b>_4\r`V_f3j?l Q]?+:}baCAP6﷠s(EzMQ1,(cIPL 6V䚈g遛%;uE%9F$ھҋ"=c =נ̹N$*r0$-nD;NҭM'u +B)P'z2(8>wHOB!i6ُU͸`ٲ!\w]Ӗ[QEpE~)ǍsE ը6P9љۋ[qa +id%A]+ia@Z=m^Sܯ*cvEE /ґ :-)]9GKN \n ': ' geIIuH!ԫJyO33b6Qj"*HTs+Ԥuָu$;rD( ω._j6YV eo܀0(웟p"r!{߬:\I:%&#oѮA~W\F*oԙޣ"%]JH賴nkH ԩPKuGb:Nb/*#ϥWJN)_Ti~IY:式g*=ɂDЭsb'wאrbnH-em1i1j{ @{1;Y >\fx,V^[i +vOq-ѳTSuKMƒb*'{HBfveFJOh`'@oi\t$PٍLg3m2eJ=e~M{@j61Tל?GKa,*jρ;KL҇]a܋q*u*1z)YM2@6Uv=ێxl"~J |J_a-zdQJ IA[]tnY.s=TqD=1>Lusx,gld\B=ANI$:`|4n?O>aoļ~޾d#bt޻Da , +חptHݭX1L|vCP +nn4 +Si`{hP-DsYɄ0Ka4;7͛.H;wj`2k䤗Z62sNcV:3PD1 nV5bY#/le9Kq4mu8Fo- :)2wYt`{CERxZU&rjBf`:wn`&$G=Srb4BR|ͱ4VQ|QSLU-1MQg}.dk"g>sDN lŋp~܅W- % :TBs_؋pW6,S4iΪ6ZI]>vƪq׹Q?VB>KHҧ\M#{<Ū1 Rd;eoV4:nDI1QoD׭7>;VF3vn}^rU5= b'g\6?y %(tW b2Sn_SnI59MjV5Cb}ieq);~ awŗv/*8Yϳg-&9s}z=D>s罴f &y}QUimr$ B쁌Z/ /m9 E vK3qmJ*Unh~4ap *T82bd?nŬbV)"D9rljqc.:1jFgj$P[#T!4m CAuԹT3:yUʙr fzL0W=#z.)9Zּa3$N;7Zr69pW"2)e0/B-RcV/Y}ŨvD뵋Υ! xl,+ iV=g)`C<(,I91oF h>k8{;vj>DP0!~Y  9: +grj*hd1`dD5/jj/UMrmNhRB9%U_ʑ! ĉ$Ps +.ܢMgc(aHJ0E Q{WcbU2?W9LŨuUKU`z*M$"uKQ M]` +"JOӉ]!e#@Cɒֵڸa71䮿 !9neC9f8~|K.w!ի]dSQ ĕ1;.zZC 2zjsS4@GeXҊkt,B&վh;Hz1obLkS&i;&~iX"d y${,y: ftAMCǨ8 $|;)Rs{3y!qZE.- |411:T7{tIHZrU,2S.}r*o  +@.se 7s5k;ĥn8avgdE0wѓOGz%RaS[ %뜔Yr +&c9qh)N'&ʹ5eHn6 >0ԃ}zʎ^ 4d؎PoD<וBܛ@v%ᛒ2߅RYIEz:+ kf)Y޽91m(({&xqmMjUW¥eӗJrfN:eͼ]2Ƌl*ɟdҭkkGXbC^5FXV$6ņW +eɺJ>a¡ gxWŁUV{ŻN'.&. A_ge#cm [镗W]'?#^r!yB[ݓDdg#)}>m։ +nz@sJZ^1}W{U*H(I-^_$ +i̇G.j\dϚBK~B-9+ֳ7eƣiFw(ȟr[E*ۋhHv6p,NiURZ= V,QB8UM+Ha֝X{&b\YN=iƣrÒ/"\Mz{5FZK_jXP/JxES"-9E8^%l%F[<;78,;nl;8E3\拙)\3\n=u2:V$?6 \zuǮ|K-qG/d& sԋ(!B.&) YXV.b@ y pq42&RS0^WTQ@CpIYb :MW4ⴈKY-f)Wh) wg~j>/@-<&HzgC-H?ojĶf<]-Uw- 5bZr4'6-2jwRԼ?p8I+a2sgױE ePʋPބǚrJEUŖ~i+.TB0=]sx/̙^0 >3%0\e:2ތ[aYI6M5HndEMzNHZ.h6$:#,Nj&޶ "U^_(),|kmr]O|BvP8N%TuMrAnM'9!W.Mdb^*\þg~jkDd=Rs.%f{S6N98vL̚NW؁3W1C;Fk'<̹:$ +jW1?)@d/>{fbWE9RoYZ~w-NTKEMּiXb1?ֻXCjY2:IXvM,?:'ugʐ̰iy hL{ +[^ƷvM5qԅb3=x^POVlBm/ƾ`H[z#'Rr$0/ A],(nWyx;P!B3~~S+ԪO8ujv!z9Hr_RHв>ijMpH)44]|.#Η.;.9S .|5TH*\ x%PԚJ~MhjY]Usr?1sMlpP.&nE.e9SGXm5c.R煔e%,n`]{>u*}bBS,?0]M} EFN `1C13uYsܦjxEdkrIcPzit>_eqaXN1x [RIסH{"@vCS5 wxM*?W87!3b* +r>YuȔV%nEU2Y/l}sQyKUx)p^w7m\0uvBS/VNu;[`n\jb[V 6U%[&QU)=DKZPI/G:Mb'RRH/}PTeɲ*X,hUVSZ%Fsi eT>F7.&UtI^/ehv.H-R dޘ:5o8CI[OStuf6Q \"Wx*<}- +Nb`3C L,ݩ§EH&R9us8KP ZCn`;²q7@S/ͼPrIT V;gPiMyn2 .s]K *okr⸼Вa-JO5zM@rZ\ylqmM-'.,xe:mb9Ul\M۾Ʀi +R +N,lYa'WKEe#=?܎%by '|>r#av<>Ÿd#J-eC`lQgMgr<p6tGeGc{[9D +{~"oZ '{P {E;~~0/%Z{4 ܾڻ{3| + !t3z^$q>Ɛ}D>;J~瑸BC9PVȻ.+\ =p海q/+F=WdҎQ0SEdD(kDcjzj]@t<ɦ"=fO8jPGF 2jjWRU īf0QW0fuE :؅¿·x|Z#^,wϒQٷX|ŷX|7~`cޛ +endstream endobj 328 0 obj <>stream +8;Z]!Yn"W)$q1'o,9'RrKW/1B:=R#\L]Va'?]HE!'MCueP5(l1HaRUL*^+iA3&!ga +T=Ea:d(p4fH#D\P(WA,`7JFWS@Bi1KSf=(WP1W2uBHj0rIM!h3,8?7WPcVX'P5V(V +pdK^D2uEI7'I2m7EZtfRTLlt_`+BQNnjC,nr+675ZH/XF-oY?B,p`Bq0lKE.l$k6. +BaH4?,Dp"f9IRI>$_$.HF1,C=c.o;&_)cBG;IrS-+@XSt>l[G'b=Ga).44FDm'3@p +23Bl"4h\k2N5MrskKMnVR9f8oT.K#*V!R_#,Ujl?=F=bRidiLjUW[>h)#(68#sVBd +&%a-E1*k"N&P3hf``*%qKt":p;7Il\2aYdM2G:dXME8odF;bH%H#0Je$/G9%B'sHs +[ZUu5o7,D0]HN,"@dJ4[Pe9#5H?1#^9)diU82]5H@fUA*:i-~> +endstream endobj 329 0 obj [/Indexed/DeviceRGB 255 330 0 R] endobj 330 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 321 0 obj <> endobj 322 0 obj <> endobj 333 0 obj [/View/Design] endobj 334 0 obj <>>> endobj 331 0 obj [/View/Design] endobj 332 0 obj <>>> endobj 327 0 obj <> endobj 326 0 obj [/ICCBased 335 0 R] endobj 335 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 325 0 obj <> endobj 336 0 obj <> endobj 337 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 17.0 +%%AI8_CreatorVersion: 22.1.0 +%%For: (Gnarly Narwhal) () +%%Title: (Player.ai) +%%CreationDate: 10/6/2019 5:46 PM +%%Canvassize: 16383 +%%BoundingBox: 41 -513 796 -130 +%%HiResBoundingBox: 41.5507625538103 -512.500000000002 795.511669252981 -130.602478027344 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 13.0 +%AI12_BuildNumber: 312 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: 0 -512 1024 0 +%AI3_TemplateBox: 256.5 -256.5 256.5 -256.5 +%AI3_TileBox: 128 -550 896 38 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 2 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 2 +%AI17_Begin_Content_if_version_gt:17 1 +%AI9_OpenToView: 540.75 -191.25 4 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: 540.75 -191.25 4 1936 1314 18 0 0 78 120 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 72 +%%PageOrigin:-50 -652 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 338 0 obj <>stream +%%BoundingBox: 41 -513 796 -130 +%%HiResBoundingBox: 41.5507625538103 -512.500000000002 795.511669252981 -130.602478027344 +%AI7_Thumbnail: 128 68 8 +%%BeginData: 6821 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FFCAA17DA87DFD11FFC4A1A87DA8FD11FFA1A8A87DA8FD10FFCB9B +%A8A87DFD11FFCA7DA87DA8FD11FFC47DA87DA8FD0FFFC3A87D7DFD11FFC3 +%A1A87D7DFD10FFCACAA1A87DA8FD10FFC4C3A8A852FD11FFA1CA7EA87DFD +%11FFBDC483A87DFD0EFFA8A8A8527DFD11FFA8A87D52A8FD11FF7DFF527D +%A8FD11FFA1A8527DFD12FFA1A852A8FD11FFA8A87D52FD10FF7D7D52A8FD +%12FF7D7D52FD12FFAE7D7D7DFD12FFA87D527DFD12FFA87D52A8FD11FFA8 +%7D7D7DFD11FF7DA8FD13FFA87DA8FD13FFA87DFD14FF7D7DFD13FFA87DA8 +%FD13FFA87DA8FD10FFA8FFFFA8A8FD13FFA8FD12FFA8FFFFA8FD11FFA8FF +%FFFFA8FD11FFA8FFFFFFA8FD11FFA8FFFFFFA8FD0EFFA8FD15FFA8FD2FFF +%A8FD0FFFA8FD05FFA8FD0FFFA8FD05FFA8FD0CFFA8FD05FFA8FD0FFFA8FD +%05FFA8FD0FFFA8FD05FFA8FD0FFFA8FD05FFA8FD0EFFA8A8FFFFFFA8FD16 +%FFA8FD13FFA8FD15FFA8FD23FFA8FD05FFA8FD0FFFA8FD05FFA8FD0FFFA8 +%FD05FFA8FD0CFFA8A8A8FFFFFFA8FD10FFA8A8FFFFA8A8FD0FFFA8A8FFFF +%A8A8A8FD0FFFA8A8FFFFA8A8A8FD0FFFA8FFFFFFA8A8FD10FFA8FFFFFFA8 +%A8FD0DFFA8FFFFFFA8A8A8FD0DFFA8FFA8FFFFFFA8FFA8FD0DFFA8FFA8FF +%FFFFA8FD0FFFA8FFA8FFFFFFA8FD0FFFA8A8A8FFFFFFA8FD0FFFA8FD05FF +%A8FD0CFFA8A8A8FFFFA8A8FD0FFFA8A8FFFFFFA8A8FFA8FD0DFFA8A8FFFF +%FFA8A8FD0FFFA8A8FFFFA8A8A8FD0FFF7DA8FFFFA8A8FD10FF7DFFFFFFA8 +%A8FD0DFFA8FFFFFFA8FD0FFFA8FFA8FFFFFFA8FFA8FD0EFFA8A8FFFFFFA8 +%FD0FFFA8FFA8FFFFFFA8FD10FFA8A8FD13FFA8A8FFFFFFA8FD0DFFA8A8FF +%FFFFA8A8FD0EFFA8A8FD05FFA8A8FD0EFFA8FD04FFA8A8FD0FFF7DFD04FF +%A8A8FD0FFFA8A8A8FFA8FD11FF7DFFFFFFA8FD0EFFA8FFA8FFA8FD11FFA8 +%FFA8FFA8FD0FFFA8FFA8FFA8FFA8FD13FFA8FFA8FD11FFA8A8FD28FFA8A8 +%FFA8FD10FFFD04A8FD11FFA8FFA8A8FD12FFA8FFA8FFA8FD11FFA8FFA8FF +%A8FD11FFA8FFA8FFA8FD11FFA8FD14FFA8A8A8FD11FFA8FFA8FD13FFA8FF +%FFFFA8FD11FFA8FFFFFFA8FD11FFA8FFA8FD10FFA8FFA8FD13FFFD04A8FD +%12FFA8A8A8FD11FFA8FFA8FFA8FFA8FD0FFFA8A8FFFFA8FD11FFA8FFFFFF +%A8FD10FFA8A8A8FD13FFA8FFA8FD12FFA8A8A8FD14FFA8FFA8FD11FFA8FF +%FFFFA8FD0FFFA8FFA8FFFFFFA8FD0EFFA8A8A8FFA8FD11FFA8A8A8FD13FF +%A8A8A8FD11FFFD05A8FD11FFA8FFA8FFA8FD11FFA8FFFFFFA8FFA8FD0CFF +%A8FFFFFFA8FD13FF7DFD15FFA8FD13FFA8FD15FFA8FFFFFFA8FD0FFFA8FD +%05FFA8FD0EFFAFFFA8FD13FFA8A8A8FD13FFA8A8A8FD12FFA8A8FD13FFA8 +%FD14FFA8A8FFFFFFA8A8FD0EFFA87DA8A8FD11FFBDA17D7DA8FD11FFA2FD +%04A8FD4FFFCA9BA87D7DFD11FFC4A18352A8FD10FFA8C3A1A852A8FD4FFF +%A8A87D7D7DFD11FF84FF7D7DA8FD11FFA2A8527DFD51FF7DA827A8FD11FF +%A87DA87DFD12FFA87D7D52FD51FFA87D7DA8FD12FFA852A8FD13FFA852FD +%51FFA8A8FFFFFFA8FD0FFFA8FFFFFFA8FD12FFA8A8FFA8FD50FFA8FD2FFF +%A8FD4EFFA8FD05FFA8FD0FFFA8FD05FFA8FD0FFFA8FD05FFA8FD4EFFA8FD +%05FFA8FD23FFA8FD54FFA8A8A8FFFFFFA8FD0FFFA8A8A8FFFFA8A8FD0DFF +%A8FFA8A8FFFFA8A8A8FD4EFFA8FFFFFFA8FFA8FD0DFFA8FFA8FFFFFFA8FF +%A8FD0DFFA8FFA8FFFFFFA8FFA8FD4CFFA8A8A8FFFFA8A8FD0FFFA8A8A8FF +%FFA8A8FD0FFFA8FD04FFA8A8FD4EFFA8FFFFFFA8A8A8FD0DFFA8FFA8FFFF +%FFA8FFA8FD0DFFA8FFA8FFFFFFA8FFA8FD4CFFA8A8A8FFFFA87DFD0FFF7D +%A8FFFFFFA87DFD0DFFA8FFA8A8FFFFFFA87DFD4EFFA8FFA8FFA8FD11FFA8 +%FFA8FFA8FD10FFA8FD04FFA8FD49FFA2A8A8FD04FFA8A8A8FFA8FD0FFFA8 +%FFA8A8FD12FFA8FFA8FD46FFA87DA8FFFF9BA1A87D7DFFFFA8FFA8FFA8FD +%11FFA8FFA8FFA8FD13FFA8FFA8FD42FFA87DA87DA8FFA2A27D52FD04FFA8 +%A8A8FFA8FD0FFFA8FFA8FFA8FFA8FD0FFFA8FFA8FFA8FFA8FD41FF7DFF7D +%7D7DFFA8A85252FFFFFFA8FFA8FFA8FD15FFA8FD15FFA8FD43FFA87D52FF +%FFFF7DA8A8FD04FFA8A8A8FD11FFA8A8A8FFA8FFA8FD0FFFA8FFA8FFA8FD +%43FFA87D52A8A8FFA8FFA8A8A8FFFFA8FFA8FFA8FD11FFA8FFFFFFA8FD11 +%FFA8FFFFFFA8FD41FFA8FFA8A8A8FFA8FD08FFA8A87DFD11FFAEAFA8A87D +%FD11FFA8A9A8A8A8FD13FFA8A8FD2CFFA8FD05FFA8A8A8FFFFFFA8FFFFFF +%A17DA87DFD11FFC4A184A8A8FD11FFA1A8A87DA8FD11FFA1A87DA8FD30FF +%A8A8FD06FFA8FFCF9BA87D7DFD10FFCBC3CAFF7DA8FD10FFCAC9CAFFA8A8 +%FD10FFA1C37DFF7DFD2BFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFA8A8A852 +%7DFD11FFA8CAA852A8FD11FFA1FF7D7DFD12FF7DFF527DFD2CFFA8FFFFFF +%A8FD06FFA8A8FFFF7D7D52A8FD12FF7D7D52FD12FFA87D7D52FD12FFA87D +%527DFD2BFFA8A8FFFFA8A8FFFFA8FFFFFFA8A8FFFFFF7DA8FD13FFA87DA8 +%FD13FFA87DFD14FF7D7DFD2DFFA8FFFFFFA8FD06FFA8A8FFFFA8FFA8FD12 +%FFA8A8FFA8A8FD10FFA8FFFFFFA8FD11FFA8A8A8FFA8FD29FFA8FFA8FD07 +%FFA8FFFFFFA8A8FFA8FD15FFA8FD19FFA8FD15FFA8FD29FFA8A8FD04FFA8 +%FFA8FD05FFA8A8FD05FFA8FD0FFFA8FD05FFA8FD0FFFA8FD05FFA8FD0FFF +%A8FD05FFA8FD29FFA8FFA8A8A8FFFFA8A8FFA8FFA8FD08FFA8FD39FFA8FD +%35FFA8FFA8FFA8FFA8FFFFA8A8A8FFFFA8A8FD0FFFA8A8A8FFFFA8A8FD0F +%FFA8A8FFFFFFA8A8FD0FFFA8A8FFFFA8A8A8FD29FFA8FFA8FFA8FD07FFA8 +%FFFFA8FFFFFFA8A8A8FD0FFFA8FFFFFFA8FFA8FD0DFFA8FFA8FFFFFFA8FD +%0FFFA8FFA8FFFFFFA8FD2FFFA8FFA8FFA8FFA8FFFD04A8FFFFA8A8FFA8FD +%0DFFA8A8FFFFFFA8A8FD0FFFA8A8FFFFA8A8A8FD0DFFA8FFA8FFFFFFA8A8 +%A8FD29FFA8FFA8FFA8FFA8FFA8A8FFFFA8A8FFA8FD04FFA8A8FD0DFFA8FF +%A8FFFFFFA8A8FD0EFFA8FFA8FFFFFFA8FD10FFA8A8FFFFFFA8FD2BFFA8FF +%A8FFA8FD07FFA8A8A8FD04FF7DA8FD0EFFA8A8FFFFFFA8A8FD0FFF7DFD04 +%FFA87DFD0DFFA8FFA8FD04FFA8A8FD27FFA8FFA8FFFFFFA8FFA8FFA8FFFF +%FFA8FFA8A8FFA8FFFFA8FD0EFFA8A8A8FFA8FFA8FD0FFFA8A8FFFFA8FFA8 +%FD0FFFA8A8FFFFA8FFA8FD38FFA8FFA8A8A8FFA8FD0FFFA8FFA8A8A8FD11 +%FFA8FFA8A8FFFFA8FD0FFFA8FFA8FFA8FD3AFFA8FFA8FD13FFA8FFA8FFA8 +%FD13FFA8FFA8FD13FFA8FFA8FD3AFFA8FFA8FFA8FD0FFFA8FFA8FFA8FD11 +%FFA8FFA8FFFFFFA8FD0FFFA8FFA8FFA8FD3AFFA8FFA8FD17FFA8FD13FFA8 +%FFA8FD13FFA8FFA8FD38FFA8FFA8FFA8FFA8FD0FFFA8FFA8FFA8FFA8FD0F +%FFA8FFA8FFA8FFA8FD0FFFA8FFA8FFA8FD3AFFA8FD15FFA8FFFFFFA8FD27 +%FFA8FFA8FFA8FD3AFFA8FFA8FFA8FD10FFA8A8FFA8A8A8FD0FFFA8FFA8FF +%A8FD11FFA8A8FFFFA8FD3AFFA8FFFFFFA8FD11FFA8FFFFFFA8FD11FFA8FF +%FFFFA8FD11FFA8FD3EFFA8FD43FFA8FD38FFFF +%%EndData + +endstream endobj 339 0 obj <>stream +CDIxtSu~/9zE{ ,W.`W,y_67z{ 4b7ujW)mpԍYZW`Zz74tm_H:4^vDeZ!b=s-6݂k1s-fŷ[CΫ!fCԞ W/ΫCg.d>ǎo^n1՞W.rK{ N.6g v_Mp/B02JFg qe\V@9t=}tLy f;n}oy2OT~+N[WgژQicF=RxR:=Rxzw8j;gGRuvR/đL&wLΊuLn80?])"pm^̳hp?r0]0Xnbn|p:sX͏2uzͿFwץDEûb9no:G}m̨ntmO^agK>Ճ}eGl%n[_,s+l^f*#s͖نA)vPgi}JGնR9wlrɽ:l.Ϝ7:9o%v]7s޴1y9o2M/,ʜ7z9o.$nePY:\,/8::oJEuU҆vcNONa_S zOXiukN/k8b>|v"nU濝{XY6U<;_ɷ ssʯeךr_˪5I{JY;&I~bWOAiGj;r8:HNwvAg3s;I.Q6z#a HsۙG.x٢سc~ի,?:@_->hedifvՄ24O>Z/j @ @ @ an<;/AOuڅivi[S սj;,u-+ҥ[{/zu#nqFY)*k|2 8q_9;>;|z\1eRfW7m"Mxͮ4h/o6W˵O(EG픨8F\VNQe +vM?G)xvzqY~_јњSsm=I\2;'Tm{M݆㨋^Ҭz |1ZgJok'W7tjv$;^&k$JmE2~))3{EK>_}&mzڎ-";M)hR2ͦ +ڇȽ^Yr}M~a,(-ҋd?DW16xƋ6f:u^_،DuMn=3|^<:Yqr\{L&wLncF="۠m3^fg"9@$>S +/!8zn~2|74k_)'mbV'dezSHc[6V^C[WdIz^3pz|vBv7ΪQ +>nMw]_9[ER?udr9IgW>j05Oİ /TT:zgz6Z]趻.H;y׸meequMmNQ qvM_Vz (zPLOSXu!B7}U 6˧mA:U(z *stӇ4%ɉnYnt#z7'愳?uzPG0AKg+ZoiO?Yz7'OώST= +Ou +.С#B +s;ep><.8~}A{҅Kڑ|._)y|a8 Au!Na/B~=7 +W)$*T˷RJᨄkʥgFIHUr.nۂ_  y!L΁'"8D42{qH(0mF꼔79 ˗ *O += RqD+"Q93' + r@*W9DQwp=q 0W{x:0X`U]JK"ބ MX;>(p7)D.ȋ0x<( xUaix+|1Q>^ܐJ̣TG/@ >aӄv._BWq< :lpCC‚*"jh&`*z?ЍG2Z!_Ї95& Áݨ_*&xnUB(h7*)v=lG!f" +$Lc +p 3?pHna$lc.h spvp"KMN=x+ "aâDp"t +! hl@"E!*1u̿qoIWɰb0@;@2v H]A8\$j8Ev#Z1'jx@ kJԸ$Ď$V lFbgHP oqBj19TёTKu)FiW@K؈bӇ[BPLl@JF'~7!+phn(*uy·h9y@&*t/%!"_"g 'u 1AuҎf.2RxJ [BAqCVP}R~QȽG6&5!\K96DJLqio!ƙZJGlW(z|ㆍS " +5 +jՁSP2I2`jَs TIP:d88Q rikx.zq! >4|X-Yς$NBDgŁdx6 WxE`.DƢ VLf U(QՀ ϒ!(H7h.v0Au +bu'F6@Sl!?.:؈ai*(@w5Edb!" 7`\ +rŃa##v`TQaWoD +3IIDžI.GjDZ!oƓy"4Bty2#oLSbܩD|Ƞa&A~-z5"sd >nPrU.1Y ?u$\HɁtK"ȻW4hģ +(A`|%AǻC CNHg67[讍Mq F:!.^|N$nAUJ&(v#IG[OwY$#%哼!UE0UJ֛4p$=E*z\sID^1qƂn\]h<HP> o:FݦzQ>F4ZRC鄈CMrK 2Y1#d `d\Kb`Qs9!IQYM \#wP @U)5~q ItAJ6,MjeG^w*MߔݞLH !p2 6bvpmp*ym6"džPDw´rK&Es%R DXH=Y$P$-iF*)h#A}* xb/QX\cΝHxEHgi$!*f98e +I@S@[KLhq( + !"-Q2% b*Rؐ1 "&ʽ܅dF:#oP|KRB#ETx*]x@Hzd+ʭz6NN70N,M-FL:.="&S ZN@ &)F SydE3utYpȹe^_}+>Kj9w$6X&e:Ũ`,x18ڡ@W4 LOdXlF57]눂DP#lɏE#Sٓ?ÃyLD:a ]ar<Qw|sV"YaX@nFIRSA +˖QJW EQ"FzX]rn &ccT_"mk̺T]2݌-8)"zAx8y KN$*.L4CQ~=sXr+(:`xA*G2IdzوKC`4ex-=QqH1M%&ֲctrf͝Ϯ S@ia@kNB^\2c١3nl$(q&,Sy\MT>[D &J"9 `GYE0&>ȽJ-g(E BM$L>N8=Ij[j(8Ib-Y +IrٱcUjNu30ދ< +Hf0ߚjHMCP sҌ +2n`vH#7 ,&dFEM.)Fژ6qEKUkFM3Td6wg"THA*)d +t4KNNU6!&(~Vq-Q%˔\J'!95S3N`Q3B+Xw2%<3^<ŀOYPR\}:›⨔N<$dͩ&sތ-$ H1M\T2dӔfD[ df\:{.bG  ERcqB`L!&T2DzҸi`v*bcIuqxlo1tLld-h.fh t,kToIoބ?`l₌x͑_!c鬝] Q҇p30}9~:u69V sL&Iy}iJfCfUDq~"aKOM[$nNbRm)0*l: QlJ61Ԥ^q%>u[V$bG&G*LL܌;26]&4TdEθ2U!fM?I`8``h\Հk08-Hjt, |pt5DuF„5td)mI'N !EPt].",xe= +QO{7YzqzzZ\EFrC ͨ1{d o%%SN 5+Q >@՘&T"ʩo-E829#@0m[G\s]8uMyx,|#38=†V>)q]|:t.=$x5k5rZ*Aƨ/Q ZQi`yǍ|h99lңg9$=n"[I3Ibf+9 rwvEqG`4LFҮ"( G +0ob9 C,cJ̪b<`nXh428T-e 4\ @EƘ ΋ϞCuZ2댡m^E}:mUfU : [ ' +~aGkA&0;Xn g +Yqf<*E.`᰺yF[R7WtG_h"(-*5BjM5r^o~:. *uBVbg.!PuFgvsz.h%6䭽сLvFĀd+*5lp}V}[ź.Itvl!̕@؞'J=o-pxb2阤'O1br_C!K= +O3w6OAyV=iy"[߅gAMH0U2o| $cCLg$0~[j͓$/T K+:`L!0DgjQ M~@ pl~  mP [ V3/>ލ l#D6:0DI^PryJi^chhy2#co@^<c;>6跋|79_ bOy*w 4k:1< 6ܰ *j:-$kG7JSi{[*XT UcvQsBOmvq?w9/rxo )#$0ǫ=N](Ib4mxBshpc'|~7O:MEWTI@r;z{EߘK +&-j{1:O8ܚ o( +y!ZT .7`+@I`5d%BiZlgq0T4J]皽c;ڑ3_RySU]u17t|K1WTN\T1`Q%4`7^O&ivMU6l|M~)mE@ +Cň (×cR{0 DgJP@{ ܦ[.s}:*osQlSF<6s'[Mg B%B1>7Źa&Srßem/)yVdiמ2&1YV-]x7k3ShX ~y1cC " p{Jcjokg/oxG"E &pb[J24)Aצ,Kq:+KB9?)Юa=J)O o{OΤBװn/t tas(Tz.|E+Pj<]:qMf+xK65cì}.xǻK *NaK +Qn1Xݧ];0a+` j$P\Xq觠TP:Ew6Gl30{aO>*M jLKAT6f-ȓwҴMTc[tXaJ+9TW +O\ab9f,ꐃaJJSokIZTJڦ>B}(ELP"3; wsg;GqQ-ܙ(^Xmg o}ܤOG.-&*21jDyXc3jx 0P[AufC,dj:X̕\ҞvR#X'1 +νo3ƈQJ:Vc Pb ,JQf9s *dW9IG &܆J{Q}!Rt:.%|;K j|RNOW/i,~"hN}q̀ъ$Qd Ig7ɽHw <4]ZF[`^[ǖiv٭@t <;9U`#۰~(ey>ڸx${]mDre-][!(!} 8"e8-m@ 0\,w:VژJr3& ZJjm=fƒ 0"? 3X&!M`U lq)|<U*RXpϖ#sŃ Qw/45]*** +7 .X>\šE$<.6@Ö`*ǯ) ։]*$x^<'F,3Ç `P(`OYi}=4т\H)\O\Pjq5hlWآ\/T{&\mɵA-o0܀+|&UͥH)zJP@T`ZP?Oft4{~H5MvC+q&^cRHX?۔3g63M<'6)K317 zX +Xb)t҅0$SaT9~œC  +K%Ȗ=j;grSq!/$" +H ͥVbߩt$A/\ʲ3 ԗCS.H HȲIx MP&!5q캪ZMx!PYiyTe:7azX.`JG +zAsCG]Fq9OU:ҫoz[Y&JcɀUUSioTl[!PjI 3ūcvIi 74H(q%[tq4,e#iȸBb\A$5=!B.'X- + T!5tT:TK)텍sidT@EuH1=vtk ps4TYb,4]u)vIf e~pOY_v͵ߐ*bVh5_4}ۉRqO4~ YrKc?= j8P-1`Gi@L֣TNȂ)csx>[1ڳHb3ox`6@כ78yYQW1] /A`R, 0OR@:qNCs*X,5T '4OhPA7B7) @S8vyj|t K6\K H ʃ%Pr!GuRKBշCbff0¶1=p8b`zQ8'ozrO&z[.L%pIq94nn`v,h8m..gM0=bST{|so1B _VgsG~R絓bEѝ׵ˣ\ؿ~\TmZ8>fKoW~\wZ/烠`=U/kڇ #H Tjڣ,]ڷj@2&卫^Qgtq%`SS2ue{qF5TSbBihTɐ(Ŏ:A +"腮Y OyŠ!+j8lD^g{7OS"'V6FZ? 2J + /T:]}$֫3tpr PX,-oez1![i4P?vR +HhV c,l֥>ݱR:*B"1#yKK$%+,19AP."e4lM v0ö"47?L@ܰU@iE<.'cX%V%ucDZB81աuy5Q򨹩̛4-ԐՊ:DAV6 5C!!ȷFb !j!T.y!NiaV\rnPy("(u>=rZƣPϵ:xҬ#Xwly."eAAuN+?c+GkHՁVRV +P+㔴`uE`#FlR9F +m&M {/_(Ea!A<(sژl]}v cᅏqy?U, jukOyߜenB}Cc U-R!>b"IVωќ_Cldܸq]KumOj%Ԭb!1ԁ;0+,1ꥸe2_:mTa8<+ (tpǤ 9&@)}!noȤ(!P#iFxYA B,*Z5؉_ėDD|RL|kunʄƴҡ &qwJQV`.K`kХ{GWoVߣ,rE{~pWTQ1_[Y˴Pq2SgŊf2(*r{٣ y)HTC }%+2 ~j+8؂^XY2z-S%wsCȨM#sDC4>bTSO,!х-(&-8RbR/@Ҭsނ*IԢؕ6PEGK d%7Cv]4%\Dji@88\S*ruVZkA 95!!4iu`ɣqSc﷎SA,ϐTfS֙G梆L_$,%(c'/zJ{0Ln{3D][ TT<WLZG}Z>F`ոԊbXIEФ+F`6 @wDvXwZ„tt Fu y+#ኀ*(1O  i/ÖX1b\ L\8hl4QzAL J Qs 64j2O2uP1Ư wA"HFUOcQTcQ("*Qmlz!ȍdH F9xrp.ąlº3kF]E_3VJAF5gȵqGAIBǪx,@HGP#0)y:uNm>^t)s#0J _wj؅ڷ3.7פ Md5d#P$2Z628QhƐ/ +"D<#"F 55UgPSR= *'墈C!mqh]`UP֘E#;c?`'j?ʠkmКC@F@|/rnInULc0ĊkWN[pjxEƋ<2r$LB.o}504[٪PںI(;X(\e9kZXc 01٩iG!E@ml A]5:O]5DK-uエzA9uQx cP\gk|fkuP,րZ:F@݅'޴k~?uWSRj@la 5 ۀ؎m;Y*U,f3 TZήsBהOV\C7 :T!˞%!K:n]V@ch,7"5J &ᣂ) &ҰH:cpuyꓬ#igB2ۍ2 'ʂ1|MJK|6Z m ^%(M=qToܰM6~ŭ "2M덤rA :&I͉4yܳ'bo{#+6Ӓb^A~95٥4YaӘGfS爗:YA2k/Vx*%' Rb£h<8%wbG[Ҕ^[c0R,b&o%cђÞ>)JG3Gs.+pR">mZG ⓺c=<s\: +_O`Rc_P@)pJxHR )_y-ǔ&~osc-G;L1׷`cc$ N zĊM5o@İQ tޘ cSL9/*nJAʖ/as4I 4tSN6Nɥxs+$M6HZc>ÁZdBa#g;N;X,#:LSbˤ1YpxXHVr-(o%Ȑi Y`S,q▔`2F8#I8MICNBI;ե )5r$&۟h5M5i77`Vs-+ǑKאx#4h#ebO , ґT!fZ +1nTL]V9;jUKh7j2LPt2;wh^p#{jmzA2t' >iwz'JK(4]~uAHJJ(v-y0ڸ@h*E)I,HYgryB?$gJt=bEl5|ck.X y,Z1H&4Kv)BVՋ#ͮsm%G%`nx)AѲג(5I?NvS"V-"F^CηY,it ^ZJI}4ƀX0Ν,Y: PH댍m A\BB#DH7pTT GJIT[͒53i)8 9ǻ Xq3x$&jtFdٮ6g5VWi @cV̲ćn +ir}+Z'蚤) mN_:a7è),z` lbOf +g:VOκHjg3RˈdA4I ä5&evᑄf8v8"u.Ti3/iLml֘x'K6J$l8pV8-첛ح178[Za-ރd؇4K +,%/AiMq]F+``gp0}7NPHG(]5 +kDjT]2ʣL:Rȵ#Vba%Cvt&?!2T}B ]'tI~KReC ]_Rc]_T=KR.I/tIlT%4.#+CdD$I$U%zBʆ.-m?%zB ]_RA ] ]'tI%.I$UOTB ]'tI~K$UOTB ]'tIzB ]^6tIzB$%Ӕ +]%.TV$%.I_Rc",zB'tIz=K ]2MХTG]}Uz}B$l.I'tIz=K2C:w?$ ]^OzB/tIz=K ]nХTGĖ^ORz&tIz=K ]^%KR.I/tI%zB$UOT=KR ]'tI%ٛաSBzu:1N4o0n8%X-N i~F:%)!i)aN ӚvJ>gDjvJdWnk`mjHeqJAoD$)aRN X4.ƍvJFfR8%.֌SE\)AfDi6:%HK;%N T΀SŔqJi-)A{I;%hiD4vk)aA8%Gbu)alD=SZS"ەuƞ +2kF8%!DjkH&iuJN :S7iD]dYbDEm œuJX3-1딈^knuJX LF:%a-/따W&⺏S"~0qOkS4N f`~$H[/ J8*HXYu#s},$(;h*Fߒ)n)sHX94C):)rBqJ,`(W +VP6E:V?M\J3tN'Uw)5S9FӷejrE:"s4%. +Soظ(͌-TK.:i,8%E 5. +SC vQ=. +M{<xfReq. +cp_[S㡈]InP\T + +7P@SpB7^8| =ݑ>$,|ɸAfƽ "nj5 +?~{k<>jG-#vP$A LGɈz-' K lJx{(1%P(msQC~P:Y6% +0l. + %᠋ISBdu4"3vQJ/-.cӰiI<VP`Asꕥ v]S +U^"a9@f`wBVTh֐q%:fqCkh7Y3 MD1 ťP4_I*|,D焯}1H9%ei> 5ɤ/4n 7o}M6ŭ &ׂF8WP#vL'NY|+JiVOVJIUօvҸ)VЀ ++ZަY(Eexꦩ 37:t ,VLZ&B +{FR,Kq`k&Mʸ5,IEaF*.nKZG:~lTIaO17r?y~"uUD aTAY灸RhԷH#T W8T"L5~ž‰[+x +'ֺ4gnW6UiZ7w=ib7=),t) +GZp^l +6g5h"d+33*NpvjzqiZZS8|JF1ӭ,]ˮL) 1ˮkcTfOl7{Ȝ0{,CzT{2>MʡOSUjOgDcLqU Ӝiў4َ5&Pi?񴇆ێ02z>;\Y:nˢd .qdeLG)zZNM&ץ}%jyًmW 4 LZcVDB3\l&8H0ͥKRź^DJ4"0-ᠣl--Բحh YSa#>DyVWMOFuZ78Vkϥ}XW +!֨uah>]"`9/|kn#BqYy-2d3ceȅU2"(L:h.BOêm%]87'&&q3QzUk9\=8cG8\=ʹ((!tv8fZG+:竈R-VN[7'\ʎ*;?|uH{SbXJRJ(-`V lffBWy>W~ZŰ {3|cV*c=5BO+bV^) Q$9hIV(9kfZHT Q=p<Ș|YyP|$ `ϫb̴E\$RN^C۳xD;fzqS +qk.8D̤QdF$%HsnD{f0"oEefPRr5r]?.aj~D+Dlֱ4tVAgi45tr\קopDKcX05:$Acn a]"!ł@Ҙ1l`S9SBf+.`Ұ_/5)3ŏbt 񎫛v{ CS9w`frP$?q&݋d9 t͐lۄ2Se*՜(|9\;l4bGd+`57D[tE3#{d$'z9cxh| 56IzE?at9!-B#Ы˯$^u4XnbneReG-;qLFE;fs &gCc݌B Ŝt5lOߩY_s^nSÞ2_pNDIb1PNRXM-^܌T<(L0BN?Yj2]CKyd%( +p,Mqs*IlfϿjkFuTk /3Qƫ]9LTQ*޵!0y9cϿ]/I'Ӌ~2~^gxI6f/Ǐ0f8OTf;X=4Sb@~, p$É)l]z1"Q| 8g#QcԤ64l, bnl]؆*ȥ/>o@a~{P0^k/ܿ c|>9C2}ȠCg_/1Q #sۡG>"{vwVurئr3nnliC{nn=֪禰D"8,]؉p0x10!|.h3R}m~OSGZzP.kvUfo^}Y-w]4뫍Ezwk_lwU[CƝhZ'ʍޟ/9_mTxfn΋i;59]uNn &f7x,w +} ۄn.rΜ\忀!׆A;0 tkv t;n>[&L?fZ\ηLW"5`.WQ!2.¡? rLc5K}J +n2~/}z=L^K +d8H~FTʅhFOo: +I om},(#JofZZeN;ībh1@q>' Za%нp1 _I*7J{-8>G.I΍zKJu2<F?hŠj !Ul-`H?Ǡ +{FH!pIEQ^QQ܈)A7a"r,=9'x5_h C #Wx\7}8:$=|ʆmABH5`T*QA%"HKFa +&@ xR΅G'֦q~Jqr3E,09_@-*>-±t\hj/OժtA61Nǰ@$s>U*ʩ>QNK@ +W H"XijB6B5= IFk7YKnSHD.5HGEMEX,'`86P8n0{Z!WCS:ѨB0n '*-Q0j#N$瓀)1C?Q>q9˞:6<:H}>“\| :|"i$8 < l;[ +LV@QptDeVC W#znctuqXg䖈ʖegD4١&8]8 +gpt jH= b~,s#ӋC|B4,\ )Ĉ +m)c{&*Z*|BH+!aKi#~0Ȋ +`6`_7FV"tB*0.#ijd( .iHs䨆UY_/^U409)(=\1"aO7g0΄@grʵ9Ȕ t5Q:1 !@kET!jEAi''BeGAt@6N)\L  Ir"*XBt{ӾS{eCBrW9hCV +K Tu&X+%T@j3> G9#B\} $-3 ++>@sР0cc@)01n,SS Gl0' @hC٬4 eDS9|(c`h +@ +X|NM Շ$SGpgB?B A=8+X>Vq}~|/f"#3v(Ik4T{|Di|"uVВɎ {eK%'TFЗC<'x>[UBhQ%CZC;`94&"SJ n ole,NG#-`eZ: SZRTzA# .p#e@Rt(\V Hg 9"zOcE65 z'uH`8,̌1~xN|@9 bԉo$%%*И <".f |8fS%(w0/N#㫾RA ,EbV^YjvIlwYFo()";>Ɉ.SiдŬX C~܌-y2xRHårm>]NBU`!)od\(bC5׆NPS+C!C?qe9!86j"z C:n%Pg0#b>J#a\\#i1d8ZƝK* EhP2}vzs.40'1j#`{bLSYz.KH9{Ok]\>h! +!c8ҥc iW!g +\gERϦ(wXG텾t %\{Ge!%-7i=4XaGG3dP)38ltupJas;/ @L&%*Z*d( tb ԡ`irE Eye ALS⃀ bFFx)Grjn (*K[R>JІ9_HZJuSW;Cƨ +lc {!DsmZLNi!gqr!氡qUPQѪN_w:F;ǚPθ.<<[ lFRz>jCBDtH+8gHC%^)ed\~s{5`OsD?6KV#YDa.ML~0>gK.bMzAC~9zhBh-^J㊼2)vD.86XQW)~X];%TFcEiAec=̖o6Aä7*> ODN4lh9"KIMp5,ՙ{Ж JW"裔} NV/R>UkFG8܍ K"ijɉ=/?΂/ "zF$=v %gx{J;Ƌ{Cx#h4EtFSkR +<*r: 3chRQEgE+p`*%yiMFl![ZE{O R_W + +2sHZ 6.y.iY.t9]wO])m| +vV*J'=GOƸEWCB_0jTK @  QU%%&J}S KM`$Xl/q T=(mkYrC9e5雈5O&P.S\cy,(-ը .C@,Q + i"bgJj=O͙ZšĦ#atAG7_TG%N֥=JD(˟/I†PCkLRW:r L<6\2QKBf/J&9q||{tM1UkBw84?iFw! ?b2.g\Ph|Mw +/tQ= !$;]vHP)%̽ 6 ^2* *+̣ zS~*AiGkE^{ dSL=`ҋEQxqA$$!8I}|#Oy) 8z^|;0]ࣟuСڗSPT\Co ʷxJn%8Z$9-&K$f(X LDgzt/cO5#eL;FWΑSKNb 8bzX3H&@D!2G)s1Zy)[瓤0ݧG7!lt+#nbs tLv$#n,;:{Hěm2{ “t$4&1cE{;2@}D +vk8=Q.ێˮYq}uhh.}yAtmRxVz6z,T|P~уED}?]j{QQ-u90ȿ.)exdWpȈQ%?+on'h# 񑣗"U,:\}tɲMNrY8|>Oaz. 0<./X(1u;gbDg-}> xʐ=|>=V1%F"_TP6QBxMgW+ +U5q SCc1q. wd*I +1 @# {:F!rJ]8R!IsH/-Tא1&yLM ++vIrFW83ߩGr.gCAɓ#F 2A"'9A%R!9k#AT)P% +>hO4ba  ٥HC9q]F* `_GQmqP&apFh9Z&9$fDNzR"rߠ"(oIj&R"$ʶ`1Ť@9W4,\BeFo8p5JG˖ٻ,tl[@>Ltr2{+nQ*ߔ0#CG#I#ݰha +LJ/)>t)}PJ=iZ!2N7$bQĘzxk'bVR<&an"sgdVP Q ֠-KFfq Dx#Rhaԇ:KY Cf/rjTS*",`AN~.; O}dE2]cЦ"!H]Z@;) +ėGr-,B+ q̦Zά74wfuEMA(,䣣Pi8^,| jQ^NgJ$Nܼk5\Ԫj:HOGiuxC)''4 PѽUyQ +?lk.,~zZSm [4/bs)5JWvn]ǟc\kWRV]a39ku }Ċ޾9XX 'ncO~g|V/uǘ}:wpשiKr(sӹ*tj Lܩ1v-G\]Z4q/ +% 䨚&c\'6΋m`*}]r|=9"ârVj[w\>fUfrGFZ39fL>\F?9ɜx|dKN?'2# +u.l`8%j@[ql}'gC@ۏ aH)7tJ>dP t3r?gbÛZ_2w" xncbfNv3 uGǁApryʝ?$L5IKNyVvF:R Bf-Z8}ҠqngmUBd֩zH[*~ RVlTk} infnVg5TmOqT:6r4 +;jtW~xTr=VH`bq $Q ro :6e34KD4~KT^r1khǹ4h|ɞe<8F~OvX]+aR#sh(AZu?7+ψ@9X:z: X2VCx>E)`XsIJ˿[{E}_B3/(<#vi*x]#\C!S^X,, {`/셃8XKyg38#B;&h@A/ ""#ŇĹ:l6g,ID~w~ (D+OIj%0`i^v㚱ƛFE rWߺRd{lK/_"B@V™0Oiy,uZZ%`4e]W۝>fQzbDK_'*Ԣb[)obՔ oB<ߍd(W< B  sHz`*4tG[lI[Tawp ìSӻTvN⚖ Ӈ2*S/w%J'AȈx1ޞ6Ȏô-._bڸ诵ۥFݟ"ў+bwͷ>r&Mn٪UVfԭWJaJ{'+իvzYXG4uk0w_oֹS.ա}P8'q.WxUZ~]qoRS` =Bnu֋>+Ʊ&2\_;ZIN3pLy9EW6^mX=AP`;U,}4j $Q_X0C _Ij;K@rX*.t_8 's? 'R:H8,НyP%F:^kkg!ni1;}">mҋB,+dX|Z7i*EHR!'hT bQ + +;/d, #[)=g60qn}}o? *oߋx#l_-r }/9> _xBCG@@fdC@aEH*(l]z~t&b9uo#pPnnT۝̵B%03wO +OJk$xqpsX'h/׻g6<ݵ |pi1d|7*ԶڨXeڞ =S}+gWw>c'׵na/q #oupaU(  +ZsPB/ +Qf&IUS/ Ijw>ldAn(E' +(fGT4=ȑ!?T Pcn0Cp =$B #b 8122}jc$KXoW }*,lt9cnrvMǚb[) S|ۆ#`y.Ez"ÔR)SK +ZW*-Q߰b>tSk'`-{7'̜u2N9E!p d'+MS$U ۙGWԇm +"=v O7W'wc{9ԒZy8PH@9G(fz|>|`=(C-%F2Ro$$(Vn('N9 +ؙ 0f yXp'MirR,sHR.%)a AnPӂOӧ':H< a[-Z  +l^jhE'5?QJaQ "hȵ[pa0D@R\"-*HRPBz+J-85E]F Wa@ +hL:~j.J$"k, ï\W!,cLLy%,QC Dit`G)=i줍Nbtam CED9G}SJl 5@xADw8Ȉk>k7Y@QV2g%SJ(P<9xES|Ai +SVmid! + W$OD k2x'@vCdAߨ Rz`ñV-(@7l܃с7|!tuB}e|>c0D Bfrcak]:/;fkJнLgUit);sV 1/%Н:bOFQ}m,0S?/j s6 8sPS9?z]ܹ''9I܃hvmW/:ޏ~ +f> y0?-)! ʉ#߷gO?%܂=ۻ/Y{4]ItG'7kBާhBrΑC S-U@ϋhGʳF+R+7:GB؁ґJUVuL*KNaV ;:=s}9\ӄn3PxVwRmڵT^iUցm]Lɕ0sr1 ˫\MVxߔ@70}ұ硾rxm8DNmUxXvic^7k_pwfѭ*N5;`yp]=B\Ȋwʞ<\2g #b%eʜ/@h(tV0#0 iuK]^VZUhlҢ`o׽k =ߺv<+kz_)m8-Y%XV+Er,[*#;ť=VK(C|z3- Z}[iD=40xhdJT=uJ1vY|P:NԨus`.ѨT[;vXlLBWO9z +xޅ<rQga@ y|U,ݘkFTۇ1GFq3"u z:PPm}0 g\+{hz^0N q^h_DGXu?7\YlwQZuI Fi?jvaIz@_m->Nd6ѓ'h4t0hKA^i>u=Dnu@3:pB{j-0f:-#,kON{8[xll11Z;s> ϑU {m_6jVˆ>ik]@[k6xO`Bh4SOF9UpQYS[~_-#晡)ofrTr'fA/Z)mH^'>z0Ӧz~ӟjv(=ѓ۞fƦӯ])Z/ +IC,ePٟZw' +RTTjmA/\~5PΟ׶>շn;dul8O"!4Q5V 1x~-TSzƈ:wţܘm/)ۧBzU.~].jh0=>p.xS灎uQ{DE{]ض'v7^?]ݣKz҂-0vT8(N&=;;8;"0PEf O#zR3>տ/TWewK,/mD*6]2kQ"WX(( +\g(ۥNDHlHfKZ"._}Y<XXpWfvDsk|rgp۝{ϷOfqvwvNw?_o~|~J>?1:Ϗm^=Lw~j㯇KU~~ :h;㳯(ѯE7{rÏYL.06Z +n.yY-,M/k`} ?MWkV +aZ_ז:eP"Umw|utX[<跮W/W+Kw[[:^[-NH징7+[gӅ&reݑ+Cf/bGZCE߬]>tqnaҜ |CGxtp#7Zjt֓ԈC&lut3LY ^yLwV6*0\Xwu5|3Kw]M{tp,%ў\\X + +ӧJqgg!{D'd=?8. 77ʉ^_ovq'oOF|ES66 bg*?M#G#g!9yGwR謳{]_=h' +wMp1=睻wy yw;wy?q·;n>Zgs2S~~$/,l__b2_X/<ϯk{_o[`~k~)]>Ͽ}=97.j/? 7VqGAiˡ_+[Cvwvy5-翖OS@~t?0* GƮ L.v;_܀+v`u39m,^ ,?|X?X lmOVvQp.w0܆w^tGzpvq28}pP]3ow50X+Ww7rl/_vFv__N-_ M~^rnTn(:=:-ѡ7ڟfׇNgJ.wntZp~~yv{x~tX-5# E`xAPX0}?~urSoο .w#J)ܵF``ndvO|Y-4#w#%\UէIa~zdts2=:]y?F͝AettIm5zg09zq>ڽ]|pta>?Vޏ?;6vVޏ;lcXchZY_׿t +'_!N3ᕯO׉oۉ7PuH4YMt&ǯ&e<{3p1Ź|;R|X8/OkOO/Z gLs6vY|Jϵ`ptz1&/冸S\ڸ8-^<>)}\;(o콻ۻ8]'.1LS>OFO]TޕvxtTuocZ_ۿt|-_\t\n\_av5fv;;TkF+oNݴ6ozxe)ܴJW{Qxp\lEQq(8ͩmnqO Zli5'0˂zQhBX8;nO-$:b7B/ؼ _V@Oqұz~jWx*``U[0?\s>V0(Q+1 o5~G\Ef RTOZŵ7 ]٘kNzƣvx]Tsv5׽}SbNj#)a XهJS`3aQӃ}kZuU+5 M]aZjLڀM\(;48zϗ:k\Fcn-ax`=yL_X8㇡Z)Ga7." ;ڏ{M%z2'>zQa_ڝ@aYXʨ\jKZ'<13wD>HP ('&7۟VvfݼqN^h}0p2V-3 Jds':>1L>|.4f_|~SOԭ^]4JuVg5X%pCRHcyn$ICoB,{ +Xk}k'ܺ7KB?K`ǎP9Yz ^*6~4.A %PHN{3(eE'>.~ T}R|J hౙO5di|o9F3G}eY s.׻#&_̏ΕOm#U#] +!ͪ?8x㽞>YlߗUU?8)ghqsabTْ30vmzmvWom/˵J0z3vL ׻+7gE]sqн\VM}Yt6/6DOK˅g͞-];[&W+0 k Iwg/HAJYl]|zEw?_}nO#_~1_o=L݌MWw>ji,Gkrt?&W/yj̔vmlfX~=:ݞ<_>_ۼ ilqQߙ NkKYY^jp:L Y̏MOU`a{xqyTnre?,7?O:|g4BcO |Ow Bvܟz\vLZ~ci82Jdu/O~ޙ\XX+@'*7o?i+vLΒ%}UM+nMypfrrfj4:T/޽zrtx]. w(}*Wy}C7ozڇj@ +'Npdf\Lk7sN)T'815YlFLo.W ck+uQt6,x8wX:B3so DRTQuml5|\p^MT)7?!c{}|Sν$UXٸ J _ﶖv?w֖/7CGl]T֖+w9bݟ?Io3}uwev +s{EIw~ei9m&srSuNړo}UgGv&7?nYNynLm~l}/4޳y%Kk0ـ9G^2;_o.eY0N}OV®CMc W?!Y~l +9xw/_sP^o 6=w6\/~vnZ`ΗOTG\s[>!Cy#vT- Ғo}O-/z= gȝ#L쩙sOKPz+X)1nXqyگ3PUm9-.{yP3u!5sY +}*%s[\9/MoBd_COUbtU^5T9WN?d84_jXjtd CzX_X`Mh:lNltT6&C+5L"o 7gևJ4QW hz@hL3cafѽgK{3|;a|aDr:g aBdʺn:еgCKA-Ƥ'{]ƨW#nP㶽._k&^KZYYrVM#Y cqɷR,EoTwSߨ8֖e YmU4,YqD$0 +,KAܐ-Φ E{6]ES[쓱ZU0vG4^~/>MjMğ͗5¾~2)|׼YV: K_CO[~e;bSoW. N-6ʻ+_2S}^Y)6foeYݬ.jbuz]n_N' LFrm]SA672t[Wg I-~PNW:H=t>S3WW-75yO-{Ao+i*(ndij\ƒ2˫vmөeF`,iM7 +lԲf4櫿eU}ԥYB\![*{j嗕'*\@|w"LΥXk5?O/9euIM5VJaANE^Kl6R' ui}vg=- pc%\?.cl~=k޾^l_ߧՇ4,nV ł ;{FH6)kWeQ.UOz:Ê^S.1|m}u]>JZn4V6Hgyع.kWL'SVke3HFm{c1)uWʩᓣw@`Yݛoke1OCd>GKl/e)Y9'n/~xq?S I0{튐z샟_'zvVQ$˰6 +# ۟Pk7gոn\Vf~BLVV6jEG#*ЎYX+,f8v^W,4SߋinQyH7uN39à۔ǥ@>lt H\Qv{Bko?c7LUi\oZVq]Սt[\vsGթ[f%mLs$˛gW76:i iL|7~?;StgMޒiZg{zӭ% ӘݹՄ5Wvrkj}N +2w3.z\-wF&ڱS7B-u*.i@o@b{98N>zwq/xy>bG~j2GoԻ%A)K:^(k͟.!@[9^IO.j)g Z~'9/(ۭӻ:Vqս5V;ވd6ݰ i{0`<ڣô(%\cZi-C!Z^9.Ua'%ZT كlcOº{ FO^9z(3 јmE_vc´{"MoW4*7Ӕ~.ٵU_~'ʽ]WC<;T可l.O=on7xlfMf̴;S޳#amjvEB]Y,{Mi83z兕./ 콮:AϋXGKS5T|bN?9IfF'ΨI}ո;ra2M8muenk[]fsi»}֞c]/hr*,@:h?E@.);yW@߹Z}%n}|} O#{O}Ks#y +Ot?~Ur_yy|~b١63%Z,Bf# -E=X}͗ d?2KS"%=C>-%ǵDIIH?fW{%]Ċ&jvo,\CFwi鶜\[YJZk(8\qX*/:*׺ ug3j/%57|M/M|M),O.ϝ,~_u @0rj~챸LM&@^ɋm7Sj&ȱQݽQ/ hWO{Q'8r6jkpgv;Kbl-h2LEzfY^tr5FS{eFMm5jΨ7r9lk9}zN>G]J̫slTRv{ϦgAfv֪LOA2f#q@ O5Yi4*x^ uncdRJIkLo7R8èoԟ\ð寗]cg^E5ݳ˗*UQCXg`6Q z u}t=Jð6D5hlvSZBF=սTȨݽv \!}uYx +u;/Faa28Qp.tԣrra:lg4D x?t2pԋ۩Q_kQ0eY +u+3ZfK5O8e58SwX z4=T9OРT z*eŸ^$@LJ_>^vBBޗJAO-a&Aӊ.IO7KGBU\*[O{(X n0!p7OFg6T,3Zx7ntl _֎jӝrfo_%~񩹽RW{ǾC.2 K)T ~y휡ZkiZGkoϒt +yvg4Yd7*QDәM'DO׹:iH솯Mǚd*G̤fub2>sH֊ob>´N3)Lf7c7.FMj`H +AVsBY +@A L&ƳBqpܛ?~ WYhpzR"<!;Hx"mcxxI10 8EJ֖3o3/py}8SL΄N6ͱw; zmͫ8),Ka%u#Y_9Ԓ/ѯ"Dk,NId@lhlNS$jvW\g@sk}GQt?Zar\.piɽ+n>יT!B+ +Am%e`+0v!nQlU0˟jz E8j.ŻI!;oR ̐huR?nbxixooXh1ڑ?Ű=uzFs^zS2,4{UCpS8D|4Zl5!~2a'PhA3hoܺi$w;n-96zA4Fsw'Qcxڿ,o 1(m;1u|0 +wsql1oGs7Gu4:w^,:ݡ'x7-6W=Xwtu*ӫj|bli >l2nd]3]Mq ®[F1R9ёۋlw4`VEφu;&w8J_6+O^CBiQ*o?0|쟠kd7GsqFEi:Awb ly0&rQ -}T.@>Mu +.;B>bkyPfoQouM1L :GoO1(3=( ЫX갓"GH3lOL+BOLKLfgR}q}'mKd*eNƙڋކ Nl_oərm&&$ב6+ӗwPEp7P0lҙA&yf`S>=Y)t+(|ѵ|>6|9_t-,/o{/o[8|9_t-O9_t-DO|ѵ|:R]7[8\9_t-7-arZ>_@4D9_|^ngާKc^vkk}eͩ]4agXZBi{g$SM \ ݌ŝĨf8 3PIX]D+o]?Os1ݍ:~F[aR&x-֣Y4Eg9SlNq^]:Vҝb9\*i I.ǿá_Xױi֣c;<ѷ{|͋ާ08FΛOϼԑ4:'g|{yzFg9YP599@o5tME0HČh;-"2|meҗA)ߩ_RW*8t(هѯnAPlxcë+_3`+CQז? -!bCT]"aQUt)*bpeE|{]X@Eٗ15̀U^zS{5Z~ʇ @)2Ӗp?vѝS[OWcо/~ +nf~P9lV {cĞ`{N^97s9fPބQ^8ޛ7ځgS:8܆B}bz9b!=FP=\N_7fW$KpzoX{䶋y J IY.:.IӉHCǛCzwFWU>g.$G +41 ыDeعQ%~= *GA(M5B̕Odb;/2oϹc3QqW iT&RMx+FJ_g2RΰF̳u"Ueޏ2/`68DeDXqjiC׭z: +n\=8Gf%e1|r;:0'ڿ(f@CO>G%x8H@B0àTUuƶGU'ɞ1e R&XGz᳉pC̈phwLf>jD"S}|_$OMˉd)):U${3ՉQBHh\EG*=KQAn0F%w|]{R zKI|p5UDKة-3W +k*ʛ!&={WQoXl{(/0YIdklmJQ}9ߌOWS:hnTIISBQ.[B/e{ +2NȨYXiTTOT^s]بb?QXe5npHZk^kO: @^ +/:2qOpVY#^:NSIOaFmχJtsPJ.7rlmGgHUOB\jz޷Ke~շdbs1>}ZJ -*(w48re:W}6B{߁TA2‹qq\Qc^pnZL>y6tS\:( sn vT }]a`>4]`}B91#c36,E& Y S$>¾ +6s ͩ-e6n5~J=FZ끗<!^C`: EC;P*e\722NR#g0Fw}fxj\:[[8dqjjpΠD +/NUDƁ o_IռϜ0nKE/4qc1}Sx.Q޽b]26#K(죦=bt0y;wȻ>-1/wy O}yX 11"G'fр%)#Ɔ(HznWEч{S5(ϾIW9*X4CWJFV8:W4J& q{M[KY{3_x8D20Gȶþ= %xa1\xhv#!0m #R0z}O8.<.w^#^xG7|lFr]xLmn`  +Hvatg]ry@q*vuxH\ Uk;>o x^r)M.0>07n; Oѱ`6ą% ;eC0_x8;1k.ąѥ{ sP6腇ѷ#]xm݇Fv8 #^xTxQ!9셇sm@0jCi^x.i0Hׯ }aPQuvBpaq\xp'\tMuzaZ]\oi$ns(pDQ6|IUzHS 6m!ưֶ? Vkioro{fN{I.NwUJF"{b%SZfuO\}Sz}k\\fwk3}vzm¼]-W?w濸ϵh]ls1w{ӻ%U}oo{3Yyȋm,5}.)󉍃ʬ&o;ӇBcN6].؞/,v]a[zNmdTK|?_f7v1W=yv<d\ZD9z#w?jpն:ERj?Tȱ: +zOc~i8dTZucYtѶu}E.=6n')]? tv"W$ȕ2siT9NtW4e巏Oy2S6Uo獫:D&5d aZZ0ܚ?+)JWBQ )Yk5yB~xܢ霋ˇM +%)٨ 43Oݛv⛞e\kȶ3wڱ8^@<x05Kig>]jfd=XSf;R`~`g_n}kvWLHydԩ0!nh o4*xYߴ8uL,l콈xw?)M/N`W8iQai4W+,u#&LN N;]GTua#*-ƬΤ8wrk͌PL<]ʄW{4NhݱL4yל-cZljy?θu9tdSN2ڳާREO`ZmK$:)18t+e_?QN N>0`O3ˬ{npXJͼ5R-~pe3yZ› ɼW ]duLRZۥwt3/o{ zGڭ\3]s1gN*$Q9f+359_Q)M6+&gZsδcBCw/뷓ofngęk  7g5W zplXa-4vpgSeRW/}խL w=[\a3e'sDRЎqw䌁>$#5m#%„uݹn  ĵbNrv@S4/ ^,5]\  +~2$e1m8.S,8s@kd&ӢN[} 't>bB<« VyBn7>ijW^sYN M Gnfg}L5[}:N[rkVRfi7+m֮}iFvш֖ +72?%G4=58#vwdܘ\A3ӲKQvotk>'k|2iGzd +Zmet1wr .T8 0}R(aZ˻B!]*v-?XtMrH0t0n3&*Gڑ57"rK~*O\SW_[[+;e/ +ܝU\gj&_tI Jquye(=t#NwW fpO2%19;:4Ջ5}+96HS1 yĜI'~Y\4խλ9~ W,׋i毸|0ex,?>Q3R+6m_k2J+*50lL҉ylx3 yk5̺"M,wzPf4Ɩ҈6v +9C8Oޛa{i+2Ofm]} & +Ϲݑ+ 4̂ݭvm}5xLz3 f)Ÿ]gN{"wg:͋S;\?ߦ>o˵p{bɥh{b%^-(`(v0 +V^}[#|OI2:/Q4菆cj*N9 kٚΩ~P{ܬdk5arSxݛgw8q;oF$7(JEUKm\/䈜._wӍG~i\Tk-h75˹&sۢ¸N/?&<v_;[ϏP[&U(G?[;Y,\}w&`Zu9{ ,2}bҚ]=p'%k~s\Q}N5>Kd^"r3h}{Jй +ZY\ +ÄO&%(&Kl_׆5Y ++o LTdDINoz=V6S+J~Ol׏V˅{zx|^n) U$g^Tf0/-ε {eD*#Q +iY$j>I&%Aad5mh9K T$W֛M;:te5hHA_AU;bW06bW0SeVAE\mx"VA +E\fx"VsU,c0P9-͉T|qCGCt-ҢD?`c ,-7{mӭ[1LYjg 36HfjSwL`Sdq%Y=uN./saz +pm)*|8(Sl;@zFj3,6gpWqgjۍN3!fVlb8bf{*/rgh&+G1mf#gd6i]ubI4n3 OΗs42di gU'mH+ر<3%6meS`QfG\2X?Ό(/ +DDٙFbvahp@(8ٷxk{纋k (̆a'4Ҁ]v\8@aό_e@`ќVvz8!i\gN8R,~?#.G1P{sRi*q86bdL{:Rz1}tL;h5`F-iXh0w9 +[rkIN @S ;xewE.eD>ye@i!~ " wjINOϹGbimli2 t"M焌p4l%X2e-fXy  `x:7WIӟN 2'0¾9cWt';asvp|g SR\`&f3O +c [MH g&ֻ~f9f3&f3LzЌ~VVB3gvEX޼ɿڼ2& _2V L޸$7Y2zSN ߚCQ>0kG{-ȈnO{wUZcCd` O||}ؘ_ۏxϫ pۺy|o޼uBrOAVo-7wYVO_r\/WGp5Աs5/YI 6-[='׿/̏l13?f?ɼBV0'׿/Oٳl1H ?\m{o6|1,s\-217 /??c/z[_mf\Gl?Q6㱷P/1_me,f3XUOmӿ({yI y`k?*ZdrnVςqZeY_ctG{& r* :N/)y20>2A^8rʿ/qKf5Lw!}jC4W0_k&]؏'^Wܬ*9, `BzM&GA6tV9_NS8elwa|N.49e(qZ9_N㔱݅ve8f~Y&z]'q摅>I#>xq.N]^:ru">v&>o#󪤫/)+j^Qu^I$ g$Ț.+::'ۇ0v$atMǨ"j2 dI)$5/h*,%IɋԄ&ɲs$S]]rZ^W4YW%^9mO*$-Tc*bXITUشU57jA肈^u{J8Q8 ?S7 LQ% (&+बuǤB OA%x,SCzvA†h2ӱDUU"MBFȴLXsQ5;YV apԫށidDl + pXa|oQQcjb] [wo]8RRh-B'mOσ7d+1zF +{n> +)|.UMl> +ғ-̍ KA/ `#Oƀ#yw&^5v0. {}#ނ +z>̘(OZK &CɃ , M(h ҃@CgL:X˚!*U$[U$XA#7#f$6I`5m0=2$se֛,XnJ|wѽ^ &X$aS$.l9UW$%f+&e, NH . +Ȃ'Ca{5`!}t\3Fof f -A&Q FDO$HEPB!TaWO_V$aa^| nxM| -V "LIѰ{P0h@+Q5@i[ɠ_2UDqa0 BI$Q# q4<`V1\/VBH bZP\-.qJ={k|ȧB +ԣV8G?~T,KX S?E#G` 9桀b`C\m|udꤋȎV&Pã3X6" &}g0BO_O0։sMTNʿz wW}RzGMѸ޵itWBAk^Lܐz$]G`důvoOBV~:(#OD@,8M y=2đ%#N +,RTwL*: H*C`S@PLMZaV$*Hy$7i4!hMM Jt(AUMOOf3K(e:ciR&Nf?-Y4LT(P6-a +x#:T  tgLEU)(~&F*ED' +vUD 0Xj4>0'mxmEKH3`DiԂU UcInzlGN%/)$b2St4fAB(Ÿڋ (@y#EV zIǿJ$(a&P`X(OC"*;V#=0"ZŤv@,D=zFBcccT$!]u@53䡑ekA +h[5Z@;Т7 LMH30YL7;v7G# ڔ;O!sg{u]}apd? ?8;>])ЇN~[Kl5s͌I">`9٫[+u26ԩRSwNߨrnF +uQ#S4"]G,Coy)hlEAcJk+Fҋ` BSEI 4Bib=Je?J +EUJrU #yV4";A$IE ,e9f@x`O ](1t(@O^DQJ +"zbDi00+䇔Yn.gVj4] (@Af/i d5EI0e#+hyCW(Tf d0M⬘L+=d}+"sg7(R }ySX͙t@LEAyc qۚ$$h"Ee +Eޒ T)ZU3Jd'UDFv?QpTyEv"0W7"ѝDm.PP X4L^uFv}Vx>stream +`e[VmI$)PY"#;g. ́(9.蘝EEKi +w5 r1ޤ;rHy )7M9 "Þ=Har2ɤ#dfmMZD;_4di4 *,H.0k3G2 iFqb)$Dy\"ڦ;B9C+$6(S(0<oH\%!ǔ@46L"S&͓J&8+(Q!] HOSPt"=Y'DFzVM 6hO9KE"2WddBDE7la$b:g*q#"2eJp6;t\&1@9&JI2c[ hJә!# GQ"'0kHL<&>j$̨N ]Q =2@imΈ b&YH47U-cXQ'Cb$ۦ +1g(BLntRtQi+' +Ad@`DxJy)52<BdٰC~&JY=BQ\ƛ8[*QM1}d62 (ަ=".>YQ j$MÓ'uDQr1G. I D.bpc7(qf';ܤ<a!Y&PYnңJR~$Kx cGU9]"` =%RUCz*MS%<鱊l9d9[@AO@6fִs@XB+#6IH&Z;JId  !M ONU?: PG H0Q2u Ax7Q %1lTxC)¨cّ?SJ=.`SBQ]%ʼnh;@sR͡Be>N.3P +.rDR ,U4DvEz"y -I2odA΀(A6 E(I5IOQ(G־bq3\zwZ-:ѾRn 'B<kңChZ&pt UN E,%L":DH܌"TtVIF]J:9u/O!3tIzAo㔷ўʺu\! T%2y/O)Z"h8$͝P:DJ2e2?t0*|?"8>s^FK|B^9㜡O_ kGR306WUP2cQc +ldGv2wϪ7s z-6 K2U<ƞ<4?41 r)d +Yeë]}񼪑8 +;$| + [ڞCv琛60NL-s0盦 E8g.~|'EO2bm+Db@}>IYt_.I+vpR67ی6f~Y- 5O08誚JRjA`, yS3]o@f -5BaEisZ$@D+z-=vڏΥ ]{ v`?Bo3V<9fQ+;PM8L 5S#Ԅڒ1xwpI T{s/ZY1d:?qX|AlF3+$un\%䁷YP *| d \;$X&'d-eJqnm^ku=,9adOmŻ>aٍ ©a8|"IE?9:ǩdc9^h +vIKS v5fB΋=(Yg?[U +aw$j~.Mæ)}Tn)!%%/nܝmpޘMїA<&'0HD95m#ld0+&NM9 2ɰ;ӻG3x'nB+;OdɒM轮Dj8>/G-?ÅFxzfQafǶ\WZk^ʴ_Q?$;P֬4/XS%=&MlGRa|B=iڨ;ZSj.gv{#hE:GFg0 +hX8 s'v'@#CqE4ѷZށQtR>U7h ฃ̬| VgSS9hz5R ` $t`0;k` leKq_,#hWɯ_܅b@۩XwF @QŞ˝ʹ{^ґ&U챐=!VN;mr\y2bIE%>_Cxjkn~". }K0P)hq)i::QO \6m$MQ +=U/, +z`NbTiq,)s>Okn7"xH~ l-RaMu@sOBz>^! Ͷ=%+@EtʤyXIQq%/+X ڹ* +grD0!2(H?Y҂'㇟+u2Eq65OeD87Y& +$X8}5{\7^Ӆ|)Y>]y܁;&J,L "a\XÅ~S(_ +o'T3JefM"nqM.v6pP~'4J~`pHO%VΨ*\8hjr|(;p,hYyEZP;蝢,CS4Tx`9ߋ)8=A;h5&X +!"u-kBX'Nki +YTQp4oWBxRj,lGAuwI+E`g՛>ӱ+<-@&lEn,+}PxZ,$'N$3۾!`.vs tiOG9zm?BB41Z6)G]!"8߿ĉ >/A+$1k=MAAoL|YCb voCied?% pЉ&J`ƹ|} r;ܒ"6aeFiCvr)8%W7Mk,Yصƕ9ɳ2 +xD*kVI Dw`ȀȆ;[Y|h [ÿP"1zܑ +P/w ?1bz!O4"K`QYu s`^hE77%Tu$&.ćf) +^dK S_C?ih)ھV,4īA ,:cuߞ>/qwZ3d@|eAjxh~S5"]&9|tT`qYRJ9B"9Y1 q3."%> "!M (.Hx̜SzR2O`7hjnc8V5*ZJb8| #bsϟ@cmYKF6+cn#84 p[`hjA;`'V-&Ӂy%I^̑`'\7qyyDWٕ'vx8n \m!Q1 9Iqp X|SJʏ-:<ߥ(M:bF=84IӣNmk?hXaD;6%lȡ-_JUס}TFa!7߰b+NpZw-U)/>b=&y#JFRl1˓f9p:צ[lЎ{-bken+KW8&&(&~H/SΗ( >,C([|Sn9AbY{n=3Y +es\ [gԛ YŸY4M;C䰔&Ov +f4ǗI;Wd)BRFϹ(YhM?7(O V9RC3C4R=C3;h<Vxv`A"+#Hf3S~2-Sz XB79,l.˘xlÁl~B&m8ɖ>* wz5&TA;C"W<$bџ62UܱO"ηF?q_VaaFܱ*o.I|!ws/Mr%Ni͇)k+`\S#*eGM@CaKjLdz00+)Vt^t'$U7we6FY󏳒8ړ@f(%-&G mc@uF[ri'0Dr*=xtR؅À᥉#ϴiOvJ)s UBWxx>ФK~FP8Sd# N= 6^yImfO'aP1qDŽ@.7O+idY*Y'mX-d'86):5|yrh" kiR춷C[SL@HZ;"OO_b<+V{lqQ]pr4% =;*cO +`0gB2Ov.# +ԡ,5J\]0 Kc_lxF3w"FOʔ(yh;5,"o'#MBmK C#KA T$eC>_龁xk  zU]zz?<^;1>odCˆXc͞w{8^&@t]$-bֶ+V%f񆏵" %#3"JCeס%w|9qS>P( +Hn٠IbE":#֘jf&'3`ґWdA}l߄dzZ~\F +Hl"/BX-5_OE% H-=:o]E,=s/?p~'Jl(BcհکIur<%3y;0a2bKYД a0:+ ::#h!RGۥs +sZNrJC[<`%cMxǘELGϝ)톞O6*9%( S8G%aurLZܱU4#LԄ2C߼,:l,oLTZToa$/@g41>p ȵl*,#W 17cYWQ'#p3#{l1p{S# < GljE(&f!Ϙ@i3 +E?%*ʽ(mŔsyy+G;BWo<;T+)hYTKzv0f`Ȅc *{0v߰ϟŽmb.g9Ym{d羅gSsJHSHȬLЌ C%ҫ 5AcߡQ);RºRvRR^IR<,,7ǞQ疇ښ@ mb{ RhR;αiD{KG+r$`C5@-h1ڌe.BظDq̾BUojE]A@ PBƃTAZJW/ ( Ϥ]#i<t?4YD+' l-G#ج@z9ST'$cھ僁Zd5$dS,, 6\_T^C 8JA@E#o1_ 6? +\=*ΜORBP}6ZB PY+ٝ#)RT1;8MxM`ٚ3EfBaG̫ܒ3&TXn)U_r^ O 4̴aAr02Ni])9ݻ{ʁ~QZAA3dfaz+1uL, o\بՐo5f,XQ29m#a JppϣZ>LRͽ/ȪX#ZdS&iCh\ض-8X3l"g>6W&4@:M3:(l^xp˖ > ` Ai1,R֝vL\.[pkB 뽔'%p9A'ۂ4!}M|) /O)3Mg3^ +%$Ns*-K,"`Xu,3'5E[=V  k1gD>80?O?jxܱ7AA o$Ȝ.Aȗem4/i.Y "!( LM,p;hLF9GbʒGꜷ.%9m~LLoJ* \ Cs24xacOlnuĵ@EI;#Ggn#QZ|~ ..ld**i\h,Y:|t4 J#]WՕ>_ 4? +~ȷdQFn;ΝD +UpM(d2#7`ݱܧ Z^xБn`ħg +C=1&|ss7I qu>jF !!yP1=0ۼ`]üC +/NLQ2(R{$x5_JgU(B̵Җx qڈ%eҳ\Ә;S14l&B i10z˴*waE؉Ut#7jfzif Cww9bu&ENtYMD/"af,zx!1>"%CoM\:sЃ<ӕ}c,`@OP86ms̔!&79hac񤿄Y8B* +3}s| ]OeS/]VE D +Qk$.˙?t>.cGšk`4G0H4zwLMN8&ֈNJVA<,=z2M7Ý?$bZwn=E,IFkm( kF|-Y@N ٖbh+l10::M-z<Ç&6+[A2+=j*l`E<Ӡ8HpMiKV Bg}3B@)* ,&32<>cr=\Yp(s&e{ꆘB#aoj۷eҮKs+|ȞҊ?<"/ڷ^*v ɒrePɀ?9e3GF CZxpN[N[BPeDKRa7$Q[䑥 T08=G:#Gz^EÒ8L7гȣ[A=|`f$8D%b*9 32] .@)C[KѫSaӲ0H\2B’ab]yKDqqθ-36dN4T\&[ bm=:b+,{B+nI4$4ѧa#Os"}jP4+eKLI4N!bA69dv("܏燛UKxj!@7wIk a48(xquv"V^sr6IпTRRMRvvQbH,EQq3"K@Ekg(|خHni28!ʷ"DbR"%m8̡&=LIVwkԮbtQx9aDVDX>D"H˖1C $IѼp@xJFT#e$"hO!YG,QgIA̞Jm(X?/EmEY^[4TKd"μ`2Ef˺Ί@ #Dvt(֎Cgc͐z믟9FW),Qwinyо5u '$`da'ASU z/ +}X?!TwB[ (Y%A,=C5찪k pI@qOƦYI(8XsKIЋG/.u"6&FF$#"cb2m@h9W%NI4.Ff=W +N9g. 3#@393 aYa @VPhI1 m{ ù.SRF#sFNT#l(/!c袎FI2眧x`Ę?*_vdЯB'I Qp7)Ws3,Eac3T.&kThO FZ\.v=3|=0J XLҐX0_^,>LexۍE + +JsfFE2F%.MX @='4#y{b[qΡT cFw\oE\k~yI{CҞD_/-Lͻ$z2_bb8Yq':[H (fUpÝJ/72hU,v)r MU&AL+V%3M'%BÊ&z& + NNA3пWfAJBg{]xY#Ļ* +*];HXoo og Ł 7 kG^}aQ# -q/5iDS|bQ".=E4rnP +YD"`! Y)yg8:m~/xFT0rOKax%XPLx=骂NB CȉUPR#f霔TȡXPe%Ol +9'- F% ҡ,/.vUY.< twEǩT@L"d:ƤbͪzsGπc}9 +ClQ֤F"ć T-g4C}4} ݌F>O$=̄jhuy"MNkv$-&iAZ4# \AɃdnbգ],pj.I 1ꋩL3_ОL X-n]1 $q\c?1}hwG & +HL0c_atcɷi'}gȂ-4倂KgT,!KT}|(iy +FL`70c)S T4ƌ|A ן8O0V:>>L`9Xq~zi?Ɨ |tЈ:>5~ +1g9Hf" +G>_X)y9 jw)42Xn])E +X ҅0"UB*aχ`ucfyf6sߤx&Hy@>W8Y3;@IYRҤF T['`!TetS`P =zJ;G8~uxb((+d +cTNr(yŶ<P߈Ghed% 2Y}>k$)Q-!  K ҞHd$㨡ʺ7OfтF" OFWM'ѫdLh@< )p r įaoj<b&jѸ%ZBY%tC4#&p-Z:e}~VDO36@DYD^3JPlRL>Q v7:vIE`$&pz]!ƞ +̛bmW 0z11Fiyy5V:z~{9:5cH|Q@^`c]5"#BL;)mXm3݊O2_/yj/ |i)":DٱX۩&0(-~gL~!AWAx)C ѱoL>=уǺ@n@ e2MuEC_w Ű_P(ʃw.P"7L<Ժiz^`Z `-\3Udƣ\VtSյR̟rkuٌ |E$e;0eԐ|d1g@y' L>i<k.@Թj ʼnCfR=hK1!MioMf6} "ܦVxXvFm)G£”}i) 8d *(Rw֓*36XPt?Q0C8cE h"`d֗9<כGyɗ1vHW더q_ _2! [ vD 睍#ˣ{>sEޗUy$.#`+8/YJ8NS$RqɰHyHl Bļ%0BWF֧JB{L'O "K +.˸غv(MB$Vr>`UkP1]ܙVǠ!"=.PE*#~d`ޤW~7`9}j{jZZeTG #q0WBR dON&I~l? ^]vNӾe 3P#=lnC :ُp!_4b)QiQ sZbhÍ k CD>͸lE5 &K:77ܓo`>3ÈL +2B%P;aIֻx_v4artG;EM[ow_4u@DQ^v.fiO-N[nG ˭9Oi]uQ/m␫j+]ȑ4h## iQIP!O)P$}j>x 7sa,^ı /NO^4g闗%OLmkFDlLZe?P6eQ 61cQ1n~)x#&=={`4ڠ{ +`r>] KH\zV$P=OA013[o8qkcv /(耼 !7nHsAWSf]B.g5)v9 +p"o7jd(YpI^0΍@,ȡ "ۡ2"؀(LroYrX*Z:5<2qqtO줟@Ul8J4pVt%(E@DQ|O sFR̜>%VXe4w]:~F ],~rEV.DD} rA̷!PeBr2Y +4Cz_z`6cr\sXY]@t.rHIp۲,俞ֈo1DPcb B*9ÿ́uHxqWY#{;5 1@f.`0c16̰g?L)8%A4j&{*\edĕKUKx{sA(r=m`b@s|mK씥/dPe1[ ,yR䀃OE, wV|:% +fh|_"9x R{GxJRw(+֫O$"Xrjm>>e)ǔ@-("qiQ2=$x2!5o-3ːX("G^PVY;1Ӯ`U"{?,.|0T0-c) ӨSf Й#z ʂE3R[9 (ƞG.+CB05lJJH*s -DDi@L$"epf_5p +*2Z_ԼMo·=9]db t3X!Qӕp~-Fxz%ќ+SQ`,1Ap@pU<,;eчݲ N1oބwǣB 3OC3`Q"zTHOCrث"bq@KL)n,yCYͩȺP^!5"J; +!69)Z p &DǎxɓBqJPcZ3`/&gE(yѮEͻIصa`?Ic}xלP$ +feEEJHi^9X O0݄dR5Khv_1 eCS),߆_Ɨ8̒˻!3f(9`\58Őn{I`L#YZr>R~@G]E|%Q +D(7fj=B?1u1]=n`94(z>7`* +K֪$XuZ_`\it +uE4n ))TY\$PpJpe"|QȈk8z +)849ڏTid-#cs/!f/γ +S2=_!#*gh(F}yGc2Q}++O~'=-LsB`w) 9bSۏ_⸿4Cԯ\b? +ז&-*K"S_W_әQ"ؘ[y4#DT٤~r ɼ\}ͼCNO[D`1 y ܞ}-EBId0M&ĊOD7# J2P)Ix9)Ɋ);d 4)pW!NẀ +™#Ahbm™b ++ra2U̅ "(vPO?q1:2^~ j4#,[C ZT* 16:.e"S&`<> h44 d0sy^jZlq=Ncg;d 2 +КId[B/5]F__@nD٨G@\X/ $j|( u\tH7Pnbڔ8쬪&L~_D!N@'Zs޵OhZ}@THd옇;H(|Cu%\+s7n]n)b6 LJiԆ_rCicbZOvo:|! g' 0 h4iGgz8 *U`,ZrEOFlKSse882y0:FxG8M7u7Dl%)@<ŒHW82\1jgߋՄƶp\cy!:;CR Q`{/&W])BoH8l4:PƎ|O >~Y)Hw"U1ub ` ;Ȼpb~$:S=43"1lW2fW%DTp OK,Sa䔅#( ^)2*#>ύg^fn]ʞW89cNmd{{RlIL'D8*SژBIl!K,uuxTCf22Y^1 :m*[Hx%;̈́/!Ud<y's+w󨂊b M4dqJ{|}ZoNO,V`cSod32/J H2[  +WȈ4"yNLkF3 %@QxQ,;-Ȳ+zH'eՐ#X矶$<Ee^!E,{$U{-Ttr*[ +vm3F5"p])vix[%A(WWJu)4StbC$!gVJgE2)QQ6mAK|PȊ N_y0K5OYq(,/tVl-wDǐڣ0suVaF'Ol?' +AfN25bg5XTaYwƪnLQ5Ҳ{n6Bؽ 3Dc ُ4RY')1Ow,X팭ǁ>nͲq#S"e2",Web5MrKρFGbh9\P(oꢓCrgd=Y@ Z~A_e} ^M[?Uk脎 z㌝sBL KdX8QV`Q +3NvIHu j 19B[r;FP:s֮i&$>wenzxnlag e-.NL4C:T-b f="9/UFxo`Al Y%Dnd~ry(RGrpS?P#)+lP'F)0*P E&+79\\pGr>Jml .o{yQB6C:vQeÖB&"']p,cZāhph@ΧF#GXCVӤnD]]R]Y/=/l/x2+JVMT>!j(.D2ꗤ?q+*-,~G$tI[a4384rK7K"FȽ˅(\CPUA67TU7uWP='f f)clROPcʓ:#m#G?h,fAEI]n0OW|>PG"@@YOcx~,8ScUUCP юxjLH\cF?/bE`8@ F ,FUx2@mq|=~*`ynKc{q8+|`x=qzN4֎\ 7ϯ`V6 I)! x3[WuN2x_44hdlJ$waEMa%C>a՞^Eɸ_y2DBk")YAk/Z{LE¶R -sǛ R[l']#2LyAVP{0 !xo2l©aE)TQmI-U{9hxHco9A?36S9`4BD.-ʔӋY?_Miz@(tz8X$tb0vKS2*7bTƀ@wyIq~ɇRpxbv@My.*Gc@ND$Ωpo!pn蛠QLC#A`d/r?'m ??noH ʴ ^{F;m~[-ڌ&h7hx"?LLȅ{ĔFȾkbMHD=!PBlSo +9<0 +~adΗuXrCB#ٝj)!1vOњE4”@1O"V~<\@`) \G$Zl:IEx^vEG!Cx2Rjê1Ue*#ĪVTA{1_u"|9]ۢ(,\Df4g9Wu'mn\HR6,K|_␤ t,tSm0T_%!ˁ\d{$K\CY'}2$֎\lBRhWza<}]XEnpw)l$iqǭGVdϞЛ,*ۤ6y`A_KN 7^2"9ExɶMOziYDbLYiɤKyrIôzyqj{/ %12 + CD-EK!`8 \S] +uf֖!"}Do066jeY|J^5O+Mu,S)8&L},nC%p. ~aћfeէ$daȸcBx;gإg<_3BN?]x ;,yTEAKYF!0O'7 SƠF˗S>~w D>zrC2,y@]JP'Z%Y{Z7[|.u*86io(RVm:#-tz}+F\ݣH~̷Vt[T +zqHmwTc7qԈ:!W>by +Db[hr +Z{:߉voSpmڴɵuwlhޔ'ى֙X<͠;|T:bҎ:x©8^)\E9u&J B勮9ʆɶeqMP-Icr=!v/}#g]2M?E'Lh7v1V2_Lhn{XEq+`]R1Qt# aZ 0W'ڝuͬs@\NvإސGqQ~xGk͆kZDd_O޵[.)5X,0^J\VjAԛ Mv"w't`)S`^wH⻣6YD"VϢTkq qb@ +#{T^|xh]Y  B +hϣVR>" ʣ T.k'>Z&岦 7\ G!%]oQJ農&h!e? :dhhh'G`Tf\?S NMujH&":(BɻCl3q~!h̊n2DXAQ#ѩA-%$8%X7q gn0@Hh$5a>9J +$k눙UJϐilf^WbUzQVo8e~Ok,4E6 %EHXpfm:a6굽b'[..HP+{`ИE޶)KE8CqC:2"+ryjvנā+(!BhK|GXѲ]i(2N;9Jڋ"i#S&L{Pdȧ- :ߜ>T%W*Poͽd?gdǁ8у|$ZEX14ӧ94ms*m KXkP?83ŶHQSd}XO&/6$sG]Y-g#WeJDL(ۨ17[98zvVGsY-9蒫`f\Ăم/{i@MQ&S[0 +sj*n D[}P~T@DbpJ}!&V["6 ZA}3FԂii?@d^! Ka] +F>JT 3K4F\%oFN*0ġ`d)&327e_!>zE|GY,֎,nR.JÓl!(%=wqNkUJ ]jOt< t߆0иКUW+3|_R(9膤&wÄ܂,7  4ޛ1o5Xʵ@,c/>abǐ"6=x˵@}J3BK4cُchcS :;T1@e9chAĤ*׈Հsy^cwmIrFncފ;ӊC9f:^ mLH)4=C@:BX`QXf4C4?z5P#AF[9=x2C՞o, +J,2(˒}oJ-;37ɀ>=LqOL(0XF;Ԭ.M.|\KotR[=Z夡VN/M!&bSx FHRY/e&@lnuB!TK3oT9xSĆ[׈v" b3Aht`B(mþdH&|Ѡ{=?*b"U-"|Kwnp\:%KqD 'X0fzy rP)È!`1 oJ/R+Bj%$eƞ( Z` +Ő2uiɡP( W#0`&,کo!9oYr"kIxXze2=--ýt%;\Ò`0 B(y#%E[brS:t-䈆W y0flZGM<_ +E[F2'dPFuᮁx/f:0;6&"XMVៗ) +7Πv{eN_^)Ym4)t.C.ITz _FDfi +͉Ch@˨.-, 黹 o܋@L#(O"G +;DMx-3ETEI# +w8;-Qrs=8N;ڲ3G7* *A,qܑͩ uYJM,02C3T`p^H|'ib"nJ׌$(^3`&E,ܝEAQi.VC{4 & E,\e-U\(rdjv-m <9,6m` +I(FJLݦZukӖXl<.E'5*RB8˽$-%$5\?<5jp-S7G  ƶ,ܐDuK)0RkcFg; Mt!L^@'$åSecÚJR9T B"10 +G0X,!Lh%ij.[u:\XU"7g"/t ZMl |"'!WXAL`ajQ=ĭ/Mݼӓ5*X[IW\"$8GVbo6 zI6njžOrA2'?,D̙ƔM1`25h! e +v +ɍ2w]BcA#ā"7bb].*-Ƽůj4U(‚k~STOs#,XӞNv> +w3 ":1蹴2#> /#6ȻRECrFDF,_w5~P`2ۻ_f)Ly-9P{`z٠p}~npG_r_j `"AFu;Pj2h1_wBýb Q6 6lX8!JXFpTq7i@@hJf$*&Ŭk[yIB-R019ִ3>{DY'S,?'֚xo1JP +6 +I|x >;f=-c?|A9Cl]b^z'pSP:iq|3IytȆia3=,vAGYʟTO)'D!2JB#JpbпkיNNB/lo<{a9s2EFw0I{rW +q:Et< !-D\\/4bif& S!7 ^BYWd=94@FȦ@tniPgi +I,AP-VSAk9\ÜBQze{b +N3&2KIt7[oǘc-c-], \KF!\wj3oWV!f3.fLoz]^1 ٲtS X#:..ҮbM} +.j1*Ub Tc;Vh﫼H+(ƣyDft\^-@=d9?Gb#f2s^!mX2f8$"{(q&Lt'piLYyvTmCMyj/@,뚈aꑣSɤ' xaUbo2+\N(>svǬ}wD=~SNxйLyo + ~ f静YCčU +a cKbˆ2Zd3LbEB3S0Hl:hwdケ|Q0(o7|_vO&`$ `7y-= R)wz'~hNv]@MޱP#Ch2[ƕ`prR]Xa0 +V6f]@MĄ,:\vKpԳF3Ʒ#:hE'V+$G +焑M +* ]BtPr#⃶OZyCH s]4S@N*j"s :vL,hr6],yY* R I9n0`5*E +u($A\mmrvh C[df?:"<o O;Etx1TΓlB6)])d: pn` ڔ;}p[~TA4}J RNMd^ c0 lA#GO7<bv΍6u!EZܩG}jބRP,w]0?QWڄ(΍lXb*C(3(b*+zkpkju;̣}4ր]:db㉹9>f]tDBGҰWo|2<-r>X326- ۺE#-JGxU [I)lPbH0-d88<<20A:PnVЉŏ5TaPP/?a >Ed٭DkM"3S.LxoF74Y*ǁf_i-p4-"< #-YC%Km/FU hvcC`aE{t ߦ\{;g@4̠tԷ1n1Gjz1ꕄA,Č19RC+~aY΅٤ɹ֝C@lOK0mi8vÖ;[T cbJb }zdMJ.IgeU% 2ic=QRZW*|>>VXhl,-P]'x/;w`$DHlxu~@LsCa]2|P/|R.*pǚ)NW|SkcBjwFksa)uD ?Vb&Q&vBg&*:`W@8I:%@i< +ɜyx 4D7tyq + %(3UWEےyFzїE卵d@آ_ A?6w@h8_e[ByN¥j%ؽU'O1RO X)Ɉa+Kpk +To)(I1?>B-h/EM0A$yLjwDF+Y ۏ*ۆ5˨B\sq',o"b34D)1 N.&I{O!1=WvbL&fwF +3| RaBOU2\:cEqSXBq T1OKz9%Ab'G2H9DHl`Pt]]-d.]U&]0Ҡb6FƉ^tę6 ?jˆ-nh˓4'%M<>!=z*av+!̜$j{9Wy6|PgЧ,Zl.J +e4: u R$9q[4} NUa( 2q>9H +.ZgN{QU*:$EL 4=ARkb&Zv"dU؜[r'Y!GĀVLn%Yzg5QL^-0sW)+Jn7,~"h% Ljv>ExLj1b hȋΣG7 =.7ED I08f ^EAbcQ#} r`f,&;Fv$b9- +:SGb9ؕ\dTnUT`9˝ީ]ؠ+x k&T+j24{rɻ4ab<#2l: +T%;#c#tr|d&Y~k="dg?:; +Wx@I@aotAMF8k=.'a _sUFp":@w[WF^H!*ݺSM[*`Ztǃ۰9G02'®ύL=ĹqPD)ʩNPSS悹LQu4)P1s2xpq82 |vgzdmO}AC,} ;jHޥot1F +UN BssQ:R':E #O;‚4XdxG=vvVKqeU|fCxIxZg"$q/6bD'dyE#8EZPJYQR757^rEć4 ƀ|yg7> +Z)/#ZJEXG9SOӯ/!| +>.烏/?5i?R(-Xk8CLA{iG&#u=/hZ~Vj-!14}}9l+ܩ /"}u.Φ}}_?uɿ/_~N?W_?‡__g/1?&}?WH9=}Oj?AJU5 ]t'p/?'jă^?7Oo?Uoϒ,$0~K+fl~' .2L71]$sΓc~) j qLM) >uB:}6D +E~EHDtJv%W>S J/kAa)?-=M wиc~Kr]@|j<Η_ODE} +waSf\.vAPu}2mDO0O9<MZOh`;ŵPT%4=F +C Bg/Z@/d$"z`\hU!A$/({=΃L# +mC f"7Xw9?$s R~NPƭ".iSe V߀yZEIJZrnkT/Qz# SgBkڝAԵw*pB>r2>ϒiG*%6VY5_s@yU<2-HYiJeg-n|W徤TU18A'$9,`07hva6ӔҞ%/[m zzlHӲ#" 7 ȫ{_{9Ѫ]mĠNmm7#?D1}ϱl/~?H/7?~?7/#o>?<2ſ|_C|2ˇ~?W =_Ïo]ݯ_7_C|e/.&_kC`҃o|rZz/lv`l]Aڭ O%^Q!m(kb)rOFJ& F>Ftk?+f4\:N9 *qњ[&=h>ᐡѐF9Eov24ۊp?_f**4(2gRةj{J2Ac9Mv)-X(86+ m71E@vw(<);* (%ۀ[d_ lx<v6Ĭ̈́lU][& +DbG-f5b``zQGv!0oԩ|B+&x{xOHP6;Qe$sȎP|շ-, WPL͋o-ámIn, K~"E,Bt)}i^[A+Ȇ2Q&\lXd4$+\^<\@ {Kj4ss)?*$&ĺ$0f77IbZaj'B _DVhD]VP{Ɖ-y.Y$J%EYZʐx0˰iQy8l;]'@$8ޡLU$&P2j,̺DBĚz e8:&U<&C&`K (ָY$ּk";.#)ߕoA)?/+چ +y.nM!;O +#`SdnF*O%0*OՉ,V  7$G ՅУ.Xa3CX+Sj"+;Ui5@hR(RN}~W}lUrZdC'f AX,eLKի*⬃_.3%UQc UQ&HM ۴$jЕ7ڦm!қPz1[Y7C%xB4օ /(0_v}A@A1ԓ)]>=* +GƌuDO cZ؃.>cc9|<0b.GэXHzh/; c۰ LFgvSYzQӏЂ/APL>P (-YqZ {n[F1h{Cx-Nt օ@*(ԄN{T n?lQ܍~j}'olCgp xID*BNLYvQU{Bƣ-uO>|I+ex.Щc'W#F#"Ѥt| Ghxt)Kn]څV$6'! +z΄Ŵ*I_z?\!7(PI\!+9%,h6D OX^N ;HUr3ςj%-|ZGYֲ7Ip4%&9G-U<>=D\ֱMїt΄)A.=XhhUK)r`,5 D;WtVqY +d1]gZu[Z=j )ξ*Kf%:K(hz { r~&/Ёr)];E @cH+-_0lMg +,J G<HіJ⌍ꆞդEࡗ$0?4οO1~ =2#5.iW "\MY +QSe-ܼQ[z,78˕ s'X#Ѧ,EduKL oWx'_ϓUDF +\}ó3Z~!>$ 0/s衢xz.9]B'I+sXq3,EaC3b1zCbhɄ) h $?J>>1:)uwcp&n,%CtzH1"i,\ $W?d +>*,EIjPKdD'Zޡh)DĹ ro?6c/3?_Nt̖!?*{̵GVtʠ}OT2!F`,PV0(#˼gܗ9xdޘ:1tl*hhƸ!>6_gvtqeJw5 Q:[l,⚼@!I;LaPzf ^?iA"]@\xC=Le.mEرaꈰ5NK֐Me-@+#6L)W [m٪te*[u#}ȝ;(ogN5}_ע53C d.<8fAC e(My[pA@!9gz%dNRhnaqZnSǤ7Cֽ5v'('^d'xI4V +)RZ&%gSQ3rg%$w$e:NWuXrf,^WYQz}օټwe{#-5g$"#!I*,+z䆨BʷVSq ! +z3yf|5WxjeRy&u:}у$Ss~){D1 ͝ @|bG1pzXƯ :S)+W$t,q{|k;"%?լGqX쥋UAh\0BRcf`4U ́'bCO3p8C@ .q Ӹ3_(&46`VN0RXCkxn0 <<7TFSP#(;4#N ]esDsv| >MgGd*'=%IBe$pΘ3{]7Sܟʻ\%haL?wRd9 + / pe\1z{ܙ$`YiI#zJ tlu\3zNxjvhCpQ5"4' +'~i>wtX)_D5e +{ƶ$lA\h<1a䗣R_t83ܧ4S v|0 >+fJ@b!ן9)CR_iw24t!>wU yE6.eFws +\<Xe]zԹ*NRgf.k x:,0'j|jy:&.zr&$mJ3Df wBge(iC2 k$qGn`X?Q3d݀` )`v7FHo.`,]t(Ͻm`Ǧ*1L9GE&cci{)`SuV@,ˆיuxHۇ py{yV__ڼI!I-SQ]XΪ:O#a:;#D1NJ5qf%!}15r?"Rj=S.%2P,vW^MPKp076 X +n=ȒYT!^QeR,15RušK(>Ȋf$̫EFK3;yKT zc@G ^*HkiS`mZ-GYs +:pF/pC/ty䩓^+y`D:W+^ h(ŴP?yhI]<~tX f.;=Rp%gtLAqSs9Zp@e[B_j1u'ia|՚1!֩VDu \WRѱzՃ3bnT~=M`6 >(#>}؅=;S`hZ|Lـ +bXeػ"Q/X H>ikbYLbF q-mbIø|PSRnS2#SAxu+g%$J{Dn, ѪسЕS8v-2Z{$N{BZ}q)۟%1jQpJ1IݔD%*#mK83YBvArwGeyoy5|˔|?E'b2+~'Puaz>~'D+&f 3^|9ը5ҘAu`{_.8zW2:Yo>S[=/"7\k47S sA`hX';q)JPu.vw@stͳZ9[,cDK;UH] dK .e}s7nMNc].ʳJ\2fbQ0$q=.*+ uP!: 6&gpÑ|s?G] .5 `f6 -VƷöf)+@QI|:,v9#(ey0Sy(ᳮ񀮿F!6XpАe&dR$Y.WL_<]c. +ӻ)4V<^7P*#JtPZ)o劖sYT8λ=`cUv0gbr*p<@K}ayg6cGH<Q;n= @O {~X#a>aB2/KzdЀb@.4Sq+RZ|(FeCgZ.TKNEaQH +h9S&>綕97Zx.c.m(κkw{vޡC'[_v-0Oos)9q0j3:~I=$= "R`"휈q<#y9xJ_Uz@,B(RBmpg$R[4F +_8Um4{J +; :f +_cq2w #a? gB^VsiS#KGҸ,H(yiZȥQKS 9}'E"t y,JO}'AHnF'  D]@\J d˭<zT$daTdlX>gIFlѿ\OGw9AgnktZ,)Gb?(9;8qBkNHD IHhn@ +߸1Op~Z ]"<261,)2C&c~]A |6Ph8r(L"#oM䩆´a`i +|$ 2T߅2vAS=qa.j7m+`Cd4r>̟#:SSӂ- 5MD؃,;Wߓ@6b?aw`r1IĐn cЕ 0 >*}ңԣ )sK`~RkOa2(H[( $;{zC{m*_mXְQa4Ag`V +P;"(So?i..($S`9n<ģqm anʧ< 0N8:v $ cVO 1jw"o5fK^N|d1䁠}k| ): +yvS蓸{#qDܽ{@ʦ qw"I"i =!d˚oRP=j5f\Zڬ>R ފP4V/#0{!YRrcH}))\CH7xB 2.IRl@yUP@yt?iBj` +aYn\ΠMrD z &sivbLS3 џN=m2.;=?7J+HփxR \J +7EƥFwSRsFgE}[Ֆ ;b(Dt Iy!)m"}kU^U0QcvlV+#5z`a^E9 IwP! Cw^$Tز9aas\N6_/Ce9|@; 8k$cgGaV 6&_XEӼ@+ 8Xz.#ED񬣶% "0RM:Lj㍟ ҆H9X#Cy԰|A$ "^baG['&`8%v萲:)+3AH˧ d °eGeGs0Β͚da.oyg8j^5p|H-#q5pvx.=˝]ьK 22 *$ւn Sz ]ŔyQ +ʩNŠ^D +Ҕ\h>`cbqjl}B^+:[;>v8[|c?]O0e ;[O {-;>ėF58Ֆ/z9{бu0BOV:YݩKKk4o֡B*-z̎ eLS94kg0RD5%dv+&îpS;,z:Cz[ZS0$XK+pmٜ[xyT#̌d:sBn *rs]lѐPԝԺ q.-đԐwL9g[u>ig4Xs%z >;(k;v * ^Ax EBl)+;iw#I= +xWػl~KRDMXK9 g}sV֫s!s*_GKM{8b~X((\s "GD?as͂n0G…ctf3af-hnS9RhfV+6 +Nin`4MhT(gvd* %O?ifT%x6"?D K +8e,IL aNGVG_Imp`qi<^!gr#hNW7.?Ʌ {@ y'^stdyiơ/2#1"H +ɊUXyJ/YH|3Uy]yYb(駐ZiL+:Fئ-%{MZǁؓR7St}CA.ygL&-)<$.3 #RbA4kU˵? L'g:$O+T puG2a ?̣LrHgG(hY=4zb;BQ -9_Jlb#Q pd OUrfk4蕀%trfcEEvHT]%&L@f=$xi3E7f&LmzB[ÿhr|kRķ&_/^(Kt?jHw8&8AV-G+3hEUHG~U\&Ҧʚ%l.7iڟ.wa6$> 7d  ɬ<) G;on*A3;xhM{IvjVmʗ'ܖML0 ɤUv3 ڐ;bN`\m0 :ۈ"] +#3;O+AKZ$έ^zUƄ<#',Z1eSUL p`DLq=#)LѦ(u(*J4rИRx2iWLk9)OqG N e# Vc ;$Q*;wٴ}UO"s n>(E +Y'LM9A#𪬺PDǁά빦C|FvGո B`AI iXE/{z q h*dڌ#lHS8ep#rS-͠ @ĺ*Zh _y7:m'+GU0/dty.< +0ݠ.dbhrb Q[fvD*R֓9z_6af.= +Dy ŧ4ή m`8{7:=t %!! "Mns:Zu""E}v +$&yxwQVBx#P92 +aoH=gMwf,0>yWbbЄU{$q(됫ZKکE2`3~ٗ +Ll>8PCMׂo"i!*/v8YB.ޜpu?|.ixՁn :Uo8NrY2 ZmW%!߸rXqo^9+ $4SsUĩ4i%XBL w%-B\)C7Ә!7 `)<^coƬztFl0;8Yp^0tO.WGTK0 9C_mR4-ҹJY3>ܽpΠ9L%#W^i +:ArS jS^lL$vxk~Se~ +`AA)Ws fØ2'(!|[8 EX.g^V3z i[%c b +O,s#&9u J|Js'BفLECjxQl9̄̋볭 ؎ꛚc'|ҟB}u[08G*~6'~[?ɝBpB[#5 J9Dđ IG0gTAUOFC֗&*\XcK oTMWJ)/I&@aD~7x.R9$SOVsF܊6+`OABNE% +~5ʭl f}#-RtF/'|Pl}E 'Pb2=J>XL$UJ]1Ad+)]U#jXycǹTB~bY+{p+qUŊ>it2*!nԸ>x8rD8싋&Mhi=#!h $$a<ߞ(^RW,YM2!J7P,A)K$z 1΍ų_}Xtbm|;zEpЭgf X62#,>e$~(rsF`u-Fkvo29=t+D|f_p2'r]&ItbQK S)HsB~+v$״mA1c@eB̒ƖL]AZ#gTaFw?;fHlD͑aP-49Ē +XY8F8dC,)b%YxLsqHRWH=][2:kV圖98Eb.8΂6 z?\$B ]IoH'&D~fy`OSCW9_p(h]+B:I 1N!;_'$XxL90u&6˄!,{L.]Ro`)_l/)<F_(h*^lQq(& F1Ny=,71֬Rj:Qd2Qia^CFRGx/~Y! ?y#4#Q#z9m)ym[4hVbe< !}P)y#FxGkL K7$Gap8IQarW5cL542t 0= tu 6s]$+CգH%=ztI񑊸 d.r j'3,§͌ +|0v#8kՠfIF/Č*I:=+T3dQ);\esj)Y@6[^-RLl4|YnEI)X7h:Z$ Bz^f2zu<~^u&*ZCeG{)A(%J&K'TVw aI>[-A/91>z?!OҰ=E3TI oܟDoЧ < 6kႣum5@-\bܒsDj)$4W%p"iQ銸}!}Qw LfrT^Ohfo (C Թ#j3S4J9TwfrGZt|~p\}s)H4F73I澹$zgRAnB۪숚 ŊO>Cb +)}SIa,#-6jO?נIDcAEؐ8~@5b3 +?z3dz7ж64_'k4 -f!^z PjR;8R.-4Sd ɋud45DI(#߉)X)/HmRS##_XDøxNC8~"[~Bvۅ׊HQp ]5ї R 3&~VL<4-ře 21݇n,;0`>Vӓ!Ax XٺP~<)EpPB!4Sjx8A"n(6&D^ kથ$9l`7?{ F*RTܤ'IȂ$ϽiH:}˗z"ƒK@l;proJӦ̛hk˓Pѵvz"ҫtN9#gIb֌O4dU$|ךiXG9,# +x +cE@0_jBr +W<_E:gIby,gi1|= e A(A[iBI/@:s2~"yJ0 1kJ72bd +l]8p5 z)4(h*sPE%_APtL$B +od5v1*:O^}xI.%qQHof6B๙ QZ~h0TlaG6ԍ(,<.+fES[ap>'% ZOA-ԩ~ɼiΎ=yfMtKgh-W <4)BǦ~ +?ҥE m&>z?n{ vLq|p9DjE1= 6Ʉu[!tRM6؟Dr,DmT #5E!5Q~e:o) 3f2^bfH;GŜr[UB"8Kʥ^Z܈֟0fBtU`RD Zn=5'Db +|qY1[@ vl|"Pn t/#SR8Y]+1 .̑\A(8s&iM'IHNbg0 cPFM~("9zrc\ +~pB* `cYďHs\=t[F*k Hjds7|Q@&!8k=fvH$rvy_/PƞBSv2ț]}uۗZPYx +"5orJ^.n:9/])n*,َ*M@g4B\  EY1 -G-3e]tiGƁM4V5_=LݜthkM@`jk^ja 6+ɮK-jn4Rh֘.J$eĢ`ԥG`e,&Vw'lgMZ02|,+Ӓ¿=ji\={+.l _z9Oqpl—回An燄!MGo q|nT2և_/L߀BL#ɘiga4ޜ02OB_((>mIpR1ki[Q +6N$A \rʜꑘp?7P1z"FocgtqD 7 I48$Bڢ[VU\h,%Z;t[t'p˖`fq`\|;%%$DmOЙg$GvQuDELѷi =LwNLPql1 +-?C*RqJB]PF,*=dvuҧ%==B6P`@zpd=[QhH!q_ =JTY5nʹ>3!ϸ=P#ȫ/B-!&VƅqJlxy=Hv7 C-1t~iǨB(ІP}@-".yF)xgV5NvU L_Ŧ)EY4fזy17WkCq)[K@"/%y#7OC:fW [!NH_SQIiه@uS&;V%:6vԦdԿ'VL H0D>tFoNvRdGHgHJm ښ);7!v=DoP_PG{Ya }ԟץYN ]A?e8J|^Q:Q}D!6BVyz67*y+&% ENJ"qQ)?p71WA,$u 5iٮ썱33)-2UY rȍ85)jDa8f᤮YD.P Am!6$=KQqeȆ榛Uz+=-jX5b% p>7c~;N"4(`nLw[8c"4m3q_HhSWf0f1<6jY M^F |E<g]e]Fsoi'F a*D p[@djwkA zis|/4PӾk0;^Waun S%bQf4rOY.a!)a$#ۻܖ\y|(چ0"E ͆ńj +>cZ;ۤ,Z{暳F8T7,Ŵ KgM2 is#53 +pdt˟<=\,!RKVl`֛1ˊT뿼ПCF,O2h_^NuYLun.1X̗M$6 j+yDp'g?tvipJr>&% P[vu: 4P’u +[COzt6Qe,=)7Tr  +b,dkXQo!%R"J:QuҠ ! ++c; +ۣPdC=GMPꦂHvaA-A"ӓm;qQ+W dnq߲L|ZS% x7d8~ SO9@m=dt3Mbޟ! El'$@)qҫѬNFޥҷApF}WO74:pJ4f׍Dы-lVqxb:l5)m;­1fr,ԣ8 2g\xo!UZ~>oljhUSEtlv $O`~CFft1ϗdܳ<+=NI~I +ni׉V반"*trcݒg9@s.k fm7EB E +v{4jx،3Q%Ƚ~ȶ~s 1 rF{*K<'ѩAMj@=Vt {[m //')Mb>KꐚW:|'U КqV_j XiW&vN؁C(@܈WQK"Be6dP1 wh@lQN}bY2aKHa~ԒαoȂQ1C #P=xP)TnwҼDYxH)*8DB*5p)EXٯs]bC3 !15r.d|?ԜD(v{\:7Zf$AhBb!/=p<:]̙Kz`ȝ3eԫYȗܟQ>} +Y'z`YqA;_F&ԣcyc!3$ aFU.*.OL+m(3C_SS  3ע 2>8<C +=y 0I-#~?gI b/ +dنm#yU8v$"ebd(/k=/hU< e|X\] .i +endstream endobj 341 0 obj <>stream +"in8d +2ͽgm[( b ^_9Tw2jD +-@Gn9@_]-R(Cƿz5$ YYfe:13VȘb8d@y3Dʆ\;㢳@s1yh@.) f$1p/C(Qo$&7ŰA},kb {H?Qntv؎ER8P yJ9Ѡ,F &)jјv"5F̗D/IlpAtyyKl̐A{xV*Qʓ7y@4a: `JS{L4"Լ˺g8:sNl .b"E M P-HMO,w/{ A ȽJR;~q"R)RAWSIrL7 8b+-maYԫF#Yy+&H״ N҆΂Wot 5i3:MIJPQ8RG(F͂qO0Jig,e*>LL Hf>5F +k`ǰ<0 +-9BQy(m. % ۤ0tfWŗ<Ԕ/I{4J#|C5TrIU=-D MߢԟmjddF$RYJZ/Dx!ihn 77Tq'eg8RH>_8>$'I]Q=F !ln6v%H6O&m`7 DostUkޟ"q2Vڼ:g@ӵDWtnxDTbl~ *%cj7{"0W ш.t%n K15ph#m(<[04b,ܚD!M +]2:SndХD_l +̝DThwv+fW;B˴tR] Q].zR=RMq4? ?;CgDHӷ,`]Ы4ae[!hUDC1hl+auNc_ě0 ,^I1$A]+)) 4Ab #S7S f:#p|}>C"%ф/M$, +; n<4p]E*UlJx'[ aA!Y&}bP]"`cy)k;Ѧ`S2qcxoBv{v:-1]D(Bb>8|YZ|햞kF^~,M07B]Ӄ ]`#`$CpҺ<+` #@b&TT?/%,o*?x)৺ňZ{*4B(eYI2S VVM#@`<=CGlQ.;C. Ccr}otH!iz~r'];[{_9@%odh^I"nTg~ՠqxU^ZѴȢ7k41D;|qH.%L]2#}(Lצh,G0CQ /#–7е+teHGgڨ>9&ϱ5+C/eh-EuФ5j~xC +J캅ql#ڮH( (7'bܦ]<,tY+̮cϓh؋@S0gb} ]:͋.H 0:C~5h8`Lm_iHme'JQ]كd@΃~gGFVqVʅkJZGk F0 4 d i!Miڣ4$m_":xxoU)$.2]N}k9Bf>W0B)`f٤ HX0YD BL\F 2jڕdٛ}*G JlJq~q?Eaߏuy9ETiX^MWi2: 7oWՠocAۊ K86EEeB҅l&zpQW Kt-,֒%\-dGC(ÅAQuROpXy*Ӹrfq>F&th0dCVƙg (Y]E6$7DI9@b\ ִ̞@0nUHbjzD1kEjm}̱̀Y_JՆc ww P +X$ƎI>Mk˜ Bb\% E=&VJZ{ʷQ+ccUD[]p}!"JܹQ4_3F-C^9{j&L$gCzdsXL9Q6e9pmH;rkX0OnՋMۇ<sw} +M&ɖK3Iڤ@\-?D<F p)k#A!hf|US:2f +ڏ +|5™!Ս=.'h9sP^ ~'<=~sHYe.Lw~s. ޔoFt5 O£j{[5@fZɶq J$CL{D48Ec0-M@۫2yc}߇ V>](h4}4DߕdDx ܺ'"f~,(3 d gyAb6Ah8F >V{Жޘp7j3jɨ"k|JeQ8yƖO_AynWTvȢz[ 4bHNbWsbʀH૦@WGҬ +o׾~?C[^TD)nP +hȢIb`Ǥ'Z:u8SOlldmv\Ghaa9P=ƨH z<,QL` J-IA2vTvYGA~\|QmL3"S:Zz`Gq_e;5%u݈h~^1h +b`h=n jа㾧"FtaV0}">T(. EHH0sIK B#7c)GD 1jZiMWISV'X&.8\/̉5ݙ3nt._YP ak.S0![VU[I,1_+#0 +5gH .a;ibd@l]DֽӑiKR6CV' ,Ku aTAP]=is*C@Ԣݢ`tی~6AU:yL# ըD`7žG2wM̵ ϟ5\_Tde| yY{$6bhHp +D0v/k0'!ap֐ FtTdp&@hh$H)}|wEu4)"$d텳@+Y>{|Erpsڷ{=sT NC-YS]8 jbx~R6AF6B< R(6דLS(LG32FJE(M>ɖ_(]-+lܤ >?sHٱ$]d@69zj{"V9 bMV 7-UfgķjQMeOGW:٨|Uזlؚ6 Cmud9D5Q7D@fw]fgФB @X<`5o BEA6 }fJu/m SܠTԮ?yUr #~ B|(o*u|Fs^v_\O'prz|Dt.d1g&3 Q?͇ĺ׀.279]:hsR$aDCQ-}INy(r`ᄁXֲJd]21sdD BH%bU4*ygE/jjˌ_k +?DcDy0C{.&^1/=ʷ.XL,GT9݆g- p=:l E +VVd!b53U6.t"ˍW ^λ85|Jx>I0ݖ86&@IˏyznÉ(G(f$W<njin|P<.\Z ĩC%y-K..$u_њ+:{4o*@e[C'܂@ V,4P)xRG l$$&%K`=MK4$#дΤ,6>Bph Nhwh'd;Ikъ@Ѕ/zq=0Jމ$2x*~ts0)=+4=g6cΫۚk5TI꾤+M5Y0BkAm`\Z֊M.NmÅ.iG_3 #P%R`Fr+/RU4D ʺQJ)}4QR_6/ΐN'j9ka}yq~la([}S^Ҟ\_LZ7黧*iWWSn݂Z>9E',e>3 9J],ږJ\;ra@*7OOH#d*$][TJ\)qg*0_ +&?*jdXzQTh$,bgubE%0]b[Rkny;DJSnQ W!D]zW; 4Y }3OCn_̶6L |yW"+@-#_eeY3g=E`W纩".YŖ_ҭ+3oP@K@VS 8><\OvS[Q8P'VIkt#1a1 Q}RxR3-qG-h)9>(U-tv-%) +7ڊƳP+<9tj܋rg5Bsxn(zt}l-X&Q#c)Rúy$$L~x&ve37EY26H*ּzb1Y-B:9G3%7o%  V/N ٕ0E1h8OjD<)x2]'{2MȮPE<<-$Frg'$z*g7ft$ :K+( +Ph0z:k)qx|MЮvP_]]B!Z9Bb )nB0hC'TOD5EvVd ̞gjł#uL[.ES3=P:*kA(ӱl³fpٗ~mqKm'>嚔?9K@,ȷiM7C ??~۟}sO?}~~ǿ͏?/ӗIWӫk UZȝuѺJz?IB Dk{$a{MɟyiL}TB8r/a['ihwBz8H&/$ z摛N]hZ kLMGU$P5fޔy@68RPNKNHM>^umR|^.ЎJqơ8:剏ѯ2~t@s֤;URyHg %#70VSGoEͨTΈ{TlˋDC# n'KM !!gvdZІ=pTfR["|ߝ҂: @/uP۲&D4+{Q8tۻi+֞ojt?:f_+FB05"uAmO:T5)}Dg] + +یqQU{`?/23ޮ]yطC.Qxo +$*$"Ϧ'{_$+[d0"l;V⒎fN +?D%Ϟ~l'.Cq@ f;_=sl/-G¢a`٠ B))N߻"}4pЧtu\P쟳НddDvbXJn4L2 (YgMr6A(!@ xS7MOFV<!8zi]%g w@z=X4K#qgBg{~1yTl}i +Y mXEX9Z28Az ?]|(h1@Dͳ=hL|} pCitvlf-7;lz%:2BGߡ._%cPTGRWyH-1Z({%dǃ:pQz-E Z?]GX8襠;2_/h(mdfљ ^Kg\|9}|ѾdRI-m yc!JM˫it`KRNW +%@F ]Q0PJ}| +~YF@Q E!=|6Ďُ h+-c ̥/m,!VEw@||>6ށL.X'!MR*P:afp+ vW!'8s;fS +'=[z$4A^#-s_MR11H۪ܟ*d р~ 8ޖB=]dxFuXle!p53nZ تFX |&L5N0 Y- +9Z*C 2N%&I9=}IÔ:t!vfDh6YJÈ%Z +tL mp+)lnel(dC܄FȡQS -*) (tG T_8IёYat4AqmVHo2&o33(ސ8Mt@kΐԏ C2m + +L$ !i&9?MoalQж?;n$UJp<4ؐn8>P`/`s8sjpNM?|| VDEl+ăxPHþ3'P`r +;h)g<1=2Y"ȫ5_fhW%xh8Xp2g"զauXI$p *Yh,jlz4~v 8i6k>VlDҬPHG\6i@5- l&sO(p )EF\ F +a`d3(D}K?ٽ=4}5(΃c=32\Rg=0zb-f/T3FF[Edh68-2 +^v)I5kgܯGhO  aWP09#4YݼI>QVyCzBȆfۢQo,Z{M#/S/]&{Յ݅9]=pCjL HށGfjgpsۑǫM=t,%&2ڼhW.*-cN|oHnW-x!D`O7@Y?u'"ݱ?s@G[[m͠`YDC!4 #:&e;?o}4 Pӈ!!(G@)0J˜$jix95LdZ&6|*|Hf;jnxO:XKXM2&Zxr@ jΆX Fzgiװ3"`Ib[BI~ 9X 0唗<"#:)8r}A7b+$1zPjVl`ȣ@!D1LǬ©*fưQNxGșk~@.v 9c(eJLیj*#p8QQMuhXK>C`~p /SC<+3碕U6 r!z[x~e*#<BD!3([HRezF]0AxoQeTOu3fXNCx8 +L]Qʦb&IKz +b4TR y9+s=4,w H&pQ^af4\bQ{#G=9 CTKJR?OQjۅ8}ޖkwAp0⬸{B&Œ!<<$#P@βY~": "%oSSfH;v-$Y)l|HpBXl=*ZjhG,)s~  m?[VDGW}mD#$d`4/ ~c r1&J O.ct٘_)PPhcN`l62lK͕e7sn'j{Ki-".NlrC7vv@[F1fr\kt|O8y2JIM}bauTF4׌M|lEm0 CbhFWLSs蠸] + RW>Rj"$оz ]lt(aP"$Z\Z>1IH/c0e:&uU 2!9qS6؝!r7,§)ia,+? zl)(knV{R'NiEtP4b\KY (ـ}$ipY6$4K,"dJ7ik;G,nj;r\Ӆ=JΝЉGd qӛa5q'9Ċ)얡"ףcm f= A֚#|l8NP [1\կBee0"J N IL0MX׿UU@Qt[|+Z͗>*h#ޮBh_($J*22 @x\i6;||E'.1>,y:Mz|L0sD2E?p^0oհޓ#zLÂCMw uԑ] Ex1%JQD|+X7#H=5N."p`nJy8^rf=4ޮg rޙ~ET7,p|Ĵ^AwUz{!R Qbצk}{v,?Mip% FEςF{j$w*zˇx <6::+YE6 Qc"<%,ZC0L|w_oQ*D 'Tkď^7jqW{l/҅ ˶?UDhBAN1PH ,oRu1п42gN`ů#bȃK93ܗw +|Zĩ~Y#@K]w-:u' :%trIqw\")ivw|J Dt@T1Ascq4iaB#dmHnUVA GjT]X\FpA|Y(4L_!9Iʺ36q›BE1>'RhF6$ +,>Pe2ђ%! ps%\ "0w؉ xbZTg]c8MsA$ Ҽ3dY;~ŝ;ȵ>/?FF|dWͳmBJGUїoXOɕCPʱWEШL3|ǫ<򳈨!n.mpKZu"@":`]]s0} m. ީ&}\t6!1'bS?E0e\!CȘ*6OpI@˸xNѿз4Ц̺#sDXX(Ceh"Ox&Ŝp.3`3 6- +T(F;8~ {#Q  $_qzg<>TmѲB 5n}62Wyp#>۞">2hUTQq͚X{|wBou#>*l-d`)2LvDl1̳j dpJe1)㷞 ݽr\O,ȵ* 4 , ѓ) B3Tv劏2A$ =@QQ-&'NO i[P`$`Y^*BQQ@.aD ]aNLɔ +IJU%fJ-h&e(mEYHi[Z! 5j'smuUɳͫXͨ,>8hK3kC"|GbH,LEF$8Z(!W|HhHa:\ 26<&a/Eer ~Iʹ,:x6ү_%pt5ԹXaXC4 90E +cBUL\(+< +Dsvs8@pG~?Z`! hhN*ޘ'F,XQ\77\A^ÛCl n^ RDEnJOK9˛1Bo? }};^w;}sdq"`sZ^$Ķ +)Z%]ۙU +BLVL@% D8e -V91TAA0η%?X}#>Ā ~M#J_ 8x? O8=ܵPEC*],o7/˟/?şWO?p?)Q2[p]QFLO1y>Z{篧S_6sz -WJoo{Ho +Bvɞ߿Gbă^?7OOة_BuH&A# ?IR!b"F9G$U3piv]=Ņ2 xݎWaIA4=̍\ʬ%3%+%@b$b yVy]4iuY P,t^ϗL *rh*V$UbmMWKY*8eTa#N`B)MQr0>0;8K Hqb&C8]UC3;08Gȍ9WLP +JAmI3E5A_-'/ʹգK/8^'JAKa5?VqV|WÒ>T!NUu;%ы)g)O~TUK]t4+ w僋zaϻ|D m+ɸK~ +O|e840btD۟S0BN| z;#$=`x s_'a" ~5>۟/`*¥CgE8x́2|oYv I|>5*q',ɒl}p~Kw-&z-AuIv=~OO9pt;ˈv3aӝs_5uJY.XIHj4'l`bdR]֝9ϋ?g3 kN@TI%tTB/| +Gd7ȟ)~`(=`'o-v=WLSUB&o}fs`4\A%^rz {~n5Pw<69Iw Ļqo_ -6a|aY˯_Z7M_{@r:^ٳGEfhUAjsB圾HBdg%%Fv+V0]<;#>{&g d80hstKvToR72g2"%)LɃeZ}Np$I= P&'M*-&  }2}u]}oDF*,K$m'k%+#j/zTS2h bXسet*2 AH{GEqg:EYDc3ŷ[lgԶoڕeJ]6$g=O|IǙ CScI矀B;_$&yTk ,uyIQ_Z6\IM1d^zl2:UsޢHE$Hd[LxZm]o#{g`~7ox +KXq46^\7R4,oijly$c*hgf +Eބ;}/6N [[Lu·N0⿞SXDb;ΆNGI>շņ:9kwzP鱡VP'v?O#o#.!z^ΨBwlkTiAds=9/\<(x,4TJT(*~= { SƝtqF"C]dGbXQ<]Z[@|gKٟ%{}_귿_7_' H 1z8!BucCJeUFp@4c Nś撉LwID2"(_OD3u%~sKM}A((Q5!l4M#rT5$.ؒEu#x#{:H# :Ǹ9 њT:d||ÏC,@ևMb& VDr~(w7 ڲld$]v>=U(p:e7C-EH2b|l0U T7S@O2|ƢI Maٯ/)31}_@+ʻ'ѯ -ӫڢ7c'VJ69Q,j'K'5&GHA*i{3 4ŎY%}o~WP`si69u5-WX a6~ +HOUl)[pys' JZcMḩ+d=fR!dnò > u#CL20@헡p/*+FC۟2peivB~6ZQ VHv?;r(bB9>Yz;z/;tv/n_ӈ7H$]#`aGn>Oo (a{sC;-W0%?D51^Kǒßw^~7/o~#uO7}_~|e~\oWǥ1}h$׿_8y~~_~Ozⷿ}Y?U80<??lcW/GsxO,?W?Zx7?7?~oys쿼_wzW$Jʳ`Y,e]p=K2M\c[t 9Lw#~0#Yy:3gܰAֿP{vuienvlZ" +bwP m†rkU A{-nj*+@`M,~ +%fXH+S5&fz B->XC!tk;{yX#FCY~j!+Az[`*Xr@|(#]Zkaf 3] eb 5[2ڴ:ǑneI[d Ϫ/E#7pȶek$6K., -,0Q]LKȀ%uҤ2#k\ɨf_\XL#ˌBw6b-qg1O+s8By)M"!WA5R3 \8_q .se`*?D eU݆p4/hyj+3~MlK7bD􍞩rsq''[!%&]gaP8LXiLMS;ld5=åaǛA}I'H=xaPҡA5}Be]WVSaz$ΘZ_B8yUjt' '~ϺIVl 9e::+⋧+gTe}ec_h`H+Jo + "Òc5.M( aK NmGN69b@H8 +c6xxd@a_q͗]iIJ9i@tE Y@Y!py`,.;M€ .:KbCIvlŜS`.O,P\UƠwUu;_BC% W'E;9frJ"OMc>k=hriX1AoGb"&&7^:\VPO0HRcy_\ϡ'>Hu]7GJ[ +^{%ܞ"One6戅r_&')sÂx8_zi\K<2ʽEWb#J`\?DM[C]"; gQA[V`8DYjcG{p")OfMN >vS%)M ;ή~G#Za:_RKMȀ{ܝ} +",eMuff}~yE dEahI(E@>qW !at=; U{-(E-A ޑ̡ +<822 MLx̷X BQ ܱ!*)R ;!x rϨG1@;SJM o<,F|TwdR9!(Jv P e?Er'0nR>64I4ztMÔyqV-XKt DTu?-,zdiwmCW``&djG+6*'PɊ<+d[ѿ9X+Z{JB<_rU.q2 @$y^mC)4д`(%>\Qcf ;er4* vyHo;4dJMwvS&1HRBbγɻf0%މ3-Ao߰.TsQ`=Wyusf}LgmL%Ya +Zcp7H>MRb|S3a\C,PjPD'_a?^&?.k_SSI轓C"E:nw0 r7F1FVp +[6(kW"O#{as2G jKY>5MYZ9ОS焔./3ihh36s]k75BO"Gssق33BSJp?P!3L-μJf96z 7b%F$PۛlNDJ7Hd^-r7xb鱇֔T +b~2H-+V|P"<[\g60S ݝ]w~Ra !ز%&EyYD]??Fь2bTy&#žDzkܦ|ZhKat0a!Ve>y`bG߉m>~6s8yvD'@\VM?(DȚh!I…x}J9yaPX%5洘5Oq"o^b{|>X=$-dr/!dfA|i3н&#%:,s4ۢo-aY˷ET 0܄H>ڄ A -dt(_-~ʊKLX90t`hfE%@lC'I@* 3*r + 薥XC~ $O|Acsf!GZመa_՟aj@Rtjsӯ30tNjZ%y0˧I;d="Dw8'ҋWf,*#&{$u8(bH[WԌK1sU de$Ch\EO$Zڛj6ڈvqL-i|V$mEasS(^AK; !RncE@PZW)R |QcOBBBqD-b5 ѱP5X'a2O\B=(tSNgc`W}t|)hjg!YYe UQяNqqYIDِYXPYcj#g *Pf=D[IGxFD *7`>=V\K4fw=u)vKոiuK6vKݓ/XhV/ڐwGOH=_jrbEQ#mϧ',wiBE4ۙg0򪬣?Ǐ-?; sviX&( F~e,cV?MMՅʢhMCYf'c5j.[ f0K6Dk1ئ êЁ O^C \^R9"$?.-dz(w%*6!ұ#;v, 7Ƚ`㒡VBnR) +pSm4P@7`mO>5rb +7ѶeΣ]Uj?B +Tj.jLuL2f&.Of\ "VSe9({70'h{_=@Lsj4z'J)Ӛ]R&X50., Z01͸$HfN*1ϑ. 7O)cDs]DTyj +;˖C Tt?=']WS'`&~S!~4dB#;ɗ1`ד vkGI  A vt#^w/i߸Lp0r48sVU䣠,|֘W$}F4e<1öAǶ3țDhŚs )]ۆ kܗ1E#+_XPJi&ӳ a$fRԤzk47H[< +zTTju&m4K<Ԙy?9֒L ~z޽oy8ܢ bMUx`GrX_=dI"`"eȧCҍ@d(l6<:Y Ah#Oe K.5pi10pSQkajcB'M ?k+ 4$ L5ŽuDw% bt 3ak'U;OM]٥g5qw+!̃|?쀢*l|L(faudF'}8̜1|b0(>Khj`ۨ{ A|e?XژO񊂓2A {O_S# @gc:#{'Ϡo =Pe^Dwq+$o rQ v<[| 9Ɉ }}LbШ"I)tZte$ 2E\)Q4A iTXƸ&c[Ϻ7i{Y\iL8ZSLCbO(,CM#lҚSpvt`(ۅ[=؅,]sA=!<ԁGΊ83/4AGX)P\-)0@(v#!7kđh•CyHH}<VK7yu#r3&5oWi#l>dʡnMqcp8$0k"S`kPK4ԧEIYgPB9lXG u p{Q)+M+HrdR=&:ϋ_A I70)oSz 9"bC>6d6D}*z|n+RΫ~9pRG(]W*҈Q_^#<8 x"McN8_sQuSUo7< +&Yэ$g.vlpNJ"9ZzsbTp BG.-ԑS"sA4iiGOHߘRB\:Uԟ=*&$ռ*;?C +pL9\#ڧ p6 9`Ә|s<IÊ>:{!\98*S1 9lZ,MϿПysSJ.%) X,q7D %Z;I{N>γE1$Y{/dfZx֭ P_B1叚7w`.Na|%|t4QzoF?N1 Ys +:PrY +o6S0;{jZFa(+7)],nr` ?꠬wY92z֥?qGtw4B]<@0g,vNi2]? GO$J)b J} `aPaN⎙td*L.F;_1yJ_L-K+"rS x>OΈr!HN?D@ SXU׸`s..Ơ^VEVdn};OЯJUG~^%ǿƅWLh4$'|"=9:JvC|'c$'Hm +ٸ8rt޹]M?֞a-ړ&, GsS{l ڛ$b<9r0=MEnl`՞F?u2dvY# ])Ab[2 3G_:1Q-9n VYͦ501g7 \&PcybF@a/!!șV4<2ymTf.*PJ([hI҆?0Ӷ呟w%wIUV!owχ8OSy-%FWaw^NR + "ۦ yb;7J^5Ve&Pq~=LG.[H.e +VWc0IQ+KʕapXQ#(pAg *32_e-ưRl/!rG|6܌sV +úUۜ@i~V՝{ըY(g 3`gp2DZ%Rfaj6l6èsW=6+b*Kev-zOlD{|SNPgM);|VUUIMᆋC+?ua +ƄФG+A(ϻā1Jᆉ,{q )fcf; \0d7cq% ^/; fԼunIP^ o +W &9}zEz[W cK3XnfQwE߭B= 1Y=ld)9yS(TOksu*9A ,b,QM阧BsA4HY7Kw|J\V¤Klv fT&&JbrNT4JfsAdoj!"qIZ9t&X +xc $gx[Xs;H: nS9\a yz@SPU9I|iT ˿=u'إXbuW:'i\B+߇/nwD7]euu(DuL޵1pmu^W_ \[1zE[ =Km "j Pk- +.=3i#C&Uj$dI*֗BgiWs=Bv˵Kͨy;}_,dKޖu0rBJ%TGA<m{8T`m6qAo," +瀀G-j*tKB=c$ԍԕ[o5 B5 ƍ'&sF%1A/֑д 1se`g!<ЩnT:ʊaPB/Tm-u"Iwig@jA}F$fJ_m$Cv(+3ށjsiLc;!bHkX_ [R\C +%*5>Y>u7 +QWp' juP27EԼlJ욨߀S~^d8@o Z[,ěr̤nT)SI &-zFAhQqQj?{~:)qy^* |\1p I0&S +*ͱ΃ևd7O>RuǴ,ۋs bqg y _#9 2Q&B -}r=*rbzp e.Oŏ"TYjhY=JD$h-MQʛ'xJA.uEO-VP*P׉woNVz8 >S|hn, ,wyrR^)V{ ~79F0ZY4EWg}f3s kM +ۻA]Clx眡6= Tr-+2 tr٩ORLв7'\Ƅ<2J<=<9J cHjLط Ǩ;akb>n$.oibqܺq!oǤm*5|7@Ca &Ky1x:'<;48DC}s޺`,U 8nh[E(}y\AYd\hQݐi֫8TAU $r Q }St _8b[Rpn강Ae2$FiE7ц1@Lk6I媠Gɯ*08! Ӷ+1y}pWYC5;(&`g6#1 8Dpk6ø84_t|[deaɢdTa$z:$KEYuih[:6oUX7O$8.鄫3Oٸyz2ܚ&D}j A\Rso($&% J,z!m +!ݵb>_؅,HFo!3ʗwnun=n@G8 Wy-=8fB*/絧Kɉ%0n] 4RK*C{,Uy.X(kZ v R(6qhHl`sLhzBN-y:26Xۓ&aAAnJh*V۵gP>waenE{G-Qshl@s +5EǷ&.;R ѹb!MAǃ~8 59k6w K4;-wܷ.ɲʒ@6ne&TZl2^;B +@^?mg"@ Lst +( 4a6'0hcf{?ǭ>{hV- +J<y2iF*fw5v5; i(:cr#k +)h8$e|H6{pOqhY0ٔ5{"w +L2SB0i?.2;eNȾziYl;WYD,TdF~k+h4D +XY^nAT¢]Ɋ(F-]ܞڵbдr+Nd۬>ʽ06[1`L=f +n#$lc.nc3ҿ4 +C;ɤkKCRƒ' {{dX?|Ez&~'cf,H悔ՠC!:EH4z&}.;hF ?g8JS/K/a ,8_"cw^LHˬrT[)IĔml~\eF_ 1—gH$kAV@Â:L;aꌱKa+ySOD+.ۧqbX,'oAlQdjj1!!>/ |>Xw#(wٝj7,0`64HkʓEp?q=C2ͫ:F֏/6,B٪1vNlQ{VB5ހ 8YuE ,2:`WF #4VP(υc.xqPI{Cp4*}-ez +Pg̞bdSAXgyl6&dolg4w?^lOm2/Qu9]RE))v*VȖf]8T/aACr+%UzZ.@F EfYXYap"C׀pȁj<`+d<,]P62;x~zty?%2%o"&lj 4Hw*E6rva*_(E^Nq PGtຝ?[C62_`, k8bn$mJ,{Gv/k,w3F"+ 䅈Lk*gUT z &O=!%Ra 쨱 A)"}a}0ǗGZߜ[*ZXԐn3O) +TWq*1klUwY.HeơcmH?TP[$4^h[`$͸@ M44xFɘp7HIUWO40z;Nn{ҁ?Sv؏(u2bJ8X2]̅DbX,eHbv-a?J8d76%i#i؋Q, ;G.@#t1=u4[<,-{tLqm߅RAVfa]PiD䡘 +lzVY!6R%-{%xx4O{I5%Th~* G.vj +`1M:ݛ.i9tDhta4֚8;C]#d7Ȥ#\ #r6 JdM"kB r=W1 +')F%Yy~2%-U1Q;]1~"uF;`{1j `?u6-T=H@r9OT!KpsWXE)|}7Hr136 PD)Cp:Lf^A+Q/y\(AEΡ" Ý#1'']" qj'c?/5^)X1Mn`$YJXxzYv-vz+-+.$|Vx1X_J!0`D zle`}inhێ:"Jdjv+h@ +=LX.ĠI7/2(!섻,Ff/Tf1k)ފ9IpԢg  ƈ98;X<[o!,a 6TU)(.*1sҢ&%ezև"t\lhFy^êyjqHCṿ0P쬰9ĻO󷉏c`aQwn.s3@Xɀ֛y BU2i tQ>XC'$* 2Ϩ'6wwO:r/[T{?Шz{2͋̎'=CG1ZP `\!lK3VK0 R@Mlaǎ,Ů,!z0B4}盬f o-—Ns+'A׸0CFM"?5b&T $ azb/Yɉ,TO`n?y@RUEKN)B +ǖwRY:kMaS$p(3ŕњ0o&(@NK1|ăڅK2>+DBuda.p +ꈋ +L$H`)CbǔMֳ'vv{.a_h)o\ʃ&'uɴ?3 9ؠI90aFʆ|Wqb uBy=}}X~ pZ\41#UU⦃W"-i)@JĔEozq?dĎ?y=5OҥQy2ܖۛg-=BR6,[iӪa8574J_*Ql1b;:[*hlBm.?o+R2 MEknuT"j5V[!9!-nlHI?vU 3C$ģċC ;mٯ/9Yz%ܨR+ +Og:mLPxjO$z"T"7-r I{  82D+ejeXyT[{oʹl5!ww,\uU8~]롷e6z3%Җ.{%nj + )=L Q건<$gؠ,P/)It g. +nm}y|X,T/aZC8nv* |êCNFamwfɋ%ؿ$OK f# IfUDCQ J_.YT}z[ +{R$MIUƏ`Bb+PnLB$ת6#V-"IJ 2Y!{#Ԡ+H 6Dη$0//be#lڸC|}+3fyG[jd8mH7(꬇~{e-l.$QpB} +;S;ʝbѕr ie fT<6s@G +]T@a<{/0Clytg[=zOm|by]` 2; <3~f݊_RǷXͧ ȺVuK[LjσP]L6Psl׌&^`0B MԚ$c{KN L`x Уwem<}!B j +92  * !J>% =2/E3Ydyn.Jaf4o7a7SM\ɷʆlZTD.@ b@bW SsKZa 0|^B t"FMǡdmjBT)ˢF=d<- +ͨL}yB*.x!$Ef]w_*Q.? َhI)a_ҩďSEh9̇Kq6'īo ?60^ܳmX@DJH Ub\%_֠s$:rPD!GR]"4aļC.ֲxчV |g lrc"xXux(YYtjƿkI6[OBh]$ ' +, \CqaA!J~X4czxbK!"Ea^O:JYn6~Z}l'S#w'SUAD = ǔ +wrSabآ + b B|?OqO%\P|v1[0Ji#WLaDƥO=o8Ħc[,oG^.Lqa{Y ri frK-m^4:Fl{$[z3iW$bcC#tçE^JIG#"C2ڪX/I4FV+s'dO6 j͑0${qlm4A=#&_" A@s4,k LR|lP* s12nA!n9RPQB[$>rzo'p;rl>%G(u | +{ ىA{p[>KT]UVg#Qw49ci (C *)47FPg#"|رC´ .<3lTdF҈,ۈNiqc@YM3 q(̧zC>!˱)2Ԑ'9W=kM<;7/QgraܶP%cbTOs7)pޤˌ8ye=*а":^_bPvC+n +?xA lIF#[|3"!L /ͻ3MF~ + d4ﮨZ"\nRQỸt}5$@b&ijI%, #0h;2 "Ʉԉ(CD ֲkz1[ H2bvV(3uulI2%'*> +5;;/NЊ&)FLh,}m61.|[cSn9Bp;.Say{L]fXDCK qqc.Da\yYy.8x,*"O) ++l RB7 +(K]~/zBprzxuJY W懼"m]ihܣq`0%ϣxC<92hL$Dz5zCf`dxDꘚ\H9qTRղ÷aF)܋ Z=RŪrUƀ,4aX!NajK#С NE "\l;*9CthF:O"VpcZlw}=p6x^%##E~^C%ʭXڀ9$V z-5&Q!]9EA' WY~Z&dЕnJ:|% +/Čb/+j7:N#~n_ZHcȍQzxDI +! +7ܑvәVywb4sWE-ĭڐ+"-F!S)G^D/Ţh[Z&R}zAE6E*yJ612qJ2?S߰FoPibz( ]zSĜ<NfXM  +V݄J:{a|SrʭIk! ndȮԔPMhV{E/Fk4Dt.\r G3fDaW40dZ$ܫȫQ T#ʩO( {^s!rB$sg^Gn1kĠ^OFaSo2[A +twM|)"(ݮ2cw)csHHKdRg0=B_5>\3г@aGo+)Y0g6zB2H +|Y"i\PSrEyV%;k#ˏ)V姄4̴Gw:g0 +/m$P/Ř_+)Ŧxd*)Ɗ/@aYۚ72y0LA+KM8PMEW8U&b5ljIPujbpٚq3^"v+d<1.╂rEKDTo.% ۵tnar:-n8!Z-==$)S UF#Ql}$" &l,HyT24"5N(nHS%PIe,[7?u4j>ą] +2<Ÿ/ uX&&+JYVָCNOPw֟̄ Ob6^aky ZoB75Vi5rWq[+8 ]EbCOl79eL$tG/z$be@DйD\H|%lSCK8E#7g%0 Qǒ"- #u΍Cx J3ƉoŴ(@"-ӊ/lt=*da[Vucu_Ӆloo)9LQavcwpXwysMِ MJrt\:2# oPMHg$* !5lCI!ĿyIgoĝґ?:Ĉ#\m0|wE i/SҒ[l<|i$ j?'I^/&kv21'k|r!rH&) c mHx’7` ]0w d52Ʊ2=0Zuz1ACc!$낷haZpJa nұM](YDlc +)1O*}dqxUG&y5P |P]atv- `=s4|%CH&MZYjz.yl0#RBQ*"BGzem0 erR\`#͐n҂ MVU +pcΩ^55hka7E+fDz|foeȱ+ ځq$̗RAė؃chݦ򦄫"WȘZ#ql\Mƍ8eyFzLLnq'ɺay[#/(ӚH+kӭ2+f5,ssb=i&ҸAnw'LpQ~422[8m@1[k M<>Ǖx}:)Cu |~E^1 ~}ܘ-5(C峓RԘz~aӠ {2 ?, 6S\|צ?k^q"S탙}:t* +Yǜ:N=?~W(m'zGF6D QzZ>fgJrP"4~Ukb.gi(@ .Wт 8TBX]uQAÿ, Lgسw<2G`dh\ l8 K3ONdhȳ|+L?BiX. JEBʀ{o O~xLZ,{I`a>%fc"Tuۺys~yEۂB,U[wEd#Tlbe7K!"+Rxaom%[j'3JĖ;cDlPRR*víc'k˙۶L(D<_ KRnϨGs*& E0$)CX^'SzS,'E8EcB̤Z0ˬaS,Ub-M$&? VH!`04eF5.r[zjK9I3) `bۆXCSat=Fm@z &CJD+!)E, ]3*%A+hh0t8 bhݟ!h(MW2Qt>æQ% A%8uO ē be}[Aj8q4o//lyKb@jqlqEFrSHFvpb@Sjnp-̑sRHvݧwIF|G#\ \ AHÀ('Mwt!CNW&z +t ;w6 )̅9U =qKdGgyCz)&/&^l!x-O;~#<. o2k#'!GF*E}bVK¦ĂRdC~v V̚HtE!C.03,xБcبEB0n7ԭG,esHI, ]/ +ȝ}&!S0)Oӧn'@ +Ͱ&9X tsA'y?,n9ՒUxU}ըS.J/! oƢ} m+RWsN31kZ 6`~\@Cx |K,?z"2 +ad^؏MBfh\kK͡a +M֑%u:nŊz +,N_*/ 9}E#u + +s3A;$KEK{a,M|C&dk`oHf #,Xfe׈$OL*3lY 3$gq9^E`t`K2k}ԗJlGPx'llDb+fjRE=Izh\]@V"&z|Rc[,j^fK?b X6p˨pGXD-YӎgԖB?"҂Yi<qHc[ahGbׁml#,r)viPA4lHsH N.*GF.(T7d6!BCe Ѭ==qAv,t-M5Ǝ.N #,>CFsn-& W50WVEeMR6F{m91R碬/wH3(EL\XYACtZ%{m[HM؋Av6=3co-vr77ˏZLHbAqֱLҊ)w ϲ+ a$;AkK5xzrYٺ+'J*#ŔYA`;\>$ݮqlNsVc :&Q] kC9F,us'Mƅ \(9@ţ45-jB%JZd5} ͨOg\ty O/*<B;Ħxr# +$ 8(_k.)1yʦX2h>ǰ?'SEIh򫅺Hz WN6G< +gVQLj,7mvQe7^?I$ƗҖMKEتK}!`-”$/W+{H˨rDKg"G+17t :[l^Qn8f%G{nx6$h#I,]ekz*jڵ| wpL $/G!~بD.kd fq EF)U?BfXъ˴؊,`}nވvG\.!JCnwDT:9$y7ߜ2d$.I;@M*$f4+OT؋*XI9Ng>!N]ӈ+š*n-zF +1oN!V-R`o%A ^a^\tsff%FuQ5 i<=}/,(00Frl;8LGaHRP~$E`Ƌ+%jL1'ǑqrI).m$|(B-\=W3I^V$|I,`,8Q <"e>oLS/dN)EQ[LxA,NA"St] $W V.`O +Xm gQwyKo2,c9e(i-[`u }û26?0:m!^扜gv׸G F_JU;ab/5u!O2}t[|m!ȬN%LCMG::<`< [XBAa*b a7Ƶ٘IcQ8;|`p'\p-iazp^g!m=/ŖR0Q`d"o)"<3dz[5B"hxxMOq䎸|]HNC]>r) $HUwIsb$Na#)E\b[g]A&|c+̒S+ y`?͉YUs&t}Ae"o? "H@ HwƧdAOYT; mMG(4mW b]$|zh#]%ܥpS^h2axR/=\6DO$,؀[f|IJ3M 69C֙<4gQ)YY1@;KWF?R2 k63inpAenq/V!J,[|0DmΝ纂l,I5HU$rޒT9h|<0VIHJL\1eZ>_T&:rO-"dt5â|KƔ#6>ߵȸ t-#y;So#d箐J,w;Tb:jlWQyS/7!~@CX:D<4o1B.`#6C%Lڙ01\ +"i!@rT D~% ਽)9]e +"^i%%'һb?Zl2<Ŕ՞F\NXE){!?hLJ 9^4!*qZ ;ؽ$.ҋj{؍1<\Bg;hn|_mI!^n' MxVp6r΀=fJ~TfE t%^ZqV6Jn/pA.W<3$*Jy #l}{_)\?O>RZD0"44X]~7~OOp +ԜDjZCNU !RT{Kd/Lv_G):bAEN1 + C!Gowzֶg•ڹLB:6D`ɦ1E0EXB5ԊǬjL|I9cq%j=5 ƲLSV"jCq %Gk۹iH芵68փ1z2 "ўZ,IЧX>B -G- +R$(ټ!-n|珐?g+^D%Рم/?Zr?Xt%j$+$T3fs/φO2)ega؞bYr_PVF|21OӪ ʎ +^A+-|{ t>ʬs ^ -SseSo'_'糜W4@C{֔R{l;dWaTe~w %u*U'V+J)O=|%C;W o{F + o#C/[_b估. .2Qe Zuӟ?//~??O?O۟?__ލU`jɈny*,tj>}fIҏ4ҽ*7F[8}SB`_FF(*|33oc$sR܅6RSu*i%B qC]ȊYKq);Y`7=jNb=.OB i o%ˮ;&y%<6w0~qֲbps 2)od $ Nzu٤O|u)Tz^C(K,J2n8!8-!'UhuKX⣿!j2q%GxɫQQ?~Lf|; wq!$Y> 'bJNG-+K?+]YQ-]I?'_GfSo@3̾Fw>LEђKpd^eV{u?ZV-+K' ٢DJSv22hA%M'CwX,eMMpGeH C)$=-Fh2&q +.(%#:TK-'_9!@Y + @,$L%fe]R5ZmfA#!mӿESؗTiN)LFzx 31q"1,r  iy[u|uݶ$q:@Uw$@12<\]]Bh\#nvmy a *&ZU,Tf izr-iSx)Y} J%מkmZ8HSe6 DJl2˜X1G9Ȕd6kO\6Lk*$1mpbWy Lo?-+gab +SwAA鐷8x~EeSNWh>hlb5S Cȱvcڨ Z嚞eUp6>ĿzC*d"8pF83թ6tMGHsQǫ#@r_e]\%][/$2QD w"`)$)Lle;\EQ!~cD +O†n\90zRB+Dhfal@{.ڪŀuuE#[ȐD8/\}_{(x1p08Jyk1.V+cqlTd&1)mGMRBnƋTyUiԻ_X=b ylrC{ZiIYʝbx֖X@%>Z?`l0%2ke5vE}tt^)L&z6ken6 j@F)Nc!qGlx-[A>WGK|{N&WWGo 5D z5O>b&.y:A "-R$_d@VСQhvdدeV^镖%@yCՉ~!@V +C [֧8(Pm phErF Z\l;kQL{8P/|'eIq,moƥC?BFnˈG= .ޭWttUg2c>0Mnj6 Lǔfy 5[8~U-Qs*񠠌 /qP+8o%.R4[WZ˙Sj# ;$Ub4WK6QႴfLC(clεaK;q̦1+z[kݙ(-Ra0ٟj͞ +p@v A+1 + J$*CJ /VM&ֆ .]x^(e3d'g<))Yfي0}kɞ} M$! _SB3;OIJՁƖW^mbpYEu-z9SE`7yuh۱J}³]|L+F’%̡ٺw:TgN&9Г`dO(x :W,eă!b55 J湞m4P@V,ުk"Tq.wQn"ْlϼ)6$tPj Ëj24c_+xl #iY-ԁ͔e + +jc#U`gRR +N@8^[:0ok FDfڔ/*m^%l^ٮ2u, +ﶣvc!d3w=VdCe +>Wy̬6TIԨ\`[k|׸n3l@Vb 12!N/⨚vVJ< P_1]L)*<ᙾ_F6t  -̙)$y]Fl\ܤ^ OҲDQ ]XT!8K ۢ#"^ngՙq4lsQ2L7S{AMw(t2 +(_JG(3kW?Wd֚M HRT^m- lK^EB5J0aZ'D`7߾D}u'+vYRTtw?.rߔJd%@Q@0Rx8ѤdVxpv-C8Ż2HOD9l/vk(3 Y9*ׂ#ߨpb~FWĒL|" +P\2C}51bQGh&=)PO]:(xQp (:X1bIṬkaVgtx[tt{[XhLª„$~Jt +% +=as\84c[BjX| KLaM$wWǡHiXlG̲q@)|bƋJbwhc^F&s i-!fM$ +$ǂ6_~/D`f +Ɉl  Mo7:#6KbRKEnLt6S e8&&p.6N}wǿ:յDØMT@Twn#Ŀ$PIeY$lE>ՇYC)r 3NF1a(bc2ẄE9G;3o$N9ى> a|ȦY:+tCK4{bJAJ>݄PX1 FVb_e;_ڄxpDupM߻[PH~} +|ΖG ۛ_*'t`-Xا;@;Xr!6_vKg:rhJjމr?X) ۍ+#T\!K9tonIL!\3/ctT3@o,F]^ +3V_Ҋ'":9 "$ZΪXEE4}Ad5jT4:bg;Bv'Kk/*1oU*5ϸ$MBۊT-Q@8x$&d*޲1kf6T`+kFsE/Q:Ƀw,>[d5Q|^J1Ĉ5L B>?~C2^\08GA(b\-UH/?o@ӺNFǞC$_v }' r/|G ]'l2ۻbJV ^Oˑ5|2H9n@z?ֻRoq yqoeqlPVI99`R_?q$w6;HcŵN3Ɓ\U(TCm.&,䨎>%1f}6:=N1{}|NƊW,~PihZUp;/)Y!*j~{4g׺ Đ}ȯVgy8Rb aQ\1=lݠ`uScuO[T y]>9x\kHBƶNn 1yX3 )_6C1Bɂh3/ŮǠՈjD*~>{tVhy'2SpW"PE-^g~QlA` <.3p38 "3x;{c8en/]\J!#S /a0ij`~mnFn2cRKgVJY1v`f6?bRY o&v,qA?xDaQ;ף rq_hDXjUh0SzeoFk<*[f.y: Ml-zotuA32jE +c ; U+J@ज़o k6ci!W]x9M*V xἒY At"s߮wX>6L :-1ʐ^tc{Ӎ*}lDVV[bޠN,-Mܞ)7lZtg) +8ha +ҕA-c5TI_>_|h gϮQ8| AzY`h+҈3%[-}}SX]`~$JQ +dzrd)y5Vۚ:*V`47uX:cq3A5 +C^9"kLZLJqj,R]y( 帙2dj*řϚ;| \3ɦh*^Re]U.%U%ɀ`r&.?繅):*/4bH0Pjtod7BdwFGB%QۯSg3^ >XƧk>JsSKr- +4pTɣstSj m +xf#i=VT^gE !z]]8MҷJe.ب U'Q]ށ%\?ok[r} X&efBٰM"-ߧƨ9{sKlŊlһV?hM-i~8D3;_ggy-QR=t&>\ɮ2!ur"IN]9x=4 9$ҩ,&̽tM6 kkpGG|16K +ǫ jx*"t~!oF=1m+rG"Z9EN[ӬCJ PKg)Gb?.yYB_&*P?JqVk?ʥLs^LtOƙ-$/anvg g|B O>çK߭v1E?xOꔍ)2D ^.`=l'7D|@-ǧE/Y/Oۯ +7.~_E +~*鉦}o?}?Gd4~_o/{Ծ鰟_E^=󄣞Oا߱pռ Q~\EG E48@(m|ae.b#z8 s`d?l+1 kp%PRp?OMBFDx(\|*!xcUU E3n$dk!u7ǩ.% +KEm;Pv}9 W>o m~循 'ߟ5Qa +vHWUP(g5u(#GExn"l둬E(#g@Sj~,w"{q r =fϐ7LO4 An,hQ&m^j-}[0̟VlJ0Pz%؜m +F~Q's-_!ARsk:!2 +Yd FTo=/b{7|w~wl=R3QHbD[JmJ|j "<#NHMVR`0F%֝{UKm=)7Spդ;-#5#h-d+c" 9yʏQr>:r|}p\Zh{ W s;!Ude1`T2 s$WXarWy[q\{M 9붾l;;Ýu!cMKX?[Q-`PpDK0CyB돿GF +MNfI\P~/Lw$a0iB -~Kֻ1=ĠJU}cے#]bLjk[קi# "nUiD3 +&0AO[w:oX\h4P +I(V>Wk#HѰTssw!}WUz.X4 [W pF!qc!l)?gƨ.&*Rz]^zu_WlOH#/1:A1>bͪ%p,[76/CP{I+5t\3ĵkB$2 R+xf7|)H\lMBH: Ρzg<0?CK y-`_+(evyZ̸ɾf3/:yHKן倪N 3U)]ب Жwa!eO!8N" Oa״t |&9CWUıĘt%0g`TA[{-H3u(hC^w-uz-cqW{5Zd[KF\WHKߪ,+ާ#rA?T_|4hw߬(i*‡]C >5>P;o_|S]_'}44˭'_C |'p@cpCXs38-8E^!Ị.;5Mʞ`g&ƁͶmF=d@eۮF=i!]PC'D/}1d-۶ᕮm-k~|/ƷtSbo4")>Փڠ|#)Z b'zsSa)4+?6ϑNe$ItaǮ! % +bJ 7_|QDҞ}`P~YeAkܶ s`#ȻB 5"@"ٗbHK6ZS5V,h+21? DvᣂOvPL *};~ק2`gs|V=AEgP<nK*>h +1b.)#XFRwنU]Nl3 +V(b%o{)9F +z.N( hB1 " ӧ~K#fq +A)hK]<:H,w\UR#=_l3Z?m`0#iɧq]Aq"8* @=W[@PN P| U`|Cċ$cȾ>h0R8ӗd6^W%znQPW C$!G +/үHEfx4#R@t]M 44< 6j*~$64ޟC +˖o~Ե4_E_C- 9>0ƙ. h c%UX4W"%%|Wǟ OH}ЊRŶ-b/}Ww9 >H*AvT񋺎?oJ%zIx_c> Q&A WWjw{>(1X _|ٶĢɀBOc޿kF*2Pw +"Z\&= +rB4ֺUuJA+E;K謵N/`;0T[OHjJb%= uw;8cqo<@QBc{OPL.Ɉzoxg CQr*5IGT^AvzjyW,,ڿuud2kDZ0*Afޭ`B +4^xwvO>G)q`~nJp !xb %K9#U||˯?Da?YV2r}/\5+oO|7_bLڼǾWJ,u*VQ>(=W$H p=hrYs& "mj̷WM}ddid6}^gD!6'^m*RUYUj9I>')ѱķ+`B a钾 +jlF ދT _7[7wK}**W1'^]k$99w%.H)0_T +k劭Vٝv]a%ykN %&4&.eLo-8ަ!WG$eX8Y QB熸9Y髕)dDw7.^#a*^N8U go0a$ѹZ9zHdڲtq՚{} lW}H:ȴb2޼ =m ."v> ]'&/NIʭ޷cɺf( .>XyGۤIj#ð_aNۊ'k"=r0E!i9ǘqnKJt*ū7N$~[)ej$fl+8ipm(Bʹ2kǽbyTv,Q|OPTJ*~*X߾9z&u݂& E(qA#,Cs@%KZ}%gr|=FA[9ER\ښIss)E{Z/q=XJ[Fv$Tf{Рp&DQNhQy.(3p#D~3 +%t2J!uYG/9 kG:4 +&"*] 铭})IDydVmҔ6FS'ghnk0R}eU='ȸxf*4` Ef8BY$-D$ #?HȞMFW/]B&8C4R4KTȰY§8+mWw@A `uh*m^9tQr +_~Ԡs]Er)c?C$3he=\+.f>>_SFAOWJW%AR??t, +},̻YgwyyLSw޳\PB9w7o>m1ӏ\O5[=5ﻚRK|U'Rdo[=[^eSݝ='o,2%M)c[3oKX]f+4D3Q<ʕ2: Z]}J۰FܻV[K- K%Te{22 #eOL#y'w$ Q>{FBGE^n>~t{ס PYoio7D跽goZ%}~ҾX~_'oN?ֿ+o~O_ǧ ݏoww?/ő L1}7M~~Ïڍ߿~~r?_?7,_7n?|Wkӟ7?qCE?==6__6~䉆m_oWTϕh?[gK\ /uH_$w.S{UFQP|EAk'\x,},sGRh1-4420c 4P ƔZczrupxhr ;@ue;Z|15ˎ5ʣ,{T5=A!n1 VkI0 \Kylp.WCA+} $DDjI#|0BodÆ"-[:hj5}}wwC-x*BjݶzMb^>|t] + * g;Qj}><лbn2G +;+^LKa_ʃWV]M_AV +6hߢnGM]/$'V,r@vy)e mh-tzpY[{c-cSZY= +y 4< r Hz( +>X# $ps'P0F +&F0 68EaIQ Mq!Ơ{߳ch#J +F3˚Hf~] Ar=8DK+9aZE}3> l QXdبӪǑ$|~D^EBz"9'5kAUB0="D&+ o__+Z+Mձ4IV89_NYh+W!bcN! 4Z_MMyS`Y,M%hAqFwm^O͋9yI 3AR$eHQ k^_\v~Ծ+x?5{_EojL[_iǠ! l'P÷5Pp~w7@Ƴζu•KDJmxF!E>H-} O!i+fz^_uj; +H_A-&gTu*IJms3^Ňf; 6{Kg}+#8A@xZk I;ҭ+x%bDh~x_vN=0s`(L%6J*ʃcl0(ԯɕF0׎=1qFA%XFSq[ pqy! ?! 9!nэDNиQR & _]Na +Rp!}LnQ{?vVan~ܬq_!r|mT\\$u{= 8d?;v +B}U{qJr?F}pqɎ=8|gr [q})7knS5%> +endstream endobj 342 0 obj <>stream +S[˂nm; ,b($H){bG@($/C[bW3D}Ê^B +rDeZ`F (g' +dyneW蘛MPc9Z)(g`pVaYYDwxBYlxlطYe:D; dCܻ^Yeԋy*b\j8YzEp3.FGV./= [T.莏ٽ'6E+fi,%y^䈲hR9H8Z#a }h=)SUtlXy+ uGfgGB Ei18eG]ûE^|E6 }u`tSzpX38xYpA4W0HְVFWF:6Y=y*lyupUIkoB}U `;DwOgars\[Y uĸ-f+H1:`Տ +ʼ\`r}j!X&)qd >Q\At{CXff]AZ[J{N +sU Z weL$ +d Va bcA/,^-P+顮Yϻ{Э2 wDWH+f"CÍ!d7A213\NX82e+V幵;9y{/ӡNoA7n`AiŲXLl}PHEQR@<s:mDh0ToO4oBN7li9(N!XNQaW Kn*8-fQ`Uba7kd" mn!Wr$in_S [J[*aZC?;m6qfTheW nYWvܹފDXyvӜ(USGgڅ']]5l l?]cE . x%4Qe彈X4^o]U3cvIyjҊXXTʟ*'Sn~d]J# DkDFx6G`/fzC_ZN4_C\Ij!x%rH!7t*JC v\AV.tgE @)^ f ܻ̀95Sܻe2{C#s Tw쵮{$RwV6bGo +i& q-O)GF[5`hi&0SB{7ašZ~ 40%;IHh0|dQdp~;+Q\'zEXy@^_l c7 KVbn +L_riqׅ,9^<xg Tww?jW8h d8ZVu0"V#; :C4tr~#eP[q"&hc4yQU׶*`hrbh"o~x ~LQNThc#TE^*){N#0PM4={ 9&Def- az-:rFzc -*=H{`@ۧ꺯m^EΤd +TK8wId9>X1mxaWQ d ufK8Zˢ#fGj$.2!; 4:Q ,X(UW*)"aۨ#$"$4dѠTۚ+m1:>qyn~zP3y&Q"cźlY5{Z ;.S(lj"옥z qEH%CGcTKP Ԓ(NNA)dNvμфZOP22*S|DPI0 H /ȤfEثE vaL]=ɑA3oL6AVѹUg,l+\2DZݽR~hZk-`:-j@So5vh"o_3KRU*)KݖvW Λs| ; )K:y?Fi9X.#|Ġ=\ TP _ue]calP"ٚxpBo=s|%fI$ENL ȈC`8I_ͭncC,׿xSPs׏{Ʃ<$R^z/2])gl6]w"x"H5')ʤez|udL_'אl". l <" {N=V%򣋊fOds,Y *oxZ33ͳ[ gk|z3;"Hld7߸^TH[+D-K2E:|V6 +o w0^srVB6/M~ "% %TU8 Aw#(z9J$Ӱ$SU =J?Kre^`f<,{oFFvgQxA/" kپlLJ+0 Ͽ5CB+(VRv>[)Ս!8(nF}1B#`X8P1pm@$t4IU>U!d!\!30jwcnK-w=fk~T ml閦!;sz{%NKՒe4ʉP;{trW7bFDIg18S9H~P3lnP\B@BؗQ@|o3='&:ǣ_B H- +0\}=#yww -x!ә}oNiBM ]Ӆht>_ sf9)o`h^##|twXX]ϊB=kӞN<Tu%n7ׁ^D 0[@aYUk#;AQ%pڑ:Z(qwz\zhb3){KP6 +; =`rq ^ٜz{i4Np&Y \C(^O<|J~'y4ϡ;X+q¾ KW [:֚z[;;u_{G'AI=`TO DwŽZQS-1XI ~;y'b(F ghS/7o>Qcoqo޵-=^t0F)&8#!Q\K" ibX45=~ =ugxmrFr;e/ +`~aOoʻ]2uiDkƲ{Hcha܄DzbP^LlJϙ:4z2ݱI3s)XQjlp\7JwIQ&0q:etY;sDŪBt9=I6%( ZπuV_fOjb#sT&8Ǩ'ިlcJkzq, ]"(1|`Q,FsnntIAQ75rHҷҊNuܽ= +K ?LbMҹOF';\?ڲc.BYojJX"|m)T/41P 'Z4XEA2ΝvTPN,_uEt(JdL$W +K22v.رC¥?݄@L`iS0ƑL :NYIWXA-DJء[v;?0ܑW@uK+lx+&v@DwNRUREjO :tbpZ'E4o/. L!ʈ|T?^hl.m!WsmߪF~ ͔A<>ƥRaO8˘ Ghy }RO}m88J#N*5XȭxȚ@6~ Y 7-? q*F鐜Dwt@XP +!f2`=H'9#O=veL߉84yX?ݔoly]@gNCBE1: $UCkd?IS=^ీpG_ڿ r=#2n'o89$dT\{[ڬ_a]bطNR1xZ!.+!tgmk]V1lӇ(jlK.(Zn2ϯS6 +$'r"fom 0@~G*_[YTb@v%o>$B=$q MΞ>..S+xa?p`?l&ag ೵1W?^9\.H9YGrìh -8АZ Ik;Dn)nQy=Cqz_: v;(^s~QIv匠sUvstShʈ(X}`2&ҀzWx(HIXc*Yll=CFL,"koUrEz`̆,"v]} V3Jmb`AN(>k?XGj&"'е8Ԡ6}[,I&ݗR@cW<P4QPЃMFRvT!- D/d22ڵhч4@-|$W%j Zzk=ģT^<ÎfD> (%[~P:P?]ؓ }kb9  /ϼ'9rR@Ccyw Od n4`kyDB=Lx6١W˜h~Pho.bG:"9>&UUjJMW!-Q*(uFG\ <3L/Z( Xт5`)Iu0 *RC|M{n W. +|WM΃U"l]hF0,PD{& ;9idnck/yVɎ`Z A!;lZǷz;Ŋ|{@\ࣗSڻ'Hܡ >,d5JG:z ʼnF +|uq4ֆ⎁|W@.-dw@ n Z: +nix)wުBW'k-@1CqR,N2X -Pb$m9d'q/zi{ g387޲?"bc=||LO;0Q8B_;$ׇF7 DD@/`).k@)\6&/WuQDfLN#!7P8"g(9]a$ܛF#\pBl h_Þ(!Q/.Ξ^lgzzEh =6&2@:B39o NdS(;\5khtPup_y]l>@v)R;r DoӺ PFz'1yB"='!ʮ'S>50.+&/7۵4< Ϫ"0'=Y@߂ +A.:ǐUA\GRmhquXhS{G3tD;B|wιL.?kme wbg"hqPCEPhcr]BUu K9!e08tϪqvL[Wj̓(݇Z5tN*C8ip!AO6aKC[y#NԩYÌ#ſ800cnr"h:n.WX3(Nw rNU͟[5KT>hq'jpnIT [6WN(;<&nP4ҜfaLkawېs4j>&'W[iMg]Hīy~ao_0ag(ZA¤ e9&7c2A50k#:h-UjX;<^>?yD|Fp&dǸKZ`pR`dW|.[ء_Ͱwq/dz׼' BN`@8a'Lk9U+En +)o-*0@"|m@[yj"9<]N[qб5ĝ!!xYZL#~  VoF6XɕԢ-®cG89xy$!7rvp#е <*=yUJGހSb(iO<@@*3(A0ۣ;>6pԂ=BL"zb&E.#nFsQ?]S[H]rw腲yY=ˆ{y1 +v+CTُ[#ssQBdO7=\cO 8%{G6;7RI.ؔ12H1r&;^R_P +H$&*L⡗h$١ +A,!!BOUT 4~3rC/ʣbbQET Z{513fe^l@tTR-RFi+<~;Cq^R+pLݑbCVޝ +&+A'p'޳D 5*A: +CqIӪ<8gO!9~aߕ1 C`'+jC>!!]Ϡk&_ZӃNU(w@C%#zttGh͘QrRDF/A]厹.==U:n]F(8Y756y}A2HڿձeHY#ē!Jw]]];~<DqleӁl{._D'%{ɻê٦6اŕ]]l@lr=UPۖHϱAJ06Fz] zU(NhIe[C +ij<Ԑ R<MtdQyD0]U^WDW$ +lF#p`#]AȈ& Njp*c:Xu&DÐ< y\4ip'aZspb/U6 Mg&kFM*:`{/?Ď.4li[αOHcP5n6%޽F"1{ +p[U( +3`G۫] ϲ*V;,,;`ebFr' +HYixc<h + HJ;K5Y>@(I'">H'koxZ6c*2Md"6DdsE 5|[$юʷVC<ٽ \ꧯQ 'VV3|Ffn1")F#kwq(%OSUq?2hr06G]/0kP,G˞XX};@csCKd2dw*[L``2ǁs.U7 }Y7肃 >I0R*X8Cyj\M>=nZہS4N4}\V*{yHjZ 4=X#%鐹;9hpNNxWi(z+#(MZ{=2C#J: +P׮N# cK^7 N=T-Z/jz,7 Z{>V5##H&&E Ll k{ AT%[|j.L伤m~Syi )=К BOa28+iEhṇ|JfȣӏE<0lKmBx*8 +@Ί]-`8h0lYb{gԞoQh;27NE* 3]t2ZB/+u̠`lW5v +Bo(gdT:*H\gk.\OЃ˅T0PZIx^a#'$nE_z)2m Í[@Q – cc`WYu*MC<0 cx0. $[":WL'85XH(Ku{SPx$P ܴSP?p=3]6%=)B$R3 C +9edƳͨl{s^eK#ԻG&Ϧ#@T,yC',LOAo߰'9 {j*/cﱃB5 +aXs'#Ŵ^8 ?lGFË/ bTwsYHReIsՒ.^ +U#2W@l+8F+M#=bpO똮e=g`쐫 Жt'6}@WdF@qtd{̎-kjdsL =`6Y@ZkĽnB\S?8R=JԦvI tPv 溳}I4l 1{oEAnj; &dpVGg~ZYj=CM) '"_@󨶱4(^#n4}oᇬdn9¯28-/婺hpv[Y1X+ˑ\iob?I \mA#Be|p> ˓A3ʓ;赥 A `̆f|`Cp#9ǟO7T +;\J[lI6`Cѷmo#(3[8{ACxrA⊰Jn!,Yu}e_E2 &u@&COtJHt +D̶Ylu&Jv =tONmơy;&TXCw7{]ՠbb%}Մ҅'h }V/" ~]bF> ::]5O}yyg@ucزu[e (y *4<&(X,\ٓ7J?*t2ԫVEe塈-|QBbnYj& //G E xiHs^ KkP#i"dр` Ay@sϯ|6^VF{- (`LL#l4wQj Ro3L|d-`hYh(ƟJ$ޛƼxTnyUDd( W`tO {JmuGf{].`W65E\Yd&?dl4Q4!t_5A=u*oс($~,'9SJ(>BКt1#Kk; +M!L50K7NP5^ز$"XS= E:1IP]y¶L @cZٙEY +kxMOvc4ɵtB +DGlz|nm4YT(3N, B'a$;:?@p]kiYh%88p"1܉9*277/u +$Au {V +#Hѥub±mt%4oS7%cQG^ s JLꑈ 7k,4~Hly4o|zBqEmg +6) ϋP|:R>^'Pd]h Wt/;p^ A5kBWP3C[VzQY^0l!60;bc~IԛeUI:d:!z0rxֹZۅ6]8Q': 8'[ )Н|1EfH6GhB:@\ =ttN$f1[ ӒBj |toPs߆xs R~F,"#6~2+S*rT 0_,Gl[-lD# /h4TgũHJg}Piaif+ (ھ$qJSKU3jܑ/8vVY٭>`!˙n QjX$R)n5Hg 8=Q`F1@`N^ ֟d0D Y& Dubם9N 6)!;g!$jUX Ćm]t:]g\]i  +,8'YntE; D ;b!hg`ezlaРFqr\Bmqcř%rM{(5ؗi;8G!q &Qo^z#lv1)hGIQ`Hfq'C"o߰`DIZ#^z ת$a?d.A =o~kk\-Pkͤ1mt#( ږT1C(\7z0kt7I<ڟ\,@SguGDw զŵ5av¦\X@GRa ;)|7Od "CXA*6{$@)Iجom =ێE%hѴ+{. +vgLOxxBq۳_(z&_ۺa{`T4".= +ю"ML@ӴP&^i`ڗ`A])MF=pAUYe״P,d%[5u긕 jtS,$YQs@{N4_vt4t>0& +qfAWޥ?F F-vW$"dD~08mH7tWؚE 4Xʈæv`qFII!0kh0h!J.9^.OP $-t=s(;~1|jQӧȼ" +jC  +āIVTkEZfiAZ+(hvG',;Ci(tEWy%"ԣNl!~TtKVS{;8al /ѽu).i! +Cftp|\Ʒ\ojKg ۈ ɮ!]LҐ1}@MMV&o~"Be;ef6-~u:Cǔ2ȭT^, +C<>GX ">C-@_5}"}?iwZT;7r{N+@(/"W1R2i)=@Ƭ2 n{v-0y9R|P-"w_ڝ[X& hDtTs~bOY]-QĠϕĆLԖ7Op0)"fGfIbU=V`-48`F=uw*\y=;0=jh"^!OhRaVp{HNU dh%7xf#<-*`N QfyYfYUe`1ws#)]A@ C^ȩZŏKO'0 4 !(¡NnAZ3{/V"#3~Ĝ + JPZz!BcZ4ZhF6\Ow6~kMQP7Ɔ`UK(﬌yˆh~+ZhC'Vp*y萤{ZR mE~CEFVń$@G Œ#GnI9%fوɷaRjcBȎ`l4rZ)_mI^ #d( + 2}A`rWeHy[@ wbVĘdzAdHa쀕i@H㎌"$u,?Uڬ1pwrNqMu;~FbNM@aZdjTS<ɷEX9'(U5pL<iadN4HkuU'MX~a4)DwT(O#ΐ؀L(a8Dw\<叚6YKU,yczŕ~aj<@oN-籈J;l7D?^U mUԌz}k,g`7kwtغ4 \& A/o&shG\ˁ48T@&[\͇0`V{B\P*Xve(n:I nž0T8E)p;H'z]NC ıa3Cʨ{Ҿu$LaC2ҴnC.Z + CT=xÉ=S@ +cz[␮.)MWCdc!qg-t2!7T.z9ozRdZpo^Q{%iwF/?x5= @ !+%~],{Ob],M;' ( ]:١spmTj)Nk ;Yu" <$ˮHqVtH;Mw6l{$" k. _[WIb>\9,aM޸#\Vz!`j%d|̙ Vrk@a\V$"E*YA7Wa +E"P^Ok7-C$Ľ + ѓ'p$){S}pP Л&~@rf)tY@| X6#hfH^a&ytLW՘Yb4궞pfOvT /nj^8mHgg W\kW$I?ˀHӄIe50DBA'rT1Κx+P7817$E4q}]̶jdD +-GV GT. sO>/ HB'tzk%X[^`$ I[$B.zVc2z{f}GB,~Qx$WGydnf:t`@7}8~ -V)4?@׍w[9n%=l};+ +D6 (pv'66kR΢,0j~$ZF5S:xUKLi5  +RAp?YpFE "X ޡtiBTߓ2*"Krߵ+65v}p4]o&t;b Pi`M#yWQ]{W|{d8bs*uR1OztߪÞ /PdَOE%l(R/cq Hwpv@,mxr B-\qH@כZcćD[A~=,"+Ye]CSoL{sDO*;guC`,B;;wxzYoڂLNC ^Zɬ:頻aUle%ՆHI>I]v)jv4< +E( (P+X`\Y\2E kx'E[R AмB:8M_]+&@bC,N_y C %22r5g>[7)8b4WqH'X- )rDz* Khܱm 52A/PA@乪(Q7]QZJLB'^umuEr; >XDi4'E`;BK*.T{en1֪@ #ZqpnvMv +WBC f@y.Vud%?2w[̜(.NVD"uUj;{(wzOąGfy@b(^g,&1E% fX^@ rA# UhPEuK'P.~'Gw2 +(|1E"bJs. +>_b}pU(>B ,^fhMWV*5ۂeNUύ"WLMg]Vwh|Ա^@Bq-0i^! 0EQ>G;pCQ. +*Nv_ޡ +]9Nj"$/eDlx|>|nM D@x+O\Hir׮P(qv ֢=VP@C{o0\gTؑnmb+5 x&-s@īX@sYQ\%ǖ-Pp4&sE8 0`=IJodQ Pqگ8DKE;Zo0FZ!>ͳpWZJv(9[p@դ٠ZN +o~ds&-dL-y6Y(쒨<;&(A+b:ꠐQv B T"Zk{XFCHѓ]ߜՂ +wNzxZqˆRmm3T5XegQvs~j"昘ScRA(_u5_ES# +{;@/);N"ϯ*hmE݀4S>)Zғ*O8ͳK07f${;7E/|42AOu%ԥXND4$'N2 B[v'!݁iJ*†Z8 QX3y:hbR̎o;%0~}EȨ>++!efKb+Fo !wmq ;=8(=K3r%E'p~aOE+vta*A+WO0 2AG,sanx^P(.+V'8Dx̻`Tnƽԗnɇ?0nJ]d5VqE">f5>#D:|&ҐlfLv KX_L䐽I5ێL-6CYSX$RYD|C[r/h0vGF\zK0 ;Qq*3o1%k!q~B+`q$36f ĭj%-ix=!#\[FuGX(B[F~[lY qzI.'B#\(b0FmvYarb(Ծ3,VO(B`prxm߶O=5TT?9NE4;wՉ̞}(bӋh@=XG<$lY +HhfF53r+|v[z{2`jtmy=Dٶ)z՞ijB5H;zʏA:ߢb/j~TS#W,.MێqFuO ¬hi* ZRE j͖ۂ>ɚ d8g=Ә|2oD3d M,-{e]'VkBoqJe{E!C/vxu-V e1w "::]Vu +oÐR_Z/"pd^'x3Nq4 mFŭQ_48.; -=P9nLZCz~Z^tB(\3\[I~",0KՂ6/qϯzU 9'}Xv HKP!3H;~>&#$sT-{G)h,¦QReC+L MXDh.Yo7Y!% +!cU `tM>ߦbU ٜbSH8en!fTN.C6E Rrc^ AV5dFD(P˔IVt"gAM,\šjE&PH +T2vIa DCc&LL0c+EXI`<DEWzx 3 +fB@N{?j_ l1x^W$oO JCkN#gNEF!z wD{ x, |Ah*֪"dùN 2ǽcbgO7lE%~$H \O_أyȈk߈kds`ԑ"H`90uN5pY+1H21$)߶( Sxڶ@9;ONj$͌&9Y2$u_2eD"UYCs Yi"ka{Gs/>xЀv8]G5g2 D<@H9na>i.9+#¸X]ݺkB 5_= c< e;eu ʱECzD1䅄HHp 3_O9j^dI9Д"bd(j*@ĄFV)薫Y7`h#Ec+@k TgH2X}͊2)!Ž#+潡Ti8+ZKaO:#2(Z\#3Ao;9ef-*bꌡpPkH9;b!,# JO jl)p$AW!=A?y55ZȲS!; E~QL3ڃ{tƮlqm"n:cMb](V8!^a@^O- Z^{`8eHA֗/XW0nGed7Jf_Q-MWZsEL%[ã N, C[0Aw w ";P"nk/ATa;YB;CZA{,NvH8 y1ܣqq[A9鑦LhgA:.($۫b>Q9#0'EBx$VKޣpNKؑXz݉~$zEבHDk? Bc!<גK/<4^} .MXWЇ&z .a 7דV<=CfxVO&iUMI +>?N'z`RRz~CqV9׎&'04r@}1=5l^"U ~y {6T@CY(rj\9պndAOe\5ߒ @D$D3=ᆴ5(|)1r%@Ir poBCְYcY!?L7v`}z?O2k:":PݙdĨ6@E܋`Mc %tI&b@_o g+a6ʻ+C_'BOQ#T :?JA4{ȧdwz/(g(v2`N B#.(_%O>@`GKyص&W=L>g:-)X I<|raaP8bXK!QN3Mۆ,D_T]1 Y܇ r)D0L'{2,gSWV8ƞ". <@+ iUM}N2C1]BBY^őCU74_%gdĥ+>4dgHX_($C$p?qZDti𓓦qۑ2d$M3B, LF~ ^ [oI(%N^OwؔS^znJpYnW0k>D6v2W)/(*O81@o_;xDŽxrEo֫h|"vzFLgmN%qq H (P/lFb=>nQmwjfvDzx2|ayh1'jhJ뗯#Azx@{gHDd>浀<6L'!ӚNjޓj"B+gw=dzޡJUH2|*EրިgR9mb SVH4:g AKvo =e+8TAaL^t2pŠc7ǻ[ESD-̒`H4!-yzW ߩ`=N f-k^Cg`*L܎3'MdSp(%0z L85`[4e6v4%'!quBF+̲dݑH懅)jaTJ &!/#np}$Up9D ^lCQR WCXe T/C;%g5Mp<BK ev4B6/!saFFhV\T}B4 n(` bjߴGg8'3,`l(be#+[hlC,zdHƁF*{^ 85վ1 PONfdeE|zg4\@+L̳2|kCK_)*f[>kbyGD[0&$- d,a'Fw9%zjQƚgGim9M1y3ګeX+ +RM6 ZgC`mD`t)SZ DSi@d~1 gNzL1`E| itmN VF|$7﹖r1sP&-+qL +.f٫@|D!@}:+)"Brp!Դc!IX7)ފsgI3J1f7+A L^i T2B˪<_Qv4s5#e\k:+;2@w1Re}2NawǶfF-a}̝,8Ć%ƑAZC9 ^bEAbxz% ]:X*px ٮ>oQjV6a9yzľ)h "{ 1j?c\K|\巴SmE +~X( ,"}-.̦.r}?000v`fU0ufpfCX(دzsVʘ>uq9_T&j;Н@rFռSW,UObsF{Qw)| >RA(m_rdh<4Ic R:cٟ +谠 x gd]K Y(AQTڠ]3I=֯R_97YSkGgflcCŒzU..*3Kt:7W$\0كJf&EC9E42ipXDzt~O0G0*xadO/ͦUú RkF!`z l .:Y8O1»(9EAX̙E ݢ6̋@|/zwɤJSЌBu c|vç\WY!(f!z83ףYᩴ3ԉHHQf5D(3:\bɴK7JW>74Q\;gh)w>ϐaN(Yr]. +`I$KRۖ|;%3*Ӱ0YvfUʚF,nNCCF3 >*28h K7d.$$#c%J56yR›RAPćk$BvG 2iNeU!y~C/c+k@ ^c~mz_Dh0Fm6/UԾ U!d܂QzJsĆ3*TOBv:ͦT Zt]`[CzU  TM4OHEfɧ($Pgh;pk큉Ki=J{0 0tkBDMVVMNcjOO,fгQ#"VDC)@O6`]~gsA)DpIWE<"3h(̉'u:h'%'C?Ia x]rEtc_ ffgEtN;{78`"ȑ}8Z*̠4:2%*XL!ku&zLL~"JS HfTCJQÛPȟertU0Pd4(Ga`^ݬlcF](L񞞿Vrif'15EQ`b9 ׮̂^:GѐZnN]_յYf^W?BŪP򓀳nQY|Y3*X +Auz:ӆ(DgTf~f3ij7yg'{(e V %/YOY˗o}AAAFC{ҠiK?p9}}'_?_~Οӷ{_7/o~_?}/?kѤm!Xs(hlM~&LhGԼ>_(62TOx$i4*Ssv8\l~2I*k".ѤA: xJ8Wر[,I]/eE2CKL [q)\^Q'@m0z}# +]FP U.<2,d.YZ HKS "yΙ +nliH!{3Caj=-!@,C|0A1Md-j?$JAʞO"ʂ'͈l(yueK6MqQ#ط/X3H%Y2`;@+&*[PhW_hxv]g),pG~: + ̫s,fHš Tͮ`Xh]3kOٟBFHVϼ*" KzCQ1iȓȞc/#4?`.o.3ip2AG ؙ8[wk"^]ʛq`IE1!iJ!.;IUgk*w,ݓPI,cע4UG"ߤPhR~NA%}T>'W𠑮y? +6"5〳(@y/'&Б +gg3GQp8D-iߣZ^[ (XB3= &ڜ%ސf0#p@:H +7y5,t rf_@xa  +ZlٶD%AR #p{3F,vm5~ APfڛHZJr/;IS`JA(LՓQbH?̼̒ +ѡ>,Cko@xqό-i$WOw\_kK'>*$ciޜœȨExba`!4Ya$DZu%ũx{,F400*Ez:HB9-&mn`z|Tyi!y'gx=HA'. Ml-n$E(ZG2=~1En0$1oj׋b&δcv)Gxp e ?`Ǣb g)pP bj% yYF43k#5BrM^}0$LN;C$H0da:Y5;I[^!jjֲX5yJf + I Yp}HAFDFA7Lu@eW ڣew% Dz5d|(*1@hgxXНqUQbJ?͆81}MJ+6P+ڸ:T rLOY?Zu1&9,T8"sU7ChG&t Er tMR^ZF|ez>Gq/MkđHDtP!c:BŨkb =xDx@qOtdz :x3a#\ɞ Fk|f AKG}"#ʑأ9m*O!G$SfzVp'4vط! :dA@K2:f, ,I~vlGU;#k;ow^^'d,H44̖UHW22,-ۃC90xRgj<4A6;MkZ + #! +P!^4sC_n8iabq"8CSpU &c嚵 '%!1 +~T^zzH &zFM +IqXWY@^,.E" "^DD̢IP"Epp?xSS|C^E͢`9(dߣ^Cm)sOHȸ&1S(詜%WPFne8r> D c"Nj6-$KpUN뒿:^g49RͽVp0Iѣtv1 ;MnWzxrɠAqmC4mƢՏa zQ>{C)8@l(΢#,6Wp" 7*%W8vAd2R]!gh-6BuEptdD',*/ +@=98vƒ,hqk?M!͞H$WEY6S* Ny]q NS| Xp JN,82pjAKYURp`̇`K[$:u +(r6WgvvtZ;с}~86rʁϿ6-:uw(AD 1pN_(_|:-Byٍ6\ON|\A68?7:PJVMDM}MgU/Tx܇}d%iceUMGǫ_uަK2>2-~J=Á!L!i?/DuZ~2tB@JaJ0^m(!,SxAO?^?=F|<$mzHޭmeha<:*g5өAJi2 ]IRk,P"E=Samwt@Ggo2lkJnj.wG:}|G0'6Zư&&59$kH^@}MC4Y{E ]M HgNE8VU/qU)$3vtF5*^=,ڃ"s3=OQ0͕Ĝ'oe1E9i}¤=sz vɠDs.Q'5"*>@m)fGP"wIzUـzmj (Ie/dR>]k4V<"pM ŔSQ  swx`訬=pɎ}PPh_ zY,; +!e6 0-{?fL pgˀh!2dMRSA+#l9M V݋O;/+@jR8$ %~0[y. oc1BZLGP&g18\ UvH/ga{fGr4[HHTy7mG5퍤(p t + pGdÒ R]2>PL|%9_Yl.pbr tAO XED}mLmvҐGD<6VK+<ȊѲl*>> +:F)*,4 NT/2@\2I!H9QUzXWgXoA] vPE9u$ w6:EuGu;+'x*92}fu Yc?H4:a9#昝`40e+% zreGF`f<&b, XB^{Exld<yE`LZک@[w '-4d(%brz.(.k8^6 9cj ks}Q t xm?s"8!6'ɒFhj=UIy-ә5 +-{?;24L'w(6}}Ghv ifFNGCxQzڬO(y%G'2t>̷z0 HYuFHMK<36SyVr"<>0hvEǧm 1a6}[W# +DzA͆Oç$p[MѨK[uR]85VU)}<|ћaZ$]G>K kcIQ*I0_5ʪH.)rÃcG0s,:p B6u_ԁpNu#uh0 8ٮ%82;/4eKU0]s㸦L#cN]$x`PM9f_*& 8x{<5NbEk5gtfeV&i=3hlZEvMmXPmxHr.y΀ڼS t;\AghڸpHQW*; ʮRݍN%jÒZ[chrxv;˂;*< dOOQ|V)EG^2вu%LټPn~{fؑWQu[hjby:uStX%plO-+0ڒ JLwZɢ ļ2>Ǔ ȼ*[apbUS|Gl@hQC8w=Yp&ݧ&՞z;AB.O:KQ^|`93cm+֖x,"yh=hf[mJdc:ЂCK,H.٫<8lsaU(|уMs+A E#gE a ?+<L%MĎz%o>sZrb{CdžGpņb&CL3k +@Jz >/@BMh xȡRNt$JdW EF<Cy@<:Vp x*nĊfK +.@ZUj qegm8ہ'# pՍfAN>B)RS*QT|OqH5a +(88kw RZN~S 3h"=mkQ8PrR{]0a<{QYrry )Htaӂ+vA>L|||kMw,yn_|R'V?o؍v Ϣ{%/2u>VC^/V5??}[~ok7\bğU@?믇vi~W#_+we^҇ +ө}a?~Wg6?-Tx+6^v/lIk̑!՟w17ӅYl{?"؏X5uQǾdWޕx${WDHV]TiOgCƀh_PнA%R]jz6$L +PqnK`W ܸZU{V\d23ŜӸ\`y"E+g{W&C=u3V]k)()`n (BHF}Ua.]тK$ LlX9J5<+$jWN2"*X$ǬQĩ (+PZZzQy6aucKa孴'q \$=^w\ tioӵVzԥ/R8w@ zX)fPԯ3+EU#=.%GV}7gAۺ Z U?οlX\HN=MzByQ(7 rꝚ~LGM_>ZYh@\ANo APʻZk}VpW3, Sޤ|!:laqRoS( 5 (rlLQNq-뒵aAx}ڛÏIbM +Wj!&n8D ƽALYI4n-8LoGsc*D/XRO_hgo('#k93S@,+p`,Lf$=IpUo0s}n=7[F+ule1,%"P(e=.dA3v{m<ڿ?d530}~ (߮UT<-_Mo2@,_EJtnK} pKWO'KQ5"n;`:3Sσ=w[hZ3o hot(ݾWH\m7&#0Xq P.$B=LF+2=MOoeȀmP6}Pg_VM{A[jdoNCM>hKq=ܤe* ͷ(P@%u )jwH\bHUhϮ9a=|Z純_l#\E:nԀfJuJ#ޝdQW*W5S# tA}eWA\8By?PPq&:&ْc#'6(9e66@R!&T7-yl!{cm5L (^p]z{Q +3SF#kԔm{/ `}Y@dr:"5o+vX o\f`NK2k:茪w{VWsEWTS2*dC&(@ȧb$ZlI9GSmK$,飵/ +Q'?[DC6 +d*{@@ӞsyD}%TȈk#9۩G~mRC6CʊjlN _/}CC-6wjmˊo8AN9[ +jlK"׷/x~~۪_]ȕw-M̍3Ѷw6ѧ짛9Ų4H3ghؐyh&\C =K@a(h7xޓ< ]F{?ezkݏp+k-Z5K ;4f{r E8\PI`LW?)75.+$ _l@Jv!7s~k{VzJM(_w)Qy9ܬ9v9;5a]HiQ zgw#Xb2~+R9bQmS:! G^a;L hG`?m`PsP瑴+^}g'"3D[!uW[JruCrE0di/Lmy6` |wF@g6;"e.%''DQE@7\_G+8qp~U>]?|KקطFǻG=ڻ_Kx?o8st[ .OO3rK +kїN~SpN\^(up݆CIe>.#ps0;|WJ=Vʔ;/.yqs^8\ơyq\Vj.ݎ DTÎ2^uThBpX=kI 07 /`̿/yDt||B :qb$.Bu>);c~t;\_|~8F0>GjagIwŒ ?o~oo?w?R~w7~e|_Å?~o7R$$=QI~7?۫/|?~_y>뷿ɯ}{7}#B?+/o~?\o~;_ |o~o qt!ůc;}3? o/zxK2C&Ȕp-d9^&rH8z'?k0)=oևd1h> jÃi2@nO,t`ֲPR!ݸ^2ܫ.[2mŐEAWQ4*P(ð'S[QG':FXL0245T&# K ѭ#DH{Лϧ~Xo o`" 62#.M:j`F<Т5CdTįیsi5fF/k\m#'8n"E@E+Y 3ZM5ܤ '_ EOf[WhR2 Z BJ.گWQsq^ ^㟔wzs5f$Rdv[5í ϥuut堂KwGa،׆byq"n>ov˜=OJqmkT(ޟ;OыD\W67RA'Am?7͌04;CB(<6Q%W4Xʷvs YвPWѕ_Pvk%&݋dv@\I)+8>e2ɢO{[^'zr`YQzg䇖pEݪ +kF:`HCHӶQ40=/XC3ARI͸*Yyvsk؝yJWe9B+G! !P\-Y5 +_&$bU;4Oܡ]=e4<,iNh"g;Qw g⎑laFTb9`Mܹ+`N6!a:1nx@>P +˶ծcec +Rud$qZ?u2-.~i2댾gWu4 E9b-<6ҹZ fMה"=zGVc(| /u$vt\V9^=<ŽTJjqgcFa'ʖ`̂oluv8L( xф|dhBYʹ[u`׿ne6gAn8Z dP=\;9;Cx8+ OX anHV |d#lY6b:eNJ5;iQ'<6.ӋہG!0xE  ɁLT/; g0VꂴN,H)Q?J ^|N9nN;+i}G8fcov ͛2#F"[ac5#a6L̫w:퓾ANQC;R[<=ËaTmcnوՈe(j|R]Fi +IXIրS*=L]!a%ҢXapðd +5X9K̺:D+['FLR^Ytwؿ0eL^܉hyGVIv_ +޽q(u}c!bt:7^q}P746۵yygQ'a9dEv +I< GCGcRQVc\b]Eh"(Ã/G?,=sn_e.67Fq'UJ !$#(uҍTm&Qng(1Yp#u1y}\lȃ:6ZOO}`s~L_EMM]|:sַ/X[N~N*co}'j.v+k ;GLl}օxM}ᴩ&ʭZrkfAx`^)exș &1cv$#i(CS<Ҿ4#Cq.֑Jyt>HvDsG=G8vTp+r ьmy̱T*:}wkKaGV3w|S2vL$\y|qÌ]vo'cݸ{dͫbT j3qe(+m3+sOڋg+!أ兝M+֪F^)dMW-Hzshm G=wW~>$MST08YC7'ڂo "̹&,"ZxI'*WI! EAID }Рymf2Jmڞq4صG}m 2!l^8c2J Ѡݛzhr!Nf+;>|wSq2Y&wqtkߖI(;@o5E-dƶAЉLb+E F3/ +@q5%.Qkj\' b B!݂/Ɔ25]ٓ|&)6,78LV=Ab_C9y|,_|xxj]8ާ=X16 )_"][cl䇃Ijbiw~+S|8Y Es5a8^ +ss!r`/ؕwXi76 1VAv04vrBS)xJOw5)!qYM/#oC" _\ݲ"ԎpnY6/a(C4Niqi9:p%* U ,ikvy6X]8UY2漈8{r *V[g0v& ijF0Ӭ_Npq%0Å!3q*îBpaѣm{igsғbwU̓XqRM O0fĶnLei"EINCOg+V1vex1fņ<5wQacVž)M[1/` |KuZj_yi8PRY2IWUC VS,ď SRxܥǬ?ѐuscPCoi?*;` eh %O5eAأ_F+G`,*bɠx0xkowa]+e] -0;)-.@߄SNaǵ)-3 I/[F0F1'x z +wX&_  +bH 8a<"+AH&kae "R6pYehɎxn;AEWyew{2+3=c)P{Cus zBp8XX͢Ṳ+\HTulGl,!Kħ(Tӣhv1`L۫U\h3-䑇„gE9ovaEi:1CΘv4Umv+줯v ŒCEN5H" LrxPKp4˥5̜_g zCeU#S ,0b=h,RʻF@Dj7(m#07Mnl@USTnY ѓ[o!^J*0ĩzj`V@:9;rx{pۂ]~ Ѻch?b-#ș-w}S4y(!AA>^wfr;VNhp(QeWI-va Af=xG^Ә֬"-x$WHB`%Y8oԚ뉐c}Lɢ˖M8vxV$fHM}Mp򨵥CtȬgr~p=He0hm`3z}7U ꨷;6(qc%&n4LJHȫcP Bx+)ˬdQ`| + y +4kV]{į"ﱿnP^ y{/ 8-¬. lǘ #K 7C_[g3SB'aq3@S s*|=Ag`IX&dd3#DM)I߰ -xs zفgu0[ B5C߅䚭.LϡǚpֶJC1E0.]^-dixh= vvD4pw5Jqp=COYDoni!eZ`&&i2n;Eٖ;㊑_<@o1aǻ qtJd)o_*6 ! Y'֋{2}[,o(3pHJ{] ɽV"}٪zcG &m٠~R]kb=7x;ݍ}Y:3!P g2.zAUDp{E>cMڊOe-GLYQ}} )Ξ=ȗI"scOuFZM6Aːc,8ȫ85Â">w(!̳$o 42_5Xv42XuC9jsUBVao  +Ig _x=7gVr6GsepR*e\^B~I-Qz3}|َw<搙BJ{rb1rV=\ vR1ֹڤ_;C>;hhP>mA-?^E $ќ&?)3:˞DTY%Wd׻DϩGE]GJyh܎-45ަ2ȳH:GˉMoYʕBfb$[أEU*J,<~deeϴ5c}7UQOO)dv\.-8f0sP-95 >9kʡوzQ5.dy7Dfj<°!{enP>SAW3(ّ|z߃Oi353`ZWsGsl'(أ}0|48$̤%E3ߡ~6ÝW.^Һ誥4/HJ͸xQv{E=HxpJ= t@@eKa&lCXMV*uJ= ikS9!!]eLzZ TyNAuWE|W6ʒ~p9x<p!#4c}9;{{kUaFw),=G 0Uw7E<ς(ƕ# "&>X$0d)Ҝ s_v ?o=o}$ ˜ܩQ Z-ns O ЃOu?V.fLpZ Br&Ӡ+b 遮Oi㉽cEW{$ xnF_\wjW GDLgEiNy.:C<`W؃gJFg3؄gҁEzSCyN{&gRVEd*&#*@HJB2Lrr}y-b":V)?^!h at {䡏cKLQ.q!Fiu6Nj'HRZx`gjyyQYZ$Sy}WH$krT =/"Ƌo[M>vщ;pvcUF_׹̆\L%P{MxLR u:'R"p~PgO626·# )8 O4;S*u^:#O:4$cbm3!hpT:V"A0w`}W@h ӈw Ӄ%ޮ&TB LaY6M@L|(g>5D +[䡤 Q,-snE8gnAY<@uK5$ y;^)ܻVm{+ +|v"VRD6Üq{!tg_qGVęn8,hBznL ŝX +;J>>mZ$sv8cp +=z5(JXq2CNE*=$ Vzu+g =l1rc4y:70[0f[2M&c\ ،y7iY+|H(%o +eXn2굨æZ+KrV@cj7;(5beH?=Bnn̡]baG2SlZkQAj:ީk Z/S)1=%x?EpQ5W@Q$I$p@$Ha#-OރY9CF{keb M'sU`01k$üݰzYEy_+iv$5T[2yc\N\h 9,AӓTw=V;=L'"RAS/J6I9 n21jF6IKzREa[ee)c߾x9"(H&bU_isVN,5X(c/qEcy"+0uZyẌcIr'He6C1D(o/& +|ar\۽{tWaГUYY q =\DDMc$E yb,yFT|Ds H׺<jc`cx +kcY&%3w %)TI@9nPiٜ򐥹~HBTȒNٓBU1tjvEvH(1\Oyŵ?FģJ/Kq_ɍyO$xdB. b +2\ZkIeI;%\_3cGi}b VnQG[lv.@f'rlъ:tV  H)쨫蕢*@\|~߂&fB u1ڒP" +A.|txV\QW6У{Rr4v;agZ+i bq4 YņsDc8B ֎'(]b;)-6n> ﰣ @>"xNgq9͍׋hǖgv-M[*Hҍ/ٗnT"K:󴘂3:6+x4ZaU^H[KîbEԏ?ɸFFkjF$Kpr)pf !La6-w7ul#;b,GM!SO#T5d}18cGK^}j +SSWل˸{{[U۝tF,[HݑX5DU-n)< +c3zHèK ]JN&YEJk +$N~4"x+!Jqʓ# +sbBݛnr^3tuPZqbNo k]@UX׆86X[RڼElRIf8_qu'9Pf~@ED""C :40U-k u60QBHr/u9>U BA`͆- # "_&d:p]^_ K#L$E(YEݗl&0u`Ǚr߂N" W4t :@@@,<x{[Е*b-byqLOЉad j罪b-fWԣ%.A?9t2-?ykHۜfL&n]MdZ&,ѺAc #z}9̏WhE(.4;dCtB +ҫp4ma]6X"Ap@T#[т5=E.: +n[XM&DVp+!i`UB37h SVb>(:6;$!cR|RȂ+`MgeEnt0F@m-A'X +Pw5Yҭ" 0)ŋG. +tVR +lVڮE>vG}ruS۫ &[jtVƻ=$sQV+Ez+AF Eǰ-2Ů5An NRqM&i\ HÓ`az"TIE<@5tbfv>HzbNF!mVZ4RCq7%QBi݆#Qxlq5V]NI7O ;" 9ʉ[\2/e(&c,!ioqGOg_&*ڎU.M6[Bji= r4Cgx=TXB;.l`]訷9&&s[UwQ X/)L*6~{O ý9y~_]qmI[cJ`c+Kf!VQtؙ#@":X߈GmO,@ellfGPG!c[6HӐmO^"aJgב)Q>_7@6#Co +LJTU1.]31Qxmڭ+.0£z 7;%#Zj3O0nt$ #D劼.|ۥv␐р'3ts4/ߊ;|bEpA+q!qkgj~;On+ b(ͰmC^ {98G]h2[7J$b܎?Rbt0}9XMKwLI9';$?K5Թ//xyMg ”(yde`+/` 95mLb:` Mx1(Y* XCKbdeh]p=h۬')nD~5xq2 c4qy| '7v<ٔFT-Ż~r@3@ԜaOɵb|Ð\C$VWlArRpOj3 +0c2u;ZptJpw&1\i *n J6OeWn麜c7Z;DCz4 bئh讅Z4|h99򝱘bපӴ3$;߭)/,0M<#?x{^뒬L%þA*Z&󁾪J56vc0, eg ,T$F{1^kPYP_o51Sm34/8{"ݧqfim/.DmpcsuS>m>ъY<~eJy};p؃dtAxu)e&daW1Z{+a_qQ*f&o0ΤG(??4Ƀn+HZخ+,{˥vkbR}x7k:=@ (XR + dzF)G0Zo:E*}D)0b;N|Q2G> ftꀁ$<}d$H}Fex-JsCA${UoUХm28sRi|Z*+B3tq~(Rѱ(:vECVg^VzS}ϰ]Fh/[Vj92ʯ[#Zm>`e8|X(5'!WCʐ'{4zpD(~ ̌}Du ` i)=%([]׻yy ?W7+Mz*,yt֯fLlc_Rk,&e{ƵusA ߛ=`M^$&-+/#uBo ;?:y;>m&4nbi +8BCvP;/A"FE2' +9TH?k$䊀yP*JܛʊUvכdq``]Na G// #k3P,;v:%0_̌sg^邿 }}wU1$E"= +^_z /AZ'$,G@zSZHMwo +Dߘ'1XeDMZ%WK;r#!SJP;k؆{SOB@〙z#hmO0e6cbFg:Kgeٯ?-^D͖#&9AgGnSEu# cAS;B 4) D,F[z_5{&Jco@*[); w_|_q#ӕza/燯^d sSO)S.#x#EE9t"O!SP6"~8/@wOA1Ɓ?SH^V1!kgN.UJ-zEOlx\[/Db)C fg<$qO1Fɺټ2!ĆkFKlQ-dMВϙ8l{WVZ41,Y>xNh%ZK:D(C9W&QŜ̶W@1*NK7縣i_Q/ }hڵ8A5 _A%Vuw_À+pvA* =ĨEųK1+m.(G*gOݚءp+?WeDnMdBN7%Kit0 ~EA&nHWZiVW\iA)*E-4xo/9Btll:NxemXiDhQ`ѐ1U-d45Z`U(\!x͌KIX EGDĆ&uNtThv +]a<]Y`/#T@zQe$`a+u(8i@ذ\d?]MV\|xxwx@+îKx $~;Dmle0n3|x&bg-ֱO+Dtn[g\g LqRǂՐvBG^oaU1A֋:TOBmzGZv#JU[@8t< ~0zFQ}?ddcҀM =@f̜רV$ =h +𼒳MzXlf +cH48My SBI f +H(ۢ;1۝*N!]B!۪FkFI*ފ:PdQ!F)p5;ݺb>Y$!Zڮ0[ʼ~ 3)`|R}6̺=)s}oAViGx&4˘LmFw%< +{NY>~Vmʝ+ e.,0l@Q@ep^D(I'KH5 :RM*th{e (lO_5bуƨ'V>3IKԑrE)Ts 1S @8Nl@\;*H 4$W 'a|Df +ޚA2^ϭߋfuRUxX!֥/w8Ov6_bbVBϒK/<9\b1(fs E/lB{TkV +x2xPZAg洍eC +L&5>`u-3OSO<6TD]ZsVƙ=X5IVg+ݸ7v$Xw" r12 aPMk[iFֵ cC8cn37]Ph]sPFj6ЅW@;W}1_H1suѡ%H%*3o*i$~HkvS񉌗T6]hwn1^έ"ʯ [UsꇴIeŏP<=>Y(d_"S[S.7 ]2:I/[Al_72ƳWqd o[SP0,yf9u|v Ą:[쑤 "u/{XحM˕fiq:]^A<ڎLBA{9Zu M5Zr4R_S ҋJ FuxhE oŞ|P MvAHe}D9ZZ.I4+= +%4Gy[M!JϤ<eq) > @A-;ާ^0pۂO,o8| Z3g~4s Yp2b*hHg(Ih}3JW +oݗA}myT >|q& 9UR]p[^NCao=ZJJIlR.'0XEgDZn!xtU`{"i :Z`-q?u /:!n_4뼖Fz=l1U˓ARNri*7@F.>e UpMwZRBXRXfԽpĸ;$6dvK\mk1׌ҫԺӂAnp70onN(x8#2#$hNt 9 ]F9ыxl5oǰg-§K(acA9 vC IV`/.OfAip,irf +Ukg2R-m9®7 etLСU?zb[}A!_Ú>@3DV^Ni ?GVFA_nNssPu#fEKj <5 nK f/?sU7!49v06̡i# ;d̵Z2@a#[ g (A0钄=qFmW4FUpZW ֔dtEQ :Ejk{hG`se ﯒+-pا+ +ƨQ#E>lC=HXp/҇`|oir A5Wb"G(sgZ灟jk`n!xfZD%'ENqJWNX?Mpz) Қb0XDUÁ7P]̪f5C ӹD#WYe1Y"D(7P%Kx"(0D`0ڰ1)!F @&1ĉY)׹w7nPi QPxeX(bX6oFT&Bq|Ƶع)79(AuD>r(9s4SP RWѝiŢZSő邿bqFmS +h) O=֫X|8AȾ79"kVOCY"w'1vsNXs9CyLusi +BBwB1F^kӗ´]Rz|]d )cv?$(Ѕ,0@Ƹ ;;y63hɨ޽Nz=q6gȇvh. {I\SnDhB;!M-yB1guIC "U8b!uR~!5~ŏĠT a4ʓH=<[MЪ}ϻh~rs.$wJeUhقc>]W"QP*#yI'k;*yib'E]q$d| 1TJ $br ^XvpDarj0.A?- 'w #`V9Z[ G,mt{֌bMBWk0(p-A>=A$DzYŠ#~Qbe:A:^I5~Avc46\̈P"C0a4?Փ=/ON}8yL<JV9бn(Dh!=HP4?~9#(BLh;-i\°VU?Q;n!#?>jq$ hu/e!C4+ % Ɓ pIfE1BF[ `r;cJ!n>YSE +C,pk <'h< $rQç利4E60mA +!tDcpS 0@!GP#,AvYYVN+#[%D:FݢRjS*CtrF8B r]w%"$ac3nst|w4A׬)#DHPGUmPw(ERt -0H@ ֻHسXScɗG6+ zh^^m6#e؎4(hdw4 ^>ORq? fD*݅cX I\T2I8ħuh40W > +EZ ]X  .mvxXr;UT.~ơ֥ia$J?؎9Չ†S֒f¤e <YCn<0')_:!k0XPU)گ %m y?]Q2(g3;ۤF7@CXޢYsk "+;]gsv+&`q-m|MY8᪟- چ5P%"}" +]щ,9 DN{j*%&ҭ@n n(ǚH'm3(="Tim2@R&Ko7eاktx`̗-E!UOwjfv:+f)MzN-S['yxs5<.66MCD2$R(M3x-.2z\ehX(yf[$¤ q*`lH{uȯG^7@{$"4ܦ$Y_H +άZƋ+ن"b|T.vn,.^%mQOTݝHI;2(F08$ hؾ'TOY>f9r]n%h1S4dN(D)CrkO.GMP3Ѐ>G J}#EЂ_ 4)QČsҬT  ,Zj| BH?YI%39^ծ_mʧYb_@XE~٨[ 21(*p9?[m4p\x\VGa}r0j'= +#UiW(HNX~CrYJ&2P_-bLhNY8@sfa5|3Nـ-( *Vɷajc³nTCkpD!*^°G綤ՠ6e2-V?!Y;L6|b+-OUK1*'64N;22`wt j@y]|_YmZ:b1O8_G߸6Qll"㱉ձ3SEN-OFomK~3V_e:HFXC (h?C/4a5rr@;Trn'W-Pu#@&ת d9!KVgԑO:e#$Ɂae[T "D~ܠke Wu$LAkG"*un F!TF.k3jiѮC07_%!`5k)"svr9i@q\iD([^(.sq5gB5S޶F|gOBG(%/CJSOX84imSh&_\3cMY?$ҩ{nFI~{ ZDh7 <nPp\oӪdQc_۟"?6YGKENb p=Z녴 k@Y@l&GPHq,i@̨(`9LPsO鐍W2%dL:?Chlbp$pzJT. 9 wOW E1+?W2AO:, ~;i$"g14p1GF6LǸ@#4"mXf2 +JzOhv Vo?aS:XjOAuNw(X/r݂X >pe.ҮHd$ +~&xڦ89ZPZ Rd@ir6&"Wo{^oղSZqMCi%XmA4ȂުiT6&y(n1_v =`<-2&zu +&d/DZq7#PD}n3) 6ői9h gnhDD=E +D1PvަOPdG"9Dz3$nęn5" Q/2EZF:Fp3Xazz}aA :s,F96gV$$69<Va.* ̒;W;Mp;()LB4 $N {0\="!)1- 9R\5WwE!kt +@uOsr΁E= : HnY|Rփ52myO'BuVUkZktg*#mMsSiӧ-8hxDjL è(Wɦ!Hk@w1#$ml^<\u i%'Y_,p +Ơe}y"n1-Pxk[R$ AмEaڽôT%d3XlŇO0Յh=#'ƅʜ0A_Z7)hb\WqHGX- r`@* n F]=a8S@Yu^ ޏXuFykٕe:qŠõvc0\&7宅 ]gW.M +iGJIK +k5+ EbIon(ql +r*M ++WCC Tz2 _Dwe=udӥ"ntDD5ϙ-UL( Equ|b"ܱv+$`bqmrS%:G|Ԁk/rU9~@ çG(3DL]Ttdz'o~Xl`3ITF`[fsg*}Y\[,⧃ ƵvtҴ馯sHC#*~{-F<8& +ƣΏ| 1p=p3D뛡~oRqj~k`TD2rZԽAć! L-3C7[=c}h/x;eTB2`?HSk[(uXF|Y";ș73 *̮B D-q$}Q[]2Vj:$V$ &[$BihX8rtTlNP p̢P 6PE.dyBCSS`&N@SOX2zBoPGZ!vͣpe] +,#o?Ǹpۤpy9Ft8# +~ͣд`3MzZGp~%#zccHj2LcS=beѶhBXRߟdC-=Z$dJ +5ZElxAN +p +0ċX *BYwxfy؉m3 wou+Ea$ ݀nh+{WSLhk QVv!T#p C"]M (RxWĕC`_"BI=+KNѱ'+Pa~ DTy J3廂PT (2xɫ@|zT:P≮-Gi:$ ՏDLTP>f}SݘLWo' W,%,Zә%]7WguSddG:>l3i{:U;҉E !r@عJTѫSX<>3v*sPZKr%4L CAL[Ҭ2z 髂w2pW= D4Mزn7=y9Ag.Ñ Xj}et{BHek0Dɑs+%!ݎDti gS66^nM<'TdM@Dto׊eiDl.% +Q"*m- +q@|7Կ"h8@@8L? Y_̐0a[>z! ~r٫DP<4K/Ϥd (iQ +hEX;q+rs]hvD]Ejd}Vxb|i7%xURK'sK?}qu" h>:u52 ;8ޫg|gIb6Tv3]$BQvCU/+dW c +Q [Rڭ>2-R_a\['ؚTlZH$?~ax)`Y}H/cL"TߒҶC)p : q()Bª(HQǠޡkd#Eev@,f.z.a2vQ8Yv!7ڷQjH@@L0PÍ6_V \ 0cCk˨v ;8Es\+,3h| VqlS\chRQ} lP`1GH4 lz( W!vڳAGB%Ɓ8xQfr"\O%ŋgr8ީ)`znMۖDE]PS- 5O+9K;+myx X[B&:yڙ%4 ڗP?r./<!Gބg14\j;"kݥZ|8kH&R"npMt]ro^2Ԯ}XDm-2'9>5v \~P2jMx0ÈE_5 @jķYs%gAC*W 6gɝ61׶h;8ֶ;g^E@|E=זaobA{c,+io< m-:ٹ8ć2.@@0_bP9P̀p>uPt&S%EVkL.5G"qP`$L*}Th}nHS#@p:y("mcAOGv@G5 4rDCto(蜀P;ҏ  9mH E>FΏA9&QyI{tf9yUQ;Ga˰"Fpb/dFeDHGW_ĮW~4(eb 4C-H!8>stream +V}jp cWEe +4aD8a{u]hj]㌂Tdl[/z|r`ma$"ޕꔖw+߃uNOZ3h{0DOn +g##}%ѺoA+hcZY`ZݣnEI1@z! d<8~MMaivjwk-DE‘@%I.a.A{<^&mtCn,X4py)BBzh*ᛥW7J0޿dP0v Ya@Ą1ߎ@0p +͊WzZ26 &(ΆHiՈ 6 e [C*==2O7dH-t_o Һ7&_9_%@|wS0׿"1p>;?rX8>myAJeKꔖ@eQ;~g}S6MM4 z6 D[ 3?!~,|A^m5VܑrXJ :HYc*/p! (ݗ~ ->f)6)94mQ& *4aQQ"0.b5H]&KqV=nEF nFxK +oxz38Mz,G>†ȣLޘ8D8ɀ!xA9w!kGܒmz +8v +ETV + +^iH AjTn@ۨ2DT/#_=uFVd.Xw45W]Q 7N~j 8$PJ߇-/DHrQl ld`T(J4п:[d)\X:a4*.hCR2oۉdbpTibpzٯ{x,/7Fv;w`(:3Vd;u_2eD"U0cr;D,xi@'ʘA vJV &3PmdcEU=QGO*9Ĵp$ O .MI)dA=GB)NnÙhvHT5Qo&Hmv Dozhe6oR4q">X\_U R4W?Hb1aIסGFoGLh z[D:Lv+ +Ɂm{f!VAP|΂SrNE`~Lg + AchL i`Cap&[C'ϡp4Nv1C .K3I_NJ±?~@I}y$À5E w ɔ22ʎo B4閟V|bڏ.CN;`Tmb!ib6s"{ygH'NHX7UR0lCX1Y@,!u2`D4O F? A)UAhBYr`AaXI\.=Nܴ<ܑ|G Q,ؓ0:h(\.hp Fzn = +=P$Ws !F$oR5(eA+#b*$A5{@: #qQk^qɃ&DE'z{Rg(+X$$x~y>m0U +uI0d6NM ryqp5+lнq~ +B +( ˥ +298ifv\z0 3\cKm0+ +g(Y73?䠑>(FˤW]? =>C] BBk^{j\[hJɨM|q +'?i}Hz!e@$ݨF+s[ːC9oK}y"1ZKd@{ 9/i-97iDO`̴]^3\_b&"Q5ڋG78^O $Lg!8cCNLOX[cBu<7kBU4>x7uzF1Y_6XNƉƭ'\]B+ +#\]2 qnf6<ճ:K2y۳_R(7'E ䷨uX5Dd e` F,lAuZ$^mB'uv0GyG Z7!]dMz8A;q'5MqǖM&@, +vPvgt@DX6fՉȸ߱>J1fa uD$dm.N6tnC>R0=BBنGT٬S;#["05&f$*ӑT qw|+V<@d>$ 2",Y8$!HRN!rB0s*-蛘"D܎mB;+X2|0k0#Bg+y~4ԚS$`A~\Bг IX^߾6Zqs?~2J@,eN&= :qEg)7ū"Ņ٤2pK^_hU$>ٲ.LOZ j'`ꣁAAcՅV,ɸ]`P@ТR_{a(tMl:F{XAusFơ)4= PT}CBinjX޳w"-JQS[uU0?"aF>% + yd#7N.D({e&#4osbIM= kjAsSrVm}-+qü"*s +-c…HZ1uE G( hDbghAZ(v}W\C!  0'رx"" /W( +u_ (TZ 'cAQ@,LxhStoiᇎ?ofIFoΏȒx"@:kRD+{)EEqjs᲋,-@ڳXo]@fKAC u#U V-銻Xα)ѵ'E|ȮOږM"7sMhITo +MBh~ " >#~C#:B4Jۯ\Iq+'0/l(8 Zj }NvC= VS茢D̔O(lnX84 EdsjP }#@墎̋P|=d*Y$pڐъI8gẇyh@(C"!] wï)7#$dWDnчQb/xQo:OCA#$xʸ?+|0;8O>N0 {ep XA7l-PcUN7Q!w: u?B5DKϽRFٴI7t 5 +Xiȡ}?Geo~dRP Ůju5GFx"S#60"Gm}mnIWZE*E‡EcH6baH"bQ +#x-:̫w''JtA"?"NCb gN vdDj1\'!) ZXJ<#}[ ג`3NPD_K wP? B_B.wzj0;+8N\X/MXm):CUū +5`E9iQm)֟!9m'i, V2@9zW@~3rRTN dCҽb"E4PcIv.`ATh(A6Krzni G"N׿6F6H!+lZ (wGpˆ 4>4o#1CA֌YzUmN`/hV;C;( Hm5,AqpFVN:]W e'稵7GH/ %̓BY ;3d˥YrD`۬#8%RJ~=+6Ԣ";&enX$edM2WN޴e1b)U +NsX>A 6b}ลcp}iQ:LDŁ'ӛʪYL`Z zvY>BrԵڑ6Lޫ%͞Hn~p5Aςr!$S^hwbu#/)IS)Lj} NuJN,82xp*AKYUGNq`b[>/ʑӡ4[l Ɖ T+pAl`4eM)8Hx7ud0oK٘e>!o|E8u|2>OaiF?:H=!a'+DY8lFToe ҇>AT| +At5'+@3 2=KA6:e&\bG8g[ SyM0%L#ٺwm9Eid}LR`A +Pʡ"{ڨO WG#^󡻓 irDA-!Α E>G&w8N2[;z(|P9Na-&ѕ(f2VջHhw )wFgo2ikJok.'sƂwmXa>(s'6Q<6e^9óQk <,e]@`hڥG~l{D0q;=^*YTRHgC!2 :m):(^ax+emVX`*Gt!Zҕ^@|芎qy !D &OAX*Eq x]",zmDh|c.?0d +f>bC. }(hTve}<0o7=1fɻY a|z"mK!izj*5h&jf&T#XH*s|!wvTzwF?ҸL&$vLD.ADsYKJf5 ֗s29ӬU!3#/8vsF\i-bHa;d}t\Cz1bh()4CKb^/kEdqg Ц8!zo,x8cr#G +o'YԃjPH@H@jaR"" aj'tS8v&!)ǧ)u?HNJb9*Nf#۾Fs^*Sr)?mcG@Lc3࣋L |$ϓe>2_˽b194 =Ι),$t?ƴ5?3Ȱv߫K%+)@ +>y/m/P6~AT XE\} 4m(zȨ#P9#[U> :9PU8}|%͋ x8RTZ)ru>U.^?Q{z$Ü耙UN8W8gXoRaMC }gGʰxK{cv~=r򩈩Zŭ_x a3GHJE3C^0Xw@GԵ^'4gD]< zdd.$ .w:'W'29Bw8 3Ǡ + k+{=~)p ܧ] tvȒ`jl)9^PP;ΫR^ׇlB;q g +C"v ARd,4e{ud`KGG;u߀2v\A~:X| Ȳx;>@xExGjLߖa!U*>|!>)V3C9-EiIuTkXeq>[P`LŁn&ɘFƗ:#A},(HLqcӣ]0("A!TlDFt/+ x"$ߢiyZP" l-@iTWL +Z44ϙJ@He,>P% 9l>s מ8狻ړIy)h1nNې7X$ +͓A"Y|Uq,tZQԨS!I wPdk/[nE?C&`uWs+AʃCC/Iq +Wґq ɸQ79|ck=e0׆'@h:blN/fAs%vFsmhO+K1De8 VԢ+"VYL)B+'kv V6:2)ڵE+ct~+V}uA6&qWd$ *,' O 0&Q@cN0 V4Lʃx .@h )ii sbȴ'^P0/f4PȀ<}v9kw@<`uD$zA4+;BEIq^ K!]6xr4C&U^w(H>ݕ@OC! VV4р8/f!j 8AG8@v %kNj-Pwl0RrNF"$2.j, ++sBp<]?JџȈ|} +W3DpRX6Nl@hR8F`x=Yp &$χďR5׵T,5o|95cmȺ\9硁|D4K[WZ }ΜZb@\/GUU!1d&&Ά*rfp(xu[ a~WFdY=nFqKDg [x])ؠ{M.$i!<ϴ۾[ ]6;. +uBNX=Cr#W"p>xpm3X1+REDZ A'RTK^( 7v{d:C$3{ rGY"}#M}W1TX6Kbc&U*TqCG<@;@c(Nv_Ae϶ˮFKUSbC>*(- ^@hO#M~RW%bAY=!d 钺!-Ex=+D&>eBFJ_X;@qIGGq-avWMVji+L(-CMF>a񑺇D_NV?_y&UxG{V0EZR\byUQ+GU(ݩ׏7tUno`QK;R/>1H +꣙F7<dzܗ_ܕ"cp_^ |M||w~_okGoۮ= ?XM au@zl5/Y_`|+K7ǿ€j谟_+m_h벇Y;ݟ}*5a/sY2:#YDRG+egaB/f??v=|+"BJk]|!FCF>^v^IrZM2.ӮO!_RпAuTQZqb Fi}W!xu lupؗpQTɨQ"tSM[p*!P_r*YM;[[*z-e_sp {~6j2*4({@%aK +vYE-ZCz\ER+E +q +5T3آ*O(ْuEx,d7.t03~-?brK5yI([.vz7 }z8$. +4h#mØKSJ< WgyS=hpG;yK,ztx?vr@ =X}+ev+OUBi+2(so` fv%ԩLdWa+N3~r&|KIR? F,ɊA7 +c.vo5q|o'66>-kUB| +TR ߵ؎7y+A0!@z  )1a蝬3m2D ϩb{ޮKK͉c8.ϾTKI&s"zU!xdpLb60ط%^7uͿG(U/ +r$-m۔^m=^wuLV1|kNy`}%3TqR q%n@E`omC} +h"l>#[h<1pf@ +Bo+_4ծozhwWX {h'KWWm0'K k3VlkF<]3CiAxw)jm.W1T@nO,]ҭ}." +Uß]6~]>7^q`V|%zǿM97hka`bR[R׊]pUk;^/1vM']N>~ŒӱKp|p9Jl ia9&$ Z&Z HN_U,#&PR%H*iwh-9Q, h۾,ix[<9\VQV 5ji1նAXq&U/\*M @/FUAŚڣEx.*:{US*jɾ,iuDjTC_ P PF)ĩ)K2k:hSwWWQcO֫E~)oĭJ711qPHeX-Im!}'ނߪuNÿ oQ:!]6]m]X4 Ue@N'%@<"=jaFn6Ե3e?]}CeEy6T }W +ցf&ژٷٖ-ݶT0-u Zז,o?A~`oN9#3K`c>y'9Ռv #]`S(cQYt7aZ}nC JɫzZ{hP4w}É'ן5x 譅_o7\Zj<@r" ?ItF15ۄĬD䫼ǴpVb2ߞ +@=F +6arHf?\e$q =P@)ˣr)N; dУᣊs@z4!C"+9QK@{[{5ޣlF{8n cքΠxb"jip2jRx,H o(?tnC0АWu q[wb$C7.֣Bď?ߑ|3`u0,Ax=.>gUw>z)?e O䯿o??_ݟgS?w7~e|LJ _ͯ~?Sʜz>~ Lÿw?~ ⷿ}__' +HeO~M~Ww?cO_wz~o~Oos-o|-<w߾w/>qx0Dx_;A"^_bx_;ֿkk})=޿v>cK8>X}4il$E͚t$3L/$/ݎ'h*YhvPK-#Y¤4OKaheH,,i Od{lTPZHeIa+I1y1M;_;sqۦ`qѴ;fH(%ᆔE;T X`jG Hy^܄Yi*z5^6EV;zzzʤrYʒ"@V}M 0h":rpks{15 +I\z˪qf^}I{RZ2IJSWC[!s?^!r4{h;VBvOXo, B.KsWSܪLհo?oᡒ9)!ÅC|b-CY?r6p͎,~4»B o*DYRY&E w&jA>u[t1!B9;& l_ [=K,y +u?"ja8t'-Z.bAd?[/?dpdkr1kP > :#Pm]3_>j 2S9 +y|s ڄ<|A3TxyN<|?}i/ =L8S/_(mOk_Lyй/%Y|WIb)g D"04,)cu%&W^A8->{!co|THCS(+H]{g,x:(1Bü J|SyTT:W~CEX{򠂻FwQԃY5:ce7CG$+f9%82Tƺ:>%h&܊zI9r22q'qݛwC\X=-)b״t|̚%4 xt_zQTsul.x*xv4F1;EQBYbx&t'}hHG`qi eH@/rdX/h"q`o- J{XF+E5< vnw5,jV(A`>h`'F F% !`'bd* Vtz *Kq=4/р&F/q(hf(IB>̜BWM¡7dLcyvOTA6i\~jbR\أ`6UşHmD' n}]n4y6/FT1^B(;Xrql6w 7vA÷| X}ϋ= LvVu%M©y4ywH )R}] Wrp1/4{\I4&s<V">6 `[_a%낏2]EieU %BbuZꉖ&t)G}[eч9|OQPto$}gQ;N xBVPڕh-ڂ"RqFA]K"^]lo8m7&ƣ%a912/wsa~JB/yAYN3Rd;hZ 6_l޾tByGܻ=wHˆ NcB [*ZXF,-2e`_}^Rc wA[i+iW,HRUH)Q̸niXІuѨӲby)-Γs o Hk7t͒_KԘGX?׺Go+ >+09E1lQ>V?x #f 7;a=s ,z|>U^D}z!ta~ *.|VrXa|L9uQB{xKeE'ό l }ž.M X]Ə|/̏InS!  4bTr\ +AKu]UL'c 9\sꆎq2 ńN3Y,q== Q>,~Mg!0`WTDƵi +fU0xAai8o@]w~OtL_e1!hWj.>At2O5uG&7/wYIX>@ ] +=LVY־+BRy\N Syhз~} +<km <:/O^,lS&k&oNdoT4䜟 ?`װ.a5 %ՠ,p Sr"ైm1gj_:TijS-<ԤNG12vg.hPE甡-,YKz Fy)Ίg*\ K<4o!ThĺwXI +P9iOnnP +M4, +޲Y+4,}0x#ӎO Mz_ +o&Z_5bל42,WF5m_O%BT? qt^1Pq7¹+_YZzl˙SAױxuKYz-k*b^mݩ>*`o:,1!}C1D/z\`w@vՖshA u荄+m\6Â݀|DPY":b\Ck_ÍI綬@^RU̒k-bXӕcC {i$F>0 p6gF[6U"a5cO +vM"K/<75%&辴'uz岱ޟJl4wprD r +>>Úx}ݏ7KKWq{fR1 ;gCw1!6n ^4Uw1Y]qw=Fx3as2TeS͞!0db&0/{.qabm~-<D#ޝ4v=|>oI">/gQ_r/{S$r|PLM w6:_csU1 FFs1Ğc]hx8ѰRNRɠHuQ0,mL:2d[1;6S^!cHXz›wҖzU' +1o_y,CE5 l煽*Õ!\NM@Ge 2R Lz>Z(SП:eQ?#ֺ~2l\aKd'ǹ٥=4kRlPRq̵-i_ X1@*[{Nl820>=THpo +q C%e>624W唆T$ >a(GcEjۋOfm;2'sX*Ӌ=ʇ-s.lf;ʹ['+J_ZgE#kȄgqїx.=4̬J3f8g;q'ݑZ=O=XԚ,eX \{񦠐]xT;i?g]o+CjT{:a#k42~}? YR򜽻Lj %0mzsu?*IƉFQ;`)1#U46%k*3/Pc2 fLeU?Ur\\^DZ!֤4-v,}> G\&{AVEEsqCix3! dc,[:JfȓG ?ózane +2}!ylgKUC>o{e)2 +QS^.@%HGPze 2BV YI>ȃv/G^ͲBٗ1̭ +-oڼ_Jtƿt/93kgWOLޢݗ!yC ;ԓBSP#n%lln^!Jc<{ `- +^8lݽ4˽PC?aſQv̠ ;|p ب~<~$o?ƣHX>ZX|=5|&\,É ɚC3 +p`ǜmB-D^}|pbޛT4/no pAcSj( D%CMb׶A_pk!k쁷,NxhgӝRА0*nvs,>TGRIwX5\*&sCНzKĺ +8_~ :CUr*| cϑw0.>ft[9m=4p?!;Kv"vU:-ܡFSӋxbr:74(8uȽ\>G}_yoNPBhڸFDUDzUu}?[& WDIfI{M}R F(ѱz6:aی^ RW&+ & AQU| M+5$Hb>o r +h:p`)yd:XDG +l| FNm)y?0bP"@jt,z5GWOP +M~h4:ED[2K.>F3MeſTMy<KkyKϳT/ॅ' ZPg u[6Z*_'K$|LIcqJIHQuZ>/A<nB5`_#{'~idɜo F 6_j94\碩QE) ;K |)' +U>&[@3D&~h綃=p$:'}$Qjm$Omʉoz[ Uθ'f✆klq29A^G nC+VqGb +deWWQKijw)qPw;A?G.0O b>CV(WA{ڜY:7N5Bٹd +a^h#C:P^Ͱ *|7%e;J? \ p({cf*qR5ac`pARf5ȯ^FUR "0]3>Ftog0+ &fq a@*Lա*Նal^&l%ΠP KkS',wxE/A2zMJS`yQ@&i )Ñ]%S0l9WdiH`N^h׎UH, +wNX4ȰR5v@ w#IzODW-Rt°6SC|U.9,\DQjr2eZtd+bpEJ +@dAbp +4-铋.5⸃d]W"4޺@4z"5`!.;kT1va~Tܲ 7› ͩf9 (. +o>2?tab.*j v$^nu0ϟbgc['tG?<*r̄n:)&xXXyg6$~xU4ʔ??ȄxfW + JbΦ?U*q<@ +sy; 8 &5gS*on+KvDHߤm΃ftrSIS4C'^8\Bցf~Gc3i lq dSkq˓14{4*\h|Snh?:AM򌢢+/pSo= WDt/8/}b0x0*9 W^:ʞV f#*Qfw:׭̮88R!*6o>Y]&+ԁ&YBNyảzd)=o×2^4 mgH4L524Jj>L"e>@G)]O2b:ֶ/!)ɫb#VVx %°0oBf(b]e'HkoUAaZ;TBt_a6&'u>U[+(P:q{_9q>Zu#XEǨ(=nWuԗ~c sB<#gQ&cٚHxmmuuBhðvTi]E>tpV-?I[V/ihJD.:T]x9`F*;Sa~$AMEs(EI=âl |͍)vi$!H"h{2H] =b8_$oЎ !dRD]k=.]qw3ggvϱ$vy+0c R.v~6v,FT(zЉ{$Oɰ': Q$mM[aD3 3%-lXt zx9li]/>o#&X8¢fi +'on`'cWt{fT&q# +ٯ =Pe cF +|#O-s'6sMHPP DHe$6 %;૜uqG +xMhk(ޝEt4߀'jV͈fJL;}v$9ctK/b?]s3- <OOIyi10d6׵4U7" 8~[^qCUxJ3)joFz(8eq3[А"IݱIYLjcf%v x2鯤f|=iX9M[XΠt8ڴrb.dԢ +RM6sWYj<ѫ3]/1F|Gi wLؠPGMo<Dbۖ>/4ȹC~$̻hVB-41YY$l5 NsH(wp^y=ơ.|sn̑Cu2l]?gho-j-ۙ170PϹ '74HhDé)1Fj ŀ1W Xq54svOf$T=gsyס7[0wF^`fl-!1k]f)S4Lxh1FCoG +Q dQ&$asg+:ͥ4Up&+-NlQUP5_4ɂ5n&o qЖ7>4=y +N#59;t}#,ArE[7R-$v'#e * 8ebDoVxuѹR€0Ǥ#NؽS\3 (ʰSz.K̏$7;vli$y=ھIۘXgIƽMUne5:zTE#"€ih.SI@C%C ,fM 20c +xļEH^HNޡF$v,1s#sH)fsS^V mOkj6\ɠMP=" !z+g t^h!1K!k1Nlg;A)R!$`k)HӍ1l -Ns }/x*LimԉV5 @`l{抣h8d7a6?A,\zMƏfG[G>U!e?GW?6hfpN*_vA'kϘIH gA![%1ݜ! 2jq.0(jnw݂=TgZ̟^FJ~!؄a,4i:`g;h;Xҿzs#ȆXM%SrPƉ zecoJн5 /h|_5f Jw%Pq P4rySGH3QO]Ƽsѐ4⋀K t9^ԥ;&ߎzA>}=N=I5tt}];g2 miҐ\b``9h \ShXcڃ\C@}]w{C횿*7H%MF&Ș"7n+Z͝~My[mW-qmvza1 ZB~7DvSo$&ܶQj?DbdJ9gR.˷Nbosfg n7@g مLK 1@-9Ed--Q y7^%G#H+,ҟ>F_C qe9VTAl`GAO!uxq5f)tF@ff(8Xc!BwbزǜE$21 B,ɷ=Nׄ5ЛB@L}@8z7A^Y +r0S1*HEOYsfC9V0T*CuWjetǃ/T W@NM=t]MwNZJ/vl_˝Cs-'@$tޏܮIKJ># MJ1+L(K@B_gwh*[ĥ7{!v~P;ШAd&%_f|*~UhFQr +sM=D;l"!v@ +|r\590! +F͹;5?byN^WʠT=w(jjCDS@ N]bıcm-;+ԕ#h;VY}i ,Q_#wI¶p8rPvqoAY$}~mD˷`fs'Q7lqȣQT*Y!!M%K գ u +t +q`b5Ϡ˧]Ey>vBz4PjUO1֗` O.\!z-ABvaƇCɁ6|񭂱F|_eY"š!~w /{N't?@;ȍf'))(e )o;B4B']KVcұ("vp*q:(7!2 &n2 ͌}1[ru3J8H(73>y5I#czވ᪳llłx6"Vt2n@I/!J@/G%42+Zӡ")mehh+K̏Sl/У8g#v;)M |5^e!2}WE<9!]orD=Vڳ/o|0ȗ 8L8C\ؐ&syl$#) +1ӥw1@buʋrqpIU"",.^]J9٣ŽneSTj%19ew˰+ +U0@j?١Y8m)Tb!7!JCh1L:>Z2ޥe +rx5T%O'+kכeGUUXꎻU8p]e}pV b +Slժc?,Ϡ3 Ac␣r=C.3WeЃg[V$ srEvZ af SlYp>rPt豩b}^mB B!vLIGO =q알4Pdy"Ai xFs5U>Z`_ Egx^2N)v=Xm&щvMNelsQ(3Jz6*Ǯa*]`dUgɶaxBw<ϗ|8a0h +@&*0g>k3y. (<8d,~?-? `. +4aRXGg?kqJDXpiGωE!B zк1G!8X=fWIti1pq=VpASLxyJ<.wTC +#]D}p3'XzȻ0>:f[݄Fu~(\ߔ+>2%A.jL|@45|VR\.` =3w +5_^q8>RXI+FA& ӮP#1`Q"{Q6V"cOPqs~e#hXӥq(dCb= ,4}*eJND&~ɶWQ>l&OI>!2mis=B(Dl7'#Hw(~=r]Һ\"\MOph J %_rxB-o)VW>۷D֯ oeHC +yPQ_b)|'[u.E`'ee@;8Wҝ&Spzi 8 &d4;W"9> 1#܁Cc+v2nW '. +&0ɕ`†=`2eu%8w +WVj(cLw|Ct ‚xjpEۯӘ#_hgoc=GY6qE/p>}hdIO4eׇ*ƾX1U9ϫ,^!wRGLJJV?Q~cS0$}F-v?zI& ,XLج $d +cG𦳜#Q:"5쪆k!I &% +.YN148Kq:7#w5gH[Ge yn +5>Kv, 䪦M#Df٫uqЛW &6¾K9b#A*SgV)H$/NU[ٰӕ_""-ؤT#npDw$~.J*W"Zp<24hHnCFΉ ^H)U"F+ +@ŕrY<5%|oP_6&NZJ +!?yIqsz$u?P!ual_f|䉬(~=yAq?,S#j"&o`AG a[.mWMsV'~CK#h)'nN".oht=k&Zhi!L*`H뛸=bل{2N +5HbJd6-󥄥Ow&"MuYb +PDAxVX.!P6klc4-4 +\dpVrݑ*"- `ưd +'"cL@\_A(7eY~7(~m*g +kfXQ2)54(30sϜytobxEcXrPC ZTB>io`K ?Gp"dE{1zbOu,>8]F~H S?+Y%L"'t}#\l5~NYacVEq.vRW C sKy%F?H BFazXsVh: +)@^;]ڋvq1LjH6Rz Tdm ;ڥU1CHAS +C6`p-e([$̿#z|Ș_]`jPmQ- DH kq H0AK j +ę%-Ar~u%: +u$C +Ls΅[fl퐼b* +|@*{b=>V,VxAD);\HpVrQ] רnۈ=8dQPCkM8E>>BU?RR%ƴQYL}=P] Wۂ I63(X 4;G(~kHA0cx+l,| ':85j '!gA S/NYz./↚R'Ps(7Ʈd*r\nI!HcL͂B S)Sa\VzR + <9zT(X |$Rvh>R "cqQ ПuvXDbWZ2\s A`HEjۦ [[3a`BA/omU,M/)Tz2AnqМ>(?ޡ\` +kb9L5דU$)qT]P22xƔ=F;C + f7v;F:~OR1L)a!#]Ԏ- *fhwA0"!h$N6@(<;cGv?fpUxS#-jn) #Q? гs0T+<]Qcm٭)Z=%m0jA_ܝeZdfp +v8ve/1tٷScR"`:EX9~ޙ HiucG"Q Y* BS[ԩRB}"5] ɹ" x#' iN.uɿ7);{C#4E>+vf?C:φ?Gh8aqZRҍXq:pDTJ%2UIq̤2WL'L&PI7 +&]Q^Rth\7ͺt3Wb-+c ԺSNt:, Uz(*PWy[E.|Ѵ=]wĺ\;01 # +]Rob/^ 2[K_bh֦t*GHHy%#7FuRaE\vՁS01ŅI^ +1Ί~f@I!N-N*n Nr_(~kM"UXŸ+Y(sNٍc@w e݇]jvKť_| Wӡ@?om +7bLJ;EՏx"BlT<ѸXVMvt7Ð& vkSRldtJj)HD@wWw1#"k/q$]^5˼a E|s5D*P_;5M'<!԰dW($\\BC^|^M;u`]fg_ԛ/ƻw ?y4fr@<Aq }o*#1Ejy܁F,ajBA^MlU1}hXW/U 7TU@JCaE@!iP@Pq4rDI ì<4>M[F^,%4J:; w~B4 `!ơV#J'۹ GT=Lo1(L]ƅ3_bq5-L0[B:7?zafyt^b7 +WJ&M5 +pO/63׆`n?O||0gqO(IP,8j@tr)g`3AF$tѼJ$,b+WRmܹ"C8~2jjCf"hC{}C#~j?6?;G 3Vf5Lԅl1^DSyk]gUP,?`Z?Z ?ϭ0]d? + #QIr8u(MGʶ S?~N!2wk; `ijAP6V>|`ArKJ!̊qFvtR;IC(iA}v҄^+(G&TgwcPD}MosO4/sSR gp%Ċ4ODNRBtc}2.[K2 LELQE!NÍeT,wT1ܻk1k7PErЧx*[יj)FxHCf{'3HO1Rf4 ~2釮1n>np-R"qi`\ʤC{1eIi7k6+o%EIa)>C+891M[=i*/f8M_F(Z7PEEc/R}7 ZƷ_q[ OFOeU^0nt2.O_:T@fSh=ao;8_>ij^&$[!*c΄{$C"4ñ Eϱ#qGL쮈("0mLR",Җ;~"!?Wl9Y S;'ԯ>-:)4;4'4᳤{҉9W\>8ݽiPn`7Ie-$]"r$Ĕ``oPhHo7fC!^dhg"" +33"]x +k 9T3#izp/D&쩫F/M3c{JDE!\pqN^|RLJ6ǒ7/~XS0AB JQ2^tr(L =8xsWr Y)8H;^12d =dڿ=plM4n(۵Q6E!J6HgCf/P{)!(S\1zcg@:&|,("n%Ve*,%S=D:pwdj|=u)tZ):8qXZ'Ĵd(cS(>!<8DŎBƯ)φX\3\̎ݥ|lBFJ'ҋa_`~EG.- +Q!`k@[v {-xS O( +:lB*(.ICqQڿ)z&3i3@!,>LC'̨QXX']GQ?dMhnZCxEh<64JwVY+ifXf=kGG{1򠻄N\_X7h '&atF)Iu' ju t;(Y̑@g퀲SՑܳWxdeb'(u~V[Y//_²/r" Jϱ] ۗau<_fF %ip/`qɋuRD  Yz?b XGCˏ^"gTdl6' \:u—ذHIkTEO/? vgj|=N,](8b_BgofcorU8{"5R': 1OJm# r? I3D1>UF$C6~ևQа9k4#!.dRvMq S óiS~$=Hi>n!21׈ +jK^TgB/QO6 _+֣75$eW44/yjxF> `(XN<t_o_ sq| +"QjN38T\_/g{d?Cb)`orijDF`QRWG^"t*e}M 1saK"Wt"ծ8i>&4E&6ޱN撰.EӬ.%fAj~bJr5t17ih| +g4^'ҞH(6ȳIz; +]Zё'S}z敤$E,UH:nh n+ b7ex1kŌWhznjϦo3N#vꌔ +r+H Ȋ$N72nHJAa;m~2tsx,50HLQ|hOyVu ]i]Ows9k}GqOqI:tCzPu0 Ɓzj/L֕Ewse x(NCFjDuHrCizLsմ !7Q`}N Fh|MW/84/C!]v<)Rv*MX +:%:xƉƚ* 3s4Z*OejSeCiβY"t؟u%uaYf($7!8AJ]H%ra/.zQd_V  1 ĬzA-UNοo:|0Is(T?ƪX0x`Du[J}\[n=3 +S`1d: WsM[L +[lFG#Ǟ[Lkv"#|=]>^POS2@צE( @eÑDa@!{=K([quQzxK1%& pGIqΠ g +֮[frNf*cwO b,ގv +;m3ezT/UWe5 Eɝ9 -9KD0b!H ҏu]0dt(J r`r\Je0!+srjdROTjq"|mP*!#[L$*W%urPsJ9IFq#֊Yf.Tx%?ј`GК!-Ҷ.f'=AVLј氓Ո S ^9`@CòɱW;v׫}?@Tp|[t+FϿCCK_4c5hyׇJәvOPA XG + ԝ&̠"XF?Ҿkuve"&'HQc_!$/uSCK{DPZPcDuEnkIiJӹ4䙂_ 9yct(:2,L~d+J*Dh|=LipHB$FS°G"_,$p|v8?^`!_6kfYBsh}93Ou +_q#+gŐci<""}sy#m~eؼ+_văEZYhGt: 6Z(\LG.9X{]u^ +O$0bWkV)T$YpU C Rs$fq[F |^ȉWLk MیHQ8ʉ{"N7'#"j-~&(W0tIz2)Kg9poA&@՞)"o)Q)'ԀLpGk4V#'YaD bb1h: ;԰9Еyt{Fޑf^2}Ǭ^4΍ze aaPNvv28q3-WGW.$ ͟#?E(%|"F_wn^=6@4[NY[WĦ`ޑHLJ &4yD;ĜQTc;ñrwrooۙTq,w_SNdwB|ȣG$z?2k,By82F,~tW;86qc~v|AG!)=P0!g +hDnTFϡм^3Лċqgd}JAω ^qL&0foa7iV"#ЈǹW6;!#Fqֿ8,[à0Qq%?ap(-+0#>V;?Ǐg vF' w$%HB8=!ֈ֩uop)N,}nH ԯT6_E;\zZzK*Qă&i'o|n ^4=Xfu,[#2zϢ[I&5u>0"gM1KDR$Ga9(/4Eg"5:=?Th`R3Of7ᗁ#*i#˻O\ +%?v̱J9#Ν9)hh* L @w8l.lꓛ&LYKA_o,žTr"jF 1m~<Ķͯno(jd*O 5XC +vGyzj?:Xg%eV +dtK:#L+C~r!\FE@@5=Cڣfqmbd%,x`aMʅo6l=)EU,R=g(XC+|EK_^H!$z$9L5wBeXJ)$GR,P]pd%0Wd%,F=vg!J㔢[!%H*4?/hI0:M.k(L͂-æ Kf }K<$P?ͤ1VDpjN-(_˂tjbbJlHd9 sg=W/͢gzS,Ϣ]w޶oÊWIkdCh860 Lxh$@3% +A\4d;V|W⪓zxF8M4,h$.ߧSnٝB-w9 X5ՕM]`r˾Tb[ s)uxrp-PD$C553y1L żly n!#JtT7i\ِj=eџo +Y9]sNi-2`>jh3`ED[T(fc&n0tw[LRc!C$&zj4d.r1?{eEJ8h⃷" F撐/i8( =;{qo5p:ÁggO6^ oA~< + +I <:Cw.sUB7ě5`5+Ϟ f%C.ZchJhۙ} od?^'8bAQ:3/ SūPqVOf|x zH0p8j0kNב +6 +[)Q%pRo+A%'e+;ǞעOaqO|Z$A5=^N2 h f+᜺X x@܎S-+6RQp(p(oށB؝<0Qxgy~`n20pZk#?Ij1\!go`\RmVϠR}ZAQd1jqCMVZ-R+Q`c/%-MiKqrS-@WZ:^sFg`dեa/VqdRTƁMG̫$ȮGy: (3g/: MYBHpgA3KLS^KAYtSq'!Kh^$ t|ۇC˧o;"g[Io= ob1I_kZi!A98 {ML|x6u EXIڑԫE\cNވY0Ǿqc\k#~t 醭di`ٍn>QMk9G_RoRhviC + ݩXɓ)$X +GAyF'tIgfv[:h&9bW8i`ǖ,`)O0hl'FUcHg8Nx ɯ~O?O~~/?w/^f)2Ѥm!Ps(hlu'"y}Q6F5dbypBf4|FcŽj` uu'ţ*Ӭu˻qg`ǢtԘ0 G +'r){"+ӎ! ơ21OGJ:a$QҿΣ)9`^sXTt"CjB.*xWH236lg#G#  YO4>bCHxy!_v3ȟ%zbȶydwMX*hM H KusRNx.V'p'GZ|\2(ŋm)!36G1R^~bB-乄FU0*4 8 l0ƧbT! Eh&537Vp;4VZ<{i  !C; 5]ġWmv@#2INvy+ivoXD_އt›X\_U!Ɋh9wd7/)M(]yt ~kr!]/Fׂ#AN.mi0)-m=Ym@; +&/%$W8r<=@8n|ް@.7+b2u(73mU^Z6[ CspDc:, ZBXi$ܮ%CUҒ\ELW.v%;ܲZ%%ݰ30o, f;ѧ9*յjmNauUnD<(6ZjyΦ Ӎ%e-nq-0|~iIUڹhI7J>PPjP꧿쎈- A=m)e?_e5蚀ȷ!o=[ z<nя DC?Rr5BʽiM ˊ FaxDY8~BYD{ 7|Nt0G4+ x3AdXWKEL4ĔL;bzP +eၷ"z"ц6#h-b ~u-{ +8̤C!&a0N>m{)pxr n;H^L3lP&߄HhqL8l UvHϠR a@E.l+1$;OLЖmG5퍴x>b@:Df{8~eV +65 d(aRk?eb ID }fx_l4.@DSMRigS[vt> Dk g*va"&2xA#KT)>5* "txJpkӯ{!%Yx5?9ٓ-HAiw{iOK8WHgWn@9 +3C)+Hޯ#iXUtЈK$L6m4!Ѱ)(I"JEzǃ[$+Og֨No%L3w(7K.%LEbSsX `4rjZIkD 9:]ʃY^@9aR +#@fy[-=9j2!h=d:k` ("$ d'e8Iʂ#%`#&?+Dmz->7}*@މ8qLp^aSM|g?1_Р–ߘF=!ߦxrj~/@eC 2xBJH)tRY < -'00pώxjr[S?RB}ܥL'po;,j/fx z;.Xwr< GjXAXKJm8[)J14iņ##iǡEh&564 +epOu8EEwFȒ18:cX2(X!h1D.QDNL6P(P8UP}+&Jg58Ehٞ'm.6F}[F# + DTx| qOiܧi +QAUBuY8EVY=2`hy1]RzَT$2ژбiT<@E6E[xpl2\kA 8' s xp+~,Wf1 8W&* ~87xbRB c I5>g* ؐElrP9pݕ=Dwz.NOxtBd 02 3:BIZM.NpGYq#dhCv'-b@'CR! +:ҳxPn`NgV8|fυd(ہn2;>*X((t9 9_u|`bA=ig3tfx.% AocziڬSL# .aee+xƒvU4l߶:gU[!d*:"<0 +l™-8&BVv? nPaR9'Gݑ1nZ渑O,+6V +xdBTT#/[>?\0oU|=6P/3R%Smೞb hy%Ecaf :ʹx"'h\,Rĕ"iɂP;Q,x/S2l˕q%QKfU'CaA9r)JC&G3u?qP5 I_ B +GBp!3*/)yO!=sBc죅(԰VJ4~8/! o*|yxZd-[?$03Md0Ku3VU:A[wZҀAYI\D Y@W:xв~4"2Ax@@mC1'ѓ!}Jl.أ,mޮP u 1L.qA] 3pk3p(WJً!%O!}Um Zxh9%Q:s˼b$ֵY8Obeၨ&۹\g핇Df|@‡t,+:7[$C*ss.3^(ڻFPE\a${BC%L'V 0 T5_#9z*b”hT&zE9-QvH<x| mX1d9,THΖ&feg jlؙD{0{>y]"&}#L0kobE@ 4S$H8% +)CTCVM;ޓu3z|A=nv`E>/8CTxK6fWSbNC>z'j"2<&IvD렱2IBܳFy2%uCYPGU)z M%}b/_ k"5Ei2Lr9PV7U7]+ yH KduU>R-'h ڍPy a[=`hΟ|u=UBϮ¾ARtg~%oU Gl iEIcǁSiU;S|D3 QYTnѹ_ӂsIQ#|s7kǁ =|(ʓ:3_ sqN+z"yoyȟ\eLl?/?_/_~/_O/bbvn$럾X@]sguďïo/RGo~ͳe?-;Ux+^6/l{ V8fl՗~nb%ڲZOEjIǍZ?ڣईQVp#Z!h{Yy5p +"/03?Mp/4K4iƪ,^V^!9\CEϴkz305c/(h32G:^ZqrqiQ+C5y_s~S%vm\ٰ̘qJN +*$ KG'/E(GH/2:@'ăY߿hf +\7&LuI)/E|K*uܟ])<ޯ%a4\$J<;hEq2Jqr6'}- Oe_Nmo;RYͪ4=?Z7^OiZοwaN}\ʾo(j#dL/申hVh a_yuyԡy{ QU/B,32|ˆʚw +h%H㒝}#nzpeֈ7ε/8b}n-QCbS\FrHd&.uzkg\ ctsqhK}&,9} uZomv x5(*JvI9[ +i -rP;-b+(‘i ڵJ +As7{oa"D51{?&6TȤn%E }zuWr3"/4qPd].9+-rځ&8C+wRF`S :t5y_UA E J, =W1Yи֓GEm_y!YiA" +\m"XJTa/n +'=STVzc'YuDh\]lVWN-߄eZhEvRJ-#<p[h X_}V":h?oQzȡ\.5:[\qw8aR̊(^%zm"g+¨o+}mkWB7SSg3зo~1t9l:L>v4l+T 4/\_>A~`?U0z;ۜ %.G1cD>6urz]ZG:\' L@| *} zSkPǂWF 0XqpBuRq_u1g1E&9]~⾾wS޺ŗ|5nβSq qc%&Jtr$I bI&nl{iQd,y@0f$ eng [ ) :B$ YN1ngׇi$?9&蚳QE=6^A{;)d5'H(ebRWȄBbQCpW)k3PyV=X/йw~ݠP猐al{E&#^>>| к}l?ZQҳ(YUK}ׁa[M>JviFnGF4' e6}(袨ٰ\_V@R޾lm',o>ESyQoFxu~@ʟ7GEߖ[ B.)O{kc\^}K + kїKjڊ??Nnơ^qDmo&|e^w%%GG{˾utͤ~70+ˤHvmznӡLaaMq mӱfڶw-˨ oFl;F1@Vwɪ`M2B؆tmYLZ3ȿJ|O~ +[dzuoZH;lc7$xs7$Ix%eׁNޝ=2{>|}d?.g׿y7s/_~_~__~?¿7_/EpRx,w/;^~S??oY7?}~罛d }ۿ__G7;_ ooݓO rG!,ƯdAm3?^ox˿ާR?`LI2&t{ ݣ7u0 +@EgAQޡ6 ̖ 'A=`H3m?vBo(< k(D㧸 G8n-&ckХ8&I{uBAa(*> 7ʌ*bu'@>![VEG(:DI$[0R4i>uH1">eDsIC4&uI9xy'yit7D1ϦҬ=OH 1Hӽ3\vh'H@A] 72>,#ƖIalZ®`\ HF/V!sR8q'NSαV1uL|%p]";8b $9iɎW U-r{+}q?viY?qNRRWqhU/N * x>=_7V}>e@Opxl]3Y'P2BF;fB/ 8DnG%GR s?-c#.>Yxp .hl'V6ƃ74v Uّխnc#Zb8#Xl2olZkX]%] e>v*:j@ۢ*py"r,OHzX/Q)x2S WӒrғw:}i3_Gr!== _:Lۧԡ(W}of% X8D0g/q]΄ɀ%"Mِl,ZuwB6:_q طr=ߺO3QWɴ +;dw"t:̊;BEcz-!(jXu-3 bkB}l;d#)l8.v9@ńv(n^4>!_S?FģDC A3B*YN3j!h9qSK.8dXؑTF~AJ:CVXْf;찒Euvf3[~q#d-pdL؍S]ohWpF3QLg >BH {7icU>Do ʍ -+aZ+3oDi1 kff' ҁZ@e0-VUO T]dDΙC-o¯"3㗶#>ojO`FF)G@'y;`Ê&8QZie̴|~=`Osgzh0B`#FEr:g_S +8F-yh4R8JA J^֤n2Os!n[c|jypa毽l? 5C_ cd}w#efOat{$s.V8c~-n$HhGM 'qWR}H/h)4OOs2^I]ڊ" +?;q1NkV ]a^ss!a.ؒw6Zi5,1V%rx 5o}ЌehXCBR˒4,I%E+ {;ZJ:L1&Wי,KYM~9cŽǷ ̸&fTG'M"\ΐ2{D滛Ѹ#-Фf]6T+F{{㋉g 48XV۟&2g'VR1ܧp̜iFGaފUmI[QNJNo4'9&ܴw>> 4f̏0UbD鑖g5S0 @rA)L& q P +~"~~51QqGAXw1pXli;ء4@KnfѠ~FG?yDvN[9a5t}4l6;H'>ZPcb$IZ:jyPIj::1ӬeGbz_+&~&,XC% IҤou3 (Ҏ?4aS$ѴOwSF we5|*]'ܐDuPac}Nޜh =n`X*Ip;08tث/Su(+&IFavJ2V"|X˺ >H_S56I{Rs!]ju5zr 5 Im::]Dc0*p Ө0i7au +G,#6QڑqkңWqhâ阽uuKyd}\0g^ႿEc/2^l#C6,z($5Fy"/)DeAK1UB뭞&ҔX/i.dՇY(QQXBA2>@)U r x#nxWbzSBWUvX߬Uy4 קv/g#2[$(D=Tݱ?'dC">vi5K2 }$Bw)M*x܈XSrlnCZ1p WУݳYK%Cm`64wS!tz =X묾;9)Y +;Lcڿ611E~lA*ɉʬdQHqy3y +:4kƗC0,~yo+FU &M©vcq&8XiÇpūal½*G-7R  R)lE>x.Ox$Ɗ32bIixgON?:_!x2_rqQe0P] rBox. lt|J3v ;Vd)/a+Hv Ai'֓{oHxY&11YPf\ĩ9obDO[I(uzٟvR]`b=8:Ǎ]Y:! g2'b]Y<\G׿W4鳱$t +&Vna'`#Hr"ɕii!_we8ryҐp0s +tY"c 5ƣ@W8a@Fi3@$iwXZT"K3?fQxA/$ǩ`{ nj!&O?d,/gzWbIۙVTrz UTuF jz@e; +2CY + rz? ?ElpN]/' +ٺ'="dxg 4)c+OZvVF^h)1G5~5Y{UnJ c6[6&lx/q%=ne0LV*PhZUEB'{\L [i6ڊw-q'jz[kC>+#2Oϼ92 +^[|:Аun6!kaS:u^-2҈Y5y`IvWc=5|aJ#&293Cz~vyMƥE${y;_)σg!r^ðA m+Js9קs_#AŽsapZHb>ZJ1Dp:1R>$6 +j|s~x2 +ԈstسV5z@͎: -Mb'*ǎ:Qr+2 pa!ND!0=Ba{bk +ZsnQy~5Xn(x!2("KJ|ۘDp*Jz +endstream endobj 344 0 obj <>stream +=DhߣR:ݩj ZOS7a,[ :S{<' 5\t5A[Z7&aGGj5.|Cl:>Sc>H݆3hWx EtK ?IqWepk2kUі;\7Nȋax|mm8K/wd_g?#s .=?2UUD^$Hc8;+WTLQ!+ +DEfl33iH@ж +5 `FsCoRap_QC(`"~7{04ƌwNH'pUf)@,Nji1:+K[8[UnM)#B=(Ř5XG =6'zwՉ@M6-t;-ߢi^WrDΨX~-xAtMB=<& TJ^kn8LN~ۧHJh-d:=22xyTHTń4k? rGzQ2I򥴭 ^O& ӪFi!=4egaލLyMzry+ +S! n=('ZNKuˎk=`Lyܶ +F -2 +k4 (@8q`f.+kqxHNw4@|Ͱ +QtADJc.B'Caͳ{--֩ʾTLQd$LEPw4 BB|DJs޲TBX~Er$hNX +^<Y^00Ӏ l3tp@{ ~Y&YfZvG6QU%G腒&F' wù6}ѠT=s +Kj葜_rNJgv6O#Qtd4n^@WoWS-bx3st/b;`i=b@ pTn!GGlv'x;`ߝί]ECg@8j2ꓧ -r9v3K!W&ESqZ|z"&Ah ` ,G4[ߏFM{fH0V̚\!Ww=-Q;2A6;GFxB,肆 &WA ՎThLs䢵Fvr>!+Qmfl͋zG]K9\1/oZqllνt :آ4I1bo>a5e+CW;Vs2yq]~k 3 JK,Rkh)XQqX%zd#SXugk6QP_`aLڳS :Î`Ώ^!b7Ha>(3P{sz)]e HzOBC*$ -5BOIyBFj&$lQ-9 URUQ mxN +*tp vfJqy щ6BsSB|nbk1ʏO&b>"\ρP|ӊG*.}8S$`rp u6DXhTa.a#Edr`@F o3<{h?{~ څֿ(' (cj ^ L[;W-D?M8@V&56 yxoH@9BxJ6%y`9VoF~*㭐@ܡ/FSW5NHFΩ}TLR B0C= gbE _`{)~@9kϭHX +6W +-U;Y=,` QMfel;G\v@@&Xg_&TK)ź|>.XYU'VP3Lx"v|;쳂y`{/?-)<)rb3IhÊMew2P@f"65"TAA-Z:wf9 )Ij7^QGA) +-sfBuHǡXˀ8ܵ0G>A3GC>-0#!yoqrr}k$Ҽ:Q|rн>3OۇP!_3@ \~W1Yy!&@\Q8'E$갽іQ0Q .  +îKSD! \S<1Psxh>jgV@ K4Ly h1c⮨̾' [jF&ŷAyи&;N05{ zey+O`JlIoirr)F@FBHa[HRqH#P|:,ALzR{bDF>R2v5!PZ]<΀eI)${Uv].%ZǫBKhD.kH Sס.15`k(nO$5/)g@2.А7!6s"؛(W<TgAzG"kG;nl8vO03 +S3yZm!mXaV(?\ؓHNڱReHM'ֆwX- + XA  =R.ƚ=닥CKaj7!{7 +y-ݡGgl{(ؗTJYEykg}o QDy¨75xaܒnïԉ<%L5̟1gۧ=7ͺe$P;#DĕɖKH17^D̙1mOklcA]ނ/bks{SNh`eY[,q'g/"x[%7rv8a p 'Kua|?[ ސ|XYJŎ"(('5TndRc0\E|@z:v<:Nn`()D}BD-5[;(%bBϜ$^yQ0HfMY5^%+㉇rdklhJ%6 skdTMkQѬi (Y1=?*:B "W!r69Gq|c^\ niq-usu׀A*Z6 v/&6%l#d=Nz1@ylE3r'H&HХz6* +xw~c(|?Z췰ȹ&A#E5),C.Rh1$ERhL1!b4<4JgfQƕqۙհf|>[ uMD/밍=A.cÞ?"ʙ򭘞T)j&;4BvEi`32afHA;iy`\ ?[Ӻ]Cm_ִ o*MPML( +#7gzZPI-=o `a %el]ӫwXKݷ +AycZ886y=$$yzE5@ax2Wh#W7|HlZM"ytObO-{ɺiKu/똷<u ף_A k0Ih[!=ǃ*d)tVOBozZNR;UH[8:4Dd`j9KX/ևkbu L!l{yvE: ht~m :#$,8$j +o +&geCŠ{HLc#THU1wb@ghgMʡ'a_32wfRI9|(J[Y:7xA/oT]@oaŖ::3O2F*1 n/l,ak6Db9>X +#?PDeg +{VYF ھ~Vm̝+0".@(0F4z!h+X>Kխ( +T҉"E- ĜNL<&;-)Pp*ڝTc~o*\!p1 +ӗ@2ꉼLZu$y4u^ Mk#֎&P+Ц's\܏ eH=-O%kn15M,v3 tɿ,\WsTx`^fh"- "pZ~ޡ~wkWTQ3-(]ƒU r@3DZ/hH߱a|+ x ٩Au`9zbOTw0&vKổGHIj@ݖެ9 Q;&:Ɔ9Ndvg||WaBv3T7 +νL/rpZ%]C@qtIjf +]'\W4F *uN#:aBAr{I@׮&ht[s.rdzo'ʹ?"hC(:f5}'XKCQ\ m4Oo$`JoHX ek;QU@0#7?5ō 0;3h4>4|7FgRUO] 0%,;PJH#x,FX/$'J;c,QaO,5 ;A(&@;jJ-+_pjPxj"qy)7Y(MuD>(9sW3K_DsrϞ`HuÁC &[$j#;Q- UM)XHNJ94lZ")PysrDҮHEN$bc;!~"f Q j~셌 $)4 3 ]AqĮe\:EbDB_$Bʔݏź3t8SK<`=D8<g=f*0!)^;ۈFE"iCB= TE"'X>c`3A[c&f!#:#=*".rH@@Z#RNlq_^RKUm;m3 .ޕcU'鳽'Yh]D?6ZyluBE~le+(TecpTKY(> WA/uV O{O)j.mψR + %y' +̟,{q`d[[H5>d ),c] -qv,h!@*qg%$`-8<٤ή[ @H )Ar1pdsv-4<A@hiN"$ +121q;NrE= +N";3:&z^ofj es'P\6cTq̦v$M + &?ϘWpA#ZOuOfbRd~Ѻ Hhƈ*#nWy,"KFtEl݆mUQ: ܞF^ݣ_0?&¡Ԧkb׆@_Gx[ts5"AgA6i6aHU< ?مQe2A;f}IE~=vZc5`HQ'tdJհF I''Ѿ p\,J$9Eol5^UhgX7 "4(&{`+d^`Ax" *ƇŢC^pT/&KY*$\$AuNY V$2=vRHX!2R!<(k0TKEq9oY*+XR0@#_3`,x ~'`o ~ZUI +Et~okKr ;TýXjenY4 (RdQ1"shVܕ{Μ1"?7QC-3% y@ F4h{)(_>.Y0,PP6C|N.8$<.R +..ݡ*Z؍ϵ T[ -tAjDK6C& ~#*'+LV!B6ݏ}}Z i;, i46tMm;t,*+SLaO%s>g +n]A⫴D`h.l ::-%klB(3IHS +XDy~̬NF"BB}ص ɻSu'1Vprd&\Ui_qJjk X d' Yȵ 3TD{EЊ=`s0 :.蒃2]pE̠ğ'"YlʄK>{ȼ"St2?&RԵʻ^2kMlk!Wx! fT |*N f)Zw:)2AnEZugHw+@]FT |y@j|rYǩp_Qn_MxABrg/mU8CO:-V&h:tӔ:%ҎEG1rgY]-m #4@dZ1"6 "ouFFw0r <#G8ƒgzE"D +B}.GXK n{zgJa|= ++vHI#6%j?1Aϧ +Uאßƌ+ 3ё#bT.~n,n^(n*Iꉺ3)$IV@|G0M:yHFiE{HNiw 6hf_BcyCf Q|-DrkOHMn +1v5' F\o|yZ2AՕxbxi.^j^~츲QoR=k޿vdUbF(g+|l>mR<܇G!Rm1n/!$B8~kFMGjiO78??戼aD|2J) C0 b萼{f mF~ TT3k8P!sqDa7Js'CM~☍|ȫV&<5tכMHNRBf}_( {n%U>SC20kG 0+r -x^r1w1ܬ1\W.ZAa0>Z'AF4EN M&%ګZMu}%oܰ6Qlx㱉ձ3SfE~ozʢ'9\ip|QV㐦 JƉBܾ̃/i5h'MB63խ +7$?lH|{Psq& G$h-Jac ?BH٥Đ +~ EFs818PQ9萝|Q"pR%}6w@[XGӁ5 zp+y!Cd˼N-3=e 3"mD1mf1LPjkx¹^E%@2/ h]Jn]͵n|35-# +`|#Dy e7:A$55=3hB;(i 4H8NCbdmc2>} Buz ŀoZl9>EԷ鮂`jw$潮р7DegM׻e6xAEf!ll]oJ+gv4`0|Yٕ:x~*"8TH&4C.Y80]OD1HO,vrc3 _'KMSxE"g@ ^ʿ0d\EP Tv]tp6]&?“,|16p,AʶM,d\qZSŚȰ;e(U+q\pSjѳ݃Ġ08=CPOPKV#h6oxQXYpAoLl? ŷHMdTgip"wEbUF>o6ڡ}O`0zݐ Yt`{"bd|. .Bl!D-䉷X2+S x& ꬭ)L@bYxbFΕj ;m"¿F6T +LF: [~2ˎErM`֭4D6QS9dDp븐&1  hLS㱐hB:S߶|rj98<ӽ|~o/ CIKS{s?4/"؍S)+̛`+{ L[4?yX RXDh8<vg?crzJ}vT"9㕢pV +1otzKdϳ0 Q9*3Ҵ!-N8mYc0g$h4CЍW21cL:?hlap- "CA$V7\l(rAQ,$8^Zv" 5 ET9-!C=+D)E 0 +n*st== y&@`Ja +K:OGHvV/_)!,pCv>lw XOspނX΢;[NҺM.L$ggC}mU-a(e-1 59H3IOgQ@7'^oՒS:qMCm &XmADȂj-r ~\QkB(e+Sttt)rewed +@HPD}n3) k.hk1!>Y^{DH b9f6z;b!+ Nl5.WHI|r +rHwR7ؗ{2l1chwFIg*Wj%tro7@ٛzаPшi?zwHo"]a*>;/S\)sb.r.'+h*R[t[ *ОP,&0km0AL"ri\~n Ay@ +&w=-٬]5@JVZ7Cb- i%E[L Ԫ)nqH"3O†/8hWd]Iwc3Yŧ0Һ$EgDžʥzc1(g s +"$U!V C*@d= ÷_uo(FۍѡGc D$HOiIJ|-x?Jjiu Ch_-ӉK2F:>vx0l&7. mg'h&״#%~D% 遆J5Fal"ynH8:F:6c1W^: =/l"(|[֑ME\9˫_?gpz4{ד`3LcEuzꉘOٰZaQ{){,}]{GA F{VルQ4aђ|3Tte#dz'o~XlϤ*2$sg,}\7XS'[k M%k;MaZ]]GT&jhyL$qM=xcG*j=WtF{#Ζ4$pεLJ{,X̑T"!Pth00'A5PZvI>[f|_Y! +𭞱>XWti +(*B.\ jbXFCY 9.Sͻ5`dR1aĊ~mb(ZDkf AM'$U"讦zAUt/p؇bctLhOᭅF,Ř!0]zKݩ)=2,{A 4}jK&/Y-TZv[cip^n,ٍ6n?a8nRV#Bu:U@|7|KtMZGp~:sZӕJdT|g2L.8 :9|Y>Rj 2%b*Ȗkݐ*8'ӘlyBT01c,WIFWŏ.**`v$:P֫YKa4,~{ +t rȸ!fd%8:G 諸iN¾ dQpDN;xg!}L%aY}N"K C!_34 IIv}D̎$BoBL??+_XB8GlInL'v{Ϊ ^( 2l~Ȣ"%KSsĊ=/:؇̮5o{ώQU#ɹ#cJX=}|~ :z mKm{zXQ7K!UBXj +ghvVA>t~L I[koWgFbŲXxnSL?pZ-zu,4Vᘳ/~'f!5a2CL*jʃ*9 %n`KC~m.jD\ Ό,%v6Oڅek^z:$>@mHo u1A: #v{i3[ >E1aĵ`Gh;よK"!c-ԕp7SU[Fq15֠"5N b F3>},H= 'v0JF֯#QH$p߂q ^ !hVe7Qsn?!WnW=~Uӫ%GqyB8ΓD/"l xmӊ66vȁnh6B)nO- ";ڗ>Bhh+pVor:Aե]p`'ޯ@E +$6L§Q,'8==:)b2 }?!`d#A+OQϲ^]aRpzIч/wK̑Gf(b0Fq>zAkobtrxD(Jg|w耠ctA/۳~33^Dso5 aq"} < FѱAGHr+V#JJ^^Z9]pi(<T6GA8), !1gm'rQW' 39>i08݆J#Ӱ D+A.vq-RreŎ0ą%*J6Qp( `O%ObPߛ?ExHY(@]{qG]a H_τzK%>-T<)-?fWOV3br9c +º|g7,D0Un}~s\*,|.8ᕋ̣C;#RaL(=DVnA *U'7A$9g=GE| +U]7^.|}ɝLY࢝0gg4IfΧ܀li!WfyC N{d _쒰v?<=0J#c BFlT8Gy~n h˂ Ŷezw2#{瓸{U=Z^($3W~p9&?AXP3A;&~;1jG)xI/Wh=:v2BTTGݾ3ZeMkDSTʸ $t+䶮O2Ifd[!JtM `3:脢\ Wo@߃tu'5=P]nC#ǰnRATc8fgq (au2SId HޔAp ⯄E/0sfH@;ռPJ4e.o`Az2r U1QνcHȁYrM27}h[Աf ?oUt:zg3xd RgRaYHgPEFn%Ax¸~"(jsB3.y?2_ V}2V`$u!aiQA' !A ;]zi6'_q:kzhu =So T`Cu8Ӊ!]+*Cw4~4c$=;Z/ISt8GvL<F%ˀ5OœeT"|1)_(x Sxڦ@<èN} (E3De~m+s"HycL擈uBvԜ.L[9XP×T2L+\ĘоҔB$sJF1m8َp`=F"-aCx_q-QȠz!9*C~3,0H>zwӀ4\<VE槌Pq46sڎ}یy&Zע^[BK\oKwY|̟]n^xj8O{6ڳ'XdĵӻFH&S2jPC ^ m?yJH'FamNHo=7v+ߠLo'M[9mx+bPPzfrխͬ:f_^!69Fx,H'jh~뗯⴨n3~ LNcH õe#DuϔiHbEI_5ǚ}1i;yGۖHZ7] ,\!m(FT_Gb[]bseX = s"sekssx{*O +6ď2)"7Aًv]b(Qo8ְ{I놆)j_x\t7 `*={+1\03> ={ь,c_('gV%MdSS()bدJN_">,yI?O Qœ=tG.){#!{VJeL}- 9J\E0yp$vh8qiBpGpGGXj9 .#&@ ~ȿtᆺ<%aBUd2R}i# ޒ{ur PLWf!IL^&il4: !a0v8X-Kqꇣl#Q6y ׈)BGt(thG4zyTX#zM͚ LUiM @@C$=wK͹rbpTM`,/2(MkqZjڿsC`$ĒY L MڵUj'- t @}_!z&ν4'+m8 X#`)ǩ `tUܳedle&xp% ]Clqn/J1+Wp0qr05oqQ@ +eRS,l=G3 da&#|"Sf +H0lbS1);9߳(^)U"luxvv3 RD@dL|| vT <|ٶ+Xd:ڛ*;h*Cۇ6z{iΛD9H(5,5`0 +z&~tFh# kجuvg9c,Hfoq[ MäY Er 5bc׷]6W_ϐ(˕Z1<:;qHO~ Č\"ghlz"/c&,L9 ٭aAO0` y1}ꂧc[D-pt{d5K|mL` DkE{XAu3F!uS('S)sH8 ѷIbmln-*EL~-bq `!8o*0T +t.s(rFtm.2|8 瓴vSMKQQM[]c~"3IO3jZU+{uǭk<Ӂg?꠸b6ںˠB M;,}B./UӺRoF f'p!IhabxPDʈE) +Ral.*X-< RӫsPqFOE '+iM|vdnY!hf!z8,ѕnC>s 3A+d3 Q",xJcj@bsC, +F% 9LW @wqƢQG_D$Ι lX=jo[×-3N-ƪF nN?)CVh)bwKFMJdֆvAF4,Hþ2f 5spVg6!Spp+d25.z <-%4z\Ry$= -m +ZfB{P F<~ +Auӭ[ZF⠇İv'#8t ">]"d +78k @+ߡH?HV#wЌ:08{CjzF?"r,FVDkIn ƾW# f;pfUDEz94!%(2g~L&KZ4,A9]ʜ%tSTi0@.UR#HvގAxy]"y`ZG8r݉$ |RbP gt+Z%hL0t/m.+&42CjpUoUEXnVL#KǠ +9Ї4W6kM<+RX|d#G:"Sʖ` VH7+1y\23'CKfZjN^`҉*ZK>B*g".MRh̜_5+ y6pT'ќy@ +===]:ѭh..7b uf}~g\ ՗,(ԧ'Rpf5 @{`g|h +{pkpO~_~o/?~??|?7?_ꫧW_5rQØHC sxȕl'L#yM} RQ$dl\8;3zBYaR2gOGTXw:cPZ2*+ù3=Ij^0%A:41U&i FV{(_ +8zpq !Pe_Z r@۳"O uXАiI嫽{3?a'ZՖx 7rL,D +.☖?r ;z9>Q`8WrŽGҵ@] =kQMx`=<,ZTUPv!<8zѬ&f MUxu!EV'88vdw|*@4Ⱥᐓ鑆`ah2x$d꼚 ۿj@.r/Qls!+A-NNQمR<h4{3c>uFz4F +{YF33Fk_ 0a b]oCVY!@Yu~K){p zH||I/ @ գNߏmzU͙aq@}{#ֻ<1d#SLm@]W扏ڣ,eIa~nLw@qpcN-Ig +WBrx^`]|6եLlR"iDPR>ԅ)ZSpvgSꂭ(p%Z:G_942eSH(/ꭉ˰t|9:p{QmN#~ ُ":(PfpY\ b< YVK~aY\Ǜ'h~,}PWt?(3 vGՃ`gV Os{LA8;O GiSx y̴ޛ͊Ge i_xBcm}p;@'lPP8f3Az:6ףO}3e[^t+NE*4 ǒ/#*K 2n6љ C_%/ֿ˴]5AcCs +3ٵ̿ + ytjZ@<ʌUƱ.8eamtb9?%;P L(UOWKi5`rʫCྒྷqlzDPt/Y?oс X]3 5 +tM\W-A>w"?9ୢamy(֐n0A}$f(8OQ9K箪V#MGqXvR@`}k<YfZo|eqQ\+Tx]5h#qh\*.! +hp9&[.egNA&D&5RJ]xQUЋBXi~n^}dJ,8$edEJvuM[J?+6rNXp4G%Ԋ؀o,+6[1_7,%Ђҭ4 bxƃ͛$Ꙩ* %0:,=:gej +IZHAXĦ7kI+r:# n= v55KT#//1} XbY 튬lAXBG@q_b[)J +4[lmBsmfGG&8xtÏ"8 x7qr/ph,KوBe/h\ocBg굊Ot@.MS7AH> + Dp䙊gްṋ̌,Ap'@#zZVxV3^l j^`^()F@`vW._ +y 4Iy8?!'> $T]} +!%hN=5RqӤ_A1Eׄ G\̔*Ro{gwpXIa+ P"{|ڨO W^󡹓 diRDA-H +8XnʪzSa@aX(0TxoFq>U[?]m4‘ӄ߀&Ll~~LX<*GGy;P,< +Vhǖ):A;x ޏd i˟hL[YX8q|کc,8'`Ytrm3jT5mK`E:KH5%O6?{ÖI[Svk$;>pI<3kA;uэbypE%GnMՁ_]@\dڥG~l{D q;=^X/9 QHga2 :ϒ9|=Xn ""g8Q1pb;گ4%0%9c@lqt:BȻyB8jCrci- f~}3-{ +M!xe*2>j6Nﹾˇ"ChDL͌>]lAl)Çim{bړ7"BD("&KizrjRAfW^&.`Jo @} ԎxQ+$go //A͓3XҧKm6>׉U)N/&UIBE9B2r`48W潟EL y>ˎzaŊoQ,qgΦ8!ew)wXp#Y)&*h"$MOA'#g9vM :ݓ;#+<R KSۃPh'@F84 h>o%!Ꭱ5:эpCm^~9 G$0~0h, xI@lB>E}2rֱjo|At!N_B?ѱMB?ZKjp1+eԃn8 LS\mZ(b lAe~hG ЏG:0}̙"&2xN8yʁy,o[@` V!HpmA"C:]%1ƃ'N +<PһJW_  +UJL ekJ5׉+46fRVN2@} 3VlQ\oĞ:6@BS\zRrqtՏQk7!@оa`4Hɱ T0xiǯCpp5XfO I "vGcqy<((?I]١ +tuױ`jlL8}hصQP+UW~kB9qI7|"My2|f^!Qzm;!MIW +C=5Op_Qt֎zj<1swqY!B ݛ>)]{q_BC0F=QߦJ}Ԫ'-ɁXeCO$UJ&]2醔t0,ςA l8s8^ɎGzS2ryJ}|BcfGX+ K_$dLQ΍̄ߌNP]nƎ \6RaɁO +ֵn yʀѨd^2c}iN 7%Z(IC} -6D8p!U~Eޣt4F&&qR\%Y`V(=.Q,B_h.~Edc@J^C,}hvNjUoU-t#"T<|Fˆçp3[QŨv4%]'ŅSuaUő@nk1RBt^]T:갏|IܯaUԖbÃ-=bx B6 __:iؗ<ql~yQ^@i aG<&UϺ 7׵}T +B2cE,/]@$icKN sWi0oru0$*0Cg6Sm]$it!Qf,>֪02GLJYtLwt(PL(*eWxPa,d +o>3ipZVGz ?MiXPmxHBGɑʝ^ۙ hcv=RM)ּ%l<Acp6/E5&>D$$;˂sO[^q!gt:2)z ZG֕1udU|uA3qW1d" j,/h}[!369?Bu CH>X,cXZ} +QD Df1n$xiUL ($[WI-d{ppġ́LB> V4LҁoKx .? ++ii0;z[`Pω zInleYBYpЮϮb lhÔD7`>P8O?"HV;WbUH'E7dL{`6mB 9jEE "J$^1xc[aj:ECMxSlXEqlmE&#- d4yTdQb^IA ħ*{YȴjBմ% “Z6C !gk@x:,8PzM=!2#< +!kXj$s0i6\+0r&%xEzU]z7ﲹqAPoz18ޤPN)'8[%־:`P6>"Y$,q zMۍ!E[ur"8ߍqeg>8C:w@*qhEF:/i@:HNLSmmcVj**BXU֡{ $p0j1YKu%*-y]vm5rY>%Ow!Äe\ٓA1|"%~2@4V'QZ=@H7{{^HrMB2!tc#, a8BDzO{E^jOJ[aBe1ޔx.wX!,WmnIFhvƥ-=dxГz{+Y]^Wt' +n7U  GUxq*2< >:ʑc6 -wÇ#}ƦW>(}f [뻯 k>{7߰r[~ɋ!v ~/k˚|_꿭|?~_߽p?1Ws۵pZ?W'ۥ__O%~Wʾw!+LM_og'Gv?-솽m ^fق3SdH'Bq̽Ͱt!3G܁:\~J}hB9 Wm댟KOY4DG5|Yg8w.Y+:0̐5z-qM&>3P~IAZ +*|PEٟN+hRDs w’W4,Q5;*V5bl\:/pJHbM&9)/[{Ӫ窫y0) JYժ`>#J4_$&uI4/uVkzv۶(OV-q4B+`Jv_V.}Xo +[aozW5-yI(#].8}z8,\%.ajLц ]/Fq x+T;?RX]f0/j%* +_& 9iz;$m~{ 5&T:?(Ke-?+| hdh'/6*ht E 6m=P5S/O:ZѬKJ@#6]w3֕YDPU%;XfÝfSY $nwU,_c4w$_uliM4nXx5hpi]Bwe 'ʑ|=ݤ)]b +4@Az̉axՖudH "r0y۽00Ǫ{4$\@ B)ng 1ۗMNkဤq +:*W|nض0Ajoo~9Ⱦi'^'?\_GICzzĨ]*c%uK0Eqzb?r,H0~d!ƒE4a`u'W'{yutȌQLMOMяٚe|za|~F! ^QCD,>X#V\V1Nnz]!*C=Z7<ԫ  +ܶ@/n gUL4f"n2㖈)W .cC2:S_$#?}( +h}zp84o)T.ozhzr+M4szH >]i~ &/<4 +mimJNPN/OYnmubq΂?Q>UQZ`+\ﻫb[K]r~{Ł_Ֆhyso_Vy;;mxӕ{ l*|8䭠ArI"R9a&Kd iI *dA2he&85P!% ~!Bb7m4&UA`AhhJr=ܤ*X,̡<I2S]W$:=K;>{H@}=|ZW4yJ%8޹qAz'){wGM]zn1Oa:zw#K +zٔ3_p\3cQ>>_:+F@*K'!/v`kR<o;QgQzסAm99QPmdz9j6jdNuܡm- iKKhF0pZU Q-w 8V(Ԟ%޲~4]3󫫀-׊SP8߄Zh!E2] I=kiѮ۲%lE~o]doCyׁ@ɯ}S PSj?5q]r4 sD G[&۾ַfv'o6f +otL C`7:޳6hl;ESvNW ymQR_{O?Լy_=G*e~b괼U32hAWKmݘAa?~) Y +Xv JUk,ʂ@F1\+ (a[~L˥sD)vh/_r񋯾 nFUS} 9ҴXM += 6JT9se܈u /Dml}) !EiJ!-<1,ѯ1^w̲6Q^7?'o>j..yp.ن w}ePۗ#$eS>žm~Qo~Jx~?ox(d߿-m%{$=t?ÇIqLJ򤇕Kn} \>2/]>vv\>D'l+Q{Hc- }Wc}sч&%X $P{'̿/Fxy7 qkW݌<0%z4^PGPsC<=^Sn cz^ʛ{b~go?o~oo?w?gS_{ʿ?x2ͅ?~o?~?|Ï~)*w}zw_~܍~_g +lenGWw?cO_;u\;_ o?/'vBD_+Fԯ"\Y//1/^~_5>| S?eLI0m5Ũ'ݦ$P< #gztqU2vyl$ag(cЗF(f=%gIwebD+,V1wAlN7Mnow' w:̨S(Q6n:X ̇-Q1jxoW}QYˊ:Z!{'eG]MQO.؈[5|(  (:[t3Ulhe +4h5L!]oR 9^fJ TB +;“lv/b[WI57Ra'9@MfE;Ma)(ԈB™CTRCW*du W#gzU$l< iHꁇ\ 0֚," +}R=rU ZWMi]jyACaˢmD(vܡ +Ϟ W27{w/]:"L1d/]CbHw^^k-~=VwDkF-gT}fc*K(i ao yY0)y^7ñ, gIT!-Ği +xu>'16Dcl;{olJmbH<{SLT4vh]'x YpVvӷB,ŗMB{3<1X d`']Fۉ" +灇 E[2^y\s?K>%+2C<~ FRؿJYaЅ zdkEWY=d^w D!鑅^BVoE JV?yZT^LZ9+}˹w~[b!ͭ5u$mú9Ԫ3֭1ϙ߄+3=SѺl>G4̋ +aZCajy^GYS&c{L\O:Z5ϦGpi5  =-)ل2³.Ti=kGR"=Ϟ GN]!w8vpUh~8L%Ez8Vi/_ﱇ ΄Տj-2TPcZY콵(ڭIS&6 hfAi9Z c``$u5j7 *k7\^"Xl7 +Dwl*P؃Ӽd +?{0S 1X !X"`>$I/W0x@ 5N&>;;P˗`CO4F +B7fe( °xmyeHIE~=  r*_Fז ,}^7AG6jKj/X +8ef2c/jds9xMvE K= +]i;I疮bGQw= PBcr)ym+ؚѳtڲhnF7DyxD_c4#?7F{EFlV V=֟a,cdO$@,|+aW5]N?c7ݗ>Z}ek4s!%&Fm*"1$c;)pP+ +ګ=j(@I"zMӨREe!8GSaKI%#5B%^! O$qFpt1 P~9 5_xӪBX3vDcV:܉w?Z4,TIww>U@=Y΁U:oxq~[W=^ ԘZq-[))j͊OI?A\A?y~6UXkyN{QgϬ[l*%Iۅ|oQ_]=h\O "QV|(SNPK\RC8rtfXtPg D|/TH7kx~BU^ӱ5 Fۧ+mkb +!l'_8Odn_s`TbﶥzN> -zD|ÅR.g-`ZPbz*uZVBT4+bKy8G*١M+qhYvÐ_'?F=rGL1Ѩcn>=E8Y%iq}_S (W =\cj}Za'5qs}%)I=Sx[I=ջq+Rw# +q6N˹_@GM;ؾ+z1TUP^14+ؐSCqJ劈˷0tږu&Diߎ<ɗ^k4Ulj.C*eB@Gb5 dS\8 +Rn@v9;urzkDb +vXȓ1zт*y@ђdԳ3ʠ#oC`Ky'TnEXix|qbaFS=VQ|W%ZqjG,J8`}ID02y.X)u-Zw^RXR뼣K' 55b+7Hah|o3BLkk2#Y£pW^›RErL(nMO'ws_@@}2)JiP> _ܮk+0ӎ9fѰ+aъ!mI#yk:UMo[f=,FJ~uče٦&yrx]GI^색cņ%RU#$V0yIM8(q5tnr H`t9PH䶥'P}&] +;J~W~!Xhc)bS>IZ:jy\I;zo$04)}l4!N[ܢےyu3. n{rp1q)ucXRo..E_ t)ҎKG==:&4C< ROúr6}4L,C(afó5eg75VAC-55>"]=>6){RVܭUgOCӲK[y.In^ f9 jPa,緁* ]u.c/c%,'OpPZ +mSGrVT*@HZGwM~;A?-aDdCb( ' +0? :Lu-8mGum^*`2Rb)nX)+uj^G!heJ>漲|Co "\YDkSj1^m)Z$b`CX,ǰ|9Cz;֊g0^1ܣmjG@,w.Q3(bQWu_Hԉqg*…1o'tX4e*!`~@Tn>0DAwU3hӄ ao(D06k-+\ 9jvԁ@N:ș+yݮ=ۢn@.h[2b}Nmp +]حr+`caּ)"xv% ެ'F9~:چYu\{^ p5he_-aw͢≛^7aplX򝢎>.[jaB0F3P (0/.s`mq(|=`8lBz!!eQw.{[BtSWZZhCKJ0Cv4=òMAYM7C&Ti2ٟ<މ$1鄔',|mYawf.{a,N‡ Q'q`r@vjGelPy+s[}d yUd 32H#,1I0<'c.-=?{lB(a0;w.{u'9ݬ.x=HMC.q;F˜Bz5qWh]ʡHjdk8 3;ص  w6&u=YSAnv 2Y }|"By$=pCu + +>J $L-/G'YKLekqo_xo;kG,?+F<xS6&9p co(=ZvۡYS=`'{Q3JS峹z B>ʧJL"@I՛<^ʉ~X:;lY38vE83+ͣѓgLm(+'u|e 2T&mdScxj52oJOp0rݺ+l3OYks:47'%Wy)C .}粂ҌA}})K:y?Fi9(U} z +0ဇ +jKն24W^ ʫȋ!4Q P}؜ ",賅s.<ۡ>n|h 'KBȠ*wOiz2%3=G0:?΁ ~xEf2#p4YC&GfG\?ɀm wsdqqvC1 a: ;4jHֵ{Kw!v|>ִ6|'N …JˊIUOlDHW2 ƀCu֝"W)%4 Oi.[Pw,uGπmW$1Ⱅ xFDC^*vޑǖ*UFO 7d +p[H^Vߕ;BwT/M/_+К ' ד{p~o8zYN0XYQf\xAgԬR5'r2TNlQkG =7cG`g~O `Wze^&ky} srrFlq)S֞X6?!c[T)?ϱ=5sS[`sҥ.ZMt6ː2JYZI68(X0A,%TOy-c2@ID_zj/~@ɫb4*ZY; ZcE5=+ b/0!f>D~!wLǞ;+z9g8h\!{J%豗PIEʻx4āt|F['(iU(/OϽ_[݀ߊ؈[5~sr +\ :r& 2l)`%3U ':&LOu#Xtrn)'$$Za Reѽʙػރ|I| >C ebޝ(v":N+|e5hU:A_$A/#',z{n?VQ +F)t=\%pPU[>k=|mB]3z+($;dɮ[ <7c.cJOE @82J K%>!{aAaGG_P>+b^sveR{eA4lwmQѤq >=;cͲl@%=V@:={/.kIh&(Eg-oy֠U{xa'aNO>g 1픞DIā1 ,cz~+Xrv, +Po Fq6/ߩn.sH{e Q)b;&fX] phxZ>M2VF d|N;S qĐG&ЮW .7>k롷]lx(kECu 7vԺX.BbETzGzvb̫h4bZQ.(7`sV}KMN(]u;ȃ ]ȢBA#B{S󲦜m:;N1 \7;e y=yyXq*/+HA|% +p +xl _M$ρ~ߡ*BXmg0s!IRb +&Fe 3xOȼxIû\ `+-IncP+kJjܰͼGYХ}( u0Hn㗇՞r^MҵH!8#VHDj/֎_*(Nڲ>n6_4 z 7.F4TNK$0S\ߝzҋkٖra|Sܑ,#ړi˥ᏩtR5Za1dPO! +#9hYM^[$UOw]|}]ܟx8Sv.ÏY:p40ʺqKƕ4Fa:FB͹LL9h;A&qd:TwnedT臕ffܭҼP%] +'p-hv7 MTQ!`(y:!#_PEܵOCǺJ>l|xDwyK5gwD%B |0f,;@dZ=.)x@U8&uD}{8W`SDa'yu4 Cj.K2<ѵdb%JZquW9;n~4Ͼ}r,XݵD:ە9fB5~W=p_W`;;8 +8iМ`D`c%OH1k6^"O_¹mzاzߡwg&B'EN "٧rB6+ΗbjΗęC`&+[ւyz/5ߓcAF1|nyR=~^܄{sbݹ tEa$167 ! xVc`y[VUnXy Hq4Yiwh+8Ilkń.`WIz_/Ƙsw<o i:SpD $fFdƀyנ+ +7T؜*}`i6gRQIfE갆#yaҔg/`1-Ы 0݁,772LNø@$>,r>T 0 9-9fSo><饂We`76f7O%â+dZy!0pbQd1f਌Wc&bḁ%=q"+ +vImK9B`*N Y4(9pHM&}?nC lH!#6|VW6K=so𢜤i0[D*a Y7'V +&Ub!?:y!~9yc5OB~I1OH@} @r~"3s}M̚?rv/ֵ(w+fT O] "ky\˧'({D{cX0awѰ3-yH_;xUC~&k5CR?W֗y;{ +88֪OJÞ5 b.hzۏHj6<.6ʹVwS@hr@yS؀90h8t3]!&=$Х]=)SSlМ}Gܡ\ iƏbt Y +-n19D6sj$H)6o0FĐڼ]^dsٰqߖo*Z0zWt·D#ͮqh0|!änBI9еP/ (q'lJv2h.&M \tȿq3K72z>2ĸd4:⎵O'^:<J$@ٻ˂7[qД;HGVddᰙܒ ϊ'Iq(W8jN< =Ɓm7`\NIxn6&e>;m` +A37rEc9&<){cnޔa%d'78H8ix-DOàQ1k ȀE< Xr Oj$,Uj=r,OmFohK3fl1\q[f*&x$aj q$4.40Ƣ]ǧgH_zdAtW HQ4Wg=6X_+DN-زe&75~A]:C[LQxCB2z^D ! +QU*dMH[s%)f)+g7TL}MOtv@o졏$*DT{rS_1T7!ye2DYc-;m%#1M6"ϑ&{u1 +m+Ǹ%E>L83㳢]aw^'$㔮\HFYo4 HWۖ +1z>o WVȷ{F6M}7 HGuT?cNs-O7'pcwBLWUCqWޕ2OÿKo'"n{rS_]'FT4&C=Ge(Prni M#x! >,YVii1c |'bWD)R\ S`4}x64L^H>-+5\0y+A\!a7l{ v\ qh6AxЛER(M?Ed6jڽᮂ6$yi![_mۍv~a#?m|H$;0QI4gfyr{]PMOOXR&J!33O0ѣNvhy Yvț"cvK?77B2 ȉ(:`M' [蕍]+>`4bQKJ !t7z gI:kě1̮?`Ӈ?=nDTFjﳗnG vPr=BՃ:dݎBk +~wdwqv-L$*eQ4A>] ++.`3Wg9P>Ԯ +$"`I-j20o!p+dM>%ey[7f'~[ A^3 lʺ["NCmQѿq|}MrIe[%)YH7Vcy}laqtqNCIϵZ 5rl<ɦwDcݓھ<*NŊedUZ Y'=0.I^oJ:úD-mK -s8BOtG@Ǽx +p@Ct)ءd-|zV7&y_љE_7ߡJ;IdC,Td*)oi>F[\HPd~6DT!A<~FoNWL w@* P\eZjn04 yRTy罜}i'q5/q/﹔.bnqdWf#2 9 /73"Qbɘi '25W!ĨS`P03%|[H | ,p%ՉMi _ +> +RQm`큀~sBT܍W1X*?.:? 3~)SbJ #&x i .N$}7>+ߘ1F5hQ"D#ZR97hSs!o oې'}{LQ\idZ\TF]ϱN8G0y gƂR@MyH"`1Gڟ)ՉƆsɎ<4.<-yw33tV00wnxCO筀YCUޑ+ZPBKǺ\[_1ŧH4b25/C?h_>N&OF q32epKwN.BRGZbTk('=<}L{?7W 4nB!B_y'A#qQ!΂ҥ-`Q[cvh +$A5Q;=4pܷ _Ni':ѝ)3^t,'y|MCWNzCo{$X4hzB.x*{A|" +7}Mc#Fӌ<(.̫ ̈sF|~'g͋9wA)[VR4Plꍽ0oA:x%>;ȔXwGĄ}vmsfmޥXV~/-*eHu(xA)z_'>(3/UI9U+Ikayɹms'Yѝ!pQ@v!j ɗjq(3oG`:t/yG4#ޱE t[Rs_gto#ǘ5 +CRC7e-5W&UiN#omȹ֟)t7\ѵ%! 4d\S,;?=Al9@kaـETΛսzzߡБX]zPym-SsMhmhPL[MO} nv~i ͓``aHa m0 ! u9-)h:$7w( d5/# 1`X!|yCMp( ,,Fc*‹ &a#jً8EFBoxuF@,A*wvl$ڶR1H% ],5?2OmNLd=j/"r`eԓ1LWkN"8yb1ߚ,8|Nj+r#D{~\3674 #P=J+J(B3';jj+][7DpOrEdA7' J]-?Poα6"hOÝ(^#m<^qu +)Æfch@թ+uuC (2<_vɑ`[*/"2Nlf.H6_R0هym\|UBSmq~g麭C% <ik^za?a? %൝L MгF?WAw73ȫ"} +=E[rL#P=X_ٲT26gǶB;fJ2IB%tncd<P.eGKzB_1aƕ5 +mԮC.ϚcZ XmG,X2+KW<(,w=tŬn ^pJN1H1*w. +,[13"z/ELlzs *'>H-;`By>/&=+( Cޡ^!#F1<M$b3Z/A\kvqq-Qic66ޒ- +'͐Zw v(D:C!2c_+a!ER#:!8nL>zftĖ ~lG@ܶ˲>/ZSQCR`Q//4]vMh ;#@[^B \0mI=V+14#8똀I_T}PT$#3A˜Kh&2=`l#>Ć7:}M…q޾v@Xz+/kLv@} -B;!Dѹd +˫wNrnk#*w*18ψGR@ BtF3"PlʙfG/Mx&#aDanCz+7/~u!7.r%60ȕ^"?0|[9XQVܡyI +D0zʝǘe"y=+X)DO#|1 0rmˆ3l}(&:7xEiLJfGTr:@o!Yh˝2*")׮̲6|T/,¹>_?xy % f,hLԸob\+ُSvB㋫r28ΉJHnNCʍ6(,B oˣeoJ9RNCm$QCZrE]t[V'f~P[d"K7i3dZ 3ܶ[abx|x>R< /?Ȃ{ax{O62f:(Z5i7@39{{MaCQZ}pAbNdj)kx# $ZɌ =(:KMT>-:>E,I<5y@x%/`uU?%yItLDq"1k{+&vO >AjȲX~>į'H\;H%AE<(,ho XNWv9I}DfhI>s(0H]P]- 7M4' R3= U \kN7с=${Irߔ"pHuM-q'qWو4e=AB[-oВnGLn);< +Nb$H6<ќ Evf?p0da6)Vh%yp]0PĽ=+A{SYnR+?O`tpgs0[/E4(HZ=T\ow'OS4Ƶ.P+2OHR?N`}>8+_c{ ! "1嘐 O]v XA|`ۀ|S +S>4żtN#J\\w3-T$6UE;uv ABЪ>՛'Zi?HL8PE֧ +G}E8lGC˭:oӔԷhR-.t|F4Vq@6wd\#K ۍW@H536"6~tA{E^!s"Ox+O{\{bU +*ߝm9~=O0"ZB/+W$o0BVe3/O{h|7GOB{@Sz,7 3_ֽ3K-vbF0I9ɫ=qP!)x.p;zȯ:V5=W#O]H"(AE .W␠8ײ:;\rgBi @YHF"b:ثBa 3 8n@рNvEMycwQBq{("{~mbEk}5dM8xlyҽtЋZo ۃ$qoCzt~^1w̿fuPX}6M<1F,1!~R˗B0;O,"h?/v){ c,~<~Ww,;ت9V: FǺ˖82 l\9U 7^2Ŕb7W42JL OM* RJy +45v{/(ƣuA . .G`?Ɉ !\TA.(idE~ˏeyZy8Ǻ?)bY- 0|M""z  D[rp?eKu jpYk;4*!f0ØbQM>2Rt"+e(z']GJuNńN#]&'ۅk$4#M^^%oYT'\/ƚO5M =j"J&̞< N{1$:rޱY@ϘFbiI?}]O~q|#BuHBg;۠Nr&M0nz1N0i`Ƃ#{D"| FN\f\rZֻDY!P[x\ޟ++ <H(շ=L`LvɔqË;`,y*/vgB:藅? mk7rpאO}Vc$='P][޸ Vq u0i~ '1G\`z?h=0W\ɂӓp#mvv 258Dݫj 1T0<9|zA?Q$FtfXm/*gq!P7OFegQŽi0E C$~wDp@D9[;˄'\H ۂvmۣHәocQ%H;ELQuw^GPA_:%ƀ Y L(}'UrZ.܆ilm AK{CuHgoO[.lOX!xC\FԎ)!`l`8 +ݓtpmpv9d:jnv[+)z6f Ө~[nf$JKQ7P.D˧!t.NC[ɂ`X؃+hp͚/)MK̟pߡi3l6Wr%[)f@cw|1Hoa'פS W)QHXqq<8#dDG!s*$~Q},1y BZ6ܶ,l y#ɬF"pͯGĩ3iM9HVuH+kQ d*dJ!8|lu *&b&;/MZrAxX7 ?qNUX R(6+sV@L9i}K'nGǹQMfʠEQeC3~T*fZ#HQ/v4u^'nbiȇ(Hˊu:_Knߐ$sN(<&P# D. +8"` %{u:4C>Tji؏M|fu"2V2Zꓝr9@ 8[#UIh'݄r%OXLb*E.|2;_n.9x +G,¯f I;7;Xhܢ8F+gU%R~6+Vs.CK:SxXX'ާæ_ӒKf 4١,`fD\B%3m=/%ݞO\΀cJǗ@=bsҕt[oXm-3Imv*G'ACpx'R82&e0Pu=ƪW  zwR9C&7z3 ' ).x4 ^Њ`ʏKd+x8;ӃQ,/ۉC +?:"[z"gOШōG|XAEN>4FS*7]VYWr&mIlhCHh}zEK.Y|pf1_^}|#(vlj=wCDoz~3#.;';7gNOJ}N[ovT +f&&mN 0{+8hϱ8__)sOLG΅BTEa)b^-BEOZD5TсDn+ ГDLK 0WH" ~0:8䠳N;N@_MC{ԥhvne>.Q>KT|cGL[,rZb yVi z^6i5?ta#RAq.ly\I™jgDbł@Ίmt 7vr4(0@, Jۺ)$06sg_7K`(J{F]h#S5l^$G_}bCkp2}%hw\wI +q +=0+o +(yW]!C IC&{Pj P0:P[8FpU^Ē+}\/bc*CFb@eV#,ȮMQD ů;(Q1`B"zn[eʌ KRT,>2M}#DZ)GC/ $-%cf9 J)w'0bx +:~%)E,bj#ռ!&k%:p] 3F#ZSHG+!kr[ĎKo"$3bQ_{ﶻ9F_F/Z7;T&7QbfndOF4G.SEgn|,گbf?M-,kTTB^vkrYӨi\^vXɂ4fR57FۿII3T`QFxY]7ʰsY*YuIWYz^fIsP%3P#l += (&f~Scǔ XS9)%k/n"[$SaFѳ!R1Y/2 JqX8uX{Hz|Iq&kpVc Ft@',?1KLQ|_`ɿ'W7D,Zրb+G}åi~i"Ѡ^cY$1)j +xRV3͆2B"Ij%p"8{qe/ k+I^ +ŪbϤťj.lrVȔ+URu ^fay.{xx*^! + uo{3X=m'rbs 7 ]T"i!^=p,us4-E8ST$\*|8'I{fa-]hK=;X]d%=S,M&ݡnjU"Dɛtn ܶ$E"HBv+\O\<_(5,eL`o`\P𫮙#2OY*ROT)! 8?H̎W@nqA' ƺ&WČ+:E?HH!nCQ\8_N+I ؊ 1 7W5;UA%otI0~".ơALgKxs`dJaWnt2 +`־`E8דܦگ/ +F2=ݐ+π[6qJ7 C +In=LYClA4Sc+bA#Ay㐒0ܾh`R@)pJ  ;$? ]E^)4v'E_p>pƞ62$WF6HedHGĢ8*Wv |bs:Jĸ[&3mAO+Z\f:P!ҍ*I^M;y`Tϊ<9y8~t| 5#m_(PO;,,PW6M2L9æ!ii≝; +Niw fpZ# Ef_xdv6D]k)6[ؼdp&v3G:#8= H5a$>Bha{ 2m{4Bݯ)_-E၈} tk&nHwIYΨv[@5FunDo,yt8Pf; FK@<@dgVou$  Ci0ygEsXbcFo k ;,kKZ ~^RjV2_MbSږ'nQ@bhfָDWC)~|.xLpH?v:PO +pR*c$Et`?aO4rD&ݹMC, L(G Da O?!~1X8!B*݋/X"z:hJHJMe@lW 0~59ȱZ)[јCI89oV}GZ;tg-gae"mbc/Ȭh$a<͓'vB۹:`p*!6Lm۸"Ϛ1L?WN,6?`G!_DǹUO;'`~ޟHDХF%[e c ~'P߁x~N*`8aA|qZ :Am4o *d2`u +|Ir)Lx􆐢.&Q! $+kҞxP7GUj%)ص] 7T8ڽ@㲃@ vCÊjϜܸ7wbߑMVjUnS|u |D\WV^psuukWޖZ5I'Լ< c}ptg'bvXqʡafV?O @VfÐDi+] BgH78a6kޑ_5CjD}i9Z$;(=,!)y^#MKXJm@x"~bNw]oP!4oaJKfOF(Hszehnmʵ͐\ i0C֒D;H $`Xف„nx.RJ2ؙ5UhԤl%OC!4OqM`BwB 02ky͊`ĺEXhZD]`7WTePT_xо00;˵a>ޣE(64VCjuaJN&; +_і٩釾t)nOv [D$BVwڮD 1z>mΘ}n)]Y 6MV{,A7=T2ڡX4;7[z$VQ(^35E|/1xH̝L DõFbS* 80j *!bS&alViSSj͠4Î(YWaX$D"Z׹dlLnÖ:ʨku{y~KSx5@|DB05|f{j ~ض(@ʥDۑa5ptV~ik@>BE6p6rc ̠,YWozcSryFvK祚VnP^~@qsO,*%<#ryMM]bA\nx0oCp.*aO bZ"!"wM.pkm1 "(_y d& |2 l3\!p0 eEkd5zLL3'NGV)Ƅg9"&C#,FY6wFW`Čs9K=w`Tha+{^?m; i9ׅv&+7{ޫ}fqsPIZA|L/% F >=SzB"n;- /ՌO>&cb%ϭ["*\>EW{t_S~Dh2|} q0d*DbO /D"+էByihOYIXT~x8_ Kf%H"H$ gޟC9Ȧ,ںv9Ȇh ڳaLf79賿Lf-z W.#.lъj$$ +[mSћNO0\f]kGR@<xzIb6AlmӞ(b%AQW~vzhiE7Hf)K4jSQM+UӾr4Pa1T)^izi +}|Ӽr4U"(bD~qxL{Ex!SJs,Z` +RLiA`6xx>r.W:0JW wM kC~op'\N3vi xϪ!y6,ss2KolnWDj8Τch-Lo2KԿ=A>7xv`H]'$ž{H `7Áb[w^ 𐸱h߬.O~*vߨ0ԀCx,nu9g_ d"*WI5ѝ*gv35]B>ԋ(C*z=tQ/ k++Af.E/uǶD,NѵI>I֗*dc~pjAg?_c_xVBLI!-b%w:ҚSkrԎQC\'SPǏ#I¹q[zUo4϶{vt||\ + vth1Xd`ǀe:93(abs|ծ}ztYLAEfXzmJ3o+EtXnaeT" Q"Q@nC(~O|Ir>>̩S0=21:jbIAne` >`9p))) bثn˅Hvڨ'^>čHN`lໂ=x|z.4L$Hx`BR$]lzq5EL-aMYыquiC@t# .#d +mi+3zM;pY! >326T'(@A{A  +ϱ&WyY2P?=?*; v0d&[$^Lߏ{'iF z-1o!Ҙ/ {?'S˿ xSH$x +ݑk`[. Jv2&jBFXNЀ@HG$g ey0@ 98u s ltC͐Y9lbJ3nvZZ+&F}CJ"@|)B +]1dE1j +F.葃9by U2=?}-NyhW pb|u8LR3/`~V*_0gY ZAn ) +bWXSf 1+} +%f\pj>%" +)7"&f֡q՜mS0|ĭۀteBa}fn[ŗhwM{5:6gܱ.~EBNӞtx+tʠdF`\y844e6 ^5TPzy !{]X%*0սUj3Nou4AB2܃:4w3gmό%k +\S <_$ŋϑMADU^&,E! |EgQ"ktqJX2'j 9Lsj`1M?,P=4Xbcá$ ƿ3TGkMew\Qm1;UtTQLe;< +endstream endobj 345 0 obj <>stream +L*pÚ+KWؠ^I's~rг561(%,زlo#rLn6=a}z'e;C>l&ݯ^K8r@)'n"2+u3;@v/o,K~~lVCbje//ae|c98i~`2(>4 +Ð%PaF*m?uzu,A#SY1eg.) +A`I>n`9#}Y1I|D̮DKyEHstȸ7n99O,@vo}%m.1rR +4 JȲUCNR1!L&%W!Gyl<&Q!\\߬wy(؞߿!44~x׸VKIlZntxj]ٍd^d)Q87'Jgo5f$Ig]"e/`{`>$cį:sWJ (Wf~[t.A}Ԯ8t"hKP+t ٥`0#8Jy6V +8W {>!!'"ъm"X]t}-#V `^k}d(*&i@VEb,՗Y1AQ3kѯEU U Q,a 6 AM 7@P&]\UXY C Ϋ~j4.[zx0E= |w0K|(JnAn@E/ழ[mG|e:(9Q 0>wËyH 0RsL)y +d7M0nrJ잊J xl#>Rڴ6z2yf(ö=cE퟾AHf4b?QֱU +#[-d܁L22=o8X AjC^)ƿ])s n@ }9̡Kgi-Sl3b2fmx%$j Mʁa;ʒ'kyÅ|4.}N%?~8t<+)`{Φ50G2}$u+9Db]yJmݞGb2ZL 2 .u yuR-RUPg)AW?KI|7 0n:+9佄d)gxwB hwRk%/G 4zqu X3"6Kb"dbۙo'S^ڞȇ sq #vot\^ATwQI)Nh+.&kki7&;E!$u8&P1Y߳Wשs +$\)Zs盧<`2Plu]H&N7-I&-NeLfͯH1#&d _l~ƚuA+ҍ_=XB]蠜\E5u0w4J*eԟV;&~ zOJ*T1Pxa?{l4TBO}d=)'8T,CVLAs{^z-mBZnd |}1< +<=>`I Sf +-t TT|9/hܡJ;FwB${u98X +cB@ˣWA!ңFx/&ۄbj̧%tl |0!W Oσ >oJExJG4 6kAMH8? dҟp@"8=$?"j$1x:bvјuWd)V} UNJkTX$3$c}A>cxヽ6oX4(ۚ9+A{}~~mzFdz)zHអ.rGR Ԍ.K LX߄P' l,/Sl֨Mò&cQZ/Rdq8?}jd[n4pvi< X Y"zaI:GS!p~Xea}Ś,~.,cD9dF}DĜZ/& Y \S`;B)P,78!>^iWaJfjw(i]%qsPc!^sBٝe2?xإ4z@UۡH,l-7i&Alj2_y9~a`}J +cر4-WYմ^I]0cf&S\@\(4>h[b:X»FF5}N*wwɑd٢2A,oȰ?XDمB&de{4F}\=M'ugf_ra6vG}҉GT8bC +Y L4X։)""0Ae^4Ϊ +|*|$M O7;ܼ +=6DP[L Dn5h!7/0$iDEiSs,HzۇH?xovO|A/C +6aD=upf9]RXR3NBGɏ>-qÂDO!O+3Y}L%v~H |X^;IiC,HZ<){=1q@B8ʾL:\> Yɰ;R h$Mo'7]  +sGt !|"gt lmT4 Tdkmڤl3p}$cqD&9&7dw9eZp'my.~wYU?,!׻zR\}D4p}Ep˿VEF×u\q=y‰G);ƻsX;q6,Py6x_uay? +KAI0u|yXÝDe,Yc -M 9NxG9|: zǀ[Tl7pr`g4<},I]~} ":cm39bZr`{£JȕE#o3l@1t=EXkohtD\4d&e3k$&E2/~4"we獗X - %)YRn3f6 E$'fmEڠ^?;[`:V_ E6%%#6)#e OazC@dΐ-~Je"D~\307$tܝぶ>a=,9]iQwa.Z%*T(ut OqحG Zlhʆzj0;ԁz@vG2Li8لef?D¿#6w"pkS-;Hx>\!\Pesn Q"e +QaGl fq#'` +ek6>hbQx% /8gKGm9(K(114ÁsP;99ƃ"*jHu2G wn%mI&O<3TXjP?,[LRl +4 Bsw7aL'YLJ ^INVCtqmZ^wˊrYpɄ TQ3x9iCc_,Z1Aw  CT4 +ؕyj&#!9=ݦTЅkOP/ K%KjQUMã+z_Ym'ebUIkX47Bm':ǁ3B%[Wi͋SǃC0n<2וV~ +D &H1o ;$L۽9F/9y3+Ǻ+F~E٤KRV$6_9ˮqWvoFqn+U;48hDu]`ac, ,I?*Xk_!8 ZeAf:+`(U㬣Z1D2ws|xɆn!p7OZ6l<z-H[ ȲN"/G59ks?9 *oKgy:B33 S%g*=%4V#<ޔP%i!6!r(_6.B@ҁeσ=Bv4 ,+)d`A:cf:~3\gԙIc7 *7҉xMupn&Qs_ETNH:tdp(iO|1E#ծcmkQѱ!YBmF࿠8<|.2䥞D=Ŏ4a'bH?Wpdu~N4O#sEn6UezYDLyОLx83p#|$_פl +r‘kwx͔e&rx^1\ z}5ߠxgC^U-'?j /^0ⵄZ?`b^Vџ_byݡϮ¤>v_swF ]P\CDcj' +I4T:)˱K'cmPA LJ +M ¥;|y7o_rI'F7 m?~*H"yoyȟ]2_~g/o /_}ӯ対^~~J_՟O.xp t{d{i~W#/?\?+ޕ}_adtO`ZU['~͏//? ?-?l!٨z;j̲M +S"J*{ ;p/C`b0cOr['A@㷼Xe*L@Å}mNY%/qkd`6=:oj],«dMiE#S%AΣDݰIKh*!u$&Lо_D;3yLClЫ`,RezS[ʺ!MNtVپaZ8d2B]xemwn~-`jPw=UkM-JwKd~"(kκjw=[y¿%awHIK"K]=hٯ5\l'LĻ7HD.C(\ӗ~Ac9[B9TWQꮅ8"iI0{a1ɬ iBS^kmOJ<‡w!zjc+K*WF Ÿ-DȮh|c[~5={1)]4u{ozUx}e2{?6xy{/]|TVKZ7\ (#/^EƍҴ~4|~PۊiNm%`ёc~퉟oK|TU* y((@Tݝ[]v찡"g.&`??oA2ѶcQ5[i14@HIh_)ytRAHc\WL++IC/2)ϰ^'tz{e#~ZE߯2go}x" |&|=G~?=b.Gy_D#^y#% sDSK ~PtY^1|%7& > ׃b{a#9oBgh?B_*%xCӯ/V5! O90˗g;R|}bpjȑG`ҔJsГX8`p7 -]%B.6)mD=J1GN"WnY~u+MO%ʶg*d@uΧ2װ~_p_7*4]:K/8+DA7HhC rTО6 ,IOkDOyJ?f}׌z(Is|U\S͞N q^Edzilgتaq2!3;?gW9ҦRb*Fr!mko!Wa5,nT&ru=uEh) eXu<ᫀ]WCIگ2;ޢ~ݶ#]^ b5T{ҸBZ)T}eS)F:&`;%kKPf HzU-%dEg}ou|{@"/_PŸ%45"+o܄H;*uy =Ut3w~/m!;+i\[2EV)B-Ɉlw)Rw iuw(`|6<۱v<-/xm?E~~_-N+\D_HDVӫ2%&䐭,: +L6U-G?2M<>e bqŘs[9Jgu'gQ&-Ё?+]kRfѧڭ+?m^~7?姿W|~vk^,뷩w\sBҼ^şpKR7 VlVz@$Lnd1½vH$fƮ2ÙAJ%L엋g?ӇO* /}l6e??n.r"J>!{g<v鸧e/@&o#c`7n]a4A^GUC "K}lAu"oGMͫ˫7_%duGb`~I|~Opdzm}<|Io owA +'~[xؽU ;i_ +~?@~4w*{@ku ?K뽏 +:,:t׏3VW/x ātxlL<_$ ]LOpcA*/r3RxK]%k*r7TgGϗ:!!*mʫ| J(kPGMY ߲^KI7D “*rop7af6C40MvI*2q~␷_W2V*f$ rc&5sV+~~7bh+Y2*]_3ཕ۔W;*Y;Ȑ5Uf*t/듮VY׿F|a& vAM.bR7aWq˅C: +சyE'Hn㎨_ +uǂ!xM: ؞?W& |(7,1|胱p$et )QڶA i?{KAZ&NRzXP Qo>dX|Ё5PJR]6m;$ +fˌʙc5bfQY!RˏG8^f0_]A3\-:ۡ%amY'5'IY]s pGV;i _= ч={R$6חu,va{Et~ A j$Sh,6A1<,~.r)b؜kx%GzJԤ&L4 }k1"&go%X%>S%4q0UdзX'A@0C[0eQ"ЧQdTfoAGqч`=GCZ}]`hѬBJGKHQiZܽkL2zX@ӫ + 6*W\9ٯQ3Uп?K+CqX s#f` zb4Wc0h Q_0erAwZ@PiϡY}IH`vヒ y`z{5^*FxeWSĸ/X7aPρ>P=[WHyA&@9FXM-w}1[eA\9-6SlnUfynf&\)Z즷oyf.0{Vi +A?H=qnFa+C1 eCg_e˔ꚭ\'f5 0JfJ+شmxW1[uSh4 ɐm<$3m*{9ʣAnoI?nz*q=%Qg6|ԑuE>4̾{Ǫ mt-X`=ƬnLU[i+2qxNz5Lgt;[AP *AᎵ^HJAjo%E|iMM/lrd|Y< QurY])Z3Vu +)NM `+7ǚlZUcw?+:PׂS)w1\PϏ^Ӱtc[qD'<ӀP2eiz.o98Lrkr)@7ǪdsobhbwA)#Ez3U5@v4W"} =nwQ| 者ȻІpőM'J9k#BY_}_JҟϾe82p ܪG#2~'gpXiwcF|v՘4m%"7Dyf&abTfĽ{V rLLz!Fl&MiAxZ3V9Ԝ#&ZF~Z`'-2)bL%6Pd#z C">E.]ºTpBQrckHycR5'OÒ+U &v B8ĈMB>oأQj & yIc~ +e: xIuw8ّ0q/7dZQdcN=O~TVaom? ;e]W;H@0jtJ'n/v"K@OFd&Vu&R;:ui8u(vG$/Shl }5̮ 2\62ne7qI~t[UimnBjf]6Z_7Fsv´ W|pt9CÌ1MB*#/cp\<(@{7C/_;23O=:(?. +[3!:IoPo$cYn=Z093 m 7(w +Qu"nkCə};= V w`ή5x^Ljj:ciPǝu^C{ $Bn(+$DpVԬ5AX蹧C1M(fm>;ss H` O/G~ㄕ11 q #NFԽ0P xx0jHyK>1G~!Ԣ6tBL"tlc\Qcxw_䠘qU"yB7_`Ttm7$686eh&<.f!aآ¸m-Ai جp<"%"0a$\Uioxm5O(75myq*R^cIN[7.}é3b c)eBE:BW;V♚[!I?MXf^dFwGRnH {}&;Nyl+ajKH vAZ6حI ̻zQF =HWʊK7a3j: :xѼP.g=أ~~cC%3 娬sv1bp,zβ": FxL(v{p;'wCFeE/Kn=IVXqm%*ǵäpkDHE\2|~wd +'} Ȧ&|oCnGIkA$H x>jazNעE_'BdԁQp;+"o=ʾrktH9>Z7ܭ1.ӝY=F7N[ mnz+%+# +AUA,j5}8ݑiFQaBл/귡h<[wă%'9Q$@j^j}9d%pY#*躹\T:ordWq >uT%s S5:t]V_ÔlSzNN3"yC5HS%rd9Qw m1 +[(u s 1t6blX|y;H_ r CrM P.伯wU柑؟QDrPGD.^ cڨ@ ~5teh쒲?6FtK 3g&I!w *~[ѧg`K-&x>*0xAX !P?C]ϼI!o!hJ`oEIZ˼G{cJ3si@d.g~u |צc:,r +~g 3zmkgDثT6 >Zt%V/WAp˪hpק3w.7ԆVk (J?w=90F-mͮ_$L`8!ӂqtm8У|xN{]t2gFsr4b}'N"7B"qЇGMA5fL49 +T§lsv*eLη HS[+NN`!HkyXmMsOґܜ1a-[> +emч&䘽‹ +/X7m }mBg4>{#RkIw׎= DS1P5ڏ(*^gbcݠqѹmr 15-xgWsm?w~n +Lcr<ʖ|Kێ)z3d2B-`pȵgiT@r}ةi(ݹ .V6E#8$MKab;=Т +r21aw4X g74i]  [!`GMq+u6';H}Z1;cVBf!?y]9 |$]!8z+PrZgRcl>9˳y^~cdNpw_C.psN)&":RI^>8 uppZŸ.e+>cE7Z`ٵURjg57OYt2ec6-l:0W^;Lv0dMU;fLܵT`qb>]İ}%CM9AgT>j Vsi)@/gL2/VUf{C*S%d (w +t4C&z aoS8m8  Ψy9*$Sɴ'qkglfԠG/PVXgL&4) A" >\Տmq7(F2i(Ab6<`||ZB>)A"aZouSFC#r}㘂g}H#HKnC zH=Q(`l|~ߑGSX$glp +pexށEF`񢢇tOʋA4!R.sŐ-0$~@;z=Y‘54`>Vxeciu)b+t-r]UfKBJ'A\N=d65߰. a# ;5#k\,l|$G4`Jw8} ץCPu ) dV,af*8i-~}vϳU Loԭ+v ,-Úނ{.ng~Q8d _|4o.`"b +wM{ƒ(L2cp"2Vjezey9<Nzˈ Q9fu {<&AIb?cmdĦsCD-?P^hJ/|;5.5~G˝*)7Mn#!j[TZt#joA~ PMf MjxBZ?vTLƴ{Fk ]BW @+S/#(`5o ]E'v$#e@OeS0dx\}$0P)"cY[`/N)ϳ(ע =eS>'Gpk@ P`Od:-:<|\ӠbMSQgt9N[V~Ag|sڝ-ѝӛ2aTy +|u AvEk0l"0S wnf r4umo8³nṆC_Ase C>{t[lAv"ɋFԩC?I(v˃eKﺸ+yF-cNTBh5ֻGQ|x},j +b)bG`Vck-fk \hX[W&W_.bcӛ*jX`XÔ+*8 l~i^uwe 6uttE딓|6eyU&IC)ӴD`.iZw̙ t?,4lVcgsɤ`nt}k:氰GZbM'2,Q T*Ŋ( Ċk`PMvœ&s9ei m3k OӍiN|ve:Vv`0 Wҙo`[= +-rɡ{|FZ{ 1)Ah>?p5 G8Hn3xEU + 冼p)z2UvpM219!#i=)JjzM.φ^`_-n7ô*䡡Ư4]GUkqq\!#92eQI_9د³^]+2YX5&Oi4138o*mveߑܵ؋O(x_a򯥎1cw(-d̓dK:atGŋ7Pj0p5:l_FpS 9#ح,8{?EhR??kv"G~ 7hKOt@^'8y<_FNFK1Ao o%+8Z8<a?TwzC랼> “9 fXڧ-MX [W/p_X@U׵tDr^OT$ F/FΥ- D|*YG٨3JU4sVC >_b V|r!-A$?C8W{cr{.kh +[;u^@{}%Bpi ɋSچYWW rJeAT|Şwua/kBnOhi"ͩlеa[ ]ná݋rgLf DYd=RfԨu }'y +jͯ643Hlhf$AjsJzN .:;0H",DaZHd9TF?<>"#U5UP)ZA;UJ/X75iEk XlY*K;򲁩;I)D_oa+q|\X +MBVMu0< $U4F}}2b3dp 9ѝN*.e-[R)$L5k'mxDg1;~G"`B1 j8Cbʢ(٣t 3ʝ=N_ +~*K^u!5[s4kˍFQ(}^ +7%= y%h̘W|"`hG'OeG<^{&iyǛs<>< z.tfG*_hza;Y,M_'8 y*8?*6+n\4%)!0QC(霈Wv,^= +eQcذ%{#iA/ThK (\tp0ږU+)Jkf8"ܢGXq9 J?w3k)7Z8_ReP~,< 7N`cVDt16-ʕr̀Nc፼>XRy{~T;06E oPu@O!>y|JKbh6moᇿ̨}qbk:YtQ B <3u{c$}3n!ă8 bc( ><5@ 0&FjGApLOTm7JqWOFD@$>]LL*J9u|J)v4&Q=DXuO߁ȎhJ838lqdT@jܻIMН[*<:H0g4 \:jԩkG4eSZ`f(ڬaAH7)GOg[{Qi8/lo-}D i;!cUZy_eV}%ᚾ7O X[o4(5.d!7ɆĖp)?\70W> F}?[xke$zX˝@3NOsOnߌmn :dx= K%&3FΉ`o~c\; {ސ)y) M=ܫM0 Hyu +Zbn7[<׈:f^ +3Zl|J;Lʚu,c[ LQt^yX20*1"V{t]좊TU J4c]oͮq7<%Pb\'*s +xJ$zCn8ڦDwhurt"9mM"Zm55 O̥wϱǜ~YV9%H>y.2Q`xWCS}a[4.ޓeKs;(_3tx/"5zP 웵kqIsG !ECĔ|)-,߻/lԅO? @I6駕 ^&%M!r赬NiEB#dQKnl;ie u5vN=|R#uk +0T5x\2aÓ~2LfA+l -$ 9s0Dӳ[FE]@~ +N@3߯ݟ_aHSѸ^GLe7jߛT!31ϯEd/զ.qKg馽F)~'{jo|o;Xz%lzDr nM[Lx.S( I lqF$4!]飆wEHRcuɖk;zt%ެ}]P_WDv8o^/\ZõmzIYHDo_#,HTRW2y, AyD +ba4o1/HR[4Mzv/u?epPު޿m 4 uD 7*ԩ?鑻ճ +I7o ~$7NŢCrLtحm ssf .;p+ v< LmB"<йmsՖo;Nt2#ˢL3؄qJc dN6Gq?uRפ?87QPWbLRthwd֘l4o%Fc&gcoJtT\\Q[8y=q%fFһdJngIOaqk(u.^<'-Gq኿-I fd-Z}֧ ;[aDUn0e>SM ܤTUw&ZOG'zii1~'ed7=) >YM鲿#h"Mt9h[INJKɥS<5`V i4E~wC s^HgѦ@s=ھ[ق\DV1ШA1NL_Y+4\mƲ }{*#ln!TYͯOVZH݊H,d{0z\?BnObd8x) >|Z7} +4H%!!{~n0WD}ÇȠ*FaivaCƁa&UU&@4($DaOGՒRQpQP :~O+nm*krR҇?23|X  K&ĔWo|sD +  XubE 3x-0Ǜ5a *w&F>DB(;J8kJe0s8>-|c?UC˱[Ul _=E})PL^WfBjOvY|}_N C"EكCDf_P6)C%?p_8$Bqʍõn4T[Tr3|ore*]@K!0WR"buxLE@Cʨ D,کpf+\]t +dO;jb.暍[IlDYR {D'" IIR^AL8ԥ281(LhXb:hnaKK)3Xoh89>YY*f321hn XHLx+# ̃@*6 1q#dw PApvx1e .бI)AWId&g=|4.l>lRfX%У&e#F4 dzu԰u5?H'iqƇvp=l1vYg5rGlpc@ƺ򓾰C]w;ʎ֗Q֯psK`ȕ 5](6pEeW5;_s+gJEer%4`r/wu?t<'˹+ `M qV/s4 +foNo[,ƇbSAŵoi'ƌ"h +4i OB w.p983Ae9l DDQӧ~DLE}رbګ,`voI!;.}]`UFDhГI#F܆ʎӟ!\VK_e[kv2PvZvy!PY}AZ"\ح_Bs"ټqk!JݖQQ5|jjgR8ˤ|';:qѕ.[hp_5}-aTq kMfyyCĜfkYx|YC7p* voK 48df_gЂLҤ6_BV8*\p_@чQ$n5XDꉘ^,e,Xh0װ'!?R!2Ybc y4!^˨ێ.*':dgd)t: }mm f^ =:!Gj6;/L79$aNGb.(m[hM`hG G*v$$Ƣ|aXDx>!T艦6p0$hp|Ĉč  Li#3>nvx:&]~R.+Pt2(S*. 6 +A䕬-N̛Nz4gXp_PZM9A1ܯ!(GS]Oأ+:nKw @x|hU/$6c%\abLd4yAdt2Du,ј )7ixiLm,*cf3>zfaK`cz*HFd D6qy{ +Ta7a՝ &J<ЫB|""NبM^DHw`w|L3,[ad4ǖxAZKk#X } փׇ/#+r0حS a*AZF~k7fP FcP|&jh8dCCtQn~(phGxecF?2nqEV=1+4<6oB*h]̝FFʻgGӞfBX6Os-C $u Mɽ-V^ۙz*!:ObӬ0XP2ٻ9 +%!D}P$emQ6ͳg4sJv^Nld붅np U&){U&zlEY3XGC +LZNq'DŽ-[a&835+0\C?6 g$FR. :μ89lPhڋ)#CS~GDCHa+".eD77B[^>gA(Qv'wR +<[PQsEnaeu`x +)NDisG7֬:톈Cl_(L2"OI&s`=t'\xE¨iN)0wCjx?\뷮m24FX26gM\7V$#5j)ij1pԸV4L_p/Ї8) oe)xeG^$FwK=>6a-@l2KCȝ(Iǖb3ʞG." ~h4ڹn&e[p<=5o4`QR)^NMvANDΟPC= +2NJZHVėxGR,Ž&Ķp-$0On#]ߙb\)BՆa#r.CZsE+m}tL&%_iޱȈw Tv,WK+ŵL G+F54 4M!>mG3 ""G!k5zDԊ4>~n,Bbw..e"}e4)ՊM Nٶ{u8uM%L%:;AjNa%*&!`YUCFAO^Z.p!=Uol,,$fy`# 3H3Sr_GUl%SÎaP+T xarz-M>pr2>A "G0wYk= ',#s/_oP̨uJL\qx+ +oZS%*Ϡ_ i .ؾއy[gc .Ybޯݰ;Xqs:4M/,R1?@SCa~r9_$7׺BǷ#p8)M,nhȲriC53w}ydްH,^6.mUN j#3 N;qÃD4;;Ehd«nEu_Mj Jz8IQen$b|Eԙ| aLڑἡٚHSVFÉ/E*ǂ3&_gq >8DQƏF2Py͝(: Vytg8sL; +צ!UqC7(Je +[wx:AWBF(< $۾a]C_ZĬp_0ֆIud"s>&xz Ix wxՅ/iCdM >7"%yiK~ +WT7W__o8onҩoKPUjD$2p,(Cц)~Z}3W:]Ù#*Z="Ν/E15Cb3}vghF +؜YIDjii+2o8hw~-" 9 /3N]L%Yӗć'%Us`6">Bᡁ|~ߧ I B,8j[O0ͯ#owT)s&쌫ASF[| L^6Yp=K߯ܰ^uoӺCJ>~=*u/k^N nbn44t]ғ&)w&Yl}8 +PzNT;z۔v[&="DZ>; +7 FtC!qqχ;A6aȶ[ %q1~mdz܁$3Q,sxtȑ ()G>@EHwNH{;ŪI1-*(4ezx`fm)>#iz-JP"NL`ƭsz`e:j뚓ԑ%aW)CBǚ +'fAƘQy~Pf:Q7`en:/&vu Q uvMD Yl8lX5ɰßW͛W 7 N];ZXCۅGZ.1 @C13"1GY8bliSP J*g{bZ#y:R!fn$:Nr TIs;[h}=ڔ "9cK_E`1N,DpOGIP^Yn(Z~ 3 ;)qMoդ/*)3MPcaơ&Ez^=w37E5Ozfθ(Z\H88$6~rd(JfXϞH]sH^ 񣗛]F}.3s~/B^Whbj*B.K3 nu\.Wu@( Xݥ1y@GZ=; +qn%12 +"( =2)T2ȶ`AbHܽIShMmFr6&6zv` T#&E#Dά} f1KU}r_1#e2[L7-^5$goAy"d C̈6'͡Q~ʔkHe)0iH3d!te7GndpHuC:Tz*Æ`/%DviÕk# [>Z Ydً]jRR[+[&>x_PZeVLsQF# G,uOS$pޘl<435ܾO<|jԈ]l^J8S 4,v7 >ur^CQamA{QaX(fts΁[ew֭`p.Ml}Ītͭ)WyOz"ԣJ/haH0v$›4 E 1=GfB7hJÐXDZ{y ltSWdM(nܵ K- "|Ls=?P*w$Lwj=L̷`Go>>ÝJMcNʥKum++IDG H?Z7Ȏi XY7gj M~gjNpتmZ1JG[I&+VT84 4LU{m[PHd=c$Y`3*H%K 4Wp+j`)vnTK0J?^&kl & +ު14Xp27!LreQɜ;KSN?BQMiXLbHjp4d=^gbVF0Yri(rֱ5hw2mw0V;$QF1xS؏zpHXՕ c!#G4IJ&[#eT.n گQE8@ %^ZGOEȌ^sq(:n;mT4kq@& `1,y#Cwx!6FJ9?( /ȥ)ͳKq8znXZ mB&}Xɤ}*Oh)3ho S°bNYpp_H4ܥ3* 40a1LLu]EJT ;"["W4.*2i͉|$=& Er[h4HO&TX4,m'P$R +df)9k~RãX,ukmu݀"@:T/'ձc5 ! D2Ն}yks>-%y֚kU^xnHV|kIC{ k%v%x*#bV Y +i7,{i4`ںDœR9[8\%y I_ +цYcn!%z2 6X%PpVj1_l`m ӇFtj˛cFgv; p9cjXxšӈ&24/=(QoDe5 Z/>u0G.ā`PYn"]# Jٷ:&TW7CP}me!6B9 Ag= J3.# W0fч'.#ơG y}iQѧ\)vE!cz0mB5L+ӫXEYIJ0y;2-6Q}EOI׺B'8LBFh85?Nq!Rs- Q:(>@xCtZC4H K~P 4fdG}x3D Z^̌N4vKY :zMۿYY8 /MbeF +~KXɂl + B"'bLNNhIqFO1}A^ksNB)r. պ!ptUxԌ&䄗2] +g8 Ϙi!L/D}[,|z"g'QTjs !shYJ^ꕾ"t~gãDbNRCf)ңyw;{H V +BsWH$Pڞז.,׆8 @ qC>ƒzVQ|b&@|_NxhF=4=ku<2W4^-;сg ?M'J OO EXk`zr +0=#&HU2;Qu/PHapuiQ EC卿E6]2C}+J~Gĩ8Qg&W(EVnlN +[5xtmgH]9@jD&U[ڑ?$QNL?ZW,SC!cac.NIEi(vߛ獠(d<%)蘪s=%auY7p,L;0=H|~ ,ހ4kh ITqdvnRE0 Ln_^{);?eBGNxY"4)sdK}}~T)7 (b fq/gsXevszB-F@Epƞu!hll`o4<+<$re Bv+ ơkţ(N-3rZm61ڡA +]^7?> ej$-ECN_ɶ Sȭ5h_agI-~Sڤ+G7CxV>0[;ōgh. E@hRW`u"r$h>Ax&E0ĬE> w|h=#͒ '-1Ь"''(Nj ~=i>BXȁٝɫ&btzm$?٦@SF{8u&% SLɦyr~eu,28AH,25v1MCɔqF+sKCukɎ[TA@0$l%N(=שpeB`E@ۙQkLcv}ZGsx?LXKt%(&tgS:]{< U`wg=S6$?GA{4f|j`5 vEJ+DĦI@@%·[krm )NLo`廙^vw]X*6^hƇd;QF %t1.lI+(8ٻ~8>΅,DnVW.S35%grjja]JeW8,PVa4ǎ\9D%a1Cz!2յciʵLySزQ =/e#a뱬DT~.7.تrK:TrkƷtH⣥~ _wD''e;2v2|Z!%x5!Yo>) }L?xBN +ecrn9H:OPeYk`q}Ӓl3ӷ2LUHB+O"+H.Dazti=#wCpܝ=hLeM! [C jy'9S& ̓S\,*Ẅd +03л@0|P,T}t:-:b [Tˠ8H@[dRUy8b*9iT3 ɚ)ZM* I4 ZxEqu82+ OoM W=q(>]f1ӯPeZhH\Ph#2'nb?UQ^D?q+NCA9i `(6.L)'86`YcC\0}kew#G޷&^GC rZ#OҨ1B4L{$ Ea!: +غ ' $gT\5Y34ˈMO֕|Ji*A]!˶ʢ;u$Jd(l[.z8z/ cjQcufy@$yL,Qg֕t_E9^fm7YQ5Ah gLYI(iIX|ND*+j;R@\zX"ƛjl9PUk5/~q3 ̠Zݡ%PQ$!fbB- D(V43n]`O$W@V`Zf_.fͭ b1 Q YpqM"g)R]&13[$2Pyق,!/Kq+}]~eY, Ѭ}zC2a;8j@ ò قckߢ^n8w",e N4EL6 l\ن21=ASXĶ5;=E2]7H9ZBg -^ɍ%@!1j"S.nb6"hL zaƑpw?Jh,2lX +N|TbLȮǁn&_F#U>\<y +RtH FTxr9oj@~!wxN>7D3X͠34m4~ᅔ1}%=䁠m;I=Iרn(0^r|!Y"˟yD7B|0+*i#Yh eƷxN^3YمvO$b$94ԼT=E#Q)R2rQǮzXu qWsa68B2d|i(Q<|yu#WQIc#5u%O37:ŷ *8SD^8!^ %+q񶅃d[4!СɄ~7UYZ#E\K ׁZ?QH'!JMYguoĠ$0O~ "Xu_IpXӶӡAsgӹT] e::K]Lޞ[}HfA6h`'^F^DSF[b~ #}˗a@jʳjo(ɕ٧D8<<%.^>RscfOJQ!a&2l&@,P'#DP vSѥo;J)5bg3z=t*kg$FiAzP:DOqn&#iD@\d`:CY P=xY~2cٿ ,YwhFVkEۑ ZɺٳufD|lb ޣXvgR睄o<v̕b1T%c:(Mg(գ?P1⬍d?^}#M—ޚ%?@ħD}·vAɼsUvֆ`Vrsorӥ^@8Raj;szK wB +}\btE L^Z$xy%NŹC@ )mz+2 v ҙ؇t`P Ū4պiz*޲4d [/ L9x)JbC#{0 S C2C+o!Cv#i᱁$H!Mv! 3{i'pZN[wwj9`b$1ɵ4;K C}D|rX| +@Y]6zӘim$1 +(9KI~:A 0"Auii,_#{etr^Ox >4|Lhp>)K~o@,4n%LܧIݗɮ/t?J=CZ.e)RT֓/ xA>w:'Szf$ynaHRc t.9@].i;:2ɘ +e= Sr&')_yؚ*C'I[µv';Ri>/ixbHhe@]82f$n$* `K7RʡL8R$aJO!zA[OR~oUE޲͛Ӓ %1 D֓U0Cqg +7^0w#}Ɛ*4i> +]&nz\(veDNRI{͂'GT" +k^"޳Ђ]p46y8 j +9j*q:;a3@=BG OkpJ{KPCa1/z>ZpĦW Efϓ#;1zo@N^ICs#Go6-BfMwLF9>cKv.8|Bw1Q WvɁ< +uBq[P?ÚI {Qܮw|z`0:@kPF|ڐtm4"S|Phw6$?U|(1#ၨ٣6f0\=gR-3E%/k.g呦 $Y4.#@g,B$PEr94fT1ns0?H3-:2xa!>3==Oˉ ʃ$7ã^4t*1CA;J_PuxF۫we&7D<ΝV&li:FM$ ȿ@9 p(SU5.\w%F),P.MLREwfxDsrB o#mU4ey<]Q3ۜ'kGC(p1b(VԦO#ĺ Ɍi:ǥ[17:k +g܏W0))?psLpғ x$#G CM"L[U/o.~MLҼ݁:֙#pNB4@,eУG]#{t㋉Ic׏mDNrB^C}pc3B1#bX6ݣuٰJ(#:L,^$vpE[ibyFˬp.b@l0^w1Z-b[FG!M7D`=>fG=hϚI(gT&an蓏W `+ f;,& XIΌL賬QC:=B6.' 'MكHfQଆm|u %ܖ-Vx|PnK7u$}!)}"T>ْh1"x +Zk:- (@]E1P\Yݰl#K\*%`i;E j~~pS;5Y%:94:]<*ɴOiC^JLCdI=> \KfnfV;ٮVv|@ D P#|rLNgс6KʮW]eѣ]&JFlϽn"OT6g, +Ҝn- 60:Z Dn +h}]  +3eb֌ZH[D jVvbY TIJSyWMSuⱑWPBdm,PJo9q}:bT< RM^R_q;'Lg00 +bD$ +vY$ڬGiEo]ˤ0{F$bx9M\"YZ-A-wׂg`:. 3FS[`d+RҠb& ܴK?,iҸ tn1Pǖ3HlԒd(c qEThfg;[Q^>YpUqUY$ϳbzNqOTo1': $Pķzx zMknH! =Z;&iY?'<8!^zG4ƾǔRqDQw#b^ѷhкm9mK%DQ#Pv$AHvq{ Qfnî۴FEt7Ax\Y"͔迯0ڝ:/!&T!p6GfLB5P;n^/?1Jzd!f< +)t#4Vcn04':֝fM8dtp"Sl@k*ezc͢!=,`o1$8.jP Sᵴgu4,|6 * A +4׀: 4*iϳx$+.pB1 CM ypT:6͸h>N2)j W)+Mˆ10:_"q,R&z;Z|ˬZppPOvZJ64"8gi=)@Q[MfH؆“tx&sPy{ .#}5l:}Gϸb⫁ RĢ㏢!*hWWD)`= i% d0#?'tj}.qmpG"d8GM…m9GSظ15xWF[V(cD?gom<|J>U&,jژaS"\gc:08ƒ\Uk^akbJҜ!Q涏)Y]p*0#Il &hr ҄yL#yp4% F^i6ˋۥ2\~O sT^j5ؖO*K +wymRQWc ' |G:"yj';5иpu!$0,>ȸ;~QA}Exˬ фʜyY 0gǃw{ϭ.RG7jޗ.t>+w ctux2?*NI!J9ܸt E6 ]@ץ )I3D pyl! M(i0~%Z }z1@:;@n"E +>jG5xO_ؙ'$$HaoGc7gEA!๹Q3Wz1hKR"de:ei G7F*bP^ A+m4D7I xhaTeD62cǮr +J&g٠Gww4<m7lj ٯ5x0^0&L<:ߵ畓T_!2X*-Jb5g3Ȓxqr +:neC?(Ó;Rf5 })U\Vݻ 'djG+X %^Δx. ؆?q".tlV;-4:Y2uW|9(\s'5g3>TepU{p'VLmfдF +Y{:t`1H tVG(K{o5.)v sځ"qf =vE ob--M+B?^\jw#{Z5s)>ig8 r(z>l;tE^_ EɗH>\`Ak IhCk:ZsYCzheW#,? x(3L-*0imgG]bJt"x&(JҎ\P% O 3[zD(LYwN݉W6x*UxH N$gC6]^0dS-wHѯ,d4a Hãa "] </| ckAtuj\0!F;u^qCTp>C/k-+BJň%< fQ{CK%Xw\ V +s+H@T%ȗUdЀ^t$T#5syo/S䃺dH;ݰHr* %TyOB3"_V7??{[w'?^E {AWsb91q?'ۥF_?f?+we^һ~/?i벇 A-}:F^Dޓjf,P;2&bl`}GT8xXa/@oݮ/s-Q2҇V yG&->vM% d,EfJ or/1W"l]_g,o +W)#x*$kLӾ +F%KJt_ՊR<7|iR!TP(8)'ʇY)]𺢊+U dSY09?u+q k`\Q,zol(UѾA {w"ݟ@ 钽AX`[/Vp@ I8e6\q?R)K]BtmZ>Ц_gwL**CŇK)ī >P!JRm~;sΰNV^̮n I8pcW+LhY,utibM?U?a}PF9 +W{ G_m6P)'oV02T-"zeu^x¹fksk)^\߱`Io7?+&߿?◻_z x>`h_ aJ#2RnX}b/?^k=-LoR.fVs= .ğAI`ltZͳa{# +Pnh.xlm9}EO ?Mi진w?4g^\;.,{68jovƀIZ `,a + в[  +Vǹ*C lAiok/{\ȄpN*`XUdfv@`Z9XDk/A'%Ov-+들O]}۞ +uہpAe;gbapۙ>.ސ18VR-p<'咲I9K~Ns:&;Gpwً :-b׸ t:D5WDf6tmζL]_=[{CwBɯ_{nFBW"^9Bx$+UR@ Xѕ0+AW}Q 2v/~7,b'/[ۄ.mE +N¿AMdv|_,,HXy]dAItlIGs7U ]oa":rrE}QBЧO1ľ.=~ԛέ_|^K'?_B{m By}tO}n]GחGMۉo_G41G4 Jc^'ј"1o&2wLi}۸ȼw7j|[<2:+y.;Xm7cltSXi~Gio#L5K +wmqR"!g,`| z(4Cw;cg׽ j!]-w;|yUQa'zӯmocy3;* !Zb1=~{Q>޾X1ۏ~g׿y7黟ܓ/___~?¿7_/EpdP K}`Նۻ,~O7?gw~yޏD㽿f~Oos-o~wݓOiyUjBrO-mSK /otXS93c{13?^޽;: +"E"j;>wHyN@ cFQmw$E)jG0U7RLwKrͣ(&@&$1gA0@DoXF[Zyv8fYd%Km7"s${W.@@ DUapAj\Ζ fBcSH$7\keIxt,a.W!¦94\J3nHNo;}Iq-e7w5e픯 sB=(|&X(E@piOFևf- 'Op83 psqN.ć-1Khs|r7" -fY;yfU{o+Ut<4C$};>W!u,xHk8>mdg;0/Aː6g<9Me{zS$69K$߻h^Tf +z`"lSHw ~T}*=~qpZ. +.7Lq-lw]fI!; eR8T C; F[/L}&gqڀxv] +ɉzD.qq801q251=:v +<$n|"xw5yeZq@C#iK|x-%KЃv$*QBf|:,N,c9vtŝíݬF?X;3ض$@X5$ZQ%y En|yoy'Bi,ۀ JS9@'Z㟷M\jNQ63x '\WH'1t ʇ( +qᚰ*Ihl4T61%B2&'HvϠ} +>ȷGV#r} ϊ3RMvj.]AYܭ DɁȴ#/nOvT!+h4`q't;Lu/glHʈ;TaPI05s]@_26ׅAa$30Jv%0ధ0WT.9ZِZ_j=0ziq!ϐ#:Bxα/"n꒐} ^t1룓Hx}{<icb@yԱ_؀hW,P iezng,,Gy㊹(bSUEs*ڝn*'ꄠhq^SW FR#pتn:ve3+rSDm:O1R<8,TY4,RJaOSSѩo"ai# r`ѷCrX0@*hPDvC "@w1-Z`+kI4\iLCĺtmGeΦK<<qYG/H$wZ+/ o 4>@N>Z鷐@0GGIJP(&sbS'^k۔rI%ED[i;rP4dF}$iqb/t j]<,K~7aOVn- +Zϰ1gE<}!gÕo밣i. ]M(fXǟS +pfP\)ˀvvMNF Nn`tG䨷m+P9%AKXƈTÎ!(g{fFB+VgNdEYɇm9~{!Uh::Ib!/ +{WL=EBb~ y"0doZcЀqznl@ ze^.EݮJY v"N:tp\hɤP[$G _᠞KJTC#aN@5]"|l)-}IAQ[YKt:?)9f&I"pNMMEц_6!\0[IIfxSrTv*-f4cqһ!d`Wr;7肕O0J׃l57 @LW &5,h +Tƹ{>`s<׈;.Yڏj)4hcPdPQ\gu0`|x4a`@fj`ݰ" ;D[E?R!C-IP(Up|_c|+c9M4K"Ì;K;[N03t:K$.5 sz'TQU"-ZQzvީ߰c +Wu WY*gN?'"-Pop4U^ L)Ib흤,m0*=pd@kap6mfqU8>>N 9onJ7Af@L73tC߇,j'^,2RJPׁm"ߑ gQJK}.LRH"(FVC8*R|M:uPÜqX59j[y$Z {) s$k5eA9i*a'gddHvt5zk1Q9xsǦVHmp1 0E]ΪTC  9;u躀_u2qԧ6(!(xQ0mϞ Wh5uޭZ1-gZkOX XPL-`TV@evYRX;F, 7*92ne044.zKJ|/ytWR ƽ)%u%lVL|ky`.Lȋ2R}FoZYؽaw҇7?o@$rkC%2L.$ q/Ku[sMtxuTWtPsg0d<*B8QC߁Gs|"}`?ɱ .t ޼ VBF3},k;0L3aÄWZhv;9Nmbi, +NS$9KD 08rm2KH"6fy{a:StdGޠڃI0v'&$٩n`P1]KUpvD~k$lG]c{HAip=3R_.J,>HpAWL\xw^yTK xbhPLJ2bĖ_}= C;Vv +J%e@$ gټ~iCb3[I$wzoYWсr}:= r~#4P!%9q}AIg}e$0ӹ?@3сXoxa6G;]-ϸIBGcHhL ^adʊĶ쬐ohVIAJ `@J0iL̃viB|t +H 5"Kr@G +/1/NY,E3xàLSFU%Ӛ. +brnWxseB3 #UӞk V U![6'BՎ<0 e3lyhϞ '=`8ni-d`/t/ y@ſ+tо}{F&boY`"5Il*5Rr'dž0jr<Mjxar*5,tܫ= Bw6XY5fQ2S#4 T ~P؃`;,PرGÐc/5oVZֆI`'Ulw쭴_ߙ=sTk3 {;hC'-JU(Ǚ-GdSLvX@d (h,SC+=rgZW`m< л{9j[t[FR4X>Zcea6،-#=.B/rTEW^n0w!9 i>2j.p1C;<6Ve AynJS1sт8 MC-z*;L/Qw%#/P=OƋJ<3M[hNB=pEh8Hq L7(C*ҳq'G*vיQ\b.="xRډd:A~󼩠ii3+ @ErxL['04XHd؟#ƕskNfЕ0S|*L!', $6B.7kG$iF(VxL5擳2#xcDC%MysxƝyP N0u;lѶX&;ס6pF{sJ׬o#bZ!n'qѧRwtz z:YMEDhY=Hu xH,Q"8F>wExln$" +k WSC8nyhr6 7{BZļnaAh[Vq%؞qА3@_Eݕ^p+:<w)H|u;S z=>yu'˧=h 'w{ Ҝ`!?ȬW {u'e80=}Q˃fQׄͻ'L.SFbQGQ 5 <$Z9-w)E1ʋIsx.✺r@֊hT^@O\8ӎ;45π]t$]88;c- +vFw! t퐷F3ǔP4\zQns* +iAJ*8d,f,8g-Il +;:lg(+UeDziQEiyhrpʷ슈OKkJz0wV5C^cnYO[*Tdr4kފ7Gȃ,[TWVҭze~:ԇ*uːQ6S9u+;Uʠ$b?7:vsHdR?Q%H cN'HdF,5UYk˾ER4ɼ(EYCxYQ}R i%&ywd`"1s#)^CHO;\6Fv^R+:&#**h.>)oaw1Z BfC=pvfo dMK,Jht)\bQ40D*STakũ)X[^>c"*40j^1f4gt" nъگc"*lKs}Dz v:PRXCOce?eP^(կ^u̐jA1" 2YĬL >2 h~$(บS¸3QqFps1>@A/zY9{>8n]zۈ⽎aD>%ltJтw=֏fN2~y;C S90=*on%i"4(@4l&FHVVil30uj0φoTxmi` {f-D-; O,:撧тǞd,{.҆~? ^uKq}}e|ثdljϱ97]Ca}NHa%#Ε"AED_n5VšoWF8;,ֲui1euTj1G֯cNj4yXyոQҠ4/ >8B 6]6X{)Fu:*nGt[}x|*9|O[oW[ mBS8T-e\13% yAEU* +}sU/y +11BmQfEnԠD"%M~ ȃ'Wrw.ȃsv^:=C.w14 e]Џ.z1!K&tKp;XKs&S~lM^t\g\BO`lFjࠆE|!OXӄAɈeρ]- b1) QP]-UPčREG#$ڈ]zq~!{E{ÞNizBCX}oSDP(l`]`<) wMwL43ɕ_cdWS9C5k*W1ܓ:|xQe^IwͮM[@d ۥ\c E?-VK5Wa`<]ұ#C7(Wav7| g2Kr7,.>˨T}. + {Ehwɨ=\{#6{N SI`AF&4/:Zűذȃ lQZ9Sm!Al. +_&<Ƽ40C91@k=`+ fiyE Qn=K س&Dglf b>)HjA yf+$QbH?=WJP>]7cecS\a5yHwxEXQQ` &r =E"uH6gG=݂TJ^ёų'(ia|&^.#;*sp²3-CfAfi;@_m7LWZCzG +z.W H;;< J2&pa}l +qA^nPL&OmɅ3:hi:Ѓօ~|;-ct +qa$W5iRZ@ފ~z~!BK@!ϩ';ĂB+Q0g02$){ eP&ʸu8\+qQ+97 nܧZIb/e8t0Qvx@g/Hʼn=6 +$3gIh,>)eP/O!z80N ͡dK߅`j#)#L&d?o2 P{#i+XPjj&z4SV|QF XeY*:V@W1cc̑=&pkL&[Ɛ&J.RB02Nͳ +mQ@zC$QwۧGC7c@>9@ؤ\ιW9L',l&jd;%fNU0RJ\ztuFt3ntfn|{u6;BP}z )'*vqpk`RC!RyBWqh NGɨ6fcK_\yĀz~0Hkr_1;)- k:"@y.K)Ѳ+Lbր9zzćP7qy Ŋ .`tFˇ_f$9:W<" +L}%NM)=q:uDzVo V7R%kbt:k F ^a.|<^Bw .\ nigpJɎ<zh!= *-3^h͕H^<@쥭5Z;D!63 xDW V=jM-+@)`UAYjLˡI 5jr9ƻi&/MDCGmJ4el)DӆĚ#(åebDe4/i [v@*U +GZG2dGdGp8Jp` V [\Ȏ0)1^Fp; I4ۙ;Z[ZwGe6&LiUQqqdٌ_Y+":&rIk3,g"()Khz}4E|w`0-n˿+ӹmcʬ5osj+603Y`N-Š7.k4%/L'F,HWeW=]/:=>0m\ M5! VX+!E=b%hbQU5~ct;dr=Qʤ퓰E$HY13d(C2VK&H,Jw If0ԱcNn t4-O *My=(Xqk ";U>#AI<,tR+|0hK vu9Eᤙ~HMXߥ!-N%htgfP9broY@><-yز7j^_ OOPfF7l" +imU>+}rE^LP8^@T_*ږ +endstream endobj 346 0 obj <>stream +%b~bc93-ՔIHP%&&l"X7-5ZVАNaLMzhh>pR,[܁FyL|$,OPF]e 7?@AEC2tv\Hۃ\vz-qސ6HcxځΧ fڸSatS q~a i#X72:L^V*r6סLeU *`roЄI2JL8={ | +;~u 41~m֐ecQB9OP]eS}cW+~p8O-:4I+z̋{r jCAyRwnh)Ei"<6QML % %[<#36xaĈxxa'Dkɛ}3 + kY`!9}hs׮9lKE}=rA g&- '5:5$ +:P\N".}y{mpFeLb{;l#JihLg,Z6? :`ޞwҢdLJ>"CA'uǝHJO ͡aA8eHPYەl'HDO&VK҇I"h~ŌH!2ևX`Klin,[Ŝrk?XHW/nݦTS fSb2-defnzTb)[xL1@BY;B {`>%''(IOnS|羚5xˏtUp?]췸C jRGq82–˩yy7S{;]_0Yć'۠J¨lxB8Q钕 9 vO"dc5xa=-97 Z4{r0&ڥ(~rL`|d( +A 4ByV̫sLgU0k#R]8 |خb K|ǡ~CKZ`R1 >{`I7 [>֮k +Qsߘ98R: PVU.S-j(@\հ +VE\ +G?_f!]aJc-tGc>=ABHSL]p %r+84. +Ũ}OhZe"vmNn9FZ҆ +") 3,%A'MvV(׉$'u%(nh&s +Dǁ"+ɎCeӢs'VF$>"cuAk`:Cc6"҈׃Hc4ZC3Qjgjn#z)f24|Qin L1 +0{ +nYBm`DlRBm7.A =o(g9N^7aQ4AaհoL% 26N 롄܈uc,-6_S]8.+!L FWq(W 롽l< c߻Pм|Eb@$yQMFvMR2 kҵd%$odEՖ>&t s&>5)cpg]uW ,!0i3 0JijÇa OҼk43<9͐*ù*{j."[ge[`iI5qkxVN(r WTT&@xK`(vEł{XUXFک+WcRCEa8߆PA sܠ=}mP5R"Xd\Q)K{"Q(ӫX|j{uY)o<^S9rQmַD}f)钊vR=bz(ZnBEyHŽ\$Z Dr]i>(X5Yc3 @WP>8% +m+/(̮MD|]gC]z("zkA~ ҥ~FEml(.1dnU E*1_OEA>5ydX|'ٔkn%Um1Qtn5, ЇU +14؁ bq:4Ou'䪨p_j!g_IxɜgDXjEVEe"ҌTVW>DW$ϧZDdTBꎄÌ|h0VQ]0PՃ` X F$~&5uRc;l&Z$.fB XIm#1#q{Ll e*NV#^NB>%T/ 60c +狈zڨR ,n$_{m' erב ##ae1t*MZΘOrߙpbb~y]qH)}yB1}}vbR}%NzU}CQFr~U`97AH,T^~'H{d'2y;}Y l5DOh-B#-zN B߬ŝ`pءX1  HR @?yȸE 5s lbn(mQQ>ZX>^ %yB|c]VZ#rh>GFNX$$SA>Nfr P {Jnp80ܯ +rz$5t(G(E[A乷%| +hW!էޑÆދAy+3׺N^<@؇4}fT'à%]imJA}zulp4O,)A#ɠ"!pl7[emhGhyedluL`Y#"AL6~g'bp@& b ύLƕM:=z M!dt,x9HbFCSqK'+/],4ԋT$4*<`8=pY-Ώ(ALlgChNUL%UMնI_hILgDcimZ6PH~C[/c7L%{Y8mW("uyqxְ(dgzk>I' gVA$ t_<78(B /d d&1ٗAx6}[vhi ma@9aرK_x`nb* L܈Ɵ0Is +x+$F\NX0.@;5 00]~樼]+ \tJCq@l"T7ҰȲ4L-:L;HR$u@ylw\d4ܜ$!n`=ȳvI0CĥLJйi +¬~!O#^$Ogzoܵ$M{Ё:v08듃Q{8!oAX!۝5R D&ߡ7i0Rfv{' ,] |tq_yY Zac?cmX2<1Z?~I}t Dq@c0h00'>t=so^ V?BOPBjaw#7XrƭG >>C(B$s+mb헁tDE6p"D+.E {&UL!PL"ZEC}V0%0w|V\jHe QWJHؙ‡)ӯcA +b!B';P -HcL/xwHȖw+ЭqdH/=5ENvʛc3e LcvV,~m +˚=15)7C(d<1Ƽ%@d9 N' LK@4b[5O?fp ʋtG +ŕ(T"5m +봣`+sz{QҤ}`3af_"JAܵ/XH̐tBLԎtERRDPgH\Kj@AxU$w- Wl, s!%Ke^ A{`^XMHLqr a#B('4@B±$E!֑yJȳk6EYLFbqcDC*PwqӼ,^0|P!ŸSiLE%da!(I祳,in/avccV ӵ~BLx +>C0;c 9s5)l52 aS]C |MvAAcaPc3EWx`EAb,`W71b8G|0g^H$ S#@TFFiXnDf*$` 6 X ^w~x\٤WQXPo_}:,r:Tv"|a800X8<=?pZ<^q`E&f"8dg+p+;ܨ'lS!;*eBw` + Q+I:[| L6Y$o;A`^õ!002%H݉A6J~bb_J6dҲ?6rq9yOzܧ %Zl%@ZouG zLʼJ#ntgvX6E Bz `AL!=mtz+V1Dm&=IC; 1`>ˊYAk[r[ +178@;x;bՀ@T(#;2psx`RX}N^B{Ciz[mU%ȎfEwItN*<- 2^/RgE0ŬBCA~"1YɻhCz +Tz('b8ziAs@q5J~S|J}] +us9S"M<{>c F,SKᵑc;aX#$BҀl mkREpOmPdbyt_9Cs`:=4Erp޳~X;1Q[,LT@l`TX+EtIz2/$[呈QҡvH؂͵5SqCD:gh;Cq[Hlb~ۮ> *QI9>LpF sj$HУV?z dP)TlɅv$XS&GHgˋ'(}*L}UT+{e%BtW)3*؅(PifխHSei,O$Dݙ,O DzxrQ +(!l=<<<2) 2gt 2y Ǽ݈8 M(YscG"F[ &e6@`bvCD +g^"] ؾ1mRʽD`"UE"zA}v$H*dّx9GSjcBv&b Q,fCbX]7f&>,O,uR ô*j7١nGP_Z +DVXov"q:Gy0?_W(㔰X8ե#֭B8_xUSGϾ;Wԯ8A +f ܊D?UF̬ yOotT|3.aDW`klf0l7T܎CIt›9( +xVΜVU̼cm8.2BR[:E${8П+6qH0eVoCjSo\fk^l) +wo[CFHc}MVfoӅ2 +h!Ymʧ CH:+?RQ*wLv!=jLDG>=B8drXe[2\W?ϡoQ#; +c0WeX4^A{Q7zCV7ǐZ'MP,tJFbxqJhzo|Xm if3FUO,6Uq;h%* 'r%_HD놝I]Pgz\g[&Jk'a~: ydmC&q6[u1,.!tLd0Oɜ:6}$o(R.JSḵ5IR?m~"U? % W#1#.*h`'"B? N}`5}B叶&PI@"zQ􁓳#H6f18d [&#UuXp7M*ҩF 쓂x{`+Ua>. 3hky \߇b4],FINWc5%o߮씎"'!sv3%H՝l˒>C1zEs2n+靕Dbh><i78#΅l~,CC-nu +''}q0}PP +Dž-1%a",h\ JV`\o"lUa\,"qVB,& q{pBd$ēDZ%۽pDGٯ?b4d];9Q <⬜q9n1U3j +Fƻt\1ÒVLD&{оm0 `6ZXa85Vv ұfJ1gr4e[1cdڐh0ow]8JǴyLcJi}^phssy-I+jpNG1>=xj{R="jRx R߳lG1d(4Dx+{ Ms7#€C4ΤQj*n +`'Jh2Bb\ c`] +7cD sFu/eDUi\8ZCALOPު3;^LӰ(K,CF+}& ݺ χ8RhсPc7h Ueؗ>AlbwRH@ڄEvXvQL/XW ]8-T%ZDJWīW81naxĂ40ϐ5Āwy8HtLyNn(lY7,hǀGz0LEv>`wDQ^at:ZMBNGݷ><#}9N]ؑo'PPCbZV !/'͋H V|Ɇy^::Pݷ$8Җ*;lUgЙRC + s Vs $ƚ5n_%C0Ԕ̈́cTrE(PE"2(`gd"T׶ &ƉhP)(' *^@ZWCFs|Z8S:*:o_o l%,s:$JhU20W# z  v SDQS8x\S̊KgR[̂* 'sFÖ +}ˮ@R<c$_~7qhq{ ˌ|HC/#J7Ůf_ԦwTMhAcg S&L=fxfÍ=F& [71h OpyIؽCS&*5+mfMӣ\F s:pL6JB) +j#3HٷJco7U $8ihwm%!=8UTEv.{ l6zzBCȒFC6;|+GEra:ZY@e+*-hOd~|'A|eY>%=] + @/h2xlYgl6BC9kbbJ{x&,g`$3:3lt ęgi'b%V-@@7mI9g_'䋒^+-NRp@&b ƋO+*Ѷ@y3 E;:[%WD#c%'FfLNٶp`:CnL!ՙpPI$;/d"sކh~czg@ݙ[\XZ ś7kG4($2;Pfn p51P y 7U[j7 e>h:A4rrn7/yof3>o8ZxjH‡.'˜\DM' F4QbJL8ɖZv]|9 khnN킴ů§(ŷ(Ѵ>CM0Y Rx+L=Q)H2fBQHsq}06&kkd|tPR8B9"9lQӰ׵ϡ{i-y%qu)t:ˑ8Io]MKQlLЈY4ORRuYP;P0Mosu˾sRt+;^*}X<%IJƂ<%n#nJG-̌)0l=UR8ND HRqA@H {B਽}x~8GCV;3ޓ""2d9F۸9mր9dJvvVe8լLyKTg~{E;L'P[4X.@Ol1Πb!\qgH^?gW, ÎrϼS03 +ПC^:i|5_>5ZSrytv;᧋VN,g֋}&5IߞZ4!KNqM*C6ҟ|0 wYJ %(Ѐu=M#b`lZA)s.) وt]8,`@8a*@XI C xG'=`֩p%^7(L cNR=Z~ë|`BnH0x` nj #{)DwZtt ;X+]Y%I/@YO"BlʽEJvˍ-ѶW* 4'ktn!0ѭP9 pó|jAF߿juAVvC׶(9n +w ʗv/{(n3>mƘ*b/'^X>g9=!S[Hg!u59OMvaU7Jz`&dpe뭢5y @!NWS +%ͯ<*lA)$]"FsD"~*| -4w$2rJv*9^sHXaqN1@*1:D \.@H9@cWEwY%kdbH.({t2 &:V^ײhY/>D>:JC`W)sxNY M v J/R'ހ!őԤ,7`ԛkɴkGCzNL?A-f +<,UB>@ ^`؃Q-'Y;|'q.LĿ ɘۼv Q&g,LndC]dtq苬x0T^XDށ0ڃp09MGTX74VѥkU}(8"5"BhcNpyEf'/,7qԩhά|$L;-YPT5lقۏ} Rڋ0kF:8%LSb$"9)naBZE! ۝K1оGyߢbIEA'] 2&*{!0"!@"8wkei=:}4k6_ڭaIi>%Y7LcO fiCKȁU+o"U!|`R +$e|V8(lڌPsW`lWaIn_Ce\eAlqpE\UZ@U!xW(Ӷ\Puӛzeӈ] 36\Hǁ+c:.]Cm}2r2ڭ `e/ʷ_|_;6BӠSD"hҵ@_߫X|pYd;=*3 +;H8KH;cd'`?Yh{ aIx,YSX/6t3"t i&%2DwXY Syw#29u$X6Ɖ]P* RT(@pBSB)W/%>ce6My $Ff\/ +a@%׸e$/۟Xft'Z,r)ix 1ȌkbpAÕY&;FŢNy݈$&a?xFRK{U]uJPW'b>ot%tVySEtb_B1hIM.G߫h2K(E,swn>U"=OtHON(9컛w:}mHF:Qs)PXĢB;]$o+EXEZB٢/cH!pBcԶ%5{NE)+j4`w1IhV?if~Bj%VnۓsܧbX1Jm]InFp+QG0AkHTOVށť+K(M ~ ,8&qt! drV*.2<+kgW 2.g8m),kOOT yqfG"jڈ-df!vp_+ +APjU)@,Xg1Nq<<\ԡ_Ajك2sG"&,y@"8_yr\F4q次 stlphˣKLdukb>@)?gGp%|+nơ)b4;T#1a.FCk[|t3<:Ii`0 +dT +#Z{V#z,~Cb#.)q`gfИDVZ!o!)'Tc≠Dm:IP84%I(4L=##QsgM5˿Z:\gI=:o$c&2 @76Oջ1x@#Q)@2*qW_^]NN0t 6/^@l +n\?L'CAjr4J:>!\{p/3Y ٭Y1 @C  l&y9:Жky +jЀ[sn섨m&AZ:?Y'%D) +|҂W/E _o]@x$b5]N+m,ÓR‶CW填DH"+CF8(VWW47ʥ,OHnt#Y{ ˎ=tN%D0q^ (i-KTQ_gB24:gG9f{On_19\*6?_M,aQգɓڒ0B Rm"ANM[PWA (P,sPB"x1/=[!.5sWòju}Sz bc1-tGQ<,*_,RE +,+U;Zdx%|.&o/Q>f{-%W@ PK)KTA8]ZѾ?=>衯#gp{A6D&R0|د8L`=:ke'q&q*>})M~`ȭ`\YPs 44F.A1mT rN]L1֬Mliйmk(ˡvc `0PYi`I 4uJǖVtpzƷE"7WGRȆA6;_x6:G`[{D PӾ}0rdX+0d$Mʺ09){^񲖭 +oWAd%* +*Xw%H벾포 ??~~gO?zw}wo?o?~GoQWUvl4 G2£Dxg!~2.$G'TCt 0s]i=OTH{(ߠ*en989- enBN5Dt5IN+LNzG$ ͽx`#qi!3A[7Ncn>uv󧏨"I`-D5S~֧K F)+Lμ3ǧ_ 5I5ՂhaTgZ4"p>h9d:{С)$\n.D2虧I#;x֮͐DT.!v#;m*͖>jU`S:h)\3(uLŃ&9L7.5ZיQ~vм0ЧjMH?ea4]!Ih^p{&f: +tqptd1vf4c<2KfZ|Tx4Nd$=<200`9L?d%q_OJe| Ύ["fB@i o62;1Jd8B lkb[uA:@e`%x582WV<N!Z;8U]>nWx ]-BsӍ&0 L8XcH RP5XS!J-N:b8B6U夙8j}4:BQ,8AEh,ަȫ;;ʑB1ʙ ȑO`Ih_ $:0' (s3$GwE^N}xk8<ǟ@:bxmм1[wBJnfY{\>_ +r`WxwEN>Q8&V,Bٗl~ig1,ȇXXO:-wM Ӌ⍡V`S !p,3ݤeTdy3b9zLkt*xh(%IO3֦ ]!_mT=I4yYW$aT G/[5stvlt8q1$ta}bN2+/Nxҭ9O+Y8~؀BIx\L8x<6mҨJ1ÉdN ÛsX QzMpQJz-m;g5 P'GD_h/գUX5R VHj0/+J h/Yd +ۀzW>4Y[dtXǡ>JLBlįH&ϰ<Ju8Q6݉1ދߥV +TFNlG "1 sl] paU^d{4Mna=7 ΋ ͂/XWD܁qdLTQVy0{cM?C%BnMTi\載c&쁪RЧo>"u&hrp[ZMV^ږnN-Gփ)z>ؑh0 x}J5tR@:P;<5:Mz\rE + Β 5?=)|;1 ӏRp0áIrа/UhƮT7dHmnIAЏi.F 2ɉ  tt]R==R'H[4$*,TѲ#, 8jD`NiqhᎫeUɀ@0zznCCfj+,/XC{ډ>ee]Oz6ZQlT0G(xɄP95g-|+252qs"v2[$Jfzk(< L.R+qs*D0kżYkݧ +(++G\0nD$$t}w !fz.Iiڠu.o +3)>q<S%[ˮ S#Ih qGb~c}=pjVV9AߚTЕ53vU7 +ʅ-eZ9˛S54W "t$N%`S]?{3[Pu4?;!Nw/ˑIPq -zyT' Ҫ+8lԮIp^[Kcu䰑u05]Vi mL\ ru2&4r(訏|r HR|l'C;0|K8c;8|%RûҮE6Aa,9'R_.EDp.hNs$/=Ƕ%+e&/N⇻@kR/R@AC`K"7/9"װGV _7GHD? *_EDx޹_&3yc8!.4$cݥi 'Ք$_VU0*Ǎ42YGGmǜ)$$&Zt`춾?6H ^u~_R\=Z*w+8˧vW`2h{FcN%kdžP!pCThb@cFZNΉl^O1!Ia*?M' >7F_Ǘ/o>[UhclUS\5?Xpkg%丧MG XH!#1\Ӕlo- xg@Yp"Wok2ȵ2oU1MŐ.tgq(=fœ-N*QIjx1n-pFSp~U{ ЦlNtmBt#r'LZtL(1}QE(7+<0 ڶ4B/ +˵/!{]8cV N|^Ɠ 7,p<-4G^yȷe:k4*+\s22-ˑ`WxGLF3r(Ow'!KږmQ +99EC=nEGum~`VbIHt>eZF@U /N푄"38i \Y݅g)0WO<ѧc +JςCH: ~ch >qӒn l$"Fpa+0{ H|gp9k/+8証 m cWpD=A}w+yIX]zlڕr:e5Ss4nFPaXx0ٓkhc Jz{t1rҪїkmX䓹S +aV!3m)[a]otR0#I] %wh!H1q `Ӕ6m_$sxxNL.o>d^p='OX5؎O&ƻ2w):LC%iRQU`c :ZS7`A6⺎\M$rCz Z @]y?H}UdP hyeN,ZІ u3HIVO}=|Ua&2`* >N` YSbdǤGIrQG%%Ј? +uI}.Ie\ !;_t4ooC¶e[1 zi"A +GwcC}x MS8U߂~xDB\5vDuwvt˞~ƒ;477iɰW/=r>Y>${V(tz91ar1q@jZL 8{ <ⲵ8NDe)ޤ)i1|=8(;3a0h]/\Ƹji6'p0K~d}OfT/tos䖰_p@|ʞWBrmldY$>wĬ;{ltQD$]nn[ǽa6jdU2۝;=@Za@n&5N'8ֳXfqiYzAr^VKQy];!4 +jExc4nnv]=,qFhL#p<[?Jϟrl)ε8ovX-ֶgk*@3lUm`3ax4{(H/ΡTG0S} 6H*&Mq@I\_ǧh˧&(Vht?-8H4B:˞#*Ks-3 OpГSz +BG j86П&+acWj#ױۅ_ǣr|_p鲥cHDSZY_zR+5E:P [cfaB#BA1#?X "#K(2XA>1 [?y92gcI'ص9Zdtd3y# I#@" <b;1 +imC6b_KlI.0Df +fwsO qGorK.2ⰆMhuiEmkE>@S9UT|:+6iw9XKQ{]G"'IH5x~^ODuWE +G!l#7ghA%HeoȑY;@q ^ScMN [tz|cmb^}A]M2  % P6CU/XoOWmϿ?eoHT/׿bH,k#%&DEs~I +Niz'n?woӆ 6 55w~$aI&-qd[W2"-g=M[ /VeG-? 2[}U׺@Q)o8Ͽ`aTo]+__-rsvy_x=p}:[Ӹ| hK8`}2L>`%g_ P]tX*r/9r !evβ.(@,i?Cm=#EO3 +?MilGw,_r[ co vMrovyZ/<,a*S_e|\)assUM-a:E>VٸZc-Q8ˡT䷢MJV,j z#*;NĕI‰mO{A|v"`Vϝ3H]e0JBg4WD vۋUrncdsdތTI$xTv%`jg?/΃ sU.gdk܋ vk O~m(%ۜ}~j ?Jȧ'&"lU!P +"pu+t@-ʭTyv*N*u`3VvW.92d^;p~mԷb뻷. g,ۖנrjUgApV,CKcǨ-6WDCalf;"KEQ+|)D526SL@V'ق0׆ TD/$beyV'yt՛ f0jڙ=f&?E߅f.R^߶({ُV=H bs}[-.=_G %?rym T>m9} ymaw){Uom⋛+8~z; iԃ"K4& i4=aAy}MywYue&˯dm,(_Ϸ.̯3iѽ璛0QKGP6/e~Gݕw)q֨Є]*^xoÞT) T]^ ɿI|dOvx4#CW׽j]cMgw(|y~Q>G<=\/^YU =M?m_6y?꣠}}o[,/G?Ax߼~|~IϿ}|_~_~_Ͽ?7?}~):-.DC#}_@ ewⷿ}_o r{яD_ͮw_?˵/7}{F9ƻ_ ~7~? og?򯬯93}߿{>3_޽;Z+%F-"ntr-js O(6Jѡ즮Ҷ(c2s@haߣ3qtYzS/0P&tę" ס[Mxk)KmߋT Bc*wkGaKF.G ;\@g\BnA+nVPؙuyNdzo`wxPm'#*Ȁ͔3igOW\4I>.@fmŢ;4" ΅ +R=5iy@l ko2 '/%tBymsH \D ye 0ˊ< 5l]_F㟔wbxy7VP%aD9Фc"bd`w6E=uWl~1aٹdT7vSz(hh3ցX.JCe06 R?X Л]b> ]B}S vF7 &ƞ,s_<zxO@$i +xPzyI[}ae2b_z! K-@2 3q/BS麖{˲pT@ȵF"o dP|^^- n)if ɰYat8wE A +݋BuI:>A-SڰWj09z鰩e+4jS.N\MX0%-=+=lt+qgEv!H/ m#:ZbLyLl t` zpԬ78^$]9?8`pBQ| wfrYܙn*?8'{ȐT^ +{#%dh\~๸/H{@+75+-a"r|~YGAKiZ]KUVI}XR/#~Qd*䞈,Kаc9'[:.EUCE3Zt4'>7,WG_[Ad)}|F*D?ќĠe8'<Dެ *baM~F¯KP2/C@#Eh1ЕȔ0 c> !~Sc%a!9>[e/0HJ8c`ۿ'%z9SEܬɉ­Tzc Y Ap-~d<{l{◠ }~}0^}6 ?֝A:A#  F} +>#n2(CM(AE{%cw%kNOӢ!7U%e ROCά$rru3.jVU|Q +e%o2D[&5QzOPtTB=AWpqZGl1ʬPa޶<"Mp +G!Ņ`ȱwf?[ GU'jrV}~(UI(:4_ޓg}>5V|vzvBJlG3\,:,5dc$!^[Q#pޒڹ[NK[fXrsvJyf.zRSɗ + П\,W2ht[T_"W*P.U1Y3v% + ʷwu{E sw0{bv+J&O=Η!?fn +o\.!J n'رlis&o&ȸ#ctg[1f)Oϓl v`κAWB>&<'y]XQ .W]췸Kt dh| 0lr}wHw` fr`q+ 'sȝlR#E]){^5rğ8NxJڋX 3ء %ɽc.k(Nj`0s+$bNj>փ&fInǹO_\٪Tw(Q؛q'-)SyN`:ZٴJnʈ'WD#:Pǧq<'&תP"'cDPXxYrVUEZXvv)_kܱ@ÄAػ-yew إq-u;o\X# Q{獈1gf~+w@}rr#n%Y!y\chr ,(Wnq2cf^.?:3ŠyxѬA&s)>DQa@}R1EnfҦ<߽ϣ+ƵtŪsɞpt22 :M_=M\N8^9HmUӱ!-, "kp[gVmC.7QmW%YHx%>Y,6]Xu*2!TsS޸(h+`&n%m۪JLɭ~"D6c).Y5cAfy ='VӪ?v7(' ?V@kI=9Wǖ= 1EzZQ?CS冰uyҩm#Dz\x9x0}0j~ڒ[K~_pשr"5a1ˮaOj({pՔ)9`Ht\9E@dUYurL[7vߡ%eJ- RtL3O,"Ygr-  ^AeaG FFAdv3\elL: 8kDGWOb00yA V9Pj܂`yչ-׹~47yȹUʮސb* +ѽ-i8~7:LT.n5KKt\lPHEa'6$X,vq)dY&'=^~ԙ x4/Ů3LS®!ьs +>$O-}j@rhXmُ'xI>#NcKdߺ׻Q Skߎ+2  CIF9|ȃ_X=4Chp0r "hK}?_sEUuhyK ; fzRh+bć!ڒFm7PfbAT5K82ݏHGCI6"ޒ9)hX3:ә,T4}mMף hrǘc[a.Tk < G=D\J #9wc&)W$2R8TBLPɬ ǵcuj$>#/sC}].< E%$qnjXZ;SBE6kz@t`@g>&F =(K}:H[h?BQ6:DPq-'4).c~Y)|AiIvpu=&u G)5e52yXnu;Y<{N!s$f d)T,;(t`u43(V=iR Vv^PfH}NQ2A|KUCPL4 FF K0HU MyK ڏɂ}~!*lSodg'J@ ي K `O,"U̅^'$yŧyiJ-Ak4p>2g0/ +x@ew~]cDK2rxo&Oμ Orumޫ޹tBW4Pr,M)ݖ]߹ZX7de6=ň5d49t\,'0;RRe30G*D9DE=w,uv jž΢X?KogM:W*àߙT鍗4owƐ?u"{1c>~*{lmVjBp/,n15Y RKxȽ5O1̪%cKiL jgW3FhN" ujz-*aө̧īlc2&|'VY@z9ƉXw5Qz[Xas ʄ6~-,ܰp1bw~VVc4t(nu`F+IW#p5!?]`b491vPů^jR&0>໲ьd< j2=;j63А-VB9Ťj[&uL$f hs4a_|,1m#ŚM¯yS`y { S9Y#oWakvݎĹ*پ'!d5&QDG*K:٣eNHpjԇ.2!h`j%h1TįtFݠ)6\*˂CAdRc3xC1wIa +~j{Id\U*f=+%Q/L*g5LS֋IN~WxvFj;bIqITI#D,9&oX $["k%&$><*5Ux(Kl +EwBr?CC}L}/} rSȽwY3Wȝajh`loP7llh5O3d΄3 PIv2RCa``,k]䷸; mddts[`۰4^|qnT۹@ԥ`TUb0 n_]ҹFÇQ;tL=j +ok({SRrEIhS$7N](+ sף8c9_*% >pHpyzaVCx[ʼn2jQ}Q7(1(Pm a~x'8z;e2N+]02=*  +Ī +S#z8*TXKߛ.<j"Vq?JJ@Õ-0_ׄ֐\9Z˜@R % >pJc kroE!AzZвT>j wB6㙬*c26wMq +'TRhd7y۝`LI$ U#xUhx2]!Gyv큧"<Sשwu]E<æCwES3UŏH nO&BNJV>_1P=CZ-.4e 5OMEJBy$_Qy,aэƇYW +Lnu w |k,8 Pд&F-(\_' +0謄r]%+ C =ŀX1YWR?FtlH ysasNR-bw}bIwy4ea?F[biXc8 #zFEg=m Ud #ʙ.wS(fXTq*&v.wȚW\mV hP"sUv9׸(lrzVO%]ZԽ"ۑ;W +;;?曷^ =*K^8JQͧuM=./60@C-hQbWɪOUz'%MCXs+3NJ>8A!;D KX=2*-J+-뎧ҹ2uY1 fq"iHA;@`8iaL ml6`!*Փ+tLRD~k+ՍM7Rd:d>rFυ2*"3qǰ9ΥSIt:YEU;&# $aIA@CУ 4_ߏo,+S &<@w^q6Jnm47 +>v/C_P7R6A8@B- ;z< PZfz_H17?HD7+hn^BoH6yfסWIz_*W&WhO2d P#oz4MyAJ?vdL:5YS <wPT2iԞۮO!F5>g/:lx1 fk0f ${ 2L:3<7.^ jLb<乳 +*fO(=$0˴9Ԃ&SXfq'C,)XAeK:V*W+IukA'Czc13DS \t*pl|)qlHOt=$]{冢Z`=$!sQSy̦da=3@Ҍ? +w0 +- +ỤzA5DB 9Z>tE" `Evy޼#'lֺMpO ^IO4(Z`O`B$O&|ߑ8T[!EXȃx9%?CKeY\K|PK CEsu~h | rIn?\ߑ,J`-΃Dpb刺$Aj?Qwk,,|Dضa= }MPW܁ V%cr̐>W'z܊T;.O22_ uԟ'cqj~Pu[9tv6f˹bcf?1x Gwⷱҏ 7}heGKU3MD[;DLRaDu <@gYMh?J_IdVvF-<#|-mr Z;ڽGߏ0Ғ*j*T.Mr3<>\aq#@Q"7~ՄD㮨(`nm ʒ9R*У'cN$/8pf d)pO44a`_n7+o&R7DQ} o, B&]ªWAVtPT?/kc8 äJ5~UQQx\ށb@Y*-֫cyA},5kN8`lr&0ݣS wPp:'|U6m/dJj72|*B;6#;Y׀bx3}g` 3q/])$z^֥3ot56L-BqQ0LZi7NbZ%4g|YnUTI`etΜqY~ iؘ?}> ] Rvߑ]M"ʞ ,Bu0 ?<ňkȪD `jH4;4@4=Y)4JJF+(cS&a)/OGݟ]tubyrrқopZ2r6@)FA^Jb غ7=@M9-2h;W0sGSYpWtǣDB[ !W8V]l{X2[ʅ˦b1iv@J-:Ml^ц|oTEGwb01bO!pҨmQ$x ɩkRk2Q@F78@*q_vniT[oCq+y@pY &'HA:z =YxO2`7rFC:'S;K,3܇Nw`Yyjf-܆V:QZ؁V^i#ח;qbl/sRQ :7섣ı̯ 1iDK7#Lي7wD.s߂W F{U@e!!H}:PWNܙŒLLT! sk=&z1>xloqV1CPjF ~pYȃeap^iP gKFЛ(H7`[O~B!UvHŊdG(Qm&Hfjc\? =v +>dL+Kla +4A5o0L܁D$;sCl}\Pibo7PTƁǞt$#Ŷ$=Ìk|ӵ}^k|z[%9zLPSK)8A[;cEG}XJo[NC!v!RshZF9{$&Ęg@V9d#&SѝW QU.cޠtW%/| ܖ,n{ 9'nL52Et}^h%,_z@ؼG +[$ek ʙفE*5lИ2+࢔G=AJx(V`$ z`E6|zR*R()61BV\EOs1&oQ{MeD^;@ +FC>Ut)5NnP".3lTe@-)[G`j,t93/ V:f5_B\F]7BhŖ(Q-Y|p4ȘayƒVcRbHCl`Hwy|h[7]cQh,6( a|4[Un=[;yfCeɋ _tM  +UهGHCN@]gХI2{翞WFb;H/ifYUĽC#JCŲV y""AEh@ :e!榌XÆ qw-7#]1uU(>B9c$lb/1L4 `e`qkI +,lpas7=DҴ|!|9CDixp,DGkDf@|E+5\ 11`x!~79U$cS6oœ_1.zNVd|($<xC;{4A)i-T0i-X2HWLIvO(~(˘b~ɴd;YQ0]x4*Mu_pz;%`Q5yB\>Xi +h :rH̺'CF]~k@+م|w]hxZ!ܒXcrXVRΖ!!2j󻁼 +tR͎Z`YGbGB8K^ Nݓwk*xohKvA/(VXxX;o5+k>&H֑I(-gGG.j!@dP!y,0&yh*W@3 +OTяzen5]$Nd +/zaXMRߝ+C7btoϫE kwiKb[*'yK}#&2\ɥ;膵ݒj ZUrqkB6k60'"xMHxUdnlb}@WHx W"ECأH2AKU1afJ!?!W( ҾDEmϱywI‘ua6Kp@]4e3m9EkU⺜n$ٶE~e3F&Vk +;"#7a5,.?D)s 4ۅps7; ϵ .l 6I[m) +etI oۑݽ擉0:Ź՟5>O))6(;Y{:@]}qsK6f؃B\y_T<$4;%R+6kK\IF CV|) \{\T@фK4E :<WdT?W=9:aZl2b泐(FH5qɓ' " @ N(C@Jj6{bD Mj#b`E2Χ*lƖ-h8=+Ƣ _y#-4$zQb` ښV;g'J> {=bKF8uB콵ȕ qLkPBF=쀗̇-s9h(̴#k#=|x( Ȗ>"YcwX)yX"(mp0bm} 3kiypѯij@\$!!KdltwQ?fB3HY m4@]mAK?Zn1-:r87h\ljbÜxFi#$q3E<6/iۘ,O ٚu*d-1Pp 3 CJ2h lWJ&{i翞W!Eh + Q`}$^@|ػWaD >XŘPD'Gn,*ΉpՐ | 2ԛC5ӿb3}G/vFduqZsܬ ^5mGY\& `PC:1Cm!%(Wgw!h ́)Ƥ_Jodg,@b]9mBFY^z[ZF`%fj\K!Sw Wr(Y= =9)5$x)ix ]E^d x'@XڠƼ,$1q=)IڠlB|L}£ + +mv@4(/ +9?6n vz6#H3 ZKY,e,Ҩ:XZƸGqP6`ܥ955ͻc-5 D9b_n|褀*L7 )iKcq(r%! *Q#TBXwakuVR̷@~\Z* <+ W +J7#kZw^zeX">Gߓc0 fL;o@AR9Í}f6h=x 1Q$!03\o103T\8kpŐ{0s>wLHja +6@% AaSe(X_zNX F-Dh a4dn%?*Mͽ<%Eed1:'c J?iZhp l)7* +EJ@Д>won'PK:jh #&%5@s`1hb0-y(#L\@.ljtY,_!t[nOy"n]v`6/uh.F6ԼC h]@h2P5vMNu\#p&2'dhHqHϥۅZA-W jv>Zn1%CYZ|-!n8}Թ1Ù2O"Їh5x% \f2kT4-Ktw p8: +1Hx c^In!3eaڱSn֫֡K?Q&#jT!GB@I $pP/hYa<[82 ^= +rɍK_3# 8ŏTt "`ec*5VN#;ЬN`78M!%1g r1Ĥ6Y/D3ז$tYr D՛_@ypB[j +:y6q96d+sE}aъ|` 9Eb [TF>x>I0Cqf+rBqOCZ +1 8CEDVg[Hxxer>'aiTc +zڟ@d·N$oW2J1O5:=J.m BAȌ|N2~^QP. W T*v5nްkr2}.ʧ <ȨU_E&H`o(V$*>񍶶/R!fEB17y.'ϟO`u}BG?fmJN9(`|r2%[dD4A"җ"A!)kmv2Nob?)5U=02g^xʏ<&Lo,Гnw 0I7Y캪죦i :SF*M;?81Y,6Щ(5{c1,;\n3IfXƈO9ϟr?"8H/F+8'aܭJײic nvbM`#x{YT"3m$cė.;3lѳA܊z{0ʖr;s>{X5&~yc2ތ`,[!PSRN@:q68S |C<@u!3/T_lOQ^܉\xlJwYoVzW /|`3"@HǎPyϱ0D-1tEQ,̂><_Okd)5a(Tu9D|FCd_6r;CD(cGб^PoX嚈B4,o7^!$A4.߉qyء,Lf`KUhe9IbgCvSpQ/qؑ},I5t/}C ܗ$0}(P׵SEqea%͸SH t-Tt0XE!'\Ah׿o]TՙE +g )y2.WΘCs9ǥ=Vmq C!$LPS狴x2){d?<|Z9fIu1АU"ƴ}&QCo1 + 34:/Ctkbق{OB}pln@X\S> yw< [Щɲԕ< 7PR͵Pd :l3eax NZ*adG01wh!°tCS{ u^4=%"C \94&s3x&` 1$X,&q+:䎚ն-JjD+Q^w@*Z2xj 0sb{Z "Pd 2 +s܉7%A .!KЕD08&iThCurm+;R7#Ө}B ۄ䬅!x}CuM[m= 6;}o2#YL&pc^!W(aH>w4"AL&i4}z dZh.x)5] , J "m9){u@L˥pHX,Z4U v9oPBY7W(P}>deA|wxXPi"A|R$Nּr@Yf̮ʠ=~TB ۹Ci |B/feVk7lf~*SF j`C (BWrQ3y d>_H#qo`sa <ޱg#T6TJ3B`kns RdAϹO-XMz-@IKXC>#j><+x"` 21oM;piْXYQx@i}ɾ̚%1=:ejRôzֲANzukb$ߠ])%QS"WY{00dC1^dƈq+j.E(nlqbǮ PV#hJDchV6P@i;6ܯ +%s1#ɲ?K ۀ͓F"έ=BLdvѳI~jYs~SxHWqaX3s]U I뒈gTs(a4Re()e,!Е?|LUa,Od( 2DYw#nA@a*Ug mܣ=!qEePBi2.O|GMʍ}we K}nԘĸa +>1 zXch5i4`r %rbEHּ(hpװKBYK]!NYfn,bo83]k8Orz2=/eݽ6o'ueϺe(&\HJJU*DhȵJX(Qd7n }.} +࿝[wP ;O>Mbx +3ڊʑ;Oaz~a d]Z?mn"t|tД +@ aѤmM+sKy(.r|d[ǫvfavrv0bƧk=lc;IZJ1`[x[>ftd#b {ԛvK"^+Bm1s\XuC>*`o-%8")?O [qC҅BFl^b@is1R"gDD Z.YCG /T$l$騳B;f '(/sKn3/wE UCIձé3mfԴsk>G}F\+g4j|\`<|AF܃ͧ-!05,*zJum +uWYӝ-6Wn2c`xRC c^u6 *l)n%SuW5j@ôȅxcLgM[Aɏ?EKdob~"C8=B2&j8\l[ƂޘaA%FπfXqp,X-o-auS}/%cn/5 K:ہ=`O 7 +@i3-p\ee[/Qf@Y\Z0 Tv8S@N["W?B_Gn6HVZ"2cefWP|P;ep +B fŠ2p@<°HѤT㑪uԉb~"E#Chs{|m3vCtB ΉMZV‘s| _Oe%:-Q>QUږx&$=xfIuGb5P Ga"wgTf;.zC(!CwzqX`]7-@V5p,ђX#D*LOit&GO=5jz^sy{PcK&1dY`=>o,K+K<@h ,ߝHR#7y72i_|ƸdKVj?QU$H 5\O$)2M7b/Qِ*NW+Ĝo'c-m)8AcF5.`!1oW >>ϐR|nn(y TL-j=DbFa +C)% 2@,@ֺ 3:3{?PO,p]n4#-2SE}d@+kQB1'E"\Ƭӯ:"-BsŖ_ @R]ij 7zv9Nʱ\;͓bEۆ 6_Q duƐ:Q yL,/26Vkb;NxF!zJnCm$vܸf +R +9N20[ƈ}G#:ܪ9p$tCɎ5d^abO"(!Qܣf<ƞʨM-'.(cbLa嘘2a~Ni.h(=D (3؆p!~)Ӷa42;FC>tZD"tl!]L_tCbCt QmBn] +oS⍌SPdn*fzjŰMPOF7) Ыr3h<.҅L3ʟ=`vSr7儊<hoW҉ +@M-7r:Yʼ(s!]o#s3x}POc~W-bsYv؟(5-II+tCV\p]_60LP95w,=싔KUE!*rWÜGO^1h(WƦQz4$M!V\D|jBX kA 0*\vywr!ERv%k/q˅73wp&x73\ey]Oyf<ڦ7]mh+n/nR/eM_Ȯ+mf\E4$wbk@9"{.z3i›RtҰBҤ~oÅTJNݖ#dYt,YF[rIYr֟ r8=,Ӛ=hk +3[Ĵ-k0[s% +%.<Bx<򣿫!?CtWD!Bzsȃ<-wskiʱhmI[  fi7`C‹1Pii9"¤xB0X d @^g0a~eQD~Ur!KŊϊcI7Ј;2wr#414Az#}:uo3Vq'Y*JrvɇR'""b]jΧ'V+A0DQ FdIa"S_IaSqOzZC4*]]);oW/W:<9@}DQkKy-Ա\FΡn7U # Q$xؿ +[}D5h*0=qnz ~[XaN~ +%|l^DA,{{Z  +l#6Xuh! [Vуb_: JWgw.~˸<%3'ljGdx&%;H0Oğ^:ټ +Oi3f 4Ͳ& +JqK7;ݓgIR_s9 "x ͯm@\@Ÿ1\iC k$CjS$y%LRry&%H怶3,8ӡ(?en8 m7r7kN4|ehoeqd|AncQ a\bm 692f}z^7 dk&RUP62/D\-̤t$;DžI&|S3 +sm}@/T:J#'#V[G:a˸=Ó"'zWM(;T a`71``H=ꂢ*4@FyffK-߆?SHic[́J+LW 7qÐ=睢%3ar>b ܡAK֫̃`!<0s3}ԘR1#&iUw-I@Z0̦\ď'Y!eé}#ʆ?UZƓ A=S2詷5%.@8IDȆ$sC`V3a՜hn CMtåx3 +{Db[a*ď, É׀!u.XzXZ$B BVxJlW>!m Z&Cׄ߼E&$|@crT?ˌdSD}EԘS¥8I}x ,MuAp}~bH@ '}m4+xZxe lbQWA -~ pJ!q$lW`6 ,.ASPFox{UneL\}}Uh084mF{(zQvAZ~Q +-Vre Aq$c3- +@&[՜n83O4l5 GݡWubHX\ +rI8{ulP䝣~z=tIWE [h>Le8dC|TO2@L8$Gǟ$wC_߯8k '˥)0de o( + +Ngv0b>짘@eiXG<ߴEqh#bznIGX^8>NV+II62~:qs!̿n+6Dj5,Թ?u%,e$wpRz\rH"Fcjt>&!SSWv|ŒAW^4D8AY8WP\B1~OweaH7G4F4"kwnA:![} |BkߡcuG@9BpR*8n OA:IIyVJ/ޞU4 słc ͚f6gM%QjYT&ɊUvA:9&BԤ(h&̆`dOo#",NI|rTZP52= +oNm|h3íd@?T\qJ +Q]p"9兼vo$ gDb^ H|rdd4|W=GHysぷE</O}[I/a Ɗ|ng\)/dMm8{3swY BV͞`ۓˤv0 v_7 iц{Ȯdq[Jqv؎P #LƛƬbYU +R[ +2 Bӓ979?TrAϚSoĤ41~/YG3n]4@n9@~!g9A*a»-AA1Dz8UGfYBڎUqؽ\w=4MUtK<41iSP0ro`3t9`f1 7.JV^Г`QͲ;&0z?[d7v}r'mrV"Q4uT~ܟH,@?&*IlB2>xqer1>dA[:p)n~/$<@g!B&D":dcȲbpe H!vGt@zɀɢu(3K N*C,\qN;Kr|TinXq]kGJH_ƣOR˥0܉UX&c3idyT\RT4|I+a":nCgi܀{a17{Ov$2cJm'B}):Ԥ4=:7O5OHY +B5@g +RBCFjGt}ڌ,B{Hܺ9$ޏj>%xaR[uqMؘDa-^?3$)%?e 1X@F}^ bFq^i]4Hq} }mDh2Qɮ]4%Bڃ1;U*wK"<vPEa圞 +?`;X'(mjheuy  #:hO\^4=fn<:0%y +'_Ok 跤ȥh<-S | _id +@e~q|@~TC\7ًʯ*G}Xjxx) 0y<2ix蒜޵W$;Na!@ a/[BciHm{rFycU9iI9hLOve0&]Hyc +T`{|@MX+y(`l.W'*ylޢG|xVH.G͎| 'jwU069B=TN278߅0ت̄B@[tP $zE4B%L&wbW+7W+jDؘAS<֯PfBOofpU":PIxhq>D-ߗ|Eĉ,iDÃm7CNQճ=!"Y \Le>XuVxѠKt^nVmEYI1i;>J@vb @١o$sv _7#V4ӑ!b`sT px 98K=خfd&DyDV}Q[y@B1i>㔕!*hgU/r:Mƫ5ia;yv ~T1X ?z؛*=lr#Ή ƊSr=AKU;g$%Zs#<Ǒ rv(h+8 VR'P 0N-5h$'ߛ\ʪ3`MMQ'ekt;:Ta ]rUӱEVLdIͣ4 f=LY#!_LTO6=7Nr9G-T}E#ah}ugҖh}~(R@LMŨ$1A8)`#gjmAj^90:(g3#z#L9r"d;؞P섆|d{x4%z2a`G'u5c(+<"v;2Z&<*1:G1ܷE˦p3c#kDESʧȭZ`J6$M:e J7GCΏzw u Wj%s~ RE+W| Gs57=@"Rh:S:<*IOjQ$k.MM|D>dY4J]cn,ش`fU4sN~@LlB1|G -oXWxpNEu?AVv0\C"<*>4nbu8=9S1t$)ٵ2ĤǢcE/;+F 6#p;<袆D5lLpשMę +bY"YI>S^G{nݹ8\o$ 81%ٌ;V4XW w|H +p{C(2R(WSԇYJy5Cb2^sɓARVŰչ,꿲91@EqK.B0qJLgɤg n 4jOd-ũIԾu@;$aNgW!B-tY,PޤE7dV+[p:v #X">n1y7ktjCWH:qNɤ#(?VT$fYlM](K I}P6h:3+EQshuqZd tx!7ߵ$fsKU-gIh\h>^R\ԓ~)kFg)ITHLCQ]d@`<ܼL4װ+KvX/ፃΛH#)ӫpO;=+8wL2| A_Hl+^ [IaF>&B$3XmЁk>ae$ViliTȤY 0_$i)IObbu +ݰ$}8+Zd*tމҧ7Gs(mXh@I"29qw;9:.3S[`f-R̠a 8ә)i<,h L 1PV3HԒsd(c K6DH^>`7ݩ꤈Ë́ +xխ :֘{B9ysV{ȩȈEL|״%MX|v¹ApH?WUeW$D n(yLLYYB#he󊗠1Klx1s1pZGS|q=|8A)a{:k'鿲#Y-rt1G#i>ùou9o kz4+}Heu9d@ ƠoOn.A/rJÕ[}4k'mSpʱB&BwSb@C8)p6ܜ"($HiA[o,WG0i5 ;D{д q.j=dweA":؇I-N^aC +^[CP?~[@sf9U:dkvTlI i46'Đ-`u4sKƇ^B˫Hojp/ C 7#wG5xMA@JC9N]p`E|TQJ?|UG +Cfxҟ#ʹ2RR']f*`Nl-b0vcmZm@ևbaij"⃹ Hn7r7kXǮ08Zh#p<^?ҟw7;Zf@_ćr`- HVDu&=y=]TwG"SqnLLvde(9:mQ#9jVG}}+l:Z^"J\^咅bmfM-J4'/ Zk27 Jt.d|іUmimf]zJ4UArv<E#9:UIv(ÒF'rrVCGX &B#+O!;XЧO m޲z$6FRegLlU J-4:ؙ0\NDr0-s< Tb;10v<ۆž +d]t&mazaLN#q~z%I#lbd,:imע#0lW[ 2xIJ:E wة"k"y9YkQ~ WVcT[@d',N(a0`.&:a{w_XW,Gv g E{g|ypL#cȀX?4/S{⃺:dhom(+4B ͬ~x>yx_]?K|&2_?|ŏ'ok7o1$_?8rGd4?~?X]ٷ=ǿRtO`_e A=O t;UxCZ| K)'X >LD;F_DSA_b_?oݪ2XZe`$3I*lD\8/[_@NtAZ߸*)hY1,E0U~Q5vuv|zӸ]$H+O/) ~R bTU(}8n`TZ.V˂P] k[IkN( ̓;SrF>f jU+χ$ ޼.ȄyUmصCee+#FX.%=w$,蕭햎rKGՎp$1Ư$i?+~;=tBetJۘPAc  j̲.gD=Lc%} NP(’BZ;Q)KOౕ}wk\VwN6F늵WEYpf>t3L:C^a ȳW#3Td%0 (E-խ6Ryt}7piS:f.0TDZxcǑuUiji}P[ FNT3VMu +7\;e@_lK&f麪gܥ랉I)j?C &˒>DO0[e9F]$e2wH301A_QqPuߠlD`&H&ئvUA&Eӂ8 )8ױHFM¿hN;IUPPd*J +HAK0r =1NC2zKs}r2rQ ;@aouZG ~9PVj +1i}N G} v3*Y,W0~ 뀐&آU B bms&Ơft2[%J{Em0kbhH R AP@?p?ArU p K*1~Tz +m6EC> yRAea7} 'H^p}vZ_e]ܿjK( m&󍌇&kbRGi}5[_nY()=GJ^w^2W!4Y;뚾vǀ/ +endstream endobj 347 0 obj <>stream +u  d4I͹ ٽ1%kq +igM, X6s\鈖SLؾXF+~.XJ֝joQ2E5ح/ULM\oCxQ/.a]̇'t^*߿6~ǫa`8۟?.)گD`v4ZQ~/|a?4_kc*ՇC6QO+=d@`_}j?V[4h2(e3|&2ґq]֓f~ WEZ 9jߣuiW5T/ȳ>Gq0r("SB"RqW^@w&-dN| +P?',:nB'JYq֊.[ǂ +}!w k}_Ә_?~eɦtp,OW̻TbLWM !&)4}l3f(l]&= +*$d**8{SksJue[[-0e73+*ؚ;f%\Y}JBl&ˠlA"\wU9AFs`XDY؂;i D@|֎BCM%d1$@%)pJm3ޥʅ)|xP\R]4%o"[[ +ݡܑQ44@lk=! _wi$p+]zVoxvgΏs ʚ*Kg UoX}Sh_zdO}?@ߝ Q$'\׾;;|z>+-UTnAua}eN oNf(BkM=sEן7Q]BG{lA6Q[_fh/eZGѵd_}*^Yadgv?Ͽ ! N1(\ %pwPTcH+{C rFpQq*ۉ\PUDZ]C垺<(j9®L"}7S]]2/ *؂}o6_9[?wYiIEZL9FPFUBcP (htIP7nW%U3AB5kU*>P^=Ht&TXw} o YDVLDNy?UmaPZe f=tTi@Q6|WK_X)Y+h⥻LlbEܯvCӖ*\bGlاW|1ҟ'{MBg/[?yPBpO٘Q (PC &Q8]i/#.w&> +Hp&D>kӜK:E\8VюQdçT K*Dw׵zbhBG~% }Byz˖}%{*ѷXtYZ70-e$IKvf(2y,zL{uJ1#˾,#m&i>C"69ğ^lW$ɭv?xfcTIh1>DB`Hx;0X~jb,r.uvm7?QXvKa(Kj}QUCBmmԳ.G{Z%T]E>hڰE&z"1x컸"g o7Z` Ϳ,EBe 2#le+Q:MK~d.GӿjhQ,䟥|C\η=_Go Y3ZVχN>꣗~XǏ~}7O?}|+_po?|RTX4f}_@.7?gw??U^woG"_?_?e_?~ԛ]?|7"۟wOcB$A{XPx֟[ ox_3cfyЙuK1wB;(-O"޻b+к,̇O*w!~te3K DVU#J||b!Z801^EjX|q[>4w::}yYU1Gm&l.TzёFV(&~CPG|o00'o_y_8HBpYRE'ʮ? xi|Ǯ?O4pN?5qK'Mӥc3_h!_1Cˊ1MR 7;Cy;}Oab$1ں뻁Z(t-Q0;z7B gYǘ= 2NMý e9U +3a[1%]Rix1aTB8%y5ghǣNɿR:ٔXr ;d6[T +C*U"uJS -bXȁk򦃨;wB~t#̻)y[ };aMfeA:6mm@ g#":Zob=q`k+ +.k -r}m AGo!q9}DBhK fFAvI/!r.x(s= (N38ॊ +5yR_<xPB[Yx+⢼'Db{IGSuBWôK(K?F <*{"rDzX<[Q>_gBQ W)"rN4xSX`yͫ7#vv [#-wC:r f&4y91oL0 {m+@ &x^,o#V" 9g믔-‰uF!cuJ_6;(vVEdm:2F@ZȬ7RÎ_ձon~5F#W5`q +Ջv1=nlɄݔ ՙ!=ll_Ex=C36tyΚzwUVZ|⯯[ܭVE^ݓ'Q[a25&a +<]qfɐʞmgӽȱUeI&ǝO-ݺQjd>w6ܳ("?S;wP=G6pV-kȘFc#P#m/P262.k?8WGusLʈOmD;,愴Ąe2&3K0S@ rܽQc·C)Z<}VLP]PFz`Z-GKbQ6bf$=]J/Ӂ83bB'Q꺆\L7%6Q?\Ea +|QbYTzY/I%La֭Lyrqz8?(HohX-@WӇBc J0rVmdmޠ!@iAxZX(늝ĥw;j;+e! +?a<*GB='*\8ud/Y3GKK {6A޾́wMw] M2aB.izOz +눚9(Nq2IG00Vf-G=zx%<'vģbұ?gkvo3V4v79N}a44zKjdj?aTehV $k+BJ4qA):Y)dg K2}I%*rOܡHHU!a:iV;84Noq/Zܭ</Y82?uȡPB{ӚDH3`N + y1€~-. h{P'OR G'@gn 0׾Dږ;ʖQ57a{kslbnVȃ3Ðf$<G'uiÓJшxb2Fl4O sQ/帵N<hᾸCe)joCpZv6r SS/p`]4!(RW /KR0_xÒ#x폠g,piB%G߆t$n@tޣ;Z'O*=! R<Э3NlP| )\Db| $Q+ м]W |C/!fT qe 4xyIδ]a`z+Fy0s?VjkO"U}X3skot*nWHv cu@S\ӻY6.!u4s\m֒QA țMi:|QIhԡoYuF-Q&QNsrT7YAՃIkB)QaZhZzܑFO>vdNn)ߕuQݧ#ѰFJafZ +ڰ[{?M[((CA"Ey$}"eT6PKEoms球Ry07ax~itϖ=P+zՀ(}w)WYMFsIA~Ž9Yao'(@ =yBM6":ѪZ(Lk=|Y UʄmyN\yyQ{kPIеOvNmX`t݄5Jklq3 )! 6ߞ5Z8qIĕ\*hS>i|=2,ڹe"O^03p#[tYU1}C{U=/ГGvgxT 'vZuiÅi$! 4OaW`M ;&M^4tHmD D~0޾oa7 _IdWP{˟%kbqkW5IN\eHه  -e y9g;SNqQ1v#U;Cibs2L7e fclW0HۯZNOD,su]hQXa(lDdd߭=׃2#EFVe+\ <"pbdxH`4ZSF-'*Z'ӏǘX'SnACj72tڇ 7'KvQ!ZM@:8㛅B㲹#;|ȃ[d\Ġ`Qa#OiEOWLLaB/H/"v䡚z5/OĠnpGiRm}'/NAʳMa[w%;W=;bjk)X;o.-rh;i ZcǪ;DDzňR(2m0^ D[n}b *ެwrMvgb2xzIڬ퓹 KdhOq~=ROyc@0]UI+'*N pRTuq7XB(-Gdn7U?lV@0"6k/jLf95[F#]N^:?=BB,8m6ԣR0%+gp邿DCxm^ғm{I1{G\ӱ"95[D- 6O-e|f(6C~g E؍$h玻2pW鱫<ai;)p Q^$g-@L(Ι(`.(QY7Dx + K<âAUvMp(@x1.bԍq7hj?j"I,W;k +;eMOe9qEJ"mLHoY#ӈȔ%w@f +JO[oN+_ 柮{0 y#)^2fj}xO|s<ebb;8mg$w,ds&ғM ϸ6'hf0 +=RXN^bGC>QlWcĊpK:ʩ+l{#v#L?2!m*rDqE^1DIczY qc>ƇwE+(wP#o=` Ҟ 􀼃zyk*E+}f+  =ƾ$#l'ptb4}F$iE)?8vu)xv9*$Є [d62*E35l_7$ҰTAwf`#NSw Xr8\e1 uX[mx(ѻvDrY@= G +H =b oҷNVSvgJNm$[yG>0h&k^30 +yClk2SjYßSLmZ]ZmD԰n`B{ӻd2I:ɒ b|A +B\b!BtŲ+kaڭЃ1ojå$MA + +VF0'sOϐ#٣ .b4Ǝ1+?wfؼ}ÒNۇV' +J"=Y -[ac?9WŢOt +&TӅqdC-b>zB ?GwL +N>@{]f2 y:4Jg~ו~0{r`@{5LB;,Џ/(FG#X!x”yio8p0|-]3tR"Rɳ[zk5bCg# =IqƋCiQzbz="T"0vּZ `:(CٓkRDq??ōي8""R{0O-qV7,[A $Hu᪹:#OdTXE^pdd0ȣƶ׵$aD55%T5ɲ #D71gDgK $zd+Nw|%E:a񋬯rU6]r9}FobzéFxp)p<2.U _Ŵ`p;z--岧+_辌h Z y+d|HʾEŰoe& ݁Yq +MⅤ/QnufF07+փWm.äQuo3KR}"/-2(q ?[RX;&f +ҌN{t@ y-> lXRD) s1ۉH'Dyoô6cU,K(Đ6j tב[8wME~Tӎ<ML"w:=޶rۻ*}M" Չr5 #p+[8$DžוPdX"N rok{$Vf՝h[˂Igώ= +LV]sӊQkP z1!?T>M**%@0X~lAr+d0B܃YU_T,e.2X~/'_=@< SSc# Dّ )oH|.[uWJWvE +E}ywyTs{m+CUg'5UO0l94R6& I]"넫ӻ,,v!l6Ϫazm'5f}geu =E5O 29:cߥ*-Bס' 83 +36=WI‚ |Ow +ʉzN-U㾰RaǶCB?)hiM!jh\K¿o^=sǰїZqGЃ:ڛLiq~m] +Br NvͿԶ -l\8" xI +;zI:;i+EA=h/!:GC@wxQ(j{dZb6MACF ?Me+ Dug#UcJ i5ʧXH$MGGboMUMafH.3Y{cA~ |؁ cȴeEtjHZ[75c g oM ַoXȴ0?6p& _{b-$٧O [pnA@ztVPQxk Öb!7cpZ$j jBH"Mm*C*JXK`W?^p 躮Y#2n8##Ȋ/C6l~.|qa*GS $ xa7a)Cp^BtH.*fcش90~xbD{^-hjZ܌ar٩@ +1Op +%0V1&g$H4sk{0N?>PtB/SNnJz$kyM},tB-k;զpMlfY\!~Tiޅj &U&.uFt4YH ^^ DTj:Ghew𭕆NRޭ3y.*H0FNI wU]&v > cN5-Ld9; ){zD,Ѯ[[)(lvQRuA}XC_#ĠGt pkUdpE='뗴2d=E^qҌ8wߝ6ʲ 5^1E\Bg[܎BVZ),ԕ$h:* OhZõk"ZiqVڇ"xvD,1 ס*vk}nӁQҀ"4/LgrΐH%NK7x% @+ TWU S bPs+\..hWH+b_LT)DqÐ0ۅ +M<n\v?0&ʿP !iJe@ +zuJ~ 2Ğtd aU/jj$bأLLɂ᳅~ 2pN+fA )!uWA{~-sky$N[މ4WT~U)PqV*9ӽmHiGC= +`Gfɹy&\1F"Z"ad.QݡsAkDgwI[)؉U/ƯȎ7LkD ADibO̫h(a N|0qG(b3 `I\ +iQRєYح6~tϺEz*[حmebgU[CR ARw f6з=L8[EGgDuu樏vp}&3 TG4#(Jm \cmwl]ñb+`SpjNmni֋{Cz4pȱ[FgmW ֏M8,e[gx:* F1`7vᮊvw$'lUɲ ݖ\\5_j]Ölu=tk!.%%'Нbr. "0t A]ÅPͪjB# l0 MCE, + zvUt!&ᰕ4oٿJC= O^!Rs Nkqw DlS5A@.*.}ɾ 8abIjpu$P*hiG)[ka {n`ݱ$qChCzz5 A؝ ?uLi8F}2B'50Co}AܑAI = tck!LXd +>6F-8jZuk]dw̄»*$)IzE,CvoG~7C,㈹:-pT{q DܠjCA3u(!zHT =iҐ؃Ӏvp$:ͯa$QaŌ@opV+,]4Gn&h-SAиzvCqC2GjAhWAVYsP"u$?]أ/xc^\_{`&{[WJ5 +*'1'qҝeHM8ي+ ؃`'(dO[)tq +k9v 6Ƅ:%0kj diŅe| o%< )Kg/l!;y.D$x%Uo[ljoGm8c1&&*v*_1D_%AkҒEygsMFĠz + +wXļ2ō9e9*̬z+Ba]q s>24j>>Bo/,eyER{e1Ќ`z[u=UȓbFݓ;Z}Jd4+k0(!/ =q|Fl<Ԁ45Mv I {JN7Yf E BZt=d{Qɖ{Q .Ef-,"ً +irNDL"˃8⌤aXY (@ÚI]#i@磠Zi|&"706Ud2}ut6ܝ.@D b}u +S ȊdwUfCH1a1ۓW%Sw$i +Kг@ s>%fYgtjr/@ao,ooBe Ea@TOA'͉f dң)Jv0㮑4 ك!v2d>xFxh#Ժu:d[x{$een;,:C[ )=v51aF瑧J-Jvj3?CzڞlH&'$^ai3+H@Ruhe\Y?y{-'9;XX B?q0+tfbhSuY +T(~E m%a 5FV!ՏH|sHK򔔙.)@"O oG+8k ԫxy=Tx%ooǧ_74 +R'*!ͤBӹg o'JyH$^ S1"iZI +;N8e(>YaE!T1aF?:>ΩQG^5@D<֛rx0AmEࠖP:dM$'dԘmyko)KLAgMxT<#RA2θ89b)3b+d*z0lmbQGoL2&]-)lB,6Y +X;02Z-TJ9;- To5^ci8B QW~d\0cFUytC`9 O=8Q*+V«TSU݃-/f3t +X5$daԃswYs?N{Tb Ti1/WwT`@ْjQ:zfHMg3y'7Y=F++=Z -ԵW]!T=e<{ƻז0T?/߀cV?UnhzafӏjX%Zh8e6I*hv]gZ]]*tah['N՜O cuv;B*?F2qHw%DEv99T]ءt*5G$]ăa {`wHGG4G$/ mE"khGHSUGvO.&djo”;ى=Hɘj')<77 dq:=8ȊS! 0 9#qP vR' R?'-PqB;B ( +:.7 R>$*,Hzf>v{|]]34KkdzUjﭜuC 蓎5F:Ǿ۽Iuoa4RPlBh#Xd<FTBbL* +n|`I&G5-VcPώAfAx(g +4Z&S} K7@JPlq6d?ox.[e<'9"Qu; y%PZAOrxrΫv"oeta*_4d| x%UY;6dt" +3“ӌ饮 H1K%[5#/20T3#oc +zy.D +26Ѣ|4=e}L>xk0 8] *#B)~~]$[`n^ ďQ\J +ƫUV榍(Voy6G+s<.h&l+FrM U>׀۲$;(d|gp1_B +{M?[ȓ]sء)d&=YWddݯ[ٵ/NCc^pIN8{L)]8p8M3G( 5x[/T4aX&6&`! 5m?]&~ +EuA2`ތ.W7vc0ˈy;+rlN~Bs zLF'( +hc/n_4p0Ih?g Ku`'kx*t9#WPρ{op:D۷N Xw:bU+D!]Xl Dӳ,ҀW3CpKŶiF1Ŕ'=]:wIzlx[ Жʑyv\/I0H:V8a>؃5+^q&Դi]AYcZdPY!RQ<6!\c ^&g0*c1N 66Ł*4,E +X!7Q<Ÿ&!߽E$㡲N3w +pnH7I$l.0(k?=>4[ۋ'R* & JV +-'@g( bNrSwD<YJ7nY/b4PVW5\@a"b0 -pI.:NwlRYҠ:PVv[g L:ª0-4vu6%㘉 l%h>Ahvw _CR,$$U;RRD:MJCrD^ TB.lP P)gyL+ɢo +鼚0GvG@2|"L<й]6L-7W"rc5xњ/iɛQC+/@Ǝ3˃<"q"ǔ@1.!0i&I>%gNHS͘!w=2 N B޵1# 5' 06r#:8ȭ?&wX6Ae[(c2l+ ԭwx`6:}q3-`E/ gәq=iŢ!6ԚQ=a0ێDu =+;E ʄ-ig6G. Xiu?d:Qd0Lн`qG<:a(#̦,i/Q_A1(\Y?i_c3QH!H GEIC*dQHđj&W(izMjߛ*w  AnߏcOwTeʔ+B㙙\^?E<d|E +;P7šMԽLdסE#XP- Jgsl)1aE?5JMeZY @mv\!#;TNQMw|w5M(bCh$R:-[:QȬ2^[, ڗC]Bj& FkE͛##O Aϧ'1.'z_ %ӈA cX'I tT1q }2J4{PϧmSȷ6eSA u"Փ˚3TH뺬2B/5SLȦ~E# MňrG7]k2YƤSj +Kx -[(VގY^<۰:iZ(Fioۀ̚^$ ݟOhu7_At[F~xhA+)~@QF.8B9H86F#;L]dи{|F2|.5dߚYF[Ӻ若A7fI^D`}r,j-udjuiR {HILPچRlaXβ&W$ HCCBã$>PSDBL8Nrj.}z'Y,{"'T(PNvB-؅0`ڪ- lMA~xA1ܬ +]TbEeE=^ga|ma17 5N¾%`L䮯݁ +rҾσ>`G冪aY  uXmR᳔;SdM#v(44|Ñ{yq`Ƹ}lN{B q2x>͏ * D,V!Lv= hFO`\eބ"+3=SK2 U4!Gb3@P7xocKffYr;ibPKg,S4'5 +OmC g;iSܾf Uae}!18IL$pHC?VӄcO +S65fM.C! edHKQDoq ˳n&NTv32bۗcEo=1|P)#}" +]TO0ǭ57(iA!VĈ*{xAp?oGNP\O-S?Jl>CE$w:-nL$eJr /8'ϱ5mH=pj h ++kzG=Q /!e/~f5? M +x; +?"%I،H:ΦF!bi+Mˋ=:\C3% +mDezZ4Fj1˵T,ΜiY%NSb>*5LimQ1P,3\ ýI28hH[pSP[02g =~]_D,XVix:8q_8E_7pD[kb +sWʲqIVNp4:貁E0p!Rs_W0ToһXzx~[l|QҒb/+_"֣:sI˙oaGmRC=ge~> Ww`@D e). +HB\>-"aDSWlXf K~ˁ q2;;9q@112\~v' +Slk!"\pܵ]xt%1R|Fpû?=tӚԉ"@H3 #y?{b0n(@qR0^AQZ[nÓw8_R-0R~1~U ~PĜ@FIe;"rDfoXyƓ7&lձh +Kb*^.G -`Gʮ5de谣"i_s5I}c(л>FNȅqHX>l>xщQupgL(tKV)!v<=dQқ "+Ywz^)"-/? +3Ը ,OG^fWIC2щA⏧cU*83%Z,xvTZmZpbmJHLHr.E'D:h"qp:d.M | AelT;Rx&- -F4/>v(]Ϻ|%~x~KI$ʲ/-xq)]>ڇC;(x%pi?$L|9W7V8\;ӖkG-nIyətȸ %xpL6(WVWDmIS! *M1$C.iZLO]2啰ÐEzH٧fnQyІ]p\ Ie+*WccGT=[7%U .+{]Rfotjћ ۜ ,. i歾oIa#t#Jqy^[YU665.ԃI RTh='cޮ.@Z;-q_hH%qg40^\2i6Q&HOjR8 +Db!߇˓=]DHVvx()IT"cD|nM_5 ~X؇#),IhMрGR GW;*&Gr'Ay疞Jөd Z >+B p#j3"*˪4m?Sr'̔gz , ++ΙF ,aӡ.4VH$x&t`Owl|A#08c6\60LzX #+U# Ua5+ +8Vq?'" L 8!/yi5 ^QۚΛ\ *<}+c$aD\2gC^-K8dh6FT<)*[$_Q^ՄjWd{(v`Lb<*W$ }QAc$md ϷUWH{hnkA w rtI< +;됛qpc ߾/YCZk6zGh P̑.b&\p&kFѻ&?kK͒[w) *:x6S2Q0(}8tdqNVdi&0vC\ [ ZA4z1<>qqcZ b3DV>-AδPs"tO0ؤip-aΨ0Lo5.)f?ZW=W;E,?cWO O`$㐰+(ad5xVKkarq?\W9dЕkCBk,$zJ#v&JFN>{0|m>/8❅C؍c7ƸiZi8aMJZ%Zt1A&t(zuhzY]Ꙑз@2 ܭc`ܛm<=cn*|t0h9$ӧFK􇶩(k&mq=ʸ\kL >DY1~g.6Aͣ6 +9ffѴaXg֘>` A7Z~=:8bٮ|y'ۨ%:)V(Ih"Y{~ ]doA@"8%ahTĉᇝ s>p_qX4j)QٽJO }<'XsDQb\\ x +WBn+xKG6eHS",WyBu+7Ð~[OU)NbB"nd(dN`$|mvмa1DIE0m[YW]0s#Nbq"ӓZå u ȾA qԭ: +Eu*Eza ˮt $M*28*B!Gtjor4G)4V]O| +?~%SwYqȡ~ }@a\8D4I<4yb +"t'$+0@%L򐚟c ȓ}Pt`F⾊Ū`F2.qL":k_2LZ8Dob3nEM1ꡝ~=4i"h$ދ! ҏ~M*#l ^"C{nlV| O-_C̹YOXԱ{< WE;?#~?N{8${ +L`#y0ca$;bLI%գhK&wa P!@ Av'Uuc4ePtN I2ƜY&[~WKڒÌːQ0 4ѭ)ԉKÊQ&>E#p#-[BKJan|T}'ZvD5z9-u0ַxI!9 _QZe"z+קּ$/e)EA_D +4y{F+;ݎ衃[}naĪ$%W›jU; ͙u`ck l=Za.,(u͊M@IztFQH3$tQ2LF/u=<3΃7|*ۏ3eK6t1Qm^DHoԵ&kqy"1}Uwk˵.L*A{C֕3iTtr)uʧG^ o104^geb>7f_#M *u^Dyh \ vyѫ;~ x V$ɲH-QbCQ8q`S6H_:zJ粔s(Z(^#8Yg<v"5FD 't瑘]CQRi#Dٲj0 ! +VĻ+@%A>/h]O EBd@aMC`.d_8DiQ;PHy dZld"N&Tdz5]71`@֧ҷVX]Xρ٤kvQ&tiL@+N,g_C#2_M-0+ +_bT,c2D(=FW4N3AP;iϨ#ni W$bGap-<@I؀cHRtmP"t0;2t"Hnt`Ôfv`4sT7VN;y1c":HrOs7'bpz?u&yR$/°3=~"[CVk-S;~N_IQq/H/f:D 2Ll`qp*'@G 4EbR}V%8b=I%M4o/g+a'[d$MkmL> +|ZfVj"5x.,h,str6J6y v"_[#QYy$*.w N =,?]uHSF)p- +C{b9 7Xp07W}& +9Rha]b-`UF[P.&DZ T%eϹ@$@baT+Bb4?Hq֒l`y9/:5 (>8]`^r <- //82&1.lňz DtڝCgA;v9䕛HZn>'zx&h*2BjnyQX{Ys(a`2/J$ԑ+IGѤ1i7魣 1:uz2z-`&=S05e{~Sn3m[z&$"8xp<^L%#yBjNg: PͲwqt8zQ M?` |".p.p+"#wĮ4gCV]Ys//+{f}C +Ùg!%Y,~(U͞?+QARńjA.bhg`hVHBDU?Xr0ey}T6L6#@>;4rӗ>ДziB-+TwA79])2Vo,grl0eWyscdI'a* +"|gѥFGĒ*w2 E8R"+ ٓ86"ÛX&5Wu0u*V0Oa1b Q@F [ٱqD:)Hw>5%>g':v:^~j2i,fU ` f+ 'bFxf3k?4!eGC[f'M?fQ(C[b fD3ndxt\h]*m%D*4"`g+Tr/Jģk>\' +KNM`£[R,Ԋye;By|T.pklpu^\K{Μ_ou1 ԌZRp&({r=`vC ~5 k&)10ys;Bt*I=y~;4|ȿ?3'p^o:K|;[_D낮 ZϪ·L^ln(ܒv1$)xJÕ6SWR%18h ȿ9kYRƾxC:yM#,<[ZLqXG2J>]IΉ3+:T1(~9N'G sɬ*p(Mdc +%EBR>DOriaLPa=(@9i9-%9WbBZ~DI+$669MYU1q$f;o`~@0癀&ZG ^w}bRp}ur1K7!lf_|& +wFn7[Ef]' +OQ2c"V4ͣ>! bg iwc{bm[wHgםg +ApU?,rkn-ەfӱIKi['pDZ&%9)1[M 2LFEAJ& _rY &4Nz@j`V(G-4EO4"U5 \4E%vV|48v[w]Y;>?~?~O7_?Ozz_],ņbFFFP3ԭ]44!>f>QXCe#8@{.[(rcb*j;l]xC{HsICN5y٣X>+5!0!d%J1i`X:Te6û#$}r=44 tI2U8dt(l(~48 t:p;)jS3~?^tI= lʢ10n&=dmǭR("[>gh5D>9!^f! U17Ueex:Fd(r9|ʐ1T%> G']J]!Rׁ2 sM #w:zZ頭rsU!+a&DApp`$GS;_XX;ӟ`,tN\\?5ĉzl9NAoiYAll0b.%ЩHgB 9R)kȎɏR\`do 5$6@`,xqd-V4ָgX0 C +?w,h6Wz"6g8uN" x@xt=zo-: +P"xA?BaBB N'Ïi rEp0#`'BenVP2['NRlLq8Iqi@,`c1mb}&V̧-: {=%]7&8ho!׳pW`1o{Ac%/,ip -Q: 2*"G"O1CCE,[*\lq=-> *k; zl+0tS:X'21N€H3e79l$ƮSٓ\MOc=0vkq>) >͔AÌ mFt +׃LK9Bp` Eff g+&}9,C`;cCi d4+H*{mjˏP2@ͱ0ؾ + y0`LqARQgcGƘNK xFluT_5;F +W[ƄװRf ) +bmeB86i8%h^2 q<)G@6 h:ͥkD뻐;ED.ȓR@[6 XMAF,E:V:RC"P@ 0ѹ$i1d@SDP( D' |\?Kfϊy7!@MCmfļ;| xx`EA4 JRzI("`p AdB,~7`IWz HYn$,g%06G/2i&zB437E8R9ICZcNxFvfn? b4 ߲(> ?^ĂbM_6X$Pl!Q+$!_]1Z)rh79pwL2CSwPH!N Z-V.N|@B 왌.~!;@@HO{6wg,^! + [rHy_#|=h+<P팎Rᱎcl{T;<MDh'MxH-C&&#Ex̭gG(9G (INijW+Bz.kbҘ9D8LZX9<&١6׫d~ lHԐdW׸_#87@ѫӏH>f xuW3ڂ` ঎+:#wեj/# >UinM&ec34,|Yt?tݟ& +ãK(AmD?ᑕ !ƫQ#Rǣ+@r5ؐ®]/\HZq+!ed@2V.y@(v>(Xtu%];Q.m%8ț=gsyM \Q2oCQ* V~2l]JSd7&N@&{~u\4YJ ha~WU@bcHAKob<8xJQ0%1U]; >!̙e.=]Z֦Wm|OBKq`HR1m +{6JzHM )+·Q,N)Y󂔩%IVeC'8$"N9`r z~#@JfC'VrAve.]g!f +Od:Ij$ս{aätr5U+NlCM+K ,XhH]Foldž M5xJ 2.D*3 2LVD5HFHQjr\mruoG)2f&dGֲ'qj2p07iAܑAW +2l2LȠ4Ș a؝T,Yddkc똀]e 3u;Yͻbrܓ&[ ABۣZ h!IQșצ麮0;0N$sVF|%,k€с38oeW:jgۅf#" w1\o3ENA١dhh"xLt(6h!0+\}cu w`PrMұ\ -3\1o- 8D!?g'Rm6i h%_x%$GΡdaTg>Tm]o}6 6jF}emF E֗/X#)ӓHPT͓i٤IK:RԾx!oeN3kr%q3p"de>E4vsė}1ܗ?ekN +(Mqns?d(K^&gz(-;kVb5EC'B`2=ףE, vlV}n8BuM/\S'@IkBv): FlJ()$gRA[86ƈei=\v`'~,߆"#Б`xtؓL->(99K`ؑϬ+<.y@}[@#HPK1΀ +|F~OG|7.DpL0ҩ&##EVb8ŏ^NLqJd΢-8 \H}#nG1|l~)qr|؁G'߃V L:#776BR _*(+E$}3H7~z$ CB`>aj +~Yj g$U96ߐ,5BFIxc&0:֎g>`4DgXo˱~$3IC(hmf*cŚpJH09-Khd3=у(R%l$"%WJӏce^ʌj+sjn8JIav+'kc!;||&4L87H5)`):8s16xf(̃?ID{6 'eub5= +d-o؄ 4I$X(aы؁ɝ qs8#6 +>A[dT`BWk4篋pFJ }}0,ϰ,>r r!_m(*_%(bL$#,*#܂YQa78ED=haQlWmYF+ Zz[HvҊCwRK97F/x;]Nb}g{a؂)[b 0(Th;p`؇{9 5ч `]'RwKbWxAXn޽m,Ȇ7UGD\8yw~Ɵ_+|Ŋ&2_~/o+_Og_} d/8P׿b@Ln=3 ?.럇vi~~?Zď]ٷ=}a?_w'={]*Mv*p*ηҀ'`}GcLi2Y3v=.uZU\$yC#FgvBnXY`uIyq \$Ҧ +aQX|rThnA8_سoIFrU~WO*~UQѠګo"[{ 5'B3J[;Ǡ31COAFl5WŤwTfb¬͏R, UB)˖鎾kPɕJ2 j +2VЊ撈5[t_Q\㬡L6s _;<<:3 {ԣ:bEBF尉Cߺ$w5!C>1:4D+c\y=`KVa+%] g}s8 [[y"w$p ՠ! 3D,0G#)v9hT7 F'84ҠpXuRQ^xݏi4DeQrDZkq?GsgoȢpǮ|ןHx:+iş_i9Kn_w) +z*l_ fxCJB%E`jd>W8߹BOp5cT 跰;Ѕ"I/| +i25V߀=R.-~Є=`e!o Ti\9TWt,w>G +ݼ,zE*V&'8pd hG$n2qW_s3D60M~Ibh]T+- Ij~Ux Oz0CO42!7[' 0uoKi[N</;r&XRl/kQk. \ܔڕйJ%uI0@N1aN֊hDjј~^ + .%Cڎva^u'Z#Lj6O8BzQ&:!C.pszCF0]xi* +'ݸާ"4MP#ѭ@9ZwjK21DŽ(:%sVl͜0Hݢh4g]kǬjY& ۷alkv6I0 >3>' gC_"_UFmuEnʶz pm=tsAVJp`28>__j.I[վBfY৷KxYi= u&2[OΤPCbxnsHٜf3_=]x#gMX zy3INS)~k/scmƓkgs^>:[Zu7lj}a4g+!2MIM÷W +HVIQo+Ոs# M{b'ؾ}(U +Qbk`LqjӻƬއ/]})횢Ӊ%D{vsQv$| ,߳~>D2;M="6MQ6EBj}_Sl|BH(3oV!V4Q!ْK&qTD_#aze0 "݈ͬ{"է6bjߨhuVƠ&&N$ݗMRyKeB>p}#;̨} +={}PBN&$lOQooucc# ] Z$Mkvhj_%CϢC+0v-JlN!},>uIVd*tEl`f +n(hn)U͔~պymoK@l;jvJ)o)ޢirlC ~sԗ>~ݏ/kw9$WI9D82x>J?:%[Ŕ)!e@mcc ')&i 9ւO>sͰTp脨Ȫ_w}Q??vw_}~7.~pOYl 9{)Z6V~<u LZpkLI-9/Aij9s2?#[#EIBqvT@v#J@ xaXWg2_g}ivB1|culW&klsshk Iz R19% =Y?Qwه`**r_'˶rc".,p xC Gzym('&Jo$0)I+γ0PЇVp$g׷7 D/.:Ԯ%8tFfCoW^sTnٽl,Hc:YW3%4b""B|k8Q-ث(eI/X%&F)i­<[ Ao LgE)ܡMKf/$|"pNV6:c]WW|ovW~0r0[{?iP9"v +H"]heoO!=|{|}oh 7y7?7_s~___~W?¿~7_ 9cQ7/~Gm^{s7~YݷߟX27#O??cO/o~o__Ew?›_|~pBܡ=Bhy(5'?%wov3)3cz1?^ڽ  .#8?̨b4@x7!"b}nFg\6! ߉]LdjH#˘B#.9 }@A-/ pFj$2CԺxh;wt8Uc|"q(Fff.j)N(+y= x 5~eCMF1PAT3#w6#$e}i I=2vc +"V"a?1ъ7⊂ ؑ|r\ i暞?)P=Do֡Dr +qm1࣐AMFF׶m5hY<l^z s:-|pBF!Q;㎽"C63ҭ.{ kCHɵzpnC"<4Ș"^ynRDmG^g;,G5gy:lX"I!"Oû$`Gcm02IT;ցdlvرIlaT.CvAШElaW*z)'COzne+g4վTUx+b*-쒬B(v#)3u&ݣC_vءt  {BY;2U%KJgHI >< ~ +=9t7,ݜU# Aج2hQOASWЅfC#uؐsPhE'uzݤQb/I,qn1!CVϞۓ㬅^E^3#4/&0\o_ +'A*ȯ{ؑO"XD~IOz5J/[(FW1/{h,~EAopvUף cuG3_`Cm3lhESʴBI=>WBP֊d`<]cWM9ó xP~lAL=&CF =~\`aųt8Ҡ$-J>vwE +9 9CwcOZ >Wo4:G=L"V3a.e{G szIOQ}XVf%:(pZGD7b/ɲ#csl!Bj7@sqp˧}% E\=8VO;]~ݶRE7]jUr2¥7.L-w4p8"lMT3n>YCo~{h- k0Je8m ˯0lcPtfXX[=+!"E}Qw\GY c'U3s}hN6"^x} ^u44Hj6⪷ƅ5F x}vN^P}aBL\)xa55,9f)iT9&n}ÿ^]LL.ewꛆW\GLl$kz%8z;dPG(pHzvap X|c~:DBz Cn I,^Gag f+t+ˮ1Š1s<ϡ[BK+LcSm\,\Tp=)ʽ =mI/!]K?DD **џ/+ɬ&INx&^4o.OϢ>CghPcB1\MsٵDKB4[^X> Fu֣T wOPv +6`t-`lɲ˵+ha~$S׉,H&"n  . <Ł;qlҞ#AV1w bVE}|G!Vpd;0U5B|rz !.qǹ }^P|5SxK @BtW!ҷ[ +×ϒB5SJlͮXWE@xgXBxM  &ٺ5HVe!BlѨ:c3+AUn,ҸqbHQQuf?&vr^$#FDN+Hɫ$DqC o34Apa6Z'`ؼv;H'hmtBb4w*Vpaq ~>d(x7Z-lXLInz2K׼k,챧y@%S i4{3&(a M(O<#z"@H0S/2ㅕ1X LxOzӭBrHFbb1\)OOrCjUAsAx vt(#+mqZoFq)QzC2z(Ccxi y NH#$-zKe-6.Y`"\1`o#ʰ^zJLn^{`KjG ʈWyt\K^灵blIX 0 5eƱ9x'`V@1u MVmG˔kL!^Ne|d@{]U~B"!{D!SyHe2a"Y{8& +򸈸;"CVأOEF-Byx@gS2Nwf_ov42 +ǹ!H=3c|SN:EʺCOVnw3$(hvH|$DeK_xbAD%Z@;?= WS;RmB,QNEreK_DF +[\qXss=('o=!ɠS?c +r4Ì&AqQAF;9 D jCf;VHRZKٳf*?+Zfsڹ0A͏@NC萤v@,O~(l"lt`RA[tRr~R0!b>3 Sw4r6"`^{PLN_n^ـMbWapr91lsPi )Bῴ6T"~vNrb|#\׋OKɷVuAFNqMp7cڅ (?"g.|ST^u}0FLWaV=2νu#AE7 =;"[zk'M=!̩Ҏafyڟ`W^Č7)e:J#a5$fZYk'с8cel^=$_Ey'}w;9Z<ψޱ4黌wAу~ܚ'X~Rtk5{uLIb9 6sV9k5S G p9BSJ|WAlek8:4 `ߣ#}/c]ɬ4:׌{ԑDDU,#3ZB w-0 Z?U?[40!5lFpN"XZ[K1>dkvT4ZB[s)x%z:RYgCZVf$' oo[u~L)@;<(Ӣ+ -jZ 1M9_l'^޺f "ǝ*TQ aKZ{8 ZFui)`@3r]0xlG5zR'a<2&MɊ/4#8[ݽj%!rBSƳ'PwXPV}Wavv&:X+~ =M}&G]!Zлͣoر˜xv+핤+EdA#tD:kfTV~ 8):XY kosY䴤G1z&ݧ<z( +Ja¼ P3O4}/h4 i1| "Mz#lj OⰉdjbhS +-\5,zlr#0_g4pEߺYڙOpqELFj`\g4nӅ*]>)`(iWzK:,_0Qqj +О=.Z9^CV- >a^tb!|32bd$̼&m>z ?qqr@^:ʇO +R6z*@ƶ.dn`lA 0>A +?@!B, Qk'y@,v2~Ψ^|{u2*+O "@9()v֗\q -1w wYsmNj&wv `2Kzm'|\ ~y݇`K;NI ˂o^,bl{132,+A[{ϯwb"Ы7R8@(5%sM[A6cuУ \_˃qbk +KtzT1v}NjNh o@xx$ߍ6S|x;x@,kr'0p h-,2 ={a.񉻵[@;۶B.9<p52Tܭ*'{s8{}I@zED( ڰځ3ܽl}pg S1}䂳x^.9 HpUFuԩ&HpԇGHUUkpR,xm_FC;D6tk8ňႿGPB +@p"yէ91B5E{`ͽGܴm(:?EnkGǑ!7שv-y#:YGylBtzXoo(PcN"o-OFw ~xlp`a!=cF"ԻiK%jx4 )|7]`$O~<\^Y"((9晴0fiR8n%\ʍTߣẁDhkxDf4CnInC=< (֋\*QqMFD4y$CHbwI9ȅ3Fxw.Y/ƥޝvg6__GF>%`"A>d$\4[ԉѥ¬;cvi;j|ut|kE5"VɎ%e^0m mӯ SV]9\]kѪ?=g$֠ypcc񭰃 ~y+;d?`$Zk8]!)R揇w|@ȕ =$3u_{Wh/R+ݧJw(,WHQxba)c09T.+$|AstH:&d'*VC'Z +Dv1@huĐ%`YP s.'Â8}?_Jc-TXY֕y;m'Ph4nXe󬢠elj9x5ߍAe 0a9\s`;#;'U8_f xSQmR[R/_9`u8Q͝iOB20QS{e1pV8B{%3.2$ $i^<ѴKFhp" J,Tx֟aZybЦ[&6/z`hYu]zsC2ȷ,R-]F)h})FdfzA8wvp͓Wo%eB7 /cq !چY ՠaXft-~uMTʿ%=qWsV[- q]9,V(/Fe:fbz$˴S,e!PbNaqDTa3ѣMAv +ͩ-X'hbG1<(X~[ 8Ӱib^Z#GE#݁NJ2J<5=C& + CJ^;bNB~ӌtqM?5XzXh  yО06v y[Ex"B ٕܱ8&Q<LK`1OdʚdWx{GrP3K]b,^3gAN_{-)W7奌^l)VȐ69WN]/CdSvyƇ#Ic >7#X +#}Q~}܌["uw I9a<wCKu8#l + ua+񘥿cwRl3sf77 ۅzhNL(tIFS]Ɋ63pdu p@9I2;6|\Qp6<݉f-=G>~B³Ĕ+jeJ}{"LTY_ncvAu5u`Ӣ]n2 Q/GC{3ol75ڄv@bi]JԱme)=M޿3Z6ɜA FTj>DXi]$ǮP1.GVKsy$3rd]c9`o N`TѮ2qANKL}1#ĺ ıc 6׭OG&Pw+b)Ll{HNНyDR`!L4̳NX&@ha*+l$_!\F쁲Bu,u$ǐl +4DZk6 βH`}b֭קԃJw5lX7 ڭ=#٪T+Ĉ@ oZʣe?O6Cw~`[{Hx &{T2g7"׉ʬ޺[bK'D9!9LFfw=(Bo=ޯmtYXӜ wpq<6=b/˳ ׮O]~9W?_mٯ6Jm +UnUpq@5Wl9a<\YxC[Y%+3D=H$ +Z<*SӂF#6L&2Nic Gbq!0rYIlnݝEaۓu'r+x0C&*Z_r}ԃ%.,ZkdّRS1U 2Y8HPу%eXNa$w-FHt>[Yd2;DF[B +P@}d1p&ѿ75@db%:ğY_}up`]&l\QQY.3b4>C/ \o[c'm!6 +"w2~Ʒe 6QM%o:"9XTB+ES:~Eμ5ڵ+dfF(;wLbWpzv f OD3=Im9HOCXHݧy_?t@6ս%d1%fဍaX4.2Qrw}c4՜.2|@j:;i-i5 7k + 桾B.HJ1K^GC N@V0 +{q3 L7Op$8TXDVء$Ju:5i? .3P]e| =fLIn !5,WfAppb*aBza+|tM44G7cY\ ;j8*||e"7V#8`LYfi`AaqF%݊yGT>+vz:}p$S\;q1O"i!3aF`ׁ:=}q3haaYϋjbɳgk72E QSFjz3Q2C2} + qRͺ#u:LK#cMdg<&Ϫ[*Paŧ{x-5E 6x#y)Cv>|S'[Gyl~t +n̪--TU!1E{q5d -RdYMLg\Le(\,2fh@Yytkcܜlþ^6ff&]WUXړ$'.UM*8k~Fhxc~|ՌQ*pWF* fVUUiȲ$e;2M^FP.^oK̈́.G v+#fUl"nR?HbZt#*@yTP;M}z ClDb43n豫L5ꁖ gEAѩ>oZ<6A!cC{BH~rwH D0!i6& ϑ8O9YU30tǃ5^%`qyUiIAs -=`obS)f[cI˞=4x73J=Y)7P ȇU|3'k0;\4 w ʩ cP9w%hs$|۸Mw'DS⷗95ߧ}lJBod,ˍxz/3$U{j_Tow\¬GOꡇ$kqU0dLM:ٝ(@|"3򴢗ͦ5$nX7h +: ;(6k|hNgKQݶ$d* E~sQXvE"<>-gv:~'ʝL }fp`;Iy,䥏؄]i΅C&0bbXIǚHf}9/k[\dI.-S -fuy̧@>)=<@iVM FnEP6;|esF=W1+~;&{U8gtAkE¸r}t!*?>y qW +Uzw +mt;L GgYY0q +(>J8gR1G+͠CBlWB3g?pS3lЃ"b +S4r &C49 6U!gVuԘb8r_)L'YEѠ k*ϐetuSYsXjy={cUiD ͕krST[}7 ʍuygW !oxX+m-.:.X}(٬y~C2:$vqأ Q;ilDnfGa%SL >[H`1.\5v5< q(@=Cu#.nv"a,zܸ<%/Z}/7p}Y`F>\ H:M&x_I1X&{lC MI!lƌˎ] )-4#_&[>ԋUڊ'J>?3zf@:*ŚU˥E`ˈĂ0VfJ`cQ=E6m m7:ɺ1Цsx56G$VtAFbrLf]8xMg Dw=b +|!!'iP#JB!80w(ސMo\gPu)P&O3//g"cy[GO|)X7*gY81Β$"hqٯSU2pM4i^! ;H; 2[eDxP`LmMAG&4lqkTRC>ϛa||_O0:ÊM>ZȀ{Ţ/FTXqx*w LImB2qXƷH(h G\g(H6^J+ .,V:v+2fdWo'+VPķ{}+v3$q*Ⱦ¯ K2a߆9GHIh"Kwַ)z?4?a[ O#=ѐfN|a{oQ(ժ1hw<ԣ:p 3KgbۧI/ng[I!}ΈuR+ASVhɧaW_K0WHjNDF!cQEUa OB  +IjŠ|g+L6ȣbugxŊ7Y`{*#qʀưu vQXw e~.pzD@8#qZ=px^7 +Ɲ,W/ogO6?ʛ("4`D!p=2JU/Gw.l"5Jzy/A틬#`i nisn, ,УFl|䃪WvU)+!BHB{^Cո+-pl0{삥k9NA+筭WtZΰrQh_̅8YcA$tb@?JP{ )<=eVq'# "L-Y׊&!EcSLu͎GK +dXElC]& "):Z/v^H1 ;neo-!4eՃ˸rdYOx@GOIKP$PSjc1=qKy641߇) QImh>ֈ*m&n]ծ{i\Pu ;0^bY;Io?xyD9[ +T<3:lV`oBYM ,2 /<],8nKP⋋P ς;r:1.@c"f*\MH2LSȻg[KQZ(Vi%|}9䖰X9!9xǢ\#˺%q?˔ޘLd(i$(#pd}#fcA뇉<1Fo͇@*Qugpd +?:C'aeNe\DX6 +=tlU2Ή7R! [U4w)ћ1+IAOv,;vr)=/l ؍fYA%J%:n EGW%w}ކV +7A?{,fat<{ň2 @vb+J 3HEiyōόĽagfMd T~E٦٫OZlzElՊ$@JC`Y'gi21|'k t}\y$BRs>Ъ=tzVb/rDdix Ljim4a1”l< _ҋŨڲ-tkJ {F mKq@vlz!\L~y;A2+/n;I)*ɜ%Z 7!$akNS= $ؙAl~L3&AaE 1L;Lz6pS۔kBC:%8lH[z:U$@EY)5#}q5*Q=>/$7#+ZW"-6?7 \lgMb,rGM*%ZO>/,|c~J!"87R?hBq'D"_:E*N|;~gGG$ӈЖψlOe~ilG$쀽Z,X|7-{X`"Ckt1* ᧘]#LJf"~$Dɇi"q `G>I`(F1V0"D"@9L] Ct Թ#}GM-%r#ȉπu"wiB#ޕc19Z@maXʴw.~(M +<)Fw)\*mn ubw6FQi!0\b(wϏ0DDJYHrezZ/dzL)e;m, qddj]>mC`4{!*gKk/j-:a).40Mart`" +xȖoG}7 PrjU$tU{cqt40ss# C! #Qe*Lv:- C<;oQ@UCK +-rՅnXpi0D`JSIgهJ{|.;3Bإid)͠){or5jV?5tC*9đotL!jh* zmUd@D,\œ/,~:A 22>vb/D 둽RDS".2_w +UBʎu䆇lhA;|j>a0w8drc7& $}heX+% @Tj8A "(QC"&q%F*07&a;7Q# b8ϣfCF,64LJE d:8ÙaT?WHkѺxU7qya (AhiQq7Tf7]t +/;(QX:]5m_8폄5qϨ) +%>Y}BIջ0|v~ G2 7p0Ev9qF pNjqEb"]SƂGuZ\txb1jPIJah iaJT::oOˢ0\lNB+L\` +&k=J c֘^"ah8[EޞX8yAtlyZ_E4)Ӟ7ъ%'鑩pn>,_$;gy[\7c<iXEr4c s[5bh,"Xl Qzy~7Q:Ѝ}y!GIINcSqvv|jT'T:qc׌m8e8Xi[o°/0 +ݢs4V` /{ 4K]E&%UlC6kO=XbT; D}!9FYJ#jvҵ-81{IfgĮ-VȐ9\/ZN [rCU#8 +qtFsRLXllhwD6^n.V"S :=uZ`: kk%E<؉ fE +>I)<#sPʥ.WCS,%7zk"^YoDkK3Cݓ 1F>P\gnh%D44kB._E,e)ώ]+"5蕔$VR/WÜtk#@!8ʜ?I+?8 +ʠw/R;q/y#t⒒ѼEyCD}^b "ā w9 +8.v-#0 L`>/6H1`]8oFLt!;, o)ў)Á4 !С4P .\kDCp$N_mu@H?Iw(YR%C!u#Ȟms4J& kﶲXHp*Q{y|Geךw&e԰l_8)3  (%@,6bI3bQbvD(g R&VVLބV?{ PRՑmơ̝êӽ%1h"UU\aXע~kqo!"Xg2UiGPPĵhn/q^f[ mB^t9 Gb]gtgt!g4NMy~8~ FչY:Isi9;ۄ@RLq({_DeDg4!02]12IMީ$p*y~Rc˜+_7R An:8ʴҶ +endstream endobj 348 0 obj <>stream +~VCƎC' exڟ+DHC8jAJZ+=қ8̟Q>O6H#d{gCEYUh~O;B +D7y&u;A{IW,?,d=(ѼXf&DT~MFgrͯO::rUm'+@Elc +dfó4r詌B9!v/O#*Y-=X1ҳ"aj+;ώo=`dR#15Xw%Ybd +:BXi:PRb +S6ef+4C@D]^P &8mk +f{GűeS4cI+7')V5/GͮXgIqעݙgʗs+jN,]8ԯ״嵽"rs 3vDlF¬o8+!"g 'q @Z:[B7Ol{⍣`Ɋ֣[ 9ơ'؂P3@6ҪSV, 7qX?*??PZ&p+j?&J ~!2(Lbެ)_veہ#cpbóI@e\mj}~e :XgȝUGI`SHc>Pж30jA A1zbbH{˲Aeg0{u*5cu Ըz +-1{H6H$"m?G0h (nM@~~INp{ +Okg0۸އܘ8P< &|%EmԒ@@Ñ^OG ΂NȮgJډPDMi1>G`(ŕ4PdB!7|~7/ ANahf.Ւ2tX^HIf0L(o'+/6v6 Hp >ש04,LOAD) nJ[;A؎U@RK'F+ఀ@-3Z(E9iW6 n +1zT"rX<`EО@DE+S ‚sRO`ڞ&io70{V# [}b_v8*y(4onk_`je))ł&TOp~3Ѯ T΍CQ +?È]wQӌeN7kb,ݳ|6h~9+&E{(Bt]ٻAwXU:b=XNfĠHbMůi@?Z̔A]L +wL,<Ȓ0@w"=WPqҠnSOfT!1'Gc1 x8_ۚ ŎC/rcw,)UwZ-Wi>)Z>~?K|vGJzq~Aؾ$O +nO)k&{g rn/`@}/\63ڠhM Ma-W^nz)v)0|Ǚ&~|/Q2=9ӏƒ}.8 &X6G Fxf7^' z3\O<9X\LI=P㯢;R=> z&MMtӵi!MxhDg{ͥ`2̩A :H͗X5+.bjI&!Yzxk*|4 +tod} +)`^#ؘxSO̧,!X[8+ۜ0Rr.V2߱q_@d0ԓI'E%|cEspQr}V-O)=[/e6XW^sO7CTb'qyvSfSQ0GAARY$Wκ{EDaS묢FRl笍,CK4doZPt !Q39߹Q$J-j"0!Ӊs"V: c]"ʒp+# !8XumL%4̭r6|t'="0hAW"@E/S>pZH!` += &ÑH$ H;E /r?G(fŵR@vZu2Rޭ/G%ɥ6OVU ƍ=c-x ͎ac2j3Kޅ-yKYF5 O-LR,f`DOt:713s9*v;1~LF@Cܰ6v6&rǍ鈴Ԯ Q!I}з22 汵e5gXʃZ!j/ +T$(JRZ  ;f˂">zt|D^7.@7^}"5lp!8 +;Hv 6)Yo]U@U~<'"pdɉ{Am#m[L~{BJ'3gpa͂oY'm3=6Dg/2 ^JS`07PNc,HަI#R7RyK &Ǡy"~ ࡈDvР4b ڱHŌL^p"ȓ>z ,I_C_B8z}Be6;*qBR5&5ނb&88p{$&+g/*bMVr9Rt븳?x:~~XmӓA#:Eq],!S~ 涐 "$!CxdKWIc'to/<"Y):aq8PyFۧSc/KgcHgLqֳ@}n.;3$,P /G!ثu+0[4:E7>P +9/*gKUe 6lթ*8Փ}G"P%~7`6{. N)Fkcd'wzpywZbh\dƵCr)Ljl kVL-;BCuexo,LXn"i\aFm(~'?q󟡸3GR]zetU&٤/$Rx[>a8d+]8m=c{3ِND! o:9iRCQA>wN˘ԞPÐi8J !k,y,.B,Tt@eטAK'_QfmpNHccIO_蔮ȭfYUrȳ|j+q&?rJ̓tKZQ 43'-W)OD\"J|)5,XH~Fmp,׀BDzh"ff="t +>C-U"w +m6+r'^6@|Yto2Q[dƇơsN[X`yBo6A`B|V GR÷0D& ''(V`@q 6p#4|߰b6r"F@/.^"(iǢl|p3htMHs 'ߗG %HRX8l"v؀M?c$#|?G(Oy,'@Q:,8%b~{׼E.MV/~`dwbQH e5?d}c/g%KgHGlenԣ$P-Pݸ D?+a Qm0%`B5O +Z#.` ؘ@R`' E]" am8V}dPΌv(RbD.ft*15 +mnJ :toDKf7)Br B==hbؖE\`C= Hs e§޵\/OM`x=PcQ6w u_O;Wc펢Br?g(<94;+&8d[,)#ꆉ` gv'j-+Rs:AUHH?/OaЛ; eI&O(My)*d71>F!Zgѣ5-oҔI.<`iܤbu?RQxmQ<Y_‡c=Qv ~h$u]M K\n&fG*+<C ƨt6X 1㖛W]RYRLe@YuOގYb;7Z2#\-V#7ɛc, ױQ qbI0")x +M3kuo[.L_8[W6I]\ڛv9w_H1g 8}!?"HoHIDW|bǢ8 OM3brq(J$ZJrkKPODk EqEKD]߅NcY8Njbfi.PzJ} +Q΀MvԄcc"-T E ʞV9򗸡(:"+ Ҳ,{.,NIEGٽMΒl=cS.YͼO*"Dq34Ň cN|LzU9/ +5z؈^H2iL@g٧CUFiЬ,ꓫҫ!(ŕ&ʎE"}^'qr+2x ~[T+І=!m`e>-iҒ燱({n6OsiWFJ.*<ʔEuB-|la n$Y̧eVxr(c`5o nUDփ:䧜4%OU7 k '0Hʹ"zx1#$W1֒h5#츎[Y0y+LObPֹ*}~p)ġ!y%︈TOqi_3T,W4;QVS G5d_oMYs$㿋uoIrs-{AH&|J Hx#Q5 /1~#Q<vm']٬< _Db[oB,>Z$LKx2k8F?+~ZtF2MjȩyC5bڡFԮ_& +)';k~E/UT|ݬ '͈< TS7fP9ࡘX[K~RG+'#, G6aYZWGGp +n8uH]|pa Ex3ô♫-_%w}Lbԋ&F/Vl ]x{ֆTDq\{Cn︉jcZ,W?#DQ`D G󴁍@I=CsP`z +;_F+qy3lߣ3uz[d,EIF+eJDJf=q>~j}f1h0hZO4$83qW}iCDX4akT&+H*"!ZFfeG!@Xb{(/?a\&c~'@*ٌ"Zto4~3z>E*M4~1 lƕ⋽5),V}Q?]R/PbjcI>E:)IhNHأA%/CR8ʇc\M + |ЭpnYv`4G=M.ݪ4uŀ棂<`g! t<cKDG2ou젱j,^aH!oѐ.įc߅bjlg TJ18P&+MP`t W={ƹC6'3RȏHD~ glBEAȩ]%,p;t6#\pKlPV,r4~y?ȾQrU2|gF-Ls`\ h&? 쯏 >\*J)<{RRW/?m7Dư؃b>ig)UQ:f$0{ɘp*?g=ݍ}FQ xU@vr|pR"5G+l*=k屇P鴁$O"{=[q!uMo4;Sg \|>- +,*Dz4UlyiU͗Hp\9͋ROA}Q w)nNǪmz!+'к@c~6J1لJ ?b9VN1kbkwҺ MºE-{mOsDWEC=3{dVN B2:"A>S!i`rz$&I*"ybD"pGpKb e x Ô߹N- ~) 4|^C6&4DNobe"V FKܦSE V 7 9EiIш -Gz@Yr$#s`ܞu u +xfT-4132{c(D,`` x$v ÕV +2,v2S_N_EeK7vv8, |!RQnF|C:~<8fvՀ19 +z 8+i,q.wͷҌeE10"ʝ~ϗa} z]l$P^>Tv-A'w4عM\Oq# >86Wt'z;X1&Ӷp b;Bey:|wow_ǿ/ӿz޾alAo`Ƿ7 h|+Q:Çd|hA\b?X ;4ԛvxohNC9`# +tCa%*9pjS .n|lfwN¸%Hsxj3|mAZb +}s8- +=T,H<.Ҹ'fXT3qv@dgڲ+1yy:A(=^ƒ<,( +}kWc.՘yCZfv:lMƁ-;,@L6KT: ;<&b Q;!+V}sɧ("P{==/Ѧ\m<3Bfն=E\!N#UJrS2i;\ O._@ +l/R*G">N~l ;-M,r:Z|ەio , 2׎IvRĹ%/_84=5P=x dZ +$,Q8Zm}4ISZOGy;Y?9e=uK`x%̞UI7g⊻PVtWp\< `E+5-*|5D{OG>\Ė9xdyxJ[;(:cg|J116=@!em 5iƺ ԭ u}X(1炙 %Վ+pjO9'(ߎ =xP:+GȫŠ^cY2[o(Yi27#2Aۦ&28kS9-(-&Q +E &xhŢϘ8eC +hɺpE?@^K]s:(ptJg}Cd)W>L:LBdIlBѺ n9Y`\‘KTsU̟1*D-f(WAD.4Yp )yVN4M|È^t4(]F6 fnnc;&t}lG@cIvE,|PǞ(8IG9'{% ^ J5t+ d*Ϟ`*xyIl~@zyWCSHZ@^=>^nQUNwiޜ)Zadqfr-o)M]I1hZ ߔA +%^P /.Nx #)!Q-Cf-n ngW"SC;tHy!6ww M=Pe;ח]k`%)KVK{#o&wGJY}dRl ,@4;gB:w'p n'[)BFI9v&_><& a_w*PB Û '@Єbؼ60b@LcD7\4=48[.$z3p: gj b5clѹIQ>WB\x`^:% Fg[H(ִ(N餧t;t'3%Xȷ.~ͯFo"ۈT)gx$(G5!C6iSy$Y>֭s$8H +N|$l<=>,ـ,b 2bpo| 2"wvCX">SǫEŷMҡ79{@!:cToAщ!50>V&@j0@]2 bGxrT ӃYho32Xv :9Fe=pv\(H +AگGw Duk9#bZ0l:( p›kUSRz5Z^m4.px ~-_nW.t EbWZcGmk Zu[_%à'@6tp"DO +yg={L\Cw~s*.A1/{~%e[8E@ROt ܡN;`AX\AkA"%Ĕ/ -~#:ֿOR }o) آw@B`@ϏI3Pcp^8t.71ûUb\iHSp##ɋY&[&e^Nx$0cG i@K<>\*[Y)`&S!Hf bGz;~Q.(WZ>80Q<>d JB|(&0oÿz8IX?!"%?wBi^N?U"h+Foť)ϓpV 4|t +pR5uW%PN|)S|hPoS20{ skrdM];91"t$3+SnASi?ۆ3:TX3EAe q ɻAcnɄyryA1dѢeSIg#KI3ne +ˮLg_C~7SO4ܳXF}PDLWITx։#e!##ԤB14.FҾ|a$Vуw7m:67c:7N >|P{i8%NaJIeoZ/mx?J*[Š<~;P{Lw(wW@Ӡ+";R;+U]堒J@ً+"&ːlhcڐ^˹PTuSϏ@LZ}&59sl(1@pH\ +48P'21bI'8pabyQvc*'(#O7#qmM'0ՈŶ0fPN\tZy/_Nl> Oփk5`Q:]Ep:'1`s\~~h]zdw%~ +8x@y$/n_\O@e BCzt49Z(|xE*"]y &9UѯN%ziRW "T߂t֑ SP#CBhvwJ[%C>[ V vB( _N%\Y<|<1d]^#\:'s=@Pnr.T0FNtT9x`EFlgo2cvnP({`hZԧD?X &B^ԻۧMyE# _C8SɢjC$;b0u-Ij[ e_Ql VSy.6^N$g 8cdrǶDjӬm3m~"CE"MTSYq"}dG]F;Ƙ>u4Ě +a2 f0hLlѺ=. +߸L7ae# ++ΦZd74УbAte0lm'QShl3ƋWaugY,F +xl My^>ۃh.z +Kf>`_2TWZh~rTXDVpk1f߅++rQ(x0'j]$Ywɍ%3s5x0W-x< D ƄⰗ!Rx_eTM<"E,~r@$5R_dx_?h + s\B72TwQRcm-;Dx +d.6HE d1@n΄fHQl| >[I,y]KHg~;)8^tПA.qQ1g8NWqN8lLaA*m@ R.g;w{ +DtѡWۮ„_Jȃ!T[,9C=QN` }X ++`mNN4F\FPY@oGeƃ +chc_IXAbi8jp,hP?L(~[q5}Iž r8r{zhCã2Yu0{7 lUcD_zF(:pQKWEǗ:)D! DOt S) [b\I{i%} hq$hћrev l4_rwH-GgVJM6=mG^(sTZ3a:)DS{ @ɁL"Om;GVlRSֵ;c,Ayg +ix<~,iy>*ǩyŇ X}O" `ԏ 'JAO}~2U8~7am3a q'EB3ao_pyB~jwX|9cKI~У*^8BpA,W&\(Y(tWcRZT[1%m/x7/+}y0 )H7mUlRM'3K\.ix["t:"IcO0@z-=/  qaM3~U߽Y6oo>r2|w<<W6_V6/g/ӟ_o/_`i?[O_Jv4?%+~{I߾tO`gw_=/Op}c~ ڿ2د].t =Lo]-WԎ^6OWVTL +euؤG~|aЛd 2Ο(ԒZ`q"h \?w2FD^}G < UqK'q^}KL>c{lqp(Iː &C @{84oeD]]]}`i5]UreFF ~;wX6ַﺍf?]+;o_4p=FD3 ֏G/sןuv^?ϰkj/.[Hoiޯw5,jTQM}[ q]Zry }hP)Fx7) +vmzꁿ>$wS2b?jݬ>E+IJTZEJ- i/Wۏ +:^?r %]N Lc>rTNհ-t 78AƯKo3Ƅ0LFLftjka +>?4b]71Z)ݻB+]37HVyպ|z%ӌ*רּ4$l`X;%U$ {Uл{ۏjA$J(*lE:G>D ? +#JZ/A~{qUA^aY`]8ٺ +Wz\%^>ٺ}v2[EoC1jO}-_W5N8yv! PXs[<{^MbGܻ^Ӡ MWzx%V}*:YE|7+}7FǸ*}˿:~|"#/0<\ymD32[_U؛ʐg g1 zNsZ=xC8J,lm"kDӲ-Wlw6Q2w DI\la xDv:(Jmy5{֩6Jal5!^(yz>}A~`o_>5W9, \ٹP<$HlZU I_H ~O$&V<K`451r3m*ުO#>2]u-[Ϣa0~z@~UhB3]~_ÏǻKmK̾~0Ymzg(a{z!{hd:s1~I'bu* 5zDZm塴 `eDCE~T䗿ׇr*¥kҝD< յPrBzv(T]܆&vYkaSS#y/a3O@aU7,J⫄,:G0c_an fT1ܒ^ +2˴N2+ևٯ}lT??#ᇄĭ $_'/leߧ[^ڸVMHy +Cƛ?Efs^BwmcQ?դW~@_Y{[}f{C׍?W?P ?qڙ?Ewr_лm{{w{Ŷ/o_ZɭwEG3Skw +0!=%UuFHH*q{>Xˌ*^F0a {Wӛ?1Rj\affO\%CzV;(a7:g1b SvXoV{D"ހ0K +) +m">;kuS}MOG^!0qm *G$MYx#8쬫HoՆn;6Ǔ>>}X7{"Z_"~ +^.% [Mm:3Ub#g +/%u,]S^)L + +\~^rj޾q/]1>O#!C_~?|{1{__2~7/o?KQ-4ǿaS/~?o?}*h~%Qcw[~o~͵~}kͿ߾o78bMW~0wݒq>S §_5X{OYwUOYsOWooYTB2G_f'Ⱦ1a +J oUo A,Fwb5[iGl-obN5 kZ7]aZ]SEM~ƢkTZ| Lh囉{}i/rƨ↻WfR[=%ю;(OZEp>,;JGazN sbyqPG0̴V =/s> }>QT[ṵE3(٬`ZU=Ih=R_qP3]WD#fB:-mFng#pU8- pbfji>]IYJ&ZT8S|"`pS{]c +X$#eY2Xi.`MGPNT2dgp;0n+؋k K{4 {_Ta$ h#Kqao(>s(QJbMY:y88h0Ю!.D36o/,hˠ+"ls + .=O_^7;9d)Uô>&Cn4OR "})®+TyhbskBc-Q|m^A⬕H)(VDv," S{E_+Q0;w6 yɁk[a3$ײ!((>m;KB^KhsaH [b{ސt[XHXZJlhD{zoCM Z1D]bC/1 ^cɶo5*4؇dD(._,ӑ@%*CO0V- %s~rQAY<J|XV}}hguz8.s <ʼnC#6I87^dw71TxuMGp&A)Ʃrrp <,uqٿ=f.*46XNђ! 8-z Z8Y˲u#OFyDW-O!"ؗyLPvUM{#B[}l{wNrѰWӕYy^d3aZgwռ"|Ա^!`h:vorK)Q$ ucd~MunVRYwi?#D A܇o\7]`^rs{ uL><F8f,I _ôU`@ Ettwm y㼎2gdO;] b4m58hӪxdoîW^(~R_!~>XQ> ;A> +`$x[eXYV1&{ЊWظ yrh~V)cy`MZYN/kv7.,م r]5bc'X(#VF@o}ܬ +%o+^{Ll xߠN/`>2H[} fHmB~/ E|7Ѯ͵C^c{J0xd mB(\HW +#a^u[Q딠ܔ cG՛ +$cz!&g :Ez YٜcoAbAI=Z.)7C wÞJfʭ2fI)1c/уqM5QդQ??p[zF MWIja= +q{~ @z4FПؒ`,+{ۿmTR$V5=d|=(o Hh#f%ǞfS~zUjm ZzՈ6fRcM~ \ވ̺FO.8xߢ]3JHfۍ|,iX7t.^a^bK( c5m~)R +i`[ ݱG(i{8;]k/{IC=G;JTq;yt |i7Ѫ_!ssr1 5ҭ͂-pͱ&L_hlI`LG57"O=c#)!X磢`yKOJڗ=,sx0!3uA&Db0G1${-;dY o|2yzI`{DAe~46?$Ȳ/ApT6ĘH3qf#lZ[Qۡ/惶.<q-b]$_cql椑ma&0Sٟ)Y^8yTcՏR^36Em2*'֜%lkNޮU^& ^$* +6JYhb־}( `m']Grt0:Xr|vq@Pӣ`S/4r£U16en% +_X +xXc%`A 8L{<\t{CDT+8'ָ`kqW7(v-~4!D& ?\wLʓpW+JzѬ4AMwnD19CH1a d} ]`a ^rP>Yf*4m޲Ogkr"wA0X 54d?_@4~xN;@hRKaRF-XgşqMz՚r.2+6A|HÁ'yWSfs#d*ڦxqr_>.! ߐ3FsB?1YGzGrbCO9z7Bk^UaӾޭr;+ݠ"pJч u30 +/Uۺ0ӗW yTqtHj Et/XzPՓKY?ešұy67Ыt;s(vCM*2dO6C*@D0$CntmȦ F:\d@m=[(\|o8|zsm [KsUE^;oE&ݙmA7B4QRyhG ax_3mF@ jJH"(om2-SV:n8k10ۣҪJ#̀muvDXa_ sY!fJ_>teJ:GL9mDdKJf4;u%ġՎ8iQVmubSBW66mQΘ"N ͇a5FH]B'/D/h6#mv1b/mPdq'" D` A"܃7;S"֣5Y"p+յ6Jȓcf0<6mNM R:ED[M7ܩx[ȫH/{pҁj}ڹ;e!ƺ\MNߊ`LUٚ[ƹ%jVj62_WC Md[5° + ut(ao֊ 75]p5Q`_žI|GKF x{xA#Ƶ}ϯB pr(ԁWw[8Cg6R`$+x0P(U|Q.I; Ap*> y` ŁZ:1Y Z٬Jc&B)}xkwR,RAzfmj +^7+-9 +T|5bRvE4I|x&":4?DaaJ8&~#r +:3G)tD&Ѿք1]Wnxhĩۋpgd0Ư~ +f-рKE-<0;ɷf&KL=6j4=b;je͑&|!ziO୊uD9Y[:9Ѥw6t;G,K#( +y\ DSI}#!o QY5/%Xl&mw3}f =1-;̜ͳ3mi3ƒhE<# B;_gbV\(AOdD'ڻ+*yN<(z 7lHdA>jLrHuvO5p`&)=J aWcW>[ gFVG^5Y?3AzS֖~'ɝ4^}L$OnyŨvE R3A7VoL*<jG"u~o"zt5Ht[ @jšONpf`-)E;(l^<h)R =$P"_2+'Ɓ6ΐg w|LAm+!cι+)MAwɕ MX,Dpc` ɄܭT9ELv릌)W3ܘ R"n&%ӅʚGW}T$pF%bdžs{zoD9[YJB]JjY 'zz:jkbƸaE.SVK}л!̡&(sW_w~V<#ē)g#TfWlX[r6n*#>~uR~[ADېtS݌58ƦVC W022"ztNPs1X>第g끎D V]Mf!5NbjLpY09>(AaDU ĞsSf[58ײL maU$\p6>_tNjYxkސGǣqАG>qn^Qh@I1>$ +/!#WHyژiyp)k:aC;hVm"^_SL}ݡ0av-pHLky BCoj Wl jz2dzxdCk~efH@AcUtmƝ0IÏ<3P褕@ދ]Z:Ȫ]ߩ脭AXO,ph~a._B;-xG0yxPaIΙf :(EAR}N^Uk2Z O^=&bރYW$=tS)F5AhpfFFJ)4dna;Py^ͣo7E>pK +ZJg= +%]kp?Ha$Q'ӎL}Dvv%^hКz4H3^Wqyt#ot`{^D]Tti60p3vD\סGANsRl>BIup'd!UCPM~IDl09>28t9y⟗Dܧ^Vipu^ |NpM¹LC/32zYUEs#̥,L%`|@p 髹o*ƌt 1G \j#1&N~\LX׆,]}7]LKᚿR̭A*[xbyQ~*ޓ%*u c_гWj^S!k"򔖍q,ұ'r3Cf u6W"yGu1lR`ᾧ}e)ęF]!.ztoɐapG9 9GN)Q iɠF碷nkit]:HhXp'VȆ{Xz1:YKUXkWp +@-nG.JW+iA< ZaĐ(YL[lуV]knOcpCea1(0v34SspÞGP@%m9IS{"/5ԥyi08ʹ5.҄#2>.DغY߈)/a+Mg] m@h3gźozXFIeAcpXꡀniޝ? 8|d7p51?ߜ;R|rlr)"C"V7 Dߜ/`<슇\?TC*B2iĠޅ.ѡ ]顣^t8^y>+ yo,!n8lSg_EiQ7;/ʲ/m:zC+\CDO mрG=0TT:\h"XAF +#8ɭ10S.u)8 gD60q9 +- "RxOpf6F#6sK9N?u\0ZL6\mWWu&WCEKpu ݸd %C!1>tB2ƶEʅ̈Yј;3CyCr_r81$4=PzB :bnHq=>cᴇ!AavCN]|##C^",l>.BlF.PĬwBK_Ygmz,lK&5:8]{T#EZ|TM7 G|fVw+YԊt`4ء(a&QSD /):n3G_- O_ЃўR0ɺ^Mݍ*Ǘ9{4b"`f ܏u_N&|"ѣWazñv q(BG:Fg- %}J.LAQ޴yp\7AEƳZ7vqѦӍ[72[8%vZM4 xケױ\ +kmȾ~$u]wxc<,,Kڥ%ܶ_a/C^mB/9d O.MJ 0[u#(i]=6 +}O9Wl{=?CpXrzJlnP@T}x)[%51%>:W{];dx4 +"Dp}\pn\\?3݆18I,d~ovܰ 4 i^}OALHτoADg Y/ vыÙ Ǟ̌p(tU.u X/ *[q[.6`>v#p=}蔊%;Wo< \[fá:_&qwjQ/^PЧ zxrKB 67.G=PrݧT=I zz|XZaA8'7墠޾p. RQKWAT3*mJ0ȍUc2 ^r9YyPn()~Iao}ĨP6p9ZuP ++K{Tr&;5dkJseF]unU8""ӷ8; + +(5p搉cõo!IfTҀ'4arQ n^w؉1QJr}5VO];~Z[Ua"rg1q);=DzA-(񴪘fI(Vf 883<P^4ˬ #Ӱ&0\gwªI Z⹬YS歠EѸ0l +R)-^4f"8Ҥdc=iX R-Z*M&ӺȸF- #xG^.["T2T, 04r i:rӓ4f=bSg  6;t9;.]fLMlqHJ޹z~J(#Tu0yܷ^v7[vCrYϲjn&ÖMw9am۬ &s/x;%&> +rAlX d;tyaxl1pUg8:ty]NyYoLlzӑ?obV|ɿ+ym$&FgsXԺLV9*gܗr;maZትnv Ƞ'523Cq;aྮЫ "iR $,S lz7MK՝A[pt\kYMe_lp @-%i6BpuK6af7\s +~ 'Li(H V9z7|WQK8 xEЗ xMLq1j 6vQ} !XOIDb@fd\z-,g9͙F^U04]xXCdoTC;]g+QE\6Ր"NދS.S?A ځJubV7ڼLdThT[̓o,nHIJZƥ +0ov F>bk4={_!_`V- + Nftq!j͂*Zez 'bLsu)pZp{$n̾a[l=0bgOhƻ "p߱GV +{V.j۬46 z}^tj#Aw'ni͑'Gn!8p(q(ROJm77F<H0 + rkP/#O^ùرͷ ,G!=F?tv@:7r#3ωGK\lV=sq=>P8exz8YS.9O[Ot-[Bs>r‰tu>Wa*nhTi,Uj3I%-)&;qngiճ[@Uc&u*:6Sc- Ĩk@>r)y>]iiHvs֚.0Mʠ>oET c/Q j6 s+}vȃ)5~*0ڨJ8vRjyܩ eّP={+~{.:Vz3TP]M6Za5C8CL(FUbf)f9}icWd'&,8N̰u7hIY Z!b(W49$|/2vPRQy]WTZ\K;UeR7+\ ;f xv)lOΙ$Xi'N)lWOGڳK\ v0j0誌 ;<]5B4^ 1~/>T1Uը +7?0 wh%X4>Rh7 Nۻh`qp78#{T.7֧P׸ b *&GRwʤa#2謐Xjܩu!xa\[;7P}pa;ȓr`c=&#ʀa n}CtZ +0w7OõCpyV8-IuR Wyr+Cܹ{\NOA~(N} R#"fԥ.n2\%7$zxK{ !陙ﰣcDʅRR< x/;}%6~%0b_`1!QBK`ޫ'$CLq>>R \ʸUkd0Tgms3_ꤣjG$bMw2ůZ'ނx'6%oqMEGU40%Y,JS>D O$MaA5X@U 0'9<2F;f36ތ&(vŝGtAN-| f4'uwuge+ Vɉ$2G!o]Ndž5B-D̤} r bWU|~Bt +epUR +a1}gbj̰/'%?ih+ +wrawX][SIBP@6eٰ96 T!kg)dkfϲ!;s<8̮7d-+`9TżѢܨ7U(d4U!wpmAj=VOB[08s9BVZãK. { <Ʊayt?%/i8ifΈ>\G,P˄.-"u 7>L;qЁ`Ћ 0C+m`iGu 1/~Ag7*t^ G =Tqs +7u{c*}GbDw(cDOs 2-rd8 )vF/g } WhiM~#dQZnly556M x4@|1|f.=$y iC6$2`_mQBdp? W rqJI](yRHfF} +E!u:3d#+p]~ьȚ`%!uFEFcIV6eiJe ukOhBԚ?%*"DN3;6TPŔ9=C>%i2.hc8D0vCb^ -uYiiaIJ貣(*xUhb!"lkN +/;6`-A7F4|;I$ȸom]Qy^i oqnΰså?Sek n2&>$GIҞRmݠj3fd!=Kh?Ww$#L ;84JbIIuEj+Jw)D(`,\w8^dH*jP+?1T; 9Jl: r[xG<#:|rxKVW,콨QnqbD wP T~gKk43JDjѵ(<\ =늙 +v.\ܮ iQё4h<0t["IgP-ѼctmpGfBRd6q蔉Ƭޱb97w k@J;ps8[3or`=ap~)QGDY@2igki1QFyQzr8$9#M>5~Cb +TiRl%4k i5ەѠ']NVU~ҁ*?Q솊*z*ӆh +Y8sz+vt2I¾&z.Jinx'=?n\/x߰G/[$+ 0zpڡ([3|}bTw ux%)N[͛  bǁvFEK9p1q?C̡>D}-.9S/";ަBVQxh9=L"L}0 +RnKogryZe h{EЫ83SI!^4E/KK7x&r . v\dÂ8hL-DN: +;t{uLYͧɚ6mk"j!3e߉6[™9>Z7v wʃ&C./p:C|HPךw 1rP>WfN2hxud,YFS9( p"½TXfmt.!i8F湖N;y,d@k'$Hb(Bdj;YxxrpGGDT3lёb"`aC +Md:{`NRUvw𝐶dM(Vi ,tyS;yg;lQ]wą7!{Itp5qe*<f +uEƵcvR-/XTьcH R d2spńKhr7}y W x:QbGPn:cQ +OA!?ၻ0H+[3ߎD>Qa2Oy[ӦH$|3`IC6F׋99ZItѺ)q =FbaD:1Pm$ +,vqO{@*zb $ȹ 1ʧ$䝀\E#;p dQ< $@ ) |&F?oh^&~rlfNnxܨ `3"I$5̾ o易Ymh@m T+&jx!ǚL[2A2 OϏp7!E}{DQY ]]኿W\s^g\ݶiLI,BuR[1#{4.Gk puq,c ,dU}pqQdX`$}ǺVZ W"l8nIe`O·`fY8G GkשHͱNa6`N KrߴrXM975E`- KtA"3BLƓ 1 Q:!-kVOƄEq:z ÒJ:X-W "4$etW5!MaݕHb_Hg2os83}ЌJbuO .$]$N!B0bǧ:32.GC&G]T~1cCO JI V^%1f>v) Lm'nŖ vORnh$B &"K.(h HKei.(#6㯨 w:S3йzw.k=_/6*|pkpw]{.*F*#FZOG{- VP-jnDf?YDUwQ) K K;`uVv ܪǖ`>6PJ/ 3 7xZɺ-x丣oOèQrKr $5Z/nŦIՄ2~. yDh"|!.b +Ac_Q^SP{;% +)ǒ(J\@QC@TsjR"ermːF[AP<Dk +qssn#ʊ&҆[[C&*} ,0׾4Ņ м +cM9mB$~mҹ,a)W]j~ um0SFL`FxFwsۢc*iopA>5Urgk'hz1a[l9+m?ܖ[m(Ժdd&s lWrRl^k\u5NZCn\3_XG9"` Zq=*Ü:;a)I߬{zhɯTP/P>6&Exii &~l֪b9wѯ&odkHnBk7E"qU*S"TuppG>@[V1SC[jh]iG"QdAuKm?f%ǢćvQpԝtB/M'LjȍD$J˕#@T d#SWě"Ng*zUay-%5"SIQ^̢mP?nLѢ?P츮FgYȭGPA:ifdܦj3*{:N¥5)qatPNrZO*gYŅ%ˈM Cyw~`'(Su&j8ZWE +u-iVdd#~0LJ@y({LLh)*=,idqA]}M ۠Q/5$%*蠘NNa(uӊMYC~\ +/ V2r \j=KP/7VP;;ϐyGkd# 5r[lg^ +ob0VҎJ^ ݙeR9 ]M~&AB(E!0\Hf`XTeK2f— P +1,Vn2v8t2$j]nf|aT8<'u4qsJ{J#Kj&ՋN2~/H.WC;D)F{3)Ocn _Hw  ܊"b*̅NhQCBślDriaPOfwcpJ, +kSSZ⋘-a/ȸ^Mdj rŠ>U\W5z0*!&DU9IlҼY0Qo(ؾ)ȑc̛RRF2 ɘ.xtFYiVrsؠtAQoEyuRd؇DVX 8qgD-=9X0|i`#I E3OjؐEjfc(+bޣ U.¬y$/x88dD@Ž*gzf=EP1(]` wxz7U?-t',C9QTKNɩl'fR tA^xD nHVx@pІZMߡ3b4ZDefI( X7mb-Ey1xB#M9䬛;b`Ǣ|T!*8;ũFA WuͯgM&G{wIZc[6 l:8ϼg4a}J/jo;7KƁotBWaʰ *cmS}ڍ6HT0nJt іovP#C\F!W0n[Nqңw)7IhELw '(˳T-!K>jްMx.A0 xs4jQ>*Uvj/TX9-.qg&@23Hw8F"L{6(+sy8vD>l!\}E9D8R/Q{1H:@B=K맗ҁ"%-zv#5~i¿s: [ߔHBHp0 tP۫Al +1$Mrϙ"M|;2UjB",XؑoiK z4po$zD#cQDuzzj0ueuHF.Lt./k=aŒCiY/M5> kGݱk44q1jIKs^epapQB/?[ ^TVG3l=UN8 _!N 3VYD%[1R+峡5!jb9g/ʶ_E BrgLI(u,3FMY12Hz^Dde'1AjneN~dk jzֳ0cG–ЦŒ9p"~28]$}Kd94?@Xr GZOWcmx@L`5CRѴ+F]J9p;o;&`ePD`ΜoSF ++_,0o +5t\ (;jonoH\'ZFT"Zr$6UV?w^(TOMԉnEK_U~msК-=YA["-Y7ooܽ[N_{-0EXUtY v> E^RkH9A?'U}<X`_ܮ0Z~Xh:*cNi@tgL7qWov\}4Kޑ("y>*/Z[PЯQLg 焸\ۏ $_&!:aH{?xcg;ɲI!lgot uKp/dhkjs"ݻI +NEQf6;`ed& \]XC\e8""#9`$_1TR!9@RRh5@|xEL]+Nfja`w䜊TA)q>Q<1Bi?Zt7ixt֡Q棳@cD!bTHw18/!ZCqvY>+! L\<3z,Έg(J{Wpa">kp I͌IP!'mSxt($Y`D'53dXlbK[K,'sa d2@0Xcq[m,GGv1TLB&+RW >DD- D+^;oNZjpL`dSp۪] 'džK=[N\IbR/nbVhT)uw/$BoS-uٙ2r['5>t&;DFkiEo\㠵K(CjatG!4w@ +g" +z +2^N]fŇL_wxB>9I^*d3 ȱn#3D/PM]xs +֮% 1Ur- !N1ZDhth5*\`p)kF= +,inP\o WY> uvx?Z4RU{/E&"uuDث$ ߫bL8,HR&ҕS"$J ?mNv6/&Vz#nF2[|Sg 㱣-_+n(`"Y;#IL@ÝsQgN2zȐVs^J&uTuy@ +G@7C/BtDdCUA.(b1=}C4.pWcq%gySdbnͮ+oHrY>/vurO9!X[ᩌ`[*:Ƌz>:娕/LQMDMDqB26 ӗ[rqܡEqbtB&}ھf^0/3v~QmuMhɂ 8臻'Fx@vkPd5NkaF +ַjyv]mďYeSy "B?gȌ^+Ѯ1p;ؗEX=?$= *aHD"s boXDN\ݮ4+o |I( )i+[}4~Tm;dh6ISh=YW_ZUMhe&bӌ [@9FL06 2"ƆFhĥ$h ƜrUA,eS*"=0) /]nֆ 8(V(C#QJtu*" {D%*5! #):j[3/s#c%Y^7ŵ #ithciiD5ET#~Sq&aG#|lX;yqptΔ]vn;Q7!:peef/A*䳯ӱp&aK[Ugq$afh_h 2R P'{@1irj.܃mZ_ŵCDĎE8~(AE5|YӍ|:j_ܦz V}N>q:a>)Nk"Kk +&KS^>…|lD= c-QY W,i*`r,,)E*[6>6o1ybx4WB~WaOL݂ή1.h, \m9FBnP;INY3$9.6 +^$88 nb;gmOFa4+΂,CHkpX˱>(C"v`ƝaAY&WqJ9xX@ap8f3`0ʱ jl6?y +6J%vĈLZ:O|rrS\*F9ٳ2k +?87RCZ E* >qX 1.ֱ{]~m(I\/zXX$٥oXHtDkE-=fC&'H[8dQu3"%UK8(q`M0Son֡G?Mfj5jHu/ﴤ.&trteu[Ze htҶ{c +4\o>+ό `;O?^P Nv6(xc_i/FlG~TpF%u`!FBqqf;}Y'SgH,6͑F2@ ҹHBjR "tڬ80ulVF[5:3%a!x# :(0[S#V<7 Ni!F F??ܼa wk?! !e,)~2ވ #0A5H( { ɛFK4ްg=83r&v + * 6^NE1N]KxGE4OgKy@"mGd/=C 8#haRN 4)3fx߀diBiZ2ԨyDK8'뒧t_Ѽw'OGVTO WTU*$ 8B5oeKXĄ:RY$F%^F;n~ Ԫ`M}1p2K;ˎ뎿 E A,<71ћK,0D}jgf =eZUtiQ4Yn7ZFbbZPOƸ*RNPФJ5\#tk ShT%kںzU+=:"M٫UtR Qha_,j>ؒX)G/Rm BߠeL.^]\M2G":]j9/3zt腂נ!ٍh(T;~ +ux_Oop~?|P14!7z5N;b|dA YAdAp;4ϣm0wtl{nV,S$; +zZ|6)pz HR,xbιpUFAѥCHuN.~خ4`ݰF`P W5cL>eE3~iUկA ^6M|alX?Dͧ +fWf#hf{ǧK}JI``>RcS sy%̃YtZskV}&>/޵oSXtD\ +=~VKg/߷q2hUIlIW.ixcXwOv1LuaJ+Y i?e) J:T̋D)ݥc OBy)P9i,N ABMe)hrb,v:DZf}/T!h G\7嗻n0j`zZ9j뺎E!7TB y,BUpj.J'@ii. Jy'>֬FnVe9D!oA $_g)$ii"wʦ<0JraJ娪t=RwO Ir6s'ڟYW@!#L= l2]_7S!}3=RVIf"Dt?F܉Oȟ`fҫRC6e !]=+a*V:Q*e"n-uqTk܄򉫻$/ֽQ`.nLf![?Uqe`>~r_ƄI%=Swuev& ;p%ү(m;–!g85Iձ5)gZ"F Ffn}4rcx4(q]8N(#d#L4`:D|rDj)h4M"¨3d~"݌@|qꚠqhxe!ZB<8-`f)fж8DyLHJ#)̞mVan@o3\kXb̴Z n*C2H]Fe zP%pd\wk SЯCJ S9pR xT$)Z=&T4L 3n%/Ǎ/JZ8dKu&HR`BKL2ޢ;1F bРlgoaM Hv [T/wF/^E"5wk߄bi?Ĩ'5^5p,1BΠ`"r#C5 W,6YFBaɪ^Ge~$^vo0{:I6{ K `lVx[ qKKq Q@:D(S B`E^p{N%|t׾Al$>Q?DϯSbu4uYlac$OýHQ9]~ȄD#h ՉMUk#jjR#976P*TD +@:*o' BSb83;x"h)ul"E(UA~#X] +EZE0ꚣJ _^5L}Ϯ*Vc[7"EdN˒l29Ωl>!l0.1Pjgu(43OIˇ8B!]T, ;\ėj +xi''jJ +:1#K1iy#Lg@Y+/^EƝ (͇/ ǘo}sG۲Ip'EhIdd")Q]Wrz?ۡV9)KBl5@u< +F /=XGCO&1Rv2s;cR'т=v {1 fd-۸r$ CVՏy'!~0}_ ٱ^`d5Yymξd,$U_CiK.|DYhMO >Mae(D2ZK Pѷ}F€!*N&`, +Z.( CH=eR=<(Çeuf$4;@|`66T0 +.N9vgfYȓFMa :hm+@ 0tڃ=! +o/Y;pHLWz$ ٗ#X{t+Υ 'ZՔ֟`&9y=Mc.+U$0m^q/%W콠DD"րB-E+ȁRgΌx þřc\gA)ݞ {$iIuihT!^lnEQmL2EqhJH$':9yuP,+6JmT2 i43.{ g2oΜdD02k>$.ĸHd00o );ɔgm +LiKI;LM("ֈאr(R g^Z<84׊+`{Hv[F=2Bj&_ȱ+ +F qE%EVTߑOԇ/ ,K,a*d^/F>;)h0Pg9l @ oM6TV]<& ?v$┱_ .E~wz5] +~>P*0?]^A4Yl!Ds "3|oify(88GmUνN,&bB2pKvHILΙgnLaU{TQ5F+ߢ3>a`5!G&9I*;R0[qht{ |ET~Sqe2 +L +^U6x%A^سNIhȩ`לX6c$s/ .DyKe[#CmBF+ p`iK: km͕"-rtz|yS"-dOCve;?k5* +4Vq2qn-JJU׀^7i{"N M}{"Ķi)i L+EBsρ+jV1Vz$ kaUHzF1cLv^H(2Nfu5.0 l"a 5^`qCpHqIBlȴWdK(UC*;8rha߭TF<+88APT QRU +),)EttDW."] +\3`l&\']y#H[HiAyBl l~`-C@޵o`X8Z =:bp%)H+ϗ9C^FRt*msJcwd u0=}e̔^f,aGϗs!uaSm9|u6qAtpF;XHAQ (5`EDj{HbD 5t,} (Uk2 q"#KxQhO2WkkQe|LAAi%^g_}Qnraމ}j~ѻOpu=fz>'J|gؙI˽޹ +oOQԕ+J94 "MEH4= TU PP5p5$rZ4.Cz#hɀU@p4 YpCY2 2P;|\ǕU1By_jɯBL9Ȋړi &"oLp8 +{|0KZ8|/SIG7q0>JPpV7qݒ +.bu?nľ7Ԓnk + CݣLh&00 Et(VuJR8 =i2&@PV04Okej0gLAkgG.ՠ +)[xZA[ Ș,3)kp<: AXq-Gbͱn(gyEx`Uq uf(y ].1 :.':Pҋv5YQBݣ6#?6&H:ԕۊqC )V| + 7= 1j8H&@ t)AƨI-Kq z>s%ъXѰt<:0 8 _8pZ:#`w\rkCs +ԾI7VtnD?:NS{yvB^R(&t/3ӓQf@y 4` c|P,zZAW?t ex^̔qV;w!E js0v|ܹݼH4RqRQ=uKv k"$oOjˮGS: zrEIkת}!3ZENפLbt$ʕbUm$h^a0nptD<+ѦX9H)PN?6PkfBRp01p}mwcu2 ѷ"> +z@_E7[rՒ j}~sԊl9V4(yx0RKOzj_ #ZǂG œK +relcT O>wp܅‹2&Oƃb ] +X5:WQ] XG@`küA(JO7|7Ky"5QHI 7='":xWp+.r %iPO#Np9~ dĸ;\5xe@ޝ֮ +d'*$oIh0*9`}lx)^LMdTT>۴ A?pVhGk邳>`na7ѱ6Nx+r~ +;f_a .+>@׉N;QPQ13a|[Sj$z;yaYNyx|4uwTz|P9F!!K#azHũ,gm31cyȷ 0fmK<>1 ~ͬ9=M*JT;<@?90tPAQ af̹z.S+9؝ҜPi|ƕZHS[xp0:mD2}-.gtd[PmZԇ.m q6LF/dWaU$t 3DdI3]=Ryn%@UQQȀ@@Fe Ƽ +> -L^Yhܷ!tx91@VB3 +'mma\?贵n+"oEN*jxe44c=bEDoI Oד JMjzg=CQxw +!<+Wlт|q^T Mqѷ:`+xd6%23"Z3+)c`5pAl~Cڛ3sGȝ͚X/I0'B!A>=j6$8!XpHqf!PoԉCJdXg4J9hRJ +JeWr .DF45p +TfB$F&YX[cBdך nr= ud܄o4y1&d>p'|sӥm'lXTid#J'G_%$8d.-x|Lb{pRIF\f.iH*ACP(hVƫGvoG C0|[ҍOExG>@Cz5B +0%8jN%c-w8(cYé X ŧ!BbA9#Ky=YAgߤ.*hH{ '&]1"Wl:uzWl"Ԅ$NLgFE[N4F۟nqo hאv0Zµ/T e;6sȪzK2ē_ARTYeiZ*'{? r4^ p$ڡx`aD.箋!A +0=7FZbKi ߳o06-Ch+II/Gq'LR\GW + +h%9Į@1~c\V"t꾹B"}?bL/D +b٣JYbb:4XS=9*iYt@X gSR#2a`:3i'kHkthŒj#HsPdU̝{g; {k(9>RV/LOsaPH9QATnY=+$3!XS@>#_9 ݿ#/eV+8,aѠhE5!8p:8Iг!8nS"8CœZ %8LS9:̡׽kGDCjMZyw1p(PF:Jo)5/A`Db$@-`Q7Ă +ᾮ4՟@DM9?F=\ !Cy6 ÓvXf3xc4qƁ ҅m/0k )*qrҶ ] d`4Oֱ9 #]HA+v(7mkC#M g VdP .r,ztܷ:ңn~n=gm*a= 4}@]7/,LM`IgAd $%˦#K>Aԣ=)G(=z@XJ08UBvXiu0,LXvvI$G/`z{Md1:@ em=2S{K'Ѭ KH =V~B:e+S|pOڨR iȠTmim8tL%W)Bh~<gH] cbbE1rVu +YƸ~끁%Gs|>k, z`LRPg'ZEXWw5Ayv[3 Ǭ#a"H +hHiH9Z5VN̂lOVz?,;Y&Ι5h<{䉓zhTc˗J8ƕq>rW*lCևx'|nd9 E(Di%16s nkתLV!}N&mq?1:l)&7Bp{mt!c/@@ 6&;z84_ϟj m(V ƌ[Z h[u$oL0bv}W{2 =r̤۫oٺDII:]@r[ KVRHՌOMdְVV v$ \AGIcѱ#yWd @t {II]VBJq,+.}ZO (H$! P@Etr݆m"  +C&{CB{n5{DI@Hr0P8-] $qta:m 9c#W_/ԱʒeDC&W \$T-#žVD?}WG=?<|O##JI|޽W?Cx'_Qq^Ot-Þ(7g,TlP`M֭n_G +V?Yjh?AD@ Ss_l#p.hF)0o6.fGz}aoB|+Z^o9 +@ 3Uf^DMD^9OPnIR1MU _RskƋImUbK + y(rE]B +p0}o\\ma[Ad¸\d.r~itv2Ǹ@v4۽>E7g*~sf\ ihrFmܫ=3V複wNsB#4Ȧ7|;U`T`0A`}[8鮜_:3e`b@W\%- v! c+zAL Mk7"df]3RrtwI"7^Cc-$8:8LA2"MAUg[eP Yn}FH+K:oq^ɼ{s];(SikWDb;& {ca3i6><<Yz0⪬7rttԢ%2Ra![.πB]:ޣҽu 0 \}@IXyDS(J!oZ4)CKu$ :^xK~IAUVwP0 ڶ |"p&-{ *h_"6+ +KXf۾j.Ts,h8" ;LT@³ߕྞJ[|?fw_/oկ/>o7Ooӛ7?a7?|?_~?ie<_ +endstream endobj 349 0 obj <>stream +%AI12_CompressedDataxiǕ%]y +93j?Xj7 + evQ@Qv֎!csHY{Cxϐckoxvӛo_N^/?ݩ//'/^N뽊?W߼WO_t߽x޿?rW\-TR>՟f6|W_xΪ3.,~L{O흛ΙYM{7 SE;Jat0_y?~?ߝϿ;w_>/ܗw/^c}vJy˯÷u\_pe[^_[۷x,TtWe~{ Di}Ϳ۲XvmwSzw~!k߻ݳa<|Prn9__~uqOwz?/^z,q=~zed=[P?b]LR,7Q#-f?~H_~*/_W{HNeQk;V, +3g*sTo߼¢[syɽx& ϟawy!ӛ_tnxZW ^YY}+i@o06pNNɴ|,$pqt^&"?|((7o^?W߼oӛ?|W|g?\_7w.ۿ~_?_Yw?}_ۯ_6>q( *7߽yrAʛ W/|wՅn"SYK;ϱ%8/aY*<꭛n T_}}zu9&vO_|͛Ww_,Wxܩ~O7o~/_|mMo@/zy_{ۮyWq}ƧH$~f{;Lw+Y{o?M| 3_98?#Ƽl;j/{99_t"+ :UzS+.^wǯ?>]M1[5>%;)|g~yhaK|UYarKvva0P`a?|y|}]psQZ[;㡧A5RPb1_~~ўܟ~<4 +)Wc2H+$`Y]w׌OcHs|NIɜɟi>-t:. Cٟٞy>/t>/tQ}1sp twW [8qx+_eqaK7 ֝_{P{7^{s<-nvyq)7;{bbg΂歶0Dd%_ߜq|`Kb]ApWG^=}vs82-.i9/Äك;|8|;NGGG x8+ztScM23F-h0_N1r׌'QnY;y 3Xlg321.fT`N~)u׌˕q2hJˈtd0k5Sޫ+[i1 ^T8W+pN8}w8TN]b5ΰi8{3XI5GLXa\t6|w<7rǟ󓇻.a[oe}?ۀ`CmxV* ޽$y81e8\e4"dƝ,^CLt8.8gu0 }qoA&L lfuJ}L]9vTRNyvE-ꠎ@JkmN{}G}g}w)]cqƛ $tHFn m3!UHA_gvG``l5{d LP;yYj_\kƶJsϲ֓+Ɋ{8לu8sAGi4\5@ؗzۣ +8wPnD( +@dVaǙEksOF:8c?YӖ8 ˸a \~0G?W$IxIZQ4YxYA~‧H`]I'"2Ai-S981W}~{C}kzS81'N|UşcU28q{4lO, WӵLsn@̳{8aVdu~;ˌ״rО5-4mMe)c +c2j6'2hBWZF-D3@.7)QtaYtЪ)r3ә=^U^'23N%hed¯G$hLDL9^;%ۖgigM"q4! P qg4XoȷLA{ܢY9՞@guzY,P3 < G_ݱ6wWoӏtMϬ^Rd + GVBc<WyquŠګf6%=㕝=)AYhrڕjߙD&8a:a6a2a.a*a&٥e\ӧS7x>3j?p -)~+-S;2y_I/9ƫ k[yۋv[BkB{\0GqRı"+F&Ev^Ơ# :4Ұ֠cC\ѹAC8 n:;? ߝ>5;}gK>%w/"~i'GC(-i%~hg?CC -iv1hBKňr;l !4N|Tq8qY# S4Nr⊈cҿV`푖%],"#X>OsXCſ/R،+^qw}Y~Ԟ"^OhV Nc4+_wg'l/;iW&[͋GW}7R37v<)ۈOcB|NԫnZ=m1*}r¸-N^_)u}KVxt,]ؾ"2UC5CWx17Pj߹OnY.1h1SY^ ߌCAd:BԨ>xɺ? 6"(v:4],uW,XN?e;=YJ{&b;|;=[bt]tWR'D}BRTlEB)."v281.}[IaWZtu; mp7': Bۉ7Lh=7n~ h:z?_ ՈpN>vA ZdOO%${ɝyxEv/TIehGxqJ`٨?a*we4]EWuSD 9="FZSCWAxo=q!=Dx0yXqƱj?YmѦ^F'di8'ڸ+K%*s$sSTèp]sStf +=肋>3]mQArl +x /-E  MX +>uMt /rrØ19tl ȇ? )dE9zJhlyZ!Bq)(A6t,?ě?zWC2>R I'?61RA# Ij <ϸ !ŶU+} M*TL6M0A*AR vi6ص+m3T\p^5$[M?SێOdBhێFKPhLv6jSX >% +m +C:V;| _UhaGu4+FŔ)SRN/%SF%jjTTEU*:ѣ'Q\jN/N6Z:4D)8 Ýx"ZT\#ʂgU/jCa!(q$`yv];WsFQR\vqW(!M6򟹸fÖS?wtEptCTBgPtWǿҳgIkpNjW$Rr2)e +tN6e6)$[Kdo g +$$#9\%YRD.L%}" ćeSO<94x\pqG|J{(9t9sΕ;/ec1ŗaMNm`TIڮ{>rLS'?/UK8b +K+@;S':ןC[ + oN`uf?pEWW󤫝k6oϚl2&%gϖ쓀Ǵ.շIS_[)W4V/F㊶֓_.w./gs+Pr/W2$#ld8I^IXZd뗌(2K'eGT]b,/:HP$3-SeF%%~Jj|VcyA5ވEҫŔ$k% +س%.(AcVZҮmcPVމt1_}=TsIǤJ+q)sfwl*ĩri;z(򒕑Z5/JߤAgb^[ +"\:P-h{3vVMo.h)jnjuI2k4C>!meANThpŪ/ %ll1:ӆ=MhM4hKXZ;J]XEBaJɃ/Q&nF.cҵ1Ͼ>T>~̗%.k؅MAz[DbM&CHjAO:i=s]=;Yc"9˟$:n?v}.8$Ε你, $ru S +H8ppβNވSYDNj.`yr=c(ZjNJJBUcAe8߱Rzz>h(w5IN+Ή@Ȓ;BY; ,PŅ7Mq@JN-\NJRչv5p'Gz((Cʷ$. WAȻ n]Sa*)$܌ph M-Q!%H}Q k<c=OexS1J +@Os8S]jXL2t>Uks-`wـ*pjkG_?1.᥸6Դ>2j ǐUZ0?b׬JѴܒDɋ*-UCRW6+KND 5)ξ3GmgkynD9+F%t~^FBND"PzK "l +_DW&6ϩbCF6]bGS998R=sb-Xfhu8RdףDrn p<-uuGM+>mX+ʽRO탎+^5ߺi<7XSR>:p^,Ăm2]hϖ+zeTF*Hy?T-L}#߹fC|*U7HFy_/{S^?aԡjQSz5n2}αpg_سKkLUnoM).ZkHl⇟+(bYW2 +RArY,WOwo>,Ez8KEXX%yPbs~5<(%/T:>')"Wx|n{bSA"A ZVٸvQ븈] StGPT4K:$}$&r֕t)LnȘ-bEJn #z*֮;α-w&q <.WrRR\zIEBw u잴 m778QTs5\Ԑ9됝RXg-w 3-󐜻 )ΜmwD[M-.=$᧰KWϪUnG?pS;h̽ "1?HTJruKJn: +$~%ؔUgYC"c5>' +8RN5228Ï]#"A+0Tz뎸 :v.l*(s;Ɛ8~TVݏTJbSZ]oJW{ɼΥZHsuևuxkKeUR֭MÄ5:VM.bg&IC4kd9Α-ڇոZug0ЛcpYvRةN%#Nlo̤[ymeʃLyȠ|x7ٷl]a}YMW&秴k!Yhd7g"L6B\oe ma:l2SaZ2l ی&V~[>-? [؎7w$UU4f_4zDEz4Ut lj}̲7U$zyUX7M Н\K.[]D:1%-p.1R&5 U$PɵeRNry]psAFm>YL+rCs7 }(X^ӌ_2ʊCi{5q[~Qm[j쫻> ޛmi*.5eKbɕ $9簒k_c% m| ;^jUvnڼu]"m׭Wpt[JD])QbK"V#6IZ-LR<Ϣt5)&ۘ$eV5OImZ+"L&J\/u6>Qc˳\kp+[G"ä6?V\uPXAKiR@ &+s3{W=P`I%6fj +̴u+0L`ZQC)!(TTsu-jCA.5 ΓK"> TضXhotK[q^:С:x46Xd欨Bh j9OYڈցǍ&6T u,~i䕘ok0L2i +X.X|@/)˃pqD6^dTp> BWqO +86O +8>p|*TSǧO +8>p|*X_SǧO +8>p|*TSǧNG*ayO%J8~n(TRa3D0TaJA[g9r6#e29%9t. y:1lScDi~(QJ=P#H!X+zH5x,cTr"EhB0trEة +S +T#2JYɹuZpP +(,E3f;h6ҳfK ɹ~6쇇:7X|oChqJIy3(0>űjvk'Tb_[G̘٨ @d 3AC6,t%.:߹*K6sm⒩o(!B5hdgF]}.In $.IA~9~י:emo +|qZlK{(ŅFK %ω$z}jv[ߔh=eKJȅZM֥Zh7uQu>K9dNgDSk凔$XGްk0!ث7U~Dk1հ,%ӨW ;9wߨm>;)vFS6h]8f&`Χ}O s̼^,\dAߘ{)~+s@}2|kvFo735#?9vV^/{/3[᪋ϻ7GNTrv]]n,W[:ˠ\f Rj4KY(A*'B3v:;knOfJ-"c$-0ozf:ܘ6Ԣ-XZj*}]F/O>pk J]T3d7|bxj}enWgN=񃍧+7F&%)Q]6)KfZnLR=Cux1ԾJ듬Z b)NkgLJJ]f`Z3MWY{hAP0񧮓ph%S:ףa20ưWFzP\o>t+p:\\)iW8^R6RMrv|9>s4Ș)켼$P, HbcvU<&JN>@eO%-UIAv.@w#x+gLe7ڈq4%WzGN)].Z(pc3I\qMg5? \q*>MW2 h<]c_+[W.H=T /<-pBTFXmaM]'^ɊmSu%==å\Po&w"mFr/Hh5Cmi{dV']ovt } AS3:^%o ؀k. +' nT49:>'3dz=ӥiɼKy{*ٙc_Jf /91֞L+| ?~`IٷcKrW<\ˏ TM \^L*obڲr{I#dVq,R"";3ku[$vǜK0?[{mUx'hg~s#.iodB}e혊T1D}.;: +y87JťXSɗB6 SUaW,YӌF{"vRSٵgcucM_*iZŧji!H(UzlYP7=x"9%L3.@M0¾Ԡs蠃m2yT28aQuu:T @J-wҩLNRܐcrWo}"oL_>ɽ9{2vuk ".WJu3ά!6x[ne1ҕg2nטU}-߹a]=|o;߹SԖ14K%yď`L-X%v +"TT}]cyoS_uoS6: wm#D{mVշ^" LӎfU{VƟՉ- _ߺ9K7 o)`GMDH9$ +p{ +U##mշ{wt:_sLOXhscOoIh\ޮg{ݹ+}u)ůcO_T|>;u^Wss9}OJ4r HwhSQf]&' {5^RHؒ$q)yO$C\*vLebs.qdo@}U&L3q^@mhc3N9sP +T{mvD +U")k{DVTTR(>H, eMۢ`ON{>nVư7e.P؞6=޸8挖];iY1{X<\.̏sX+??E pk4,K"+MbfOo ]Ջ;>"a{lx fؽ?nCx"8a j'|Q{Ǣ\s !\XdƔqX|ZmeH֢\BcI^Gfup԰ r/ +p! ͤ\HnDl4-pP~y4TH 4:.4yjLJ5T( +ga X ths zK*iM -{P$.DQbI4T%D%XIV^ER!dp!e 렉`ua +(ZNOn%h4Fb~ 0wLLF­S8Z@]@x7uPbq iltt<{Oz7yÀNP-\Gy$)!k(VQ]P=@欁Dq!oԄÐ؄{CV ;T{#.ТC>%"|˄:|"NF.Xz"tؓcS/b{`ab,HPIiȤ=>3hO`ۅń|& Yc3@1wC,X\(aʬRj+[qg z,~ 'ʻ=bN,֡{N.(=,^ܩ<^A'"[l( y}cȲbPWq@Q8p28Y@ρōH^c$c6fjDlz̰c\w +<]a2\ajC4;( hg\^V0fr2 /`xwd6g,I3N;K`T@L6Ϙ E%&ϴ!UɁV,fY`6X U@3'WQւź/Y ™g#(t槉CS|'7+$[nG[ ,R|Cs; +tbv@ 2~5}Anz!/ + +p;ț߀dNǨ(ה/~ow~5HWU"oo^o~z4_6x__,_b2_+uw$4~~k_Ca L`W<``r)d}l3 ~i<0?6zDzJXm +f DQ"xD+ޞXXA:غ< P .Cg5Xz;~O _p=HP04-ZR2qQAK]opznqsXfנ^A*_` /Ɋ@|`.y}:r5.DRY\V-3 ɛt AV<ܧ֞i@'%k ҟ f⁧2A^Hѿ' +r'FT`RQqP1y($`T" /x5/HxH 3 CXǵdzpylr$4#ēc+v#ׇi6y6DgDJf6);k O̯aV ѐf,Qr`M6K~6- p-m{vh. kZdVCDōȈ,)tǸ ȰitvԲ Pc(CбC}i[ 1<=.dG.(]alz$b5px( cw[q(*^Mqtdb"k!Mxz%)7\Qeߞo6=!LnA'n=1{k| +||Q(MtDr=eX&<vI4&[w'I+P\%2LQ$̙xoy/"6H)|## y;K\R+\T+D'Vj%U@RZ )H:q'l))d$9n"֖qLq3 ѝEmcdY1x.x^ ?Al0aa4>j1ZS[LP!Jdxh!1 +,èzySOК0Ni*NV wm C0}ߒ'4Y3N(洧Zsq~@Qt'}(9C?3 Uiݩc\&|^k{ _p~9}CJ`7XnlӊgրaGQGKg* Yّ2:<~ughtཊNIC˹S UlOS^NAd0CCC"[Z +cfwq`TK!|05ЉUU DwY æG/܉3Ϗk/Xp$VPTLZ#Iz -0 ӒBD $nx<EϦZbXf +\k<:jw\ЁSOjRb縴q8^D0Ęu8htvJ0B9K3 +B`FI_&rZ^&bE@v+F~x_ 1ќ7<(bm`u(6 r[-'VAcJv6v:'o9qi[ּ"Yf?|䌔r +mF=n.h҆1hC:*xq9dh8LVV3 $hohUV,io'OR Y'#yj󣋀|\Sa nOܨ;'ڂ" Zf3 BW-XBR7R.> (['Q]2d?88[ >8 2~%Ήv WYs'VNT@X$Fz7&82pf)S&:74=q9c"`BwB|PU٬݊FܴG$e52nk)BNq|ٔP<SD9ݡٙEX)5[,Li +D0{q\qb<9UyAwLXnQGͱ5e..B3/Z"'>ְ6=hs:6x1ajAa|jz>S6dJ}<@0Z c81GbH`bx71hؑDQT1JlhxZKӇ^GlT)lcń k6L< D$tqA|Kl/cl +|vZ1bd#֦&G#m0΁2rtr4#ryn!;>@<!|휷&xax6BLM;D=0%X%uHlDHla d)0ʶr2Y-'_^4ek3(hL'vg[3ADY)GR{.ex< J:ԠgՠجMa@v +Tm |l 6~bӖ?ل7X=lo*mm;oĖ}>0i!$=rL#sY2G?ˀ?v 3@_QNh;80~#<8taʛ;|tBM'>=8O3{ڃ'nFG c?`]Cr0aVFC-C,C=Θ5&TAo3]Yo6r-ff9V[/O317J>fO]qTGb] =+mLUc\PKz^2k{-I%gTRV+ `..,F1Ө,Ad<"31Ǽɉκ5n #-T\hX>IgL'8Wޯo_VF K93+Zl"(cE|KBYp^`z3KCBn<|{ϩc,`4fXGpR|dz@ AC ~HK76./8a+m+Fb8L J2eD+i(5iFo-ڿZc,W`Y3S bu u:hzw\)'}|M1.paa{UƙIq7ֽkœ̏fqĈ7O6+ cH  u:xɨŠo1[ J ׁV~ I4') QprNw=9Ur8NTq6 6O;1ǣ軥ӑREs?a7O`i^L0z$+hJ%Q`JePPK XnZq"6ʤDs\{BQ3eLjPt-qS6J'O>&$AZ=؉4J(gc-3U3)%Y'=uԁd?$I7&N4P9.x'4SrZCv=i *ճeâmcG1Qaꄅeg kZI&J1)zX4@X⽠\a t~q7h"%뿫*= BK8msLM ߻c"[KYR苬 / XuQkrR)r]uֺM `sZ'ьF|RB$tCċ9B q&2h,<3/~f-NzՊ +'tcv*DH*eW~ڡ"9 =2knoV$a`Iγ+SYB}Er|OpAZoU$@9 BƊlX"ˎe.7LWW*crY|+Tf:r*. ]8]r9'Dq ө+54jҔ ӑpV6crmqmEx0=*76?!pJq m\%Xx"^u5ˡb:rn .q1CUKG1J٨?4|0b,Dr|^kz8=.!݄CNH5kӯf.D9Ưuș0C,ZĢb % 3tjjݎ>$D_hAIrM*F:HM-SL4RfYA/ꄴ ZtJFLґXRYD{iQQ{IzZ1&BsvD(R8b˜a)Gc7q1C8\irD&ҭ׏M5~ qśM膍;i59ҴpB![΍]"&zaZgf#-ęAj6i0A]qa`M.GҝG|Zf9]$ELa 1͍:r$*uY2 ة9.[JM(/'Y}S#faphKJQbIz)|53pe]K#K¾ a _kiDt>}CK#*zixJ҈GҊ_ͦ[02_ӯܨѣdK8H0Ț#>`!l QYgpA_ +f +Њ9V1s%!Z3|$chwJ J"!x:ݟoPgn%jfk|3˃v{x:n 0Bɣ@AUlQYuD1Q:Ү6E( +8UW="Ct9L)d31; Bˢm{b8\r#|dd sʤZ}%Ci5S896 a&xx=%S +LDH]&ɧiJr=vjGݍ 3Z2[)*@ 5G60G/WcϠ˄jM.>HChCX[< +w.ZJh(eN)-LYSuZ.JM3h:ӢJV2I5kzb +z<+V4Ht!J.jLjkjR۪YW+`,J׊.H_3낷zs$oN2]lJ]]z cZk[W R!)"PaJf=TEvgIZ4U@cEZ0/HSA,(I"ߍF)SY[c_g*b(LVԙh㕫ߛ\],+ `E\Y`faS:7h0e.рaN m$r:R\KvY>ç$9)v*"-iAď//,M\0t9Db"ľd7LQNŹs@ `VT 9T.8.4]ä BcaPdf+)]xLs+Q Gc]ekVB^;"K6JHc+9vτ`HR3 +MPoo^%ck,H^o;R\Y#^<M Kk TqSZŇN-Gb8i -{;Cl8GTr1|q6%#5krڕBjG"Y(`~K8@$bQNZj;l!eR#b,΢Wi"^'H0: RD4)[ːJ0\ݏFl +`UNja3Xڹ>!J=Qޡ핣$z$?bs/]B*-y7N>ûqlzI7vx<6vI4]*PP\_MkͲ\⇲^hARQ,"Y>C1tkoj3E.ږP-3\\dmt)Rvsn7RIlv6%q+Re+fɱYO0K\0Kl(6f7OL"r(v,}G.>9 C^^vA +q:RYTzF6 nW1ɍ uzPPu[Y7>֕xz]cvPׇZW?Y-wX_v7&C.;XDC ' lqֆ"٬&wvK՛s`L'xHu6Kih^1~v2Ѵju'?Rg0vɾxrDɓbh}}1,^%{W鋷^"Wg&@C!5ڬcvzv9|sj71xj o~1~b۝Ap>Le3  T(;E.FWm4[5ۇ G3]]0>5.*v}A񸁅M<=D֟WDGDPt&5E7%V%mDs|:oV!x  mUgOUV< P!(=a}Ȁr1dcS>`EFǚ\1&zh$th7noFP:WL3چ=FOlڧzCC7rbtB=.k mWB+R6:/zH/Hi)=nơ xh퍾vA c ׈Q 7#nTnHfv c@==tph:`W7]5;`3Dvڿ;qx=@wB7߻3\zp(mG#һ1K~/%^`<.f>hv/ +l,}%ʢb/sCk%P)9`vh-Y؃) + lX@*T_^3PG_Eu͓F`a$AV!|P^tR diq-%Zi9)2M:O1F}Lt!Hy>X9.factܠ>:f@v>;]Dۄ{ϱ35d@ȸw^GRG3F ̀d}f@*inhOJ*\O'0`B Y%}2Hŀ@]j7gHe¸&Åu;?\ݗz#cNjhd}k1zbC~ ׿H:#7>9cX߂hcq@Y+V!غPZqW~rKcA$(앺D6!òVm龇GФ'OJ4{үQͭ367|-zDuNjbꏱAoxF֯EѕEZ~tD#JJJۃw "'jJ~銖 eWM\/c*!GunX +GJ/nRƎk\ǾA4 hZߍ s#@![JH.طK6l`y)WYn$ו޻Qj27,e˰ ɲ 2v%P% +ߘXh[l\y10 Oq +\b9eu0j%ثK:W7C =ju- +ȹx*-A K7 .C/JT֧ϋ/]MrǭI`6,X(dRibɖ +o2agbon,ޣXQVnݸVd^Q׶z) hC23G! S}HRh δᾗgg1Gfلy1-*aQBas< IuNm9 VTvR&&BGpfx_'}+x ~>LM'^#[`8t$`mQAܪ`U /t:Hz  +YF~3`;u!XvouJ`RQh/uYg_VSFHFr3/-;y;;#A +7[v)!eX9BBA +l&b(M(^EBĒ+8 + +2VDpG+EKn y}nh0 ++~&7{(~T\eI`W"V0KU~3ȧ3^X˿!Z2]_@n3Kl酊+r$YG?⯾'w/oS:̞5 HmR E1YlgC+Bv;Q>@ږ<*@_(S + -hf]ZWN? 0ޗ&.4]oGh;<W\c:0vF4a]>(>ʠ"jAYJ5ws:[?;`lsX,v7D7`3oѦ[=$ҙiox8v ȣܒ]TmH:T;8&ޠ8ۂB. Z-_+!ΒE!hv"e??1߲%;2܎ Y. +=_c*zw~o-H'k&K9(xX;U GH܉b((ɑ'^\#W9QlS-Z@!"Mk'z:+δpl^P&n I#:LCzy4QB+C:l'`9;'^x˺Zjixw]@} p `: r2hX*&!l Ev( GĮ0m%Aމ [cE-}%*댼9l0Ð lξ٬wC +`n̕e|$dJ1tE\90- )ȃ3@ɴ}lvtC +ؤ~sشqdUxN +[iYnםI}ZH3A#).8jר] +H {NL:pT4\xlF > 񸀗C= tGnSp9$ܺ_YthW@$а1CjsZ;-at]OKPr-~{:{2C`1#4_gC`7<,A%\QA +*Xo"ؐ3'e4Sv.)%dɔGf*h̑kDNsgRan޵xPm[lWjqտVZEҞhw9F)U-|ËQXCe:$(whE"Һ8B`Fvxƕ˕hG]kYFֶ`D/o{@ i9`_ES~L$0D~^v7ԫ&i|zml'HښlHa 6B!öh#wixc2_n/k4`"h6i'`*iO]d( ŶҩvٶjoTZyh0I b7Y km/jjCS,̂^O?YF8!f [.rva-2 \]f4)32vdƔ#_ S x +I!:| , +nT.OpgϽ߄UY؅ +g<=,jMӾR]/İʌŎ8/g\!@l!ΗܬJ@O-vF@ZVͿBJJzt}, 4Q&إ0![bP g$JDM˱/KxOC +-iK[J5ZW.e'.$jWşoꭾ .*)3(p}%g%00_3fGxE57 Szھ)~_H;JzZ=Q8>Tv'E̶5+0fZ<Է\xg Y\ZGò%|xvRCfB>]F?ZF@[2S?ad5LETs~2\cC]JZцT "^,n@Q| /5]ɜb3ƀD;mjx)t3gm(?CiayӰLfaH^Vᰄ V*3jheIzV/ 3$EYo {Z=IS=p[{=2+GkIthpoFlbw'.\[o +{olW74,fkzA0{&"Ay0s7IK ҏGUzfQ5eA J<9@;)ETƉT:7`J ɥJ5|!Z,:֤gϧ+7Ub |)gvPCs"|$4w}7@Nj~E!@ÆЀۺb@5]P";$`gAg]Ye|p2\R_Fkԋ@ "hRxy*53^,mI2S,q"Dso0(D_KZu_Zuۮ1>[fn퇵6PA`ksTq+H|(I@\i=Us(MWmq(D93Ywk:#D`XG~&A+ )#(alًPѧw-` +ƭ\\F u#/v7"8+{Ce+$(v󮼟n!  u(RS{>wϋh&QwoCC0yu%0&XP_5d}>]/*V櫡ᯙVm؝[LBGWط;b;C dG*v}7 #V<Mz.PU F;bց]J.%A |?m`gx|C<39Ww.TpQ;ƖpEǤ0R͞Bp d9\C<:gO=7s>Ce'>qJD'x`\$ +.q?5I,?o~̼fx" B̼(Jl[Rޑ_ոm oJ %nމGu{>{Rgzg@Q_^)CwH)/ړLMY6bim- +/LhEButR` #Z ٌW<-3x +A;NfWR!^JZpwVyi|/>'XȖItZ+@9-_SO4N/ffP.:|JeJV+e 9FrBnslbG韒u, T !'3-8W`3/*[ٷ6f^TGc\nY= `o"fډbaMx0>.5W*pMxsqZMxȹX@C}rWE% b݌KɡڥdJ +<"YOՁj`.Лp\<9L `bP%z8bv +^DZW!1[eVp4L^\Ro¹[ :94jǕ"[a m)8-˵l[X0ev+@5ُ41)|b|eDC ʫ_[pB-tꯗ5*/nkPHo?'^] .|dlnLzp߷G8]C"N4Xt4^sFB[hjl.6)b5kw?):h~ш|jc 9˼V)46'j+6]|ߛ +-*`1ޱK'6^ e ϻM8u+LAbBr'%䔻4<4ZkOb<)= M #tn WXn*܈&F4PSG;(tý# og7<?G Ȅk9\*0l"ހX߈i-$3"%؈j v&c*lf:rPatPz1)8 +N+/ Яl-6O.96/H> +xaNq-c;/dX2_/A!ouB^y@ IІ&`qQYVD-asxaC9#3:G,aS 0!וACCm%L&XzTBtF,Vab~ٌP? C[ 0qqteYU /:gfYGF$ K\7oDahĩĩm~1P[xXzZmhN02}\@עQ }Q?,.Dƈ:iat%4cayCeS5*?0G80 #qE3)Ozet3z_=9wWv}XF5o6+>vT,TZten^ܲAg@\,KBXt3! RόȈ[pu|b,‰;:zB +_3d|韸I r0sL\l1 a\∮z= ~/Uf2MXܗn]z:lGMv}L0=]G}M4؇EI.ۺWS.M:fNnw o9|\_l+:6ExC@KNnfh4:;jʖʁ"o0I7rǸ̆}wA +`RfIscK T0YwER/_~+Gi^-QvZm 폝yOƇ]n )Y?e&[3 +;H:z4R0"eki\Wr6g$md"sjnU?< VtbSݣ;}J{,}?W"P-G@ޫ|x| &r \Bt'vS&E误 3ߑͥS{F6/ĪSeR TW-Ch'"3r4@f?*t.oKr}翉#&Şn, wtƎg~a;pfM@[ێ7}9ڄg7Q.#vXD7 2'ջE R w3[6 bu7:U˰Hw)P~7iN>]L٠OgbetҠɈ#|ɣF@eoL&x6@9 f vt?Go^_x|+@EJ`K* +_vXBfq1mI7ш.<[&&ɋj[0 Z[OmIT{MG.fٓ~zX$Iel~ߦÃ`'2ҝ +6hSK=7) DM,yniWSӇSet"pI<ؐ_.w3q$HŐ;Fhœ3xKVX3ǂ@{}p~W-Hc4KE;@?$Q3IbA;:,Olua+ 1ز8tڛ _ nbpTU?GIMYvj7pc7<<|f183@u畲g[bɁUq$MӒWoL{\;#~qb.aݿg_%dɜr,^D jt a)"&!+MH\UWb16A}nbz!Tٲ_ +.=|-aFWB` S R\*se3a훫K!lP:wlOߥ̇d$(O,t ×RHTBfՅ92ȍa}ҸRg l;] Oy*1|KR1EII }/]U 漢gj\Y<Qm @ֽPU.e z[2|vwl~]'ϙ½JRl,amhRXl/~*HCK&m>!$ +X@fۻf&]Jd&=;Z#? Z{@$syD dꓧʊ/\,z[βeA+WF 9I۱pe{ѸMFO-4:teyiBkiZz§Y0@ ?_4EΒ?a[& fpjvUEwWNmIIUS#5goy6Sinrjh'©N  D/*pjGog^ D̄f44kg\= +\ۙ1CqVi$Eg-<ۣeG͎ ڳ+\iKK,NPc.o_| +>^;>`+_;yߕ:/f)C -fw݉1yZ&%P2=6'eІT'㨌eAj*Κf2b 8覷["3{]t:%_0Ĩw޺J6]Zz;A-9EI7\%1'PwPvf5fNOVo<ʲxŧ1ra>f$!ԟQ@w͹a`Wr5gb7캲ʕ ^MF;5]IK\3ЀW?}\l±/0)Oi'f `-8(b ƁvpPLf?=g-γt2TƐ6U ub/Eo>vjoa +5etq*͜0ޗtWfyyp`nAcDcDB-;{fґ5kٖWkjv V[vB 9=B Q_!{ ONvhba C1jd},&]4z5- *O BZp1V'ʌ_qS@/~j$y* Z.C=ߎ5̍xJ;]P)e.۽\(&w[$pIg.tzv(nv۞}eeu1,9 +ben8?)u$y,ۺaKۉحC)y@.frJ,'_Äk"BڃtgKTz5_4Qu⪳+DžC8HDb2I=!hB4FAJ +H7An>?, __}dșD+_)Iz"O`K1[Pu_E;\6(f%"/4ObH&ƐvRE9 eLC. 6!$L(kaa BD#z +ď5b +,њ7O / B@zH0ѣ"_ 7'mQ?INjD3w`@\dJ$tOCY:HLa E$ƬAfx0 +'wYAD*-W1i@vLYKIbH4ݞ=Av(Kmra/tP3<6ʅ;Ƀ*S7* +!DϙΜHLV] +ԝ#Fy(W>yU +n֊

Hg=@$A[$gw5er,Z3Ff6m767_Ϡ?&e#yhTi_r+az{.> +C@>́IZNMDͥY-4JmӾeN^fZ!qe&pP+H*-@&BPs-d)o"QDU@| oHD٨C4Hw\V7ŴwHX9Tm"m~ps) ʉ拉Yh0԰XpQy=|̧Jb82<>㤗tALFpdԁq?f"ȹbwb[e_$Awm΀'#w)`ɊtG+9C Ҡ"L8-ډ<z, 4 +Bujm?@fM2#bK3@"`a +fTcHB0|u])@  &'4[*^s]P7]3n޹TAR$Ews\Z|-e.?[n-#9e0t=̹ӆ F[w~2kÏRc-s>)4{ԍ,fs0(y=sR@! 35Yy]gcuwgSR"R]4 0"{\hAhWz:A>B6=稇خ>u~ˠ&̹n۫qNB_ +X&u_οs {\\Frʲw<sƟiwEG/Pۦ8`61` ,bc A!0;4.oЉNQT f>͝(/UӋ@&c[  ehW z;} m Ml ]G8M 岬.<:]n7mR(qv@cwp9~-iS~@*ݙϔ~YF/bHvPkAaqJf˩~YڎFn`)E  +Ec QޙRsc"C?$嚔 Dt 1YDPv3FA@nn $S.-HQ;Y'@&95@Bc$jӒIև{~֫ay^#X^Md037k%F1ugu=p>WMWƁ^OPۆa59]@(sۚӉOdK["\?h;jI\Af}">^]`I]0=A2ܮ 鎠~p}^J9H3]wxth +IEh/L4PM-I[CBОAV׹`@w@mӞS!+tA6FE$Soch f6b܃b m_ +Ye43 ̛훫I][UNIAXTWC4y >µt$ Tpbh,qqW3wK)`F+S֍l ˤ ;),ֆV;n_"w`Qh6-G1fˏ5]%'ܗHlhn;":yD b{:3Ctm式K9^LO2dChαrA_{m{d=0ɅN NL]رX*͌ zn:lEeJvJEg߶-T5϶ә7Xtv~ꮀ+ NԂ({fJ0Q˨IrOiUGQY ӫL/vI62\Ţ`X-t`*"^XŇd##s&!Ӎ3u)ni&K̓E``50[W É}](6~ Ëh)mPգ%@IDe ,& Ʉssl՟+},ee6 AlQ,$ 1.3R};I"WJ?`m8 v +__}I"rZ5!9`R~E1b F4qI A7jWȜy7>yvTUdQG{Af&7pupaZ& /ւ{P&Xͨn+Hn6ɩ V'% Ϭ}6ATVI^ +B?^É0lj_U/M3c8MM51b'N~xt^|I$PdvF]O{PVBejI6LJ|JR X53z[ .D>əpQ[9V9 2+Z/>cUyA*D\3U4g&r}B8$FK^@n#F7Ic!77A نg~nƕ, +IBEܫ"xA޿r1 ]65?MqovؐrK Roy|%@Wm&-{zh^-+O +݆Eyߴ,V:^:-[MZMʔX4`&fˏƇR NC++C,fQ-tP6Rзg 52RfNɏ!*K`( +3[LGQ]Cx;mh> \ d#Ѷ`G0c# E&$9/T E|ߒ fV!hqi xa9j ,#Bv 7oɒ]“1-#97gBHK/hLY%WGU;;Fߩ9*!5""5 /2}u9 +e ĺ7..$U sU=|_h5٭d\UV0ކr&śo/ef!UHp@zNI̗;}+;͍bh>HJ,fig,\TB=X0>[:͍S*n~ċ4NɖLmA>q,{{dE +3^/Ԩ}, . , zOOϮ{ɜ*U3AiQfpJ%W B g[..*vELc*c0 (:etf^Ctb[8ֳSwhV$P.F#!µe6BfU/@Gv3]=`Vv*Ic#ؔ +aJ1c[fJ1}z.Et*}ȊlC u76vFh+qUZo0Rc y/EpжqL4,DS­^&ez9iBce,VV;?Yt8 {/X7~6 ZCaDDٝ" 5zfe\Bla488vr'}=b.ԈKsSTC@(ala-DF022tM?GV$ +>3h-r`@!C&ޔ.EѭSɬF&2ic*w|>Jss;gYsID3Kq6sq8Ąpfǐ{@JHٰwte!96W ,ƠmF# +vHHF4iň)+$pcȌ#F9%y,R $Y&S9/2]!*vv#~" +u)Yb{4'GO fQ쵦:,E-C4%՝G,@Ғ2 M ?]rԖ@ep)_54oIJ2u4vhR̂;ִ>QeZJowMIΩHqY9(>ޟMs|3XQZb\O;aqےM ^mx8GF3bJmώ{|Gs;ycVE3 +ł a͈vghŋM0c4naF (Fp̈`IL[~lߌYЀlpIk?#f/Q]Ъ# ЬTWpgz `ޞ I݅&Q QVH-`!ߌaŀ~ 1KC]򊀉Ɍ]'9 WD/Sx؜r"yFG,aS~C_ +fz,{Zs%bG &,K8a 4UE + *TWiQ +rYnq2d82\~ c2:4mʡa^'TSI6 n>ҲtGtqjY[sa=L|%[LZhı㖝xgI[_ȉs3(2.Ju S6b;nťLSaps TkW`XM?$vfg@;v˾C2/Ak b"QT|v:NěU57[8; +tnK]@(-{4s9ܯ47?_A܀mN~3^K0A\_3*!!7 oFk|<COc̅Jȅk'S:qPņZiN<céRXCM5p7|8x 6Y84ocn] pyjdK-r{nģUhO +Y|;Ar*'-Wo3!'Bj`͊E"h xLOvGR +I}yuWnO9|fVRcȁ.;/,44]y¼`K!ЇS!'xJ; +Vp %)fNfciiT7Nd>Fq+΋q +:/`"QwwP?L~l)ϛqi.81aΣA#AhO)Qg& [`1@9ǐvoycCBh,S@EeRܡeE\ *fPНCSҒ>1JFkAm_xnz,EM(]}*Z0ێHWT6Q1kmAc,|:B)9-:^Df:?,>15,Cp͈N7^pwaD[v/K?ͩOgƫPwۉ..b[oq/l3o'JbCmUQlJ66n7DIF8jؚi!^?*J\Beq(W7.Kio5UZP3[WYhrnmHxrEzlk:kegO3}9ha{ZkyP7hxP 0[+*:`gt77& 8KH'".\uF(hkvu~4OTt, 6V[\*JaFXsPMպÒ6$Gb|ri\}uT琑 rx.ڗp]݈`h5Xg4HҸ&G]lnl%o!X\= d]f֮1; +5Ez!l;?g6%O`2iN濭(a2-#濞]yFUfIRӞ(JhK{) k ChJ A)2KY R:HJ +LRDHJER kҠ9HJǵQ4քAs ^4yJ]} 2,A}`qgVlA} VlA 2t#xf+Uf BJ4K")x|dX3,F-`01 -Y$-Pfj>6lUʟt&4 gczy׾>Nv6W5>N`-ֳŰ^ c͢?ACx^"+͘Yؒ7y>ܪ[],71z3y=Kmi@͝ďG# [p S$ c_z|]i>NA[\B8HxfH|ĸԬcEҲjfʤ[g ndKɊ!]E&caa&d&2_($[Gt($?ނ*o̘ɶ5Q|-|m䑳e##_A H. 84v#ohm[?isNe{~/?k#W[!K-2 jFmFn$D4BZY-?0xɛEy_J_J_ Jk<_<;Jk'< R +K'xKyNp >0Hy}` 0zg<0jyξ0jyN0Jy.}a}a=]\(9(9¨QsQs^]d GrYbgZH>fa0ꠇ;OЮ+rCh#>?|h.I`gV d'J; +o2?ƿAO^RN4n(G=}*qJ%;/,9/eG9{*o!0CgI^:t< %h{.eΠC'&ͪ}@O#q"EؠI\ѣ` u掓:dgR\UdN>|Lxkƥ}!Cv~K+DCKXmUʀ7ۮ%$Gǘ΀"OQ5%orD9fBR.ΉW_AեvmZxhtxC|=\AĠYGbeᑾD=Zw+Yot72"^fUV$ވh!5GgJ3XrXG :$Nb4sG%?bOV5-#;!MqP2W8NA)"$'%s fWa5@Ud3=tw 1vуϣwS8QO¸u1{ j]M*lf1[Z,d|!9,{yCv}|P6A~x9}ANvztvw +I6Ga&_|6G[[|K(\%$lvj]YDy3ac@}XN}F)k.o7iAs9ĸx&øWjMaZ.~y'0 ߇M2 r.PtK(TH"F'2nXk(e ޭq Ĵi:e}N=fPm6U77X}ؤn_?@Mf\L`55v2WGц|vU *b7ݛ39\e9.g3"WֻL1H*DMej2{=SQ,Tz4*ÕnB=["rj}U`Q '>Kpg"7xkAޠP_ +`w$0$53 ?~gopVqArćp*3`yKɼ/͊N R cy!QƄ""C cЪO+M2D[~$4fT4dμkS=g.#.Dwv2]枯U1.FW2сfND~ +{2<+6A1ݞ.еrR>I}誀`+3"tS o^ծIuXjj}ؚ +#Yo^aղ$XlEb-gsqbiTu8N-d +sv9åg,ЪbA#S}@071:, ^OJHoCvXFTyی&!Ȇ֥l$;+gC9;2D8 ~zLTj]ΑOʘ{Salk E<_pRaТQ +f"TեnV1 l%ebI1 ϝ7k0JmQ$˝ +N@E@XW,٥Ee&Q +I_TB"T쇈RfC!ƥ!:\;zo66 0,G-QhG8{wo ["4hlEL>1 R˵̺5=m83avp|A pj]-O@ث^ +u̧J;"lq̈́#O eW\7!,lnVpu%22t86֔3zV njC|X`zekIA7O@2BBlMZ]j/Pi[/-,l ly s"QjQ+vBno6{3T5~K4ȇHlh>^+K2N{#  >8`B + ++͆=1XJ硸foh:Etc'*( +M-;`\0XO)/PjoB ZzM22E&߿8T[~4E:aOE$i(_Γ*Cb.YR$=36@u;ϊ];Yu!#g/ +{1(YzLIu%ѪS>R-nPdxrr;q꽈-&sXQ_Յ(4TLb6[Vwjxk)5]x}x>5냂'Gm w[@ }r?^w8 ^npDzFU;_T9o;Ym4G?CFY M\#5I2"A`?HCMai0PB$zv:,sY`g{nXx:Xf4ѷAODVu ClGP!^sߙKZv-U0Wzg' WpMd\/Y׈$m)⥍kw|гޞ +ybbwz#6+7Ł8pm"$&ٶ7*S<:`jB  b 9|p+~ʞ l2a +P1Ȉ! P1p&Ipeٮ{18.{(N&VҾ( pܚld\|2vs eۂm-e>Ψ>Xd~"RQ?:VgѽDR}?9n&ʨ3RpDz@?NVdy5ME<.{nVŠNۃ>%e!w{D\Wd53 +A hc} n'd:_r1HJosR9Pᱬ]!^9hZzQO_UF0xChR_SD8}:$T#(2*=peqBbe q?LME3c/'at?n9dU!і+^.p8_$mA + W !pl @!+i+֑BepN}9\[+oFJLglq++-I+ΜCYV6< AO ҥ@H;6W+`U) #F,'x,esG͠=:︿_ع8#-hA@$wnCR聥eYEAwॉuTEU*FZ{V$0 wOEѨAOp_*U_69<+qЬ 7tQݑGd+F1 .3=+orTv3WXΌi*Ciܾ +6hU>߹լh1 S=WPC+CU +)N2GJ +O lUX!C׆7װP`ZY*|mz/о<#h@ƵP߇ Gzݩ=PGΝuZU +ؾ278MRK,*[)CЯA_fm(0CzcbǢnj/~Q=ʱ Ρ3c JkR.ex(xPCe .C1/`2`௫a[cb<0 +aa.!u=6 Sz5*ac]A!FIuEY(K(qPcS5}<Ѩ_c<ƀ-0NZq$ij^Ѧe#'Wx W37Q<$+zn(4'K0jdQ 2{@ k& ! ,eIc BزRP +}w-]Dbڍ)Ͻ;dT#mqpJqpx<֔xY36Wu疍s1^znRw<6??=in [ఈ^rX Szs;nUСdiś߀eqbF`x-r4KiX4SY(~_x|$7*נݑb"S6.z_#[0jEK[|Xŗwu&}~LYt*ٚXtlIdTK`v4∮z?G))x\:aW0X8*,b>#vEmYl.^4MKqʡ8x}^A z?y- Hq%t힐REI'yVҫocww~/>񐓭xn|ZNbדZ,.q'՗^~^Bx\qqBhlWf^h^"QHbfzETvD8Mx{F^z"@Uc((xc'PIēdq=]3M'"1YiP]C 5b?xݫ&t-F;"`:J-SJER%#$r +CI=|Cz@ rm@I@A-.jQY!S6ASa/jXA*!4$!җ +tpHƨZ֖&'(H@2%0W@hK&i>d^"=-A9p+Q^zl z-L#MI^ +o\DꉀtS@J%|Y&*`'<-4h.gf)+΋38e狥U0ЋY$w4΄ܟZ^mz43۸V1IXkiJM9?zoEGɞ.FXr*lퟦQ`g"ۮbpGOw?xG*U8 pL}yh 9 +u'BhHkŇ\Du=$h|݌Eh;D7>CMmuvSؠJkF#Iy?(m+_a#h3 4v07CrȄV\`}v46…ikoD}-j<}X)|NPӛ Cz.f~q'7yu%XPy˼. D7diҺy%ɉR-cG!]A(eRI᧤yEv"m3,Re" 7fi[6Svue@i)lBB+mBߑ~)Z \>DXM\]+So~?( +|fNEB}OMhҞĝaZІDOKZHSz HZML$i2}<-9{\ri &Y`Z-mq$'uvYzH.tIј/N C>H[/P\"Gq-^&4-2[^`3 '`W![7Bx0$ąpyqڕqY} !+xْ@Zvg V4ȶ`>PG{gl*֛Y'aL j- IA0_EXfv^&X{˭XOq[\{rE&3_ENq{fdNk3!ڰ˞ I(lEqݞM?h1C$kVbz\]Kߥ Ax7GsE\bY'q|K~n4EԜ1 it8]Y4Dz^ ͞t@#C,2rIhďa'#ݥTUq0z\k{Qv"aABxPRc@ޙ ->U|m_6Zb4_:&AꠁYvau{Ս es*F$(w,˨ _Kf+Cx~i-a,dU kv!>/VMf$_ +6P&$>-wv:9@թln la|*"RiV2:X{eXkĉ5 :Q?4)HE6xy5u: {z,Eۯ~s5b{khL.:ny?g_<°^cUqٺ=u K" +:,hexg/|O~O_?o|Oqͳ+~򬔕-^^o~n!~/۟ ȿ77㯿/w??~?}o݇Gͷ?_}O >N+.C kU0oW1 Z@'1f3į 6iz%I!4{0fJ&;&ZN< +ir&zŽ.Ք/0ˀ+$UN!OFDt +o`s5UhoآbEqHk#G9wxALGpO'7׬C݊bU +Q7B P;2XdRP kd&s|sl +7@/4S}`_`PhPt +8r8i "ՠ/EKft +1*ΪuuٵɃ@-R+̧zmV㺻ʌMQ< +krtPt*Tmlo0ZaґhMs=}莂;W:sfEA}WWښ mlc Xm ;A!Gq@PmԖGTѢhXێGݱA%7j.Q=dA!Qɮ_lxϺȅacSviO[;21E EvGᰤưKȐun8YvA=50^ + 1A rΌPYjoæt^_ُ8וDixfUPd.̦Vv1;OF<6[ ^ I j* 5!§8?czGf߅>f'jO_@¡G5|$1p<h$2x^-.Lic{֗{gzWOohط\#ǔ6![$)d 0wND7&i +buc%}:0m; \-utDɾh r@EW&Nae1v0k"ǜ@Ԍtg5ZWO"JJ4:a%Ni H|8=rA;y]n14I{x6M/CHDO2zJqf%~x2ma>/A[P1JUĭ'z ̣sH\$?v'>XnșݫKNd^ 6n]lTB[-o#9מsU($տșG&dZ?OE0Ry0Qx=Q7RZS W&v$hE>G(,(=g%ys : +{'q B"#gAB§uzFCr50Y?ҝ6 +d/t"\NS7f;=͕,WfxUex{WrPi QͅT B؉\"F?AD4^ڻӡK:<=x᭼i3ALh3̍ ~n9Đ҉MŪɖ $Ub.`羕W Vh^(_%ܟ8GHkDUa!P(|Urh'̖X#!;þ>bP!~uEj"UD*툾b&U=|ΰX3'Q0DE zώ䅊1@U f);q_+Ȋ_mvu3X3_I!oM}*Icl)JF?7@a $iJ=u]/_voln|Y0ޓ<ѲV!? +uz| PQL# +9/կ@7C{hvq7NDFVʥBBѱzccQC3p>jhBE~_b6< &"dL]8 *p[y tUwhhӟ`BKK[c^-y q r%tur bQWA4esB~X0`J[kĖCYŸa>|?>#^}>h8_h? +yAP5}o8|>[kуZ'UvޥA;Y a:u[~ Dt~qPNJKJȩ2- `LZW* 17QJ`+&u7ţryT]L(IʬvW2Doה%|JC~6ЄޱO]Ѡl+(eDɁ4EAHDVZ2Q\e~\^Q&xB<ړ9x߹eO, Ŧ*n%v @N|:1fE_3jLd]'&H ϣaFb{DZ*a@gQqybS/>w|jn33 +8"M1CE+:& BaV@!DD9 $K`"t4;Z hÑSX@ۙ lP,e2hߎw8As<5zS;i]AEuhv]>1g'AHѰQt3M#l~?TX !>>Ľs)쀍>zPE#au<бԠo +#@~y3%6Ujٿ,,-9Sh̭;*>@At`j>=tnXdgTK q0:W!dƾa"RkD5^E\s"w7k4E}&V_Etnp)azKū\ 'NNSȩy$x4,X/֚ (X"G|F 7Y1ZcS϶φX'jh~P_YAPbLqz\\# ڑ'2|\9)Uu8QRjliBBXv>^2 u D幬Vn0۰;>PBprzQE{o)x;g^&ղJ1&sG yjﭓ/2tl3 Ӂ$W -lxnSn$׌1 =s~iL8z6;Ep򪁩ؐ%4{5M{??H|E5XcZ:AHi~&PËFh6ˠ2GD +o?v0MNu8'9.vh8ݴŲ!'ca8cxwJĿkSBmjfz/ Uȃrݰe/]{@2'"b4bn{lXbÅ-EJgr}*)H2ؿ{(.[#bgJ-YH6/Q`-U@}G,E}٬tcզlϐ;KAWP| H~\!%SKҳrvil +.;#_7*8@\'3N*hΗ +LJɝ@LU6;*tm&2oAsIɜK Q'L}"hJH[φL(O.ΐS3gba=iǛAls{_3suLĩEU*-cDWnq9beV;W4hGG~=}hg&bRZv@dʲ85 2ٺR$-U]]wƺT lP$Ȇ~7l a]Un_~KkŒ4<|4ӝ54tl\˓az |~)W[" \]Px@e: 9scYQEE/o2RcG2(u p6@i2uU8JyAZEk_i}W6P%wkK4\<ŖN@+#"uQɲL8DHxC&mj6S@;USE x)!9>{_m1S3kON.@ +DvWQ!(dkIUS'4s*WPnLF?*流4]ލ'(Ϻ"RHR3zk,ٕe/y2u*5|e_Pȟ" X"~3a$/ꩫ,*Q#5Λ a, n qR+r+Tx:33 T&;ˏ OScn^%A;V.S'DM^tR`"eȑ`3v /4^[e"teqbž=i@`YVH[U |ڎݠ9?rztLaۣ>8joćϩrY;Y tږЃpA;3600ތ9T2W|wq^Y[$cA`> +/7pԂ{>4#ix[lZIK _;i!e;u)~@2/V?5:u~0&I x'dT#U|6r1a# 6"۪=xM ~"qO ǁMu([SP{ڍ`+| 0mbP$*fF %:Sw~+t1:`U a%\"*J1GpLjpuP24ǡgm!ٍR-" bܥM4Wy ~.=G= E +a95.u˼w-aAsK<.g[^DzN"P 0QrVQ2' |]:yo8QyI@< fIaz` J T['?%  e}ǵu@޻4FE/95AM#˻J +ڣP1,\U,Wms#xrHG7<VAA9{&!q&[Bl;cj7GH̰㈠CL`޵ͽ҆@Tj+Q{ zDFIE]|nԬ}X^ R ?U~j[DlYďxһc?5c*?~<,xc:bXfz2|$E];J9p$G"lpC)$-E *YNBd +N/1bЃs-nLf@XJlk): +&Fqh@."?6-gij)^e }d0@:fbZ%āg׬$-Xc#M+uiZP0#64l/j1;PV> r%"L$u3mP(F>S8_ỉyh?L<5՞C35rj{/,Y X%Ph;MS^H]XMqD:?~@5oǤ,㯔L{v+Kh%T\ϸ1eZ/c}"!R8885DؼP8mN-;7Ks:A`ֱeF | ץ@|H=58`x4bߠQ6ۀ=Fx"<GēE$㏙3/Mesb#%d4ydY~tsE5]_ev +LUv>5 o'BBnݳ[0HK8gќ*! ᬘ%_IʳQ/AeY;; q^bSٶnPhvl{k8 J:ߕ+[fe>stream + XѴmtk -OkA Z{hU($ZŕkND RghFΖ芅ѺsOOEwIH ".QqC@zZ)BqV-ia`Bd|C;HAbn>{7kÜ +Ov F;J)gxRxހe ;U6̫䙴GdfEqb$Nv!C;Y=&Y1h" T}S&XXf<"c9&XX Pk9Bҋ1_z!rL:(I9qW!r'ۧGr\Hc[V\ʩxu +.S2jCoǎBs " HjzvT4zW'5͂uLQjꇣ'⣀x~1|E +E%%4%- g +TNY䦛<3v`N2H?e&g|^fyoU XWsrr&R(!_C.{(cv7G0z#/J,O.RGҎԓ= Lđ-Wַ4">s =T2M Z4qM   oӉ KXX)%4ac)Zsj?׽ş(Gd O׿ +&ίDP-?;@(]$pgO4;Lej#4@ ٯ$Z; 7^ĥ{EBtaW7#k:쬄SA&6Ř1؜@sGuPrK_Rԛ'KZf%͉$RR +q#袆t:F(%3Ke8b/q5zOKdG{Fפ7Q)CFT#8= h$lŗ&{H0(.pDdZ[!J˂聰R:3i̭}3y(J"T WfE/jL>.DF C:!.T}2ɱl[@|"8w$ h;X:IJX- !Uyp +SSd +hI+JR,U;DmM(hSspg!`~e`~\Y<4 TZDQ~TY[`#2cRT%D _T?HLc3q4EE7_%(uYN+b 4;);,V9na:5]g 2wz,Dpa\8}7r/1$..3@(Rf7:RK0 &9@6e+TȷJXBQY(ߑ^4k)UFK&lfv͢ЈL.;)B,ժĂD^GE= jeqT]r#L mK~͑{0X=2*/D,i # E7S3 ,XTk{澐0"K ׼7D8ڇY2|. ndf҆5݂hO00?&G0цV`a7O"ϑulDH +="ŭI]I^\2z)RT@%\Yg68)"XQ著?c.T=ER)Uت#ЮJ4<[4Ҭ;kN=ǣNFkĞ֢@wI5lP"jW~Wp4.$3h*vPS'.plJi^7Xd΍#3>Pbhӓ>(|Ky9AӇI>!r,G$Ihw kK ֙ +y5>۩MQhA-^\(8)l)Apha]X4CxFmcN,UQSL.`3CMyP941>Lnb3vȟ8wul fijjFz@'Tk2yp0;ASZS8l dnEQ9F\4s/?6`4 ̮y.p$ *)0r83ppw@mIs7qFvݡ+1M@GNZmL, ,{ЊUBf8z$`*;>8*6%ĖvЊiccsM9mFDǸTSɚ`6n=)EBWŴz1%j1T+EX-=Ѫu=|˯^HmGdfՒXILi2 .ׁ5dhy}J{PƵ.Op5yb/W{fssztJS%X;6<D\# T5o}3]SqIB.ҷ+"ԓ$.<1Xzhlu({9.'$΍jHe1UxU#-{:fX\c3?il`ej7סeSTp]8`}g=>kgf4>˜WǑ]3,u|/ (kD&`',>{dT<frكǾ$#h0k<6u׵@LB:;o$tBDV2P#Ơ#` @`0JG8Ύ'6N8 TNq8 (q% b `|_zMeܱEwLAgTʬ&ȿqQ#EGI_dAʈ0:tfG4]C +:6PKP7i!Oord`r_yd +Ft|O +L =ШEa=_hw":U``Szf'=TWℇS8#X,_ *ufDSEXH:}m\ D},.<x閹 h0-$)ku*/=NuIgݜChJZ>G*QUq@XM˘%|2&^*1 Af%8PG'%k4"0H7/+0niΩ"JvI$͢  \!MÊjUGw_(`p"4Oϓ,Anj[gN[*Ѕlc⵱m܏tq7` I&Ka@E(!WY֕69pT&!ݮ`HT"jQ&EP-Y&VN[%ue&r^奨=4c1dqU'2n#K\U:\rzO{2,i,oPai@)PTi(r/ xbʏ猐0sD}nXqOR;S|E"Oï"frGTGm|Gvdm\5%QPƃOAmoՋU/ֳG0yGkOzOm9󧜕z9q85FfY{d{/I)xL%{5]^ &rw 1z8eOu!ʺi{6ӴF if +>6_JM)HO@.CەS7(̗pUt}M~[tV")6tIT6rCfօ ,#T2Wx(+]+Ne,.kbQ *O97sm=[9ky1- +NX4 h?*ǹ< ˣAf^SEXzNrcűKisncg9kOC?z_Ar +G{Vh,{ىD)ų 1zkVr8q1?BV^|O ~ V <4¸C3kZ +eNQj4L _}ΌOˆJV3ɔ<լ _sBh@="'ZHӂN9Dsb$MIL#Kpo쉧QGZfOY'A(uɆ pJarb7RӸ"u4QI1@f0bDĤ'.E^.Eo|Zib(S#u(O$̞QJcmG} }w@:p2 +aĖmaCLt&iؙ+> MdN 7JK/mQcu;Ebift:ぬzb!ٌ +eŽ]'W?4;)J?FB=C ;S02CV*$Tt?HITT T-hn;Vd̓BP7Xh u/!萷}@IIF) \Xwu1zskkn&EǨg+"N}u iݣv I3jD6 ˴eNij/>܅^yXWʲ{<N 0D(t+JңuCچ: +Nֈ-Z! |jc!Vb&N-b ڹuEB؁Xi?ƫP=%؀ Hf¶@X6SYf L btcǾW[Fx>v¼ĩs$;-ӷ$}x;YPH|u˯3!h +*uf.>ztHY6*j`DUq6D((Sգ)ǡ KSG19oyxAy&3?y*ok D%[#apY "%/Tzt*yɕbhBzEV &H(ShY-~Lnt& sC):=۹1}6$J\"^]3{*IPo=~1`hH@H+iTtCSU߮w>!WzjXc E\0C +f1Scb8_fu!+iEKѣoպK`/`)3olT|Zbee0@욛.wfS$I1zkv#o:Hvl +x k["0PMQ?͞呮 +_xD]-M\O*l pO3V0cҠH=෿I6ϋw> d f~hթnėR#)S"(g8]tLts\MVmÔ>5]%P&H&tE%P$W{Ù.pF<Һ sFSv!‡Jj8u_Ņ*)N1?b3{ K@Ǎ3>AQv*".V(_sCU3P6HERL\e]$P1Vq$p,ǟ{"X-A.<7{1y-ǺW4k|n6̥hl2 {O8,4鑒)詽E)` 6 C޶McoǶ/hgxisӞ7UL+=($F*1Uam9\^O4Yi|$օQ,vB]=Be"00CxCiCBo`ҢZiD7͙TҙK8])WS=!חl{M7&n}_ZUTn3Oxޔz1o{]‹91#.$ `XQ>~~wBz^Lݮ(Nٔ;[cfl8b?_s:ǫu/(`|ah?Zj#_|̌@ x[=*5)f/bqï*I? yCw+bdaa\E;L`X=yoYU/UR9iCu#tnn{<2* +cg-ӑ,J($ fciR 5DCcK[nsAe[S,1vy3xbS7 +SZU3K]hR;2j_G3?΍,nJ¾hå&Sf~ +2B=Ƽ-_f.jb3AϤ+Yamdtjʿ([͛i;2BQw- 2(A tc]^GLOK,)0Q6n#_dqR)czw=?{l =mS}t+ƶZ{K17YT)23;.G챟]6tdE+U9Ãh0uP@[0*~tᜳΜ K{ґo)1Tд=%Sֆ2p3⠾ cvQ1?Av[9(5Af |ZH:H^=#?XGsZ@; P'@mYvjPzV_jjjJ I4,!ި_bBDrwÝj+6?I6haeCKm#B?H}D^g/D? yW@2W;JH+K(R"bbMh/3<ְb`KY)BDVl *"ژ|zD`^'H)Okح(3e:2ӫfRjs,#SДn`Q!\N_tBHrK̥6PMFC%n*5և MU3U)Zo1+ ("@K65: )zd:mw*4-͛.)+uؚx҆*hHF_`syqxhXzV<Ud']rmgW^2UㅾH/(l7LMnJ%ӵl# e]{PX*Z|#$0`)*nE,ii /)UMB&=;jzϲDv2'By;|;, +U +Í&uv<(AS&kcUXnܤZ݋7N1q̞v3{cfك؎96ZM<$ZN}mgHF\%Vў|7WI8BBI4 ]?tVѮuOwLZieì,v:h~OEX#'&kOkt$7=9ofg&QA aC TU<>c; @UI`>i]>_ZCnȒQA54V|~?d m^ }5x=8qu9Щ}܇YcPZvniu=q!a.-ʕ]qm=)@Kuّ2/NLI-V) -qԉյ\upk##A9O |ЕѰy耉ZW)~r#b?fX*&աȠ/(h*ǜѬ&pY>kG@b\am[Y+;4ˠTL + <$c;0ڃTqZ c˴.tDӋT|0xQ [PBYբIU0}.wYId5>z}_)]0AN9QF7TH5F-8o~&Ȝ +ު|I@ֺ컴3.KsxvD ޼43[-r_otW "W}49jS}λ+}xh|V(jP7Ԭӂ5'875n`R~NW<Ғ.lSוBj {gnmi~) 87:[+>ԯ"8&hNtPҠhdoZHeȄϗ@K 3 %#+5pͳ>(uc`ߞi]n֖}t;Ⱦo0"EpA\4J4i@_NW=y4[mcaNi''T͸Q3b ]b|N1'v0L<7zgA]K@+c{%J{\17EmU,*ܾ8ڿ%Cֹ{(,ODAʄֲ䥽n= O01/ŤDDGOC^LXnFȆxN-*kcMn:T8Tݬl͉zS;k OhzUu$P_L%[כ aGo)ERyay|){3NϨMz?\ +Ʉ/Z! %_# %yGuk`8ib/&tJopyD9 =5|.ة ejگh;<4 o2>{kKEyuI+?]U;_ϕ\ +&C{x/ J p;` +DvhS )bHLhUl)h]L{ވaC h7iO>^U_?;675W$IҔN9砣6ZJ~o]( HrR:f**sn(9s1;6WMX$M`ՏWd)eY"{?7iYC,)>K S웝V],DeJW?q˖n(DŽ p㒢CX4{,w+ c~޻+icFu5Z@%״.7"#GxƑf8b@0eS/){8?zB+֣]4ؐfr\R]$XO@.a2Tϫ{$jd-Ćdu'fk6mĢu\|:nEawS{T%K)LUWCĉViP%Cc Jo:P0ɿGyl;O&ZOP7!i86RG'4>n vMS_UTnػI1 ~r-(7<_gSl/?PĐ$"貁?MU͸\\BFG!˨d'GHAБ避rW jX(DV*`d}kl :uqZ0bJcLEO= + &3-5%-;>">]lbWa [Ӯ!\)ȶiחUWgt*%~օœy>(W*|-u<׆} +VǙF\Ôjw`rzCzB B8 GʰQ[݃ " ryudLQ=ZTBC P* umb) mITkX`TRA)*5bجNE"b 1x0>3#oY>EGCGt∇'*EQć HWeXEޠ^i ^^M݊Tkɚy%"[DCH ]q=i«3ڇYti &?GiH1x+;jC 6Gk/@bp|j< YvdCzsqy{EzAk.yfe6b:\p Q@b p1^&pMkZEE35%ul"dbA w@M%QYնzpJys`aM9f. <~^`&~o +Hg)GXLJ 9LUP˽NT.PrZXR-h:R6(4 zoKmșlKYy܇OD~* v|{Ik8JϙZ ^ȷFHj,{VZ@W`v1GyCor1ڟE D)K1#4fZ.Hxq()M2}gL\)JW̤'bXƠzo(d|J/ĉTs*>nt3&~ӪffhhX:/߰8o5 {] *PFJ6% x+>L\T1ߞg zl GyL`ܺԚϞLcH[tg>_ mgO{s˒" v^M+R4@.%X,Ikr}D5"w^8X4s]Ylӣoݰ_^:GgVuC\*Ŝt9XzK z7Ŏ5tZm nCW]lL'H.q@6+uW܍.J}X wg>h=eS6f} hB0H8ƋЖf)@]j=>DKx^z PΰvtZߤ]G'Md.@B~J ިy8!qa: i08Ux.:SԿ+?܉Fp+rA R4^f +- UF2. p8Z?(ҝyk2%w_bBkCRG” I+:CD oy ν^0j+O}ԕ6kYdeX1zHakb[Iht˪`H-MYŖ +~kRVTvC (r"ctÂ,ZgZ1bZ`i'Lu& ",eD{`|-gU/tWW8cڡ:XuYlQEOYN.--"g,[V, hn_[1l{7jBr/@@e'Fi{*d3臢ZLI5vlkd:t6Z`NfBqb +M*5gՔz?a`LظSSP,q7~=6GSv۝GG Ķأ:9Q0e|'1 RC0?OП 5s(='O +rT@L HQ@DQ^C*>zpvvͱ#5dp8{RE*W"lQr)o9{xSU)D_&HD<^2-X _+vx1 cBw3A +!j!eX]eM Mÿg c~pO +Ҏu}q NBHi&rLEz\F!ZO8c5j!;,@ț@GW˻ʠh/g +:im@U!ETG$[AΤl^܈Sʮ\ G7JZC9vTMĐB+}SuyiHhEcQ$|]E1-D+%f#$N>0z?7{?ح?fJd,q|nn o+r_}]) $l wşa2~(ìKz=ݠw_!FD)p}2 d& ;9!$CvlBN5;&xC({z'X߻٨"9vrIΆPtHU$!BcZ @A-1"@\B@Or9U2Ucz8bhaE_b~(|t(yx@$cL++Z{.M"ۜ, o\)pG%RO1"yWff#?JKH Ů6+b(g~`>#;:SDEw$Z]3VV BEejR΁Ga5/M2$J mdbAʷ6o[nxpz1ncJ1+` +QkCY |;U[*Ӛf47ج)2[}b*ZOb=ڷŽ '>LfSX*bWL6&M/Ȟƾt}nɲ S = {%`^S?sW7OUO_i"*1W$7I*#40xf@׫nPwcj +x׮w4L;^'c)1.}nHيڛg²=5U6)aAaRTtdS#'%uJh~I{cKdWųa%d<8kv;vkRjbIcrBv2cP_7v;iFE][15?jRErc! &w=%Tx\3if¨,{Ww#[qF<}<@z : +ףhw\A?Ny3m\1v:qMM9P>,rҬ80ʷ2XNG9?O][($a_r;{6ߟEM$ e&'=NTjSUqiy*eZ)OJ(P)Btbഐ(y* +T+E7p݃]3`Is˒C2>4O''XJȐ3ȉ522`) %ꌯ@I39p|1QG{f>In$FIVc"0楪z-b'K:lٷr*^"oXmDv1ʈ> d8`Cye؉'8`l1GEpG +&a #҆j&Kuk{7>0VPMXـHѳ}C5tĩMuy 6D 8'ZK "%([2q$| _C$ًo(DP?&SgBf +ۙd8ʣ.\O +m4<RU\f* +=Ż'P4=*d%t({N\AS[.ʋFh4b;tMtJ3%ߜaʜ`.Mi:Hqu݆A7bAK=?HCI,{8CwϊϹگ3u5 ،/)v# .W/={\z"<[.Xtu|iipúA ¹ݢHhX ށX +T5 +1eRÐE*p/*7`@t6TZb"zh! G)N@T=Ҥ. P~6Һ^=I[:?&J X->^t | @Q6;jnbP!Q1ش0=tBJ%0P6$iU`.@Y5۩B% p{S#A{M\ nK,%%,} TH?>+o}_h0d$[M1$cb5 u* IלWr&fl6Sz 6L0RvQ ~5`rsR"~T1PJtXMY:ju>iڎ㩂"D35UmVp0\7 V8QJ޿3K*X50lʖg([{N*jYJ"^:fvǸWNT( +y7]xm'L `L?XGP4Z3lz%PbY;`{Y +`*Ⓩ&ST/4[HYhϤ8vAa"*oΆPޛ>S\῾[Wu %VS +BudH~MOQl$\5\!і򖙪ؽ/m;_~p5Θ*0>60ꣲl}#%>۾ۊy(xeQvݓHj%h0HN%Ԭ@8w40ҍIpvo0}C#IȺkֿ]Sy=RH|_hөЇ#@Ƙ> ;KV:@_,PsHzr';=qL?ՆGV,V`4%ېz fTlx/6ގ0Iv6N싩A%:LvCa50_wmtE2đߘ?@65EPaBIk*kc1Z7gyLrH1x7HX-N\^&@$J좂E?DK%ٕx.lz%9c@'9)|o*! aGE$Cq 1idVB>$ᵉT_Q˂tOq}+S߉+tp8P B6UVM(!]/ ]|F -dw&AvGx 4Ti.90J 5!ѳ*f&cUIa3tx*G:Re0Krez.<,rh-*]7ׇr eyhWRh9OSVsj3KYs)a Q0aMjL4ǀ];B!Y)nF?kh'u<^uiB+X9d9Ɔyg/Q@uMq[ _:9[IT)LC-džïU1),i :ߛ/;sTh`<]Fiq-M$m`ZC6>REawă:oHȖ %:ޕ@8 \cU, 9jxDk~wdaU6$EL[vg +RnN^G +ғ`ӊGg`&2?EȀ$S!}a*ssٱ A]c2l`Z j$bWm#9v HlQx?X0H2ݰWeC5hEV4(R3H! a*&uh ˩{4'Prg+PJA9="s 0*SFFǴ%-BfJN)cNZ>&ΪP:5HU[E`k5&DIqZʪim! 1ijk@J~afrF~C'@t'/@CkokQHhMocFqO'ŌTh }Ã?չH8T˙y!^S ,%vio^ @6T$M8Ѳ -G78[NJm%)I˄eNRlgA}l&)O'RKŤČV@&[X8,D;L%F+)"c7-uq0^ =DXgͦ3jyC_չASWC:4 1bLԝس@@rg3MabǜB"q>=FjSD:NA׆M.4VLU !g`b6\7nn ^%iz$oʤ)89FHsD\oVo[\27p&}31f pkajKĈ=oQeADxYv!z+جؕ!3-.0>X"n0,T{}bRi +6N%1o0Q"5P/k˝.GƜG4K;IxrV#dql1DtvxB&HN!rI)}}I"ju-% UsVgZ]֥Z (g8/d-0?ư5<㥻u@s * ҭKy*w +lTbr唷*:ɆЫF[3(ubb('cH:SYvRFxڦ:F7A eNyr\OK m1`CឱIe")BǢ/ӧʀĝԓڧ.ln<*W [ȃڄ (bYyS /O=0u +y`O2$LT#ʲ*Dt!&̚B|H&M`@7XWXG.bڮʕ=ANPК2}q3|嘩icNj idK)v 붣YRCMDHeu}3[ J۾)᧰ƻM8cXѮ 7Ukg5m\RZш|t#-x^m[#@;1> TN*<~x1} 1N*(bmI0 "}/b8"} 9Kʣ]2-&n`~ʖH#qlq +xOR14(D[fs9>22 +n\5%/0 4?j@Y E"ԴP`;p#Ǘ8k,鶂o<՘)Whhȿ,cs5:\§fً;zUB[k,! l$찯#Lg|dKM)sM0)U Qn:>ݵH;!!YK"ER lSfOqg^D)Y[~s*إz2AM6C|, +G.mA]]:@΄[;` U%Xz<(<{> +vj)cAF:#q:$*!*>[1~ nLmX-i)p++!ru\٣y$N;ݺ50\ӮMͯÞ +t~hlٞ7`@y]4uWC'~u 9#A@lb u-V-G*-IUB X0^tӥt a"$RQ5+J{ErO +q{ pSJSWRS]A:(ȃB])'5(ב$$]jmu>9B + +mTC#ZW Týc;AL}8 +DQi)uBXu{= f''ðB5/8])S;_ϕѣA6 -d^ +UJ(Od*M^AئbUg"4"U4a^@-V >^0#K4=QJ%g?Xy^ugZN`npVJX)6{K9!,d+?)6\4lo0ݐIJtcL nlHg + ]!\*vv"g285ł,"W@[*/;:W+C_2NSTsrh^Jh).hH[,n` .)ks)@e&Gĥ{/k z&w˨@u޺]P)ab +X5Z"q鬭{=):[j*sS3⡒ &g{&ex~d!.K% Wjh q"_9';vQYFqw : 4 4еClJJc1_V_~d{sG(RrFD7]fj߻7q[6fT\F|-g_@.* |1 +{TdЂrϖPO"0HAU+QkXG + 3WtD Cyƫ.ȅ+̜C֤) 3h| 8p=v[2`&qD,pzsbÚyfԀ栐O%v""P/lxk?Ybu[@X@FyDײ`/_/6z%kqsջeEC͆9K +'FZiWs8P|N[ d8OӖ|u5/K K!5{K^rd'q R IAj~D*~g *="FјciyjB]0@Vo,&cs-S6ri5X[6(M^C5ljq㠁=½J7j[R'?1u %Q@?G`Klp,i)R@L0~98[;xF0E ҝH0:Mm/F& @1qbhTQ]M*_[U– y իpm`gu\gq*)̥,/)H)V4O9- . Je@2qgy\0 gCobf3ߧVInrF,=t3 0E7ƦY=KN/o_\j]dP֜+zbQ%Hچְ/U;$ųZd ݴ} 'Y*7db$)in(H!#bndP~WCq_@G%/hyI`9fY1N +JܓU/MyE2p(|#д68VL{W')OXS:U:!f`CmAt +@wA& +U(r1j& I$ cRu3Oz@rWYR^Ky#9")0l%`vChI=m>SwJN#""`^*~;LŻ|͝ߕ͞v R:=@){1#m`wu LУ?KI舐 +B0CB*X!&|4C> >`ß"KjadįOɰO^#4@ѴD9I9]8 Z[1ڄ솒W9=C9ƻ~$2sOr{cڪnA_G _fzfn' L[fHGr !g8;ll)|U:P'7j/R9"eI }=Gժc7jGת둣C.Fy "O<z9 +!>&,WoឬTxܛ5\a(T Ř]GP*&\M5XKD~LCӌ7%MZyA{ʧ~9_{}Q"|7؍^ D;jqpqrlkGB$Nl_ + *VȾ"UrHQ釈ɟHJ4o,DA3!T9TDmUy&GHWv0QEjE j!M\sM"T G8}Q=ԇ(9$bF'i/Ef;5^`$ Tc hV!#/(&Ň˩;A Re6H>=CC{ +ʹ"1:ccG`%e0 +T2 Q?{30/Ste f U. w=OǭˏTݠKͦ@!&\nLZ2-~H^=TjPh+0 +NJ=, Ác=?2Q5̿tT +ս4lziBi<ă\ F;0 yæސB{8cUD4Q-IgaR!H{VTe"P:CP"/T_Tf|BD K9e6銴[ ꬚cc@FtlMJ3B8qR{iz{nICߩXC@TQ{q״~=V Qr1:{#u{y(͛'4֙YbZ!\u}{bB({' yejϡqu@̚rB5KGЎR75mM+3 $}SoJ- Wܮc9d ݼ* CH,EH=;,;V I|I` ؘz畜?N]%;) x~J]S}U3ט8&ѰN=rwzӣ=1S7ݭKRI$q)8}v&e#~ +q=^v1!-B ĞfKD K +8ʯa\Q|eJU5/Aj.J"m˝&z;ޅ=Ytb9\*|ER}4]Ǒ35C#t&zs>z|DkN)V Ƙ?=D>tNӌ"PQm:w=T0p`;T a0_~%,Ҏ X5EG)X G{V^F@"r/R|y5+F}U+#s>Pݤ2S)d˼tЊBkn*7l8ćgl?AGr*Ed#[΍9=2a,rRZӠnVCn e^/XS +s){3ˣdGFFfhHkD(FC=@ +r}YK|x22xUI&;nǷXbgSmC Ȉy,e7I.'<ʂ6BK9`s +;U#{Ŋ h*||M;rɘ$Jc1D~Ϧ +A/!"Zu@tpPC)G?0LXnPKqzWoTHmlzS28Tgr@~ |ݢQ(utWWjCWhtc[Fg>#8P% A'«e\P$q(*Zu+ y1>ٌԄ.Eo/>?{^gxk;ց"Ree 1 h?_ vPy +!ooɑj{I_^ ~pB;hЈ'.Q`%MfũHnN5ɺvvzQءAsQ罫]wB63wJ.-췐PR@j=5\`۰X+a!% lB/5>WH`*qP1M^?G{4!+ahV Y Oi8tckLI4!+AmGqSE-`YZgŶ؃yQx40ޏڞ+ Ğ͎.՗qgs!8u0ճ0OF ~] <ȃ{ md#Xf"qG:S:{xSH7t01Հ|_%ۚw,؏n6P-b\J{aPLbvh|&@k6jN| `$uoÜ:G{k!(y.Hg0u`uTq;dd*r3iЩ9]]6`6L;<aoZP``|f4L-@Э^ϱzY57p +UIDaewIz0l;bM +I;RXCZor2ZEc+)v9(8φxwouGΙ"LW0|@={Lt95` >O4؟jҿ#vwn#XAfƉ:AV Gme,tP0*Szi&XQ=/[zwBm:Ī<r +*rE qkM,\(q~,Cw; ٭cDv=+^Dj }tO+;Hb8Bu"b1ZdQf4ni+D0J]l> +_$< 䟠ALd_p_'??_W~?~Ͽ~_oS~W?߯~~/Wy.o nY(`mA3zhl]žEؙ6` :7_ګa-:w0+"|X?*MCTfvz펣]IguFE &Nkn`/ud,y^U!kQٿvEv2g9$W%`Fjh_DEg7T2ng^1D ;C} Jc(˖ֻiޢ'q'̇zݣݻ\)qm`ul(t./};IHLZ qХri44܌|9ǿ\zd8ZX\=k [,2hߧi%{C羃ñN1Vg ؿ6 UNş/9M`67x${j70iՇ*|`9zPǃtx2*(ja8JI(:'9Sv +XDe 2BY1C>o':vS{>&,5|E|ƨ=H$TFB#7JByUB${!gO&Ӻ^wc#N)r(u> +bj֙0z`b`3 +d[8^WjMոܳus'F"-€ähi+Դȱj컁hWR2j_|2{+䀥@až~ ;6H=M+X}0qo.SYnfڑ{حX`^/P'VbZ-PV$)82 zh AMDߛ̦+;r4_ѓ7vʇOjw-^\wt 4esTx.g,B qh3@2g,+ +ގs9'ZBr;Yt(po_3AF";ƾ[:AIE>xd3ϵ6!\.J9Ž8jI+HWPd=tCvw%vE$,g`Ct8p-A=*I!jYǗXWA]$ͼp_4!LjF3]+G7iJrłA-*w32;^_o;m/(' %n 1xji^h%{Ǻ KXNwA),aaʪ B:a]:!JJdŇ@ȫ +FOhוl&ҒK?6rccOog_vJdm>V@~b}ZԐ,KsTn@ql6@?2?0G;U7cZPp"Ȅbv~E8Xf+AIPte]tNLffAYiM<;2(73/Dh#]9V{^Bڱ%j41֘! %?9Zђaqd'2鉖DV^ACOwI?uvhu~PE˫T|$;*梶+\G'KBɪ%Td8 kVfdQ.!c|ԫB埔lyK}m6ΦX0Hƙ9|49/͠剢d Ƥ5?nFj!\7`Fsi3*М r}#ޡR| S +UM&G$ ~Tc@h9?B [0@@xm&SPZtw\O{=$ w@[7TGlGgÍy/Z噃=<AHO.bHCHi ER}"~Z׊Bw~+¸$"p֫g 6!SRuN _#$[:$w㭥51ޤ.*h~Ci3+OU׋E e { h~Ưjv=Odt*1;)<\-LmZqϧgC澼Sv7mb1ØAN%p~%qU^_4i ޳k0l{{+JUR4z6cr/ۿ| aߧ3cis}~JXg֪Dq{H-гIl^OnnE5ݧb--_YTӳ(R߁Rf9 ](HTɚ+47+#2"JhUpt i"GE1 ؍:+^ATuK)}uZt Y?*Lջǰ]! . _\V&mDFه`rYGjX\K4$q nx D=^r?+u} \RO]Jp솄NsM8.py?_ucwr]Ca/Z[%|h=%x%_ a2z`A) ~a޿ga2)N (1=|wYɫsCK=Xd|2%h(7EAM0އ ءKǁ$dhX;atᅤ%ؘȃ6N^: +Jplq/\vU0]ar"q>Ԛ0jQVS\Eꇭ@d0ъ.5TҌcpO5]6P<,(-Rh2+5y]d:%뽺B3S![fzϔr4bI}WtG؃m#=ƙ.k*AN.v^^Pۀ1! )AF /(ܡYD*ժ 8HZp$lfل4k ~(:zMӭz=aJ`H@%@g3CM$(20 +s-TFPx|Vs3á5ԙr.pd[*َIFTN_6Wc"F +~jՐ@+Tn(>݊u,Y +tsNx_{7po[$6®SQt i#w; s98Y)*Y@F$ c ^ ' +jyQ|Di d0hpvK +Gދ}Brb%1rhjD4Cš᱕q4z ԐT]{d8P?F$5fѵAu+}9U,d<7{P;;! D^#@Pޔ4&u{b}6i1P: +Jb}nXa#y) jH(AB$JVi7wHTF(^' X-!=35XRX?@ +($ʾxM 8Jl +:.l,`>bRѪ/А]@L`<ځQ`{h>@cOZQNq.cyyGzO]X- bW9)NGí@ȝn=R|W"UA݀_αB{%̍8&)|bBzAiGQEkcCLz {#]Yeo>ٿQhs~Lz5QWQtRBU]#QEd܈uA-)P~ty? + v-`ɤ y Md޻!$P#O {/_DZ [hWnRh_WD[U5h`=Ѻ.IﯚQt!`bPeRgŀc=J.쟃j?]]q UZPk:D>ܢ +lHٰA̦Ri'[}?N_s9>L("]PE KAP-_!OVqB4NehD4rԢa+_X+PS%WS`$k>g}pJ)~M0 C^=2Y&A>2 <}:dMS G ;}4kL\hgThlĦ7#&-*yDvOvP[yF[Dĺ}y f>mdV +E<)x;PƥcVs%pSx |@8Fz:[dEb!>3Or GnSsY7- K$xZ"3m bPh)8L_>w좾J:(d28s(xג`Q()ÆB{5rXho*u0Uhq{'1 ax&QTXƁf0.j!2GL{ 1J/C?89 =:Uv|)>e ד T EfRp@)02,Ep|(%OHiT"\Q@,`oΑ8+,YUCx0^d4!Y{Ԓn pܹ3NȊ΍+ HE(6dA73H Hj%LPCt6El`PogQ +(g8GڇL,P5J" Qqט ,B6(0'(W*7Ör`EH{p<2 +ՔAz+(r&SL2 6@g,IPBeZ?>*C"Grqe;kLټ}~ ƍiX@ jZ+:iL~s\عCs}QAx:3H킷F 5Tڷ,UN^lHbQCh3\YD 0MVr)ʒR Qf#gC ݳY]f'lW?C4[qtYC#?X- T{lQfC$ZU-y4=P<-%Hc 57Qʱ &vמGY Ex36w*]``۳z^  ;/!) X,di{5H!^$gw6{I|Ml.v%8(oqG-?\+{q! x{ ?T9JᥳdXp 6^Y&A:H-$+4Dr{nL[!Ad*{dLAY؋v+tbAM +)yL](;`0uyFзMD 1/gA`-3tv7 zhVCT-'8iyM'PCR +l/zhLr1-Mpc ](a= +؇PǶ"[ΰ>S%+OZo=B*6={KPGL^^Uª)n9GaEA rgBuj݁1vP('B1z 0+'8 C'}Ia˚O} wԳ[݇ٲ Aej y8 ަH4?jڂ=E^"3i IQȝE`*g'rR{;t[{W(ָ~E.&$[ ;s.`aY3ʟx{Wa1TUR!$9i" j"j2i-2D_Po +z#Vھ}fnx`Gn(HQ=TʦHĨy_}ҟ9>fh.u[LKjb{Ph6hŏ*޽]Dhz)Af"'6Q1RKy~l-+%[@g,|II<%!gaEn@0{),3g'.5m+W"X Щ}ܠsϚUX3ZȠXb/vL"1MT]~(1k-[MV`L2B x&3x'`6zK}l2?n D7+/f .{?1oP#bTZ->VIdK8b"Tywވʐ5|_ǻ~F! CnrHTXRhƪB4nYl +$Nna ֲ .rp?Ce|` ͯ'|G,!)Lth. hv?n2L 1z t/g ;3*~Əݛ(noܟoiXVbo% +|.@do.u0rQ Gn@4)esK =/M b7-Csa YdرrS[>Hָ=L*َFxܧb]ǓB-g&N~# LdOKLYfXLox6zCn̮Llaf=r[Ӿ,~%"kN+LN:M>Y'ǭ W$@T3=iENĩ4B'BfSCnǚ ;3׋Nʄ>"bĠxnG]7pm1BX#ݡ@r(CH(,,`U +%X4!՘f_PU +sY[A"T('j$ci ?ŮG Gϫ-3=Ww}gs=м)ޝHrCǩ'(왋 lxD $MA-P׳Daz`c2K%ʚGSdrG#d*Ne}GcTIJZ?a(Ի(15WXAHc&}6]E4iz ';09}L0WyXsݣ&28Qw|MP0K눤O 0 m!ֱAPI ¼BM~^KL@FrU-QqX_^;О&o1m*epTq.v;ԃ f z>F#ZW +:\'TT4Z 6#AOގ ewg0 ?a/<2=^ wAޗ#n`FXP!4Hi1Ê6*gjz)fN{I0K*9 {|;~q%γ{tښ=R1?K`5̦ m?L>0%?P󑈡oUC`ZMsP`QUu!CjIkeT땷h)DMGCX&CCQ}QV]>E(-r +K#ϬQ+j$,.#x|a\uMEG?a.d5G@8«{ H؂-ɻ2IMķ8Dfb #3 }PlNRi{[Tl5,CS^bսz +h̨!d2Jt+ipx#6_VWbE(aIM, oG>;`ެ}Klo@rKf nP=b u0d̶6 GKly,̗=fd)8r2x: I9_BU@Az*?u}7VWGC5$32?^;EV@L%2^ + %Q j-f{ 0Zs+F7{OœRQɎoGg*6Zl`O L/NfL#H[do6+w~h5['S7@J&ElhDS0Tr +x~=ä;׏zLf}<`]G|V)[T_0>Ep#9[E׊}kt1(c:sh",gpW1k|m -@m t('\ +Gg4)asZ%|@%(VX:&Pc( &B"Gzxi8{i~ZJgۏ(||[P$e,=luB:IT$u̽PÕt?$/w*::=ks #> &\֧]Fw~F&E;8L51l6`ך8BqpVS'9^#{E!mvAXB&b'݇-l5[߃HM8XiSHTjܨ^W7y_"F^{/R;Q)WV- +DY?`E(l[*rT?_µN!GDc!Vt8p"ȁBl-%“DuxgD`q]"p?2~i]POR2BSGua#Y +p/dG{ +^MDaf{"JGRq>u@|[0 +C6;*?G*ByHtCHI=H?"$P#KW,)qdq} {X <K-o$w˲[K# .?dRW. UmmtkK8Qmd!GJҮ=HkPLU쁪zO.Ȯ*/I93eF RE{n3r_ ΗoYpX>J'!/<@ݠH +@ށ+ѿ,NTX,*:D#w J{ /4tǿ'Giϋo@+w:c}13q+jnoܬRQOۮm\aG_ h:[ n<&Jϣ;{V l!Ùr碥>C9Ռ@'W0]Qr0HD}tp޿D`2 +ArmjZ }>N +wt@͂?ѵcq\Di͏QB$,j2MEw(Nca^裡v'EhdC-(a.fAXiaUqnV}<$3(480@O@wW]7>J"٣0mn99 sR )3eEƗ78 $^sC 2XMjp"2cжu2nWe$T@|IHO8jxdF`2U?|߂nd+m˅P\z ab$OlP +1qy=ȿx봲ъ4{Ed93dJ|c>P rJ'cI$Iy5e)6۰Y^ BiRa 38f 7^+]''{0R9+gqOƁyD̪˝kB9n%sT^MSsuVk$Vz~i^;0_Xek@XqPE-w}R8; o b4Qx1uz5;4 U!9K!St`yw$v^khQ\FqO7MBvd0+U90!lݾXC0Kt0F4~gzD&H4yp=fuH ? w 49| n-NպH^#^H&+*tJ<}>!`Ԕ{oߜgvER+7U@R0~>BUV-*Jh5p& 7 S*fGYȪ޻sXz<-mMCP(Pxa/xx;2yl6 6ԙ"x@!7L{]~*@4[J_I]#! H)=φ7_÷la +yl<͉EtB;ܨ{#kvImn>\x%{72Pj +6 /7=fBV"=:Z @ܖn Wz-DߵuӖb1 .;f*F<S ;j„u eS0DqsNR_k^|f-e!>pyn^-/dRb Cφrx?n;-h(epw>SZj?F8rt!m߲ MX3g|sNM*Ď_D,j F61ZBzJR$a?gLŎIMa!ӭMɕbpF8P \cG\4@^$IV( DU]0k,¦E}1(dq +Od6&CvXx@E<%lvA@W: % +yW'g7xAWSEU9Gzav"Q.4f^= #8]!.*gM~5٪d9nja:Y7*5-ヽ)Mċ)`=\_ԪGÿ㯽%]YA=Q\ed J^#Vú^^^c@^v3z(byzh!ed nJ٘n0LqnzK +eW{ >d# &[*vJ=܆@>:뤜 +呟5Ϙl +۫ +i;"P+i;~i㉣]4 Lu,pyd6}OIJuP `/gXlx!;L*_:xVczˊ3ǰeO 7}S(;GeI榗3qQ.ԧ̜U#-:SMf44QI\g-Q}xH_x L 0vn~KQ\hQ@w۴0^i+=I:L5j0u@q7wn/4CFw.;~W`w|W\@5=fN@ n =NkMjEZ|EuxN,;pɼ0;pz<=v2!gL=-Lnѵy ^l]s̑ SY݆\2IM0}+3gEؼN2$3JYzo_Bo@ %yL=riOu]jcci +f&LЌc/jϰeXOC"mz_gHXdf^H&>m_m"VM:[ Kl]+W*ZwF8,oj` Wcb\S樨1q?5TR='Θ֝#s] +볇9{H4΅z4e.8NGRxZ_$4`/OJUXK5u rdӖc%/訅8{FDžq'fuR|Zlx9|?OXYG0GӰk55ќ9xa +J֢8trvC%IQDy9Wn怨DqtI(:9K|x:jӵxE?k";N }-JLj3ڮ^5Dx̭!@ +W~O$Qi9C +<#K%.AmoQPaߟ֋dB."T?O فskʔumU~0O8+I_w$lobʺõ!>^;[q2sr1 SȔ3~S+B [lc}f"͎µR{٨> Aj>;>R]-%$̞'@ܘF㔙+ʱ[Ύ{M;bD-=_΄֛Q`1{㓟ϧ0~+R=F2碷Vlhq 5RB9~9fÜȈ:%ۮ~``}S9躳\ 5> +N5ׅf8D5 wHT8G*F RMr + Og.G%T{ +}rCxA²5рJO#Xapp 24ơcǏ%E3V>&FXDO%9oncz>XO|}B^ mzE[AIwMVU W4@g8{~{E$%j'J*_}'!HI€ڦ +@#PU& |c`{]ur>#ݤ1AxC"ue_J}Iˢ=buVBk:TS?AWRz R=0p!(}|PY__($8-+=MK))5z@ǺV}'N{T`x{}ĭAfl[^ǔn*rQ\c뀜ZdVlKh=_ܽ׌NH{}bA$WUmrqQ%DTШGJ|1I= +w(vܯ7Zx&evo8 +!gp~bwV6JŢx\r +zB$"0da&э[ VdRj4=T4VX@Ť$Q׍=4+R!g&x"ٌKntюDi{3r[`SxɨSh$ '{êlU볉%[p{N_u?X @R>/`vQu|&*זBc xn-B +gE.}=b+wxf$J,.{ +:f"P@~j:9KZ8vo ^ ZY +[ЊC՞X0ā)9jc{g:>Y@JbˑC J˅Dĩ*](h=j9'ZԸv"9(b}pDJ3̟ TE3b{@kdxb*;!}6mBސ(U|:Ttg! y;y\{΢[a䊚:fE)vv蔲Qb.!EYFRy*/RH +)1np$k-|-z'D~KL5xr]z%SBI[,d"}$qn +k18!GԓxoxTy_$NG(19"CZ5).E-vbP! VN 9haOv : 3v{ F)K#[qR|Q_.\у=xvMUbRDV\XmQMUtDW( k4eQ/aboԡyHpw^Yz̚fg~ ~́v*Ȁ2GPÅ^|uF;OH3V%hg}=ѰGiHpG 4"|w詹.EY(<~.P26>YHw,6KAA -B]XqDL[rdذR[|s ӍdKӹZ7HHc-˲Agh@i8ސ^#G3겷“g/tKD.;Fzi+š0δWHi0%M+s|CAe5( @@Xj: z{"Y1`ZW?g({[ފי5bh&jg׎WSVusp:u+ƸP+dĴOo@|.AJ_w C!Wixd^K4k.t{uѲL&cEcL]ܧw$&OO@<Ņ0Oc { E+G%l03}4cw@`[1!X©Z IE +Vf,Y&o;TT"szP.{̌ϰXaX/GͫCYWR/P/e<=,՗l0 FDpr+~ +ڰ_ +W 5!Q HȢ .Ep9Z! Wmm 4~ +az~d2@O)w P+#&=Dnt @IPGK9B m[% (LI{bLs($z I]#{V6=w42uދD3ބn5ҿm~vF߻ +K1H + TD0'ܴ.y @[g*DhDhܴzX,n6FW~IGZmZ>TY?BE>7NÐ"=7^%?n8ER@*àYD;nQqP=XvF2u;j<TX/l҉r\PgU[o큮VefvKsg1W1 +lߺU[T[\.ÂM\؝RK0X/'R&@t[Oe{8aP50Y1@A1m+M8΁pV؍Ab{;')qrk]UWDD0xCpI0g%`kN_bV YA +V;uTۘnFo"u/R*/1{ՔEA{&#G/x{a$1Q,;ud.g!bu1j;5DW@R< +M;Z"p"YHmU,Y71:Eɵ{Y} E)YQ!q :u067 8W^v3犲w aϾ mp0}/LDoM 9l׌:}Uݥ ]\5vr, |וd2aUzskf0sgh'ܣ[ڟJaYsI8 &ZW0e +ٌ:@.oCQD6JDA.b=`oYvaS88WtvQltσCϾ_^X뇝A}|Z"Ě"T!7Qì; e". d:8]'h+r%+ lw1 ՂROW %xUx d:cĠ1%`BX#4 &wҍ"[dshc~p`2x`uV!%7:$eEZ_SG%:3̵n+-GP4SL U+\42A}*KSNa!>B΁"i?`\134*<|^"Nr9A[! 0 +70EjGAݬD:N(ml<(ѾGq-HXہ .R tn>KlE;N[^:g~m8%c6=.DIIiR/9p' ĤY|~3__f9I&/f +VD"v4F $cGf o%7uܴ], AAoDwjk)hܝ +Wk>cx9LSG#12#d.WⰉu@KsnlXS/]8&tl㲴(d9=zuHg i_>,ڐXWI__!W*f$2 𰮅wE 8^ & +:,Cz UqL E0N] Wh-g"Bިd3ћ8r"²q}A,=&E0hM$=47V.MX=qmwU#xeN;t)aA_,ho@8Z{e*J'Gv8:VE9 +W=7S~6!#3:\@36mO:cw!ӹB^KJF܌=-9jnǶ<02:X.EQ"¦`ɞnPw FZ:StցE[d71xI +akP-ɷŬ!u]r4s\`ʨPIO؆n@9̏K@0B~6/a.D{ fΠ[!?Ո-a+%k +$Dм>3ϫ?$6SCʢW?⢚&:0o)HOa+wdTDk[^WP@7/-)+qɄȁ"r Y,m$.ڣA9ڮn,/^8ukɵhxƪH=oZlDOpGS8*Ս"kOӻU`Q&y"qD>A +MjW  U^I&CC%ՉA<!(DyIα$_Zat,\#ߔTS[VbAgTIӯ / U"978@YI4bdje7bGug§;cesZ0! +mep87~0l`23)>k)oVόHE !P_`|lIM4Y Q=u$/f.,~OicVbjy 0X&*{us( -\w[TSB. 5 AX@zVe`I{G@= U2 ~\rzDHrtOw +r*I*C `mƙbEbBjJ 7ӊ+zo12J,{58r`sǙB&Ħjf"xYd0#2; A q\ 51e=9S%n@Ne"U}U" PIi778$"qI:Nҿ9J4ɜ{K9^0G5#rLunK_'Y; t rϦ,Lz~ٿDVJ.Qbj^ &(|s?g*чW~ ?.mf w"kLrI2a?т^N?&&iΖa2% nia0B4yNKpp%FԴn[<jx@gIʹDɑ/>gj8WTtZ]tT_ frH%+Izu@WLtcÜ +>o"EQwdR՝p/m 6fF(<wvL<"b=ܪ#@W+2oO)n=GNEMOe /GIo[FM3dz4L~9NK΁:S#3_KL8N(jQ2 Ag>F<<_l0I̍I9cOacl( ?ƩF~O +és_3}Obq7\" X)UfXd!0a)@弨fvo+ m¾NZE8R$0POLCvg0(m +cbh1;U.uW ۤ#\_1 as @zB8l"yP##7>]iR5V|Jkv:PE{SjC6DVZ^~"1&"kQ0IY:'D,E(^,p?P L_su r#z+}El!sC?IJ;3U +W;E1GMMJ[ֶo$QzuRh*ï~ +NF%h? }m2;%kXK +ttME$AS); qY35nI}ޣE +(#!@RB+~`/ݾYw@Әי?PgTh}{' BW0Q>jp(">& .{?:LB`G&0-)0F?Э#:~p s$,ݗ4k\cS~0lh麵|E֧G0d ZN-AJ"?G09v фp'*1]e +M,e4'ڕAd{}vkCN-=UEj  -]*nZh Vd^צU8{XU;u߉#($PFKGs`0 +&67}t%vj&PLJiQdB̻XIq4n dCHˉS(# Ji?*Їs(n,붔鶲YS"QfwsćR'?'0@g"IkEꎐIe"hpqܿ DS=#[0a+Y)MN2R'̷e:nSҡW#x ZnX3K mևjzPV EѦ"coD6 jK]՚wDd I7Zj7;"JJ +<#0h,1ŌøW;S_6jξ5LI+$3XYd;U$ Wl2za ̂M2Nh .c-t˺stmaזL1xTqˮf/whicMclW"8: " 댩l݈6ؓAϦazH1<mcwٶ{0e蝶\x)dhxվx#O7~ŕ*}&=4;=gb+vQ=|hOh#g!N*ݟEzxABX 3p\^~\kO׊R,ЏHIWX1V#C2%cxh +ˈ>Y8bsTFŽxm UР|e+@=Dd~\o:t:&<ˍetXSt{B +WgfwD:1CP1BfL=310ܬo%6_igRPTU|Ȝ&;Ú?s=>g܋ntS̈ze7]#9"PRqU(1LZWF@ŷW+닽ZWpV0ݹ+Bkl+8^zU71aޞ3DG^PL\b-*%ճ[l.P2ځ 8.V\t#"bM]xW 0rZ3y(Kb,8e$PX)lhDd\_SXl2HJSՅ3@Tc_3!<#JXSš,M~2,'5h*$ ̓xuN(۪KƀάlkUe +o覬㬅Z:͙]@sjo~)@x8 #E]uͺzz1$_}(!VbjJJ]aDuF䢢lHEDr8__b>/EIqsh04Dx>ڮ-IwY+`k=)>WJх^]lDB-;,-vg%qrZF kಊ<0ХFPn nļ'".OfbIbv\$BR(PTVHK;E?c +f>xOlNNZBsXl%tc.i.!ҀU__$Щt 4.3["kzE5@)Arurh!q9INWep֔C(_5V1j-6)=N|j._Zd3r ~s%{ZXAE2Y}(-ƓOncFZI+$Cz,.>=La+D3l tKatq#f"i!oIÆ"5{3́0/ |~DU͘I\W;77[@=9%T랮5pPI,]^V+ɮlӂ +KVK#%ѝIR뺷ySTf3]8ܻjTr&&59H * i0pjoLlB]ϥ WFzbr. +J{LЎ o2:Cͫ 0ASʘt4ZИJr<9Pxw)Gl|yxemF0v .H".&N}O;nHm+r0$9DWwz"WYU/AE<2ۦp!Ā_t߶iVN[T2e(}aX=e>V~'. *ZO]ӂX78ʶuq%T&~`4=5ߧzs`P(&Y5̢@Cƭ{/D a!>lbGS }2Sh16tF:y91Zta_ryof]=*à*OP©:`#Tr5:1ݧ˶<Ô+2?595e.2)v K*G>ѲV?hāpYܩ; +Y ˀ9WU6(O*Ny磲҆$<'+DTЧy-S) è:䵯2vh,3j6̊8A(1t,"&'cƜ1j\138|qs됬_md|؂zp $疛X4  ++Rde>"r.q짒2F!{3`=< =Ϸ(*d2DN~pwO%s5}<(ھkWo,,fa6ֽB?8&\,O,0Apjzdt%(10asD<@3(0@gf+z"l+[C(C13ASMak'&ۚ%zOZ߯gX(}<>Fi[ +]%WeGuf~|zNk@lu"㇈ϰ +BQ'A~+V4JAUjhB +R% kgW[ -KG`d Ti!@ ЮN}QD}}L|C$g~leX6DR|*!W :*:|?$5.д@>XgnEFs9=0L;URb@5 M}gS̙0&p@ D];Rj6=]0@M~ [J\ױEKj4',oK/`2%[zS&iҿc[&̤f`sw/6DXwP7lkS{BzlBgkDƱQuk@nZ1b'BD>UzcgЯbb@6RSD:T]"5R%EB2B牶@[9 ƥ"B'?~yWoe(\u>I򾞠Hulh4Q}Z{Q0R-)A +YC9AY1 _$*^%؊@GNZC?!Rz1wگ}&30>3sߪ]A>"vug<{Fԕ)euH#h>1E_6v`ύe8K\: @i aN"f4%d<;a{8[uu`Nd;>%>C_r*~p &h-vV~= qŤ݈*@|tz );HĪs]iK7Pld?|.߮^|m6JAŢ1{@S?Ϫ33(@ut =)JE3LH9GFc9WZ.#AH 2\s8IS|mHަET=BL'o,dY^L^R]ͪT>˕+%:;2/.fenHhfK3ڱAu NsߧO-}QN%`eֶx\-?uڵcA`Oڹ%Aw-e )ǼiyN"fѥ3#ҸI%0;ŇޜOýʖh@Gq-_VwxunSWt rU} +Xĩq +Pn_L1$, d +jqvTMcc笛l2_MAb"DigQ1Mp lM2[0xfEiCaXJA{eS_=BEA?g +I^Cj˞Iغ-Wsu&8'O '؞@!K ~Wb+SRQSWQ7?&ө.")Uv-b +&p ΐ#VYıxȆwx$wg6!6y}=ZVZ4 "U!scO{ޣ<fSNF8)wЬ_Baߛ7>ԡ-ſYЄ v;i%}87]ԭI`8_=)y>[bMJ4`K{_`WS0΂^n[/d7tlChO%B +.zv1bT"pٙxY <'g| eq#3" { m]CshvT L6zսƷOI08Ngb $;e Ҍx<* S=|hWfp K!Laլ}~,3~,rv5Y :WP:IK{?"',bf?1I#Ё΀>/0WA y7k]ٮl :߫;>_ϗsx5Ib%ÿ(3',""$YY*"4"P0痔c'OWM]lNWw}#0q/?!Vsgط%xԤ %\.AB?*+1uy>V,K-`@j-I p45X/׳FFRm6?tdN,h2g$C }B[L֒_^)`V؎+%e\IG/*K0f?M6-Rn@OY%AW-eReqڤ2%n->万r?ֵF|se_ 6 + `=p#y=T N.&̲=?ѕ*U\Lq0&+#+oMV7bwdM Ry@ݟl8S"qoG*2NVWD#sG%ҩQ-;K-/u\+wiJv o|S¤"|Y>W ^"J_gX@6!=`¨ ~Jtu"Sx}),|=_uoYܮ~2 ``j"۱7 n>J>i^~J}y +H!oYx㍸|뢏0ETGDTU~t<5'D +endstream endobj 351 0 obj <>stream +Ԩs<$BĻ0{xOrj*}VGj-"D??KsP_[b6 ջAF{_ީ>Ty~sIT];/:q:㴆6*!M5 ZxC +{9 BNAÁz >"i;tzax)Bpڂ">\P;k@5t6FɶvBqsG#f"hh%֑J&q!qK6їEJͿCE4%+||@h\swnWp /{ǟ$D}ʭmS:+6 +8,µ.އ6Vvs9XOI!z[`qqJu=Xy&,FG&Hpy%ܦ0r[!uj2|{u`]O~cEHzXQ =}{!|eze1;~].2HAE3_ +=i_-ϵOQ%:Q/xX";,D: )y'=y +sA+H{]~UkK1"n{5^#@n&W%Dn#RqDjAܤxUunǫw_FgLlB6`wY(Tr D DA]`:!:thnK +?t4 |[D!?#BJ 79500rywݫzB4x*pݹQD+纗HFz2P6l$ ]eS1#TAp33_\Dt[Mؔ{C9Q I[ l;aXKkо*w#g]\]s=BEzl$T7^YjAD<`4ʶ]B΀?S"C}5xB2,xyOf]wȪTuԓ +;l?"@]ۢaҷhj5%T!Oh37a~.ɥla~psVXD~yf?ꬭ +IvQR$ۣzS3}ǯoʯj=3B0z?y)?ɌLbd դTbEQcE{DX:r+~pH 1$ֆ4ѵ%W_s{L `m$ \}Dx3Gnx{a]:0B5[A]$h@P}F[&fKW:n^0/ߔ@jLe|orE7h(Gu7V??"'/j:aݝjal2M4r$s _׏XM3] x4oz[׶]yEҩ݌ +ze6z|DpP7AaI'&@[zd_ဌkN%M# q3KdHQaA7 ׻@inC͉.t:_ |=|@Ud,R,(5k9S +CޏxQaѩEm".5??ygZ+-CvЀc! +4;Asc=k9s +8Z[ZsqDIDʺ=g@kSª lK +DG~(_T21:U23]+ r 3}X9!{X%v3M"'pd  P3oVxd(o0>wH3:N֕JI,:}ƐX*A>#vY\W8<[.ƼaD0uӰnNCagḣJnlMh;e} 1 Ja-B90CvS;ƥ u)̹I_hQAU ^AzCmXp(Z| aCDymw3(5fM1˄`毺t[ղl=x3A~<] s sJ9ڂ]BC:9?1s(%?IGQxH]?$$:VΰU+GadM:[=sY|jSV +2/n[ (:)0ܮG;Zا +FWGTہMdVq Tw)'ǐ_exaM{Fc0 +|;630c>Mux2>#p8 u j + uYغYxvnBq^_(,fbZ+=;@桐d;:èRb`P4W $K]1T-7"s[?X?WUuˀ]S 1kX2THngWũ߁"?#v hp<3}aLFըml2SBa¨ +HԗR֯~k^кE`D(~x|T*&ct*~ K~>% ت;1> h"?"ujh1 ,[BKiw><wEt +~YK*^y4|V7FU_t??w???w?/-/G ݤBsfBC_pyt'#4j a}H (z&fMwi~B~|1xWޖa'$j1oZz3`Ϳ$2tDsCXݠΒ PA10zq%:S:BT"Dt,f/Ӥid~zc~Z.ɕONm:GZ_d59+U+y-Q sHRw^ ܧDKxp؉ڽVZ!T4xCgd^&c̙֛*"VvpNȒZb+NVu?n0PP} 1j%9̄4˓0*8 Ii۹_~lR*@TN87TB'2bf`4!@ఴ9><edKOR%Y?ጪyuB̖ XƿOç睋G2sFP6vd?zr D)?+;dipMf?8G'hY(=bW1%v*Á /9 >X1:E `z\&~|G}i$^Q8i[ӡ7s/ +!vP9{?0 +Qo^8.7FL?F3 ^';S} Za kǺ _D8U2!"3b8sW>z_f[$#[(}{oLJOPuʴA΃Y΋tuxŜguǍa"INE ya>۠\*N*Ԍ]AO#dڽ;TۊTC"+j֮cF5'O~>ȫ=Ý +@Kzj.=!ȅ2o&taw?}jX>sG{k!77`@硚ɭAW\ :CUSra 4say 0lcwjx Ѱ.3i߂YZ 26BS+XqX{@jV'ehw6-LLV$.|D_O!wNX or$dq`&^+L#mǥ6lh_c;*xD7?; WIgL_2֪&V6_Ƴ~ @5B՝^"MD)㥦SՀHER*a5M03\W]5WwDO9m{xUߵ '!iړÕ/yg?81~ ح5JՓ>+®%1[a !@U߶k( ƪ4|rm,͉w?p'l/ +Q~dX.D_OV 8f +%&i q9VίOQw1`p8[F "k1qS⡿EDy~8\ X`F"5I#sr DR#ʕ:?͏x` C[{KW(ޫ5XǘZ¼i<>dSNJ^^w ҢX +z d +]q_X/r%6G)#14nڀ59曵A.fd:lt}žuRȵψ;mУ9axdmBldѶK7є5I+/M1KhD-XG}8e:e{&E+a2^:!aAɄmz"Myh#aJ[JB"aOU$`jڙ#~e>8g*"\~t[Q]{-Pϒ=ݑq .>ߣa!m$;cP'C;Y?c%W\CS>rgrx]zK1bf*IQ0dE>}on+EwuY$HψMS1:~8:2LU%OG +5bϯpH#Zi# /7#xW$\)vfl}iciXMn7ߨ-(Oam(* kca!fu*6,IL`ebc}}+ 1&vd}'KJ!q_VUOnКO1 B:G+\S"$~4Iiv!ZXD{U]k_́4> 0A~ x~^ۍl[s'ƭ 0PqI<Kr]e +0&kֶ9g4-YWay= t>]vhAgfE|ݑ7Мʝɷ°םDURv/橠q0V|3Mt`eqDc@zJ"B4)=G 3`X0QP:it5i̮ I1Z]䫤 3Q5dfysRrz[-/TN ?gUӎm);jg5O}DK~DC]X,`H 0UA&1 ׵.s"x5,vd.jqНGiEMG/{I `OCTib %X2y~?Zr!5 DڴKl'#s#3FT$Ԩvz޶S۳@;{,#=R0-qiUa;vڷЦiK"i8#d-ιO`jLa@.Z}%nq3ofhES:0PT]XRvg䉼ȎkdpJ3XjWz|8~ +b S8 pŀMt&7阬K|E@;G]a&~<N}jy5^#GU:ڝ~K,.f [ +m$K N 빸qF$b,ZO.3dCʷ.ڄ+-b߸SuDu~%}"l0? Z}aμsYgaSMU>+G>sKZ+UM +<zb:B`a*T\~Y{Ѿ<&7+!V{ʄ !+gGzJBxɭ㣑}GA _f ɋ$kn#}hwa$ r939(_/(HYxc߹/q{** \^Zw˃3[ uqLx71[sGgc`X6'һbvEq,i$+,jzIR0'aud_3rn`zD^gĮE)ĥ0ѸҰ?>Zd7xq)]R 6-1Cnq= 0'網?2rO)}f>+s(G[RjtՐ[۪p6-x1ky-K,ǫ.<%'&pc*q=ƙ޽9\ /& `=y2/ Ԟ_$~LKb;3/eK5c}J@:Bd +ӌr:D hkGiio) h"2oiܝ63 +Ov}Ձ!E=Ag]b.*8l!XiǛ}|S6c8-ւd^`\ђ#201; $rQ$FK;M8h@( : e,Lgk.>()g~?E0%G,ɉ֮X& +vB:d:6-}iv᧓t{7}=aiJ:E8C][Wi1уr?h !P rTBnJ 8㔲ֆSG~,\{'故*:8/0'u{(6P3 }P`CpwÀ <$<'g=30a;iC^]e=EdXD/ʈ|5Y+XcFHU:ڨPck&L7'&o &FGq۶wm0޶Zj5+=r*n"ɵ6xi/:#8ognxS Xw ՛t@KX* +ƥ>07.{zDM\>l˜*8q*BgTe}'ϡ.9I#z.F}gN]xUF߈eǜ3 +nU7>_TTx3%wbˁ6[++;qo +)*d ka˛qX"q{3rYpᣀ^+ZЫ=m4R 2ɇ4(n^19BSJo_yUȗߠ]Ê#^O#dMMr7N =dXϭG(m~޻AL)4IL& I"SQޔ-Ѓ8 K &c全-<g6>Up@уTC3tKD. +j k(Sv>fHEm +(C"E`S|u B ClPtj_L}+O5ۯu$D\~X~M ]|z aĠliؠN7ZFV8˶=_tewEPa Ň`Q!̯Xh2=б%O[e! vnAK~Li"쮷^PFV!Q|֧WiS?5v0!}l@vaEܪ_ѷ }x T&N TODϠ;",8T6rdu"ZùÆǵ#m5ul" _ؙz*=Jz8יeD4^۪Cm7Z_^ FxAT)M2#m0VZM c J~#@H!:ObňZ|)7*h="q+Z⡫*,{^UPAŎH|_}}Oy᱐d&hlh8Y[o,]q>Do^` )*%<&*zjA["U$Qc!I: +3V\KūzVw7#|;zH!iO + (4L!u/R4GYD8@Ɏ0G)&gٺa[-ƞs)΂g IAeWJW_+Fz:cv[~Ohr3*+=ʉx_aqA ?] k!fr]ۀ)[Bt:)XǕJN% MO )n--JG-Moםok``D]( 9ьSaU%<7tcFg8`.ovGkCNC [%2W,t>Mah Hkx,$,)-xu+==儰>sjfQS~uc:s +0Jċq8P`, ~[> r2TaB7n#eۖ!/hz {#nu_+V¦s l1zՈ ]uGH_xzZD/")c0wJŎ5'vK(טv\g-יL @^9u-nŬ 2]OuDlgV6Aԇ: n_X17!-IBrTбA,@BD>L/Iwox[7u"9DU ֒? hLW!;c+1AgX dS2?gpvJ&ad-W*ZsUos|O9eNntߎ6mpȧF˛)bʿE[@IIڦ /)ZŐ~D~]b_rQ$3!i9 +B~(0:dq{;*}',*bw<Bgtx]x? Y!2$oJ-a (tu(%X_[i)r]Օb1f?$t E2|U.dw-^pM-]Ґhá]ЪA+%L:q +u~P/wΞV+Dh5EHdہfu#+UB9"xU2(gz7mGP3Lm-kI + ^ !<2R%3eMc.xĞ\Tk64YQ| X;ZfQE~[u=-wP@OOA-!ֵNQ/ZIiO?mh"\-|2*x՗"Ξ VPPQDv#C#~e>^^L{>Jx:)3W ۽dgU߂쌠 Ό6 RyW`דh^U^M^]O#RxTMMH&]јh k>` UdgڦނWkI"BhdL}&TgJ#Tygƛ +*plpU_uVdsؠZSIKcVZwp=;U(W飀 +$۝owʾ_\z[:|iѪUYBr}R /[LFv_v_vbrJ}ƹhl-vP c]$ 깢43O2[JW2XkLpX{$&4C\$QOڳnw㤇%a<ʪ_._r*eU׃OΈICq{s8iHZ>U 8UV徑`Rg3Q\钧ud_F87T?lwZ3dp$7^N9y?v($AD +nTZZ5N@I*@bVMP`Ƈ( dQ)RxN鏴9rz|6yQQ#.hZ$'@KiɲMTY?uDMTwC9C)/_ +a-pS'&fDlmoc]󚐺JF@q(zQ][Psmd/`~YMcH:$0~S:XuHjoҀlc6ΰ IzF`a[@IT0\R5Oݿc'UoUH!?/-ɻD+̢B޳ mGgg:ko&T@G^)ubR֭X4^zRpc8gH42Y`_ c8QbR>Hz:UDs-rO+ '6N0! uO{jcviz:ݙUAE-4K~z\Y-Nů[c}*a3;Ǐi\uk}vĚ.lwA&Zm/kU10SUrE:#_)[ o8dv:f +kG!df_q{#ݘ9?ަU%*{(qG>#! Bno<ϊgWۂV#;WefeEFX*֬]gUX>FlzE}9I1qVYu:2%êFgVB,vz*<r1yq:#9R6,`h(,ā/0} ,4c'#2%[$B[g3x /3:J= =N +|H`|gV =c=Wl4Ex ca*]{l?ݹhQrfϥ(!_LYZM@;z1PDb4~dB pE`4AF>3c Dܡs x]%My @VHLl'u"Ê}(6]*d2DF>BMTz:zP +4+r =4 +vÕJlp5? m12z F8D";'+u Qޘ#g;{YM&%]-<;Lʹa)>|qǭZ-6-P t&BBN.,6>ځh\-LM 0b'oNi>1liQߛtZBT/cO٠GyISpqbvq'T +趆U.DSӸr[-teVӽKFQ3hA$~ѲV랰y$)/h^*<":+%2?ǔuOXd-kT7h_~QӢP+A=;8}Hj!MlɢrO5O ++.ϪBh8TQ^|a;Z>j YQM|h!P/|4 %;PYeC4}-[RSճUDU5dZ`v2"NͪkNb΃Z#HT+DЗB {SfGO7ɃZ he_ E%,ߜ6Q' #Ksc"xȯBq9HNvlZ1{&̪< 1MH#Opǩ-*?C1XDK+DO $ׂk-b>>au!-tOR7?Dz2؇yFoaYHO ވ +牤(+3K{4u@ʔ{.yC~MW 9e KJt_- "]0k'Teƙ9R{#taS]sҎPakT7҈ퟞDwY};ЏTogY5B=lRna6ӹx؇ثlqxA=&=dF!.iI)? D}"U8=0*x&r(ۻd?g(>ª0eo&TD؅JWv=K4jI [IFVt(\$h"s@LW`A3(D(ۍRlplF9] y†ni[:| +,x4iHѠU Wu}DG4xVKi<(yх00aƁް +Du84׃xWhg7 +Lzyr{r{70i$,s(WtZ[ 3M<Fny<Ͽb/TSȚU[J-x~kРzQp `Eflvۙam0x0ꝗvEjuO~|or7+f.%w"h +AAI#S% +%7bXB|h+L-}@5s0:0%NJYP&(׆r}C7<ջ /3"I.znCy W}>)Dqs|GvS!c Whap7&Ṙ5n#kW] +F*aQctدCǠM\Β&覆NJM=;-/9m}^)MXg~.svE<6O,D2%$?E +y,w Y#z}H*g 0CcsZQP9CzR41aA ,;7h!Ƕ]3ПL΃=(MF^k)Dqݶrϴl)W@"m1#&J[NSQ٧kҋz+Dt@ ΰ~ oGg)z?O2Ώ Inͩ@V[36D Oat%UGGprA\|ҵcBPт+v||Tz:op +*w!ϔ`}NpgXݠ{R>؛l݈1I3!=F^*o@-?Ҍ}OiE}XjJILo"fO|:aٯ`!@ ŭ$=#JEh^[ +:)½VUS\BDmƺ+Tcv)@EsYmBUIۉnSiٱײ$/W+7JFqkU'Y(]Cތw[)*9)= SkIaF bCIflxHS&Mp\*,3B{"1tE=y]"?R3 DQN*E) ^oaPDwX?"r dMxa-vD/H3QWšb z|E^ +=yjWsGh?M;B6K,(#c`cLc>+/tW\ʚ0"Q?u",d!?ɇRv$(481p)*sl (؄Teky}=g{,jY|.֨4!͌E;ɠg( Ь-D향id$=F|3% hҌq/nW dt!)s(~={WqWq_n9tI++^#]<S#h00NhG+-sղ"3̄&6?;k +n(Üntsb'p?%5 Z|Pl'0&)X+S%Pj,: z.Afs"+/Jgk.*vؗ8c#}j)b -ig0N|{!J_靄Y.YKbCcrRs%rPi&^sg0FX%UԻvq!V]Cl0E9GbC/m +()ǂ:WuEY2U+Ak +#M$)8c;Lhl&LX'5eL8U.gihνS+=Wb+ǥ\}q\"9b]s3V%.0_dzP>pOMRF!7AZF?fx t "ww1^ɵHjg4ku$t~qZ` +dK$tX + ;]~F`B-$ϰ>~79(e>Mx)[݅t1i@e8ܿB>o4tL5;USiG5Z|frNeQTV'Ք:m5I+U:)/~d417)hEl(YD3g(fH]v +ӃqJCS!iR 'a9C 䪿}Puͭ2eq?S&cbz[= +z;7:BXR0`v0Qgg_<Vw TTv]Wnug{ĭER;yPA:5 +-j Sd?zχVK`XҀ/1\{ 6*`.]y sL!Ѫ9 D/CDj-wQYX@g,![Κ NR L{88TDQlD"+€v8P$O٣~GG؛8$FrpƱQho&~Ff wDqʘAƈrfWp+5(a$NPja8byĉM^B*FTTɊkjɧFVW(p};C`ýL7QD[(Y;'^vKѕ+:diKYay?p#Ok=F$ڰ+..B0{`4H_b&o̰jZ ͌.7+49>?zu4#(?R5TV~U_]#{dKUu^F^\VO*G +mNz"=<~@tzؑ";\ڡNDØ%WC0*ѰX Lr= o7F#4J"op|0L+ ̵J.D^ t6ǷS!P(hyugLa@2wd?EcfCrZm( 5eN;9^=棗zTʺ 6zr +yepU(%}Y)}*:0j_ԏpĴBahx5PaS)꺽G05Fh"]bW<w%\*Fa`}iQ\   ҩ('N.lY9vtuE{◠s(+k#. +DPɽ*z벇NMbV&_of;Y)n8!dRn/ןFGDL_Ե[h_w~Ͽ_7bUQzV%??,9%H19ϽϿxg^gYg 8]̴PsQ;u70|+^~j8ԝ:s5!2܂x)SYQ`0U%'%('iƜKXfST! \[A-@Xzb/Uy\_*r)ѥ^U@Nqd=0cCsf !2= +c;  9m7zq4@&O(ę,% 3ۡT^<3E`=$Ay ;up)<ee |ݓXj ek ԫ*=ߒB9.G$ַL.$]' !!>6~ԣa{( D>ƛɁ[J:2rp*`zq_juȬqO=RV:afE\+ުC$blFF +c鞙nyi~9>Д$e֙dmޯ=;[c9x[C163~v)hv~"r@, uѲ0=B%&E`_P"*`IMB\{:zѡkQ8'0)Vy Yߓ,:nՕʝ!}_BKlLEco 6c48V!WokQsB`>S-=22x08v&>Q]ݎgiĥ`}_%%#udH+᩷ט*vbtsZ.՛lP"h RJDvE޹SG\ +/OrǢ.v|1eB@x\j`v4}֍.r()ܯT:Ud=S:ՄF H6Ѵms>2->bG`pm/ g+>;* *8׈%? " +B8fm"@+  +s'r_j۫~6-{= +); +Ep1+ΩߥMbnZN{ + : +fr5hwaG@|N#F\@q۳s@v/J5f8s +f+Շp` +tP8El5ZFAgu|c_G!oDLJHnz ~]d9İ*vH Jވ +5/̅ D3s]a<>NnpWQlۯ=—$[xGgjE\.̝ks**3 c::F%ܛ=q`rOP{'['Rľ:&$Tp{LV lAAaqO u{dF7bIMBWKqX5%'ZvVF1Jq3o҇ +@.};Tm}e])1jW5V0{R&8Ht_ku{呓U:#ai8=-+#du`biԨ-n^?*3"u =ӝ94W%ۡgx%:F8aiL&q),DcCshDt>)ܗcIY_ LvW㓍/> hV)鄷Җ5=dKυQ_UWy^3DuZ>qH~ljiR!P O7]+񯨕߯XsJDĔ(0Zv_~IJi**;U$wۛ65GD;Hw%[ф!.+E6S&H@u"#N&+Ϛ⇧śT懈@g6Lĝ!LUkB>lԥXXα N'~H:PN^:Oz]CwaBC|0;#h1$1_) )-!(lϘTFh<*kk^ք* 0"QDq*X|xż<;ҷw%'"0fsTDT~Qft5ȣ0]d5AmRy@!GGhlp"Rـr2~251a=v5ғY>9b_JE^ZXxme앦r~tAUH8Ƚ etlfK(ƽX4=nC­3ȮAxi+D&i1115p9ECd$GO uж?L|wU,zbzw EտH)Eb, +JÇԈ|P(j)q)ꤓt\p=֡5#B~/Ց E+;Nկ+֝m)K!|NԧNz e? c&FP/q+1Wz2g)9ВXeKgao! %aK~.m/o@Eգ9; уq>**xwբpt-DQ]O~y hi, ?0L3lT MO-?#i AnDN'1aOWķ(%a}i@=t&6i)YLM ㉦Y55ZeG|\T_%Ek* ~FC6ut fYxg=pIe4feZl`%01X%yxs`(n] P7J7?h {mx}JV69|WCCV~cں{ .#sBzqGMOy0l:U>-=3^i½Ӄ[=Rq`h8Jdk.h;hժ(cRfGARC%80TdԕVtcfS9Tɯ,gKfL9 +@`햕 +~/F3M'ΑH$[5pEէ}y7BrjNPOx +5'Xo^V`e~DTeBfKʳ@xhd-)UU,jJ`^%_$ %@D9g0]k 8fpPdX90D^ծt/R& Ҭ|"/~L;aץ:8޸e??4 noT׏BW|XYӘ34в,D*i  =,!M|4P)JBܗ|4Л"Z"N婄^2!=7COaٶW'jCQDJ` U+$e"e( +~s퇵.>W7vv0s;ۛw)9گpؔYQ8B~f Q;FzpU`FS;-9@,0vKhėX} _7= =Q~{<'ڲOIB^:afP5 q~`X\ڠ8Y!8 w5{-¡ЎuZ8egu6L9nP#zl~͍ρ,KyҰ0Dٺz "DR>1r Pś0hf%#)36ڼVޢhiQGM]!nL1G8OS{~À&awg5hcM^!,I+*o2"DT7*S pؼOĒwޯ k~X%b궡F ]LABCDYU/X52D,EcSH7Nn^;*lPT nU&Q9{f~ܞ>[L%>xY/8@1=: v,>`9AH]%v7</&J Q4CF*As0Wt*[9:xCZܟM3<+EdY|nyp(M^x2g:5큷uTBQJ\B9v@cݛIN Оug✠HwWp-B*zs_b\GhvqC>NfrAq Boyk Y5v5pyN7Qx BhB埩()n|Jzn͌_%$%YQy#OХ_8oq/(\6~}sԑV(.-c̭Ǔ$Y9`RoG\l/13[A1e +jG_jXthO!E1Z+o,%l.vڷڻD# +WƇpZ IP8ud<7#sE9˟aP F=4zD5xuJ6EEڹ@i.WmTrZ> ¯~;l"^(PzγŒR|@f7f8z{lHR98r`dSj&Y;Uf’@4poHHB7 +M$q*) hH j~LYcWgtFi_?䷨rH!m{VX< W%5~5-f#L4X JM@O^~ddʐ 2b=cz +]]0#R? +0[WɁ:|9~Vqyeo€Ǔ$ap9HEm;}YɇG TɢWzTk|-jt sS\-&I8A֎X\,ln4bTױsS] +a =ͬ'@V;h-ːivS`]ԑ}J.L+ +qw؎KW &aI9\u9hթFԸh4+苌ׄ8RPWyUؤ-IVP4n=ER-aК;P Ccщeqۀ{C4Z7Y77B);P]XV lq0>wh-gSk0/Z3U.8"9q9OV(vJk^n?m'UI]k&5=/ `=N>ȿu_5zٴ iA3KoYG@1Y3ueSRj*rõ*(LI@D!>ZϺ'/yu/Ec2iyE*!AE/2FAfGib.~{ MGt/l%PEљ~Q>A]j;Yss)y;tI0eAw'ro "Ci/^ ՔVgP%xn Xo0zWBa $s ϔjeKFpLvM^zYnt0`hƲ36"Bˆx^uҵ62)ba=}GV6$aa `y_>n&XS6Cxix4|iR KL|H" Dda Q`|w, u*1QInD蒧pՁ9DfQZx"LS]^23Ɋ^ig} 'uOj?-blQA"N ʦڇ}0bv$.!]zÃJ+}ҍGw!QqG(e1D\I<棙;nN.|$;Եj 8Jut%LxhGzU \.JN8N>a[ {3'?;b3 +9ؐ|Y+?B-KdWp%Z9f +l+_ +W +6H U-Hcn bϩDPQ% z=;tA.6B?.\Um[2&R_Hϕ ݮe[K퍮b_tIL_OV[weL+O/_& [YWJғb| h]R${ʑ8*qXzT8>Jl,kv$bd+FPփijnxUn SxvD+8$ڻz+ЬT'99RѪ ˵h1EڨJCrdWМ>oI p^%mb}9ф9ѺjTèd_.5pɇ' Ya Κ9PyUЎibulӲS.0j[K R hhOc9e =\ZDs2Z2]|,*qjl޼[9i  'ts ¬GmqG%k񼄚qſIM,B"Ҕ*@Joh \씓YZƩ[\i!5SD}|بtD}mh"#0Z,3Y<vJo]WJ$TV w2IP: 8W`uWwV9}BqyH 6vſQR65{tL Uo=ٍ{w2OΑrT۬ cwoTk+4oP Gb$}3w|J +7QTzhz/#6B(=<Tfv8sԻGAsj\qraE۝NzvF~7ro# JW5 %? mPRFB՛ 'l*W4c+ j5 hMIw6iWHF*HdD$.{g +u@P̳Da}%2@24Z+w#c6a g, +cWO.6$$D'XeeȮ $  l2W)"p3!)g)LKsi>@ы.ػ?j-'"4/ku|6vl魚=\0Qh{pˣiJĈd1y]iG-Ꝅ:fU, #VwوVq +n=jD…L 0@{&BB(c#(oh<_}fx]Ňxxo5ٺQ%u_2B +, +-Tƈ+9_'VG#p y3!vշLq4Dqڥ]xd;^r棿No2p\uW +{a#q\) ^ y<*#7yOyK=DU%tl2(rװ 7 =a. vKI *I\3}dg||Z qk?zڍnK$;ĩ) 22?5 lKGfuxW:ͭFW޵֔耱Q!?@GƈWc.@Ϩ}4 FtTQa8ÎcZB;d3d95,Ot{F0sADBTW+p_Z$$*ؓ32v U w w̡v)e9L*]AD#$~ɯ!M<&c!~=>BM`vY}HCyKJI B_n~oTYٞxrtRXF ^'GTyy:.շ~EA4ċ`3 +CNa(!+*KŠs=PK,hFD?D$ոTuBRR&|D%Ā_@} N&NiGLQq?O<ȶ4z(R S9[͂biQ.#އ(s EԄ?򑬱"[|o4倥aDPFJt fKj "A +rc̃c$E-GJZ\pl.ZĹJդX Gq]"e(KXlM0_OoX%֏*̫ ֊WK%=; +$VuQ +3NDOOW-t 3~ ɤJȑNlF +Oh /ⲗB\nG@b:<5 **t.{Lkt@eZפjh!EU;>4y+Gdq/m6 +mPdFR!fSŽ>TK *^b{va&+/=.Ţ+bӕP|{f>yD0"Td{J#:#8TjsRX: KKΐ#uJaL9[JR6,sx_ES\È$L]P} wfdХ(.fխq8v˭!0 Q-Gtk5AT,G˶OWzȄ>Q7,ش{MDf?u;(%Ғ+^s].96C*^p (M] lu%U0ǢAHpVsx82.*.L2 . @:JBt[P[` nZFٚ /^4\*w[e09SZGDAf=EbNKċОF2*[(C+ǛXh +i +5 S*bbGW&V#˨٦uT}*`,P.#5b.0pE~yuR/;ɔMd}!@N^ +-ܖORy/kx@Ĩ^aZ>^[" +b_$+HOrܑ&U3˷^u6Qw]3llu7RJvF%Qk'rHP{,;iT%_P/a9ejDTɊB&ȧG^i?)=rShX!Օ0iwt3;c\+4@'5@.ҒD".a/vGx4+ kp -4n_8Teן5gcRQ2`TU.mӇyi-oa>?Ԝї `"&O$CK7"c ?×ԩZ fuϔ끁!X;XB$NOT LHmS ԻShJ6-s,Zɶա^y9"Flq"V.d\u[Ǩ21t7#x!F_Q$qxŖ^p娑2&,)H@=NHxnT`Bv[N}!mgz(b1‚~zgexY*6`k:' t?t4CE}냸ɖs#=_@Źه2pH}1WxZL!_,RjfYB@PRPn8ׇrbCy /7:*hpD +QOč/C鷃.$۟C:+|tF|oapwf +=1=6*W xwUo}ll/ B`2i#*a{[$# !|ؙ$95y4I±YbJr ?N"-4w QԈ$AuȒU|_y Lࡓ0]K(곊oӪHPqmLD ]Y +;%]!;Mqubڔ/\P6+p}pSM%GFkS#t]9Q/drk-]a/M~?n(@3[ +cCJlݍw0J"l9\r(ڑm&?JqXh\DWQ"5oϨhEE#(>iWuOPƍK\ +3?u֢$4[r4}L*~7䗋b: d[lDj\ +?gJ"8=vN~OP͆gQT>͆e!"!(qQ5dA׸;3_#o~a7,B:ƒ?=G3#lT=&7Z4E.d5ZYS;Ʊ8vkt8)T A7f߬"\p><{خ`"ǁ\ le~ﺤb$G`GU*n.@\,hWم}@dve]]x3IGcq[cZ4ς]6,k:Ы3Ll<,D]8~*1>WJJ6 ; +*ڄ T"5+, \1HPz +۱aDˊ)q|(N0!A1yl|6㠤;0nayulIӟՎHXz!K_`*C 1nNsf65\O˹Q9h3 +|HfufNĪw^hP@4(.rawƾ8]jY[L(_0*`"iF\ϷG Q(B +'x)c-ݲ `k;T+hUs"]cKYϣJ;XWLkW s@@U{i!9pOV|Ɂ~xdt,{ ݩ9Ir1 06LlpŚ @eE+ +P/G-/רBlZOz +Y?|B-= |ܷz g9 |a/r!~5٧hURaoqytP6盂3۳&csޘ7*mB!`fe !swwDT\{_߆)?C ~*9!^QaqiݿOG̨ovi̔C$_TuBYW13U1κ~ ų`вxWk_C'I0s +2 +Pݣ-|*Nex'X#X!(6Uv['l`shASƃv\g@ v:J TdcՌ~a;c:Ɛ׻fWCq6>c)=qn]gq 9? +*xqAWo">|!qgf9w@_+;̝dZ*X֥*p00TڟⱰt4$߮ NsG 04 >2GP?Cƿ1:J3B$Hs_kq[$Ћ/oK;d0_Zyd_ed ~V{+:XYtNz;JL+㽁Y;^r 3Fm!=!bv(-ypxÆlU㞝8)]9i458G%Edo~j0@8Y }j~qrk_$Lj=RU0x.YF9ļ2p=dਯڄabuK`o⨊ l'p`6B`#Zg~=sB35= akN@Y;yoFлQ{DHX+ک;q. +:xَo$9~K$frDCđlwT]klsv9*:BڑاX:\$,LcN$@j=k:N p`S%B7AwQX|}*\:!*,"/{v:(Lc\aX=a`xI#blae$r!x)KmtL䔦x7\whz;03Nِ$4nD7gY߻/*&(Q"懀f'͠!A}URy,7iuPpBWteg<>Q+z %*+,2vƧvl*U7"T b UXm U)waX8E{;|+!]Q!Y諞a^T6hIY-4W-$,@=b?TZfhPͧjm)@@&_C#bPY@oQS,qke;0 .(x9shǞqB8As}O:2 (x^DLy[Ebzbwz,5WzA"I9(3XSk t@ ĝ$Xor[MNG4W%9;]?~*_? + +Lz{ml̥E az;6brAXY +eI;A+6TioVJIһ}oLl|ATyg?YH;,|5 205T%0$jjOV *}҇jEMT#FDfwjED -rڥ}OߣP!̪F!koɅ\F '~M+ȆQ5dIZ5lﴸFPuU)8Jxo&E +o!"%+}Rj,@NQ-:Gw06@G|Y{fO JQ|"y{Q} mﬢbunŭ +6i3i ѝA@\:oi£ +[؛;QšgA~QTS=l7 5XuG>0_(q(o&TT(Ʉe9SqdGfFNF85Gjǰ_1CPBd!e"ؽ+K +HY]vYZwE bZ q-3z->\3q@^r+TǠE_ +TNd@j!95(+yW>|JS|ϔ m4?#+pOvJp"SYlm!SˇVi>ao4E(eo62*:gk:!O>gdzl_[Gn~>z +a؁)`zvpHWÑ1DTD;D]f0άv8Q0OV)+mU׹ #kPΥb{=V RKLlq7~y$+jhS a+<>8o'Q.iGuD>Z(w=xkΫAROF{+Cx0b<$`S-j(-tz0,jo 1yb#v$j +˔9# +]-=9Ng -<G,s` Į[DBdo&St.P#cdbUxZE{QMh $ ۓP&^=>xӀ4żִt#7˚ً~?Ѭ{\T~`Ebc#E[YPWkOt žj#1<-N +eJ"0֊ pTD͸gCKz 'Cs9QaeE.umĢ0H4hsXY^[B )e21a@!jTX0DL*DzjAM8xRI 5iCsUq Jw:\:)v##C{z [l︴1DEh_Vzea#*iգ.SEN1):( 1Gh A +=u@Uk^tPu)\.mϜ@Da鞣8џYq F@ +:T-ПW0z=j Dez6zbyEПll?B)ן27_ы/_wsρwo]^@gtn._Pު->LbkShBZy$/@vXx9/^8>fd_`^7a-i ŃB3Ĺ/[‰mET:;#ΣVI,{fQa‧ދP)=$j9BaU(QAmlX[s27e,Ȉb?e:I Of؀evXXVo#y#= )"84;?!B۹SPNWtaڎZ_!)@8kӏ䅋Z ~(in%`\ gUլx(IR()f -+ D f,&:;D { e`~+5h&|\+ZJ=/:홈'R "_hg)gݽ `N YFQ3 So0ք5)q{+Je<T̤D\Q3 (W3AcgѡI8L(*IBv㴽Fy`y>n0T›L: ׳E BIX?ُ윥~:Dո|b,&X#c;6у3tjRt _] #6^Mg"LX^]I+Z h4:i 19.!.w_ +ƀqrэ- 6רÉLcF̾ s NGX$.(A +vrokh jSoQ{bzL/6<3oUÐ*׀9G)1Ł_:$I=@J *fށJ@ h ! EO ҽ6"|U!-q/X\ +W6dڞN on漽d%A|@A IzK-T. }8Qڡ7a"}+1Ú$ShƼΓk)y AtͥͥFR<){%2 +g!(8\!L jE'ÙJ +%4Гތ+^6jN%;r*<KBmO zf"I{ퟘDzz`B""+˨$a m3D=e%#F6`/>̊ +J sq=XbאGJV +RBu'y圞%G1"1D'W'r1kvå{ϔ((*Zf\CxAci'TXMr%묢lc \`S*` +ꩢ +D&מ;S ,{U 3 TxM c3Ju)/Ж[ELx|8i*#=l|v.X=fF=Vv0;F358Ф56d lf}N,w&& +%{f @SB +Xs$y6Ӏ 9Zw jh ((0UaO!ZXVE7XUG;i?„=A_,-2Kpz򸷰k,!p$x9IQ,A8B_ ÉY*S!LN0{:*G{f ]ݱ}"uRq^)?6(Ŋ@) V]CF$ tRC@9k s߆K1^Jz~50=uz4P OmG7,RM&dlSh4a8bLeq)v@|SawOx*P}K'gLuKFgnb\h_edPT;ʲrS{#XH`1B;Du-hV]3m2f&vrkɖZ5bt͐+? 6*;jL"$RY#t# @iDLUْ2c_= AM̮u[qzD6'ˢp.%Q/9ר9IN"GoNaxi W#.@^:0cIqlBP̼VyEҨOtc#7Z(1;d("@O;1C[Yn׆ +.,voZWWBTI֏UZp\v vwMwjܱ6>𤤟3YS|іOPO#<"t X7{Ya ]kVn4 $/ 2L#N6ke𺌘.($z)#48W0͋-5zkJ?;|DMrD^t7k|ZP?d!ڔW0De}Me.&m^A]G4Bϡ¬MۓQ +6t~H$8,-N]]WVgrjE$1P +zTzqĮ$j(i,y@ޮj ATXlT&'T^aa@ߜIx AÁiv}$S8ϜQkI'@ڢp + ld@w麤Mޓ|fٓ)0.xx =ap謉`Χ*6F^0:$ G60hF^WtHU6ٹYODxHΩNn+(ڭ}*ٽ%4s7+oaJqi]@QO,X >N7١tJK[qw)"<4!ҩyb]DžbGiC\V |wH %/jx0k(кm@1 +j +䥈UB xgcxU(ާF|R2zTvB>~#'bt<.|RWڙ^:?'jh>O >*XsAˮR?Y*x ,q[VZaEQN5:SGl} rzHP, U58+k%^uqo5^2eu4@%ﻵ3bUe?Cv^ }?Õw +ZEC,@pcy 4cݛO~~F_ePeh?(zX 9fs}"PaUÕdGrK߯\xU_s۝_w04bβq K Oy!a;"JxaW]^r_pW;/$+}}ɞ*l>^]*]ذ fzÁHo`fE]? +-<w x(>gOBO‹"4}s_Fa0Z'WbI~CğȝCǁ@_Gm}txe-op0. Ѓ: zswUvѦjʋCo9ha:)-o|:F"?-.XSkt!7y'k1  R\"v*gH#fgnp8A;wX@ !9 +o;sCfIЮ"PorA}ta|DI΋bUK>ǁy`lM;d}D ܭu0%%葛l9#0k'1lg} q ,$)aQsU1zk;9~.!=(YvdH]^(KRňϙLzP<1y`u{Gw#aGٗC^C%T +?hNVY,Vj]찌I{u \Cʌ<bxZ) ~30aK" Z2okYoV_)? $ٛZʭBghyoj /[Wkƒ&M wUZ \aS!s"f>4*uS]`hGׄz[(Og@jc=,3*K,"sOm@Nt#,f@^ :PfQ3s&|SA~ɸx1<nVpȝE'D9[#l ^j n:'"uv)91lnx[63ih`.} +Lj7F +;Mx|g*w(;3b߮򞹉?hlF|戎ݖMAlyaEdg` t̙̿,{ Ǥkʝw孕gһvXaX fԒ"yOTdi&H6u2u`L6@s3cމ0dY`U>6J\&1x]RYЫ]^D NFl@x/h@#E҇@m&oyf| YƮZOs !hnA5RB%A)~Hø 4sDyT~(2 gwI@3Pv^6?ILKC[^]DI@Le=-x?#0C0 t+M.cgD.4 |imWʽ6DoY3OX;ԤܡmЋsѽ<  Hg,xB|nBBgH}i:]ЛcrbDxݞr%:5{nH v؞x0Fp6&D(L0TƾOd2c4U qFĺAH3p\EH]A}"S~&Zuل}@XQ 3P~#/([U7= }SCU{O]k+xs`jqnH[h}3"Ӄ>ZɒF5zߟV {p;8,wXRMRz3z}cSoW d鵑M&ړNvˆ qCM_3dժ;_U!rapӡ6#0$}<8(ɭکl;bED$r*f&_Sƭ;zĻ`Jj-#C[ {` +-L%yOt* (#%< +6x1(CD u3 [IٵqJF.П4;d-'I{H?[{'lNFJ\T!}֬>(06x㼘+;&MD°hkcA m'$T\uSi;O= )xRB4bxVp+,ǵ\ +2-b| V<]y8h%Tt,M*fNP'cpZ8DS2?#pz^/ E[bzy~GЅZ{>+<\08ۿ^Hޮ><7m<·7`4"̺iaGyb{Viѕ\evxzQW)W]Y06jADY%:VeCmN& w&oC`Rɉu8.>jEm/zX0238hn RD8MDzzBbÃ!KJސ!^20wZI;W63Z'1܅TK`bne'.|<6l5$\+qddɠ4[춤[N`8"HbWf`h 2[`͉Y/L9Yqxg7fr.ecP+fVg>D :,h؝w&@n38mWLv_/s*|z N$s2d<tGSr4S8wϫ?Yo@zrm;Ibbl 7OwS`hk6VVD a<")lLWز>M[ `:~U] u*)`.ZC@8D}%(G`_@p-' P=/Zx@:Nh,` Tfp)(H V$xe@ڋZ?QBRqmFIX͌;(-Ms܄$~ +;H6 ۱V̩h4lCۙ;LȎVF:+e#"GDnUfn*`FQ0v AS86]i[nb:MFQ=c؍?EFn6it; f[ KzSw(tAs}]as(T2l".&WVB5Zk=<He6hRƒܲ yER0VL/ox,`aSs{n}Ja+jtc 0)/(7 +mNp۱Dg=bD{R->680!^SqFsF]|"]%Ku~>Mt]z:1Y ks'"ZZUd?܃*g,lO3AIIu}6o EBS(֗2:H{h=jVgd ̈́ +HC)q댳#<<-#'bTS$3a`MPBѻ52և:1I#oB<0TUHKADC轶I  t3vJ-qƠ(!.vlÍe)e2 h[<+h4_ +T'k//Y-8{uѣP?am:Uv{@a^e_hc! +2pWyURPe$9Fl=^7p8:kK ؍ d4qr0 a7HQ+GWf 4>+OiekE;32 (22-ݠ[tL`*ShAnau:J<` |sz;X",`+Zk雌PųIS- :PJR#V?4QA]݈v״6ؔH9UZgka1`3:2yAxbt,D ;PRHеcrg5P>,wPDG9A5Yp[sʏ iux9fC6$D} C;JvuneD)-Ii9>hKA9(AeWJ t$>]kf Rjµ+ +cS)+jd:I%(7[*oGlPWp8?F |Ohs|vMI "fR2jRFnmr_cd|soIh.JVyJY< rWrGv@Ŝ|_Lq4sX@ՔSl 7<r2 /~>%S pB^UkﮭOgDdjTsDԭ!~~J & +Q:cwp,=.B~sl +-9ӑRzlxBP{6#bSXГZ vWصhފG +j)pe ꢵJn9lZϵ/͑32IF[Rs5\Nf3)@C G5iRL8a]2_m +`%\Y"Jk&qhʔ3ܹsD~eRkJǝ{R1)Sr'"W;|WrYxm։Ʊ5z@EyIjA2LBw2E|IPZ!e &{S\J'~UR444Pxy79C-oXW QmPŒoRpm9DwH]ˑrۊm*LYpn0#JVZ>Қ[w;W|fÜ=pLGSE Ս,X->!h&k Lڍ_NfF٣3ϠO`r'ljzZ  +kPVZy4T'\!'){GϭZy 2 +u\$z=]TqS*OwO,Qǧ%3rFk6}Դ4Ck4qx`I~SFmFԹGcH{%_v#"Nʟ ќv<PMxO%f}{QDtjLBĈz5>A,Wr}GݜZPH, ZꟑC`vHF}/QSp̀ptaADi3SPũ d +ؐ|R nB;բ"qIq _(|Nyƕ'qNQs阢Eda-__6yY@e]B.MFd H&w^=o67{E} +N ,?x|ga{:E^zXrn z=^) ɀq-_F(DvhV]#l?tGk_K^ӳeatOjs#Hf.-a[1atG|3Kɺ|D _W"hR(kDPt?[Uw9_Ӣ-p,yqVbPp8 $3v;1Ee[ &H"C2c^WRJZ;iҀNՏQ遄MQ+l"_t4xOuHW k[A1 hSr1h M@vhG{YUX]EkP|=>u3VѬ!ϪD.8%V{z^+]V[VFpKn'7l:xM@ >TaZJp'?cXƷE cu@Rtw6U׺`E@jLUF#ʧ2O {ץs&'CH}~S)6XV 0 $_`q?qfرVDŽX)MK~zY>_((,4P/!f)͛[(z)u t'BdW|( (o~x1W/!sK~|NՉ*ܞN&-̤ȗ +SCm'^CSߧCqvla5@EkddQTQU/+O5Vٞ T3ޘ>@ꕴ^ yGEO wD=cg]U-jmifBbu?#BJ{]LJ6z>m<5ݕuX;)FU{ +UЯh`<0Ԥܷ9I$#<,\F2'6m4U|P8x'9 9(B*3`H2H\RrdX#B=Α-l`$l<|tbԉOߥ.VxQ*4ZzHCQ "IF9Ӥ=`MƜfcעkw6Uց`8vDV%6A8^Q[-ӧkOȻHWsT723.1롬[%i-עaaJ5j +i3jI Ut_|ї*aѵFIp:QOtg9u>+bm-ⷣBAEi{h]c KCSaG %_jCZ\Pxa,gN]`#w;I2"]E֭SKr` bĵkY$rGj!u7yO雯Sntvsn}FȞt H"hJUX-BH~d7)fVW5jI&LW<QmZTy}i_1m!ާšJ +0>W!ٴv|LS04Pb`ܻ%OX9\rhoRk]pI֓Q?=ӡD)cKlDXg5Ifϧ9|561# 0=gⓚ9Q8E)wZl_*)Pޚ2XSkok=0n>/` dθ1yNe$æтJ;ͨ 3s+bxeoa\7ݷZO+P@:Vԯ=m[k-/ V(߿[΀D›` G܇6emS$xb[CﱝHxTcG4& !T$mi=з% 3#L8et"$ULwaXao_Q&qY40EuYaʊ9C:{"D*rBNjňl{Ye5U *qYv*72z_6BuJHQ?#r-r!o]cOK-Hg=`.0|=0rF2c_ a*C;%  3f}xLS"4bEٛ>%ڷ XSt"wӕrBH1"s9Suո3zM2cN}!^P>vd.CD9; ;O*給Sd˽k0=*/%ĺ؝h|=X"4iY[XA W+Ez^TotlT 'JV@AgD/UJ߮ ?ˇMm#֝#ui,)yue0WzIJI/Z6n+9"(J 1k>!nfXn!5ա(pq@np#4A!:^ n/N,/@GLVlչWZ\Kuƫ^C) }FZЭlSi*YC|M"C)P_'mK -lK<6Šis˯Οol%O-E|DBuӢ8 0:NߡֹqR58h᩺@n!PI% HgK7slYL&Dzk[6JwͿm5lC).tsU)MwIם!3L-JgZ2eȈTzOh=Uv\`̹t@Ypz"&eah𣳾 D#DZ>C,0"Es\z%Z,UL:&ǖRYxPUvTu#aۮkw" Y;TkQg0L:y?"@7iS>a3DAi>Ң&4kCe4?#dγꢀ9>Zr1QtL3:Zo# C V=% L糬4uR PX|  /F@i2[mj]5qgTB:Uh|Mܧ&]Y|W +7 |Aݝr}S߸*rE4S̕[Cd{٤A;6HQ~nO~eڐ1@bToW|>40|X'D@ c[bK23r<+ f9ȝ@ k<v\XEo +r.Iҿ?Ӥ wP"0~{/9Pk9`ݒۊ{V_4ixodfde4W)YsY@Ќ&N<`_>, XHhgbQ"CF󉜠Ī!Rt֕GӋ`V\wFBÓ:6 + TAVVS Faѽ9 +V)STEwW p>*c>GFv'q'ns8 ?];-"*k];Yϗ)o;v㹺E;Z%Qɚ5ǽA%eD[{1:Ւ,zIki:Z^<|M"Ԋ~04Uu5Qq-) wWgp, +]!U5y*f_>~oGT܆&d( ۙ68v3cRĢt {T"##2 ^lS񧆬Y-[/?4P-c " O4.vץ犲<¶~Pl0|$*O~hAaܶ;3l 쓋 +5.oMnd1vbr6wP,4a;Y6,(`>j/oȐ MOSRKoݔwς]_ZRT4i?qH)ls2[G |B~ӂJ pޯsݫZSagp7P~nak;#(t>{fiD7"6>yFe4(Z@|D\g]/fۚ98 1l:YNV.ތqW?jkQѥ4)gM w[=α_ww}nw1%GCh,i93_Pn6ryAbEm+cᛂW3'rh  Ϛ#="(Z֙N=n~VpӃ Lс$VVxǽ9In@*Iڑ4llbVrt +>\׻-3e+Q{Ρ.F Z񏌪&$vƮ}b؄+¦hVóD))v@-qos*hHSJ(xť_@q&SìkI6D'2N hO(}b0Xes5)YayYT?WmՍ75g7#Os0r. dO"IVkBF!2T=Jzn!κt>@X/((*.Œd C{;Х: ip#БͯrW[Z1fHQ49|క[) Gg< kэׁý2ԫQX4xflpϾHr Qùd0z?G /gLi>µx7|JPӳ [7~.?T7̑#. NY\\|F iʙ?h^’Rzy 791|Z!o3~^ILsg>>gG4W1E$sOK+ʔK{"vr /Aб~1W#B}Dsr)d\/1F(ZujiR*I4(^o$jf|l+B^9Lx]#Ȳ(֐S$T+#w*vE& U w!Ժ[_AVSP(75%?8]9LA; PGs)3{C^L ӽ z&uO +nm:! ӭI†;Pl OkȈ?&V%4 _#BDd伍ϓ"ï?^#_ +-Y;?%9Guɓ~F蠍jm: _n7LuLI!RԩoI|$5Hm bo4Љ?A3Qqg{o:qd}-cnjb+=v9 +yM#C)4{|j?dd$!;(BpQ颱żQ\lօe٤T\,,`XЁ f=]{}ATX!JM(}FS/#J?kF>W|ed(~p\5{`;Z\@D ;XɖA!SM>*`u%C *\e7X :z=q88݈wDgTW]M{WA);3}{؈Y+۵Tm~R=Qv_=q繐dHǗq.h1?= ZĠw +-e;{Rn(?/~#ͮе437·orm!&l;ϲMgT +´a~F|%Ґh8t\@!_Wcx(1)X3(em`KUH(p`>uO& +/1Ngӣ>ꉪ 1'm|6[US@p aJzS$n[85 V@/KTbY[}{>2fܔbOS +p3VA~Fb"Җ@p[o5:N +a:GO1TcJQw# wb{\ͼ6O%z 2.tX{,?=1?UꆑfJlg/̔ѶB!?sLÁVZe_Q_@ed2X!V\-_# P?i[` "3~]|) ԯ,SC@8\PROV`FN)ByCq|H[>~=a60$!?$)ܑvπVĢFʺf43HM\jGfz0F}8s,q0oѷ#MTbaɾr3qW_jljlGxg#7|p_-<aUWv^;lW\.ìiΠ^b[傅n/1Q8&tZ8E%˖z, +0žn-QBEd't}Rvw)2|Wߚ`@ύwE,k+Sگ^1vuPD_9x;:CnѸl[)aw Ys쑜Q B=!ZFL۠ˁm ,b~.*wln?S _3E-!C͍uGȑoP d!wl8> LTQRz񢤂 &H= ڊF'y3Z5H0ߵ^~J~0ԹMw5,eg e%x+z|7)< H6.ew9zq?m}m-n-:﯏ "%~?=k7ݯ'-o??w??ÿ?/w?~ׅh?xwv+Pcr hLhȃOmmJvYՊTJ(ڧcPYjԵ|]Ҭ=vn*/.o⼎ק?"(鍀أ5R"DQYg׉`m17:+ͶC+c9jDН(C2Zh|Zvl `SZ^Y5\+֖87]"(G"ĄpsF w^9 \ /r8SY!."r0P̮% nP֜ + 0d8IUvENu +uњ{x֛B-IO@Wjᶕ,/Y_FyGEnb 0V_厉𽠲Lo4%vFGj%!!d_V+s3ѺNࢍFt ts8,nHas+#-`a!6mG;qfmW=*e=lqpATa#'VU4J/GY(㠒iz^Uh g.:gwrWR' +4hPO>zs ۜ*3Յ33H((8@\#]Zvx諞YLccdGt튇J%Wjt".ь6o(̑DI'ee`%DB"aɑ +\GCT$Uzvo}Zh{݇_q)m=ڼL{B3W=$5żV4*mʛFQz/edt5H> 04_ p0ͅX0`GN2)&偮Wxk zCo:`!|n!l.!M_X~HȄq+u2`ZQiީV7 +C#뱉sY/rρ3L%b\Ӣ`x5ԜkkNIM~N97glȶtO|w[kzS_{G ύ'Vljc4RN7dWg$` XCv#ʂ|YŇgrr{n2G>Ze6ǡ#;pcvglz׮2ZC@%8k3PTqXqkZ{,8JjB&Z2yޑF'|Cʯ})Xjƪ+ܢ/vn%l"(`!i)#n -F'UxeeÉ ̮R\ +endstream endobj 352 0 obj <>stream +FԱGQqTe^!*INN_Imj?jbs 4CuQ Ij]= cS B42bcA"Ma-]al&ڥ-[1IUt Q3ދ߲GTT뎮")+8Kzc6׈ ja)ck:Qn#[DPћh<@mg`LJԵ#]|l`=W6_EV\E;#/VUf;Z psK}ί㏟]uHIJ<ȯKbcQA@-)+[DN.+i]8P+4Q t(ILj ,g1 +XGuEȬ,;}ֵejD+sX (Vأ\EAʄ?R> !&G!H;ZSp乎*2O ٠[uO2+qH0UWQ~`]䅪k{16VF֟p g<na?^ψ]hlNc"hDm +[߃ڤX_9+eJzl-";oEA`jj3F㱠-PW~ (̈́BqY;_рHQ*l*k)UX>S]e-K=X^'*:8ei]t +(oqh|:JrrlS +A^{o@Ȋ鯝3֩+u Jbqܪ3b߶.ʍ1U[ہQrjCh_0myN-La}?d#݃TTx 9;i,"5gx <:/KHBl&GH8Y)!F5WQ3s k7LB?]@$/+l;e;eZjlOTz7qnPSɂ`XŸkFwgW,YJvaػ͐ CN:[ _W`8@@fq޷"*b/RiT*`(!'CPt#I%6{|F쌤Ȝ5q ԗn?m!`ņi)RW!Gr?!\a3Xc*: =e_Dž !.i|dw DvH)w`cg3A%N+&UQ_ ?5*4:9,joڊT?`!.͊$aM/O%hi{~=P\uy>Ώ(XVz% 8M{ + oW=R5|=7{dL L_(*pjX3Qo/JHQdN*6ەvz܆*@G5-ݠEi?ESʁd`9(Gϰl*4 i X@|DU~T˥(:%yqECҶ1-ޙɕ21Uլ &+gZugQkVoidi@և;!s^ZhW'bC/u̿SNz]TVN'#,%ͧխ~}x› g\S;x8ҥ>~>U愌Ҕ,ODU\"b3)€]8y3|O mˡ(qƼ>x}QQD.k@EWW \qe;XJ3_~5Aa:1'=k +Hv=[S0SOSuuBhaC3ʦ<]CQ.;ؼXI~y>=FtN)rG(^:'v~nooJ#=//Q p H)_j5tX[dBX9oGHr +W_6+@^6 cvG,‹12+XJ%n[wZ1';93= BؑsG9zˀ(΍ݨ6+]quqٲvO2OW0~o^뽗>^z+ahhIRzֿ{PSk(q?,5C LT?з@ +UHעN|~G$ދMQ<è%:L'|lFW]UqV7 + @ a8v~`P[iHms3@ZMdL!KWCrUy?0&K,xLsRW_nG9ޟ3DF5z{% b#0ְSVft,IKQY +7 Sq#KWha=+?#uحw{Z«XKsaĒ&(18o?Ʈ'2 M; a~K (`2Qt뒲.h_m0% 4Pfp[?ofR0Xx]eDOv#N LB3V6Rk=l<0?DSu{#~Zx{Q1ڞ3숴^.qDkaD. 2#3sHQG}5wtgEec4^!ƪjU\z/bD ~d˜CnF=;#la +}܏{d'Ꙫ'4mm!5D#1l2O-|gQX1.3)Iќ0s62)nOWz"ڪotJ3 *;>S^L`S~5ׄImTT;„T"RӧD80`{N0{5wx +7ơhCꍠh+*q\AުMs?t N7d؃S%%3jFČ!2GW~%M%VHeUz`P㊇:/3뗻' -G9R6v*oZi$ :NI`~ ;:q9,=~U1C*gп#TnnvdeLWnv{G,SLGԬ`-*H4:l$_F4%ԇ.>.c[aa 0T"}!S9ʛZS ωh"NNebY5c?/\&yYGoV \OZ*my,!Qu; 9G .4l1Lj@Fr}qA\s* 7bW1Lq14"h)-:r.EԯXk :vWvǻ5KzcUf@QݣߥJ7,_guj\Gp@9huej1i_+s* r=|0v{Hd㛮aZXW#byYPл\]C{@6doX"q%"|SO01e;%[ ӑ}4tۇp"-bU:Ma㲓8]<`f@X^kBֳG5տi9 axd)y-ʈ:$!+b %aGկ1/3KZq[6ZbKGNFj9OO&ܞ.+z\.֛(}ڜ6 utI]^ Ѩt4?-+DXAa:W\a`v̓Ծz\*FDDyDў ̙9:L!q*qj5W"Kى`%❂a ƿ v)@L:Lzj9߻Au3?E"hZS>K3fvjL~§ ߣ+x<ѽp>tU?(Aѷ5ݵ^OZwtp̡HduTsnOۄKrܻҕ|L~(مEFi7IQwǦjՒ}G(h?u޽CVz:_Ah$箭 ܑ{*7|:G0WN{~sqڶ [ ەAX e@SB=\<8䒘W|Ce,+s`[{1h(d+XIc-Γ)(@Tl*Ƒ]gl9;`w j &]z+ܯO3$tD;YVaҀ`kX%ZEu}J 5~8֜$Ղ sU2G 0ve%54J\Pml!#Am!pR_dK(S׼fͩZ d[R3DUK@p1iE 5+~˖YS;iq/<}HBz\JMwN,k-wfY+.ȍܓrh P2p׭5g9 /;*MUMM7lkD"|M893|MOȞ~ R-jR{啯wR4cE! *#$~ÂhUt;) :]d7{޶csKg|h_ ވ< +ЌLۥǪ![d_;U\/T`>+eBi!7Z-(6c:6$M'$ 8kwĠgF83ƪuZoyp#F=ߚ +yZ +ar7 ԠUߖU@;wS`+gy3ߒq*ǡ]|rH̼U TqMzcN`YkC37;’˜pMd > 2& _g*6"n=ircJG $M4U&J8 fp !߮uvf% GW ^?_"Y6E-]{޺+Kt.R77Zm\px+Gr>U4'ӣM@y2HGq%~sI>Vč7)F:j0X!_*DcN](L6,`#VIq%3׃E M hYX+57TE>Kb !KSx#Yk{QdAv]n ATBWXg YƘ$01qJ xU0uin'Ԍ9Uݯ57֠wu8t >>! a.rm` +_~]oŔ5 Bxi5Q`*`!ta7eF#6s6,EH5dux;(T֍ES]`Q{c?HCwnm#55d,v޼SUz g:7؈L9㏞kĔ֕&bj1zOx6RzpjǕ) ZW1hddKxfY+j}zPFB  x8bd<0YJDر!4¤GNË1UwvZ\zo3#Tp@lbFe)߉yNɟ6hrXKFPz"$L +W}aV[yё;ǯ3\>htN~Y ޑ=3*c'Š~lY5ZKxŅ< vN"p$Or_v,Г$ ct_[ih&ȧ +98qt:>zw.?Э ]k:>0(!3t´J(hEUQ#7sNtT9>-O 3[|b?~?Cc?pՓ*0UU-H<*I[ۜfqh[mj4zs(aJЉAS\uBSïF@VTG<*_ƒ#z[E7E+%mX5:GشTRi5'׬߇P@@Ee\ƀUxػu_Y,M J $Zu+ϥ6FD$M Btk8hK"J)ny\-)ZX5ܰx@-@ -L9u DĭwD.)d:/))iXϊĪ雴TUFِqݡsɷJY&%*JGFn ә}P`anetմo0=ԓ&tdAa{y*XO݉H1S6MM]Ỹ^6" + >t542O: EEr{u<}!3$y%p{T(A &:Ve+I+jg&u9QӠ.h\t`\_׳փGS]RD$'d'@ZhL S,t>13*f֘#\QPqAC@f2C5XR";)gY)&ȴ$CP:ޡ_pG@~ݮz.fj2VaDa7UI\CtZ\BLuŞ0ݬO>l{La^;YtdOXuqL`hxmGDA;L)/h[:DߔQf +Q2@o&t]&F*[(dL-?ֈ%uV{Sjk03;~OV,?+fg4^ŀUC5 +FĭpDrD71J-2!ۣ wY"UzP2GġVqSe,"ȸF 8mYxZs@FI x4zU`)UP,M:7hg*"TMv7%j"r:ò С$ZJ>kȬuǶ0zPu1ЉPςw ]J+z'Ft2<#0t2"F [ |Zҍـa݂Sت,SS_7ᛄQR&^ɞF&A@E- Gk*e. CcnzD]9 !q{VGD:Oa bG~"&R)Zm +HcRYB`B! o<V+\>Wt2p/N`;YJI5֯q5*=2l# Bq?k++2c +|< 0&@@؍膼R*b [bwc1*_a54׎jV +}F΄OILv-XlHΣi1<Z4*R[ש  J":HGelJMo9Z1O'~??0x?.=}'H_gSPVTB6";2+*VR4ʫ琽^Rq|>}UcPu^\ + OE >}!̉z>]mg{n  +[7Z0!,CD2eсu:Gqsn3 q>Tƣn!7JɎX;!$Ֆ3B%9:ANqu_sȲBEmpFTppOaATuQ Tpb!B5փdA?Q%+j[kxKW )P sx$I6a6]Y )(D_c kض\x=1&9z;zA[#W<\6tY)]3Wj_GP:\š8PC~-GLޚ3.8Oq,',f9h.1#"H%+/KhgVZXHOah +]{$EYa$։7m;1R|P+0޷;BeJLQzm>X/ +sW`?)֩WU3\ \FX;HQ;h lT Wμ2%6(g0ޝ#% OHԦ> U$8֍?[wAOJQ'O(\d}9Q>sXPl?uO^w7xOGaeEx H "͢BՈF +5+LE1v8?&̚`y+¨="k%pz TYa;Ř}(4+b~jᶖ!~_E!]-]kɗPBQR 8Jttd"Z|LTrO)4sVvW9ΝSvE;h$=U!ghS1lP1#E9J!(*h%aI,x/WWL~sQh@]m`( Wљso E524pݻ֞x5bXM0nV+e5CR[t/o՝GDAjCaV"m$'wVqjD\؁]%IR8S^oͰ&8Q &"G4f#tvKZ:yYMFsZ6jV].zrpO>Fl}>N@*NV ||?zc!F`]0 C29kB0Ξ> F +O {φ<+yE;96JBG"X$?6 bΑP$J)h+bjFDHZ;b]HD<|3v6WW +8Yni &e>G#wCVD1#, f$} 2#΀ + ӹ=4*- Z2ER wy*r*w9#P{ӬՎ8H7Zĸ+Ơ*"05ܲ+OAԳi8g4څ5C&`ɌaqًynF2K1(҆kZ+ SafbRj-$T,vQ]EdB*tl# h:|ô,TA32gpEW-Lh>TFV,\v -Ҍn@AKE7<J`$7Zp ز[G"(7&3wFkrre.P7N.)`ۄ@cpMfs;r 9lȔiDCYMF#pSEێRyw}ʢ[ Uds;72ć@{BӱضpwpS,QIj05=so`=KR~^J(ֻ#dSS U&F +&B0Bfݞ} i,IxLhJܻcFi%A 6 3 օeX324ƭEHC-{LYKٙ:O=.aih-2oWɡk +x3^hd'I<~n#.QQΆ#FD2b|E@D "]U'jVdk=eu{[{C*>g}̨<zIu;{)m]Y!)P(FTyhljWDP.*s}KdBEs]eǷ]Fl*i7XE%&@u8& Zc ,ڠ;r߱pZO$e~oaoPNp[/s|/`PgĆ#x]z <.7Y_;E`}{J]ؒHҷivC9b]U(>=G_FwslЦQ*m&WQbG<İ-L\΅Y:?f(9Za L$Tv)*C8C# +IoV&k!=r1 EV`lnW0 \M|D?:DZʥX>B8& KQ(SL*]褮 *'!z jىe|w-6RH9 CP.rwF’8P |;g6<wgh iA'$"SPls{-)bsNn2-nؔ ,AgHv}nnKQ/$10lps؞{ m<o6S6!.1[-Zᘁ2CH 馪=]G7Pz<4yF셬'F{CBd343csNY"T \D^-veo;^LjgdX%{w7&2|(6Lfe9*2 %=N '3,;(Q46șX.BeT>]=};:+Q(uEQ=&Nz8ӓ *ǑPՠ[ܒ1d +a=ą7lq͸"}A Gyvk֖nOg0UgW5TmV@8(<ЪDtV~O75hTed#b-{׬E>d͇쳵g`= HShPsJU8d8MOb +kNyWWcʳdCy;YX !@N2)Hk|pGZI\֏aŘn;}v"۟UN\:vr6gWoh۾!]cz_^0"[5xUVH/SQ)~^U1'}jz@{MGtR@~ ""?Fy,BK[\<2yxفi[ n^ 5_Z7S +@HbG%tk+fbyl@d1]qmeG9(3*mWd:d4~|e+rȗ?y*UEgr)6d˃P>zD4OAk/A_/w__}|>}//_YϨw! +ohðTB7qC;ըg h`$̎KkU%0D[a`* ib@6%1%,򦤓g%+3W~P{S_C֑ŏ ѽ=<Ǹ +, Yϯ(`%`ᨻUחC2sd(ÜFpLAG^77dL Y*=Yj[Vh(Qx װ=()K< {8{BT.oELͭل•#h}_kPLՐ vY5>r*f q!R;\4\43΀2҃*xjȡ,Zn[K"_3nuMITgǙzMo(fg) ;.cɆTTt_{#82dvHP U/Vς2ꛀZ$pX]́><]A9=,˦_C;Mk^u' e)n8t.TQy"@}4)NfA%vAڮٹ [0 }9 9]6NEИz#ƪ) +b%8C\B?nW|ў"m" U<^?G`![:4. !12>U{8I߃\,A6(f kMxmT+ +A$ dž֢0+K[\nJ[5m(NTzlscR.Ī Ok j` ٕSr /vjm#Pqg)!) is5u$N`w|=w>ҬMWO,[VG<+:k E< >m=XݭA<2{d՗-ܣb +!32.@(=GCX #Ыu +2節myIDJ8F{k +?P;ؑq5_@m$@i# UI.5R>|)Mj_(,ܯl+ +dvw >#VK%zvz1+JF6aq! u/][j^L,{VF%ñj@Y:ߠQor%Ѐ#"cpݠu9L 8*J3uß3KHǪ1Y3tc)?*|xubWYESY|̘ZO,8l#sbRVu8Jf-E6bBNrc"*xtGu9*wE wzhOr(ס2 C􍑙ʳFpMPτYRZF9~"" +X-=o#XoEhͿur"\CS̸:J*3FkQ *dAQf#_3*=kYְoѺT w7`yz(p%dXݱf6z݀+O؊o ^owU5Z˃m3Ӟy@8#fV>>Fn#_YfFCritF+%ұ/s,A?4< l^0e2Ǻvnf\+ѽ U裢>(;Eʈ;.^kwznۻnȚ;ȄJh@M't^Sa6|@DZY<.=R֝%w۳Vt[zB'g1PLë{}mhbCXBDEUSלcܖL@?B=#Q4D{;'jܸ='i +u(W#I, v/nI֫Y?^@fġm5h'SPGWEB nK~шӠ:o(akX[ !xh8nak( TMGwZF^ Ӄ@w=PI/qKyD)";` Q7ߦ:Eu# emNßy jecAƹQ?!#:cpLO^&A|L|~$ɐ6qc5e,uq Jy[hG4 ם:koJY%C.땢[Zh͈gߢtk fi;aP]/SGHh`%2Ιǣ(TŻ8T1EWdkV7t`xP75j .}0但ǛIvAҎy+`ׁ@NQD;zdJ|}:}ZǶ7pL(6/F}C4* ;6Tq}9lt*l̼ L2a|P$Ҹب)briq`xpsAAah1L1pT}NJ^I9"^|j;I/MS&EDj;ZӎPZ8à+GlE&,{{?b$5AC6u@]D֝N4;]TL#^`Zy1WB| +Wć0n%nV! P'O3IPQO!G8ۮ:|-0Y]i{B͹a㫥фuWEHϫSx ?az`|O7]c8@rV6 H4Йj(ε)˩:ŪϞs܁W V% bT"pv>6!i;e_ۍ?5hIu";iu1%=QGAThޱ=(P֌ЪCY \SW)l:03V2*%n@_M!xxOOtM_ +#E ^g䢼 +:`H%q[L 1OKj- 5,>mɳ {DHDv!x>59.h[W3/9|Ia?0wsY;8k2p\?)gC{YqJ=Oyݡtv!OoT$р5<)g^"~xVt@eδJHXiX &TFʽ$8vF ':r(C2\ b 'Y3rs FO4(MZ܊8_g6׍z#HVC4zia3w2"E _)QVp=mOaejFV4OU[,z0=%èvU-"??hfgⱡ S +~s.BҎp Nkb k@Qc/cu1&1@ "ZNjT<> >~JЌO`pzRH_bwAUBhM6ZO Jd4CxL1̔U}ٟ\4H:(=h=J5zcsK9u#<%ժ^ySw@Wk +iS\Ji>oׅp1FV R*q7m$# V(a{$3+O1>EOIoT,d$ %$&_TZ<@2>FQn,T1XkdRZ׺Pnq(eq(E¬%' 1fh: Z.!tCԇ"T.+!㑤XP @¼ɚ@',t%u#ˊjTF1i]G Cʹ0Rc({5ސC"X%#g,* -" &Vtxmuunӽs"5諬xoB 9SET8P `*((+e%)Oq&uPڠ|؍5 1fT>ZJ`u1y a:ߥD"0"v` *}PѰo.VFڋLa`P-5\K?a@s,vA$͕w TE53ݗI3c%E0+P<"D1JQyDP)P9 ֺjafbA)R69B]&$R&f5X@]#M8lq$+dFpcMNŮ:$Eل)bߡ<LO5ip> u? 7)D.<ϭ!Y}RX)F۔, ,eYga^fQm]Gm5iF.1/P7dge.e@B9@΢8S@eCc@&d.N\QR!}?L߷}BGCxj a, $/ƒmLJ|\"&و\)P1-'qSn.n#Tv;@XB VhZȄ]MT1#cEI F}A:ށVRW} [OV+KGc."xr\M.~s%_yz- ?jʩ9]4Saz,rHKb޷ա-kA*lek7 kF^ +BObxik.R*jʽfɡO#[O={軬P7Bz*(]QFΑ cu*8hs#ב(,mո2VϴU$w+rZwE6n`fZܙ!RI6. NӺ?3 /|2^~uD|؊ e9@{ &B~ܥk}>ؚc 2-L2; Z [Q gZfL# ++6tB,1R2xO;3,tBTC,)B-)i^̏aU^JiWf㴜;׍zB_4W@{afSASvBG`'M>g9-t 5RY7P95X(#4B'{QF@uT~_nhXG)`ԏXi4  t\^mg9f/ K^U]tOϘN$ FLdtGv%WJ@%l-N]INuB\i1UPzuPa" zpt8S!v+\# +fY߇8QEp#};2 B*聥k}MJ/#xSeؿjQLX()ȕU5*x +ZϤ}k 5RUk*5ȪXx%M> g=l",NbT]lT)EǬRUFA$Xzu0ZUWq]Zgq`Zun/q0G ?]@i:v֫X XagR"fGmlMukUmlvW5aUGb :N̜t{2?\ɟv1" `;hL`z+Z)-A3x@@![]5qf74%9@\#N+خ`O>٠074 gheŇhH. '$7oe6/ECٞQ[#kR9ߗSxV$'N/}1٩!nJk͕#u97aNJVZ~NL1 H Ș[)_a g,tl-TH2 (VOO]qsn [mTkZvxݢnגxߧePѬZ95>CT$xn4܃^j=M8 ]˺bT$;k-˔Fn 2AeDгS#`p}i=ԇԚ5{K3̯*a?!)kSDNS[ }ui-BKg  dgų`oP0T&,/ig{)ZՕazmXK2tݲԝ:EsB |sbƄ):ri\(Z0%DAZD^)_7LgAX]Fv{wbkCϩFqeDؠ9 + 8:#cgnA,d@LpԍNK@PS̡`=J(Mq|1WBRQ8;yJ4XsL@ ̔wCF_y.DXVCAAIZ'M"9P/R0Qm8K UI("Pm"2eC4yzZbF5?ɹ CORuPkc{;<-FhT5H^[bfkŒ"(Lb7doZ 7!Bg?.@>v& 7XI D!)uI~;+ws!48}#Xa}&9Obi#(00a£8 ]N%XF8PGa=lQE5m~]I(5F +" +讁2 V^ +_RREqϯ[[c0Pe&W@٢_*DBaAhCNr|r(k,s'i1 ~aBK2KcR*E "$2C'ɤGx/hK%9 -B_/[1zR5\ҔTe0= +xe˱;;fyk.\ugb ;j([2Cm./I)E8 jGxT9 @\I vLTe[ +pF/4IW (i>cgeZ;s&Y"UФ _r> HQ^xH'8 +04G3EkS7-o'$AoipUr8.]U`ʲԠfH樜ɳjrݢ&Hٜx8Z9Ɏl)2|eC6̗7Fc]Oo)j o:{k(:hn]$ >SX7p@{% +ZkOqqdџЩk Vb~}#0zAҭI%Sn3ddB_3DFw3 "\R3괸̕lÒmmQ0 eNGDs\Mq(q<}4WHdDEEZ$D.6t(]iL-ybdKXԀU:Q׼_iRk䋀ڛ +Ŕ]|@0~W)3#"Εv +#%=֑zD7HxN8dݲy يaJ(u >ZlakCbZ׾'qV@Dx!5TVVTY/g93F.l{""m(>#[)SodO,HPdo!YCSSdLckwmd-\ےuǃ^8co}Sщ<'0-~H즀'n8&5r +@nj)9dףv\(iU7{$& <2Un-Q1$0u;5?zc춠OSzI0Ӫ#jHfv#l)/g%jvuyt].[anQuǐ[YTn< 5PP=ՠBx)ALặ=aˎǾ 09DspEA4sC'Q-dBLQ=^ו,CVigۦDD2}!0Ck.Bf*i +ЪM-"'%L=lQMtЈ%O5a!6otFjZIX`iԘ\+*nϝm !lzj'SE9 㥴 +ҷEcir-v+N V1Cg ;YAA-Zvt[Z^u*P"> ȱf3FluklIWq9.%z;0jY,Y%QM+H-UuF`ZNQmVٹšVNb<[CD(@ڊR 8ZPk KU28~نU EyPPUp Y2]?IR<8dЎiuOac$)Xbu墺rq(A`̒< @Zߒy2XN ρC j&(Wfl0s#AJpF'M Xav"FcⵎuultKQ ę ׍14ta]1"$k|LQ|!kLYOtw0ѿ(1"zqyc+׵ھ*-ػV7VzϻBi+wD5E@=00۩]t›5qVl^##~7shݐآ*c:@ʕsM@zwJhJ2ֲ,)[[PUh*6 +"` zG<+;|8!>-"ȳ-IufFcK ֭pՃvg>/Q<9YRVUz.>vD6IgXXk#ɹMo(zAԻ`ϰn]O{~dBݺo?rU1tGv*%( l ^Q5#H=ڄLֆUX6~2%H3[\VxGn5ルө/M0CL(ͬXj +Fv@Ta>dJdL$6kT@=|Qq356sJS@ҀCJ-HA5`޵(* .HyT 1# pzAe~C@\p]b FNy滯_F~ztj8jBrlV DpTJj"E5%܍pA"@3i B2onEc1A# f#],æ +x u#Evz>Sap VfgdpUu7o+{CUfADqCl`3&'- Fty)#ƻa,hEUSgYKt%xy9\ *& !'7t% +ah^ `Zvl|m*C":O*+#jh,>CY~s~8& H9UsZ[>NG!r6U:Iso(9t]k=!boPcيR>cFY982$]I ^rG +jNYeYk贝 ҕ'"y<ު3:S+ V&CHL*S`₢~mSx| +]2 qnqe+*JFj'XSU4/Ha,dm\aBPߋƧ|)Z'$k@Pr(lšz_dC2 ;٭R E7M1%aĥoG"F&TQ3 b-BwpVHyG,mxLȍE;oS4]EJ0g8U&E(c Rw5y"*4C +3:>U1R +~Pb[8i%7H"`|ͱ`& Wt/2FEZBuړwӣ^Ey_luaFm?χi^CҜ )8SZ!ޏWnU  +;__#]ĎxQX & |@*)`H9%P" [`HO2[O3d2P!ҨC,<>P(Pǣ;;gfͷ2p6[K s(OZ\s!c^Ac-Yɽ0CU?Ⱥ>&1!aBo˨-HSpm3yq[™'!&[ %x3)>kvG(^0#+bl6J%m:.;6Z,d'_%Ajr(؃|uC֘jTCqWwˎwS,}XVvO!U!Oha׎,u .):*镌 p@N5^Q%"~sK&aJ9=#=kx2@ݗ +[~Cgq$:,Z,: at @nUGl|5=5Đo@ qnV7(G0;SϾ1=nmնn`˧XըguQ7" |=wV@)kxlFFJbiЍjH5rtJy! ЕфA!{P1/M!!3p)oSs%B64\ղ<*S-Wy{{=!"Q.2όY<֣Smp~ZՂ%y!6]X #FfHIQSELP! יMJpMo@)%Y7-abG^!)HKhnB7^Q5N! s)U/ɑA_iD3>)Da:s[ڶ/3w\"U\>VxGH_@ޟB/Є2/P[جql0:_bl$~F+;1zw Cut5$8^ faGc=Pq/nޟn&  *H+4OTlFui5ҩfUubsd; t,\J {jHϗA^JZOVp<˽ Dl Fd,~y_|!5m0VR“l=!uQa}l8J*>rj*PZ +49y#g3@oML! _E`/)tfzβѯegPw`Z׼& 1 C^|˜ʈ/Z +t|mP+oYXכ'e4m3ؐcCm.>mkUiuЄ]EVXZD2+s$iA U !ht58-+|&(lhUk݈NRȤ yOQRD*i +VfTb;^ғ unBHLHŪzU O&$wo,AO{3@qp(ڄY_r2hTSbV֕A&m4\t9+[Tfi^!=(=WDp aN$ܝ JwN}?R B$t +ɏ a#I~x9?upY}o./V8~|'c"\tfR͈¯_1]Yve=%!E y(YGuFn),Whp\`$h#,:gfM~XiI)d',7߮%u@wc24 Eӕ\Z߫$'QR%JC(ֳ^ޏ #cGh:xF&"]um1=C%ʳ G@[r^&T2,Du >!-[ j^LZ$R,M(3I`K>E]&^LD-Tdwy7$ WwzTB$'5F}M3Ի$&YG=ٖ/g +"̎׌Vk"BTy4A;Ď_{ AeKhG*åLXkzSOGw{]"Rzzk.Z}w~ß,Wt hon{§7VLkirpzb%}fAj[t4簀见n<¶&H,تp[.P)JSs[`KsOn-,sy9"pFI0diYUdBR3'7*U XI: 1ܪTk/#)Dw#ŎrKAJ `׆P=\\}w.Y6yu~8飣XVB2 W"M ("]=.syn㈌Eʎ:a$?DpFg]m{Tp+#F(h|د A0A2iG뙀`3_lg2s~גAO6)KZDvuMhL" +xB R~PQo#zLʠ@ x[ɼZ P*o(8*tf0G +D<$aq( +2#4YGlXQ>2BLj,\(CCAm:08P@ po@~D $ઈ+UcMo+qhwOb,gM'E!]]-BknsPV[ +{. @W]Y @'*9aԂ+ XѼ mّiS5*mZ>q$H>u0"`) 4C}I[2@>Nˋq?V +U-(\fjkE,)ԓG +/ }[P +`]%p?KR]:홷. CD᭗Y(t97"B +ǝ_E ϫpz}a c%* +zj_ObkE`}+)v1`~EtR9Y\&$] T=f&<md3"ٞ&S<:TaL5iv\P5g8GMY^1=UTV@+q5X1M.4'9N3 3! vJ4$.ܪRBRZϴ*]}p;awYbXG7Zumߖ{ks&/~S(hJ:., )@{$bR|xZޮU-қ!? +E#?}F>=_?=hzy_W_7__oᛯ\؇|w_/?w~}BMY9098+¡MNֽf + =$(z>| rxTTdmtPCٻ}UcoaP/$@L}z5rzl|^U2S[ykD~:?d*ש!SN \#G}xtÎ[S)ŇZA',~(d3!Or8g/#甊G24s~\1oV;s[|(Qdߟ6k`B[L\úry E{ď>>}{i9?qO[ӏ,|it + .bEt do~|X,ז$p_ܺc;Nv^κKFytҫDmᅡ}sRHAN^#Aaaѳ(}^s_CW0h[Gù?qG^q::6W&?~@'{{yy+=>Tcu^~g{@Gn"^> _U7os>Gg->?{&I#]}8#tUfZ뮮jGX`{TX%iƧ@@'="\GshnesxaKس)(*o/6='ɹmN[h@n0^YFHRḑ4OQ2ѳBг=}4S۔"pvR_KET~疄vL$ ai&l!'k,kpjN- sՓ"Ip\r| Č- "a֡BC K,hV +['<6h1Lb 3zL2e`n`$tAqY Sk&؛">I 6l41OUeCBz^ة9w}"<\0vbkkxw#<{5:4]&lȭvbdkn!DS6=}].҃@tղWўQxg~)2ZSYb{cW5GvC2䱍% (#c/G}m` k3U^;L 6-LVDlBIXsl4Dhq0py+0Ȃ98|:(]8 Ph}g-Y=`kd"M7<(: JޣۖAaٟ">3B0 |cm-Cmf}yԹ84OƑ$|jo\kft؂9h/k>ZDOͧ6򄙯p h3HLV6 ^511Du.9 cZ`r Htc?'g99G/ow BeItͱEϛS0R +FgSiѮhT+2~r'5E>ֆ\A>9ȾF h,8~GmfkΙ%> +B:#3DpƲ|߀&A]K |*PrIcuqB'%y`C# +A7y +_Z â : +t4]vDewR?ɑR[j͉_&)YDF3TOlKcѸ<GQ%Qa|!7DI3*'כبQKo4NY*Lt+XЮ +ڝ("zf 5L1KϺa;|":"A8˙vi:NܦQ?^1Y*chNPwxH9"$QIOl^7s<2Ez[KIw|f芻zBp_ y'(V0sʡLlQD"IAS296X[ |q x'"^~}84] % q,tm3gi5+5!p(ꧦ.-5-NrEZ&"A<Ƥ+~!p:PP_h&zX =䧦`f[&]hPGS}٣&[ՅTTQ.5q29r_k^h + +cYMA~ACGC#*مеk制mPRWeCQ &[R 'w$J'`Vr ~ uMl3v{I>͡Y`ۡBlzv6Hd60f\j6z9~0͹&7o fEo$$$ Kf +$ +a O`'9=$ פSajn("o,kB>Y(J-amn =/#nI8D*x E0cA$DT *=MUON!ؕ6x#7nyDWDu*[vW46-3XC+!MeH<5-lp'JDpcL{1K2Y+/^"mBhQMFeK= 0(lFD;;"2ӖBP +۬l˜g^D]ɧRDµt昤 +a%ʾѹEZqEHHtm@M#Д~342g;"vWz]fl% Z,(kLXܺi}γX`N'P':JDC~H@ދuTlFI /JKEfFDUl(!$_G$9#"Ȏ +#c& a4cP=8Ą#"8+( +Y>6(ԇ;ux18K6ڴlLͶM\auR[*hګ˃ Auxq"!kۚdl|4BL!&h^ +[ѓ ׅ׮o-Rb鴌w.5V}ߣfJ!bc#@B ATfk:@xE,};e@yܤTxQǦ} H /g%RPD_ J6,O!_&@gIY[O%\XFtGɝə7MM"6g|pH+!"Zy1 1Wge5ۦQ=UD#p}]r7HY1ڄWDJnyY"b4҇<3˘D /[a}CLAd Gd+QI-Q,Fb +YB^C05EY4}XOxd^,J}&sO&pDtkvPcLսU|˸~8#Nu$C J_Bј*dA&$P5DcכL\lmklXK W1ÖE˦a˕tO2BixGDtH=IlWuQm) GeZ;$T %'K]5@:MY0Tv' !v ƩEbƬ\{ll>f5Fg|,aXYyH&TFpIt}37sY蹱Uh3IS'(dp\p*t ]"t+Qp 2%Y9pQÚep|tF%Z2gtDiBƙgSE4,:#Sg,Z M" +95G:MQ~ 37nNoM]C*YrP^#-)cv"VShDwL (iǍifasqiFEiA@UIo6gF"bScQ40a"(3ܗ ×J:#T}KU֭tв*Bm\ ݥ4FVu"Ht(Ob{n@>KH9:D>yxXh +#g;}SM+UhEcbaԘY?왣_ LbXrA"*#f MB16rX ` Fh}er8e$ԗB`r/(sĴ(/Dnl fsJ l{i MN԰F/)t- WưT!S+oaO’w]$ qu`4 tKX*% +;~H{Xe\W,A9_ӔM#Ew}c JLa U D$fB $A!yT>ILtqz:BE3Kl|g=:4&sP:z.>EP C)"m|G*&K]4H7g~1Ӝi.Au +nJgnrtܑ04oyDhTtCIs7BK5G*n0OV9Wl;L)'f봲l1S);RC lD)0S#tH(kKG7YuɄm!NE3P=aAof +wGHHk$ꠜ|$ݷH8I(0"z&2F(xu )odɘ|f[bZ2}F447g["Xf$*Ģ %Qe樀R=Lzc0^SXF +V*˘1I #S+L2\mxp_KoO(=m$ md+7w]QkSL9Yi2a^X7J`TJ2 0=&WŕVJEt9rv`q]/s0e +Z4SqOdYf`|yP4d b*k ;.GM +pdoؑJ "aD^*UO'0oC +W:#sLR 6L.y WmHL53760<;7|SSҙMN_djݨבY o0V{#nac;wSwև}%$圑Ҳ K8HM/ "M]kDO7 TYh? zIUqg: hꕫn)fD +fb>4Jo$72[4ښ"0dGD$x(i'k*߫y֮&GP_%a9”oq,ZP)G*ZUP_uPZLpS fDχmdb2W5:8HfQO\cU*UGIh JNSv8mmB2"NiiaJw`PKU;ah']+} + <5WsDy5a0֕8?=h(bZW5 ls#%E7JF:Mt.Ya/lh!4u]is)Ku-ve>BIo Jy@V)^\.ٔ,]#^tk9፫X-Qp0nԢcz+:sT 5i`géE잳a:4 ~X9*X&'\1$u0A/+~80Vz%g9Ta~4J]Vpek)rema݅z{cy,i2 +FJ,Lٯ&UZKf-S%r*O6`0nS +ܭ d [lcS ai+\h$S3BN'8Ip@O< SD(fDt1YLɾTJ! ]' r.. *FY@,N4#S2ӯs6=N43ogQ|{T :x}13#[da>4M)T o"Qa(Eg+ehDʒ&koLG$=M$siQiMѢmYVijIT*&l_;Ī21Suʴ~7FԝZ,v0F5*}AdXYպKR͘u\ܧ*JB`SM`o QS&[|ɺ[/M \S85}eT8/.P">qJ\yyy\9͵w@ +ۀu e`R1zPBzZQn䄪9ʥ>E V`E^M-{-;TȃD X]ꚮR:iZ0#D$ +EOE q6/Ӛ]e~r/a|F3УKd٦6Axf?SIq =E9|$.д4$իZ O0iu>< 0ʔÏFI/TdT=i+#LPY_L ؎OK]cB@}]a8":0f%NVZ)pj. LMވJvɬtf|7;Oʇ تgzXXT2A2Z&TtILnWNk-%^ORxyrq|="{GN1 Ze4yrt|\/㒧I4B_V'x2eh ,g:L]P`,6ˀ͍Oei 2kt0 &Z ԻrH~I;m.~BߔWYjWf>at̶6^GG*gҳU$p!&y]udThddc.W83S1"aТ>HԝDfE{S6p2lĄD +/ luE"Z)4 ф:47Otl@ay +Va +3AAFG*ڌ +pXi&v]3Gn ;icQn<3yc D$Tbi&CO"BuTbRn{ J 8wEMzq nԗ'Qk"K[_Ť[ї A&Hל^Hj60.,l Hd鮉dP 51-|WEUXK%+ ~Qq IilSBLrdyuk k 7m#?hӔil0Z[_ p,j?dڎM}0|F +v̰Hx1B4&wL( z*( : ۄ. +t\>Su Ř I` +MtLb|ЇN;GSQkls63<]t*v/$V4j Pg: ЪlRU,T)%^=8gVOP:)a+[iL%ELfU9~8Bn ~yt|nQ$hk(|xѮߍYg,jYD*A΍ću_M`͆c`I2Ff!%GL/A?51e+l5|t@PF̂S#陪๦LS_#-wݯo\7d [ TaL(S% +,W?rq#䃩v?j +/L)%gu2wLiuyQ(û(Z\n:辁i7BЏܯ*k-whIuk嶸<,M˜&(R|aE" +[ZPOHM@7Wl$k6=j|/Sz {aF:`6kM`U^)"61z$3GJӠ@ +lfR@+aП9U~ߘЏtmPn+ D4FxfFZvk}fPo89.'x 6Kq{l3TzS`宦fŢ&"^x Qеaǔn'Hfʸt+ۦ D}}Pm(ne߀+F1{n.!UNf Gks=tJ[]mI,U|46=ա>CsARodÁwX[ !q +`K} di0rmڔ@Uhxm#"56l]t'쇷lD>t\+`Z@y˙L߼pJ(`JĻ&Y3.UtaV+#C7af_ D`)ꈖR7?{0>nƫnL[*}f iTq)T]"C=$ +|fF5ဏvL9I$#Gۻ}bvϾ~g_}8|]D#@ɟY:ڊG?P/vĒ; 5ۊ#V~hȅbF0a+Ƌ +vC:6Dsg(ngoJ +oULle|` յg9hZ )yO7G3~_̚cQȏ!ϋr'W~TR^|Gwtnw|ؐ6fᰛ_"~$K"RR߶f {c l¹TY|j!  ߟ&L66?R6oVs/Rhl;1Q] I(wSt 䯍MeB\*@HʇC)؋Ht%uèv\j=3AӗToҸ$\O/N(k݋w<|oEF8jK|Zyet]Ydah,^:?|g5Ri0j^}mkU엥+=KF~iiĬzN򈷖^k.V['8)&iZt]?>jxn0OWIMzb<')g\a\ꞍO7ZhT)3bLaƻW~m_8]։{lafA>bԎRx5aŲyZԻ nA0'Ti7_vqU>ߏf^ v3qoת%z*8cV9q O2nz1 +3yNxп)/W?/^3_>(n/KMX){+q㭓E}|k&s=I&q˗Sec|1[Gٛ۽zn4h۲E"Um:|YejxO^2S^a:$y/Gv}?ʖA0Twr8L_~up˯oLS~i|:v|]_~:{=z;Jf 4cNk;SIìFD2l5[:#}bO\uc'X|w;j#y[Ny*4^cMXT0ݵzIva|e`ہET⼽Ft/~o~~O_Uqiׇ#PUFnuTo[uv{V_vN~tKV[ 8OX(W=TVn6{;4ΉAmt58zpv95o^xaUfy8x[;^g `,-\9j7@qvu5ά"Ye3I~<{,^6[z쮼/.?ξ?f/@v'ֹ{pe{/̀{֞ݶkkglf7[~,[MW5 X\:gt +[B$UN/s{V_od+-k'z?Qd A㸍#q +`)x|(=V-U;I rdEW#v Yu o^sV拓H]Z9<֎E'w0X^8S^櫇W rXc Rū?pmhזA0ֻN;v:iﳥY?c#sfՏY4O3{ZV/.hjtUevcעe3qb0.^"@OsS=gʁX/+ͣo+7V먵z:|]]f?ϟ5u@>͔X:~1mw&ctAAd +SV=/,sSqֿ$)N;w˨7wm~ĪK*/AqMzd1: ֎j;J0u8ytat/0~p+@!ă!Ԫ-HuxAg5S!ÇN*Ξ& +1,$Ƴ,ysr,oX/j^߮FïjIro/[ɔ[ Uo|$UJg>EYzMN ywCkRtOҤ1=}| +k+x}:y;2W[lk" ~^] ˳{dz_9Se*Y}98~|#WKv"/*+ʓ7s8;:)(D0yiB{/n~qsntoG׿.^t ֪Zb:3@)Q5p|/S NkQZ9,`Q,W< ǙnMu2}# +8lM4WIr}A4hXy$hXvsL-fwcVX+~'_J~NV5:v͕`O]րӖG/xҩòÉ  gLm7SO#xb_Ĝ'f1 *E`۠%@+qI{[4W{mw{ys `XUO +xw9ct[ `/?+tORb#t seRx?fu_=~\} .K02v. J%{S|WxǣW;b<-Au..~N2:Z no.ϞW??οדbib +  ]Yޥ܀@Ԏ؈|u/WٷI0 4ug|;[yҾ]O=vX0:R:#f 2|\mX EJod}-oi͵HAtMiط`s`k;CMW"F4eٳ|"x?^m] 7 OXu*+@9>ܻH HUZ۽%]P`3S޹PmD)>pa0V6e e Vwndi^/.@8cysk7&};^HPH- o ?/ngY{~pSh= @)oô+X}eWpx a̟*Ax]DN .jˣj߁yYy<(_ ' 8$]Gj_&oӽuB/Ye HU}Ֆ ]\W[Z#u6/Xѷ(3I4?w۹ Ulu/3p lﶎ|3`w~iy8x.QOq`Tq&\c-س `c`ĽQ/|diZngQ;. W"i^Nn']A>'@V*T0 +D|Xl݂WPJ9Pi>͉9a̪m;`bdk gG^~_?M~NJNiY<88\-u&߉ c3̖`jX,}M}tW] +xdJ;}Ǫk,J< %]YVn}Ugпy]E0,8E5e8 7_X}mcv*N`BX2{㿋Ռ{=q?o~g555VoSiB['/\owX ׿JHuȼ6M&+˓Ww:e%P=9~7c~{1ǩL@/Aa1q` TW.nQ>!eV +XU֥308 +Q=ɾzh7^,S +H(ʓkNzË}Vn9K`rx- +1ttj"W9' U\pLppW{G-Ly/Sr=8ݟ^*p^4D}seo>][~qO|/t뇕5 40ew +"}'S*SXXЛn堻x kA ìÙMU][]xۭ<kYU˓۷+1030d*{G<f˂!\={'w:|˭t }jUl<̫;P軀1JSx/tN8UG}vRpB#V4&  u.V@{>kǭZ&:gphoDUZVg KiT|c=(ڪ>YwOOcvn8SqR$EjtI'!Gqdxq"1FZU:WXe,.l(_S&肱v,ns6Vs֭3{twHN0Aۂcu :ǰΥ}t``X_~ٻumu1ᴎ;ͳ`&y:{YߋEm; Rl,l'`%Ƚ<8"v + $R1)uv,[/f#$f;Y/jg_?S 4郮xSt=K]ǥ 3Lym5;׿o`U +DG2`..@kĊ`%x7hBs]ceם)t \7~W9~.̬nWϣ^oN.~[ &v..ywA+mU{\mn:ΗA1_`3M-0 v8 X^ ]yE`yӠǪGNuiªedIXq!Z=-vsD0WELN\/Ҽ z +8`nQZLں6~*X|w;l5iE)@05CzM4[I^4[>?2QE]Pv[2dӝl=F(6ZM8y{X0 + 0Ng'17]".Hp1[ϡ|_w@pUf>kEp.W[W]<$^7 lsuXѩ΋Ktqelq^zM-.,n/NAزXstٵoUw3DYj[mu̕U}6hԮ4jw#ٚ |=,]9 Е1h }g +ك<)ϭi}ZNm*SN;wDp;=c{hbZZ lSFVLv{ +tVY>e%>Mn[H +0F0[sEG9 &X,[K:=K̜+,@FA>[lO8f{y0A?v@fZ$Sv9k<,kumaFnҟM[{ _}VI[  JE{8ʢ~T v"N%4P?xOA\ܣ'BdŎ4b(@)mee +Oqokus=lڡ9y j ,"POn,]L=tqm΂~o;ʼn]me*`?²l`+;0m -WdV\fj"uɁY:L8m^Vz;W 很T`LȇS@}30EŪ%If|;= Ȗ)*unJFH/D OE4Hb8v']b6]qIF` KiRh@nP)?Z}&D*p6Ϸ ]:.zvDiܪq5[b@s~ˀo]|»g:ؐ/YD o* gvpQߗwQց?b@85hUq$_OKB6Nu6}j7ObI0H} l8kq}U>'nԪ)ȱ}:?м˻?,4|.A.ͮg43[`=,ppv# 2b:: +v} `{&\W72 vŴ? _T?J1`18">XUb.ΊK x+Q< f 2*ϷRD`R{.l`]VY9]X%d4 SE1@\5?1oRof~e=;)1 ZG0y}Jc`K`ڛCliY?}8xU߷o_πZ~׿c}ʡ߹('' Iz2zߞŜ K=8)v4N8]^3?Qs wx 蜷 iпcb/`U}xa7;`Dj`C{.+~뜲i*3vkX 0 u,%f(k"8ks0{ 88&|bWWek'=`4k=o<m_6׿iOw68]oiʳ'oWRhy1ʗǼ,y889PN*dB> z=8oN**+18-ng~9}^ng?q&-YM{'@ A643F],ɶ˺-vo؉{qfwsϽ3g4byW@@2..7>u@PFI;3i> UVi* ht+o|NL%dSz:y"|2T#3PVE7a@GIGf\r(2q&*N{Wva跸l'DM':DX3 C޾ӹA{hY_TRZ1YݟqJU(jMᚎyR ~5"M&=cXt@ş:JT+P!aq!,cpB 1`e;[wwI2TĊ\\&_z,\a^,'˫&ep'L @ /㖪*Y@U3LJkL(#T-6=M+-xA)@G'`mO%=-G Ѷ_X ):Vw+ RiIXǒ7q՟Ҹ&Z2}K扶|{&;}z\qy?MK\g<@y%7`x`9WrL*]3W4 *bT +Κvr WZ&^X8P=wd +f2`$pŽH9wK"Z R d_Z_My H5Y+lnecPA:w$` V ((- +޲5)iYZK,"7 cnK){/,r63pm|)D,3X!S:L8N +%W{VJE"AUe\—VLFJ`UCH@HTA*|n19}X\/ "X`uqAiZ3}zJLiYQwFfML5l荑r٫4;ͭ8m,Tj0nȈsX=hI=&5cM-""(8 +6BBH9 2&\.U֕lBP |xp}ͬX}A*MyC52AD$(*ms%az'g&$Iёdw? +6@qv D0X(,_oܼE..^ܼۤUnLjY٢PFl~[} ^$rī܃/K{z+Zsʎ7Yj#&/wVPd~*=7N\<8(dw|y;sJ3ePeN$9=[XhoNwo\*3UY"նX71}Xٺ%wz%.p:BBe2erK|nx{E(/'ڴ)Jimo("*11< f=UʌR"%>%[;k-|.[;ڶX\wIy &Dn!WWN^~2QR{26Mo)s..o0B''rtͦ:AL/R[ I)ow.dgET(9KO٢'VkRaɧ2n ${ss03kC&.3oY b583ťsջ!iȰ5(:+5}/n->$:|r0BcsNDmUHOk]u]9[E/%uw!fg[۷{܂T@)atL)`E"# OjnI{#_ ڽI.>n\%+2T3tm(R^{n@E!w)_5aUDQYvԩyLH2`>?nS n=/ab]KSK9_[>WfwkN.'WҚX.\;2ws:q˾x7ZLΜ˷v=rN( + fl.wpRD*[I*FF*Jei5#) \~11}6PۢӞp}cݻw$l=ds3~ܘ͟em._;XqF}ŕT:usf:~4\ V#Ys +++{כKglDjllf^i4nӕc80xXreB\+XXRxy r.5 2>}pl0*#bṶP^ |MWXrE R ++=僅xgNRMş W@P5і7Zr۩;LQX8=Μ.쥛p}O+L6gIIǧpc%~utsweac2wV.-c?$DL>|5n&V'՟Wcc+嵙..-s&n wI\bm' +J*ӘBuGL„L'mo]jkf3h @bv)PيuvJKNݢ]ğnojp}+\Y7hv i +hnntwLnQbnF:+ҶxRZ,6)xJiny 'AlOOy*Bp+aR ;XS\ݽIwۍx2O $c /R^ߌw/ѩ}p=P6C0%6ߛp1zdp5Xn{аa jY0FwDe78asDg *)M'b"VwF-tn@4⋨/d6A͗ ?$fVwq9oƃH}ա,T/WIEN&k@D;%3/Ou y ԗ٘RmiA}P3wZ]"-p hq/ޯ'mab +䢔[r+fj X`*p.1 SKgFY|7^(+A팠H_ˌ\MD)d`f6/+njFo@Z./AP>JHDsn9q'yVDO2\ 7 gRS',*h\\s~~nLHܡrܦ"R_U!XV)Ic:ʥaVyma态0Qq,P0&G,"!Y]:lBm|2\3ѱ3A`PlP&PoBGMjG|1*TńEGHFc*KKT!4P +ڦ j!-'@el,p(p\ Oi(MśP|* a>stream +bܟ(Wj;Ts TU:fR7{ 1NZ()3'uNX\ĻhbAMĥX :zT.!$ +dž FtN*l„IwJk1AR0Y:^_f㽡I? Vꤑc`؈Ye|!VZ _fH]O}ktۘZrz&'X$y%ug]<⓯֏~ѧ/~tx&&[un$l#Ufboug>y'O': 7whyf2T#t /3˽sw#Oz{ۼyw|~}~$ 87i%. +)ȁd]l-ogf+ kݹ =?u1QW[h8+XiJG.-tRpyZ̷Cٝw?r^.>ԙ{x"IUF7X{ Y[b%)S|}~o^~W𳓗oŒӟ3 +E16u'̴nȶlcڃ}goѓ +RrMl1r.닳kٵ [篟zߋ_wۗ뇟}qSߎpW̄*ӡꘁ8v`7w (gdٝKq>ޕAsc7qTN,;Շ7O?7싯^ޏy JcCFDHPi/m?~??«o_|Ko?_/x{EsheJGgo޺g~g?xWW뫏΅¹)7sRI. V.x]>E+T6R%*$ʳB5{o᧟~wg7?׿w'blss.]~큇|~?^{+Pƛ&WPggP{xҙc7zyǿG?൷?;΋}ڿrk \)1ZڡL5(z+skW.]wgrgo'Wxƫ"L檭{gַ._oÏ>w~[?/>>7wʭd}FH6"BjAE1*(HLz/^[?{_꓏_~K+-Lw#X+"z ?s/ow/}ɏ~?~g_|[zL}Ecr\G-^E$s\sicO?kϾO?諿O>>O_>O_Wxw>'8w}sUך=&!v)6.^ o};ooO/Շ˯쟿2Fk򺟋tKfSS + W=&hgI0""zԎzE!狥F\\XX_tNo\q^rxͳJYFB됁BꭤIٝn_߾0{[?7|ɧK/;z`]Qc_pmT(֚3<Ώ>o;yW^~'u][4fu[ɀeOh! :LcrQS"+K^W^y^{_?뿜?P֔|ٌy']PXP]:{C<̳O}~_|şzA5!n3<'nPYQV)Lw6N>}Wu/=w~k>ϯn\܎$67?i'ڂ 7Jw)eE<9}ڭ}ҕ=ݸ<ЃgJv(N0׷C@6ZCMV2-/o\rۯ^z葇^xw3w-&r%83:|\cYp:)lcfN3Z38j[e!`8ao?6>c'pep/ Dgm(!S*ԡ*a!F\6G4:- I1Is4p<;;SKBT1Q=2Io5&`_(A hcq%W*wYI¥J5J1lwPƂ7Zv_4f+L"t!KQ +s r6UI ޠPaTOچ&' c[k(.vC\\I_|v*Jlը%%[GNAt/N||r4e `0I9?(B6]<4-c ;}NߊΑB +ctHI2Uh,].Ox؈dX.y*#("|}@!Up Bx0 +Y;Nqfy.Ro^`XAJ1?a8êcz͏PQ3t02mFkmupԠMz3b6fXÌ7ZpYkL:&Q#=joD;ɶHȘLIJW L,}ب +wIݯA8 ߯4 NĄ/@duDTc@/eVB ̞Wܰ#7h'ZrꐎN JESM~G WzgRSVOȠqpMvLX!7X +fxOuįУZܿխdi9b=:fs\wl00aԣRlOECiKL +͛ e5m>| ̟ñ܂R82js0a&쾄;$*ʦSty$OVEoG@ 6@nV;z,kral[Rjz?j5@q>KůT`@e&l/T"w46#ը`N5N͌Yj 7n;7i6WV}0@6V5~کFuCwқt  !;lrb w j\gp׀H*;CjȠA ;kvGѮ/>s%{76ieծccV3, n誌yCMy"Xע@H7،[ccʟ, xqu IļUȷN4Hg%ͣݛM)sILʝ1m^<6PFlIuT{'Ar( Oeg՘<S9TXND,dĀI%ʑ1ʦE3qG[V63bjQFRX8 MxzYōI[ި/]|.: #C! jpr6Zq*Zɨzc־[)A<(۽!>0aբA5"M&ѠmCzS]P'`.B' ̳ ku6xt͢lz6#ZTZ57ݸ9㎱ۏL)J:$0n0H7 +p4fmQG&2f$+T9-Gi[A<1'qc#*=b +ٵCPYiM}& %ZGȓ|J&L) kؚcæ1QB">8YA{\ֈQ#Z琙e266&a|\_]= +[<1qQˆN (,Mބ%l 3;FZq9\.Z͸.fw#W93%K8X;4ߢ}b LYտ| =sjлvʤX$h\ڡuf2l]ll5`a_+-"ܤ٭T%6וʦ0ZFe'*a#81g neuT w3XL%&L=qM|PVw ێFt R*T&jHH%7ǣdQݝztbHv\5E]\ +X)٦"czLZ1SԌ]ți +W\zB Ƞ[i>6H͑ u]~Hcp8{QnuK`eMn'íSxehއ_(CI> 0 e\rfZCR)'ePT61#$,;zdq+we҄p.鋶k,X1q*N:8a}~I;v17F3:oWFPc3Ih1qH B`H=>}KӠj;GxKt0v#T dz`A-uo*PE;qi3883!;J%©Ň.c693i%'l&$jln%tG(̸||1!H\j4XqRÓȈsrtآ v*SdbROٌ y:T4YY̑a Q7WT8[;s]Ht'{C@yeh|3ae "WBm'_RйjN`G' LzAKFc=7d"0!Hh;QZV*v +fj@Jۍ՛\폷yd͵v֘xb\)=}:D` ~'t;n;$u^3b+ @+V:t1n(R3*0ؕlv)> o-G +)Sٙ +7jdu$$)0}6&/䗯8}|kC=Mq9o +py=gSR0..p.(7Af(1"֘Ԭb\*T^DGj͍W.8DpړPykȯ"F*:'P:!F 9aC92f3zLxܝMTׁejw +U,TH[I? Њ +dz&B +$΂X2GPmn,p. dʄj#jtB,P1<|1ޢ/bt~w2Z*ZMKŽX8%A4Gݧ'dE+SP(mok62`q#G>Ͽ[P<{Ĵ= +"VJsX]jv'5l9ӱ)*2 =lC 4`F!6\:\/\YWJ9T;΍[h_ {)}LҠA<X} r#1j":@~17}jC 7Oc%e@fVʭ`B}@]"\̏5(VSO\hݣ&7@kCC?{ېՂwY IV!.2T:*90`˰1{V&O+NG5 & Dd\Jm'pFLd=JǗ^fW; )yѣ~d6Cp}VؘۇNZo[ +K{U>;-͓ey0HJJ6 +⭄sIx-W9C%B=  ,$tj b4v(v!m̐έrfPm8 gTJ'9S?pqJGxGlb`Riã\BnbSzbDD;ėp'TZDZ|r!R٩m U@~՗)כ;:)m~LPa #FmGMcf +2hۈK:);QYh58='ELkŽ΀MN"ʌHGFL: +н)!*mB('1so4XK/&_j L.Y!>j 56l,Rm6lboB&%UZy +X_.@`t[|1_]8;҆PXOuKuZi1?ts|,p] U0BBq iX{;ndbcn@KMZ<ŧS݉ix#FLvfsgRIeNXlD>\6cʄbç X=q L0v稩jDWh.cX\nu=sRuDG⅙S&vиu([v3l@$v4 +k^?'\${Y``$k#Ll_8S3t&TŅQ~a@iQPN6 N Q=>.3ݭ{~2viY#,qFK4Pnv?,ŕƽB[<;fΰя_|!R^ۺŧP$H%7`·8X8ЩQg”Tfn= +xP# ct=Bm4lBm_f4`!nKk#&z뱰ӛĪs V/5#F]YV/ZMT!]_B 3&24EUVBaпך䒑lJQgf5#:8(wwLȒB3o>_O 2SZu9s^)KK@ +5tf15a N #jA_o4 5Ȱr)XXTZ5Ve,DtGOۭ) ]| &RX}&, dӿ.E7KS'![ +[pImeX F&Kȹ#u:ֆױP}p캓nJ).ֶz&n6d1l3 8/W]UNK1cotSi6>ezBP4pt lJ(,@å +_6+wF' ֣T`w{_xjfDOؽq::q6NZC:%2nU2,.%ҭ3 48V)1ܿVi»wsQՓ)Rn)SD ^`Zq1jf^4yACcYZ9ݸԖ[Ks{<<(l+S{&wX@|j錜nC2 РA #m̉ `k`rBesSsߍ\w?&ؖ:̈́Q + +( 3lvQjuPjEKVc{d[3c{ƻ;띍o]6~?޷GC@gNr3M>'F ںX10 ;vbc vDFGi34&]8 ZNRbVRRRgo{6?BUzy>\BȔ=eA 6) $'flrŽSr\cf`Y)Cb{tW p)kěB lkXV|tۣ8Y0R;b4*bbV@|̉JZnfu7>Y0R_1huyK.*$&gʳl4ci:rB]4SnP]qfEBl+~.kL; |~XBco^~f##v! ݃v\0|q 3 I>K H-UY=se11 OpUԫ8m1fQ䔋1 @\|byL4DZ2]VRn|]*Xd`"NNA''}o8(u?>5G(&>6}d)ˈdNɁSéΔeQ%OZRv>T^/g;ٍ?,!K󐜵{Wdmdnr".BB(% xKp$33^p֓w^M8΄ awQmfeotm22zb.6Mi~qm+GL);|]*_ݾ]mђsI\YI`$*j:j1R?S]p 6ICaM^o-_8X/CrE%fW|_I' ʧP a6 XX?$[S Ӹ1;Iw@"A1 0'…K]=.֋lNu/{KxK* z2->x6ù^aB PaJ6o=V0l`'Z߸+`rVIP~hѦ h*>֠Ԫ4h-X(m/9DZIŽ\j#0v2ƻ\ `zyfUd8* u}f7ͱ0kzɤi6gvIv{ppxyaf)6>QEavq,?;a'}At;{+W^[هBjڂ09l)̞ pqV+ bO8Ikvf'da jo5}Mܬ +Mz$Tm2@'3zGJD;v,$ gh9XNL7!7D/TqpJq݇ a0׋$[O~fB*t'Y!ѳ +pT +ܑI>撬H  +g^Ό\ljf{ ^JӪK=1nϥ#a;?pC.$DTI^9/SZhmfnn._> .\{{_~]hL.2y( $&'2+,\5ey+ˇoڥ歙s7 :/I4ϤjK_|O?*.#8m1Rqd,@VX<69:ӱQ/0N*gh//Z x47D2RJ #X5(.]iminݯߍvTO=^h*٠E"2;ln#OO ++:aX+hpy.\߿7p̕'ݍF{ 6}s֍z3Bϖ/GˈR.;2&MoJy"Rˑ:yI/ qq`j&<\- %_h l{{VV +#.2 [:,ectp}iԎyDya# +s↛ʀXqgm`)+ڙw/?Ake+xLqp ٹ"&{@Sc&t0qӉ!WӇ>&QlBK8jag#S62tbuĬ V&\U!#Bh("CB-1|eʕӽheT `g.r+ⳘTBK&Ǡ3%'g]_<>fDh '5Sg+-߀D߾{¹[o6ׯFj +e.o^{X \K:{qqlѺX `h?")+pqni7C^\'m+ cM'v 8#icO/Z2L8,>geM> `8p$*%\8wr 8+w=\^j޸|I'>NťXw2{XTODӉ~6gq`Q~xȨ b*-'ZmCK+<~_ҋz3ږLQ;ˏ &!?r&ӻhcqƓ+/ @ʆI`qe/M Q|;a4m47Gl y(0hddovdׅQ[oڿ^ypSc/w##.O`wN9ܨ pn0!t&XlogPJAip|aOmIޙo>~쫀/n=a=.N_f>ΊtL&7ͨWf,~`Ubd~zYH5zWJM%9\՜h}Fm칔 y<7$h[JkHH9ĶXmx-3sUtk^0abuXg.yׄ .xˍG->bAwNOLlL(D}wHbCPܨO'xswׯNJ^O ;Y)7 T}-U]d{.iׄv & +& c0TB4{֙s^-_ +Rixs@J}n{$Fק{JQL}z++PM&a]T)/yNHYMof/jlpҶW9i}ꘔ^D{?>m'sYq6ܘߢլ}XAgnŹ̶Vz}wwfJS-N@*F:Eå,GYJq;E7!&]EnXރ{orWarhNo߼V̭G2ʅo_xvvᗿ{WvR+>y2t&яWs7^ۻ]XP]ZX8՗+K[+W/=9{ 퍃]~ǥˡWk;)cA &u'HƔ[ Uxp܍mFEXIjV, yDb3L9Mi.T_1a s)/7aI|Tو?q Y-;u>Vxp=߬Cm~ ]Yq\# p^V;T ~1;pIMvtTD7Q!e%hS΀rI׋6҇¥/YΈoAN$) 6.-FkŁjήe5ٌUD(I!>V#he-^@ s:.2#cV kXSS^@NkPq!n-][;#T+Zq=YP:HY^\J\֙P.$RnxCspN# 9NNzv"d#5@"Z(L,{AFI%Uo\֊=܋fpGPmXH* :-JqzA1*FdX2kJ~NN ӛzhoZc/Y 5$U7c2o$[hd p^z pSဘOP?\Nq8D Q\` M"THv '=s,rCO]][ , }2\b#@Bar.8 OSlA6?2`Gr~ f{|Z*)X'= \׷&56D͎d75}hݳRtQ he5^xV xal2&$ĩP6j%:|zԊ`NR}D8@Kb_~&HQ\r>+_9shyIKn>|{>q +V 1õ[߸Qky- P Lpٗ>-ݐRs{W_ƝJbR(/W3Jܕ|3"]R)2ڇ^>m B_+,P^ڍ^q)Kŀwq(HXyR23hv$*fwDR p.!B$z~I sQ\IsJe`e;Jf? f0,Gn4'C^\ iFA2̧H9"~FCE܊&JO3+v8e"Y&# EKB4v2ZDŤ +;agi1fz6AJUVD68ٸh|seF0`hq.I6)͍a]BA? e>ńij^>7BՍtrw>ZZȏ&̭o^ HAjnx `p<~CNa +AJUnj9}_|Τ8:r@덃=!V7In0 X0Lhn V,VXvaa:RE,&&\',ax9(.%>?=*%ڽ[j~UCy%6H@i6eEhD2`X6)|0[-.ىּ&=J#~T@&YAI*ܔ‚R(zv]^˂T 95Ѻ'8; <5DHӑ!|H0ln^]ZaC.8/&{fHNLd!|du!^] +J/3DU%V  W>*ffōeIc&(%_8e;z5blK>:D"BC:аa э)'}8eA dOf.z 8%J&(@Q*Ntp ƀVv㇈`\܅)S.q+jqGNL/X݌\/\BEy`2ͫ9F8D *1#)+ ) rBA%E/3GF]<`IFQ`4f^rd `].ZtV/9bpr@xdz+%|gT0dOQwtyz@i4ΫD%,KKrc>k?`M9VNMFF8! fHGMN> &UCB2̠,G3 ~|ч _q6phN['JrbZU0'F+Tdu9vaB(&Õu  =އ +V/>frl^3 p"5*`80WJf\@38 7|q!GFmSVhzn{mvLp8V4p0 `*>`8``@r0uMptjʂNYӮ'mF]V|0tK,U\߻r Y*(q37 Pϟ6}2n#pϋ'`R!E"N|܊#'xe`㓞4#vB8J(8{U'\{IRXq 8wfDFZ>㢚 ų<߸dM.`Z%#x( `au*~$h&c./Aը!8ji.5qvq6mG d'M^0dp +bn`ZQՍS(>Vd~„=>t0&I $b MσQ[N \k-` +\VSiדxai6.#fWKd6/C7z9>=zrr`u@ l^ыDMNl._HQi#KIk`^F̀#)Kwㅣ/8aqд'ːt(gxA AH{ Zc& MOY'VF̾ IOv?efi +s BMQ"lu2fǘ{ +.Odp#hL*Z4QwxPOep" +CPDϔjԄh  Bbr("cv:DIHi5RAQ~ +0E!0\,.81 Gǎ7G5|f) ']N{lIZ&s~()h=@Ĕ=pt}{ heDXf# #Z)fYDވ'XR9_//~fu XȞ=zEhPȧqHr?wu}gnqZ10)$~bˈl1QSQ1bF]KSL֕v? [33X\|p&㤈!`9oõB׌7+n,t\V pGldM4˥d8>L77 _Z{|k;rUrD!< +a-F۽敝sw^o=|n?/y}Gזf @lu-SjN뤼%~~^g;?9?>{|2YIdP5 j }~ݗV_5o>/_o7Wn6I9Ѓ8жf9|D\tS7W>+B\VTM2(i\ws==O~O^ꃋ?/{w?_7_,bq|@OlXهo]~d?}ꏿ{w_\ן?OO݋bp< vr^\߽'+?YO_ٿ}s_~޽ҍ#Al7'4_Uuoo$on$p˷>yOo~_o߿Tfb׃+qłV߽G?xs׷~/|7O5߽V3Q #^Uc\D`-]Z2֞^믟=O_=_G-=R9TT0b0D"zQo :N_.gٓ?^Ͽx?+gU GI qA +bn/r}-zxv?OO?խ޼x&K 㼿 `/꽋埾zw}wmu 1N@ `8 +*&ex6/s6vr?|m~/oWŏmol *bYֲ x!\>{u{M?ګ_]/# GRA %DN+DUO7'w_~x/_>P)HXmuVN!+*<] >:,?w?z\7T#8HВx>*SKD+ws-3~͟|Ǜ߽3xzal?=[PBSB`EaU妱/f/՞\=N'ۊlwbe@q JL$st&Un؝-ğ^ho>9x.‡wz6wqGwtU[PŲo/޿O?Ϳ} *B^;xq#>w*_йVZ^Få­/ W6jO4lu&-n;Gӹ|X RB^=LQ=O]ٙ=\]NԳa]U%1Q'q:̧)%GtCUu4֔&uaP7W[gk|RTLWhǸT:^Á| +4sni.um5/߻w.־wwy=>7)N80Dejʈoggc?/_z7/|ypLJ +fpqӼJri.Ą#b;k3)9/֢l.,,07;fNã&$>/IDh tRRAQQ*;Q *]`ZGIg{볭~)/F..K~~k:TR~>2=nX!s؄i +%]NIp'9kt7e) +FJ~1ۻq `ρC8ICb!R19  BYMI.tp +BlM:-᳼|2S}M` +3eiyvyI >fýt"RXʫ9 #'+ fAh,t:˵Z_Ā9D +~t l6T:ah-pBEaV.T}vwD1FEXB1!)+Ħ\zNǾ)BeECj)8:0HQCR$$,d܆N}LDۓS57!8]53Zi ~BJga86wx)Da1Cs]JAns)Jf|l21@Ty7uQo +nOx 4LBkDS")%Xt? +ZEJvDA+I:\t3I;v;[ K^y*r83Jhy$`ev!,j)g&IߋIޱq'180~?& +jЁՅ'bCd̊_{0.g0jE6Hv᪒zj5]d91Vk`fL^aBmmyi`uhpRju-ޖs74A!fd/_Ja?tČ5!6xi诎L2tֶM1ٷcO4op0!>.gh6WNZ)'s1/tjcvR~R%VJO6 |<&= +:(Æz$嗠`V/fw=bQ~1Ci%Vɉn֌VDBY!]7bo҂ŘbCTp[z阛y Ԁ(҂qEF'C9FoD05m)i54T$]mBrT +dZ3X +~ 2{nfO8K KNB @"u9Z-uwX{XK\ky2lZ߂DT܆zC:QKTex.\ՊGjV.丆)Ek.,LvtXd%P' y +qm]TTkX+`r2T$Ԫ`LzE'0YPr3i$8es‚2>|d9c +,sFj~.c ǡB^*&eW1ER-ٰJ958ٔHHJY)1HADhK>`~Cր5;SI ` SstO%T<>Z "G+)7>Ȏa9x{ئ0zf<8M鋩kzUHM "|̿ħzV,bAT&6w: Kim QHUL mE-0}pwkw[[/:NkM+IZ\z)RM.%g.Ejn甎p%#Ra"V yDd D4& h# TBJ)/1 &3 +&;p2 ;DـRC-2 +1g@ cb3j)Ny$Zk3,c$tvPr˰?eL W)cp݌P> '"<Z ͨ1KM@p1>ѳBq;܋l5TmNq5A{'m/pbi!9)'k +TIATE ݘh\Dcרo@I,\}`k f0L$cM6,L)BԂ9 K3bv1={xɥ1ҽKV:nrH@bM 9K[^ +Vc-֠PNL?mETomLo>eHh'/gŧd-ܠ~'زj~q|8}e^!ӵQ@h+*/%B]?qDqɚ|2"ycO-+3Z팛Vi*o5:_.-VIg3q:)Si!ݗrK1oƆ݂eXL[ ++!1mЉy<1)u IT7OrY;n] w(c`'SZnn%Q#n 7.㯌I'?hdl:1VxYgH8ZY4Nqv0)?A0f;"Q]'¢]>{{јTJH/+&41y٤Oȅʛ>.i8Xģ]&1^EB(;.A)/qSzw6:˹s^<*n>!{` U i PLxaRp[14n29! s{/ibBb:3{tPXQ`_dz[V&Fڱanzir9H9Y[ˋڛӇdCil5bN%f.ȅ5*Srn50|7\ 56ߺ;s$H[HBz#[xp饏uzsŗ?'I K~.%gF\ɲH\~d<"gs⨇:uA+2@ZH,6LaQ:eRoTKTCD;eJnE/>n䲇j#;?aPXH*h}3ٟ B e`)uT=gR/LXP znpspM5fp [(͸脋Nn +dfo,{gfAn]l`4|͝שH9Y_VAj +D.{RKY@vz0տ]ǣpyI-ͻַk/<]vyJ(ۯgx.E;N{'Z_n5n9R +)p TmI"b:>% + 1\kl>1)fFsvg}"udF|mtP1jp3 :1 4); 6֢ +^MrdY{6\tuH +#<\k#<"P]U=j{mh\rIC̐>Ќiky+,+q9y3{|oJbXqnu/.u}ꀇ5)[s{gR;lxڽ0@x=o~Ǻc?w_f 7?~ae/\|׿{mIomvg_/n?{cW߳HdqZ+sD\1A89(JoBfb3CmͬH=ߓ~ƌ%ЄSČ1e /(-Ս}[X5`/զ\jߟc *U` GߦQJ렾|78qE}?UUc "Wg7o_^fC}b~ų/G{pV_/I}zs|o?%ꌿ[v9y>ۿ{{ug3=Oکڿ;W߅vT: )kZ=aY?!MY^^g-(1?5DmAsye~eo_i3  =X<)#Z{[]jgQQ*ٗ3-2&VL@Sl*I.ͭ?Cw H6r'Vkn ONXC잰YDgR^['9}"ACh+OpkMnG`Ya^q_/7ֈR_|E ijsUskӛ_jm޲'Wle!UɅ> "N%E%((Usd[| OJU/oO[k̝<4zt5 n '6-G)[nֺGO?| E03{pUſOԦܵ>>=էo~WϓlϨ];j+UjN?_U?/֗_Y_uAj'iggW=a kZ2r֝-"[NnjnL\5Lp?~&)E9;.?K-X%*!%&w QW7beݘ>C ngj1T 9A0%]s<)ĵTLݿ=<2댯YpҒ{Z闅JM?}vNڲdtPsO˗u`%`t٘Xe1F/-/{ zsG|NQXzGW')3Ozu2>V>#s77㷠8s ՚g`s2/>xˢ(Js*8={ϴ%a^<[5io{+p䋢:tf/)&'oҮ8uƯ_T/αQ[]'_ LJjlMOkaQwH{h2HQe+7Wߕg<,/Q1/iw>|" `_YoEz oSMhSpI0_՚{=akek3w? ~]31%鯕vI1 MS_[);/_n~<{_i3K\ U:=CiOʼ$WRRWV{)f*Y|% R0U,9D8k۽W- RBв_ZBXz&0v{wk4yy+$Td_koMPXi:zz˽)ol+RԽ38򕝒)HiJ3s&I 0U`uX‚qƷ|u0 j/ax96LvA5mN61iNo~ef1->50_Bpxtǝ5/K%Nli?ۈҖk{z}d\?ot%Yi[ZgQ}Hgp6@J'ݓo ('] ?v}|-IMPhW6YY{䏯ARV{5̛^ɝcDmzihRvW +u?.Mx_lZQ9 +k>55s xw,Wfv|bS틭#0EiuL}( 6s++.9+UևW(gHy3ܞ[R.{Copv}XP)\yxweȹLmNY'0GpqHZ??>Aj]md8f<N*A]:<"zj/)yuk%P?1Rڠk?~^Z~_ytt)Eog/W ljCnĘhA;~=|7 en$ >G0"VzQȝ#(+u!8w# tO_leYPiG5BحuEks mvOYʹy\+HAQontܻ1.Po| 잟;l}$!7֟. 3Zŵ#> wOa\Y2ai9'MDzm/=b(ucTP:PhD}+Q3gh{)i#Lk_²55 (o"ꈭם4vp+Mbp5J!MszgQTONNJvpȝ_a/r7:ԦxwpgN+H izӿ12ŻV*? M]k]Jo'Eb0K DI,ս4;EBd%j*SQJ R rXj]sQR#ۤeҹ&ɭ gP *6>n Gz*T׭Wܐ}js +jD*Ccs[,P6cP*U/z~%ښPpƀ5@@Il%1U ӄev/_?tNuo0g(pVr^V$A5 73~ <[P֎Xg: y>} =nFكW-2ղFz*4m+`\+8)iVf Ԧ7|x[}$J{a!2*S "%#6vB!9L0A %h&`r"y?2){¤hCF + o)IT#j4KHZtP9^{"j0 RvBu>qt6RLr4WGf,0F,B-c/f_|WPE,ꕁ\ 8g_dm]R:Ju!xr./:|.?}׉Q$-'1 WQmսAfS\q(<"w Zp^sٻdQk58 5@6DJ3;P?~G/ jtEsZvs.yXeg&U֢?z +\*jɉB7K#$uMc>h9 џ'pc/3bJsp9KR 7&q#ʒDh΁9fe5dgTKs8mJ|=Ya;*%cMvs2"GZa1DjgP>ZLJsAhQLS Tl=x8tYNRe#Ox b7g|_ Xw*e7 ?|]}z&f$Pb[ 8}Hx;V\d(fSyk͞ +CF~G2cx4A٣`t9L C!iQjV ]CpOEX4n?J3hA.uޙSZ JB3ZԀ Ҵpe0K&N]dB+GC@QJ3A @]4F}?ʃѬB`!ON` +@vX8yWGo@^\1IxwtDh=>7Dj0Vj3@-e;% {W>)U~㍞$pyH!/*gZ}5 0ϸACc:ndPzWi(9h9|U >yDJc`9ck <1 i=|^g0qTçfO) YyECtM -[YQ߫.l7e+eOZHQHЛN,iFm[N{B(G*7ѽyAkyX{ᒔCpY|+_\~4tQV*k̋]w,IRg3hQ}6TkChme"%D/eQĝ2eΓKC{e^ࡄFpe7#ڰ=M?= Kig7\!䦳s{쟁JծPYG}zzwP,R4[E"s~t^4_>$R'(K5%.ՓkHQ`*kuIo.u/2:%[8 [I~DpГ]mO`s _= S- wx3vop^9@C.Be+R@i`|3'EJ2%h;|em _n8ҙFK(1F8φ]ye_cT4O,vVA+ics[4.x5ce Jl@sy +B5^8 {9qn25zE^ -E#٭z6)KQX,e0#W73wʌiNp9L1F#ce,%o,:tʈS&lhߤ."ɗ">0}u/ +YU\mIՙL%Ͳeí*V]KW +窀:I0_yYkBmcHRˆkBwPCacSYnI>ۻ} %nOr;FXshqJNHk=I)>XҀ%8=_A&0PA-Rr(nf!ZoJpW=L]e+ž7/@ +1/vAI\];#b{3EB4SBn\DVp QX wfa;CI U8[Pu ՎA3I{#A& m;*RVeHa2# Z^0[CtHF;, "J|jk%XQ"T;_M4"r.ɣ 0Mb;>8.?@1@%lҘevA6JVR'BR+7vT;^syT{ i8oBM\3vBڨ漅9^|7QdhX`+)9 ; yj<rK{&.@ƈxShQHQ3 )8$F)%P2%-;qEr|[9 i-˴+:jm"Gjѕ҉*(.D@m8vzv+w !!m:<11;oqd n&Q}'F; {~77T#r`!j4X=2ڗ6xӊZkFfqJ9&E.Y@$JndlYn{ؙFsN /IMGl0Pl%h\j$)t EO7s8_ajz~ 1RFTI+2~t7S<[%1HqIh#q.JI +shjՉqKp^#$Ks.%\+YHp*7@ei@˭`~덯8n¦6LB큈o"T #$6ύ+RnP*S[@e.O ʞn0R@m\ (4/¸ZzRڸ +}Th3qA ')p֨VWkYα31?^`CvHri(, 4L(?*|S~w8?ӄϙSɛ#AݼzEBa9N 2L5EyYY~3A\1l*)UHL􁼼KG>N4B` r+Mꡐ\69´e',-)!ypRe5)TPw!b` vO*c9gVd<\ wt:'!)y H(m J\ޣp"Ժ`Vk} a5,8ѹTZ'$GY:E:,GI$A7#%c3 ȠX}LmJ(k~6+'y .4笻R獽b(eof~E3~\ +nA K~IK+ƫҁvgo(RDD{-*oYQϱmyȿ +pt fk@X 6Oh^N"βU^>.Jx9Z 6r{9G*wEU;WIg[E=J:*Ep~Pנ PC] +\-P3=| +ڦW Iव|^T;!z6ArzĐ=BY#O T +ԃo0A``laPzBa-1(gI*Usv.X0i{]mhw$52QPoSxj'ǁZk/ e3Hm*-1DiDO$toǔ^e,n^2CVvJ.gxP){oW5lUGz@aRΘ!txMa c WNq u@W'14"[Zt>4j\2"*9C*_%&U»5B=V n:~79O$*ls4_qH^"6S%)YBF>/A$, IS&w Rt_j{]Ib567+niTyΙ91,mڛo͟ Y~(F2qx_@~oLSp%iM~xFh|wC{e\n'Q1;ɋrHbid+8An[2 I' 3 %%M + [`'paSqvz7gR$Z>Fd(F,f(`Bר|Lj\NwLvhmOL4/9wA;Ӳډ2eH8VAjd>: ^" p)4E@[8`J;j bW>9T0dPȁleuX/a! +Ƶ4~Z4UAD0 {}$&%2^Y郅ZW &#Yn3#!oVJJl g{=MnPۯ>1sR٪'D,\ex_]H9LXtWo^IltRͱ|OrK]g\m_)a7Gg +qA0cEɒ~$'?N.k?gic2,8$KyCpu@ BúlgT;D,,l*c3\AwwWV`N iZmi4u0q3+NwԎAɍ3%Uby!6 AQGVAGxgjvS~\P1ހ`+G&9,2Dc Gn갚IAE$]Z 3hlkۿ[p Pm7)]Y€EM0Ԁ@&"X.eQl@B`>auޡZ>r`э3~z P)vbr*WH̀҄GrLH2HͬaY䛂 R rl?zRLE/ J +w;'dHy5VW݋mGY\͉Z;Ŵ!`,3:?ZYUWzD.p+AY?b1&9g7,WȅLgOs|Ї88#Ď .Nl(}Hm\=z^!v*T8o ȧ1u#I%-OUp 83R~~8K+E )vv:yXhIc^[OQ9B {73 aXv\dzd\6@ă,,vF|ŋM)uTn&{_ Ͽ{OXsĻg;DP"jNݢgm G:y#4y@ ]:8! +l-~̋ Ssv.is^VfoNVm$r&Yً`ír"xEGKpT?QgJ;i*<` ]418|>SoBe(wq"m֡7{2~|+m$'tdWAVVwVNhGjxAQA cvyKS4V$(jcif {+ilC!8*$*E9g53dL@J/aCȵC0Ѳi[݈O>MDեڻj>JBdFhQH4npu֬B䅟/Pu@.yCHA/#yӗJu+=ThXwVTDvqZSO(]9BByi'pb#fIzJ(m4GoaIQ9N ۼ֯ZjQ4EZ`}f nZP7H 2LJr#I9iƓozG_h%%ʬ2hCH$QC;`JkJr*'dk٘ +$VRi0g>g7&e]9  o_cj:!H>AvAoԵ'ϴ+gdɃ }Bn X=Ǥ D +/ 1V9p'jY@!Bj !R0N޲W,v8/46Jv#׺k%uS~ +b$Dڍ"GaoiAnČaN+p+rk;%=EypC(ԡ{T)g &Wt).H9,- W?}'2""+ݭ< ~ +j?`@58]AԞP?BgjG"_/ +5xyYhȉQH`_n^+sA,CIlb3By)ClEs7/'>c B}>8F/es'4/i,鲲''<]%meh -Xb>ɒƼ}< 9qF~~S(*#;V/WQAr~-6ҟb[A-Ka]aNma]L_eǥh^p*.b& +읡R >[=Kq]tLr@Z]kk~ w䮵ܵv?r@Z]kk~ w䮵ܵv?r@Z]kk~ w䮵ܵv?r@Z]kk~ w䮵ܵv?r@Z]kk~ w䮵ܵv?r@Z]kk~ w䮵ܵv?r@Z]k?fog`"φ?ICOv8ԇ#lzӟpNlyx0y,8Xd\"ӟOOO ^vOG)?= p|#/~~F2MF_:c솵f7&†ӟX~/Eeq^rt$Qc>Nܛ4GcaǕ$#N/㩯 FDY|!](sFw#0/ +/oō|l%Ry'.H`F^e^`k^>*<]=%vҴ8ȳ"dpjN1c\GEe@Xnmg,%B}[ +fEHY!ivsL2g'OucecZ)!Zo JU{BY>,VѢ%=)#ʝ!Z7YO3vIrQC} _RìЈSN 7F*ouvN+SpsYTF%u\ۨ*XQ1-c/N2_y f(vVFԸ.$C 'P#걲+=r\ )S73a8Fs|vZIe>;qB#<&Uɘ*w'hK2ڛ{Kڤtf2Y҅(CcBl$EZ)&H34]p͜P|,2sOXYâeV`4a%E- H94N!'l7/ 6s\7K7IuN݂¬ &@Qeȹ4~+n"9eI?bY)S؈c9DNY(Qndg+8lf`bL3 D} 'UڙT=Ŕ~Ó(Aٳ"% q@n] gB"L0>ݲeKlMkȭ"WnXBii&Hҵ2dݵ<%aYswNʬ4JJ3&Bu~,햅_9`2L@*,&0}#Mmx1.f jNm%P7YO)} +Bof7L  iSNưh^̑>&u E2tHFOCff +?q|-V@5aaiIo(2G7 lh(ȝ,(4ŊR]y\e.sڟ6aio?llq΋YJʱݒE8"򈲖 +Е"_6n ZϾ8{Y!`#fW^wB}d $kaͫkt`'/=a=l/;y&%jk>Pɰ`!, ㌰\##o+KUg2ᜨ1"yi'>Ni)0HA}2b$|leJl݂)'$aM5Y(c@u0Py7C`Q!Y6 +T%KNVtB}FHXxA{!vvN}18fyV~$FSg5p\d>%ixgGTO DF^h SZYqe*MU⨞ 먁:\=WGiaKC `ٝ/wӛo-#uajXR,9 ;c#9.g (dmI{3v4;2Eբf9|noן5ט?.J@Y[6b1&w@ldXRXӏ<leO, Nb9%^vDB/ڰ͢a anNـ=MuրO1'i= S2nļG)A"ws\Ql@;&aseq+`! DMݢ8E=E$ S.Ha_&&$k@ lPZu'+ +ydJsX((gBb% 6Xg&y^anY +N@ɏ"Sy5VZk & $8L;DmNP)T^99LV͉)Jc R a +I ݼ`)o!|uy#fNx""xс aaR0ZٰT r,~ }DIQ5WYtje m +j9 +ɋ4)*A4JOפ=.y-ڞ`z3GYb~/^AAPΜQ>a-nc -œ)2^gfR'u+X*UNTJ9RsΓ`d0qI^0kqb#lc}߻={stt~y離$ SdːuAHX ld\P4$82na6 JbzQ j<'|axލ1 ry^ 58t̘͜8 wMHt&񎙈1OB xAmxojMC@e )'Z'7!W5Dcc@!Ӎn +NE݆mbt6މ`ÁE1 x)B⒝Ҹ,hd*sJ6a&fBN+NOة L}pϡ:B&,O puTY&!{8{n}-4$[K/?>f .B0,, 4z'7{FDոE +Ϥs'fS 5cٽ& .VhW*,ĒQ'dRzfćw=hd)1 dt\n(!!c!;JGk=BN6 :tBǭϟ?0i>޲Δey5&ǫ<vw'7NܯP5{#f4 + ݙlnivPe{L06`1$hbP&< +rԔCRyL !VpͧF-8&A qI()__aayӸUm!M. d1S)32@h?MJyТL5Óq3ҺI7an2II5<9)ct.Mm4N N:o:0'[LB C8ilf0nעfW@~|DG=:at.1:XIlhQx@Lr /|APmT Y B>s sI5 1VQ\pɆ5nåP>|zϚ䈙s9:Ck,w<)+7;xdB"VvDFn+['`Q1QP2f_ ьB k\,!*wT0R,;<PyĺHۉ$ ƂO @uy'aetzxJ7CM#)q7n WԻX+‽6*Gd"Cm D}Hh)|q79,r(xJ]\ۤTUqͯ2A&B6pL@?8:4cM:yLc&,ls0;P S6| @pS`}.O-*(}.l=t{`H6P]ͤ1[n6!D!T&l)^qK/$=R}k~&L6 ֙Pf"mx}G*gD#@P{MgD'vsIfbs 65:sNX;"M3xJ&l:aQjAi #"xۼq(8ǃq +c:bA^$6af(m+2 MZ4YeU'tq`6i$vرͫFP3r-,@ Ohd( 32#f:i$lFF䨁]0ч5蔅2ڝt/&drs3~H1\a[hX J ha "lk@e1 R\]^*KD^R1j7fD,#uVl+՝b%LX4KU;yfJͨ*bN&GN25trQFĈH\p`aRm;66 wy:: ;:aDSGD ;l␴rB?T6 y/[ai#9 A<4SX2 3vF-S(0z^iJMو1lH>R!AMBO M Ph<#:/2:niSĔs ZɴK(M&ot 6" mօxS!ws'Je_yA;k]!' :o." Z1LXܨ JU`CmjA2KB@N8TfҚqət{WZ$r-#TҍE< #F0&q95ald CFVC x@`Ũ`ş hU7jT6"LԘҨˣqO +`vL6˦G I˸U[h@6j+.UF ~ NTy)3)C88nn G,P._ᓍHD (xv؀&~wx*&jP?ր΍h}*2.&}VB"5>B5@iNp=Cɂ n(nFti39w#`g-fX\?5J_bp&JJͻ9k]5<3`$`3N*Ev6B$v$U~A0 #&lDh#| 5j+!GlupFd|T6mD1#A'4,BwΫ@$&$pYX p%7"P1a ̩]q9O6np;,˘aS&~"n]]:j#jv;({ûȃ*2cXj4*q38`yU] &OG&tXq=1'U0ڗG5n@tꋁ#Oƭ{Tz{)+@;w`u <-7Pv f,jHHe#TģM_%S)x FYa_y8#j "@ /_z ,r TmLlJ<{>vn9kG7BVz5VA; *!9N: I RVt*:));9YȌʁM9?pxh~842x>b H2,mBh+:%7kTU +P@`Ƒ #dRD۴ ?!hژջBOL牙&WPgN\`dpB5V4 d#5vq&tD7X,; 82esdHwtV. Xi=0!P}( 0>Х[ +c)Ja×XC[yuV&TJ|!(K(<͐70/ 5,R&9[,{C 9rKbqxL0lL}Q; +AߜpU'T a5>C*+3P=W\3 Y, +Zd!^!X0cdjn<@A|咡PR@2iF #zOZ}q R|CpJPP]KKDڂ'TFBGpU3.aGe%Pn(,ëN +&怭&!xðNdcz2zTvtnxbL'BXfFmOnDj+l4&{P %mJh(_Xk62nEB*NF +kD +tV>5>;@CUbӳry-PX=`2 `O`ʚ7X6ͻM4ÕWn۸V:e;P3S)TuA +,\7TX$0Bź\zN V=\9PP*?ZS0:$ >_czN_Q<\L`Pŧi h=(9; +63\Ckm6ף_uS?޶s5Q3 逩@Ѳ 8*B 8:`%r|pB~4Ԍ?7ExHYREk*.GHF'APFHA HDJKTLB5ԕTX˞P bAEldĄ+hʥzlruLtr8H#bdSzLv-+tr@).FnI. :5O%fBJ >>-f$V@uk0Y@v*qIDg!{X,*Vi""*F {U_ +CƧaBU1{v1?j >o|5QM>5>bm~Q,tX7TYP]^1.ƚbn`”6` +C;G'@(<`=&<;_¥>Mbg2Mv]w +RqzDtP1ZiJ{'?w{52 +,; T||:ܕDlLG끜n! )(Y,fhUH#-jy&3>|JuDE6RJY Km8OB-kPJ'bF2!;)/Ԗ%&C 4Tam. U7vsNبOѱ1[[P3TeT| fdrxt:-=G3 x3\`G*6qYtT+P46¢7\w)m0rqCi|eE4dX >PX6v\],,B'X]*1oAuf-L\sYPPy%=޺[iⱦT1ۻمųJneXuth+m_N&lKJaN%dh RC'krdp^̭hTg߽ZD Rjdx1?vOvV_}uGiLsZ҅;Y0HuD +g׋s'zϝ ǻ{l~|{%!WfDƉX/[z,=8)f +s;&\f9)?_[k)DcFJB\...vXV B,mV./_E#`q>\Oo LQ`4y9KrewHۍVmtyC% *X\<@G&/͟0|g^O +3ǒT{|zsre={vЋE[^T\g>ǡb{W,]ھw'P[ ƹ; d ?:9_x9,m߾F$1P~&/[ ;g?@*n{]:qLF@?Rdu6=^=2\W:;=Q۸qb΃xOtlXirrp{Bn9"57c٣vs)7ūxk\tsݭ_=q%ӻ`fqRw_\?}|5L$r}t.ٞY;ҷ~Z]<) Ow#l}|# o%ڻY&9s`*&۩ʺ\]͜v-PX+qH w@l/:n!%"nG'jyvH/ ˗(}<" +U4DWةh8OOWO6·p s͝7SDsyGaX^eM6rJHh +&*B'Bdgl?ҩ92R-67.W/Vno vC}^3`?HmKie=ףOtm(fϥg/Vm˦ڥd{[H1%ߩ.~~iPR * W;{+'n^bo+ZCP嶔_J&[{:.';[HÎre*9̌ iLGsV*!@JcQ. B 'W7,fgLhtXeN0~ ]ӛ@OĪˍsˉ[.!뙪fF}v|qsGob68}Oj#Kt + Våhu`E@NG n Aת gN}z%V_غx;jY)ńGltܟ%U#"OLq\(8 +ؓݢ5-OGB%2\q\rڇ*KrcBͥ 㵥 &>=1T@ƂKriW@P=X\M/]u 0PoIvB!Ud- OOՅ|i\wzkZoBje +F/g'3F8'DkDSeQ(#E:@T, {[)AziEw':OQ' f ,Bʂ‚Rٙ*J5l.l]w $BOu8H91325!7=q&UXcWM>7F*.)\l ?ZɴdJG&] ;⒅nszp2ZRM+CEGLj9fSMx"kK)E3Bs|vfBH1);uq>u T/TX5&qTN wN{gb^a +'"7Ca"X&eB*:Ȕέxdi*p0q a#+J{K*/@fw 3SVBmQR3Qpξ_F!|:ؘx(fhB&IabОŋ˕sƶ/X7 ,3" PqyJ9X.b<=/srRd ?nA&.Ae"vTN݈[:OCr ՇWؔz&+TCegr_߭,%{K .5Nypb0!fg11q1VLD(-2`˥|h̞hb=3hA.v[ւߏdsl[c01iOJϝW]bfy Mo8%+`-Wn/ zkqlg<\LH66ʈ|3_^9w>xcO?WNık\sOW~׾9L弴Ib.MJjwcsz>_b߂OЎL"^˷\B렙PWJw\z{3/~W~rLˌ6_!Bpyx8ߎW~e_?sxG}?=yڙ\s .Z}A#YJ.ٰ#"lJ)-ڜRٻx}]}K7?W=o yWw/OFJT4#P}c_-}L FJkfi{N_~}׿7K|~ǟ_^=u/I)Ow]t܍BJYԿ>o~~~۟_}_ _|«?L6Vtn~Jr݂ ?g~k>/xǿ~ן}~?>gϿ;n&331tAbk{+7س/7ٯ}>LgǟꙇFMO2R*j;Fsvmk?/_/򷯽ݛ=}iJnLxy鋗7~7~/?_k/_zmik/UɅN}AW!"Gjsg{'K?{?{}Otڷ_zs׾2u2e%6RD9{|{O?`;yO?>7?O?ӏ>×k(GD ى1'bÏ_?}W_/_|/W^y׶^-OX E.}ٯ oO_~şyO>7zg蝜ZID@"J|}uCO>˯=w~_/_?~|g_/~WKT9cBHP˴׏x[?٧}şo~ˏOw~{=sG/7:'Ly77ql Nr^|;/7~~/_~VN^ +gA9/U6g6v֯\tyKkE11ǺpQo#6 |DB՞ 6n̟ͯO~7x핗_z>ݻ 8r1!Oڀkpi?ev6qkڛo߿ozǥ3^PށaB n:>.Lb46[n?yg~{}ٟwgyf͍n2aX`,:dҀz Ybѳ~Ǖ;^~o+_xyo/{q!oC>ǞO?ͻO~sonoRAmT0ӿu;4 lCEp{L}xuJO>W/O}kv=kze/h3׎0.%R(ՙ=ᔓ->ބ^N1 ucA/qD%㤌ct%/89P_"lD5.bDo518֍RMa1a2lP-O_ڍfsگsSvEрtNfY9H 10!JT"T((t.rvgq]'t;])bDaB@*㗔,L,ɘ)k۝NTt\IJ L̻Jh̨;Uzq8fkl\z't]ggsvPwxɑI= ƌSvgbr"_cxrf/ LrGNvBߊ ,y1vP;:u|^3N+,"8krPE(ϝ4VMZvbBh*.$Rt&!#ZB@ȉF83mx!(fX8w:Pr9W_\?} %W!H \˧XHmd؆OMZ )C $:\J9THߓIiVT҆+XPʤkfƃzYJ9Ǝp(Xm2ia}BrF-)dkpQ.LYpg'<0jEHO.gBad5sgKn*vH횲RWډRX2ՔCVDh;tgxM&ܘ;wFrQ?GHe'Tm +`E'l÷ eo:GGt1a}"iB.;p'*u,X7x&)׎M%|KJT,%s,ҴK6O9 "|AuvAFgo,fʼI=1q;2n9v) cEE'W|P[)'}J@a z4X)ׄ%c''I\n0蕍H+<ac)He +P6$8GRkPMX!E&X +( Lf,riFM{L1ZX4"[MuέE߄r_K*eˤ>+I 4!`()LR%9%f ъqj%"QEgq\a]k~tLVGSIΞwf&*N_D;ĢWAR}fq +}E@S16KP]){ +K7]E/%3v\,;# Κ'ߙв &aPzځZ8o_wFoyEPQ02>z؃٤47Q&dRv71yəH&,>Wa2'8k:"yrB(Sz0d>zV ca&IXq+1Ձ5;h㊫҂1;zO2յ䍕JrTH`aLD%dA97s31фﶮ.@#̕9J.,fq!@&{B4b1֤bcbQoroG Jzi;]ckӅRMp%97*PTV[ivxM/4.҅SwdX*HZxUhs莉\_+N +P5DnXz-gV=Ҋs8W:c#ZA{ʅiXAX,{pӋj Aˡ^DզR\#%L# ,ԕ+ƒ'B4c|QJ]s`^ Kp<,Woq +az2+FTT,cB lzދh>tՑX 0@c 65GSkQ-d `] `?y-U~|7JP `2fIw' +tMrŨo{ta[q (Fg\芟 a$WkL|tk^l%@\Xrqj.*XQs̞M-iM V- fa)_NP]*!ӘZ +yf;}%ն'zPJVu]%l6¤JJ7*3Ro\_F4 `)pz+?IU7rͭӧ_#FO GխNjMD.tG~+*GI֚90'v{/΃TvGǹ +=}R?VԔ jl1fQ.*'|ȝR;BeׄZ>2)M!S bz"3[uVo@m/ tˎs{a3x(YIG{ >b%HpMȍI옵(c_]t%VuFD"RZOubB3tvL.Klf[Tn0X;yW,!1ab4y΃XЩ:%Abه`|7U]GX\Ǵ6*l)l= Ul7yלy.v-Q1%moR+7" +wLJ3zq"YkKGIVvKRiMm-rTcɭ] ǟCg g̗ó58bn"ؓ0 .N(: SjmäxA:a6h{ I}zlb.59:lz˃kTQA%-Jo:LThJꀯ0"Pi،Z}r=~SxG5&#v'il.ińNok]J}wY  _0ql} Tuެ=B,nFE35.rÙЀ` fo6Eg>"TDߕ'a >ۡ60F->7N8Bh-V N) B`I Ծ7Ĺ,\JP-.^Wuދb $rSQ;{q> N$Je /}'f+9)dZ g6x B_8V~67D'0c| 3Y*3N.&?kjyG̜\Z<{}s)a6[.?b^u@ZVuY /e"5rg6[\U!b8{@@ɶzIE){/j[ wS}lR_/^< ~\֞e'8{m9+Gd!GMڞ{WOm/2ow_/P\,=پem'v.nxЅLj>] +_AX  ZznAeWhMK3*Φx֫oؗWiRJ@wA:JLn +郆 kÇ{jLCiGOM7LJW69 Y]]o^-F,5Q1{ŗ7~{O~|CHM^MUPsze-:U9#&To +8<[_:ꞗΦo2C@Z^̼'|sMUn,B>;f4VB%Xn]̻91!=q+θ-az h.yq4[LnW*qS"%e|_0N]0@|lv2&7Brmid63KIΏ41ރ!S]͵4ɦㄚ쮞ˣ>oѽ|ū/~ zN"fI}Mt9~4/ !2ݽ!Asc(4OeVu;'TӇymiy4{6rE9|_ ŵ[ʏgY@6~NC;H8,^K[ۗ'/̞=,6,%}WI|_ ^B (ݳn8|0o/GPbqGøM7frIAeǯ=Ra„Be3=>?rPjގk*$`P@B^YX]] +{ 1)B*ДVsCm +5ub/!IEkU51;Ԋ[AFKJ a"CusnbbbRY +rFjLsO1JOҺk +yB߼*ITy=;C69_ SlPrqA6 3xL\@f|/<TQSz1:{#W@\1!Ljŵ얟^ڡJ^uD1ra-B[ATԊD{H| Rܘ>C &W d!__:*خ3TLv(VqC{$TON+ӻNTyɴhw֙# +AⳣT@)l3ӯ,'A98mޙMNYwZXUT}:p/#憩1/?jPZ4\R޹9mgbqGcAf& w +'ba]d +ʕcdm3۝=Kyx×=|+ _ս ;!~Hi~tji(v9=wJyT|}ysyߜlv :+DP +MUndzj u'U\_Xj ӻwvmSFkA/5|h.֤&/h@8)G_0C'I eԝQBAIx|!&:^[zk_ȍ&?3b !7Z"sT@40DoB_ PACL rډ\V>TLbBYvw_L?|$xD(FS1ךժVIN& ܳI0yl&|"(%*d3L 5viozouR2=. "6 +rmivJصТYAvrb)p=L2lLG:ӳRЏ3DTRFˏ|NJg>rJnժlhT&TĽvF0Uf/'3 +endstream endobj 354 0 obj <>stream +pC0ZMɴ|1/oy~ +dFLȅÓ5ET@裭޾TӚ==2)8,n>޺݇ +V&3G ~rdƥ H%@0q\)JhR޾h0Iq|igWg8l!`yj bTp>^,xhM)-ɨ9n 9oLw^l)HzfR)rD8JS!@sZL*ƅh7T7?j=3ZDj77L碄r+>4IYR}Nԝ$EL.gz;8yƃGz\,!R-)VhW7ɵR)ws3 +%MlETaRCb֎{tegol+rq?RC1eSWOYTe%."1„` pܯ-݈'̰zSI-[?zlVƈM'"a~ [$|u>q 1Bedࢨ!{?r +RiNP:{_C^ɕX@B4l +K>fЮ0^ D,(aT"!=Q*Z=LowAW3+n +!"CTs%fBkiw&0.CHpʏ\.x +Z 63KW絊Sq#kϫw7N{Af4d6TT>T!_p!=(n1Z|?ڤ֒Ro'?WRqmqT\}L̯Z7tk&~<툉 वSb57> gi}äGw޴LK̦s)={w*ݯON|TwHq-^Ť:Rj8sUn@RY'9Sr}O^s2#t LnHg?@+\ +1y6;m>,wJݭb*@ISIcrakrb$"I3ގ`>$,%ߕk"W6WnmV{ I%I[`ŝ&Sy#4)dۛ{w}j;6^ʚ3b{9oc8r ( Da)Y \:T]`k) 1LG(f"\,>[W 6՘HiX{ٯvpm^cؕK[1p׭'_=k n^@))o>v@PIu2ڛ0F~t UHM\k1Za2ꎩP#S$fWgdlMkwJkzݺGM/Tg4!l:#$!f0* ޼r0} !6$-4q٤X}N6g3BrGOqix'~B5JhVY^~v}ʘBٚMI$_dw]"L% KkZiRO5nyK _TrG$_ZoiA6 Ĺ4p<۹~! Af (XƔ:{^\ ;@PSQνWHLu 'Fs}\W/o +zJS vN?2j; 7]m] +^T R^ިMHm+B +PWȨo{[OFON[TuU)L4:>ߣF+9 Q6TZu`|r8>,Z9;7[\ +;ctMs;7ȏiۮ} -ZsKoJ)v4>p7*@L3E ڝog'Lq+IwvRw\~}c›PDvFC`R&E$pC:jɥN2o]/^bRiuB![X/3YGwyOD;u#*\: ?]{Hd.;QJ!*'!(-Dkcs]@ٻK*NezZc0M ^t?g#{Q1lRSFI#)rv/Jlm_F4#XLىt{^]$,p [ZA{P=zAKG0ك㳟^~}yI{2U[OG?=ݸe8x(}i4]2z}%"\s]rXavRj_oc< իjӘڈ1 +B)@A2|:[/2{ 7)l>`ғmȴ72V7?:ol<83~4w;wK7# la ||,{זlPJb7c$CL˭V?7܄ʌT(o{N76tgwsɻ_Z*現޻qUrlyw?uәpͮ0 >g3X]Umt/~z:?>ǭ~/FHoFa{yyi W\ JvCTTz,6[ rjQ2fZ;>+-fc7;vl?]?dz8LrT6 ag+~uF%0xAaͭn܁X)Uknv^\|싄Tkn_~J%\vsg SO(OoEp0a 3cmq7/7B0;շ`@klμf\npR#pV8y:&Q0KNϙ*?tt+d01qWዤPr%Y Nrrèō0ל7e !<:&"ҒՃO$XZۣW?^'Be|yǿ>wÓnEi;KUw7O\|96Ug'\q'•} GDoѫ?h Iw΄rӉ)7Np}ˍP5- G 4:jje*Q+IN6?sBbrFt}%k aA(TNt>LJʦ+$,1Gْ juRNez=j5v=z+}7oe|S!7.5fzs6FhVOU 4:謸`tqTh=Ɍάѹ\ۥ]ͅ8\sV[(|jl͝ѝ2{\iX7E+eRaTrn!3޸ +v*?R|*U +S17 `;Q\ܗ` _ͣ7߯;bOpqR@]q{;#F4`[%EeJgSTQ)~3u(ߏw: ,Cd9ɤ+}q| +@CΞpU\kϿ{J&Ro3wdV!D#zf΍!}B!QOMYr# csjTvӥ)ɛs֨fs FVˣփ-{_47A<6 JUB;%5yT"*ϔRr)wBĜZ_{uv/7/˿'~'&)L/ӝ٫ߌoRy_qu/Qǿ~]__k:J\u"X +QmxW[4vt^6vYዓg? ~x?\oNƚx1e#t6D۠ٗcBkh"S+ ،|8X^+1W瑐ZQmkw6P(XEJ"k'<[8 ̣B)FZ&*0-# CblUy'+'E3 )W(eo"削0D$?ig㓏[Z}7!WQA6[Fq`mZ'".J>TI= WLn,ůυWt4N*%`+7 /iGsh:UJrVϘt訹y0P+0CC6dL87 Yϋ(PBϙy#` #|]1H`I>Z-[?:|e}o~y{?+\G+\?S>է' 1Y#֍/7/Y7Rp{ӯ~z?}/Wwѻ׻lڅmyQ̓ 1buVI +v{z  0dAc("M0 ~}I{~@bq'$8kY0+֛~BGS'ՍBqˍh"gD-򈐦2m6tS(@~.At/L71{aLC/d*'RZ˛}&3&#y)EE97T nXN@&Y;F[.dAgw$.9drsZG'Q6-3)D)o@JRk!,bYv!J,n+1!F!LĄ9gRBDHөfDHј݃1eRtj>gL_ +vg<>2-\kxp:[6|'*c/Z}K-w4gRg0|l/ɗ{͟}_g/}}_??Ntavx[ RxckpHUT3Y;ɏ/~ɧ1|_/r͍glDPF(vTj3JC8 U?Cdʫfc6;P!'F;<$[n|K,en+ks^ S8U;ru],Lx{E (RcIts??zgLLu(zLJWK^y!55m(3rD|da\|*YR1z5U&byJ[M><1ԀԻLl+& &Ƹ BBau=qa9@O +ccȩl*'VPҕpu\_ζb#WGVw2]Bl޹0"D;F*Q{w^U4SJk|ve3$)' 6KT<~/&-^w޲i뇟yϪ-_⻿޻ޝTP 5_~L{*>]4{kgӿN5j÷SixGT?@@^n_~gU}pm%~s%cLPwR:j PQjۏ~}Jy7O֨Na|8tI%"mnyE/yr_7=?WW~ BZk!7!FbFRdL5j(֬Ik|k7USǬ\qy9z)fNBr)osEX˕j\,{QʴvuW6_Sg`eJX&SZZYd?aDa$Qo9އ)H*I [b !tvn]=OGVuUF;{K<ipjg**h` <2Ag|Xbʥ^P*!R +g4qg*<+:ط:GJay49}Ur}xxnl!\>1qZ cEp[d*!TRm~ f\\Y?_0z8Ǥ"BH[G7^w +4,7]Anj6?~۷_Ck+ŐֵgVPMW9Ũ+"gǟB"4-f0A *~[{PP5Ll+UB.Dh8qC Tl5\k5^?ݿQ^1OJ8kpje1>Ig06OTar/JzSLUeFY+ZADu6 V +=Qi RdC(G(E+JSq ֛kV2Zroϟ! rg `<Rٮ#$xg),,D(44#&*UTϏ0!@Gd|v0z֒0Cph֜;Hz |yvB(y4AL„ o5($5-SԜ/BJLqr%V݁qF 6 hމ" g(!ŵ0bfODb|VJrR'D,8I`u:}c)2wQ^Y3b̈́X1OTLRv#1{.z28y=xH Rt#TTZqHyI+HFc@BdgJF)VSƇD8Fbt0v,B CC OUsDtoBs`#KdG F3a(IFLa6CL`X G;C`4 +" %BնoP@@SawL جLA1@ంL%iF, {8UF8:B*b`*T.' aq)][P|cX:%ز?㺦Uz0.3JQ%斂W;\ux,iq4٪kfJ:݉+77}+Έ/Hb>).O|q0Cl⭥y*9\v'=!,լ q+H(Ϻc9)I($Rt&C\8ʖ*YL$ɄVcܿwD1Pi9 oKza43e|lnzhgw~xA0$xBӔ|> / +mZ9;8m%RE] +l_/.*z*Ir$oIFWhM0 vu fRV?%$W\p%aADJٍd{OT5PlB4H5rwCԅtR0NrK%㘄T)1 ҅i^ՔJ(E 卝UZU1 LFH=1!*eƒ|0|P@QN5)o\=Xie"tzٕ+ q^o<i5RJɲK!bA8Q J;e6 ֲk7 +Gq62uI_()@%D)1R@/x>EX|1TYV*zw4zhjedv-F +/"-L*ljbE.U }klu~j ,"$$IrJbt3DtLL˃7A];ި}oӽf9Yl\"B>ig_Ikb>e‘"}* ȢT9ׯ1dz'#lYQm=NVS~R`?AZPrZa$8WWL(eA$#yGܳkKb錜BrB䜁tD 0I((EԮ%Kh$wޕ{ws98<}-TRȫGoy㥫oFm;m"H0z8J8)b(3X9wkz{Fѕ;߼_|W?ӷ_:;_kj Ebx0rG%Xdf)r= ~аևnig}ޭgW_|ɵVe-C\ ;7<7嘝Hh"kfYW%*\\̌mq hX? x,\/^??9۷_}//㯾>zKoe2`n׵A>^ǮoZWs|'ۿї_zKang(D$`@µU\~w.Ͽ?ß᯾??y^.ŹpZJ wr_l [˹[ݯv__|՗쯀D/]`"S] +:E$u֣snYwlh헯'N}_{X٣l4+KNZWWo7;￸7G~'߾_󓏟;̫L$:]x%eAϾvgwvˏ}q/}?y>z'߼_?zkNkr9Y)ðkun_~r?W>Γ{O_ɕ:ݱaw"%ǂD%~[ۥum3'7~|mq6, O緍?X/7K7`~_o/߿ZMÊIBACަi{o/}߽?÷7/G*ecB\HxBJZ`_;޻]'o͟?~o?ѓ|쯾yo૧wkR}!1ln/6ڝ7ݏOO_~O>}aE<݁X,F,;,m#7GܣkZ>~g}_ۿ/oLmմ)J75)x?ݿ?޻oO>_~|R4y}>3v &0"gK̓oO__ꭿo;~k7o:Yʔ1,ccR)7A#}xߺ?z/?y_<W߻U|U H iAJKfͦ:tzg>9μswO~?O/r#L +@h׫Y7?}揿q_~~?~/?.$CD Dd2lNT䫫/𥣿W~o|oՇw>zʣf֐!"A8U(YeQt%{{3~/>ynݓ^g*[KzЃE(ZjV&J֔Gǭ~W÷~ٛw'gzrZU% qhd CQȦ_#֔7n4޾k~{O_Y-sfJ}MeY|CܣқGO-=8}ӏͣoJU9HLυ0N:[ۍo[Ni?ue`4ׁ89K91Yt9_(jA6[ӕQKqW~''~qQ-Au&x' !BNEH<pU÷x?Y/Go??|qF_zQ5Pj|yemTnlW_}흇':y\Ao7 ξ.d=k\^ySW+|'+vl[I1T|RˤR ]M4dP TNlqrNp\r-M HԸ;B;B<\A/4+vk/?xqk??'oK]n|)NI# +H*s|fC+~ׯuo컏;۸uZgkE5ri3(zJ+\APPJJ\*>VNWkm-%͡( +njj.>̔%8 hֵb6Sfk+HTbIS)Jz4! b2r1W[W릲^Ki뫕v]i諕JŪho~ *!CXjj6gf@X"-9/y~&\˼}oKox2<6,PJIUVi|x0c$'9NdV-匼--QWEE5` %.$Pd).sA҇H`˓*b# S(V(jCP<&Q}Tuh\ƤqVG1NV8 m"F9۫Fʆ=s!D\B0z[L51Zu{8H_<=\Z"9dM~MCF1QrAd\,tݨd3zn`jˍ50֊n\j icadaaąj},fnj,D~Lmȕ-["7lUb >Z΍ʮ8T{33NYOng.:ⴹ#1ꎪCO9W+ZP̬Qc1^p~pB=? qq6SQ:+NOIH1|{+*-GLQn}iTَ)e\ɯ]W]9 9TE"eY-gN\vRB) aX,kLK}.fr[JJ"RՇim&ٯcAE & iOzq#@\cu#\V/gVv"Y#Cw5>Vj;BnԪdTژlFXQ*=K>…( 'PDZdU2d-q1K. RiOB !ҏʌVq\lü7sz ך~҂OaZ/uP丁5Jś,rd#"gcڔw޸ҤƔ:QFh-!3Z~1P2Te3.:5r1º2G͘2ChGlbI'fT;sRuO*]> f},&HR!*rD9}Դ%)"eW|51 Mv sY4;tqE  Fq#7q%J .d +W̍[1v~>00*]#?8pSV;&˹&T؉+Qޑ0n~N~ykZllF:l~+lv/ Gm>?vc)181Y,HgHs)@T%R-06ۇ>Ԫ[Fes˄ՉZFc+6gthxMB|J+lڧn}&f:1 +IdZ=}4<0T L ]PE%oB Q՟#t+~*+f+14AmJ~&'bvw&Ȇ>^Ŵ&EͧDt=%STbH%Z!S,^@ >KdN\\`A&[TfD DPs+! + _0"Uf,9ti,Bn%>Bfg>c'+IMz zG-e;нyځ{_DE T]L/uBIҚ OҙX*\y+d +坻n: 1f75cpNE7FPѥV6dY*.oz{xd٨[܊J5JpL%SLjv^q *jyb{Bt=<|\m vEU(4rs i+46awYGDF;jhiơX٣{&׋˷4ETzY(Jm2&7)Xp!*ԕktvϮԎ+ʶlD +%/4N̆kx0cC] + \Hhdp=B8ڽQ_+n>䋛NT7ACҔה#x$X Ю)??Kb/[K>?p݋ބ A:B-/ +[z'oa6Q+B\ɮw/%j4-CQ\וiv\ ng6j +1dGdf#Wgrqt,czɭ M vnBvr~D٫_~q|fDj(=o=œ=N.ǤɊRc녥7r7H{@6ftbέeGryYPǖ"rMvhۈHhA ~RG'az׿s/L^^y)7L鷺7+GW orv-ܚnBں;b}~s(mLڝ#fy0L~Ơ~޵}/50ڧtfJh{ dz@lA-歹m=Dn"u[SӅŠZ1;G ^?gכC@aJ 4ډJ>/_dS \ 3_xq+5ΨrWŠ ݸ7F:sMJpG_ Z^/ k>j:s`Bq & +m"6KgZJ%0;{#Bi{| 7znzV_pX\7;W~{﹯5'Kim ~y9-,y-Z5ۘZ y֗JD $k)PJykPbq#:>}Z7N2!,>/&X&ӎC: yKƄ"k)gxn+]Vj{Zm;@AR˶wtOja7[{vniP(Y˵mu-qtL,:8RY:(^\i蕭d-..?wҷn{ݖcԻ'of\^YW^_Z]X` +gYڼ,T*Vo4wWn?R)5aM×7dp(.B+~ыM ]>cD{茈OO j'"rVZ!VT au#&9Yyazp=ۗBZw>Z+:"B|8nZ7.|X)qFk~qvc{;۷4Z:oowmyI;j 9K;hm6N2ByWVn}D+mnֺ a]EGw k@i7Ovddѻً˵ltvpu'ɶhI.J}8M>c46޺^M~T鞏qكNi[: `d~np=ؓ # ؄\+lvY-e;;^_9xI輽޺;zYjOnxό(sikڪ?.OxjqU̯cx1aτd& +fm/7/]3FVg*Wojß#Mqk]?f_D} {*sø& }( CЎ +b\, H>ڎZm[*T3@hZR+f{zHj J8Yer\^&ʵkbef{1赥/6#ҽ ko! ed5eh8;N7TN)<ـYl~Y&k{zm[{_^\_@U2}Vo,onzxOkTBT +˻_tvv Q2Kהe*U{o|$^:O^sʝ*O C gB!R (m^캰ZKNLJ:3c "SIaLop|X*!.e̮YHB\N94 s:d9 Y&?ŴV\F2aq2*Zk0}\| In%&kDNaxRGHTe!hE]l_‘k_0"f Xv<4++^26.Y!Zks~*R\~NipUSG{s]^*;؄ڻ77\EmKekZm7z^(MRv^aH/x;\6$zϮrLn٢^Xnm\GJز#>9m'k^w~p¦:Ja ơ~;.V47B">ʣf_$/'^|v6r΁bLj*{fe||~Rj0LU5 ̈́M5$^0ST Tn7w5PЛ\ 10M(%sH )2[ǫ* qY\*ň0GfX"JK:tZ+:PÙHSA|E:ClSɯAcr)҈Pt^ې˫{cVSrK]2B,K"/mZVkuuWonOJeGL)yxvcFjyM.ew^_D?k7V "ʫ=肌x&u"gkTVƸ4Զrup62vW,o{z ,E5TF' s dy|]+IsqJr@Ϊo=}!ʗAܱd) t~1${Q}1ccdt?$JUmH_a\JkByUkl2QAk4Q0tz&A&mBo_oL |E82}{܀+/W3HlA={pH֘Ts%* !O[ގY9!f^pSE+BS~wW\ĵfT[1fH6Q*ZyE<V1H\HȏfCOF3RIBD€>CR>7\AcAm!93qLmE#H7'ƶ= "UghO\t"stžM6Jkzi݃jյ@zPȯ!9nC{&+&+ab~f("̠ɎR"[@缔YY.y酠0/`PraCʯ)Ga'w{øH>#0V{tu^iT`HPN +jo+LvŅ+sa2m5[ŕ;]B-j[ރd}I6r+{Beb*0&.VWnpfAȯ[ q%?i|bäAKjev8ZK^˜Ө\CrB [ }*}x +jFnt+;_l*D9T] aakj]&=Ov 4ܻZL,τ%Ҍ֎g}ts2v0e _!qvlZ\)pß0BdL6B LHYD^2Jy3gT*S ѪIȍ/,Q?rCLJGTHÀd,#U83 q(Z+¦)9$Rj gK~y BgIг~@|0ń>Q|Յ(lhxf~ff'7'1JEx;.'!IaRQJ +"§IEm@#tq ϭ@(kӫҞ5&>\ R+0J4G^OiAe >1@TH1sc2Yza`*rfZ}i:$sXlAbJ5bR\eVY2x)0cj9=ȯ3!ŭWJ$BCiB 6=ɞbI*I#<5qiOY7Zw!$;#j\(fWkb+XmoBK5DƒR7Zg +c;fp܍ɲy'٘Xѫ[ 1W]/.d{X$L` 6՜⮘BL k3~:mivivmg|l͎֖z0#*T7ܚXXgj/ɧZuKYϺŸ*ډJdq Գn:ė=DKbH^D]zsOD-ĽxJ cZPqf +Qu:Kp*laSiPȴ7iITa7yf: Q:牫^TB,9IK_: ˧Ri(1TvbqٿS)}d΍b-0mz=̥C,lvw/ 2\ ECR-:o#J+m5?pa);T]tάP1āꄱ mQ= G"+P"V ?0 K#RkC)w#U"Փ+GݽZ;/"jc6IVɵ+GR8"Tj;SRi7qA'gד3D1mڃyb!QƗ菆MLir3@dp SG'Z:?ÅR ?n9P(%O+@BUkzm{">"Ki7ag "p)f1fsQI-:gvROCH4ࢦjcvgRio>;^xBDu_B.RFF3^ƕLܓRrfYnf;e R PuHT+g eW kC,E}#5rU-&R2"LV-Sz3YܰU^&7]0R%g<[alK^!nT=Ś#Bz:w!ĸHτX^ƭ07A B7fbn\K02ad:0SZ`aC08KcE댩wR):9 qͤgB#B3) sdj F>%[)dbLaL[#}(EY>5.D bz1PZ{懤 psA1 d֏jxɥ %`@#ŜA&U%>J,pB~:2,C~s"l ̥zVJ{M2]MkJE-ǹd\uE&9%DhɧJa1;DJhE/NWzLD9;pAZ 9\kcBUxLKMBn{HdE +mh|P({B "U2]rUEff7aL( :\\Kq!u> yLz.Q d6ĠBяaL.@]ESK^6?怸 :M.=VJqR܀ g4f|%/1.7*;1rōKn%{z !d<Ȥ!z+ȕ)cYmnx[ +JH2z|ve&$y-BA~x`!L7R |}e֓&' Z+\ܞ(Oupaҙ&yggOMyD*1MO KO.$9 Pm(s!wBwdb|;头?P҃[2qO\< TBd^)Ou\vGʯQ`rDʍf@DnTr=c&7&qňH1 ل4zPa)*mt#t&3,Pt˂pS.rmBA\iNVN "wAE`Z|d.td)̪^qqS{aes=AtEFusPlA&7?A/HP %SjLyـfJ=Ɠ͋F!KX!x 3b/z0_jrq=Lٛgt 5?UUf^ + +1s>b2"OTZsP5( eF +PSN %㧋p +Ph9?=_t`a[ /\ +{+L 3RZ~n!6!4P>%W\ ܸϸ)7ujRnLh r@]Ʌt0/~(wB6?wbX +#d0 < &&U#|1.1(Snb6Bx!I rT:`$@B %!ƤQlA2 +HF=3%֡ -JMVTchhY/ _0(Ð"*_-(K>=09g!χyi 6JY7@ A{1A-FSp{f& N9AX9r`slvW xeuS>ZX OO\S;oV|gKj~:K`CWTҦMɖQ=U){aL=!*4yXG |4Ejgg@;g.g c2q_<: ,0 )ˬY/HؔևbD[3Oֽh/g3qAiMT(#%757f J',sHJer:Z(c&X?*6k%=$PQ?>"BӋŲ~a$Q}fAA&X<)>|?e:d6.M0blFy샳(hۇJb0ZIGCʬR9BQ6AύYݰ:bb\A_0VeVrF"mv=ye.郘pFU Nj&t0:3<ңX!g{g5iRX +P rP3Y}iCLh%:BL( nS.*d9YlW!/\1S΄/P 1;~Lf@kS84pC%NLꆙJ,jaS KQ HFALJ;Bqwo'K{O Π S e^6\2 u\HR@.(Zs?u@nsU!P`:vBZ^ps\=I25 Ջ +к`1>4D0S ?㈥ +Ũ4:qG^ 0!"Xark>Ҝl wƥP9Z>h""'\skaMi4t!9̜զZ9CօKAwXĥ҂q!k˜ IMcH>KgP6!"% +{O2;F +mg/#2 kl\:>ř`3gŽ7;w;yㅘ>r!:* wflj#B%8 f#| $d>&볤B''uQaθ +$Lf{PQ5fE(3bK!fvs3n|j.1ḯRLmaz?4iڇj}> +̀?+@`dSK5} BtC˛l_%HruAퟺvAzփ&-\Kr^IT*}.N6F h7"5%?Ž=Sm7xd>@;C{1WjXs ^ПpH+J;&`^. <;lL(m΢t Q5l.8;ӧ.GP[mj]p0`y0j,'mZ-cҫD., D=/xGdBmHMG>236Q2L2T3G .J0a&Rv*2ǭ7U7qœŒ@6vrr.!%ԠA"2A% sl% D\ɅDDq  +8tq b >M:E?“f{QZv ڳ /M 2+xQ 6*w\`^2D KjrDz08N֍qZV3/.Nb|Ѱd͛f}%'ROM8EBnj ÈF%=E7lK'4 +WD 0ab@Z~|n3 h*mtH]1 Ţ1O] .d޹Xs0DXkOh=qv?U +TRrK]AJ [ՇLHrA 1 M>CR& gMCY `*,E/9zٽTa:Cm13CqMjqԠUMg2T 5YX,?\% +T笕_A.|\BmaTY8*!m8 ]y"َryr2gzJBcjYHwv"I3k-DBȹUv*QHF2KxP><1ĭp+.T!l.nj0 P3$nT&8BޛFeib ՃPݝAIntgDYUY]KOu4fӣAIzI0#I @Ā7w{=[y)"& ؔ>|ޞ(|q>FdQ%И@bae''iNR/ wpY>pFL҆]5 a9P; {R"m꡷U]pk!:Aesw*#Ltv +iݎ38}y֎2J;N$gM+*F1kFm_* նRi*'(GPk~6Lж#͝AUVJ8b˜"PȍL>®(}G#3BT`]tr%+ 42Ziܬ2fRۘ\5w)DnJnI+l+'2k@d<᩠\b'Ɣ#|i)pTan}3MZh(P[v_xPm1BAq!#xaͧ^}`v;ϪB-L*\bF4B*yXe(`&zp&䚽7J}!wIW#3s Jޭ_]ug .]A1yf+a)n4|!)g7Ty_Y<'#h8[#ŋl 1B*'t+F +4vZY]$){!_zADg@jRZ:mi{G*B ATePL6EadZ[ 3@`(kiùV=.FV-"L!Fx4 "?(:gnh_R~XT9u-ҌŐ:nMhkf5NAFJzaLQƻf6(O:7dYe*rs(!KI13Gb/q@뀥y6@_e{qJ1 W/Uz~ڈЃ]jQBX}qDÍ(.40o'a(c | Ze!Oӳ뻬3ir5 ˣ5;|9:= 8Sݙ=cJuvhϽ{+{[ic_ +Y|ϔGg}S|r-'gÃɕK'Q̗*F{^W +'LF{/~裴?׼G $#Hh&I" ^Ed$QEp?=IÑp"mHD( UO{'Ə>:G}D_(~)!95{3 Gax/$G)mvʦkB;$KE$Iić ;ooS !?LyM\&#24Bd?ȵKpyBkFT11QMewC&Rq*U1bFZ 3l~cOq\Õ + Ғ+r9DfszX᝹Z35D&j;#DU٧ZKM_Zvt00f_^ɥrRtq LkCs=竇i k9#BnqQ @ZN;VŵPڍqŌւaj6DVPNogfG.0B`>j;J8!H2yۧi@ oD(nvL45~FnFL1WB=8T.dfo*d,bt>F95qZ$>rkQn+%R2qL@lUSg&,x{r3R jIʘ +ގ38ŭo%$SnFjZɎ> +kOʒˏ¸NGPô +fZ[- ¸ZiAH+ŗ옱'\U *Mc%fqkiJocR%iXK;VBpX~Te>Yi0%S|Q(rz +7q 5r1ʎV@:S&J cl]T۵h&24N{]<K)(u;xn[C-NiKagxv*㦹"F2‡wX_JޮJۈNXO +BzBC@xYEH;y{lF,%Y'B!Ta8j@!!l-`nJ`J:LnHf_6τ^ZkjC8C8!^w;4{ QM8gV9,;Pek0o v)PńjR ʀZ@'+,s3ntLnޯ%|ΤXA0f\H2Xë́B 0r/@lSA2`&€! T&D_R0'^QFU'sfka&֠U4BEBuP[)5Z~D YDn3ξV;vB،skAl=Lb9xqqQR|&.%H53z#FPESNsL*I8z> ޅ݅:JJg=9S?뿛=:.るgLn_m-\DjP:JǼ;Z ]SX ݡU?|U? +R3x쌞9by,^~rs@iVlv,&ܸmg9B%^ +iVv/%6%I&妬ݻ綒Z2ΞX: +{tvP(`iIa3l' cRR;N3n1 %Do+lĥbVʇfJX1o6b?3@y(Wok +$Y~-m +LwvHc[vhPːaάG͸aka$ݍ(I 5{[I{T>D) +uKS(T]؈P*mPHSl3KA`笲+uQjF7rjr~ < +2f;J;p9pO1a˥2$7nsZ?{oZ/rla-,2йPZaFQtSe9P]m.FRF!LhgjKѝ"pSoB_;^O:A79SP쀨Pɀ1eVRbq@]6)q;)d6s $׼}M> [lFBX[ .Q¤b@j3Gq'̈́@M(0RvJSc37z9R[6Ggto^3vk@3RTH@LB@FP9D,.5N+GFFܶ|)VVa(_N2zB(ۜ緒g $k/rgk׻'5atIGFu䇘QY;ҪZL,J@c? &qLiū7tq f:{6\9!3ZG[+0k3)q $ՖV;ZkTkF]ʂ"yFm{Bbijz|4n+ۨHu(?p"[5Lڠhc\p^Hu5_RnB6e  'Q3I~.g.AǠZL%bnM@bx?ָ\1a"#]TlBTḱL@>"iD0jE0E`!5CCڡgJ +6&7g9L0DUN(Pc 2 ar֣oౕ,URlDʖ8kz-Hl(aVhח i ^cK{[IաHsc67FP<EW^ɕ`=]`f/A-ôs޹1"TyFj'j˻;*W-S8wJC5wߩCW5]G|i/n#c3*'9$_TY @raLgjZm6x^pramE'Le +Hi ջFy6 Sp|LkPJMRz&wxDŽbdZ&? ba N^v +dmT +HFR c@=ic "!DY1 9Ari~fB$kWʄk@LD>}+I2Hi#]@ \ +f4Fq.`7ڍ(c@Q  $tz\ߪ}ȟN.wNQ⌡<0ȀƠ@Z|+$pCpMrt.Մ?RGNi tvFގR*BǧX>Wơ\BJjcR1&F`۩z8pE:q"T* P1˻q br : =&i WrFP<RD`4dZZ(x>8PZE02Bv,VvB؜|5yŖ ߞ^8RBL+>JG; J=BsAvRiE(@!\k Q*iHFwe{4~D] ΔVղ -pMI3źo=uwvwQ. &SL%P4󽫟O?F|3)@ׁ +bYpjQ +*!I:bvfe`La Bج`h(_J3`5N[H(-% ,mtchOO-VSE^ar-o(BTNBRHQ2bWڀ_X4@Cm+I-y/DnāU/ED_+-夘4NqROnKet2RBY-/1NmTkhn73V;l J-3W'jV7Ū\Z懏cvZA8lJFkPϨ]^$Z9V grQ€2vg`z=#0> 5؃0!1at8?"&>\B pFvb73₆FE)X&KsG('F$B@_I7J mVrCT `N*h_'7փ|2G e 2NalгuvʣR a [6EbkHգ L F$̻QKACQ2Q8GHi3AD$dI?B&|at"AJޙUHOPEBVR?Um?XQgʘ5]0qig/zaZJ#BYP #?hB-k]BY0;0iRz5Lvl4ϕQJoCx}W/P;1Ŵ@Te `?xp5-pJ]W0͘bA„Ju܊{W]pʃrNQ/ᴰXГ."[Sn3 m%0cL5T3J1\ v1Ť ԏ2i2ŒPB :\5ɔ6<j$H؟bOH=? +|Ϗ٭d 9 +^#) Miݟ6,/XOI(|MBB(0r+W> I-$Y8c `;!zDpF,LQ x 02ŕaڴIN rfwr,=tYۧ`J(BM΂Ժ 2-rg /Jz<)}ʞP#[jP=MmX,ȳX>PgP:Ի6?'"8D="KU w# Hh[TZNW8NA[ә܈=`9w5 pLKHX׌ c6lJż9ebƠ frAasr& 4_XOQ-#UQHi љG3z0hlQV(jAiFqFv@Lh$T~(MS(h< +&(픖`Jן(Dh$r#|S/CŪqmXi(SCx?HҚRi w=ú$d[؄i#:[)zފKG#A`m=A>djJ ➠b9΀Y MT,`p!Y''1:BY{Z= 9BcTp>MXv٩Oij0Iv0Muh a̟RA^?hܔ'W`WP :G\'-TxIHQ ua +>mvt2j;%R=F(KT1YC_Bf"Y~ea-!*%_W˗ޒU;!oBܢ^ݣ.4\ine hbg5m>D1dSZنDm܃Aɓp荀WZ=J+ x4_6vR ;cATAV/W\nk%h 4DS߈Kq:.6AK'ih2UQ"g*5) +@u=3No'T6wDxPi6FT%JURwIp( |?@@dpBK5[dVc\ȃ^T({ף0xJ/KlQsA݁̆)]Pg ,}( >Am@^G(]pV&T )Q.e fIpU.?3GJe%Zc7dvgV?0;MX1piJ :׍&8Loq7a}<֜6ZR~5!@? ik<Ib%Tc dbޡ^'%C+OIuy`4pN3|(!WÌنR~RQ .u͛ùS&w,`cJF͍YMt'{i*Y)=TjgN2(]G{ ١0 (s3eJ+| AqI ޅ uR2rzOT֩ٽ"sܠ1j4)SR9P/ݑ\YvJ}܃z) 0-UJQeǔuF[)C PFO*ЄޡT nXA& +[f B>ntPQ+I*C#FFk28p+E ʦ׌^\kC3J+-Cd! K-XǵV AA<08EiE{7Ju}2i U(_ ԏ/AZHC) S|Ԫ#8hx 6S"|[=bsq`uT(i-'٣XYRv_ +f(W \q9༱zPFfT~0!&Qln7TY&NqA}2{jB[݇JPʏ;[ پ0;Ɖ\;"W tc&G2L X82r-L؞=m~͎ƱPӹ>^ߥnR(0Θˏq.$*?vO^&e8Wf,xLϤPW+gXݳl9+هb2&n,K 8lX\rp>] ϤXΨ-/n27rGR^;Ϻo7(z/7!Fu9qbeH'BδP@mPGP0ȶEs1Oyuڞ>ULsjF4.ʕ\fF@d;vDZ*LQjd8$3W/Zc 36?j;z}_{~%. MWS* csFd~h]<5T?*Bi79) gN˶3HƄFHWjej4qq8;c +S̀NىQ6@+WOFJ`A}4{N%< ]Ӈmȵ\-N@ubIEPw^?Wvs#T|\ݹi~98+k=Ǎ6 +8j+AwTJ vUZl{/>,.wn(gFmѪ~D:򳧥?j{q!NƉVEa.Q3 ,؃gK\砻sM,@T(m>ctg/{~ytI0tp7_woR)ͯf<4fJd;`ӛW7v_z}iwJڞ>rcȅ{XjGWW;ë{֦ɕ9ۧV2+͟@y(C4\^[ާtCGN9Ogryꎯj//l jm?9/_7߻gLn-@`y{NcgUh]}\> wK&(a `(sm>on~YY<9~sp2am_կW_d[+2/Ϯwq8xHrFBw^GZ +N/\Y<Z?]4ASƙ+#]Z'Igr@vgO+;/x1[^V܏iV}5>2۹2JOc`_~eOY7v6?}u;S]M~œϟ~zWWcuʶac|6f~/V, ǧWϿѺgW_?lFJmѪbewϜQcUmw;~VZ>fqV ;'_VC( X0&NwٝYEwR^<)N烣zwRq ?~7wisMyB/NX<)"D$ڇ/KgG>/apiZkS ew٣םo 3ĕ'f0Y{Z./[{+Gzuf/~irY?K䪾{]PwWWRqX]=ڻ$o+W?.n*/.΋]]m֦=œoW.nZ}vDdǏ~5xU\.Ξ8Qw:;qfJ9wGWRuUZjęXCy0kG)4Q֢s +Y}:qe}w0y<~!?RwGC9ӫOݙ^~|ѣC?Ks_702te}7'o;yx7k?n^뎞ڻJ,NV<^|{oοgϾٻ|'j7ZћɵjzJe.1@~qal-XK+u`og);ueub)j1(CzqRgWϾ;|k9ޛ/_n4<}45;OsݣgFڪ2@zߜ=\뫧PG>_?gN? h Yu]]~=y\/>YPF_m[Gg匮3jjϠd=Ug>?>%?찶iyhVJ˛_ѮIiyz3P6/dǨ-sޫo_8gѝ3ӤNe~5Sg}+6߯?Nw| L~ u'+Ja{R[\N0{cwk;/RuB4"zB quJ) N4>;~s*? f `5ɓuӝ'ߝ~L۞՝w:9H+CjQV?2Ν^~1:5wHtދwJ6xNPdWO[0[;Gf@,qۑ;و.&o9BmH)tNn]Bo4Z'/~;Yntv]sYݼYwK={trk2z.PwwݳړlFmZ;TnkĂ7罣 H| JW|yNWH-nZ(WVO(O\u)TfOYi?~:n~K?Hz6srTىg0L^NJ%JT&5qO؉{q{]{7ti}~XZSJV3Sv\T3ǔ +(n 2"jo^ ld 4 \6n{r+:`+>ͨ?!{3FN5V. rل-UKV$.R_Z."e3! ;hX,1̌ H#\?R?>ъڋ' THwi׀u\-.d ):y}!;dx ^ = E"[$Rۧ4m!I"QbN.5p'42lEETagl4qjL 岍TMD*Un6TSj+|n#4YQS+1`6LtR*S z%0EK& pln>c n23;S?T˫^dD r`R,0~V[ dA0qx ,0)φJv^-D1jhfqTD` 踕IXuXy}1}hJ;_TtJQ>r'a ӭtw=?iD&zb{ + p)K9H3yh3xMH7h/S.?<ֺP0L=]W(x/tژ|0~g;8)'jԹtū$M> |&_XQ`E ;4@첝wSɊGb%TI2Zs}֬>dE'u.fœ&'m$`ϔ*ᆃO]vr㡄e ˙Dk 2Vj`p/1'.=,LRᤔS[gtuk`.(5bA4f⢣cVΊ?.}_Ӥ\Xع؋{.>2dNx?-XFi Bvtuo؀yTHJ@B)QO-V+BBpy55b_= 撁A2 *Z fbHu&復u:rϯRNmbn@|dʱ'ΟxǞ|g???~ӇyynBrr˂G"GjijFgc]Gz?}ǿ|>+o_} o?_/Wyc=% Dcjw~qٛ?3=ҫO?zWWoїA?o>lL@䫓3tï>o?_+?4N߈Sd,aZ'.?ȕ֋췟/>O|ϟy孝w 28a!LuX?vS/_7׿}?凟^{Rw#^_cMc?6j@q6BQ1ZWn=xO>w˿~pOvKM +Fǎ9wo=[G~o{՗^2-6鶓[SHF +JjPYܹ|׭y'OO~~/t^xWZ˷W9$J'Zg*S3k W.]G?yO?o~_ӟ]ukje;%@8[[;rӛ'._o?[?}?O??7~p֢R=T˹YMlXV3Rce}[㧿z~o_ /˯^bU/ +V7Y__?~~߼'ޯo=ܘֆrj!-{y{_~_o_>ֹR4f(`q1N5X/.T {}7z7__{{࣏y̭T}3 &Jv2&F-ON/-^z;yT$m^ʁpZ zEyENdjm1^Zuܺ~{~3n9{63/DҴtlq6vcL`sƉX*]gΜ~]}g?;4ff{~.Psgn3jݞZ\=qO?OO?ۯ/RsV :dA5Ɗˊd|my^}WzW_~Kf\wL D/-'GRJk~~?3O~W_~'|Ž\D|NLfXk5aBZ loqikԩ/\z_xGoW_=^y}d;z|K[`M(滂&I-m_~S|GuʍG}?!|%DBRVb6&d $Ƈa.De3zFa}H+2^4QJ'/_;rt;ILjbijiՒ kCC#V_PaNʉj&ȅSE./͊jLќmfRB0z;u؄[1xEZ.eaʉ:Hj:5&W.g`tA1KF(QD)\gvƨ+BTf,d@X:ǒE `0F L|0\!Bo2ja:cD@h7`FDp< ɶn.\ x硒 Z>j7*t` >` \Pqo~D&RތT7g l"׶7F-:Q9kBLcDLdN[!q;cJV2!7Z$Ǎl8<`wIRqF Re2-U :wr6L369GC՘W?C<SZmpq ,1`xmbǔ  3l;oC40P-بJu:5l#\vmll͌y wi\jɥqjA "|3~Nr哽B +d\KdpKt|QV*IF)ԒӧZ =Pm/ @i@S@Z3b@C6_rVZwS>b-pE &+o\D:^(As]NVw`2! l ifw̆M1ѦT@r6Mi[z:󑆔6Zȃˈ?ouxS p ?Ħ خ\B fqĎF-1 KF С1p,JaI*,}qW@˨ڈΐJEB 9蝴Ә и}J]@@hp&rJ7|'zH?/&"ww`"jߠa܂Z7]\PX5an;tr|n+]\ gׯ]zDtiSRj6[݃f&:)aۨQ%X=qWIpc#2<%cSn.J4}IVoFV\Ee1D*zgA~_ِ@lp):aۗtrB9ĔT;XᆝKP( +ƥ>Ņ V4o䋀9P!&a +YT,XpeAYA FR`x+={Q7hC$;!0‚4¦L k ee/QrHF+saEE0u՚ŒltmJ|}4X`10{N2 k<PmLLD8XEFu𸙲!a/M Z4yQ+ި?7fD-q1+{ق?9 `UXaeL&*LHJbZPu!BD|n?7gI%LHn ہ-&M\*s:@7Ix}-g6N?h(hoez'3#&,Dk?]={;qPk6&XllYȰt2xhI.c!d!U. + T{?]THD'S[޻x}Sslfv\ wtaX[0NN(y߱9 ] Yf@KqJ2{Y8%`_LE6l{M,\ܬ^MNACM\mjS[?.F$4]lbʡjz\΃NDz g|\cƹcW4fwG-8DDdej.(\^6BNKA8h`Ad32[tlL|qeD*R"Ěo90f' |+x5dB$AMr"@`n+@&'O+[dT3Rh`PCUP@dw +u  +{_?6f6urO&6AKEp Pq(_~~1LeE-L H(Dk;;i3F<ZwV'' ˋc-,cPS"T>sQ`u)\\T#a1 v A4L6 's3ɕl!$'3S;٩1&=mHL +fS!7@A6B~/! "1P\86T\S]o KoԸottKNrDomx +g^9{=MO{/4md$!3KW]7A a\j7l b8BuHXuv,RkW&4tn*;l3` h4(VM@:#q:JPy4v5Dc X;TXV-rkLZo^3Pe 䜄d&u.5X]3PorսG<{Q0 )"cCZaގ{[cNvŃ2| Qao7ab@K03vLJkL$2_\wM܆ Tt`s߰ИmmȈ- l!28HB3 8+c|z0HJJY6.2!&gjr(q! $ Y˂\caܟ?dҿF>$b9\\u!yH+q)NeL(-/ƪsZbv@SԧT`nFy@CEw/ׇ XSRv)inD\4y՟@b-ww \VLv39l@*>sƩuX':Rœlxٸ͙DR\:`OCY3$h4N٨A`.`mT`js O'72SG_QTj\8L, i`6V)uI<+Ul,7{Gm 6]P{z4pX0(Bo_]12!pSt7Tے+y%&<;>Ժ~BH;f D,߸/PY.<Q%R\8rXTn/3 HPݹYZ3xy=! WX݅')YF`qHunia:q+~Xv B>Hګcw^[8qO}:\©0)}"]َlyEG봤! hmϒٸO |Ð!u>NnV+``q*g$뜜oK+ĮT:,XNC֊S[9fX W{ +%zT6؏ M!fAAyT.U2 ;[ʙm0s`ß^7^zrSTs`&”XN%1*0cX8S'3 +`΍& 9uR5 L q@3B=| OZ0ӍWmm KT| W +۽{Xs!Ɇ0> !RcV(a+;kDfpm1R_ WM깩ջttȂ ˦HYZ?kMxqBꨂjԳq5vjJ;bWH"d'Vn?um¬X/L&6jSs"B56: +Zph{`c#w>6˝sNʄJv:fdEl 2-ͺAb<&3a>K1yD:oGEܟM3w!\=L])7kCdfcnR5XׁTaC !|qR4S޻ :&5ڎki1Ձs,ZNtk徉{(ubЀQbNL.W _wYY'e( k#\YG /!_2RA&9vwjf O\{~ăh02^>m ء1ǰ2Q+S}c6UrARO_]5S" ıl*s6~C ` yc]:.LA.V<ʘ[/K #(o \0ٜZ;ۺlN-ʨ f:|Y;_>Ŭ WNG@CvT2#!+vq8H א=lJz~NH13~%>d#x͞'ǚs*`vK˹Y%3KKw +Թv@o@_G%359|n |DmX60㔢Ƃ 9-oqxx5xtVUkǁ `'@Gi1Sbjĕ'oRT)\ҍ (ҹ!#a2!iIj,82p8_9dd#2j R8,(0*6$$̹Mb ^E ;Z靉 3ri f.>'&>&C#uDz#Vpz:\[;qo3]79!z0l-,^p!kMl6{ۭhF#|릓}svȈAbQ?,{ \geGzP}mRoU:RS?)OOWha&t6CF`>c +vEovL`hG@b3b]9dZ^$.w0٣bmg{go;а1Y "#Z l0_?l7`%T TQKU/^"x%ܸTa>1j1_ߣN1#+s?np@%*35*gruT* Ջ}@>aa"@Ԡ3u<0cߣ@cFxH !0ǿqH_;0~`8l-+!e JjRgA1cBM!;+Wsk?|oa:`F@CjyAJ咳@ 8.caEoCvr#JXSzw,U?s։k 8֕Jfry_mre ocWPʀ6*+)J4!+0 +УCp]sT0rjEKB%٫/_[8~kNwS&Bߊ=y`@ZQOisiN"c~Ԍиt) fd oR'X٨8i/z'ҕTu" (AWѻGFX\{ vQTQPSkk\w~/;G +3{RaޟA冾o!I-_e"\ꡑz#FLkNj}vc/R dZjm%Z!!ͣtx"h4CmPrULt2s 9FX⊝R50`V6*bS#N~Ҹ2H@sk˝-6Z gŹSWO=P]>#f'}&ѶaL.JK>1sgW +mr-NGP+9+|cEo0i$&'lfv74*ڽۼhE%'Fk̝Z (Q j+ӹ|bڂ[}װ/H 0k3{R"B0 *\L5Wwݸ,•Ė7PaP"bƣ "hyɄncsgՄ >]"t؟IXs;!j߽xmfXG>gp:@pvk R#d}hws/{h=|jʈJX lOx!.ME46Fke `]p Y󫵯i7grPfcHZs3[׀!|/2)z6"!bmh#E?FǪOl^͝']"\ s~Kd< *ķ3GY!Bo_`vBQ!=x8_$kn!fkbͭDc=I6pgGKv!]ʖ&[ :~ +P q7W 3p }Hn%T=q۰bڼ{~=Žn0 %>_֣f'n$ >5"Pj? zB(?sލ'\2b dgZ˴6siWTj۳) &[Pw :nCd@{h%R +Pj5*L޺:tRJ]7)V<(2!՜T Is^&:lA`0/VY]}W;g&7tN<[0yޙ^KLj7W|˜RfBV@[P ԍc^Z)`qHڨ/֡zȨT*RI"ܤbSlzZVc͍浉Lfz['XعHyT*OlP"4LBj؄j> 8~*ژպPqRD4/|pj{,R +JDdcSvR['1iԂ q/̉KG!B֟k륹sۗ:{!>W/ޅR bܕ9  nݛoң#@a> ky%9%+6xMbJP"q90V1ʐ!}*|Ѷ6âNJriTIWE-{$=, +#\7crMiL(qN  +rYzJSGfŠHN2 U| 3C+bm)\{8ȵylŵC*brjTGDlԪmwV_:зnHZ_6GTOYuX[|4琉ba cI <=5v@"&g6qڂV-&{# ɽw/}}*YRTuj-2%!.o`փ?s3!h`[2X "Le3|Qo=jmVZ ɇBW.΅!Fy?3̇hN}/@ &euX7"D֣w{!:U[}17f6u0S^Ysz +!Q՟-Zgwnzv;djf%꡴X#լsҞņA\L6Kqx=>?8߻Q\X',dx:D%#l7.ed:$asgO{>qT a +*?%g_u=;8gԂǥTCV-cZť ΡRZAM6S,DPXHFFe+<^@ 3:,vpa:n3 # D^R+~khIzIG/[B"'[՗tO-o5lWb޵{_=z+n3c&1P'_Y:J~O%f{&}[?oՏR^SJk|vŪ47ow$TI)[ y1,ٸI9?1VE*j!h$Fapq-LVQH4P\)(t?\"=1j&@Z:6gѦ=tD%Rt +$/fdpF']h04h0%Jkv<>ʻ_n޸ך{/]ۺ~8{\oh67o<O޸[HJJ#ި!EZRao\y`Ż8?8 2+UHm_{/3'K_uvfsK&!]Ιz}jU/Ǵ2k${d3Y<+90^B i.Ѫݼ;K T{8x=w1@Hhn'ݿfV Áqf̮# Za * BYXPY S 36dEL6|f:0YaC&{b~glC[-[Xęs>Oi^%flKԜ0'%Iu^D ܅uDdƪ6qz{j{Ύ/asƸLbRDgMp$չ E? +UFQ۟"LPDD;zP2|+ ̴0#, ? */D)rBf +h+]6K=6^-:t֚' 5<$/LĒۉ:bgdrO-iC(+*W(u)\>_|b'?_)%gw_V_ʶx?^p!$uLrhoQ^ӓ;><~Ld;HL}wK\cI5aAtOO\|m!5:VLID([t&!fטXm,_o'~Ըz+S=0Y$:HLۗn ?o=5pD{(`RWKD">j*d ++{уa.ɥzu4<rK~\V,nPd'DalxދD8'K6m QKKW; +kΜgV<e 8 +I반ᦞKr¼f|QAewyRQ +(pF 3߃9}Ai&V\mo^-=ۑ3 ㌖xQJ:c +GU FitGH.D4H>[FQio462k.RJB&d= +B;q!C Ajf@텐ʦƗ:; 7)=on޶ +07c0mR/) 7^6LFJ-kuh|cʠ2wNzzfp(凹dFvo(f&Jqޅ̓j<|k33)77BrU 1}k_y{v7e!v/nq L_ixnn8-=FF! OZpA6S*$ 줃w?"Fov^TCʪ*e9g!UJL8|Op&8]ˀa$Y)[׮91G~Rw9fFȴcQ !c 07$ԴT+Q |bP_T#Z[ڪ#?AmP,@(.idVg]$ąI.X3)w$ +HI2b[0@Syp9D0fpBm 6q0DžAFBs缧g F)X5])}B6ԋ%b1ȦR2d NօFѕ g +LFD8? +MPr)'&aRu 2.@sN8}!24'#0漄A$AIn^ܽtճ UJsImH^ܔ70 q>X:̥hsX/!T;pI~872k-zHWXp#=,.X'$`| +\<!BNVWb5-?3KBIVM7@\C NXhrfbOq<{3t&—d GӲCTP1%,@|n.^3 A$~2|\1qf1 jE3 /,"J%B4O%UsGn&ZaLrPBf+v 0)LY ;c83g a?,۽*CC 2g՜+@FXBs3y;Լj!I!4JY`L3g->3y~wn 62BH60 Sgc&eN9]0luh滼Y +`#:6 3t'?L-dQVUyTIB4)ʍd ÔnV 8q/#v?&-#v/ ^PCܜDT(*d!EȀ\ypbA@>}sn'9sc1Tf[LxAIW) 8Ji~.%zT[@8sd]$pfG< (zC+HDk ppf h*7c<K=Y30zNϣ||?3嘷za":`h>yrC,x T1Nh4Ƥi3DNRc c$JI/LǏ¸k0n@ͯL-:;盞 cNs=SO\$)q.S8hfVx-BbA<֚^>g3s^ xS9;Ra q=uEZJCvz5ZtJ|njj&ѓN4d!d0c8,2*fc=T2SrSKd" +53嶚?=<3uZ%4-Nb>5\_WRy?<\a&BP1#ֽyYJp4è/e!7(;,K՝0UMɺ* OvE@"EeN$=:@[ H+VV 3ZaNxBT| $PwWYQ +2P@P1btuy&0&B8Gs*D0ULbI3"C≘hQEIP ḋ3@q_ ̇Q\~ 0CnSJ66$W^~tgs{G5a>NSϞu\OlPQRYx^7b("F0b,I+iSN?ԤQ`v{Ӟݍ۝!/l$sA + A{}1\b~= Aq;UEzҨZVmn\XJf1cq^} 48b2zr]Ͽ叿Z-;"B[8m@hFiM,%vr7kdח/^<ߺڃp|p\-W͘ɲ睚q9} ~wֆsz$ <,1{{7Zw. rwoxKGZ?hw9m$IKnv Ww.v +endstream endobj 355 0 obj <>stream +ڝ~_}]~a/"vc@%p(LCޚﵸ%/m۽^^W_ٷo7'okw6.6xbAV”Ji~ c:,49jj/yy===o9̟u=YmAcNHF;4IRcwh=y˗9[7凯߸ǟOod*s{m~(. rٿzO}WW7~~t|񽻍;Q1adRTR4KQjJyKǵ+_|pW?x珿'<ٗp?ˋЙYG`C^GoQsԥFqw`$\|'7_{e<yE3 +I[55[Ͽzǟ?z_㯿Wol.b@Ѽ'HpIF9Br?\|_/o;XD\ IjR~cu%篯ݷ߼]7ǿ~x~{xuX] 8BZ;RSžp]O^/_w.?~oW6188;3kB!\nN遪g$$]~h>}cǟ~~Z;Ƌ]*xΒ jB?;yo/9'/g7?{~W,E23g:$GmZI흻?փ?^;7*'h=A"@!*5zku2 w~{_/n^G[姯滷?{u˙GBJH(5Qc-^+' P,pUN0/^XʽS~pWv;/~G~7\h+bYԳ xIE1ӹX,!`8׏WV_'?]<~RQV~-ezA +լS2Bel(٫~xݗ~魟}?y_毾yՇ~A@^r"SR +\IOO6hÇ[ۏ?}(Z"L k0w]?\ƽĽUJQQ/ +Ec0i-`G^Tt,ٻW +[?~֯|囏OǕV! ~p+hBe &J+Uh?Y+_K?~r;'s63^,q8^JkKqatn /۽D=* +BHԃ&.etCUM +$OrZ&7Ǐ˗7[k;|ReC䂏ET\.2I5sn(f{_sᛏ6;ox޹־ljl0$ %!"KVSqMh]ZW/~/޾եVBdV6`F j|5&1i,X\ZQZ)b27wKŚA4Ed`yi;qjZ)GP4aL"O$q3!O&e6o +* b8`6|,0v7`,-f`{Z*r1zu^/.z^֖a̫kvڶB2&|HԴ/u=~$W2ŔuR(^ş\_ ݲILHѼ_#Ls<Ь" +lROYb5$-x a=TgxqWX 9K|OfPsTXtF ( IguO& iVˡ#('B ҄FcYՖA9Zpg|LF:h!i#?%*zJcL7;…me 7¢ozkʉCle#$pHNgR"䡭V×n]5*,8QpӋA2˙I"3`~=f.iZ:,gsc(!qf>|ڎlAُv9CA_GflМdq$Vlv< +08B⟟R!1( T͋qaFz^/AxNU:+Ӟss/F\zK,aJ3  >dQFI9 5F#肞vL qBD5m8X08 g}n"V̼w G:>|BHrqj B~-$P)5ڼ^$|KYETBDr鮟πsTz] T: bKaBԅɲtӷc^p1ah i)NT,DOɏ(`RmjkǺzRۓ\ @!1J%$xkA&#-3!eѽ\^('c%d7_]4"q@>"BHsN")Br($.<"B*40u$  >"nnTwBR0l05|ϦFdrH,󳑈FZ4uqsND| 7c=֞۔9ģ^<6]˹uϟq ^*ѪD+PC + n0 *rڱ8iƴ%R Ysa<,61= +@6VDmy1A{_v<:eUknz +H DCAQFLtqAID+%/ǴnifS+36њ%j@-a`2nJT&eG64 +jzxIkv2pK +csxJZ- c%a%'dzONFvjP(|Ϸvzwif2c?k-,с56T_J.LOǀncVy7aWԺ\<{I4kJyo>L2a2q%!Ǘb7)k]-,}qL&($mP4QݕSॳN4`\vK*OKD? zy \A[ػ; ^8faz Glfe֌&PYpjic5ւOrPb8:fC +btܶپS3 !9Qz_d{vʊDV$7UZo0tb.$ܴTv*Y nu\AϑQE,l\s!LwK]t6 АAxLm#HkRK$jێi֋W_꫟^*Y\Hz8SƥeXVGDZꔏ&wq:P_t iu2jŚՕfG!V;̗pw{@tZm56kͰXLmdO9Őƥriݨ&:3\Y>cO0Z<FT7g\xC0j橹31_~ԚŠtpm)=!5 !2 jT8^~Uάowh7r\̍.km"ZN7 E*HmPAaigWb#X.,(vf$bvEkp5jZtZZ0Y6Wl|zC.UQ?H/\~],{͵lz6$\ +QDm ,`Ze| x;>̍_h>1gJussٻ +E,H+$`֊kBzD+L%@)9lԶH UdjB@8LRJbn0+iRm.ޫM,VqrXHc1i5c)ɦ'jZid7ќUZs^U7mhN†RҊkr~!4V/\ 6M*{kW\rp-ֽ :h.(ŗA.?c)VQ+zXI&!*[W?o<vuk|7؞G˰9J/к:rc៺f5tNF/Z כ.29LXGzQ- + " -7]ך֡R5ԅn$ׁǜv A+DjU^T*{\ +2lsTS.r!/D Zny"0PY茓 ~*mSD+[ laWCatv`&:;#F6d 6Aإ:U[E߇G3tH+3!b=|/&>&dSѠQǪkbv8>)g~Fåc5"j#I%Z]Kkw +!8T]Vl#UAvpFBmuVqa J> 13 ^܅i|//Љ +`KkRjT_lt17FT9`Klz*n'k;DH,G/[{VyGo~Z\ۓZPba n}W >o6Vv^\?y%b#Īh^u|1,lCVR77|Jy:Z#0+_'hrϣ\,\QGDon{v:b3!o P7Q>Ŧ%Qb:oR 1>R8ׁ~;a5h= |@+wT"PH-kQ ?HYie SBfVǻ kw_O/p> xPO` +aDJuB,,b$ + +8ka^|i6iTVJ@#b6Vjw0AEZq,\Lʨyc!jQJ->0Skn*P +xih#e5ZyX^Umh|˱vqpl$TČ60k*l]Fw|S'gGǁ*ެmds@!a256t2[U72hV=ty79qE"j ~.rrn9&+ ҃k1ɡ ]4L֎[ Cm!Pd͂ L:ƳAizG> 6W )E*Z#&=`ݤ`mJh +li;! he2n7pArR+Ae0(5\)ew]t~!\y,YRiF_ PbK>8@{wS~n6Gdb9;5`:el!i1( g4DR!żu?#Ͷ]fC .D1KX}&nua=$"x1sWp"` + +rk,Bi~Y_7w2p"lD],,F{Ż.XvR>2xsagX 69> DLFLMNTHzLC#k|SD.:~6D[n\-=Ipe0BzheTɥۙeHM_}vʌP㡓@Xhb_Yk D:xXBf|@ 'RU1 +Y?AQ57 < 05񮃌φ/a&[|nkK&^S`ZÄ%:yiPP`{Zy.D e7L딏&gO;e +HkRc"$by۳>f!(.B +5ՠXXAD4GD= &TƍY -5lfGZv@ZmK“Μ95)V1KanGήN4UmA#3ׁ(xVRvS!:svqF~9:Iy)BWL.x)z+G97kIM . ] @y*'˰5 +Pp * 0U:"ІJ3~(,cR62.VӽUXkEn{VmV~q:_9@Wۄha Pd0B 0 \jm\.܂պɺqb=uRozs6NLrX!rΦWB C'5zf ڈvO/A XmP8}ɣ; K rrqԙ)'SC:"ט3.ٙ0DOڦAR΅cR rYO8'$FG",VۨIULN/Fp)j.bja%3y}.98=l뼐RHC)'>i#*A hot!B8&gAsΉ=uRa2K9Fdl!B:=H"fҧᳳs8āJقܤWk#шR RVVjyJs g$a>t'dh`b^^Mdٙ{f*32C+ZkuDFFFjUZLOO%H>OII,I}`y;,:+2= O?V|w_ -Kɛ-?ݕ;4p_⿛<48ݙ;1<9]}8:RR+_KޟC+{38Ykcop'=-~CLhRm'_V s8s{{mrvfv ;.Ω6~*vδ?oKv9ڽ۟ID g >۫u@mE܂m'{^]hixauO!5*oawZ2q/Zऴh` +Vޱ?i^<קHy SZ;~w;LKX ^F@/-1>:5p WZzP ϡyoE1jGMfRw ,arx?mʱ5po$6/Mó.oۿHߐJϯ?5"Eu>s!ۿЃH5<[\~ *QZD3N?5ZU6PhB@JYQ RBh@+gx zj݆J)*C#9 gO@ mB!]|(I2/^`HZ TQb|.^*>f W0ɁU@+Gk( Oo@?{Y&5 czoRBZ|粤t'_ w{bwt.8%Jf5p37ݯ }{K}B)TP4WoabKYW2Zһ7+ +I'rrzr΂ jrFje|w9qn֯?` $}L1<_Kuw_Oi胖K-:*\:KuX\]G29 JvDKOOuwFL;}7?õo3F Lt_`r T0z˓?wW ٬1aśRَ?|Pޓ2˄>ʣ:umK^u9󆐔X39:npm%8px(sDItKi"}ў BIJآiSnP=6of_ͮ4ZށJ=aGxX@'vW&ݵW6|ξ|q}0m>gΆF=-A[Cvn)eByOk̀I؞`O'׿cZ.N$+T6NS8υ`kˠ6F@rRtcgG]P/h'Fuٻ;~{)9:(h>;wk>XCJyDa#/ڛopMii p10ZsDpH5 TkmDWѓ#B8פ&d*(_r&==|.^RZ[̎'htzY=~uioЫgTJ;3wocT@OGTWБ7/W{S6;Q%ц/&;>8~ݲ=T;PŌz#1kXv)nk|_9(9uJ`Ǭ?1:'B+-!,;<805j^0zU[dyvOKB\=ޙDm/^/S!>"iUl/ʌSu9 ]$AXkJuFzatΠr|,zsɩ=|GEH!%rXl9?Z)sN]>l7eXwu}|e;.11\/it1qzΌ5o*٬;r|^VSL9k*fW`GZ 0eq4V49oen{'?̀Hq.5H %J1uX-[D?hR*@15mN(%mFZU"Jfѫ8w O9^F:4_&=Z5O TIͦ+{^ht J2$C=>hModo]DOP>)ѵӭ?Ϝ^Г}iK$n`,xC5^9b)gOğ᛿ +oP%'&Z73eMI8F V3R->&/0ؠp|8(L ud`0DZ:m-*lRی=3ܘӺWbr5|ڔ* JI8-g rɝҽ$Y@q1 pi"^޾mx )aSwT&"aH 7F{EDE@INDg!ougA04ջ /9Z޹?yVf*7,HA٠SB2fazyV"eٽqq5?p1le*_W{Z(RAv햹`tլ^ʄM.FI{@A~P=mC:Ƣ}J'\a9(&r 1.g y%؃:lx FV*;"E iI!"3E))o;OߥQv6omDo";tcN|/tYwΝ 8[ϼsetx]0&Bd%M>W:wu/'AD iN 3wʅ?Z 䜋l&\3M$$LkRpLZ ֜8E>Us@!hfqu g _}go5R֜ M_dCyXCH"jr +)h]]w!ysH}Dݫ1T^ (B{*Oz1šLy"GTKWS;ztdǴnT/(m\;Ӌ{EiJѱ>GPïwߒFr|Cʞ 0רv?ݖH0k.thom _@ikRJ`\\z/hLqjJ+iv+ V݆kSg?I8z[ :썟uWpա^@2BVvP?Se%YV ޫE̗CLI)lԆTG+W#gqa̞̭Yoe0{E3T5MJTPq />`?k]uP pRRYPRn1FGIV貿2> mDwx=0;1F(Ճᤢӥ6e#o UH9쎃x{`s`0m\HY/CPRg?gsoB\1p"$`Vi_B1蝖OwQ`t+SE\Nr;r(p%UP*A̯ݼKsp:WS[5>pG-љ8m̚Ckp GTRn8_A݁=%nSΛZoP\nqmLr'uP>~R$`7s{IYBa +t\@yw]~%Yc-aI?o&*}iC[j|đu됻9"Z@옆:],Fٽr ]dg@?jQ:7W/rf3:_]eg_J5g%#ռ #&Y +'O .o^5k!X4Lؒ=ҼqÚs.:/gMvfs%@=jH-5=j^EnT!S =&_M8F hY2*Oן{Cpʠ)lRoK@mBje_m^eY>hg_Ff3mp-T\@H֌~'R D(v)A`U4kGViSHQѻ;=xZZ +!eBk,`| ^7_؝s]Cm_6CԡH#֚ ޑlAj386kzW/aH%Fo+0]p''; 1է O^if/4p)&ZBRT"5%YOғhCZl= hD}{=wE.p6/E}A[St ]52nqyK3;\o+<9xM_Y˵GczhƳ:`vz6:ekJ5GX=[z|M'[ǰːև 7;n686\6kO@*\lG_o9 *iCCv;;3{FE`cXc\hI Cw޵o9h 0g&9u),^cB)nq/&U1P%9 1 +̼`^4tΗ P;2Vh1==\T5`_&G3\yԒ9&kǃoϾ%1]Ee"K\9>$ԴB{5hؔ}\b0ڦr{Q!&O*2*@5b}HG O_@;u&M^b6HEBat:ۊOn^PPR9ӻj W_a @5 +q˻h[f[(S`7B\C:g`:@Ac6%e-H5T S9{lwNS DNoJJ glЛ`Պ m3?P36H @W(XUfL c)sfOoT>[ǽo;۟eMPOVsFힶ7Wߍ)%gP)]z\ pFI\&U\?toSHTBpޖ#$)`d}!6{ "_eBz\g|B6&Pl% +ATJOZWH`p91 {QwWV:kJF|. Io-HLոvv+%Ʋ;a˃翋ohd7o` +% \PF$Y mj;WkU*B@3s_jſSy9Q!t#ΰO>7""g foMv9#ofDFJ8u'__yC +c^e=W;J uRIα{E)FggIn. S\aboEKotmoHc ٷ:5eӿ:猷D> +fE v?J7?x VXv~cś?y܀z>x.dfYP@%\#B)\8{iG#I F5r!4x'; }wJ; QkbC6"i=nZJp~rA#Jiw]{ܕ>Y+l>yנk|4:y۾TsS6+{M +SM-;=+NjtX7?5 i{HZ"s,F d[=wr)6jK3+ĞNܝƨ8JQCN5WX΀: _2TCQWJ;uå$'T+njR%i3r{Ljі ֞`PM81u{[>8$L0E @=7_%_,yRT0_7o} pz=ܭK@4`c<Xm\HLvBĪs![da Bk&jI`x|K}֭*rg;#o %o^a=ԭ10ى7L@yJRMS)HvAearF>sx\IxtVw WoqSL + `ɽ +\ :Gߚ 44}J;Ohu1{U12[I}ըjJ VI۪11e )s/g?{C:nUA{''-#s1:Mm0p^!@ iϯ޾?{ZbP .4x,S8`<;G{i?5j+Kړ;$Ż= + ·$QW½SqaQMvN?Ҡf@ +YseCN8Ϧy*fMhz-T/mk)s~JOoVب@zbxx?o~EGMC[ORL_o)Agگ0- +Pͳ{wJJUj.wmH+@靊eqE)=Dl97G;#IU)lSڧ7˺B+);GOp'/ zgz,{TiSsZ|wn1E|δEQwR!r^wR|\f vj]h 6\}zj"5-^;6ξ5ÅU0n$tQ)O\<fQ}Q?;!>u&5άarG.|]Y"lpT[炥ѿmg/|^2n4XaWWkO _U 7y&O)3=$Y`R$)w-/DWqT󤧦w;Nmf10c{gŔ=BNlRKLԐ\wH?<5z^_X=C m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m<rC m!# Uh_m?yT}z t=Z;뜐=!C;Gg咧ǧW`⨚kd?rx5Y e qr,ORE4˒GKo%Wl"3Eőǟ?O9+ss?^u\#7Dy{ׇ?l  N^^Or$g?Le/`̊A1Ԅ|ؔZ5d1kIm*CYq&Ct=>% QڊZ @fg ֔[uU@BomthRzƷh2)jWf>cpCخ2>awy fdLB*-ϫBiDiWXkg?R]c&'U!W=>#YEgJæirZ=p>ІU&1L2;K3e'"օHOpUe*B׌91Qp%|"&%=+nM1a|ڬb^lptژ.g᭚|Bj&XSL|ET5tBZ5IMG"bV; ! iǴ +k\LjcB#bZ&]ڞ4~C^"isFjZZWJC{**[#B +3eU<֚:ąJYwR2rk!8dњl&BN)wM{5 uxzJJ`5%Q$g+{v 9\:TYf-Lp}jʽ->u%q~֥!J7FJrv/oC&Rߵ6_Wt̏ۆ-3>O iCkDJ6(Z ET.ƈ'=i}D Ǹ9(kOa T֛"bTe2a)"H$\&j*Qc.?)%nBS;9%X %i-TJ)c 9*s9"U(Lkёl1~\K]gk?*cXkNʝݚ@$jE„q>U؅Lx*i0ꌷP01{=eп~8x?٭67y Veڃ`!\HUiJ@M6Jt@N^K4Z7UŒ6>B~CP>Ϥ-ZgjwK#ڝ]ο1:'f͑ѽ{TDܮA 9FcDW]MLۄf~CQoog]s'W;ǔ`w7_G`z[͚ `֜m{ȺɢFkY +<.dr\TWG ̕{Y}\u2cZ}6` +BNŦ_WM `Zp 8\]w*B& +Hjr1ɕ:-e."(sAs9>/ c2 0e +`5@<@?*P%LCg6s3Rv=GjP,l(j.9%*_!,\@icޚP_\C rUW@Deg_8Z:lPmOEZ1Ek#f}DaHg#ښ!RZwn>ӻvXTl* S *=\+&4&+^ j@S*rZn U1⽩X?k'`f?>d?=uz5aK_ IC:SZƊ}@0NBB}X}K;oA 4RrZ =GmJæ U©v +"$:(^SϣVpF<ׅs%6,~p",ɺmM m\Ŵ!g9%€ĮqC I'Yҏl2B؄3nzlkH},^*!Zfo*{ IکKwrkbTc g֞QJz7%Σ̱ٻEwj}G{ TS̘Z yg*@:t֦SjU*Tp&h-uTFľn`iCG: 5V ?Dd ( +ؚՅ<"(҆9 &U:P0Kjܷ Éjp +N][ +U!F[Yn$YIS' $ΒǰPѠaL8S~CQ)+8H I|\VI%bkqUz|Ta@n@ixUiOI``ELA35+hvf9e4g|Sa"ٟ G (r ZsǷ Lǰ >;`WႥ)X>\+,@8Ekܵ +?Iv8ftmoW4C +!ڸorƴ4w3}l._}wvի|j6Q!B&(e=l5< h)s6"yD).ZlY +yH 0`Au6'Uv)px֗A X3ޜJAoF5hi ,ȣFKהwJL SUr 4 Ҧ@Yb_"3mNk@IϚ1(0#z 5%svs>>$ X1&%̄\Ir5Hm[YBI{!}{>̡lfϻ@3cݙ:pzl@~Jxn=zwjZޒM0Fĺ)c/2|{ fw9H6 5$%ͱտ/o@W!n.0m֌sfIx[Ҝ{d?[cxsD ~DIxgYbp^w7PsVM:ރ @?wHc~f)H*6|RWrQfCgm7^˚*% ~`impLpUccBT+†{ +f&uJW!*Lb='a8,;dm8;S566$h%jrIi@V7u@&$ am XjbD!'UI- 5&:n`њBSteP qOHm՝wW S3:֔aav`p+=(^9m"#Jsv\".LxK>Zc1ft9{Ey+Ҟɱ޻Ku +v_#.Ȑ#T/pwM _F2h]RTkBU([ z9¬ x^pzrBT7nwYP=s: ( +OYc0e.&E;;eLX>+18 +Y cԄO+'%BG91`>Lkk.s0#e:^00I)q >)๺)D|[v5W ( (>mN@0*mk\ +9k+!q >@i~ZAE 'ɰi;5q,FSp+ep/?r5z*`n6D +;2淔uԛR V*Z6rtP n!mt$o"K{x+'[@.uzt(kfo/kZ". +_PZKspesڝ~|#v/f|vѻE.9ִ&6Ի +u$:.w)הxeO^+ZJK|@AZW{x! l"Rvv L;eJI=Q_!yCR}Dt +x%!9..&<69J A4j.Nwj*-B {u_kO{Q!mΚE?y`!`N!U\])7Tťex6]#6O +DOh]eBpI{Rl*iT:,kyKӺ\C1zE~Ӄv&Uʔ[  +d0 "-Z[B[2‚n 5FLVf5a2Io6\}j}.gFGu[b`I{̙1t O9@h%8\(6۝pq ڍjP3O;&~9 +`9+4Ԇ!Q^GA֎XcT&MBeH +.bFFdGsR>}P +(Zeo?V6|Cw#f@˓zƑ\oJOgƧT {ZOֹ2E# |\fI}%<}hYcx)M*EBI`a7)vA@&CVXS;|ڔ +9!xRcJqgru6_lQ,`s&h6do1ټ/ћuC{-Q3{i͛\ }R *9-Γ*(D[#F3zΞ~ ޣ";&N7wʇ#=A.g?z\1c +mTLʤt;ؾQ9^D.'@G(^L@Hu9LA@41T</=|i/c`xg .@CrKQh-H fEYIo(Q GezpXW +n6&\bFk٭:0"$I)N\l$Y/#*&Eؒi8-n bցP9✩Zs.9tΩ=e XgB@vC+=c 'y`[ 52aU)vTY;WM!.N xYFH["T oyEh}&\L#Ue:uXMXx:ߤ,H(VEL/>z{(|Z$r5a*)KŦً%f"d΄`Y&f)hj5 H׃; +`EkhזV7nCbj|eO_bj6U΃A$u v*Cљ=7z7>EuҞ<{/J).1muZu<99"K +s)!n:k9@? `?xpSS#Zg5F>!8/(FTaT !}SPD.֧!^O+ozi@vqIXe_z.Si& #FQuLЫ =Ҙκ#V &Q)mN* kƆ(唛j9sH=DHk62P:bhTWhjOˏ +`d+KOz =*M +] +鹝cѝP"@TO jdHFEf.RlIV!"njvACteK- f(mP",Y 20œ97STxs.% c{LIl=Tۿ`J#98c֚Gt^Û"g79 K. B{{,Xgse I5%}Ib".`A5NkW1w*_10!;) jlߐ*)SBK*-\u`3sU͐nf&:wδu%%rKWώt+(OA+a^" KƜ'5iHG(mѶF(zL?›y` lktb ЄRM6!ӟ2f HЌ)glDd!6Z4BG,y<и=YğC<X1 `V*IDT5I?*IN AI HG =a\w7ne&=SCz {ĀEFt>uSP4.j:#CH0~&|DP}Yju+_7>7C/c NMha &, +2~8:d\[5Uv>=epBZ }ې'.`Ү`F% ٗDE$AXJ`1$"(*O`ɍɣ!_4Xӗ.:峸f2S* 䌘iVNbЇ,̡T}a:'k@&ߠkL̸C@JLd-xد%&D lK Q d'b#V2e&D +tlLyR>6*3 +Dh~@"qp5,Gdh1oк"n+@>>XȰٰ1\(z7&<AM5vAL:#Rq;?i#n?}F0#F!U!a;f`na3jl*#q<84 LYշ26:݁Qt! XM8aȃ`8醼ՠ$x@%>AH @PB5% oa8:TA?>4pmL]B~N]&5edZE qI8`q^U-t}1t6? +>d ϘPNT +.,-2z@ N!(އTnPTs U#x-8l8ٌOxcDH/X$W'@H3;}мzLQfрE;XNv Őn&lx 0v+ ,tJMZ|1?'>ψip4;TLҤK3e,hQe.By*P븍 9lj'hP(-+P -CF2l(B%%旂_mcsV*M-{&Å%bJ;UwX7;PbS&B'f#X21ghBe2Hf2 +O"ҤӾhjIgmR']!#vѫ1:4R닖,Gtz/K˱Αxf*k1ɞK̳n0K #m;y1? \ل!dDwz7q1OfNg= +d2Bv&ҡ_T7@(wm]|0srn֝D/WP k:w jeyf]i @JdzRfB0ٛ[?}Z(Us#dr.Kŵ}|aBl'6)()ן;z ~"\>ޓG`u*[N ?]:Ψe=FR*R]IwvrbhSj[btjmy`5;[`Re5;>eLsw?׆4ssL'rsҩqZ./.}ss}C=ys'\x>4:o&;铤8qv-dXwW(,Tw{+t%o4`@xtI D7*n`bZ ھhS/Ny^fσQ|72q[ryS,D8VaXeT]uI5ͧ'=UՅꝙS\~TTm +Y+&#&kSd'ZY^g7Tv+ˋJ ' +M!޼v3oAriL,JkrXv̻K<[4̦NŧΤ.^|sZ_p4 Q퀒oN{5n>I6V %jb "Z8zczO*fkgL\ֶ>ETR`"tjP0($f0 0>.Nw+-?lgFmXC.Eř,&d[9PsZonf\kuџ9؄(1*^wC|!vzTwܗ#L2j,@L'{` ffz/ AyL0ä N(u;zDW<~MkQ;9n`ƤL'ZyZgff`n219sLtR͝+ϸWwv nہf|PX@W!CJϖ/nNm\K4ʕu:TX=~#ҠAQP9SLj.=.;G.Ks"d@vE+K_Ag,DjjP CAv TBHn.\{Q*1Y ($2n^mWH:MNGRv8s!Cr[JyŦ.>\i,^DH  ڦ>S`%UB̋Ƙ0A,TMn2Z6'총r0f{7xW./)\V{[.a24DM+PLPJw4M<цٯj].Ι},|p# Zm( BKytv +t7{|aQ!]? bvL~TU4׸cZ1+ %Ovg V+Dc;wKFn&nevu^ Y(ux*"7!{m0#kryp?& ^T֏_RqJk/7t5YpK52\:~CNE6v5Dpf2}:BLMo/J%V&U`Q2)3nل 'kRU -\002?e+榚kwaṼSa/$&wr¸ ㍄< [ja3aebC:׈ ׺@X%2VbMD@66ntjO,pIY?w n&2.)dww0d|eTuBͤf|j$`>c%X,S|kF&̤/~{uvG nixe!`#.AGL,(xO.Y9#X$2m&*"Y8H+ʇS}.12;œ1AEAA"L‘?r +@(t6V( ΃$jK~biTfRvΈڌ6TgE:V5{pv>&iy *MBJ'!Ks٩#d+jr戍r"2s_ba ," ~h"BXv}8opp 'F O6@<Z=IǤ +X0ZDb%#"#$# F* r}-sM<)LK13Fu2m1=;L x2l0!LuS#plH w aBF=sʋ +ӧ:ʗ x*L _ 7g E(aadTz7T`m9i11o0=d ikF(̈PqkZ$^;\,yP0ja1!?Q٨d7 [j{Nm槗{;gW48`V8䔇KIsa: &|INJD)Z:v9>h8#f`mFCb_H 'KR .SErI@PXZSz1T:r¤I-rD8PWTTCM32.gl6csu?;ԴNicCv*ŅP 'c:ţM{ ) "I-}'Mvv\\vB nWlA ř0 Y;7IAK{vsڐ3 0@A'!2 +u\u137f~Vb-?bp:TM7b5,X3FtkwhnPQ*r~(&ZCd=ztq|ާԫyG?o}Ta![:vn>[6fW6v^Sx}m^qs?u׍'^~֩<8Vx\$i; s.~ݏ>uW+]x_+;}oOo"Y)\'HIH\]ol-,6W:Ǘu/>`mv[vgt"JG +Vo˕~9w=^~>}>LffTt@f\~EJוb+]z˝g||w~ǿ{?;vVgDr&!,LbtNbrn6ێruCsos/;?7{oxݏ#_1t|Xjݹmx9~꽏<_Γ/}7>G|cϿw_,{ٜ7> +rܘY=r{nx=O[?{WW~StnCRO* پj;K3_ǿoOO~~>뿠[^xGjea5yA95ƌIn6*D}]y?'~W~·|??Ͻޝ7.Eb<Ēlm=y΋73/ß7o~?SDc ټcz`U2blc[N-?7O>_~_߻S~%Vgaqus.]zڃ<[o{/Wֶb9|Q ~dBbH){y|~/0oݗ^ԕzL8/'j?VlEթ+.}o}?Ͼa9~ۿ?7>8vT̴h9OҌ͕[S GN]>qv׮ƛ>;~G?>Ï?zr+YvSF8?a +b_7ޯ__~K+k?b(U1Mgy_zWogo_/~~?~姟ozbgJPF$`C R[ٻ3ϼs?/?Oӟ>?~O|3ZhbBx5VSBIfwoO?'_ +~w?;nNJa=nr f'z |tk}^zo};?/?__}GϽʩ;,v-HrWҹbkbjw~fec7~ ΟN\(13(lRwS;ny]rG_-j4/z4#lkqD<gΝv=䳏yŽ sshPxNT0{\O}~g?~o/=÷{s{ܞ\~1a3lB>ҩ}~W^{^/~Ο_<b{sj* 'h'}JK8ŅtY\\;Ï>sO;??OGO?gՒ;!a7bDk.\RDugWvN>}Ż._zo+_x~o#Gٚ2!dci^ɻ0&W7^v|?o\z{xSgϬ[XW./ݜނ;\t"]^_߹|^{X鉧~ч_|w~޳,nfu_8cDyԚ\B4ߩt [(Ǜ1Q`]zû|!ʡyE8 !ŅZ8bz\zPQ;4&ŃA+B903^Nx x('bݟ^;3N>vҊZI;ap H`Fi%2ER 89 R8$G⩄Τ첨Xly߆)$B鯏tN6 W|NB5ΪYK+F)K4:-%U.Ó&|9kl#o=ӬT̖fcr&Ux#Gd^/SNSOeVa DqǨ(KJVMۜ(JJ,RlٞowSi^ޠF2z[12Ɓ0645-FLvIt#cPE\ϰ?oRLB83X"*qxI3A F+Reܼ.vxLjnX M|<| !$:Mä98lJfLr'!6Nxy9(W RaE]ˡL +>iI#İI; nnV:i4 3wxvfBE +Y!qOPFI'@jF ͙5:iΦl~JLi] GgOڹIGЈG.Fn4QZ>$ V<8 0fѹ_lDM:]hJQIpTCJuPqw ;2TXC;FM2/JwJs`yhҦsRh0(y+&lX!sX5,.2sڄɌkhf&~'b%>Vl>uX6!~%նb¤5y,LJT-Hƒ3 A?!F(1yUwAN46C;Z'hq"({C;؇t-ZɣŸ(ʤzC;||+mА9A<22sF҂ SF(<ƌQ PO̒0V ě@FШ}Xry#W'WUL=%3i*12BE dz'BU@h~HB?e;MpYG z֛;#&I٨1jO)oR}IåZxؔopi  OLb5n hL)/`|qƻL|-D=-6܍R NJ.!U(c1nJn.4uI5?7 XA()Q.kV@zBPX_35b i.1fxx7-k> n@u1.7<;ȸ \vrhy 1 +/{ԤmpӍO(cl50RVhm1=i$x it2&,v*eŚ 352x0&a2&O^54a6F,d2\l>l7xzG9P {K:6Ƅ+tc:g*&(lиcT>1P@/ԹBO(;9(ۆLÓm^"^yM'\wLzݖ6/6<`9Y4ԠӋbuGirsDlnf } !Bm62@,8C@d݃=^6:IN.!kRpTkH T # ?k"x eRv/lnldu߄ ܙd%lRN!/ናK敍KOZզ#%:1}V8~:f`|x1ڕסP)*/F[jk'=:IƧ.I6{)hI'hD bEʭrKxhllf]l`!a!_c&ğBI/PJFJyh`rJ*.&M#[.T˥}4-ZpaA_bI|fBbӀa\֋Mt2mܐ 7 |aס`llzĀ}}ĺo5j̞'PMF2F a Xp1GrRXW,\|2kfv 0颣:|W`6\d xIZτbQ?CJM:5ʘq*7̏ 3qh980 8fBTMd\!应à4+'ȸ׀v" 9Т<.W>c$@~\X>Sxr}:ɰ!&sm"T<0{#0ʉƆ> xdgON:G"mTBZg[x-' ¤T\؈ՎzCuVi;zH",2pXf.b&;!sN.W\y|٧/gS BfPv2J% *A:dPj{BX /TkGm@/G0KJ[{#uFk%6!亘]K*o~H뚰:΁R+UpdXFoaG9`N&MGRfN#ZĄqYa `f7sӨTRӘTńb0pAmj! tkja|܆K8<-A;~1GI'>V?88f9|GE2JuJ~~1yxIv:YI.N}>?KZtO]4W?W]>}P49A ֑wXwF˟йo@Jm]9=? r5Xm0\:x~0{9>֒sQ?g]^ϟKPSB*6B#kInK^!gTn֯f6t=jݝמgG-$!lT"uv<\N0jCgq&l [LvͬkΟ3>1k'Ǔӧ+W{G5OpJFJL@+XԸ$I; 7{d֮T\cRTuܙ@åPABi0(' c%xdΆklzS飧nR.Ghm=ٍE %!gBpqs3?ntq7r_fus +N:{K'Z + + @`å5\kc6DqȊÕ~973 cp3 ο9z7=s'_yrظwɚQpREFkq!щ[nn#Ie>9)EvҰe܄iV^HJ; T:Rcm6BGhq*A:XЁ'w0d91xqqƌl~\$XS-jDwWHOJQ)Yqx&,x7 [n2d R XO!C~iΘ| +#>ZTXLeg*DiZ:tOol6õM69$4E`F`C=0H2! ]7Zhf6n|rgTqJpRjeż`php{8\))ül@\-a ).Lر@p]DZ}N?>6 Nv@BNL(%VB.\H;m[̙U`MNk 0@fIJJ[QN˭`8bFT"C^g@$/ǚ$_탧+VX#a1%{ڦV|ke@@4  +1b@o2,V/Lڃ0 ‘W._y{ڻkLfv p FuTcu8̲jG*=UOYpP]?ipvs& 섊˩\w3~{}{A}r<H R0;Q`Hq NK'!yAb-$T[>  F~3U-3G:pj.Na*XiHZqr GmPq%?_~,/v֦ׯ +P҄t"&$@6% fTV2 צ6jdo%#^׷~]*:ul J)\DҘﳡ*06X8P nvv&":wS , u1 Y~!OFdb@qF--D;bawHo>b17o< 9@6H@vbf>LSbԚhfnDjz}%P^A#Vջn:zƆ|,ĥHHYZl8BhkgԘ9* )Etm<}ZU +Ts6۝;y!\"5&T/cбA-6G=dž&h>"F[婽7eAU'QRE*kzuXU&7Re+0y9/Po*|/Y9=|')'XNTŌoY}1uE\RݨMyɰùX_PS-1hKVbm>5KL}}`1j{RL+)=eĘ@.Yبs%:4n+痐@1<6S6L?7h;{; dp9 i'y4dN&|f0b !,u0V/ L~ /WBXYK8d`A1g0(yr xts7?yHQT*$ zp<x<̰B| ٚ\߼lN_8ʨ dD{jJqȅ+!'Z8*d\KCF`9>/h3!s*\0'ٛh=1u.7{\ku/뫀a>fYZ}..Nэ8l>=ۣ*crC.>!Q[uKC&c|haF6` +xȐ 1' q')3-')1J+)TL)ɃoǤ( +j^^CP64aϘ?˄T>6iSep (sfx;nHx8 H.8I/@HhcnWEbL^ƍ)nԎ1 '„:c֖\g󈘎Ԗ]{8t{OABg`=YHv/9\J۱憐lqVU.=/;Cf̧1X4vD11W|ԁJޭo|zA߼ݸE%'ɩ~"Ǜ$HL8P?B +IcN h4' pߏ هIjQN"reXr.iCk7zƧS'dzKO]lhȆ(.Bwqȷ7^p$T E-UY>{ OxqMԫ3.rIY"f$',:`&7"-QTmTk때ؙ "D^3A55g}OL|_;vM5:&ej9%ٚc LA ɃD51!BvȄ% - ă{oOxh/EkIpm-Z\w0s^-̋TkU囏>'"տ:1|l q،; gg +/X+bi|3^K 5?omӑ h4GmPZUILet8spЎTF]"pA<\j-`."H9;vMq 5Ò\g_HLev`  5DZϬo-_*.])٠"Tkuwa,G\t>nţ RdA^VV8tBc.p{H/}r6ډvd4ՋOAu8#Brlj&vpl륒Qק.~< 26L;zmcj瑔jo>+LD&b0;9P~~;eǽTc+ԧ{;w/tكBjҌI6 .Ɔ>>j vΚ\A{`9Yõo71xm^⢬.W*f6o1'3zGJD;g& @bUuon]!="RS +s`IdZ @;Y}5X>`#^l_aNBsP!#0y&Za5Kfq67no"Ϯ"}l؉t5[j-^~Y5_hA+ذ{x0&XuQQ zr݉+KOgwϗ^(z^x hYl&BgA@TRc.8~|uJ$ +c΄N6AkF{ *.vst{.e4;*/ s &; TXP^9'SjY>7ytyq_}_}ShL.2TIrF?OjeVX,(VY]:|/V/v6nN<-_l=پ3};<-~o=ăk|̆vH8Pbt(DX<1>>l1aIbbSt+/ +X$5A"*K #h5Z/.^nmnnޫ݉tT/o=^ػyT-J֩ln%N&=Ԑw36,b+τL0wwv˯tׯۛhfg.\5y<(^ +0坠ʘ4ޔD-B5:Rp`@.֌E_!@x=\v`a^eVkd[2X&N6̃g$n0wQpg?No,BjgKswn{Z}BX_8{xS bŹe1ȅv?LOaPaN +ky%9yeJXB"(}-0V賡+ujPX`])1mb•dgP! iT:IUTE&̟_z, |=|ϥ4&-~FMЙqD1'O|h T\T܁p | Tot{~.iox5wڕPm|95wIm[;W5.j3֦^]cs.&=l^0xBf?@!0HJq6XYܽsMԋ +sGjh}A][Y:>çpef~> @X|ǂF> .P}I/лmJɹq/?lüvxq~zɬ\|*\9O0>~+_oGD꫷o}r}n#>R{̭_I'a/'f*Oa,&͍!+aGT7FJn^PJkW~$NQ/:[J W3Sz[UKf +3Zqu?eRSLuz LxHyUHLr^\xa.Sשq +˄IXdžNVM܄2B-> +n=]xj1^\ujpѰLWSեPgpF'Ch4?`"F^9zt1XZန,JyOx{J6HSL}`8&0.Dڃgn?#Mn/Fk+lЁJ=5pZǤD]xaA:#||e3:EZf>`cvֲ\ "6#tk%/禶Y1^϶vLm^.7xjY:ցoTwHu0%0( aXRjIdswwWw~o},~5< U[;6>{3?uGLg&"ra11y2{o*v>w|}ʘWN>$Jv3 ++W +GRe\kW^zTl{}{xqiZõN*1#MHAF*RocJ-HT+<0B7"oVcVDU;bpkG+BjQjXDS&dGh-ᜒTf۫hσx>^1#&n"lL̾O8);$X`^Z9T>1;`IKv|tT~&yQoBK|F9 ĈigcVҋk~Bť/] ΐ;d' . @τl$XZW)1vR%:;rf d3Z#(&|Hj X I P ϘQ .P0ؙ  bPNKjq>j-Y=ܿ|^8djڥ7v_J7WXEI V-]mklO^.gDO+?|-Q_mOo|.g'`KGw~{xG_o]x׿Ңַ+w֮?Ut [1Ê }|%Bis*h[M30TQ._xfhQJ4p=;_^)٧_ഌjC7g :YT%Zb*(ԗofdpɁVqQ f!.D(i2XBE>V#<( _E T4qj9zNڈ rOc=*%&)) qqAⰅDkjP*vT;1Qꧣ2  v`dG@稍8mB z`)%Z֚r0Ii5ӑӀ^\pYg(+B.$Rn!9T&̴L؈@ "k ߣ*%T|)\˽Ha +W>|. %نD2n1=,tQN/(JW2m3,J~FN狓zh{Zέ?zʓ^|o\]޹|ƥ͹sW߬nmk.^7x(Ѹʧ͕'MȰ@Y&7rX w/F*X@a.m??vؘ̓[w~ kCj֚ogyWr1zpIX*'.vgTgT]LX#D% zIŔ{ᢂsO~P=i.9p xE`QZPv\Nz墛L]]+dP`O+ B>~X/&Ldqsxʈ1cvjۘبw0Ì@DON9162C`Aw&PqQok^cL$5"aJE.kMw2F,`al2Ά_Qj6j%:|z A:{3ypZTFj[5()FY'oj@(&/7jP.jsFB=(%ZIHL9[Ywg$V:,6W 5[۷5^-)KbDc dtyY]>uLrK^oM57w|0wVKftBy-쿔m/)7?^ػgCVKFg)/ۿޘW H`mj~(.˷Afd+*@tgIm񺔚ٽztl{r;`=T +R{.?x<5"r˳Go^(> :m-; e>:I[L԰_ۺ~te$}['agɅ+MmZ6q8 63¥,,?ce'&;qBj*\]+MOmޒr}KlJ YMxQm +8sJgf'2"=|+fl)~Y/6C)K٣×;w ׵v!WRQ@cNr>Z^B伛Ù)pJ6Db1`4$«EPAsjv('P'!?X{ +UJnoji&ZUJ~~5FNXݔBI1Ht`Aؤ@X[l/^A7a;$p8=Q !B )1 )-"$%Jֵ’쌛Jtm:1py5)>IMdPX!.@C gRT-CeDt0z +xU?) a3`e +He7q?3} Rf/-Ş.† ⴜ3r"h)͵e^pAi% .kGC!#Qʼnb#5O`F$I)%r0ؐ^ q03Dbtibn]D>>"0@!S`^Xj8svt}!&0&\ҲJ$%Z祴qCE$+maZEX@RS +Gwpj8?ie?!E K.Xp#D!M"ظtNJԜpL/ =C,l6X"8y)%YU9%ӗSD5%Z  TDLGeJF qRb/q;͠bK'HX0;9`Td  (0@]22)`g tCAdGc&,)/!ɍdڸ*JËۜ0ob9n@LbNLpYP;v6ja!}tlyr=21Z Ҩs\&rx!6!d;|([]Q/y 6M#t'3uڊ<㎑ $-"iDWf?KKrc6k?1aF',ia$3:HMv>nl.'8}֖]d v +=ip;@0&q; $Fqpmf=$'-,r`f()p[LI V(4l2-N*K.#h&'l^ccls( ܃zDr13:n=3f:d|.%_2l%>4{aN_8nxENrRNCjPφc1! 5^8ijʄ`%3<9 ;F]pxrF9&8Ȥ"Nx'T &2 }>ߧL/\vPD0gEHl1^ZRS 2j퐈*%X$k_*憌33+N ,iZ@Eק(R<a8bp8FlNXXYkL)%,!% Ã~(t^R!EP@8aA+g?W).fbnԘ[gC~tf;$Tgv +1r1?NWH 9itN?2L +\ȋRu9LĂj0 + &z===%9\ʇ:}y` !?kw؜a$*~V+ksPdāڇ _0z|jc6{^i-*(BCA(L,F   v}jc'CcG^8vi8HpCd·0>qx~cALJLyu,d&LP'2j]i]>Z^ZJz1 ?v`~1<l(Tzn3!t +HbOgo=~3脆ǁyzpz OD +|*]ni^.{G窝n@LڅVN+qL)*c(h<-FBZ*"4lmo唲2yyg/ڣsSx!Xn3OK\:I̖yFyo ;GWgߘy~퇟}f>,6ŋQ2NbaW-lroK+ߜyz} ο_~~7_o^?d298oN&stV|ZL[o`_sk@',f u")CN1"A\Wؘ>{7?xOzbtjf;q=k#R[;խI/zWO^~??Ÿ^ٙO)p =:{9>>{zw]O+?}ϿyO?ƍL1Ւɤ%,ð_%r+/T|o~?7_|_}|٫ۿbad1x,n`nﲢ;dlb*-f=}>qΣw\ys¬YϨL'EָwM~s_qOǟ==Gqy_%p& Jab&uK;ϟgwz§n}W升r1X`Bv *4`]|/^Y]O߼+Gɽڹ^,fvG^csb;9_.,>7w|'᧯vonoW7痻1,NO*,ɵ9[>XO?ׯ>n.ֺxƕEZ߽?xs׷~{W϶gw^-muܘ~ؘb 3NmKkn-{w^O_?K|]΄ *"cg ƄBzQour KS[7&|c'?Ư?^/x^2wwT饁%ƅ lqbzӵޯO/?߼p E?߭}xgG_woׯݻoY])FT ?&Z&̨j\٤ O~zvm^O{w?xug^֍\\,,d"T=ьSS[?~W_󟿺ݵGvWV P)mRT:C PBO-~yx?~_/>ˏ嫿vrS \'ˉtWBdEK3G'=Xޟ~_~O6]Z"0ZGdjh%^lp7VOo_;[zZן'>{'BNfx̍! KFx=X[{B镅W./lw";V':]GQĤf%9K3%qtao*|ӗ~œ~x?{w0_܅(9օɎ 4So޿O?_zGsV! L Q<u+@ /\+-W#sͭ/k O4l[.'spA$KB3E/wsKeٵD=5^ST8Аa>M)923tXI.㻳s+z/-:T#5 P/mtq׫L3]fRWWRޞw?~n}hw]lAy]8 *bvѐƒT<ʺ: +LG/-$xe֗o^xxijP +exb +j,5 +\ +N~NX˲@s˜]쨅:53%HǽA-b\O(lT +%+?"Jb<b,9 =^gL8[nKl1taTbI[*t^k0j6]BH%7:5Qh:JN+G3']]u*+l%Ã˫r$jX&é` xQQQVrQҘ6CNT,,D\h!*LS(hJn!> v|Ԋ{D.`Rp6`$0 DÍ|Tá(@/J`GMnE'QkbQmQUMhj8 2fjw҉sl+jh6܃g #a TҴ*`0.thounV"q?cbM.22d{.:LdfX.-݆dd L'l8Fq9_NxF-Z٧xv\l ~Čld^~2I6ҔS=_)ICxÁH 6*#,r굹BJ<(r(B lzʥm_~{[/F&~TV]0LBPRh'a~FeV*fd̊NHDەS5!@.Dpi#>BJg~ wX<ҳBOeXЁ\ez~&e|x%5>1jqJbޅGD؎h &Iz-hR( x=cVU6\1ޠ$, : {P^y*`fJMHy$-*aDX wY1\^Yc11fɏ1>& +ZЁ͉'bM\dԂ vA&XbJՂD~ىkJe`.FkE6t13:0@=¨B)&zLaS#N`911,j%\l`F/t 1 ~ZNeVG|1~܈X:6~ӑVۊ6dSN ^}qʈx4boA>崙p8a83na1Xb؄dAYf4[q[/?KDOPD?0@VHw=b|Ťdsv-vN(\X +vL3Gc.*a3RsTF@̰jN2%>1gdFiE.\C"놛{jm3P\V(^&C ;vZ\r + =R'D`[6G+{'4jw8$|UzͰ,]Wov7ې3!3;ZAWڽ$zӋ^H_j%@ @:L4DȈsCZa:ӌW˰^ NxihTfrr|(Ǧ`9WqDNe0zgts[3ܚf e2$,j9kMZ\FH Wf1iIh=)EQӌZeV?Yb/bf`Q} UҸ UsQU:Z!_;պZb qUKXOzEՖV;Ԫ)Hq")$kaf LWcV.%qrq#T&ew9QYTG{y'ئ{l^#d4w_y;/`Xq&bTj8+a\?SNW{FVDfpsΖ(k T])@Of3q9/!w%r($S1ڗYMPYL#`=fj0'!UTiG^^m -,Wb+Cxd_Q{+%+&տ&Y(o0Rd9J`낷ԎikNQDL(~\9Ww&:}^<@ȫ5Ra>6yY.ލ ʹ6*}:o~oRtHq>Η# '*ii/UoO҈琢liʗw9̶?}ǽ?ޙ?"Ψ2eW\(v7f[G]wKSDiv% H`kGߚemƟO|r\_,oy2ZIa_tiQ:'7RBǟבL$Q\O]iy5)wOnx;o>^GV#h$ S%8"m;X}6Rޣ=z\{7fkLWyI .\'?i;;!I}U}[{1c"\U&!/)j`/#1O3vtD{ŏr}X >ToPWFcoş}c z6ZMɥ˯JsZyVlߴO}k/^o(;Nxiܤw69\h$*Mџsސҵs@][ WʲVu|%2:Gwɍ;OMAwak~ZPG}9y/5N  ɳRfZ;~_ -j0WϾJ9fN:_Ojm_ٛ<Zqv|ѯ?PFF^)gZRnn08(Vb@ex9&8围=]ߋO3 pcW{xqO~tN㤕 i ;(k\l_'Pˬ^LjPiul~jZc=}Aլ]}My?aEwZ? Q5{CXj8'WW/~?NoK׌o=i쵟ex/=*{ܺ$̱;}?#4|0:;פ7G|ֵ=zY_g]ҝ?/Mf I5ϕ+l5MS0"mΞeJB.k1ڼs +F4sB=I9d, i)G ZBkP0X)etN5>#pHP;(!ZRtGt9b|vuK<ˊ~ ʔ.x ) Q7k39OT7yOF|$-)$ٻ{F ri˿;|WTE{k{_ZWb(Tмի+O#XA>}ϜqwvL9ps?`W/Mo”KGwBxǍ_?[o"͔ayau&Ղfi o~[N=fK_ 0 (K#q@ZӋ ح!֥=4nRrJKi.RP c+s0Z|&Վ)/'*ZW/vy]cuZG`YKwj?/_b +ץCP٣o/_7+I{.Ww-i7G0{V٫LW_x;30 ! yٙϾ"0A~9cV/EDӹv;WZ`TLI Oy{␴}h.yLZQ;=^Z/V3Q^aNN"R[c5zX{ӽ_6IUp^" }(]LP(#ڄ+ #%TAbF~*]~ N[)) HZ؃{Q*zqs#yzzm3V+դC-/-{#ot1>;8o/{by?ynt?=WSՍb5F88k~#Gҹ +c4mw^D>ʋ Wg )n`$SX>>}csT*|m-L]ZA>//ʳ烋o] eU;x^6150fj w`JŜX?ۂ&.40.Y&xsş]W+-`d@/g_&t<} +2C,9sv'8`9>y;\uLb=UfĹ ߀Ҥxgw3=y >s)(ձڇJuס{)AkJ}Ҵ+Q"P>ʩP^@}>6 +$rEw_gKqa;h++P=Z("BqgVB4;!bKu"SO˓G0Gv0'@ nbx>Z(/ +V|jEe{Ee87-RrQ;K[fJ&ٻjT*{)L +9ju/gJKb:tr؟}t*m04cRYlZB(t|ҏ6 Lg!ٻIJEioQO6[uuR?=v}z<#x)M.my M0QF'*`8>~}y¬#lH$!5g7O Vy6"5!Hs$,jƵmO8^lcZkś-mgm<4ȪݔXi8׮BȊ+Ԏ4|"`{&vg?A)ƊN^ru='CJfVRΞ;xR7t+7f!sRP&$ƨPF`Yep YG +fFbQ_l(? D~ֱ:IV-M{Hcʜō^C'0Sy +HZڻ0v7Vss͵I}p-ɇz uS~&HVkN1)G*`<"ʂ1jZ7AYA9/ X?+ +o!lT7`7^l7_54\vz~c/0sP{ڻR霭f zsÕ@-QuH.̂R?tAn$'Ҭ5 UD_1:W/Do'ɔQ6@Dq̀ !jUߕܡ<Ϋ͜Ƒ9K.3POj]QbiB !Ub+ej{ :`?&@RLQ^#\ ްjJ4'FO3D-D-sI\1SІ1|V^!؇B4L[y wcX1ZQɯN=Tiܜ(>^ LiJ1)pB\fK#47!) w"N"}R)'QQP4RMCց{^y͖?I׹qnr}kǩOyIkǟܹٟ.1z)°*yBy5ۢ;)O;/Z r Dq\hQ>)$6z{3CVNL +Z!wSH\Pn 7!C֣)zvS*^ 1J͔c|j 2le3-D +JKaLơ<q?B+A@B +btc 2V|*jSٌ\j~%X^y{N??!\?+M3d>[:oP%'zC@N25Ǐ}$)=/P  +endstream endobj 356 0 obj <>stream +s^ +z6>?kӇte?Z90TVSۗ1pC%C9WbUjKk]kǴ@zd3$ ښrhh7Hi@`.];7 ?F w7dz$*v9rB\7;+kG דt --'bo#--*i2Veo{_3|#%buqMoU*(Mv6N7!=Ir޽aI)#k&{q>'L%5E81{ 7ҧZ+1:MjmA"4c=Ⳏk0bJGlÇx(D픸c4֣ϗPQk HzlQ-7TE}q}Ic:X3adpW( 9jw8oWiPXXn_)E}D*xDw:n_lX^u`R񍓜sFϫ{o1}¨('Bp oa8>SŒYJes;:v)z/a:Aoh9odP/Zyh3+vO]3dyxQgiK]y.Qv* I%DU.*HoF6J+-qiSX!uNz5C*Rڧv]Q,#.*)PJs2+.GO6񭂍9 oN.Gt9##)T]DgY^QIxC^ˍiCgRAxMkŃbe U Zl#Iub`QN2X1ʟ( AuJ 5d/FŮ:"zA_Hy9{h6O+̚ARm͍LS=#Dh6Z +I)y.RLTwDwXsƞB:*5RLy)"j5&.N{C!Ԝ /6al9'({# ٹdKcqj |6j(js-GWY1۸>'b5ΣV V`˔9CE f+8hq="R)~mb$'0=K9ʂVbt_{VneHZ{&H )ٟRV(+Qs+-LIwADsnp@g'QT@2(8ayr3w鎮mEؤJ8@nG*5AĂ7aK3HDHgriy, `wDKU WRwgׇۅTAN$ήT>Ŋ82X9 J* DKim!r_)5:xk-L1C`z<'}9IHP|xYk+8]DlƈrBhВ4ʩ@TrjRDջ)6O?{◈Ks DF(w-Qs;`(>V LP-P6I*nA +e)ۊԀT_ogWCZBHM! `kӥ0e"YdlPg+_!I܎zMŸQԦo2BzU4E#vmޚހ_K("!F"ag4c A]Ps66 +JSyS>*܏RQԄ +(B6ڠZ7/7q mL_32$ N*eYU샌d 8Ti)cWPi*g`D-CIqPPID%JiJ8^6UDCZt\)Sb$1^`f^j$p c+u9 + k;yQi{WT&@'`b1mDSq\'C@y&p]uzOqt"ŸiׇKU+l^3ROH#JOR`XIk?h-ްF! ameʹU*'+a:GWaTBʡݻL + + s9Q0AnmdD' VI1E>!y61J>A>(a#RMoAn!l al ))V"1%'}V/h"ja ˌ=O +J3\6<Ɨ)ጐc=ƞKvbݍ`ezJ#@0@%X\;FQRw"VyXP;9FXlQiJs18|/ } AYv\v616g_|Yb2LtozA Z9@% zE1!WzFhnj(YȼRX?]K|15HQ8w=xW?彃tU$B볍B<_~=g]fQ˧Ճw7{(Z N@36DŽ1IV7Lr^n@l_}p1"8E!F^FqoqҴ2$.y r\ Per(`HHlq#b(G r ~fw9m? +Q4ϹڎVNlgfYmB6RӄXɩ-QaL[OQeo?kV] Ύ3~YX +ld}!$Syd-#Y~3AJ2>h9'hFFƗ݂RE(`aR☽G ɿEZj/+Iq%ɯ( OQP&qRڄ>Fj^so +6SaP !L~!Ǥ"Ԗeoa4y0n9.d*aIs,zEנ06J;[I6F!AQoԕ|1ZLm_"%vb$k"yc -`"! 5nw(p+l&\vTAf"OF׿3\ !Dm^4 /2,WɲMgSrk)y(ps]l\,Jh 4i0v=JfE|g3JjqhsY|15nq} UCRBi~I:I2e[(NR67lq7v4AA?8VĕF/FQ3"k3ŸH6A: xE$imZNS'LAVA7Ee0y5)[%=jtf6 +by#TP%! 1\;H? Y7/ƙP R[KR֏OV\Qo/Yt(vAÓGEH8]FwoFu\*kt֛ևRb~uxs XҘ3>p@&diϨCsc.‘r:׽YP|-kK& @ M:8 \6}9mda/TT?%.xyg8$ xsBk*j9*ѷZGoG{+)ff**kx@s֢xpz05@F08wArA}cYbʄZ{rxuWr26˜S@猲;bNozݴI@RzO[ST$MD}0 Gp!IhZeG*~vlvZҮP,+bLcAPb3(v?@w.ofNO0P\i"5iUa̍fZHh)1)·x+`p@umrIbV33425x$f4Y}zC@mT~NmajZavQ"'E +Q +6|RJL~2J[mT׆rR + + =J8( ^PqFVp튛`y| +ZSP6|DlkPy<) O +iprҴU͜ai-)l팺dAFp x3Hh=B^f~93r1IbUAbzaʡ@PFn]sMpQ6{g(+w¨60&\JP99P,+q*/(J6DiwZ|d0&>FzyiWƔ9$x-dQ}5% ' K>>,}BFt㠇>WZ@:D +/ 9 +5#  HXOQ.@x H6 +0 xKpN+$[^Ή[e^^H!P fV07b0%TAy6 ~غZFV4XN>7I7fpayҚT>jJm_`()&"%6s +qm^<, >Ia\IR!ԠKMUYr/C RS#U&dҾe+ng4Y>r"%&#TNrΈ6OPu0+.y5 ˷ZYc\?X +"ˆ~IyTkԝrӥvF,-0Yzlb=>*D]Q϶0p`XH\.F% Z4Yk J+[aVzV蛽GZmC&Vof?0MKz Џ(d3$T+DV_05Pm|9_ Py3[ʞGr-d);QO؇IPJe;lgiJs5k$y[ΈX" em9Az+4a=xNމ$J&%wJۃu?ǩkOh{9mfC~jkl9W0-|1}> QԀǽ0*}# pׂ8sɫmFfy4.)k0-8gsBC(]Ðp@&7F9QːW P6,|,\O1E;)E.݇r47(7L8'Ds6z?D$ 5'5# 7dw0W\(Nb'[j +RiY !)D"&yt=Hk2", @|eL#/fRt)mHOD;B*$y0?+?_@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[ 䶵@n[k/4}?}sGegr؝ã>V>8&n|<&K1{Й/m뛗]Kd4م'^g>Z +E?~Q|)_gErHd6q$˧lH>J,?+f2T&ēyOyɥҿ},O\]oG 5G>G>/mn- @zW~Sa23a, bd"Ta-}02g`Hz'lp'Sd)=M>t:ӵ RMIj+f9?'Trg6t3\5I8%8PH(am|F*i7V +  rJ7-$T(ưH>2j-Қ`4_f7r2cv0 \\R;Asj?V#L9+6ɺ[^3~T :Eh]aVnl8eGI=#!{'#g۸UxwWm_#_ ̜&fA +G0c-#h^JZ+e8o5Aw%)3_!LqXb=͖tEAm+)a-- +m p2*6qeYm#)D ELqoΪ႙Y)62J`q';߀CEF*o#ŕ$ #APB4LjJ7N8?>ƖcZN iga F0rJmDOQ$FQk#%,djP\ci-/Gh̰Uq͂E9Vhg;q3_a$JFlǙFr\t(5ʉonnAeS' 6MIZf^!|5M9[i.AZ5'0mɝ31U[yFhqr8!DI[`CK F`"%S&\tz7cl2Vqb _;˨FEr6iά y%HAc&62ćw40!=cr&jt%]IƇ` !m[9u+lB99EZQTʊI>RRDJQ>P=ȫ[Z?ȯ'dSC^nĉ +&e"b Lr F@>"vhs͏r, JJ?l|(tZji;kY)ܾB7b֒,6b,ǥ,̂:f e0a"Z|i!zG|0/w_wɽ;9 XR\KJ4I6BW[IKq*CyrBR(Ǚ&t9JaKʜICLD +! b9#6`~j-g=f-3..2b':T0Dq 啥(` ܒt% ᓄ0hu{| f=J?vOIex[;&eP}ii [*`oV| +6L nWcLp W +rYz/G3o؀Q9UT9J*sl9癞$f lجIƉ5lmq\~{}jSόF*_dc+db¥'43] wLO>%4zzoHMI#`p(#8 +^xtQ=qt"6*5,AQ&olL쪍IѸƌ8 (ux1m̈ *G"wŖq \ 39fULdfl£666"1XFhX>;0Y1fC5􄙝I*+qt#<ik +MqcD:D4[f&7˫s3nB uI_i (`cnXsoƁ rYe4| 윉)'/bRZ_jn\6rʞ mΟ[ ܒ Y":X aSdF $l!SD uP%Z ⵍiDrY61[ruW8y:w :oarFP PnigLй^V2yDPY`:!#x-2:wĄ%@&N&5fsTb&PZ6I`R?H"vV[@ A3(3V:9f"@ltX*FghV^&sܷ8|8'L([ {ƃZ;4ҋqA!)p&w|︑4r`Ʀ&i !$&{n H +.T;4!7a 𤉚rF$)r:2^a36҄L+弁2-0 .z"~H\O Wr +VLFTL @"(PcaM#65 ! +6@ZU6"y\ 7E,x$ +v\) ܾٶnDx Fttq d%OHIXlxB4Fħu@T[e&-e6sz *70;pE2W|GI+b9~q5:'?Ok* NQ5M2VmL;jݷl +}6* +ʵ%qqdڪ(7PIo%@A **~#Ĕ}k] WBN``$ 2ac"4alو$Q",ڡ.v62'LG!? +v.UDJ 񊛁ʖJ,"Hvn'jOTO- +%ӈ&YXlP!1 F ?(C32*+Ȁ [vyS HeFI'PD}?9 ^38x(J IQGm%qkeB˙ ǀɠGzwI&~ 6f2j; ,Ԩ(jP1%=Q&AHzL ET 9 ?xXkxohjs +0:G@8E\dMi'wh؊G!@_'贝3i*3K?nĦ, %!2(#p%7N=nG& \"I RrH#Hap|ʤ68]^Ʌ`E@Ohbc6Ip)RIg4|ZexvNO;4zPOEOAC:\S;ln΅ =iftT!#6Uyz)& $E@‚n:W@fOg5nA*g;HP̢ICfI 5Xnvv"ڞE +._Y}K]☓uIf`3^.klƈ*-oP9"kFhD>މunrrG2q RtaܵuȔ͂DFTVvDOܺR`c&5&OXhw~>\<Hj:`rˤʅn!=fA1'jP(ˏ1i&h8 B\~lPR}0F\e§͌HBNFJ_.RfqrNퟲR\4ǧ+c'N&, ӢZ 3Uբ&|`3`S&r6.EN17n',0'yP[Imu[F*aq:`eClY3vJ16eo<gc0W \8!UvyeD8C) r&k4I3 KAmD B[PQYL.+vqACi4Q{L@!<"mŒ.a vAB@_k!qq6lc\mc@@j ["aPrkPt'4eFAqZ9ŻSVAᴈoZu`[mTɊL&;=G:I#p,sIczp(bgT6ɡHmL)Y DbeOi/4]ȄWŒx#qy*0)32Zh=c +(h=5 WO[Z V;P`#oyjC\av +iLy|5!$tjL<:Ck<Pi+ 47vȌF +MXXRۈڭ\n[`28k!N1kVfo4cָ8-,ԵYr8)`Fœt5ldN_@O5b8Bd2v&ܢcJM: dhh:ؒޓyv%[+ⶍѐJScqAm$VaK&om* V2LCk*#I*#ϣ8>G:Q9@Fnݲ4q#aL!,"jkcb^el + < Q@)ױ)ׄ}6d8eFR'avj;2R6t 0pP6 LDH? brl*.\LFl =7Th,?26@)qJlvH, ֙2%br٦_k鱰$DT, 'tL6LN;C9̪ʸ‚ۄJFh#`&o݈|*&n)"A_"? Y +0\db7) BpȅY]mKy610 K0SUŅ:S3􂛇Uʕ10xF6"qIǵ [$.ICvHq0&qԄ=cm*Qꨶ`2Dx ld-TnWFuHP;~X牁%&4s,"e7Q"S1i ' ̫] ھ̭˸%pЩ 0iu.hclD*NslUC„< v\1*OQGUqx$0ưDZtL0G' VuvZpPF azrBOA;,+h4nS tRJ$ƏhV*խPĽrC*9n!~(+wCn T\lژz_"-o p4(>|7 Ԝrg)D*xfcn>沸l!D +ӜLfΏ3GCT Ykv0Y_V67 3#NB,ZGM,xlBemtxl`@yIoK8ЬQ2Ar5^ڄBŠVFT-*MgUOߺ7jfmlRL9ǡyM#{C &m>F3t %,P!h 4!w`F噫 x%蔢ٙ OQYg ]6k:OH ^;7*0iWj2);?fPnd-z Vd8B@rkX$q~*#wcZTU电 v,PqZ.B zS+wb/j +|' te[ÔȨ֣ZȔKetӳ!c!5SLn`MY Auor!.ND/D;'Gۨ >K89pixB_Ãu)7ge|vQ,u3F5U,ᆉ$ Ux,0!`KNR:OBgTi%A |n&0q" 'tyW2R)44 StO:V6=!&b!hIθ|% ;7 5]WaعK4)Gׄ"^'3Y R^w>b%S̅;iz9; +i\+.gv +k8x8E_!%:v>#P3f`05Rw Lbƃn.n 9:6f@[)PS,axAD*?GFMDƄ+ "Ҵ1) ([RaI `-?8X-܊_e tr)t A;q *dBXsK.-ʫ:<U:L$$;Ը =md,櫊y"B%*A5oC%f`5_a˜]4xc ߤ}i"N!=9)WWTXa:KdJ˄+sֆ/?4y aC;GP {2ZLz|Ș2^h5H*G}:F[?ݻQVES( @%O&$f2Pmπhv9pGn ͅ+Q?(YyD&Bn xPn'ķkhs3ݡ5:VB~Pǎ@uOben_#+LG*K2c&rkby'=Ǥfmt냦161_Bmwlq: +:UYs%*5$":՗/ҩ +C@"*-."2piݼnJ斯 7tJGANxEZ_WVl$EV +n˅% C2əHcŢm[-G&0ml cOtrK#M.g{œ峙Sa +x# *=\.NJv:eTMF;x/.gf[\_UM^iF:{\3 !9c*+RvK"N:عK 4\` \ +C*섙tQ1:R+B~_^ϟNBg[Q`Gȯ9&9U\b[Ej{k߼2ؽ*LmmF[bq>ڨ\+]SH{9!3)iq)WTןwʦKjj bIΞK]%fɕ94d`}]/EonF[65l\Abs"?9DJQ_5BAw/]D}E8߲Ɂ/ Hu3sڮ'PvJb!tgD( h.7nl +Q +#\Ž bŗ],/]'> '~/cXs T)LW_ o`XT/;+ +ÕsN"yБ +.P̟v9 >9%ⴝ^{ލ3w,Zߌ#'Զqy-tKy'Rpc'9uTc)UNJj}uW@n:}%O+j9=s:38_Z\?/NXs}gy\kFK7vr0;).]i,͟o1A2\-o$Rir1 Wgd%x/,ɍ@}#=8gsCO"gyaz=:pIi"Z Uh56aʡvnp.?{mxe"jN\u\er@㍭hs_\9V.EokOW/\YڿV`quy>Xܼpף_؀pI ŻKWۈgsRi#\>,W7lJ ]?W7a͍e 3D}dLwR-Wݽs_{yOn띪o;d2@vB@q)?Y^!w=B9wVL5LOfap2wZY('*cf<2hB\n1ͧ:>H>+k;y,\>CMӐ)"6kȈFJRft~1ۨTɷvn&[; |56mwk^`l*f>ܜ?7H67T|f~J+;Zý`w#_ywO0D*F뜎O+1w'w2o_\]u?++Ύ $||_ \wˌ=,T_z`a::*]budD`T7\wh(_SsDڨMr&Z[/??G)8\| AJwcxﰰp}m,唨[(G ^" 9@)@AafLjťʵ6;N +hnfKYniQ?*e2-PPʥƵvNŚ;|up_ <%}Tٍ2eT1X iKŵT0_N@eҼr&x;*w@ŁeTxs;RY#YX* {[7LBp̖.Q?);Y[9qq!gN*`\K46=R̵'zg J M Dg@&" *7LDj@^IMѡJ(U;i7@Dx!ͰɞŻ? ".3klȅ9!V-ֆwDNDl+eB h28ӭT~x?'6!%:ڲ %ʃ-";<ǧN.CPAB&ő\P.;|oP_Chmp|!;+Z@Fvވ^Vf7}+l_AuDJfsF*l"@&X * Nv5vO*kf*&Ǜ;gTk3k*n 9'HzwfO@ŅyP~nx`uZ.f̐7aIpe`R6T^ +j שp;TsdJ6߻U]ۼnR]Di!6 r+0fbͫƭlcSO.tة7zTVҀy C5N./j.!$BJ'̼(53@ԀPmӗYr Y .d:/f@{a0vpE,Fd\ZE&5:4CHcҩO<@EKp}֚(4&hm`F@D n + tvnCZ>ڵxyaqdQJLD$Q4lҪ_y [@(` +Wa:濫|1mDǵv%~2[̺LX_`/+dfA 汑*Z?Py װ@ \Z6/"l2~;UJ%J;ח!婆](_mloHxP-TL/͋Ѻl, /K mbR@ŎɝǭTp9ܗӸX+(-5![O6N_bpp9Yh1TE# dk\Gcq_ +e ^ +2yeh.^𕺾b['pJ#A`Ѽ1݈`-@gh|T(%[ i d,u+3RcRf/ |ހGՎqˌJj &h"`bD&{.tK+]:3h)78vnBta>JHQRMG͘_(Y I\;qWlOp17G& v21Ok̭8БFr~ܘ߿.!ԴA>%u#&e"\Hۨ꫕.e'|2р5xKH4\ĪsF*.mƣSܗg.nDe"& +tcVFeջ]c& 6XeWnl|_:vp{/އ_ѧO޻3œt]t4[V:KVwikỷKo>?s=p棗yo<7/\uWHb)e:D0ūw=O>W_:Ox |{o~w^[} xɆÄ"v㣩x^ښ?9U_\mvϮ/=w׿~|cXi`A}DcaL m:6k-W3ݕXs>[Y;s}O^_=K˕Ǟm3y&4EѺGH DmTs_{~_o_OO_t~.ZeVlD%"Ce4">KKA>_}g#O^+W??ݏ>k,IpP~%];}Z+PTIReR+g~dW|᧿sFkbyLhϬn>^Z=uW~NX4Ց#To^>}\;8wOxKW[/}~?|˯dmMn\ ^/O>W^|?Շ?;_O7G>g RHZJt8*uך+7⿾[~'}_?߾wx+<&gfPb3յg/_}?o^yz?T+B#HZk~c?/ ?;?;|O>tʷ_x 7>?}:Xkͧk3Rknyw}`gwGA9z?>㛏=6}*Tc.Rrcfnuk.:w_~_޻w>x?~w'~w/x<%nK9ZJFZǞx 훯_}o}٧x^z^>ݗiBJLB~큋X<8{񉧿^zۿo>[~}'>`AN`,IF"Bc}̣_W^|Ww/w}>?o>|\`:Æ&;H_LƉ{~'oO~'|?/䭟;?쉫.& эK&;pk>^ o~'?__w_p3\=sښ)k3fW7w7ݼcu+w%_$eys>X4W*6۝pk '}·y䕻;krGoPQJR/Nݵ.S(6ݍ/}{owÏ? _;sroy9U/DW2e.?zr6WΝ;|/7࣏7~7_{_3_x{#x M :;mu3.䳻[{+/믿7?ozs{~EhQq1 /*Z+w“?ܗW~;|ɟǷ/IGvy~n}fDe'w@,h*_RUTi$uKٙ윝M9yp@Ȍ"}+z㢄̰3\^;EW5ˮ'h5?x>|???_?񳟽=y-E*BKtu7?|/_|~/>?zxpt鯧k;Jvn:4t9=A< +B×^_o~oÏvn]~8 Aʰ9m 01:¬З\O<*0e!5PXTU 8ɘQVŃkKAe &͕~wQCD*M2 e`}rt 3Q#-Ge/$9Œ+0Z^N7p1 *)ZF"a%2lP7:fLׯV*.+mRN);&HVSʚmT[B)섵lwط pDB7~|_vgl51AtQWJ)tjx4\vF&.:xѫ kKA+4[1IѨv)$ uF21t;P| M^SBv>b֊Y)$9NL.HjV-Wg[y-FtMd +bB` YY(WԿra&xpIZ5t:SL|]U%hlUdS 1O.-QPBCqrV7{w?`*[\.Z  M\Ə>,JL佴-y(|VNvYF8$ +!,HY!2,B,HkbfQYe&oU0Iࠢ&cC?Y\uD lA cc:H%\LިL<.9JxB Dߊ/䆗arNO8 ъUDP:ᅔ *j|ѩ,zQwsDDGT I+%#;[[uit@:Y%5x;Q'W1J >Dc:8j~-LnHL} yZQv1+ ~VQ +kpe3TJpO]|Rd͕'Q2qi9']P`-$k{Vq!q%YTYI)~} _ww$'QD]XO׷H+2T S>xoui? PIR.j%e +|#vvD.q5Z%ivP4ͻK>8)f@*nD-%8B|h"Df(kj SyOqv~TG^ ꂤEuh[RARLxBr~\^wEqBE?K5'.i8{sKUW "S F ӅȜŵ )!vauRK%?0e̹E'2绲—|t14 }ե0?n-T.RRK/|Rd D:Ƹ*5=57RL0[R\gT )sNHPaܺ4*h,[n-yy=~lmfTχ4"Ԛ8ΊZ.x~5KfM|zԚW QZѲ׽J{ŦZq~'Ɣ2Fsb_#Lbaf:k:O<)1!ưV[h/iFi+JZLv =ƹ&*U)$US-xWC~ +Z*ۈٌy!ݺ!>e\Vf'Wewbh9@ s93nH *1-Hڸwn,&B *Q 1.ƞ4‚ޭ 6!.+Ulfۇ^)!ڦM&XA Z {WJ~ T q)WJ1B㳈RZV#J0!Z3” >‹*nDE"&L/x,.;@MTj0fO i FQ9fQc~T1)x] ~kF/7wIMλ(O*%5q.%ѹр btjޅsEZȇAS qVU +GLD Lr2ŊZ+~f6i0X XRrTȺRѶTbgvͧFsP +vya>0 +r4jWW"brvFy Ĭjn4_|LtOQȹ_|A(izzV8>'`w ZW"#>k6o'(mGH]Brqj.Vzsݽ0`RJ;Tz]o}L~dNZ=Xpۥ k@lKiJt ?6y5B-0Jn>b5Hp] InI_^\wavލ:#"(E"&bB 3tjH$. ~b/oL~!W,1ab yzm5BkUJ.:Ċ$(ZyU1?JNVx*d*H=錪v t0; lcJɬ(jz\^DDT(c-Pɣtȏ$reٳ@)aNa@*+)5vp˷?\s|q1<7(fFBzfnXЁHZT+S}d5b +MԨVN$>v UBT}C:6'Ari8{NDzi<}Zz^ҦFuqjeY +V^;kWGWxb@C8`=:{dmIkZ0LTRfv>uGX8as{{O~qu )e&[n~]…):QXցvDX`怟L?Ztf#BH-~aS-jJS*3TX#j @U?|8$/1*/7.e&d U(@<9VV9)u6%T KY/,Pسk07WV<Ȣ+bbZ%ݿ~5}ꝭ"E0z$,oVҭ]πJ$Jij†hzރHsQvx+3VvYu5?\Y;}\zoO_|_yDXT{B p}fc7'5y<SJqjl3V';JvA2\G@ɶRwtV6ni=ܪR/ÌǕ^fqjtKx~[ŽJ놗H?KP\n]|Sxk׀nx*z}W*mf'=-WJz#Q׋SRi%zA:K.;bKƱ:Q*;#J{@Zd쎘?>{^U\V{kwLn+"B .Rټ,L@"q࿘xUgt +&3,5_{+{Q*cjV{Dms%Di Q6=t:! !\O's Q:uTV7j5wփȊT5X.Ы\nZ}fZNJpo~q %sY+>8V3Bg8BgAٍ/f]ZB>eҵE]ZYRSgFjl)ۂ=Յ w)_y des xo'$:fCXnέ{qL)%H*31\Í6̤H!rI& Z5kW5k8&[jڵK+9/AtTPkw|=8x%5;q(mq~xg˛[y +BX,N鄤nb9G4PnTCTb!@x1J ŧO?h1k.'H28[b.mvA]^Kt*VG\OpSz{NcrӪn*],1k-P"Fu0WZRavGwW@?s͉3> WW޻#uPYp㗯{]iXe2قtsLu#&S0ZbnSL]V w@L;*a`R|1 #X`q}5W^1į鞐^ex`Tݽ'ݣ[BRd݆7r[v^aq{Ȭ3(/9;D196=(Q_?Ol"lkgo|}(f?!:3W~ +j_ Bpedfnc|f("FFf{V!FsVY{wfs.Hg_Aȯy(?$gfS>T3k.(v4 ~z5DaB:33DewCLD)*\1@hm?nͣa~i_'8 +"ӝkE;Lg[@JSw +>Gø䛵3Rы3Ra&;|v'r@߈eM{ *DV >@XsF/-./1)7` 'BSzͭݖ^7Aw` omZ/_S}=m$|*J'@J0TʨX&\?F@ =L+ALwt7Fqڐ3u! 2eR޺{{3mXjIwgwNДUVB a…;LC30/;-zdFy?ۻ38ODc\w`bYϯs~zCj2Z#zuRɹmQQ!Dpz-Pk{v|lu|~XqYWW +iW`.UInD~\UG'-\ /VG-SG0ŧZi_)qg̸wz`09kA=s[Uj\Muյ ׁKV3f ;8GMJf jq蜙>k>R]]|,u&BXn_Yz12i+އ,_|%@ tLťRfDUg@Hx >ƥ*ӉVdGZ}h즇rmɎd6:}*dQ !2CH@D% Kj)8"|1 +i׏\ajC<9 E=>z:>(ʦ@mL)l5MInvg :j9wO: D)P:l_/ʪ-S۸(O:k]캐p!bQ"WgO@h#Z >I9=h<]2>Sd8>VisG5$@z3`Nآ O a\Q·qKJv(@) ;}y;µ& ĵȢ BrAan%!RhT߸i jE!a@MaJۈ*)^a`|tza~p4>|{ iJ^+Kƽ( Ⲑ(n>JU qÏ%x2JeqP\YtKv|Sj%mU^ڼv+*t7 <-vbѬlY-xW"̼ 7́pGKy:og:"'*En(DZT>!9]Ke3UwhGN.zeO`;$Б9/9\.񽗿9 l 4=<h>6VNק|ၸ(ЎUlJ)K.c 8S7\Lv}z_|sriDmun~Im\&bex+?k[³nOI z1tKz?َ2!S]Y?o'ǠGkT#r~q=Ttmj9W)T*e5> 6u\r#0u)=,Lgr* 9U''?H]d<-OO| @#T*J.VNoOo|xy1xi#”NtVhnxx9 \9TA)ڨ[7 +3~H^b%s+*r@ZkUT(GgR@+ć$aRawBwfBg)4A|ŋ.8aKR\]]ɕ+ E/@TAC*wwyT\2R2Gڭ?ؽ0#!WZ +)d&Btp0g^HH47⸴v1]<~׿}T&7aitvYgc1f_щBL*2'Vc#&€I{).+n|!@{JqѪ7_5'glf\w~y;Ï.VeL;rm9P5Dڜ&6G9bPruO^q@dFe?PC:΄p90V!&˦ÃbkބL;E!;&d*敥H .D='YlFyozIYJ-;9KHwbcZj:ت ĕ8m U/ $o&Tsz{vJu?6Ln?˖֝!;\,F6xz iՃyBtQb&%KPʋoAt-Ga>,Z'o励 +(msnmOv?+kkڎ\͞{f!xnTwז,$.y gÏT /ԬVU- := JΨndd_4ZzMLK#./jI+XY\eAĄRT|f SkZ>~\?m_[~2>ysc9عϭ$a6i|+zIWޚ-]GPwLE +rblyMv>Z~+ _)5g۴Ub*g@Tpf3" b"DX8U] Mv7ZId^ŸT\,cVκ3@rGPF<OB:w+׀VfOZ͟dǝ}" (=|1 +jղ,t "q-N؞ (_A0vYs΃_]}Q|IHhgz1q Vww?m)Pr;{OdVʈR"TIA3=O9*Zޘr^ wo?GƾEbt'ZQ>x;=}č(ĕ^m?|`VW~ozUT(nTFwFӷ^%Gl1HTRLdVmvM+)G|l$[CT2ԇJ4Tc?aU']jΏ&}ls+Su#38nt?=M:cPä@l η{++䁣|;|vsC:5 qE65JuN?S +݋Ͻq"Hb2(?{ @q."yH'\.n&JƭGO{H7ݨmC o7abR 1T׶eU +@/#?n8 +.W6^wW| d.5R +y!ꁅh3l {MePɎ^΍f-{7h/8SKY^oT ²#@]m_Ya 1 79"nVEfpݨ)OdlK0vbv#(7~.e00V OH,$d&b =aA_oNO¤lO{Ze|՟ݸeҥEwOM|h4Q3Fu5"\qW]JXaTKT_k5&x#hSV.G1cljuTΖ aDmh_d 7.U`6L@Y+UȄV6l?=4 +?ojD"&5)e 'U>q6`,ڿ=\Eenz}u_W_}4E'A C9u +ZM*_[^] +w}m)@2:kw3=nFɌɌDnlाtpu&9&vizv;cF7٬&K%6fۻN5{R,pg Vu;Vsݺݷ7~v";M{Gw_i [{8keVwhaꍻorgT"^ {/noX)ecvn4'_SXԻ7.>"LF}e詜'P0as3amsq!OX-{@8fy a6?3fT.׸#pv+?i:&Q0mHVYÃ(N&[{tc8si\(J B?Ƭx'r}%aj+xGzBOZ+dCDB; &w>|CcE\ȕgӛo?`%:;̓'zT+L_}o 6\~;|5gS +0!:h-w$3دmߟ'v^!ڊг H*nMGøP +#|\aUVv|s#$xWrzeZ|=8YiNρK)78~u/AI*鵃'|M2 +B)b\&sn`6g  ai{tR8e6lv(ʦG%UsQyQs䷝ ¼xEmp2?dրŲ][7JB>z?-@"ݣ׷^z$H&a} +םܖQ; jc|3?]SÄIhtWv&.^~¤nO;hn?!6&Wx{\s]Y 7 +R'_R4u%7:;r6| ?Y_`FGoLLnGr/tv_V6;Vy !֏; k(8JҾ?e7zu)r16#N0&yuƚ=WlZVww+7斜햇7&߬=O@4k[lf(e=ko l*68D\ !TSJa +3jq?zq7nڹ;?N5΍/_oo>w\a⥒jm/7Wx[xU?_:UHu"ZX,qi~X?xWgvw`p~P|{h<1jۤ9#/f:lN4ՕCBi"|w1WwiەAnI-LrKQB_x40?@l0 +iB&A|peA‡H0blUyGs1ݍ gk:͸+Z}04 k +3ADVax:`zcW 18bQ)nn]}ࢺ~kW>;~GJ飏جtM^϶2~MIm!71[L/u/8;vGO}|'g4N{ُ[_Fm0M/{Q!/w;nX&je d^mrqUu%#nuR*pb~ʦG$%Mm wX+aW*)mj=!e.4F<"$(H[u&Q3ʨi:}$:aD0PtpT;@%%80!V9(yDJ|4&L2ZR DiMhEL84(³1 3+jރ-Y/fŸlqͤdmLE4Rzk7I5i1SGĔ[S*; !&J1!F!LĄygr@DHZm "Yoqq2z;8xb'$Y['uPSb+zz~Jtk8< \xti!Uӳls^TvZtwǧB7x`\N7;w_g~Oy㵃o8}Eu^Nd{7b6}?^`KA +\zhT i7_('[>iOn}GƜ{NafF~cdJbl/+՘ i6*R]5:jatJ'.KYM.˯VÇR$mT0"ܠWغ\-s +G X08)e(TGiPԚ12567,. j Ⲏ097%V +U +4[%0?c-'bnħ^Ĕ*Q:YQIR3sʤ:YJR$-V_dkHga~\f2Ȝ## b勔TNR1Za1mFw0%㉑F;ٺܜbR@D7j̆$ln@J?.cLI )kLX=$JVk󨺶jlK.vi?0ԛ޼`$eAD&o|VUdy[/AM⤨l0Ze839dާFeWݾ5v,=~<ڽp_V?w޺ꢟ[~L6O~BuHL~Տ'AWzB؏~\\ZغB)l~Ls*t}Z 1&O(lsx+~?/VE͞X +J`G/~W^׿|Wfy |އ#ik0a}@{޻KKg?B$kfOI8763"28cfPäHynw^)i60'$) ++ˤ鯆`\j(K'ը :P"{ F + )3索cLa^2νW'Z~`Gzi laV*I,Qn=ˆL1ES$8WQ@IYv+﵆͞fnZ5.Q挜v48yByVΛ U۳[Jnپ?:yjEpd}۪m*!k@);쬯WfK,–U}RIzܚ&'>)N&]P1)sເfay +R.V÷z>D_ +I.<vn/~?O]]""0G B|Sv(Kk56΋CDJf}nC0a6 9F8wuxƉJ(`Tٵ;⬃:7NNn4\mTALΚG@IrY˭.yɨZ=PVcDTw`g0 @xɃ_(\΀lȘAapbܤ~,oF)18*vv x0Lhbk ŠRmG8I;0-وP 3RI͏2P͞Y#Nqxx/;}qwA$72PB\1 &aBkZ̊rjX% I\`:qFxl*p#'QD$%WT̡lE$gi '*({BĢ#^N\[̯Bn?LF8{ؽd#j 1&IHKׯ:ٺf}au{iaD`B`3fY/|<ƚX,8_qc:8 4/NЂ^f%aBSoD RծTFAME>!IE*E1amL*%W Lӌ'&̘>TfbRॻCÇ AD Q=@J.GdL{Ϫn륩]Z4tG@\AL,$GcJ" `LBWΡBW f9ALb%J$J +jE+rܵ]]{ז׾9zߖCLwW<}W>,uAibҬ+ dRRsS3X YL/r JL $0e0ԙX BAv\q$Q9&SqBsdjF1LR$iRb&s`(f J0CطCH". @wΛŸg]pUa& W QDl\R F'4De zpf1z~.E<9vAAHT2]S +X +<~n:tf623 6h10NH^~B.qfKSrfs!{yw 0%|\CѪ1OF9;?(,]:KL IZR +|Q(!&g@pR-J)J"0ՎZ^0Cio??&W@2.:s>iߢZZ{R~"1(*F"χc& +1C0#EBbR.`b~9u  SϜZ\$Lhth WWr[\u~|?U ąPO(,͹dgGD)g\Oy|dQ<;*):s^\g(>z 3 /u噅;jRޓ|(BSjXG_ߺQ_=3}zьl2]dEʽ>;#+DBkr*.;1QւIGIx%F` EqT4r^fd:YWwE`g"pϺÓ/5q I`(ŧJvk'LAX9`ො|0qf>F#aL: )ڶ0s%uZ&tb +d +"pZ,0V.1 H:&a\q@qFppq3)0kE勊Q4``tvwn ŒZ;RNZ28]bpggϜyO2)BQU4Q/@<Z3g\gyFN ݱS33ܬG(l`T1d tovY/& 4G'tJ+Իz@<ɔU|ip +*NBbv2WZ~$(d*m:+_|w-pJ`9NA#Jc2/C>l[.K{ +fN5d>nt^J*)UHJYC*z,c-F7]좜øXE<^HE ' ]i뛼1\u;\NCofK 9 +! !V.CHMfzRO(+2#PnWCHF`.P\D("@ +zA$Ibz]<]+/썍Prdjv1̞:`xbP$qZScA O0@(lEԬSϝq OO8ͻE9:=Y ClfKqÔ8`~ӔYçλ0H"xXj^X:kJFB ZͪF5$Γ<HxPmYDMMӒ*Z~zɋWybp~~1( O *PGzx)ߩ%ݕwolnTMeD3s1fSlԭ~7mR*- vJrqb/_g_=Z[orf=) b +h$.-5/-/[ᄌ'[w[˷~㍜"E`@PlhD߿X]^kh/nno{???=<zc?ү>{߽orG?~;4 +{C*Krˈ5h?p?ʍl'?|?x?z_~VkT\M[NV:fA`ow~+Gyҏ?z_~w~ѝ{<|P)z˝q^FU ",6q+_J3uÑs޻O~y'{__z}oO +=@fJșLΫjUyxw>Ͽ|ŷg/ͷO>}4HըgCQȆر;kko| }O}?|~οßգO%R)Y (47Լ!-avN7.njnPur  5Ѯq9Wh8Hb*tKaZ _\~~[>}mۏ޽ݿn|)N " +ʤail3lm!=}g3}_^&VP>ʥQΈr3pyB^e)_{9}㯬W--%͡( ^jjv̔!8(bZ!3ceTʗ-I LQV BABLgAhY,Vk^Mڮo䫫åVMۮJ*kB`~㎄j,55©y<UhQ%$dU/=`XB)%UV˛;Fp,$IU+Ŭ% +(&Pb*,"=&D <,-ԑX +b,-04 (=g}xΤ*;F&y:q(`j)D/Ѓjf *Lgj[bgvޗdFKS̕nd~a>^\^!% 㧦]s>䙙D0ěN8`i:)`%XVDv{ŧ_xհT"q11!0i.Y* oz25K-/o_"rnW ]gb%QA"sLtK1 랸%,ZP<؜Ỹ@c8kØQ@#"S 6˚]9My=!Sm(f;(e"( *^iꤝ*L%0%E/ +`3J .'g?"%dUZA(xZ%tBf褔J9a=H(e)\Y>s0!%؝tQBx3Nn 6fC\S]!.dVd RjSV{R䦌8!ZO%H@NA'´C% aPQ~>*-Ƥ8f-RUg3֠&k4@t:j1= #dTIQ")%u0Jf{YMܳ.)%\ɭ]SY9YTeX%gիn\RB) +aT,熙e/W} fJJR%im&O”e ,ƔcM0F4Qg5ĸ[rZ{VV"Y%C{9:TBv*dTژleGX*q"lY>:x3VJ-HX1+if6ԏ!*Mj-L**U )8$S 0G]6S;[,cd-l@Jsъsm֞n ezΎʮTpEXLZ͇"T.e si E)"eV5\&;$"[?.8br ?)sY+fG|nήRUHO$>RݫT**`~;&˹/TҲW+a$ҭV +4Y6V#Rm67 +%0[b)1Z?K{1Y,L;HM_6[NnkMv aT^>{l.orFʏd*gAiqT8|;;jG=õ6$W@}ΐ4;ǯFZLn k,*OHQa!zv`2R~M-oDy+XaC0&P8dH|Y ΄٨X&ULk ¢hH6DGʅT}/UhX+djGPlZF9f I9#2n495K@ ƤPČ>[OC/HF@Ya*]N̲d^4 dS&B PQнgܟ?{օc- 5\k-YwTMjSvc!LiAYLհz,(BWƅ#>[DƀyXxBPjj)5K;#_;fe 䗗o{ +*VMF{DICZ}W-dI*,o9tlT-lƥ*roL%SMw9t|z] 4z`]+o _ln߫.QyZTcM,"!/я ?_/lQl\4xsE)"N?k*BI=s.(~'9j4?Y}ˈ٘PJb\R!Y o5'J8NJշL۔/_Ucl'Rm n:ÛRqV 5g2dG3]0ۥra,azɮ no疀 +ʍŧBeG㓗򡗱ݻVZ_|=\Rɲq_|Zvi(S\XkMK~ /BD<ԫB~`1ŦW>^;zrmL$ne~kb{RG֞/az­W?ŏ'Ko*eGCB)Tzy T.6׮KZ1TWXmĊ>a3i{qk_{qcYbLW=(WK;jyϯz@h )t!ֶAfpyoJ덍;~C`֊0v\j Fnݷ$Y8IYyOBB{V +QF2.E2{fsڍ0m=T*dּw8; .X. .osu1 (,YEb½\VcQvtS-@s=azyNinqf~vɟ}q#FYϯl>ml?*>_z3! SKRe/m$GDqˆt<9?6%t{9;&>;Lz +Q1 7vZ<&0$ӀcBZrin^&h|bע[Lhi+ŕkRqNUA0o 1lf`OJ҃kvDof'ݺ*D,'Z Gk:ŗZw +vbsڅ.>RJk_oZͮo|kƗ^]'W_ іzqRc&[vu|dyѸ(v~vw{jō͓W'ܥ;w6a (||ݎlJ`]DfZۭ['R/@KrY͝ar H Ulh=U೫ᄍu _d^vp5Uߕ#@ ۹;ع/%imo_yuC_B~kNTߛ(wDãtg_-uZ^L3I5äY^ƥWwltpku6Nk:փ 1Ful bE4)>ƃ>$X>qar~,˓a)@ې\@XnIe,JuK[]Hj\s+g\0pPZ6]˥Rt5\(]o>?8xY~؜ 9}e.Fdڙֺ^ݍZtd֥`&L:xJ5斔NWry+ޒk P@b)|;=ͥlaTB\K;W_r;ϺPvA)mJkk_"ɮPm>]~y);G_"f&UZGX a} VB;P'k^0 9-"g_}< ^_ٺU/JVewl `FKm1g+.jm&WCTŹlqt߿d*@I6Te[/y :iT1&?@s 1-\6h"l̄%/bR0YًE̔}t.,GĊvCuwB!Rum+-cxZnLK .1 tw0* K'z}˭`V;$RI].rq>G옕q%W9!f0餒21XLk"j`$m/fׅQ֚[ѕΣEDÂ`ԪkW''Qq0:K> @$ǀp/A +0,fgdۛ?b~wVA!Zs|sp^JT=0)#.ǐ} Oe tN_Hq}Z+}?YV==UwbL|_ʓI*VkFVgcko"j-e"r-a.Ar3Rs|VabK.dr +OVngnp̦J~ C{&"Vi>mEE|&Z+nC"l9Yz/xj6vڅy$R]|s|n$0a0k _JV.& <杲xQmۍlnt.Dr( ,#L&eJjzȔTXӚ֣+oWG UbL +V͡J#*T`!PmhP-\NSd VkWfP1epL.* yP\]Wri50zbV2]1תJ_N9gd/@~iatjZͭm5q(ʦ\ f}|bGjiK·F XlMA\,_(fBTD]~1׽j5O@$ P9K #5a=Nim|Ry2ĥ|[0dU28vj@#yɃ; aQMFBU샰aQ\ף9_ajZ;/P?/DE@dx>\۸ p`t iMP>$U&՘,G9է2K $i+1R-DȹbY/h"0:u֯B25J cdVLWɁز ҕc)L\aUB#SJlhh%`O:qFtf *>L޸dsrY\RLLVK[Y[JU73g[wƹ0^+QeCTnYr+t2-TkGb> 1QҠZީ) VOAkxU M }@BTf1&m7$Kqvt#3[l +6r_]QP:Lz<}eXW 4@ F\,+z|f:@Gg-ajS[r}jFɲiR +F0aD4lą"ȧ3ȭTeՍ*7[JigBs sFa 峋P({T&JW\ $CdA׀?4%g J"P/ i߼ \1z6G+J$6CsM 3Ƭ>?ϸIDxd c X&Rdt'h4$~|A0"v%Tb>.YgI*T+ƥaFBU+8$cky!Ub*Q]_ukH x[__}7p!"aYrzݏyP{1RKV벜 +ӎ7FzZD$[X /a<krmDŽL-d߱0,JvC/?&k3>XD ;FZ}Z<;?*)ϹgC致(==Y#Ԁ@t|>7dćb}4^Ls15W<쎳ggãs+1;;9(mD1vW($0SRa>MMl4.t/ΚA,9`~w1W&8 i) .F\$͑7azcBzPO6Ez90)紶 !K A@]IuN'vs2.Dң'kX2N6.DOh}sju+ܵnXZ Q6kp S| !۝Btk/5 :*7&_HZKu\q."X" DK#f7=HTȴM[(g Č\uǕS c6DPXHB3Qmko +F _Q +ބhPPlXv'LfpgŔ#Y/ Q'H3P>cA avqKG|LDD^&G' "gVYT+!I2H~L$@+* qf:iz݋26R-e:s7qg)"㊉d+DhP,midɅy6 ɞbQ*J<5ܴyf6OY%jULwtj ,Wp i!|sj dٜwdze1BR-7a]ƴ@bT0EX Vㅥ2V**7k 7`!63}P]ÌP)f:c&F|Uuʃ/"z+@v0P*'5,S^:—|bak1"L/‚HW/z rN/ ~< Yt1;J5A"r5tg$*ҸH E:`=$Si7)sqQ:(B7&.V旎*8'S-a/VX'D,etBq7E}л*8Eע\:B[%B͘)Op֤҄jg7aS֖x ]p*D]s'VZ\1!j2FL'[Ս4TcB ̗@/bP z{1&5|L"{^mHuAgZ $Ӎtc3k +wWaL9F&Z^=\9\ON`ĴiBλL !?&70fպ3<@||BAJ~3.TuW,hBdB ViwC\">bT^ hZ1FDHB98cN"sqN-*g!ROr}b*|CMG_챘rôRn._?53~1 tq2\6Y8RNJΒV٤VsHy@y?nU+ՌBoqUGeC,E=! 5^q+jq5jOǕc2Rv]v\${8H0_ xC˰܌2ƋP|,@s‹UOzS . 3Q9*V!M+ yqk6My PBe(A.8~5[#< YL@JOI%R AbyH;`ݐ]a*;B'Gf݈(-&>] +1JY'&Uc`X h +PAcd+h] bn/ ""V˜4s!5מ)eB\X͘І!2D5WXbBBɹ 0 @ba&ΕdMvCL$8!8?? p|f,M%·X)=`eXlxI69Op*l +:>/@\ svB)Za2sխGBq˃$$ᶏiUX - J~&HU@eցgy_, +jf&iBBlx֍`ra!*!b=Df#|,sY@bXjTͣ]\lABUY9tfMln& +S6 cAjRl?Ơ$H!~O4$֤ܸ +sE$fQt ^% +H2|fe&"yL243f7 +JsY_\У2՟*g=禼>H':8i'Be@S3g|q"즧υEWTqG%WL89"Pi(s!ʃ=@|;妴L+3ӋL2qE"<%-P U&J9ZJ oe&\` pHya #Lb4`V6ZuE8g1&v$+ل4< 8S)!*m/d'3D &M9e}@Ҙ,;%J-bp1,+eI]h ٸ(_U!≊5 RQes=Es>PkҟIb 3IB}|Im.LF(([rA)7Ld@OX3a(_֪{ra=J'/uEjGŊ 3χEH9b,O B*Z`a @4PBa,%Fԧ蟷ġ-}L.#O]১snX+,l*l ~D@ʴ>3! % дӀ`,WTA;{DH$ yq{՟S^UBJeBɔ J.jba'.T`csᙹ7憒0L  @R%2%fC,?HR*L9*br `$j E!Ƥql ˀPdtG\B,j [0ũjjnP4hY? Nb( U T(OZaLHre`l?e΅D\M^s~p8 a%;\~-ݛ\ C1U=fs$@ASQ3$ {艫qڔrp%z\qFv +vyT t8AjS3hB \ yS2:Pxm]YwDwUӰe$6wIEs쬮ꈞ?4s{@ /t[=ܳs-XEgw/*#۞\=b+nvg&Vʿo59T\=w•/n:sg|cx?ӻ+@*莞2rt:uM?k^qch~oroQG;}[r-=X*l35]@u ߀h[ޢ&jlF򓩝.t14;:A pԶ-R:1p8_@*jd(o>/S;Moс/Y4S?PȈ2WGWN`3S;> p~둅2ȩbxS큑Kbt [z7 4wǃsq؟~QhC%`n_LM?8Kv%6{ +ȅ15N޸?zz?\8=fel.[ e7|xoKI3nw/~_g|_o WyLg?~7Oo(o  +?{_~&v`oƖ@p`u&JM^ȏOct 6>,l +HEq2}TVx{z>hѵ`ғcu17/w Nn?H,`fɛrt,M,> _|8WX{u}rjxjg|vߝsVa+UܼMa<ʏ=5 ʩc]}Ëc'= +*[z[> ˇ .هn9Di=088gRmu9XjbeDE Gs iV<,lBSGY,c!hq$hqi70?7sc7-wn<`xIiWؾM3`n .USlC QqK?8;z/ +0*Z=脋 _f6~3"y Rvf7OA7ˏm~po?WCKjCRyj6r4\gn; Lw¹}`)@'Y"F: gGA +w"7<́jO VArmmԶm~g%FsaV8#+uo# +'7݉5gl՟r©/z(77̮?l|xd7\GNҁζ?y[&219~~wG"w(-9 A+C0uMV~ߛ# \q@L˿}f_>;ڙX/T}}?yz#Xgx;?/38T]lސ37ԍqY=dp|+gF? fKSɵc+ 8싁YU]؟:zvиBSlKgڝ~0r0r4xkw.g6O +O&6hԷj.7 Ozlk5S &܀p+/B\j㛰Gڅ@ l-njaaO=Uy(3@vg?_[_;Yq !6 {s}ztߠ5poMz+/ gv_7!l{ߍȏhtkO]VN=? +&80o֟ɑ]XXwG瑕{#KwGʣ . ~4_O^~x[Nȱ5`2;vp7[eobY `v}\8gő=gd1?LqV/ .E%}#\:RcwT{C7@z|ny_[<\=/0 3SЊb \ C1D7o+z[~<0T6)jK{WGys' A[}Z݃L}X䣻K7 Q +[O;Zy`GC ݜ¶y\ƛ|y,I&K՘կmw2}L|yx;gt+sj (#5ɑ{Ⱦؘ 2Ɩ*iv'/t GFWlzl5緎+?w@){Ň.r`,yr .FK`ev.y8A VΠZwWqwJrM` % /Agk/noEx] wԣUwݗ`x0QƯ0#=)'o+x~׳^- 0x8\|dt僵7ul솚u⎜(?S kg/ +ȍ{0,i0]6rb s( `_ɇ`m-?y043pw74;Q^=7ϔWO֩ytw 5;Rw?XoWwelV(a⦻bW, !zp~odolzC/y+ߖ~=080X={r?2'rF7&VjwWjvh JUo瞮<ŗxͿ%gs'nb3=u7mFւNj}7_pgLF)Ʒ齅}300cfz~lLwA0YX%[,f0_zo.7q#?qϝ- +}tޟGzq6@s/P^x'w/G3eӍ'SqS陧ë_fO+au;ۨ={Wr_ +oٱЖ7F7L_ Na/=<rF7 rvkWY{ Υ߶_ɝwM>O:=M>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>DM>OkY]rd';~rsbZz'K8U.kgorsR֪8Wkj\ws}xO9o>?A ?2R]Qr\G ]yHOZ;"CxdON?dOܝs3p . WG+KiKg+~/T{_`^o׷fkǴ6$;*};~ysr| +?kO.l5yƏo^ߙ۟8~yTws +o8}UR;K]sZ>K`(xQ_tyrY8:=1޴=z,i N*3嫋Z޹v~:E!:( ۘQr𠃂+zbfLu%L>zdO5w,[O:?,W&ø8O8{6ZP:m*So^VOۘdΎMN/.2Ɲ=j41m(> 9FPm{j:謜N/Kma~Ѭ]2K/+`튶^00LOeof6ҺyItW_/^t]1#ƌTfսgN Ѿ+|^<:^h(k+,L&ȊtHNbY˚W[cXu0]0kV<;;.W߶\R{UI:&`&zA c|=Sj6"zѺl}z-9A_=k]u uyb {^sm8a'|#y=<;YIA5ޮzb}xچcl3;}{L]$I}`'s:|$IvRd=m{˷1`} Z,OOj-wTNv6}gdqR=^._lsrWB6t0{}/'ex\i%d>ms°͚̽cb D̲NƑ^.Ժ+FSF 5 )q[vZ-_)Wȟѩ)Ngm2g{th`_|q&U>~],nNMJ_vY{Oѩ9:/SlFd/NNXJEөIw\v|a^VNژ]Q#|Z;i~\BAhf.1~R;k#;#\hQxWs*Y5]jc{L]ܥU]򻝭3K뛻Բܥ,w)]sG1xs*7wpMrYGR.1c?CSYN'Z +m'w0[_|y~:==:?`` ״$foWvӓpX]ݩ1QAu2lآ_b3x=9@2e1S{+V31ş)fb*fL1cS$|pycbev4?if~c"iN{?=Nm=QQNjNiMVjo+o<y؋vzP=r,e|9N--w굩EuQ<^E%(njŬtSVC'Qn:ztSN I''\w%gu|Nݦ]6!ߙ\Z=|eGIz`zw|hW7o~x]g'<]V~I>Rse&Һ{"ak;>6Ƌ6f،Tgf$zPnX\>]T/7z]4"%blŀЇ-xvG EA4:Y4?Y4?wa4#,Eh~-Ee +endstream endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 74 0 obj <> endobj 75 0 obj <> endobj 108 0 obj <> endobj 109 0 obj <> endobj 142 0 obj <> endobj 143 0 obj <> endobj 176 0 obj <> endobj 177 0 obj <> endobj 210 0 obj <> endobj 211 0 obj <> endobj 247 0 obj <> endobj 248 0 obj <> endobj 284 0 obj <> endobj 285 0 obj <> endobj 296 0 obj [/View/Design] endobj 297 0 obj <>>> endobj 294 0 obj [/View/Design] endobj 295 0 obj <>>> endobj 259 0 obj [/View/Design] endobj 260 0 obj <>>> endobj 257 0 obj [/View/Design] endobj 258 0 obj <>>> endobj 222 0 obj [/View/Design] endobj 223 0 obj <>>> endobj 220 0 obj [/View/Design] endobj 221 0 obj <>>> endobj 188 0 obj [/View/Design] endobj 189 0 obj <>>> endobj 186 0 obj [/View/Design] endobj 187 0 obj <>>> endobj 154 0 obj [/View/Design] endobj 155 0 obj <>>> endobj 152 0 obj [/View/Design] endobj 153 0 obj <>>> endobj 120 0 obj [/View/Design] endobj 121 0 obj <>>> endobj 118 0 obj [/View/Design] endobj 119 0 obj <>>> endobj 86 0 obj [/View/Design] endobj 87 0 obj <>>> endobj 84 0 obj [/View/Design] endobj 85 0 obj <>>> endobj 52 0 obj [/View/Design] endobj 53 0 obj <>>> endobj 50 0 obj [/View/Design] endobj 51 0 obj <>>> endobj 21 0 obj [/View/Design] endobj 22 0 obj <>>> endobj 19 0 obj [/View/Design] endobj 20 0 obj <>>> endobj 17 0 obj [/View/Design] endobj 18 0 obj <>>> endobj 323 0 obj [322 0 R 321 0 R] endobj 357 0 obj <> endobj xref +0 358 +0000000004 65535 f +0000000016 00000 n +0000000455 00000 n +0000042989 00000 n +0000000008 00000 f +0001413671 00000 n +0001413743 00000 n +0001413811 00000 n +0000000010 00000 f +0000043040 00000 n +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000016 00000 f +0000000023 00000 f +0001417171 00000 n +0001417202 00000 n +0001417055 00000 n +0001417086 00000 n +0001416939 00000 n +0001416970 00000 n +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000036 00000 f +0000000037 00000 f +0000000038 00000 f +0000000039 00000 f +0000000042 00000 f +0001413879 00000 n +0001413952 00000 n +0000000043 00000 f +0000000044 00000 f +0000000045 00000 f +0000000046 00000 f +0000000047 00000 f +0000000048 00000 f +0000000049 00000 f +0000000054 00000 f +0001416823 00000 n +0001416854 00000 n +0001416707 00000 n +0001416738 00000 n +0000000055 00000 f +0000000056 00000 f +0000000057 00000 f +0000000058 00000 f +0000000059 00000 f +0000000060 00000 f +0000000061 00000 f +0000000062 00000 f +0000000063 00000 f +0000000064 00000 f +0000000065 00000 f +0000000066 00000 f +0000000067 00000 f +0000000068 00000 f +0000000069 00000 f +0000000070 00000 f +0000000071 00000 f +0000000072 00000 f +0000000073 00000 f +0000000076 00000 f +0001414022 00000 n +0001414095 00000 n +0000000077 00000 f +0000000078 00000 f +0000000079 00000 f +0000000080 00000 f +0000000081 00000 f +0000000082 00000 f +0000000083 00000 f +0000000088 00000 f +0001416591 00000 n +0001416622 00000 n +0001416475 00000 n +0001416506 00000 n +0000000089 00000 f +0000000090 00000 f +0000000091 00000 f +0000000092 00000 f +0000000093 00000 f +0000000094 00000 f +0000000095 00000 f +0000000096 00000 f +0000000097 00000 f +0000000098 00000 f +0000000099 00000 f +0000000100 00000 f +0000000101 00000 f +0000000102 00000 f +0000000103 00000 f +0000000104 00000 f +0000000105 00000 f +0000000106 00000 f +0000000107 00000 f +0000000110 00000 f +0001414165 00000 n +0001414241 00000 n +0000000111 00000 f +0000000112 00000 f +0000000113 00000 f +0000000114 00000 f +0000000115 00000 f +0000000116 00000 f +0000000117 00000 f +0000000122 00000 f +0001416357 00000 n +0001416389 00000 n +0001416239 00000 n +0001416271 00000 n +0000000123 00000 f +0000000124 00000 f +0000000125 00000 f +0000000126 00000 f +0000000127 00000 f +0000000128 00000 f +0000000129 00000 f +0000000130 00000 f +0000000131 00000 f +0000000132 00000 f +0000000133 00000 f +0000000134 00000 f +0000000135 00000 f +0000000136 00000 f +0000000137 00000 f +0000000138 00000 f +0000000139 00000 f +0000000140 00000 f +0000000141 00000 f +0000000144 00000 f +0001414314 00000 n +0001414390 00000 n +0000000145 00000 f +0000000146 00000 f +0000000147 00000 f +0000000148 00000 f +0000000149 00000 f +0000000150 00000 f +0000000151 00000 f +0000000156 00000 f +0001416121 00000 n +0001416153 00000 n +0001416003 00000 n +0001416035 00000 n +0000000157 00000 f +0000000158 00000 f +0000000159 00000 f +0000000160 00000 f +0000000161 00000 f +0000000162 00000 f +0000000163 00000 f +0000000164 00000 f +0000000165 00000 f +0000000166 00000 f +0000000167 00000 f +0000000168 00000 f +0000000169 00000 f +0000000170 00000 f +0000000171 00000 f +0000000172 00000 f +0000000173 00000 f +0000000174 00000 f +0000000175 00000 f +0000000178 00000 f +0001414463 00000 n +0001414539 00000 n +0000000179 00000 f +0000000180 00000 f +0000000181 00000 f +0000000182 00000 f +0000000183 00000 f +0000000184 00000 f +0000000185 00000 f +0000000190 00000 f +0001415885 00000 n +0001415917 00000 n +0001415767 00000 n +0001415799 00000 n +0000000191 00000 f +0000000192 00000 f +0000000193 00000 f +0000000194 00000 f +0000000195 00000 f +0000000196 00000 f +0000000197 00000 f +0000000198 00000 f +0000000199 00000 f +0000000200 00000 f +0000000201 00000 f +0000000202 00000 f +0000000203 00000 f +0000000204 00000 f +0000000205 00000 f +0000000206 00000 f +0000000207 00000 f +0000000208 00000 f +0000000209 00000 f +0000000212 00000 f +0001414612 00000 n +0001414688 00000 n +0000000213 00000 f +0000000214 00000 f +0000000215 00000 f +0000000216 00000 f +0000000217 00000 f +0000000218 00000 f +0000000219 00000 f +0000000224 00000 f +0001415649 00000 n +0001415681 00000 n +0001415531 00000 n +0001415563 00000 n +0000000225 00000 f +0000000226 00000 f +0000000227 00000 f +0000000228 00000 f +0000000229 00000 f +0000000230 00000 f +0000000231 00000 f +0000000232 00000 f +0000000233 00000 f +0000000234 00000 f +0000000235 00000 f +0000000236 00000 f +0000000237 00000 f +0000000238 00000 f +0000000239 00000 f +0000000240 00000 f +0000000241 00000 f +0000000242 00000 f +0000000243 00000 f +0000000244 00000 f +0000000245 00000 f +0000000246 00000 f +0000000249 00000 f +0001414761 00000 n +0001414837 00000 n +0000000250 00000 f +0000000251 00000 f +0000000252 00000 f +0000000253 00000 f +0000000254 00000 f +0000000255 00000 f +0000000256 00000 f +0000000261 00000 f +0001415413 00000 n +0001415445 00000 n +0001415295 00000 n +0001415327 00000 n +0000000262 00000 f +0000000263 00000 f +0000000264 00000 f +0000000265 00000 f +0000000266 00000 f +0000000267 00000 f +0000000268 00000 f +0000000269 00000 f +0000000270 00000 f +0000000271 00000 f +0000000272 00000 f +0000000273 00000 f +0000000274 00000 f +0000000275 00000 f +0000000276 00000 f +0000000277 00000 f +0000000278 00000 f +0000000279 00000 f +0000000280 00000 f +0000000281 00000 f +0000000282 00000 f +0000000283 00000 f +0000000000 00000 f +0001414910 00000 n +0001414986 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0001415177 00000 n +0001415209 00000 n +0001415059 00000 n +0001415091 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000227594 00000 n +0000227670 00000 n +0001417287 00000 n +0000043444 00000 n +0000230780 00000 n +0000228093 00000 n +0000227979 00000 n +0000226438 00000 n +0000227029 00000 n +0000227079 00000 n +0000227861 00000 n +0000227893 00000 n +0000227743 00000 n +0000227775 00000 n +0000228130 00000 n +0000230856 00000 n +0000231436 00000 n +0000232774 00000 n +0000239838 00000 n +0000305428 00000 n +0000371018 00000 n +0000436608 00000 n +0000502198 00000 n +0000567788 00000 n +0000633378 00000 n +0000698968 00000 n +0000764558 00000 n +0000830148 00000 n +0000888951 00000 n +0000954541 00000 n +0001020131 00000 n +0001085721 00000 n +0001151311 00000 n +0001216901 00000 n +0001282491 00000 n +0001348081 00000 n +0001417322 00000 n +trailer +<<77352EA3DB76C040B6AAE40D8F3C4E10>]>> +startxref +1417509 +%%EOF diff --git a/res/img/Player1080p.png b/res/img/Player1080p.png new file mode 100644 index 0000000..8f3c8dd Binary files /dev/null and b/res/img/Player1080p.png differ diff --git a/res/img/Player1440p.png b/res/img/Player1440p.png new file mode 100644 index 0000000..8207f1d Binary files /dev/null and b/res/img/Player1440p.png differ diff --git a/res/img/Player4k.png b/res/img/Player4k.png new file mode 100644 index 0000000..89c9b8f Binary files /dev/null and b/res/img/Player4k.png differ diff --git a/res/img/blocks/Wire/PoweredWire0001.png b/res/img/blocks/Wire/PoweredWire0001.png new file mode 100644 index 0000000..7497b97 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0001.png differ diff --git a/res/img/blocks/Wire/PoweredWire0010.png b/res/img/blocks/Wire/PoweredWire0010.png new file mode 100644 index 0000000..65e6d24 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0010.png differ diff --git a/res/img/blocks/Wire/PoweredWire0011.png b/res/img/blocks/Wire/PoweredWire0011.png new file mode 100644 index 0000000..06cb5a3 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0011.png differ diff --git a/res/img/blocks/Wire/PoweredWire0100.png b/res/img/blocks/Wire/PoweredWire0100.png new file mode 100644 index 0000000..5295e11 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0100.png differ diff --git a/res/img/blocks/Wire/PoweredWire0101.png b/res/img/blocks/Wire/PoweredWire0101.png new file mode 100644 index 0000000..31c275d Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0101.png differ diff --git a/res/img/blocks/Wire/PoweredWire0110.png b/res/img/blocks/Wire/PoweredWire0110.png new file mode 100644 index 0000000..18e102a Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0110.png differ diff --git a/res/img/blocks/Wire/PoweredWire0111.png b/res/img/blocks/Wire/PoweredWire0111.png new file mode 100644 index 0000000..4156622 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire0111.png differ diff --git a/res/img/blocks/Wire/PoweredWire1000.png b/res/img/blocks/Wire/PoweredWire1000.png new file mode 100644 index 0000000..ae9d140 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1000.png differ diff --git a/res/img/blocks/Wire/PoweredWire1001.png b/res/img/blocks/Wire/PoweredWire1001.png new file mode 100644 index 0000000..3f40c91 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1001.png differ diff --git a/res/img/blocks/Wire/PoweredWire1010.png b/res/img/blocks/Wire/PoweredWire1010.png new file mode 100644 index 0000000..c62096c Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1010.png differ diff --git a/res/img/blocks/Wire/PoweredWire1011.png b/res/img/blocks/Wire/PoweredWire1011.png new file mode 100644 index 0000000..b7abf62 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1011.png differ diff --git a/res/img/blocks/Wire/PoweredWire1100.png b/res/img/blocks/Wire/PoweredWire1100.png new file mode 100644 index 0000000..2681c0f Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1100.png differ diff --git a/res/img/blocks/Wire/PoweredWire1101.png b/res/img/blocks/Wire/PoweredWire1101.png new file mode 100644 index 0000000..eab542f Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1101.png differ diff --git a/res/img/blocks/Wire/PoweredWire1110.png b/res/img/blocks/Wire/PoweredWire1110.png new file mode 100644 index 0000000..192d395 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1110.png differ diff --git a/res/img/blocks/Wire/PoweredWire1111.png b/res/img/blocks/Wire/PoweredWire1111.png new file mode 100644 index 0000000..892f823 Binary files /dev/null and b/res/img/blocks/Wire/PoweredWire1111.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0001.png b/res/img/blocks/Wire/UnpoweredWire0001.png new file mode 100644 index 0000000..e0a3d91 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0001.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0010.png b/res/img/blocks/Wire/UnpoweredWire0010.png new file mode 100644 index 0000000..28d28bb Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0010.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0011.png b/res/img/blocks/Wire/UnpoweredWire0011.png new file mode 100644 index 0000000..5a7c43e Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0011.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0100.png b/res/img/blocks/Wire/UnpoweredWire0100.png new file mode 100644 index 0000000..39e6e55 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0100.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0101.png b/res/img/blocks/Wire/UnpoweredWire0101.png new file mode 100644 index 0000000..c8c4a72 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0101.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0110.png b/res/img/blocks/Wire/UnpoweredWire0110.png new file mode 100644 index 0000000..1067a69 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0110.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire0111.png b/res/img/blocks/Wire/UnpoweredWire0111.png new file mode 100644 index 0000000..2b51bed Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire0111.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1000.png b/res/img/blocks/Wire/UnpoweredWire1000.png new file mode 100644 index 0000000..fb10203 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1000.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1001.png b/res/img/blocks/Wire/UnpoweredWire1001.png new file mode 100644 index 0000000..dd375a6 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1001.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1010.png b/res/img/blocks/Wire/UnpoweredWire1010.png new file mode 100644 index 0000000..0d99ddf Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1010.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1011.png b/res/img/blocks/Wire/UnpoweredWire1011.png new file mode 100644 index 0000000..cf935fa Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1011.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1100.png b/res/img/blocks/Wire/UnpoweredWire1100.png new file mode 100644 index 0000000..86f7706 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1100.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1101.png b/res/img/blocks/Wire/UnpoweredWire1101.png new file mode 100644 index 0000000..74e2dca Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1101.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1110.png b/res/img/blocks/Wire/UnpoweredWire1110.png new file mode 100644 index 0000000..e04db05 Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1110.png differ diff --git a/res/img/blocks/Wire/UnpoweredWire1111.png b/res/img/blocks/Wire/UnpoweredWire1111.png new file mode 100644 index 0000000..78434ad Binary files /dev/null and b/res/img/blocks/Wire/UnpoweredWire1111.png differ diff --git a/res/img/blocks/YenBlock/YenBlock0.png b/res/img/blocks/YenBlock/YenBlock0.png new file mode 100644 index 0000000..1ade640 Binary files /dev/null and b/res/img/blocks/YenBlock/YenBlock0.png differ diff --git a/res/img/blocks/YenBlock/YenBlock1.png b/res/img/blocks/YenBlock/YenBlock1.png new file mode 100644 index 0000000..b1e0054 Binary files /dev/null and b/res/img/blocks/YenBlock/YenBlock1.png differ diff --git a/res/img/blocks/YenBlock/YenBlock2.png b/res/img/blocks/YenBlock/YenBlock2.png new file mode 100644 index 0000000..bb832a6 Binary files /dev/null and b/res/img/blocks/YenBlock/YenBlock2.png differ diff --git a/res/img/blocks/YenBlock/YenBlock3.png b/res/img/blocks/YenBlock/YenBlock3.png new file mode 100644 index 0000000..75b369e Binary files /dev/null and b/res/img/blocks/YenBlock/YenBlock3.png differ diff --git a/res/img/blocks/YenBlock/YenBlock4.png b/res/img/blocks/YenBlock/YenBlock4.png new file mode 100644 index 0000000..66aba20 Binary files /dev/null and b/res/img/blocks/YenBlock/YenBlock4.png differ diff --git a/res/levels/count.txt b/res/levels/count.txt new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/res/levels/count.txt @@ -0,0 +1 @@ +4 diff --git a/res/levels/descriptor.txt b/res/levels/descriptor.txt new file mode 100644 index 0000000..17f6058 --- /dev/null +++ b/res/levels/descriptor.txt @@ -0,0 +1,9 @@ +numBlocks +killFloor +player.x,player.y +goal.x,goal.y +numPlatforms +platform-n.x,platform-n.y,platform-n.width,platform-n.height +. +. +. \ No newline at end of file diff --git a/res/levels/level0.txt b/res/levels/level0.txt new file mode 100644 index 0000000..2528aaa --- /dev/null +++ b/res/levels/level0.txt @@ -0,0 +1,7 @@ +2 +30 +1,0 +18,0 +2 +0,2,5,40 +15,2,5,40 diff --git a/res/levels/level1.txt b/res/levels/level1.txt new file mode 100644 index 0000000..c0d77fd --- /dev/null +++ b/res/levels/level1.txt @@ -0,0 +1,7 @@ +2 +25 +1,10 +10,0 +2 +0,12,5,40 +7,2,5,50 diff --git a/res/levels/level2.txt b/res/levels/level2.txt new file mode 100644 index 0000000..e1077eb --- /dev/null +++ b/res/levels/level2.txt @@ -0,0 +1,9 @@ +2 +30 +1,0 +7,-30 +4 +0,2,3,40 +6,-8,3,50 +0,-18,3,1 +6,-28,3,1 diff --git a/res/levels/level3.txt b/res/levels/level3.txt new file mode 100644 index 0000000..b858def --- /dev/null +++ b/res/levels/level3.txt @@ -0,0 +1,15 @@ +2 +30 +1,0 +24,-2 +10 +0,2,3,40 +7,2,1,40 +7,-101,1,100 +11,4,1,40 +11,-99,1,100 +15,-4,1,40 +15,-107,1,100 +19,0,1,40 +19,-103,1,100 +23,0,3,40 diff --git a/res/shaders/Shader2c/Shader2cf.gls b/res/shaders/Shader2c/Shader2cf.gls new file mode 100644 index 0000000..cff410b --- /dev/null +++ b/res/shaders/Shader2c/Shader2cf.gls @@ -0,0 +1,35 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform vec4 inputColor = vec4(1, 0.5, 0.9, 1); + +layout (location = 0) out vec4 color; + +void main() { + color = inputColor; +} \ No newline at end of file diff --git a/res/shaders/Shader2c/Shader2cv.gls b/res/shaders/Shader2c/Shader2cv.gls new file mode 100644 index 0000000..d653deb --- /dev/null +++ b/res/shaders/Shader2c/Shader2cv.gls @@ -0,0 +1,35 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform mat4 mvp; + +layout (location = 0) in vec3 vertices; + +void main() { + gl_Position = mvp * vec4(vertices, 1); +} \ No newline at end of file diff --git a/res/shaders/Shader2ss/Shader2ssf.gls b/res/shaders/Shader2ss/Shader2ssf.gls new file mode 100644 index 0000000..658e5e6 --- /dev/null +++ b/res/shaders/Shader2ss/Shader2ssf.gls @@ -0,0 +1,37 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform sampler2D tex; + +in vec2 texCoords; + +layout (location = 0) out vec4 color; + +void main() { + color = texture(tex, texCoords); +} \ No newline at end of file diff --git a/res/shaders/Shader2ss/Shader2ssv.gls b/res/shaders/Shader2ss/Shader2ssv.gls new file mode 100644 index 0000000..84e2689 --- /dev/null +++ b/res/shaders/Shader2ss/Shader2ssv.gls @@ -0,0 +1,40 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform mat4 mvp; +uniform mat4 textureTransform = mat4(1.0); + +layout (location = 0) in vec3 vertices; +layout (location = 1) in vec2 textureCoords; + +out vec2 texCoords; + +void main() { + gl_Position = mvp * vec4(vertices, 1); + texCoords = (textureTransform * vec4(textureCoords, 0, 1)).xy; +} \ No newline at end of file diff --git a/res/shaders/Shader2t/Shader2tf.gls b/res/shaders/Shader2t/Shader2tf.gls new file mode 100644 index 0000000..658e5e6 --- /dev/null +++ b/res/shaders/Shader2t/Shader2tf.gls @@ -0,0 +1,37 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform sampler2D tex; + +in vec2 texCoords; + +layout (location = 0) out vec4 color; + +void main() { + color = texture(tex, texCoords); +} \ No newline at end of file diff --git a/res/shaders/Shader2t/Shader2tv.gls b/res/shaders/Shader2t/Shader2tv.gls new file mode 100644 index 0000000..c93e60a --- /dev/null +++ b/res/shaders/Shader2t/Shader2tv.gls @@ -0,0 +1,39 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#version 330 core + +uniform mat4 mvp; + +layout (location = 0) in vec3 vertices; +layout (location = 1) in vec2 textureCoords; + +out vec2 texCoords; + +void main() { + gl_Position = mvp * vec4(vertices, 1); + texCoords = textureCoords; +} \ No newline at end of file diff --git a/src/geno/GenoChars.h b/src/geno/GenoChars.h new file mode 100644 index 0000000..4dc2398 --- /dev/null +++ b/src/geno/GenoChars.h @@ -0,0 +1,34 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_CHARS +#define GNARLY_GENOME_CHARS + +using char8 = char; +using char16 = short; +using char32 = int; + +#endif // GNARLY_GENOME_CHARS \ No newline at end of file diff --git a/src/geno/GenoInts.h b/src/geno/GenoInts.h new file mode 100644 index 0000000..4f5f5e4 --- /dev/null +++ b/src/geno/GenoInts.h @@ -0,0 +1,39 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_INTS +#define GNARLY_GENOME_INTS + +using int8 = signed char; +using uint8 = unsigned char; +using int16 = signed short; +using uint16 = unsigned short; +using int32 = signed int; +using uint32 = unsigned int; +using int64 = signed long long; +using uint64 = unsigned long long; + +#endif // GNARLY_GENOME_INTS \ No newline at end of file diff --git a/src/geno/GenoMacros.h b/src/geno/GenoMacros.h new file mode 100644 index 0000000..b8a8fb9 --- /dev/null +++ b/src/geno/GenoMacros.h @@ -0,0 +1,32 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_MACROS +#define GNARLY_GENOME_MACROS + +#define GENO_ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) + +#endif // GNARLY_GENOME_MACROS \ No newline at end of file diff --git a/src/geno/data/GenoImage.cpp b/src/geno/data/GenoImage.cpp new file mode 100644 index 0000000..46a639f --- /dev/null +++ b/src/geno/data/GenoImage.cpp @@ -0,0 +1,208 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include + +#include + +#include "GenoImage.h" + +struct GenoBitmapFileHeader { + uint16 signature; + uint32 fileSize; + uint16 res1; + uint16 res2; + uint32 offset; +}; + +struct GenoBitmapInfoHeader { + uint32 headerSize; + uint32 width; + uint32 height; + uint16 colorPlanes; + uint16 bitsPerPixel; + uint32 compression; + uint32 imageSize; + uint32 horzRes; + uint32 vertRes; + uint32 colorPerPalette; + uint32 important; +}; + +GenoImage::GenoImage() {} + +GenoImage * GenoImage::create(const GenoImageCreateInfo & info) { + uint32 width = 0; + uint32 height = 0; + uint8 * image = 0; + switch (info.type) { + case GENO_IMAGE_TYPE_CREATE: { + width = info.width; + height = info.height; + uint64 size = width * height * 4; + image = new uint8[size]; + for (int32 i = 0; i < size; i += 4) { + image[i ] = info.r; + image[i + 1] = info.g; + image[i + 2] = info.b; + image[i + 3] = info.a; + } + break; + } + case GENO_IMAGE_TYPE_BMP: { + std::ifstream file(info.path, std::ios::binary); + if (file) { + GenoBitmapFileHeader fileHeader; + file.read(reinterpret_cast (&fileHeader), sizeof(fileHeader)); + + if (fileHeader.signature == 0x4D42) { + GenoBitmapInfoHeader infoHeader; + file.read(reinterpret_cast (&infoHeader), sizeof(infoHeader)); + + + width = infoHeader.width; + height = infoHeader.height; + + image = new uint8[width * height * 4]; + + if (infoHeader.bitsPerPixel == 24 && infoHeader.compression == 0) { + + uint8 padding = (4 - (width * 3) % 4) % 4; + + file.seekg(fileHeader.offset); + int32 lWidth = width * 4; + int32 lHeight = height * 4; + for (int32 i = lHeight - 4; i >= 0; i -= 4) { + for (int32 j = 0; j < lWidth; j += 4) { + int pixel = j * height + i; + image[pixel + 3] = file.get(); + image[pixel + 2] = file.get(); + image[pixel + 1] = file.get(); + image[pixel ] = 0xFF; + } + file.seekg(padding, std::ios::cur); + } + } + else + return 0; + } + else + return 0; + } + else + return 0; + file.close(); + break; + } + case GENO_IMAGE_TYPE_PNG: { + FILE * fp = fopen(info.path, "rb"); + + png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + png_infop info = png_create_info_struct(png); + + png_init_io(png, fp); + + png_read_info(png, info); + + width = png_get_image_width(png, info); + height = png_get_image_height(png, info); + png_byte colorType = png_get_color_type(png, info); + png_byte bitDepth = png_get_bit_depth(png, info); + + if (bitDepth == 16) + png_set_strip_16(png); + + if (colorType == PNG_COLOR_TYPE_PALETTE) + png_set_palette_to_rgb(png); + + if (colorType == PNG_COLOR_TYPE_GRAY && bitDepth < 8) + png_set_expand_gray_1_2_4_to_8(png); + + if (png_get_valid(png, info, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha(png); + + if (colorType == PNG_COLOR_TYPE_RGB || colorType == PNG_COLOR_TYPE_GRAY || colorType == PNG_COLOR_TYPE_PALETTE) + png_set_filler(png, 0xFF, PNG_FILLER_AFTER); + + if (colorType == PNG_COLOR_TYPE_GRAY || colorType == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb(png); + + png_read_update_info(png, info); + + png_bytep * rowPointers = (png_bytep *)malloc(sizeof(png_bytep) * height); + for (int y = 0; y < height; y++) + rowPointers[y] = (png_byte *) malloc(png_get_rowbytes(png, info)); + + png_read_image(png, rowPointers); + + image = new uint8[width * height * 4]; + for (int j = 0; j < height; ++j) { + png_bytep row = rowPointers[j]; + for (int i = 0; i < width; ++i) { + uint32 pixel = i * 4 + j * width * 4; + png_bytep px = row + (i * 4); + image[pixel ] = px[0]; + image[pixel + 1] = px[1]; + image[pixel + 2] = px[2]; + image[pixel + 3] = px[3]; + } + } + + png_destroy_read_struct(&png, &info, NULL); + fclose(fp); + break; + } + } + + GenoImage * ret = new GenoImage(); + ret->width = width; + ret->height = height; + ret->image = image; + + return ret; +} + +uint32 GenoImage::getWidth() const { + return width; +} + +uint32 GenoImage::getHeight() const { + return height; +} + +uint8 * GenoImage::getBytes() { + return image; +} + +const uint8 * GenoImage::getBytes() const { + return image; +} + +GenoImage::~GenoImage() { + delete [] image; +} \ No newline at end of file diff --git a/src/geno/data/GenoImage.h b/src/geno/data/GenoImage.h new file mode 100644 index 0000000..74d6ff5 --- /dev/null +++ b/src/geno/data/GenoImage.h @@ -0,0 +1,66 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_IMAGE +#define GNARLY_GENOME_IMAGE + +#include "../GenoInts.h" + +#define GENO_IMAGE_TYPE_CREATE 0x00 +#define GENO_IMAGE_TYPE_PNG 0x01 +#define GENO_IMAGE_TYPE_BMP 0x02 + +struct GenoImageCreateInfo { + uint32 type; + + uint32 width; + uint32 height; + uint8 r; + uint8 g; + uint8 b; + uint8 a; + + const char * path; +}; + +class GenoImage { + private: + uint32 width; + uint32 height; + uint8 * image; + + GenoImage(); + public: + static GenoImage * create(const GenoImageCreateInfo & info); + uint32 getWidth() const; + uint32 getHeight() const; + uint8 * getBytes(); + const uint8 * getBytes() const; + ~GenoImage(); +}; + +#define GNARLY_GENOME_IMAGE_FORWARD +#endif // GNARLY_GENOME_IMAGE \ No newline at end of file diff --git a/src/geno/engine/GenoCamera2D.cpp b/src/geno/engine/GenoCamera2D.cpp new file mode 100644 index 0000000..5c64ada --- /dev/null +++ b/src/geno/engine/GenoCamera2D.cpp @@ -0,0 +1,71 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoCamera2D.h" + +GenoCamera2D::GenoCamera2D(float left, float right, float bottom, float top, float near, float far) : + width(right - left), + height(bottom - top), + projection(GenoMatrix4f::makeOrthographic(left, right, bottom, top, near, far)), + view(GenoMatrix4f::makeIdentity()), + projectionView(projection), + position(), + rotation(0) {} + +void GenoCamera2D::update() { + view.setTranslateXY(-position).rotateZ(-rotation); + projectionView = projection * view; +} + +void GenoCamera2D::setProjection(float left, float right, float bottom, float top, float near, float far) { + projection.setOrthographic(left, right, bottom, top, near, far); +} + +GenoMatrix4f GenoCamera2D::getProjection() { + return projection; +} + +GenoMatrix4f GenoCamera2D::getView() { + return view; +} + +GenoMatrix4f GenoCamera2D::getVPMatrix() { + return projectionView; +} + +float GenoCamera2D::getWidth() { + return width; +} + +float GenoCamera2D::getHeight() { + return height; +} + +GenoVector2f GenoCamera2D::getDimensions() { + return { width, height }; +} + +GenoCamera2D::~GenoCamera2D() {} \ No newline at end of file diff --git a/src/geno/engine/GenoCamera2D.h b/src/geno/engine/GenoCamera2D.h new file mode 100644 index 0000000..efe251b --- /dev/null +++ b/src/geno/engine/GenoCamera2D.h @@ -0,0 +1,58 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_CAMERA2D +#define GNARLY_GENOME_CAMERA2D + +#include "../math/linear/GenoVector2.h" +#include "../math/linear/GenoMatrix4.h" + +class GenoCamera2D { + private: + float width; + float height; + + GenoMatrix4f projection; + GenoMatrix4f view; + GenoMatrix4f projectionView; + public: + GenoVector2f position; + float rotation; + + GenoCamera2D(float left, float right, float bottom, float top, float near, float far); + void update(); + void setProjection(float left, float right, float bottom, float top, float near, float far); + GenoMatrix4f getProjection(); + GenoMatrix4f getView(); + GenoMatrix4f getVPMatrix(); + float getWidth(); + float getHeight(); + GenoVector2f getDimensions(); + ~GenoCamera2D(); +}; + +#define GNARLY_GENOME_CAMERA2D_FORWARD +#endif // GNARLY_GENOME_CAMERA2D \ No newline at end of file diff --git a/src/geno/engine/GenoEngine.cpp b/src/geno/engine/GenoEngine.cpp new file mode 100644 index 0000000..0815a7a --- /dev/null +++ b/src/geno/engine/GenoEngine.cpp @@ -0,0 +1,124 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "../gl/GenoGL.h" +#include "GenoInput.h" +#include "GenoMonitor.h" + +#include "GenoEngine.h" + +namespace { + void errorCallback(int32 code, const char * message); +} + +GenoLoopCallback GenoEngine::callback = 0; +GenoLoop * GenoEngine::loop = 0; +GenoEngine::GenoEventPollFunc GenoEngine::getEvents = 0; + +void GenoEngine::defaultLoop() { + GenoInput::update(); + GenoEngine::pollEvents(); + callback(); +} + +bool GenoEngine::init() { + glfwSetErrorCallback(errorCallback); + + if (!glfwInit()) { + std::cerr << "GL Framework failed to initialize!" << std::endl; + return false; + } + + getEvents = glfwPollEvents; + + GenoMonitors::init(); + + return true; +} + +bool GenoEngine::initGlew() { + if (glewInit() != GLEW_NO_ERROR) { + std::cerr << "GL Extension Wrangler failed to initialize!" << std::endl; + return false; + } + + return true; +} + +void GenoEngine::setLoop(GenoLoopCreateInfo info, bool overrideDefault) { + delete loop; + + if (!overrideDefault) { + callback = info.callback; + info.callback = defaultLoop; + } + + loop = new GenoLoop(info); +} + +void GenoEngine::startLoop() { + loop->start(); +} + +void GenoEngine::stopLoop() { + loop->stop(); +} + +void GenoEngine::destroy() { + stopLoop(); + delete loop; + + GenoMonitors::cleanup(); + + glfwTerminate(); +} + +void GenoEngine::setSwapInterval(uint8 swapInterval) { + glfwSwapInterval(swapInterval); +} + +void GenoEngine::pollEvents() { + getEvents(); +} + +void GenoEngine::setPollFunc(bool pollFunc) { + getEvents = pollFunc ? glfwPollEvents : glfwWaitEvents; +} + +GenoLoop * GenoEngine::getLoop() { + return loop; +} + +GenoEngine::GenoEngine() {} +GenoEngine::~GenoEngine() {} + +namespace { + void errorCallback(int32 code, const char * message) { + std::cerr << "GLFW error " << code << ": " << message << std::endl; + } +} \ No newline at end of file diff --git a/src/geno/engine/GenoEngine.h b/src/geno/engine/GenoEngine.h new file mode 100644 index 0000000..1fe6cd3 --- /dev/null +++ b/src/geno/engine/GenoEngine.h @@ -0,0 +1,122 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_LOOP_FORWARD +#define GNARLY_GENOME_LOOP_FORWARD + +class GenoLoop; + +#endif // GNARLY_GENOME_LOOP_FORWARD + +#ifndef GNARLY_GENOME_ENGINE +#define GNARLY_GENOME_ENGINE + +#include "../GenoInts.h" + +#include "GenoLoop.h" + +#define GENO_ENGINE_EVENTS_WAIT false +#define GENO_ENGINE_EVENTS_POLL true + +/** + * The engine +**/ +class GenoEngine final { + private: + typedef void (*GenoEventPollFunc)(); + + static GenoLoopCallback callback; + static GenoLoop * loop; + static GenoEventPollFunc getEvents; + + static void defaultLoop(); + + GenoEngine(); + ~GenoEngine(); + public: + + ////// PROGRAM FLOW CONTROL METHODS ////// + + /** + * Initializes the engine + **/ + static bool init(); + + /** + * Initializes glew + **/ + static bool initGlew(); + + /** + * Sets the parameters for the loop. Can either override the default loop or run in conjunction with it + * + * @param info - The loop info struct + * @param overrideDefault - Whether or not to override the default loop + **/ + static void setLoop(GenoLoopCreateInfo info, bool overrideDefault = false); + + /** + * Starts the loop + **/ + static void startLoop(); + + /** + * Stops the loop + **/ + static void stopLoop(); + + /** + * Destroys the engine + **/ + static void destroy(); + + ////// UTILITY METHODS ////// + + /** + * Enables or disabled vsync. Sets the ratio between monitor refresh rate and buffer swap rate. + **/ + static void setSwapInterval(uint8 interval); + + /** + * Polls events (e.g. keyboard, mouse, window changes) + * + * Calls the currently set getEvent func, either glfwPollEvents() or glfwWaitEvents() + **/ + static void pollEvents(); + + /** + * Sets the event polling function + **/ + static void setPollFunc(bool pollFunc); + + /** + * Returns the game loop + **/ + static GenoLoop * getLoop(); +}; + +#define GNARLY_GENOME_ENGINE_FORWARD +#endif // GNARLY_GENOME_ENGINE \ No newline at end of file diff --git a/src/geno/engine/GenoInput.cpp b/src/geno/engine/GenoInput.cpp new file mode 100644 index 0000000..f155903 --- /dev/null +++ b/src/geno/engine/GenoInput.cpp @@ -0,0 +1,148 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoEngine.h" +#include "../gl/GenoFramebuffer.h" + +#include "GenoInput.h" + +double GenoInput::repeatDelay = GENO_INPUT_DEFAULT_DELAY; +double GenoInput::repeatSpeed = GENO_INPUT_DEFAULT_SPEED; + +uint8 GenoInput::keyStates[GLFW_KEY_LAST]; +double GenoInput::keyTimes[GLFW_KEY_LAST]; +double GenoInput::keyTargets[GLFW_KEY_LAST]; + +uint8 GenoInput::mouseButtonStates[GLFW_MOUSE_BUTTON_LAST]; +double GenoInput::mouseButtonTimes[GLFW_MOUSE_BUTTON_LAST]; +double GenoInput::mouseButtonTargets[GLFW_MOUSE_BUTTON_LAST]; + +GenoVector2d GenoInput::mouseCoords = {}; + +bool GenoInput::enabled = true; + +void GenoInput::update() { + double delta = GenoEngine::getLoop()->getDelta(); + for (uint32 i = 0; i < GLFW_KEY_LAST; ++i) { + if (keyStates[i] > GENO_INPUT_UNPRESSED) + keyTimes[i] += delta; + if (keyStates[i] == GENO_INPUT_RELEASED || keyStates[i] == GENO_INPUT_PRESSED) + ++keyStates[i]; + if (keyStates[i] == GENO_INPUT_REPEATED) + keyStates[i] = GENO_INPUT_HELD; + if (keyStates[i] == GENO_INPUT_HELD && keyTimes[i] >= keyTargets[i]) { + keyStates[i] = GENO_INPUT_REPEATED; + keyTargets[i] += repeatSpeed; + } + } + for (uint32 i = 0; i < GLFW_MOUSE_BUTTON_LAST; ++i) { + if (mouseButtonStates[i] > GENO_INPUT_UNPRESSED) + mouseButtonTimes[i] += delta; + if (mouseButtonStates[i] == GENO_INPUT_RELEASED || mouseButtonStates[i] == GENO_INPUT_PRESSED) + ++mouseButtonStates[i]; + if (mouseButtonStates[i] == GENO_INPUT_REPEATED) + mouseButtonStates[i] = GENO_INPUT_HELD; + if (mouseButtonStates[i] == GENO_INPUT_HELD && mouseButtonTimes[i] >= mouseButtonTargets[i]) { + mouseButtonStates[i] = GENO_INPUT_REPEATED; + mouseButtonTargets[i] += repeatSpeed; + } + } +} + +void GenoInput::setRepeatSpeed(double speed) { + GenoInput::repeatSpeed = speed; +} + +void GenoInput::setRepeatDelay(double delay) { + GenoInput::repeatDelay = delay; +} + +void GenoInput::setRepeat(double delay, double speed) { + GenoInput::repeatDelay = delay; + GenoInput::repeatSpeed = speed; +} + +uint8 GenoInput::getKeyState(uint16 key) { + return enabled ? keyStates[key] : GENO_INPUT_UNPRESSED; +} + +double GenoInput::getKeyDuration(uint16 key) { + return keyTimes[key]; +} + +uint8 GenoInput::getMouseButtonState(uint8 key) { + return enabled ? mouseButtonStates[key] : GENO_INPUT_UNPRESSED; +} + +double GenoInput::getMouseButtonDuration(uint8 key) { + return mouseButtonTimes[key]; +} + +GenoVector2d GenoInput::getRawMouseCoords() { + return mouseCoords; +} + +GenoVector2f GenoInput::getMouseCoords(GenoCamera2D * camera) { + return (GenoVector2f) mouseCoords / GenoVector2f(GenoFramebuffer::getCurrentWidth(), GenoFramebuffer::getCurrentHeight()) * camera->getDimensions() + camera->position; +} + +void GenoInput::setEnabled(bool enabled) { + GenoInput::enabled = enabled; +} + +GenoInput::GenoInput() {} +GenoInput::~GenoInput() {} + +////// CALLBACKS ////// + +void GenoInput::keyCallback(GLFWwindow * window, int32 key, int32 scancode, int32 action, int32 mods) { + if (key != GLFW_KEY_UNKNOWN && key > -1) { + if (action == GLFW_PRESS) + keyStates[key] = GENO_INPUT_PRESSED; + else if (action == GLFW_RELEASE) { + keyStates[key] = GENO_INPUT_RELEASED; + keyTimes[key] = 0; + keyTargets[key] = repeatDelay; + } + } +} + +void GenoInput::mouseButtonCallback(GLFWwindow * window, int32 button, int32 action, int32 mods) { + if (button != GLFW_KEY_UNKNOWN) { + if (action == GLFW_PRESS) + mouseButtonStates[button] = GENO_INPUT_PRESSED; + else if (action == GLFW_RELEASE) { + mouseButtonStates[button] = GENO_INPUT_RELEASED; + mouseButtonTimes[button] = 0; + mouseButtonTargets[button] = repeatDelay; + } + } +} + +void GenoInput::cursorPositionCallback(GLFWwindow * window, double x, double y) { + mouseCoords.v[0] = x; + mouseCoords.v[1] = y; +} diff --git a/src/geno/engine/GenoInput.h b/src/geno/engine/GenoInput.h new file mode 100644 index 0000000..5d19acd --- /dev/null +++ b/src/geno/engine/GenoInput.h @@ -0,0 +1,92 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_INPUT +#define GNARLY_GENOME_INPUT + +#include "../GenoInts.h" + +#include "../gl/GenoGL.h" +#include "../math/linear/GenoVector2.h" +#include "../engine/GenoCamera2D.h" + +#define GENO_INPUT_RELEASED 0x00 +#define GENO_INPUT_UNPRESSED 0x01 +#define GENO_INPUT_PRESSED 0x02 +#define GENO_INPUT_HELD 0x03 +#define GENO_INPUT_REPEATED 0x04 + +#define GENO_INPUT_DEFAULT_DELAY 0.3 +#define GENO_INPUT_DEFAULT_SPEED 0.05 + +class GenoInput final { + private: + GenoInput(); + ~GenoInput(); + + static double repeatDelay; + static double repeatSpeed; + + static uint8 keyStates[GLFW_KEY_LAST]; + static double keyTimes[GLFW_KEY_LAST]; + static double keyTargets[GLFW_KEY_LAST]; + + static uint8 mouseButtonStates[GLFW_MOUSE_BUTTON_LAST]; + static double mouseButtonTimes[GLFW_MOUSE_BUTTON_LAST]; + static double mouseButtonTargets[GLFW_MOUSE_BUTTON_LAST]; + + static GenoVector2d mouseCoords; + + static bool enabled; + + ////// CALLBACKS ////// + + static void cursorPositionCallback(GLFWwindow * window, double x, double y); + static void keyCallback(GLFWwindow * window, int32 key, int32 scancode, int32 action, int32 mods); + static void mouseButtonCallback(GLFWwindow * window, int32 button, int32 action, int32 mods); + public: + static void update(); + + static void setRepeatDelay(double delay); + static void setRepeatSpeed(double speed); + static void setRepeat(double delay, double speed); + + static uint8 getKeyState(uint16 key); + static double getKeyDuration(uint16 key); + + static uint8 getMouseButtonState(uint8 mouseButton); + static double getMouseButtonDuration(uint8 mouseButton); + + static GenoVector2d getRawMouseCoords(); + static GenoVector2f getMouseCoords(GenoCamera2D * camera); + + static void setEnabled(bool enabled); + + friend class GenoWindow; +}; + +#define GNARLY_GENOME_INPUT_FORWARD +#endif // GNARLY_GENOME_INPUT \ No newline at end of file diff --git a/src/geno/engine/GenoLoop.cpp b/src/geno/engine/GenoLoop.cpp new file mode 100644 index 0000000..59f13a5 --- /dev/null +++ b/src/geno/engine/GenoLoop.cpp @@ -0,0 +1,137 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "../thread/GenoTime.h" + +#include "GenoLoop.h" + +GenoLoop::GenoLoop(const GenoLoopCreateInfo & info) : + sanicLoop(false), + callbackCount(1 + info.numSubLoops), + looping(false), + deltas(new double[callbackCount]), + deltaScales(new double[callbackCount]), + fps(new uint32[callbackCount]), + millisPerFrames(new double[callbackCount]), + callbacks(new GenoLoopCallback[callbackCount]) { + + fps[0] = 0; + deltas[0] = 0; + deltaScales[0] = info.deltaScale; + if (info.targetFps != 0) + millisPerFrames[0] = 1000 / info.targetFps; + else { + sanicLoop = true; + millisPerFrames[0] = 0; + } + callbacks[0] = info.callback; + + for (uint32 i = 1; i < callbackCount; ++i) { + fps[i] = 0; + deltas[i] = 0; + deltaScales[i] = info.subLoops[i - 1].deltaScale; + if (info.subLoops[i - 1].targetFps != 0) + millisPerFrames[i] = 1000 / info.subLoops[i - 1].targetFps; + else + millisPerFrames[i] = 0; + callbacks[i] = info.subLoops[i - 1].callback; + } +} + +void GenoLoop::start() { + uint32 * frames = new uint32[callbackCount]; + double * pastTimes = new double[callbackCount + 1]; + double * truePastTimes = new double[callbackCount + 1]; + double curTime = 0; + + for (uint32 i = 0; i < callbackCount; ++i) { + frames[i] = 0; + pastTimes[i] = GenoTime::getTime(milliseconds); + truePastTimes[i] = GenoTime::getTime(milliseconds); + } + pastTimes[callbackCount] = GenoTime::getTime(milliseconds); + truePastTimes[callbackCount] = GenoTime::getTime(milliseconds); + + looping = true; + while (looping) { + curTime = GenoTime::getTime(milliseconds); + if (curTime - pastTimes[0] > 1000) { + for (uint32 i = 0; i < callbackCount; ++i) { + fps[i] = frames[i]; + frames[i] = 0; + } + pastTimes[0] += 1000; + } + for (uint32 i = 0; i < callbackCount; ++i) { + if (curTime - pastTimes[i + 1] >= millisPerFrames[i]) { + callbacks[i](); + deltas[i] = (curTime - truePastTimes[i + 1]) * deltaScales[i] / milliseconds; + pastTimes[i + 1] += millisPerFrames[i]; + truePastTimes[i + 1] = curTime; + ++frames[i]; + } + } + if (!sanicLoop) + GenoTime::sleepUntil(pastTimes[1] + millisPerFrames[0]); + } + + delete [] truePastTimes; + delete [] pastTimes; + delete [] frames; +} + +void GenoLoop::stop() { + looping = false; +} + +double GenoLoop::getDelta(uint32 loopIndex) { + return deltas[loopIndex]; +} + +uint32 GenoLoop::getFPS(uint32 loopIndex) { + return fps[loopIndex]; +} + +void GenoLoop::setFPS(double fps, uint32 loopIndex) { + millisPerFrames[loopIndex] = 1000 / fps; +} + +void GenoLoop::setDeltaScale(double deltaScale, uint32 loopIndex) { + deltaScales[loopIndex] = deltaScale; +} + +void GenoLoop::setCallback(GenoLoopCallback callback, uint32 loopIndex) { + callbacks[loopIndex] = callback; +} + +GenoLoop::~GenoLoop() { + delete [] deltas; + delete [] deltaScales; + delete [] millisPerFrames; + delete [] callbacks; +} \ No newline at end of file diff --git a/src/geno/engine/GenoLoop.h b/src/geno/engine/GenoLoop.h new file mode 100644 index 0000000..18ce05e --- /dev/null +++ b/src/geno/engine/GenoLoop.h @@ -0,0 +1,82 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_LOOP +#define GNARLY_GENOME_LOOP + +// brther may I have some lps +// +// ^..---..^ +// / @ v @ \ +// / ^ \ +// . . +// || | | || +// '|_| |_|' +// \ / +// \_|_____|_/ + +#include "../GenoInts.h" + +typedef void (*GenoLoopCallback)(); + +struct GenoSubLoopCreateInfo { + double targetFps; + double deltaScale; + GenoLoopCallback callback; +}; + +struct GenoLoopCreateInfo { + double targetFps; + double deltaScale; + GenoLoopCallback callback; + uint32 numSubLoops; + GenoSubLoopCreateInfo * subLoops; +}; + +class GenoLoop { + private: + bool sanicLoop; + uint32 callbackCount; + bool looping; + uint32 * fps; + double * deltas; + double * deltaScales; + double * millisPerFrames; + GenoLoopCallback * callbacks; + public: + GenoLoop(const GenoLoopCreateInfo & info); + void start(); + void stop(); + double getDelta(uint32 loopIndex = 0); + uint32 getFPS(uint32 loopIndex = 0); + void setFPS(double fps, uint32 loopIndex = 0); + void setDeltaScale(double scale, uint32 loopIndex = 0); + void setCallback(GenoLoopCallback callback, uint32 loopIndex = 0); + ~GenoLoop(); +}; + +#define GNARLY_GENOME_LOOP_FORWARD +#endif // GNARLY_GENOME_LOOP \ No newline at end of file diff --git a/src/geno/engine/GenoMonitor.cpp b/src/geno/engine/GenoMonitor.cpp new file mode 100644 index 0000000..c420dbf --- /dev/null +++ b/src/geno/engine/GenoMonitor.cpp @@ -0,0 +1,227 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoMonitor.h" + +GenoVideoMode::GenoVideoMode(const GLFWvidmode & videoMode) : + width(videoMode.width), + height(videoMode.height), + redBits(videoMode.redBits), + greenBits(videoMode.greenBits), + blueBits(videoMode.blueBits), + refreshRate(videoMode.refreshRate) {} + +int32 GenoVideoMode::getWidth() const { + return width; +} + +int32 GenoVideoMode::getHeight() const { + return height; +} + +GenoVector2i GenoVideoMode::getDimensions() const { + return { width, height }; +} + +int32 GenoVideoMode::getRedBits() const { + return redBits; +} + +int32 GenoVideoMode::getGreenBits() const { + return greenBits; +} + +int32 GenoVideoMode::getBlueBits() const { + return blueBits; +} + +GenoVector3i GenoVideoMode::getBitDepth() const { + return { redBits, greenBits, blueBits }; +} + +int32 GenoVideoMode::getRefreshRate() const { + return refreshRate; +} + +GenoVideoMode::~GenoVideoMode() {} + +GenoMonitor::GenoMonitor(GLFWmonitor * monitor) : + monitor(monitor) { + int32 count; + const GLFWvidmode * vidmodes = glfwGetVideoModes(monitor, &count); + numVideoModes = count; + videoModes = new GenoVideoMode*[numVideoModes]; + for (uint32 i = 0; i < count; ++i) + videoModes[i] = new GenoVideoMode(vidmodes[i]); + + GenoVideoMode * videoMode = videoModes[numVideoModes - 1]; + width = videoMode->getWidth(); + height = videoMode->getHeight(); + glfwGetMonitorPos(monitor, &x, &y); + int32 physicalWidth; + int32 physicalHeight; + glfwGetMonitorPhysicalSize(monitor, &physicalWidth, &physicalHeight); + sizeX = physicalWidth; + sizeY = physicalHeight; + name = glfwGetMonitorName(monitor); +} + +int32 GenoMonitor::getX() const { + return x; +} + +int32 GenoMonitor::getY() const { + return y; +} + +GenoVector2i GenoMonitor::getPosition() const { + return { x, y }; +} + +int32 GenoMonitor::getWidth() const { + return width; +} + +int32 GenoMonitor::getHeight() const { + return height; +} + +GenoVector2i GenoMonitor::getDimensions() const { + return { width, height }; +} + +double GenoMonitor::getPhysicalWidth(double scale) const { + return sizeX / scale; +} + +double GenoMonitor::getPhysicalHeight(double scale) const { + return sizeY / scale; +} + +GenoVector2d GenoMonitor::getPhysicalDimensions(double scale) const { + return { sizeX / scale, sizeY / scale }; +} + +double GenoMonitor::getPhysicalDiagonal(double scale) const { + return sqrt(sizeX * sizeX + sizeY * sizeY) / scale; +} +const char * GenoMonitor::getName() const { + return name; +} + +uint32 GenoMonitor::getNumVideoModes() const { + return numVideoModes; +} + +GenoVideoMode * GenoMonitor::getDefaultVideoMode() const { + return videoModes[numVideoModes - 1]; +} + +GenoVideoMode * GenoMonitor::getVideoMode(uint32 num) const { + return videoModes[num]; +} + +GenoMonitor::~GenoMonitor() { + for (uint32 i = 0; i < numVideoModes; ++i) + delete videoModes[i]; + delete [] videoModes; +} + +uint32 GenoMonitors::numMonitors = 0; +GenoMonitor ** GenoMonitors::monitors = 0; + +uint32 GenoMonitors::getNumMonitors() { + return numMonitors; +} + +void GenoMonitors::init() { + int32 count; + GLFWmonitor ** glfwMonitors = glfwGetMonitors(&count); + numMonitors = count; + + monitors = new GenoMonitor*[numMonitors]; + + for (uint32 i = 0; i < numMonitors; ++i) + monitors[i] = new GenoMonitor(glfwMonitors[i]); + + glfwSetMonitorCallback(monitorCallback); +} + +GenoMonitor * GenoMonitors::getPrimaryMonitor() { + return monitors[0]; +} + +GenoMonitor * GenoMonitors::getMonitor(uint32 num) { + return monitors[num]; +} + +void GenoMonitors::cleanup() { + for (uint32 i = 0; i < numMonitors; ++i) + delete monitors[i]; + delete [] monitors; +} + +void GenoMonitors::monitorCallback(GLFWmonitor * monitor, int32 event) { + if (event == GLFW_DISCONNECTED) { + bool found = false; + for (uint32 i = 0; i < numMonitors - 1; ++i) { + if (found) + monitors[i] = monitors[i + 1]; + else if (monitors[i]->monitor == monitor) { + delete monitors[i]; + monitors[i] = monitors[i + 1]; + } + } + if (!found) + delete monitors[numMonitors - 1]; + } + else { + GenoMonitor * gMonitor = new GenoMonitor(monitor); + + GenoMonitor ** target = new GenoMonitor*[++numMonitors]; + + int32 count; + GLFWmonitor ** monitors = glfwGetMonitors(&count); + + for (uint32 i = 0; i < count; ++i) { + bool found = false; + for (uint32 j = 0; j < numMonitors - 1; ++j) { + if (GenoMonitors::monitors[j]->monitor == monitors[i]) { + found = true; + target[i] = GenoMonitors::monitors[j]; + } + } + if (!found) + target[i] = gMonitor; + } + + delete [] GenoMonitors::monitors; + GenoMonitors::monitors = target; + } +} + +GenoMonitors::GenoMonitors() {} +GenoMonitors::~GenoMonitors() {} \ No newline at end of file diff --git a/src/geno/engine/GenoMonitor.h b/src/geno/engine/GenoMonitor.h new file mode 100644 index 0000000..48becad --- /dev/null +++ b/src/geno/engine/GenoMonitor.h @@ -0,0 +1,131 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_MONITOR +#define GNARLY_GENOME_MONITOR + +#include "../GenoInts.h" + +#include "../math/linear/GenoVector2.h" +#include "../math/linear/GenoVector3.h" +#include "../gl/GenoGL.h" + +#define GENO_MONITOR_SCALE_MILLIMETERS 1.0 +#define GENO_MONITOR_SCALE_CENTIMETERS 10.0 +#define GENO_MONITOR_SCALE_INCHES 25.4 +#define GENO_MONITOR_SCALE_FEET 304.8 + +class GenoVideoMode final { + private: + int32 width; + int32 height; + int32 redBits; + int32 greenBits; + int32 blueBits; + int32 refreshRate; + + GenoVideoMode(const GLFWvidmode & videoMode); + ~GenoVideoMode(); + public: + int32 getWidth() const; + int32 getHeight() const; + GenoVector2i getDimensions() const; + + int32 getRedBits() const; + int32 getGreenBits() const; + int32 getBlueBits() const; + GenoVector3i getBitDepth() const; + + int32 getRefreshRate() const; + + friend class GenoMonitor; +}; + +class GenoMonitor final { + private: + GLFWmonitor * monitor; + + uint32 numVideoModes; + GenoVideoMode ** videoModes; + + int32 x; + int32 y; + int32 width; + int32 height; + double sizeX; + double sizeY; + const char * name; + + GenoMonitor(GLFWmonitor * monitor); + ~GenoMonitor(); + public: + int32 getX() const; + int32 getY() const; + GenoVector2i getPosition() const; + + int32 getWidth() const; + int32 getHeight() const; + GenoVector2i getDimensions() const; + + double getPhysicalWidth(double scale = GENO_MONITOR_SCALE_INCHES) const; + double getPhysicalHeight(double scale = GENO_MONITOR_SCALE_INCHES) const; + GenoVector2d getPhysicalDimensions(double scale = GENO_MONITOR_SCALE_INCHES) const; + double getPhysicalDiagonal(double scale = GENO_MONITOR_SCALE_INCHES) const; + + const char * getName() const; + + uint32 getNumVideoModes() const; + GenoVideoMode * getDefaultVideoMode() const; + GenoVideoMode * getVideoMode(uint32 num) const; + + friend class GenoMonitors; + friend class GenoWindow; +}; + +class GenoMonitors final { + private: + static uint32 numMonitors; + static GenoMonitor ** monitors; + + GenoMonitors(); + ~GenoMonitors(); + + static void init(); + static void cleanup(); + + ////// Callbacks ////// + + static void monitorCallback(GLFWmonitor * monitor, int32 event); + public: + static uint32 getNumMonitors(); + static GenoMonitor * getPrimaryMonitor(); + static GenoMonitor * getMonitor(uint32 num); + + friend class GenoEngine; +}; + +#define GNARLY_GENOME_MONITOR_FORWARD +#endif // GNARLY_GENOME_MONITOR \ No newline at end of file diff --git a/src/geno/engine/GenoWindow.cpp b/src/geno/engine/GenoWindow.cpp new file mode 100644 index 0000000..44a0539 --- /dev/null +++ b/src/geno/engine/GenoWindow.cpp @@ -0,0 +1,300 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoInput.h" + +#include "GenoWindow.h" + +GenoWindow::GenoWindow() {} + +GenoWindow * GenoWindow::create(const GenoWindowCreateInfo & info) { + GenoWindow * ret = new GenoWindow(); + + bool visible = true; + for (uint32 i = 0; i < info.numHints; ++i) { + uint32 index = i * 2; + if (info.hints[index] == GLFW_VISIBLE) + visible = info.hints[index + 1]; + else + glfwWindowHint(info.hints[index], info.hints[index + 1]); + } + glfwWindowHint(GLFW_VISIBLE, false); + + GenoMonitor * monitor = info.monitor; + GenoVideoMode * vidMode = info.videoMode; + + if (monitor == 0) + monitor = GenoMonitors::getPrimaryMonitor(); + + int32 width = info.width; + int32 height = info.height; + if (width == 0) + width = monitor->getWidth() * 0.5; + if (height == 0) + height = monitor->getHeight() * 0.5; + if (info.fullscreen) { + if (vidMode == 0) + vidMode = monitor->getDefaultVideoMode(); + + glfwWindowHint(GLFW_RED_BITS, vidMode->getRedBits()); + glfwWindowHint(GLFW_GREEN_BITS, vidMode->getGreenBits()); + glfwWindowHint(GLFW_BLUE_BITS, vidMode->getBlueBits()); + glfwWindowHint(GLFW_REFRESH_RATE, vidMode->getRefreshRate()); + } + + GLFWwindow * window; + window = glfwCreateWindow(width, height, info.title, 0, 0); + + if (window == 0) { + delete ret; + return 0; + } + + int32 x = 0; + int32 y = 0; + if (info.defaultPosition) { + glfwGetWindowPos(window, &x, &y); + double rx = (double) x / (double) GenoMonitors::getPrimaryMonitor()->getWidth(); + double ry = (double) y / (double) GenoMonitors::getPrimaryMonitor()->getHeight(); + x = rx * monitor->getWidth(); + y = ry * monitor->getHeight(); + glfwSetWindowPos(window, x, y); + } + else + glfwSetWindowPos(window, info.x + monitor->getX(), info.y + monitor->getY()); + + ret->cachedX = (double) x / (double) monitor->getWidth(); + ret->cachedY = (double) y / (double) monitor->getHeight(); + ret->cachedWidth = width; + ret->cachedHeight = height; + + glfwGetWindowSize(window, &width, &height); + + glfwSetWindowPosCallback(window, positionCallback); + glfwSetWindowSizeCallback(window, sizeCallback); + glfwSetFramebufferSizeCallback(window, framebufferSizeCallback); + glfwSetWindowFocusCallback(window, windowFocusCallback); + + glfwSetCursorPosCallback(window, GenoInput::cursorPositionCallback); + glfwSetKeyCallback(window, GenoInput::keyCallback); + glfwSetMouseButtonCallback(window, GenoInput::mouseButtonCallback); + + ret->curMonitor = monitor; + + ret->x = x; + ret->y = y; + ret->width = width; + ret->height = height; + ret->window = window; + + uint32 clearBits = GL_COLOR_BUFFER_BIT; + + if (info.depth) { + glEnable(GL_DEPTH_TEST); + clearBits |= GL_DEPTH_BUFFER_BIT; + } + + int32 frameWidth; + int32 frameHeight; + glfwGetFramebufferSize(window, &frameWidth, &frameHeight); + + GenoFramebuffer * framebuffer = new GenoFramebuffer(); + framebuffer->id = 0; + framebuffer->width = frameWidth; + framebuffer->width = frameHeight; + framebuffer->clearRed = info.clearRed; + framebuffer->clearGreen = info.clearGreen; + framebuffer->clearBlue = info.clearBlue; + framebuffer->clearBits = clearBits; + + ret->framebuffer = framebuffer; + + if (GenoFramebuffer::activeFramebuffer == 0) + GenoFramebuffer::activeFramebuffer = framebuffer; + + glfwSetWindowUserPointer(window, ret); + + if (vidMode != 0) + ret->setFullscreen(monitor, vidMode); + + glfwShowWindow(window); + + return ret; +} + +void GenoWindow::activate() const { + glfwMakeContextCurrent(window); + glfwFocusWindow(window); +} + +void GenoWindow::bindFramebuffer() const { + framebuffer->bind(); +} + +void GenoWindow::swap() const { + glfwSwapBuffers(window); +} + +int32 GenoWindow::getX() const { + return x; +} + +int32 GenoWindow::getY() const { + return y; +} + +GenoVector2i GenoWindow::getPosition() const { + return { x, y }; +} + +int32 GenoWindow::getWidth() const { + return width; +} + +int32 GenoWindow::getHeight() const { + return height; +} + +GenoVector2i GenoWindow::getDimensions() const { + return { width, height }; +} + +bool GenoWindow::shouldClose() const { + return glfwWindowShouldClose(window); +} + +void GenoWindow::setShouldClose(bool shouldClose) { + glfwSetWindowShouldClose(window, shouldClose); +} + +void GenoWindow::disableFullscreen(GenoMonitor * monitor) { + glfwSetWindowMonitor(window, 0, monitor->getX() + cachedX * monitor->getWidth(), monitor->getY() + cachedY * monitor->getHeight(), cachedWidth, cachedHeight, 0); + fullscreen = false; +} + +void GenoWindow::disableFullscreen(GenoMonitor * monitor, int32 x, int32 y, int32 width, int32 height) { + glfwSetWindowMonitor(window, 0, x + monitor->getX(), y + monitor->getY(), width, height, 0); + fullscreen = false; +} + +void GenoWindow::setFullscreen(GenoMonitor * monitor, GenoVideoMode * videoMode) { + if (!fullscreen) { + cachedX = (double) x / (double) curMonitor->getWidth(); + cachedY = (double) y / (double) curMonitor->getHeight(); + cachedWidth = width; + cachedHeight = height; + } + glfwSetWindowMonitor(window, monitor->monitor, monitor->getX() + 1, monitor->getY() + 1, videoMode->getWidth(), videoMode->getHeight(), videoMode->getRefreshRate()); + fullscreen = true; +} + +void GenoWindow::setX(int32 x) { + glfwSetWindowPos(window, x, y); +} + +void GenoWindow::setY(int32 y) { + glfwSetWindowPos(window, x, y); +} + +void GenoWindow::setPosition(int32 x, int32 y) { + glfwSetWindowPos(window, x, y); +} + +void GenoWindow::setPosition(const GenoVector2i & position) { + glfwSetWindowPos(window, position.v[0], position.v[1]); +} + +void GenoWindow::setWidth(uint32 width) { + glfwSetWindowSize(window, width, height); +} + +void GenoWindow::setHeight(int32 height) { + glfwSetWindowSize(window, width, height); +} + +void GenoWindow::setDimensions(int32 width, int32 height) { + glfwSetWindowSize(window, width, height); +} + +void GenoWindow::setDimensions(const GenoVector2i & position) { + glfwSetWindowSize(window, position.v[0], position.v[1]); +} + +void GenoWindow::maximize() { + glfwMaximizeWindow(window); +} + +void GenoWindow::minimize() { + glfwIconifyWindow(window); +} + +GenoWindow::~GenoWindow() { + glfwDestroyWindow(window); +} + +void GenoWindow::positionCallback(GLFWwindow * window, int32 x, int32 y) { + GenoWindow * win = reinterpret_cast(glfwGetWindowUserPointer(window)); + win->x = x; + win->y = y; + + int32 cx = win->x + win->width / 2; + int32 cy = win->y + win->height / 2; + for (uint32 i = 0; i < GenoMonitors::getNumMonitors(); ++i) { + GenoMonitor * cur = GenoMonitors::getMonitor(i); + if (cx >= cur->getX() && cy >= cur->getY() && cx < cur->getX() + cur->getWidth() && cy < cur->getY() + cur->getHeight()) + win->curMonitor = cur; + } +} + +void GenoWindow::sizeCallback(GLFWwindow * window, int32 width, int32 height) { + GenoWindow * win = reinterpret_cast(glfwGetWindowUserPointer(window)); + win->width = width; + win->height = height; + + int32 cx = win->x + win->width / 2; + int32 cy = win->y + win->height / 2; + for (uint32 i = 0; i < GenoMonitors::getNumMonitors(); ++i) { + GenoMonitor * cur = GenoMonitors::getMonitor(i); + if (cx >= cur->getX() && cy >= cur->getY() && cx < cur->getX() + cur->getWidth() && cy < cur->getY() + cur->getHeight()) + win->curMonitor = cur; + } +} + +void GenoWindow::framebufferSizeCallback(GLFWwindow * window, int32 width, int32 height) { + GenoWindow * win = reinterpret_cast(glfwGetWindowUserPointer(window)); + GenoFramebuffer * framebuffer = win->framebuffer; + framebuffer->width = width; + framebuffer->height = height; + if (GenoFramebuffer::activeFramebuffer == framebuffer) + glViewport(0, 0, width, height); +} + +void GenoWindow::windowFocusCallback(GLFWwindow * window, int32 action) { + if (action == GLFW_TRUE) { + GenoWindow * win = reinterpret_cast(glfwGetWindowUserPointer(window)); + GenoFramebuffer::activeWindow = win; + } +} \ No newline at end of file diff --git a/src/geno/engine/GenoWindow.h b/src/geno/engine/GenoWindow.h new file mode 100644 index 0000000..d825526 --- /dev/null +++ b/src/geno/engine/GenoWindow.h @@ -0,0 +1,127 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_MONITOR_FORWARD +#define GNARLY_GENOME_MONITOR_FORWARD + +struct GenoVideoMode; +class GenoMonitor; +class GenoMonitors; + +#endif // GNARLY_GENOME_MONITOR_FORWARD + +#ifndef GNARLY_GENOME_FRAMEBUFFER_FORWARD +#define GNARLY_GENOME_FRAMEBUFFER_FORWARD + +class GenoFramebuffer; + +#endif // GNARLY_GENOME_FRAMEBUFFER_FORWARD + +#ifndef GNARLY_GENOME_WINDOW +#define GNARLY_GENOME_WINDOW + +#include "../GenoInts.h" + +#include "GenoMonitor.h" +#include "../gl/GenoGL.h" +#include "../gl/GenoFramebuffer.h" + +struct GenoWindowCreateInfo { + bool defaultPosition; + int32 x; + int32 y; + uint32 width; + uint32 height; + bool fullscreen; + GenoMonitor * monitor; + GenoVideoMode * videoMode; + const char * title; + uint32 numHints; + int32 * hints; + float clearRed; + float clearGreen; + float clearBlue; + bool depth; +}; + +class GenoWindow { + private: + bool fullscreen; + + double cachedX; + double cachedY; + int32 cachedWidth; + int32 cachedHeight; + + GenoMonitor * curMonitor; + + int32 x; + int32 y; + int32 width; + int32 height; + GLFWwindow * window; + + GenoFramebuffer * framebuffer; + + GenoWindow(); + + ////// Callbacks ////// + + static void positionCallback(GLFWwindow * window, int32 x, int32 y); + static void sizeCallback(GLFWwindow * window, int32 width, int32 height); + static void framebufferSizeCallback(GLFWwindow * window, int32 width, int32 height); + static void windowFocusCallback(GLFWwindow * window, int32 action); + public: + static GenoWindow * create(const GenoWindowCreateInfo & info); + void activate() const; + void bindFramebuffer() const; + void swap() const; + int32 getX() const; + int32 getY() const; + GenoVector2i getPosition() const; + int32 getWidth() const; + int32 getHeight() const; + GenoVector2i getDimensions() const; + bool shouldClose() const; + void setShouldClose(bool shouldClose); + void disableFullscreen(GenoMonitor * monitor); + void disableFullscreen(GenoMonitor * monitor, int32 x, int32 y, int32 width, int32 height); + void setFullscreen(GenoMonitor * monitor, GenoVideoMode * videoMode); + void setX(int32 x); + void setY(int32 y); + void setPosition(int32 x, int32 y); + void setPosition(const GenoVector2i & position); + void setWidth(uint32 width); + void setHeight(int32 height); + void setDimensions(int32 width, int32 height); + void setDimensions(const GenoVector2i & position); + void maximize(); + void minimize(); + ~GenoWindow(); +}; + +#define GNARLY_GENOME_WINDOW_FORWARD +#endif // GNARLY_GENOME_WINDOW \ No newline at end of file diff --git a/src/geno/exceptions/GenoException.cpp b/src/geno/exceptions/GenoException.cpp new file mode 100644 index 0000000..b1d0dda --- /dev/null +++ b/src/geno/exceptions/GenoException.cpp @@ -0,0 +1,35 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoException.h" + +GenoException::GenoException(const char8 * message) : + message(message) {} + + +const char8 * GenoException::getMessage() { + return message; +} \ No newline at end of file diff --git a/src/geno/exceptions/GenoException.h b/src/geno/exceptions/GenoException.h new file mode 100644 index 0000000..9e54e92 --- /dev/null +++ b/src/geno/exceptions/GenoException.h @@ -0,0 +1,42 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_EXCEPTION +#define GNARLY_GENOME_EXCEPTION + +#include "../GenoChars.h" + +class GenoException { + protected: + const char8 * message; + + public: + GenoException(const char8 * message); + const char8 * getMessage(); +}; + +#define GNARLY_GENOME_EXCEPTION_FORWARD +#endif // GNARLY_GENOME_EXCEPTION \ No newline at end of file diff --git a/src/geno/exceptions/GenoMaxCapacityException.cpp b/src/geno/exceptions/GenoMaxCapacityException.cpp new file mode 100644 index 0000000..814810b --- /dev/null +++ b/src/geno/exceptions/GenoMaxCapacityException.cpp @@ -0,0 +1,30 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoMaxCapacityException.h" + +GenoMaxCapacityException::GenoMaxCapacityException() : + GenoException("GenoMaxCapacityException: Max capacity reached in GenoArrayList!") {} \ No newline at end of file diff --git a/src/geno/exceptions/GenoMaxCapacityException.h b/src/geno/exceptions/GenoMaxCapacityException.h new file mode 100644 index 0000000..efa6ac6 --- /dev/null +++ b/src/geno/exceptions/GenoMaxCapacityException.h @@ -0,0 +1,38 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_MAX_CAPACITY_EXCEPTION +#define GNARLY_GENOME_MAX_CAPACITY_EXCEPTION + +#include "GenoException.h" + +class GenoMaxCapacityException : public GenoException { + public: + GenoMaxCapacityException(); +}; + +#define GNARLY_GENOME_MAX_CAPACITY_EXCEPTION_FORWARD +#endif // GNARLY_GENOME_MAX_CAPACITY_EXCEPTION \ No newline at end of file diff --git a/src/geno/gl/GenoFramebuffer.cpp b/src/geno/gl/GenoFramebuffer.cpp new file mode 100644 index 0000000..7d02eb1 --- /dev/null +++ b/src/geno/gl/GenoFramebuffer.cpp @@ -0,0 +1,151 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "GenoGL.h" +#include "GenoFramebuffer.h" + +const GenoWindow * GenoFramebuffer::activeWindow = 0; +const GenoFramebuffer * GenoFramebuffer::activeFramebuffer = 0; + +void GenoFramebuffer::clear() { + glClear(activeFramebuffer->clearBits); +} + +void GenoFramebuffer::bindDefault() { + activeWindow->bindFramebuffer(); +} + +uint32 GenoFramebuffer::getCurrentWidth() { + return activeFramebuffer->width; +} + +uint32 GenoFramebuffer::getCurrentHeight() { + return activeFramebuffer->height; +} + +GenoFramebuffer::GenoFramebuffer() {} + +GenoFramebuffer::GenoFramebuffer(const GenoFramebufferCreateInfo & info) : + width(info.width), + height(info.height), + numColorAttachments(info.numColorAttachments), + depthType(info.depthAttachmentType) { + + glGenFramebuffers(1, &id); + glBindFramebuffer(GL_FRAMEBUFFER, id); + + if (numColorAttachments != 0) { + clearBits |= GL_COLOR_BUFFER_BIT; + clearRed = info.clearRed; + clearGreen = info.clearGreen; + clearBlue = info.clearBlue; + uint32 * colorAttachmentIds = new uint32[numColorAttachments]; + uint32 * drawBuffers = new uint32[numColorAttachments]; + colorAttachments = new GenoTexture2D*[numColorAttachments]; + glGenTextures(numColorAttachments, colorAttachmentIds); + for (uint32 i = 0; i < numColorAttachments; ++i) { + glBindTexture(GL_TEXTURE_2D, colorAttachmentIds[i]); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, 0); + for (uint32 j = 0; j < info.numTextureParams; ++j) { + uint32 index = j * 2; + glTexParameteri(GL_TEXTURE_2D, info.textureParams[index], info.textureParams[index + 1]); + } + glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i, colorAttachmentIds[i], 0); + colorAttachments[i] = new GenoTexture2D(colorAttachmentIds[i], width, height); + drawBuffers[i] = GL_COLOR_ATTACHMENT0 + i; + } + glDrawBuffers(numColorAttachments, drawBuffers); + + delete [] colorAttachmentIds; + delete [] drawBuffers; + } + if (depthType == GENO_FRAMEBUFFER_DEPTH_BUFFER) { + clearBits |= GL_DEPTH_BUFFER_BIT; + clearDepth = info.clearDepth; + glGenRenderbuffers(1, &depthBuffer); + glBindRenderbuffer(GL_RENDERBUFFER, depthBuffer); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width, height); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthBuffer); + } + else if (depthType == GENO_FRAMEBUFFER_DEPTH_TEXTURE) { + clearBits |= GL_DEPTH_BUFFER_BIT; + clearDepth = info.clearDepth; + uint32 textureId; + glGenTextures(1, &textureId); + glBindTexture(GL_TEXTURE_2D, textureId); + glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0); + for (uint32 i = 0; i < info.numTextureParams; ++i) { + uint32 index = i * 2; + glTexParameteri(GL_TEXTURE_2D, info.textureParams[index], info.textureParams[index + 1]); + } + glFramebufferTexture(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, textureId, 0); + depthTexture = new GenoTexture2D(textureId, width, height); + } + + activeFramebuffer->bind(); +} + +uint32 GenoFramebuffer::getWidth() const { + return width; +} + +uint32 GenoFramebuffer::getHeight() const { + return height; +} + +const GenoTexture2D * GenoFramebuffer::getColorTexture(uint32 index) const { + return colorAttachments[index]; +} + +const GenoTexture2D * GenoFramebuffer::getDepthTexture() const { + return depthTexture; +} + +void GenoFramebuffer::bind() const { + for (uint32 i = GL_TEXTURE0; i < GL_TEXTURE31; ++i) { + glActiveTexture(i); + glBindTexture(GL_TEXTURE_2D, 0); + } + activeFramebuffer = this; + glBindFramebuffer(GL_FRAMEBUFFER, id); + glClearColor(clearRed, clearGreen, clearBlue, 1); + glClearDepth(clearDepth); + glViewport(0, 0, width, height); +} + +GenoFramebuffer::~GenoFramebuffer() { + for (uint32 i = 0; i < numColorAttachments; ++i) + delete colorAttachments[i]; + delete [] colorAttachments; + if (depthType == GENO_FRAMEBUFFER_DEPTH_TEXTURE) + delete depthTexture; + else if (depthType == GENO_FRAMEBUFFER_DEPTH_BUFFER) + glDeleteRenderbuffers(1, &depthBuffer); + glDeleteFramebuffers(1, &id); +} + diff --git a/src/geno/gl/GenoFramebuffer.h b/src/geno/gl/GenoFramebuffer.h new file mode 100644 index 0000000..4b4c5d6 --- /dev/null +++ b/src/geno/gl/GenoFramebuffer.h @@ -0,0 +1,100 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_WINDOW_FORWARD +#define GNARLY_GENOME_WINDOW_FORWARD + +class GenoWindow; + +#endif // GNARLY_GENOME_WINDOW_FORWARD + +#ifndef GNARLY_GENOME_FRAMEBUFFER +#define GNARLY_GENOME_FRAMEBUFFER + +#include "../GenoInts.h" +#include "../engine/GenoWindow.h" +#include "GenoTexture2D.h" + +#define GENO_FRAMEBUFFER_DEPTH_NONE 0x00 +#define GENO_FRAMEBUFFER_DEPTH_TEXTURE 0x01 +#define GENO_FRAMEBUFFER_DEPTH_BUFFER 0x02 + +struct GenoFramebufferCreateInfo { + uint32 width; + uint32 height; + uint32 numColorAttachments; + uint32 depthAttachmentType; + uint32 numTextureParams; + uint32 * textureParams; + + float clearRed; + float clearGreen; + float clearBlue; + float clearDepth; +}; + +class GenoFramebuffer { + private: + static const GenoWindow * activeWindow; + static const GenoFramebuffer * activeFramebuffer; + + uint32 id; + uint32 width; + uint32 height; + + uint32 clearBits; + float clearRed; + float clearGreen; + float clearBlue; + float clearDepth; + + uint32 numColorAttachments; + GenoTexture2D ** colorAttachments; + uint32 depthType; + uint32 depthBuffer; + GenoTexture2D * depthTexture; + + GenoFramebuffer(); + public: + static void clear(); + static void bindDefault(); + + static uint32 getCurrentWidth(); + static uint32 getCurrentHeight(); + + GenoFramebuffer(const GenoFramebufferCreateInfo & info); + uint32 getWidth() const; + uint32 getHeight() const; + void bind() const; + const GenoTexture2D * getColorTexture(uint32 index = 0) const; + const GenoTexture2D * getDepthTexture() const; + ~GenoFramebuffer(); + + friend class GenoWindow; +}; + +#define GNARLY_GENOME_FRAMEBUFFER_FORWARD +#endif // GNARLY_GENOME_FRAMEBUFFER \ No newline at end of file diff --git a/src/geno/gl/GenoGL.h b/src/geno/gl/GenoGL.h new file mode 100644 index 0000000..68f48d2 --- /dev/null +++ b/src/geno/gl/GenoGL.h @@ -0,0 +1,36 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_GL +#define GNARLY_GENOME_GL + +/** + * Includes both glew and glfw to ensure that they are included in the correct order +**/ +#include +#include + +#endif // GNARLY_GENOME_GL \ No newline at end of file diff --git a/src/geno/gl/GenoShader.cpp b/src/geno/gl/GenoShader.cpp new file mode 100644 index 0000000..8721257 --- /dev/null +++ b/src/geno/gl/GenoShader.cpp @@ -0,0 +1,178 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include +#include + +#include "GenoGL.h" + +#include "GenoShader.h" + +int32 GenoShader::active = 0; + +GenoShader::GenoShader(const char * vert, const char * frag, bool file) { + uint32 vertId = loadShader(vert, GL_VERTEX_SHADER, file); + uint32 fragId = loadShader(frag, GL_FRAGMENT_SHADER, file); + program = glCreateProgram(); + glAttachShader(program, vertId); + glAttachShader(program, fragId); + glLinkProgram(program); + + int result, length; + glGetProgramiv(program, GL_LINK_STATUS, &result); + glGetProgramiv(program, GL_INFO_LOG_LENGTH, &length); + + if (length > 1) { + char * message = new char[length + 1]; + glGetProgramInfoLog(program, length, 0, message); + std::cerr << message << std::endl; + delete[] message; + } + + glDetachShader(program, vertId); + glDetachShader(program, fragId); + + glDeleteShader(vertId); + glDeleteShader(fragId); +} + +GenoShader::GenoShader(const char * vert, const char * geom, const char * frag, bool file) { + uint32 vertId = loadShader(vert, GL_VERTEX_SHADER, file); + uint32 geomId = loadShader(geom, GL_GEOMETRY_SHADER, file); + uint32 fragId = loadShader(frag, GL_FRAGMENT_SHADER, file); + program = glCreateProgram(); + glAttachShader(program, vertId); + glAttachShader(program, geomId); + glAttachShader(program, fragId); + glLinkProgram(program); + + + int result, length; + glGetProgramiv(program, GL_LINK_STATUS, &result); + glGetProgramiv(program, GL_INFO_LOG_LENGTH, &length); + + if (length > 1) { + char * message = new char[length + 1]; + glGetProgramInfoLog(program, length, 0, message); + std::cerr << message << std::endl; + delete[] message; + } + + glDetachShader(program, vertId); + glDetachShader(program, geomId); + glDetachShader(program, fragId); + + glDeleteShader(vertId); + glDeleteShader(geomId); + glDeleteShader(fragId); +} + +uint32 GenoShader::loadShader(const char * path, int32 type, bool file) { + int length; + char * input; + if (file) { + std::ifstream fin(path, std::ifstream::binary); + if (fin) { + std::string contents((std::istreambuf_iterator(fin)), std::istreambuf_iterator()); + + input = new char[contents.length() + 1]; + memcpy(input, contents.c_str(), contents.length()); + input[contents.length()] = 0; + + fin.close(); + } + #ifdef _DEBUG + else { + std::cerr << "Genome Error (GenoShader): Cannot find shader '" << path << "'!" << std::endl; + return 0; + } + #endif + } + else { + length = strlen(path); + input = new char[length]; + strcpy(input, path); + } + + uint32 id = glCreateShader(type); + glShaderSource(id, 1, &input, 0); + glCompileShader(id); + + int result; + glGetShaderiv(id, GL_COMPILE_STATUS, &result); + glGetShaderiv(id, GL_INFO_LOG_LENGTH, &length); + + if (length > 1) { + if(file) + std::cerr << "Genome Error (GenoShader): Shader '" << path << "' compilation failed!" << std::endl; + else + std::cerr << "Genome Error (GenoShader): Shader compilation failed!" << std::endl; + char * message = new char[length + 1]; + glGetShaderInfoLog(id, length, 0, message); + std::cerr << "\t" << message << std::endl; + delete [] message; + } + + return id; + delete [] input; +} + +void GenoShader::enable() { + if (active != program) { + glUseProgram(program); + active = program; + } +} + +void GenoShader::disable() { + if (active != 0) { + glUseProgram(0); + active = 0; + } +} + +GenoShader::~GenoShader() { + glDeleteProgram(program); +} + +GenoMvpShader::GenoMvpShader(const char * vert, const char * frag, bool file) : + GenoShader(vert, frag, file) { + mvpLoc = glGetUniformLocation(program, "mvp"); +} + +GenoMvpShader::GenoMvpShader(const char * vert, const char * frag, const char * geom, bool file) : + GenoShader(vert, frag, geom, file) { + mvpLoc = glGetUniformLocation(program, "mvp"); +} + +void GenoMvpShader::setMvp(const GenoMatrix4f & mvp) { + glUniformMatrix4fv(mvpLoc, 1, GL_FALSE, mvp.m); +} + +void GenoMvpShader::setMvp(const float * mvp) { + glUniformMatrix4fv(mvpLoc, 1, GL_FALSE, mvp); +} \ No newline at end of file diff --git a/src/geno/gl/GenoShader.h b/src/geno/gl/GenoShader.h new file mode 100644 index 0000000..21a6994 --- /dev/null +++ b/src/geno/gl/GenoShader.h @@ -0,0 +1,65 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_SHADER +#define GNARLY_GENOME_SHADER + +#include "../GenoInts.h" + +#include "../math/linear/GenoMatrix4.h" + +#define GENO_SHADER_STRING_IS_SOURCE 0x00 +#define GENO_SHADER_STRING_IS_PATH 0x01 + +class GenoShader { + private: + static int32 active; + + uint32 loadShader(const char * path, int32 type, bool file); + protected: + GenoShader(const char * vert, const char * frag, bool file); + GenoShader(const char * vert, const char * geom, const char * frag, bool file); + int32 program; + public: + void enable(); + void disable(); + virtual ~GenoShader(); +}; + +class GenoMvpShader : public GenoShader { + private: + uint32 mvpLoc; + protected: + GenoMvpShader(const char * vert, const char * frag, bool file); + GenoMvpShader(const char * vert, const char * frag, const char * geom, bool file); + public: + void setMvp(const GenoMatrix4f & mvp); + void setMvp(const float * mvp); + +}; + +#define GNARLY_GENOME_SHADER_FORWARD +#endif // GNARLY_GENOME_SHADER \ No newline at end of file diff --git a/src/geno/gl/GenoSpritesheet.cpp b/src/geno/gl/GenoSpritesheet.cpp new file mode 100644 index 0000000..6580c4d --- /dev/null +++ b/src/geno/gl/GenoSpritesheet.cpp @@ -0,0 +1,173 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "GenoGL.h" +#include "../data/GenoImage.h" +#include "GenoSpritesheet.h" + +GenoSpritesheet::GenoSpritesheet() {} + +GenoSpritesheet * GenoSpritesheet::create(const GenoSpritesheetCreateInfo & info) { + GenoImage * image = 0; + uint32 width; + uint32 height; + uint32 fullWidth; + uint32 fullHeight; + uint8 * data; + if (info.type == GENO_SPRITESHEET_TYPE_CREATE) { + width = info.width / info.numSpritesX; + height = info.height / info.numSpritesY; + fullWidth = info.width; + fullHeight = info.height; + data = info.data; + } + else { + GenoImageCreateInfo imageInfo = {}; + imageInfo.type = info.type; + imageInfo.path = info.texture; + + image = GenoImage::create(imageInfo); + + if (image == 0) + return 0; + + width = image->getWidth() / info.numSpritesX; + height = image->getHeight() / info.numSpritesY; + fullWidth = image->getWidth(); + fullHeight = image->getHeight(); + data = image->getBytes(); + } + + float fractionalWidth = (float) width / (float) fullWidth; + float fractionalHeight = (float) height / (float) fullHeight; + + float paddingX = 0; + float paddingY = 0; + bool cleanData = false; + if (info.addPadding) { + cleanData = true; + uint32 fullPadWidth = fullWidth + info.numSpritesX * 2; + uint32 fullPadHeight = fullHeight + info.numSpritesY * 2; + uint32 padWidth = width + 2; + uint32 padHeight = height + 2; + uint8 * newData = new uint8[fullPadWidth * fullPadHeight * 4]; + uint32 numSprites = info.numSpritesX * info.numSpritesY; + uint32 numPixels = padWidth * padHeight; + for (uint32 i = 0; i < numSprites; ++i) { + uint32 spriteX = i % info.numSpritesX; + uint32 spriteY = i / info.numSpritesX; + uint32 padOffsetX = padWidth * spriteX; + uint32 padOffsetY = padHeight * spriteY; + uint32 offsetX = width * spriteX; + uint32 offsetY = height * spriteY; + for (uint32 j = 0; j < numPixels; ++j) { + uint32 pixelX = j % padWidth; + uint32 pixelY = j / padWidth; + uint32 targetX = pixelX == padWidth - 1 ? pixelX - 2 : (pixelX > 0 ? pixelX - 1 : 0); + uint32 targetY = pixelY == padHeight - 1 ? pixelY - 2 : (pixelY > 0 ? pixelY - 1 : 0); + uint32 writeIndex = ((pixelY + padOffsetY) * fullPadWidth + pixelX + padOffsetX) * 4; + uint32 readIndex = ((targetY + offsetY ) * fullWidth + targetX + offsetX ) * 4; + newData[writeIndex ] = data[readIndex ]; + newData[writeIndex + 1] = data[readIndex + 1]; + newData[writeIndex + 2] = data[readIndex + 2]; + newData[writeIndex + 3] = data[readIndex + 3]; + } + } + fullWidth = padWidth * info.numSpritesX; + fullHeight = padHeight * info.numSpritesY; + data = newData; + + paddingX = 1.0 / (float) fullPadWidth; + paddingY = 1.0 / (float) fullPadHeight; + } + + + uint32 id; + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, fullWidth, fullHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); + + for (uint32 i = 0; i < info.numParams; ++i) { + uint32 index = i * 2; + glTexParameteri(GL_TEXTURE_2D, info.params[index], info.params[index + 1]); + } + + GenoSpritesheet * ret = new GenoSpritesheet(); + ret->id = id; + ret->width = width; + ret->height = height; + ret->numSpritesX = info.numSpritesX; + ret->numSpritesY = info.numSpritesY; + ret->paddingX = paddingX; + ret->paddingY = paddingY; + ret->fractionalWidth = fractionalWidth; + ret->fractionalHeight = fractionalHeight; + ret->scaleX = fractionalWidth - paddingX * 2; + ret->scaleY = fractionalHeight - paddingY * 2; + + if (cleanData) + delete [] data; + delete image; + + return ret; +} + +uint32 GenoSpritesheet::getWidth() const { + return width; +} + +uint32 GenoSpritesheet::getHeight() const { + return height; +} + +GenoMatrix4f GenoSpritesheet::getTransform(uint32 sprite) const { + return GenoMatrix4f::makeTranslateXY((sprite % numSpritesX) * fractionalWidth + paddingX, + (sprite / numSpritesX) * fractionalHeight + paddingY).scaleXY(scaleX, scaleY); +} + +GenoMatrix4f GenoSpritesheet::getTransform(uint32 x, uint32 y) const { + return GenoMatrix4f::makeTranslateXY(x * fractionalWidth + paddingX, + y * fractionalHeight + paddingY).scaleXY(scaleX, scaleY); +} + +GenoMatrix4f GenoSpritesheet::getTransform(const GenoVector2i & coords) const { + return GenoMatrix4f::makeTranslateXY(coords.v[0] * fractionalWidth + paddingX, + coords.v[1] * fractionalHeight + paddingY).scaleXY(scaleX, scaleY); +} + +void GenoSpritesheet::bind(uint8 textureNum) const { + glActiveTexture(GL_TEXTURE0 + textureNum); + glBindTexture(GL_TEXTURE_2D, id); +} + +void GenoSpritesheet::unbind(uint8 textureNum) const { + glActiveTexture(GL_TEXTURE0 + textureNum); + glBindTexture(GL_TEXTURE_2D, 0); +} + +GenoSpritesheet::~GenoSpritesheet() {} \ No newline at end of file diff --git a/src/geno/gl/GenoSpritesheet.h b/src/geno/gl/GenoSpritesheet.h new file mode 100644 index 0000000..2bdf382 --- /dev/null +++ b/src/geno/gl/GenoSpritesheet.h @@ -0,0 +1,92 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_TEXTURE_FORWARD +#define GNARLY_GENOME_TEXTURE_FORWARD + +class GenoTexture; + +#endif // GNARLY_GENOME_TEXTURE_FORWARD + +#ifndef GNARLY_GENOME_SPRITESHEET +#define GNARLY_GENOME_SPRITESHEET + +#define GENO_SPRITESHEET_TYPE_CREATE 0x00 +#define GENO_SPRITESHEET_TYPE_PNG 0x01 +#define GENO_SPRITESHEET_TYPE_BMP 0x02 + +#include "../GenoInts.h" +#include "../math/linear/GenoMatrix4.h" +#include "../math/linear/GenoVector2.h" +#include "GenoTexture.h" + +struct GenoSpritesheetCreateInfo { + uint32 type; + bool addPadding; + uint32 numSpritesX; + uint32 numSpritesY; + uint32 numParams; + uint32 * params; + + uint32 width; + uint32 height; + uint8 * data; + + const char * texture; +}; + +class GenoSpritesheet : public GenoTexture { + private: + uint32 width; + uint32 height; + uint32 numSpritesX; + uint32 numSpritesY; + + float paddingX; + float paddingY; + float fractionalWidth; + float fractionalHeight; + float scaleX; + float scaleY; + + GenoSpritesheet(); + public: + static GenoSpritesheet * create(const GenoSpritesheetCreateInfo & info); + uint32 getWidth() const; + uint32 getHeight() const; + + GenoMatrix4f getTransform(uint32 sprite) const; + GenoMatrix4f getTransform(uint32 x, uint32 y) const; + GenoMatrix4f getTransform(const GenoVector2i & coords) const; + + virtual void bind(uint8 textureNum = 0) const; + virtual void unbind(uint8 textureNum = 0) const; + + ~GenoSpritesheet(); +}; + +#define GNARLY_GENOME_SPRITESHEET_FORWARD +#endif // GNARLY_GENOME_SPRITESHEET \ No newline at end of file diff --git a/src/geno/gl/GenoTexture.cpp b/src/geno/gl/GenoTexture.cpp new file mode 100644 index 0000000..6d49b2b --- /dev/null +++ b/src/geno/gl/GenoTexture.cpp @@ -0,0 +1,38 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoGL.h" + +#include "GenoTexture.h" + +GenoTexture::GenoTexture() {} + +GenoTexture::GenoTexture(uint32 id) : + id(id) {} + +GenoTexture::~GenoTexture() { + glDeleteTextures(1, &id); +} \ No newline at end of file diff --git a/src/geno/gl/GenoTexture.h b/src/geno/gl/GenoTexture.h new file mode 100644 index 0000000..edc9028 --- /dev/null +++ b/src/geno/gl/GenoTexture.h @@ -0,0 +1,45 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_TEXTURE +#define GNARLY_GENOME_TEXTURE + +#include "../GenoInts.h" + +class GenoTexture { + protected: + uint32 id; + + GenoTexture(); + GenoTexture(uint32 id); + public: + virtual void bind(uint8 textureNum = 0) const = 0; + virtual void unbind(uint8 textureNum = 0) const = 0; + virtual ~GenoTexture(); +}; + +#define GNARLY_GENOME_TEXTURE_FORWARD +#endif // GNARLY_GENOME_TEXTURE \ No newline at end of file diff --git a/src/geno/gl/GenoTexture2D.cpp b/src/geno/gl/GenoTexture2D.cpp new file mode 100644 index 0000000..7eb9ca7 --- /dev/null +++ b/src/geno/gl/GenoTexture2D.cpp @@ -0,0 +1,95 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoGL.h" +#include "../data/GenoImage.h" + +#include "GenoTexture2D.h" + +GenoTexture2D::GenoTexture2D(uint32 id, uint32 width, uint32 height) : + GenoTexture(id), + width(width), + height(height) {} + +GenoTexture2D * GenoTexture2D::create(const GenoTexture2DCreateInfo & info) { + GenoImage * image = 0; + uint32 width; + uint32 height; + uint8 * data; + if (info.type == GENO_TEXTURE2D_TYPE_CREATE) { + width = info.width; + height = info.height; + data = info.data; + } + else { + GenoImageCreateInfo imageInfo = {}; + imageInfo.type = info.type; + imageInfo.path = info.texture; + + image = GenoImage::create(imageInfo); + + if (image == 0) + return 0; + width = image->getWidth(); + height = image->getHeight(); + data = image->getBytes(); + } + + uint32 id; + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); + for (uint32 i = 0; i < info.numParams; ++i) { + uint32 index = i * 2; + glTexParameteri(GL_TEXTURE_2D, info.params[index], info.params[index + 1]); + } + + GenoTexture2D * ret = new GenoTexture2D(id, width, height); + + delete image; + + return ret; +} + +uint32 GenoTexture2D::getWidth() const { + return width; +} + +uint32 GenoTexture2D::getHeight() const { + return height; +} + +void GenoTexture2D::bind(uint8 textureNum) const { + glActiveTexture(GL_TEXTURE0 + textureNum); + glBindTexture(GL_TEXTURE_2D, id); +} + +void GenoTexture2D::unbind(uint8 textureNum) const { + glActiveTexture(GL_TEXTURE0 + textureNum); + glBindTexture(GL_TEXTURE_2D, 0); +} + +GenoTexture2D::~GenoTexture2D() {} \ No newline at end of file diff --git a/src/geno/gl/GenoTexture2D.h b/src/geno/gl/GenoTexture2D.h new file mode 100644 index 0000000..a9ff829 --- /dev/null +++ b/src/geno/gl/GenoTexture2D.h @@ -0,0 +1,75 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_TEXTURE_FORWARD +#define GNARLY_GENOME_TEXTURE_FORWARD + +class GenoTexture; + +#endif // GNARLY_GENOME_TEXTURE_FORWARD + +#ifndef GNARLY_GENOME_TEXTURE2D +#define GNARLY_GENOME_TEXTURE2D + +#include "../GenoInts.h" + +#include "GenoTexture.h" + +#define GENO_TEXTURE2D_TYPE_CREATE 0x00 +#define GENO_TEXTURE2D_TYPE_PNG 0x01 +#define GENO_TEXTURE2D_TYPE_BMP 0x02 + +struct GenoTexture2DCreateInfo { + uint32 type; + uint32 numParams; + uint32 * params; + + uint32 width; + uint32 height; + uint8 * data; + + const char * texture; +}; + +class GenoTexture2D : public GenoTexture { + private: + uint32 width; + uint32 height; + + GenoTexture2D(uint32 id, uint32 width, uint32 height); + public: + static GenoTexture2D * create(const GenoTexture2DCreateInfo & info); + uint32 getWidth() const; + uint32 getHeight() const; + virtual void bind(uint8 textureNum = 0) const; + virtual void unbind(uint8 textureNum = 0) const; + ~GenoTexture2D(); + + friend class GenoFramebuffer; +}; + +#define GNARLY_GENOME_TEXTURE2D_FORWARD +#endif // GNARLY_GENOME_TEXTURE2D diff --git a/src/geno/gl/GenoVao.cpp b/src/geno/gl/GenoVao.cpp new file mode 100644 index 0000000..5c74296 --- /dev/null +++ b/src/geno/gl/GenoVao.cpp @@ -0,0 +1,59 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoVao.h" + +GenoVao::GenoVao() {} + +GenoVao::GenoVao(const GenoVao & vao) : + vao(vao.vao), + ibo(vao.ibo), + count(vao.count), + attribs(vao.attribs) { + for (uint32 i = 0; i < attribs; ++i) + vbos[i] = vao.vbos[i]; +} + +GenoVao & GenoVao::operator=(const GenoVao & vao) { + this->vao = vao.vao; + for (uint32 i = 0; i < attribs; ++i) + vbos[i] = vao.vbos[i]; + this->ibo = vao.ibo; + this->count = vao.count; + this->attribs = vao.attribs; + return *this; +} + +void GenoVao::render() { + glBindVertexArray(vao); + glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_INT, 0); +} + +GenoVao::~GenoVao() { + glDeleteBuffers(attribs, vbos); + glDeleteBuffers(1, &ibo); + glDeleteVertexArrays(1, &vao); +} diff --git a/src/geno/gl/GenoVao.h b/src/geno/gl/GenoVao.h new file mode 100644 index 0000000..32353d7 --- /dev/null +++ b/src/geno/gl/GenoVao.h @@ -0,0 +1,90 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_VAO +#define GNARLY_GENOME_VAO + +#include "../GenoInts.h" +#include "GenoGL.h" + +class GenoVao { + private: + + template + struct GenoVertexAttribType {}; + + template<> struct GenoVertexAttribType< int8 > { const static uint32 TYPE = GL_UNSIGNED_BYTE; }; + template<> struct GenoVertexAttribType { const static uint32 TYPE = GL_BYTE; }; + template<> struct GenoVertexAttribType< int16> { const static uint32 TYPE = GL_UNSIGNED_SHORT; }; + template<> struct GenoVertexAttribType { const static uint32 TYPE = GL_SHORT; }; + template<> struct GenoVertexAttribType< int32> { const static uint32 TYPE = GL_UNSIGNED_INT; }; + template<> struct GenoVertexAttribType { const static uint32 TYPE = GL_INT; }; + template<> struct GenoVertexAttribType { const static uint32 TYPE = GL_FLOAT; }; + template<> struct GenoVertexAttribType { const static uint32 TYPE = GL_DOUBLE; }; + + uint32 vao; + uint32 vbos[15]; + uint32 ibo; + uint32 count; + uint8 attribs = 0; + + public: + GenoVao(); + GenoVao(const GenoVao & vao); + + template GenoVao(uint32 num, const T * verts, uint32 count, const uint32 * indices) : + count(count) { + glGenVertexArrays(1, &vao); + addAttrib(num, 3, verts); + glGenBuffers(1, &ibo); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, count * sizeof(int32), indices, GL_STATIC_DRAW); + } + + GenoVao & operator=(const GenoVao & vao); + + template void addAttrib(uint32 num, uint32 stride, const T * data) { + glBindVertexArray(vao); + glGenBuffers(1, vbos + attribs); + glBindBuffer(GL_ARRAY_BUFFER, vbos[attribs]); + glBufferData(GL_ARRAY_BUFFER, stride * num * sizeof(T), data, GL_STATIC_DRAW); + glVertexAttribPointer(attribs, stride, GenoVertexAttribType::TYPE, GL_FALSE, 0, (void*) 0); + glEnableVertexAttribArray(attribs); + ++attribs; + } + + template void rebuffer(uint32 attrib, uint32 num, uint32 stride, const T * data) { + glBindVertexArray(vao); + glBindBuffer(GL_ARRAY_BUFFER, vbos[attribs]); + glBufferSubData(GL_ARRAY_BUFFER, 0, stride * num * sizeof(T), data); + } + + void render(); + ~GenoVao(); +}; + +#define GNARLY_GENOME_VAO_FORWARD +#endif // GNARLY_GENOME_VAO \ No newline at end of file diff --git a/src/geno/math/GenoConstants.h b/src/geno/math/GenoConstants.h new file mode 100644 index 0000000..bfa7185 --- /dev/null +++ b/src/geno/math/GenoConstants.h @@ -0,0 +1,34 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_CONSTANTS +#define GNARLY_GENOME_CONSTANTS + +template constexpr T GENO_PI = T(3.141592653589793238462643383279l); +template constexpr T GENO_TAU = T(6.283185307179586476925286766559l); +template constexpr T GENO_E = T(2.718281828459045235360287471353l); + +#endif // GNARLY_GENOME_CONSTANTS \ No newline at end of file diff --git a/src/geno/math/linear/GenoMatrix.h b/src/geno/math/linear/GenoMatrix.h new file mode 100644 index 0000000..0c1dc00 --- /dev/null +++ b/src/geno/math/linear/GenoMatrix.h @@ -0,0 +1,195 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_MATRIX +#define GNARLY_GENOME_MATRIX + +#include +#include + +#include "GenoVector.h" + +template +class GenoMatrix { + + static_assert(N > 0 && M > 0, "Matrix dimensions must be greater than 0!"); + + private: + bool owner = true; + + void clean() { + if (owner) + delete [] m; + } + public: + T * m; + + GenoMatrix() : + m(new T[N * M]()) {} + + GenoMatrix(T * m, bool owner = true) noexcept : + owner(owner), + m(m) {} + + GenoMatrix(std::initializer_list list) : + m(new T[N * M]) { + auto min = list.size() < N * M ? list.size() : N * M; + auto init = list.begin(); + for (uint32 i = 0; i < min; ++i) + m[(i % M) * N + (i / M)] = init[i]; + } + + template + GenoMatrix(const GenoMatrix & matrix) : + m(new T[N * M]) { + for (uint32 i = 0; i < N * M; ++i) + m[i] = (T) matrix.m[i]; + } + + GenoMatrix(const GenoMatrix & matrix) : + m(new T[N * M]) { + for (uint32 i = 0; i < N * M; ++i) + m[i] = matrix.m[i]; + } + + GenoMatrix(GenoMatrix && matrix) noexcept : + owner(matrix.owner), + m(matrix.m) { + matrix.owner = false; + } + + GenoMatrix & operator=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * M; ++i) + m[i] = matrix.m[i]; + return *this; + } + + GenoMatrix & operator=(GenoMatrix && matrix) noexcept { + clean(); + owner = matrix.owner; + m = matrix.m; + matrix.owner = false; + return *this; + } + + GenoMatrix & operator+=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * M; ++i) + m[i] += matrix.m[i]; + return *this; + } + + GenoMatrix & operator-=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * M; ++i) + m[i] -= matrix.m[i]; + return *this; + } + + GenoVector operator[](uint32 index) const noexcept { + return GenoVector(index * M, false); + } + + ~GenoMatrix() { + clean(); + } +}; + +template +GenoMatrix operator+(const GenoMatrix & left, const GenoMatrix & right) { + auto sum = new T[N * M]; + for (uint32 i = 0; i < N * M; ++i) + sum[i] = left.m[i] + right.m[i]; + return sum; +} + +template +GenoMatrix operator-(const GenoMatrix & left, const GenoMatrix & right) { + auto difference = new T[N * M]; + for (uint32 i = 0; i < N * M; ++i) + difference[i] = left.m[i] - right.m[i]; + return difference; +} + +template +GenoMatrix operator*(const GenoMatrix & left, const GenoMatrix & right) { + auto product = new T[N2 * M]; + for (uint32 i = 0; i < M; ++i) { + for (uint32 j = 0; j < N2; ++j) { + product[j * M + i] = 0; + for (uint32 k = 0; k < N; ++k) + product[j * M + i] += left.m[k * M + i] * right.m[j * N + k]; + } + } + return product; +} + +template +GenoVector operator*(const GenoMatrix & left, const GenoVector & right) { + auto product = new T[M]; + for (uint32 i = 0; i < M; ++i) { + product[i] = 0; + for (uint32 j = 0; j < N; ++j) + product[i] += left.m[j * M + i] * right.v[j]; + } + return product; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoMatrix & matrix) { + for (uint32 i = 0; i < M; ++i) { + stream << '['; + for (uint32 j = 0; j < N; ++j) { + stream << matrix.m[j * M + i]; + if (j < N - 1) + stream << ", "; + } + stream << "]\n"; + } + return stream; +} + +template using GenoMatrixNMb = GenoMatrix; +template using GenoMatrixNMub = GenoMatrix; +template using GenoMatrixNMs = GenoMatrix; +template using GenoMatrixNMus = GenoMatrix; +template using GenoMatrixNMi = GenoMatrix; +template using GenoMatrixNMui = GenoMatrix; +template using GenoMatrixNMl = GenoMatrix; +template using GenoMatrixNMul = GenoMatrix; +template using GenoMatrixNMf = GenoMatrix; +template using GenoMatrixNMd = GenoMatrix; + +#define GNARLY_GENOME_MATRIX_FORWARD +#endif // GNARLY_GENOME_MATRIX \ No newline at end of file diff --git a/src/geno/math/linear/GenoMatrix4.h b/src/geno/math/linear/GenoMatrix4.h new file mode 100644 index 0000000..c28c24e --- /dev/null +++ b/src/geno/math/linear/GenoMatrix4.h @@ -0,0 +1,8579 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_VECTOR2_FORWARD +#define GNARLY_GENOME_VECTOR2_FORWARD + +template +class GenoVector<2, T>; + +#endif // GNARLY_GENOME_VECTOR2_FORWARD + +#ifndef GNARLY_GENOME_VECTOR3_FORWARD +#define GNARLY_GENOME_VECTOR3_FORWARD + +template +class GenoVector<3, T>; + +#endif // GNARLY_GENOME_VECTOR3_FORWARD + +#ifndef GNARLY_GENOME_VECTOR4_FORWARD +#define GNARLY_GENOME_VECTOR4_FORWARD + +template +class GenoVector<4, T>; + +#endif // GNARLY_GENOME_VECTOR4_FORWARD + +#ifndef GNARLY_GENOME_MATRIX_FORWARD +#define GNARLY_GENOME_MATRIX_FORWARD + +template +class GenoMatrix; + +#endif // GNARLY_GENOME_MATRIX_FORWARD + +#ifndef GNARLY_GENOME_MATRIXN_FORWARD +#define GNARLY_GENOME_MATRIXN_FORWARD + +template +class GenoMatrix; + +#endif // GNARLY_GENOME_MATRIXN_FORWARD + +#ifndef GNARLY_GENOME_MATRIX4 +#define GNARLY_GENOME_MATRIX4 + +#include +#include + +#include "GenoVector2.h" +#include "GenoVector3.h" +#include "GenoVector4.h" +#include "GenoMatrixN.h" + +template +class GenoMatrix<4, 4, T> { + private: + bool owner = true; + + void clean() { + if (owner) + delete [] m; + } + public: + T * m; + + static GenoMatrix<4, 4, T> makeIdentity() { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeOrthographic(T left, T right, T bottom, T top, T near, T far) { + return new T[4 * 4] { + 2 / (right - left), 0, 0, 0, + 0, 2 / (top - bottom), 0, 0, + 0, 0, 2 / (far - near), 0, + (left + right) / (left - right), (bottom + top) / (bottom - top), (near + far) / (near - far), 1 + }; + } + + static GenoMatrix<4, 4, T> makePerspective(T fovY, T aspectRatio, T near, T far) { + auto vertical = 1 / tan(fovY / 2); + return new T[4 * 4] { + vertical / aspectRatio, 0, 0, 0, + 0, vertical, 0, 0, + 0, 0, (near + far) / (near - far), -1, + 0, 0, (2 * far * near) / (near - far), 0 + }; + } + + static GenoMatrix<4, 4, T> makeShear2D(T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = tan(shearAngle); + return new T[4 * 4] { + sinAxis * tanShear * cosAxis, -cosAxis * tanShear * cosAxis, 0, 0, + sinAxis * tanShear * sinAxis, -cosAxis * tanShear * sinAxis, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2D(const GenoVector<2, T> & axis, T shearAngle) { + auto unitAxis = normalize(axis); + auto tanShear = tan(shearAngle); + return new T[4 * 4] { + unitAxis.v[1] * tanShear * unitAxis.v[0], -unitAxis.v[0] * tanShear * unitAxis.v[0], 0, 0, + unitAxis.v[1] * tanShear * unitAxis.v[1], -unitAxis.v[0] * tanShear * unitAxis.v[1], 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2D(T axisAngle, const GenoVector<2, T> & shear) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = shear.v[1] / shear.v[0]; + return new T[4 * 4] { + sinAxis * tanShear * cosAxis, -cosAxis * tanShear * cosAxis, 0, 0, + sinAxis * tanShear * sinAxis, -cosAxis * tanShear * sinAxis, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2D(const GenoVector<2, T> & axis, const GenoVector<2, T> & shear) { + auto unitAxis = normalize(axis); + auto tanShear = shear.v[1] / shear.v[0]; + return new T[4 * 4] { + unitAxis.v[1] * tanShear * unitAxis.v[0], -unitAxis.v[0] * tanShear * unitAxis.v[0], 0, 0, + unitAxis.v[1] * tanShear * unitAxis.v[1], -unitAxis.v[0] * tanShear * unitAxis.v[1], 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2DX(T angle) { + return new T[4 * 4] { + 1, -tan(angle), 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2DX(const GenoVector<2, T> & shear) { + return new T[4 * 4] { + 1, -shear.v[1] / shear.v[0], 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2DY(T angle) { + return new T[4 * 4] { + 1, 0, 0, 0, + tan(angle), 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeShear2DY(const GenoVector<2, T> & shear) { + return new T[4 * 4] { + 1, 0, 0, 0, + shear.v[1] / shear.v[0], 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslate2D(T translateX, T translateY) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, translateY, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslate2D(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], translate.v[1], 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslate(T translateX, T translateY, T translateZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, translateY, translateZ, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslate(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], translate.v[1], translate.v[2], 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotate2D(T rotation) { + auto sinZ = sin(rotation); + auto cosZ = cos(rotation); + return new T[4 * 4] { + cosZ, sinZ, 0, 0, + -sinZ, cosZ, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale2D(T scale) { + return new T[4 * 4] { + scale, 0, 0, 0, + 0, scale, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale2D(T scaleX, T scaleY) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale2D(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale(T scale) { + return new T[4 * 4] { + scale, 0, 0, 0, + 0, scale, 0, 0, + 0, 0, scale, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale(T scaleX, T scaleY, T scaleZ) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, scaleZ, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScale(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, scale.v[2], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateX(T translateX) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateY(T translateY) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, translateY, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateZ(T translateZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, translateZ, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXY(T translateX, T translateY) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, translateY, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXY(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], translate.v[1], 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXZ(T translateX, T translateZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, 0, translateZ, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXZ(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], 0, translate.v[1], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateYX(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[1], translate.v[0], 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateYZ(T translateY, T translateZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, translateY, translateZ, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateYZ(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, translate.v[0], translate.v[1], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateZX(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[1], 0, translate.v[0], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateZY(const GenoVector<2, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, translate.v[1], translate.v[0], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXYZ(T translateX, T translateY, T translateZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translateX, translateY, translateZ, 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXYZ(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], translate.v[1], translate.v[2], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateXZY(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[0], translate.v[2], translate.v[1], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateYXZ(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[1], translate.v[0], translate.v[2], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateYZX(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[2], translate.v[0], translate.v[1], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateZXY(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[1], translate.v[2], translate.v[0], 1 + }; + } + + static GenoMatrix<4, 4, T> makeTranslateZYX(const GenoVector<3, T> & translate) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + translate.v[2], translate.v[1], translate.v[0], 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateX(T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + return new T[4 * 4] { + 1, 0, 0, 0, + 0, cosX, sinX, 0, + 0, -sinX, cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateY(T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + return new T[4 * 4] { + cosY, 0, -sinY, 0, + 0, 1, 0, 0, + sinY, 0, cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateZ(T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + cosZ, sinZ, 0, 0, + -sinZ, cosZ, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXY(T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + return new T[4 * 4] { + cosY, 0, -sinY, 0, + sinY * sinX, cosX, cosY * sinX, 0, + sinY * cosX, -sinX, cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXY(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + return new T[4 * 4] { + cosY, 0, -sinY, 0, + sinY * sinX, cosX, cosY * sinX, 0, + sinY * cosX, -sinX, cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXZ(T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + cosZ, sinZ, 0, 0, + -sinZ * cosX, cosZ * cosX, sinX, 0, + sinZ * sinX, -cosZ * sinX, cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXZ(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return new T[4 * 4] { + cosZ, sinZ, 0, 0, + -sinZ * cosX, cosZ * cosX, sinX, 0, + sinZ * sinX, -cosZ * sinX, cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateYX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + return new T[4 * 4] { + cosY, sinX * sinY, -cosX * sinY, 0, + 0, cosX, sinX, 0, + sinY, -sinX * cosY, cosX * cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateYZ(T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + cosZ * cosY, sinZ * cosY, -sinY, 0, + -sinZ, cosZ, 0, 0, + cosZ * sinY, sinZ * sinY, cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateYZ(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return new T[4 * 4] { + cosZ * cosY, sinZ * cosY, -sinY, 0, + -sinZ, cosZ, 0, 0, + cosZ * sinY, sinZ * sinY, cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateZX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return new T[4 * 4] { + cosZ, cosX * sinZ, sinX * sinZ, 0, + -sinZ, cosX * cosZ, sinX * cosZ, 0, + 0, -sinX, cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateZY(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return new T[4 * 4] { + cosY * cosZ, sinZ, -sinY * cosZ, 0, + -cosY * sinZ, cosZ, sinY * sinZ, 0, + sinY, 0, cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXYZ(T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + cosZ * cosY, sinZ * cosY, -sinY, 0, + -sinZ * cosX + cosZ * sinY * sinX, cosZ * cosX + sinZ * sinY * sinX, cosY * sinX, 0, + sinZ * sinX + cosZ * sinY * cosX, -cosZ * sinX + sinZ * sinY * cosX, cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXYZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + return new T[4 * 4] { + cosZ * cosY, sinZ * cosY, -sinY, 0, + -sinZ * cosX + cosZ * sinY * sinX, cosZ * cosX + sinZ * sinY * sinX, cosY * sinX, 0, + sinZ * sinX + cosZ * sinY * cosX, -cosZ * sinX + sinZ * sinY * cosX, cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateXZY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return new T[4 * 4] { + cosY * cosZ, sinZ, -sinY * cosZ, 0, + -cosY * sinZ * cosX + sinY * sinX, cosZ * cosX, sinY * sinZ * cosX + cosY * sinX, 0, + cosY * sinZ * sinX + sinY * cosX, -cosZ * sinX, -sinY * sinZ * sinX + cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateYXZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + return new T[4 * 4] { + cosZ * cosY - sinZ * sinX * sinY, sinZ * cosY + cosZ * sinX * sinY, -cosX * sinY, 0, + -sinZ * cosX, cosZ * cosX, sinX, 0, + cosZ * sinY + sinZ * sinX * cosY, sinZ * sinY - cosZ * sinX * cosY, cosX * cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateYZX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return new T[4 * 4] { + cosZ * cosY, cosX * sinZ * cosY + sinX * sinY, sinX * sinZ * cosY - cosX * sinY, 0, + -sinZ, cosX * cosZ, sinX * cosZ, 0, + cosZ * sinY, cosX * sinZ * sinY - sinX * cosY, sinX * sinZ * sinY + cosX * cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateZXY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return new T[4 * 4] { + cosY * cosZ + sinY * sinX * sinZ, cosX * sinZ, -sinY * cosZ + cosY * sinX * sinZ, 0, + -cosY * sinZ + sinY * sinX * cosZ, cosX * cosZ, sinY * sinZ + cosY * sinX * cosZ, 0, + sinY * cosX, -sinX, cosY * cosX, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeRotateZYX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return new T[4 * 4] { + cosY * cosZ, sinX * sinY * cosZ + cosX * sinZ, -cosX * sinY * cosZ + sinX * sinZ, 0, + -cosY * sinZ, -sinX * sinY * sinZ + cosX * cosZ, cosX * sinY * sinZ + sinX * cosZ, 0, + sinY, -sinX * cosY, cosX * cosY, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleX(T scaleX) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleY(T scaleY) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleZ(T scaleZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, scaleZ, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXY(T scale) { + return new T[4 * 4] { + scale, 0, 0, 0, + 0, scale, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXY(T scaleX, T scaleY) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXY(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXZ(T scale) { + return new T[4 * 4] { + scale, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, scale, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXZ(T scaleX, T scaleZ) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, scaleZ, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXZ(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, 1, 0, 0, + 0, 0, scale.v[1], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYX(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + scale.v[1], 0, 0, 0, + 0, scale.v[0], 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYZ(T scale) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, scale, 0, 0, + 0, 0, scale, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYZ(T scaleY, T scaleZ) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, scaleZ, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYZ(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, scale.v[0], 0, 0, + 0, 0, scale.v[1], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleZX(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + scale.v[1], 0, 0, 0, + 0, 1, 0, 0, + 0, 0, scale.v[0], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleZY(const GenoVector<2, T> & scale) { + return new T[4 * 4] { + 1, 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, scale.v[0], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXYZ(T scale) { + return new T[4 * 4] { + scale, 0, 0, 0, + 0, scale, 0, 0, + 0, 0, scale, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXYZ(T scaleX, T scaleY, T scaleZ) { + return new T[4 * 4] { + scaleX, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, scaleZ, 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXYZ(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, scale.v[2], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleXZY(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[0], 0, 0, 0, + 0, scale.v[2], 0, 0, + 0, 0, scale.v[1], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYXZ(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[1], 0, 0, 0, + 0, scale.v[0], 0, 0, + 0, 0, scale.v[2], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleYZX(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[2], 0, 0, 0, + 0, scale.v[0], 0, 0, + 0, 0, scale.v[1], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleZXY(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[1], 0, 0, 0, + 0, scale.v[2], 0, 0, + 0, 0, scale.v[0], 0, + 0, 0, 0, 1 + }; + } + + static GenoMatrix<4, 4, T> makeScaleZYX(const GenoVector<3, T> & scale) { + return new T[4 * 4] { + scale.v[2], 0, 0, 0, + 0, scale.v[1], 0, 0, + 0, 0, scale.v[0], 0, + 0, 0, 0, 1 + }; + } + + GenoMatrix() : + m(new T[4 * 4]()) {} + + GenoMatrix(T * m, bool owner = true) noexcept : + owner(owner), + m(m) {} + + GenoMatrix(T a, T b, T c, T d, + T e, T f, T g, T h, + T i, T j, T k, T l, + T m, T n, T o, T p) : + m(new T[4 * 4] { + a, e, i, m, + b, f, j, n, + c, g, k, o, + d, h, l, p + }) {} + + template + GenoMatrix(const GenoMatrix<4, 4, T2> & matrix) : + m(new T[4 * 4]) { + m[0 ] = (T) matrix.m[0 ]; + m[1 ] = (T) matrix.m[1 ]; + m[2 ] = (T) matrix.m[2 ]; + m[3 ] = (T) matrix.m[3 ]; + m[4 ] = (T) matrix.m[4 ]; + m[5 ] = (T) matrix.m[5 ]; + m[6 ] = (T) matrix.m[6 ]; + m[7 ] = (T) matrix.m[7 ]; + m[8 ] = (T) matrix.m[8 ]; + m[9 ] = (T) matrix.m[9 ]; + m[10] = (T) matrix.m[10]; + m[11] = (T) matrix.m[11]; + m[12] = (T) matrix.m[12]; + m[13] = (T) matrix.m[13]; + m[14] = (T) matrix.m[14]; + m[15] = (T) matrix.m[15]; + } + + GenoMatrix(const GenoMatrix<4, 4, T> & matrix) : + m(new T[4 * 4]) { + m[0 ] = matrix.m[0 ]; + m[1 ] = matrix.m[1 ]; + m[2 ] = matrix.m[2 ]; + m[3 ] = matrix.m[3 ]; + m[4 ] = matrix.m[4 ]; + m[5 ] = matrix.m[5 ]; + m[6 ] = matrix.m[6 ]; + m[7 ] = matrix.m[7 ]; + m[8 ] = matrix.m[8 ]; + m[9 ] = matrix.m[9 ]; + m[10] = matrix.m[10]; + m[11] = matrix.m[11]; + m[12] = matrix.m[12]; + m[13] = matrix.m[13]; + m[14] = matrix.m[14]; + m[15] = matrix.m[15]; + } + + GenoMatrix(GenoMatrix<4, 4, T> && matrix) noexcept : + owner(matrix.owner), + m(matrix.m) { + matrix.owner = false; + } + + GenoMatrix<4, 4, T> & operator=(const GenoMatrix<4, 4, T> & matrix) { + m[0 ] = matrix.m[0 ]; + m[1 ] = matrix.m[1 ]; + m[2 ] = matrix.m[2 ]; + m[3 ] = matrix.m[3 ]; + m[4 ] = matrix.m[4 ]; + m[5 ] = matrix.m[5 ]; + m[6 ] = matrix.m[6 ]; + m[7 ] = matrix.m[7 ]; + m[8 ] = matrix.m[8 ]; + m[9 ] = matrix.m[9 ]; + m[10] = matrix.m[10]; + m[11] = matrix.m[11]; + m[12] = matrix.m[12]; + m[13] = matrix.m[13]; + m[14] = matrix.m[14]; + m[15] = matrix.m[15]; + return *this; + } + + GenoMatrix<4, 4, T> & operator=(GenoMatrix<4, 4, T> && matrix) noexcept { + clean(); + owner = matrix.owner; + m = matrix.m; + matrix.owner = false; + return *this; + } + + GenoMatrix<4, 4, T> & operator+=(const GenoMatrix<4, 4, T> & matrix) { + m[0 ] += matrix.m[0 ]; + m[1 ] += matrix.m[1 ]; + m[2 ] += matrix.m[2 ]; + m[3 ] += matrix.m[3 ]; + m[4 ] += matrix.m[4 ]; + m[5 ] += matrix.m[5 ]; + m[6 ] += matrix.m[6 ]; + m[7 ] += matrix.m[7 ]; + m[8 ] += matrix.m[8 ]; + m[9 ] += matrix.m[9 ]; + m[10] += matrix.m[10]; + m[11] += matrix.m[11]; + m[12] += matrix.m[12]; + m[13] += matrix.m[13]; + m[14] += matrix.m[14]; + m[15] += matrix.m[15]; + return *this; + } + + GenoMatrix<4, 4, T> & operator-=(const GenoMatrix<4, 4, T> & matrix) { + m[0 ] -= matrix.m[0 ]; + m[1 ] -= matrix.m[1 ]; + m[2 ] -= matrix.m[2 ]; + m[3 ] -= matrix.m[3 ]; + m[4 ] -= matrix.m[4 ]; + m[5 ] -= matrix.m[5 ]; + m[6 ] -= matrix.m[6 ]; + m[7 ] -= matrix.m[7 ]; + m[8 ] -= matrix.m[8 ]; + m[9 ] -= matrix.m[9 ]; + m[10] -= matrix.m[10]; + m[11] -= matrix.m[11]; + m[12] -= matrix.m[12]; + m[13] -= matrix.m[13]; + m[14] -= matrix.m[14]; + m[15] -= matrix.m[15]; + return *this; + } + + GenoMatrix<4, 4, T> & operator*=(const GenoMatrix<4, 4, T> & matrix) { + return *this = *this * matrix; + } + + GenoVector<4, T> operator[](uint32 index) const noexcept { + return GenoVector<4, T>(index * 4, false); + } + + GenoMatrix<4, 4, T> & setIdentity() { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setOrthographic(T left, T right, T bottom, T top, T near, T far) { + m[0 ] = 2 / (right - left); + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 2 / (top - bottom); + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 2 / (far - near); + m[11] = 0; + m[12] = (left + right) / (left - right); + m[13] = (bottom + top) / (bottom - top); + m[14] = (near + far) / (near - far); + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setPerspective(T fovY, T aspectRatio, T near, T far) { + auto vertical = 1 / tan(fovY / 2); + m[0 ] = vertical / aspectRatio; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = vertical; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = (near + far) / (near - far); + m[11] = -1; + m[12] = 0; + m[13] = 0; + m[14] = (2 * far * near) / (near - far); + m[15] = 0; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2D(T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = tan(shearAngle); + m[0 ] = sinAxis * tanShear * cosAxis; + m[1 ] = -cosAxis * tanShear * cosAxis; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = sinAxis * tanShear * sinAxis; + m[5 ] = -cosAxis * tanShear * sinAxis; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2D(const GenoVector<2, T> & axis, T shearAngle) { + auto unitAxis = normalize(axis); + auto tanShear = tan(shearAngle); + m[0 ] = unitAxis.v[1] * tanShear * unitAxis.v[0]; + m[1 ] = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = unitAxis.v[1] * tanShear * unitAxis.v[1]; + m[5 ] = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2D(T axisAngle, const GenoVector<2, T> & shear) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = shear.v[1] / shear.v[0]; + m[0 ] = sinAxis * tanShear * cosAxis; + m[1 ] = -cosAxis * tanShear * cosAxis; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = sinAxis * tanShear * sinAxis; + m[5 ] = -cosAxis * tanShear * sinAxis; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2D(const GenoVector<2, T> & axis, const GenoVector<2, T> & shear) { + auto unitAxis = normalize(axis); + auto tanShear = shear.v[1] / shear.v[0]; + m[0 ] = unitAxis.v[1] * tanShear * unitAxis.v[0]; + m[1 ] = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = unitAxis.v[1] * tanShear * unitAxis.v[1]; + m[5 ] = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2DX(T angle) { + m[0 ] = 1; + m[1 ] = -tan(angle); + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2DX(const GenoVector<2, T> & shear) { + m[0 ] = 1; + m[1 ] = -shear.v[1] / shear.v[0]; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2DY(T angle) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = tan(angle); + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setShear2DY(const GenoVector<2, T> & shear) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = shear.v[1] / shear.v[0]; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslate2D(T translateX, T translateY) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = translateY; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslate2D(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = translate.v[1]; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslate(T translateX, T translateY, T translateZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = translateY; + m[14] = translateZ; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslate(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = translate.v[1]; + m[14] = translate.v[2]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotate2D(T rotation) { + auto sinZ = sin(rotation); + auto cosZ = cos(rotation); + m[0 ] = cosZ; + m[1 ] = sinZ; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosZ; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale2D(T scale) { + m[0 ] = scale; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale2D(T scaleX, T scaleY) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale2D(const GenoVector<2, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale(T scale) { + m[0 ] = scale; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale(T scaleX, T scaleY, T scaleZ) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scaleZ; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScale(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[2]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateX(T translateX) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateY(T translateY) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = translateY; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateZ(T translateZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = translateZ; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXY(T translateX, T translateY) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = translateY; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXY(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = translate.v[1]; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXZ(T translateX, T translateZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = 0; + m[14] = translateZ; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXZ(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = 0; + m[14] = translate.v[1]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateYX(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[1]; + m[13] = translate.v[0]; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateYZ(T translateY, T translateZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = translateY; + m[14] = translateZ; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateYZ(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = translate.v[0]; + m[14] = translate.v[1]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateZX(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[1]; + m[13] = 0; + m[14] = translate.v[0]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateZY(const GenoVector<2, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = translate.v[1]; + m[14] = translate.v[0]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXYZ(T translateX, T translateY, T translateZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translateX; + m[13] = translateY; + m[14] = translateZ; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXYZ(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = translate.v[1]; + m[14] = translate.v[2]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateXZY(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[0]; + m[13] = translate.v[2]; + m[14] = translate.v[1]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateYXZ(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[1]; + m[13] = translate.v[0]; + m[14] = translate.v[2]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateYZX(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[2]; + m[13] = translate.v[0]; + m[14] = translate.v[1]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateZXY(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[1]; + m[13] = translate.v[2]; + m[14] = translate.v[0]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setTranslateZYX(const GenoVector<3, T> & translate) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = translate.v[2]; + m[13] = translate.v[1]; + m[14] = translate.v[0]; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateX(T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = cosX; + m[6 ] = sinX; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = -sinX; + m[10] = cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateY(T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + m[0 ] = cosY; + m[1 ] = 0; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = sinY; + m[9 ] = 0; + m[10] = cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateZ(T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + m[0 ] = cosZ; + m[1 ] = sinZ; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosZ; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXY(T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + m[0 ] = cosY; + m[1 ] = 0; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = sinY * sinX; + m[5 ] = cosX; + m[6 ] = cosY * sinX; + m[7 ] = 0; + m[8 ] = sinY * cosX; + m[9 ] = -sinX; + m[10] = cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXY(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + m[0 ] = cosY; + m[1 ] = 0; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = sinY * sinX; + m[5 ] = cosX; + m[6 ] = cosY * sinX; + m[7 ] = 0; + m[8 ] = sinY * cosX; + m[9 ] = -sinX; + m[10] = cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXZ(T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + m[0 ] = cosZ; + m[1 ] = sinZ; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = -sinZ * cosX; + m[5 ] = cosZ * cosX; + m[6 ] = sinX; + m[7 ] = 0; + m[8 ] = sinZ * sinX; + m[9 ] = -cosZ * sinX; + m[10] = cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXZ(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + m[0 ] = cosZ; + m[1 ] = sinZ; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = -sinZ * cosX; + m[5 ] = cosZ * cosX; + m[6 ] = sinX; + m[7 ] = 0; + m[8 ] = sinZ * sinX; + m[9 ] = -cosZ * sinX; + m[10] = cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateYX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + m[0 ] = cosY; + m[1 ] = sinX * sinY; + m[2 ] = -cosX * sinY; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = cosX; + m[6 ] = sinX; + m[7 ] = 0; + m[8 ] = sinY; + m[9 ] = -sinX * cosY; + m[10] = cosX * cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateYZ(T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + m[0 ] = cosZ * cosY; + m[1 ] = sinZ * cosY; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosZ; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = cosZ * sinY; + m[9 ] = sinZ * sinY; + m[10] = cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateYZ(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + m[0 ] = cosZ * cosY; + m[1 ] = sinZ * cosY; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosZ; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = cosZ * sinY; + m[9 ] = sinZ * sinY; + m[10] = cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateZX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + m[0 ] = cosZ; + m[1 ] = cosX * sinZ; + m[2 ] = sinX * sinZ; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosX * cosZ; + m[6 ] = sinX * cosZ; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = -sinX; + m[10] = cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateZY(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + m[0 ] = cosY * cosZ; + m[1 ] = sinZ; + m[2 ] = -sinY * cosZ; + m[3 ] = 0; + m[4 ] = -cosY * sinZ; + m[5 ] = cosZ; + m[6 ] = sinY * sinZ; + m[7 ] = 0; + m[8 ] = sinY; + m[9 ] = 0; + m[10] = cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXYZ(T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + m[0 ] = cosZ * cosY; + m[1 ] = sinZ * cosY; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = -sinZ * cosX + cosZ * sinY * sinX; + m[5 ] = cosZ * cosX + sinZ * sinY * sinX; + m[6 ] = cosY * sinX; + m[7 ] = 0; + m[8 ] = sinZ * sinX + cosZ * sinY * cosX; + m[9 ] = -cosZ * sinX + sinZ * sinY * cosX; + m[10] = cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXYZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + m[0 ] = cosZ * cosY; + m[1 ] = sinZ * cosY; + m[2 ] = -sinY; + m[3 ] = 0; + m[4 ] = -sinZ * cosX + cosZ * sinY * sinX; + m[5 ] = cosZ * cosX + sinZ * sinY * sinX; + m[6 ] = cosY * sinX; + m[7 ] = 0; + m[8 ] = sinZ * sinX + cosZ * sinY * cosX; + m[9 ] = -cosZ * sinX + sinZ * sinY * cosX; + m[10] = cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateXZY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + m[0 ] = cosY * cosZ; + m[1 ] = sinZ; + m[2 ] = -sinY * cosZ; + m[3 ] = 0; + m[4 ] = -cosY * sinZ * cosX + sinY * sinX; + m[5 ] = cosZ * cosX; + m[6 ] = sinY * sinZ * cosX + cosY * sinX; + m[7 ] = 0; + m[8 ] = cosY * sinZ * sinX + sinY * cosX; + m[9 ] = -cosZ * sinX; + m[10] = -sinY * sinZ * sinX + cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateYXZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + m[0 ] = cosZ * cosY - sinZ * sinX * sinY; + m[1 ] = sinZ * cosY + cosZ * sinX * sinY; + m[2 ] = -cosX * sinY; + m[3 ] = 0; + m[4 ] = -sinZ * cosX; + m[5 ] = cosZ * cosX; + m[6 ] = sinX; + m[7 ] = 0; + m[8 ] = cosZ * sinY + sinZ * sinX * cosY; + m[9 ] = sinZ * sinY - cosZ * sinX * cosY; + m[10] = cosX * cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateYZX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + m[0 ] = cosZ * cosY; + m[1 ] = cosX * sinZ * cosY + sinX * sinY; + m[2 ] = sinX * sinZ * cosY - cosX * sinY; + m[3 ] = 0; + m[4 ] = -sinZ; + m[5 ] = cosX * cosZ; + m[6 ] = sinX * cosZ; + m[7 ] = 0; + m[8 ] = cosZ * sinY; + m[9 ] = cosX * sinZ * sinY - sinX * cosY; + m[10] = sinX * sinZ * sinY + cosX * cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateZXY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + m[0 ] = cosY * cosZ + sinY * sinX * sinZ; + m[1 ] = cosX * sinZ; + m[2 ] = -sinY * cosZ + cosY * sinX * sinZ; + m[3 ] = 0; + m[4 ] = -cosY * sinZ + sinY * sinX * cosZ; + m[5 ] = cosX * cosZ; + m[6 ] = sinY * sinZ + cosY * sinX * cosZ; + m[7 ] = 0; + m[8 ] = sinY * cosX; + m[9 ] = -sinX; + m[10] = cosY * cosX; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setRotateZYX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + m[0 ] = cosY * cosZ; + m[1 ] = sinX * sinY * cosZ + cosX * sinZ; + m[2 ] = -cosX * sinY * cosZ + sinX * sinZ; + m[3 ] = 0; + m[4 ] = -cosY * sinZ; + m[5 ] = -sinX * sinY * sinZ + cosX * cosZ; + m[6 ] = cosX * sinY * sinZ + sinX * cosZ; + m[7 ] = 0; + m[8 ] = sinY; + m[9 ] = -sinX * cosY; + m[10] = cosX * cosY; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleX(T scaleX) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleY(T scaleY) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleZ(T scaleZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scaleZ; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXY(T scale) { + m[0 ] = scale; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXY(T scaleX, T scaleY) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXY(const GenoVector<2, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXZ(T scale) { + m[0 ] = scale; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXZ(T scaleX, T scaleZ) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scaleZ; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXZ(const GenoVector<2, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[1]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYX(const GenoVector<2, T> & scale) { + m[0 ] = scale.v[1]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[0]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = 1; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYZ(T scale) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYZ(T scaleY, T scaleZ) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scaleZ; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYZ(const GenoVector<2, T> & scale) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[0]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[1]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleZX(const GenoVector<2, T> & scale) { + m[0 ] = scale.v[1]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = 1; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[0]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleZY(const GenoVector<2, T> & scale) { + m[0 ] = 1; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[0]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXYZ(T scale) { + m[0 ] = scale; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXYZ(T scaleX, T scaleY, T scaleZ) { + m[0 ] = scaleX; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scaleY; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scaleZ; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXYZ(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[2]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleXZY(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[0]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[2]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[1]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYXZ(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[1]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[0]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[2]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleYZX(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[2]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[0]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[1]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleZXY(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[1]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[2]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[0]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & setScaleZYX(const GenoVector<3, T> & scale) { + m[0 ] = scale.v[2]; + m[1 ] = 0; + m[2 ] = 0; + m[3 ] = 0; + m[4 ] = 0; + m[5 ] = scale.v[1]; + m[6 ] = 0; + m[7 ] = 0; + m[8 ] = 0; + m[9 ] = 0; + m[10] = scale.v[0]; + m[11] = 0; + m[12] = 0; + m[13] = 0; + m[14] = 0; + m[15] = 1; + return *this; + } + + GenoMatrix<4, 4, T> & projectOrthographic(T left, T right, T bottom, T top, T near, T far) { + auto m0 = 2 / (right - left); + auto m5 = 2 / (top - bottom); + auto m10 = 2 / (far - near); + auto m12 = (left + right) / (left - right); + auto m13 = (bottom + top) / (bottom - top); + auto m14 = (near + far) / (near - far); + T newM[] = { + m[0] * m0, + m[1] * m0, + m[2] * m0, + m[3] * m0, + m[4] * m5, + m[5] * m5, + m[6] * m5, + m[7] * m5, + m[8] * m10, + m[9] * m10, + m[10] * m10, + m[11] * m10, + m[0] * m12 + m[4] * m13 + m[8] * m14 + m[12], + m[1] * m12 + m[5] * m13 + m[9] * m14 + m[13], + m[2] * m12 + m[6] * m13 + m[10] * m14 + m[14], + m[3] * m12 + m[7] * m13 + m[11] * m14 + m[15] + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + m[12] = newM[12]; m[13] = newM[13]; m[14] = newM[14]; m[15] = newM[15]; + return *this; + } + + GenoMatrix<4, 4, T> & projectPerspective(T fovY, T aspectRatio, T near, T far) { + auto vertical = 1 / tan(fovY / 2); + auto m0 = vertical / aspectRatio; + auto m10 = (near + far) / (near - far); + auto m14 = (2 * far * near) / (near - far); + T newM[] = { + m[0] * m0, + m[1] * m0, + m[2] * m0, + m[3] * m0, + m[4] * vertical, + m[5] * vertical, + m[6] * vertical, + m[7] * vertical, + m[8] * m10 - m[12], + m[9] * m10 - m[13], + m[10] * m10 - m[14], + m[11] * m10 - m[15], + m[8] * m14, + m[9] * m14, + m[10] * m14, + m[11] * m14 + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + m[12] = newM[12]; m[13] = newM[13]; m[14] = newM[14]; m[15] = newM[15]; + return *this; + } + + GenoMatrix<4, 4, T> & shear2D(T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = tan(shearAngle); + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + T newM[] = { + m[0] * m0 + m[4] * m1, + m[1] * m0 + m[5] * m1, + m[2] * m0 + m[6] * m1, + m[3] * m0 + m[7] * m1, + m[0] * m4 + m[4] * m5, + m[1] * m4 + m[5] * m5, + m[2] * m4 + m[6] * m5, + m[3] * m4 + m[7] * m5, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2D(const GenoVector<2, T> & axis, T shearAngle) { + auto unitAxis = normalize(axis); + auto tanShear = tan(shearAngle); + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + T newM[] = { + m[0] * m0 + m[4] * m1, + m[1] * m0 + m[5] * m1, + m[2] * m0 + m[6] * m1, + m[3] * m0 + m[7] * m1, + m[0] * m4 + m[4] * m5, + m[1] * m4 + m[5] * m5, + m[2] * m4 + m[6] * m5, + m[3] * m4 + m[7] * m5, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2D(T axisAngle,const GenoVector<2, T> & shear) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + T newM[] = { + m[0] * m0 + m[4] * m1, + m[1] * m0 + m[5] * m1, + m[2] * m0 + m[6] * m1, + m[3] * m0 + m[7] * m1, + m[0] * m4 + m[4] * m5, + m[1] * m4 + m[5] * m5, + m[2] * m4 + m[6] * m5, + m[3] * m4 + m[7] * m5, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2D(const GenoVector<2, T> & axis, const GenoVector<2, T> & shear) { + auto unitAxis = normalize(axis); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + T newM[] = { + m[0] * m0 + m[4] * m1, + m[1] * m0 + m[5] * m1, + m[2] * m0 + m[6] * m1, + m[3] * m0 + m[7] * m1, + m[0] * m4 + m[4] * m5, + m[1] * m4 + m[5] * m5, + m[2] * m4 + m[6] * m5, + m[3] * m4 + m[7] * m5, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2DX(T angle) { + auto m1 = -tan(angle); + T newM[] = { + m[0] + m[4] * m1, + m[1] + m[5] * m1, + m[2] + m[6] * m1, + m[3] + m[7] * m1, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2DX(const GenoVector<2, T> & shear) { + auto m1 = -shear.v[1] / shear.v[0]; + T newM[] = { + m[0] + m[4] * m1, + m[1] + m[5] * m1, + m[2] + m[6] * m1, + m[3] + m[7] * m1, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2DY(T angle) { + auto m4 = tan(angle); + T newM[] = { + m[0] * m4 + m[4], + m[1] * m4 + m[5], + m[2] * m4 + m[6], + m[3] * m4 + m[7], + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & shear2DY(const GenoVector<2, T> & shear) { + auto m4 = shear.v[1] / shear.v[0]; + T newM[] = { + m[0] * m4 + m[4], + m[1] * m4 + m[5], + m[2] * m4 + m[6], + m[3] * m4 + m[7], + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & translate2D(T translateX, T translateY) { + T newM[] = { + m[0] * translateX + m[4] * translateY + m[12], + m[1] * translateX + m[5] * translateY + m[13], + m[2] * translateX + m[6] * translateY + m[14], + m[3] * translateX + m[7] * translateY + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translate2D(const GenoVector<2, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[4] * translate.v[1] + m[12], + m[1] * translate.v[0] + m[5] * translate.v[1] + m[13], + m[2] * translate.v[0] + m[6] * translate.v[1] + m[14], + m[3] * translate.v[0] + m[7] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translate(T translateX, T translateY, T translateZ) { + T newM[] = { + m[0] * translateX + m[4] * translateY + m[8] * translateZ + m[12], + m[1] * translateX + m[5] * translateY + m[9] * translateZ + m[13], + m[2] * translateX + m[6] * translateY + m[10] * translateZ + m[14], + m[3] * translateX + m[7] * translateY + m[11] * translateZ + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translate(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[4] * translate.v[1] + m[8] * translate.v[2] + m[12], + m[1] * translate.v[0] + m[5] * translate.v[1] + m[9] * translate.v[2] + m[13], + m[2] * translate.v[0] + m[6] * translate.v[1] + m[10] * translate.v[2] + m[14], + m[3] * translate.v[0] + m[7] * translate.v[1] + m[11] * translate.v[2] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & rotate2D(T rotation) { + auto sinZ = sin(rotation); + auto cosZ = cos(rotation); + T newM[] = { + m[0] * cosZ + m[4] * sinZ, + m[1] * cosZ + m[5] * sinZ, + m[2] * cosZ + m[6] * sinZ, + m[3] * cosZ + m[7] * sinZ, + m[0] * -sinZ + m[4] * cosZ, + m[1] * -sinZ + m[5] * cosZ, + m[2] * -sinZ + m[6] * cosZ, + m[3] * -sinZ + m[7] * cosZ, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale2D(T scale) { + T newM[] = { + m[0] * scale, + m[1] * scale, + m[2] * scale, + m[3] * scale, + m[4] * scale, + m[5] * scale, + m[6] * scale, + m[7] * scale, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale2D(T scaleX, T scaleY) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale2D(const GenoVector<2, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale(T scale) { + T newM[] = { + m[0] * scale, + m[1] * scale, + m[2] * scale, + m[3] * scale, + m[4] * scale, + m[5] * scale, + m[6] * scale, + m[7] * scale, + m[8] * scale, + m[9] * scale, + m[10] * scale, + m[11] * scale, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale(T scaleX, T scaleY, T scaleZ) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + m[8] * scaleZ, + m[9] * scaleZ, + m[10] * scaleZ, + m[11] * scaleZ, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scale(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + m[8] * scale.v[2], + m[9] * scale.v[2], + m[10] * scale.v[2], + m[11] * scale.v[2], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & translateX(T translateX) { + T newM[] = { + m[0] * translateX + m[12], + m[1] * translateX + m[13], + m[2] * translateX + m[14], + m[3] * translateX + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateY(T translateY) { + T newM[] = { + m[4] * translateY + m[12], + m[5] * translateY + m[13], + m[6] * translateY + m[14], + m[7] * translateY + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateZ(T translateZ) { + T newM[] = { + m[8] * translateZ + m[12], + m[9] * translateZ + m[13], + m[10] * translateZ + m[14], + m[11] * translateZ + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXY(T translateX, T translateY) { + T newM[] = { + m[0] * translateX + m[4] * translateY + m[12], + m[1] * translateX + m[5] * translateY + m[13], + m[2] * translateX + m[6] * translateY + m[14], + m[3] * translateX + m[7] * translateY + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXY(const GenoVector<2, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[4] * translate.v[1] + m[12], + m[1] * translate.v[0] + m[5] * translate.v[1] + m[13], + m[2] * translate.v[0] + m[6] * translate.v[1] + m[14], + m[3] * translate.v[0] + m[7] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXZ(T translateX, T translateZ) { + T newM[] = { + m[0] * translateX + m[8] * translateZ + m[12], + m[1] * translateX + m[9] * translateZ + m[13], + m[2] * translateX + m[10] * translateZ + m[14], + m[3] * translateX + m[11] * translateZ + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXZ(const GenoVector<2, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[8] * translate.v[1] + m[12], + m[1] * translate.v[0] + m[9] * translate.v[1] + m[13], + m[2] * translate.v[0] + m[10] * translate.v[1] + m[14], + m[3] * translate.v[0] + m[11] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateYX(const GenoVector<2, T> & translate) { + T newM[] = { + m[0] * translate.v[1] + m[4] * translate.v[0] + m[12], + m[1] * translate.v[1] + m[5] * translate.v[0] + m[13], + m[2] * translate.v[1] + m[6] * translate.v[0] + m[14], + m[3] * translate.v[1] + m[7] * translate.v[0] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateYZ(T translateY, T translateZ) { + T newM[] = { + m[4] * translateY + m[8] * translateZ + m[12], + m[5] * translateY + m[9] * translateZ + m[13], + m[6] * translateY + m[10] * translateZ + m[14], + m[7] * translateY + m[11] * translateZ + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateYZ(const GenoVector<2, T> & translate) { + T newM[] = { + m[4] * translate.v[0] + m[8] * translate.v[1] + m[12], + m[5] * translate.v[0] + m[9] * translate.v[1] + m[13], + m[6] * translate.v[0] + m[10] * translate.v[1] + m[14], + m[7] * translate.v[0] + m[11] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateZX(const GenoVector<2, T> & translate) { + T newM[] = { + m[0] * translate.v[1] + m[8] * translate.v[0] + m[12], + m[1] * translate.v[1] + m[9] * translate.v[0] + m[13], + m[2] * translate.v[1] + m[10] * translate.v[0] + m[14], + m[3] * translate.v[1] + m[11] * translate.v[0] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateZY(const GenoVector<2, T> & translate) { + T newM[] = { + m[4] * translate.v[1] + m[8] * translate.v[0] + m[12], + m[5] * translate.v[1] + m[9] * translate.v[0] + m[13], + m[6] * translate.v[1] + m[10] * translate.v[0] + m[14], + m[7] * translate.v[1] + m[11] * translate.v[0] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXYZ(T translateX, T translateY, T translateZ) { + T newM[] = { + m[0] * translateX + m[4] * translateY + m[8] * translateZ + m[12], + m[1] * translateX + m[5] * translateY + m[9] * translateZ + m[13], + m[2] * translateX + m[6] * translateY + m[10] * translateZ + m[14], + m[3] * translateX + m[7] * translateY + m[11] * translateZ + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXYZ(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[4] * translate.v[1] + m[8] * translate.v[2] + m[12], + m[1] * translate.v[0] + m[5] * translate.v[1] + m[9] * translate.v[2] + m[13], + m[2] * translate.v[0] + m[6] * translate.v[1] + m[10] * translate.v[2] + m[14], + m[3] * translate.v[0] + m[7] * translate.v[1] + m[11] * translate.v[2] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateXZY(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[0] + m[4] * translate.v[2] + m[8] * translate.v[1] + m[12], + m[1] * translate.v[0] + m[5] * translate.v[2] + m[9] * translate.v[1] + m[13], + m[2] * translate.v[0] + m[6] * translate.v[2] + m[10] * translate.v[1] + m[14], + m[3] * translate.v[0] + m[7] * translate.v[2] + m[11] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateYXZ(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[1] + m[4] * translate.v[0] + m[8] * translate.v[2] + m[12], + m[1] * translate.v[1] + m[5] * translate.v[0] + m[9] * translate.v[2] + m[13], + m[2] * translate.v[1] + m[6] * translate.v[0] + m[10] * translate.v[2] + m[14], + m[3] * translate.v[1] + m[7] * translate.v[0] + m[11] * translate.v[2] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateYZX(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[2] + m[4] * translate.v[0] + m[8] * translate.v[1] + m[12], + m[1] * translate.v[2] + m[5] * translate.v[0] + m[9] * translate.v[1] + m[13], + m[2] * translate.v[2] + m[6] * translate.v[0] + m[10] * translate.v[1] + m[14], + m[3] * translate.v[2] + m[7] * translate.v[0] + m[11] * translate.v[1] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateZXY(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[1] + m[4] * translate.v[2] + m[8] * translate.v[0] + m[12], + m[1] * translate.v[1] + m[5] * translate.v[2] + m[9] * translate.v[0] + m[13], + m[2] * translate.v[1] + m[6] * translate.v[2] + m[10] * translate.v[0] + m[14], + m[3] * translate.v[1] + m[7] * translate.v[2] + m[11] * translate.v[0] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & translateZYX(const GenoVector<3, T> & translate) { + T newM[] = { + m[0] * translate.v[2] + m[4] * translate.v[1] + m[8] * translate.v[0] + m[12], + m[1] * translate.v[2] + m[5] * translate.v[1] + m[9] * translate.v[0] + m[13], + m[2] * translate.v[2] + m[6] * translate.v[1] + m[10] * translate.v[0] + m[14], + m[3] * translate.v[2] + m[7] * translate.v[1] + m[11] * translate.v[0] + m[15] + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + m[12] = newM[0 ]; m[13] = newM[1 ]; m[14] = newM[2 ]; m[15] = newM[3 ]; + return *this; + } + + GenoMatrix<4, 4, T> & rotateX(T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + T newM[] = { + m[4] * cosX + m[8] * sinX, + m[5] * cosX + m[9] * sinX, + m[6] * cosX + m[10] * sinX, + m[7] * cosX + m[11] * sinX, + m[4] * -sinX + m[8] * cosX, + m[5] * -sinX + m[9] * cosX, + m[6] * -sinX + m[10] * cosX, + m[7] * -sinX + m[11] * cosX, + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateY(T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + T newM[] = { + m[0] * cosY + m[8] * -sinY, + m[1] * cosY + m[9] * -sinY, + m[2] * cosY + m[10] * -sinY, + m[3] * cosY + m[11] * -sinY, + m[0] * sinY + m[8] * cosY, + m[1] * sinY + m[9] * cosY, + m[2] * sinY + m[10] * cosY, + m[3] * sinY + m[11] * cosY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateZ(T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + T newM[] = { + m[0] * cosZ + m[4] * sinZ, + m[1] * cosZ + m[5] * sinZ, + m[2] * cosZ + m[6] * sinZ, + m[3] * cosZ + m[7] * sinZ, + m[0] * -sinZ + m[4] * cosZ, + m[1] * -sinZ + m[5] * cosZ, + m[2] * -sinZ + m[6] * cosZ, + m[3] * -sinZ + m[7] * cosZ, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXY(T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + T newM[] = { + m[0] * cosY + m[8] * -sinY, + m[1] * cosY + m[9] * -sinY, + m[2] * cosY + m[10] * -sinY, + m[3] * cosY + m[11] * -sinY, + m[0] * m4 + m[4] * cosX + m[8] * m6, + m[1] * m4 + m[5] * cosX + m[9] * m6, + m[2] * m4 + m[6] * cosX + m[10] * m6, + m[3] * m4 + m[7] * cosX + m[11] * m6, + m[0] * m8 + m[4] * -sinX + m[8] * m10, + m[1] * m8 + m[5] * -sinX + m[9] * m10, + m[2] * m8 + m[6] * -sinX + m[10] * m10, + m[3] * m8 + m[7] * -sinX + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXY(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + T newM[] = { + m[0] * cosY + m[8] * -sinY, + m[1] * cosY + m[9] * -sinY, + m[2] * cosY + m[10] * -sinY, + m[3] * cosY + m[11] * -sinY, + m[0] * m4 + m[4] * cosX + m[8] * m6, + m[1] * m4 + m[5] * cosX + m[9] * m6, + m[2] * m4 + m[6] * cosX + m[10] * m6, + m[3] * m4 + m[7] * cosX + m[11] * m6, + m[0] * m8 + m[4] * -sinX + m[8] * m10, + m[1] * m8 + m[5] * -sinX + m[9] * m10, + m[2] * m8 + m[6] * -sinX + m[10] * m10, + m[3] * m8 + m[7] * -sinX + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXZ(T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + T newM[] = { + m[0] * cosZ + m[4] * sinZ, + m[1] * cosZ + m[5] * sinZ, + m[2] * cosZ + m[6] * sinZ, + m[3] * cosZ + m[7] * sinZ, + m[0] * m4 + m[4] * m5 + m[8] * sinX, + m[1] * m4 + m[5] * m5 + m[9] * sinX, + m[2] * m4 + m[6] * m5 + m[10] * sinX, + m[3] * m4 + m[7] * m5 + m[11] * sinX, + m[0] * m8 + m[4] * m9 + m[8] * cosX, + m[1] * m8 + m[5] * m9 + m[9] * cosX, + m[2] * m8 + m[6] * m9 + m[10] * cosX, + m[3] * m8 + m[7] * m9 + m[11] * cosX, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXZ(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + T newM[] = { + m[0] * cosZ + m[4] * sinZ, + m[1] * cosZ + m[5] * sinZ, + m[2] * cosZ + m[6] * sinZ, + m[3] * cosZ + m[7] * sinZ, + m[0] * m4 + m[4] * m5 + m[8] * sinX, + m[1] * m4 + m[5] * m5 + m[9] * sinX, + m[2] * m4 + m[6] * m5 + m[10] * sinX, + m[3] * m4 + m[7] * m5 + m[11] * sinX, + m[0] * m8 + m[4] * m9 + m[8] * cosX, + m[1] * m8 + m[5] * m9 + m[9] * cosX, + m[2] * m8 + m[6] * m9 + m[10] * cosX, + m[3] * m8 + m[7] * m9 + m[11] * cosX, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateYX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto m1 = sinX * sinY; + auto m2 = -cosX * sinY; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + T newM[] = { + m[0] * cosY + m[4] * m1 + m[8] * m2, + m[1] * cosY + m[5] * m1 + m[9] * m2, + m[2] * cosY + m[6] * m1 + m[10] * m2, + m[3] * cosY + m[7] * m1 + m[11] * m2, + m[4] * cosX + m[8] * sinX, + m[5] * cosX + m[9] * sinX, + m[6] * cosX + m[10] * sinX, + m[7] * cosX + m[11] * sinX, + m[0] * sinY + m[4] * m9 + m[8] * m10, + m[1] * sinY + m[5] * m9 + m[9] * m10, + m[2] * sinY + m[6] * m9 + m[10] * m10, + m[3] * sinY + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateYZ(T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * -sinY, + m[1] * m0 + m[5] * m1 + m[9] * -sinY, + m[2] * m0 + m[6] * m1 + m[10] * -sinY, + m[3] * m0 + m[7] * m1 + m[11] * -sinY, + m[0] * -sinZ + m[4] * cosZ, + m[1] * -sinZ + m[5] * cosZ, + m[2] * -sinZ + m[6] * cosZ, + m[3] * -sinZ + m[7] * cosZ, + m[0] * m8 + m[4] * m9 + m[8] * cosY, + m[1] * m8 + m[5] * m9 + m[9] * cosY, + m[2] * m8 + m[6] * m9 + m[10] * cosY, + m[3] * m8 + m[7] * m9 + m[11] * cosY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateYZ(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * -sinY, + m[1] * m0 + m[5] * m1 + m[9] * -sinY, + m[2] * m0 + m[6] * m1 + m[10] * -sinY, + m[3] * m0 + m[7] * m1 + m[11] * -sinY, + m[0] * -sinZ + m[4] * cosZ, + m[1] * -sinZ + m[5] * cosZ, + m[2] * -sinZ + m[6] * cosZ, + m[3] * -sinZ + m[7] * cosZ, + m[0] * m8 + m[4] * m9 + m[8] * cosY, + m[1] * m8 + m[5] * m9 + m[9] * cosY, + m[2] * m8 + m[6] * m9 + m[10] * cosY, + m[3] * m8 + m[7] * m9 + m[11] * cosY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateZX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m1 = cosX * sinZ; + auto m2 = sinX * sinZ; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + T newM[] = { + m[0] * cosZ + m[4] * m1 + m[8] * m2, + m[1] * cosZ + m[5] * m1 + m[9] * m2, + m[2] * cosZ + m[6] * m1 + m[10] * m2, + m[3] * cosZ + m[7] * m1 + m[11] * m2, + m[0] * -sinZ + m[4] * m5 + m[8] * m6, + m[1] * -sinZ + m[5] * m5 + m[9] * m6, + m[2] * -sinZ + m[6] * m5 + m[10] * m6, + m[3] * -sinZ + m[7] * m5 + m[11] * m6, + m[4] * -sinX + m[8] * cosX, + m[5] * -sinX + m[9] * cosX, + m[6] * -sinX + m[10] * cosX, + m[7] * -sinX + m[11] * cosX, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateZY(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ; + auto m6 = sinY * sinZ; + T newM[] = { + m[0] * m0 + m[4] * sinZ + m[8] * m2, + m[1] * m0 + m[5] * sinZ + m[9] * m2, + m[2] * m0 + m[6] * sinZ + m[10] * m2, + m[3] * m0 + m[7] * sinZ + m[11] * m2, + m[0] * m4 + m[4] * cosZ + m[8] * m6, + m[1] * m4 + m[5] * cosZ + m[9] * m6, + m[2] * m4 + m[6] * cosZ + m[10] * m6, + m[3] * m4 + m[7] * cosZ + m[11] * m6, + m[0] * sinY + m[8] * cosY, + m[1] * sinY + m[9] * cosY, + m[2] * sinY + m[10] * cosY, + m[3] * sinY + m[11] * cosY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXYZ(T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * -sinY, + m[1] * m0 + m[5] * m1 + m[9] * -sinY, + m[2] * m0 + m[6] * m1 + m[10] * -sinY, + m[3] * m0 + m[7] * m1 + m[11] * -sinY, + m[0] * m4 + m[4] * m5 + m[8] * m6, + m[1] * m4 + m[5] * m5 + m[9] * m6, + m[2] * m4 + m[6] * m5 + m[10] * m6, + m[3] * m4 + m[7] * m5 + m[11] * m6, + m[0] * m8 + m[4] * m9 + m[8] * m10, + m[1] * m8 + m[5] * m9 + m[9] * m10, + m[2] * m8 + m[6] * m9 + m[10] * m10, + m[3] * m8 + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXYZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * -sinY, + m[1] * m0 + m[5] * m1 + m[9] * -sinY, + m[2] * m0 + m[6] * m1 + m[10] * -sinY, + m[3] * m0 + m[7] * m1 + m[11] * -sinY, + m[0] * m4 + m[4] * m5 + m[8] * m6, + m[1] * m4 + m[5] * m5 + m[9] * m6, + m[2] * m4 + m[6] * m5 + m[10] * m6, + m[3] * m4 + m[7] * m5 + m[11] * m6, + m[0] * m8 + m[4] * m9 + m[8] * m10, + m[1] * m8 + m[5] * m9 + m[9] * m10, + m[2] * m8 + m[6] * m9 + m[10] * m10, + m[3] * m8 + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateXZY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ * cosX + sinY * sinX; + auto m5 = cosZ * cosX; + auto m6 = sinY * sinZ * cosX + cosY * sinX; + auto m8 = cosY * sinZ * sinX + sinY * cosX; + auto m9 = -cosZ * sinX; + auto m10 = -sinY * sinZ * sinX + cosY * cosX; + T newM[] = { + m[0] * m0 + m[4] * sinZ + m[8] * m2, + m[1] * m0 + m[5] * sinZ + m[9] * m2, + m[2] * m0 + m[6] * sinZ + m[10] * m2, + m[3] * m0 + m[7] * sinZ + m[11] * m2, + m[0] * m4 + m[4] * m5 + m[8] * m6, + m[1] * m4 + m[5] * m5 + m[9] * m6, + m[2] * m4 + m[6] * m5 + m[10] * m6, + m[3] * m4 + m[7] * m5 + m[11] * m6, + m[0] * m8 + m[4] * m9 + m[8] * m10, + m[1] * m8 + m[5] * m9 + m[9] * m10, + m[2] * m8 + m[6] * m9 + m[10] * m10, + m[3] * m8 + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateYXZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY - sinZ * sinX * sinY; + auto m1 = sinZ * cosY + cosZ * sinX * sinY; + auto m2 = -cosX * sinY; + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = cosZ * sinY + sinZ * sinX * cosY; + auto m9 = sinZ * sinY - cosZ * sinX * cosY; + auto m10 = cosX * cosY; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * m2, + m[1] * m0 + m[5] * m1 + m[9] * m2, + m[2] * m0 + m[6] * m1 + m[10] * m2, + m[3] * m0 + m[7] * m1 + m[11] * m2, + m[0] * m4 + m[4] * m5 + m[8] * sinX, + m[1] * m4 + m[5] * m5 + m[9] * sinX, + m[2] * m4 + m[6] * m5 + m[10] * sinX, + m[3] * m4 + m[7] * m5 + m[11] * sinX, + m[0] * m8 + m[4] * m9 + m[8] * m10, + m[1] * m8 + m[5] * m9 + m[9] * m10, + m[2] * m8 + m[6] * m9 + m[10] * m10, + m[3] * m8 + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateYZX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = cosX * sinZ * cosY + sinX * sinY; + auto m2 = sinX * sinZ * cosY - cosX * sinY; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + auto m8 = cosZ * sinY; + auto m9 = cosX * sinZ * sinY - sinX * cosY; + auto m10 = sinX * sinZ * sinY + cosX * cosY; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * m2, + m[1] * m0 + m[5] * m1 + m[9] * m2, + m[2] * m0 + m[6] * m1 + m[10] * m2, + m[3] * m0 + m[7] * m1 + m[11] * m2, + m[0] * -sinZ + m[4] * m5 + m[8] * m6, + m[1] * -sinZ + m[5] * m5 + m[9] * m6, + m[2] * -sinZ + m[6] * m5 + m[10] * m6, + m[3] * -sinZ + m[7] * m5 + m[11] * m6, + m[0] * m8 + m[4] * m9 + m[8] * m10, + m[1] * m8 + m[5] * m9 + m[9] * m10, + m[2] * m8 + m[6] * m9 + m[10] * m10, + m[3] * m8 + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateZXY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ + sinY * sinX * sinZ; + auto m1 = cosX * sinZ; + auto m2 = -sinY * cosZ + cosY * sinX * sinZ; + auto m4 = -cosY * sinZ + sinY * sinX * cosZ; + auto m5 = cosX * cosZ; + auto m6 = sinY * sinZ + cosY * sinX * cosZ; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * m2, + m[1] * m0 + m[5] * m1 + m[9] * m2, + m[2] * m0 + m[6] * m1 + m[10] * m2, + m[3] * m0 + m[7] * m1 + m[11] * m2, + m[0] * m4 + m[4] * m5 + m[8] * m6, + m[1] * m4 + m[5] * m5 + m[9] * m6, + m[2] * m4 + m[6] * m5 + m[10] * m6, + m[3] * m4 + m[7] * m5 + m[11] * m6, + m[0] * m8 + m[4] * -sinX + m[8] * m10, + m[1] * m8 + m[5] * -sinX + m[9] * m10, + m[2] * m8 + m[6] * -sinX + m[10] * m10, + m[3] * m8 + m[7] * -sinX + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & rotateZYX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m1 = sinX * sinY * cosZ + cosX * sinZ; + auto m2 = -cosX * sinY * cosZ + sinX * sinZ; + auto m4 = -cosY * sinZ; + auto m5 = -sinX * sinY * sinZ + cosX * cosZ; + auto m6 = cosX * sinY * sinZ + sinX * cosZ; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + T newM[] = { + m[0] * m0 + m[4] * m1 + m[8] * m2, + m[1] * m0 + m[5] * m1 + m[9] * m2, + m[2] * m0 + m[6] * m1 + m[10] * m2, + m[3] * m0 + m[7] * m1 + m[11] * m2, + m[0] * m4 + m[4] * m5 + m[8] * m6, + m[1] * m4 + m[5] * m5 + m[9] * m6, + m[2] * m4 + m[6] * m5 + m[10] * m6, + m[3] * m4 + m[7] * m5 + m[11] * m6, + m[0] * sinY + m[4] * m9 + m[8] * m10, + m[1] * sinY + m[5] * m9 + m[9] * m10, + m[2] * sinY + m[6] * m9 + m[10] * m10, + m[3] * sinY + m[7] * m9 + m[11] * m10, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleX(T scaleX) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleY(T scaleY) { + T newM[] = { + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleZ(T scaleZ) { + T newM[] = { + m[8] * scaleZ, + m[9] * scaleZ, + m[10] * scaleZ, + m[11] * scaleZ, + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[0 ]; m[9 ] = newM[1 ]; m[10] = newM[2 ]; m[11] = newM[3 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXY(T scale) { + T newM[] = { + m[0] * scale, + m[1] * scale, + m[2] * scale, + m[3] * scale, + m[4] * scale, + m[5] * scale, + m[6] * scale, + m[7] * scale, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXY(T scaleX, T scaleY) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXY(const GenoVector<2, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXZ(T scale) { + T newM[] = { + m[0] * scale, + m[1] * scale, + m[2] * scale, + m[3] * scale, + m[8] * scale, + m[9] * scale, + m[10] * scale, + m[11] * scale, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXZ(T scaleX, T scaleZ) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + m[8] * scaleZ, + m[9] * scaleZ, + m[10] * scaleZ, + m[11] * scaleZ, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXZ(const GenoVector<2, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[8] * scale.v[1], + m[9] * scale.v[1], + m[10] * scale.v[1], + m[11] * scale.v[1], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYX(const GenoVector<2, T> & scale) { + T newM[] = { + m[0] * scale.v[1], + m[1] * scale.v[1], + m[2] * scale.v[1], + m[3] * scale.v[1], + m[4] * scale.v[0], + m[5] * scale.v[0], + m[6] * scale.v[0], + m[7] * scale.v[0], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + /**** m[8 ] ****/ /**** m[9 ] ****/ /**** m[10] ****/ /**** m[11] ****/ + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYZ(T scale) { + T newM[] = { + m[4] * scale, + m[5] * scale, + m[6] * scale, + m[7] * scale, + m[8] * scale, + m[9] * scale, + m[10] * scale, + m[11] * scale, + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYZ(T scaleY, T scaleZ) { + T newM[] = { + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + m[8] * scaleZ, + m[9] * scaleZ, + m[10] * scaleZ, + m[11] * scaleZ, + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYZ(const GenoVector<2, T> & scale) { + T newM[] = { + m[4] * scale.v[0], + m[5] * scale.v[0], + m[6] * scale.v[0], + m[7] * scale.v[0], + m[8] * scale.v[1], + m[9] * scale.v[1], + m[10] * scale.v[1], + m[11] * scale.v[1], + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleZX(const GenoVector<2, T> & scale) { + T newM[] = { + m[0] * scale.v[1], + m[1] * scale.v[1], + m[2] * scale.v[1], + m[3] * scale.v[1], + m[8] * scale.v[0], + m[9] * scale.v[0], + m[10] * scale.v[0], + m[11] * scale.v[0], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + /**** m[4 ] ****/ /**** m[5 ] ****/ /**** m[6 ] ****/ /**** m[7 ] ****/ + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleZY(const GenoVector<2, T> & scale) { + T newM[] = { + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + m[8] * scale.v[0], + m[9] * scale.v[0], + m[10] * scale.v[0], + m[11] * scale.v[0], + }; + /**** m[0 ] ****/ /**** m[1 ] ****/ /**** m[2 ] ****/ /**** m[3 ] ****/ + m[4 ] = newM[0 ]; m[5 ] = newM[1 ]; m[6 ] = newM[2 ]; m[7 ] = newM[3 ]; + m[8 ] = newM[4 ]; m[9 ] = newM[5 ]; m[10] = newM[6 ]; m[11] = newM[7 ]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXYZ(T scale) { + T newM[] = { + m[0] * scale, + m[1] * scale, + m[2] * scale, + m[3] * scale, + m[4] * scale, + m[5] * scale, + m[6] * scale, + m[7] * scale, + m[8] * scale, + m[9] * scale, + m[10] * scale, + m[11] * scale, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXYZ(T scaleX, T scaleY, T scaleZ) { + T newM[] = { + m[0] * scaleX, + m[1] * scaleX, + m[2] * scaleX, + m[3] * scaleX, + m[4] * scaleY, + m[5] * scaleY, + m[6] * scaleY, + m[7] * scaleY, + m[8] * scaleZ, + m[9] * scaleZ, + m[10] * scaleZ, + m[11] * scaleZ, + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXYZ(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + m[8] * scale.v[2], + m[9] * scale.v[2], + m[10] * scale.v[2], + m[11] * scale.v[2], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleXZY(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[0], + m[1] * scale.v[0], + m[2] * scale.v[0], + m[3] * scale.v[0], + m[4] * scale.v[2], + m[5] * scale.v[2], + m[6] * scale.v[2], + m[7] * scale.v[2], + m[8] * scale.v[1], + m[9] * scale.v[1], + m[10] * scale.v[1], + m[11] * scale.v[1], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYXZ(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[1], + m[1] * scale.v[1], + m[2] * scale.v[1], + m[3] * scale.v[1], + m[4] * scale.v[0], + m[5] * scale.v[0], + m[6] * scale.v[0], + m[7] * scale.v[0], + m[8] * scale.v[2], + m[9] * scale.v[2], + m[10] * scale.v[2], + m[11] * scale.v[2], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleYZX(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[2], + m[1] * scale.v[2], + m[2] * scale.v[2], + m[3] * scale.v[2], + m[4] * scale.v[0], + m[5] * scale.v[0], + m[6] * scale.v[0], + m[7] * scale.v[0], + m[8] * scale.v[1], + m[9] * scale.v[1], + m[10] * scale.v[1], + m[11] * scale.v[1], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleZXY(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[1], + m[1] * scale.v[1], + m[2] * scale.v[1], + m[3] * scale.v[1], + m[4] * scale.v[2], + m[5] * scale.v[2], + m[6] * scale.v[2], + m[7] * scale.v[2], + m[8] * scale.v[0], + m[9] * scale.v[0], + m[10] * scale.v[0], + m[11] * scale.v[0], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + GenoMatrix<4, 4, T> & scaleZYX(const GenoVector<3, T> & scale) { + T newM[] = { + m[0] * scale.v[2], + m[1] * scale.v[2], + m[2] * scale.v[2], + m[3] * scale.v[2], + m[4] * scale.v[1], + m[5] * scale.v[1], + m[6] * scale.v[1], + m[7] * scale.v[1], + m[8] * scale.v[0], + m[9] * scale.v[0], + m[10] * scale.v[0], + m[11] * scale.v[0], + }; + m[0 ] = newM[0 ]; m[1 ] = newM[1 ]; m[2 ] = newM[2 ]; m[3 ] = newM[3 ]; + m[4 ] = newM[4 ]; m[5 ] = newM[5 ]; m[6 ] = newM[6 ]; m[7 ] = newM[7 ]; + m[8 ] = newM[8 ]; m[9 ] = newM[9 ]; m[10] = newM[10]; m[11] = newM[11]; + /**** m[12] ****/ /**** m[13] ****/ /**** m[14] ****/ /**** m[15] ****/ + return *this; + } + + ~GenoMatrix() { + clean(); + } +}; + +template +GenoMatrix<4, 4, T> operator+(const GenoMatrix<4, 4, T> & left, const GenoMatrix<4, 4, T> & right) { + return new T[4 * 4] { + left.m[0 ] + right.m[0 ], left.m[1 ] + right.m[1 ], left.m[2 ] + right.m[2 ], left.m[3 ] + right.m[3 ], + left.m[4 ] + right.m[4 ], left.m[5 ] + right.m[5 ], left.m[6 ] + right.m[6 ], left.m[7 ] + right.m[7 ], + left.m[8 ] + right.m[8 ], left.m[9 ] + right.m[9 ], left.m[10] + right.m[10], left.m[11] + right.m[11], + left.m[12] + right.m[12], left.m[13] + right.m[13], left.m[14] + right.m[14], left.m[15] + right.m[15] + }; +} + +template +GenoMatrix<4, 4, T> operator-(const GenoMatrix<4, 4, T> & left, const GenoMatrix<4, 4, T> & right) { + return new T[4 * 4] { + left.m[0 ] - right.m[0 ], left.m[1 ] - right.m[1 ], left.m[2 ] - right.m[2 ], left.m[3 ] - right.m[3 ], + left.m[4 ] - right.m[4 ], left.m[5 ] - right.m[5 ], left.m[6 ] - right.m[6 ], left.m[7 ] - right.m[7 ], + left.m[8 ] - right.m[8 ], left.m[9 ] - right.m[9 ], left.m[10] - right.m[10], left.m[11] - right.m[11], + left.m[12] - right.m[12], left.m[13] - right.m[13], left.m[14] - right.m[14], left.m[15] - right.m[15] + }; +} + +template +GenoMatrix<4, 4, T> operator*(const GenoMatrix<4, 4, T> & left, const GenoMatrix<4, 4, T> & right) { + return new T[4 * 4] { + left.m[0] * right.m[0 ] + left.m[4] * right.m[1 ] + left.m[8 ] * right.m[2 ] + left.m[12] * right.m[3 ], + left.m[1] * right.m[0 ] + left.m[5] * right.m[1 ] + left.m[9 ] * right.m[2 ] + left.m[13] * right.m[3 ], + left.m[2] * right.m[0 ] + left.m[6] * right.m[1 ] + left.m[10] * right.m[2 ] + left.m[14] * right.m[3 ], + left.m[3] * right.m[0 ] + left.m[7] * right.m[1 ] + left.m[11] * right.m[2 ] + left.m[15] * right.m[3 ], + left.m[0] * right.m[4 ] + left.m[4] * right.m[5 ] + left.m[8 ] * right.m[6 ] + left.m[12] * right.m[7 ], + left.m[1] * right.m[4 ] + left.m[5] * right.m[5 ] + left.m[9 ] * right.m[6 ] + left.m[13] * right.m[7 ], + left.m[2] * right.m[4 ] + left.m[6] * right.m[5 ] + left.m[10] * right.m[6 ] + left.m[14] * right.m[7 ], + left.m[3] * right.m[4 ] + left.m[7] * right.m[5 ] + left.m[11] * right.m[6 ] + left.m[15] * right.m[7 ], + left.m[0] * right.m[8 ] + left.m[4] * right.m[9 ] + left.m[8 ] * right.m[10] + left.m[12] * right.m[11], + left.m[1] * right.m[8 ] + left.m[5] * right.m[9 ] + left.m[9 ] * right.m[10] + left.m[13] * right.m[11], + left.m[2] * right.m[8 ] + left.m[6] * right.m[9 ] + left.m[10] * right.m[10] + left.m[14] * right.m[11], + left.m[3] * right.m[8 ] + left.m[7] * right.m[9 ] + left.m[11] * right.m[10] + left.m[15] * right.m[11], + left.m[0] * right.m[12] + left.m[4] * right.m[13] + left.m[8 ] * right.m[14] + left.m[12] * right.m[15], + left.m[1] * right.m[12] + left.m[5] * right.m[13] + left.m[9 ] * right.m[14] + left.m[13] * right.m[15], + left.m[2] * right.m[12] + left.m[6] * right.m[13] + left.m[10] * right.m[14] + left.m[14] * right.m[15], + left.m[3] * right.m[12] + left.m[7] * right.m[13] + left.m[11] * right.m[14] + left.m[15] * right.m[15] + }; +} + +template +GenoMatrix<4, 4, T> projectOrthographic(const GenoMatrix<4, 4, T> & matrix, T left, T right, T bottom, T top, T near, T far) { + auto m0 = 2 / (right - left); + auto m5 = 2 / (top - bottom); + auto m10 = 2 / (far - near); + auto m12 = (left + right) / (left - right); + auto m13 = (bottom + top) / (bottom - top); + auto m14 = (near + far) / (near - far); + return new T[4 * 4] { + matrix.m[0 ] * m0, + matrix.m[1 ] * m0, + matrix.m[2 ] * m0, + matrix.m[3 ] * m0, + matrix.m[4 ] * m5, + matrix.m[5 ] * m5, + matrix.m[6 ] * m5, + matrix.m[7 ] * m5, + matrix.m[8 ] * m10, + matrix.m[9 ] * m10, + matrix.m[10] * m10, + matrix.m[11] * m10, + matrix.m[0 ] * m12 + matrix.m[4] * m13 + matrix.m[8 ] * m14 + matrix.m[12], + matrix.m[1 ] * m12 + matrix.m[5] * m13 + matrix.m[9 ] * m14 + matrix.m[13], + matrix.m[2 ] * m12 + matrix.m[6] * m13 + matrix.m[10] * m14 + matrix.m[14], + matrix.m[3 ] * m12 + matrix.m[7] * m13 + matrix.m[11] * m14 + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & projectOrthographic(const GenoMatrix<4, 4, T> & matrix, T left, T right, T bottom, T top, T near, T far, GenoMatrix<4, 4, T> & target) { + auto m0 = 2 / (right - left); + auto m5 = 2 / (top - bottom); + auto m10 = 2 / (far - near); + auto m12 = (left + right) / (left - right); + auto m13 = (bottom + top) / (bottom - top); + auto m14 = (near + far) / (near - far); + target.m[0 ] = matrix.m[0 ] * m0; + target.m[1 ] = matrix.m[1 ] * m0; + target.m[2 ] = matrix.m[2 ] * m0; + target.m[3 ] = matrix.m[3 ] * m0; + target.m[4 ] = matrix.m[4 ] * m5; + target.m[5 ] = matrix.m[5 ] * m5; + target.m[6 ] = matrix.m[6 ] * m5; + target.m[7 ] = matrix.m[7 ] * m5; + target.m[8 ] = matrix.m[8 ] * m10; + target.m[9 ] = matrix.m[9 ] * m10; + target.m[10] = matrix.m[10] * m10; + target.m[11] = matrix.m[11] * m10; + target.m[12] = matrix.m[0 ] * m12 + matrix.m[4] * m13 + matrix.m[8 ] * m14 + matrix.m[12]; + target.m[13] = matrix.m[1 ] * m12 + matrix.m[5] * m13 + matrix.m[9 ] * m14 + matrix.m[13]; + target.m[14] = matrix.m[2 ] * m12 + matrix.m[6] * m13 + matrix.m[10] * m14 + matrix.m[14]; + target.m[15] = matrix.m[3 ] * m12 + matrix.m[7] * m13 + matrix.m[11] * m14 + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> projectPerspective(const GenoMatrix<4, 4, T> & matrix, T fovY, T aspectRatio, T near, T far) { + auto vertical = 1 / tan(fovY / 2); + auto m0 = vertical / aspectRatio; + auto m10 = (near + far) / (near - far); + auto m14 = (2 * far * near) / (near - far); + return new T[4 * 4] { + matrix.m[0 ] * m0, + matrix.m[1 ] * m0, + matrix.m[2 ] * m0, + matrix.m[3 ] * m0, + matrix.m[4 ] * vertical, + matrix.m[5 ] * vertical, + matrix.m[6 ] * vertical, + matrix.m[7 ] * vertical, + matrix.m[8 ] * m10 - matrix.m[12], + matrix.m[9 ] * m10 - matrix.m[13], + matrix.m[10] * m10 - matrix.m[14], + matrix.m[11] * m10 - matrix.m[15], + matrix.m[8 ] * m14, + matrix.m[9 ] * m14, + matrix.m[10] * m14, + matrix.m[11] * m14 + }; +} + +template +GenoMatrix<4, 4, T> & projectPerspective(const GenoMatrix<4, 4, T> & matrix, T fovY, T aspectRatio, T near, T far, GenoMatrix<4, 4, T> & target) { + auto vertical = 1 / tan(fovY / 2); + auto m0 = vertical / aspectRatio; + auto m10 = (near + far) / (near - far); + auto m14 = (2 * far * near) / (near - far); + target.m[0 ] = matrix.m[0 ] * m0; + target.m[1 ] = matrix.m[1 ] * m0; + target.m[2 ] = matrix.m[2 ] * m0; + target.m[3 ] = matrix.m[3 ] * m0; + target.m[4 ] = matrix.m[4 ] * vertical; + target.m[5 ] = matrix.m[5 ] * vertical; + target.m[6 ] = matrix.m[6 ] * vertical; + target.m[7 ] = matrix.m[7 ] * vertical; + target.m[8 ] = matrix.m[8 ] * m10 - matrix.m[12]; + target.m[9 ] = matrix.m[9 ] * m10 - matrix.m[13]; + target.m[10] = matrix.m[10] * m10 - matrix.m[14]; + target.m[11] = matrix.m[11] * m10 - matrix.m[15]; + target.m[12] = matrix.m[8 ] * m14; + target.m[13] = matrix.m[9 ] * m14; + target.m[14] = matrix.m[10] * m14; + target.m[15] = matrix.m[11] * m14; + return target; +} + +template +GenoMatrix<4, 4, T> shear2D(const GenoMatrix<4, 4, T> & matrix, T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = tan(shearAngle); + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1, + matrix.m[1] * m0 + matrix.m[5] * m1, + matrix.m[2] * m0 + matrix.m[6] * m1, + matrix.m[3] * m0 + matrix.m[7] * m1, + matrix.m[0] * m4 + matrix.m[4] * m5, + matrix.m[1] * m4 + matrix.m[5] * m5, + matrix.m[2] * m4 + matrix.m[6] * m5, + matrix.m[3] * m4 + matrix.m[7] * m5, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & axis, T shearAngle) { + auto unitAxis = normalize(axis); + auto tanShear = tan(shearAngle); + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1, + matrix.m[1] * m0 + matrix.m[5] * m1, + matrix.m[2] * m0 + matrix.m[6] * m1, + matrix.m[3] * m0 + matrix.m[7] * m1, + matrix.m[0] * m4 + matrix.m[4] * m5, + matrix.m[1] * m4 + matrix.m[5] * m5, + matrix.m[2] * m4 + matrix.m[6] * m5, + matrix.m[3] * m4 + matrix.m[7] * m5, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2D(const GenoMatrix<4, 4, T> & matrix, T axisAngle,const GenoVector<2, T> & shear) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1, + matrix.m[1] * m0 + matrix.m[5] * m1, + matrix.m[2] * m0 + matrix.m[6] * m1, + matrix.m[3] * m0 + matrix.m[7] * m1, + matrix.m[0] * m4 + matrix.m[4] * m5, + matrix.m[1] * m4 + matrix.m[5] * m5, + matrix.m[2] * m4 + matrix.m[6] * m5, + matrix.m[3] * m4 + matrix.m[7] * m5, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & axis, const GenoVector<2, T> & shear) { + auto unitAxis = normalize(axis); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1, + matrix.m[1] * m0 + matrix.m[5] * m1, + matrix.m[2] * m0 + matrix.m[6] * m1, + matrix.m[3] * m0 + matrix.m[7] * m1, + matrix.m[0] * m4 + matrix.m[4] * m5, + matrix.m[1] * m4 + matrix.m[5] * m5, + matrix.m[2] * m4 + matrix.m[6] * m5, + matrix.m[3] * m4 + matrix.m[7] * m5, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2DX(const GenoMatrix<4, 4, T> & matrix, T angle) { + auto m1 = -tan(angle); + return new T[4 * 4] { + matrix.m[0] + matrix.m[4] * m1, + matrix.m[1] + matrix.m[5] * m1, + matrix.m[2] + matrix.m[6] * m1, + matrix.m[3] + matrix.m[7] * m1, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2DX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & shear) { + auto m1 = -shear.v[1] / shear.v[0]; + return new T[4 * 4] { + matrix.m[0] + matrix.m[4] * m1, + matrix.m[1] + matrix.m[5] * m1, + matrix.m[2] + matrix.m[6] * m1, + matrix.m[3] + matrix.m[7] * m1, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2DY(const GenoMatrix<4, 4, T> & matrix, T angle) { + auto m4 = tan(angle); + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[0] * m4 + matrix.m[4], + matrix.m[1] * m4 + matrix.m[5], + matrix.m[2] * m4 + matrix.m[6], + matrix.m[3] * m4 + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> shear2DY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & shear) { + auto m4 = shear.v[1] / shear.v[0]; + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[0] * m4 + matrix.m[4], + matrix.m[1] * m4 + matrix.m[5], + matrix.m[2] * m4 + matrix.m[6], + matrix.m[3] * m4 + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & shear2D(const GenoMatrix<4, 4, T> & matrix, T axisAngle, T shearAngle, GenoMatrix<4, 4, T> & target) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = tan(shearAngle); + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & axis, T shearAngle, GenoMatrix<4, 4, T> & target) { + auto unitAxis = normalize(axis); + auto tanShear = tan(shearAngle); + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2D(const GenoMatrix<4, 4, T> & matrix, T axisAngle,const GenoVector<2, T> & shear, GenoMatrix<4, 4, T> & target) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = sinAxis * tanShear * cosAxis; + auto m1 = -cosAxis * tanShear * cosAxis; + auto m4 = sinAxis * tanShear * sinAxis; + auto m5 = -cosAxis * tanShear * sinAxis; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & axis, const GenoVector<2, T> & shear, GenoMatrix<4, 4, T> & target) { + auto unitAxis = normalize(axis); + auto tanShear = shear.v[1] / shear.v[0]; + auto m0 = unitAxis.v[1] * tanShear * unitAxis.v[0]; + auto m1 = -unitAxis.v[0] * tanShear * unitAxis.v[0]; + auto m4 = unitAxis.v[1] * tanShear * unitAxis.v[1]; + auto m5 = -unitAxis.v[0] * tanShear * unitAxis.v[1]; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2DX(const GenoMatrix<4, 4, T> & matrix, T angle, GenoMatrix<4, 4, T> & target) { + auto m1 = -tan(angle); + target.m[0] = matrix.m[0] + matrix.m[4] * m1; + target.m[1] = matrix.m[1] + matrix.m[5] * m1; + target.m[2] = matrix.m[2] + matrix.m[6] * m1; + target.m[3] = matrix.m[3] + matrix.m[7] * m1; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2DX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & shear, GenoMatrix<4, 4, T> & target) { + auto m1 = -shear.v[1] / shear.v[0]; + target.m[0] = matrix.m[0] + matrix.m[4] * m1; + target.m[1] = matrix.m[1] + matrix.m[5] * m1; + target.m[2] = matrix.m[2] + matrix.m[6] * m1; + target.m[3] = matrix.m[3] + matrix.m[7] * m1; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2DY(const GenoMatrix<4, 4, T> & matrix, T angle, GenoMatrix<4, 4, T> & target) { + auto m4 = tan(angle); + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[0] * m4 + matrix.m[4]; + target.m[5] = matrix.m[1] * m4 + matrix.m[5]; + target.m[6] = matrix.m[2] * m4 + matrix.m[6]; + target.m[7] = matrix.m[3] * m4 + matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & shear2DY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & shear, GenoMatrix<4, 4, T> & target) { + auto m4 = shear.v[1] / shear.v[0]; + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[0] * m4 + matrix.m[4]; + target.m[5] = matrix.m[1] * m4 + matrix.m[5]; + target.m[6] = matrix.m[2] * m4 + matrix.m[6]; + target.m[7] = matrix.m[3] * m4 + matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> translate2D(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[12], + matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[13], + matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[14], + matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translate2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & translate2D(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translate2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> translate(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, T translateZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12], + matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13], + matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14], + matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translate(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[2] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[2] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[2] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[2] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & translate(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, T translateZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translate(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[2] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[2] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[2] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[2] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> rotate2D(const GenoMatrix<4, 4, T> & matrix, T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + matrix.m[0] * cosZ + matrix.m[4] * sinZ, + matrix.m[1] * cosZ + matrix.m[5] * sinZ, + matrix.m[2] * cosZ + matrix.m[6] * sinZ, + matrix.m[3] * cosZ + matrix.m[7] * sinZ, + matrix.m[0] * -sinZ + matrix.m[4] * cosZ, + matrix.m[1] * -sinZ + matrix.m[5] * cosZ, + matrix.m[2] * -sinZ + matrix.m[6] * cosZ, + matrix.m[3] * -sinZ + matrix.m[7] * cosZ, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotate2D(const GenoMatrix<4, 4, T> & matrix, T rotateZ, GenoMatrix<4, 4, T> & target) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.m[0] = matrix.m[0] * cosZ + matrix.m[4] * sinZ; + target.m[1] = matrix.m[1] * cosZ + matrix.m[5] * sinZ; + target.m[2] = matrix.m[2] * cosZ + matrix.m[6] * sinZ; + target.m[3] = matrix.m[3] * cosZ + matrix.m[7] * sinZ; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * cosZ; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * cosZ; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * cosZ; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * cosZ; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> scale2D(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0] * scale, + matrix.m[1] * scale, + matrix.m[2] * scale, + matrix.m[3] * scale, + matrix.m[4] * scale, + matrix.m[5] * scale, + matrix.m[6] * scale, + matrix.m[7] * scale, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scale2D(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scale2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & scale2D(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale; + target.m[1] = matrix.m[1] * scale; + target.m[2] = matrix.m[2] * scale; + target.m[3] = matrix.m[3] * scale; + target.m[4] = matrix.m[4] * scale; + target.m[5] = matrix.m[5] * scale; + target.m[6] = matrix.m[6] * scale; + target.m[7] = matrix.m[7] * scale; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scale2D(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scale2D(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> scale(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0] * scale, + matrix.m[1] * scale, + matrix.m[2] * scale, + matrix.m[3] * scale, + matrix.m[4] * scale, + matrix.m[5] * scale, + matrix.m[6] * scale, + matrix.m[7] * scale, + matrix.m[8] * scale, + matrix.m[9] * scale, + matrix.m[10] * scale, + matrix.m[11] * scale, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scale(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, T scaleZ) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8] * scaleZ, + matrix.m[9] * scaleZ, + matrix.m[10] * scaleZ, + matrix.m[11] * scaleZ, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scale(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8] * scale.v[2], + matrix.m[9] * scale.v[2], + matrix.m[10] * scale.v[2], + matrix.m[11] * scale.v[2], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & scale(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale; + target.m[1] = matrix.m[1] * scale; + target.m[2] = matrix.m[2] * scale; + target.m[3] = matrix.m[3] * scale; + target.m[4] = matrix.m[4] * scale; + target.m[5] = matrix.m[5] * scale; + target.m[6] = matrix.m[6] * scale; + target.m[7] = matrix.m[7] * scale; + target.m[8] = matrix.m[8] * scale; + target.m[9] = matrix.m[9] * scale; + target.m[10] = matrix.m[10] * scale; + target.m[11] = matrix.m[11] * scale; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scale(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, T scaleZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8] * scaleZ; + target.m[9] = matrix.m[9] * scaleZ; + target.m[10] = matrix.m[10] * scaleZ; + target.m[11] = matrix.m[11] * scaleZ; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scale(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8] * scale.v[2]; + target.m[9] = matrix.m[9] * scale.v[2]; + target.m[10] = matrix.m[10] * scale.v[2]; + target.m[11] = matrix.m[11] * scale.v[2]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> translateX(const GenoMatrix<4, 4, T> & matrix, T translateX) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[12], + matrix.m[1] * translateX + matrix.m[13], + matrix.m[2] * translateX + matrix.m[14], + matrix.m[3] * translateX + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateY(const GenoMatrix<4, 4, T> & matrix, T translateY) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[4] * translateY + matrix.m[12], + matrix.m[5] * translateY + matrix.m[13], + matrix.m[6] * translateY + matrix.m[14], + matrix.m[7] * translateY + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateZ(const GenoMatrix<4, 4, T> & matrix, T translateZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[8] * translateZ + matrix.m[12], + matrix.m[9] * translateZ + matrix.m[13], + matrix.m[10] * translateZ + matrix.m[14], + matrix.m[11] * translateZ + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXY(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[12], + matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[13], + matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[14], + matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXZ(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[8] * translateZ + matrix.m[12], + matrix.m[1] * translateX + matrix.m[9] * translateZ + matrix.m[13], + matrix.m[2] * translateX + matrix.m[10] * translateZ + matrix.m[14], + matrix.m[3] * translateX + matrix.m[11] * translateZ + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[0] + matrix.m[12], + matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[0] + matrix.m[13], + matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[0] + matrix.m[14], + matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[0] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateYZ(const GenoMatrix<4, 4, T> & matrix, T translateY, T translateZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12], + matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13], + matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14], + matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12], + matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13], + matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14], + matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12], + matrix.m[1] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13], + matrix.m[2] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14], + matrix.m[3] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12], + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13], + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14], + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXYZ(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, T translateZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12], + matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13], + matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14], + matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[2] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[2] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[2] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[2] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[2] + matrix.m[8] * translate.v[1] + matrix.m[12], + matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[2] + matrix.m[9] * translate.v[1] + matrix.m[13], + matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[2] + matrix.m[10] * translate.v[1] + matrix.m[14], + matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[2] + matrix.m[11] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[2] + matrix.m[12], + matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[2] + matrix.m[13], + matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[2] + matrix.m[14], + matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[2] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[2] + matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12], + matrix.m[1] * translate.v[2] + matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13], + matrix.m[2] * translate.v[2] + matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14], + matrix.m[3] * translate.v[2] + matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[2] + matrix.m[8] * translate.v[0] + matrix.m[12], + matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[2] + matrix.m[9] * translate.v[0] + matrix.m[13], + matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[2] + matrix.m[10] * translate.v[0] + matrix.m[14], + matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[2] + matrix.m[11] * translate.v[0] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> translateZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[0] * translate.v[2] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12], + matrix.m[1] * translate.v[2] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13], + matrix.m[2] * translate.v[2] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14], + matrix.m[3] * translate.v[2] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & translateX(const GenoMatrix<4, 4, T> & matrix, T translateX, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateY(const GenoMatrix<4, 4, T> & matrix, T translateY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[4] * translateY + matrix.m[12]; + target.m[13] = matrix.m[5] * translateY + matrix.m[13]; + target.m[14] = matrix.m[6] * translateY + matrix.m[14]; + target.m[15] = matrix.m[7] * translateY + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateZ(const GenoMatrix<4, 4, T> & matrix, T translateZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[8] * translateZ + matrix.m[12]; + target.m[13] = matrix.m[9] * translateZ + matrix.m[13]; + target.m[14] = matrix.m[10] * translateZ + matrix.m[14]; + target.m[15] = matrix.m[11] * translateZ + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXY(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXZ(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[8] * translateZ + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[9] * translateZ + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[10] * translateZ + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[11] * translateZ + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[0] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[0] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[0] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[0] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateYZ(const GenoMatrix<4, 4, T> & matrix, T translateY, T translateZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12]; + target.m[13] = matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13]; + target.m[14] = matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14]; + target.m[15] = matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12]; + target.m[13] = matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13]; + target.m[14] = matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14]; + target.m[15] = matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXYZ(const GenoMatrix<4, 4, T> & matrix, T translateX, T translateY, T translateZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translateX + matrix.m[4] * translateY + matrix.m[8] * translateZ + matrix.m[12]; + target.m[13] = matrix.m[1] * translateX + matrix.m[5] * translateY + matrix.m[9] * translateZ + matrix.m[13]; + target.m[14] = matrix.m[2] * translateX + matrix.m[6] * translateY + matrix.m[10] * translateZ + matrix.m[14]; + target.m[15] = matrix.m[3] * translateX + matrix.m[7] * translateY + matrix.m[11] * translateZ + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[2] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[2] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[2] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[2] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[0] + matrix.m[4] * translate.v[2] + matrix.m[8] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[0] + matrix.m[5] * translate.v[2] + matrix.m[9] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[0] + matrix.m[6] * translate.v[2] + matrix.m[10] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[0] + matrix.m[7] * translate.v[2] + matrix.m[11] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[2] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[2] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[2] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[2] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[2] + matrix.m[4] * translate.v[0] + matrix.m[8] * translate.v[1] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[2] + matrix.m[5] * translate.v[0] + matrix.m[9] * translate.v[1] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[2] + matrix.m[6] * translate.v[0] + matrix.m[10] * translate.v[1] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[2] + matrix.m[7] * translate.v[0] + matrix.m[11] * translate.v[1] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[1] + matrix.m[4] * translate.v[2] + matrix.m[8] * translate.v[0] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[1] + matrix.m[5] * translate.v[2] + matrix.m[9] * translate.v[0] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[1] + matrix.m[6] * translate.v[2] + matrix.m[10] * translate.v[0] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[1] + matrix.m[7] * translate.v[2] + matrix.m[11] * translate.v[0] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & translateZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & translate, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[0] * translate.v[2] + matrix.m[4] * translate.v[1] + matrix.m[8] * translate.v[0] + matrix.m[12]; + target.m[13] = matrix.m[1] * translate.v[2] + matrix.m[5] * translate.v[1] + matrix.m[9] * translate.v[0] + matrix.m[13]; + target.m[14] = matrix.m[2] * translate.v[2] + matrix.m[6] * translate.v[1] + matrix.m[10] * translate.v[0] + matrix.m[14]; + target.m[15] = matrix.m[3] * translate.v[2] + matrix.m[7] * translate.v[1] + matrix.m[11] * translate.v[0] + matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> rotateX(const GenoMatrix<4, 4, T> & matrix, T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * cosX + matrix.m[8] * sinX, + matrix.m[5] * cosX + matrix.m[9] * sinX, + matrix.m[6] * cosX + matrix.m[10] * sinX, + matrix.m[7] * cosX + matrix.m[11] * sinX, + matrix.m[4] * -sinX + matrix.m[8] * cosX, + matrix.m[5] * -sinX + matrix.m[9] * cosX, + matrix.m[6] * -sinX + matrix.m[10] * cosX, + matrix.m[7] * -sinX + matrix.m[11] * cosX, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateY(const GenoMatrix<4, 4, T> & matrix, T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + return new T[4 * 4] { + matrix.m[0] * cosY + matrix.m[8] * -sinY, + matrix.m[1] * cosY + matrix.m[9] * -sinY, + matrix.m[2] * cosY + matrix.m[10] * -sinY, + matrix.m[3] * cosY + matrix.m[11] * -sinY, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[0] * sinY + matrix.m[8] * cosY, + matrix.m[1] * sinY + matrix.m[9] * cosY, + matrix.m[2] * sinY + matrix.m[10] * cosY, + matrix.m[3] * sinY + matrix.m[11] * cosY, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateZ(const GenoMatrix<4, 4, T> & matrix, T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return new T[4 * 4] { + matrix.m[0] * cosZ + matrix.m[4] * sinZ, + matrix.m[1] * cosZ + matrix.m[5] * sinZ, + matrix.m[2] * cosZ + matrix.m[6] * sinZ, + matrix.m[3] * cosZ + matrix.m[7] * sinZ, + matrix.m[0] * -sinZ + matrix.m[4] * cosZ, + matrix.m[1] * -sinZ + matrix.m[5] * cosZ, + matrix.m[2] * -sinZ + matrix.m[6] * cosZ, + matrix.m[3] * -sinZ + matrix.m[7] * cosZ, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateXY(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * cosY + matrix.m[8] * -sinY, + matrix.m[1] * cosY + matrix.m[9] * -sinY, + matrix.m[2] * cosY + matrix.m[10] * -sinY, + matrix.m[3] * cosY + matrix.m[11] * -sinY, + matrix.m[0] * m4 + matrix.m[4] * cosX + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * cosX + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * cosX + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * cosX + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * cosY + matrix.m[8] * -sinY, + matrix.m[1] * cosY + matrix.m[9] * -sinY, + matrix.m[2] * cosY + matrix.m[10] * -sinY, + matrix.m[3] * cosY + matrix.m[11] * -sinY, + matrix.m[0] * m4 + matrix.m[4] * cosX + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * cosX + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * cosX + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * cosX + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateXZ(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + return new T[4 * 4] { + matrix.m[0] * cosZ + matrix.m[4] * sinZ, + matrix.m[1] * cosZ + matrix.m[5] * sinZ, + matrix.m[2] * cosZ + matrix.m[6] * sinZ, + matrix.m[3] * cosZ + matrix.m[7] * sinZ, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosX, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosX, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosX, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosX, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + return new T[4 * 4] { + matrix.m[0] * cosZ + matrix.m[4] * sinZ, + matrix.m[1] * cosZ + matrix.m[5] * sinZ, + matrix.m[2] * cosZ + matrix.m[6] * sinZ, + matrix.m[3] * cosZ + matrix.m[7] * sinZ, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosX, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosX, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosX, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosX, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto m1 = sinX * sinY; + auto m2 = -cosX * sinY; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + return new T[4 * 4] { + matrix.m[0] * cosY + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * cosY + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * cosY + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * cosY + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[4] * cosX + matrix.m[8] * sinX, + matrix.m[5] * cosX + matrix.m[9] * sinX, + matrix.m[6] * cosX + matrix.m[10] * sinX, + matrix.m[7] * cosX + matrix.m[11] * sinX, + matrix.m[0] * sinY + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * sinY + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * sinY + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * sinY + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateYZ(const GenoMatrix<4, 4, T> & matrix, T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY, + matrix.m[0] * -sinZ + matrix.m[4] * cosZ, + matrix.m[1] * -sinZ + matrix.m[5] * cosZ, + matrix.m[2] * -sinZ + matrix.m[6] * cosZ, + matrix.m[3] * -sinZ + matrix.m[7] * cosZ, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosY, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosY, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosY, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosY, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY, + matrix.m[0] * -sinZ + matrix.m[4] * cosZ, + matrix.m[1] * -sinZ + matrix.m[5] * cosZ, + matrix.m[2] * -sinZ + matrix.m[6] * cosZ, + matrix.m[3] * -sinZ + matrix.m[7] * cosZ, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosY, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosY, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosY, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosY, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m1 = cosX * sinZ; + auto m2 = sinX * sinZ; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + return new T[4 * 4] { + matrix.m[0] * cosZ + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * cosZ + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * cosZ + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * cosZ + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[0] * -sinZ + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * -sinZ + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * -sinZ + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * -sinZ + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[4] * -sinX + matrix.m[8] * cosX, + matrix.m[5] * -sinX + matrix.m[9] * cosX, + matrix.m[6] * -sinX + matrix.m[10] * cosX, + matrix.m[7] * -sinX + matrix.m[11] * cosX, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ; + auto m6 = sinY * sinZ; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * sinZ + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * sinZ + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * sinZ + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * sinZ + matrix.m[11] * m2, + matrix.m[0] * m4 + matrix.m[4] * cosZ + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * cosZ + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * cosZ + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * cosZ + matrix.m[11] * m6, + matrix.m[0] * sinY + matrix.m[8] * cosY, + matrix.m[1] * sinY + matrix.m[9] * cosY, + matrix.m[2] * sinY + matrix.m[10] * cosY, + matrix.m[3] * sinY + matrix.m[11] * cosY, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> rotateXYZ(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ * cosX + sinY * sinX; + auto m5 = cosZ * cosX; + auto m6 = sinY * sinZ * cosX + cosY * sinX; + auto m8 = cosY * sinZ * sinX + sinY * cosX; + auto m9 = -cosZ * sinX; + auto m10 = -sinY * sinZ * sinX + cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * sinZ + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * sinZ + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * sinZ + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * sinZ + matrix.m[11] * m2, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY - sinZ * sinX * sinY; + auto m1 = sinZ * cosY + cosZ * sinX * sinY; + auto m2 = -cosX * sinY; + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = cosZ * sinY + sinZ * sinX * cosY; + auto m9 = sinZ * sinY - cosZ * sinX * cosY; + auto m10 = cosX * cosY; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = cosX * sinZ * cosY + sinX * sinY; + auto m2 = sinX * sinZ * cosY - cosX * sinY; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + auto m8 = cosZ * sinY; + auto m9 = cosX * sinZ * sinY - sinX * cosY; + auto m10 = sinX * sinZ * sinY + cosX * cosY; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[0] * -sinZ + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * -sinZ + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * -sinZ + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * -sinZ + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ + sinY * sinX * sinZ; + auto m1 = cosX * sinZ; + auto m2 = -sinY * cosZ + cosY * sinX * sinZ; + auto m4 = -cosY * sinZ + sinY * sinX * cosZ; + auto m5 = cosX * cosZ; + auto m6 = sinY * sinZ + cosY * sinX * cosZ; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10, + matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10, + matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10, + matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m1 = sinX * sinY * cosZ + cosX * sinZ; + auto m2 = -cosX * sinY * cosZ + sinX * sinZ; + auto m4 = -cosY * sinZ; + auto m5 = -sinX * sinY * sinZ + cosX * cosZ; + auto m6 = cosX * sinY * sinZ + sinX * cosZ; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + return new T[4 * 4] { + matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2, + matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2, + matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2, + matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2, + matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6, + matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6, + matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6, + matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6, + matrix.m[0] * sinY + matrix.m[4] * m9 + matrix.m[8] * m10, + matrix.m[1] * sinY + matrix.m[5] * m9 + matrix.m[9] * m10, + matrix.m[2] * sinY + matrix.m[6] * m9 + matrix.m[10] * m10, + matrix.m[3] * sinY + matrix.m[7] * m9 + matrix.m[11] * m10, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & rotateX(const GenoMatrix<4, 4, T> & matrix, T rotateX, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * cosX + matrix.m[8] * sinX; + target.m[5] = matrix.m[5] * cosX + matrix.m[9] * sinX; + target.m[6] = matrix.m[6] * cosX + matrix.m[10] * sinX; + target.m[7] = matrix.m[7] * cosX + matrix.m[11] * sinX; + target.m[8] = matrix.m[4] * -sinX + matrix.m[8] * cosX; + target.m[9] = matrix.m[5] * -sinX + matrix.m[9] * cosX; + target.m[10] = matrix.m[6] * -sinX + matrix.m[10] * cosX; + target.m[11] = matrix.m[7] * -sinX + matrix.m[11] * cosX; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateY(const GenoMatrix<4, 4, T> & matrix, T rotateY, GenoMatrix<4, 4, T> & target) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + target.m[0] = matrix.m[0] * cosY + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * cosY + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * cosY + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * cosY + matrix.m[11] * -sinY; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[0] * sinY + matrix.m[8] * cosY; + target.m[9] = matrix.m[1] * sinY + matrix.m[9] * cosY; + target.m[10] = matrix.m[2] * sinY + matrix.m[10] * cosY; + target.m[11] = matrix.m[3] * sinY + matrix.m[11] * cosY; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateZ(const GenoMatrix<4, 4, T> & matrix, T rotateZ, GenoMatrix<4, 4, T> & target) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.m[0] = matrix.m[0] * cosZ + matrix.m[4] * sinZ; + target.m[1] = matrix.m[1] * cosZ + matrix.m[5] * sinZ; + target.m[2] = matrix.m[2] * cosZ + matrix.m[6] * sinZ; + target.m[3] = matrix.m[3] * cosZ + matrix.m[7] * sinZ; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * cosZ; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * cosZ; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * cosZ; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * cosZ; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXY(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateY, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + target.m[0] = matrix.m[0] * cosY + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * cosY + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * cosY + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * cosY + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * cosX + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * cosX + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * cosX + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * cosX + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto m4 = sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + target.m[0] = matrix.m[0] * cosY + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * cosY + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * cosY + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * cosY + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * cosX + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * cosX + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * cosX + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * cosX + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXZ(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateZ, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + target.m[0] = matrix.m[0] * cosZ + matrix.m[4] * sinZ; + target.m[1] = matrix.m[1] * cosZ + matrix.m[5] * sinZ; + target.m[2] = matrix.m[2] * cosZ + matrix.m[6] * sinZ; + target.m[3] = matrix.m[3] * cosZ + matrix.m[7] * sinZ; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosX; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosX; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosX; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosX; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = sinZ * sinX; + auto m9 = -cosZ * sinX; + target.m[0] = matrix.m[0] * cosZ + matrix.m[4] * sinZ; + target.m[1] = matrix.m[1] * cosZ + matrix.m[5] * sinZ; + target.m[2] = matrix.m[2] * cosZ + matrix.m[6] * sinZ; + target.m[3] = matrix.m[3] * cosZ + matrix.m[7] * sinZ; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosX; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosX; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosX; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosX; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto m1 = sinX * sinY; + auto m2 = -cosX * sinY; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + target.m[0] = matrix.m[0] * cosY + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * cosY + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * cosY + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * cosY + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[4] * cosX + matrix.m[8] * sinX; + target.m[5] = matrix.m[5] * cosX + matrix.m[9] * sinX; + target.m[6] = matrix.m[6] * cosX + matrix.m[10] * sinX; + target.m[7] = matrix.m[7] * cosX + matrix.m[11] * sinX; + target.m[8] = matrix.m[0] * sinY + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * sinY + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * sinY + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * sinY + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateYZ(const GenoMatrix<4, 4, T> & matrix, T rotateY, T rotateZ, GenoMatrix<4, 4, T> & target) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * cosZ; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * cosZ; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * cosZ; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * cosZ; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosY; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosY; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosY; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosY; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m8 = cosZ * sinY; + auto m9 = sinZ * sinY; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * cosZ; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * cosZ; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * cosZ; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * cosZ; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * cosY; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * cosY; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * cosY; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * cosY; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m1 = cosX * sinZ; + auto m2 = sinX * sinZ; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + target.m[0] = matrix.m[0] * cosZ + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * cosZ + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * cosZ + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * cosZ + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[4] * -sinX + matrix.m[8] * cosX; + target.m[9] = matrix.m[5] * -sinX + matrix.m[9] * cosX; + target.m[10] = matrix.m[6] * -sinX + matrix.m[10] * cosX; + target.m[11] = matrix.m[7] * -sinX + matrix.m[11] * cosX; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ; + auto m6 = sinY * sinZ; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * sinZ + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * sinZ + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * sinZ + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * sinZ + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * cosZ + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * cosZ + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * cosZ + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * cosZ + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * sinY + matrix.m[8] * cosY; + target.m[9] = matrix.m[1] * sinY + matrix.m[9] * cosY; + target.m[10] = matrix.m[2] * sinY + matrix.m[10] * cosY; + target.m[11] = matrix.m[3] * sinY + matrix.m[11] * cosY; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXYZ(const GenoMatrix<4, 4, T> & matrix, T rotateX, T rotateY, T rotateZ, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY; + auto m1 = sinZ * cosY; + auto m4 = -sinZ * cosX + cosZ * sinY * sinX; + auto m5 = cosZ * cosX + sinZ * sinY * sinX; + auto m6 = cosY * sinX; + auto m8 = sinZ * sinX + cosZ * sinY * cosX; + auto m9 = -cosZ * sinX + sinZ * sinY * cosX; + auto m10 = cosY * cosX; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * -sinY; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * -sinY; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * -sinY; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * -sinY; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosY * cosZ; + auto m2 = -sinY * cosZ; + auto m4 = -cosY * sinZ * cosX + sinY * sinX; + auto m5 = cosZ * cosX; + auto m6 = sinY * sinZ * cosX + cosY * sinX; + auto m8 = cosY * sinZ * sinX + sinY * cosX; + auto m9 = -cosZ * sinX; + auto m10 = -sinY * sinZ * sinX + cosY * cosX; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * sinZ + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * sinZ + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * sinZ + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * sinZ + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto m0 = cosZ * cosY - sinZ * sinX * sinY; + auto m1 = sinZ * cosY + cosZ * sinX * sinY; + auto m2 = -cosX * sinY; + auto m4 = -sinZ * cosX; + auto m5 = cosZ * cosX; + auto m8 = cosZ * sinY + sinZ * sinX * cosY; + auto m9 = sinZ * sinY - cosZ * sinX * cosY; + auto m10 = cosX * cosY; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * sinX; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * sinX; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * sinX; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * sinX; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto m0 = cosZ * cosY; + auto m1 = cosX * sinZ * cosY + sinX * sinY; + auto m2 = sinX * sinZ * cosY - cosX * sinY; + auto m5 = cosX * cosZ; + auto m6 = sinX * cosZ; + auto m8 = cosZ * sinY; + auto m9 = cosX * sinZ * sinY - sinX * cosY; + auto m10 = sinX * sinZ * sinY + cosX * cosY; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * -sinZ + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * -sinZ + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * -sinZ + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * -sinZ + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ + sinY * sinX * sinZ; + auto m1 = cosX * sinZ; + auto m2 = -sinY * cosZ + cosY * sinX * sinZ; + auto m4 = -cosY * sinZ + sinY * sinX * cosZ; + auto m5 = cosX * cosZ; + auto m6 = sinY * sinZ + cosY * sinX * cosZ; + auto m8 = sinY * cosX; + auto m10 = cosY * cosX; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * m8 + matrix.m[4] * -sinX + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * m8 + matrix.m[5] * -sinX + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * m8 + matrix.m[6] * -sinX + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * m8 + matrix.m[7] * -sinX + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & rotateZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & rotate, GenoMatrix<4, 4, T> & target) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto m0 = cosY * cosZ; + auto m1 = sinX * sinY * cosZ + cosX * sinZ; + auto m2 = -cosX * sinY * cosZ + sinX * sinZ; + auto m4 = -cosY * sinZ; + auto m5 = -sinX * sinY * sinZ + cosX * cosZ; + auto m6 = cosX * sinY * sinZ + sinX * cosZ; + auto m9 = -sinX * cosY; + auto m10 = cosX * cosY; + target.m[0] = matrix.m[0] * m0 + matrix.m[4] * m1 + matrix.m[8] * m2; + target.m[1] = matrix.m[1] * m0 + matrix.m[5] * m1 + matrix.m[9] * m2; + target.m[2] = matrix.m[2] * m0 + matrix.m[6] * m1 + matrix.m[10] * m2; + target.m[3] = matrix.m[3] * m0 + matrix.m[7] * m1 + matrix.m[11] * m2; + target.m[4] = matrix.m[0] * m4 + matrix.m[4] * m5 + matrix.m[8] * m6; + target.m[5] = matrix.m[1] * m4 + matrix.m[5] * m5 + matrix.m[9] * m6; + target.m[6] = matrix.m[2] * m4 + matrix.m[6] * m5 + matrix.m[10] * m6; + target.m[7] = matrix.m[3] * m4 + matrix.m[7] * m5 + matrix.m[11] * m6; + target.m[8] = matrix.m[0] * sinY + matrix.m[4] * m9 + matrix.m[8] * m10; + target.m[9] = matrix.m[1] * sinY + matrix.m[5] * m9 + matrix.m[9] * m10; + target.m[10] = matrix.m[2] * sinY + matrix.m[6] * m9 + matrix.m[10] * m10; + target.m[11] = matrix.m[3] * sinY + matrix.m[7] * m9 + matrix.m[11] * m10; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> scaleX(const GenoMatrix<4, 4, T> & matrix, T scaleX) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleY(const GenoMatrix<4, 4, T> & matrix, T scaleY) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleZ(const GenoMatrix<4, 4, T> & matrix, T scaleZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8] * scaleZ, + matrix.m[9] * scaleZ, + matrix.m[10] * scaleZ, + matrix.m[11] * scaleZ, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXY(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0] * scale, + matrix.m[1] * scale, + matrix.m[2] * scale, + matrix.m[3] * scale, + matrix.m[4] * scale, + matrix.m[5] * scale, + matrix.m[6] * scale, + matrix.m[7] * scale, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXY(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXZ(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0] * scale, + matrix.m[1] * scale, + matrix.m[2] * scale, + matrix.m[3] * scale, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8] * scale, + matrix.m[9] * scale, + matrix.m[10] * scale, + matrix.m[11] * scale, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXZ(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleZ) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8] * scaleZ, + matrix.m[9] * scaleZ, + matrix.m[10] * scaleZ, + matrix.m[11] * scaleZ, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8] * scale.v[1], + matrix.m[9] * scale.v[1], + matrix.m[10] * scale.v[1], + matrix.m[11] * scale.v[1], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[1], + matrix.m[1] * scale.v[1], + matrix.m[2] * scale.v[1], + matrix.m[3] * scale.v[1], + matrix.m[4] * scale.v[0], + matrix.m[5] * scale.v[0], + matrix.m[6] * scale.v[0], + matrix.m[7] * scale.v[0], + matrix.m[8], + matrix.m[9], + matrix.m[10], + matrix.m[11], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYZ(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * scale, + matrix.m[5] * scale, + matrix.m[6] * scale, + matrix.m[7] * scale, + matrix.m[8] * scale, + matrix.m[9] * scale, + matrix.m[10] * scale, + matrix.m[11] * scale, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYZ(const GenoMatrix<4, 4, T> & matrix, T scaleY, T scaleZ) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8] * scaleZ, + matrix.m[9] * scaleZ, + matrix.m[10] * scaleZ, + matrix.m[11] * scaleZ, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * scale.v[0], + matrix.m[5] * scale.v[0], + matrix.m[6] * scale.v[0], + matrix.m[7] * scale.v[0], + matrix.m[8] * scale.v[1], + matrix.m[9] * scale.v[1], + matrix.m[10] * scale.v[1], + matrix.m[11] * scale.v[1], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[1], + matrix.m[1] * scale.v[1], + matrix.m[2] * scale.v[1], + matrix.m[3] * scale.v[1], + matrix.m[4], + matrix.m[5], + matrix.m[6], + matrix.m[7], + matrix.m[8] * scale.v[0], + matrix.m[9] * scale.v[0], + matrix.m[10] * scale.v[0], + matrix.m[11] * scale.v[0], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale) { + return new T[4 * 4] { + matrix.m[0], + matrix.m[1], + matrix.m[2], + matrix.m[3], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8] * scale.v[0], + matrix.m[9] * scale.v[0], + matrix.m[10] * scale.v[0], + matrix.m[11] * scale.v[0], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXYZ(const GenoMatrix<4, 4, T> & matrix, T scale) { + return new T[4 * 4] { + matrix.m[0] * scale, + matrix.m[1] * scale, + matrix.m[2] * scale, + matrix.m[3] * scale, + matrix.m[4] * scale, + matrix.m[5] * scale, + matrix.m[6] * scale, + matrix.m[7] * scale, + matrix.m[8] * scale, + matrix.m[9] * scale, + matrix.m[10] * scale, + matrix.m[11] * scale, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXYZ(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, T scaleZ) { + return new T[4 * 4] { + matrix.m[0] * scaleX, + matrix.m[1] * scaleX, + matrix.m[2] * scaleX, + matrix.m[3] * scaleX, + matrix.m[4] * scaleY, + matrix.m[5] * scaleY, + matrix.m[6] * scaleY, + matrix.m[7] * scaleY, + matrix.m[8] * scaleZ, + matrix.m[9] * scaleZ, + matrix.m[10] * scaleZ, + matrix.m[11] * scaleZ, + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8] * scale.v[2], + matrix.m[9] * scale.v[2], + matrix.m[10] * scale.v[2], + matrix.m[11] * scale.v[2], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[0], + matrix.m[1] * scale.v[0], + matrix.m[2] * scale.v[0], + matrix.m[3] * scale.v[0], + matrix.m[4] * scale.v[2], + matrix.m[5] * scale.v[2], + matrix.m[6] * scale.v[2], + matrix.m[7] * scale.v[2], + matrix.m[8] * scale.v[1], + matrix.m[9] * scale.v[1], + matrix.m[10] * scale.v[1], + matrix.m[11] * scale.v[1], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[1], + matrix.m[1] * scale.v[1], + matrix.m[2] * scale.v[1], + matrix.m[3] * scale.v[1], + matrix.m[4] * scale.v[0], + matrix.m[5] * scale.v[0], + matrix.m[6] * scale.v[0], + matrix.m[7] * scale.v[0], + matrix.m[8] * scale.v[2], + matrix.m[9] * scale.v[2], + matrix.m[10] * scale.v[2], + matrix.m[11] * scale.v[2], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[2], + matrix.m[1] * scale.v[2], + matrix.m[2] * scale.v[2], + matrix.m[3] * scale.v[2], + matrix.m[4] * scale.v[0], + matrix.m[5] * scale.v[0], + matrix.m[6] * scale.v[0], + matrix.m[7] * scale.v[0], + matrix.m[8] * scale.v[1], + matrix.m[9] * scale.v[1], + matrix.m[10] * scale.v[1], + matrix.m[11] * scale.v[1], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[1], + matrix.m[1] * scale.v[1], + matrix.m[2] * scale.v[1], + matrix.m[3] * scale.v[1], + matrix.m[4] * scale.v[2], + matrix.m[5] * scale.v[2], + matrix.m[6] * scale.v[2], + matrix.m[7] * scale.v[2], + matrix.m[8] * scale.v[0], + matrix.m[9] * scale.v[0], + matrix.m[10] * scale.v[0], + matrix.m[11] * scale.v[0], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> scaleZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale) { + return new T[4 * 4] { + matrix.m[0] * scale.v[2], + matrix.m[1] * scale.v[2], + matrix.m[2] * scale.v[2], + matrix.m[3] * scale.v[2], + matrix.m[4] * scale.v[1], + matrix.m[5] * scale.v[1], + matrix.m[6] * scale.v[1], + matrix.m[7] * scale.v[1], + matrix.m[8] * scale.v[0], + matrix.m[9] * scale.v[0], + matrix.m[10] * scale.v[0], + matrix.m[11] * scale.v[0], + matrix.m[12], + matrix.m[13], + matrix.m[14], + matrix.m[15] + }; +} + +template +GenoMatrix<4, 4, T> & scaleX(const GenoMatrix<4, 4, T> & matrix, T scaleX, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleY(const GenoMatrix<4, 4, T> & matrix, T scaleY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleZ(const GenoMatrix<4, 4, T> & matrix, T scaleZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8] * scaleZ; + target.m[9] = matrix.m[9] * scaleZ; + target.m[10] = matrix.m[10] * scaleZ; + target.m[11] = matrix.m[11] * scaleZ; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXY(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale; + target.m[1] = matrix.m[1] * scale; + target.m[2] = matrix.m[2] * scale; + target.m[3] = matrix.m[3] * scale; + target.m[4] = matrix.m[4] * scale; + target.m[5] = matrix.m[5] * scale; + target.m[6] = matrix.m[6] * scale; + target.m[7] = matrix.m[7] * scale; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXY(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXZ(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale; + target.m[1] = matrix.m[1] * scale; + target.m[2] = matrix.m[2] * scale; + target.m[3] = matrix.m[3] * scale; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8] * scale; + target.m[9] = matrix.m[9] * scale; + target.m[10] = matrix.m[10] * scale; + target.m[11] = matrix.m[11] * scale; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXZ(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8] * scaleZ; + target.m[9] = matrix.m[9] * scaleZ; + target.m[10] = matrix.m[10] * scaleZ; + target.m[11] = matrix.m[11] * scaleZ; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8] * scale.v[1]; + target.m[9] = matrix.m[9] * scale.v[1]; + target.m[10] = matrix.m[10] * scale.v[1]; + target.m[11] = matrix.m[11] * scale.v[1]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[1]; + target.m[1] = matrix.m[1] * scale.v[1]; + target.m[2] = matrix.m[2] * scale.v[1]; + target.m[3] = matrix.m[3] * scale.v[1]; + target.m[4] = matrix.m[4] * scale.v[0]; + target.m[5] = matrix.m[5] * scale.v[0]; + target.m[6] = matrix.m[6] * scale.v[0]; + target.m[7] = matrix.m[7] * scale.v[0]; + target.m[8] = matrix.m[8]; + target.m[9] = matrix.m[9]; + target.m[10] = matrix.m[10]; + target.m[11] = matrix.m[11]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYZ(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * scale; + target.m[5] = matrix.m[5] * scale; + target.m[6] = matrix.m[6] * scale; + target.m[7] = matrix.m[7] * scale; + target.m[8] = matrix.m[8] * scale; + target.m[9] = matrix.m[9] * scale; + target.m[10] = matrix.m[10] * scale; + target.m[11] = matrix.m[11] * scale; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYZ(const GenoMatrix<4, 4, T> & matrix, T scaleY, T scaleZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8] * scaleZ; + target.m[9] = matrix.m[9] * scaleZ; + target.m[10] = matrix.m[10] * scaleZ; + target.m[11] = matrix.m[11] * scaleZ; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * scale.v[0]; + target.m[5] = matrix.m[5] * scale.v[0]; + target.m[6] = matrix.m[6] * scale.v[0]; + target.m[7] = matrix.m[7] * scale.v[0]; + target.m[8] = matrix.m[8] * scale.v[1]; + target.m[9] = matrix.m[9] * scale.v[1]; + target.m[10] = matrix.m[10] * scale.v[1]; + target.m[11] = matrix.m[11] * scale.v[1]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[1]; + target.m[1] = matrix.m[1] * scale.v[1]; + target.m[2] = matrix.m[2] * scale.v[1]; + target.m[3] = matrix.m[3] * scale.v[1]; + target.m[4] = matrix.m[4]; + target.m[5] = matrix.m[5]; + target.m[6] = matrix.m[6]; + target.m[7] = matrix.m[7]; + target.m[8] = matrix.m[8] * scale.v[0]; + target.m[9] = matrix.m[9] * scale.v[0]; + target.m[10] = matrix.m[10] * scale.v[0]; + target.m[11] = matrix.m[11] * scale.v[0]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<2, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0]; + target.m[1] = matrix.m[1]; + target.m[2] = matrix.m[2]; + target.m[3] = matrix.m[3]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8] * scale.v[0]; + target.m[9] = matrix.m[9] * scale.v[0]; + target.m[10] = matrix.m[10] * scale.v[0]; + target.m[11] = matrix.m[11] * scale.v[0]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXYZ(const GenoMatrix<4, 4, T> & matrix, T scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale; + target.m[1] = matrix.m[1] * scale; + target.m[2] = matrix.m[2] * scale; + target.m[3] = matrix.m[3] * scale; + target.m[4] = matrix.m[4] * scale; + target.m[5] = matrix.m[5] * scale; + target.m[6] = matrix.m[6] * scale; + target.m[7] = matrix.m[7] * scale; + target.m[8] = matrix.m[8] * scale; + target.m[9] = matrix.m[9] * scale; + target.m[10] = matrix.m[10] * scale; + target.m[11] = matrix.m[11] * scale; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXYZ(const GenoMatrix<4, 4, T> & matrix, T scaleX, T scaleY, T scaleZ, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scaleX; + target.m[1] = matrix.m[1] * scaleX; + target.m[2] = matrix.m[2] * scaleX; + target.m[3] = matrix.m[3] * scaleX; + target.m[4] = matrix.m[4] * scaleY; + target.m[5] = matrix.m[5] * scaleY; + target.m[6] = matrix.m[6] * scaleY; + target.m[7] = matrix.m[7] * scaleY; + target.m[8] = matrix.m[8] * scaleZ; + target.m[9] = matrix.m[9] * scaleZ; + target.m[10] = matrix.m[10] * scaleZ; + target.m[11] = matrix.m[11] * scaleZ; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXYZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8] * scale.v[2]; + target.m[9] = matrix.m[9] * scale.v[2]; + target.m[10] = matrix.m[10] * scale.v[2]; + target.m[11] = matrix.m[11] * scale.v[2]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleXZY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[0]; + target.m[1] = matrix.m[1] * scale.v[0]; + target.m[2] = matrix.m[2] * scale.v[0]; + target.m[3] = matrix.m[3] * scale.v[0]; + target.m[4] = matrix.m[4] * scale.v[2]; + target.m[5] = matrix.m[5] * scale.v[2]; + target.m[6] = matrix.m[6] * scale.v[2]; + target.m[7] = matrix.m[7] * scale.v[2]; + target.m[8] = matrix.m[8] * scale.v[1]; + target.m[9] = matrix.m[9] * scale.v[1]; + target.m[10] = matrix.m[10] * scale.v[1]; + target.m[11] = matrix.m[11] * scale.v[1]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYXZ(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[1]; + target.m[1] = matrix.m[1] * scale.v[1]; + target.m[2] = matrix.m[2] * scale.v[1]; + target.m[3] = matrix.m[3] * scale.v[1]; + target.m[4] = matrix.m[4] * scale.v[0]; + target.m[5] = matrix.m[5] * scale.v[0]; + target.m[6] = matrix.m[6] * scale.v[0]; + target.m[7] = matrix.m[7] * scale.v[0]; + target.m[8] = matrix.m[8] * scale.v[2]; + target.m[9] = matrix.m[9] * scale.v[2]; + target.m[10] = matrix.m[10] * scale.v[2]; + target.m[11] = matrix.m[11] * scale.v[2]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleYZX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[2]; + target.m[1] = matrix.m[1] * scale.v[2]; + target.m[2] = matrix.m[2] * scale.v[2]; + target.m[3] = matrix.m[3] * scale.v[2]; + target.m[4] = matrix.m[4] * scale.v[0]; + target.m[5] = matrix.m[5] * scale.v[0]; + target.m[6] = matrix.m[6] * scale.v[0]; + target.m[7] = matrix.m[7] * scale.v[0]; + target.m[8] = matrix.m[8] * scale.v[1]; + target.m[9] = matrix.m[9] * scale.v[1]; + target.m[10] = matrix.m[10] * scale.v[1]; + target.m[11] = matrix.m[11] * scale.v[1]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleZXY(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[1]; + target.m[1] = matrix.m[1] * scale.v[1]; + target.m[2] = matrix.m[2] * scale.v[1]; + target.m[3] = matrix.m[3] * scale.v[1]; + target.m[4] = matrix.m[4] * scale.v[2]; + target.m[5] = matrix.m[5] * scale.v[2]; + target.m[6] = matrix.m[6] * scale.v[2]; + target.m[7] = matrix.m[7] * scale.v[2]; + target.m[8] = matrix.m[8] * scale.v[0]; + target.m[9] = matrix.m[9] * scale.v[0]; + target.m[10] = matrix.m[10] * scale.v[0]; + target.m[11] = matrix.m[11] * scale.v[0]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoMatrix<4, 4, T> & scaleZYX(const GenoMatrix<4, 4, T> & matrix, const GenoVector<3, T> & scale, GenoMatrix<4, 4, T> & target) { + target.m[0] = matrix.m[0] * scale.v[2]; + target.m[1] = matrix.m[1] * scale.v[2]; + target.m[2] = matrix.m[2] * scale.v[2]; + target.m[3] = matrix.m[3] * scale.v[2]; + target.m[4] = matrix.m[4] * scale.v[1]; + target.m[5] = matrix.m[5] * scale.v[1]; + target.m[6] = matrix.m[6] * scale.v[1]; + target.m[7] = matrix.m[7] * scale.v[1]; + target.m[8] = matrix.m[8] * scale.v[0]; + target.m[9] = matrix.m[9] * scale.v[0]; + target.m[10] = matrix.m[10] * scale.v[0]; + target.m[11] = matrix.m[11] * scale.v[0]; + target.m[12] = matrix.m[12]; + target.m[13] = matrix.m[13]; + target.m[14] = matrix.m[14]; + target.m[15] = matrix.m[15]; + return target; +} + +template +GenoVector<4, T> operator*(const GenoMatrix<4, 4, T> & left, const GenoVector<4, T> & right) { + return new T[4] { + left.m[0] * right.v[0] + left.m[4] * right.v[1] + left.m[8 ] * right.v[2] + left.m[12] * right.v[3], + left.m[1] * right.v[0] + left.m[5] * right.v[1] + left.m[9 ] * right.v[2] + left.m[13] * right.v[3], + left.m[2] * right.v[0] + left.m[6] * right.v[1] + left.m[10] * right.v[2] + left.m[14] * right.v[3], + left.m[3] * right.v[0] + left.m[7] * right.v[1] + left.m[11] * right.v[2] + left.m[15] * right.v[3] + }; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoMatrix<4, 4, T> & matrix) { + return stream << '[' << matrix.m[0] << ", " << matrix.m[4] << ", " << matrix.m[8 ] << ", " << matrix.m[12] << "]\n" + "[" << matrix.m[1] << ", " << matrix.m[5] << ", " << matrix.m[9 ] << ", " << matrix.m[13] << "]\n" + "[" << matrix.m[2] << ", " << matrix.m[6] << ", " << matrix.m[10] << ", " << matrix.m[14] << "]\n" + "[" << matrix.m[3] << ", " << matrix.m[7] << ", " << matrix.m[11] << ", " << matrix.m[15] << "]\n"; +} + +using GenoMatrix4b = GenoMatrix<4, 4, int8 >; +using GenoMatrix4ub = GenoMatrix<4, 4, uint8 >; +using GenoMatrix4s = GenoMatrix<4, 4, int16>; +using GenoMatrix4us = GenoMatrix<4, 4, uint16>; +using GenoMatrix4i = GenoMatrix<4, 4, int32>; +using GenoMatrix4ui = GenoMatrix<4, 4, uint32>; +using GenoMatrix4l = GenoMatrix<4, 4, int8 >; +using GenoMatrix4ul = GenoMatrix<4, 4, uint64>; +using GenoMatrix4f = GenoMatrix<4, 4, float >; +using GenoMatrix4d = GenoMatrix<4, 4, double>; + +#define GNARLY_GENOME_MATRIX4_FORWARD +#endif // GNARLY_GENOME_MATRIX4 \ No newline at end of file diff --git a/src/geno/math/linear/GenoMatrixN.h b/src/geno/math/linear/GenoMatrixN.h new file mode 100644 index 0000000..78dcc09 --- /dev/null +++ b/src/geno/math/linear/GenoMatrixN.h @@ -0,0 +1,200 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * INPLIED, INCLUDING BUT NOT LINITED TO THE WARRANTIES OF NERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGENENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIN, DANAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FRON, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_MATRIX_FORWARD +#define GNARLY_GENOME_MATRIX_FORWARD + +template +class GenoMatrix; + +#endif // GNARLY_GENOME_MATRIX_FORWARD + +#ifndef GNARLY_GENOME_MATRIXN +#define GNARLY_GENOME_MATRIXN + +#include + +#include "GenoVector.h" +#include "GenoMatrix.h" + +template +class GenoMatrix { + + static_assert(N > 0 && N > 0, "Matrix dimensions must be greater than 0!"); + + private: + bool owner = true; + + void clean() { + if (owner) + delete [] m; + } + public: + T * m; + + static GenoMatrix makeIdentity() { + auto identity = new T[N * N]; + for (uint32 i = 0; i < N * N; ++i) { + if (i % N == i / N) + identity[i] = 1; + else + identity[i] = 0; + } + return identity; + } + + GenoMatrix() : + m(new T[N * N]()) {} + + GenoMatrix(T * m, bool owner = true) noexcept : + owner(owner), + m(m) {} + + GenoMatrix(std::initializer_list list) : + m(new T[N * N]) { + auto min = list.size() < N * N ? list.size() : N * N; + auto init = list.begin(); + for (uint32 i = 0; i < min; ++i) + m[(i % N) * N + (i / N)] = init[i]; + } + + template + GenoMatrix(const GenoMatrix & matrix) : + m(new T[N * N]) { + for (uint32 i = 0; i < N * N; ++i) + m[i] = (T) matrix.m[i]; + } + + GenoMatrix(const GenoMatrix & matrix) : + m(new T[N * N]) { + for (uint32 i = 0; i < N * N; ++i) + m[i] = matrix.m[i]; + } + + GenoMatrix(GenoMatrix && matrix) noexcept : + owner(matrix.owner), + m(matrix.m) { + matrix.owner = false; + } + + GenoMatrix & operator=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * N; ++i) + m[i] = matrix.m[i]; + return *this; + } + + GenoMatrix & operator=(GenoMatrix && matrix) noexcept { + clean(); + owner = matrix.owner; + m = matrix.m; + matrix.owner = false; + return *this; + } + + GenoMatrix & operator+=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * N; ++i) + m[i] += matrix.m[i]; + return *this; + } + + GenoMatrix & operator-=(const GenoMatrix & matrix) { + for (uint32 i = 0; i < N * N; ++i) + m[i] -= matrix.m[i]; + return *this; + } + + GenoMatrix & operator*=(const GenoMatrix & matrix) { + return *this = *this * matrix; + } + + GenoVector operator[](uint32 index) const noexcept { + return GenoVector(index * N, false); + } + + GenoMatrix & setIdentity() { + for (uint32 i = 0; i < N * N; ++i) { + if (i % N == i / N) + m[i] = 1; + else + m[i] = 0; + } + return *this; + } + + ~GenoMatrix() { + clean(); + } +}; + +template +T det(const GenoMatrix & matrix) { + auto ret = T{ 0 }; + auto sign = T{ 1 }; + GenoMatrix storage; + for (uint32 i = 0; i < N; ++i) { + auto offset = uint32( -1 ); + for (uint32 j = 0; j < N * N; ++j) + if (j % N != 0 && j / N != i) + storage.m[++offset] = matrix.m[j]; + ret += sign * matrix.m[i * N] * det(storage); + sign *= -1; + } + return ret; +} + +template +T det(const GenoMatrix<2, 2, T> & matrix) { + return matrix.m[0] * matrix.m[3] - matrix.m[2] * matrix.m[1]; +} + +template +T det(const GenoMatrix<1, 1, T> & matrix) { + return matrix.m[0]; +} + +template using GenoMatrixNb = GenoMatrix; +template using GenoMatrixNub = GenoMatrix; +template using GenoMatrixNs = GenoMatrix; +template using GenoMatrixNus = GenoMatrix; +template using GenoMatrixNi = GenoMatrix; +template using GenoMatrixNui = GenoMatrix; +template using GenoMatrixNl = GenoMatrix; +template using GenoMatrixNul = GenoMatrix; +template using GenoMatrixNf = GenoMatrix; +template using GenoMatrixNd = GenoMatrix; + +#define GNARLY_GENOME_MATRIXN_FORWARD +#endif // GNARLY_GENOME_MATRIXN \ No newline at end of file diff --git a/src/geno/math/linear/GenoVector.h b/src/geno/math/linear/GenoVector.h new file mode 100644 index 0000000..347cc68 --- /dev/null +++ b/src/geno/math/linear/GenoVector.h @@ -0,0 +1,513 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_VECTOR +#define GNARLY_GENOME_VECTOR + +#include +#include +#include + +#include "../../GenoInts.h" + +template +class GenoVector { + + static_assert(N > 0, "Vector dimensions must be greater than 0!"); + + private: + bool owner = true; + + void clean() { + if (owner) + delete [] v; + } + + public: + T * v; + + GenoVector() : + v(new T[N]()) {} + + GenoVector(T * v, bool owner = true) noexcept : + owner(owner), + v(v) {} + + explicit GenoVector(T value) : + v(new T[N]) { + for (uint32 i = 0; i < N; ++i) + v[i] = value; + } + + GenoVector(std::initializer_list list) : + v(new T[N]) { + auto min = list.size() < N ? list.size() : N; + auto init = list.begin(); + for (uint32 i = 0; i < min; ++i) + v[i] = init[i]; + } + + template + GenoVector(const GenoVector & vector) : + v(new T[N]) { + for (uint32 i = 0; i < N; ++i) + v[i] = (T) vector.v[i]; + } + + GenoVector(const GenoVector & vector) : + v(new T[N]) { + std::cout << "aoeu" << std::endl; + for (uint32 i = 0; i < N; ++i) + v[i] = vector.v[i]; + } + + GenoVector(GenoVector && vector) noexcept : + owner(vector.owner), + v(vector.v) { + std::cout << "aoeu" << std::endl; + vector.owner = false; + } + + GenoVector & operator=(const GenoVector & vector) { + std::cout << "aoeu" << std::endl; + for (uint32 i = 0; i < N; ++i) + v[i] = vector.v[i]; + return *this; + } + + GenoVector & operator=(GenoVector && vector) noexcept { + std::cout << "aoeu" << std::endl; + if (owner) { + clean(); + owner = vector.owner; + v = vector.v; + vector.owner = false; + } + else for (uint32 i = 0; i < N; ++i) + v[i] = vector.v[i]; + return *this; + } + + GenoVector & operator+=(const GenoVector & vector) { + for (uint32 i = 0; i < N; ++i) + v[i] += vector.v[i]; + return *this; + } + + GenoVector & operator-=(const GenoVector & vector) { + for (uint32 i = 0; i < N; ++i) + v[i] -= vector.v[i]; + return *this; + } + + GenoVector & operator*=(T scalar) { + for (uint32 i = 0; i < N; ++i) + v[i] *= scalar; + return *this; + } + + GenoVector & operator*=(const GenoVector & vector) { + for (uint32 i = 0; i < N; ++i) + v[i] *= vector.v[i]; + return *this; + } + + GenoVector & operator/=(T scalar) { + for (uint32 i = 0; i < N; ++i) + v[i] /= scalar; + return *this; + } + + GenoVector & operator/=(const GenoVector & vector) { + for (uint32 i = 0; i < N; ++i) + v[i] /= vector.v[i]; + return *this; + } + + T & operator[](uint32 index) noexcept { + return v[index]; + } + + const T & operator[](uint32 index) const noexcept { + return v[index]; + } + + T getLength() const { + auto lengthSquared = 0; + for (uint32 i = 0; i < N; ++i) + lengthSquared += v[i] * v[i]; + return sqrt(lengthSquared); + } + + T getLengthSquared() const { + auto lengthSquared = 0; + for (uint32 i = 0; i < N; ++i) + lengthSquared += v[i] * v[i]; + return lengthSquared; + } + + GenoVector & setLength(T length) { + auto scalar = length / getLength(); + for (uint32 i = 0; i < N; ++i) + v[i] *= scalar; + return *this; + } + + GenoVector & normalize() { + auto scalar = 1 / getLength(); + for (uint32 i = 0; i < N; ++i) + v[i] *= scalar; + return *this; + } + + GenoVector & negate() { + for (uint32 i = 0; i < N; ++i) + v[i] = -v[i]; + return *this; + } + + GenoVector & project(const GenoVector & projection) { + auto scalar = dot(*this, projection) / projection.getLengthSquared(); + for (uint32 i = 0; i < N; ++i) + v[i] = scalar * projection.v[i]; + return *this; + } + + GenoVector & bisect(const GenoVector & vector) { + return *this = getLength() * vector + *this * vector.getLength(); + } + + GenoVector & lerp(const GenoVector & end, double interpAmount) { + for (uint32 i = 0; i < N; ++i) + v[i] = (T) (v[i] + (end.v[i] - v[i]) * interpAmount); + return *this; + } + + bool isZeroVector() { + for (uint32 i = 0; i < N; ++i) + if (v[i] != 0) + return false; + return true; + } + + GenoVector & set(const GenoVector & set) { + for (uint32 i = 0; i < N; ++i) + v[i] = set.v[i]; + return *this; + } + + GenoVector & translate(const GenoVector & translate) { + for (uint32 i = 0; i < N; ++i) + v[i] += translate.v[i]; + return *this; + } + + GenoVector & scale(T scale) { + for (uint32 i = 0; i < N; ++i) + v[i] *= scale; + return *this; + } + + GenoVector & scale(const GenoVector & scale) { + for (uint32 i = 0; i < N; ++i) + v[i] *= scale.v[i]; + return *this; + } + + virtual ~GenoVector() noexcept { + clean(); + } +}; + +template +GenoVector operator-(const GenoVector & vector) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = -vector.v[i]; + return newV; +} + +template +GenoVector operator+(const GenoVector & left, const GenoVector & right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] + right.v[i]; + return newV; +} + +template +GenoVector operator-(const GenoVector & left, const GenoVector & right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] - right.v[i]; + return newV; +} + +template +GenoVector operator*(const GenoVector & left, T right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] * right; + return newV; +} + +template +GenoVector operator*(T left, const GenoVector & right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left * right.v[i]; + return newV; +} + +template +GenoVector operator*(const GenoVector & left, const GenoVector & right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] * right.v[i]; + return newV; +} + +template +GenoVector operator/(const GenoVector & left, T right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] / right; + return newV; +} + +template +GenoVector operator/(const GenoVector & left, const GenoVector & right) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i] / right.v[i]; + return newV; +} + +template +GenoVector operator|(const GenoVector & left, T right) { + auto newV = new T[N + 1]; + for (uint32 i = 0; i < N + 1; ++i) + newV[i] = left.v[i]; + newV[N] = right; + return newV; +} + +template +GenoVector operator|(T left, const GenoVector & right) { + auto newV = new T[N + 1]; + newV[0] = left; + for (uint32 i = 0; i < N + 1; ++i) + newV[i + 1] = right.v[i]; + return newV; +} + +template +GenoVector operator|(const GenoVector & left, const GenoVector & right) { + auto newV = new T[N + N2]; + auto vRight = newV + N; + for (uint32 i = 0; i < N; ++i) + newV[i] = left.v[i]; + for (uint32 i = 0; i < N2; ++i) + vRight[i] = right.v[i]; + return newV; +} + +template +GenoVector setLength(const GenoVector & vector, T length) { + auto scalar = length / vector.getLength(); + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = vector.v[i] * scalar; + return newV; +} + +template +GenoVector & setLength(const GenoVector & vector, T length, const GenoVector & target) { + auto scalar = length / vector.getLength(); + for (uint32 i = 0; i < N; ++i) + target.v[i] = vector.v[i] * scalar; + return target; +} + +template +GenoVector normalize(const GenoVector & vector) { + auto scalar = 1 / vector.getLength(); + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = vector.v[i] * scalar; + return newV; +} + +template +GenoVector & normalize(const GenoVector & vector, const GenoVector & target) { + auto scalar = 1 / vector.getLength(); + for (uint32 i = 0; i < N; ++i) + target.v[i] = vector.v[i] * scalar; + return target; +} + +template +GenoVector negate(const GenoVector & vector) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = -vector.v[i]; + return newV; +} + +template +GenoVector & negate(const GenoVector & vector, GenoVector & target) { + for (uint32 i = 0; i < N; ++i) + target.v[i] = -vector.v[i]; + return target; +} + +template +T dot(const GenoVector & left, const GenoVector & right) { + auto product = T(); + for (uint32 i = 0; i < N; ++i) + product += left.v[i] * right.v[i]; + return product; +} + +template +GenoVector project(const GenoVector & vector, const GenoVector & projection) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = scalar * projection.v[i]; + return newV; +} + +template +GenoVector & project(const GenoVector & vector, const GenoVector & projection, GenoVector & target) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + for (uint32 i = 0; i < N; ++i) + target.v[i] = scalar * projection.v[i]; + return target; +} + +template +GenoVector bisect(const GenoVector & vector1, const GenoVector & vector2) { + return vector1.getLength() * vector2 + vector1 * vector2.getLength(); +} + +template +GenoVector bisect(const GenoVector & vector1, const GenoVector & vector2, GenoVector & target) { + return target = vector1.getLength() * vector2 + vector1 * vector2.getLength(); +} + +template +GenoVector lerp(const GenoVector & start, const GenoVector & end, double interpAmount) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = (T) (start.v[i] + (end.v[i] - start.v[i]) * interpAmount); + return newV; +} + +template +GenoVector & lerp(const GenoVector & start, const GenoVector & end, double interpAmount, GenoVector & target) { + for (uint32 i = 0; i < N; ++i) + target.v[i] = (T) (start.v[i] + (end.v[i] - start.v[i]) * interpAmount); + return target; +} + +template +T angleBetween(const GenoVector & vector1, const GenoVector & vector2) { + return acos(dot(vector1, vector2) / (vector1.getLength() * vector2.getLength())); +} + +template +GenoVector & translate(const GenoVector & vector, const GenoVector & translate) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = vector.v[i] + translate.v[i]; + return newV; +} + + +template +GenoVector & translate(const GenoVector & vector, const GenoVector & translate, GenoVector & target) { + for (uint32 i = 0; i < N; ++i) + target.v[i] = vector.v[i] + translate.v[i]; + return target; +} + +template +GenoVector & scale(const GenoVector & vector, T scale) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = vector.v[i] * scale; + return newV; +} + + +template +GenoVector & scale(const GenoVector & vector, T scale, GenoVector & target) { + for (uint32 i = 0; i < N; ++i) + target.v[i] = vector.v[i] * scale; + return target; +} + +template +GenoVector & scale(const GenoVector & vector, const GenoVector & scale) { + auto newV = new T[N]; + for (uint32 i = 0; i < N; ++i) + newV[i] = vector.v[i] * scale.v[i]; + return newV; +} + + +template +GenoVector & scale(const GenoVector & vector, const GenoVector & scale, GenoVector & target) { + for (uint32 i = 0; i < N; ++i) + target.v[i] = vector.v[i] * scale.v[i]; + return target; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoVector & vector) { + stream << '<'; + for (uint32 i = 0; i < N; ++i) { + stream << vector.v[i]; + if (i < N - 1) + stream << ", "; + } + return stream << '>'; +} + +template using GenoVectorNb = GenoVector; +template using GenoVectorNub = GenoVector; +template using GenoVectorNs = GenoVector; +template using GenoVectorNus = GenoVector; +template using GenoVectorNi = GenoVector; +template using GenoVectorNui = GenoVector; +template using GenoVectorNl = GenoVector; +template using GenoVectorNul = GenoVector; +template using GenoVectorNf = GenoVector; +template using GenoVectorNd = GenoVector; + +#define GNARLY_GENOME_VECTOR_FORWARD +#endif // GNARLY_GENOME_VECTOR diff --git a/src/geno/math/linear/GenoVector1.h b/src/geno/math/linear/GenoVector1.h new file mode 100644 index 0000000..156f94f --- /dev/null +++ b/src/geno/math/linear/GenoVector1.h @@ -0,0 +1,56 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_VECTOR1 +#define GNARLY_GENOME_VECTOR1 + +#include "GenoVector.h" + +template using GenoVector1 = GenoVector<1, T>; + +using GenoVector1b = GenoVector1< int8 >; +using GenoVector1ub = GenoVector1; +using GenoVector1s = GenoVector1< int16>; +using GenoVector1us = GenoVector1; +using GenoVector1i = GenoVector1< int32>; +using GenoVector1ui = GenoVector1; +using GenoVector1l = GenoVector1< int64>; +using GenoVector1ul = GenoVector1; +using GenoVector1f = GenoVector1; +using GenoVector1d = GenoVector1; + +#define GNARLY_GENOME_VECTOR1_FORWARD +#endif // GNARLY_GENOME_VECTOR1 \ No newline at end of file diff --git a/src/geno/math/linear/GenoVector2.h b/src/geno/math/linear/GenoVector2.h new file mode 100644 index 0000000..828e3c0 --- /dev/null +++ b/src/geno/math/linear/GenoVector2.h @@ -0,0 +1,1101 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_VECTOR3_FORWARD +#define GNARLY_GENOME_VECTOR3_FORWARD + +template +class GenoVector<3, T>; + +#endif // GNARLY_GENOME_VECTOR3_FORWARD + +#ifndef GNARLY_GENOME_VECTOR4_FORWARD +#define GNARLY_GENOME_VECTOR4_FORWARD + +template +class GenoVector<4, T>; + +#endif // GNARLY_GENOME_VECTOR4_FORWARD + +#ifndef GNARLY_GENOME_VECTOR2 +#define GNARLY_GENOME_VECTOR2 + +#include +#include + +#include "GenoVector.h" +#include "GenoVector3.h" +#include "GenoVector4.h" +#include "GenoVectorDimensions.h" + +namespace GenoVectorDimensions { + extern GenoVectorDimension<0> x; + extern GenoVectorDimension<1> y; +} + +template +class GenoVector<2, T> { + private: + bool owner = true; + + void clean() { + if (owner) + delete [] v; + } + + public: + T * v; + + GenoVector() : + v(new T[2]()) {} + + GenoVector(T * v, bool owner = true) noexcept : + owner(owner), + v(v) {} + + explicit GenoVector(T value) : + v(new T[2] { value, value }) {} + + GenoVector(T x, T y) : + v(new T[2] { x, y }) {} + + template + GenoVector(const GenoVector<2, T2> & vector) : + v(new T[2] { + (T) vector.v[0], + (T) vector.v[1] + }) {} + + GenoVector(const GenoVector<2, T> & vector) : + v(new T[2] { + vector.v[0], + vector.v[1] + }) {} + + GenoVector(GenoVector<2, T> && vector) noexcept : + owner(vector.owner), + v(vector.v) { + vector.owner = false; + } + + GenoVector<2, T> & operator=(const GenoVector<2, T> & vector) { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + return *this; + } + + GenoVector<2, T> & operator=(GenoVector<2, T> && vector) noexcept { + if (owner) { + clean(); + owner = vector.owner; + v = vector.v; + vector.owner = false; + } + else { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + } + return *this; + } + + GenoVector<2, T> & operator+=(const GenoVector<2, T> & vector) { + v[0] += vector.v[0]; + v[1] += vector.v[1]; + return *this; + } + + GenoVector<2, T> & operator-=(const GenoVector<2, T> & vector) { + v[0] -= vector.v[0]; + v[1] -= vector.v[1]; + return *this; + } + + GenoVector<2, T> & operator*=(T scalar) { + v[0] *= scalar; + v[1] *= scalar; + return *this; + } + + GenoVector<2, T> & operator*=(const GenoVector<2, T> & vector) { + v[0] *= vector.v[0]; + v[1] *= vector.v[1]; + return *this; + } + + GenoVector<2, T> & operator/=(T scalar) { + v[0] /= scalar; + v[1] /= scalar; + return *this; + } + + GenoVector<2, T> & operator/=(const GenoVector<2, T> & vector) { + v[0] /= vector.v[0]; + v[1] /= vector.v[1]; + return *this; + } + + T & operator[](uint32 index) noexcept { + return v[index]; + } + + const T & operator[](uint32 index) const noexcept { + return v[index]; + } + + template + T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 2, "GenoVector<2, T> has no dimension z!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 3, "GenoVector<2, T> has no dimension w!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<2, T> has no dimension beyond y!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + template + const T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) const noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 2, "GenoVector<2, T> has no dimension z!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 3, "GenoVector<2, T> has no dimension w!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<2, T> has no dimension beyond y!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + T & x() noexcept { + return v[0]; + } + + const T & x() const noexcept { + return v[0]; + } + + T & y() noexcept { + return v[1]; + } + + const T & y() const noexcept { + return v[1]; + } + + T getLength() const { + return sqrt( + v[0] * v[0] + + v[1] * v[1] + ); + } + + T getLengthSquared() const { + return ( + v[0] * v[0] + + v[1] * v[1] + ); + } + + GenoVector<2, T> & setLength(T length) { + auto scalar = length / getLength(); + v[0] *= scalar; + v[1] *= scalar; + return *this; + } + + GenoVector<2, T> & normalize() { + auto scalar = 1 / getLength(); + v[0] *= scalar; + v[1] *= scalar; + return *this; + } + + T getAngle() const { + return atan2(v[1], v[0]); + } + + GenoVector<2, T> & setAngle(T angle) { + auto length = getLength(); + v[0] = cos(angle) * length; + v[1] = sin(angle) * length; + return *this; + } + + GenoVector<2, T> & rotate(T angle) { + auto sine = sin(angle); + auto cosine = cos(angle); + auto x = v[0]; + v[0] = v[0] * cosine - v[1] * sine; + v[1] = x * sine - v[1] * cosine; + return *this; + } + + GenoVector<2, T> & negate() { + v[0] = -v[0]; + v[1] = -v[1]; + return *this; + } + + GenoVector<2, T> & project(const GenoVector<2, T> & projection) { + auto scalar = dot(*this, projection) / projection.getLengthSquared(); + v[0] /= scalar; + v[1] /= scalar; + return *this; + } + + GenoVector<2, T> & bisect(const GenoVector<2, T> & vector) { + return *this = getLength() * vector + *this * vector.getLength(); + } + + GenoVector<2, T> & lerp(const GenoVector<2, T> & end, double interpAmount) { + v[0] = (T) (v[0] + (end.v[0] - v[0]) * interpAmount); + v[1] = (T) (v[1] + (end.v[1] - v[1]) * interpAmount); + return *this; + } + + bool isZeroVector() { + return v[0] == 0 && + v[1] == 0; + } + + GenoVector<2, T> & shear(T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto scalar = v[0] * sinAxis - v[1] * cosAxis; + scalar *= tan(shearAngle); + v[0] += scalar * cosAxis; + v[1] += scalar * sinAxis; + return *this; + } + + GenoVector<2, T> & shear(const GenoVector<2, T> & axis, T shearAngle) { + auto unitAxis = normalize(axis); + auto scalar = v[0] * unitAxis.v[1] - v[1] * unitAxis.v[0]; + scalar *= tan(shearAngle); + v[0] += scalar * unitAxis.v[0]; + v[1] += scalar * unitAxis.v[1]; + return *this; + } + + GenoVector<2, T> & shear(T axisAngle, const GenoVector<2, T> & shear) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto scalar = v[0] * sinAxis - v[1] * cosAxis; + scalar *= shear.v[1] / shear.v[0]; + v[0] += scalar * cosAxis; + v[1] += scalar * sinAxis; + return *this; + } + + GenoVector<2, T> & shear(const GenoVector<2, T> & axis, const GenoVector<2, T> & shear) { + auto unitAxis = normalize(axis); + auto scalar = v[0] * unitAxis.v[1] - v[1] * unitAxis.v[0]; + scalar *= shear.v[1] / shear.v[0]; + v[0] += scalar * unitAxis.v[0]; + v[1] += scalar * unitAxis.v[1]; + return *this; + } + + GenoVector<2, T> & shearX(T angle) { + v[0] -= v[1] * tan(angle); + return *this; + } + + GenoVector<2, T> & shearX(const GenoVector<2, T> & shear) { + v[0] -= v[1] * shear.v[1] / shear.v[0]; + return *this; + } + + GenoVector<2, T> & shearY(T angle) { + v[1] += v[0] * tan(angle); + return *this; + } + + GenoVector<2, T> & shearY(const GenoVector<2, T> & shear) { + v[1] += v[0] * shear.v[1] / shear.v[0]; + return *this; + } + + GenoVector<2, T> & set(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<2, T> & translate(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + return *this; + } + + GenoVector<2, T> & scale(T scale) { + v[0] *= scale; + v[1] *= scale; + return *this; + } + + GenoVector<2, T> & scale(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + return *this; + } + + GenoVector<2, T> & setX(T x) { + v[0] = x; + return *this; + } + + GenoVector<2, T> & setY(T y) { + v[1] = y; + return *this; + } + + GenoVector<2, T> & setXY(T x, T y) { + v[0] = x; + v[1] = y; + return *this; + } + + GenoVector<2, T> & setXY(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<2, T> & setYX(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<2, T> & translateX(T translateX) { + v[0] += translateX; + } + + GenoVector<2, T> & translateY(T translateY) { + v[1] += translateY; + } + + GenoVector<2, T> & translateXY(T translateX, T translateY) { + v[0] += translateX; + v[1] += translateY; + } + + GenoVector<2, T> & translateXY(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<2, T> & translateYX(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<2, T> & scaleX(T scaleX) { + v[0] *= scaleX; + } + + GenoVector<2, T> & scaleY(T scaleY) { + v[1] *= scaleY; + } + + GenoVector<2, T> & scaleXY(T scale) { + v[0] *= scale; + v[1] *= scale; + } + + GenoVector<2, T> & scaleXY(T scaleX, T scaleY) { + v[0] *= scaleX; + v[1] *= scaleY; + } + + GenoVector<2, T> & scaleXY(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<2, T> & scaleYX(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + T getX() const { + return v[0]; + } + + T getY() const { + return v[1]; + } + + GenoVector<2, T> getXX() const { + return { v[0], v[0] }; + } + + GenoVector<2, T> getXY() const { + return { v[0], v[1] }; + } + + GenoVector<2, T> getYX() const { + return { v[1], v[0] }; + } + + GenoVector<2, T> getYY() const { + return { v[1], v[1] }; + } + + GenoVector<3, T> getXXX() const { + return { v[0], v[0], v[0] }; + } + + GenoVector<3, T> getXXY() const { + return { v[0], v[0], v[1] }; + } + + GenoVector<3, T> getXYX() const { + return { v[0], v[1], v[0] }; + } + + GenoVector<3, T> getXYY() const { + return { v[0], v[1], v[1] }; + } + + GenoVector<3, T> getYXX() const { + return { v[1], v[0], v[0] }; + } + + GenoVector<3, T> getYXY() const { + return { v[1], v[0], v[1] }; + } + + GenoVector<3, T> getYYX() const { + return { v[1], v[1], v[0] }; + } + + GenoVector<3, T> getYYY() const { + return { v[1], v[1], v[1] }; + } + + GenoVector<4, T> getXXXX() const { + return { v[0], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getXXXY() const { + return { v[0], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getXXYX() const { + return { v[0], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getXXYY() const { + return { v[0], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getXYXX() const { + return { v[0], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getXYXY() const { + return { v[0], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getXYYX() const { + return { v[0], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getXYYY() const { + return { v[0], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getYXXX() const { + return { v[1], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getYXXY() const { + return { v[1], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getYXYX() const { + return { v[1], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getYXYY() const { + return { v[1], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getYYXX() const { + return { v[1], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getYYXY() const { + return { v[1], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getYYYX() const { + return { v[1], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getYYYY() const { + return { v[1], v[1], v[1], v[1] }; + } + + virtual ~GenoVector() noexcept { + clean(); + } +}; + +template +GenoVector<2, T> operator-(const GenoVector<2, T> & vector) { + return { + -vector.v[0], + -vector.v[1] + }; +} + +template +GenoVector<2, T> operator+(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return { + left.v[0] + right.v[0], + left.v[1] + right.v[1] + }; +} + +template +GenoVector<2, T> operator-(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return { + left.v[0] - right.v[0], + left.v[1] - right.v[1] + }; +} + +template +GenoVector<2, T> operator*(T left, const GenoVector<2, T> & right) { + return { + left * right.v[0], + left * right.v[1] + }; +} + +template +GenoVector<2, T> operator*(const GenoVector<2, T> & left, T right) { + return { + left.v[0] * right, + left.v[1] * right + }; +} + +template +GenoVector<2, T> operator*(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return { + left.v[0] * right.v[0], + left.v[1] * right.v[1] + }; +} + +template +GenoVector<2, T> operator/(const GenoVector<2, T> & left, T right) { + return { + left.v[0] / right, + left.v[1] / right + }; +} + +template +GenoVector<2, T> operator/(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return { + left.v[0] / right.v[0], + left.v[1] / right.v[1] + }; +} + +template +GenoVector<3, T> operator|(T left, const GenoVector<2, T> & right) { + return { + left, + right.v[0], + right.v[1] + }; +} + +template +GenoVector<3, T> operator|(const GenoVector<2, T> & left, T right) { + return { + left.v[0], + left.v[1], + right + }; +} + +template +GenoVector<4, T> operator|(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return { + left.v[0], + left.v[1], + right.v[0], + right.v[1] + }; +} + +template +GenoVector<2, T> setLength(const GenoVector<2, T> & vector, T length) { + auto scalar = length / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar + }; +} + +template +GenoVector<2, T> & setLength(const GenoVector<2, T> & vector, T length, GenoVector<2, T> & target) { + auto scalar = length / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + return target; +} + +template +GenoVector<2, T> normalize(const GenoVector<2, T> & vector) { + auto scalar = 1 / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar + }; +} + +template +GenoVector<2, T> & normalize(const GenoVector<2, T> & vector, GenoVector<2, T> & target) { + auto scalar = 1 / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + return target; +} + +template +GenoVector<2, T> setAngle(const GenoVector<2, T> & vector, T angle) { + auto length = vector.getLength(); + return { + cos(angle) * length, + sin(angle) * length + }; +} + +template +GenoVector<2, T> & setAngle(const GenoVector<2, T> & vector, T angle, GenoVector<2, T> & target) { + auto length = vector.getLength(); + target.v[0] = cos(angle) * length; + target.v[1] = sin(angle) * length; + return target; +} + +template +GenoVector<2, T> & rotate(const GenoVector<2, T> & vector, T angle) { + auto sine = sin(angle); + auto cosine = cos(angle); + return { + vector.v[0] * cosine - vector.v[1] * sine, + vector.v[0] * sine + vector.v[1] * cosine + }; +} + +template +GenoVector<2, T> & rotate(const GenoVector<2, T> & vector, T angle, GenoVector<2, T> & target) { + auto sine = sin(angle); + auto cosine = cos(angle); + target.v[0] = vector.v[0] * cosine - vector.v[1] * sine; + target.v[1] = vector.v[0] * sine + vector.v[1] * cosine; + return target; +} + +template +GenoVector<2, T> negate(const GenoVector<2, T> & vector) { + return { + -vector.v[0], + -vector.v[1] + }; +} + +template +GenoVector<2, T> & negate(const GenoVector<2, T> & vector, GenoVector<2, T> & target) { + target.v[0] = -vector.v[0]; + target.v[1] = -vector.v[1]; + return target; +} + +template +T dot(const GenoVector<2, T> & left, const GenoVector<2, T> & right) { + return ( + left.v[0] * right.v[0] + + left.v[1] * right.v[1] + ); +} + +template +GenoVector<2, T> project(const GenoVector<2, T> & vector, const GenoVector<2, T> & projection) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + return { + scalar * projection.v[0], + scalar * projection.v[1] + }; +} + +template +GenoVector<2, T> & project(const GenoVector<2, T> & vector, const GenoVector<2, T> & projection, GenoVector<2, T> & target) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + target.v[0] = scalar * projection.v[0]; + target.v[1] = scalar * projection.v[1]; + return target; +} + +template +GenoVector<2, T> lerp(const GenoVector<2, T> & start, const GenoVector<2, T> & end, double interpAmount) { + return { + (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount), + (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount) + }; +} + +template +GenoVector<2, T> & lerp(const GenoVector<2, T> & start, const GenoVector<2, T> & end, double interpAmount, GenoVector<2, T> & target) { + target.v[0] = (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount); + target.v[1] = (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount); + return target; +} + +template +GenoVector<2, T> shear(const GenoVector<2, T> & vector, T axisAngle, T shearAngle) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto scalar = vector.v[0] * sinAxis - vector.v[1] * cosAxis; + scalar *= tan(shearAngle); + return { + vector.v[0] + scalar * cosAxis, + vector.v[1] + scalar * sinAxis, + }; +} + +template +GenoVector<2, T> & shear(const GenoVector<2, T> & vector, T axisAngle, T shearAngle, GenoVector<2, T> & target) { + auto sinAxis = sin(axisAngle); + auto cosAxis = cos(axisAngle); + auto scalar = vector.v[0] * sinAxis - vector.v[1] * cosAxis; + scalar *= tan(shearAngle); + target.v[0] = vector.v[0] + scalar * cosAxis; + target.v[1] = vector.v[1] + scalar * sinAxis; + return target; +} + +template +GenoVector<2, T> shearX(const GenoVector<2, T> & vector, T angle) { + return { + vector.v[0] - vector.v[1] * tan(angle), + vector.v[1] + }; +} + +template +GenoVector<2, T> & shearX(const GenoVector<2, T> & vector, T angle, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] - vector.v[1] * tan(angle); + target.v[1] = vector.v[1]; + return target; +} + +template +GenoVector<2, T> shearY(const GenoVector<2, T> & vector, T angle) { + return { + vector.v[0], + vector.v[1] + vector.v[0] * tan(angle) + }; +} + +template +GenoVector<2, T> & shearY(const GenoVector<2, T> & vector, T angle, GenoVector<2, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + vector.v[0] * tan(angle); + return target; +} + +template +GenoVector<2, T> translate(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1] + }; +} + +template +GenoVector<2, T> & translate(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + return target; +} + +template +GenoVector<2, T> scale(const GenoVector<2, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale + }; +} + +template +GenoVector<2, T> & scale(const GenoVector<2, T> & vector, T scale, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + return target; +} + +template +GenoVector<2, T> scale(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1] + }; +} + +template +GenoVector<2, T> & scale(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + return target; +} + +template +GenoVector<2, T> setX(const GenoVector<2, T> & vector, T x) { + return { + x, + vector.v[1] + }; +} + +template +GenoVector<2, T> setY(const GenoVector<2, T> & vector, T y) { + return { + vector.v[0], + y + }; +} + +template +GenoVector<2, T> setX(const GenoVector<2, T> & vector, T x, GenoVector<2, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + return target; +} + +template +GenoVector<2, T> setY(const GenoVector<2, T> & vector, T y, GenoVector<2, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + return target; +} + +template +GenoVector<2, T> translateX(const GenoVector<2, T> & vector, T translateX) { + return { + vector.v[0] + translateX, + vector.v[1] + }; +} + +template +GenoVector<2, T> translateY(const GenoVector<2, T> & vector, T translateY) { + return { + vector.v[0], + vector.v[1] + translateY + }; +} + +template +GenoVector<2, T> translateXY(const GenoVector<2, T> & vector, T translateX, T translateY) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY + }; +} + +template +GenoVector<2, T> translateXY(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1] + }; +} + +template +GenoVector<2, T> translateYX(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0] + }; +} + +template +GenoVector<2, T> translateX(const GenoVector<2, T> & vector, T translateX, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + return target; +} + +template +GenoVector<2, T> translateY(const GenoVector<2, T> & vector, T translateY, GenoVector<2, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + return target; +} + +template +GenoVector<2, T> translateXY(const GenoVector<2, T> & vector, T translateX, T translateY, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + return target; +} + +template +GenoVector<2, T> translateXY(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + return target; +} + +template +GenoVector<2, T> translateYX(const GenoVector<2, T> & vector, const GenoVector<2, T> & translate, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + return target; +} + +template +GenoVector<2, T> scaleX(const GenoVector<2, T> & vector, T scaleX) { + return { + vector.v[0] * scaleX, + vector.v[1] + }; +} + +template +GenoVector<2, T> scaleY(const GenoVector<2, T> & vector, T scaleY) { + return { + vector.v[0], + vector.v[1] * scaleY + }; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale + }; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, T scaleX, T scaleY) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY + }; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1] + }; +} + +template +GenoVector<2, T> scaleYX(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0] + }; +} + +template +GenoVector<2, T> scaleX(const GenoVector<2, T> & vector, T scaleX, const GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + return target; +} + +template +GenoVector<2, T> scaleY(const GenoVector<2, T> & vector, T scaleY, const GenoVector<2, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + return target; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, T scale, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + return target; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, T scaleX, T scaleY, const GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + return target; +} + +template +GenoVector<2, T> scaleXY(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + return target; +} + +template +GenoVector<2, T> scaleYX(const GenoVector<2, T> & vector, const GenoVector<2, T> & scale, GenoVector<2, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + return target; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoVector<2, T> & vector) { + return stream << '<' << vector.v[0] << ", " << vector.v[1] << '>'; +} + +template using GenoVector2 = GenoVector<2, T>; + +using GenoVector2b = GenoVector2< int8 >; +using GenoVector2ub = GenoVector2; +using GenoVector2s = GenoVector2< int16>; +using GenoVector2us = GenoVector2; +using GenoVector2i = GenoVector2< int32>; +using GenoVector2ui = GenoVector2; +using GenoVector2l = GenoVector2< int64>; +using GenoVector2ul = GenoVector2; +using GenoVector2f = GenoVector2; +using GenoVector2d = GenoVector2; + +#define GNARLY_GENOME_VECTOR2_FORWARD +#endif // GNARLY_GENOME_VECTOR2 \ No newline at end of file diff --git a/src/geno/math/linear/GenoVector3.h b/src/geno/math/linear/GenoVector3.h new file mode 100644 index 0000000..d04786b --- /dev/null +++ b/src/geno/math/linear/GenoVector3.h @@ -0,0 +1,3105 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_VECTOR2_FORWARD +#define GNARLY_GENOME_VECTOR2_FORWARD + +template +class GenoVector<2, T>; + +#endif // GNARLY_GENOME_VECTOR2_FORWARD + +#ifndef GNARLY_GENOME_VECTOR4_FORWARD +#define GNARLY_GENOME_VECTOR4_FORWARD + +template +class GenoVector<4, T>; + +#endif // GNARLY_GENOME_VECTOR4_FORWARD + +#ifndef GNARLY_GENOME_VECTOR3 +#define GNARLY_GENOME_VECTOR3 + +#include +#include + +#include "GenoVector.h" +#include "GenoVector2.h" +#include "GenoVector4.h" +#include "GenoVectorDimensions.h" + +namespace GenoVectorDimensions { + extern GenoVectorDimension<2> z; +} + +template +class GenoVector<3, T> { + private: + bool owner = true; + + void clean() { + if (owner) + delete [] v; + } + + public: + T * v; + + GenoVector() : + v(new T[3]()) {} + + GenoVector(T * v, bool owner = true) noexcept : + owner(owner), + v(v) {} + + explicit GenoVector(T value) : + v(new T[3] { value, value, value }) {} + + GenoVector(T x, T y, T z) : + v(new T[3] { x, y, z }) {} + + template + GenoVector(const GenoVector<3, T2> & vector) : + v(new T[3] { + (T) vector.v[0], + (T) vector.v[1], + (T) vector.v[2] + }) {} + + GenoVector(const GenoVector<3, T> & vector) : + v(new T[3] { + vector.v[0], + vector.v[1], + vector.v[2] + }) {} + + GenoVector(GenoVector<3, T> && vector) : + owner(vector.owner), + v(vector.v) { + vector.owner = false; + } + + GenoVector<3, T> & operator=(const GenoVector<3, T> & vector) { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + v[2] = vector.v[2]; + return *this; + } + + GenoVector<3, T> & operator=(GenoVector<3, T> && vector) { + if (owner) { + clean(); + owner = vector.owner; + v = vector.v; + vector.owner = false; + } + else { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + v[2] = vector.v[2]; + } + return *this; + } + + GenoVector<3, T> & operator+=(const GenoVector<3, T> & vector) { + v[0] += vector.v[0]; + v[1] += vector.v[1]; + v[2] += vector.v[2]; + return *this; + } + + GenoVector<3, T> & operator-=(const GenoVector<3, T> & vector) { + v[0] -= vector.v[0]; + v[1] -= vector.v[1]; + v[2] -= vector.v[2]; + return *this; + } + + GenoVector<3, T> & operator*=(T scalar) { + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + return *this; + } + + GenoVector<3, T> & operator*=(const GenoVector<3, T> & vector) { + v[0] *= vector.v[0]; + v[1] *= vector.v[1]; + v[2] *= vector.v[2]; + return *this; + } + + GenoVector<3, T> & operator/=(T scalar) { + v[0] /= scalar; + v[1] /= scalar; + v[2] /= scalar; + return *this; + } + + GenoVector<3, T> & operator/=(const GenoVector<3, T> & vector) { + v[0] /= vector.v[0]; + v[1] /= vector.v[1]; + v[2] /= vector.v[2]; + return *this; + } + + T & operator[](uint32 index) noexcept { + return v[index]; + } + + const T & operator[](uint32 index) const noexcept { + return v[index]; + } + + template + T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 3, "GenoVector<3, T> has no dimension w!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<3, T> has no dimension beyond z!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + template + const T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) const noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension != 3, "GenoVector<3, T> has no dimension w!"); + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<3, T> has no dimension beyond z!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + T & x() noexcept { + return v[0]; + } + + const T & x() const noexcept { + return v[0]; + } + + T & y() noexcept { + return v[1]; + } + + const T & y() const noexcept { + return v[1]; + } + + T & z() noexcept { + return v[2]; + } + + const T & z() const noexcept { + return v[2]; + } + + T getLength() const { + return sqrt( + v[0] * v[0] + + v[1] * v[1] + + v[2] * v[2] + ); + } + + T getLengthSquared() const { + return ( + v[0] * v[0] + + v[1] * v[1] + + v[2] * v[2] + ); + } + + GenoVector<3, T> & setLength(T length) { + auto scalar = length / getLength(); + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + return *this; + } + + GenoVector<3, T> & normalize() { + auto scalar = 1 / getLength(); + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + return *this; + } + + GenoVector<3, T> & negate() { + v[0] = -v[0]; + v[1] = -v[1]; + v[2] = -v[2]; + return *this; + } + + GenoVector<3, T> & project(const GenoVector<3, T> & projection) { + auto scalar = dot(*this, projection) / projection.getLengthSquared(); + v[0] /= scalar; + v[1] /= scalar; + v[2] /= scalar; + return *this; + } + + GenoVector<3, T> & bisect(const GenoVector<3, T> & vector) { + return *this = getLength() * vector + *this * vector.getLength(); + } + + GenoVector<3, T> & lerp(const GenoVector<3, T> & end, double interpAmount) { + v[0] = (T) (v[0] + (end.v[0] - v[0]) * interpAmount); + v[1] = (T) (v[1] + (end.v[1] - v[1]) * interpAmount); + v[2] = (T) (v[2] + (end.v[2] - v[2]) * interpAmount); + return *this; + } + + bool isZeroVector() { + return v[0] == 0 && + v[1] == 0 && + v[2] == 0; + } + + GenoVector<3, T> & cross(const GenoVector<3, T> & cross) { + T v0 = v[1] * cross.v[2] - v[2] * cross.v[1]; + T v1 = v[2] * cross.v[0] - v[0] * cross.v[2]; + v[2] = v[0] * cross.v[1] - v[1] * cross.v[0]; + v[0] = v0; + v[1] = v1; + return *this; + } + + GenoVector<3, T> & set(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<3, T> & translate(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + return *this; + } + + GenoVector<3, T> & scale(T scale) { + v[0] *= scale; + v[1] *= scale; + v[2] *= scale; + return *this; + } + + GenoVector<3, T> & scale(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + return *this; + } + + GenoVector<3, T> & setX(T x) { + v[0] = x; + return *this; + } + + GenoVector<3, T> & setY(T y) { + v[1] = y; + return *this; + } + + GenoVector<3, T> & setZ(T z) { + v[2] = z; + return *this; + } + + GenoVector<3, T> & setXY(T x, T y) { + v[0] = x; + v[1] = y; + return *this; + } + + GenoVector<3, T> & setXY(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setXZ(T x, T z) { + v[0] = x; + v[2] = z; + return *this; + } + + GenoVector<3, T> & setXZ(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setYX(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setYZ(T y, T z) { + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & setYZ(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setZX(const GenoVector<2, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setZY(const GenoVector<2, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<3, T> & setXYZ(T x, T y, T z) { + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & setXYZ(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<3, T> & setXZY(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<3, T> & setYXZ(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<3, T> & setYZX(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<3, T> & setZXY(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<3, T> & setZYX(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<3, T> & translateX(T translateX) { + v[0] += translateX; + } + + GenoVector<3, T> & translateY(T translateY) { + v[1] += translateY; + } + + GenoVector<3, T> & translateZ(T translateZ) { + v[2] += translateZ; + } + + GenoVector<3, T> & translateXY(T translateX, T translateY) { + v[0] += translateX; + v[1] += translateY; + } + + GenoVector<3, T> & translateXY(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<3, T> & translateXZ(T translateX, T translateZ) { + v[0] += translateX; + v[2] += translateZ; + } + + GenoVector<3, T> & translateXZ(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + } + + GenoVector<3, T> & translateYX(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<3, T> & translateYZ(T translateY, T translateZ) { + v[1] += translateY; + v[2] += translateZ; + } + + GenoVector<3, T> & translateYZ(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + } + + GenoVector<3, T> & translateZX(const GenoVector<2, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<3, T> & translateZY(const GenoVector<2, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<3, T> & translateXYZ(T translateX, T translateY, T translateZ) { + v[0] += translateX; + v[1] += translateY; + v[2] += translateZ; + } + + GenoVector<3, T> & translateXYZ(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<3, T> & translateXZY(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<3, T> & translateYXZ(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<3, T> & translateYZX(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<3, T> & translateZXY(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<3, T> & translateZYX(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<3, T> & rotateX(T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto y = v[1] * ( cosX ) + v[2] * (-sinX ); + auto z = v[1] * ( sinX ) + v[2] * ( cosX ); + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateY(T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto x = v[0] * ( cosY ) + v[2] * ( sinY ); + auto z = v[0] * (-sinY ) + v[2] * ( cosY ); + v[0] = x; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateZ(T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto x = v[0] * ( cosZ ) + v[1] * (-sinZ ); + auto y = v[0] * ( sinZ ) + v[1] * ( cosZ ); + v[0] = x; + v[1] = y; + return *this; + } + + GenoVector<3, T> & rotateXY(T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto x = v[0] * ( cosY ) + v[1] * ( sinY * sinX ) + v[2] * ( sinY * cosX ); + auto y = v[1] * ( cosX ) + v[2] * (-sinX ); + auto z = v[0] * (-sinY ) + v[1] * ( cosY * sinX ) + v[2] * ( cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXY(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto x = v[0] * ( cosY ) + v[1] * ( sinY * sinX ) + v[2] * ( sinY * cosX ); + auto y = v[1] * ( cosX ) + v[2] * (-sinX ); + auto z = v[0] * (-sinY ) + v[1] * ( cosY * sinX ) + v[2] * ( cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXZ(T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto x = v[0] * ( cosZ ) + v[1] * (-sinZ * cosX ) + v[2] * ( sinZ * sinX ); + auto y = v[0] * ( sinZ ) + v[1] * ( cosZ * cosX ) + v[2] * (-cosZ * sinX ); + auto z = v[1] * ( sinX ) + v[2] * ( cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXZ(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto x = v[0] * ( cosZ ) + v[1] * (-sinZ * cosX ) + v[2] * ( sinZ * sinX ); + auto y = v[0] * ( sinZ ) + v[1] * ( cosZ * cosX ) + v[2] * (-cosZ * sinX ); + auto z = v[1] * ( sinX ) + v[2] * ( cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateYX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto x = v[0] * ( cosY ) + v[2] * ( sinY ); + auto y = v[0] * ( sinX * sinY ) + v[1] * ( cosX ) + v[2] * (-sinX * cosY ); + auto z = v[0] * (-cosX * sinY ) + v[1] * ( sinX ) + v[2] * ( cosX * cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateYZ(T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto x = v[0] * ( cosZ * cosY ) + v[1] * (-sinZ ) + v[2] * ( cosZ * sinY ); + auto y = v[0] * ( sinZ * cosY ) + v[1] * ( cosZ ) + v[2] * ( sinZ * sinY ); + auto z = v[0] * (-sinY ) + v[2] * ( cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateYZ(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto x = v[0] * ( cosZ * cosY ) + v[1] * (-sinZ ) + v[2] * ( cosZ * sinY ); + auto y = v[0] * ( sinZ * cosY ) + v[1] * ( cosZ ) + v[2] * ( sinZ * sinY ); + auto z = v[0] * (-sinY ) + v[2] * ( cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateZX(const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto x = v[0] * ( cosZ ) + v[1] * (-sinZ ); + auto y = v[0] * ( cosX * sinZ ) + v[1] * ( cosX * cosZ ) + v[2] * (-sinX ); + auto z = v[0] * ( sinX * sinZ ) + v[1] * ( sinX * cosZ ) + v[2] * ( cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateZY(const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto x = v[0] * ( cosY * cosZ ) + v[1] * (-cosY * sinZ ) + v[2] * ( sinY ); + auto y = v[0] * ( sinZ ) + v[1] * ( cosZ ); + auto z = v[0] * (-sinY * cosZ ) + v[1] * ( sinY * sinZ ) + v[2] * ( cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXYZ(T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + auto x = v[0] * ( cosZ * cosY ) + v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + v[2] * ( sinZ * sinX + cosZ * sinY * cosX ); + auto y = v[0] * ( sinZ * cosY ) + v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + v[2] * (-cosZ * sinX + sinZ * sinY * cosX ); + auto z = v[0] * (-sinY ) + v[1] * ( cosY * sinX ) + v[2] * ( cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXYZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto x = v[0] * ( cosZ * cosY ) + v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + v[2] * ( sinZ * sinX + cosZ * sinY * cosX ); + auto y = v[0] * ( sinZ * cosY ) + v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + v[2] * (-cosZ * sinX + sinZ * sinY * cosX ); + auto z = v[0] * (-sinY ) + v[1] * ( cosY * sinX ) + v[2] * ( cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateXZY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto x = v[0] * ( cosY * cosZ ) + v[1] * (-cosY * sinZ * cosX + sinY * sinX ) + v[2] * ( cosY * sinZ * sinX + sinY * cosX ); + auto y = v[0] * ( sinZ ) + v[1] * ( cosZ * cosX ) + v[2] * (-cosZ * sinX ); + auto z = v[0] * (-sinY * cosZ ) + v[1] * ( sinY * sinZ * cosX + cosY * sinX ) + v[2] * (-sinY * sinZ * sinX + cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateYXZ(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + auto x = v[0] * ( cosZ * cosY - sinZ * sinX * sinY ) + v[1] * (-sinZ * cosX ) + v[2] * ( cosZ * sinY + sinZ * sinX * cosY ); + auto y = v[0] * ( sinZ * cosY + cosZ * sinX * sinY ) + v[1] * ( cosZ * cosX ) + v[2] * ( sinZ * sinY - cosZ * sinX * cosY ); + auto z = v[0] * (-cosX * sinY ) + v[1] * ( sinX ) + v[2] * ( cosX * cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateYZX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + auto x = v[0] * ( cosZ * cosY ) + v[1] * (-sinZ ) + v[2] * ( cosZ * sinY ); + auto y = v[0] * ( cosX * sinZ * cosY + sinX * sinY ) + v[1] * ( cosX * cosZ ) + v[2] * ( cosX * sinZ * sinY - sinX * cosY ); + auto z = v[0] * ( sinX * sinZ * cosY - cosX * sinY ) + v[1] * ( sinX * cosZ ) + v[2] * ( sinX * sinZ * sinY + cosX * cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateZXY(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto x = v[0] * ( cosY * cosZ + sinY * sinX * sinZ ) + v[1] * (-cosY * sinZ + sinY * sinX * cosZ ) + v[2] * ( sinY * cosX ); + auto y = v[0] * ( cosX * sinZ ) + v[1] * ( cosX * cosZ ) + v[2] * (-sinX ); + auto z = v[0] * (-sinY * cosZ + cosY * sinX * sinZ ) + v[1] * ( sinY * sinZ + cosY * sinX * cosZ ) + v[2] * ( cosY * cosX ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & rotateZYX(const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + auto x = v[0] * ( cosY * cosZ ) + v[1] * (-cosY * sinZ ) + v[2] * ( sinY ); + auto y = v[0] * ( sinX * sinY * cosZ + cosX * sinZ ) + v[1] * (-sinX * sinY * sinZ + cosX * cosZ ) + v[2] * (-sinX * cosY ); + auto z = v[0] * (-cosX * sinY * cosZ + sinX * sinZ ) + v[1] * ( cosX * sinY * sinZ + sinX * cosZ ) + v[2] * ( cosX * cosY ); + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<3, T> & scaleX(T scaleX) { + v[0] *= scaleX; + } + + GenoVector<3, T> & scaleY(T scaleY) { + v[1] *= scaleY; + } + + GenoVector<3, T> & scaleZ(T scaleZ) { + v[2] *= scaleZ; + } + + GenoVector<3, T> & scaleXY(T scale) { + v[0] *= scale; + v[1] *= scale; + } + + GenoVector<3, T> & scaleXY(T scaleX, T scaleY) { + v[0] *= scaleX; + v[1] *= scaleY; + } + + GenoVector<3, T> & scaleXY(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<3, T> & scaleXZ(T scale) { + v[0] *= scale; + v[2] *= scale; + } + + GenoVector<3, T> & scaleXZ(T scaleX, T scaleZ) { + v[0] *= scaleX; + v[2] *= scaleZ; + } + + GenoVector<3, T> & scaleXZ(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + } + + GenoVector<3, T> & scaleYX(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + GenoVector<3, T> & scaleYZ(T scale) { + v[1] *= scale; + v[2] *= scale; + } + + GenoVector<3, T> & scaleYZ(T scaleY, T scaleZ) { + v[1] *= scaleY; + v[2] *= scaleZ; + } + + GenoVector<3, T> & scaleYZ(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + } + + GenoVector<3, T> & scaleZX(const GenoVector<2, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + GenoVector<3, T> & scaleZY(const GenoVector<2, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<3, T> & scaleXYZ(T scale) { + v[0] *= scale; + v[1] *= scale; + v[2] *= scale; + } + + GenoVector<3, T> & scaleXYZ(T scaleX, T scaleY, T scaleZ) { + v[0] *= scaleX; + v[1] *= scaleY; + v[2] *= scaleZ; + } + + GenoVector<3, T> & scaleXYZ(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<3, T> & scaleXZY(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<3, T> & scaleYXZ(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<3, T> & scaleYZX(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<3, T> & scaleZXY(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<3, T> & scaleZYX(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + T getX() const { + return v[0]; + } + + T getY() const { + return v[1]; + } + + T getZ() const { + return v[2]; + } + + GenoVector<2, T> getXX() const { + return { v[0], v[0] }; + } + + GenoVector<2, T> getXY() const { + return { v[0], v[1] }; + } + + GenoVector<2, T> getXZ() const { + return { v[0], v[2] }; + } + + GenoVector<2, T> getYX() const { + return { v[1], v[0] }; + } + + GenoVector<2, T> getYY() const { + return { v[1], v[1] }; + } + + GenoVector<2, T> getYZ() const { + return { v[1], v[2] }; + } + + GenoVector<2, T> getZX() const { + return { v[2], v[0] }; + } + + GenoVector<2, T> getZY() const { + return { v[2], v[1] }; + } + + GenoVector<2, T> getZZ() const { + return { v[2], v[2] }; + } + + GenoVector<3, T> getXXX() const { + return { v[0], v[0], v[0] }; + } + + GenoVector<3, T> getXXY() const { + return { v[0], v[0], v[1] }; + } + + GenoVector<3, T> getXXZ() const { + return { v[0], v[0], v[2] }; + } + + GenoVector<3, T> getXYX() const { + return { v[0], v[1], v[0] }; + } + + GenoVector<3, T> getXYY() const { + return { v[0], v[1], v[1] }; + } + + GenoVector<3, T> getXYZ() const { + return { v[0], v[1], v[2] }; + } + + GenoVector<3, T> getXZX() const { + return { v[0], v[2], v[0] }; + } + + GenoVector<3, T> getXZY() const { + return { v[0], v[2], v[1] }; + } + + GenoVector<3, T> getXZZ() const { + return { v[0], v[2], v[2] }; + } + + GenoVector<3, T> getYXX() const { + return { v[1], v[0], v[0] }; + } + + GenoVector<3, T> getYXY() const { + return { v[1], v[0], v[1] }; + } + + GenoVector<3, T> getYXZ() const { + return { v[1], v[0], v[2] }; + } + + GenoVector<3, T> getYYX() const { + return { v[1], v[1], v[0] }; + } + + GenoVector<3, T> getYYY() const { + return { v[1], v[1], v[1] }; + } + + GenoVector<3, T> getYYZ() const { + return { v[1], v[1], v[2] }; + } + + GenoVector<3, T> getYZX() const { + return { v[1], v[2], v[0] }; + } + + GenoVector<3, T> getYZY() const { + return { v[1], v[2], v[1] }; + } + + GenoVector<3, T> getYZZ() const { + return { v[1], v[2], v[2] }; + } + + GenoVector<3, T> getZXX() const { + return { v[2], v[0], v[0] }; + } + + GenoVector<3, T> getZXY() const { + return { v[2], v[0], v[1] }; + } + + GenoVector<3, T> getZXZ() const { + return { v[2], v[0], v[2] }; + } + + GenoVector<3, T> getZYX() const { + return { v[2], v[1], v[0] }; + } + + GenoVector<3, T> getZYY() const { + return { v[2], v[1], v[1] }; + } + + GenoVector<3, T> getZYZ() const { + return { v[2], v[1], v[2] }; + } + + GenoVector<3, T> getZZX() const { + return { v[2], v[2], v[0] }; + } + + GenoVector<3, T> getZZY() const { + return { v[2], v[2], v[1] }; + } + + GenoVector<3, T> getZZZ() const { + return { v[2], v[2], v[2] }; + } + + GenoVector<4, T> getXXXX() const { + return { v[0], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getXXXY() const { + return { v[0], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getXXXZ() const { + return { v[0], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getXXYX() const { + return { v[0], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getXXYY() const { + return { v[0], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getXXYZ() const { + return { v[0], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getXXZX() const { + return { v[0], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getXXZY() const { + return { v[0], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getXXZZ() const { + return { v[0], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getXYXX() const { + return { v[0], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getXYXY() const { + return { v[0], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getXYXZ() const { + return { v[0], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getXYYX() const { + return { v[0], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getXYYY() const { + return { v[0], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getXYYZ() const { + return { v[0], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getXYZX() const { + return { v[0], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getXYZY() const { + return { v[0], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getXYZZ() const { + return { v[0], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getXZXX() const { + return { v[0], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getXZXY() const { + return { v[0], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getXZXZ() const { + return { v[0], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getXZYX() const { + return { v[0], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getXZYY() const { + return { v[0], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getXZYZ() const { + return { v[0], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getXZZX() const { + return { v[0], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getXZZY() const { + return { v[0], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getXZZZ() const { + return { v[0], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getYXXX() const { + return { v[1], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getYXXY() const { + return { v[1], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getYXXZ() const { + return { v[1], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getYXYX() const { + return { v[1], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getYXYY() const { + return { v[1], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getYXYZ() const { + return { v[1], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getYXZX() const { + return { v[1], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getYXZY() const { + return { v[1], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getYXZZ() const { + return { v[1], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getYYXX() const { + return { v[1], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getYYXY() const { + return { v[1], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getYYXZ() const { + return { v[1], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getYYYX() const { + return { v[1], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getYYYY() const { + return { v[1], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getYYYZ() const { + return { v[1], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getYYZX() const { + return { v[1], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getYYZY() const { + return { v[1], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getYYZZ() const { + return { v[1], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getYZXX() const { + return { v[1], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getYZXY() const { + return { v[1], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getYZXZ() const { + return { v[1], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getYZYX() const { + return { v[1], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getYZYY() const { + return { v[1], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getYZYZ() const { + return { v[1], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getYZZX() const { + return { v[1], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getYZZY() const { + return { v[1], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getYZZZ() const { + return { v[1], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getZXXX() const { + return { v[2], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getZXXY() const { + return { v[2], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getZXXZ() const { + return { v[2], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getZXYX() const { + return { v[2], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getZXYY() const { + return { v[2], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getZXYZ() const { + return { v[2], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getZXZX() const { + return { v[2], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getZXZY() const { + return { v[2], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getZXZZ() const { + return { v[2], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getZYXX() const { + return { v[2], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getZYXY() const { + return { v[2], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getZYXZ() const { + return { v[2], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getZYYX() const { + return { v[2], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getZYYY() const { + return { v[2], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getZYYZ() const { + return { v[2], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getZYZX() const { + return { v[2], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getZYZY() const { + return { v[2], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getZYZZ() const { + return { v[2], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getZZXX() const { + return { v[2], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getZZXY() const { + return { v[2], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getZZXZ() const { + return { v[2], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getZZYX() const { + return { v[2], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getZZYY() const { + return { v[2], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getZZYZ() const { + return { v[2], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getZZZX() const { + return { v[2], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getZZZY() const { + return { v[2], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getZZZZ() const { + return { v[2], v[2], v[2], v[2] }; + } + + virtual ~GenoVector() noexcept { + clean(); + } +}; + +template +GenoVector<3, T> operator-(const GenoVector<3, T> & vector) { + return { + -vector.v[0], + -vector.v[1], + -vector.v[2] + }; +} + +template +GenoVector<3, T> operator+(const GenoVector<3, T> & left, const GenoVector<3, T> & right) { + return { + left.v[0] + right.v[0], + left.v[1] + right.v[1], + left.v[2] + right.v[2] + }; +} + +template +GenoVector<3, T> operator-(const GenoVector<3, T> & left, const GenoVector<3, T> & right) { + return { + left.v[0] - right.v[0], + left.v[1] - right.v[1], + left.v[2] - right.v[2] + }; +} + +template +GenoVector<3, T> operator*(T left, const GenoVector<3, T> & right) { + return { + left * right.v[0], + left * right.v[1], + left * right.v[2] + }; +} + +template +GenoVector<3, T> operator*(const GenoVector<3, T> & left, T right) { + return { + left.v[0] * right, + left.v[1] * right, + left.v[2] * right + }; +} + +template +GenoVector<3, T> operator*(const GenoVector<3, T> & left, const GenoVector<3, T> & right) { + return { + left.v[0] * right.v[0], + left.v[1] * right.v[1], + left.v[2] * right.v[2] + }; +} + +template +GenoVector<3, T> operator/(const GenoVector<3, T> & left, T right) { + return { + left.v[0] / right, + left.v[1] / right, + left.v[2] / right + }; +} + +template +GenoVector<3, T> operator/(const GenoVector<3, T> & left, const GenoVector<3, T> & right) { + return { + left.v[0] / right.v[0], + left.v[1] / right.v[1], + left.v[2] / right.v[2] + }; +} + +template +GenoVector<4, T> operator|(T left, const GenoVector<3, T> & right) { + return { + left, + right.v[0], + right.v[1], + right.v[2] + }; +} + +template +GenoVector<4, T> operator|(const GenoVector<3, T> & left, T right) { + return { + left.v[0], + left.v[1], + left.v[2], + right + }; +} + +template +GenoVector<3, T> setLength(const GenoVector<3, T> & vector, T length) { + auto scalar = length / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar, + vector.v[2] * scalar + }; +} + +template +GenoVector<3, T> & setLength(const GenoVector<3, T> & vector, T length, GenoVector<3, T> & target) { + auto scalar = length / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + target.v[2] = vector.v[2] * scalar; + return target; +} + +template +GenoVector<3, T> normalize(const GenoVector<3, T> & vector) { + auto scalar = 1 / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar, + vector.v[2] * scalar + }; +} + +template +GenoVector<3, T> & normalize(const GenoVector<3, T> & vector, GenoVector<3, T> & target) { + auto scalar = 1 / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + target.v[2] = vector.v[2] * scalar; + return target; +} + +template +GenoVector<3, T> negate(const GenoVector<3, T> & vector) { + return { + -vector.v[0], + -vector.v[1], + -vector.v[2] + }; +} + +template +GenoVector<3, T> & negate(const GenoVector<3, T> & vector, GenoVector<3, T> & target) { + target.v[0] = -vector.v[0]; + target.v[1] = -vector.v[1]; + target.v[2] = -vector.v[2]; + return target; +} + +template +T dot(const GenoVector<3, T> & left, const GenoVector<3, T> & right) { + return ( + left.v[0] * right.v[0] + + left.v[1] * right.v[1] + + left.v[2] * right.v[2] + ); +} + +template +GenoVector<3, T> project(const GenoVector<3, T> & vector, const GenoVector<3, T> & projection) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + return { + scalar * projection.v[0], + scalar * projection.v[1], + scalar * projection.v[2] + }; +} + +template +GenoVector<3, T> & project(const GenoVector<3, T> & vector, const GenoVector<3, T> & projection, GenoVector<3, T> & target) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + target.v[0] = scalar * projection.v[0]; + target.v[1] = scalar * projection.v[1]; + target.v[2] = scalar * projection.v[2]; + return target; +} + +template +GenoVector<3, T> lerp(const GenoVector<3, T> & start, const GenoVector<3, T> & end, double interpAmount) { + return { + (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount), + (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount), + (T) (start.v[2] + (end.v[2] - start.v[2]) * interpAmount) + }; +} + +template +GenoVector<3, T> & lerp(const GenoVector<3, T> & start, const GenoVector<3, T> & end, double interpAmount, GenoVector<3, T> & target) { + target.v[0] = (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount); + target.v[1] = (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount); + target.v[2] = (T) (start.v[2] + (end.v[2] - start.v[2]) * interpAmount); + return target; +} + +template +GenoVector<3, T> cross(const GenoVector<3, T> & vector, const GenoVector<3, T> & cross) { + return { + vector.v[1] * cross.v[2] - vector.v[2] * cross.v[1], + vector.v[2] * cross.v[0] - vector.v[0] * cross.v[2], + vector.v[0] * cross.v[1] - vector.v[1] * cross.v[0] + }; +} + +template +GenoVector<3, T> & cross(const GenoVector<3, T> & vector, const GenoVector<3, T> & cross, GenoVector<3, T> & target) { + target.v[0] = vector.v[1] * cross.v[2] - vector.v[2] * cross.v[1]; + target.v[1] = vector.v[2] * cross.v[0] - vector.v[0] * cross.v[2]; + target.v[2] = vector.v[0] * cross.v[1] - vector.v[1] * cross.v[0]; + return target; +} + +template +GenoVector<3, T> translate(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2] + }; +} + +template +GenoVector<3, T> & translate(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + return target; +} + +template +GenoVector<3, T> scale(const GenoVector<3, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] * scale + }; +} + +template +GenoVector<3, T> & scale(const GenoVector<3, T> & vector, T scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + return target; +} + +template +GenoVector<3, T> scale(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2] + }; +} + +template +GenoVector<3, T> & scale(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + return target; +} + +template +GenoVector<3, T> setX(const GenoVector<3, T> & vector, T x) { + return { + x, + vector.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> setY(const GenoVector<3, T> & vector, T y) { + return { + vector.v[0], + y, + vector.v[2] + }; +} + +template +GenoVector<3, T> setZ(const GenoVector<3, T> & vector, T z) { + return { + vector.v[0], + vector.v[1], + z + }; +} + +template +GenoVector<3, T> setXY(const GenoVector<3, T> & vector, T x, T y) { + return { + x, + y, + vector.v[2] + }; +} + +template +GenoVector<3, T> setXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[0], + set.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> setXZ(const GenoVector<3, T> & vector, T x, T z) { + return { + x, + vector.v[1], + z + }; +} + +template +GenoVector<3, T> setXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[0], + vector.v[1], + set.v[1] + }; +} + +template +GenoVector<3, T> setYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[1], + set.v[0], + vector.v[2] + }; +} + +template +GenoVector<3, T> setYZ(const GenoVector<3, T> & vector, T y, T z) { + return { + vector.v[0], + y, + z + }; +} + +template +GenoVector<3, T> setYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[0], + set.v[1] + }; +} + +template +GenoVector<3, T> setZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[1], + vector.v[1], + set.v[0] + }; +} + +template +GenoVector<3, T> setZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[1], + set.v[0] + }; +} + +template +GenoVector<3, T> setX(const GenoVector<3, T> & vector, T x, GenoVector<3, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> setY(const GenoVector<3, T> & vector, T y, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> setZ(const GenoVector<3, T> & vector, T z, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = z; + return target; +} + +template +GenoVector<3, T> setXY(const GenoVector<3, T> & vector, T x, T y, GenoVector<3, T> & target) { + target.v[0] = x; + target.v[1] = y; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> setXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> setXZ(const GenoVector<3, T> & vector, T x, T z, GenoVector<3, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = z; + return target; +} + +template +GenoVector<3, T> setXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[1]; + return target; +} + +template +GenoVector<3, T> setYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[0]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> setYZ(const GenoVector<3, T> & vector, T y, T z, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = z; + return target; +} + +template +GenoVector<3, T> setYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[0]; + target.v[2] = set.v[1]; + return target; +} + +template +GenoVector<3, T> setZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[0]; + return target; +} + +template +GenoVector<3, T> setZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & set, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[1]; + target.v[2] = set.v[0]; + return target; +} + +template +GenoVector<3, T> translateX(const GenoVector<3, T> & vector, T translateX) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> translateY(const GenoVector<3, T> & vector, T translateY) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2] + }; +} + +template +GenoVector<3, T> translateZ(const GenoVector<3, T> & vector, T translateZ) { + return { + vector.v[0], + vector.v[1], + vector.v[2] + translateZ + }; +} + +template +GenoVector<3, T> translateXY(const GenoVector<3, T> & vector, T translateX, T translateY) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2] + }; +} + +template +GenoVector<3, T> translateXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> translateXZ(const GenoVector<3, T> & vector, T translateX, T translateZ) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2] + translateZ + }; +} + +template +GenoVector<3, T> translateXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1], + vector.v[2] + translate.v[1] + }; +} + +template +GenoVector<3, T> translateYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2] + }; +} + +template +GenoVector<3, T> translateYZ(const GenoVector<3, T> & vector, T translateY, T translateZ) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2] + translateZ + }; +} + +template +GenoVector<3, T> translateYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1] + }; +} + +template +GenoVector<3, T> translateZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1], + vector.v[2] + translate.v[0] + }; +} + +template +GenoVector<3, T> translateZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0] + }; +} + +template +GenoVector<3, T> translateXYZ(const GenoVector<3, T> & vector, T translateX, T translateY, T translateZ) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2] + translateZ + }; +} + +template +GenoVector<3, T> translateXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2] + }; +} + +template +GenoVector<3, T> translateXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[1] + }; +} + +template +GenoVector<3, T> translateYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[2] + }; +} + +template +GenoVector<3, T> translateYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1] + }; +} + +template +GenoVector<3, T> translateZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[0] + }; +} + +template +GenoVector<3, T> translateZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0] + }; +} + +template +GenoVector<3, T> translateX(const GenoVector<3, T> & vector, T translateX, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> translateY(const GenoVector<3, T> & vector, T translateY, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> translateZ(const GenoVector<3, T> & vector, T translateZ, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + return target; +} + +template +GenoVector<3, T> translateXY(const GenoVector<3, T> & vector, T translateX, T translateY, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> translateXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> translateXZ(const GenoVector<3, T> & vector, T translateX, T translateZ, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + return target; +} + +template +GenoVector<3, T> translateXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[1]; + return target; +} + +template +GenoVector<3, T> translateYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> translateYZ(const GenoVector<3, T> & vector, T translateY, T translateZ, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + return target; +} + +template +GenoVector<3, T> translateYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + return target; +} + +template +GenoVector<3, T> translateZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + return target; +} + +template +GenoVector<3, T> translateZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + return target; +} + +template +GenoVector<3, T> translateXYZ(const GenoVector<3, T> & vector, T translateX, T translateY, T translateZ, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + return target; +} + +template +GenoVector<3, T> translateXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + return target; +} + +template +GenoVector<3, T> translateXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[1]; + return target; +} + +template +GenoVector<3, T> translateYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[2]; + return target; +} + +template +GenoVector<3, T> translateYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + return target; +} + +template +GenoVector<3, T> translateZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[0]; + return target; +} + +template +GenoVector<3, T> translateZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & translate, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + return target; +} + +template +GenoVector<3, T> & rotateX(const GenoVector<3, T> & vector, T rotateX) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + return { + vector.v[0], + vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ), + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ) + }; +} + +template +GenoVector<3, T> & rotateY(const GenoVector<3, T> & vector, T rotateY) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + return { + vector.v[0] * ( cosY ) + vector.v[2] * ( sinY ), + vector.v[1], + vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ) + }; +} + +template +GenoVector<3, T> & rotateZ(const GenoVector<3, T> & vector, T rotateZ) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return { + vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ ), + vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ ), + vector.v[2] + }; +} + +template +GenoVector<3, T> & rotateXY(const GenoVector<3, T> & vector, T rotateX, T rotateY) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + return { + vector.v[0] * ( cosY ) + vector.v[1] * ( sinY * sinX ) + vector.v[2] * ( sinY * cosX ), + vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ), + vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + return { + vector.v[0] * ( cosY ) + vector.v[1] * ( sinY * sinX ) + vector.v[2] * ( sinY * cosX ), + vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ), + vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateXZ(const GenoVector<3, T> & vector, T rotateX, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return { + vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( sinZ * sinX ), + vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ), + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ) + }; +} + +template +GenoVector<3, T> & rotateXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return { + vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( sinZ * sinX ), + vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ), + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ) + }; +} + +template +GenoVector<3, T> & rotateYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + return { + vector.v[0] * ( cosY ) + vector.v[2] * ( sinY ), + vector.v[0] * ( sinX * sinY ) + vector.v[1] * ( cosX ) + vector.v[2] * (-sinX * cosY ), + vector.v[0] * (-cosX * sinY ) + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX * cosY ) + }; +} + +template +GenoVector<3, T> & rotateYZ(const GenoVector<3, T> & vector, T rotateY, T rotateZ) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return { + vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ), + vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ ) + vector.v[2] * ( sinZ * sinY ), + vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ) + }; +} + +template +GenoVector<3, T> & rotateYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return { + vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ), + vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ ) + vector.v[2] * ( sinZ * sinY ), + vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ) + }; +} + +template +GenoVector<3, T> & rotateZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return { + vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ ), + vector.v[0] * ( cosX * sinZ ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * (-sinX ), + vector.v[0] * ( sinX * sinZ ) + vector.v[1] * ( sinX * cosZ ) + vector.v[2] * ( cosX ) + }; +} + +template +GenoVector<3, T> & rotateZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return { + vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ ) + vector.v[2] * ( sinY ), + vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ ), + vector.v[0] * (-sinY * cosZ ) + vector.v[1] * ( sinY * sinZ ) + vector.v[2] * ( cosY ) + }; +} + +template +GenoVector<3, T> & rotateXYZ(const GenoVector<3, T> & vector, T rotateX, T rotateY, T rotateZ) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + return { + vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + vector.v[2] * ( sinZ * sinX + cosZ * sinY * cosX ), + vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + vector.v[2] * (-cosZ * sinX + sinZ * sinY * cosX ), + vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + return { + vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + vector.v[2] * ( sinZ * sinX + cosZ * sinY * cosX ), + vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + vector.v[2] * (-cosZ * sinX + sinZ * sinY * cosX ), + vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return { + vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ * cosX + sinY * sinX ) + vector.v[2] * ( cosY * sinZ * sinX + sinY * cosX ), + vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ), + vector.v[0] * (-sinY * cosZ ) + vector.v[1] * ( sinY * sinZ * cosX + cosY * sinX ) + vector.v[2] * (-sinY * sinZ * sinX + cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + return { + vector.v[0] * ( cosZ * cosY - sinZ * sinX * sinY ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( cosZ * sinY + sinZ * sinX * cosY ), + vector.v[0] * ( sinZ * cosY + cosZ * sinX * sinY ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * ( sinZ * sinY - cosZ * sinX * cosY ), + vector.v[0] * (-cosX * sinY ) + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX * cosY ) + }; +} + +template +GenoVector<3, T> & rotateYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + return { + vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ), + vector.v[0] * ( cosX * sinZ * cosY + sinX * sinY ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * ( cosX * sinZ * sinY - sinX * cosY ), + vector.v[0] * ( sinX * sinZ * cosY - cosX * sinY ) + vector.v[1] * ( sinX * cosZ ) + vector.v[2] * ( sinX * sinZ * sinY + cosX * cosY ) + }; +} + +template +GenoVector<3, T> & rotateZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return { + vector.v[0] * ( cosY * cosZ + sinY * sinX * sinZ ) + vector.v[1] * (-cosY * sinZ + sinY * sinX * cosZ ) + vector.v[2] * ( sinY * cosX ), + vector.v[0] * ( cosX * sinZ ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * (-sinX ), + vector.v[0] * (-sinY * cosZ + cosY * sinX * sinZ ) + vector.v[1] * ( sinY * sinZ + cosY * sinX * cosZ ) + vector.v[2] * ( cosY * cosX ) + }; +} + +template +GenoVector<3, T> & rotateZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + return { + vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ ) + vector.v[2] * ( sinY ), + vector.v[0] * ( sinX * sinY * cosZ + cosX * sinZ ) + vector.v[1] * (-sinX * sinY * sinZ + cosX * cosZ ) + vector.v[2] * (-sinX * cosY ), + vector.v[0] * (-cosX * sinY * cosZ + sinX * sinZ ) + vector.v[1] * ( cosX * sinY * sinZ + sinX * cosZ ) + vector.v[2] * ( cosX * cosY ) + }; +} + +template +GenoVector<3, T> & rotateX(const GenoVector<3, T> & vector, T rotateX, GenoVector<3, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ); + target.v[2] = vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ); + return target; +} + +template +GenoVector<3, T> & rotateY(const GenoVector<3, T> & vector, T rotateY, GenoVector<3, T> & target) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + target.v[0] = vector.v[0] * ( cosY ) + vector.v[2] * ( sinY ); + target.v[1] = vector.v[1]; + target.v[2] = vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ); + return target; +} + +template +GenoVector<3, T> & rotateZ(const GenoVector<3, T> & vector, T rotateZ, GenoVector<3, T> & target) { + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.v[0] = vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ ); + target.v[1] = vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ ); + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> & rotateXY(const GenoVector<3, T> & vector, T rotateX, T rotateY, GenoVector<3, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + target.v[0] = vector.v[0] * ( cosY ) + vector.v[1] * ( sinY * sinX ) + vector.v[2] * ( sinY * cosX ); + target.v[1] = vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + target.v[0] = vector.v[0] * ( cosY ) + vector.v[1] * ( sinY * sinX ) + vector.v[2] * ( sinY * cosX ); + target.v[1] = vector.v[1] * ( cosX ) + vector.v[2] * (-sinX ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateXZ(const GenoVector<3, T> & vector, T rotateX, T rotateZ, GenoVector<3, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.v[0] = vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( sinZ * sinX ); + target.v[1] = vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ); + target.v[2] = vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ); + return target; +} + +template +GenoVector<3, T> & rotateXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + target.v[0] = vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( sinZ * sinX ); + target.v[1] = vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ); + target.v[2] = vector.v[1] * ( sinX ) + vector.v[2] * ( cosX ); + return target; +} + +template +GenoVector<3, T> & rotateYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + target.v[0] = vector.v[0] * ( cosY ) + vector.v[2] * ( sinY ); + target.v[1] = vector.v[0] * ( sinX * sinY ) + vector.v[1] * ( cosX ) + vector.v[2] * (-sinX * cosY ); + target.v[2] = vector.v[0] * (-cosX * sinY ) + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX * cosY ); + return target; +} + +template +GenoVector<3, T> & rotateYZ(const GenoVector<3, T> & vector, T rotateY, T rotateZ, GenoVector<3, T> & target) { + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.v[0] = vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ); + target.v[1] = vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ ) + vector.v[2] * ( sinZ * sinY ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ); + return target; +} + +template +GenoVector<3, T> & rotateYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + target.v[0] = vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ); + target.v[1] = vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ ) + vector.v[2] * ( sinZ * sinY ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[2] * ( cosY ); + return target; +} + +template +GenoVector<3, T> & rotateZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + target.v[0] = vector.v[0] * ( cosZ ) + vector.v[1] * (-sinZ ); + target.v[1] = vector.v[0] * ( cosX * sinZ ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * (-sinX ); + target.v[2] = vector.v[0] * ( sinX * sinZ ) + vector.v[1] * ( sinX * cosZ ) + vector.v[2] * ( cosX ); + return target; +} + +template +GenoVector<3, T> & rotateZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & rotate, GenoVector<3, T> & target) { + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + target.v[0] = vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ ) + vector.v[2] * ( sinY ); + target.v[1] = vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ ); + target.v[2] = vector.v[0] * (-sinY * cosZ ) + vector.v[1] * ( sinY * sinZ ) + vector.v[2] * ( cosY ); + return target; +} + +template +GenoVector<3, T> & rotateXYZ(const GenoVector<3, T> & vector, T rotateX, T rotateY, T rotateZ, GenoVector<3, T> & target) { + auto sinX = sin(rotateX); + auto cosX = cos(rotateX); + auto sinY = sin(rotateY); + auto cosY = cos(rotateY); + auto sinZ = sin(rotateZ); + auto cosZ = cos(rotateZ); + target.v[0] = vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + vector.v[2] * ( sinZ * sinX + cosZ * sinY * cosX ); + target.v[1] = vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + vector.v[2] * (-cosZ * sinX + sinZ * sinY * cosX ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + target.v[0] = vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ * cosX + cosZ * sinY * sinX ) + vector.v[2] * ( sinZ * sinX + cosZ * sinY * cosX ); + target.v[1] = vector.v[0] * ( sinZ * cosY ) + vector.v[1] * ( cosZ * cosX + sinZ * sinY * sinX ) + vector.v[2] * (-cosZ * sinX + sinZ * sinY * cosX ); + target.v[2] = vector.v[0] * (-sinY ) + vector.v[1] * ( cosY * sinX ) + vector.v[2] * ( cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[0]); + auto cosX = cos(rotate.v[0]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + target.v[0] = vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ * cosX + sinY * sinX ) + vector.v[2] * ( cosY * sinZ * sinX + sinY * cosX ); + target.v[1] = vector.v[0] * ( sinZ ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * (-cosZ * sinX ); + target.v[2] = vector.v[0] * (-sinY * cosZ ) + vector.v[1] * ( sinY * sinZ * cosX + cosY * sinX ) + vector.v[2] * (-sinY * sinZ * sinX + cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[2]); + auto cosZ = cos(rotate.v[2]); + target.v[0] = vector.v[0] * ( cosZ * cosY - sinZ * sinX * sinY ) + vector.v[1] * (-sinZ * cosX ) + vector.v[2] * ( cosZ * sinY + sinZ * sinX * cosY ); + target.v[1] = vector.v[0] * ( sinZ * cosY + cosZ * sinX * sinY ) + vector.v[1] * ( cosZ * cosX ) + vector.v[2] * ( sinZ * sinY - cosZ * sinX * cosY ); + target.v[2] = vector.v[0] * (-cosX * sinY ) + vector.v[1] * ( sinX ) + vector.v[2] * ( cosX * cosY ); + return target; +} + +template +GenoVector<3, T> & rotateYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[0]); + auto cosY = cos(rotate.v[0]); + auto sinZ = sin(rotate.v[1]); + auto cosZ = cos(rotate.v[1]); + target.v[0] = vector.v[0] * ( cosZ * cosY ) + vector.v[1] * (-sinZ ) + vector.v[2] * ( cosZ * sinY ); + target.v[1] = vector.v[0] * ( cosX * sinZ * cosY + sinX * sinY ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * ( cosX * sinZ * sinY - sinX * cosY ); + target.v[2] = vector.v[0] * ( sinX * sinZ * cosY - cosX * sinY ) + vector.v[1] * ( sinX * cosZ ) + vector.v[2] * ( sinX * sinZ * sinY + cosX * cosY ); + return target; +} + +template +GenoVector<3, T> & rotateZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[1]); + auto cosX = cos(rotate.v[1]); + auto sinY = sin(rotate.v[2]); + auto cosY = cos(rotate.v[2]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + target.v[0] = vector.v[0] * ( cosY * cosZ + sinY * sinX * sinZ ) + vector.v[1] * (-cosY * sinZ + sinY * sinX * cosZ ) + vector.v[2] * ( sinY * cosX ); + target.v[1] = vector.v[0] * ( cosX * sinZ ) + vector.v[1] * ( cosX * cosZ ) + vector.v[2] * (-sinX ); + target.v[2] = vector.v[0] * (-sinY * cosZ + cosY * sinX * sinZ ) + vector.v[1] * ( sinY * sinZ + cosY * sinX * cosZ ) + vector.v[2] * ( cosY * cosX ); + return target; +} + +template +GenoVector<3, T> & rotateZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & rotate, GenoVector<3, T> & target) { + auto sinX = sin(rotate.v[2]); + auto cosX = cos(rotate.v[2]); + auto sinY = sin(rotate.v[1]); + auto cosY = cos(rotate.v[1]); + auto sinZ = sin(rotate.v[0]); + auto cosZ = cos(rotate.v[0]); + target.v[0] = vector.v[0] * ( cosY * cosZ ) + vector.v[1] * (-cosY * sinZ ) + vector.v[2] * ( sinY ); + target.v[1] = vector.v[0] * ( sinX * sinY * cosZ + cosX * sinZ ) + vector.v[1] * (-sinX * sinY * sinZ + cosX * cosZ ) + vector.v[2] * (-sinX * cosY ); + target.v[2] = vector.v[0] * (-cosX * sinY * cosZ + sinX * sinZ ) + vector.v[1] * ( cosX * sinY * sinZ + sinX * cosZ ) + vector.v[2] * ( cosX * cosY ); + return target; +} + +template +GenoVector<3, T> scaleX(const GenoVector<3, T> & vector, T scaleX) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleY(const GenoVector<3, T> & vector, T scaleY) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleZ(const GenoVector<3, T> & vector, T scaleZ) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scaleZ + }; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, T scaleX, T scaleY) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1], + vector.v[2] * scale + }; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, T scaleX, T scaleZ) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2] * scaleZ + }; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1], + vector.v[2] * scale.v[1] + }; +} + +template +GenoVector<3, T> scaleYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2] + }; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, T scale) { + return { + vector.v[0], + vector.v[1] * scale, + vector.v[2] * scale + }; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, T scaleY, T scaleZ) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2] * scaleZ + }; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1] + }; +} + +template +GenoVector<3, T> scaleZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1], + vector.v[2] * scale.v[0] + }; +} + +template +GenoVector<3, T> scaleZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0] + }; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] * scale + }; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, T scaleX, T scaleY, T scaleZ) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2] * scaleZ + }; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2] + }; +} + +template +GenoVector<3, T> scaleXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[1] + }; +} + +template +GenoVector<3, T> scaleYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[2] + }; +} + +template +GenoVector<3, T> scaleYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1] + }; +} + +template +GenoVector<3, T> scaleZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[0] + }; +} + +template +GenoVector<3, T> scaleZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0] + }; +} + +template +GenoVector<3, T> scaleX(const GenoVector<3, T> & vector, T scaleX, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleY(const GenoVector<3, T> & vector, T scaleY, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleZ(const GenoVector<3, T> & vector, T scaleZ, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + return target; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, T scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, T scaleX, T scaleY, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleXY(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, T scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale; + return target; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, T scaleX, T scaleZ, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + return target; +} + +template +GenoVector<3, T> scaleXZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[1]; + return target; +} + +template +GenoVector<3, T> scaleYX(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2]; + return target; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, T scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + return target; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, T scaleY, T scaleZ, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + return target; +} + +template +GenoVector<3, T> scaleYZ(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + return target; +} + +template +GenoVector<3, T> scaleZX(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + return target; +} + +template +GenoVector<3, T> scaleZY(const GenoVector<3, T> & vector, const GenoVector<2, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + return target; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, T scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + return target; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, T scaleX, T scaleY, T scaleZ, const GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + return target; +} + +template +GenoVector<3, T> scaleXYZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + return target; +} + +template +GenoVector<3, T> scaleXZY(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[1]; + return target; +} + +template +GenoVector<3, T> scaleYXZ(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[2]; + return target; +} + +template +GenoVector<3, T> scaleYZX(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + return target; +} + +template +GenoVector<3, T> scaleZXY(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[0]; + return target; +} + +template +GenoVector<3, T> scaleZYX(const GenoVector<3, T> & vector, const GenoVector<3, T> & scale, GenoVector<3, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + return target; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoVector<3, T> & vector) { + return stream << '<' << vector.v[0] << ", " << vector.v[1] << ", " << vector.v[2] << '>'; +} + + +template using GenoVector3 = GenoVector<3, T>; + +using GenoVector3b = GenoVector3< int8 >; +using GenoVector3ub = GenoVector3; +using GenoVector3s = GenoVector3< int16>; +using GenoVector3us = GenoVector3; +using GenoVector3i = GenoVector3< int32>; +using GenoVector3ui = GenoVector3; +using GenoVector3l = GenoVector3< int64>; +using GenoVector3ul = GenoVector3; +using GenoVector3f = GenoVector3; +using GenoVector3d = GenoVector3; + +#define GNARLY_GENOME_VECTOR3_FORWARD +#endif // GNARLY_GENOME_VECTOR3 \ No newline at end of file diff --git a/src/geno/math/linear/GenoVector4.h b/src/geno/math/linear/GenoVector4.h new file mode 100644 index 0000000..58e1de4 --- /dev/null +++ b/src/geno/math/linear/GenoVector4.h @@ -0,0 +1,7469 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../../GenoInts.h" + +#ifndef GNARLY_GENOME_VECTOR_FORWARD +#define GNARLY_GENOME_VECTOR_FORWARD + +template +class GenoVector; + +#endif // GNARLY_GENOME_VECTOR_FORWARD + +#ifndef GNARLY_GENOME_VECTOR2_FORWARD +#define GNARLY_GENOME_VECTOR2_FORWARD + +template +class GenoVector<2, T>; + +#endif // GNARLY_GENOME_VECTOR2_FORWARD + +#ifndef GNARLY_GENOME_VECTOR3_FORWARD +#define GNARLY_GENOME_VECTOR3_FORWARD + +template +class GenoVector<3, T>; + +#endif // GNARLY_GENOME_VECTOR3_FORWARD + +#ifndef GNARLY_GENOME_VECTOR4 +#define GNARLY_GENOME_VECTOR4 + +#include +#include + +#include "GenoVector.h" +#include "GenoVector2.h" +#include "GenoVector3.h" +#include "GenoVectorDimensions.h" + +namespace GenoVectorDimensions { + extern GenoVectorDimension<3> w; +} + +template +class GenoVector<4, T> { + private: + bool owner = true; + + void clean() { + if (owner) + delete [] v; + } + + public: + T * v; + + GenoVector() : + v(new T[4]()) {} + + GenoVector(T * v, bool owner = true) noexcept : + owner(owner), + v(v) {} + + explicit GenoVector(T value) : + v(new T[4] { value, value, value, value }) {} + + GenoVector(T x, T y, T z, T w) : + v(new T[4] { x, y, z, w }) {} + + template + GenoVector(const GenoVector<4, T2> & vector) : + v(new T[4] { + (T) vector.v[0], + (T) vector.v[1], + (T) vector.v[2], + (T) vector.v[3] + }) {} + + GenoVector(const GenoVector<4, T> & vector) : + v(new T[4] { + vector.v[0], + vector.v[1], + vector.v[2], + vector.v[3] + }) {} + + GenoVector(GenoVector<4, T> && vector) : + owner(vector.owner), + v(vector.v) { + vector.owner = false; + } + + GenoVector<4, T> & operator=(const GenoVector<4, T> & vector) { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + v[2] = vector.v[2]; + v[3] = vector.v[3]; + return *this; + } + + GenoVector<4, T> & operator=(GenoVector<4, T> && vector) { + if (owner) { + clean(); + owner = vector.owner; + v = vector.v; + vector.owner = false; + } + else { + v[0] = vector.v[0]; + v[1] = vector.v[1]; + v[2] = vector.v[2]; + v[3] = vector.v[3]; + } + return *this; + } + + GenoVector<4, T> & operator+=(const GenoVector<4, T> & vector) { + v[0] += vector.v[0]; + v[1] += vector.v[1]; + v[2] += vector.v[2]; + v[3] += vector.v[3]; + return *this; + } + + GenoVector<4, T> & operator-=(const GenoVector<4, T> & vector) { + v[0] -= vector.v[0]; + v[1] -= vector.v[1]; + v[2] -= vector.v[2]; + v[3] -= vector.v[3]; + return *this; + } + + GenoVector<4, T> & operator*=(T scalar) { + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + v[3] *= scalar; + return *this; + } + + GenoVector<4, T> & operator*=(const GenoVector<4, T> & vector) { + v[0] *= vector.v[0]; + v[1] *= vector.v[1]; + v[2] *= vector.v[2]; + v[3] *= vector.v[3]; + return *this; + } + + GenoVector<4, T> & operator/=(T scalar) { + v[0] /= scalar; + v[1] /= scalar; + v[2] /= scalar; + v[3] /= scalar; + return *this; + } + + GenoVector<4, T> & operator/=(const GenoVector<4, T> & vector) { + v[0] /= vector.v[0]; + v[1] /= vector.v[1]; + v[2] /= vector.v[2]; + v[3] /= vector.v[3]; + return *this; + } + + T & operator[](uint32 index) noexcept { + return v[index]; + } + + const T & operator[](uint32 index) const noexcept { + return v[index]; + } + + template + T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<4, T> has no dimension beyond w!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + template + const T & operator[](const GenoVectorDimensions::GenoVectorDimension & dimension) const noexcept { + static_assert(GenoVectorDimensions::GenoVectorDimension::dimension < 4, "GenoVector<4, T> has no dimension beyond w!"); + return v[GenoVectorDimensions::GenoVectorDimension::dimension]; + } + + T & x() noexcept { + return v[0]; + } + + const T & x() const noexcept { + return v[0]; + } + + T & y() noexcept { + return v[1]; + } + + const T & y() const noexcept { + return v[1]; + } + + T & z() noexcept { + return v[2]; + } + + const T & z() const noexcept { + return v[2]; + } + + T & w() noexcept { + return v[3]; + } + + const T & w() const noexcept { + return v[3]; + } + + T getLength() const { + return sqrt( + v[0] * v[0] + + v[1] * v[1] + + v[2] * v[2] + + v[3] * v[3] + ); + } + + T getLengthSquared() const { + return ( + v[0] * v[0] + + v[1] * v[1] + + v[2] * v[2] + + v[3] * v[3] + ); + } + + GenoVector<4, T> & setLength(T length) { + auto scalar = length / getLength(); + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + v[3] *= scalar; + return *this; + } + + GenoVector<4, T> & normalize() { + auto scalar = 1 / getLength(); + v[0] *= scalar; + v[1] *= scalar; + v[2] *= scalar; + v[3] *= scalar; + return *this; + } + + GenoVector<2, T> & negate() { + v[0] = -v[0]; + v[1] = -v[1]; + v[2] = -v[2]; + v[3] = -v[3]; + return *this; + } + + GenoVector<4, T> & project(const GenoVector<4, T> & projection) { + auto scalar = dot(*this, projection) / projection.getLengthSquared(); + v[0] /= scalar; + v[1] /= scalar; + v[2] /= scalar; + v[3] /= scalar; + return *this; + } + + GenoVector<4, T> & bisect(const GenoVector<4, T> & vector) { + return *this = getLength() * vector + *this * vector.getLength(); + } + + GenoVector<4, T> & lerp(const GenoVector<4, T> & end, double interpAmount) { + v[0] = (T) (v[0] + (end.v[0] - v[0]) * interpAmount); + v[1] = (T) (v[1] + (end.v[1] - v[1]) * interpAmount); + v[2] = (T) (v[2] + (end.v[2] - v[2]) * interpAmount); + v[3] = (T) (v[3] + (end.v[3] - v[3]) * interpAmount); + return *this; + } + + bool isZeroVector() { + return v[0] == 0 && + v[1] == 0 && + v[2] == 0 && + v[3] == 0; + } + + GenoVector<4, T> & set(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & translate(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + v[3] += translate.v[3]; + return *this; + } + + GenoVector<4, T> & scale(T scale) { + v[0] *= scale; + v[1] *= scale; + v[2] *= scale; + v[3] *= scale; + return *this; + } + + GenoVector<4, T> & scale(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + v[3] *= scale.v[3]; + return *this; + } + + GenoVector<4, T> & setX(T x) { + v[0] = x; + return *this; + } + + GenoVector<4, T> & setY(T y) { + v[1] = y; + return *this; + } + + GenoVector<4, T> & setZ(T z) { + v[2] = z; + return *this; + } + + GenoVector<4, T> & setW(T w) { + v[3] = w; + return *this; + } + + GenoVector<4, T> & setXY(T x, T y) { + v[0] = x; + v[1] = y; + return *this; + } + + GenoVector<4, T> & setXY(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setXZ(T x, T z) { + v[0] = x; + v[2] = z; + return *this; + } + + GenoVector<4, T> & setXZ(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setXW(T x, T w) { + v[0] = x; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setXW(const GenoVector<2, T> & set) { + v[0] = set.v[0]; + v[3] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setYX(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setYZ(T y, T z) { + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<4, T> & setYZ(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setYW(T y, T w) { + v[1] = y; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setYW(const GenoVector<2, T> & set) { + v[1] = set.v[0]; + v[3] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setZX(const GenoVector<2, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setZY(const GenoVector<2, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setZW(T z, T w) { + v[2] = z; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setZW(const GenoVector<2, T> & set) { + v[2] = set.v[0]; + v[3] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setWX(const GenoVector<2, T> & set) { + v[3] = set.v[0]; + v[0] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setWY(const GenoVector<2, T> & set) { + v[3] = set.v[0]; + v[1] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setWZ(const GenoVector<2, T> & set) { + v[3] = set.v[0]; + v[2] = set.v[1]; + return *this; + } + + GenoVector<4, T> & setXYZ(T x, T y, T z) { + v[0] = x; + v[1] = y; + v[2] = z; + return *this; + } + + GenoVector<4, T> & setXYZ(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXYW(T x, T y, T w) { + v[0] = x; + v[1] = y; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setXYW(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXZY(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXZW(T x, T z, T w) { + v[0] = x; + v[2] = z; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setXZW(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXWY(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[3] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXWZ(const GenoVector<3, T> & set) { + v[0] = set.v[0]; + v[3] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYXZ(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYXW(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYZX(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYZW(T y, T z, T w) { + v[1] = y; + v[2] = z; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setYZW(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYWX(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[3] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setYWZ(const GenoVector<3, T> & set) { + v[1] = set.v[0]; + v[3] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZXY(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZXW(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZYX(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZYW(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + v[3] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZWX(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[3] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setZWY(const GenoVector<3, T> & set) { + v[2] = set.v[0]; + v[3] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWXY(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[0] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWXZ(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[0] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWYX(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[1] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWYZ(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWZX(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[2] = set.v[1]; + v[0] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setWZY(const GenoVector<3, T> & set) { + v[3] = set.v[0]; + v[2] = set.v[1]; + v[1] = set.v[2]; + return *this; + } + + GenoVector<4, T> & setXYZW(T x, T y, T z, T w) { + v[0] = x; + v[1] = y; + v[2] = z; + v[3] = w; + return *this; + } + + GenoVector<4, T> & setXYZW(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setXYWZ(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[1] = set.v[1]; + v[3] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setXZYW(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + v[1] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setXZWY(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[2] = set.v[1]; + v[3] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setXWYZ(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[3] = set.v[1]; + v[1] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setXWZY(const GenoVector<4, T> & set) { + v[0] = set.v[0]; + v[3] = set.v[1]; + v[2] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYXZW(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + v[2] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYXWZ(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[0] = set.v[1]; + v[3] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYZXW(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + v[0] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYZWX(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[2] = set.v[1]; + v[3] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYWXZ(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[3] = set.v[1]; + v[0] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setYWZX(const GenoVector<4, T> & set) { + v[1] = set.v[0]; + v[3] = set.v[1]; + v[2] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZXYW(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + v[1] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZXWY(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[0] = set.v[1]; + v[3] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZYXW(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + v[0] = set.v[2]; + v[3] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZYWX(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[1] = set.v[1]; + v[3] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZWXY(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[3] = set.v[1]; + v[0] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setZWYX(const GenoVector<4, T> & set) { + v[2] = set.v[0]; + v[3] = set.v[1]; + v[1] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWXYZ(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[0] = set.v[1]; + v[1] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWXZY(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[0] = set.v[1]; + v[2] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWYXZ(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[1] = set.v[1]; + v[0] = set.v[2]; + v[2] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWYZX(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[1] = set.v[1]; + v[2] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWZXY(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[2] = set.v[1]; + v[0] = set.v[2]; + v[1] = set.v[3]; + return *this; + } + + GenoVector<4, T> & setWZYX(const GenoVector<4, T> & set) { + v[3] = set.v[0]; + v[2] = set.v[1]; + v[1] = set.v[2]; + v[0] = set.v[3]; + return *this; + } + + GenoVector<4, T> & translateX(T translateX) { + v[0] += translateX; + } + + GenoVector<4, T> & translateY(T translateY) { + v[1] += translateY; + } + + GenoVector<4, T> & translateZ(T translateZ) { + v[2] += translateZ; + } + + GenoVector<4, T> & translateW(T translateW) { + v[3] += translateW; + } + + GenoVector<4, T> & translateXY(T translateX, T translateY) { + v[0] += translateX; + v[1] += translateY; + } + + GenoVector<4, T> & translateXY(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<4, T> & translateXZ(T translateX, T translateZ) { + v[0] += translateX; + v[2] += translateZ; + } + + GenoVector<4, T> & translateXZ(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + } + + GenoVector<4, T> & translateXW(T translateX, T translateW) { + v[0] += translateX; + v[3] += translateW; + } + + GenoVector<4, T> & translateXW(const GenoVector<2, T> & translate) { + v[0] += translate.v[0]; + v[3] += translate.v[1]; + } + + GenoVector<4, T> & translateYX(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<4, T> & translateYZ(T translateY, T translateZ) { + v[1] += translateY; + v[2] += translateZ; + } + + GenoVector<4, T> & translateYZ(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + } + + GenoVector<4, T> & translateYW(T translateY, T translateW) { + v[1] += translateY; + v[3] += translateW; + } + + GenoVector<4, T> & translateYW(const GenoVector<2, T> & translate) { + v[1] += translate.v[0]; + v[3] += translate.v[1]; + } + + GenoVector<4, T> & translateZX(const GenoVector<2, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<4, T> & translateZY(const GenoVector<2, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<4, T> & translateZW(T translateZ, T translateW) { + v[2] += translateZ; + v[3] += translateW; + } + + GenoVector<4, T> & translateZW(const GenoVector<2, T> & translate) { + v[2] += translate.v[0]; + v[3] += translate.v[1]; + } + + GenoVector<4, T> & translateWX(const GenoVector<2, T> & translate) { + v[3] += translate.v[0]; + v[0] += translate.v[1]; + } + + GenoVector<4, T> & translateWY(const GenoVector<2, T> & translate) { + v[3] += translate.v[0]; + v[1] += translate.v[1]; + } + + GenoVector<4, T> & translateWZ(const GenoVector<2, T> & translate) { + v[3] += translate.v[0]; + v[2] += translate.v[1]; + } + + GenoVector<4, T> & translateXYZ(T translateX, T translateY, T translateZ) { + v[0] += translateX; + v[1] += translateY; + v[2] += translateZ; + } + + GenoVector<4, T> & translateXYZ(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateXYW(T translateX, T translateY, T translateW) { + v[0] += translateX; + v[1] += translateY; + v[3] += translateW; + } + + GenoVector<4, T> & translateXYW(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateXZY(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateXZW(T translateX, T translateZ, T translateW) { + v[0] += translateX; + v[2] += translateZ; + v[3] += translateW; + } + + GenoVector<4, T> & translateXZW(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateXWY(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[3] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateXWZ(const GenoVector<3, T> & translate) { + v[0] += translate.v[0]; + v[3] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateYXZ(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateYXW(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateYZX(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateYZW(T translateY, T translateZ, T translateW) { + v[1] += translateY; + v[2] += translateZ; + v[3] += translateW; + } + + GenoVector<4, T> & translateYZW(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateYWX(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[3] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateYWZ(const GenoVector<3, T> & translate) { + v[1] += translate.v[0]; + v[3] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateZXY(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateZXW(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateZYX(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateZYW(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + v[3] += translate.v[2]; + } + + GenoVector<4, T> & translateZWX(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[3] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateZWY(const GenoVector<3, T> & translate) { + v[2] += translate.v[0]; + v[3] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateWXY(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[0] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateWXZ(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[0] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateWYX(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[1] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateWYZ(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + } + + GenoVector<4, T> & translateWZX(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[2] += translate.v[1]; + v[0] += translate.v[2]; + } + + GenoVector<4, T> & translateWZY(const GenoVector<3, T> & translate) { + v[3] += translate.v[0]; + v[2] += translate.v[1]; + v[1] += translate.v[2]; + } + + GenoVector<4, T> & translateXYZW(T translateX, T translateY, T translateZ, T translateW) { + v[0] += translateX; + v[1] += translateY; + v[2] += translateZ; + v[3] += translateW; + } + + GenoVector<4, T> & translateXYZW(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateXYWZ(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[1] += translate.v[1]; + v[3] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateXZYW(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + v[1] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateXZWY(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[2] += translate.v[1]; + v[3] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateXWYZ(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[3] += translate.v[1]; + v[1] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateXWZY(const GenoVector<4, T> & translate) { + v[0] += translate.v[0]; + v[3] += translate.v[1]; + v[2] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateYXZW(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + v[2] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateYXWZ(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[0] += translate.v[1]; + v[3] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateYZXW(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + v[0] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateYZWX(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[2] += translate.v[1]; + v[3] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & translateYWXZ(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[3] += translate.v[1]; + v[0] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateYWZX(const GenoVector<4, T> & translate) { + v[1] += translate.v[0]; + v[3] += translate.v[1]; + v[2] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & translateZXYW(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + v[1] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateZXWY(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[0] += translate.v[1]; + v[3] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateZYXW(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + v[0] += translate.v[2]; + v[3] += translate.v[3]; + } + + GenoVector<4, T> & translateZYWX(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[1] += translate.v[1]; + v[3] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & translateZWXY(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[3] += translate.v[1]; + v[0] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateZWYX(const GenoVector<4, T> & translate) { + v[2] += translate.v[0]; + v[3] += translate.v[1]; + v[1] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & translateWXYZ(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[0] += translate.v[1]; + v[1] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateWXZY(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[0] += translate.v[1]; + v[2] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateWYXZ(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[1] += translate.v[1]; + v[0] += translate.v[2]; + v[2] += translate.v[3]; + } + + GenoVector<4, T> & translateWYZX(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[1] += translate.v[1]; + v[2] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & translateWZXY(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[2] += translate.v[1]; + v[0] += translate.v[2]; + v[1] += translate.v[3]; + } + + GenoVector<4, T> & translateWZYX(const GenoVector<4, T> & translate) { + v[3] += translate.v[0]; + v[2] += translate.v[1]; + v[1] += translate.v[2]; + v[0] += translate.v[3]; + } + + GenoVector<4, T> & scaleX(T scaleX) { + v[0] *= scaleX; + } + + GenoVector<4, T> & scaleY(T scaleY) { + v[1] *= scaleY; + } + + GenoVector<4, T> & scaleZ(T scaleZ) { + v[2] *= scaleZ; + } + + GenoVector<4, T> & scaleW(T scaleW) { + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleXY(T scale) { + v[0] *= scale; + v[1] *= scale; + } + + GenoVector<4, T> & scaleXY(T scaleX, T scaleY) { + v[0] *= scaleX; + v[1] *= scaleY; + } + + GenoVector<4, T> & scaleXY(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<4, T> & scaleXZ(T scale) { + v[0] *= scale; + v[2] *= scale; + } + + GenoVector<4, T> & scaleXZ(T scaleX, T scaleZ) { + v[0] *= scaleX; + v[2] *= scaleZ; + } + + GenoVector<4, T> & scaleXZ(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + } + + GenoVector<4, T> & scaleXW(T scale) { + v[0] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleXW(T scaleX, T scaleW) { + v[0] *= scaleX; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleXW(const GenoVector<2, T> & scale) { + v[0] *= scale.v[0]; + v[3] *= scale.v[1]; + } + + GenoVector<4, T> & scaleYX(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + GenoVector<4, T> & scaleYZ(T scale) { + v[1] *= scale; + v[2] *= scale; + } + + GenoVector<4, T> & scaleYZ(T scaleY, T scaleZ) { + v[1] *= scaleY; + v[2] *= scaleZ; + } + + GenoVector<4, T> & scaleYZ(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + } + + GenoVector<4, T> & scaleYW(T scale) { + v[1] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleYW(T scaleY, T scaleW) { + v[1] *= scaleY; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleYW(const GenoVector<2, T> & scale) { + v[1] *= scale.v[0]; + v[3] *= scale.v[1]; + } + + GenoVector<4, T> & scaleZX(const GenoVector<2, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + GenoVector<4, T> & scaleZY(const GenoVector<2, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<4, T> & scaleZW(T scale) { + v[2] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleZW(T scaleZ, T scaleW) { + v[2] *= scaleZ; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleZW(const GenoVector<2, T> & scale) { + v[2] *= scale.v[0]; + v[3] *= scale.v[1]; + } + + GenoVector<4, T> & scaleWX(const GenoVector<2, T> & scale) { + v[3] *= scale.v[0]; + v[0] *= scale.v[1]; + } + + GenoVector<4, T> & scaleWY(const GenoVector<2, T> & scale) { + v[3] *= scale.v[0]; + v[1] *= scale.v[1]; + } + + GenoVector<4, T> & scaleWZ(const GenoVector<2, T> & scale) { + v[3] *= scale.v[0]; + v[2] *= scale.v[1]; + } + + GenoVector<4, T> & scaleXYZ(T scale) { + v[0] *= scale; + v[1] *= scale; + v[2] *= scale; + } + + GenoVector<4, T> & scaleXYZ(T scaleX, T scaleY, T scaleZ) { + v[0] *= scaleX; + v[1] *= scaleY; + v[2] *= scaleZ; + } + + GenoVector<4, T> & scaleXYZ(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXYW(T scale) { + v[0] *= scale; + v[1] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleXYW(T scaleX, T scaleY, T scaleW) { + v[0] *= scaleX; + v[1] *= scaleY; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleXYW(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXZY(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXZW(T scale) { + v[0] *= scale; + v[2] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleXZW(T scaleX, T scaleZ, T scaleW) { + v[0] *= scaleX; + v[2] *= scaleZ; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleXZW(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXWY(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[3] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXWZ(const GenoVector<3, T> & scale) { + v[0] *= scale.v[0]; + v[3] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYXZ(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYXW(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYZX(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYZW(T scale) { + v[1] *= scale; + v[2] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleYZW(T scaleY, T scaleZ, T scaleW) { + v[1] *= scaleY; + v[2] *= scaleZ; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleYZW(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYWX(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[3] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleYWZ(const GenoVector<3, T> & scale) { + v[1] *= scale.v[0]; + v[3] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZXY(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZXW(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZYX(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZYW(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + v[3] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZWX(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[3] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleZWY(const GenoVector<3, T> & scale) { + v[2] *= scale.v[0]; + v[3] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWXY(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[0] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWXZ(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[0] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWYX(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[1] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWYZ(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWZX(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[2] *= scale.v[1]; + v[0] *= scale.v[2]; + } + + GenoVector<4, T> & scaleWZY(const GenoVector<3, T> & scale) { + v[3] *= scale.v[0]; + v[2] *= scale.v[1]; + v[1] *= scale.v[2]; + } + + GenoVector<4, T> & scaleXYZW(T scale) { + v[0] *= scale; + v[1] *= scale; + v[2] *= scale; + v[3] *= scale; + } + + GenoVector<4, T> & scaleXYZW(T scaleX, T scaleY, T scaleZ, T scaleW) { + v[0] *= scaleX; + v[1] *= scaleY; + v[2] *= scaleZ; + v[3] *= scaleW; + } + + GenoVector<4, T> & scaleXYZW(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleXYWZ(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[1] *= scale.v[1]; + v[3] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleXZYW(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + v[1] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleXZWY(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[2] *= scale.v[1]; + v[3] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleXWYZ(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[3] *= scale.v[1]; + v[1] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleXWZY(const GenoVector<4, T> & scale) { + v[0] *= scale.v[0]; + v[3] *= scale.v[1]; + v[2] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYXZW(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + v[2] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYXWZ(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[0] *= scale.v[1]; + v[3] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYZXW(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + v[0] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYZWX(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[2] *= scale.v[1]; + v[3] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYWXZ(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[3] *= scale.v[1]; + v[0] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleYWZX(const GenoVector<4, T> & scale) { + v[1] *= scale.v[0]; + v[3] *= scale.v[1]; + v[2] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZXYW(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + v[1] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZXWY(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[0] *= scale.v[1]; + v[3] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZYXW(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + v[0] *= scale.v[2]; + v[3] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZYWX(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[1] *= scale.v[1]; + v[3] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZWXY(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[3] *= scale.v[1]; + v[0] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleZWYX(const GenoVector<4, T> & scale) { + v[2] *= scale.v[0]; + v[3] *= scale.v[1]; + v[1] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWXYZ(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[0] *= scale.v[1]; + v[1] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWXZY(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[0] *= scale.v[1]; + v[2] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWYXZ(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[1] *= scale.v[1]; + v[0] *= scale.v[2]; + v[2] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWYZX(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[1] *= scale.v[1]; + v[2] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWZXY(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[2] *= scale.v[1]; + v[0] *= scale.v[2]; + v[1] *= scale.v[3]; + } + + GenoVector<4, T> & scaleWZYX(const GenoVector<4, T> & scale) { + v[3] *= scale.v[0]; + v[2] *= scale.v[1]; + v[1] *= scale.v[2]; + v[0] *= scale.v[3]; + } + + T getX() const { + return v[0]; + } + + T getY() const { + return v[1]; + } + + T getZ() const { + return v[2]; + } + + T getW() const { + return v[3]; + } + + GenoVector<2, T> getXX() const { + return { v[0], v[0] }; + } + + GenoVector<2, T> getXY() const { + return { v[0], v[1] }; + } + + GenoVector<2, T> getXZ() const { + return { v[0], v[2] }; + } + + GenoVector<2, T> getXW() const { + return { v[0], v[3] }; + } + + GenoVector<2, T> getYX() const { + return { v[1], v[0] }; + } + + GenoVector<2, T> getYY() const { + return { v[1], v[1] }; + } + + GenoVector<2, T> getYZ() const { + return { v[1], v[2] }; + } + + GenoVector<2, T> getYW() const { + return { v[1], v[3] }; + } + + GenoVector<2, T> getZX() const { + return { v[2], v[0] }; + } + + GenoVector<2, T> getZY() const { + return { v[2], v[1] }; + } + + GenoVector<2, T> getZZ() const { + return { v[2], v[2] }; + } + + GenoVector<2, T> getZW() const { + return { v[2], v[3] }; + } + + GenoVector<2, T> getWX() const { + return { v[3], v[0] }; + } + + GenoVector<2, T> getWY() const { + return { v[3], v[1] }; + } + + GenoVector<2, T> getWZ() const { + return { v[3], v[2] }; + } + + GenoVector<2, T> getWW() const { + return { v[3], v[3] }; + } + + GenoVector<3, T> getXXX() const { + return { v[0], v[0], v[0] }; + } + + GenoVector<3, T> getXXY() const { + return { v[0], v[0], v[1] }; + } + + GenoVector<3, T> getXXZ() const { + return { v[0], v[0], v[2] }; + } + + GenoVector<3, T> getXXW() const { + return { v[0], v[0], v[3] }; + } + + GenoVector<3, T> getXYX() const { + return { v[0], v[1], v[0] }; + } + + GenoVector<3, T> getXYY() const { + return { v[0], v[1], v[1] }; + } + + GenoVector<3, T> getXYZ() const { + return { v[0], v[1], v[2] }; + } + + GenoVector<3, T> getXYW() const { + return { v[0], v[1], v[3] }; + } + + GenoVector<3, T> getXZX() const { + return { v[0], v[2], v[0] }; + } + + GenoVector<3, T> getXZY() const { + return { v[0], v[2], v[1] }; + } + + GenoVector<3, T> getXZZ() const { + return { v[0], v[2], v[2] }; + } + + GenoVector<3, T> getXZW() const { + return { v[0], v[2], v[3] }; + } + + GenoVector<3, T> getXWX() const { + return { v[0], v[3], v[0] }; + } + + GenoVector<3, T> getXWY() const { + return { v[0], v[3], v[1] }; + } + + GenoVector<3, T> getXWZ() const { + return { v[0], v[3], v[2] }; + } + + GenoVector<3, T> getXWW() const { + return { v[0], v[3], v[3] }; + } + + GenoVector<3, T> getYXX() const { + return { v[1], v[0], v[0] }; + } + + GenoVector<3, T> getYXY() const { + return { v[1], v[0], v[1] }; + } + + GenoVector<3, T> getYXZ() const { + return { v[1], v[0], v[2] }; + } + + GenoVector<3, T> getYXW() const { + return { v[1], v[0], v[3] }; + } + + GenoVector<3, T> getYYX() const { + return { v[1], v[1], v[0] }; + } + + GenoVector<3, T> getYYY() const { + return { v[1], v[1], v[1] }; + } + + GenoVector<3, T> getYYZ() const { + return { v[1], v[1], v[2] }; + } + + GenoVector<3, T> getYYW() const { + return { v[1], v[1], v[3] }; + } + + GenoVector<3, T> getYZX() const { + return { v[1], v[2], v[0] }; + } + + GenoVector<3, T> getYZY() const { + return { v[1], v[2], v[1] }; + } + + GenoVector<3, T> getYZZ() const { + return { v[1], v[2], v[2] }; + } + + GenoVector<3, T> getYZW() const { + return { v[1], v[2], v[3] }; + } + + GenoVector<3, T> getYWX() const { + return { v[1], v[3], v[0] }; + } + + GenoVector<3, T> getYWY() const { + return { v[1], v[3], v[1] }; + } + + GenoVector<3, T> getYWZ() const { + return { v[1], v[3], v[2] }; + } + + GenoVector<3, T> getYWW() const { + return { v[1], v[3], v[3] }; + } + + GenoVector<3, T> getZXX() const { + return { v[2], v[0], v[0] }; + } + + GenoVector<3, T> getZXY() const { + return { v[2], v[0], v[1] }; + } + + GenoVector<3, T> getZXZ() const { + return { v[2], v[0], v[2] }; + } + + GenoVector<3, T> getZXW() const { + return { v[2], v[0], v[3] }; + } + + GenoVector<3, T> getZYX() const { + return { v[2], v[1], v[0] }; + } + + GenoVector<3, T> getZYY() const { + return { v[2], v[1], v[1] }; + } + + GenoVector<3, T> getZYZ() const { + return { v[2], v[1], v[2] }; + } + + GenoVector<3, T> getZYW() const { + return { v[2], v[1], v[3] }; + } + + GenoVector<3, T> getZZX() const { + return { v[2], v[2], v[0] }; + } + + GenoVector<3, T> getZZY() const { + return { v[2], v[2], v[1] }; + } + + GenoVector<3, T> getZZZ() const { + return { v[2], v[2], v[2] }; + } + + GenoVector<3, T> getZZW() const { + return { v[2], v[2], v[3] }; + } + + GenoVector<3, T> getZWX() const { + return { v[2], v[3], v[0] }; + } + + GenoVector<3, T> getZWY() const { + return { v[2], v[3], v[1] }; + } + + GenoVector<3, T> getZWZ() const { + return { v[2], v[3], v[2] }; + } + + GenoVector<3, T> getZWW() const { + return { v[2], v[3], v[3] }; + } + + GenoVector<3, T> getWXX() const { + return { v[3], v[0], v[0] }; + } + + GenoVector<3, T> getWXY() const { + return { v[3], v[0], v[1] }; + } + + GenoVector<3, T> getWXZ() const { + return { v[3], v[0], v[2] }; + } + + GenoVector<3, T> getWXW() const { + return { v[3], v[0], v[3] }; + } + + GenoVector<3, T> getWYX() const { + return { v[3], v[1], v[0] }; + } + + GenoVector<3, T> getWYY() const { + return { v[3], v[1], v[1] }; + } + + GenoVector<3, T> getWYZ() const { + return { v[3], v[1], v[2] }; + } + + GenoVector<3, T> getWYW() const { + return { v[3], v[1], v[3] }; + } + + GenoVector<3, T> getWZX() const { + return { v[3], v[2], v[0] }; + } + + GenoVector<3, T> getWZY() const { + return { v[3], v[2], v[1] }; + } + + GenoVector<3, T> getWZZ() const { + return { v[3], v[2], v[2] }; + } + + GenoVector<3, T> getWZW() const { + return { v[3], v[2], v[3] }; + } + + GenoVector<3, T> getWWX() const { + return { v[3], v[3], v[0] }; + } + + GenoVector<3, T> getWWY() const { + return { v[3], v[3], v[1] }; + } + + GenoVector<3, T> getWWZ() const { + return { v[3], v[3], v[2] }; + } + + GenoVector<3, T> getWWW() const { + return { v[3], v[3], v[3] }; + } + + GenoVector<4, T> getXXXX() const { + return { v[0], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getXXXY() const { + return { v[0], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getXXXZ() const { + return { v[0], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getXXXW() const { + return { v[0], v[0], v[0], v[3] }; + } + + GenoVector<4, T> getXXYX() const { + return { v[0], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getXXYY() const { + return { v[0], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getXXYZ() const { + return { v[0], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getXXYW() const { + return { v[0], v[0], v[1], v[3] }; + } + + GenoVector<4, T> getXXZX() const { + return { v[0], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getXXZY() const { + return { v[0], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getXXZZ() const { + return { v[0], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getXXZW() const { + return { v[0], v[0], v[2], v[3] }; + } + + GenoVector<4, T> getXXWX() const { + return { v[0], v[0], v[3], v[0] }; + } + + GenoVector<4, T> getXXWY() const { + return { v[0], v[0], v[3], v[1] }; + } + + GenoVector<4, T> getXXWZ() const { + return { v[0], v[0], v[3], v[2] }; + } + + GenoVector<4, T> getXXWW() const { + return { v[0], v[0], v[3], v[3] }; + } + + GenoVector<4, T> getXYXX() const { + return { v[0], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getXYXY() const { + return { v[0], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getXYXZ() const { + return { v[0], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getXYXW() const { + return { v[0], v[1], v[0], v[3] }; + } + + GenoVector<4, T> getXYYX() const { + return { v[0], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getXYYY() const { + return { v[0], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getXYYZ() const { + return { v[0], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getXYYW() const { + return { v[0], v[1], v[1], v[3] }; + } + + GenoVector<4, T> getXYZX() const { + return { v[0], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getXYZY() const { + return { v[0], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getXYZZ() const { + return { v[0], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getXYZW() const { + return { v[0], v[1], v[2], v[3] }; + } + + GenoVector<4, T> getXYWX() const { + return { v[0], v[1], v[3], v[0] }; + } + + GenoVector<4, T> getXYWY() const { + return { v[0], v[1], v[3], v[1] }; + } + + GenoVector<4, T> getXYWZ() const { + return { v[0], v[1], v[3], v[2] }; + } + + GenoVector<4, T> getXYWW() const { + return { v[0], v[1], v[3], v[3] }; + } + + GenoVector<4, T> getXZXX() const { + return { v[0], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getXZXY() const { + return { v[0], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getXZXZ() const { + return { v[0], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getXZXW() const { + return { v[0], v[2], v[0], v[3] }; + } + + GenoVector<4, T> getXZYX() const { + return { v[0], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getXZYY() const { + return { v[0], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getXZYZ() const { + return { v[0], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getXZYW() const { + return { v[0], v[2], v[1], v[3] }; + } + + GenoVector<4, T> getXZZX() const { + return { v[0], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getXZZY() const { + return { v[0], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getXZZZ() const { + return { v[0], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getXZZW() const { + return { v[0], v[2], v[2], v[3] }; + } + + GenoVector<4, T> getXZWX() const { + return { v[0], v[2], v[3], v[0] }; + } + + GenoVector<4, T> getXZWY() const { + return { v[0], v[2], v[3], v[1] }; + } + + GenoVector<4, T> getXZWZ() const { + return { v[0], v[2], v[3], v[2] }; + } + + GenoVector<4, T> getXZWW() const { + return { v[0], v[2], v[3], v[3] }; + } + + GenoVector<4, T> getXWXX() const { + return { v[0], v[3], v[0], v[0] }; + } + + GenoVector<4, T> getXWXY() const { + return { v[0], v[3], v[0], v[1] }; + } + + GenoVector<4, T> getXWXZ() const { + return { v[0], v[3], v[0], v[2] }; + } + + GenoVector<4, T> getXWXW() const { + return { v[0], v[3], v[0], v[3] }; + } + + GenoVector<4, T> getXWYX() const { + return { v[0], v[3], v[1], v[0] }; + } + + GenoVector<4, T> getXWYY() const { + return { v[0], v[3], v[1], v[1] }; + } + + GenoVector<4, T> getXWYZ() const { + return { v[0], v[3], v[1], v[2] }; + } + + GenoVector<4, T> getXWYW() const { + return { v[0], v[3], v[1], v[3] }; + } + + GenoVector<4, T> getXWZX() const { + return { v[0], v[3], v[2], v[0] }; + } + + GenoVector<4, T> getXWZY() const { + return { v[0], v[3], v[2], v[1] }; + } + + GenoVector<4, T> getXWZZ() const { + return { v[0], v[3], v[2], v[2] }; + } + + GenoVector<4, T> getXWZW() const { + return { v[0], v[3], v[2], v[3] }; + } + + GenoVector<4, T> getXWWX() const { + return { v[0], v[3], v[3], v[0] }; + } + + GenoVector<4, T> getXWWY() const { + return { v[0], v[3], v[3], v[1] }; + } + + GenoVector<4, T> getXWWZ() const { + return { v[0], v[3], v[3], v[2] }; + } + + GenoVector<4, T> getXWWW() const { + return { v[0], v[3], v[3], v[3] }; + } + + GenoVector<4, T> getYXXX() const { + return { v[1], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getYXXY() const { + return { v[1], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getYXXZ() const { + return { v[1], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getYXXW() const { + return { v[1], v[0], v[0], v[3] }; + } + + GenoVector<4, T> getYXYX() const { + return { v[1], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getYXYY() const { + return { v[1], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getYXYZ() const { + return { v[1], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getYXYW() const { + return { v[1], v[0], v[1], v[3] }; + } + + GenoVector<4, T> getYXZX() const { + return { v[1], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getYXZY() const { + return { v[1], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getYXZZ() const { + return { v[1], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getYXZW() const { + return { v[1], v[0], v[2], v[3] }; + } + + GenoVector<4, T> getYXWX() const { + return { v[1], v[0], v[3], v[0] }; + } + + GenoVector<4, T> getYXWY() const { + return { v[1], v[0], v[3], v[1] }; + } + + GenoVector<4, T> getYXWZ() const { + return { v[1], v[0], v[3], v[2] }; + } + + GenoVector<4, T> getYXWW() const { + return { v[1], v[0], v[3], v[3] }; + } + + GenoVector<4, T> getYYXX() const { + return { v[1], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getYYXY() const { + return { v[1], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getYYXZ() const { + return { v[1], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getYYXW() const { + return { v[1], v[1], v[0], v[3] }; + } + + GenoVector<4, T> getYYYX() const { + return { v[1], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getYYYY() const { + return { v[1], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getYYYZ() const { + return { v[1], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getYYYW() const { + return { v[1], v[1], v[1], v[3] }; + } + + GenoVector<4, T> getYYZX() const { + return { v[1], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getYYZY() const { + return { v[1], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getYYZZ() const { + return { v[1], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getYYZW() const { + return { v[1], v[1], v[2], v[3] }; + } + + GenoVector<4, T> getYYWX() const { + return { v[1], v[1], v[3], v[0] }; + } + + GenoVector<4, T> getYYWY() const { + return { v[1], v[1], v[3], v[1] }; + } + + GenoVector<4, T> getYYWZ() const { + return { v[1], v[1], v[3], v[2] }; + } + + GenoVector<4, T> getYYWW() const { + return { v[1], v[1], v[3], v[3] }; + } + + GenoVector<4, T> getYZXX() const { + return { v[1], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getYZXY() const { + return { v[1], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getYZXZ() const { + return { v[1], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getYZXW() const { + return { v[1], v[2], v[0], v[3] }; + } + + GenoVector<4, T> getYZYX() const { + return { v[1], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getYZYY() const { + return { v[1], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getYZYZ() const { + return { v[1], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getYZYW() const { + return { v[1], v[2], v[1], v[3] }; + } + + GenoVector<4, T> getYZZX() const { + return { v[1], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getYZZY() const { + return { v[1], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getYZZZ() const { + return { v[1], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getYZZW() const { + return { v[1], v[2], v[2], v[3] }; + } + + GenoVector<4, T> getYZWX() const { + return { v[1], v[2], v[3], v[0] }; + } + + GenoVector<4, T> getYZWY() const { + return { v[1], v[2], v[3], v[1] }; + } + + GenoVector<4, T> getYZWZ() const { + return { v[1], v[2], v[3], v[2] }; + } + + GenoVector<4, T> getYZWW() const { + return { v[1], v[2], v[3], v[3] }; + } + + GenoVector<4, T> getYWXX() const { + return { v[1], v[3], v[0], v[0] }; + } + + GenoVector<4, T> getYWXY() const { + return { v[1], v[3], v[0], v[1] }; + } + + GenoVector<4, T> getYWXZ() const { + return { v[1], v[3], v[0], v[2] }; + } + + GenoVector<4, T> getYWXW() const { + return { v[1], v[3], v[0], v[3] }; + } + + GenoVector<4, T> getYWYX() const { + return { v[1], v[3], v[1], v[0] }; + } + + GenoVector<4, T> getYWYY() const { + return { v[1], v[3], v[1], v[1] }; + } + + GenoVector<4, T> getYWYZ() const { + return { v[1], v[3], v[1], v[2] }; + } + + GenoVector<4, T> getYWYW() const { + return { v[1], v[3], v[1], v[3] }; + } + + GenoVector<4, T> getYWZX() const { + return { v[1], v[3], v[2], v[0] }; + } + + GenoVector<4, T> getYWZY() const { + return { v[1], v[3], v[2], v[1] }; + } + + GenoVector<4, T> getYWZZ() const { + return { v[1], v[3], v[2], v[2] }; + } + + GenoVector<4, T> getYWZW() const { + return { v[1], v[3], v[2], v[3] }; + } + + GenoVector<4, T> getYWWX() const { + return { v[1], v[3], v[3], v[0] }; + } + + GenoVector<4, T> getYWWY() const { + return { v[1], v[3], v[3], v[1] }; + } + + GenoVector<4, T> getYWWZ() const { + return { v[1], v[3], v[3], v[2] }; + } + + GenoVector<4, T> getYWWW() const { + return { v[1], v[3], v[3], v[3] }; + } + + GenoVector<4, T> getZXXX() const { + return { v[2], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getZXXY() const { + return { v[2], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getZXXZ() const { + return { v[2], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getZXXW() const { + return { v[2], v[0], v[0], v[3] }; + } + + GenoVector<4, T> getZXYX() const { + return { v[2], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getZXYY() const { + return { v[2], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getZXYZ() const { + return { v[2], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getZXYW() const { + return { v[2], v[0], v[1], v[3] }; + } + + GenoVector<4, T> getZXZX() const { + return { v[2], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getZXZY() const { + return { v[2], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getZXZZ() const { + return { v[2], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getZXZW() const { + return { v[2], v[0], v[2], v[3] }; + } + + GenoVector<4, T> getZXWX() const { + return { v[2], v[0], v[3], v[0] }; + } + + GenoVector<4, T> getZXWY() const { + return { v[2], v[0], v[3], v[1] }; + } + + GenoVector<4, T> getZXWZ() const { + return { v[2], v[0], v[3], v[2] }; + } + + GenoVector<4, T> getZXWW() const { + return { v[2], v[0], v[3], v[3] }; + } + + GenoVector<4, T> getZYXX() const { + return { v[2], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getZYXY() const { + return { v[2], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getZYXZ() const { + return { v[2], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getZYXW() const { + return { v[2], v[1], v[0], v[3] }; + } + + GenoVector<4, T> getZYYX() const { + return { v[2], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getZYYY() const { + return { v[2], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getZYYZ() const { + return { v[2], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getZYYW() const { + return { v[2], v[1], v[1], v[3] }; + } + + GenoVector<4, T> getZYZX() const { + return { v[2], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getZYZY() const { + return { v[2], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getZYZZ() const { + return { v[2], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getZYZW() const { + return { v[2], v[1], v[2], v[3] }; + } + + GenoVector<4, T> getZYWX() const { + return { v[2], v[1], v[3], v[0] }; + } + + GenoVector<4, T> getZYWY() const { + return { v[2], v[1], v[3], v[1] }; + } + + GenoVector<4, T> getZYWZ() const { + return { v[2], v[1], v[3], v[2] }; + } + + GenoVector<4, T> getZYWW() const { + return { v[2], v[1], v[3], v[3] }; + } + + GenoVector<4, T> getZZXX() const { + return { v[2], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getZZXY() const { + return { v[2], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getZZXZ() const { + return { v[2], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getZZXW() const { + return { v[2], v[2], v[0], v[3] }; + } + + GenoVector<4, T> getZZYX() const { + return { v[2], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getZZYY() const { + return { v[2], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getZZYZ() const { + return { v[2], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getZZYW() const { + return { v[2], v[2], v[1], v[3] }; + } + + GenoVector<4, T> getZZZX() const { + return { v[2], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getZZZY() const { + return { v[2], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getZZZZ() const { + return { v[2], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getZZZW() const { + return { v[2], v[2], v[2], v[3] }; + } + + GenoVector<4, T> getZZWX() const { + return { v[2], v[2], v[3], v[0] }; + } + + GenoVector<4, T> getZZWY() const { + return { v[2], v[2], v[3], v[1] }; + } + + GenoVector<4, T> getZZWZ() const { + return { v[2], v[2], v[3], v[2] }; + } + + GenoVector<4, T> getZZWW() const { + return { v[2], v[2], v[3], v[3] }; + } + + GenoVector<4, T> getZWXX() const { + return { v[2], v[3], v[0], v[0] }; + } + + GenoVector<4, T> getZWXY() const { + return { v[2], v[3], v[0], v[1] }; + } + + GenoVector<4, T> getZWXZ() const { + return { v[2], v[3], v[0], v[2] }; + } + + GenoVector<4, T> getZWXW() const { + return { v[2], v[3], v[0], v[3] }; + } + + GenoVector<4, T> getZWYX() const { + return { v[2], v[3], v[1], v[0] }; + } + + GenoVector<4, T> getZWYY() const { + return { v[2], v[3], v[1], v[1] }; + } + + GenoVector<4, T> getZWYZ() const { + return { v[2], v[3], v[1], v[2] }; + } + + GenoVector<4, T> getZWYW() const { + return { v[2], v[3], v[1], v[3] }; + } + + GenoVector<4, T> getZWZX() const { + return { v[2], v[3], v[2], v[0] }; + } + + GenoVector<4, T> getZWZY() const { + return { v[2], v[3], v[2], v[1] }; + } + + GenoVector<4, T> getZWZZ() const { + return { v[2], v[3], v[2], v[2] }; + } + + GenoVector<4, T> getZWZW() const { + return { v[2], v[3], v[2], v[3] }; + } + + GenoVector<4, T> getZWWX() const { + return { v[2], v[3], v[3], v[0] }; + } + + GenoVector<4, T> getZWWY() const { + return { v[2], v[3], v[3], v[1] }; + } + + GenoVector<4, T> getZWWZ() const { + return { v[2], v[3], v[3], v[2] }; + } + + GenoVector<4, T> getZWWW() const { + return { v[2], v[3], v[3], v[3] }; + } + + GenoVector<4, T> getWXXX() const { + return { v[3], v[0], v[0], v[0] }; + } + + GenoVector<4, T> getWXXY() const { + return { v[3], v[0], v[0], v[1] }; + } + + GenoVector<4, T> getWXXZ() const { + return { v[3], v[0], v[0], v[2] }; + } + + GenoVector<4, T> getWXXW() const { + return { v[3], v[0], v[0], v[3] }; + } + + GenoVector<4, T> getWXYX() const { + return { v[3], v[0], v[1], v[0] }; + } + + GenoVector<4, T> getWXYY() const { + return { v[3], v[0], v[1], v[1] }; + } + + GenoVector<4, T> getWXYZ() const { + return { v[3], v[0], v[1], v[2] }; + } + + GenoVector<4, T> getWXYW() const { + return { v[3], v[0], v[1], v[3] }; + } + + GenoVector<4, T> getWXZX() const { + return { v[3], v[0], v[2], v[0] }; + } + + GenoVector<4, T> getWXZY() const { + return { v[3], v[0], v[2], v[1] }; + } + + GenoVector<4, T> getWXZZ() const { + return { v[3], v[0], v[2], v[2] }; + } + + GenoVector<4, T> getWXZW() const { + return { v[3], v[0], v[2], v[3] }; + } + + GenoVector<4, T> getWXWX() const { + return { v[3], v[0], v[3], v[0] }; + } + + GenoVector<4, T> getWXWY() const { + return { v[3], v[0], v[3], v[1] }; + } + + GenoVector<4, T> getWXWZ() const { + return { v[3], v[0], v[3], v[2] }; + } + + GenoVector<4, T> getWXWW() const { + return { v[3], v[0], v[3], v[3] }; + } + + GenoVector<4, T> getWYXX() const { + return { v[3], v[1], v[0], v[0] }; + } + + GenoVector<4, T> getWYXY() const { + return { v[3], v[1], v[0], v[1] }; + } + + GenoVector<4, T> getWYXZ() const { + return { v[3], v[1], v[0], v[2] }; + } + + GenoVector<4, T> getWYXW() const { + return { v[3], v[1], v[0], v[3] }; + } + + GenoVector<4, T> getWYYX() const { + return { v[3], v[1], v[1], v[0] }; + } + + GenoVector<4, T> getWYYY() const { + return { v[3], v[1], v[1], v[1] }; + } + + GenoVector<4, T> getWYYZ() const { + return { v[3], v[1], v[1], v[2] }; + } + + GenoVector<4, T> getWYYW() const { + return { v[3], v[1], v[1], v[3] }; + } + + GenoVector<4, T> getWYZX() const { + return { v[3], v[1], v[2], v[0] }; + } + + GenoVector<4, T> getWYZY() const { + return { v[3], v[1], v[2], v[1] }; + } + + GenoVector<4, T> getWYZZ() const { + return { v[3], v[1], v[2], v[2] }; + } + + GenoVector<4, T> getWYZW() const { + return { v[3], v[1], v[2], v[3] }; + } + + GenoVector<4, T> getWYWX() const { + return { v[3], v[1], v[3], v[0] }; + } + + GenoVector<4, T> getWYWY() const { + return { v[3], v[1], v[3], v[1] }; + } + + GenoVector<4, T> getWYWZ() const { + return { v[3], v[1], v[3], v[2] }; + } + + GenoVector<4, T> getWYWW() const { + return { v[3], v[1], v[3], v[3] }; + } + + GenoVector<4, T> getWZXX() const { + return { v[3], v[2], v[0], v[0] }; + } + + GenoVector<4, T> getWZXY() const { + return { v[3], v[2], v[0], v[1] }; + } + + GenoVector<4, T> getWZXZ() const { + return { v[3], v[2], v[0], v[2] }; + } + + GenoVector<4, T> getWZXW() const { + return { v[3], v[2], v[0], v[3] }; + } + + GenoVector<4, T> getWZYX() const { + return { v[3], v[2], v[1], v[0] }; + } + + GenoVector<4, T> getWZYY() const { + return { v[3], v[2], v[1], v[1] }; + } + + GenoVector<4, T> getWZYZ() const { + return { v[3], v[2], v[1], v[2] }; + } + + GenoVector<4, T> getWZYW() const { + return { v[3], v[2], v[1], v[3] }; + } + + GenoVector<4, T> getWZZX() const { + return { v[3], v[2], v[2], v[0] }; + } + + GenoVector<4, T> getWZZY() const { + return { v[3], v[2], v[2], v[1] }; + } + + GenoVector<4, T> getWZZZ() const { + return { v[3], v[2], v[2], v[2] }; + } + + GenoVector<4, T> getWZZW() const { + return { v[3], v[2], v[2], v[3] }; + } + + GenoVector<4, T> getWZWX() const { + return { v[3], v[2], v[3], v[0] }; + } + + GenoVector<4, T> getWZWY() const { + return { v[3], v[2], v[3], v[1] }; + } + + GenoVector<4, T> getWZWZ() const { + return { v[3], v[2], v[3], v[2] }; + } + + GenoVector<4, T> getWZWW() const { + return { v[3], v[2], v[3], v[3] }; + } + + GenoVector<4, T> getWWXX() const { + return { v[3], v[3], v[0], v[0] }; + } + + GenoVector<4, T> getWWXY() const { + return { v[3], v[3], v[0], v[1] }; + } + + GenoVector<4, T> getWWXZ() const { + return { v[3], v[3], v[0], v[2] }; + } + + GenoVector<4, T> getWWXW() const { + return { v[3], v[3], v[0], v[3] }; + } + + GenoVector<4, T> getWWYX() const { + return { v[3], v[3], v[1], v[0] }; + } + + GenoVector<4, T> getWWYY() const { + return { v[3], v[3], v[1], v[1] }; + } + + GenoVector<4, T> getWWYZ() const { + return { v[3], v[3], v[1], v[2] }; + } + + GenoVector<4, T> getWWYW() const { + return { v[3], v[3], v[1], v[3] }; + } + + GenoVector<4, T> getWWZX() const { + return { v[3], v[3], v[2], v[0] }; + } + + GenoVector<4, T> getWWZY() const { + return { v[3], v[3], v[2], v[1] }; + } + + GenoVector<4, T> getWWZZ() const { + return { v[3], v[3], v[2], v[2] }; + } + + GenoVector<4, T> getWWZW() const { + return { v[3], v[3], v[2], v[3] }; + } + + GenoVector<4, T> getWWWX() const { + return { v[3], v[3], v[3], v[0] }; + } + + GenoVector<4, T> getWWWY() const { + return { v[3], v[3], v[3], v[1] }; + } + + GenoVector<4, T> getWWWZ() const { + return { v[3], v[3], v[3], v[2] }; + } + + GenoVector<4, T> getWWWW() const { + return { v[3], v[3], v[3], v[3] }; + } + + virtual ~GenoVector() noexcept { + clean(); + } +}; + +template +GenoVector<4, T> operator-(const GenoVector<4, T> & vector) { + return { + -vector.v[0], + -vector.v[1], + -vector.v[2], + -vector.v[3] + }; +} + +template +GenoVector<4, T> operator+(const GenoVector<4, T> & left, const GenoVector<4, T> & right) { + return { + left.v[0] + right.v[0], + left.v[1] + right.v[1], + left.v[2] + right.v[2], + left.v[3] + right.v[3] + }; +} + +template +GenoVector<4, T> operator-(const GenoVector<4, T> & left, const GenoVector<4, T> & right) { + return { + left.v[0] - right.v[0], + left.v[1] - right.v[1], + left.v[2] - right.v[2], + left.v[3] - right.v[3] + }; +} + +template +GenoVector<4, T> operator*(T left, const GenoVector<4, T> & right) { + return { + left * right.v[0], + left * right.v[1], + left * right.v[2], + left * right.v[3] + }; +} + +template +GenoVector<4, T> operator*(const GenoVector<4, T> & left, T right) { + return { + left.v[0] * right, + left.v[1] * right, + left.v[2] * right, + left.v[3] * right + }; +} + +template +GenoVector<4, T> operator*(const GenoVector<4, T> & left, const GenoVector<4, T> & right) { + return { + left.v[0] * right.v[0], + left.v[1] * right.v[1], + left.v[2] * right.v[2], + left.v[3] * right.v[3] + }; +} + +template +GenoVector<4, T> operator/(const GenoVector<4, T> & left, T right) { + return { + left.v[0] / right, + left.v[1] / right, + left.v[2] / right, + left.v[3] / right + }; +} + +template +GenoVector<4, T> operator/(const GenoVector<4, T> & left, const GenoVector<4, T> & right) { + return { + left.v[0] / right.v[0], + left.v[1] / right.v[1], + left.v[2] / right.v[2], + left.v[3] / right.v[3] + }; +} + +template +GenoVector<4, T> setLength(const GenoVector<4, T> & vector, T length) { + auto scalar = length / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar, + vector.v[2] * scalar, + vector.v[3] * scalar + }; +} + +template +GenoVector<4, T> & setLength(const GenoVector<4, T> & vector, T length, GenoVector<4, T> & target) { + auto scalar = length / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + target.v[2] = vector.v[2] * scalar; + target.v[3] = vector.v[3] * scalar; + return target; +} + +template +GenoVector<4, T> normalize(const GenoVector<4, T> & vector) { + auto scalar = 1 / vector.getLength(); + return { + vector.v[0] * scalar, + vector.v[1] * scalar, + vector.v[2] * scalar, + vector.v[3] * scalar + }; +} + +template +GenoVector<4, T> & normalize(const GenoVector<4, T> & vector, GenoVector<4, T> & target) { + auto scalar = 1 / vector.getLength(); + target.v[0] = vector.v[0] * scalar; + target.v[1] = vector.v[1] * scalar; + target.v[2] = vector.v[2] * scalar; + target.v[3] = vector.v[3] * scalar; + return target; +} + +template +GenoVector<4, T> negate(const GenoVector<4, T> & vector) { + return { + -vector.v[0], + -vector.v[1], + -vector.v[2], + -vector.v[3] + }; +} + +template +GenoVector<4, T> & negate(const GenoVector<4, T> & vector, GenoVector<4, T> & target) { + target.v[0] = -vector.v[0]; + target.v[1] = -vector.v[1]; + target.v[2] = -vector.v[2]; + target.v[3] = -vector.v[3]; + return target; +} + +template +T dot(const GenoVector<4, T> & left, const GenoVector<4, T> & right) { + return ( + left.v[0] * right.v[0] + + left.v[1] * right.v[1] + + left.v[2] * right.v[2] + + left.v[3] * right.v[3] + ); +} + +template +GenoVector<4, T> project(const GenoVector<4, T> & vector, const GenoVector<4, T> & projection) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + return { + scalar * projection.v[0], + scalar * projection.v[1], + scalar * projection.v[2], + scalar * projection.v[3] + }; +} + +template +GenoVector<4, T> & project(const GenoVector<4, T> & vector, const GenoVector<4, T> & projection, GenoVector<4, T> & target) { + auto scalar = dot(vector, projection) / projection.getLengthSquared(); + target.v[0] = scalar * projection.v[0]; + target.v[1] = scalar * projection.v[1]; + target.v[2] = scalar * projection.v[2]; + target.v[3] = scalar * projection.v[3]; + return target; +} + +template +GenoVector<4, T> lerp(const GenoVector<4, T> & start, const GenoVector<4, T> & end, double interpAmount) { + return { + (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount), + (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount), + (T) (start.v[2] + (end.v[2] - start.v[2]) * interpAmount), + (T) (start.v[3] + (end.v[3] - start.v[3]) * interpAmount) + }; +} + +template +GenoVector<4, T> & lerp(const GenoVector<4, T> & start, const GenoVector<4, T> & end, double interpAmount, GenoVector<4, T> & target) { + target.v[0] = (T) (start.v[0] + (end.v[0] - start.v[0]) * interpAmount); + target.v[1] = (T) (start.v[1] + (end.v[1] - start.v[1]) * interpAmount); + target.v[2] = (T) (start.v[2] + (end.v[2] - start.v[2]) * interpAmount); + target.v[3] = (T) (start.v[3] + (end.v[3] - start.v[3]) * interpAmount); + return target; +} + +template +GenoVector<4, T> translate(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> & translate(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> scale(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] * scale, + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> & scale(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scale(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> & scale(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> setX(const GenoVector<4, T> & vector, T x) { + return { + x, + vector.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setY(const GenoVector<4, T> & vector, T y) { + return { + vector.v[0], + y, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setZ(const GenoVector<4, T> & vector, T z) { + return { + vector.v[0], + vector.v[1], + z, + vector.v[3] + }; +} + +template +GenoVector<4, T> setW(const GenoVector<4, T> & vector, T w) { + return { + vector.v[0], + vector.v[1], + vector.v[2], + w + }; +} + +template +GenoVector<4, T> setXY(const GenoVector<4, T> & vector, T x, T y) { + return { + x, + y, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[0], + set.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setXZ(const GenoVector<4, T> & vector, T x, T z) { + return { + x, + vector.v[1], + z, + vector.v[3] + }; +} + +template +GenoVector<4, T> setXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[0], + vector.v[1], + set.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> setXW(const GenoVector<4, T> & vector, T x, T w) { + return { + x, + vector.v[1], + vector.v[2], + w + }; +} + +template +GenoVector<4, T> setXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[0], + vector.v[1], + vector.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[1], + set.v[0], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setYZ(const GenoVector<4, T> & vector, T y, T z) { + return { + vector.v[0], + y, + z, + vector.v[3] + }; +} + +template +GenoVector<4, T> setYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[0], + set.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> setYW(const GenoVector<4, T> & vector, T y, T w) { + return { + vector.v[0], + y, + vector.v[2], + w + }; +} + +template +GenoVector<4, T> setYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[0], + vector.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[1], + vector.v[1], + set.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> setZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[1], + set.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> setZW(const GenoVector<4, T> & vector, T z, T w) { + return { + vector.v[0], + vector.v[1], + z, + w + }; +} + +template +GenoVector<4, T> setZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + vector.v[1], + set.v[0], + set.v[1] + }; +} + +template +GenoVector<4, T> setWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + set.v[1], + vector.v[1], + vector.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + set.v[1], + vector.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set) { + return { + vector.v[0], + vector.v[1], + set.v[1], + set.v[0] + }; +} + +template +GenoVector<4, T> setXYZ(const GenoVector<4, T> & vector, T x, T y, T z) { + return { + x, + y, + z, + vector.v[3] + }; +} + +template +GenoVector<4, T> setXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + set.v[1], + set.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setXYW(const GenoVector<4, T> & vector, T x, T y, T w) { + return { + x, + y, + vector.v[2], + w + }; +} + +template +GenoVector<4, T> setXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + set.v[1], + vector.v[2], + set.v[2] + }; +} + +template +GenoVector<4, T> setXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + set.v[2], + set.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> setXZW(const GenoVector<4, T> & vector, T x, T z, T w) { + return { + x, + vector.v[1], + z, + w + }; +} + +template +GenoVector<4, T> setXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + vector.v[1], + set.v[1], + set.v[2] + }; +} + +template +GenoVector<4, T> setXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + set.v[2], + vector.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[0], + vector.v[1], + set.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + set.v[0], + set.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> setYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + set.v[0], + vector.v[2], + set.v[2] + }; +} + +template +GenoVector<4, T> setYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + set.v[0], + set.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> setYZW(const GenoVector<4, T> & vector, T y, T z, T w) { + return { + vector.v[0], + y, + z, + w + }; +} + +template +GenoVector<4, T> setYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[0], + set.v[1], + set.v[2] + }; +} + +template +GenoVector<4, T> setYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + set.v[0], + vector.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[0], + set.v[2], + set.v[1] + }; +} + +template +GenoVector<4, T> setZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + set.v[2], + set.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> setZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + vector.v[1], + set.v[0], + set.v[2] + }; +} + +template +GenoVector<4, T> setZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + set.v[1], + set.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> setZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[1], + set.v[0], + set.v[2] + }; +} + +template +GenoVector<4, T> setZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + vector.v[1], + set.v[0], + set.v[1] + }; +} + +template +GenoVector<4, T> setZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[2], + set.v[0], + set.v[1] + }; +} + +template +GenoVector<4, T> setWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + set.v[2], + vector.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[1], + vector.v[1], + set.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + set.v[1], + vector.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[1], + set.v[2], + set.v[0] + }; +} + +template +GenoVector<4, T> setWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + set.v[2], + vector.v[1], + set.v[1], + set.v[0] + }; +} + +template +GenoVector<4, T> setWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set) { + return { + vector.v[0], + set.v[2], + set.v[1], + set.v[0] + }; +} + +template +GenoVector<4, T> setX(const GenoVector<4, T> & vector, T x, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setY(const GenoVector<4, T> & vector, T y, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setZ(const GenoVector<4, T> & vector, T z, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = z; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setW(const GenoVector<4, T> & vector, T w, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setXY(const GenoVector<4, T> & vector, T x, T y, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = y; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXZ(const GenoVector<4, T> & vector, T x, T z, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = z; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXW(const GenoVector<4, T> & vector, T x, T w, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setYZ(const GenoVector<4, T> & vector, T y, T z, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = z; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[0]; + target.v[2] = set.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setYW(const GenoVector<4, T> & vector, T y, T w, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = vector.v[2]; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[1]; + target.v[2] = set.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setZW(const GenoVector<4, T> & vector, T z, T w, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = z; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[0]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[1]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setXYZ(const GenoVector<4, T> & vector, T x, T y, T z, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = y; + target.v[2] = z; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[1]; + target.v[2] = set.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXYW(const GenoVector<4, T> & vector, T x, T y, T w, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = y; + target.v[2] = vector.v[2]; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[2]; + target.v[2] = set.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setXZW(const GenoVector<4, T> & vector, T x, T z, T w, GenoVector<4, T> & target) { + target.v[0] = x; + target.v[1] = vector.v[1]; + target.v[2] = z; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[1]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = set.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[0]; + target.v[2] = set.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = set.v[0]; + target.v[2] = set.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setYZW(const GenoVector<4, T> & vector, T y, T z, T w, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = y; + target.v[2] = z; + target.v[3] = w; + return target; +} + +template +GenoVector<4, T> setYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[0]; + target.v[2] = set.v[1]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = set.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[0]; + target.v[2] = set.v[2]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[2]; + target.v[2] = set.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[0]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = set.v[1]; + target.v[2] = set.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> setZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[1]; + target.v[2] = set.v[0]; + target.v[3] = set.v[2]; + return target; +} + +template +GenoVector<4, T> setZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[0]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[2]; + target.v[2] = set.v[0]; + target.v[3] = set.v[1]; + return target; +} + +template +GenoVector<4, T> setWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = set.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = set.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[1]; + target.v[2] = set.v[2]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = set.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = set.v[1]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> setWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & set, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = set.v[2]; + target.v[2] = set.v[1]; + target.v[3] = set.v[0]; + return target; +} + +template +GenoVector<4, T> translateX(const GenoVector<4, T> & vector, T translateX) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateY(const GenoVector<4, T> & vector, T translateY) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateZ(const GenoVector<4, T> & vector, T translateZ) { + return { + vector.v[0], + vector.v[1], + vector.v[2] + translateZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> translateW(const GenoVector<4, T> & vector, T translateW) { + return { + vector.v[0], + vector.v[1], + vector.v[2], + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateXY(const GenoVector<4, T> & vector, T translateX, T translateY) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXZ(const GenoVector<4, T> & vector, T translateX, T translateZ) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2] + translateZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1], + vector.v[2] + translate.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXW(const GenoVector<4, T> & vector, T translateX, T translateW) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2], + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1], + vector.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateYZ(const GenoVector<4, T> & vector, T translateY, T translateZ) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2] + translateZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> translateYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateYW(const GenoVector<4, T> & vector, T translateY, T translateW) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2], + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[0], + vector.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateZW(const GenoVector<4, T> & vector, T translateZ, T translateW) { + return { + vector.v[0], + vector.v[1], + vector.v[2] + translateZ, + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1], + vector.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[1], + vector.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate) { + return { + vector.v[0], + vector.v[1], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateXYZ(const GenoVector<4, T> & vector, T translateX, T translateY, T translateZ) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2] + translateZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXYW(const GenoVector<4, T> & vector, T translateX, T translateY, T translateW) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2], + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateXZW(const GenoVector<4, T> & vector, T translateX, T translateZ, T translateW) { + return { + vector.v[0] + translateX, + vector.v[1], + vector.v[2] + translateZ, + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[2], + vector.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateYZW(const GenoVector<4, T> & vector, T translateY, T translateZ, T translateW) { + return { + vector.v[0], + vector.v[1] + translateY, + vector.v[2] + translateZ, + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[0], + vector.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> translateZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[2], + vector.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[1], + vector.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate) { + return { + vector.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateXYZW(const GenoVector<4, T> & vector, T translateX, T translateY, T translateZ, T translateW) { + return { + vector.v[0] + translateX, + vector.v[1] + translateY, + vector.v[2] + translateZ, + vector.v[3] + translateW + }; +} + +template +GenoVector<4, T> translateXYZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateXYWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateXZYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateXZWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateXWYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateXWZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[0], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateYXZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateYXWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateYZXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateYZWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateYWXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateYWZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[0], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateZXYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateZXWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateZYXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[3] + }; +} + +template +GenoVector<4, T> translateZYWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[2] + }; +} + +template +GenoVector<4, T> translateZWXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateZWYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[0], + vector.v[3] + translate.v[1] + }; +} + +template +GenoVector<4, T> translateWXYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWXZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[1], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWYXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[3], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWYZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[1], + vector.v[2] + translate.v[2], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWZXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[2], + vector.v[1] + translate.v[3], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateWZYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate) { + return { + vector.v[0] + translate.v[3], + vector.v[1] + translate.v[2], + vector.v[2] + translate.v[1], + vector.v[3] + translate.v[0] + }; +} + +template +GenoVector<4, T> translateX(const GenoVector<4, T> & vector, T translateX, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateY(const GenoVector<4, T> & vector, T translateY, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateZ(const GenoVector<4, T> & vector, T translateZ, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateW(const GenoVector<4, T> & vector, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateXY(const GenoVector<4, T> & vector, T translateX, T translateY, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXZ(const GenoVector<4, T> & vector, T translateX, T translateZ, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXW(const GenoVector<4, T> & vector, T translateX, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateYZ(const GenoVector<4, T> & vector, T translateY, T translateZ, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateYW(const GenoVector<4, T> & vector, T translateY, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateZW(const GenoVector<4, T> & vector, T translateZ, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateXYZ(const GenoVector<4, T> & vector, T translateX, T translateY, T translateZ, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXYW(const GenoVector<4, T> & vector, T translateX, T translateY, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateXZW(const GenoVector<4, T> & vector, T translateX, T translateZ, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateYZW(const GenoVector<4, T> & vector, T translateY, T translateZ, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> translateZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateXYZW(const GenoVector<4, T> & vector, T translateX, T translateY, T translateZ, T translateW, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translateX; + target.v[1] = vector.v[1] + translateY; + target.v[2] = vector.v[2] + translateZ; + target.v[3] = vector.v[3] + translateW; + return target; +} + +template +GenoVector<4, T> translateXYZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateXYWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateXZYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateXZWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateXWYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateXWZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[0]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateYXZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateYXWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateYZXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateYZWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateYWXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateYWZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[0]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateZXYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateZXWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateZYXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[3]; + return target; +} + +template +GenoVector<4, T> translateZYWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[2]; + return target; +} + +template +GenoVector<4, T> translateZWXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateZWYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[0]; + target.v[3] = vector.v[3] + translate.v[1]; + return target; +} + +template +GenoVector<4, T> translateWXYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWXZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[1]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWYXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[3]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWYZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[1]; + target.v[2] = vector.v[2] + translate.v[2]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWZXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[2]; + target.v[1] = vector.v[1] + translate.v[3]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> translateWZYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & translate, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] + translate.v[3]; + target.v[1] = vector.v[1] + translate.v[2]; + target.v[2] = vector.v[2] + translate.v[1]; + target.v[3] = vector.v[3] + translate.v[0]; + return target; +} + +template +GenoVector<4, T> scaleX(const GenoVector<4, T> & vector, T scaleX) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleY(const GenoVector<4, T> & vector, T scaleY) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleZ(const GenoVector<4, T> & vector, T scaleZ) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scaleZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleW(const GenoVector<4, T> & vector, T scaleW) { + return { + vector.v[0], + vector.v[1], + vector.v[2], + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, T scaleX, T scaleY) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1], + vector.v[2] * scale, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, T scaleX, T scaleZ) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2] * scaleZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1], + vector.v[2] * scale.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1], + vector.v[2], + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, T scaleX, T scaleW) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2], + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1], + vector.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0], + vector.v[1] * scale, + vector.v[2] * scale, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, T scaleY, T scaleZ) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2] * scaleZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0], + vector.v[1] * scale, + vector.v[2], + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, T scaleY, T scaleW) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2], + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[0], + vector.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1], + vector.v[2] * scale.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scale, + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, T scaleZ, T scaleW) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scaleZ, + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1], + vector.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[1], + vector.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale) { + return { + vector.v[0], + vector.v[1], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] * scale, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleZ) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2] * scaleZ, + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2], + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleW) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2], + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1], + vector.v[2] * scale, + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, T scaleX, T scaleZ, T scaleW) { + return { + vector.v[0] * scaleX, + vector.v[1], + vector.v[2] * scaleZ, + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[2], + vector.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[2], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0], + vector.v[1] * scale, + vector.v[2] * scale, + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, T scaleY, T scaleZ, T scaleW) { + return { + vector.v[0], + vector.v[1] * scaleY, + vector.v[2] * scaleZ, + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[0], + vector.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0], + vector.v[3] + }; +} + +template +GenoVector<4, T> scaleZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[2], + vector.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[1], + vector.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale) { + return { + vector.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, T scale) { + return { + vector.v[0] * scale, + vector.v[1] * scale, + vector.v[2] * scale, + vector.v[3] * scale + }; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleZ, T scaleW) { + return { + vector.v[0] * scaleX, + vector.v[1] * scaleY, + vector.v[2] * scaleZ, + vector.v[3] * scaleW + }; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleXYWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleXZYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleXZWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleXWYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleXWZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[0], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleYXZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleYXWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleYZXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleYZWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleYWXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleYWZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[0], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleZXYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleZXWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleZYXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[3] + }; +} + +template +GenoVector<4, T> scaleZYWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[2] + }; +} + +template +GenoVector<4, T> scaleZWXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleZWYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[0], + vector.v[3] * scale.v[1] + }; +} + +template +GenoVector<4, T> scaleWXYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWXZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[1], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWYXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[3], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWYZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[1], + vector.v[2] * scale.v[2], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWZXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[2], + vector.v[1] * scale.v[3], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleWZYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale) { + return { + vector.v[0] * scale.v[3], + vector.v[1] * scale.v[2], + vector.v[2] * scale.v[1], + vector.v[3] * scale.v[0] + }; +} + +template +GenoVector<4, T> scaleX(const GenoVector<4, T> & vector, T scaleX, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleY(const GenoVector<4, T> & vector, T scaleY, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZ(const GenoVector<4, T> & vector, T scaleZ, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleW(const GenoVector<4, T> & vector, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, T scaleX, T scaleY, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, T scaleX, T scaleZ, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, T scaleX, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleXW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleYX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, T scaleY, T scaleZ, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, T scaleY, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleYW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleZX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, T scaleZ, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleZW(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleWX(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWY(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWZ(const GenoVector<4, T> & vector, const GenoVector<2, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleZ, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleXYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleXZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, T scaleX, T scaleZ, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleXZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleXWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleXWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleYXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleYZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, T scaleY, T scaleZ, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleYZW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleYWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleYWZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleZXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZXW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleZYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZYW(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleZWX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleZWY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleWXY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWXZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWYX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWYZ(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWZX(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWZY(const GenoVector<4, T> & vector, const GenoVector<3, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, T scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale; + target.v[1] = vector.v[1] * scale; + target.v[2] = vector.v[2] * scale; + target.v[3] = vector.v[3] * scale; + return target; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, T scaleX, T scaleY, T scaleZ, T scaleW, const GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scaleX; + target.v[1] = vector.v[1] * scaleY; + target.v[2] = vector.v[2] * scaleZ; + target.v[3] = vector.v[3] * scaleW; + return target; +} + +template +GenoVector<4, T> scaleXYZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXYWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleXZYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleXZWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleXWYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleXWZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[0]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleYXZW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYXWZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleYZXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleYZWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleYWXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleYWZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[0]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleZXYW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZXWY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleZYXW(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[3]; + return target; +} + +template +GenoVector<4, T> scaleZYWX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[2]; + return target; +} + +template +GenoVector<4, T> scaleZWXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleZWYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[0]; + target.v[3] = vector.v[3] * scale.v[1]; + return target; +} + +template +GenoVector<4, T> scaleWXYZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWXZY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[1]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWYXZ(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[3]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWYZX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[1]; + target.v[2] = vector.v[2] * scale.v[2]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWZXY(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[2]; + target.v[1] = vector.v[1] * scale.v[3]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +GenoVector<4, T> scaleWZYX(const GenoVector<4, T> & vector, const GenoVector<4, T> & scale, GenoVector<4, T> & target) { + target.v[0] = vector.v[0] * scale.v[3]; + target.v[1] = vector.v[1] * scale.v[2]; + target.v[2] = vector.v[2] * scale.v[1]; + target.v[3] = vector.v[3] * scale.v[0]; + return target; +} + +template +std::ostream & operator<<(std::ostream & stream, const GenoVector<4, T> & vector) { + return stream << '<' << vector.v[0] << ", " << vector.v[1] << ", " << vector.v[2] << ", " << vector.v[3] << '>'; +} + +template using GenoVector4 = GenoVector<4, T>; + +using GenoVector4b = GenoVector4< int8 >; +using GenoVector4ub = GenoVector4; +using GenoVector4s = GenoVector4< int16>; +using GenoVector4us = GenoVector4; +using GenoVector4i = GenoVector4< int32>; +using GenoVector4ui = GenoVector4; +using GenoVector4l = GenoVector4< int64>; +using GenoVector4ul = GenoVector4; +using GenoVector4f = GenoVector4; +using GenoVector4d = GenoVector4; + +#define GNARLY_GENOME_VECTOR4_FORWARD +#endif // GNARLY_GENOME_VECTOR4 \ No newline at end of file diff --git a/src/geno/math/linear/GenoVectorDimensions.cpp b/src/geno/math/linear/GenoVectorDimensions.cpp new file mode 100644 index 0000000..a331559 --- /dev/null +++ b/src/geno/math/linear/GenoVectorDimensions.cpp @@ -0,0 +1,34 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "GenoVectorDimensions.h" + +namespace GenoVectorDimensions { + GenoVectorDimension<0> x; + GenoVectorDimension<1> y; + GenoVectorDimension<2> z; + GenoVectorDimension<3> w; +} \ No newline at end of file diff --git a/src/geno/math/linear/GenoVectorDimensions.h b/src/geno/math/linear/GenoVectorDimensions.h new file mode 100644 index 0000000..8275571 --- /dev/null +++ b/src/geno/math/linear/GenoVectorDimensions.h @@ -0,0 +1,41 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_VECTOR_DIMENSIONS +#define GNARLY_GENOME_VECTOR_DIMENSIONS + +#include "../../GenoInts.h" + +namespace GenoVectorDimensions { + + template + struct GenoVectorDimension { + const static uint32 dimension = N; + }; +} + +#define GNARLY_GENOME_VECTOR_DIMENSIONS_FORWARD +#endif // GNARLY_GENOME_VECTOR_DIMENSIONS \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2c.cpp b/src/geno/shaders/GenoShader2c.cpp new file mode 100644 index 0000000..90b3d02 --- /dev/null +++ b/src/geno/shaders/GenoShader2c.cpp @@ -0,0 +1,46 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../gl/GenoGL.h" + +#include "GenoShader2c.h" + +GenoShader2c::GenoShader2c() : + GenoMvpShader("res/shaders/Shader2c/Shader2cv.gls", + "res/shaders/Shader2c/Shader2cf.gls", + GENO_SHADER_STRING_IS_PATH) { + colorLoc = glGetUniformLocation(program, "inputColor"); +} + +void GenoShader2c::setColor(float r, float g, float b, float a) { + glUniform4f(colorLoc, r, g, b, a); +} + +void GenoShader2c::setColor(const GenoVector4f & color) { + glUniform4f(colorLoc, color.x(), color.y(), color.z(), color.w()); +} + +GenoShader2c::~GenoShader2c() {} \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2c.h b/src/geno/shaders/GenoShader2c.h new file mode 100644 index 0000000..f976032 --- /dev/null +++ b/src/geno/shaders/GenoShader2c.h @@ -0,0 +1,46 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_SHADER2C +#define GNARLY_GENOME_SHADER2C + +#include "../GenoInts.h" +#include "../math/linear/GenoVector4.h" +#include "../gl/GenoShader.h" + +class GenoShader2c : public GenoMvpShader { + private: + uint32 colorLoc; + + public: + GenoShader2c(); + void setColor(float r, float g, float b, float a); + void setColor(const GenoVector4f & color); + ~GenoShader2c(); +}; + +#define GNARLY_GENOME_SHADER2C_FORWARD +#endif // GNARLY_GENOME_SHADER2C \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2ss.cpp b/src/geno/shaders/GenoShader2ss.cpp new file mode 100644 index 0000000..b91db3d --- /dev/null +++ b/src/geno/shaders/GenoShader2ss.cpp @@ -0,0 +1,42 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../gl/GenoGL.h" + +#include "GenoShader2ss.h" + +GenoShader2ss::GenoShader2ss() : + GenoMvpShader("res/shaders/Shader2ss/Shader2ssv.gls", + "res/shaders/Shader2ss/Shader2ssf.gls", + GENO_SHADER_STRING_IS_PATH) { + textureTransformLoc = glGetUniformLocation(program, "textureTransform"); +} + +void GenoShader2ss::setTextureTransform(const GenoMatrix4f & matrix) { + glUniformMatrix4fv(textureTransformLoc, 1, GL_FALSE, matrix.m); +} + +GenoShader2ss::~GenoShader2ss() {} \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2ss.h b/src/geno/shaders/GenoShader2ss.h new file mode 100644 index 0000000..21a2e96 --- /dev/null +++ b/src/geno/shaders/GenoShader2ss.h @@ -0,0 +1,44 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_SHADER2SS +#define GNARLY_GENOME_SHADER2SS + +#include "../GenoInts.h" +#include "../gl/GenoShader.h" + +class GenoShader2ss : public GenoMvpShader { + private: + uint32 textureTransformLoc; + + public: + GenoShader2ss(); + void setTextureTransform(const GenoMatrix4f & matrix); + ~GenoShader2ss(); +}; + +#define GNARLY_GENOME_SHADER2SS_FORWARD +#endif // GNARLY_GENOME_SHADER2SS \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2t.cpp b/src/geno/shaders/GenoShader2t.cpp new file mode 100644 index 0000000..52e4e73 --- /dev/null +++ b/src/geno/shaders/GenoShader2t.cpp @@ -0,0 +1,36 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../gl/GenoGL.h" + +#include "GenoShader2t.h" + +GenoShader2t::GenoShader2t() : + GenoMvpShader("res/shaders/Shader2t/Shader2tv.gls", + "res/shaders/Shader2t/Shader2tf.gls", + GENO_SHADER_STRING_IS_PATH) {} + +GenoShader2t::~GenoShader2t() {} \ No newline at end of file diff --git a/src/geno/shaders/GenoShader2t.h b/src/geno/shaders/GenoShader2t.h new file mode 100644 index 0000000..f31e607 --- /dev/null +++ b/src/geno/shaders/GenoShader2t.h @@ -0,0 +1,39 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_SHADER2T +#define GNARLY_GENOME_SHADER2T + +#include "../gl/GenoShader.h" + +class GenoShader2t : public GenoMvpShader { + public: + GenoShader2t(); + ~GenoShader2t(); +}; + +#define GNARLY_GENOME_SHADER2T_FORWARD +#endif // GNARLY_GENOME_SHADER2T \ No newline at end of file diff --git a/src/geno/template/GenoArrayList.h b/src/geno/template/GenoArrayList.h new file mode 100644 index 0000000..6db58da --- /dev/null +++ b/src/geno/template/GenoArrayList.h @@ -0,0 +1,168 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_ARRAY_LIST +#define GNARLY_GENOME_ARRAY_LIST + +#include +#include + +#include "../GenoInts.h" +#include "../exceptions/GenoMaxCapacityException.h" + +template +class GenoArrayList { + private: + uint32 capacity; + uint32 length; + T * array; + + void clean() noexcept { + delete [] array; + } + + void reallocate(uint32 newCapacity) { + capacity = newCapacity; + auto newArray = new T[capacity]; + for (uint32 i = 0; i < length; ++i) + newArray[i] = std::move(array[i]); + clean(); + array = newArray; + } + + void checkCapacity() { + if (length == capacity) { + if (capacity == 0xFFFFFFFF) + throw GenoMaxCapacityException(); + else if (capacity > 0x7FFFFFFF) + reallocate(0xFFFFFFFF); + else + reallocate(capacity << 1); + } + } + + public: + GenoArrayList(uint32 capacity = 16) : + capacity(capacity), + array(new T[capacity]) {} + + GenoArrayList(std::initializer_list list) : + capacity(list.size() * 2), + length(list.size()), + array(new T[capacity]) { + auto init = list.begin(); + for (uint32 i = 0; i < list.size(); ++i) + array[i] = init[i]; + } + + GenoArrayList(const GenoArrayList & list) : + capacity(list.capacity), + length(list.length), + array(new T[capacity]) { + for (uint32 i = 0; i < list.length; ++i) + array[i] = list.array[i]; + } + + GenoArrayList(GenoArrayList && list) noexcept : + capacity(list.capacity), + length(list.length), + array(list.array) { + list.array = 0; + } + + GenoArrayList & operator=(const GenoArrayList & list) { + clean(); + capacity = list.capacity; + length = list.length; + array = new T[capacity]; + for (uint32 i = 0; i < list.length; ++i) + array[i] = list.array[i]; + return *this; + } + + GenoArrayList & operator=(GenoArrayList && list) noexcept { + clean(); + capacity = list.capacity; + length = list.length; + array = list.array; + list.array = 0; + return *this; + } + + T & operator[](uint32 index) noexcept { + return array[index]; + } + + const T & operator[](uint32 index) const noexcept { + return array[index]; + } + + uint32 getLength() const noexcept { + return length; + } + + void add(const T & element) { + checkCapacity(); + array[length] = element; + ++length; + } + + void add(uint32 index, const T & element) { + checkCapacity(); + for (uint32 i = length; i > index; --i) + array[i] = std::move(array[i - 1]); + array[index] = element; + ++length; + } + + void remove(uint32 index) { + --length; + for (uint32 i = index; i < length; ++i) + array[i] = std::move(array[i + 1]); + } + + void remove(uint32 begin, uint32 end) { + auto distance = end - begin; + length -= end; + for (uint32 i = begin; i < length; ++i) + array[i] = std::move(array[i + distance]); + } + + void clear() noexcept { + length = 0; + } + + void pack() { + reallocate(length); + } + + ~GenoArrayList() { + clean(); + } +}; + +#define GNARLY_GENOME_ARRAY_LIST_FORWARD +#endif // GNARLY_GENOME_ARRAY_LIST \ No newline at end of file diff --git a/src/geno/template/GenoArrayLoop.h b/src/geno/template/GenoArrayLoop.h new file mode 100644 index 0000000..fea4cc5 --- /dev/null +++ b/src/geno/template/GenoArrayLoop.h @@ -0,0 +1,115 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_ARRAY_LOOP +#define GNARLY_GENOME_ARRAY_LOOP + +#include + +template +class GenoArrayLoop { + private: + uint32 length; + T * array; + + void clean() noexcept { + delete [] array; + } + + public: + GenoArrayLoop(uint32 length, T * array) : + length(length), + array(array) { + } + + GenoArrayLoop(uint32 length) : + length(length), + array(new T[length]) { + } + + GenoArrayLoop(std::initializer_list list) : + length(list.size()), + array(new T[length]) { + T * init = list.begin(); + for (uint32 i = 0; i < length; ++i) + array[i] = init[i]; + } + + GenoArrayLoop(const GenoArrayLoop & array) : + length(array.length), + array(new T[length]) { + for (uint32 i = 0; i < length; ++i) + array[i] = array.array[i]; + } + + GenoArrayLoop(GenoArrayLoop && array) : + length(array.length), + array(array.array) { + array.array = 0; + } + + GenoArrayLoop & operator=(const GenoArrayLoop & array) { + clean(); + length = array.length; + this->array = new T[length]; + for (uint32 i = 0; i < length; ++i) + this->array[i] = array.array[i]; + return *this; + } + + GenoArrayLoop & operator=(GenoArrayLoop && array) { + clean(); + length = array.length; + this->array = array.array; + array.array = 0; + return *this; + } + + T & operator[](int32 index) { + if (index < 0) + return array[((index + 1) % length) + length - 1]; + else + return array[index % length]; + } + + const T & operator[](int32 index) const { + if (index < 0) + return array[((index + 1) % length) + length - 1]; + else + return array[index % length]; + } + + uint32 getLength() { + return length; + } + + ~GenoArrayLoop() { + clean(); + } +}; + +#define GNARLY_GENOME_ARRAY_LOOP_FORWARD +#endif // GNARLY_GENOME_ARRAY_LOOP \ No newline at end of file diff --git a/src/geno/template/GenoQueue.h b/src/geno/template/GenoQueue.h new file mode 100644 index 0000000..ffef00b --- /dev/null +++ b/src/geno/template/GenoQueue.h @@ -0,0 +1,154 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_QUEUE +#define GNARLY_GENOME_QUEUE + +#include +#include + +#include "../GenoInts.h" +#include "../exceptions/GenoMaxCapacityException.h" + +template +class GenoQueue { + private: + uint32 capacity; + uint32 read; + uint32 write; + uint32 length; + T * array; + + void clean() noexcept { + delete [] array; + } + + void reallocate(uint32 newCapacity) { + auto newArray = new T[newCapacity]; + for (uint32 i = 0, j = read - 1; i < length; ++i) + newArray[i] = std::move(array[(++j) %= capacity]); + clean(); + capacity = newCapacity; + read = 0; + write = length; + array = newArray; + } + + void checkCapacity() { + if (length == capacity) { + if (capacity == 0xFFFFFFFF) + throw GenoMaxCapacityException(); + else if (capacity > 0x7FFFFFFF) + reallocate(0xFFFFFFFF); + else + reallocate(capacity << 1); + } + } + + public: + GenoQueue(uint32 capacity = 16) : + capacity(capacity), + array(new T[capacity]) {} + + GenoQueue(std::initializer_list list) : + capacity(list.size() * 2), + write(list.size()), + length(list.size()), + array(new T[capacity]) { + auto init = list.begin(); + for (uint32 i = 0; i < list.size(); ++i) + array[i] = init[i]; + } + + GenoQueue(const GenoQueue & queue) : + capacity(queue.capacity), + read(queue.read), + write(queue.write), + length(queue.length), + array(new T[capacity]) { + for (uint32 i = read; i != write; (++i) %= capacity) + array[i] = queue.array[i]; + } + + GenoQueue(GenoQueue && queue) noexcept : + capacity(queue.capacity), + read(queue.read), + write(queue.write), + length(queue.length), + array(queue.array) { + queue.array = 0; + } + + GenoQueue & operator=(const GenoQueue & queue) { + clean(); + capacity = queue.capacity; + length = queue.length; + array = new T[capacity]; + for (uint32 i = read; i != write; (++i) %= capacity) + array[i] = queue.array[i]; + return *this; + } + + GenoQueue & operator=(GenoQueue && queue) noexcept { + clean(); + capacity = queue.capacity; + read = queue.read; + write = queue.write; + length = queue.length; + array = queue.array; + queue.array = 0; + return *this; + } + + void enqueue(const T & element) { + checkCapacity(); + array[write] = element; + (++write) %= capacity; + ++length; + } + + T dequeue() { + uint32 index = read; + (++read) %= capacity; + --length; + return std::move(array[index]); + } + + bool hasNext() { + return length > 0; + } + + void pack() { + reallocate(length); + } + + ~GenoQueue() { + clean(); + } +}; + +#define GNARLY_GENOME_QUEUE_FORWARD +#endif // GNARLY_GENOME_QUEUE \ No newline at end of file diff --git a/src/geno/template/GenoStack.h b/src/geno/template/GenoStack.h new file mode 100644 index 0000000..cf4031f --- /dev/null +++ b/src/geno/template/GenoStack.h @@ -0,0 +1,139 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_STACK +#define GNARLY_GENOME_STACK + +#include +#include + +#include "../GenoInts.h" +#include "../exceptions/GenoMaxCapacityException.h" + +template +class GenoStack { + private: + uint32 capacity; + uint32 length; + T * array; + + void clean() noexcept { + delete [] array; + } + + void reallocate(uint32 newCapacity) { + capacity = newCapacity; + auto newArray = new T[capacity]; + for (uint32 i = 0; i < length; ++i) + newArray[i] = std::move(array[i]); + clean(); + array = newArray; + } + + void checkCapacity() { + if (length == capacity) { + if (capacity == 0xFFFFFFFF) + throw GenoMaxCapacityException(); + else if (capacity > 0x7FFFFFFF) + reallocate(0xFFFFFFFF); + else + reallocate(capacity << 1); + } + } + + public: + GenoStack(uint32 capacity = 16) : + capacity(capacity), + array(new T[capacity]) {} + + GenoStack(std::initializer_list list) : + capacity(list.size() * 2), + length(list.size()), + array(new T[capacity]) { + auto init = list.begin(); + for (uint32 i = 0; i < list.size(); ++i) + array[i] = init[i]; + } + + GenoStack(const GenoStack & stack) : + capacity(stack.capacity), + length(stack.length), + array(new T[capacity]) { + for (uint32 i = 0; i < stack.length; ++i) + array[i] = stack.array[i]; + } + + GenoStack(GenoStack && stack) noexcept : + capacity(stack.capacity), + length(stack.length), + array(stack.array) { + stack.array = 0; + } + + GenoStack & operator=(const GenoStack & stack) { + clean(); + capacity = stack.capacity; + length = stack.length; + array = new T[capacity]; + for (uint32 i = 0; i < stack.length; ++i) + array[i] = stack.array[i]; + return *this; + } + + GenoStack & operator=(GenoArrayList && stack) noexcept { + clean(); + capacity = stack.capacity; + length = stack.length; + array = stack.array; + stack.array = 0; + return *this; + } + + void push(const T & element) { + checkCapacity(); + array[length] = element; + ++length; + } + + T pop() { + return std::move(array[--length]); + } + + bool hasNext() { + return length > 0; + } + + void pack() { + reallocate(length); + } + + ~GenoStack() { + clean(); + } +}; + +#define GNARLY_GENOME_STACK_FORWARD +#endif // GNARLY_GENOME_STACK \ No newline at end of file diff --git a/src/geno/thread/GenoThreadPool.cpp b/src/geno/thread/GenoThreadPool.cpp new file mode 100644 index 0000000..3a37077 --- /dev/null +++ b/src/geno/thread/GenoThreadPool.cpp @@ -0,0 +1,104 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include + +#include "GenoThreadPool.h" + +void GenoThreadPool::threadLoop(uint32 threadId, GenoThreadPool * pool) { + while (pool->isActive.load()) { + GenoThreadPoolJobPackage * job = pool->requestJob(threadId); + if (job != 0) { + job->job(job->data); + pool->activeThreads[threadId].store(false); + } + else + std::this_thread::sleep_for(std::chrono::duration(1)); + } +} + +GenoThreadPool::GenoThreadPoolJobPackage * GenoThreadPool::requestJob(uint32 threadId) { + std::lock_guard lock(jobMutex); + if (jobCount > 0) { + activeThreads[threadId].store(true); + --jobCount; + return &jobs[jobCount]; + } + else + return 0; +} + +uint32 GenoThreadPool::physicalThreadCount() { + return std::thread::hardware_concurrency(); +} + +GenoThreadPool::GenoThreadPool(uint32 numThreads, uint32 initialQueueCapacity) : + isActive(true), + numThreads(numThreads), + threads(new std::thread[numThreads]), + activeThreads(new std::atomic_bool[numThreads]), + jobCount(0), + jobCapacity(initialQueueCapacity == 0 ? 16 : initialQueueCapacity), + jobs(new GenoThreadPoolJobPackage[jobCapacity]) { + for (uint32 i = 0; i < numThreads; ++i) { + threads[i] = std::thread(threadLoop, i, this); + activeThreads[i].store(false); + } +} + +void GenoThreadPool::submitJob(GenoThreadPoolJob job, GenoThreadPoolJobData data) { + std::lock_guard lock(jobMutex); + if (jobCount >= jobCapacity) { + jobCapacity *= 2; + GenoThreadPoolJobPackage * newJobs = new GenoThreadPoolJobPackage[jobCapacity]; + memcpy(newJobs, jobs, sizeof(GenoThreadPoolJobPackage) * jobCount); + delete [] jobs; + jobs = newJobs; + } + jobs[jobCount] = { job, data }; + ++jobCount; +} + +void GenoThreadPool::wait() { + while (jobCount > 0) + std::this_thread::sleep_for(std::chrono::duration(1)); + for (uint32 i = 0; i < numThreads; ++i) { + if (activeThreads[i].load()) { + std::this_thread::sleep_for(std::chrono::duration(1)); + i = 0; + } + } +} + +GenoThreadPool::~GenoThreadPool() { + isActive.store(false); + for (uint32 i = 0; i < numThreads; ++i) + threads[i].join(); + delete [] threads; + delete [] activeThreads; + delete [] jobs; +} \ No newline at end of file diff --git a/src/geno/thread/GenoThreadPool.h b/src/geno/thread/GenoThreadPool.h new file mode 100644 index 0000000..2f47c00 --- /dev/null +++ b/src/geno/thread/GenoThreadPool.h @@ -0,0 +1,98 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_THREAD_POOL +#define GNARLY_GENOME_THREAD_POOL + +#include +#include +#include + +#include "../GenoInts.h" + +typedef void * GenoThreadPoolJobData; +typedef void (*GenoThreadPoolJob)(GenoThreadPoolJobData data); + +/** + * A thread pool +**/ +class GenoThreadPool { + private: + struct GenoThreadPoolJobPackage { + GenoThreadPoolJob job; + GenoThreadPoolJobData data; + }; + + std::atomic_bool isActive; + uint32 numThreads; + std::mutex jobMutex; + std::thread * threads; + std::atomic_bool * activeThreads; + + uint32 jobCount; + uint32 jobCapacity; + GenoThreadPoolJobPackage * jobs; + + static void threadLoop(uint32 threadId, GenoThreadPool * pool); + + GenoThreadPoolJobPackage * requestJob(uint32 threadId); + public: + /** + * Returns the number of physical threads the system has if possible + **/ + static uint32 physicalThreadCount(); + + /** + * Creates a thread pool + * + * @param numThreads - The number of threads in the pool, defaults to physicalThreadCount() + * @param initialQueueCapacity - The initial capacity of the job queue. Queue will grow to fit but resizing is expensive + **/ + GenoThreadPool(uint32 numThreads = physicalThreadCount(), uint32 initialQueueCapacity = 16); + + /** + * Submits a job to the thread pool + * + * @param job - The job to be queued + * @param data - The data for the queued job + **/ + void submitJob(GenoThreadPoolJob job, GenoThreadPoolJobData data = 0); + + /** + * Waits until all submitted jobs have finished + **/ + void wait(); + + /** + * Destroys the thread pool + * + * Waits until all jobs have been completed before exiting + **/ + ~GenoThreadPool(); +}; + +#define GNARLY_GENOME_THREAD_POOL_FORWARD +#endif // GNARLY_GENOME_THREAD_POOL \ No newline at end of file diff --git a/src/geno/thread/GenoTime.cpp b/src/geno/thread/GenoTime.cpp new file mode 100644 index 0000000..40916d1 --- /dev/null +++ b/src/geno/thread/GenoTime.cpp @@ -0,0 +1,43 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include +#include + +#include "GenoTime.h" + +double GenoTime::getTime(GenoTimeScale scale) { + return glfwGetTime() * scale; +} + +void GenoTime::sleep(double time, GenoTimeScale scale) { + std::this_thread::sleep_for(std::chrono::duration(time * milliseconds / scale)); +} + +void GenoTime::sleepUntil(double time, GenoTimeScale scale) { + std::this_thread::sleep_for(std::chrono::duration((time - getTime(scale)) * milliseconds / scale)); +} \ No newline at end of file diff --git a/src/geno/thread/GenoTime.h b/src/geno/thread/GenoTime.h new file mode 100644 index 0000000..026a37f --- /dev/null +++ b/src/geno/thread/GenoTime.h @@ -0,0 +1,60 @@ +/******************************************************************************* + * + * Copyright (c) 2018 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_GENOME_TIME +#define GNARLY_GENOME_TIME + +#include "../GenoInts.h" + +enum GenoTimeScale : uint32 { seconds = 1, milliseconds = 1000, microseconds = 1000000, nanoseconds = 1000000000 }; + +class GenoTime final { + public: + + /** + * Returns the time since the initialization of the engine + * + * @param scale - The time scale in which to return the time + **/ + static double getTime(GenoTimeScale scale = milliseconds); + + /** + * Sleeps the current thread for the specified amount of time + * + * @param scale - The time scale of the time provided + **/ + static void sleep(double time, GenoTimeScale scale = milliseconds); + + /** + * Sleeps the current thread until the specified time + * + * @param scale - The time scale of the time provided + **/ + static void sleepUntil(double time, GenoTimeScale scale = milliseconds); +}; + +#define GNARLY_GENOME_TIME_FORWARD +#endif // YOUR_DEFINE_HERE \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..9351e75 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,175 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include + +#include "geno/GenoInts.h" +#include "geno/GenoMacros.h" + +#include "geno/math/linear/GenoMatrix4.h" +#include "geno/thread/GenoTime.h" +#include "geno/engine/GenoEngine.h" +#include "geno/engine/GenoLoop.h" +#include "geno/engine/GenoInput.h" +#include "geno/engine/GenoWindow.h" +#include "geno/engine/GenoCamera2D.h" +#include "geno/gl/GenoGL.h" +#include "geno/gl/GenoFramebuffer.h" +#include "geno/gl/GenoVao.h" +#include "geno/shaders/GenoShader2c.h" + +#include "plateral/Scene.h" + +bool init(); +void begin(); +void loop(); +void update(); +void render(); +void cleanup(); + +bool toggle = true; + +GenoWindow * window; +GenoCamera2D * camera; + +Scene * scene; + +int32 main(int32 argc, char ** argv) { + + init(); + begin(); + cleanup(); + + /////// TIME TRIALS - LEAVE FOR FUTURE USE /////// +/* + const uint32 NUM_ITERATIONS = 1000000; + + auto begin1 = std::chrono::high_resolution_clock::now(); + auto end1 = std::chrono::high_resolution_clock::now(); + + auto begin2 = std::chrono::high_resolution_clock::now(); + auto end2 = std::chrono::high_resolution_clock::now(); + + std::cout << std::chrono::duration_cast(end1 - begin1).count() << std::endl; + std::cout << std::chrono::duration_cast(end2 - begin2).count() << std::endl; +*/ + return 0; +} + +bool init() { + GenoEngine::init(); + + GenoMonitor * monitor = GenoMonitors::getPrimaryMonitor(); + GenoVideoMode * videoMode = monitor->getDefaultVideoMode(); + + GenoLoopCreateInfo loopInfo = {}; + loopInfo.targetFps = videoMode->getRefreshRate(); + loopInfo.deltaScale = 1; + loopInfo.callback = loop; + loopInfo.numSubLoops = 0; + loopInfo.subLoops = 0; + + GenoEngine::setLoop(loopInfo); + + int32 winHints[] = { + GLFW_CONTEXT_VERSION_MAJOR, 3, + GLFW_CONTEXT_VERSION_MINOR, 3, + GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE, + GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE, + GLFW_SAMPLES, 4 + }; + + GenoWindowCreateInfo winInfo = {}; + winInfo.defaultPosition = true; + winInfo.fullscreen = true; + + winInfo.title = "Comedy Crusade"; + winInfo.numHints = GENO_ARRAY_SIZE(winHints) / 2; + winInfo.hints = winHints; + winInfo.depth = false; + winInfo.clearRed = 0; + winInfo.clearGreen = 0; + winInfo.clearBlue = 0; + winInfo.depth = false; + + window = GenoWindow::create(winInfo); + if (window == 0) { + std::cerr << "Window creation failed!" << std::endl; + GenoEngine::stopLoop(); + return false; + } + window->activate(); + + GenoEngine::setSwapInterval(1); + GenoEngine::initGlew(); + + window->bindFramebuffer(); + + glEnable(GL_MULTISAMPLE); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + camera = new GenoCamera2D(0, 32, 18, 0, 0, 1); + + scene = new Scene(camera); + + srand((uint32) GenoTime::getTime(milliseconds)); + + return true; +} + +void begin() { + GenoEngine::startLoop(); +} + +void loop() { + update(); + render(); +} + +void update() { + if (window->shouldClose()) + GenoEngine::stopLoop(); + scene->update(); + camera->update(); +} + +void render() { + GenoFramebuffer::clear(); + scene->render(); + window->swap(); +} + +void cleanup() { + delete scene; + + delete camera; + delete window; + + GenoEngine::destroy(); +} diff --git a/src/plateral/ColRect.cpp b/src/plateral/ColRect.cpp new file mode 100644 index 0000000..dc21fa3 --- /dev/null +++ b/src/plateral/ColRect.cpp @@ -0,0 +1,49 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "ColRect.h" + +GenoShader2c * ColRect::shader = 0; + +ColRect::ColRect(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector4f & color, bool gui) : + Collidable(camera, position, dimensions, { 0.0f , 0.0f }), + color(color), + gui(gui) { + if (shader == 0) + shader = new GenoShader2c(); +} + +void ColRect::render() { + shader->enable(); + shader->setColor(color); + if (gui) + shader->setMvp(translate2D(camera->getProjection(), position).scale2D(dimensions)); + else + shader->setMvp(translate2D(camera->getVPMatrix(), position).scale2D(dimensions)); + vao->render(); +} + +ColRect::~ColRect() {} \ No newline at end of file diff --git a/src/plateral/ColRect.h b/src/plateral/ColRect.h new file mode 100644 index 0000000..00bc2c6 --- /dev/null +++ b/src/plateral/ColRect.h @@ -0,0 +1,47 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_COLRECT +#define GNARLY_PLATERAL_COLRECT + +#include "../geno/shaders/GenoShader2c.h" + +#include "Collidable.h" + +class ColRect : public Collidable { + private: + static GenoShader2c * shader; + + public: + GenoVector4f color; + bool gui; + + ColRect(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector4f & color, bool gui); + void render(); + ~ColRect(); +}; + +#endif // GNARLY_PLATERAL_COLRECT \ No newline at end of file diff --git a/src/plateral/Collidable.cpp b/src/plateral/Collidable.cpp new file mode 100644 index 0000000..2d81932 --- /dev/null +++ b/src/plateral/Collidable.cpp @@ -0,0 +1,60 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "Collidable.h" + +GenoVao * Collidable::vao = 0; + +Collidable::Collidable(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector2f & velocity) : + camera(camera), + position(position), + dimensions(dimensions), + velocity(velocity) { + if (vao == 0) { + float vertices[] = { + 1, 0, 0, // Top left + 1, 1, 0, // Bottom left + 0, 1, 0, // Bottom right + 0, 0, 0 // Top right + }; + uint32 indices[] = { + 0, 1, 3, + 1, 2, 3 + }; + float texCoords[] = { + 1, 0, + 1, 1, + 0, 1, + 0, 0 + }; + vao = new GenoVao(4, vertices, 6, indices); + vao->addAttrib(4, 2, texCoords); + } +} + +Collidable::~Collidable() {} \ No newline at end of file diff --git a/src/plateral/Collidable.h b/src/plateral/Collidable.h new file mode 100644 index 0000000..42510ba --- /dev/null +++ b/src/plateral/Collidable.h @@ -0,0 +1,48 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_COLLIDABLE +#define GNARLY_PLATERAL_COLLIDABLE + +#include "../geno/math/linear/GenoVector2.h" +#include "../geno/engine/GenoCamera2D.h" +#include "../geno/gl/GenoVao.h" + +class Collidable { + protected: + static GenoVao * vao; + + GenoCamera2D * camera; + public: + GenoVector2f position; + GenoVector2f dimensions; + GenoVector2f velocity; + + Collidable(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector2f & velocity); + ~Collidable(); +}; + +#endif // GNARLY_PLATERAL_COLLIDABLE \ No newline at end of file diff --git a/src/plateral/EndScreen.cpp b/src/plateral/EndScreen.cpp new file mode 100644 index 0000000..875acee --- /dev/null +++ b/src/plateral/EndScreen.cpp @@ -0,0 +1,117 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "../geno/GenoMacros.h" +#include "../geno/engine/GenoEngine.h" +#include "../geno/engine/GenoMonitor.h" + +#include "EndScreen.h" + +GenoShader2t * EndScreen::shader = 0; +GenoTexture2D * EndScreen::endScreen1 = 0; +GenoTexture2D * EndScreen::endScreen2 = 0; + +EndScreen::EndScreen(GenoCamera2D * camera) : + Collidable(camera, { 0.0f, 0 }, camera->getDimensions(), { 0.0f, 0 }), + overlay(camera, { 0.0f, 0.0f }, camera->getDimensions(), { 0, 0, 0, 1 }, true), + two(false), + complete(false), + time(0) { + + if (shader == 0) { + shader = new GenoShader2t(); + + uint32 textureParams[] = { + GL_TEXTURE_MIN_FILTER, GL_LINEAR, + GL_TEXTURE_MAG_FILTER, GL_LINEAR, + GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, + GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE + }; + + float width = GenoMonitors::getPrimaryMonitor()->getDefaultVideoMode()->getWidth(); + + const char * path1 = 0; + if (width >= (2560 + 3840) * 0.5f) + path1 = "res/img/EndScreen4k.png"; + else if (width >= (1080 + 2560) * 0.5f) + path1 = "res/img/EndScreen1440p.png"; + else + path1 = "res/img/EndScreen1080p.png"; + + const char * path2 = 0; + if (width >= (2560 + 3840) * 0.5f) + path2 = "res/img/EndScreen24k.png"; + else if (width >= (1080 + 2560) * 0.5f) + path2 = "res/img/EndScreen21440p.png"; + else + path2 = "res/img/EndScreen21080p.png"; + + GenoTexture2DCreateInfo textureInfo = {}; + textureInfo.type = GENO_TEXTURE2D_TYPE_PNG; + textureInfo.numParams = GENO_ARRAY_SIZE(textureParams) / 2; + textureInfo.params = textureParams; + textureInfo.texture = path1; + + endScreen1 = GenoTexture2D::create(textureInfo); + + textureInfo.texture = path2; + + endScreen2 = GenoTexture2D::create(textureInfo); + } +} + +void EndScreen::render() { + time += GenoEngine::getLoop()->getDelta(); + if (time < 0.5) + overlay.color.w() = 1 - time * 2; + else if (time >= 2.5 && time < 3) + overlay.color.w() = (time - 2.5) * 2; + else if (time >= 3 && time < 3.5) { + two = true; + overlay.color.w() = 1 - (time - 3) * 2; + } + else if (time >= 5.5 && time < 6) + overlay.color.w() = (time - 5.5) * 2; + else if (time >= 6) + complete = true; + + if (two) + endScreen2->bind(); + else + endScreen1->bind(); + shader->enable(); + shader->setMvp(scale2D(camera->getProjection(), camera->getDimensions())); + vao->render(); + overlay.render(); +} + +bool EndScreen::done() { + return complete; +} + +EndScreen::~EndScreen() {} \ No newline at end of file diff --git a/src/plateral/EndScreen.h b/src/plateral/EndScreen.h new file mode 100644 index 0000000..5bf687d --- /dev/null +++ b/src/plateral/EndScreen.h @@ -0,0 +1,55 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_END_SCREEN +#define GNARLY_PLATERAL_END_SCREEN + +#include "../geno/engine/GenoCamera2D.h" +#include "../geno/gl/GenoTexture2D.h" +#include "../geno/shaders/GenoShader2t.h" +#include "Collidable.h" + +#include "ColRect.h" + +class EndScreen : public Collidable { + private: + static GenoShader2t * shader; + static GenoTexture2D * endScreen1; + static GenoTexture2D * endScreen2; + + float time; + ColRect overlay; + bool complete; + bool two; + + public: + EndScreen(GenoCamera2D * camera); + void render(); + bool done(); + ~EndScreen(); +}; + +#endif // GNARLY_PLATERAL_END_SCREEN \ No newline at end of file diff --git a/src/plateral/Goal.cpp b/src/plateral/Goal.cpp new file mode 100644 index 0000000..61c79ec --- /dev/null +++ b/src/plateral/Goal.cpp @@ -0,0 +1,73 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../geno/GenoMacros.h" +#include "../geno/engine/GenoMonitor.h" + +#include "Goal.h" + +GenoTexture2D * Goal::texture = 0; +GenoShader2t * Goal::shader = 0; + +Goal::Goal(GenoCamera2D * camera, const GenoVector2f & position) : + Collidable(camera, position, { 1.0f, 2.0f }, { 0.0f, 0.0f }) { + if (shader == 0) { + shader = new GenoShader2t(); + + uint32 textureParams[] = { + GL_TEXTURE_MIN_FILTER, GL_LINEAR, + GL_TEXTURE_MAG_FILTER, GL_LINEAR, + GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, + GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE + }; + + const char * path = 0; + float width = GenoMonitors::getPrimaryMonitor()->getDefaultVideoMode()->getWidth(); + if (width >= (2560 + 3840) * 0.5f) + path = "res/img/Door4k.png"; + else if (width >= (1080 + 2560) * 0.5f) + path = "res/img/Door1440p.png"; + else + path = "res/img/Door1080p.png"; + + GenoTexture2DCreateInfo textureInfo = {}; + textureInfo.type = GENO_TEXTURE2D_TYPE_PNG; + textureInfo.numParams = GENO_ARRAY_SIZE(textureParams) / 2; + textureInfo.params = textureParams; + textureInfo.texture = path; + + texture = GenoTexture2D::create(textureInfo); + } +} + +void Goal::render() { + texture->bind(); + shader->enable(); + shader->setMvp(translate2D(camera->getVPMatrix(), position).scale2D(dimensions)); + vao->render(); +} + +Goal::~Goal() {} \ No newline at end of file diff --git a/src/plateral/Goal.h b/src/plateral/Goal.h new file mode 100644 index 0000000..2909c0f --- /dev/null +++ b/src/plateral/Goal.h @@ -0,0 +1,46 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_GOAL +#define GNARLY_PLATERAL_GOAL + +#include "../geno/gl/GenoTexture2D.h" +#include "../geno/shaders/GenoShader2t.h" + +#include "Collidable.h" + +class Goal : public Collidable { + private: + static GenoTexture2D * texture; + static GenoShader2t * shader; + + public: + Goal(GenoCamera2D * camera, const GenoVector2f & position); + void render(); + ~Goal(); +}; + +#endif // GNARLY_PLATERAL_GOAL \ No newline at end of file diff --git a/src/plateral/Image.cpp b/src/plateral/Image.cpp new file mode 100644 index 0000000..5db0720 --- /dev/null +++ b/src/plateral/Image.cpp @@ -0,0 +1,90 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include "../geno/GenoMacros.h" +#include "../geno/math/linear/GenoMatrix4.h" + +#include "Image.h" + +GenoShader2t * Image::shader; +GenoVao * Image::vao; + +void Image::init() { + shader = new GenoShader2t(); + + float vertices[] = { + 1, 0, 0, // Top left + 1, 1, 0, // Bottom left + 0, 1, 0, // Bottom right + 0, 0, 0 // Top right + }; + uint32 indices[] = { + 0, 1, 3, + 1, 2, 3 + }; + float texCoords[] = { + 1, 0, + 1, 1, + 0, 1, + 0, 0 + }; + vao = new GenoVao(4, vertices, 6, indices); + vao->addAttrib(4, 2, texCoords); +} + +Image::Image(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const char * path) : + camera(camera), + position(position), + dimensions(dimensions) { + + uint32 textureParams[] = { + GL_TEXTURE_MIN_FILTER, GL_LINEAR, + GL_TEXTURE_MAG_FILTER, GL_LINEAR, + GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, + GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE + }; + + GenoTexture2DCreateInfo textureInfo = {}; + textureInfo.type = GENO_TEXTURE2D_TYPE_PNG; + textureInfo.texture = path; + textureInfo.numParams = GENO_ARRAY_SIZE(textureParams) / 2; + textureInfo.params = textureParams; + + texture = GenoTexture2D::create(textureInfo); +} + +GenoTexture2D * Image::getTexture() { + return texture; +} + +void Image::render() { + texture->bind(); + shader->enable(); + shader->setMvp(translate2D(camera->getVPMatrix(), position).scale2D(dimensions)); + vao->render(); +} + +Image::~Image() {} \ No newline at end of file diff --git a/src/plateral/Image.h b/src/plateral/Image.h new file mode 100644 index 0000000..4dc3be8 --- /dev/null +++ b/src/plateral/Image.h @@ -0,0 +1,58 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_IMAGE +#define GNARLY_PLATERAL_IMAGE + +#include "../geno/math/linear/GenoVector2.h" +#include "../geno/engine/GenoCamera2D.h" +#include "../geno/gl/GenoTexture2D.h" +#include "../geno/gl/GenoVao.h" +#include "../geno/shaders/GenoShader2t.h" + +class Image { + private: + static GenoShader2t * shader; + static GenoVao * vao; + + GenoCamera2D * camera; + + public: + static void init(); + + GenoTexture2D * texture; + + GenoVector2f position; + GenoVector2f dimensions; + + Image(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const char * string); + GenoTexture2D * getTexture(); + void render(); + ~Image(); +}; + +#define GNARLY_PLATERAL_IMAGE +#endif // GNARLY_PLATERAL_IMAGE \ No newline at end of file diff --git a/src/plateral/Map.cpp b/src/plateral/Map.cpp new file mode 100644 index 0000000..5be012d --- /dev/null +++ b/src/plateral/Map.cpp @@ -0,0 +1,364 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include + +#include "../geno/math/linear/GenoVector2.h" +#include "../geno/engine/GenoEngine.h" +#include "../geno/engine/GenoInput.h" + +#include "Map.h" + +uint32 readUInt(std::istream & stream) { + uint32 ret = 0; + char c; + while ((c = stream.get()) >= '0' && c <= '9') { + ret *= 10; + ret += c - '0'; + } + return ret; +} + +float readFloat(std::istream & stream) { + float sign = 1; + float ret = 0; + char c = stream.get(); + if (c == '-') { + sign = -1; + c = stream.get(); + } + while (c >= '0' && c <= '9') { + ret *= 10; + ret += c - '0'; + c = stream.get(); + } + if (c == '.') { + c = stream.get(); + float fract = 1; + while (c >= '0' && c <= '9') + ret += c * (fract *= 0.1); + } + return sign * ret; +} + +Map::Map(GenoCamera2D * camera, const char * path) : + camera(camera), + thrown({ + true, + Platform(camera, { 0.0f, 0.0f }, { 1, 1 }) + }), + goal(camera, { 0.0f, 0.0f}), + overlay(camera, { 0.0f, 0.0f }, camera->getDimensions(), {0, 0, 0, 1}, true), + time(0), + goalOverlay(camera, { 0.0f, 0.0f }, { 1, 2 }, {0, 0, 0, 0}, false) { + player = new Player(camera); + // ------------ LOADING ------------ + std::ifstream level(path); + numBlocks = readUInt(level); + killFloor = readFloat(level); + player->position = { readFloat(level), readFloat(level) }; + goal.position = { readFloat(level), readFloat(level) }; + goalOverlay.position = goal.position; + uint32 numPlatforms = readUInt(level); + for (uint32 i = 0; i < numPlatforms; ++i) { + GenoVector2f position = GenoVector2f{ readFloat(level), readFloat(level) }; + GenoVector2f dimensions = GenoVector2f{ readFloat(level), readFloat(level) }; + constant.emplace_back(camera, position, dimensions); + } + // ---------------------------------- + camera->position = player->position + (player->dimensions - camera->getDimensions()) * 0.5f; +} + +float absMin(float a, float b) { + if (a * a < b * b) + return a; + else + return b; +} + +bool Map::checkPlayerCollision(const Collidable & platform, bool push) { + GenoVector2f playerPosition = player->getCollisionPosition(); + GenoVector2f playerDimensions = player->getCollisionDimensions(); + // AABB Collision + if (playerPosition.x() < platform.position.x() + platform.dimensions.x() && playerPosition.x() + playerDimensions.x() > platform.position.x() + && playerPosition.y() < platform.position.y() + platform.dimensions.y() && playerPosition.y() + playerDimensions.y() > platform.position.y()) { + if (push) { + // Move the smallest amount needed to leave the platform + float xPush = absMin( + platform.position.x() - (playerPosition.x() + playerDimensions.x()), + platform.position.x() + platform.dimensions.x() - playerPosition.x() + ); + float yPush = absMin( + platform.position.y() - (playerPosition.y() + playerDimensions.y()), + platform.position.y() + platform.dimensions.y() - playerPosition.y() + ); + if (fabs(xPush) < fabs(yPush)) { + player->position.x() += xPush; + player->velocity.x() = 0; + } + else { + if (yPush < 0) + player->ground(); + player->position.y() += yPush; + player->velocity.y() = 0; + } + } + return true; + } + return false; +} + +void Map::checkThrownCollision(const Collidable & platform) { + // AABB Collision + if (thrown.data.position.x() < platform.position.x() + platform.dimensions.x() && thrown.data.position.x() + thrown.data.dimensions.x() > platform.position.x() + && thrown.data.position.y() < platform.position.y() + platform.dimensions.y() && thrown.data.position.y() + thrown.data.dimensions.y() > platform.position.y()) { + // Move the smallest amount needed to leave the platform + float xPush = absMin( + platform.position.x() - (thrown.data.position.x() + thrown.data.dimensions.x()), + platform.position.x() + platform.dimensions.x() - thrown.data.position.x() + ); + float yPush = absMin( + platform.position.y() - (thrown.data.position.y() + thrown.data.dimensions.y()), + platform.position.y() + platform.dimensions.y() - thrown.data.position.y() + ); + if (fabs(xPush) < fabs(yPush)) { + thrown.data.position.x() += xPush; + thrown.data.velocity.x() = 0; + } + else { + thrown.data.position.y() += yPush; + thrown.data.velocity.y() = 0; + } + } +} + +constexpr float OPEN_TIME = 0.5; +constexpr float ENTER_TIME = 1; +constexpr float CLOSE_TIME = 1.5; + +void Map::update() { + constexpr float FADE_TIME = 0.5; + float delta = GenoEngine::getLoop()->getDelta(); + if (substate == 0) { + GenoInput::setEnabled(false); + time += delta; + overlay.color.w() = 1 - fmin(time / FADE_TIME, 1); + if (time > FADE_TIME) { + substate = 1; + GenoInput::setEnabled(true); + } + } + else if (substate == 3) { + GenoInput::setEnabled(false); + time += delta; + overlay.color.w() = fmin(time / FADE_TIME, 1); + if (time > FADE_TIME) + substate = 4; + } + if (substate != 2) { + ///////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////// + GenoVector2f oldPosition = player->position; + + player->update(); + + // Player Collision + for (auto & platform : constant) + checkPlayerCollision(platform, true); + for (auto & platform : spawned) + checkPlayerCollision(platform, true); + + if (!thrown.null) { + thrown.data.update(); + // Thrown Collision + for (auto & platform : constant) + checkThrownCollision(platform); + for (auto & platform : spawned) + checkThrownCollision(platform); + if (GenoInput::getMouseButtonState(GLFW_MOUSE_BUTTON_1) == GENO_INPUT_PRESSED) { + spawned.push_back(thrown.data.finalize()); + thrown.null = true; + } + } + else if (GenoInput::getMouseButtonState(GLFW_MOUSE_BUTTON_1) == GENO_INPUT_PRESSED) { + constexpr float MIN_LAUNCH_SPEED = 5; + constexpr float MAX_LAUNCH_SPEED = 15; + + constexpr float MAX_MOUSE_DIST = 5; + + GenoVector2f launchVelocity = GenoInput::getMouseCoords(camera) - (player->position + player->dimensions * 0.5f); + float length = launchVelocity.getLength(); + if (length > 0) + launchVelocity.setLength(MAX_LAUNCH_SPEED); // MIN_LAUNCH_SPEED + (MAX_LAUNCH_SPEED - MIN_LAUNCH_SPEED) * min(1, length / MAX_MOUSE_DIST)); + launchVelocity += player->velocity; + + thrown.null = false; + thrown.data.reset(player->position + (player->dimensions - thrown.data.dimensions) * 0.5f, launchVelocity); + } + if (GenoInput::getMouseButtonState(GLFW_MOUSE_BUTTON_2) == GENO_INPUT_PRESSED) { + constexpr float MAX_FORCE = 20; + constexpr float MAX_DISTANCE = 4; + + GenoVector2f mouse = GenoInput::getMouseCoords(camera); + for (uint32 i = 0; i < spawned.size(); ++i) { + auto & platform = spawned[i]; + if (mouse.x() > platform.position.x() && mouse.x() < platform.position.x() + platform.dimensions.x() + && mouse.y() > platform.position.y() && mouse.y() < platform.position.y() + platform.dimensions.y()) { + GenoVector2f direction = (player->position - platform.position + (player->dimensions - platform.dimensions) * 0.5f); + float speed = (fmax(0, MAX_DISTANCE - direction.getLength()) / MAX_DISTANCE) * MAX_FORCE; + player->velocity += direction.setLength(speed); + + if (!thrown.null) { + GenoVector2f direction = (thrown.data.position - platform.position + (thrown.data.dimensions - platform.dimensions) * 0.5f); + float speed = (fmax(0, MAX_DISTANCE - direction.getLength()) / MAX_DISTANCE) * MAX_FORCE; + thrown.data.velocity += direction.setLength(speed); + } + + detonations.push_back(platform.detonate()); + spawned.erase(spawned.begin() + i); + + break; + } + } + if (mouse.x() > thrown.data.position.x() && mouse.x() < thrown.data.position.x() + thrown.data.dimensions.x() + && mouse.y() > thrown.data.position.y() && mouse.y() < thrown.data.position.y() + thrown.data.dimensions.y() && !thrown.null) { + GenoVector2f direction = (player->position - thrown.data.position + (player->dimensions - thrown.data.dimensions) * 0.5f); + float speed = (fmax(0, MAX_DISTANCE - direction.getLength()) / MAX_DISTANCE) * MAX_FORCE; + player->velocity += direction.setLength(speed); + + detonations.push_back(thrown.data.detonate()); + thrown.null = true; + } + } + + for (uint32 i = 0; i < detonations.size(); ++i) { + detonations[i].update(); + if (detonations[i].isComplete()) { + detonations.erase(detonations.begin() + i); + --i; + } + } + + GenoVector2f bounds[] = { + camera->position + camera->getDimensions() * 0.3f, + camera->position + camera->getDimensions() * 0.4f, + camera->position + camera->getDimensions() * 0.6f, + camera->position + camera->getDimensions() * 0.7f, + }; + // camera - x + if (player->position.x() < bounds[0].x()) + camera->position.x() += player->position.x() - bounds[0].x(); + else if (player->position.x() > bounds[3].x()) + camera->position.x() += player->position.x() - bounds[3].x(); + // camera - y + if (player->position.y() < bounds[0].y()) + camera->position.y() += player->position.y() - bounds[0].y(); + else if (player->position.y() > bounds[3].y()) + camera->position.y() += player->position.y() - bounds[3].y(); + + if (camera->position.y() > killFloor - camera->getDimensions().y() * 0.7f) + camera->position.y() = killFloor - camera->getDimensions().y() * 0.7f; + + if (player->position.y() > killFloor && substate == 1) { + time = 0; + state = 1; + substate = 3; + } + else if (substate == 1) { + if (checkPlayerCollision(goal, false) && fabs(player->position.y() - goal.position.y()) < 0.0001) { + state = 2; + substate = 2; + time = 0; + startX = player->position.x(); + saveDims = goal.dimensions.x(); + } + } + ///////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////// + } + else { + constexpr float CLOSE_AMOUNT = 0.9; + + time += delta; + + player->position.y() = goal.position.y(); + if (time < OPEN_TIME) { + player->position.x() = (goal.position.x() + (saveDims - player->dimensions.x()) * 0.5f - startX) * (time / OPEN_TIME) + startX; + goal.dimensions.x() = 1 - (time / OPEN_TIME) * CLOSE_AMOUNT; + } + else if (time < ENTER_TIME) { + constexpr float ENTER_LTIME = ENTER_TIME - OPEN_TIME; + float ltime = time - OPEN_TIME; + goalOverlay.color.w() = (ltime / ENTER_LTIME); + } + else if (time < CLOSE_TIME) { + constexpr float CLOSE_LTIME = CLOSE_TIME - ENTER_TIME; + float ltime = time - ENTER_TIME; + goal.dimensions.x() = (ltime / CLOSE_LTIME) * CLOSE_AMOUNT; + } + else if (time < FADE_TIME + CLOSE_TIME) + overlay.color.w() = (time - FADE_TIME) / CLOSE_TIME; + else + substate = 4; + } +} + +void Map::render() { + if (substate == 2) { + if (time < OPEN_TIME) { + goal.render(); + player->render(); + } + else { + player->render(); + goalOverlay.render(); + goal.render(); + } + } + else { + goal.render(); + player->render(); + } + for (auto & platform : constant) + platform.render(); + for (auto & platform : spawned) + platform.render(); + for (auto & detonated : detonations) + detonated.render(); + if (!thrown.null) + thrown.data.render(); + if (substate != 1) + overlay.render(); +} + +uint32 Map::getState() { + return state * (substate == 4); +} + +Map::~Map() { + delete player; +} diff --git a/src/plateral/Map.h b/src/plateral/Map.h new file mode 100644 index 0000000..fcf8685 --- /dev/null +++ b/src/plateral/Map.h @@ -0,0 +1,76 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_MAP +#define GNARLY_PLATERAL_MAP + +#include + +#include "../geno/GenoInts.h" +#include "../geno/engine/GenoCamera2D.h" +#include "Platform.h" +#include "Player.h" +#include "Optional.h" +#include "Goal.h" +#include "ColRect.h" + +class Map { + private: + GenoCamera2D * camera; + std::vector constant; + std::vector spawned; + std::vector detonations; + Goal goal; + Optional thrown; + + float killFloor; + Player * player; + uint32 numBlocks; + + uint32 state; + uint32 substate; + + float time; + ColRect overlay; + + float startX; + float saveDims; + ColRect goalOverlay; + + bool checkPlayerCollision(const Collidable & platform, bool push); + void checkThrownCollision(const Collidable & platform); + + public: + static constexpr float GRAVITY = 30; + + Map(GenoCamera2D * camera, const char * path); + void update(); + void render(); + uint32 getState(); + ~Map(); +}; + +#endif // GNARLY_PLATERAL_MAP \ No newline at end of file diff --git a/src/plateral/Optional.h b/src/plateral/Optional.h new file mode 100644 index 0000000..3ae6b98 --- /dev/null +++ b/src/plateral/Optional.h @@ -0,0 +1,36 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_OPTIONAL +#define GNARLY_PLATERAL_OPTIONAL + +template +struct Optional { + bool null; + T data; +}; + +#endif // GNARLY_PLATERAL_OPTIONAL \ No newline at end of file diff --git a/src/plateral/Platform.cpp b/src/plateral/Platform.cpp new file mode 100644 index 0000000..a988d0e --- /dev/null +++ b/src/plateral/Platform.cpp @@ -0,0 +1,154 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include "../geno/thread/GenoTime.h" +#include "../geno/engine/GenoEngine.h" +#include "Map.h" + +#include "Platform.h" + +GenoShader2c * Platform::shader = 0; + +Platform::Platform(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions) : + Collidable(camera, position, dimensions, { 0.0f, 0.0f }), + color(1, 1, 1, 1), + state(STATE_STATIC), + scale(0), + time(0) { + if (shader == 0) + shader = new GenoShader2c(); +} + +Platform::Platform(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector2f & velocity) : + Collidable(camera, position, dimensions, velocity), + color(1, 1, 1, 1), + state(STATE_MOBILE), + scale(0), + time(0) { + if (shader == 0) + shader = new GenoShader2c(); +} + +void Platform::update() { + if (state == STATE_MOBILE) { + float delta = GenoEngine::getLoop()->getDelta(); + velocity.y() += Map::GRAVITY * delta; + position += velocity * delta; + } + else if (state == STATE_EXPLODING) { + constexpr float COMPLETE = 0.25f; + constexpr float SCALE = 2; + time += GenoEngine::getLoop()->getDelta(); + if (time > COMPLETE) { + state = STATE_COMPLETE; + time = COMPLETE; + } + color.w() = (sin(time * 8 * 3.1415926535) * 0.5 + 0.5) * (1 - time / COMPLETE); + scale = (-1.0 / (2.1 * (time / COMPLETE) + 0.4) + 2.5) / 2.1; + } +} + +void Platform::render() { + shader->enable(); + shader->setColor(color); + shader->setMvp(translate2D(camera->getVPMatrix(), position - GenoVector2f{ scale, scale }).scale2D(dimensions + GenoVector2f{ scale, scale } * 2.0f)); + vao->render(); + shader->setColor({ 0, 0, 0, 1 }); + shader->setMvp(translate2D(camera->getVPMatrix(), position + GenoVector2f{ 0.0625f, 0.0625f } - GenoVector2f{ scale, scale }).scale2D(dimensions - (GenoVector2f{ 0.0625f, 0.0625f } - GenoVector2f{ scale, scale }) * 2.0f)); + vao->render(); +} + +Platform & Platform::finalize() { + state = STATE_STATIC; + velocity = { 0.0f, 0.0f }; + return *this; +} + +Platform & Platform::detonate() { + state = STATE_EXPLODING; + velocity = { 0.0f, 0.0f }; + return *this; +} + +GenoVector4f hsvToRgb(int H, double S, double V) { + double C = S * V; + double X = C * (1 - abs(fmod(H / 60.0, 2) - 1)); + double m = V - C; + double Rs, Gs, Bs; + + if(H >= 0 && H < 60) { + Rs = C; + Gs = X; + Bs = 0; + } + else if(H >= 60 && H < 120) { + Rs = X; + Gs = C; + Bs = 0; + } + else if(H >= 120 && H < 180) { + Rs = 0; + Gs = C; + Bs = X; + } + else if(H >= 180 && H < 240) { + Rs = 0; + Gs = X; + Bs = C; + } + else if(H >= 240 && H < 300) { + Rs = X; + Gs = 0; + Bs = C; + } + else { + Rs = C; + Gs = 0; + Bs = X; + } + + return { + (float) (Rs + m), + (float) (Gs + m), + (float) (Bs + m), + 1 + }; +} + +void Platform::reset(const GenoVector2f & position, const GenoVector2f & velocity) { + constexpr uint32 RANGE = 10; + state = STATE_MOBILE; + color = hsvToRgb(rand() % 361, 1, 1); + this->position = position; + this->velocity = velocity; +} + +bool Platform::isComplete() { + return state == STATE_COMPLETE; +} + +Platform::~Platform() {} \ No newline at end of file diff --git a/src/plateral/Platform.h b/src/plateral/Platform.h new file mode 100644 index 0000000..902d112 --- /dev/null +++ b/src/plateral/Platform.h @@ -0,0 +1,62 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_PLATFORM +#define GNARLY_PLATERAL_PLATFORM + +#include "../geno/math/linear/GenoVector4.h" +#include "../geno/shaders/GenoShader2c.h" + +#include "Collidable.h" + +class Platform : public Collidable { + private: + constexpr static uint32 + STATE_STATIC = 0, + STATE_MOBILE = 1, + STATE_EXPLODING = 2, + STATE_COMPLETE = 3; + + static GenoShader2c * shader; + + GenoVector4f color; + int32 state; + float time; + float scale; + + public: + Platform(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions); + Platform(GenoCamera2D * camera, const GenoVector2f & position, const GenoVector2f & dimensions, const GenoVector2f & velocity); + void update(); + void render(); + Platform & finalize(); + Platform & detonate(); + void reset(const GenoVector2f & position, const GenoVector2f & velocity); + bool isComplete(); + ~Platform(); +}; + +#endif // GNARLY_PLATERAL_PLATFORM \ No newline at end of file diff --git a/src/plateral/Player.cpp b/src/plateral/Player.cpp new file mode 100644 index 0000000..c3289e0 --- /dev/null +++ b/src/plateral/Player.cpp @@ -0,0 +1,217 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include + +#include "../geno/engine/GenoMonitor.h" +#include "../geno/engine/GenoEngine.h" +#include "../geno/GenoMacros.h" +#include "../geno/engine/GenoInput.h" +#include "Map.h" + +#include "Player.h" + +GenoShader2ss * Player::shader = 0; +GenoSpritesheet * Player::texture = 0; + +Player::Player(GenoCamera2D * camera) : + Collidable(camera, { 0.0f, 0.0f }, { 2.0f, 2.0f }, { 0.0f, 0.0f }), + hitboxScale(0.5f, 1) { + if (shader == 0) { + shader = new GenoShader2ss(); + + uint32 textureParams[] = { + GL_TEXTURE_MIN_FILTER, GL_LINEAR, + GL_TEXTURE_MAG_FILTER, GL_LINEAR, + GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE, + GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE + }; + + const char * path = 0; + float width = GenoMonitors::getPrimaryMonitor()->getDefaultVideoMode()->getWidth(); + if (width >= (2560 + 3840) * 0.5f) + path = "res/img/Player4k.png"; + else if (width >= (1080 + 2560) * 0.5f) + path = "res/img/Player1440p.png"; + else + path = "res/img/Player1080p.png"; + + GenoSpritesheetCreateInfo textureInfo = {}; + textureInfo.type = GENO_SPRITESHEET_TYPE_PNG; + textureInfo.numParams = GENO_ARRAY_SIZE(textureParams) / 2; + textureInfo.params = textureParams; + textureInfo.texture = path; + textureInfo.numSpritesX = 8; + textureInfo.numSpritesY = 4; + textureInfo.addPadding = true; + + texture = GenoSpritesheet::create(textureInfo); + } +} + +constexpr float WALK_SPEED = 5; +constexpr float RUN_SPEED = 8; +constexpr float MAX_SPEED = 30; +constexpr float JUMP_SPEED = 12; +constexpr float DECELERATION = 20; +constexpr float HIGH_SPEED_DECELERATION = 10; + +void Player::update() { + + float delta = (float) GenoEngine::getLoop()->getDelta(); + + float friction = 0; + float floor = 0; + float speed = (GenoInput::getKeyState(GLFW_KEY_LEFT_SHIFT) >= GENO_INPUT_PRESSED && grounded) ? RUN_SPEED : WALK_SPEED; + GenoVector2f acceleration = { 0, Map::GRAVITY }; + + if (GenoInput::getKeyState(GLFW_KEY_A) >= GENO_INPUT_PRESSED) { + floor = -speed; + if (velocity.x() > -speed) + velocity.x() = -speed; + else + friction = HIGH_SPEED_DECELERATION; + + } + else if (GenoInput::getKeyState(GLFW_KEY_D) >= GENO_INPUT_PRESSED) { + floor = speed; + if (velocity.x() < speed) + velocity.x() = speed; + else + friction = -HIGH_SPEED_DECELERATION; + } + else if (velocity.x() != 0) { + float absVelX = fabs(velocity.x()); + if (absVelX > speed) + friction = -HIGH_SPEED_DECELERATION * (velocity.x() / absVelX); + else + friction = -DECELERATION * (velocity.x() / absVelX); + } + + float absVelocityY = fabs(velocity.y()); + if (absVelocityY > MAX_SPEED) + velocity.y() = (velocity.y() / absVelocityY) * MAX_SPEED; + + if ((GenoInput::getKeyState(GLFW_KEY_W) >= GENO_INPUT_PRESSED + || GenoInput::getKeyState(GLFW_KEY_SPACE) >= GENO_INPUT_PRESSED) && grounded) + velocity.y() = -JUMP_SPEED; + + grounded = false; + velocity += acceleration * delta; + float degradedVelocity = velocity.x() + friction * delta; + // If the acceleration due to friction would accelerate it past the speed floor set it to the speed floor + if ((degradedVelocity - floor) * (velocity.x() - floor) < 0) + velocity.x() = floor; + // otherwise just apply the friction + else + velocity.x() = degradedVelocity; + + position += velocity * delta; + + // Set the direction of the player + if (velocity.x() < 0) + direction = 0; + else if (velocity.x() > 0) + direction = 1; +} + +void Player::render() { + float delta = GenoEngine::getLoop()->getDelta(); + // Jumping Animation Control + if (!grounded) { + state.y() = 2; + if (velocity.y() < -1) + state.x() = 0; + else if (velocity.y() > 1) + state.x() = 2; + else + state.x() = 1; + } + // Idle Animation Control + else if (velocity.x() == 0) { + state.y() = 3; + if (lastState.y() != 3) { + time = 0; + state.x() = 0; + } + else + time += delta; + while (time >= IDLE_TIMES[state.x()]) { + time -= IDLE_TIMES[state.x()]; + state.x() = (state.x() + 1) % 1; + } + } + // Walk Animation Control + else if (fabs(velocity.x()) < WALK_SPEED) { + state.y() = 1; + if (lastState.y() != 1) { + time = 0; + state.x() = 0; + } + else + time += delta; + while (time >= WALK_TIME) { + time -= WALK_TIME; + state.x() = (state.x() + 1) % 6; + } + } + // Run Animation Control + else { + state.y() = 1; + if (lastState.y() != 1) { + time = 0; + state.x() = 0; + } + else + time += delta; + while (time >= RUN_TIME) { + time -= RUN_TIME; + state.x() = (state.x() + 1) % 6; + } + } + lastState = state; + + texture->bind(); + shader->enable(); + shader->setTextureTransform(texture->getTransform(state)); + shader->setMvp(translate2D(camera->getVPMatrix(), position + scaleXY(dimensions, 1 - direction, 0.0f)).scale2D(scaleX(dimensions, direction * 2 - 1))); + vao->render(); +} + +void Player::ground() { + grounded = true; +} + +GenoVector2f Player::getCollisionPosition() { + return position + (dimensions * (GenoVector2f{ 1, 1 } - hitboxScale)) * 0.5f; +} + +GenoVector2f Player::getCollisionDimensions() { + return dimensions * hitboxScale; +} + + +Player::~Player() {} \ No newline at end of file diff --git a/src/plateral/Player.h b/src/plateral/Player.h new file mode 100644 index 0000000..df21305 --- /dev/null +++ b/src/plateral/Player.h @@ -0,0 +1,68 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_PLAYER +#define GNARLY_PLATERAL_PLAYER + +#include "../geno/shaders/GenoShader2ss.h" +#include "../geno/gl/GenoSpritesheet.h" + +#include "Collidable.h" + +class Player : public Collidable { + private: + static GenoShader2ss * shader; + static GenoSpritesheet * texture; + + bool grounded; + GenoVector2f hitboxScale; + GenoVector2i lastState; + GenoVector2i state; + float direction = 1; + + float time; + + constexpr static float IDLE_TIMES[] = { + 1 / 2.0f, + 1 / 10.0f, + 1 / 10.0f, + 1 / 10.0f + }; + + constexpr static float WALK_TIME = 1 / 12.0f; + constexpr static float RUN_TIME = 1 / 18.0f; + + public: + Player(GenoCamera2D * camera); + void update(); + void render(); + void ground(); + GenoVector2f getCollisionPosition(); + GenoVector2f getCollisionDimensions(); + ~Player(); +}; + +#endif // GNARLY_PLATERAL_PLAYER \ No newline at end of file diff --git a/src/plateral/Scene.cpp b/src/plateral/Scene.cpp new file mode 100644 index 0000000..afa61fc --- /dev/null +++ b/src/plateral/Scene.cpp @@ -0,0 +1,85 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#include +#include +#include +#include + +#include "Scene.h" + +extern uint32 readUInt(std::istream & stream); + +Scene::Scene(GenoCamera2D * camera) : + camera(camera), + curLevel(0) { + std::ifstream data("res/levels/count.txt"); + numLevels = readUInt(data); + levels = new std::string[numLevels]; + for (uint32 i = 0; i < numLevels; ++i) { + std::stringstream stream; + stream << "res/levels/level" << i << ".txt"; + levels[i] = stream.str(); + } + map = new Map(camera, levels[curLevel].c_str()); +} + +void Scene::update() { + if (endScreen == 0) { + map->update(); + if (map->getState() > 0) { + if (map->getState() == 2) + ++curLevel; + if (curLevel == numLevels) + endScreen = new EndScreen(camera); + else { + delete map; + map = new Map(camera, levels[curLevel].c_str()); + } + } + } + else { + if (endScreen->done()) { + delete endScreen; + endScreen = 0; + delete map; + curLevel = 0; + map = new Map(camera, levels[curLevel].c_str()); + } + } +} + +void Scene::render() { + if (curLevel < numLevels) + map->render(); + else + endScreen->render(); +} + +Scene::~Scene() { + delete [] levels; + delete map; +} \ No newline at end of file diff --git a/src/plateral/Scene.h b/src/plateral/Scene.h new file mode 100644 index 0000000..b4dd1c0 --- /dev/null +++ b/src/plateral/Scene.h @@ -0,0 +1,52 @@ +/******************************************************************************* + * + * Copyright (c) 2019 Gnarly Narwhal + * + * ----------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files(the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + *******************************************************************************/ + +#ifndef GNARLY_PLATERAL_SCENE +#define GNARLY_PLATERAL_SCENE + +#include "../geno/math/linear/GenoVector4.h" +#include "../geno/engine/GenoCamera2D.h" +#include "Map.h" +#include "EndScreen.h" + +class Scene { + private: + GenoCamera2D * camera; + Map * map; + EndScreen * endScreen; + std::string * levels; + uint32 curLevel; + uint32 numLevels; + + public: + Scene(GenoCamera2D * camera); + void update(); + void render(); + ~Scene(); +}; + +#define GNARLY_PLATERAL_SCENE +#endif // GNARLY_PLATERAL_SCENE \ No newline at end of file

.9tl궩JS2G߶e}DY J*9]41|̆5$KuLi8hl -bhec!z`rRvL=&Y(} ";k66:-Nip- +T#औb% 3@mLƈ[.q8ϏO[ +0d*oCՅF'Ҏ,Rsk %s4-1VjQ+܋n:Vz[NHrayU0>H>f%k +8|a/ +,1* KJ냵=A;)"fPQ4RZxdO1dhhwOYrJYEhj-HMn <)P!R_UkQ5֎̲y0jVuUDrbFߞi JRZAd)Ζr$3<ϧ@]#/-syëz>Z6uc_H7Mi|(Q\ЄQY0r UaStJ)Lʕ]K1F9`W1λ=U-\UH=If[m|u|ld[וl3T,f| z{䲮';7ѧ'co%vtށiEv:nynWH|ďH3ɇ׃wO b狔cE}gB6"3dlr-x ƄK$HL\8[q1M,nSl`]!}NLcjՁt 1eA6Ԙ,ႎjg8ٰ:0\Eb\c{ʼn$AwkU>i`sCXׯA`Ұ_Gi4&J* +pc"\gv +;?7\\b2WMeVG;NH]9;~ZcEgmץZp, `f)eM np AS?ėw\C ,o" F3f{⤖iT0eXF +jLqܱ?@-Cfa,mXSK]3xf#M~+9kn)w%blk/0k+cVv# N"۸޸Alwp=\rUc|L[6szep}~R-=U|j e2ḍ3_# + %rrQvGҝxΊR<3eXuZNL]3FC|,~uu ;ub)5i ^cp= sV >(S6^hn@]Xcd$Kђ sUokMMsж@ lZ"zZ1̹VTزXrw8h:K +:%ՄN 4*DQCF| TxVKYDP Gqj^,/wTᴕZ\P~v^S檝9d=㷥8>c"sY;fwlAp_a> ʖɧjH=*kVls@ɨos˔;~3 q]Gвپ`ϟThfٖ_GB؂ʠcz5(Lc1vNs_µ;9#ݲf H#sOQ&fx33jG#xd}yFb.j.hopy> KC~JdKq@>HaCn/3wᯅC-p_s]5* ?k7Q.[?7V )=\!jbX_uҪC~`9WdeM_ha6 +n%_-5/'In|5~W<^X#/:1K/ kgg,}yZoɐev4kfi,~ +%BE(W)h?rtt27SE##m蒹XI$O [XQsPx1KǔM椾q@^+Z>S-³ Ybؼ;z(@'DF>?@3{<4p@C"@4g40&% +CRb<RVcSu4A +S/#yпQ + +; Dž[AEE;GNM=]([h50SYZdHG$7|_+zdL?47oCHGoS4jbr["kSE=$C i(PeVVvOxx0%Hh*;(օPK7^nɬb(BX& /ԄޅigoHeͶ)])NV% |}tY,i[Lw@L? a(#1`gWTi֏h|Pk\9+C~YY56kּͪxQȗ@gB57.%z wxdD4sG{KP +3Mw8;(Sb9H + $ wK;59YdopvlݐWEt~C*F@5;35 VMep%z\鞩%XmshI>ztʻ*Wp9v@Zlh%7")r,e7>Lh ("8`fpAzd?:hI9Yߢ@zʫZd " /!入}7L_i'>LL[0"] Hy ѡZJsBZ-rA!l H"7s MH9q?dV33 (HigӅN_̣0dNfX0-z7XxrBcT46u&]꽦gY #5FHp{=9'Z Q< K(OaBLƐti2z,l h*kZmkӸRI)#+dʼnT9r$XPx'.R]Om*ҴKwsUw833b:3{Wr+γ2|W4,VB4g{e,b{Lya@XquI]IVCZ#hRicq ֆn.Lq'ey1{P^anz R?5Zqż,]DwXBbžx&bJJ? i,r0W+,4bԲL[ VLaK}ĝic)[{[չk !&y'l<$A+ E8)afU_݉`&ۈe8abiRT {t(M4nB5W.:fxnefƛH~ |K#CkB`1=Q8G&1u7]P1qA=lY&n[f0I^8NҘAtK5H]FNM<LvzFLYS9a} XDhb3?Vk֝ .[F^Jh1HjHv9(AbJO?~uaZT w` mEPpe}n!^ lt|X +=hoJi5aH9fv_1I D0UiNz5=<7DXeSA4:7Y Ez*.\3-KGh9H,>\۔jI7)߻mj:,SmcEzI[B^"TSɘk;5Jbqh,$q]0AVEylÖZx$'|c,ѩ VbHD++>+)g_dfDu+݆% +- +Aǔ>0#h3Mqa\&}*|Ayy_Ewd!A[ b*j|(qrotS3KUe#ZDQcJ}#&⹋l8Z瘄)|N" ȆII]-Uȝ΋|jd]mdV9a-3A?2dZȆliv_mv쀊p\`s!~sxS-#|:V6@պ8.]刓b-qYmǪ!X;\_Е1F}'AVkLLϒqaOJe}6~uVfDr%cEՊܰ +miDޜ$q,<0%)yl +tykA5:ęIWh+^0OX2ۚ`z6BH<fsÓ&T9v|dsb]byڎ­VpAߖ xfB5h#e>lcx>D + O!\BV((N)v2AKC}iO2)ul'Lx83rȈHIާ oɇT#G֭/rÖ8,OKM>]\ld\z)+D, ̣ydF,j" +mj·v^͟%y] +ôF:|/a-kN~SNCUKWQ^~>tUe϶D:rI1 >n7 5Hp >fJ ՃL83C:U㨋jH1aC[R]%]-p|J$6LO˖^KxHY,:oԌ'sP~Shh) inLF3{h=5^Բ4n'eo:r&Psa됙q6`(O(Xb/Hړ- nكI)bk#KF2*D@ؽDBczM?v`Y7f +.4F0nbm*d:N T?a#-j"3'=! Ӕ")FlX< +D3[QZsvV#K)~ߋ M<> T"<VPv܏DqU e35>Kt8MHx$azcŜ<`L /T>-—Z :=.$^84_Lcr.uĹj9O(UȄIĠWeY~UhXU'uʚ(fW%nƝs0&s}"Gtql +(L΅F,Y`*X7[<8w? :+=2OԵ$3ZsCf&ôo\ϖ*Yi-Yo衧ʒʛ㝢˜ l-V*GpC\ d6bd!YX>ם)Ъ4}|"63GE'q Z(.e:'Utr 0Ƅ{S˷f8 a.Mlr#nKŠSF]F5|@2.E(QMAkâwbɀ:f)sﶊb>ڎpgĥa9c0rʳ$M`\SȌdd8AC*yVHښ]Tom8&KvQ-/I " >5\NqFwQ.rJNFIngdi:H*y,K\v^J%T29qᰗݔ"g6ʎdL_MBm:!OV&\" (qK`k)yzhon-_H|~z)ם+⬌K骉OGI 30ج S|aWgmq 2Xr;#l;֭QAJpZO,-Ku jø&iOKl[+Iu4@13諔Q(ۿGaR`MH;\C@ k8_" jazJ6^BWx+k`(ˈ +=yq[+_z`$γz +A\VniHiZ~xY%5}teARƢ 9> ?ًYyDBϋ w֋jgVLnpow2YR5q?Nn̸FdY)`k7}aMn> ɎF4XP"[gc\jM E'o])= Lu1\ߌ/%"r\T*,ɺE8`kKJ:nD$@Hg.<uSY`KꗩQ0\kB4<^7Y1],Udn;p!J5nb85jC7+8A(VF5nTJ;BNĠ}GcMb;q]CBəa8 +J)NV]:Xf`jD`"JӲCLQ]5i ]ZSN IXqY@WJL̔r>tk% 6gikRjXumX=W&)#LzIF5e "iJgk*&uKc?Gq +M[-ljɅ@Ty Xy 3aq +>TW^XQCe,]n9jI,5J1Z!io錗P]4#"8@# q5QzY./WVe9$ Z}! mH7P}!M]>hC{Ӯ\-~zM 3-XjFRuh\Hѡzjz͑+Xܛ Iq)ᓢ`j*UEH_f@Re6ЄǑ4mf@jKZ'lJl'Qja_ Ș|N>_i8r=VG"bi,;ArX +Dck0q35G^ST§ps{-3{衆_Fb^w^{qdIoj 4C,j,)2W~ OLn@1,2V+GQ%oS2 I 7 Z.ݒjL9_IpX!Q`&\`XVf +9ȅbqN,V"ad#fHe10EQ7|]<.!g{Q7q*; +uSI6P UտbaZ.;8a~{!=nCZ+Fo=<\ F@=;DePcTA͚z%oX`ʅq4\]0)(iXQy N7sD,zIֆ }ix,S(ŊY 3ɖl#hC:I:(N55[Jg"ix0ɮdh1)%Dӿ5V"v$T|}F[?ŶY)9*WDCbB 1C#gT9?=)I<1(n [C,d' 6< $?xJ{2h2 gmIv1hac耜ᇷ@ނZ Ξ>bB cζae"%Pή XE؈J|y~[SfwJ*o_DH Sg<@y +\xN(ZPDQMR'ˣEd V#]gڅF5i vs$ѲHčM* ꒩릔-նn½Ylу%5AD\_!rv4>cG'㳻biwfo*-O}\;DbkLukNT$$K=Yӈ6NOeL+^LDkx|aZ䏖`IS>f 1ciT-T&(T+d"m8ZBX&@OyF*rrS,6 IT{+vK4W2w@O,zɰ>̴2»GR'ʻrqKO2ijDb]*ws Fj,TT.? 6mR0Ȗ9#1`b\׍w/':Ω&Ҋbg O .8# ]bGYU a HBTvRɃ<6qIA_Q*5aԤ)f,R1Ѐ,!W?[[[Ջ }ChXl' :L\rXYa|>=kjY u86$S,}cp% w eI]KquTN9V ؂`͂%Ei 'NZ~.R(r0Au  Y};.,s27#Fx* R.qKqWsa;jo`2e y OY0P|o8bU12>b·.Ņ$ -djb{wtT;qQ OlxHi$ DwX[rhLg)'A-.;t0aDI]ʳ_miZ&Хpw K&%\8%D_qA4'4I:Y`.NcqÂOIJ̦  +b`+YWވmb5*|шGws6]74)`WpV3jsvN'\>T>V{@ʦUx[JdgDa/ 4ޅu*'k b'nf>!8OOУ5;3.q$B#   IcF-roG,RqxM?_qWo#Lݺ/iB@iI6&o  libfT֒bQQ$ Z9. }ѣiѽ#2CypΥ4сYGo)oF>K[;!J 55}1cJ , /Q1q7c$f9@LmCy ͝/ ;sGmtTLNPÜ2h(z 8:W%y7-{|6L$nf`3EjMPTZO)RojOWJX6 :m zLqaUcj5lE0p@\,9fuJ/*wm#*OܲRL&EU1|[~ \v5(3ԢNPbk6c1 ڻ !pLv2DdP//$ZFoSY[ K0Ξ}JfpcB'T\ɠ響x h^4Mq'ﲮJM{/*-T{8[gЍOVEwHdy゚m9Y,}jy̓)p +/8/UCp_V ET-5٪ČZZkUNKVoN!J5ثEIerP15%  j BHvXlY` FPa@Q\{ps4;=x'pNȯXTU  ^\3>` .Y$ +endstream endobj 70 0 obj <>stream + 4#M#7V?j$Sk~&,d1bDYε>IJ&"JT|o]k3kPq1&&jd*N8Y~f[ִˁr؟'yRQٷSV}*K#P1EJH NmZx.SH f\3fG1*TkÂs0^46'|Z8%o1B]^U~ItX+?@j~1Y +?m3PÖoUrr$KhE+ ƌ:B{WU5ZY$ kFtϺ骱:PO24)hv?Ac$`PC[;X㦍dRQ#T`3g1`UTd75cs/>jF`]p|Y28{ӹ0οh6_T%nTS~>ǂ\='x:cʩ"lĵ xb݂߸@G;W3٣`}0=7Еd%DΔg^e܎D(Lq~0]4;ߐS1!RMpYğq' uw\dOaQմv\H"$ x +nv +D'@+'+1-5}x1B*ԒTbH1ѤH!۳ @7&  +g-֜^{ڔO [фP7d\3&,Ls|s6 5(\9B-+4.DvpXbbE})Nb50E/f EتK6NI+w9nr +Lc)4Qq0~/!OH7ΐ|[u;G]\qQ{kz$ -A5Z[èk.3u j`h7#֧c]<\OX +ԐXPp7a09B @x~oD+Q e(5wM}Cj5ƄC)6#O%U}'v NJ d[/j\-kSW/=]`jՠ8ȜUʈÛ=r9) e&j<sI9R:RE,B#p[2@u渪HE/ #LhgUʲ y +L[/)LgNq0S*>t&?Ái?>YSB+˘|M s8Ø^J #T %t 0L׽'=Z+z3^4"术z6}mL1_%ΈeLQĉE֜%5d^Q'0P;{DŽ0B~``˜r "Oz&&{ +){u0ưӓ'L"8j"#ӹ0Q}!Pp`vk- Xh:rtvR| 醫,sTItDQ0DVKDlW0SC8#Ӕ5[hӤSX :*䄤"~3PnqICXMGf*pg˿EAԾ}}h$[!LO?OFhXzS]?~6+ /4SF胭iyRlJdM+9^"Я>v[oy\bp}NC%1zj7E6K$eĬ,+7MN^5|E* k ɡ +X!2Xci8H)_X(ތFeI(e!gʰ3 +8mXW@o^6[:Ī/CbTN!a&_G*>*+ZU js]ȞSmHbD RA#2R|Ycf?Az^P#qG& +ijb\V )L9:V<ݷjˁJӫuӃfYp@e%'?ID%AQmx:@{2epj|SِH!4[;BF=dU׫qk/n;,|ԚDB_<6iNԜTR9H(vdsF+Cz@iG +|\h@2鋌ǪZvF]6>WXmG-<5OE`Dɟ1S~|HBr?YLп i6$B~lDOhDHX0:9ɭ*i8wUz CS&ZuRhn+pNSc2Q=T(G) f\ĐBX-.G4*Lza: `fLcD`Ox6 xێ]S%6wT1=E54o]@!VTlㇹiб%LNL!LS̞J'Ҩg$r1}~//ddC-4Е `L+$k{AloTD~#P%/aI\f֪t*ӊTHHdsP1/_EppLC.MT50PjtĒHU|Du=[өhXyG}32볡<5dPm.7l.gU&6ڀEME!PceNX| >q0;P%1PSx 5Q+'CSƆGQ.WPW5ɢؑi=-!DESD7 ;=&mhuCc[w-{)KT )+j#gE^sZ7G`o! \㞖$^ʠ::DfE9B;R]m_U{L0ߐ~kxPU +T$7x!=^Nc4GL>K:&{!qtX7QK,S,/PsTunl +L‹A̮#{: ⭅㌀ |51 +{TȡXrbv(1o D4X3Ԝׂu۩tLzm\E qrѩP@@js%%l)|6M`E]%֛ax#}lP=ʾ\*H gla- H`:Y.*;± +|[% pJsĖFm +6x^TBPCk7Ofjxlmba:sĜytWh}P gpiTR9 vIo "Vը]x-ŸYlhͶQPmIhh|:X+;ϖT}A֩$LblO.&7xdZ'ںM0Vz*J\&W?&|rNC,|K#yMB$JR-VD7q֓0EܻhYmIA@I. +PHbhR(5K<)(IpTYȈxþL,q7Buyp/az ԋi~$.$y&bV* sn:Ls4u}d tϐ́誐9$Ɪ%%) /c,˴5Ih2RIqE(T!-3 eͭ|C?BdΣ6;qa]IhX!%8`1!Yg)+ޣ,NƳQ7l=T/E6Ag\l!hE=Gқ6 +ΕHhKo5s|N%2]}Q`h06I *!EW ,Ӭ~E4-ff:at%{T׶etR(J1A,sQ'χ}W:NNpIxMWLNn:sUA)&q" |<T~! pa~8:L]d%HW(pIԵN!EI+f1A:cV#kJzXpc[9`R"9JVšBh#H.$l`Pb4_q:20g'\3pEpa!i#kV1Vء%ILל y76(hJ4hqfƂk8=sj[do\C9eR㱔$njCp}_ٮ NMYd6oFe,xDdPԆyyqd—dnYh +xa9`-`MYewŠRwp}`D) $<+_ڃ֙lg:SVו~eچ{qU蚆Q ЍstZH'N[ ~A?79L 5dL0(2h!(z[4oɨOAE X.0$2?a^f?#T -`y ?p~5ǤJ@] pɹV:e;g wLf:lRxoi +Ђm`,Wzu0a'ޑ,dބ +|?u_fZːx5I/ F@=IIJ)>EƇ̷=U[VYԤfNGiu@._VJ{\lyoI $QuŇэED;M4u<D:iJ5 2@ۮ)ٛ?j36`?i ޔT?XTJdq*:&fmgEl`^F`:Au?Z'/س^[JȒXtϟ`V7\Z].ReyǍۖ>A4 CZ5=Եqy _oMdn ηT+cJ$󌇖!c2Lz@|?93.ҫ?DgKVVD"F ^"0 ;|.2|iF%֬epEW׻3.s~՝2##;\.j׍+y-{/dϰ1^P>(siK-iv]hKgb +sZxrNxaGEC?b`s#k?'HJ_rZ0nӫL<˧!Cf(5 *8L˥B/^&.? ?v(WqJR|}3/Wp.E6N6qr9;\uL#7D˜f2w! ঐ=eC5n'б%̔Uiv!;LU" 79(1MnqOCU; ǴCӁH"yz4y^8Ԭ3zi.iLj&/)] j脵A.,1i߁a)L([—Xhs j;T`e_ ;8/4+KІ#7Q SȯX;ۉGs&8iQ5E!SJ,}$΋jٛ)m}J'9M]h25 l7zLIKqau!Xq=0`֯'4)g {qR uj=6/>,qcUsUO>ⰜsѪAS1 +PEn 5h3bH3Gf2L~]HMUrV`IweԶ^_TA-n'ǘ-@͊<*tRV1L.]S-+qF2n#Z[Y@7fRM4sȬ|Pٶ(GT1Z=?/4'Beͷo<~5{uD +"6HL7~_,YHf]tCxƚG]ZZ%h!l8WAEo$V!? 3;$r1=6lDi{YK?bčTT9<+R G#e ݴo)9Opggc}6aWQJQ|Ufߜ&_=SJp .fCn);4ąaXCLErbyAzŵ F8F!?j*DMIiYPey|=EhF.4s[M߳1j/]sQO̸gA/`6P pTID7b j̅cZ"czM5TY_?8&ETrnukѦ1 +'wi&GWH)WEG +̀=8N!X6S!A|tJb$_[Hx4N9r/.x +]Tj>DNo0蹇a<\K`)x!26b%XX u}Y{#IõM Z̙Eq=BæĪH.&^ǾMsFZjP;kp{ԤM5= 2qxexDp#aw]»\Tykm\< zZ> +`7[Au#]Q7_nڀqЬ;@oY.q tmr1.g[i-OMË3e,KH-L'[%kQZl\3<{ݩ4VIeE+q`F0i$%\{}|IVR)qmDfI +UH;ibZa[ ')lFkůtb˚NC:LQ ÖR>:5 մ2%0)F^iR-RUqWS8tO&,v\R-E%^ ^5${ǮǪq?fh[f֚_sP'8 'YO{rtCǛ?wq\Ճ]KdXVU%a뷈eڋ~& jW$Y\X#34"Ra0cTj(7Q~ ЎN9=<` +/5e|BXИi#C*|MR{FtRNM *5O#f+Vp,fYdXcC7E{rM=G[4/EdtȔh&)~?u100[O控[c9᠍c9d8&ꅘ=[-ՌCY Ta _^®k˵xRb \nXl)P`a'Iڞ? Ud} &'({B=ul^dnW\{ob1(o7HY0i ?B4b +,c.T/VMt {{)a]_5J](@MU 옇xӴvب{)E7Ŵ6p0CbLK{N2 'dHaMuQpi!&HQ5֝{! HhHFJC{th@w{-AS 즚Q]Ca/X47`ZĤwYMFс!N_Ba^XÔpeg|Ϳ>)ʀ'kM{Qh(X={@`5j415հ  ړ2 :-a-؏A4i^9?ꣀ܂946Aw@Zfd+1);k,f „Y.*х4,ETܞpᾮ@&a#N`ݿ#ACrYfD_c%^ٿ0-Ìl*-2$&`(w WY]LEM1]D=.LP$sHagBdLDvធ%%S1E*kvt/U84/"A18h?\}G1%`!Yl *6o0!èH2Ԉ*L5{sPwOKy.?ht;Ȝ΄"b;3iF9EtE qXQw,cpgQ hHzYfl2JіmjX-)qUiyW/>wΌ%M;8vUf2^qD`mmCs)o}F%W=K:n՞F̯y1؃fm?+KjlBr3)5&-fBLn&fIv|dYw>ɨ9X +6E>>+%iǀE;f2W7luG >ho5lcUZ+T3Y(LK+bTß'JKgL{$7!Lz!bgWj犹 Q0Ȯ8GXDWoM[rJMl x n ږ ϊfϭ:nD˾[UF+a"P3Lp;Lnz,S7ZO>l!b0_{3'mh3ڍQ/dƓ8TNUNb}ץTaX#AB,^oﯫ+IΉWTYv$Y1`Xh+.W9@\S19o\"e B*ŒerR~,h?3y+cB;ar4"_c[E&؋>^e݅cZOl1=$,*/ֺ ^nۧCf'Fl Xhcf%Eam*K9L[},tP:3zY qA%II ͫυ_MXawp^(an) ؁6VPfbYR=A:v%kZxDCQ`"1ḌwhE(gC1&9:nF23|(zqMA]wq~k⹢gEϤRnnT'HH){*kdSsdN7McN2-ڤ쵤I<@ܧ}zKiچ%=BE'|ae1n; ȧoaMa +] ^Upp[GfASlyW-{>Tiv;Vh~lEWψ2XMT*էT][QؾQwMygvZf_ /J +;Wn6 GY6 v}*D}8R'_2sRGfɘp= Ԃ3a\{G2wH0g6%:܌Ek |Ib(P2;ٍT + ]5"'X…ߨ>RρY1 ~q_:fmT 7bJS_evUJLdDU|8d6в0Rpj=0!K;INj@ȵ_E}:&[fn7/; (`$խ:[Z`] s⺠Kzĥc5S,^1幡/g69uY؛S0t5$׹k`52G2猲>OY`KsH!W8jDә%CVSUMf /j$=%fֱ 8aHe/!KܱotPյ4Q,o8,|Piz4(K. |sgfU]S!Df=iL0=_S֙_ eI23t(H<%o1u G(Ί͆xo 04,fTF]-2}9da}EMu7,BX- +U#۞0E<sx){68hBo :1Zrרk!5!g<kU:%$J$VNJCnQ֘B.SdrƃB_BmQH8L^)i8 qRCJg+EE s0y\bRʺW g^0Ϧʚ:ϵ{W䜌Mf1.ep9+Z2s+ږvn _uMQMf 5xMTw/8tJ5렫uŢ;3j:S8rE# "d1?׭kS,d:E]oe .)>˺}HMbLAG]\ћ%PaONfH,u +de P,oKeNojbCīvd ,C^f 7zٜ+J} rY Ƚ;e-+XVc=2-OoodЭIvWN2 fi- kRc~bIo9sEV +_4ؕi Sxi2K hYq]%/A/GUO"}fM^.m68HA +T">CG|iP'0/)1@ğ6Ct;@W%=[C {.]N䢿'7¯IJ(K(;Fn26rʪi|pk 55G#skMIg Yhr0EMcq#UyJm\ӶZ`;O c8.=>cUo ثZ\frYSY 6/7sk-:G)Ts <6DtS8 ,jHEܩVHcQU+aKz4LbVdJ,Ԓ3"EۋQgY{cKdwI0W"K)%V %%{7,㊦Db_^r:~!7._ uhsbx 's~RXUb +#b-t)rļՃM_5W%Al=Fuv#[b(|] +MS/tZ1]?*-+8w=ZI^#=:dfS֜$JU.Hs]Gɿ˪|TesKAU2XOj$(w`pX+K4jUM[WdcB2EV +M<)MroK|jtaV֧wT +7O ySX25Ud:ƀ5.;ʚ`؟BR.k H9QdRjhpݥcwca{0BXeqϾ +rw4 pƶ2'Yp%(ᯃJnEXR4#TE IGTmC|FmZ-ƪ#Z + sQ][)oBPa"v<`<0Y'K mRJ($&&9`8qZO}1$شOnARcs"T e v;DOFT'oMZL01%<ߺfe%3Dc8I0'5\.Md5|R|0yLKj;H;YH֊B ؄ 3?G&s +cAP&#Xn{l?0 ȠBpUX( + x5)C(r.Ÿ~q2ϳS=^]d5 ڌbԊi]CN>Y M@L3K&qf44>0yИhJQI gx, QeF-}IE4c#nմzޔ^>f.9"'^K6aZU_SZg/WֱL8YoMUtҔ-1Vu¨i7SP +qDq,1\쩂RBs!ˀ/j>-z";%ݰg M M6":3,Qբǜn{aY{|CcjqgvC% \M\A&v@rc-8bN_Oi$kgl '7J_-#8L о jV5gxjo"c=jd]U,?8GȐh}FVY&\gΘ@1L e\6x>F_9aH"m((ar~=W,XCpoѠvK^[>EڿP]Oa.5acÕ9)%PdMhuRXbVۤLkj$8[b L:8,|T +]>BݬڽYW' V^֔"d06t$ve͟qq;yNPzWC\>aӅVބB#mXl.F*w#DVֈ-= vLXJ٧&&ٱ 'Iwp1 34!(jCu <`~_ 4 +۪̈́?OK4BQp o1'|`l=ga#jJ}mݲ&A|b\PD* 0e-6N[eD9НχI.SoBb86:;2R9ya! VQօb̐< 4nˈl4+EX^ c9Ѐ"aBI +|]՗[t:@PVTu)Zk&w2#5N.p֊L .-- +T0D( Y?$y;-T2`u- {bEjCD`KW9-+&ydÊm\=9;K1Q\^ݢ~&+օK友SobDi0\ergTyA)1 |nR!8\ЕdFKsH eR?LF>4/FUw\5 ib1 = @cI6Ky,Y!o( @Bb]0nڗ{q5^ޖYÄ"I9YHE5[zbFlj,XCL^h3˺(#NʪZ*Fh~dڪlyJ^_뿼n]rxwv2 q?m :,Jrr6F"s"6w`J3FiCIr2a'>@DoJ)j@QQȱB\TE[F\x6G@~ջ/%n)tn "6hs;!m!H5.S:Ytw Z:c\.PI\F +CL.2f්P^XCMƔ Δr8(}Edz<v$ +|Lt,Ec> )\m^3԰=rQx&ðFoVدqbwM2)e=-sX9R +flW8A4_k t%08s0E\ Mah/A^[3@<<vJi{(I;ǽ;XFvyfI,'y $Y1Y9W _ =G=B\ >,`5FF-Vc rXe4}U=m̨$j67—-ܯ@3W baWh c@WIXR.+4 Nϡf#ݲw +D c`QHKܩe"a*K<7!߰LM6>,w uoAZ-D'inۍ͘k4X[+jpr (xCq_wU#NbҚ+XpH`5 JTҢ^`"˝xbĽlý"rB)1%J $c$lY9NH9M!];>a0%?ۏ7+( +8drj5qit +IÚ Pc$_&e-ꩩdZ*k6趧*],HڑG0Eo&$f6.S(.Wfz5v2Րk(w&7P j+<= cM +SVUvOR! |:Hk ȅ%*& +Z_Zp)M2V\19 +ܺZ:{s\/2.X %ue=e>3WN*cڌ@(O*Oe<Ũk>0#ʸK0~&|6q$wp8VW̺$;NXPCӬβ:u+~.G&s<D,]2kü@0guE3?mE1ǪSu<qq>< 㒓2fA\疓bΌn4ɗX$ҥ5WKjE}<۝=qPjlp? +q~Fsv)/hV-s)\[DqrPT?zmT2'튴T`W)$|YEm{ΩW* +Y +X4eHvB鯬oɒq^8[GdAfhFEJ>?% þ.[]5"w֩7+UQ\ +?1IeF@'lNɮؓ|DX7}&yzNV@ԟ£ >|' ~”Ǩܜ/V`;7nT].cS{(;\FݽLZAH14{UDX5c0\ʰ_ºh#R#"fyn'baKo m7#})O[tbSؔ(V;4xIB-sY}Iɔĕ;WQ]HxtyyrMی}"c|I^_A`] +ZHX"9!!!#$4-2&C!QwY֭mr#4i6 +P]3mܻkוYXəLkf.K>/wIeQ{5\2nQ\|4嚆 "FDw*|S.>E7ΎC͂^yV`NjyuU  +/(N-)ghIoy@!j /jS{EE핢FkL2Yq2X^#Uܷ$i/cSA6wy4ךFJEKR˙i 6di[Z.<()&s{58/$*4:pڢ^rF$>XSwRq!s kq_i! K5"bS/dW 7E(<>)mBrXG}b=؝D֙8D9G%8L,>\k)kvR]^Dv^>UF<Sl J!,L{XV|Wʗ)",:ʴ:1Ww)1e;Xp+gX; QY-Iˏ1f ֈQr]i8u8mعuƺRGm !M$BȖ‘1@M(q=Fap5`S +̞Ӝ*2j& +af– mpoi~%9,;#=<ad^Huڿ(Y;](T{l?,nUSx,*kv 24UNY͙h);jz(\(`'nY<B1T-0fqϺ)YQ Y8\6׈+0U8wr7F]Vel>OC<΢0@ (hdGEC>j-n!(GJjuur:f;hGwq6Pgsj:2ʫ{Xb7ث/P0FKC &Q`:53gz 0+ +e(ơXid7n̩nM|Q50lCyW/VQMeT&+Vm⭨qIlK 7.w#n_|LT}w&WFnKM6{àn5Ēс BUfhn_4dOͬOe&e4\i$ &*K\ T%cEuM|SY1VMtle> ~fzTW2ËnTet?%6xeKnX5cs.3}Q"=֘&2^ߒ*C|نzOg ̢٨-F4+F +*܊:FM5lJn ޑNJ1{5ĜގhQLˍ&k +"ܭĭ65wQ>PwZYI^wwbݻ-|};F\PF3"mE\d%Rݻ gDG=6>nqCjh"(9WgW%Y=/nb}.  l(2§;91=ǃnAX41=SCo2d':fWFPe]*fYy7jʀUPl"kikԉ4!Ht73-h/SdyGޢQr,I%3-3}Zn4\Wh΀$2o]d3ZM.~,5MD̶[׀LGVR_ +u^Q{só EWrm1U0dq0+t\,"#.3ŷuʇ{Z"&܋1۱yzF0jX0(k<đ+ ؖ{!skQpmp7|YOV]z[Y+e-_N礔n@Fi#R2,?XW !{)15)aU 7a"%VżY&:=STL,I[^|Sm^\Ю+-#꺋6ߕO;,lOdkf(dI-MT0Z֙VXWNA0Zm %]7DƤ WD%y6M:n6 *"je8JhW)>[׊0)Ͻ%QUY]te^Ebpd8bK]w $$eQC$-yȕ57vT43%TE6ě6f[|\\Nzy3攅D oŹ%e\&DU&d)"jm.`uEd*uzRzE+Tl&|~Vpq3:ҏiV5 +rAJHo=EN}Ne3~1] + rknU\uoqX{6&`d/k~9].WǎPs勞]a#E^H5Lpm>vmyY-h!wTxmZ~ {bf8aj>2>3i>g|bu G lTD#6Yĭ#ֵŖ׹U-a-j$>E4iKPdFև!}fGaOyr*eE#5V/ljmK~cE9>29^&+ eP1#܍G‹+l5xP+HKRo亃mIRGH4EZS3IoD/ +-F2m8.UMy_8[3#?hfVt&P "KC5F$0GdrQ6lݱ.=YM)>VrpdOzVğ@ lpg+<#] +#5bxK5nF ^bϨexQ RMVRnNI 8(q 2r8Tv&?+jxy+27 8 t;mE[τ-fd+HW1ۢD(kX|y͜z\-kĿ.[Eپ$c((=_|E O^*x4ߜ66Œ\FY,B6ؾe*7d{T)fnca/j?nR>AB|^ob%8:eSOP7/kQle9g[ Rb/jD+;) +vwr| @ȘXx3YƝOf+`+`rkR3 {§km!*H5B6,31rHnHu?Zm~h7$ h:*s5DnS}1GVik!V[+}CvK 146O9cM}{ǥ#6""qN5Y-˗~0TaOTo +eZaY4&JLg (he}sgNyKi݈fG58`D1s%WӅKUiJ1&Q R*iVW/7RӔG@Lr0B[UYENFZG-08@"eEH"zUKP@gYLRm u(H־IoU *4J%G LT5-[9Qy[IJp՝g`9fp(tG9fAjv\i Miopq碤4r)|&5O(ymRr+ FmUS&cakoLȪQ SS2Ie(N/֢Gc)Obs,̹R+;ESm5XJ0jo8cFEtFkg0)B̛0ገ_RyMbq+s"=K/YCW48@y_QNEj|f/I?,УXx/ԅ0#2rh1vAt*U&]6`ؖF N2|^rqDAH+aOCTw7(u:|S]=9hvE(xE/kOРM1r+Pb 4WL r +킝Rſo:"@4]пYx~+׬СF0P[IKD \-REfT0<5D\iiidld9hmǛ`3|=I4ض~͈BBeтާURIg8`y8+p˕B"C[Ă05k1T4,4)$aw=v2ir^v(tC-!S[=)J؊p@9^A p[}wTՇo^ $HOBd2YЌFۘR*`bY\ωS{tfDYs8C_ \-Æn +fX}3U]8ﲂ0`^}ݪfESviU C30oj4-K*j@x[կ:˪&e~V3Z>I'>1.85p{¯0 lFQr?:6ku}Pn3 iƜTu0)ћ0$X'Z"DqU;/)CȎ|eל̄c,/N^ (JkYb45S,ɔ m4S$^JEs*5/;buCq"@90?c5w3KTJMn_SP0-L^8qXaqwo.'"}_? hFcH[. vŭv#h1$C*is͔zBY'זiTp<,4*rGϓ]+@=O JV(  +rt$~i9-1Nľ +vf +-0r)Nj0^rI~!c*W5SLDU~{mu:U4-c \қNΖD9)VN`XJ8cȹhΨh.32(c"[#$0)QX_G*۰"%1VMB"'go4&ihCN& @gY+uCCUTu^[mGU4]vJȂ32N t %csu U9#\2H.#36nX 2VK0Jd%9U +e1❝tO!&8n]΂lǴltiVHYMBM6t} #vYgFq.>mgz\|ܝ5-\d)ILҢ llbvf*s\zKa+5OPW=Û{1ȺrBcaSx\[h+8UU&2dpe -: %bޒ_Lڟ MJI=C*<xvruրbKb!Qġe#LVӧ01gJn +j[4pW6LV"&RnU;vozMwbT{溨DXJkswl9r er[KuU&V\"WXv-S4Np̈́ iA9xb^ױ{Ͼs㾈ޠ}{uRF2*\su!A1ٵ\ XMJee=% Zq p:78^CO0KIB޻E'I){xcÉU؁qj\i9(Ja|(ca$0d6bRېӊE5/v2kAB6s6sѶ?z I$WYA1ˎ޸!˳s>6XTppw @'{͂T{n.5 "%rgN DLLޠ[l%H@te I\Kd_jk4ܻi5W"K;/|'$k.ѧAOs4{kfxO(RF0 "zU3OٝtL^XuE)@+vYgJ-{.:?BFT5CQXM⬐vށv<$r&f<آ$g}]\O]; N~Z"ɿ=yYn_M;] mOE M}dsM>$U'Iٳ ;*2K×96; fe;r< Q~xXW ǐt8HRyrcn`)I/H{lqaܞa8ސ2(h|o))T;lh,! jhzh+&R5.7X`¾shFw +/h\A]q}f!>U9~9[_E+檵MF&$ٟ3I*y։x3xo'S@6mУ{F.\%08-e5~.8م0L*֕?/W?/?^o]4_~oW'KD3&`&VX9aԞ'-"3I@8ߊP$e;G0dL}mn KbVE#EAUfBSnf/mzt]W:?[/ 8O*Cir2 h/$Lv𼷔KtC鲱8QEGe8tmYKw;Bz}_1x]I9+0 +f?1PeЀIgQH)Q5pMňY3sS 铼t ed|gHך +1HKOsy #zwYE7Sp +Sbu)20rۑ.@, %Z +ĻTKEui1FLOG tiDG!@~|-lwk +d(Ұ}`şWQFΖ0cr?,P-V{]ttbTa$GqiTd:D?(Xtc(u4!T6%|j(ğR7y.)FP`o7ƧN-744,5pT-aLxbyas;j@>) +;b;m"Ή1r즼PPNQPMuFG(P1ˑmn/Z);vYpy(a'O*R ݎ1E)⧟>B1 +fST|5i?,¦M[QLa&,kǩf{ :d@X3vH8xB=`Lܲ~  v (,x3ZgKS?pG,=" F=o?R X3)pCon\4\HƼ!k&+d t!"x" s^*h acc-mO_r]y+1i^rAVn'! J@4B'djG<8K18.4]qnXƺdy;YKq=ƻRl33Lߥ-6N/E(@O{. NB: +ޣ]JraTm5QN.nM6x3ԘM6+%ᷨW# e\'pՌ($]j-v4.W >cEw \ƌZRbtO{(}e eHq!06LH33-A }oo +\˂N0#>)d,l!<Od1 $3~Aw8 +F7BջIxN5+Pd׽%.6ķLLJ9.8nz* +{cN"KqZ m\V>^ +$ESP<6o= fڏl::W7u&;`ly$ +WSф^܆PC-~"Ly0I>( + oGY:]!oa;4ךTzMDPXdDB noe߻0IQdr_OiلzU>b!ǯ>LeYˁgS %q׫& [Av8'&1؈{Ξg<;eyߗ # +3pO7x L&5=vrG8Dx ϰ|{QW įUN⥶,N0#ϧfcݤ.?tS<9;Tn7(_6zIt\k&|_=dX'WR/Tm&,Q kXs{NLʫ`9CE/Jы@}:dz[ 52 lx+a0`eˢlxw8{u +%k-q, +;%`Vxn̈́QX[IJS%Qxlrv&A&i9v xRN2u 6XRdi6Mt=N88g4BA}V4 +P?$$Cn©ů+wohyS?M#k+81y&E;iG?"ڊ[aNiNƑn]DX oVWZbܯ :3ׄE a]d]oEd48#g9>p~ԝ1hr_?}N|h.%/xMh]s~> @pe>[G"+Y~_A"W(oW8 +Au QIKh&nN6AbJCo) 7%vH)# qv"D1W[n +Z(Ut8sUh,ۤq(q7@^91[18 ՘Nlȡtئx.vHx!))9gONTrN_nEps(6=cGT"wU%ܤv f;%7Tp]"橄Mp*p"HtA=T+ 7Zm +LX{y(EV&,P(t(.Ӟ~0j". e6k?a{?Qm^aU9Liik9HN @E=Bw8!`[J˻ kĖ< %aڳАٸzs=vx0õ"vO:#Yp<8zx<(R݄3ʯtk2H G+2لb8XcybA9s&<8Vnenvq'wXz`h [xƥt 'Ft F/!gS8.B@.1m#j{ +7 O3Q&$%WjVfF߽CxYc_Wm&aFlqe'+{yuX7OlC'22҅6%Sq9 g-糺[<]BkB٦x(BQI wEF{OLy-f%pIGBȦraUC7-&rDZ[\ 0CC e+$>Ge"NJ rW9򆬙`vڨh4TL#<C+ c +h v,$iH >PPWFY/`#jJS؞Brߖ-pNF$,V‚6v:Q9&{HMn6l`"n9|og@wZn#O7AS٠ &'M&*X+2_M$Gܐ j6iH`21Y~hT@.T6{{_rp8M@P \0jp"j(.7CT%`XI~VܐVXL NE:e )r X*< 5$K'T\6s^u4̵TXQV%ʗl5" #C -.a.oߛ Aܾ'oj5 )qp +K.Fb;cd/k<Ct GΗۇ uoZ40Dd ~^BAL2=!\T|N 1q޲2G݅ȓuѱLW'mٻ 6X1R4RMH2TcK˯gԧt#uua5%fƐ>`P%64}B/"~ ' 1{,Jq8^o_p\J7L> +LVl+ vՉʎ|Rie!E;DMJ!S- w`!V\\oK1I\.$M~"U%aԘM\O'g4X|oA 3e4th𫐂:eRe;ޡd$,!8n~8*|R%SJH.-6֋W V՗I1I^N#5 QC)4NwDŽ*pz) +Nr !D93VܗI-2+ W1kE!R"inD +: >_( [Nhr+C |Ă-G@PCCTm;CMpӭ*. E#zoX~A h0$ y ((5sxƭ. pո텅eKJh8:v 1V[ܠxHO&%@s?;P=ɧf / +qCO!1Ϟu?|s1-ٔB$yK}K}rҵf;*؈L<آp[C + + B`2T S4m.a"-vLl_ 3h%$>̡A[9k8h B rN Z@$O ptgFg1w6FzHi/(މ<-.(H使dkFlMB VQY_X )Jg^4,UwV.@^4tX9 OGD(&2);Eiw9 2FWXPj_ ` +iǠ O{/6dyKp4= ew*lk0آr pY~h͹T5 .OCj4\rZ Oz*#FRQaWtmӼ%}YO蚗?~p˓tܰ40~Vc:~^[m/Zcie bwPn F7?!k lm xh/0Uz>LA +7L\lcS Y)+գTg紂Jt < D+2Q&hdvL0m'OE\cȑ>_̂qF65,Gi#X333/DsF%\{B sDzQ>(2n Jxz2" 2J#OQqg0` ,/ #}/J̒#BˈR|Lj"- Ϧb`~.^͕X wK{'xZq\\s#1Y08G)_ s9&s IT0 +F`+_:yE :`UTOn1uʊgX) de{ߏ.`IrPaJ !9!  ||CS| ^DdAnb]齁!m !0 qMԳy@Г!ҾD9 o |L6XkN'L2I ,0'PX'u%4}i0Pw,[1RYMéS1**8ڧ+l1:k^^$K1o>WOOvߥ HurėJK\}zGm?M =#Â>R8CV=mXtKlGM7Rr[L0|* 1+-N-~6Hk8?"ɒ$(} Z mdDOL8HO_ M%r4 g0C~? &uJs)*i.^ יk3b͜h_o.?뺇ZGeK4'tUE6I6Zٜe/ m{ בœ4MnwA')6 mi.2K 2;EQ(\j&Y-7.}.EDcT~فn{2Q_[`_#Yr6[dCN"L=Wi/xM`˔ ZK# |eh~[ \،FH TվDaO +yO;0TIrtg\OSrdw={ ZDm/SLX7DŽ!I6oPU[aSXaCjT|.F^W 0<Y:`hv١\_V}1!Bd }m0 {ؗ+rYі_X)#/6ݷutɪ1y$ gt2}-mص0(m1J&~bh1n_;f#[)X'o1uN_e!”k9)XSg/eH#'rt EG,~EF5:A]--FiW˓\p9doFBxNu' wΛ)G(qnr,v?kbLrEQ^Nbi2; {H̀f{77 e@THrՋrӁ{X+ؓ ދ lXòHGB0$y տ45gV,Wgo0`)|ZPYA0|P 1s]`৻(@J Y%z0݅%lΧڢXVIڊZU+~ +$ӂ}c0-+`̑01Os~q{a/j ;Xp^f)|%gj/8$$]vA +2e0Jm4+Q3 I2E@a-]'Q 9DZN$#gFRT(s)f9Z]RZ:y]\呾!fvG[yu9Eˑ$;$y?,aAi+`/{[1YPLŔ(ZtGrHMP˳oXV``C$\@2}@m#rږ:- !W뗡%wecPd*;ew 2` +Y.JhMPUM[]`Iܔ[ +{ C}t쥦㊲aQl%{nj{_0DPIQ6z|ŕ I\9P'nwMru[! .b +⣌ZH4cˆ,RCnIe1ܝTKT:\˶-vI2} [d)J:yZ81 E>>p Π?M7hbػ6ZMĮ?\IwqP!Y)I2 ί3|¾ uܘ,^ +Qr\waZ肼-vt7łЅ!>߅$Ny0xip`vwх%zryTx7HIc۬6l?B@ ~E{aLnn0M< f xq'`*!_g\2o0HèJ #&F) + l̙0` p%mtRS57vN{t!ƬK2fז^k#0E_|m [X;%$uǻ Wm!1|F(3&gH*# 9#}LSn_`HF! fMpEaI!JVcm=)"* 1؃U|nHڌ82B4L@;xBdF~l 8#=alBm65/B̩iY[ܛU+tb!s~\A<~j+ƬoƹcJ\f3[%0DzS)-^w\`. !, {(ý.xMa f LD ^x{ԱY50,!L1O!T +$kNlȭ"Y mdwSpNct76LwQ +F :,AkkB|zRԻ2ʊpaܴ+z>>M%6 %( +er904>5%,xZ +1b*aOaN'&iB+)X: BMю@1`W9AEԷYf1PΙ1XwcP|>1l(& @ +)Re &2y"lG%Ƙf-*WyHʩ hx%]j+b  +7T׆0K!dӠ_C;F_!ap"U\dU7ܟExS *蝿Wݱ_EtdSGqNTe "ei1 BXo>)Jo;l[A m]s"Jux55SXs#bS_Es3?LC 4珬Gy0q`-gp%f9u \t@sKgzХ(I.᠞mf_-Bӡ|0_RU/LPO5#lE5#$ 5' $n+: /zNMu//_`PgrD6`i`BKU)99ELm%ܴDlFдǹIX ]H>&ўr=73\KC|ʝ[0`~9UhFdU]F)Zm5=m Kanˀx7[ʵ|l9KJ@l=LȄ0 +GcY|<-յB|6X搞s4G!/4mN0^-Q%{#HpojpY^M.ķp~_K4^M_x| Bq\p /K-p8kba CJ0(1twEː26 s|^#PcBn;] +_| C,-(Y>/a*޸ϧ9?vԽ +QM.SvTHSO_2ezIW?;[LFm$* b_\I2'zWytwGM ͵lZI)PQَiż1,02 ][ K LTX9VLw1.n߇ו޸9NQhS_L-[ +(I$yrňkY3AMp(nC G_XO#;*zڀv)kqGPɤ?+2Kk,_`G$HE7 !&[ˬku$r,@KIA&ǘ9,Ia2i4ouVHދ~?aLYqpr&8RZ6o0_FOғT[əiF~!aG#SdC;x}Б#m}x( 1V@LFZ_q85 Sf&L1yC1l[F0J΄]\" B~;i @@KXgɠ +վ`$[ +`0;4T{%;_Aݱ ^pm.L-I^rmn'vbލi;0ЅO,@=381AjVBXDL|'W t6}*ORo<`ah~E߲%ۿnBΓx$1=")ϓs:ٝ3?P 9G&R +%:찋5k@J\S3a(hN8Novol=.5+-XE#gDQBBe6R}܅0+:fb@ 0o\S(yGSva\E0w'|ƍ&%&;N5&Z&3,"LDu {&qHs!ȥ-̦3&켘\P֙겑S!!$evfBr*{gPBaMO@( +Qn+P%15A,zPWR=OvQ*a-m'~W-y;.)>:FQq'>1ȥ9Bb,PC=gpܨIF +/3L+ZdO.JN>]*Óo& o>འRfM{xlBo: >+NcKa9.]&(L]pX0P;ucą tN"KoX߳aZŨM^ٌRqGOMU +)Z#˕8Vu)YebcFIWjN$Bu N>Q@Lr%fEcb@;ںE +Ε&-+sP +j>rzBn\Pk ONuE4m(7RæHؑnDb'q'D +/KV)i5:vBᅱ҉NHξ0R&~E3e&~ݽHŧ^H=FQjV/9!hSj1~,QЋ)572\,S}M_ac@@0gz"©58ĔU! +B1cL fVdm[Gx1bq@wx% ơ>n-FIiІVu!Żn谋3y? $Rx4^t/ y1V0z TLaYT,2j5-09LZxs(6A 3UF(Qw%fb##DnJv Z!9X|P`b<<Iˋe$6 R]ز +LÎnr3.ՎT!IyGg{$,i6ɅT~D&3 tbJN̥X6x>QP'^U^xC˖+tMds@6GJ}[!Y9>q-ki¢rXx~qXqga>Q)ӑp=𤺼b@HC֪LW°ނg4%[h!ϕ#uaYtMU3 v2% bf|A8_ C1b1;XxG#1h)@i1e43QL<'P ca&b:|Jt|G]T"cbƁds(xL82Ȅcej0FۦԗERFfl] ȜxG3(*h-/vGqXPYՓ70wW,yR"U>aHL 'ȃ^x-أA9\a O=D!+L Bgks1*c`Y)yB"PP8S1+%_y /t(M7Q3 Yk6rKG +qS\)%zUKIݑ!;|T? E.O񶽛 Ë0pT(JˁP-m݀QF^, +׆v72%IJ.ˁ3IVQr/O9^agh~fy0^R!.I{l]6gc?]N$jxU]ckNJ7{P#",=)8>Je30[0en!]KWQKuW`ke&:Cxc]hFZ2 }%݅f9 b7(+^NĈuY431Tj]*"dq *SM_d O*9~8HOg+giw@:3קKiOQEJh0{cp0Jxa('Ky$6ok%+bKϊYUOja*,uѸUӶBUo cuX{;/) l`sd/(2]$|wM#Rܼ҇; {>[2] fXi i&ZN(vꍜP׼^ 4K:A HPr{O@$YFx!jcXVy)t0Ѣ/YB;tǼE[p#~H{eMdF轆uQ>u#)b5CFL + h0G(3HxEE,Gc"Cā|d`qͣwLÌR40P!SK;4L$|r1m9p~?^)7ˆ6'$uQCad6m'UWH?˧-#랿ӲoAQ/ _q4ÊOl*T*@Ccǐ`Gӣ]i2sA ' {[\1A %-Rk:P1&ύB hڹuXFeG^?~U)$B*RLYrH>GQv';y͘C87v$ûb*1hd!Gpl粗0$QS!zMz~=bUPyjJX3Qo+0\b/x+~I2SF$:S:İy+{]Y+i5${p 7P %Jb5s/ |b@6C Ŗ@iٗL Nn°@Ze?~=֩gSr4}C|YwE5. TcFU[7v(\N59`FWC 9sT*βC,Ża)!{'JL[0= Apz+ +DvALTc@]Z*)(X+Waxp{@.VŬ6H%qYf +2p`(V9i%[0 )2&ko)G pbHb,;j69A8eT1<۱BL3FpN6 A (X=(b2{9?L:岲n +BLs!T¨LAkg`PFQ&c^dB+?5OxdWX2RBhkS/KR`bfI瘟x@.Ąmtk' +V2@-kQO[C_<`rDK),xx,*yTH6 wE=(,=BCy=dȞ}IESR!DF6u^!@$Ga]OQҀJI5a0%4.;3Q}/E2|:WDkþa =/NAfEB:aS[a*M/Ǚ2S4d?#w+<0A2aoMI" *3 Xqlm%|\hQzp #h³ٺ\qO]nr ,.32\a\;CT5= zx´+Z`pr2n-GFCkfH% [ +̊,J Ɗ =b+R˺\nz$ \+09龞dqַ1 + &a(3nwɓ _C0 {wh,lՈ!N3|%^9~؜|*"#B p?棂GUvORX\K bp/ˆ~FbQDS7u"brrл}ₘS)!7Vy,f5jH&+Ơ @< ]Y1fKcJ`Z5"GJDvMň:!|` s-["4)bw0{ ~ -cǽ-P<:w#`kGVѾ'ab 1HS2[aM~5`8G<ܹؠ&y!$J MaN9;y? q9 oq2^+QnjLj3(ׄ(,]$!(b'nǼ `: 1yaӑ7AB @Hv{:Z4X.qX_EblZVIؖE, 4aƘPT'Eb[.(-46%yEBLk_xfeM`J)3u1NT"8(҇.#N88I2jL'}^x:ʢ!LV(R&kYCAH '^MJK!l-%6%aNuq LU0ȹ(gK1Q|=,OXǵwRswa|6gMݡѤ`aJC\W"L O:i[cvYCBn(wZWw{l\p c9RwD8ͮ&;e!m^NÖ!hTmQrt?+GIF@DO1^?O0埿8bNBC0#Y<Kaj3%`b~+%+5`I Cnas!yWq,ZČO4&$x8i@"ǣܪza(ZO K\L^vYQ/NS[ۇT7V$Ϛ9F(,u=1s1?Ĥa\D)v*2ley#$c-qa犴IsW(߷&ǘ.c\c位۬F cQ"m641߻;l,"j9 $&Ðt f>AGLK AfDVYAG!H:b $8sȜOyjX3YٱkAe+?es 'G>6d 9/dȲU(- ׷zQ(U!Æ9J@ )}6.I,P +&sFO :2VXҲ-aH`erx+$ ^YbVnp+DVP0`nZEG(vaE)el+Di=`E v3GK +>aM"wpLϞ.e^SL`MB\w̰|++.]~~,Y  0ҘlD\np+D ("w4. f`M?klD"@cE/T3Pα=w:CpS_Ӑ +Sd'0V6kه+1Q+/ fcT.` }bFl>Lƺ?? &wEDF, ajg#RZ2ѱȷpAjtb%ӈ5?>0dKΧӀɲ Ş /8兑_V4/I}5 $Δ-4ٝI 3& kYX'cb3 Nec@EgJ(rn +0pGA(_Erv2AncMu̲ xhnMTY)<_HNcCz DϔUA+RMt +Ǘ< g -S }Dpgw?9%QBMfbK:TT6J0l AddA2̽ 4zd'9Gp/GW$f+Q2M,n8c5_D̄=Q.dSMHZ-< + %a`@Ȓ u*%d&FC }*a[I" -]%L9(3]ʄ ̜|~R~\krp'=4u1Qb/+e&vT4B8aL2F1Ȑ*bDӂ3&]b@dChR@rxB*Id)!"CM;o1B +,y`lZ0/M/2s9|^* +h5~0J)t#A P,uтMP5D;\=lI~ 78Kj6ͬ3Nöo=rgvAaDvj6wDV<2Ud؃L d9HP\&ojid +{T̎5 aNZѣLQж~p2ã˳O_;^~HenP`}N7GrHjAFePϑ?rWÁUrV)lF-A%N9`Ӿ=ϕN z*I ckoFTfY\ e m,3 +\):}]f8qc|ILAQsaC\ܱ>[M%:7Hxt0Y~(KT$Dʴ\-p +~6Q3q.=)o+*" +ߥyS&i*ov a+"Ksllß?ZCi.u [7r Bj <g@Қ# kb5;BLaҎ 'c n 1X@mtKA~7!hد9PE,ics +K8^^al:fRkP2өÚ{:yH-3˨q|hΏ(ckt* +Ӄ-Fx1/9jræC.ӟ +* eOh1cs`92AeT5$ߋc)Y#n0lf00:J ҃SRDcp {TC6 HqYPv u< InfLyBjI +r t nS@#H+p5!p;#)]o(X б6xvy0W3IAn'wef~nj)9 +3F|Z,/{A';*hž0 ;A/PK<&<_&h#|I +_|+9l9dc3)Se``/mՓ0QR0A"8:VvU;z?Lvy%3⡍P8;Ǣ.eUsbCm1%/ F KSC.$yIyҵ +TĊBVyG"jB5]ti $.a7DDϠeQ\K  B  0'㩈A>Ljzw0*;@r{aJd*kŨ]||ِeA76>-qNye"ۉKcGsx +K}   \лSJaö&\&0P;&"XND/3/k%G!jY\&]]:QUmr[s>e[%BR h_P'x@e`.2+^H!p6[Eq&0[ЅڕHj.4Ś_EWC-^UmD(Ëj}eQֱq(>&/ʓyo* bVT6G`w1)ɨ'& jxYu3bV4$j*> 8tM|jViz_llaik[kb| $Z&+)+f㠋83X%2+B5Y]%C<((TZf՘lr .g!km#pg+U@2 xD + +/q%i6 \wک?xmϸYH'YP(xA( +BRijC{_${d<^`$ 9(/˗(?xS5eD+/ +0 + vs{ )ygjtv.`CW `rs1}u(^o 2[oTY'ۥxWhl5{ueBf8~N& uԧL˾ `\WRb糧/d2F!@ zVmkGsƗx>[jrBÆ&"Qy}lyt {`LSם+3+)T,GxS*f:N![[ĝ(eIy3qYsuuCFrMUEz%jw=؞zR_ƥ@>#FL2Y)Qw*|! \v/h{#)-*o[, /]<1p*)Eؗ!^:T," r|2;:c E*4Qk/C tfK)/w A!ɶ''g88j^CwKYuDcI4Z{%8:L1,\2[>lin`Fq|FdK0rs}& +7eHPNh+]4.ʼnlV9@6ŗ n싫%3,a$gj."k}/ZmJ FhH5%TmF?%.<,9=e½/Kw&(a"6}"r^&~G>3!76iE#STP$0?s 0{(+#6g,: +0D$>F_BOXwdMi72j ؆?%rr_L]ڗW=t/]țYd1% 6B4 d1@^ao˘ 3. >R_h+ 0 VtlxPb4 +'quŮ t񦗀<9vп`S¨/zE;I>Dټ}HC'(cW;^$@w̦ +4U6P uE,Z5tW{ 9ywԪT_bv~.I^nY3Z-j u%0E1t7B}nx3U7N>1EX"7XS b3bK{]6 \p5os7-3A f3$[P KD&SUƕNt2d"Q:c 3o|K\Z^e_l%j1l'Y3F8T0=3^&F- vs?*b`ɔ RC 8{ gkFA`Aw 0G؋e]vǕDų[gHCj(R>IbLoT^t9gE%n"CbQF_l5@bԕ\>BC+iq:U^(kpd#we•nrmDb/4Kg@/FLml]:a͕;myBtԫESzWg]|oZOYm|`)BEeGgU,f +K _}Ga.L\h@ 㣂9'l);*jCu9Œ'2}2(M#k@v EnB$6Tv@`Kq#*W$d.fK5w +9|5k’"i e|eA5 +LbQ:44Kp ϒG!d V؀Â]FW'='Tc\ %w5* d& ՂxPZeXP}92d<7Wpިta +avJfӴ {us94g$.1:\]F3q 6y$p&̧{+lddw} SeŖ}>4lJM ޽Eʌ@DAp0|Afyb@f6uTz #7!?ӦY5hOC$ cN" +v5:f- &+[Q7-=c%&[Q*l)Õl>ؠU"`Nj/ &y2mSys>.3]]} +c8c|FRJ|[T9>RRSZ2+g~Nk]~ZWMl%'_uxFpF'>Q[):=i+օDTC1$b#Ńcƻ} Pl(1G糇`/qh/]|knOL&g_R|b_}Eg2}C}jDR_#z+M4gUCq9~hK9=aaκ5MYֳ=ȥQ-lYFStpCE4*m6tɣc +6p⮆h%/<|''(3Kw +QhNGdss|"FjfFBt$[#&G FA+bH#W]p6y|֫_)&EB.pT'];?`X7Y1i_ K/2A'BjM2E߳-aY9%4eD]\@yW@fRQ8qeF"J + bH@TSH^?7b,v*AiM1FWq<5 nP%>+闓|Aa3c) '$"x2nV2_xt?̗=#J4vrNQf1KFT1sh)E0f0hLgV˶iw<<)scP="+q>ȋ +endstream endobj 71 0 obj <>stream +8ogSR/s+ 9_$a5a>AP%G!ky[ER bI?[*ċ\4*"R|E~i0g(9$p|\L$S8o&]Y\ bz'/<.#9S$ zJpj_ 1KK 9X `Yct5jA֍əxEJԶؖ_{i/a6yъ:#>fXt_a++ks!![$A> quد n}lr&i"w¡@v—6R?Y7|!="r_W J3XSFl;mWliS.Ղ։]ȍ%z2@%@~8YK!F"!wA”9P7J&izL^|a~ gJW1`XP26m4ÝE8rv&ԫؽUQ 5 c:9bOWUu[iL=L sG&;k*e8dc;L޸ ȏ!:5,e1h'ml }`J"?C*g 7fHcw% tX.SM;DƂ%6 [=*u}RWfII8q0`NbԊ 0&"%i#*YP0{f*[-o,?)ԂI2  +)fd"(++: }f$ȠG2{E Iu} |J4vk<C24Ķ\n1yksat k'd4`rn3W͜^alb<7vN,Ls}eaYJ^LevqA\A s{-ڌujSRCLpt {x״UsG sF!zgmdCA 6뾄Ax&X' 0ؼ6Uм'y Ltt8`Z(ĄVWbE̒?!H/b %mpa_p<|n\8?E|4 | ƼBc|elv0kZ(΃G|H])!ewߚ)31r)._Hh8ale L>sy >k1hi/M,nYqG #OVG roBdKSj' !U8B`M׃Ҳ<;\I< +bp yPʂ1C pJJS.( OKowޓA>sAP$[Q`&o Px9@/, +[RHK Ķb`ğnm /ߝqcM /+*xMWmIߎ/$2J6|&^p,2,Dk-_ZCd2^J!Փ-Z/ 'H$\% oCܟs/abNϘ:%+l9r z,k%+)Š oBK=M ]~ ʉ&`Y>/7_/ +WgД #,s~1; $,kq">aZ] bNRTyUJjFaA  Pl:`9,#8upSe& UNRQxLE^2Uoa/s|!A-q0S hp ?,.9FQZMSg9oƒJϒ1}-eAy噢8$7U=|[h 'p0XՈXO0I\bkW_0yk,"isar +io|e 0_iy`(4;_%fCC> RK (YP͂!9<ȰxBuf"v݆y,WHXIe IJF< M~k=,%j]źvYzx?9Tl@nNĿBbo.9?K\C1Q8ŗQ>9 +LH8`,"XNQL!c\3 BA3jj/|PV8:L)wD*ϮуfjfWd;ʂ.rDۆ aE]3FqϘ Bї+WB7=YPLLԘeW%o=6+Y$ ض70\[s7_E9"$Yg)P`\o\ݟh邋슐3 SAݹI` +pA§Gځi JKnҺxguۚ щ8K +P4L.edHQjsL>` xrxaBFWW1;Aq/:˦9n'jO{ 'ȹg%M;rmlp&/dڞpA +&QQV?&j/OwuwHJVu=[(q6nF6F_˩O|;d֎/ΤRjV.NCmB9SpY^4xxV>i8b]m9((7xa1Xe%D \N×H:-Ec0ՙv_nɭM$\_dNLWoŁJ\/כ& ESZGoz36.8 l~8`1I63w B/bD \j~Mo}&գ\w,b"5Yh㌐4 07?تlszwZe JDҩnqan[tL =՚"VW\*Rl?eH).I6otcS>I4fؒcO_b\o]CQpuQ3|CDY\$-( پŽn^Irۦ%3v$-Z̐9ZAoѡRЎȕ8s+ +u %29֛lR6J ζy=kǎp^h4{g29uƦvgm>A^T|G-b((&r& /3o[}0|9oxh"21Ը1JaHmt!̐VlJoZgEW$cr n0&y$luaó;" +;\UmAדɛ%+Śa4G a7GE6MݼQcDǶKCk! ͬmapFpS ~HÖ|/"5#[@b9Ey^ +#,tDGںRx5Y]pc"c*k׀MHTc@p}$8S*FCZyEL||fI;4bL8Au6ljl\,vJ}!Q&!F+ĵ&nA G{.#M_ o 0b9ą,o XI[Nq-h} I5)S*hA9 8CbŏK4C,]Co,5z°/ 'jjt.LWjS|za]5M3 )@[u[[ɴ [3L0lWHN[ܺvYȧ/c7Дql`ٍ?j(biEƌ%Ap(0ˤء%C3wAbʲȕmF]Le9˼J@kqr,`d"#[ Ӹۡ&Bg/ +@I%jQŐ-̈mJ(%9` E + ) #-o+U\aH-ĔZK;z~i/7E<q6S +pa^LcH_a6B*19 ʣ + º9dYAO!w$8PnЕ8 oi +S . X'pY[:$kfsF%HY&0ʉ&޹~ҕ(JM%eQ<uaȻ$-ȟoWlG<5$2&la<*/$t˿O[_%*e7!\[Vf 1_aNdD3cm| ujؽz".]6~Ƌ$0G5U8:cO. N/K쏡1*Dsg ULfq0J@0UXjKǷI$ ljG[{\o$XjR@Q?Ң=$#[2pߴ ]>%kr+bʰ*]0(g4ʶϱF{5/a:!7fΫ%g>xb@c)Xj8tFFev'V4.eY|Hzq;4)L/AYp"r|⧻ :F ^x*MC A&^5ҐO6 ܘtO#1i?]Qa,t?]2돾E /_d/gΐ.0###ZS2쀄3 ` wrX#P5(}yC{O=%qH0]y0kP%(`0uY2WV9 +{]u3Ȧj 'uMtiƿyPky|Q#ۏtJ\/#$ZEN"(I_/U`fRۉ>Ţ.x |aU9Ec/<8bѩh7596xA?Wu3zbfq8r)fJ[堉w7 (#yb9z5Ðu Dz_x9OCd<5>0!`+Oeb^qId9MIr.3Lz^,+vlX1E+^\8 La-3.y' "Ff0BPVa{!:L!:hvz|\Dt+rU:1(Ę;0Ty,O) A$I;JwDb qϵ ~Pd9PW{ (>]"5!nHG d9e +~ui| Dq o0@o䩏2X dY ehCe"V`2a.!n5ps)y5g!P]ӫb`b 3,H:@&4>U!l\m9y"(vEZS5 c۲!L@yXfv~w?6<:~a!!P}2 E (Ħ +ǖ…qtB/d +n7L98v0p6SOg3l7q+X쟯m*7R%-=gpaX `uh6!D5_x|dXAQ ,|j8%;o/,"tHK2ly%XBE(M@VNQx!&^[LxQsI~Ĥ=T(b` of /6a]|`W+gj+V5x/eN~^z.٭ +_T|.<#ˎ抱I :av3]C V,/KF` > +2Cl36\.{$B +ٱXC"L +0AT']K0&~˘o{D_5he1nLD{qc4 koY{еLx{sz^S/XTR{4ukM$maQ L')90YFnDpCfW Q0Z ``;0Xuh0ˡg>: (7vn=RW~G? Hq:u9$OC0Yha${@$6>wuX0sjծ4!h ./TuƕT3 ks>0+[Z< V0OCo\52TA*Z 0)2BŒBrC0SRq) yζT;i-2*>h ( z]6W;61vTG={G nǗsQ?x_cyy& Zf#Cf-٫uɳz8,}5yDS}/ iw`r(0Ur]1`-: 6;vHX$  ԝ簍veML~Oaݨ* +{p +Gzj`1.>C=Zg:]H *0y`0^a{UH+g}`R(7ܫxw<ۜQ3?[Wj}U :i!iŠS> iͥuyQYQf')uo4{f xKV\.n)!¹VXI l.(ջJa 5'&0Vvα6 ra$1`ʬ4R ɰt\f`6dJ2Ѭ[MeV~y!0fa + FLC]'W0D/)&D1dEtdqF{`ن14ASJ,>H1P}ɽm]raRhÈQØQbAB@_6Z>ĘjԖ3# ?\]IłY F%.#']S3 n;$4]v,:S p-&GC¬dвbHN@BgY-8Cf.\bdDIttTԔ$t?$u3>m9 څ@̠7]c~WZXz! O݆,;[X~r^(_TSD\$Kd`8$O8>آ_."iGOR$0Ch +}u|!)U|9@A֭-vB`>|`J'oG&=h4LQ5@Z`0HbJL]-xCr%Ldȇ<A#•jE N80!Lzi̘|;KB2eȦBqHx޸ 4կNIVjpZ'?˓$[ӿ0@u\S`-Pvɘ^R &Ǯṉed+/d,6Ewy7 psVx$֡2 +G:QoC*el&6I[S c 40xz"&Y%?ꄤa tA45_Pf0Җ'IM/zpcz0pЭ `+ +evlHxjʾ5xa˅ǾzB/ưdyQ'Zh$Ax́N"$ts$ُA6]oZlWNNEVoX'|rP6)ؑ RlViR]^>ex0MGexeMSHk:p0th-"LR +wz_p~Ecxd&3?..p0%kqx!s7/sK3٤(8u_ƝVazlԀ8 ta[UOtA Фqt &"(]~dz(F/("޷VЏ=Z >U*Ci˸XcmjMnZܵfe[Z}:(953i@yG.P0{ ^xjͱTk<-ecH wq|J-QpS -4KBMȐk05KTq|v]Ki0< ]` 3B">prŘ;|*"&S[mMY2N!U^-nߟ!$5 M|)fX].|{ yf|GCKo3.ȎB*e@Z+M 0Ȧ7ר_4%z0tr,30U@hvSB$~(-yͣ.4WjĚPm Ur1XX݋6p@W Rh%~ <d} +E AXmc + oB(>qՕAž 7 S @6#fYxSZ0a=^Kc9ƘIX5pw bVc._o5)gqZ@$px0ݠqK`GX Aٵ?WϥLx +Uڰ!:bNߘkW$:>! mz! aDԬ1 -t- S&'s>CB7 +/l{(g*E)B إ5xa!PZ4x RNq.k4x ,ƴŰ.%:f*hS>vB:ÖUvf0C&k1Dq̵lFRH@1}gXɮ́dv%2ĀyˑчzS{6v?\O:?J=E%dS`§qV)@FOG0H)#f]GIpIŸ́OʹCfD$]#[asl"%7ؼ@lHLN<qee p! +k=fνIX$L2mk'54}[]Fg`KN:cysxqP(^j!Xϋw2 \DyJEe L?0WV@&T%e .rIWFjoLW Ǻ5Ԅ1>vUW܉v1ݟ:졳PjuGX4E*=R|2elZ$U)]Vr\5яZ*Jhݫۮ#-.br/9n!A^kM~iq+&%7tZВYv$mAXMM[|/!Y]@@dE˔ί.i{>zANI3$aSm֯_+/?'?铹cXvŝد*Sm#{0 +cq1/3\lሥ&;AS7/fػ"e7a fOQkQ8R۰v.եe /oyy_?8<|~s_.zzGz8 졏]|+{ǻw5(xWo}<55?=ϭjW>E񵎿OO}hmѓOJSW忽.O}23~uNs~x4?nի\ӫW?o^Xy͛_\o/"}Eh֋^pxw]>|/{<\^]qߍux}}|?^4p8 +endstream endobj 72 0 obj <>stream +%AI12_CompressedDataxisǙ&]~{yXK8z4Ѷ};& ISy\*:(&$uryݗ~ճ˛oag۫˻lׯ߾_}1}7nz§|Wt}y.o_o~k~Wp?^~|jtujxAar/߼y7N#/o^|u?~6Ϭg忽՛{8޼xoo^\ysy}s7ϗכbxwz/*ý_\wWW/^vᄚ\z}%nFYJ߽+ި\ 1w+d*}9 ΕW_6bySϷ7?xy7ݚӯ~5vBlv[[ ~.13?8ŏ󫫿fۻ^3 go__/,7/^㉥ח3WwoR,?_|>oXkw9@7F/_dJԤvT̨64mG8al$#ŽJyjƳ{}wu{Hc[txʯ^V2!w{旷y!?ݾzכ)-bkԬYϏ2˗wN\عt<~[aۯ8,G87O?3t?? +šOOoooCqǷo0u6\zӛWxu_<o._>WW=cfC߼wlwrk#|[\{~uϯ~"&Agoo(;?n17o~|pW/~7Ny~}޾Wׯϱ^\{?puV|'5<ܼyE{us勷wW|s2>k/_`W/_~}p$Џo^}-#&~^ +"]xGQ? <]x]X]x;=?! p>^nB +K{!Hm??yxt|槢pczKy.tQ}oe^MyGܠ8oreM8?fon^W>o*? y͏5_x}ϠTUr,_^goh'N9pP߽~qr6o~b.jҊRЭgh}-tK7@ݗB 4To/sO`{"\A6em(4aܟ0a:̇p8NMǣ9ڣ;tx<N4Nɝɧq3K+\[|=CJ=OM7m׵i Οs:F]|{Z;Zm̅9afovf6kF4)?isjT&6)=i쓝4M0a>w +i7| ٝMn;쎻טٻO~_cK6Kм@~j jPEگy=/xG~M3VO@IO~g?yx C. tp{ssδVAgSZZoK Yz,svѝpQ\/Ù;]jGSq>w8G{8Æ]Vd=XI5{ HXa͔p4|q+ N<0s@}m*'Br@ޫio Y;>8Npauie=kJhڌԦx(ܹEfeOd@Aƭ=LLh+灔 bt*apa=,TKQrs5;/Ù-K *XSc8VkAŸGk DD9|.mK0~經eh0@p q*@G&$C25t9A|م$8nEWrCc#Ĉjjj  h< O:?__3\a Qy-ܛn PyH?EK +LaA1gb:#*'NH1`{ІD7:e&Y<(^ΌB!w]TΔY('5ttttctCt#I*U~KNڢm,7qg` -!~+85S;"?^__xr}QĐ+W֦жgfՄ&"z!8meEPW J ZQq!8vƠ" / *40֠bCTAAAD؋c'j9:;> xꀻ&d@ o^}D7^:A18RqyZ:IA:fJ/]FpYQZ2r’;d !4E,ʅ!'oNT(cmi)bfQU;>矇Ti7<H!}=z<5|Odl W+M-2@ŧIGէ,"@G*ATM*ԋETvFȃ `FT4=k14tF/^\lc/}(BaelL ؋j*.ML4htkbv;ۢZa *Q2KQ8l#I  8'іOزqE);[V6rBu{v9c rBo3d~gZd|2ȸ6vJ! + *Ise pi:q@p(!LSA-B\ՐkFo8Y9akFFX% zy4>?5꠿@|/\!_;"%-UtP' 5+R3 Ngaە$V<|l8Ur<{nuOc@|вMj`Z~6`AIm!.u!f%duoj: G5AI\)ihS[Q[ʼn9Vxm/[ifq-Xiԃ*bϢa{XOƚEZ;`/,$&`dbZҲ){il'M\{-`r4YDh.Hxl 9Dª F0rlJč$03{p%3^]Edb ipb]*f RL4Vx1UXj1W \Y1VcE\Uf|Lo.'tc6lLF4Sѱ0yqO2bJSIX ;X:XG_\Gmb. "׹jFrsNSt+@٥HVTt +Fq)w"qՠbi?LRIfs 1$iI ;$']oԪwh8<_O=ףE=y ESUE}jֲ}Y_$MU+jWAX{WYa X&,j򢹪eNX}W@kreQVн f=܃Ӟ$sםdC絨\'vt߼LPt0h:K6KSԃ~Hrz(.R:tY$.zumӧ,'I  c=fvF eWΐ"GDZy|M/(nCrwSL tz; }7=85Aݧ ]Ú Ոp:wtwЋ,{z^BI#=e_%&~g*PHkGrH=Hg+?]KtA=Gn$xȘ'g0Bn߽g[稜{|)\Ρ-\xBoȨ= R!h0yb+ھhCk?JmA ^N.c;vqJXI +爧tVuH]3YK IYs^UDv޷itKN`n`X^5wC0.];gxum~D֩9,j ]+fB \MԔPiE@BF`킝VJT!ڬ<}KƧ5Z +]Ozp;)Lj `pAIG2CTSO5}U +`4~B0!@΃ Cp N Ռ]F2TTNU$[UQΩuE'2V4uE Phr4jbX}*=>l2@eq/6taD+;RaITfKcF֔!2l1" J650ªy_X֓у0uV'J6J:)8 Åh"ZXQ#< N/$Cj;a$BVʱuEIvqXm f l)f– +Ca?dwP\pPT8Ng-j?ӳ' jpl=$,ѡ`),rb/:izx6Ių:xW'>)8[Mhu0]KlaeVA$O!+ƒlc 1搑8=WpG +1>gzIK~Jji U?KoW07,Wv-]Mn|i6}a"k*+qSRpClK}5dufPB1l!h]bR4c29&+99,U7L\|Ҳѥ)84I4%w&ܙD4J .,QwF5B.N4SSݹPag28M(6" +!1ږe,1r ]9F.|Sp~c`C\V$^)"HVrbG +)C`g!vѥ.8Edw킫ݑ<>h|*9MoijZhs3+ltuS=YMQUĤLђmpۄVa6{-$}ъƢEEzwh*|5hb|_?veȽ͏iJ;h$fDw_:R+IKLQ7yl W6R%A\h(my12X{2??D6>1 +|A`㱼Vx/lNZf3? +Y«w¶iŔ k% gMKEduf½0RcO]h "2=UNLM?σ#C,,1z<6DEݾzCƲzL.KbFJ-0kNJz` cZ$DxtcaI-ZxEIE}vv:d (I*Gʼnj^gl-bҊCI ?'V]skS {袧(;){=' +o`"/u)lL1< +MpM=qKI[;**XB?]g}ݲ\륭mٞ}΂+m |/.rLAxb"LrRC'Kh$NO:i=sm=[Yc, xW=^po+=cڃ(W.3/*؁O!(/HvBOgpBE tz̪)lY'm=ceYR\M1Tc_PZUI/x,Y<:;(s¡V֎w,,MV$]VNdBIJAh26Uh}aT)fQn.VJ Rչv*| KItkV!{E +wD; ֵuJyS +I%64*-C FX{rdHQkp>!Rk{Yh-Oei`OakS,b+Vq)َ,yK|v;jluTY迏}vYAVxЋ۬OxjJgmyj%ݬ$ƕN-;jչ)`C;Gl&Y>h{ 7iO=JGSja*cx4L(1Yv(;&;{Igu;۶ /d.ڝMLoN^|mG?.&DRa56vuEBbSml}ՕsW- =6N?h]wmq94AkMLPS_m|#H$dO?>9G31VU :2~AJ:,jo}O^oҴn^ºººººººººººNa]uAZ61\krqch_V/%_G㮓2^*dXx"RY">GS=\ +X8.@\@D< :?9A|}A!􍎉+ӷ +P~ӑ(V1x] ߻þ +Gp^ ^.l.Ļ]JŤP$'r)LUb?D!(\Ǣ6Li}XӈjE2Dm8R"'0 tRTǨ #CLY.KX.\]Kbȴ*U>TojKțeúN=J1Px4#q;zF~IMCa!"5/L|wI]=ltU<;7{M5I`Ow vaT8 .£m7Ǯ^ݪj.qkL&.%;=RY`$l6ŶiC9*)%EN4'Z wK!SY +$=}]b,DcWVKC . RҘTR3(\`U(z$Jon:6%9b5UĔoMc"@`F>܈2,e<Ur[xbM̺w)Rݤ+ }A/+\kզ ` BZ3;zgAkEǂS\b'Ы#ܓbN[lŗmbk/ +ʻ|Mlрcƪ%gTM1Ë&\T[˝o\/j feDp/i08X1 +bq"A$ڇ$wwx!:ƭ\IgbKǢ>Bǂ9(]Gj"E]I¨HJEGṢZbEJvK՝Tkg_ +SՖT;q9b ƄWֽ\ricPo\z}Og1^$'䅓zDoRN$lj5J8e#KI ?4SCLXRkiXڣsWS)/TCyi[Y+I\ f+/ӹ[+<ރȀGE ܫN.0dGJ ܴP91oGb/0xEn81tL8(G$E$ rH4tJ^KBA Pce]0+sJطMm+_)t;_.qVS.Ky⨗‡"di%>,Kh_79BQ&\qXEM<)c$E>\E,+K'X!W,^m6F*~meT&-HtAa,rUQxVrZT0(1ZCQ/!~Z_Z7|J{񾣄J?S$'j $-O/rUē+=.^I*jkPz-ރG׎l!ᯨ>(ľa_潛8\qXozY領F!֥8&abbq Qh0 +FX K:Zk/NqTwBׄev~.i"+Ӎ${7Z>1iZ$\F祽)&2TgJP}"+~0bE2Ziɚ1+S'd/UWf"TP8㴢>s!N;1z,:P",ª7sZ8~TN̹UBý eĿ[cȮޢaRy%?˨Jb sS5 έ E +G +'{$ZFӞ)=)x ^NP}%//OEAy~d$OwqunH%71Km +N(cosm\UqHw#m}c|.:T(*G/Q+ Q!2֋M7DΏd-3qu똝ƼvuZƭaXu)V5Ɲ2Dbjv;Vǩ] HsqU(=%4Ԅ?SgiI}./rbwJR?xӉ v6##)meE$i"(+^M5gCX֦Jj$I!f/ߋFGG"H:B\E ua:"ca\멉2 *~ss7|bތIWU$3R#"-Z#I,|DCP'GSڧ, SdKɜNJTT Y)z31%Te:Yh3c> +ls4HG2FteH%,K>{|c#((_h0>e?C>4vGkL#X[eDLF){6qQ[zAQm[JW{}7vMSRe\HR' A@0pۣ/aANJVfhdVWږ/tE5i!@]eһ_Zb:P`G[%YP2D(L'UlId6KV٦%#dʻ(ʅlF',&:\Ky)E"F1 gel$Mc +S+tZlL20J#ΓJ/*Ytm!^ί⸨ӥCeNoqajmYH fDh js>x&pgq#j7>t +TZVb8~B0QkLV@t=GS+ut$^Zep>/CnWO 8VO 8>%p|J)SǧO 8>%p|JX)SǧO 8>%p|J)SO'u[oniO)R8~vQ֪6.Z:ztr14~,gKR$Ct9F7S< +:lbcWYg)V欠=tgK.X2zH6!5c`R Fh.BnNIM+NeV.O9=ǴVrZ,`$E +KҌƴFB P@ .f^Xэ+A(d08Y_)1Le"/ "yY bq +Na&~G!KX&6nj@#9KC:ܗfT L +{C]/x +7z|WшWz{])g%n$?z3PakyCդ~i0Nž֊>wUzpT. 6zDK!D7X~I)Kڕ_M~:g1?!])c +a ,τ Sv°gU L]⡩p!G̷q W.q-|w[Ac1c)d"x.`WܺI9 9ybYRf"mLG>46%)6Tw \B)}t0)?J /(hI)dgDSK$[Q}n4B-(<hI&vd*`>++Nb;!>b{8U8b"}'}g׉ygL9{}%5q/;vifM+-+|T<(~?=|#bge:+;+wS#J 꺳~Z)33o0ɀm4=Lb ̉eji}TYMi9'3`YyV^R+lњ[Zq5>YOҦMg; U5#;ۺfϬԣJi.n?X{] +Q, EAU +59/Q[ĵ,H׊'\ mU+aXDKř1^*3sL_j,caRM/^0̓%c8׃atƕfδ8QV>4+*\k(i=b'VI9|b]<]>Y C#(BYj}TH6QUs!*)IX(1Ub!ĥOXRRE.T޳)2O#uL۪;&Y(LFld(duDHt|WӇ2G  J6WZ[N)XgH_ar q_=rt=,Z灆l}=G.țS&eog=mpb.6up7YK:4jfWiu⅞,k2UZ/ ڳT>Kbr;IZW^+$Rr UA6=lGcݚt޺v 8WI=Ď's r*rBBƙY hs9|OCY׸Hp<ߢY^t,IsŔؾ:s;uNWSs9} +4` [E24a>&xBL)Ͻ$|:Ebc}L,S{'c%y:iD9C @ۦQRц9c< PRu5޽jE?`%DJWMTYs)ZG%4H uR5nIzZqb7dcGeJP؞V=})}~3wUԆ︫kAuI1o0y#FH8azvRȟ 'ft3á}ȫE Wr.@uU}1Wo_]߽ٳR<-?$_]^Cry+ +׍2n+ٝ3fԴnB餷Gn@xcq;`szhf!Dl7б 3cdO7p~`u<_x 'pup\20]:^kc&5X <+aA7+0?v |@|LPe +b HQBx+7^ʷ4RLԉGƑ}4yl>A@.> ȟp$)ip[ldT^mKȷ)![{j~]eм pLENT fkgtNT+r05.@$\VtL9lPc`[5D!ARJ!xbkf8>qx4O[ U pLP 8fHvJ0c jbeu,,OAaO&61u?SR`c4#eHV&wn{Ăml0`tl1A6!x@²q ?L֙N`!G6*߀̍73Ճ?`7K~)dOye?͌@(=#u? uChy!$ ;&n 3@`ҐB1`#!)Z])A4-X 2/'^rb`IFTKcs\O k;H|\Fz0i󖛿͍HH=zA:tc# ~ +dk9spdȚ A02THդx@!u괙cjjfy/:XkK^HbˤI8`Sx7@Fw I %e'dVY@}D3,*xkcp e *~I 90CB"%' +dJM@0S8o :k"T +X @[ȡ@4{"O]Y#O*@J{,5?I"v!e| j5U0a:W2,l20!|b'uF>DxEFde DY8Ks55&X*312ukL!c# G* +2l!&Y@nPY2 K)M5N+j{"mSt0L.k I2>$D:!|?^H}&\K5p'~ +p#'ՊU`HR`1|?YO + r54Km1"A &oad!,1 84P6۷*ve +c0.bv3JjqK_> 5 IoyPz\OMupxOVЈ`ya A&GB| RJ(Y!1g4z9 ܊wqInOqyAP%+K҂L, +"~,ȭÔldvT-#;,G8hoB@"hXoRp0hRT(^&mE2e;Ёa!BMkQ7 (y(|-&I僒%2P,~<@xʍQ} +"&J*Ǵkg(PUKUXj*-暍$Aښz[r N-D"6q@#uMP 2S8N-(" Y؉sVEB0 90nƍVUIqƎ^y!o< 巒볎q +32h){OV> +@<s%hH$5jfNX67dRA E$슅HBRSI709xЖ^,z l@tF; xْUY`ME jjKr%p1VJ̈ nbRs#{lr4#c3r#ׇa2y6iD'@Jd6)c4 n +膧8qYcX}@U4DKǺm#DuZK=$ZK)h-dkm4)!Og}DN|)1=vV;Qvҏboå%h޾Ru%mg4$߸v$rkFZt{bttaZQ Z1pioq|ۑ| ]㳲dG)y8 X`038)M62R VaeH3PFڕcEZ/ux?s':bmd+l`+'VԼj%Y4BP8u8VDiBҒ6Aזq a 0AEn1dڸ^ NWw:zЎ n4.q^-9K`uc̶1`zu[T੉pMsPet[BsmqCnof>8H7'hm]s'}ִS601mĀfVaw`T0p^C^e8f=#61/XҝZ9X?u;]˧瞜~P6 Sh[&ɍeZWHYxN^{Yn:AK]ZzՓl9")T + q8fKh#¨(`hCCVX).%N%OPdEP.V):f;:NyJ6_"1o 65+Ș#?&@liN3i.D6l0"Lh$AvT0=.Dⱴ͔ @(y7jݡ@N^?yskpL7-)v caǍRk30"4/AȀϜ$uH-MwYR-hX#D8DSZVt T̛NPmf|dHZ;^$zDOr:-螸|@ȁMoH~3 lGH*7ӹ|AHCG&=.HEEoC6[y8nedr;F?V& +VP'N$I#dy[w *}fM~|jrN[`iz]W PL nDJիT8QnlӪdE*qp of$xD"P%Ff:.l:zXsDiV?S.b*`kd@|6ӫxǀ3K2Ш)mjv>)X!`US+w u23Fnέ [l?1+ʑNɌLgv$So֦&Z#m0v2t5hrmӮ۝@|&:{va:{:LތUY;9 ts8X$BKzWHzUZ{XDhqQ#:gQ֙ΙrK:guM'vs:g9u,fr'JLi|1Uߥw.OS0eΓUwYB SX'tNeRO։O?['wrmL:iu[JkNsǚ|r[#w>hxHk:ʾ5SW>z%hgO6j\_;Qv-Nm|t;W㻮7|;\])z7Um`*;褅ܪWWvҁv~ܝ4+_[N;o眾G\ۓם+};yi;uU~;YdL֍U ,#]ź L4}GkFVD0mb`"kM2oΜ(1YےmfT(j(yz`=F 3lɓ1iH43=e +{I>KFmwE9YbyZuZ#e(!x` 0v)SfWPN k1H'@cǠC#t /%砒@EL`Hg0+#nN[>IgL+8gܯ+΍ qD%nی?I)蔱v@(s}܉ww43xuNm0 q$b a%,E  O + ~C껁żQ`ڗVjS3WFqe&b``! \a kXZO1zhD`ɅPoocĞr$ٞ f768x7ǵB{~QmW+gʼn0ZHWK˔_tf#A5]k #l3S6xʖ.V0(y_"Ȍӌ]L +D,G ݃+ HI?AwMFёIs7|yʆr:C7Ntp$cOXP4jt䂶G4"[]wz,%,|?w1QH+3Qp-ү$`ޏFEt.cjg6 A73 `  rt6q4pt2IHyG4Ճ:L ! a{%"pFfAbsXyVVQm+Q-֯tbUiR䂂*Z[ imAu o$lCn(8F{'a t ,f vY,=kZHd&KIw EJGKɮ~@{4H1e삁DĈ ,>ѧc}-9uDan*)J?c2$؏݂`WΖLlbN$LˤRv ~503lx ȜPGaN.c9M]H](fJ>PzbYӝG3QyC]rqtG;h`fr" ?jE&-ZjPeý:V&j{jCOqڽI*,4u9A阃^==9HL.r_kXygOIԛfסDqx3!1H."51}P?g}-Of񱒁@g) c(7-qj`D\`, %_mgERAGB;ǐɼgDa2A- +?0CEy݃G?6fR6Qqt򒚍q)aVOgXJh1j%0Yt5Rv LS)ӷveń G_fdzr&R!Qxt Ah WzqhuUc}|K @lpWe&~x0sĐF2sA-:*抛fI%Q&)Qkb1 + u#5j01Gm Vf>Pt"ANTE9>9&ڒ:s^=ퟒuKHC1t@t{sz_9ȚCNY2fQBέ$cKo1Papꄅeg֊/֌kW(HƄy`S*ɷ `^@Y0W=;N{jp<ߘ셎:LHj4 $s +BgL t\3d>]E_Zp6@ pns :=,N5Plj-Qҧ"3K.ĭ SdbȸpPZ7135 \/ GEJ3] :%Zӥ +g ̤-bgdlY-s}@aETn4]BN$T'i)""ېe@fCWDTIYO4ǩDcRzУG2IP2Vp>MdlhS7QiD}+J7LI17,5kGƐ$4+EBm?? 2%r;]lun&C/@/:L֭ h4A>Wm AT[Z\?fh!Pia,"XtTM T2,Pl+aTI<5R͐C@9B;]P=w :j9)EBj4:sL&_n*E"s1A]CC?,1@ ++0yj蔄ƈDIZ8iz%5!-2[ +RطL{̪E򴈧[oTh46^`BґŨsV\śopK}UI +wL$p5=9kGB)vəȞs{5#9oCpT̲<y {Ij ' 5Ը#Ӫ3 5)Ԃ(' "!R= ȵy5#ݻ;Ύ4Uw\3,3.jrm#jR@ꙉRV?|)>bHDty55A]Hl;Pcl͜ԫ>c|:"ޜ-y0C,HEI\':S!`h Q3pAɟY׈fab< }21 K@1co𑈡AL&ڽ3 /0T`vڏGx~:p#UK;#Y&:Nk >kp %SX +rܣk@LZ{]A `W:chy&%Ә{0hŠ{s$2 -b \`MJLB񑱓Ó)jsDdY0h2Hs=JCgy{ab j3I|zG gN͐sxD62ɭyJkx>)Aj +8=$(4>M?%'j(<etPǓNIK1QX>9) =pVeGKIUi|NgUNJ6quV$ǓRoi(/E""ɠ*,))q[ +1uԅQ ;1Lx+|>GtNK|^ц*ե z=xP,BrI 6D/Ճ`lLQhLVd ;|ĄĪΌc\d,ܑ }9 2_7Q'4-Ńj,d}ɢΔ9PJ36J96t&sGvShR @M+j@-~iujvIB)5y0G60RJ-enTQܭ&ӦJq31=%㦶v2tc +{Y0g cxD֗10rLTDMיExDlc]vE1\b&d RB(]hOSFw0YRxogUx_h֢K :4RK(ՠ;LQ&XL1>%'56JA`I'p]9H°ФKj"2n*q(߃LP, +38U`(a5w*KKXBMô`WE3+$Ƙi٧ +D" +bTrQL `@x,R//`z1Wn*ciѠh +rGɞ.D$ N3TDC9^ͪnX`HMTr%sP$ۑd; +v\j(:Nr;,!MeT#",R΢V*"^'P0* bN3M2ĺ+.[֣|`h,Ktv*zOSO/o_Qb=cBq/& ]|%yJ>ݧab:R6kOPǥK&ft.l/$A=PL d{iT5$Tm ([3a۬]trg狉ـ*թd ;r:N]c*0a;ѝ+T +Y*7;7J>i nĐpQTVxpSi6LRHEJa1APSo.TNG;{;#kZwv,yIG5g',TYxe7BK6%-uu9rŠ !6uH$B90!s@ddaW w=cbdr41i["%O5JfaLX/80k5k~A2"䆈@Q*5+DV/evZ@~Yf0=S<1,3LXOyi5I0-ѹJc'ޅ s: jm&F h2ظ#M9J5eɈ{@#8UY ݙ>ʷr8JO"1&Q<3'Q#`}I$ dRIȤD*|ge:ܬ;6Ye@ OT2LySC R:&Jfג=IsV1$3YUcng ;vtEZ_ԮIx^Ɇ)F}3 +g\ְ0;/ ߩ4tQZ3Ϲ30tlJg#f:3)@R^V:UQ >"r^h=}VL+ƱZ&ɑ'Z&O_%-h)z{}}a9"u)2ĵٴz]M˕!KF,32%3y=Z~*PKOzҶto 9u"&sdgH1sJD]){q}/0Q|ʤ, +i {"0.}b$]DO7&%~u<'eɎ_rVFcTgvNRZ8.qhuG;fp=iLt]BՕ;2֤xM| cc׻\foX͖֦MIhSvQCiVG S>ik=~'YJ+$\WyS Z5j NVR赏MVs^S|v:iѩZMtڮpEn_wVoki{F^Swtn(sn5 Tc;X.zig30[:o5뇧tG3*#֬գ*v}FvvUܙ;Y;ԟ gHGkHP2tF՛E޶Wn`( Wob[ȖaAe AЗm![Z⦅#NŎsE6)ZG'*32bŶ)cCvvC8߼!B:D },CuB=J7?b sJp ;qkq !tl,#{`ƚH&fJJ%1y961:/Rs#%W,xٜN覘+I _4b ֥ vW fHY,^̐U)3.VdfTSAg@B(b-i`% %[j_\ ȫh0R_d^ %HP P e)5 _ ڀ}_ xPPPOPu9:@C9;x/sKB}@Y ="d|٣ ٙ{QN=.Q3[b +r7h.Kc/3hh 听FfH4-!`D=/e +g%Ř;|3E|,Iuj{M05 +Aj&&Є*w.9%&۽L +!s0>ot)r?ܬ˳ j|ˆl1s?7l6SxWo9n|!R-Ǒ#b=lm!$TL@&Isd,,՟"J@]l:|QMɴxF2[Qb +Ȱ['}xFB|B\Ea]g凗)!hyuU,yS+VYX@2&z D!V *{x쫝c7 /Sz%ُLy~.D=K=<3W^z?lVZy{3Ž64:c?{ŋ>bF<{8ؼXA tʏHݕ-ty㍈`'MOd6+=ŵP 3TeV礲#Y@M$;JXYSSr݈, u66js_Ǒ&i[5HГhLAǂ=)L;[tI`[mL, + suzZC?*X( fgF38 8d1.}xNZ&03V/c˾p/Auư^,~2acWWb(0SRH-^lW|ByEy@</5<_#,IZa9g6LNq?̤q_-iYrg>^S⡆̼Je 2l`i{-i7+g(ΣOHsKb+!STv,dPx+,[E^"T1utV[zv{@Hq,Y̧#Qlɭ7 VuBd`eԩ?CIȌ_A +8I; vRUmaYw.%R]? *bj܈(XA.vXsf`%b'3"Mm?4,`;TY[h5hVͤ\,iūVXrEgbԟr_JEpG+E"|~Dh0 ++־Oy =J\ +Y*.0W"V0KU~+pv3^X˿!Z2]_ >f^X`lrW`W{wWݬd_~?W~Wӻ72fvšBtF6jŬH6㳡K!( mKt/{ +J ) gt4SîY`_N? 0ޗ&~iBi]{V;?\ #[rA`l0f_Faڅ *2Ts7g+ ymk\攨:}6󖜁mCb!&{׍U|<-uLVCi@ 1I6*vyg'h] 1w, +)F/^v-[->VrQ8wP+VѻysoG +8YYr]Aک2g ?BNCyDhN<9%EB b*0mQ8`U18$hKLYƜKAe5xe݌ +,VV}+JD.88AeW]/xb'gWϭt@6Ks ;u7R&!~8Ezwbl!G= +;e"!ϐ|Me~!ێ! @0{ +/|eݶZ@]?tMQRI0CzLr2hX*&!l Ev( Gĩ0m%Aމ [cE-}%*댼r8l0ː lޭ٬wC +`n̕ eK>Q2%ŘsyA/ rCo< 6|2m;&:-66mܪc4YnםIZI3A#).8jר +thr9|fÛAq/q{DL"Z-rIu3fYС]ݎ@6d  Tku=-A ~A ]ƌG|ҷ-@ЎsEF-zU߿cC6Ϝt`E|g_ԇ"عmlDCmGdӢe|_ 0iENm~EP&ڡ=S'C`,ȕN ~ώMdP[Q=he)Оa*g>n^5#+<`+ ^Ԃ=<ՆY F +~daB=@Q8pBޙ"/l{XdSaP'27cم%43pmwQؑSh7 ~]pL0YG+΂&"D +%*+QL +hWn>=~V#W9faخh۫e}F qxoa/ZXƾrHB8_r*2e>ڵAbVjYu`7 +*)<0"8D`?e/ 1V*8-6-CՆTdL(!4E7&/=b[G-Ӷb% +eoD=7HMR䟲zHUf$8Z ٚȻggm!EUlgSETjOmgtk77MjMؚ/tvhnb8vքt@6hK3!{ EK&KGڵjQg ;bkb> <]N(PW*cToewQI$Ai+9+a78rܨ.CLUj}!fkhD_Q zpQ}$]O﹙mkV"6.fa* +0-ɵ/9yoN 6@e!KbPyuRCfB>] +VPdU-Ω02&a9Kx?I_ܡ~JZцT "^ln@Q| /Ά~ik%s΋C̔혏cU-SRk}= +Rg6 PEjiL3!a{aZu20Xtªۣ=&>}DX0T)GVf12.hrh$M[mQHyή'}6ӡq޵pm6*ll#3t٢nhYV׀78ۂ-I9vhH$!罳0s7IK ҏWUzfQ5eC J<9@;)ETetn5Ktk yCF uIϮ%W+>)hmWRo+Ub |)gvPCs"$4w}7@Nj/+#7C B /uE2ځjhZ4CE^GwIBM@փϺ8Ye|p2\R_FkԋLYe4)<`w;xW[W5;fcj|hznDso0(D_KZu_Zuۮ1>ۛfn탵6PA`msTq+H|(I@\i=Us(M0UF7L7sQ7prdޕkbG\,{wOѲ!f/BEޡ)rpe7֍v݈[9C|ka90) J[BxnޕRhp;8F :C{^E@6܌7K~:>O/yح-ł&[ 6{?DNah8Xnf`[հ;Я@oIw iBg'acwD QTrޜbXZqh84Y'O>:DZ0?C!U;wP 3Ĭ ):) &m34xAi{A <\Ps$1ȹ;Dw5+:&X1nM SJ|fޓx3#j9TqSDt>W<鴘ԽwX^ -z5&Qc{MUf{g!݀)k{ȶ9~.ߺ%E\yW>1Ը@_؉xTh-.|lj~6 8.b;qPMQe~ўfٔU`#ֆ1R~ HN + {aD+u7"3g-`57zoPA?hGJ*d8 ٙW@K.*6#}|Nl)8M4@O R>P3W nzt+xDL*h; |BQEo!!]4(\|m*Qe9DKKE9be]glМ**)v6owl7LjN[Lx8޶!7)͑cZ XI:W;0G s\7?h̒#*b.(DEXnٜmJ@)a9_4 qԔTq`n|O9M +(OeNX$Kov'| Z1 W|r1~:y@A1wC))Yi0 qbαWǫJֱrP&[H\@̴B@\ppnژzQ99sp"KfNj +ƚ7ul WB j' +7BTkRěKoSF=*Ue$ +,c<*( ^@-Bu3~J~1L\tP8S[(U$`GXpV usY & IۢʎP 8kJ^|\f + hN\!NZ%V/ Y Cs ov\!rPjЖ2ӂ߲{m;U Ƶޮ:xȡ&":9OLPThȹAy1mi4sB-tb=˩;ljCW>2g67q&=P#|]C"hnbkV$ +1*!\omTSj\aRt @oʣ@(rEYV)46'j+6]|ߛ -*`1ޱK'6^ e ϻM8u+LA 1ly`ntV[Jtr] m{'yB˔sqŞ䦄]b :7+z}OnnDn#bfz(tý+/ 3 +Ϡ$R2a "7.֧ 7q H$ɫH 6"Z 蘥 +(N6&,x@]? {p +' +h F+x![E 1AaEŭÓ q΅ !R40h^S\G +"ր Kf3[`!W`<"_CB0! Xuvs!QW,3xٜ:^uu9p@g<|qٔy(Lu%! PֈhUyġfB}&  =a*!T`\u#U0X1WlF!u-LB^8 8*їP 3s]3a'Z(U&uyhy0-Uu=LJ}al$kB"ѭF$ K\7oDahĩĩm~1P۔xXzZmN02\@עQ }Q?,.Dƈ:iat%4cayCeS5*?0G80 %qE3)Ozet3z_=9wWv}XF5o6+>vT,TZMx3sc;< ^vn OxIs~3z n% !lmDgFd#8:>T֣,:UgI/hl3j + `4C*PN ;v)xD7ș~\dmB.$[7_16|c?!L·5+.E'a³GS=0LcXz ^KLӢ# O?L]=]g'^W&ή+о&âФ|/ՔKӣY[ E:ƛ|0NJM@ni4=o;:6Nqڿpr [,eҍ1&a] +Ǐpq#7q ՛rglځ 6A0HƞfF^,Q! e-B_\/$XGx;WB8IT/fΈ;pr6Lۮ-I)KFpT +`>eJ\]…UdC4eJUՈmS=| +llKCvBt?z9lъZM.Kׄ ʈ߀tMY ;КI @<&9!)s228M8lٲ.#xqϷ5GR 7inl!6Uh^g*Br)=I(jls(],^.keg|cp,^>C<؝QWI ]/lv Nf'y?-jnWZ ( Qf ޡTg g=s;iypy{4 p9j OYmu( /pa6&k P9tG2Ҳ/a w)]M:]PޠNvIkI1< 5@ &},zi'Lvi[7J# U !a ?Pژg} Pd,-`"Na?ڷsOmEU2[Xv*J,ouc{JW: z $d#:S'KsHVfDN|x#Ќ9t=y'1(L3N|g' ۘͥ}+,2&pZMҩUEA1I5zon7+|>0GXPcXmOD5!DC +CMcvs:z/bϫP&FS(M)ݶ!c0V̸G%n~tm!W4ݠ_8k=IPPM&ȲzGw`w8av.TgK\v^Hϙ&m}kg VV }Y<%T*OM/Vܤh67Cw MT0f>z,ӤM(繗GņlvH|8_LҊr{y} ttxX}^Ώ)}_Lf hc]$by52)SYlH>@)n"b'$&[_;|3\bp/>crUOQR{^B3ˮԴzgk|=Izcnk&3dzM^){ּ]8.QHn=m~fH/:"-N|Ɵg F\3paDSlѤϛvҭ<:U$WEKn"A!yHb,"cو _dbu('5f5-^O8D $ƄhmK@ɒ9cX׽ QEL|CWA XWyEUbbm򡝃(=+Bes1d)Vv*p@kʜRLl[ k\X +d*{lչc~.e> %#auGBd}"9i!D%DjV]Kc,H]'_*mcMT'b`[v%Ѥ yZp藮[xs^35~Y<Qm @ֽPU.e z[2|vwl~O3{/*AK9RE v84_.TOUdu=ٚa,-O`ax}_ ?ٶdf?h,G; l5R~b{9AvN1A LV}TYe4w5`sE:aY*mtʕQsnfNv,\^4FtS>N],C^/|КA@kW-|QDcq=C},e섟sϯ\"gŸ0-|ABP3[]85۪";+mIIUS#5g+<QC4^9sDϓٿc[D'd~_85Уo^ D̄f44kgV)= +\ۙ1Cqvi$Eg-<ۣeG͎ ڳ+\iKK,NPc.o_[_!1Ya&e]y1KN`ޗxmi7N 2Y,9`F.6:Ge<- RSp4[thA7]:R)= F[UUВ4ђS4qEYsx'm?5 +Όl^sUսt ibY͘@Yt6>BB q $$ۚs" +90lJFL7p^]lKWISȾf~r_ 3Rbck<6&)Mdd g<`]`w”pc|80#~88*"4(S'wC,.11Mz'qآhegYJ mV -9,v3W-h񾤻a3u쾺QM lͤ#ikY=;Hem +frz ONN8 ( a*Y>Mh5 +l3CGn 1 +iEioX!8(3~Neu撿<`T%ATcGy<.,Sdi$Ef!u^ {9%vƯa‡5ZhasssuC%wɺDUyōf Ct$ֿB柪 fx *oCV:R(i˧DoQߝV-}5c/xapNR͠g[rwfN賝$m<ՠ^W6MT sEەՎ!qJxه +1Z [ i Dh4tt> syuB>GXW!W{f[f /#BM2;(&Z;;1AW/r&2hJ +saTWTE\g}~ZbH&ƐvRE9 eLC. !$L(kaa BD#z +ď5"?KADм^:Ec+ &zTdDB3?-'xHX-W ݢS;uրSHƬyĠna1k3]ۻ T"sրri4 ; &̬%t``G}$nUuB;6e|Ro:\ztzLrB{J,FEaдؖ>S砭`;̚ed>Tܐ_=e3菉aH:Z#U_p-!#u!ޡ~ +\꧓ +C@>́IZNMDͥY-4JmӾeN^fZ!qe&pP+H*-@&BPs-d)o"QDU@| oHD٨C4HP$niÇkHXйTm"m~ps) ʉ拉Yh0԰XpQy=|̧Jb82<q́5i1]0u xsv9yvN,b;+f@1 X!2xaHgq⛟<@+ *?c}"88]@G˒@ $ZfDo*32!-4 +DI/6`fL5IYhN>>!t[7apnkpB%Bh҇1u'΅d")Bͽs_<5^ۨ["MAkeւ_;}Dq2Gδǖ9wڐܨ1s9/׆[6|(52@Gb9 "}3( +0s\@=sHSՋ9O["H$J3w,ˆdrM}3q"BUq 4ho<0}z: +S *{x!duܖ+U;Mf\_Sħ^X};j41pv8)ld(,{?sђ$H3̾{.-:}6X EM`@ `W 10ߡ10C4uy+%ƀ1E΀nJHrz^4Q 5 v H(CE ,tvvڂEԛpPLeY]py*vu9tv :c@I˝)ys [ҦT3 2)?]"_W?`$&}yXB?qJf۩~YڎFn`)E  +Ec Yl ,81@rMZA"PB_L,d"m# o7)yr_fzH,QU|G 1i$b=?U˰^]`I]+`jxpՃ +e"];; +=AA~p}c%Y;X$$FvG}tl{hkRpTg&斤!!h QIlzF\@0Kv ;6iO C c>l[Gcu=5H0\O@w-BV8/ $He74fa(i׶SR(2653T^ +:*БPQe*]^]@Rm..ILY7J.&LP(g0<9܁E!٠.tm?RtCr_"G+6eCT^QaB =:XulBޖ>~)pUb~2~ Bs k6P$daN.tJpʬ`Ž +UY'̐GlfO1ԋt'b lf;B ,Wœ$(FWbYZ:@oSQe@|7éhpbo +w{p"ZjJGh#w3P;k Ʉssl՟_YjRɷBm+8d2Y\IC?`] +fޥB#w@!D,59~`aqfOt|E2/BskCr0mk@_Qj؂,Mmi\puCЍU2g͆h]U;9b^0 &qf4I "` V3 +Ҡ1u=Mr*)9eIa3{~TVI^ +B?^ˉ0lj_U/M3c8MM51b'N~xt>$|2F]O˽Kia@NW+I6LJ|JR X53z .D>əpQ[9V9 2+Z al ȍ{"͙*39>B8$FK^@n#Fp7Ic!77A نg~nƕ, +IBEܫ#xA޿r1?+lkljx4F!›,h{g_o^ l!?h찮'nÎ"soQ+V}^:-[MڍMʔX4`&f͏ƋR NC++C,fQDʥ4XWo=\,dX,'2ԉUYzB F{~ϋ-`w ܞ +-tP6Rзk 52R@XN@f*K`( +3[LGQ]Cx;mhql%^o4!B 1m/ABrrh&^TbWj,MXF3d͵Lv؛c$sTiZM!)$ka45M̳#\\ U 0T$T]yWppEQ)s7sFGD;ǹ-NyFZn@UotV˖BfUW#;љ0+;$1lJ0Z3>=X"sY>FdEv 톺b'N 48|L㻔{="8hZ8Ks{&GPGhTV/2-EjXa@ +_3~j&žmzlBΑ/'A `ww7r5 hy7fN02@rHI1,0=!m²b(pм$T; i݈F ٽ1rC1dz #y,R $Y!S9/2]!ޜ*vv+~" +u)Yb{4'GO  fQ쵦:,*-C4%՝G,p<{鑒>eoj#ZƤ[pfG,&>E"Y$2+M&~'x*S3f X*K"MT/a?p/逋t٫nD\)5NCjٱ`>L.*}&>Dv8tsW?$TU%ySwƣ[b4 -73Wx9;zbDDH`W>Hkh+!m{s4UnA<\a\;br;McfwmT缹c@| %e?^rԖ{ĠYzW"m)A4 \xΨSCI&^m3o); +s O_RW #śd<y\J&Sû47 4oQ(PpjG@u%8 ,QP + +W)L3,Pq,_)F+ ceqcɐvGLޗ\:c.s1ɬӴM(yPR ?O%08Ja*_3KqyKqlj.ce=FS1y%V˓)8bCP^-p'^خ`>_CM5p7|88XL,|@u,H|\4wen] pyjdK-r{nīUhO +Y8Ar*'-Wo1!'Bjx}*^W$|7i $+YE6D= (6{ƏKnW9fVRcuȁ.;o,44]y¼` K!Ї/BBOLxvpzp'K0R$;A|QW&|M\ɬ}Q7+*uh_ /E"ٹǣ$fYs}Rc]||럗f9&=Dd'o}<B)CjO9~>|ǁѬY.C%"T(\,; a"Y%}cn.HÍھ`GBF9P ,TY ,Q`Ut`]uDm0kc M״ۜYTu!;#FSp[t&t~`Y |dYcjY:9nTÐXF4,Y} 5[iPlA} 5[i!l A`+Jg4 Bf+ "!HJ?>$_?'L'i 9Ly!} %H{k>Icٽas vg$, 06}Y;|c޵/ӅU͟Xllo1W1Z y Y4G#hhoKZdS9k[5X0"ܜ[u˖> wof>/Tb ~ {S(wdBaU/b}WO4_Sx6>NlV~A?5!crXfr]_2"C| L h%ÔMLmPH׏QH~ҽUޘ1/h>#2Z$#g1%{"|3#2V]phT^-UfYW"HBRG=GnεmlV̗`T4ol0r !'RY-;?0xɛEy_J_J_ Jk<_<;Jk'< R +K'xKyNp >0Hy}` 0zg<0jyξ0jyN0Jy.}a}a=]\(9(9¨QsQs^]d GrYbgZH>fa0ꠇwb]Wt$%К5F>_}~$\R3ZJ++|A=z=K=: T&O'.t+У3(演էJZ nD塚tP$1jZxmw_,Y9@7_bAF=arCǭa&q!CGGrdW2t֙;N>dꐝIs!CW9e1Mej?E :,v[Za& X4j縕BW4vm'9:\vq//|( G| Мd%-ZWw ]Ҟ .H%:C+ߣŷ34߃C/}:*QvK~\+w%K^M.zfAf4xC̕-eE8&paPRS^LyKkwv!Cӹwn+@OA7K~xƜ<*f̸r:$ Sف\eH63c2)$y}jZ!GvBݛ4-dp&SREIOJC̮jf fz '%T\rc;[O8OD= + + cPBmRd[72BgX-$;Aבw:G?Tnk.?˘f2<ݏ r/N N;<dsFab+ i;Ż$5QL†a׎!<_+7o0Lv,6(}/6ш8eWPGoͩgxu.ww$ _ˊuC;Ix?5nw/;XBҼE*1"/ᆽVb\,^8 1ML{ScfcX%1ysχCn V"r_K03HeΌ`yGNځVW5D\t-jB_$z? NB/5;*XŠܻɊwOmhwd| ;~jHGdx7MEQyje:/B)M{m^0/*LGG5!n Uz_ʄ{`9pBC:qlTj A "ҵR8y1 ) 9r_+=;\}G +`x6 loIjG_g*'mG?ϟw?,{qArćp*3`yKɼ/͊N R cy!QƄ""C cWZDiҔ)I巫OOcAECf̻&13yJ>rۅNճ +ЅBu*^&:p锒OaO@&gƼ7>E/tm㺷\ORD.* ؽʌ9ݔiACk[+*gRSTiZyU:cPDIK870yq6[@#& + sg +sv9åg,ЪbAޑթxB]]xdYͧC%D$7¡B;K#t ۬6cIb_RqAΉ!CT"WHv[?=]*5V.HЧ[e̽0 80hy(ZAH3vqeH*IRdvL$ro1XRAs bRh[虒{\/G {6c7S]Vw~R4Np81-Tp:]4Ckcyw@KN{vӊt"HYQR{>-3g_W]XŎW8p@\߃~*ED +K!XaM9U9Pa>\ HiŚ/eZm0lCQ= 8sT(2R Y?k" kU`ǒʠohfr>ne?o?KDviQen)B9Х!bPqi׎n'" ˑoKhsGsNax] |tƑtql)]% XzTc6QCmSSzJWwwqVAWk2Ým!Cc3SdäCļw<;lnly7Q6+6 IӔmn*Q;3 "۝Lke̻>z5đ^ؖsc+)gwE%s-D ;!C3}RIIQ!_\Q},O<"mij݇ v{zGVπkdח/<\l (*p6<4e/x +L.cb.J+vg 9BǨ#:{;0 {V ÝjXzPHN~([E,qcG&6ΙPIwP_TD;k-#\'7(VIEnP9O)cH$ANFt7{,qY:  NwRSE3l.6N.?VepQHNGIc +o_^fH^s$DHHh|Q DZ|YvJ+$QpM)7Rw;LFߕ6U!N'd7ikTSVGwWdm.f +d4Ib6"&N)ZDGfݚ6\qTѰ;-\6?2oPmZWA`[wq#P$jBu;Ҏ_TQ?9f +!,2M" +/0\a/λ 5 _=e0{Ŷ˯D]b&з GVGWF::f:|vTZPQŭs쳤!Q^7\RhTXi6U:56[MTt>ѱ玉^|QAW nUm&AM +fzLyQU}Cm_J+`WLn5q,*7٧xř<Ø!а("%8 {(r$IC XvUsb"陹ޖ!8yV\rɮ~79s~Q`˸@٨c%M+VjAw"3`œsֶ!TEl$4+r2.D1էHUfqٲ +P]CG,MVċG!<_jnC __ jvp@RN1,I#:RCW|Qkȷf0omۧ92ϒXn:0rݮIO RGu*hSNӇ"q+c*OWl_gYF˫v ?wvƪ[M !:5pz&[h|f,<*oO 1e9+Kؒ{1Q#pUЮ5;i@kb&Zd^#rŽǻᦈ6Bnx{6t&]`ݙʺF!h`ӽ)pM}4G2l$Wx{I7n3Iq:DHL$(poU^gxu4lB  b 9@V = dbN'C~cMhA"]Qcpʓ]Q +QyCL3kQ59x Vɸ  e@.tst[3}Q}E £Ru=0 {9 * rM|QgW!~%3$e{mkx\hs'sJB~kk{D\Wd=3 +A hc} n'd:_r1H$;8rcYC320sд ` Br!bA@xwj*5Edaۨs%clGPwT'}aAs-ڍOyH +=[(Ґ4񠠮vw5#MS7PU5pvU`-a.&ZWE':3T˟.Q! URlrBy~WYA@o+#U|Wl)tb@(!j.3=+`U}Z}ԫXΌiǏ|*Ciܾ +mЪ*zsVW~FQ_bZ 2R0`MqY=bPJVyBh`&B +6\Æ2s@}jg:j +1rC򰱠e'זB}flev@e8wX립d;;};enpTM&^ڵYLU +`S *_xNa~Ra`{H܌LͨEsC+LbTᲰ_X)PeaƂ E_z2c&`C%gL+Br=X;֤{] +`P +框q\b^e_W?T!UyaH\P Czlk#TǺBB:\%0.tQP(0j5E@Z8QhAđyG\2Ȯ^DCgLV.ĪyE'B5X +NƮ,0hTĖ='1^4 ]bJA)}`vyk7BdK/aͽC:|wqż,L'lZi@ iX4SY(~_x|$7*נݑ6b"S6.zO#[a4[_ M>| ߟϙTX=ٖ_ɨ7کb!i]x >SR?_`ᨰoP)ؑiFeqyx[hXKQ`Kqʡ|^vx}{- Hq't힐RMI2}.yVҫY}!'[rm|NbדZl.q'՗^>Fx>?,'-ْ̼мE,.( 5¯&5aX~"@Uc((xc'PIēdq=]3M'"1YiP]C 5b?xݫ&t-F;"`J-SJER%\+$r +CI=|Cz@ rm@I@A-.jQY!S6ASa/jXA*!4$!җ +tpHƨZ֖&'(H@2%0W@h\K&i>d^"=-A9p+Q^zl zmL#M_-6'ŹЕ 7%|YҰJwY + 7A9h= 7Z˙Y +J@&ibk bc:>k}ܙ033P˫CR\yp*! k%mY t([m(Ӆ4KNͰ4RDz۵P Wphئ$pG"|d(Hmh'EY21/WDL N'ڝuIڽVY#zzӡA+S јp@k +0+H3bo@,cI2iqMn`3Kg +fZENjf[´=E}-j<}X)|Gj~)ͅa!=tf:H(e ABOE3 HFyɢB}OmqM i7qgة!ѓTwB}!bEEI}fi_5O7OyLX8HxNqˎ&[6:0b\MD*ĩ'9_O_j&dip\`99 + +}C YAԵvF&J5k>: _?nE+xG ?8fl- D~oW?"DpyC #S݈<^D|PCh\>2P.zԹl]5=RIԙB?d), #h! 4cZ]<֛7ȥ:)؞{44.dK2QsJ +5FzU4{Y*So[^Fh=.OF^ -umq$'uvYzH.tIј/N C>H[/P\"Gq-;^&4-2^`3 '`W!7Bx0$ąpyq/eM3 +!J<^"s$ <,yOfD$T}^f8Ic(-) yKCRWG=r_(Jfa .=er9؞ϙʶyh(ɜf4Ca{>>u r۴lxsvۍs`3"#.?49To4I7Zx9O**O1LoI9vr0]ZNUG +Ea_$,*cUs,H;s# +0v FK]FHZEa0 +?XnLߟ/cͩ?cqW7\F=÷/_ꚅKjy[bi-a,dU kv!>/vMf$_ +6P&$>-wvs ś٫SQTW3EyQiV2:Xº2,5@]ĚߏP(G/"fikWJ5u: {zlMۯ~s5b{khL.:ngxa'1تl]x:-jksh46w<ҳU'?b'}ͯ~?7O槸y-MAϽ¥fv+ 3ɈB[ \qMU6F$,"hQDr,:W0qES5PXB!f?M=-yL[ +kk͒׽ʺ x\u)n6 W IL6!S1"sf+s1+32;NP2 ςkp)ՎK_6ױ6V- 3\"# D6ɚl)d#e7c,iܳuM5Zհ +WO}l[il +m*zq+V紼m嘠Tfހu)1 z#׺=Ɛ=S->Fx;DwW#~C[$iju{༐|>yS~?"w}WPk|\eأ'Ea/)L=쵱Ft}W:}l&A6QvSE" \/eDD#+zF݊ +6d9z40Î@h?sOaL&ZKa~&`|Q!N 01%g!5;5{:&{LMg"4r HdDE]eXStq&-36޻i zQMr`F15R +q +?Yzc- )}R)~ f{Ud8f3jq ߍ0ڊfNIQx]we$ Tvɏi%Rze"rK8ssB6KnJi#d%e͟SrU^xD}Wo nH Zuݨ&!9)!{tv,Hgrm鹦Y5k }D ʑ|A#֭)Dd{ιi?z:G9#GF.ǽ,9ޛ3M2DHʆ#ot2mv'J4w0vI\n1tU2Im=%P2\1ƙ+EdZ?OE0Ry0Qx=Q7RZSMW&v$hE>G(,(=g%ys : +{'q B"#gAB§5 ={FCrܵ0Y?ҝ6 +d/t"\NS7w4zכ+(WfxUex{WrP$@  0n1/DMCGh;ja1^kA9܅0^ڻӡaS:<=xy )k9g8șVgAn9Ĕ҉MŪŖ $Ub.`'}+< +="ԠD`T"񳲷#XV2:yĚؓ1 YUF*a\Cba__<8Nw(6~GM"C>oQ̆D 'T~a|b^/]g<}J1<q r%tuN,/ 1[퓽gG]c5Z8Ғ!'3y,mS5Z#*e ^ϧs03էacq +;p UcZ,_GjT1zOU j0LY$k SRwzTXJD yly<tfI.2j]$G}*eMd- lj+4+r@F`w~FIJWf^pSvMyUgOж@ih㝀?;I+MqWelP(~q09(T!uԸ:[3p<y>k%Ry "?r}x)sUs -Uqn*g40\Yu1mS +^&"Ryo"Y7;@z؀6Y1ňl`b)yOF{vCћj%hauy^Ytig c**5N +აagFp~8qb.*Jkϥ$.6g@6@ǩ|S˓gLq/ZPFJ_twHZp11Ӂ йN$>{-@^j2]IS8Bf?(|ߴ˸k<|wS +(FQgbh<\I#v_xYʓSC y\㽷pS {}t0 .&>.|ONb]m͠haM=?vbՎ+K!0;gR@}0(LF@6#Od0rS)wwc؂p97}*՛e!b7$?JsYD9naaw|4"ީn!VZ{N3T*́ ێ穽.r,˨ӱE:Ϝ$yRhXhF`3vsϟ\w# VIpqWz}25:$ըUS!Ki +jU~~I+bj:̱Ǵ4@Hi~&PËFh6ˠi~a u8'9.vh8ݴiC:O0cxwJĿkK|%̎ _ԻaϙSֿvYȜ/p's㷭d w.4o)"@T8S)}NAzeߋ7Fq?Spn*GB~!ky% +V=b)B+Nf{}6fz(\A- =Ep̮rΟ[?{k2PQ\vlGnTq$ŁCɧ5Nb fTЌ6/$=̙;,םTL[in<6yܔ1}0}ON] J\z?9` A.VE̜ʑؒ6fBhEyD 9U*= xg2g1x3@mncfb8cJEBeLhMI\&8uXٵΕ*) "n,CO_#ڙ?"Yl!NM~L= h tvW]H*F6(9; =cpiUuuZ03%_ eFUtNOYII4Pg_JpH6ɵ?W,Ԝ<Ʋd]K|؃iVTQˢvX +f$C8 PL]u5Ĩҏ;/H[hgZ" Tjɝ xgD'bt:(dY&Q"raɩO65?qu띪H`"C딐udM=/Ŷ[cj \ҘnyQ''v W  \" ;[J̫??(dkIUS'4s*WPnLF?*流4]ލ'(Ϻ"RHR3zLYѕe/y2Tj+˾ 0?u!E@Dl 1>WnI^S~pPp`Da^:oY VHNf>SH}[?obHf9 TJL"Z&Oԇ<Э!Pj[ uZjT׸=3ܐjd~1qij"D2+j8@L{i"u:! +ToDz#q.;D<&. 9 :p;@2>n,v/l*B-=A"#כrФ"~/#W:"oҕ +ef{7t^omaU>3B) W<2aw6DkSM[<eWEm{HZ?_DuL:Q;ȵ^HP7(у đZSwQSفc\Y;I\|_oPwk'̤5㹫n}k"'--T~Lҙ~jw˘Z8,u$C$CN~6ΞF|ϫl&~qbFlDU{|:@k)$8?DTx+ᩧǛxQ'󉗧mv؍`+|A6I|1}d(S@+Mz|)g;}LၘgŠ0*Cg.s%Xxzx8y&?E5 bҺSP24ǡgm!ٍR-" bܥM4Wy"~.=Ώ{u3ÔShҺ-޵!_-@oxuADvu&=a ǽD% hƗJi0Kb_ 7' DTG]Ng@Pj:$(I)){=8 1* V~Ω "obv8D= Â0Ls加mmOF'8((g܄3$FB(3vs 8?Ĥz ]+mXDf"m0נGDl@_psܨY''p&s|z1H1WXJ:oғf?{(KVMzF׊@s(RNTdaqe|$E];J9p$G"lpCĐ"ݜNBd +N/1bЃs-nLf@XJlk): +&fqh@.\"?tnZ΂R5 }a{@:fbZ%āg׬$-Xc#M+uiZP0#64l/j1;PV> r%"t$6gtz`@שMWm(s8c^r<O(z~f +endstream endobj 73 0 obj <>stream +xe@',B + +f( O.w 8K"ǟwBgbb7cgJۯ:ރʸwI +g.uYʮ1ϵODۉPh4 wyAm87(Y4JH .oEd8+x02IRy6"jŁTVeJζ 6v+Bck^ǁeP|WבLXio2+*/eneRi,<((*GE2ė,}rqBrEoꮨC4;VXb;,°x59yrnU(67) {¯]1n 1?"ܚX#0'=IF2K'hIz[c=wj:Efd] XѲmtkM- GQ?=b*ʈt5 H  lX;T\N*NB0\uKL3E(FՒˑ.+TI7@M{tػY>7̩drntE?VZM<ijS, d-[X4᮲a>KI{DlPtP'vHd0*=shw/K@&`kA7`ạ(2lr}3|Ւ}7g"] cr?%]!ljqpU m;:RNūT8tzQ݅nGz;vdNi^@Rӳsgѳ4 F1UF#F<.GOGzc.12%%4%- g +TNY䦛<3v`N2H?e&*04(^Ls_e ʡH|}OڅYӼ덼(YSI;SO C32Gַ\Yb/5(P4jY:pǵdx5 +8" 0:N%R߱RJi^eRD[cj?׽ş(Gd O׿ +&ίDP-?;X@(]$p'B|òAvoR`߆Wepe{Z{EBtaMW7#k: /dv LlL511)b9%7*꠆0h;ۿ +7O Jv=d%Yy6ƐqВsn٠d4|i_ަ +S1ɣPHi?הU5"LހՔs%GׯMngYKOeF7wHYaMhHHYso|iA$Yt 9N2:Y#! _`F23=/KdG{Fפ7Q)CFT#8= h$=,$7b>3|(]K-.12"WAMjBg"1lGjwgFN[SڽI$cn<u7 + +#7\td}$6Fb;?L tFMpj>2i@8u.36LnGnW:`/iɺC5qV&L2_8f3// NUne&ibp@MA3sQ=5J ]/%_CUݐ $lmt? < '#D}-a5DIJFԷ^RۡjDCVW+̺EVj偎)|7SaAO2[v<('Ywۡ^&S +Ly]"I!2CNύ#T?<k4dzn> 'jf~!BZBJV^23 Q|~ d  ylM_6ϡcJXA1XXn@W=kJIT֙){>ݲ&ݳ\"_gEb"nZ+zuk|42J1)7D$9J)W\JEWu#{ +Bɞ5i/ +Ti.ClmFM(#lHYi٣6[Q!B@g#e@g=~Kؓ/;p. |'@0_+LdPh[ iٕt[bqI¹/%J)yf{1b([z@Mn'W&B*)]K?6BNh?e&Jh[ +xJ,HuT4>#VV>I%7":pؿݜPt31#Eռwqkj #rjrW0($_ o"A찅&aM =Ǔ! LIm'L4=81['lpOfQc&k-A$[k/B{~V.ʃ@$/SAPSD]ZK,)* y3Yr.,MV(O1"תhMlۑzhWqg< >``ZSg+P-]R.Ȇm~8FvG4;Yw8H4DO,]2xccȌOb/5bl +}'>wmbOiK dy=*+h HsbmRa1g=w;a$fuEu dX.nb ] 8 F} ۰.Z!V{K1'(W}o{P)U&x&ˋŦcB^)`79関u*b@. +&GG0TY.疳`;l-Va̭L %9Ovf; w?⤥  +6YvOO4hyecaز LtL 7"$Ͳ[`s$&fi-.tǡ*ك=ݎA-q. )>?^@Q)Oف\rE.OɓaT-jFK(=uz~o-bBg B!Ac;o$tBDV2P#Ơ#` @`0JGƒÉ m y%Nհa %ZR kݽ,:TƝ[t4}a@jWȭE<"Xt$E_I [Jn{D=cuvV0-G Q~ i-NznDnYL)MѰ”(Ѓ͏*.[q|*CQ\f`1.0z`vBx+Ou%Nx*1us8<%PҚ@ ^# JT b"q7$|—[pl51-s[I(aZ6IRvT^zXX3ChJ:}T<,N㄰61KppeIM}nVX,y@JFӔR8 8 X;IX;(%IjlǓ^%ʛE53B| +hTD)XQ 1n D!i6' #9cmՊ:mIЪ@Mͱkcݛۊ3n.*-@L€N>PBr#Zg½SKX0Nt!S/GIAldƛX9]J +o36*/Ediٖ)sF>  t]⪬)wsaHcdy +LN85OJSG{ЦX3U~:>o ?Kg h-3 Z\U[_o<TvVHPg=+. wԿؖOA;YژK[clYL&Zi\Qc+no%+kD1FCQYM!-`[g3Mk 6ZkpA !`JqūTٴ 24A +]Y/y>Z)5+RG%e $Yѹ80o-6MHLZ_yRHSM_B+3#WlCx*PrTI4|d׾?*W[X{PP L$loCbdagj&07E0Ȝo&>bFx> VG( ꉅdf3* +;ov\\D2_B(P?(HgXP5LD܇_ZQdNPo"L 6&5SsP6P*r,[yK2O +h?KjSqأdmw#H㛬wӆ|4_ܯCn!9x}&4paEm#\Zϭ-i<8Yg1RAҺGA'fԈl`Agi˜%Ӱ Ey#(ormtj2!whT'64c /ܷgb/S061G߯.|JZU=pJ$B,k+I2: u@V j7[7Z)~C CT[uEB؁Xi?P=%؀ Hf¶zmzw^S$$ǎ},$|v#풅y+SI $H vZosIv|;H_#!h +*52=:kz,@[M5zEz"*wFC8> +.qlq(QLe^$^P x=O4BrGQHpDd \jfb*t:CbhBm"r&[H;eV˧90< !}jq6vU>5]RĩuL0ǞJ[ߤ2@6K^ i8NG7d=5Z:"zכEQ1PuRoI 3`9UO1&eVҍ\t=Vbz!,e흍O gY ֦ˍ6IR4éF qyA*ʹ`S=g8) s #YpGT؊߻w0ߏt8*E}Ory^.gM8 çl0+CNu#̗G7}-ќ2WE#a4djf[1 H]ɋ,G$ $xY v1YaUHgsm6ZeSRt N6Bʚ|p Љ';0KB_H8T,L3]Txu昍B<p7YC yURrc%D<=g@Xw+og}|UE\{\◮Ǯ\٠zT>A}DR-3US×J"89_~/Z[+%2%:f/Ɛ<|Qc[-Žj~c,B M׏:G 2LoT={1BfA8g4ә bai;3QB:-% +VdP<nrx\w[.J<67ngN0 +@hP>zCTJ8 ~.s?c?P !>t wՏ.f` ki^d1Qg-{Sai_Ez偌9yn(Xcw,k;5yI/uI +5_Ơ#H*M#˵g7jWXp'ڙpB +$BMVĶ!z>"p<+\^o+Xw`%%)1 &BYVMkX1ƥ,]!Q"B+6 mڰ-%؞5L va2`]U +3|)5_2KfE4cT!' i s s137Ä}寧HU󜆟)Zo1+ ("@\mitR t3ݩ\ҔXw"ĶnVckYH8Gg6#͋Cê[?2ͼF@Tt},r{~^-{iBTIzAd`*pd2Oвk Mӭ뉫 (uiQ8kHZBˎ~uaMjJAndnV骃XCa yoh=䃞i '90Qk b +"!/Cn$PlG`,?Kä:4@%eY-V25.f|04½-@@X֑?ref4 Ŕ@а<#@b>F=HXG+0WLI-1=H Թ+tU-Z$/]^h!p}D\G29YY%a4CTcԢg̩gTJ{ +oS}OČҜ(~QEB<֫7/+6 Vo]ȡ%!ot"ow_뮨dJ*-jy7x4CC6cA`+ A=5`(j.I2 @Xiኧ]ZŐ"6T{=SHa m,/B_=|3#x ~q1Asb`wFkL${*G*C&|_JH9P"{kKEyuI+?]U;_կ3[׃OWLLaC$vp^ Z)!RX=$>h3jv/.ЦRʑ0ـScz2񽣃Vn 7Ҟ}D=vln̈5W$IҔyjnsjli%7.i$n9)i р +ccZ JΜ>q DUEXYJYae*f3z֐KO6{"ϔGk| @lVz&A6dUU BX)-݁=@eJT5fw=uC-!+Y׫ljk7*9C0ž٩Q!`%(%1BTtUW0l開~L7.)J0NߜOg/RXVQ4F2$JQ4R껕{&RmzSzĐVQy2t@mGvPFʜuXn ãZ oڊeG$/O#y9~t=m~տ/o; < +.>P۴{S{T%K)LUǖ_*/R!A3z,tA}uP6OD.YPl ]V_h K|zld^ܭ&&~ qF㓅͍*C1їQM޹OR3/7԰"P,*; )KU^0A/4uqZ0bJcLEO= + &d D.} +10V`iZdU +d4K*֫us:lPNw@`maN+VD0_kaK`=(!l1Rփq߈kCNWLWJ9w /)ӀX M| K=".=JY GWGV?FJ:Z\x>ϬQ&(&:ݰ?іDƪ= JqtV#t,-b*:5((Bb[,di!S}^IFIB#ZNxPLE/"][byz |4@xGxZ7nv+R%k +L䕠d([oaJ#&Xwi}Vvhg]?hӥA 7V_!tŞU1X4X(N>>*_{ DVoڠTe#2֣+̏+„ Z[o,>pǸ͸)l0Op%DJ@,ZX+•xC7kZ**L,5)Ƕ-B,h4 r<_^mGG1GV=ĩc֡iR{ +&{^k|SD:HUL48gPjPݵէa--]uļvXw-4Jn)@יrt6AO ;;\mmCd^z΃c>, &QtfsN-DTG8Vj4K{"#"qJӾӴ{9҈ 3R?~p ,J(' +HY1FvAċFd|Olk<8c⊨LQBb&X;4cWxEA&@P}'Reh}ϘMjQa],|}@"r7}Vt-@BD *ٔ~4#[42W>rVTrQ~{!0%ZuI;Ԛώn1}l-hel6ӞolsY^ā+̎`մ"JRł$ &[OX#rWMꅃfn++-uzSKݫwWgW; @4l*anKSND|1Œ8I 6( +L~vex~4L!_5::M8%>JN^w> m?*y_??-JkD*%Ȭ{" -! W: Υr7=}Ir6B8<4Ȿqpn ; +U֫Ch`A' CU? v1j%Z#@d*fFTrO/ceoT;EV|?n6˥{ +w^,A^?V"# +*</{B)9mwPTWE [0\'1nW6d{dGG69$\= +#azn?48}W%-$fL`gCI[!oZ0g +l(A\h~N 84U^-1!Q#:\.HZ@x2d^I6f@ Kpo"1mdi`ΝhOXTj&X"{~#s&!}4v"~oEFvCTTcـ96R}W5IiޫNpA+drXLܠA w{/7%eS>< r q]{m冲 ܞرn|W'<2d*ȦЕon;Sjy6˷A nJ)wcKt?U,3x4Ԟ2FlBۈ) Y|/!<?:Z0, *"9GX F.5F@9<l#s8Զ3]-V7(` 8Eq1m+y+>"_@(R{7&pWi|ܣAB NKA`ǔxx"mdw +\‡T''_,0񱗕B'`V*3{֏$tg}Z tI0ݗő0<}eҊG[iBv^T/}S땧\>Jh,cdwsm+d[2/D78mpTC F4)Wh4#}ʺQC..!*8%NGO.O.U۳^(~ d6+'BBuBJ67IɈ"&ѷ]L->ԗ~8йaxM{Ӳ}C +[JZ@;:mԂԫUl0g&eE);Ke7*+"hj(r=A=,Ȣu& C** fq^gr) RrXq>_xفDK!.UmvV)inxV*[TQ FVGf}zO--"g,[V, hn_[1l{7jBr/@@e'Fi{*d3臢ZLI5vlkd:t6Z`NfBmφk[h=~tDC[2X1S%[u-NLǫ0*84`qP`ism! \ F;#r$[N傆 ܫBD +y rAdQa",-R~K]AWhbHáUe85s MZ;? TBb9B{7 Tj9}{}0RB%uFf(^84l1 D +먺CHB&?[B@W'n\LvV!^Si@%{ 0X= 2ԉ+05U #9ux( S8:R)0 աϩBa0p7D7';iF +p_k_3@K$nK )HG"ޙ|فR +Z:"ʀn00ٱ 9ռp$PNwóQ!bE3r岥F]  3餑;Y&I&XCƴDAZbENr9*1=u{M10~բ/1r?>:cy" X+ +: +V䞿~cHj6 1W +64\Q{7Kh UوbWi1Xʙ=X|dZW*(adU+JE4ت5 Ah?8PTfϭ,|qVB$CGZ4@&|;i '6a=qSI V A 14E(~ǮSkil40fM[}eTB|빳}?[Ik:gqrCd6"V~ Jjj4iK, 2uy¾W8uC1{~StYt&rRXJr$2B +ZnW\0+=>q7ꉯ'xz!NItuR8N>楯u )[qB\{LXvԶ~dj;wXp5p2%]6TII ͏ iOp>YUm@!-aA7|<ݎݚd+o@=*WͶݎx,<hQ!VL yTeXeɁ]Oyɤ)-J١0* ޕA&y2qfy1Xz=\+G)ot3N=N\}fx><\#%4+99u[PiqD,'a{HC. -P0C/=ߏۦ„HEWRTUmZJV6T#]8-dJ1=cJ d8`Cue؉'8`l1GEpG +&a #҆j&Kuk{7>0gk8GQr}2FbS|f1=ހ`ךaBVYJ,K}#ޢEha +ic}vP)x.64LWEmPJ{gJ@4K5׷}cKj@A?z_'zu<* W Wo"qSyLUOm˙wg~j<9\; ɝ1Ua|lX;a>GeC {GK 1}DM}/ K(PRˢݻ'_ >PeM7KZܧ_a=KYp$ͅJWiZYa9\ߖa)(G6u;r7RX;z:$6PѢS?OG1}v>uXTN8H 3TWZ[w3[I ȣToC5Qh8z;t':/b3mɆ\z„~YAB;LHM%GrcLA B;'cz 3o'G?c}ύgCE&?G#Au CScH85ry Ȓ(ElTOdW⹰8eվ$'@O-ƨ:! -Z{[N|d_9j ߮j'EqP57g$ Bvh ldWD@c-V2^SY=bf<\uٺ9 z8;Cr#5^V +ӿ.L/7҅g\Et@ "JuDzP-Xv%4e565kޜf%֤D@{ ص#3=HWgmN;\k.Mhe0g@,0ot"% + !nqq KG`6s+P5];I + ES}(ПY|upjx#&mZf #)uiZ:Ec.gFd tS;i%tP}QXْtDA] U>V~Ȓ6.~wڝth/ A4U y$B|nw}rq肂-3N)7ב>شbhf왁#X仉LOQ$2 Td_\*gvBP_(H) ~ؕy}aHȬ<8[aT()3|Hѻh3A! 'j,{h&JE +cC)ARX\Yh<^EAĎZD)vio^ @6T$M8糣e[(np\JS ˜""MKֵRKŤČV@&[X8,D;L%F+)"c7-uq^$=D8w6ϚMogb1n^uT]XL^ ̋3Qwb:(7)rg3MabǜB"q>=fjSD:NA׆M.py+ª3u1@Jb7sb_O /ԒSFI[2Ӕa#Zl$f9".y7ڷ-Y}8>_3ZӵajKĈ=oQeADx9'6M7 CVYs+C x;VZ\a|(E `E9QNo3}ctsJSq./ι}zY[t878YI³9&?`JDg'd(Rܗ7T!&)_ש$=jq T˹uV>>ʕK+/)i ϺƟ1l?Obx@> +p:tg٥I Ė(_^bUޒ,@`4ɮbk HIiqK=C#wWAbF$|&,dE!W1ţԇ,;sZ/ UaZ7-trwg*a]7ݴPCJ=ѻ[1+*[A C*}] ~%8M^Xza7d`Wr?IÙ|!FeO+U# jnBLp95ZtCl%i +"/O,xSnǴM +>y;yBAkK![K;OvRA-$[LKX8|j"B*+ؒNQEC%?5c¹b +]Lg#Y|ZF%%8g@Ma}NuJ=ډ:7 b 8|!bH1N(lmI0 "}/b8"} 9KԾ.-&n`~ʖH#qlqxOR1 РRnE(x|sՔX}aXyQJ8.?Hq3!8Vn+SRyE!. WelpQ5_ t5zr^p*Kvt8`$錔op 06wT( +#/Re妨 I{g>=#+{IQ$Qd.u t3y*IPvK8 +6(8{> +vj)cAF8IG6JǑDV*%`VG cZєb9H:TQL`!Nf ״+FCk* +tֹilٞW`@ybKxUA(ti)(]9npXD'H(# TT!Bʸ҃^Qܓ`^Ti#TW-lf +~PWoe +IG u$ IZ[m`ݯOs釐kf:{0VUUAs @Nxy4=,#QTnJfl{zfkI 0lP h NWԎseDM!v 6Yg|$׬'d&J}W{)x0 suMiGut!Ϭ(vqR#fqY# 6؀ՁVu|stN(̏!НS~z\C2_O%xibuS|eq5K J⦞#_ ++tzt_p!-F0y{g;r#Sh0ʽ{&|ـ0juS"9 P r# TAڀRE#{3 YʥaO 7F,j7$;dtCx'!ҙl~ʦ!, 䠢$6Ht"Y;nxhDM(PˎF(U!ʐǗ\,v׽gd yp@mL/eMt.(,Dȝtem2AB7U٤v([ *6{;SLaFKdp#N"{'E rKM|rr +qa@Zr,7eFd 1.~z h0}u_H+1-urir` DBWq5F]}ɫ[N5!V!)H-o"5YoAE||GD(?s,4-O-C( #(J 8>?W4¤c~re*ئ7U.fpr }ن^e5kـ}FM-nq4Ӱg^7Z@F^Mc]j;fc434$9 +h6lc~Q#-E + F:`>ý&P +jYK e+n-&a$Gigp\lG/{kƾAW_RIF%ڨVb( N * +[Ux21k|SUؒ;zmpk  KV4B=T3%%)ڊw38%AI Q&9, 7 һxhm`Z lԁ^*ʹXHGn&膑;{ `iԩV+Pr_CkLTʚsS/S,꺤1CvjxVq0K%FL, %m < )dD̍8̽t0jj0}9܃ȾW U?o? ,,k<&щA![I{r*"E?9'%6 ȼᎢkDv;vM'/ +ϊM꤇~D+D !m"r ׸l@OnPPUJ(t8)]&ױ?O%W%S׼yalEOM>yZ>ԅi梴|O(ڭuiW~dzy@ Щ᦬*|^`𣣛na+b(O݀Jq ~:O9_Սua08|~Ʌ*UBS"WP+Y)$8 S"ԃ>5BҞbݧ@/=od^@6x i*5Ep)2|y*<_T= l-1"NP!(zD!jE1_n<=RĖyBð!)߁$tLYnIh>YN +>;Kk2od"]G7$%'f$b,n{-5 'ЗG~] _iDDKÏzgxdB@ܵ(s/b .Ѵb8zG7Rv? wR6B(fQHK5Иϙf' t3RrXdI27 `ݛ)IRkFHC4փ ':"02{@k#FP*3gH79xُD&{PbOc߼zL[-+^Kݬ_  u hXva sy cpMuC#P SC~3_JB4G$= !~ϳZ#p[Zu=rthӅ݈"Ad'Qϕ;G8@DŽST ܓ^ +/={3+ Ju5JR+])T0|IP??@o>ihf»ĺI+/! 2tO@/{}/Jp1ktG;N_=.TmH KD +W9vx3T:}\Wۓ]5K8h2ľH ާJ)*#_#I@3(`&*x  +5@RU88H #pRn)/Ў_X^4A*ccNu9Pt 3c~ǗE1GxiZ̮y ܌*^UWKkUHX-dɒb _ +:u@g%Gd V@7ź zG D6bj,ͪp?dڤp9a`G=ȔA*̦ɇzHV9`hSZ[9W4X'|L{̶&WJ!j]L}v2{BؕވPs/Z7;'ٜ=Lσ鴛n)ԥ+jqnB1D?OݦT2QoQ>{(wP9BEv7 d;GjayV82PN|n|Ȓ7 +hL$@1N@yL[-/p"ob!<P~׼Éew%Mڭ rLKJ?dF}<>;G Oi*OɀJiK0O13tQ_ ub60\L 4\F3T#-L@d^Tk R.$ב*~PD8-̍`򫰐{юB+!cxt}<^QR-vM )O`Pgs%=usn#l 1pG鸕`WqT("+ԍIQ^f/ɸG +=47@]m|w#mFICUR齇A}8p콇G7^F2J8J᰺恍G\H"Z=$Я!"Eۗ˃-w˷=ORn Fa-^JT$~4Y ydO=qn_ nvC՜ݚeJ'j)*|@< 4jeYu/7',_RTa{%Јjedg3Of>6lv{ZQhVX '>U 'h=7>[@NEhlz$}K0չ5Dz'Sf1E^aCJ+8vs Њ~h +2qPk +QaA9`toFtyUׁ5>y`_S]aHXO9kI/\Fso*dǍ6V+X] a V1wha=e2d9GY𐠸Fh3Q|}3x5^aǃjDyϑbֱX!` WşIYcG.56U#bvTIx{,(T!Cr%AA+`={(e翷&BvׂiB+ҭ3~x!N +;m_tW + VRȏߞ[? +ʾ[mH +n KAg$vA?Dz}--069Rx/\=t#IˣNhGMAۥ5"5 +S̾8)ҍ֩&YnюP#*;4h3"wBkP&^{NTE%u__W  ̶~{+=w`9 6dC襾Ƨl<\3 9 Gh{#dv8 j8!` = gnA}})&d%H#4.?b{ҿh,Vհ{0/4\1^_ۓz%sسّ5Zޕ'*L?̾ g hfH:|*l^*LРo )@n=0s<+e d?qr9N~_s#z6(R4yRyorm>_lLQ$b]=T9Hg +R?QgoJT!攎C&=ځ+6 s[fJXKi/ 3PmФh >Q)oģvSho5%)p_ B?,۾*t_`,VZt& :5'6v Ԇ)t'b]:mYK +`O,pқ %_մU+96W/+B"NU]* 4Ln8? 2}Vm#XIy#iG +kYMQFT~l%w."c%^gٰt5CNc9ә\\0 +&gOɔx7lS-\Wy֎m# 81V'*q(ͣQ1Sr +Y!d+akU]wN RX١U}cQNZAE(!o͠iPVbeP2OÃen'!^_#̕ޮoŋ^MnieQ`bǡPL^TCHN:#T C,F <=jF-mx~^"u[-[G`dŸa=4ȿ N[kO7o?oϯw~s;_?ׯo_~*ׅ[xAM2 -hF0m XPؓ;&!SG{"ÁK{A0,߳EbEd?+uP)c + NoqT nh5֩y} %2{_k8;d-j?ЮhP:N&lx9 +H KܠJ&m+Hø{g^qAV } Ezנ9[=WVYq{{wku޸":4#8 lU<^պT9-΅Ebg"> )IJd7 )$1|Zk>nl)eUbb::CEP@C!^L-:3_f~YaW qFLw +*T{~HX`Wp<¡0#my9@}7J*XFkoXf/x4h#SaFI]Si&e*=͐Cج];rk̋"$*r@Lpj֊d5GC!(|{qeW+z`F߽NIŋNf]l +%ٛWH84 sS%ce^Sw3@KH`?K]a}&HsHo@ uKG<() QPp``&D E)P]#`9^XcI8nCݞw" lxC7(G% )$P"r+*(ēw&CxF_t߸kŵ&mC @sX0:V8^nFqGaW{e$Vq_Su #x8!C!B- kdu TX"c) .(7^>,L]Y=!RHY6LQ BQw4BiSyUH ?vDZR]ԟT#4}): QL}4&셊L `/߃/28 f~9VvI%] +g,wPx{szAIp;9##0{}!g_zLtPgB J6o}IMNȡ@G l*oҿԜ}jhcQBzw{||% =+Uyq㫭ËC=YKr( MVoOLZ@3L z(1rgPc~(DOrUD-8b$lZLv$@Xx5RL#*NΪ ըq!sdcFnl>KÎQИ V*H^OO+rei4 G4ChafLU *Y0[|N`l2h *~˂qɘ,R^S,(+gGv`+j RW;8Vma ?;G+38Z2,lDs2=ђ+h`.75n-(`yʀdGSxb\v%ӳdI(YDӐ;amJo %yLz5]-r R1z кo뿗&83Gs&٠M}zA=CaXoz;#U[aJ!ĚD~OxL@-Ghr ߤ"Y +XZ 2ס{R`$(}ƓJQøl>ϐE)X{W+5=WlܗzfM,f6ȩDPzί$Byk& {v ?m]{oE}VT\_/fLReϟ!Ltf4m`O lZ7H2coT0 z6:i80Íܭ:TŰ+cz%"U;P* "4a J!Y5tśfuBUD !:9 Thp7ƴ4QQs+x t"µ]+>R'Wzv+qqD{-(0L. ?6_˓vƃd": aÔ('K=g屮/KVK)vݐ)T|nsA!#T`ˡnl0[akaC;,Ek!b7 $ݰ5LFl6(YAb8DN@4q䵐'>~k2g bTSuexF|}ݥsRAik1RC4ᗓ{+L?u\Y;Vt6l]44G4F5,!YOJ#Eg3G*&B[3rVe~ߟG>&".N/%*}6o*>#*>.ڎ3 w;70k8g8 0^/iAŗEJ[f9K,c\dW[h^{*dLTF>^ !IOp2 +{m8eptS%ye aq083:1! %2܈s;4K(\ZUArI dSU,u@:fpovEVWoI4uU6=L  lfiE&ƷA +Oݪ~n{f88:SΛl8`^%Q::Ɉ)Qw&jlU|QHAYد@h ǽ[17%˕@T.r.‰'> qYתLM;h/^tjYYW޻6VWմդby2w I癱Rb/yG~>< P!;[n9UrI?HsrL@QTmO5hê`+;&5=J- +>%yFh㜪ש\w7)^9@br+Ů2Q_? +ư$bs&7`bHB-uS(Xy=CǪiHRk8I (q"GC<И;YA>rY}` hijF|?6n/e'S}~t=ȫ`wcʛ8ZܤqOXB̺o4b&S<06FJSPAI}c/Scm+l$/5PUb6ZD*|6H%$W E|5|F9K[PC;w@ɡؿ9<[;8, +P^t =aGb@1s9Fb}s]ƊU1?{ |+g>w^9jwNI:#*:XJ(k:JҀ3̕q"%%v/:68GaXECt|sL9$cr3񾰜{7T^4#zb){2勨5R!5w +ޭV +ʻhxC 2#;"@=?Z%US4aQ.RL *L +L5rGI EsP-B縋+A] j^(t܇[T )8}t8[=d鋧 % =9t>{PzkWW]8|ԨqA_ZSR iV1+p9¨.>CHolqPG'A>@&9>S6f<Aj0@= +aSں pZMLMܯeSWJP 2D> kXej=[8úb`&m`05P}x/(g~.Xgi%X+(riU8 ʽE+Ɋ>NƩ hÂFZ4^w% C簛)sӣ\pvGfӃДձM񬓙 +fĄWE4H]4Yܮj+O@Z` Xw#oS¾J'pʸt`jN4 +oPsYHXOyHl dgXn6mj +[`p!{$`;~\@xF ^ +-yB=vӧΟ]W)_GW{B&y0Z:%yЖShW~Fk-TW߶-t$&0! =$q8ЌEM:$TYiOZB!^7C qp}` ;wh~b.o[Q4 +1HTGzbiS2w]Bӗ^֓ɋP 8j@x"w t 5>yJn4b3ű2\YRa0#tw{!djwf lYs7o^Bzvk_T0y۞#[ Q d24YMX[HKd&; $ 5 +Lp:_]yo{+wJ ײܯ|+vgΥL#15+s&VoOw8,FjR +7$€$'Mz!YMPM&ߢe`W ս`MAoJ>C L@2 =ʡgSPtprӗՕGw>axYz~w!) 4vfEYfadJa>0ƩQAj133Ic*Y6/|^42 ԈAaYnX1]\镭q`C_8iq}ȣw؛^K%rH\.C."1SWk~+?FxҒՐ^)Ɵ7' +0ۙ֗nkhRM uxLb x #;R~Ժ'"t)9M;L_b\|~X+5yAѴ#IG^[pܿ@/Ax'O3 ؅c~IMl +F-r^qػ+MoQ9=HL&x"FUwI6/C `32u庤t 1VpTřb<)VBSwCY 42+@5pWlӮI$Ft)*5ؿ%&a` +Lir@F5d&dWT/pՁ^s-^-^!f֌e/"^S:- +b^\J V*) s '@L +A5b3/=NQxH1tM)Ճ +~W +Xu@&Q-MaM3ZENg2{,bÑ՚!Ș#$yiהͥ_-ώM)`[?8fP D?8zq^TO=B{{ =m7 Jw3^HޔͥΟ=tF.}9m=]uNp <9Eд8:`Bzx4 3"$2 ;vTnj+ڼpcX%Tx\"qI/W[`iR6],!S;KTzTo@5u6-6L4Qnkׁ_Ddi mF a&">kAe$cZD9 VDv4WL:=yGF)=Thޛ<]< ~Pb 5&T_QnHG1 /sgӺ/=3Xy8"hÑok|_Ӱ{t D5N7՚Ifsii!ځ-:փB \8P2)7AWx) }H3(\%*=8ˋz-#ARE}`,nCC?nGzCQ!AShDKbJ![넊J7F+A٦zq b 'Q떼0#c  *u0͙=fXq[RRЀRBM7% v c/ fI72a/58zp/12-jLi>@zC2?.aHRP-bzQl*tBb-hd<} */꿫[Na\~S5*zyE͒eqDϟ:vq`(_('̅[z?߻G@x5p/ [ 7yw[&i߻癨 \aDz"vI*M}Oy 1™jͣ%|ibIvxb-DYjlC/ghЫP,WO͓#Z<,\P)ӚN{% 5so {? +QC4;>=DgL֛/>s Q>~Ɍ[c +GyŸQNlq"Cۆuh{ v:njL"_N\1Y?!)'K +4HOㇾNC*hpy$u<1cP+]b +IQS&Kգ{0 +cD3^l#q/CSFc.њc(PrOxRT**ٱ B\[Y@ $IW=:BIP8ԌiIxLQx1_[@nدB/bvUdHɤ?ܵ sjQ*YCϯ'cUrybZsYC¬8CuZ1 +P^ 0>w$5#.X8KդV{Сf {) 3~j UMU=&WkOEr"\"ʱ](mt+[wSΑrk\6)䈀"y,ҊTTC9[6Dx1Ph?1`w,YnGF1 X˳IJXh.Lc$k@!.{h_Q׫1l[Y)H*.§@s/`tFaXu5fGO֒@(x# #V:jdIS: +{%:Nzl:.5!{S7o孛nYvk UaLu;aB-nPu ? +,\C6}h@\Tڵi =PUW5R]2Z2)6b̨@"hmf޹\ d-X1k+Gv;\$١TIZ;pP㾰2ʼn*SEE@1}N6pUAioٞ1h?T"p\y hUg5~54~E;͝'d[p"62-I2>]ɨF[ +9q|TƲyT R|ΐB^dʬ !$+tgk2ЍyLK.ax > z$6ztNꁄ-ǙEymx},>CzE3U)PG=J)bqBܷ5qy߻MgUyT`GT`*A֞-$|t8qA\q( + Ց>5JnCP!LaTB8ZPR[ GI.Y'v 7@("1JH1E PFH{ũz0 }4Dbȷ% Ev,hV+-*?? ӍVª|fŝp1ᩗ_4G^${Ƒ> 28p--'dN9Cz\33qR'AY vnqdTI XdQfCڶn]d +8u PWXMþ5lLjWCǟ[v߭ރlEmkC!lV J!53g9ϙyV:ZFq/;#,3VxCoWNĢa,T8)f7,Ŧv7ˋy["B#rg#ߌTktvOT*g,)w80rYusM(ǭd+:i#sӰjJϏ#ګw' ~11+.4½0֞#<6 Z7=kx|+d^N逧'qr ̎h]j T4[?A +EBdA#aJe=(Y{p_ޝvic*/lsEoG&5faU܆:SPo_4&~)uxkӏRe2wKZ)w\3 p$1;):}?qk>l^!Wb9q7Z(P>rUvd-2N7iG3 r5$~FJM!ئ4!3eڢ8 tZHJ^]Sr2m jXo02|PxbR,eLHљx`JPctSUMpnljz:NBpIJkͫlgI ,ΰ7됿e6%" [J!vPNým磵ף n'{WC X^^GΒ97[! }fWo.٩V"7BxERmaȆv3F9^WOI$,)P1`ռi9,aջ)^ H' +BQ\ߚkȋ$ +w Cf-EԻ/W0nQ)L7dk1#'D{mN=hhZCJ'Wa?T +~!z"Jx"(S/N ݓf,ݫ?y'Ӽ9De\C ɯ&[l]P#-9@-,^'6XE`|7e7xvxq8#%gZh{{|} }1+'K,=YɻQ~jX+߽ثksAcFEV1Os-1S#MQ^y_I5 fY;c@o)4Cjd=[c;mGja%vo"mUz^k _ 4b#ҧ=Դ ^Ң۪Ig7|ua-k +Zu3W}hǂuAM 7 +{Lܞkqq~4#&UQ*uZ=ܺs||aWp~qUۡ @s}<~oƹ6BF,%5g^hRTrOk@kēZIkrIyfV0Ql`pg}Ϩ}К_d%-" +*SA119zLE* 0;pnMʯ=qESPiHPDINIhD +o]OXn/QXV"Zii8{ ;=V.C8a,QDr=ݿ}<؁؊ghZ( $ͭ~ Cχz멘^~/x^?p[ȋM|r+(iJ +Lxo/`pu14Xm'DeJ8yFfG @%+vߵ7)AP۴ZX(bdxz lxQ n\g4=&"'Kg+=LyCV_ka$Gtڔ\Ro<7G"5W9 =dPXF콒~_W'HQ!T '뷦gͿ?y?~Ww_w9~W/~B-,Xo?bxDy>{d^ Y0&y~8&| qce>QMQH/n$dFNP=H]I֭|ܿ,]gKZ7-)qJ\n'oX{]$tB)~o5iYSj7^Wps _jJ=H4{`^JDJ2序j:>kkeŷtTiI32FȝXwJ!ӿ)`w + w/5(Ќm`kXMezߞX.C1Ӏkl\K +mik?W)ݿgmI/'n }˅I\aD'3gA~8AۼZz1 pީ19G7|(sqX|D0hC~Zrl3@t>-><s:à%= 2@ll z퐿 N&SIt&4c/σP,(cʢB>=jcyDJHT";f2GŎ[ [D<5#p 'R!DlOYB@ .WJPXKN_OHݳD1$q*"L71Y[`f + X"==꺱GtfE*,oB$qɍw9Qh6mzAn W{JܚO9ujmdTdp~X՛G6h-7=z]]nHak P T\hU%chI gbR8 +$\Rbs/4' ǎX({"mzdۙ#ljsEܿ5G,B#6É%ܫv5t*(.MQ(ݭ%Yh|CCe@Rt#όW9^%eOA̓^$_j_OM'pI+C0.2 qka8U=PCaZq{3#+8\##%ǖC#slo= Yg!0+HSIl9r藡BIvc8UK'S-'D˗nQ$%:^_l5HIuS;h^lohQOVe'=df S%O +Q2D!3u'kY{+?5\QS6UǬ(nR!J%H2kH*OQT +T0%1mN1’Ss EOHX`IfO밐Bd[>iTL?{_UOd}s tAA3{-g8ћz2]qb*61S f ?s\bH+&%rq_ ;X:Awi8M;[_gr.(Erid+R/ Å+zϮJL*cȊ+K=;b=7?鱊 +R!v-X =%?LTJ? eo\qy[:FDlڱt#0*w"n.΀1UnE8jŲI ȿ%hAKў4w7=* 2k&uͅ!v~?ZW)${ع^YC xITܐ Q)b̼aDyE fflW.qlR1w+t1&K8U2Y\،%+m=|*r\q`~Re6t+,VȢyp(Z +euR꥾qr{\2_ف ;8H_NbO]Qs\z\A/}2$Y#z]YԑŢ.~T+䒛኶-2Pr/[!"#[ϸOLi2~t|Evp$G-n}(ihbiP\ gT \슷u;5q}0hUIH$K[R3 +hZ־-+Iz?2vd 8K]%Z7=@W-eN{@˫WXec0݁ST7xc\{<nAӥ@퐂$waGR3uǁ=tsMkXgy=Ft#f5,xgj{>a \832{wzXDD+=s?ש,Rߏn tg@(ְi +>ְh=t*9 > +;6ށB.qO-I:%(WA j#?gu^z_v8'bCS6IvK-wv;R}8F~BLlL²b!4~{E=΂+'$q KȆ\Ip7=fT";|tD) r/Y,iD<=w4 wd&FF{v&ћЭZ7ۮV{7\|)&\ܱZ{!s߿u0z%9:}~L\Vق+12i9H ]G +1Gi[x\ kѹ X +Hx4hT +:Na=kۮSGǂ#½ۣ]rC@:qSS Jj2~=uުV.}>u!*[_[vj`b օ|X s^j 4>gnwHFqE(ݣ)w1bp.ͱ=?_D6U]U$$c©r[3Ip8oCKY4mEKo`p9%=]&6lRdQ^r7boUs*O-O@bFuV3Q?4ikUeid.̍7tOHp)ԼVnWE@9g&3W,|Yj~nt7*:>{Q" ٍ<5͈yE?z|Z~_HþaL%uAk‚^ cgǎh \{/#$ +ȒFOH6EsH;d@O3 \rѳ k`=0  f}75N)tAfX>%&\H -&heYU \[׸Ajl=ͯw=L#i(9{|mc@5paY{]kUNS3nM`hpR J4 "w1#sg-(D̵]ft]3v]#8dԷ->E* Ai<2sayqJmD`zƾ& ":a&IkդLΎ=%zӦ8;34Cٟ*F`050@ ~O`G6 S/sp +#hs[<·˜>Zp۝~ϸ$]mbM<::¥ӗ]FaEN[6[A-9ou/R*/1fˢ"^H D^{ +/# +z0e3(ř9IE2]Ig!RCL~Q{SHgZAe`ѵt@uUٲ#bt  9\a>a`m1 +!=k/vЙQ܀TTB^y g:pIߨ?ϐ "|#:@Z?jpUo'02#@fN.XlEH?o0uPE(iV5RӺ w;u#țQuTIʚ *ΙwLpwQ>$%黾n92y[YW [IZj\J0G|* +4)*%WfNÀ`bR2nB&?B3,?Hqhi&U7 +4YZ\PP3\Raɩ}ˮ=j_ђ@X +dЭ;2_߅W xu3ȫӬKW[ǟ\u=c$ h4 {vT8ί$DvͷqSSz KfU|*+EAu*{}Ws70}Y zfE> +=8/TU]HPsM#c㹿J"w_Uahmd7Fyvn&L? +D4 | vMT& PȭD)Ȩ0 6@J=S Fi>0Fa!)Zדּ]c*B1 ʓZ!7\!ߑlc-UҦ `T@.k 2k@,20R`y*o UW䘏a]@>T$v˞iHhRVeQaD+ 6tCHWs?"dS[+UQl%Vv:X9/6JPzGƙ^F +3\Gs a`ԁThֺK*mġxs;75DMX-[@@ZM#|G.C3yT[%H)IJCUA@# yL1w`|vV:+fLFxx诀ZQmnׅV_ K[J̌H]W6),E|uWb\~8 fB%X@^t3.$ˉW&ST3E.dСф}f.6>ڽ@%]YdSπ3p󺒬WB3_runm,>f b~:#uQ{tˠ|\SI<"k.I7CK@À4xFL!QU]_g>M{s >CFu֗(H@E-1ljN`Zî:yp7X +`"h>OKCXsX1*6jucg;Lĥgľ\vtn&e lU߫M<BA}zo/hSJ AYafrAirVk! à^]~hA8M/-߅![y gpւK^|σEDH6uB vW7.Zz ~CEjť +icΔ[0Y +H +=nN;mL} +{#W9.5'UyeJAQ=WN(wF1LHs!8a ܪUX@o+Z3%GB&oЄd,-0hx'f + p㽴1}bzBVmJGMc'bgƀvgF(KqQ4pdą= .H]Ϡ/ N %Ɗ\` ,!FGS%l"t&`a4r!Y$>1(@L !B&{(Mt#h02?8إ\$L;XUEɍ/Ilxtxpő@aϟ~0E8׻d~ m (j!Mʦ)d=\@VH6| -lQFP7k+Strj=Jc\ ҟhb{v y=˲T&[WΙ_δ1*dm}I @iRRTKkze2*t{?$08B`..Fٴtu>eNRIٯU"ݪ;"I9ÛM7m} 'Ĭ@P9]+a"D +(wg՚o.cxμ6TtuH̾ ;AsKUǺ8lbx]x@3܀3~SDTvz[Ur&$>%2=_A@Aig`࠭'{CA֔ RO'ubh{Ҏ/>|jxY6呤s}x,'0)pT}nAX8!z18Ȫā^W%3E8 tQLLɠػw&VKE(@JE/u_V_ol1){a]@‹L=]$($}6!9D3 K tyA4#ş6&5^CtV#L%w1]OUP@m̍֜]=Uvu=:}`2$!ۥTb:TpyOa)X'@]'ğ+]8u {a:/7uGx ^xl/pKm1+wz0`: 2qRlY1NH3PlLA_٦?[%o%鄺arsv' " +U1HMQK}y +%fw(LJ([5Iݩz/D" IPϘF!$ H{{R38'E@ԉ(WpHna?a P:}'i ۥR@M]3n(3A@ SlqA %|R&- I)mP3ff`d#CP)VHc^PXQПP< +enؔ~3 Efw#i؁nƴoz@OgvKBGTIxޛuL0"#ZZpU ";[`AUIZA-6z@ڐA5]ovv<ԭ\PR̺2}]PG -@hGPBd EoAdጽm&Cy%ܖ8 Y"%DX<ǃǎ g UGPLS5&4PK捦i/g=N:QӍrt7ib8fQ hZ_4x=)Vw8Y7pLAg6![`8L=scRaSG# +cqQӠpig{LjӱDc@ =F+ׯ)o*VuզV-uL}G +P9/[ +hy oӨVNԬ, 0kS) +l X` w 3x]U尹60W Ci2x+vH/P^m3[|@4H'ፏD4sTd~U:Z}/!~qڐ4W0D(u !F~CZ3x#LR 65x ~"z7\'CȷJ|Q&2Z13 ڢƀ{n-:_ѻ)F&vL6+SKGDpL]{4! ŵJtcB @-͉ve^|(ڐ_hyա.{rQaC><7DuCKףZ#i{7Y׵)vVtNw3& :+s>X,IŪ9M]Z>;񡢃_oЙdDAZQ#dҬ)~\D/"?TV#`}@JDS0AT 8m٤D矱qtt+ނgA̼ťFB[y5UCQc[q=hýZ?fRW&Q8$Cҍ͎aR"G  r*tL10n.ǎ/ׁ/s S +>) e"Nb8>CU<^'3F*`!X'>n>=r[صe-S<^#%,l~\k}35ZXؤ0oHĀ H:cjq7⤿ 8dгi^} R O,Eۃ>]m/98m*lY8z~o*ƫ%F +2>^/瓭M_q%Jz%@kN1rwϙ +T`u:ZSF4?@E/)Yag5^$px5}pČ1\3W"ӵ"zF(}*+RVjՈ'";d#B@|2"#χ@/΄v3/#E" @ytD345߅~ي8P66ٟy{!l"/ r#Bax&%E٩QDd%p ;`fP%"mY)C qF co'7['.tھEm8Um2ΰ&\)tY'4"a73"A2}kpM@zN"T\k)j $֕.P-b ncwn +%yò +|M,aeX| _W|%.,T?SA%/z9@`JIlO9ևaO=7w6FqD@j_S>ëhNlF]ڏkg'@mHz""zg56Yk<" bGni$)ױ/k0~k/:ZLL[K gu/.n%z}!7t tsͳub&7̒ɛ5|zѼ-Gxil_&L2/[!VH3xUtdUwi0_Y%6Aǿ3,o/ƶEv~WrƟ2>Podc4PDŲ]H^5}Q Lv`'ζ8i'ASף=%u0CL! +R Ng"@ +4;t4W .uRFTu {h4՘-WEu9ψT&~i&a!桷9Ka͹5ڠ42 8C`*^j13~1ZpU<)8k,vsfW=М__r5>#v3wHbWpn(;i*9€^y̅.8;=/W:sF9XRRWQ2h#"~NחlQjR\95Z%.z#M.D'kKz0FңF] +XZO}ʆObҠntaiWnj%g:a 8C8ݙuhDܿpZ0."* tTH1 H Su{Xq92P7՟9NX,S7ӯS֩/4[ |}K A4 |՗>a t*3CM dLVZ^vM8PGd-jb +֪˭L.:cD~/dHbB"SI_"wNLn/YD NGvRUa5WoE4B ZaMJS3=rY 댜)&<,!my\^־1Vzn. ~v +d/xik$1`3BŘVҊ KO3rGJ.&Q' ">R]H寙{c#/EҰaH@Ls`0KjzU3fW1 61P3{-A%պ+~.6Tx}ʆy'۴BgտHvtgR-l.٦Lv>.|IMN|jCJB0 ڛ-*ts)4U\pƛPhj'L)zeL:e -fnhLX 9` (IJ;osvPz<2LSx6#;YEW$mb +[Fv Rk7[hc}9vMIRwd;= g+ke{ݪ" mSNbio4+ ' +{Js?*Ao@>0e.V~'. *ZO]ӂX78ʶuq%T&~`4=5ߧzs`P(&Y5̢@Cƭ{/D a!>lbGS }2Sh16tF:y91Zta_ryof]=*à*OP©:`#Tr5:1ݧ˶<Ô+2?595e.2)v K*G>ѲV?hāpYܩ; +Y ˀ9WU6(O*Ny磲҆$<'+DTЧy-S) è:䵯2vh,3j6̊8A(1t,"&'cƜ1j\138|qs됬_md|؂zp $疛X4  ++Rde>"r.q짒2F!{3`=< =Ϸ(*d2DN~pwO%s5}<(ھkWo,,fa6ֽB?8&\,O,0Apjzdt%(10asD<@3(0@gf+z"l+[C(C13ASMak'&ۚ%zOZ߯gX(}<>Fi[ +]%WeGuf~|zNk@lu"㇈ϰ +BQ'A~+V4JAUjhB +R% kgW[ -KG`d Ti!@ ЮN}QD}}L|C$g~leX6DR|*!W :*:|?$5.д@>XgnEFs9=0L;URb@5 M}gS̙0&p@ D];Rj6=^0@M~ [J\ױEKj4',oK/`2%[zS&iҿc[&̤f`sw/6DXwP7lkS{BzlBgkDƱQuk@nZ1b'BD>UzcgЯbb@6RSD:T]"5R%EB2B牶@[9 ƥ"B'?~yWoe(\u>I򾞠Hulh4Q}Z{Q0R-)A +YC9AY1 _$*^%؊@GNZC?!Rz1wگ}&30>3sߪ]A>"vug<{Fԕ)euH#h>1E_6v`ύe8K\: @i aN"f4%d<;a{8[uu`Nd;>%>C_r*~p &h-vV~= qŤ݈*@|tz );HĪs]iK7Pld?|.߮^|m6JAŢ1{@S?Ϫ33(@ut =)JE3LH9GFc9WZ.#AH 2\s8IS|mHަET=BL'o,dY^L^R]ͪT>˕+%:;2/.fenHhfK3ڱAu NsߧO-}QN%`eֶx\-?uڵcA`Oڹ%Aw-e )ǼiyN"fѥ3#ҸI%0;ŇޜOýʖh@Gq-_VwxunSWt rU} +Xĩq +Pn_L1$, d +jqvTMcc笛l2_MAb"DigQ1Mp lM2[0xfEiCaXJA{eS_=BEA?g +I^Cj˞Iغ-Wsu&8'O '؞@!K ~Wb+SRQSWQ7?&ө.")Uv-b +&p ΐ#VYıxȆwx$wg6!6y}=ZVZ4 "U!scO{ޣ<fSNF8)wЬ_Baߛ7>ԡ-ſYЄ v;i%}87]ԭI`8_=)y>[bMJ4`K{_`WS0΂^n[/d7tlChO%B +.zv1bT"pٙxY <'g| eq#3" { m]CshvT L6zսƷOI08Ngb $;e Ҍx<* S=|hWfp K!Laլ}~,3~,rv5Y :WP:IK{?"',bf?1I#Ё΀>/0WA y7k]ٮl :߫;>_ϗsx5Ib%ÿ(3',""$YY*"4"P0痔c'OWM]lNWw}#0q +endstream endobj 74 0 obj <>stream +/?!Vsgط%xԤ %\.AB?*+1uy>V,K-`@j-I p45X/׳FFRm6?tdN,h2g$C }B[L֒_^)`V؎+%e\IG/*K0f?M6-Rn@OY%AW-eReqڤ2%n->万r?ֵF|se_ 6 + `=p#y=T N.&̲=>+TxիWO`rM^QWFW0o Ț@ȁ?pځ7DގTe2eF4ޏ*&2JS&[v̯'ZU_WҔ\IgE(}:T?D@g!܁ϰ)_m*CzQOAp{E(<@R$YT{ӿ߲@]e@vEccopA||<Ӣ/ޕd8+XxJ][V1 +; JZp`hs[D UNr}Bv5,l#qEaxkNçQoy"I,wa*B8U0%Z.E +z/i~dǑn-@- +U~!mw7͗SA}Lq@xxǽzdjE6w|yҴwB󄜇TZQqy8V&n= BtBoy}Гlew|g_tti ym T/`C+k66 jr2Y3B B}Dvr!;lk!S5z/E|(LwF(D׀j&"l'Omd#(sGDJ +ۭ# s ]M>Bl/p˕ +huKV:,k:ҹjywt_R? #V#I[?0ۦuVlpX!k]m§)r!ؓB$zcLX8,pmMdEJ4Ma@Bxe^;P-Ɗ +*(0{BvQbwJ]U]+e&+HgNzҾZkJt^E wYXu +SB#Nz T悂Wc*VVGc2 EDkkKG4k +LƯ?JܮG& $1}IR]ܘW/2 0mNʳP@6r@o2^tBtfE9ܖ +| ~i=7Z#B /ʣGR3 A0_o;Ts k,+``VL8Wi TᦻsVu//0dnmH@/"cF8g;#f +K$)sA +*e*v&|נ}U*_wGjϺēz,H7ohcV0/xhmQE~ke|Y=U1&Z'l:w"D(E9y'" ok_J!D C ןвg>oC?=\ѓKيVJjFͰY["GHGS[zg4_/uߔ_'uՒ{gTa" P~Õ/R~:hLI*F(ƊIC6ur Wo+2bI9B %hkK~`> -@(/HPf? t`k2 ɻH@v#ӡ13L̖4tܼB]a^X)a՘^ՍZTloP$5)nD+.N_tº;+ʡdi$0H6@ΛgrhʭZm?䋤SlV&Ǒoփ'NM:\9Ⱦ3-לJF,UgȐp,nw7H `]"(u:hz$U<SXjok1Y:QjF$2Cr{WiA#LSmE\jL~@jW[؇834BB9<5iwT{rWq>B% - @ <\us׍{΀.̧4U08Q*9pYP8d$B]7"!bud~33i#JgTW@)g +8s6BzJ-K׏g,>EN f6wzPpNaI#7}U3gt+G9Xt!U}F">(]p x]y4`*a:!ј%#ؚ$Qv 4b@TZZ&r*`wKA*RsAÅѢ 2;ͽh -zP+ Gk+QwV5@}kAQ46Kt|gQjSc&c _u)$ ^ez{g&x$ =AP@瀕#&s]/`Q/urĹbQJ~&4!mIH;t*@=>-(Ga/V tzF!tOd4_귰-Q =pu9R`ʹ]-xݏIwO0ɬVBR6OaaOs!/%8š+(apFwmfݩa?"|@.e|Fp2e+Dkwa@(2 +&uZݲ@ ʽTQRYz 87V;{ vC!ɺ#wtQs]a#h+Hb4{[nE;~~j bc,t*ej72+}Θ"SE%|GL-i3x&g0Q3jdtQ0&W8/WuD5LP_ptu}xASP~C!=T.%M< T|J@+wUwb|v.DTmE(WbXu#|yJR?ThV>n`/!* -? ?~7ӿ??}ʟo?BXxM+ڽ-48l( h!T1 Hx߿FǭO/b7RowP`@@4EpoKMKof7Qηhz:0k4Y0*(9&F/Dg]\60b s_2AGJdў Xe44̺/Z6bO;]EQϹ)c)~0CMp(TQ L&vj6LJg-eJ"0CX3Av Z"~@\Ê"{L\oMlg/3&m^A⿈ٟuu ){Ȱ9Pg +cҷW!3)X"0ѮpJ4 &`S *9w/ +б%+ +;).Qr' "}z}`^S |}VI`]Ix _U_u^ZzFbrmLx-$onV W<-y{UX̩hQTGuM#BhiڄP"!5=7e %MpǐLYV.~ߑ,ߕ?ZY#ا,cI Y9"0Q#㿎B[cْw wZsS]u(ɲZ'ygS8=hIOpѥ'ĕ0!BF> ބ304|X U{08V'x#b`-,u?~p{Cn! ~!Fz.,ϸxm[ 7օh`ӡcF.r*Ztryֳ% +K0qOلh-smSH֚3+xvO51FhpKd(etX@E8졦 fƝܘjs)m껶$$M{r%U U'Əaպ[ɰzgEصd8a+" a220;۶T19xM;TX__γ9.`6P!/,˅(Ɋrg,3~Z!$m?ww7=.G="ju7~)VN5~h=bt +{<8>3C2Q7g?#c߇aI >QZKAϖҷ4ԛLA~; T0(%ݜ|0Mpa"|2 ŌRG]سY>sz4g@# 0 OM<߼,v <"Ib)&z "xӝ% 4Sl@UZ߰l3}4Tv%LKC{x $,(MOD)mD"LV)`QIZ$L WԳX;uQ2ϵU҇LE܏n߼{} 7j?kϡYǟ{;RW?#8{7,D{g,QWd(~'r8g?ߗkqcJǖA Q{kw3Y|?FL%;)} gmm僢4!ɕi*"\AG~PF)5IcZ&_iD+8"uQudCb"U"@+Ό4m4Ubսei 6տW0B{ vWyl#,,2N%]؆% t_lve!ĎlRP4zro|IB):˪mZc3)2$cC^G(~vK?#v +R$ВO@x&) .A +Jtk+#90@?&Ӈf58ook ֿWptĸ5a*.)`I,Ba}@ɚnMKtlU؀s^d<3O׾xnDЙY_zwd 4gri0uQTċDy*=@=&ߧ +qXY)ј-HM +!4zzρ_!*$h ,LTǢNZ5] ~~kaC(9yhqa*iŒmTu YYv~cޜ,T+mm ;qBe3Yմn"tʎES?QhP1(s;v1 XR$zx".hvI8lum#\c>^" r Zt'>uZQG))^(9-pZ?G L/9<9-}}HMBA63 H-뫿ħ'I?=5ꁝ-E*Ў; @*}OL7}UX΁+m?)m$HAZH>}sSXSiX8e u_[ p,Zbv<.>)F U(]>&y"/,᤮'\RGڕ2ue'!N'H#\1`]M:&_.>zΑ0eWع ~|>cpxxMQv'Ò"AFƖB?'z.E_+- K>ِ-i]\!p_b5.ڤ MퟁP3 +T?pU-`0t/ted3ĎtVh7@˾6J7T]&F@>@Dg_I5 O,0,dba3/h\qYtmSUDOʑҬ_Utz1ޥXpP:uGkjX5k^/:͊b㞶2ao{dGʙѪ^1^r+ahdyQP*ŗY_Hob=Z[}{'t#1z]ɭ\ 9y׋-"dw?0{Ǟ=a># b '(VB!;DAލ_(eol0)c tPvpwgIcòP +1uIvQ`S)/ j;=—ZQ7ĆF55a&Y(9_sܦש:1Teu= D GyR%`TnXE6!*Ǽ^T7WӼw(s[ mkW>CDB(-7}a+ҫ mD}Wz`}FW :%ܾGIfo)*T.蘘?K%h_d/MA'FJ8n y|-*f?ꍄ! xJ)6C6C./w~ uM2LXTKdN}9 2lVgͽvc,MF7x[9R@ߛmX#O'`cɩ6=.]Q%g; +KZiz=^@z>&xɵ9wpo2WdŌXѫk{:q)r@#Li44( fqJԂM}i"[@wp}OeL*&uJO?\8і]5j\Ma3ADz?6jnq}F OɉI`}wn}qwoN$t "/AFpD^KD5'ɾ:SD؎ K:RX4NQ/ÚQZ[«C>x[rw|7wn9͌)v]pD`u`cHiOkc +["Vf|N נ+*`$Lj̽F3d@}njx8Nh3N9P?/J6bǸ?FK4#kp@KJFʙlO-&̲zyq!K@r+d r}î~/NMq>D2esZ]$8^ ,?D|ߧw{b)g}NP,wZ,)#)q x`#q9FnE{CC-'8TQ ^ye +A `ʟퟪ)0 >(A0Vw!Aa@J}m߃AS N~oZ氝G! uPGTu2eD,[w[|Z`ΪhjSmTQE&ʛ?~#W#G_m[6BʼnxC'h ٹ ):D1|;,8& [<6B 7>vCh#}iD.r,iVu[v@'I8I2vPЪ"xa[Z Qº`kkEk>%B!3y;; $ ϸBS!w9;I'[o~)١PpGlsG6Ld@X +|q;U%, k]oW<.LR@@I4ϠraL~]qd-:P6ծwqijNQAP :8Xj</^0ByGUD9EX|1{S6(eʇ*qgێPyMD1O +uOa)Kf1C ^o|KzFҺWRӎpJWG οޏ@xPKYex~uq3׮U`dMS֊*oIJcΙ^W/*DS4c;]>O6y e;q"wne?TenU/܅>\u<*_lrmQQ'"OgPEymP[P2B f:xaCӀ˶:6/LJ=|lh%n=L2a"YIi/mա/} +/j# {&N R]oz6+jV%oeY]ΐX'bD-aGn^SUc]i*bGDD>ZGMYʼXH 2Id{6z4-7f8[ XWVзbA0GPEJ}Oi=꠭mf|]@Wh_m1}h\+Kp.z%U=Gܤ jOV% I`nޑ؁L*Yk<^Nd=IfKRNR@۸50y0V‹ p} {(c+pQ-AĖ]|C=$u'EńU&Ð ETv#Kr[Iu"TBdG#MZ3lݰܖHcϹϔ?g$ǠJ2Tv+/JϕFa{Qw[1Qn?Mק~oa4V~}[-uo+x(6XkJvJ36 znjBWIh=a>v0w153+*bQ 6>k/ʍ4r3$SN}\i5΢\4JE;#Z gJV{W?`:`)خƈ-[aR#f{]Fs8̽JW%My>,b05AH=m-jJvi-ذCʈTHuEXi'ZZ'7:oGn 6gSc#RJ1E"-U$SLmmME-bH?".`9 F(UWLty4 i!kx?{iw=n1Oyz;]`[ucs !3:<^.Rtȅ, B7Ж0::|/-OʴהǮ?3ZIq:w"_>Q~ +tzƖW?iH4P.|hՠjV8:\?EOp(;gwq+@Ed" "$2ʌ@BC ćF܂*[@h3E(xx5$/L}]ۙ1DP?g <3M8=v]}rIEssW!{l]Bv|δkLJ#y3M!@4MtC{3ʄ[!U t?T=I6*:h29]lPi\ +RvrA-ͤ1;s*}Q@eo DN7;Vze/ .i=ĭaK4h釪,!]@_d`V ˆr +vf;[/o/lN19 %>h4tAH@EZrk\Q˙ +-%+pPb|NеIB8, += ơs.dUY};qÒ0ZteUǯLB/dzt*`'gă8G94$-۪vׂAynzrHnJj(t:/O]__c 6GMWFMB;-|ęYo28 q/' P99v`;g "7*-ej Q |1+Xj0Cz +[ hQmy4-JkWڂϴd&MJ`_h:ʦs;ԇ!arȰWI3"`r7ڱ.yMH`%#8Qe= p?_ M(Ǯέ(Hƹ^抗w\0?1]4qWP:3^6KG HȔ7+g\XLEWUWgeFFI/5K5ݗ +c+*{7)@~Ll UO N3}|q+|LG>AiM-h 0ƂTӄ̢^f`fϡ,pAӤ0ghHaaK{:%0/Cq'Z-u BSj60/Z I15 +ցMA'3 ʘN +-\U?p:{f"!6~Y>rt 4q5 IKMaa0 TڹS^:8XZq${3֓:WZzF AQ|Kk( {(J5J o(3@ZKL V-pkr+:xWqڋ'Nkb8hX?*tiD)o"ڎP^ DeQb3AM .Iz 1FsLn"ǭxGC `%JIz.+Pɲ`zߥT>w}t즪ٽ%xxk/"H*!3 ?/%;yW0D2 + {^qzu0$^paH.t꥞G'&u;?'>bg&(3O&XZkf(Ķh+@w,PGPOhlA % poueC]`M} bmw%83Y +>۹kTgZ +%RhYpqd_}*a1\\r0 k֊fwIT ұlmyi_d$MSbX{'ʼnr-@_\_l~Q?ƹّ؋Ɛ (< +&9{FlzE}9I1qVYu:2%êFgVB,vz*<r1yq:#9R6,`h(,ā/0} ,4c'#2%[$B[g3x /3:J= =N +|H`|gV =c=Wl4Ex ca*]{l_ݹhQrfϥ(!_LYZM@;z1PDb4~dB pE`4AF>3c Dܡs x]%My @VHLl'u"yʞx_p?HWiSq@U:֙!5yzi[Kϴd?#aXZOݍXxuPQ~YȵH{qY#v=iSi50haߡ8B g#CeOVCR!!2* bjK)aiV0WP{h0@+;kR Adۨ:bdSn &q6T'0DwOWęy:|H*1G,[v MJ:4SZyvsR|^*[X[m[4AMMϯTu\*lYmYw}$'[X' *aNr*=}bآ|Ӣ<7)馵69+50_\ǞAq".EpNzD)m ]q嶄[ +\{fДHQe=aHS^DѼ+TyL7DuV":(_9Ke~<) #ң[~bn. >~Wge(iQ LPeKrz@KD~dH9'Y@gUL!4(/E@P-Q ,s&L]r>( +^-Y*SN2-҂rguofUN5'goA-K$*{ЕTKR !=ȩq#ƧޛS -QH2Jȯu٢oN(aƥB|91~DW$JVRN^bq;s-Ę=QSg~pxjf Bzy A{'\wԈka +IޟRfDkk1B0 +}G'cYaEyFoaYHO ވ +牤(+3K{4u@ʔ=u<ԡz?&x+n2PF ԥZ%s.JPg2xӜI彑u ư. iG㊰5biDtOҾ}Fă@xFG7ȳ6)O\ + ª0eo&TD؅JWv=K4jI [IFVt(\$h"s@LW`A3(D(ۍRlplF9] y†ni[:| +,x4iHѠU Wu}DG4xVKi<(yх00aƁް +Du84׃xWhg7 +Lzyr{r{70i$,s(WtZ[ 3M<Fny +P>?=78gJ|0>q ^}[u3,n=UN)zGM͌nD]#a/' iƾRբWqP,dl 5%Z`$&g +3y>as0W V\wQ%¢t90pZ9jgis Su=i~ qw#Jz`TDM"g}My;Ϲԗb/UjW)A,'$=MDۣ0eQ{ȢS/p`ߏlJgV\uJ^R +=6[*y/)h?ޓo0 +ܔ;~e +wC}ڂyuӊ!Rb˔5&f:`p8ILA 5߉e{nDwG e[4[ߗN]a)c-z)h4xpLwzd:f~7G@;%Yѭj2cReX=a{U#]k*:Dh't"H*اhG>eUh#\?ݲ; LjR4rƢM9j}쁮2~5a/ZxO**-N6i~kd@w{ iY}EeZc[dguY# ;M|NDN᧤rA[Kso"Ԯ"[E2̀I8G ;Դڨ=l7#H^@pj{/79HJ= *b+J%2HZ`t}4³I|a{~nl>NB,%T b!X3yq`'ۆCRL4hc]DU6iNt°JQ`@}199y^a4K_9w #,*A +V8L+uqI.Pf6ޜA_qyrv1¡F6xcAjA:̋,ΪNэ 5&S_d 46y{ Qpyly 2lr&e*44L^啞+YuەRS8.EKUv.d+bx +\ ُy(|'c)Ǜ -3eL^raGZho*jJݶ +֚$*V?2|4nz6h ~"3Y`Ku.;A8|l%r֡4)T!Mcur>s(ĺ и}&cbz[= +z;7:BXR0`v0Qgk_<Vw TTv]Wnug{ĭER;yPA:5 +-j Sd?zχVK`XҀ/1\{ 6*`.]y sL!Ѫ9 D/4Z>(u5XB5}AAj.&4qqBw!ZD"|;@%N>-7´8:D*#$e""@9 +\^!0O]R5By +\Y5z$ц]tGtvTZf~5 !u%0E\gd!KR̂E%6چ tI0).NyH%H@1(*օ51͉{^Bo6.xJ2y y^5+]]yó*ͽO G& zoy&KLؤVQA7t{?fFR='pyX0bX{Q7fw5ʏ#"2P:ꫫqc|Oq,t ~wVEPMUIO}G'HwRCߝv$% /jv(0f8?0DGE;PD"(a4+VFpE삥MGk=):;'3 b's хg idzH2J;4Z^]jS̝('B.}=Yװ=oG؃(ÐV +$HMba9N_C/.E%qx^j\ +GI_V +"a_:̱(+1-fA/j !TT@4wnD'tLBĕ!|pʽlQ.Xu_ZWB>G<t*Q'M;e:ܢ=KP9}5{j s]"z^U uG&1+7FOA3NƬL~72)T}>0_A]g_??|??Ow/?~:G_8^ժdXTE8g$ڀ@)]~3=Wœ,+,"+^Ba)a%N3-~T1:j y1FM;e| +W{u\ f t/gVFaT!/ aUɁvm !yv1''/UHVP!ă 8}H5WXe:?X5u?+0櫸tiP꺛nCZt${Q M1bEE/ ^ FOU=ʇmʲ}tE#P=3Sgc4Yx=8bA㜮DCmLNorN hx ,Sk.q{a +q&&yIkv7մW--sL1X4IPbjz(9\ +?uEYe2A`-.*+GsQU[\2յjUrߞoIyEq Cݏ#[suĮքѰ=ƋabpwifM_@P-c%i U980/5:dָuA)+S 0xV"kaoBL`Smwb1O6?rg[_4{l4% }u(tkbEzN6&vN7ޡPLDLn]ǀ++P{e5 F?H8m+ )uPoIWHl +AxbGD1N^е(ʔ^+SF¿S-=22x08v&>Q]ݎgiĥ`}_%%#udH+᩷ט*vbtsZ.՛lP"h RJDvE޹SG\ +/OrǢ.v|1eB@x\j`v4}֍.r()ܯT:Ud=S:ՄF H6Ѵms>2->bG`pm/ g+>;* *8׈%? " +B8fm"@+  +s'r_j۫~6-{= +);Ep1+ΩߥMbnZN{ + : +fr5hwaG@|N#F\@q۳s@v/J5f8s +f+Շp` +tPs ^J3oGԹyX1 ݈&5 ]-"6n/ah_0aA[הhx[ƀ*͐[I+kPus0ǐ&+{//lYk:׽;r`l'ͱLp>龈%(/#'tG,|qzZ~552WF@L}4ҨQ[ܼ~D =3U?M[gDz9;sh": !JCτTKtpҘMZoRX*10̉@dž#Hш}Ž#0S/ƒB 5xXM'__|ѬR o-kX{Ȗ: )J-}ѫ6Wݯ6:ɽf:u!P-(|PC>59ot/VQ+_笕xApnZ[ӧ0?BiROV$]J{hw}qM7IzY4_# ykxLQQNθ8#0;klH,7_?Ϗe${9 j;3HgF02&"E!1ײMR0,OSQ9ة"޴) >*&pA;,݊&d~68 qp\i-2EqJ4\90~?<5.d82 +t}ԏ KܩT/Sͦ8L]eؐ | ~ +=`; +ZUy 5{&4 3qC2@RxAU`9(ߜg)^jpdeڀ4 4B" 5Hg!k2l77fpS+5I9&½=O⓱Ѥ F+헁stTW5kΥs°8.1dG bWǻGi7fsTDT뾆Qft5ȣ0]d5AmRy@!GGhlD(I9djdjbz(k'}rĞ0w+MJ!IqW霃p{ XP +{izBWC8[7g]VPMbbb k%:5r$h,zH&m89FəA=Va@ q*yD$5WBWcZ<"j==nh+( R#jAPNFK ~pZN{֌TGB&U;Vz@Xw,P9Q:|Zqj2hu0< A]dGĭ@_m+dHvW@Kb).7_(I[s΀]`lp|!%~,"Ȯk; pQql7V)ƻ[mk!Z族v~K%hоXf_@K+teoh`e Hnr{lۧ1bU̒v: HGd!(ھvE|R&ݗp$Cgnܴ+n;hQSU{T.E^RXyhk4;{iXGa|lg ~PC|\1AcVV9Q^_%;Q>wHu}=gqde|544ng> >X^YCEJ]yjŹ?0{J7Vjf9şC{64jȔ0 + nY'Bi48tBiOUWX}*ڗ z#t +)תhȭPsBߊu`&[MzNJUXX&d&?< $Q/Mޒ]UPyϢvJ4FcP`#'ˣf=DQ $&{hÈ[%#(p&jՀNe9GsȼX cf{H,+T-s߰xN]i T Wg&ڢ=|րJ(Ji==vXz8Ǯx{1I"I`xڳ| SiBT׺bWH@/{@+Tn:n(VI^=(3C}.2^%@H$O Cx1x Dϐ[P6=)PL_vz9O%ܲqOQ(SFg,h5$?G(M8`| =n.? +O8C@3xb79OIoЭ◤$+*oI 2.ˆQ/@ ;udj|9K ;jh$sdw:n FVѿ; w̡ 3=VPpu@B8ׁݧ9SHiL> +#K ۅ.Ⱦ͉ + +-$(:2Ñ|0|k`J=<:%Y""ōzHR~mj+6z9RQc-u6/](B=rYaFV@)> |gpFM=S$)90HT)rb$kL_XFT WHSr}1#NE=Ŷ$iA;~[@ۜ(뇙B)_Muo`s3 +@Гu!J6ϱŬ|dtpՂbF D ҿiz"J( 鷌L?cBPgLAKWk>@&td@=Gaf+:93UG/g2=*.#urTx]|? n> h2m9 (!^*YJj EmÙnarz +1ń; t[<˖-mFJ5:~nҧKA!l6ǘ4*xx2n*C":}P/@i|ASS9N1b*!!ֲ3, 6g.:шqŒ"{}q#1W +*8 +E|]6U|3 +ҭZBY%LZsj!PqHx0:t?~=`puuqzYxTR0fX5z Kp؊8q~!6 -G],T2"b*|5ErpʥG$' 9Ni-!4+pMdúGEZgש{7nF/!-h`x鍐3:K(F#O#ѠlJVX^PCPxV)aT"'CYחYe1\:Z]W_AFBc'Y48qhR D#E;P#("?1cFϏ:ݎU_W–-g̺j\=H + +-$b8G= LWz]QƖm(b6XXֆԧhL&m4H%$SP=_ڌ!M\@̅U7Coo.Vmd:j<:#/XЄ=I +lw֌\ʫvhLcE +w9V Rrg,Rg@D{CQ-MxΈ"ގԚ|t,_cUauW GLgK,2IOcX>YfI'c2@B- BFRuQ0#! P͌Pl{:H=2EN{3 7؏3º84'0Wg۷Ln Ñ#(ץvx{]Iš &sL1DP@ /E;H;Ж/rqhpı} +1gd K)m!2*҃B+t3rORIE;BD*s r %こcAOys +kP1w٤3tV{VHNr)>nSm'<*Y%Ԍ,H2l hbihP?{,1iy V!p:*wmoCyVl5:|tWLK0ie^G5s\hAJ -7Үp h;i(wv%"׃޳a'G, +Gn +hZus4>%8כ;PEr^L$ juvf +hR5 .􍨋dK ~f#AKqOeFr\̗L 27˶,Tb{'{!o?e*C={i h+!Sq%jZ͌#Ps6x a= +&nIq"}_D2/ɩ\l' ++iWl^ΞQhڣ/@RdM̡Tl ~TVUPVԪl셎r](!I$քᡅ# &-=[|aJRh hzzi{B_ +CEj.C3oSoSyp뺁f؇#<;rgρq1]V;ҙii%zlqwha= +%LQ䰎C(U.Z+ꥼkJRn$r @&3.$@etZF +mZ(- ƴqrY%䇕@kXP +/Y%Gyy^PY\ᨻ`!loZ~zm/[9jd`i9)?XY5F;z FY 54lU~{Vt!HձTuVX?, +veɀܻʁeі =~~.C?źJ"n{O5? |'D`e 3Mpsu'c 4, +hgca.D"0ӵ9+KQ30*חN/Z«" HZ0C]Qp8Kq-jiGEqMa#SKjcOZNR-W'c ktL AK~6P۠@mL-f97u?3:NURhVDu0Ajr m(dY/Tj UȈ H]$@fPe:gKee5ghBVvBG +%RcYmbXƮ.6$$D'XeeȮ $  l2W)"p3!)g]9}]807wZNDh^tZ;l[5i{a2#b.n G7b@4[@!; u̪.Y@SG4(ڳ1b1|'f6z|_L] A2aZMJ/QFP%6y8T EylHZ}jVuKeXZ29ީWXsN)U7FflClohJY}Uu),V!k25)Kџxivsw&;^G߂e pN L+ GR$X)xUFn +.A%(zJd8Pao {\@1_7Tbf%?f'k~3đX1j7jJJ/|dn jt44t/0 W/W-uї^49f\{עZSbƲF#nk_ӟJ>:I .SEp;=Hk +e:ϐ԰tL?k= +O_ +MPI" G_=kRh}cOVδ؉&".T-.51!x,[g$T0\t=`ESF&4\oSF<|NؠdUA[X4`ɳ~b,!W3ECX y)q-v:U][O,A|/ N+OuC;Cq"oVi tp# = ~:sd2= +ζàߓ*RŦlo#1ƎHYĽ0Qt6z0*; *ߙΣAVhX 8OK^u+{]R |WN'!:1f;GyF6' +0lϺ5_.F[RMJtҼX4p[u%032fF:9c9nwp,$>+ +!^TvCuDWv5^qx(VYVنZbA+4"B!$ƥ': = +\6#,$TNxsopj,7-pJ;b굍ݏ +iԇ~)FMm_CAG^?ZJ,:m(C7O#zv)<q5>,}FW#,Gh(&d{Y-, #?"5”-M\UK0k]B'oEUsH Rck=g&)"m<"VmG3es10T,"Uzǭ& FrH8bn/TDY2bl":x(v@?~T!`^mdV|"\*ݡV$(Rq"uUxz}bnyƟ3fXL&W*VGwb}gk6RxB[xiBw;˝֡婱H5h0TQ#htcZ˅*b&PC )qiF[>j&뀏{A5laWhS$+7o5" +x4U(}z]JWz0۳ 3]yat)]۟T]/ 0?.0%K%Y=E"S1aR`ĒaXXRwtDP0;`i/V*-跆ȕayT3_.F$a*肂k3#.EP/t1Cwnַ[n e9fChj93\ݬ rf!\hPMQۂJq2hxbiR3*Sə>&",2qp/"sZ +%^ 44QؒG9p/xZ=ތ +>FKhX_MSQ7hPq 82ɵYF]-6=䮣lM.|KU%webwi6Pu+˫&'X5xIl+%{evR nᶄ~ʛxY;"F]& ZYڲtW6F7 mm\L)ҋUX.*D~0YD 0˄Ж=A;d`IQy=ǂ%lP*^G#bw!"@o/:NV^Gq*Iw/>BhMgGZl%}/N `x W),n"͢z [ot_$F&$kDZB)QvV"-,ǜXzwY=ZbC#8{@SLGC;Tg>buIuτ6^W}W2!_i@] XIZK-!O2t l dUޠ\gg6$%>t>yYD\MXt:}GA.+ uJh8hO nH_qn \* />e_@v iYVk衐$#}=ԺԺMX9 1<4H^8U"T^ꉨ'旡Au^L!>_#oapwf +=1=6*W xwUo}ll/ B`2i#*a{[$# !|ؙ$95y4I±YbJr ?N"-4w QԈ$AuȒU|_y LࡓvƦ{͒o:Üp29:4""8cڱ_z\Z9*˭Ѩ7x[cћ>uUO15uغ;'=<ؖTKސ8 tܞGi.T"?&iT$}qTTڤ$Vuf(t'Q־rOK[Bs]8̿rtB}рU9f;{tQ]~yxCK AM*1xq~3d .kDg5͒%H{fKax^鳸@M~NFI;KE;D'Pi3.Z -Ӑ+Q~* +SPMUvD' ʸY`KAy&ǧZPfy\ΜIfrRTlKHk@',YIzGn0֩bp,ܚ*ӧp=,D$`%.*^/(wgfKD\&L%RHXGX(~Cs͞GDS rгT˕>k|G8n͑7 dQY:2WS n{TGo0_Il'J<6 >qPҝ갼:6BoK#[O8dCR~(c} F͡i]ÕCr̦:b99"mw_Uw\ZɬC X *eE7B.XpK-k RB$ӈV! +w[]^u"7e[`,umuM~c.SK`l)yTigKi +"|HՓz/:3iڊ69%woA;Qtc^1;g#IA.F<1-U`X̻hQ好U(MkVIO1g O%x!V/x,q/;,T.įT#JR }?M=NS_|Spf{\Xāq usFvU P\8lی=_8DuB +m+ +6K<[OO"78^sa +ߣFNHWTyX\iZf}?pөQ%3j @]`Z331byPU@ c{̧g_a_H=,5s:UPI̜Th 2r"LյɂWuF9ʳv,V{wfčI9BzBt P+PZDV =;7qT%|SsҢhkLq~=Jn1 +,ޚ8`xq$lC*I +_{4; `\sygQezQ_ ÄŠ3JP~*N0doMHuՏ8OhI9 +z\309eY>w =1xѱVSi'kGw=۹-bEpg;;>-td?uGr?SuAyXiGNcc@r19q8/`*Nv画Vo{sq[脨H¢֊ ->p2Soqa;‚uN$'jy"tMʅD|.u1abSS +FVGrޕ%`l;9fCB*~SҴ%x.g}IDre޺6V:ޒz=HsTIjn|{{tusA=Duhc`+cU^n<FЮ#2gDDɮu@/ޗp뫼TB&ڱWa|JK(*nwO ?',ڋL9;X%؇ + +B_ 󺷤 +AKBXཽX$toj!`X2Cj>Uk 8qs& +`^)Qt <rc"aV4D۴ ?W֌[@ +}]^|ly wCm>Kh9-6m~x H%("sIb2}jzb1܏[+qEDHpD9hCD;W>t¹T+%~ҹH`Y@I s fkܪ,3}cO# jMYF i-ŚR\kf %uĂt}jZu2.8-B-esDPd>^-PHe۳mce.e-Zh H͔ :U(;Lۉ ZJ{~ WL{%-~`F`pC;!@ f[]a0U*$/UStxbP >LV/j1"e7S/roN@mxX"w]7_\|_s*Yh5dR3+<\BC} H<܂aӯ p<,I8׈4Gi$Wh@mu#D$|R1z[h)J{9TgH|F舞O>qa۾}~LOis3 +c܁[?o? +oaUT έqt`f@5m& zr?3h^KMY<@x`Cx~ {x"8:o9ꜢjGM&&˯ǁ %n j—t +%ж 7r*l"(SV+F~rj@<;D LcEpciUA)˧ >5" S뎳hAL!Nef7sU/Ň z&Kn*W B lHM;3e ʇO1c:tסq# ky Nߜ{ [[T +rd+{47]YI~A7ft55a'hߜgdzl_[Gn~>z +a؁)`zvpHWÑ1DTD;D]f0άv8Q0OV)+mU׹ #kPΥb{=V RKLlqg~y$+jhS a+<>8o'Q.iGuD>Z(w=xkΫAROF{+Cx0b<$`S-j(-tz0,jo 1yb#v$j +˔9# +]-=9Ng -?͟͟~'%??_zȿ?3u~@yH0Nixg_ kP?mRUcϿxJ$E?ün,ö@룱[. 5ngs-^0"ѩ7ۊtwFG3OsWwCX&vNIpO&R{IxOrª.P. + dpeoX +~u͈=j#"54"n oFG>z`%"N[SDo)pi<"v~BsTJ´=.XU/BRp ǝ5@PZ=|R:K T0YQQRZVl=YLtw^?Rp3 $Wk2L^95,V5) 0ک{^Cu 3O4`'>EdR<8߻{?f2a@ k81eSNVxIңf>AQf׃&sCqtmQUi{r|ݢ5`x7Qb}'\5ƃj{_%b~d_osV!€cy7X4۱{d佤0q`šJR]fEK(?i \"ӻ?&b{IKhϵ'bK^gnDBÌ6C (^`LR]_ + %t 4Qd>;ɐH[w.JzIrpbڋ䲾szCQ=LE]93+;I|hRY6>'TPtx=F)uDaM,˹<izQӜ +^e5L4UBXl' fQ-a,JXq"؛[#L䴏aB枠EB]O¥`|pz򸷰k,!p$x9IQ,A8B_ ,T 6C/`uTɏ^0 #cDkIgR~*lP RB<I*3쇀rT * *XD{{k`6{*anah%ێnYldM7LV٦wuN9h(q JC*]bRS2 T /!N(1ݿϘ\p '*a2Šǹ4Ѿ=ɠwIue>չ &F.3bvp[`'90V2bgh>&0eTMTg]vmg[YMX'l ҉m0Y# ݧ-rmPC_$YۭI&%o3{dL͐.W=A*TV7vlrAk.ՙn00m[ Js7:%)+5ܳ䳉ޓVZUߕ #°Q=^6`&Fs*(yB}(\s:}}89%_}t`rJ)BP̼Vy'iT 'ڱ#Z?hծgwZ/ѺE +w +oVu 2+on9M %Ἅ`ߓPj,+TA{exIk٣E&0'G.6:̶ N H'"8`p6Z;ӑIzȅ3H\B9UPsi+L1>:TI_/:Wy%G47S,}_p9Xw ѯ&? ,vC}If#"DgjӁ c +aӸHa pٹkvvY9: +Űmt6$)d峪1^_ +EkݘC/Ui`6~8P<ҶkY)Z &V áuWV̹2fdCѾ61! g:n~U$f yX +!ya )Dƨ^!=̏-}y&C?ܠjm\{0ZxNs{I]b +Ɂ|iX7n7~(&ru*# Qrzfm\IVT9*]udShB`-XC +:TH4v9yگʷ}*45OOfCI7ge~ޖւ,)yU{fIP*#r*,Cޯ?##WgD'x.C-MtK5tYiwa'GMƬ*?l6UF̴1yg+0 Qm~ہTB+.*>n׆ +.,voZWWBTI֏UZp\v vwMwjܱ6>𤤟3YS|іOPO#<"t X7{Ya ]kVn4 $/ 2L#N6ke𺌘.($z)#48W0͋-5zkJ?;|DMrD^t7k|ZP?d!ڔW0De}Me.&m^A]G4Bϡ¬MۓQ +6t~H$8,-N]]WVgrjE$1P +zTzqĮ$j(i,y@ޮj ATXlT&'T^aa@ߜIx AÁiv}$S8ϜQkI'@ڢp + ld@w麤Mޓ|fٓ)0.xx =ap謉`Χ*6F^0:$ G60hF^WtHU6ٹYODxHΩNn+(ڭ}*ٽ%4s7+oaJqi]@QO,X >N7١tJK[qw)"<4!ҩyb]DžbGiC\V |wH %/jx0k(кm@1 +j +䥈UB xgcxU(ާF|R2zTvB>~#'bt<.|RWڙ^:?'jh>O >*XsAˮR?Y*x ,q[VZaEQN5:SGl} rzHP, U58+k%^uqo5^2eu4@%ﻵ3bUe?Cv^ }?Õw +ZEC,@pcy 4cݛO~~F_ePeh?(zX 9fs}"PaUÕdGrK߯\xU_s۝_w04bβq K Oy!a;"JxaW]^r_pW;/$+}}ɞ*l>^]*]ذ fzÁHo`fE]? +-<w x(>gOBO‹"4}s_Fa0Z'WbI~CğȝCǁ@_Gm}txe-op0. Ѓ: zswUvѦjʋCo9ha:)-o|:F"?-.XSkt!7y'k1  R\"v*gH#fgnp8A;wX@ !9 +o;sCfIЮ"PorA}ta|DI΋bUK>ǁy`lM;d}D ܭu0%%葛l9#0k'1lg} q ,$)aQsU1zk;9~.!=(YvdH]^(KRňϙLzP<1y`u{Gw#aGٗC^C%T +?hNVY,Vj]찌I{u \Cʌ<bxZ) ~30aK" Z2okYoV_)? $ٛZʭBghyoj /[Wkƒ&M wUZ \aS!s"f>4*uS]`hGׄz[(Og@jc=,3*K,"sOm@Nt#,f@^ :PfQ3s&|SA~ɸx1<nVpȝE'D9[#l ^j n:'"uv)91lnx[63ih`.} +Lj7F +;Mx|g*w(;3b߮򞹉?hlF|戎ݖMAlyaEdg` t̙̿,{ Ǥkʝw孕gһvXaX fԒ"yOTdi&H6u2u`L6@s3cމ0dY`U>6J\&1x]RYЫ]^D NFl@x/h@#E҇@m&oyf| YƮZOs !hnA5RB%A)~Hø 4sDyT~(2 gwI@3Pv^6?ILKC[^]DI@Le=-x?#0C0 t+M.cgD.4 |imWʽ6DoY3OX;ԤܡmЋsѽ<  Hg,xB|nBBgH}i:]ЛcrbDxݞr%:5{nH v؞x0Fp6&D(L0TƾOd2c4U qFĺAH3p\EH]A}"S~&Zuل}@XQ 3P~#/([U7= }SCU{O]k+xs`jqnH[h}3"Ӄ>ZɒF5zߟV {p;8,wXRMRz3z}cSoW d鵑M&ړNvˆ qCM_3dժ;_U!rapӡ6#0$}<8(ɭکl;bED$r*f&_Sƭ;zĻ`Jj-#C[ {` +-L%yOt* (#%< +6x1(CD u3 [IٵqJF.П4;d-'I{H?[{'lNFJ\T!}֬>(06x㼘+;&MD°hkcA m'$T\uSi;O= )xRB4bxVp+,ǵ\ +2-b| V<]y8h%Tt,M*fNP'cpZ8DS2?#pz^/ E[bzy~GЅZ{>+<\08ۿ^Hޮ><7m<·7`4"̺iaGyb{Viѕ\evxzQW)W]Y06jADY%:VeCmN& w&oC`Rɉu8.>jEm/zX0238hn RD8MDzzBbÃ!KJސ!^20wZI;W63Z'1܅TK`bne'.|<6l5$\+qddɠ4[춤[N`8"HbWf`h 2[`͉Y/L9Yqxg7fr.ecP+fVg>D :,h؝w&@n38mWLv_/s*|z N$s2d<tGSr4S8wϫ?Yo@zrm;Ibbl 7OwS`hk6VVD a<")lLWز>M[ `:~U] u*)`.ZC@8D}%(G`_@p-' P=/Zx@:Nh,` Tfp)(H V$xe@ڋZ?QBRqmFIX͌;(-Ms܄$~ +;H6 ۱V̩h4lCۙ;LȎVF:+e#"GDnUfn*`FQ0v AS86]i[nb:MFQ=c؍?EFn6it; f[ KzSw(tAs}]as(T2l".&WVB5Zk=<He6hRƒܲ yER0VL/ox,`aSs{n}Ja+jtc 0)/(7 +mNp۱Dg=bD{R->680!^SqFsF]|"]%Ku~>Mt]z:1Y ks'"ZZUd?܃*g,lO3AIIu}6o EBS(֗2:H{h=jVgd ̈́ +HC)q댳#<<-#'bTS$3a`MPBѻ52և:1I#oB<0TUHKADC轶I  t3vJ-qƠ(!.vlÍe)e2 h[<+h4_ +T'k//Y-8{uѣP?am:Uv{@a^e_hc! +2pWyURPe$9Fl=^7p8:kK ؍ d4qr0 a7HQ+GWf 4>+OiekE;32 (22-ݠ[tL`*ShAnau:J<` |sz;X",`+Zk雌PųIS- :PJR#V?4QA]݈v״6ؔH9UZgka1`3:2yAxbt,D ;PRHеcrg5P>,wPDG9A5Yp[sʏ iux9fC6$D} C;JvuneD)-Ii9>hKA9(AeWJ t$>]kf Rjµ+ +cS)+jd:I%(7[*oGlPWp8?F |Ohs|vMI "fR2jRFnmr_cd|soIh.JVyJY< rWrGv@Ŝ|_Lq4sX@ՔSl 7<r2 /~>%S pB^UkﮭOgDdjTsDԭ!~~J & +Q:cwp,=.B~sl +-9ӑRzlxBP{6#bSXГZ vWصhފG +j)pe ꢵJn9lZϵ/͑32IF[Rs5\Nf3)@C G5iRL8a]2_m +`%\Y"Jk&qhʔ3ܹsD~eRkJǝ{R1)Sr'"W;|WrYxm։Ʊ5z@EyIjA2LBw2E|IPZ!e &{S\J'~UR444Pxy79C-oXW QmPŒoRpm9DwH]ˑrۊm*LYpn0#JVZ>Қ[w;W|fÜ=pLGSE Ս,X->!h&k Lڍ_NfF٣3ϠO`r'ljzZ  +kPVZy4T'\!'){GϭZy 2 +u\$z=]TqS*OwO,Qǧ%3rFk6}Դ4Ck4qx`I~SFmFԹGcH{%_v#"Nʟ ќv<PMxO%f}{QDtjLBĈz5>A,Wr}GݜZPH, ZꟑC`vHF}/QSp̀ptaADi3SPũ d +ؐ|R nB;բ"qIq _(|Nyƕ'qNQs阢Eda-__6yY@e]B.MFd H&w^=o67{E} +N ,?x|ga{:E^zXrn z=^) ɀq-_F(DvhV]#l?tGk_K^ӳeatOjs#Hf.-a[1atG|3Kɺ|D _W"hR(kDPt?[Uw9_Ӣ-p,yqVbPp8 $3v;1Ee[ &H"C2c^WRJZ;iҀNՏQ遄MQ+l"_t4xOuHW k[A1 hSr1h M@vhG{YUX]EkP|=>u3VѬ!ϪD.8%V{z^+]V[VFpKn'7l:xM@ >TaZJp'?cXƷE cu@Rtw6U׺`E@jLUF#ʧ2O {ץs&'CH}~S)6XV 0 $_`q?qfرVDŽX)MK~zY>_((,4P/!f)͛[(z)u t'BdW|( (o~x1W/!sK~|NՉ*ܞN&-̤ȗ +SCm'^CSߧCqvla5@EkddQTQU/+O5Vٞ T3ޘ>@ꕴ^ yGEO wD=cg]U-jmifBbu?#BJ{]LJ6z>m<5ݕuX;)FU{ +UЯh`<0Ԥܷ9I$#<,\F2'6m4U|P8x'9 9(B*3`H2H\RrdX#B=Α-l`$l<|tbԉOߥ.VxQ*4ZzHCQ "IF9Ӥ=`MƜfcעkw6Uց`8vDV%6A8^Q[-ӧkOȻHWsT723.1롬[%i-עaaJ5j +i3jI Ut_|ї*aѵFIp:QOtg9u>+bm-ⷣBAEi{h]c KCSaG %_jCZ\Pxa,gN]`#w;I2"]E֭SKr` bĵkY$rGj!u7yO雯Sntvsn}FȞt H"hJUX-BH~d7)fVW5jI&LW<QmZTy}i_1m!ާšJ +0>W!ٴv|LS04Pb`ܻ%OX9\rhoRk]pI֓Q?=ӡD)cKlDXg5Ifϧ9|561# 0=gⓚ9Q8E)wZl_*)Pޚ2XSkok=0n>/` dθ1yNe$æтJ;ͨ 3s+bxeoa\7ݷZO+P@:Vԯ=m[k-/ V(߿[΀D›` G܇6emS$xb[CﱝHxTcG4& !T$mi=з% 3#L8et"$ULwaXao_Q&qY40EuYaʊ9C:{"D*rBNjňl{Ye5U *qYv*72z_6BuJHQ?#r-r!o]cOK-Hg=`.0|=0rF2c_ a*C;%  3f}xLS"4bEٛ>%ڷ XSt"wӕrBH1"s9Suո3zM2cN}!^P>vd.CD9; ;O*給Sd˽k0=*/%ĺ؝h|=X"4iY[XA W+Ez^TotlT 'JV@AgD/UJ߮ ?ˇMm#֝#ui,)yue0WzIJI/Z6n+9"(J 1k>!nfXn!5ա(pq@np#4A!:^ n/N,/@GLVlչWZ\Kuƫ^C) }FZЭlSi*YC|M"C)P_'mK -lK<6Šis˯Οol%O-E|DBuӢ8 0:NߡֹqR58h᩺@n!PI% HgK7slYL&Dzk[6JwͿm5lC).tsU)MwIם!3L-JgZ2eȈTzOh=Uv\`̹t@Ypz"&eah𣳾 D#DZ>C,0"Es\z%Z,UL:&ǖRYxPUvTu#aۮkw" Y;TkQg0L:y?"@7iS>a3DAi>Ң&4kCe4?#dγꢀ9>Zr1QtL3:Zo# C V=% L糬4uR PX|  /F@i2[mj]5qgTB:Uh|Mܧ&]Y|W +7 |Aݝr}S߸*rE4S̕[Cd{٤A;6HQ~nO~eڐ1@bToW|>40|X'D@ c[bK23r<+ f9ȝ@ k<v\XEo +r.Iҿ?Ӥ wP"0~{/9Pk9`ݒۊ{V_4ixodfde4W)YsY@Ќ&N<`_>, XHhgbQ"CF󉜠Ī!Rt֕GӋ`V\wFBÓ:6 + TAVVS Faѽ9 +V)STEwW p>*c>GFv'q'ns8 ?];-"*k];Yϗ)o;v㹺E;Z%Qɚ5ǽA%eD[{1:Ւ,zIki:Z^<|M"Ԋ~04Uu5Qq-) wWgp, +]!U5y*f_>~oGT܆&d( ۙ68v3cRĢt {T"##2 ^lS񧆬Y-[/?4P-c " O4.vץ犲<¶~Pl0|$*O~hAaܶ;3l 쓋 +5.oMnd1vbr6wP,4a;Y6,(`>j/oȐ MOSRKoݔwς]_ZRT4i?qH)ls2[G |B~ӂJ pޯsݫZSagp7P~nak;#(t>{fiD7"6>yFe4(Z@|D\g]/fۚ98 1l:YNV.ތqW?jkQѥ4)gM w[=α_ww}nw1%GCh,i93_Pn6ryAbEm+cᛂW3'rh  Ϛ#="(Z֙N=n~VpӃ Lс$VVxǽ9In@*Iڑ4llbVrt +>\׻-3e+Q{Ρ.F Z񏌪&$vƮ}b؄+¦hVóD))v@-qos*hHSJ(xť_@q&SìkI6D'2N hO(}b0Xes5)YayYT?WmՍ75g7#Os0r. dO"IVkBF!2T=Jzn!κt>@X/((*.Œd C{;Х: ip#БͯrW[Z1fHQ49|క[) Gg< kэׁý2ԫQX4xflpϾHr Qùd0z?G /gLi>µx7|JPӳ [7~.?T7̑#. NY\\|F iʙ?h^’Rzy 791|Z!o3~^ILsg>>gG4W1E$sOK+ʔK{"vr /Aб~1W#B}Dsr)d\/1F(ZujiR*I4(^o$jf|l+B^9Lx]#Ȳ(֐S$T+#w*vE& U w!Ժ[_AVSP(75%?8]9LA; PGs)3{C^L ӽ z&uO +nm:! ӭI†;Pl OkȈ?&V%4 _#BDd伍ϓ"ï?^#_ +-Y;?%9Guɓ~F蠍jm: _n7LuLI!RԩoI|$5Hm bo4Љ?A3Qqg{o:qd}-cnjb+=v9 +yM#C)4{|j?dd$!;(BpQ颱żQ\lօe٤T\,,`XЁ f=]{}ATX!JM(}FS/#J?kF>W|ed(~p\5{`;Z\@D ;XɖA!SM>*`u%C *\e7X :z=q88݈wDgTW]M{WA);3}{؈Y+۵Tm~R=Qv_=q繐dHǗq.h1?= ZĠw +-e;{Rn(?/~#ͮе437·orm!&l;ϲMgT +´a~F|%Ґh8t\@!_Wcx(1)X3(em`KUH(p`>uO& +/1Ngӣ>ꉪ 1'm|6[US@p aJzS$n[85 V@/KTbY[}{>2fܔbOS +p3VA~Fb"Җ@p[o5:N +a:GO1TcJQw# wb{\ͼ6O%z 2.tX{,?=1?UꆑfJlg/̔ѶB!?sLÁVZe_Q_@ed2X!V\-_# P?i[` "3~]|) ԯ,SC@8\PROV`FN)ByCq|H[>~=a60$!?$)ܑvπVĢFʺf43HM\jGfz0F}8s,q0oѷ#MTbaɾr3qW_jljlGxg#7|p_-<aUWv^;lW\.ìiΠ^b[傅n/1Q8&tZ8E%˖z, +0žn-QBEd't}Rvw)2|Wߚ`@ύwE,k+Sگ^1vuPD_9x;:CnѸl[)aw Ys쑜Q B=!ZFL۠ˁm ,b~.*wln?S _3E-!C͍uGȑoP d!wl8> LTQRz񢤂 &H= ڊF'y3Z5H0ߵ^~J~0ԹMw5,eg e%x+z|7)< H6.ew9zq?m}m-n-:﯏ "%~?=k7ݯ'-o??w??ÿ?/w?~ׅh?xwv+Pcr hLhȃOmmJvYՊTJ(ڧcPYjԵ|]Ҭ=vn*/.o⼎ק?"(鍀أ5R"DQYg׉`m17:+ͶC+c9jDН(C2Zh|Zvl `SZ^Y5\+֖87]"(G"ĄpsF w^9 \ /r8SY!."r0P̮% nP֜ + 0d8IUvENu +uњ{x֛B-IO@Wjᶕ,/Y_FyGEnb 0V_厉𽠲Lo4%vFGj%!!d_V+s3ѺNࢍFt ts8,nHas+#-`a!6mG;qfmW=*e=lqpATa#'VU4J/GY(㠒iz^Uh g.:gwrWR' +4hPO>zs ۜ*3Յ33H((8@\#]Zvx諞YLccdGt튇J%Wjt".ь6o(̑DI'ee`%DB"aɑ +\GCT$Uzvo}Zh{݇_q)m=ڼL{B3W=$5żV4*mʛFQz/edt5H> 04_ p0ͅX0`GN2)&偮Wxk zCo:`!>stream +E\ PJ?RTZ۬]*bA4Ͱ#11׭!WPsnϡ$:x wˬtl$}d;Gv2@bnq@1n+mFTOX~]װ{s?1ec($;EqIdm +CFق<#d' =dz5ѵs-ExrՐE>|n!l.!M_X~HȄq+u2`ZQiީV7 +C#뱉sY/rρ3L%b\Ӣ`x5ԜkkNIM~N97glȶtO|w[kzS_{G ύ'Vljc4RN7dWg$` XCv#ʂ|YŇgrr{n2G>Ze6ǡ#;pcvglz׮2ZC@%8k3PTqXqkZ{,8JjB&Z2yޑF'|Cʯ})Xjƪ+ܢ/vn%l"(`!i)#n -F'UxeeÉ ̮R\FԱGQqTe^!*INN_Imj?jbs 4CuQ Ij]= cS B42bcA"Ma-]al&ڥ-[1IUt Q3ދ߲GTT뎮")+8Kzc6׈ ja)ck:Qn#[DPћh<@mg`LJԵ#]|l`=W6_EV\E;#/VUf;Z psK}ί㏟]uHIJ<ȯKbcQA@-)+[DN.+i]8P+4Q t(ILj ,g1 +XGuEȬ,;}ֵejD+sX (Vأ\EAʄ?R> !&G!H;ZSp乎*2O ٠[uO2+qH0UWQ~`]䅪k{16VF֟p g<na?^ψ]hlNc"hDm +[߃ڤX_9+eJzl-";oEA`jj3F㱠-PW~ (̈́BqY;_рHQ*l*k)UX>S]e-K=X^'*:8ei]t +(oqh|:JrrlS +A^{o@Ȋ鯝3֩+u Jbqܪ3b߶.ʍ1U[ہQrjCh_0myN-La}?d#݃TTx 9;i,"5gx <:/KHBl&GH8Y)!F5WQ3s k7LB?]@$/+l;e;eZjlOTz7qnPSɂ`XŸkFwgW,YJvaػ͐ CN:[ _W`8@@fq޷"*b/RiT*`(!'CPt#I%6{|F쌤Ȝ5q ԗn?m!`ņi)RW!Gr?!\a3Xc*: =e_Dž !.i|dw DvH)w`cg3A%N+&UQ_ ?5*4:9,joڊT?`!.͊$aM/O%hi{~=P\uy>Ώ(XVz% 8M{ + oW=R5|=7{dL L_(*pjX3Qo/JHQdN*6ەvz܆*@G5-ݠEi?ESʁd`9(Gϰl*4 i X@|DU~T˥(:%yqECҶ1-ޙɕ21Uլ &+gZugQkVoidi@և;!s^ZhW'bC/u̿SNz]TVN'#,%ͧխ~}x› g\S;x8ҥ>~>U愌Ҕ,ODU\"b3)€]8y3|O mˡ(qƼ>x}QQD.k@EWW \qe;XJ3_~5Aa:1'=k +Hv=[S0SOSuuBhaC3ʦ<]CQ.;ؼXI~y>=FtN)rG(^:'v~nooJ#=//Q p H)_j5tX[dBX9oGHr +W_6+@^6 cvG,‹12+XJ%n[wZ1';93= BؑsG9zˀ(΍ݨ6+]quqٲvO2OW0~o^뽗>^z+ahhIRzֿ{PSk(q?,5C LT?з@ +UHעN|~G$ދMQ<è%:L'|lFW]UqV7 + @ a8v~`P[iHms3@ZMdL!KWCrUy?0&K,xLsRW_nG9ޟ3DF5z{% b#0ְSVft,IKQY +7 Sq#KWha=+?#uحw{Z«XKsaĒ&(18o?Ʈ'2 M; a~K (`2Qt뒲.h_m0% 4Pfp[?ofR0Xx]eDOv#N LB3V6Rk=l<0?DSu{#~Zx{Q1ڞ3숴^.qDkaD. 2#3sHQG}5wtgEec4^!ƪjU\z/bD ~d˜CnF=;#la +}܏{d'Ꙫ'4mm!5D#1l2O-|gQX1.3)Iќ0s62)nOWz"ڪotJ3 *;>S^L`S~5ׄImTT;„T"RӧD80`{N0{5wx +7ơhCꍠh+*q\AުMs?t N7d؃S%%3jFČ!2GW~%M%VHeUz`P㊇:/3뗻' -G9R6v*oZi$ :NI`~ ;:q9,=~U1C*gп#TnnvdeLWnv{G,SLGԬ`-*H4:l$_F4%ԇ.>.c[aa 0T"}!S9ʛZS ωh"NNebY5c?/\&yYGoV \OZ*my,!Qu; 9G .4l1Lj@Fr}qA\s* 7bW1Lq14"h)-:r.EԯXk :vWvǻ5KzcUf@QݣߥJ7,_guj\Gp@9huej1i_+s* r=|0v{Hd㛮aZXW#byYPл\]C{@6doX"q%"|SO01e;%[ ӑ}4tۇp"-bU:Ma㲓8]<`f@X^kBֳG5տi9 axd)y-ʈ:$!+b %aGկ1/3KZq[6ZbKGNFj9OO&ܞ.+z\.֛(}ڜ6 utI]^ Ѩt4?-+DXAa:W\a`v̓Ծz\*FDDyDў ̙9:L!q*qj5W"Kى`%❂a ƿ v)@L:Lzj9߻Au3?E"hZS>K3fvjL~§ ߣ+x<ѽp>tU?(Aѷ5ݵ^OZwtp̡HduTsnOۄKrܻҕ|L~(مEFi7IQwǦjՒ}G(h?u޽CVz:_Ah$箭 ܑ{*7|:G0WN{~sqڶ [ ەAX e@SB=\<8䒘W|Ce,+s`[{1h(d+XIc-Γ)(@Tl*Ƒ]gl9;`w j &]z+ܯO3$tD;YVaҀ`kX%ZEu}J 5~8֜$Ղ sU2G 0ve%54J\Pml!#Am!pR_dK(S׼fͩZ d[R3DUK@p1iE 5+~˖YS;iq/<}HBz\JMwN,k-wfY+.ȍܓrh P2p׭5g9 /;*MUMM7lkD"|M893|MOȞ~ R-jR{啯wR4cE! *#$~ÂhUt;) :]d7{޶csKg|h_ ވ< +ЌLۥǪ![d_;U\/T`>+eBi!7Z-(6c:6$M'$ 8kwĠgF83ƪuZoyp#F=ߚ +yZ +ar7 ԠUߖU@;wS`+gy3ߒq*ǡ]|rH̼U TqMzcN`YkC37;’˜pMd > 2& _g*6"n=ircJG $M4U&J8 fp !߮uvf% GW ^?_"Y6E-]{޺+Kt.R77Zm\px+Gr>U4'ӣM@y2HGq%~sI>Vč7)F:j0X!_*DcN](L6,`#VIq%3׃E M hYX+57TE>Kb !KSx#Yk{QdAv]n ATBWXg YƘ$01qJ xU0uin'Ԍ9Uݯ5Εr ECdoRЩ۽d*94Tn-{z tzߧ2KĽ;r ֠+ꪼu8t u,!_Apo.rm`SWU/Tj~+ɛo)kBzh%d@WCSd=z,wPb (@ȨI6'H9Dzn4k 8*pOa0Ai#mĸ#&9 DLQ?lYG 4F+8.*c#di.RDO='M8kqlWљpQY2@{%<3%5]>43l` ׁCht6|Q'/.ɽ#n k6g$Tm'Œ~p.w=ײ›JM<j)I@ܗfHIѺ/5ضah&ȧ +981KT: zw.?Rk::}3(!~2t´J@j(hEYQ+duojN~W~%cnB?Cc??8ݓ*0YU5x6U4T}Wnns +4qmuC$)C%+zXw` g785 +>9lQ P/-E<]@*i'*Vf ΍'a'-(T0un:ãO&Jç ˴Fg +A%6骡=W>=*,*2&zޭBblUj ,p`y.մ1&"i[A[QJ9pjOQ֊ĢăXmBח.L2]% +PT3cE>+lo2RVEgC}aoxLJKTtd:֍c" +=Ǡ-=ry%p{T(A &>Q(I+j+~xٜiPQ4bl_QLUb T/ YAzI^ɣ.x" H-lsj ن%z:2*f#\QPqAC@f2C5XR"')Y_ukyeZ!(XwAPib:Q {gBgvoW =7Ty5s0T"r4*$.V!:W.!&>RbhBO n'³Ti/睇,C#Bc=hk=@qRXǾat0~<4^ٛlj ;7j +ڢ&QSZT: +%9j +X˃cI!;R0 +hI,bJTװR9b.2]Y]2H:#8:2ed~?;AUP>{x)o!-x5j3%*/0=ΆQ04_tw{ѢM7U8+hOٳFgZDYazU=^Ȝ4w:fiCKOZ=:jm[#PUuSkh BI&T# ܩ]Z% t)9$[ Yx rXL%h`a\f(xL/tkO:y0Kv`[bJFA'Y09ÂH4̽ȡ ADLe +30˛Ƈ͌Rɿu*q FtdOXuqL`jyGDA;L)/h[:DߔYf +Q2Bo&t&f*G(dL-?,kDsEIeߨ>+L.E_p0 JװǯD1 gTer s8EpכL`QzUx]pwy)#EWe,"xF 8YxZM'k ;iD XSX~՛t /UD +&sJԾEueAU;PCX H$|אUߏc}1`cѥ@һV$u,dݮɈ(5n%^a%r*N!t N-먲L La|ܼon z0_7hGJp{%{5tE1!,j쩸>3 =y6v{8/ 2QC0b{QGDtU\ 1Ul>GՐ|qӧ) +TfjDCHn]K*6t J">IGelJMoZ1O⏢vH:ןҏ@Y45mDv췟mЯZKQQ^=}JTc&~O>dTh~*|P.JkLfNm=sux$[;lhu؜FGUĖFy08PCzDf&`(%;ZcIH>p,T[SkC;׳6cIotι" +rc&jn™SQåw^‚n +BjYɔ%+j[{|KW )P sx%I6a6Y )(D_ck؎\x='9z;zKSL'eqװ hv|c 0;40_N@=n`WD)KS gڶoa'I5|4\IZV?W!o$e +;bXB]/Iv\+#ElOYce*/nvҘZtv+a~ `:pu!ȓ3#Z!(VfL)ZQ#Ld +=ps2Uŭ'X 0`vZ)>[2A(C{m~'ce("]^Xv^U$pp am v6@H9(4IyeJBm8PT;- a;a!;FJ,,="-8M }{H(qճ5"NOP49Q>sXPl?/uo^O7x|q;<-fwCY +A:EPE10 jvjEױ1vڸ?&̚`(¨="k%pz Ta͘s*4;bpۿm?į=[LTRb (o%njhJm-@\*a +͜U ]|uruδhMeIOUT|/TJQdu*(IX /#~~\ڹ|W@xUt<$_f{{] *PxWH +.孺 Sm3lܣ?Jd_m7D*.=XR ;0$`T_AO {SYAU"z>@ 0۫4#}j@Gv@JVGX(v,:fbvw+ц:OfzS ,kHs2GV DSIꂡ=TrgDAAB޸QaR 1p1bD0ƒF +:_E;AwT +g™=MH<yul/%$Z}'W1?{ 'L\hU3O*\SlhfJYuOײ@?!@rnf 0~N!5!b`OqwG'gCSEУ㇐5 _r1X58yDҪf֮QOqQmD?6{>2 +x8Sg%l*u󲝖Ӟ6ewL[Bd-d@Fg̰Rp -/F0$׏,8V**cIRdhveVKTC + <\CG"P_DeŀxakyXơR*Hn89Wߟ`v]>Ftu%=/b=C{'ǀ(|$Moؐ/ EV#fD} D#1dOJsquHI@A,L@ZxNHc4(=a&a`H@4#E"*,L{ 0jA}K%I^@>橸R@{#T{Ӭq4nyWIl#ȮQϦq@`z֫~' +%3CCm{f/#k}q ܌d}bP e{LQP]=(%ZHx ={Sk۾ &GGh_ j@Ba] r@)\I\:(Y+˲f8ԃm<\ZS9VeMa&mJ ۔Zwpa#D !q챗}Ekg@TNS!R%a@8 nYt: KuQNp Cc W1F؞V.kB^DF^\E=`GLÊ>0q97f@O9R;/h/k 00!J-KT  pF6EWxv4 +":hJ"KDN O~5ysOqk )'Eb|4YUyDxV5N("s˴t#濒YLo5J &R.}~11IXjFѝ`P@'ueP^w!d')yJq")k|ũ*’8Q |g6<w+rU4B tsl(9D}pX9<vwq˹:6%KPyRT%χP\QB69d lϽEJ6.M4KWV8fLRBjOi:b)[d` +K«w}]ٷۮWӃ% + 2j"&TQAܬ,TTE@PVFva^mY dy% 93E(#dzy\9þb RWEc8lq+oH{gF|& q.aDt(Av_XEa1Bւp- +t%U@,)c h(EL%=cK*,d0Q).( +$Ԗ&AV#5?Oh5. +Ѕ܌NǸBH vFk gv<ʑ[5˺^? VM.LJ zv%z[|A8D4<˴b,}nᅶ3廸f5%xt\{2 8"ϑTQsHz,W(+J|?›&vL$KuRС@WJ8+2}gem]4p& l<^usUCvi"֊%ZGQ<]F=u_; rG-%U수@#5k")!@!),XO,`wi-<.(xgB!'vyv +77ZF%ԕ~@,>ԕ~V`4?* +:]ɏ)YP=faI6̆uȤ g8k䧵$1v +PiE?&t l6cЎ}C+ǑڿH`(E{n),u)$QG1^KQ)n^u{(Pg8nȀg*OLjv`тoi @ %/Q[yx Ri8q ZkX^,?QV~xʎB5vE6L3aWfc9LWݾB-|II7 OL@= Һ=ؚ 8O ? ? _oO_?|~o_wow_ǟ~o/~7z} 1PC,E0,)MN!q5*)+u~. {ϿC{ U%0U`ޝ!!сZ1UmJbJl%X:囒N*b^?y+a_!;AbŴ|-~߰#~{OEu[`8pӪ9KΡp2sd(,o#v&ĂБׁZi7!RG8K5t|ނ5l@ +Bp ==!*cloELͣل#h}ߓ{RLՐ vY5r*Vq!R;4 +%hVe8ҋGG[O L<5$Zn[K"WV)Ύ3 t)EeP.4HaYt; Lm <,-#YC1_rk Ũ^~ JȨoj0au5txP.~ 4Uy,:p\}8*jE Re +9R̂IK0Hc]9s A`fХ<2w 欧uNEИFG]kSLJHK q <4ʫ^"m" U~8Bo:sӸ17`Ն;Ij`I)@1KX`lks_V"Ao8b&*G`Оp#"#D.ݢ[<0F1m(c'*}l±R)nĮ}|=W6Fi#5av'/F; +]8xM[ϏΒ9KڞJؾ?gTE~vҬCWOl[vG><+:{ W1x@|,uAz4ۓxsecɮ/!ZkyfBfd]P*z$xwFW+k +28RK\F~ N^Dr%Ω2vdj)P[##;IP_:px9S)n^%DR#x+h'BѤ"ζR +@mAk{p;`*!jXYh'SDhdFy/e?tK Em8d8V ; _9T|҇!*m# X + 8"2 Zg4PoT__iw=V>j,`#L18lg4ky~zubWYE,>̘ZO,8l@>$[4q.NZ:4l| N_ETky e:ODTƒ#Ѕ[*ړJ{ĩn} }cd&\"3!v֨qAA.;־Q߭}K[G;Ozeur"\CKx:J*3FcQ *d=KʫJ`|cր5lSf,p pV_ }8pݯpw [-BC];xM`iuXd>af ma}~[=5e6h4YΡ<{E2D:m@=44~5}}?f5 BЖBf7z?~͌{'z +}Tgόr>Sq0/|pEsz}CA&TBJo:>yEBlOeS;w_igvHw?}BXwzK ŷVihս?6b ^Gf|]Hjz c9̲ok!ڷ?Q>UkY)}_Oegx7@.o@6-^ގ͞$ +2%]h#01I;睺D<咠s-jWvGFF ,@Z0w )<@3X q/[+@.Nؤ"X5l/:H{V֊0fJJz[{%Jp#`&Ҵ.6oa(-DnC; @&=EK +RBF&xn KB2=yQXd[GPJQz j$C)֔BU 2( m &wVꬽ5*e]8N\ Wnyh5#.M|î-IaNAAvNFk#u& ͖V{3 #G+Pwq<2 oW]eyZNҁEiz>T2X +JogSXD<&K; tpD'9Ee') 鉥iN1F rDШ|F7:PYT+ְSac00mYgp|t "eFM޶Ko.~ʅ>(1>]k?,m5f=)<*e^ɋ+HG~x݋BmGV<j2`ׁ$Yܿ)i$|sڎ4=v;v 0Q*ۑI)o詘ɩxbMАMZȾӉf{ q8yd{,+0/J(ۯSaI~@| +^q6mEuG)RjT>pQQZN76<s71M@ mSE#ΥKg>hQ*Rgа@;Kc$ 2|bKͦ!EUէ#yan"P }Y%(x 54 4M<Ϙ$<4jzEs"=Md:a+u,+"'R!wĤu%PZs+߅v#G\q**[R1z˲*⯻`bEWN>^,Y-_':6=@egT %L9{QD&_9L:<0a1P3Kx5(Ё.%<)HPb܌ssa2#/kh_ȧdh9 %n{N4 g}P V4WU/xRZ;xp_&͌XӮS +z;Ŵ~7Rϩr}$`oH*HDuXijJ]{X`+v46יm7 z8 ʁtH -]˳ [ĹCry.4~ =aax@oaȴ'r #:Z'勝љmDM?R;Cףn-l!+v,i!G/=!Ddx߾VZt{kоh_f4n).ęָ1Q>E00B)4"'81Q +-==X#4Iשif T>1 ),>cx$e e$bqFiFpMLh3Š}Yh?>E22 +X=Q{^ŝ"t]=t> }Uu%@Y㻌/uD|2yvserqi!?R9^c",J2;={w~QTYV{x}XMb ]k!G[L :!p!{񶮜 +0ܪEn^HRBQȴ;YqZu7v@^+lJQ1hVw +,ɖӇ2g#vt}aFc3KTV+ed_($cOX8#.}xWW@)xe$x 8%+6{M6>Fjn]OdH{A=LO- +$%q)7e'`O@31On Ge{ ?k]5Edh8JjOf/ ꗼLy?CгqOK.}Y&CԲnޢVI*Y1Cw +"@LrmCRtPӀr9175!a,u*6fU^KkD eEMPIaD/zŶʲJ>N>S8M;n(;:,G"~ KXo`Z-(s@ Jj b=.-E +X$]* Xo pR^yr"`0e,]$%`ٕ) +]Z*0I"@ e1UPzPa" B 8 u)ŐzF{ B.~W3Cq@Qkl51obTBgpj?1c9eGW>]ڔ w^a_,z{')׉qBAv,j "O74MU]eU`inWa@F8$6|:ԅ= k^.Ҵ5fZD=R H:!- rOÍFBm?mqQC͙=כg̍nj>Ǖ$T:C0b" vFPZ:X G= B<[4yEBXF +Dh/ rJƒ@a WfWר`)h=U'ذZSAv]|W2KpFMv+""FFER~XxJ.*PunqH{A2}؇ pˡUuGmp?_sssgknΕ)/?0;*hcoXjckz ^8À^hyZ7`\(ܳו1P4L}1g_=J MnnOHSqҰd!Gwu\3ȟ"}A`&5l;tOohb1A[1_ϺF>jMT]@N`InF^ؼ6 xFm> +Hm~^NO^׊$=զӁaĠ:w~×>\Ę 7%BCX!"CA׍:҉鱃F`s2o8[x>#`hBL@D_%xzꢥ\יk!y (!k6ѩu"nm*Ѓ ( `Pj = +c{r;@ 3f&,'v~ z?U16,_J6{pZi>nrPT\%%Rr3$=͝;},Ўa枔Ұ(-5}/P}TU,!T~IVI-BĚMe8a? 0;CZx1~R@UL = G$仒oJBA@ULdl/L-YO~d'4e 0dg$;@:D(6L^Qý=&S{L|oX9QϏ"7Bf V\ki\{g?ds.GAۣ\J}HX4vj;yȲA;aW³΃Nǽ}ykp\9[3@W ;.7q,?6ȓYzvIDHYq4Aa| bHVч@Hb錁lx6 CIoa2Q/@xW="U]׆|oC-Lݩohn\w>o\ Bд>"ژR~8EZn57ښ;_1E\X D(Hˡ[+%kT{U :0е+ދц/{F-2" EBK'e=nA,d@,pԍ?NK@PSŬ`=J(Mq|5wBRQ<yJ4XsL@ ̔wCF_y/DXVCAAIZ'M?"9P/R0Q8K UI("_Pm"2eC4yzZbfs,s 36'cB=Z +vkdЖJQce8 Wg9aSЋCK4Gm먼Gf{Tc-gh{U)5;EeC&->8Li$CAt&<DxN'!7r4D?P +ru?vVfB1Yۡ:+"Bkgb'vaIJO +v]zO`|o_ &UeOhPV:Y)H0f$9ddGGN2ݐ3h oC 79zL8o.<7`^ߐI3H?+pli +h(B# %~ w6 n<׫Y?cŕQa 27JHxTf(}r?Ǚ ;] DH j|4 +v9 )lBf1U^%Pl48mDm`Lpc_9SS}CjhIoDyx@_#.zFLwHl7ѹ0't/B+XYGaCEEܑn2uQ)nLlXkbT&6]jM>ر)7KPb =\,W E:,Ro2vソc&,tt`Hs +7 BF9hpgձMr +AP`4`G'2t:HbD)Eմǡv%l3+(ʀ.bo*Zy)|IIK}~z'ڞ*3P)& + Z /;ˡhaY0 zx-,qI- +'ZE /xL2<}ktl IBSz sKSRePzT(-&jrޥ^,jHWZl߶.`F߿n$e4<]PQ|Qp_$u4XvPc)|d'ilcRw0 +fQczD\VTLE^I @D7|vPR$Y3Op05`8V520"fi$gf4&lnZ>NH>:(uq*:\޻~6eAk͈LQ&Uk=6A4IvdL1+$d1zz}MQKxs!u[FI-wpIhDp늀h$A*:ec<9[q4,h%\U̢?S@@f F0Ua&H[7*KgF@ɄW|ƟfxE| \l/!g!iq-;%&&+ڊF 396Uq7AfƩrHi#EiilݤPw1@aHzilaQW5D_"~ HKen/ +h:(+Sv#S4I]` zGQfU-'_9NeKjlj>{Yў:uk0\YKhy,c+q.UlU=ƴQ1&mws0URVD{&1D;N ̘7JՃj+$*@,yFacE +Dt K ;1n8u`=d*RRE9U0t_IkR?P?$;iQyñU[p` +Ŷ X)FيΆ; p+1|͜Ks;X `0(ìXj +Fv@Ta<{ +8RwC!Ck!^]-ɪX/iGngx_|0/ +=~Tjr2lU*R-|!P qKȾ-JDzBAiSI|v=MD (fEO?TL zҔ4`)RKR`fD!w-;ga| R^+Ulg<00h@@tYF PT\ݘ7t;d-[|.-V$=_N=sT~=(Oo0,_a(|e6US)9/&[EUT/q YVQN3&rFH#m:r|>s.ts;;}Q},s/O5_Á;{.Ȯ i@2~rJWq MaW.gѦ9$b22Jei{X$#QJwjm8EE,ۘT$3PTsz0ɻ BגoPcۊR^P#* x92$SI: ^ZB㝲 ʲi;ÿ@2+OD6yL}TJ.+:S; v&CHL*cKLy3 M +HwN0Z"v(U ="WOh^2U|DU#WOUW*R  OHրT + +0S#< +Rev[r=M1%aĥD#FTQ3 ƞb/BwpVHyG,mxLȍE;P4]EJ0g8]&E(c Rwx"*4S ++:^NH^h ?(ŭGĖNf0Y.E>:k0W#W-!OP;*E*Q袼/[Lw6Ѻ0BvBڎC4/uk҄OP)ޏ_M V&'4Nvd?\~wEaSPNJ4ݪ0"+Fr %J7:jDA0 +ef8e̡B٭QXxcP©Wwv̚o[2p6 +&$봕(OZ\s!sAc-Yɽ0CU?Ⱥ>!c$NCQ[0%ڪgFsqG™!&[ %?عgR|VD +ǯ8P}aY@$vĠlJ,t(زhZ4w|Kʥ`fsrWS E%Rp^.>,tYb) 8X$ە;>?1(`˫B,u .):*镌 p@N]5_Q%"~~K&/”r;"z dz.= +[~Cgsz$:lZ,:Ҟ at @U<*PHQdD +FF1([hte-O'@EamD툢t7=t~_uSC z:V-(8s)G5]5Ĕyn@ qnV(G0;SϾ13oնo`˷XըguQ" |=wV@)kxlFFJbiЍjH57rtJy! ЕфA!)r +fECc^v'CBgV|ݟ> + J8. mhe$(Gyp?:U94iZw>,/zL:CD2)Q.2όY8C9PRx 5FǺ1^T,-XVh'c+9xK\ywYVӭO;D!u &RWw]+U8]D ҖWQ_xz Z"M=f6(Q)DD.xwX;:\*C|=e 4mX$OU{z j`O@?]rT2xy,SVBMAh=\8D@8 Y)Aw3@btE\DjgPӁhN}ב9+ x׹o,GA ,Ay . qz7xX%1-0JQDs [X<) ,~V8ZHR[g $~}p6%A`gPAywY,G?|",`4KN5ϭrxc#бB0ռwbKVCz .R@<9W[//ճك-㒱6@ku%`QRE6|ą񾍨V@Ig?Ϩ@7big5$?M|1\ΖBWo&t-H L^wd\Sk~xlϰ)Bxųwo܁dADCumUpP霽vʒij¡JߙG@,z[Xo{B_04uƆęJ-Y_i0GGM!B*9Hbg1ڈ!=d~ZqgR{؟ThZy d̢Lƾ8)i@zo۱]|kUiu5hBM"k1V'4Q,IZ)Ch-v9M5sc>CO +Z&c7"L0 Ba&BUH;T>03Q&]Um pB.`2G*VիXx%g m}?!wFgPb ?dШ /,LQN W5܃t9;[Tf;i^!gQ,{D0C )YI|?:P,}?R B$t +ɏ a#I~r""|\G^p:NDͤ0_ tcʺ$!E y(YG}Fn),Wjp\`$i#,:gfOXiI)duxC{Ke~y ΆܢNBnUYy(>%!JwY Gݑq"FDziR<#I:8Ș!#-9oA*:8gQ_Wv[ j^LZ$R,M(3I`[>Ey\&^LD-Tdwy7$ WwzTB$'5FcM3Ի$&YG=< +lKt +T"3UApO"a:U53F x*]VWqW]iY/Hs";*0*0jE h4`WD ʞ;}c{ sGwtV]{ɍ!*磢ø=wEQ"PcO:AE_$u2UG7"4eUN?rU Jh)tPu b Y ?^$@«9G_!aAӌm3RM7m@DpNS9wuRL{_!RQ($\".)vز9 +˿E9_|ßB &/eF +`CF^Q4Rш/Y}VBE̷ (ה +!틀A&Xm]( PVǖl냿(}'Z Pl[ Rn<.X%{~9(wr?_-! U^åLkz}cEN3V \yȄ(*ٸ|"ڟ +?e!YF1 (7E%O/o47MӃ -{87xR;3D? uhG 5AeVunrf恪wHQڜ[|ukag˛60J7] S=gnT QK͜ߨTŃLCb'/R\Q,+!IR+&QE Zw7@ȇfy<7,MqD"eGI'3?R"Xљt|W'-ܿEqH#gmv>GW`CLv|;uz)L+/(™̜?d?}ғM|e]?<^ ~m +(of^@(ӽ3(P-#^(a10d#N퀮T JZ!Q #NEAfI9J]8 =GFIP|Jc|{*8c^&*(~G; +mOJ| .RQUvbq~y &rb(rB_"o942]stz6GRsd^:B+S\ՒR `G6@M|Wv)x"͗!IF}b'`D/S@h_'˔8$._D\?P9 BWYڐSY?yH!޿iʒ_yǃWt@aJ:ׁW@$}ī֋GQ('@1XR8'^<@K~.Hmw)>G'bE+ۢ} ÓB|5&m9$iv( 4EqO4}{SCzsTYSSLlDwk^3H Ms40.pa'JcH +Ỵ*%$LK Rj§A+ ZuܖgėP[)[e4%p]=m^1)xZ>U-қ!G{P0m?~a۟oo?/o}_}9ׁgw?7w_?o%_Flt~4۟Es+N_C~?~}h|~oDw7o{w/ݿ7=0?oϿ>;7?Ço__׿8?|~'w/|?Ʊc_g׷f?1^M,G;8#Eu]Z3=s$΁X ,v/jxI>4>ftQf4e`h?$Xb8pw0OR` +^ki~"zW[ _$~{\_E,BAjFšx.G]SeQ7h +lMJD{ W[>KXzT,f2=$G[xpՁJMu酧M0"j`#3=VәNyfв}Pb'= \$LS\?ϰlq*яF@j)h"4'_*| R:4g4ALi' GɫPX:Cu/No䜣Sof+ }  MT"f^ RWBz?;Q"^Ҩ &w$9 GĿhrߠ>s'G!7m *=E"Z[yx1\^ŭYqtڡu:YW!C@tV])쬱3Gfjc6{nQ㯾$ |êRE |ikZ)iDv1[|evh߈i\CC߈I>II D?2؄8>t `'Љ (WV$Cła z}.4 Iz7a \T Vu=g)̒ Ww$r0/BK%Mz؏"ޖ hi'TV$vL_;syUny DG0}~[I3ydPFAeiahR}RI +d|T;V2adq0Lk~Ko@& &4Qݣʌ D!4\ߡ6e&n}HHxQAzFVԴPeWD~8:f&/ QuKZ-4#f>C'Î+nyÎ'.(5*PϞ!zިzywhuŊّ3n$yCA1[|ڪ:cϽ &_$0CMԵLC%ARTNzWL}wܒDfX"y"?ȪWF,4|x]?:$IHby8431c˂ħ,vGi~,&a} 47"` :&|}i|#%3@խ^fYkqQ]H0JCU--rX:zhY*Uhc~m21msѓke%Cie4L7Z+vܭlHʼnco9I 1l48ӌ%UCB03/ 7."5;'QC$Gҧ\3ji2TW9{T[[TE[M|rG_`<]ft`U1^'Xe^ETuA{"( |,^-Th1#"P٫gvxӎ`:&bJ*}k,!G8 +ODl"IƜT%]B39>!ɑ%[zd"M7pi2\ځ#_{tq)" b#s +I;7X-i-Ffv `&384O~`c>uc.>7ZU&6CdaC1dm1[^x+|I I(F~{Q& fN:TkdEo\$k,7A%>9|2}&Z K n2$EdآMѧxbFgSi̳Ѯ hTGL_ BuYD֣AXamX=&9C1g5Fs3z1?Xa蜙7Q2# x]D~f:&zZ7%A%w}l,a$#I.eN?3NT,%'F4Fqc8Xj NCO1 =#H 4xdt$'3Ybm楡$=7DfHÏG/ŋĘu+˃)6]sY=>_H֙Cwh!Y ?1;;ϱA/t^H ]." Ttk¹~bZE 1"^*j5t:;4Rʣa`5Jm) +a$ۧ(pkɖb;#ܘXj0lZWK`D$kԆ։ر#vRDIF|4Nl" u#fv>^fe#yl01~au9`67oĉ昝Eo$ IHE%dzJF0Ä'MWsO/ At*xXqL~HY-⿼v*ۅ崄Y,2: i>r`FA#u;\]i +\H]uGvR y$GS#z<(]3Ƚ6 "is? =Dw:c :,2lmNY8Ҏb];5\ +)mҡ9E4^Vl0>Vυ旙N/z-yS _a#C:?P@DBu]0MiJ4;fA\ߑۢQ<?DF6z,D}Cz$|#hlhPacTَE%ZvJw lS`XM'`#1.GD +Ct8Sxߑ G1[/@'a(^bKOX4=X>0>(: O(8$F5d}N>Ele \A(:y E$;Mͤ&D3D5]FnPy}Duo T!`6F**iy?C#͂kV3ۃDr^M;p-Vz>k Yvnjhpz[Me4sy@:#K=u;Yb@t-el#@B ITezCxE,9&p=PfT$V99I`rnѣG}>0a%R!ryc.G4Abrԅˆf8-p-J)0XEt;34oM-0C-/(E#{C"Y 4 63&vz +KFY2nm^1El61C4ɍ1yYQ.}J̳# %*Ұ쐧`d-QЙr6\]@76>''بD&/gѲsXOd^2c"Qg|e 8=y>EMtjE_Q +ʸ0"41Bp'6@ĕL <+j)}h%O1"K4Ϙ8z>e~ULڰF*jo PS`>ͱFu!4 IR =c$2lņsjQBuujs1+uhf5Ϟ b3g ڄ 4)ed>|ٓ,]lTڛ zft#! }a= +F%+ +X· ʔG@bW}M +.()O}F!prv|nC!ykUo2#T:V>a`m&+ǵOH?yZc;d;#(jL9-LX_K NlP(U#0[Ҩ2t;C5PHt +4 f |c +1i-<6tmOs?I 8<6pEVWJ9)Ĉh/$0&:NX;+$Sc;Bs{u-Är][5lu{ٮ q^cV!~nHvrBEfM(] LF +ułID&ug5S)ޙ-IJ~`V41TS\3+OPh}2UPsbXX13} _tFG(eBLJdʺ BBhkUsm18!V!1Uzi4d!'#?O{4Qg;-&U`,k"ѷs0`kLp`>#Ũ`/r IC)g6WX9x䣋}#ZlXbh<*I})QNJc>>Q?u.Pz!^L!@n ! +WeK B5jcjnN@Ұ9+d܏TѡSk"wDԓ;f$GM\m;)߹Rz%\RjV5E:nT0ɚTG)5*kvbxɢ=b/}7Z-FhЈ]ZcmaP@EkSXɳ)<*0̶Ր+Qfk +y`Ry@v=QsP:"L|Σiߍ^ɆL(M-蘒ŽQdQ>x]g"A#!ю[TGp/r7&R3z)H la}u4v[e=Ɯ{W9Z7j%mdVی#"[!(doNakXa[ ZI%E.I;.pǥ("2jƇ$ѴROZYh&M%j'hX׉ lG! ݤ$)tJ=8f3+TJFip<#`By'L5 ?b'](c 95nq$[q;h&Y(e7=@HJFYo\cVQC#"n;$2i)`F"cu{ 1IoKJyP@Vu|}9.e9+9.1H -YHU+f3빾 S$ 1IL&[tZÞ &0SM.Й5,*9)FX%=Rn0u7LrҢ RVVB8F4_sIP ;jm4je7<L (SXĖ(fJYQ)E;)f6:x`R<ң,Oҩ9t-#S.=tWn|#:kڣ*Lҩŋsyld^ݑ6󱭤.P1,x0"2":aIS[Q== UF \Zx)-0Eͪ +|ԙ-DEoz5>n*Y`W(TeC%)u4ӝF,vxIG&}Q24,jQR3vd5W%C` mv%)RpchuB |uD0©9M s,3xcyuՉ|JF*G0.5-+uͥu$ B5s0. )J942X967*2b=J#FSKd(pS)J;(w)]ˊq f9^$QJ$[8 Ji?f~INkFYh~ Z]I) ɦqV7Q%oMPϔkcSU\ PʴQf8IR 6kA%^n@?BZ9D&,F*YY5F/lS 8+ {;6%:Jm [4a2V4c#ƚ)у7u42`&o;3W$^npP=Te~Г$UB$z r}dO+Pʧ@[.8m|x0m)`Kߤm}G5 &>JL24zA#DuL<2Qm $ XfI$#CI ϋFpm2`s냀s*[Nk@OI@thfkaջ7Rv^2iTxXO(=F2ۉ9܀U3ΦgStmJ)5o RI.f dK;)xAhHIg>xˡk{FLh{eDr0%)hCұ +Lj@q\ۭ±yxehQG3ʩWᨊ$IUKg#vPEq(7OA`a(dAu,a2$rԱŤ\K[/$N;VP.x9 p՗M}sH۩uh[ϧPbG"Xz!S6)K5WU$tF2 u(hm_І0DbbGr&ЍC]jV0BLr5_flϮ׆m$M`:1tk NPo8{Pa` JdSLc&-X߃б|BS愰|Bg<$d6 b1Bl)k&0T?T>CD'o +VmfdT̨/$4j :]5,٦PY"RK!6q.HNJLԌ5QLFmuAh}㇟*1Kle)G; +nCm}QVm <~/^KYN`-|.ƟYSD*T +AɍćM_mf{O|0Nm&XL_b@YO/Hv )@ش$dcOM6Š6l  at,wak$[]C厪Ʀ|?M:c\B@19)Qi +^n&GARЉu\68?FRCTTja^DRsuwl GsMnn@UJ=Q{ 37 jsj6|Q_/ULDܵիRu4SEM Α40lSě?Кn+t<[*t~&G.0&㨌βKBSM{vL:Q3~Pn ό v4<R-M[y[`家fš&"AMot3WB*ɹEҳi@t{!@ɭŲ:2v0%ϼ0Tn8%*K@m-u1.U|6z<:1d %U +iBF;_"jF} Tm{.DyACxDRDS3и0j%(^PExEm:"cLy4>lV0 5m@fӫj0LO4$ُ3X} tN& G"k2/J^Aj|ݫla70۾Sؕ2M$CC~rXgG05ʱpsлL3㣏lU]}{wϿyk/^}>x]B@O:ڊ?PnQ;%h?$\'1K]8;=DhxyzEu]ѧ]o]7ʧ1@ Urdb++uԜ#)aH. g@c; ;*К*,8\-4ǰ&苅aOax۪/--:S `"]l,=,jډQQ} f⇟Q@0I#@ ͇_>Y|\;QyQ%*ɏ[}:6%^|oD4#p}Gs}Zs}#YbIpG4@+Qc[ﯖD=1~0%~08N?J6'ՌBJmM1"|'go㾦3ꍢ`>2.^AuKԅzFj$ޓ͈O>D_`<A8jGoRKM3 Օ\_}kGhm>-T:CaLit憢E">yX +H է w1D@/UAϰTע~KԌ\6+gbl {_ - r/8Bmʰt7 +9K'Fwn)S}-.H<ßX bHGQP/>YWM!zld[X X ~?)uճ{vxӟ!`jv |~8~_$|ajݛn y?'~ ''wI9򛇥Qп۠{s|ZZ ϋe<ʱXzkr6wɳp|ו٫\y]nd>|U]{6,Rᨽ{S^-^pruN yc>R8s\lT=]dWl̃jGY{kwN8[[d{guS?;G"N(nmvWApmQZ2r9oYJζ~ rik6΄LЯ .k[9i˳|v-ѩ.d|gY>yApp͇7ww7~*ʻNm߭ U y-+V,sr>urdOR+YjY㰆|:%9WMC~P,Sv!˳|5 no,wι< metuxU&j& b5O>Iek-ϻ4Waoڳt[a<}랉)kgXm,˗Ë_V:l?n[_\wˠ$'ƙp GGn~T +,aY>/^wW_^d+Y{g?`x-/7o/m+Y(ϝ. zO +r +6 Be᷏Ya~XjC8/^8˄L8Nf G~cYL3|z96Ï>0[_3>||$K\iJxpQL ~Rw~AJ%kGbpX} À3yc|W̟LQOdOy<^lQ,JׁͤȊŦ3p؅iy'Kekp!_w*wշrp5>xoY˻*_!|,aN̒~o#8]}z{qݿ6vÄ _OdW8m2kqqMsɷMQ{68rrY9ON}767>H*X"D@yb(\}RAϫA6/:_o+A{Wۻ`ww㳯3r} 2v/îʃRuwn=yOrv|%quuoѦۂu-^x>5Rv6y91ʳ\0JV b!'MՀ.'\%n:{%F/yk9{ g} CbK}Q൏yP1Aā(igAⅳGm4KbZN4'vwj+f(8 -uW[*L{]'{kyNm"_\ + 'ڪ8ɟQ\ D^k|} @͕螗wѦKX5}+F^;{^.3?X^w<Uf˗7<]}6S]U'ۄø i1΂d0ʈfyG<GWW7N{{eyz}Ƨ_^?zp@>׶ncrzɏKybD+L 6?//|)h\}Ul+1|=5 |e_.^mRgccB̜ +L dT2^?F^,/anZ[ny[VpG;(@'"\+mRb?uG| :tdݷYlIwtZy1KF+lni صX$=-T76L6} ,;h@˰>9)o䛛VMA+zV~ʠ}0`(4,@+[9V@뀱x[ |Zho@f.3l4Oף_O~ ޝ ~iX59UOk4+0?x<0k9>n-_.sJޗo?'oPlUex&֗Yl8}K nWW/t_Rr7#~2M Lo.lݠ{tA=}7MmE?kVF v r]`-]S9[H *5ww/AlNN/aOU9PO!I^. pPq[Y>d̓U7y 2*N6 +7CRloy1v'M rpm}qSs9[ ~ot:IB6?Ltm[;h')"h= RFƿa`4A=5/{uamOr$^<]+ {yXGd2~1ݟE;<_pp^Ww?0~ Z}N{rcv`~Wpx:gAϋ1}Yn]_;+_;0/Zjˇ|FNCrYeMyg٠Xۓ+}2`]ak\Y2B r:Nl^X[ף2iZy?wΆ U^lϺ'`tJTSS؝Oy]:VƯDՏW<͖/vXpN@l`'ik^\1 +` ]rduQm7˕* W ܭ .F]H `[:؀) @EEQ.QNANNNs-[l8xݫ맹m8lůǧ'SlfӴwk;)b _8&0BuVk>mMjӛlLuzF6 {iur; %W<_y*7f,5 X`.\ vXvWï*s1fv=:,bX7tϲy:l`@)Tprk=HD*G׽_4p\jkŎ>-ԁ{A郵 +nc{> Xl"y>paaw@D>,iʇTb 2i[Lhi@J[<`Sekņtis:Ǡw[FA2Ao3_t+ne~|#)odg ` {{XILydby4%zfi&vZ`Np(K~{~w=_{ + G^s<<@_DtW;niy,'gMrsׁe^smC^%Y;|~az&fX6t۫:` m|ޫtL,x `yeM{u}z? i8)E$ů'׿)5xpXvy*AK}{oy z @ mr~v{`ż09`~mezëox8?3߂y;M<~hVj=_N :kY*|r*SWr4^n{[%a8w,zf}Oz-*S0{a oݠ6e"˧(@1YM p,^.­-.s2o-w.`- ]ꡀSJҩBmG[>(8QAF5w?V-m[ +D[NT6y{d1xukR"p(rNmϫ{evL6KRy؜\L;ΠN S:?~.ob_iM֒n˩,|`̓ X>]{͆ICY뤳Ϳn5fkë?tOSv8`Uлu @{@}s4)N_l+Xj@ӓWtr=x$|8} (,8&~飤Rbvmݧ%*Yy9Z`M@m-Nzh7A<_eD(ʓk $$B8nM. WŖ`. ,v^?﷧[!Nbo?I88'TGymx X׶uyrӮyome/&[Ӕ͊]kqH1/(:ORVZ 4vڀ0Uex"}#7Y}%{BTl:9=|`dc ИAluԗ|$]0d|tRڜO.A'nݯj-W [uхy﮹>;н(ec| +}0Fuة*fH{ r W}r{GfGIϩL^coS=XA2|nܛ?S:{+ 0lKRe /{o~-񶻙EbX>g\8jR +b8mna(@c|۠A>*Kx-=ptSN` c8[vSjo`'1) $22㴓`zF%vvGQ*\σxxeDb" zpS2&G_WnPpaEJj[1cTeC> ^ Qw<nMyж4Z suq_h|}9VoZW_ S?x[pwS4ƽ'ι(:_w\N<>[`n'g-0ջ7ӓr@TpjؓUjR4//r8?nB7|D\p`D:Xτ(.pp@8v8p<+wy:Jk) +6(`ӌX ` y\\+*ϰq4i1pfq3S)I.~\蘫l@| Rl,g*` +^ ?Nzly=sW;n/Yh5{Ov t'`0>IBc=E3*0dZd8z`ޕ9uV:_׎Ezg?8}###X*{\*`윧ÁUmRp{g`ЁJ`l;mgv)HTO 7Ud$䛹7=dit[ju)WcICSbރ%~:vN~U_}[f:7޶V}z.Xrp 6^i8q65`.e{Vff.u3fFQ_'2[{o3(9{.X`nDwx`oR.=ЕIwhUd?a辻]kwN˽ x >~swE1z*xme벃y`jkc9D(…W^;>Nof?n& RP^")QW`%plgr[/٣-/Yhf#wڱWh;aw(4 lUcc)BywL`.'a5ʎ-oIwY40/՟&i6(T9*ƣ+ѳ&Qy9p[{|x0TT^5BC*"{fPY;.W7|6l]YD_l|;n^,._K\y +&`r:WR/e+id%s,ӯN=G̒^+s2 Z~eY/j7`n[ &k)o87Ӧgy$#0 P`mՖBXB8 l[*`ϾɌUו.8>ˉyGycb'krtW\\uuh:o~_Y`㏜!u i]Zs÷/`:r8ī=ðl d<`\6.L;J-yX.z`.kMoFd;ȷmfFDi3[_9))wqIdri]l\]rۅ `H:}T))i +j5ІyUCR'Ϟk--+F{k0+4B0Lu..7%}8}ncϩ @c!i ] [ tGyK&믃ga~wbxugP|8ihZfuO~}\wog #s&hgF{iCrws@qX[ϕ_55) Bdkkr_l{YQSƩ!@Q`),S?y& P +b+7K1>?~8/"[gt=[=Yo9.ete-UNd)=MB;džpF\lm#  1,uL,5se7K^79ϞS0le358o;]W`l-H`$1^q ƭn[l)\ 0Vr Xe{6=[0?A)c~W8u=P-u.>oF}<[eg4 .: :,N6:ga,WN}boFL Ǜ~o̼{OrpZRupxjA:\Ie| i2<ɷ-@! :o>{m)9urlhWwT +W 쀁 |3/gXK%=8V) ~e1: +v} `[F9jnk/250 Amd*9>ˋ/51$ͧY$Xq2|AۅXUr ƭV'Y 0Zx8/vAj;[GɟeiRLl`]VYXe|2 +@.Zd0)7O?_sû\c@aЫ΀-hoNs +UuU{uky=z uy÷Gr:Aʕ`q:\uws ߂qwRs@Ű({?in{F ݘ?+-Y4g39Sj<.^Tf` s *ӻ;Ԛ7 LaxL*CV~^ꇇQAI!@n褓d&ZTH}Tǜ؂d#WTl-ya- 逨i213ZwJN_J!AEB(_,T}AAE:q +%"bԮ[, B{P\h9ϨMD(p1 ..+#U@ƣ6ʗdS3@8،  AHN4H U5ҟPRV6 D|R,=ܥSCNʤ niU]A( 7p`RqKMӳɣn va`&!qwtF/?x`=bq5XX RPAFoƥp ׅ2 6*[ +޲5tiYUYK!/ cʕ)uPZ$/VNnu7g +p \ZJN1E {2*V|ٗ5C5&֎Vxcr-ʫBe4 X<\=$x"J̹5&5iaU7ŽmG[֎/5ڸ;ٱ_R>%WE_ab&SC n;Iu&Or6.^uO2Pq1KB2 EIePp&1lFv?8 z,`gL*s\P'SglDɪm V%&%" *AٟFd(:eXa{#MFFg ΰ~ilgB% p+/pcryW{i6V#B%hg?.3\]@O@XQ{Ju#3s:=hoϜ")Б Ο[vz =vN(EfXᒃF˯*յ+ӻ7/=6e2;U,m|W#Gl gʨ?HOsIlRwdZn { bmחYe]5;HDy*5ukn͟tq4T 驓+W\]`mDSsNctw&gr۵+rcLLfj۷9:Z-<72R)/D[ 6JvW#aԖ?%zˡ҆ b&D,&6aryRm*&{RyY(,FkE`KKusn#7pY<]^D(@"ދ7jqb}ʉO:2FLj`@%|m{f#l +(NЉ6_c`f*^ uP15CJ.:8aj7s*R_ggl2u42rmץTfjKw͵<3z15z6j|H/rßC%T3z*%dS,^1:8|EZtiIJN_uՍe"KYt38__޺;@䆋g;gb<:G$xaI,.@jҟL| e*QԖ\Dvʹ +|q=&I@Xw-WO%&/%l4Zs˕{좑Px/I +Ǘ]u ?=sE?l&ؕj[$xuR/HU.vW̽?9olg+\~M;{R ʫbl+]pVsv~B.QZ[^;sg皅R59jl3:ܿgǽ1E[4~Қ͟()^8˫7H}O$ xh}+\Y56s)B^> •Hk;]n{Vf?9S_99E C:Ғi%V:B)nk|f.3}'9J5;_pJèHuA#& +.gN%_3zڳH1\-/]H!pOpy-2"ұ Upqѫӻ}K7K +sӥٓZ Zvoawʸ[1 $XRXb3:~Ï?v4sSjg?9w嗮Qc6N|c$D L>}k\.iݼ#W WD;7zkq>j,v.iHKL+Jy݄A'V: +;J3A@eFE\/?ݾ.7mq =h&-DR~9TNv+'ObSH GhރkvlmjK7ֶ21 fdb +Z +Jc#ۏXNY25o{IG)do7AAN޹I!;I-TV䊅&wItwYG(qt$O6 ?V]nnLNOg.'XSm^y }Cjkѩ҈ggd(ةXmG*PBviF>fDrq2[륻+Ƅ;0dtzA=<( ęPa1b tӗzBv +N&dS?ctrzOA%Vrі1?oNojf \ؐ f:M XX`*#r+rmfc~ŗlj#Î`&' +endstream endobj 76 0 obj <>stream +]62 됀 9{,hmɫ֝Bh +e"g hMLSn>L!!tOպ5&uʄР#F+w7 +Շ@2Jve@fԊ\P`eg֕ƴRڛ'ww(`*lf7z7DJLc.Y"9o,.vN\~q Wz`%&j/ONp!a*N6:)񻧘̜b\.TM\ +>Ker{Xmh.qNKw01f'YOPaԒTJRjcmIW^6}jF6ߡ!ӑȹY! &'i`Ϥ +B5/ lee>SBq[Lś65b$-NUOԋO[?GϾ~'[TQ7zT$jLe*^N-Mn|'{]x[=y_~|gj}v\: I" J$w#Oz{ۺyw|~}q uP<(DˡTPPZꮟj'jս;{ǿW(OmHl;&**}O<|߽|9R-ziz7ag )=lo])Z?࿼z3zG.?+?;=w|h=!sZ̈́LLzŒpJ!lfKs;swn_~}/~o_~O};^<2>mTg"13;\,L#2Q6/ݷvƹ +'fϤ;;9:|㰉r}fv .^}^{{|/?O~Ͼg_ݹSmm0łHRᄄKjg|֣O_ϟyқ?z~ϗ}c0c|ar3^El7pܹ}G;}՟_|_#6&D%-W6මwpy|y<~G/7_>ܫw-Lzhe͂V? % ɥSugn w?o_}O_}g÷|w~.0_"mR݀Z/4'W]^΋o>}/o_Rz`1+m@x'2r1om|W~O~{7_|O??Ͼ\ aC{1!ĒTy1vx~7_>ٿzBo=V]e" m?gHbB"|ۋ޹+W._^^dۊ.J-9+n^?O>~r+\p q3q r*W-o8~W_䣯~+3*EB{ysO?kϾO?諿O>>O_>O[?|?/_>o׿>T8AF[݌ƈ0ܞ9sڭG^xxy?>g_~e•`nxΖt> 1j53p깛\s+]er3cd„P$SbҪK뛋މk7.sߵWuRezS $zThS&e0.;wέ&ljmu{[?7|ɧK/?MOq6uAtE#;3TnwgN~;};?~;o/=CkmcИ@^25Ȩ[qjluikw+k_? Nn- XaCp]$rӧzg}o?/?=cdJy+z0c&ݱQq Jr>$[SO_xW헞;?|W_|gW_}7lReWк("F=N8:$Vw.]/>?_rǞO~~zp왥Jɶ\8jAW~+=S= ?O|T!\ܸ;v'gÙf9ך]wIG%MXۏjV7uaAt{rb4f;btLN&K 4+i'BFa)) ,ǻn$h2it{+g&ĸjÙQ2htZ0ӯF丕$?R@ٰ`$"^PT)ZTD+z6؀5P_Kt\? 'lO*ztT"$9$/Tt:Vmen6aEQ=:uM؎l#&L0|. I5{][;T^NmVd:>`X>4?lsQ /G AUSZcќYV&`O#:O"* ,( mvzlDW@:l-_Μ1h4D;Bj,&7.A*:; QDp$U,=NI |^j UyXwı1+PI8̨$'`8Q;0Cހnv\wd6q[J*pVu~O36lBd"yؤ 6\bgpz9a%>\ށ8(u")M8?j14F-uM?PCNFQc3n8prVRVg84ۈ'Тz'kp2QFk0,MvnD Ì8 bpF wŽZ:441 ōr,72' ӁtR 3 &v<20o>:js!1sԶ#rx*RYq +޸?RwcGƭzgLbzǂ cfG5Ӎۀn'r1GY D ѰޭO4a4yHNzZ|X8ʩ-)3q1G&w1d=<KSfDи6C  zTpm޸/>O\<(hKhܸ?:h96pxB*U*HqKs2tGT!)I!dq;wtn;q7"_*ZPiP|VG'Tt@;iLF\4:W,w>7Mtw ٍh\c hԃLw7TE8 h0D[t u2x4XEŤ$ڡ1ǀi@8;`n3{˧PyH+!Y~ @6:ȥ̓ kBoԟsP!CM'J wh4GɪxH3)W2Shї`c%Bv"L2"BR/1d$&\4CdK==mdtsNJ7a E}6D"l:[O8F,^3bpa fǾn3b@e_7fQs ( Lw~T3e.WHh`&0_hƌ;6ZV*a!U3͞N6dK۫"tM'nutlt@%zG̴%_ooiݢb4oUBJ-iH %&<`[ǜ6 G fF䘅X7ꏍLdHpu4ǍczFA.V.2xlKR`iSmiLWkk41a;=lJbBQG^>sAu @W0R[GZ X(䘅D)iu6 k]FqEARrNGYj\&LL4̄RdoJsi%')5!9NLDۆm_;Xi j3Tк Pؼ$qT/!~>ֶ̞А560*8[HE!h#[DZ= Ҹ= +?5avv1 [R*5VfHG )%/d3˛||6bBvL3b@ ]\<X9eb&LIfV2̬K,X Wg֮^zDGTثԂ!1S!=z)u4d`ބ?)]TRr:g\7)"ڱPv/$n 1 "!'l}eCN&`2V:Hw4N1 $,'z lvo岤X >wL}5٤n(hԿ^@S6l8gDA^p5nt܄I6:(3`҈6b@:&`X39sOգ:WЄf\к W&&2=Eitc@ܢW 4 J`1w0k"z7o#x]19s!O}ظAL: 焕ƸTӫ UVx  +vpцPG ;IQbK璇Pި?3EF ؑa%_s ` *^niXO&2!U +$)>d1`] $; ӻOkwƥ'sg=R^Q;wyc&\X1-WJ;^9uJwrT@VW+˩氉mw.>`&zK-DJkhD eDVظ[6{GGQ?n&MYȘ2,l ~Ȉ99t+|k;XkO˙i~;\#axJ=M8Q 7ld 9 +KPH0 %.~ , +p~Q*u.3`TdDRFs;|*__<{Pv\Vx3QܸEg,L|DlJ),A̸ 9 @g=;4V"H(V&AF`*pH=\Z:yLĄ쁴-hŪ g +妇&ρRX2cBHo,Z n>? N)P?}Ӈ4Ȋ/1EE21 1үL1ݨbSbb&qРMsݛK [pa b Ʌ%-"6h;X~ +mZ%ָPڔ*eBeFnXPЀa`=694v,Nn0nwI2Zs)/MF:pRA~!cP_ nvUc>0ҲmpTҸx\ě;Jm9 v=X:bA)?\QY hE@ 4sp%*܉TPc"`ڀ//T2JS[nHwtzqaC6)!, 8o%'Q>/AR+Fp2oeOXΫFTVDh b\̞ͦ0B?6b0 p~Tm$4ĠRzA/,L]gl,)- lsvAlJ%<6 MT< ʤ !/G 819.ҋnc:RcC鍫401|}aӼUGq FJPxo>j1ǻB6Y^yx!:'!\8lOܨh:jLdB`ԙxKP9=z 3Z,EyBsbac +AF0%lrc&65Rcj&NhkRe=>~Lj3T# X0RA0]ѻEabOPeS,md. Vml{|,p] C@B@,xo~ fۛaHJ5o efN-]xrә '{;s^q&׉Xa0^cX)M ,vpdr.a LcjĈ[m[[:?>3Hd+މ?yOu\ߴdi)׹YB{M4X*=lF$M.4ՊG3?M@dc^1cx- C +W}Z~>J.u3e15ˆ[?;neX-Y^5G͌I + ipJ9j" VBԙ٩{2~:~iL]A **š<Χiz(7W Wjjbw^1՛^:;aK Xu}S&#;F\v7M=7T%$L~r}+եC8V֒Pyum ~}@Lb* J\5OFwy*p҆F| +Ƽ`x̰ `5vu+Z\p+R2ks&@E.^d PՆhCQ!F'$ Ãv|>0\g&|Cfs*\('|wxJWU0r,~#n﯏,.Ƀ8l9=ۣ*cnWIω!|B&F (LPq̎'!3| M8q) -')1J+)TL)sߞ=Ϥ( +jQ^CP6Z\ؿ^nn F}6R2LxP;F0D脔:cֶoxDLGjs^^Vq/fz>>r!C`f!ٽRX'p)kĚB 5vPC0z>:aw',_ch*bb֨,C|ԉJznje΃7>Y0\_6huy6J.JST}E7I:piBF]4n\r fEE!:?QbʅP`W_{0>uu~9o^yfCv@At7ָ`zq)3 I>S Z0~ '|&UXH3nrE|"H.X>5bs<&DZ2]rY--;@0 7'@ p0N։EpR'>78( ?>3G&Ŀ}b[G3! lȜ/R ;*+"JZ^d;鍿?,hH//(Y@|rVX¹Xo隓 MNdE1HAQ\) LwK/~rB zv7oUf/񮞚\޻CSfsR{OE')cCc^ׇY|̄좔;)IA;݅'[ϵ.>sBEꨔ b"B!kg΄1 C`*!cc>`2d +e oj`T6Zte!U$eJ*.:džvsciOVղMV{>IYR*Dk6XËb&@ҥ~0@Fm Rt܎[7sFpx4_䲋JL\䇿gƝ4pw(jZ:Xԃ`bylM80Nf$ɋE5`NXŅK]g=.֋6AB&Ju=}\UrT%Z2כ}gũmù^aZS30 ,ۏ>#"տ:1|l q؂ g7.>` +/X+bi~h/CRBO[;t)MQGVUS*\`9҈Cu1PR /c@|TŝM1)8Ё|3s JV+႒6n/=\8xP.Tȍji(&w ;憂U|YssJjPDk~G0EpFTKJ%5<>& |V/]?;xv@rkWH/eRǧ)Kk- *}ĸN8+<8s{7)%.ъpg Wh5ux߼@UAk]\(qY;j%Uӹ΁#]1ya; fi~6?z|N^fRAEޅRmn䢓xA! f%+"!<ƧYh5aç:ұ ׸1W+n"ѳOW/?ו⌔ I.\U +14ox8 F|>* u}j7űmFɤic6vIv{ԮRl 21cF>āg @pnv2&RpS_Wg=RTL^>b^P}1d͛9Q}̘nfm:P17uT>1:R$b919'8I% XX5"#"50 Z"ͳ@H|k {-ċg혋МT؄ Vd'lmfhM6R=R$M;1fK彫Cv?m?PT;qq 3>1nU7h؝8_op%Xoo4lva}by0녓KO?3!t:kGaqNHh4jRj~ǏO#.ɊD!|vm/rfLu ReڛarW.x)].pt{.e4./ s&BBOǝ*,(!:d{Nn܌Pa7`ݸj7#Zn\yJ( uUFݤ 'm!.ёڈP3rf4/ +jn +FmŨ.F=lܞ\"CbA+x +1/"K=(aN<2`-Μ: b~^z6_ b}a>.@*Ź۵U1ȍw/o0àº7Jr$͕zXBhy䁖C+p匍:5 \,0ѮʘbJ3鈐4f]*D*"W/._}=;TpKE>pf+GϿ,_Ƥl^j8389 )99="178'A7wbaAo$?[^i&%2wZo\͗(`vvg@mRz&2kLrͤ؋Îc>6|Tl ӊdgCřŽwTKXk0w~О^߉7dMn+p!=Kg"!.1/ IH.Xay? -k&q@$*%\8s|8+w#T^lٸ|I'>Nåhw +{X WKfDӉVlgq`k~ ȱaБ*)'+zmC>~_2czS-)97<.6NU|OLbK7]}  ݹݕ+ ڛqtr6|bV-r vrir;Dhd dovdׅ~ߺL"b[fp|'& _ RsငH?MȘu~raR!xT.ԗ.n?{ޖ_y^svr0qVD2!ܴSx +0c@(mm&{[+B۸ZZim-17OS͉\boct_0`ƞKWFS).BrT1PDK!l(Q:[K 3SF[UKf 3Zq cRSLuz NxHyUHLr^xa.S %o \hyeZ ûov#Z㍪pԩ +ttMB2U_MUޘkqѮ&q6Ԙݢ}ОAĦnřԶ^l{wojjS+ұN@*FuzT~ev oBJ19=\zۋͯz;uyG2ȅ o^|~=+;iQ< 臋+څ)_\+̟K k{=P 퍃{]yǥ+javRzǂhcMN2 +T +ՅxS +xnEtR8ތ|s5?!2y.Vs\c>ZYRR"gcFF8@6nr Lxr|Z8zxpQg0?pΣ+onJle I0_[ۺ X f'x%|ۯ9)CqV\=|Zڞ˟.g'`K񕏾ھ{ۻ_-/E1;4W]{r)V` +?7cs@q [J~UZ-Ѷf-`&)Q._zehQJ4p],/ܖk^6?ю8-㣣7F\,*咍MR-0˷dH]hܔb&4*R"jد͛"F*\sa͸@5 \N=gTD؆a9ç>icr pqY|ⰕDkjP*T;1Q +Q/1 DxdW@爝8mF y`)%Z֚r0Ii5ӑӀQ\Ksl0j!$Rn!9T%`/U'"qﱳN^,L>RE +ɝ@TR؋{}6H]4J he>^c"%T)zYP颜QPxdXW/'7Tz]~Z򠻼{+sY[X;m5'ן|\zҌ ;4em_Ƃ&}1Rª snoյlsGޮ_бv@ZԿt/9I1Vn: K`^l2k$[hd pQ~Ts\P@L Vuڅ?(͞i.9pGX}"(.p MB-Pt8; '=urCq挮-dPPO* BL~~X>L.)zƂ8nc#< v|>9)lOthD- Ƹ2!\ͅF}KmRF2lSHLvS^{Wpnj̆*zYU-Ԙ,9MB&لfV'I$Gً5jmz^Q("R .;rg㶚a{Oۿ%T||^ʶx7?Z?2A⒳^q#E=ٺ X զ6q`q)XR5[@Lp鹗>-ޔR3{^NFJbR!^^j`gD0k >ȥ7Vo~jzȥo] +<ϒ W"mjp,fKYYce&p% $Ԕ^]+MLmݑr}/KlF YM'm 8opJgg2&|'f)~Yx!RK3tvojq/FG] +r>Z^B伇4%;"ڰШGc "΀hAsj@"pa'Aw04Ti\ &[zd&[B9qgB(< b IՋk@96H)T^5nfeRwpQr8 PM~ᬝ$ Q1BNXpYZLjeM*,)ѩ͝lHdt{3Z 0Hq.TmZ/)SUA_ؐBA? fC%>ńIJ^ޠ7F%ӻ)-GdfV.7oL57 ˪ 1ix߳cаS@RիziYg_3n#{&<0F㠸zDM~2DJ _iz7\ qVM- VXva!:\E,&&\,ax9(.%}~{ +UJ{;4Y%6H@i6eA8)f.2,"kv"u/;Ec  @x،X /F_H)TlHii7!)VD8uNxZMl~ SG[.0ZDШ9, + :=h8aaLjp1`l<=<*D*!<Vmp[!7(C83X~.e1R?T9"^ HcV7AKh +P?#|H+Yp8`,8^2x ' pb Ul ẌD8)p&@gݧG}& *X5] 0[p7 E?R t1`^Xj8svta/&1&ÜNiY%TML JBВQڸ0 +rHNBXMɶ0-tʹx= RU:2DkwGnX R!M!ܼr.J¼\p L/6Ƭ{fHNLd!|du>V] L_Oהh-oQ-3)n&-O1y'E()q`3XI',Nr@Cn* +1F79<5pKȰG>9T4RS>L$(%jN(f|4@>1}!"`0saʄFwԊ|ܱ3S(V7 W`uQXLoZQ.QQ l Шc +ø:<6AN(a5VR0>a>6:99;;0Z ҈zaN9.RvHu܉[q >Nh|bcvC#ૂt'3}چγJq^Sy\MX bl2x0rHM8! fpGMN> * $IB2L,G2 ~|Ї _r5N{'Õ +oĤaNRF/@.kTLLC\u` `=އ +V/>brl^3 q5*`pF h4*igqV7muCcNoppq1>jC &ޝ#6q",.bh$90R M1RBLLS;бV7 :aEϺNv[AJ8c-Tqm6f8ϣdF͐kS8t?k +|eF ؟OMBq4;Q+rzӏH!!8|OBUPt59ZsV?%5DHaĥƀ[;7^ߙ/^>1luhFZReY1ypqsC&C\MF+ñ|4Gk@ U ^#$A |0FXsyq jGv;j,Y7yagY.vT_UQx>@ͯMq6L@>Xrxg/{1<)\^Րc1!xk/4Hx}ٜZNUS.%% Ã~-(t^RaEPY] + z7O$lk %&…|Cy85) &948B0ZMufxY +2f pE )r tuZp&!ä +} 5Br2GXH YA2ST^OOuI" pn/Gya !B^u8.KTzj|qwv[+ksz8S;ڇ _0r|fqN/c IT`Pes!x(L,F  +?}jc'MCA#ߘ8vi׉ nuV;"ɜaJ + QBb8>d`zPJnMiaT x"*K+R(cz,.jc&$\'ySNP!ND9<1BAiGnlݿ{pRfh>4@'Aríbxn2(+٣`[_ӷ޹0_DYF>1X<l8TFn3a ,NJbOg<~3: + ,dOy?"h$R(Sr{|ay\Pt1hdnqZcRLI4V  ŀ-gHXKEĔ͕v6ZRV=G^ܚEc =݅#4'E xF1T+z\vx7?{{k3jQ$}@(l! etS6fFvi}湽W?|pA\5b{xaУY;q|idt@ ]Ur!EX"Mr#i?L;m ksc#^~N;O/~֍ms߼>~ڣ Sx!XaL^k\tX'-a .o<>;Gk|[dmVF8% k:~ݗV^=~Žo>/_o[6d908зc9|DL+>M-L&/l4|_i V͍ԘC.)b C-9`9}zɃGv՟|oѩ){ G!'{[;I/|Ϟ]~?ٿG?ҟ짟\۝O)t-^κz9zo>}7>~e>ǟ>~??wvk3DTK& FDCK•̓k/ԎUxoz?7_??>::l~/|혮Й1CLvBn굈S&rrqg'_yk_5b.tRjsco޸_FϿ7 1]bXQ4IT39l__}tKWO?~_~~x/n|u!Y&jِO7/ߺZ[ᄌ?OKb6y#Vvi1ݣ{ܧO?~/sO?|y{qC1 RanN龪/?_;ӏo߽||돯_O}zv7 ͍9Z:${mbϿ_??]?zmL"2#0&6zkd^?ߺ5?⏿{W_=矿oÛB^ +|4ĸ$T=N7V#G[g˟>[~_~r/gn}{7 0`/Z-Sڃ'7|~.o?߽{ՕbDe0A2PFU&ex:/s7wr?|m~/oW~molUŲgY% ؠ\,fښN'.'޸;˷/~λ|W_hK`=hfJHEԄJ_ ڪ~h'ջ/?<׏헯{{? +p[](A/ɊOG}WfO/5>|_??G?n>4M0E`*+$b3Jd`Z>8utо^zFןw>}ݻsO/N맧 JChJ@8QPt"]u\j7nb^ɥ޳k O.t"v':]GQĤf%9K3%qta*bW~Ʌӟ~p{G=L]拲q#Ǻ:jv`-hBYiw/޿O?Ϳ}UZ$0vD"F| '4`p<_ Ӄg7n:@h갍[v's5=@8}~g{K\3}a >6gCk1'v̧)%GtC 4֕. aߛ-_Xi[mbK5RQC5n&qt8niKLJݻ_>Õw\~F|nSpab*bqƒT51 t<( 9%?Wğ^v}Nw[6B`8+x Fp,Jq,b!SQ9e  򢢢䦤Q:l PVuD Qyp//̔aG@tFS",-04./v=GlN zy|(!d%,HQNgV(@/JGM'Q΄jbѡȘ ۢT= 2fjo҉sl+nh6=gl gv/d+˩liUr:Gw_q~unV1"q11! 7 \|2ӽi&23,߅ld0J'l8Fq; $NNXI'B% ZN;p{Q a1Cs]ʨ@Ls)0Jjf|b21@)y7qѨony14LB0jDS©)%X ? +zEJvxVtfv,vT1 /@PBy*r(3&[r.LMkkVXWo`qIHNZ4{ 7B崸{_.LڼC0|B&,HCTK]&[^ ޷ 7ڨNDfb> Uq$ 8Gք 9cJ 4qIT-0BYbe#, + " *ħƽz_(4̲9eΘQܲVX%Ze.ޥKx(HQH5c[Ku:9'VI1`1Hj%P)q ~6@6RrZJL;p㬃2A6Ȥ`Dg# h/z59qTd܂Y+& S>$OBpzQn^171hk)(yj#5y)5sh@9.)57/<*, [N*]1Fdn:v]tĆ(D*{Fmh=??}0pjt˫Z[/E;ENo-+IZ\z1\M.'.kn0甎pDKF G^;a,DD)õ q1;6HY;"Qi+'wR )=罼b 7.P윓Ia]pgݬW*X*@ĜQ4j|C'DJ.Lx$Zo34߲qD?D\-b s314TSdfD,9}RA,`zM͢)<aHBru(YШtET Zi՚.zAMxew@^8eiۋ&FcRHZmɚ4)9Ȩ8H7&':؍7 $*پ[m f0 $HF>P t X0Tw %&\ fg,x / 髝N. |H<ݛ\lc&`'$VĜ<;XK4JWh (7XG+*2svmjlf/A[wzY2\W2cT Jnv7زBZ~qt8wy ͪFX_Yz)ٿv\ƀnI'kɈT |jI)u7FM-oU:5_)-tIf&/01.SI!ݗrd|֌ &+WBb*8xbR8n*fv'N&殗6foy3TV:ySfçL +Oq̭=W9xޕ8r򏐓zܙXqퟪ_$_pU{e1'[=f/h,k]#Tlcm]*g]Jwd=8]YUmzWk +V]ޭ>ջ' }68F3 @<Қx˳׿civoӯvzc+}_ߥJIn9zg_uN)HŗPN?vO~9=S  帊ٿ0jFE \*)r3ˬekIT]M5E T4Ix0zbypxM׋JMno'?>vz[_ Ciy]}&BiImtgg}ǝ?ZS2;bvsǵW{쏫hWW~w/ +b5ho.5!ʋ7jr@\sc_v]\tufn U=Vz]'7ێrw愷diW7Ͽ_~+6hK}TZTEm7{߂S]A[/k{_:z\}q4؝޵ޗ'f,mvnۻwڜ__ОZ۝_~z;cr|q(wI3=gL(NB%S*ϊ?:=/wΛ5[= m|ٓfF7~,_Rژ/y}vecI-(o5L} ,H{2Rp*ABeή:7?/Fдxt>\G,:{Go@#PVo8gpqⷠp)ܹ@#z+\sq s6Ne>y kZisܚa?59n,>㳯;;j pC^`[;wtJћ_woӔ#ԏ>ԫˋ7=.(͒9y9C9'AQ~ ޶bQcy$VYk VaqcyQ-/v.8ʩW`Jiogo$%ōyypn7Y%ء1S/S['9 /qXwb  ӛ_͂@#@ҝx&4iW] =ug_~Տע879~tؼXKKQԢYp+Pu+wp%H:ED]wsS/`5>Uٍ]$U\7÷ \በP&;7Vܾ?l, Ͽh^P"!8}9'観Nk(7Jb^!d#Nd Nnj봶B~Ø-j+@!gVԆi: { o1ENn%jQq=`WZ 3ބu]T͉~^7AghL;{Q[Y etNO_vta6LQ$]ϻlzQT3Sj,f%-X~FlD (T[ZDr$O?cA W Aw2;< +Ԧ7O`gN3a ޳s aZݻ 0uSj˜7 YXKYrw+AE?8k<ʊH]snOt9Q^} +N9M.(%'AEHCyFNqw5*4frgr&5SAꄳztٿMy8_]6w^~g|E8gofQwwB_]!Z9ևU (wQRzyJ-xc"|Eڃݽru7U"eI#@Njp 4㨙cːI4:/87yulrGK~O joqB 5տGgs""c/{4No'mHc+yR3ŴPI˒myx,_YKvw +0ykq/G_=~6x{;ύ>d&@e3A1dv61q#!iᯄ\&.LN(|3khV"&oγXO`>.xoQ`[IT (J*0-+w@XMeڙBuBPΌ:g:ZeDjz3zr蝳9ԓE*]ozgvGySu;Z/UF\y wyQ]\x/?tN~+y4;bmU;{\e)T矛HZ)GvN6Si73l<7Y +V:b<ke{kŽ8½%S^O>4wڴk`my*ShLoFjһħ?%Զ wGIlË3ژJ] ܵg7<[:w&/pXʍ7+MLG2D&lJmnq=şZSTKJ8JVW\~9sJZ7f+ og,] f{ +1jSw +ςRRI::|@恳zH$v!Qҳȭ`N*K f0cJs`|EPq`z>K8EPS)Lb2Ԛ}=SY/'`j4RmI1=RauBAalRd?8n_Vݦ)ͱnZ ~ >4QMƴVdYjOB-J1ڍ3GS )z]tzٍ/%;'_/~|"q&q2Az[[۽1](moM.CCn fm} Պ@Q4Т~ R0K]k _g+DEJZ8/:h@5AJbShʨUJTg*9Jb֓8",] W  h7y I1HW/ +ebwYOs 2$.IO1>VfYUYPt\#X*+!$le* W:x BjIq+*p^`\ʪӛ{q$-~kd޽8ys8< +k12!6Rlay4Gԉcv g4fqġܹP|=ќ9uPm'gocV[JՍNe|}{9xcN@%bJ/Aí65M;=( %LͼX{Z]Ň{qUDpQ% +Z $N 0fvgbdʳ7kV`K1%rA=n,V0m s!AxagJ;9\FևʰUB*< bLmuv,~*H^Nms9x7= XPU}zYd] >v1zjCP5Od?g_T+"Yzn֋)a ꘩뭫DQ}]'!Ϟf6V;g9ڃ*. +LiODZ旅f^S +e+: 0_YImr\ipC(RMoVyG\ȺSڽƬ킂JMu xS{^yO ̚dV7S0ƠvCEuD3D6VI$TA]Dr\T/!p*7Zqb"b\e=C +QZ $ѿ +!-y^[ĭzc\9•z|Yw7sr +ع(TpVE9Iz5gm(FDz;ݪ:AQC88nnxDs IZ8xw()*2^qIb8%gHA5(F/<& +\,Ϩ%cbE%;2 DQ2ɢ)YPΪ Rl(Er,5@r 2ל7~fվR^E QߓjG>Mj"k 4OX;>ĕEwα/8gȹ,kr"tAҰRN^o!bujdpGwlx,b)e@SWX>0E:8X3y҇Nj@B΄j>updn 1H}REfekc{ܝ(}~ %ҺyF[.A!DUjAcyWGսCJZKLB9v+e:kr"+[i>qDʀR^?Č8+)E~0UJ4P9[ +JmJF$r>$H6A +v tI֬N3V |y7X)g FۈQ( M(RLnCv= !g0LHQO V1/O{)YOpk +CT$TGWs=)/~V}ml-.("eH1.W!c% +>F[Ƭ5IFT\p+ =TE\T-rG]$؄MiQ r; ބ = "%p +KBj *U@%7;7JiM cX3{@ sGgA^M_h-ZƉV?N!:κWɄ+ +:+4emfߓd+Jh ˻"_@ p*%\0֎Xg ҨfrՒz)ɛYQ!BW@Q^ 0[E-[P*32@@akQ9҅*2e\kV!z^~-nƈp` +(Dy!:[ӵ8E dpo!YKvZ|gXc" Aj7T-[ށh "!EWfk1{,mN|9 +;~wo0mHh}TnKڧiI$FQj& -7%>ܢ2$ N$ycAF8\iSiP*gᒈB=Ci8h(pVqDҺNj\̪3~%.!-!n =9 IJhK +Q+ PA_O2fkUZ@z{rR( ftz',i}'x3g3;yC)bbQOa6&Fp;'-1 ڹھiHU`#%*FYKޝ< -Pn 2fZx2LKjo ݄YE*V 1+cotJ]H +dg)7򡬜c|֚ziy*L6[QFR%x;Z3'R(u3W+eeBk_vljjin@(a +"A]ӻ@ YWɱ|4GEΣX/ hW+=/w1xge(e!T3NFCH+HKb&u襙/, \'ԅT!^f#P΄egLi1ǹ# 1 ژR.cAsE5V?$VNzyk)Ҳ:'PU"Erv|+SZKPIڋfS.54W͡!͜s +a^Tj!Jz'ngZKBnǰBG!@0]kՋwzBD%Kz:L٣r<|OSp;+Vyw"[}R?'U4SCֺ9GЭ,z]$AXPf|0ؠ +t.^q :xeiH "|<*ԖտsR"Op.Rrg7vBoe)/ޣfףXI*筪W֍cF(+bQ/H%y w-Ns +,CjUw*`W0iwb/)["y9JJrg%g[4F/B)8. ;|)rs@mB0ΟhY7r.,tIBZqDbLAŅ $.$|}#FV.)턝FբU,#2T?h+x;iSZPqvrוgb(7?DD 4jȵ}\V}{͒t7^wg~Vh6eMt4-XgNٓҎ2eH:E!crI[|lLo! ʭ04* LP | #MAyқ%rQVSDiEtd(Ya98Q/^vKr,ڼpFQJf%4!7JzgCZ8al3w +59*JՂeX-*wk1l;jrM)-nd(3L.l(,W-{ PF) 9h|9Ĵ4[朑>fvȖ(i e "Z%O3id7FBAIt)kk#X4`I͔@ls=ۋa6L4\60f>xLXOKI9cڙ"krRDw9HO1umPԡEMΞ Cs #\@m TpV9^l0>]| V3>hPDKbr +2 mujvo +B"磐r N +@IG@Re4niY*5t$YOy{ `)2f^} TDl\o$I|ݽ](U?ElK1,#s9Q@~4+cTPb)6<̪ gYogR;y9sLi'r2M?ݝwJ5k7 g|{P)f=/j H2B9:C/*7߳#* i5TeZwHҔ DIE2@q]6"A8XQ͒hρʠ)@i? +?{M&IrV2a8G'QI'Ea9|ȷ@.hT 1OHlG!4iE͔$qkT + w~ouc 9g[ 2V=W0y)Y@^ORTӲbkqR@ :8 lb~_ + c})c^V2oN}JVpY r"e9K "pX;k'H[I2x{5z'I9iz u|3&`*+m.mp+uJo}wz=~tK;q)sfEZtv([fJp^^dA i#z S\oחςInaB1 UIFRUqԍ 9}U^Er%VE"`⇑ D Pe 2p-U؆K2mux%Xi&J,%[=ŵa23 +@J&139b%"D7`*rnp +md5wB0<[6hQJ>f^^p"'ǘ@Qy[1̃XK39Qg܂w͓%J2yy#+?˸Ay}| +ZPBEl>"wNkPQԨ*sF^`yŤZ$ +<\lePNH^ɧz W] ,m@(b 7Fqd\U^Ҝ$lcǻhis[ug[걢DTvv j@ޗg/ +*PŸT{+ ZQ ŲfP.WfIƍ)hg5IIlvF@j*LQm8+HOYW{7sjNXg=zQxƀ>|!J'AiXBڣbIV+ +w2+dJIlgͤC C !T82S:9/V0KrrB׺e*v bd )9Z .[9 1)Un& <_3$|J+8NQO'W3KfNp`ɕpIun[ +@A_8ldnKUE$FB JQ#SRkE$gjdFV*.J"[}|T%_kרw̟ţS{P5qBzj;:pr;"XQ!I@i~!qaqp ؝ӏ4[hqZ+ޙKcZ/NqQr7VQ;F0)̐/W0Lk v Џ"\26s +C;ĘVHp:tPG~^̱ﻧS.  +@wFn\4re~QCdTYZ#ZB3O5Yk6 w&[To2| sr3BAQQAWh-Co_|-7ϳ(G:W%MB4oWwE-RҾH-DK(_8'2+-aB%qJ6ܞ`T?51@ZYe-n{i&T/GIѻfB\3*͔7 +FA!ԾT^<3L$u֙־L}#,秘r2&"4+S_??"xB Cs\mPiHтp,QiReYFPU Z \ {X0g[<$CܟI9KVoPl) jY zK%p:h0\؟2M<-2SIC?ƷF,# "6!9ݟj/f?3O}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}ܷ}?ag2-qo, N?I]OXЃ{?^=:r K'7쬅k5h1[`gYŃ?Hpxx Ni{^nOO{{xkpZ6[4'y'/4m ekZ^O@ha Jk/&KH#HzD_3|<+-v&ؿcaÑ$%L'skuZD,?:l!+2ŵZ601?ӄKCv@:Ӣډ`zU*ۈBm_j]de?ף bD+Yfv3R+UlU2Q*aᵲL-ԊNNh*|=6ƹV57rV^akOH)ɑ]RfhR3 m6ӄ$JDzǜ/* *h I YF*9E̍,3jPz6LSnOģ(bRl7 W9,,B8Pa=̈́ +<=X9$r2BAl1s=ND VF\O0I), ]Lj:PjHOe\a9L \#T2Cy$4ywΚ f $7c*))E!l3Yv+Ö;Â2 -Dlr$/dhvJֱ`/yrRCKR_^ cCHI +JQI멠]_QER=IyNs}]ߥ8;9'غ(G8SYZ 0Ia&&8ǎ2<,Z\OAX$]MR&C0HIP>hZ+9MF(b,OY )V݇zR(ngdBQ(m"<׀HQ~ J'ҟo!31Z'q0c`OrkQ4E]:9{4Rb<@J`$jQ(7bE)LBJX9'b{_'1ҚW%*(,a 1rb}vA1e h=팶KZ)0Uu%5/l%Kic q'i?NUqVJITc>Ӽ\/X_T5ӔS\y `ҤC$ ܲl#I +|7C +\z f)(qJ>˯_zkvƤ7ŽY^>kLa$0 fW&LmVSFFȈ&#IfPe͢1bYOWBm=<2T§1:TPaeE9S3`cFXuF`R{-FBRZxE- s3Tc.%Ճsd9IT|7uHk4γ\pq-A :@@vd~Yd3fRgiCx*=RVbm=Eͬ,,h%I7K)zAY!Cx؁*9sXj-] cq}+@yr$S)WM)RУr4hB='l KreoLg7)-Q~yQ? D'9a+%hQUP#HC\ +v;E\  UZ/>|줅PfgT4:j粳;yk%u A\FV͹ѽSA 1R}84m8fgi"֋Q$p=D kPa>a/6sl=#'p3MVgR(kNC5cP쀨ɀ1́Hs)hC m6)z#Imgd E 7σ $IA`j[M7$A=v< 6ʷyGxɀ,z඲2$X)In#q;/?MG8p̉A_ڏ so׀47sVJrpтk#nx`OCE'Q@!8r!RP! +L艱Iyek9涑&4 +'%$f~^}:C0 v&S -z.NA?H+ Wgk'KylM&̙A"$A0lvyr$i43i,YqVl9i-GYm˲߭ubu =ySޔ)Z$?av& dK&;',LK&">adHdhH (_B$ QRIARQdB_6:1IM0!e;w +fPTa=>j5 Se2$Qb<Xk'"j0ZWX lDʆ'!AȽcFLp+[hm+~?[4HT4D|*nBuJ̡0j+kD"Ft B݄%4"Wmc1n-̘ Άż|qB]#;EQ3 fhtDoS* f@?KXV:oF /Q6.BBːpn +sV\@4brF_b%"9y+UUNF]|h.gSlr6=}I "-JX ϟBCP]P!zO 5GY]AV9OFŒN,C!5Tt`#!I[,0/+)OHdFk7bb,,8yc6"}֘91!!X#:O-:jĘ:A6CFH h˸J4€93u肝F|lƈnSYG]M䄈}i4TfPⲐHC&l¨dZ}VY9""qr?]r 9S + X:Wh(k`L"B\D'͔#ݒX}1 d;SY<_e +A3b膽%Lߺ528#hxN0H', X1X$ *Xk1bMZ)  oʞXfX+cF: dz] =LMtrFh?DĦ-6(L%Sm!A)᎓+@*:1=$s2$#-pRdv^҄h&Ptzp I IÞ I3nP*$1ц4Q_VoR;G@ : ~9KiMp򄉙ʃvjBؑ{X{6j@Eͺ|Ҹ'̌J +`;r~C4А0o/P0$}@@\ +XMiHN6"o=uB%C(I7 1 N:bى;7x +rioZr*?S:͂ye#d9o)Uyx?Z'hp fL|;'5Nܯ05{f, ݙlnivPe#&7`1$hš>Mx r(CR!P &w+lS +tU)_'|yӸUc!M ch OeʹH'-4ȃ Gutpє;0i&,M&@ iOZVNtT3:NYI@Wkd +5[M| hb q, +88xC,siZÉaDf_ +sp +f\fq0ItYfbc  pLsF)30HH*vX}40N(T.˛xbf.mv&Z&*J` üi/Ӈ-GVOeP !k 3SAZ:4 $[PȨ$$10qACfGΑ)"t )$wj3 }uK:4bL|BF >8`CSHW*,#M#jeMYYI+?abj[mdɊEƧ0+wo<QMAc9?Gǃ6zF0x@Lr O|({fh(?8iyFtCp!E%PV[I#ErCj@3|wW7c#0"ΈD]T +ꤙQ"S.z +P&Ty=5 A >s wI)5 1V1\pɆnRU>D+f*9b\ڧ,3]<1D-dc*'HҸ)};qqc"-g,D)dLd:Ԯٛ1f4cl"Z `I+1 K@Nvx(FrXi;~?Z .$yfNhpMc: lhDkLdLQQtNPw #0W{mTZJ2EZ:4;xrS4y'9,r(xJ]\d2z_e$y5T6(p*ݑ[,hdH5LI7©,&Tf҆@Q!>A&yB46pLP?8:4nt ".LZYX #1Oxdqeda` yN-B)ډ*نךz,qF, + +%'XD{FLBZ`7]]lFƆ츚ћԹxi'XACtgK3SCó+2UYQ#it36C50ur*p@C WۃjG#6"+X|:7鄍 "l5uvQ*1qMp^Gbs lQi|x 4SFwQ?Ԏ`a J3F*`H@3"Qa-hfF-_5zWc2F8ec 63([vn9kGQ+=uGt !9N: I RVt T,tjA;YȌʁm 8R?ԏy'[]QY)2i@Ö 4di +M$C[i3`1+@Շ>>Xqtl8mS>@~(Bд)L +&ZWHgN\`dRU1+،FNW2-y؀DAy䗎Fuh.L9!G6Wt1JheCއ]5<&P8la(x+Cc.JC„ +tSI7 e fc*pO.kSȻŲ'܀!$-Lވ'̄D8`q-dRY\I\:1l5 9tr%Ð}ё)ϐj5. \ld_HP46vhш 1XJhmd;$b@a9>V=TXPH@TBH#̧qgX`s^lzV* tl!أ~П)R5VY\ywE{HmWk쬕V̂_skf*.(TMl&e/bc4T].=O'PWt%+D-TJ]~C L:7C#A&"t +ZS.2f"@Lr2!bH&&QI#䶕ID5 لC(8%<֢.s6F3qqC2A +솝͘qR ~3M z/:,̼X+%6;4փӻ@P`-1?å:RKMo>2"0NA~m2:_+ՠ~F,fez7Of_*XJqDtn_\\bL.w!ghIssX@kzE[xJGʹQ<ڰI(_ +{H)Uo UTw*D&*PXH젢62je,XR=69M;&:9Nn{Lv-+tr@)."nI. :5O%fBJ ^  |Z*-ɍPqI*&|2`!Lqة&:;Jāg1"h P4ț'T82 .6ݳQ`?5>xm~Q,px7\YP]1)ƛbn`s=,.2vMځPx({"JMxwZ?¥>Mlg2Mv֮;XsBW8=*:8-"u;ٽ>Nq=*LRuOL!36o-d! %1;+U,8yxZIaxv[qoYBn]2sƆ٦UJ.>r3b ֱ(ΓPK'\ 󄆑LE RyIH WDKv 36*颠rtvHnlbOalvLxMsTBpz|fuB\D%F#.M9'eu> +碍MJTK%-.X,2Һ6 k.9 J.$[w]< `nvlnl&Lpt:sY,X7Z']6JraN%dXi +Kxgן;b&+Wh{ UM'NVgfT7Z,-_l7cՕlg dtKRDz3'Ņ{'\RsN 7km@}Q>JE4.^ ’9̞(3gB™Pq$[ R?knAy0i7hcD)4!*u+F$%ץZbz_'kQ[ -苹%(dxFx5./Hu>7Ǥz\f:C(mg+Ѐlv.R߂͝! AXŎ! BY,efzr 㭭@ Gv2@eAyrnpJ֖/Ba,\擝s3O$92T];kK+3.iLv%;{ZזNwS3Lrv=GuOIf=R榰۟3x`to !=’y1cS&8uXraZJML/fN޷yI"ގVkw(-in_\po+DJA{R?[]ܽ^;۸}}D\]8ݻNt;R5;_ շTXzpR,vbM65-d s|mjXY*/ +%7@A6aRm+?:\QZba^nmE^i{{W@-h 8wz0{*;!iZ~ABIdSGck'>];ea3\n_\^e:pE8,Xʋ}&1 .].ez{:401 nX\8ϧjIĚZrz7XYF -+mvZ-OJs_k0 M*)OC͵O~%X!Q`,Z[k[e` +!6wD[ǢV8n7LhrthۍUmṫy%-!O"2\fbhf\jp2 xk#R[U?[0?V:4Gc^V޾~{h W_=ٻ~ocZs?pCWU,U.#VGO_?]>3{Pcn|{w>t9Ӟ=[@Dk2bnQn/Ϝ|xӅ;zHV-XZ}>3#VgO<48hm#iAi{:$̘/ٸbU\8! +f ,*_h,ABҕyغ +7!zHa:#Y6sepFu"Zw_'B<[Y8S^@,x}3 +Ņ`~ x*n޹w٥K{wP +<݆o_޺_H66נl KyHJl~`v}\ Lv_\T;*v&"V@ T6`ޔ{]:qLFA?Q蝒du6=^${d.wv"={q Ĝ7 ޱPmd݄sD$onʳGK)Hj7)Lxf2\wkWfOpq.X@Y\tO$nM8861,- T_)-KtgνVOsrm}e7G]9Hk&􏟽ԝO!bizX^͟eݝ3.`b9K̩kׂʱ$H &Jyp ).pS=:эWKCxYXF t4T%<-wMDNŢ9zxv>DZk7vwm^6 ,w.%SH@}Py ;g;f_BtgoݫtZm%Zkh +֞Vd's iXP.L%gp5)7ұ|m{.Ouq24?Ցk[֕E<\Q޷ptx[9.f,t T]2ϭ^Y:ɦn>uJ?3sz ԡ \d,Oe%pw>,BpkSJ% >Aʻ.&EFs09SȃG +t W L?=zYL*ko}c+ShM`(Xfwnd'6lYArSBnM,%{/Y?v%][B%ìlj(&#EVH +vF\gy 1;`V/-E330WS 63 k2D{k\g!e_gJgQ; .O.ŧOu( ?ʣݕS!u\T xȄKx#x +Bk&{'dO ;$%lG m.0Ff)t=X7ElzF\)6W{wE+xg|řjn'rٹSD'ɶ\]ђRꯝ}x죙.sI%2 #M}FKL8ʒCL{XMTUWK2;B X@chp8(چXa>te$X5€M^aXh8dD./\!5m# q:wR*I9ol7hQ!T]WO4׮ ++X^7⬓Rřr} $r~0ߘ? !fUDJk?=# iRYuҘ?#U24@x>X ?o1qȽŋݍfO0Yn݉"h؆cn:P +ٸ 0nCJ^̤N&ܘѣ,!UPii.dC^qi+sh?ړb3&, i:RxeN0~ ]ӛ` +'D{_-iL`h#>+R_x⁹7X1_l'\5C:j ;`F},U^-jkJ4ugmv"VԲR hş%U#*T\B2n.]-]p0 T0yL3<,H Q CŕE*RgfoNH"Jv ՜dT]̗u76F_X,dp&^߈X͟h,4("k`&`َڽXIjpZN(=$S6_j3C}CE4~'H +,-^^̟SPL$r|em޹^^.B1OX)+{#E_$OF+DO.*uNB ;q=jr6IKP);G{nӭI˧F3_lJcga>U"PexgR_߭,%{K .5Nypb0!fg}bVb>b\̴C.Z1{J{#eT緂#Ϗfsl[k$& @3L,bG,4rG=TXm)UB$F`ҼnD9`vT,")%& :!Nky{_j?.g@#ؔˌJ!`'ֶPX$]WHCųB0!_);;u0䓤?bf,6*k8ܬvKb5|RP~czd('-#\Jko} HE;|rr Lvdg $nʄlWjF2 & e|Wǿ_O>x1J?n}\*S)f`{腫yW>Wn/ zkqlg..$tgxЙl/;{+صG.'^+{[oykߜ߿ƋN&bpZ[b%zkqsnloDma9v|g}[roAE cPsKL9h&m.ҝe1.~Ǯ>̋\z9!2$7lr!hCf<ɷtկ gv{/>׾/路~'>_;kE7dDx0KI%/lDDMɥ`?^k3{o<>ܿ]~𱫏<Gw;hɂfdG/R %B\=qGoiuܝ~拿yϾ71oD#lN-jz8e%^Jx N"'q1,6]:u׃n^zq̵ &R7෍:AiM/l<~KW?3|GϿ'}w󯬜37sF%]KC|2Sjv綎_&Ƅbb5c/^z|ow?_?kt}ꤿΧۻ.ZqaP,l;{=|칛=Ow~w?/?_ǿ/?z{H#БZ8Mk wN_W|_7[?~w??ͯ>n/>}&+:7z`#?W`uկ<~'Wѯw^~'Wo৿?{/_???'w?t}~/zAL I5`9yҵחx?oO^Ǟtá4%5I&2_Y<~wu?țywӇ|/}鵗/]M'ˌJ?u}3ҏ~k/0^ܵn XYv͹Tu:Ql.mo^o;÷?7Xw_O?n +Ӝ\fy!(էgWv3Woooћ?{>O>>7{C:*&;ϟRֻ[_y7`?~O__~_|W^x嵭Wt S VҔhӅO=^y7黿o;_|g[=ld3Y pQRg-_l=Г>kϿ|?}ziFʘPR DNw|(F^sxY.mކȱlhg3ͽ{+'qq굋ww]P*<oPP%yNsuL:_hT;/q=_y{>O?zO]]Z +&bt%.*{/xoTl3g?o>7^{嗞}=pzo9=\FH6\gnsͭn+曯?/ۿqFsktJ;|>!7q/!X1WխKc<3k|>O㻿3?Ͼ=x󮧾r_}܅[TeP[8o]M/0d'.ooz7^{ғ<Ǿ /wڿ]zn&y p 걣yH@$Fufe+l8$y7,.Agܾ:pRcCt%(nxAA/rDHj;ar(p11[ vJ(EN.@&ňx}>etZo:گsjWXЌtNfY)L 12aJT8t.rvgq]RTݝ!1xy'BdCYo0eՈrH^id\VvS+2NO̻Jh͘ƈL*=28l3TT^U\bvݮ3~;W;<Ȥ@kj;bp ? 1Z(d@̉x9DI\{%A|HJyɠɎYW1x#\qEpb׹D;h!OIf7/(Ӂurt]eP:{v\x8hYa+N2:iDD+Q^Rv8?¦b# x&_BD +1$7E1ϖN_A=Fp@n/](zˆڥֹy7?q+v.L6Fx؊:mB\F d2cѩ2DϑR9ZY +9%?-S2*脛Mc+C6n8Kx,R2Ƨ\9 ԀU %Ɵt}0Ūd@b(9*M˽dNN0++뜌ꃪS2֭TP en: 3fF `fbW,X$ѰBI6n:4a2 Ez^!"fT4!*׸`HX}I2 +?&=3~p:+N::n@'Q##P[7I/:qEeCc!FN(+5z%š@ ͞B]z;8_MR䓍ɈbNha}֍\&t﬒Z|"DhGuwP+V[۸R$52$զz ojƋCM/$Q&`f&ko2+q!&XD #2ݝ ~LV=%0.Cxrccjwu>< ")=)@ + -dkRÇLK0"tz +!tJ=A}vi>”$kä7JARE3XvF 5"|EM2B޷ 6oabq)2]tC-\( /]^O#Ҽ7AJ80GNKq>1el?*#LʄTǸ"Η0L-Fx/j<0L/"Z`1*Ǩ"m@vyu<11؁ 9WALЃV[0(덋 +~rib8`lH>XD.-aPvoL賥sfnMhǷn=&,BB +R[&P_L !T遂R*i\-f+ΙGJT,bfvR\aMo~s tCLV$L//FAXCuf&&Lo_CMvRsK\g.k@s~,iq6%.$uwb· *&ˮ(CVuru!CCMѦv0Av7;W]^t!LP%!xgm\3`ڔzg&ټu_\w!Iҥry9Y6JVˇ7P9oRF2et ++\쓛+H*=d`4ʤȵ(7W0~s)mu SZ0\X_[ +P iue!ym1Kp,"Wo?q#B>L*&qezƇl&|y 2AĤc옶 5Ǵzug)`] <~-W~~ӝ b:cI$=1T*5I.KхeJ Fq:{Ӎ-0IreZCrƷSLor;>oGϾbr4iX~tSFOYW!|ql-}%u%7#|s9>jw{z>--Tv(gU(n} oBLF 5Cʮ(:lWXbP΁H@\vT("<P LFOZTx9O-RABrcimc nd1`RDꝔ&N\fΎS~@Y%63 VO6㎇28&\&bVR(Gq>«UP.p 97Ƥʴ1 /bbj-V7[߆@!t!sLn1H VۗT~ry|1Iw@ct(.Kvʼw!0%2r̓WR+;#6HgVҪer+@~=bd:oP(gy!4=2ݡp6>HYm̨ =O vS8CCM;6g@gb֞ Uox [x^z5P>ҦVsdIiU|Ql +^_덍8חOGOǤ=ZB٣?ds!Fqt(۽oᰋ@)|Pq#ۃ'Ͽ/>l]IJ8ۿv \͘`&"7\enfO-:Q.;R8"V#g;Ɣ(FޱGS:h XEUW3~Jڟř*/7.wP֊33pWQ 6:qP+M6 ŀXO~Paϯ,E؟\^X$x[w"JJmR54Q@B$@ .6=9L|'0Ƶ37Xg8;8[D%TPVoC"L)@f&/T"0V*fH(vgv?{qZqat;=ʏFN49`B0eti 09\ 3!2d8;_^^U˓Lw/&dnk˥ѭ~W7wf=7 PMI{nu69ClRE/Nae|/E xs)5,\(qsQym^a#&!~Ƙ Je/4sVl}KYqt+ۨVӛRe0{iuRYJ!V7K5<=yDI)\^4ֱ9Qj;P ? i2vȌデCL4O>]_rwm~Ba.b%:\# %ғT5oRJ|vBt6&,  !8aJMոZnl.Ę?2:c״&t\9t5hq/oXݽ;ztKBYJUP74[VMR\dZo08ABͻqާWRuGfn`.>LP3J$J!ց.EI!`ʵYO/-((3sfO&lE LpMtnzIoB&d+!.MH4BV}AZ-&7L(TeI*B]ɒB2~/L<!u5mW5m8&V:vcB:e +ƣP};:x#5;>emqawe{[ 8V#)mlQ:lfoSU@*: qO=]ulJ(eZ+&͋pEo牐(^urX˗La<7<8it:L8gBd"|B*@^m~ {__Lcf'݋oS}9;)ՉX^ +!]#|vozs37ln_|:}sk>FR饄cI˜}C]^ʕ]LiLt#aһ[ZkR"\e1*Kťfk.42 |puW0z/m0\^<j3u;*yFŘw`pl9l~zÏLqQ;OLm'\.`>zy>UqFӎ닱Y?qp:!3J 8{G/KwQ QdE/ʂs-It$P4Lu&bq0`%gIM'Rjrv}/Of/?a:拸50qB*h_KB|e{1@l 1"Ph`u_ZӏYmIy8}:nn/Bq +r1 yӐK1ѨNNVO-> a~Ls+.:&L^ Sq} +.4[v縼~?9Z2ʲ;-8߭}Iy)6/# 9zZJExW:\ɫ~OLN$bb\GX:O\ +`BOMD\RiPѫጔr$eA5~ 5o*:.ÄJwDإY/Y?=0. +XHQ|nh4naT^'T!ڴ^_C"lB lN/A)5Rbbr!ʐrlM +6d01̇8/z;~2!B2eu?*6nu1ײ$`s}ŝŒanB.7Sa^^ +|%?1g3ӭruwbU/G7etܥ奘+.zC.Fi;zq +yoBt?m7&Q>,XWcK! +w`. +]\*ԗO*;\iVO-ӥaώʾR8b+n\ZH.`q{&΋pV擄r~e1fN}e": ^F 1/<ݕfRz4\Rkޙ9mbqO+cAMBRx/̴Yq8hvw&<cm%WقR3yQɃq6NZF'uo*o$;aP\Qv1D^_M[mDŽҧBA`|rb'w>|=qHM.3&>]3% ztuZ1FBUW* Mqf-BYP2})7N}i]85+bf +endstream endobj 77 0 obj <>stream +hR<YAf>dDJki(N99[ + 郕tdgVr|~j)‡P-J0J0Tl*w) +tCU&7Ǖݗg̓G??Zqm!@.'w^g"2ނ\^" L^| pN-y0Sq.,{㺔[̺+ƀ^x y0INgtUr#ivgtX>8\ȍc1d.%Q +èBT$evsX. +C{ez{>$2qgG'GXg&HxJŕ*kNZz5D:aj/Cl,%8 ǡi'TUJTf:?۟FcKo4/JÓh%)dz\'8˨pEk:-OQWWs^t>#;1O6d2tg3cՙzL&7\}ܼupXy?:!tR(Qcd`?S$.T+`: mBW}fF8Y-f)bi'ANS1ps{JnŮUD8Vln^Yr*3{xӛbiOox dZy=.ŒMfpfvhRִ+>Fƣ/N?ý7y UHJ< -Dg݈/!͇T*G0HPbFە֭'_v/NCqVh:϶>mh p)Qû]Y E( R(W/aA*&wsmB)jU0^=~\r!B'*atĨ܉ YVն^IIr<;&ږUben?E8O<Ʀ 8s)ycPII * ޱ!fDLX)"So,JW@raZ-.B[zDtތ>,OGwVu|MpqP;X)*ec &E\.gz>?~~ݏre-!P+*ŕgrmTʵT*mL"+elsf|)D'r3UNl ):aBk^ۿ?zY1hk쓕la ^_ӘZ&t*TYGHF\+90є vzkZ}W3/Ͼ KPT6Ff]A.VoݸХ^$WJtZ~\IL,$HSv10RܔQQa yP%7aLLyoH+t6W<5ZP)&TJptӝJDO OQf6Bp.ş]Y2aATRkA+~\%:㌔>mٽ?WǏ?UR~$dRMLbRprm>D15Lڜ"fǨ 5(> ,%2t r!}#¨`r*h|-u71KE-M@+3Z|\4)3 Ô}7rqR|6Dl+SOd7ʽͣǣ'AڠV]Q&,.>?菘t6T&ՇH"-w~\Jp7Z-M?{srqFVntݍЎSY}?= +M!' b +ov)5}1l•D)QWo?y19fqΘΎ\.g{_(x7V}I=Nbr?}J +P|I .*𒮄sri4,יִr34FJP!mD@-N0٥0 +ި qL-6e󫞙D0!L +rm TK'serļ0ru݇ok/%2@{1$~E{}11KAt|00RR_%ʍ +[{)i?G XDFQm>R /6 _0VO0 ZC{1#8`!zAK͕퍓;[_\|uYq{Bo|Š1Ne8x n4]2F}1*\qWBDNRj[^}㌵)#hWV.'qglZB)2Cdd_t 7)6MP'Y+\ i2v7?:k?Z?{=>}pi6ƇQ)IM&5NZ3$ō:asY%'L~JOwP]{LYQ~ynXpw'[zɫ1z6Jtejg>7 1uRcnB\pSc +a]R~vrf5vl'Ǐ"-?/t`*-w\1 JXG + Wvo-•\1{Z?oet9"՚[j b,׹wiq\\Kkb*liam' 77B1eu(p'a;3r9+Ja=K;iMǥ2&  ))8y|7nř .=|<)zJiJ ,xz}!9eb%dOz#BZ'éd o<WIPm~wF;}E>x^~N?צ7 l+nG?uy.tm)d &Kb>2t77篿3Zk~c=Q祿韆i+JO+C8 e7iB%2lR,&ՆXGx3_K%ӄRk' 8MJY7:~}X$Tg|M2 EJ)\ 0aՏL7g 2mV7#W"I.tL8<{G16wW?*f6֞TW{gJqە炩DʼxUctrsɬU!jwnURbɫ>%XaO/;'!2w.D<&1ox0&FzmGl2z_?ŕi1[~һ\.Fv}e64oIP̄BI)Sp9t~(bp]J)Qq|2hk[ۏO{kgJmֳ^|׍z6{>*+ Ѧ<\Ot;kƒ&0v?>JǙѩ=:k;Tv8\ANh\cF':ͽZKeջõ8LTtb/}6YklkG?fs{t.WZ>81ZsǹLH*j]΍dƗ1# f7\hS)R蟈 ny"Q(%N~%Ht:ᎲT,Jtum)B_,E(lKr`UlHMOLG^m>jJkzs@)$,K(0u{*ATN2JOz+7`s +Bg?y=T|qm;kbLa)PrKO1)qN/ża|:] +qq6'8+fe']5:cjpڞk@Z-kWǷ]={84nUz~]?2TmD\ ˜ _SJ< +sjy2싿Jk>*6 +[~ޭA:BńBX +amx՗w_7vw_4vޣ_?P ox=hltn'c/ps)Flv@/)A~ܦN8y=+pWڵQmt0IXJy4DO yq@DŽRᇘEo͆R~TBtg5ٺ~Rx? R \+1#`yc;„P)@Z^A+&V,.#C$W$ĺRɏ)r1ȄQ|bNf2HzeKT.ONokHN|'W<}ۻ:dʶPX3[޸u4^?_/FNCo?˿'_75{FkO8;÷/~0V6}EUDDŽXm|׷ӞFCtjm+&{X8xʪNS) H__{X:X`eRJuYO(6iBqˍh&]hxTHSzL)zQ@~*@t/2Q.Ep.t ajE,o8(ETKٞ/!i\,ʹ!etFQd8m "<p>.^|6p+;(%4*cl.[lg(e.I-fvkTሹ&*fŠRoC* / q7.tů̇DSiZk&hi6;|~Z^9̢^͵|{-X%u笘ف^cR\E8 =ɷ7؇)^Tki6^v.;ν׿y^|_>tۯN}5~tw7wkg{[I1. >ϯ{EhUۃ{)iŷ_(g:~Ώ|'1g^_k\ascb氵l+l᫯k'q l+E"GR_|jit\\nP\9#lx6jp-e0xͿBUCwx8ŸQ"pSh0Z9]WLmh=g!@ zyjlV"ăHpBEBb×TF,N\] ˼3l0)q"ZٽS&J: + .iŕ"?[^y@EY +6s]_XS eJԗOR1ZiTX>n˜J'A HnO{^1Y("JaL I)9?4A(d7!,S'ę4ʘZ2t1lWՑݮ, / 6ny+InD'N*1_U$SK|vc3$)M}_^vϗO>6j7{o1eϜɓW>_VzwٽΓTgP 6zcgG}O~XLnLCbZwgSJ#Jc@ mvG4'o~ +iktۯ2*?5\]K`h* Z= I >7M73"*$cv$FHRiﯞVjqȷvF.r'0KHR$(iq+jB,PQʴVuŗw>i2'8%)ۉ28ňJjZwZY +@ZI5p"фFl{R^0PZ2A>%0!Ce!<<=>|GvuYL)FyI"xf|x#(!'MN-|@R&p6!):צO3;O+ +rFAMtуHAV*$b˜FxV.5&;$ugwro"&gÃWNcTcn!% v+7K"TҖU3CR.HzY묝/{RxVY{iRMI6N_w +6,o4! j~o*WsaM8IkwOցOps1wT7>GiZ!B[ ++~[ݽ_15tP)A9O["qp<FR)WޫJ xdf}sF}Kąz )ɩ@ $<-W +20,8_U eX;!TD1 v`ĂSiR"xC,G)E/J/֚f2[ro7#)|%g!D1 +ZT|SpJa" $,MɤI81#\PPΞHz1qfb\ Һ˟Ho">F/9 %\vRKY3uN82!L l1d*/&T.I 9C GpUL 4]yZ)Fpjv)V7\F9{J>2JQ8xJgYsW麰fsMwyt<%!))N`3fU/ 0%% E5Dy8_ȸc8Bȱ$`4/(M:J(cGRbv>|+UHUS[~hl6( 'EeD1)+(kRM(5ͨ>{#mF0-KKSK~xaCN~T& Pr 3IF/vwr=W6*5b;=-?J0iB+P +ϻ(Ҭeʤh:i|IUrV6/0LG?sk9LP'Ld0D&%WNi:*jGd.C@^{:=k~W\ +S9RٱZN7 Q8Ybw_+L"1II:R\bqrIB&A +  Cʎ@sH}W(̐Q!gzɮr~1_ Q&Mr |jv)H)}N`RJ$y|DKD VRry:C̥npȍɫ\VJ-Ny|%!d]T0ʃ)ʢ7iVq5i(cqރo1@G1 7F봜Eho\7c0b%P"q538q k + 'ת5ozp!9Q0%A" xOP5w0* +&/E\a(4JE1H2|+kaN OȪL@1@ಂL%iF, {8UFD +$ TPRI9Ǽ]^_vvv_es=θ3KxA0MMXu%pÑE%GֲOwOΏGnIU02(T궬s&ʦAiIJbo?}pk(Np>@Z^jmo=~Ћ<YP0XzyT|k/7^zhԲSV4Ǐ"b<|*kg]ipo_ͫ~?{ýf* +R8 wTI֌BiƑ.ײzukmXXn^?]pw'7^}kךxS^OusNy3s^ xMd ( D- +|$F?waG~ j"WKW{n?xwko~o~_~(Npy= +h[6ٍvg+럾[{?_O_/|/>3LFIe%e|}tyV׶?'G?/h5/ tV:fA?|8wWޕ??{_ +C` y<7r ? }V7gO~ћ?ν~_~yv2e EAǘdҪvڽAiPyƈڣ}{7?{ +ONӀĸDhVm&Nӣ;럾|^'w;/pHta2GZ6VWO[y7;o[፯{yj&' jE/$igrl,_])pPr\/^ݏ_+vj]6ZYl(VJe$FW~>{w˛dA{-U4PBLdt^%Vʣ'o_}~Ƀ}_g6F C.L5P,kIŖUt_O?_~}a^ђ8gƨdғxޔnY=-y{Z~ƿO>~雇ziۣ+努s(M ( b(E#-r>\/޺3~ͷo̓^^Cq3rb(ɩR._0ռm43'˕۷|iyӧ~iaM~e*x!ȩ!B/AH<PE7q~͗V~7ޯ?O߸qmѫdz=Bp0 +g4bq4O7*/^iw޾Ísy΀'ʛR{ y^H1l-<樫cko[uxR]-Ƙxҏ[1>O%R)Y Sh2oyC*[z;}Vuw}u0.A)ٖ&$j<\zC74-.>|ik?_s7voY:AS}1eRe:4l3`ۊgo7}o7WzZAMQ.rF8^o)kt*SNmd2ْ.[,2;Ʀ!3e8C,uI3jʨ-Y/[FEU,jR: !`*g!`|x(L\V{˽Uw5JhUӶJ9\ʚq:JH l`>,2k 8#f516:DAV1Fۓq$Svs寃uMjX+̸WHq)ZvOH‡ւY 3&&Tҭ#13f^M4d cj].ojl\ZŨcrvwZٝ$sgQwlr=7q1F}ulWD=;Ehse| W\Q/8sv(xq&Q+egwKQ|y3"Ũn³Ry+p%z^e$(fQ QcVW;pمJq(! 09^*=5wK:1n*c*H/-NnK7?|:[[kV75>(2V'eRGiUhU254W#-dHR[O&;^LvZ\v%!+"`%Wj> + DIK6 c'kT*XqfJl>Tfecb=aӛsӺ1" LB1Pʞd0'a6;vEi7~*Ej-L* Nң# SG]6EG&Y.YWLFHU\zH 6l4Ptv]J/URdy'q9o<9&bQ.Ke/nM{Ũ&:$mL|oƉz"bJ͇y' ++fG|nήPT=7}Lo%K+ ]T2$0r6U4vT_D't'տ,6[QK0Qeύ]X҉jOaL i8iӍD)f 9[Ze(o^yBXXi ow_{\-osFʏ\d2gVu͎&[Anr)mp+PDzHꭕ7Hu֍9 S\No'[Pmg +6JE*yTHӈXQ)7Bg_ƌ! jS\1O,_3Cx6$K +5@|(Z->5  1(Q%kmkLdj5.xyVK1|эT\oRML6B.(0T +gskqs"Ҵ=*;3A(K5@Yr|L ό]Q}NVE Zm7uZw{Ϝw|EMkIȮZk:B6yICtڍ10љI}^+!M5PVWLoUH/`Rq25&RN< KGbq3|p>.Ώ" 6ntt'Z57݃%h]$JRaiëO'FfDB{KC,l{W3K +k/nPٕXQKݽR#'kK'opPaZT1@:;OۯdW^LN"\1Ħ@ s.eTM>V~h]:_W~qOntIAaXdNT"klrYn݋y'B] ٹFgjTm;cLP-τ[0_JJ{ȜQZݹ3λK mG蝣;_z;|jRfk|aÁf2\P:|~5Tr1v<ٷ{7JjҽgOCKQcHb҄ݯo?|#t)ocF'$jft[RZ,κ((Xȏl1, +h˫O.@ۆEBV:oӘÕW>δq;_:_39gRvt/"Nvn7BbsZ9]Cy=PڨXۇnrc&mnARk͍_xk`N2vkdrACl^-->]Du +[nՅZ6ۇy ^gy'¬Aip7[vlg/9grihWk*e'p3ftOg~aF'_! ZZKgۗu`Bq & +m"7RSTF"չ[y=-=;\9~E9[,+{}JctR]>WZkދ2+Qw!_Րk=C$;j NMFqN/_5)̓闬;1c Sn3h!2VLoNLoЙ%`΋2*XGY <=\Rժ[~Zå:xWwܵ;Gvc/@۠Je[Xni+lq˭zbae +嵻\~M̯AŔ^\;~%1ؿZNcqvt[ʍ!P?;NDqzvv;zO߸,TWnv6V^l=Œi)U/aȥ ͗6dp(.X?Byg;"t{9#,>;&X G zFk6#S@ai-eI4Z?!Nstt|ZqT\UQ1lf`OK+SvTof'պ "VS{њQgӅu\qkJi3V[ٺ׺dGytt!bCd/n]]?y~h v]qSyZTtq޼%Oڸ?ۑE-D`f7&W3bdunkNTmВ\p"|ڨoؽ#y9;X]]/eF3>7K->tt~mz+G@q۹?عA̒Z\ʹyڼ=|"&7G߻Zɓ;^ǩ΁ZXsk5^AI6Y]r++kfL@eMBb2UݡT}ۆ&,gDq"t@rL&*{aLYm;7CǓ]*=iڨ; +Dm[)nbflj%_\q`ZD&-0 , Kz}-cV/BRI]rcvz%cr\̪aI%2 ,5cj0)5kǕ 1ɃQ^VbFhqatKV_e  +?䣀1; .ZyY^)>!w + VQ)JˮҀ>}m@P\KwN{Gv}Rk~Rqeq`'˪״Nv'=( MPez0Rn$ZoSk~.kqgV s)*7ClA/5ׯ#J9Wli16l'ng~p&J~ơv;&VC4l6B>Jf_-'2KO˧/ ]Ĝd!*]9> ) F5@|*5F\$WDu/qwvX*2A;袟B*(ILD.Lĕ> :ȔTX՚koo UBXV͡J#$T%~Pmh,Z+,#d 5xÇ*[ +b;|K!EUz.V,l)s1ZU˽]1ݽa.xh"E_ڈ1:o5Vkv}ؚ8ReSKQ f}Tv˅e}U䧧#f bm +Dze| (fT +]u[S^*Vw 2\ֽ.R^R _{#S[>&%JI Է+N<=T:>L6fDit]+Hs~JrMCΪm>y1—@\D#tn!({P}!,cmdEpdP7Y1ώkܸ'VZ:MufVބzv&2d9>*MY}*!G[aK|3/(?J[1pv +cZ#G$ZiYt˖S֡iGTC:Z }=|v. +&كC:q̅Tm8gTqDe]fW+o1 Q^ yI#ėh2KXTfџEA2 \Xar8:p dqJzi\Lw*EpC/bl|ˣj=Q ftA8a8ݽ)T%El\.D̀Pqy(? VlL=3B9`|qI{zyɍ^B['|E)^0SAzM b4*Xrh֏rkVcP|wj{.-FdG,.Iڌȕ][Lwǡň:F>?G&o9&dܨVY *2YSv+ԼQaZܜh9#&;kViIB4h+M"юK謇2k%=y JWίKU_<`^n8RM?LԶD=;Rݺ'7.0zG@ c!*ae7ars=ջ +j WV+19DW;{u{cGr-Z 7A@Tf!,{$Զ#*KVft=|7<6r_]+!akj&5Ov 8ܽZT,M$҈eVgtq1ťW!_gf;Y6-A2E&t:(xbrk4YYq +k֑Rd1x?7J|4ʥFa|^ Q-*r1"a@2TjCN  -aSR 3!Ϻ< BgHg|xN-FDMRkzۏ/9m!1B.!2&2Έ0Y+-@UW<O4;eD4e~dG zv1'CLȦ:l#hP( +2=}v|dy-/$KQ%5H͕_άDͱF o+惢ta>G,dvYhrVW+G씗_KKx˥UiD$ZX;n^tkrmL- d߱, IvC/Biy7;C=Yʍyv?g#T/:gABld}Nf"RQ[|@!͆y,рP<`J q}6F6ٙLnN䣔vL1vW(AŒ00%#EOF2[F*] ťzaW;/s]j"L:.'-a>i\q8RSnčxA(_ +a.Itk+*q=6$ܵd%;(l/*5ʯi1S>>@dH0sc2 Yz~`*rfZa?O]K9,!}x0%Q |GlG)_,@c^AIVn饠XV+-?AIXچ4Yr>Ƅ<GdA(w!Eܔ;̌Wq3a5&XU1'* "Wp)i΅9?>y`5vb`l΁=d&*&"dLڬG tkK ,!=&SBR)"ruǝG;qleZ;.D,cbZ2]]}@i/e3݇եn̈eM1*{06S=桬3N|!2#RI>Ql`Ӄ4yEH{XZ +S 7RP3>OCi]p>Ld7&WCL~!N>s1JBo(} +2D9/;$ ̏λD|κcU<DեQs҉T\Jpy2n7_*,7{ׁXt2>:IYln?ݾQ]ң( BT%͘wS}3ar45ZP&'mDidN,HOAۧVFDco5X6%SVu•jX(|q z̴skIg殺<獵 Ћ*k>ǁ$STc3k +L+R(,Tj9bS)qA&WSD0mʍ!菆 LiĒ3@dp UE&Z<7Ņb"un{9W(%G+\UZKzuӻ~tfucW)frc$R0.c_?3HrIl޴9z@Z Nj*f٭TV3ӑ?:? 5>ʈphpfKkVRN/iMlE4{pTR'+ BoqA252dމ*M0t Q&VHBEesQuDU;EtrVcJIMŨ +,\zժ1hB iH QyKmU`Gt{,,bbw"JӃǬ#EZsRfhƸ6-yL.8W41.&y0KDT.9ig|ދBSi/g&ȒKۄ9蓾p! K\;gԀLjp"݄6RKO?UgxSD|jM$*VdO0*f1L.̇XS:NuDH KjzsEO +0:9tfM=ln:q($ṫ\jVfc%A +YΨO{KbMʭGwc\3"-Knx U[Q@2#"_9<&W%1Kg\(0ettP87r#2|4rb.d%o燹;~ɉM.i2ٟ )λQQ0<A*MasP]gCϜwGd|>C#$-9?_\w"3=?e·x9tG:WJo<39#]/(Y 5>"!1kQL*2EnH\ϥ3]rэjM5I( fd$"ȩ5λb=FACXAx =d/z_֪{ra-Dt UE̼ +\Đ%D,b鋪``agqiPB,eK9;?lmϞ \G.]3P$Fgf|k~A-6^F_ɥ';ʔ>7Q)71塁ìŐ*zW_r 11ͅ8¡RUʎ  QPWrO)KPARgf##0"L@O@J0_I%8弋P!HRA*@1I&ېPBQȭ2aD((d E7qq5(6_\P8(bCY0* +%D-!&jGlvʒO ,L.ws!KZbnͬ"$D=BD+A^rG ܞ 퇹,_٤. ^Y!@y/HM,b;ѝ+^ŰIU!03FhSʍ dK*v0&Syv)3n"ƦCH0Bؘ<=fu1*Ƅ,c^fU gD,fǍ _rk>JMGDxhSўKPHbb|f{׼)J~*@S>f6A䇧G 2Y~Qy.wRQ&?P|E/sa*}a> +tbIC\hb 8J;*uBLOqK3<;vNwF//:&_dGʔ)vIDTDw@)ڝ"*<Wq1٭#)/n%>\@2d|,hpH.lH^+TE{9|qRZkhB"t/|+ew&M"r%Dal1F-m] (Y~ k"Ba!"M{hNa\zO/ iz[,n3U/iNO6Y9bRX{,paA*iڵq.6jBA+n3#p#b9eQy!(}Rq81Z2gCRrRO `mT'6.?&UW.]'xH} ]S]q,qH$@q +( Dtց$xsn9aQ0lIʯ{aj:#~)MBB)ѺB[ŋ!2# CO[oqcvx>x1lΡJ7i'ZZr٠x'΀b0_I:^:CwKē:GL `tҍ](¹f3!(H#\=*4 q#Dڠn6rdPoCyQ +W,%[^pDÔuW\ E|f#Q=i~~61iMbTmbz/iʋjV: +K5/fM027n~uh]8;r~'wy ,D]Pg.=Ƽ !!l`9R*`'_V"Br O͇fL ѧ̹EdO;s2TQ3/x Cv. +di!*Py/,Nd\tv2?ls>DHv!>?dEFL7Fw1~&&jD@ +k œ҉/\X&ԺK;q{e˳1ܓ,U4$Q  LHpE[Ifs! CA@e'TfhBV5$XOa(ֆNL뻃&;>0@! 5wHt,`%\g>*s ˻r~;:P\Lj@`A9_l]G4OaN6=1G$Dv&Y=:Y$龎ntedDYv-=]jtGtI0t#=cuKAt0#<Ϳ~9?BtQi3.PxMI.N0NkQ.q(Hn%d` +)7/MńFRcdމx~D[ )HzUE)Pjs;k窀~DI?q^sA|YHd{;_ ]:B4@͠nip}@TmT#zewŻJВ\ Qi/J)d>[e-| R 2[>~L nH26ZFy':BI +5݅VVx]u@c*7{_81)9Qݩ]?e2#X`qd0Y`VNT)LHk]݄XI)M!+H=\;f̆R:eyD,/ + :%9+MnHg=th|(-"J@c+.8#N#ڞw~DXT*JiM`ibd*Q !|fJ{-|w'ŗBY, )7$c:l{ Hrw+%1_z.;)!j~\6@ZI09(DE?oY V6bK{/Gײ;VRM@daOh*TaZ=9B偼6Rbu05:GCB""H vpcaĢ}lww.#L)*V.g1u[vPv)E)(Κ^Uލھ\%Am4?OЎݏXqGfmm'z~GqH^]+~98Tf 6@1;N[ r~E]?+:"= /|`zJVuƕJ]=O j˧Dr/sVDNZΑ +a&ubl>‡iEX}Tk _=HO~\k5 ՈwJ K )B?W +6|e{ޗAF:,{ Kr+%l)3Dhw{Pڎnw0kb;T $. jvs'qd[ɻk΄,6bR^ROt ܼ}y%f4”0qJF`ruL})uJ.,^4T U}!n|N|eiUIsYH&!F5XԖ1sّP$dӸԻ?IYf0y d-¯Y0_KH5pvW hUš*G x<([/ *eO1*}z=֣,ଡ଼v/-WT6:ƴeEbZw'= C%ؽ0LYQƻꜦ6(O&;Ye*rk$!JIq3GR\(qPy6A_ezq1T/UFaވ Ѓi]jQB}qD:ÍI(y\mZNLIP= M]7[B)Tw9wA*Cyej@G;@Vcwz~M{$MPq:gwSC}ݣ^B}(atM\ +Uiہq]q:E.Fg7z EObw~{K r@K%Wv>uqZTiϓ8yvS\.źVpxWLJq\沓w8vgշ*г"liݹu;y@L7Lddi=}V/#jL$f Ik +J VTCDJ~+mWoPIXݴՎ embqI]oWhDeهkk BQqvmg!rJh ä})rtcwQn2Z3d7/ΣBj^d"Dq1blϳg_6jGaz'پnV/#rCn~_[~ +e:/޵\E6am6'*7(\8ݫH8`1+I۴f ?_.Rnj3PkǹM86vR)3IY[Qn3&bbE+. +vJv=1s:s+y9)k|H֘/۽ΗbqQ? +љrq cqNRiԲ]6+t `֓*{Z:8 "lâr!Z n\d6PѳՋ7vЛ~g2Oq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]ܵq]?g2@8ꣳ>j?(dXNfeK5!^)@h:ICPv}i+JNyE`ۉz4aP#J-d|٢FZaigLmLiSp%?!mwb)ʺQfRK.kԅlO+N(g[C.9'8jsRiɗVLng 2jqĻ=T\+SRN12Mv_Q*L>[_ݱ8s2ӋYD.'+Y4;i  JQ*ɍ00_L-5kMTie[ vBLn;mp+ƺJa&dʊ&gQ afV7>ODctd6L>)kH#f' +L!-7tn c cr1`K~<(ʯEH)(#2 9$3!LK1V{"9L(O-L%R(m*F;|lкiM}632n,#*3Q*K>7 +V(`r +QnSz[+( ҂1>Pb2c֙JUu@6uu5& wh˕RI*ؽ v`Q'XL E^+ą2ph'BUO +vo"˨ ;uebp>\MYn\)ai8..WB-wKwNqR@&lpۍdۭw\X_\JHޮj7ڨNHTOBzvo!!T ,Be#½bT&-!fL 3PRh8CH1a-1#Uvh{*=DlBt`r)-7hkwBAQd͞$gL1bҾ(2.u)Q +)9i(]B &:RSc IW2V̨2>𷣓Oso:ѹ@~k6 +SRjRql"r=yb/q 4ŔfR:n:QqdwtOՃeS}wHiMr ׎ k*T"D(Ǘ +5) >*5!"iB>ԴQmUs΋R T +9W^8L_݋9x`_zgw*kUS6o*{ۇZTT@%6ƤfJcP zc U Ba"-DBDV6JZq& 0?l.Fd y+&n'd8kv}1 +_(¤*M>3 ƞ)9R9Rmz $_ŵ>n=ƃ0K8(iG?9EEv.Ʃ< kXK~,Iu4 B  +).a˜e p]:trKg8}(܊ ՔTSIRʊ3^8rv4Vষ5;VKso_Lӛi(MB&R74}TFm!gr?q`^6dU>;KmTf ;L;Q? ]ͱ[26v7%Vp6;2ޯךgbuћzPP.NH])^cZ#He qŅmLr;nݺv -T9L .& R`XM*TBo\{d?mm+MC*Lˉp cF )o$[HKPL()=Y#vJl 3!8OzOlBt5TH +6 +]8M +CI? +P iRZmYCIofQ=LdPͺzX.."{ q3ί0CHRLSj;G)2@|~'"g @ŴLҾ^^2V;L_%Jvl0Zi.4_ح\^Oq\ϿٓoJ1.̀A9\btی#Nұr VKy)Y"܂0ܮOiZZ[jřFB\P[ >*Qb@2ZFq\̈́,(0RvJ.c6zYR_ F o^]3uk@r@PRG DvR 4`G! h# +(G~"Dꇐ@Ora'@cJ#Bn[P +"*LI]OЃiqyn+)z@RZp"{Q+ZkF;V^fBndV޹PC6jGzTICr6:hςjWMsLq f:{5|9!zG۝+0k;)١ $#^;[[j}D5.mCyZk{BbkF|6n*ۘu(?p"[i-L9s|qQVuUj܄)m@!&&dĬ$ Vԭ0CQQٵK!* Q8]FM@b"_v#8"Xc0Րe!P ; OF)W;&vRz.l'T +1u 0A֣[݆G *$8w&WNjB 0f.iJ+CLqsD6x^pJaiEX7Lg|>k63fy6 Ӱp|\oPJK.z a:t,iMȘ(0L}8xf^hl%eP ` 0 3"0q> J'~Rj9ɁN(`fr3Sxk+fg;YPކB J<`# B(2FL$d6Qn,FBp p苵盈/ʥji'Y˛LRZ87L$X8Nwe)j41))d m>;0Ba%&A'2wڱY?d3anrJ*r͂#(;QasTҫZȫ".OgVin{2نR 6ڹP=rN͇,R o5K|Q~.kVTzL=SZ65I6}cg.E$Wcb)J[fywC?07bq `R@}&:QA<Nm3JC%$)WʌŒ2>D|f é VmHv^ 4\ᴅ9I:`k@Co'RTBnM," Skb+.BD `6<)8?{^ aTMKBmJk|&!r#$ЁVB ZAڈjPBsED_+-处.xms9\>%քRB6;BnL[`z)FZ65Ҍڛik 19incJZf  gM(u{TVs=3[[ ZvIU> l4!o&`iQ$GY='v}V r\8ƶSBr=&~ɁG%Tg4j'z3).h(8/LlD(_`3=4~vcL8A ,uG"94|q!@U@!Fa%,zRzxYHc\!SYP3; 8, zΆ9LA7\Vr+¥lvMF}1& ݈p{>{)h(||Qv#)a5 E6P _>̂a|Ҧwf"2tT:U`Ci"$p=cVƝV7FvN `u\ąeny ȭI- $Y8mP`;!yDJpIFm\1x 02ŗatI1x7fJ< +XztOÔ0@]Қ3wAo%FieG@AN.foyR3 `fzڰXg|6ΠRsw}m +~HpEp5zEF9)<; +䝲3& [q>x0nx|os~"r j`Q˗QiQǭmؔ +yszC+aLgfzL)Z5zPXRO1=-W1H ɝGF4"mcQѼ(jAiF Foyg@ HPB9p-g[Q +G؟|QxLPb)=? ШHr$WGQهղ$ď? 9[C0H]-Bm&$Pf)0&4SHōK``悈Κ# +bڄ։1ObFJkAlq+bP0ѻRfgGg,T)v'myX{ \~'!zTR|!D)q+%Jp%0VG~FuWqZkFiw6\fPe&iV`W";2ٍ'nBSIxZ|!֓"w.XXF A6c HUH UPP9 0]p10ge>&4ø :m_J B~7\@q#e# 7aڨd58b |X$xO6(<25% OPMl,PINP&@m^jU)I9rvv]Gh +AI +u&3;sy@Z3(L"F nLg :!S5DMyrv`C0|tQPbĊ`u! ea». #8C1gΟNFmL'T>ب v +2#yKHqL4W6 g͒fL؇ȗڊ1 :2LcFy@bWi=aD NJ!tW?!Q"2kvHS6xqΞ9X yT Ah=p%L1F)Z\xvN^ Y+gkaaF'VYzHCR`uk@4&2j0Ya&cr^i@x-oNbi 77q]0!K uUB5LZ`~q%X9*&L_Rq'}C3c d1 +vP*ֻۘ  FҏA܆nHJIa#@=b6ck1* 2Rb Je)Ԧ!'~l#JsJ"l$qL;c!-ؠ%7=KС * V\3o>qe%JQxj+in#VzxJi-> +2m@n؄w7ПތFa 6zE@JXRCF~?_|VLڊ~Dq/L5x93k[C^6U R sxxA݂ReCBolH %Lm31 гN_,ԏ$I+ xxWP}x qBt& J/¿1y/Y%})?cLPF[3@EG]iJi[j'h;|u j8 7:Gqe= Jmg4xDZ:”Xy ]p ' Ug7r!&h$MT +jpl'3[}`ƙ  ',?!`f8]ҕj&(< P$Pઘt 9's8]4?A/L)a !@%6A݁̆)]g }( >۠ +?ZG֠Q3ʔnoj„ +:,žB8 ffH\oV V<h݄XKI[_JйaÍ ֗a%FjyI#j fk)?Iz^X5֙H/F|R +>\ .7G65#sR9pVJ=x{Apo#aZ\4oR.r0aeSb4\vD;0!;{»*YކNar;vBt.&~F"H}?cՅkL*D|6|Z$2jC 90 _ܻ㡴pUZFiGE]ZX'ϟbQx)pv.OSBivno(A1SYt[@XA`Z7! ō @Q=='V7V}sqa0}+똝YqXo{lnJ@IN]({3 tP !? +SU|SO!z>KoWީZ#w.{rH̏K+2w+}6=;!7GZ5ZVNRJv$ +Ӥ\NPLȏhCUdգlQZT~6CD+L0 1i (mSR͞QU; ICg `AXW{Ry`"h8l z=K KfjZ$""W riIgF0JePqƍvvPp@=ކ̧"CT! Ke-Tg^(CAŨ08EE{`4ju}Ǹ2e72]IP_J(  $ .CQZW9GYqR@-Ҩm$|[=sq`wT,-'ٓTYZv_fT |q»༱zPfftn!1\vl4\Y&պNqA;}*{ZjP΍;Wվ:ƉR; T|!!gOy~09*a8wǑVja]hJ\fd5P.tbu|n #Ww!Qe{7ҙ/m2kgru~&lv߸|eezΙTYF>TiGL0)t=,.e\ +`zрLJR˫⦺c p~̈1\Ea{ny lvlVwZDhЙ6( ꈲ +Q~tqq)GS-j]gxv\ھ>.ͮJe90:? +67D鰮'ɬqqdr\qʍZ?+ʩб9 *7MoڮRBzL}MοR{~ځ3[bie\`cBG(PZej6qq4;c S܄NىVQ6@+_d2OF[>{\OKx@86۴;Pj+[>Œ+0echK k~H>syq~WNk5:}3>{Im.;;|q*Vzm%r4Q&RiG(,ykmeyc˧^VkU~xQܹqR]TQЫv@oӧo/=/?^ۋ v5N:,uKwi Ie8vf\v?^Cmg;ݝkdbZm 87{UˣKꀡ@D~||_]~7{xj'own~eOL06{F}?=xOtF}tJڙJc*{XjG_T?T>ëզɕ93ڧv2/͟Ayh(4R^gLCGNQ%dJy_v_UW:&g_1A*/o~sQ_mȏ_Ii~k=u8#Uw@BdsA.p@4C[LtpEmcM˟S k{o~2Ziyyvd wϪ˛7 >v社|5rpEŇN>$ !T]v|<~_y<}@:*dRt{g;_.n~~oh/JW3eݹ8b LDewl캃ye/nuӫ?7qݮƧ_e:WfIi3| +~r "ӏP)oZow'UvՏwxهf~/R]3|ﰱz N>_~;Eӽ/V* ǧoW/^T/Y}[SIZJ=sϲ'7wAEiToZC6?;ޱ=k}Z^R/O~*%(Q(Og08 [F_BC/'m;0#dqɅ=,L/3JA@筽:2m`Wfs4̟JyirU߽Ɏ.w_VWrqX]=ۻ=$o+˗]|T_]зW6dǪM{׋g[%L<6* rx}qz[=s'uRpB̔Ds]ՕVnJ Lmiwvc= Ü-ʬf[)fmu@ $'߭//+1j)=?Kx̞ +ϝ^ ve_wg;oIS)CG\w_O|{woKꦱ_οwы7{W_KʼnZ7Ë;ŷ{V-;83f<<Pa=2 X`F8z?4A +,%:Ogh;uUujg)Z)(Cz RgW/?|7buw'O+{kyOfϜI%x4V ӟG?叕^_==7_>{rzO~l@KvO{geۇϿ|ůmVR?yW:aa_.A8k[u_?OEO&3}V^1ۧ_}Wt{raZ^(,>\`nҢk֖Y{w/ Ύ[iR4B2>_|j?HiFuZm.^Ug櫿>WQofOV ߽ߙ6n赃槏_Ԗc|(OY_?ѫo?g?{:}S۹i]~9\^|ᳯ\q67z?|vëg{+α/%'WlaOÃF}'VKP /{QnhϕR],7IVJ]}U?e v/>m6fN /\-ɍk\ JZed25#_]gW_q7_䚫_yqH]1?-Nwޕo2 jӿ?;G_4|3&<9\]}[yX$1>?nw| +ln O@W4/qYmqŸ={^y]_j,t) +jt.ZP6K㷿si 4vcYy \Y)p?n~\f:ZJyuH-nǏ s_,ey{E:fv^<>=R.9U[g NSs (ją<.oyRk)tNvLX]Bo{yiqy + +Vjx/{Wէs8z7×1> rPչ{egz䜱:J_CwY_-tVWTTފ4UYtO{/lԁoɑJ'ތ\Uޥ7H @򾪻{f5VC#zR㈲)K(ʎFlEoXDsܨAv0XZs̬k*tw#*6 X+ 2ج\M#b31v>yC.; jq&w/>T4'OUz$@28^P˕ps75n l ^ȇH%Xd>i}/`m+%!9UrBgXG"Iƺt.h3R^Ntv.a6\Uf"fZo(9F6*  @;0uv +%dOO{!7k墐?Y; fdBw*;{"Xgexq sFMи!&207TնĜWsl†a&0ɟP*]J:ѡi1^?T_׀]w L7Dm%X^ʧ=bhW)n[MOp5\^/O(UPϗSR8Ȉ@bu37wQ,6 b i215a#&lqq0e"e'+W+W"-F7sL +p&X\\`C#|'\)F}YG6WŧXBAzfg rji 4"%t. kz R +$a1I96T2 jv&CxH[1 Qaѣ+7w)7䍂C_" +g8YğrFl(jzps6g{K3gKT(`ڟpƧa.>a'M0eZNbU!U#yo*MPkZ1HNҵtoWѡR,ǫf.0`q6`bW+=.]ReHI[\nqU,8'# '4;0eѹh`-eGq98,feh7ċk.Z2m񉞓NhqIŪy)LNʂI)5&GCu;T1[Ãq- ֶKOZ a0Fl7gevf,^>˥*Cvx +3N&~Pֺ'̸PtdBYqå7ܑrBbWµ9p5D-0eˈ!mL,\b 0 + )h@(E*X%ױj*$Jn:XX +qoZa.4 vj߈ahҩTNV#Uė7#:NHƱGc?Z:dW1>sLBKx[Y:u܍˷x>_Ͼљ•` ӑX.~Rnn|'={ٸx w?<;[g9\J9 .*qdmͯͮx?=vV[Fgt +&CjФ r3]R7R[ؽz⮇/z7~x֓[O3!J `vbJ+Yj-[?u{WW#o-K1E$\,が뜜(~,tB{ι3g~]<̫s^y{=1z8 !6\ $grYL b0ʵVv7g6O\8|ɫ}ڱ+SRioZiͯ9|ًWz~>?/z?yWw.$fO ȿGՇ-(R\=^ˇzCOo=so~?/G}u}7P،EvBu>*fV?w?~Ǟ{{?oן}[.\KBCO4řG^}ۣ/›Ow?dO~s8\rxLcFD`RY:vG<ط_zO~O{~/>~'_}̫o;o#\P56̊Kҕfsw?|O~O|_?}v'Xm4 lظ0GH9][(uӋ+G^追{~_?ǿ_Ͼ~[B)6Z +=sҥ7z?_k/|evu3RhR@UHF +Hj._^ڽ|׭y'ş׾g_?w_|W^=1rVn$ӳk[kW.]w?~>އ}_^ukzu'jJ?)6uαoۿ?|/>?O>~rTkrvf8tX_xCo/퟿㟿䣯W~+R֣&d0 .T:;.^_ދoo엿?/?+'__ ěږ_+\3Vs3KyƅN=,913+r<*Uzٛ9}w+gQZEHB.ҏsEYRD,L%Z)ChewB^*HBr%>b9Y^)yL@st2*jPY\^ +Lj"8H\ҁS&t9G5s 3Ox1]|l:ިVtmUՍ0GL,uBt8 % /ۜ͊jtޜkf GB a>:h Klp@Y"rg)&9b@F JoG@QJ)=F&}sn*lt1`q/ˑH4Ģ1# |J.*axA$T=#aP8&7-K<0.:FM܈80ьjcz؁Q& h1Op $VB(V9J-1Jn8(AL+!N9i76l>?e^׊J5aUI3O17!3R`2%0ځ' И#lI`!'<\fĀ<ÎcS64zE +Jɠ%LXqPa&=5x6I{ܔgDZ߆+o(V^: H'x` +|¸eDq_N M9D.6B~"Otl4sqJ<!,`qy-B(s(`D߈A[&Ji+\̜3cFăl <tj:{:9fRcSx{c&\kVaj(ffrdB&7e&,(n&|{p}@c; l#:l d,$d7R,*dDAE=|z2 C=cAI4zdq9Q?<8e9)ȗF:@Y+ P !sX3- W, &+|(g0 ^#QBi˻6"<\^5Ѵ")9fAYp +TA 3|oix|Z`&C\ʄ=|^1;.il7{Z'E!c靾o؇t!?!6e) e$@NzblX8*$Jg#!kTIuR2wТcFIboC=^Ft  tP/hD ѺO܂H ه5n7̔oxxj st.gh +̨⢂RRcRnŤ@h]3 68̥I!SJvT#:`Л171&a"aI 1  GIl!=8S6%Ī jm4qp<4NVM9"9褝J؈H}dj0BM LfR&XjhfqLN=$Yȸ\lm<o5 vHr +#h#:g lЄcL9~PPCۏ6JcN7LSUl/{&'.,y̌Za[=S0Pōظ\!.3KZkcV6:b&\9.5G5u@PFg%j\tzeHi;"{=NkNo +|Q^fB6722b;i 5PgZ*5P5l̄Ѡ՛5BJVk.J5nj8騛I +Dj Q_5fx@M.KiJ+ו y;&RKfV+.&_CV .6D6RE9*R49h:ƇRjk\F|=;/ "m)1MYZ)`0 +W!㍝%Wl%lXpL10 *8wǢ䗥͛t`UR)k]~X(1G|i6S&B790i:P*A"츑РM\ٯ ې7sg}w&Bg 'ͨypcq ցEQ3]6VF\q ?g!l6qeV&Cp=s"77ҷFfX7NW.&d} T fmN'..} gB\E%1L* 3læld!_ti쀰\wVqMqTQr)VY%,HO_|JĝGPƥbEP& BqIOry vb7⊓ABf\|HA$/6J͝2C&d#dXA~K!lu{La拔\g-RQp18s,:0Z;Yx2k=fXr ̤ <: i5o\F`*QN8ta-E!3ϦHMSx'I; > 갚R 7L4ʺ 0@ *%uԣT`Q#6įF[R 좃읰Ժ'm9Pp%4PviDٽ! N&IZ Dh¥AM&d GRSl!L@9.C2-O:Yaa ѻeR CnCE 8<-tl̑uRI3*%Gz;iwT * I6f'̰ l%`%z!9}Ovl4xǛTEv3奓4N X1N41uX\@!=*3sٹ +/X R1Z^5?2k71&b鬋s46J{Cĕ-R0s0Nř;__yx83f#Xhw|sH8(\&%ݾ-=e~MH8hi,kºH  YDJ6u.ֲc"-&N0jĈIr6z N fEX,C7KOۀdOT3R*;i`PP@dtussi XgFމ =4Z)[y`BƵ6&x]xpe,gOY_a1BGڅrT= G 0%A%K d"9)/(8_Dl%reMpj9qy='bo +Ub!v^OY` "W[7sg-p1yɎXp&B`uqSLuPeMV}Ns‰{ݺxa4‰5o1d듋2vZyvǫ R A:_nmOX=c67R` dspAH + 'k粳@~ U +(}\eQ*3 o;aeW,5+ddZiI-]._*ʇʷ1``ї'?99EA ãVJQi3 F*r^s4=wqC@@ww Z\<$L.Zlt h,cZXyKGK>tWm< [0)[G`¨Pa}Tm +IPp- i9kD=$]f$ `RBFU-߄#db̗҅,Mo'VFYȧgQme' p)X T(8!( SN`Q +Jq].o +7lBf\*kfZ+'nn~ӅOs3eEjO=v7K[S9;R(W'ύ 6Bs#x4vAFa-PB5PCʱlb#VgXmu`~vAY`z,Q: :!VTdzEF,ALTJL~~=dOH֓\.׆SN-&gc3Vq hFgع%>hCCA+w*i'|lN@ȩkP0 I"##QΆ{[\vɃw %.))lC1݄z<7.]zHH0*2r+|a˸HbVO i \[8LX[G N ` Nb6œ\ZwT,H %nVoUR̀qᆘŢLA \\ a`fGxnK"9 CJhLevKg⵵xqq1Zws@m-m&`#4EJd'DA4;Wp B;eƨ BlZ,{H g2hˈn5d"G8/Ry3;8Y\];Z`NL!6wqF0H*秏1Bp#/cr SIǔوN `g}n*`%=zsa/kT$?  & 0k8=) U4mT7㠪õH3" x!.)9Bg\]12!qT/Xݖ[y%:F;>ԺABB!MXyg_Azx&#J^Z46OGe0]8S\rZ';ffT,PNCT SVr<, Q + KS6FIk% EB̀H3tT&UӋM ћ@ݗZ6_zrSTor!J,\pD䒽j` 3 ,Щ)3`ƍY}zGۄ8(S  {A3B=| 5`5Ekk¬T\v|e*&C|{}/mN:8[Qb5C"D?f&,ԔBwc-x#w9T] +VU4v)1\_;7vQ$)W!C˃gi1+̺: *&O9ypS6jB;f $$`3OwU]:I(y)?'3ǓqNj U*iC\^cLBw@h̘?7fCF!_YW΍;(#*訙 +jl&Vbz՛h(O:G.iq# q_Z5Mn€䢘3g +T!tU9M`6"U#~`}h@J6&42ew&7]9.Bk;nIHh+D;jzFLv|fHyDaX}6g#RTpz_cJm 1J +ڐ !6H8٨nψ 0e}ZJ2(-`8;m]xr Diܟ <5a&Zŏ[(OK)g7:lݓٹhr.U[s)9;hNASZ 6/;fƒ|ݫwpCvAˊ+>!^]Ej F(LG90eƆ&f7ovxxШ{UcÁ `'hEh1brؕ'vn&)4=\ZG P&u2#ā!%B(3n&1e)Tz@ N߈3 \?()DŽFŊрY'pqT,ԋ7HaqZkBYm](-X )PQ:0Q4B% ?i3չBՕc_vaK/sqIz4Dl~/; lp':[ln ឋN|sQk|pyEfWo>kwnwuᢍ|nih5"i:ZQ &m4Z6Luq0F-c:HohGͦhzRI _8/0=EE;z?omgfb ډk^,\qyeϐ}2XS D-Y^ٸx/0w/\ƼZer& (bH 0_LHg;UHŕT0T(k%XZ+cBDagXy`:Gv΂N0>o}#Ql-*ɶ֌2bڈQ1GEBfN*eg3ýuҢ%<p6[>o%C'LΊhlF)1tIGpȧӝbHpʭc 8 7j}u_ury #W`RV*l˳iJms1ߧCG,1$@nRoK{rmϧBf5P 2V;rm܂aWJ wa sH"|qoLLQ65$wLxҰ/Jpr?*/&+n.L@f0B)=2BEbо11nOb\ITz;.XTiyB4DGS~8eA&M#xH43 +*L(4I ۋo,x@-{%Y=~Kw5V;KRVZ\76 P;)&Z iR譤H'!o +K8# +kܡ1ND29x@ޘ윽I*fhSϫHysW +C#SR~En`!I-]"Tځ}:cLcNJmnMo ,0%OR?ߎV}l];;t UR);H bqp.L7CAg܄1St_8n+*1Ywz. ρdŝN2S: bS&@rgJF3/{=GoV;0QaT4{{6y(o,kE*Z3f<.Td'e-n}&͆ۤTu')qyŹG-_aPrKP-d !R jۀ +<љ +5P a &ra.=w>cFĹkD{ϔsBHSՅٵS͕fR"| u*TH6V߻y)X.+6/X6irlD1ֽj`sa֦q.:KFkH{Kkgnb50+|bm.a8zǷ,}.=tc⍴pMvݹOHZG_y<1xDL,<أ~3x8- 8;;5.`]9۹k;v6O'ceԒK-vQ)+0z;N؟7F\fgS&;cH׀}=|7}+ֈCfh%E`[׳XU|=h ޝgu6&f,d%c.6ga 2]Kv*D/BgaDiH}us;ԖN`o~8Hs~#Q?=#* &4~->aH烹KOxI)NVI6&Ntk+9>睔V@vr{6id OzY(,`Z zV*gzF}&X1QCZd@徼73&XQ^h4S/J)rUrS+IKdB8v^9aS|t +F`rRzhD)bfF>)X+Be;bA^O$ퟸz%On\~pbcBi\rX +dWw.<^_> MHƛʺ71oƌ1ˁ)Pv3QL.XS +KG\}L*A{fsp5R۲V|jr%\myشKxy# ,.fet8@r;(DfOV.⟒?޳ˑJƴ+# H ޛʲ]tuuuafmaSrHFҌDt%ݵzCVVq~^ > l5Jsw_W+kL7;k(=$R" +OAd4QJ3,[?ޜXS2Dm ԑ&\2 + W(h77oj a]c(H#߿]UwhLa_{ono2+ itrufbWn~x +HmoX*o;ݏ)|{3~Lh/2E9JBΐP;l= H%!=ĥn?U7w.4KRZsϾ8f_84^*ĂJ˳GӃY'=1M;(7o9a6 Thǐ\ebTV/\zxo|uǏ3&w~km% +^ӝ)mB.\ 97%-V?4fs'?jnޮ_ce5wj4O5Ǜrq|b倃Q.:^. ^fPjA02ޑQVQR1?T ++zLHU&zI{M7[|L6X_u B*m&ڶC꜋M*ͺV?.}y,b>Duj%<&Bl"YHVV# {kEA 0fPgyXܺ5ZuZ\ |.a>DY/=HŒuˇh@ lNX*)^.gT|'pլ>p<>$lAй\|\l4݈gމVo~s'KDi".B]Bht znpTe{{Zi2`_$ bWƏcS0Sv(qs.4DTqk_)//GzjG[AwZ[wrݽkOE&T+œ/Sݺ[h}߾1c/Mbd|)g'^/]/]j啓ͫ_|=liq障!N\k[ eC1É@qZG"5+arىSni"U?A0_%:ZѲl},EHBI{`v! +Ky78E/Ct T%Kf&sdd^Bj[7`Et鉻z\A54=̬ wY&[;͗ c)23SJ'LLDqF#&!>0^zLqgPz3:lQIϝYĔs}شsb ZrsZPs0oR+Y 2cHA/oDY^GZ|Gmz &1 ̶5JGC?m΢N0Mw0`吘,\2Ĵwq=D*0G +L9PP_; xꂕy7D L=mTh!!ͤ\oB81֨Z|܄mrTҤDi0̅L;0 ',DE?'y蜃@wBhnz(.*tO-$$zFaY+ e;|v xC9WHzax/Ed'{33;L,0 D^z%@5׮i~=Dl0z3Rbfy)$bX*x)PLKr4-K6PHkK #Y7\=bcݷ/?Ƴo_}ɫ_{vpӝkOݗߩnܫo>>l\շL, 3&sz)GAw+^Os?&\ ) '^Btl{{[=D"sQۛA&;^q1T-zV s bʍg+.^i.${gVy\LE2]p;& + x*g؂2 RZ2g>M(8 |) : ,dCu&r#.gmlZ +$C1HaŨjܨJZ4xbǚED*8]i[XJJbgfܧ0a&R(εwl3boo3.$ >:E rE/oսq+ErȬ a> + + ~GO0m p6!H:X,7rEebe.*t{~ P}-0VӋ MTn +Ie4= _,j}xt9;~?p?$ڮٽRyz,=ʴVXw>]p. tbQooX/h=h͆$+HLy{l};K66mAANw]|Yux;ZZ}awj7夼xjk&)e/]wRg2+trg/}cַc/_+.30,[P Lm',ޭK7^??5/-MlanIX|,t3ͺ1/qix_Ǥ,AKZq1xixZ{A~Rڞne ,n?rfir=pIvꔇÊa gV@r㎠@Hn͸B!ZG-.֯iK1Z͢L̏H)mC@?}~L" +RH!- $&dxOja.[z^nek86<쩹ɐr\%- +✟=o0>M*03:%t7ZsIͯhu>ޮ.o&@nZ*X;eA2Fj~'ZR5wX&},5 鴘\Ts@8+E3~ @m˕ZCl"M]9cXJ.:YPM{5ȿ0pa3 UʎV\"'',BSZ)Dnf +?À/ИH2v8X<4 ^4~ 'Ҝ҆', (b!v"b"*;sӞ`u,y)ߜ-!$NIz*6&v FAg^\Qbdh^ׅ%u#2DD0Y/MddCJ4`.JqVI@ba*dWf?y?Q C"eu y9~q}FˀTrK%% OpS Cew@| 6ED(A(wv]{CXCS\! 4焧yNXyc(b.%*KʊIbރ(YcuW>\W za;7@h| +Ҽ^""DP`QM@ݰt~ns~$^"|\Qaj'#'{r0%9O9Yq"nʘATt+͔vb4CtK. 5l/Odun0_ V q=F:|Dp3ehP Kf'3`^S"-ࣥb"?x0YN܍E&K: %HsΰՍ}T;c|aEB A.[8q ?:?rǷy댗uQD*3FKw9Ѽh-Z@qVUSDeUw]:ôɺ H'¬ՋLιl@qHTq1 "@`&DK Zo3hsNoCؔ za6k t{wxd\GS\ qkq>G g_4qAwBs/1D &a.5^gy3+H^! FLn1Ûaژv7Tg]~&EA~j> Gj A\sx2e!\gCq1 w"SV̔q&DTDNxyaU0%ɪ}`]x1bX io<&^:}E9%!G3l_ssy1xPPVH$G(#@Se?ˈ 7D9ˋ@Ī n;<;mCpiEYb:IVeCрi +}\_HV&0x ~-a /yQ"*y{f}-r٣ոi@i_yS??m87CgqYW{eFLۂ>DT;yDh-UY`ɡBb΅dBK +JG|ϠAM`*Q@p>stream +b̏DggPzNE܊*n#6VX<-WKkb(Z4)3/{<Uc`GTFtd +*)kCÖ{G~y+SLu{8'DiHaBBdMՋrL9ic!8{?}`yo rh5RZ:"1Ӭq"KZr;F\@Hh̙iϋ/CAS\2x F(s.T0F+F:P!Gx`O$8bf,)%sIj{;7'/\UͨB T` gcLVjaoZمO^/OR)p, n;o/?x ѳVvAis/sYTorR)J;Y_3Aj,ʥ~ѫo +foZ>xv[uQvۨ/h7Nƥ~v???#Oq}}j։BA۹i+`EuBUUsw;q{;կ?~qgћ+N!Vx)jIJXe/>_;}{ǟ/_}v?~q_.uĴΐ=5x)ժvFjq\`8 Y&#P5Gl;MSqyvo?_~u雿>9w߿oVI##lbF/x-#77􇻱7.xcwW_ϯO7wΕ/ X,&'z+ϟn}to7c}XeErJZTӲS*!r…A҃=Ï?O>{/wGR$hJJظl4F ◗߸ǿ_>|zvc#܊='bHMr\&R:(w+?Y~??/uǟ=_o~JA +IZ)p!H1Ђ6]o?w~lNJT"H6FFGnyzus~tF..R yI!g!T$31!UU3FlgPdNVJ_qcmk %hBh6JRJ*^篭rud'~oY_*FBa`ph'H[yY. -fǿ_ۯ_QOC|7sWA7SRE?Wwj<oW@aFOuM-aŰb\[YHڣǯ|}dkPEaRw#.1)\bbL H`)MJi|`Gbdyqu +v6YO¢0ԈGyN'd#Y/ /'?x]׾ޗO6}ݫK>7NKΐ [D0gJ2fRnk/_/ۏݯ޹VeЌ˪(i)ւ(Dk^DE:yMId.µf3 }cw0(Tu* +  AMMZS9XA|^ + +rx!f%䈄 ^9Ph^a.뀜D>t\hX\Y-n7RTVK Y9uLOZ=E9=g&~W$ !ɇIfT. cϮ zy~gS2Hp1r˙5{FiyAi^b!IhISH*px7O+,r&ĚSn RX2X*H:E$dՍA`zWBG9VKK3)7DljP҄-/Fm2 y ?? cʼ#Ҥdbr9܈B5j=eq֨#:PJ~**eBPZOXZp ;:=ȸZ!Ơ.&i{r)0`+1JJMX\.s[^&=Or8%M9)Ǹ'?LEaUvT\xy2e=XԍVH|ajڃZ2K[TB- EJ`ҊZlJ2.,j NX#*9/;i'Cl>V}RozykuR48TrJe##7 !ȷQ.ZHܚQږ ȋs-4^4^9;"Rӫ;\b`K/Mx>ni9G肒b+3t։! K&;;w~L"'f60Y??aϟs+1K@JϥqHU!) .#bMu\&ʹ/nxϨor`$bq|+se:oܸ҄g#\oR:Ҽ%$ͅPd]97$n+Zh ruW,.䋋ױHK6NNHBزps9PKP E'jtP,0C+iƽĵ/: ,ƣ2!f<HWz +?RsR!AhTUT&>:K>8PN[6\xSXD$08i/Jf5=dd +ǫlN[ae9룬!!(r9 Xת~:!LSyl/l3I L)O:=짒pd† X 8 +$Q5W?;I 4<UxRxuPظsOyU*"z|wź \/^OtN !SEŠ֑*G׊5.ovlauE6*KׁaV= b xM W`|^ iy,jC &ފwgbm"y֎4e6qHbά 57īkt)7HhMaw0Uq<}TE\z0U:ȥAKjnyq,B|~7(oM.>0kw/=k*!gsk˩U:FkćJ .W7W/W‘y %>dxp@EDqJ,HVMIm'\ AN+|)s$YÊHpbQ@>6+U!bvA.cb7:4JC/1F=^n??,"R0?:ܴIf0;mCAhuDFJcTb#.;0tYݪ,_zܺ+fVi/^QhV6.rVgqcQw16." ;f**$WrnK+o5XtC%|~3lTY:VƕͷKǫd@:7BB!^ʹ[WWJoKݵ@i+kƲĴҒU+H QMDDj;fٹ݋OV\7-o&# !2͵j}w0^]]=zua-2f|/mz<~+ !a⵳oK\l<Hōo^U[Gz@#`-Qzup J05{X%lRwYVqcgl%cjU;\zSPiÑ7 9 +Ñ Up) PJ- hHyH. ]J_&糅W!^ny}-3Fn,,y4&#МQZ1VЦhZ@vÑ*ɚE>>NqRҨdW̯Ʌ ".\eo,!T%֤Rw2P?MF;ה޽N7@y#](V[{~.gsc:bv)O櫟̣Q; 6QxpC`Wo?,AXajrFЉjRfAH/obj]t`wG+,6F'BULk8,3:b-~X).Wn*uPh`!م%3j<۠:` G*N|ARO.˕ry~:ojrA̅\j"U5;bԴQtN/2J{<҈VMDa񋖠v[C:w`ƍ;#F4XD4HInU1x,ֿX +KLf0+~إV1]E߃ETP-بϪuP=t$qNu=?VVLHs )*&iLyV*!00ޘ 1S*+Qun~lYV+Ǿ@Z{>Og(9۾GHA<#Ĥs*lJ-=`ǢLbK192VF7xI$Ž޽!ĀIbƭDu ;XJqJkxIm5n)5h>=(T؉qF}iTtqP M&>Dn@xVFb\Tv.4 + F}01GEjbjơx9g &Rk.]ܩY伃]˻y>x{/N^-X:W# =&%pI`TݨĚXG(z'*0yAj vy6uPJRJjy-((HEjRk9H9HGSg 5(vnzP1nD8,d} )PYFBvogzՅs>Q +bknpY;yNd/ZTbTV˗KWʸB*ڝ @ +|LR-F7OĊwJ'eV4rEw!-ȕ2[ +ND"z.< +YJ6.C` xR*lZȈm +pt(p!@G|ۛ3$U6>W6fˮD[jeςfܜmFBTo]t/*E/wFJ?ur9t#snzcIcjq\S5ThH%P2"dJm$CD~1HRJ. =2`A)/mP1w˩HF +Nkfg\\ ʥDgr-uW$Yv&>ya#\ku*###,]U==#z0%H>$x @Klh4XΊ qϽ|O|ou@-ܚS x|zKR.g?'7̞is,?;|at +42ܒC@N5@mj|ېۈ؈/7|?y7k_,nwpRIO-<=.guzw[1\lop/>K)6gO޵h>~@;eIv˦;ái }m{u(ۿn-]%>fܯ7LWf +ƷH C4  4 5(fvAhYR`U*1ȌF2)Ow +HȌu.Q:ghLO !=0)_)*ٵ2: @VN(ylv.ӣ/MMJv*9g$S!hRooyo0 +([Cë_l~ⷤ7/P&o6tNhAo~yvRv'ngkxM\~0*RR# ޟBK}1}Cwα;דUyH&&Z|x}4{6Ws1߶&`gnk~3Llh[uOWwQ<<]| ^ 7\GJ8k>\t7;jnj@8xpB6N4@]L u\e|J ;~<NKyw:+b"¤2DG5ъns>XDN< ;z\ͭh<@5s6aΤFwGمQ.oZZ]ppr#r/8k(*p\ ]gCBL9w]S!Čmd 32k ؇˚*PG'_^}g:gˉh%ߗ_:%-X?0;Vw  ={ۥf_ywҕH=^<{ W v1>Zk5p WzPz?fϡyoELp& )];vs?L~8yW'WКGq&RӋw?OߐJϮ>m5"EU>r!=׃d+.j%*&;b 7fJkq޼%QC&x R͊MȐnO{^9+pOQTJ S"ɱ9{ h6%.@ +vMaLxS{GHH4j]Pwag1kPtư\uJ'NQl>*qy\Cylջj?~w_kMv{c4ZRߚCzOo~RB{6Z|뢠tuf/}Z̻1Z[>!] +NeΝ9d1:0>fxo6BEp&ndu`np ]Ro߈ޤˏK$&zzZea88 z[BMX靋xsٿpn֯>]o $N}H#1\V`:ѻ;E.h_tۛbE3Eۭ*tgX%Z]ytEwtk!XoӿF Lp^Vokr^r"j/eMi`6/pcHXp6!KVeBCjPZ}d8iMH +,ω׸,xe1n5 ٞ}iA`q9!@-& գigfr7TM=ۯ^~AN`(m.{ʝ|bv}0>gw֚-A[}{z/)EByOkLI؞`7_K1g7uUڴz=b_ na)(:r1.g y%ؽ:nxDV2;"E iI!"3E))o;KvߥQv6oXmDo"9_ctN~._8;@EHջgѺ4ڗr.[H!e7x)5NE,Q=Bc!>9]0xrǷ_$qqֹĔ׌d}<& 8J52cHNQ{%:✹߿՛Fl0zz`Xfez1{YW5U]晠&PзR#%%&@@aU B +1Z[tA2KR}Q>w*AUe`` +DSw51Lo9,>67-ӡ޺tG7\0]IS7}>88l~ÿ;4; RѿBD@:YKtE{+ҟ|HsF_R[0ԉo~eG;ESSZI˴[\ȷک6v/s5Gªr pY}pjL7Z[9$3.4AniWo U$\Rn`ͽ|)8ĴpnL*KMHptК~%pG-9M̚C+p a*{H9s>8[ZۯP\nrΒ6zr*k(?)rm0{{ſ}9(!L~M:>@yw^}|PϾ6Tj PT~7K\>>筂k5qd:6mHF.%;4a|h?37e.]]cTU'A#J⥚bSpF VZKR̮d>ad$WPZ\F5ܯUZCxh_ &DE– ]p?'n1k 3A=c.*9`WMjQc?C(:pj| + 2e&Y~%덕8F h^"*OW{}pʠ\67%6k&5֯t_FY֭7=4Ѭ=㭉kŢFsW$,Pq8$5a1"5刽[WsS}D "d~KBLOicHQѻݖƣ2(`|_u΀ַ򺗠/^nx_eUI c%>hfu7Jrz2橰d xyR=@?:}Tgyuwʻ#DN@2F77 +B»4b `v8llol[ F*1"}ZMDn3s=>9D.05e9XHy5o_7;Y wȆs19Zr|T)]Nn5iuOӣ.wE{]gnU(&m5k_0FR`u"kd-gָTi|_Y˕ GczhƓ*`v7z{ I"ե +m# =>Túns"2t-x+/gSY38Sۜ j]VDmn)0;'uuHss{ǹ:,c HʎYC;#V[w X| Zܹ v0Qm Ȇ9ҁ[oQ4}.>S7,s|Ai_K3q  وk]pp[>f|`ӡe2 +eʶwwښ‹r6<$ۇi7s}?SڧXP\Л15dּ̙6/KI<xk1}6DD6`X``[7=J)XT gnrHmy_uEbK%91 +L`^o_ץt P[2JVh2ĞJ]0Ӌ/)<]Ljv5o."^M.TkjZ"ͽG4HlJk?.0u BmlU` rvJuOJ2*6@5b}HG5_@O +cٛh>G." M0uy|TF<}}C~Ay@IG@N4G_Cʚ3֤,9&cڋ7_ymm#LDL0O3uY I峏ِ14[7 `+ s@?zRLچ[ DNfoJJ 'VlЛ` + 3_*)k$mK +fSʜͭMJr㸳S1d NZGoIs~xWRr + ߥ7bYP&qTqvf-@VzOR07>:ל 0b>gѾ/,nM2>!+ p_ +(CM6JIdS *Rx~6V%REx'mգm D9g1E}Tչ.G[T؈eD<)uc +<@@9g@XC!=jwzt3M<@drnt \dt՚=k-rvP$=1ϣ[sx xMX:xAOXEAf3gқTxyXgQJPB`AU d:|~͇vr rDF0~J \co<ե<"gN fuuv9#of慚HJ8vGW_xӚ<9njcݥ^f={;)K uRIֱ{IKRpT 'ϳ$\)t01B72פ1iZ- +2z^h3ƛRwL3AhY@/:+0%օX`Ή7{YJ"P WШ M-9SΞi(Ri+nM\)e& #G_3qlr@Ԋz RR.Dw +"L{LЂ4 75-Ex?h5͡n:Gj紻ʝrvJҬ|x| +ZN +P6s45( + ;JsJC{(=~uexy)^˔GUw'$.[btX@٩_3{x'7Rl#Z<7ө@ O-m $kQS{xy/މX}/jbltGeکR.u 9Zp]P,9L㝁9FD6\p6/&?@j2m`5 Ia4^~~IYzR>|q޴v1@s*AAd`%6q!2E V I,ի `VkoJjnYiuh3{3 iPd'޸g3ɇ 1:jK7u" Zهk\Nup%mұ7[Yx#5br@ڰ+ȕ`u?GKCXO(W4sV}{ 5HȝFSQڌ73LALBUF)O=x:-ҙV { _zx0i; lcԀ,^《qœgZ^9}LnB?uϿLY.ޝIYq>$ *ԧe 75^g d) znM !]u<-l.Ϗʻb?v]?Q8!Y`)nIHfY'hnQ7Ƴ,ñ|ew F:{N8Gۣw<ϚPO; .XֈPhGb !Y[BPz"lmrb*4Ph6b4W)=ʟVRږ:wo6\.6ˌOƝq잣`3Z&_\LJhe!Ĵƴ)pe3~/;W9IYexk?y#5O wR"f.%yc:{VzEh(qUj&F}ޝPׇݽŌqoH'OU!ғ#9\YL;;c*LT$DhH1zI oO +S*LX:ׄ&.oI3ҚNB۸)TOHmP9„ioTHJ”v]H(qEzRQ=ؠkED`&~Z1x +ڐPIvG5_*Mڜڈfyo럔ibpOƲD% "!!.0cXdEcn!.Vz̺YS_ !wƤ@y\g6BtB+;1g(],\MtM_K)}Uئ?KW/QM%9 _ڃ״3-*Vze6ka=S]ԥvtѬ+a.MQZ1P?y>|?5KCkxXe_3=5]d`#vk~]ͺv(=Tf!d <̆e6(RYo*jQq]p p n^Ỵ^U~R ],2ƜwSLJޱl +SRrU >."7ٟ(Ljё1~\ ]ek?ʓ#Ɯ֔[;I +P}+3 UaTo`bjwnޝyƻ{vrM.߰H{,akI;J8C ZjzFk=4 +SԚڭ)=]j3oL +h" 17B"r6gڧjE&&cwkr]{=WVWmFlS?o&/5jj-`֔e;;˺ɢFrkY<)+mqQU0j,'E&ǬUHƭ! *~U5jRp&U +Zv+NU,1 ޑ\j +`A]On#R2g1So0Jn]ơ@@L6Џ\DLUfs.s +.j! XPԜ#rJ *O|pSx ykb@~-W5!9 H:6TB^?a]RZz~lk.F>i)'kt'5 hkHiriLocuDcq[Ijhp4p퀰0#G15(NJ\Pc<헹sVr'Ҧ>pY;spt1k`-!Moң_`@\Ojr6NijS.&wglMݲX&am BB"j `QɡzUH8w^`<HH'"̐ҦȅWL3!:@zxS H +A>ؐۘ|R)8ֹ,#,@_M8cfG<Vq}$DVFk rue&=)POK*魒8̞l|d]L)c)]onh82f*-GwjkN=1fD3r@:t֦UUjUJuZw+lZ5i|GJIyU{(`ke*@ٔ1g0!-AYVa|}ةiycVkUV;UJ$h5́$k dH {BfB$ Ӻ5HmYBI {!}s<̾l&@3a݉X:x\N ?p!Yc<{muY;yoH{ &xvW`]P1?\w \}aoJRHklnk0kb)I"k{5hshuke3L5 AnxC#`OXXޛǵݻ|kY8{Z>i\ kzzwQ}(9:Jp[1a? +3P$>*QdCx gmָN˚*٭J A^Z_WaJLƄ'V A G oQ"LjpDxe +h1N1{L:3(pXv%ZsvB+l@}%:5 I +U\݀Q뀄u.4{Z| :`o-uJl7'f(TXf@V%ꏟVuVj5?bnt )1N1jYmYf +z7ҁ@31t9wfΤxu@[f`G+#F]ξ3W`(oA99;rz!6Nn|RbtowW{zrsY @=yEhet0P}AQ&Mۈ7;5""O'Mc}!gu +=ן2iX*$kyKct HvFeʔ3T +d0 "-BZ"‚n 5FT&5be]镄7}.>C.c Ac. +1{{:O +\#]t.Ah98ݺq`j\l.sh7>=B#`ZsEk^3Tmh*$l%Cpy|&q'e)lVMC${>&FUx!vY;`A4 S!KP8sO YH(r^U&fNORNʤEq^9D11 +B9Fm#GuLhUٸ'/L&@Zyr@1ǔ: U=ʑO>vfҢo]]N\M>@9mN.bf$cTTll@ik[&v +@yVlm>g%aQ`#q[`FeENJ|jz?Fw~k{/O +tw@񂏃TT'=Jo+rd0 p̵FKI3:tZ? FThxw|/i$6JNLH`(T ά1fxEG{5"d$v[gi +afK-pZɳ6cNiԻr]^~M02`ŏl΄]ڤn0d+YGƛo{iUbuк!=`쵖^+=~Uu.U5>h )hYI@Up\k'*(O`bt uO#Aƺ.gmEj8 +/u 8i?a F_fBN }ie㝉;a e\@ +>"0 `XEZb O9LT$YqI/ic( -eȃu-2;eAs@."S5 9MjˈI&6$god׳u "TN 8g,7V fm*-ub.)G=:]JhwG vH3G!lZ=Hu'oҽDa23NAZC9cDu@5!0[ J4 i<.ӟeyvѭ; r\Dz\"r +KFǜbYosr8۽ oLqAA2[`#֝8AxZ`F@]ظ7kacz&  +6H2M q՞e˸E>N +_l]օj>_Q&YU1W+[%;)`7ITGpOnEةdƹ @ǒ(vkq2[wgB0~]ˎBDvk2 +L55H׃;DkT9Ю )nj{X~i_bj6ze΃Q$U vLJ} <7:רAu<;/{  +ML&D:dzJ S}܀%=-!n:+YA=)-3R#*IJRKOp}X>)Vv("Fc_T{P/%L@ԟBvqIXdn^EG2gUS:1YuG`@M*SZ_klK +Ɔ(j9sHDH+62P:`o`uPWwPdGQΏ( ?DdWk ڣ< 0DznXtFp *'Є{ 2H#yqٯʟ?'@H7[s]R{+,aΜ *`9g޾ *^p0%P`́,蘵& ׇa:(hhyz=xh=pj y)ў9|t6 Ym];HERMhNdmbr@u w@Ob5K/k `KX쐝}Xz6ܯI%Ԕ1%o%%d|>To]3٧ ݃3=ݺu%`QiWqQW0@*վӛ9)&'O*,aZPWMQN~#r7(jAjVF@ lBH?zRW+$O?~V@e`ˡV]H?sG"py` ;gfB'ԣke&^[g;k+t\Ŝ  A0眊9vuW uR%rő-9h,GYm˲|sxtUH{y~.4 +8#Q# upPf~0F$+t@=!*l}#F/xa+` ܿ!:+Q 'l%` uг,RyX (6> ^'0ƀ/,KY\{E3r)rFLH+m? 1XC`P0I5A5&f!Y} w fS&29l ީ%k y6H`E9bcȤL 31s?p^ʁ.A@@3Zg?z``Kh"j-2 +P82#a6ld |۸"?!hڡq.h g_j2f'̠`Î;`d +C:bR1Cn*1ajP]?:CV24oc1o"͗t iOVj C 7}( 0>Х[1l J}o77' @PB5%X?oa8:TA?>4pmL]B~NLj.ɴpE q [(\Qfc Ym4P1/*aU+|r6o%1l\,Y, ZdF]@2d1'BUQF8[pq3ƈd `aP#N(0f2 )-v}мzLQӃfрE;XNv Őnmx 0v]+ ,tJMZ|Q?'>ϐ4;TL҄K3e,hQe.By*P똍 4(SM№!bCZo!TW7b*$q~C:\cwN1VvF>7d-([Bcf`ȚY'å [ $XA3i :0Q!5ѿzVSI2Fƌ9HfX` +@ԶK(۠$@f>\g]|UL k;P %\*;3Ē?u E+Sb~)E66gҔGXП/`b1\Xry-&#Xuژqu3%69e)tbI/9%sv(T&zld&4X "M:>vVt֗,u2 P!+;bg!ʰѡ D ʟt2Y/~=pvI'@ x5ghv::otGxAPڸ\7C"Q+9,\E[v.k̤b!#z,dF`ᆓ+aXgi@6* 3o%:}A%!9BAi88E7"5.=I>kSj-;ؼ+[i8N.JB'&BOE8BB5(BXs*MU.U 3eB ]\Jސ"kSji}j83upM&tjM/ԮW(:{trv-9gR 41)Ѣ"( +|vN-&OxdX7_LB1{Ot?? @us&BU$BH1QUZ0QB~KPK0ZTvWiW=gcaFlzpfHS(,TKHuKu^l aH(~ PxUxwBǠ>l!>6ڦ#Xs>d5g%">&UFwy)Z6vu~n<wgfTr0I# RSbaKME 7/QKѶ?9B=n+V +[HpeEi"!tǟS\ֱN{Kț|Qr}$cP~4{4Zϑj-UBi)WzqܧN0AӅ@|1uJ5PʛTE0j*9UX[Bj4wPC,?1拀@Q ?V f{*uIe:>Ae_UoU_ꃙpeC,Ext,tşt9"$Py 9X3lٿdV@i<\_Gobj Sə +6fapqXe'<&PmRѦə Qo%:&\AUURiPm#TtE=- 0I* Wsgk[WzYhNiJE\INE30xA3^?5-z'"`j2]_qo +Y|IPʶ>v¢IAs0)l߿xʹy6EJdzru8yعsxwc#ɩ#v1giHMkJMX5ҨaNWNFǕ|~8svhY(-StrME*+c&РBr MD;rHQJDrY,.E[Js;9Z=px\nޒPq +Fl,h | =#kӉ. m@dO* zǽ+9)`LKfO&vcéӑZo"aS]ٹ{).$#Un~|46KgurljZmlOOo䦏$[h3bجm[ۼRa-Y(4,_^ cQ.3mT$.1Ϧ&^ =]Zn΋<\ +0& Y,%;ScTO5IeZonv/ZzC%XlXelfj/>"׶}J6s|CBI$bpm|z襧s=#S3lvzN/ +yTA qriIw"dkŠ ŹD{+RYKfgNpi1R]piImm NƤ{R]JsMl~L>%;g{Q./,&ZNa,gjkKkBXaM8.Z\'?!T;j*k|v:^]NV^ L`4i9Ud(mo f_LLM6w^!?7L8_uZf@6Xe09 ̶b"@UG_| ,_K/@xu|zvM잾y׸lg'dES^>7}y#قLVε;XبOn/C%b65+W7'>4wٍscU fxǟKSGnv?*@ J"U\sf:*egN &zE'&d'=r+ǝ|63w!1uZilW.AU C42 62"eRkBYLi|>rڷp1Ofg] +d2Bv&ҡ_T7@(wo]x0sbn]D6ס+>|ɻoe,agƉ`;~jPG@]kŠTdWm@SJ'PXyS*'=;wD|'73Ty P^,76[}۹lˡҚ\?2.&yON4ө鳅{Jר80\:ǝ "@BT;ŹSg~OwUGr EX7\޼䓊Z;z =卑-OՆ98x(')L( +IWwKszהSۙeeh6֐KknzzvaM.7 d?f=ܼƛ].5iuџ:؄(Q*^wC|!vzd{̗!L2j,@L'` ffz/ AyL0ä&q[Pv&Vyעv2 s9IKNzeBr$褚;u[wvoہf|PXGW!CJϔ/nLm\M4ȕu:TX=v=ҠAQP9SLj.=.;ˇ/Ks"d@vuE+Kg 3Ra"Tc5pv + (n ;F*k|$7JL\z{*1Y ($2n^mWH:>>>|hq~è? +i 7M]xX ?-1^ AõM}ħ5.JQa@X⑛)ɂ8ivs>j(00Lc[Lo1? 1LHSplH w aBF=sgˋ ':ʗ x*L ? 7g +E(AadTz7T`m9i11o0=` hkF(̐Pqkj$^p8t.B拊Z(O򘐟p(lTt2ӛ-=fݝS3{*k{T0+dlr%ù0u>ӤcELhgRv 4Z6D'$cfS\\Tl~%pRMsrX [(,)Esr*k9aPEЀ`v1"@(+l!d3BQhof@jIQqaB(xCgrmѦ=_vpog>&;;..;nlv7^6 w@D䥽KS;LmI813aN:6fݺ H~*,2\\ڻ:6fuAHN60`T@XƤ"+#\17uxKǠ6<O=>LE~}%&t].LEJʺ5xq@wǰåX`Ɲz{UXy GM!jǝA#Tʮ_ +:GP*YnOY>{ڥo=w>?>og?]9L-%d>[6fW6v\|o^~ͳ<}'_yɅs<8Vx\$i: s[ϟ==}W'^~>|?›gHFJx-ma5+fW{['GJ3͕Ʊcw??O~o'ǯڻ?kwxd}P FY!g᪒r$)tV՞[:y]N]y[o|_wWG3Ngwsx^Z?~p:7uZ춃VQj:wʣO>[/>g|o|Ǐ=‘S;fBcrX󡴚UݳG\9}ǟ}ß?_|ѻ?^/z%kK噝ds!+$ +ݸSϿ+>~'/}E?ů͗?󯽽whq"zGcZ1bI6ߞyӅ:Fڋ[lujnci}{}kŋ;~>wX?o/CM3-ZS4#Ds>rk>އ|GϾ/>O^y{g.uݔ⦢A{$FJXnmn>Уoq/>__}_ˏ>zW_|x @*ۡt 1}O=˯[wۯG'?_WǞ-v6Z eD6<k,ݵO>+?;?ׯ????|>O=K7)&Wc9(JDmvyϿ˯O_}ۿ:'?}O=s+\&`v2`(׺KGN_zx/~7_O>yWOuyamOLӍmAJkB[3V'gV6/\9wkw_9ܩt)˅(I[Qʎq31c:+9f*ds50}wճ.ss!=MG*fhˢ^?G^:Og*'wGO?g_~i\0+<n?rZ=ݩw{wǟ~~}_}g~ln<8#f\6C&,cY)Jl_}~oOx_sǷ7Wvp0x8|'S\XMŵsN<=w>˯_/3Op:_-90X}C dXv᢬"Jnrz~vyeĩSw]ҕ+\/kz^ׯ9|$!J=B@yZՋ=>ѹu9|ΥWJO>#=ҋ/{_/]wiu3[{"#k- ]^6N8r#l^ +E:;o@;w;<JWxcp (Y\Ս Ɗ>9 wP1;~@cZ<"h9$Px2)۽3kdc'؈wЀ&lAQb*+\!C Cr$JL\o.V!9m82H)4IdrD)Q.ThrDRRe8Ho <FEP^Rj2M@DiVRe!Je|3pOb u6ߊp1~.N6i!oL]j̟fĄaD)O0Qz;UDɕ|4덙|Q *(Ո0)ñX<% ^11 b"%Z " j V7IOgc[\\ dh Iт@MFOJ}r[|mBJmń 9b@Y P-Hƒ3 A?!F(1yUwA!N46qHc}Iؽ!ۇ:-xQ+f2aNzHc8 6_h@ k<G!)>kÔ!= +Q#~``C:Ttl0dD%U+6x70bԸ\HqU+zs:wL|v̸P)Paa2P6Z NpA$=\sAb=vAބu玻fR6*rU[T3apiX[/7m3!V"\ TL2l[VXK{{Ƨpl|OPuȀ;ǠQ* PRV4!یN6ON+`y%U^;EDjC [L@U뜌Em-5V,@S|Z;0j56RHS-YTxc[uRhaXt+q.AM|PmLOEˋXfČ+?RM7>k aIu zH@88Y;8dLXAT5Nek6* d@OaLdL0N=pi`} ]!@ A/EСիMc |cƁh ~Q1?n4vZ,o0 NV\yslp܊xE33l w-m^huuhAf&P*2wŕPqO; OWαYRj×aα`V 9Vm)@JaQ 7z/qP7Lܭ}c,N97..HED}J ƥB>_@'b21M1=JGKtbɇ1*Tc:j`|x!ڕנP)*/F[jk'>y4>uO!\2lKВOЄBŊ[!əh_وͺؼɣ2q);0CBnc&ğBI/PJFJyh`rJ*[XѦq@Ƭ hJ|Ҿ@- ȯB]i HIZ $P>KE3!1 1i0. &:s`nQъl0Pe06 6=d9d71SfO(S&vHZ0ƄG,8#9) Ndc/c$@~_X>];xr=:ɰ!&sm"T<0{#0ʉƆ< xdgON:#mTBZgoxM' ¤T\؈ՎxCuVi;:l$L2phfnb&;!uN.WO_~|٧/cS BfPv2J% *A:dPj{BX /TkGm@/G0KJ[{#uaw5r].%7f?uAGc@*XuY,\#Վ7ҰE'MFfm'!Bb¸,hspN_03aQiT*piLbB1xNV6BxczWX:5@n% Š#f+W n휇B"UPr &J~~1yx[Iv:YI.N=>?KZtO]4뗯=_]>uP49[A ֑O1e.B `BF*uTl'TE2 dc^s<|XK-;6GAgTRv)7{>?N,BO*ǫp 9#BM&Kl-TuRar~%5s C( P9uhqvBrV]L%_Wk8P +6tvg\ud(Q3zw,9}r{XʪdKEK{3X؄E-:v6U'nar62̨U\y2o .ѱ{%f'="L ^ q$j +.̉%TE?><@=0ة$3:i@$ƗH $jKwsqY/{;aiֺؘ!j{"yOjmс yUE*k͹Sg}!`b>ڕtl;Y=6wQapiTPZ@#cXu a0^p"6ᳳ:js/1ˑF}8Z[OtvB~BrIHuF!Y|P-\\ϟok%]l 9! aT_ܼ!ezBf*Z[vAꠕ`޼}/l_|x+Tm=DkJK +tzu_)PIm3KhHGZ ꂩZ3f%i ?l8tx~>?e\./~ȅlTh؄x:yY`J{}~ۇ&LƦeihYع8@呂T3n y05pPRKA:`tP(\B+weϵvoN= +oU ħ4%4 !]URZ0Q`Ǵ:?:PlXXeDLc\-^F->Ew0*.B T<|hZ;\ [u.iΏYX3`R|O-`ƒZ4sveeo0]I7yz3@)TV,8x ;E2A(}N@zҊ\WMR>X%ժSJKsՓ7vzqGʖZ+g>)e+<[Tr&GexS"un?ֻ8НTlw@ АVzk"l! +PZG"Ź1eE3FXG R,7][t*&;wr1[2C+-jx 1e'PrJyՀwMn6Qa72p섪;reEg*m;2iAwPOJ++3;yFdπL[E9*6vPEF/T2£]Uñ@og3P=*zs$;{Jm Jq#ճBKK҅E*>9h"Wټb鄋ѩX/R9"l"t '齟hD-*x {̄*ʻ._UckzR4")Q3(?3f]^mܯ@0Ȧ|Ҽp Zr Y*4;Q4&)*7Y;ƚ+ |!';nafKXĸ$;ʐ8eD 'f"(fs Ҡ(Rū.; &܂ +1d{ ANx5;%{VLǍ(D2b; 7:lÇ}y#̨[ƭx\tdhNuE/JED.Oz A(mX@Sjung"lP"L~͌CQ4+ >1;p=Q]#򷏏}ظ ZRsx頢'M {ܐ{yMc pm e fvAl +&>U7Q`pW΃1 1xKz-lqK= +8*G[]l E"m𱚖j[@ %]_T_ XC\Nf'BU/4C 0w6:Mu/VBɟAyII6h7g%`SBrӫ@%[ zp%^YnYgG>IO0zᵇ +:$h|bs~{s.-f8q+`nc\- + }Bh#cեu_Z^W[kKA +`6|j°ĘQǐY?X=-| T\b'g0@Jּކ(5 ^&Djr֎,".*hr x@Oa@C'}5yUB-B&5I"W.&kR̵Xu+^Ml/j[\rIi +ύ9Ifh3@Pa ]7[[hCf7oIYP&ݼ훛;P!&SVjDPJ*5 %!*dG5ـ#X᪅ +R\: dˀ`S{ze|eŜё&bzV{b"Lg\RL͘JjJzA/m\@I.g45:Ԛpk/ vXięP3F~lܧD|wDIxa!hh]":H)% ֶf%T] wǂZ7Ы!`( oYah0Yi7Ah R,y8ʕV[fɁlo~x Lh +qMXM&!H'=) Čۉ`mm%5w6wn/}P_jnx2?8p*',@E6u6s)N @`鴤YV&4)e)lBsNR0dp]5͵sP /Vy!Ktu`^q с:_!Gkũ- N…΃@q~>q40JʁHٔ/jDV],^zgz+1HA )o\{;tt8!ôZZ7%$Άx V(pO\()0LnUuH=?ᢁD@1OTb5qV+-FۻRawpo=cq`j"9`6X A#vqX{/rqz]J43M{7µH}_^7V#Skw]LtȨ̑(YF\kͨxqKձptς-48q; rt+1 r p%\}-#0 +3Fmj;(bȇklG;P:ZF1F#&x>,E[Qm4'a*R W#M>bULV=z1bI 8AH9q}B:TB+ LA/>7HhURΔ= ^*1yUB_KP.*g2/wFʹK6wfwm^}{w>BbIA [cG4,:1k+(?ΜruJhd0P^\goLh =` q -O)FM7SL;x ZEPic< n%FP*rʌ`$-E5I)55u[ yUAO1!!d N!3x(L%%1A+15Z'L@@3!#2bFGiP*Sט @`4 -&=|SK !Z\ܿ^nngkWˋ2F}.\2yXNX;- rVe[vF'R:\[?pڛř{O!Cb{tGr:މ57dhs0ۭj"ba3u<#Q%\F*+>!Pnzu?Y X_4huy&%3oF S?1|T3VXw2'!N}uM^%o^zqaj!BdED&l y럹S&>6!T~JRř3ׁ/;A2>! K*"&F-u&#QPDScV"RbA%*u*J*ڵzd#hvv90lb39ʈЍvľ MxQ691}lؐy،`Ws`@3i85cALіklw7BE5?,UH >['Ǭ6pRC&,j}7%Ԓtϔ{śO~ML6>X:(f:GBJMݢ);4OGPNJ n Qr̈ HYjvINro `:Ń'[wϵߗbŇ똜 bϢbȵQ;fAb]!2EF&)G1@&D@SnHEe)AǙHr?,^!BIn[t+!\1$UD+{d: $KWhkx,e`&.3E6BQ|Ҹa„-3D|Zͣ6̌v2gr11cCչR=l'mdbԀ~0vrFiTvdSÇ7ARmnJAݠ+)-GT>>AfՄ 0&nÄt_v='f=t3Рx]-uI6DJaWJpM86I@ lME6D:#9n|^5T+L<2X!|ǃg (6*&S`S]W>SSfLÕLq0sc\2{M9$Qy)TqcBէMdLn8f2HGNdC.wRa)ĪݛwrWx |37-K \dkv vd/FmtЈ >Vd#GXk+8O7p34HE/818eK/6/Ё +>6<>*"JĤd : +D/bwapjq᳹CLw~f.:t%Y1ѳ`*`Ikq?6A$ƜB0?{o7ᚓKPZ&.KVv{>eu;,/ 7Ĝ;PtXЂ@sAWCxk0snfVsĥ:|u:R&eRIs0aF@e0VxL(VY[>|/.v6oN}[]~8sg~vy&U[zЅ@ 6󠏷` ԍcc0([ĸ[nj'F@$tM3zą*Vc2ܢcS|zKT*́`Xktyu~'9RPuxq>1\UA`yw+yr;98S@[ k7y&T^gSŹs\~ݸooaK\oFܥ`qU  C'm1,3ژps>>ࢁf4/*D͵|o/ +"HuԃͩsN*-V_Le`QF3w ZCt<@`Gg?l-B嬔_kgJwos[bX_ YSʥʉ+4$;iDJcZIib-|eҽpe +t@gο|>>-fphV7=f&ca$gƝ_8iYw`a_4`AwK}|"o۽vkh+ByrjZgv>o,_&gHuMClzĂ8b?a}@/",Ź@qvi7R/Z. 'm* MieN|#^"BmO)Xa y/-k%Cx +j_P_ +(?]>1(/om\y>w$P] rr ]N+ZCi%Kj4Wx~ȱaU.\N6W[B5YZ9=9RBBvB%''<ˆ Dž"WPLw>DžO.ގnz{jeNߟ߸sSťLw[Pʤk7* @MChk3;hߨ^Spk3ڒr d99Kl8<0TkF!0L/.1\o>{rmb ˥9q;텳>P`L;Ȥl%ԗ[YLnQ7hu1'9һfw޽sK <C3\ DETTE:Pm\- QZA! +ּlŠ*@G|ʵrheIL͡j q7Hpb*x# prr!$AWB$o!T6l-evq3 +ʩNevM}=\qY]xf&D l_-pR';^&JyĄibbʂȾĸvQVC>R#`NZ3n#=l?n )Oؐ J-bZ~df@AO6yR&DLŚ;̰ b@yȄYp a.nv Ɔ&A;q&TҊ vkG⹧;/1R&*j/n^/BmJoXc͟X~n#JfOW_kJv*X]]>:֫{??j~n]B\~彩Ve*ܬQM.>)dK 7 DJnMLҡFwr52E9 B||y_wsy@BD;ՆY%009llRZъkP_9'lEJb0 D6 @X56'jK0M$Ps*HFQ2Bk6h)II#X(THJ&Uc1/RuS! ."hS t(M谝17#T+Zw1H.LZZt $%9).Ja+BDLtpC9\$̌wMnبHR +&B"0ߣ'Tr)T˽paPA}i6"&t{ 0@}56#rgtp8IU{Z˻R\߽Go_y;K+<޼9nۍ{{ͥK&W|\|҄I̟ePc?׿3?y{RbA4;ΣϫwluGޮW06UY_ZVf望 ]lE?$:]; PSM*\8(FJ#ED`)-&Zե+~4w\IM8t &x$(NMR+t0;v'=}A, JEGVXʠB +T@0@Q9n.^JnSsnRBTcJ/Zu#ݿ AG$wTðV7uX>6qXԧVCPiE f_{ޞG\?8(b(JM/Ej د4nbcӋQx V19K 'rQVnËr23xOcj CM=?FZ~Nͯ'b* 9F8%e.2 ,(kK62bBn&dl3g& 6f!d~!0)!!RVSTkC/,K^quz-ZA'6#1S`$+k j ̧X8 ""fo| SyH|u f!Sg&' `aC1^DpQNW-\Atȉe-zvʂT r#=c".A)<! a&i& KqҺ\Dn$xFnLN\#R`!du!V] +L_Ohoa=3.nr#'aZ0d=>p0I: p@vPrT\T T];(cP!\]4HLxL2n(b$5u,0 f`>𧖪M80PEi?p)Da6'V,6~"|̉N +zcC1#FU B"TO8i"Uf=g0QF(I}҂ 621>j)c#Γcm؄g0@/)Y|/ H%LJk +lW'M /AT@ +lu&JT`] ʃ^>Mw2Sۧ؈=2tC1?&]K -aq+7撹6 )T%`7 ?#ot`yht@8a< L21΀\x%F*|q9jD`NZ&ܢjEĔB/k*AdžjtOL9Ec|#+`"E,x0&ƌNڽ,0|Fs liC 5Ƈ[N 1'1lp<#~PV؈u⛚^ۻIju礸\hvȃ˄C) d1S"JRzp@ ''ؤu:mqNX@)-Tq}G& @U{EWM>- $]C60jyJAlϋ&JIĸ==EeZHDfI>''\>mFl ;@T-8{E Nܔ)_)dkބȉðRLғZ,I̓+V6zL.褍0:) <ϣ\ Rt/J(9M_P8fb 'э8^ v\(! |& +hmX{y մ*Is1&ؒp"  ?ьז9aB,Z d@e +L(^H˴t`B %$1ݡDfGF̧\{TVFnw&CVӣj6R2)0.#&I.^4 )1t"P  ]>`1ƓC b)!AIgMXP+TK-.Ԩ䐉:pz>f4Ɔ@#;2;\ ;Ơ1 @6$C"I+&& +NGRr3`bz>dm=]q6dnP@;!s|jfyYK& hcx&OGf~ؚ6BC!Eu/JUU9f(.Ը[cÓ>0tf;,tgnQPTPA VCRNPb>>Έ<̓J$>&9Q'aJ',)D8^* h 'J_! $|AU\0i/*v7Fd }as:,MJ6֫$gX]@0zA&aN9ܬy(`tb^ YpRd?P{Sc;iFsy &ؐI+aqPɜe0- 0?31ZLLæ ۅ9lt)ũf?[-T㉌VV[VW;RbqI.;e0L\.p{LE;B9xIppD.v޵_ZqL OB. ʓ(J~xTV18?nxmյ˿7o}wqrģBbx.f`"#fYU!мhvN/Kr>U[^LkGG:=mp?~ +Ch8\(SrGc\>(d :\73.ϵ/<7㻇o_=9XD \̸=9 +ScCvHdDHUrU92MrH8s$Ձ\Nw{;Gko>|N?~o?skKx%9n3OnK\;Irϕ sx\m8ytuٷ-ǯ|[nAbNX<8`j!t%{w^Z}S_w7ʿ~'X9L&>w{9P)-5B[31Sbjif6o|p=_Nδ7aHXD+ar{*tuc=?+ޝ?Ͽ'^/+ )F00 (Cc~ﭣӷ.~K?O?ׯ7ߺո[^-&z2T?eY.,j1l$^Z<2A\W{ˏ6?}e_>|v,,!I>ȊP{=\)n" ?ॷ㗮G#1'P#vRZz^?G??#~WXHf9I%Th"gs~Wz陟}zw.|W\O_=?~y_xxy1S8b{<'z6܃ko^~d{?~ʏ?/g{?yw{aX <绕vr_Xo;铕'{~~_/o߽wίtc(l7X>R9Sj!OUwM 676Uy[{<[٧7??z^Zu{3bEH<7Zoz]/n|^[_>KWo+msgcn%:; x-_\;=ӯǟ>_=K_W_ :8cbޚ:&7oL}?8k'W~_}/?_~w?eU $&Ę(klqrvޯ>O.?앭޸p&I0n Es0߫}xG_{oWO÷K%=d4- \RAf~?wu|w'W7/'p;￲.|l~ckR.PS3@ :J$2ٌ[ݙ[?z󟽲GSW`)Ѓ{hF.:KИJ|q~p?z_O?otAaDP9Jr UёҬaƇV?߾?_g߽wgi$0Bs,a^j&Z Δ޺է7~Oo{LA (C(w(Pr#r3/f-՞\=N' +nw3exJX.΄մ/T3O^^'?w-|xh3q{1|LaD %օɎ{aB:.bYi  +Ǐן_/~|UH赡<.@~HB!·B57?\*ܮҙ~ ǣ2l3]gSWWSܞw?zmh;w_lE@4:?`:lGgcj*\ +^ZL|do\xxiܙjgxc(r53%( bry緦2K%}3H^1!*)\xc3L/"JJF:)aƟ^zuNw[ `^/f{p>NɊhb! J*"/Hq2DNl ;1Ѳ(;,3bT'3e +lX:aYFprz1؉1+fJi!#!HI +5 r@@C3MhIbj Ԥ`g#c1#ˢеP"(e3by۝+/V&HGsѰ1\{ۇ `T1&R𤄬.thm~V2M>@Tx+L\ur|[?&) N&\= +9HOO,Z٫6Cn|܌LP@AbF . +9ĸ +b\ 7TSubv20ę?\ #("\zlPPU 0 +J c|zFߌ}Eχ) UʸOa0e49))BkS=9+T "EFz&TZBDYs'&\GbzNLIHƟґOu 2|ʊ^"QɎL8U0)a':̈́`p˓&H͟hJR0ՠxt%H\"';RI&Pؤ 8 y؄}P!?Ňʁ̴l)"F'zS#fɉ3n!cǡ \cq9nɏs1 ^/.zAXI nO&׏$W/><W3CWίϬ77!cvg]+^E//z H}E&i";~&9Yڏg[9⬁?xH8&P5CzlmƩ8"2kx1Hkg"R2~"W8wO\*X~Bsst]yO|-*E>ZX+oH^oϢ( gHuwSwX z.#B<+Gq NӤ#%:f.f +#[}^mD+)(\ϊPNZ$HgFI~\^An2Nju;z%8X r~ꌿ}uտ7StڹƔ0"HXK:e|oށT?e9BvcE#I:վX3:ǜ7 UW0fOp%GscD]J=OiY'XNKQ+l9|;D~RzSQwĝ9 PmJ;G12DʱU3AQ1kD4ۣ9+ $9zj-CXIIBd J5ctQQa#'j)ĕe~ӔZzA1ッyƚ=BY /Au/Ac{ܾ` +,[ݝ &pGr?LGf? M[\?{;z_i;' ƅ=~^?P`S֝UTeAۣ翧RQ}Pygnk&j,)*钕g+I3Uqwp^V:ijh > w##r GEcNs d] @{pcs +p!m¾t9;+)1IUeQ&,W.Y#OJ$BÜJWj_?)8Ua}{ԳL/Q|zG܋fdBv+ńpWF]=vLp"c@Sdƹ ye!/k RCz3{{&Va\Yo`Z75$+9{c VyݧC*q9AUQyWOKg[^Ꟗ!Eigʖw9Ō;}?F҃z=ni{T^ykvztvI ѯG_NWqe V{fYܹfg/O{o2$G'5]9nZuovEQn0Jӗl$Vzp3dVŎԺϘi;㫗?&g9ee. + tl󿡬+߫ͳoY@휲%sb#!K}iIIzص7Qpbyud5fH+IɒYý$SQlo9_Kmc8/4QQz%kj;O Ps'WZv'%{**wJRڸ1}r3 my8UkՎOv/Qo^mRJo,vN_̓'q/;u*LjoSۨN^Ĺ + οykeiL֎5S>{R YX[yu̗C|7+Py2g݃/_9u?MPdv?'.;?2RkK{sӿ-jkt<<_ϱqÝ>z9{/iQO'/A'wW} EvsrȔwY18zg#7޹G5AoRy_NQԒzҝ<~ś휸pCFMjJt{/KOBk3}>ۿg_8Vt~fp}<7ycK>i>mj&7=M~`@Iw $ +e";/pWPZ@vuŷ[[ѳIF;ysͻ?^/pyXuG7YmͷgoOf߈c[T!RvT2J늲?i-^ubWۧ>-<5Ff}o}ٍ՝p*5!}80k\MҨ9 .Y;Z޵ٻ0N6+<%9jw&7ڟ>7Y<ԺZ0j=[B<!7"}9 4N  ^QXg!^Qi<^WP_=o)F89fN:_Olkp_CUp}+&8e5]_DЄPSE}{Eu-KfB&2"̱ھ'Oi##zޣuZivaCWwɋ75iy2Dn۳) c*'Ӈ?XiG'wZXpF'oF).ۿ^cx:uyX;z/^ +v_كk +W_^}iu://_%Kw_FWwo+tQ x]<+O#~BxᒿS9{釣w;|;k;LfV %98ɒ[ Hs&ad#pHvPP!JwG_;O:*ϲ;y) i|2%opP|6Au~DndOҼu޵ջ;/_FR` @An>_ޗ|(TPի+O#XA>}qwvT9֊Lj_8|^=՟Tބ ;nrxi[jMM[So~NfoiigbkafYy)wx5J`pfz{DCj6׺f;php҄ .cnHA!S?7F\ZkΣMSl3^ZSѝsN45 +djRMkx{ƞ> +Z s6J2fƛ@% <jGbՆ`'*+;1EuZGN0zy]?Wq`ʇzqy3zeoz,Pͩ5ǔ#oZ+Ld^oGi+Uӫ/sGjޞhcɻ ! YўϾĥ0A?'`r|Ǩ_1*csv7I.%Af)GqOx:,YS{>4z`xø3'yܚn~W3 I^aj'UZZe 9zXY^|w/orB4Z0W2u\"R=p^009hM+aGabǐ*珿O1eLj@jꝪTǹ F"iNg~-WfIn%ɇP[2/9KFb|np^ ^ +b]N?=SՍd6q2FLss4iu^D> Sg ))g +0 [)LO9_`{[`.\-EjwwW?7i^ +1TTA]H\pFr1Sm['b` +Zi ZImZB(+ulҏ4 Lg!ѻ!IEIoQO[uqN@+CF>i}yo/My(`Bѣ _(NRU.q|sY7[HCJ_}<Rjm-DhBRB\qtHkT )Yƫ%oʲ`l#+wS|c\ +m#S.W;[W sD\Z.(3RbWk=k09jM +[+ &YK w>{ oGSnBnoHA `I?@QAF`2HVYG +fF^JSQ_.! cu;PT?Ƃ9ՍіVC'0 y +\ڻ8oSV7AWpc)c͵dI}p-Ɇz" uƩR?NHョmNѻ)G*`">[=cԜn0rl9^0QG|L?媇1RBho@iR0>ojǭimΫ;_/~c/0cP[<]|!uVٹaP 7Bj(HC{<nNrB+M{E{*B;wz_4w_Nr,{9@@j!4Nkokv9+σk-_6ӆu# 1{o +iE"teӍ,v(k㎟hs?72gh:!*fy74^Lo*d&@eH#@0$LȣtP>2VQF +s6/VNr[v$nI-G +.mNhk!*kQzlƱml#J%P.V2]q"jd!T' nhg<0~ӗ"dF*&7 +J)Sr4dz8Bi_YY^ueJh87]=~y _1 I5ᄎ|wqPNNcRN^l@Q.ayEoN`èN8+yZ2C}=@,`{B)Vk[D Q9@)aOG+TjYu6_=`!L*ëXսiO~o%H!pbS~RR zF&k7~ <_iNZ [-mԆ0h-+Cy[9a3IrZSvƑ9S,QO8#xg +endstream endobj 79 0 obj <>stream +RR .T|SuDzl5=(jCj`?*@$nh^#L jJ4'FO3DM-sɢb 1} 3HCidm؍aj_<^<ׄ3 NQFD9&NI.h`L 2&igĸcF`1Y;#%MFݓݫg 8b\4S=y&Ah݇/$XT^O` \%QP%5BP*%iR={ Ɲ5Zq'ƔG'7W$ c?瑢U2w˝owu2[\}Σ!D9)u0NTyZ;F!H$nV7s[ Z[9i3͕d&Z?Ɗdz/!z3_{JNIE ڽ0dLq9ʧQQ#lVlE(n ]Kz Doj͓x/@h%pHHn3FKnpA]TFײ_]M*q+U T@o"k "2?oO7Kb,Cj4aɵ}{.92 +#.uƙ6|ȀITN1;v`=l9ze(I\_O-EՕӿ<>i=WZG B 叟 <ҝ:!ژRM6J?++FEu(끖0>N=+4 Z&-#qSzyuFn/n# _ R{nO+1f3bOE$+~eͽŸOR_lJTqq +Bu;`6UrҲʞ=gqA(Ftub`QNRXQ>? AvR 5d/FԮ:*ٓ\U1hW9)h$WBɊ͍HS=5AQc-1mݧ9eMrCy )C &",PH!\"|5Esǯ/6at9kj# ѹ1B`Pl5WS|9gej<8,-ZEm̕O6rjա#VVM@ϗ c*MWqQu=E#B)vmj$'0-KX9„V|tß{ZneX2H + џj+⨱@&„zrBI" +BhLpck1r#V +HJ&z~#%,}Iig+yl%-س w91,]PMZGJ0 OQ6kBkr2Lz|^ń&HR %E5XuN]|'.b_ALv`H?43+ P `R;5PTL8+$w7HRu\nF !JQdfNYNU%Fػ>6n<"m8\jq!taG+Aciz<RkBJRMp)r-I%2*ig=NJZ0"%@{>FAAG r Y ~0AyYq)"a ((aƙÍI1Ҁ Y #6LYN(gmeE%%+ +[MqCꨠb\2fuͯQ+~^X +s9$p +h=PN*^0ORg>uAD3npS@g(;QT@2(8nYr3w鎮i I؄J8/AnG +*4AĂ7A~2Lٙ|.wG\-X᫠BH`l5.:yԐ$%En@SE5KYf;ֹmBiT'7iA}Sj( g&4܇TIU+;v- ظ8}|`ArQA]p 2r&N~ ~BX2tQ7v3lr&yދJZK Wg/j)ڏ5qE5Pin++@4/y9Ǡ%+y m9Ơ\s[}e8w▣T3 +ak!W9@*H ~`JU Rb|u9TX Y0i]J٣]~O7hVp x5fv;|$ך=I 2zQR棓"r+K#XhgrK +(x|,(Bه蠫y 4"ʜbt>(n!BMkL~%ډBY_R0+O+EhLBpQOR}&W/(…j ͋5O +R3\P6,Ɩ ɰ =ʚȭKvݍ`ezFΡJ֛v1dX;Fђ6E4EC wrB 7G+9gk8"J+f6bE_@~@)r3i`@mLSq/S^QF`)w:6LˆRRZ1d@% zE1+!l)RZIr1ӣ|[if);#b?]K|Q5HQ8w=?eʹU$B볍B<?d7owY˧Ճ7sZ ^r@3ք4Ƹ> 7Lr^l@lj->:"p |#WEor%gZ^Cn<_DDF9Q490,9b$@1~N 1[ +ע1W+E#Z 9? +Q4ϸҊ )Vό޳<[ۈ[lN_-Tּ ˜"pK{;9~W)́a] =~_\, + :CyR|!$UŌyd--FfHJR>h9'HWzF—݂T'miP^=AcF3,4'~"^$$#?FAċ&萂Ƶ1*`\VJ${V˜c +zR駑[V"Ѝf:8,ǹ Wō~`5h9|Ļ;FI{+ILj26(ꍜ൝W)}4UO-ހH^{1C 2dcpF n}0 CαU1L$P ӀĊFrm^4 /R,SMأSrfk)y(ps6.K,h!\j܏`{d!J4X{,i&AgWE]ԶP :>.h1@.. iE0^($% @&l 4+t@rs3I(~c>xW cjQjċj;țq2MUhk zYM[W˕ h߭7/iJՍa \e7tsjOh5NZ!1b- 0/vps +Rd4*G%Ik GeiNPv,Ց3~a y;s>\ѿ쾬,b *EYi)3bLT)O & +/愳 !jX"9m`EW:)a)\ edP@%}=Pڟnv?IfFn֙ӿ)T)$o,fnȡ[Yrw9VmY.+Xh6 F>W!=d o1Vc̽BՊp$S)swsּ$>ekr 6 2!Kzzua5zZ-o4 {1| %:]>VڗteMŁ>@uAY6}9ldn/TP?ŕ.xyg\ xs\i2j9JEo  .VR<ȉ$IIU#yi3װQt%EQLc=segInhWQ50{ۗ :ge!`eOo7׷0d +Yk$N=Ҝr<}'Atxm"Z^9MNV…$(ݽU $X0ʳ4%]!YVh0w9F!f~p[\rf7g"4Ia̍fZhA Ba[\?mPu[9%4\Ō x.8 fά7&m$p=քQr3FT_M0 +,@Hkk`jIJ:UeYȽPj0 PtKYI{Y}/J'KvNjiO<'Ek-%M(jwdҐt0Sdya-x2< ֳ0"@1 sR8Gݞ/lj?Y +og؂ /`<_O +aD$QBg[8n0,%.z- ZF,@ +16 +p3WZGJm?W탷9 R\ҘlՔʽ}(+ +Fj?ӭ-gSdvCKښq@?fF̪ @ٳ×W0}䄊vl;v%s&TR05WIm` o;[ 7&PV͜ص{z$\@A*m``OkqF[Gj i-Ǚͬ<y(/\m \.0E/ȭkLmxu/\ +6ǿKf:BzRX +kVpvB<9J_Y 3A9!NyaJq&)7Fђ !TX$+ZD0E0s=ɂDŽVIhZvP^&WvFHPmژJ Y &j_2#\N'zi +RiB;~S Dt&ydd=Je6X;"9St `>RqyqftImHO.ڈwUHN`z)?jwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶvmkwܶ_i"?[[cwLӟd3-x ~ jȃ#f;,v;Kx4^Y|i_Z&.i:R8.ӟėK &t:dD*Ƒ\>s󷒙h&OeRL&A;5>B?ILz]l&op`^j,%㉥D<l`տYJ&r:q pk3HR6O&!CğH7#eW~bڈ0$n˒6@6"ԣ]P"IInX(7hkI4FIưH>a2*9i^f6r"et0(EeH[s? +DIAYMڝR +s&84L\^fVAVe8gҬ v&vE.oºr1Xio,WK~2ZDQ1NV$+Iyu+0#TҴi +ruTm#4*(>(PYYU6\b|]㘞g 6y-#ǷB'6SL}9mdHDFl*SDyQW4X5Cy5(¥n#s5-~}-ȵ@LBfō$Ka8ۈ"*I܍FQȰpA]ca-.GhQ1͂EŖ9VmTS;~3ГD%÷Te#nS11G9´+y[zYҡz\K`yAnF襙Vӄf%d b:csarg41܈ \ʭl<õE r8!D [`AG F`"ŭUX{71JFEL1#e~Fh#\ctEe"LYd ymHAcl22Džwpq9R +֌i`-yQ܋m|\Y2rF:X,S%3*[Y~#Ɇb>JrHr^ف(JOm/]%SmcHrS*- +m?y7 N2k'r~IZDn:QRreb! Vhj :p[`2Tv% 6X +ȍl< 0楋N<`k2`n +^"v<ᢳlv9;Q?t2eTW{Gl~#9T6#bѷIQp{_zjabf=ܬP!fpڌ\ ,ȂyuƓ#SPqsl)ZM#sjF:({0FͰP*x}F&m9({B$>D}TE*>A5gּLO▗ɟ08 ()x CotS.D7U!){(dXroK`PP[wi/ta jrUx*\mCzՄޣv\sY0:xp9 PC!~&s~AߘHi1鞾F +> ⌤-~AF>>vbTN)2x9wDĺ>䡠5c@2#/($-<>D%P튋<*ñF(q}Nh n喸|XiPvPF;ś9/7ƀF=mg(#b@Yv3F}=Y)Мt ]"ɡ'N ^X܍k3.}M) f +f/?礦39Ovг.FNg]-Dĺ1EPs{O6&$A ^mE=7:mϹ9Qaa$tM3.v+<9Х2+To 7 F Z{.4+b 1!BIu'wY\n-DŐܡcNbI0J;93VDo~@sT\vRꄋcp*&5QTP-^M;@ؖflHCPy@W +X}0#=6#I7#Hb*=)[}05"-ڒRWGJT::wCt?Ajt͔hQ.}NՂ$a $ЭdoptZdR&WO#3NΆjaeL/4v9@ 8 +(IL³NTa[rӖlK,s.8I;5@ˎ贋vM"g.XiGd2 u]e o 3𴝚VòfX ޅ&&sS0HqЪoMEh[TT x9i:N;[εg]i `0T1*̤⹡TX +[tӚxNk*xKVT#mR?+`mANA %@ZwY'"rK"k_"*58|}amp0dBS4cX+04jmLtx*'_Tύ/|@Lh C7)pd`[8u3.Twt[`g+`l.rI="؆ Wڌ$z껚RsnhGӓ%4=5(,fl9"6h +8REf+tJq2.Ǝ(@F8'A[0fprbNg@&<6oKf-ce3ʆؒ'͹9`!'0]NbA%O@AV`!8 cUyg$ K} mэn +3L8Ay|IHB-0:a82=P <a';`?Xm2q:Z2+> f +ں1$3D0?__΍/M{ͯ#2[;0C&H/T.!DrH',,*{,[ /1eJ6df+xȌ5dp P H^Svs6SNK$a%ED?>gTi1dL|h 6ַ3ePy2ڊbAB /9pP |ﴃѴsfFdJ?"DcIO2$Ԡa Ax݅ZCJN:)s YS7렁 Hl5z9x8K"9bP-icpecLN(X4GX0f7A/X:&XdA⽑)V3:3#}Xu3*e2^0~ !4h0X#s"bW#!yLP(*QN& W+<٧e<=C~ !pSTf5X-mN\Eu/ ^ԅԒ~z47[ps%ȼX(ZX3GHPI';@0"C;r\Bś\Q:2X!Dw165|7!#lBeIA$@4`*S@1d_ #I+:~gʆ\'$]h +V?ߴsچ\xളu gEbd,(>@2W)MC'0r P҉utOԄ᠀܌`C2Tai| iE4ܲ\rE}0NO}3a6 })iG$QkKC:%tpi -Q:0%x, +q*y +]rKh}. x(vQ9D |Q~@ƻ2ic6K іXޏw.`,mpҙ9D ++=*k +[ s(lIg ~0شĥD܌"vrDh/mE% +/J+Q崃AZԠxa PD`IA?Bš:@KjAkgܑI`FbPr +>$)] Y)[-6zXNҁD-~ j<¬`˾oF @GnJ&LIKhWPKeReZ?C8!NܧFǣ\@%`c}=*cPΰd9?ӷ%#"7Bgxh6TsL\ً{^"M n˚LFJC(/+M3`^A]Hڈ)skBy=ȗɮg┛E0ZX1xxDv$Xi#(1Q]Ri/1egMiZ:[켋L``0}'2@ť-4ޜvORqfuftxҌ*`RL\i=V}ƀ#P$_J76{pTG%AB+Y;Ei@!T/\Am&֨. u KAM|$AĜgҊ̹ǽ\ hw(Q{f\VVpbQ/H]Z!|w1:6VX :-`HtGHc5)ۛi4%nNDQZ? +@97 tmGgNC}nL +cJigyκ9i+>z֊ج#rڄzz;qM/֔ qA]BϚCQ7B&g.IPjCfY7v x8ARdhNf0Z7S`:`lV.,bP:{d;ah)i7;TzH򶃫:4)w@gcD;1N[`W%q3Rի?a K'n,&h}/<섍wTcU}Zg8f.,1 V;Ot.~bN, N4ȟ' +joa\YIgƆ8al$$A'|:4:QFڴ$8C +mrnHOiPLɓf +1&fT7xz41)gPȆ +)|ց$DHhT +p>Ss\`N,!yϺ&_rOOyGL X3eA-nf)8iA(=l3N< -y^<$l:g@;xD(+Xar,V$ +x֪.Be!_X9? %/ b݀X3n<-欗"a#ɞ|P}TRc.1taxWc+we6ªc0WF?kǬAH +@9e otOX$V\_)䀸`t;"a)HHPqH q*"@2U74v"^HY. 1 +}m%h*5̆Oq0lł$BK(m@Ĝ0.Nop^, `FtvdG_@Onb1B2>_SzM#V dhɘ,ٚ-YÚ|AG`C셸 64T|`o C1_09HGؚ39i+M0NDC|I (ep6dpP;/p n%KvVN\ܢ'jE`TO @ \'炧36x}✇:Hٙ|@\ɚ=,a2ɡ+P N"xFtf].F#(=t#0$/.b ĕ~ɟq(]<{ +Tz!ݽ6T3-ښ-A`Iuɯ}dS^Zφ% ^ށ !b ~ρ$e]dF+zHivDrPl1_RI7ǚ^pNhuѢ3'Я&=d=$SGrP> g`] ,M?Vy~0r06F_WYS [ +U7r>J)˓J]AYﬕ@Y> +Z- [k@@3Ф;BIoX8i_4XM{f5e_'64s;1ՉQTT%B$MA~E̸HX,ZkQm|g=~Kr2soF$U,Q9 ٰtolݴI9$.$ 9=Evb3^~K`I +^%Ck(  d %]N .D?a ^ *a f>܅C4389?w3fǦܢ%J1.3@\ayC-8aA;9BX:iT դF԰tQ e Q4{tMYug~oXّ$*uauӦ@l-N:Y0u`C-H +0#[)ΆY~Ř<I;,aY&4 9));:aBg씮ѐ`D6NȞ) zrTi +rUUY!K&޻T!| qLn`Rl mHxލA2 \a N7Xpkn" cq @C ΅4Jdp<fhЯ ~pADkXQ.K圑$ bi`L+F+M4 ();mB-h椧m}SMf[Pآ#x0W'36T35v&.}6^1aAbQ&YMzj8!8MXNNHI8Д $i;~Iְ~*1b>muDD N*'|}RuGRuk4:"*jYf4&oC#:ew"5;;킏0 +:H\/WXm5sP0mUŅYsـ0j 10xFb^B83T*`dd/8 I=N:I[x +ܣWB:*6 @ML&4Hɞ,q + [*Xbt)(_eqyILn&>čglϖTKnj^^ʫui0Ձq<q~^ډBV&c pڤ܁XN}@Y `d':[pBi f HƊd\~9X`ɹIC `pFHUhƃ0hR= V4}8L@`y#q%ϬL"PXf2#: 6.Ff+""5[8 rHA&lor/FV@+F X=T(R&JSL;YG&N=T6,$CC2*W@>.zR#>AY7<^`C̢\%IeKx/uIt00_F]D6(԰X>KC$yB=Wq7H)U/U1e*O+1x{ ]~pq0#1=pdO ٓ@O< {D t闖ȂAgp60eA@UŢ/b< ИUM2d99$T0׽lSSjMsAw&\͌X̍1cu&/7bh u#nǐB8 $=a4 p4xM&;\e4Xh %,se.hĪkLv! \SأOj)M"J7wJN^ÉTZ0_\+;XEU;"{7u2E;D%JmlT䀠x FHkHQF~tHsR9@PX\յhm m锗J9 2C'ӧ#r-m[Re-QVy|/dHMWb@,{=vpqT($jw_m$[V\*`J& fΚ|?x`7afx-zt$ +Mc2}c$x/9ttJTnȌ|޸A kDzuFb3!ߏVRhu=蔁0drDRhH*wtUݣDg/چ,Ԡ|B QtvDgS@!KosVnt~p:8&2=c^ǥkkQs|kJaL@(a"qꚏy,ՍBfx, +hiUͱ(JRcDi9IM{8!&(ٯoy"=LƇp{$OgW*"W^8㢀3JZJcC(ʵ`;V^ /|L V{6pɎvP,C eD86>[ػ5>zH,1Aڼ58~B倐%K/\sC +=sDV~ISdj3KWūJcvU-N#ҚTt*WҽFb^. MD}Pp/\Fcʜq4N?ΖǗ7h@C[6;7ju 8T^%:By/%RbuBJ+py*$i>,Z}zqB~|yFrQ PTo¹s/|@8b3=`Cyc:T^ 66o^,]ؼt}",ibʕLU^s<R5Hϼ|wӏ~|nͭ5wK"r'r8re Ie{8R(Zs\g@nnD;Be7=,7AW DkLj#?0V[Y߹C'3Tsvz>oh#$ZJTs0c {\yL6ZkFgj zm³[bal.2ٶ̐+X{7?>_X.VW}.?/‰T^UWj{Nw6(t#X#MZm”jy\*UFg6/?pxؒJp+˅j,kwi(@t%?.?ޞ߿{΋nȗפ6z 啇d7a$ZSۛbe)َVWY6;*]O6 g2]^bamPۙ>;XsIJyۡR mt(zc +,R_)Kjg֡͛M6΃-n^Pd1۩,\j +ݿ;xL*]읏 AV#s:V/}zeyO~%?>.ύ <ȋ7>h /ténAcU&ӣ>O{ZyP[ +"q/.qcCxyQjՍlt +[gtz$jwg'Z7 m! oBXupPn}*+b$x2Y*sepkBq?*G-_|" + ~mVfT s?p 粋X^Jt׳ŝ_OZWxtx{=5>GOqµ/? $Z_Z?5oW'0x!Mvˋ.<عn;S.7 HV^^XQ^y$W[mhbn L~x_V*p߅',_Qٺ&٪-d;R U"1+\a PPI疉x+^\RqK&B޸rIm oEc *4Beڵgu"^+Qڷv踺x!Z^t3iK!HDk `~q+ BBJ)Vnleza +S\ARY2RZb s +r OTS5H6y;S񕧥ʄ=dT>k +H|::Xqx0>tuXyv-ˣsw?%{١҇ 7 śTFBa +*|{{GOG!j_yt<%whmWoXUX]vnt!Y^ T3ic51/k GX@ +>* } a{jlf"U{r~|+.CVEcm7DfFw‚Rd/,WV£r Rvy! C_6/\zvtx[셥/.@+Df''$R- t8p-q?Dih +ЮHHuquS ͳّ%\j E\aQ*eAmzKgMvtHwXm(Wjh28҅e<; +9)7P[^&;מ۸Bq*[p92 J81AUʢ\[*KJs-DPM;n"Y>vV.%.JU2+O&C3**]mr}vo1%e9s)\opm9JvWAG$KgnnNwܢTX"]i\Yj0TLc*ٳNT~3CL̀oqc"u1/!#/CL,(8qiU ;9d9/YʊiG!X 'x2ᣉQ +:+VD@)ov_%Z{ZP(:8&df3JkC)/byDfZ퇲by"g"STysW=Ekޕg{"_:dJַӭc3cu8*^ 28Zj۷3յGD-:Ѥ2k9P#<ږ_n1:iOgJ~pp>[,BuB{A?EE6M5XMU2b54Z;Jm<qNvxa}d>VYW)) H%CSZ_>w7?:&?0g2LmELlf0&VSu&Ť*S go> +3jT*xY&Vҷ^o\0(8nuj#E$$/bpT>6ǫڊzkjM-\]#J`.D,!3nmS y, EDL37bRZSIy<w 7pQvx`cR{&Yݽ~:]pXV*D,=՚ eTxLy4*]bӆtf ^A+m?A9 4N11]d+Raj(Z m}"t+$kr͏֐Qq"Vtg57b>#$#*e[@nl`JBLE^u<-= f)Ӡ2óʺ+0^ +ެ XyxƆ5'sP +l?\u#JEf9x@9/.? kߌ׶̳ϩd OVTS.m'Zb>cC~ʋ +.'iBuB>2Ѧ78X\sDa 1l6QWWgr ҹ.\*xu) +nGK ӵXqTG|%;/D1&jA bk%^8aт=" \hMj6V{Rd^5;v(G9>?ESVZW"EDN*0nE,uH G Ǘ'X."|َȓ&%B%ɩ3(V((WACQ-ҙkpfq3@RB +!:d[8oP-;JyMv.]9s#7\G1D{8_ZAɑX67؃L$[i/V}ˤRN5V 0j }]@m.gڻaarQM:Nh9w kƂ82UGk< 2)*8i j j〒,f|\,_>{COy|/W7~??~/7zvV;kbc^o_>Ǟx=ԥǞ̋Ї>/|Kڗ>ճrZM|I +LmħszrhΕGK?}7>\ZѨQ|X2fJep?K3pSGۗywn??wX7w|+BfO |?n.wx}O|?ūoҝg;W˽-*^(T"b%:QqEZ_.ʹW♛O~ї^~?*UwcQ*RV 5!J/llȅ|g>oy~w>(u֦AroQG\Nu? Ɉ#\}aˏ>s|[Oջl1c'֟:t÷n??}o~oWÏ|K[)/ҹ s%U|Ɲ觾~?WϽgo{ӿ|?{3_;0cNg\i%fu{ڭ[O?O||O?}7_ǟ}ow~G>^?01VIjYx읿r+_?|#_K_֏^}Wow?w?ٗ/?L&$:TOV X\vk=gȧϽ/}?oo_ۿv.>Mvlk+|gʭǞ3}~گ_~w_Э?o^z5$=0-$z$&%[l/mzC_o?7~[^~w|W.?THD3n P~BXRo.9>G>W_?}k?oO|w7~;g#)>erc|2߫ K{+>~{_ǟoʷȋN)Ӊ&[.]У>Ͻ+|{ӛo_/֝gDu)d}TVL%RZ;:{{=ßo~;{W/|w?|pt(jiX[Zoyh㻏>o|w7ͻoPo~ۿw_{僋<6TEg季oًW<_{嗯ۿko{_7z_փww1Nøl,7L76qDKٴVkuFz8~}?7{_kw>*䁬D,*WnO} _z~'/޿~/g?OoqnT)pY:8wُS_g{?z7~wݟ~_sxƝy6QtOFV<G?׿#'/_w_7{ʽG 1њ+H{ :f0CG77o$Z)uox{o??'_޿^]bi.Vb)!vxݗj [k7n\⋏'g対^γ b :yƝ~el&g__|/_O{7n +A"QP`Z(Ng[g>/?oۿ?zŏ2 +̰Cs̚ɺQxm}|vփo>~G_~ٻyyr$o. 'h!4gwO=_ˏ?_ѯ~bs _m-nAPRث60'Pf0c R:Bng,&[ȏzae4,#acE-Y7!0F@YЋ6L^pc6?b>R[aN b'HQs{9A(Lr;^=ҙ<6p{Hy)J*łsMHd&2fk%X"lwJŢIbb1>-f`yƈYIUK|6FTk*B*80CLNlZ9s`øQYV)+D˔>~vI14JuzL97♮G#Oc +kLJj&kjɬ('`Ri+XP70\BK@RR=>nݎ)ߧJ2E-R6 +km61Zr[nX#W'%MK$X"T8N +#arNKr:Qh[欳f?(Pfӄ\T'[߲[Lr ?Pܼ%`CERBE+e˄"iO/A݄.Ts; KÜa QV?T+QF-pahV)@ԬS j(-m._v6 CQQ.~\4!l3 wHBt!bϬœs8W]B &4[f$EDr#d<"0ˡfA| ~َX}ǙZ ɋ!& II.;,笡 3C{~i(]f%'/eް:o rF"槒!>?mJƌ܂sB.&bǥbIfۙESk Pg`rу$+1?c Z ȍZyϭ6hJP8Oz7^?Y[dL׃J&/D@ԹqT+xOh #f +!&-$:!!uwecm9_69G؇f/ƌܬcDBD|al[s+n,D+0\`0e.OdHRjZyƒsfɿ`]_m(| +I\\Rfm p ,55L94 e0 ȼu2^Ιn{.‹V[tvC+\aW+=lr)Y +."se3!7,Z(|h%ӤV 0, )2V% A2+}2 +0 n*^e1\Do_3Vvzh +(fwxڰrZޠV2t B"Y]rq-;c0jrjA.gQ> ËK%;x_X#\!$m4E/yp;,l$*{D{ڔ o{@X4C!\C칥t~ I!W3CB)zՎH(-$@lPIs**L7]tQ`̗\$8*.ؠKK>XZ2dB4h'z+wIn JXc +yVBn.:E7 Jpq:;-& +LnR\:7k[vaip ,Qwທ"_\Z˰Gz" ?cm9fעM:5$0&]ڷ=.X +acasU϶nA+Ek;L\:nݯ7AJnR&50uqW6b[GP#.=VnLIcbj.Az +顇4SXlnGP ӎ\\/6˭ +'ez |p9ߜ7A .ʅh_v$#u XBRN8%@M[%퇯(%ƌcr! +c`&!:6k Y\̃ 1qLkhsLj8d7@g-Ȳ#6@d7& t̖̊Q&p2ŊKNj63H'0h)EWpɃA%b>a#?2%73 f:FcGlP@ @ XѻқhyGxva +zSίM?8l18PpVj\yTk^811;@,kGlGG>\!AM!}\"^rh$ +\JˌQJe!CSY/w6H3 xi0^L1ó(H\v^9|igq|GE렒ɘF¢mɅ8;URG+I M*9{֭K#ypdMGBL +:`rRqb4N]ARX/6'i{w1 +sb6i3~&!Ju K36Lo&k,ULƎZMwx+$#nXٮRJy R4rvq]$5Ƿ+O$wlԢŽxV.%oY}4Pe/?M[ٽ^;[tᄜOR3P`6NF+~3)e!lM>gP͉F)J*_r/EuB!b^$> +-͖N"2|7*s`@ Ԏ=@8Py!*7KU&9oǀd/.}T3Rh`ӨX P@vA\> +{j`ҿs~i[Bm-aX 47q`EG^7n{֝?=T.&:WWF72, +J(@"LIDb$%b=1?{lv3ͷWtJ]MvH 71zE ` w{oN[zHM:Rs^*NzI-%7rXcf6{ͷxƝ^g'ϘTgCקU7m co]s0_i:!<%(?$a: v\ƭizpU.oazN~y'&淒M&1ZDWu֎_|k>Dt21Իr[OJ/p0T"&+m!s! b P搂R&8L0eڽ"TɡM[\<հ,=Rލ? 1txiLpË0 +.f/J ,IeMC"HSJJq==*L[5mMq֊bE+|⒛uq b%'&X`!$R֛'a![gEW1lF7 +p)RV(8ѶL((bmĦqh (ɥͷ|&+;?VJnG|lzCa\>^]A$s-$^4̾Lw&~6K%{Zt/D;&< +B+ݺ*Z^]Sn"_dNNȬSqepdOQ(jj$7_|Y^uцY:1`Y<*)108:5GԄM,yE`.d/]VNߪo? v<6c9{XuXMSC!gTw~n ʄ84g'`-֎^;3XÌs9 6k p[P@VV69t{WSqJ%;A1 Tb 0QqM"LJF:xMUMFyܒk`ЛI~r+ޕWݝv\+4wg7k[d։^X*xK)Hӱau."  @T@ՑR[ʎ01Gvzw47燧IyZ$HAM9>cEqΦW"!Zd;$4i8)m 0O%mXsJ1֏ZQGRv@S+$@?YsBGPtxK;*&ӎyJjNdSͶc㸔kmk=̎6,|v'DF>;X37igP^BD`CĐˬ`ZDet\h0,?ڽ? Z;K2dPUK㻝EPC"9.¦W&Av/;I`1I8BcH)dc+X4;ngnw:j rBьpb1|ʃ+Ty~tF䧁uTKNul3To +ѭ!:@.97A5֛se.Ty3Du[ROhzo 0&?Bk'j{/rw!rn +≽ I 7bUh^K_2.;^<4\D8$ָpMNċ i / e"={utI"P+щLm RL"eZ3fyǥ%EϜ= ~{`wTB"jR$;jeMm +TT`2MUC,[T +׸xGɬ1dHOFM@JP W p0 +d2}݌ RplrVPC*$+l +dʸvZߺn[:ĥ8޾\2Ǒ̆Д`:!<T<;T|7ޘQL v}=~;hsS +*%^/@eG3NrކRP>7X\) 鑏4d09pzaA78`8*hr/.Mna5/ +1Fit OUPQ;zSmh#0wfc2zn)drSNwre&ΆQ0z0=8UrHŸdG ) ]q"qY)76Qqhq}ǂZ7mBiV b ^07mV/"L.2͛A>vೝ?(n=dkD0^?lc \W8"jKG*g 3G/&ն LveM-ڛ'k/&Wmx}T>q*Gj&,0^ dV|ӭ2~"x7,=!Hl\ъ^B0XO [F T;4:cBT;6 ^ua@F +pbY2$bRuɥ1ƈOM"0K.X8S&d['V2)&-1 #BC|uhSΏ=V7Md^Lae?gT E@.Xhx .bM|! +kJV Npqoʵ],9%X߻?{s.E`6Kj T,t5RUNoc:*5 +Pϲ)4ye7r(vGa1KD+t^ujyM)oWβ`3JQacM&d}+}e -/`'...,xlp}LHtkE?T/tQ12ތ#6`Ue;ND T'KLeuv90o!7-:P罘 y1uB"RDs* |mp\"c #P X_&.͙|~LqB2 j":ah\O6Oȯ(faF.f*k^X}Qѕ)3k SJQU37snlIέؤl!ܜf*6>hc2gHvwrkݣ7??}ƍ19KyyȣygҒoك,ċ^f8,P%?)F4<8^cI)$~wl3ӆB.0"@*εkA1L!s:OH7D Ҽ C$WL̒ GېE[`8Б; +-e(!A+YL*'m bc\&X$j Dh(jX+P$crᔔT5p~ 9{@" vtэۦR1\0*TD >dӘRhrޛam崳fmV˅DeUmAV,~hDz !x Br8TŚ;7>K!?rY/kްip/̻KjO Qy%=X˥qk STr`Tart/w Gxbʥy2Zr1!o |zсGHr%; +4 \XH t}uPZJcE+7cD<m|v5'x(Yؒ3C( o]qq/ XԳ} (y*aJJtšZ+NW+G<}АQTJkRZH*8g2vy9ovY=K`$hRr@tW|nT'ײ͍O>{|ȥh@/gw[kww=%YzoO&wbQSB@Z H؜:%v2 D Ԑ6]L#BJnoasr#W6V!.N(9ٲO@n Rbcڿra +d5dIYb'6ËM4a!\uoluite;fvar]xmryrbi;$ռTzeOSCwq9ZmzڎDDn)lCmTF k5RcɧW_=Q1` +=S^vj H[\t>>}n07i9]MqcW$AT0Zu!Q\0ЛbGҒsQtbPx\t%0g9;vqdQ|Kx$tWhHG+/'Wqo50 e~Lq{6"9?QLJNS + ɡasAL#m0ذ[}B(g}R*v(Zu}ww|l}<ւ,\K֜1[VAt{@{qw/ׯ=匝Е6kYEZ8>{99zT?Ċ_o)˵8.̎n"V|zŅ*kτL)0&\DǤ&J\scuvw王TI,bM*;hX}'9q'n'jTh:F7ZM;謃c.^x2HDŽD$'5/HG/_l+ \TV҄ A #Z<}L R[+w}MoLG{&G]1_?{iytb)Nt**D!=YnJ.2)d׳+|ru|bGvm>;cjXg05-Rq'bvGl>) F9S>8C/bBqPw1gÁOf}1;om!BN6u=/? Rc"T%2{mE oڿܐ`rW]a/yM!I#fPյޣd8>(NsHoB((vbz#]-T;';]Pz+ 2ʫd L!J j28Yzq%>}gۭ۵38f| +D~p2>˴oSFJ-- f_4W_~k H4Qqp He-Pljܞͺš'w rC|ST + $@z㕱!2qyK5{՟{>>,pFM?d`8IG.H*7RӶ<&kghnDž7WY|t ßpkh axO6Aݸźo\^ZPY&9V1Z}"֥C6f2Z6k #D#=l=?Gc#?9[ZZr:JmѕNLPg\av1jzm5\;}vRch#{>\Yި݋VQl r^;#7he59 I5&?MvbLk |Smg:{X/oěN$ފf{ן oyI[;metQW8Jןkf?$̃|T@`'*7j\X5OއJk.eA%'͝2Bf Onm^b @aNOtۚ ^'V#7&˓H>f,ʅ2'c3|rZ*g[^o޹zEF*r)3{{;ClOŊ#$:Ԓ 3×B6Jʬ,{߹`lz&}TF ݇_Ttw<ݍO>?67j;\ؘ?=y=@mbn5=7̺-8ܗLRQ{ EaBFkJeMn]{v:Nv7퉚DC>rX5:pbf +!.@X\ A+X>G}8xJqRYy8VMN qzӵiY {XhU`(beꪒx0Ih9;s 0ɴv\X$:ֈjnw񭝛RWBLX<5#>25rR|ޕ UQWoo|Jc8>?.Ћ'~wMͭw`9:PVkkсbZ @D(3ܽg۱=D3՜J'cW(׼JN(T xVD**(0ƥa.䢉~ޕoG-PZz\^*+ozטI%j{|zK%!1{C؄9ߌv"ӭC.wQ]?X|ɟ=ͧ&*\ᄘ .@g,>3^-M^¢}xض>VX{h{zuӛb6nCҘXqK肅ͷ)[9la0>`JMKgb!67W&za OM )ȚY+ba>8yf_E+rqgr3:&Z~#vLk״=WH@&+׋+FmMH +1(ZyNaڍ6֘Ne~*]a" 1kV/sI)7={ko7VNӯOi,Z?HuO/~w4r1ٱIFnڭyҿ_?!e9(a$Z-vo=zoM]ߺݹawx֭:MvRFߎj&?#2"T/hˁZތX&Ĥ૵~M6bHԷ4qyX{4 /?f~)J%ͻ1J__;=r; B^ vH9rü׳3 CtTJ!&q%!CӥʥY9 ZPq1 JH 8.3}Gg|Nmu!כK&3#R8*"[;O ++7̀IvI]h|B"0%WhK6 Q +#mzÚxM/K." ˈrdR2oڃ‚DjP*nL( щiQEx:30$璋nڎ&91GJn陸L-VjN +$)3W6:.5%+0\,I4b`AE[5.,zDQRIë|oZFɶ;8U#\9ZBdzN7r}&VŔJ .JM|ώ֞RZr(G/_uODqz{_}[|[?~g4__v!.Mঢ়m肛nX3r_ +QtB.z'nؘO_qi| y:كu{w?˯ +б>(p*@%7RB<ЋT2)7+6g/%nЅt=|т:Ju0Hk5A"|'he+:6GThXç.3,ս291ŨiɆO͚}3&ߢ# XH$GR(') g!FII[WAye=L-2ca1/:(Fd-.pXk +PQ9LWӥ>hYkKՅBh[3CɕO?<#)0G6`U)5֕('ss6DjK.n㓷o?|W#R~QF81S;z[?߼Bo[IǛ/!iIXZe/c-#}_|,7GG/~yrey/}',91r~pvḪ^{dmrrp PXNն{x۟!];k7?{l,<헟i!Y2 !ZW| ߸l{w-<۾pxԪDW+st3#\, +QyÒW`>gGFcr}tT,Nnȅ.%m8g7D=0v/j.BaՌZa{/[ڡ9@P׽R @^ mROƍ a}ϻš pj(-ZٴCʹ!f/1\ɱz}=95 +}%?0EKA3:1~fΎ^?a2D\Erx$23$!\RV,ӮvT>ͬ -0jZ#  +.VL="c*޳ewt~0r1rɣDyfRʺ^^3=(RQSi_=kziup!+B}\_Zj07ߊU7AG WwoML5; Q+7ajW_8`rh[DHi##E ׏$..->xze$@§xI 󩈘m^ϵ6 tŒՍ~oe8z 3)7=”j5zíO +h5`K#~JH  V8PinOpÒKO5 `ÖD/,&$A`6l7=Bz\ +~BvrM'$Uv$ˌdsC 8I>0ٍ0`Q3 |^ TeI$u/]Ʒ/+M2+MeyMWj7m[ 3G8  ]v%j'E<=ݢ"2ʪ{7+\T>XLLC$$DS>`pHT罐+C"Hh8Wr&kT9i%,3r&h)c! + |Zɭ\F+XDHB W]bgaD$:S%PA\NNO\>Ut3_Ì1!v&\(e"`BcSssaͭǓ(bB86 J+b#Aˢ  2.Fi~4#GHVFrjji0e0EJ6.^=7 Uzip]+mCY' #B`@<b)*Jppp(͋R !J@/6(=wRӼ~D"8x7!J6MUl.[hbs'B;?(,^:KLS IZR)߂Z\sR ~"1(*F".̅c& +1C0#EBbR.`b~;u  SϜZX$t9м$3عg0 8 SQXuCtWώ"S?Oϟ0yBxB;zsqT (CpGpg柛ƪI޿zOs!磤 +9LA\nbF)o0F3bZԲt+Vo+Ю +SʩTƴRFY 'JZ% Zleq,QRќʁOx~Lg]qEqUIO\<犂SOn%; LkB @"3P Ovԃs@rj^2*sę| caD HLѶpn 4+6KV S%x0eata@i6 (.;52kw GO +C( |Q1,|XRUy\ILA \,@1D +DsӁgN='@rr(CI*銨AHG `W33罳ao#y'J \xދ LZqFӁ3ݬG(L`T1d tov3/& 4G'tJ+Իz@<ɔU|)p +*NBbV2WZ3~$(d*m:_|_p/pJ`9NA#Jc2/C>l[.Kǻ˹fN5d>jt^J*)UHJYC* z̻c+F7]좜øXEϝx! b 0t,(v5m +dpUATp9 qF,e.U&+ &dXA#T `R#"[,'s4II= +BQp_I"p"'Cq!墈zbA( $5Fvg~xt˯<;6R:Ba'S3 xf'@b$ӚTEh !xB,F g+z%95ׅԤQlM̹ȂI +F`3[L$ Ĝ>u=FAÚTbYYmVNl5'{woo]jV6Ҏ?wvnn@8w޽ۿ~W{^5m9LLMeQ|]H(N#PXZ^lmm>z+0"<5YD(:u6¶iV*\>‘di^ʗhew7B>8N&LeU36vŪrӰqhsQ񅻻p^{|Ѩe-(#?4'E x+9|*R>g^j`o^wӿzjY);*$kB 4p^kY`6,,v[k;7yɵ_|ѕfi-#lg=;}}kf. @X%]$(R2s.`x,ު _Z2_ܽ{{x}7o~_}+7G/;#qPu{~:n<XΦ07aS" ,naO>\}Pփ_wo>w;gotYBhZ^\\[yz猇W^9o/{Ƀe ^/ٹ3/<."Q\SR6He'xӇG|?<(Wrdt3ѠOaS@&qix|yiQ}F矽z?Oߺ_T& ݞ(p`CK%^vg{퓯򣥏ߺW𸾻ZZ6*2 kP+X w o[{Jw߿?~?{'oWyz)mn/t~.PDA(KD="QY]=Xg}Kv7JBE If#wZ{7>~O?ϿF?[~ŕJڐVԌ M2 b]w֍WKys履<[}G?zo߾?_QJ,b1VՕ<ʾW6?}cWk'8׿[j <(~vL~'ol_}_{~W w_7i] "Ukj#~~_k'O~Փpi٩#t2N`ow~+Gyҏ?z_~w~ѝ{<|P)z˝q^FU "/6(VNg$P#x9ss=廽w헟>k7Ov_INyzЁEKj33$Wk?|7}w?x?o]^_o|rqiT08 !Q䇢d) ^K YcwV׮߼+˿~??Gya^R8g"TTIhyWo?{ۯ]2n*Y~Tl,Fca3_^^^o' Wz~w5D#ހoC_,wܐu$kndte7{|c]̴3Hp Z"hŠByCRmd~bVk<\'g[@Pq%D,LT.枿{ŵ޽W.wޝuvxkX LLO!6sFӯ.w62q['[k2I]嵂Q.rF8^oikt*SNep`tRmlI-YhEORgg)L2("2N9:VFemΪ|ْ4 +R1juz\,lִRN-&fBlBm3zKL50Z8xLf1Z\N6]R]P8~jLm?CLIDCQllV2eEdW|z/W[ K(P +B\Fw-SXe/"(vE R|6[/ڎ]5$b<x f{aWEGp ~ybHLgm= x+ׄ +#bVJcj@j<r>D?Dvd#!ø"Qn=BL3j)hR)eX8!7Y!eӡ,WL֏A:x3VJ-HX1+if6JgW +$U%F[r=/0 +ȎI;trMeU--qe*λF"-ʭ>o@j1߀V/@U6ܒKyPX%I 0 ~6}Jb~l;#U6'FRMkxwRk=\X+?<7Sv&Ϝfڐ\I8CtVoF>Cjb3պjSaT?!MEL1ځrHUc2f `@m #e13;fbVHGW0D,"b:=%+STBD>c-.GsO8ji }XI'&RBod!r/'*Ba3ln-aC#=aHBvutBg>`'{$Mк!z6@-Dew@99߳.GkQȮZk!ȺiR JhcDg:N{BLbz],kgAZ]2.,v7j)vX1R\)03廃KoV6^ry!N~iq붗NNHlѽb h8a4iB4:tzwNƛO'mZla#.UA{,j:˙;ӋרJXqwtZysbs^u|w50 +ϫ֢*hZgIc q+F4m Jus[juhiZXޡs;&]}rkLETzQȯHMYscݔbw"= +JȌ:gV!AR恚[Iaǝ_;Jr~2gVÌ>BXE m .C[_|9sA~5H{13~Ja_Xwٸi."u>`r ~(~8 J ]g !_ڵ7>?=BM0󠖟 Ks[FƄR~ +G*njnx8Ut!T}MU<&v"ՖK3)7`>P|F/J M6H{D:c(^Y]Z:-V1"wP^g`K|nT1Y,,ߨ=*j~H޵Cwi`$OC ײH{@MD]͌nʕ*V/ʥ^x"^][-64dѓs mc"u+K;{DJKeZA ^?BLN/] !RGKod7P\nlLEh/iPm^}6J },fɭPtJs./50ZǴL݇> B~Ym< gw"YY+aAuSqy>+wߒֿzf'L.7j;_`7c3!: jR+,?Xվxx<: S5骥RijiޥRl"0 ( MzոT\˭P|^-=;\9zI8[,KG7ܹdq1:.lVol7Jux|WABj5*%T&Rn5HQܤb;˥W@Lq48x 1n2#,>w qZƭ80OgsP`e5pgg7EU7C&LkKwdQ-Ƿܱ;vc7L@ʖ2%5/.7NNŠ K\~M̯Qzyc "Ro|(;)喀>ztɇ̈dqzvv3z;O_,TWnv6Vl>R鐄)aȥuŗdp@EDqˆdz~쬗 \1@T0!)Dm*"7Sk؛lDBL ELkɥM}rTJU_2ou2KGIe:Uư20g>)~nh m]~SqJT;tq޼&Z;yڑAw0L?^ݻڸi]|,$J~0M1vPo^/'k;X];ƍf}`[ > +77k,;r~6!{ww2PE6W3+.=%t6tHΈ2^q+AD<:*GR\.&J+Byzk+/t7յn[Mu0g']δ:n,բS%&ea +O.A [T*^TK!J//_{K]L.Z@U7o:6ﲅEq/n_}io?ByWE*V}~&~:$Bitn=|g; Wk V+.cNƅw NOV/`T׺rn [ TgO9Z|y_^+^ZFSһqjh3Xʨo9\qUTn#ټlj-e=PMh"ɦѾl1ov"D'8~n>EUݢRt}IY⁍EL&+1 |<y<եXNwhN(Dnv- xYT|qōiq إ67ΒZE?B +^r˘TkAp8cv8ܔjqtRpvxt,5 +0 Bx(kJkQe"aA0jիJLzDv~xT\:*#R@h1  +xBٙ0 t17pkƥfyO캘`se-%\A:'U{Jˮ14a<ȶSH9˵[ޡ]_.╷?/] reo'm+Zu;dKo<:Pl/j ݿf4H:/l]{Qk!.k gV sQ㫰R[r!Vxtv:w#+e6V`k720Ovo.*,Zitla7}S3.C *mP7q1疁K& J ;de/Yq0STeTonl?ds! +@I7aa2Q.PV{@ªs7*V_2VQJ 1)[Q6*P:jCͶ)BWp;L5WX_9x@M@Ŕ=`r 1n4,Abrd^˥d=1[!tx\*~#:~期Q( yi57[7B)U6 1>7{רL-?RK^"u!DOh7bbmXze +@DPbl&Dյ{Uy,aʩM XvJ˗!.  JS7Kܙj_]:Of5` U%zNruϪmkmK@Pa0[~T_+a6X=n2yg< =N2 ͨPZZ`JKqeuΝ2^vx q&avHբ|.t/"潠*@ʆP\J+Z}ɍ\@sHGh^굍@S8_}tK;>VZʡ>Y&1H[1ގLo>BΆp`3yA+6ѩpvWjZ1fH6\qZiYt8a- ցD юPΤW"bu>&a>|zE +gi/3SP9;Qd3,Ttl`Q=PL],Y7nEy[fx-tSȭ˘^Ǔ\gx9X ǯlz)}$0Zs?f .)z|,F U< pHBkOw/b&ڐ=X,FDdpT6hg”iV\l`6La`s`Za3@ha0Lv/n ݣ ؞^^b\T(ŋ|v u*ƒ\A | J +\=T:=\qٍ$A%Hm+LׇGN}ӏ"WgBVh6Hws|r9a@~^\Ze&M/VIgNyڇä[ } ?jqc stNeS^l+ "ن:ZwOχ)}f+Rn5H ;yګŭ GIMQ+Ž] @yљ5^^L0 HPN{ +jͭ˵KLfك+Q2(ڪJ11.6W ˷Pndzý&gw0 +Vޥ @ KQ+ fA-:WӽPAB,&GI6jyz0Z}?aLiT!`S@9@BL)nHFft5|;<`ml4*W u}eXεW 4 F\,+mzT9Z68g,iR +F0aD4lą"ȭՓTeō*7[Ji!9wTg!szav ٥s P({{Rv"H+.S~rҐG*/5PG@Ђl3%CEPL/iߜ \1z&G+B$6CsM 3ƌ0OID5ąI c 7X&Rdd'H4$~|Q0v%Tb>.YgQ*T+ƥaFBU+΋ŵ8$cky!Ub*Q]_ukH x[խ__}7p>"aYrzݏy{1RV벜 ӎ7FzZ 3YQ-vGpR1 4F0ĭXed}j]<Fq3q6yaDg/@Rrl(՘Xp3~Q +rM"lb%DؾyK`Nȵ)2a˓utf^\Lz3>XD {֍Xʵ(yvo US;ŸwcL\iQ6{zҟ#Ԁ@t`|>7d؇b}4^H15W<쎳ggãs1;3y8(mD1vW('0SRa>MMl4.e`t/ΚA,9镵cEMqR!k!R +\z0R#͑7azcBzPO6E +r90)6!!K A@]IuN'vs2.Dңʭ/kXc at#BOx.&iS "Yj/zWP3S$B?XJoi83D´NY=E?2MY%?nŸb" + )7K[^r>"BM/AbeX;RO .7C *u#;"B5Zj'Zx+]yB+`l\n߷(l΍;~2e jvTM%DgWl1="LAwv_Iͳ>z:z=/ JrJsEXτp@f5Lޕz*jθ)֔8@'WגX1mʇ 8HH!菆 Li!b)@dp (+3Pj d~-U n`9P(%G+PBUUW:*cʋM19bH_I9g̳33l\Sb5ʙmwӭ\wſ8>硦jaXnsSaZ)7?xCL@BY8gi+NԼVZ)Y*يsxPu:a`R!Y!HT6N.ZP WT\ +q1&#e),UXkǕBT0';(Sl%/t1 (PkG1"=bR۴ fYB@x%;/6s\$6Hi-hEcXlX72FT0=B'Gf݈(-&6] +1JY'&ݪ10i,$PAcd+h]Bn/ ""V˜4ͺ֚O_2!n6,dLh +D1`rq>yl +r1˜c0H&!rO{䟟M8>3#K.ms1l ĥs!VJ{ xb@6+e9pΤ zb!RC%̘m"Y!W'h+$8qN(E\ LftZ|nvH(nzPLbKMLnPkҟI` 3ٹB}|Im6LF(([rA>n&$E"o/yF0"g6žQUwZO^lދ + f^ s.ĐEX4 B*(K$r@Ės =˃P?F={f.|~ct!0(x,ozzz?&A sm^_ }ޛ6d 6?tMe%RJIDq/Q #y쬳˺gjgzzfl?~O'D@"<Pq?{+GV ɯSL<|b$c9 Zss|#.no@$fG@I[K,g+2 XTؽ.j2 5y+ ~7fg_x>gC_S%@ {j'5Rx<^x`d<`Kʙs@̭VBINm] ;0'6 kMcs#@6slyhq.] D''a.J磳/@&¯3`T}h9  ;rs{o;4FK 0iՁa۷XsRg.~k.ry7y3 k7@ 'K/o S,̭O*ncP2'wr`l^ -MybKkpb_j4>Sz5]x:Vx7-|bcr3o__dk2jd@՛̝+xzz>95`?rY -gҿ~h>y5Y(O,WOْ16Pqg{x Pѳ/ƗAΕ6btέg'V^nv n o3`Ë*5]us߂hޢ2&6U#vvet ]KG^\T~-'7hn8rzj_2 UBȎg_f /ɭQPئ37b2=72 t1Q^f%МO53?z|<]8Zc +5]< +뗃g+z$2ƃOտS +1Zcsߞٿw9Quvʿ-15,=[`p"=3vOv%69jAjL,yAМ:控$Gbbl.tVn?r8У0fw~œ=r 8:i^ǿ?|,^1\^}d=ẐR=y_$XU-c|ӝ>}7p +uZ-+6uE|l|, ~o $Kv:Mz:E ^3{6]qw^[o'ӫbdͭ`_q|ٿozzzSf1vΕ]1 +7xfʫ? >*<Ó[IkrrrٕwS*,F +쾚='qrr +k`x~l<;Sktl%n)wf+:ӻ'_= w.S8xfN<{ MAs[^yqV, hx><. .>av 6ڙ|M M@,c1hqOhqibϞM /p"9PN=fAi^L/ +oSkfr̓>84߯&x$~q@q _/eo&7_|aT~dA7/֏~;?)wtsRc#[ov??,A|:{ ecl tɕJfttL;s̹>[y55H(ׇ^~'5]]{}k@§C^~ϝș.gAMԶMgzхLjRjd՞cY<TڛX2+ز?rfR#F&Azd|:P.6 }~Wt8:݋Ͽ-7}n<{g~ ?5fko8]< >Y^gVNa&侙.M%GW3[#'kZ99 ֱ7Y|1UY);ZY:m_yx%\ݛoٲgC`M,VRr]YĝL3;+ϯWl~gח}Crr/u[x]n,; +%<<jNkjpt /\O{3Z8[?vatxlhHխgّţ7mlʃ:'3ٝfқ&ALn^7oK/&F=4HFM_fV@]?