www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/03/03/03:58:41

Message-ID: <000b01be6553$1b412e20$2f8230d4@main.medtech.ru>
From: "Eugene M. Indenbom" <bom AT classic DOT iki DOT rssi DOT ru>
To: <pgcc AT delorie DOT com>
Subject: gcc-2.7.2.3 optimizes gzip better than pgcc-1.1.1
Date: Wed, 3 Mar 1999 11:50:42 +0300
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3155.0
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3155.0
Reply-To: pgcc AT delorie DOT com

This is a multi-part message in MIME format.

------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: text/plain;
	charset="koi8-r"
Content-Transfer-Encoding: 7bit

I finally find the version of gcc that generates better gzip code than pgcc.
This is gcc-2.7.2.3. Here goes comparision (gzip-1.2.4a)

$ make
CC="/home/ddict/glibc/pgcc-1.1.1/gcc/xgcc -B/home/ddict/glibc/pgcc-1.1.1/gcc
/" \
CFLAGS="-O6 -mpentiumpro"

$ time ./gzip -cd egcs-1.1.1.tar.gz > tmp.gz

real    0m10.693s
user    0m7.720s
sys     0m2.050s

As I already wrote the best optimization is -Os. Is it surprise?

After attempt to use CFLAGS+=-pg I got a seg fault. BUG!!!!!
Here goes gprof output (I do not use gcov as there is no gcov in 2.7.2.3):
(CFLAGS=-O2 -mpentiumpro -pg, full output attached to this message as
gprof.pgcc):

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 55.87      3.90     3.90     1602     2.43     2.43  updcrc
 43.41      6.93     3.03      239    12.68    29.01  inflate_codes
  0.57      6.97     0.04      717     0.06     0.06  huft_build
  0.14      6.98     0.01     1600     0.01     0.01  write_buf

Now gcc-2.7.2.3:

$ make CC="usr/bin/gcc -Busr/lib/gcc-lib/i586-unknown-linux-gnu/2.7.2.3/"
CFLAGS="-O6"

$ time ./gzip -cd egcs-1.1.1.tar.gz > tmp.gz

real    0m8.756s
user    0m6.110s
sys     0m2.310s

gprof output, CFLAGS=-O6 -pg, , full output attached to this message as
gprof.ogcc:

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 50.29      2.63     2.63      239    11.00    21.50  inflate_codes
 47.80      5.13     2.50     1600     1.56     1.57  flush_window
  1.34      5.20     0.07      717     0.10     0.10  huft_build
  0.38      5.22     0.02      239     0.08    21.88  inflate_dynamic
  0.19      5.23     0.01     1600     0.01     0.01  write_buf

Note that updcrc and flush_window are the same thing:
flush_window is effectively a wrapper for updcrc that was not
inlined for some reason by pgcc in -O2 compilation.

gcc-2.7.2.3 -S output for flush_window goes here:
 .align 16
.globl flush_window
 .type  flush_window,@function
flush_window:
 pushl %ebp
 movl %esp,%ebp
 pushl %edi
 pushl %esi
 pushl %ebx
 movl outcnt,%eax
 testl %eax,%eax
 je .L242
 movl $window,%ebx
 movl %eax,%esi
 testl %ebx,%ebx
 jne .L245
 movl $-1,%ecx
 jmp .L246
 .align 16
.L245:
 movl crc.78,%ecx
 .align 4
.L248:
 movb %cl,%al
 xorb (%ebx),%al
 movzbl %al,%edx
 movl %ecx,%eax
 shrl $8,%eax
 movl crc_32_tab(,%edx,4),%ecx
 xorl %eax,%ecx
 incl %ebx
 decl %esi
 jne .L248
.L246:
 movl %ecx,crc.78
 cmpl $0,test
 jne .L252
 movl outcnt,%eax
 pushl %eax
 pushl $window
 movl ofd,%eax
 pushl %eax
 call write_buf
.L252:
 movl outcnt,%edi
 addl %edi,bytes_out
 movl $0,outcnt
.L242:
 leal -12(%ebp),%esp
 popl %ebx
 popl %esi
 popl %edi
 movl %ebp,%esp
 popl %ebp
 ret
.Lfe6:
 .size  flush_window,.Lfe6-flush_window


Happy hacking!!! Sincerely Yours, Eugene.

P.S If you do not believe me just try gzip from RedHat 5.2.
It is gcc-2.7.2.3 compiled and glibc based.


------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: application/octet-stream;
	name="gprof.ogcc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="gprof.ogcc"

RmxhdCBwcm9maWxlOgoKRWFjaCBzYW1wbGUgY291bnRzIGFzIDAuMDEgc2Vjb25kcy4KICAlICAg
Y3VtdWxhdGl2ZSAgIHNlbGYgICAgICAgICAgICAgIHNlbGYgICAgIHRvdGFsICAgICAgICAgICAK
IHRpbWUgICBzZWNvbmRzICAgc2Vjb25kcyAgICBjYWxscyAgbXMvY2FsbCAgbXMvY2FsbCAgbmFt
ZSAgICAKIDUwLjI5ICAgICAgMi42MyAgICAgMi42MyAgICAgIDIzOSAgICAxMS4wMCAgICAyMS41
MCAgaW5mbGF0ZV9jb2RlcwogNDcuODAgICAgICA1LjEzICAgICAyLjUwICAgICAxNjAwICAgICAx
LjU2ICAgICAxLjU3ICBmbHVzaF93aW5kb3cKICAxLjM0ICAgICAgNS4yMCAgICAgMC4wNyAgICAg
IDcxNyAgICAgMC4xMCAgICAgMC4xMCAgaHVmdF9idWlsZAogIDAuMzggICAgICA1LjIyICAgICAw
LjAyICAgICAgMjM5ICAgICAwLjA4ICAgIDIxLjg4ICBpbmZsYXRlX2R5bmFtaWMKICAwLjE5ICAg
ICAgNS4yMyAgICAgMC4wMSAgICAgMTYwMCAgICAgMC4wMSAgICAgMC4wMSAgd3JpdGVfYnVmCiAg
MC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAzNTUgICAgIDAuMDAgICAgIDAuMDAgIGZpbGxf
aW5idWYKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgIDIzOSAgICAgMC4wMCAgICAyMS44
OCAgaW5mbGF0ZV9ibG9jawogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAgICAgICAyICAgICAw
LjAwICAgICAwLjAwICB1cGRjcmMKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAg
ICAgMC4wMCAgICAgMC4wMCAgYWRkX2Vudm9wdAogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAg
ICAgICAxICAgICAwLjAwICAgICAwLjAwICBiYXNlbmFtZQogIDAuMDAgICAgICA1LjIzICAgICAw
LjAwICAgICAgICAxICAgICAwLjAwICAgICAwLjAwICBjbGVhcl9idWZzCiAgMC4wMCAgICAgIDUu
MjMgICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGRvX2V4aXQKICAwLjAwICAg
ICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgZ2V0X2lzdGF0CiAg
MC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGdldF9t
ZXRob2QKICAwLjAwICAgICAgNS4yMyAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgNTIzMC4w
MCAgaW5mbGF0ZQogIDAuMDAgICAgICA1LjIzICAgICAwLjAwICAgICAgICAxICAgICAwLjAwICA1
MjMwLjAwICB0cmVhdF9maWxlCiAgMC4wMCAgICAgIDUuMjMgICAgIDAuMDAgICAgICAgIDEgICAg
IDAuMDAgIDUyMzAuMDAgIHVuemlwCgogJSAgICAgICAgIHRoZSBwZXJjZW50YWdlIG9mIHRoZSB0
b3RhbCBydW5uaW5nIHRpbWUgb2YgdGhlCnRpbWUgICAgICAgcHJvZ3JhbSB1c2VkIGJ5IHRoaXMg
ZnVuY3Rpb24uCgpjdW11bGF0aXZlIGEgcnVubmluZyBzdW0gb2YgdGhlIG51bWJlciBvZiBzZWNv
bmRzIGFjY291bnRlZAogc2Vjb25kcyAgIGZvciBieSB0aGlzIGZ1bmN0aW9uIGFuZCB0aG9zZSBs
aXN0ZWQgYWJvdmUgaXQuCgogc2VsZiAgICAgIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhY2NvdW50
ZWQgZm9yIGJ5IHRoaXMKc2Vjb25kcyAgICBmdW5jdGlvbiBhbG9uZS4gIFRoaXMgaXMgdGhlIG1h
am9yIHNvcnQgZm9yIHRoaXMKICAgICAgICAgICBsaXN0aW5nLgoKY2FsbHMgICAgICB0aGUgbnVt
YmVyIG9mIHRpbWVzIHRoaXMgZnVuY3Rpb24gd2FzIGludm9rZWQsIGlmCiAgICAgICAgICAgdGhp
cyBmdW5jdGlvbiBpcyBwcm9maWxlZCwgZWxzZSBibGFuay4KIAogc2VsZiAgICAgIHRoZSBhdmVy
YWdlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc3BlbnQgaW4gdGhpcwptcy9jYWxsICAgIGZ1bmN0
aW9uIHBlciBjYWxsLCBpZiB0aGlzIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLAoJICAgZWxzZSBibGFu
ay4KCiB0b3RhbCAgICAgdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBzcGVudCBp
biB0aGlzCm1zL2NhbGwgICAgZnVuY3Rpb24gYW5kIGl0cyBkZXNjZW5kZW50cyBwZXIgY2FsbCwg
aWYgdGhpcyAKCSAgIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLCBlbHNlIGJsYW5rLgoKbmFtZSAgICAg
ICB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24uICBUaGlzIGlzIHRoZSBtaW5vciBzb3J0CiAgICAg
ICAgICAgZm9yIHRoaXMgbGlzdGluZy4gVGhlIGluZGV4IHNob3dzIHRoZSBsb2NhdGlvbiBvZgoJ
ICAgdGhlIGZ1bmN0aW9uIGluIHRoZSBncHJvZiBsaXN0aW5nLiBJZiB0aGUgaW5kZXggaXMKCSAg
IGluIHBhcmVudGhlc2lzIGl0IHNob3dzIHdoZXJlIGl0IHdvdWxkIGFwcGVhciBpbgoJICAgdGhl
IGdwcm9mIGxpc3RpbmcgaWYgaXQgd2VyZSB0byBiZSBwcmludGVkLgoMCgkJICAgICBDYWxsIGdy
YXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKQoKCmdyYW51bGFyaXR5OiBlYWNoIHNhbXBsZSBoaXQg
Y292ZXJzIDQgYnl0ZShzKSBmb3IgMC4xOSUgb2YgNS4yMyBzZWNvbmRzCgppbmRleCAlIHRpbWUg
ICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDUuMjMgICAgICAgMS8xICAgICAgICAgICB1bnppcCBbM10KWzFdICAgIDEwMC4wICAgIDAu
MDAgICAgNS4yMyAgICAgICAxICAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAgICAgICAgIDAu
MDAgICAgNS4yMyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGVfYmxvY2sgWzVdCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xNjAwICAgICAgICBmbHVzaF93aW5kb3cgWzhd
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDUuMjMgICAgICAgMS8xICAgICAgICAgICBtYWluIFs0XQpbMl0gICAg
MTAwLjAgICAgMC4wMCAgICA1LjIzICAgICAgIDEgICAgICAgICB0cmVhdF9maWxlIFsyXQogICAg
ICAgICAgICAgICAgMC4wMCAgICA1LjIzICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzNdCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBnZXRfaXN0YXQg
WzE3XQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgY2xl
YXJfYnVmcyBbMTVdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAg
ICAgICBnZXRfbWV0aG9kIFsxOF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNS4yMyAgICAgICAxLzEgICAgICAg
ICAgIHRyZWF0X2ZpbGUgWzJdClszXSAgICAxMDAuMCAgICAwLjAwICAgIDUuMjMgICAgICAgMSAg
ICAgICAgIHVuemlwIFszXQogICAgICAgICAgICAgICAgMC4wMCAgICA1LjIzICAgICAgIDEvMSAg
ICAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAy
LzIgICAgICAgICAgIHVwZGNyYyBbMTJdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8c3BvbnRhbmVvdXM+Cls0XSAgICAxMDAuMCAgICAwLjAwICAgIDUuMjMgICAgICAg
ICAgICAgICAgIG1haW4gWzRdCiAgICAgICAgICAgICAgICAwLjAwICAgIDUuMjMgICAgICAgMS8x
ICAgICAgICAgICB0cmVhdF9maWxlIFsyXQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDEvMSAgICAgICAgICAgYmFzZW5hbWUgWzE0XQogICAgICAgICAgICAgICAgMC4wMCAgICAw
LjAwICAgICAgIDEvMSAgICAgICAgICAgYWRkX2Vudm9wdCBbMTNdCiAgICAgICAgICAgICAgICAw
LjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBkb19leGl0IFsxNl0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAg
ICAgNS4yMyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGUgWzFdCls1XSAgICAxMDAuMCAgICAw
LjAwICAgIDUuMjMgICAgIDIzOSAgICAgICAgIGluZmxhdGVfYmxvY2sgWzVdCiAgICAgICAgICAg
ICAgICAwLjAyICAgIDUuMjEgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZd
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg
ICAgICAgICAwLjAyICAgIDUuMjEgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2Jsb2NrIFs1
XQpbNl0gICAgMTAwLjAgICAgMC4wMiAgICA1LjIxICAgICAyMzkgICAgICAgICBpbmZsYXRlX2R5
bmFtaWMgWzZdCiAgICAgICAgICAgICAgICAyLjYzICAgIDIuNTEgICAgIDIzOS8yMzkgICAgICAg
ICBpbmZsYXRlX2NvZGVzIFs3XQogICAgICAgICAgICAgICAgMC4wNyAgICAwLjAwICAgICA3MTcv
NzE3ICAgICAgICAgaHVmdF9idWlsZCBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDIuNjMgICAgMi41MSAgICAgMjM5LzIz
OSAgICAgICAgIGluZmxhdGVfZHluYW1pYyBbNl0KWzddICAgICA5OC4yICAgIDIuNjMgICAgMi41
MSAgICAgMjM5ICAgICAgICAgaW5mbGF0ZV9jb2RlcyBbN10KICAgICAgICAgICAgICAgIDIuNTAg
ICAgMC4wMSAgICAxNTk5LzE2MDAgICAgICAgIGZsdXNoX3dpbmRvdyBbOF0KICAgICAgICAgICAg
ICAgIDAuMDAgICAgMC4wMCAgICAgMzU0LzM1NSAgICAgICAgIGZpbGxfaW5idWYgWzExXQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAg
ICAgMC4wMCAgICAwLjAwICAgICAgIDEvMTYwMCAgICAgICAgaW5mbGF0ZSBbMV0KICAgICAgICAg
ICAgICAgIDIuNTAgICAgMC4wMSAgICAxNTk5LzE2MDAgICAgICAgIGluZmxhdGVfY29kZXMgWzdd
Cls4XSAgICAgNDguMCAgICAyLjUwICAgIDAuMDEgICAgMTYwMCAgICAgICAgIGZsdXNoX3dpbmRv
dyBbOF0KICAgICAgICAgICAgICAgIDAuMDEgICAgMC4wMCAgICAxNjAwLzE2MDAgICAgICAgIHdy
aXRlX2J1ZiBbMTBdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgICAgICAgICAgICAwLjA3ICAgIDAuMDAgICAgIDcxNy83MTcgICAgICAgICBpbmZs
YXRlX2R5bmFtaWMgWzZdCls5XSAgICAgIDEuMyAgICAwLjA3ICAgIDAuMDAgICAgIDcxNyAgICAg
ICAgIGh1ZnRfYnVpbGQgWzldCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAxICAgIDAuMDAgICAgMTYwMC8xNjAwICAgICAg
ICBmbHVzaF93aW5kb3cgWzhdClsxMF0gICAgIDAuMiAgICAwLjAxICAgIDAuMDAgICAgMTYwMCAg
ICAgICAgIHdyaXRlX2J1ZiBbMTBdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUgICAg
ICAgICBnZXRfbWV0aG9kIFsxOF0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgMzU0
LzM1NSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddClsxMV0gICAgIDAuMCAgICAwLjAwICAgIDAu
MDAgICAgIDM1NSAgICAgICAgIGZpbGxfaW5idWYgWzExXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDIvMiAgICAgICAgICAgdW56aXAgWzNdClsxMl0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAg
ICAgICAgMiAgICAgICAgIHVwZGNyYyBbMTJdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8x
ICAgICAgICAgICBtYWluIFs0XQpbMTNdICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEg
ICAgICAgICBhZGRfZW52b3B0IFsxM10KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAg
ICAgICAgIG1haW4gWzRdClsxNF0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAg
ICAgIGJhc2VuYW1lIFsxNF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAg
IHRyZWF0X2ZpbGUgWzJdClsxNV0gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAg
ICAgIGNsZWFyX2J1ZnMgWzE1XQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAg
ICAgbWFpbiBbNF0KWzE2XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAg
ZG9fZXhpdCBbMTZdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVh
dF9maWxlIFsyXQpbMTddICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBn
ZXRfaXN0YXQgWzE3XQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgdHJl
YXRfZmlsZSBbMl0KWzE4XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAg
Z2V0X21ldGhvZCBbMThdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUg
ICAgICAgICBmaWxsX2luYnVmIFsxMV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KCiBUaGlzIHRhYmxlIGRlc2NyaWJlcyB0aGUgY2FsbCB0cmVlIG9mIHRo
ZSBwcm9ncmFtLCBhbmQgd2FzIHNvcnRlZCBieQogdGhlIHRvdGFsIGFtb3VudCBvZiB0aW1lIHNw
ZW50IGluIGVhY2ggZnVuY3Rpb24gYW5kIGl0cyBjaGlsZHJlbi4KCiBFYWNoIGVudHJ5IGluIHRo
aXMgdGFibGUgY29uc2lzdHMgb2Ygc2V2ZXJhbCBsaW5lcy4gIFRoZSBsaW5lIHdpdGggdGhlCiBp
bmRleCBudW1iZXIgYXQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gbGlzdHMgdGhlIGN1cnJlbnQgZnVu
Y3Rpb24uCiBUaGUgbGluZXMgYWJvdmUgaXQgbGlzdCB0aGUgZnVuY3Rpb25zIHRoYXQgY2FsbGVk
IHRoaXMgZnVuY3Rpb24sCiBhbmQgdGhlIGxpbmVzIGJlbG93IGl0IGxpc3QgdGhlIGZ1bmN0aW9u
cyB0aGlzIG9uZSBjYWxsZWQuCiBUaGlzIGxpbmUgbGlzdHM6CiAgICAgaW5kZXgJQSB1bmlxdWUg
bnVtYmVyIGdpdmVuIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgdGFibGUuCgkJSW5kZXggbnVtYmVy
cyBhcmUgc29ydGVkIG51bWVyaWNhbGx5LgoJCVRoZSBpbmRleCBudW1iZXIgaXMgcHJpbnRlZCBu
ZXh0IHRvIGV2ZXJ5IGZ1bmN0aW9uIG5hbWUgc28KCQlpdCBpcyBlYXNpZXIgdG8gbG9vayB1cCB3
aGVyZSB0aGUgZnVuY3Rpb24gaW4gdGhlIHRhYmxlLgoKICAgICAlIHRpbWUJVGhpcyBpcyB0aGUg
cGVyY2VudGFnZSBvZiB0aGUgYHRvdGFsJyB0aW1lIHRoYXQgd2FzIHNwZW50CgkJaW4gdGhpcyBm
dW5jdGlvbiBhbmQgaXRzIGNoaWxkcmVuLiAgTm90ZSB0aGF0IGR1ZSB0bwoJCWRpZmZlcmVudCB2
aWV3cG9pbnRzLCBmdW5jdGlvbnMgZXhjbHVkZWQgYnkgb3B0aW9ucywgZXRjLAoJCXRoZXNlIG51
bWJlcnMgd2lsbCBOT1QgYWRkIHVwIHRvIDEwMCUuCgogICAgIHNlbGYJVGhpcyBpcyB0aGUgdG90
YWwgYW1vdW50IG9mIHRpbWUgc3BlbnQgaW4gdGhpcyBmdW5jdGlvbi4KCiAgICAgY2hpbGRyZW4J
VGhpcyBpcyB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUgcHJvcGFnYXRlZCBpbnRvIHRoaXMKCQlm
dW5jdGlvbiBieSBpdHMgY2hpbGRyZW4uCgogICAgIGNhbGxlZAlUaGlzIGlzIHRoZSBudW1iZXIg
b2YgdGltZXMgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQuCgkJSWYgdGhlIGZ1bmN0aW9uIGNhbGxl
ZCBpdHNlbGYgcmVjdXJzaXZlbHksIHRoZSBudW1iZXIKCQlvbmx5IGluY2x1ZGVzIG5vbi1yZWN1
cnNpdmUgY2FsbHMsIGFuZCBpcyBmb2xsb3dlZCBieQoJCWEgYCsnIGFuZCB0aGUgbnVtYmVyIG9m
IHJlY3Vyc2l2ZSBjYWxscy4KCiAgICAgbmFtZQlUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBmdW5j
dGlvbi4gIFRoZSBpbmRleCBudW1iZXIgaXMKCQlwcmludGVkIGFmdGVyIGl0LiAgSWYgdGhlIGZ1
bmN0aW9uIGlzIGEgbWVtYmVyIG9mIGEKCQljeWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmlu
dGVkIGJldHdlZW4gdGhlCgkJZnVuY3Rpb24ncyBuYW1lIGFuZCB0aGUgaW5kZXggbnVtYmVyLgoK
CiBGb3IgdGhlIGZ1bmN0aW9uJ3MgcGFyZW50cywgdGhlIGZpZWxkcyBoYXZlIHRoZSBmb2xsb3dp
bmcgbWVhbmluZ3M6CgogICAgIHNlbGYJVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3
YXMgcHJvcGFnYXRlZCBkaXJlY3RseQoJCWZyb20gdGhlIGZ1bmN0aW9uIGludG8gdGhpcyBwYXJl
bnQuCgogICAgIGNoaWxkcmVuCVRoaXMgaXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgd2FzIHBy
b3BhZ2F0ZWQgZnJvbQoJCXRoZSBmdW5jdGlvbidzIGNoaWxkcmVuIGludG8gdGhpcyBwYXJlbnQu
CgogICAgIGNhbGxlZAlUaGlzIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhpcyBwYXJlbnQgY2Fs
bGVkIHRoZQoJCWZ1bmN0aW9uIGAvJyB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBmdW5j
dGlvbgoJCXdhcyBjYWxsZWQuICBSZWN1cnNpdmUgY2FsbHMgdG8gdGhlIGZ1bmN0aW9uIGFyZSBu
b3QKCQlpbmNsdWRlZCBpbiB0aGUgbnVtYmVyIGFmdGVyIHRoZSBgLycuCgogICAgIG5hbWUJVGhp
cyBpcyB0aGUgbmFtZSBvZiB0aGUgcGFyZW50LiAgVGhlIHBhcmVudCdzIGluZGV4CgkJbnVtYmVy
IGlzIHByaW50ZWQgYWZ0ZXIgaXQuICBJZiB0aGUgcGFyZW50IGlzIGEKCQltZW1iZXIgb2YgYSBj
eWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmludGVkIGJldHdlZW4KCQl0aGUgbmFtZSBhbmQg
dGhlIGluZGV4IG51bWJlci4KCiBJZiB0aGUgcGFyZW50cyBvZiB0aGUgZnVuY3Rpb24gY2Fubm90
IGJlIGRldGVybWluZWQsIHRoZSB3b3JkCiBgPHNwb250YW5lb3VzPicgaXMgcHJpbnRlZCBpbiB0
aGUgYG5hbWUnIGZpZWxkLCBhbmQgYWxsIHRoZSBvdGhlcgogZmllbGRzIGFyZSBibGFuay4KCiBG
b3IgdGhlIGZ1bmN0aW9uJ3MgY2hpbGRyZW4sIHRoZSBmaWVsZHMgaGF2ZSB0aGUgZm9sbG93aW5n
IG1lYW5pbmdzOgoKICAgICBzZWxmCVRoaXMgaXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgd2Fz
IHByb3BhZ2F0ZWQgZGlyZWN0bHkKCQlmcm9tIHRoZSBjaGlsZCBpbnRvIHRoZSBmdW5jdGlvbi4K
CiAgICAgY2hpbGRyZW4JVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFn
YXRlZCBmcm9tIHRoZQoJCWNoaWxkJ3MgY2hpbGRyZW4gdG8gdGhlIGZ1bmN0aW9uLgoKICAgICBj
YWxsZWQJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBmdW5jdGlvbiBjYWxsZWQKCQl0
aGlzIGNoaWxkIGAvJyB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBjaGlsZAoJCXdhcyBj
YWxsZWQuICBSZWN1cnNpdmUgY2FsbHMgYnkgdGhlIGNoaWxkIGFyZSBub3QKCQlsaXN0ZWQgaW4g
dGhlIG51bWJlciBhZnRlciB0aGUgYC8nLgoKICAgICBuYW1lCVRoaXMgaXMgdGhlIG5hbWUgb2Yg
dGhlIGNoaWxkLiAgVGhlIGNoaWxkJ3MgaW5kZXgKCQludW1iZXIgaXMgcHJpbnRlZCBhZnRlciBp
dC4gIElmIHRoZSBjaGlsZCBpcyBhCgkJbWVtYmVyIG9mIGEgY3ljbGUsIHRoZSBjeWNsZSBudW1i
ZXIgaXMgcHJpbnRlZAoJCWJldHdlZW4gdGhlIG5hbWUgYW5kIHRoZSBpbmRleCBudW1iZXIuCgog
SWYgdGhlcmUgYXJlIGFueSBjeWNsZXMgKGNpcmNsZXMpIGluIHRoZSBjYWxsIGdyYXBoLCB0aGVy
ZSBpcyBhbgogZW50cnkgZm9yIHRoZSBjeWNsZS1hcy1hLXdob2xlLiAgVGhpcyBlbnRyeSBzaG93
cyB3aG8gY2FsbGVkIHRoZQogY3ljbGUgKGFzIHBhcmVudHMpIGFuZCB0aGUgbWVtYmVycyBvZiB0
aGUgY3ljbGUgKGFzIGNoaWxkcmVuLikKIFRoZSBgKycgcmVjdXJzaXZlIGNhbGxzIGVudHJ5IHNo
b3dzIHRoZSBudW1iZXIgb2YgZnVuY3Rpb24gY2FsbHMgdGhhdAogd2VyZSBpbnRlcm5hbCB0byB0
aGUgY3ljbGUsIGFuZCB0aGUgY2FsbHMgZW50cnkgZm9yIGVhY2ggbWVtYmVyIHNob3dzLAogZm9y
IHRoYXQgbWVtYmVyLCBob3cgbWFueSB0aW1lcyBpdCB3YXMgY2FsbGVkIGZyb20gb3RoZXIgbWVt
YmVycyBvZgogdGhlIGN5Y2xlLgoKDApJbmRleCBieSBmdW5jdGlvbiBuYW1lCgogIFsxM10gYWRk
X2Vudm9wdCAgICAgICAgICAgICBbMTddIGdldF9pc3RhdCAgICAgICAgICAgICAgIFs2XSBpbmZs
YXRlX2R5bmFtaWMKICBbMTRdIGJhc2VuYW1lICAgICAgICAgICAgICAgWzE4XSBnZXRfbWV0aG9k
ICAgICAgICAgICAgICBbMl0gdHJlYXRfZmlsZQogIFsxNV0gY2xlYXJfYnVmcyAgICAgICAgICAg
ICAgWzldIGh1ZnRfYnVpbGQgICAgICAgICAgICAgIFszXSB1bnppcAogIFsxNl0gZG9fZXhpdCAg
ICAgICAgICAgICAgICAgWzFdIGluZmxhdGUgICAgICAgICAgICAgICAgWzEyXSB1cGRjcmMKICBb
MTFdIGZpbGxfaW5idWYgICAgICAgICAgICAgIFs1XSBpbmZsYXRlX2Jsb2NrICAgICAgICAgIFsx
MF0gd3JpdGVfYnVmCiAgIFs4XSBmbHVzaF93aW5kb3cgICAgICAgICAgICBbN10gaW5mbGF0ZV9j
b2Rlcwo=

------=_NextPart_000_0008_01BE656C.10BABF20
Content-Type: application/octet-stream;
	name="gprof.pgcc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="gprof.pgcc"

RmxhdCBwcm9maWxlOgoKRWFjaCBzYW1wbGUgY291bnRzIGFzIDAuMDEgc2Vjb25kcy4KICAlICAg
Y3VtdWxhdGl2ZSAgIHNlbGYgICAgICAgICAgICAgIHNlbGYgICAgIHRvdGFsICAgICAgICAgICAK
IHRpbWUgICBzZWNvbmRzICAgc2Vjb25kcyAgICBjYWxscyAgbXMvY2FsbCAgbXMvY2FsbCAgbmFt
ZSAgICAKIDU1Ljg3ICAgICAgMy45MCAgICAgMy45MCAgICAgMTYwMiAgICAgMi40MyAgICAgMi40
MyAgdXBkY3JjCiA0My40MSAgICAgIDYuOTMgICAgIDMuMDMgICAgICAyMzkgICAgMTIuNjggICAg
MjkuMDEgIGluZmxhdGVfY29kZXMKICAwLjU3ICAgICAgNi45NyAgICAgMC4wNCAgICAgIDcxNyAg
ICAgMC4wNiAgICAgMC4wNiAgaHVmdF9idWlsZAogIDAuMTQgICAgICA2Ljk4ICAgICAwLjAxICAg
ICAxNjAwICAgICAwLjAxICAgICAwLjAxICB3cml0ZV9idWYKICAwLjAwICAgICAgNi45OCAgICAg
MC4wMCAgICAgMTYwMCAgICAgMC4wMCAgICAgMi40NCAgZmx1c2hfd2luZG93CiAgMC4wMCAgICAg
IDYuOTggICAgIDAuMDAgICAgICA3MTcgICAgIDAuMDAgICAgIDAuMDAgIGh1ZnRfZnJlZQogIDAu
MDAgICAgICA2Ljk4ICAgICAwLjAwICAgICAgMzU1ICAgICAwLjAwICAgICAwLjAwICBmaWxsX2lu
YnVmCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAyMzkgICAgIDAuMDAgICAgMjkuMTcg
IGluZmxhdGVfYmxvY2sKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgIDIzOSAgICAgMC4w
MCAgICAyOS4xNyAgaW5mbGF0ZV9keW5hbWljCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAg
ICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGFkZF9lbnZvcHQKICAwLjAwICAgICAgNi45OCAgICAg
MC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgYmFzZW5hbWUKICAwLjAwICAgICAgNi45
OCAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAgY2xlYXJfYnVmcwogIDAuMDAg
ICAgICA2Ljk4ICAgICAwLjAwICAgICAgICAxICAgICAwLjAwICAgICAwLjAwICBkb19leGl0CiAg
MC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAgIDAuMDAgIGRvX3N0
YXQKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgICAgMSAgICAgMC4wMCAgICAgMC4wMCAg
Z2V0X2lzdGF0CiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAgICAgICAgIDEgICAgIDAuMDAgICAg
IDAuMDAgIGdldF9tZXRob2QKICAwLjAwICAgICAgNi45OCAgICAgMC4wMCAgICAgICAgMSAgICAg
MC4wMCAgNjk3NS4xMyAgaW5mbGF0ZQogIDAuMDAgICAgICA2Ljk4ICAgICAwLjAwICAgICAgICAx
ICAgICAwLjAwICA2OTgwLjAwICB0cmVhdF9maWxlCiAgMC4wMCAgICAgIDYuOTggICAgIDAuMDAg
ICAgICAgIDEgICAgIDAuMDAgIDY5ODAuMDAgIHVuemlwCgogJSAgICAgICAgIHRoZSBwZXJjZW50
YWdlIG9mIHRoZSB0b3RhbCBydW5uaW5nIHRpbWUgb2YgdGhlCnRpbWUgICAgICAgcHJvZ3JhbSB1
c2VkIGJ5IHRoaXMgZnVuY3Rpb24uCgpjdW11bGF0aXZlIGEgcnVubmluZyBzdW0gb2YgdGhlIG51
bWJlciBvZiBzZWNvbmRzIGFjY291bnRlZAogc2Vjb25kcyAgIGZvciBieSB0aGlzIGZ1bmN0aW9u
IGFuZCB0aG9zZSBsaXN0ZWQgYWJvdmUgaXQuCgogc2VsZiAgICAgIHRoZSBudW1iZXIgb2Ygc2Vj
b25kcyBhY2NvdW50ZWQgZm9yIGJ5IHRoaXMKc2Vjb25kcyAgICBmdW5jdGlvbiBhbG9uZS4gIFRo
aXMgaXMgdGhlIG1ham9yIHNvcnQgZm9yIHRoaXMKICAgICAgICAgICBsaXN0aW5nLgoKY2FsbHMg
ICAgICB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoaXMgZnVuY3Rpb24gd2FzIGludm9rZWQsIGlmCiAg
ICAgICAgICAgdGhpcyBmdW5jdGlvbiBpcyBwcm9maWxlZCwgZWxzZSBibGFuay4KIAogc2VsZiAg
ICAgIHRoZSBhdmVyYWdlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc3BlbnQgaW4gdGhpcwptcy9j
YWxsICAgIGZ1bmN0aW9uIHBlciBjYWxsLCBpZiB0aGlzIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLAoJ
ICAgZWxzZSBibGFuay4KCiB0b3RhbCAgICAgdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIG1pbGxpc2Vj
b25kcyBzcGVudCBpbiB0aGlzCm1zL2NhbGwgICAgZnVuY3Rpb24gYW5kIGl0cyBkZXNjZW5kZW50
cyBwZXIgY2FsbCwgaWYgdGhpcyAKCSAgIGZ1bmN0aW9uIGlzIHByb2ZpbGVkLCBlbHNlIGJsYW5r
LgoKbmFtZSAgICAgICB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24uICBUaGlzIGlzIHRoZSBtaW5v
ciBzb3J0CiAgICAgICAgICAgZm9yIHRoaXMgbGlzdGluZy4gVGhlIGluZGV4IHNob3dzIHRoZSBs
b2NhdGlvbiBvZgoJICAgdGhlIGZ1bmN0aW9uIGluIHRoZSBncHJvZiBsaXN0aW5nLiBJZiB0aGUg
aW5kZXggaXMKCSAgIGluIHBhcmVudGhlc2lzIGl0IHNob3dzIHdoZXJlIGl0IHdvdWxkIGFwcGVh
ciBpbgoJICAgdGhlIGdwcm9mIGxpc3RpbmcgaWYgaXQgd2VyZSB0byBiZSBwcmludGVkLgoMCgkJ
ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKQoKCmdyYW51bGFyaXR5OiBlYWNo
IHNhbXBsZSBoaXQgY292ZXJzIDQgYnl0ZShzKSBmb3IgMC4xNCUgb2YgNi45OCBzZWNvbmRzCgpp
bmRleCAlIHRpbWUgICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lCiAgICAgICAg
ICAgICAgICAwLjAwICAgIDYuOTggICAgICAgMS8xICAgICAgICAgICBtYWluIFszXQpbMV0gICAg
MTAwLjAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEgICAgICAgICB0cmVhdF9maWxlIFsxXQogICAg
ICAgICAgICAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzJdCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBnZXRfaXN0YXQg
WzE5XQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgY2xl
YXJfYnVmcyBbMTZdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAg
ICAgICBnZXRfbWV0aG9kIFsyMF0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45OCAgICAgICAxLzEgICAgICAg
ICAgIHRyZWF0X2ZpbGUgWzFdClsyXSAgICAxMDAuMCAgICAwLjAwICAgIDYuOTggICAgICAgMSAg
ICAgICAgIHVuemlwIFsyXQogICAgICAgICAgICAgICAgMC4wMCAgICA2Ljk4ICAgICAgIDEvMSAg
ICAgICAgICAgaW5mbGF0ZSBbNF0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAy
LzE2MDIgICAgICAgIHVwZGNyYyBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxzcG9udGFuZW91cz4KWzNdICAgIDEwMC4wICAgIDAuMDAgICAgNi45OCAgICAgICAg
ICAgICAgICAgbWFpbiBbM10KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45OCAgICAgICAxLzEg
ICAgICAgICAgIHRyZWF0X2ZpbGUgWzFdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAg
ICAgMS8xICAgICAgICAgICBiYXNlbmFtZSBbMTVdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAu
MDAgICAgICAgMS8xICAgICAgICAgICBhZGRfZW52b3B0IFsxNF0KICAgICAgICAgICAgICAgIDAu
MDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAgIGRvX2V4aXQgWzE3XQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAg
ICA2Ljk4ICAgICAgIDEvMSAgICAgICAgICAgdW56aXAgWzJdCls0XSAgICAgOTkuOSAgICAwLjAw
ICAgIDYuOTggICAgICAgMSAgICAgICAgIGluZmxhdGUgWzRdCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDYuOTcgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2Jsb2NrIFs1XQogICAgICAgICAg
ICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMTYwMCAgICAgICAgZmx1c2hfd2luZG93IFs4XQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAg
ICAgICAgMC4wMCAgICA2Ljk3ICAgICAyMzkvMjM5ICAgICAgICAgaW5mbGF0ZSBbNF0KWzVdICAg
ICA5OS45ICAgIDAuMDAgICAgNi45NyAgICAgMjM5ICAgICAgICAgaW5mbGF0ZV9ibG9jayBbNV0K
ICAgICAgICAgICAgICAgIDAuMDAgICAgNi45NyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxhdGVf
ZHluYW1pYyBbNl0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICAgICAgICAgICAgICAgIDAuMDAgICAgNi45NyAgICAgMjM5LzIzOSAgICAgICAgIGluZmxh
dGVfYmxvY2sgWzVdCls2XSAgICAgOTkuOSAgICAwLjAwICAgIDYuOTcgICAgIDIzOSAgICAgICAg
IGluZmxhdGVfZHluYW1pYyBbNl0KICAgICAgICAgICAgICAgIDMuMDMgICAgMy45MCAgICAgMjM5
LzIzOSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddCiAgICAgICAgICAgICAgICAwLjA0ICAgIDAu
MDAgICAgIDcxNy83MTcgICAgICAgICBodWZ0X2J1aWxkIFsxMF0KICAgICAgICAgICAgICAgIDAu
MDAgICAgMC4wMCAgICAgNzE3LzcxNyAgICAgICAgIGh1ZnRfZnJlZSBbMTJdCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAzLjAz
ICAgIDMuOTAgICAgIDIzOS8yMzkgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZdCls3XSAgICAg
OTkuMyAgICAzLjAzICAgIDMuOTAgICAgIDIzOSAgICAgICAgIGluZmxhdGVfY29kZXMgWzddCiAg
ICAgICAgICAgICAgICAwLjAwICAgIDMuOTAgICAgMTU5OS8xNjAwICAgICAgICBmbHVzaF93aW5k
b3cgWzhdCiAgICAgICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgIDM1NC8zNTUgICAgICAgICBm
aWxsX2luYnVmIFsxM10KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzE2MDAgICAgICAgIGlu
ZmxhdGUgWzRdCiAgICAgICAgICAgICAgICAwLjAwICAgIDMuOTAgICAgMTU5OS8xNjAwICAgICAg
ICBpbmZsYXRlX2NvZGVzIFs3XQpbOF0gICAgIDU1LjkgICAgMC4wMCAgICAzLjkxICAgIDE2MDAg
ICAgICAgICBmbHVzaF93aW5kb3cgWzhdCiAgICAgICAgICAgICAgICAzLjkwICAgIDAuMDAgICAg
MTYwMC8xNjAyICAgICAgICB1cGRjcmMgWzldCiAgICAgICAgICAgICAgICAwLjAxICAgIDAuMDAg
ICAgMTYwMC8xNjAwICAgICAgICB3cml0ZV9idWYgWzExXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAg
ICAgIDIvMTYwMiAgICAgICAgdW56aXAgWzJdCiAgICAgICAgICAgICAgICAzLjkwICAgIDAuMDAg
ICAgMTYwMC8xNjAyICAgICAgICBmbHVzaF93aW5kb3cgWzhdCls5XSAgICAgNTUuOSAgICAzLjkw
ICAgIDAuMDAgICAgMTYwMiAgICAgICAgIHVwZGNyYyBbOV0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgIDAuMDQgICAgMC4wMCAg
ICAgNzE3LzcxNyAgICAgICAgIGluZmxhdGVfZHluYW1pYyBbNl0KWzEwXSAgICAgMC42ICAgIDAu
MDQgICAgMC4wMCAgICAgNzE3ICAgICAgICAgaHVmdF9idWlsZCBbMTBdCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAxICAg
IDAuMDAgICAgMTYwMC8xNjAwICAgICAgICBmbHVzaF93aW5kb3cgWzhdClsxMV0gICAgIDAuMSAg
ICAwLjAxICAgIDAuMDAgICAgMTYwMCAgICAgICAgIHdyaXRlX2J1ZiBbMTFdCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAwLjAw
ICAgIDAuMDAgICAgIDcxNy83MTcgICAgICAgICBpbmZsYXRlX2R5bmFtaWMgWzZdClsxMl0gICAg
IDAuMCAgICAwLjAwICAgIDAuMDAgICAgIDcxNyAgICAgICAgIGh1ZnRfZnJlZSBbMTJdCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAg
ICAwLjAwICAgIDAuMDAgICAgICAgMS8zNTUgICAgICAgICBnZXRfbWV0aG9kIFsyMF0KICAgICAg
ICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgMzU0LzM1NSAgICAgICAgIGluZmxhdGVfY29kZXMg
WzddClsxM10gICAgIDAuMCAgICAwLjAwICAgIDAuMDAgICAgIDM1NSAgICAgICAgIGZpbGxfaW5i
dWYgWzEzXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAgICAgICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgbWFpbiBbM10K
WzE0XSAgICAgMC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAgYWRkX2Vudm9wdCBb
MTRdCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAg
ICAgICAgICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICBtYWluIFszXQpbMTVd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBiYXNlbmFtZSBbMTVdCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAg
ICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMTZd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBjbGVhcl9idWZzIFsxNl0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAg
ICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzEgICAgICAgICAgIG1haW4gWzNdClsxN10gICAg
IDAuMCAgICAwLjAwICAgIDAuMDAgICAgICAgMSAgICAgICAgIGRvX2V4aXQgWzE3XQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAgICAg
MC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgZ2V0X2lzdGF0IFsxOV0KWzE4XSAgICAg
MC4wICAgIDAuMDAgICAgMC4wMCAgICAgICAxICAgICAgICAgZG9fc3RhdCBbMThdCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAw
LjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMTldICAgICAw
LjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBnZXRfaXN0YXQgWzE5XQogICAgICAg
ICAgICAgICAgMC4wMCAgICAwLjAwICAgICAgIDEvMSAgICAgICAgICAgZG9fc3RhdCBbMThdCi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAg
ICAgICAwLjAwICAgIDAuMDAgICAgICAgMS8xICAgICAgICAgICB0cmVhdF9maWxlIFsxXQpbMjBd
ICAgICAwLjAgICAgMC4wMCAgICAwLjAwICAgICAgIDEgICAgICAgICBnZXRfbWV0aG9kIFsyMF0K
ICAgICAgICAgICAgICAgIDAuMDAgICAgMC4wMCAgICAgICAxLzM1NSAgICAgICAgIGZpbGxfaW5i
dWYgWzEzXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK
IFRoaXMgdGFibGUgZGVzY3JpYmVzIHRoZSBjYWxsIHRyZWUgb2YgdGhlIHByb2dyYW0sIGFuZCB3
YXMgc29ydGVkIGJ5CiB0aGUgdG90YWwgYW1vdW50IG9mIHRpbWUgc3BlbnQgaW4gZWFjaCBmdW5j
dGlvbiBhbmQgaXRzIGNoaWxkcmVuLgoKIEVhY2ggZW50cnkgaW4gdGhpcyB0YWJsZSBjb25zaXN0
cyBvZiBzZXZlcmFsIGxpbmVzLiAgVGhlIGxpbmUgd2l0aCB0aGUKIGluZGV4IG51bWJlciBhdCB0
aGUgbGVmdCBoYW5kIG1hcmdpbiBsaXN0cyB0aGUgY3VycmVudCBmdW5jdGlvbi4KIFRoZSBsaW5l
cyBhYm92ZSBpdCBsaXN0IHRoZSBmdW5jdGlvbnMgdGhhdCBjYWxsZWQgdGhpcyBmdW5jdGlvbiwK
IGFuZCB0aGUgbGluZXMgYmVsb3cgaXQgbGlzdCB0aGUgZnVuY3Rpb25zIHRoaXMgb25lIGNhbGxl
ZC4KIFRoaXMgbGluZSBsaXN0czoKICAgICBpbmRleAlBIHVuaXF1ZSBudW1iZXIgZ2l2ZW4gdG8g
ZWFjaCBlbGVtZW50IG9mIHRoZSB0YWJsZS4KCQlJbmRleCBudW1iZXJzIGFyZSBzb3J0ZWQgbnVt
ZXJpY2FsbHkuCgkJVGhlIGluZGV4IG51bWJlciBpcyBwcmludGVkIG5leHQgdG8gZXZlcnkgZnVu
Y3Rpb24gbmFtZSBzbwoJCWl0IGlzIGVhc2llciB0byBsb29rIHVwIHdoZXJlIHRoZSBmdW5jdGlv
biBpbiB0aGUgdGFibGUuCgogICAgICUgdGltZQlUaGlzIGlzIHRoZSBwZXJjZW50YWdlIG9mIHRo
ZSBgdG90YWwnIHRpbWUgdGhhdCB3YXMgc3BlbnQKCQlpbiB0aGlzIGZ1bmN0aW9uIGFuZCBpdHMg
Y2hpbGRyZW4uICBOb3RlIHRoYXQgZHVlIHRvCgkJZGlmZmVyZW50IHZpZXdwb2ludHMsIGZ1bmN0
aW9ucyBleGNsdWRlZCBieSBvcHRpb25zLCBldGMsCgkJdGhlc2UgbnVtYmVycyB3aWxsIE5PVCBh
ZGQgdXAgdG8gMTAwJS4KCiAgICAgc2VsZglUaGlzIGlzIHRoZSB0b3RhbCBhbW91bnQgb2YgdGlt
ZSBzcGVudCBpbiB0aGlzIGZ1bmN0aW9uLgoKICAgICBjaGlsZHJlbglUaGlzIGlzIHRoZSB0b3Rh
bCBhbW91bnQgb2YgdGltZSBwcm9wYWdhdGVkIGludG8gdGhpcwoJCWZ1bmN0aW9uIGJ5IGl0cyBj
aGlsZHJlbi4KCiAgICAgY2FsbGVkCVRoaXMgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgZnVu
Y3Rpb24gd2FzIGNhbGxlZC4KCQlJZiB0aGUgZnVuY3Rpb24gY2FsbGVkIGl0c2VsZiByZWN1cnNp
dmVseSwgdGhlIG51bWJlcgoJCW9ubHkgaW5jbHVkZXMgbm9uLXJlY3Vyc2l2ZSBjYWxscywgYW5k
IGlzIGZvbGxvd2VkIGJ5CgkJYSBgKycgYW5kIHRoZSBudW1iZXIgb2YgcmVjdXJzaXZlIGNhbGxz
LgoKICAgICBuYW1lCVRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZ1bmN0aW9uLiAgVGhlIGluZGV4
IG51bWJlciBpcwoJCXByaW50ZWQgYWZ0ZXIgaXQuICBJZiB0aGUgZnVuY3Rpb24gaXMgYSBtZW1i
ZXIgb2YgYQoJCWN5Y2xlLCB0aGUgY3ljbGUgbnVtYmVyIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUK
CQlmdW5jdGlvbidzIG5hbWUgYW5kIHRoZSBpbmRleCBudW1iZXIuCgoKIEZvciB0aGUgZnVuY3Rp
b24ncyBwYXJlbnRzLCB0aGUgZmllbGRzIGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5nczoKCiAg
ICAgc2VsZglUaGlzIGlzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IHdhcyBwcm9wYWdhdGVkIGRp
cmVjdGx5CgkJZnJvbSB0aGUgZnVuY3Rpb24gaW50byB0aGlzIHBhcmVudC4KCiAgICAgY2hpbGRy
ZW4JVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFnYXRlZCBmcm9tCgkJ
dGhlIGZ1bmN0aW9uJ3MgY2hpbGRyZW4gaW50byB0aGlzIHBhcmVudC4KCiAgICAgY2FsbGVkCVRo
aXMgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGlzIHBhcmVudCBjYWxsZWQgdGhlCgkJZnVuY3Rp
b24gYC8nIHRoZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGZ1bmN0aW9uCgkJd2FzIGNhbGxl
ZC4gIFJlY3Vyc2l2ZSBjYWxscyB0byB0aGUgZnVuY3Rpb24gYXJlIG5vdAoJCWluY2x1ZGVkIGlu
IHRoZSBudW1iZXIgYWZ0ZXIgdGhlIGAvJy4KCiAgICAgbmFtZQlUaGlzIGlzIHRoZSBuYW1lIG9m
IHRoZSBwYXJlbnQuICBUaGUgcGFyZW50J3MgaW5kZXgKCQludW1iZXIgaXMgcHJpbnRlZCBhZnRl
ciBpdC4gIElmIHRoZSBwYXJlbnQgaXMgYQoJCW1lbWJlciBvZiBhIGN5Y2xlLCB0aGUgY3ljbGUg
bnVtYmVyIGlzIHByaW50ZWQgYmV0d2VlbgoJCXRoZSBuYW1lIGFuZCB0aGUgaW5kZXggbnVtYmVy
LgoKIElmIHRoZSBwYXJlbnRzIG9mIHRoZSBmdW5jdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwg
dGhlIHdvcmQKIGA8c3BvbnRhbmVvdXM+JyBpcyBwcmludGVkIGluIHRoZSBgbmFtZScgZmllbGQs
IGFuZCBhbGwgdGhlIG90aGVyCiBmaWVsZHMgYXJlIGJsYW5rLgoKIEZvciB0aGUgZnVuY3Rpb24n
cyBjaGlsZHJlbiwgdGhlIGZpZWxkcyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CgogICAg
IHNlbGYJVGhpcyBpcyB0aGUgYW1vdW50IG9mIHRpbWUgdGhhdCB3YXMgcHJvcGFnYXRlZCBkaXJl
Y3RseQoJCWZyb20gdGhlIGNoaWxkIGludG8gdGhlIGZ1bmN0aW9uLgoKICAgICBjaGlsZHJlbglU
aGlzIGlzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IHdhcyBwcm9wYWdhdGVkIGZyb20gdGhlCgkJ
Y2hpbGQncyBjaGlsZHJlbiB0byB0aGUgZnVuY3Rpb24uCgogICAgIGNhbGxlZAlUaGlzIGlzIHRo
ZSBudW1iZXIgb2YgdGltZXMgdGhlIGZ1bmN0aW9uIGNhbGxlZAoJCXRoaXMgY2hpbGQgYC8nIHRo
ZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGNoaWxkCgkJd2FzIGNhbGxlZC4gIFJlY3Vyc2l2
ZSBjYWxscyBieSB0aGUgY2hpbGQgYXJlIG5vdAoJCWxpc3RlZCBpbiB0aGUgbnVtYmVyIGFmdGVy
IHRoZSBgLycuCgogICAgIG5hbWUJVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgY2hpbGQuICBUaGUg
Y2hpbGQncyBpbmRleAoJCW51bWJlciBpcyBwcmludGVkIGFmdGVyIGl0LiAgSWYgdGhlIGNoaWxk
IGlzIGEKCQltZW1iZXIgb2YgYSBjeWNsZSwgdGhlIGN5Y2xlIG51bWJlciBpcyBwcmludGVkCgkJ
YmV0d2VlbiB0aGUgbmFtZSBhbmQgdGhlIGluZGV4IG51bWJlci4KCiBJZiB0aGVyZSBhcmUgYW55
IGN5Y2xlcyAoY2lyY2xlcykgaW4gdGhlIGNhbGwgZ3JhcGgsIHRoZXJlIGlzIGFuCiBlbnRyeSBm
b3IgdGhlIGN5Y2xlLWFzLWEtd2hvbGUuICBUaGlzIGVudHJ5IHNob3dzIHdobyBjYWxsZWQgdGhl
CiBjeWNsZSAoYXMgcGFyZW50cykgYW5kIHRoZSBtZW1iZXJzIG9mIHRoZSBjeWNsZSAoYXMgY2hp
bGRyZW4uKQogVGhlIGArJyByZWN1cnNpdmUgY2FsbHMgZW50cnkgc2hvd3MgdGhlIG51bWJlciBv
ZiBmdW5jdGlvbiBjYWxscyB0aGF0CiB3ZXJlIGludGVybmFsIHRvIHRoZSBjeWNsZSwgYW5kIHRo
ZSBjYWxscyBlbnRyeSBmb3IgZWFjaCBtZW1iZXIgc2hvd3MsCiBmb3IgdGhhdCBtZW1iZXIsIGhv
dyBtYW55IHRpbWVzIGl0IHdhcyBjYWxsZWQgZnJvbSBvdGhlciBtZW1iZXJzIG9mCiB0aGUgY3lj
bGUuCgoMCkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWUKCiAgWzE0XSBhZGRfZW52b3B0ICAgICAgICAg
ICAgIFsxOV0gZ2V0X2lzdGF0ICAgICAgICAgICAgICAgWzZdIGluZmxhdGVfZHluYW1pYwogIFsx
NV0gYmFzZW5hbWUgICAgICAgICAgICAgICBbMjBdIGdldF9tZXRob2QgICAgICAgICAgICAgIFsx
XSB0cmVhdF9maWxlCiAgWzE2XSBjbGVhcl9idWZzICAgICAgICAgICAgIFsxMF0gaHVmdF9idWls
ZCAgICAgICAgICAgICAgWzJdIHVuemlwCiAgWzE3XSBkb19leGl0ICAgICAgICAgICAgICAgIFsx
Ml0gaHVmdF9mcmVlICAgICAgICAgICAgICAgWzldIHVwZGNyYwogIFsxOF0gZG9fc3RhdCAgICAg
ICAgICAgICAgICAgWzRdIGluZmxhdGUgICAgICAgICAgICAgICAgWzExXSB3cml0ZV9idWYKICBb
MTNdIGZpbGxfaW5idWYgICAgICAgICAgICAgIFs1XSBpbmZsYXRlX2Jsb2NrCiAgIFs4XSBmbHVz
aF93aW5kb3cgICAgICAgICAgICBbN10gaW5mbGF0ZV9jb2Rlcwo=

------=_NextPart_000_0008_01BE656C.10BABF20--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019