["..G$ ","|adds entries to Hashtable|Contains method$multiple types$casts Hashtable values|loops over Keys, Values|Count$","NXQqZashtableZQQusing System;Qusing System.Collections;QQclass ProgramQ{QNstatic void Main()QN{QNNHX hX = new ZHXZ();QNNhX[1] = ZqOneqZ;QNNhX[2] = ZqTwoqZ;QNNhX[13] = ZqThirteenqZ;QQNNforeach (DictionaryEntry entry in hX)QNN{QNNNConsole.WriteLine(q{0}, {1}q, entry.Key, entry.Value);QNN}QN}Q}QQZQQ13, ThirteenQ2, TwoQ1, OneZQQusing System;Qusing System.Collections;QQclass ProgramQ{QNstatic HX GetHX()QN{ZQNN// Create and return new HX.QNNZHX hX = new ZHXZ();QNNhX.Add(ZqAreaqZ, 1000);QNNhX.Add(ZqPerimeterqZ, 55);QNNhX.Add(ZqMortgageqZ, 540);QNNreturn hX;QN}QQNstatic void Main()QN{QNNHX hX = GetHX();ZQQNN// See if the HX contains this key.QNNZConsole.WriteLine(hX.ContainsKey(ZqPerimeterqZ));ZQQNN// Test the Contains method.QNN// ... It works the same way.QNNZConsole.WriteLine(hX.Contains(ZqAreaqZ));ZQQNN// Get value of Area with indexer.QNNZint value = (int)hX[ZqAreaqZ];ZQQNN// Write the value of Area.QNNZConsole.WriteLine(value);QN}Q}QQZQQTrueQTrueQ1000ZQQusing System;Qusing System.Collections;QQclass ProgramQ{QNstatic HX GetHX()QN{QNNHX hX = new ZHXZ();QQNNhX.Add(Z300Z, qCarrotq);QNNhX.Add(ZqAreaqZ, 1000);QNNreturn hX;QN}QQNstatic void Main()QN{QNNHX hX = GetHX();QQNNstring value1 = (string)hX[Z300Z];QNNConsole.WriteLine(value1);QQNNint value2 = (int)hX[ZqAreaqZ];QNNConsole.WriteLine(value2);QN}Q}QQZQQCarrotQ1000ZQQusing System;Qusing System.Collections;Qusing System.IO;QQclass ProgramQ{QNstatic void Main()QN{QNNZHXZ hX = new HX();QNNhX.Add(400, qBlazerq);ZQQNN// This cast will succeed.QNNZstring value = hX[400] ZasZ string;QNNif (value != null)QNN{QNNNConsole.WriteLine(value);QNN}ZQQNN// This cast won't succeed, but won't throw.QNNZStreamReader reader = hX[400] ZasZ StreamReader;QNNif (reader != null)QNN{QNNNConsole.WriteLine(qUnexpectedq);QNN}ZQQNN// You can get the object and test it.QNNZobject value2 = hX[400];QNNif (value2 ZisZ string)QNN{QNNNConsole.Write(Zqis string: qZ);QNNNConsole.WriteLine(value2);QNN}QN}Q}QQZQQBlazerQis string: BlazerZQQusing System;Qusing System.Collections;QQclass ProgramQ{QNstatic void Main()QN{QNNHX hX = new ZHXZ();QNNhX.Add(Z400Z, qBlazeq);QNNhX.Add(Z500Z, qFieryq);QNNhX.Add(Z600Z, qFireq);QNNhX.Add(Z800Z, qImmolateq);ZQQNN// Display the keys.QNNZforeach (int key in hX.ZKeysZ)QNN{QNNNConsole.WriteLine(key);QNN}ZQQNN// Display the values.QNNZforeach (string value in hX.ZValuesZ)QNN{QNNNConsole.WriteLine(value);QNN}ZQQNN// Put keys in an ArrayList.QNNZArrayList arrayList = new ArrayList(hX.ZKeysZ);QNNforeach (int key in arrayList)QNN{QNNNConsole.WriteLine(key);QNN}QN}Q}QQZQQ800N (First loop)Q600Q500Q400QImmolate (Second loop)QFireQFieryQBlazeQ800N (Third loop)Q600Q500Q400ZQQusing System;Qusing System.Collections;QQclass ProgramQ{QNstatic void Main()QN{ZQNN// Add four elements to HX.QNNZHX hX = new HX();QNNhX.Add(Z1Z, qSandyq);QNNhX.Add(Z2Z, qBruceq);QNNhX.Add(Z3Z, qFourthq);QNNhX.Add(Z10Z, qJulyq);ZQQNN// Get Count of HX.QNNZint count = hX.ZCountZ;QNNConsole.WriteLine(count);ZQQNN// Clear the HX.QNNZhX.Clear();ZQQNN// Get Count of HX again.QNNZConsole.WriteLine(hX.ZCountZ);QN}Q}QQZQQ4Q0ZHX used in benchmark: C#ZQQHX hX = new HX();Qfor (int i = 0; i < 10000; i++)Q{QNhX[i.ToString(q00000q)] = i;Q}QQZDictionary used in benchmark: C#ZQQvar dictionary = new Dictionary<string, int>();Qfor (int i = 0; i < 10000; i++)Q{QNdictionary.Add(i.ToString(q00000q), i);Q}QQZStatements benchmarked: C#ZQQhX.ContainsKey(q09999q)QhX.ContainsKey(q30000q)QQdictionary.ContainsKey(q09999q)Qdictionary.ContainsKey(q30000q)QQZBenchmark of 20 million lookupsZQQHX result: Z966 msZQDictionary result: Z673 msZ","A0rrEDfsAfBAAea(bCC~| 784}.B.BBXC 9846464646}.B.CC 75555}iB~E~E 76565654}.C~~E~E 788999}.CXCC~ 688969}%C~ZCPFFF4A(XBX","Hashtable."," This optimizes lookups. It computes a hash of each key you add. It then uses this hash code to look up the element very quickly.","Don't use this."," It is an older .NET Framework type. It is slower than the generic Dictionary type. But if an old program uses Hashtable, it is helpful to know how to use this type.","First example."," We create a Hashtable with a constructor. When it is created, the Hashtable has no values. We directly assign values with the indexer, which uses the square brackets. ","Next: ","The example adds three integer keys, with one string value each, to the Hashtable object.","Result: ","The program displays all the DictionaryEntry objects returned from the enumerator in the foreach-loop.","WriteLine: ","The WriteLine call contains a format string that displays the key-value pairs with a comma.","Foreach."," You can loop through the Hashtables by using the DictionaryEntry type in a foreach-loop. You can alternatively get the Keys collection and copy it into an ArrayList. ","Foreach ","foreach","DictionaryEntry."," A DictionaryEntry contains two objects: the key and the value. This is similar to a KeyValuePair from the newer generic Dictionary. ","DictionaryEntry ","dictionaryentry","KeyValuePair ","keyvaluepair","ContainsKey."," You will want to call ContainsKey on your Hashtable with the key contents. This method returns true if the key is found, regardless of the value. ","Contains works the same way. We see an example of using the indexer with the square brackets.","Objects."," An indexer is a property that receives an argument inside square brackets. The Hashtable implements indexers. It returns plain objects so you must cast them. ","Indexer ","indexer","Multiple types."," The example here adds string keys and int keys. Each of the key-value pairs has different types. You can put them all in the same Hashtable. ","Warning: ","This code might throw exceptions. Casting is a delicate operation. It is hard to get right.","Info: ","If the cast was applied to a different type, the statement could throw an InvalidCastException. We avoid this with \"is\" or \"as.\"","Cast."," You can use the as-operator to attempt to cast an object to a specific reference type. If the cast does not succeed, the result will be null. ","Null ","null","Is: ","You can also use the is-operator. This operator returns true or false based on the result.","Is ","is","As: ","With Hashtable, you can reduce the number of casts by using the as-operator. This is a performance warning given by FxCop.","As ","as","Keys, values."," We can loop over keys and values, or store them in an ArrayList. This example shows all the keys, then all the values, and then stores the keys in an ArrayList. ","This Hashtable example uses the Keys property. This property returns all the keys.","Keys: ","The first loop in the program loops over the collection returned by the Keys instance property on the Hashtable instance.","Values: ","The second loop in the program shows how to enumerate only the values in the Hashtable instance.","Console.WriteLine ","console","Copy: ","We create a new ArrayList with the copy constructor and pass it the Keys (or Values) property as the argument.","ArrayList ","arraylist","Keys and values, notes."," The Keys and Values public accessors return a collection of the keys and values in the Hashtable at the time they are accessed. ","However: ","If you need to look at all the keys and values in pairs, it is best to enumerate the Hashtable instance itself.","Count, Clear."," You can count the elements in a Hashtable with the Count property. The example also shows using the Clear method to erase all the Hashtable contents. ","An alternative to Clear() is to reassign your Hashtable reference to a new Hashtable().","This example shows how to use the Count property. This property returns the number of elements.","First: ","We add data to the Hashtable. It captures the Count, which is 4. It then uses Clear on the Hashtable, which now has 0 elements.","Count property, notes."," Count returns the number of elements in the Hashtable. This property does not perform lengthy computations or loops. ","MSDN states that, for Count, \"retrieving the value of this property is an O(1) operation.\"","Time: ","This property is a constant-time accessor. It returns an integer and is a simple accessor with low resource demands.","Benchmark."," We test the Hashtable collection against the Dictionary. The benchmark first populates an equivalent version of each collection. ","Then: ","It tests one key that is found and one that is not found. It repeats this 20 million times.","Results, benchmark."," Hashtable is slower than the Dictionary code. I calculate that Hashtable here is 30% slower. This means that for strongly-typed collections, the Dictionary is faster.","Constructors."," The 15 overloaded constructors provide ways to specify capacities. They let you copy existing collections. You can also specify how the hash code is computed. ","Constructor ","constructor","A summary."," Hashtable is an older collection that is obsoleted by the Dictionary collection. Knowing how to use it is critical when maintaining older programs. These programs are important."]

%iVBORw0KG;)NSUhEUg?AOU?AB9CAM?ABqIlQK)YFBMVEX:/8bNCfV1f+zs:MzP8xMUIICwqc3rwYGCNpaX95ef+MjP/s7P9AWUwmVj57e5BmZv+bsqfK19Bvb6umpv+F1q1PT3mM2bNQbl+3t7/C6tYZSzE8tXjZ8uZmzJlUvolLyUL0?AC1klEQVR4Xu2b2W7bMBBFh5v2zfue/v9flpFlRqltoRynSqa4B+b4IS+6IHg84ET0c1kE9gGlVLMkYYTnV4HkT7IsUz0nT9M0KvnWmJfAMbBLPTtPutls3jybze5CN3yk69M3ntovn/d85ddnziOyPf0DKu3pizYebTQF0vD0Ed8VXWmzXcqgdsRAazM8vjGlLT3vpTOd53ExIWRIEfN928z96cl+Te/lSVE8ts8QV2jg7cWUZwaslCZkiCjiUpYdI6bAlIyYX5SyYZ7LWY7lV6XM63Qux5aMYylvL0vYB/aRkZJvH1GO5dtHlGP59pHkWNgH9pGVEr3PdBHoWEZMUY6FfWAfUSnR+0wXUY7FvQ/sIykl7n3Q+0hyLO59YB/YZ/6U6H0w88LMC/aBfTDzwswLMy/YB/bBzAu9D2ZemHnBPph5qUZW76M4jt0nCwn2SWlgmag64HrUmGxE8kFO8ViGfSwNHKPS7TxpeqTAsvZZmv1j2sVDDsTCFLcMRf+SxX3RxjMqFQWqyz0VfQM?ABA9QQaYbXx3JXwu/eoFKWhWA6LfAp3z7aiG3pdjOjGFIG7v2luzx2Kpigq1b/A6z5T1+9reyX3H7/aNs/bdrVatS4LITseNGCYIU1BUbSZteu11lErOdCVdceDPZ4LhaJwW62jU2a3lOWLKUtmyHlT+lPJOJejlLyQM6e0hgd7DBCKqL3khhR0LmGf6SIsJS+kMMfy7SPKsdyQkvYS9oF9hKVE7zNd5DiWbx9pv5ewD+wjKCV6n+kiwrG494F9YB/c+6D3mcGxuPeBfWAfzLzQ+2DmhZkX7IOZF3ofzLww84J9YB/MvDDzwszrv7IP7IOZF3ofzLy2jv9/6687dj2TfZaJq52rtx/k+bA8bduv1WKxCuvQuqR67R2EggbMTPahZd7j/pokcUu6YYuOQUWvHkxLPwb9BBpRae0/4xeDpostPVbTbxNr20BUqHR5)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?AII?ACCCAM?AC93eDP)MFBMVEX7r11HR0f8yZHLklZZUEmyg1P8uXLjoVmLbE5pWUrAi1X+6tPVmFfyqVx4YUz:v3zEySO?ABHElEQVR4Xu3cS4rDQAxF0av6+5fsf7ed0ANDV8b1GvLOCu5AWMhg83w5UkOgpeP58k5IyKTfhIZQeyckpNKTA7GDhFiiIdb4KmZmZmZmZnadH1ysdMYHpxOc4ISbE5zgBCc4oesTKDG7WGrEZGOtGpPBWjkmlbUu+TTCNiUA4nl8gHoeB4B2S+wsF390lnuopxGqehRg1z6YmJdlRqBIp3FelgWFqp5GyOpphEu6JudleSFRxw0xs1xHxDZqR+Tc7k3dQb2syy4ruO0A2tO6dBYb8pOy62/7PWZZfttHBXCCfhy7/PXCJj+sI8vfLwwQNwwU8j0PW0ZkHyUiytiRMDMzMzMzM2v6gIRY4kDs0H/wrv/s/3/8/ED/C4gfHWoMKlwF198)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?AO0?ACaCAM?ABytD/E)wFBMVEX::+/v77/f/+:/9/v/m6/b0+v/3+/74/P/b7vz8/v/h8v:9vb:f308fXp9v9SWF3Q3+rt8Pfy9fvz7PElJSX7/P716u7:Pz79Pb+8/P/7Oz48fT8+vv69vj/8fF+iZD/+flweH7/zc3U1NT/09NAQEG5ytb30NTi1OD:v6dqbL/4uJCR0rk4u0zNjf43eCxvcju3uXnzNb67/H/3Nzy1Nn4+Pvw+f:yMj/5+fyxsv+wcHz5er/vLz04eZYN700?AOO0lEQVR4XuzcZ3vjthIFYIOdqr2499771uT:6s7gwMY;bYleWrrJwn51MeUbbx7kCkiAGztjJRSlW+EMcqqdUiTq2WJI1GY9+F36QEIKaomCMAK6qFQw7fMK+QTaQScIX8QK44q8oFVsbXPn9qrRLYkPYZ+bRaCGHEf/y7tUAiwIa1x8hn1SIC++/VIo66dO3q5xn5C/mKVAIOEfPOY86nkv6n/U8bc9S/Xgtqgu/VZ2fk+4za+C1BrbOStCjyPDujEFhoV0YToCZTN0G/1pKVqFn2hfJCIe8f08Y2QhMh2xMdKEWx8rwoog1EXG8dlqhtTr3e6/X7r+NvOhPOEuoRRKFENSqQmvJqTa5TbG9vQyuLhWT51lZAC2yRZ18YWuqwdzz+gFYOHaq5UAUS4Yccx2iy11fiQiuKhXxptbbWhdbH1st6O6vFUdZm7xjcxbVy6O9BZRl7VWw4kR4hKH1wDVUWq15v95gb0NaiPOP3frGApF3WU3AX18qhvwtFYOLGlgMNp93u94kLrVes+4Pr2+FtZ69bT3s94kot/ga/uZ5MAbLyBtwFteGhz49ibhKbcjD2snM7vCZLm6rLWr9Yp52hzV5Xcyu1NWABcNz056La4NDnQdVLRp0Qirk1RR4qB3FKo7k9BTdZ84p1CSjSIS5NZqnl34XK+umhuItp/aFf26FDCxSfI1RBZh9V706hvlBxtYc4GgtuNx0Mnp4aSFwTWHBTes/TLmeCoAj87jKbBSR8zuIBLhAx9BMzdHekbv5gVA+jUHY9+TzOAUusFsU6Hc5kr+R/kg2ybuzuOy1+V10C2jSMhbVy6CiuRQELLlAqiXIftUdHcjpAWvJ0nOQkTVtbu3S3rrWFV/ipCUCfXKL6tcXvaktAVvIfW1RbK8TQoSWU:fajILWR12j6grVu52ilGlva4u07NUz5X4ospemVVr+I2UuAdEHtXLorDWozGkL1tZiDMRDaW1stNN1gxZcffBAajv6TVa7b7RKT7lEAmLSZgtrUQ85dDP2mtOqklGkFShPe+1BqGxGO+LhX0vtraflOG0FoPaR2mLGiKEnVhs7bQIUpoOHwnQwp7U9B7lMe6xFtHZYkZLfVT2Ta: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:bc4sT9+Tk3x9+6XlFFwy5hbTSyTzLF3pNMKxt3S243k5H1/AVYqy3k41msTQgrn2SKPwHXrsIRlbBnwELLfSCBihKayCPvObEIxV1xLXNz9nKIyo+SA2u0RcXjWayN8upnBFY1pweXMzv/iErxu9US9SWHVj7JtMJavos/9Xf+aeuhrxUo1sZGW3OAGJ2RlcVeHg3P/Z1/VTsR5ONZrDV9oClcTRedL4P+pc6/x/tD2JS:B9U7/wzaNy6ChRKKJ9kWlUtuNTuOGr5BwLawONZ8iy1olqtpB70Sev3WokyWvkk0yhZRW2rcwTu/e9rG3g8K654kikfJRerpQV2uMe4I4cNa6M88HiWe5KpRuU3zcnV07bOL8H1EtJKVBTqA0XJ6mlbnROu7uWcWoEKNyH9/62c/zv/QiZemogB7HuZ48XK+dJAbFfhgHoBF63hScWW901kF1l7bxNyFbWtI7rSng4P5tHKPhAqW90yWTntmJ/jOx9SzufQhvpAgZbJqmnHnaMLSuvysrU2n1aighvtV0370BmylrM2l1aiQlk97fj+YBGtzOLa/7V3x6oNw1AUhr1kc4SGHGrcQZIRMrag4O5+/9eq6BnKXUxISVNL9x8PIeibjNHgv9O+2RQB2DQ/STuwkXXsyuR/OiaPOzI59qIj7coccx6wSIA1BVa9do+Adblga9eyCKRshha05Fpi69ZmwO/O7Xkf6td6JMB+G+rXfsK7DOQHtM9pZd0TCiEi3UJGDqUjgLxXO6v2BtgtI7ahDRtKPjSiDXGatlC/dk6YFjrr185IAD4a0SbbRcC/UHt/q0g+rgcmfynHErAU7tQ90vm0E7DNyI1oF5SsqV/LLn7KxFatNbMA1K01FmWOjWg94LsI/6QjjUxebTgW2B1jz+Q4Mvka6Jh8DfwZTQS8gTUtaEsLQGwT2u5CbCNak4mtXvtwqlWtYwOTh7hjDEyO8irs6CEsx18aevaPtKpVrWpVq9paC+xdpNoTp1rVqla1gV3ZwfjiVtazwM6oVa1qVata1crPYxzeFVSQalWr2pel2i/F1xLCeIorYw)BJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?AL4?ABQCAM?A.5D9d)YFBMVEX0msFwTFuCzMtMbm7lkbbMgqKrbog4ODuU6ukmJiZuqqma9POTYXaO4N9ejo1SPEVmnZz4u9XWuNGi9fS7+PftocX96/M8UlL1osas4unl/Pz72Of:/+90eDzm8L0nMJFVwVy?ADH0lEQVR4Xu3Z2W6DMBQEUO82a/a12:/ZQkTrP.+lrCwpU8T35gyol6sYxgn+9zPx6aUA7He/rCeyL7Q9/Qck9fiOUDQ+WkL8Tzj2TNMX0hnn8gaw7pC/H8hp70hf/GL/zCL/zC7+pZBEnTbeWlkn3dhfjzOwixOF9Us9QEvut9YRvkz+9ga7c2v5MvBenofBQW5kv7YFyklJbEd3LG2Yb5KMhnr16Mj8hpaCSJXwPTPRdVF562sSGeP7xfl2+BQREcIh9jJBPxkRAfk3x5+T9E8vtV+d7sn0kyH8+8SMG/yCGCzK9f+I7GRy6iScBHovieJah8PPE58PuX4elofL9vpuDLekiXdvb7R9O69Xce7PbbyJ0HVbEqv7lM0+MspiGSX9eVWI7vhBw5QlD4mB5MG36HdaGCe7IF+FJWIsWRjcjHCPsI8pFNuqnj1uS7F7+tGzq/2U6LFfk4QyJ918Twm6196MXqL4tO4M2MWvARQpR33Zz5hV/4hX/eXVkop/2t8bntTxkUrrvzg:xwyj5/powX9+ZFH4+PtkZGALnBswto8KZ7Rg1e2j2GRV27ErWnKA55VMAnhpoMinEB3vVCoV8+YVf+IVf+MrMQ9FoX1BEjTKcGzUWVajgRf4++j1fV7Nwisb4gqHxWxSMHSo6UPAi7u9jUvFbCl/xymdxPrcPx4ZzviHzN5PFUvhtFcfn0LfMPFfgvwmfpsBQ+agAE+YbsFuzCfMRf51fLcpXYwOoMB9qgyFKx0eos28Zho7RRpljmYaP2eea0TeSFiMd1mB2DKZ6CJVv9BAiH6HywYarJfDnBBofScDHDOAJwPSsz+dmiArwAxthAn6KR9fO+IbEb1FVAKTZODnnb0Y5cMwI7zx2hCv8/VX3/RbmqVkp0r7PB4Qelu2yfKVHRKu1bil8pTfj5YqhgPVfGl0h1g9b6A64TvuVWu7IZipEz3Ys+pnHJjhxpuV7P2bo3/GZbp8iQKL5q78sKm2MVuVd95/yC7/wC/9KvxKarAoR37Z20GRViPiyeIYmqwK+69I+oiJZFfBVnfYJG8mq8Auf8D0EMfeTQ)ABJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?AL4?ABaBAM?AD0j/E6)GFBMVEX::yQmNChfJfX1+Q@C4uLjV1dXq6uomAbS5?ABZ0lEQVR4Xu3aMWvDMBAF4GuJpbX9C/0FgXfZDYoze5DTVUNMVi3N72+tUI9FB30Qt3qz+TDo/DiB5dUSWfL8Zsj2/RepzdO3L9X5Zb/5zW/+cVyA2LN89DIlCXuij/7v+s2/p/mP2D/N77BEE9fHgewjUc+3Q0/1Df3TfM75sudz09+XpsfoN5+4vtPE9e9Na/fnscr3gCZmP3wAmom+dAEA9jRfdlzfBarfAZpJ+9s6PzzfFZ7oayL3zz/dP29r/9Tdxm3+HNbzrbyNG3w/B8D;zf506LjOLL8okOE5us575j+KEL1h6vFv8fiAxqJ/hFLpsTy5RbZ93cXub6In/qN9qcbrgbfnQrQ7et9QN/rfZzKEmfyAT1X+zjki2k+SztDK/fbACiA0XK+c6yffx/Lyxjnx8X6+b9AE3F/Lo8afT8H8HwXg2E/tPabj1gyJJLvVp3l65CJ/ePPeSv7Z/Ob/1Pa/wmfEePG6VyNvUw)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?AL8)+CAM?ABN2DpJ)pVBMVEX:/+xptbq8/SGc8PQyuXo8vP0+Pn5+/zl4vHv9vf9/v75+PyTgsfw9vecjszr9PXs6vXf2u3y9/jp8vPr8/TBud7Y0+r4+/vs9PWnmtHt9PXIweL5/Pz+:/8/f36/Pz3+/vx9/j2+vvu9fbq8vT1+vry+Pjz8fjv9/ft9fb3+vv2+/u5r9n4/Pz1+frz+fnx9vf4+/zu9Pbz+Pn+:7p8fP6+/xQ2OjO?ACsUlEQVR4Xu2Yx47cMBAFH0nlrMk5bQ7O4f8/zcJ650FtEPBRbUN1rwIFbs+qBQmSYG6Mc5Ux2yAB9ofdx0ltV2l6H8XwoyfRvjpBMW+R7aJyZadhhz0vQfQlFpUjpFogez4/deob9QVEV6JZOz9Vgt3kZvauhnUMoigRCEGyRTz5aq9qeA+iJjGn4GPeqZtbqmcQFQkp+tUPn1c29KgqEgsnMaZykmD/8jibUo1AF.eiv5Dtjk6kGyLvtpknzY2JEeQ4RPGkXUDHOLdLj5myLc902B/6j16CjJ4IumJOZBNyo5JtDyIG02AL7chiUGGThiKVQ5gsqpns1n9VEZHBP3hAe5Cz/AMnXgQT4fs9y/U1M5uDv1qgY6UpgUZOBFQNOi4u873tATQOtIAWHrGb+jEK80WHSXzS3Q4skBHSC4gwyYKcTew8noNzUBeXQQyaOJBzAYOcrwwl+bZc/5hE4msx7KOQJqR5/zDJvLkSo6OLL6S/e3JiY6EHyMnJ/UMn+ZE/sfPsu+/p+ZE4Ij8wwtBFCfyguIrgMxSLEEUJ9aOtABuQrIE0ZuYO7IG8G1KcQOiNEGRcxNZ39yoTeRGLP/7iIuDWP61JvK1ExvFXW9x22QgShNNX6zy76fU8sFrIapMNEVPLBo8lzXXNnsEUZmgyGs7lSv7w3NtOhNSNG8i7y0VosqE/BKD/QtFuXRrTRgn9rXTY03xAqI2sXCk6MSf6ewqWiFqTVT9kQfKqydGXm+ilW9L8e3U87akM+Hb1SYUIxDNCV5ckaNjdRVtBqI0IXe1LcSudg+iOZHQbOSXjCOI5kRLExDfGkFUJ7grVxC7cg2iOkHTSDMFUZD4f8+fBO8s0IE4eucCoiChj5GRkRFDFuhIyeXfSDj54h2SCGTgxHj+8fzj+cfzj+cfz/8LH8OOJIxbjtQ)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?AL4?ABfCAM?ABhso2I)GFBMVEX::dyd7q3uu9mMDIqcr98+T/57n/1oAnhUkT?AC2UlEQVR4XuzZwY7CMAwEUF9m/P9/vBIsGoImWCqhW2vjG53gPqpUgBtl5b2iY4l/yY+3+ZuvLo34m7/5vFdLvuof8zcf5I1JYs4n3Yq621j8bUMCa/jI56LnUytgchXn3QJjmBiXH/oYgs15NAssHzntJupKvmRzHi1JudEbDXM9n2lK/ElZvtcnFS7n0+pY8eH5IpNyQeFavnzEcGcZPocLaPii0L1kDucKAIyP+PLg5TXFswc8X80GP4dWXPjtwteWMCCJlHPk180g/Rq+f6Pdr1Be872LMi7jY7DI4Hh1njU/+WU+Cj68WAlP4qsnnoNDfAsUWUT8MT8qvoDIc/juWMVHwQeZImvPXZjvi9GCn5NCaz6iMZ8RXfkkIi7KjxmfuFVBvOzXluCOiM3/5DcPZ7kSU6f9ZGMPfsHDLM9pjrcKKj3939ZU4W4EWgCUVvfF8v+60vvchN7oU/rk+KQBYwwgZrn4MLME8qGiSd1FARbPeeq8buZ7QYgzp2zh+fD8ehp5nI8sZ5x1Xg8JvR9KvjRh9hzP937WZwpz9IBfumK/Or4nkqHCjA8O/FVPVwBS41YqN3xR7uup5WP4yByBRKHv9exr8+spXc9iaz5S/L76RNOd0/fOhfToeekb73x01ZuHdm0vP6NrCd+yeDH8T3vmkoQwDMNQJNn3vzLDynzS2AviwTO8A/BEq6aJS5hJMgN/zOgkHpB+IXDoGfjp6HUj8QxXAugdnIpdN0b4/R+g6RM7V6G60bHCX9Nrzan8daMDaX5KrfnrRgfS/JRa89eNDuT5TRuOxFfRiB2rFaBh/akbiSti/XEFPfVh1Yg9cSkaL3/dSOxh9LCv/XUjMuJOtrWnbnRkeHSnqz11I4G8PaYM+2r4orEev7v8KhqREz/WH/8ff3h5hj+6wxfO4a+t2ZuG4Vu22Rvm4ceV2YfF4Uf12YOS2WOq2UPC4SPa+QPy+Z8n7hYqbYt8zHSC)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?AKE?ABJCAM?ABimLZr)GFBMVEX::zpsv2wdr99Pj50+T74e386vLvgrhS6vXp?AB3klEQVR4Xu2YS24DMQxDrZ99/xt3URRCFgOOGjYMinDNyIHwxnjwIib2d2Jxk2eUjSf5c6eaeT107YyyrtKTcuE4OMZ3d88otq7Sk2LhGD7pZ8w+94L3E2jNj12c+isMbeHUYB08DJ2FYWdzMbQeC2PPHWeAeIghzlU3otIA9uAojJY93Y0mz+ZHYbSc0PUmcUw8RqsI3ebUp8RT7uvuYqgNUDzI7pGEbi9xiiFXGxxXTswoJmtD4jWfPaCYj2EsDOKeYUjWhjudGlKMtYHVbcGZUYzRInWjOSTf15vUbQ7F2oC/5dBqAy4dtTbgG1usDdh+jK0NNMWwRkGqDdh+UqwN+FMutjaQui3ZSm3Yr8QwBmzE6L52sjY4Sxu8/UynDX5nz6bUhrqzwmRrA6lbvUKtNuCXu3xTbbCmUKkNCRqNtVAb0KuSS18bDtDCi3Glvq/TTidGFPMxBC+bTZpGG3As1pJgGLM/qNEGnGZAoQ2jBWq0AcZ6jkQbQCyj2xptuIyZe9GO4tsrjt5ecfTagEPFkHDhKuw1B125NuDwtYHc1dsrjvS1AUSuDSm5r4N+4b7pawP/50l8bfhP2vDRhvWu2lBvrw2u1QZC96MNtK5eG/yl2mBCbeBjaL/G8AtqQEnsBU7ZMw)BJRU5Er@ggg==$/9j/2wBD?@.@.@.sLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwv/wQARCACCAQQDACI?RE?hEA/8QAlQAB?EFAQE)))?AECAwQFBgcIE?BB?DBAMJC;H.)?AQIDBAUREgYTITEiMkEHFCN.1FhgpIzUmJjcXJzoaKjJjVTdIGDkbKzwhUkRZOkwdElNESFsbTD0vAR?ICAQMDAgILAQ))ABAhEDEiExQVFhBHETMiJCUmKBkaGisdHS4v/a?wD?ABAQIBAD8A9x)))AMW1epUWtfds16zHKjWusTRwte7zIsjmanAGUDXQYvhlm7Jh1a5Xmtxxb+SCKRJJGQruspHac9LXb2P2zm8T2/2YwmzPSs2pHWa71jmhirTuVkic27xzGRO9WQmmTpfavfY7QHD4JtzSx3FY8MrUb8G8qvtxzXI44d5D2SRsa+TXG/xXdQ7cNMOLXPUqzLU8qRRuf+hPSqlZpbkqz2WVo+KNXJfnLz9kmKtlUI6n4W7M+pPr6DlzXsz7fQZpppYlrParVVWryXzKhtIZUlYjv2+hRJfqJx+suGXQRmmeRJSU)))))))523tRhNSZ8D5HyOZrRyxM1Ro5vk9epOk7q9HoGdjU0tfCMSngz3kdSZ7VTmmUbl1J83rHn2y+K7PNwTEWYrYrxvkkkbPHLIjZpYN2zdpAxvh3t+j6eveFyEY6XKVveqRfxQg4SnNOVOKUIbPfqei4ZiEWJ1I7sLXMZIsiIj8tXg3uYueWfjIecbU7T4/Tv4rVwySJsFCKGaWSKFkkkUcy12eEfKx7N5vZfY+jO3w7EMJiwJmJUY3xYe2CSfd7p+8Zx1S+D4ue7Xq6uvX5M8ip0r+Os2nxGWHH45LMjJG1KzGVo7sM8+iKHeTsfr7217yWLqbnyhMUtUttuhVjjHXkena6SnvX/AEet7LYquM4FQvSO1zKxYrC5Inh4VdHI7o9FuvLedH355BtnQxpm178Sv4TaxjDG/wC7wR77vd8G407reVmP3GiXwnz/AModb3OsM2nwZtqlilFK9CVVsxySWIXTb/JjN22KOV/RexnS1NZ1C7PsJi0uMYzi9bHp8OluyeA711u0Qa9W6n6cWr9XJ4F5TsW9k3v9l7Gj7nE2zNjHMRsYbBeoX5Kkv9RlljmpR13T13S97y7pk/gpWR+76Og/3M2G3+B0cM2e2gxCtvO+MUvUZbTpH6vc536N30eh7qdNsrsVS2YdYs7+S7fst0TW5WJGu7za97Y49Ujm63o10uqR73m2xvZrBtoXVFxeu6x3pvty3fTQ5b/dbz3B8bne5N8Yi92U6t3XDW5rNj62HS4JgeIRx1pLkeFVaj7LUjdPG1sLHLXWRM3M0uXpRHXGFh+GUMJrJUw6BlaBHLIkceeWp3N3ScrulkZih8kSab2uvJYszpBC+ReaJk1PO5eRrsLiVyvsv4qqq1qr5167izfkdYsx1o/FXL0bxefstN1ExIo2Rt5NTJP9Sr5Y+ZfwXX9DHXWf8FcsbZWOY79vmXsU1EUzqkjmv7F0uTz+ZUNwqoiZqqIic1XgaO/LBNKxI5Gq9nBdPHNO3inR6JEN9uhGNXcWrTN03NWo9FzReKL/AJl5FzQ19KZFakTuzq/6GanMparYtyVNlwAEFI)))))AIMW7bjpVpbMvFsbc8k5vXkxqfOcV17MVqCOxCuqORupv/AN8HquJp1xtwTplp1VtdX5LyoioqKiKiplkvJUOTXYjZdbPfS4cxX6te7WWbcZ/m+93Wn4rToOrICbXDJTa4bRDWtY1rGIjWtRGta1EREROSIiEkAEFRUUlRBBJBJABQY1mdIIXyLzRMmp53LyMkw7NVLKsR73IxvHS3Liq9qquZUqvfgrjVrVwaCtZSCR8rm7x6ouSquSIq81UyVu3p1yiTJPi2Z/WuZtY6VWPlGir539L/AKmUiIiZImSJyRCtzjd6b9y9LJBu1G35/o511S49qvmd8m8fqXj6EzMqlhUbU3kr3OVeSJ0Uy+szJ9cj0YxFVG81TlmVthlciI9ckTszz+pOiHN1zRDyS01ajfYvsZBFkjEaip+lf8y7qReRQyBreaqv1F5EROwtv8yy35bCZkgEFI))))?IJMe1OytBJO/kxqqiedexPWcErJSdrucftRcV7o6MWa6VRzmt4q+V3CNqJ42lq/bOd2Z2iZSvf0baflXsvyic5eEVheCJ8GOXq/P3fxhvsEgffxGW/NxZA5VRV5PsScfsN6X92cL3Q8Efh06YpWblVsv8Jp8jZ63qxy9Zvw958WZbcYx+E+1v3Ni5Y4Y36Zq6UW3949xzB5/sHtSmO0O9LL/APaFJuiXUvSsQ9WOx87yc/w/CeUPQEMVqjAa3BKIEQlEBSShIJIIBBJABQUqpLlPJce7o8uAbQ38KnoMs1oFr6JIpVinRJqted+pHNkY/pyO0+4koqS/A9YzQk87w7uk7MXtLZbElKRfFuRK3j9LFvYvakYdtVvVLsaS07EFmP8AKQSsmb7bHK0midL5M8ktopcQghlaEkISQUg)))))A5DaO25yx0os1dmmaN5vkd1G/X9s6qeVIYpJfep+30HJ4ZWdcxGS7NxZAqqmfbO7/ANG9L+7LuOlc+kTIwJRbyy4gtvL6G9w2k2hTircNSJqkd7+V3F/2ui34AxGhWxOlZoW2a4bDFjf6M/Gb72Rjuk13vzLlligY6SaRkbG8VfI9GtRPS92TTkMR292Xw7U199tiRPJ02LY+8Z4D2pyjdvV5LdylJz6t3fk8GlTE9hdpUyXwtWTU1VzSK7Tk/wDHOzou/IzfGRn01hOJ1cYoVcRpu1Q2GI9PfMXykUnvZGP1NcfPO221+GbTtrsrYdLDJXeu7uSys3u6d14XQsa9unVpc3w/Q/WSG37l2LYlVvPw7va1Phtt2ayRQySRVLCJkkzntarGRytTdy6vi5PJk87B77L39vB9BlRCElBbBI?IJABafyPlnu;jttcUava6gi/IuH0z6menA+XNv0/DfFPn0P+wpklS6e53WIdyWlJqfheITwLzSO1Gyduf0ke6exvqvONs7A7X4NJv6bFm0cp8OsqkqfIxdxY9lp9KtRFDmoVbXwVWr4/LY+f9mtrdqYcXoYVdsySskvV6s8N2JHTxpJOyKVFkc1lhsjc/KOPoZnI+fkr/h29+X9vsd/jT6CahM1VFWSLjV9SskgktlkAhVyRV8xSj0XnwAKwQiovJcyQ)))?ADSYrN0d0i8E5/L2HFW8SxdkfemGI9OK597w7yV6u7VXS93sno3ekCqrnt3irzWTjn+jql5rGMTJiI1PM1ERPqLsMkYqtOr3MnHmhCNaNfvxfc8In2O2sxyTeW1WNPyl+yruHojbvZfu2G2o9ySoitfimIzzLzWOpGyBqL5t7JvXOb+rYex5ITkUym27pFueRyd0kcjh2xGzGG6VgwyvI9PKWUW3Jn77+sbzQ76NrDqmMaxGtYiNaiZIjUyRETsRELhJTbLbk2QSAQQ)?UOTgfLndAzbtrirsuTqLsv8Al9M+pVQ1N/BcKxNFS/SrWeGWqWJjpET4MunW31XEoqjXU4HDO6bg9rS27XtUnrzXJLMKevHlL9wd1SxjDMRRFpXIJ1XjobIiS/pidlK31mnK2u5vgUiq+mtim7sayTfRJ6kut/35rk2Et1XeBlinan6mT2HdD7wuxjjlzLSZEIYZ/NNQZhxUvwrkly/tdH/4pqnsCHDYfhU9azA+aN6OSWNVc5M81R7fH8Y7onM03FLoifVyi3jUd0lVokAFgxCF5O+RSw1upVTPIvryd8iluPmvyEkrhjQqcuIRXJz+sukLyUCwi5klKFRB)BZszsq1rFmRFVkEUkz0aiK5WxMc9+lFcnS0oaiptLgt33O4yN6+JPnAv3nQd6riVGTVpN0VKE5JuMW0uajZvQQjkciOaqKi8UVFzRU9CkkFI)))))?ABAJABBI)BC8nfIpZYqIvEvlGhpJKZUiovaF5FGhU5KTkqcyAShUUp2lQI?ANbjP4oxX8xt/wJTxrBsInxmeaCtJGx8cSy+FzRqoj2Myza1/v/AHp7LjP4oxX8xt/wJTzvYL8Z2/zN/wDHhMjE3HHka6Gd6aThgzSXK3KIsK2hwh+bGWGMRc1dWkWSNfSrI3L9406Whjd/JGWNMipwXWzdyfZy/dO0MDEY2OqyvVrVeiMycqJqTpt5KQ8qnSlBX3RS/UrNUcmODb21osf0qzR7k7VlnlrTLn59P8oNNlw9T+cDRHsR8LH2/cdeACwYg)))))))))?BrcZ/FGK/mNv+BKeY7H3qlDEJ325UhZJWWJrnIqorlkidkqtaunosd1j1ueGOzBLXlTOOaN8UiIqpnHIjmvTNOk3oqcVY2Gpqqup2ZYu1GSokzfkRU3bm/bL+OcFGUJtrV1Mv0+TEoZMeVuKn1UTtYbEFhuuCWOVnxT0k/dcWbyZ1JU+Z++04eLZzE6L0ezTJl48Ei8vW0P8AZN7FLcSNYbCv7PdU6XDjzd0iHjimnGSkiJYYRkpY8imk78lvT+5/OC7kmrL4H84Jsqs6UGlBYMM3QNKADdA0oAN0DSgA3QNKADdA0oAN0DSgA3QNKADdA0oAN0DSgA3QNKADdA0oAN0DSgA3QNKADdA0oAN0UP6q9X1+Rq?P+K8TqfquuAC6ZH+D:Z!EH%iVBORw0KG;)NSUhEUg?ANI?ABCCAM)VIXgz)MFBMVEX::/6u7/3+XOwf/0xf+7v:y3v/w8f:2eb/+vX/59T/ztzk5:/9O7/4tz/6uVDuxD0)vElEQVR42u3YNw4DMQwFUSptoMPe/7YWILJi4zXUWJg5wAdepSArt7dRUU96zVLv/HIrTkmcmrgFCRIkSJAgQYIECRIkSLO3nlY+6uihXu5VS713flkS8ql8xKlenPItmbrVLL2dhH6fmrgFCRIkSJD+mrRbaSujql7qFUu9K52WhHwqbXGqF6d8SyZucceDBAkSJEiQIEHih4gfIt5LkCBBggTpVgsetdzxIEGCBAkSJEiQIEGCBClsLdsHXGYDTXcJauE)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?AHU?ABYCAM?AD86Ehm)wFBMVEX::b3+TMzMyYpb1jV1fD0eluXkeir8S+xc/e5O2QmaTy8/OgkVeMeFO1rp2tnlcxNjp8bVYxJROspI1mZmZiT0F0dXqLg3pETFIGBgRMUFXz+P/i8P/Ckxc5QEVLPz2EcEeVkZLUpCAZERKqnHuZkHrcv2D5434ZJhTKr1z11F6ftuL/vx5lfVbO4f5aq0ONxYVQZUvX5v/o03zswTv/8m/ty1UxjBcnYBtBkCuTYQ/432t4mt7cry6lxv/94kNGVDL7?AE9klEQVR4XtXY15LjNhCGUQGMOSjnPDmnzbbf/61M/E3NAitqCUqsHfu7I+fiFIdQV0utw01G6Gwg2lKXaLvfGRqgDC2oL+grClrVeY2rnobKgG5WknoGtH2syjVUXqJuoHZ01N5xajxCHTzFThVdKpCcrM5T9IX6LIo11ICL3KwvCqmFqPd9vxd0jq5QZC9F0Z3oEfGWbtxU1J7obb8Cv877DvpTmEXoTHScmtVRP0FN9lX3ODWCatdTJVZbdaFGf1rFaRokKEpxmg6rqFDtDB2lrtqAlii6An6OVA5do0/odbYWJUkoekCBrtofbfLaPdFiSVKIylQCSb2lEkSqp69e5qWkRgSFiegIlemq3SZVrq1i9C7qqahanRyqZV628xa2qBcCuU4QQbXUR1W9+bHfDYrRy9uF6NyOomhZnKO2aHOleK9Sa3QbRqKHryJ9tSN6uSB1GeUlpC5E7Z2KytQEE+Yj1QddtSOrV0eos8MqmMPqavdehbpM5Pe6G1HEyuottQ5RiTqRHCSdI5QUXaEwQSiMUELS+i/RGs2o5R0q2RKnpP5NWcjddkQXKKMpEV685F0NTdEbslO0fIU3k/pG2U+IVCarXpUa0ec1IXUM9TvU5QKVq0hWuazel6iOrGaF+tKkap2gpnXUuJZqS:hC+W9Zimy/6HTJDUrUR/31RuLijuInos2Ap/qiys7Okegx+tbNNvQgERttDBtVJzhzyJFvVHUAkXbni16V0XRNanjvKGqjlDBmpSsPmipF/8FNTuorkna1FF/yKorqwnUrCn1q4ROVHUrqeG+2gt11R56gvr0GUkjMSDVotyONIC3mWhgUANchfT9yRaZs1saugRdonSB+tTdEyKVSSpH75cIQM/FVauI8TzWoS0KY+F2MUKbrsj0nTxfXQUHo0vRF8Ql1UWTAmVeHoNqxwHL27EcdeiEQX3tjTaoa4pWvshV1JWsSn/ySG3JKieVn676shr/qnJZDUjN6qnjAVRHUWNZlYYTU1U43KZn9SrUbyO0MUk19lUX6ojUs19VtlMRx08RZ0xceIFymuIMzUTr5ZwaUKu8vq+obP4kukOP+6pmzEG0XsTyBt/y03me2dKJ11T9WETrRWfK0FSUq8O87oeoYy3VRV4DqgF1GGigQU2VF2pPtDpRDfRPkysaiLJYVicO1LnXqDpB6q3pBE2f83Yq01A9fVVuqiSrKddXW39WZY2pU5dUV1vljajzBlW1atWpO5rUJ5IcqQCVqdaxqms47xkWqU5lhvUsKtRYQ3UPq6yuOoTq6w/Ej1WdE9T7MdRVzYGoCoanr07BaqueqhpSPqmBUV2hmpjD/dqqJzdR71GMspTu0XNXV2WkAqiobDQ9Uzt1Xk/V0lAZVzStqfJm1D7UbrXKG1eH3UY3xHKcktXxpOZADJgnpd5jSpaaogZVaKCqlm8g5NCexHyjMldWh17NgWgZD@ui1TDqepdTaGymqp7muprLoneYdXQU5Gqck01aFJNK1Wmqo4hRSpOWFWOorqVKkelwz8gNfDKkz8/90epvxsLOjviM5oYpDoNqOUpXNFUV7WAsoZUJ9VbEnnDqta6Fnyg6kLV7HeqO9da1wILeUeoarVUPkD9bkMNoQ4qVKePxun8cMOieXVDNO/rqeaQGp+YpuqTOv6/qzpL4qo5FdVSzQIwT43sbvBb9F+BoNKC/cna+Q)BJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?ANw?ACNCAM?ADrVuTh)YFBMVEX::4x9v2s9D85e761OP97fP++fvEwIH0msH+8/fe2HbRy3zq4XH71I6VlZWhoZq9vKWxsbHNzc3PzKXi4uKxr5Lx8fH28bD4+Pjd2anp5a3/+rP06HCa9NH/9Gj/9429Bui2?AD/0lEQVR4AdzYa4viMBTG8bwr1OE5J9dexul+/2+5GGZhbepYY8Rn+n9hQAj05wnWal5REkmXNYgzh8sBWWWB0RytUWxGOag5Xi7@Vjz3j5fkfq8+Ly8r5fidDowTubj4gZ8/grcMHnVGKOqn3aMI2bcJL8AN6ngqujnPTiv7Lghy4rED3dx0XPjBsWtxN/DYaLGTYIfkpsXn+EzZmLcoLiT/oTzGHhxg+Bucfv6ccGpfNLisq1Sl0cqkQlXYQO2BAM0v9DiIna2QZgvb3penMfupsIWIaqyH4f/+3qiP9eZ7RL2J+P1Vot/2dHsqhluPbntLB7Irv5iQKGjwgU8VLi50xLiLFA3ulEKNxsuAZWjc4WbDueAutGNWCd0OIvK0TkUseESUDk6yz85h8dL26cSyoazeDx34w6S2HCoKB8/3TCT4RJyFV8pglXWsOEcarLFp7L/t+VXERkOyYTSRoezqMoZVz4tHAUn643BHAeH4oGAESeoa7XP8ePq0yPjLCXOEkyOHecoce7IuIAmJUpcQovEUOKMoEGOFKdoUCLFhSZ3ORpc+3MZaHGuweBocO1Hl+hwQa3knrY5Q4ZLFq1S86bWuOW7s6BVcXmu9rjY0EaHQ6u6hQ/XoU39Qohb+oink+68EOJy54++P526rosxijwKi6ePJUeJKztfuP3pG5zJcgUSiTF23akvJsaB4+tvu3WX4zYMAwGYpH4wfmhP0Pufs6VKrdiFoZdULjadeXAUmA73A1aUiSOOOOKI+zK47zl4IcdwL+Rv4YgjjjjiiCOOOOKIIw45xBFHHHHE/Y84HuLEEUccccQRRxxxxBH3ZIg7hWsKmJX3xBk874kreGNcBdBi/ZY4+ZK4CkANsCqe6/e6iwiA2tRgGHFfUYzKdNcXpuOZq/qzxeuqGeJ3vMG4oX010Jp7ncRFdG0vWBNBZOFmrfV1NxYpVcQQsfFQeqwhkns9gEORPpqZX25wF2Z0h4OIYqZJvWfnXkdxpY8P9av1OUGCph97Tr1Uun/0ddcfbNIwfqdrGqtteEaDS4pXyxX/Fb3kXj9O4uIsM7/o3FB+sdJFconG31zibtSG3PfR+Br5wMksKGvwpl7fzuJCMIbAr0xcTdNyMha9LsHnoqqGkZobIA3e1esxXORVnCKyx0Wex5UXcA1j2tcXcAf3nGTL7Z7b4nzdY71wt3vu/CEerTXmoQNKxt1Pyz3uusWtaZl7PXPOlfXlBpfPuS2uzCPMkRmXzrnc66E3FN3h0hvKHrcIQPkT19JJ/xwu3i2LGmBW6x1Oms7KPa6r+Y8UtU+49W6Zex3FSWvyL3MW91iII46450PcPsQRRxxxxBFHHHHEEUccccT9BMmBXcwVjbcY)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?AG4?ACCAgM?ADasxWR)DFBMVEX/2en:/+VlZX29vY4hdad)SElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOS?LWyrsxEHLD)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?ANE)7CAM?ADSO585)GFBMVEX::2+fbR6dTx8fG85MHr6+vl9Oeq37GkfBTm?AEQklEQVR4Xs1X27LiMAyLfMn5/z9eZgt4EiVVz7BlVo+osaNKNtBW6N2GD9APoP0WoKNfh3eLnwfqA4ufN8J6u4xnpTp7yKJ3BQb6A6vXg/k4nRtYe16hFOElpxDXNMF+FqAXUuUZWDwabcCiSWctpaiv+4VMEJ/kw1rRqB4rmX1xate8NYhbCX+2MErmEmFY2WFTp+BTfV1weystqU/TM9/a5llgUTVys5vBk2jDKbJCgeoSbDF0nU6fhwfsu6SCvFsiHhAZnxCjlzjQyaUBJsuXETuKo0KIvyYCvhJ8SVAWbH1jPEGxBsB12W?T8qetfZb5xhMzwOhTeIqloVcxyo39fMBUC4pdshMqxN1CnAPbgnP3LUMNUNlURXg3DlZWC8D68I2KYqxGRrWLuDQU1Cx4+jmAFuaBF+Xj3RvhbZ7l/Ac8uDetoo86UZkIi8dtsjxLLX7VgJclu+SOlqV8awoCXqQjIKTqHSceAxV3sbEMmWZ3gqAbxW51yAIRaAKXhwpGkI19uc5lVRm0nVYkaPCyopMWBRjE5yfP49dn/wjKsqi7faennBqacIiG5dVO1fkp7Hj1hy6phRhol0q6hM/v5PTWOE0dj+KYou0oiYVxayIYn22/nk3gEPH/nXKw3VFUIro5/OEc0V+MqhFMEV7QSvSYebQaXAHGtSoASUUxXvhuqI8V2QfKnKO3f5ddbEXrinq9yoCx45utqEy/QZF1FeiNR27StbEDVQmvqEoFFpTu6GX+ZFrqvbC/YrANx4x8yCTrApbxoKqvXCHIhqTGQtFajdUskjt8GXUvqIoCUoROHYVuswlVXvh/tRpRYRl7F4+ZGwpfEeRSUWXYtffhtuWav+tIt4N/R06cOyC9sK937DmAo1B02KvZHmj2IH2ws2Koklc2Q0vi+jvTLxC53cpSv6VI6F3Q7x9oNjRXrhdkTUNvRvKB/Kv9sJNiuLfxM5IUBw++Ia6TZFTv94k9G6o4ceGuk8R98OHu6FCV0NG1I2KuF98sht4+D2TQ4d7FO1CEf9iN2Rm+cfUrYqMJeGD2JEPmTZTfqOilsv1avgwdpbJ/hV1pyI/JBGs/zZ2sRl+MHWrImRJIlF9qAfv1rVJFTpNaUVdKQq+yiCJEC+Qx2TSbvhRlA5dn7OiJLNmZP2N0Qi9G9iHifJtDZP576uLRgeZdFlS6N3APvhIoRhx17ryIeckSobBJK2pKsvY8fCDKYbpaJCgXfg8taZa6Tp2PPxMMbpWZEoRS0qLrat1QsWOh9+ZYuBAjsCB/ROOA3PHglmwmldFx7lJD5hZpitqD88B3HBWJMscsBcy/S/oPIPvoSl133R5VwhJAn7p7bqgNgA8GUMu5BMFfK4I5IOkxF1LlH5Ea9pX1rGT1G/buw6S8En4I2Lnivp988uKtPXaHnYZgloDkAzE4avj6aVGmuSOdfEk6svAG+07+AOMW5xU/5K0ng)BJRU5Er@ggg==%iVBORw0KG;)NSUhEUg?ANI)9C)AD94GjJ?ADQklEQVR4Xt3awW4yMQwE4P+heLq8VJ7HZ5/nOtf8DS61QIFJCt0I5kKlKM1+8tpit/3XLiEBd7cedwfYVG63kG1/WpAIt0H8PosYb8G0Cp7Bi0nJGcRHqNT8GsWrQ19L4ggijpM7ZGD2d6Rm6ya5Q5foWJI26R2qRAeTtMmliaJEf0ty01kmmSjRfhKWSRAl2k5y0QxyR248ggTLeET0RpDWu4lmh5HcAbJlCElyAPzZROi5DDuKRMq5dHsm2WQNMFg+inQvy2dStN9+EkS3q+YfcHeTKEiqTKJK2EBqgiR22Hgtq/4eJH9A4u0A3X3j4QlSehOwh4Rfk/yccaflQ+XuIc550t1nb2RBDiHpiazDCwg9Q7GzbSPR1o9EiHAOR+Rw7iHBfnffdVAtp9OpfOXxLs8cQKKbrY9wdpGjgyJtluR/QYI9SlsoUj1NkvATdx5NmjsQWSTrQFVbRtBzNIkr4w5fonoNsO+CfVu/f4yOc++fxdrtQrRk8QvAajlvsBaJX1fLKRjlfGp8SpLPipJUNOk2UAs/HZr6SJDqComzjRQmlG6qWCRVtVBPpUSdxqRYwJcRkmSYFQWpA84qihsPjdF3/aOohUgNQ5LKmRwWno8qLxkPud27qZwi/pBkeYXdLBauCp56XnVW3H9TJIMWJQm0GioqkiVJLbQYD9ckC07OhzJNMmhRmtgZHVVfSArP@TN1JmYJJkUJSlqw1eSAlfM6l2Sd6x114XEqwDDMmmRhWiKRHKWlM01IKXQY5T/Exe6+Nre6WZdVHM+tNDZmJQyRcIdUjZTSZJ+ujDO0Xk+PFLytIggyRsvBkQdkALdlz1JyoRJUV5/PlvYkASgWwCsjYcyIOUhLUmqANCicHtM21KZ8Pge9xSJtWuqlXukFt4kyTL5VI1W4hlne0WilZKkX+Rp0WZStNIzJKhv7Mc+1UbnrZCUaAHz+tcp+QVipZeUaCspW+mJiQd77pL2v+Y3vFi0/524cV60n0RqUZK0aD+J8XwNkg/+om4Pvv75newjDS5PPAPCprKVpMOPI3l7JxJmSPw4Etqnkbx9Gsnbm5Fc33XvRmpU/yf+fqQewsX/5r8bKUIiZe4A21vmP24hqdv1SRFy)AElFTkSuQmCC!