From: mharris AT blackwidow DOT saultc DOT on DOT ca Date: Tue, 4 Feb 1997 22:37:42 -0500 (EST) Reply-To: mharris AT blackwidow DOT saultc DOT on DOT ca To: "Colin W. Glenn" cc: OpenDOS Mailing List Subject: Re: [opendos] OpenDOS + Win95 w/FAT32? In-Reply-To: Message-ID: Organization: Total disorganization. MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811840-2048056209-855113862=:166" Sender: owner-opendos AT mail DOT tacoma DOT net Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info. ---1463811840-2048056209-855113862=:166 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 2 Feb 1997, Colin W. Glenn wrote: > On Sun, 2 Feb 1997, Jim Lefavour wrote: > > > Warning! 8.3 programs will only see first occurance of file! > > > > > Therein lies one problem with the lookup table approach - I have seen > > several packages using long "Linux" filenames in TGZ files, which use > > filenames that have large similar portions, viz. > > > open_file.c open_file.h open_file_mic.c open_file_mic.h > > Well, a tar program I'm using right now does a neat job of this, they'd be > named: > > > open_fil.c open_fi~.h open_fi'.c open_fi`.h I think the linux/dosemu method is better since the filenaming conventions are consistent and very reliable. > We could have it implement an approach like this when presenting LFN's to > a 8.3 program, or we could also have an option TSR which will intercept > the dir call and present YOU with the LFN's, which one(s) do you want the > program to see and how? You're assuming that the program that is running is interactive. What if I want to run a program unattended in a batch file? The TSR pops up and nobody's home. What if I'm running a 16 node BBS and not at home? YIKES! What if I'm in Mode-X graphics, or in a VESA 16M color video mode and running a full speed interactive routine (like a game) and I wan't to open a game file to read in sprites or sound effects. What happens then? The game stops dead, and the tsr pops up in an obscure video mode? Even if it were possible for a TSR to know about all video cards and all possible video modes (and future modes as well), it would NOT know if stopping the program would screw it up of not. It would have to be one smart, big TSR! And VERY annoying as well! > > c:\thisone\level.help\open_file.help > > c:\thisone\level.help.source\open_file.help.txi > > Hmmm, either option A, or TSR, or name compression, ie: TSR is out of the question. Technically impossible. The solution must work in ALL cases and not require the user to fix things interactively. > > c:\thisone\levelhel\open_fil.hel > > c:\thisone\levelhel.sou\open_fil.txi Ok, lets assume that there are also ALLREADY files called open_fil.hel and open_fil.txi in addition to the long filenames listed above, then what? Picking arbitrary filenames with some kind of AI algorithm is not going to work most of the time because the names will still be weird looking. Since the filenames are going to be strange to begin with, it would be most beneficial to have an algorithm that was both fast, consistent, and reliable. Taking a long filename, and mangling this into the 8.3 filename seems a logical way to go in this case. A damned good way to do this is... you guessed it, the way that DOSemu does. This is by mangling the names ala the Mach FS. I've browsed the source code for this and it is VERY small and seems to be very reliable code. If you care to investigate for yourself, you can download the DOSemu source code and look in the directory: dosemu/src/dosext/mfs/ The file "mangle.c" contains the meat and potatoes of doing the filename translations and is VERY informative. I've included it as a zip file for those who are interested but don't want to download the 1.2 megs of DOSemu. It's only 7k. > There's bound to be a dozen ways to skin this cat. Naw, only one that I can see. :o) Mike A. Harris | http://blackwidow.saultc.on.ca/~mharris Computer Consultant | My webpage has moved and my address has changed. My dynamic address: http://blackwidow.saultc.on.ca/~mharris/ip-address.html mailto:mharris AT blackwidow DOT saultc DOT on DOT ca WABI: A commercial Windows emulator for Linux. http://www.caldera.com ---1463811840-2048056209-855113862=:166 Content-Type: APPLICATION/ZIP; name="mangle.zip" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: UEsDBBQAAAAIAO17YyBvpWm/DhoAAANeAAAIABAAbWFuZ2xlLmNVWAwATP33 Mp0BOjEAAA4AxVx5VxtJkv8bfYqEHhoVCDBgPO6R8SzGuIdtrsfR7n4ej6aQ UqjaUlVtZQk16/F89o0jr7pA3sa7zJu2VJUZGRkRGfmLyEhtroqWEOI6jn4X lydvNk9lfhMlSkSTdCwnMs7DPEriDWzzs8wUfBZbGz/Q94Mkvc+i21Eu2geB 2I8HmZyJqywa3MrxWGz98MN2B/6zg/95ju3x/1ejSIk0S26zcCLg4zCTUqhk mM/CTHbFfTIV/TAWmRxEKs+im2kuRZSLMB5sJpmYJINoeI904Nk0HshM5CMp cplNlEiG9OXH02vxo4xlFo7F+fRmHPXFcdSXsZIihKHxiRrJgbghOtjjHfJw qXkQ7xIgTJPuChnB+0zc6YlvmzE0wY5IMiTSDnPkPBNJiv0CYPdejMPcdd1o mr+b5kBEMREfJSlMaQQ0YZKzCER5I8VUyeF03EES0Fi8P7r629n1ldg//VW8 37+42D+9+rULjfNRAm/lnWRSqMQIKMPEsjDO74F/pHByeHHwN+iy/+bo+Ojq V5iFeHd0dXp4eSnenV2IfXG+f3F1dHB9vH8hzq8vzs8uDzeEuJTIlkQCD8h4 SGoCOQ5kHkZjZWf+K6hWAXvjgRiFdxJU3JfRHTAXij4Y0uPqQyLhOIlvaZ7Q 2EmyK6KhiJO8I2ZZBBaTJ1XFYnen2444ivsbHfHiz7viJFRK7N+BOg/CyQ3Z b0ec7Itn21s7P3TE9eX+Rmt1s9X6LhoO5FC8BXGcXMO3uD+eDqRYmoTx7Vhu jJZa38kx8One6A+K3tmn4yQcpGE24R4xmHSrJX8Ha4nBBHLx9vDN9Y/Hhz8f Hnf9x/1QyR6MH07HuX3x5uzsmN8wE91Wq7W5+oR/LZDwXQRcg5ZGsv9JTScC VkIo0Gzj29ZTjrXZwnkC4Z4Zqt0fhZlYVUHrM6gP32ZSiT3xrKu/9s2HaI+e zUbRWIo29gB1i8/0XyH60GdVdfU3pPGPPdHui1evRDsSy2JrNwjEP/DJ69ei vbW73o6W8Vlguqi1NbAx+A99/9JCIvk0i9tACxp9eWqpM3VwplOJph2KOJxI 9Bcg+FT2I1gcEzUANw3jywxXETZoPSUPmy0yrkj1zBg9GlLrZIgDsl7owTRN ZfYOH37Y2vnYNY9XUzBJ8B15Fh/AIm+7Zh0x5H+2tgNqs7kqxmm+tZH/Tv4e vEJMn2XeF+iYw7FKBLhDeQuzB/aESPfAWPqjzKe6srFCWgOptVOygtV0b+Xv z1bwITSnpj4ftnUbiU1Sn9jSwfHZwU9/WgrEHhhdIP71L9J/bcuz03ma7V// Mh+1k605223P2W5nznbP52l3fH41F3/Qbi7+oN1c/J1eH8/T7PzCKiOwi55W VBuXVCDI4Myjd2BZklcx2/xdOI4GPbD1Htrwh+3dF2DQre/A+UaxFD/vHx+9 7cEu0DuHXfQCrEy0Sz1W29NYRbcxrEteBQG0+hg8tZeI4igHVxAp2piZbYFe gQbFPf++9ZQDbrbuEhiBJ+sGb+NTdgUK4WKftyXXYADul4TcFQwGyGOTDnDh eQ1ZW6wYeo9woo3OPXq1tf2yCy6Ym5QEHn2EIdqRCscx7BoRGofQvmFpo/eP P/178bvl79c/f2kH/7Hyz6VOxJ5dEyfCr0DLRF400ucpLLRoCuCt4O/9SCMt 45VJ8vJ3QHVK3CQAU3BzVoBLoniQzBTiONVawB5kr/gWHN2AcRPYlBjCBkbO njwcD4RwkhqlIUKTcTIjB2kpdLTqkUYIeBHpnB8whdJEtp5v41RwFZAykPy+ yDM5CXmd1HfaqemUCPtX3+l5pdOhWHms04vqSIfikU67VfbOHp3TbpW960c7 vditdDoVeTQe+J1qlVbUUJN2tl9W6B+IPgRDsO01z6Qqs3MEugWZMVOWIfFy 95loTxIFGCqZTCBoqSX9sk7x/6SP7fdHp/Wddv9c5WcUPdxpe6tql4c8kO1U AuAVGit/XbE0DLDW7sb3RPz+/w6yQVj3cmOH/DKofxLmracc18G0l72dKjZD TwsOBaYN7hA+tIcW83DbQZL30kRxA/SXwyKMwv7kiSksae922kuEzgH8i2Wa Ec7u7/FShykH1q17YQn7bAVxW3+kX+hIxmzPFqmjQzzYvzzsHZ+9P7z4S2sB SQFro1CRv9MTCAwAN5v3wk0mw0/dCpnr8/MSGXCf85L5onFpP4xXcgzDMfyk pEMYA24lESpeX0ifBA2gA3cf/Pwasa23o9lRSlSB2MnlOnrtS72N4C4g1BSk FSpCxRijU1hvIbIdtYrQ9dweGxkANoToGF0WkYOeEbR773Yt2uX2Ty+PuInM N1hGb6a53bMU4fQ8C2OF2Q+b0QBvV+xEWZAr3Q4zK5PwHgVBiQOY6VgqDG3G 4e9AZCBTXMsQbFJfJGj4CtN0HPU5Q4VMM9fLy8vgpeKoTwkQiF8xjYU5AVqR ZJFovTPKRdxwtsDwzGPYTRhe+XPG0Jd2+8mNIIlnYoQulIdmG9ZhDywoUkPX gxMeZEJVaHf20/7pfx5RK7cWn3E3E86mbpksWKWrUTTMe7+BJLFBwO/wLxVr e2K7i1+/CMxImB6fwjisabzmN7UvsA9OY0+ALxDffy8WNXtBa2HB51U7nUCk Xb/vYhUnc8/yitN8GDbM0uN/dEqlSRjNA1XHSU347hPHTQJthpTAdm8WfZzg JAlpkT3Sov9BTCSYijj7yS1AJxhvweH6f7UnXuLI8HwMgjq/uui9PXr3rq3b d4wv5vFu0GdNpopdArrtED5vGUjZl2nuYCaiSrFBzG1seB6Igx6fER0esVtf 2tBxkQHI3hvzqsiQdVK34Bhz4/te+kO+hlk2+BpqkPYwWZTCRp23A7QkrQUU 0boglrfgsX66qPchLaS1LdqLivmc1cpKsYNTfGfSNDwPzJXFlMA10r2R+UzC 6FskwB03GfbhyNQrsS0ojLBPXovngXjAqbphWGaU5QzJhiz9B+ZWS9MwrDEE 4wcmV5wvxq4AaFqfpEwpOxf2P2FKtejyYJ+APVfBdH4Dwi2V8EYzSe7Qd1PO JY3go2YdLC8GJwpkZkn2idJ9m60hZ/7EKm/tgx6PtScgNj/uUgqv8Kanov+W rKjqO4Ym8OqJwVifjJV8tR6QRdJ6ylF0OMxj9QoTa1MmEyauURiovvC+aM54 CFJ6b6y6SZR1b60w2fi1xWGX18YnlHXWttoMJhCXJH1qnwzN82CVJtGtnUM9 c/jPN4DX6VQBGLLaJLsG/MKJ/m+mWxzVahbHrGako3Kuk7aEB7Rday8n+6c/ Hh++7V1e7R/8ZLVfR2rBZEesi/NyJBWDcBkT437A46tOod2H6GPg7Ru0sVLy qAfgaZLkJdv88Oxjp2QlnSjoLhQ507ypcAhTlZN+el+isvWxUyFrwEDZCE+O TtuVqXWq5re+xYkdnGdlQGSb3qYc7JAnrjQp5I9xs2ov+tFHugZD0GMdT+ED 2Cyeay9OwI+WYN3arM4Due5UmgLNb7CEKG7jFIRZPwUPSc++xVLiUyocvWT1 ejF19Po54ZcnYVpaXqn2UvkkNZhaoyK95X7Y/bi3tOStRE/FyurU48Nt1iav 17B0G0BNWlrTFaKcZeC3+vSjbd930s5zd7YEhkQhqX0ddHHv/4X/eLf/qqX+ 2VHGZaClVl30xW2E/Fvv5Y5tLzx9+B4JyMr/moZj21Ah4KbAQY9Y42AI3Ovg euGLR60sOow0NEwqE9FoqTDUA5PTjcLcNvIkjG/nmvfCQ5PW3rIg7qbJmybA jypzgn9GOKRs+K8R0xebJwc/U9F6UeOcpNnptJfoqBszNBRdexAIMwrLChM2 NYxaPX+9/6+D4fzIzaK0lr4soIvjk/xIaV90G/X1iSKm66icwMBXWAn0hhpR zg8W2sq/V57+1HsgsaYET3tmIyoBAfbIPfZN0qAIRVpPObpL6ekhiqCDv0xc xg71aARi967FSZ3rAmnPJKdzZgkHeDsvdNJHDjH7gkpwi9EGLhPYr00uAIIi 8/WZOYWDxfRhu9hiu9wCiOx8FIs2oWC+PitGQN68J2tbgWU8yp30myOgJ/wz Kd2wIKiwD6axIe5sbDaERQLTBCi6s7vRekoGNlv6PI1UjkzsvKDI4o4t4Q5s 4E4sA2dG63fgIraK8f/Ks5W1OzIL82B/RaxB03Vo+C1gxoAxOchpimUKZvGC fFwI23rKETVWL3nzObBFH6tZ9ooVJyoo4PkK0KBTIw9qoFY+/GDQB1LFJ14o ho+gu4t0G7KBrEDHJq4Qn2vt47HRIOkNZwOLpSYhQnp/1yoeendNUqsGFfH5 iMW6Hqh9ZbMdZnMhrwRRYi9GHWJGC9tHir8yNPaRi8MuPITXFcZK0YXQ6tcb uoHO8LFJMaYVsN5126PeZVquvoMat/wzixNjhuTFYVsEc1zCPbwJ0bFMwIFh vlPv7A6/LfV6vSW751GK0kxibc1Ow2Yscb7aBl6JnTJuwKFqigpQ/6l2l5g5 dTbIpNbW0BRX00oKFWUC/5Tbf9R8eaiCDIIkUGDVWPArsVsVyuOc0pLQNByT Ho9GbX7Dj3Z1aOXTP8uivfNidecFqwkUnALeyIdgvUvLarmP/1vqIAVvC+xo R4kENqGr/30ZvjuVrzoUVsHNhNIwXdotP/Shm5mJMzQNrbRnfeoILonvZJbD juSfUDi3uiFKp5Bq2u9LpYbT8VPvTOQMyNdqprTDPZvmpwiP+dtRTF+oMbur Jn+MGzw7xPE9ZSe5KjSibGfppEQvRzOU+PQbHQLr7GhbD8pxHSrCnCGU+nG7 wJ4VMxccJYPsonxFgbsDVD64r0vA6kMVPHbVFIs4RuOSYljZlOt1BnTA4jTx OLiqpY6lb/PCRAylE8XaArgirpKvMl3Z05f2SCvBQsRTYAeos0kXeaiFXz5a WXW7U94fud0YmL/SeD+ejseCcTadFtrNovZPb8lhjoWvPp14Jd94pK8+BQ/8 0RGjwLPbfIQJbk2XCHmFTCbxQJOAD72bKO8KJiMFfDFly7oduNH+iFtL9QhT 9IeFIgJN33BAlhcPJMgDAw9d9LnKtLQU024TrfMEporhClqF2vB7pXP2Sgu9 aCoY92V5t9TrPbHHQRtLhwRCbc3QRn4wOb8OtA3fO8LqElXTZaI/ytxJAtkJ scYbSzaZ0iLTtQk+p5bO0pIJOIHOCb6hUvk4IZbErcwVhZqGNdz8kK8mqRwV q+tSFpLprvTeqWtH9dH/FucGjZlSPLS6Ehjwpr0znZTUjThJE6WiG/SSeQJz n9xEt9NkymUW81nTLMkGatE7ydQ7exvMJqjtcZrkHPXFg6I1F1cVz6tCo56A v5yKFBSBKp+QXkwYkJI+a4cldMGSdMPi7YhBP8wGtotCfNEsnJ/wdGycJJ/8 2aUak5gTk0XkEbNQldliTRLPsTw/rdiSm7C9Luk2jZmeuODWcpLm90VZ86F7 auxGm0368Kz2x7PwHuuMgKVMKq/wAtYwRqvzOqJhri/UwNimD0sEJfG5rs9R Tg5qDgMwS7+wZgXsCCpdV6X0UVGQjLJMeYIdGo0mBjDmonLfjVJ0TmT4IFO3 GE4zyudYtnDedKlEH/CD7lVCNkKLju7heGG/7ec5RnQEFuA2L7fqSlHVfcus kUVeI0Gxn0JE4PdpsvcmW3cWXtUnet8kN3dnkEVznyisWZi+K9MPjYpq2bnM 8SYT3W3iE4gqSZrojDTA94TI5QraBOwWU6eLJuPydERm5n23BkfDvsG8KBYI wbaLg/D1FrzZpi3oNoyKzqxJzfP7U0/fvp/5Cn/qUXBeFfX6sEdtMJpmk8G/ 1KuecTF3s8NEoWL5M6wenAbe3NDCLAO9xhWPf7b4p9C2YHQ2BnO3cuo3WLNp OJHYgv+ahMoj6SOCGDZVwxdzZIa1E6boIg2jjIo/2wG8SsFqc7p1COIPISaj Sjjwn+AFLF5ETQ+hV+7UHpFDZm9OZG8jrAJk/MoklIQIbOB3gS1mH15wpRLW IcfTyQ04PWhCVcnWG2LJBxXJQusUiwjxwE2XuFWo4sHBDG92hj6nlg27QlN0 iboftzGnd+EnPcl0HHJdCX5Z1UP6s2HpaBGJWRjnhIdh2iphnzwzuXiqVbk4 4Mp5pRE43iHlW5MDJgJyvz49+oVmjIWW+uIgeGBxcg+8pylyqBnFkjqkmPVV wASZiI50eQ5EzowLgfbNIMpkP0+ye/QkdKJHVaj5aKqshEF3OccTnI7ieXrQ Hn3TnrOsrrPca6IVUeZKyTCDWfLhCLFexPqw5GrxApMZIIkhBBmFvYimrmrB P77xj2FjOTNPi8RPQMNimhJdrjUSGCQUiMaPxCGKcb8bw1R2lpJ5MI0TrbaV ZbWCgqAPGKuKUjq0cDWQ3L8GEs6N81N2prSpI+Bsr9hUKj00PtB8aZjH5aeI ZdAuoigeRBPE6tsoNuXuJQoa0rkTe60p65VRa3uiGpcZDpyBEJ6D/9GmuxJY YOfEeZnrFcurlUAULHcnTGI76BYlBhyQvBb5M0FWoE8lc/ZBAAI0E4ZnRn4s DqLw2ZcvTAlN90kk9KU0S43cG+aIvASOubZv+sBVMZmhtEyo27oWT1A6hN21 h7AavcA47nwVZlB46W23niTWtspB97mBRMoobaZvirNnuAH3OZEetRo1a9f+ sJ6LJqYfxRj0equ/jHlJoyWOy5i3AQrRysM2i2w2tZ0fhEIFChQqGgphNVDE P3BFlKxf9Syz1jZrrbPZPuexToehOBGt14uL+XhUynLEqYOydNzuWIip1luf 2jS04dmJyp/vqLyA76kU+hQq/V8otUmtX/6f1Gu4oSvIFVECTnUZUFjFtQtX e66mZeu5Lq8GxVumnBZDdU9vVB7l+Jsa+icUMIKeEbAsOCDvFK3MDGduIUxz biMoR+/uFpc/2bdnp4eL1jsXw3lfAZWOZKUhJRctuosTOnvXyHDO/EZ8jxdM SjuEt7F7EYSuCcMI4btoGHvXzvwrrhA3AKb7yrjhbaJRMMLBTBEOrglAAoCm x5iGYHScUdzMQNL/aQ1zVefYZSykFidiXb3KZNgfmdVWBLt4uUffrcFKHIgB NjZqUWmPdk4fm/pwk992S13YZBv78Gv3rIw3NSn1TdPdBd/j5avxad0h8h/C nSymevRp3jkMyk9qkSi/KuBR+6h+ATXhUT3sU6FSzfOez5P1P0+OSjXzNdjU k+ai/6SCU73HJbRalLHdOIo6LAifPZhbC39col+NYosS0Sm1ccE58D7CiQKT N/eWqz8JBKC1qFM3NQFzPKcLLgz6tdBU82fm5jyItTbnUBhhl2Lc+ryG5adg PnosC0DMUBrL+GbCb6p2Ykg0G4rP7x8DHA128gBmKEmzEvXs1cc8uptPYr2o He8WwcOR0MI8kGRBKT5oW/DODvnY0JOnZ/rrvmPAa3/6nI/9+YJVcuUoS+NK WT3h0fU11bOoAqBFOIogxXSBjYtxKOdOF5pPUnS+tgERL8wBvxaK2AuLfFC6 J3gIQgmyEf6IGkmMaTYfKfn7hWtvql9UORShTO+UfUD5LNgqsDFGcerwhRUE jyuk61tXk1T+GB6tW6pfiUcfRp3+BlOPPZ+2fMhLG5qfJ8DqVpe45OnMMOH8 cscWOGPKWblfORlGctD6Jj//5ZdxMq9+ISf/O0pscRHw3QSziRI2SPPMIcmB uTxSuU/S8kvndXGNlta6/oDtUXLLlNQ3FfQwhP+TBzV3XOoqM70fuCldY8Dp 2Rpu/PJBLxx6sc4lkyubVD+N89Nf9Q8sFG87LG0u2dtQ3mNk2Yygn5lB9Fca Z+8BwlQWB29YwLBCzlIZv40yS8CVPXGTyrRb+i4LqQQIXMhwAASwwqitu3QF 60s80ObB+y4D+1MX+PcVl1zKiP8v4EHu9Q9e3KI3Ze0T/Y6ZcvmKDF60c3dF 9P260i0Zw+FCXeWWLng9GCdKomyNWJyzL9TAchg4iAZ495iy+1Fui2Ww7NYU xVYJfoPSeVepiL8qYSoVQzHF3xmlr+tCF7vcw0NzHtJ6Sia0Q8EhTZFigz+Z oz7RqwgnglwJaGRaErFf8CfKpj9XmTeWVtCORrs3Im880qKajmSSJrHEgxIC C/gjqriHwv444rMhqvzUuw1dr5H3dLLN+WGTdhhQIkA6CKl9ZNOhxlsJQC3m n+swUTIH0iUKXsbY+FnLMz9etd/dfWUup6pFJOb0Ky3IoXg45P88RKFc2fyG xaYO+XRNtz4mP0eh6dNZcEdJ5kU41bym95MYxjPyXz2YAvq30hZUkNHfRMVa RZP3KicrEPLDCs7kRNLJbQTa5rawaCL7eyemOUZAJRkXRKKRq9ksAkPflNhS JsQSKOdTBxqZ+RUA+qH5YUUnn7qUmCFc3Am9/GvpaLHrvTCon15wvRDKwSsZ YjnSBqUb2QEfaJNW3nlp08K71ISXYs2g2LoB3A+XFJBkk3HoJc6VLuiy0VS8 w1JHkmsbWjU1wv59BneZgf3dWIax20daNhVgHMEAvbHJQGJ+YJoirvEcU6jw 6J2qdtAH3Sa5TRLWVQfQNShyUOMIVzZmH/noHofDLBkvBCZCyNfkGV2WrJ02 XGsLyvdtyRtv62sBzn4slu2WXrjf4nHPsFjOUlh1MBiMXUOOVWxibyZoraVY t5wMh+aY21Y76N/t44a+D0q33bTSDi1Bd+tl294X0VaIJDvpNl0CX/hSGXia u8HAL8jx0FlMYTRzz+eR4QihmOHsUysNujRvb+zyVRe/pwqsbOzBQQF40U/p zAyczkdZMr3lQN9J3CsJs0btldqVIgKLlDuOyzocx2oGf0T1Jm19T9jeE9kK fK3qn5zFOfQ9CVPpV+FsREM3M3IB9zkjClzMbIG4IUAPCzKivqj3R7tRI3fx pDRF1dkqXwatKeU3t1P0vYf/AVBLAwQUAAAACADte2MgwkRIicACAAAUBgAA CAAQAG1hbmdsZS5oVVgMAE/99zKdAToxAAAOAI1UYU/bMBD9vPwKI77EVQa0 G9IYiKnQgtBoi2jRkKYpcpNLa+HYme0UOvHjd07SJO3QNgkR37t3d+/O5x52 yBJYDJokXACxiqTsCfCfXAg4iBC15JnbJYmVgTQnnteXsYZnMtM8XoAQ3ojp aEm6JyfHXufQ8/Z5QmJIuITYD0PBZf4ShpS8vrbQMdiL6QBhb78EyWAyHY4e SPfdu8MOsUtuCP4xkiltnaaqOObfBxnzxHN1ZCTyGMiZsTFXB8vzFpRLjug2 hoDg820sZUKoaJenuVz8EYtCt7HIrjNwkOehZokiYZ4vFhhL3mMLQCKFNGwj A51AZPcK+Zt+hxcP176AFYggBWPYApph3M3uw8HN1ZWfdYOsR4nvZ1Zj10lo qe/70ZJp0qHopRRLNXaPUlpcgMREZHQzrjPi2WfB3KVi9Myf0y/4/Yxfuhlo HdV/bKL6j03U+VtRNRWHJpVOfUPdUahn0Hhuu7lxBCYcxd9DYMlMnmUFj7YS sQTCFNIoW/svwTpANlqpWkFlNlSRhS5vFsbK+pQcNZ6LyeSWcGnrrmY6h9rr DNKtzSsmDGB0s1mV47I/HYa3k2/De+dtgw93dwh2ket2wBUo7iApV+d79+jo x+m2K6tdvY/oK1Ym08oqxzJuM1aKx9WzCyVLIfz0obpZE5Q5OqPCG49YRk89 eLGgZdlqrMLkOQ7LaPfN/ju0KBUpuQJtq6BJbseIBqV1IwujIJcF/pmTm42U jYwdQrSE6KmWayyLnv4qeHtaAUlULmO8YJJbLvBHCsdXRk1xDS9xc0orBmOr LoyOAlwIIjFbMWm8j3L7GoWFtPZivukqd7txFdmY1mwdosRUWaicBVYUBWH4 L6iOkIK0LRW7+Tal4GeOj6XCu5s2em4arTfeH1/fDlsP1plutzfPc4s3CKez /uXXHXqFkuP6CfwGUEsBAhUDFAAAAAgA7XtjIG+lab8OGgAAA14AAAgADAAA AAAAAQAAQICBAAAAAG1hbmdsZS5jVVgIAEz99zKdAToxUEsBAhUDFAAAAAgA 7XtjIMJESInAAgAAFAYAAAgADAAAAAAAAQAAQICBRBoAAG1hbmdsZS5oVVgI AE/99zKdAToxUEsFBgAAAAACAAIAhAAAADodAAAAAA== ---1463811840-2048056209-855113862=:166--