delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/06/28/13:19:22

X-Spam-Check-By: sourceware.org
MIME-Version: 1.0
Subject: possible compiler optimization error
Date: Thu, 28 Jun 2007 13:18:40 -0400
Message-ID: <C6EEDB0EB45A56439F73B1D23E39694A35C7EC@USORL02P702.ww007.siemens.net>
From: "Frederich, Eric P21322" <eric DOT frederich AT siemens DOT com>
To: <cygwin AT cygwin DOT com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

------_=_NextPart_001_01C7B9A8.60375B64
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

On Windows I have found that a program I wrote fails when compiled with
-O1 and -O2 but runs fine with -O0.
The program behaves correctly on Linux and Solaris with or without
optimizations.

The place it starts behaving differently on Windows is where two numbers
(which should be equal) are failing a greater than or equal to (>=3D) if
statement, but on Solaris and Linux it passes.

My first thought was that this had to do with floating point
representation differences on the systems but it doesn't appear to be.
It appears to be a compiler error.

The first thing I did was start to print out an equality matrix of the
double array I was using.
I was expecting to find a difference in the equality matrices between
Linux/Solaris and Windows.
There was none.
This meant that two numbers which pass an equality (=3D=3D) check (for the
purposes of printing the matrix), later failed on a greater than or
equal to (>=3D) check which actually affected program flow.
I then created a corresponding else statement and did some more checking
of the two numbers and they then pass a greater than or equal to (>=3D)
check.

So, in summary two doubles pass on =3D=3D, then fail on >=3D, then pass =3D=
=3D,
>=3D, <=3D while never being modified.  Does this imply compiler error?

I have attached two files example.c and example.out which are just
excerpts from the code and output.
In example.c I have two versions of the function where the problem is
happening.  One is the original and one has all of the debugging fprintf
statements that produced the example.out.  Both versions have the same
bad behavior, I just wanted to include the clean one so you can see what
it is doing.

The function in example.c that is failing is called combineOverlaps
which just takes line sections (on a circle) and combines them if they
overlap into a bigger section.
A section is a simple structure with a double "from" and a double "to".
The equality matrix for the failing iteration (Lines 214 to 223 from
example.out) is...
  0 1 2 3
  ftftftft
0f=3D.......
 t.=3D=3D.=3D...
1f.=3D=3D.=3D...
 t...=3D.=3D=3D.
2f.=3D=3D.=3D...
 t...=3D.=3D=3D.
3f...=3D.=3D=3D.
 t.......=3D

This shows that section[0]'s "to" is equal to section[1]'s "from"
It actually passed twice since I'm printing the full matrix.

Lines 228 to 230 of example.out are being printed from else clause
(lines 129 to 136 in example.c) after it fails the >=3D check and shows
that afterwards it passes all those other equality checks.

Here is a summary of where it works and where it doesn't.

OS      Env         GCC     Options         Pass/Fail

Windows Msys/mingw  3.4.5   -O2             Fail

Windows Cygwin      3.4.4   -mno-cygwin -02 Fail
Windows Cygwin      3.4.4   -02             Fail
Windows Cygwin      4.1.1   -02             Fail

Windows Cygwin      3.4.4   -mno-cygwin -00 Pass
Windows Cygwin      3.4.4   -00             Pass
Windows Cygwin      4.1.1   -00             Pass

Linux               4.1.1   -02             Pass
Linux               3.4.6   -O2             Pass

Solaris             4.1.1   -02             Pass


It fails on Windows with any optimization in both 3.4.4 and 4.1.1, so it
is not just happening on one particular version of the compiler.

If a program compiled with -O0 has different output than the same
program compiled with -O1 or -O2, is that defiantly a compile error?
I do realize that it could be a combination of compiler optimizations
along with the platform's representation of floating point numbers, but
isn't that something the compiler should be aware of be careful about?

Any insight is appreciated.

Thanks,
~Eric

------_=_NextPart_001_01C7B9A8.60375B64
Content-Type: application/octet-stream;
	name="example.c"
Content-Transfer-Encoding: base64
Content-Description: example.c
Content-Disposition: attachment;
	filename="example.c"

Ly8gcmVsZXZhbnQgc3RydWN0dXJlcwoKLy8gIHNlY3Rpb25zIGV4aXN0IGZy
b20gImZyb20iIHRvICJ0byIgaW4gYSBDb3VudGVyLUNsb2Nrd2lzZSBtYW5u
ZXIKdHlwZWRlZiBzdHJ1Y3Qgc2VjdGlvbnsKICAgIGRvdWJsZSBmcm9tOyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vICBzdGFydCBhbmdsZQogICAgZG91
YmxlIHRvOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gIGVuZCAgIGFu
Z2xlCn0gc2VjdGlvbjsKCi8vIHJlbGV2YW50IGZ1bmN0aW9ucwoKLy8gcmV0
dXJucyBhbmd1bGFyIGRpc3RhbmNlIGZyb20gYTEgY291bnRlci1jbG9ja3dp
c2UgdG8gYTIKZG91YmxlIGdldERpc3RhbmNlKGRvdWJsZSBhMSwgZG91Ymxl
IGEyKXsKICAgIHJldHVybiBnZXRBbmdsZShnZXRBbmdsZShhMikgLSBnZXRB
bmdsZShhMSkpOwp9CgovLyBlbnN1cmVzIGFuZ2xlIGlzIGJldHdlZW4gMCBh
bmQgMzYwCmRvdWJsZSBnZXRBbmdsZShkb3VibGUgYSl7CiAgICB3aGlsZShh
IDwgMC4wKSAgICAgIGEgKz0gMzYwLjA7CiAgICB3aGlsZShhID49IDM2MC4w
KSAgICBhIC09IDM2MC4wOwogICAgcmV0dXJuIGE7Cn0KCi8vIHByb2JsZW0g
ZnVuY3Rpb24Kdm9pZCBjb21iaW5lT3ZlcmxhcHMoc2VjdGlvbiogc2VjdGlv
bnMsIGludCAqbnVtU2VjdGlvbnMpewoKICAgIGludCBzd2FwcGVkLGksajsK
ICAgIAogICAgLy8gY29tYmluZSBzZWN0aW9ucyB0aGF0IG92ZXJsYXAKICAg
IHN3YXBwZWQgPSAxOwogICAgd2hpbGUoc3dhcHBlZCl7CiAgICAgICAgc3dh
cHBlZCA9IDA7CiAgICAgICAgZm9yKGkgPSAwIDsgKGkgPCAqbnVtU2VjdGlv
bnMgJiYgc3dhcHBlZCA9PSAwKTsgaSsrKXsKICAgICAgICAgICAgZm9yKGog
PSAwIDsgKGogPCAqbnVtU2VjdGlvbnMgJiYgc3dhcHBlZCA9PSAwKTsgaisr
KXsKICAgICAgICAgICAgICAgIGlmKGkgIT0gail7CiAgICAgICAgICAgICAg
ICAgICAgaWYoZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbaV0uZnJvbSxzZWN0aW9u
c1tpXS50bykKICAgICAgICAgICAgICAgICAgICAgICA+PQogICAgICAgICAg
ICAgICAgICAgICAgIGdldERpc3RhbmNlKHNlY3Rpb25zW2ldLmZyb20sc2Vj
dGlvbnNbal0uZnJvbSkKICAgICAgICAgICAgICAgICAgICAgICl7CiAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGNvbWJpbmUgdGhlIHNlY3Rpb25zCiAg
ICAgICAgICAgICAgICAgICAgICAgIGlmKGdldERpc3RhbmNlKHNlY3Rpb25z
W2ldLmZyb20sIHNlY3Rpb25zW2ldLnRvKQogICAgICAgICAgICAgICAgICAg
ICAgICAgICA8CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERpc3Rh
bmNlKHNlY3Rpb25zW2ldLmZyb20sIHNlY3Rpb25zW2pdLnRvKSl7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbnNbaV0udG8gPSBz
ZWN0aW9uc1tqXS50bzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgICAgICAgICAvLyBnZXQgcmlkIG9mIGoKICAgICAg
ICAgICAgICAgICAgICAgICAgc2VjdGlvbnNbal0gPSBzZWN0aW9uc1sqbnVt
U2VjdGlvbnMgLSAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgKm51bVNl
Y3Rpb25zID0gKm51bVNlY3Rpb25zIC0gMTsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3dhcHBlZCA9IDE7CiAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9
CgovLyBwcm9ibGVtIGZ1bmN0aW9uIG1vZGlmaWVkIGZvciBkZWJ1Z2dpbmcK
Ly8gYmVzaWRlcyB0aGUgYWRkZWQgZnByaW50ZidzIEkgYWxzbyBjaGFuZ2Vk
IGl0IHNvCi8vIHRoYXQgdGhlIHR3byBvcGVyYW5kcyBvZiB0aGUgPj0gdGhh
dCBpcyBmYWlsaW5nCi8vIGFyZSBiZWluZyBzdG9yZWQgaW4gZG91YmxlcyBz
byB0aGF0IEkgY2FuIHByaW50Ci8vIHRoZW0gbGF0ZXIgd2l0aG91dCByZS1l
dmFsdWF0aW5nIHRoZW0uCnZvaWQgY29tYmluZU92ZXJsYXBzKHNlY3Rpb24q
IHNlY3Rpb25zLCBpbnQgKm51bVNlY3Rpb25zKXsKCiAgICBpbnQgc3dhcHBl
ZCxpLGo7CiAgICBkb3VibGUgZHRtcGEsIGR0bXBiLGR0bXBjOwogICAgCiAg
ICBmcHJpbnRmKHN0ZGVyciwiXG4iKTsKICAgIGZvcihpID0gMCA7IGkgPCAq
bnVtU2VjdGlvbnM7IGkrKyl7CiAgICAgICAgZnByaW50ZihzdGRlcnIsIlNl
Y3Rpb24gJTJkIDogJTEyZiAlMTJmXG4iLGksc2VjdGlvbnNbaV0uZnJvbSxz
ZWN0aW9uc1tpXS50byk7CiAgICB9CgogICAgLy8gY29tYmluZSBzZWN0aW9u
cyB0aGF0IG92ZXJsYXAKICAgIHN3YXBwZWQgPSAxOwogICAgd2hpbGUoc3dh
cHBlZCl7CiAgICAgICAgZnByaW50ZihzdGRlcnIsInN3YXBwZWQgaXMgdHJ1
ZVxuIik7CiAgICAgICAgZnByaW50ZihzdGRlcnIsIkVxdWFsaXR5IG1hdHJp
eC4uLlxuIik7CiAgICAgICAgLy8gaG9yaXpvbnRhbCBoZWFkZXIKICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwiICAiKTsKICAgICAgICBmb3IoaSA9IDAgOyBp
IDwgKm51bVNlY3Rpb25zOyBpKyspewogICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwiJTJkIixpKTsKICAgICAgICB9CiAgICAgICAgZnByaW50ZihzdGRl
cnIsIlxuICAgIik7CiAgICAgICAgZm9yKGkgPSAwIDsgaSA8ICpudW1TZWN0
aW9uczsgaSsrKXsKICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsImZ0Iik7
CiAgICAgICAgfQogICAgICAgIGZwcmludGYoc3RkZXJyLCJcbiIpOwogICAg
ICAgIAogICAgICAgIC8vIGJvZHkKICAgICAgICBmb3IoaSA9IDAgOyBpIDwg
Km51bVNlY3Rpb25zOyBpKyspewogICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwiJTJkZiIsaSk7CiAgICAgICAgICAgIGZvcihqID0gMCA7IGogPCAqbnVt
U2VjdGlvbnM7IGorKyl7CiAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwiJXMiLHNlY3Rpb25zW2ldLmZyb20gPT0gc2VjdGlvbnNbal0uZnJvbSA/
ICI9IiA6ICIuIik7CiAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwi
JXMiLHNlY3Rpb25zW2ldLmZyb20gPT0gc2VjdGlvbnNbal0udG8gICA/ICI9
IiA6ICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZnByaW50Zihz
dGRlcnIsIlxuIik7CiAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCIgIHQi
KTsKICAgICAgICAgICAgZm9yKGogPSAwIDsgaiA8ICpudW1TZWN0aW9uczsg
aisrKXsKICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCIlcyIsc2Vj
dGlvbnNbaV0udG8gICA9PSBzZWN0aW9uc1tqXS5mcm9tID8gIj0iIDogIi4i
KTsKICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCIlcyIsc2VjdGlv
bnNbaV0udG8gICA9PSBzZWN0aW9uc1tqXS50byAgID8gIj0iIDogIi4iKTsK
ICAgICAgICAgICAgfQogICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwiXG4i
KTsKICAgICAgICB9CiAgICAgICAgc3dhcHBlZCA9IDA7CiAgICAgICAgZm9y
KGkgPSAwIDsgKGkgPCAqbnVtU2VjdGlvbnMgJiYgc3dhcHBlZCA9PSAwKTsg
aSsrKXsKICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsImkgOiAlZFxuIixp
KTsKICAgICAgICAgICAgZm9yKGogPSAwIDsgKGogPCAqbnVtU2VjdGlvbnMg
JiYgc3dhcHBlZCA9PSAwKTsgaisrKXsKICAgICAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCJqIDogJWRcbiIsaik7CiAgICAgICAgICAgICAgICBpZihp
ICE9IGopewogICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCIl
ZCAhPSAlZFxuIixpLGopOwogICAgICAgICAgICAgICAgICAgIGR0bXBhID0g
Z2V0RGlzdGFuY2Uoc2VjdGlvbnNbaV0uZnJvbSxzZWN0aW9uc1tpXS50byk7
CiAgICAgICAgICAgICAgICAgICAgZHRtcGIgPSBnZXREaXN0YW5jZShzZWN0
aW9uc1tpXS5mcm9tLHNlY3Rpb25zW2pdLmZyb20pOwogICAgICAgICAgICAg
ICAgICAgIGlmKGR0bXBhCiAgICAgICAgICAgICAgICAgICAgICAgPj0KICAg
ICAgICAgICAgICAgICAgICAgICBkdG1wYgogICAgICAgICAgICAgICAgICAg
ICAgKXsKICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs
ImdldERpc3RhbmNlKHNlY3Rpb25zWyVkXS5mcm9tICglMjAuMTVmKSxzZWN0
aW9uc1slZF0udG8gICAoJTIwLjE1ZikpIC4uLiAoJTI1LjIwZilcbiIsaSxz
ZWN0aW9uc1tpXS5mcm9tLGksc2VjdGlvbnNbaV0udG8gICxkdG1wYSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCI+PVxuIik7
CiAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCJnZXRE
aXN0YW5jZShzZWN0aW9uc1slZF0uZnJvbSAoJTIwLjE1Ziksc2VjdGlvbnNb
JWRdLmZyb20gKCUyMC4xNWYpKSAuLi4gKCUyNS4yMGYpXG4iLGksc2VjdGlv
bnNbaV0uZnJvbSxqLHNlY3Rpb25zW2pdLmZyb20sZHRtcGIpOwogICAgICAg
ICAgICAgICAgICAgICAgICAvLyBjb21iaW5lIHRoZSBzZWN0aW9ucwogICAg
ICAgICAgICAgICAgICAgICAgICBpZihnZXREaXN0YW5jZShzZWN0aW9uc1tp
XS5mcm9tLCBzZWN0aW9uc1tpXS50bykKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPAogICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREaXN0YW5j
ZShzZWN0aW9uc1tpXS5mcm9tLCBzZWN0aW9uc1tqXS50bykpewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb25zW2ldLnRvID0gc2Vj
dGlvbnNbal0udG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gZ2V0IHJpZCBvZiBqCiAgICAgICAg
ICAgICAgICAgICAgICAgIHNlY3Rpb25zW2pdID0gc2VjdGlvbnNbKm51bVNl
Y3Rpb25zIC0gMV07CiAgICAgICAgICAgICAgICAgICAgICAgICpudW1TZWN0
aW9ucyA9ICpudW1TZWN0aW9ucyAtIDE7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHN3YXBwZWQgPSAxOwogICAgICAgICAgICAgICAgICAgIH1lbHNlewog
ICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwiZ2V0RGlz
dGFuY2Uoc2VjdGlvbnNbJWRdLmZyb20gKCUyMC4xNWYpLHNlY3Rpb25zWyVk
XS50byAgICglMjAuMTVmKSkgLi4uICglMjUuMjBmKVxuIixpLHNlY3Rpb25z
W2ldLmZyb20saSxzZWN0aW9uc1tpXS50byAgLGR0bXBhKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgaWYoZHRtcGEgPCAgZHRtcGIpIGZwcmludGYoc3Rk
ZXJyLCIoPCApICIpOwogICAgICAgICAgICAgICAgICAgICAgICBpZihkdG1w
YSA8PSBkdG1wYikgZnByaW50ZihzdGRlcnIsIig8PSkgIik7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmKGR0bXBhID4gIGR0bXBiKSBmcHJpbnRmKHN0
ZGVyciwiKD4gKSAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZHRt
cGEgPj0gZHRtcGIpIGZwcmludGYoc3RkZXJyLCIoVUggT0gpICIpOwogICAg
ICAgICAgICAgICAgICAgICAgICBpZihkdG1wYSA9PSBkdG1wYikgZnByaW50
ZihzdGRlcnIsIig9PSkgIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGZw
cmludGYoc3RkZXJyLCI8XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsImdldERpc3RhbmNlKHNlY3Rpb25zWyVkXS5mcm9t
ICglMjAuMTVmKSxzZWN0aW9uc1slZF0uZnJvbSAoJTIwLjE1ZikpIC4uLiAo
JTI1LjIwZilcbiIsaSxzZWN0aW9uc1tpXS5mcm9tLGosc2VjdGlvbnNbal0u
ZnJvbSxkdG1wYik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==

------_=_NextPart_001_01C7B9A8.60375B64
Content-Type: application/octet-stream;
	name="example.out"
Content-Transfer-Encoding: base64
Content-Description: example.out
Content-Disposition: attachment;
	filename="example.out"

U2VjdGlvbiAgMCA6ICAgMTA2LjUyMDY5MSAgIDIyMi43NzA2OTEKU2VjdGlv
biAgMSA6ICAgMjIyLjc3MDY5MSAgIDM1Ny4yMDAwMDAKU2VjdGlvbiAgMiA6
ICAgMjg2LjUyMDY5MSAgICAgNi4yODA5NzkKU2VjdGlvbiAgMyA6ICAgMzU3
LjIwMDAwMCAgICAxMS4wODMzNzIKU2VjdGlvbiAgNCA6ICAgIDI1Ljc4MTcw
MiAgICA0Mi43NzA2OTEKU2VjdGlvbiAgNSA6ICAgIDExLjA4MzM3MiAgICAy
MS4yODA5NzkKU2VjdGlvbiAgNiA6ICAgICA2LjI4MDk3OSAgICAxMS4wODMz
NzIKU2VjdGlvbiAgNyA6ICAgICA2LjI4MDk3OSAgICAxMS4wODMzNzIKU2Vj
dGlvbiAgOCA6ICAgIDIxLjI4MDk3OSAgICAyNS43ODE3MDIKU2VjdGlvbiAg
OSA6ICAgIDIxLjI4MDk3OSAgICAyNS43ODE3MDIKc3dhcHBlZCBpcyB0cnVl
CkVxdWFsaXR5IG1hdHJpeC4uLgogICAwIDEgMiAzIDQgNSA2IDcgOCA5CiAg
IGZ0ZnRmdGZ0ZnRmdGZ0ZnRmdGZ0CiAwZj0uLi4uLi4uLi4uLi4uLi4uLi4u
CiAgdC49PS4uLi4uLi4uLi4uLi4uLi4uCiAxZi49PS4uLi4uLi4uLi4uLi4u
Li4uCiAgdC4uLj0uLj0uLi4uLi4uLi4uLi4uCiAyZi4uLi49Li4uLi4uLi4u
Li4uLi4uCiAgdC4uLi4uPS4uLi4uLj0uPS4uLi4uCiAzZi4uLj0uLj0uLi4u
Li4uLi4uLi4uCiAgdC4uLi4uLi49Li49Li49Lj0uLi4uCiA0Zi4uLi4uLi4u
PS4uLi4uLi4uPS49CiAgdC4uLi4uLi4uLj0uLi4uLi4uLi4uCiA1Zi4uLi4u
Li49Li49Li49Lj0uLi4uCiAgdC4uLi4uLi4uLi4uPS4uLi49Lj0uCiA2Zi4u
Li4uPS4uLi4uLj0uPS4uLi4uCiAgdC4uLi4uLi49Li49Li49Lj0uLi4uCiA3
Zi4uLi4uPS4uLi4uLj0uPS4uLi4uCiAgdC4uLi4uLi49Li49Li49Lj0uLi4u
CiA4Zi4uLi4uLi4uLi4uPS4uLi49Lj0uCiAgdC4uLi4uLi4uPS4uLi4uLi4u
PS49CiA5Zi4uLi4uLi4uLi4uPS4uLi49Lj0uCiAgdC4uLi4uLi4uPS4uLi4u
Li4uPS49CmkgOiAwCmogOiAwCmogOiAxCjAgIT0gMQpnZXREaXN0YW5jZShz
ZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlv
bnNbMF0udG8gICAoIDIyMi43NzA2OTA5MTk5OTk5OTMpKSAuLi4gKCAxMTYu
MjUwMDAwMDAwMDAwMDAwMDAwMDApCj49CmdldERpc3RhbmNlKHNlY3Rpb25z
WzBdLmZyb20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1sxXS5m
cm9tICggMjIyLjc3MDY5MDkxOTk5OTk5MykpIC4uLiAoIDExNi4yNTAwMDAw
MDAwMDAwMDAwMDAwMCkKc3dhcHBlZCBpcyB0cnVlCkVxdWFsaXR5IG1hdHJp
eC4uLgogICAwIDEgMiAzIDQgNSA2IDcgOAogICBmdGZ0ZnRmdGZ0ZnRmdGZ0
ZnQKIDBmPS4uLi4uLi4uLi4uLi4uLi4uCiAgdC49Li4uLj0uLi4uLi4uLi4u
LgogMWYuLj0uLi4uLi4uLj0uLi4uPS4KICB0Li4uPS4uLi49Li4uLi4uLi49
CiAyZi4uLi49Li4uLi4uLi4uLi4uLgogIHQuLi4uLj0uLi4uLi49Lj0uLi4K
IDNmLj0uLi4uPS4uLi4uLi4uLi4uCiAgdC4uLi4uLi49Li49Li49Lj0uLgog
NGYuLi49Li4uLj0uLi4uLi4uLj0KICB0Li4uLi4uLi4uPS4uLi4uLi4uCiA1
Zi4uLi4uLi49Li49Li49Lj0uLgogIHQuLj0uLi4uLi4uLj0uLi4uPS4KIDZm
Li4uLi49Li4uLi4uPS49Li4uCiAgdC4uLi4uLi49Li49Li49Lj0uLgogN2Yu
Li4uLj0uLi4uLi49Lj0uLi4KICB0Li4uLi4uLj0uLj0uLj0uPS4uCiA4Zi4u
PS4uLi4uLi4uPS4uLi49LgogIHQuLi49Li4uLj0uLi4uLi4uLj0KaSA6IDAK
aiA6IDAKaiA6IDEKMCAhPSAxCmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZy
b20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICgg
MzU3LjE5OTk5OTk5OTk5OTk4OSkpIC4uLiAoIDI1MC42NzkzMDkwNzk5OTk5
OTU5MDE3NCkKKDwgKSAoPD0pIDwKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0u
ZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzFdLmZyb20g
KCAgMjEuMjgwOTc4NzgxMTAzNTM1KSkgLi4uICggMjc0Ljc2MDI4Nzg2MTEw
MzUwNjY1Njk1KQpqIDogMgowICE9IDIKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNb
MF0uZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzBdLnRv
ICAgKCAzNTcuMTk5OTk5OTk5OTk5OTg5KSkgLi4uICggMjUwLjY3OTMwOTA3
OTk5OTk5NTkwMTc0KQo+PQpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9t
ICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMl0uZnJvbSAoIDI4
Ni41MjA2OTA5MTk5OTk5OTMpKSAuLi4gKCAxODAuMDAwMDAwMDAwMDAwMDAw
MDAwMDApCnN3YXBwZWQgaXMgdHJ1ZQpFcXVhbGl0eSBtYXRyaXguLi4KICAg
MCAxIDIgMyA0IDUgNiA3CiAgIGZ0ZnRmdGZ0ZnRmdGZ0ZnQKIDBmPS4uLi4u
Li4uLi4uLi4uLgogIHQuPS4uLi4uLi4uLi49Lj0uCiAxZi4uPS49Li4uLi4u
PS4uLi4KICB0Li4uPS49Li49Li4uLi4uLgogMmYuLj0uPS4uLi4uLj0uLi4u
CiAgdC4uLj0uPS4uPS4uLi4uLi4KIDNmLi4uLi4uPS4uLi4uLi4uLgogIHQu
Li4uLi4uPS4uPS4uPS49CiA0Zi4uLj0uPS4uPS4uLi4uLi4KICB0Li4uLi4u
Li4uPS4uLi4uLgogNWYuLi4uLi4uPS4uPS4uPS49CiAgdC4uPS49Li4uLi4u
PS4uLi4KIDZmLj0uLi4uLi4uLi4uPS49LgogIHQuLi4uLi4uPS4uPS4uPS49
CiA3Zi49Li4uLi4uLi4uLj0uPS4KICB0Li4uLi4uLj0uLj0uLj0uPQppIDog
MApqIDogMApqIDogMQowICE9IDEKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0u
ZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzBdLnRvICAg
KCAgIDYuMjgwOTc4NzgxMTAzNTU2KSkgLi4uICggMjU5Ljc2MDI4Nzg2MTEw
MzU2MzUwMDM2KQooPCApICg8PSkgPApnZXREaXN0YW5jZShzZWN0aW9uc1sw
XS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMV0uZnJv
bSAoICAyMS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYwMjg3ODYx
MTAzNTA2NjU2OTUpCmogOiAyCjAgIT0gMgpnZXREaXN0YW5jZShzZWN0aW9u
c1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMF0u
dG8gICAoICAgNi4yODA5Nzg3ODExMDM1NTYpKSAuLi4gKCAyNTkuNzYwMjg3
ODYxMTAzNTYzNTAwMzYpCig8ICkgKDw9KSA8CmdldERpc3RhbmNlKHNlY3Rp
b25zWzBdLmZyb20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1sy
XS5mcm9tICggIDIxLjI4MDk3ODc4MTEwMzUzNSkpIC4uLiAoIDI3NC43NjAy
ODc4NjExMDM1MDY2NTY5NSkKaiA6IDMKMCAhPSAzCmdldERpc3RhbmNlKHNl
Y3Rpb25zWzBdLmZyb20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9u
c1swXS50byAgICggICA2LjI4MDk3ODc4MTEwMzU1NikpIC4uLiAoIDI1OS43
NjAyODc4NjExMDM1NjM1MDAzNikKPj0KZ2V0RGlzdGFuY2Uoc2VjdGlvbnNb
MF0uZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzNdLmZy
b20gKCAzNTcuMTk5OTk5OTk5OTk5OTg5KSkgLi4uICggMjUwLjY3OTMwOTA3
OTk5OTk5NTkwMTc0KQpzd2FwcGVkIGlzIHRydWUKRXF1YWxpdHkgbWF0cml4
Li4uCiAgIDAgMSAyIDMgNCA1IDYKICAgZnRmdGZ0ZnRmdGZ0ZnQKIDBmPS4u
Li4uLi4uLi4uLi4KICB0Lj0uLi4uLj0uLj0uLj0KIDFmLi49Lj0uLi4uLi49
Li4KICB0Li4uPS49Li49Li4uLi4KIDJmLi49Lj0uLi4uLi49Li4KICB0Li4u
PS49Li49Li4uLi4KIDNmLi4uLi4uPS4uLi4uPS4KICB0Lj0uLi4uLj0uLj0u
Lj0KIDRmLi4uPS49Li49Li4uLi4KICB0Li4uLi4uLi4uPS4uLi4KIDVmLj0u
Li4uLj0uLj0uLj0KICB0Li49Lj0uLi4uLi49Li4KIDZmLi4uLi4uPS4uLi4u
PS4KICB0Lj0uLi4uLj0uLj0uLj0KaSA6IDAKaiA6IDAKaiA6IDEKMCAhPSAx
CmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIwNjkwOTE5
OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICggIDExLjA4MzM3MTczMjU5NzYz
NykpIC4uLiAoIDI2NC41NjI2ODA4MTI1OTc2NDgxMjc4NSkKKDwgKSAoPD0p
IDwKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41MjA2OTA5
MTk5OTk5OTMpLHNlY3Rpb25zWzFdLmZyb20gKCAgMjEuMjgwOTc4NzgxMTAz
NTM1KSkgLi4uICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQpqIDogMgow
ICE9IDIKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41MjA2
OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzBdLnRvICAgKCAgMTEuMDgzMzcxNzMy
NTk3NjM3KSkgLi4uICggMjY0LjU2MjY4MDgxMjU5NzY0ODEyNzg1KQooPCAp
ICg8PSkgPApnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICggMTA2LjUy
MDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMl0uZnJvbSAoICAyMS4yODA5Nzg3
ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYwMjg3ODYxMTAzNTA2NjU2OTUpCmog
OiAzCjAgIT0gMwpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICggMTA2
LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMF0udG8gICAoICAxMS4wODMz
NzE3MzI1OTc2MzcpKSAuLi4gKCAyNjQuNTYyNjgwODEyNTk3NjQ4MTI3ODUp
Cj49CmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIwNjkw
OTE5OTk5OTkzKSxzZWN0aW9uc1szXS5mcm9tICggICA2LjI4MDk3ODc4MTEw
MzU1NikpIC4uLiAoIDI1OS43NjAyODc4NjExMDM1NjM1MDAzNikKc3dhcHBl
ZCBpcyB0cnVlCkVxdWFsaXR5IG1hdHJpeC4uLgogICAwIDEgMiAzIDQgNQog
ICBmdGZ0ZnRmdGZ0ZnQKIDBmPS4uLi4uLi4uLi4uCiAgdC49Li4uLi49Li49
LgogMWYuLj0uPS4uLi4uLj0KICB0Li4uPS49Li49Li4uCiAyZi4uPS49Li4u
Li4uPQogIHQuLi49Lj0uLj0uLi4KIDNmLi4uLi4uPS4uLi4uCiAgdC49Li4u
Li49Li49LgogNGYuLi49Lj0uLj0uLi4KICB0Li4uLi4uLi4uPS4uCiA1Zi49
Li4uLi49Li49LgogIHQuLj0uPS4uLi4uLj0KaSA6IDAKaiA6IDAKaiA6IDEK
MCAhPSAxCmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIw
NjkwOTE5OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICggIDExLjA4MzM3MTcz
MjU5NzYzNykpIC4uLiAoIDI2NC41NjI2ODA4MTI1OTc2NDgxMjc4NSkKKDwg
KSAoPD0pIDwKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41
MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzFdLmZyb20gKCAgMjEuMjgwOTc4
NzgxMTAzNTM1KSkgLi4uICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQpq
IDogMgowICE9IDIKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEw
Ni41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzBdLnRvICAgKCAgMTEuMDgz
MzcxNzMyNTk3NjM3KSkgLi4uICggMjY0LjU2MjY4MDgxMjU5NzY0ODEyNzg1
KQooPCApICg8PSkgPApnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICgg
MTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMl0uZnJvbSAoICAyMS4y
ODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYwMjg3ODYxMTAzNTA2NjU2
OTUpCmogOiAzCjAgIT0gMwpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9t
ICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMF0udG8gICAoICAx
MS4wODMzNzE3MzI1OTc2MzcpKSAuLi4gKCAyNjQuNTYyNjgwODEyNTk3NjQ4
MTI3ODUpCj49CmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYu
NTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1szXS5mcm9tICggICA2LjI4MDk3
ODc4MTEwMzU1NikpIC4uLiAoIDI1OS43NjAyODc4NjExMDM1NjM1MDAzNikK
c3dhcHBlZCBpcyB0cnVlCkVxdWFsaXR5IG1hdHJpeC4uLgogICAwIDEgMiAz
IDQKICAgZnRmdGZ0ZnRmdAogMGY9Li4uLi4uLi4uCiAgdC49Li4uLj0uLi4K
IDFmLi49Lj0uLj0uLgogIHQuLi49Lj0uLj0uCiAyZi4uPS49Li49Li4KICB0
Li4uPS49Li49LgogM2YuPS4uLi49Li4uCiAgdC4uPS49Li49Li4KIDRmLi4u
PS49Li49LgogIHQuLi4uLi4uLi49CmkgOiAwCmogOiAwCmogOiAxCjAgIT0g
MQpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkx
OTk5OTk5Myksc2VjdGlvbnNbMF0udG8gICAoICAxMS4wODMzNzE3MzI1OTc2
MzcpKSAuLi4gKCAyNjQuNTYyNjgwODEyNTk3NjQ4MTI3ODUpCig8ICkgKDw9
KSA8CmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIwNjkw
OTE5OTk5OTkzKSxzZWN0aW9uc1sxXS5mcm9tICggIDIxLjI4MDk3ODc4MTEw
MzUzNSkpIC4uLiAoIDI3NC43NjAyODc4NjExMDM1MDY2NTY5NSkKaiA6IDIK
MCAhPSAyCmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIw
NjkwOTE5OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICggIDExLjA4MzM3MTcz
MjU5NzYzNykpIC4uLiAoIDI2NC41NjI2ODA4MTI1OTc2NDgxMjc4NSkKKDwg
KSAoPD0pIDwKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41
MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzJdLmZyb20gKCAgMjEuMjgwOTc4
NzgxMTAzNTM1KSkgLi4uICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQpq
IDogMwowICE9IDMKZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEw
Ni41MjA2OTA5MTk5OTk5OTMpLHNlY3Rpb25zWzBdLnRvICAgKCAgMTEuMDgz
MzcxNzMyNTk3NjM3KSkgLi4uICggMjY0LjU2MjY4MDgxMjU5NzY0ODEyNzg1
KQo+PQpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5
MDkxOTk5OTk5Myksc2VjdGlvbnNbM10uZnJvbSAoICAxMS4wODMzNzE3MzI1
OTc2MzcpKSAuLi4gKCAyNjQuNTYyNjgwODEyNTk3NjQ4MTI3ODUpCnN3YXBw
ZWQgaXMgdHJ1ZQpFcXVhbGl0eSBtYXRyaXguLi4KICAgMCAxIDIgMwogICBm
dGZ0ZnRmdAogMGY9Li4uLi4uLgogIHQuPT0uPS4uLgogMWYuPT0uPS4uLgog
IHQuLi49Lj09LgogMmYuPT0uPS4uLgogIHQuLi49Lj09LgogM2YuLi49Lj09
LgogIHQuLi4uLi4uPQppIDogMApqIDogMApqIDogMQowICE9IDEKZ2V0RGlz
dGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMp
LHNlY3Rpb25zWzBdLnRvICAgKCAgMjEuMjgwOTc4NzgxMTAzNTM1KSkgLi4u
ICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQooPD0pIChVSCBPSCkgKD09
KSA8CmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIwNjkw
OTE5OTk5OTkzKSxzZWN0aW9uc1sxXS5mcm9tICggIDIxLjI4MDk3ODc4MTEw
MzUzNSkpIC4uLiAoIDI3NC43NjAyODc4NjExMDM1MDY2NTY5NSkKaiA6IDIK
MCAhPSAyCmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZyb20gKCAxMDYuNTIw
NjkwOTE5OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICggIDIxLjI4MDk3ODc4
MTEwMzUzNSkpIC4uLiAoIDI3NC43NjAyODc4NjExMDM1MDY2NTY5NSkKKDw9
KSAoVUggT0gpICg9PSkgPApnZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9t
ICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMl0uZnJvbSAoICAy
MS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYwMjg3ODYxMTAzNTA2
NjU2OTUpCmogOiAzCjAgIT0gMwpnZXREaXN0YW5jZShzZWN0aW9uc1swXS5m
cm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNbMF0udG8gICAo
ICAyMS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYwMjg3ODYxMTAz
NTA2NjU2OTUpCig8ICkgKDw9KSA8CmdldERpc3RhbmNlKHNlY3Rpb25zWzBd
LmZyb20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1szXS5mcm9t
ICggIDI1Ljc4MTcwMjAzMTQ5NDExMCkpIC4uLiAoIDI3OS4yNjEwMTExMTE0
OTQwOTkxNjgzNCkKaSA6IDEKaiA6IDAKMSAhPSAwCmdldERpc3RhbmNlKHNl
Y3Rpb25zWzFdLmZyb20gKCAgMjEuMjgwOTc4NzgxMTAzNTM1KSxzZWN0aW9u
c1sxXS50byAgICggIDI1Ljc4MTcwMjAzMTQ5NDExMCkpIC4uLiAoICAgNC41
MDA3MjMyNTAzOTA1NzQ3NDc4MykKKDwgKSAoPD0pIDwKZ2V0RGlzdGFuY2Uo
c2VjdGlvbnNbMV0uZnJvbSAoICAyMS4yODA5Nzg3ODExMDM1MzUpLHNlY3Rp
b25zWzBdLmZyb20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSkgLi4uICggIDg1
LjIzOTcxMjEzODg5NjQ2NDkyMTM0KQpqIDogMQpqIDogMgoxICE9IDIKZ2V0
RGlzdGFuY2Uoc2VjdGlvbnNbMV0uZnJvbSAoICAyMS4yODA5Nzg3ODExMDM1
MzUpLHNlY3Rpb25zWzFdLnRvICAgKCAgMjUuNzgxNzAyMDMxNDk0MTEwKSkg
Li4uICggICA0LjUwMDcyMzI1MDM5MDU3NDc0NzgzKQo+PQpnZXREaXN0YW5j
ZShzZWN0aW9uc1sxXS5mcm9tICggIDIxLjI4MDk3ODc4MTEwMzUzNSksc2Vj
dGlvbnNbMl0uZnJvbSAoICAyMS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAg
IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDApCnN3YXBwZWQgaXMgdHJ1ZQpFcXVh
bGl0eSBtYXRyaXguLi4KICAgMCAxIDIKICAgZnRmdGZ0CiAwZj0uLi4uLgog
IHQuPT0uLi4KIDFmLj09Li4uCiAgdC4uLj09LgogMmYuLi49PS4KICB0Li4u
Li49CmkgOiAwCmogOiAwCmogOiAxCjAgIT0gMQpnZXREaXN0YW5jZShzZWN0
aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNb
MF0udG8gICAoICAyMS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYw
Mjg3ODYxMTAzNTA2NjU2OTUpCig8PSkgKFVIIE9IKSAoPT0pIDwKZ2V0RGlz
dGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5OTMp
LHNlY3Rpb25zWzFdLmZyb20gKCAgMjEuMjgwOTc4NzgxMTAzNTM1KSkgLi4u
ICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQpqIDogMgowICE9IDIKZ2V0
RGlzdGFuY2Uoc2VjdGlvbnNbMF0uZnJvbSAoIDEwNi41MjA2OTA5MTk5OTk5
OTMpLHNlY3Rpb25zWzBdLnRvICAgKCAgMjEuMjgwOTc4NzgxMTAzNTM1KSkg
Li4uICggMjc0Ljc2MDI4Nzg2MTEwMzUwNjY1Njk1KQooPCApICg8PSkgPApn
ZXREaXN0YW5jZShzZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5
OTk5Myksc2VjdGlvbnNbMl0uZnJvbSAoICAyNS43ODE3MDIwMzE0OTQxMTAp
KSAuLi4gKCAyNzkuMjYxMDExMTExNDk0MDk5MTY4MzQpCmkgOiAxCmogOiAw
CjEgIT0gMApnZXREaXN0YW5jZShzZWN0aW9uc1sxXS5mcm9tICggIDIxLjI4
MDk3ODc4MTEwMzUzNSksc2VjdGlvbnNbMV0udG8gICAoICAyNS43ODE3MDIw
MzE0OTQxMTApKSAuLi4gKCAgIDQuNTAwNzIzMjUwMzkwNTc0NzQ3ODMpCig8
ICkgKDw9KSA8CmdldERpc3RhbmNlKHNlY3Rpb25zWzFdLmZyb20gKCAgMjEu
MjgwOTc4NzgxMTAzNTM1KSxzZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5
MDkxOTk5OTk5MykpIC4uLiAoICA4NS4yMzk3MTIxMzg4OTY0NjQ5MjEzNCkK
aiA6IDEKaiA6IDIKMSAhPSAyCmdldERpc3RhbmNlKHNlY3Rpb25zWzFdLmZy
b20gKCAgMjEuMjgwOTc4NzgxMTAzNTM1KSxzZWN0aW9uc1sxXS50byAgICgg
IDI1Ljc4MTcwMjAzMTQ5NDExMCkpIC4uLiAoICAgNC41MDA3MjMyNTAzOTA1
NzQ3NDc4MykKPj0KZ2V0RGlzdGFuY2Uoc2VjdGlvbnNbMV0uZnJvbSAoICAy
MS4yODA5Nzg3ODExMDM1MzUpLHNlY3Rpb25zWzJdLmZyb20gKCAgMjUuNzgx
NzAyMDMxNDk0MTEwKSkgLi4uICggICA0LjUwMDcyMzI1MDM5MDU3NDc0Nzgz
KQpzd2FwcGVkIGlzIHRydWUKRXF1YWxpdHkgbWF0cml4Li4uCiAgIDAgMQog
ICBmdGZ0CiAwZj0uLi4KICB0Lj09LgogMWYuPT0uCiAgdC4uLj0KaSA6IDAK
aiA6IDAKaiA6IDEKMCAhPSAxCmdldERpc3RhbmNlKHNlY3Rpb25zWzBdLmZy
b20gKCAxMDYuNTIwNjkwOTE5OTk5OTkzKSxzZWN0aW9uc1swXS50byAgICgg
IDIxLjI4MDk3ODc4MTEwMzUzNSkpIC4uLiAoIDI3NC43NjAyODc4NjExMDM1
MDY2NTY5NSkKKDw9KSAoVUggT0gpICg9PSkgPApnZXREaXN0YW5jZShzZWN0
aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5Myksc2VjdGlvbnNb
MV0uZnJvbSAoICAyMS4yODA5Nzg3ODExMDM1MzUpKSAuLi4gKCAyNzQuNzYw
Mjg3ODYxMTAzNTA2NjU2OTUpCmkgOiAxCmogOiAwCjEgIT0gMApnZXREaXN0
YW5jZShzZWN0aW9uc1sxXS5mcm9tICggIDIxLjI4MDk3ODc4MTEwMzUzNSks
c2VjdGlvbnNbMV0udG8gICAoICA0Mi43NzA2OTA5MTk5OTk5OTMpKSAuLi4g
KCAgMjEuNDg5NzEyMTM4ODk2NDU3ODE1OTIpCig8ICkgKDw9KSA8CmdldERp
c3RhbmNlKHNlY3Rpb25zWzFdLmZyb20gKCAgMjEuMjgwOTc4NzgxMTAzNTM1
KSxzZWN0aW9uc1swXS5mcm9tICggMTA2LjUyMDY5MDkxOTk5OTk5MykpIC4u
LiAoICA4NS4yMzk3MTIxMzg4OTY0NjQ5MjEzNCkKaiA6IDEK


------_=_NextPart_001_01C7B9A8.60375B64
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
------_=_NextPart_001_01C7B9A8.60375B64--

- Raw text -


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