From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/43: Sun compile error on line 446 of locale.cc (includes ctype.cc) Date: Sun, 19 Mar 2000 19:07:00 -0000 Message-id: <20000320030700.24582.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00030.html List-Id: The following reply was made to PR libstdc++/43; it has been noted by GNATS. From: Benjamin Kosnik To: kmcwhirter@magellan.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/43: Sun compile error on line 446 of locale.cc (includes ctype.cc) Date: Sun, 19 Mar 2000 18:57:31 -0800 (PST) this was fixed shortly after the 2.90.7 release. As we are within a week of a new release, I suggest you check out the candidates for the next shapshot: ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8pre2.tar.gz >>From bkoz@cygnus.com Mon Mar 20 11:57:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/43 Date: Mon, 20 Mar 2000 11:57:00 -0000 Message-id: <20000320195701.12735.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00031.html Content-length: 797 The following reply was made to PR libstdc++/43; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, kmcwhirter@magellan.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/43 Date: 20 Mar 2000 19:48:45 -0000 Synopsis: Sun compile error on line 446 of locale.cc (includes ctype.cc) Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 11:48:45 2000 Responsible-Changed-Why: replied to it State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 11:48:45 2000 State-Changed-Why: Fixed after release, fixed in new snapshots. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=43&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/42 Date: Mon, 20 Mar 2000 12:17:00 -0000 Message-id: <20000320201700.20597.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00032.html Content-length: 854 The following reply was made to PR libstdc++/42; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, mikes@nilenet.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/42 Date: 20 Mar 2000 20:11:49 -0000 Synopsis: vector<>::at() doesn't throw out_of_range Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:11:48 2000 Responsible-Changed-Why: bkoz State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:11:48 2000 State-Changed-Why: This is fixed in the upcoming 2.90.8 series. Please try ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8pre2.tar.gz http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=42&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/18 Date: Mon, 20 Mar 2000 12:17:00 -0000 Message-id: <20000320201701.20604.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00033.html Content-length: 761 The following reply was made to PR libstdc++/18; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, vladimir.kondratiev@intel.com Cc: Subject: Re: libstdc++/18 Date: 20 Mar 2000 20:16:42 -0000 Synopsis: 2.90.7 release announced but not uploaded to FTP server Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:16:42 2000 Responsible-Changed-Why: fixed State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:16:42 2000 State-Changed-Why: It's up now. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=18&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:27:00 2000 From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: Mon, 20 Mar 2000 12:27:00 -0000 Message-id: <20000320202701.25579.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00034.html Content-length: 852 The following reply was made to PR libstdc++/34; it has been noted by GNATS. From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr, jsk29@cornell.edu, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/34 Date: 20 Mar 2000 20:19:21 -0000 Synopsis: Segmentation fault when resizing a valarry. Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:19:21 2000 Responsible-Changed-Why: 26_numerics State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:19:21 2000 State-Changed-Why: this no longer seems to be a bug in the 2.0.8.x series. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=34&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:27:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/28 Date: Mon, 20 Mar 2000 12:27:00 -0000 Message-id: <20000320202701.25587.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00035.html Content-length: 916 The following reply was made to PR libstdc++/28; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, whall@primextrading.com Cc: Subject: Re: libstdc++/28 Date: 20 Mar 2000 20:21:32 -0000 Synopsis: solaris/bits/ctype_base.h incompatible with /usr/include/ctype.h, Solaris 7, SC5.0 Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:21:32 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:21:32 2000 State-Changed-Why: Have you tried the post-2.90.7 releases, specifically the 2.90.8.pre2 release? I believe this problem is fixed, and that this bug report can be closed. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=28&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/2 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203700.28740.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00039.html Content-length: 803 The following reply was made to PR libstdc++/2; it has been noted by GNATS. From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, rob@geonexuscorp.com Cc: Subject: Re: libstdc++/2 Date: 20 Mar 2000 20:29:46 -0000 Synopsis: valarray assignment operators don't resize Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:29:46 2000 Responsible-Changed-Why: 26_numerics. State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:29:46 2000 State-Changed-Why: See log http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=2&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/10 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203700.28735.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00038.html Content-length: 674 The following reply was made to PR libstdc++/10; it has been noted by GNATS. From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr, Roman.Kagan@itep.ru, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/10 Date: 20 Mar 2000 20:28:32 -0000 Synopsis: _Expr<>.sum() in bits/valarray_meta.h doesn't compile Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:28:32 2000 Responsible-Changed-Why: 26_numerics http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=10&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/16 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203700.28732.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00036.html Content-length: 831 The following reply was made to PR libstdc++/16; it has been noted by GNATS. From: bkoz@cygnus.com To: Chad_Gibbons@bmc.com, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/16 Date: 20 Mar 2000 20:27:26 -0000 Synopsis: ios initialization bug Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:27:26 2000 Responsible-Changed-Why: have been dealing with this State-Changed-From-To: open->analyzed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:27:26 2000 State-Changed-Why: Chad, what is the status with this bug and the current CVS snapshots, in particular the 2.90.8.pre2 series? http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=16&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/9 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203701.28761.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00037.html Content-length: 604 The following reply was made to PR libstdc++/9; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, mjollnir@citysearch.com Cc: Subject: Re: libstdc++/9 Date: 20 Mar 2000 20:31:31 -0000 Synopsis: libstdc++.2.9.0.6 does NOT build on Solaris2.6 with gcc2.95 or native CC State-Changed-From-To: feedback->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:31:31 2000 State-Changed-Why: Fixed with upcoming 2.90.8 series. No feedback http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=9&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/7 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203701.28809.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00040.html Content-length: 855 The following reply was made to PR libstdc++/7; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, tphillips@iee.org Cc: Subject: Re: libstdc++/7 Date: 20 Mar 2000 20:35:31 -0000 Synopsis: Build fails on Intel/Solaris 2.7 Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:35:31 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:35:31 2000 State-Changed-Why: Can you test this with the 2.90.8pre2 tarball up on sourceware please? I do not have access to a an intel/solarix box thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=7&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/3 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203701.28831.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00042.html Content-length: 662 The following reply was made to PR libstdc++/3; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, bmosher@csc.com, libstdc++-gnats@sourceware.cygnus.com Cc: Subject: Re: libstdc++/3 Date: 20 Mar 2000 20:36:59 -0000 Synopsis: Segmentation Faults in substr() and string() State-Changed-From-To: feedback->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:36:59 2000 State-Changed-Why: Did not get feedback. In addition, gcc-2.95 is a prerequisite. Please try the 2.90.8.pre2 release on sourceware and see if this is still a bug http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=3&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/35 Date: Mon, 20 Mar 2000 12:37:00 -0000 Message-id: <20000320203701.28777.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00041.html Content-length: 891 The following reply was made to PR libstdc++/35; it has been noted by GNATS. From: bkoz@cygnus.com To: amc@to.gd-es.com, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/35 Date: 20 Mar 2000 20:34:03 -0000 Synopsis: make error for Digital Unix 4.0D Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:34:03 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:34:03 2000 State-Changed-Why: I don't have access to any digital unix systems. Can you test with the 2.90.8.pre2.tar.gz file up on the libstdc++ site and see if this is still a bug? thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=35&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/13 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204701.1794.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00048.html Content-length: 814 The following reply was made to PR libstdc++/13; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, michaelv@edifecs.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/13 Date: 20 Mar 2000 20:44:07 -0000 Synopsis: make install does not work on Solaris 2.6 Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:44:07 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:44:07 2000 State-Changed-Why: Are you able to reproduce this problem with the 2.90.8 release candidates? benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=13&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/12 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204701.1766.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00047.html Content-length: 800 The following reply was made to PR libstdc++/12; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, michaelv@edifecs.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/12 Date: 20 Mar 2000 20:43:11 -0000 Synopsis: libstdc++ 2.90.6 doesn't build on FreeBSD 3.1 Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:43:11 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:43:11 2000 State-Changed-Why: Can you please try the pre-2.90.8 releases? thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=12&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/11 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204700.1756.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00046.html Content-length: 903 The following reply was made to PR libstdc++/11; it has been noted by GNATS. From: bkoz@cygnus.com To: aschmidt@lynet.de, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/11 Date: 20 Mar 2000 20:41:59 -0000 Synopsis: invalid type for default argument Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Mon Mar 20 12:41:59 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:41:59 2000 State-Changed-Why: Awaiting feedback. Also, please use current sources when giving more info about this bug. The current sources can be found on sourceware.cygnus.com/pub/libstdc++ thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=11&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/5 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204700.1733.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00045.html Content-length: 543 The following reply was made to PR libstdc++/5; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, hob@scali.com, libstdc++-gnats@sourceware.cygnus.com Cc: Subject: Re: libstdc++/5 Date: 20 Mar 2000 20:38:46 -0000 Synopsis: libstdc++ is not transparent to -malign-double egcs switch State-Changed-From-To: feedback->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:38:46 2000 State-Changed-Why: No response http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=5&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/4 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204700.1726.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00043.html Content-length: 511 The following reply was made to PR libstdc++/4; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, jihem@math.ucdavis.edu, libstdc++-gnats@sourceware.cygnus.com Cc: Subject: Re: libstdc++/4 Date: 20 Mar 2000 20:37:44 -0000 Synopsis: Floats in std_cmath.h State-Changed-From-To: feedback->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:37:44 2000 State-Changed-Why: Fixed http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=4&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 12:47:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/8 Date: Mon, 20 Mar 2000 12:47:00 -0000 Message-id: <20000320204700.1740.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00044.html Content-length: 542 The following reply was made to PR libstdc++/8; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, dek@cgl.ucsf.edu, libstdc++-gnats@sourceware.cygnus.com Cc: Subject: Re: libstdc++/8 Date: 20 Mar 2000 20:39:40 -0000 Synopsis: writing large strings to an ofstream causes stream to go bad State-Changed-From-To: feedback->closed State-Changed-By: bkoz State-Changed-When: Mon Mar 20 12:39:40 2000 State-Changed-Why: Fixed http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=8&database=libstdc++ >>From bkoz@cygnus.com Mon Mar 20 13:07:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: RE: libstdc++/16 Date: Mon, 20 Mar 2000 13:07:00 -0000 Message-id: <20000320210700.9935.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00049.html Content-length: 1212 The following reply was made to PR libstdc++/16; it has been noted by GNATS. From: Benjamin Kosnik To: "Gibbons, Chad" Cc: libstdc++-gnats@sourceware.cygnus.com Subject: RE: libstdc++/16 Date: Mon, 20 Mar 2000 12:57:48 -0800 (PST) I guess you have not convinced me that it is a bug, unless I can reproduce it. Furthermore, I believe keeping that initializer in the header is necessary to conform to c++ static initializer rules. I have, however, run across some weird solaris initializer problems when I was fixing other parts of the library. First off, you need to use GNU ld. Second, it looks like g++ on solaris is putting stuff into .bss instead of .data: http://gcc.gnu.org/ml/gcc-bugs/2000-03/msg00274.html Unfortunately, you'll need to come up with a testcase before this can go much further. -benjamin > A quick look at today's CVS archives shows the code with the bug hasn't been > modified. > > The problem only manifests itself in very large projects, so it's difficult > to reproduce. I have a patch available, but I don't think anyone was > comfortable with the change unless there is a small test case to reproduce > it. >>From bkoz@cygnus.com Mon Mar 20 16:17:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: RE: libstdc++/16 Date: Mon, 20 Mar 2000 16:17:00 -0000 Message-id: <20000321001700.24778.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00050.html Content-length: 1666 The following reply was made to PR libstdc++/16; it has been noted by GNATS. From: Benjamin Kosnik To: "Gibbons, Chad" Cc: libstdc++-gnats@sourceware.cygnus.com Subject: RE: libstdc++/16 Date: Mon, 20 Mar 2000 16:16:48 -0800 (PST) > Yes, I agree a testcase would be extremely useful on this one. :) Yep. I'll close it in a bit if I don't have something to reproduce it with. > The only thing I can really say without producing a test case is to look at > what *can* happen: > 1) some code includes iostream.h, which causes the ios_base::Init __ioinit > object to be created in that module. That object initializes the file > buffers used by all the standard I/O objects. Yes. Due to c++ static init rules, objects are initialized in a first-seen first-initialized order. Therefore, iostream should be included before user-code that also has static initializers. > 2) because order of initialization isn't guaranteed, that code's module is > initialized by the linker before the creation of cout, cerr, etc. ? look at ios_base::Init::Init in src/ios.cc: you'll see that elaborate steps are taken to only initialize once. > 3) when cout, cerr, etc. actually do initialize, they reset the buffers > created in step 1) and the streams are fubared. seems unlikely. > I'll make sure this happens on a non-Solaris platform to make sure it wasn't > a Solaris specific gcc/ld problem. Beyond that, though, I'm not sure I can > do too much. I'd probably then just file this as "something to keep an eye > out for." I'll keep in the back of my head going forward. Thanks, benjamin >>From bkoz@spitfire.cygnus.com Mon Mar 20 20:07:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/8 Date: Mon, 20 Mar 2000 20:07:00 -0000 Message-id: <20000321040701.4249.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00051.html Content-length: 1223 The following reply was made to PR libstdc++/8; it has been noted by GNATS. From: Benjamin Kosnik To: David Konerding Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/8 Date: Mon, 20 Mar 2000 20:00:25 -0800 (PST) > Got a question for ya- we are trying to compile libstdc++ cvs on our > Alpha (Tru64/Digital Unix 5.0). There is a problem with complex math, > since the cygnus libstdc++ does not put complex math headers in the > std namespace. This is interfering with the complex math stuff > in math.h. I never had any problems under Linux, we've only noticed > this on the Alpha. Any ideas on what we woudl need to do (other than making > sure complex math went into namespace std?) David. Have you tried a new snapshot (2.90.8.pre2) and --enable-namespaces? Please read the install/configure docs on the web: they now explain how to enable namespaces. (bits/std_complex.h does put complex into std::) namespace std { // Forward declarations template class complex; template<> class complex; template<> class complex; template<> class complex; --benjamin >>From bkoz@cygnus.com Tue Mar 21 00:07:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/14 Date: Tue, 21 Mar 2000 00:07:00 -0000 Message-id: <20000321080700.12051.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00052.html Content-length: 728 The following reply was made to PR libstdc++/14; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, michaelv@edifecs.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/14 Date: 21 Mar 2000 08:04:07 -0000 Synopsis: Cannot link if std::stringstream is used Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:04:07 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:04:07 2000 State-Changed-Why: per request http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=14&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/23 Date: Tue, 21 Mar 2000 00:17:00 -0000 Message-id: <20000321081700.13400.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00056.html Content-length: 1032 The following reply was made to PR libstdc++/23; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, mooney@dogbert.cc.ndsu.nodak.edu, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/23 Date: 21 Mar 2000 08:12:50 -0000 Synopsis: alpha-dec-osf4.0f: math/mycabsf.c "hard register" compile failure Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:12:50 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:12:50 2000 State-Changed-Why: I too had been seeing this with 2.95.2. This has nothing to do with the library, but instead has to do with the particular backend's support for complex numbers. Richard Henderson has fixed the alpha backend in the CVS gcc sources. I suggest you try that. -benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=23&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/21 Date: Tue, 21 Mar 2000 00:17:00 -0000 Message-id: <20000321081700.13413.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00054.html Content-length: 944 The following reply was made to PR libstdc++/21; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, dirk_aust@gmx.de, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/21 Date: 21 Mar 2000 08:15:28 -0000 Synopsis: libstdc++ Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:15:28 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:15:28 2000 State-Changed-Why: Hi Dirk. Have you been able to reproduce this problem with the CVS sources or the 2.90.8pre2 tarball up on sourceware? If so, can you send me detailed information as to how you configure and set up the source/build directories? thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=21&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/25 Date: Tue, 21 Mar 2000 00:17:00 -0000 Message-id: <20000321081700.13394.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00055.html Content-length: 884 The following reply was made to PR libstdc++/25; it has been noted by GNATS. From: bkoz@cygnus.com To: Nicholas.Walker@desy.de, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/25 Date: 21 Mar 2000 08:10:29 -0000 Synopsis: all (istream) input causes segmentation fault Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:10:29 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:10:29 2000 State-Changed-Why: This is fixed in the upcoming release. If you'd like to try it, please try 2.90.8.pre2 on sourceware's libstdc++ ftp site. thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=25&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/27 Date: Tue, 21 Mar 2000 00:17:00 -0000 Message-id: <20000321081700.13391.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00053.html Content-length: 762 The following reply was made to PR libstdc++/27; it has been noted by GNATS. From: bkoz@cygnus.com To: arysin@yahoo.com, bkoz@cygnus.com, bothner@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/27 Date: 21 Mar 2000 08:07:39 -0000 Synopsis: 'mode' argument in fstream/ofstream constructor Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:07:39 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:07:39 2000 State-Changed-Why: Fixed, see 2.90.8.pre2 http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=27&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/20 Date: Tue, 21 Mar 2000 00:17:00 -0000 Message-id: <20000321081701.13425.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00057.html Content-length: 746 The following reply was made to PR libstdc++/20; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, vakatov@ncbi.nlm.nih.gov Cc: Subject: Re: libstdc++/20 Date: 21 Mar 2000 08:16:09 -0000 Synopsis: basic_[io]stringstream::str() - extra "return" in void func? Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:16:09 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:16:09 2000 State-Changed-Why: fixed http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=20&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:27:00 2000 From: bkoz@cygnus.com To: ncm@zembu.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/36 Date: Tue, 21 Mar 2000 00:27:00 -0000 Message-id: <20000321082701.14520.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00059.html Content-length: 849 The following reply was made to PR libstdc++/36; it has been noted by GNATS. From: bkoz@cygnus.com To: libstdc++-gnats@sourceware.cygnus.com, ncm@zembu.com, nobody@sourceware.cygnus.com, ori@extent.com, yl@extent.com Cc: Subject: Re: libstdc++/36 Date: 21 Mar 2000 08:24:29 -0000 Synopsis: A bug in STRING Responsible-Changed-From-To: unassigned->ncm Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:24:29 2000 Responsible-Changed-Why: strings are for you... State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:24:29 2000 State-Changed-Why: The libstdc++-v3 string implementation is now re-entrant. If you use 2.90.8.pre2 and later, you will find a MT safe solution. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=36&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:27:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/17 Date: Tue, 21 Mar 2000 00:27:00 -0000 Message-id: <20000321082700.14487.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00058.html Content-length: 847 The following reply was made to PR libstdc++/17; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, pbd@op.net Cc: Subject: Re: libstdc++/17 Date: 21 Mar 2000 08:17:48 -0000 Synopsis: cout is not a real ostream; dynamic_cast SEGV's as a result Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:17:48 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:17:48 2000 State-Changed-Why: Please try to use libstdc++-v3. You can find more information about it here: sourceware.cygnus.com/libstdc++ http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=17&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:27:00 2000 From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/19 Date: Tue, 21 Mar 2000 00:27:00 -0000 Message-id: <20000321082700.14490.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00060.html Content-length: 752 The following reply was made to PR libstdc++/19; it has been noted by GNATS. From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, tomoaki@biol.s.u-tokyo.ac.jp Cc: Subject: Re: libstdc++/19 Date: 21 Mar 2000 08:21:10 -0000 Synopsis: _T name colision to ctype.h in FreeBSD Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:21:10 2000 Responsible-Changed-Why: Looks like this is still a bug. It's pretty harmless to make this change, so we might as well.. http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=19&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:27:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/33 Date: Tue, 21 Mar 2000 00:27:00 -0000 Message-id: <20000321082700.14506.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00061.html Content-length: 869 The following reply was made to PR libstdc++/33; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, jeremy.day@perth.wni.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/33 Date: 21 Mar 2000 08:22:44 -0000 Synopsis: Is supported in particular stringstream? Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:22:44 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:22:44 2000 State-Changed-Why: Please use libstdc++-v3, which does include See sourceware.cygnus.com/libstdc++ for more info http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=33&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/32 Date: Tue, 21 Mar 2000 00:37:00 -0000 Message-id: <20000321083700.17289.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00064.html Content-length: 1032 The following reply was made to PR libstdc++/32; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, steffend@lamar.colostate.edu Cc: Subject: Re: libstdc++/32 Date: 21 Mar 2000 08:31:23 -0000 Synopsis: Install of libstdc++-2.90.7 fails; no header files copied Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:31:23 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->analyzed State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:31:23 2000 State-Changed-Why: Hi. I've not seen anything like this: can you try using the pre-release snapshot, 2.90.8.pre2? In particular, can you let me know what pathnames you are using for the builddir, sourcedir, and installdir, as per the libstdc++ installation guide? thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=32&database=libstdc++ >>From bkoz@cygnus.com Tue Mar 21 00:37:00 2000 From: bkoz@cygnus.com To: ncm@zembu.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/29 Date: Tue, 21 Mar 2000 00:37:00 -0000 Message-id: <20000321083700.17272.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00062.html Content-length: 933 The following reply was made to PR libstdc++/29; it has been noted by GNATS. From: bkoz@cygnus.com To: libstdc++-gnats@sourceware.cygnus.com, ncm@zembu.com, nobody@sourceware.cygnus.com, rbsmithz@prodigy.net Cc: Subject: Re: libstdc++/29 Date: 21 Mar 2000 08:27:20 -0000 Synopsis: seg fault in global basic_string construction Responsible-Changed-From-To: unassigned->ncm Responsible-Changed-By: bkoz Responsible-Changed-When: Tue Mar 21 00:27:20 2000 Responsible-Changed-Why: strings State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Tue Mar 21 00:27:20 2000 State-Changed-Why: This bug tracking database is for the libstdc++-v3 project: you are using libstdc++-v2. If you'd like to use libstdc++-v3, please see sourceware.cygnus.com/libstdc++ thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=29&database=libstdc++ >>From Gabriel.Dos-Reis@cmla.ens-cachan.fr Tue Mar 21 00:37:00 2000 From: Gabriel Dos Reis To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: Tue, 21 Mar 2000 00:37:00 -0000 Message-id: <20000321083700.17278.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00063.html Content-length: 1460 The following reply was made to PR libstdc++/34; it has been noted by GNATS. From: Gabriel Dos Reis To: bkoz@cygnus.com Cc: gdr@sourceware.cygnus.com, libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: 21 Mar 2000 09:20:26 +0100 [ Oops, this bounced ] Hi Benjamin, I saw you're doing a great job the the bug reports. Thanks a lot. bkoz@cygnus.com writes: | The following reply was made to PR libstdc++/34; it has been noted by GNATS. | | From: bkoz@cygnus.com | To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, | Dos-Reis@cmla.ens-cachan.fr, jsk29@cornell.edu, | libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com | Cc: | Subject: Re: libstdc++/34 | Date: 20 Mar 2000 20:19:21 -0000 | | Synopsis: Segmentation fault when resizing a valarry. | | Responsible-Changed-From-To: unassigned->gdr | Responsible-Changed-By: bkoz | Responsible-Changed-When: Mon Mar 20 12:19:21 2000 | Responsible-Changed-Why: | 26_numerics | State-Changed-From-To: open->feedback | State-Changed-By: bkoz | State-Changed-When: Mon Mar 20 12:19:21 2000 | State-Changed-Why: | this no longer seems to be a bug in the 2.0.8.x series. Yes, the recent changes in valarray were designed specifically to allow reasonable behaviour when resizing valarrays on some types. I know testsuites arre missing though. Thanks, -- Gaby >>From bkoz@cygnus.com Tue Mar 21 00:47:00 2000 From: Benjamin Kosnik To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: Tue, 21 Mar 2000 00:47:00 -0000 Message-id: <20000321084700.19028.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00065.html Content-length: 507 The following reply was made to PR libstdc++/34; it has been noted by GNATS. From: Benjamin Kosnik To: Gabriel Dos Reis Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: Tue, 21 Mar 2000 00:38:48 -0800 (PST) hey gaby! yeah, most of the bugs are crusty and don't apply. I think you have 3 numerics ones assigned, but only one that is still applicable. (that woud be changing _T to _Tp in slice-array.h) -benjamin >>From Gabriel.Dos-Reis@cmla.ens-cachan.fr Tue Mar 21 01:07:00 2000 From: Gabriel Dos Reis To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: Tue, 21 Mar 2000 01:07:00 -0000 Message-id: <20000321090700.25982.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00066.html Content-length: 945 The following reply was made to PR libstdc++/34; it has been noted by GNATS. From: Gabriel Dos Reis To: Benjamin Kosnik Cc: Gabriel Dos Reis , libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/34 Date: 21 Mar 2000 10:01:41 +0100 Benjamin Kosnik writes: | hey gaby! | | yeah, most of the bugs are crusty and don't apply. I think you have 3 | numerics ones assigned, but only one that is still applicable. (that woud | be changing _T to _Tp in slice-array.h) Thank you. I went through the *_array.h files and discovered, the same change was needed in mask_array.h as well. Fixed with this 2000-03-21 Gabriel Dos Reis * bits/slice_array.h: Rename generic type template parameter name '_T' to '_Tp'. * bits/mask_array.h: Ditto -- Gaby >>From bkoz@cygnus.com Wed Mar 22 00:17:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 00:17:00 -0000 Message-id: <20000322081700.30676.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00067.html Content-length: 979 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, jbednar@cs.utexas.edu, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/39 Date: 22 Mar 2000 08:13:08 -0000 Synopsis: allocator::address declared twice Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Wed Mar 22 00:13:08 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Wed Mar 22 00:13:08 2000 State-Changed-Why: You're not using the v-3 headers, instead you are picking up the v-2 headers from your compiler install. You can tell this from your include path: include/g++-3 instead of include/g++-v3 go horns! benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=39&database=libstdc++ >>From bkoz@cygnus.com Wed Mar 22 00:27:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/38 Date: Wed, 22 Mar 2000 00:27:00 -0000 Message-id: <20000322082700.31650.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00068.html Content-length: 1003 The following reply was made to PR libstdc++/38; it has been noted by GNATS. From: bkoz@cygnus.com To: badger@prtr-13.ucsc.edu, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/38 Date: 22 Mar 2000 08:22:30 -0000 Synopsis: Bug in global map variables Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Wed Mar 22 00:22:29 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->analyzed State-Changed-By: bkoz State-Changed-When: Wed Mar 22 00:22:29 2000 State-Changed-Why: This example program is pretty huge. Can you please narrow this down to a short short, small, mini, tiny example that will fit into one file, and provide relevant comments in your bug report as to what output you are expecting, what output you are getting, etc? thanks, benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=38&database=libstdc++ >>From bkoz@cygnus.com Wed Mar 22 00:27:00 2000 From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/19 Date: Wed, 22 Mar 2000 00:27:00 -0000 Message-id: <20000322082700.31655.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00069.html Content-length: 625 The following reply was made to PR libstdc++/19; it has been noted by GNATS. From: bkoz@cygnus.com To: Gabriel@sourceware.cygnus.com, dot@sourceware.cygnus.com, Dos-Reis@cmla.ens-cachan.fr, libstdc++-gnats@sourceware.cygnus.com, tomoaki@biol.s.u-tokyo.ac.jp Cc: Subject: Re: libstdc++/19 Date: 22 Mar 2000 08:23:16 -0000 Synopsis: _T name colision to ctype.h in FreeBSD State-Changed-From-To: open->closed State-Changed-By: bkoz State-Changed-When: Wed Mar 22 00:23:16 2000 State-Changed-Why: Gaby fixed this yesterday http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=19&database=libstdc++ >>From bkoz@cygnus.com Wed Mar 22 00:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/30 Date: Wed, 22 Mar 2000 00:37:00 -0000 Message-id: <20000322083700.32638.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00071.html Content-length: 864 The following reply was made to PR libstdc++/30; it has been noted by GNATS. From: bkoz@cygnus.com To: bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, michael.reed@ft.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/30 Date: 22 Mar 2000 08:32:23 -0000 Synopsis: SUN 32bit apps using 64bit file offsets Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Wed Mar 22 00:32:23 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->feedback State-Changed-By: bkoz State-Changed-When: Wed Mar 22 00:32:23 2000 State-Changed-Why: Michael: Are you using libstdc++-v3? Or is this in reference to libstdc++-v2, which comes with gcc-2.95.2... ?? benjamin http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=30&database=libstdc++ >>From bkoz@cygnus.com Wed Mar 22 00:37:00 2000 From: bkoz@cygnus.com To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/40 Date: Wed, 22 Mar 2000 00:37:00 -0000 Message-id: <20000322083700.32633.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00070.html Content-length: 771 The following reply was made to PR libstdc++/40; it has been noted by GNATS. From: bkoz@cygnus.com To: anders@ieee.org, bkoz@cygnus.com, libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Cc: Subject: Re: libstdc++/40 Date: 22 Mar 2000 08:30:10 -0000 Synopsis: bitset::operator<<= and >>= incorrect for multiples of 32 Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-By: bkoz Responsible-Changed-When: Wed Mar 22 00:30:10 2000 Responsible-Changed-Why: mine State-Changed-From-To: open->analyzed State-Changed-By: bkoz State-Changed-When: Wed Mar 22 00:30:10 2000 State-Changed-Why: Can you please send in a patch for this? http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=40&database=libstdc++ >>From jbednar@cs.utexas.edu Wed Mar 22 10:57:00 2000 From: "James A. Bednar" To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 10:57:00 -0000 Message-id: <20000322185700.17159.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00072.html Content-length: 2113 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: "James A. Bednar" To: bkoz@cygnus.com Cc: libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 12:50:11 -0600 (CST) | Date: 22 Mar 2000 08:13:08 -0000 | From: bkoz@cygnus.com | | Synopsis: allocator::address declared twice | | Responsible-Changed-From-To: unassigned->bkoz | Responsible-Changed-By: bkoz | Responsible-Changed-When: Wed Mar 22 00:13:08 2000 | Responsible-Changed-Why: mine | State-Changed-From-To: open->feedback | State-Changed-By: bkoz | State-Changed-When: Wed Mar 22 00:13:08 2000 | State-Changed-Why: | You're not using the v-3 headers, instead you are picking up the v-2 headers from your compiler install. | | You can tell this from your include path: | | include/g++-3 | | instead of | | include/g++-v3 | | go horns! :-) | benjamin I'm not sure what you mean. The v3 headers were indeed located in /usr/include/g++-3: pale:~> rpm -qlp /p/arc/gcc-c++-2.95.1-3.i386.rpm | grep vector /usr/include/g++-3/bvector.h /usr/include/g++-3/stl_bvector.h /usr/include/g++-3/stl_vector.h /usr/include/g++-3/vector /usr/include/g++-3/vector.h On some of my systems there are v-2 headers are in /usr/include/g++-2 or /usr/include/g++, depending on the compiler version, but none have an include/g++-v3 directory. | http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&pr=39&database=libstdc++ By the way, this link didn't work properly in my copy of Netscape 4.7. After typing password and user "guest" as suggested, it says "hold on...redirecting" and then just spits me back to the password prompt. The database wasn't automatically selected, either, even though I can see it in the URL. I was eventually able to get to the page by logging in, failing, then going directly to the address http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl by hand. Thanks, Jim >>From bkoz@cygnus.com Wed Mar 22 11:07:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/40 Date: Wed, 22 Mar 2000 11:07:00 -0000 Message-id: <20000322190700.20134.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00073.html Content-length: 414 The following reply was made to PR libstdc++/40; it has been noted by GNATS. From: Benjamin Kosnik To: Anders Johnson Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/40 Date: Wed, 22 Mar 2000 11:05:11 -0800 (PST) No, I did not get your patch. Can you please resend, and cc libstdc++-gnats? That way it gets logged in the database. thanks, benjamin >>From anders@broadcom.com Wed Mar 22 11:17:00 2000 From: anders@broadcom.com (Anders Johnson) To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/40 Date: Wed, 22 Mar 2000 11:17:00 -0000 Message-id: <20000322191700.22663.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00075.html Content-length: 4859 The following reply was made to PR libstdc++/40; it has been noted by GNATS. From: anders@broadcom.com (Anders Johnson) To: bkoz@cygnus.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/40 Date: Wed, 22 Mar 2000 11:13:14 -0800 ----- Begin Included Message ----- From anders Fri Mar 10 16:23:54 2000 To: bkoz@cygnus.com Subject: Re: libstdc++/40: bitset::operator<<= and >>= incorrect for multiples of 32 > can you please send me a patch and change log entry? I'm new at this, so please bear with me. The problem was actually observed on gcc/2.95.2/5.6/include/g++-3, because I can't build libstdc++-2.90.7 on my system because "wmemcmp.c" doesn't compile because 'wint_t' is not defined in either "string.h" or "stddef.h". However, the code in libstdc++-2.90.7 looks the same. Here is the patch: ----- Begin Included File ----- diff -c3pr libstdc++-2.90.7-1/stl/bits/std_bitset.h libstdc++-2.90.7/stl/bits/std_bitset.h *** libstdc++-2.90.7/stl/bits/std_bitset.h Tue Dec 21 21:07:58 1999 --- NEW/stl/bits/std_bitset.h Fri Mar 10 14:50:36 2000 *************** void _Base_bitset<_Nw, _WordT>::_M_do_le *** 196,204 **** const size_t __offset = __shift % __BITS_PER_WORDT(_WordT); const size_t __sub_offset = __BITS_PER_WORDT(_WordT) - __offset; size_t __n = _Nw - 1; ! for ( ; __n > __wshift; --__n) ! _M_w[__n] = (_M_w[__n - __wshift] << __offset) | ! (_M_w[__n - __wshift - 1] >> __sub_offset); if (__n == __wshift) _M_w[__n] = _M_w[0] << __offset; for (size_t __n1 = 0; __n1 < __n; ++__n1) --- 196,206 ---- const size_t __offset = __shift % __BITS_PER_WORDT(_WordT); const size_t __sub_offset = __BITS_PER_WORDT(_WordT) - __offset; size_t __n = _Nw - 1; ! for ( ; __n > __wshift; --__n) { ! _M_w[__n] = (_M_w[__n - __wshift] << __offset); ! if(__offset) ! _M_w[__n] |= _M_w[__n - __wshift - 1] >> __sub_offset; ! } if (__n == __wshift) _M_w[__n] = _M_w[0] << __offset; for (size_t __n1 = 0; __n1 < __n; ++__n1) *************** void _Base_bitset<_Nw, _WordT>::_M_do_ri *** 215,223 **** const size_t __sub_offset = __BITS_PER_WORDT(_WordT) - __offset; const size_t __limit = _Nw - __wshift - 1; size_t __n = 0; ! for ( ; __n < __limit; ++__n) ! _M_w[__n] = (_M_w[__n + __wshift] >> __offset) | ! (_M_w[__n + __wshift + 1] << __sub_offset); _M_w[__limit] = _M_w[_Nw-1] >> __offset; for (size_t __n1 = __limit + 1; __n1 < _Nw; ++__n1) _M_w[__n1] = static_cast<_WordT>(0); --- 217,227 ---- const size_t __sub_offset = __BITS_PER_WORDT(_WordT) - __offset; const size_t __limit = _Nw - __wshift - 1; size_t __n = 0; ! for ( ; __n < __limit; ++__n) { ! _M_w[__n] = (_M_w[__n + __wshift] >> __offset); ! if(__offset) ! _M_w[__n] |= _M_w[__n + __wshift + 1] << __sub_offset; ! } _M_w[__limit] = _M_w[_Nw-1] >> __offset; for (size_t __n1 = __limit + 1; __n1 < _Nw; ++__n1) _M_w[__n1] = static_cast<_WordT>(0); ----- End Included File ----- Here is a ChangeLog entry (not sure about the format): ----- Begin Included File ----- - Fri Mar 10 16:12:00 PST 2000 stl/bits/std_bitset.h: Modified _M_do_left_shift and _M_do_right_shift not to rely on the behavior of _WordT << __BITS_PER_WORDT(_WordT), which is undefined according to the C standard, and does the wrong thing on Sparc. ----- End Included File ----- Here is a test case: ----- Begin Included File ----- #include #include #include #include int main() { bitset<66> b(1); cout << b << endl; b<<=32; cout << b << endl; b |= bitset<66>(1)<<65; cout << b << endl; b>>=32; cout << b << endl; return 0; } ----- End Included File ----- The expected output is: 000000000000000000000000000000000000000000000000000000000000000001 000000000000000000000000000000000100000000000000000000000000000000 100000000000000000000000000000000100000000000000000000000000000000 000000000000000000000000000000001000000000000000000000000000000001 The actual output on SunOS 5.5.1 sun4u sparc is: 000000000000000000000000000000000000000000000000000000000000000001 010000000000000000000000000000000100000000000000000000000000000000 110000000000000000000000000000000100000000000000000000000000000000 000000000000000000000000000000001100000000000000000000000000000011 Please let me know if you need anything else. Thanks, -- n _ _ _ Anders Johnson ``The ultimate test of all X /_)|' (_` Broadcom Corporation knowledge is experiment.'' (_X\_,| ._) anders(at)ieee(dot)org -- Richard Feynman ----- End Included Message ----- >>From bkoz@cygnus.com Wed Mar 22 11:17:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 11:17:00 -0000 Message-id: <20000322191700.22658.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00074.html Content-length: 2048 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: Benjamin Kosnik To: "James A. Bednar" Cc: libstdc++-gnats@sourceware.cygnus.com, pme@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 11:09:51 -0800 (PST) Phil, it looks like other people are running into the same bug: any word from the GNATS people? > | You're not using the v-3 headers, instead you are picking up the v-2 headers from your compiler install. > | > | You can tell this from your include path: > | > | include/g++-3 > | > | instead of > | > | include/g++-v3 > | > | go horns! > > :-) > > | benjamin > > I'm not sure what you mean. The v3 headers were indeed located in > /usr/include/g++-3: No. libstdc++-v3 is a separate package than gcc-2.95.2. Please see: http://sourceware.cygnus.com/libstdc++ > pale:~> rpm -qlp /p/arc/gcc-c++-2.95.1-3.i386.rpm | grep vector Please try using the tarball, I have no idea what this rpm is up to. > /usr/include/g++-3/bvector.h > /usr/include/g++-3/stl_bvector.h > /usr/include/g++-3/stl_vector.h > /usr/include/g++-3/vector > /usr/include/g++-3/vector.h libstdc++-v2, which comes with gcc-2.95.x, puts the c++ includes in include/g++-3 libstdc++-v3, which you will have to build yourself, puts the c++ includes in include/g++-v3 confusing, I know, but I didn't make these decisions > By the way, this link didn't work properly in my copy of Netscape 4.7. > After typing password and user "guest" as suggested, it says "hold > on...redirecting" and then just spits me back to the password prompt. > The database wasn't automatically selected, either, even though I can > see it in the URL. I was eventually able to get to the page by > logging in, failing, then going directly to the address > http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl by hand. Phil is working on this -benjamin >>From bkoz@cygnus.com Wed Mar 22 11:27:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 11:27:00 -0000 Message-id: <20000322192700.24316.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00076.html Content-length: 903 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: Benjamin Kosnik To: "James A. Bednar" Cc: pme@sourceware.cygnus.comm, libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 11:23:24 -0800 (PST) > That's very strange; I assumed that when GCC suddenly started putting > things in g++-3 instead of g++-2 it signified a change from version 2 > to version 3, but I suppose that was silly of me :-). All it means, > though, is that the bug is in the version 2 includes and not the > version 3 ones. And that as a result I need to report it to gcc-bugs > instead? (Or I can just give up on it :-). Yeah. I know, the numerology makes no sense. I strongly suggest using the 2.90.8 release. You'll be able to DL it on friday from sourceware.cygnus.com/libstdc++ best, -benjamin >>From pedwards@jaj.com Wed Mar 22 12:17:00 2000 From: Phil Edwards To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 12:17:00 -0000 Message-id: <20000322201701.1788.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00077.html Content-length: 1259 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: Phil Edwards To: bkoz@cygnus.com, jbednar@cs.utexas.edu Cc: libstdc++-gnats@sourceware.cygnus.com, pme@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 15:27:45 -0500 > Phil, it looks like other people are running into the same bug: any word > from the GNATS people? [snip] > > > By the way, this link didn't work properly in my copy of Netscape 4.7. > > After typing password and user "guest" as suggested, it says "hold > > on...redirecting" and then just spits me back to the password prompt. > > The database wasn't automatically selected, either, even though I can > > see it in the URL. I was eventually able to get to the page by > > logging in, failing, then going directly to the address > > http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl by hand. Apparently the version of gnatsweb being used is slightly buggy. There is a report that the beta release of the next version does not have this problem. That's all I've been able to gather so far. Hopefully I'll have something more by tomorrow. Phil P.S.- Will responding to a -prs or -gnats list message enter something into the database? >>From bkoz@cygnus.com Wed Mar 22 12:27:00 2000 From: Benjamin Kosnik To: bkoz@cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 12:27:00 -0000 Message-id: <20000322202701.3372.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00078.html Content-length: 799 The following reply was made to PR libstdc++/39; it has been noted by GNATS. From: Benjamin Kosnik To: Phil Edwards Cc: jbednar@cs.utexas.edu, libstdc++-gnats@sourceware.cygnus.com, pme@sourceware.cygnus.com Subject: Re: libstdc++/39 Date: Wed, 22 Mar 2000 12:18:19 -0800 (PST) > Apparently the version of gnatsweb being used is slightly buggy. > There is a report that the beta release of the next version does > not have this problem. That's all I've been able to gather so far. > Hopefully I'll have something more by tomorrow. cool... thanks for looking into it. > P.S.- Will responding to a -prs or -gnats list message enter something > into the database? ccing libstdc++-gnats will make things be entered auto-magically. >>From loreti@pd.infn.it Thu Mar 23 01:17:00 2000 From: loreti@pd.infn.it To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/44: Couldn't compile libstdc++ 2.90.8pre2 with gcc-2.95.2 Date: Thu, 23 Mar 2000 01:17:00 -0000 Message-id: <20000323091426.5775.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00079.html Content-length: 8232 >Number: 44 >Category: libstdc++ >Synopsis: Couldn't compile libstdc++ 2.90.8pre2 with gcc-2.95.2 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Mar 23 01:17:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: loreti@pd.infn.it >Release: 2.90.8pre2 >Organization: >Environment: gcc 2.95.2 linux 2.2.10-20 (RedHat 6.1) >Description: Unpacked gcc distribution, removed libio and libstdc++; unpacked 2.90.8pre2, name changed to libstdc++. make bootstrap successfully built the compilers (3 stages). When compiling libstdc++ I had a fatal error (see attached log file). >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="make.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="make.log" bWFrZVszXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9tZS9sb3JldGkvd29yay9vYmpkaXIvaTY4 Ni1wYy1saW51eC1nbnUvbGlic3RkYysrL3NyYycKL2Jpbi9zaCAuLi9saWJ0b29sIC0tbW9kZT1j b21waWxlIC9ob21lL2xvcmV0aS93b3JrL29iamRpci9nY2MveGdjYyAtQi9ob21lL2xvcmV0aS93 b3JrL29iamRpci9nY2MvIC1CL3Vzci9sb2NhbC9nY2MvaTY4Ni1wYy1saW51eC1nbnUvYmluLyAt REhBVkVfQ09ORklHX0ggLUkuIC1JLi4vLi4vLi4vLi4vZ2NjLTIuOTUuMi9saWJzdGRjKysvc3Jj IC1JLi4gLW5vc3RkaW5jKysgLUkuLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0ZGMrKyAtSS4u Ly4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL3N0bCAtSS4uLy4uLy4uLy4uL2djYy0yLjk1 LjIvbGlic3RkYysrL2xpYmlvICAtSS4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2Nv bmZpZy9jcHUvaTM4NiAtSS4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2NvbmZpZy9n bnUtbGludXggLUkvdXNyL2xvY2FsL2djYy9pbmNsdWRlCSAgIC1EX0dOVV9TT1VSQ0UgLWZuby1p bXBsaWNpdC10ZW1wbGF0ZXMgLVdhbGwgLVduby1mb3JtYXQgLVcgLVd3cml0ZS1zdHJpbmdzIC1X aW5saW5lIC1XZXJyb3IgLWcgLWZob25vci1zdGQgIC1nIC1PMiAtZnZ0YWJsZS10aHVua3MgLURf R05VX1NPVVJDRSAtYyAuLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0ZGMrKy9zcmMvc3RyaW5n TUFJTi5jYwpybSAtZiAubGlicy9zdHJpbmdNQUlOLmxvCi9ob21lL2xvcmV0aS93b3JrL29iamRp ci9nY2MveGdjYyAtQi9ob21lL2xvcmV0aS93b3JrL29iamRpci9nY2MvIC1CL3Vzci9sb2NhbC9n Y2MvaTY4Ni1wYy1saW51eC1nbnUvYmluLyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLi4vLi4vLi4v Li4vZ2NjLTIuOTUuMi9saWJzdGRjKysvc3JjIC1JLi4gLW5vc3RkaW5jKysgLUkuLi8uLi8uLi8u Li9nY2MtMi45NS4yL2xpYnN0ZGMrKyAtSS4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysr L3N0bCAtSS4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2xpYmlvIC1JLi4vLi4vLi4v Li4vZ2NjLTIuOTUuMi9saWJzdGRjKysvY29uZmlnL2NwdS9pMzg2IC1JLi4vLi4vLi4vLi4vZ2Nj LTIuOTUuMi9saWJzdGRjKysvY29uZmlnL2dudS1saW51eCAtSS91c3IvbG9jYWwvZ2NjL2luY2x1 ZGUgLURfR05VX1NPVVJDRSAtZm5vLWltcGxpY2l0LXRlbXBsYXRlcyAtV2FsbCAtV25vLWZvcm1h dCAtVyAtV3dyaXRlLXN0cmluZ3MgLVdpbmxpbmUgLVdlcnJvciAtZyAtZmhvbm9yLXN0ZCAtZyAt TzIgLWZ2dGFibGUtdGh1bmtzIC1EX0dOVV9TT1VSQ0UgLWMgIC1mUElDIC1EUElDIC4uLy4uLy4u Ly4uL2djYy0yLjk1LjIvbGlic3RkYysrL3NyYy9zdHJpbmdNQUlOLmNjIC1vIC5saWJzL3N0cmlu Z01BSU4ubG8KY2MxcGx1czogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKLi4vLi4v Li4vLi4vZ2NjLTIuOTUuMi9saWJzdGRjKysvYml0cy9zdHJpbmcudGNjOiBJbiBtZXRob2QgYHN0 ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRv cjxjaGFyPiA+OjpiYXNpY19zdHJpbmcoY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6 OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gJiwgdW5zaWduZWQgaW50 LCB1bnNpZ25lZCBpbnQgPSBzdGQ6OmJhc2ljX3N0cmluZzxfQ2hhclQsX1RyYWl0cyxfQWxsb2M+ OjpucG9zKSc6Ci4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL3NyYy9zdHJpbmctaW5z dC5jYzo2NDogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi4uLy4uLy4uLy4uL2djYy0yLjk1LjIv bGlic3RkYysrL2JpdHMvYmFzaWNfc3RyaW5nLmg6NzEyOiB3YXJuaW5nOiBjYW4ndCBpbmxpbmUg Y2FsbCB0byBgc3RhdGljIGNoYXIgKiBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90 cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4gPjo6X1NfY29uc3RydWN0PHN0ZDo6X19u b3JtYWxfaXRlcmF0b3I8Y2hhciAqLHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3Ry YWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ID4gPihzdGQ6Ol9fbm9ybWFsX2l0ZXJh dG9yPGNoYXIgKixzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4s c3RkOjphbGxvY2F0b3I8Y2hhcj4gPiA+LCBzdGQ6Ol9fbm9ybWFsX2l0ZXJhdG9yPGNoYXIgKixz dGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0 b3I8Y2hhcj4gPiA+LCBjb25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiAmKScKLi4vLi4vLi4vLi4v Z2NjLTIuOTUuMi9saWJzdGRjKysvYml0cy9zdHJpbmcudGNjOjE4NDogd2FybmluZzogY2FsbGVk IGZyb20gaGVyZQouLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0ZGMrKy9iaXRzL2Jhc2ljX3N0 cmluZy5oOiBJbiBtZXRob2QgYGNsYXNzIHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFy X3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ICYgc3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID46OmFwcGVu ZChjb25zdCBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3Rk OjphbGxvY2F0b3I8Y2hhcj4gPiAmKSc6Ci4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysr L2JpdHMvYmFzaWNfc3RyaW5nLmg6NDUxOiAgIGluc3RhbnRpYXRlZCBmcm9tIGBzdGQ6OmJhc2lj X3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4g Pjo6b3BlcmF0b3IgKz0oY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJh aXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gJiknCi4uLy4uLy4uLy4uL2djYy0yLjk1 LjIvbGlic3RkYysrL3NyYy9zdHJpbmctaW5zdC5jYzo2NDogICBpbnN0YW50aWF0ZWQgZnJvbSBo ZXJlCi4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMvYmFzaWNfc3RyaW5nLmg6 Njc1OiB3YXJuaW5nOiBjYW4ndCBpbmxpbmUgY2FsbCB0byBgY2xhc3Mgc3RkOjpiYXNpY19zdHJp bmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gJiBz dGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0 b3I8Y2hhcj4gPjo6cmVwbGFjZTxzdGQ6Ol9fbm9ybWFsX2l0ZXJhdG9yPGNoYXIgKixzdGQ6OmJh c2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hh cj4gPiA+ID4oc3RkOjpfX25vcm1hbF9pdGVyYXRvcjxjaGFyICosc3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gPiwgc3Rk OjpfX25vcm1hbF9pdGVyYXRvcjxjaGFyICosc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNo YXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gPiwgc3RkOjpfX25vcm1hbF9p dGVyYXRvcjxjaGFyICosc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNo YXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gPiwgc3RkOjpfX25vcm1hbF9pdGVyYXRvcjxjaGFy ICosc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxs b2NhdG9yPGNoYXI+ID4gPiknCi4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMv YmFzaWNfc3RyaW5nLmg6NDcwOiB3YXJuaW5nOiBjYWxsZWQgZnJvbSBoZXJlCi4uLy4uLy4uLy4u L2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMvYmFzaWNfc3RyaW5nLmg6IEluIG1ldGhvZCBgY2xh c3Mgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxs b2NhdG9yPGNoYXI+ID4gJiBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8 Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4gPjo6YXNzaWduKGNvbnN0IHN0ZDo6YmFzaWNfc3Ry aW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ICYs IHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KSc6Ci4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGli c3RkYysrL3NyYy9zdHJpbmctaW5zdC5jYzo2NDogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi4u Ly4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMvYmFzaWNfc3RyaW5nLmg6NTQxOiB3 YXJuaW5nOiBjYW4ndCBpbmxpbmUgY2FsbCB0byBgY2xhc3Mgc3RkOjpiYXNpY19zdHJpbmc8Y2hh cixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4gJiBzdGQ6OmJh c2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hh cj4gPjo6YXNzaWduPHN0ZDo6X19ub3JtYWxfaXRlcmF0b3I8Y2hhciAqLHN0ZDo6YmFzaWNfc3Ry aW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+ID4g PihzdGQ6Ol9fbm9ybWFsX2l0ZXJhdG9yPGNoYXIgKixzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0 ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4gPiA+LCBzdGQ6Ol9fbm9y bWFsX2l0ZXJhdG9yPGNoYXIgKixzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFp dHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4gPiA+KScKLi4vLi4vLi4vLi4vZ2NjLTIuOTUu Mi9saWJzdGRjKysvYml0cy9iYXNpY19zdHJpbmcuaDo1MjM6IHdhcm5pbmc6IGNhbGxlZCBmcm9t IGhlcmUKbWFrZVszXTogKioqIFtzdHJpbmdNQUlOLmxvXSBFcnJvciAxCm1ha2VbM106IExlYXZp bmcgZGlyZWN0b3J5IGAvaG9tZS9sb3JldGkvd29yay9vYmpkaXIvaTY4Ni1wYy1saW51eC1nbnUv bGlic3RkYysrL3NyYycKbWFrZVsyXTogKioqIFthbGwtcmVjdXJzaXZlXSBFcnJvciAxCm1ha2Vb Ml06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9sb3JldGkvd29yay9vYmpkaXIvaTY4Ni1wYy1s aW51eC1nbnUvbGlic3RkYysrJwptYWtlWzFdOiAqKiogW2FsbC1yZWN1cnNpdmUtYW1dIEVycm9y IDIKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL2xvcmV0aS93b3JrL29iamRpci9p Njg2LXBjLWxpbnV4LWdudS9saWJzdGRjKysnCm1ha2U6ICoqKiBbYWxsLXRhcmdldC1saWJzdGRj KytdIEVycm9yIDIK >>From ehmann@cs.unc.edu Fri Mar 24 12:57:00 2000 From: ehmann@cs.unc.edu To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/45: building libstdc++ along with gcc-2.95.2 fails while compiling libstdc++ because of warnings Date: Fri, 24 Mar 2000 12:57:00 -0000 Message-id: <20000324205211.20242.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00080.html Content-length: 5510 >Number: 45 >Category: libstdc++ >Synopsis: building libstdc++ along with gcc-2.95.2 fails while compiling libstdc++ because of warnings >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Mar 24 12:57:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: stephen ehmann >Release: 2.90.8 >Organization: >Environment: Mandrake Linux PIII 450 96 Mb mem. gcc-2.95.2 already installed >Description: Compiling libstdc++ fails when compiling with gcc from scratch. /usr/local/gcc-build/gcc/xgcc -B/usr/local/gcc-build/gcc/ -B/usr/local/gcc/i686-pc-linux-gnu/bin/ -DHAVE_CONFIG_H -I. -I/usr/local/gcc-2.95.2/libstdc++/src -I.. -nostdinc++ -I/usr/local/gcc-2.95.2/libstdc++ -I/usr/local/gcc-2.95.2/libstdc++/stl -I/usr/local/gcc-2.95.2/libstdc++/libio -I/usr/local/gcc-2.95.2/libstdc++/config/cpu/i386 -I/usr/local/gcc-2.95.2/libstdc++/config/gnu-linux -I/usr/local/gcc/include -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -g -fhonor-std -g -O2 -fvtable-thunks -D_GNU_SOURCE -c -fPIC -DPIC /usr/local/gcc-2.95.2/libstdc++/src/stringMAIN.cc -o .libs/stringMAIN.lo cc1plus: warnings being treated as errors /usr/local/gcc-2.95.2/libstdc++/bits/string.tcc: In method `std::basic_string,std::allocator >::basic_string(const std::basic_string,std::allocator > &, unsigned int, unsigned int = std::basic_string<_CharT,_Traits,_Alloc>::npos)': /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:712: warning: can't inline call to `static char * std::basic_string,std::allocator >::_S_construct,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, const std::allocator &)' /usr/local/gcc-2.95.2/libstdc++/bits/string.tcc:184: warning: called from here /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h: In method `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::append(const std::basic_string,std::allocator > &)': /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:451: instantiated from `std::basic_string,std::allocator >::operator +=(const std::basic_string,std::allocator > &)' /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:675: warning: can't inline call to `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::replace,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >)' /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:470: warning: called from here /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h: In method `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::assign(const std::basic_string,std::allocator > &, unsigned int, unsigned int)': /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:541: warning: can't inline call to `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::assign,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >)' /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:523: warning: called from here make[4]: *** [stringMAIN.lo] Error 1 make[4]: Leaving directory `/usr/local/gcc-build/i686-pc-linux-gnu/libstdc++/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/local/gcc-build/i686-pc-linux-gnu/libstdc++' make[2]: *** [all-recursive-am] Error 2 make[2]: Leaving directory `/usr/local/gcc-build/i686-pc-linux-gnu/libstdc++' make[1]: *** [all-target-libstdc++] Error 2 make[1]: Leaving directory `/usr/local/gcc-build' make: *** [bootstrap] Error 2 >How-To-Repeat: copy the libstdc++ source to the gcc directory as specified in the docs configure make bootstrap >Fix: Comment out WERROR in the Makefile in buildir/i686-pc-linux-gnu/libstdc++/src >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Fri Mar 24 13:37:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/45: building libstdc++ along with gcc-2.95.2 failswhile compiling libstdc++ because of warnings Date: Fri, 24 Mar 2000 13:37:00 -0000 Message-id: <20000324213700.4007.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00081.html Content-length: 4799 The following reply was made to PR libstdc++/45; it has been noted by GNATS. From: Benjamin Kosnik To: ehmann@cs.unc.edu Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/45: building libstdc++ along with gcc-2.95.2 fails while compiling libstdc++ because of warnings Date: Fri, 24 Mar 2000 13:27:53 -0800 (PST) > Compiling libstdc++ fails when compiling with gcc from scratch. > > /usr/local/gcc-build/gcc/xgcc -B/usr/local/gcc-build/gcc/ -B/usr/local/gcc/i686-pc-linux-gnu/bin/ -DHAVE_CONFIG_H -I. -I/usr/local/gcc-2.95.2/libstdc++/src -I.. -nostdinc++ -I/usr/local/gcc-2.95.2/libstdc++ -I/usr/local/gcc-2.95.2/libstdc++/stl -I/usr/local/gcc-2.95.2/libstdc++/libio -I/usr/local/gcc-2.95.2/libstdc++/config/cpu/i386 -I/usr/local/gcc-2.95.2/libstdc++/config/gnu-linux -I/usr/local/gcc/include -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -g -fh onor-std -g -O2 -fvtable-thunks -D_GNU_SOURCE -c -fPIC -DPIC /usr/local/gcc-2.95.2/libstdc++/src/stringMAIN.cc -o .libs/stringMAIN.lo > cc1plus: warnings being treated as errors > /usr/local/gcc-2.95.2/libstdc++/bits/string.tcc: In method `std::basic_string,std::allocator >::basic_string(const std::basic_string,std::allocator > &, unsigned int, unsigned int = std::basic_string<_CharT,_Traits,_Alloc>::npos)': > /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:712: warning: can't inline call to `static char * std::basic_string,std::allocator >::_S_construct,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, const std::alloca tor &)' > /usr/local/gcc-2.95.2/libstdc++/bits/string.tcc:184: warning: called from here > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h: In method `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::append(const std::basic_string,std::allocator > &)': > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:451: instantiated from `std::basic_string,std::allocator >::operator +=(const std::basic_string,std::allocator > &)' > /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:675: warning: can't inline call to `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::replace,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >)' > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:470: warning: called from here > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h: In method `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::assign(const std::basic_string,std::allocator > &, unsigned int, unsigned int)': > /usr/local/gcc-2.95.2/libstdc++/src/string-inst.cc:64: instantiated from here > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:541: warning: can't inline call to `class std::basic_string,std::allocator > & std::basic_string,std::allocator >::assign,std::allocator > > >(std::__normal_iterator,std::allocator > >, std::__normal_iterator,std::allocator > >)' > /usr/local/gcc-2.95.2/libstdc++/bits/basic_string.h:523: warning: called from here You need to remove either -Werror or -O2 when compiling with gcc-2.95.2 this is covered here: http://sourceware.cygnus.com/ml/libstdc++/2000-q1/msg00406.html >>From harinath@cs.umn.edu Sat Mar 25 15:47:00 2000 From: Raja R Harinath To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/46: bad c++config.h in CVS Date: Sat, 25 Mar 2000 15:47:00 -0000 Message-id: <20000325233940.32063.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00082.html Content-length: 734 >Number: 46 >Category: libstdc++ >Synopsis: bad c++config.h in CVS >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Mar 25 15:47:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: Raja R Harinath >Release: unknown-1.0 >Organization: >Environment: >Description: Hi, The file `bits/c++config.h' in the CVS repostory is broken. It probably should be removed, anyway, since it is generated during the configure process. - Hari >How-To-Repeat: >Fix: Remove bits/c++config.h from the CVS repository. >Release-Note: >Audit-Trail: >Unformatted: >>From anthony_w.geo@yahoo.com Tue Mar 28 03:27:00 2000 From: anthony_w.geo@yahoo.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/47: Build of testsuite fails to compile bits/ios_base.h - exception not declared Date: Tue, 28 Mar 2000 03:27:00 -0000 Message-id: <20000328112503.16880.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00083.html Content-length: 2531 >Number: 47 >Category: libstdc++ >Synopsis: Build of testsuite fails to compile bits/ios_base.h - exception not declared >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Mar 28 03:27:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: Anthony Williams >Release: 2.90.8 >Organization: >Environment: Sparc-solaris-2.7 gcc-2.95.2 >Description: I have tried building a new copy of gcc 2.95.2 with libstdc++ from the 2.90.8 snapshot, using gcc-2.95.2 It configures and builds OK, but when I run make check I get compilation erros on lots of the modules, huge reams of errors and warnings, starting with: In file included from ../../../gcc-2.95.2/libstdc++/bits/std_ios.h:43, from ../../../gcc-2.95.2/libstdc++/bits/std_istream.h:37, from ../../../gcc-2.95.2/libstdc++/bits/std_fstream.h:37, from ../../../gcc-2.95.2/libstdc++/std/fstream:2, from ../../../gcc-2.95.2/libstdc++/testsuite/17_intro/header_fstream.cc:23: ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:144: parse error before `{' ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:152: destructor `failure' must match class name `ios_base' ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:226: parse error before `protected' ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:239: syntax error before `;' ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:243: parse error before `,' ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:245: missing ';' before right brace I checked bits/ios_base.h, and it uses namespace std, whilst std_exception uses __STL_BEGIN_NAMESPACE There are many headers that use each - shouldn't this be consistent across the source? However, it appears the cause is the __GNUG__ macro - in std_exception.h we do #include if __GNUG__ is defined, otherwise we declare the exception class. Fine, except that just does #include - circular reference, and exception never gets declared. It doesn't make any difference whether or not I specify --enable-namespaces or --disable-namespaces on the configure line >How-To-Repeat: Build + install binutils + gcc2.95.2 (normal) on sparc-solaris-2.7 rebuild gcc using libstdc++-2.90.8 as drop-in replacement for v2 libraries make check >Fix: Remove the #ifdef __GNUG__ from bits/std_exception.h ? >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Tue Mar 28 15:47:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/47: Build of testsuite fails to compile bits/ios_base.h - exception not declared Date: Tue, 28 Mar 2000 15:47:00 -0000 Message-id: <20000328234700.7507.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00084.html Content-length: 2645 The following reply was made to PR libstdc++/47; it has been noted by GNATS. From: Benjamin Kosnik To: anthony_w.geo@yahoo.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/47: Build of testsuite fails to compile bits/ios_base.h - exception not declared Date: Tue, 28 Mar 2000 15:38:17 -0800 (PST) this is from "mkcheck" including the new headers twice. Here's some mail on the subject: http://sourceware.cygnus.com/ml/libstdc++/2000-q1/msg00452.html > I have tried building a new copy of gcc 2.95.2 with libstdc++ from the 2.90.8 snapshot, using gcc-2.95.2 > > It configures and builds OK, but when I run > > make check > > I get compilation erros on lots of the modules, huge reams of errors and warnings, starting with: > > In file included from ../../../gcc-2.95.2/libstdc++/bits/std_ios.h:43, > from ../../../gcc-2.95.2/libstdc++/bits/std_istream.h:37, > from ../../../gcc-2.95.2/libstdc++/bits/std_fstream.h:37, > from ../../../gcc-2.95.2/libstdc++/std/fstream:2, > from ../../../gcc-2.95.2/libstdc++/testsuite/17_intro/header_fstream.cc:23: > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:144: parse error before `{' > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:152: destructor `failure' must match class name `ios_base' > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:226: parse error before `protected' > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:239: syntax error before `;' > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:243: parse error before `,' > ../../../gcc-2.95.2/libstdc++/bits/ios_base.h:245: missing ';' before right brace > > I checked bits/ios_base.h, and it uses namespace std, whilst std_exception uses __STL_BEGIN_NAMESPACE > > There are many headers that use each - shouldn't this be consistent across the source? > > However, it appears the cause is the __GNUG__ macro - in std_exception.h we do #include if __GNUG__ is defined, otherwise we declare the exception class. > > Fine, except that just does #include - circular reference, and exception never gets declared. > > It doesn't make any difference whether or not I specify --enable-namespaces or --disable-namespaces on the configure line > >How-To-Repeat: > Build + install binutils + gcc2.95.2 (normal) on sparc-solaris-2.7 > > rebuild gcc using libstdc++-2.90.8 as drop-in replacement for v2 libraries > > make check > >Fix: > Remove the #ifdef __GNUG__ from bits/std_exception.h > ? > >Release-Note: > >Audit-Trail: > >Unformatted: > >>From allmaier@caramail.com Wed Mar 29 01:27:00 2000 From: allmaier@caramail.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/48: the 9th snapshot doesn't compile! Date: Wed, 29 Mar 2000 01:27:00 -0000 Message-id: <20000329092218.16977.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00085.html Content-length: 848 >Number: 48 >Category: libstdc++ >Synopsis: the 9th snapshot doesn't compile! >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: mistaken >Submitter-Id: net >Arrival-Date: Wed Mar 29 01:27:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: - >Release: libstdc++ latest release (9th) >Organization: >Environment: -- >Description: Didn't you realize that in the latest package files are missing and that the configure script is pointing to the subdirectory instead of the source directory? for example: sources in /sources/libstdc++/ the script searches for install.sh and other not existing files in /sources ! >How-To-Repeat: get the package and ran configure, man! >Fix: -------- >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Wed Mar 29 01:47:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/48: the 9th snapshot doesn't compile! Date: Wed, 29 Mar 2000 01:47:00 -0000 Message-id: <20000329094700.20377.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00086.html Content-length: 847 The following reply was made to PR libstdc++/48; it has been noted by GNATS. From: Benjamin Kosnik To: allmaier@caramail.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/48: the 9th snapshot doesn't compile! Date: Wed, 29 Mar 2000 01:44:00 -0800 (PST) read the install docs, man http://sourceware.cygnus.com/libstdc++/documentation.html and in particular: http://sourceware.cygnus.com/libstdc++/install.html -benjamin > Didn't you realize that in the latest package files are missing > and that the configure script is pointing to the subdirectory > instead of the source directory? > > for example: > sources in > /sources/libstdc++/ > the script searches for install.sh and other not existing files > in > /sources ! > >How-To-Repeat: > get the package and ran configure, man! >>From anthony_w.geo@yahoo.com Wed Mar 29 05:37:00 2000 From: anthony_w.geo@yahoo.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/49: Test suite does not use std:: everywhere it should Date: Wed, 29 Mar 2000 05:37:00 -0000 Message-id: <20000329133316.24775.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00087.html Content-length: 833 >Number: 49 >Category: libstdc++ >Synopsis: Test suite does not use std:: everywhere it should >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Mar 29 05:37:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: Anthony Williams >Release: unknown-1.0 >Organization: >Environment: libstdc++-2.90.8 gcc 2.95.2 sparc-solaris-2.7 >Description: In many places the testsuite programs fail to compile due to "unknown symbol" errors, since std:: is not used >How-To-Repeat: make check or make check-install when configured with --enable-namespaces >Fix: Use std:: where appropriate (I can provide fixed source files if required) >Release-Note: >Audit-Trail: >Unformatted: >>From bennett@oneworld.com Wed Mar 29 11:47:00 2000 From: bennett@oneworld.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/50: won't configure Date: Wed, 29 Mar 2000 11:47:00 -0000 Message-id: <20000329193935.20268.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00088.html Content-length: 587 >Number: 50 >Category: libstdc++ >Synopsis: won't configure >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Mar 29 11:47:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: bennett@oneworld.com >Release: 2.90.8 >Organization: >Environment: Solaris 7 (SPARC) >Description: It looks like many of the auto conf files were left out of the distribution. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From pedwards@jaj.com Wed Mar 29 12:07:00 2000 From: Phil Edwards To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/50: won't configure Date: Wed, 29 Mar 2000 12:07:00 -0000 Message-id: <20000329200701.31511.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00089.html Content-length: 547 The following reply was made to PR libstdc++/50; it has been noted by GNATS. From: Phil Edwards To: bennett@oneworld.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/50: won't configure Date: Wed, 29 Mar 2000 15:15:19 -0500 The library will no longer configure on its own. It must be placed inside the compiler. Please see and in particular: Luck++; Phil >>From rj45@comset.net Wed Mar 29 13:37:00 2000 From: rj45@comset.net To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/51: build problem Date: Wed, 29 Mar 2000 13:37:00 -0000 Message-id: <20000329212704.23162.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00090.html Content-length: 609 >Number: 51 >Category: libstdc++ >Synopsis: build problem >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Mar 29 13:37:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: rj45@comset.net >Release: libstdc++-2.90.8 >Organization: >Environment: >Description: does not build >How-To-Repeat: try running configure (I mean the package which is placed on your ftp) >Fix: sorry, do not have one ... :( >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Wed Mar 29 13:57:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/51: build problem Date: Wed, 29 Mar 2000 13:57:00 -0000 Message-id: <20000329215701.29325.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00091.html Content-length: 601 The following reply was made to PR libstdc++/51; it has been noted by GNATS. From: Benjamin Kosnik To: rj45@comset.net Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/51: build problem Date: Wed, 29 Mar 2000 13:47:15 -0800 (PST) > try running configure (I mean the package which is placed > on your ftp) ummmm. Can you please provide details on your host machine? uname -a output would be sufficient. Did you read the build/configure/install docs? They've changed for this snapshot: http://sourceware.cygnus.com/libstdc++/install.html -benjamin >>From bkoz@cygnus.com Wed Mar 29 19:47:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/49: Test suite does not use std:: everywhere it should Date: Wed, 29 Mar 2000 19:47:00 -0000 Message-id: <20000330034700.32345.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00092.html Content-length: 1995 The following reply was made to PR libstdc++/49; it has been noted by GNATS. From: Benjamin Kosnik To: anthony_w.geo@yahoo.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/49: Test suite does not use std:: everywhere it should Date: Wed, 29 Mar 2000 19:40:02 -0800 (PST) this was fixed shortly after the release. See this patch in the CVS repository: 2000-03-27 Russell Davidson * testsuite/23_containers/multiset.cc (main): Clean up for namespaces. * testsuite/22_locale/ctype_char_members.cc: And here. * testsuite/27_io/streambuf.cc (streambuf): And here. * testsuite/27_io/ostream_inserter_char.cc (test06): And here. * testsuite/27_io/istream_unformatted.cc (test05): And here. * testsuite/27_io/istream_extractor_arith.cc: And here. * testsuite/27_io/ios_manip_basefield.cc (test02): And here. * testsuite/27_io/ios_base_members_static.cc: And here. * bits/std_climits.h (_CPP_CLIMITS): Fix typo. On 29 Mar 2000 anthony_w.geo@yahoo.com wrote: > > >Number: 49 > >Category: libstdc++ > >Synopsis: Test suite does not use std:: everywhere it should > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Wed Mar 29 05:37:00 PST 2000 > >Closed-Date: > >Last-Modified: > >Originator: Anthony Williams > >Release: unknown-1.0 > >Organization: > >Environment: > libstdc++-2.90.8 > gcc 2.95.2 > sparc-solaris-2.7 > >Description: > In many places the testsuite programs fail to compile due to "unknown symbol" errors, since std:: is not used > >How-To-Repeat: > make check > or > make check-install > > when configured with --enable-namespaces > >Fix: > Use std:: where appropriate (I can provide fixed source files if required) > >Release-Note: > >Audit-Trail: > >Unformatted: > >>From ben@valinux.com Thu Mar 30 12:27:00 2000 From: ben@valinux.com To: libstdc++-gnats@sourceware.cygnus.com Cc: chip@valinux.com Subject: libstdc++/52: can't call c_str() from a basic_string Date: Thu, 30 Mar 2000 12:27:00 -0000 Message-id: <20000330202615.27684.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00093.html Content-length: 1323 >Number: 52 >Category: libstdc++ >Synopsis: can't call c_str() from a basic_string >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Mar 30 12:27:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: debian frozen >Release: ibstdc++2.10-dev 2.95.2-8 >Organization: >Environment: debian frozen >Description: The problem is that "" is a signed char * and so when it is assigned to charT* there is no problem as long as charT* is a signed char. The problem is if instantiate a basic string with an unsigned char rather than a char this doesn't work. I don't know how this will behave with multibyte characters. >How-To-Repeat: >Fix: RCS file: RCS/bastring.h,v retrieving revision 1.1 diff -u -r1.1 bastring.h --- bastring.h 2000/03/30 00:44:05 1.1 +++ bastring.h 2000/03/30 00:46:05 @@ -335,7 +335,7 @@ public: const charT* c_str () const - { const charT* null_str = ""; + { const charT* null_str = reinterpret_cast(""); if (length () == 0) return null_str; terminate (); return data (); } void resize (size_type n, charT c); void resize (size_type n) >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Fri Mar 31 11:47:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/52: can't call c_str() from a basic_string (fwd) Date: Fri, 31 Mar 2000 11:47:00 -0000 Message-id: <20000331194701.26593.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00094.html Content-length: 2130 The following reply was made to PR libstdc++/52; it has been noted by GNATS. From: Benjamin Kosnik To: libstdc++-gnats@sourceware.cygnus.com Cc: Subject: Re: libstdc++/52: can't call c_str() from a basic_string (fwd) Date: Fri, 31 Mar 2000 11:39:43 -0800 (PST) ---------- Forwarded message ---------- Date: Thu, 30 Mar 2000 14:35:27 -0800 From: ncm@zembu.com To: bkoz@cygnus.com Subject: Re: libstdc++/52: can't call c_str() from a basic_string > >Number: 52 > >Category: libstdc++ > >Synopsis: can't call c_str() from a basic_string > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Thu Mar 30 12:27:00 PST 2000 > >Closed-Date: > >Last-Modified: > >Originator: debian frozen > >Release: ibstdc++2.10-dev 2.95.2-8 > >Organization: > >Environment: > debian frozen > >Description: > The problem is that "" is a signed char * and so when it is > assigned to charT* there is no problem as long as charT* > is a signed char. The problem is if instantiate a basic > string with an unsigned char rather than a char this doesn't > work. I don't know how this will behave with multibyte > characters. > >How-To-Repeat: > > >Fix: > RCS file: RCS/bastring.h,v > retrieving revision 1.1 > diff -u -r1.1 bastring.h > --- bastring.h 2000/03/30 00:44:05 1.1 > +++ bastring.h 2000/03/30 00:46:05 > @@ -335,7 +335,7 @@ > > public: > const charT* c_str () const > - { const charT* null_str = ""; > + { const charT* null_str = reinterpret_cast(""); > if (length () == 0) return null_str; terminate (); return data (); } > void resize (size_type n, charT c); > void resize (size_type n) I don't agree with this change. A better fix would be: > + { static const charT null_str[] = { charT() }; Of course, since this is the old, dead libstdc++, I don't care what happens there. Nathan ncm >>From peter.guarino@gs.com Thu Apr 06 06:57:00 2000 From: peter.guarino@gs.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/54: Failed to rebuild Date: Thu, 06 Apr 2000 06:57:00 -0000 Message-id: <20000406135415.19140.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00000.html Content-length: 2145 >Number: 54 >Category: libstdc++ >Synopsis: Failed to rebuild >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Apr 06 06:57:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: peter.guarino@gs.com >Release: libstdc++-2.90.8 >Organization: >Environment: 1) SunOS 5.6 Generic_105181-14 sun4u sparc SUNW,Ultra-2 2) gcc version 2.95.2 3) GNU Make version 3.78.1, by Richard Stallman and Roland McGrath. Built for sparc-sun-solaris2.6 >Description: Attempting to do a full rebuild of gcc with libstdc++ v3. I configured the build as given in the "licstdc++-v3 Install" document on your website. The build process fails when entering the library source tree: make[2]: Leaving directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libiberty' make[1]: Leaving directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libiberty' make[1]: Entering directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++' make all-recursive make[2]: Entering directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++' Making all in math make[3]: Entering directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++/math' /bin/sh ../libtool --mode=compile (CC_FOR_TARGET) -DHAVE_CONFIG_H -I. -I/home/guarip/build_gcc/gcc-2.95.2/libstdc++/math -I.. (CFLAGS_FOR_TARGET) -c /home/guarip/build_gcc/gcc-2.95.2/libstdc++/math/signbit.c /bin/sh: syntax error at line 1: `(' unexpected make[3]: *** [signbit.lo] Error 2 make[3]: Leaving directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++/math' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++' make[1]: *** [all-recursive-am] Error 2 make[1]: Leaving directory `/export/home2/guarip/build_gcc/build/sparc-sun-solaris2.6/libstdc++' make: *** [all-target-libstdc++] Error 2 >How-To-Repeat: Run make. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From anthony_w.geo@yahoo.com Mon Apr 10 06:07:00 2000 From: anthony_w.geo@yahoo.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/55: libstdc++ not initialised when linked as shared library on sparc-solaris-2.7 Date: Mon, 10 Apr 2000 06:07:00 -0000 Message-id: <20000410125935.20266.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00001.html Content-length: 882 >Number: 55 >Category: libstdc++ >Synopsis: libstdc++ not initialised when linked as shared library on sparc-solaris-2.7 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Apr 10 06:07:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Anthony Williams >Release: unknown-1.0 >Organization: >Environment: sparc-solaris-2.7 libstdc++ 2.90.8 snapshot gcc 2.95.2 >Description: cout and cerr are not initialised properly when libstdc++ is linked as a shared library - the following sample produces a core dump: #include int main() { std::cout<<"hello"<How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From dda_dream@mail.ru Tue May 02 13:47:00 2000 From: dda_dream@mail.ru To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/56: it is not compiling on SUSE 6.3 Date: Tue, 02 May 2000 13:47:00 -0000 Message-id: <20000502204434.20643.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00002.html Content-length: 564 >Number: 56 >Category: libstdc++ >Synopsis: it is not compiling on SUSE 6.3 >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue May 02 13:47:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: dmitry >Release: libstdc++-2.90.* >Organization: >Environment: Suse 6.3 >Description: this library not completed compiling on my system. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From pedwards@jaj.com Tue May 02 14:07:00 2000 From: Phil Edwards To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/56: it is not compiling on SUSE 6.3 Date: Tue, 02 May 2000 14:07:00 -0000 Message-id: <20000502210701.29186.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00003.html Content-length: 485 The following reply was made to PR libstdc++/56; it has been noted by GNATS. From: Phil Edwards To: dda_dream@mail.ru Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/56: it is not compiling on SUSE 6.3 Date: Tue, 2 May 2000 17:16:07 -0400 > >Description: > this library not completed compiling on my system. This doesn't give us much information to go on. Could you paste in the error messages you get when you try to compile it? Phil >>From pedwards@jaj.com Tue May 02 14:27:00 2000 From: Phil Edwards To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/56: it is not compiling on SUSE 6.3 Date: Tue, 02 May 2000 14:27:00 -0000 Message-id: <20000502212700.395.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00004.html Content-length: 933 The following reply was made to PR libstdc++/56; it has been noted by GNATS. From: Phil Edwards To: dda_dream@mail.ru Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/56: it is not compiling on SUSE 6.3 Date: Tue, 2 May 2000 17:37:56 -0400 Your bug report says > >Release: libstdc++-2.90.* but the errors you mailed to me say make[2]: *** [misc-inst.lo] Error 1 make[2]: Leaving directory `/soft/libstdc++-2.90.6.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/soft/libstdc++-2.90.6.1' ^^^^^^^^ That's hardly the same as 2.90.*... The .6 snapshot is now nine months out-of-date and two revisions behind. Please try compiling with the latest snapshot. Note that you will need the latest compiler (gcc 2.95.2), as well as source for that compiler; see the instructions pages. Phil >>From albert@ravel.mpg.uni-rostock.de Mon May 08 15:07:00 2000 From: albert@ravel.mpg.uni-rostock.de To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/57: can't build last gcc snapshot on alphaev5-unknown-linux-gnu Date: Mon, 08 May 2000 15:07:00 -0000 Message-id: <20000508220121.10041.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00005.html Content-length: 137703 >Number: 57 >Category: libstdc++ >Synopsis: can't build last gcc snapshot on alphaev5-unknown-linux-gnu >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon May 08 15:07:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: libstdc++-v3/src/complex_io.cc >Release: egcs-20000501 >Organization: >Environment: Alpha 21164, RedHat Linux 5.1 (kernel 2.0.34), gcc-2.95.2 >Description: All was as usually: 1. cd /tmp/egcs-build 2. ../egcs-20000501/configure --prefix=/home/albert/local --enable-libstdc++-v3 3. make bootstrap-lean ... and building was broken at this point: /tmp/egcs-build/gcc/g++ -B/tmp/egcs-build/gcc/ -B/home/albert/local/alphaev5-unknown-linux-gnu/bin/ -DHAVE_CONFIG_H -I. -I../../../../egcs-20000501/libstdc++-v3/src -I.. -nostdinc++ -I../../../../egcs-20000501/libstdc++-v3 -I../../../../egcs-20000501/libstdc++-v3/libio -I../../../../egcs-20000501/libstdc++-v3/config/cpu/alpha -I../../../../egcs-20000501/libstdc++-v3/config/gnu-linux -I/home/albert/local/include -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -g -c -fPIC -DPIC ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc -o .libs/complex_io.lo ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: In function 'std::basic_istream < _CharT, ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: _Traits > & std::operator ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: ( std::basic_istream < _CharT, _Traits > & , ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: std::complex < _Tp > & ) [with _Tp = float, ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: _CharT = char, _Traits = ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc: std::char_traits < char > ]': ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:97: instantiated from here ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:76: Internal compiler error. ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:76: Please submit a full bug report. ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:76: See ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:76: < URL: http://www.gnu.org/software/gcc/bugs.html > ../../../../egcs-20000501/libstdc++-v3/src/complex_io.cc:76: for instructions. make[4]: *** [complex_io.lo] Error 1 make[4]: Leaving directory '/tmp/egcs-build/alphaev5-unknown-linux-gnu/libstdc++-v3/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/tmp/egcs-build/alphaev5-unknown-linux-gnu/libstdc++-v3' make[2]: *** [all-recursive-am] Error 2 make[2]: Leaving directory '/tmp/egcs-build/alphaev5-unknown-linux-gnu/libstdc++-v3' make[1]: *** [all-target-libstdc++-v3] Error 2 make[1]: Leaving directory '/tmp/egcs-build' make: *** [bootstrap-lean] Error 2 Attachment is config.log from /tmp/egcs-build/alphaev5-unknown-linux-gnu/libstdc++-v3 Regards, Albert Zhykhar >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="config.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZTo2MDQ6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29u ZmlndXJlOjYyNTogY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo2NDM6IGNo ZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo2OTI6IGNoZWNraW5nIGZvciBhIEJT RCBjb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjc0NTogY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3VyZTo4MDI6IGNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzZXRzICR7TUFLRX0KY29uZmlndXJlOjgzNTogY2hlY2tpbmcgZm9yIEN5Z3dpbiBlbnZpcm9u bWVudApjb25maWd1cmU6ODUxOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3Mt YnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdu dS9iaW4vIC1jIC1nIC1PMiAgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24g YG1haW4nOgpjb25maWd1cmU6ODQ3OiBgX19DWUdXSU4zMl9fJyB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZmlndXJlOjg0NzogKEVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25maWd1cmU6ODQ3OiBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l IDg0MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCmludCBtYWluKCkgewoKI2lm bmRlZiBfX0NZR1dJTl9fCiNkZWZpbmUgX19DWUdXSU5fXyBfX0NZR1dJTjMyX18KI2VuZGlmCnJl dHVybiBfX0NZR1dJTl9fOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo4Njg6IGNoZWNraW5nIGZv ciBtaW5ndzMyIGVudmlyb25tZW50CmNvbmZpZ3VyZTo4ODA6IC90bXAvZWdjcy1idWlsZC9nY2Mv eGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yICBjb25mdGVzdC5jIDE+JjUKY29uZmln dXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZTo4NzY6IGBfX01JTkdXMzJfXycgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZpZ3VyZTo4NzY6IChFYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZmlndXJlOjg3 NjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgojbGluZSA4NzMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgpp bnQgbWFpbigpIHsKcmV0dXJuIF9fTUlOR1czMl9fOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo5 Mjc6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjk2ODogY2hlY2tpbmcgZm9y IHdvcmtpbmcgYWNsb2NhbApjb25maWd1cmU6OTgxOiBjaGVja2luZyBmb3Igd29ya2luZyBhdXRv Y29uZgpjb25maWd1cmU6OTk0OiBjaGVja2luZyBmb3Igd29ya2luZyBhdXRvbWFrZQpjb25maWd1 cmU6MTAwNzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYXV0b2hlYWRlcgpjb25maWd1cmU6MTAyMDog Y2hlY2tpbmcgZm9yIHdvcmtpbmcgbWFrZWluZm8KY29uZmlndXJlOjEwNDY6IGNoZWNraW5nIGZv ciBnY2MKY29uZmlndXJlOjExMjU6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBD CmNvbmZpZ3VyZToxMTM0OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVp bGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9i aW4vIC1FIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjExNDk6IGNoZWNraW5nIHdoZXRoZXIgL3RtcC9l Z2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQv bG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyBhY2NlcHRzIC1nCmNvbmZpZ3Vy ZToxMTg2OiBjaGVja2luZyBmb3IgYysrCmNvbmZpZ3VyZToxMjE5OiBjaGVja2luZyB3aGV0aGVy IHdlIGFyZSB1c2luZyBHTlUgQysrCmNvbmZpZ3VyZToxMjI4OiAvdG1wL2VnY3MtYnVpbGQvZ2Nj L2crKyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLUUgY29uZnRlc3QuQwpjb25maWd1cmU6MTI0MzogY2hl Y2tpbmcgd2hldGhlciAvdG1wL2VnY3MtYnVpbGQvZ2NjL2crKyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g YWNjZXB0cyAtZwpjb25maWd1cmU6MTI3NjogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29u ZmlndXJlOjEyOTc6IGNoZWNraW5nIGZvciBhcwpjb25maWd1cmU6MTMyOTogY2hlY2tpbmcgZm9y IGFyCmNvbmZpZ3VyZToxMzYxOiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZToxNDM4OiBj aGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToxNDkyOiBjaGVj a2luZyB3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1h a2VmaWxlcwpjb25maWd1cmU6MTY1MDogY2hlY2tpbmcgZm9yIHJhbmxpYgpjb25maWd1cmU6MTY4 OTogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDCmNvbmZpZ3VyZToxNzUxOiBjaGVja2luZyBp ZiB0aGUgbGlua2VyIChsZCkgaXMgR05VIGxkCkdOVSBsZCB2ZXJzaW9uIDIuOS41ICh3aXRoIEJG RCAyLjkuNS4wLjMyKQpjb25maWd1cmU6MTc2NzogY2hlY2tpbmcgZm9yIEJTRC1jb21wYXRpYmxl IG5tCmNvbmZpZ3VyZToxODAzOiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmx0Y29uZmln OjU4NjogY2hlY2tpbmcgZm9yIG9iamVjdCBzdWZmaXgKbHRjb25maWc6NTg3OiAvdG1wL2VnY3Mt YnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2Nh bC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAgY29uZnRlc3QuYyAx PiY1Cmx0Y29uZmlnOjcxNzogY2hlY2tpbmcgaWYgL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIFBJ QyBmbGFnIC1mUElDIHdvcmtzCmx0Y29uZmlnOjcxODogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2Nj IC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5r bm93bi1saW51eC1nbnUvYmluLyAtYyAtZyAtTzIgLWZQSUMgLURQSUMgIGNvbmZ0ZXN0LmMgMT4m NQpsdGNvbmZpZzo3NjA6IGNoZWNraW5nIGlmIC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyBzdXBw b3J0cyAtYyAtbyBmaWxlLm8KbHRjb25maWc6NzYxOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2Mg LUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAtYyAtbyBjb25mdGVzdDIubyAgY29uZnRlc3Qu YyAxPiY1Cmx0Y29uZmlnOjc4ODogY2hlY2tpbmcgaWYgL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2Nj IHN1cHBvcnRzIC1jIC1vIGZpbGUubG8KbHRjb25maWc6Nzg5OiAvdG1wL2VnY3MtYnVpbGQvZ2Nj L3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2 NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAtYyAtbyBjb25mdGVzdC5sbyAgY29u ZnRlc3QuYyAxPiY1Cmx0Y29uZmlnOjg0MDogY2hlY2tpbmcgaWYgL3RtcC9lZ2NzLWJ1aWxkL2dj Yy94Z2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMKbHRjb25maWc6ODQxOiAv dG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2Fs YmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAtZm5v LXJ0dGkgLWZuby1leGNlcHRpb25zIC1jIGNvbmZ0ZXN0LmMgIGNvbmZ0ZXN0LmMgMT4mNQpsdGNv bmZpZzo4ODQ6IGNoZWNraW5nIGlmIC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyBzdGF0aWMgZmxh ZyAtc3RhdGljIHdvcmtzCmx0Y29uZmlnOjg4NTogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1C L3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93 bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICAtc3RhdGljIGNvbmZ0ZXN0LmMg IDE+JjUKR05VIGxkIHZlcnNpb24gMi45LjUgKHdpdGggQkZEIDIuOS41LjAuMzIpCmx0Y29uZmln OjE0NDc6IGNoZWNraW5nIGlmIGdsb2JhbF9zeW1ib2xfcGlwZSB3b3JrcwpsdGNvbmZpZzoxNDQ4 OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21l L2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAg Y29uZnRlc3QuYyAxPiY1Cmx0Y29uZmlnOjE0NTE6IGV2YWwgIm5tIGNvbmZ0ZXN0Lm8gfCBzZWQg LW4gLWUgJ3MvXi4qWyAJXVwoW0FCQ0RHSVNUV11cKVsgCV1bIAldKlwoXClcKFtfQS1aYS16XVtf QS1aYS16MC05XSpcKSQvXDEgXDJcMyBcMy9wJyA+IGNvbmZ0ZXN0Lm5tIgpsdGNvbmZpZzoxNTAz OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21l L2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0 IC1nIC1PMiAtZm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyAgIGNvbmZ0ZXN0 LmMgY29uZnRlc3RtLm8gMT4mNQpsdGNvbmZpZzoxOTc3OiBjaGVja2luZyBmb3IgZGxvcGVuCmx0 Y29uZmlnOjIwMDQ6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g LW8gY29uZnRlc3QgLWcgLU8yIC1mbm8tYnVpbHRpbiAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25z ICAgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NjdXlEczZpLm86IEluIGZ1bmN0aW9uIGBtYWluJzoK L3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9s dGNvbmZpZzoxOTk4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBkbG9wZW4nCi90bXAvZWdjcy1i dWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvbHRjb25maWc6MTk5 ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZGxvcGVuJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpsdGNvbmZpZzogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxOTgyICJs dGNvbmZpZyIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBk bG9wZW4oKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCmNoYXIgZGxvcGVuKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFu IGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9kbG9wZW4pIHx8IGRlZmluZWQgKF9fc3R1 Yl9fX2Rsb3BlbikKY2hva2UgbWUKI2Vsc2UKZGxvcGVuKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsg fQpsdGNvbmZpZzoyMDIyOiBjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwKbHRjb25maWc6MjA0 MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9t ZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVz dCAtZyAtTzIgLWZuby1idWlsdGluIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgICBjb25mdGVz dC5jIC1sZGwgICAxPiY1Cmx0Y29uZmlnOjIyMTA6IGNoZWNraW5nIGZvciBkbGZjbi5oCmx0Y29u ZmlnOjIyMjA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2Mv IC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMg LWcgLU8yIC1mbm8tYnVpbHRpbiAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICBjb25mdGVzdC5j IDE+JjUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Cmx0Y29uZmlnOjIyNDg6 IGNoZWNraW5nIHdoZXRoZXIgYSBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmCmx0Y29uZmlnOjIz MDI6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hv bWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRl c3QgLWcgLU8yIC1mbm8tYnVpbHRpbiAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zICAtREhBVkVf RExGQ05fSCAgLVdsLC0tZXhwb3J0LWR5bmFtaWMgY29uZnRlc3QuYyAtbGRsICAxPiY1Cmx0Y29u ZmlnOjIzMjE6IGNoZWNraW5nIHdoZXRoZXIgYSBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNh biBkbG9wZW4gaXRzZWxmCmx0Y29uZmlnOjIzNzU6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAt Qi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yIC1mbm8tYnVpbHRpbiAtZm5vLXJ0 dGkgLWZuby1leGNlcHRpb25zICAtREhBVkVfRExGQ05fSCAgLVdsLC0tZXhwb3J0LWR5bmFtaWMg LXN0YXRpYyBjb25mdGVzdC5jIC1sZGwgIDE+JjUKbHRjb25maWc6IGZhaWxlZCBwcm9ncmFtIHdh czoKI2xpbmUgMjMyOSAibHRjb25maWciCgojaWYgSEFWRV9ETEZDTl9ICiNpbmNsdWRlIDxkbGZj bi5oPgojZW5kaWYKCiNpbmNsdWRlIDxzdGRpby5oPgoKI2lmZGVmIFJUTERfR0xPQkFMCiMgZGVm aW5lIExURExfR0xPQkFMCVJUTERfR0xPQkFMCiNlbHNlCiMgaWZkZWYgRExfR0xPQkFMCiMgIGRl ZmluZSBMVERMX0dMT0JBTAlETF9HTE9CQUwKIyBlbHNlCiMgIGRlZmluZSBMVERMX0dMT0JBTAkw CiMgZW5kaWYKI2VuZGlmCgovKiBXZSBtYXkgaGF2ZSB0byBkZWZpbmUgTFRETF9MQVpZX09SX05P VyBpbiB0aGUgY29tbWFuZCBsaW5lIGlmIHdlCiAgIGZpbmQgb3V0IGl0IGRvZXMgbm90IHdvcmsg aW4gc29tZSBwbGF0Zm9ybS4gKi8KI2lmbmRlZiBMVERMX0xBWllfT1JfTk9XCiMgaWZkZWYgUlRM RF9MQVpZCiMgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCVJUTERfTEFaWQojIGVsc2UKIyAgaWZk ZWYgRExfTEFaWQojICAgZGVmaW5lIExURExfTEFaWV9PUl9OT1cJRExfTEFaWQojICBlbHNlCiMg ICBpZmRlZiBSVExEX05PVwojICAgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCVJUTERfTk9XCiMg ICBlbHNlCiMgICAgaWZkZWYgRExfTk9XCiMgICAgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCURM X05PVwojICAgIGVsc2UKIyAgICAgZGVmaW5lIExURExfTEFaWV9PUl9OT1cJMAojICAgIGVuZGlm CiMgICBlbmRpZgojICBlbmRpZgojIGVuZGlmCiNlbmRpZgoKZm5vcmQoKSB7IGludCBpPTQyO30K bWFpbigpIHsgdm9pZCAqc2VsZiwgKnB0cjEsICpwdHIyOyBzZWxmPWRsb3BlbigwLExURExfR0xP QkFMfExURExfTEFaWV9PUl9OT1cpOwogICAgaWYoc2VsZikgeyBwdHIxPWRsc3ltKHNlbGYsImZu b3JkIik7IHB0cjI9ZGxzeW0oc2VsZiwiX2Zub3JkIik7CiAgICBpZihwdHIxIHx8IHB0cjIpIGV4 aXQoMCk7IH0gZXhpdCgxKTsgfSAKCmNvbmZpZ3VyZToxOTkzOiBjaGVja2luZyBob3cgdG8gcnVu IHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6MjAxNDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94 Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUt dW5rbm93bi1saW51eC1nbnUvYmluLyAtRSAgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRl c3Qub3V0CmNvbmZpZ3VyZToyMDc0OiBjaGVja2luZyBmb3IgZysrIHRoYXQgd2lsbCBzdWNjZXNz ZnVsbGx5IGNvbXBpbGUgdGhpcyBjb2RlCmNvbmZpZ3VyZToyMDk3OiBjaGVja2luZyBmb3IgZysr IHRoYXQgc3VwcG9ydHMgbmV3IGlubGluaW5nIG1lY2hhbmlzbQpjb25maWd1cmU6MjEzMTogY2hl Y2tpbmcgZm9yIGNwdSBwcmltaXRpdmVzIGRpcmVjdG9yeQpjb25maWd1cmU6MjE5MDogY2hlY2tp bmcgZm9yIGNzdGRpbyB0byB1c2UKY29uZmlndXJlOjIyMTQ6IGNoZWNraW5nIGZvciBsaWJpby5o CmNvbmZpZ3VyZToyMjI0OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVp bGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9i aW4vIC1FICBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjIy NTk6IGNoZWNraW5nIGZvciBfR19jb25maWcuaApjb25maWd1cmU6MjI2OTogL3RtcC9lZ2NzLWJ1 aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtRSAgY29uZnRlc3QuYyA+L2Rldi9udWxs IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZToyMzQ4OiBjaGVja2luZyBmb3IgdGhyZWFkcyBwYWNr YWdlIHRvIHVzZQpjb25maWd1cmU6MjU4NTogY2hlY2tpbmcgZm9yIG5hbi5oCmNvbmZpZ3VyZToy NTk1OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9o b21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1FICBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjI1ODU6IGNoZWNraW5n IGZvciBpZWVlZnAuaApjb25maWd1cmU6MjU5NTogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1C L3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93 bi1saW51eC1nbnUvYmluLyAtRSAgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0 CmNvbmZpZ3VyZToyNTkxOjE5OiBpZWVlZnAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGllZWVmcC5oPgpjb25maWd1cmU6MjU4NTogY2hl Y2tpbmcgZm9yIGVuZGlhbi5oCmNvbmZpZ3VyZToyNTk1OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hn Y2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11 bmtub3duLWxpbnV4LWdudS9iaW4vIC1FICBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVz dC5vdXQKY29uZmlndXJlOjI1ODU6IGNoZWNraW5nIGZvciBzeXMvaXNhX2RlZnMuaApjb25maWd1 cmU6MjU5NTogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8g LUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtRSAg Y29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZToyNTkxOjI1OiBz eXMvaXNhX2RlZnMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMu aCIKI2luY2x1ZGUgPHN5cy9pc2FfZGVmcy5oPgpjb25maWd1cmU6MjU4NTogY2hlY2tpbmcgZm9y IG1hY2hpbmUvZW5kaWFuLmgKY29uZmlndXJlOjI1OTU6IC90bXAvZWdjcy1idWlsZC9nY2MveGdj YyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0 Lm91dApjb25maWd1cmU6MjU5MToyNzogbWFjaGluZS9lbmRpYW4uaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+ CmNvbmZpZ3VyZToyNTg1OiBjaGVja2luZyBmb3IgbWFjaGluZS9wYXJhbS5oCmNvbmZpZ3VyZToy NTk1OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9o b21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1FICBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjI1OTE6MjY6IG1hY2hp bmUvcGFyYW0uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK I2luY2x1ZGUgPG1hY2hpbmUvcGFyYW0uaD4KY29uZmlndXJlOjI1ODU6IGNoZWNraW5nIGZvciBz eXMvbWFjaGluZS5oCmNvbmZpZ3VyZToyNTk1OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIv dG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9iaW4vIC1FICBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQK Y29uZmlndXJlOjI1OTE6MjQ6IHN5cy9tYWNoaW5lLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI1OTAgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvbWFjaGluZS5oPgpjb25maWd1cmU6 MjU4NTogY2hlY2tpbmcgZm9yIGZwLmgKY29uZmlndXJlOjI1OTU6IC90bXAvZWdjcy1idWlsZC9n Y2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhh ZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNv bmZ0ZXN0Lm91dApjb25maWd1cmU6MjU5MToxNTogZnAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29uZmlndXJl IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGZwLmg+CmNvbmZpZ3VyZToyNTg1OiBj aGVja2luZyBmb3IgbG9jYWxlLmgKY29uZmlndXJlOjI1OTU6IC90bXAvZWdjcy1idWlsZC9nY2Mv eGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0 ZXN0Lm91dApjb25maWd1cmU6MjU4NTogY2hlY2tpbmcgZm9yIGZsb2F0LmgKY29uZmlndXJlOjI1 OTU6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hv bWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0 ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MjU4NTogY2hlY2tpbmcg Zm9yIGludHR5cGVzLmgKY29uZmlndXJlOjI1OTU6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAt Qi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91 dApjb25maWd1cmU6MjU5MToyMTogaW50dHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjU5MCAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGludHR5cGVzLmg+CmNvbmZpZ3VyZToyNjI1 OiBjaGVja2luZyBmb3IgR05VIEMrKyBfX2NvbXBsZXhfXyBzdXBwb3J0CmNvbmZpZ3VyZToyNjQ4 OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL2crKyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUv YWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yIC1m dnRhYmxlLXRodW5rcyAtRF9HTlVfU09VUkNFICBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjI2 ODA6IGNoZWNraW5nIGZvciBHTlUgQysrIF9fY29tcGxleF9fIGZsb2F0IHN1cHBvcnQKY29uZmln dXJlOjI3MjA6IC90bXAvZWdjcy1idWlsZC9nY2MvZysrIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8g LUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtYyAt ZyAtTzIgLWZ2dGFibGUtdGh1bmtzIC1EX0dOVV9TT1VSQ0UgIGNvbmZ0ZXN0LkMgMT4mNQpjb25m aWd1cmU6Mjc1MTogY2hlY2tpbmcgZm9yIF9fYnVpbHRpbl9zaW5mCmNvbmZpZ3VyZToyNzYwOiAv dG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2Fs YmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyNzc5OiBjaGVja2luZyBmb3IgX19idWlsdGluX2Nvc2YK Y29uZmlndXJlOjI3ODg6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWls ZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jp bi8gLWMgLWcgLU8yICBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjI4MDc6IGNoZWNraW5nIGZv ciBfX2J1aWx0aW5fZmFic2YKY29uZmlndXJlOjI4MTY6IC90bXAvZWdjcy1idWlsZC9nY2MveGdj YyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yICBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl OjI4MzU6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fc3FydGYKY29uZmlndXJlOjI4NDQ6IC90bXAv ZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0 L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yICBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjI4NjQ6IGNoZWNraW5nIGZvciBzaW4gaW4gLWxtCmNvbmZpZ3Vy ZToyODgzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAt Qi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNv bmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxtICAgMT4mNQpjb25maWd1cmU6Mjg3Njogd2Fy bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGBzaW4nCmNvbmZp Z3VyZToyOTEwOiBjaGVja2luZyBmb3IgY29tcGxleC5oCmNvbmZpZ3VyZToyOTIwOiAvdG1wL2Vn Y3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9s b2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1FICBjb25mdGVzdC5jID4vZGV2 L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjI5MTY6MjA6IGNvbXBsZXguaDogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MjkxNSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGNvbXBsZXgu aD4KY29uZmlndXJlOjI5NTI6IGNoZWNraW5nIGZvciBjY29zCmNvbmZpZ3VyZToyOTgwOiAvdG1w L2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVy dC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1P MiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2M2a0k4T08ubzogSW4gZnVuY3Rpb24gYG1h aW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysr LXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjY29zJwovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjY29zJwpjb2xsZWN0MjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1 NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBjY29zKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFz c2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGNjb3MoKTsKCmludCBtYWluKCkg ewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Nj b3MpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2Njb3MpCmNob2tlIG1lCiNlbHNlCmNjb3MoKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY2Nvc2YKY29u ZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY3dCUU15ci5v OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxp bnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYGNjb3NmJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGli c3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjY29zZicK Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2Nvc2YoKTsgYmVs b3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIg Y2Nvc2YoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwoj aWYgZGVmaW5lZCAoX19zdHViX2Njb3NmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jY29zZikKY2hv a2UgbWUKI2Vsc2UKY2Nvc2YoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUy OiBjaGVja2luZyBmb3IgY2Nvc2gKY29uZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2Mv eGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAg LWxtIDE+JjUKL3RtcC9jY1lNMzlnNC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1i dWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5 NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNjb3NoJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFl djUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBjY29zaCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0 dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgY2Nvc2goKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92 ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov Ci8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY2Nvc2goKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0 dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Njb3NoKSB8fCBkZWZp bmVkIChfX3N0dWJfX19jY29zaCkKY2hva2UgbWUKI2Vsc2UKY2Nvc2goKTsKI2VuZGlmCgo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY2Nvc2hmCmNvbmZpZ3VyZToy OTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9o b21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0 ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NnNU01MEcubzogSW4gZnVu Y3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv bGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjY29z aGYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNjb3NoZicKY29sbGVj dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90 eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2Nvc2hmKCk7IGJlbG93LiAg Ki8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGNjb3No ZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk ZWZpbmVkIChfX3N0dWJfY2Nvc2hmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jY29zaGYpCmNob2tl IG1lCiNlbHNlCmNjb3NoZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjI5NTI6 IGNoZWNraW5nIGZvciBjZXhwCmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hn Y2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11 bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1s bSAxPiY1Ci90bXAvY2NrOGxaT2oubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVp bGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjZXhwJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUt dW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBjZXhwJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1NyAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp dGggY2hhciBjZXhwKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBX ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn Y2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwpjaGFyIGNleHAoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2NleHApIHx8IGRlZmluZWQgKF9f c3R1Yl9fX2NleHApCmNob2tlIG1lCiNlbHNlCmNleHAoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY2V4cGYKY29uZmlndXJlOjI5ODA6IC90bXAv ZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0 L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8y ICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY3o2THVTdC5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNleHBmJwovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjZXhwZicKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5 NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2V4cGYoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8 YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY2V4cGYoKTsKCmludCBtYWlu KCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1 bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHVi X2NleHBmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jZXhwZikKY2hva2UgbWUKI2Vsc2UKY2V4cGYo KTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY19s b2cKY29uZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1i dWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251 L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY3Bt S0RyNi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYGNfbG9nJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1n bnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBj X2xvZycKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZz LmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY19sb2co KTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CmNoYXIgY19sb2coKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2NfbG9nKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jX2xv ZykKY2hva2UgbWUKI2Vsc2UKY19sb2coKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToyOTUyOiBjaGVja2luZyBmb3IgY19sb2dmCmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVp bGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9h bHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0 ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NkWkNwTkoubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1w L2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZp Z3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjX2xvZ2YnCi90bXAvZWdjcy1idWls ZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNfbG9nZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEg ZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcgImNv bmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgY19sb2dmKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2Vy dC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGNfbG9nZigpOwoKaW50IG1haW4oKSB7 CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp dCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfY19s b2dmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jX2xvZ2YpCmNob2tlIG1lCiNlbHNlCmNfbG9nZigp OwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjI5NTI6IGNoZWNraW5nIGZvciBjbG9n MTAKY29uZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1i dWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251 L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY3pY TE0yai5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYGNsb2cxMCcKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgt Z251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6Mjk3NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg Y2xvZzEwJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRl ZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1 bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBjbG9n MTAoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2My IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCmNoYXIgY2xvZzEwKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5 cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9jbG9nMTApIHx8IGRlZmluZWQgKF9fc3R1Yl9f X2Nsb2cxMCkKY2hva2UgbWUKI2Vsc2UKY2xvZzEwKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpj b25maWd1cmU6Mjk1MjogY2hlY2tpbmcgZm9yIGNsb2cxMGYKY29uZmlndXJlOjI5ODA6IC90bXAv ZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0 L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8y ICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jYzFPWmcxVy5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNsb2cxMGYnCi90bXAv ZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmln dXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNsb2cxMGYnCmNvbGxlY3QyOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAyOTU3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVy IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGNsb2cxMGYoKTsgYmVsb3cuICAqLwojaW5j bHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY2xvZzEwZigpOwoK aW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVk IChfX3N0dWJfY2xvZzEwZikgfHwgZGVmaW5lZCAoX19zdHViX19fY2xvZzEwZikKY2hva2UgbWUK I2Vsc2UKY2xvZzEwZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjI5NTI6IGNo ZWNraW5nIGZvciBjcG93CmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2Mg LUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAx PiY1Ci90bXAvY2NRbVJaQXEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjcG93JwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5r bm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBjcG93Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1NyAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGgg Y2hhciBjcG93KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBh bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1 c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My CiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwpjaGFyIGNwb3coKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Nwb3cpIHx8IGRlZmluZWQgKF9fc3R1 Yl9fX2Nwb3cpCmNob2tlIG1lCiNlbHNlCmNwb3coKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY3Bvd2YKY29uZmlndXJlOjI5ODA6IC90bXAvZWdj cy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xv Y2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAg Y29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY2lYTFdVSi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6 Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMv Y29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNwb3dmJwovdG1wL2VnY3Mt YnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToy OTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjcG93ZicKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY3Bvd2YoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNz ZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY3Bvd2YoKTsKCmludCBtYWluKCkg ewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Nw b3dmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jcG93ZikKY2hva2UgbWUKI2Vsc2UKY3Bvd2YoKTsK I2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY3Npbgpj b25maWd1cmU6Mjk4MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxk L2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmlu LyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjRUp1WFpt Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24t bGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6Mjk3NDogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgY3NpbicKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xp YnN0ZGMrKy12My9jb25maWd1cmU6Mjk3NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgY3NpbicK Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY3NpbigpOyBiZWxv dy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBj c2luKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lm IGRlZmluZWQgKF9fc3R1Yl9jc2luKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jc2luKQpjaG9rZSBt ZQojZWxzZQpjc2luKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6Mjk1MjogY2hl Y2tpbmcgZm9yIGNzaW5mCmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2Mg LUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAx PiY1Ci90bXAvY2NNaVViSVoubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjc2luZicKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6Mjk3NDogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgY3NpbmYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAyOTU3ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIGNzaW5mKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBX ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn Y2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwpjaGFyIGNzaW5mKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAg IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9jc2luZikgfHwgZGVmaW5lZCAo X19zdHViX19fY3NpbmYpCmNob2tlIG1lCiNlbHNlCmNzaW5mKCk7CiNlbmRpZgoKOyByZXR1cm4g MDsgfQpjb25maWd1cmU6Mjk1MjogY2hlY2tpbmcgZm9yIGNzaW5oCmNvbmZpZ3VyZToyOTgwOiAv dG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2Fs YmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1n IC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NjMUpkamYubzogSW4gZnVuY3Rpb24g YG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3Rk YysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjc2luaCcKL3Rt cC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25m aWd1cmU6Mjk3NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgY3NpbmgnCmNvbGxlY3QyOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAyOTU3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVy IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGNzaW5oKCk7IGJlbG93LiAgKi8KI2luY2x1 ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGNzaW5oKCk7CgppbnQg bWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9f c3R1Yl9jc2luaCkgfHwgZGVmaW5lZCAoX19zdHViX19fY3NpbmgpCmNob2tlIG1lCiNlbHNlCmNz aW5oKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6Mjk1MjogY2hlY2tpbmcgZm9y IGNzaW5oZgpjb25maWd1cmU6Mjk4MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9l Z2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1w L2NjbnQ1YUNILm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6Mjk3NDogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgY3NpbmhmJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1s aW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBjc2luaGYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAyOTU3ICJjb25maWd1cmUiCiNpbmNsdWRlICJj b25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IGNzaW5oZigpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55 IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgog ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KY2hhciBjc2luaGYoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg YW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2NzaW5oZikgfHwgZGVmaW5lZCAoX19z dHViX19fY3NpbmhmKQpjaG9rZSBtZQojZWxzZQpjc2luaGYoKTsKI2VuZGlmCgo7IHJldHVybiAw OyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY3NxcnQKY29uZmlndXJlOjI5ODA6IC90 bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxi ZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcg LU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY1hJT3Yzai5vOiBJbiBmdW5jdGlvbiBg bWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRj KystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNzcXJ0JwovdG1w L2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZp Z3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjc3FydCcKY29sbGVjdDI6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l IDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY3NxcnQoKTsgYmVsb3cuICAqLwojaW5jbHVk ZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo IHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY3NxcnQoKTsKCmludCBt YWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19z dHViX2NzcXJ0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19jc3FydCkKY2hva2UgbWUKI2Vsc2UKY3Nx cnQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3Ig Y3NxcnRmCmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2Vn Y3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4 LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAv Y2NYOXU5WVcubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUt dW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBjc3FydGYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxp bnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYGNzcXJ0ZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg Y3NxcnRmKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwpjaGFyIGNzcXJ0ZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfY3NxcnRmKSB8fCBkZWZpbmVkIChfX3N0 dWJfX19jc3FydGYpCmNob2tlIG1lCiNlbHNlCmNzcXJ0ZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjI5NTI6IGNoZWNraW5nIGZvciBjdGFuCmNvbmZpZ3VyZToyOTgwOiAvdG1w L2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVy dC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1P MiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2MzSHBYdXoubzogSW4gZnVuY3Rpb24gYG1h aW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysr LXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjdGFuJwovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjdGFuJwpjb2xsZWN0MjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1 NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBjdGFuKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFz c2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGN0YW4oKTsKCmludCBtYWluKCkg ewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2N0 YW4pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2N0YW4pCmNob2tlIG1lCiNlbHNlCmN0YW4oKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY3RhbmYKY29u ZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY2hnMjA0Yi5v OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxp bnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYGN0YW5mJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGli c3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjdGFuZicK Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY3RhbmYoKTsgYmVs b3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIg Y3RhbmYoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0 aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwoj aWYgZGVmaW5lZCAoX19zdHViX2N0YW5mKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jdGFuZikKY2hv a2UgbWUKI2Vsc2UKY3RhbmYoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUy OiBjaGVja2luZyBmb3IgY3RhbmgKY29uZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2Mv eGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAg LWxtIDE+JjUKL3RtcC9jY2VOOVlPbC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1i dWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjI5 NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGN0YW5oJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFl djUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBjdGFuaCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0 dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgY3RhbmgoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92 ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov Ci8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY3RhbmgoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0 dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2N0YW5oKSB8fCBkZWZp bmVkIChfX3N0dWJfX19jdGFuaCkKY2hva2UgbWUKI2Vsc2UKY3RhbmgoKTsKI2VuZGlmCgo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY3RhbmhmCmNvbmZpZ3VyZToy OTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9o b21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0 ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NrbDRNa1kubzogSW4gZnVu Y3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv bGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjdGFu aGYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGN0YW5oZicKY29sbGVj dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90 eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY3RhbmhmKCk7IGJlbG93LiAg Ki8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGN0YW5o ZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk ZWZpbmVkIChfX3N0dWJfY3RhbmhmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jdGFuaGYpCmNob2tl IG1lCiNlbHNlCmN0YW5oZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjI5NTI6 IGNoZWNraW5nIGZvciBjYXJnCmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hn Y2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11 bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1s bSAxPiY1Ci90bXAvY2N3UzZOZUIubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVp bGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjYXJnJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUt dW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBjYXJnJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjk1NyAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp dGggY2hhciBjYXJnKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBX ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn Y2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwpjaGFyIGNhcmcoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2NhcmcpIHx8IGRlZmluZWQgKF9f c3R1Yl9fX2NhcmcpCmNob2tlIG1lCiNlbHNlCmNhcmcoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgY2FyZ2YKY29uZmlndXJlOjI5ODA6IC90bXAv ZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0 L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8y ICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY21jUUpZZC5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNhcmdmJwovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZToyOTc0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjYXJnZicKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI5 NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgY2FyZ2YoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8 YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY2FyZ2YoKTsKCmludCBtYWlu KCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1 bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHVi X2NhcmdmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19jYXJnZikKY2hva2UgbWUKI2Vsc2UKY2FyZ2Yo KTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyOTUyOiBjaGVja2luZyBmb3IgbmFu CmNvbmZpZ3VyZToyOTgwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVp bGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9i aW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NzbVFZ MVEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93 bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToyOTc0OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBuYW4nCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9s aWJzdGRjKystdjMvY29uZmlndXJlOjI5NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5hbicK Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDI5NTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbmFuKCk7IGJlbG93 LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIG5h bigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk ZWZpbmVkIChfX3N0dWJfbmFuKSB8fCBkZWZpbmVkIChfX3N0dWJfX19uYW4pCmNob2tlIG1lCiNl bHNlCm5hbigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjI5NTI6IGNoZWNraW5n IGZvciBoeXBvdApjb25maWd1cmU6Mjk4MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3Rt cC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1s aW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpj b25maWd1cmU6Mjk1MjogY2hlY2tpbmcgZm9yIGh5cG90Zgpjb25maWd1cmU6Mjk4MDogL3RtcC9l Z2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQv bG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIg ICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6Mjk1MjogY2hlY2tpbmcgZm9yIGF0YW4y Zgpjb25maWd1cmU6Mjk4MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1 aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv YmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6 Mjk1MjogY2hlY2tpbmcgZm9yIGV4cGYKY29uZmlndXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9n Y2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhh ZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu YyAgLWxtIDE+JjUKY29uZmlndXJlOjI5NTI6IGNoZWNraW5nIGZvciBjb3B5c2lnbmYKY29uZmln dXJlOjI5ODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2Mv IC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8g Y29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKY29uZmlndXJlOjMwMDk6IGNo ZWNraW5nIGZvciBjb3B5c2lnbmwKY29uZmlndXJlOjMwMzc6IC90bXAvZWdjcy1idWlsZC9nY2Mv eGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAg LWxtIDE+JjUKL3RtcC9jY09RbFpPai5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1i dWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMw MzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGNvcHlzaWdubCcKL3RtcC9lZ2NzLWJ1aWxkL2Fs cGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzAzMTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgY29weXNpZ25sJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzAxNCAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBjb3B5c2lnbmwoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNz ZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY29weXNpZ25sKCk7CgppbnQgbWFp bigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo aWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1 Yl9jb3B5c2lnbmwpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2NvcHlzaWdubCkKY2hva2UgbWUKI2Vs c2UKY29weXNpZ25sKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzEyMjogY2hl Y2tpbmcgZm9yIG1vZGYKY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAt Qi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+ JjUKY29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciBpc25hbgpjb25maWd1cmU6MzE1MDogL3Rt cC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJl cnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAt TzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6MzEyMjogY2hlY2tpbmcgZm9yIGlz bmFuZgpjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2Nz LWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1n bnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1 cmU6MzEyMjogY2hlY2tpbmcgZm9yIGlzbmFubApjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1 aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m dGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6MzEyMjogY2hlY2tpbmcgZm9yIGlzaW5mCmNvbmZp Z3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2Nj LyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1v IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBj aGVja2luZyBmb3IgaXNpbmZmCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hn Y2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11 bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1s bSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgaXNpbmZsCmNvbmZpZ3VyZTozMTUw OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21l L2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0 IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBm b3IgY29weXNpZ24KY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90 bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24t bGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUK Y29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciBjb3B5c2lnbmwKY29uZmlndXJlOjMxMjI6IGNo ZWNraW5nIGZvciBjb3NmCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2Mg LUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAx PiY1CmNvbmZpZ3VyZTozMTM0OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQt aW4gZnVuY3Rpb24gYGNvc2YnCmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgY29zaGYKY29u ZmlndXJlOjMxNTA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKY29uZmlndXJlOjMxMjI6 IGNoZWNraW5nIGZvciBsb2dmCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hn Y2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11 bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1s bSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgbG9nMTBmCmNvbmZpZ3VyZTozMTUw OiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21l L2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0 IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBm b3IgcG93Zgpjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9l Z2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25m aWd1cmU6MzEyMjogY2hlY2tpbmcgZm9yIHNpbmYKY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1i dWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2Fs L2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29u ZnRlc3QuYyAgLWxtIDE+JjUKY29uZmlndXJlOjMxMzQ6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiBgc2luZicKY29uZmlndXJlOjMxMjI6IGNoZWNraW5n IGZvciBzaW5oZgpjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3Rt cC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1s aW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpj b25maWd1cmU6MzEyMjogY2hlY2tpbmcgZm9yIHNxcnRmCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2Vn Y3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9s b2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAg IGNvbmZ0ZXN0LmMgIC1sbSAxPiY1CmNvbmZpZ3VyZTozMTM0OiB3YXJuaW5nOiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gYHNxcnRmJwpjb25maWd1cmU6MzEyMjogY2hl Y2tpbmcgZm9yIHRhbmYKY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAt Qi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+ JjUKY29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciB0YW5oZgpjb25maWd1cmU6MzE1MDogL3Rt cC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJl cnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAt TzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6MzEyMjogY2hlY2tpbmcgZm9yIHN0 cnRvZgpjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2Nz LWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1n bnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1 cmU6MzEyMjogY2hlY2tpbmcgZm9yIHN0cnRvbGQKY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1i dWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2Fs L2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29u ZnRlc3QuYyAgLWxtIDE+JjUKY29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciBmYWJzZgpjb25m aWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2dj Yy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAt byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQpjb25maWd1cmU6MzEzNDog d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGBmYWJzZicK Y29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciBzaW5jb3MKY29uZmlndXJlOjMxNTA6IC90bXAv ZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0 L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8y ICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY2FxUUNCMS5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjMxNDQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNpbmNvcycKL3RtcC9l Z2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1 cmU6MzE0NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2luY29zJwpjb2xsZWN0MjogbGQgcmV0 dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MzEyNyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaW5jb3MoKTsgYmVsb3cuICAqLwojaW5jbHVk ZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo IHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgc2luY29zKCk7CgppbnQg bWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9f c3R1Yl9zaW5jb3MpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3NpbmNvcykKY2hva2UgbWUKI2Vsc2UK c2luY29zKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzEyMjogY2hlY2tpbmcg Zm9yIHNpbmNvc2YKY29uZmlndXJlOjMxNTA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90 bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24t bGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUK L3RtcC9jY1NyRkpNRS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBo YWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMxNDQ6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYHNpbmNvc2YnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMxNDQ6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYHNpbmNvc2YnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTI3ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIHNpbmNvc2YoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJy aWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8q IFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCmNoYXIgc2luY29zZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05V IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz CiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfc2luY29zZikgfHwgZGVm aW5lZCAoX19zdHViX19fc2luY29zZikKY2hva2UgbWUKI2Vsc2UKc2luY29zZigpOwojZW5kaWYK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMxMjI6IGNoZWNraW5nIGZvciBzaW5jb3NsCmNvbmZp Z3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2Nj LyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1v IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NzajdKbGgubzog SW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMTQ0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBzaW5jb3NsJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGli c3RkYysrLXYzL2NvbmZpZ3VyZTozMTQ0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzaW5jb3Ns Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMzEyNyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaW5jb3NsKCk7 IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj aGFyIHNpbmNvc2woKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3NpbmNvc2wpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3Np bmNvc2wpCmNob2tlIG1lCiNlbHNlCnNpbmNvc2woKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgZmluaXRlCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2Vn Y3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9s b2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAg IGNvbmZ0ZXN0LmMgIC1sbSAxPiY1CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgZmluaXRl CmNvbmZpZ3VyZTozMTIyOiBjaGVja2luZyBmb3IgZnFmaW5pdGUKY29uZmlndXJlOjMxNTA6IC90 bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxi ZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcg LU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY0hiTUd6bS5vOiBJbiBmdW5jdGlvbiBg bWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRj KystdjMvY29uZmlndXJlOjMxNDQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGZxZmluaXRlJwov dG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2Nv bmZpZ3VyZTozMTQ0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmcWZpbml0ZScKY29sbGVjdDI6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDMxMjcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZnFmaW5pdGUoKTsgYmVsb3cuICAq LwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgZnFmaW5p dGUoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYg ZGVmaW5lZCAoX19zdHViX2ZxZmluaXRlKSB8fCBkZWZpbmVkIChfX3N0dWJfX19mcWZpbml0ZSkK Y2hva2UgbWUKI2Vsc2UKZnFmaW5pdGUoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZTozMTIyOiBjaGVja2luZyBmb3IgZnBjbGFzcwpjb25maWd1cmU6MzE1MDogL3RtcC9lZ2NzLWJ1 aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m dGVzdC5jICAtbG0gMT4mNQovdG1wL2NjNnNKQ09TLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rt cC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25m aWd1cmU6MzE0NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZnBjbGFzcycKL3RtcC9lZ2NzLWJ1 aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzE0 NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZnBjbGFzcycKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxMjcg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZnBjbGFzcygpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxh c3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBmcGNsYXNzKCk7CgppbnQgbWFp bigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo aWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1 Yl9mcGNsYXNzKSB8fCBkZWZpbmVkIChfX3N0dWJfX19mcGNsYXNzKQpjaG9rZSBtZQojZWxzZQpm cGNsYXNzKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzEyMjogY2hlY2tpbmcg Zm9yIHFmcGNsYXNzCmNvbmZpZ3VyZTozMTUwOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIv dG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1 Ci90bXAvY2NvYlE1ZXYubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMTQ0OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBxZnBjbGFzcycKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzE0NDogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgcWZwY2xhc3MnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTI3ICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIHFmcGNsYXNzKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBP dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq LwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHFmcGNsYXNzKCk7CgppbnQgbWFpbigpIHsKCi8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl IGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9xZnBjbGFzcykg fHwgZGVmaW5lZCAoX19zdHViX19fcWZwY2xhc3MpCmNob2tlIG1lCiNlbHNlCnFmcGNsYXNzKCk7 CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF9tb2Rm CmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVp bGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9i aW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NFS2Ft RzcubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93 bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBfbW9kZicKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251 L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX21v ZGYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9tb2RmKCk7 IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj aGFyIF9tb2RmKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWls IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21l dGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg Ki8KI2lmIGRlZmluZWQgKF9fc3R1Yl9fbW9kZikgfHwgZGVmaW5lZCAoX19zdHViX19fX21vZGYp CmNob2tlIG1lCiNlbHNlCl9tb2RmKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6 MzE4NTogY2hlY2tpbmcgZm9yIF9pc25hbgpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxk L2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jICAtbG0gMT4mNQovdG1wL2NjOE1zQllKLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9l Z2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1 cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2lzbmFuJwovdG1wL2VnY3MtYnVpbGQv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaXNuYW4nCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4 aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIF9pc25hbigpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQu aD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfaXNuYW4oKTsKCmludCBtYWluKCkgewoK LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX19pc25h bikgfHwgZGVmaW5lZCAoX19zdHViX19fX2lzbmFuKQpjaG9rZSBtZQojZWxzZQpfaXNuYW4oKTsK I2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozMTg1OiBjaGVja2luZyBmb3IgX2lzbmFu Zgpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1 aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv YmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjS1Ix eHRtLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgX2lzbmFuZicKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgt Z251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X2lzbmFuZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZk ZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX2lz bmFuZigpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KY2hhciBfaXNuYW5mKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFs d2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVk CiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFu IGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9faXNuYW5mKSB8fCBkZWZpbmVkIChfX3N0 dWJfX19faXNuYW5mKQpjaG9rZSBtZQojZWxzZQpfaXNuYW5mKCk7CiNlbmRpZgoKOyByZXR1cm4g MDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF9pc25hbmwKY29uZmlndXJlOjMyMTM6 IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUv YWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3Qg LWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY1Ywa2phdy5vOiBJbiBmdW5jdGlv biBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJz dGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pc25hbmwn Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMv Y29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pc25hbmwnCmNvbGxlY3Qy OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz OgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9pc25hbmwoKTsgYmVsb3cuICAq LwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX2lzbmFu bCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk ZWZpbmVkIChfX3N0dWJfX2lzbmFubCkgfHwgZGVmaW5lZCAoX19zdHViX19fX2lzbmFubCkKY2hv a2UgbWUKI2Vsc2UKX2lzbmFubCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMx ODU6IGNoZWNraW5nIGZvciBfaXNpbmYKY29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9n Y2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhh ZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu YyAgLWxtIDE+JjUKL3RtcC9jYzFNT2RHYS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdj cy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJl OjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pc2luZicKL3RtcC9lZ2NzLWJ1aWxkL2Fs cGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX2lzaW5mJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5MCAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciBfaXNpbmYoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+ Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX2lzaW5mKCk7CgppbnQgbWFpbigpIHsKCi8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9faXNpbmYp IHx8IGRlZmluZWQgKF9fc3R1Yl9fX19pc2luZikKY2hva2UgbWUKI2Vsc2UKX2lzaW5mKCk7CiNl bmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF9pc2luZmYK Y29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWls ZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jp bi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY1Rsem1h UC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9pc2luZmYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdu dS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9p c2luZmYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm cy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9pc2lu ZmYoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2My IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCmNoYXIgX2lzaW5mZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfX2lzaW5mZikgfHwgZGVmaW5lZCAoX19zdHVi X19fX2lzaW5mZikKY2hva2UgbWUKI2Vsc2UKX2lzaW5mZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjMxODU6IGNoZWNraW5nIGZvciBfaXNpbmZsCmNvbmZpZ3VyZTozMjEzOiAv dG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2Fs YmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1n IC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NaRHRZQXIubzogSW4gZnVuY3Rpb24g YG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3Rk YysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaXNpbmZsJwov dG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2Nv bmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaXNpbmZsJwpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMzE5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfaXNpbmZsKCk7IGJlbG93LiAgKi8K I2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9pc2luZmwo KTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVm aW5lZCAoX19zdHViX19pc2luZmwpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19pc2luZmwpCmNob2tl IG1lCiNlbHNlCl9pc2luZmwoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozMTg1 OiBjaGVja2luZyBmb3IgX2NvcHlzaWduCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQv Z2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBo YWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgIC1sbSAxPiY1Ci90bXAvY2NsMjhnVXcubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfY29weXNpZ24nCi90bXAvZWdjcy1idWls ZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9jb3B5c2lnbicKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX2NvcHlzaWduKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUg PGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9jb3B5c2lnbigpOwoKaW50 IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChf X3N0dWJfX2NvcHlzaWduKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fY29weXNpZ24pCmNob2tlIG1l CiNlbHNlCl9jb3B5c2lnbigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMxODU6 IGNoZWNraW5nIGZvciBfY29weXNpZ25sCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQv Z2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBo YWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgIC1sbSAxPiY1Ci90bXAvY2NXUTNITEcubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfY29weXNpZ25sJwovdG1wL2VnY3MtYnVp bGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfY29weXNpZ25sJwpjb2xsZWN0MjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5 MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfY29weXNpZ25sKCk7IGJlbG93LiAgKi8KI2luY2x1 ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9jb3B5c2lnbmwoKTsK CmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5l ZCAoX19zdHViX19jb3B5c2lnbmwpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19jb3B5c2lnbmwpCmNo b2tlIG1lCiNlbHNlCl9jb3B5c2lnbmwoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZTozMTg1OiBjaGVja2luZyBmb3IgX2Nvc2YKY29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWls ZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2Fs cGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRl c3QuYyAgLWxtIDE+JjUKL3RtcC9jY0lhNU1Fai5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAv ZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmln dXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9jb3NmJwovdG1wL2VnY3MtYnVpbGQv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfY29zZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAgImNvbmZp Z3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgX2Nvc2YoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+ Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX2Nvc2YoKTsKCmludCBtYWluKCkgewoKLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX19jb3NmKSB8 fCBkZWZpbmVkIChfX3N0dWJfX19fY29zZikKY2hva2UgbWUKI2Vsc2UKX2Nvc2YoKTsKI2VuZGlm Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozMTg1OiBjaGVja2luZyBmb3IgX2Nvc2hmCmNvbmZp Z3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2Nj LyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1v IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NJelpsU1Yubzog SW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfY29zaGYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJz dGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9jb3NoZicK Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDMxOTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX2Nvc2hmKCk7IGJl bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFy IF9jb3NoZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3 aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CiNpZiBkZWZpbmVkIChfX3N0dWJfX2Nvc2hmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fY29zaGYp CmNob2tlIG1lCiNlbHNlCl9jb3NoZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjMxODU6IGNoZWNraW5nIGZvciBfbG9nZgpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxk L2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jICAtbG0gMT4mNQovdG1wL2NjUVM0SE55Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9l Z2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1 cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2xvZ2YnCi90bXAvZWdjcy1idWlsZC9h bHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9sb2dmJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5MCAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciBfbG9nZigpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4K LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y LiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfbG9nZigpOwoKaW50IG1haW4oKSB7CgovKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfX2xvZ2YpIHx8 IGRlZmluZWQgKF9fc3R1Yl9fX19sb2dmKQpjaG9rZSBtZQojZWxzZQpfbG9nZigpOwojZW5kaWYK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMxODU6IGNoZWNraW5nIGZvciBfbG9nMTBmCmNvbmZp Z3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2Nj LyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1v IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NTYTl4amQubzog SW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfbG9nMTBmJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGli c3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbG9nMTBm Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMzE5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfbG9nMTBmKCk7 IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj aGFyIF9sb2cxMGYoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLwojaWYgZGVmaW5lZCAoX19zdHViX19sb2cxMGYpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19s b2cxMGYpCmNob2tlIG1lCiNlbHNlCl9sb2cxMGYoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZTozMTg1OiBjaGVja2luZyBmb3IgX3Bvd2YKY29uZmlndXJlOjMyMTM6IC90bXAvZWdj cy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xv Y2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAg Y29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY05wOGxkcC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6 Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMv Y29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9wb3dmJwovdG1wL2VnY3Mt YnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToz MjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfcG93ZicKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX3Bvd2YoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNz ZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX3Bvd2YoKTsKCmludCBtYWluKCkg ewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX19w b3dmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fcG93ZikKY2hva2UgbWUKI2Vsc2UKX3Bvd2YoKTsK I2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozMTg1OiBjaGVja2luZyBmb3IgX3NpbmYK Y29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWls ZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jp bi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jYzUxdW8x MS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9zaW5mJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv bGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc2lu ZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi Ci8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX3NpbmYoKTsg YmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNo YXIgX3NpbmYoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq LwojaWYgZGVmaW5lZCAoX19zdHViX19zaW5mKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fc2luZikK Y2hva2UgbWUKI2Vsc2UKX3NpbmYoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToz MTg1OiBjaGVja2luZyBmb3IgX3NpbmhmCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQv Z2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBo YWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgIC1sbSAxPiY1Ci90bXAvY2NKUGYyeUUubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2Vn Y3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3Vy ZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc2luaGYnCi90bXAvZWdjcy1idWlsZC9h bHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zaW5oZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMxOTAgImNvbmZp Z3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgX3NpbmhmKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5o PgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9zaW5oZigpOwoKaW50IG1haW4oKSB7Cgov KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp bXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfX3Npbmhm KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fc2luaGYpCmNob2tlIG1lCiNlbHNlCl9zaW5oZigpOwoj ZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMxODU6IGNoZWNraW5nIGZvciBfc3FydGYK Y29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWls ZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jp bi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY0haZVo0 Zy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9zcXJ0ZicKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251 L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3Nx cnRmJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMu aCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5 IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfc3FydGYo KTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CmNoYXIgX3NxcnRmKCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9fc3FydGYpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19z cXJ0ZikKY2hva2UgbWUKI2Vsc2UKX3NxcnRmKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF90YW5mCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3Mt YnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2Nh bC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNv bmZ0ZXN0LmMgIC1sbSAxPiY1Ci90bXAvY2NselcwVlQubzogSW4gZnVuY3Rpb24gYG1haW4nOgov dG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2Nv bmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfdGFuZicKL3RtcC9lZ2NzLWJ1 aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIw NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3RhbmYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBj YW4gY29uZmxpY3Qgd2l0aCBjaGFyIF90YW5mKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2Vy dC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF90YW5mKCk7CgppbnQgbWFpbigpIHsK Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0 IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9fdGFu ZikgfHwgZGVmaW5lZCAoX19zdHViX19fX3RhbmYpCmNob2tlIG1lCiNlbHNlCl90YW5mKCk7CiNl bmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF90YW5oZgpj b25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxk L2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmlu LyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjTjg0bmZ3 Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24t bGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgX3RhbmhmJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUv bGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfdGFu aGYnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF90YW5oZigp OyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K Y2hhciBfdGFuaGYoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLwojaWYgZGVmaW5lZCAoX19zdHViX190YW5oZikgfHwgZGVmaW5lZCAoX19zdHViX19fX3Rh bmhmKQpjaG9rZSBtZQojZWxzZQpfdGFuaGYoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZTozMTg1OiBjaGVja2luZyBmb3IgX3N0cnRvZgpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2Nz LWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9j YWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBj b25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjOFlxdWlJLm86IEluIGZ1bmN0aW9uIGBtYWluJzoK L3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9j b25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3N0cnRvZicKL3RtcC9lZ2Nz LWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6 MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3N0cnRvZicKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDMx OTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX3N0cnRvZigpOyBiZWxvdy4gICovCiNpbmNsdWRl IDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfc3RydG9mKCk7CgppbnQg bWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9f c3R1Yl9fc3RydG9mKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fc3RydG9mKQpjaG9rZSBtZQojZWxz ZQpfc3RydG9mKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tp bmcgZm9yIF9zdHJ0b2xkCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2Mg LUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAx PiY1Ci90bXAvY2M2SW5xRmsubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc3RydG9sZCcKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1 LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgX3N0cnRvbGQnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUi CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIF9zdHJ0b2xkKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu ICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9zdHJ0b2xkKCk7CgppbnQgbWFpbigpIHsKCi8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9fc3RydG9s ZCkgfHwgZGVmaW5lZCAoX19zdHViX19fX3N0cnRvbGQpCmNob2tlIG1lCiNlbHNlCl9zdHJ0b2xk KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF9m YWJzZgpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2Nz LWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1n bnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2Nj Y1BuYWtYLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgX2ZhYnNmJwovdG1wL2VnY3MtYnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51 eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfZmFic2YnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m ZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9m YWJzZigpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KY2hhciBfZmFic2YoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4g YWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX19mYWJzZikgfHwgZGVmaW5lZCAoX19zdHVi X19fX2ZhYnNmKQpjaG9rZSBtZQojZWxzZQpfZmFic2YoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZTozMTg1OiBjaGVja2luZyBmb3IgX3NpbmNvcwpjb25maWd1cmU6MzIxMzogL3Rt cC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJl cnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAt TzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2Nja1VrcXp6Lm86IEluIGZ1bmN0aW9uIGBt YWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMr Ky12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3NpbmNvcycKL3Rt cC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25m aWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3NpbmNvcycKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDMxOTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK ICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX3NpbmNvcygpOyBiZWxvdy4gICovCiNp bmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfc2luY29zKCk7 CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmlu ZWQgKF9fc3R1Yl9fc2luY29zKSB8fCBkZWZpbmVkIChfX3N0dWJfX19fc2luY29zKQpjaG9rZSBt ZQojZWxzZQpfc2luY29zKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTog Y2hlY2tpbmcgZm9yIF9zaW5jb3NmCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2Nj L3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2 NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMg IC1sbSAxPiY1Ci90bXAvY2NtYU5aaWMubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3Mt YnVpbGQvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZToz MjA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfc2luY29zZicKL3RtcC9lZ2NzLWJ1aWxkL2Fs cGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX3NpbmNvc2YnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4 aXQgc3RhdHVzCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIF9zaW5jb3NmKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2Vy dC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9zaW5jb3NmKCk7CgppbnQgbWFpbigp IHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo IGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9f c2luY29zZikgfHwgZGVmaW5lZCAoX19zdHViX19fX3NpbmNvc2YpCmNob2tlIG1lCiNlbHNlCl9z aW5jb3NmKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcg Zm9yIF9zaW5jb3NsCmNvbmZpZ3VyZTozMjEzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIv dG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3du LWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIC1sbSAxPiY1 Ci90bXAvY2NmOE8xVGwubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2VnY3MtYnVpbGQvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvbGlic3RkYysrLXYzL2NvbmZpZ3VyZTozMjA3OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfc2luY29zbCcKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgX3NpbmNvc2wnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIF9zaW5jb3NsKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBP dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq LwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9zaW5jb3NsKCk7CgppbnQgbWFpbigpIHsKCi8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl IGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9fc2luY29zbCkg fHwgZGVmaW5lZCAoX19zdHViX19fX3NpbmNvc2wpCmNob2tlIG1lCiNlbHNlCl9zaW5jb3NsKCk7 CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzE4NTogY2hlY2tpbmcgZm9yIF9maW5p dGUKY29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1i dWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251 L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxtIDE+JjUKL3RtcC9jY2RZ b1pLWS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtu b3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYF9maW5pdGUnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4 LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YF9maW5pdGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMTkwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m ZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9m aW5pdGUoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCmNoYXIgX2Zpbml0ZSgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfX2Zpbml0ZSkgfHwgZGVmaW5lZCAoX19z dHViX19fX2Zpbml0ZSkKY2hva2UgbWUKI2Vsc2UKX2Zpbml0ZSgpOwojZW5kaWYKCjsgcmV0dXJu IDA7IH0KY29uZmlndXJlOjMxODU6IGNoZWNraW5nIGZvciBfZmluaXRlZgpjb25maWd1cmU6MzIx MzogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9t ZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVz dCAtZyAtTzIgICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjOWVKRXBCLm86IEluIGZ1bmN0 aW9uIGBtYWluJzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xp YnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2Zpbml0 ZWYnCi90bXAvZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKyst djMvY29uZmlndXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9maW5pdGVmJwpjb2xs ZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgMzE5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfZmluaXRlZigpOyBiZWxv dy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBf ZmluaXRlZigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3 aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CiNpZiBkZWZpbmVkIChfX3N0dWJfX2Zpbml0ZWYpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19maW5p dGVmKQpjaG9rZSBtZQojZWxzZQpfZmluaXRlZigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29u ZmlndXJlOjMxODU6IGNoZWNraW5nIGZvciBfcWZpbml0ZQpjb25maWd1cmU6MzIxMzogL3RtcC9l Z2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQv bG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIg ICBjb25mdGVzdC5jICAtbG0gMT4mNQovdG1wL2NjUFJ1TEhkLm86IEluIGZ1bmN0aW9uIGBtYWlu JzoKL3RtcC9lZ2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12 My9jb25maWd1cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3FmaW5pdGUnCi90bXAv ZWdjcy1idWlsZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmln dXJlOjMyMDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9xZmluaXRlJwpjb2xsZWN0MjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xp bmUgMzE5MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAog ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfcWZpbml0ZSgpOyBiZWxvdy4gICovCiNp bmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfcWZpbml0ZSgp OwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1 bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZp bmVkIChfX3N0dWJfX3FmaW5pdGUpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19xZmluaXRlKQpjaG9r ZSBtZQojZWxzZQpfcWZpbml0ZSgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMx ODU6IGNoZWNraW5nIGZvciBfZnBjbGFzcwpjb25maWd1cmU6MzIxMzogL3RtcC9lZ2NzLWJ1aWxk L2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jICAtbG0gMT4mNQovdG1wL2NjWjVweXZTLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9l Z2NzLWJ1aWxkL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1 cmU6MzIwNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ZwY2xhc3MnCi90bXAvZWdjcy1idWls ZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9mcGNsYXNzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5MCAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZp bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciBfZnBjbGFzcygpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxh c3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfZnBjbGFzcygpOwoKaW50IG1h aW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0 dWJfX2ZwY2xhc3MpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19mcGNsYXNzKQpjaG9rZSBtZQojZWxz ZQpfZnBjbGFzcygpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjMxODU6IGNoZWNr aW5nIGZvciBfcWZwY2xhc3MKY29uZmlndXJlOjMyMTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdj YyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgLWxt IDE+JjUKL3RtcC9jY2J4SGN6dy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvZWdjcy1idWls ZC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9saWJzdGRjKystdjMvY29uZmlndXJlOjMyMDc6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9xZnBjbGFzcycKL3RtcC9lZ2NzLWJ1aWxkL2FscGhh ZXY1LXVua25vd24tbGludXgtZ251L2xpYnN0ZGMrKy12My9jb25maWd1cmU6MzIwNzogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgX3FmcGNsYXNzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0 IHN0YXR1cwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzE5MCAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciBfcWZwY2xhc3MoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0 Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX3FmcGNsYXNzKCk7CgppbnQgbWFpbigp IHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo IGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9f cWZwY2xhc3MpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19xZnBjbGFzcykKY2hva2UgbWUKI2Vsc2UK X3FmcGNsYXNzKCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzI0MzogY2hlY2tp bmcgZm9yIHdjaGFyLmgKY29uZmlndXJlOjMyNTM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAt Qi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25v d24tbGludXgtZ251L2Jpbi8gLUUgIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91 dApjb25maWd1cmU6MzI3MTogY2hlY2tpbmcgZm9yIG5hdGl2ZSBtYnN0YXRlX3QKY29uZmlndXJl OjMyODA6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1C L2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcg LU8yICBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjMyOTk6IGNoZWNraW5nIGZvciBXQ0hBUl9N SU4gYW5kIFdDSEFSX01BWApjb25maWd1cmU6MzMwODogL3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2Nj IC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxwaGFldjUtdW5r bm93bi1saW51eC1nbnUvYmluLyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6 MzMyOTogY2hlY2tpbmcgZm9yIFdFT0YKY29uZmlndXJlOjMzNDA6IC90bXAvZWdjcy1idWlsZC9n Y2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhh ZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yICBjb25mdGVzdC5jIDE+JjUKY29u ZmlndXJlOjMzNTU6IGNoZWNraW5nIGZvciB3Y3NsZW4KY29uZmlndXJlOjMzODM6IC90bXAvZWdj cy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xv Y2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MzM1NTogY2hlY2tpbmcgZm9yIHdtZW1jaHIKY29u ZmlndXJlOjMzODM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9n Y2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8g LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MzM1NTogY2hl Y2tpbmcgZm9yIHdtZW1jbXAKY29uZmlndXJlOjMzODM6IC90bXAvZWdjcy1idWlsZC9nY2MveGdj YyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgMT4m NQpjb25maWd1cmU6MzM1NTogY2hlY2tpbmcgZm9yIHdtZW1jcHkKY29uZmlndXJlOjMzODM6IC90 bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxi ZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jpbi8gLW8gY29uZnRlc3QgLWcg LU8yICAgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MzM1NTogY2hlY2tpbmcgZm9yIHdtZW1t b3ZlCmNvbmZpZ3VyZTozMzgzOiAvdG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3Mt YnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdu dS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjMz NTU6IGNoZWNraW5nIGZvciB3bWVtc2V0CmNvbmZpZ3VyZTozMzgzOiAvdG1wL2VnY3MtYnVpbGQv Z2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2FsYmVydC9sb2NhbC9hbHBo YWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgIDE+JjUKY29uZmlndXJlOjM0MTI6IGNoZWNraW5nIGZvciB3aWRlIGNoYXJhY3RlciBzdXBw b3J0CmNvbmZpZ3VyZTozNDQwOiBjaGVja2luZyBmb3IgY3R5cGUuaApjb25maWd1cmU6MzQ1MDog L3RtcC9lZ2NzLWJ1aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9h bGJlcnQvbG9jYWwvYWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtRSAgY29uZnRlc3Qu YyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTozNDcxOiBjaGVja2luZyBmb3Ig Z251LWxpbnV4IDxjdHlwZT4KY29uZmlndXJlOjM0ODQ6IC90bXAvZWdjcy1idWlsZC9nY2MveGdj YyAtQi90bXAvZWdjcy1idWlsZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVu a25vd24tbGludXgtZ251L2Jpbi8gLWMgLWcgLU8yICBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl OjM2OTA6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MzcwMDogL3RtcC9lZ2NzLWJ1 aWxkL2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwv YWxwaGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtRSAgY29uZnRlc3QuYyA+L2Rldi9udWxs IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTozNzI5OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUK Y29uZmlndXJlOjM3NTc6IC90bXAvZWdjcy1idWlsZC9nY2MveGdjYyAtQi90bXAvZWdjcy1idWls ZC9nY2MvIC1CL2hvbWUvYWxiZXJ0L2xvY2FsL2FscGhhZXY1LXVua25vd24tbGludXgtZ251L2Jp bi8gLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6Mzc4Mjog Y2hlY2tpbmcgZm9yIHdvcmtpbmcgbW1hcApjb25maWd1cmU6MzkzMDogL3RtcC9lZ2NzLWJ1aWxk L2djYy94Z2NjIC1CL3RtcC9lZ2NzLWJ1aWxkL2djYy8gLUIvaG9tZS9hbGJlcnQvbG9jYWwvYWxw aGFldjUtdW5rbm93bi1saW51eC1nbnUvYmluLyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz dC5jICAxPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25maWd1cmU6MzkwMDog d2FybmluZzogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZQpj b25maWd1cmU6Mzk5MzogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3VyZTo0MDA1OiAv dG1wL2VnY3MtYnVpbGQvZ2NjL3hnY2MgLUIvdG1wL2VnY3MtYnVpbGQvZ2NjLyAtQi9ob21lL2Fs YmVydC9sb2NhbC9hbHBoYWV2NS11bmtub3duLWxpbnV4LWdudS9iaW4vIC1vIGNvbmZ0ZXN0IC1n IC1PMiAgIGNvbmZ0ZXN0LmMgIDE+JjUK >>From bkoz@cygnus.com Mon May 08 19:17:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/57: can't build last gcc snapshot on alphaev5-unknown-linux-gnu Date: Mon, 08 May 2000 19:17:00 -0000 Message-id: <20000509021702.22985.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00006.html Content-length: 1121 The following reply was made to PR libstdc++/57; it has been noted by GNATS. From: Benjamin Kosnik To: albert@ravel.mpg.uni-rostock.de Cc: libstdc++-gnats@sourceware.cygnus.com, nobody@sourceware.cygnus.com, libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/57: can't build last gcc snapshot on alphaev5-unknown-linux-gnu Date: Mon, 8 May 2000 18:21:17 -0700 (PDT) > >Synopsis: can't build last gcc snapshot on alphaev5-unknown-linux-gnu > >Confidential: no > >Severity: critical > >Priority: medium > Alpha 21164, RedHat Linux 5.1 (kernel 2.0.34), gcc-2.95.2 > 2. ../egcs-20000501/configure --prefix=/home/albert/local --enable-libstdc++-v3 > 3. make bootstrap-lean this looks fine. I just bootstrapped and ran the libstdc++-v3 testsuite on the following: alphaev6-unknown-linux-gnu Perhaps this is an ev5-specific bug, but for the compilers not the library. Moreover, I don't really have an ev5 machine around here anyway. You should probably submit this to gcc-bugs@gcc.gnu.org, not on the libstdc++ bug database. -benjamin >>From ericb@computer.org Thu May 11 22:47:00 2000 From: ericb@computer.org To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/59: compile trouble with 20000420 snapshot w/2.95.2 Date: Thu, 11 May 2000 22:47:00 -0000 Message-id: <20000512054246.25071.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00007.html Content-length: 6735 >Number: 59 >Category: libstdc++ >Synopsis: compile trouble with 20000420 snapshot w/2.95.2 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu May 11 22:47:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: ericb@computer.org >Release: 20000420 >Organization: >Environment: i686-linux-gnu (RH 6.2) >Description: A full build of gcc 2.95.2 with the latest snapshot of libstdc++ swapped in for the one shipped with gcc fails to compile. I have no trouble compiling 2.90.8, it's 20000420 which fails at the link phase in stage 2: stringCTORDUPAL.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator >::basic_string(unsigned int, char, allocator const &)' stringCTORNC.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here stringREPIIPP2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator > & basic_string, allocator >::_M_replace(__normal_iterator, allocator > >, __normal_iterator, allocator > >, char *, char *, forward_iterator_tag)' stringREPIIPP.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here stringCONPPF2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `char * basic_string, allocator >::_S_construct(char *, char *, allocator const &, forward_iterator_tag)' stringCONPPF.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here stringCOMPARE2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator >::compare(unsigned int, unsigned int, basic_string, allocator > const &) const' stringCOMPARE.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here stringCOMPAREP2.lo: In function `basic_string, allocator >::compare(char const *) const': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc(.text+0x0): multiple definition of `basic_string, allocator >::compare(char const *) const' stringCOMPAREP.lo(.text+0x0):/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc: first defined here wstringCTORDUPAL.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator >::basic_string(unsigned int, wchar_t, allocator const &)' wstringCTORNC.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here wstringREPIIPP2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator > & basic_string, allocator >::_M_replace(__normal_iterator, allocator > >, __normal_iterator, allocator > >, wchar_t *, wchar_t *, forward_iterator_tag)' wstringREPIIPP.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here wstringCONPPF2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `wchar_t * basic_string, allocator >::_S_construct(wchar_t *, wchar_t *, allocator const &, forward_iterator_tag)' wstringCONPPF.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here wstringCOMPARE2.lo: In function `messages_base type_info function': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: multiple definition of `basic_string, allocator >::compare(unsigned int, unsigned int, basic_string, allocator > const &) const' wstringCOMPARE.lo:/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc:54: first defined here wstringCOMPAREP2.lo: In function `basic_string, allocator >::compare(wchar_t const *) const': /home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc(.text+0x0): multiple definition of `basic_string, allocator >::compare(wchar_t const *) const' wstringCOMPAREP.lo(.text+0x0):/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src/../../../../gcc-2.95.2/libstdc++/bits/string.tcc: first defined here collect2: ld returned 1 exit status make[4]: *** [libstdc++.la] Error 1 make[4]: Leaving directory `/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++' make[2]: *** [all-recursive-am] Error 2 make[2]: Leaving directory `/home/ericb/tmp/gcc-bin/i686-pc-linux-gnu/libstdc++' make[1]: *** [all-target-libstdc++] Error 2 make[1]: Leaving directory `/home/ericb/tmp/gcc-bin' make: *** [bootstrap] Error 2 >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From niltsiar@neo.rr.com Mon May 15 20:07:00 2000 From: niltsiar@neo.rr.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/60: undefined references when linking a simple program Date: Mon, 15 May 2000 20:07:00 -0000 Message-id: <20000516030000.14484.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00008.html Content-length: 2882 >Number: 60 >Category: libstdc++ >Synopsis: undefined references when linking a simple program >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon May 15 20:07:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: niltsiar@neo.rr.com >Release: 5/15/2000 snapshot >Organization: >Environment: linux 2.2.15 gcc 2.95.2 libstdc++-v3 5/15/2000 >Description: Using gcc 2.95.2 with the current cvs snapshot of libstdc-v3 (from the gcc CVS tree), when trying to compile a simple program(statically), I get the following error messages: :~/tmp$ c++ -static -g -Wall -o link link.cc /usr/lib/libstdc++.a(locale.o): In function `collate type_info function': /home/tsiar/src/cygnus/gcc/build/i686-pc-linux-gnu/libstdc++/src/../../../../libstdc++/src/locale.cc(.text+0x48): undefined reference to `__ne__H3ZPPQ26locale5facetZPPQ26locale5facetZt6vector2ZPQ26locale5facetZt9allocator1ZPQ26locale5facet_RCt17__normal_iterator2ZX01ZX21RCt17__normal_iterator2ZX11ZX21_b' /usr/lib/libstdc++.a(locale.o): In function `locale::_Impl::_Impl(locale::_Impl const &, unsigned int)': /home/tsiar/src/cygnus/gcc/build/i686-pc-linux-gnu/libstdc++/src/../../../../libstdc++/src/locale.cc:87: undefined reference to `__ne__H3ZPPQ26locale5facetZPPQ26locale5facetZt6vector2ZPQ26locale5facetZt9allocator1ZPQ26locale5facet_RCt17__normal_iterator2ZX01ZX21RCt17__normal_iterator2ZX11ZX21_b' /usr/lib/libstdc++.a(localename.o): In function `locale::_Impl::_Impl(locale::_Impl const &, basic_string, allocator > const &, int, unsigned int)': /home/tsiar/src/cygnus/gcc/build/i686-pc-linux-gnu/libstdc++/src/../../../../libstdc++/src/localename.cc:85: undefined reference to `__ne__H3ZPPQ26locale5facetZPPQ26locale5facetZt6vector2ZPQ26locale5facetZt9allocator1ZPQ26locale5facet_RCt17__normal_iterator2ZX01ZX21RCt17__normal_iterator2ZX11ZX21_b' /home/tsiar/src/cygnus/gcc/build/i686-pc-linux-gnu/libstdc++/src/../../../../libstdc++/src/localename.cc:106: undefined reference to `__ne__H3ZPPQ26locale5facetZPPQ26locale5facetZt6vector2ZPQ26locale5facetZt9allocator1ZPQ26locale5facet_RCt17__normal_iterator2ZX01ZX21RCt17__normal_iterator2ZX11ZX21_b' collect2: ld returned 1 exit status If I attempt to compile against the shared library, I get the following: :~/tmp$ c++ -g -Wall -o link link.cc /usr/lib/libstdc++.so: undefined reference to `__ne__H3ZPPQ26locale5facetZPPQ26locale5facetZt6vector2ZPQ26locale5facetZt9allocator1ZPQ26locale5facet_RCt17__normal_iterator2ZX01ZX21RCt17__normal_iterator2ZX11ZX21_b' collect2: ld returned 1 exit status >How-To-Repeat: the simple program I use is: -- #include int main(int argc, char** argv) { return 0; } -- >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From dmeranda@medplus.com Thu May 18 08:37:00 2000 From: dmeranda@medplus.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/61: Conflicting types for nan() during installation Date: Thu, 18 May 2000 08:37:00 -0000 Message-id: <20000518153126.11361.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00009.html Content-length: 2088 >Number: 61 >Category: libstdc++ >Synopsis: Conflicting types for nan() during installation >Confidential: no >Severity: serious >Priority: high >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu May 18 08:37:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Deron Meranda >Release: 2.90.8 >Organization: >Environment: HP-UX 11.0, gcc 2.95.2 >Description: Trying to build/install libstdc++ fails under HP-UX 11.0. During the compile of the file libstdc++/math/signbit.c, the following error is output: In file included from /opt2/src/gcc-2.95.2/libstdc++/math/mathconf.h:230, from /opt2/src/gcc-2.95.2/libstdc++/math/signbit.c:32: /opt2/src/gcc-2.95.2/libstdc++/math/complex-stub.h:85: conflicting types for `nan' /opt2/src/gcc-build2/gcc/include/math.h:231: previous declaration of `nan' The HP-UX 11.0 operating system declares the following prototype for function nan() in /usr/include/math.h, extern double nan(const char*) whereas libstdc++ 2.90.8 declares it as double nan(void) >How-To-Repeat: Install gcc 2.95.2 with libstdc++ 2.90.8 placed in the libstdc++ subdirectory. Using the HP-UX bundled cc compiler. Configured with options, configure --prefix=/opt/gnu/gcc --with-gnu-as --with-as=/opt/gnu/bin/gas --enable-haifa --enable-threads=posix --enable-namespaces --enable-languages=c,c++,java hppa1.0-hp-hpux11.00 >Fix: Changing the following files seems to appease the compiler, but I'm not sure what the real solution should be or what matches the language standard... libstdc++-2.90.8/math/complex-stub.h libstdc++-2.90.8/math/mathconf.h libstdc++-2.90.8/math/nan.c I modified the nan() function to take a const char* argument to make it match the HP-UX declaration. The macro NAN was defined to be (nan("")). And the nan() function was rewritten as, double nan (const char *n) { if (n==NULL || ! n[0]) return strtod ("nan", NULL); else return strtod (n, NULL); } >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Thu May 18 10:17:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/61: Conflicting types for nan() during installation Date: Thu, 18 May 2000 10:17:00 -0000 Message-id: <20000518171701.25002.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00010.html Content-length: 3504 The following reply was made to PR libstdc++/61; it has been noted by GNATS. From: Benjamin Kosnik To: dmeranda@medplus.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/61: Conflicting types for nan() during installation Date: Thu, 18 May 2000 10:07:51 -0700 (PDT) i just did work on CVS libstdc++ specifically for HPUX11. 2000-05-10 Benjamin Kosnik * bits/std_cmath.h: Tweaks. * math/mathconf.h: Tweaks and fixes for HP-UX 11. (sqrtf): Define away iff !builtin and !in . (sinf): Same. (cosf): Same. (fabsf): Same. At some point this directory should be converted to c++, the autoconf tests should be run by the c++ compiler (not c), and should be used instead of math.h. Move declaration of nan() here. * math/complex-stub.h (cabsl): Remove nan() declaration. You'll need to use CVS libstdc++. FYI HPUX11 support is still "not there" due to problems with weak linking and the native ld. I'll post to the list when I've got things working. -benjamin On 18 May 2000 dmeranda@medplus.com wrote: > > >Number: 61 > >Category: libstdc++ > >Synopsis: Conflicting types for nan() during installation > >Confidential: no > >Severity: serious > >Priority: high > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Thu May 18 08:37:00 PDT 2000 > >Closed-Date: > >Last-Modified: > >Originator: Deron Meranda > >Release: 2.90.8 > >Organization: > >Environment: > HP-UX 11.0, gcc 2.95.2 > >Description: > Trying to build/install libstdc++ fails under HP-UX 11.0. > During the compile of the file libstdc++/math/signbit.c, > the following error is output: > > In file included from /opt2/src/gcc-2.95.2/libstdc++/math/mathconf.h:230, > from /opt2/src/gcc-2.95.2/libstdc++/math/signbit.c:32: > /opt2/src/gcc-2.95.2/libstdc++/math/complex-stub.h:85: conflicting types for `nan' > /opt2/src/gcc-build2/gcc/include/math.h:231: previous declaration of `nan' > > The HP-UX 11.0 operating system declares the following > prototype for function nan() in /usr/include/math.h, > > extern double nan(const char*) > > whereas libstdc++ 2.90.8 declares it as > > double nan(void) > >How-To-Repeat: > Install gcc 2.95.2 with libstdc++ 2.90.8 placed in the > libstdc++ subdirectory. Using the HP-UX bundled cc > compiler. Configured with options, > > configure --prefix=/opt/gnu/gcc --with-gnu-as > --with-as=/opt/gnu/bin/gas --enable-haifa > --enable-threads=posix --enable-namespaces > --enable-languages=c,c++,java > hppa1.0-hp-hpux11.00 > >Fix: > Changing the following files seems to appease the > compiler, but I'm not sure what the real solution > should be or what matches the language standard... > > libstdc++-2.90.8/math/complex-stub.h > libstdc++-2.90.8/math/mathconf.h > libstdc++-2.90.8/math/nan.c > > I modified the nan() function to take a const char* > argument to make it match the HP-UX declaration. > The macro NAN was defined to be (nan("")). And the > nan() function was rewritten as, > > double > nan (const char *n) > { > if (n==NULL || ! n[0]) > return strtod ("nan", NULL); > else > return strtod (n, NULL); > } > >Release-Note: > >Audit-Trail: > >Unformatted: > >>From pbd@op.net Tue May 30 10:17:00 2000 From: pbd@op.net To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/62: stl_rope.h has many mis-ordered initializers Date: Tue, 30 May 2000 10:17:00 -0000 Message-id: <20000530171644.18002.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00011.html Content-length: 6973 >Number: 62 >Category: libstdc++ >Synopsis: stl_rope.h has many mis-ordered initializers >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue May 30 10:17:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Paul Barton-Davis >Release: unknown-1.0 >Organization: >Environment: irrelevant >Description: stl_rope.h is full of mis-ordered initializers. I include a patch as a "file attachment" that fixes all of the mis-orderings that I have come across to date. BTW, the prescence of these problems suggests to me that the libstdc++ developers do not compile with -Wall. It would be a good idea, I think. >How-To-Repeat: Run gcc with -Wall on a file that includes stl_rope.h >Fix: apply the patch enclosed. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="stl_patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="stl_patch" LS0tIHN0bF9yb3BlLmgJV2VkIFNlcCAgMiAxMzoyNTowNSAxOTk4CisrKyAvdXNyL2xvY2FsL2lu Y2x1ZGUvZysrLTMvc3RsX3JvcGUuaAlUdWUgTWF5IDMwIDEyOjA3OjI0IDIwMDAKQEAgLTM4Niw4 ICszODYsOSBAQAogICAgIHR5cGVkZWYgX1JvcGVfcmVwX2Jhc2U8X0NoYXJULF9BbGxvYz46OmFs bG9jYXRvcl90eXBlIGFsbG9jYXRvcl90eXBlOwogICAgIF9Sb3BlX1JvcGVSZXAoX1RhZyBfX3Qs IGludCBfX2QsIGJvb2wgX19iLCBzaXplX3QgX19zaXplLAogICAgICAgICAgICAgICAgICAgYWxs b2NhdG9yX3R5cGUgX19hKQotICAgICAgICA6IF9NX3RhZyhfX3QpLCBfTV9kZXB0aChfX2QpLCBf TV9pc19iYWxhbmNlZChfX2IpLCBfTV9jX3N0cmluZygwKSwKLSAgICAgICAgICBfUm9wZV9yZXBf YmFzZTxfQ2hhclQsX0FsbG9jPihfX3NpemUsIF9fYSkKKyAgICAgICAgOiBfUm9wZV9yZXBfYmFz ZTxfQ2hhclQsX0FsbG9jPihfX3NpemUsIF9fYSksCisJICBfTV90YWcoX190KSwgX01faXNfYmFs YW5jZWQoX19iKSwgX01fZGVwdGgoX19kKSwgX01fY19zdHJpbmcoMCkKKyAgICAgICAgICAKICAg ICB7CiAjICAgICAgIGlmbmRlZiBfX0dDCiAgICAgICAgICAgICBfTV9yZWZjb3VudCA9IDE7CkBA IC01NjIsOCArNTYzLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZG9l c24ndCBtYXR0ZXIuICAgICAgICAgICAgICAgKi8KICAgICB0eXBlZGVmIF9Sb3BlX3JlcF9iYXNl PF9DaGFyVCxfQWxsb2M+OjphbGxvY2F0b3JfdHlwZSBhbGxvY2F0b3JfdHlwZTsKICAgICBfUm9w ZV9Sb3BlTGVhZihfX0dDX0NPTlNUIF9DaGFyVCogX19kLCBzaXplX3QgX19zaXplLCBhbGxvY2F0 b3JfdHlwZSBfX2EpCi0gICAgICAgIDogX01fZGF0YShfX2QpCi0gICAgICAgICwgX1JvcGVfUm9w ZVJlcDxfQ2hhclQsX0FsbG9jPihfU19sZWFmLCAwLCB0cnVlLCBfX3NpemUsIF9fYSkKKyAgICAg ICAgOiBfUm9wZV9Sb3BlUmVwPF9DaGFyVCxfQWxsb2M+KF9TX2xlYWYsIDAsIHRydWUsIF9fc2l6 ZSwgX19hKSwKKwkgIF9NX2RhdGEoX19kKQogICAgICAgICB7CiAgICAgICAgIF9fc3RsX2Fzc2Vy dChfX3NpemUgPiAwKTsKICAgICAgICAgaWYgKF9TX2lzX2Jhc2ljX2NoYXJfdHlwZSgoX0NoYXJU ICopMCkpIHsKQEAgLTU5MywxMCArNTk0LDEwIEBACiAgICAgX1JvcGVfUm9wZUNvbmNhdGVuYXRp b24oX1JvcGVfUm9wZVJlcDxfQ2hhclQsX0FsbG9jPiogX19sLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBfUm9wZV9Sb3BlUmVwPF9DaGFyVCxfQWxsb2M+KiBfX3IsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFsbG9jYXRvcl90eXBlIF9fYSkKLSAgICAgIDogX01fbGVmdChf X2wpLCBfTV9yaWdodChfX3IpCi0gICAgICAsIF9Sb3BlX1JvcGVSZXA8X0NoYXJULF9BbGxvYz4o CisgICAgICA6IF9Sb3BlX1JvcGVSZXA8X0NoYXJULF9BbGxvYz4oCiAgICAgICAgICAgX1NfY29u Y2F0LCBtYXgoX19sLT5fTV9kZXB0aCwgX19yLT5fTV9kZXB0aCkgKyAxLCBmYWxzZSwKLSAgICAg ICAgICBfX2wtPl9NX3NpemUgKyBfX3ItPl9NX3NpemUsIF9fYSkKKyAgICAgICAgICBfX2wtPl9N X3NpemUgKyBfX3ItPl9NX3NpemUsIF9fYSksCisgICAgICAgICBfTV9sZWZ0KF9fbCksIF9NX3Jp Z2h0KF9fcikKICAgICAgIHt9CiAjIGlmbmRlZiBfX0dDCiAgICAgfl9Sb3BlX1JvcGVDb25jYXRl bmF0aW9uKCkgewpAQCAtNjI5LDExICs2MzAsMTIgQEAKICAgICB0eXBlZGVmIF9Sb3BlX3JlcF9i YXNlPF9DaGFyVCxfQWxsb2M+OjphbGxvY2F0b3JfdHlwZSBhbGxvY2F0b3JfdHlwZTsKICAgICBf Um9wZV9Sb3BlRnVuY3Rpb24oY2hhcl9wcm9kdWNlcjxfQ2hhclQ+KiBfX2YsIHNpemVfdCBfX3Np emUsCiAgICAgICAgICAgICAgICAgICAgICAgICBib29sIF9fZCwgYWxsb2NhdG9yX3R5cGUgX19h KQotICAgICAgOiBfTV9mbihfX2YpCisgICAgICA6IF9Sb3BlX1JvcGVSZXA8X0NoYXJULF9BbGxv Yz4oX1NfZnVuY3Rpb24sIDAsIHRydWUsIF9fc2l6ZSwgX19hKSwKKwlfTV9mbihfX2YpCiAjICAg ICAgIGlmbmRlZiBfX0dDCiAgICAgICAsIF9NX2RlbGV0ZV93aGVuX2RvbmUoX19kKQogIyAgICAg ICBlbmRpZgotICAgICAgLCBfUm9wZV9Sb3BlUmVwPF9DaGFyVCxfQWxsb2M+KF9TX2Z1bmN0aW9u LCAwLCB0cnVlLCBfX3NpemUsIF9fYSkgeworICAgIHsgICAgCiAgICAgICAgIF9fc3RsX2Fzc2Vy dChfX3NpemUgPiAwKTsKICMgICAgICAgaWZkZWYgX19HQwogICAgICAgICAgICAgaWYgKF9fZCkg ewpAQCAtNjkzLDkgKzY5NSw5IEBACiAgICAgdHlwZWRlZiBfUm9wZV9yZXBfYmFzZTxfQ2hhclQs X0FsbG9jPjo6YWxsb2NhdG9yX3R5cGUgYWxsb2NhdG9yX3R5cGU7CiAgICAgX1JvcGVfUm9wZVN1 YnN0cmluZyhfUm9wZV9Sb3BlUmVwPF9DaGFyVCxfQWxsb2M+KiBfX2IsIHNpemVfdCBfX3MsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX2wsIGFsbG9jYXRvcl90eXBlIF9fYSkK LSAgICAgIDogX01fYmFzZShfX2IpCisgICAgICA6IF9Sb3BlX1JvcGVGdW5jdGlvbjxfQ2hhclQs X0FsbG9jPih0aGlzLCBfX2wsIGZhbHNlLCBfX2EpIAorICAgICAgLAlfTV9iYXNlKF9fYikKICAg ICAgICwgX01fc3RhcnQoX19zKQotICAgICAgLCBfUm9wZV9Sb3BlRnVuY3Rpb248X0NoYXJULF9B bGxvYz4odGhpcywgX19sLCBmYWxzZSwgX19hKSAKICAgICB7CiAgICAgICAgIF9fc3RsX2Fzc2Vy dChfX2wgPiAwKTsKICAgICAgICAgX19zdGxfYXNzZXJ0KF9fcyArIF9fbCA8PSBfX2ItPl9NX3Np emUpOwpAQCAtNzY2LDE2ICs3NjgsMTYgQEAKICAgICBfTXlfcm9wZSogX01fcm9vdDsgICAgIC8v IFRoZSB3aG9sZSByb3BlLgogICBwdWJsaWM6CiAgICAgX1JvcGVfY2hhcl9yZWZfcHJveHkoX015 X3JvcGUqIF9fciwgc2l6ZV90IF9fcCkgOgotICAgICAgICBfTV9wb3MoX19wKSwgX01fcm9vdChf X3IpLCBfTV9jdXJyZW50X3ZhbGlkKGZhbHNlKSB7fQorICAgICAgICBfTV9wb3MoX19wKSwgX01f Y3VycmVudF92YWxpZChmYWxzZSksIF9NX3Jvb3QoX19yKSB7fQogICAgIF9Sb3BlX2NoYXJfcmVm X3Byb3h5KGNvbnN0IF9Sb3BlX2NoYXJfcmVmX3Byb3h5JiBfX3gpIDoKLSAgICAgICAgX01fcG9z KF9feC5fTV9wb3MpLCBfTV9yb290KF9feC5fTV9yb290KSwgX01fY3VycmVudF92YWxpZChmYWxz ZSkge30KKyAgICAgICAgX01fcG9zKF9feC5fTV9wb3MpLCAgX01fY3VycmVudF92YWxpZChmYWxz ZSksIF9NX3Jvb3QoX194Ll9NX3Jvb3QpIHt9CiAgICAgICAgIC8vIERvbid0IHByZXNlcnZlIGNh Y2hlIGlmIHRoZSByZWZlcmVuY2UgY2FuIG91dGxpdmUgdGhlCiAgICAgICAgIC8vIGV4cHJlc3Np b24uICBXZSBjbGFpbSB0aGF0J3Mgbm90IHBvc3NpYmxlIHdpdGhvdXQgY2FsbGluZwogICAgICAg ICAvLyBhIGNvcHkgY29uc3RydWN0b3Igb3IgZ2VuZXJhdGluZyByZWZlcmVuY2UgdG8gYSBwcm94 eQogICAgICAgICAvLyByZWZlcmVuY2UuICBXZSBkZWNsYXJlIHRoZSBsYXR0ZXIgdG8gaGF2ZSB1 bmRlZmluZWQgc2VtYW50aWNzLgogICAgIF9Sb3BlX2NoYXJfcmVmX3Byb3h5KF9NeV9yb3BlKiBf X3IsIHNpemVfdCBfX3AsCiAgICAgICAgICAgICAgICAgICAgIF9DaGFyVCBfX2MpIDoKLSAgICAg ICAgX01fcG9zKF9fcCksIF9NX3Jvb3QoX19yKSwgX01fY3VycmVudChfX2MpLCBfTV9jdXJyZW50 X3ZhbGlkKHRydWUpIHt9CisgICAgICAgIF9NX3BvcyhfX3ApLCBfTV9jdXJyZW50KF9fYyksIF9N X2N1cnJlbnRfdmFsaWQodHJ1ZSksIF9NX3Jvb3QoX19yKSB7fQogICAgIGlubGluZSBvcGVyYXRv ciBfQ2hhclQgKCkgY29uc3Q7CiAgICAgX1JvcGVfY2hhcl9yZWZfcHJveHkmIG9wZXJhdG9yPSAo X0NoYXJUIF9fYyk7CiAgICAgX1JvcGVfY2hhcl9wdHJfcHJveHk8X0NoYXJULF9BbGxvYz4gb3Bl cmF0b3ImICgpIGNvbnN0OwpAQCAtOTA4LDcgKzkxMCw3IEBACiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gY2FjaGUgaXMgdmFsaWQgZm9yIHByZXZpb3VzIHBvc24u CiAgICAgX1JvcGVfaXRlcmF0b3JfYmFzZSgpIHt9CiAgICAgX1JvcGVfaXRlcmF0b3JfYmFzZShf Um9wZVJlcCogX19yb290LCBzaXplX3QgX19wb3MpCi0gICAgICA6IF9NX3Jvb3QoX19yb290KSwg X01fY3VycmVudF9wb3MoX19wb3MpLCBfTV9idWZfcHRyKDApIHt9CisgICAgICA6IF9NX2N1cnJl bnRfcG9zKF9fcG9zKSwgX01fcm9vdChfX3Jvb3QpLCBfTV9idWZfcHRyKDApIHt9CiAgICAgdm9p ZCBfTV9pbmNyKHNpemVfdCBfX24pOwogICAgIHZvaWQgX01fZGVjcihzaXplX3QgX19uKTsKICAg cHVibGljOgo= >>From jdao@dtinetworks.com Wed Jun 14 10:27:00 2000 From: jdao@dtinetworks.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/63: missing "install.sh" or "install-sh" in libstdc++-2.90.8.tar.gz Date: Wed, 14 Jun 2000 10:27:00 -0000 Message-id: <20000614172136.3547.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00012.html Content-length: 769 >Number: 63 >Category: libstdc++ >Synopsis: missing "install.sh" or "install-sh" in libstdc++-2.90.8.tar.gz >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Jun 14 10:27:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Jack Dao >Release: libstdc++-2.90.8 >Organization: >Environment: Solaris-7 with GCC-2.95.2 >Description: tsp3dev:root:/tmp/bld-libstdc++/> /tmp/libstdc++-2.90.8/configure --prefix=/usr/local/lib loading cache ./config.cache configure: error: can not find install-sh or install.sh in .. /tmp/libstdc++-2.90.8/.. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@cygnus.com Wed Jun 14 10:57:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/63: missing "install.sh" or "install-sh" inlibstdc++-2.90.8.tar.gz Date: Wed, 14 Jun 2000 10:57:00 -0000 Message-id: <20000614175701.17414.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00013.html Content-length: 1387 The following reply was made to PR libstdc++/63; it has been noted by GNATS. From: Benjamin Kosnik To: jdao@dtinetworks.com Cc: libstdc++-gnats@sourceware.cygnus.com, libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/63: missing "install.sh" or "install-sh" in libstdc++-2.90.8.tar.gz Date: Wed, 14 Jun 2000 10:47:49 -0700 (PDT) please read the install/configure pages. They are listed under the documentation part of the libstdc++ website. On 14 Jun 2000 jdao@dtinetworks.com wrote: > > >Number: 63 > >Category: libstdc++ > >Synopsis: missing "install.sh" or "install-sh" in libstdc++-2.90.8.tar.gz > >Confidential: no > >Severity: critical > >Priority: high > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Wed Jun 14 10:27:00 PDT 2000 > >Closed-Date: > >Last-Modified: > >Originator: Jack Dao > >Release: libstdc++-2.90.8 > >Organization: > >Environment: > Solaris-7 with GCC-2.95.2 > >Description: > tsp3dev:root:/tmp/bld-libstdc++/> /tmp/libstdc++-2.90.8/configure --prefix=/usr/local/lib > loading cache ./config.cache > configure: error: can not find install-sh or install.sh in .. /tmp/libstdc++-2.90.8/.. > >How-To-Repeat: > > >Fix: > > >Release-Note: > >Audit-Trail: > >Unformatted: > >>From yxu@platform.com Tue Jun 20 13:27:00 2000 From: yxu@platform.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/64: CreateFile call failed with Error # 80 on Win2K; Date: Tue, 20 Jun 2000 13:27:00 -0000 Message-id: <20000620202046.4747.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00014.html Content-length: 908 >Number: 64 >Category: libstdc++ >Synopsis: CreateFile call failed with Error # 80 on Win2K; >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: support >Submitter-Id: net >Arrival-Date: Tue Jun 20 13:27:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: yxu@platform.com >Release: 6.1 >Organization: >Environment: WINNT4.0 as PDC, WIN2K Server without AD, and samba/RH6.1 >Description: I tried to run a testing problem to create a file on the samba shared from the a WIN2K machine. >>From the log. file, I found the lib/utile.c:unix_clean_name(609) unix_clean_name[]. Then smbd/open.c:open_file(508) Error opening file . (File exists) (flags=194) And the WIN2K side is using UNC path \\\path\..\filename. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@redhat.com Fri Jun 23 11:07:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/64: CreateFile call failed with Error # 80 on Win2K; Date: Fri, 23 Jun 2000 11:07:00 -0000 Message-id: <20000623180700.763.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00015.html Content-length: 390 The following reply was made to PR libstdc++/64; it has been noted by GNATS. From: Benjamin Kosnik To: yxu@platform.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/64: CreateFile call failed with Error # 80 on Win2K; Date: Fri, 23 Jun 2000 11:01:14 -0700 (PDT) and how is this a libstdc++ bug? I suggest you look for help with the samba folks... >>From benoit.sibaud@rd.francetelecom.fr Wed Jun 28 03:27:00 2000 From: benoit.sibaud@rd.francetelecom.fr To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/66: Uninitialized Memory Errors (UMR) with Purify [Ascii log] Date: Wed, 28 Jun 2000 03:27:00 -0000 Message-id: <20000628102221.9821.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00017.html Content-length: 31815 >Number: 66 >Category: libstdc++ >Synopsis: Uninitialized Memory Errors (UMR) with Purify [Ascii log] >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Jun 28 03:27:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: benoit.sibaud@rd.francetelecom.fr >Release: unknown-1.0 >Organization: >Environment: SunOS XXXX 5.6 Generic_105181-17 sun4u sparc SUNW,Ultra-4 Reading specs from /opt/gnu/gcc-2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/specs gcc version 2.95.2 19991024 (release) libstdc++ 2.90.8 (full recompilation of gcc) purify-4.5.1-solaris2 >Description: I've got many UMR with Purify. I suspect it's due to libstdc++ 2.90.8, so I send to you the Purify report. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="Test_equDebugPure.plog" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Test_equDebugPure.plog" KioqKiAgUHVyaWZ5IGluc3RydW1lbnRlZCAuL1Rlc3RfZXF1RGVidWdQdXJlIChwaWQgMjI2NTAg YXQgV2VkIEp1biAyOCAxMTozMDozNSAyMDAwKQogICogUHVyaWZ5IDQuNS4xIFNvbGFyaXMgMiwg Q29weXJpZ2h0IChDKSAxOTkyLTE5OTkgUmF0aW9uYWwgU29mdHdhcmUgQ29ycC4gQWxsIHJpZ2h0 cyByZXNlcnZlZC4gCiAgKiBGb3IgY29udGFjdCBpbmZvcm1hdGlvbiB0eXBlOiAicHVyaWZ5IC1o ZWxwIgogICogRm9yIFRUWSBvdXRwdXQsIHVzZSB0aGUgb3B0aW9uICItd2luZG93cz1ubyIKICAq IENvbW1hbmQtbGluZTogLi9UZXN0X2VxdURlYnVnUHVyZSAuLi8uLi8uLi9kYXRhL2VxdS9UZXN0 X2VxdV9vay50eHQgCiAgKiBPcHRpb25zIHNldHRpbmdzOiAtY2FjaGUtZGlyPS90bXAvcHVyaWZ5 IC1nKys9eWVzIC1wdXJpZnkgLWNhY2hlLWRpcj0vdG1wIFwKICAgIC1wdXJpZnktaG9tZT0vb3B0 L3B1cmlmeS9wdXJpZnktNC41LjEtc29sYXJpczIgCgoqKioqICBQdXJpZnkgaW5zdHJ1bWVudGVk IC4vVGVzdF9lcXVEZWJ1Z1B1cmUgKHBpZCAyMjY1MCkgICoqKioKVU1SOiBVbmluaXRpYWxpemVk IG1lbW9yeSByZWFkICgxMyB0aW1lcyk6CiAgKiBUaGlzIGlzIG9jY3VycmluZyB3aGlsZSBpbjoK CWdldGxpbmVfX0gzWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3Ix WmNfM3N0ZFJRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFaWDExUlEyM3N0ZHQxMmJhc2ljX3N0 cmluZzNaWDAxWlgxMVpYMjFYMDFfUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTEgW2Jh c2ljX3N0cmluZy5oOjY3Nl0KCWdldGxpbmVfX0gzWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNa UTIzc3RkdDlhbGxvY2F0b3IxWmNfM3N0ZFJRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFaWDEx UlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaWDAxWlgxMVpYMjFfUlEyM3N0ZHQxM2Jhc2ljX2lzdHJl YW0yWlgwMVpYMTEgW2lzdHJlYW0udGNjOjExOTZdCglJbzo6SW9FcXVEcml2ZXI6OmdldChzdGQ6 OmJhc2ljX2lmc3RyZWFtPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj4mLElvOjpJb0Jhc2VS ZWFkZXIqKSBbSW9FcXVEcml2ZXIuY3BwOjM4XQoJSW86OklvUmVhZGVyPFRlc3RSZWNvcmQ+Ojpn ZXQoKSBbSW9SZWFkZXIuaDo0Ml0KCXRlc3RfcmVjb3JkX19GR1EyM3N0ZHQxMmJhc2ljX3N0cmlu ZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaYyBbVGVzdF9l cXUuY3BwOjg1XQoJbWFpbiAgICAgICAgICAgW1Rlc3RfZXF1LmNwcDoxNDZdCiAgKiBSZWFkaW5n IDQgYnl0ZXMgZnJvbSAweGVmZmZmNDgwIG9uIHRoZSBzdGFjay4KICAqIEFkZHJlc3MgMHhlZmZm ZjQ4MCBpcyAgICAgIDMxNiBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfX2Nl cmIiIGluIGZ1bmN0aW9uIGdldGxpbmVfX0gzWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIz c3RkdDlhbGxvY2F0b3IxWmNfM3N0ZFJRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFaWDExUlEy M3N0ZHQxMmJhc2ljX3N0cmluZzNaWDAxWlgxMVpYMjFYMDFfUlEyM3N0ZHQxM2Jhc2ljX2lzdHJl YW0yWlgwMVpYMTEuCgoqKioqICBQdXJpZnkgaW5zdHJ1bWVudGVkIC4vVGVzdF9lcXVEZWJ1Z1B1 cmUgKHBpZCAyMjY1MCkgICoqKioKVU1SOiBVbmluaXRpYWxpemVkIG1lbW9yeSByZWFkICgxMiB0 aW1lcyk6CiAgKiBUaGlzIGlzIG9jY3VycmluZyB3aGlsZSBpbjoKCV9TX2NvbnN0cnVjdF9fSDFa UTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0MTJiYXNp Y19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNY MDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRvcl90YWdf UGMgW3N0cmluZy50Y2M6MTI1XQoJX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25vcm1hbF9p dGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRz MVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0 MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUGMgW2Jhc2ljX3N0cmluZy5oOjY5N10KCV9fSDFaUTIzc3RkdDE3X19ub3JtYWxf aXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0 czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3Rk dDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxs b2NhdG9yMVpjIFtzdHJpbmcudGNjOjIxOF0KCUlvOjpJb0VxdURyaXZlcjo6Z2V0KHN0ZDo6YmFz aWNfaWZzdHJlYW08Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+PiYsSW86OklvQmFzZVJlYWRl ciopIFtJb0VxdURyaXZlci5jcHA6MzldCglJbzo6SW9SZWFkZXI8VGVzdFJlY29yZD46OmdldCgp IFtJb1JlYWRlci5oOjQyXQoJdGVzdF9yZWNvcmRfX0ZHUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pj WlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjIFtUZXN0X2VxdS5j cHA6ODVdCiAgKiBSZWFkaW5nIDQgYnl0ZXMgZnJvbSAweGVmZmZmNDY4IG9uIHRoZSBzdGFjayAo MSBieXRlIGF0IDB4ZWZmZmY0NjggdW5pbml0KS4KICAqIEFkZHJlc3MgMHhlZmZmZjQ2OCBpcyAg ICAgIC00OCBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfVGFnIiBpbiBmdW5j dGlvbiBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpj WlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYy4KCioq KiogIFB1cmlmeSBpbnN0cnVtZW50ZWQgLi9UZXN0X2VxdURlYnVnUHVyZSAocGlkIDIyNjUwKSAg KioqKgpVTVI6IFVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJlYWQgKDEwIHRpbWVzKToKICAqIFRoaXMg aXMgb2NjdXJyaW5nIHdoaWxlIGluOgoJZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0 czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgw MVpYMTFSUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3RkdDEzYmFz aWNfaXN0cmVhbTJaWDAxWlgxMSBbYmFzaWNfc3RyaW5nLmg6Njc2XQoJSW86OklvRXF1RHJpdmVy OjpwYXJzZUxpbmUoY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRz PGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYpIFtJb0VxdURyaXZlci5jcHA6NzddCglJbzo6 SW9FcXVEcml2ZXI6OmdldChzdGQ6OmJhc2ljX2lmc3RyZWFtPGNoYXIsc3RkOjpjaGFyX3RyYWl0 czxjaGFyPj4mLElvOjpJb0Jhc2VSZWFkZXIqKSBbSW9FcXVEcml2ZXIuY3BwOjQzXQoJSW86Oklv UmVhZGVyPFRlc3RSZWNvcmQ+OjpnZXQoKSBbSW9SZWFkZXIuaDo0Ml0KCXRlc3RfcmVjb3JkX19G R1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0 OWFsbG9jYXRvcjFaYyBbVGVzdF9lcXUuY3BwOjg1XQoJbWFpbiAgICAgICAgICAgW1Rlc3RfZXF1 LmNwcDoxNDZdCiAgKiBSZWFkaW5nIDQgYnl0ZXMgZnJvbSAweGVmZmZmMzYwIG9uIHRoZSBzdGFj ay4KICAqIEFkZHJlc3MgMHhlZmZmZjM2MCBpcyAgICAgIDMxNiBieXRlcyBwYXN0IHN0YXJ0IG9m IGxvY2FsIHZhcmlhYmxlICJfX2NlcmIiIGluIGZ1bmN0aW9uIGdldGxpbmVfX0gzWmNaUTIzc3Rk dDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfM3N0ZFJRMjNzdGR0MTNiYXNp Y19pc3RyZWFtMlpYMDFaWDExUlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaWDAxWlgxMVpYMjFYMDFf UlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTEuCgoqKioqICBQdXJpZnkgaW5zdHJ1bWVu dGVkIC4vVGVzdF9lcXVEZWJ1Z1B1cmUgKHBpZCAyMjY1MCkgICoqKioKVU1SOiBVbmluaXRpYWxp emVkIG1lbW9yeSByZWFkICgxMCB0aW1lcyk6CiAgKiBUaGlzIGlzIG9jY3VycmluZyB3aGlsZSBp bjoKCV9TX2NvbnN0cnVjdF9fSDFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0 ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9j YXRvcjFaY19RMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNa UTIzc3RkdDlhbGxvY2F0b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIw Zm9yd2FyZF9pdGVyYXRvcl90YWdfUGMgW3N0cmluZy50Y2M6MTI1XQoJX1NfY29uc3RydWN0X19I MVpRMjNzdGR0MTdfX25vcm1hbF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pj WlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJh c2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFa Y1gwMFgwMFJDUTIzc3RkdDlhbGxvY2F0b3IxWmNfUGMgW2Jhc2ljX3N0cmluZy5oOjY5N10KCV9f SDFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNa Y1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0MTJi YXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3Ix WmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjIFtzdHJpbmcudGNjOjIxOF0KCUlvOjpJb0Vx dURyaXZlcjo6cGFyc2VMaW5lKGNvbnN0IHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFy X3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4mKSBbSW9FcXVEcml2ZXIuY3BwOjgy XQoJSW86OklvRXF1RHJpdmVyOjpnZXQoc3RkOjpiYXNpY19pZnN0cmVhbTxjaGFyLHN0ZDo6Y2hh cl90cmFpdHM8Y2hhcj4+JixJbzo6SW9CYXNlUmVhZGVyKikgW0lvRXF1RHJpdmVyLmNwcDo0M10K CUlvOjpJb1JlYWRlcjxUZXN0UmVjb3JkPjo6Z2V0KCkgW0lvUmVhZGVyLmg6NDJdCiAgKiBSZWFk aW5nIDQgYnl0ZXMgZnJvbSAweGVmZmZmMmQ4IG9uIHRoZSBzdGFjayAoMSBieXRlIGF0IDB4ZWZm ZmYyZDggdW5pbml0KS4KICAqIEFkZHJlc3MgMHhlZmZmZjJkOCBpcyAgICAgIC00OCBieXRlcyBw YXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfVGFnIiBpbiBmdW5jdGlvbiBfU19jb25zdHJ1 Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNzdGR0MTJiYXNpY19zdHJp bmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfUTIzc3Rk dDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2Nh dG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYy4KCioqKiogIFB1cmlmeSBpbnN0 cnVtZW50ZWQgLi9UZXN0X2VxdURlYnVnUHVyZSAocGlkIDIyNjUwKSAgKioqKgpVTVI6IFVuaW5p dGlhbGl6ZWQgbWVtb3J5IHJlYWQgKDEwIHRpbWVzKToKICAqIFRoaXMgaXMgb2NjdXJyaW5nIHdo aWxlIGluOgoJZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFs bG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTFSUTIzc3RkdDEy YmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3RkdDEzYmFzaWNfaXN0cmVhbTJaWDAx WlgxMSBbYmFzaWNfc3RyaW5nLmg6Njc2XQoJSW86OklvRXF1RHJpdmVyOjpwYXJzZUxpbmUoY29u c3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxs b2NhdG9yPGNoYXI+PiYpIFtJb0VxdURyaXZlci5jcHA6ODldCglJbzo6SW9FcXVEcml2ZXI6Omdl dChzdGQ6OmJhc2ljX2lmc3RyZWFtPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj4mLElvOjpJ b0Jhc2VSZWFkZXIqKSBbSW9FcXVEcml2ZXIuY3BwOjQzXQoJSW86OklvUmVhZGVyPFRlc3RSZWNv cmQ+OjpnZXQoKSBbSW9SZWFkZXIuaDo0Ml0KCXRlc3RfcmVjb3JkX19GR1EyM3N0ZHQxMmJhc2lj X3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaYyBb VGVzdF9lcXUuY3BwOjg1XQoJbWFpbiAgICAgICAgICAgW1Rlc3RfZXF1LmNwcDoxNDZdCiAgKiBS ZWFkaW5nIDQgYnl0ZXMgZnJvbSAweGVmZmZmMzYwIG9uIHRoZSBzdGFjay4KICAqIEFkZHJlc3Mg MHhlZmZmZjM2MCBpcyAgICAgIDMxNiBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxl ICJfX2NlcmIiIGluIGZ1bmN0aW9uIGdldGxpbmVfX0gzWmNaUTIzc3RkdDExY2hhcl90cmFpdHMx WmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfM3N0ZFJRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFa WDExUlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaWDAxWlgxMVpYMjFYMDFfUlEyM3N0ZHQxM2Jhc2lj X2lzdHJlYW0yWlgwMVpYMTEuCgoqKioqICBQdXJpZnkgaW5zdHJ1bWVudGVkIC4vVGVzdF9lcXVE ZWJ1Z1B1cmUgKHBpZCAyMjY1MCkgICoqKioKVU1SOiBVbmluaXRpYWxpemVkIG1lbW9yeSByZWFk ICgxMCB0aW1lcyk6CiAgKiBUaGlzIGlzIG9jY3VycmluZyB3aGlsZSBpbjoKCV9TX2NvbnN0cnVj dF9fSDFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmlu ZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0 MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0 b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRv cl90YWdfUGMgW3N0cmluZy50Y2M6MTI1XQoJX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25v cm1hbF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJf dHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3Rk dDlhbGxvY2F0b3IxWmNfUGMgW2Jhc2ljX3N0cmluZy5oOjY5N10KCXN0ZDo6YmFzaWNfc3RyaW5n PGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6 YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxj aGFyPj4oY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYsdW5zaWduZWQgaW50LHVuc2lnbmVkIGludCkgW3N0cmlu Zy50Y2M6MTg0XQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3Vic3RyKHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQp Y29uc3QgW2Jhc2ljX3N0cmluZy5oOjg0OF0KCUlvOjpJb0VxdURyaXZlcjo6cGFyc2VMaW5lKGNv bnN0IHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFs bG9jYXRvcjxjaGFyPj4mKSBbSW9FcXVEcml2ZXIuY3BwOjEwOF0KCUlvOjpJb0VxdURyaXZlcjo6 Z2V0KHN0ZDo6YmFzaWNfaWZzdHJlYW08Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+PiYsSW86 OklvQmFzZVJlYWRlciopIFtJb0VxdURyaXZlci5jcHA6NDNdCiAgKiBSZWFkaW5nIDQgYnl0ZXMg ZnJvbSAweGVmZmZmMjM4IG9uIHRoZSBzdGFjay4KICAqIEFkZHJlc3MgMHhlZmZmZjIzOCBpcyAg ICAgIC00OCBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfVGFnIiBpbiBmdW5j dGlvbiBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpj WlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYy4KCioq KiogIFB1cmlmeSBpbnN0cnVtZW50ZWQgLi9UZXN0X2VxdURlYnVnUHVyZSAocGlkIDIyNjUwKSAg KioqKgpVTVI6IFVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJlYWQgKDQ4IHRpbWVzKToKICAqIFRoaXMg aXMgb2NjdXJyaW5nIHdoaWxlIGluOgoJX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25vcm1h bF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJh aXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNz dGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlh bGxvY2F0b3IxWmNHUTIzc3RkMjBmb3J3YXJkX2l0ZXJhdG9yX3RhZ19QYyBbc3RyaW5nLnRjYzox MjVdCglfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpj WlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYyBbYmFz aWNfc3RyaW5nLmg6Njk3XQoJX19IMVpRMjNzdGR0MTdfX25vcm1hbF9pdGVyYXRvcjJaUGNaUTIz c3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxs b2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFa Y1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlhbGxvY2F0b3IxWmMgW3N0cmlu Zy50Y2M6MjE4XQoJSW86OklvRXF1RHJpdmVyOjpwYXJzZUxpbmUoY29uc3Qgc3RkOjpiYXNpY19z dHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYp IFtJb0VxdURyaXZlci5jcHA6MTMzXQoJSW86OklvRXF1RHJpdmVyOjpnZXQoc3RkOjpiYXNpY19p ZnN0cmVhbTxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+JixJbzo6SW9CYXNlUmVhZGVyKikg W0lvRXF1RHJpdmVyLmNwcDo0M10KCUlvOjpJb1JlYWRlcjxUZXN0UmVjb3JkPjo6Z2V0KCkgW0lv UmVhZGVyLmg6NDJdCiAgKiBSZWFkaW5nIDQgYnl0ZXMgZnJvbSAweGVmZmZmMmQ4IG9uIHRoZSBz dGFjayAoMSBieXRlIGF0IDB4ZWZmZmYyZDggdW5pbml0KS4KICAqIEFkZHJlc3MgMHhlZmZmZjJk OCBpcyAgICAgIC00OCBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfVGFnIiBp biBmdW5jdGlvbiBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQ Y1pRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3Rk dDlhbGxvY2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJh aXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19Q Yy4KCioqKiogIFB1cmlmeSBpbnN0cnVtZW50ZWQgLi9UZXN0X2VxdURlYnVnUHVyZSAocGlkIDIy NjUwKSAgKioqKgpVTVI6IFVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJlYWQgKDM4IHRpbWVzKToKICAq IFRoaXMgaXMgb2NjdXJyaW5nIHdoaWxlIGluOgoJZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFy X3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJl YW0yWlgwMVpYMTFSUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3Rk dDEzYmFzaWNfaXN0cmVhbTJaWDAxWlgxMSBbYmFzaWNfc3RyaW5nLmg6Njc2XQoJSW86OklvRXF1 RHJpdmVyOjpwYXJzZUxpbmUoY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJf dHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYpIFtJb0VxdURyaXZlci5jcHA6MTM3 XQoJSW86OklvRXF1RHJpdmVyOjpnZXQoc3RkOjpiYXNpY19pZnN0cmVhbTxjaGFyLHN0ZDo6Y2hh cl90cmFpdHM8Y2hhcj4+JixJbzo6SW9CYXNlUmVhZGVyKikgW0lvRXF1RHJpdmVyLmNwcDo0M10K CUlvOjpJb1JlYWRlcjxUZXN0UmVjb3JkPjo6Z2V0KCkgW0lvUmVhZGVyLmg6NDJdCgl0ZXN0X3Jl Y29yZF9fRkdRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNa UTIzc3RkdDlhbGxvY2F0b3IxWmMgW1Rlc3RfZXF1LmNwcDo4NV0KCW1haW4gICAgICAgICAgIFtU ZXN0X2VxdS5jcHA6MTQ2XQogICogUmVhZGluZyA0IGJ5dGVzIGZyb20gMHhlZmZmZjM2MCBvbiB0 aGUgc3RhY2suCiAgKiBBZGRyZXNzIDB4ZWZmZmYzNjAgaXMgICAgICAzMTYgYnl0ZXMgcGFzdCBz dGFydCBvZiBsb2NhbCB2YXJpYWJsZSAiX19jZXJiIiBpbiBmdW5jdGlvbiBnZXRsaW5lX19IM1pj WlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjXzNzdGRSUTIzc3Rk dDEzYmFzaWNfaXN0cmVhbTJaWDAxWlgxMVJRMjNzdGR0MTJiYXNpY19zdHJpbmczWlgwMVpYMTFa WDIxWDAxX1JRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFaWDExLgoKKioqKiAgUHVyaWZ5IGlu c3RydW1lbnRlZCAuL1Rlc3RfZXF1RGVidWdQdXJlIChwaWQgMjI2NTApICAqKioqClVNUjogVW5p bml0aWFsaXplZCBtZW1vcnkgcmVhZCAoMzggdGltZXMpOgogICogVGhpcyBpcyBvY2N1cnJpbmcg d2hpbGUgaW46CglfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQ Y1pRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3Rk dDlhbGxvY2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJh aXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dR MjNzdGQyMGZvcndhcmRfaXRlcmF0b3JfdGFnX1BjIFtzdHJpbmcudGNjOjEyNV0KCV9TX2NvbnN0 cnVjdF9fSDFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0 cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjX1BjIFtiYXNpY19zdHJpbmcuaDo2 OTddCglzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjph bGxvY2F0b3I8Y2hhcj4+OjpzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8 Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+KGNvbnN0IHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIs c3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4mLHVuc2lnbmVkIGlu dCx1bnNpZ25lZCBpbnQpIFtzdHJpbmcudGNjOjE4NF0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIs c3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN1YnN0cih1bnNp Z25lZCBpbnQsdW5zaWduZWQgaW50KWNvbnN0IFtiYXNpY19zdHJpbmcuaDo4NDhdCglJbzo6SW9F cXVEcml2ZXI6OnBhcnNlTGluZShjb25zdCBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hh cl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+JikgW0lvRXF1RHJpdmVyLmNwcDox MjBdCglJbzo6SW9FcXVEcml2ZXI6OmdldChzdGQ6OmJhc2ljX2lmc3RyZWFtPGNoYXIsc3RkOjpj aGFyX3RyYWl0czxjaGFyPj4mLElvOjpJb0Jhc2VSZWFkZXIqKSBbSW9FcXVEcml2ZXIuY3BwOjQz XQogICogUmVhZGluZyA0IGJ5dGVzIGZyb20gMHhlZmZmZjIzOCBvbiB0aGUgc3RhY2suCiAgKiBB ZGRyZXNzIDB4ZWZmZmYyMzggaXMgICAgICAtNDggYnl0ZXMgcGFzdCBzdGFydCBvZiBsb2NhbCB2 YXJpYWJsZSAiX1RhZyIgaW4gZnVuY3Rpb24gX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25v cm1hbF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJf dHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3Rk dDlhbGxvY2F0b3IxWmNfUGMuCgoqKioqICBQdXJpZnkgaW5zdHJ1bWVudGVkIC4vVGVzdF9lcXVE ZWJ1Z1B1cmUgKHBpZCAyMjY1MCkgICoqKioKVU1SOiBVbmluaXRpYWxpemVkIG1lbW9yeSByZWFk ICgzOCB0aW1lcyk6CiAgKiBUaGlzIGlzIG9jY3VycmluZyB3aGlsZSBpbjoKCV9TX2NvbnN0cnVj dF9fSDFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmlu ZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0 MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0 b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRv cl90YWdfUGMgW3N0cmluZy50Y2M6MTI1XQoJX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25v cm1hbF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJf dHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3Rk dDlhbGxvY2F0b3IxWmNfUGMgW2Jhc2ljX3N0cmluZy5oOjY5N10KCXN0ZDo6YmFzaWNfc3RyaW5n PGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6 YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxj aGFyPj4oY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYsdW5zaWduZWQgaW50LHVuc2lnbmVkIGludCkgW3N0cmlu Zy50Y2M6MTg0XQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3Vic3RyKHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQp Y29uc3QgW2Jhc2ljX3N0cmluZy5oOjg0OF0KCUlvOjpJb0VxdURyaXZlcjo6cGFyc2VMaW5lKGNv bnN0IHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFs bG9jYXRvcjxjaGFyPj4mKSBbSW9FcXVEcml2ZXIuY3BwOjEyMV0KCUlvOjpJb0VxdURyaXZlcjo6 Z2V0KHN0ZDo6YmFzaWNfaWZzdHJlYW08Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+PiYsSW86 OklvQmFzZVJlYWRlciopIFtJb0VxdURyaXZlci5jcHA6NDNdCiAgKiBSZWFkaW5nIDQgYnl0ZXMg ZnJvbSAweGVmZmZmMjM4IG9uIHRoZSBzdGFjay4KICAqIEFkZHJlc3MgMHhlZmZmZjIzOCBpcyAg ICAgIC00OCBieXRlcyBwYXN0IHN0YXJ0IG9mIGxvY2FsIHZhcmlhYmxlICJfVGFnIiBpbiBmdW5j dGlvbiBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpj WlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYy4KCioq KiogIFB1cmlmeSBpbnN0cnVtZW50ZWQgLi9UZXN0X2VxdURlYnVnUHVyZSAocGlkIDIyNjUwKSAg KioqKgpVTVI6IFVuaW5pdGlhbGl6ZWQgbWVtb3J5IHJlYWQgKDEwIHRpbWVzKToKICAqIFRoaXMg aXMgb2NjdXJyaW5nIHdoaWxlIGluOgoJX1NfY29uc3RydWN0X19IMVpRMjNzdGR0MTdfX25vcm1h bF9pdGVyYXRvcjJaUGNaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJh aXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNz dGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlh bGxvY2F0b3IxWmNHUTIzc3RkMjBmb3J3YXJkX2l0ZXJhdG9yX3RhZ19QYyBbc3RyaW5nLnRjYzox MjVdCglfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNz dGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpj WlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY19QYyBbYmFz aWNfc3RyaW5nLmg6Njk3XQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRz PGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6 OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pihjb25zdCBzdGQ6OmJhc2lj X3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+ Jix1bnNpZ25lZCBpbnQsdW5zaWduZWQgaW50KSBbc3RyaW5nLnRjYzoxODRdCglzdGQ6OmJhc2lj X3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+ OjpzdWJzdHIodW5zaWduZWQgaW50LHVuc2lnbmVkIGludCljb25zdCBbYmFzaWNfc3RyaW5nLmg6 ODQ4XQoJSW86OklvRXF1RHJpdmVyOjpwYXJzZUxpbmUoY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYpIFtJb0Vx dURyaXZlci5jcHA6MTU4XQoJSW86OklvRXF1RHJpdmVyOjpnZXQoc3RkOjpiYXNpY19pZnN0cmVh bTxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+JixJbzo6SW9CYXNlUmVhZGVyKikgW0lvRXF1 RHJpdmVyLmNwcDo0M10KICAqIFJlYWRpbmcgNCBieXRlcyBmcm9tIDB4ZWZmZmYyMzggb24gdGhl IHN0YWNrLgogICogQWRkcmVzcyAweGVmZmZmMjM4IGlzICAgICAgLTQ4IGJ5dGVzIHBhc3Qgc3Rh cnQgb2YgbG9jYWwgdmFyaWFibGUgIl9UYWciIGluIGZ1bmN0aW9uIF9TX2NvbnN0cnVjdF9fSDFa UTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY19RMjNzdGR0MTJiYXNp Y19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNY MDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjX1BjLgoKKioqKiAgUHVyaWZ5IGluc3RydW1lbnRl ZCAuL1Rlc3RfZXF1RGVidWdQdXJlIChwaWQgMjI2NTApICAqKioqCkN1cnJlbnQgZmlsZSBkZXNj cmlwdG9ycyBpbiB1c2U6IDUKRklVOiBmaWxlIGRlc2NyaXB0b3IgMDogPHN0ZGluPgpGSVU6IGZp bGUgZGVzY3JpcHRvciAxOiA8c3Rkb3V0PgpGSVU6IGZpbGUgZGVzY3JpcHRvciAyOiA8c3RkZXJy PgpGSVU6IGZpbGUgZGVzY3JpcHRvciAyNjogPHJlc2VydmVkIGZvciBQdXJpZnkgaW50ZXJuYWwg dXNlPgpGSVU6IGZpbGUgZGVzY3JpcHRvciAyNzogPHJlc2VydmVkIGZvciBQdXJpZnkgaW50ZXJu YWwgdXNlPgoKKioqKiAgUHVyaWZ5IGluc3RydW1lbnRlZCAuL1Rlc3RfZXF1RGVidWdQdXJlIChw aWQgMjI2NTApICAqKioqClB1cmlmeTogU2VhcmNoaW5nIGZvciBhbGwgbWVtb3J5IGxlYWtzLi4u CgpNZW1vcnkgbGVha2VkOiAyNjQgYnl0ZXMgKDM1LjMlKTsgcG90ZW50aWFsbHkgbGVha2VkOiA2 MyBieXRlcyAoOC40MyUpCgpNTEs6IDk2IGJ5dGVzIGxlYWtlZCBpbiAyIGJsb2NrcwogICogVGhp cyBtZW1vcnkgd2FzIGFsbG9jYXRlZCBmcm9tOgoJbWFsbG9jICAgICAgICAgW3J0bGliLm9dCglf X2JVaUx0SW5fbkV3ICBbbmV3MS5jYzo4NF0KCV9fYnVpbHRpbl9uZXcgIFtydGxpYi5vXQoJZW5y b2xsX19IMVpkX1EyMklvNUlvTWFwUkNRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDEx Y2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNSWDAxX1JRMjJJb3Q3SW9WYWx1ZTFa WDAxIFtJb01hcC5oOjU2XQoJVGVzdFJlY29yZDo6ZmlsbE1hcChJbzo6SW9NYXAmKSBbVGVzdF9l cXUuY3BwOjI5XQoJSW86OklvV3JpdGVyPFRlc3RSZWNvcmQ+OjpJbzo6SW9Xcml0ZXI8VGVzdFJl Y29yZD4oSW86OklvRHJpdmVyJikgW0lvV3JpdGVyLmg6MzFdCiAgKiBCbG9jayBvZiA0OCBieXRl cyAoMiB0aW1lcyk7IGxhc3QgYmxvY2sgYXQgMHgxYTIwMTgKCk1MSzogOTYgYnl0ZXMgbGVha2Vk IGluIDIgYmxvY2tzCiAgKiBUaGlzIG1lbW9yeSB3YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2Mg ICAgICAgICBbcnRsaWIub10KCV9fYlVpTHRJbl9uRXcgIFtuZXcxLmNjOjg0XQoJX19idWlsdGlu X25ldyAgW3J0bGliLm9dCgllbnJvbGxfX0gyWmRaZF9RMjJJbzVJb01hcFJDUTIzc3RkdDEyYmFz aWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpj UlgwMVJDWDExX1JRMjJJb3Q3SW9WYWx1ZTFaWDAxIFtJb01hcC5oOjc0XQoJVGVzdFJlY29yZDo6 ZmlsbE1hcChJbzo6SW9NYXAmKSBbVGVzdF9lcXUuY3BwOjI4XQoJSW86OklvV3JpdGVyPFRlc3RS ZWNvcmQ+OjpJbzo6SW9Xcml0ZXI8VGVzdFJlY29yZD4oSW86OklvRHJpdmVyJikgW0lvV3JpdGVy Lmg6MzFdCiAgKiBCbG9jayBvZiA0OCBieXRlcyAoMiB0aW1lcyk7IGxhc3QgYmxvY2sgYXQgMHgx YTFmMjgKCk1MSzogMzggYnl0ZXMgbGVha2VkIGluIDIgYmxvY2tzCiAgKiBUaGlzIG1lbW9yeSB3 YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2MgICAgICAgICBbcnRsaWIub10KCXN0ZDo6YmFzaWNf c3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46 Ol9SZXA6Ol9TX2NyZWF0ZSh1bnNpZ25lZCBpbnQsY29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4m KSBbc3RsX2FsbG9jLmg6MTI4XQoJX1NfY29uc3RydWN0X19IMVpQQ2NfUTIzc3RkdDEyYmFzaWNf c3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAw WDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dRMjNzdGQyMGZvcndhcmRfaXRlcmF0b3JfdGFnX1Bj IFtzdHJpbmcudGNjOjEzMV0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0 czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3Rk OjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4oY29uc3QgY2hhciosY29u c3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4mKSBbYmFzaWNfc3RyaW5nLmg6Njk3XQoJVGVzdFJlY29y ZDo6ZmlsbE1hcChJbzo6SW9NYXAmKSBbVGVzdF9lcXUuY3BwOjI5XQoJSW86OklvV3JpdGVyPFRl c3RSZWNvcmQ+OjpJbzo6SW9Xcml0ZXI8VGVzdFJlY29yZD4oSW86OklvRHJpdmVyJikgW0lvV3Jp dGVyLmg6MzFdCiAgKiBCbG9jayBvZiAxOSBieXRlcyAoMiB0aW1lcyk7IGxhc3QgYmxvY2sgYXQg MHgxYTFmYjAKCk1MSzogMzQgYnl0ZXMgbGVha2VkIGluIDIgYmxvY2tzCiAgKiBUaGlzIG1lbW9y eSB3YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2MgICAgICAgICBbcnRsaWIub10KCXN0ZDo6YmFz aWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFy Pj46Ol9SZXA6Ol9TX2NyZWF0ZSh1bnNpZ25lZCBpbnQsY29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hh cj4mKSBbc3RsX2FsbG9jLmg6MTI4XQoJX1NfY29uc3RydWN0X19IMVpQQ2NfUTIzc3RkdDEyYmFz aWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpj WDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dRMjNzdGQyMGZvcndhcmRfaXRlcmF0b3JfdGFn X1BjIFtzdHJpbmcudGNjOjEzMV0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3Ry YWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIs c3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4oY29uc3QgY2hhcios Y29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4mKSBbYmFzaWNfc3RyaW5nLmg6Njk3XQoJVGVzdFJl Y29yZDo6ZmlsbE1hcChJbzo6SW9NYXAmKSBbVGVzdF9lcXUuY3BwOjI4XQoJSW86OklvV3JpdGVy PFRlc3RSZWNvcmQ+OjpJbzo6SW9Xcml0ZXI8VGVzdFJlY29yZD4oSW86OklvRHJpdmVyJikgW0lv V3JpdGVyLmg6MzFdCiAgKiBCbG9jayBvZiAxNyBieXRlcyAoMiB0aW1lcyk7IGxhc3QgYmxvY2sg YXQgMHgxYTFlYzAKClBMSzogMTggYnl0ZXMgcG90ZW50aWFsbHkgbGVha2VkIGF0IDB4MTlmNDY4 CiAgKiBUaGlzIG1lbW9yeSB3YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2MgICAgICAgICBbcnRs aWIub10KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6 OmFsbG9jYXRvcjxjaGFyPj46Ol9SZXA6Ol9TX2NyZWF0ZSh1bnNpZ25lZCBpbnQsY29uc3Qgc3Rk OjphbGxvY2F0b3I8Y2hhcj4mKSBbc3RsX2FsbG9jLmg6MTI4XQoJX1NfY29uc3RydWN0X19IMVpQ Q2NfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0 ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dRMjNzdGQyMGZvcndh cmRfaXRlcmF0b3JfdGFnX1BjIFtzdHJpbmcudGNjOjEzMV0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNo YXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6YmFz aWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFy Pj4oY29uc3QgY2hhciosY29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4mKSBbYmFzaWNfc3RyaW5n Lmg6Njk3XQoJc3RkOjpsb2NhbGU6OmNsYXNzaWMoKSBbbG9jYWxlX2ZhY2V0cy5oOjEyNTFdCglz dGQ6OmJhc2ljX2ZpbGVidWY8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6c3RkOjpiYXNp Y19maWxlYnVmPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj4oKSBbbG9jYWxlZndkLmg6MzAy XQoKUExLOiAxNyBieXRlcyBwb3RlbnRpYWxseSBsZWFrZWQgYXQgMHgxOWY0ZDAKICAqIFRoaXMg bWVtb3J5IHdhcyBhbGxvY2F0ZWQgZnJvbToKCW1hbGxvYyAgICAgICAgIFtydGxpYi5vXQoJc3Rk OjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9y PGNoYXI+Pjo6X1JlcDo6X1NfY3JlYXRlKHVuc2lnbmVkIGludCxjb25zdCBzdGQ6OmFsbG9jYXRv cjxjaGFyPiYpIFtzdGxfYWxsb2MuaDoxMjhdCglfU19jb25zdHJ1Y3RfX0gxWlBDY19RMjNzdGR0 MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0 b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRv cl90YWdfUGMgW3N0cmluZy50Y2M6MTMxXQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNo YXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pihjb25zdCBj aGFyKixjb25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiYpIFtiYXNpY19zdHJpbmcuaDo2OTddCglz dGQ6OmxvY2FsZTo6Y2xhc3NpYygpIFtsb2NhbGVfZmFjZXRzLmg6MTI1MV0KCXN0ZDo6YmFzaWNf ZmlsZWJ1ZjxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzdGQ6OmJhc2ljX2ZpbGVidWY8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+PigpIFtsb2NhbGVmd2QuaDozMDJdCgpQTEs6IDE0 IGJ5dGVzIHBvdGVudGlhbGx5IGxlYWtlZCBhdCAweDE5ZjAyOAogICogVGhpcyBtZW1vcnkgd2Fz IGFsbG9jYXRlZCBmcm9tOgoJbWFsbG9jICAgICAgICAgW3J0bGliLm9dCglzdGQ6OmJhc2ljX3N0 cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+Ojpf UmVwOjpfU19jcmVhdGUodW5zaWduZWQgaW50LGNvbnN0IHN0ZDo6YWxsb2NhdG9yPGNoYXI+Jikg W3N0bF9hbGxvYy5oOjEyOF0KCV9TX2NvbnN0cnVjdF9fSDFaUENjX1EyM3N0ZHQxMmJhc2ljX3N0 cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgw MFJDUTIzc3RkdDlhbGxvY2F0b3IxWmNHUTIzc3RkMjBmb3J3YXJkX2l0ZXJhdG9yX3RhZ19QYyBb c3RyaW5nLnRjYzoxMzFdCglzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8 Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+OjpzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6 Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+KGNvbnN0IGNoYXIqLGNvbnN0 IHN0ZDo6YWxsb2NhdG9yPGNoYXI+JikgW2Jhc2ljX3N0cmluZy5oOjY5N10KCXN0ZDo6bG9jYWxl OjpfSW1wbDo6c3RkOjpsb2NhbGU6Ol9JbXBsKHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQpIFts b2NhbGUuY2M6NjZdCglzdGQ6OmxvY2FsZTo6Y2xhc3NpYygpIFtsb2NhbGUuY2M6MzIzXQoKUExL OiAxNCBieXRlcyBwb3RlbnRpYWxseSBsZWFrZWQgYXQgMHgxOWVlNDAKICAqIFRoaXMgbWVtb3J5 IHdhcyBhbGxvY2F0ZWQgZnJvbToKCW1hbGxvYyAgICAgICAgIFtydGxpYi5vXQoJc3RkOjpiYXNp Y19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ Pjo6X1JlcDo6X1NfY3JlYXRlKHVuc2lnbmVkIGludCxjb25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFy PiYpIFtzdGxfYWxsb2MuaDoxMjhdCglfU19jb25zdHJ1Y3RfX0gxWlBDY19RMjNzdGR0MTJiYXNp Y19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNY MDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRvcl90YWdf UGMgW3N0cmluZy50Y2M6MTMxXQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJh aXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3RkOjpiYXNpY19zdHJpbmc8Y2hhcixz dGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pihjb25zdCBjaGFyKixj b25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiYpIFtiYXNpY19zdHJpbmcuaDo2OTddCglzdGQ6Omxv Y2FsZTo6X0ltcGw6OnN0ZDo6bG9jYWxlOjpfSW1wbCh1bnNpZ25lZCBpbnQsdW5zaWduZWQgaW50 KSBbbG9jYWxlLmNjOjYwXQoJc3RkOjpsb2NhbGU6OmNsYXNzaWMoKSBbbG9jYWxlLmNjOjMyM10K ClB1cmlmeSBIZWFwIEFuYWx5c2lzIChjb21iaW5pbmcgc3VwcHJlc3NlZCBhbmQgdW5zdXBwcmVz c2VkIGJsb2NrcykKICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrcyAgICAgICAgQnl0ZXMK ICAgICAgICAgICAgICBMZWFrZWQgICAgICAgICAgOCAgICAgICAgICAyNjQKICBQb3RlbnRpYWxs eSBMZWFrZWQgICAgICAgICAgNCAgICAgICAgICAgNjMKICAgICAgICAgICAgICBJbi1Vc2UgICAg ICAgICAxOSAgICAgICAgICA0MjAKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAgICAgVG90YWwgQWxsb2NhdGVkICAgICAgICAgMzEgICAgICAgICAgNzQ3CgoqKioq ICBQdXJpZnkgaW5zdHJ1bWVudGVkIC4vVGVzdF9lcXVEZWJ1Z1B1cmUgKHBpZCAyMjY1MCkgICoq KioKICAqIFByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIGNvZGUgMC4KICAqIDExIGFjY2VzcyBl cnJvcnMsIDIzNyB0b3RhbCBvY2N1cnJlbmNlcy4KICAqIDI2NCBieXRlcyBsZWFrZWQuCiAgKiA2 MyBieXRlcyBwb3RlbnRpYWxseSBsZWFrZWQuCiAgKiBCYXNpYyBtZW1vcnkgdXNhZ2UgKGluY2x1 ZGluZyBQdXJpZnkgb3ZlcmhlYWQpOgogICAgMTMxOTUyOSBjb2RlCiAgICAyNDg0OTYgZGF0YS9i c3MKICAgIDkwMTE2IGhlYXAgKHBlYWsgdXNlKQogICAgMTI3MiBzdGFjawoK >>From benoit.sibaud@rd.francetelecom.fr Wed Jun 28 03:27:00 2000 From: benoit.sibaud@rd.francetelecom.fr To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/65: Uninitialized Memory Errors (UMR) with Purify Date: Wed, 28 Jun 2000 03:27:00 -0000 Message-id: <20000628101943.9655.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00016.html Content-length: 64407 >Number: 65 >Category: libstdc++ >Synopsis: Uninitialized Memory Errors (UMR) with Purify >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Jun 28 03:27:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: benoit.sibaud@rd.francetelecom.fr >Release: unknown-1.0 >Organization: >Environment: SunOS XXXX 5.6 Generic_105181-17 sun4u sparc SUNW,Ultra-4 Reading specs from /opt/gnu/gcc-2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/specs gcc version 2.95.2 19991024 (release) libstdc++ 2.90.8 (full recompilation of gcc) purify-4.5.1-solaris2 >Description: I've got many UMR with Purify. I suspect it's due to libstdc++ 2.90.8, so I send to you the Purify report. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="Test_equDebugPure.pv" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Test_equDebugPure.pv" cHVyaWZ5IC12aWV3CgwAAAAAACM5WcVXAAAAWy9hcHBsaS9vdXRpbHMvbGliSW8vZXhhbXBsZXMv VGVzdC9iaW4vc3BhcmMtc3VuLXNvbGFyaXMyLjYvMS4xLWRlYnVnLWcrKy9UZXN0X2VxdURlYnVn UHVyZQAAAGD2AAAAOwAAAAAAAAAAAAAAAAEw+s4AAAABAAAxYi9vcHQvZ251L2djYy0yLjk1LjIv bGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjYvMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1 ZGUvZysrLXYzL2JpdHMvc3RsX3ZlY3Rvci5oAC9hcHBsaS9vdXRpbHMvbGliSW8vZXhhbXBsZXMv VGVzdC9zcmMvVGVzdF9lcXUubwAvYXBwbGkvb3V0aWxzL2xpYklvL2V4YW1wbGVzL1Rlc3QvYmlu L3NwYXJjLXN1bi1zb2xhcmlzMi42LzEuMS1kZWJ1Zy1nKysvVGVzdF9lcXVEZWJ1Z1B1cmUAX01f aW5zZXJ0X2F1eF9fUTIzc3RkdDZ2ZWN0b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDlh bGxvY2F0b3IxWlBRMjJJbzExSW9CYXNlVmFsdWVHUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3Iy WlBQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZhbHVl WlEyM3N0ZHQ5YWxsb2NhdG9yMVpQUTIySW8xMUlvQmFzZVZhbHVlUkNQUTIySW8xMUlvQmFzZVZh bHVlAHB1c2hfYmFja19fUTIzc3RkdDZ2ZWN0b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3Rk dDlhbGxvY2F0b3IxWlBRMjJJbzExSW9CYXNlVmFsdWVSQ1BRMjJJbzExSW9CYXNlVmFsdWUAc3Rk Ojp2ZWN0b3I8SW86OklvQmFzZVZhbHVlKixzdGQ6OmFsbG9jYXRvcjxJbzo6SW9CYXNlVmFsdWUq Pj46OnB1c2hfYmFjayhjb25zdCBJbzo6SW9CYXNlVmFsdWUqJikAL29wdC9nbnUvZ2NjLTIuOTUu Mi9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNi8yLjk1LjIvLi4vLi4vLi4vLi4vaW5j bHVkZS9nKystdjMvYml0cy9zdGxfdW5pbml0aWFsaXplZC5oAHVuaW5pdGlhbGl6ZWRfY29weV9f SDJaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0 ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ5YWxsb2NhdG9yMVpQUTIySW8x MUlvQmFzZVZhbHVlWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQUFEyMklvMTFJb0Jhc2VW YWx1ZVpRMjNzdGR0NnZlY3RvcjJaUFEyMklvMTFJb0Jhc2VWYWx1ZVpRMjNzdGR0OWFsbG9jYXRv cjFaUFEyMgBfX3VuaW5pdGlhbGl6ZWRfY29weV9fSDNaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0 b3IyWlBQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZh bHVlWlEyM3N0ZHQ5YWxsb2NhdG9yMVpQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQxN19fbm9y bWFsX2l0ZXJhdG9yMlpQUFEyMklvMTFJb0Jhc2VWYWx1ZVpRMjNzdGR0NnZlY3RvcjJaUFEyMklv MTFJb0Jhc2VWYWx1ZVpRMjNzdGR0OWFsbG9jYXRvcjFaUFEAX191bmluaXRpYWxpemVkX2NvcHlf YXV4X19IMlpRMjNzdGR0MTdfX25vcm1hbF9pdGVyYXRvcjJaUFBRMjJJbzExSW9CYXNlVmFsdWVa UTIzc3RkdDZ2ZWN0b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDlhbGxvY2F0b3IxWlBR MjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBQUTIySW8xMUlv QmFzZVZhbHVlWlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ5YWxs b2NhdG9yAC9vcHQvZ251L2djYy0yLjk1LjIvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMy LjYvMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvZysrLXYzL2JpdHMvc3RsX2FsZ29iYXNlLmgA Y29weV9fSDJaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBQUTIySW8xMUlvQmFzZVZhbHVl WlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ5YWxsb2NhdG9yMVpQ UTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQUFEyMklvMTFJ b0Jhc2VWYWx1ZVpRMjNzdGR0NnZlY3RvcjJaUFEyMklvMTFJb0Jhc2VWYWx1ZVpRMjNzdGR0OWFs bG9jYXRvcjFaUFEyMklvMTFJb0Jhc2VWYWx1AF9fY29weV9uaTFfX0gyWlEyM3N0ZHQxN19fbm9y bWFsX2l0ZXJhdG9yMlpQUFEyMklvMTFJb0Jhc2VWYWx1ZVpRMjNzdGR0NnZlY3RvcjJaUFEyMklv MTFJb0Jhc2VWYWx1ZVpRMjNzdGR0OWFsbG9jYXRvcjFaUFEyMklvMTFJb0Jhc2VWYWx1ZVpRMjNz dGR0MTdfX25vcm1hbF9pdGVyYXRvcjJaUFBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDZ2ZWN0 b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDlhbGxvY2F0b3IxWlBRMjJJbzExSW9CYQAv b3B0L2dudS9nY2MtMi45NS4yL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi42LzIuOTUu Mi8uLi8uLi8uLi8uLi9pbmNsdWRlL2crKy12My9iaXRzL3N0bF9jb25zdHJ1Y3QuaABkZXN0cm95 X19IMVpRMjNzdGR0MTdfX25vcm1hbF9pdGVyYXRvcjJaUFBRMjJJbzExSW9CYXNlVmFsdWVaUTIz c3RkdDZ2ZWN0b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDlhbGxvY2F0b3IxWlBRMjJJ bzExSW9CYXNlVmFsdWVfM3N0ZFgwMVgwMV92AF9fZGVzdHJveV9fSDJaUTIzc3RkdDE3X19ub3Jt YWxfaXRlcmF0b3IyWlBQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8x MUlvQmFzZVZhbHVlWlEyM3N0ZHQ5YWxsb2NhdG9yMVpQUTIySW8xMUlvQmFzZVZhbHVlWlBRMjJJ bzExSW9CYXNlVmFsdWVfM3N0ZFgwMVgwMVBYMTFfdgAvYXBwbGkvb3V0aWxzL2xpYklvL2V4YW1w bGVzL1Rlc3Qvc3JjLy4uLy4uLy4uL2luY2x1ZGUvMS4xL0lvTWFwLmgAa2VlcE9ubHlTdG9yYWJs ZV9fUTIySW81SW9NYXAASW86OklvTWFwOjprZWVwT25seVN0b3JhYmxlKCkAaQBlcmFzZV9fUTIz c3RkdDZ2ZWN0b3IyWlBRMjJJbzExSW9CYXNlVmFsdWVaUTIzc3RkdDlhbGxvY2F0b3IxWlBRMjJJ bzExSW9CYXNlVmFsdWVHUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBQUTIySW8xMUlvQmFz ZVZhbHVlWlEyM3N0ZHQ2dmVjdG9yMlpQUTIySW8xMUlvQmFzZVZhbHVlWlEyM3N0ZHQ5YWxsb2Nh dG9yMVpQUTIySW8xMUlvQmFzZVZhbHVlAC9mcmVlc3BhY2UvYmFja3VwL2djY2J1aWxkL3NwYXJj LXN1bi1zb2xhcmlzMi42L2xpYnN0ZGMrKy9zcmMvLi4vLi4vLi4vLi4vZ2NjLTIuOTUuMi9saWJz dGRjKysvYml0cy9iYXNpY19zdHJpbmcuaAAvb3B0L2dudS9nY2MtMi45NS4yL2xpYi9saWJzdGRj KysuYQBfX2FzX19RMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMx WmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNQQ2MAc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNo YXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6b3BlcmF0b3IgPShjb25zdCBj aGFyKikAZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9j YXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTFSUTIzc3RkdDEyYmFz aWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3RkdDEzYmFzaWNfaXN0cmVhbTJaWDAxWlgx MQBfX2NlcmIAL2ZyZWVzcGFjZS9iYWNrdXAvZ2NjYnVpbGQvc3BhcmMtc3VuLXNvbGFyaXMyLjYv bGlic3RkYysrL3NyYy8uLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0ZGMrKy9iaXRzL2lzdHJl YW0udGNjAGdldGxpbmVfX0gzWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxv Y2F0b3IxWmNfM3N0ZFJRMjNzdGR0MTNiYXNpY19pc3RyZWFtMlpYMDFaWDExUlEyM3N0ZHQxMmJh c2ljX3N0cmluZzNaWDAxWlgxMVpYMjFfUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTEA L2FwcGxpL291dGlscy9saWJJby9zcmMvSW9FcXVEcml2ZXIuY3BwAC9hcHBsaS9vdXRpbHMvbGli SW8vbGliL3NwYXJjLXN1bi1zb2xhcmlzMi42LzEuMS1kZWJ1Zy1nKysvbGliSW9EZWJ1Zy5hAGdl dF9fUTIySW8xMUlvRXF1RHJpdmVyUlEyM3N0ZHQxNGJhc2ljX2lmc3RyZWFtMlpjWlEyM3N0ZHQx MWNoYXJfdHJhaXRzMVpjUFEyMklvMTJJb0Jhc2VSZWFkZXIASW86OklvRXF1RHJpdmVyOjpnZXQo c3RkOjpiYXNpY19pZnN0cmVhbTxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+JixJbzo6SW9C YXNlUmVhZGVyKikAL2FwcGxpL291dGlscy9saWJJby9leGFtcGxlcy9UZXN0L3NyYy8uLi8uLi8u Li9pbmNsdWRlLzEuMS9Jb1JlYWRlci5oAGdldF9fUTIySW90OElvUmVhZGVyMVoxMFRlc3RSZWNv cmQASW86OklvUmVhZGVyPFRlc3RSZWNvcmQ+OjpnZXQoKQAvYXBwbGkvb3V0aWxzL2xpYklvL2V4 YW1wbGVzL1Rlc3Qvc3JjL1Rlc3RfZXF1LmNwcAB0ZXN0X3JlY29yZF9fRkdRMjNzdGR0MTJiYXNp Y19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmMA bWFpbgAvb3B0L2dudS9nY2MtMi45NS4yL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi42 LzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL2crKy12My9iaXRzL3N0bF9hbGdvLmgAZmluZF9p Zl9fSDJaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0ZHQxMmJhc2ljX3N0cmlu ZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1pRMjNzdGR0 MTJ1bmFyeV9uZWdhdGUxWlEzMklvMTFJb0VxdURyaXZlcjExU3BhY2VUZXN0ZXJfM3N0ZFgwMVgw MVgxMV9YMDEAZmluZF9pZl9fSDJaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBjWlEyM3N0 ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9j YXRvcjFaY1pRMjNzdGR0MTJ1bmFyeV9uZWdhdGUxWlEzMklvMTFJb0VxdURyaXZlcjExU3BhY2VU ZXN0ZXJfM3N0ZFgwMVgwMVgxMUdRMjNzdGQyNnJhbmRvbV9hY2Nlc3NfaXRlcmF0b3JfdGFnX1gw MQAvZnJlZXNwYWNlL2JhY2t1cC9nY2NidWlsZC9zcGFyYy1zdW4tc29sYXJpczIuNi9saWJzdGRj Kysvc3JjLy4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMvc3RyaW5nLnRjYwBf X0gxWlEyM3N0ZHQxN19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNzdGR0MTJiYXNpY19zdHJpbmcz WmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfUTIzc3RkdDEy YmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9y MVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaYwBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQx N19fbm9ybWFsX2l0ZXJhdG9yMlpQY1pRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDEx Y2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5n M1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNR MjNzdGR0OWFsbG9jYXRvcjFaY19QYwBfU19jb25zdHJ1Y3RfX0gxWlEyM3N0ZHQxN19fbm9ybWFs X2l0ZXJhdG9yMlpQY1pRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFp dHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmNfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0 ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFs bG9jYXRvcjFaY0dRMjNzdGQyMGZvcndhcmRfaXRlcmF0b3JfdGFnX1BjAF9UYWcAcGFyc2VMaW5l X19RMjJJbzExSW9FcXVEcml2ZXJSQ1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFj aGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaYwBJbzo6SW9FcXVEcml2ZXI6OnBhcnNl TGluZShjb25zdCBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4s c3RkOjphbGxvY2F0b3I8Y2hhcj4+JikAL2ZyZWVzcGFjZS9iYWNrdXAvZ2NjYnVpbGQvc3BhcmMt c3VuLXNvbGFyaXMyLjYvbGlic3RkYysrL3NyYy8uLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0 ZGMrKy9zdGwvYml0cy9zdGxfaXRlcmF0b3IuaAByYmVnaW5fX0NRMjNzdGR0MTJiYXNpY19zdHJp bmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3IxWmMAc3RkOjpi YXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNo YXI+Pjo6cmJlZ2luKCljb25zdAByZW5kX19DUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0 ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjAHN0ZDo6YmFzaWNfc3RyaW5n PGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnJlbmQo KWNvbnN0AC9vcHQvZ251L2djYy0yLjk1LjIvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMy LjYvMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvZysrLXYzL2JpdHMvc3RsX2l0ZXJhdG9yLmgA X19RMjNzdGR0MTZyZXZlcnNlX2l0ZXJhdG9yMVpRMjNzdGR0MTdfX25vcm1hbF9pdGVyYXRvcjJa UENjWlEyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNz dGR0OWFsbG9jYXRvcjFaY1JDUTIzc3RkdDE2cmV2ZXJzZV9pdGVyYXRvcjFaUTIzc3RkdDE3X19u b3JtYWxfaXRlcmF0b3IyWlBDY1pRMjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hh cl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0AHJiZWdpbgBwYXJzZVRva2VuX19RMjJJbzExSW9F cXVEcml2ZXJSQ1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFa Y1pRMjNzdGR0OWFsbG9jYXRvcjFaY1JVaU4yMgBJbzo6SW9FcXVEcml2ZXI6OnBhcnNlVG9rZW4o Y29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6 YWxsb2NhdG9yPGNoYXI+PiYsdW5zaWduZWQgaW50Jix1bnNpZ25lZCBpbnQmLHVuc2lnbmVkIGlu dCYpAGZpbmRfaWZfX0gyWlEyM3N0ZHQxNnJldmVyc2VfaXRlcmF0b3IxWlEyM3N0ZHQxN19fbm9y bWFsX2l0ZXJhdG9yMlpQQ2NaUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJf dHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjWlEyM3N0ZHQxMnVuYXJ5X25lZ2F0ZTFaUTMy SW8xMUlvRXF1RHJpdmVyMTFTcGFjZVRlc3Rlcl8zc3RkWDAxWDAxWDExX1gwMQBiYXNlX19DUTIz c3RkdDE2cmV2ZXJzZV9pdGVyYXRvcjFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBDY1pR MjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlh bGxvY2F0b3IxWmMAc3RkOjpyZXZlcnNlX2l0ZXJhdG9yPHN0ZDo6X19ub3JtYWxfaXRlcmF0b3I8 Y29uc3QgY2hhciosc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pj4+OjpiYXNlKCljb25zdABfX21sX19DUTIzc3RkdDE2cmV2 ZXJzZV9pdGVyYXRvcjFaUTIzc3RkdDE3X19ub3JtYWxfaXRlcmF0b3IyWlBDY1pRMjNzdGR0MTJi YXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0b3Ix WmMAc3RkOjpyZXZlcnNlX2l0ZXJhdG9yPHN0ZDo6X19ub3JtYWxfaXRlcmF0b3I8Y29uc3QgY2hh ciosc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxs b2NhdG9yPGNoYXI+Pj4+OjpvcGVyYXRvciAqKCljb25zdABfX1EyM3N0ZHQxMmJhc2ljX3N0cmlu ZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1JDUTIzc3Rk dDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2Nh dG9yMVpjVWlVaQBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4s c3RkOjphbGxvY2F0b3I8Y2hhcj4+OjpzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90 cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+KGNvbnN0IHN0ZDo6YmFzaWNfc3RyaW5n PGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4mLHVuc2ln bmVkIGludCx1bnNpZ25lZCBpbnQpAHN1YnN0cl9fQ1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1VpVWkAc3RkOjpiYXNp Y19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+ Pjo6c3Vic3RyKHVuc2lnbmVkIGludCx1bnNpZ25lZCBpbnQpY29uc3QAL2FwcGxpL291dGlscy9s aWJJby9zcmMvLi4vaW5jbHVkZS8xLjEvSW9NYXAuaABnZXRWYWx1ZV9fQ1EyMklvNUlvTWFwUkNR MjNzdGR0MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlh bGxvY2F0b3IxWmMASW86OklvTWFwOjpnZXRWYWx1ZShjb25zdCBzdGQ6OmJhc2ljX3N0cmluZzxj aGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+Jiljb25zdAAv ZnJlZXNwYWNlL2JhY2t1cC9nY2NidWlsZC9zcGFyYy1zdW4tc29sYXJpczIuNi9saWJzdGRjKysv c3JjLy4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2JpdHMvbG9jYWxlX2ZhY2V0cy5o AF9fcnNfX1EyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNS ZABzdGQ6OmJhc2ljX2lzdHJlYW08Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3BlcmF0 b3IgPj4oZG91YmxlJikAL2ZyZWVzcGFjZS9iYWNrdXAvZ2NjYnVpbGQvc3BhcmMtc3VuLXNvbGFy aXMyLjYvbGlic3RkYysrL3NyYy8uLi8uLi8uLi8uLi9nY2MtMi45NS4yL2xpYnN0ZGMrKy9iaXRz L2xvY2FsZV9mYWNldHMudGNjAGRvX2dldF9fQ1EyM3N0ZHQ3bnVtX2dldDJaY1pRMjNzdGR0MTlp c3RyZWFtYnVmX2l0ZXJhdG9yMlpjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjR1EyM3N0ZHQxOWlz dHJlYW1idWZfaXRlcmF0b3IyWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNUMVJRMjNzdGQ4aW9z X2Jhc2VSUTIzc3RkMTJfSW9zX0lvc3RhdGVSZAAvdXNyL2xpYi9saWJjLmEAZGVjaW1hbF90b19k b3VibGUAcGFyc2VMYXN0VG9rZW5fX1EyMklvMTFJb0VxdURyaXZlclJDUTIzc3RkdDEyYmFzaWNf c3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxsb2NhdG9yMVpjUlVp AElvOjpJb0VxdURyaXZlcjo6cGFyc2VMYXN0VG9rZW4oY29uc3Qgc3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+PiYsdW5zaWdu ZWQgaW50JikAX19sc19fUTIzc3RkdDEzYmFzaWNfb3N0cmVhbTJaY1pRMjNzdGR0MTFjaGFyX3Ry YWl0czFaY2IAZG9fcHV0X19DUTIzc3RkdDdudW1fcHV0MlpjWlEyM3N0ZHQxOW9zdHJlYW1idWZf aXRlcmF0b3IyWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNHUTIzc3RkdDE5b3N0cmVhbWJ1Zl9p dGVyYXRvcjJaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1JRMjNzdGQ4aW9zX2Jhc2VjYgBfU19m b3JtYXRfX0gzWmNaUTIzc3RkdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvcjJaY1pRMjNzdGR0MTFjaGFy X3RyYWl0czFaY1pVbF8zc3RkWDExUlEyM3N0ZDhpb3NfYmFzZVgwMWJYMjFfWDExAC9mcmVlc3Bh Y2UvYmFja3VwL2djY2J1aWxkL3NwYXJjLXN1bi1zb2xhcmlzMi42L2xpYnN0ZGMrKy9zcmMvLi4v Li4vLi4vLi4vZ2NjLTIuOTUuMi9saWJzdGRjKysvc3RsL2JpdHMvc3RsX2FsZ29iYXNlLmgAX19s c19fUTIzc3RkdDEzYmFzaWNfb3N0cmVhbTJaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY2QAc3Rk OjpiYXNpY19vc3RyZWFtPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj46Om9wZXJhdG9yIDw8 KGRvdWJsZSkAZG9fcHV0X19DUTIzc3RkdDdudW1fcHV0MlpjWlEyM3N0ZHQxOW9zdHJlYW1idWZf aXRlcmF0b3IyWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNHUTIzc3RkdDE5b3N0cmVhbWJ1Zl9p dGVyYXRvcjJaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1JRMjNzdGQ4aW9zX2Jhc2VjZABfU19v dXRwdXRfZmxvYXRfX0gyWmNaUTIzc3RkdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvcjJaY1pRMjNzdGR0 MTFjaGFyX3RyYWl0czFaY18zc3RkWDExUlEyM3N0ZDhpb3NfYmFzZVgwMVBDY1VpX1gxMQBfU19m aWxsX19IM1pjWlEyM3N0ZHQxOW9zdHJlYW1idWZfaXRlcmF0b3IyWmNaUTIzc3RkdDExY2hhcl90 cmFpdHMxWmNaUTIzc3RkMTlvdXRwdXRfaXRlcmF0b3JfdGFnXzNzdGRYMTFYMDFpWDIxX1gxMQBf X2xzX19RMjNzdGR0MTNiYXNpY19vc3RyZWFtMlpjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjbABz dGQ6OmJhc2ljX29zdHJlYW08Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3BlcmF0b3Ig PDwobG9uZykAZG9fcHV0X19DUTIzc3RkdDdudW1fcHV0MlpjWlEyM3N0ZHQxOW9zdHJlYW1idWZf aXRlcmF0b3IyWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNHUTIzc3RkdDE5b3N0cmVhbWJ1Zl9p dGVyYXRvcjJaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1JRMjNzdGQ4aW9zX2Jhc2VjbAAvYXBw bGkvb3V0aWxzL2xpYklvL2V4YW1wbGVzL1Rlc3QvYmluL3NwYXJjLXN1bi1zb2xhcmlzMi42LzEu MS1kZWJ1Zy1nKysvcnRsaWIubwBtZW1jcHkAX19wYWNrX2RvdWJsZQBfc3BsaXRfc2hvcnRlbgBf X3VucGFja19kb3VibGVfdHdvAF9fa19kb3VibGVfdG9fZGVjaW1hbABfdW5wYWNrZWRfdG9fZGVj aW1hbF90d28AbWFsbG9jAC9mcmVlc3BhY2UvYmFja3VwL2djY2J1aWxkL2djYy8uLi8uLi9nY2Mt Mi45NS4yL2djYy9jcC9uZXcxLmNjAC9vcHQvZ251L2djYy0yLjk1LjIvbGliL2djYy1saWIvc3Bh cmMtc3VuLXNvbGFyaXMyLjYvMi45NS4yL2xpYmdjYy5hAF9fYlVpTHRJbl9uRXcAX19idWlsdGlu X25ldwBlbnJvbGxfX0gxWmRfUTIySW81SW9NYXBSQ1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pR MjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1JYMDFfUlEyMklvdDdJ b1ZhbHVlMVpYMDEAZmlsbE1hcF9fMTBUZXN0UmVjb3JkUlEyMklvNUlvTWFwAFRlc3RSZWNvcmQ6 OmZpbGxNYXAoSW86OklvTWFwJikAL2FwcGxpL291dGlscy9saWJJby9leGFtcGxlcy9UZXN0L3Ny Yy8uLi8uLi8uLi9pbmNsdWRlLzEuMS9Jb1dyaXRlci5oAF9fUTIySW90OElvV3JpdGVyMVoxMFRl c3RSZWNvcmRSUTIySW84SW9Ecml2ZXIASW86OklvV3JpdGVyPFRlc3RSZWNvcmQ+OjpJbzo6SW9X cml0ZXI8VGVzdFJlY29yZD4oSW86OklvRHJpdmVyJikAZW5yb2xsX19IMlpkWmRfUTIySW81SW9N YXBSQ1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNz dGR0OWFsbG9jYXRvcjFaY1JYMDFSQ1gxMV9SUTIySW90N0lvVmFsdWUxWlgwMQAvZnJlZXNwYWNl L2JhY2t1cC9nY2NidWlsZC9zcGFyYy1zdW4tc29sYXJpczIuNi9saWJzdGRjKysvc3JjLy4uLy4u Ly4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL3N0bC9iaXRzL3N0bF9hbGxvYy5oAF9TX2NyZWF0 ZV9fUTMzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0 ZHQ5YWxsb2NhdG9yMVpjNF9SZXBVaVJDUTIzc3RkdDlhbGxvY2F0b3IxWmMAc3RkOjpiYXNpY19z dHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6 X1JlcDo6X1NfY3JlYXRlKHVuc2lnbmVkIGludCxjb25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiYp AF9TX2NvbnN0cnVjdF9fSDFaUENjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFj aGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlhbGxvY2F0 b3IxWmNHUTIzc3RkMjBmb3J3YXJkX2l0ZXJhdG9yX3RhZ19QYwBfX1EyM3N0ZHQxMmJhc2ljX3N0 cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1BDY1JD UTIzc3RkdDlhbGxvY2F0b3IxWmMAc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJh aXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3RkOjpiYXNpY19zdHJpbmc8Y2hhcixz dGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pihjb25zdCBjaGFyKixj b25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiYpAGNsYXNzaWNfX1EyM3N0ZDZsb2NhbGUAc3RkOjps b2NhbGU6OmNsYXNzaWMoKQAvZnJlZXNwYWNlL2JhY2t1cC9nY2NidWlsZC9zcGFyYy1zdW4tc29s YXJpczIuNi9saWJzdGRjKysvc3JjLy4uLy4uLy4uLy4uL2djYy0yLjk1LjIvbGlic3RkYysrL2Jp dHMvbG9jYWxlZndkLmgAX19RMjNzdGR0MTNiYXNpY19maWxlYnVmMlpjWlEyM3N0ZHQxMWNoYXJf dHJhaXRzMVpjAHN0ZDo6YmFzaWNfZmlsZWJ1ZjxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+ OjpzdGQ6OmJhc2ljX2ZpbGVidWY8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+PigpAC9mcmVl c3BhY2UvYmFja3VwL2djY2J1aWxkL3NwYXJjLXN1bi1zb2xhcmlzMi42L2xpYnN0ZGMrKy9zcmMv Li4vLi4vLi4vLi4vZ2NjLTIuOTUuMi9saWJzdGRjKysvc3JjL2xvY2FsZS5jYwBfX1EzM3N0ZDZs b2NhbGU1X0ltcGxVaVVpAHN0ZDo6bG9jYWxlOjpfSW1wbDo6c3RkOjpsb2NhbGU6Ol9JbXBsKHVu c2lnbmVkIGludCx1bnNpZ25lZCBpbnQpAAAAAMkAEcwAAAAAAQAAAAEAAAo5/////wAAAGn///// AAAAmgAAAAIAAAp8AAAKmgAACrgAAAq4AAAAAP/////////oAAAAAAARzAAAAAABAAAAAAAACjn/ ////AAAAaf////8AAACaAAAAAgAACnwAAAqaABHLTAAAAIsAAAAAABB8AAAAAAEAAAAAAAAAAP// //8AAABp/////wAAAJoAAAACAAAA9QAAAPUAEHlAAAACiAAAAAAABEQIAAAAAQAAAAEAAA6N//// /wAADrX/////AAAAmgAAAAIAAA79AAAPXP//////////AAAAAP////////+4AAAAAAAERAgAAAAB AAAAAQAADo3/////AAAOtf////8AAACaAAAAAgAADv0AAA9c//////////8AAAAA/////////8AA AAAAAARECAAAAAEAAAABAAAOjf////8AAA61/////wAAAJoAAAACAAAO/QAAD1z//////////wAA AAD/////////yAAAAAAACWgQAAAAAQAAAAAAABLK/////wAAC/v/////AAAAmgAAAAIAABM5AAAT OQAJZ1wAAADaAAAAAAAJaBAAAAABAAAAAQAAEsr/////AAAL+/////8AAACaAAAAAgAAEzkAABM5 //////////8AAAAA/////////+AAAAAAAAloEAAAAAEAAAABAAASyv////8AAAv7/////wAAAJoA AAACAAATOQAAEzn//////////wAAAAD/////////6AAAAAAAEww4AAAAAQAAAAEAABDM/////wAA DrX/////AAAAmgAAAAIAABEzAAARM///////////AAAAAP/////////gAAAAAAAESDwAAAABAAAA AAAADo3/////AAAOtf////8AAACaAAAAAgAAFd0AABZCAARGlAAAAE0AAAAAABMMOAAAAAEAAAAB AAAQzP////8AAA61/////wAAAJoAAAACAAARMwAAETP//////////wAAAAD/////////6AAAAAAA EdxUAAAAAQAAAAAAABA//////wAAAGn/////AAAAmgAAAAIAACrgAAArAgAR2kAAAAAcAAAAAAAQ fFAAAAABAAAAAQAAAAD/////AAAAaf////8AAACaAAAAAgAAAPUAAAD1//////////8AAAAA//// /////8AAAAAAABB8UAAAAAEAAAAAAAAAAP////8AAABp/////wAAAJoAAAACAAAA9QAAAPUAEHlA AAACiAAAAAAAEHRYAAAAAQAAAAAAAAKu/////wAAAGn/////AAAAmgAAAAIAAAQeAAAEHgAQdCAA AABJAAAAAAAERGAAAAABAAAAAAAADo3/////AAAOtf////8AAACaAAAAAgAADv0AAA9cAARCnAAA ACcAAAAAAAREYAAAAAEAAAABAAAOjf////8AAA61/////wAAAJoAAAACAAAO/QAAD1z///////// /wAAAAD/////////uAAAAAAABERgAAAAAQAAAAEAAA6N/////wAADrX/////AAAAmgAAAAIAAA79 AAAPXP//////////AAAAAP/////////QAAAAAAARzGAAAAABAAAAAQAACjn/////AAAAaf////8A AACaAAAAAgAACnwAAAqa//////////8AAAAA/////////9gAAAAAABB4aAAAAAEAAAAAAAAIif// //8AAABp/////wAAAJoAAAACAAAI9QAACPUAEHhMAAAATgAAAAAAEcx0AAAAAQAAAAEAAAo5//// /wAAAGn/////AAAAmgAAAAIAAAp8AAAKmv//////////AAAAAP/////////gAAAAAAARzHQAAAAB AAAAAAAACjn/////AAAAaf////8AAACaAAAAAgAACnwAAAqaABHLTAAAAIsAAAAAABGAdAAAAAEA AAAAAAAGHv////8AAABp/////wAAAJoAAAACAAAGiQAABokAEYBAAAAA2QAAAAAACTh8AAAAAQAA AAAAAA15/////wAAC/v/////AAAAmgAAAAIAAA3pAAAN6QAJOFAAAASsAAAAAAAHPIQAAAABAAAA AQAAIQf/////AAAL+/////8AAACaAAAAAgAAIXsAACG1AAANcgAADXIAAAAA/////////6AAAAEk AAc8hAAAAAEAAAABAAAhB/////8AAAv7/////wAAAJoAAAACAAAhewAAIbUAAA1yAAANcgAAAAD/ ////////sAAAATQACxCQAAAAAQAAAAH/////AAAAmgAAIyYAAACaAAAAmgAAAAYAACM2AAAjNv// ////////AAAAAP/////////wAAAAAAALEJAAAAABAAAAAP////8AAACaAAAjJgAAAJoAAACaAAAA BgAAIzYAACM2AAsPzAAAAAAAAAAAAAlwlAAAAAEAAAAAAAASyv////8AAAv7/////wAAAJoAAAAC AAAU4AAAFOAACW9cAAAAhQAAAAAAEdycAAAAAQAAAAAAABA//////wAAAGn/////AAAAmgAAAAIA ACrgAAArAgAR2kAAAAAcAAAAAAAEOKQAAAABAAAAAAAAED//////AAAAaf////8AAACaAAAAAgAA EMcAABDHAAQ4HAAAAJIAAAAAABB0qAAAAAEAAAAAAAACrv////8AAABp/////wAAAJoAAAACAAAE HgAABB4AEHQgAAAASQAAAAAABGC0AAAAAQAAAAEAAA6N/////wAADrX/////AAAAmgAAAAIAABnS AAAaPv//////////AAAAAP////////+4AAAAAAAEYLQAAAABAAAAAAAADo3/////AAAOtf////8A AACaAAAAAgAAGdIAABo+AARdxAAAALYAAAAAABB8tAAAAAEAAAABAAAAAP////8AAABp/////wAA AJoAAAACAAAA9QAAAPX//////////wAAAAD/////////oAAAAAAAEHy0AAAAAQAAAAEAAAAA//// /wAAAGn/////AAAAmgAAAAIAAAD1AAAA9f//////////AAAAAP////////+oAAAAAAAQfLQAAAAB AAAAAQAAAAD/////AAAAaf////8AAACaAAAAAgAAAPUAAAD1//////////8AAAAA/////////+AA AAAAAAsQuAAAAAEAAAAB/////wAAAJoAACMmAAAAmgAAAJoAAAAGAAAjNgAAIzb//////////wAA AAD/////////8AAAAAAACxC4AAAAAQAAAAD/////AAAAmgAAIyYAAACaAAAAmgAAAAYAACM2AAAj NgALD8wAAAAAAAAAAAAF5LwAAAABAAAAAQAAJXT/////AAAL+/////8AAACaAAAAAgAAJQYAACUG //////////8AAAAA/////////3gAAAAAAAXkvAAAAAEAAAAAAAAldP////8AAAv7/////wAAAJoA AAACAAAlBgAAJQYABd/gAAAAiQAAAAAABES8AAAAAQAAAAAAAA6N/////wAADrX/////AAAAmgAA AAIAAA79AAAPXAAEQpwAAAArAAAAAAAQeLgAAAABAAAAAAAACIn/////AAAAaf////8AAACaAAAA AgAACPUAAAj1ABB4TAAAAE4AAAAAABGAxAAAAAEAAAAAAAAGHv////8AAABp/////wAAAJoAAAAC AAAGiQAABokAEYBAAAAA2QAAAAAAEZDIAAAAAQAAAAAAACsi/////wAAAGn/////AAAAmgAAAAIA ACtoAAArlwARkHgAAAAfAAAAAAAS1MgAAAABAAAAAAAAEMz/////AAAOtf////8AAACaAAAAAgAA Ee0AABHtABLQcAAAALMAAAAAABB8yAAAAAEAAAABAAAAAP////8AAABp/////wAAAJoAAAACAAAA 9QAAAPX//////////wAAAAD/////////2AAAAAAAEHzIAAAAAQAAAAAAAAAA/////wAAAGn///// AAAAmgAAAAIAAAD1AAAA9QAQeUAAAAKIAAAAAAALZNgAAAABAAAAAf////8AAACaAAAjJgAAAJoA AACaAAAABgAAKWAAAClg//////////8AAAAA//////////gAAAAAAAtk2AAAAAEAAAAA/////wAA AJoAACMmAAAAmgAAAJoAAAAGAAApYAAAKWAAC1+cAAAAAAAAAAAACXDYAAAAAQAAAAAAABLK//// /wAAC/v/////AAAAmgAAAAIAABTgAAAU4AAJb1wAAACFAAAAAAASDOQAAAABAAAAAAAACjn///// AAAAaf////8AAACaAAAAAgAAKmcAACpnABIL3AAAADgAAAAAABB0+AAAAAEAAAAAAAACrv////8A AABp/////wAAAJoAAAACAAAEHgAABB4AEHQgAAAASQAAAAAAEtEAAAAAAQAAAAAAABDM/////wAA DrX/////AAAAmgAAAAIAABHtAAAR7QAS0HAAAACeAAAAAAAIGQwAAAABAAAAAQAAIQf/////AAAL +/////8AAACaAAAAAgAAJesAACYk//////////8AAAAA/////////7gAAAAAAAtlFAAAAAEAAAAB /////wAAAJoAACMmAAAAmgAAAJoAAAAGAAApYAAAKWD//////////wAAAAD/////////+AAAAAAA C2UUAAAAAQAAAAD/////AAAAmgAAIyYAAACaAAAAmgAAAAYAAClgAAApYAALX5wAAAAAAAAAAAAR gRQAAAABAAAAAAAABh7/////AAAAaf////8AAACaAAAAAgAABokAAAaJABGAQAAAANkAAAAAAAlB HAAAAAEAAAAAAAALiP////8AAAv7/////wAAAJoAAAACAAAuUQAALrIACUDwAAACuQAAAAAAB/Ec AAAAAQAAAAEAACEH/////wAAC/v/////AAAAmgAAAAIAACfuAAAoJ///////////AAAAAP////// ///IAAAAAAAH8RwAAAABAAAAAAAAIQf/////AAAL+/////8AAACaAAAAAgAAJ+4AACgnAAfumAAA BCUAAAAAAATlIAAAAAEAAAAAAAAwmf////8AAAv7/////wAAAJoAAAACAAAxBgAAMSAABOTEAAAA PAAAAAAAEHkgAAAAAQAAAAEAAAiJ/////wAAAGn/////AAAAmgAAAAIAAAj1AAAI9f////////// AAAAAP/////////gAAAAAAAQeSAAAAABAAAAAQAACIn/////AAAAaf////8AAACaAAAAAgAACPUA AAj1//////////8AAAAA/////////+gAAAAAABLVLAAAAAEAAAAAAAAQzP////8AAA61/////wAA AJoAAAACAAAR7QAAEe0AEtBwAAAAtwAAAAAAExE0AAAAAQAAAAAAABDM/////wAADrX/////AAAA mgAAAAIAABrQAAAa0AATEOAAAADHAAAAAAAEMTgAAAABAAAAAAAAED//////AAAAaf////8AAACa AAAAAgAAEHIAABByAAQuqAAAAFUAAAAAABLxQAAAAAEAAAAAAAAYYP////8AAA61/////wAAAJoA AAACAAAcugAAHUIAEvEoAAABMQAAAAAAEd1MAAAAAQAAAAAAABA//////wAAAGn/////AAAAmgAA AAIAACrgAAArAgAR2kAAAAAdAAAAAAAC1UgAAAABAAAAAP////8AAACaAAApCAAAAJoAAACaAAAA BgAAKVkAAClZAALUwAAAAAAAAAAAAARRWAAAAAEAAAAAAAAOjf////8AAA61/////wAAAJoAAAAC AAAV3QAAFkIABEaUAAAAhQAAAAAABE1cAAAAAQAAAAAAAA6N/////wAADrX/////AAAAmgAAAAIA ABXdAAAWQgAERpQAAABsAAAAAAAQfVwAAAABAAAAAAAAAAD/////AAAAaf////8AAACaAAAAAgAA APUAAAD1ABB5QAAAAowAAAAAABHdYAAAAAEAAAAAAAAQP/////8AAABp/////wAAAJoAAAACAAAq 4AAAKwIAEdpAAAAAHQAAAAAACYVsAAAAAQAAAAEAABap/////wAAC/v/////AAAAmgAAAAIAABcg AAAXb///////////AAAAAP////////84AAAAAAAJhWwAAAABAAAAAAAAFqn/////AAAL+/////8A AACaAAAAAgAAFyAAABdvAAmEoAAAASYAAAAAAAWhdAAAAAEAAAAAAAAh+/////8AAAv7/////wAA AJoAAAACAAAicQAAInEABaCoAAAC5wAAAAAACTF0AAAAAQAAAAEAAAuI/////wAAC/v/////AAAA mgAAAAIAAAzLAAAMywAADXIAAA1yAAAAAP/////////oAAABTAAJMXQAAAABAAAAAAAAC4j///// AAAL+/////8AAACaAAAAAgAADMsAAAzLAAkwnAAAAqQAAAAAABB1dAAAAAEAAAABAAACrv////8A AABp/////wAAAJoAAAACAAAEHgAABB7//////////wAAAAD/////////2AAAAAAAEHV0AAAAAQAA AAEAAAKu/////wAAAGn/////AAAAmgAAAAIAAAQeAAAEHv//////////AAAAAP/////////gAAAA AAAQdXQAAAABAAAAAQAAAq7/////AAAAaf////8AAACaAAAAAgAABB4AAAQe//////////8AAAAA /////////+gAAAAAAAlBhAAAAAEAAAAAAAAsWf////8AAAv7/////wAAAJoAAAACAAAszQAALTsA CUFIAAAAgAAAAAAABdWEAAAAAQAAAAAAACH7/////wAAC/v/////AAAAmgAAAAIAACd5AAAneQAF 1OwAAANuAAAAAAAS0YwAAAABAAAAAAAAEMz/////AAAOtf////8AAACaAAAAAgAAEe0AABHtABLQ cAAAAKEAAAAAAAkxkAAAAAEAAAABAAALiP////8AAAv7/////wAAAJoAAAACAAAMywAADMsAAA1y AAANcgAAAAD/////////2AAAATwACTGQAAAAAQAAAAAAAAuI/////wAAC/v/////AAAAmgAAAAIA AAzLAAAMywAJMJwAAAKkAAAAAAARgZAAAAABAAAAAQAABh7/////AAAAaf////8AAACaAAAAAgAA BokAAAaJ//////////8AAAAA/////////9gAAAAAABHBuAAAAAEAAAABAAAgFf////8AAABp//// /wAAAJoAAAACAAAgRAAAIKL//////////wAAAAD/////////4AAAAAAAEcG4AAAAAQAAAAAAACAV /////wAAAGn/////AAAAmgAAAAIAACBEAAAgogARwWwAAABWAAAAAAATEbgAAAABAAAAAQAAEMz/ ////AAAOtf////8AAACaAAAAAgAAGtAAABrQ//////////8AAAAA/////////+gAAAAAABB9vAAA AAEAAAABAAAAAP////8AAABp/////wAAAJoAAAACAAAA9QAAAPX//////////wAAAAD///////// 0AAAAAAAEH28AAAAAQAAAAAAAAAA/////wAAAGn/////AAAAmgAAAAIAAAD1AAAA9QAQeUAAAAKM AAAAAAAOecAAAAABAAAAAf////8AAACaAAAjJgAAAJoAAACaAAAABgAAKZEAACmR//////////8A AAAA////////+74AAAAAAARJyAAAAAEAAAAAAAAOjf////8AAA61/////wAAAJoAAAACAAAV3QAA FkIABEaUAAAAUgAAAAAADmXUAAAAAQAAAAD/////AAAAmgAAIyYAAACaAAAAmgAAAAYAACluAAAp bgAOZZgAAAAAAAAAAAAQddAAAAABAAAAAAAAAq7/////AAAAaf////8AAACaAAAAAgAAAx4AAAMe ABB1pAAAAFIAAAAAAA552AAAAAEAAAAA/////wAAAJoAACMmAAAAmgAAAJoAAAAGAAApkQAAKZEA Dm+QAAAAAAAAAAAACmHgAAAAAQAAAAAAACnH/////wAAKgb/////AAAAmgAAAAIAACpLAAAqSwAK YVQAAABUAAAAAAATDewAAAABAAAAAAAAGGD/////AAAOtf////8AAACaAAAAAgAAGMsAABjLABMN 0AAAASgAAAAAAAWx8AAAAAEAAAAAAAAh+/////8AAAv7/////wAAAJoAAAACAAAmaQAAJmkABbEU AAAEvAAAAAAABaH8AAAAAQAAAAAAACH7/////wAAC/v/////AAAAmgAAAAIAACJxAAAicQAFoKgA AALnAAAAAAAEVgAAAAABAAAAAAAADo3/////AAAOtf////8AAACaAAAAAgAAFd0AABZCAARGlAAA AJ4AAAAAABGSBAAAAAEAAAAAAAAPtv////8AAABp/////wAAAJoAAAACAAAP/AAAEB8AEZF4AAAA KgAAAAAAEtIYAAAAAQAAAAAAABDM/////wAADrX/////AAAAmgAAAAIAABHtAAAR7QAS0HAAAACk AAAAAAAH8hwAAAABAAAAAQAAIQf/////AAAL+/////8AAACaAAAAAgAAJ+4AACgn//////////8A AAAA/////////9gAAAAAABB2IAAAAAEAAAAAAAACrv////8AAABp/////wAAAJoAAAACAAADHgAA Ax4AEHWkAAAAUgAAAAAADm40AAAAAQAAAAD/////AAAAmgAAIyYAAACaAAAAmgAAAAYAACl9AAAp fQAObUgAAAAAAAAAAAAQfjQAAAABAAAAAQAAAAD/////AAAAaf////8AAACaAAAAAgAAAPUAAAD1 //////////8AAAAA/////////6AAAAAAABB+NAAAAAEAAAAAAAAAAP////8AAABp/////wAAAJoA AAACAAAA9QAAAPUAEHlAAAACjAAAAAAABCI8AAAAAQAAAAD/////AAAAmgAAKQgAAACaAAAAmgAA AAYAACpZAAAqWQAEIjgAAAAAAAAAAAABfjgAAAABAAAAAP////8AAACaAAApCAAAAJoAAACaAAAA BgAAKcAAACnAAAF6EAAAAAAAAAAAAAWyPAAAAAEAAAABAAAh+/////8AAAv7/////wAAAJoAAAAC AAAmaQAAJmn//////////wAAAAD/////////sAAAAAAABGJMAAAAAQAAAAEAAA6N/////wAADrX/ ////AAAAmgAAAAIAACNIAAAjtf//////////AAAAAP/////////QAAAAAAAEYkwAAAABAAAAAAAA Do3/////AAAOtf////8AAACaAAAAAgAAI0gAACO1AARhQAAAAMIAAAAAAA5ebAAAAAEAAAAB//// /wAAAJoAACMmAAAAmgAAAJoAAAAGAAAppwAAKaf//////////wAAAAD////////7/wAAAAAADl5s AAAAAQAAAAD/////AAAAmgAAIyYAAACaAAAAmgAAAAYAACmnAAAppwAOWCAAAAAAAAAAAAAJSmgA AAABAAAAAAAAEsr/////AAAL+/////8AAACaAAAAAgAAHdQAAB5nAAlJlAAAALgAAAAAAARebAAA AAEAAAABAAAOjf////8AAA61/////wAAAJoAAAACAAAZ0gAAGj4AABnLAAAZywAAAAD///////// 6AAAAAAAE650AAAAAQAAAAAAACH7/////wAAC/v/////AAAAmgAAAAIAACcHAAAnBwATqAgAAASl AAAAAAAQdnAAAAABAAAAAAAAAq7/////AAAAaf////8AAACaAAAAAgAAAx4AAAMeABB1pAAAAFIA AAAAABHKeAAAAAEAAAAAAAAGHv////8AAABp/////wAAAJoAAAACAAAHiQAAB4kAEco8AAAAywAA AAAABOagAAAAAQAAAAAAADCZ/////wAAC/v/////AAAAmgAAAAIAADEGAAAxIAAE5MQAAABCAAAA AAAS0qQAAAABAAAAAAAAEMz/////AAAOtf////8AAACaAAAAAgAAEe0AABHtABLQcAAAAKcAAAAA AAXirAAAAAEAAAAAAAAh+/////8AAAv7/////wAAAJoAAAACAAAlBgAAJQYABd/gAAAEDQAAAAAA CbasAAAAAQAAAAAAAAuI/////wAAC/v/////AAAAmgAAAAIAAB9WAAAfqQAJtlgAAANQAAAAAAAI CrwAAAABAAAAAQAAIQf/////AAAL+/////8AAACaAAAAAgAAJC8AACQv//////////8AAAAA//// /////8gAAAAAAAgKvAAAAAEAAAAAAAAhB/////8AAAv7/////wAAAJoAAAACAAAkLwAAJC8ACAng AAAEIQAAAAAABFK4AAAAAQAAAAAAAA6N/////wAADrX/////AAAAmgAAAAIAABXdAAAWQgAERpQA AACJAAAAAAAR+sQAAAABAAAAAAAAAAD/////AAAAaf////8AAACaAAAAAgAACroAAAq6ABH51AAA AZ0AAAAAAAai0AAAAAEAAAAAAAAvkv////8AAAv7/////wAAAJoAAAACAAAwAgAAMDYABqIcAAAB LgAAAAAABF7UAAAAAQAAAAEAAA6N/////wAADrX/////AAAAmgAAAAIAABnSAAAaPv////////// AAAAAP////////+4AAAAAAAQftQAAAABAAAAAQAAAAD/////AAAAaf////8AAACaAAAAAgAAAPUA AAD1//////////8AAAAA/////////6gAAAAAABB+1AAAAAEAAAABAAAAAP////8AAABp/////wAA AJoAAAACAAAA9QAAAPX//////////wAAAAD/////////oAAAAAAAEg7cAAAAAQAAAAAAAAo5//// /wAAAGn/////AAAAmgAAAAIAACvZAAAr2QASDdAAAABKAAAAAAATquwAAAABAAAAAAAAIfv///// AAAL+/////8AAACaAAAAAgAAJwcAACcHABOoCAAABJIAAAAAAARe6AAAAAEAAAABAAAOjf////8A AA61/////wAAAJoAAAACAAAZ0gAAGj7//////////wAAAAD/////////0AAAAAAABF7oAAAAAQAA AAAAAA6N/////wAADrX/////AAAAmgAAAAIAABnSAAAaPgAEXcQAAACwAAAAAAAQcugAAAABAAAA AAAAAq7/////AAAAaf////8AAACaAAAAAgAABR4AAAUeABBypAAAADAAAAAAABB27AAAAAEAAAAB AAACrv////8AAABp/////wAAAJoAAAACAAADHgAAAx7//////////wAAAAD/////////2AAAAAAA EHbsAAAAAQAAAAEAAAKu/////wAAAGn/////AAAAmgAAAAIAAAMeAAADHv//////////AAAAAP// ///////gAAAAAAAQduwAAAABAAAAAQAAAq7/////AAAAaf////8AAACaAAAAAgAAAx4AAAMe//// //////8AAAAA/////////+gAAAAAAARK/AAAAAEAAAAAAAAOjf////8AAA61/////wAAAJoAAAAC AAAV3QAAFkIABEaUAAAAWQAAAAAABE8AAAAAAQAAAAAAAA6N/////wAADrX/////AAAAmgAAAAIA ABXdAAAWQgAERpQAAAB4AAAAAAAHOwwAAAABAAAAAQAAIQf/////AAAL+/////8AAACaAAAAAgAA IXsAACG1AAANcgAADXIAAAAA/////////9AAAAFUAAc7DAAAAAEAAAAAAAAhB/////8AAAv7//// /wAAAJoAAAACAAAhewAAIbUABzo4AAADtAAAAAAACb8IAAAAAQAAAAAAAAuI/////wAAC/v///// AAAAmgAAAAIAABQFAAAUBQAJvrQAAALKAAAAAAATCxQAAAABAAAAAAAAEMz/////AAAOtf////8A AACaAAAAAgAAETMAABEzABMK6AAAAMcAAAAAAAm/HAAAAAEAAAAAAAALiP////8AAAv7/////wAA AJoAAAACAAAUBQAAFAUACb60AAACygAAAAAABRMsAAAAAQAAAAAAACEH/////wAAC/v/////AAAA mgAAAAIAAC9kAAAvewAFC0AAAATjAAAAAAAJhzwAAAABAAAAAQAAFqn/////AAAL+/////8AAACa AAAAAgAAF8IAABgP//////////8AAAAA/////////zgAAAAAAAmHPAAAAAEAAAAAAAAWqf////8A AAv7/////wAAAJoAAAACAAAXwgAAGA8ACYbUAAABJgAAAAAAEHM4AAAAAQAAAAAAAAKu/////wAA AGn/////AAAAmgAAAAIAAAUeAAAFHgAQcqQAAAAwAAAAAAAFE0AAAAABAAAAAAAAIQf/////AAAL +/////8AAACaAAAAAgAAL2QAAC97AAULQAAABOMAAAAAAARDVAAAAAEAAAAAAAAOjf////8AAA61 /////wAAAJoAAAACAAAO/QAAD1wABEKcAAAAJgAAAAAAEwtkAAAAAQAAAAAAABDM/////wAADrX/ ////AAAAmgAAAAIAABEzAAARMwATCugAAADHAAAAAAAFq2wAAAABAAAAAAAAIfv/////AAAL+/// //8AAACaAAAAAgAAJGgAACRoAAWq4AAAA6gAAAAAAAc7aAAAAAEAAAABAAAhB/////8AAAv7//// /wAAAJoAAAACAAAhewAAIbUAAA1yAAANcgAAAAD/////////wAAAAUQABztoAAAAAQAAAAAAACEH /////wAAC/v/////AAAAmgAAAAIAACF7AAAhtQAHOjgAAAO0AAAAAAAR+2wAAAABAAAAAAAAAAD/ ////AAAAaf////8AAACaAAAAAgAACroAAAq6ABH51AAAAaAAAAAAABB3eAAAAAEAAAAAAAAIif// //8AAABp/////wAAAJoAAAACAAAJigAACYoAEHdYAAAASQAAAAAABQuEAAAAAQAAAAAAADCZ//// /wAAC/v/////AAAAmgAAAAIAAC9kAAAvewAFC0AAAAFDAAAAAAAET4QAAAABAAAAAAAADo3///// AAAOtf////8AAACaAAAAAgAAFd0AABZCAARGlAAAAHkAAAAAABBziAAAAAEAAAAAAAACrv////8A AABp/////wAAAJoAAAACAAAFHgAABR4AEHKkAAAAMAAAAAAACXOYAAAAAQAAAAAAABLK/////wAA C/v/////AAAAmgAAAAIAAC26AAAtugAJcxwAAACDAAAAAAAFo5gAAAABAAAAAAAAIfv/////AAAL +/////8AAACaAAAAAgAAInEAACJxAAWgqAAAAvMAAAAAAAlvmAAAAAEAAAAAAAASyv////8AAAv7 /////wAAAJoAAAACAAAU4AAAFOAACW9cAAAAfQAAAAAACX+cAAAAAQAAAAEAAAuI/////wAAC/v/ ////AAAAmgAAAAIAAAwfAAAMbv//////////AAAAAP/////////oAAAAAAAJf5wAAAABAAAAAAAA C4j/////AAAL+/////8AAACaAAAAAgAADB8AAAxuAAl/VAAAAqQAAAAAABJDnAAAAAEAAAABAAAA AP////8AAABp/////wAAAJoAAAACAAAB4AAAAkv//////////wAAAAD/////////6AAAAAAAEHuc AAAAAQAAAAEAAAAA/////wAAAGn/////AAAAmgAAAAIAAAD1AAAA9f//////////AAAAAP////// ///AAAAAAAAQe5wAAAABAAAAAAAAAAD/////AAAAaf////8AAACaAAAAAgAAAPUAAAD1ABB5QAAA AoUAAAAAABOrrAAAAAEAAAABAAAh+/////8AAAv7/////wAAAJoAAAACAAAnBwAAJwf///////// /wAAAAD/////////2AAAAAAACWesAAAAAQAAAAAAABLK/////wAAC/v/////AAAAmgAAAAIAABM5 AAATOQAJZ1wAAADaAAAAAAAFr7QAAAABAAAAAAAAIfv/////AAAL+/////8AAACaAAAAAgAAKGoA AChqAAWvMAAABCkAAAAAAAlvtAAAAAEAAAAAAAASyv////8AAAv7/////wAAAJoAAAACAAAU4AAA FOAACW9cAAAAfQAAAAAAEwu0AAAAAQAAAAAAABDM/////wAADrX/////AAAAmgAAAAIAABEzAAAR MwATCugAAADHAAAAAAAJf7QAAAABAAAAAQAAC4j/////AAAL+/////8AAACaAAAAAgAADB8AAAxu //////////8AAAAA/////////+AAAAAAAAl/tAAAAAEAAAAAAAALiP////8AAAv7/////wAAAJoA AAACAAAMHwAADG4ACX9UAAACpAAAAAAAC1+8AAAAAQAAAAH/////AAAAmgAAIyYAAACaAAAAmgAA AAYAAClgAAApYP//////////AAAAAP/////////4AAAAAAALX7wAAAABAAAAAP////8AAACaAAAj JgAAAJoAAACaAAAABgAAKWAAAClgAAtfnAAAAAAAAAAAAAWrvAAAAAEAAAABAAAh+/////8AAAv7 /////wAAAJoAAAACAAAkaAAAJGj//////////wAAAAD/////////4AAAAAAAE6vAAAAAAQAAAAEA ACH7/////wAAC/v/////AAAAmgAAAAIAACcHAAAnB///////////AAAAAP////////+wAAAAAAAT q8AAAAABAAAAAAAAIfv/////AAAL+/////8AAACaAAAAAgAAJwcAACcHABOoCAAABJIAAAAAAAgX xAAAAAEAAAABAAAhB/////8AAAv7/////wAAAJoAAAACAAAl6wAAJiT//////////wAAAAD///// ////yAAAAAAACBfEAAAAAQAAAAAAACEH/////wAAC/v/////AAAAmgAAAAIAACXrAAAmJAAIFsAA AAQ5AAAAAAAEX8AAAAABAAAAAQAADo3/////AAAOtf////8AAACaAAAAAgAAGdIAABo+//////// //8AAAAA/////////7gAAAAAAARfwAAAAAEAAAAAAAAOjf////8AAA61/////wAAAJoAAAACAAAZ 0gAAGj4ABF3EAAAAswAAAAAACb/IAAAAAQAAAAEAAAuI/////wAAC/v/////AAAAmgAAAAIAABQF AAAUBQAAFdgAABXYAAAAAP/////////Q////0AAJv8gAAAABAAAAAAAAC4j/////AAAL+/////8A AACaAAAAAgAAFAUAABQFAAm+tAAAArkAAAAAAAm/yAAAAAEAAAABAAALiP////8AAAv7/////wAA AJoAAAACAAAUBQAAFAUAABXYAAAV2AAAAAD/////////2P///9gAEHfIAAAAAQAAAAAAAAiJ//// /wAAAGn/////AAAAmgAAAAIAAAmKAAAJigAQd1gAAABJAAAAAAAIC9AAAAABAAAAAQAAIQf///// AAAL+/////8AAACaAAAAAgAAJC8AACQv//////////8AAAAA/////////7gAAAAAAAln1AAAAAEA AAAAAAASyv////8AAAv7/////wAAAJoAAAACAAATOQAAEzkACWdcAAAA2gAAAAAAEx/oAAAAAQAA AAAAABhg/////wAADrX/////AAAAmgAAAAIAABumAAAcLgATH8QAAAEvAAAAAAAQc/AAAAABAAAA AQAAAq7/////AAAAaf////8AAACaAAAAAgAABR4AAAUe//////////8AAAAA/////////9gAAAAA ABBz8AAAAAEAAAABAAACrv////8AAABp/////wAAAJoAAAACAAAFHgAABR7//////////wAAAAD/ ////////4AAAAAAAEHPwAAAAAQAAAAEAAAKu/////wAAAGn/////AAAAmgAAAAIAAAUeAAAFHv// ////////AAAAAP/////////oAAAAAAALD/gAAAABAAAAAf////8AAACaAAAjJgAAAJoAAACaAAAA BgAAIzYAACM2//////////8AAAAA//////////AAAAAAAAsP+AAAAAEAAAAA/////wAAAJoAACMm AAAAmgAAAJoAAAAGAAAjNgAAIzYACw/MAAAAAAAAAAAAAAEQAAAAAQAAAAD////+AAAAAQAAACM5 WcW7AAEAeAAVIuEAFiLkABkjoAAZ7ZSmxrc6AABYegAAAAAAAAAaAAAAzCAtY2FjaGUtZGlyPS90 bXAvcHVyaWZ5ICAgLWcrKz15ZXMgICItcHVyaWZ5IiAiLWNhY2hlLWRpcj0vdG1wIiAtcHVyaWZ5 LWhvbWU9L29wdC9wdXJpZnkvcHVyaWZ5LTQuNS4xLXNvbGFyaXMyACAiLWNhY2hlLWRpcj0vdG1w L3B1cmlmeSIAAAAAAAAAAAAnLi9UZXN0X2VxdURlYnVnUHVyZScgJy4uLy4uLy4uL2RhdGEvZXF1 L1Rlc3RfZXF1X29rLnR4dCcAAAAAANAAAAAlAAAAAAAAAAMAAAAM7//0EAAAAAQAAAAE7//0EAAA AAYAAAABABB7nAAAAAAAEgskABHalAARj4gABC/cAAAABgAAAAHv//OI7//0UO//9Mjv//VY7//1 4O//9lAAAAAF7//0EAAAAAAAAAAAAAAAAAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB ABB7nAASQ5wAEgskABHalAARj4gABC/cAAAABgAAAAHv//OI7//0UO//9Mjv//VY7//14O//9lAA AADQAAAAJQAAAAAAAAAEAAAADO//9LAAAAAEAAAABO//9LAAAAAGAAAAAQAQfAAAAAAAABILJAAR 2pQAEY+IAAQv3AAAAAYAAAAB7//ziO//9FDv//TI7//1WO//9eDv//ZQAAAABe//9LAAAAAAAAAA AAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAQfAAAEkOcABILJAAR2pQAEY+I AAQv3AAAAAYAAAAB7//ziO//9FDv//TI7//1WO//9eDv//ZQAAAA0AAAACUAAAAAAAAABQAAAAzv //QQAAAABAAAAATv//QQAAAABgAAAAEAEHxQAAAAAAASCyQAEdqUABGPiAAEL9wAAAAGAAAAAe// 84jv//RQ7//0yO//9Vjv//Xg7//2UAAAAAXv//QQAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAABgAAAAEAEHxQABJDnAASCyQAEdqUABGPiAAEL9wAAAAGAAAAAe//84jv//RQ 7//0yO//9Vjv//Xg7//2UAAAANAAAAAlAAAAAAAAAAYAAAAY7//0MAAAAAQAAAAE7//0MAAAAAYA AAABABB10AAAAAAAEkOcABILJAAR2pQAEY+IAAAABgAAAAHv//MA7//ziO//9FDv//TI7//1WO// 9eAAAAAF7//0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABB1 0AAQfLQAEkOcABILJAAR2pQAEY+IAAAABgAAAAHv//MA7//ziO//9FDv//TI7//1WO//9eAAAADQ AAAAJQAAAAAAAAAHAAAAGO//8/gAAAAEAAAABO//8/gAAAAGAAAAAQAQdiAAAAAAABJDnAASCyQA EdqUABGPiAAAAAYAAAAB7//zAO//84jv//RQ7//0yO//9Vjv//XgAAAABe//8/gAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAQdiAAEHy0ABJDnAASCyQAEdqUABGP iAAAAAYAAAAB7//zAO//84jv//RQ7//0yO//9Vjv//XgAAAA0AAAACUAAAAAAAAACAAAABjv//Pw AAAABAAAAATv//PwAAAABgAAAAEAEHZwAAAAAAASQ5wAEgskABHalAARj4gAAAAGAAAAAe//8wDv //OI7//0UO//9Mjv//VY7//14AAAAAXv//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAABgAAAAEAEHZwABB8tAASQ5wAEgskABHalAARj4gAAAAGAAAAAe//8wDv//OI7//0 UO//9Mjv//VY7//14AAAANAAAAAlAAAAAAAAAAkAAAAY7//zcAAAAAQAAAAE7//zcAAAAAYAAAAB ABB0WAAAAAAAEHy0ABJDnAASCyQAEdqUAAAABgAAAAHv//Jw7//zAO//84jv//RQ7//0yO//9VgA AAAF7//zcAACShgAAAAAAAAAAAAAAAAAAAAAAAAACQAADEAAAAAAAAAAAAAAAAYAAAABABB0WAAQ duwAEHy0ABJDnAASCyQAEdqUAAAABgAAAAHv//Jw7//zAO//84jv//RQ7//0yO//9VgAAADQAAAA JQAAAAAAAAAKAAAAGO//82gAAAAEAAAABO//82gAAAAGAAAAAQAQdKgAAAAAABB8tAASQ5wAEgsk ABHalAAAAAYAAAAB7//ycO//8wDv//OI7//0UO//9Mjv//VYAAAABe//82gAAkoYAAAAAAAAAAAA AAAAAAAAAAAAAAkAAAxAAAAAAAAAAAAAAAAGAAAAAQAQdKgAEHbsABB8tAASQ5wAEgskABHalAAA AAYAAAAB7//ycO//8wDv//OI7//0UO//9Mjv//VYAAAA0AAAACUAAAAAAAAACwAAABjv//NgAAAA BAAAAATv//NgAAAABgAAAAEAEHT4AAAAAAAQfLQAEkOcABILJAAR2pQAAAAGAAAAAe//8nDv//MA 7//ziO//9FDv//TI7//1WAAAAAXv//NgAAJKGAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAMQAAAAAAA AAAAAAAABgAAAAEAEHT4ABB27AAQfLQAEkOcABILJAAR2pQAAAAGAAAAAe//8nDv//MA7//ziO// 9FDv//TI7//1WAAAANAAAAAlAAAAAAAAAAwAAAAY7//y6AAAAAQAAAAE7//y6AAAAAYAAAABABBy 6AAAAAAAEHbsABB8tAASQ5wAEgskAAAABgAAAAHv//Ho7//ycO//8wDv//OI7//0UO//9MgAAAAF 7//y6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABBy6AAQdXQA EHbsABB8tAASQ5wAEgskAAAABgAAAAHv//Ho7//ycO//8wDv//OI7//0UO//9MgAAADQAAAAJQAA AAAAAAANAAAAGO//8uAAAAAEAAAABO//8uAAAAAGAAAAAQAQczgAAAAAABB27AAQfLQAEkOcABIL JAAAAAYAAAAB7//x6O//8nDv//MA7//ziO//9FDv//TIAAAABe//8uAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAQczgAEHV0ABB27AAQfLQAEkOcABILJAAAAAYA AAAB7//x6O//8nDv//MA7//ziO//9FDv//TIAAAA0AAAACUAAAAAAAAADgAAABjv//LYAAAABAAA AATv//LYAAAABgAAAAEAEHOIAAAAAAAQduwAEHy0ABJDnAASCyQAAAAGAAAAAe//8ejv//Jw7//z AO//84jv//RQ7//0yAAAAAXv//LYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAABgAAAAEAEHOIABB1dAAQduwAEHy0ABJDnAASCyQAAAAGAAAAAe//8ejv//Jw7//zAO//84jv //RQ7//0yAAAANAAAAAlAAAAAAAAAA8AAAAa7//yWAAAAAQAAAAE7//yWAAAAAYAAAABABGAdAAA AAAAEHV0ABB27AAQfLQAEkOcAAAABgAAAAHv//FY7//x6O//8nDv//MA7//ziO//9FAAAAAF7//y WAACShgAAAAAAAAAAAAAAAAAAAAALXB1cmlmeV8AAAAAAAAAAAAAAAYAAAABABGAdAAQc/AAEHV0 ABB27AAQfLQAEkOcAAAABgAAAAHv//FY7//x6O//8nDv//MA7//ziO//9FAAAADQAAAAJQAAAAAA AAAQAAAAGu//8lAAAAAEAAAABO//8lAAAAAGAAAAAQARgMQAAAAAABB1dAAQduwAEHy0ABJDnAAA AAYAAAAB7//xWO//8ejv//Jw7//zAO//84jv//RQAAAABe//8lAAAkoYAAAAAAAAAAAAAAAAAAAA AC1wdXJpZnlfAAAAAAAAAAAAAAAGAAAAAQARgMQAEHPwABB1dAAQduwAEHy0ABJDnAAAAAYAAAAB 7//xWO//8ejv//Jw7//zAO//84jv//RQAAAA0AAAACUAAAAAAAAAEQAAABrv//JIAAAABAAAAATv //JIAAAABgAAAAEAEYEUAAAAAAAQdXQAEHbsABB8tAASQ5wAAAAGAAAAAe//8Vjv//Ho7//ycO// 8wDv//OI7//0UAAAAAXv//JIAAJKGAAAAAAAAAAAAAAAAAAAAAAtcHVyaWZ5XwAAAAAAAAAAAAAA BgAAAAEAEYEUABBz8AAQdXQAEHbsABB8tAASQ5wAAAAGAAAAAe//8Vjv//Ho7//ycO//8wDv//OI 7//0UAAAANAAAAAlAAAAAAAAABIAAAAa7//xwAAAAAQAAAAE7//xwAAAAAYAAAABABHKeAAAAAAA EHPwABB1dAAQduwAEHy0AAAABgAAAAHv//DY7//xWO//8ejv//Jw7//zAO//84gAAAAF7//xwF81 MTM3AAAAAAAAAAAAAAAAAAAAAAAA0AAAACUAAAAAAAAAAAAAAAYAAAABABHKeAARgZAAEHPwABB1 dAAQduwAEHy0AAAABgAAAAHv//DY7//xWO//8ejv//Jw7//zAO//84gAAADQAAAAJQAAAAAAAAAT AAAADO//9CgAAAAEAAAABO//9CgAAAAGAAAAAQAQfMgAAAAAABILJAAR2pQAEY+IAAQv3AAAAAYA AAAB7//ziO//9FDv//TI7//1WO//9eDv//ZQAAAABe//9Cjv/+/YAAAAAQAAAADv//Dw7//xWAAD 79QAEcp4AAAAAAAAAAAAAAAGAAAAAQAQfMgAEkOcABILJAAR2pQAEY+IAAQv3AAAAAYAAAAB7//z iO//9FDv//TI7//1WO//9eDv//ZQAAAA0AAAACUAAAAAAAAAFAAAAAzv//SwAAAABAAAAATv//Sw AAAABgAAAAEAEH1cAAAAAAASCyQAEdqUABGPiAAEL9wAAAAGAAAAAe//84jv//RQ7//0yO//9Vjv //Xg7//2UAAAAAXv//Sw7//v2AAAAAEAAAAA7//w8O//8VgAA+/UABHKeAAAAAAAAAAAAAAABgAA AAEAEH1cABJDnAASCyQAEdqUABGPiAAEL9wAAAAGAAAAAe//84jv//RQ7//0yO//9Vjv//Xg7//2 UAAAANAAAAAlAAAAAAAAABUAAAAM7//0IAAAAAQAAAAE7//0IAAAAAYAAAABABB9vAAAAAAAEgsk ABHalAARj4gABC/cAAAABgAAAAHv//OI7//0UO//9Mjv//VY7//14O//9lAAAAAF7//0IO//79gA AAABAAAAAO//8PDv//FYAAPv1AARyngAAAAAAAAAAAAAAAYAAAABABB9vAASQ5wAEgskABHalAAR j4gABC/cAAAABgAAAAHv//OI7//0UO//9Mjv//VY7//14O//9lAAAADQAAAAJQAAAAAAAAAWAAAA DO//8/AAAAAEAAAABO//8/AAAAAGAAAAAQAQfjQAAAAAABILJAAR2pQAEY+IAAQv3AAAAAYAAAAB 7//ziO//9FDv//TI7//1WO//9eDv//ZQAAAABe//8/Dv/+/YAAAAAQAAAADv//Dw7//xWAAD79QA Ecp4AAAAAAAAAAAAAAAGAAAAAQAQfjQAEkOcABILJAAR2pQAEY+IAAQv3AAAAAYAAAAB7//ziO// 9FDv//TI7//1WO//9eDv//ZQAAAA0AAAACUAAAAAAAAAFwAAAAzv//PwAAAABAAAAATv//PwAAAA BgAAAAEAEHhoAAAAAAASQ5wAEgskABHalAARj4gAAAAGAAAAAe//8wjv//OI7//0UO//9Mjv//VY 7//14AAAAAXv//Pw7//vWAAAAAEAAAAI7//wcO//8NgAAADQAAAAJQAAAAAAAAAAAAAABgAAAAEA EHhoABB+1AASQ5wAEgskABHalAARj4gAAAAGAAAAAe//8wjv//OI7//0UO//9Mjv//VY7//14AAA ANAAAAAlAAAAAAAAABgAAAAM7//z+AAAAAQAAAAE7//z+AAAAAYAAAABABB4uAAAAAAAEkOcABIL JAAR2pQAEY+IAAAABgAAAAHv//MI7//ziO//9FDv//TI7//1WO//9eAAAAAF7//z+O//71gAAAAB AAAACO//8HDv//DYAAAA0AAAACUAAAAAAAAAAAAAAAYAAAABABB4uAAQftQAEkOcABILJAAR2pQA EY+IAAAABgAAAAHv//MI7//ziO//9FDv//TI7//1WO//9eAAAADQAAAAJQAAAAAAAAAZAAAADO// 83AAAAAEAAAABO//83AAAAAGAAAAAQAQd3gAAAAAABB+1AASQ5wAEgskABHalAAAAAYAAAAB7//y gO//8wjv//OI7//0UO//9Mjv//VYAAAABe//83AAAAAA7//u8AADv8gAAAAH7//xGAAAAAAAAAAA AAAAAAAAAAAAAAAGAAAAAQAQd3gAEHkgABB+1AASQ5wAEgskABHalAAAAAYAAAAB7//ygO//8wjv //OI7//0UO//9Mjv//VYAAAA0AAAACUAAAAAAAAAGgAAAAzv//NoAAAABAAAAATv//NoAAAABgAA AAEAEHfIAAAAAAAQftQAEkOcABILJAAR2pQAAAAGAAAAAe//8oDv//MI7//ziO//9FDv//TI7//1 WAAAAAXv//NoAAAAAO//7vAAA7/IAAAAB+//8RgAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAEAEHfI ABB5IAAQftQAEkOcABILJAAR2pQAAAAGAAAAAe//8oDv//MI7//ziO//9FDv//TI7//1WAAAANAA AAAlAAAAAAAAABsAAAAE7//1yAAAAAQAAAAE7//1yAAAAAYAAAABABHMAAAAAAAABC/sAAQ4pAAB APgAAAAAAAAABgAAAAHv//VY7//14O//9lDv//qA7//7CAAAAAAAAAAF7//1yO//8oAAAAAAVVVV Ve//8dgAAYFIAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABHMAAARkNgABC/sAAQ4pAABAPgAAAAA AAAABgAAAAHv//VY7//14O//9lDv//qA7//7CAAAAAAAAADQAAAAJQAAAAAAAAAcAAAAAu//9bgA AAAEAAAABO//9bgAAAAGAAAAAQAR+sQAAAAAABGQ2AAEL+wABDikAAEA+AAAAAYAAAAB7//0qO// 9Vjv//Xg7//2UO//+oDv//sIAAAABe//9bgAAAAAAAAAAO//9cgAAAAE7//0ZO//89z/////AAAA AAAAAAAAAAAGAAAAAQAR+sQAEcxgABGQ2AAEL+wABDikAAEA+AAAAAYAAAAB7//0qO//9Vjv//Xg 7//2UO//+oDv//sIAAAA0AAAACUAAAAAAAAAHQAAAATv//W4AAAABAAAAATv//W4AAAABgAAAAEA EftsAAAAAAARkNgABC/sAAQ4pAABAPgAAAAGAAAAAe//9Kjv//VY7//14O//9lDv//qA7//7CAAA AAXv//W4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAEAEftsABHM YAARkNgABC/sAAQ4pAABAPgAAAAGAAAAAe//9Kjv//VY7//14O//9lDv//qA7//7CAAAANAAAAAl AAAAAAAAAB4AAAAE7//1wAAAAAQAAAAE7//1wAAAAAYAAAABABHMdAAAAAAABC/sAAQ4pAABAPgA AAAAAAAABgAAAAHv//VY7//14O//9lDv//qA7//7CAAAAAAAAAAF7//1wO//9lDv//qA7//7CAAA AAAAA798AAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABHMdAARkNgABC/sAAQ4pAABAPgAAAAAAAAA BgAAAAHv//VY7//14O//9lDv//qA7//7CAAAAAAAAADQAAAAJQAAAAAAAAAfAAAAEO//9bAAAAAE AAAABO//9bAAAAAGAAAAAQAJf5wAAAAAAAQwPAAEOKQAAQD4AAAAAAAAAAYAAAAB7//1MO//9cjv //ZQ7//6gO//+wgAAAAAAAAABe//9bAAAAAAAAAAAAAAAAAAAAAAAAAAAO//8sDv//RAAAAAAAAA AAAAAAAGAAAAAQAJf5wAEYPAAAQwPAAEOKQAAQD4AAAAAAAAAAYAAAAB7//1MO//9cjv//ZQ7//6 gO//+wgAAAAAAAAA0AAAACUAAAAAAAAAIAAAABDv//WoAAAABAAAAATv//WoAAAABgAAAAEACX+0 AAAAAAAEMDwABDikAAEA+AAAAAAAAAAGAAAAAe//9TDv//XI7//2UO//+oDv//sIAAAAAAAAAAXv //WoAAAAAAAAAAAAAAAAAAAAAAAAAADv//LA7//0QAAAAAAAAAAAAAAABgAAAAEACX+0ABGDwAAE MDwABDikAAEA+AAAAAAAAAAGAAAAAe//9TDv//XI7//2UO//+oDv//sIAAAAAAAAANAAAAAlAAAA AAAAACEAAABH7//0kAAAAAQAAAAE7//0kAAAAAYAAAABAAkxdAAAAAAABENUABGSBAAEMTgABDik AAAABgAAAAHv//Lg7//0qO//9Rjv//XI7//2UO//+oAAAAAF7//0kAAWIuQAGfkIAAAACgAJx7jv //AoAAAACFVVVVUAAAAAAAAAAAAAAAYAAAABAAkxdAAJOHwABENUABGSBAAEMTgABDikAAAABgAA AAHv//Lg7//0qO//9Rjv//XI7//2UO//+oAAAADQAAAAJgAAAAAAAAAiAAAADe//9IAAAAAEAAAA BO//9IAAAAAGAAAAAQAJMZAACTh8AARDVAARkgQABDE4AAQ4pAAAAAYAAAAB7//y4O//9Kjv//UY 7//1yO//9lDv//qAAAAABe//9IAAFiLkABn5CAAAAAoACce47//wKAAAAAhVVVVVAAAAAAAAAAAA AAAGAAAAAQAJMZAACTh8AARDVAARkgQABDE4AAQ4pAAAAAYAAAAB7//y4O//9Kjv//UY7//1yO// 9lDv//qAAAAA0AAAACUAAAAAAAAAIwAAAEbv//WQAAAABAAAAATv//WQAAAABgAAAAEAEwsUAAAA AAARkgQABDE4AAQ4pAABAPgAAAAGAAAAAe//9Ijv//UY7//1yO//9lDv//qA7//7CAAAAAXv//WQ AAAAAO//8PgAA7/I7//xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAEAEwsUAARECAARkgQA BDE4AAQ4pAABAPgAAAAGAAAAAe//9Ijv//UY7//1yO//9lDv//qA7//7CAAAANAAAAAlAAAAAAAA ACQAAABG7//1iAAAAAQAAAAE7//1iAAAAAYAAAABABMLZAAAAAAAEZIEAAQxOAAEOKQAAQD4AAAA BgAAAAHv//SI7//1GO//9cjv//ZQ7//6gO//+wgAAAAF7//1iAAAAADv//D4AAO/yO//8UAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABMLZAAERAgAEZIEAAQxOAAEOKQAAQD4AAAABgAAAAHv //SI7//1GO//9cjv//ZQ7//6gO//+wgAAADQAAAAJQAAAAAAAAAlAAAARu//9YAAAAABAAAAAe// 9YAAAAAGAAAAAQATC7QAAAAAABGSBAAEMTgABDikAAEA+AAAAAYAAAAB7//0iO//9Rjv//XI7//2 UO//+oDv//sIAAAABe//9YAAAAAA7//w+AADv8jv//FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG AAAAAQATC7QABEQIABGSBAAEMTgABDikAAEA+AAAAAYAAAAB7//0iO//9Rjv//XI7//2UO//+oDv //sIAAAA0AAAACUAAAAAAAAAJgAAAAHv//UAAAAABAAAAATv//UAAAAABgAAAAEAEtKkAAAAAAAE RAgAEZIEAAQxOAAEOKQAAAAGAAAAAe//9BDv//SI7//1GO//9cjv//ZQ7//6gAAAAAXv//UAABqq qAAaqtgAAABCAAAA0AAAACUAAAAAAAAAJQAAAAAAAAAAAAAABgAAAAEAEtKkABMMOAAERAgAEZIE AAQxOAAEOKQAAAAGAAAAAe//9BDv//SI7//1GO//9cjv//ZQ7//6gAAAANAAAAAlAAAAAAAAACcA AABG7//1mAAAAAQAAAAE7//1mAAAAAYAAAABAAlnrAAAAAAAEZIEAAQxOAAEOKQAAQD4AAAABgAA AAHv//SY7//1GO//9cjv//ZQ7//6gO//+wgAAAAF7//1mAAAAAAAAAAAAAAAAAAAAAAAAAAA7//y KO//86gAAAAAAAAAAAAAAAYAAAABAAlnrAAERGAAEZIEAAQxOAAEOKQAAQD4AAAABgAAAAHv//SY 7//1GO//9cjv//ZQ7//6gO//+wgAAADQAAAAJQAAAAAAAAAoAAAARu//9YAAAAAEAAAAAe//9YAA AAAGAAAAAQAJZ9QAAAAAABGSBAAEMTgABDikAAEA+AAAAAYAAAAB7//0mO//9Rjv//XI7//2UO// +oDv//sIAAAABe//9YAAAAAAAAAAAAAAAAAAAAAAAAAAAO//8ijv//OoAAAAAAAAAAAAAAAGAAAA AQAJZ9QABERgABGSBAAEMTgABDikAAEA+AAAAAYAAAAB7//0mO//9Rjv//XI7//2UO//+oDv//sI AAAA0AAAACUAAAAAAAAAKQAAAKbv//UAAAAABAAAAATv//UAAAAABgAAAAEACb8IAAAAAAAERGAA EZIEAAQxOAAEOKQAAAAGAAAAAe//9ADv//SY7//1GO//9cjv//ZQ7//6gAAAAAXv//UAAAAAAO// 8bAAAkoY7//1AAAaqqgAGqrYAAAAQgAAAAAAAAAAAAAABgAAAAEACb8IAAloEAAERGAAEZIEAAQx OAAEOKQAAAAGAAAAAe//9ADv//SY7//1GO//9cjv//ZQ7//6gAAAANAAAAAlAAAAAAAAACoAAACm 7//0+AAAAAQAAAAB7//0+AAAAAYAAAABAAm/HAAAAAAABERgABGSBAAEMTgABDikAAAABgAAAAHv //QA7//0mO//9Rjv//XI7//2UO//+oAAAAAF7//0+AAAAADv//GwAAJKGO//9QAAGqqoABqq2AAA AEIAAAAAAAAAAAAAAAYAAAABAAm/HAAJaBAABERgABGSBAAEMTgABDikAAAABgAAAAHv//QA7//0 mO//9Rjv//XI7//2UO//+oAAAADQAAAAJQAAAAAAAAArAAAApu//9HAAAAAEAAAABO//9HAAAAAG AAAAAQAJb5gAAAAAAAloEAAERGAAEZIEAAQxOAAAAAYAAAAB7//zcO//9ADv//SY7//1GO//9cjv //ZQAAAABe//9HAAAkoY7//ylAAAAADv//EoAAJKGFNUPTEuMiBMAAAAAAAAAAAAAAAGAAAAAQAJ b5gACb/IAAloEAAERGAAEZIEAAQxOAAAAAYAAAAB7//zcO//9ADv//SY7//1GO//9cjv//ZQAAAA 0AAAACYAAAAAAAAALAAAAAzv//RoAAAABAAAAAHv//RoAAAABgAAAAEACW+0AAm/yAAJaBAABERg ABGSBAAEMTgAAAAGAAAAAe//83Dv//QA7//0mO//9Rjv//XI7//2UAAAAAXv//RoAAJKGO//8pQA AAAA7//xKAACShhTVD0xLjIgTAAAAAAAAAAAAAAABgAAAAEACW+0AAm/yAAJaBAABERgABGSBAAE MTgAAAAGAAAAAe//83Dv//QA7//0mO//9Rjv//XI7//2UAAAANAAAAAlAAAAAAAAAC0AAACk7//0 cAAAAAQAAAAE7//0cAAAAAYAAAABAAlwlAAAAAAACWgQAAREYAARkgQABDE4AAAABgAAAAHv//Nw 7//0AO//9Jjv//UY7//1yO//9lAAAAAF7//0cAACShjv//KUAAAAAO//8SgAAkoYU1Q9MS4yIEwA AAAAAAAAAAAAAAYAAAABAAlwlAAJv8gACWgQAAREYAARkgQABDE4AAAABgAAAAHv//Nw7//0AO// 9Jjv//UY7//1yO//9lAAAADQAAAAJQAAAAAAAAAuAAAApO//9GgAAAAEAAAAAe//9GgAAAAGAAAA AQAJcNgAAAAAAAloEAAERGAAEZIEAAQxOAAAAAYAAAAB7//zcO//9ADv//SY7//1GO//9cjv//ZQ AAAABe//9GgAAkoY7//ylAAAAADv//EoAAJKGFNUPTEuMiBMAAAAAAAAAAAAAAAGAAAAAQAJcNgA Cb/IAAloEAAERGAAEZIEAAQxOAAAAAYAAAAB7//zcO//9ADv//SY7//1GO//9cjv//ZQAAAA0AAA ACYAAAAAAAAALwAAAArv//NgAAAABAAAAATv//NgAAAABgAAAAEACTGQAARIPAAERLwAEZIEAAQx OAAEOKQAAAAGAAAAAe//8cDv//OI7//1GO//9cjv//ZQ7//6gAAAAAXv//Ng7//uqO//71AAAAAB /////wAAAAEAAAAeABqrfAAAAAAAAAAAAAAABgAAAAEACTGQAARIPAAERLwAEZIEAAQxOAAEOKQA AAAGAAAAAe//8cDv//OI7//1GO//9cjv//ZQ7//6gAAAANAAAAAlAAAAAAAAADAAAAA47//zcAAA AAQAAAAE7//zcAAAAAYAAAABABLRAAAAAAAABElwAAREvAARkgQABDE4AAAABgAAAAHv//KA7//y +O//84jv//UY7//1yO//9lAAAAAF7//zcAAAAAAACckQABn5CO//7wgACMGgAAAAAQAAAAAAAAAA AAAAAAAAAAYAAAABABLRAAATDDgABElwAAREvAARkgQABDE4AAAABgAAAAHv//KA7//y+O//84jv //UY7//1yO//9lAAAADQAAAAJgAAAAAAAAAxAAAACu//8tgAAAAEAAAAAe//8tgAAAAGAAAAAQAJ b7QACb/IAAloEAAEScgABES8ABGSBAAAAAYAAAAB7//x4O//8nDv//MI7//ziO//9Rjv//XIAAAA Be//8tjv//GM7//xBAAAAADv/++YAAJKGAAERLwAEZIEAAAAAAAAAAAAAAAGAAAAAQAJb7QACb/I AAloEAAEScgABES8ABGSBAAAAAYAAAAB7//x4O//8nDv//MI7//ziO//9Rjv//XIAAAA0AAAACYA AAAAAAAAMgAAAArv//NgAAAABAAAAATv//NgAAAABgAAAAEACTGQAARK/AAERLwAEZIEAAQxOAAE OKQAAAAGAAAAAe//8cDv//OI7//1GO//9cjv//ZQ7//6gAAAAAXv//Ng7//x4O//8nDv//MI7//z iO//9Rjv//XIAAAABQAAAAAAAAAAAAAABgAAAAEACTGQAARK/AAERLwAEZIEAAQxOAAEOKQAAAAG AAAAAe//8cDv//OI7//1GO//9cjv//ZQ7//6gAAAANAAAAAlAAAAAAAAADMAAAA67//ywAAAAAQA AAAE7//ywAAAAAYAAAABAAmFbAAAAAAABES8ABGSBAAEMTgABDikAAAABgAAAAHv//Jg7//ziO// 9Rjv//XI7//2UO//+oAAAAAF7//ywAAAAAEAAAAAAAAAAAAAAB4AGrNEABn5CAAAIBQAAAAAAAAA AAAAAAYAAAABAAmFbAAETRQABES8ABGSBAAEMTgABDikAAAABgAAAAHv//Jg7//ziO//9Rjv//XI 7//2UO//+oAAAADQAAAAJQAAAAAAAAA0AAAAOu//8sAAAAAEAAAABO//8sAAAAAGAAAAAQAJhzwA AAAAAAREvAARkgQABDE4AAQ4pAAAAAYAAAAB7//yYO//84jv//UY7//1yO//9lDv//qAAAAABe// 8sAAAAABAAAAAAAAAAAAAAAeABqzRAAZ+QgAACAUAAAAAAAAAAAAAAAGAAAAAQAJhzwABE0UAARE vAARkgQABDE4AAQ4pAAAAAYAAAAB7//yYO//84jv//UY7//1yO//9lDv//qAAAAA0AAAACUAAAAA AAAANQAAAwLv//NwAAAABAAAAATv//NwAAAABgAAAAEAEw3sAAAAAAAETRQABES8ABGSBAAEMTgA AAAGAAAAAe//8mjv//LY7//ziO//9Rjv//XI7//2UAAAAAXv//NwAAAAAAAAAB4AGrNEABn5CAAA IBQAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAEAEw3sAARebAAETRQABES8ABGSBAAEMTgAAAAGAAAA Ae//8mjv//LY7//ziO//9Rjv//XI7//2UAAAANAAAAAlAAAAAAAAADYAAABq7//zQAAAAAEAAAAB 7//zQAAAAAYAAAABABMRNAAAAAAABE0UAAREvAARkgQABDE4AAAABgAAAAHv//JI7//y2O//84jv //UY7//1yO//9lAAAAAF7//zQAAAAADv/+/wAALqgO//9Rjv//XI7//2UAAAAAUAAAAAAAAAAAAA AAYAAAABABMRNAAEXtQABE0UAAREvAARkgQABDE4AAAABgAAAAHv//JI7//y2O//84jv//UY7//1 yO//9lAAAADQAAAAJQAAAAAAAAA3AAACqO//8sAAAAAEAAAABO//8sAAAAAGAAAAAQATH+gAAAAA ABLzQAATEbgABF7UAARNFAAAAAYAAAAB7//w4O//8VDv//HQ7//ySO//8tjv//OIAAAABe//8sAA AAA67//uaAAAAAAAAAAAAAAAVe//7Zjv//NgAAAAAAAAAAAAAAAGAAAAAQATH+gAExIQABLzQAAT EbgABF7UAARNFAAAAAYAAAAB7//w4O//8VDv//HQ7//ySO//8tjv//OIAAAA0AAAACUAAAAAAAAA OAAAAcvv//LAAAAABAAAAATv//LAAAAABgAAAAEAEvFAAAAAAAATEbgABF7UAARNFAAERLwAAAAG AAAAAe//8Vjv//HQ7//ySO//8tjv//OI7//1GAAAAAXv//LAAALqgAAAAAAAAAAyAAAAAe//82AA AAAEAAAABAAAAAAAAAAAAAAABgAAAAEAEvFAABLzdAATEbgABF7UAARNFAAERLwAAAAGAAAAAe// 8Vjv//HQ7//ySO//8tjv//OI7//1GAAAANAAAAAlAAAAAAAAADkAAAAw7//zWAAAAAQAAAAE7//z WAAAAAYAAAABAARe6AAAAAAABES8ABGSBAAEMTgABDikAAAABgAAAAHv//LY7//ziO//9Rjv//XI 7//2UO//+oAAAAAF7//zWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYA AAABAARe6AAETRQABES8ABGSBAAEMTgABDikAAAABgAAAAHv//LY7//ziO//9Rjv//XI7//2UO// +oAAAADQAAAAJQAAAAAAAAA6AAAAMO//80AAAAAEAAAABO//80AAAAAGAAAAAQAEX8AAAAAAAARE vAARkgQABDE4AAQ4pAAAAAYAAAAB7//y2O//84jv//UY7//1yO//9lDv//qAAAAABe//80AAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAEX8AABE0UAAREvAARkgQA BDE4AAQ4pAAAAAYAAAAB7//y2O//84jv//UY7//1yO//9lDv//qAAAAA0AAAACUAAAAAAAAAOwAA ADDv//NAAAAABAAAAATv//NAAAAABgAAAAEABGC0AAAAAAAERLwAEZIEAAQxOAAEOKQAAAAGAAAA Ae//8tjv//OI7//1GO//9cjv//ZQ7//6gAAAAAXv//NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAABgAAAAEABGC0AARNFAAERLwAEZIEAAQxOAAEOKQAAAAGAAAAAe//8tjv //OI7//1GO//9cjv//ZQ7//6gAAAANAAAAAmAAAAAAAAADwAAAAK7//yOAAAAAQAAAAE7//yOAAA AAYAAAABAAlvtAAJv8gACUpoAAm2rAAETVwABES8AAAABgAAAAHv//FA7//x0O//8mjv//MY7//z iO//9RgAAAAF7//yOO//72AAAAAGAAAAAQAAAAAAAAAA7//u+AAC6oAAAAAAAAAAAAAAAAYAAAAB AAlvtAAJv8gACUpoAAm2rAAETVwABES8AAAABgAAAAHv//FA7//x0O//8mjv//MY7//ziO//9RgA AADQAAAAJgAAAAAAAAA9AAAAMO//8tgAAAAEAAAAAe//8tgAAAAGAAAAAQAJb7QACb/IAAloEAAE UVgABES8ABGSBAAAAAYAAAAB7//x4O//8nDv//MI7//ziO//9Rjv//XIAAAABe//8tjv//DY7//x QO//8dDv//Jo7//zGO//84jv//UYAAAAAAAAAAAAAAAGAAAAAQAJb7QACb/IAAloEAAEUVgABES8 ABGSBAAAAAYAAAAB7//x4O//8nDv//MI7//ziO//9Rjv//XIAAAA0AAAACYAAAAAAAAAPgAAACbv //NgAAAABAAAAATv//NgAAAABgAAAAEACTGQAARSuAAERLwAEZIEAAQxOAAEOKQAAAAGAAAAAe// 8cDv//OI7//1GO//9cjv//ZQ7//6gAAAAAXv//Ng7//x4O//8nDv//MI7//ziO//9Rjv//XIAAAA BQAAAAAAAAAAAAAABgAAAAEACTGQAARSuAAERLwAEZIEAAQxOAAEOKQAAAAGAAAAAe//8cDv//OI 7//1GO//9cjv//ZQ7//6gAAAANAAAAAmAAAAAAAAAD8AAAAm7//yOAAAAAQAAAAE7//yOAAAAAYA AAABAAlvtAAJv8gACUpoAAm2rAAETwAABES8AAAABgAAAAHv//FA7//x0O//8mjv//MY7//ziO// 9RgAAAAF7//yOO//72AAAAAGAAAAAQAAAAAAAAAA7//u+AAC6oAAAAAAAAAAAAAAAAYAAAABAAlv tAAJv8gACUpoAAm2rAAETwAABES8AAAABgAAAAHv//FA7//x0O//8mjv//MY7//ziO//9RgAAADQ AAAAJgAAAAAAAABAAAAAJu//8jgAAAAEAAAABO//8jgAAAAGAAAAAQAJb7QACb/IAAlKaAAJtqwA BE+EAAREvAAAAAYAAAAB7//xQO//8dDv//Jo7//zGO//84jv//UYAAAABe//8jjv/+9gAAAABgAA AAEAAAAAAAAAAO//7vgAAuqAAAAAAAAAAAAAAAAGAAAAAQAJb7QACb/IAAlKaAAJtqwABE+EAARE vAAAAAYAAAAB7//xQO//8dDv//Jo7//zGO//84jv//UYAAAA0AAAACUAAAAAAAAAQQAAADDv//LI AAAABAAAAATv//LIAAAABgAAAAEAEcG4AAAAAAAEUDAABES8ABGSBAAEMTgAAAAGAAAAAe//8mjv //Lo7//ziO//9Rjv//XI7//2UAAAAAXv//LIAAAAAP////8AGfnQAAAABwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAABgAAAAEAEcG4ABGh1AAEUDAABES8ABGSBAAEMTgAAAAGAAAAAe//8mjv//Lo7//z iO//9Rjv//XI7//2UAAAANAAAAAlAAAAAAAAAEIAAAAm7//xuAAAAAQAAAAE7//xuAAAAAYAAAAB AAc7DAAAAAAAEaTUAARQMAAERLwAEZIEAAAABgAAAAHv//AA7//x6O//8ujv//OI7//1GO//9cgA AAAF7//xuAAAAAEAAABEABbamAAAAAAAAABVAAAAHu//7iAAAAAAAAAAAAAAAAYAAAABAAc7DAAS b2AAEaTUAARQMAAERLwAEZIEAAAABgAAAAHv//AA7//x6O//8ujv//OI7//1GO//9cgAAADQAAAA JQAAAAAAAABDAAAAJu//8agAAAAEAAAABO//8agAAAAGAAAAAQAHO2gAAAAAABGk1AAEUDAABES8 ABGSBAAAAAYAAAAB7//wAO//8ejv//Lo7//ziO//9Rjv//XIAAAABe//8agAAAABAAAARAAW2pgA AAAAAAAAVQAAAB7v/+4gAAAAAAAAAAAAAAAGAAAAAQAHO2gAEm9gABGk1AAEUDAABES8ABGSBAAA AAYAAAAB7//wAO//8ejv//Lo7//ziO//9Rjv//XIAAAA0AAAACUAAAAAAAAARAAAACbv//GYAAAA BAAAAATv//GYAAAABgAAAAEABaF0AAAAAAASb2AAEaTUAARQMAAERLwAAAAGAAAAAe//70Dv//AA 7//x6O//8ujv//OI7//1GAAAAAXv//GYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA7//xqAAAAAAA AAAAAAAABgAAAAEABaF0AAc8hAASb2AAEaTUAARQMAAERLwAAAAGAAAAAe//70Dv//AA7//x6O// 8ujv//OI7//1GAAAANAAAAAlAAAAAAAAAEUAAAAm7//xiAAAAAQAAAAE7//xiAAAAAYAAAABAAWh /AAAAAAAEm9gABGk1AAEUDAABES8AAAABgAAAAHv/+9A7//wAO//8ejv//Lo7//ziO//9RgAAAAF 7//xiAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAO//8agAAAAAAAAAAAAAAAYAAAABAAWh/AAHPIQA Em9gABGk1AAEUDAABES8AAAABgAAAAHv/+9A7//wAO//8ejv//Lo7//ziO//9RgAAADQAAAAJQAA AAAAAABGAAAAJu//7JgAAAABAAAAAe//7JgAAAAGAAAAAQALD/gAAAAAAAWi1AAHPIQAEm9gABGk 1AAAAAYAAAAB7//sGO//7Kjv/+9A7//wAO//8ejv//LoAAAABe//7Jjv/+iwAAAAQAAT9AAAFjAA 7//wTAAAAAQAATEUAAAAAAAAAAAAAAAGAAAAAQALD/gACpK8AAWi1AAHPIQAEm9gABGk1AAAAAYA AAAB7//sGO//7Kjv/+9A7//wAO//8ejv//LoAAAA0AAAACUAAAAAAAAARwAAACbv//GYAAAABAAA AATv//GYAAAABgAAAAEABaOYAAAAAAASb2AAEaTUAARQMAAERLwAAAAGAAAAAe//70Dv//AA7//x 6O//8ujv//OI7//1GAAAAAXv//GYAAAAIu9oAADvaAAAAAAAAAAAAFUAAAAeABSFuAAAAAAAAAAA AAAABgAAAAEABaOYAAc8hAASb2AAEaTUAARQMAAERLwAAAAGAAAAAe//70Dv//AA7//x6O//8ujv //OI7//1GAAAANAAAAAlAAAAAAAAAEgAAAAK7//zWAAAAAQAAAAE7//zWAAAAAYAAAABAARiTAAA AAAABES8ABGSBAAEMTgABDikAAAABgAAAAHv//LY7//ziO//9Rjv//XI7//2UO//+oAAAAAF7//z WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAARiTAAEVcwABES8 ABGSBAAEMTgABDikAAAABgAAAAHv//LY7//ziO//9Rjv//XI7//2UO//+oAAAADQAAAAJgAAAAAA AABJAAAACu//8jgAAAAEAAAABO//8jgAAAAGAAAAAQAJb7QACb/IAAlKaAAJtqwABFYAAAREvAAA AAYAAAAB7//xQO//8dDv//Jo7//zGO//84jv//UYAAAABe//8jjv/+9gAAAABgAAAAEAAAAAAAAA AO//7vgAAuqAAAAAAAAAAAAAAAAGAAAAAQAJb7QACb/IAAlKaAAJtqwABFYAAAREvAAAAAYAAAAB 7//xQO//8dDv//Jo7//zGO//84jv//UYAAAA0AAAACUAAAAAAAAASgAAANzv//UIAAAABAAAAATv //UIAAAABgAAAAEACAq8AAAAAAARkjQABDE4AAQ4pAABAPgAAAAGAAAAAe//83jv//VA7//1yO// 9lDv//qA7//7CAAAAAXv//UI7//wqAAAAAhVVVVV7//wAAAEIrgtMC4yAAAAAAAAAAAAAAAAAAAA BgAAAAEACAq8ABHHcAARkjQABDE4AAQ4pAABAPgAAAAGAAAAAe//83jv//VA7//1yO//9lDv//qA 7//7CAAAANAAAAAlAAAAAAAAAEsAAADc7//0+AAAAAQAAAAE7//0+AAAAAYAAAABAAWrbAAAAAAA EcdwABGSNAAEMTgABDikAAAABgAAAAHv//KY7//zeO//9UDv//XI7//2UO//+oAAAAAF7//0+O// 7zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAWrbAAIC9AAEcdwABGS NAAEMTgABDikAAAABgAAAAHv//KY7//zeO//9UDv//XI7//2UO//+oAAAADQAAAAJQAAAAAAAABM AAAA6O//81gAAAAEAAAABO//81gAAAAGAAAAAQAF4qwAAAAAAAgL0AARx3AAEZI0AAQxOAAAAAYA AAAB7//xqO//8pjv//N47//1QO//9cjv//ZQAAAABe//81hVVVVV7//uKAAFeAjv/+4oAAV3sAAA ABQAAAAAAAAAAAAAAAAAAAAGAAAAAQAF4qwABau8AAgL0AARx3AAEZI0AAQxOAAAAAYAAAAB7//x qO//8pjv//N47//1QO//9cjv//ZQAAAA0AAAACUAAAAAAAAATQAAAOjv//IQAAAABAAAAATv//IQ AAAABgAAAAEABeS8AAAAAAAIC9AAEcdwABGSNAAEMTgAAAAGAAAAAe//8ajv//KY7//zeO//9UDv //XI7//2UAAAAAXv//IQVVVVVe//7igABXgI7//uKAAFd7AAAAAUAAAAAAAAAAAAAAAAAAAABgAA AAEABeS8AAWrvAAIC9AAEcdwABGSNAAEMTgAAAAGAAAAAe//8ajv//KY7//zeO//9UDv//XI7//2 UAAAANAAAAAlAAAAAAAAAE4AAAB27//0AAAAAAQAAAAE7//0AAAAAAYAAAABAAgXxAAAAAAAEch4 ABGSNAAEMTgABDikAAAABgAAAAHv//Jw7//0OO//9UDv//XI7//2UO//+oAAAAAF7//0AAAKCUAA AACZABbamO//9agAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAgXxAASgiAAEch4ABGSNAAE MTgABDikAAAABgAAAAHv//Jw7//0OO//9UDv//XI7//2UO//+oAAAADQAAAAJQAAAAAAAABPAAAA du//8/AAAAAEAAAABO//8/AAAAAGAAAAAQAFsfAAAAAAABKCIAARyHgAEZI0AAQxOAAAAAYAAAAB 7//xwO//8nDv//Q47//1QO//9cjv//ZQAAAABe//8/AAAAAAAAAAAO//9AAAAAAE7//xfO//8PT/ ////AAAAAAAAAAAAAAAGAAAAAQAFsfAACBkMABKCIAARyHgAEZI0AAQxOAAAAAYAAAAB7//xwO// 8nDv//Q47//1QO//9cjv//ZQAAAA0AAAACUAAAAAAAAAUAAAAHbv//IgAAAABAAAAATv//IgAAAA BgAAAAEAE6rsAAAAAAAIGQwAEoIgABHIeAARkjQAAAAGAAAAAe//8RDv//HA7//ycO//9Djv//VA 7//1yAAAAAXv//IgAAAAAAAAAADv//PwAAAABO//8Mzv//BEAAAAAAAAAAAAAAAAAAAABgAAAAEA E6rsAAWyPAAIGQwAEoIgABHIeAARkjQAAAAGAAAAAe//8RDv//HA7//ycO//9Djv//VA7//1yAAA ANAAAAAlAAAAAAAAAFEAAAB27//xmAAAAAQAAAAE7//xmAAAAAYAAAABAAXVhAAAAAAABbI8AAgZ DAASgiAAEch4AAAABgAAAAHv//Cg7//xEO//8cDv//Jw7//0OO//9UAAAAAF7//xmO//7dgAAADQ AAAAJQAAAAAAAABQAAAAAe//8iAAAAAAAAAAAAAAAAYAAAABAAXVhAATq6wABbI8AAgZDAASgiAA Ech4AAAABgAAAAHv//Cg7//xEO//8cDv//Jw7//0OO//9UAAAADQAAAAJQAAAAAAAABSAAAAdu// 8XAAAAAEAAAABO//8XAAAAAGAAAAAQATq8AAAAAAAAgZDAASgiAAEch4ABGSNAAAAAYAAAAB7//x EO//8cDv//Jw7//0OO//9UDv//XIAAAABe//8XAAAAAA7//uuAAC6oAAAAAE7//wzO//8EQAAAAA AAAAAAAAAAAAAAAGAAAAAQATq8AABbI8AAgZDAASgiAAEch4ABGSNAAAAAYAAAAB7//xEO//8cDv //Jw7//0OO//9UDv//XIAAAA0AAAACUAAAAAAAAAUwAAAHbv//IgAAAABAAAAATv//IgAAAABgAA AAEAE650AAAAAAAIGQwAEoIgABHIeAARkjQAAAAGAAAAAe//8RDv//HA7//ycO//9Djv//VA7//1 yAAAAAXv//Ig7//tsAAAAAAAAAAAABYoAO//7cAAAABEAAAAAAAAAAAAAAAAAAAABgAAAAEAE650 AAWyPAAIGQwAEoIgABHIeAARkjQAAAAGAAAAAe//8RDv//HA7//ycO//9Djv//VA7//1yAAAANAA AAAlAAAAAAAAAFQAAAAM7//1IAAAAAQAAAAE7//1IAAAAAYAAAABAAfxHAAAAAAAEZM4AAQxOAAE OKQAAQD4AAAABgAAAAHv//OQ7//1WO//9cjv//ZQ7//6gO//+wgAAAAF7//1IAAAAAH/////AAAA AAAAAB4AGpwUABn4IAAAADcAAAAAAAAAAAAAAAYAAAABAAfxHAAI3ZgAEZM4AAQxOAAEOKQAAQD4 AAAABgAAAAHv//OQ7//1WO//9cjv//ZQ7//6gO//+wgAAADQAAAAJQAAAAAAAABVAAAADO//9TAA AAAEAAAABO//9TAAAAAGAAAAAQAFr7QAAAAAAAjdmAARkzgABDE4AAQ4pAAAAAYAAAAB7//zEO// 85Dv//VY7//1yO//9lDv//qAAAAABe//9TAAAAAAAAAAOAAAAAEAAAAAABbamAAAANAAAAAlAAAA AAAAAAAAAAAGAAAAAQAFr7QAB/IcAAjdmAARkzgABDE4AAQ4pAAAAAYAAAAB7//zEO//85Dv//VY 7//1yO//9lDv//qAAAAA0AAAACUAAAAAAAAAVgAAAALv//NwAAAABAAAAATv//NwAAAABgAAAAEA EtIYAAAAAAAEUQAABES8ABGSBAAEMTgAAAAGAAAAAe//8oDv//L47//ziO//9Rjv//XI7//2UAAA AAXv//NwAAAAAAAAAAAAAAAA7//u+AADv3wAAAAwAAAACgAAAAAAAAAAAAAABgAAAAEAEtIYABMM OAAEUQAABES8ABGSBAAEMTgAAAAGAAAAAe//8oDv//L47//ziO//9Rjv//XI7//2UAAAANAAAAAl AAAAAAAAAFcAAAAI7//zcAAAAAQAAAAE7//zcAAAAAYAAAABABLRjAAAAAAABFEAAAREvAARkgQA BDE4AAAABgAAAAHv//KA7//y+O//84jv//UY7//1yO//9lAAAAAF7//zcAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABABLRjAATDDgABFEAAAREvAARkgQABDE4AAAA BgAAAAHv//KA7//y+O//84jv//UY7//1yO//9lAAAACxAAAAIAAAAAAAAABYAAAAAQAAAAAAAAAB AAAAAQAAAAH/////AAAAIAAAAAYAAAABAALVSAAAAAAADpuEAArrbAAK8KwACxPEICAqIE92ZXJs YXBwaW5nIGJsb2NrIGNvcHkgbWF5IHByb2R1Y2UgdW5leHBlY3RlZCByZXN1bHRzOgogICogbWVt Y3B5KDB4ZWZmZmU1YTYsIDB4ZWZmZmU1YWEsIDB4MTApCgAAAADQAAAAJQAAAAAAAABZAAAAAe// 7BAAAAABAAAAAe//7BAAAAAGAAAAAQALX7wAAAAAAAqSvAAFotQABzyEABJvYAAAAAYAAAAB7//r sO//7Bjv/+yo7//vQO//8ADv//HoAAAABe//7BAAEwAGAAAAEAAWKADv/+0YAAAEAAEAAAT/wwW4 AAAAAAAAAAAAAAAGAAAAAQALX7wACxQUAAqSvAAFotQABzyEABJvYAAAAAYAAAAB7//rsO//7Bjv /+yo7//vQO//8ADv//HoAAAA0AAAACUAAAAAAAAAWgAAAAHv/+wQAAAAAgAAAAHv/+wRAAAABgAA AAEAC2TYAAAAAAAKkrwABaLUAAc8hAASb2AAAAAGAAAAAe//67Dv/+wY7//sqO//70Dv//AA7//x 6AAAAAXv/+wQABMABgAAABAAFigA7//tGAAABAABAAAE/8MFuAAAAAAAAAAAAAAABgAAAAEAC2TY AAsUFAAKkrwABaLUAAc8hAASb2AAAAAGAAAAAe//67Dv/+wY7//sqO//70Dv//AA7//x6AAAANAA AAAlAAAAAAAAAFsAAAAB7//sEAAAAAQAAAAC7//sEgAAAAYAAAABAAtlFAAAAAAACpK8AAWi1AAH PIQAEm9gAAAABgAAAAHv/+uw7//sGO//7Kjv/+9A7//wAO//8egAAAAF7//sEAATAAYAAAAQABYo AO//7RgAAAQAAQAABP/DBbgAAAAAAAAAAAAAAAYAAAABAAtlFAALFBQACpK8AAWi1AAHPIQAEm9g AAAABgAAAAHv/+uw7//sGO//7Kjv/+9A7//wAO//8egAAADQAAAAJQAAAAAAAABcAAAAAu//9PgA AAAEAAAABO//9PgAAAAGAAAAAQAS1SwAAAAAAARECAARkgQABDE4AAQ4pAAAAAYAAAAB7//0EO// 9Ijv//UY7//1yO//9lDv//qAAAAABe//9PgAGqMwABqjYAAAAB8AAAAAVVVVVe//8RgAAX44AAAA AAAAAAAAAAAGAAAAAQAS1SwAEww4AARECAARkgQABDE4AAQ4pAAAAAYAAAAB7//0EO//9Ijv//UY 7//1yO//9lDv//qAAAAA0AAAACUAAAAAAAAAXQAAAAHv//NwAAAABAAAAATv//NwAAAABgAAAAEA EtTIAAAAAAAEUQAABES8ABGSBAAEMTgAAAAGAAAAAe//8oDv//L47//ziO//9Rjv//XI7//2UAAA AAXv//NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAEAEtTIABMM OAAEUQAABES8ABGSBAAEMTgAAAAGAAAAAe//8oDv//L47//ziO//9Rjv//XI7//2UAAAANAAAAAl AAAAAAAAAF4AAAAC7//smAAAAAIAAAAB7//smQAAAAYAAAABAAsQkAAAAAAABaLUAAc8hAASb2AA EaTUAAAABgAAAAHv/+wY7//sqO//70Dv//AA7//x6O//8ugAAAAF7//smAAAAAEAAAAAAAAAAAAA AAQAATEUAAAAAAAW2pgAAAAAAAAAAAAAAAYAAAABAAsQkAAKkrwABaLUAAc8hAASb2AAEaTUAAAA BgAAAAHv/+wY7//sqO//70Dv//AA7//x6O//8ugAAADQAAAAJQAAAAAAAABfAAAAAu//7JgAAAAE AAAAAu//7JoAAAAGAAAAAQALELgAAAAAAAWi1AAHPIQAEm9gABGk1AAAAAYAAAAB7//sGO//7Kjv /+9A7//wAO//8ejv//LoAAAABe//7JgAAAABAAAAAAAAAAAAAAAEAAExFAAAAAAAFtqYAAAAAAAA AAAAAAAGAAAAAQALELgACpK8AAWi1AAHPIQAEm9gABGk1AAAAAYAAAAB7//sGO//7Kjv/+9A7//w AO//8ejv//LoAAAA0AAAACYAAAAAAAAAYAAAAmjv/9zWAAAAAgAAAALv/9zWAAAABgAAAAEADmXU AA5uNAAAAAAADnrQAA5FNAANqRwAAAAGAAAAAe//22jv/9vI7//cOO//4Rjv/+GI7//kGAAAAAXv /9zWABbamAAAAAAAAAAAAAAAAAAAAADv/9mYAAAAAAAAAAAAAAAAAAAABgAAAAEADmXUAA5uNAAO ecAADnrQAA5FNAANqRwAAAAGAAAAAe//22jv/9vI7//cOO//4Rjv/+GI7//kGAAAANAAAAAmAAAA AAAAAGEAAAAF7//YNwAAAAEAAAAB7//YNwAAAAYAAAABAA5ebAAOedgAAAAAAA5FNAANqRwADX6U AAAABgAAAAHv/9fA7//cOO//4Rjv/+GI7//kGO//8VAAAAAF7//YNwAgAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAA5ebAAOedgADnrQAA5FNAANqRwADX6UAAAABgAA AAHv/9fA7//cOO//4Rjv/+GI7//kGO//8VAAAASjAAAAFQAAAAAAAABiAAAAAQAAAAUAAAAbAAAA xAAAAAAAAAAAAQAAAAAAAAIAAAAAAIAAAAAAAAAAAAAAAAAAAAAAX5kAACGQAAAAAQAAFBEAAAAH AGAAEAAAAAAAAAAAAAAAAAAAAAA5WcW5AAAAADlZxb0AAAAAOVm2UwAAAAAAACAAAAAAAHVmcwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATfz/////AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQEAAAAAAAACAAAACACAAAAAAAAAAAAA AAAAAAAAAF+ZAAAhkAAAAAEAABQRAAAABwBgABAAAAAAAAAAAAAAAAAAAAAAOVnFuQAAAAA5WcW9 AAAAADlZtlMAAAAAAAAgAAAAAAB1ZnMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAE38/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA AAIBAAAAAAAAAgAAABEAgAAAAAAAAAAAAAAAAAAAAABfmQAAIZAAAAABAAAUEQAAAAcAYAAQAAAA AAAAAAAAAAAAAAAAADlZxbkAAAAAOVnFvQAAAAA5WbZTAAAAAAAAIAAAAAAAdWZzAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABN/P////8AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaAQAAAAAAAAMAAAA8AIAAAAAAAAAAAAAAAAAAAAAA X5kAACGQAAAAAQAAFBEAAAAHAGAAEAAAAAAAAAAAAAAAAAAAAAA5WcW5AAAAADlZxb0AAAAAOVm2 UwAAAAAAACAAAAAAAHVmcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAATfz/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAGwEAAAAA AAADAAAAPAKkAAAAAAAAAAAAAAAAAAAACWhDAAAQAAAAAAAAABQRAAAU+QAAAAAAAAAAAAAAAAAA AAAAAAAAOVnFvQAAAAA5WcW9AAAAADlZxb0AAAAAAAAUAAAAAABmaWZvZnMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAPHN0ZGluPgA8c3Rkb3V0PgA8c3RkZXJyPgA8dW5rbm93bj4APGluaGVyaXRl ZCBmcm9tIHBhcmVudD4APHJlc2VydmVkIGZvciBQdXJpZnkgaW50ZXJuYWwgdXNlPgAiVGVzdF9v dXRwdXRfZXF1LnR4dCIAIlRlc3Rfb3V0cHV0X3NlcC50eHQiACIuLi8uLi8uLi9kYXRhL2VxdS9U ZXN0X2VxdV9vay50eHQiAAAAAE8AAAA3AAAAAAAAAGMAAAABAAAAAAAAAAAAAAAAAAAAAP////8A AAAwU2VhcmNoaW5nIGZvciBhbGwgbWVtb3J5IGxlYWtzLi4uCgAAAAJkAAAAMAAAAAD////ZAAAA AQAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAIAAAABAAAAaQAAAEI AAAAPwAAAAAAGhZ4AAAAAAAAABEAAAAGAAAAAQABfjgACUGEAAlzmAAJQRwAEdxUABGQyAAaFuAA AAAAAAAAMAAAAAYAAAABAAF+OAAKYeAABCI8ABIO3AAR3JwAEZDIABoXaAAAAAAAAAATAAAABgAA AAEAAX44AAlBhAAJc5gACUEcABHdTAARkMgAGhfQAAAAAAAAADAAAAAGAAAAAQABfjgACmHgAAQi PAASDOQAEd1gABGQyAAaHsAAAAAAAAAAEQAAAAYAAAABAAF+OAAJQYQACXOYAAlBHAAR3FQAEZDI ABofKAAAAAAAAAAwAAAABgAAAAEAAX44AAph4AAEIjwAEg7cABHcnAARkMgAGh+wAAAAAAAAABMA AAAGAAAAAQABfjgACUGEAAlzmAAJQRwAEd1MABGQyAAaIBgAAAAAAAAAMAAAAAYAAAABAAF+OAAK YeAABCI8ABIM5AAR3WAAEZDIABnuQAAAAAAAAAAOAAAABgAAAAEAAX44AAlBhAAJc5gACUEcAATl IAAFC4QAGfAoAAAAAAAAAA4AAAAGAAAAAQABfjgACUGEAAlzmAAJQRwABOagAAULhAAZ9GgAAAAA AAAAEgAAAAYAAAABAAF+OAAJQYQACXOYAAlBHAAFEywABqLQABn00AAAAAAAAAARAAAABgAAAAEA AX44AAlBhAAJc5gACUEcAAUTQAAGotAAAAAwAAAAOAAAAAAAAABkAAAAAQAZUhUAG02YAAAAAAAA BPgAAAAAAAAAAAAAAAA= >>From benoit.sibaud@rd.francetelecom.fr Wed Jun 28 08:17:00 2000 From: benoit.sibaud@rd.francetelecom.fr To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/67: Uninitialized Memory Errors (UMR) with Purify [Short example] Date: Wed, 28 Jun 2000 08:17:00 -0000 Message-id: <20000628150940.18348.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00018.html Content-length: 9222 >Number: 67 >Category: libstdc++ >Synopsis: Uninitialized Memory Errors (UMR) with Purify [Short example] >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Jun 28 08:17:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: benoit.sibaud@rd.francetelecom.fr >Release: libstdc++ 2.90.8 >Organization: >Environment: SunOS XXXX 5.6 Generic_105181-17 sun4u sparc SUNW,Ultra-4 Reading specs from /opt/gnu/gcc-2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/specs gcc version 2.95.2 19991024 (release) libstdc++ 2.90.8 (full recompilation of gcc) purify-4.5.1-solaris2 >Description: I've got many UMR with Purify. I suspect it's due to libstdc++ 2.90.8, so I send to you the Purify report. #include #include class Blah { public: void get(std::string & str) { std::getline(std::cin, str, '\n'); } }; >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="a.out.plog" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="a.out.plog" KioqKiAgUHVyaWZ5IGluc3RydW1lbnRlZCAuL2Eub3V0IChwaWQgMjM1OTEgYXQgV2VkIEp1biAy OCAxMzo1MDo1OSAyMDAwKQogICogUHVyaWZ5IDQuNS4xIFNvbGFyaXMgMiwgQ29weXJpZ2h0IChD KSAxOTkyLTE5OTkgUmF0aW9uYWwgU29mdHdhcmUgQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g CiAgKiBGb3IgY29udGFjdCBpbmZvcm1hdGlvbiB0eXBlOiAicHVyaWZ5IC1oZWxwIgogICogRm9y IFRUWSBvdXRwdXQsIHVzZSB0aGUgb3B0aW9uICItd2luZG93cz1ubyIKICAqIENvbW1hbmQtbGlu ZTogLi9hLm91dCAKICAqIE9wdGlvbnMgc2V0dGluZ3M6IC1jYWNoZS1kaXI9L3RtcC9wdXJpZnkg LWcrKz15ZXMgLXB1cmlmeSBcCiAgICAtcHVyaWZ5LWhvbWU9L29wdC9wdXJpZnkvcHVyaWZ5LTQu NS4xLXNvbGFyaXMyIAoKKioqKiAgUHVyaWZ5IGluc3RydW1lbnRlZCAuL2Eub3V0IChwaWQgMjM1 OTEpICAqKioqClVNUjogVW5pbml0aWFsaXplZCBtZW1vcnkgcmVhZDoKICAqIFRoaXMgaXMgb2Nj dXJyaW5nIHdoaWxlIGluOgoJZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pR MjNzdGR0OWFsbG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTFS UTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3RkdDEzYmFzaWNfaXN0 cmVhbTJaWDAxWlgxMSBbYmFzaWNfc3RyaW5nLmg6Njc2XQoJZ2V0bGluZV9fSDNaY1pRMjNzdGR0 MTFjaGFyX3RyYWl0czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2lj X2lzdHJlYW0yWlgwMVpYMTFSUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMV9SUTIz c3RkdDEzYmFzaWNfaXN0cmVhbTJaWDAxWlgxMSBbaXN0cmVhbS50Y2M6MTE5Nl0KCW1haW4gICAg ICAgICAgIFtjY3ptcnhpYy5vXQoJX3N0YXJ0ICAgICAgICAgW2NydDEub10KICAqIFJlYWRpbmcg NCBieXRlcyBmcm9tIDB4ZWZmZmY5MjAgb24gdGhlIHN0YWNrLgogICogQWRkcmVzcyAweGVmZmZm OTIwIGlzICAgICAgMzE2IGJ5dGVzIHBhc3Qgc3RhcnQgb2YgbG9jYWwgdmFyaWFibGUgIl9fY2Vy YiIgaW4gZnVuY3Rpb24gZ2V0bGluZV9fSDNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0czFaY1pRMjNz dGR0OWFsbG9jYXRvcjFaY18zc3RkUlEyM3N0ZHQxM2Jhc2ljX2lzdHJlYW0yWlgwMVpYMTFSUTIz c3RkdDEyYmFzaWNfc3RyaW5nM1pYMDFaWDExWlgyMVgwMV9SUTIzc3RkdDEzYmFzaWNfaXN0cmVh bTJaWDAxWlgxMS4KCioqKiogIFB1cmlmeSBpbnN0cnVtZW50ZWQgLi9hLm91dCAocGlkIDIzNTkx KSAgKioqKgpDdXJyZW50IGZpbGUgZGVzY3JpcHRvcnMgaW4gdXNlOiA1CkZJVTogZmlsZSBkZXNj cmlwdG9yIDA6IDxzdGRpbj4KRklVOiBmaWxlIGRlc2NyaXB0b3IgMTogPHN0ZG91dD4KRklVOiBm aWxlIGRlc2NyaXB0b3IgMjogPHN0ZGVycj4KRklVOiBmaWxlIGRlc2NyaXB0b3IgMjY6IDxyZXNl cnZlZCBmb3IgUHVyaWZ5IGludGVybmFsIHVzZT4KRklVOiBmaWxlIGRlc2NyaXB0b3IgMjc6IDxy ZXNlcnZlZCBmb3IgUHVyaWZ5IGludGVybmFsIHVzZT4KCioqKiogIFB1cmlmeSBpbnN0cnVtZW50 ZWQgLi9hLm91dCAocGlkIDIzNTkxKSAgKioqKgpQdXJpZnk6IFNlYXJjaGluZyBmb3IgYWxsIG1l bW9yeSBsZWFrcy4uLgoKTWVtb3J5IGxlYWtlZDogMCBieXRlcyAoMCUpOyBwb3RlbnRpYWxseSBs ZWFrZWQ6IDYzIGJ5dGVzICgxMyUpCgpQTEs6IDE4IGJ5dGVzIHBvdGVudGlhbGx5IGxlYWtlZCBh dCAweDE0MDRlOAogICogVGhpcyBtZW1vcnkgd2FzIGFsbG9jYXRlZCBmcm9tOgoJbWFsbG9jICAg ICAgICAgW3J0bGliLm9dCglzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8 Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+OjpfUmVwOjpfU19jcmVhdGUodW5zaWduZWQgaW50 LGNvbnN0IHN0ZDo6YWxsb2NhdG9yPGNoYXI+JikgW3N0bF9hbGxvYy5oOjEyOF0KCV9TX2NvbnN0 cnVjdF9fSDFaUENjX1EyM3N0ZHQxMmJhc2ljX3N0cmluZzNaY1pRMjNzdGR0MTFjaGFyX3RyYWl0 czFaY1pRMjNzdGR0OWFsbG9jYXRvcjFaY1gwMFgwMFJDUTIzc3RkdDlhbGxvY2F0b3IxWmNHUTIz c3RkMjBmb3J3YXJkX2l0ZXJhdG9yX3RhZ19QYyBbc3RyaW5nLnRjYzoxMzFdCglzdGQ6OmJhc2lj X3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxvY2F0b3I8Y2hhcj4+ OjpzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sc3RkOjphbGxv Y2F0b3I8Y2hhcj4+KGNvbnN0IGNoYXIqLGNvbnN0IHN0ZDo6YWxsb2NhdG9yPGNoYXI+JikgW2Jh c2ljX3N0cmluZy5oOjY5N10KCXN0ZDo6bG9jYWxlOjpjbGFzc2ljKCkgW2xvY2FsZV9mYWNldHMu aDoxMjUxXQoJc3RkOjpiYXNpY19maWxlYnVmPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj46 OnN0ZDo6YmFzaWNfZmlsZWJ1ZjxjaGFyLHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4+KCkgW2xvY2Fs ZWZ3ZC5oOjMwMl0KClBMSzogMTcgYnl0ZXMgcG90ZW50aWFsbHkgbGVha2VkIGF0IDB4MTQwNTUw CiAgKiBUaGlzIG1lbW9yeSB3YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2MgICAgICAgICBbcnRs aWIub10KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6 OmFsbG9jYXRvcjxjaGFyPj46Ol9SZXA6Ol9TX2NyZWF0ZSh1bnNpZ25lZCBpbnQsY29uc3Qgc3Rk OjphbGxvY2F0b3I8Y2hhcj4mKSBbc3RsX2FsbG9jLmg6MTI4XQoJX1NfY29uc3RydWN0X19IMVpQ Q2NfUTIzc3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0 ZHQ5YWxsb2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dRMjNzdGQyMGZvcndh cmRfaXRlcmF0b3JfdGFnX1BjIFtzdHJpbmcudGNjOjEzMV0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNo YXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6YmFz aWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFy Pj4oY29uc3QgY2hhciosY29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4mKSBbYmFzaWNfc3RyaW5n Lmg6Njk3XQoJc3RkOjpsb2NhbGU6OmNsYXNzaWMoKSBbbG9jYWxlX2ZhY2V0cy5oOjEyNTFdCglz dGQ6OmJhc2ljX2ZpbGVidWY8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6c3RkOjpiYXNp Y19maWxlYnVmPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPj4oKSBbbG9jYWxlZndkLmg6MzAy XQoKUExLOiAxNCBieXRlcyBwb3RlbnRpYWxseSBsZWFrZWQgYXQgMHgxM2ZlYzAKICAqIFRoaXMg bWVtb3J5IHdhcyBhbGxvY2F0ZWQgZnJvbToKCW1hbGxvYyAgICAgICAgIFtydGxpYi5vXQoJc3Rk OjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9y PGNoYXI+Pjo6X1JlcDo6X1NfY3JlYXRlKHVuc2lnbmVkIGludCxjb25zdCBzdGQ6OmFsbG9jYXRv cjxjaGFyPiYpIFtzdGxfYWxsb2MuaDoxMjhdCglfU19jb25zdHJ1Y3RfX0gxWlBDY19RMjNzdGR0 MTJiYXNpY19zdHJpbmczWmNaUTIzc3RkdDExY2hhcl90cmFpdHMxWmNaUTIzc3RkdDlhbGxvY2F0 b3IxWmNYMDBYMDBSQ1EyM3N0ZHQ5YWxsb2NhdG9yMVpjR1EyM3N0ZDIwZm9yd2FyZF9pdGVyYXRv cl90YWdfUGMgW3N0cmluZy50Y2M6MTMxXQoJc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNo YXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pjo6c3RkOjpiYXNpY19zdHJpbmc8 Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxsb2NhdG9yPGNoYXI+Pihjb25zdCBj aGFyKixjb25zdCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiYpIFtiYXNpY19zdHJpbmcuaDo2OTddCglz dGQ6OmxvY2FsZTo6X0ltcGw6OnN0ZDo6bG9jYWxlOjpfSW1wbCh1bnNpZ25lZCBpbnQsdW5zaWdu ZWQgaW50KSBbbG9jYWxlLmNjOjYwXQoJc3RkOjpsb2NhbGU6OmNsYXNzaWMoKSBbbG9jYWxlLmNj OjMyM10KClBMSzogMTQgYnl0ZXMgcG90ZW50aWFsbHkgbGVha2VkIGF0IDB4MTQwMGE4CiAgKiBU aGlzIG1lbW9yeSB3YXMgYWxsb2NhdGVkIGZyb206CgltYWxsb2MgICAgICAgICBbcnRsaWIub10K CXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9j YXRvcjxjaGFyPj46Ol9SZXA6Ol9TX2NyZWF0ZSh1bnNpZ25lZCBpbnQsY29uc3Qgc3RkOjphbGxv Y2F0b3I8Y2hhcj4mKSBbc3RsX2FsbG9jLmg6MTI4XQoJX1NfY29uc3RydWN0X19IMVpQQ2NfUTIz c3RkdDEyYmFzaWNfc3RyaW5nM1pjWlEyM3N0ZHQxMWNoYXJfdHJhaXRzMVpjWlEyM3N0ZHQ5YWxs b2NhdG9yMVpjWDAwWDAwUkNRMjNzdGR0OWFsbG9jYXRvcjFaY0dRMjNzdGQyMGZvcndhcmRfaXRl cmF0b3JfdGFnX1BjIFtzdHJpbmcudGNjOjEzMV0KCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsc3Rk OjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj46OnN0ZDo6YmFzaWNfc3Ry aW5nPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPixzdGQ6OmFsbG9jYXRvcjxjaGFyPj4oY29u c3QgY2hhciosY29uc3Qgc3RkOjphbGxvY2F0b3I8Y2hhcj4mKSBbYmFzaWNfc3RyaW5nLmg6Njk3 XQoJc3RkOjpsb2NhbGU6Ol9JbXBsOjpzdGQ6OmxvY2FsZTo6X0ltcGwodW5zaWduZWQgaW50LHVu c2lnbmVkIGludCkgW2xvY2FsZS5jYzo2Nl0KCXN0ZDo6bG9jYWxlOjpjbGFzc2ljKCkgW2xvY2Fs ZS5jYzozMjNdCgpQdXJpZnkgSGVhcCBBbmFseXNpcyAoY29tYmluaW5nIHN1cHByZXNzZWQgYW5k IHVuc3VwcHJlc3NlZCBibG9ja3MpCiAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja3MgICAg ICAgIEJ5dGVzCiAgICAgICAgICAgICAgTGVha2VkICAgICAgICAgIDAgICAgICAgICAgICAwCiAg UG90ZW50aWFsbHkgTGVha2VkICAgICAgICAgIDQgICAgICAgICAgIDYzCiAgICAgICAgICAgICAg SW4tVXNlICAgICAgICAgMTkgICAgICAgICAgNDIwCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogICAgIFRvdGFsIEFsbG9jYXRlZCAgICAgICAgIDIzICAgICAgICAg IDQ4MwoKKioqKiAgUHVyaWZ5IGluc3RydW1lbnRlZCAuL2Eub3V0IChwaWQgMjM1OTEpICAqKioq CiAgKiBQcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyBjb2RlIDAuCiAgKiAxIGFjY2VzcyBlcnJv ciwgMSB0b3RhbCBvY2N1cnJlbmNlLgogICogMCBieXRlcyBsZWFrZWQuCiAgKiA2MyBieXRlcyBw b3RlbnRpYWxseSBsZWFrZWQuCiAgKiBCYXNpYyBtZW1vcnkgdXNhZ2UgKGluY2x1ZGluZyBQdXJp Znkgb3ZlcmhlYWQpOgogICAgMTAxNTA4NCBjb2RlCiAgICAxNjQwNzIgZGF0YS9ic3MKICAgIDE2 Mzg4IGhlYXAgKHBlYWsgdXNlKQogICAgMTMyOCBzdGFjawogICogU2hhcmVkIGxpYnJhcnkgbWVt b3J5IHVzYWdlIChpbmNsdWRpbmcgUHVyaWZ5IG92ZXJoZWFkKToKICAgIDE0MDA5MyBsaWJtLnNv LjFfcHVyZV9wM19jMF80NTFfNTYgKHNoYXJlZCBjb2RlKQogICAgMTMzMiBsaWJtLnNvLjFfcHVy ZV9wM19jMF80NTFfNTYgKHByaXZhdGUgZGF0YSkKICAgIDk2MjMxNyBsaWJjLnNvLjFfcHVyZV9w M19jMF80NTFfNTYgKHNoYXJlZCBjb2RlKQogICAgMzA5NjAgbGliYy5zby4xX3B1cmVfcDNfYzBf NDUxXzU2IChwcml2YXRlIGRhdGEpCiAgICAyMDM2IGxpYmRsLnNvLjFfcHVyZV9wM19jMF80NTFf NTYgKHNoYXJlZCBjb2RlKQogICAgNCBsaWJkbC5zby4xX3B1cmVfcDNfYzBfNDUxXzU2IChwcml2 YXRlIGRhdGEpCiAgICAxMTc2NiBsaWJpbnRlcm5hbF9zdHVicy5zby4xIChzaGFyZWQgY29kZSkK ICAgIDgzMiBsaWJpbnRlcm5hbF9zdHVicy5zby4xIChwcml2YXRlIGRhdGEpCgo= >>From donnte@microsoft.com Fri Jun 30 17:47:00 2000 From: donnte@microsoft.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/68: Makefile non-portability Date: Fri, 30 Jun 2000 17:47:00 -0000 Message-id: <20000701004404.29264.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00019.html Content-length: 1392 >Number: 68 >Category: libstdc++ >Synopsis: Makefile non-portability >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Jun 30 17:47:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: donnte@microsoft.com >Release: unknown-1.0 >Organization: >Environment: Interix >Description: I'm NOT quite sure that this qualifies as a bug because it does work with gmake. However, so far, it's the only thing I've run across in building the whole compiler and library suite that does: On roughly line 130 of math/Makefile.in you'll find libmath_la_LIBADD = \ @LIBMATHOBJS@ \ $(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE)) At least the openbsd make I use normally use doesn't support nested $(), and from reading POSIX.2, this (quite arguably... the standard is fuzzy) is not standard. (POSIX, P673, L467). (The unanswered question is are macros evaluated inside-outward or left to right; if the latter it's illegal, if the former, it's legal, and the standard doesn't make it clear.) Anyway... is this something that should be fixed in the name of portability? Donn Terry Speaking only for myself. >How-To-Repeat: Use the appropriate make, configure, and make. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From donnte@microsoft.com Fri Jun 30 17:57:00 2000 From: donnte@microsoft.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/69: configure non-portability (-ffunction-sections) Date: Fri, 30 Jun 2000 17:57:00 -0000 Message-id: <20000701004815.31259.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q2/msg00020.html Content-length: 1015 >Number: 69 >Category: libstdc++ >Synopsis: configure non-portability (-ffunction-sections) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Jun 30 17:57:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: donnte@microsoft.com >Release: unknown-1.0 >Organization: >Environment: Interix >Description: configure wrongly concludes that -ffunction-sections is supported when it is not. Mostly, this is beningn because in most places, it's only a warning anyway. However, in building one file, -Werror is set, and the warning that -ffunction-sections is set becomes an error. -Werror needs to be set in acinclude.m4, line 230, where CXXFLAGS is set to -ffunction-sections... >How-To-Repeat: Use a version of gcc that doesn't support -ffunction-sections. >Fix: Add -Werror to set of CXXFLAGS at line 230. >Release-Note: >Audit-Trail: >Unformatted: >>From brendan@zen.org Mon Jul 03 04:57:00 2000 From: brendan@zen.org To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/70: missing parens in bits/std_complex.h (operator==) Date: Mon, 03 Jul 2000 04:57:00 -0000 Message-id: <20000703115155.14459.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00000.html Content-length: 2192 >Number: 70 >Category: libstdc++ >Synopsis: missing parens in bits/std_complex.h (operator==) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Jul 03 04:57:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: brendan@zen.org >Release: CVS tree >Organization: >Environment: n/a >Description: In std_complex.h it defines an operator== to try to call __x.imag(), but it's missing the parentheses for it. The line is operator==(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() == __y.real() && __x.imag == __y.imag(); } where it needs to be operator==(const complex<_Tp>& __x, const complex<_Tp>& __y) { return __x.real() == __y.real() && __x.imag() == __y.imag(); } >How-To-Repeat: >Fix: Patch attached, change __x.imag to __x.imag(). >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="diffs-complex-imag" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diffs-complex-imag" MjAwMC0wNi0yOSAgQnJlbmRhbiBLZWhvZSAgPGJyZW5kYW5AemVuLm9yZz4KCgkqIGJpdHMvc3Rk X2NvbXBsZXguaCAob3BlcmF0b3I9PSk6IEZpeCBjYWxsIG9mIF9feC5pbWFnKCkgdG8gaGF2ZQoJ aXRzIHBhcmVudGhlc2VzLgoKSW5kZXg6IGJpdHMvc3RkX2NvbXBsZXguaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL2djYy9lZ2NzL2xpYnN0ZGMrKy12My9iaXRzL3N0ZF9jb21wbGV4Lmgsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC11IC1wIC1yMS4xIHN0ZF9jb21wbGV4LmgKLS0t IHN0ZF9jb21wbGV4LmgJMjAwMC8wNC8yMSAyMDozMzoyOAkxLjEKKysrIHN0ZF9jb21wbGV4LmgJ MjAwMC8wNy8wMyAxMTo0ODoyMQpAQCAtODg4LDcgKzg4OCw3IEBAIG5hbWVzcGFjZSBzdGQKICAg ICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+CiAgICAgaW5saW5lIGJvb2wKICAgICBvcGVyYXRvcj09 KGNvbnN0IGNvbXBsZXg8X1RwPiYgX194LCBjb25zdCBjb21wbGV4PF9UcD4mIF9feSkKLSAgICB7 IHJldHVybiBfX3gucmVhbCgpID09IF9feS5yZWFsKCkgJiYgX194LmltYWcgPT0gX195LmltYWco KTsgfQorICAgIHsgcmV0dXJuIF9feC5yZWFsKCkgPT0gX195LnJlYWwoKSAmJiBfX3guaW1hZygp ID09IF9feS5pbWFnKCk7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9UcD4KICAgICBpbmxp bmUgYm9vbAo= >>From bkoz@redhat.com Mon Jul 03 18:17:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/70: missing parens in bits/std_complex.h (operator==) Date: Mon, 03 Jul 2000 18:17:00 -0000 Message-id: <20000704011701.17307.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00001.html Content-length: 358 The following reply was made to PR libstdc++/70; it has been noted by GNATS. From: Benjamin Kosnik To: brendan@zen.org Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/70: missing parens in bits/std_complex.h (operator==) Date: Mon, 3 Jul 2000 18:10:53 -0700 (PDT) thanks brendan! This is now fixed, thanks. -benjamin >>From schimmel@dkrz.de Wed Jul 05 13:27:00 2000 From: schimmel@dkrz.de To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/71: failed to build on x86-linux Date: Wed, 05 Jul 2000 13:27:00 -0000 Message-id: <20000705202006.8874.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00002.html Content-length: 3695 >Number: 71 >Category: libstdc++ >Synopsis: failed to build on x86-linux >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Jul 05 13:27:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Frank Schimmel >Release: egcs-20000626 >Organization: >Environment: i686-pc-linux, gcc 2.95.2, binutils 2.9.1 >Description: I tried building egcs-20000626 with gcc-2.95.2: configure --enable-languages=c,c++ --enable-haifa \ --with-cpu=i686 --enable-libstdcxx-v3 --enable-namespaces \ --enable-threads=posix --enable-shared File `libstdc++-v3/src/locale.cc' won't compile: In file included from /space/frank/egcs-20000626/libstdc++-v3/src/locale.cc:41: /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswspace_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:65: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswprint_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:73: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswcntrl_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:81: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswupper_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:89: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswlower_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:97: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswalpha_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:105: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswdigit_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:113: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswpunct_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:121: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswxdigit_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:129: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswalnum_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:137: warning: comparison of unsigned expression >= 0 is always true /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h: In function `int std::_S_iswgraph_helper (unsigned int)': /space/frank/egcs-20000626/libstdc++-v3/bits/std_cwctype.h:145: warning: comparison of unsigned expression >= 0 is always true Only warnings (not critical as far as I can tell), but `-Werror' makes it fail... >How-To-Repeat: >Fix: WERROR="" (Not *really* elegant...) >Release-Note: >Audit-Trail: >Unformatted: >>From kmb@eticomm.net Fri Jul 14 09:07:00 2000 From: kmb@eticomm.net To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/72: streambuf.h Date: Fri, 14 Jul 2000 09:07:00 -0000 Message-id: <20000714160617.31859.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00003.html Content-length: 2761 >Number: 72 >Category: libstdc++ >Synopsis: streambuf.h >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Jul 14 09:07:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Kenneth M. Berry >Release: 2.95.3 >Organization: >Environment: 2.3.X or 2.4.X, glibc-2.1.91-2, K7/700Mhz AMD-751 VIA686A >Description: make[2]: Entering directory `/extra1/ALSA/alsa-conf' c++ -DHAVE_CONFIG_H -I. -I. -I. -I./newt -g -Wall -ftemplate-depth-20 -c Alloc.cc In file included from /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/iostream.h:31, from /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/iomanip.h:31, from Alloc.cc:23: /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/streambuf.h: In method `struct _IO_FILE *& streambuf::xchain()': /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/streambuf.h:295: type `_IO_FILE' is not a base type for type `_IO_FILE_plus' make[2]: *** [Alloc.o] Error 1 make[2]: Leaving directory `/extra1/ALSA/alsa-conf' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/extra1/ALSA/alsa-conf' make: *** [all-recursive-am] Error 2 [root@localhost alsa-conf]# gmake[3]: Entering directory `/extra2/MOZILLA_CVS/mozilla/xpcom/tools/registry' regxpcom.cpp c++ -o regxpcom.o -c -DOSTYPE=\"Linux2.4\" -DOJI -DUSE_NSREG -I../../../dist/include -I/usr/X11R6/include -fPIC -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -pedantic -Wno-long-long -pthread -DDEBUG -DDEBUG_root -DTRACING -g -DMOZILLA_CLIENT -include ../../../config-defs.h -Wp,-MD,.deps/regxpcom.pp regxpcom.cpp In file included from /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/iostream.h:31, from regxpcom.cpp:24: /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/streambuf.h: In method `struct _IO_FILE *& streambuf::xchain()': /usr/lib/gcc-lib/i386-redhat-linux/2.95.3/../../../../include/g++-3/streambuf.h:295: type `_IO_FILE' is not a base type for type `_IO_FILE_plus' gmake[3]: *** [regxpcom.o] Error 1 gmake[3]: Leaving directory `/extra2/MOZILLA_CVS/mozilla/xpcom/tools/registry' gmake[2]: *** [install] Error 2 gmake[2]: Leaving directory `/extra2/MOZILLA_CVS/mozilla/xpcom/tools' gmake[1]: *** [install] Error 2 gmake[1]: Leaving directory `/extra2/MOZILLA_CVS/mozilla/xpcom' gmake: *** [install] Error 2 [root@localhost mozilla]# >How-To-Repeat: Compile mozilla cvs or alsa-conf cvs. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From jfardo@laurelnetworks.com Fri Jul 14 11:17:00 2000 From: jfardo@laurelnetworks.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/73: libstdc++-v3 doesn't build for PowerPc cross compiler on x86 Date: Fri, 14 Jul 2000 11:17:00 -0000 Message-id: <20000714181208.8346.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00004.html Content-length: 2249 >Number: 73 >Category: libstdc++ >Synopsis: libstdc++-v3 doesn't build for PowerPc cross compiler on x86 >Confidential: no >Severity: critical >Priority: high >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Jul 14 11:17:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: John Fardo >Release: gcc 2.95.2/libstdc++-2.90.8 (Also gcc 2.96 2000713) >Organization: >Environment: Build platform - i686 Linux 2.2.14-6.1.1 Target platform - PowerPC 750 >Description: The libstdc++-v3/gcc build fails for the PowerPC750 cross compiler on a x86 PC host. I have tried with both the most recent released version as well as the current CVS version. The build fails with the following error message: if [ x"-fPIC" != x ]; then \ /compilers/BUILD/gcc-obj/gcc/xgcc -B/compilers/BUILD/gcc-obj/gcc/ -B/compilers/ppc/7xx/powerpc-linux/bin/ -c -DHAVE_CONFIG_H -g -O2 -I. -I../../../gcc/libiberty/../include -W - Wall -Wtraditional -pedantic -fPIC ../../../gcc/libiberty/strerror.c -o pic/strerror.o; \ else true; fi ../../../gcc/libiberty/strerror.c:463: warning: static declaration for `sys_nerr ' follows non-static ../../../gcc/libiberty/strerror.c:464: conflicting types for `sys_errlist' /u/jfardo/work/compilers/opt/hardhat/devkit/ppc/7xx/powerpc-linux/sys-include/st dio.h:553: previous declaration of `sys_errlist' >How-To-Repeat: 1. Following the instructions in the installation instructions, I renamed libstdc++ to libstdc++-v2 and libio to libio-v2. 2. I linked the libstdc++-v3 source to the libstdc++ directory at the top of the gcc source tree. 3. I have binutils 2.9.5.0.22 built for the powerpc on the x86. 4. I created a directory called gcc-obj and ran the configure script from there : configure --host=i386-linux --target=powerpc-linux --program-prefix=powerpc-linux- --with-cpu=750 --with-gnu-as --with-gnu-ld --enable-threads=posix --enable-cross --enable-shared --enable-languages=c,c++ --disable-libgcc-rebuild --with-headers= --with-newlib 5. Run make. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>From bkoz@redhat.com Fri Jul 14 11:27:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/73: libstdc++-v3 doesn't build for PowerPc cross compiler on x86 Date: Fri, 14 Jul 2000 11:27:00 -0000 Message-id: <20000714182701.10868.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00005.html Content-length: 538 The following reply was made to PR libstdc++/73; it has been noted by GNATS. From: Benjamin Kosnik To: jfardo@laurelnetworks.com Cc: libstdc++-gnats@sourceware.cygnus.com Subject: Re: libstdc++/73: libstdc++-v3 doesn't build for PowerPc cross compiler on x86 Date: Fri, 14 Jul 2000 11:19:32 -0700 (PDT) note that the cross fails in the "libiberty" folder, which is different than the libstdc++ folder........this indicates a problem with either the compiler, newlib, or libibery versions being used. -benjamin >>From pjviitas@flash.lakeheadu.ca Sat Jul 15 14:37:00 2000 From: pjviitas@flash.lakeheadu.ca To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/74: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' Date: Sat, 15 Jul 2000 14:37:00 -0000 Message-id: <20000715212942.13547.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00006.html Content-length: 1469 >Number: 74 >Category: libstdc++ >Synopsis: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Jul 15 14:37:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Peter Viitasaari >Release: 2.90.6 >Organization: >Environment: gcc version: 2.95.2 machine: i586-pc-linux-gnu directories used: gccsrcdir: /root/installs/gcc-2.95.2 libsrcdir: /root/installs/gcc- 2.95.2/libstdc++-2.90.6 gccbuilddir: /root/installs/objdir libbuilddir: none needed destdir: /usr >Description: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' >How-To-Repeat: Starting in /root/installs/gcc-2.95.2 do this: mv libstdc++ libstdc++-v2 mv libio libio-v2 tar xzf ../libstdc++-2.90.6.tar.gz ln -s libstdc++-2.90.6 libstdc++ cd ../objdir ../gcc-2.95.2/configure --prefix=/usr make bootstrap Fails with script attached: (Reproduced with make check) >Fix: I am not too sure but it seems like some of the script variables are not being passed into the libstdc++ makefile. Is the libstdc++ have to be made before gcc is bootstapped? >Release-Note: >Audit-Trail: >Unformatted: >>From pjviitas@flash.lakeheadu.ca Sat Jul 15 14:37:00 2000 From: pjviitas@flash.lakeheadu.ca To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/75: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' Date: Sat, 15 Jul 2000 14:37:00 -0000 Message-id: <20000715213004.13598.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00007.html Content-length: 8236 >Number: 75 >Category: libstdc++ >Synopsis: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Jul 15 14:37:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Peter Viitasaari >Release: 2.90.6 >Organization: >Environment: gcc version: 2.95.2 machine: i586-pc-linux-gnu directories used: gccsrcdir: /root/installs/gcc-2.95.2 libsrcdir: /root/installs/gcc- 2.95.2/libstdc++-2.90.6 gccbuilddir: /root/installs/objdir libbuilddir: none needed destdir: /usr >Description: gcc make bootstrap fails with: /bin/sh: -c: line 1: syntax error near unexpected token `(C' >How-To-Repeat: Starting in /root/installs/gcc-2.95.2 do this: mv libstdc++ libstdc++-v2 mv libio libio-v2 tar xzf ../libstdc++-2.90.6.tar.gz ln -s libstdc++-2.90.6 libstdc++ cd ../objdir ../gcc-2.95.2/configure --prefix=/usr make bootstrap Fails with script attached: (Reproduced with make check) >Fix: I am not too sure but it seems like some of the script variables are not being passed into the libstdc++ makefile. Is the libstdc++ have to be made before gcc is bootstapped? >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="Typescri" Content-Disposition: inline; filename="Typescri" Script started on Sat Jul 15 16:44:08 2000 [root@pjviitas objdir]# make check make[1]: Entering directory `/root/installs/objdir/etc' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/root/installs/objdir/etc' make[1]: Entering directory `/root/installs/objdir/libiberty' make[2]: Entering directory `/root/installs/objdir/libiberty/testsuite' /bin/sh ../../../gcc-2.95.2/libiberty/testsuite/regress-demangle ../../../gcc-2.95.2/libiberty/testsuite/demangle-expected All 616 tests passed make[2]: Leaving directory `/root/installs/objdir/libiberty/testsuite' make[1]: Leaving directory `/root/installs/objdir/libiberty' make[1]: Entering directory `/root/installs/objdir/texinfo' make check-recursive make[2]: Entering directory `/root/installs/objdir/texinfo' Making check in intl make[3]: Entering directory `/root/installs/objdir/texinfo/intl' make[3]: Nothing to be done for `check'. make[3]: Leaving directory `/root/installs/objdir/texinfo/intl' Making check in lib make[3]: Entering directory `/root/installs/objdir/texinfo/lib' make make[4]: Entering directory `/root/installs/objdir/texinfo/lib' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/root/installs/objdir/texinfo/lib' make[3]: Leaving directory `/root/installs/objdir/texinfo/lib' Making check in makeinfo make[3]: Entering directory `/root/installs/objdir/texinfo/makeinfo' make make[4]: Entering directory `/root/installs/objdir/texinfo/makeinfo' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/root/installs/objdir/texinfo/makeinfo' make[3]: Leaving directory `/root/installs/objdir/texinfo/makeinfo' make[2]: Leaving directory `/root/installs/objdir/texinfo' make[1]: Leaving directory `/root/installs/objdir/texinfo' make[1]: Entering directory `/root/installs/objdir/libiberty' make[2]: Entering directory `/root/installs/objdir/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/root/installs/objdir/libiberty/testsuite' make[1]: Leaving directory `/root/installs/objdir/libiberty' make[1]: Entering directory `/root/installs/objdir/texinfo' make all-recursive make[2]: Entering directory `/root/installs/objdir/texinfo' Making all in intl make[3]: Entering directory `/root/installs/objdir/texinfo/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/root/installs/objdir/texinfo/intl' Making all in lib make[3]: Entering directory `/root/installs/objdir/texinfo/lib' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/root/installs/objdir/texinfo/lib' Making all in makeinfo make[3]: Entering directory `/root/installs/objdir/texinfo/makeinfo' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/root/installs/objdir/texinfo/makeinfo' make[2]: Leaving directory `/root/installs/objdir/texinfo' make[1]: Leaving directory `/root/installs/objdir/texinfo' make[1]: Entering directory `/root/installs/objdir/gcc' (cd intl && make all) make[2]: Entering directory `/root/installs/objdir/gcc/intl' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/root/installs/objdir/gcc/intl' if [ -f libgcc2.ready ] ; then \ true; \ else \ touch libgcc2.ready; \ fi make[1]: Leaving directory `/root/installs/objdir/gcc' make[1]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty' make[2]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty/testsuite' make[2]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty' if [ -z "" ]; then \ true; \ else \ rootpre=`pwd`/; export rootpre; \ srcrootpre=`cd ../../../gcc-2.95.2/libiberty; pwd`/; export srcrootpre; \ lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \ compiler="/root/installs/objdir/gcc/xgcc -B/root/installs/objdir/gcc/ -B/usr/i586-pc-linux-gnu/bin/"; \ for i in `${compiler} --print-multi-lib 2>/dev/null`; do \ dir=`echo $i | sed -e 's/;.*$//'`; \ if [ "${dir}" = "." ]; then \ true; \ else \ if [ -d ../${dir}/${lib} ]; then \ flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" "CC=/root/installs/objdir/gcc/xgcc -B/root/installs/objdir/gcc/ -B/usr/i586-pc-linux-gnu/bin/" "CFLAGS=-g -O2" "LIBCFLAGS=-g -O2" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/bin/sh /root/installs/gcc-2.95.2/install-sh -c" "INSTALL_DATA=/bin/sh /root/installs/gcc-2.95.2/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /root/installs/gcc-2.95.2/install-sh -c " "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" "prefix=/usr" "exec_prefix=/usr" "libdir=/usr/lib" "libsubdir=/usr/lib/gcc-lib/i586-pc-linux-gnu/2.95.2" "tooldir=/usr/i586-pc-linux-gnu" \ CFLAGS="-g -O2 ${flags}" \ CXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE ${flags}" \ LIBCFLAGS="-g -O2 ${flags}" \ LIBCXXFLAGS="-g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates ${flags}" \ LDFLAGS=" ${flags}" \ all); then \ true; \ else \ exit 1; \ fi; \ else true; \ fi; \ fi; \ done; \ fi make[2]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty' make[1]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libiberty' make[1]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++' make all-recursive make[2]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++' Making all in math make[3]: Entering directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++/math' /bin/sh ../libtool --mode=compile (CC_FOR_TARGET) -DHAVE_CONFIG_H -I. -I../../../../gcc-2.95.2/libstdc++/math -I.. (CFLAGS_FOR_TARGET) -c ../../../../gcc-2.95.2/libstdc++/math/signbit.c /bin/sh: -c: line 1: syntax error near unexpected token `(C' /bin/sh: -c: line 1: `/bin/sh ../libtool --mode=compile (CC_FOR_TARGET) -DHAVE_CONFIG_H -I. -I../../../../gcc-2.95.2/libstdc++/math -I.. (CFLAGS_FOR_TARGET) -c ../../../../gcc-2.95.2/libstdc++/math/signbit.c' make[3]: *** [signbit.lo] Error 2 make[3]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++/math' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++' make[1]: *** [all-recursive-am] Error 2 make[1]: Leaving directory `/root/installs/objdir/i586-pc-linux-gnu/libstdc++' make: *** [all-target-libstdc++] Error 2 [root@pjviitas objdir]# exit Script done on Sat Jul 15 16:44:45 2000 >>From pedwards@disaster.jaj.com Mon Jul 17 09:37:00 2000 From: Phil Edwards To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 09:37:00 -0000 Message-id: <20000717163701.30580.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00008.html Content-length: 1682 The following reply was made to PR libstdc++/68; it has been noted by GNATS. From: Phil Edwards To: donnte@microsoft.com Cc: libstdc++-gnats@sources.redhat.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 12:32:26 -0400 > I'm NOT quite sure that this qualifies as a bug because > it does work with gmake. Well, hmmmm. On one hand, we do list gmake as a required tool to build the library. On the other hand, automake is supposed to generate super-portable Makefiles that don't require gmake. Putting gmake-only code in the automake input file defeats the purpose. On the gripping hand, gmake is absolutely required in building GCC itself, and the library is being designed to be built as part of that process. So we've assumed that gmake will always be available. As soon as we get Solaris builds working again (those are the machines I have access to at the moment that also have spare diskspace), I will play with changing the syntax and report on this note. > $(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE)) > > At least the openbsd make I use normally use doesn't > support nested $(), and from reading POSIX.2, this (quite > arguably... the standard is fuzzy) is not standard. > (POSIX, P673, L467). (The unanswered question is > are macros evaluated inside-outward or left to right; > if the latter it's illegal, if the former, it's legal, > and the standard doesn't make it clear.) POSIX can be so fuzzy sometimes... I would argue that nested things should always be evaluated inside-outward rather than side-to-side, but as you say, it isn't mandated. Phil >>From pedwards@disaster.jaj.com Mon Jul 17 09:57:00 2000 From: Phil Edwards To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 09:57:00 -0000 Message-id: <20000717165701.7502.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00009.html Content-length: 641 The following reply was made to PR libstdc++/68; it has been noted by GNATS. From: Phil Edwards To: bkoz@redhat.com Cc: libstdc++-gnats@sources.redhat.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 12:48:39 -0400 > gmake is going to be required. It's important to my own sanity that I > don't have to worry about various make systems and limitations. At some Ah, okay. Keeping the maintainers sane is always a bonus. > point, the autoconf machinery will go in to enforce this. Perhaps sooner rather than later? Perhaps today or tomorrow; this should be easy. >>From bkoz@redhat.com Mon Jul 17 10:27:00 2000 From: Benjamin Kosnik To: nobody@sourceware.cygnus.com Cc: libstdc++-prs@sourceware.cygnus.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 10:27:00 -0000 Message-id: <20000717172700.14557.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00010.html Content-length: 811 The following reply was made to PR libstdc++/68; it has been noted by GNATS. From: Benjamin Kosnik To: Phil Edwards Cc: libstdc++-gnats@sources.redhat.com Subject: Re: libstdc++/68: Makefile non-portability Date: Mon, 17 Jul 2000 10:18:35 -0700 (PDT) awesome, you're the best. > > point, the autoconf machinery will go in to enforce this. Perhaps sooner rather than later? > > Perhaps today or tomorrow; this should be easy. if you get around to it, can you please emit info at the end of configure that says something like: "please make sure you read the install information here: and the configure information here: before preceeding with make" I hope this might increase the number of people who actually read the docs. >>From thomasdr@us.ibm.com Mon Jul 17 13:37:00 2000 From: thomasdr@us.ibm.com To: libstdc++-gnats@sourceware.cygnus.com Subject: libstdc++/76: Segmentation fault on AIX on multi-threaded "Hello World" Date: Mon, 17 Jul 2000 13:37:00 -0000 Message-id: <20000717203528.1613.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00011.html Content-length: 1488 >Number: 76 >Category: libstdc++ >Synopsis: Segmentation fault on AIX on multi-threaded "Hello World" >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Jul 17 13:37:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Dave Thomas >Release: unknown-1.0 >Organization: >Environment: AIX >Description: We get segmentation faults on AIX whenever multiple threads try to write to cout at the same time. We reduced the problem to a two thread application. Each application does a : cout << "Hello World" << endl; The application will eventually generate a segmentation fault. Running the test program under a debugger revealed that one of the thread is always in the C "write" runtime function. We noticed that the source file that our debugger wants to bring up for the line of code of "write" generating the segmentation fault is NOT source shipped with gcc, but appears to be the "native" AIX C runtime, probably shipped with xlC. 1) Is this a known problem? If so, is there a planned fix date? 2) Is it normal for the gcc C++ runtime to use the C xlC runtime library? >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name=" " Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=" "