From owner-freebsd-current@FreeBSD.ORG Sun Mar 25 19:01:59 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 535DE1065672; Sun, 25 Mar 2012 19:01:59 +0000 (UTC) (envelope-from bsam@passap.ru) Received: from forward15.mail.yandex.net (forward15.mail.yandex.net [IPv6:2a02:6b8:0:801::5]) by mx1.freebsd.org (Postfix) with ESMTP id 23E208FC1F; Sun, 25 Mar 2012 19:01:58 +0000 (UTC) Received: from smtp12.mail.yandex.net (smtp12.mail.yandex.net [95.108.131.191]) by forward15.mail.yandex.net (Yandex) with ESMTP id B7BBC9E19BD; Sun, 25 Mar 2012 23:01:56 +0400 (MSK) Received: from smtp12.mail.yandex.net (localhost [127.0.0.1]) by smtp12.mail.yandex.net (Yandex) with ESMTP id 8BD5416A0219; Sun, 25 Mar 2012 23:01:56 +0400 (MSK) Received: from 46.38.39.187.tel.ru (46.38.39.187.tel.ru [46.38.39.187]) by smtp12.mail.yandex.net (nwsmtp/Yandex) with ESMTP id 1t1KBG0r-1u1uXM59; Sun, 25 Mar 2012 23:01:56 +0400 Message-ID: <4F6F6BA3.2010803@passap.ru> Date: Sun, 25 Mar 2012 23:01:55 +0400 From: Boris Samorodov User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:8.0) Gecko/20111114 Thunderbird/8.0 MIME-Version: 1.0 To: Tim Kientzle , Dimitry Andric , freebsd-current@freebsd.org References: <4F6CD93D.70109@passap.ru> <4F6CEB1F.4040300@FreeBSD.org> <4F6D52DF.7080105@passap.ru> <4F34E618-DB66-464D-B5B2-900960D6C16B@kientzle.com> <4F6F155E.30902@passap.ru> <38D08B05-58E1-4266-9628-2C22836806D3@kientzle.com> In-Reply-To: <38D08B05-58E1-4266-9628-2C22836806D3@kientzle.com> Content-Type: multipart/mixed; boundary="------------030400090300010806090108" Cc: Subject: Re: /usr/bin/tar creates invalid lib file X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Mar 2012 19:01:59 -0000 This is a multi-part message in MIME format. --------------030400090300010806090108 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 25.03.2012 21:53, Tim Kientzle пишет: > > On Mar 25, 2012, at 5:53 AM, Boris Samorodov wrote: > >> On 24.03.2012 21:00, Tim Kientzle wrote: >>> >>> On Mar 23, 2012, at 9:51 PM, Boris Samorodov wrote: >>> >>> Can you send me the output of: >>> >>> tar -cvf /tmp/test.tar /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../pr/src/./libnspr4.so.1 >>> >>> (A tar archive containing only that one source file.) >>> >>> This looks similar to a bug that we found in libarchive recently >>> I didn't think that bug impacted FreeBSD, but I may have been >>> wrong…. if it did, it will be obvious from the structure of the >>> created archive. >> >> The following file is extracted after tarring: >> ----- >> % hd libnspr4.so.1 >> 00000000 32 0a 30 0a 30 0a 32 34 31 39 37 31 0a 30 0a 00 |2.0.0.241971.0..| >> 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| >> * >> 00000200 >> ----- >> >> The tar file itself attached (3KB in length). > > Ugh. I'll probably need your help to diagnose this more precisely. > > Here is the root problem: tar thinks this is a sparse file > with nothing in it. On FreeBSD, bsdtar now uses > lseek(SEEK_HOLE) to identify holes in the file. For > some reason, bsdtar is storing this file as just one big hole. > > There are a lot of things here that don't make sense: > > * The extracted file should be all zero bytes. (The 2.0.0.241971.0. is the sparse file map, it's not really part of the file.) How are you extracting this? I used misc/mc to walk through the filesystem of the tar archive and then just copy the library to an existing file system. OK, you are right. Seems that mc has made a joke on me. When I extract the file at command line it consists of zeros: ----- % tar xvf /tmp/test.tar --strip-components 16 % ls -l total 1 -rwxr-xr-x 1 bsam wheel 241971 24 мар 08:48 libnspr4.so.1 % hd libnspr4.so.1 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 0003b130 ----- > * Can you run the tar command under truss or ktrace and look for calls to lseek()? That would help verify that this is really a tar bug and not a filesystem or kernel bug. Interesting... I'll create three tar archives (without truss, with truss and with kdump): ----- % ls -l /tmp/test/ total 0 % sudo tar -cvf /tmp/test/no-truss.tar /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../pr/src/./libnspr4.so.1 [...] % sudo truss tar -cvf /tmp/test/truss.tar /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../pr/src/./libnspr4.so.1 [...] % sudo ktrace tar -cvf /tmp/test/ktrace.tar /usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../pr/src/./libnspr4.so.1 % ls -l /tmp/test total 248 -rw-r--r-- 1 root wheel 3072 25 мар 22:47 ktrace.tar -rw-r--r-- 1 root wheel 3072 25 мар 22:46 no-truss.tar -rw-r--r-- 1 root wheel 243712 25 мар 22:47 truss.tar ----- Seems that we get a good tar archive while using truss! Lets see what kdump says. The relevant last part is attached. > I'll spend some time today to see if I can reproduce the problem here. Thanks. Let me know if I can help you here. -- WBR, Boris Samorodov (bsam) FreeBSD Committer, http://www.FreeBSD.org The Power To Serve --------------030400090300010806090108 Content-Type: text/plain; name="kdump.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdump.log" ICA0Mzc5IGJzZHRhciAgIEdJTyAgIGZkIDUgcmVhZCA1MzcgYnl0ZXMNCiAgICAgICAiIyAk RnJlZUJTRDogaGVhZC9ldGMvZ3JvdXAgMjE4MDQ2IDIwMTEtMDEtMjggMjI6Mjg6MTJaIHBq ZCAkDQoJIw0KCXdoZWVsOio6MDpyb290DQoJZGFlbW9uOio6MToNCglrbWVtOio6MjoNCglz eXM6KjozOg0KCXR0eToqOjQ6DQoJb3BlcmF0b3I6Kjo1OnJvb3QsYnNhbSINCiAgNDM3OSBi c2R0YXIgICBSRVQgICByZWFkIDUzNy8weDIxOQ0KICA0Mzc5IGJzZHRhciAgIENBTEwgIGNs b3NlKDB4NSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBjbG9zZSAwDQogIDQzNzkgYnNkdGFy ICAgQ0FMTCAgbWFkdmlzZSgweDM0MTRmMDAwLDB4ODAwMCxNQURWX0ZSRUUpDQogIDQzNzkg YnNkdGFyICAgUkVUICAgbWFkdmlzZSAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgX19hY2xf Z2V0X2xpbmsoMHgzNDAxNjEwMCxBQ0xfVFlQRV9BQ0NFU1MsMHgzNDE0ODAwMCkNCiAgNDM3 OSBic2R0YXIgICBOQU1JICAiL3Vzci9wb3J0cy9kZXZlbC9uc3ByL3dvcmsvbnNwci00Ljkv bW96aWxsYS9uc3BycHViL2J1aWxkL2Rpc3QvbGliLy4uLy4uL3ByL3NyYy8uL2xpYm5zcHI0 LnNvLjEiDQogIDQzNzkgYnNkdGFyICAgUkVUICAgX19hY2xfZ2V0X2xpbmsgLTEgZXJybm8g MjIgSW52YWxpZCBhcmd1bWVudA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIGV4dGF0dHJfbGlz dF9saW5rKDB4MzQwMTYxMDAsMHgxLDAsMCkNCiAgNDM3OSBic2R0YXIgICBOQU1JICAiL3Vz ci9wb3J0cy9kZXZlbC9uc3ByL3dvcmsvbnNwci00LjkvbW96aWxsYS9uc3BycHViL2J1aWxk L2Rpc3QvbGliLy4uLy4uL3ByL3NyYy8uL2xpYm5zcHI0LnNvLjEiDQogIDQzNzkgYnNkdGFy ICAgUkVUICAgZXh0YXR0cl9saXN0X2xpbmsgMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHBh dGhjb25mKDB4MzQwMTYxMDAsMHgxNSkNCiAgNDM3OSBic2R0YXIgICBOQU1JICAiL3Vzci9w b3J0cy9kZXZlbC9uc3ByL3dvcmsvbnNwci00LjkvbW96aWxsYS9uc3BycHViL2J1aWxkL2Rp c3QvbGliLy4uLy4uL3ByL3NyYy8uL2xpYm5zcHI0LnNvLjEiDQogIDQzNzkgYnNkdGFyICAg UkVUICAgcGF0aGNvbmYgNTEyLzB4MjAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgb3Blbigw eDM0MDE2MTAwLDB4NDxPX05PTkJMT0NLPiw8dW51c2VkPjApDQogIDQzNzkgYnNkdGFyICAg TkFNSSAgIi91c3IvcG9ydHMvZGV2ZWwvbnNwci93b3JrL25zcHItNC45L21vemlsbGEvbnNw cnB1Yi9idWlsZC9kaXN0L2xpYi8uLi8uLi9wci9zcmMvLi9saWJuc3ByNC5zby4xIg0KICA0 Mzc5IGJzZHRhciAgIFJFVCAgIG9wZW4gNQ0KICA0Mzc5IGJzZHRhciAgIENBTEwgIGxzZWVr KDB4NSwwLFNFRUtfU0VULDB4MykNCiAgNDM3OSBic2R0YXIgICBSRVQgICBsc2VlayAwDQog IDQzNzkgYnNkdGFyICAgQ0FMTCAgbHNlZWsoMHg1LDAsU0VFS19TRVQsMHg0KQ0KICA0Mzc5 IGJzZHRhciAgIFJFVCAgIGxzZWVrIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBsc2Vlaygw eDUsMCxTRUVLX1NFVCwweDMpDQogIDQzNzkgYnNkdGFyICAgUkVUICAgbHNlZWsgLTEgZXJy bm8gNiBEZXZpY2Ugbm90IGNvbmZpZ3VyZWQNCiAgNDM3OSBic2R0YXIgICBDQUxMICBjbG9z ZSgweDUpDQogIDQzNzkgYnNkdGFyICAgUkVUICAgY2xvc2UgMA0KICA0Mzc5IGJzZHRhciAg IENBTEwgIHdyaXRlKDB4MiwweDgyYmZlNDM4LDB4NSkNCiAgNDM3OSBic2R0YXIgICBHSU8g ICBmZCAyIHdyb3RlIDUgYnl0ZXMNCiAgICAgICAidGFyOiAiDQogIDQzNzkgYnNkdGFyICAg UkVUICAgd3JpdGUgNQ0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHdyaXRlKDB4MiwweDgyYmZl NDM4LDB4MjYpDQogIDQzNzkgYnNkdGFyICAgR0lPICAgZmQgMiB3cm90ZSAzOCBieXRlcw0K ICAgICAgICJSZW1vdmluZyBsZWFkaW5nICcvJyBmcm9tIG1lbWJlciBuYW1lcyINCiAgNDM3 OSBic2R0YXIgICBSRVQgICB3cml0ZSAzOC8weDI2DQogIDQzNzkgYnNkdGFyICAgQ0FMTCAg d3JpdGUoMHgyLDB4MzNmY2UwNGYsMHgxKQ0KICA0Mzc5IGJzZHRhciAgIEdJTyAgIGZkIDIg d3JvdGUgMSBieXRlDQogICAgICAgIg0KICAgICAgICINCiAgNDM3OSBic2R0YXIgICBSRVQg ICB3cml0ZSAxDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgd3JpdGUoMHgyLDB4ODJiZmU2Zjgs MHg2MCkNCiAgNDM3OSBic2R0YXIgICBHSU8gICBmZCAyIHdyb3RlIDk2IGJ5dGVzDQogICAg ICAgImEgdXNyL3BvcnRzL2RldmVsL25zcHIvd29yay9uc3ByLTQuOS9tb3ppbGxhL25zcHJw dWIvYnVpbGQvZGlzdC9saWIvLi4vLi4vcHIvc3JjLy4vbGlibnNwclwNCgk0LnNvLjEiDQog IDQzNzkgYnNkdGFyICAgUkVUICAgd3JpdGUgOTYvMHg2MA0KICA0Mzc5IGJzZHRhciAgIENB TEwgIG9wZW4oMHgzNDAxNjEwMCwwPE9fUkRPTkxZPiw8dW51c2VkPjB4MzNjZGY1NTApDQog IDQzNzkgYnNkdGFyICAgTkFNSSAgIi91c3IvcG9ydHMvZGV2ZWwvbnNwci93b3JrL25zcHIt NC45L21vemlsbGEvbnNwcnB1Yi9idWlsZC9kaXN0L2xpYi8uLi8uLi9wci9zcmMvLi9saWJu c3ByNC5zby4xIg0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIG9wZW4gNQ0KICA0Mzc5IGJzZHRh ciAgIENBTEwgIHJlYWQoMHg1LDB4MzQwM2IwMDAsMHgxNDAwMCkNCiAgNDM3OSBic2R0YXIg ICBHSU8gICBmZCA1IHJlYWQgNDA5NiBieXRlcw0KICAgICAgIDB4MDAwMCA3ZjQ1IDRjNDYg MDEwMSAwMTA5IDAwMDAgMDAwMCAwMDAwIDAwMDAgMDMwMCAwMzAwIDAxMDAgIHwuRUxGLi4u Li4uLi4uLi4uLi4uLi4ufA0KICAgICAgIDB4MDAxNiAwMDAwIDIwOGEgMDAwMCAzNDAwIDAw MDAgNDgwYiAwMzAwIDAwMDAgMDAwMCAzNDAwIDIwMDAgIHwuLiAuLi40Li4uSC4uLi4uLi40 LiAufA0KICAgICAgIDB4MDAyYyAwNDAwIDI4MDAgMWIwMCAxODAwIDAxMDAgMDAwMCAwMDAw IDAwMDAgMDAwMCAwMDAwIDAwMDAgIHwuLiguLi4uLi4uLi4uLi4uLi4uLi4ufA0KICAgICAg IDB4MDA0MiAwMDAwIDk4ZTkgMDIwMCA5OGU5IDAyMDAgMDUwMCAwMDAwIDAwMTAgMDAwMCAw MTAwIDAwMDAgIHwuLi4uLi4uLi4uLi4uLi4uLi4uLi4ufA0KICAgICAgIDB4MDA1OCAwMGYw IDAyMDAgMDBmMCAwMjAwIDAwZjAgMDIwMCAxMDEwIDAwMDAgNjgyNyAwMDAwIDA2MDAgIHwu Li4uLi4uLi4uLi4uLi4uaCcuLi4ufA0KICAgICAgIDB4MDA2ZSAwMDAwIDAwMTAgMDAwMCAw MjAwIDAwMDAgOTBmMyAwMjAwIDkwZjMgMDIwMCA5MGYzIDAyMDAgIHwuLi4uLi4uLi4uLi4u Li4uLi4uLi4ufA0KICAgICAgIDB4MDA4NCBkMDAwIDAwMDAgZDAwMCAwMDAwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwuLi4uLi4uLnwNCg0KICA0Mzc5IGJzZHRh ciAgIFJFVCAgIHJlYWQgODE5MjAvMHgxNDAwMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHJl YWQoMHg1LDB4MzQwM2IwMDAsMHgxNDAwMCkNCiAgNDM3OSBic2R0YXIgICBHSU8gICBmZCA1 IHJlYWQgNDA5NiBieXRlcw0KICAgICAgIDB4MDAwMCBlODIwIDUwZmYgZmY4MSBjMzRiIGI1 MDEgMDA4MyBlMDAzIDBmODUgN2UwMCAwMDAwIGMxZmUgIHwuIFAuLi4uSy4uLi4uLi4ufi4u Li4ufA0KICAgICAgIDB4MDAxNiAwMjg1IGY2ODkgNzVmMCA3NDQzIDhiYmIgNTAyMCAwMDAw IDg1ZmYgMGY4NCA3ZjAwIDAwMDAgIHwuLi4udS50Qy4uUCAuLi4uLi4uLi4ufA0KICAgICAg IDB4MDAyYyBmNjQ1IGYwMDEgNzUxMyBkMTdkIGYwNzQgMmE4YiAzNzg1IGY2NzQgMmY4OSBm N2Y2IDQ1ZjAgIHwuRS4udS4ufS50Ki43Li50Ly4uLkUufA0KICAgICAgIDB4MDA0MiAwMTc0 IGVkOGIgNDVlYyA4OWZhIGU4NTEgZmJmZiBmZjg5IGM2OGIgNDVlYyBlODQ3IGZkZmYgIHwu dC4uRS4uLi5RLi4uLi4uRS4uRy4ufA0KICAgICAgIDB4MDA1OCBmZmQxIDdkZjAgODk3NSBl Yzc1IGQ2OGIgNDVlYyA4M2M0IDBjNWIgNWU1ZiA1ZGMzIDhiODMgIHwuLn0uLnUudS4uRS4u Li5bXl9dLi4ufA0KICAgICAgIDB4MDA2ZSAxNDE3IDAwMDAgODkwNCAyNGU4IDFhM2YgZmZm ZiA4YjM3IDg1ZjYgNzQ1NiA4YjgzIDE0MTcgIHwuLi4uLi4kLi4/Li4uNy4udFYuLi4ufA0K ICAgICAgIDB4MDA4NCAwMDAwIDg5ZjcgODkwNCAyNGU4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwuLi4uLi4kLnwNCg0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIHJl YWQgODE5MjAvMHgxNDAwMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHJlYWQoMHg1LDB4MzQw M2IwMDAsMHgxNDAwMCkNCiAgNDM3OSBic2R0YXIgICBHSU8gICBmZCA1IHJlYWQgNDA5NiBi eXRlcw0KICAgICAgIDB4MDAwMCA4OTdjIDI0MDQgODkwNCAyNGZmIDkzYjQgMGEwMCAwMDg1 IGMwODkgYzY3OCAyMjhiIDRkMGMgIHwufCQuLi4kLi4uLi4uLi4uLngiLk0ufA0KICAgICAg IDB4MDAxNiA4NWM5IDc0MGMgOGI1NSAwYzg5IGY4ZTggN2NmNCBmZmZmIDg5YzYgODlmMCA4 YjVkIGY0OGIgIHwuLnQuLlUuLi4ufC4uLi4uLi4uXS4ufA0KICAgICAgIDB4MDAyYyA3NWY4 IDhiN2QgZmM4OSBlYzVkIGMzZTggZmEwMiBmZWZmIDhiMDAgODkwNCAyNGU4IDNjMGQgIHx1 Li59Li4uXS4uLi4uLi4uLi4kLjwufA0KICAgICAgIDB4MDA0MiAwMDAwIGViZTAgOGQ3NiAw MDhkIGJjMjcgMDAwMCAwMDAwIDU1ODkgZTU4MyBlYzc4IDg5NWQgIHwuLi4uLnYuLi4nLi4u LlUuLi4ueC5dfA0KICAgICAgIDB4MDA1OCBmNDhiIDQ1MDggZThjNCAwZmZlIGZmODEgYzNl ZiA3NDAwIDAwODkgN2RmYyA4ZDdkIDk0ODkgIHwuLkUuLi4uLi4uLi50Li4ufS4ufS4ufA0K ICAgICAgIDB4MDA2ZSA3NWY4IDg5N2MgMjQwNCA4OTA0IDI0ZTggZjhmYiBmZGZmIDg1YzAg ODljNiA3ODIyIDhiNDUgIHx1Li58JC4uLiQuLi4uLi4uLi54Ii5FfA0KICAgICAgIDB4MDA4 NCAwYzg1IGMwNzQgMGM4YiA1NTBjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwuLi50Li5VLnwNCg0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIHJlYWQgNzgxMzEvMHgx MzEzMw0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHJlYWQoMHg1LDB4MzQwM2IwMDAsMHgxNDAw MCkNCiAgNDM3OSBic2R0YXIgICBHSU8gICBmZCA1IHJlYWQgMCBieXRlcw0KICAgICAgICIi DQogIDQzNzkgYnNkdGFyICAgUkVUICAgcmVhZCAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAg Y2xvc2UoMHg1KQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIGNsb3NlIDANCiAgNDM3OSBic2R0 YXIgICBDQUxMICB3cml0ZSgweDIsMHgzM2ZjZTA0ZiwweDEpDQogIDQzNzkgYnNkdGFyICAg R0lPICAgZmQgMiB3cm90ZSAxIGJ5dGUNCiAgICAgICAiDQogICAgICAgIg0KICA0Mzc5IGJz ZHRhciAgIFJFVCAgIHdyaXRlIDENCiAgNDM3OSBic2R0YXIgICBDQUxMICBmY2hkaXIoMHg0 KQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIGZjaGRpciAwDQogIDQzNzkgYnNkdGFyICAgQ0FM TCAgY2xvc2UoMHg0KQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIGNsb3NlIDANCiAgNDM3OSBi c2R0YXIgICBDQUxMICB3cml0ZSgweDMsMHgzNDBhOTgwMCwweGMwMCkNCiAgNDM3OSBic2R0 YXIgICBHSU8gICBmZCAzIHdyb3RlIDMwNzIgYnl0ZXMNCiAgICAgICAicG9ydHMvZGV2ZWwv bnNwci93b3JrL25zcHItNC45L21vemlsbGEvbnNwcnB1Yi9idWlsZC9kaXN0L2xpYi8uLi8u Li9wci9zcmMvLi9QYXhIZWFkZXIvbGliXA0KCW5zcHI0LnNvLjEwMDA3NTUgXDAwMDAwMDAw MCBcMDAwMDAwMDAwIFwwMDAwMDAwMDAwMDQyNyAxMTczIg0KICA0Mzc5IGJzZHRhciAgIFJF VCAgIHdyaXRlIDMwNzIvMHhjMDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBjbG9zZSgweDMp DQogIDQzNzkgYnNkdGFyICAgUkVUICAgY2xvc2UgMA0KICA0Mzc5IGJzZHRhciAgIENBTEwg IG1hZHZpc2UoMHgzNDBlZjAwMCwweDIwMDAsTUFEVl9GUkVFKQ0KICA0Mzc5IGJzZHRhciAg IFJFVCAgIG1hZHZpc2UgMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIG1hZHZpc2UoMHgzNDBh OTAwMCwweDMwMDAsTUFEVl9GUkVFKQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIG1hZHZpc2Ug MA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIG1hZHZpc2UoMHgzNDBhNzAwMCwweDEwMDAsTUFE Vl9GUkVFKQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIG1hZHZpc2UgMA0KICA0Mzc5IGJzZHRh ciAgIENBTEwgIG1hZHZpc2UoMHgzNDAzYjAwMCwweDE0MDAwLE1BRFZfRlJFRSkNCiAgNDM3 OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBtYWR2 aXNlKDB4MzQwZWQwMDAsMHgyMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBSRVQg ICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBtYWR2aXNlKDB4MzQwNjAwMDAs MHgxMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDANCiAg NDM3OSBic2R0YXIgICBDQUxMICBtYWR2aXNlKDB4MzQwNTAwMDAsMHgxMDAwLE1BRFZfRlJF RSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBD QUxMICBtYWR2aXNlKDB4MzQxNDcwMDAsMHgxMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0 YXIgICBSRVQgICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBtYWR2aXNlKDB4 MzQwNGYwMDAsMHgxMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBtYWR2 aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBtYWR2aXNlKDB4MzQwMmMwMDAsMHgxMDAw LE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDANCiAgNDM3OSBi c2R0YXIgICBDQUxMICBtYWR2aXNlKDB4MzQxYTcwMDAsMHgxMDAwLE1BRFZfRlJFRSkNCiAg NDM3OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBt YWR2aXNlKDB4MzQwMTYwMDAsMHgxMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBS RVQgICBtYWR2aXNlIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBtYWR2aXNlKDB4MzQwMTIw MDAsMHgzMDAwLE1BRFZfRlJFRSkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBtYWR2aXNlIDAN CiAgNDM3OSBic2R0YXIgICBDQUxMICBzaWdwcm9jbWFzayhTSUdfQkxPQ0ssMHgzM2M2YzI3 MCwweDgyYmZlYTY4KQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIHNpZ3Byb2NtYXNrIDANCiAg NDM3OSBic2R0YXIgICBDQUxMICBzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywweDMzYzZjMjg0 LDApDQogIDQzNzkgYnNkdGFyICAgUkVUICAgc2lncHJvY21hc2sgMA0KICA0Mzc5IGJzZHRh ciAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJR19CTE9DSywweDMzYzZjMjcwLDB4ODJiZmUxZTgp DQogIDQzNzkgYnNkdGFyICAgUkVUICAgc2lncHJvY21hc2sgMA0KICA0Mzc5IGJzZHRhciAg IENBTEwgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLDB4MzNjNmMyODQsMCkNCiAgNDM3OSBi c2R0YXIgICBSRVQgICBzaWdwcm9jbWFzayAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgc2ln cHJvY21hc2soU0lHX0JMT0NLLDB4MzNjNmMyNzAsMHg4MmJmZTFlOCkNCiAgNDM3OSBic2R0 YXIgICBSRVQgICBzaWdwcm9jbWFzayAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgc2lncHJv Y21hc2soU0lHX1NFVE1BU0ssMHgzM2M2YzI4NCwwKQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAg IHNpZ3Byb2NtYXNrIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBzaWdwcm9jbWFzayhTSUdf QkxPQ0ssMHgzM2M2YzI3MCwweDgyYmZlMWU4KQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIHNp Z3Byb2NtYXNrIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBzaWdwcm9jbWFzayhTSUdfU0VU TUFTSywweDMzYzZjMjg0LDApDQogIDQzNzkgYnNkdGFyICAgUkVUICAgc2lncHJvY21hc2sg MA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJR19CTE9DSywweDMzYzZj MjcwLDB4ODJiZmUxZTgpDQogIDQzNzkgYnNkdGFyICAgUkVUICAgc2lncHJvY21hc2sgMA0K ICA0Mzc5IGJzZHRhciAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLDB4MzNjNmMy ODQsMCkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBzaWdwcm9jbWFzayAwDQogIDQzNzkgYnNk dGFyICAgQ0FMTCAgc2lncHJvY21hc2soU0lHX0JMT0NLLDB4MzNjNmMyNzAsMHg4MmJmZTFl OCkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBzaWdwcm9jbWFzayAwDQogIDQzNzkgYnNkdGFy ICAgQ0FMTCAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssMHgzM2M2YzI4NCwwKQ0KICA0Mzc5 IGJzZHRhciAgIFJFVCAgIHNpZ3Byb2NtYXNrIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBz aWdwcm9jbWFzayhTSUdfQkxPQ0ssMHgzM2M2YzI3MCwweDgyYmZlMWU4KQ0KICA0Mzc5IGJz ZHRhciAgIFJFVCAgIHNpZ3Byb2NtYXNrIDANCiAgNDM3OSBic2R0YXIgICBDQUxMICBzaWdw cm9jbWFzayhTSUdfU0VUTUFTSywweDMzYzZjMjg0LDApDQogIDQzNzkgYnNkdGFyICAgUkVU ICAgc2lncHJvY21hc2sgMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJ R19CTE9DSywweDMzYzZjMjcwLDB4ODJiZmUxZTgpDQogIDQzNzkgYnNkdGFyICAgUkVUICAg c2lncHJvY21hc2sgMA0KICA0Mzc5IGJzZHRhciAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJR19T RVRNQVNLLDB4MzNjNmMyODQsMCkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBzaWdwcm9jbWFz ayAwDQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgc2lncHJvY21hc2soU0lHX0JMT0NLLDB4MzNj NmMyNzAsMHg4MmJmZTFlOCkNCiAgNDM3OSBic2R0YXIgICBSRVQgICBzaWdwcm9jbWFzayAw DQogIDQzNzkgYnNkdGFyICAgQ0FMTCAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssMHgzM2M2 YzI4NCwwKQ0KICA0Mzc5IGJzZHRhciAgIFJFVCAgIHNpZ3Byb2NtYXNrIDANCiAgNDM3OSBi c2R0YXIgICBDQUxMICBleGl0KDApDQo= --------------030400090300010806090108--