Dot Net Perlsc# mathTop 37 C# Example Pages

["6.yyyw...yshetry.ys.Z+BaCEEEST~~}T~~YF64799664776F.CCCEZ.CCP477FXCP77F8ZCCECECXS}T~~}T~~","Math.Round."," This method rounds numbers to the nearest value. It receives the desired number of significant digits. It is part of the System namespace.","Method details."," This Math.Round static method provides an accurate way to round double and decimal types. It reduces the risk of bugs. ","Static Method ","static","First example."," Math.Round has several overloads and 2 rounding modes defined on the MidpointRounding enum. Here we round an example double and decimal type. ","Return: ","We see what Math.Round will return with different arguments. We use 1, 2 and 3 arguments.","Overload ","overload","Double ","double","Decimal ","decimal","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses Math.Round","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {","\n //\n // Round double type in three ways.\n //\n ","double before1 = ","123.45",";\n double after1 = ","Math.Round","(before1, 1,\n MidpointRounding.AwayFromZero);"," // Rounds \"up\"\n ","double after2 = ","Math.Round","(before1, 1,\n MidpointRounding.ToEven);"," // Rounds to even\n ","double after3 = ","Math.Round","(before1);\n\n Console.WriteLine(before1);"," // Original\n ","Console.WriteLine(after1);\n Console.WriteLine(after2);\n Console.WriteLine(after3);","\n\n //\n // Round decimal type.\n //\n ","decimal before2 = ","125.101M",";\n decimal after4 = ","Math.Round","(before2);\n decimal after5 = ","Math.Round","(before2, 1);\n\n Console.WriteLine(before2);"," // Original\n ","Console.WriteLine(after4);\n Console.WriteLine(after5);\n }\n}\n\n","Output","\n\n123.45\n123.5 <-- MidpointRounding.AwayFromZero\n123.4 <-- MidpointRounding.ToEven\n123\n\n125.101\n125\n125.1","Notes, above program."," Math.Round is called several times. Because the .NET Framework differentiates between a decimal type and a double type, the best overloads are automatically chosen. ","Argument 1: ","The first argument is the number you are rounding. This can be a double or decimal type.","Argument 2: ","The second argument is the number of digits after the decimal place you want to keep.","Argument 3: ","And the third argument is an optional rounding mode enumerated constant.","Enum ","enum","Notes, continued."," The program shows 3 outputs of Math.Round on a double with value 123.45. It uses the MidpointRounding.AwayFromZero and MidpointRounding.ToEven constants.","MidpointRounding."," What is the difference between MidpointRounding.ToEven and MidpointRounding.AwayFromZero? My testing indicates that the difference is found when rounding the number 0.5. ","Info: ","MidpointRounding.ToEven will round 0.5 to 0\u2014this is because zero is even.","And: ","MidpointRounding.AwayFromZero will round 0.5 to 1\u2014this is because one is away from zero.","C# program that demonstrates MidpointRounding","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {\n for (double i = 0.1; i < 0.99; i += 0.1)\n {\n Console.WriteLine(","\"{0}=({1},{2})\"",", i,\n Math.Round(i, ","MidpointRounding.ToEven","),\n Math.Round(i, ","MidpointRounding.AwayFromZero","));\n }\n }\n}\n\n","Output","\n\n0.1=(0,0)\n0.2=(0,0)\n0.3=(0,0)\n0.4=(0,0)\n0.5=(0,1)\n0.6=(1,1)\n0.7=(1,1)\n0.8=(1,1)\n0.9=(1,1)","Performance."," How does Math.Round affect performance? Recently I added calls to Math.Round in a program that is performance-sensitive. ","Further: ","How did this affect the overall efficiency of the program? I benchmarked Math.Round to get a general idea.","C# program that benchmarks Math.Round","\n\nusing System;\nusing System.Diagnostics;\n\nclass Program\n{\n const int _max = 100000000;\n static void Main()\n {\n var s1 = Stopwatch.StartNew();\n for (int i = 0; i < _max; i++)\n {\n double d = ","Math.Round","(1.3665, 0);\n if (d == 1.5)\n {\n throw new Exception();\n }\n }\n s1.Stop();\n var s2 = Stopwatch.StartNew();\n for (int i = 0; i < _max; i++)\n {\n double d = ","Math.Round","(1.3665, 1);\n if (d == 1.5)\n {\n throw new Exception();\n }\n }\n s2.Stop();\n Console.WriteLine(((double)(s1.Elapsed.TotalMilliseconds * 1000000) /\n _max).ToString(\"0.00 ns\"));\n Console.WriteLine(((double)(s2.Elapsed.TotalMilliseconds * 1000000) /\n _max).ToString(\"0.00 ns\"));\n Console.Read();\n }\n}\n\n","Output","\n\n","20.72 ns"," Math.Round, 0\n","25.26 ns"," Math.Round, 1","Notes, results."," Calls to Math.Round required about 20 nanoseconds. A call with zero decimal places required less time than a call with one decimal place. ","Tip: ","It is possible that the more decimal places required, the slower the method becomes.","Also: ","Certain computations could be optimized by avoiding Math.Round. An if-statement would evaluate faster.","If ","if","Cast: ","Simply casting a double to an int rounds down. This requires only 2 nanoseconds. Using Math.Round requires 20 nanoseconds.","Cast, Int ","cast-int","Note: ","This article had an error in its description of rounding behaviors on scientific data. Thanks to Gus Gustafson for a correction.","A summary."," We looked at the Math.Round method. We saw an example of the MidpointRounding enumerated type and how you can round numbers \"away from zero\" and to the nearest even number. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"]

%iVBORw0KG;)NSUhEUg?AMg?ACRCAM?ACxBweT?ABgFBMVEX::/2sznmbrxtcL3xsfhibf7z8r+2Mnrpr:6uDegLT/3c:3Mv/7OP1v8f/9O7/3M3/8er/8+z/4dX3xtP739JvZl6zpJn/+/f:fzcyr6wz8k?ACVzcX/zdn:v7/69L/9+:+O7/ztjp1cb/5tHRz8:694pJSLl0NL/4s:+fFEPTj/6s7/+vTRvaarmoj/1NPU2cnDsqHx38r/68vyztXBz8yXiYHUwKj/19L/0dX/7M3/6Mz/5cz/9Ov5zdj/9u3bztH/+fb/7uWBdmv/3sv:Pr/8uT/9OjpztP/7df/5Mj/8N:zNr/9PH/7N7Kzs7+y9j/8+vo3Mz/4c3/4dD:PknIh3/2dD+z9XE18j/8ej/39T/49z/8un/29D/4dNVTkT/2NL/29z909L/5cn/3tH/387/1tv/1N2QgXP/+PT64M3/+/b/8vD/9vP24cH/09v/3M7/397/0dz/6Nv/3c7/5df/4tP35Nn/48r04sn64cv65sj249aPeGGY?AKbklEQVR4XtzYVXPjSBSG4fkVYjAzMweZGYaZeZn/+n6nW8mpipMZL0Rj6b2Q7PKNnjpdLVm3rs113VuhyOXCAeFCA+HCAdFF5AkBhIMnDBD2oDBA2IOCDRkHhQHCHhR4CHdyQqYQQN6LNE143MBDqJLwCF.IcxB8NB8ggzhTihecAGHIPYEHDIGCjiEc6lwQLiQQLhQQLiQQHSXCwWEuzFIXVESfkEm1/wLiGpZhh+QyS3R0luNn4YCDMnHqHw+X9K085ttICEJIxFLdOrAROqqqjZK7zGgQ8Mgza+Gsajri3Q0VLUrCYuqonT+mj6IYilGxlJjsXLGQviEFMsqzUVLdLWua+CoWkgRjscWynSmEVKgyzeAeKwAo0pIrNkcVCyruxYFRLUyBUICAkGm0gF66i?KPVGDBqsrwgkDQmJDASk2exa1umb1TUMRXHduxAc6noiM40QBTMoW9ZSDOFyKxIy@DBAJDCoNlsYmJbq3XL6tAm15lGSFkCVIIYcI1DKgOEWTSbsFUiG1urKkFcaoog3iSMGPVFiLCVh4jOkY3Vtbk8bdpSpE0JpEznxtch9SIiSLFIpCINaCZaOtG1E6R9awgvraULyJsrIZULCIrgMPQ8AGFC8rI15D9ETqJAZ+yudQHBpvXpdBwClUKA;Rw4GxSoyEmtDaTx41VinyFoCVsR42ICk9EfFnq1h8XxiEDCCqfEkunFxBuJHsOzeZzeDCgaL4Ej+4nBHcQUSYhN2OqcgWk7v10PcTjQLMJTxIgseB03Q8IaijkUOBAKhin9e4YBKmn+EktfxHCnOebaHn5KJnc2F3FggNAB+mmnn5lEcOI8GcQrq5YZsKXIFyOOlpeXj7O/byxez4g/UYg4w2uiwETQ7hldPQy5w1I9y4scBDu5REm9DK99QB3IP4fFDAIl07/iNLp3cW7c/RHlTmBg1Aeh0APDjAgfssdJAjHpK3FtwsaDyB4EOZgKJqmLSxo+sqKDo6MIFHcY7EGAwFB2grSEZ01XUMrch5RNIeicgt3pxyywkkSdjKa0AIgXnMUzQePcjogJbwJilJTC2GOWFocc0iERyHcasWbLSJNJ4RjyGXR6Dc0Shblvwl4ouAEDoJGMvLgmBQDWqP5BBXCkQgDSiaHxQBDmFOt9p6cfXecGw2LxeBCUI+qgtMD6KfjZPLcEylGggeRGjqQ6Oy7X7DgIIpQwYOwSEyoX+2d3Xs0Sg7hoQIG4W7L+v3qk4cvcuSRosBB+l6kicfj/WcJ2z5MAjQUCUDtjmmbdw49SAPfbLP27h9AEhnL8AfCrdu2nb3df1at0qYwGg2Hf5q27I5U2TKzMTEEDt8hWZsgNJ99Z3/fid+u9shhCkwNE6qRqCaG8m5CSBcOnyHzpi0hKC5z5iFY7/eftXH+Y/Q7jjSKdyZcE0HqChi+QXgcbZMhIgDm487+9qwQrqfM2r0XANQmhHSB6Cj+Q1L9y5A9054VIhMixwFpe9vp9+GrHQOAaX8FclpZ8R3SbvUZchEcFE2Ezg6iBQcfNu3ew3uP8OSDroG8SaR9h6DLEC4FiCA566ZpksrZljkA9c4evqAXJ1dZpgtC2/KeEDlZm0o5Xuee/c+vnn5:758tbW7O6UQWkomBsITwVfB4D6:oGCByDPM2WQ2T042nBQDjULyt5liAwW6QGIBpTevR6S9xeSpQGkYGCIQ0vtCgjHoKc7HkRH32YiPA6zJRW4j7TkSL4C4V6:k.nZ2dj28XTqTnHHJw92BmBm9ObhbSymZbchzmPN8e7baApICbBIJeCcgHL+HRhEMHxOvgYI76nyDzKQRIm85iw8XRRnspWSvesiHJzq7DYacmgaiVSkUt4O6uIoKw5+PCBYQ9M5gQPMP/BIGBYwiXlduwrO1MAsEwOGngALmmZC53w5B4qy0Y5vzf1dvbTxtHGAXw7t3rG9cARhUrq60obVTFygtQqSpiE7+VSlR2HS2xE4iWUNSiruu189f3fDNeRnTqMha3fkcY4rf96cx8uybM1p0hR7Mhnc5kMsEjEEBfzQXR88WsbG3t7OyIe4jxHlExhyCEEZ4OSA8BoTwKRHGmBXV+6PVOT5lCbpLyPM8sy+rtw8MXguQqGUQoiDtExbIGg94pc4hKOkjRTqvFH3KdXm+/BdAb3hCVoiC6YN6QtIPXIN1vfUA9xGEJUcF0w8Qe7FM91wCOEEsmy6rV3MJ4o/0DEX1E5wgpOGQW9x9REDA/8YQU7RCnmlcs8rSwzCBCWEFUKpQqUrEGp/tyvQnOBUOITE6cvFoZDGjEvRG/brig8IIoT17NyVQLw7fD4dnHP/+6ECRmEJVarRbHca0WjkZvh2dnHy+mDXGEIAUHoFB6LmZD+v9vCKJI8GwcXl0dHf0bpHncj+Ok3+/fP8T3yu4NSN2+joQ4Ja9sO74RhPIl/p/n67X1pNHeuJQeBUFwUuVbeIQFpPuCwPEPiFMu4hEjsKdvHEMI/tZb5Pkv07OEbVGQhKhEje53zYPjpJ/EeCX0qfYuEBeOmRDRCBy24zpe2fONIHtkWHtPkiSSkSAqSDmUhwo66GMIvj4/PwdAkcwhdVylBrElQLFKBHDx0wiC8xC/AbBJJ/DmOKp7uZBsjyaT89dVQSLNxBjiAlGy/xsCqmzCcYwa2UQTNQK8oGN2iCFGOBsbl83lWICIQ+UYQjwn1SBe2cHOcKXDx8Iyn1rI3qtfdwUEovdzQBoi;NF+DsKqo3GHXBwLdXFxVsgJT/VIeWyU6edY5OljncV17FLc0ytZwKyPl8jDZVCDdBhc2l7/K66GFhBEFiLGkRFhwQglGXQjANIafrOEIIAkNDZofkgeoQ8wpA4Qj8ASc6iGcSlMuquSxofELA826aK6vNA6Cztp7tCKOIPbRH8a+NqOUZBFeJY1m0Q3/bsYpuXAIHEBwC1eOaQ5BXG78voniAygkWiLjZQOFo5SdMMnmwGRAUGD5Ci.9gU8jmc/SxF90vRIWWXIQJt7CEBbdyklkBOLMhLgzimyzAMYY820Uda5+iB4IoDt1m5YIL4SFIlmWyJ8RxbNUIhnEBKZlC9qgO3AsfEqJSzISojQv8MBqfnKSW77q+2BoOOQIQSpZVmo4rehsYQEQdu0n0CBCVH1cRunD6ubBUByHFnQMA160D5MHle+Jx0SefyWZ/QctqXeblY0FQhkoUrZbLq9hBJJFxMOUySGTsihlEZe1JIO02QWjRDR3BKLXGK2nFCnzyUi1PD5k/w+FQPiJcLsThaIzNQ7fUDDG8Ico8IUQ/i0Nf3Y3mMR5K31UzjDaQspwRRKXbJVAkHnoOkp9HE4ACcHJ+kCLEQT/dQypoPKmFYUgvZhDFQT8g4YU9dLS8FAMQbsPDC6LSvv40jt8uLCwlMTjbITsIcuPy5JBroiCeEP0qUVD0GWOIL@YQ/Tr5Q7RwxhinghhDdE5EW+I7onYQ1SEhjdE9zQ4Q3QPwhuig3hD9IHNHKIXxB6iojxdphC9oGkBXCH6guMEMfd02UL0R1LmEH0i8IboI5s3RPe0GUP08Ibo0SDMcxvkbyRn7fmc/faD)AElFTkSuQmCC%iVBORw0KG;)NSUhEUg?AIw?ABpCAM?ADflzs9)VFBMVEX::2+fju9PHy9/X0+Pbx9vTo8Ozj7ejZ5uDP4tmwz8Dd6uTL3dTV49x8sJe208Wuzr/P39drpoq61chopIecw7CSvahgn4F1rJFjoYOAsppyqo9IgRfD?ACtElEQVR4Xu3XyVKEMBSF4cxh7Hn2/d9TrtE+VUhTaJrcLPIvLGXjJyegiq/0ZfPIoIBRt2sOBYzLCePzwZiA+bgwtvnBaNES5iylYUlrLbffGGnlF+YiteJKNyPMWUjNkh0wu18YprTNCCM1PwZpZfLBmJwwumAKpmAKpmCSVzAFUzAF47oQvlgCcEMrYtxfMBboVTBtTpguG4wfDCoXjCXQNMb3g6/3Iwo1Bvlq3/Wti8aIfdfVwFCghtw8BnP3Jhbj.EMLMjNYhSAdSyGFO43Zk+KvuoJs39iTLhQDT0xNSm86wM7DiPCww0MoA6fvD7A6ueOtKSPxVSkGGPa502vCTuD8T9YQ8xYDDHUGENr+Oc362cw9LNYQRHGRmJoJz/GYBwoxxgcLmepeEwYov4/pkPxmDCEeRNGxGIsTTJ/ZtJhaPbqH08T2AqAaAzt5Be+ZwxhzOjR7u3bMEG16A2MWSqBlx6qojHYff53E2YhJy68GVMBA820RVjAoXkTBqz5v2eQaseXXRU2da7831QwBbNmUjapMPK4na1pds0lFcadrgtKhTlkhPH5YIxoCXM/ve5wSIXRAbNTbjLvvFKXK3VOgJEVYRqpJ7PWmPPTsjJG2m+MsFMpZRUsqTBbIScyRmhYEmJeBEsSTAvMjCUl5jhv4cfAwo+BhR8DSzKMUMBMWh4yIeblTE2wWJEQo19gtsGihGC+M7A4wYyBZaPA4JsJG/HfGVj4McfReeF66cGygYURc8RG3BicF34Mzgs/BueFGwOLEvwYbMSPgYUbsx2dF14MLPyYY4eNuDH3xwGW5BhkFDmw0SLMppls20S0o84nWJZhEgQLP+bmxTLMx/qWUy8WYjbX+7pdb5VYlFau7uq12g8NH71YilHGGLlKhpJieUZbtWbWavGH5MqJuEqfDRAN8iKPPjs)ASUVORK5CYII=$/9j/2wCE?gGBgYGBggGBggMCAcIDA4KCAgKDhANDQ4NDRARDA4NDQ4MEQ8SExQTEg8YGBoaGBgjIiIiIycnJycnJycnJycB.gI.oJCw@Cw4LDQsOEQ4ODg4REw0NDg0NExgRDw8PDxEYFhcUFBQXFhoaGBgaGiEhICEhJycnJycnJycnJ:BABEIAGgA8AMAIgABEQECEQH/xAC?AE?wEBAQE)))?QIDBQQGBx?AQMDAgMGAgcDCwU)?gABAwQREgUTISJRBhQxMkFhcaFCUoGCkbHRFSNiBxY@TM0Q0RUcoSzwdLh8RE?gIBAwQCAQUB))?ECESEDEjFBUWGRIqGxEzJSgcHw/9oADAM?AEBAgEAPwD9/REQBERAEUO7Ku4yAuiz3WVd1+qA2Recpi6/ksnqT+t8mSge1F4nqZLeb5MvPJWVH0S+TfopB1UXFavq/r/Jv0Vu/VX1/k36JQOwi5DVtVfz/Jv0Tv1Vfz/Jv0TaDrouNU1modznKlJu8YPtcB833uC+Fk7W9oJH/vjj/tAP/G6vp6Up3TX9kOSXJ+povzrtF2hqqiHTe61EkWdO0lRtG43Mnx5sXbwcHWvYpqmt1OSpnqZD7sD8hu5Zblx68LK36DUHO6I3Zo/QFhU1tHRCxVc8cAl5dwmH/wCrdfGfygSxbNFD/i5GfwGzfm6ppx3S2kt0j6OHXNIqKgKWCrjkmkvgAu/T/wBLoL8eZp9H1GE7tuwPHLyvw4sMmN/k6/XopQmiCaN+SQWMfvMraumoVTtMiMrs4mvdpg0SeKn7s85yhn5sfXH6pLifz7rZZNmm05t274hkRlw9OURdfS6joFFqdZBW1ByblPbAQccXsWTZcrv4+6+F05mLtf8A8qb8zV9Nabi/j+3LIk3fPJ9Z2X1+r1x6zvMccext7e2xfTz82RF9Ve/X56+l0uap062/E2ZeXyDzH5ujLeg0ug0zMaGBody2fF7vje13J/dV1p/6n1Dj/lpv+mSybi9ROKxawy2ayfHaJqfabW6iYI6xsY4jvygDMR.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:Z%iVBORw0KG;)NSUhEUg?AL4?ABBCAM?ABYbu5j)MFBMVEX:/+1wv+jqv9siv/p6:W3f8zZv9gb:19v9NK/8zAP999:S:8z:8zzP+z6P/0gInF?ABg0lEQVR4XtXXy1ICURAD0H7c96D+/9/KQqkhlEKD0iTrWZzKYtJXbou2s+jvn1Q55f2mfAMOb6Ec5D6+c/ObcvOdm98qN9+5+a1w842b3wo33/6Dv2H22g3zCL+PKF/uSKDsGL8pN9+5+U25+c7Nb5Wb74R8h+ki41eYLja+Qf1k/AL1k/HF4XIg4ytMFxl/X7/z8aF+Ov6A6bqR:FTnswXa2B96LmyPZtfoH4yvsDlwMaHy4GLj/Xz8RXqJ+PD5UDGh+ni448O08XEh+lSrtUVnC6qm+ey/krGx+li4+N0sfHh7Cfj43Sx8bF+Mj5OFxkf67c8frF+jJUovzRIBr/4+kovMb5YPr/OdcrUGL9k8FG/Tw3xxbP55/o1R4hfk/m6IBbii+fyJ/JnjK+5/HWRGuJLfzG+xvh6lX89f8m3GH90ar7Ya/FrkF8y+XNhRpAvlsi3+H8fUxP5A+svYb54Hl8Uy4/zNZEvCvo4XzyRLzrhXg7zNZMvw/o6ptsQpvDnE+wJyVGQ5SG7)AElFTkSuQmCC!A%iVBORw0KG;)NSUhEUg?ALQ)9CAM)zrLMQ)MFBMVEX::i4uK+vr7Z2dn7+/vDw8PMzMzz8/Pm5ubHx8fr6+vR0dH39/fV1dXe3t7v7+8OWlUt?ABXklEQVR4Xu3YzW7EIAwEYGz+SXb7/m9bteoBVnTq045VMddYn5xEEJzwEpGn/kREgilcQ4q+pEgCMt9IUbeJN+DJRtNfI3udbqRLQQp4UDzj7gqTawBhGLgWd80zUtc/08HbpRgPNaSEfUjGWOUu45toYlr/JKMvpWNilvKcwjYUo83qY3VqNjwmhnGttWvqBPWwD8FImJSJqmEbgjEm8QNbLezzdmO+hWuHFcPaf7sRMThfj2EfiiFf6aoJ7PioabKBX8sTlLkyqmGTdWdEw3blzWiWD4Mzo1kmJkeG/bDDNfD5dgCVZ+AZMwLVjVG7beigGniMKAm4Xgyx1hKMf9zzBVg3xlDbevVk3Nk49vMN/98UlA/b/zdfRjT9fXNm5On+QK0ro1pO296MZthj3BliWLBcA6+hBEyegYszIJ0Z0TJA8o3TNN/wn5OTs3tQjdP0afo0fZo+TZ+mT9Of4mQgBSW24WQ)ASUVORK5CYII=%iVBORw0KG;)NSUhEUg?AMg?ABJCAM?ABPapnR)MFBMVEX::9amn+z879o6Lx:rj:T/MTH95OP/9PT8ubj/?Dj0cTR/+3b6drx9O/W9ORYTpHN?AEfklEQVR4XtWa23KzOgyF0cFHkvT933Y3wa4QQYPr/RPqdUenhnwjLUUSmYYRs6tinqaQiACAvoVhIAp3q3KOHwmyFsQhMITi5pgf5PNWfoho3ETMHARDBGNxOGZOeU+kAqgOMLyFD4jC3+TIuAZRAWT2u+iewkUcjr8vJa+Alg+PSAQ52iCPbIniBT53yyVUjHDALiCYTflwFQcpSyiZFqH8F0g0R/TCcQjinOOV16HKX0HiKocKCDTB18sC/yVOCwk+XberZ/Vnwt+AxGIHd1vfLIDUuw+IdUBQAtJxSNstVhL6oNVZZ1bqSUcqkSqhkkLuPwhSL4ttYzu9HEKpZpowf84iTmc7TD1ej9IjsMq5HKTDdq5Uu+fTEgG8qh2lWAF4Ub0MiPM832/O8XL9OuLLiSOL0K9AgiSQAYI7cwJv5gTAdbSdThFauqdJnaF4nO19XrdB3hs69HkrCG8pwuwrCDMjGF2Dne19XhcQjZjf5p0AeUc+bUCYudzb7fYPEA+yferyugnij8MhoZN7O2YuaTszP4RDRKd43W4TCkd9VFJjCxHIdeQfEHeTdhT5sR/DeIrXBUTHitSYIBwwF+ZINURUQJ4cTkCkkgPGZ7mrIU1lU+LcnVYq1EAbpQ6vC2K+qz9XDj+r707d5jxju/JF5YC707cmSdfcIGrxup1ZBVzTwdf+V04J3eKmAgA1VYx7C/KBsMXrZvFNe2MCGN3qvC4L9ebelxAKSNq.AtIaPG6NdnAbpTibu3TIOWvRf6+sbOA6LWBLd/mdVcDonvfec82YToGkTgJogkScoPgf/Xwu3XsfabxqjDUI8JB+4/ll9zta/4WFtWn4Eahxes3xZF8Vk7X1D5ajbLXHCFXgfHYg2y3ZaeEcEiZz/BlPJ61oZLEbw2I0laZg5M9sTbOxsyq2ixCTFTQhGP7hBzZ6c9bj/iwCaz0Im7RDwi8FHrHXL2bOzIZPKw0lAobkMTRSQDVZOa7utj2veTBFypJAXDrFbGHH3njAOtlYersYv/Jbo5CiZ6E76DKp7cSAMcB6e/hNQjYGPptxWE7BGGzLZTqSyfM6y17eA8pKmjVDpmLe3swizZDfw+vsz5ssl5eN7aDeCDsWHueM68frYgdiwlpLcTYuWU7a15vX8eG9i3bwYET5vWmJ6h1XfsB/8ndXBdIf96et5vrAGl37RVe7wexvY7Xet12YejYqF/odfu/U6NrJx3uxlPhBK8b8YMO117rdVmr6OkpjeR14RaSKFv0Tte2nwr/lt7pgY9WrzbYKQikYLn2Qq+L9JYqeOl25zsv5sTy3gqNbvyDXu/9vY4WfsLr/fTtIwn2e91umPvp+0nwb3pdxBoFwQL5q163UchvIYBSOMHrZ/8Q97XMInhKZkRLnV4fTLbXB5M9HI8lu/kbTHYdHU66vY5+zMyyB57BZM87Y8j+oe+YAZF+geWt10gOcYvqUpleAul6aCxfGO/XB+CwRrUBODrmG4/TmCDTBGsMiqM1V1J1vVDgNJSYy0yzCJGIEH8H8R86J7+C+8H8W)ABJRU5Er@ggg==!A%iVBORw0KG;)NSUhEUg?ANM)8CAM?ADLy3+8)MFBMVEX:/9/frjX1+inp81WUaW6udfGx97q6fIbDJDr+PfE7Onc9PLN7+zT8e/0+vu56eUR9Hoq?AEp0lEQVR4XryXzQ7DIAyDfc0fe/+3XTeph4YGI5D4jiSo2HMQA+TzRNDhzw7FD30uOjr6JsMf+czj4PATI1GozqsNYDsVpzS1fGQiOuplslOOaUIkN4nmVrhN3XKc04ScraFkq0JrzKx2UpMla0Zma10hXhlOaoIOJipSjZRqq3BWkwy8SSUyL7VTdlgTvHTcipngRUnJXNMkWCU7TmaiqMbAJ1nTZFgnjwabCV5uyaUlTYoNWuG4FmbTmYGNYlnBHiccPhpSu8YadCVCvpU84njwn2ncIao5lBwjydu8z1u/Fnyb48b1B/GbvsJ28V5A8E/AX3uaX6gq8Zv8M9lG+jts5hPy2iRxcYuS1SfaPpEl2FS4463LLv6i5g8n28PE45yyIFPbvqyX65brIAiFQckFCfb93/aUkIacrprRzuwfNWp15RPc0cLWMiGtK2EuO1QdzLzyVFdwx4PP3J@ekEqCpBoPfSw7JOBLCmuzlHjfl6014P+Y6rLiUSWfL2ZV1ybS+GvxN+duySYNmU0minNGbNuW2HoUd0OIlUxVfgzbS0muNWVSSxCFaAyi3YvuOh2EjHzONJ4oLjLhYNpAYMypgpgDQBR+uO04Eq5Qs30LNX4ffC0ZLr0vPCWbAmAE8QUqSLtM+49r4fcMuZBXy0XJtpzz5lUoMWUyep0GAqKqAXp7IgecFkt6jGFVabrsqWGMY9ezPjCNPkrYWIRhQbTKTrKSUy8fuhxBlwJ0erzyUTnjOTtyRrv/Dyk3RuxlE0EVxeK8A0TJdyLeTYu5JOJJmuJHmeYk/1E3bnRa9navciNNBo/S/LJpMIzORQJ3DAtsBypkqw0JuZrS3pf+JSz1YMJz83m7WjTdtmEDDimMQnX2WOV75jeepiFnenzGHMM13VZXE6TwKPVE6guY63XQJmVGxWNMJlqk6k6UTDF08slskV16rPzrf9sE0zgrzfE1IhT7JgELSZzCbL/1M7PLncHyo4CSbjWM8XDYNOvmMjft8mU3QfxLkzjx345woQrTinlsCwMD/vAVJ9yJpEGU7jK3GRa1l3z7W4av3EeTJH4tJy57rplkqeaTL4wuDaZYO+j++PouE3IzvQIpAQu8mr+yPTKODG1PSL5HNRi8hDmlnsNfnVDvp/m7GsaDnQc3KYPTM6yl6rK0GSChGYSYQPvTHVtOIQ+GuKB5FMx9YxgET319aUpcg+H7k+llynuQB1WqbqFylbhay2GRPUng9DhQL3cfFcHk4FcxPC1cpx278Kkb3urh8mhXAo/SQInBgwrrBX/NWsGKRCEMBAElmWJ0fj/3y7McZQapCeQ/KCwCZjqR69r99vYgRcGppzb1+/6si2znvPidJ8fCb4A4Xo+n2886xpfLEN/l6mBj0u6r2zSYQKTrjB0r+EbzCYzcXlGH85CbDinC0ypCoOzwJ2i@jyk4cGPUjz6kzn2lb3NB19vM50QxoG85amMeoU6UxjJpc+YMFBK0xh8pnCxPk2WLo6U8wUJt6sjYIyZKaWw8RhMBb8KtNMY8J40UP1uky0BhjZKjNBV5eYW1Um7i1xNr0yE3TfUR5GdaatP+OH6rWZ/usREj10r/sZ)AElFTkSuQmCC!