Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:26952 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 78037 invoked by uid 1010); 14 Dec 2006 16:16:30 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 77991 invoked from network); 14 Dec 2006 16:16:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Dec 2006 16:16:29 -0000 Received: from [127.0.0.1] ([127.0.0.1:22198]) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ECSTREAM id 6B/14-04864-B6E41854 for ; Thu, 14 Dec 2006 08:15:23 -0500 Authentication-Results: pb1.pair.com smtp.mail=ademin@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=ademin@gmail.com; sender-id=pass; domainkeys=good Received-SPF: pass (pb1.pair.com: domain gmail.com designates 64.233.162.234 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: ademin@gmail.com X-Host-Fingerprint: 64.233.162.234 nz-out-0506.google.com Linux 2.4/2.6 Received: from [64.233.162.234] ([64.233.162.234:15314] helo=nz-out-0506.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 16/03-04864-0A041854 for ; Thu, 14 Dec 2006 07:17:07 -0500 Received: by nz-out-0506.google.com with SMTP id k1so277025nzf for ; Thu, 14 Dec 2006 04:16:30 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; b=q/O65XpClJxAPd3y9IXboGK7cdkHThU38hmpmarvlIK2iFic0FHnsBB8w0w/FV9ihM7ySjYORYMThSOk5xoj6bBgr9IDTSZdXcIZuK78VAWXmaiWvwIyx0J/rjbuWyRPtVTUltpqtLTRauFH6kuEE9SWjdke9lc2yY+WQvqzsrw= Received: by 10.65.210.18 with SMTP id m18mr1439792qbq.1166098590267; Thu, 14 Dec 2006 04:16:30 -0800 (PST) Received: by 10.64.91.13 with HTTP; Thu, 14 Dec 2006 04:16:30 -0800 (PST) Message-ID: <179d34610612140416k482c7483m28e30063dc227c73@mail.gmail.com> Date: Thu, 14 Dec 2006 15:16:30 +0300 Sender: ademin@gmail.com To: internals@lists.php.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_112786_20848852.1166098590174" X-Google-Sender-Auth: 21b12129de14cb2b Subject: [PATCH] New hexdump manipulation functions for PHP5 From: demin@ots.ru ("Alexander Demin") ------=_Part_112786_20848852.1166098590174 Content-Type: multipart/alternative; boundary="----=_Part_112787_31286237.1166098590174" ------=_Part_112787_31286237.1166098590174 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Dear sirs, this patch for PHP5 adds four new string functions into the extension 'standard': - hexdump() - packhex() - smart_hexdump() - smart_packhex() The description of these functions and smart hexdump format in general is attached in the file 'hexdump_descr.txt'. I've tested this on PHP 5.2.0 and on the last CVS tree of PHP 5.2.0 Attachments: 1. hexdump_functions.patch - patch for the last CVS tree of the PHP 5.2.0. It patches files 'ext/standard/basic_functions.c', 'ext/standard/config.m4', 'ext/standard/config.w32', 'win32/php5dllts.dsp' 2. hexdump.c and php_hexdump.h - files, that should be placed into 'ext/standard/', which implements the hexdump functions. 3. hexdump.phpt - test file for hexdump function, that should be placed into 'ext/standard/tests/strings/' 4. hexdump_descr.txt - detailed description of the hexdump functions interface and smart hexdump format If it needs to create any documentation stuff for help file (and translate it, for example to russian), I will do it. Thanks. -- Regards, Alexander Demin demin@ots.ru ------=_Part_112787_31286237.1166098590174 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Dear sirs,

this patch for PHP5 adds four new string functions into the extension 'standard':
- hexdump()
- packhex()
- smart_hexdump()
- smart_packhex()

The description of these functions and smart hexdump format in general is attached in the file 'hexdump_descr.txt'.

I've tested this on PHP 5.2.0 and on the last CVS tree of PHP 5.2.0

Attachments:

1. hexdump_functions.patch - patch for the last CVS tree of the PHP 5.2.0. It patches files 'ext/standard/basic_functions.c', 'ext/standard/config.m4', 'ext/standard/config.w32', 'win32/php5dllts.dsp'

2. hexdump.c and php_hexdump.h - files, that should be placed into 'ext/standard/', which implements the hexdump functions.

3. hexdump.phpt - test file for hexdump function, that should be placed into 'ext/standard/tests/strings/'

4. hexdump_descr.txt - detailed description of the hexdump functions interface and smart hexdump format

If it needs to create any documentation stuff for help file (and translate it, for example to russian), I will do it.

Thanks.

--
Regards,
Alexander Demin
demin@ots.ru ------=_Part_112787_31286237.1166098590174-- ------=_Part_112786_20848852.1166098590174 Content-Type: text/plain; name=php_hexdump.h.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evp1qqm1 Content-Disposition: attachment; filename="php_hexdump.h.txt" LyoKICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgUEhQIFZlcnNpb24gNSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKICAgfCBDb3B5cmlnaHQgKGMpIDE5OTctMjAwNiBUaGUgUEhQIEdyb3VwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IFRoaXMgc291cmNl IGZpbGUgaXMgc3ViamVjdCB0byB2ZXJzaW9uIDMuMDEgb2YgdGhlIFBIUCBsaWNlbnNlLCAgICAg IHwKICAgfCB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElD RU5TRSwgYW5kIGlzICAgICAgICB8CiAgIHwgYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdp ZGUtd2ViIGF0IHRoZSBmb2xsb3dpbmcgdXJsOiAgICAgICAgICAgfAogICB8IGh0dHA6Ly93d3cu cGhwLm5ldC9saWNlbnNlLzNfMDEudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgfCBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgUEhQIGxpY2Vuc2Ug YW5kIGFyZSB1bmFibGUgdG8gICB8CiAgIHwgb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdp ZGUtd2ViLCBwbGVhc2Ugc2VuZCBhIG5vdGUgdG8gICAgICAgICAgfAogICB8IGxpY2Vuc2VAcGhw Lm5ldCBzbyB3ZSBjYW4gbWFpbCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LiAgICAgICAgICAgICAg IHwKICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgQXV0aG9yOiBBbGV4YW5kZXIgRGVtaW4gPGRlbWlu QG90cy5ydT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKKi8KCiNpZm5kZWYgUEhQX0hFWERVTVBfSAojZGVmaW5lIFBIUF9IRVhEVU1QX0gKClBIUF9G VU5DVElPTihoZXhkdW1wKTsKUEhQX0ZVTkNUSU9OKHBhY2toZXgpOwoKUEhQX0ZVTkNUSU9OKHNt YXJ0X2hleGR1bXApOwpQSFBfRlVOQ1RJT04oc21hcnRfcGFja2hleCk7CgpQSFBBUEkgaW50IHBo cF9oZXhkdW1wKGNoYXIgKnNyYywgaW50IHNyY19sZW4sIGNoYXIqIGRlbGltLCBpbnQgZGVsaW1f bGVuLCBjaGFyICoqZGVzdCk7ClBIUEFQSSBpbnQgcGhwX3BhY2toZXgoY2hhciAqc3JjLCBpbnQg c3JjX2xlbiwgemVuZF9ib29sIHN0cmljdCwgY2hhciAqKmRlc3QpOwoKUEhQQVBJIGludCBwaHBf c21hcnRfaGV4ZHVtcChjaGFyICpzcmMsIGludCBzcmNfbGVuLCBjaGFyICoqZGVzdCk7ClBIUEFQ SSBpbnQgcGhwX3NtYXJ0X3BhY2toZXgoY2hhciAqc3JjLCBpbnQgc3JjX2xlbiwgY2hhciAqKmRl c3QpOwoKI2VuZGlmIC8qIFBIUF9IRVhEVU1QX0ggKi8KCi8qCiAqIExvY2FsIHZhcmlhYmxlczoK ICogdGFiLXdpZHRoOiA0CiAqIGMtYmFzaWMtb2Zmc2V0OiA0CiAqIEVuZDoKICovCg== ------=_Part_112786_20848852.1166098590174 Content-Type: text/plain; name=hexdump.c.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evp1r6m0 Content-Disposition: attachment; filename="hexdump.c.txt" LyoKICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgUEhQIFZlcnNpb24gNSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKICAgfCBDb3B5cmlnaHQgKGMpIDE5OTctMjAwNiBUaGUgUEhQIEdyb3VwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IFRoaXMgc291cmNl IGZpbGUgaXMgc3ViamVjdCB0byB2ZXJzaW9uIDMuMDEgb2YgdGhlIFBIUCBsaWNlbnNlLCAgICAg IHwKICAgfCB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElD RU5TRSwgYW5kIGlzICAgICAgICB8CiAgIHwgYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdp ZGUtd2ViIGF0IHRoZSBmb2xsb3dpbmcgdXJsOiAgICAgICAgICAgfAogICB8IGh0dHA6Ly93d3cu cGhwLm5ldC9saWNlbnNlLzNfMDEudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgfCBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgUEhQIGxpY2Vuc2Ug YW5kIGFyZSB1bmFibGUgdG8gICB8CiAgIHwgb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdp ZGUtd2ViLCBwbGVhc2Ugc2VuZCBhIG5vdGUgdG8gICAgICAgICAgfAogICB8IGxpY2Vuc2VAcGhw Lm5ldCBzbyB3ZSBjYW4gbWFpbCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LiAgICAgICAgICAgICAg IHwKICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgIHwgQXV0aG9yOiBBbGV4YW5kZXIgRGVtaW4gPGRlbWlu QG90cy5ydT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKICovCgojaW5jbHVkZSAicGhwLmgiCiNpbmNsdWRlICJwaHBfaGV4ZHVtcC5oIgoKc3RhdGlj IGNvbnN0IGNoYXIgcGhwX2hleGR1bXBfZGlnaXRzW10gPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7Cgpz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwaHBfaGV4X2luZGV4WyAyNTYgXSA9IHsKLyogICAg ICAwMCAgMDEgIDAyICAwMyAgMDQgIDA1ICAwNiAgMDcgIDA4ICAwOSAgMEEgIDBCICAwQyAgMEQg IDBFICAwRiAqLwovKjAwKi8gMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1 LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LAovKjEwKi8gMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUs MjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LAovKjIwKi8gMjU1LDI1NSwy NTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LAov KjMwKi8gMHgwLDB4MSwweDIsMHgzLDB4NCwweDUsMHg2LDB4NywweDgsMHg5LDI1NSwyNTUsMjU1 LDI1NSwyNTUsMjU1LCAvKiBBU0NJSSAqLwovKjQwKi8gMjU1LDB4YSwweGIsMHhjLDB4ZCwweGUs MHhmLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LCAvKiBBU0NJSSAqLwovKjUw Ki8gMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1 NSwyNTUsMjU1LAovKjYwKi8gMjU1LDB4YSwweGIsMHhjLDB4ZCwweGUsMHhmLDI1NSwyNTUsMjU1 LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LCAvKiBBU0NJSSAqLwovKjcwKi8gMjU1LDI1NSwyNTUs MjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LAovKjgw Ki8gMjU1LDB4YSwweGIsMHhjLDB4ZCwweGUsMHhmLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1 NSwyNTUsMjU1LCAvKiBFQkNESUMgKi8KLyo5MCovIDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1 NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwKLypBMCovIDI1NSwyNTUsMjU1 LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwKLypC MCovIDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwy NTUsMjU1LDI1NSwKLypDMCovIDI1NSwweGEsMHhiLDB4YywweGQsMHhlLDB4ZiwyNTUsMjU1LDI1 NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwgLyogRUJDRElDICovCi8qRDAqLyAyNTUsMjU1LDI1 NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsCi8q RTAqLyAyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUs MjU1LDI1NSwyNTUsCi8qRjAqLyAweDAsMHgxLDB4MiwweDMsMHg0LDB4NSwweDYsMHg3LDB4OCww eDksMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUgIC8qIEVCQ0RJQyAqLwp9OwoKc3RhdGljIGNvbnN0 IGNoYXIgcGhwX3BhY2toZXhfZGVmYXVsdF9tYXBbIDI1NiBdID0gewovKiAgICAwMCAwMSAwMiAw MyAwNCAwNSAwNiAwNyAwOCAwOSAwQSAwQiAwQyAwRCAwRSAwRiAqLwovKjAwKi8gMCwgMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLyoxMCovIDAsIDAsIDAsIDAs IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi8qMjAqLyAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAovKjMwKi8gMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLyo0MCovIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi8qNTAqLyAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAovKjYwKi8gMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLyo3MCovIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi8qODAqLyAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLAovKjkwKi8gMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwKLypBMCovIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsCi8qQjAqLyAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLAovKkMwKi8gMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwKLypEMCovIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsCi8qRTAqLyAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLAovKkYwKi8gMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMQp9OwoKUEhQQVBJIGludCBwaHBfaGV4ZHVtcChjaGFyICpzcmMsIGludCBzcmNfbGVu LCBjaGFyICpkZWxpbSwgaW50IGRlbGltX2xlbiwgY2hhciAqKmRlc3QpCnsKCWNoYXIgKnA7Cglp bnQgb3V0X3N6ID0gc3JjX2xlbiAqIDI7CgkKCSBpZiAoZGVsaW1fbGVuKQoJICAgIG91dF9zeiAr PSBkZWxpbV9sZW4gKiBzcmNfbGVuIC0gMTsKCglwID0gKmRlc3QgPSBlbWFsbG9jKG91dF9zeiAr IDEpOwoKCXdoaWxlIChzcmNfbGVuLS0pIHsKCQkqcCsrID0gcGhwX2hleGR1bXBfZGlnaXRzWyAo dW5zaWduZWQgY2hhcikqc3JjID4+IDQgXTsKCQkqcCsrID0gcGhwX2hleGR1bXBfZGlnaXRzWyAo dW5zaWduZWQgY2hhcikqc3JjKysgJiAweDBGIF07CgkJaWYgKGRlbGltX2xlbiAmJiBzcmNfbGVu KSB7CgkJCW1lbWNweSggcCwgZGVsaW0sIGRlbGltX2xlbiApOwoJCQlwICs9IGRlbGltX2xlbjsK CQl9Cgl9CgoJKnAgPSAwOwoKCXJldHVybiBvdXRfc3o7Cn0KClBIUEFQSSBpbnQgcGhwX3BhY2to ZXgoY2hhciAqc3JjLCBpbnQgc3JjX2xlbiwgemVuZF9ib29sIHN0cmljdCwgY2hhciAqKmRlc3Qp CnsKCWludCBkZXN0X2xlbiA9IDA7CglpbnQgaGV4X2NvdW50ID0gMDsKCWludCBmaXJzdF9uaWJi bGU7Cgl1bnNpZ25lZCBjaGFyICpwOwoJaW50IGk7CgoJaSA9IHNyY19sZW47CglwID0gKHVuc2ln bmVkIGNoYXIgKilzcmM7Cgl3aGlsZSAoaS0tKSB7CgkJaWYgKHBocF9oZXhfaW5kZXhbICpwKysg XSAhPSAyNTUpCgkJCSsraGV4X2NvdW50OwoJCWVsc2UgewoJCQlpZiAoc3RyaWN0KSB7CgkJCQlw aHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJOb24taGV4YWRlY2lt YWwgY2hhcmFjdGVyIGF0IHRoZSBwb3NpdGlvbiAlZCIsIGkrMSk7CgkJCQlyZXR1cm4gLTE7CgkJ CX0KCQl9Cgl9CgoJaWYgKGhleF9jb3VudCAmIDEpIHsKCQkgcGhwX2Vycm9yX2RvY3JlZihOVUxM IFRTUk1MU19DQywgRV9XQVJOSU5HLCAiTm9uLXBhaXJlZCBuaWJibGUgYXQgdGhlIGVuZCBvZiB0 aGUgc3RyaW5nIik7CgkJLS1oZXhfY291bnQ7Cgl9CgoJaWYgKCFoZXhfY291bnQpIHsKCQkqZGVz dCA9IE5VTEw7CgkJcmV0dXJuIDA7Cgl9CgoJZGVzdF9sZW4gPSBoZXhfY291bnQgLyAyOwoKCXAg PSAqZGVzdCA9IGVtYWxsb2MoZGVzdF9sZW4pOwoKCWZpcnN0X25pYmJsZSA9IDE7Cgl3aGlsZSAo c3JjX2xlbi0tKSB7CgkJdW5zaWduZWQgY2hhciBjaCA9IHBocF9oZXhfaW5kZXhbICh1bnNpZ25l ZCBjaGFyKSpzcmMrKyBdOwoJCWlmIChjaCA9PSAyNTUpIGNvbnRpbnVlOwoJCWlmIChmaXJzdF9u aWJibGUpCgkJCSpwID0gY2ggPDwgNDsKCQllbHNlCgkJCSpwKysgfD0gY2ggJiAweGY7CgkJZmly c3RfbmliYmxlID0gIWZpcnN0X25pYmJsZTsKCX0KCglyZXR1cm4gZGVzdF9sZW47Cn0KClBIUEFQ SSBpbnQgcGhwX3NtYXJ0X2hleGR1bXAoY2hhciAqc3JjLCBpbnQgc3JjX2xlbiwgY2hhciAqKmRl c3QpCnsKCWNoYXIgKnA7CglpbnQgb3V0X3N6ID0gc3JjX2xlbiAqIDQ7CgljaGFyKiBtYXAgPSAo Y2hhciAqKXBocF9wYWNraGV4X2RlZmF1bHRfbWFwOwoJaW50IGk7CgoKCXAgPSAqZGVzdCA9IGVt YWxsb2Mob3V0X3N6ICsgMSk7CgkqcCA9IDA7CgoJZm9yKGkgPSAwOyBpIDwgc3JjX2xlbjsgaSsr KSB7CgkJaWYgKG1hcFsgKHVuc2lnbmVkIGNoYXIpc3JjW2ldIF0gJiYgc3JjW2ldICE9ICc8JyAm JiBzcmNbaV0gIT0gJz4nKQoJCQkqcCsrID0gc3JjW2ldOwoJCWVsc2UgewoJCQl1bnNpZ25lZCBj aGFyIGNoOwoJCQkqcCsrID0gJzwnOwoJCQlmb3IoOyBpIDwgc3JjX2xlbiAmJiAhbWFwWyAodW5z aWduZWQgY2hhcilzcmNbaV0gXTsgaSsrKSB7CgkJCQkqcCsrID0gcGhwX2hleGR1bXBfZGlnaXRz WyAodW5zaWduZWQgY2hhcilzcmNbaV0gPj4gNCBdOwoJCQkJKnArKyA9IHBocF9oZXhkdW1wX2Rp Z2l0c1sgKHVuc2lnbmVkIGNoYXIpc3JjW2ldICYgMHgwRiBdOwoJCQl9CgkJCSpwKysgPSAnPic7 CgoJCQlpZiAoaSA8IHNyY19sZW4pCgkJCQkqcCsrID0gKHVuc2lnbmVkIGNoYXIpc3JjW2ldOwoJ CX0KCX0KCgkqcCA9IDA7CgoJcmV0dXJuIHAgLSAqZGVzdDsKfQoKUEhQQVBJIGludCBwaHBfc21h cnRfcGFja2hleChjaGFyICpzcmMsIGludCBzcmNfbGVuLCBjaGFyICoqZGVzdCkKewoJaW50IGRl c3RfbGVuID0gc3JjX2xlbjsKCWludCBmaXJzdF9uaWJibGU7Cgl1bnNpZ25lZCBjaGFyICpwOwoJ aW50IGk7CgoJcCA9ICpkZXN0ID0gZW1hbGxvYyhkZXN0X2xlbik7CgoJZm9yIChpID0gMDsgaSA8 IHNyY19sZW47ICkgewoJCWNoYXIgKm9fcG9zID0gKGNoYXIgKiltZW1jaHIoIHNyYyArIGksICc8 Jywgc3JjX2xlbiAtIGkgKTsKCQljaGFyICpjX3BvcyA9IChjaGFyICopbWVtY2hyKCBzcmMgKyBp LCAnPicsIHNyY19sZW4gLSBpICk7CgkJY2hhciAqdjsKCgkJaWYgKCFvX3BvcyB8fCAhY19wb3Mg fHwgb19wb3MgPiBjX3BvcykgewoJCQltZW1jcHkocCwgc3JjICsgaSwgc3JjX2xlbiAtIGkpOwoJ CQlwICs9IHNyY19sZW4gLSBpOwoJCQlicmVhazsKCQl9CgoJCW1lbWNweSggcCwgc3JjICsgaSwg b19wb3MgLSBzcmMgLSBpICk7CgkJcCArPSBvX3BvcyAtIHNyYyAtIGk7CgoJCWZpcnN0X25pYmJs ZSA9IDE7CgkJZm9yIChvX3BvcysrOyBvX3BvcyA8IGNfcG9zOyBvX3BvcysrICkgewoJCQl1bnNp Z25lZCBjaGFyIGNoID0gcGhwX2hleF9pbmRleFsgKHVuc2lnbmVkIGNoYXIpKm9fcG9zIF07CgkJ CWlmIChjaCA9PSAyNTUpIHsKCQkJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVf V0FSTklORywgIk5vbi1oZXhhZGVjaW1hbCBjaGFyYWN0ZXIgYXQgdGhlIHBvc2l0aW9uICVkIiwg b19wb3MgLSBzcmMpOwoJCQkJcmV0dXJuIC0xOwoJCQl9CgkJCWlmIChmaXJzdF9uaWJibGUpCgkJ CQkqcCA9IGNoIDw8IDQ7CgkJCWVsc2UKCQkJCSpwKysgfD0gY2ggJiAweGY7CgkJCWZpcnN0X25p YmJsZSA9ICFmaXJzdF9uaWJibGU7CgkJfQoKCQlpZiAoIWZpcnN0X25pYmJsZSkgewoJCQlwaHBf ZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJOb24tcGFpcmVkIG5pYmJs ZSBhdCB0aGUgcG9zaXRpb24gJWQiLCBvX3BvcyAtIHNyYyAtIDEpOwoJCQlyZXR1cm4gLTE7CgkJ fQoKCQlpID0gY19wb3MgLSBzcmMgKyAxOwoJfQoKCSpwID0gMDsKCQoJZGVzdF9sZW4gPSAoY2hh ciAqKXAgLSAqZGVzdDsKCglyZXR1cm4gZGVzdF9sZW47Cn0KCi8qIHt7eyBwcm90byBzdHJpbmcg aGV4ZHVtcChzdHJpbmcgZGF0YVssIHN0cmluZyBkZWxpbWl0ZXJdKSAKICAgUHJvZHVjZSBoZXhh ZGVjaW1hbCBkdW1wIG9mIHRoZSBzdHJpbmcgKi8KUEhQX0ZVTkNUSU9OKGhleGR1bXApCnsKCWNo YXIgKnNyYywgKmRzdCwgKmRlbGltOwoJaW50IHNyY19sZW4sIGRzdF9sZW4sIGRlbGltX2xlbiA9 IDA7CgoJaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0ND LCAic3xzIiwgJnNyYywgJnNyY19sZW4sICZkZWxpbSwgJmRlbGltX2xlbikgPT0gRkFJTFVSRSB8 fCBzcmNfbGVuIDwgMSkgewoJCVJFVFVSTl9GQUxTRTsKCX0KCglkc3RfbGVuID0gcGhwX2hleGR1 bXAoc3JjLCBzcmNfbGVuLCBkZWxpbSwgZGVsaW1fbGVuLCAmZHN0KTsKCglSRVRVUk5fU1RSSU5H TChkc3QsIGRzdF9sZW4sIDApOwp9Ci8qIH19fSAqLwoKLyoge3t7IHByb3RvIHN0cmluZyBwYWNr aGV4KHN0cmluZyBkYXRhWywgYm9vbCBzdHJpY3RdKSAKICAgUGFjayBoZXhhZGVjaW1hbCBkdW1w IGludG8gdGhlIHN0cmluZyAqLwpQSFBfRlVOQ1RJT04ocGFja2hleCkKewoJY2hhciAqc3JjLCAq ZHN0OwoJaW50IHNyY19sZW4sIGRzdF9sZW47Cgl6ZW5kX2Jvb2wgc3RyaWN0ID0gMTsKCglpZiAo emVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJzfGIiLCAm c3JjLCAmc3JjX2xlbiwgJnN0cmljdCkgPT0gRkFJTFVSRSB8fCBzcmNfbGVuIDwgMSkgewoJCVJF VFVSTl9GQUxTRTsKCX0KCglkc3RfbGVuID0gcGhwX3BhY2toZXgoc3JjLCBzcmNfbGVuLCBzdHJp Y3QsICZkc3QpOwoKCWlmIChkc3RfbGVuID09IC0xKQoJCVJFVFVSTl9GQUxTRTsKCglSRVRVUk5f U1RSSU5HTChkc3QsIGRzdF9sZW4sIDApOwp9Ci8qIH19fSAqLwoKLyoge3t7IHByb3RvIHN0cmlu ZyBzbWFydF9oZXhkdW1wKHN0cmluZyBkYXRhKSAKICAgUHJvZHVjZSBoZXhhZGVjaW1hbCBzbWFy dCBkdW1wIG9mIHRoZSBzdHJpbmcgKi8KUEhQX0ZVTkNUSU9OKHNtYXJ0X2hleGR1bXApCnsKCWNo YXIgKnNyYywgKmRzdDsKCWludCBzcmNfbGVuLCBkc3RfbGVuOwoKCWlmICh6ZW5kX3BhcnNlX3Bh cmFtZXRlcnMoWkVORF9OVU1fQVJHUygpIFRTUk1MU19DQywgInMiLCAmc3JjLCAmc3JjX2xlbikg PT0gRkFJTFVSRSB8fCBzcmNfbGVuIDwgMSkgewoJCVJFVFVSTl9GQUxTRTsKCX0KCglkc3RfbGVu ID0gcGhwX3NtYXJ0X2hleGR1bXAoc3JjLCBzcmNfbGVuLCAmZHN0KTsKCglSRVRVUk5fU1RSSU5H TChkc3QsIGRzdF9sZW4sIDApOwp9Ci8qIH19fSAqLwoKLyoge3t7IHByb3RvIHN0cmluZyBzbWFy dF9wYWNraGV4KHN0cmluZyBkYXRhKSAKICAgUGFjayBzbWFydCBoZXhhZGVjaW1hbCBzbWFydCBk dW1wIGludG8gdGhlIHN0cmluZyAqLwpQSFBfRlVOQ1RJT04oc21hcnRfcGFja2hleCkKewoJY2hh ciAqc3JjLCAqZHN0OwoJaW50IHNyY19sZW4sIGRzdF9sZW47CgoJaWYgKHplbmRfcGFyc2VfcGFy YW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0NDLCAicyIsICZzcmMsICZzcmNfbGVuKSA9 PSBGQUlMVVJFIHx8IHNyY19sZW4gPCAxKSB7CgkJUkVUVVJOX0ZBTFNFOwoJfQoKCWRzdF9sZW4g PSBwaHBfc21hcnRfcGFja2hleChzcmMsIHNyY19sZW4sICZkc3QpOwoKCWlmIChkc3RfbGVuID09 IC0xKQoJCVJFVFVSTl9GQUxTRTsKCglSRVRVUk5fU1RSSU5HTChkc3QsIGRzdF9sZW4sIDApOwp9 Ci8qIH19fSAqLwo= ------=_Part_112786_20848852.1166098590174 Content-Type: text/plain; name=hexdump_functions.patch.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evp1svs9 Content-Disposition: attachment; filename="hexdump_functions.patch.txt" SW5kZXg6IGV4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9yZXBvc2l0b3J5L3BocC1zcmMvZXh0L3N0YW5kYXJkL2Jhc2ljX2Z1bmN0aW9ucy5jLHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS44MzINCmRpZmYgLXUgLXIxLjgzMiBiYXNpY19mdW5jdGlv bnMuYw0KLS0tIGV4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMuYwkxMiBEZWMgMjAwNiAxODoy NDoxNiAtMDAwMAkxLjgzMg0KKysrIGV4dC9zdGFuZGFyZC9iYXNpY19mdW5jdGlvbnMuYwkxNCBE ZWMgMjAwNiAxMDoyMjoxNiAtMDAwMA0KQEAgLTMzLDYgKzMzLDcgQEANCiAjaW5jbHVkZSAiemVu ZF9vcGVyYXRvcnMuaCINCiAjaW5jbHVkZSAiZXh0L3N0YW5kYXJkL2Rucy5oIg0KICNpbmNsdWRl ICJleHQvc3RhbmRhcmQvcGhwX3V1ZW5jb2RlLmgiDQorI2luY2x1ZGUgImV4dC9zdGFuZGFyZC9w aHBfaGV4ZHVtcC5oIg0KIA0KICNpZmRlZiBQSFBfV0lOMzINCiAjaW5jbHVkZSAid2luMzIvcGhw X3dpbjMyX2dsb2JhbHMuaCINCkBAIC0zMDY2LDYgKzMwNjcsMjkgQEANCiAJWkVORF9BUkdfSU5G TygwLCBkYXRhKQ0KIFpFTkRfRU5EX0FSR19JTkZPKCkNCiAvKiB9fX0gKi8NCisvKiB7e3sgaGV4 ZHVtcC5jICovDQorc3RhdGljDQorWkVORF9CRUdJTl9BUkdfSU5GT19FWChhcmdpbmZvX2hleGR1 bXAsIDAsIDAsIDEpDQorCVpFTkRfQVJHX0lORk8oMCwgZGF0YSkNCisJWkVORF9BUkdfSU5GTygw LCBkZWxpbWl0ZXIpDQorWkVORF9FTkRfQVJHX0lORk8oKQ0KKw0KK3N0YXRpYw0KK1pFTkRfQkVH SU5fQVJHX0lORk9fRVgoYXJnaW5mb19wYWNraGV4LCAwLCAwLCAxKQ0KKwlaRU5EX0FSR19JTkZP KDAsIGRhdGEpDQorCVpFTkRfQVJHX0lORk8oMCwgc3RyaWN0KQ0KK1pFTkRfRU5EX0FSR19JTkZP KCkNCisNCitzdGF0aWMNCitaRU5EX0JFR0lOX0FSR19JTkZPKGFyZ2luZm9fc21hcnRfaGV4ZHVt cCwgMCkNCisJWkVORF9BUkdfSU5GTygwLCBkYXRhKQ0KK1pFTkRfRU5EX0FSR19JTkZPKCkNCisN CitzdGF0aWMNCitaRU5EX0JFR0lOX0FSR19JTkZPKGFyZ2luZm9fc21hcnRfcGFja2hleCwgMCkN CisJWkVORF9BUkdfSU5GTygwLCBkYXRhKQ0KK1pFTkRfRU5EX0FSR19JTkZPKCkNCisvKiB9fX0g Ki8NCiAvKiB7e3sgdmFyLmMgKi8NCiBzdGF0aWMNCiBaRU5EX0JFR0lOX0FSR19JTkZPX0VYKGFy Z2luZm9fdmFyX2R1bXAsIDAsIDAsIDEpDQpAQCAtMzMxNyw2ICszMzQxLDExIEBADQogCVBIUF9G RShjb252ZXJ0X3V1ZW5jb2RlLAkJCQkJCQkJCQkJCWFyZ2luZm9fY29udmVydF91dWVuY29kZSkN CiAJUEhQX0ZFKGNvbnZlcnRfdXVkZWNvZGUsCQkJCQkJCQkJCQkJYXJnaW5mb19jb252ZXJ0X3V1 ZGVjb2RlKQ0KIA0KKwlQSFBfRkUoaGV4ZHVtcCwJCQkJCQkJCQkJCQkJCWFyZ2luZm9faGV4ZHVt cCkNCisJUEhQX0ZFKHBhY2toZXgsCQkJCQkJCQkJCQkJCQlhcmdpbmZvX3BhY2toZXgpDQorCVBI UF9GRShzbWFydF9oZXhkdW1wLAkJCQkJCQkJCQkJCQlhcmdpbmZvX2hleGR1bXApDQorCVBIUF9G RShzbWFydF9wYWNraGV4LAkJCQkJCQkJCQkJCQlhcmdpbmZvX3BhY2toZXgpDQorDQogCVBIUF9G RShhYnMsCQkJCQkJCQkJCQkJCQkJCWFyZ2luZm9fYWJzKQ0KIAlQSFBfRkUoY2VpbCwJCQkJCQkJ CQkJCQkJCQlhcmdpbmZvX2NlaWwpDQogCVBIUF9GRShmbG9vciwJCQkJCQkJCQkJCQkJCQlhcmdp bmZvX2Zsb29yKQ0KSW5kZXg6IGV4dC9zdGFuZGFyZC9jb25maWcubTQNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvcmVwb3NpdG9yeS9waHAtc3JjL2V4dC9zdGFuZGFyZC9jb25maWcubTQsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjg0DQpkaWZmIC11IC1yMS44NCBjb25maWcubTQNCi0tLSBleHQv c3RhbmRhcmQvY29uZmlnLm00CTI0IEF1ZyAyMDA2IDExOjA1OjM4IC0wMDAwCTEuODQNCisrKyBl eHQvc3RhbmRhcmQvY29uZmlnLm00CTE0IERlYyAyMDA2IDEwOjIyOjE3IC0wMDAwDQpAQCAtNTA4 LDcgKzUwOCw3IEBADQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF9zY2FubmVyLmMg dmFyLmMgdmVyc2lvbmluZy5jIGFzc2VydC5jIHN0cm5hdGNtcC5jIGxldmVuc2h0ZWluLmMgXA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNvbXBsZXRlX2NsYXNzLmMgdXJsX3NjYW5u ZXJfZXguYyBmdHBfZm9wZW5fd3JhcHBlci5jIFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaHR0cF9mb3Blbl93cmFwcGVyLmMgcGhwX2ZvcGVuX3dyYXBwZXIuYyBjcmVkaXRzLmMgY3Nz LmMgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJfdW5zZXJpYWxpemVyLmMgZnRv ay5jIHNoYTEuYyB1c2VyX2ZpbHRlcnMuYyB1dWVuY29kZS5jIFwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmFyX3Vuc2VyaWFsaXplci5jIGZ0b2suYyBzaGExLmMgdXNlcl9maWx0ZXJz LmMgdXVlbmNvZGUuYyBoZXhkdW1wLmMgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm aWx0ZXJzLmMgcHJvY19vcGVuLmMgc3RyZWFtc2Z1bmNzLmMgaHR0cC5jKQ0KIA0KIFBIUF9BRERf TUFLRUZJTEVfRlJBR01FTlQNCkluZGV4OiBleHQvc3RhbmRhcmQvY29uZmlnLnczMg0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5L3BocC1zcmMvZXh0L3N0YW5kYXJkL2NvbmZpZy53 MzIsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjYNCmRpZmYgLXUgLXIxLjYgY29uZmlnLnczMg0K LS0tIGV4dC9zdGFuZGFyZC9jb25maWcudzMyCTQgSmFuIDIwMDYgMTI6NTc6MDQgLTAwMDAJMS42 DQorKysgZXh0L3N0YW5kYXJkL2NvbmZpZy53MzIJMTQgRGVjIDIwMDYgMTA6MjI6MTcgLTAwMDAN CkBAIC0xNSw2ICsxNSw2IEBADQogCXZlcnNpb25pbmcuYyBhc3NlcnQuYyBzdHJuYXRjbXAuYyBs ZXZlbnNodGVpbi5jIGluY29tcGxldGVfY2xhc3MuYyBcDQogCXVybF9zY2FubmVyX2V4LmMgZnRw X2ZvcGVuX3dyYXBwZXIuYyBodHRwX2ZvcGVuX3dyYXBwZXIuYyBcDQogCXBocF9mb3Blbl93cmFw cGVyLmMgY3JlZGl0cy5jIGNzcy5jIHZhcl91bnNlcmlhbGl6ZXIuYyBmdG9rLmMgc2hhMS5jIFwN Ci0JdXNlcl9maWx0ZXJzLmMgdXVlbmNvZGUuYyBmaWx0ZXJzLmMgcHJvY19vcGVuLmMgXA0KKwl1 c2VyX2ZpbHRlcnMuYyB1dWVuY29kZS5jIGhleGR1bXAuYyBmaWx0ZXJzLmMgcHJvY19vcGVuLmMg XA0KIAlzdHJlYW1zZnVuY3MuYyBodHRwLmMiLCBmYWxzZSAvKiBuZXZlciBzaGFyZWQgKi8pOw0K IA0KSW5kZXg6IHdpbjMyL3BocDVkbGx0cy5kc3ANCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvcmVw b3NpdG9yeS9waHAtc3JjL3dpbjMyL3BocDVkbGx0cy5kc3Asdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjkNCmRpZmYgLXUgLXIxLjkgcGhwNWRsbHRzLmRzcA0KLS0tIHdpbjMyL3BocDVkbGx0cy5k c3AJMTAgTm92IDIwMDYgMDk6NTY6MzcgLTAwMDAJMS45DQorKysgd2luMzIvcGhwNWRsbHRzLmRz cAkxNCBEZWMgMjAwNiAxMDoyMjoyMCAtMDAwMA0KQEAgLTE3NzQsNiArMTc3NCwxMCBAQA0KICMg RW5kIFNvdXJjZSBGaWxlDQ0KICMgQmVnaW4gU291cmNlIEZpbGUNDQogDQ0KK1NPVVJDRT0uLlxl eHRcc3RhbmRhcmRcaGV4ZHVtcC5jDQ0KKyMgRW5kIFNvdXJjZSBGaWxlDQ0KKyMgQmVnaW4gU291 cmNlIEZpbGUNDQorDQ0KIFNPVVJDRT0uLlxleHRcc3RhbmRhcmRcdmFyLmMNDQogIyBFbmQgU291 cmNlIEZpbGUNDQogIyBCZWdpbiBTb3VyY2UgRmlsZQ0NCg== ------=_Part_112786_20848852.1166098590174 Content-Type: text/plain; name=hexdump.phpt.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evp1tcue Content-Disposition: attachment; filename="hexdump.phpt.txt" LS1URVNULS0KSGV4ZGVjaW1hbCBkdW1wIG1hbmlwdWxhdGlvbiB0b29scwotLUZJTEUtLQo8P3Bo cAplY2hvIGhleGR1bXAoIlx4MDFceDAyXHgwM1x4MDRceDA1IikuIlxuIjsKZWNobyBoZXhkdW1w KCJceDAxXHgwMlx4MDNceDA0XHgwNSIsICIsIikuIlxuIjsKJGFsbCA9ICIKICAgICAgICAgMDAg MDEgMDIgMDMgMDQgMDUgMDYgMDcgMDggMDkgMGEgMGIgMGMgMGQgMGUgMGYKICAgICAgICAgMTAg MTEgMTIgMTMgMTQgMTUgMTYgMTcgMTggMTkgMWEgMWIgMWMgMWQgMWUgMWYKICAgICAgICAgMjAg MjEgMjIgMjMgMjQgMjUgMjYgMjcgMjggMjkgMmEgMmIgMmMgMmQgMmUgMmYKICAgICAgICAgMzAg MzEgMzIgMzMgMzQgMzUgMzYgMzcgMzggMzkgM2EgM2IgM2MgM2QgM2UgM2YKICAgICAgICAgNDAg NDEgNDIgNDMgNDQgNDUgNDYgNDcgNDggNDkgNGEgNGIgNGMgNGQgNGUgNGYKICAgICAgICAgNTAg NTEgNTIgNTMgNTQgNTUgNTYgNTcgNTggNTkgNWEgNWIgNWMgNWQgNWUgNWYKICAgICAgICAgNjAg NjEgNjIgNjMgNjQgNjUgNjYgNjcgNjggNjkgNmEgNmIgNmMgNmQgNmUgNmYKICAgICAgICAgNzAg NzEgNzIgNzMgNzQgNzUgNzYgNzcgNzggNzkgN2EgN2IgN2MgN2QgN2UgN2YKICAgICAgICAgODAg ODEgODIgODMgODQgODUgODYgODcgODggODkgOGEgOGIgOGMgOGQgOGUgOGYKICAgICAgICAgOTAg OTEgOTIgOTMgOTQgOTUgOTYgOTcgOTggOTkgOWEgOWIgOWMgOWQgOWUgOWYKICAgICAgICAgYTAg YTEgYTIgYTMgYTQgYTUgYTYgYTcgYTggYTkgYWEgYWIgYWMgYWQgYWUgYWYKICAgICAgICAgYjAg YjEgYjIgYjMgYjQgYjUgYjYgYjcgYjggYjkgYmEgYmIgYmMgYmQgYmUgYmYKICAgICAgICAgYzAg YzEgYzIgYzMgYzQgYzUgYzYgYzcgYzggYzkgY2EgY2IgY2MgY2QgY2UgY2YKICAgICAgICAgZDAg ZDEgZDIgZDMgZDQgZDUgZDYgZDcgZDggZDkgZGEgZGIgZGMgZGQgZGUgZGYKICAgICAgICAgZTAg ZTEgZTIgZTMgZTQgZTUgZTYgZTcgZTggZTkgZWEgZWIgZWMgZWQgZWUgZWYKICAgICAgICAgZjAg ZjEgZjIgZjMgZjQgZjUgZjYgZjcgZjggZjkgZmEgZmIgZmMgZmQgZmUgZmYgCiI7CiRwYWNrZWQg PSBwYWNraGV4KCAkYWxsLCBmYWxzZSApOwplY2hvIGhleGR1bXAoICRwYWNrZWQgKSwgIlxuIjsK ZWNobyBoZXhkdW1wKCAkcGFja2VkLCAiLCIgKSwgIlxuIjsKZWNobyBzbWFydF9oZXhkdW1wKCAk cGFja2VkICksICJcbiI7CiRwYWNrZWQgPSBzbWFydF9wYWNraGV4KCAiMTIzPDEyMzQ+QUFCQkND RUVGRjwwMTIzNDU+MDwwMD48RkY+PDAwPiIgKTsKZWNobyBzdHJsZW4oJHBhY2tlZCksICJcbiI7 CmVjaG8gaGV4ZHVtcCggJHBhY2tlZCApLCAiXG4iOwo/PgotLUVYUEVDVC0tCjAxMDIwMzA0MDUK MDEsMDIsMDMsMDQsMDUKMDAwMTAyMDMwNDA1MDYwNzA4MDkwQTBCMEMwRDBFMEYxMDExMTIxMzE0 MTUxNjE3MTgxOTFBMUIxQzFEMUUxRjIwMjEyMjIzMjQyNTI2MjcyODI5MkEyQjJDMkQyRTJGMzAz MTMyMzMzNDM1MzYzNzM4MzkzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRBNEI0QzRE NEU0RjUwNTE1MjUzNTQ1NTU2NTc1ODU5NUE1QjVDNUQ1RTVGNjA2MTYyNjM2NDY1NjY2NzY4Njk2 QTZCNkM2RDZFNkY3MDcxNzI3Mzc0NzU3Njc3Nzg3OTdBN0I3QzdEN0U3RjgwODE4MjgzODQ4NTg2 ODc4ODg5OEE4QjhDOEQ4RThGOTA5MTkyOTM5NDk1OTY5Nzk4OTk5QTlCOUM5RDlFOUZBMEExQTJB M0E0QTVBNkE3QThBOUFBQUJBQ0FEQUVBRkIwQjFCMkIzQjRCNUI2QjdCOEI5QkFCQkJDQkRCRUJG QzBDMUMyQzNDNEM1QzZDN0M4QzlDQUNCQ0NDRENFQ0ZEMEQxRDJEM0Q0RDVENkQ3RDhEOURBREJE Q0REREVERkUwRTFFMkUzRTRFNUU2RTdFOEU5RUFFQkVDRURFRUVGRjBGMUYyRjNGNEY1RjZGN0Y4 RjlGQUZCRkNGREZFRkYKMDAsMDEsMDIsMDMsMDQsMDUsMDYsMDcsMDgsMDksMEEsMEIsMEMsMEQs MEUsMEYsMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMUEsMUIsMUMsMUQsMUUsMUYsMjAs MjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMkEsMkIsMkMsMkQsMkUsMkYsMzAsMzEsMzIsMzMs MzQsMzUsMzYsMzcsMzgsMzksM0EsM0IsM0MsM0QsM0UsM0YsNDAsNDEsNDIsNDMsNDQsNDUsNDYs NDcsNDgsNDksNEEsNEIsNEMsNEQsNEUsNEYsNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTks NUEsNUIsNUMsNUQsNUUsNUYsNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNkEsNkIsNkMs NkQsNkUsNkYsNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksN0EsN0IsN0MsN0QsN0UsN0Ys ODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOEEsOEIsOEMsOEQsOEUsOEYsOTAsOTEsOTIs OTMsOTQsOTUsOTYsOTcsOTgsOTksOUEsOUIsOUMsOUQsOUUsOUYsQTAsQTEsQTIsQTMsQTQsQTUs QTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYsQjAsQjEsQjIsQjMsQjQsQjUsQjYsQjcsQjgs QjksQkEsQkIsQkMsQkQsQkUsQkYsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQ0EsQ0Is Q0MsQ0QsQ0UsQ0YsRDAsRDEsRDIsRDMsRDQsRDUsRDYsRDcsRDgsRDksREEsREIsREMsREQsREUs REYsRTAsRTEsRTIsRTMsRTQsRTUsRTYsRTcsRTgsRTksRUEsRUIsRUMsRUQsRUUsRUYsRjAsRjEs RjIsRjMsRjQsRjUsRjYsRjcsRjgsRjksRkEsRkIsRkMsRkQsRkUsRkYKPDAwMDEwMjAzMDQwNTA2 MDcwODA5MEEwQjBDMEQwRTBGMTAxMTEyMTMxNDE1MTYxNzE4MTkxQTFCMUMxRDFFMUY+ICEiIyQl JicoKSorLC0uLzAxMjM0NTY3ODk6Ozw+PD08Pj4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla W1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKT lJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvM zc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/CjIyCjMx MzIzMzEyMzQ0MTQxNDI0MjQzNDM0NTQ1NDY0NjAxMjM0NTMwMDBGRjAwCg== ------=_Part_112786_20848852.1166098590174 Content-Type: text/plain; name=hexdump_descr.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_evp4wwd0 Content-Disposition: attachment; filename="hexdump_descr.txt" UHJlZmFjZQ0KPT09PT09PQ0KDQpIZXhhZGVjaW1hbCBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLg0K DQoNClByb3RvdHlwZQ0KPT09PT09PT09DQpzdHJpbmcgaGV4ZHVtcCggc3RyaW5nIGRhdGFbLCBz dHJpbmcgZGVsaW1pdGVyIF0gKQ0KDQpEZXNjcmlwdGlvbg0KLS0tLS0tLS0tLS0NClByb2R1Y2Ug dGhlIGhleGFkZWNpbWFsIGR1bXAgb2YgdGhlIGdpdmVuIHN0cmluZy4gDQoNClRoZSBkdW1wIHdp bGwgYmUgaW4gdXBwZXIgY2FzZS4gSWYgZGVsaW1pdGVyIGlzIGdpdmVuIGl0IHdpbGwgYmUgaW5z ZXJ0ZWQgaW50byB0aGUgcmVzdWx0IHN0cmluZyBiZXR3ZWVuIGVhY2ggZHVtcGVkIGJ5dGUuDQoN CkV4YW1wbGVzDQotLS0tLS0tLQ0KDQplY2hvIGhleGR1bXAoICJceDAxXHgwMlx4MDNceDA0XHgw NSIgKQ0KDQpvdXRwdXQ6DQoNCjAxMDIwMzA0MDUNCg0KDQplY2hvIGhleGR1bXAoICJceDAxXHgw Mlx4MDNceDA0XHgwNSIsICIsICIgKQ0KDQpvdXRwdXQ6DQoNCjAxLCAwMiwgMDMsIDA0LCAwNQ0K DQoNClByb3RvdHlwZQ0KPT09PT09PT09DQpzdHJpbmcgcGFja2hleCggc3RyaW5nIGRhdGFbLCBi b29sIHN0cmljdCBdICkNCg0KRGVmYXVsdCAnc3RyaWN0JyB2YWx1ZSBpcyAndHJ1ZScuDQoNCkRl c2NyaXB0aW9uDQotLS0tLS0tLS0tLQ0KDQpQYWNrIHRoZSBzb3VyY2Ugc3RyaW5nIGZyb20gaGV4 YWRlY2ltYWwgZHVtcC4gDQoNCklmICdzdHJpY3QnIGlzIHRydWUsIG9ubHkgMC05LCBhLWYsIEEt RiBjaGFyYWN0ZXJzIGFyZSBhbGxvd2VkIGluIHRoZSBzb3VyY2Ugc3RyaW5nLCBvdGhlcndpc2Ug dGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuICdmYWxzZScuIFdoZW4gJ3N0cmljdCcgaXMgJ2ZhbHNl JyBhbnkgbm9uLWhleGFkZWNpbWFsIGNoYXJhY3RlcnMgd2lsbCBiZSBza2lwcGVkLiBJZiB0aGUg bnVtYmVyIG9mIHRoZSBoZXhhZGVjaW1hbCBkaWdpdHMgaXMgb2RkICh1bnBhaXJlZCBuaWJibGUg aXMgcHJlc2VudCkgcmVnYXJkbGVzcyBvZiAnc3RyaWN0JyB2YWx1ZSwgdGhlIGZ1bmN0aW9uIHdp bGwgcmV0dXJuICdmYWxzZScgYXMgd2VsbC4gVGhlIHNvdXJjZSBzdHJpbmcgY2FuIGJlIGluIEFT Q0lJIG9yIEVCQ0RJQy4NCg0KRXhhbXBsZXMNCi0tLS0tLS0tDQoNCiRzID0gcGFja2hleCggIjAx MDIwMzA0MDUiICkNCg0KcmVzdWx0czoNCg0KJHMgPSAiXHgwMVx4MDJceDAzXHgwNFx4MDUiDQoN Cg0KJHMgPSBwYWNraGV4KCAiMDEsIDAyLCAwMywgMDQgYW5kIDA1IiApDQoNCnJlc3VsdHM6DQoN CiRzID0gIlx4MDFceDAyXHgwM1x4MDRceEFEXHgwNSI7DQoNCg0KU21hcnQgaGV4YWRlY2ltYWwg ZHVtcCBmb3JtYXQgKHNtYXJ0IGhleGR1bXApDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCg0KT25seSBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgYXJlIGR1 bXBlZCBpbiB0aGlzIGZvcm1hdC4gRGVmYXVsdCBub24tcHJpbnRhYmxlIGNoYXJhY3RlciBzZXQg aXMgZnJvbSAnXHgwMCcgdG8gJ1x4MUYnLiBXaGVuIHRoZSBjaGFyYWN0ZXJzIGFyZSBkdW1wZWQg aXQgaXMgcXVvdGVkIGludG8gJzwnIGFuZCAnPicuIE90aGVyIHByaW50YWJsZSBjaGFyYWN0ZXJz IGFyZSByZXByZXNlbnRlZCBhcyB0aGV5IGFyZS4gQ2hhcmFjdGVycyAnPCcgKCdceDNDJykgYW5k ICc+JyAoJ1x4M0UpIGFyZSBhbHdheXMgZHVtcGVkLiBDb25zZWN1dGl2ZSBkdW1wZWQgY2hhcmFj dGVycyBjYW4gYmUgZ3JvdXBlZCB3aGVuIHRoZXkgYXJlIHF1b3RlZCBpbiB0aGUgJzwnIGFuZCAn PicuIFRoZSBmdW5jdGlvbiAnc21hcnRfaGV4ZHVtcCcgYWx3YXlzIHByb2R1Y2VzIHRoZSBtb3N0 IGdyb3VwZWQgZHVtcC4NCg0KSW4gZ2VuZXJhbCwgc21hcnQgaGV4ZHVtcCBpcyB2ZXJ5IHVzZWZ1 bCB3aGVuIHlvdSBoYXZlIHRvIHdhdGNoIGEgbG90IG9mIGRhdGEsIHdoaWNoIGNhbiBjb250YWlu IHByaW50YWJsZSBhbmQgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzLiBPZiBjb3Vyc2UsIHlvdSBj YW4gdXNlIHNpbXBsZSBoZXhkdW1wLCBidXQgaW4gc21hcnQgaGV4ZHVtcCB5b3UgYXJlIGFibGUg dG8gc2VlLCBmb3IgZXhhbXBsZSwgdGV4dCBtZXNzYWdlcywgYW5kIG9uIHRoZSBvdGhlciBoYW5k IHlvdSBjb250cm9sIGFueSBub24tcHJpbnRhYmxlIGRhdGEgb2YgdGhlIHN0cmVhbS4NCg0KDQpF eGFtcGxlcw0KPT09PT09PT0NCg0Kb3JpZ2luYWwgICAgIDogIlx4MDFceDAyXHgwM1x4MDRURVNU XHgwMFx4RkZceDAwIg0Kc21hcnQgaGV4ZHVtcDogIjwwMTAyMDMwND5URVNUPDAwRkYwMD4iDQoN CmZvciBleGFtcGxlLCB0aGlzIHNtYXJ0IGhleGR1bXAgY2FuIGJlIGxpa2UgIjwwMT48MDI+PDAz PjwwND5URVNUPDAwPjxGRj48MDA+Ig0KDQoNCm9yaWdpbmFsICAgICA6ICJURVNUIFNUUklOR1x4 MDAiDQpzbWFydCBoZXhkdW1wOiAiVEVTVCBTVFJJTkc8MDA+Ig0KDQoNCm9yaWdpbmFsICAgICA6 ICJURVNUIDxTVFJJTkc+XHgwMCINCnNtYXJ0IGhleGR1bXA6ICJURVNUIDwzQz5TVFJJTkc8M0U+ PDAwPiINCg0KDQpQcm90b3R5cGUNCj09PT09PT09PQ0Kc3RyaW5nIHNtYXJ0X2hleGR1bXAoIHN0 cmluZyBkYXRhICkNCg0KRGVzY3JpcHRpb24NCi0tLS0tLS0tLS0tDQpQcm9kdWNlIHRoZSBzbWFy dCBoZXhhZGVjaW1hbCBkdW1wIG9mIHRoZSBnaXZlbiBzdHJpbmcuIA0KDQpUaGUgZHVtcCB3aWxs IGJlIGluIHVwcGVyIGNhc2UuDQoNCkV4YW1wbGVzDQotLS0tLS0tLQ0KDQplY2hvIHNtYXJ0X2hl eGR1bXAoICJceDAxXHgwMlx4MDNceDA0XHgwNSIgKQ0KDQpvdXRwdXQ6DQoNCjwwMTAyMDMwNDA1 Pg0KDQoNCmVjaG8gc21hcnRfaGV4ZHVtcCggIlx4MDE8XHgwMj5URVNUXHgwM1x4MDRceDA1IiAp DQoNCm91dHB1dDoNCg0KPDAxM0MwMjNFPlRFU1Q8MDMwNDA1Pg0KDQoNClByb3RvdHlwZQ0KPT09 PT09PT09DQpzdHJpbmcgc21hcnRfcGFja2hleCggc3RyaW5nIGRhdGEgKQ0KDQpEZXNjcmlwdGlv bg0KLS0tLS0tLS0tLS0NCg0KUGFjayB0aGUgc291cmNlIHN0cmluZyBmcm9tIHRoZSBzbWFydCBo ZXhhZGVjaW1hbCBkdW1wLiANCg0KT25seSAwLTksIGEtZiwgQS1GLCAnPCcgYW5kICc+JyBjaGFy YWN0ZXJzIGFyZSBhbGxvd2VkIGluIHRoZSBzb3VyY2Ugc3RyaW5nLCBvdGhlcndpc2UgdGhlIGZ1 bmN0aW9uIHdpbGwgcmV0dXJuICdmYWxzZScuIElmIHRoZSBudW1iZXIgb2YgdGhlIGhleGFkZWNp bWFsIGRpZ2l0cyBpcyBvZGQgKHVucGFpcmVkIG5pYmJsZSBpcyBwcmVzZW50KSwgdGhlIGZ1bmN0 aW9uIHdpbGwgcmV0dXJuICdmYWxzZScgYXMgd2VsbC4gVGhlIHNvdXJjZSBzdHJpbmcgY2FuIGJl IGluIEFTQ0lJIG9yIEVCQ0RJQy4NCg0KRXhhbXBsZXMNCi0tLS0tLS0tDQoNCiRzID0gc21hcnRf cGFja2hleCggIjwwMTAyMDMwNDA1PiIgKQ0KDQpyZXN1bHRzOg0KDQokcyA9ICJceDAxXHgwMlx4 MDNceDA0XHgwNSINCg0KDQokcyA9IHBhY2toZXgoICI8MDEzQzAyM0U+VEVTVDwwMzA0MDU+IiAp DQoNCnJlc3VsdHM6DQoNCiRzID0gIlx4MDE8XHgwMj5URVNUXHgwM1x4MDRceDA1IjsNCg== ------=_Part_112786_20848852.1166098590174--