From bart.smaalders@Sun.COM Tue Mar 20 21:04:58 2007
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2L44w4f016316
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 20 Mar 2007 21:04:58 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2L44w7M006146
	for <@sunmail3mpk.sfbay.sun.com:PSARC-EXT@Sun.COM>; Tue, 20 Mar 2007 21:04:58 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF800A01JCAW500@nwk-avmta-2.sfbay.sun.com> for PSARC-EXT@Sun.COM
 (ORCPT PSARC-EXT@Sun.COM); Tue, 20 Mar 2007 21:04:58 -0700 (PDT)
Received: from engmail3mpk.sfbay.Sun.COM ([129.146.11.26])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF800IECJCA56B0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-EXT@Sun.COM (ORCPT PSARC-EXT@Sun.COM); Tue,
 20 Mar 2007 21:04:58 -0700 (PDT)
Received: from zion.eng.sun.com (zion.SFBay.Sun.COM [129.146.17.75])
	by engmail3mpk.sfbay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l2L44vwT003351; Tue, 20 Mar 2007 21:04:57 -0700 (PDT)
Received: from [129.146.228.109] (cyber [129.146.228.109])
	by zion.eng.sun.com (8.13.7+Sun/8.13.7) with ESMTP id l2L44vwx029439; Tue,
 20 Mar 2007 21:04:57 -0700 (PDT)
Date: Tue, 20 Mar 2007 21:04:06 -0700
From: Bart Smaalders <bart.smaalders@Sun.COM>
Subject: PSARC/2007/164 Including PCRE with Solaris
To: PSARC-EXT@Sun.COM
Cc: Stefan Teleman <Stefan.Teleman@Sun.COM>
Message-id: <4600AEB6.2040303@Sun.COM>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_PqDDq2+u0+RQ923bwN9bfQ)"
X-PMX-Version: 5.2.0.264296
User-Agent: Thunderbird 2.0b2 (X11/20070227)
Status: RO
Content-Length: 8186

This is a multi-part message in MIME format.

--Boundary_(ID_PqDDq2+u0+RQ923bwN9bfQ)
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT

I'm sponsoring the attached fast-track for Stefan Teleman.
The requested binding is patch/micro release, and the
stability levels are as noted in the document.

Materials are in the case directory.

This case times out on 3/28/2007.

- Bart

-- 
Bart Smaalders			Solaris Kernel Performance
barts@cyber.eng.sun.com		http://blogs.sun.com/barts

--Boundary_(ID_PqDDq2+u0+RQ923bwN9bfQ)
Content-type: text/plain; name=PCREFastTrack.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=PCREFastTrack.txt

Including PCRE with Solaris

Stefan Teleman <Stefan.Teleman@Sun.COM>
15 March 2007

1.	Summary and motivation

	The inclusion of PHP5 has created a number of external library
	dependency requirements. One of these dependencies is PCRE
	[Perl-Compatible Regular Expressions] [1] [3].

	According to PCRE's Home Page, "The PCRE library is a set of
	functions that implement regular expression pattern matching
	using the same syntax and semantics as Perl 5. PCRE has its own
	native API, as well as a set of wrapper functions that correspond
	to the POSIX regular expression API." [1] [2]

	PCRE is used by many open source projects, including Apache, PHP,
	KDE, Postfix, Nmap, etc. The inclusion of PCRE in Solaris would
	facilitate the integration of other open source projects depending
	on PCRE. PCRE was originally written by Philip Hazel at Cambridge
	University, UK.

	This FastTrack case proposes the integration of PCRE in Solaris.

	PCRE is an Open Source project, and is developed outside of SMI.
	As such, the SFW Consolidation is the natural choice for PCRE
	integration.

	This case seeks Micro/Patch Release Binding.

2.	Technical issues

	2.1.	Key objects.

	/usr/bin/pcregrep
	/usr/bin/pcretest
	/usr/bin/pcre-config

	/usr/lib/libpcre.so.0.0.1
	/usr/lib/libpcre.so.0 -> libpcre.so.0.0.1
	/usr/lib/libpcre.so -> libpcre.so.0.0.1

	/usr/lib/libpcrecpp.so.0.0.0
	/usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
	/usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0

	/usr/lib/libpcreposix.so.0.0.0
	/usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
	/usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0

	/usr/include/pcre/pcre.h
	/usr/include/pcre/pcre_scanner.h
	/usr/include/pcre/pcre_stringpiece.h
	/usr/include/pcre/pcrecpp.h
	/usr/include/pcre/pcrecpparg.h
	/usr/include/pcre/pcreposix.h

	The original PCRE implementation installs header files under the
	${PREFIX}/include location. For the purpose of Solaris integration,
	we propose to change the default header file installation location
	to /usr/include/pcre/*.h. The motivation for this change is avoidance
	of namespace pollution in /usr/include.

	/usr/share/man/man1/pcregrep.1
	/usr/share/man/man1/pcretest.1
	/usr/share/man/man3/pcre.3

	2.2.	Functionality

	PCRE implements library calls allowing Perl-like regular expression
	pattern matching from within C or C++. Prior to PCRE, Perl-compatible
	regular expressions and pattern matching were not available outside
	of Perl itself.

	PCRE's core functionality is provided by two executables [pcregrep
	and pcretest] and three shared libraries: libpcre.so.0.0.1,
	libpcrecpp.so.0.0.0 and libpcreposix.so.0.0.0.

	Key aspecs of PCRE's functionality are discussed below.

	pcregrep is a variant of grep which supports Perl-compatible re's.

	pcretest is a test harness program. It enables testing of RE pattern
	matching, without having to recompile a program.

	libpcre.so.0.0.1 implements the Perl-Compatible portion of PCRE. Perl
	Regular Expressions [perlre] are an implementation of Kleene Algebra
	applied to free text. Perl RE's differ from traditional UNIX RE or
	POSIX RE in their pattern matching syntax, by adding significantly
	more operators and operator modifiers to their algebra. PERL RE's
	inherit from UNIX and POSIX RE.

	libpcreposix.so.0.0.0 implements the POSIX-Compatible portion of PCRE.
	POSIX RE's extend the UNIX RE operator set, and simplify somewhat
	pattern matching syntax rules.

	libpcrecpp.so.0.0.0 is the C++ wrapper library around libpcre.so.0.0.1
	and libpcreposix.so.0.0.0. libpcrecpp.so implements two Classes:
	class RE and class RE_Options. These classes do not implement any
	additional functionality than what is provided by libpcre.so.0.0.1
	and libpcreposix.so.0.0.0.

3.	Interfaces

	3.1.	Interface Stability

	PCRE is an Open Source project [1], developed and maintained external
	to SMI. PCRE makes no promises or guarantees about API or ABI
	compatibility between releases. Moreover, there have been several
	known cases of ABI breakage between different PCRE releases.

	3.2.	Imported interfaces

	libpcre.so.0.0.1 and libpcreposix.so.0.0.0 imports Standard C Library
	Interfaces. libpcrecpp.so.0.0.0 imports Standard C++ Library
	Interfaces, and depends on libCrun.so.1 and libCstd.so.1. No network
	library interfaces, or any other Solaris interfaces, are used by PCRE.

	NAME			STABILITY		NOTES

	C++ 5.3			Committed		LSARC/2001/284

	3.3.	Exported interfaces

	NAME			STABILITY		NOTES

	SUNWpcre		Uncommitted		Package name

	/usr/bin/pcregrep	Uncommitted		Executable location
	/usr/bin/pcretest	Uncommitted		Executable location

	/usr/lib/libpcre.so.0.0.1	Uncommitted	Shared library
	/usr/lib/libpcre.so.0		Uncommitted	Symbolic link
	/usr/lib/libpcre.so		Uncommitted	Symbolic link

	/usr/lib/libpcreposix.so.0.0.0	Uncommitted	Shared library
	/usr/lib/libpcreposix.so.0	Uncommitted	Symbolic link
	/usr/lib/libpcre.so		Uncommitted	Symbolic link

	/usr/lib/libpcrecpp.so.0.0.0	Uncommitted	Shared library
	/usr/lib/libpcrecpp.so.0	Uncommitted	Symbolic link
	/usr/lib/libpcrecpp.so		Uncommitted	Symbolic link

	/usr/share/man/man1/pcregrep.1	Uncommitted	Manual Page
	/usr/share/man/man1/pcretest.1	Uncommitted	Manual Page
	/usr/share/man/man3/pcre.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_compile.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_compile2.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_config.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_copy_named_substring.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_copy_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_dfa_exec.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_exec.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_free_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_free_substring_list.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_fullinfo.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_named_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_stringnumber.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_stringtable_entries.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_substring_list.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_info.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_maketables.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_refcount.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_study.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_version.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreapi.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrebuild.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrecallout.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrecompat.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrecpp.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrematching.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrepartial.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrepattern.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreperform.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreposix.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcreprecompile.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcresample.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrestack.3		Uncommitted	Manual Page

7.	References

	[1]	http://www.pcre.org/
	[2]	http://www.unix.org/version3/ieee_std.html
	[3]	http://www.perl.com/doc/manual/html/pod/perlre.html


--Boundary_(ID_PqDDq2+u0+RQ923bwN9bfQ)--

From unixconsole@yahoo.com Wed Mar 21 06:47:35 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LDlYlJ024712
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 06:47:35 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LDlRnJ013042
	for <@sunmail1brm.central.sun.com:PSARC-EXT@sun.com>; Wed, 21 Mar 2007 13:47:33 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900L03AB8O100@brm-avmta-1.central.sun.com> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@Sun.COM); Wed, 21 Mar 2007 07:47:32 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900JYWAB8S710@brm-avmta-1.central.sun.com> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@Sun.COM); Wed,
 21 Mar 2007 07:47:32 -0600 (MDT)
Received: from relay41i.sun.com ([192.5.209.70])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l2LDJuAR026388	for
 <PSARC-EXT@Sun.COM>; Wed, 21 Mar 2007 13:47:31 +0000 (GMT)
Received: from mms48es.sun.com ([160.41.221.231] [160.41.221.231])
 by relay41i.sun.com with ESMTP for PSARC-EXT@Sun.COM; Wed,
 21 Mar 2007 13:47:31 +0000 (Z)
Received: from relay43i.sun.com ([192.5.209.74] [192.5.209.74])
 by mms48es.sun.com with ESMTP for PSARC-EXT@Sun.COM; Wed,
 21 Mar 2007 13:47:31 +0000 (Z)
Received: from web30812.mail.mud.yahoo.com ([68.142.201.138] [68.142.201.138])
 by relay4i.sun.com for PSARC-EXT@Sun.COM; Wed, 21 Mar 2007 13:47:31 +0000 (Z)
Received: (qmail 38348 invoked by uid 60001); Wed, 21 Mar 2007 13:47:30 +0000
Received: from [71.2.179.191] by web30812.mail.mud.yahoo.com via HTTP; Wed,
 21 Mar 2007 06:47:30 -0700 (PDT)
Date: Wed, 21 Mar 2007 06:47:30 -0700 (PDT)
From: Octave Orgeron <unixconsole@yahoo.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4600AEB6.2040303@Sun.COM>
To: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Cc: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <651509.37228.qm@web30812.mail.mud.yahoo.com>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7BIT
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;  s=s1024; d=yahoo.com;
 h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;
 b=wYUXf/25xjrfmkU1giazZVl6fPIvE0iFK1eprwJwQr04NpiZXcsytUHtO1/WckbPcmt8GsY6UHU9Ur8ce7qfYTN+vVW/JTjOUDpzVuA1F/pObg8ApQ3auJi7bmHREAiQ9yUVQ7b3mwbcy9q3N7+3x0Qsl7I7jW3+r4+YKlvztlA=;
X-PMX-Version: 5.2.0.264296
X-YMail-OSG: 
 Q_iyDmYVM1neGRVZYCzvh8.8NST8wTn0QQlycE6p8K5WnFENvpd9XIoH.UQFWmUFFoBPacvYoHQuSdtWp_xc8ai.lXYAU.U5cTrjr3CE2xdqu.k32z1bYX6zv3LNLWH7mYPH9df59.LQE733F4jFCqbNwGTLAdT32dCK43uNKlOOREmGi8kjVFpCOA--
Status: RO
Content-Length: 9283

Hi,

I think this is a great idea to include this. Thank you for suggesting
that the include files be placed under /usr/include/pcre to help keep
things nice and clean:) Will this be compiled with the Sun Studio
compilers? Also, do we need a 64bit version of the libraries? I know
that most libraries are 32bit. Just thought the question should be
asked.

Octave

--- Bart Smaalders <bart.smaalders@Sun.COM> wrote:

> I'm sponsoring the attached fast-track for Stefan Teleman.
> The requested binding is patch/micro release, and the
> stability levels are as noted in the document.
> 
> Materials are in the case directory.
> 
> This case times out on 3/28/2007.
> 
> - Bart
> 
> -- 
> Bart Smaalders			Solaris Kernel Performance
> barts@cyber.eng.sun.com		http://blogs.sun.com/barts
> > Including PCRE with Solaris
> 
> Stefan Teleman <Stefan.Teleman@Sun.COM>
> 15 March 2007
> 
> 1.	Summary and motivation
> 
> 	The inclusion of PHP5 has created a number of external library
> 	dependency requirements. One of these dependencies is PCRE
> 	[Perl-Compatible Regular Expressions] [1] [3].
> 
> 	According to PCRE's Home Page, "The PCRE library is a set of
> 	functions that implement regular expression pattern matching
> 	using the same syntax and semantics as Perl 5. PCRE has its own
> 	native API, as well as a set of wrapper functions that correspond
> 	to the POSIX regular expression API." [1] [2]
> 
> 	PCRE is used by many open source projects, including Apache, PHP,
> 	KDE, Postfix, Nmap, etc. The inclusion of PCRE in Solaris would
> 	facilitate the integration of other open source projects depending
> 	on PCRE. PCRE was originally written by Philip Hazel at Cambridge
> 	University, UK.
> 
> 	This FastTrack case proposes the integration of PCRE in Solaris.
> 
> 	PCRE is an Open Source project, and is developed outside of SMI.
> 	As such, the SFW Consolidation is the natural choice for PCRE
> 	integration.
> 
> 	This case seeks Micro/Patch Release Binding.
> 
> 2.	Technical issues
> 
> 	2.1.	Key objects.
> 
> 	/usr/bin/pcregrep
> 	/usr/bin/pcretest
> 	/usr/bin/pcre-config
> 
> 	/usr/lib/libpcre.so.0.0.1
> 	/usr/lib/libpcre.so.0 -> libpcre.so.0.0.1
> 	/usr/lib/libpcre.so -> libpcre.so.0.0.1
> 
> 	/usr/lib/libpcrecpp.so.0.0.0
> 	/usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
> 	/usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0
> 
> 	/usr/lib/libpcreposix.so.0.0.0
> 	/usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
> 	/usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0
> 
> 	/usr/include/pcre/pcre.h
> 	/usr/include/pcre/pcre_scanner.h
> 	/usr/include/pcre/pcre_stringpiece.h
> 	/usr/include/pcre/pcrecpp.h
> 	/usr/include/pcre/pcrecpparg.h
> 	/usr/include/pcre/pcreposix.h
> 
> 	The original PCRE implementation installs header files under the
> 	${PREFIX}/include location. For the purpose of Solaris integration,
> 	we propose to change the default header file installation location
> 	to /usr/include/pcre/*.h. The motivation for this change is
> avoidance
> 	of namespace pollution in /usr/include.
> 
> 	/usr/share/man/man1/pcregrep.1
> 	/usr/share/man/man1/pcretest.1
> 	/usr/share/man/man3/pcre.3
> 
> 	2.2.	Functionality
> 
> 	PCRE implements library calls allowing Perl-like regular expression
> 	pattern matching from within C or C++. Prior to PCRE,
> Perl-compatible
> 	regular expressions and pattern matching were not available outside
> 	of Perl itself.
> 
> 	PCRE's core functionality is provided by two executables [pcregrep
> 	and pcretest] and three shared libraries: libpcre.so.0.0.1,
> 	libpcrecpp.so.0.0.0 and libpcreposix.so.0.0.0.
> 
> 	Key aspecs of PCRE's functionality are discussed below.
> 
> 	pcregrep is a variant of grep which supports Perl-compatible re's.
> 
> 	pcretest is a test harness program. It enables testing of RE pattern
> 	matching, without having to recompile a program.
> 
> 	libpcre.so.0.0.1 implements the Perl-Compatible portion of PCRE.
> Perl
> 	Regular Expressions [perlre] are an implementation of Kleene Algebra
> 	applied to free text. Perl RE's differ from traditional UNIX RE or
> 	POSIX RE in their pattern matching syntax, by adding significantly
> 	more operators and operator modifiers to their algebra. PERL RE's
> 	inherit from UNIX and POSIX RE.
> 
> 	libpcreposix.so.0.0.0 implements the POSIX-Compatible portion of
> PCRE.
> 	POSIX RE's extend the UNIX RE operator set, and simplify somewhat
> 	pattern matching syntax rules.
> 
> 	libpcrecpp.so.0.0.0 is the C++ wrapper library around
> libpcre.so.0.0.1
> 	and libpcreposix.so.0.0.0. libpcrecpp.so implements two Classes:
> 	class RE and class RE_Options. These classes do not implement any
> 	additional functionality than what is provided by libpcre.so.0.0.1
> 	and libpcreposix.so.0.0.0.
> 
> 3.	Interfaces
> 
> 	3.1.	Interface Stability
> 
> 	PCRE is an Open Source project [1], developed and maintained
> external
> 	to SMI. PCRE makes no promises or guarantees about API or ABI
> 	compatibility between releases. Moreover, there have been several
> 	known cases of ABI breakage between different PCRE releases.
> 
> 	3.2.	Imported interfaces
> 
> 	libpcre.so.0.0.1 and libpcreposix.so.0.0.0 imports Standard C
> Library
> 	Interfaces. libpcrecpp.so.0.0.0 imports Standard C++ Library
> 	Interfaces, and depends on libCrun.so.1 and libCstd.so.1. No network
> 	library interfaces, or any other Solaris interfaces, are used by
> PCRE.
> 
> 	NAME			STABILITY		NOTES
> 
> 	C++ 5.3			Committed		LSARC/2001/284
> 
> 	3.3.	Exported interfaces
> 
> 	NAME			STABILITY		NOTES
> 
> 	SUNWpcre		Uncommitted		Package name
> 
> 	/usr/bin/pcregrep	Uncommitted		Executable location
> 	/usr/bin/pcretest	Uncommitted		Executable location
> 
> 	/usr/lib/libpcre.so.0.0.1	Uncommitted	Shared library
> 	/usr/lib/libpcre.so.0		Uncommitted	Symbolic link
> 	/usr/lib/libpcre.so		Uncommitted	Symbolic link
> 
> 	/usr/lib/libpcreposix.so.0.0.0	Uncommitted	Shared library
> 	/usr/lib/libpcreposix.so.0	Uncommitted	Symbolic link
> 	/usr/lib/libpcre.so		Uncommitted	Symbolic link
> 
> 	/usr/lib/libpcrecpp.so.0.0.0	Uncommitted	Shared library
> 	/usr/lib/libpcrecpp.so.0	Uncommitted	Symbolic link
> 	/usr/lib/libpcrecpp.so		Uncommitted	Symbolic link
> 
> 	/usr/share/man/man1/pcregrep.1	Uncommitted	Manual Page
> 	/usr/share/man/man1/pcretest.1	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_compile.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_compile2.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_config.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_copy_named_substring.3		Uncommitted	Manual
> Page
> 	/usr/share/man/man3/pcre_copy_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_dfa_exec.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_exec.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_free_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_free_substring_list.3	Uncommitted	Manual
> Page
> 	/usr/share/man/man3/pcre_fullinfo.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_named_substring.3	Uncommitted	Manual
> Page
> 	/usr/share/man/man3/pcre_get_stringnumber.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_stringtable_entries.3	Uncommitted
> Manual Page
> 	/usr/share/man/man3/pcre_get_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_substring_list.3	Uncommitted	Manual
> Page
> 	/usr/share/man/man3/pcre_info.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_maketables.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_refcount.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_study.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_version.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreapi.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrebuild.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecallout.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecompat.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecpp.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrematching.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrepartial.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrepattern.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreperform.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreposix.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreprecompile.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcresample.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrestack.3		Uncommitted	Manual Page
> 
> 7.	References
> 
> 	[1]	http://www.pcre.org/
> 	[2]	http://www.unix.org/version3/ieee_std.html
> 	[3]	http://www.perl.com/doc/manual/html/pod/perlre.html
> 
> 
=== message truncated ===>
_______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc@opensolaris.org


*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Octave J. Orgeron
Solaris Systems Engineer
http://www.opensolaris.org/os/community/sysadmin/
http://unixconsole.blogspot.com
unixconsole@yahoo.com
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


 
____________________________________________________________________________________
Now that's room service!  Choose from over 150,000 hotels
in 45,000 destinations on Yahoo! Travel to find your fit.
http://farechase.yahoo.com/promo-generic-14795097

From Stefan.Teleman@Sun.COM Wed Mar 21 07:59:51 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LExoM6026622
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 07:59:51 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LExfq7006893;
	Wed, 21 Mar 2007 14:59:48 GMT
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF90080HDNN9N00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 07:59:47 -0700 (PDT)
Received: from jurassic.eng.sun.com ([129.146.58.166])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900MKODNLI0A0@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 07:59:45 -0700 (PDT)
Received: from [192.9.61.55]
 (punchin-client-192-9-61-55.SFBay.Sun.COM [192.9.61.55])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2LExepD341081; Wed,
 21 Mar 2007 07:59:41 -0700 (PDT)
Date: Wed, 21 Mar 2007 10:58:49 -0400
From: Stefan Teleman <Stefan.Teleman@Sun.COM>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <651509.37228.qm@web30812.mail.mud.yahoo.com>
To: Octave Orgeron <unixconsole@yahoo.com>
Cc: Bart Smaalders <bart.smaalders@Sun.COM>, PSARC-EXT@Sun.COM
Reply-to: Stefan Teleman <Stefan.Teleman@Sun.COM>
Message-id: <46014829.6050500@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <651509.37228.qm@web30812.mail.mud.yahoo.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 1037

Octave Orgeron wrote:
> Hi,
> 
> I think this is a great idea to include this. Thank you for suggesting
> that the include files be placed under /usr/include/pcre to help keep
> things nice and clean:) Will this be compiled with the Sun Studio
> compilers? Also, do we need a 64bit version of the libraries? I know
> that most libraries are 32bit. Just thought the question should be
> asked.


64-bit versions of everything which is ARC'ed here are definitely part of the 
plan. If there's a strong feeling (or request) that the 64-bit counterparts 
should be included now, I can do that for this integration. Everything which is 
proposed for integration in all these ARC cases runs in 64-bit quite nicely, 
right now:

http://www.stefanteleman.org/
http://www.stefanteleman.org/server-info
http://www.stefanteleman.org/phpinfo.php
http://www.stefanteleman.org/joomla/

This is my dual-dual-core Opteron rig at home.

Everything is built with Sun Studio 11.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From gsf@research.att.com Wed Mar 21 10:07:02 2007
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LH72Am003095
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 10:07:02 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LH71b5032865;
	Wed, 21 Mar 2007 11:07:01 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900J0DJJP3S00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 10:07:01 -0700 (PDT)
Received: from brmea-mail-3.sun.com ([192.18.98.34])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900DN5JJNFUB0@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 10:07:00 -0700 (PDT)
Received: from relay2.sun.com (relay2.sun.com [150.143.103.24] (may be forged))
	by brmea-mail-3.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l2LH4uQ2015329; Wed,
 21 Mar 2007 17:06:59 +0000 (GMT)
Received: from mms05es.sun.com ([150.143.104.94] [150.143.104.94])
 by relay2.sun.com with ESMTP; Wed, 21 Mar 2007 17:06:59 +0000 (Z)
Received: from relay1.sun.com (relay1.sun.com [150.143.103.14])
 by mms05es.sun.com with ESMTP id BT-MMP-2030131; Wed,
 21 Mar 2007 17:06:59 +0000 (Z)
Received: from mail-red.research.att.com ([192.20.225.110] [192.20.225.110])
 by relay1.sun.com with ESMTP; Wed, 21 Mar 2007 17:06:59 +0000 (Z)
Received: from penguin.research.att.com
 (penguin.research.att.com [135.207.20.192])	by mail-blue.research.att.com
 (Postfix) with ESMTP id E7513147AFA; Wed, 21 Mar 2007 13:06:58 -0400 (EDT)
Received: (from gsf@localhost)	by penguin.research.att.com
 (8.13.1/8.12.10/Submit) id l2LH6wub007829; Wed, 21 Mar 2007 13:06:58 -0400
Date: Wed, 21 Mar 2007 13:06:58 -0400
From: Glenn Fowler <gsf@research.att.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
To: bart.smaalders@sun.com, PSARC-EXT@sun.com
Cc: Stefan.Teleman@sun.com
Message-id: <200703211706.l2LH6wub007829@penguin.research.att.com>
Organization: AT&T Research
MIME-version: 1.0
X-Mailer: mailx (AT&T/BSD) 9.9 2006-04-17
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM>
Status: RO
Content-Length: 530


On Tue, 20 Mar 2007 21:04:06 -0700 Bart Smaalders wrote:
> 	According to PCRE's Home Page, "The PCRE library is a set of
> 	functions that implement regular expression pattern matching
> 	using the same syntax and semantics as Perl 5. PCRE has its own
> 	native API, as well as a set of wrapper functions that correspond
> 	to the POSIX regular expression API." [1] [2]

"POSIX regular expression API" does not mean that the posix veneer
on top of PCRE implements posix REs

-- Glenn Fowler -- AT&T Research, Florham Park NJ --


From gww@eng.sun.com Wed Mar 21 12:11:40 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LJBcnx006741
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 21 Mar 2007 12:11:39 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l2LJBZuR011757
	for <@sunmail3mpk.sfbay.sun.com:PSARC-EXT@Sun.COM>; Thu, 22 Mar 2007 03:11:38 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900611PBBM300@nwk-avmta-2.sfbay.sun.com> for PSARC-EXT@Sun.COM
 (ORCPT PSARC-EXT@Sun.COM); Wed, 21 Mar 2007 12:11:35 -0700 (PDT)
Received: from engmail3mpk.sfbay.Sun.COM ([129.146.11.26])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900LDGPBA02C0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-EXT@Sun.COM (ORCPT PSARC-EXT@Sun.COM); Wed,
 21 Mar 2007 12:11:34 -0700 (PDT)
Received: from marduk.eng.sun.com (marduk.SFBay.Sun.COM [129.146.108.224])
	by engmail3mpk.sfbay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l2LJBXOB019816; Wed, 21 Mar 2007 12:11:33 -0700 (PDT)
Received: from marduk.eng.sun.com (localhost [127.0.0.1])
	by marduk.eng.sun.com (8.13.6+Sun/8.12.11) with ESMTP id l2LKBVn5024597; Wed,
 21 Mar 2007 12:11:32 -0800 (PST)
Received: (from gww@localhost)
	by marduk.eng.sun.com (8.13.6+Sun/8.12.11/Submit) id l2LKBVOv024596; Wed,
 21 Mar 2007 12:11:31 -0800 (PST)
Date: Wed, 21 Mar 2007 12:11:31 -0800 (PST)
From: Gary Winiger <gww@eng.sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
To: Stefan.Teleman@sun.com, unixconsole@yahoo.com
Cc: PSARC-EXT@sun.com, bart.smaalders@sun.com
Message-id: <200703212011.l2LKBVOv024596@marduk.eng.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 455

> 64-bit versions of everything which is ARC'ed here are definitely part of the 
> plan. If there's a strong feeling (or request) that the 64-bit counterparts 
> should be included now, I can do that for this integration. Everything which is 
> proposed for integration in all these ARC cases runs in 64-bit quite nicely, 

	Why shouldn't the /usr/lib/ and /usr/lib/64 versions be part of
	the initial integration.  They are for all ON libraries.

Gary..

From unixconsole@yahoo.com Wed Mar 21 12:14:50 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LJEmdd006781
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 21 Mar 2007 12:14:49 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l2LJEboS012380
	for <@sunmail1brm.central.sun.com:PSARC-EXT@sun.com>; Thu, 22 Mar 2007 03:14:47 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900811PGKH600@brm-avmta-1.central.sun.com> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@Sun.COM); Wed, 21 Mar 2007 13:14:44 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF9004TIPGJHN90@brm-avmta-1.central.sun.com> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@Sun.COM); Wed,
 21 Mar 2007 13:14:44 -0600 (MDT)
Received: from relay21.sun.com
 (relay21.sun.com [192.12.251.14] (may be forged))	by brmea-mail-1.sun.com
 (8.13.6+Sun/8.12.9) with ESMTP id l2LJEhqR013546	for <PSARC-EXT@Sun.COM>; Wed,
 21 Mar 2007 19:14:43 +0000 (GMT)
Received: from mms24es.sun.com ([150.143.232.74] [150.143.232.74])
 by relay21.sun.com with ESMTP for PSARC-EXT@Sun.COM; Wed,
 21 Mar 2007 19:14:43 +0000 (Z)
Received: from mms24bas.mms.us.syntegra.com
 (mms24bas.mms.us.syntegra.com [192.12.251.70]) by mms24es.sun.com with ESMTP
 id BT-MMP-2085330 for PSARC-EXT@Sun.COM; Wed, 21 Mar 2007 19:14:43 +0000 (Z)
Received: from web30801.mail.mud.yahoo.com ([68.142.200.144] [68.142.200.144])
 by relay24.sun.com for PSARC-EXT@Sun.COM; Wed, 21 Mar 2007 19:14:43 +0000 (Z)
Received: (qmail 97763 invoked by uid 60001); Wed, 21 Mar 2007 19:14:42 +0000
Received: from [71.2.179.191] by web30801.mail.mud.yahoo.com via HTTP; Wed,
 21 Mar 2007 12:14:42 -0700 (PDT)
Date: Wed, 21 Mar 2007 12:14:42 -0700 (PDT)
From: Octave Orgeron <unixconsole@yahoo.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <200703212011.l2LKBVOv024596@marduk.eng.sun.com>
To: Gary Winiger <gww@eng.sun.com>, Stefan.Teleman@sun.com
Cc: PSARC-EXT@sun.com, bart.smaalders@sun.com
Message-id: <443309.96411.qm@web30801.mail.mud.yahoo.com>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7BIT
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;  s=s1024; d=yahoo.com;
 h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID;
 b=4q892F9srhYJT2YtVIrHmm4TyUWLETEJgkZFzWUJlem5A5oNV5b3xSBPEMI6pBMPVbMVpXf3+bmHUSUDLsmhep4sLVv0kLi8J1Oci/Ve+Q3b4U0as06GdTRhFtzRXFK/4lIcLZQ+9RaPvPR/1mH2XQUe2oKyvStQKexRODb1jH0=;
X-PMX-Version: 5.2.0.264296
X-YMail-OSG: 
 bRkhkPsVM1ktkwbiQIidj5s7KXHFkniBDhUro6kME2CzqegK4oqXmriO7knbC71HCZO9jJiJiGBzKiWDkExNvxObe7P_TCnVztkb1CgrUkCf6J8b.0E0ebFxVB3VbdM9FhhoMSw.jfsonUtp9YLQ6ajfoDRHQzQLIaHmGmLVFCbIbjf5KlyOtr03xA--
Status: RO
Content-Length: 1109

Yeah, at this point I think the 64bit components should be delivered
with the web stack PSARC's that are on the table.

--- Gary Winiger <gww@eng.sun.com> wrote:

> > 64-bit versions of everything which is ARC'ed here are definitely
> part of the 
> > plan. If there's a strong feeling (or request) that the 64-bit
> counterparts 
> > should be included now, I can do that for this integration.
> Everything which is 
> > proposed for integration in all these ARC cases runs in 64-bit
> quite nicely, 
> 
> 	Why shouldn't the /usr/lib/ and /usr/lib/64 versions be part of
> 	the initial integration.  They are for all ON libraries.
> 
> Gary..
> 


*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Octave J. Orgeron
Solaris Systems Engineer
http://www.opensolaris.org/os/community/sysadmin/
http://unixconsole.blogspot.com
unixconsole@yahoo.com
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


 
____________________________________________________________________________________
No need to miss a message. Get email on-the-go 
with Yahoo! Mail for Mobile. Get started.
http://mobile.yahoo.com/mail 

From jek3@sun.com Wed Mar 21 14:05:08 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LL576w008778
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 21 Mar 2007 14:05:07 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l2LL4pKG014500;
	Thu, 22 Mar 2007 05:05:03 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900C09UKA5B00@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 15:04:58 -0600 (MDT)
Received: from jurassic-x4600.Eng.Sun.COM ([129.146.17.59])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900BTXUKA6D30@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 15:04:58 -0600 (MDT)
Received: from [129.150.12.53]
 (vpn-129-150-12-53.SFBay.Sun.COM [129.150.12.53])	by
 jurassic-x4600.Eng.Sun.COM (8.14.0+Sun/8.14.0) with ESMTP id l2LL4koq409801;
 Wed, 21 Mar 2007 14:04:50 -0700 (PDT)
Date: Wed, 21 Mar 2007 11:04:40 -1000
From: Joseph Kowalski <jek3@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4600AEB6.2040303@Sun.COM>
To: Bart Smaalders <bart.smaalders@sun.com>
Cc: PSARC-EXT@sun.com, Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <46019DE8.9040203@sun.com>
MIME-version: 1.0
Content-type: multipart/alternative;
 boundary="Boundary_(ID_Gr7SEOhcdIQ+WLHxRq5bBQ)"
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM>
User-Agent: Thunderbird 1.5.0.5 (X11/20060925)
Status: RO
Content-Length: 91749

This is a multi-part message in MIME format.

--Boundary_(ID_Gr7SEOhcdIQ+WLHxRq5bBQ)
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: quoted-printable


See in line comments.

Bart Smaalders wrote:
> I'm sponsoring the attached fast-track for Stefan Teleman.
> The requested binding is patch/micro release, and the
> stability levels are as noted in the document.
>
> Materials are in the case directory.
>
> This case times out on 3/28/2007.
>
> - Bart
>
> -----------------------------------------------------------------------=
-
>
> Including PCRE with Solaris
>
> Stefan Teleman <Stefan.Teleman@Sun.COM>
> 15 March 2007
>
> 1.	Summary and motivation
>
> 	The inclusion of PHP5 has created a number of external library
> 	dependency requirements. One of these dependencies is PCRE
> 	[Perl-Compatible Regular Expressions] [1] [3].
>
> 	According to PCRE's Home Page, "The PCRE library is a set of
> 	functions that implement regular expression pattern matching
> 	using the same syntax and semantics as Perl 5. PCRE has its own
> 	native API, as well as a set of wrapper functions that correspond
> 	to the POSIX regular expression API." [1] [2]
>
> 	PCRE is used by many open source projects, including Apache, PHP,
> 	KDE, Postfix, Nmap, etc. The inclusion of PCRE in Solaris would
> 	facilitate the integration of other open source projects depending
> 	on PCRE. PCRE was originally written by Philip Hazel at Cambridge
> 	University, UK.
>
> 	This FastTrack case proposes the integration of PCRE in Solaris.
>
> 	PCRE is an Open Source project, and is developed outside of SMI.
> 	As such, the SFW Consolidation is the natural choice for PCRE
> 	integration.
>
> 	This case seeks Micro/Patch Release Binding.
>
> 2.	Technical issues
>
> 	2.1.	Key objects.
>
> 	/usr/bin/pcregrep
> 	/usr/bin/pcretest
> 	/usr/bin/pcre-config
>
> 	/usr/lib/libpcre.so.0.0.1
> 	/usr/lib/libpcre.so.0 -> libpcre.so.0.0.1
> 	/usr/lib/libpcre.so -> libpcre.so.0.0.1
>
> 	/usr/lib/libpcrecpp.so.0.0.0
> 	/usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
> 	/usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0
>
> 	/usr/lib/libpcreposix.so.0.0.0
> 	/usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
> 	/usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0
>  =20
What is the point of the multi-version names?

I believe ld=20
will                                                                     =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                                                                         =
                        =20
I think ld will bind to multi-version name.  I don't think you want to=20
do this
on Solaris.
> 	/usr/include/pcre/pcre.h
> 	/usr/include/pcre/pcre_scanner.h
> 	/usr/include/pcre/pcre_stringpiece.h
> 	/usr/include/pcre/pcrecpp.h
> 	/usr/include/pcre/pcrecpparg.h
> 	/usr/include/pcre/pcreposix.h
>
> 	The original PCRE implementation installs header files under the
> 	${PREFIX}/include location. For the purpose of Solaris integration,
> 	we propose to change the default header file installation location
> 	to /usr/include/pcre/*.h. The motivation for this change is avoidance
> 	of namespace pollution in /usr/include.
>
> 	/usr/share/man/man1/pcregrep.1
> 	/usr/share/man/man1/pcretest.1
> 	/usr/share/man/man3/pcre.3
>
> 	2.2.	Functionality
>
> 	PCRE implements library calls allowing Perl-like regular expression
> 	pattern matching from within C or C++. Prior to PCRE, Perl-compatible
> 	regular expressions and pattern matching were not available outside
> 	of Perl itself.
>
> 	PCRE's core functionality is provided by two executables [pcregrep
> 	and pcretest] and three shared libraries: libpcre.so.0.0.1,
> 	libpcrecpp.so.0.0.0 and libpcreposix.so.0.0.0.
>
> 	Key aspecs of PCRE's functionality are discussed below.
>
> 	pcregrep is a variant of grep which supports Perl-compatible re's.
>
> 	pcretest is a test harness program. It enables testing of RE pattern
> 	matching, without having to recompile a program.
>
> 	libpcre.so.0.0.1 implements the Perl-Compatible portion of PCRE. Perl
> 	Regular Expressions [perlre] are an implementation of Kleene Algebra
> 	applied to free text. Perl RE's differ from traditional UNIX RE or
> 	POSIX RE in their pattern matching syntax, by adding significantly
> 	more operators and operator modifiers to their algebra. PERL RE's
> 	inherit from UNIX and POSIX RE.
>
> 	libpcreposix.so.0.0.0 implements the POSIX-Compatible portion of PCRE.=

> 	POSIX RE's extend the UNIX RE operator set, and simplify somewhat
> 	pattern matching syntax rules.
>
> 	libpcrecpp.so.0.0.0 is the C++ wrapper library around libpcre.so.0.0.1=

> 	and libpcreposix.so.0.0.0. libpcrecpp.so implements two Classes:
> 	class RE and class RE_Options. These classes do not implement any
> 	additional functionality than what is provided by libpcre.so.0.0.1
> 	and libpcreposix.so.0.0.0.
>
> 3.	Interfaces
>
> 	3.1.	Interface Stability
>
> 	PCRE is an Open Source project [1], developed and maintained external
> 	to SMI. PCRE makes no promises or guarantees about API or ABI
> 	compatibility between releases. Moreover, there have been several
> 	known cases of ABI breakage between different PCRE releases.
>
> 	3.2.	Imported interfaces
>
> 	libpcre.so.0.0.1 and libpcreposix.so.0.0.0 imports Standard C Library
> 	Interfaces. libpcrecpp.so.0.0.0 imports Standard C++ Library
> 	Interfaces, and depends on libCrun.so.1 and libCstd.so.1. No network
> 	library interfaces, or any other Solaris interfaces, are used by PCRE.=

>
> 	NAME			STABILITY		NOTES
>
> 	C++ 5.3			Committed		LSARC/2001/284
>
> 	3.3.	Exported interfaces
>
> 	NAME			STABILITY		NOTES
>
> 	SUNWpcre		Uncommitted		Package name
>
> 	/usr/bin/pcregrep	Uncommitted		Executable location
> 	/usr/bin/pcretest	Uncommitted		Executable location
>
> 	/usr/lib/libpcre.so.0.0.1	Uncommitted	Shared library
> 	/usr/lib/libpcre.so.0		Uncommitted	Symbolic link
> 	/usr/lib/libpcre.so		Uncommitted	Symbolic link
>
> 	/usr/lib/libpcreposix.so.0.0.0	Uncommitted	Shared library
> 	/usr/lib/libpcreposix.so.0	Uncommitted	Symbolic link
> 	/usr/lib/libpcre.so		Uncommitted	Symbolic link
>
> 	/usr/lib/libpcrecpp.so.0.0.0	Uncommitted	Shared library
> 	/usr/lib/libpcrecpp.so.0	Uncommitted	Symbolic link
> 	/usr/lib/libpcrecpp.so		Uncommitted	Symbolic link
>
> 	/usr/share/man/man1/pcregrep.1	Uncommitted	Manual Page
> 	/usr/share/man/man1/pcretest.1	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_compile.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_compile2.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_config.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_copy_named_substring.3		Uncommitted	Manual Pa=
ge
> 	/usr/share/man/man3/pcre_copy_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_dfa_exec.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_exec.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_free_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_free_substring_list.3	Uncommitted	Manual Page=

> 	/usr/share/man/man3/pcre_fullinfo.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_named_substring.3	Uncommitted	Manual Page=

> 	/usr/share/man/man3/pcre_get_stringnumber.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_stringtable_entries.3	Uncommitted	Manual =
Page
> 	/usr/share/man/man3/pcre_get_substring.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_get_substring_list.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_info.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_maketables.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_refcount.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_study.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcre_version.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreapi.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrebuild.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecallout.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecompat.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrecpp.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrematching.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrepartial.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrepattern.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreperform.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreposix.3		Uncommitted	Manual Page
> 	/usr/share/man/man3/pcreprecompile.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcresample.3	Uncommitted	Manual Page
> 	/usr/share/man/man3/pcrestack.3		Uncommitted	Manual Page
>  =20
Two things here...

By Solaris conventions, shouldn't these all be in man3pcre (or something =

like that)?

Its a bit strange to see the actual man page in an interface table.  Can =

I read this as
that the interface defined on this page is what is being declared=20
Uncommitted?

> 7.	References
>
> 	[1]	http://www.pcre.org/
> 	[2]	http://www.unix.org/version3/ieee_std.html
> 	[3]	http://www.perl.com/doc/manual/html/pod/perlre.html
>
>  =20


--Boundary_(ID_Gr7SEOhcdIQ+WLHxRq5bBQ)
Content-type: text/html; charset=ISO-8859-1
Content-transfer-encoding: 7BIT

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
See in line comments.<br>
<br>
Bart Smaalders wrote:
<blockquote cite="mid4600AEB6.2040303@Sun.COM" type="cite">I'm
sponsoring the attached fast-track for Stefan Teleman.
  <br>
The requested binding is patch/micro release, and the
  <br>
stability levels are as noted in the document.
  <br>
  <br>
Materials are in the case directory.
  <br>
  <br>
This case times out on 3/28/2007.
  <br>
  <br>
- Bart
  <br>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
Including PCRE with Solaris

Stefan Teleman <a class="moz-txt-link-rfc2396E" href="mailto:Stefan.Teleman@Sun.COM">&lt;Stefan.Teleman@Sun.COM&gt;</a>
15 March 2007

1.	Summary and motivation

	The inclusion of PHP5 has created a number of external library
	dependency requirements. One of these dependencies is PCRE
	[Perl-Compatible Regular Expressions] [1] [3].

	According to PCRE's Home Page, "The PCRE library is a set of
	functions that implement regular expression pattern matching
	using the same syntax and semantics as Perl 5. PCRE has its own
	native API, as well as a set of wrapper functions that correspond
	to the POSIX regular expression API." [1] [2]

	PCRE is used by many open source projects, including Apache, PHP,
	KDE, Postfix, Nmap, etc. The inclusion of PCRE in Solaris would
	facilitate the integration of other open source projects depending
	on PCRE. PCRE was originally written by Philip Hazel at Cambridge
	University, UK.

	This FastTrack case proposes the integration of PCRE in Solaris.

	PCRE is an Open Source project, and is developed outside of SMI.
	As such, the SFW Consolidation is the natural choice for PCRE
	integration.

	This case seeks Micro/Patch Release Binding.

2.	Technical issues

	2.1.	Key objects.

	/usr/bin/pcregrep
	/usr/bin/pcretest
	/usr/bin/pcre-config

	/usr/lib/libpcre.so.0.0.1
	/usr/lib/libpcre.so.0 -&gt; libpcre.so.0.0.1
	/usr/lib/libpcre.so -&gt; libpcre.so.0.0.1

	/usr/lib/libpcrecpp.so.0.0.0
	/usr/lib/libpcrecpp.so.0 -&gt; libpcrecpp.so.0.0.0
	/usr/lib/libpcrecpp.so -&gt; libpcrecpp.so.0.0.0

	/usr/lib/libpcreposix.so.0.0.0
	/usr/lib/libpcreposix.so.0 -&gt; libpcreposix.so.0.0.0
	/usr/lib/libpcreposix.so -&gt; libpcreposix.so.0.0.0
  </pre>
</blockquote>
What is the point of the multi-version names?<br>
<br>
I believe ld
will&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
I think ld will bind to multi-version name.&nbsp; I don't think you want to
do this<br>
on Solaris.<br>
<blockquote cite="mid4600AEB6.2040303@Sun.COM" type="cite">
  <pre wrap="">	/usr/include/pcre/pcre.h
	/usr/include/pcre/pcre_scanner.h
	/usr/include/pcre/pcre_stringpiece.h
	/usr/include/pcre/pcrecpp.h
	/usr/include/pcre/pcrecpparg.h
	/usr/include/pcre/pcreposix.h

	The original PCRE implementation installs header files under the
	${PREFIX}/include location. For the purpose of Solaris integration,
	we propose to change the default header file installation location
	to /usr/include/pcre/*.h. The motivation for this change is avoidance
	of namespace pollution in /usr/include.

	/usr/share/man/man1/pcregrep.1
	/usr/share/man/man1/pcretest.1
	/usr/share/man/man3/pcre.3

	2.2.	Functionality

	PCRE implements library calls allowing Perl-like regular expression
	pattern matching from within C or C++. Prior to PCRE, Perl-compatible
	regular expressions and pattern matching were not available outside
	of Perl itself.

	PCRE's core functionality is provided by two executables [pcregrep
	and pcretest] and three shared libraries: libpcre.so.0.0.1,
	libpcrecpp.so.0.0.0 and libpcreposix.so.0.0.0.

	Key aspecs of PCRE's functionality are discussed below.

	pcregrep is a variant of grep which supports Perl-compatible re's.

	pcretest is a test harness program. It enables testing of RE pattern
	matching, without having to recompile a program.

	libpcre.so.0.0.1 implements the Perl-Compatible portion of PCRE. Perl
	Regular Expressions [perlre] are an implementation of Kleene Algebra
	applied to free text. Perl RE's differ from traditional UNIX RE or
	POSIX RE in their pattern matching syntax, by adding significantly
	more operators and operator modifiers to their algebra. PERL RE's
	inherit from UNIX and POSIX RE.

	libpcreposix.so.0.0.0 implements the POSIX-Compatible portion of PCRE.
	POSIX RE's extend the UNIX RE operator set, and simplify somewhat
	pattern matching syntax rules.

	libpcrecpp.so.0.0.0 is the C++ wrapper library around libpcre.so.0.0.1
	and libpcreposix.so.0.0.0. libpcrecpp.so implements two Classes:
	class RE and class RE_Options. These classes do not implement any
	additional functionality than what is provided by libpcre.so.0.0.1
	and libpcreposix.so.0.0.0.

3.	Interfaces

	3.1.	Interface Stability

	PCRE is an Open Source project [1], developed and maintained external
	to SMI. PCRE makes no promises or guarantees about API or ABI
	compatibility between releases. Moreover, there have been several
	known cases of ABI breakage between different PCRE releases.

	3.2.	Imported interfaces

	libpcre.so.0.0.1 and libpcreposix.so.0.0.0 imports Standard C Library
	Interfaces. libpcrecpp.so.0.0.0 imports Standard C++ Library
	Interfaces, and depends on libCrun.so.1 and libCstd.so.1. No network
	library interfaces, or any other Solaris interfaces, are used by PCRE.

	NAME			STABILITY		NOTES

	C++ 5.3			Committed		LSARC/2001/284

	3.3.	Exported interfaces

	NAME			STABILITY		NOTES

	SUNWpcre		Uncommitted		Package name

	/usr/bin/pcregrep	Uncommitted		Executable location
	/usr/bin/pcretest	Uncommitted		Executable location

	/usr/lib/libpcre.so.0.0.1	Uncommitted	Shared library
	/usr/lib/libpcre.so.0		Uncommitted	Symbolic link
	/usr/lib/libpcre.so		Uncommitted	Symbolic link

	/usr/lib/libpcreposix.so.0.0.0	Uncommitted	Shared library
	/usr/lib/libpcreposix.so.0	Uncommitted	Symbolic link
	/usr/lib/libpcre.so		Uncommitted	Symbolic link

	/usr/lib/libpcrecpp.so.0.0.0	Uncommitted	Shared library
	/usr/lib/libpcrecpp.so.0	Uncommitted	Symbolic link
	/usr/lib/libpcrecpp.so		Uncommitted	Symbolic link

	/usr/share/man/man1/pcregrep.1	Uncommitted	Manual Page
	/usr/share/man/man1/pcretest.1	Uncommitted	Manual Page
	/usr/share/man/man3/pcre.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_compile.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_compile2.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_config.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_copy_named_substring.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_copy_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_dfa_exec.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_exec.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_free_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_free_substring_list.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_fullinfo.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_named_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_stringnumber.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_stringtable_entries.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_substring.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_get_substring_list.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_info.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcre_maketables.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_refcount.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_study.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcre_version.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreapi.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrebuild.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrecallout.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrecompat.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrecpp.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcrematching.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrepartial.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrepattern.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreperform.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcreposix.3		Uncommitted	Manual Page
	/usr/share/man/man3/pcreprecompile.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcresample.3	Uncommitted	Manual Page
	/usr/share/man/man3/pcrestack.3		Uncommitted	Manual Page
  </pre>
</blockquote>
Two things here...<br>
<br>
By Solaris conventions, shouldn't these all be in man3pcre (or
something like that)?<br>
<br>
Its a bit strange to see the actual man page in an interface table.&nbsp;
Can I read this as<br>
that the interface defined on this page is what is being declared
Uncommitted?<br>
<br>
<blockquote cite="mid4600AEB6.2040303@Sun.COM" type="cite">
  <pre wrap="">7.	References

	[1]	<a class="moz-txt-link-freetext" href="http://www.pcre.org/">http://www.pcre.org/</a>
	[2]	<a class="moz-txt-link-freetext" href="http://www.unix.org/version3/ieee_std.html">http://www.unix.org/version3/ieee_std.html</a>
	[3]	<a class="moz-txt-link-freetext" href="http://www.perl.com/doc/manual/html/pod/perlre.html">http://www.perl.com/doc/manual/html/pod/perlre.html</a>

  </pre>
</blockquote>
<br>
</body>
</html>

--Boundary_(ID_Gr7SEOhcdIQ+WLHxRq5bBQ)--

From Stefan.Teleman@sun.com Wed Mar 21 14:26:07 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LLQ6lW009343
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 14:26:07 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LLQ0aB014401;
	Wed, 21 Mar 2007 21:26:04 GMT
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900K0TVJEHJ00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 14:26:02 -0700 (PDT)
Received: from jurassic.eng.sun.com ([129.146.106.31])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900AQYVJDGU40@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 21 Mar 2007 14:26:01 -0700 (PDT)
Received: from [192.9.61.55]
 (punchin-client-192-9-61-55.SFBay.Sun.COM [192.9.61.55])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2LLPbbo391709; Wed,
 21 Mar 2007 14:25:37 -0700 (PDT)
Date: Wed, 21 Mar 2007 17:24:45 -0400
From: Stefan Teleman <Stefan.Teleman@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <46019DE8.9040203@sun.com>
To: Joseph Kowalski <jek3@sun.com>
Cc: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Reply-to: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <4601A29D.7000405@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 12879



Joseph Kowalski wrote:
> 
> See in line comments.
> 

>>     /usr/lib/libpcre.so.0.0.1
>>     /usr/lib/libpcre.so.0 -> libpcre.so.0.0.1
>>     /usr/lib/libpcre.so -> libpcre.so.0.0.1
>>
>>     /usr/lib/libpcrecpp.so.0.0.0
>>     /usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
>>     /usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0
>>
>>     /usr/lib/libpcreposix.so.0.0.0
>>     /usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
>>     /usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0
>>   
> What is the point of the multi-version names?
>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
> I think ld will bind to multi-version name.  I don't think you want to 
> do this
> on Solaris.

i think ld will bind to -h'$(SONAME)' which is set in the Makefiles created by 
./configure. in pcre's particular case, (and generally for open source software 
which is into the bad habit of using libtool), the SONAME is usually set to 
<library-name>.so.0.

this can be changed in ./configure but:

- it is a lot of work to change ./configure and configure.in.
- it creates again a fork with patches which won't be accepted upstream
- it will break 3rd party applications which still use libtool (and the *.la 
files), and which expect to find this collection of symlinks, and naming 
convention for shared libs.

On the bright side of things, we got rid of the *.la files.

>>     /usr/share/man/man3/pcrestack.3        Uncommitted    Manual Page
>>   
> Two things here...
> 
> By Solaris conventions, shouldn't these all be in man3pcre (or something 
> like that)?

They could be there (this is a verbatim description of the man documentation as 
provided by PCRE). This would mean that LibGD2 would need to have its own man 
section, CURL will also have its own man section, etc.

> Its a bit strange to see the actual man page in an interface table.  Can 
> I read this as
> that the interface defined on this page is what is being declared 
> Uncommitted?

The interfaces being declared are indeed Uncommitted, and so are the man pages 
associated with them (unfortunately). If PCRE decides (in some future release we 
might be interested in) to remove pcreposix and its corresponding man page, and 
replace it with pcrerealposix (for example) and its corresponding man page, then 
this change will have to be reflected in the man pages (if we consider that man 
pages are a form of interface).

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From jek3@sun.com Wed Mar 21 15:33:19 2007
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LMXJeL013775
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 15:33:19 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LMXH7e029321;
	Wed, 21 Mar 2007 16:33:18 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900F1DYNIN300@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 16:33:18 -0600 (MDT)
Received: from jurassic-x4600.Eng.Sun.COM ([129.146.17.59])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900B5KYNH6EA0@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 16:33:18 -0600 (MDT)
Received: from [129.150.12.53]
 (vpn-129-150-12-53.SFBay.Sun.COM [129.150.12.53])	by
 jurassic-x4600.Eng.Sun.COM (8.14.0+Sun/8.14.0) with ESMTP id l2LMXHtR425657;
 Wed, 21 Mar 2007 15:33:17 -0700 (PDT)
Date: Wed, 21 Mar 2007 12:33:11 -1000
From: Joseph Kowalski <jek3@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4601A29D.7000405@Sun.COM>
To: Stefan Teleman <Stefan.Teleman@sun.com>
Cc: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Message-id: <4601B2A7.1090705@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM>
User-Agent: Thunderbird 1.5.0.5 (X11/20060925)
Status: RO
Content-Length: 2673

Stefan Teleman wrote:
>> What is the point of the multi-version names?
>> I think ld will bind to multi-version name.  I don't think you want 
>> to do this
>> on Solaris.
>
> i think ld will bind to -h'$(SONAME)' which is set in the Makefiles 
> created by ./configure. in pcre's particular case, (and generally for 
> open source software which is into the bad habit of using libtool), 
> the SONAME is usually set to <library-name>.so.0.
>
> this can be changed in ./configure but:
>
> - it is a lot of work to change ./configure and configure.in.
> - it creates again a fork with patches which won't be accepted upstream
> - it will break 3rd party applications which still use libtool (and 
> the *.la files), and which expect to find this collection of symlinks, 
> and naming convention for shared libs.
>
> On the bright side of things, we got rid of the *.la files.
OK,... I'm mush less worried (SONAME), but the question still stands: 
"What is the point of the multi-version name?" Is this just "additional 
information to the developer"?  If so, shouldn't it be Volatile so we 
can change it at any time?
>>>     /usr/share/man/man3/pcrestack.3        Uncommitted    Manual Page
>>>   
>> Two things here...
>>
>> By Solaris conventions, shouldn't these all be in man3pcre (or 
>> something like that)?
>
> They could be there (this is a verbatim description of the man 
> documentation as provided by PCRE). This would mean that LibGD2 would 
> need to have its own man section, CURL will also have its own man 
> section, etc.
Yep.  Looked in /usr/man lately?  This is what our documentation people 
wanted and PSARC approved (I forget the case number).  I think I 
abstained from that case, because I disagreed, but it didn't seem 
important enough to make an issue out of. I really think you need to 
adhere to this convention.

>> Its a bit strange to see the actual man page in an interface table.  
>> Can I read this as
>> that the interface defined on this page is what is being declared 
>> Uncommitted?
>
> The interfaces being declared are indeed Uncommitted, and so are the 
> man pages associated with them (unfortunately). If PCRE decides (in 
> some future release we might be interested in) to remove pcreposix and 
> its corresponding man page, and replace it with pcrerealposix (for 
> example) and its corresponding man page, then this change will have to 
> be reflected in the man pages (if we consider that man pages are a 
> form of interface).
OK.  I could pink nits about the man page itself needing a commitment.  
The important thing is that the interface itself has a commitment.  I'm 
good.  Thanks for the clarification.

- jek3


From alan.coopersmith@Sun.COM Wed Mar 21 15:41:52 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LMfp0R014164
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 15:41:51 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LMfKBI004124;
	Wed, 21 Mar 2007 22:41:49 GMT
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900G03Z1NIU00@nwk-avmta-2.sfbay.sun.com>; Wed,
 21 Mar 2007 15:41:47 -0700 (PDT)
Received: from sfbaymail1sca.SFBay.Sun.COM ([129.145.154.35])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF9008D5Z1NUK80@nwk-avmta-2.sfbay.sun.com>; Wed,
 21 Mar 2007 15:41:47 -0700 (PDT)
Received: from [129.146.108.211] (almas.SFBay.Sun.COM [129.146.108.211])
	by sfbaymail1sca.SFBay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l2LMfkmn023327; Wed, 21 Mar 2007 15:41:46 -0700 (PDT)
Date: Wed, 21 Mar 2007 15:41:46 -0700
From: Alan Coopersmith <alan.coopersmith@Sun.COM>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4601A29D.7000405@Sun.COM>
To: Stefan Teleman <Stefan.Teleman@Sun.COM>
Cc: Joseph Kowalski <jek3@Sun.COM>, Bart Smaalders <bart.smaalders@Sun.COM>,
        PSARC-EXT@Sun.COM
Message-id: <4601B4AA.4080204@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM>
User-Agent: Thunderbird 2.0pre (X11/20070214)
Status: RO
Content-Length: 786

Stefan Teleman wrote:
> this can be changed in ./configure but:
> 
> - it is a lot of work to change ./configure and configure.in.
> - it creates again a fork with patches which won't be accepted upstream
> - it will break 3rd party applications which still use libtool (and the 
> *.la files), and which expect to find this collection of symlinks, and 
> naming convention for shared libs.

With the Xorg libraries built using libtool we allow the configure/build to
generate the .so.x.y.z libraries, but the package prototypes only include
the .so.x paths in the packages.   *.la files are deleted on sight during
the build, as they serve only to introduce more bugs.

-- 
	-Alan Coopersmith-           alan.coopersmith@sun.com
	 Sun Microsystems, Inc. - X Window System Engineering


From Stefan.Teleman@sun.com Wed Mar 21 15:47:00 2007
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2LMl0MT014474
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 21 Mar 2007 15:47:00 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2LMkvoK016122;
	Wed, 21 Mar 2007 15:46:59 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JF900G01ZAB5900@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 16:46:59 -0600 (MDT)
Received: from jurassic.eng.sun.com ([129.146.17.55])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JF900B2KZAA6DE0@brm-avmta-1.central.sun.com>; Wed,
 21 Mar 2007 16:46:58 -0600 (MDT)
Received: from [192.9.61.55]
 (punchin-client-192-9-61-55.SFBay.Sun.COM [192.9.61.55])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2LMkl1r400211; Wed,
 21 Mar 2007 15:46:47 -0700 (PDT)
Date: Wed, 21 Mar 2007 18:45:46 -0400
From: Stefan Teleman <Stefan.Teleman@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4601B4AA.4080204@sun.com>
To: Alan Coopersmith <alan.coopersmith@sun.com>
Cc: Joseph Kowalski <jek3@sun.com>, Bart Smaalders <bart.smaalders@sun.com>,
        PSARC-EXT@sun.com
Reply-to: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <4601B59A.4090700@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM> <4601B4AA.4080204@sun.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 1093



Alan Coopersmith wrote:

> With the Xorg libraries built using libtool we allow the configure/build to
> generate the .so.x.y.z libraries, but the package prototypes only include
> the .so.x paths in the packages.   *.la files are deleted on sight during
> the build, as they serve only to introduce more bugs.

I already got rid of the *.la files for all these packages.

The problem is that this does not always work. There is another evil contraption 
called libltdl. This is either a shared library, or a static library which 
exists as a private copy inside a given package, and which gets linked in 
statically in these package shared libs.

libltdl parses the *.la files to dlopen() shared objects (ImageMagick and 
GraphicsMagick do this) -- which is the explanation for the abundant information 
contained in the *.la files. If the *.la files don't exist, libltdl will 
pronounce that the shared module doesn't exist, when in fact it is there.

So, for some packages, the *.la files can't be disposed of.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From alan.coopersmith@sun.com Thu Mar 22 14:36:50 2007
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2MLaoGM018898
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 22 Mar 2007 14:36:50 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2MLan65010867
	for <@sunmail2sca.sfbay.sun.com:PSARC-EXT@sun.com>; Thu, 22 Mar 2007 15:36:50 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFB00201QPDTI00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@sun.com); Thu, 22 Mar 2007 14:36:49 -0700 (PDT)
Received: from sfbaymail1sca.SFBay.Sun.COM ([129.145.154.35])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFB00BQJQPD7F80@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Thu,
 22 Mar 2007 14:36:49 -0700 (PDT)
Received: from [129.146.108.211] (almas.SFBay.Sun.COM [129.146.108.211])
	by sfbaymail1sca.SFBay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l2MLamWx024798; Thu, 22 Mar 2007 14:36:48 -0700 (PDT)
Date: Thu, 22 Mar 2007 14:36:48 -0700
From: Alan Coopersmith <alan.coopersmith@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4600AEB6.2040303@Sun.COM>
To: Bart Smaalders <bart.smaalders@sun.com>
Cc: PSARC-EXT@sun.com, Stefan Teleman <Stefan.Teleman@sun.com>,
        Rod Evans <Rod.Evans@sun.com>
Message-id: <4602F6F0.2090103@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM>
User-Agent: Thunderbird 2.0pre (X11/20070214)
Status: RO
Content-Length: 395

Don't the POSIX regex API's in libpcreposix clash with the POSIX
regex API's in libc?   Is libpcreposix intended to be an interposer
over the libc versions?    If a library linked to libpcreposix is
loaded into an application using the POSIX regex API's from libc
will it break?

-- 
	-Alan Coopersmith-           alan.coopersmith@sun.com
	 Sun Microsystems, Inc. - X Window System Engineering


From Stefan.Teleman@Sun.COM Thu Mar 22 15:31:46 2007
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2MMVkt1020579
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 22 Mar 2007 15:31:46 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2MMVj96013600;
	Thu, 22 Mar 2007 15:31:45 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFB00E07T8VGG00@nwk-avmta-2.sfbay.sun.com>; Thu,
 22 Mar 2007 15:31:43 -0700 (PDT)
Received: from jurassic.eng.sun.com ([129.146.226.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFB00B7ET8UD040@nwk-avmta-2.sfbay.sun.com>; Thu,
 22 Mar 2007 15:31:42 -0700 (PDT)
Received: from [192.9.61.55]
 (punchin-client-192-9-61-55.SFBay.Sun.COM [192.9.61.55])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2MMVVEG598912; Thu,
 22 Mar 2007 15:31:32 -0700 (PDT)
Date: Thu, 22 Mar 2007 18:30:40 -0400
From: Stefan Teleman <Stefan.Teleman@Sun.COM>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4602F6F0.2090103@sun.com>
To: Alan Coopersmith <alan.coopersmith@Sun.COM>
Cc: Bart Smaalders <bart.smaalders@Sun.COM>, PSARC-EXT@Sun.COM,
        Rod Evans <Rod.Evans@Sun.COM>
Reply-to: Stefan Teleman <Stefan.Teleman@Sun.COM>
Message-id: <46030390.50608@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <4602F6F0.2090103@sun.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 576

Alan Coopersmith wrote:
> Don't the POSIX regex API's in libpcreposix clash with the POSIX
> regex API's in libc?   Is libpcreposix intended to be an interposer
> over the libc versions?    If a library linked to libpcreposix is
> loaded into an application using the POSIX regex API's from libc
> will it break?

Yes, this is a problem, unless the order in which libraries are passed to ld at 
link time is relevant to the order in which symbols are bound at run time. AFAIK 
that is not the case.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From jek3@Sun.COM Mon Mar 26 13:01:01 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2QK10PP022819
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 26 Mar 2007 13:01:00 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2QK0tKd011421;
	Mon, 26 Mar 2007 21:00:57 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFJ00A0F0XJ9800@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 13:00:55 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com ([129.146.17.59])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFJ004ZY0XJG430@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 13:00:55 -0700 (PDT)
Received: from [129.150.12.53]
 (vpn-129-150-12-53.SFBay.Sun.COM [129.150.12.53])	by
 jurassic-x4600.sfbay.sun.com (8.14.0+Sun/8.14.0) with ESMTP id l2QK0oYN233015;
 Mon, 26 Mar 2007 13:00:51 -0700 (PDT)
Date: Mon, 26 Mar 2007 10:00:33 -1000
From: Joseph Kowalski <jek3@Sun.COM>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <4601B2A7.1090705@sun.com>
To: Joseph Kowalski <jek3@Sun.COM>
Cc: Stefan Teleman <Stefan.Teleman@Sun.COM>,
        Bart Smaalders <bart.smaalders@Sun.COM>, PSARC-EXT@Sun.COM
Message-id: <46082661.4010905@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM> <4601B2A7.1090705@sun.com>
User-Agent: Thunderbird 1.5.0.5 (X11/20060925)
Status: RO
Content-Length: 1564


Dispite all the discussion about 168 and 169, I'm hopeful we can close 
164-167 fairly easily.

I have an outstanding question I'd like to see answered.


Joseph Kowalski wrote:
> Stefan Teleman wrote:
>>> What is the point of the multi-version names?
>>> I think ld will bind to multi-version name.  I don't think you want 
>>> to do this
>>> on Solaris.
>>
>> i think ld will bind to -h'$(SONAME)' which is set in the Makefiles 
>> created by ./configure. in pcre's particular case, (and generally for 
>> open source software which is into the bad habit of using libtool), 
>> the SONAME is usually set to <library-name>.so.0.
>>
>> this can be changed in ./configure but:
>>
>> - it is a lot of work to change ./configure and configure.in.
>> - it creates again a fork with patches which won't be accepted upstream
>> - it will break 3rd party applications which still use libtool (and 
>> the *.la files), and which expect to find this collection of 
>> symlinks, and naming convention for shared libs.
>>
>> On the bright side of things, we got rid of the *.la files.
> OK,... I'm mush less worried (SONAME), but the question still stands: 
> "What is the point of the multi-version name?" Is this just 
> "additional information to the developer"?  If so, shouldn't it be 
> Volatile so we can change it at any time?
What I forgot to say at that time, was "and add the value of SONAME to 
the interface table as the Uncommitted interface?

My preference is to just drop the multi-versioned name, unless 
significant value can be suggested for it.

- jek3


From Stefan.Teleman@sun.com Mon Mar 26 14:49:29 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2QLnSGu026970
	for <psarc-ext@sac.sfbay.Sun.COM>; Mon, 26 Mar 2007 14:49:29 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l2QLnFBA012469;
	Tue, 27 Mar 2007 05:49:25 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFJ00K0X5YAVU00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 14:49:22 -0700 (PDT)
Received: from jurassic.eng.sun.com ([129.146.56.144])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFJ004NO5Y9GE80@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 14:49:21 -0700 (PDT)
Received: from [192.9.61.113]
 (punchin-client-192-9-61-113.SFBay.Sun.COM [192.9.61.113])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2QLnKUq190833; Mon,
 26 Mar 2007 14:49:21 -0700 (PDT)
Date: Mon, 26 Mar 2007 16:48:22 -0400
From: Stefan Teleman <Stefan.Teleman@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <46082661.4010905@sun.com>
To: Joseph Kowalski <jek3@sun.com>
Cc: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Reply-to: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <46083196.50808@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM> <4601B2A7.1090705@sun.com>
 <46082661.4010905@sun.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 1465



Joseph Kowalski wrote:

> My preference is to just drop the multi-versioned name, unless 
> significant value can be suggested for it.

There is value in letting these multi-versioned libraries the way they are:

1. There is currently precedent:

/usr/lib/libpng.so
/usr/lib/libpng.so.2
/usr/lib/libpng.so.2.1.0.15
/usr/lib/libpng.so.2.1.0.18rc5
/usr/lib/libpng.so.3
/usr/lib/libpng.so.3.1.2.5
/usr/lib/libpng.so.3.1.2.8
/usr/lib/libpng10.so
/usr/lib/libpng10.so.0
/usr/lib/libpng10.so.0.1.0.15
/usr/lib/libpng10.so.0.1.0.18rc5
/usr/lib/libpng12.so
/usr/lib/libpng12.so.0
/usr/lib/libpng12.so.0.1.2.5
/usr/lib/libpng12.so.0.1.2.8

2. For many other FOSS packages, ./configure determines if the correct version 
of a required library is available by "chopping" the versioned name of the 
library into its numbered components. For example:

libname="/usr/lib/libtiff.so.3.8.2"
major_version=`echo ${libname} | cut -f3 -d"."`
minor_version=`echo ${libname} | cut -f4 -d"."`
micro_version=`echo ${libname} | cut -f4 -d"."`

if test $major_version -ge "3" && test $minor_version -ge "7" && test 
$micro_version -ge "0" ; then
	echo "#define HAVE_LIBTIFF 1" >> $config_h 2>&1
else
	echo "#define HAVE_LIBTIFF 0" >> $config_h 2>&1
fi

Removing the version numbers from the library name would cause an increase in 
./configure patching, because ./configure would erroneously fail in this case.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From jek3@sun.com Mon Mar 26 15:06:50 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2QM6mnU027748
	for <psarc-ext@sac.sfbay.Sun.COM>; Mon, 26 Mar 2007 15:06:49 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l2QM6ddc018182;
	Tue, 27 Mar 2007 06:06:46 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFJ00M0H6R6PC00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 15:06:42 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com ([129.146.17.59])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFJ004M86R6GFA0@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 26 Mar 2007 15:06:42 -0700 (PDT)
Received: from [129.150.12.53]
 (vpn-129-150-12-53.SFBay.Sun.COM [129.150.12.53])	by
 jurassic-x4600.sfbay.sun.com (8.14.0+Sun/8.14.0) with ESMTP id l2QM6eNJ258804;
 Mon, 26 Mar 2007 15:06:41 -0700 (PDT)
Date: Mon, 26 Mar 2007 12:06:26 -1000
From: Joseph Kowalski <jek3@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <46083196.50808@Sun.COM>
To: Stefan Teleman <Stefan.Teleman@sun.com>
Cc: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Message-id: <460843E2.2060102@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM> <4601B2A7.1090705@sun.com>
 <46082661.4010905@sun.com> <46083196.50808@Sun.COM>
User-Agent: Thunderbird 1.5.0.5 (X11/20060925)
Status: RO
Content-Length: 2115

Stefan Teleman wrote:
>
>
> Joseph Kowalski wrote:
>
>> My preference is to just drop the multi-versioned name, unless 
>> significant value can be suggested for it.
>
> There is value in letting these multi-versioned libraries the way they 
> are:
>
> 1. There is currently precedent:
>
> /usr/lib/libpng.so
> /usr/lib/libpng.so.2
> /usr/lib/libpng.so.2.1.0.15
> /usr/lib/libpng.so.2.1.0.18rc5
> /usr/lib/libpng.so.3
> /usr/lib/libpng.so.3.1.2.5
> /usr/lib/libpng.so.3.1.2.8
> /usr/lib/libpng10.so
> /usr/lib/libpng10.so.0
> /usr/lib/libpng10.so.0.1.0.15
> /usr/lib/libpng10.so.0.1.0.18rc5
> /usr/lib/libpng12.so
> /usr/lib/libpng12.so.0
> /usr/lib/libpng12.so.0.1.2.5
> /usr/lib/libpng12.so.0.1.2.8
There appear to currently be outliers/bugs.  I don't buy this.  8^)  
(see below)
> 2. For many other FOSS packages, ./configure determines if the correct 
> version of a required library is available by "chopping" the versioned 
> name of the library into its numbered components. For example:
>
> libname="/usr/lib/libtiff.so.3.8.2"
> major_version=`echo ${libname} | cut -f3 -d"."`
> minor_version=`echo ${libname} | cut -f4 -d"."`
> micro_version=`echo ${libname} | cut -f4 -d"."`
>
> if test $major_version -ge "3" && test $minor_version -ge "7" && test 
> $micro_version -ge "0" ; then
>     echo "#define HAVE_LIBTIFF 1" >> $config_h 2>&1
> else
>     echo "#define HAVE_LIBTIFF 0" >> $config_h 2>&1
> fi
>
> Removing the version numbers from the library name would cause an 
> increase in ./configure patching, because ./configure would 
> erroneously fail in this case.
However, I do buy this.  Seems like a good reason.

Now, back to these cases.  I'll assert:

    The multi-version number name is Volatile, not Uncommitted. You want 
to be able to update this at any time.

    The SONAME needs to be in the exported interface table as 
Uncommittted.  This is what you bind to.

    These levels need to be explicit in the ATTRIBUTES section of the 
man page, perhaps accompanied by a NOTE.

Agreed?

ARC members: we seem to be setting a precedent here.  Any objections?

> --Stefan
- thanks,

- jek3


From Stefan.Teleman@sun.com Mon Mar 26 15:10:33 2007
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id l2QMAXph027851
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 26 Mar 2007 15:10:33 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2QMAWrm005902;
	Mon, 26 Mar 2007 15:10:33 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFJ00A056XK2S00@brm-avmta-1.central.sun.com>; Mon,
 26 Mar 2007 16:10:32 -0600 (MDT)
Received: from jurassic.eng.sun.com ([129.146.108.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFJ00FVI6XKPZ90@brm-avmta-1.central.sun.com>; Mon,
 26 Mar 2007 16:10:32 -0600 (MDT)
Received: from [192.9.61.113]
 (punchin-client-192-9-61-113.SFBay.Sun.COM [192.9.61.113])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2QMAV8b192381; Mon,
 26 Mar 2007 15:10:31 -0700 (PDT)
Date: Mon, 26 Mar 2007 17:09:38 -0400
From: Stefan Teleman <Stefan.Teleman@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <460843E2.2060102@sun.com>
To: Joseph Kowalski <jek3@sun.com>
Cc: Bart Smaalders <bart.smaalders@sun.com>, PSARC-EXT@sun.com
Reply-to: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <46083692.7090302@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <4600AEB6.2040303@Sun.COM> <46019DE8.9040203@sun.com>
 <4601A29D.7000405@Sun.COM> <4601B2A7.1090705@sun.com>
 <46082661.4010905@sun.com> <46083196.50808@Sun.COM> <460843E2.2060102@sun.com>
User-Agent: Thunderbird 1.5.0.7 (X11/20060915)
Status: RO
Content-Length: 516

Joseph Kowalski wrote:

> Now, back to these cases.  I'll assert:
> 
>    The multi-version number name is Volatile, not Uncommitted. You want 
> to be able to update this at any time.
> 
>    The SONAME needs to be in the exported interface table as 
> Uncommittted.  This is what you bind to.
> 
>    These levels need to be explicit in the ATTRIBUTES section of the man 
> page, perhaps accompanied by a NOTE.
> 
> Agreed?

+1 from me.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From bart.smaalders@Sun.COM Fri Mar 30 16:31:15 2007
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l2UNVFkS023057
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 30 Mar 2007 16:31:15 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l2U1NQG0061329
	for <@sunmail3mpk.sfbay.sun.com:PSARC-EXT@Sun.COM>; Thu, 29 Mar 2007 19:23:27 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JFO00B01ZV38W00@nwk-avmta-2.sfbay.sun.com> for PSARC-EXT@Sun.COM
 (ORCPT PSARC-EXT@Sun.COM); Thu, 29 Mar 2007 18:23:27 -0700 (PDT)
Received: from engmail3mpk.sfbay.Sun.COM ([129.146.11.26])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JFO003KFZV29860@nwk-avmta-2.sfbay.sun.com> for
 PSARC-EXT@Sun.COM (ORCPT PSARC-EXT@Sun.COM); Thu,
 29 Mar 2007 18:23:26 -0700 (PDT)
Received: from zion.eng.sun.com (zion.SFBay.Sun.COM [129.146.17.75])
	by engmail3mpk.sfbay.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l2U1NQbH022849; Thu, 29 Mar 2007 18:23:26 -0700 (PDT)
Received: from [129.146.228.109] (cyber [129.146.228.109])
	by zion.eng.sun.com (8.13.7+Sun/8.13.7) with ESMTP id l2U1NQQK018663; Thu,
 29 Mar 2007 18:23:26 -0700 (PDT)
Date: Thu, 29 Mar 2007 18:22:29 -0700
From: Bart Smaalders <bart.smaalders@Sun.COM>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
To: PSARC-EXT@Sun.COM
Cc: Stefan Teleman <Stefan.Teleman@Sun.COM>
Message-id: <460C6655.8060203@Sun.COM>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
User-Agent: Thunderbird 2.0b2 (X11/20070227)
Status: RO
Content-Length: 289


An updated copy of the fast track with corrections
(case numbers, 64 bit paths, etc) has been placed in
the materials subdirectory. This case was approved
at yesterday's meeting.

- Bart

-- 
Bart Smaalders			Solaris Kernel Performance
barts@cyber.eng.sun.com		http://blogs.sun.com/barts

From Stefan.Teleman@sun.com Tue Oct  2 08:40:04 2007
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l92Fe3tp006502
	for <psarc-ext@sac.sfbay.Sun.COM>; Tue, 2 Oct 2007 08:40:04 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id l92Faofs006670;
	Tue, 2 Oct 2007 23:36:53 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JPA0085FJDF3500@nwk-avmta-1.sfbay.Sun.COM>; Tue,
 02 Oct 2007 08:36:52 -0700 (PDT)
Received: from jurassic.eng.sun.com ([129.146.226.130])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JPA00LWQJDB5DD0@nwk-avmta-1.sfbay.Sun.COM>; Tue,
 02 Oct 2007 08:36:47 -0700 (PDT)
Received: from [10.7.250.25]
 (punchin-client-10-7-250-25.SFBay.Sun.COM [10.7.250.25])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l92FakVl269087; Tue,
 02 Oct 2007 08:36:46 -0700 (PDT)
Date: Tue, 02 Oct 2007 11:34:49 -0400
From: Stefan Teleman <Stefan.Teleman@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
To: PSARC-EXT@sun.com
Cc: Bart Smaalders <bart.smaalders@sun.com>
Reply-to: Stefan Teleman <Stefan.Teleman@sun.com>
Message-id: <47026519.4040802@Sun.COM>
Organization: Sun Microsystems, Inc.
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
User-Agent: Thunderbird 2.0.0.6 (X11/20070802)
Status: RO
Content-Length: 2233

Hi.

Phil Hazel recently released PCRE 7.4, which addresses some hardcoded limits in 
prior versions of PCRE (which include version 7.0, which has been integrated in 
Nevada).

Here are the two relevant excerpts from the 7.4 ChangeLog:

7. Change 7.0/38 introduced a new limit on the number of nested
non-capturing parentheses; I made it 1000, which seemed large enough.
Unfortunately, the limit also applies to "virtual nesting" when a
pattern is recursive, and in this case 1000 isn't so big. I have been
able to remove this limit at the expense of backing off one
optimization in certain circumstances. Normally, when pcre_exec()
would call its internal match() function recursively and immediately
return the result unconditionally, it uses a "tail recursion" feature
to save stack. However, when a subpattern that can match an empty
string has an unlimited repetition quantifier, it no longer makes
this optimization. That gives it a stack frame in which to save the
data for checking that an empty string has been matched. Previously
this was taken from the 1000-entry workspace that had been reserved.
So now there is no explicit limit, but more stack is used.

9. There were some crude static tests to avoid integer overflow when
computing the size of patterns that contain repeated groups with
explicit upper limits. As the maximum quantifier is 65535, the
maximum group length was set at 30,000 so that the product of these
two numbers did not overflow a 32-bit integer. However, it turns out
that people want to use groups that are longer than 30,000 bytes
(though not repeat them that many times). Change 7.0/17 (the
refactoring of the way the pattern size is computed) has made it
possible to implement the integer overflow checks in a much more
dynamic way, which I have now done. The artificial limitation on
group length has been removed - we now have only the limit on the
total length of the compiled pattern, which depends on the LINK_SIZE
setting.

I would like to upgrade PCRE to 7.4.

Do these changes require a new ARC Case for PCRE ?

These changes are not binary incompatible with the Nevada PCRE. There have been 
no API changes.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman@Sun.COM


From Garrett.Damore@sun.com Tue Oct  2 08:54:18 2007
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l92FsIwe007780
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 2 Oct 2007 08:54:18 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l92FoBAE030308;
	Tue, 2 Oct 2007 09:50:14 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JPA00G0BK19RQ00@nwk-avmta-2.sfbay.sun.com>; Tue,
 02 Oct 2007 08:51:09 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JPA00E1GK189RC0@nwk-avmta-2.sfbay.sun.com>; Tue,
 02 Oct 2007 08:51:08 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id l92Fp8AH013701;
 Tue, 02 Oct 2007 08:51:08 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JPA00101JF3LY00@fe-sfbay-09.sun.com>
 (original mail from Garrett.Damore@Sun.COM); Tue,
 02 Oct 2007 08:51:08 -0700 (PDT)
Received: from [192.168.251.11] ([76.174.83.55])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JPA0020YK0X5C60@fe-sfbay-09.sun.com>; Tue,
 02 Oct 2007 08:50:58 -0700 (PDT)
Date: Tue, 02 Oct 2007 08:49:04 -0700
From: "Garrett D'Amore" <Garrett.Damore@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <47026519.4040802@Sun.COM>
Sender: Garrett.Damore@sun.com
To: Stefan Teleman <Stefan.Teleman@sun.com>
Cc: PSARC-EXT@sun.com, Bart Smaalders <bart.smaalders@sun.com>
Message-id: <47026870.8080303@sun.com>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <47026519.4040802@Sun.COM>
User-Agent: Thunderbird 2.0.0.4 (X11/20070827)
Status: RO
Content-Length: 355

>
>
> I would like to upgrade PCRE to 7.4.
>
> Do these changes require a new ARC Case for PCRE ?
>
> These changes are not binary incompatible with the Nevada PCRE. There 
> have been no API changes.

As a general rule for ARC, if the last two statements are true, then I 
don't think you need to come to ARC.  These are just bug fixes.

    -- Garrett


From John.Plocher@sun.com Tue Oct  2 09:57:51 2007
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l92GvpOP014320
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 2 Oct 2007 09:57:51 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l92GsgLO015296
	for <@sunmail2sca.sfbay.sun.com:PSARC-EXT@sun.com>; Tue, 2 Oct 2007 09:54:43 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JPA00F0NMZ5H900@nwk-avmta-1.sfbay.Sun.COM> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@sun.com); Tue, 02 Oct 2007 09:54:41 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JPA00EVAMZ4ZU10@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Tue,
 02 Oct 2007 09:54:40 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id l92GseUc022366	for
 <PSARC-EXT@sun.com>; Tue, 02 Oct 2007 09:54:40 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JPA00301MH96T00@fe-sfbay-09.sun.com>
 (original mail from John.Plocher@Sun.COM)
 for PSARC-EXT@sun.com (ORCPT PSARC-EXT@sun.com); Tue,
 02 Oct 2007 09:54:40 -0700 (PDT)
Received: from wp668.sfbay.sun.com ([129.146.58.87])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JPA007JRMZ2LW40@fe-sfbay-09.sun.com>; Tue,
 02 Oct 2007 09:54:38 -0700 (PDT)
Date: Tue, 02 Oct 2007 09:54:33 -0700
From: John Plocher <John.Plocher@sun.com>
Subject: Re: PSARC/2007/164 Including PCRE with Solaris
In-reply-to: <47026870.8080303@sun.com>
Sender: John.Plocher@sun.com
To: "Garrett D'Amore" <Garrett.Damore@sun.com>
Cc: Stefan Teleman <Stefan.Teleman@sun.com>, PSARC-EXT@sun.com
Message-id: <470277C9.2090805@Sun.Com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <47026519.4040802@Sun.COM> <47026870.8080303@sun.com>
User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728)
Status: RO
Content-Length: 2466

Garrett D'Amore wrote:
>> These changes are not binary incompatible with the Nevada PCRE. There 
>> have been no API changes.
> 
> As a general rule for ARC, if the last two statements are true, then I 
> don't think you need to come to ARC.  These are just bug fixes.


The "guideline" is:

I need a review - what do I do?

<strong>Don't panic</strong>

OK, so someone told you that you need an "ARC Review".
This should help you determine what this requirement
really means to you and your project.

The first question is usually "What kind of review do I need?"

* None (Self Review)
   Existing projects that
     + have had an earlier case approved by an ARC,
     + do not introduce new interfaces visible outside their own project, and
     + do not alter any interface visible outside their own project
   usually qualify for self review and automatic approval.
   Most bugfixes qualify for this level of review.

* Fast-Track
   A lightweight process for simple cases whose architectural impact
   is obvious, and that are not likely to be controversial.
   Projects suitable for a fast-track review generally apply
   "common practice" in a frequently-performed change or addition.
   Projects that set precidents that cross ARC/technology
   boundaries may be automatically derailed to cause an opinion
   to be generated.

   + The fast-track process assumes you have found a sponsor who
     will help you write up your proposal and present it to the ARC.
   + If you don't have a sponsor, you can initiate the full ARC
     review process. However, doing so may add up to a week's delay
     to your case, and you still must find a sponsor for your case
     if you wish it to be treated as a fast-track.

   The fast-track process is primarily handled as email discussions
   and can take as little as a couple of weeks time to complete.

* ARC Review
   If you don't qualify for any of the above shortcuts, you will
   need to follow the full ARC review process.

   You start the ARC review process by emailing a one-pager
   project description

   The full ARC review process involves a combination of email,
   detailed project specifications, and formal meetings. The
   time required varies considerably, but teams should schedule
   reviews early - an inception review by mid-prototype stage,
   with commitment reviews between alpha and beta in order to
   allow the iteam time to incorporate any ARC required changes
   before integration.


