【学习笔记】java多线程编程创建线程通过以下两种方法创建 Thread 对象:声明一个 Thread 类的子类,并覆盖 run() 方法。 class mythread extends Thread { public void run( ) {/* 覆盖该方法*/ } }声明一个实现 Runnable 接口的类,并实现 run() 方法。 class mythread implements Runnable{ public void run( ) {/* 实现该方法*/ } }
一. Thread 类
在Java程序启动时,一个线程立刻运行,该线程通常称为程序的主线程。主线程的重要性体现在两个方面: 它是产生其他子线程的线程。通常它必须最后完成执行,因为它执行各种关闭动作。
线程的使用场合用于处理时间比较久的积序用于IO的阻塞操作
Thread常用方法
重要方法start() 启动线程;setPRiority(int p) 设置线程的优先级;interrupt() 有条件中断线程;sleep(long s) (static)使线程睡眠;让出cpu资源; currentThread() (static)获取当前正在执行的线程; isAlive() 判断线程是否在活动状态;yield() 让出cpu资源;setDaemon(boolean b) 是否是守护线程;jion() 等待线程消亡;
举例代码:
public class TestExtendThread extends Thread { public void run() { while(true){ System.out.println("Run方法 " ); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { // 主线程可以创建其他子线程 TestExtendThread thread = new TestExtendThread(); thread.start(); //开启线程 for (int i = 0; i < 100; i++){ System.out.println("Main主线程" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }}
运行结果:
Run方法 Main主线程0Run方法 Main主线程1Run方法 Main主线程2Run方法 Main主线程3Run方法 Main主线程4Run方法
二. 实现Runnable接口
实现Runnable接口 public class ImplRunnable implements Runnable{ public void run(){ //线程要执行的代码 } }创建并启动线程 ImplRunnable ir = new ImplRunnable(); Thread thread = new Thread(ir); thread.start();
举例代码:
public class TestRunable implements Runnable { public void run() { //接口Runnable的实现方法重写 while(true){ System.out.println("Run方法 " ); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { TestRunable runnable = new TestRunable(); Thread thread = new Thread(runnable); thread.start(); for (int i = 0; i < 100; i++){ System.out.println("Main主线程" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }}
运行结果:
Run方法 Main主线程0Main主线程1Run方法 Run方法 Main主线程2Run方法 Main主线程3Main主线程4Run方法 Run方法 Main主线程5Run方法 Main主线程6Run方法 Main主线程7
线程的状态图
ipStV6XL1o6puFaEAUEwCr4KORa+Q2l/vGWYHDbODlc+ua6Y6skjF9BWhBcPsYLhZ/8tl1msJAJJAWH8AAMg9oZKwByYMs4P6mT6Nr0M12UpGmwucskmbxtdR7b9lmB20Loyh/gAoNigyALjnXJ61LowaZgcrpi5rfO1ktEniKfe2aXzthtnBpvnhvuXnrLcfAOQLigwAzniCAceit3Z2SPusq9zbRp42ySCqyQtV078YZgYdi15PMMB6GwNAbqDIAOCAJxhomhuuft5TNvEzGWmUfUrHz2mfdVlePHavzLHe9gCQPRQZABLlCS40zQ1XP7tZNv4TGT5etCkdO6ud7kTBAcAjFBkA0tK5OFXj7y/ywiJJwaF/3mtfGGf9LQFAWlBkALAXeBVsmnNrpzqVT1uIuwFJmZKRk1W+65YXj/0vl1h/ewCQEIoMAGYCr4KWXx9VTl4mj48hWUcz0WaefYBqA0CCUGQAMOBYmNT6bpQ8aSaPjiI5ieLx8arJq9a5p6y/WwBYhSIDoHDcyy8M0/2l7hby8EckT1E+Oamf6nEuzbD+tgEARQZAQTjmPZXj7eS+BSlYNE/t1hcjrL95gKKGIgMgv5pmH6vcZ4nzMMIkpY9OWmYeBl4FWXcEgGKEIgMgLwKvgubnztKHJ8jQDwjzKB801k4N+IM4ORSgoFBkAOSecWpQea+B3DmESColQz8aJnuxVwOgYFBkAOSSdcZdeq+R9B9EJBvl0DHz9BDrngJQFFBkAORG59yk5uE50mtGuIjKeco+i9NCAfILRQbAenmW56set5GbBxDuUvHgJ2cA95oHyBcUGQDrYvHdK+n5jnTWI5xG0f1N7dgt1v0IQJ5QZABkybM0XzF0llw3ITJI+cAJ5wJ2aQDkGIoMgGxYPHdLbhwgV/Yisoni2r7akZusexaArKDIAMiMf2Wxor+FtO9BZJnyW8fdgVnWvQxAJlBkAGTAOTddduN70rYbkXGUV/Z3zoyz7msAcoAiAyBd1skHJRf3EtsuRPZRXPjspNLLuscBcA9FBkBajI+7yPmdSFFFf7eNdb8D4BuKDIDUtL1nyZm/I0WYihsNgeAK6w4IwCsUGQApVPeeJyc/RYo2FVePsu6DALxCkQGQjOHOJdL4CVLk0XadZt0TAbiEIgMgIUP/RfLjxwhCfvxYe+Mk6/4IwB8UGQDxGe9eJT98iCDh6LvOse6VAJxBkQEQh9PvVXz/ETm4GUEi4xh3se6bADxBkQEQKxBcLmv8nBz4AEFiorTs8MzjeqAA6UKRARBLe/EYqfsLgsSNpsXEuocCcANFBkAUy91fyNfVCJIkhl9+Yt1PAfiAIgNgVWBlWXngQ/LluwiSJIq973nmZlj3VgAOoMgAWGW82UZ2vYMgKaO/2MS6twJwAEUGgCiwsqw0biI7tQiSMoradz0vsDMDIAUUGQAivf04MbzNPqd66dR5dezjO0xTlNIJ0wHWH0/6OdVLKaX3zPl+o8qmOsZdFkDyUGQAUEppYGVZ8Xct2fFWlqk/56KUDh3IvoVQdEPiR3Jd3h7x+HaTL+Lj+s6pM2jzgI1SSqntxHo/W26Su22VrP28vkUobn/ktwIAsVBkAFBKqXWoh3zyu/VE7RinlFLfOXWyxfbbwm85tD/ZArHP1ghFhq35d6Qu9CNKx011id+ruWfNWvaYhA+ZRPxPlVH221K1k6NtlSDi9unRpVyyuUfcpNmurPG6Le5WBAABigwASinVnvyGfPzmumI666KU0nGT6U3ycb2NUluT+Ido4ybTm6TpJqU3dWsbabpJKY331DaTl1KxzfB7UVfHtgQtUEpvmjrGKaXUe1Ydela95pHoDx/vI2USsf2U7WS7rULtx3J5UxVP4nvFRneXpvWBE0Rz8B+p3hegqKHIAKCUUuU/3iUfvpFh6lL+N9Z1qc7kpZSOm75Oq03doPCqD8mHb6gvjVN6Uxf9lO24+Ff1pfHwkokiLEO9VnXiR8R8bRWLjIw3QuyHj9N4frZVuM3YjRC9LuIqD9al2EoZvO9qFDW/9y/MZdLRAIoLigwA2jn8gGz99yyz54yLUlvD6iNiNSA+slX84dyTblPUe0a99d/J1vCvsvjaUP2xNbS80DKlg3WJGgyVFEKD8R+Jemvarct2O4QQjDUt52lbpb0uoSKj2xb91nGaymr1m/qu57l7AnAMRQYArb10huhfzzq6O5rssu/UEf3rRB8uDrp1+teJfqtpklI6ZvoyZTtRS6rbxoRWbEcj20xAfOvYiI1MnlHrt5omqe1o5CPRC38Z+mHObiMc7abpvTxH2yr8gcdMX6beRxLJ1bY12Qdbu2VSpfrUwUzeH6C4oMgAoPozh8kHr2WfL1qEMyRsP75GfuyilNIBU+jZzeIP5xcpGlG3jlFKXa2byQevkQ9MsT+cAybdAI1YIMUniW+yRdc6lnRLdOmy2QLip7X9WKBtFVoywdYQ30JcF2HD0skWdXprkWILr0nl91+k18sAihGKDABadeRr8v5r60jo17H2Nd0ApbRL9/5rpLbFRcdMtatPrS5f2+ISfsxCjwgFRKwBU+S7rBYZmX0qSidb1KEHV39xYxauDf0wZ7H6R7poBq9d77Zafce1axFvXRKu8pqIS2a4Ecq//jgvnRJAFlBkAFBN3V/Jxt9kmE3iT3hyk122JItNnlZv3EA2/oZs3GujlNIx064NZNdp8TdSfEpMaFfHptUHxV/36AfDEduJfJffqFvHaP/e+Gu067RL+AAZbgpdP6WUJmw219tKfLtMRWyEhAltMduRDDZCqeHdrD4QQFFAkQFASz/9L/LehnUnVCh8HvngJpOHUkpthzeQ9zas/h4nbERYPqaRDeS9DeoL8Y50eE7rLozFXZ4c7opc0HZ4Q5o/z8JHTTviCroubCrUttprW31caKdLF7nA56EqLWK7pbdSe8UjJpmty4b0expAsUGRAUCVNX/MdZGxyeQRfggzKzKEX0TXhU3hF8bynFan93lWSwrPmLhLI/p9xaol7QbzVmRkua3W1hMJi4zkjax3XVBkACSEIgOAlu/ZlvnhkvAxjmRcrXuFIwXCHvgURxbEUw0S7NiPeTb5wuFjJZTSydO68NkGEQuHTlZI4zhCGoeN4h+yycu22msLH9YRNkL/6dSHY9JazdCejBTrEhXlJ9pU7w1QvFBkANDKQ1+s78RPISZx132cB6ntSMQJntFndK45fXJz5E/m6jmPkecz1kbMIonXmrp1jNIx20D4nEeTbc3pk+mfEZk8yVYqL9tqs2lSXJfVKTmJT/zM/FNldHbta6rdW3LeIQFkA0UGAK0+8e06prBuNk0KMySFn6gx12TENEhxOqU4LXP1hzPB/MmQuNM4xeLD9mN44UQzTk02SumAKfnszZhn1a1j8T5Y6qQ9RzRX20p4xy7d6gZJNoV19X1Trp0wpTatObSrqTB/lo8+CSAPKDIAqMF+IvuLcYnXoaK2o8JVobpN4nW0unVrrlIVfSmqeO0kuKxW1AWjBIkvG6VuGxPeMfbSW+IFrJLK/GpU4WZtRwu1rYSreN3pzvjuZMnWbmtoxm9mW0DbuD/TTwFQPFBkAFDrYHfWlxUXL6c9WBe6EHi3LuLB1RtnxC6cZvt1tshLiTeIP9JrrhQeeT3suvD1sxNeeDv5ZbkzT5qX5c7htgq9Y7wFsrpEerjBRJceTxTjlZ9z3iEBZANFBgANrCwran6fzV3Bou7FJfxw3tSFHx+8aaM08s5bqz+c6dxpTBS6aZn4XpTSyJuQfWjyrvlrqP2Et0NL49kM86F4I5UkreV4W4nvGL5jXKIbpKWV4+Kta5PfcC5u3M99ue2NAHKCIgOAUkorDtdmcadv3V0acQ/xevGHM+a+53frY28sHvFI5G3cI4m3dI+9I/m4qUm8ybvYiHDP9LW3bk9+Y/c0ns08obVI0GCOtlXMPeVpnLu0ize7T/vu7eJ956mrY1uma122Z3OueiCALKHIAKCUUkvvZfLJ7zKK2jFOKbU17xf/C958zkUPPT06YYG6cy5Kqe+cOuIluiFKKaVD+2Nba+4RP8eap4R3iXpKaJlS6junE56NfpfY16b9rG4o3mfLJOIK0nFTXd62VXhzDe0PvV30a5t7KKUuR036XyKl1NaczfoaLp3OYScEkB8UGQCUUup5MUN2vJVJtpt81HV5u/BX9eUJsaGhA2THW6Q+9KsZ/arQD+eBNNo/ED6rMfwuq6k/F3UK55o3ivpUvnPqmOVTuKXLbFPE+2xR65jTbXXiFqWU0glTfbxNEXdzRWzMqLU7cSvB8umm82km2xWg+KDIABBVNtURw9tZR3eP0ntmYnibnOqllNKp8+q4y1BqO5VGg6d6Ke3VpXxH0YTpQJwF1FcmKKWuKzvWs175SNbbSlxl4bXxVja53G4KlXlHrvsggNygyAAQ9U2OkJ1aBEkz1vu9rPssgNShyABYVX3hKNn1DoKkTOXpeta9FYADKDIAVnnmZhR73yNfvosgydPnfcq6twJwAEUGQJSaa1bydTWCJEnVv75n3U8B+IAiAyBKILhcfmIPqfsLgsRNqeVv/sUF1v0UgA8oMgBiuX99pvh2KznwAYKsTeekm3UPBeAGigyAOCz3u8nBzQgSE8OtC6z7JgBPUGQAxKe9eoL88CGChKOxmVn3SgDOoMgAiC8QXKm4dJj8+DGCkB8/Vv1U51/CqRgAmUGRAZBQILhS4ThCGj9Bijwqe71/KcC6PwLwB0UGQDKB4Ep5+3fk5KdI0ab0X1/7l1FhAGQDRQZACv7lgKr9W3Lm70gRpvSCyT3vZ90HAXiFIgMgNf9yoKKrkZzfiRRVVFe+8yy+YN37ADiGIgMgXfp7F4ltF1Ikqeo7G3i5wrrTAfANRQZABsyjfYpLX5O23Yi8Y3h0nXVfA5ADFBkAmXE8f1pypZ6070FkGYXD1DTpZN3LAGQCRQZAxjxLcxWDZ8iVvYjMUt7X5Jx/xrp/AcgHigyALFm8QyVdZnLdhMggil/21472sO5TAHKDIgMge57l+QrnedJZj3Cd8sFTzoXnrHsTgAyhyABYL8uUU9lnITcPINylpPf72ole1j0IQLZQZADkgD+4aJjoUfR9R3rNCC/Rj97wLM+z7jsAcoYiAyBnPCvz1WPXSP9BROKpdLe6l35l3V8A5A9FBkCOORf9lcMXyZ1DiASjefJz57yXdR8BKBYoMgDyoi8wXTXmIEM/IBJJxUirY26Cdb8AKC4oMgDyyL38onryF8X9H4nzMMIq2olrfQFc/QKAARQZAHnnWVkwTPUpHzWT+xakYClxHdf7ut3LuMMZADMoMgAKJPAqaJl1acZaycMfkbxGNfKTeea+/+US6+8coNihyAAoNPfKC8Oz/tKRM+TRUSSHUbpP6ad7nEszrL9hABChyABgpjMwpfX9UuI+QR4fQ7KO4kljlfeafX6c9fcJALFQZACwZ18Yr57uLh09S9wNSJpRPm3RTnVa558GXgVZf4EAEB+KDAAJcS7P1s7cLfe0kuHjSNyoJmw1/v6+JdxqBIADKDIApMgTXGiaG65+drNs/Cfmv+vMUzp2VjvdaXnx2L0yx/qbAYAMoMgAkDpPMNA0N1z9vKds4mcy0lgkKR0/p33WhcICgGsoMgB44gkGmuaHDTODGl+7ctxKnjbJJiVjLRpfe83MQNP8MAoLAHlAkQHAMf/LJceit3Z2SPu8q9zbRkabOIpq8kLVs18Ms4OORa8nGGC9LQEg91BkAMiKe2XOsehtmh8xzA5W+29pfB2qyVYy2swwpZ6fNL4O7fNuw+ygZe6JY9HrXJ5lvZ0AoBBQZAAUBf/LZcei17HotQcmDLODQiqmr2imOjRTHSUTZ8hYcxZRjJ8SWtBMdYSbtS6MCe+F/RMARQ5FBgBkjERg/VkAQLowQABAxlBkAEA6MEAAQMZQZABAOjBAAEDGUGQAQDowQABAxlBkAEA6MEAAQMZQZABAOjBAAEDGUGQAQDowQABAxlBkAEA6MEAAQMZQZABAOjBAAEDGUGQAQDowQABAxlBkAEA6MEAAQMZQZABAOjBAAEBaVCoVSUqlUrH+jAAgLSgyACAtVqs1eZFhtVpZf0YAkBYUGQCQriQ7M7AbAwDWQpEBAOlKsjMDuzEAYC0UGQCQgbg7M7AbAwDiQpEBABmIuzMDuzEAIC4UGQCQmZidGdiNAQCJoMgAgMzE7MzAbgwASARFBgBkLLwzA7sxACAJFBkAkLHwzgzsxgCAJFBkAEA2VCoVdmMAQHIoMgAgG1arFbsxACA5FBkAsModnHMseh2LXuvCmGF20DA7WDM7oJnqyCj6mT7htU3zI0JrzpVZ1msGAAygyAAoUuFKourZLxpfh2LsFBltznc0vo7K6euG2UHL3BPHojfwKsh6MwBAHqHIACgK7pU568KoYXZQ42svGW8ho00SiWLspMbXXjM70DQ/3Lf8nPV2AoBcQpEBIE/+l0vWhdGamX6Nr10xeoI8beQlGl+73t/bND/sCQZYb0UAWBcUGQCy4gh4a2b6yyfbyEijDKLy2PX+XvvCBA6sAPAIRQYA9zzBBfOvDyu8DsVIMxk+LtdoJi8ZZ53ulTnW2xsA0oUiA4BXQm2h8Vwk7oaiimr8X6g2ALiAIgOAM/6XS+bZBxpPG3lyrMijGvvZOHPPE1xg/Z0AQHwoMgC44VyaqZ7qUjw+Th4dRSJTNXnVsTDJ+vsBgFgoMgA4YJl1lT+1kYc/IklSNnzWphpf/3KJ9dcFACIUGQDSFXgVND4fUj5qJvctSJopcR03TPWh1ACQAhQZAFIUeBU0PrurdDUR52Eki5Q8bDBM3fYHUWoAsIQiA0BaAq+Cxum7ygeNZOgHZJ0puX/M4EOpAcAMigwACbHOupX3GsidQ0gOUzL0o3n6HuvvFqAYocgAkARnwF/x2Eb6DiJ5SvnDs51zmIECUFAoMgAYC7wMGsZvKm4fJLe+QfKd6pEr/uAi6+8coFigyABgqfOFp+zOcdK9HylYSm4dsj5/zPqbBygKKDIAmKkd7VF07ic36pDCR+++GniJm64B5BeKDAAG/CuLFYNWctWIMEx5f7Nz/hnrvgAgZygyAArN4X+qvG4mHXsQ5im5Wt806WTdIwBkC0UGQEFZvQ8Vl74mbbsR6cQ43MO6XwDIE4oMgMKxjA4Q2y5Egql54GDdOwBkCEUGQIEY7l8h53ciko2273zg5QrrbgIgKygyAArBcM9BWv6OSDwV1xtY9xQAWUGRAZB35kc3yYlPES6i77Ox7i8A8oEiAyC/7OMPyPHtCEcxOq+z7jUAMoEiAyCPOn0jimOfkCPbEL5iHbnLuu8AyAGKDIB88S8tKBsM5NAWhLsoDm9z/4rrdAGsF4oMgHzRdhwn5k0Ip9Gcq2fdgwC4hyIDIC/sw0Nk30aE65jvXGPdjwD4hiIDIPf8iwvKgx+TvX9GuI5i3wfu2WnWvQmAYygyAHJP33GCfPkuIoNUWg+w7k0AHEORAZBjgZVlxZf/TXa9g8gj7pkp1n0KgFcoMgByzNjVSnZqEdlE39bIuk8B8ApFBkAuBVaWlV+9TwxvF2HUVyYo7dWteVx3j1JKbafYf8Lsotj5J8+LGdY9C4BLKDIAcsly+wrZ8RZnqT/nopTSW7o1T+mGhNWaMNWnbGe7ySduBNuJrBuRaAztLQw6EwD/UGQA5JL29Ldk++/4S3OP8PltzVGPi/XB0H61Y5zSHl2SFuqESmXcVBf7VLiRmEdcjhr2K55eNId2suhNANxDkQGQSyWGd8i2NznMNpOXUjpuMr5Jtr2pbh+nd+vFP1BK79aTbfXifcPu1sdtQXeXUkptjQmfonfrifGsi97UGc+6Qpsr7vLSjH9hrtCdCYB/KDIAcqZv3E22vsFHGm6mXh+vVXdpnFJKB+vI1jfIHqtQHNga1rQmPCUstvUNsvUNtfDCZG7qmG+ETGIdTGOLAUA0FBkAOWO8/BPZ/Lqcor44Rimld+qEv+ruUEq7dbGLbTVNRj5eZ6OU0jHTV69HvIq6Lm4lm18nX51xRT/LS/RnLYy6FQDHUGQA5Ez1yYNk02/lFHXbGKWUDpgiHjTZKLUdjV0m/Ij4kohX6QYopdTVtkV4bejP7Ncuo1R8i9MyADKGIgMgZyoPfUHef42jCD//WRowhVtwTY7FPGk7EvsurtbN4tsNmMj7r5HaFhelrtbNzDdCmlHt3rKOjQVQpFBkAKRFq9W63e7ky5Tv2UY2/oajqFvHKKW0f+/qg7tOuyiltEu3cUN4AVd/l3iMY9eG2EbE5cVGdP2Zb9nId5dwlJ9ok6+H2+3WalMsA1BsUGQApIUQQghJXmqUfvpf5L0NHEV9IVRkhB/8PFRkRCywWmR8nrTBw12UUteFTQnfKNQsp0n0vQvlhdBDctfjAOQA/yQA0kIiJCo1lDV/ZP5DmFFSFhnCnom0igzhhZFNxbwL5xUGiVdkRJYXKDIA1sI/CYC0kDXWlhqqL/TM9+pnc7gkDvHIiFBk2FpPJzxcImavjdLwQZZwdP1dptZQhbEx0Wv5SMlHv4/cQGvLCxQZAGuJ/yTW/lMBgHRElhoV33zG/PzEbE78HDCR901ilVDbItYTta+R9zebJiml1NYa+eCaxHsJpdTVujlxERN+X/YbIc2U/XOj8KkTlRcAEAlFBkDOCKWG9ng985mW2UYoMrp1cR4cMx0NlRG7175wS7iqCBEXW526EjUD9rdkt9BazHtJPZr6v6G8AEgfqguAnCktLbVYLLWXzjC/ZlRmES+NRemdbqGecEVeVkt4dvKMOvkVtMRnIy/SVWejlE6e0UVfyyvx8hyk+tRBi8VSWlrKuq8BAEDREMoL4Zfa8egu86tfZxTx4t9eq3qrcJnOmzrx2uE3daFnXZc+DF1QfNy0J+02I1pIgLPLiltuOoTPjVIDIEuJhwPITHl5ubBJa2pqAoEA648DObD230tkeSEIrCwrPvkD81t5pR3hnmfCTdHqxSIjdD8zV3v96i3TxFuaCUtuM3mpq31bomZ1d8dNjWddlLrat0XcXy1iGbG1mzr2WyCDuJ/7Ir/rRKVGvvshyFXMwbiqqirWnyh7KDLyTqPRhLdqWVlZZ2cn608E65W8vAirsHzB/L7kaUbtGKer91vfb6NUvJl7cw+l4yZHD6Wh+7NH3ca9xuSLum97KPttkRvCd04deovYhcXWkt44XmIp27s17te9ttTITW+DYhL3XB+j0cj6c2UPRUbeVVZWxmxb7NLgXcryQmC8YSc73uIg9edclNKhA6FHDtgopfSWTvzrdpMv4q/CwnTCVB96yndOveMtsuMt3VDk2odfLkZ9eYJGvUtka7ELSzl627EkX3pkqbGOLgZFJ8mpxHa7nfWnyx6KjLyL22+wS4NrKcsLgefFjGLnn4jhbWlnh2mK0qnz6gPnxerhlPCHXp3hbWJ4W31lgtIJ04HQ8uHFDrxNDGZxj8U98+pTU+fV8d5Idy/JphLfi4v0eUZSfvVCqZFyMQCaxkRoj8fD+jNmD0VG3lVXVyfayNilIXv6tkayU8tRdM7QR5/+Sb1Tq77moZTarAmWCYlZIFnLzoNRjx/8yUUppR7TQfbrnk4qT+4rVN+BYlFbW0sSKykpYf0B1yXhirH+YPJhMBiSdKDy8nK/38/6M0K+eOZmyK53+IruPqX3vyO73lHf8FBKXTcMOWt2bWvf/+yilE7/rGa91mmmc+wR2x4FstTZ2alUKuP+RlRUVLD+dOuCIiPvkhQZ1dXVXO8Hg3RUWg+QL99FZBDVkc9Y9yaQLb/fX1JSsvZnQq/Xs/5o64IiI+8sFsvazVtSUtLX18f6o0EhOJ95FPs+IHv/jPAex+gD1r0JZMtoNMb9LTabzaw/2rqgyMi7uEUGIcRqtbL+aFAgtT1tZN9GhOtUO5pZ9yOQrc7OToVCEfeXgvf/jqLIyDu73R7ee1FWVhbewmVlZTjrs3iUnzES8yaE05Q2/CMQXGbdiUCe/H5/5BVWhP3cFRUVwl95/5lAkZF3DoeDhE6/6OvriyxXub7ECmTE6fcqDm8jh7YgPMYxgfM9IV9irqUU3sldW1tbVlbG9rOtH4qMvHO73ZH7u/R6fWTFihM/i4f5fic5sg3hLjW9HF8KCSQu5lSMmNM8ZfADgSKj0DweT+RUJd7PHIaM1PRfIMe3Ixyl8kqy63sCrEfMqRjl5eW8HxxZC0UGAzGlK+/n9UBGqjpPkhOfIlyk/NJ3geAK6y4D8rT2VAy32836Q+UeigwGAoGASqUKb2rer7UCGQkEVzRXj5CWvyMST6nd5Am8YN1fQLYSnYohMygy2LBarcXQvSAu/3Kg/Nphcn4nItmUXqp3z+NSvJAvyU/FkBMUGcxElrGYzlpsAi9XKnqaiW0XIsGorv/gWZxj3UdAtorhVIwwFBnMYDoraO/aSNtuRFKpuH3Sv7LIumuAbBXJqRhhKDJYwnRWqHl8lXTsQSQSrfNC4CXO9IQ8KpJTMcJQZLCE6axAKbU/d5f88g25akQYRnG93jwxwLovgMwVz6kYYSgyGMN0VqCUepbmNXdbyI06hEnKbh91Ljxn3QtA5orqVIwwFBmMYTorhNWO3yLd+5ECR/ukPfAyyPrLB5krtlMxwlBksIfprBDWOTdZ7mwht75BChDlwBH7zAjr7xyKQrGdihGGIkMSMJ0VIhl9d0ruWEjfQSRPUQx8XzPRjR0YUBhFeCpGGIoMScB0VojhWVnQjl4hdw4hOU+F2+5cxIW2oLXpjXUAACAASURBVECK81SMMBQZUoHprLCWY25CM2wjQz8gOYnq8Vnrr8Osv1UoIkV7KkYYigypwHRWSMQx79GM2InzMJJ1VG6UF8BA0Z6KEYYiQ0IwnRWScMx7NE/t5L4FySiq4XPWFzi7Exgo5lMxwlBkSAims0JKzqUZ7eQNhauBPPwRSZ4qz1XHAg47AhtFfipGGIoMacF0VkiH/+WSeeZB2dNz5NFRJCZK9ynDs35PcIH1twTFC6dihKHIkJzIY3gqlao4i19Ik31+vMp3TeFuJE+OIZXey00v3Ky/EwCcirEKRYbkYDorZCrwKtg0567yXVcMNxF3Q7Gl0nvF8uKx/+US6+8BgFKcihENRYYURU5nVSqVmM4KaQq8CjbNDVdNXVeMNJPh4/JOpQ+1BUgOTsWIgSJDijCdFdavc3HKMHOnfLKNjDTKJiqPvWam374wwXrrAsSBUzHWQpEhUZE73BQKBaazQtYCr4LWhVG9v7fc20aeNnIX1aS9+nlP0/wwdlqAxOFUjLVQZEhUzHTWyspK1p8IZKJzadoy90Q/c1vjayejTRJMubet2t9j/PW+Y9HLemsBpAunYsSFIkO6MJ0VCqBv2e9Y9BpmB/UzfRpfh3LiLBltLlhKxs9ofB3a592G2UF7YKJzaZr19gDIBk7FSARFhqRhOisw0bk07Vj0WuafGGYHxfpjqkMz1VHuu0jGmjOKytsqvLbaf0tozTzncix6sZcCZAOnYiSBIkPSMJ0VpA/jBhQ5nIqRBIoMqcN0VpA4jBtQzHAqRnIoMqTO7/djOitIGcYNKFo4FSMlFBkcwHRWkDKMG1CccCpGOlBk8AHTWUGyMG5AccKpGOlAkcEHu92O3gzShHEDihBOxUgTigxuYDorSBPGDSg2OBUjfSgyuOF0OjGdFSQI4wYUFZyKkREUGTzBdFaQIIwbRcIdnBOuomZdGBOuq1YzOyBcaS396Gf6hNc2zY8IrTlXZlmvWWZwKkZGUGTwBNNZQYIwbshPuJKoevaLxtehGDtVgGvMa3wdldPXDbODlrknjkVv4FWQ9WaIA6diZApFBmcwnRWkBuMG79wrc9aFUcPsoMbXXjLewvwOeeEoxk5qfO01swNN88N9y89ZbyecipENFBn8wXRWkBSMG9zxv1yyLozWzPRrfO2K0RPkaSMv0fja9f7epvlhT7DQv+44FSM7KDL4g+msICkYN3jhCHhrZvrLJ9vISKMMovLY9f5e+8JEYQ6s4FSM7KDI4BKms4J0YNyQMk9wwfzrwwqvQzHSTIaPyzWayUvGWad7ZS5PmxGnYmQNRQaXMJ0VpAPjhgQJtYXGc5G4G4oqqvF/5bzawKkY64Eig1fh6axKpRI77oAhjBvS4X+5ZJ59oPG0kSfHijyqsZ+NM/c8wYX1blKcirE+KDJ4JXR9g8GQpKbGvHYoAIwbUuBcmqme6lI8Pk4eHUUiUzV51bEwmfWGxakY64QiQyYwrx1YwbjBlmXWVf7URh7+iCRJ2fBZ88x9/8uljLYtTsVYPxQZXMK8dpAOjBtMBF4Fjc+HlI+ayX0LkmZKXMcNU31plho4FSMnUGTwAfPaQbIwbhRY4FXQ+Oyu0tVEnIeRLFLysMEwddsfTFZq4FSMXEGRIWmY1w7Sh3GjYAKvgsbpu8oHjWToB2SdKbl/zOBLWGrgVIxcQZEhOZjXDnzBuFEY1lm38l4DuXMIyWFKhn40T9+L2dQ4fsoHUGRIBea1s/4GIEsYN/LNGfBXPLaRvoNInlL+8GznnDgDBadi5BaKDMbEee0TbeTxsSJPrua1Q4Fh3MifwMugYfym4vZBcusbJN+pHrniDy76/f7wsRKcirF+KDKYwbz2PM1rhwLDuJEnnS88ZXeOk+79SMFScuuQ9fljSmltbS3BqRi5gCKDAcxrz9+8dig8jBv5UDvao+jcT27UIYWP3n018DKIfRg5gSKjcDCvPd/z2oEJjBu55V9ZrBi0kqtGhGHK+5ud889Y9wU5QJFRCJjXXoB57cAKxo0ccvifKq+bSccehHlKrtY3TTpZ9wjuocjIr8CroHF6UPngOBn6HllnSu4fNfh6UWpIDcaNXLF6HyoufU3adiPSiXG4h3W/4BuKjDzCvPaCzWsHhjBu5IRldIDYdiESTM0DB+vewTEUGXnhDPgrHv+L9H2L5CnlD63hee3AFsaN9TPcv0LO70QkG23f+cDLFdbdhEsoMnIM89oLP6+d9Xde7DBurJPhnoO0/B2ReCquN7DuKVxCkZFLmNfOcF47sIJxYz3Mj26SE58iXETfZ2PdX/iDIiNnMK+d+bx21l2gSGHcyJp9/AE5vh3hKEbndda9hjMoMnLAv7JYMXiGXNmLMEx5XxPmtTOBcSM7nb4RxbFPyJFtCF+xjtxl3Xd4giJjvTCvXTrBvHYmMG5kwb+0oGwwkENbEO6iOLzN/Sv+P5MuFBnrgnntEgzmtRcYxo0saDuOE/MmhNNoztWz7kHcQJGRPcvoAPnX54gEU3Pfwbp3FBGMG5myDw+RfRsRrmO+c411P+IDiowsGe5fIed2IpIN5rUXDMaNjPgXF5QHPyZ7/4xwHcW+D9yz06x7EwdQZGQD89q5COa1FwbGjYzoO06QL99FZJBK6wHWvYkDKDIyZnZ1k+YdCBfBvPYCwLiRvsDKsuLL/ya73kHkEffMFOs+JXUoMjJjH39AGrYjHAXz2vMN40b6jF2tZKcWkU30bY2s+5TUkURYfzAp6vSNKI5uJ5aPEL6Cee15hXEjTYGVZeVX7xPD2/xkh2mKUjphOhDnWfWVCUqp7VT6rZltlFLaq2O/XjmLYuefPC9m2PYriUORkS7Ma+c3mNeeVxg30mS5fYXseIurbDf5hM8+YaqPfVZ9eUJcsaEDGbZ2S8d+1XIWQ3sLk+7ECxQZ6dJ2HCfffIBwGsxrzx+MG2nSnv6WbP8dV6kRygKXo2bts2rHOKWU+s6pM2zN1sx8vXIZzaGdLHuV5KHISIt9eIjs+wvCdcx3rrLuR/KEcSNNJYZ3yLY3uco2k5dSSl3t29Y+q24fp5RS71l1hq3ZGt8kxrMuOm4yio/EZWtkvvrpxr8wV5AexCUUGan5FxeUB7eRvdUI11Hsex/z2vMB40Y6+sbdZOsbvOVDsci49CFpuEm9VnXEs+pLQpERenDNAuKDSdka1ryp8JK1TUk41sEUq1nMUGSkpm8/QXa/i8gglWcwrz33MG6kw3j5J7L5dS6ivji2jhUdM32VqOWtpklKKbUdS/oBjnVTSunkGTXr7ZB+9Gctuegj8oQiI4XAyrJi93+Tz99B5BHMa885jBvpqD55kGz6LW/ZIpYFR+M8q24bo5TSyRZ1LlpbzdHuDJtln4pvcVpGQigyUjB2tZLPtIhsom/FvPYcw7iRjspDX5D3X+Mtm8Wy4EicZ9WtoSIjq9bUrWPxX3ukK8Nm2Ue1ewu7niV1KDKSCawsK7/cSP72n4hsovjsHcxrzy2MG+ko37ONbPwNb9kUKgs2kCNdlI6Zdm0IPxsqMk6rN26IXN7VuilqgaRs/V3xn4hqVupRfqLNYVeRGRQZyVh6r5C/viXL6IYopZQOHUhr+X3nXKm2levyduYrlWYwrz23MG6ko/TT/yLvbeAtm0yerNbWc1odr0Fdv/D0mOnz0IOHu2KXX/sID8lRN5EhFBnJaE+ZSU2VfGI6u7ZWsDWnWIDScVOz8Pi4ybS22Y9DF9iJ+6wUo/nus3z2mqKDcSMdypo/Mv8hXEeREVEWhKK+MJZpKSAUGa4Lm1Yf5LOkWBt2PUvqUGQkU/K3/4989B88ZF+c+4B5rabBOCvlav8oYTt7rWIxsfc/yEf/oRNePrgv1L74eHQ+Cs2kT9ys9IJ57TmEcSMdqi/0zPfqZ5YjqwcybEfiHLkIHw0JHx+Jm8jFxCIjcnnxDAyeDo6sTclHvy9wd+IIioyE+sbcZMu/c5I6sQj46t/Jln/X3Vn9c2TUF8cppa6LWxO289UZV2w7lN6pi2k/OlvFIiNJs9KLdbCbSaeSJYwb6aj45jPm5ydmdHompZROdtnWfeJnqMgYM9W+phuglFJX62bhXVytm3k8zXNtyv65seAdihsoMhIyXv6J6H/LSUw2SikdM335W6L/re7O6p8jI0w5c7VtWX3wyxYX7dZF/TWmHUrvmGLaj444LS2qWclHbz3MpFPJEsaNdGiP1zOfaZlmxLmpdMy0O5MprLtbXLRbt2YxobAQFhP/vKpbF3/C6hbTJKUDJuabIs1o6v9WsI7EHRQZCVWf+JZ88BonCRUBX7xGPnhtzb/klMQXki9CRUZkOwOmUPvJuFo3s94IGaTCjNMycgbjRjpqL51hfs2ozBN1+aw0L9IVc62t1R2ioT+7Lm5NdemtraZJ8SVcpPrUwTx1GxlAkZFQ5Xe1ZGMlJzGKRcauSrKxUte/+mey67SLUkq7dBsrhf2WrlZ95INR7YiPR+s3xrQfOlgrvFwfmuTGfCNkENUXmwvQhYoExo10OB7dZX7166wvKx7n4t9rLyuetAXXpQ/J1jeE07yEP4uJfxHxOlvqliUUy00Hm17FAxQZCZXv+Yj8ZQMn2btmT8OYadcG8pcNq/XEXzaEioxNkQ9GtSM+Lr5WnG/WvzfUfqhNS6jIYL/iWUa5/Y+F6EPFAeNGOgIry4pP/sD8Vl4ZJuKWZmueTe8GafWhoemmbtuburuUxtxurfFm+NnVB42haW5361lvgbTifu4rdH/iB4qMhEp3/In8+d84SagI+Oe/kT//m65v9c/kn6fEeuLP/6a+MEYpdV34IPLBqHbExyPbobRvb0z7CV/OVQreoWQL40aaKixfML8veYZJdnP2tG713txDKaVDPTZK6dB+4fI80TeOrzEl/IEeN9Ux3wKpU7Z3awE6D79QZCSk/Pht5j+EBSgy1BfGqOeUen1FhvrC2OqznKTgHUq2MG6kyXjDTna8xVW2i0XGiTjPqi9PUEqp75w6cQvCMrYTb5EdB8J7W12Xt7Ner1xGbzvGqEPxAUVGQqraTcz36md4uCT6MEdmunSpD5ek5mrlY6OVfPi7LLYRxIVxI02eFzOKnX8ihrelngPnXZRS2qsz7DBNUUqp7VScxdRXJiildOq8OvqFris7QsvsME1FLaC7F7k9enXM1zQX6fOMFL4vcQRFRkIV33zG/PzEdZz4GToTMx8nfop/5exkz8iU7cS89pzBuJE+fVsj2anlIQcj/l/hcU1nuJ7TP6l3aom1l1KP6eCaxq29mbUj4VSe3Jfhpik6JBHWH4w97fF65jMtM5zCGsX2Y+Ss1C7dB6+FiozNkQ9GtZNiCmtopusH4uV6+Jq2GhlN/acF6URFAeNG+jxzM2TXO7xEfcNDKbWdy+7lBtM0dd0wpF7y3O24m8r0PfstkDKdY48K3IW4gyIjodpLLcyvGZV21l6Mi9qORl5fq1sXeTGuiAej2kn7Ylyr1+Fhv+7ZBPPacwjjRkYqrQfIl+8iMojqCC63kxqKjIQcj+4yv/p12ll7WXFqa4i8Uni3LvKy4uEHG7qFpzK+rHj0kkJ0dyj1nlGz3xqpg3ntOYRxIyPOZx7Fvg/I3j8jvMcx+oB1b+IAioyEAivLiu1vMb+VVyY3SIu+sVkGQnc+y+AGaeJ90ejgvqhHVv8q6WBeew5h3MhUbU8b2bcR4TrVjmbW/YgPKDKSqThcy/y+5OmlXiwCTFWkpkq44k3UPdxrqkhNlbpjnFLq6vg4YTtxb/V+tz6qfWHiO+3RiX8IvZHprCt545JJ2ddbCtF7igbGjSyUnzES8yaE05Q2/CMQXGbdifiAIiMZ4w07+etbPORAnBM/T8QuJsxZd13enrCdfedclFI6Ydr3FvnrW8KVc+jQgVD7Ey5f+JGIBeiEaV8ajUsm+n9hXnsuYdzIgtPvVRzeRg5tQXiMYwLne6YLRUYynhczis/eIX/7T8nHLBQBpv3/Sf72n8Jvv+1U7GLCvHbXlb+Kj+w/74pZbP95V0Q7qzl1K7xNVl/+t/8kf/urMI2eTp03JXhTCabPM1zgjiRvGDeyY77fSY5sQ7hLTa+ddd/hCYqMFPStjeQzreRz0EYpnfpJHfngwZ/iHPuIx3Xt0xTth5qKu6TOmUlTrFN5AvPacwzjRtZq+i+Q49sRjlJ5BftBM4MiIwXPixny+TtIqnwnHq+Z/lnN/sMkC+a15xzGjfWo6jxJTnyKcJHyS98FgiusuwxnUGSkVnnmANn9LiKDqCyY1557GDfS19nZ6XA4amtrDQZDRUWFXq8PBFc0V4+Qlr8jEk+p3eQJvGDdg/iDIiM15zOPYt/7ZG81wnswrz0fMG6s5ff7HQ6H0Wg0GAyVlZUajUahUKwdZq1WK6XUvxwov3aYnN+JSDall+rd837W3YpLKDLSUtvTSvb9BeE6mNeeJxg34iovL084vBJCCKmsrAwvHHi5UtHTTGy7EAlGdf0Hz+Icw77ENRQZ6Spv2Uu++QDhNKXH/o557XmCcSMup9MZd++FQKFQ9PX1xbxEe9dG2nYjkkrF7ZP+lUUmXUgeUGSkC/PauQ7mteeWSqVK/t90lUrF+jOyV1tbm2j76PX6uC+peXyVdOxBJBKt80LgJc70XBcUGRkw3+8klo8Q7lJza+21ymBdrFZr8iJDONugyCUqMkpKSjweT6JX2Z+7S375hlw1IgyjuF5vnhgoZG+RKxQZmanpu0AatiMcBfPa8yTJzgzsxnA6nUnOyTAajclf7lma19xtITfqECYpu33UufC8MF1F9lBkZKzqlxOkeQfCRcovHoyc1+52ux0RDBGcTmeSLx3WSrIzo8h3Y9TW1iY5G6OsrCwQCKTVzvgt0r0fKXC0T9oDL4P57iTFA0VGxjCvnZcI89q1Wm3CXh6iUCj8fsxPy1jcnRnFvBsj7g4MpVIZuaEyqsA65ybLnS3k1jdIAaIcOGKfGclf9yhOKDKy4V8OlF89TM7tRCSb0ovivPZAIKDRaJIXGYnOwoPk4u7MKNrdGHF3YGi1Wr/fH55potFosmjZ6LtTcsdC+g4ieYpi4PuaiW7swMgHFBlZCrxcqbjZTP71OSLBqK5971lcvTaf3+8vLS1NUmTgWEnWYnZmFOdujEQ7MOz21TtpCSeBrp22mibPyoJ29Aq5cwjJeSrcducidmTmC4qMdcG8dgkm7rx2t9tdUlKSqLdXVlZG/h5A+mJ2ZhThbowkOzBiljSbzet8L8fchGbYRoZ+QHIS1eOz1l9xT+b8QpGxXpjXLqkkmdfucDiSnI5HCCkrKzObzWmelAdh4Z0ZxbYbI50dGPngmPdoRuzEeRjJOio3yosCQZGRA/Zn7pIbB8iVvQjDKK7tM4+nmNduNpuTFBmCkpISvV7vdrsL0nfkILwzo6h2Y6S/AyNPHPMezVM7uW9BMopq+Jz1Bc7uLBwUGbmBee28zGuvqamJ+X9non8COIasppVKVTy7MVjtwIj/YZZmtJM3FK4G8vBHJHmqPFcdCwmvgQZ5giIjlzCvnYt57ZWVleGdFoFAoLOzs6qqKtE/BBxDSYfVai2S3RjMd2DE5X+5ZJ55UPb0HHl0FImJ0n3K8KzfE1xg+AUVMxQZOYZ57dKf1x4IBITTCCJnrno8npqamkQ7NorzGIo7OOdY9DoWvdaFMcPsoGF2sGZ2QDPVkVH0M33Ca5vmR4TWnCuzrNcsG5LagZGIfX68yndN4W4kT44hld7LTS/crL+TYociIy9C89q/RfIUxcCh9cxr93g8paWla4uGQCBgsViSXDBbrsdQwpVE1bNfNL4OxdgpMtqc72h8HZXT1w2zg5a5J45Fb+CVdK9SIM0dGIkEXgWb5txVvuuK4Sbibii2VHqvWF489r9cYv09AKUoMvIH89olPq89yR2qKKXyPobiXpmzLowaZgc1vvaS8RYy2iSRKMZOanztNbMDTfPDfcuSuHkEFzswEgm8CjbNDVdNXVeMNJPh4/JOpQ+1hRShyMgvx9yEZvhfZOh7JCdRPbYWcuKZbI6h+F8uWRdGa2b6Nb52xegJ8rSRl2h87Xp/b9P8sCfIoKTjawdGcp2LU4aZO+WTbWSkUTZReew1M/32hQnWWxcSQpFRCJjXzvW8dn6PoTgC3pqZftn8rqg8dr2/174wUYADK1zvwEgu8CpoXRjV+3vLvW3Mi8gsopq0Vz/vaZofxk4LLqDIKBzMa+d9XjsXx1A8wQXzrw8rvA557yHXTF4yzjrdK3P52IZy2oGRUufStGXuiX7mtsbXzvx4WdyUe9uq/T3GX+87Fr2stxZkDEVGoWFeO+/z2qV5DEWoLTSei8xPuytwVOP/ymG1IeMdGGnqW/Y7Fr2G2UH9TJ/G16GcOFuAU4DDKRk/o/F1aJ93G2YH7YGJzqVp1tsD1gtFBhuY1877vHaJHEPxv1wyzz7QeNqYTxdkHtXYz8aZe+vpNkW1AyMjnUvTjkWvZf6JMBtZP9MnzE8u910kY80ZReVtFV5b7b8ltGaecwlzm1mvJeQFigzG7PPjVd5riieN5PExpHKSv3ntrI6hOJdmqqe6FI+PMy8KpZaqyauOhcnMNmbR78AAyBMUGZKAee28zz0r5DEUy6yr/KmN+cEsiads+Kx55n46nQo7MADyB0WGtGBeO9fyegwl8CpofD6kfNTM/FRcjlLiOm6Y6kvUx7ADAyDfUGRIF+a18yu3x1ACr4LGZ3eVribmE4k5TcnDBsPUbX8wqtTADgyAAkCRwQHMa+fU+o+hBF4FjdN3lQ8aydAPyDpTcv+YwXfbH1zCDgyAgkGRwR/Ma+dL1sdQrLNu5b0G5hdxl1kUm9/4X/7H/8AODIDCQJHBPcxr50XyYyhVVVXhJZ0Bf8VjG+k7iOQ4/1dsqYcdGAB5hSJDnjCvXbISHUOxWCyU0sDLoGH8puL2wSxufI+kzq53Irf5//7G/zs8ndlkVwDICIoMAAZijqEolcpAIND5wlN25zjp3o/kMf/3/0EIIf/b/0pM75Hu/SW3DlmfP2bdHQBkC0UGAEvCMZSampra0R5F535yow7Jb87vJG9qSOsXkQ/q3VcDL/N+0zWAIoQiA4Ax/8pixaCVXDUiDFPe3+ycf8a6LwDIDYoMAJYc/qfK62bSsQdhnpKr9U2TTtY9AkBWUGQAMGP1PlRc+pq07UakE+NwD+t+ASAfKDIA2LCMDhDbLkSCqXngYN07AGQCRQYAA4b7V8j5nYhko+07H3i5wrqbAHAPRQZAoRnuOUjL3xGJp+J6A+ueAsA9FBkABWV+dJOc+BThIvo+G+v+AsA3FBkAhWMff0COb0c4itF5nXWvAeAYigyAAun0jSiOfUKObEP4inXkLuu+A8ArFBkAheBfWlA2GMihLQh3URze5v4V1+kCyAaKDIBC0HYcJ+ZNCKfRnKtn3YMAuIQiAyDv7MNDZN9GhOuY71xj3Y8A+IMiAyC//IsLyoMfk71/RriOYt8H7tlp1r0JgDMoMgDyS99xgnz5LiKDVFoPsO5NAJxBkQGQR4GVZcWX/012vYPII+6ZKdZ9CoAnKDIA8sjY1Up2ahHZRN/WyLpPAfCEJML6gwFwL7CyrPzqfWJ4G5FNFDv/5Hkxw7pnAXADRQZAvlhuXyE73uIluiFKKbWdSH/hW7rki524RSl1Xd7OfNVyG0N7C9t+BcARFBkA+aI9/S3Z/jt+sl+8UYfvnHr778j2GpMv5SqOm+oStbb6cltzsvdVO8aTtiO5aA7tzF+fAZAZFBkA+VJieIdse5OjqNvHhU/uat+Wo6Zu6oRHGm+m3Fy2RvZbIM34F+by2XEA5ANFBkBe9I27ydY3OMseq4tSSqmtISftjJv2sF6j/MQ6mLpmAgCKIgMgT4yXfyKbXy/K1NkopXTM9NXr5Fg3pZTeqWP9kXIc/VkL084FwA0UGQB5UX3yINn0W1nHZKOU0m5dwgdNttDWsB1l/mlzmYpvcVoGQFpQZADkReWhL8j7r/GWzaZJajvymrp1LJN1HTPVrr6c0i7d+6+R98ONiH9NltoWF6Wu1s2sVz/dqHZvyUefAZAfFBkAeVG+ZxvZ+Bsessk0uebT9++NWUzXTymlrtZN6Ta767R4eseRvbY1zSe05n2lGeUn2tz0EgC5Q5EBkBeln/4XeW8DZ/lcqAy6dLFPrRYKtsPpNLXJ5KGUUtq/N/4Ch7to/DfiJiz6FAB/UGQA5IWy5o/MfwgzToIiQ31hjFJKPafV6bUj7PYQuC5sirMMigyA4oAiAyAvVF/ome/Vzzi7QkXGxg2JHlS3jsUuEB116xilY6bWUBkRd8kjSZ+VfEo++j2rfgXAFxQZAHlR8c1nzM9PzDi1LWI9sfqgcC4ntR0JPyLOGYl4JCJC9TBgWi0j4r5R8mcln7J/bmTQpQA4hCIDIC+0x+uZz7TMOLuFImN1Vqq6bYxS6mrbEm+x2MeFhemAiWz6LTnaTaObikryZyUfTf3fWPQpAP6gyADIi9pLZ5hfMyrjfHVGLDJW/0xdF7dGLLM1ZiqK7ViCpo6FyogsnpV8qk8dLGRfAuAXigyAvHA8usv86tcZR7wc+E3d1jfI1roEU0+Fi4WHnh2si99Ug3DhbaGpDJ+VfCw3HXnvQACygCIDIC8CK8uKT/7A/FZemcV4ViwyIm5ylui+Zbq7lCa5lVpjqIzI4lnJx/089Q1qAYCiyADInwrLF8zvS57hfd7HTc3nXDR8t/d1pLmHUkppjy6LZ6Wdsr1bmXUpAN6gyADIF+MNO9nxluSz3RT+b/nQAbLjLVJ/Tjwb4/L27Js9cYtSSuktXRbPSjt62zEGnQmATygyAPLF82JGsfNPxPC21HOql1JKp86rIx7U3Vu7Qr068dkdpqnoZ6Jfu9rm6kveVl+ZEJZ1XTlvi22Qp/R5RvLVYwBkB0UGQB7p2xrJTi3HOfiTK8UqekwHV/0jVwAAIABJREFU473QGioyoh9XX/OsvtR5kP0KZpjKk/vy11sA5IckwvqDAciBZ26G7HqnGHPuNqXUdcOw9in1DQ+llN7/jv2HzDydY48YdykArqDIyCV3cM6x6HUseq0LY4bZQcPsYM3sgGaqI6PoZ/qE1zbNjwitOVdmWa8ZZK/SEOB8+S4ig6iOfMa6N0FqGIclBUVGlsI9uOrZLxpfh2LsFBltznc0vo7K6euG2UHL3BPHojfwKsh6M0Bqzmcexb4PyN4/I7zHMfqAdW+CKBiHpQ9FRlrcK3PWhVHD7KDG114y3kJGmyQSxdhJja+9ZnagaX64b/k56+0E8dX2tJF9GxGuU+1oZt2Pih3GYR6hyIjP/3LJujBaM9Ov8bUrRk+Qp428RONr1/t7m+aHPcEA660Iq8rPGIl5E8JpShv+EQgus+5ERQfjsAygyIjiCHhrZvrLJ9vISKMMovLY9f5e+8IEdugx5/R7FYe3kUNbEB7jmmd5noWDcVhOUGRQT3DB/OvDCq9DMdJMho/LNZrJS8ZZp3tljvX2Ll7m+53kyDaEu9T02ln3HfnDOCxXxVtkCH1a47lI3A1FFdX4v4qtl0tHTf8Fcnw7wlH+z3/qDQZDX18f674jTxiHWX8DeVd0RYb/5ZJ59oHG00aeHCvyqMZ+Ns7c8wQXWH8nxaWq8yQ58SnCRcovfff//M//KQyJSqWyurraarUGAsV+lH39MA4XzzhcREWGc2mmeqpL8fg4eXQUiUzV5FXHwiTr76dYBIIrmqtHSMvfEYmn1G4a9k8pFIqYsVGhUFRWVprNZo/Hk/r7hmgYh4ttHC6KIsMy6yp/aiMPf0SSpGz4rHnmvv/lEuuvS/78y4Hya4fJ+Z2IZFN6qd49729qako4RBJCCFGpVDiYkiaMw8U5Dsu5yAi8ChqfDykfNZP7FiTNlLiOG6b65NTFpSnwcqWip5nYdiESjOr6D57FOUqp3++3WCxVVVUlJSXJqw0cTEkE43CRj8PyLDICr4LGZ3eVribiPIxkkZKHDYap2/6gHLq4lGnv2kjbbkRSqbh90r+yuPbLstvter2+tLQ0ebWBgylhGIcxDlP5FRmBV0Hj9F3lg0Yy9AOyzpTcP2bwcd/FJa7m8VXSsQeRSLTOC4GXK8m/MqfTaTQay8vLk1cbpIgPpmAcxjgcJqsiwzrrVt5rIHcOITlMydCP5ul7rL9bObM/d5f88g25akQYRnG93jwxkNEXh4MpcWEcxjgCSSZFhjPgr3hsI30HkTyl/OHZzjkZnvnMkMfjcTgctbW11dXVb779B83dFnKjDmGSsttHnQvruuUEDqZQjMMYh+PhvsgIvAwaxm8qbh8kt75B8p3qkSv+YJzD1ZBSZEmh0WhiJkYqFApKae34LdK9HylwtE/aAy9zdr3n4jyYgnEY43AifBcZnS88ZXeOMx+kiioltw5Znz9m/c1LXfKSIi6n00kp7ZybLHe2MB/FiiTKgSP2mZE89YHiOZiCcRjjcBIcFxm1oz2Kzv3Md7QWZ/Tuqzn8zx/vsigp1rJareEGjb47JXcszPfNyjiKge9rJroL1odlfDAF4zDG4eS4LDL8K4sVg1bmZ4oVecr7m53zz1j3BQZyUlIINBqNVqs1GAwOhyPmd8WzsqAdvcL8dDNZpsJtdy76mXQeOR1MwTgshUh/HOavyHD4nyqvm5lPdUNIx56Sq/VNk07wpsK/8lRSuN3udN7dMTehGbYxn0Qnm6gen7X+OpznLpMW3g+mYByWTiQ+DnNWZFi9DxWXvmZ+uR4kMsbhHtb9ImfYlhSJOOY9mhE780sDcR2VWyrlxVrcHUzBOCzBSHYc5qnIsIwOML/eMBI3NQ8crHtHNvx+v8PhMBqNkiopEnHMezRP7cwveMxdVMPnrC/ydXZnbnFxMAXjsGQjzXGYmyLDcP8K83smIUmi7Tuf8lKJbIVLCr1er9FoUu6mZltSJOJcmtFO3lC4GpjfyUn6qfJcdSxwcwZlJMkeTME4LPFIcBzmo8gw3HMwv+8zkjIV1xtY95RV8igpEvG/XDLPPCh7eo75/aklGKX7lOFZvye4wPpbyo2cH0yprKz0+7M57xXjMBeR1DhMuSgyzI9ukhOfIlxE32fL7ls2Go3r6STyLimSsM+PV/muKdyN5MkxpNJ7uemFm/V3ki85OZjidDoJIaWlpZn2bYzDHCXrcTgfpF5k2McfkOPbEY5idF7P6Cv2+/0VFRUkdDWqNF9SnCVFIoFXwaY5d5XvumK4ibgbii2V3iuWF4/lcV/sdKznYEptba3wVEZ1BsZh7pLpOJw/ki4yOn0jimOfkCPbEL5iHbmb5ldst9uVSqXQ5SKvRhUJJUX6Aq+CTXPDVVPXFSPNZPi4vFPpK67aIq5MD6ZE7ggpKSlJ59RRjMOcJv1xOK+kW2T4lxaUDQZyaAvCXRSHt7l/TXF9mEAgUFNTE9nlamtrKUqK3OlcnDLM3CmfbCMjjbKJymOvmem3L0yw3rqSk/7BlEgp6wyMw/wmnXG4ABJ2PtYfjGo7jhPzJoTTaM7VJ/lynU7n2tFQqVSipMiHwKugdWFU7+8t97aRp43cRTVpr37e0zQ/XOQ7LdKU/sEUgUKhsNvtiVrDOMx1ko/DhSHRIsM+PET2bUS4jvnOtbhfrsViWU8xgZJinTqXpi1zT/QztzW+djLaJMGUe9uq/T3GX+87Fr2stxbf0j+YErfOwDgsgyQahwtGikWGf3FBefBjsvfPCNdR7PvAPTsd9c36/VqtFiWFpPQt+x2LXsPsoH6mT+PrUE6cJaPNBUvJ+BmNr0P7vNswO2gPTHQuTaf+xJA54WBK8n9lFosl8iUYh+WRteNwgUmxyNB3nCBfvovIIJXWA+GvtbOzs6ysDCUFFzqXph2LXsv8E8PsoFh/THVopjrKfRfJWHNGUXlbhddW+28JrZnnXI5FL/ZSFJjD4Uj5Ty+yzsA4LJtEjsOFJ7kiI7CyrPjyv8mudxB5xD0zJXyzdru9uro6+Z7bmP9LARekMG5ASjHnWYeVlJRoNBq9Xm82mx0Oh7AwxmGZJTwOF57kigxjVyvZqUVkE31bY8xX3NfXZzAYVCoVWUOYYAJ8ifwGWX8WSCi8H7G8vFyr1dbW1jocjkSXB8U4LLOsHYcLhiTC5NMEVpaVX71PDG/zlFO9lFLbqbjPmm2U0qnz6rSa2mGaopT26mIeP3DelUEjkoti5588L2bift1ut9toNGo0mnCvq6qqKmB3g9xgPm5ASoFAwGq1pnm9Oy7H4fxEd49SSuk9M/NPss4kGYfzTVpFhuX2FbLjLb6iGwp9+qEDsc/Wn3MJT/nOqVM2FV6YTpjqs21EkjG0tyT/3sOT7srLy/PQrSC/mI8bkFscjcPqy/GvmGI7kWyYdV3envZbbDf5hCZv6Viv7DqTchzOE2kVGdrT35Ltv+MpdaEKYGh/6MEak0/8a6j+6NGtvqTG5KO25jhNiQv7zqnjv8W4qY71ymYbzaGdTLoTFAbzcQNyi6dxuLmH0vCwWSMWBEP7V/+cQLxBuMbkoy5HTezjwgi8dmTmLazGYWkVGSWGd8i2NzmKLvFlW22N9UnuUeNq3xbVVONNSimlN3Vr38V4ViwyjMIj9bbVP3MT/8JcbrsKSAfzcQNyi6dxWBg5vWfVq0OlMIpuM3kppdTWGG/Evlsfpynx5RmLeQsph8k4nLDIKLy+cTfZ+gZP2WMVOqWtoc5GKfVa1RHPqi+NU0pdlz4UFxusS9zUh+K/h4aovybnuvQh+y2QdqyDN/PXiYGtyH/FrD8LrBdn43CDUGRY1aE/hwbGmEFVjG6QUhp/NBZG7PBT4pJ03LRHWKAu9J/Gm7rVBW7aBpOP7dKKdfAmq993STBe/olsfp2fbDVNUkqp6+JWsvl19cUxSimdPKMWn62zUUrv1AkL6+5QGvHXmAjPui5uJV+dcdEx01fRC3x1xkUpXfs4V9GfteR9dARGIv8Vs/4ssF6cjcPHuikVB17dHRoxTorjs+1Y1PIJh2JxmF19ShzSV5cUiwzbsdfJV2dck2OuNY1LP/qzFla/71EDBKt3rz55kGz6LS9Rt41RSl1tW8RHdreIezWO/pYc7Ra2ZPhZYWFKu3VJ2wktRumAaXUZseUx0272a511Kr7FaRmytXYMAX7xNQ6Lg+1ki3qTyUYjR84tYpFxNGp53QClNHqADSc0hmcgbjsSTsW3O1n9vgsbjHGRUXnoC/L+a1xE3TpGKXW1bo540GQT+vr7r5EjXZRSSsdMtaFna1tcA102Sm1Hops60hXRjskW7riRy9SGiozamAejH5F2VLu3ZDvogdStHUqAXxyNw+EhlE62qGtbXFED7GahyIgvZoyNF2GQj1hSHJ9jx3Cuotq9hdXvu7DhGQ8Q5Xu2kY2/4SK6fupq3UQ2/kbsiBnp35uozSwIH0P6UX6izWb1gAcoMuSEo3GYbPxNqMg4rd64QddPKe3SbdxANv6GbNwk7sk4siHOMJtgEI6MOLavLrk3VGRsEP4c0zIXYT4OMx4gSj/9L/LeBjnksLAno0uX/ks+Py0ebTnM+sPnLSz7FuQTigw54WwcFgZbz2n1exvIe3ttq3/eZPJQumZEXS0y4rWmvpDhfxoTtCPl5La3ZIrxAKGs+SPzLyA3SVZkbDJ5qOvCprUPCpIWGeHFxkyfs17HzMOmV0H+ociQE87G4agiQ6wSXBc2ZVdkREYsOFaXDO3J4Pz/gUw6VRjjAUL1hZ753qQ0k92hjSgR++vUrWN0ckzck5FsF5y4A9DVuokc6aJ0zLSLm/11JR/9ft2bDCQKRYaccDQOk41Rh0vIxt+QXcIu4S5dfg+XRAzI4bfmIczHYcYDRMU3nzE/LyYPiTghNG6OdFHapVs9qyjp+UprRJ98Kt2U/XNjXjoNSACKDDnhbBwOn/gp/HX1NPnNoSIjavnV2SVrG8keN+fgMx+HGQ8Q2uP1zGf45CGhOSPC/NXdLa6IyajinNUBU3ixmAlX0REnZa3Om+Unmvq/selVkH8oMuSEs3F4dQrrb8mmyAn/W1LMLkmn2ZgLBxztpnwOv+EwH4cZDxC1l84wv1ZJBjnWvZ6VFS7hpbsj/iHqSi9RF4fp1q2+adTlv/hK9amD6+4gIFEoMuSE33HYdXGreK0t2q3L9GJcURFH4/AoTSkVLvMlXKGLxxFYCPNxmPEA4Xh0l/lVV7OO+tJ4+HKz0QlVDw3JW4i32Oply4VHxAvl8nVBcSGWmw42vQryD0WGnHA2DocuK64TLgpOKRVHyIwvKx5K7DAb9ZKG0O0Rom8iwUuYj8OMB4jAyrLikz8wv4VMthFvh7bmZjmJHk9nMfEeP+Ltf0J/jb25Gg9xP096S0TgGYoMOeFsHF69Qdo2kzfyzmeZ3yAtcshNF2f3qmQ+DrMfICosXzC/H272EW46HHtP9v1i9RDv9u4pF1M7xiMeFG9eHOdmxNJO2d6tbPoTFASKDJnhaRyOutV7ZMTRMmZE1Q1RSoV7wSdoKnYAT/SS/VE32Y7boMQihXGY/QBhvGEnO97iNgfEI3mXt6990HYirdcmXWy7WGREtc9B9LZjjDoU5ItKpUp+FWGVSsX6M0KWeBqHT9yilFLfOXWC0TJmRA1VDAeiFxaH3zWPJ3kJf5HCOMy+yPC8mFHs/BMxvM1pdPcopROmA2+rr0xQSl1XdhCDWaweTiV/beLFTvXSqfNqw9vEsMM0RUPNsl/Z9NPnGWHVoyBPrFZr8iLDarWy/oyQJY7GYWGkDY2QkRFHy5gRVXePUkrpvV7b6quEJXt1Cd4i9BJzbONx3lTSkcI4zL7IoJTq2xrJTq0Mor7miVgtj+lg8uUPikWGdc1TB3+KuTdgnGUknMqT+wrXe6CAkuzMwG4M3vEyDovD7PRP6p1asvNT03SmK9qri2kqMykHdqlEIuOwJIoMz9wM2fWOXGIQOr3tXKolv//ZRSm9/13Kplw3DKxXKrN0jj1i2qEgX5LszMBuDN7xMg6rb3hoOgNs0Uci47AkigxKaaX1APnyXUQGUR35jHVvgjyKuzMDuzHkAeOwbCKdcVgqRYbzmUex7wOy988I73GMPmDdmyCP4u7MwG4MecA4LJtIZxyWSpFBKa3taSP7NiJcp9rRzLofQd7F7MzAbgw5wTgsg0hqHJZQkUEpLT9jJOZNCKcpbfhHILjMuhNB3sXszMBuDJnBOMx1pDYOS6vIcPq9isPbyKEtCI9xTEjiPCMogPDODOzGkB+Mw1xHauOwtIoMSqn5fic5sg3hLjW9dtZ9BwonvDMDuzFkCeMwp5HgOCy5IoNSWtN/gRzfjnCUyivsrysHBaZSqbAbQ8YwDnMXaY7DUiwyKKVVnSfJiU8RLlJ+6btAcIV1l4FCs1qt2I0hbxiHOYpkx2GJFhmB4Irm6hHS8ndE4im1mzyBF6z7C+SMOzjnWPQ6Fr3WhTHD7KBhdrBmdkAz1ZFR9DN9wmub5keE1pwrs6zXDDKGcZiXSHkclmiRQSn1LwfKrx0m53cikk3ppXr3vJ91T4EshSuJqme/aHwdirFTZLQ539H4OiqnrxtmBy1zTxyL3sCrIOvNAMlgHJZ+JD4OS7fIoJQGXq5U9DQT2y5EglFd/8GzOPf/t3cvUU3deRzA/8ssWWbpkmWWOVllycoyM2fOMNM5nZx2mqFzaE31jIM97aRTZ2rtOAZFTa0toQoEHxh0ZhKNQgSxAUHeGjRCwisvkATJEwL/WST4AEQeN/nf/833c74LTeDa3Ps7/35PcnMv6xmBrfIsRS3xSf38kDrUUjTdRCbNIols6pI61FI5P2COefsW51jvJ1gL67CYI/51WNQlI0MzbCX2o4ioUtJ7KbyUZD0asJnwcsoSn6yM9KtDLbLJi2SigZeoQy268ANzzOtPJ1jvRcjCOizCcLEOc1AyKKWVo+2k9RgikmhcNxLLYjzDCCiljkSwMtKvDNjJeIMEovDbdOEHtrgPH6wwh3VYVOFlHeajZFBKbXOeop/PkHYDwjCyjmqjb4D1LMBa/nTc+PxJSdAhG28k3nqpRh24bZh3eZZE/eawtGEdFkP4Woe5KRmUUn8qph5uIvdOIExS3HveFcdH5iKS6RZq/y3iqSuoKKb/h7bBCtZhrMPbwlPJyDgy3UO6TiF5jmasJbGM96tFIbycMs4/VvvtZOxCgUcx9V9D5JE/HWd9TAoO1mGsw1vEX8mglDqjAaWrifScQfIQ+UCtLTLO+pgDpZS6UpHymU7ZaD15eh55NWWBdkc8wPr4FBasw1iHt4LLkpFhCA0WDZpI31kkR5EN/FDp6+KuOEuSad6tnLCSJz8hm6TY22yMjISXU6wPVwHBOox1eHMclwxKqX8prplsI4PnEMFT4rG5kuK9wEuBSKykDXMP5U8byYgJ2WKK3PX6mT5UjbzBOox1eBN8l4wMR9Sn9lrJwx8RQaIYbbY897I+qoUusZI2PBuWu83EVYPsIEVP6vQzveE0qkaeYB3GOrwhKZSMDEfMrx63MV/auI7CI5Gx5lpiJW2YHZY/bmC+zEkgRSMX9CFUjfzBOox1eA3plIwMR8yvnrAxf8OWuyi81ywLXJ5VJDGWeY/8UR3zN2kllqKHPxlnH7E+tgUE6zDW4RekVjIyXKmIJnBP5q5jfiaa+FPmb3fE/ayPGFBXIlwyamV+lpmEo3zS7IziGyj5g3UY6zCVasnICC+njJHHxRPXmH+/ToSRey7rn/XjAgNikFhO66fvy3rPMv+aXCGkfLwtnBb77R6kBOtwga/DUi4ZL9hi02WhuzJPA/NrB4khpcE75gUP62MCWc4Ff/FgPfOL/BRUinrOWeZGWR/5goN1uDDX4YIoGRmJlbQ56ikLdci8ZubXRc5/SoNtpoVRfK9PVI5Mdsucp5hfqLgwo/O083vtAX5hHS60dbiASsYLiZW0Oeotm+mQ9t2kMikNFdxMcyG8lCwZsjC/01KBR9nf6Io