Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932618Ab3GVSVY (ORCPT ); Mon, 22 Jul 2013 14:21:24 -0400 Received: from mail-pd0-f181.google.com ([209.85.192.181]:52894 "EHLO mail-pd0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756324Ab3GVSVX (ORCPT ); Mon, 22 Jul 2013 14:21:23 -0400 Message-ID: <51ED781F.6060300@linaro.org> Date: Mon, 22 Jul 2013 11:21:19 -0700 From: John Stultz User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 MIME-Version: 1.0 To: Stephen Boyd CC: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Thomas Gleixner , Russell King , Catalin Marinas , Will Deacon , Christopher Covington Subject: Re: [PATCH v4 03/17] sched_clock: Use an hrtimer instead of timer References: <1374189690-10810-1-git-send-email-sboyd@codeaurora.org> <1374189690-10810-4-git-send-email-sboyd@codeaurora.org> In-Reply-To: <1374189690-10810-4-git-send-email-sboyd@codeaurora.org> Content-Type: multipart/mixed; boundary="------------050008060700070200050108" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 29935 Lines: 453 This is a multi-part message in MIME format. --------------050008060700070200050108 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 07/18/2013 04:21 PM, Stephen Boyd wrote: > In the next patch we're going to increase the number of bits that > the generic sched_clock can handle to be greater than 32. With > more than 32 bits the wraparound time can be larger than what can > fit into the units that msecs_to_jiffies takes (unsigned int). > Luckily, the wraparound is initially calculated in nanoseconds > which we can easily use with hrtimers, so switch to using an > hrtimer. > > Cc: Russell King > Signed-off-by: Stephen Boyd Hrmm. So in my testing (under qemu), this patch causes bootup to hang. qemu-system-arm -kernel zImage-arm -M vexpress-a9 -cpu cortex-a9 -nographic -m 1024 -append 'root=/dev/mmcblk0p2 rw mem=1024M raid=noautodetect console=ttyAMA0,38400n8 rootwait vmalloc=256MB devtmpfs.mount=0' -sd test-arm.img -redir tcp:4300::22 Config file attached. I haven't gotten a chance to look very closely, but it seems the folowing patch resolves the issue. I'm not sure if we're seeing callers to setup_sched_clock happen after sched_clock_postinit or what, but it probably needs another look over. thanks -john diff --git a/kernel/time/sched_clock.c b/kernel/time/sched_clock.c index a269890b..c018ffc 100644 --- a/kernel/time/sched_clock.c +++ b/kernel/time/sched_clock.c @@ -138,12 +138,6 @@ void __init setup_sched_clock(u32 (*read)(void), int bits, unsigned long rate) pr_info("sched_clock: %u bits at %lu%cHz, resolution %lluns, wraps every %lluns\n", bits, r, r_unit, res, wrap); - /* - * Start the timer to keep sched_clock() properly updated and - * sets the initial epoch. - */ - hrtimer_init(&sched_clock_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); - sched_clock_timer.function = sched_clock_poll; update_sched_clock(); /* @@ -175,6 +169,13 @@ void __init sched_clock_postinit(void) setup_sched_clock(jiffy_sched_clock_read, 32, HZ); update_sched_clock(); + + /* + * Start the timer to keep sched_clock() properly updated and + * sets the initial epoch. + */ + hrtimer_init(&sched_clock_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + sched_clock_timer.function = sched_clock_poll; hrtimer_start(&sched_clock_timer, cd.wrap_kt, HRTIMER_MODE_REL); } --------------050008060700070200050108 Content-Type: application/gzip; name="config.vexpress-qemu.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.vexpress-qemu.gz" H4sICKpq7VEAA2NvbmZpZy52ZXhwcmVzcy1xZW11AIw8y3LjOJL3+QqFew+7EdNtPfzcDR9A EJQwIgkUAUqyLwyVS9WjaL9Glqu7/n4zQVIESJDuOpTNzEQCSCTyAST8yz9+GZGP4+vz9rh/ 3D49/Rz9vnvZHbbH3bfR9/3T7v9GoRilQo9YyPVvQBzvXz7+Ot8enkez3yaT38a/Hh4no+Xu 8LJ7GtHXl+/73z+g9f715R+//IOKNOLzgmTJ3c/6Q92rQuVSikyrgsikYEkeE81F2tAsyIoV MhO0oDJvwKkouMCGFjdN6FJnhLKaaYOLBV2GTHYRJT3PvkQxmasuPlsrlhRzlrKM00JJniKr Bk8yuoAxKhxdlLEvHkxA0nBOZIOpuS3WjM8XuougJOZBRjQrQhaTe2vWjIVFmJAiIRLnq1mD WzGqRYbdKXY3/us7/BvDP0vwhSQaxiQXIPYVzzwdB/m8AYYsqqXHlb47O3/afz1/fv328bR7 P/+vPCUJKzIWM+jv/LdHs9xndVsQaLEWmSWoIOdxqDm0YRtNghgWqRQ06MYvo7lRtKfR++74 8dZoC0+5Lli6gtHjKBKu72bTGkkzoUDuIpE8ZndnZ8CmxpSwQjOlR/v30cvrETlbykDiFcsU KtrZmQ9ckFyLlhIuWZayuJg/cOnHxA8J8WM2D30tejqJHy4ahNvxaZZWr/Yk2/jNwxAWRjCM vvAIEDSD5LEuFkJpVIO7s/9+eX3Z/c9JlGpt6zts8xWXtAPAn1THDVwKxTdF8iVnOfNDmyan kUYL2F8x886C5GCpPBMwoj5tQ5KFoK+q1kX4ffT+8fX95/tx99zoooe8hUGlB0sVMD9KLcTa Xu2SDcgKdpFiaehvRRe2uiEkFAnhqS2CBgpLA3vYM2MlSaaMobP0ymxHBVpPMo8RQkPHVizV nqlayHJne+ye5nRZBJkgISXKZ+VsHhaZWQS9f94d3n3rYNiKlIE4LabgDxYPuPET4YgGgBJ6 EyGnHqmUrTioT4uTtU5gonGBChRWdlISMPfnevv+x+gIAx1tX76N3o/b4/to+/j4+vFy3L/8 3hoxNCgIpSJPNU/n7dUzK9GgPUMNVGjcIAObB4Ta5tDGFauZdztoopboNZSNNdPJaD5SHlln DGw8ze3OJMASqRHsGSZA0THFsWctEJcrlhVfVE/LiKQit218AyzA0UR3kyuXXYVjG0K1d8ol kdLlsvqlUk2yjAV6uaSCBriKnqHzZfmLtU+XJ2kJy/DFAh1hBKaARxon09oSii7AwVM3xKDz TORS2ZIsQd3N3iaAiIQ9sGyIJGQr3jNrmKxirrK0WwMJKpxvOZkSeQaxldHpcudUqIQldN76 bLmMBgbuH6OFsI1bwg+PSGCzR0MDNhL2EgTxsiLyt18wupSCpxqnBpGWX2boDsHWwlb0yCTn 4ZzD+ooUwgxt5nRqWOGUBj3Qhb6XrOzSL/5SUTBI6Yy4llJSiDVold0HOM9IwYrDFqYQO/rl kGHI6TNAIB9QFhOTZdZymG+SAONywa2IKgs7QQuAAgBN/V2H/dEM4HoiGdPKH8UY1IV/PWkh JJhd/sCKSGSFgl98frMVooC9SWHKImSWQptwAhZwctXA2AZU0XJQNdpeDOBsfoC59HS9BLC6 T6x+akgBP634KAOldCJta3OxOAJ9yyz/hvlBEeU2hyjXbGO1kcLGKj5PSRxZS25coQ0wXtwG qEW5PWupcWFPnSUBC0NX/2xR4iYu2qGHAYJBKlYJTN9YVeO6qnxT7g7fXw/P25fH3Yj92L2A LybglSl6Y4gkGp/mMj+NydjSTieeEa6SsrXHsGHeQTQEM9ZqqJgEzrLHeeDf0rEIPN2BA4l4 XIYMFUiUMNZSQAt8YvqvPJEFjIDF3j5Nu6uLALIsSDnnKdoUimFE38osTXzbVv1lxrQXYWJB 41YXQixbSMxjidZZuxHC4VvzeS5yC4nLcnKUMK0Fi6UjfhuJMV2hFxkjvrgakajkBfi3vJ3N ZWwOOywNywOFSiAFkbxFR2PvjCQvdamFW6xBLxgpXYhPTM1StWLpNQFlw3SpDOHrxNXDQjGK KliAFmiWtYcLIoXU2yzH0tEng/ZEoS2KRIRVN5JRHnErrgFUHkOMjEuEFiezJwHhTMrA7NDl GnIea71EHKJxUTkwTMNZBwExXTnR8oiAitWvX7fvu2+jP8ot/3Z4/b5/KkPtk0ojWZW9fpb4 lYq2YBmzVwQ3LE8jKzHPdJGghbTV21hRhUbibtx0XsnB50e0kEVCIJtLbVvsRnpxEEKM+9ON SdDnBsof5ln4mPvNSuO2NZtnXDuu3QhObg/HPZ7SjfTPt51tKUmmuTanIeGKpNQNWAi4lbSh 8effkLgPUwgVfcYjAU34jEaTjH9CA8L3U9R4FQrVULTzq5CrZb8hTSAK2hQqD4bHoASk2lwV m5urT0abAz/YLuyTfuMw+YSRmn8mmDyGmPOzdVL5Z2u9JFnSs06124+4X754HnR1429bHsmI kXr89w6PHm1XzkUZB6dC2GckFTQE2x87263G0OiL6/rL46y6wcCJV09LHMBAq6rfu7PH7/85 Bcewwin2Zg6V4cs1BVXmVhs/ZRJzs0Gb6SdJ3nIVCfTGZUw0RLROdmSwpQkgkLv4NxHSgIuK V5yt+ynQ/xDN+07ckITo20k/lsZSXU8mm36KOcP91I9ngSKTyXiAQN7ONgMdRELoIIOMa2AS KdMDHLiQk8EugGA2/QQ/G8Jv5MUQ/1CsBga/5NlyLYQ/wytVZXV9s9kMyFBksBMvB0aQJP5M uRyAurm6vezHr2/Hm9vxQPexpCC/ge7lxp8olmNTST8SkhMRDCpwJulAc9S9gZGrGZ0OLh0Q XA0TXEogGOriUtLhMVzK1XRwh2zuU+E/W6hkRLLlgPaRFU/pwBYVCZGODTBmLPl4Ou7fnnaj t6ftEdM1QD3tHqsrwvpgFZK2w270ffu8f/rpEHRMXbG68lnAYnXtB1+VmJauGJw5n821/xyh 2jEQ1vejAzqgcoCc3swG9gNNFZgTv07MJReFpOT2ssdgLNl9IAiethhKSGx6znbKs3k+XwQk HVhd4AfxajqwQZIN7Syu5iNcdVi952cIJqPd9vhxMPGkQRtcBRypelUtb44EVRpeHkraqUKD g7m1EXh/ostj0zYqyTddSDtBO8Eh4gKvPG8zmU2X5ZmHrTuImRXxFLRmg5lXDsGaKvPHzvGg M4vkxMsGy6QVxmCyUKKqfKWl0ojygKYe2MwDs+4XlaAGdOmCSAIOauPEaQZ60fJ7nRHIOD/d k1RKMT2fnV+M1Nvucf99/2jrhrc1nn9ySmJ3QHipZEgKFWa0i8PYxaSw1clMPYZKK0Ht3Pip nvf0YjruSmN6MfNAZx2o5jeTTVvJJGS7ZM6KB5PP+TG0B0ODoA+TtzWzaSOd2Qav28O3drhY K9S00LkKrsaTsU/bFhc+KEpDhT71nBUBI3P7NMqgYAsvub4Zj72dxH5Wl7NxEa9ArIm3I9hW koWijYOItANDerbysrmcXJcYOzUEC5yRlBkz6ksOm0FIkoYiIy3OWuR0ETiHXM1sZ17hpWLJ SZHedCRUIzrr0yCKNU/Ipge98bfLkqubHszmcuIb94MQybQPMWshKNi12aUXOLn2ga9n7dHw OZPj8dQP7lCrgKLCeAV+5RM47tSrm65WIPzipqUT5WKzxO/xSyyaoYKgCUhal7atUJVTsaEs 9ufwZcQJvguv+gciMkEjOffHvJjy4bEcGcjslB4I1yC93wyhec+tWnnAi1llJxxQ+ld22D++ v0MsQIJRPhuPz/MZxECyiv3qwMAmTF6/7iE8rElG8vD67ePx+O6jbTh6owp3jPnNpRsvuynt RoLXPjmt1e7wvj3iQNhfb+Cm3pt49eiYVKc13rNotinIZUFuC5ZBpm1ZiRYpud1Ydtas3ymx hkiGhr1I9464lZvzzH8NXuZcyc315UBOAPibIfzDffrFd0PhjM+ecRXpgGbejC9q4cKSPoJI Xw8t94QBuB3Om+9r93s2/XHVhSw7oFYzEmS6YG3mFbRFKw24TVtBW7QUrAfr0FZQPy2XugUX 8r7DQseBH9ZiilEPUTxssZSTyy7EPS5CKJ7Wl2VDqrs4VojWMmZYPkjCMCt0eXXk3VWw9Is8 CVragCDWUhHUWawJtJUZR8dLiYVc4f1/X4FCEf49sgD2XYg36x7C2qbnEDOW62RFWQ2wUPep feeBtZvV1YpBx1Pb8fpgON14UnPDGpDiagh7d2XjTN0nS7CAJGIZTsJtm2ZYagoZ0M1piCaz xZudskYucw1GUhkp2DFXk/GsZx0rmovJ5NZ4Zh8DiG9ur30MZDyDYKWiury5mV3d9rC4uphd T26Hx3A9HV/f3NqW0eJ+Pb2+tfXebnd5MZtOezo2yOseq9eI6Opienv1GdU1zOLqtsdF22O9 ur34dLIwsOnYP5/bm8mNFbFxatfXwZLLjK8KFppyVLOBgw+spXt7ez0cnVpsSOcCYgtGUu4r SbDwtBUh25fw3bzO7A+V2NWgrY9CpEUu3XkaeyekiMX83klAje9L/IdzJVIlvQWfyFlRywie oGUY42blJ6ReO/deCZWJp4dVomTMdTFzavtq6NQfHdboia/iT2JiJ6JIMX03/ouOy381FnY7 1mfdnUrlFkJD6jyvyuQd7ZTKPaqrUKbgualrtI08cMezpLvLyYl/XfeXitQpMajhKxFD1k2y e7/elFS+pXm4mzTTKhdxkWHNpDUmRgLr+l3AV1Vs0Ro3OsSFwKtosJQiu09EyOK7dphUFsOi La1uaAYiXxYz8Bolt8Kw61cv9I5RWqxIbLtkPG9rFashSGqfE1qs/dUvEQRZTkkNAgqsQzI+ wTkLKm/rWdK6Xa7mwPESsn0DZ5pA+op9FHj7bVj3KGX5VAJcNktDuzCv1GWpsdtSOW/Nv5NL xBWj7vMO8KJZZzR/J8R4wKICdIk4mruT/gQiT6mjn0vl26711Vxijv54arq7uxjfnlxu+byg EhrRGtyyE6LEjKTGV3uVJ8oErN+a+BO6hyD3nTJEAgsmIbE3sxNZCPao2YCmQifByiOdEaeo Lq9qVNZcL0x5pPRvwqo+pK8eztS7yExo85KkY+ODV/h6fWud2mIQKaxDLvBP81ZhVV1uiBe8 JMESx9xbMvqACgiZMJhcjAfHf427mACyNEQ49o1IaVSxCLWvhIom5T3w2QFmcHf+bffj/Pn5 8evTH+O36Qhhf273x9EjTOv1aXd3PP4U039OJpfT8fisxQKXNTH7JBYkdOOpmqTcF34Z11xw nT0DXbINoy1R1hXEDZOMqEUR5onvxhlvMIoHLOFEdW5q1Ufy9c/dYZRsX7a/7553L0f7uiU6 7P7zsXt5/Dl6f9y262nQFePDpt7ImofeaLq6Q2WhOlHhuawsS3lND9HT6xYr5Udvr/uX42j3 /PG0ta+CyHH0tNu+g9K97Brs6PkDQF931c3Q7luji5FkRbqG/215nYDFxq/5iMIScfjp8+uR ZVnh44d17gV79FSelL/vDu9v28fd6Ov+ZXv4OTLViEdrp2BVUaKxPqrltBpEkeHhoqlJldwK 77GC0yz5yW4h8YKhDtpFSSUjRTMnzSy9ExbW2zUtJS2CPbOusAlX1B0FDuKULBqdej7pVNc4 VKVdlosoAVZ5Q23ywS7EjMkuxA0YAYo63qVdkyVrXQDZ0Or1mBVpONg5dZplWACX2G+QEgdf 3x81His51UgNVOXLxDxJq6Xgc6/1pDs9OM8j+/abuSGRrmDa32XZ4onv+kshxRpyXBZFnHJ0 L56gyNrvtiiqs8NyTSX4S97JSrFJRw1Sdnrok+6Of74e/kAz0FEfvN1gjtaWEEjiiS9ixqIp xy9iUVYP7SayX6LiFzjYuWiB8LmKzdEAVR7gJSunvjJ5Q1FGNazbUsPyKYhtfSWCIBS8eXWk hACLW53vlfKrv2SZ6FfPp049Avykk5k5x/B0CkQylQ4z+C7CBe0C0e91oRnJnGAER81lz0l2 iZyjNQNl9t9mlzSFztO0p+oNZ2xm1BO3S7/7Vfcp2DCx5Mxf+FB2vOo5J0ehF2TRj2PKP2de 8u2NvAzeqMfQlJGoi++wwAwF48NUue+Y2xSGUy86YO62M+g4E31d4x5rMdNU1mCXTR7Kzp48 UWAr+HV+0lxPjycamgf2rXjtGmv83dnjx9f945nLPQkvFfd3DmvvP+GBYfeXYAISXzpjcJ30 1czUNJDYmHwb7EAi/e/8gPRUvm23L4G97zsbCqtWt4zj8OIbrOz3/dMR3HX7Xb6nD5wuT03l uz8z7pKax7l/kzYWfvGn+FIlTU19+iesyhfk/l0MxmHVfeDI5f/+LSFEqEYZMcrgfzgE/IEK AqzBIQAJ2KFhmpDSHouA79S0H5eFfn6a99WsaX9dUjzt6aFbGGnHkWa7K+fMcBWTtLgZTyf+ JCFkFBr5xxBT/0swLnvK4zSJ/cqxmfqrq2Ii/YXxciH6hsUZYzifS78GoAj63xGG1JeDhqky TyLxDww4YTgsDzEF9v57ZoibVgryeup3PCuFb6h73mjWGw7POAYJes0xzjSRMcTHymf7M2lF 21lkHh/bXmXjvlpN8ZUQF55XllZ3cVxkm8J9gRZ8id2oKIrFuoro3TBydNy9H1sZLDaQSz1n /rr1BUkyEnLf/CixTqrgA2KdtQsIaOIC5uuT3SXpKNz92ENGGB72P8rC9SZzBtoVknjTakCq uIW1cCFbub1SElPI2XRZiOCcFgAWK+Z6++mt1Uak5pBkUr9dQXxC5fSyp5Ib8VHMNkOTnGeD IvgXgXzNd2tv5txdHgMqfPXvBkuvrx1mp2XKFWxZfCb4HfL3zjKxBB82+Y2IwasQ8X5DhgTL FcFX70M8JCPLQYIbfMMzRKBE1P7LAQ7eKaz0W70sJB5ZB+6xgYaNjk/7/a5DF0HKetyKLhY8 lJ0FCJ4+dsfX1+O/R9/K3fKtu1uwLeWB7hNAjVf+fVyic2IHxA3MqXizwAFVsjX1GkX0YrYc 7KiI4562szX3FodWc6DJdDzbtAcUSNgKmy7HIBoWyWrRU6QN6CRb9RQkRWCCWyXwFQrHHpeV Mi1IdYVfQ/Glofvu2IDcP4dgQEpaKS+N5uh4J47biA3IHJ0krVuJRsWrhqjhLAa3mZ2KeYfp MzYf+jsKNRllmcY3j+b4pRBp7svgrUGUqUjrrzY0aOgv+mRg+FonS0mMIwx79n1Ni4L0XfDx oCPNGtabSSSE1o1akLLIlnoQGS2kfeVlI8AjKe08CPVhC/vvYNkEJ1Fy9xbWQ1LzGpiURX53 9rb/dubhCOmZP9g6UfQ61BPF0ArbHSm848WMp890uxyhSeovSDT1oP6EIVry/2fsyprbxpX1 X1HdpzNVJzcitVGnah4gkpIYcwsBLZ4XlmJ7JqpxbJftnJm5v/6iAS4A2U36wYmN/ogdjQZ6 AaHM1ySYYHCvSLiFgfi0JnRGLCKCbYT5vqQ8UtMtxlm0BjLfll9aoa4nPrWxwq53VfIk62mk tHu+dg+HmGf7X//n89u369Pn78/vL48/2yhlkleIJN8a3KxOKRMwITfurQVLAxZnpjdhXuiC tlGRKFfNTiCkrRRRay1RnVRDo7TyUW5pcgkXrEEYUTSafHTwHN0uW8OmtvYiOhKhXpq9vyC2 fgjEt7+V2R4jTkyDJmoT2Fz1pYg6owyCyJmngnBn6ab132Xk+r00bnrY1zgzXhVoe8EvKQwq Gyhj30isE6n8s8/fqin1++Xno9L2vV//+Pn8823y4+HH8+s/k8vrw2Xydv2/h/8YNolQImhj ks2t3H6MiD0NhUveVVE7FWjIsl99OVEY4W1oZxUR8rAFYpgDBkAaHXFrBKaSi5DxX1etLZAW tSwZSxlOZ1Kg5z52NlNktSfJhDS0A1Cpi37UxqQCZ6aqB4I5du0bEmGzdxHIKRAotS+4BWNz DTC1RlVhuhmwLR/8ONsS3xWr/neNkm+S6BCIKryIeL08vVV6yfjyj+WdDFlt4hu5WOx2Nl7/ TaFbQVwtUoSIpBTbgMyO821AmE4l3Y/MbsryXhd1LRt0EDGWfC6y5PP28fL2fXL3/fpiyPLm oG2jbn5fwiD0VQgRohKS/TSx9awvZWZwe6KC+WQpNdQwecE4Uu6TgdiXjj0gHao7SJ13a9Ch e/g+jlQCv2xGkDOXmv6y8VGnMSrNxbopwq+zGrI3VIpc+XHHSrfp/iTgAr8MqyFy/8TOljX5 IKK4t/wZfsZUtIymsQ2XrKU3OZPLywsoGasZCep5PUUvd2DxbHJCVassyWV7YSRy8hABQLBV ou7XDLpkNjRECl+d1mpnh4fH3z/BRnW5Pj3cTyR04IgMGQVMsG3MKPEVJpa7yD3cxF8tay7c BRHhAsjx0KDk+yGq/BkiK57oJqJvWhpc3/78lD198mGw6As11f7M32FWyEBLIaJP6PvdaVan Sx6IiaU1hPxsQ9zMqv5KqiiIJEJlE4TymIcf0xsMWGMOtax2/ex/qTbuTi27mCjocXhds4jf ZCnpl9TiZMfTzEVB4B8e0RNAgeqrO3pxx+yA3lKpjSoNq6HqJ4KDSrS9LU9FJHp7SI2pZNzh 7PGuboiEUsXEuGfYynbYko/zICgmv6sNtJJLibWukXhND6axbJVQnmIVD4vvM3lIMQ0da8Am 3FR36u7ULguoYCE1xOcAs4sP4QaTAgNhOrtuO+c78fqgQ6hmLw9Pk+319cdfUhjv26srwVGf PSBmpzkEUpSTgvGWCPgsqWAuW33UJoasiG9xEtjPWfdcMs06jMDfrtWq0rLKkH8nQZTZCbaQ K2VMUNJjd4E6aJN131fFcfKzE8JUOqDY8iQ3U5Wtq/KPlieEfubFbS6yuBPNpgcLig0dQxMA 6QZT3NdUOfH7lQPLUF2v9pBl0uDwI0kzb94v7kzwJz8Ac838RvjBkQiIIJjyHy5DQbDxnWKC g63t9IYWN65vd8Ypq5azw5RDjPY44rP4OHXtgFrBwl2cyyDPCHt0kcBh8oRzx+CQJLcwRfED g8/XM5fPp0RcHpU15/jpIEz9OOMqvgHcEFD6A5YHfO1NXRYT+gUeu+up7WfUIbqYsqfuNCEh i4XlglSTNntnRYg1JmQ1DFENWE/xa7R94i9nC1zJE3Bn6eEkEUmpzF8tHJysDs57yYZ8dMEk +dQzXJr03xXfaaehTuU5LkIc+KbUGuRyy9l6TvQTMEE5tFKmyWelTsM7i5LifLfLzNRCCMMc pPWWmbfTSlHk3HNx0aGl45r9ih6HO+bj9u4VImHnpbdaIB1cAdYz/2zFZm3Sz+f5stck8fD3 5W0SPb29v/78oSKNvn2XG9b95B1uA6CZk0cpsU/uJQ+4vsCvZrMFnIYG5yFwh+5wYhA9D7Sp NJi1XCbKQfz3egO9f/7r6fH5cj/RjzZYnpxgRsPgWJbHvfZxn0f1SaO3CQMRjMTM7ipYFOhQ nliV5QfGRSp8Hti3dSpN7IhOAWJlqEDkrgWDbePEqupfVVw5bE/+JYfiz39P3i8vD/+e+MEn Obi/GIbZFR/nVqP8faFT8XrV5IwTgCZXIvx2nT2heKrJqOCuB0F5d8aHtNeX8ne4sCbMQhQk znY73ABNkbkyDagcXttOFfUEt8RR/UUe9aeADdn6Y4hI/TsC4uD0PA6Jo438bwBT5INzVnbR KQZlomXBqOcqZbelqOrSUoXapgs/bPnex0USWe8tvg8rSoZfIut1ReoxNRkXcRQt44GK5B11 9UD19qfiMoO4hIYXFOiZLMAE2IQQHWlfqkbsxDcewYpdqLXNSCUk6+hFk0oigyOlYaOpbkvM 0oDSyClBC99uvh7kOZ6Kt6+MYkPqCoT5YEWH0o5niiKzhKWeEX7vYG+VEao/ZRSVqWcaUlFA xDC81uJAVIoSmNM4QQJ4Kk1huz3e2xq94Cq30uu3n/DQFP/r+n73fcJe775f3x/uVFwP5Ahc mSGWydHzwiUVOc1GTZe46NPLS7+zlOe4qtWGOzNcpO6g3Fm5dMolKoSIPagChT0ljyGEGQIP C1vR4pehnCz4RC99FoQd90flHyfWji6GmnyYyaJRC/08S2at+c2cto70WXwOA1aed3Rdq6z9 qCgOtu6Me+u/8ZEKkvWUCHsYdIw5+yVtWcECZvmTb4WsHxVIcSt2fWo/W3Uzjo5d5Mnz3Bkl JayQO4t9531McOsl87PIL+wN6YZ73hxTDwDBjOqk/y6TGK8r5JxVbw2ZBz/X+7Ic6YCUCR4m EZqtN1vbMSPOnrci4ijICZoR6ql993zeL4mH5uNrJiExfdh44q8dO6gdpDiYQhW+BJKN1mmV v1WW3WDyg1m8UF1r5SESCEY92iRhqcnUSVJF3aQ4gIGwr54Mgp8H5iNlKvAlP3XK8XNUZ2pU 7RjZFuARK8Hsyu/EF+9/eIp+S23fEp1SnhbUOmwAM3Qp5vtbKRjVYqrc2icyZUBRwoQ3nZ3h M/xEngQkrVq1JB062YcbJ4L+FdYJSY3BPo6g+ZFk7YwkHyMRch526cacBZLFvSuOTma58RNv dab7KfJVoEaKrGIxhjckPVWGdIzuSy5CZ0p47MZSYA2FM3Ucnx4rxSpJ8jY6hwMDLZcP2FNv GGWWpQCy/RA1tKubwVFJEkkpk8hOV1by6PV6QTyAk+d4Z/A46qviwSq0Noln95eX984igEsh nwmc3QLxhp0oCQ/Iebhj/IAfcIBeiNhziFhiLR3bt4Aqfyx5CNKU953cPZzVmSKsS2flsT7V D3wl/Jjz36CVYYhFiDARqZ9QHycbQqlVg6TMsiSuXWsILNDVAo2qakLWCzsca03bxUt3ih3A akAKi8WbYt/CIsbN9GpE4vOVN6OHEjCFPC5x9RzkSEfyw4Z3R1aemcpksZy5neTUXZnxjyBt E8Y3UdrBFUkcpYfOrAhznqWu53l28o3vOutpf4r8xg4dKbSp9dlzVeSmgdWgHHVZnET4yq0h XyXzP52Is1wNkuLkwjnT8yXK90NV4RHEiCopzyaAHOMlupGeYmZdJcldNSwEPOS4j1KwS8T3 S7Fa+ovpmXROgCJ/Cxx3ZA3oKXSijrqKYXh4mK7WPvlEaZiZ2JcQuArnWJs5rpSQ6QO3y5vC T7YdSawhwlpgmB1d3avtHGz6WXYFksoD+/GsloDeEDfkXgSBhkIaOOeL+ZDBQiHcMyGjyeE5 RVtcAQGKZ5wC08JxCvyxiQQyDAnfopOcT31fnvDp8u3xYXK6goHkv/qRBX6ZvD9L9MPk/XuN QgREaoVGPEBeJnl6+flOXpZHaX7oOFLLhHK7hSg9Mf7OlobA3UxHA6wJOnbVTYJOLg1JGDzo cqPtbhu7xUfQsFteTvZH2YGHlmOZnV7mnJlMtkPlUoAJ0/L8qzN158OY219XS8+GfMlukaLD I9oD4REz7NUD0bMPsr6s4+RbB+g6dj4L8sXCw633OiAscl8LETcbvISvchcmVJAGxnWIa6oG E9/coPp16xkAtAbCZ8s5YXdogry5gxkDNhA9w9Ai4sSbuTg7tTCzEYxcnKvZAo+l2IJ8nKG3 gLyQLGYYk4YnQb1pVGPADxcuiUeK4yzhB+LI0IJEdmInhm8qLeqQ3hBWFm2tII7/0DiJUzzX gbP7H58FPouMRWvcmMOfkgW4SJIU4Ew/4DY9znaR/N+MP9MS+W3KcoiEghH929y2vmlJKjxA /Yheu1k09FBKECKkjPLa4kO4tovwzdsoDcK630S4MKVhPCwiRthMKgDL8zhUGQ2A5HF7sV4R NnQK4d+yHJcvNf3Iz+czG0LQ51TdkHpEQLH8IRwl8jVMHULd4LYzGqLiI2BnhooMnaZ3DePK qk2U7FieTeaW6t4mr7wVLjP2YDinsWDKSCY545PBQh6yMo/OfkToVAzo5uA6U4d4rtvA+bee L5Id9eqVDRWC5z192AB2/jFwAANf4FPIxO1ZkvN99IEcw5CQDC3QjsWEb5sJ2x6+RILjKhsT F8WR7PLx/HaH9LcPtCAe748Tg4u2kzcljkB9LLUATaTcIB3H+0CWcpNcUFoTC5dwx8E5kAWj WZnVzWl4JtiNldvNijCNMlFy91UOeePDEUjpWizOU1zGMaHq9wKCeH8MeiI8s6x6fmzRq9u3 LMkzHhExrHqlR1IuHOcSgvtqPxrvd4mUJyjcsKqPG+ehQ++5mTguHHc2PuAi58vFdIXdiFXy iY5M2NlPJCd35vjS1oBNwqhrySrfRAq/w4j8MJsOIna5i2/DNTnK5Ik4FkMvdVXtEVFZhEkm QiJMTn2skafCtEIOAc/iC77P1YfOU1hI2X4oj9uQdU2xOgg/cabYCana07VIWuanYnMQwg78 a0OO0aYY6kiJW07n47iD+m+o3f7WWxDCV4U4JRAULSc06MbAFhnEwAbVaRYMollwjmeDkzVK uKwavqPVXc1mU+QiZH95vVcmgNHnbFLba1VfKv5gKEThT/i3ihfXlKAJEB/+JsFNEYEeRxt9 Kuh8VzD8VqfKVZsfyi8HQJKaULG5q2wg7sBgHizfDAOyOPcligjdt2NJiFq1+t8vr5c7CCXW s/EWwohncTRf+9CmOjo6n47jyU1kDcDSusFR9ycU3SZDBNfAesMbgmGuvTIXt53wzMdc8Prl WPBMB9NBysZbX4eqTMhOZTHEiNce8wXO3aR0RTzQqR6LLzlu7Alviukg6JV/3Ov18tj3Ma0q 4bmLqT3Pq0QzJHXlNorjel1sZWLq0U1CWpQH5VY8czFyFVu2wswxCBJa3aAmLJUjkBWCqLVy kbedVezGQ3xvml7Ywd2sT+k13VS979OUPj99AppMUeOlLMAQe/AqG+A4ZR5PHUxH0cU4vTa0 JGP4umVI2XlGmRtYENQsRAPs6DZG4kC54HGOuLh1QFbABCNxIGPu+ymhLK8Qcs5twiJghK1g 3XuaMX8RbAfz8wPQMVi0PS/PxI1mBTnLI1l6lpx8NDPJ8IfIWx6XcU5mIjkzvIySClx62R99 CMmIb7d5EtWP6CAjJ/mujtxtDk2TqJ/YiLIkxHleC1RXDEP515MD+XbgRd9itl7i0o3cpocC hwhf/qDPnVi+b/KPUl0qwssRdnL3lQ6VJhlU92ZfJnfiARuUKpQLBP62c4KIzZs2XgwcmxvR x37ypqG/6ZfUv0EQjMoV/F8/nt/eH/+ZPPz49nB//3A/+VyhPknOBT7iv5hsSrUAjDrI6zRA BCGPdqmK9TLo1ArYwYxSOeJBRMjbkp71rqVNYme2QFrus/Eq5WcGTwGRdB4lchchycNvxANC r/neXhH+LWWqJ7lJSMxnnsAYXrT5CqapUx0dZRB+9EDcmKjGaD9LKatSh31ACZbxMjzSfSIi ue92rjz1i6vv32X92hobc6tXWxWJh7xtayEws0cgGzQGmY6i03LGHHELMGgJ48ZLuaBSTi5v VYjc99fnx0f5K+Jtr7w91AaA82NJHjKfAjo564EInJxyaAN6poeDaJR+vrfzdrFMl2KBSxwG gHpmLhi8EdMeINx3vIgvp3QmZzI2oqL2Zn1noGqm0Ztj0Bn56/P7893zYzVEvQGRP5KtkrmL OFy6xKvyex71isxzjolpkIxB/4CwXJf359ce281FPrl7fL77E81O5KWz8Dz9omWfIWiVvjby VE7iZCxtQ7d/ub+/gsZfMhJV8Nv/Gl7kUeqLIq6nfH59UsGg9Fx/s3DW4+HwnfytTagjYrUE 41AFC7QqCZmkFQXOOTv7wQT1iMNRPfUs5KaurhT2HUARfj1EhdbnaNPXukaA1mG+7EQLJYXQ SkFs1dZOU1kpJ6bGslaHI/hxeXmRW6RavRWT+485nurDpmuG9hmFJEQi/ZB9PF3i19v6psUn nrvVF2x8sSAkfF3FosuAGhFBER7+fpGzDW2dUk0P5a0ALr7OdcvUhdMAgJ+dBXr40G3rq3Xr dLgQo7MdsnGoAGnfmBQ4Yr9PGrb0se4aGEiIIjzj04FqJf5s5hGOywqwmp8dW8TVbrH+ekVV PcmCQwxb9Vj91V302unfsoEs0P+4+vRkHE1P6ixaLyTn01/XSj5FGLnE6j25DLg7XxMm8RaI cD03QQ4RNaDFkNvxPvhaY7IEifpVNYc/Xv770G0Jj4GXge0tWbyGcOps1CCgocQUsTCElsTC EPYpFoZw67Ix4/msiKOvhSFmto0Zr48XTvFTXgPafHVXeERt/QYQP+R5bPkJmOlDLxuBcwJA 8WMkPHpEkzdMyNl1O9QVFgTvCQuCr4gawjeEHWhFh276m2DwNQbUryuK2XZARGjwPTiuFmXE cwANYmRG3poInVFjql1hEBPn3op47LaGkIygrUvKdsRQ1hjZg3NnQRhvVhh5WJrN8brU/bfL 4mAbccxPSk9MKel0Hohqk+mWmKACBEg0CI+JMl6I7+TCjtgpbH9KOg9sQkJ5jPD7cE2tDod7 xJ8jvbxLUQs7VTbBS4LVjNDeG5D5RyA4l20hPuFt2yISZ0pY3dkYXP9sY3BNvo3BlZoWhuDn BmbtEqu5xQjZx+OY+YcwY/WRmCWluTIwYzFtFGakn7m/Wo6Nlzjnw4iAL93hukCYnJFitivH my7wUIkmxnO3xM1CA1rMVgtKSaUxO7k5E/cXLWJ4CHbxwvEIVZaBcadjGBA0t4TheQ3aR/ul QzD4GhMJwkmiBnzxie2oDS2ThlSo4gaTLPG9qAWMzEsJwCI1GuSFreZo0oebJwHD7CtORgJF gXHyGGB4PUnAWCUJud4AjAxSsh6ppPDlBjy82ADjOiNtAcz8AxjipG5UeOHOhjcfhZl/IJ+R +ijLuBH+CpjldDme0dIZ3lwUZjk85wCzHp4SEKNqORstarkcWb0KQ1gnWZix+vj5bGwPT32x XI3sLbnvrWak+q/FzAmptMVsvQXxUlGebAhX1Pprvhcj81wiRlrLk2Q5Ml+CJHRWs+GGhInv zAlJ3sC4zjhmeaKc6to6c3++Sj4GGmE5GraZjUwc7u8Xy/N5yI/Mgo6Mu8LMxmRA7kxHxldZ irtjkq3ErEbkINnt3shMiVLmToeXMkBGpGixT/yRhSyS3KF0ES2ECvpoQkZaVB9/hkECvPkG ISdvJo/vxOusBmb9EYz7AczwGlKQ4XkjIfHKW1Ch1CzUktJ2tSg53ffD0q0GhQRKXaUxTKVw YsLfB5lh8FWn9KJbNYQ0O7HbzgPg6mx5urzffb9//mMg3ja8N9bkhNYVIg/xXIrzw7DghNIr qrJ76betNhE1KE2GsL3NJAcaLDUBNw3XKU9Bv/UHvvn07fL2cN/2g395ve8GUMj9gXpzCJLQ PoitL8ufn653bxN+fbzePT9NNpe7P18eL3Z0SM6xUEwbeMSjm93m9flyf/f8Y/L28nB3/f16 NwHbJ+vZNN+OJaHvvX8+vl9///l0px6t6MVJqftnG/TmDaQxPlsRizxPIl9rGIhzoPqeCddb TWkVuCq4AFU84YOkKhH5+MpWdQjYejrDmSt8DeSFS6qXDQjpB1VDcN4BZLnLzyCS2FApNYYq Zi/8MqTv5QVYNpA9AWSZcR4TDzPI8m/CZIjsebk8K9FDqel0Fyj6kvC0Ue1n59Vq6RHPYDQA golXAG9NeCc0dOKWqaETAk1Lx6WG8DewFaAiosuPj1EeFsosioQUofh/xq6tuW1cSb/vr1Cd p7MPU5FESZZ2Kw8QSEoc8xaClOS8sDyJkrjGtly2U2fn3283wAsAoik/zMRCfwBxR6PRF7d6 NxKB5V1OV8Qbg8zNl+WSuKwiXQR8fJ2JaHGzOl3BJEuCf1BUwmc0256W0yvLXADnMUK9E5yK nADkEuOOeN7yhCYqjIhrg0AUea9d1sxIlMcLmuOgvwZ7r8tZnBAeRPFNcDYlBNzKeIWy1HNY tpgNk4CN65GmI89nN3ZlZfp65Xoz7sib2dSZbUOYYOmA0c2wA41tdwCC7cSUw1rHuX3itOmJ NcAWWUriNWPhsLN8rlllekJrTEZM5V1gBoKYmf5fsJBjPJvfeOOTOE685cgaLbm3XG9GRjuh bHKReBOvVie3ja0qfOWtb64ANt4IgBXR1yxlo4PbYsbG9pisFyNHBZC9GX3QaZArH/GW02ul bDYuk/j2BtO4Nu/Hvgt+qA9+lzjy5KlhbI+wA4TyNnbIYgwC5/7QISrKSmqQp6JKiOe1Ho6h AEWOthIfzEDyET2E+UuPOOy0prB06S0JzqeHRSKGa8zMLV7vYSgZWxIcgIFarxbuG7WFIkRN JmpD+PG3UDfuZd2j4tzbEPICC3Tte/JdlojfaYCudjzsssvZijCxNGCrued07WmCltO551gt 3TlG0qwzyqYuXCeVBVLn1ZA2VH/SiMAXbN0bnrbYxuQZSeBHTKo8uCy/dq/3L7/wGjdw9uMX WlgT+FHfJsIVrRMoGM+zhs/4XbzPwXdwlzs/f7t8P79OLq+TX+fHl7OKWGbcQ7E0pVN/MzWN ni2AiOLZamFWUOqXn/K6hMvMZn2yazliUYDkynd7vUAa6ubBvkjSxT7JtpZ+uEY2TWDalDqt Ergbllx89sziyijmBAtYBruCSfaOiFN/2DFRWjavLSnyg6zOqlLaWmbSUbZmb4dUDEjdDLKm c7n3dX+4oaZ82UWAxdHXOzzc1j7RBCBJn/KHQDjnZQ/j8F8YxXGh4nOaBJ7ld/BlNiBECZxK 2zgqrfogrUDPT3B6xSizrDHOqfvLGEHW+WUkOL+MBP3LPSUEfivapXWQwkJMDdI2K/d9utFD eCWTBKoP4TNlHDhAVisy3ZsNDksQBgUGnTWdKiEc5g4V5RjICeM4PdwrCKvM+O3AJkHL7pxa QEDDCuy0Utl3yu0gfL1/Ok/++v3jB+wSv1obmIFYJ5T+EjmsFqPECqeW3biZL8UTVO1JzhXz wrWwCsms1M4BJJfGj05v2CSyywNYo2mWuPl17HP0eyv2AeEfEfunyurb2capfYtNizAwpKZN jbYGtW+qBnWJI/yjhQldakQaRg+O3CcX4daZfghSbqYvZLq5MfV44TuTfeFMxhhiIb+tZXxt fvt56mqVtFiuWYiKo1gdpUk1OOdkhk8exgB4ebz/x5I4T/59efzeCimf4DB81OK25AyubZ2u udFDilSG+UJnIVRqvMv3URzloo63U2/5ZTq3EWhBm9exmHo3hxv/OJ3ZgDSAgzNeTxfrfTyb 1dPZ1lAMk5g84pkfu7z0NZVjLB5UOM/gMJ4uvKQM2OCrjJ+WqyW7TYYfS9enoX6yVNel+vX5 /B+qX/1I5DHrfBj03difuTYi92dzYb3BWVjeRoKu/YM2UkNyM0cHH+sRLGVxBkf7YeRzql/8 3FlUQ8RQOUQ0NQMosvSu7/0PZBhOsY98xZ51H8hjTpgPZDBnrluwKdk+xd643iLaU6uGU6Rl R/rxxEQeM7mtHSIzFgXS4kU4nc4X85J435aYRMzX3i4khMsSUh685fSL29oJAdD9mzlxpWrp HvFQgfTSz+YL91gj+bDbzRfenLlkDUh3RcmR/bUKVl5Cfzb2N5RSMZJZIrzVJtwR/o2azltO Z7fhSP/uT2tveTM6ttYQDujNrqs3rydSMQp7BPPz9Zq4q1soQpFMm4aJtyK04iyQW4KggfL1 kpDpao1Dc2vC7rFHtVfgwabML89vl0cZHE7uy4pFc9wmZTxHbnugCAuWALsQAkv6IWLr7iEv gNcu7sax6LsG3WFoqznbZeavWjrbBuY0dROAJZ6tnBQeV+V8rl1BkZsSwGRObzR3B1mlR/CV PzHGmu1uwUiv0Z1HzCLt/i2MUlJf2eCbSTk3M9T7o687WcGkgh2TSGeOMBGN2qUwMQtDvMqb 1D9hEhi6iyk+xXypMDKPy3mAUC0Jkio2C0rg3lUgaVBtMhH9ue+iVNjf3xey/c5Ji3R07YdP p8DZZe6IaGm319fAotcst/rkgG9d6DWzyHgoKBo6XzBpAzfVXWKbjaw0tvlUVOlY3LN+CHEM SEyWxx76MroGWlwFiS07BqMIGOjZ9HZmY/TmS48Mg0GkI48hlZFhe+VcKnNGmAbL6Sn9Z1Sz 1ZJSOcIy8srSJdI/b551TRJj3Ok7Cr9pzyDD/XmT0L3fGAXLGBFsRuk1NQjOIkaPAiJWIeWk skXso5Bxl8hDtiDjZoUFxqdOWJDCEgya7cXsERVnlwpzJGd+5zcimlMLUQrDBl9vU6EKEUVK +FbkJC33BzXuqOmasmrQUcWJ0jnWUSzxlrMby9eCCyj/6MW9JIRtg/Zpj2yA/APvFh/5qNce 88MBln5HuvlrLiNsm4yp5wec3EWdI4SpzoY2BFfTlChCxjVw97k8JPHkH4qX95E/5Dn2pkgS fvYmc2UB05oIPAFAyt9btY9cTqax6J6FVNpRqMV0/yhr5rBzwhxsQXp2lmReVG7uTVLRDfM4 lXDdKekVRjQiySowCUnm+6Ao3Fu3Ikfwi6bDmepH6OWRLuGOfs9AOozPLkuLiDhNERIkog7d WoeSHAfA9oyQCS0lpH2FupPUfYaBomhyFRFaIEiFgml3tBJwR7e44uihnNC9AvqRxSVxpMr5 e1dIbpkEYMwu+uvlMUr3hLRaNS1F9xCUa3qExJw2qpX0IM0OaMBOeZKXIOiD0WWVMOgk6fqb hmCIO9QIpRFZCvvIyDSQDgjHxzItCyIoOVKBMx2ZRrCdo+5snBF7pcQEJYvvCP8sEgDLNCbC 9qp1GiWEp2okA2fMGd1FgkVjLRiLLSDpYzuIyIPAJ/22SkQZBDHygcR7hcRUKcaLolcE+u5l ggiDJEuAS2j5Z3Y3WkwZHejNBFakCAinuZK+h0VD71PlvqhEqfwZjCz8sa3uGEWkn12kfw2K bLR9X+98OKpG1rXSBYetb+hrCn1OOM9uxa1qV1E1YbWEBqE8r/X+0lyFSadrdt7GOY2ogz2P TNJACth4uE6yQbCupow9N0s3Ye2lUM+ZpsDO8ADDddR9RGel0vzw9u38iKrUl99vsouagD9m 9/hByCp0uwx3q8hU95Nk8g5swLLSvQYbWn3cRxhZgogK36K2sRQVidIeZQ1nmZBj0lF27JaF 7olxeXu/4rhL5l/dnKbTmgpAjpATDLEN0MhBQ7arJ9MLfKuGVtUlFQ1OwkqMS3cUwBpZ86wt 3NICMEgu8ars2hPGU9jno41Dhwuz1ekq5mY13kmI8VbzUUwI/9vPh72t17nvTEequo4QNLIb ENC/iOOtkg71aIOTxBmGuIMa7+j2l0W8xkBsIz1SrNlqtdzcjIISuVn5hLtPWQzcHoQKmrYf OiTD1dC8ePHH+zenPz65qxDvPzLGJUqrnBI7uRL9Qa+XCR9UJIWT4n8msmdKuE7ugsn388v5 +fvb5PI8EVxEk79+v0/aCPfCnzzd/9N6KLp/fLtM/jpPns/n7+fv/ztB72Z6Sfvz48vkx+V1 8nR5PU8enn9czP2uwQ2GSCWPSM10VBPI9SrOZyULGR0CsMWFwCNQp6uOi4Q/JzRKdRj8TbBU Okr4fkFY5NkwQsFOh/1ZYXyT7PpnWcwqn44J2cKydCQ8kA68RYnaVVRzF6xhQPj18YBlVFfb 1Xw5fD/GRRQ93f/ECHq9m3NznfqcMhGRZLwXjM0e/0iYr8hzah+hR8OhCRNWTHqRJlb1MCRT l81kFYj8QRIRfh8aKuGURO4oflUSUghVtYMgggDLXS3KKK91SI6DXVaSVz6JGNlUqVgTsq+b ScPvbjjh20HBaGde8kj06YuiPA5LP5Ihuuj+Q0FM82ZN92Ik4J/Djl4MhF2T3KYL9G8vg0bA GqCbkh1ZAeNBHQDo1MreWiOBj38hIQoDwF1VECEt5cz6KvvoRM+9vQAGFf7wlubzrn5s7bVX vjRT5i0nHkRafMXWmzgqNJrcd2sQMx8meYb8Ud1GJZQM4d1jPAqDlZPOTw6UDX/HaY0EkJXq pmOfqGJnsFT5debv7JDEKs11DdEpqPCoe9oc0t1EbCpK5I6f5w5quzGjsqt6nxWA6zaw/Pz6 8PLr/Hr/qHH69gaGXCfloVLS4QoCfHJdERqnOp9G80cnNifsmOTefxgtHsneCAOI36bXAZyY 8zmhVS/PFfl6TvPccbTtAjCZYxQiT2gmVc2BYqe2QcWNRBnH2N4X1J8hPcFRZkBvifgGRm8a I9Ggdxi5nKbKCTdSqxAu3CjhHIEkqCbSMqR0NUaCJCo+AY4FVZ2RQhwMudnLPr8SVkuVAwNc J67nGUWWkkhr4apE9+C2REoDXWH2hOs3RfW3O5emYJIYGjbwk3TmjbQqFSxElh0NguyMPL7d WWruSniS8E/C/4RhpqWZ+zB4LubeonfmvlO6pEZa8nk9pGylvEZ7zYIvyAgPds3wJB2tFi3X 0EoB3hj+iezChb8nHHp3VNzJDoQJn4GZE/1uCiraFDisB4NHhLoG0qEid2w5tGJPWL0FySDK Znv4B0fk+fRQ4/BLqXa1ojPkCR1csARK00ZCF62hU+6IJD3nbLP0XJ0myXaUYlVm7m0WbjdR DX25JJyV9HRC862lE7x9X2dCB6wDUEbZEuAzPpsvxJRwEqYKIRTkJLEzU6IhW3++JnRKVStL b0mYzTefUMKTMneb6EgQBoteEsb13fxY/h9Nz0rqBq8age8Rw3BBOCPL14efP40VrmpURLud YQ2hJ9sqXgYN7th4ZSeo+wC2pW3AKHqn10fQeV4RFNOrukFqxdG9Z+iHl3f0dv82eVftx775 jY6lJ+n5/cfDI8Zl+HZ5/vHwc/Jv7Kb3+9ef5/f/HizcrkMw0lgUpO5D1WwBS6hgDozzAD2P RHFUujnsAOa8Y5UXJa8Nz/OY0O4+WtKel5m4sxIhocz23Ils9VL/9fr+bfqvvh4IGZyPsneA Mnl4hv77cW8Ea8McwFSEnat7Ox3V2RzJVvgaPb2uogB1vNzcjqxicXCfefgegzV1bMhtPl+g vuRo0QghghlqkBVlk9pBPCpQZwtBRztUzM8WU4gl9658KhLxbE749jYxRPSOFnQCCGEf2yBy Hs5nhMsxDbOmzhADQ8hJDAzhnqPrwsWsJPxRtpDtF2/uOt27mXSMN3NPVxvSKAM72Zbk8Gk/ AAk4/jeEh9QWEyYe5ZK0mwIn6AbCSrqHUM6AW0iQeNMrA1ccALLh88G6QqcCV9YVDgRxYhqQ q+vKuzIDEUJ4/zTX1fhULzY3hDzEWHmL8VUlF/l4k9SKGe+Z4rSwRljFjXi8f/9xeX261vc8 oeKW9X02p5wE9JAlYc+iQ5bjDQHIDcHRdouivJ3dlGy8X5PFurxSYYR441MFIUvC60ELEclq fqXG2y8LilnsBjBf8ivTCdfW+LSVERqGMTguz38Ae2TNASureYHqpl48dW1rmDxzbWoiPQxf AvHeLc7Pb5fXa9NQ07woLZXJBuknrNc86PL3qQTzAYDmMdL4bhupcu2+bfhHLHnEg1MDcNIw 2iNSCSJwbAQtj+EosXP2DbUt8yFFaTubaZ0zkz1L0yAWJjULW4YXv8MfH87P70bPpChBJSrI xF3K6/JEAnwMYE1oX7DqNPq0QIjZsDmtUv5gdA8Pr+8PF9fEwmwYvCZxxBlKHr69Xt4uP94n +39ezq9/HCY/f5/f3oeqOKJkO2XnrYuMopyeF0dvWaVuYVNeRCKZYwFuPp7v3R3ARAXXOer9 qFjfzObui2RRiuWMsLvC28lX25dBfzuBSbUia/pVJCyOCT36LU/qI6mJF5YzV8hs8XK+//v3 C96vpH3W28v5/O2XGWItYLeVWx9Uj13PY7hN5gx9O80sCzAnHiY0y8uIC6l2VSQR4SVbTQTl nmRQffb8/fXy8L2fNyz1i0xX4WoSZGBojDqSa/caJvYqrrKFjTO8HA7TcX/0G8cYFNUW7/Rl HlFolRV39W0Uu+Optlh5p2IxehJVN662L+5083ZxdCfU6CRpoEGVs5RUPZGzpt75yQ3lnZcH /oxyqCtdqiTEbr4rXAJeHt/ilTHOMphZmu6eDAEX36JhW850wzelVIe0dg/ll6enyzNsoxhg T7qB+M/l9W994vZ5SOmxBulid+o9p9FFtPQIIw8kO2KQ/ZcRkl68PDzLurqU/I/AqqdSemzH muo/IQqujhAzCbdZbS7CWEhlw1Yo1AtMWRRvM2eoWWhkNdRlzEJF0QuR8l2ZOhQ1nJ8u7+eX 18s3Z7iWMpCOPRLguYpsqC9UvDy9/XRlzOUSCAvCsCw4lZzyligXm5MUOTW98qO2FcCPTjjS VwYSpSCUEHIivYwCyjtmQ94XlBxUAo5uCUpDs7UZ2hYVX1BtxJwIO9NQOcoZPk8Q780q4A/8 wMfxmHhuCh2qXuEDHhsycLDG4vqc8X1QH7PCbyRpfd1g0Oa12bNNUn1iZen+dIeIXOsDqJ7x 7iwTGlGjgHOnhooEReBbH/WcH+3pi2E9MQmdEkcnaJh7rFqUCHhVkNJDBFEb059bo6bwcww6 t7BzEgyVSrZyaIybRBDBkQE04sXzT5p0okm7UMwpGhrLksRtOVKXNIqHWfvWdQPTTwVUV6hx c1X8ZIdNszIKNaUR306IVMLgPA2ZIjhq8KXKSsOjkExAzh6l/rV8yCVMK+Uzb4M/siK1uF9F oMZVUUtgrIw8YVLWB5fpqqJo2i6yAF7GButSlVkoFkRfQ69Yi4NbKlBqH7//9su8AIZCTsAh 0v+jyJJP/sGXe0q/pfQ7mMg2q9WUmhqVH1okddvKxKeQlZ/S0iq3G87S2DoSATmMlIMNwd/t OwZaPeaob7rwblz0KMPIbxiv7V8Pb5f1ern5Y6YJ74HVs+e6kiK9nX9/v0x+uGqMR6hRH5mA noPL2ErEmqFGfaRcfXaMpCH2L5PcHEmZcGWTUxh6w95XO5j1W1kDJ+uF/4RmRyeR4Eq96A44 hsSoE/PpTYGFNC3gxV1eUtQ9nRFIaM9C7lIBnXU7Up0Bqdtk1b7W90ab0ihkTQfpRzhcGmcW xgnQ0YGGjK17r1IwUSWmh4wutxxaR7pji+1o7Ylnk1rXERFw01mOyjWDdn413sxUWvw1s5Ok R4dBYgXXu2EXSD90dZqlrgmoQ3JUeFTVdhYhoq9uoYMOCtkhqwqosuNjUL92qvfbVZMGM/uA qpmNg42R3GZ/dKlNz/UyhMztVo0XLDGrIL5UcAcmZuph5GxPohTmAHW4JyOLKqdpX9LTYpS6 oqnF2Edz1NQiPB7ciQN5ntAlhnNqGbdx2s1drCVa+x3+1k9h+duzf5trTaYt9FHEFHEkLh0K XruYAGmxlJozAuF4ssfBjvE74ImcbWxAt0EhHYqldhGuKwpyYJpcRv5UDdFKhZYOb6JIsK3q RJUWuihH/a53pkPCJpU2+eBBvqfGmEcUC8pzMk/mM/qQoqaMLimGHy3rYDAMGrnlOGrgOIyO 12lUQC4TRIQxM0BrwjeKBXI/tVigD33uAxWnnGhZILe8xgJ9pOLEm7cFckswLdBHumDlfkSz QG75sgHaEDHETNBHBnhDaEWYIMJbuVlxQksDQcDh44Sv3e+MRjGz+UeqDSh6EjDBI5d+vF6T mb3CWgLdHS2CnjMt4npH0LOlRdAD3CLo9dQi6FHruuF6Y4gYywaEbs5tFq1r902iI7sfW5CM L4bAAhAGNi2CB3EZuR9Peghc0StCK70DFRkrKZfLHeiuiOL4yud2LLgKgUu925KsRUQcTYvc ov0Ok1aR+8XJ6L5rjSqr4pZyU4yYqgzdS9ePhyqPt+fX5/Pj5Nf9t78fnn+25p8vrw/P739P 7p+/T74/nd9+Do3alT+12rwItNftBG4ZuPCBCY6DQxB/XmjXMmR4mtx+QD2Htgbx7ldtfnl6 gTv5H+8PT+fJt1/nb3+/ybp+U+mvw+oqo5goDY13oT61LgK/4k6xbpCybRxIcRBkQHd/rNTt xht6UokSne3oqurS0aHM+Xk2nWudIMoiymHrQ/m20xygCJgviwWMcV9JgefDAEXJNotdGTXr n57fh8KCQqjaubtb5oKLI94KUQKQYHi5EWiYFRxaFjDliZmbyrztBQW9tyB3X3zR5wjmV1xr +46UnP+/sGNZbhuH/Yqnp92Z3bROH5tLD7QsW2xlSdEjTnzxuK4nyewk6fgxm/79AhBJiyKg HDJJCIiiSBAAARB4etljnuAfp/v7lgx770M5EnhdPYx88g2GX/VfZJrh29KZuTbHwmet2Y6F kR9H7BlPGhKsjBqafQkOcwdTB5KyQaOkhGUozGqkYx+rStWk/yS2wfFBdQZGfj0z+Yt4YYC9 abaQISKp0YPRVNKlG5M/UUhVTEDjgoXjK88NzZK3dAVUVAiFIAgt0XN0IA+NONHldcBDiNhG 6cv239Ovlnskm+d7/yYCHI+awqQxFWLiTY7TBC8b1qriZ64Aph6t0eySF9ym9eDrG5U28dnS RGkq+vcBqRFrR3QtiEima9vYBrSjs9Ntq9EfB+MAPfw1ejodd687+GN33F5cXPwZ7rkSGHlT x7dCVh4Lpnhi1pVupt+4Vfs0avoOiXC5NB1Xab4slH/HzMMkby2xBc/iesO4GuioSxlWveWl 6RqgHfPYAIaqcxRUlHL+jY4whEIV2vEijhTqEgsrAcHOUjXv5jLFbUdAZte2jGLg7fAzlNHU zDtaMokVDX2HlF3GLLZQaJWA5LHRsZDgpsWJQBCD+qeVL91aB3XU8DKiXXMEs+alAk3/xIuL XL7Gh3DY5aBdxUGIfAcFWRIsRprSfsub+uvl2O/kjIGahfyusueD6q8Z0Wd8i16MG0FtNBO6 jssSC19l31oJzpvLWk8Ih9MVEfbiZTu+sidAHHReqiLhcazuNrPk6nXQEviC6AzUnCgvpz0U 9KHQ/CImrVjVw4jMg20vHQ5IfUc+tylx2zkDfdhIDGRJxju/J0QJ7GCzYA/2Joyde9jPVT6b DaG0bH4AwdcCDKZgGW0nwkykUEaSnl9XmQoSilhNHZMVJLi5yHuLJnwvEMO0Y3YsLGI0NQ8I 4sKhw8oOIrYKxsBE2Iw1Oh/YQ/C6SbyGw0cm1M/uUsAkhuEsVMlL7y4mDA44RMHfoSlPz3Qi qXeHY49Dpd+nNa+jYE/EVdeVFI84sayfJEfw7rNxk0TRl09OwMgvxANINrclfmS874BY50Jc 2UKROBtIga0wSywn5mgbU5DU9/nUc5zg/wJdlDoiZthT9+zXY12wbKmzaSghMXpgSKhxVc0t CFhmlDbT+Ou7p8324f1PFEB/w5/7l4vKmYSBB9jE7A6dMN+fnvFUut8dDhcPHZdzHq1jgSIK ij6kMCDg/npaBoRW7ban/ePxd3jOxUytXqxMRp7XmNKV8uuMAKtyo7daRLR+RVj4uKJgJVoR Zuo6HsjgacEw7zo3vpthpL5WGGLACVY46zoU2C35HS+fHY4qQHlYCLq/w7pTQkC4Ftr5/NOW tZ8nWkVfA+OKm9x3jvpojXMXlbn//ev4MtpiZi5Xvu9MIi0y8OG5l0jfa74M2+EUG7YCK450 4aWi6EPChxJVJWxjiFpm87CxwK0WNi9UpubMSEy7F59lQH22wD6IVWxI8pLKzvQyn40vr6RL lwYna9JBeEG/5bHglrhu4iZm3k+/eMujXbymToATBHxEnY4PO5BZ281x93MUP2+RcoChjP57 PD6M1OHwsn0k0HRz3HhhvebNQoYPOzHD4Cq+1jfBmCYUoIt1oQ7cGye8odaChTgYB+Zd8gSM owkzuWnJ501w6zY8oNs6PMYkm8OD/IHStRq7T96A374xoJve860t5PEeVJaARURl9PEyYiku YnMrnMH1+MNUz7jNght9aICLKe/CcGCu0JcF6ihRcbpeaG7U5WIKG3Woc8QQnJpnjMvPvLfn jCHVdrJ0nwjlsjpw1Gbk7wQMGAXziQD4LBRUNxj1vBwLyY0sqyl6XbRUSpmfDqEYiTmWCK39 LwhQsmaiB7YjKIefmJ7hVLwUizRa+lOLOE2FVNAOp6p5R1gHYXChpeqaBjwLOHof43uiVmqQ b1cqrdQbxCQlpHbwspCyMFiSiAdnCtSx/oQ7JwyqtSAvAqoAXSVVNSesVr2ipT1uu8o5Hrwa ZAkATpjbDJvnny9Po+z09GO3H813z7v95tiONSRFrMZXlEKG846yQOedtziYQ6yMCiR/b7Jk PhfPtm1FkEQNbiGHqARSVNXdAsuSatLq1/VdwR+WJzpT5V3rlQvTO6ePP/ab/e/R/uUEx9pu CouJrssYL+10rDy2JiYcDrKouFvPynxho7cZlDTOBCjexGxq3Y3LsaAi0ngDpmuwsaDuRRyQ Q6Ci6Lr2mrolwhDDiapOm66btf/Ux57+CA3sMdtHSHUUT+6umEdbiETXhKLKpRKSibUYEy28 ulPUDLPNMWI8umKexL2JNkuzdbut5w1t+13lLqDUb53GnXb3ytsVAtiPaUHrSfSNPRO5g/V8 pb17ahXSQPfqIDZNF526OWiJLf1bw9fdKL7Uj661NGTtKGeIyx3vTCw4Yj2jONxa33QmRsF+ 6GU+RlOl5r99OuW4A94/LOO5hg3SLZuXZzVjkMw9+yghXb1eBS1jT1+gxi+vQtoCgv7zKgST ELSIVZnii2QUBd+dDaNgCOv60ysvZ833Zjj2QYTx5auQnYUwxh9ex/wYzF1xvQqKqfwP87d0 xZBCAQA= --------------050008060700070200050108-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/