pax_global_header00006660000000000000000000000064120353166070014515gustar00rootroot0000000000000052 comment=8d02566403ec5347fb410a350d9ab7fdca433e7c flightaware-Pgtcl-8d02566/000077500000000000000000000000001203531660700153415ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/ChangeLog000066400000000000000000000377611203531660700171310ustar00rootroot00000000000000 $Id$ Tue Sep 11 13:17:55 CDT 2012 2012-09-11 Karl Lehenbauer * Add -nodotfields option to pg_select. if set it will inhibit the creation of the .tupno, .numcols and .headers fields in pg_select results. * Added new command, pg_set_single_row_mode aka ::pg::set_single_row_mode to enable retrieving query results row-by-row. * Add subcommands for direct execution of connection handles for conndefaults, set_single_row_mode, is_busy, blocking and cancel_request. * Make "make distclean" get rid of more autoconf work product. * Update README.freebsd. * Clean up compiler warnings. 2012-06-02 Karl Lehenbauer * Add new -withoutnulls option to pg_select, if set will remove null fields from the row result array. 2012-06-02 Karl Lehenbauer * Add new pg_dbinfo options "dbname", "user", "pass", "host", "port", "options", "status", "transaction_status", "error_message", "needs_password", "used_password", "used_ssl" to provide Tcl access to libpq connection parameter values established at connection time. * Fixed bug where pg_dbinfo would get a segmentation violation if passed an invalid connection handle. * Version bump to 1.9. 2011-02-15 Karl Lehenbauer * Removed arrVar variable and setting of it in Pg_result because it didn't do anything. 2010-07-01 Brett Schwarz * Added result callback for async queries via pg_sql. Based on code from Miguel Sofer. I had this code laying around and thought I had already committed, but turned out no. 2010-04-14 Karl Lehenbauer * Added new option to pg_dbinfo, "sql_count", returns the number of calls to pg_exec, pg_exec_prepared, pg_sendquery, pg_sendquery_prepared, and pg_select since the database connection was established. * Fixed a bug in dbinfo where a missing database connection argument could result in a coredump. * Version bump to 1.8. 2010-04-12 Brett Schwarz * Added Tcl 8.6 compatability by gettting rid of errorLine direct struct access and using Tcl_GetErrorLine, introduced in 8.6. Also added define for Tcl versions less than 8.6 so they can use the Tcl_GetErrorLine call. I ripped this off from the aolserver fix :) 2009-09-16 Karl Lehenbauer * Add gen_update_from_array and perform_update_from_array to Postgres helper package. 2009-07-07 Karl Lehenbauer * pg_select was not checking returns from Tcl_ObjSetVar2 and friends. The problem was that if the pg_select array already existed as a scalar variable, no error was returned to denote this, and it caused a coredump in Tcl 8.5. This has now been fixed. * In pg_select code, correct memory allocation for columnNameObjs to use the size of a pointer to Tcl_Obj times the number of columns, rather than the size of a Tcl_Obj times the number of columns.. 2009-06-30 Karl Lehenbauer * Fixed bug in "pgresult -assign" that could cuase a Tcl panic by attempting to set a value into a shared Tcl object. * libpq's PQfname can return NULL if the column requested is out of range. We have seen it return NULL when the column is in range, so instead of dumping core, we treat such a return as a Tcl error. 2009-04-06 Karl Lehenbauer * Pgtcl 1.7 released. 2009-02-26 Karl Lehenbauer * Make PostgreSQL helpers "res_dont_care" and "res_must_succeed" accept PGRES_TUPLES_OK as a sucessful result as well as PGRES_COMMAND_OK. 2008-05-24 Karl Lehenbauer * Add new pg_result suboption -tupleArrayWithoutNulls. It works like -tupleArray except if a field is null, it unsets the field from the array. 2008-05-23 Karl Lehenbauer * Add "escape_bytea" and "unescape_bytea" to the methods that can be invoked from $conn. * Extend pg_escape_bytea to allow a connection handle to be specified. If specified, libpq's PQescapeByteaConn is used rather than deprecated PQescapeBytea, which can return incorrect results since it can't determine whether standard-conforming strings are enabled. If the "$conn escape_bytea ..." method is used, the connection-handle version is automatically used. * Detect if lo_truncate is available in libpq or not and, if not, return an error if it is attempted. 2008-05-20 Karl Lehenbauer * Add support for the lo_truncate function that truncates a large object to a given length. * Version bump to 1.7. 2007-12-14 Karl Lehenbauer * Update autoconf build to Tcl Extension Architecture (TEA) 3.6 * Extend pg_quote to allow a connection handle to be specified. If the connection handle is specified and the string matches the null string, returns "NULL" (without quotes). If not, returns the string quoted for inclusion in SQL commands. * pg_quote can be invoked as a method of the connection handle as well. For instance, "$db quote $string". * Removed unused variables and silence compiler warnings with casting. * Added "internal_position" and "internal_query" to the error options. 2007-02-08 Brett Schwarz * Added support for async connections. Note that you will have to use [after] command to find the result of the connection. Callbacks won't work, since the sock isn't established yet 2007-01-24 Brett Schwarz * added additional sub commands to dbinfo (version, protocol, param, backendpid, socket) 2006-07-05 Karl Lehenbauer * Updated autoconf build to Tcl Extension Architecture (TEA) 3.5 2006-01-01 Brett Schwarz * changed the commands that handle params, such that if a value is NULL then the lib will change the paramValues value to '\0' so that the backend will insert a NULL correctly 2005-11-27 Karl Lehenbauer * Bumped version number to 1.6 * Add pg_null_value_string, ::pg::null_value_string and "$conn null_value_string" to get and set a special string value that will be returned for fields containing null values from queries. pg_select and pg_execute use this value for null values. If not set, they use the traditional empty string. pg_exec, pg_exec_prepared, pg_sendquery and pg_sendquery_prepared use this value as well. However, it can be overridden or replaced for one specific result using "pg_result $result -null_value_string NULL", etc, or by executing the result handle, as in "$result -null_value_string NULL" Updated documentation and regenerated HTML and PDF files. 2005-11-09 Karl Lehenbauer * List -cmdTuples as one of the possible options when executing pg_result without arguments. 2005-07-18 Karl Lehenbauer * Made pggrok database introspection code much more useful -- routines for finding out data about fields and indexes in a table now load on array with data about each field (index) and execute a code body on it, rather than punting with a call to parray 2005-07-01 Karl Lehenbauer * Fixed memory leaks when connections-as-commands are used ($conn exec $statement, etc) 2005-04-16 Brett Schwarz * added more documentation about the new capabilities 2005-02-25 Brett Schwarz * took away pg::conninfo and pg::results, and made one command pg::dbinfo. Usage is pg::dbinfo connections and pg::dbinfo results $conn 2004-11-30 Karl Lehenbauer * Document pg_exec_prepared, pg_results, and pg_sendquery_prepared. * Document pg_exec's ability to take optional arguments for $-substitution in PostgreSQL 7.4+. * Documented pg_getresult and pg_result -error suboptions. * Pasted connect string options from the libpq manual rather than simply referring Pgtcl users to the libpq manual. * Regenerated pdf and html documentation. 2004-11-29 Brett Schwarz * Added commands to escape and unescape binary strings 2004-11-29 Karl Lehenbauer * Added library of useful PostreSQL helper functions to the playpen. * Added dbobjects PostgreSQL/Itcl-object interface package to the playpen. * Added pggrok code to introspect into Postgres databases to the playpen. 2004-11-23 Karl Lehenbauer * Simplify result object processing * Fixed bug in Pg_cancelrequest where the error message would not be returned. * Remove unused variables. * Silence compiler warnings about a fall-through (that couldn't be reached) that would cause a function declared to return something to not return anything and about a possibly uninitialized variable. 2004-11-22 Karl Lehenbauer * Created playpen directory where interesting things that are not yet ready for prime time can be examined and messed with. Added code for turning OIDs returned by pg_result -lAttributes into data type names. 2004-11-19 Karl Lehenbauer * Updated autoconf build to TEA 3.1 / autoconf 2.59 * Added import_sampledata_prepared_onetransaction.tcl to the tests 2004-11-17 Karl Lehenbauer * minor optimization in connections-as-commands and results-as-commands where we don't copy and then swap, we copy it the way we want it to end up (first and second elements of objv reversed). * connections-as-commands and results-as-commands now error out when called with no arguments 2004-11-16 Karl Lehenbauer * libpgtcl will again build with versions of Tcl < 8.5 thanks to a little extra checking for HAVETCL_NEWDICTOBJ * Fixed several calls to Tcl_AppendStringsToObj whose arguments were terminated with -1 instead of NULL, eliminating several segmentation violations that could occur while preparing error messages. * Removed spurious newline at the start of the error message when the query result handle passed to pg_result is invalid. 2004-11-05 Brett Schwarz * added delete proc for result handle cleanup 2004-11-02 Brett Schwarz * added delete proc for connection handle cleanup 2004-09-20 Brett Schwarz * added preliminary support for dicts in pg_result. Need to have Tcl 8.5 or the dicts package extension. Need to set HAVETCL_NEWDICTOBJ manually for now. 2004-08-23 Brett Schwarz * added tcltest script of testing pgtcl. 2004-08-21 Brett Schwarz * Made the result handle into a command, and added associated command dispatcher. 2004-08-18 Brett Schwarz * Added another way to specify the connection string to pg::connect: pg::connect -connlist {host myhost port myport ...}. This is similiar to -conninfo, except that the arg is a key value list. * Added -connhandle option to pg::connect to specify the connection handle name. If not specified, then connection handle name is derived by pgtcl (as before). 2004-08-16 Brett Schwarz * added Pg_results (pg::results, pg_results) command that returns the result handles for a particular connection 2004-08-15 Brett Schwarz * Added new command pg::conninfo that returns a list of PG connection handles 2004-07-02 Brett Schwarz * added basic capability to use the connection handle as a command * since connection handle can be a command now, I made the returned handle namespace qualified, with respect to the calling namespace 2004-06-29 Brett Schwarz * Added proper Tcl namespace support (i.e. ::pg::connect) 2004-06-28 Karl Lehenbauer * Version 1.4 released 2004-06-22 Karl Lehenbauer * Added new optional subidentifiers to pg_result $resultID -error. You can specify one of "severity", "sqlstate", "primary", "detail", "hint", "position", "context", "file", "line", or "function" to get the severity (ERROR, FATAL, PANIC, WARNING, NOTICE, DEBUG, INFO, or LOG or a localized translation of one of these), the SQLSTATE code (see Appendix A of the Postgres manual), the primary human-readable error message, the optional secondary error message carrying more detail about the problem, the hint, an optional suggestion about what to do, the position, an error cursor position as an index into the original statement string starting from 1 (in characters, not bytes), the context, the source file where the error was reported, the line number of the source code where the error was reported, and the name of the source code function reporting the error, respectively. With newer versions of Postgres, $-variable substitution is now supported in pg_sendquery as it is in pg_exec. * Added a new function, pg_sendquery_prepared, that supports asynchronous invocation of prepared statements. 2004-06-21 Karl Lehenbauer * Added parameter support to the asynchronous pg_sendquery function. With newer versions of Postgres, $-variable substitution is now supported in pg_sendquery as it is in pg_exec. * Added a new function, pg_sendquery_prepared, that supports asynchronous invocation of prepared statements. 2004-05-26 Karl Lehenbauer * Changed configure script to use pg_config to find the path to PostgreSQL includes and libraries. * Altered libpgtcl to no longer require access to internal PostgreSQL include files. * Changed configure script to determine whether or not PostgreSQL 7.4+ functions PQexecParams and PQexecPrepared are available or not. 2004-05-21 Karl Lehenbauer * Add pg_exec_prepared to execute pre-prepared SQL statements with parameters. 2004-04-23 Karl Lehenbauer * Add pg_quote function to escape strings. It adds the outside quotes, too. 2004-04-14 Karl Lehenbauer * Modify pg_exec to support $-variable substitution for PostgreSQL 7.4 and above (protocol >= 3). For example, you can now do stuff like pg_exec $conn {select * from foo where field1 = $1} $value 2004-02-14 Brett Schwarz * Updated with the fixes that went into the -core libpgtcl release * Also added fix for WSAStartup posted by anonymous on the bug list 2003-01-14 Brett Schwarz * added -cmdTuples to pg_result (code submitted by Artur Trzewik) 2002-11-19 Brett Schwarz * Improved the performance of -list a little bit 2002-11-15 Karl Lehenbauer * Tagged for 1.4b3 * Fix pg_listen. (callback string wasn't properly terminated) Also made slight performance improvements in pg_listen. 2002-11-15 Brett Schwarz * Cleanup memory leaks in pg_result. * Fixed bug in pg_result -assignbyidx 2002-11-15 Karl Lehenbauer * Convert all the "#ifdef TCL_ARRAYS" where tcl_value was called if defined and not called if not defined to always "call" tcl_value. In the case where TCL_ARRAYS isn't defined, tcl_value is now defined as a macro that returns whatever was given to it, making it a no-op. This change allows the code to be compiled with TCL_MEM_DEBUG enabled to look for memory leaks. 2002-11-06 Karl Lehenbauer * Tagged for 1.4b2 * Create the libpgtcl shared library in a way where it can find both the Postgres shared library it needs (libpq) and the Tcl shared library it needs (libtcl). 2002-11-05 Brett Schwarz * added -list and -llist options to pg_result to return the results as a list and list of lists 2002-11-05 Karl Lehenbauer Started the ChangeLog. flightaware-Pgtcl-8d02566/Makefile.in000066400000000000000000000364671203531660700174260ustar00rootroot00000000000000# Makefile.in -- # # This file is a Makefile for Sample TEA Extension. If it has the name # "Makefile.in" then it is a template for a Makefile; to generate the # actual Makefile, run "./configure", which is a configuration script # generated by the "autoconf" program (constructs like "@foo@" will get # replaced in the actual Makefile. # # Copyright (c) 1999 Scriptics Corporation. # Copyright (c) 2002-2003 ActiveState Corporation. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id$ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that # have been added in a customized configure script. #======================================================================== #======================================================================== # Nothing of the variables below this line should need to be changed. # Please check the TARGETS section below to make sure the make targets # are correct. #======================================================================== #======================================================================== # The names of the source files is defined in the configure script. # The object files are used for linking into the final library. # This will be used when a dist target is added to the Makefile. # It is not important to specify the directory, as long as it is the # $(srcdir) or in the generic, win or unix subdirectory. #======================================================================== PKG_SOURCES = @PKG_SOURCES@ PKG_OBJECTS = @PKG_OBJECTS@ PKG_STUB_SOURCES = @PKG_STUB_SOURCES@ PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@ #======================================================================== # PKG_TCL_SOURCES identifies Tcl runtime files that are associated with # this package that need to be installed, if any. #======================================================================== PKG_TCL_SOURCES = @PKG_TCL_SOURCES@ #======================================================================== # This is a list of public header files to be installed, if any. #======================================================================== PKG_HEADERS = @PKG_HEADERS@ #======================================================================== # "PKG_LIB_FILE" refers to the library (dynamic or static as per # configuration options) composed of the named objects. #======================================================================== PKG_LIB_FILE = @PKG_LIB_FILE@ PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@ lib_BINARIES = $(PKG_LIB_FILE) BINARIES = $(lib_BINARIES) SHELL = @SHELL@ srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ includedir = @includedir@ datarootdir = @datarootdir@ datadir = @datadir@ mandir = @mandir@ DESTDIR = PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION) pkgdatadir = $(datadir)/$(PKG_DIR) pkglibdir = $(libdir)/$(PKG_DIR) pkgincludedir = $(includedir)/$(PKG_DIR) top_builddir = . INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ CC = @CC@ CFLAGS_DEFAULT = @CFLAGS_DEFAULT@ CFLAGS_WARNING = @CFLAGS_WARNING@ EXEEXT = @EXEEXT@ LDFLAGS_DEFAULT = @LDFLAGS_DEFAULT@ MAKE_LIB = @MAKE_LIB@ MAKE_SHARED_LIB = @MAKE_SHARED_LIB@ MAKE_STATIC_LIB = @MAKE_STATIC_LIB@ MAKE_STUB_LIB = @MAKE_STUB_LIB@ OBJEXT = @OBJEXT@ RANLIB = @RANLIB@ RANLIB_STUB = @RANLIB_STUB@ SHLIB_CFLAGS = @SHLIB_CFLAGS@ SHLIB_LD = @SHLIB_LD@ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ STLIB_LD = @STLIB_LD@ #TCL_DEFS = @TCL_DEFS@ TCL_BIN_DIR = @TCL_BIN_DIR@ TCL_SRC_DIR = @TCL_SRC_DIR@ # Not used, but retained for reference of what libs Tcl required #TCL_LIBS = @TCL_LIBS@ #======================================================================== # TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our # package without installing. The other environment variables allow us # to test against an uninstalled Tcl. Add special env vars that you # require for testing here (like TCLX_LIBRARY). #======================================================================== EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) TCLLIBPATH = $(top_builddir) TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` PKG_ENV = @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ PATH="$(EXTRA_PATH):$(PATH)" \ TCLLIBPATH="$(TCLLIBPATH)" TCLSH_PROG = @TCLSH_PROG@ TCLSH = $(PKG_ENV) $(TCLSH_ENV) $(TCLSH_PROG) SHARED_BUILD = @SHARED_BUILD@ INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ PKG_CFLAGS = @PKG_CFLAGS@ # TCL_DEFS is not strictly need here, but if you remove it, then you # must make sure that configure.in checks for the necessary components # that your library may use. TCL_DEFS can actually be a problem if # you do not compile with a similar machine setup as the Tcl core was # compiled with. #DEFS = $(TCL_DEFS) @DEFS@ $(PKG_CFLAGS) DEFS = @DEFS@ $(PKG_CFLAGS) # Move pkgIndex.tl to 'BINARIES' var if it is generated in the Makefile CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl CLEANFILES = @CLEANFILES@ CPPFLAGS = @CPPFLAGS@ LIBS = @PKG_LIBS@ @LIBS@ AR = @AR@ CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) #======================================================================== # Start of user-definable TARGETS section #======================================================================== #======================================================================== # TEA TARGETS. Please note that the "libraries:" target refers to platform # independent files, and the "binaries:" target inclues executable programs and # platform-dependent libraries. Modify these targets so that they install # the various pieces of your package. The make and install rules # for the BINARIES that you specified above have already been done. #======================================================================== all: binaries libraries doc #======================================================================== # The binaries target builds executable programs, Windows .dll's, unix # shared/static libraries, and any other platform-dependent files. # The list of targets to build for "binaries:" is specified at the top # of the Makefile, in the "BINARIES" variable. #======================================================================== binaries: $(BINARIES) libraries: #======================================================================== # Your doc target should differentiate from doc builds (by the developer) # and doc installs (see install-doc), which just install the docs on the # end user machine when building from source. #======================================================================== doc: @echo "If you have documentation to create, place the commands to" @echo "build the docs in the 'doc:' target. For example:" @echo " xml2nroff sample.xml > sample.n" @echo " xml2html sample.xml > sample.html" install: all install-binaries install-libraries install-doc install-binaries: binaries install-lib-binaries install-bin-binaries #======================================================================== # This rule installs platform-independent files, such as header files. # The list=...; for p in $$list handles the empty list case x-platform. #======================================================================== install-libraries: libraries @mkdir -p $(DESTDIR)$(includedir) @echo "Installing header files in $(DESTDIR)$(includedir)" @list='$(PKG_HEADERS)'; for i in $$list; do \ echo "Installing $(srcdir)/$$i" ; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir) ; \ done; #======================================================================== # Install documentation. Unix manpages should go in the $(mandir) # directory. #======================================================================== install-doc: doc @mkdir -p $(DESTDIR)$(mandir)/mann @echo "Installing documentation in $(DESTDIR)$(mandir)" @list='$(srcdir)/doc/*.n'; for i in $$list; do \ echo "Installing $$i"; \ rm -f $(DESTDIR)$(mandir)/mann/`basename $$i`; \ $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \ done test: binaries libraries $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) shell: binaries libraries @$(TCLSH) $(SCRIPT) gdb: $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) depend: #======================================================================== # $(PKG_LIB_FILE) should be listed as part of the BINARIES variable # mentioned above. That will ensure that this target is built when you # run "make binaries". # # The $(PKG_OBJECTS) objects are created and linked into the final # library. In most cases these object files will correspond to the # source files above. #======================================================================== $(PKG_LIB_FILE): $(PKG_OBJECTS) -rm -f $(PKG_LIB_FILE) ${MAKE_LIB} $(RANLIB) $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE): $(PKG_STUB_OBJECTS) -rm -f $(PKG_STUB_LIB_FILE) ${MAKE_STUB_LIB} $(RANLIB_STUB) $(PKG_STUB_LIB_FILE) pgtclsh: pgtclAppInit.o $(BINARIES) -rm -f pgtclsh $(CC) $(CFLAGS) $(DEFS) -o $@ pgtclAppInit.o \ $(PKG_LIB_FILE) ${LIBS} $(TCL_LIB_SPEC) $(LDFLAGS_DEFAULT) #======================================================================== # We need to enumerate the list of .c to .o lines here. # # In the following lines, $(srcdir) refers to the toplevel directory # containing your extension. If your sources are in a subdirectory, # you will have to modify the paths to reflect this: # # sample.$(OBJEXT): $(srcdir)/generic/sample.c # $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/sample.c` -o $@ # # Setting the VPATH variable to a list of paths will cause the makefile # to look into these paths when resolving .c to .obj dependencies. # As necessary, add $(srcdir):$(srcdir)/compat:.... #======================================================================== VPATH = $(srcdir):$(srcdir)/generic:$(srcdir)/unix:$(srcdir)/win .c.@OBJEXT@: $(COMPILE) -c `@CYGPATH@ $<` -o $@ #======================================================================== # Distribution creation # You may need to tweak this target to make it work correctly. #======================================================================== #COMPRESS = tar cvf $(PKG_DIR).tar $(PKG_DIR); compress $(PKG_DIR).tar COMPRESS = gtar zcvf $(PKG_DIR).tar.gz $(PKG_DIR) DIST_ROOT = /tmp/dist DIST_DIR = $(DIST_ROOT)/$(PKG_DIR) dist-clean: rm -rf $(DIST_DIR) $(DIST_ROOT)/$(PKG_DIR).tar.* dist: dist-clean mkdir -p $(DIST_DIR) cp -p $(srcdir)/ChangeLog $(srcdir)/README* $(srcdir)/license* \ $(srcdir)/aclocal.m4 $(srcdir)/configure $(srcdir)/*.in \ $(DIST_DIR)/ chmod 664 $(DIST_DIR)/Makefile.in $(DIST_DIR)/aclocal.m4 chmod 775 $(DIST_DIR)/configure $(DIST_DIR)/configure.in for i in $(srcdir)/*.[ch]; do \ if [ -f $$i ]; then \ cp -p $$i $(DIST_DIR)/ ; \ fi; \ done; mkdir $(DIST_DIR)/tclconfig cp $(srcdir)/tclconfig/install-sh $(srcdir)/tclconfig/tcl.m4 \ $(DIST_DIR)/tclconfig/ chmod 664 $(DIST_DIR)/tclconfig/tcl.m4 chmod +x $(DIST_DIR)/tclconfig/install-sh list='demos doc generic library mac tests unix win'; \ for p in $$list; do \ if test -d $(srcdir)/$$p ; then \ mkdir $(DIST_DIR)/$$p; \ cp -p $(srcdir)/$$p/*.* $(DIST_DIR)/$$p/; \ fi; \ done (cd $(DIST_ROOT); $(COMPRESS);) #======================================================================== # End of user-definable section #======================================================================== #======================================================================== # Don't modify the file to clean here. Instead, set the "CLEANFILES" # variable in configure.in #======================================================================== clean: -test -z "$(BINARIES)" || rm -f $(BINARIES) -rm -f *.$(OBJEXT) core *.core -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean: clean -rm -f *.tab.c -rm -f $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log config.status autom4te.cache #======================================================================== # Install binary object libraries. On Windows this includes both .dll and # .lib files. Because the .lib files are not explicitly listed anywhere, # we need to deduce their existence from the .dll file of the same name. # Library files go into the lib directory. # In addition, this will generate the pkgIndex.tcl # file in the install location (assuming it can find a usable tclsh shell) # # You should not have to modify this target. #======================================================================== install-lib-binaries: binaries @mkdir -p $(DESTDIR)$(pkglibdir) @list='$(lib_BINARIES)'; for p in $$list; do \ if test -f $$p; then \ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \ if test "x$$stub" = "xstub"; then \ echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \ else \ echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ fi; \ ext=`echo $$p|sed -e "s/.*\.//"`; \ if test "x$$ext" = "xdll"; then \ lib=`basename $$p|sed -e 's/.[^.]*$$//'`.lib; \ if test -f $$lib; then \ echo " $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib"; \ $(INSTALL_DATA) $$lib $(DESTDIR)$(pkglibdir)/$$lib; \ fi; \ fi; \ fi; \ done @list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ if test -f $(srcdir)/$$p; then \ destp=`basename $$p`; \ echo " Install $$destp $(DESTDIR)$(pkglibdir)/$$destp"; \ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkglibdir)/$$destp; \ fi; \ done @if test "x$(SHARED_BUILD)" = "x1"; then \ echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \ $(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \ fi #======================================================================== # Install binary executables (e.g. .exe files and dependent .dll files) # This is for files that must go in the bin directory (located next to # wish and tclsh), like dependent .dll files on Windows. # # You should not have to modify this target, except to define bin_BINARIES # above if necessary. #======================================================================== install-bin-binaries: binaries @mkdir -p $(DESTDIR)$(bindir) @list='$(bin_BINARIES)'; for p in $$list; do \ if test -f $$p; then \ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p"; \ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$p; \ fi; \ done .SUFFIXES: .c .$(OBJEXT) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status uninstall-binaries: list='$(lib_BINARIES)'; for p in $$list; do \ rm -f $(DESTDIR)$(pkglibdir)/$$p; \ done list='$(PKG_TCL_SOURCES)'; for p in $$list; do \ p=`basename $$p`; \ rm -f $(DESTDIR)$(pkglibdir)/$$p; \ done list='$(bin_BINARIES)'; for p in $$list; do \ rm -f $(DESTDIR)$(bindir)/$$p; \ done .PHONY: all binaries clean depend distclean doc install libraries test # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: flightaware-Pgtcl-8d02566/README.async000066400000000000000000000124151203531660700173400ustar00rootroot00000000000000 $Id$ Experimental Tcl interface to PostgreSQL asynchronous query processing by Karl Lehenbauer (karl-pg@sc.com) 10/2002 (revised 6/2004) RATIONALE From the C-interface docs: The PQexec function is adequate for submitting commands in simple synchronous applications. It has a couple of major deficiencies however: * PQexec waits for the command to be completed. The application may have other work to do (such as maintaining a user interface), in which case it won't want to block waiting for the response. * Since control is buried inside PQexec, it is hard for the frontend to decide it would like to try to cancel the ongoing command. (It can be done from a signal handler, but not otherwise.) * PQexec can return only one PGresult structure. If the submitted command string contains multiple SQL commands, all but the last PGresult are discarded by PQexec. WHAT THIS IS A handful of new pg_* commands have been added to support asynchronous operation, including cancelling requests that are currently being processed and obtaining results from each SQL command when a query contains multiple commands. SOMEWHAT EXPERIMENTAL IN NATURE This is a new Tcl interface to asynchronous query processing capabilities that have been made available through the Postgres C interface. We're calling it experimental because we think we'll want to evolve and change the interface, perhaps simplifying it, as we gain experience with it. So if you use it, understand that we are not promising to provide the same interface or backwards compatibility to this interface in future releases. ASYNCHRONOUS QUERY PROCESSING COMMANDS pg_sendquery connection query This works like pg_exec, except that the query is issued asynchronously and pg_sendquery returns immediately without providing a result handle. With Postgres 7.4 and above, you can also do variable substitution. pg_sendquery connection query var1 var2 ... ...for example... pg_sendquery $conn {insert into people values ($1, $2, $3, $4, $5);} \ $name $address $city $state $zip You can also execute prepared statements: pg_exec $conn {prepare insert_people (varchar, varchar, varchar, varchar, varchar) as insert into people values ($1, $2, $3, $4, $5);} pg_sendquery_prepared $conn insert_people $name $address $city $state $zip To get result handles resulting from the execution of pg_sendqery (and there may be more than one if there are multiple SQL commands in the query), you need to repeatedly call pg_getresult connection This will return the same sort of result handle that pg_exec returns. If there is no query currently being processed or all of the results have been obtained, pg_getresult returns nothing. pg_isbusy connection pg_getresult can block if results aren't yet available. To avoid this, you can use pg_isbusy to check to see if the connection is busy processing a query. If this returns 1, pg_getresult will block if called. If it's 0, you can safely call pg_getresult and it won't block. pg_blocking This sets whether a connection is set for blocking or nonblocking, and allows that state to be changed. syntax: pg_blocking connection - returns the current state, 1 = blocking, 0 = non pg_blocking connection 1 - sets the connection to blocking pg_blocking connection 0 - sets the connection to nonblocking Note - I'm not sure about all of the ramifications of setting a connection nonblocking. Even with a connection in the (default) blocking state, pg_isbusy seems to work OK and can be used in conjunction with pg_getresult to keep from blocking while processing query results. pg_cancelrequest connection This request that postgresql abandon processing of the current command issued via pg_sendquery. There is no guarantee that the request will be cancelled. If it is and you were in the middle of a transaction, the entire transaction is cancelled. You still need to call pg_getresult repeatedly until it doesn't return anything, and handle (and discard) all of the returned result handles. HOW TO USE IT We really need some example code. Probably we need some Tcl code that will be part of the libary, pulled in with "package require Pgtcl", that will issue a pg_sendrequest and iteratively call pg_isbusy on a timer, then looping through passed-in Tcl code for each result until none are found. You'll want to write something that issues the request via pg_sendquery. Then you'll want a proc that does a pg_isbusy and if it is busy, calls itself to run again after, oh, a tenth of a second or so, via "after". If pg_isbusy returns 0, you can safely call pg_getresult to get a result. (Use pg_result to examine the result, as in the past.) If pg_getresult returns an empty string, there is no more work to be done. If you want to cancel a request that is currently in progress, use pg_cancelrequest. Note that you still need to do the pg_getresult thing repeatedly until it returns nothing. For more information, read the C interface docs in the PostgreSQL documentation. I know you'd like some example code. We don't have any yet. That's why we call it an alpha release. LICENSE Berkeley License. Freely redistributable for any use including resale, without royalty or other sucky GPL restrictions. Don't sue us if it kills your dog. flightaware-Pgtcl-8d02566/README.freebsd000066400000000000000000000010371203531660700176330ustar00rootroot00000000000000 $Id$ libpgtcl can now be built under FreeBSD without any special tweaks. We'd love some help in making this a port in the FreeBSD ports tree, so this build could be even more automatic. For now, you need to build and install Tcl and Postgres cd /usr/ports/lang/tcl85 make make install cd /usr/ports/databases/postgresql92-client make make install Then run configure in this directory with the following parameters: ./configure --with-tcl=/usr/local/lib/tcl8.5 Add "--enable-symbols" if you want debugging. flightaware-Pgtcl-8d02566/README.macosx000066400000000000000000000024261203531660700175160ustar00rootroot00000000000000 $Id$ Configuration of libpgtcl under Mac OS X no longer requires any tweaks. We'd love some help in making this a port in the Mac OS X darwinports tree, so this build can be even more automatic. For now, you need to build and install Tcl and Postgres port install tcl port install postgresql Then run configure in this directory with the following parameters: ./configure --prefix=/opt/local Then do a "make" and a "sudo make install" or equivalent, and you should be on your way. There is also a version of Tcl included on the Mac in /usr/bin if you install developer tools (I think that's what did it), and you'll get this one by default (in all likelihood) if you just type tclsh from the shell command line. This version does not have /opt/local/lib in its package path (auto_path). You need to either edit /System/Library/Frameworks/Tcl.framework/Versions/8.4/Resources/Scripts/init.tcl to add /opt/local/lib to the auto_path or make sure you run tclsh from /opt/local/bin instead of from /usr/bin, which may require you to type /opt/local/bin/tclsh from the command line, or make sure that your PATH environment variable has /opt/local/bin first. This is not a libpgtcl issue. Here's one way to start up PostgreSQL under Mac OS X: pg_ctl -D /opt/local/pgsql/data start flightaware-Pgtcl-8d02566/README.md000066400000000000000000000204721203531660700166250ustar00rootroot00000000000000Thank you for downloading Pgtcl, a package that adds PostgreSQL interface extensions to the Tcl programming language... an open source project that's been in existence for more than ten years. # CONFIGURING Pgtcl is now Tcl Extension Architecture (TEA) compliant, shipping with a standard "configure" script. It no longer needs to reside in a specific place within the Postgres source tree in order to build. For standard builds to put things in subdirectories of /usr/local, you can often simply execute configure with no arguments at all... ./configure The configure script will attempt to find where the Postgres includes and libraries are using pg_config, a program built and installed as part of Postgres. Alternatively, you can specify a path to the Postgres include files using --with-postgres-include and to the Postgres libraries using --with-postgres-lib. If you had PostgreSQL installed into /usr/postgres and a Tcl build in /usr/pptcl, you might use something like ./configure --prefix=/usr/pptcl With this style of configure command, you'll need to make sure pg_config (and the correct pg_config if you have postgres installed in multiple places) is in the PATH. Alternatively you can still explicitly specify where the Postgres includes and libraries are found: ./configure --prefix=/usr/pptcl --with-postgres-include=/usr/postgres/include --with-postgres-lib=/usr/postgres/lib The other configure parameters that may need tweaking are where Tcl's includes and libraries (and tclConfig.sh) are. Although normally they will be in /usr/local/include and /usr/local/lib, in some cases they may reside elsewhere. If Tcl is built and installed from the FreeBSD ports tree, for example, they'll be in versioned subdirectories... ./configure --with-tcl=/usr/local/lib/tcl8.4 --with-tclinclude=/usr/local/include/tcl8.4 # BUILDING Do a `make`. If all goes well, libpgtcl will be compiled and linked. # INSTALLING Do a `make install` # USING IT With version 1.4, Pgtcl is a standard package and can be loaded with "package require" instead of the shared library load routine, "load". Fire up your tclsh: tclsh8.5 % package require Pgtcl 1.4 It's a good idea to switch to using the "package require' instead of "load" to pick up Pgtcl, because there will be additional Tcl code shipped in future versions of Pgtcl, and using "package require" will make that code available to your application. Also it keeps you from hard-coding the path to the library and hard-coding a dependency on a specific version. ## IF IT COMPILES AND INSTALLS OK BUT "PACKAGE REQUIRE" DOESN'T WORK ...it probably didn't install into the search path Tcl uses to find extensions. You might have more than one Tclsh installed. Try adding a path to the parent directory of where the thing installed, for example, if it installed into /opt/local/bin tclsh8.5 % lappend auto_path /opt/local/lib ... % package require Pgtcl 1.4 # CREDITS Pgtcl was originally written by Jolly Chen. Many people have contributed to the further development of Pgtcl over the years, including Randy Kunkee, who added the channel handler code, among other things, and we intend to identify the rest of them and give them credit as well. Development and maintenance of Pgtcl since version 1.3 has been done by Brett Schwarz and Karl Lehenbauer. # CHANGELOG ## VERSION 1.5 New options to pg_connect, -connhandle and -connlist experimental -dict option in pg_result Proper Tcl namespace support, in the ::pg namespace. Connection handles and result handles are now executable commands in their own right, while maintaining compatible with their former usage as strictly handles. Upgraded to TEA 3.1 compliant build. Documentation overhauled and brought current with the code. ## VERSION 1.4 With version 1.4, Pgtcl has been internally overhauled and brought up to date with the latest Tcl C-interface technology, while maintaining nearly 100% compatibility with the pg_* Tcl interface provided by Pgtcl 1.3. Just about every Tcl program that uses Pgtcl 1.3 will work without modification under Pgtcl 1.4. Version 1.4 was something of a transitional release, as pgtcl moved out the of core and into its this distribution. Previously, for example, the Pgtcl documentation resided with the rest of the PostgreSQL documentation, and Pgtcl's source code accessed PostgreSQL's include files and libraries in a fraternal manner that had to be divorced and reworked to use the same APIs and build methods that any external application would use to build against PostgreSQL's libpq C interface library. The Pgtcl documentation is now included with this release. As building the documentation requires a number of fairly major tools and packages, the release also includes the docs prebuilt in HTML and PDF format. ## CHANGES The main changes are: * All commands have now been converted to use Tcl 8-style Tcl objects. The result is a probable increase in performance in all routines, with potentially huge performance increases in pg_select and pg_execute when used with complex Tcl code bodies. * Also Tcl 7 is no longer supported. (Surely you're not still using it, anyway, right?) * A new asynchronous interface has been added Requests can be issued to the backend without waiting for the results, allowing for user interfaces to still work while database requests are being processed, etc. Also, requests can now be cancelled while they're in progress. * pg_* call arguments are now checked much more rigorously. Code previously using atoi() for integer conversions now uses Tcl_GetIntFromObj, etc. pg_* calls with too many arguments were often accepted without complaint. These now generate standard Tcl "wrong # args" messages, etc. Error reporting has been brought into more compliance with the Tcl way of doing things. * TEA-compliant build and install. * pg_exec now supports $-variable substitution. This is a new feature of Postgres 7.4 that is now supported in Pgtcl. You can now say: pg_exec $conn {select * from foo where id = $1 and user = $2} $id $user And the values following the SQL statement are substituted positionally for $1, $2, etc, in the statement. * pg_exec_prepared allows execution of prepared SQL statements. * pg_sendquery_prepared allows asynchronous execution of prepared SQL statements. Some programs that might have been working properly but had certain syntatically incorrect pg_* commands will now fail until fixed. pg_result -assign and pg_result -assignbyidx used to return the array name, which was superfluous because the array name was specified on the command line. They now return nothing. *** POTENTIAL INCOMPATIBILITY *** ## OLDER CHANGES Here are some features that were added back in the 1998 - 1999 timeframe: * Postgres connections are a valid Tcl channel, and can therefore be manipulated by the interp command (ie. shared or transfered). A connection handle's results are transfered/shared with it. (Result handles are NOT channels, though it was tempting). Note that a "close $connection" is now functionally identical to a "pg_disconnect $connection", although pg_connect must be used to create a connection. * Result handles are changed in format: ${connection}.. This just means for a connection 'pgtcl0', they look like pgtcl0.0, pgtcl0.1, etc. Enforcing this syntax makes it easy to look up the real pointer by indexing into an array associated with the connection. * I/O routines are now defined for the connection handle. I/O to/from the connection is only valid under certain circumstances: Following the execution of the queries `copy from stdin` or `copy
to stdout` In these cases, the result handle obtains an intermediate status of "PGRES_COPY_IN" or "PGRES_COPY_OUT". The programmer is then expected to use Tcl gets or read commands on the database connection (not the result handle) to extract the copy data. For copy outs, read until the standard EOF indication is encountered. For copy ins, puts a single terminator (\.). The statement for this would be `puts $conn "\\."` or `puts $conn {\.}` In either case (upon detecting the EOF or putting the '\.', the status of the result handle will change to "PGRES_COMMAND_OK", and any further I/O attempts will cause a Tcl error. flightaware-Pgtcl-8d02566/TODO000066400000000000000000000035251203531660700160360ustar00rootroot00000000000000 $Id$ Document var substitution to pg_sendquery Document pg_sendquery_prepared Set up error code when returning errors from postgres stuff. Return postgres status like {POSTGRES PGRES_EMPTY_QUERY} or whatever. Go through all possible C library calls to investigate a Postgres result and make sure they're supported. Make a cursor-like thing that sits on top of postgres results. It's "reusable", because it knows to close out the previous result when it's being handed a new result. Fix up new asynchronous operation stuff to use applicable Tcl internals. Make a new command that uses the async interface but waits behind your back through the tcl event loop, something like pg_query $conn query resultVar {resultCode} It iterates the resultCode for each result found, automatically clearing the result at the end of each iteration. X add -list and -llist options to return list in pg_result - add introspection commands? e.g. to return the connection handles, or result handles Possibly implement a notice processor that will allow us to catch reporting of notice and warning messages generated by libpq. These are normally just dumped to stdout. Add pg_trace and pg_untrace or equivalent to trace client/server communication to a debugging file stream. DONE Make configure script use or have an option to use "pg_config --includedir" to find the postgres includes and "pg_config --libdir" to find the postgres libraries. DONE Support for asynchronous operation. DONE Stubify the build. DONE Make the build TEA-compliant, including DONE Document pg_execute. DONE Document pg_on_connection_loss. DONE Document new asynchronous operation stuff. DONE Add support for PQsendQueryParams (parameter substitution to asynchronous queries.) DONE Add support for PQsendQueryPrepared (parameter substitution to prepared statements as asynchronous queries.) flightaware-Pgtcl-8d02566/aclocal.m4000077500000000000000000001270371203531660700172160ustar00rootroot00000000000000# # Include the TEA standard macro set # builtin(include,tclconfig/tcl.m4) # # Add here whatever m4 macros you want to define for your package # #-------------------------------------------------------------------- # PGTCL_CONFIG_CFLAGS # # a modified copy of TEA_CONFIG_CFLAGS # # The reason is that we have to set up search paths to the Tcl shared lib # AND the postgresql libpq shared library. # # Unfortunately this is a big routine and our changes are small. This is # a maintenance problem as changes to TEA_CONFIG_CFLAGS in tcl.m4 need to be # propagated. # # Basically anywhere you see LIB_RUNTIME_DIR you have to add # LIB_PGTCL_RUNTIME_DIR, things like this: # #CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' #CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' #LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' #CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR} -L{LIB_PGTCL_RUNTIME_DIR}' #CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' #LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' #CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' # # Try to determine the proper flags to pass to the compiler # for building shared libraries and other such nonsense. # # Arguments: # none # # Results: # # Defines and substitutes the following vars: # # DL_OBJS - Name of the object file that implements dynamic # loading for Tcl on this system. # DL_LIBS - Library file(s) to include in tclsh and other base # applications in order for the "load" command to work. # LDFLAGS - Flags to pass to the compiler when linking object # files into an executable application binary such # as tclsh. # LD_SEARCH_FLAGS-Flags to pass to ld, such as "-R /usr/local/tcl/lib", # that tell the run-time dynamic linker where to look # for shared libraries such as libtcl.so. Depends on # the variable LIB_RUNTIME_DIR in the Makefile. Could # be the same as CC_SEARCH_FLAGS if ${CC} is used to link. # CC_SEARCH_FLAGS-Flags to pass to ${CC}, such as "-Wl,-rpath,/usr/local/tcl/lib", # that tell the run-time dynamic linker where to look # for shared libraries such as libtcl.so. Depends on # the variable LIB_RUNTIME_DIR in the Makefile. # SHLIB_CFLAGS - Flags to pass to cc when compiling the components # of a shared library (may request position-independent # code, among other things). # SHLIB_LD - Base command to use for combining object files # into a shared library. # SHLIB_LD_LIBS - Dependent libraries for the linker to scan when # creating shared libraries. This symbol typically # goes at the end of the "ld" commands that build # shared libraries. The value of the symbol is # "${LIBS}" if all of the dependent libraries should # be specified when creating a shared library. If # dependent libraries should not be specified (as on # SunOS 4.x, where they cause the link to fail, or in # general if Tcl and Tk aren't themselves shared # libraries), then this symbol has an empty string # as its value. # SHLIB_SUFFIX - Suffix to use for the names of dynamically loadable # extensions. An empty string means we don't know how # to use shared libraries on this platform. # LIB_SUFFIX - Specifies everything that comes after the "libfoo" # in a static or shared library name, using the $VERSION variable # to put the version in the right place. This is used # by platforms that need non-standard library names. # Examples: ${VERSION}.so.1.1 on NetBSD, since it needs # to have a version after the .so, and ${VERSION}.a # on AIX, since a shared library needs to have # a .a extension whereas shared objects for loadable # extensions have a .so extension. Defaults to # ${VERSION}${SHLIB_SUFFIX}. # TCL_NEEDS_EXP_FILE - # 1 means that an export file is needed to link to a # shared library. # TCL_EXP_FILE - The name of the installed export / import file which # should be used to link to the Tcl shared library. # Empty if Tcl is unshared. # TCL_BUILD_EXP_FILE - # The name of the built export / import file which # should be used to link to the Tcl shared library. # Empty if Tcl is unshared. # CFLAGS_DEBUG - # Flags used when running the compiler in debug mode # CFLAGS_OPTIMIZE - # Flags used when running the compiler in optimize mode # CFLAGS - Additional CFLAGS added as necessary (usually 64-bit) # #-------------------------------------------------------------------- AC_DEFUN([TEA_CONFIG_CFLAGS], [ dnl TEA specific: Make sure we are initialized AC_REQUIRE([TEA_INIT]) # Step 0.a: Enable 64 bit support? AC_MSG_CHECKING([if 64bit support is requested]) AC_ARG_ENABLE(64bit, AC_HELP_STRING([--enable-64bit], [enable 64bit support (default: off)]), [do64bit=$enableval], [do64bit=no]) AC_MSG_RESULT([$do64bit]) # Step 0.b: Enable Solaris 64 bit VIS support? AC_MSG_CHECKING([if 64bit Sparc VIS support is requested]) AC_ARG_ENABLE(64bit-vis, AC_HELP_STRING([--enable-64bit-vis], [enable 64bit Sparc VIS support (default: off)]), [do64bitVIS=$enableval], [do64bitVIS=no]) AC_MSG_RESULT([$do64bitVIS]) # Force 64bit on with VIS AS_IF([test "$do64bitVIS" = "yes"], [do64bit=yes]) # Step 0.c: Check if visibility support is available. Do this here so # that platform specific alternatives can be used below if this fails. AC_CACHE_CHECK([if compiler supports visibility "hidden"], tcl_cv_cc_visibility_hidden, [ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror" AC_TRY_LINK([ extern __attribute__((__visibility__("hidden"))) void f(void); void f(void) {}], [f();], tcl_cv_cc_visibility_hidden=yes, tcl_cv_cc_visibility_hidden=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_visibility_hidden = yes], [ AC_DEFINE(MODULE_SCOPE, [extern __attribute__((__visibility__("hidden")))], [Compiler support for module scope symbols]) ]) # Step 0.d: Disable -rpath support? AC_MSG_CHECKING([if rpath support is requested]) AC_ARG_ENABLE(rpath, AC_HELP_STRING([--disable-rpath], [disable rpath support (default: on)]), [doRpath=$enableval], [doRpath=yes]) AC_MSG_RESULT([$doRpath]) # TEA specific: Cross-compiling options for Windows/CE builds? AS_IF([test "${TEA_PLATFORM}" = windows], [ AC_MSG_CHECKING([if Windows/CE build is requested]) AC_ARG_ENABLE(wince, AC_HELP_STRING([--enable-wince], [enable Win/CE support (where applicable)]), [doWince=$enableval], [doWince=no]) AC_MSG_RESULT([$doWince]) ]) # Step 1: set the variable "system" to hold the name and version number # for the system. TEA_CONFIG_SYSTEM # Step 2: check for existence of -ldl library. This is needed because # Linux can use either -ldl or -ldld for dynamic loading. AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) # Require ranlib early so we can override it in special cases below. AC_REQUIRE([AC_PROG_RANLIB]) # Step 3: set configuration options based on system name and version. # This is similar to Tcl's unix/tcl.m4 except that we've added a # "windows" case. do64bit_ok=no LDFLAGS_ORIG="$LDFLAGS" # When ld needs options to work in 64-bit mode, put them in # LDFLAGS_ARCH so they eventually end up in LDFLAGS even if [load] # is disabled by the user. [Bug 1016796] LDFLAGS_ARCH="" TCL_EXPORT_FILE_SUFFIX="" UNSHARED_LIB_SUFFIX="" # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ECHO_VERSION='`echo ${PACKAGE_VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O AS_IF([test "$GCC" = yes], [ # TEA specific: CFLAGS_OPTIMIZE=-O2 CFLAGS_WARNING="-Wall -Wno-implicit-int" ], [CFLAGS_WARNING=""]) TCL_NEEDS_EXP_FILE=0 TCL_BUILD_EXP_FILE="" TCL_EXP_FILE="" dnl FIXME: Replace AC_CHECK_PROG with AC_CHECK_TOOL once cross compiling is fixed. dnl AC_CHECK_TOOL(AR, ar) AC_CHECK_PROG(AR, ar, ar) STLIB_LD='${AR} cr' LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" case $system in # TEA specific: windows) # This is a 2-stage check to make sure we have the 64-bit SDK # We have to know where the SDK is installed. # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs # MACHINE is IX86 for LINK, but this is used by the manifest, # which requires x86|amd64|ia64. MACHINE="X86" if test "$do64bit" != "no" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft Platform SDK" fi MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'` PATH64="" case "$do64bit" in amd64|x64|yes) MACHINE="AMD64" ; # default to AMD64 64-bit build PATH64="${MSSDK}/Bin/Win64/x86/AMD64" ;; ia64) MACHINE="IA64" PATH64="${MSSDK}/Bin/Win64" ;; esac if test ! -d "${PATH64}" ; then AC_MSG_WARN([Could not find 64-bit $MACHINE SDK to enable 64bit mode]) AC_MSG_WARN([Ensure latest Platform SDK is installed]) do64bit="no" else AC_MSG_RESULT([ Using 64-bit $MACHINE mode]) do64bit_ok="yes" fi fi if test "$doWince" != "no" ; then if test "$do64bit" != "no" ; then AC_MSG_ERROR([Windows/CE and 64-bit builds incompatible]) fi if test "$GCC" = "yes" ; then AC_MSG_ERROR([Windows/CE and GCC builds incompatible]) fi TEA_PATH_CELIB # Set defaults for common evc4/PPC2003 setup # Currently Tcl requires 300+, possibly 420+ for sockets CEVERSION=420; # could be 211 300 301 400 420 ... TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... ARCH=ARM; # could be ARM MIPS X86EM ... PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" if test "$doWince" != "yes"; then # If !yes then the user specified something # Reset ARCH to allow user to skip specifying it ARCH= eval `echo $doWince | awk -F, '{ \ if (length([$]1)) { printf "CEVERSION=\"%s\"\n", [$]1; \ if ([$]1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ if (length([$]2)) { printf "TARGETCPU=\"%s\"\n", toupper([$]2) }; \ if (length([$]3)) { printf "ARCH=\"%s\"\n", toupper([$]3) }; \ if (length([$]4)) { printf "PLATFORM=\"%s\"\n", [$]4 }; \ }'` if test "x${ARCH}" = "x" ; then ARCH=$TARGETCPU; fi fi OSVERSION=WCE$CEVERSION; if test "x${WCEROOT}" = "x" ; then WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" if test ! -d "${WCEROOT}" ; then WCEROOT="C:/Program Files/Microsoft eMbedded Tools" fi fi if test "x${SDKROOT}" = "x" ; then SDKROOT="C:/Program Files/Windows CE Tools" if test ! -d "${SDKROOT}" ; then SDKROOT="C:/Windows CE Tools" fi fi WCEROOT=`echo "$WCEROOT" | sed -e 's!\\\!/!g'` SDKROOT=`echo "$SDKROOT" | sed -e 's!\\\!/!g'` if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then AC_MSG_ERROR([could not find PocketPC SDK or target compiler to enable WinCE mode [$CEVERSION,$TARGETCPU,$ARCH,$PLATFORM]]) doWince="no" else # We could PATH_NOSPACE these, but that's not important, # as long as we quote them when used. CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" if test -d "${CEINCLUDE}/${TARGETCPU}" ; then CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" fi CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" fi fi if test "$GCC" != "yes" ; then if test "${SHARED_BUILD}" = "0" ; then runtime=-MT else runtime=-MD fi if test "$do64bit" != "no" ; then # All this magic is necessary for the Win64 SDK RC1 - hobbs CC="\"${PATH64}/cl.exe\"" CFLAGS="${CFLAGS} -I\"${MSSDK}/Include\" -I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\"" RC="\"${MSSDK}/bin/rc.exe\"" lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\"" LINKBIN="\"${PATH64}/link.exe\"" CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" # Avoid 'unresolved external symbol __security_cookie' # errors, c.f. http://support.microsoft.com/?id=894573 TEA_ADD_LIBS([bufferoverflowU.lib]) elif test "$doWince" != "no" ; then CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" if test "${TARGETCPU}" = "X86"; then CC="\"${CEBINROOT}/cl.exe\"" else CC="\"${CEBINROOT}/cl${ARCH}.exe\"" fi CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" RC="\"${WCEROOT}/Common/EVC/bin/rc.exe\"" arch=`echo ${ARCH} | awk '{print tolower([$]0)}'` defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" if test "${SHARED_BUILD}" = "1" ; then # Static CE builds require static celib as well defs="${defs} _DLL" fi for i in $defs ; do AC_DEFINE_UNQUOTED($i, 1, [WinCE def ]$i) done AC_DEFINE_UNQUOTED(_WIN32_WCE, $CEVERSION, [_WIN32_WCE version]) AC_DEFINE_UNQUOTED(UNDER_CE, $CEVERSION, [UNDER_CE version]) CFLAGS_DEBUG="-nologo -Zi -Od" CFLAGS_OPTIMIZE="-nologo -Ox" lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" LINKBIN="\"${CEBINROOT}/link.exe\"" AC_SUBST(CELIB_DIR) else RC="rc" lflags="-nologo" LINKBIN="link" CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" fi fi if test "$GCC" = "yes"; then # mingw gcc mode RC="windres" CFLAGS_DEBUG="-g" CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" SHLIB_LD="$CC -shared" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" else SHLIB_LD="${LINKBIN} -dll ${lflags}" # link -lib only works when -lib is the first arg STLIB_LD="${LINKBIN} -lib ${lflags}" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' PATHTYPE=-w # For information on what debugtype is most useful, see: # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp # This essentially turns it all on. LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" LDFLAGS_OPTIMIZE="-release" if test "$doWince" != "no" ; then LDFLAGS_CONSOLE="-link ${lflags}" LDFLAGS_WINDOW=${LDFLAGS_CONSOLE} else LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" fi fi SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dll" SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' TCL_LIB_VERSIONS_OK=nodots # Bogus to avoid getting this turned off DL_OBJS="tclLoadNone.obj" ;; AIX-*) AS_IF([test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"], [ # AIX requires the _r compiler when gcc isn't being used case "${CC}" in *_r) # ok ... ;; *) CC=${CC}_r ;; esac AC_MSG_RESULT([Using $CC for compiling with threads]) ]) LIBS="$LIBS -lc" SHLIB_CFLAGS="" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" LD_LIBRARY_PATH_VAR="LIBPATH" # Check to enable 64-bit flags for compiler/linker on AIX 4+ AS_IF([test "$do64bit" = yes -a "`uname -v`" -gt 3], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported with GCC on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -q64" LDFLAGS_ARCH="-q64" RANLIB="${RANLIB} -X64" AR="${AR} -X64" SHLIB_LD_FLAGS="-b64" ]) ]) AS_IF([test "`uname -m`" = ia64], [ # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC SHLIB_LD="/usr/ccs/bin/ld -G -z text" # AIX-5 has dl* in libc.so DL_LIBS="" AS_IF([test "$GCC" = yes], [ CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' ], [ CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' ]) LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' ], [ AS_IF([test "$GCC" = yes], [SHLIB_LD='${CC} -shared'], [ SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" ]) SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR} -L{LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} TCL_NEEDS_EXP_FILE=1 # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' ]) # AIX v<=4.1 has some different flags than 4.2+ AS_IF([test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4], [ AC_LIBOBJ([tclLoadAix]) DL_LIBS="-lld" ]) # On AIX <=v4 systems, libbsd.a has to be linked in to support # non-blocking file IO. This library has to be linked in after # the MATH_LIBS or it breaks the pow() function. The way to # insure proper sequencing, is to add it to the tail of MATH_LIBS. # This library also supplies gettimeofday. # # AIX does not have a timezone field in struct tm. When the AIX # bsd library is used, the timezone global and the gettimeofday # methods are to be avoided for timezone deduction instead, we # deduce the timezone by comparing the localtime result on a # known GMT value. AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes, libbsd=no) AS_IF([test $libbsd = yes], [ MATH_LIBS="$MATH_LIBS -lbsd" AC_DEFINE(USE_DELTA_FOR_TZ, 1, [Do we need a special AIX hack for timezones?]) ]) ;; BeOS*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -nostart' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" #----------------------------------------------------------- # Check for inet_ntoa in -lbind, for BeOS (which also needs # -lsocket, even if the network functions are in -lnet which # is always linked to, for compatibility. #----------------------------------------------------------- AC_CHECK_LIB(bind, inet_ntoa, [LIBS="$LIBS -lbind -lsocket"]) ;; BSD/OS-2.1*|BSD/OS-3*) SHLIB_CFLAGS="" SHLIB_LD="shlicc -r" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; BSD/OS-4.*) SHLIB_CFLAGS="-export-dynamic -fPIC" SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; dgux*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; HP-UX-*.11.*) # Use updated header definitions where possible AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Do we want to use the XOPEN network library?]) # TEA specific: Needed by Tcl, but not most extensions #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?]) #LIBS="$LIBS -lxnet" # Use the XOPEN network library AS_IF([test "`uname -m`" = ia64], [ SHLIB_SUFFIX=".so" # Use newer C++ library for C++ extensions #if test "$GCC" != "yes" ; then # CPPFLAGS="-AA" #fi ], [ SHLIB_SUFFIX=".sl" ]) AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) AS_IF([test "$tcl_ok" = yes], [ SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" ]) AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ]) # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc #CFLAGS="$CFLAGS +DAportable" # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = "yes"], [ AS_IF([test "$GCC" = yes], [ case `${CC} -dumpmachine` in hppa64*) # 64-bit gcc in use. Fix flags for GNU ld. do64bit_ok=yes SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ;; *) AC_MSG_WARN([64bit mode not supported with GCC on $system]) ;; esac ], [ do64bit_ok=yes CFLAGS="$CFLAGS +DD64" LDFLAGS_ARCH="+DD64" ]) ]) ;; HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) SHLIB_SUFFIX=".sl" AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) AS_IF([test "$tcl_ok" = yes], [ SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS="" DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" ]) ;; IRIX-5.*) SHLIB_CFLAGS="" SHLIB_LD="ld -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}']) ;; IRIX-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}']) AS_IF([test "$GCC" = yes], [ CFLAGS="$CFLAGS -mabi=n32" LDFLAGS="$LDFLAGS -mabi=n32" ], [ case $system in IRIX-6.3) # Use to build 6.2 compatible binaries on 6.3. CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ;; *) CFLAGS="$CFLAGS -n32" ;; esac LDFLAGS="$LDFLAGS -n32" ]) ;; IRIX64-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}']) # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = yes], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported by gcc]) ], [ do64bit_ok=yes SHLIB_LD="ld -64 -shared -rdata_shared" CFLAGS="$CFLAGS -64" LDFLAGS_ARCH="-64" ]) ]) ;; Linux*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" # TEA specific: CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings # when you inline the string and math operations. Turn this off to # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) AS_IF([test $do64bit = yes], [ AC_CACHE_CHECK([if compiler accepts -m64 flag], tcl_cv_cc_m64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -m64" AC_TRY_LINK(,, tcl_cv_cc_m64=yes, tcl_cv_cc_m64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_m64 = yes], [ CFLAGS="$CFLAGS -m64" do64bit_ok=yes ]) ]) # The combo of gcc + glibc has a bug related to inlining of # functions like strtod(). The -fno-builtin flag should address # this problem but it does not work. The -fno-inline flag is kind # of overkill but it works. Disable inlining only when one of the # files in compat/*.c is being linked in. AS_IF([test x"${USE_COMPAT}" != x],[CFLAGS="$CFLAGS -fno-inline"]) ;; GNU*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" SHLIB_LD='${CC} -shared' DL_OBJS="" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) ;; Lynx*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" CFLAGS_OPTIMIZE=-02 SHLIB_LD='${CC} -shared' DL_OBJS="tclLoadDl.o" DL_LIBS="-mshared -ldl" LD_FLAGS="-Wl,--export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}']) ;; MP-RAS-02*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; MP-RAS-*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,-Bexport" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; NetBSD-1.*|FreeBSD-[[1-2]].*) SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}']) AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [ AC_EGREP_CPP(yes, [ #ifdef __ELF__ yes #endif ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)]) AS_IF([test $tcl_cv_ld_elf = yes], [ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' ], [ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ]) # Ancient FreeBSD doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [ AC_EGREP_CPP(yes, [ #ifdef __ELF__ yes #endif ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)]) AS_IF([test $tcl_cv_ld_elf = yes], [ LDFLAGS=-Wl,-export-dynamic ], [LDFLAGS=""]) # OpenBSD doesn't do version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; NetBSD-*|FreeBSD-*) # FreeBSD 3.* and greater have ELF. # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" LDFLAGS="$LDFLAGS -export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "${TCL_THREADS}" = "1"], [ # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" ]) case $system in FreeBSD-3.*) # FreeBSD-3 doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' TCL_LIB_VERSIONS_OK=nodots ;; esac ;; Darwin-*) CFLAGS_OPTIMIZE="-Os" SHLIB_CFLAGS="-fno-common" # To avoid discrepancies between what headers configure sees during # preprocessing tests and compiling tests, move any -isysroot and # -mmacosx-version-min flags from CFLAGS to CPPFLAGS: CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if ([$]i~/^(isysroot|mmacosx-version-min)/) print "-"[$]i}'`" CFLAGS="`echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if (!([$]i~/^(isysroot|mmacosx-version-min)/)) print "-"[$]i}'`" AS_IF([test $do64bit = yes], [ case `arch` in ppc) AC_CACHE_CHECK([if compiler accepts -arch ppc64 flag], tcl_cv_cc_arch_ppc64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" AC_TRY_LINK(,, tcl_cv_cc_arch_ppc64=yes, tcl_cv_cc_arch_ppc64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_arch_ppc64 = yes], [ CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" do64bit_ok=yes ]);; i386) AC_CACHE_CHECK([if compiler accepts -arch x86_64 flag], tcl_cv_cc_arch_x86_64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch x86_64" AC_TRY_LINK(,, tcl_cv_cc_arch_x86_64=yes, tcl_cv_cc_arch_x86_64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_arch_x86_64 = yes], [ CFLAGS="$CFLAGS -arch x86_64" do64bit_ok=yes ]);; *) AC_MSG_WARN([Don't know how enable 64-bit on architecture `arch`]);; esac ], [ # Check for combined 32-bit and 64-bit fat build AS_IF([echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \ && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '], [ fat_32_64=yes]) ]) # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}' AC_CACHE_CHECK([if ld accepts -single_module flag], tcl_cv_ld_single_module, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module" AC_TRY_LINK(, [int i;], tcl_cv_ld_single_module=yes, tcl_cv_ld_single_module=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_single_module = yes], [ SHLIB_LD="${SHLIB_LD} -Wl,-single_module" ]) SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dylib" DL_OBJS="tclLoadDyld.o" DL_LIBS="" # Don't use -prebind when building for Mac OS X 10.4 or later only: AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \ "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4], [ LDFLAGS="$LDFLAGS -prebind"]) LDFLAGS="$LDFLAGS -headerpad_max_install_names" AC_CACHE_CHECK([if ld accepts -search_paths_first flag], tcl_cv_ld_search_paths_first, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-search_paths_first" AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes, tcl_cv_ld_search_paths_first=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_search_paths_first = yes], [ LDFLAGS="$LDFLAGS -Wl,-search_paths_first" ]) AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [ AC_DEFINE(MODULE_SCOPE, [__private_extern__], [Compiler support for module scope symbols]) ]) CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" # TEA specific: for combined 32 & 64 bit fat builds of Tk # extensions, verify that 64-bit build is possible. AS_IF([test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"], [ AS_IF([test "${TEA_WINDOWINGSYSTEM}" = x11], [ AC_CACHE_CHECK([for 64-bit X11], tcl_cv_lib_x11_64, [ for v in CFLAGS CPPFLAGS LDFLAGS; do eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"' done CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include" LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11" AC_TRY_LINK([#include ], [XrmInitialize();], tcl_cv_lib_x11_64=yes, tcl_cv_lib_x11_64=no) for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="$hold_'$v'"' done]) ]) # remove 64-bit arch flags from CFLAGS et al. if configuration # does not support 64-bit. AS_IF([test "${TEA_WINDOWINGSYSTEM}" = aqua -o "$tcl_cv_lib_x11_64" = no], [ AC_MSG_NOTICE([Removing 64-bit architectures from compiler & linker flags]) for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"' done]) ]) ;; NEXTSTEP-*) SHLIB_CFLAGS="" SHLIB_LD='${CC} -nostdlib -r' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadNext.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OS/390-*) CFLAGS_OPTIMIZE="" # Optimizer is buggy AC_DEFINE(_OE_SOCKETS, 1, # needed in sys/socket.h [Should OS/390 do the right thing with sockets?]) ;; OSF1-1.0|OSF1-1.1|OSF1-1.2) # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 SHLIB_CFLAGS="" # Hack: make package name same as library name SHLIB_LD='ld -R -export $@:' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadOSF.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-1.*) # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 SHLIB_CFLAGS="-fPIC" AS_IF([test "$SHARED_BUILD" = 1], [SHLIB_LD="ld -shared"], [ SHLIB_LD="ld -non_shared" ]) SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-V*) # Digital OSF/1 SHLIB_CFLAGS="" AS_IF([test "$SHARED_BUILD" = 1], [ SHLIB_LD='ld -shared -expect_unresolved "*"' ], [ SHLIB_LD='ld -non_shared -expect_unresolved "*"' ]) SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}']) AS_IF([test "$GCC" = yes], [CFLAGS="$CFLAGS -mieee"], [ CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"]) # see pthread_intro(3) for pthread support on osf1, k.furukawa AS_IF([test "${TCL_THREADS}" = 1], [ CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" LIBS=`echo $LIBS | sed s/-lpthreads//` AS_IF([test "$GCC" = yes], [ LIBS="$LIBS -lpthread -lmach -lexc" ], [ CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" ]) ]) ;; QNX-6*) # QNX RTP # This may work for all QNX, but it was only reported for v6. SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" # dlopen is in -lc on QNX DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SCO_SV-3.2*) # Note, dlopen is available only on SCO 3.2.5 and greater. However, # this test works, since "uname -s" was non-standard in 3.2.4 and # below. AS_IF([test "$GCC" = yes], [ SHLIB_CFLAGS="-fPIC -melf" LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" ], [ SHLIB_CFLAGS="-Kpic -belf" LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" ]) SHLIB_LD="ld -G" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SINIX*5.4*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SunOS-4*) SHLIB_CFLAGS="-PIC" SHLIB_LD="ld" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR} -L{LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} # SunOS can't handle version numbers with dots in them in library # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it # requires an extra version number at the end of .so file names. # So, the library has to have a name like libtcl75.so.1.0 SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; SunOS-5.[[0-6]]) # Careful to not let 5.10+ fall into this case # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?]) AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Do we really want to follow the standard? Yes we do!]) SHLIB_CFLAGS="-KPIC" # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ], [ SHLIB_LD="/usr/ccs/bin/ld -G -z text" CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ]) ;; SunOS-5*) # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?]) AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Do we really want to follow the standard? Yes we do!]) SHLIB_CFLAGS="-KPIC" # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = yes], [ arch=`isainfo` AS_IF([test "$arch" = "sparcv9 sparc"], [ AS_IF([test "$GCC" = yes], [ AS_IF([test "`${CC} -dumpversion | awk -F. '{print [$]1}'`" -lt 3], [ AC_MSG_WARN([64bit mode not supported with GCC < 3.2 on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -m64 -mcpu=v9" LDFLAGS="$LDFLAGS -m64 -mcpu=v9" SHLIB_CFLAGS="-fPIC" ]) ], [ do64bit_ok=yes AS_IF([test "$do64bitVIS" = yes], [ CFLAGS="$CFLAGS -xarch=v9a" LDFLAGS_ARCH="-xarch=v9a" ], [ CFLAGS="$CFLAGS -xarch=v9" LDFLAGS_ARCH="-xarch=v9" ]) # Solaris 64 uses this as well #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64" ]) ], [AS_IF([test "$arch" = "amd64 i386"], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported with GCC on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -xarch=amd64" LDFLAGS="$LDFLAGS -xarch=amd64" ]) ], [AC_MSG_WARN([64bit mode not supported for $arch])])]) ]) # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "$do64bit_ok" = yes], [ # We need to specify -static-libgcc or we need to # add the path to the sparv9 libgcc. # JH: static-libgcc is necessary for core Tcl, but may # not be necessary for extensions. SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" # for finding sparcv9 libgcc, get the regular libgcc # path, remove so name and append 'sparcv9' #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir" ]) ], [ case $system in SunOS-5.[[1-9]][[0-9]]*) SHLIB_LD='${CC} -G -z text';; *) SHLIB_LD='/usr/ccs/bin/ld -G -z text';; esac CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' ]) ;; UNIX_SV* | UnixWare-5*) SHLIB_CFLAGS="-KPIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers # that don't grok the -Bexport option. Test that it does. AC_CACHE_CHECK([for ld accepts -Bexport flag], tcl_cv_ld_Bexport, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bexport" AC_TRY_LINK(, [int i;], tcl_cv_ld_Bexport=yes, tcl_cv_ld_Bexport=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_Bexport = yes], [ LDFLAGS="$LDFLAGS -Wl,-Bexport" ]) CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; esac AS_IF([test "$do64bit" = yes -a "$do64bit_ok" = no], [ AC_MSG_WARN([64bit support being disabled -- don't know magic for this platform]) ]) dnl # Add any CPPFLAGS set in the environment to our CFLAGS, but delay doing so dnl # until the end of configure, as configure's compile and link tests use dnl # both CPPFLAGS and CFLAGS (unlike our compile and link) but configure's dnl # preprocessing tests use only CPPFLAGS. AC_CONFIG_COMMANDS_PRE([CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""]) # Step 4: disable dynamic loading if requested via a command-line switch. AC_ARG_ENABLE(load, AC_HELP_STRING([--enable-load], [allow dynamic loading and "load" command (default: on)]), [tcl_ok=$enableval], [tcl_ok=yes]) AS_IF([test "$tcl_ok" = no], [DL_OBJS=""]) AS_IF([test "x$DL_OBJS" != x], [BUILD_DLTEST="\$(DLTEST_TARGETS)"], [ AC_MSG_WARN([Can't figure out how to do dynamic loading or shared libraries on this system.]) SHLIB_CFLAGS="" SHLIB_LD="" SHLIB_SUFFIX="" DL_OBJS="tclLoadNone.o" DL_LIBS="" LDFLAGS="$LDFLAGS_ORIG" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" BUILD_DLTEST="" ]) LDFLAGS="$LDFLAGS $LDFLAGS_ARCH" # If we're running gcc, then change the C flags for compiling shared # libraries to the right flags for gcc, instead of those for the # standard manufacturer compiler. AS_IF([test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes], [ case $system in AIX-*) ;; BSD/OS*) ;; IRIX*) ;; NetBSD-*|FreeBSD-*) ;; Darwin-*) ;; SCO_SV-3.2*) ;; *) SHLIB_CFLAGS="-fPIC" ;; esac]) AS_IF([test "$SHARED_LIB_SUFFIX" = ""], [ # TEA specific: use PACKAGE_VERSION instead of VERSION SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}']) AS_IF([test "$UNSHARED_LIB_SUFFIX" = ""], [ # TEA specific: use PACKAGE_VERSION instead of VERSION UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a']) AC_SUBST(DL_LIBS) AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(CFLAGS_WARNING) AC_SUBST(STLIB_LD) AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_LD_LIBS) AC_SUBST(SHLIB_CFLAGS) AC_SUBST(LD_LIBRARY_PATH_VAR) # These must be called after we do the basic CFLAGS checks and # verify any possible 64-bit or similar switches are necessary TEA_TCL_EARLY_FLAGS TEA_TCL_64BIT_FLAGS ]) # Local Variables: # mode: autoconf # End: flightaware-Pgtcl-8d02566/configure000077500000000000000000010010141203531660700172450ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for pgtcl 1.9. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pgtcl' PACKAGE_TARNAME='pgtcl' PACKAGE_VERSION='1.9' PACKAGE_STRING='pgtcl 1.9' PACKAGE_BUGREPORT='' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS TCLSH_PROG RANLIB_STUB MAKE_STUB_LIB MAKE_STATIC_LIB MAKE_SHARED_LIB MAKE_LIB TCL_DBGX LDFLAGS_DEFAULT CFLAGS_DEFAULT LD_LIBRARY_PATH_VAR SHLIB_CFLAGS SHLIB_LD_LIBS SHLIB_LD STLIB_LD CFLAGS_WARNING CFLAGS_OPTIMIZE CFLAGS_DEBUG DL_LIBS LIBOBJS CELIB_DIR AR SHARED_BUILD TCL_THREADS TCL_INCLUDES CLEANFILES PKG_OBJECTS PKG_SOURCES PG_LIB_DIR PG_LIBS PG_INCLUDES PG_INC_DIR LIBPG PG_CONFIG MATH_LIBS EGREP GREP RANLIB SET_MAKE INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CPP OBJEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC TCL_SHLIB_LD_LIBS TCL_LD_FLAGS TCL_EXTRA_CFLAGS TCL_DEFS TCL_LIBS TCL_STUB_LIB_SPEC TCL_STUB_LIB_FLAG TCL_STUB_LIB_FILE TCL_LIB_SPEC TCL_LIB_FLAG TCL_LIB_FILE TCL_SRC_DIR TCL_BIN_DIR TCL_VERSION PKG_CFLAGS PKG_LIBS PKG_INCLUDES PKG_HEADERS PKG_TCL_SOURCES PKG_STUB_OBJECTS PKG_STUB_SOURCES PKG_STUB_LIB_FILE PKG_LIB_FILE EXEEXT CYGPATH target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_tcl with_postgres_include with_postgres_lib with_tclinclude enable_threads enable_shared enable_64bit enable_64bit_vis enable_rpath enable_wince with_celib enable_load enable_symbols ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures pgtcl 1.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/pgtcl] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of pgtcl 1.9:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-threads build with threads --enable-shared build and link with shared libraries (default: on) --enable-64bit enable 64bit support (default: off) --enable-64bit-vis enable 64bit Sparc VIS support (default: off) --disable-rpath disable rpath support (default: on) --enable-wince enable Win/CE support (where applicable) --enable-load allow dynamic loading and "load" command (default: on) --enable-symbols build with debugging symbols (default: off) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-tcl directory containing tcl configuration (tclConfig.sh) --with-postgres-include directory containing PostgreSQL include files --with-postgres-lib directory containing PostgreSQL library files --with-tclinclude directory containing the public Tcl header files --with-celib=DIR use Windows/CE support library from DIR Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF pgtcl configure 1.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by pgtcl $as_me 1.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. # This will define a ${TEA_PLATFORM} variable == "unix" or "windows" # as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. #-------------------------------------------------------------------- # TEA extensions pass this us the version of TEA they think they # are compatible with. TEA_VERSION="3.6" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for correct TEA configuration" >&5 $as_echo_n "checking for correct TEA configuration... " >&6; } if test x"${PACKAGE_NAME}" = x ; then as_fn_error $? " The PACKAGE_NAME variable must be defined by your TEA configure.in" "$LINENO" 5 fi if test x"3.6" = x ; then as_fn_error $? " TEA version not specified." "$LINENO" 5 elif test "3.6" != "${TEA_VERSION}" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: warning: requested TEA version \"3.6\", have \"${TEA_VERSION}\"" >&5 $as_echo "warning: requested TEA version \"3.6\", have \"${TEA_VERSION}\"" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (TEA ${TEA_VERSION})" >&5 $as_echo "ok (TEA ${TEA_VERSION})" >&6; } fi case "`uname -s`" in *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) # Extract the first word of "cygpath", so it can be a program name with args. set dummy cygpath; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CYGPATH+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CYGPATH"; then ac_cv_prog_CYGPATH="$CYGPATH" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CYGPATH="cygpath -w" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_CYGPATH" && ac_cv_prog_CYGPATH="echo" fi fi CYGPATH=$ac_cv_prog_CYGPATH if test -n "$CYGPATH"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5 $as_echo "$CYGPATH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi EXEEXT=".exe" TEA_PLATFORM="windows" ;; *) CYGPATH=echo EXEEXT="" TEA_PLATFORM="unix" ;; esac # Check if exec_prefix is set. If not use fall back to prefix. # Note when adjusted, so that TEA_PREFIX can correct for this. # This is needed for recursive configures, since autoconf propagates # $prefix, but not $exec_prefix (doh!). if test x$exec_prefix = xNONE ; then exec_prefix_default=yes exec_prefix=$prefix fi # This package name must be replaced statically for AC_SUBST to work # Substitute STUB_LIB_FILE in case package creates a stub library too. # We AC_SUBST these here to ensure they are subst'ed, # in case the user doesn't call TEA_ADD_... ac_aux_dir= for ac_dir in tclconfig "$srcdir"/tclconfig; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in tclconfig \"$srcdir\"/tclconfig" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. #-------------------------------------------------------------------- # Load the tclConfig.sh file #-------------------------------------------------------------------- # # Ok, lets find the tcl configuration # First, look for one uninstalled. # the alternative search directory is invoked by --with-tcl # if test x"${no_tcl}" = x ; then # we reset no_tcl in case something fails here no_tcl=true # Check whether --with-tcl was given. if test "${with_tcl+set}" = set; then : withval=$with_tcl; with_tclconfig=${withval} fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl configuration" >&5 $as_echo_n "checking for Tcl configuration... " >&6; } if ${ac_cv_c_tclconfig+:} false; then : $as_echo_n "(cached) " >&6 else # First check to see if --with-tcl was specified. if test x"${with_tclconfig}" != x ; then case ${with_tclconfig} in */tclConfig.sh ) if test -f ${with_tclconfig}; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&5 $as_echo "$as_me: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&2;} with_tclconfig=`echo ${with_tclconfig} | sed 's!/tclConfig\.sh$!!'` fi ;; esac if test -f "${with_tclconfig}/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` else as_fn_error $? "${with_tclconfig} directory doesn't contain tclConfig.sh" "$LINENO" 5 fi fi # then check for a private Tcl installation if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ../tcl \ `ls -dr ../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ `ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \ ../../tcl \ `ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ `ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \ ../../../tcl \ `ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ `ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi # on Darwin, check in Framework installation locations if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d ~/Library/Frameworks 2>/dev/null` \ `ls -d /Library/Frameworks 2>/dev/null` \ `ls -d /Network/Library/Frameworks 2>/dev/null` \ `ls -d /System/Library/Frameworks 2>/dev/null` \ ; do if test -f "$i/Tcl.framework/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/Tcl.framework; pwd)` break fi done fi # TEA specific: on Windows, check in common installation locations if test "${TEA_PLATFORM}" = "windows" \ -a x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d C:/Tcl/lib 2>/dev/null` \ `ls -d C:/Progra~1/Tcl/lib 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i; pwd)` break fi done fi # check in a few common install locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i; pwd)` break fi done fi # check in a few other private locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ${srcdir}/../tcl \ `ls -dr ${srcdir}/../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi fi if test x"${ac_cv_c_tclconfig}" = x ; then TCL_BIN_DIR="# no Tcl configs found" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Can't find Tcl configuration definitions" >&5 $as_echo "$as_me: WARNING: Can't find Tcl configuration definitions" >&2;} exit 0 else no_tcl= TCL_BIN_DIR=${ac_cv_c_tclconfig} { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ${TCL_BIN_DIR}/tclConfig.sh" >&5 $as_echo "found ${TCL_BIN_DIR}/tclConfig.sh" >&6; } fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for existence of ${TCL_BIN_DIR}/tclConfig.sh" >&5 $as_echo_n "checking for existence of ${TCL_BIN_DIR}/tclConfig.sh... " >&6; } if test -f "${TCL_BIN_DIR}/tclConfig.sh" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: loading" >&5 $as_echo "loading" >&6; } . "${TCL_BIN_DIR}/tclConfig.sh" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not find ${TCL_BIN_DIR}/tclConfig.sh" >&5 $as_echo "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; } fi # eval is required to do the TCL_DBGX substitution eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" # If the TCL_BIN_DIR is the build directory (not the install directory), # then set the common variable name to the value of the build variables. # For example, the variable TCL_LIB_SPEC will be set to the value # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC # instead of TCL_BUILD_LIB_SPEC since it will work with both an # installed and uninstalled version of Tcl. if test -f "${TCL_BIN_DIR}/Makefile" ; then TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} elif test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use the libraries # from the framework at the given location so that linking works # against Tcl.framework installed in an arbitary location. case ${TCL_DEFS} in *TCL_FRAMEWORK*) if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then for i in "`cd ${TCL_BIN_DIR}; pwd`" \ "`cd ${TCL_BIN_DIR}/../..; pwd`"; do if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then TCL_LIB_SPEC="-F`dirname "$i"` -framework ${TCL_LIB_FILE}" break fi done fi if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then TCL_STUB_LIB_SPEC="-L${TCL_BIN_DIR} ${TCL_STUB_LIB_FLAG}" TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}" fi ;; esac fi # eval is required to do the TCL_DBGX substitution eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" # TEA specific: #-------------------------------------------------------------------- # Load the tkConfig.sh file if necessary (Tk extension) #-------------------------------------------------------------------- #TEA_PATH_TKCONFIG #TEA_LOAD_TKCONFIG #----------------------------------------------------------------------- # Handle the --prefix=... option by defaulting to what Tcl gave. # Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. #----------------------------------------------------------------------- if test "${prefix}" = "NONE"; then prefix_default=yes if test x"${TCL_PREFIX}" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&5 $as_echo "$as_me: --prefix defaulting to TCL_PREFIX ${TCL_PREFIX}" >&6;} prefix=${TCL_PREFIX} else { $as_echo "$as_me:${as_lineno-$LINENO}: --prefix defaulting to /usr/local" >&5 $as_echo "$as_me: --prefix defaulting to /usr/local" >&6;} prefix=/usr/local fi fi if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \ -o x"${exec_prefix_default}" = x"yes" ; then if test x"${TCL_EXEC_PREFIX}" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&5 $as_echo "$as_me: --exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}" >&6;} exec_prefix=${TCL_EXEC_PREFIX} else { $as_echo "$as_me:${as_lineno-$LINENO}: --exec-prefix defaulting to ${prefix}" >&5 $as_echo "$as_me: --exec-prefix defaulting to ${prefix}" >&6;} exec_prefix=$prefix fi fi #----------------------------------------------------------------------- # Standard compiler checks. # This sets up CC by using the CC env var, or looks for gcc otherwise. # This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create # the basic setup necessary to compile executables. #----------------------------------------------------------------------- # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE) # in this macro, they need to go into TEA_SETUP_COMPILER instead. # If the user did not set CFLAGS, set it now to keep # the AC_PROG_CC macro from adding "-g -O2". if test "${CFLAGS+set}" != "set" ; then CFLAGS="" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu #-------------------------------------------------------------------- # Checks to see if the make program sets the $MAKE variable. #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi #-------------------------------------------------------------------- # Find ranlib #-------------------------------------------------------------------- if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi #-------------------------------------------------------------------- # Determines the correct binary file extension (.o, .obj, .exe etc.) #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Any macros that use the compiler (e.g. AC_TRY_COMPILE) have to go here. #------------------------------------------------------------------------ # If we're using GCC, see if the compiler understands -pipe. If so, use it. # It makes compiling go faster. (This is only a performance feature.) #------------------------------------------------------------------------ if test -z "$no_pipe" -a -n "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler understands -pipe" >&5 $as_echo_n "checking if the compiler understands -pipe... " >&6; } if ${tcl_cv_cc_pipe+:} false; then : $as_echo_n "(cached) " >&6 else hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_cc_pipe=yes else tcl_cv_cc_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$hold_cflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_pipe" >&5 $as_echo "$tcl_cv_cc_pipe" >&6; } if test $tcl_cv_cc_pipe = yes; then CFLAGS="$CFLAGS -pipe" fi fi #-------------------------------------------------------------------- # Common compiler flag setup #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac if test "${TEA_PLATFORM}" = "unix" ; then #-------------------------------------------------------------------- # On a few very rare systems, all of the libm.a stuff is # already in libc.a. Set compiler flags accordingly. # Also, Linux requires the "ieee" library for math to work # right (and it must appear before "-lm"). #-------------------------------------------------------------------- ac_fn_c_check_func "$LINENO" "sin" "ac_cv_func_sin" if test "x$ac_cv_func_sin" = xyes; then : MATH_LIBS="" else MATH_LIBS="-lm" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lieee" >&5 $as_echo_n "checking for main in -lieee... " >&6; } if ${ac_cv_lib_ieee_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lieee $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ieee_main=yes else ac_cv_lib_ieee_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ieee_main" >&5 $as_echo "$ac_cv_lib_ieee_main" >&6; } if test "x$ac_cv_lib_ieee_main" = xyes; then : MATH_LIBS="-lieee $MATH_LIBS" fi #-------------------------------------------------------------------- # Interactive UNIX requires -linet instead of -lsocket, plus it # needs net/errno.h to define the socket-related error codes. #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5 $as_echo_n "checking for main in -linet... " >&6; } if ${ac_cv_lib_inet_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-linet $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_inet_main=yes else ac_cv_lib_inet_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5 $as_echo "$ac_cv_lib_inet_main" >&6; } if test "x$ac_cv_lib_inet_main" = xyes; then : LIBS="$LIBS -linet" fi ac_fn_c_check_header_mongrel "$LINENO" "net/errno.h" "ac_cv_header_net_errno_h" "$ac_includes_default" if test "x$ac_cv_header_net_errno_h" = xyes; then : $as_echo "#define HAVE_NET_ERRNO_H 1" >>confdefs.h fi #-------------------------------------------------------------------- # Check for the existence of the -lsocket and -lnsl libraries. # The order here is important, so that they end up in the right # order in the command line generated by make. Here are some # special considerations: # 1. Use "connect" and "accept" to check for -lsocket, and # "gethostbyname" to check for -lnsl. # 2. Use each function name only once: can't redo a check because # autoconf caches the results of the last check and won't redo it. # 3. Use -lnsl and -lsocket only if they supply procedures that # aren't already present in the normal libraries. This is because # IRIX 5.2 has libraries, but they aren't needed and they're # bogus: they goof up name resolution if used. # 4. On some SVR4 systems, can't use -lsocket without -lnsl too. # To get around this problem, check for both libraries together # if -lsocket doesn't work by itself. #-------------------------------------------------------------------- tcl_checkBoth=0 ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" if test "x$ac_cv_func_connect" = xyes; then : tcl_checkSocket=0 else tcl_checkSocket=1 fi if test "$tcl_checkSocket" = 1; then ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt" if test "x$ac_cv_func_setsockopt" = xyes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5 $as_echo_n "checking for setsockopt in -lsocket... " >&6; } if ${ac_cv_lib_socket_setsockopt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char setsockopt (); int main () { return setsockopt (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_setsockopt=yes else ac_cv_lib_socket_setsockopt=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5 $as_echo "$ac_cv_lib_socket_setsockopt" >&6; } if test "x$ac_cv_lib_socket_setsockopt" = xyes; then : LIBS="$LIBS -lsocket" else tcl_checkBoth=1 fi fi fi if test "$tcl_checkBoth" = 1; then tk_oldLibs=$LIBS LIBS="$LIBS -lsocket -lnsl" ac_fn_c_check_func "$LINENO" "accept" "ac_cv_func_accept" if test "x$ac_cv_func_accept" = xyes; then : tcl_checkNsl=0 else LIBS=$tk_oldLibs fi fi ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" if test "x$ac_cv_func_gethostbyname" = xyes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; } if ${ac_cv_lib_nsl_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nsl_gethostbyname=yes else ac_cv_lib_nsl_gethostbyname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : LIBS="$LIBS -lnsl" fi fi # TEA specific: Don't perform the eval of the libraries here because # DL_LIBS won't be set until we call TEA_CONFIG_CFLAGS TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}' { $as_echo "$as_me:${as_lineno-$LINENO}: checking dirent.h" >&5 $as_echo_n "checking dirent.h... " >&6; } if ${tcl_cv_dirent_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #ifndef _POSIX_SOURCE # ifdef __Lynx__ /* * Generate compilation error to make the test fail: Lynx headers * are only valid if really in the POSIX environment. */ missing_procedure(); # endif #endif DIR *d; struct dirent *entryPtr; char *p; d = opendir("foobar"); entryPtr = readdir(d); p = entryPtr->d_name; closedir(d); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_dirent_h=yes else tcl_cv_dirent_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_dirent_h" >&5 $as_echo "$tcl_cv_dirent_h" >&6; } if test $tcl_cv_dirent_h = no; then $as_echo "#define NO_DIRENT_H 1" >>confdefs.h fi # TEA specific: ac_fn_c_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" if test "x$ac_cv_header_errno_h" = xyes; then : else $as_echo "#define NO_ERRNO_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default" if test "x$ac_cv_header_float_h" = xyes; then : else $as_echo "#define NO_FLOAT_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "values.h" "ac_cv_header_values_h" "$ac_includes_default" if test "x$ac_cv_header_values_h" = xyes; then : else $as_echo "#define NO_VALUES_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" if test "x$ac_cv_header_limits_h" = xyes; then : $as_echo "#define HAVE_LIMITS_H 1" >>confdefs.h else $as_echo "#define NO_LIMITS_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : tcl_ok=1 else tcl_ok=0 fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "strtol" >/dev/null 2>&1; then : else tcl_ok=0 fi rm -f conftest* cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "strtoul" >/dev/null 2>&1; then : else tcl_ok=0 fi rm -f conftest* cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "strtod" >/dev/null 2>&1; then : else tcl_ok=0 fi rm -f conftest* if test $tcl_ok = 0; then $as_echo "#define NO_STDLIB_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" if test "x$ac_cv_header_string_h" = xyes; then : tcl_ok=1 else tcl_ok=0 fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "strstr" >/dev/null 2>&1; then : else tcl_ok=0 fi rm -f conftest* cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "strerror" >/dev/null 2>&1; then : else tcl_ok=0 fi rm -f conftest* # See also memmove check below for a place where NO_STRING_H can be # set and why. if test $tcl_ok = 0; then $as_echo "#define NO_STRING_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default" if test "x$ac_cv_header_sys_wait_h" = xyes; then : else $as_echo "#define NO_SYS_WAIT_H 1" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes; then : else $as_echo "#define NO_DLFCN_H 1" >>confdefs.h fi # OS/390 lacks sys/param.h (and doesn't need it, by chance). for ac_header in sys/param.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" if test "x$ac_cv_header_sys_param_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_PARAM_H 1 _ACEOF fi done # Let the user call this, because if it triggers, they will # need a compat/strtod.c that is correct. Users can also # use Tcl_GetDouble(FromObj) instead. #TEA_BUGGY_STRTOD fi #-------------------------------------------------------------------- # Get the paths to the Postgres includes and libraries. #-------------------------------------------------------------------- # Check whether --with-postgres-include was given. if test "${with_postgres_include+set}" = set; then : withval=$with_postgres_include; fi # Check whether --with-postgres-lib was given. if test "${with_postgres_lib+set}" = set; then : withval=$with_postgres_lib; fi need_pg_config="" if test "${with_postgres_include+set}" = "set"; then PG_INC_DIR="${with_postgres_include}" { $as_echo "$as_me:${as_lineno-$LINENO}: result: using PostgreSQL include dir of... \"$PG_INC_DIR\"" >&5 $as_echo "using PostgreSQL include dir of... \"$PG_INC_DIR\"" >&6; } else need_pg_config="1" fi if test "${with_postgres_lib+set}" = "set"; then PG_LIB_DIR="${with_postgres_lib}" { $as_echo "$as_me:${as_lineno-$LINENO}: result: using PostgreSQL lib dir of... \"$PG_LIB_DIR\"" >&5 $as_echo "using PostgreSQL lib dir of... \"$PG_LIB_DIR\"" >&6; } else need_pg_config="1" fi if test "$need_pg_config" = "1"; then for ac_prog in pg_config do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PG_CONFIG="$PG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PG_CONFIG=$ac_cv_path_PG_CONFIG if test -n "$PG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 $as_echo "$PG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$PG_CONFIG" && break done if test "$PG_CONFIG" = ""; then as_fn_error $? "Cannot locate program pg_config to determine PostgreSQL paths. Make sure pg_config is in PATH or set PG_CONFIG env var to path to pg_config." "$LINENO" 5 fi if test "${with_postgres_include+set}" != "set"; then PG_INC_DIR="`$PG_CONFIG --includedir`" { $as_echo "$as_me:${as_lineno-$LINENO}: result: using pg_config-reported PostgreSQL include dir of... \"$PG_INC_DIR\"" >&5 $as_echo "using pg_config-reported PostgreSQL include dir of... \"$PG_INC_DIR\"" >&6; } fi if test "${with_postgres_lib+set}" != "set"; then PG_LIB_DIR="`$PG_CONFIG --libdir`" { $as_echo "$as_me:${as_lineno-$LINENO}: result: using pg_config-reported PostgreSQL lib dir of... \"$PG_LIB_DIR\"" >&5 $as_echo "using pg_config-reported PostgreSQL lib dir of... \"$PG_LIB_DIR\"" >&6; } fi fi LIBPG="" PG_INCLUDES="-I$PG_INC_DIR" PKG_INCLUDES="-I$PG_INC_DIR" PG_LIBS="-L$PG_LIB_DIR -lpq" PKG_LIBS="-L$PG_LIB_DIR -lpq" if test ! "$PG_LIB_DIR" = ""; then LIBPG="libpq${SHLIB_SUFFIX}" fi #-------------------------------------------------------------------- # Determine if certain PostgreSQL functions are defined # (Postgres 7.4 and above) #-------------------------------------------------------------------- SAVE_LIBS=$LIBS LIBS="$PG_LIBS $LIBS $TCL_LIB_SPEC" for ac_func in Tcl_NewDictObj PQexecParams PQexecPrepared PQsendQueryParams PQsendQueryPrepared PQserverVersion lo_truncate PQsetSingleRowMode do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done #LIBS=$SAVE_LIBS #----------------------------------------------------------------------- # __CHANGE__ # Specify the C source files to compile in TEA_ADD_SOURCES, # public headers that need to be installed in TEA_ADD_HEADERS, # stub library C source files to compile in TEA_ADD_STUB_SOURCES, # and runtime Tcl library files in TEA_ADD_TCL_SOURCES. # This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS # and PKG_TCL_SOURCES. #----------------------------------------------------------------------- vars="pgtcl.c pgtclCmds.c pgtclId.c" for i in $vars; do case $i in \$*) # allow $-var names PKG_SOURCES="$PKG_SOURCES $i" PKG_OBJECTS="$PKG_OBJECTS $i" ;; *) # check for existence - allows for generic/win/unix VPATH # To add more dirs here (like 'src'), you have to update VPATH # in Makefile.in as well if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ; then as_fn_error $? "could not find source file '$i'" "$LINENO" 5 fi PKG_SOURCES="$PKG_SOURCES $i" # this assumes it is in a VPATH dir i=`basename $i` # handle user calling this before or after TEA_SETUP_COMPILER if test x"${OBJEXT}" != x ; then j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" else j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" fi PKG_OBJECTS="$PKG_OBJECTS $j" ;; esac done vars="generic/libpgtcl.h" for i in $vars; do # check for existence, be strict because it is installed if test ! -f "${srcdir}/$i" ; then as_fn_error $? "could not find header file '${srcdir}/$i'" "$LINENO" 5 fi PKG_HEADERS="$PKG_HEADERS $i" done vars="" for i in $vars; do PKG_INCLUDES="$PKG_INCLUDES $i" done vars="" for i in $vars; do if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then # Convert foo.lib to -lfoo for GCC. No-op if not *.lib i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'` fi PKG_LIBS="$PKG_LIBS $i" done PKG_CFLAGS="$PKG_CFLAGS " vars="" for i in $vars; do # check for existence - allows for generic/win/unix VPATH if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ; then as_fn_error $? "could not find stub source file '$i'" "$LINENO" 5 fi PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i" # this assumes it is in a VPATH dir i=`basename $i` # handle user calling this before or after TEA_SETUP_COMPILER if test x"${OBJEXT}" != x ; then j="`echo $i | sed -e 's/\.[^.]*$//'`.${OBJEXT}" else j="`echo $i | sed -e 's/\.[^.]*$//'`.\${OBJEXT}" fi PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j" done vars="runtime/pgtcl.tcl" for i in $vars; do # check for existence, be strict because it is installed if test ! -f "${srcdir}/$i" ; then as_fn_error $? "could not find tcl source file '${srcdir}/$i'" "$LINENO" 5 fi PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i" done #-------------------------------------------------------------------- # __CHANGE__ # A few miscellaneous platform-specific items: # # Define a special symbol for Windows (BUILD_sample in this case) so # that we create the export library with the dll. # # Windows creates a few extra files that need to be cleaned up. # You can add more files to clean if your extension creates any extra # files. # # TEA_ADD_* any platform specific compiler/build info here. #-------------------------------------------------------------------- #CLEANFILES="pkgIndex.tcl" if test "${TEA_PLATFORM}" = "windows" ; then $as_echo "#define BUILD_libpgtcl 1" >>confdefs.h CLEANFILES="$CLEANFILES *.lib *.dll *.exp *.ilk *.pdb vc*.pch" #TEA_ADD_SOURCES([win/winFile.c]) #TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${srcdir}/win)\"]) else # Ensure no empty else clauses : #TEA_ADD_SOURCES([unix/unixFile.c]) #TEA_ADD_LIBS([-lsuperfly]) fi #-------------------------------------------------------------------- # __CHANGE__ # Choose which headers you need. Extension authors should try very # hard to only rely on the Tcl public header files. Internal headers # contain private data structures and are subject to change without # notice. # This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl public headers" >&5 $as_echo_n "checking for Tcl public headers... " >&6; } # Check whether --with-tclinclude was given. if test "${with_tclinclude+set}" = set; then : withval=$with_tclinclude; with_tclinclude=${withval} fi if ${ac_cv_c_tclh+:} false; then : $as_echo_n "(cached) " >&6 else # Use the value from --with-tclinclude, if it was given if test x"${with_tclinclude}" != x ; then if test -f "${with_tclinclude}/tcl.h" ; then ac_cv_c_tclh=${with_tclinclude} else as_fn_error $? "${with_tclinclude} directory does not contain tcl.h" "$LINENO" 5 fi else if test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use # the framework's Headers directory case ${TCL_DEFS} in *TCL_FRAMEWORK*) list="`ls -d ${TCL_BIN_DIR}/Headers 2>/dev/null`" ;; esac fi # Look in the source dir only if Tcl is not installed, # and in that situation, look there before installed locations. if test -f "${TCL_BIN_DIR}/Makefile" ; then list="$list `ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`" fi # Check order: pkg --prefix location, Tcl's --prefix location, # relative to directory of tclConfig.sh. eval "temp_includedir=${includedir}" list="$list \ `ls -d ${temp_includedir} 2>/dev/null` \ `ls -d ${TCL_PREFIX}/include 2>/dev/null` \ `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null`" if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then list="$list /usr/local/include /usr/include" if test x"${TCL_INCLUDE_SPEC}" != x ; then d=`echo "${TCL_INCLUDE_SPEC}" | sed -e 's/^-I//'` list="$list `ls -d ${d} 2>/dev/null`" fi fi for i in $list ; do if test -f "$i/tcl.h" ; then ac_cv_c_tclh=$i break fi done fi fi # Print a message based on how we determined the include path if test x"${ac_cv_c_tclh}" = x ; then as_fn_error $? "tcl.h not found. Please specify its location with --with-tclinclude" "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_c_tclh}" >&5 $as_echo "${ac_cv_c_tclh}" >&6; } fi # Convert to a native path and substitute into the output files. INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}` TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" #TEA_PRIVATE_TCL_HEADERS #TEA_PUBLIC_TK_HEADERS #TEA_PRIVATE_TK_HEADERS #TEA_PATH_X #-------------------------------------------------------------------- # Check whether --enable-threads or --disable-threads was given. # This auto-enables if Tcl was compiled threaded. #-------------------------------------------------------------------- # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then : enableval=$enable_threads; tcl_ok=$enableval else tcl_ok=yes fi if test "${enable_threads+set}" = set; then enableval="$enable_threads" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then TCL_THREADS=1 if test "${TEA_PLATFORM}" != "windows" ; then # We are always OK on Windows, so check what this platform wants: # USE_THREAD_ALLOC tells us to try the special thread-based # allocator that significantly reduces lock contention $as_echo "#define USE_THREAD_ALLOC 1" >>confdefs.h $as_echo "#define _REENTRANT 1" >>confdefs.h if test "`uname -s`" = "SunOS" ; then $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h fi $as_echo "#define _THREAD_SAFE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthread" >&5 $as_echo_n "checking for pthread_mutex_init in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_mutex_init=yes else ac_cv_lib_pthread_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthread_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthread_pthread_mutex_init" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = "no"; then # Check a little harder for __pthread_mutex_init in the same # library, as some systems hide it there until pthread.h is # defined. We could alternatively do an AC_TRY_COMPILE with # pthread.h, but that will work with libpthread really doesn't # exist, like AIX 4.2. [Bug: 4359] { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __pthread_mutex_init in -lpthread" >&5 $as_echo_n "checking for __pthread_mutex_init in -lpthread... " >&6; } if ${ac_cv_lib_pthread___pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char __pthread_mutex_init (); int main () { return __pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread___pthread_mutex_init=yes else ac_cv_lib_pthread___pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread___pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthread___pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthread___pthread_mutex_init" = xyes; then : tcl_ok=yes else tcl_ok=no fi fi if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -lpthread" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthreads" >&5 $as_echo_n "checking for pthread_mutex_init in -lpthreads... " >&6; } if ${ac_cv_lib_pthreads_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthreads $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthreads_pthread_mutex_init=yes else ac_cv_lib_pthreads_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthreads_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthreads_pthread_mutex_init" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -lpthreads" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc" >&5 $as_echo_n "checking for pthread_mutex_init in -lc... " >&6; } if ${ac_cv_lib_c_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_pthread_mutex_init=yes else ac_cv_lib_c_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_c_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_c_pthread_mutex_init" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc_r" >&5 $as_echo_n "checking for pthread_mutex_init in -lc_r... " >&6; } if ${ac_cv_lib_c_r_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_r_pthread_mutex_init=yes else ac_cv_lib_c_r_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_c_r_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_c_r_pthread_mutex_init" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -pthread" else TCL_THREADS=0 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Do not know how to find pthread lib on your system - thread support disabled" >&5 $as_echo "$as_me: WARNING: Do not know how to find pthread lib on your system - thread support disabled" >&2;} fi fi fi fi fi else TCL_THREADS=0 fi # Do checking message here to not mess up interleaved configure output { $as_echo "$as_me:${as_lineno-$LINENO}: checking for building with threads" >&5 $as_echo_n "checking for building with threads... " >&6; } if test "${TCL_THREADS}" = 1; then $as_echo "#define TCL_THREADS 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5 $as_echo "yes (default)" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # TCL_THREADS sanity checking. See if our request for building with # threads is the same as the way Tcl was built. If not, warn the user. case ${TCL_DEFS} in *THREADS=1*) if test "${TCL_THREADS}" = "0"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Building ${PACKAGE_NAME} without threads enabled, but building against Tcl that IS thread-enabled. It is recommended to use --enable-threads." >&5 $as_echo "$as_me: WARNING: Building ${PACKAGE_NAME} without threads enabled, but building against Tcl that IS thread-enabled. It is recommended to use --enable-threads." >&2;} fi ;; *) if test "${TCL_THREADS}" = "1"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-threads requested, but building against a Tcl that is NOT thread-enabled. This is an OK configuration that will also run in a thread-enabled core." >&5 $as_echo "$as_me: WARNING: --enable-threads requested, but building against a Tcl that is NOT thread-enabled. This is an OK configuration that will also run in a thread-enabled core." >&2;} fi ;; esac #-------------------------------------------------------------------- # The statement below defines a collection of symbols related to # building as a shared library instead of a static library. #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to build libraries" >&5 $as_echo_n "checking how to build libraries... " >&6; } # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; tcl_ok=$enableval else tcl_ok=yes fi if test "${enable_shared+set}" = set; then enableval="$enable_shared" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: shared" >&5 $as_echo "shared" >&6; } SHARED_BUILD=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: static" >&5 $as_echo "static" >&6; } SHARED_BUILD=0 $as_echo "#define STATIC_BUILD 1" >>confdefs.h fi #-------------------------------------------------------------------- # This macro figures out what flags to use with the compiler/linker # when building shared/static debug/optimized objects. This information # can be taken from the tclConfig.sh file, but this figures it all out. #-------------------------------------------------------------------- # NOTE - WE HAVE A SPECIFAL VERSION OF TEA_CONFIG_CFLAGS that includes # paths to the postgres libraries alongside the Tcl libraries. # see aclocal.m4 PGTCL_CONFIG_CFLAGS #-------------------------------------------------------------------- # Set the default compiler switches based on the --enable-symbols option. #-------------------------------------------------------------------- # Step 0.a: Enable 64 bit support? { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 64bit support is requested" >&5 $as_echo_n "checking if 64bit support is requested... " >&6; } # Check whether --enable-64bit was given. if test "${enable_64bit+set}" = set; then : enableval=$enable_64bit; do64bit=$enableval else do64bit=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $do64bit" >&5 $as_echo "$do64bit" >&6; } # Step 0.b: Enable Solaris 64 bit VIS support? { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 64bit Sparc VIS support is requested" >&5 $as_echo_n "checking if 64bit Sparc VIS support is requested... " >&6; } # Check whether --enable-64bit-vis was given. if test "${enable_64bit_vis+set}" = set; then : enableval=$enable_64bit_vis; do64bitVIS=$enableval else do64bitVIS=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $do64bitVIS" >&5 $as_echo "$do64bitVIS" >&6; } # Force 64bit on with VIS if test "$do64bitVIS" = "yes"; then : do64bit=yes fi # Step 0.c: Check if visibility support is available. Do this here so # that platform specific alternatives can be used below if this fails. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports visibility \"hidden\"" >&5 $as_echo_n "checking if compiler supports visibility \"hidden\"... " >&6; } if ${tcl_cv_cc_visibility_hidden+:} false; then : $as_echo_n "(cached) " >&6 else hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern __attribute__((__visibility__("hidden"))) void f(void); void f(void) {} int main () { f(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_cc_visibility_hidden=yes else tcl_cv_cc_visibility_hidden=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS=$hold_cflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_visibility_hidden" >&5 $as_echo "$tcl_cv_cc_visibility_hidden" >&6; } if test $tcl_cv_cc_visibility_hidden = yes; then : $as_echo "#define MODULE_SCOPE extern __attribute__((__visibility__(\"hidden\")))" >>confdefs.h fi # Step 0.d: Disable -rpath support? { $as_echo "$as_me:${as_lineno-$LINENO}: checking if rpath support is requested" >&5 $as_echo_n "checking if rpath support is requested... " >&6; } # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; doRpath=$enableval else doRpath=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doRpath" >&5 $as_echo "$doRpath" >&6; } # TEA specific: Cross-compiling options for Windows/CE builds? if test "${TEA_PLATFORM}" = windows; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Windows/CE build is requested" >&5 $as_echo_n "checking if Windows/CE build is requested... " >&6; } # Check whether --enable-wince was given. if test "${enable_wince+set}" = set; then : enableval=$enable_wince; doWince=$enableval else doWince=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doWince" >&5 $as_echo "$doWince" >&6; } fi # Step 1: set the variable "system" to hold the name and version number # for the system. { $as_echo "$as_me:${as_lineno-$LINENO}: checking system version" >&5 $as_echo_n "checking system version... " >&6; } if ${tcl_cv_sys_version+:} false; then : $as_echo_n "(cached) " >&6 else # TEA specific: if test "${TEA_PLATFORM}" = "windows" ; then tcl_cv_sys_version=windows elif test -f /usr/lib/NextStep/software_version; then tcl_cv_sys_version=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` else tcl_cv_sys_version=`uname -s`-`uname -r` if test "$?" -ne 0 ; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can't find uname command" >&5 $as_echo "$as_me: WARNING: can't find uname command" >&2;} tcl_cv_sys_version=unknown else # Special check for weird MP-RAS system (uname returns weird # results, and the version is kept in special file). if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then tcl_cv_sys_version=MP-RAS-`awk '{print $3}' /etc/.relid` fi if test "`uname -s`" = "AIX" ; then tcl_cv_sys_version=AIX-`uname -v`.`uname -r` fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_sys_version" >&5 $as_echo "$tcl_cv_sys_version" >&6; } system=$tcl_cv_sys_version # Step 2: check for existence of -ldl library. This is needed because # Linux can use either -ldl or -ldld for dynamic loading. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : have_dl=yes else have_dl=no fi # Require ranlib early so we can override it in special cases below. # Step 3: set configuration options based on system name and version. # This is similar to Tcl's unix/tcl.m4 except that we've added a # "windows" case. do64bit_ok=no LDFLAGS_ORIG="$LDFLAGS" # When ld needs options to work in 64-bit mode, put them in # LDFLAGS_ARCH so they eventually end up in LDFLAGS even if [load] # is disabled by the user. [Bug 1016796] LDFLAGS_ARCH="" TCL_EXPORT_FILE_SUFFIX="" UNSHARED_LIB_SUFFIX="" # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ECHO_VERSION='`echo ${PACKAGE_VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O if test "$GCC" = yes; then : # TEA specific: CFLAGS_OPTIMIZE=-O2 CFLAGS_WARNING="-Wall -Wno-implicit-int" else CFLAGS_WARNING="" fi TCL_NEEDS_EXP_FILE=0 TCL_BUILD_EXP_FILE="" TCL_EXP_FILE="" # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi STLIB_LD='${AR} cr' LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" case $system in # TEA specific: windows) # This is a 2-stage check to make sure we have the 64-bit SDK # We have to know where the SDK is installed. # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs # MACHINE is IX86 for LINK, but this is used by the manifest, # which requires x86|amd64|ia64. MACHINE="X86" if test "$do64bit" != "no" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft Platform SDK" fi MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'` PATH64="" case "$do64bit" in amd64|x64|yes) MACHINE="AMD64" ; # default to AMD64 64-bit build PATH64="${MSSDK}/Bin/Win64/x86/AMD64" ;; ia64) MACHINE="IA64" PATH64="${MSSDK}/Bin/Win64" ;; esac if test ! -d "${PATH64}" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find 64-bit $MACHINE SDK to enable 64bit mode" >&5 $as_echo "$as_me: WARNING: Could not find 64-bit $MACHINE SDK to enable 64bit mode" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ensure latest Platform SDK is installed" >&5 $as_echo "$as_me: WARNING: Ensure latest Platform SDK is installed" >&2;} do64bit="no" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5 $as_echo " Using 64-bit $MACHINE mode" >&6; } do64bit_ok="yes" fi fi if test "$doWince" != "no" ; then if test "$do64bit" != "no" ; then as_fn_error $? "Windows/CE and 64-bit builds incompatible" "$LINENO" 5 fi if test "$GCC" = "yes" ; then as_fn_error $? "Windows/CE and GCC builds incompatible" "$LINENO" 5 fi # First, look for one uninstalled. # the alternative search directory is invoked by --with-celib if test x"${no_celib}" = x ; then # we reset no_celib in case something fails here no_celib=true # Check whether --with-celib was given. if test "${with_celib+set}" = set; then : withval=$with_celib; with_celibconfig=${withval} fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Windows/CE celib directory" >&5 $as_echo_n "checking for Windows/CE celib directory... " >&6; } if ${ac_cv_c_celibconfig+:} false; then : $as_echo_n "(cached) " >&6 else # First check to see if --with-celibconfig was specified. if test x"${with_celibconfig}" != x ; then if test -d "${with_celibconfig}/inc" ; then ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)` else as_fn_error $? "${with_celibconfig} directory doesn't contain inc directory" "$LINENO" 5 fi fi # then check for a celib library if test x"${ac_cv_c_celibconfig}" = x ; then for i in \ ../celib-palm-3.0 \ ../celib \ ../../celib-palm-3.0 \ ../../celib \ `ls -dr ../celib-*3.[0-9]* 2>/dev/null` \ ${srcdir}/../celib-palm-3.0 \ ${srcdir}/../celib \ `ls -dr ${srcdir}/../celib-*3.[0-9]* 2>/dev/null` \ ; do if test -d "$i/inc" ; then ac_cv_c_celibconfig=`(cd $i; pwd)` break fi done fi fi if test x"${ac_cv_c_celibconfig}" = x ; then as_fn_error $? "Cannot find celib support library directory" "$LINENO" 5 else no_celib= CELIB_DIR=${ac_cv_c_celibconfig} CELIB_DIR=`echo "$CELIB_DIR" | sed -e 's!\\\!/!g'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $CELIB_DIR" >&5 $as_echo "found $CELIB_DIR" >&6; } fi fi # Set defaults for common evc4/PPC2003 setup # Currently Tcl requires 300+, possibly 420+ for sockets CEVERSION=420; # could be 211 300 301 400 420 ... TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... ARCH=ARM; # could be ARM MIPS X86EM ... PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" if test "$doWince" != "yes"; then # If !yes then the user specified something # Reset ARCH to allow user to skip specifying it ARCH= eval `echo $doWince | awk -F, '{ \ if (length($1)) { printf "CEVERSION=\"%s\"\n", $1; \ if ($1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ if (length($2)) { printf "TARGETCPU=\"%s\"\n", toupper($2) }; \ if (length($3)) { printf "ARCH=\"%s\"\n", toupper($3) }; \ if (length($4)) { printf "PLATFORM=\"%s\"\n", $4 }; \ }'` if test "x${ARCH}" = "x" ; then ARCH=$TARGETCPU; fi fi OSVERSION=WCE$CEVERSION; if test "x${WCEROOT}" = "x" ; then WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" if test ! -d "${WCEROOT}" ; then WCEROOT="C:/Program Files/Microsoft eMbedded Tools" fi fi if test "x${SDKROOT}" = "x" ; then SDKROOT="C:/Program Files/Windows CE Tools" if test ! -d "${SDKROOT}" ; then SDKROOT="C:/Windows CE Tools" fi fi WCEROOT=`echo "$WCEROOT" | sed -e 's!\\\!/!g'` SDKROOT=`echo "$SDKROOT" | sed -e 's!\\\!/!g'` if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then as_fn_error $? "could not find PocketPC SDK or target compiler to enable WinCE mode $CEVERSION,$TARGETCPU,$ARCH,$PLATFORM" "$LINENO" 5 doWince="no" else # We could PATH_NOSPACE these, but that's not important, # as long as we quote them when used. CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" if test -d "${CEINCLUDE}/${TARGETCPU}" ; then CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" fi CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" fi fi if test "$GCC" != "yes" ; then if test "${SHARED_BUILD}" = "0" ; then runtime=-MT else runtime=-MD fi if test "$do64bit" != "no" ; then # All this magic is necessary for the Win64 SDK RC1 - hobbs CC="\"${PATH64}/cl.exe\"" CFLAGS="${CFLAGS} -I\"${MSSDK}/Include\" -I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\"" RC="\"${MSSDK}/bin/rc.exe\"" lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\"" LINKBIN="\"${PATH64}/link.exe\"" CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" # Avoid 'unresolved external symbol __security_cookie' # errors, c.f. http://support.microsoft.com/?id=894573 vars="bufferoverflowU.lib" for i in $vars; do if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then # Convert foo.lib to -lfoo for GCC. No-op if not *.lib i=`echo "$i" | sed -e 's/^\([^-].*\)\.lib$/-l\1/i'` fi PKG_LIBS="$PKG_LIBS $i" done elif test "$doWince" != "no" ; then CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" if test "${TARGETCPU}" = "X86"; then CC="\"${CEBINROOT}/cl.exe\"" else CC="\"${CEBINROOT}/cl${ARCH}.exe\"" fi CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" RC="\"${WCEROOT}/Common/EVC/bin/rc.exe\"" arch=`echo ${ARCH} | awk '{print tolower($0)}'` defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" if test "${SHARED_BUILD}" = "1" ; then # Static CE builds require static celib as well defs="${defs} _DLL" fi for i in $defs ; do cat >>confdefs.h <<_ACEOF #define $i 1 _ACEOF done cat >>confdefs.h <<_ACEOF #define _WIN32_WCE $CEVERSION _ACEOF cat >>confdefs.h <<_ACEOF #define UNDER_CE $CEVERSION _ACEOF CFLAGS_DEBUG="-nologo -Zi -Od" CFLAGS_OPTIMIZE="-nologo -Ox" lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" LINKBIN="\"${CEBINROOT}/link.exe\"" else RC="rc" lflags="-nologo" LINKBIN="link" CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" fi fi if test "$GCC" = "yes"; then # mingw gcc mode RC="windres" CFLAGS_DEBUG="-g" CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" SHLIB_LD="$CC -shared" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" else SHLIB_LD="${LINKBIN} -dll ${lflags}" # link -lib only works when -lib is the first arg STLIB_LD="${LINKBIN} -lib ${lflags}" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' PATHTYPE=-w # For information on what debugtype is most useful, see: # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp # This essentially turns it all on. LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" LDFLAGS_OPTIMIZE="-release" if test "$doWince" != "no" ; then LDFLAGS_CONSOLE="-link ${lflags}" LDFLAGS_WINDOW=${LDFLAGS_CONSOLE} else LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" fi fi SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dll" SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' TCL_LIB_VERSIONS_OK=nodots # Bogus to avoid getting this turned off DL_OBJS="tclLoadNone.obj" ;; AIX-*) if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"; then : # AIX requires the _r compiler when gcc isn't being used case "${CC}" in *_r) # ok ... ;; *) CC=${CC}_r ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using $CC for compiling with threads" >&5 $as_echo "Using $CC for compiling with threads" >&6; } fi LIBS="$LIBS -lc" SHLIB_CFLAGS="" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" LD_LIBRARY_PATH_VAR="LIBPATH" # Check to enable 64-bit flags for compiler/linker on AIX 4+ if test "$do64bit" = yes -a "`uname -v`" -gt 3; then : if test "$GCC" = yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;} else do64bit_ok=yes CFLAGS="$CFLAGS -q64" LDFLAGS_ARCH="-q64" RANLIB="${RANLIB} -X64" AR="${AR} -X64" SHLIB_LD_FLAGS="-b64" fi fi if test "`uname -m`" = ia64; then : # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC SHLIB_LD="/usr/ccs/bin/ld -G -z text" # AIX-5 has dl* in libc.so DL_LIBS="" if test "$GCC" = yes; then : CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' else CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' fi LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' else if test "$GCC" = yes; then : SHLIB_LD='${CC} -shared' else SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" fi SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR} -L{LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} TCL_NEEDS_EXP_FILE=1 # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' fi # AIX v<=4.1 has some different flags than 4.2+ if test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4; then : case " $LIBOBJS " in *" tclLoadAix.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS tclLoadAix.$ac_objext" ;; esac DL_LIBS="-lld" fi # On AIX <=v4 systems, libbsd.a has to be linked in to support # non-blocking file IO. This library has to be linked in after # the MATH_LIBS or it breaks the pow() function. The way to # insure proper sequencing, is to add it to the tail of MATH_LIBS. # This library also supplies gettimeofday. # # AIX does not have a timezone field in struct tm. When the AIX # bsd library is used, the timezone global and the gettimeofday # methods are to be avoided for timezone deduction instead, we # deduce the timezone by comparing the localtime result on a # known GMT value. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday in -lbsd" >&5 $as_echo_n "checking for gettimeofday in -lbsd... " >&6; } if ${ac_cv_lib_bsd_gettimeofday+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gettimeofday (); int main () { return gettimeofday (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_gettimeofday=yes else ac_cv_lib_bsd_gettimeofday=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gettimeofday" >&5 $as_echo "$ac_cv_lib_bsd_gettimeofday" >&6; } if test "x$ac_cv_lib_bsd_gettimeofday" = xyes; then : libbsd=yes else libbsd=no fi if test $libbsd = yes; then : MATH_LIBS="$MATH_LIBS -lbsd" $as_echo "#define USE_DELTA_FOR_TZ 1" >>confdefs.h fi ;; BeOS*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -nostart' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" #----------------------------------------------------------- # Check for inet_ntoa in -lbind, for BeOS (which also needs # -lsocket, even if the network functions are in -lnet which # is always linked to, for compatibility. #----------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_ntoa in -lbind" >&5 $as_echo_n "checking for inet_ntoa in -lbind... " >&6; } if ${ac_cv_lib_bind_inet_ntoa+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbind $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_ntoa (); int main () { return inet_ntoa (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bind_inet_ntoa=yes else ac_cv_lib_bind_inet_ntoa=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_inet_ntoa" >&5 $as_echo "$ac_cv_lib_bind_inet_ntoa" >&6; } if test "x$ac_cv_lib_bind_inet_ntoa" = xyes; then : LIBS="$LIBS -lbind -lsocket" fi ;; BSD/OS-2.1*|BSD/OS-3*) SHLIB_CFLAGS="" SHLIB_LD="shlicc -r" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; BSD/OS-4.*) SHLIB_CFLAGS="-export-dynamic -fPIC" SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; dgux*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; HP-UX-*.11.*) # Use updated header definitions where possible $as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h # TEA specific: Needed by Tcl, but not most extensions #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?]) #LIBS="$LIBS -lxnet" # Use the XOPEN network library if test "`uname -m`" = ia64; then : SHLIB_SUFFIX=".so" # Use newer C++ library for C++ extensions #if test "$GCC" != "yes" ; then # CPPFLAGS="-AA" #fi else SHLIB_SUFFIX=".sl" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = yes; then : SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" fi if test "$GCC" = yes; then : SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} fi # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc #CFLAGS="$CFLAGS +DAportable" # Check to enable 64-bit flags for compiler/linker if test "$do64bit" = "yes"; then : if test "$GCC" = yes; then : case `${CC} -dumpmachine` in hppa64*) # 64-bit gcc in use. Fix flags for GNU ld. do64bit_ok=yes SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' fi LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;} ;; esac else do64bit_ok=yes CFLAGS="$CFLAGS +DD64" LDFLAGS_ARCH="+DD64" fi fi ;; HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) SHLIB_SUFFIX=".sl" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : tcl_ok=yes else tcl_ok=no fi if test "$tcl_ok" = yes; then : SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS="" DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:${LIB_PGTCL_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" fi ;; IRIX-5.*) SHLIB_CFLAGS="" SHLIB_LD="ld -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}' fi ;; IRIX-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}' fi if test "$GCC" = yes; then : CFLAGS="$CFLAGS -mabi=n32" LDFLAGS="$LDFLAGS -mabi=n32" else case $system in IRIX-6.3) # Use to build 6.2 compatible binaries on 6.3. CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ;; *) CFLAGS="$CFLAGS -n32" ;; esac LDFLAGS="$LDFLAGS -n32" fi ;; IRIX64-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}' fi # Check to enable 64-bit flags for compiler/linker if test "$do64bit" = yes; then : if test "$GCC" = yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported by gcc" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported by gcc" >&2;} else do64bit_ok=yes SHLIB_LD="ld -64 -shared -rdata_shared" CFLAGS="$CFLAGS -64" LDFLAGS_ARCH="-64" fi fi ;; Linux*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" # TEA specific: CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings # when you inline the string and math operations. Turn this off to # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' fi LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} if test "`uname -m`" = "alpha"; then : CFLAGS="$CFLAGS -mieee" fi if test $do64bit = yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -m64 flag" >&5 $as_echo_n "checking if compiler accepts -m64 flag... " >&6; } if ${tcl_cv_cc_m64+:} false; then : $as_echo_n "(cached) " >&6 else hold_cflags=$CFLAGS CFLAGS="$CFLAGS -m64" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_cc_m64=yes else tcl_cv_cc_m64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS=$hold_cflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_m64" >&5 $as_echo "$tcl_cv_cc_m64" >&6; } if test $tcl_cv_cc_m64 = yes; then : CFLAGS="$CFLAGS -m64" do64bit_ok=yes fi fi # The combo of gcc + glibc has a bug related to inlining of # functions like strtod(). The -fno-builtin flag should address # this problem but it does not work. The -fno-inline flag is kind # of overkill but it works. Disable inlining only when one of the # files in compat/*.c is being linked in. if test x"${USE_COMPAT}" != x; then : CFLAGS="$CFLAGS -fno-inline" fi ;; GNU*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" SHLIB_LD='${CC} -shared' DL_OBJS="" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" if test "`uname -m`" = "alpha"; then : CFLAGS="$CFLAGS -mieee" fi ;; Lynx*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" CFLAGS_OPTIMIZE=-02 SHLIB_LD='${CC} -shared' DL_OBJS="tclLoadDl.o" DL_LIBS="-mshared -ldl" LD_FLAGS="-Wl,--export-dynamic" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' fi ;; MP-RAS-02*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; MP-RAS-*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,-Bexport" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; NetBSD-1.*|FreeBSD-[1-2].*) SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF" >&5 $as_echo_n "checking for ELF... " >&6; } if ${tcl_cv_ld_elf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : tcl_cv_ld_elf=yes else tcl_cv_ld_elf=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_elf" >&5 $as_echo "$tcl_cv_ld_elf" >&6; } if test $tcl_cv_ld_elf = yes; then : SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' else SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' fi # Ancient FreeBSD doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' fi LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF" >&5 $as_echo_n "checking for ELF... " >&6; } if ${tcl_cv_ld_elf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ELF__ yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then : tcl_cv_ld_elf=yes else tcl_cv_ld_elf=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_elf" >&5 $as_echo "$tcl_cv_ld_elf" >&6; } if test $tcl_cv_ld_elf = yes; then : LDFLAGS=-Wl,-export-dynamic else LDFLAGS="" fi # OpenBSD doesn't do version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; NetBSD-*|FreeBSD-*) # FreeBSD 3.* and greater have ELF. # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" LDFLAGS="$LDFLAGS -export-dynamic" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' fi LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} if test "${TCL_THREADS}" = "1"; then : # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" fi case $system in FreeBSD-3.*) # FreeBSD-3 doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' TCL_LIB_VERSIONS_OK=nodots ;; esac ;; Darwin-*) CFLAGS_OPTIMIZE="-Os" SHLIB_CFLAGS="-fno-common" # To avoid discrepancies between what headers configure sees during # preprocessing tests and compiling tests, move any -isysroot and # -mmacosx-version-min flags from CFLAGS to CPPFLAGS: CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if ($i~/^(isysroot|mmacosx-version-min)/) print "-"$i}'`" CFLAGS="`echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if (!($i~/^(isysroot|mmacosx-version-min)/)) print "-"$i}'`" if test $do64bit = yes; then : case `arch` in ppc) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch ppc64 flag" >&5 $as_echo_n "checking if compiler accepts -arch ppc64 flag... " >&6; } if ${tcl_cv_cc_arch_ppc64+:} false; then : $as_echo_n "(cached) " >&6 else hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_cc_arch_ppc64=yes else tcl_cv_cc_arch_ppc64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS=$hold_cflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_ppc64" >&5 $as_echo "$tcl_cv_cc_arch_ppc64" >&6; } if test $tcl_cv_cc_arch_ppc64 = yes; then : CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" do64bit_ok=yes fi;; i386) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch x86_64 flag" >&5 $as_echo_n "checking if compiler accepts -arch x86_64 flag... " >&6; } if ${tcl_cv_cc_arch_x86_64+:} false; then : $as_echo_n "(cached) " >&6 else hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch x86_64" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_cc_arch_x86_64=yes else tcl_cv_cc_arch_x86_64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS=$hold_cflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_x86_64" >&5 $as_echo "$tcl_cv_cc_arch_x86_64" >&6; } if test $tcl_cv_cc_arch_x86_64 = yes; then : CFLAGS="$CFLAGS -arch x86_64" do64bit_ok=yes fi;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&5 $as_echo "$as_me: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&2;};; esac else # Check for combined 32-bit and 64-bit fat build if echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \ && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '; then : fat_32_64=yes fi fi # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ld accepts -single_module flag" >&5 $as_echo_n "checking if ld accepts -single_module flag... " >&6; } if ${tcl_cv_ld_single_module+:} false; then : $as_echo_n "(cached) " >&6 else hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { int i; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_ld_single_module=yes else tcl_cv_ld_single_module=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$hold_ldflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_single_module" >&5 $as_echo "$tcl_cv_ld_single_module" >&6; } if test $tcl_cv_ld_single_module = yes; then : SHLIB_LD="${SHLIB_LD} -Wl,-single_module" fi SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dylib" DL_OBJS="tclLoadDyld.o" DL_LIBS="" # Don't use -prebind when building for Mac OS X 10.4 or later only: if test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int($2)}'`" -lt 4 -a \ "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int($2)}'`" -lt 4; then : LDFLAGS="$LDFLAGS -prebind" fi LDFLAGS="$LDFLAGS -headerpad_max_install_names" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ld accepts -search_paths_first flag" >&5 $as_echo_n "checking if ld accepts -search_paths_first flag... " >&6; } if ${tcl_cv_ld_search_paths_first+:} false; then : $as_echo_n "(cached) " >&6 else hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-search_paths_first" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { int i; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_ld_search_paths_first=yes else tcl_cv_ld_search_paths_first=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$hold_ldflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_search_paths_first" >&5 $as_echo "$tcl_cv_ld_search_paths_first" >&6; } if test $tcl_cv_ld_search_paths_first = yes; then : LDFLAGS="$LDFLAGS -Wl,-search_paths_first" fi if test "$tcl_cv_cc_visibility_hidden" != yes; then : $as_echo "#define MODULE_SCOPE __private_extern__" >>confdefs.h fi CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" # TEA specific: for combined 32 & 64 bit fat builds of Tk # extensions, verify that 64-bit build is possible. if test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"; then : if test "${TEA_WINDOWINGSYSTEM}" = x11; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit X11" >&5 $as_echo_n "checking for 64-bit X11... " >&6; } if ${tcl_cv_lib_x11_64+:} false; then : $as_echo_n "(cached) " >&6 else for v in CFLAGS CPPFLAGS LDFLAGS; do eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"' done CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include" LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { XrmInitialize(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_lib_x11_64=yes else tcl_cv_lib_x11_64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="$hold_'$v'"' done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_x11_64" >&5 $as_echo "$tcl_cv_lib_x11_64" >&6; } fi # remove 64-bit arch flags from CFLAGS et al. if configuration # does not support 64-bit. if test "${TEA_WINDOWINGSYSTEM}" = aqua -o "$tcl_cv_lib_x11_64" = no; then : { $as_echo "$as_me:${as_lineno-$LINENO}: Removing 64-bit architectures from compiler & linker flags" >&5 $as_echo "$as_me: Removing 64-bit architectures from compiler & linker flags" >&6;} for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"' done fi fi ;; NEXTSTEP-*) SHLIB_CFLAGS="" SHLIB_LD='${CC} -nostdlib -r' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadNext.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OS/390-*) CFLAGS_OPTIMIZE="" # Optimizer is buggy $as_echo "#define _OE_SOCKETS 1" >>confdefs.h ;; OSF1-1.0|OSF1-1.1|OSF1-1.2) # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 SHLIB_CFLAGS="" # Hack: make package name same as library name SHLIB_LD='ld -R -export :' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadOSF.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-1.*) # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 SHLIB_CFLAGS="-fPIC" if test "$SHARED_BUILD" = 1; then : SHLIB_LD="ld -shared" else SHLIB_LD="ld -non_shared" fi SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-V*) # Digital OSF/1 SHLIB_CFLAGS="" if test "$SHARED_BUILD" = 1; then : SHLIB_LD='ld -shared -expect_unresolved "*"' else SHLIB_LD='ld -non_shared -expect_unresolved "*"' fi SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" if test $doRpath = yes; then : CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR},-rpath,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR} -rpath ${LIB_PGTCL_RUNTIME_DIR}' fi if test "$GCC" = yes; then : CFLAGS="$CFLAGS -mieee" else CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee" fi # see pthread_intro(3) for pthread support on osf1, k.furukawa if test "${TCL_THREADS}" = 1; then : CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" LIBS=`echo $LIBS | sed s/-lpthreads//` if test "$GCC" = yes; then : LIBS="$LIBS -lpthread -lmach -lexc" else CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" fi fi ;; QNX-6*) # QNX RTP # This may work for all QNX, but it was only reported for v6. SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" # dlopen is in -lc on QNX DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SCO_SV-3.2*) # Note, dlopen is available only on SCO 3.2.5 and greater. However, # this test works, since "uname -s" was non-standard in 3.2.4 and # below. if test "$GCC" = yes; then : SHLIB_CFLAGS="-fPIC -melf" LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" else SHLIB_CFLAGS="-Kpic -belf" LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" fi SHLIB_LD="ld -G" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SINIX*5.4*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SunOS-4*) SHLIB_CFLAGS="-PIC" SHLIB_LD="ld" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR} -L{LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} # SunOS can't handle version numbers with dots in them in library # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it # requires an extra version number at the end of .so file names. # So, the library has to have a name like libtcl75.so.1.0 SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; SunOS-5.[0-6]) # Careful to not let 5.10+ fall into this case # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. $as_echo "#define _REENTRANT 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h SHLIB_CFLAGS="-KPIC" # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" if test "$GCC" = yes; then : SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} else SHLIB_LD="/usr/ccs/bin/ld -G -z text" CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} fi ;; SunOS-5*) # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. $as_echo "#define _REENTRANT 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h SHLIB_CFLAGS="-KPIC" # Check to enable 64-bit flags for compiler/linker if test "$do64bit" = yes; then : arch=`isainfo` if test "$arch" = "sparcv9 sparc"; then : if test "$GCC" = yes; then : if test "`${CC} -dumpversion | awk -F. '{print $1}'`" -lt 3; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&2;} else do64bit_ok=yes CFLAGS="$CFLAGS -m64 -mcpu=v9" LDFLAGS="$LDFLAGS -m64 -mcpu=v9" SHLIB_CFLAGS="-fPIC" fi else do64bit_ok=yes if test "$do64bitVIS" = yes; then : CFLAGS="$CFLAGS -xarch=v9a" LDFLAGS_ARCH="-xarch=v9a" else CFLAGS="$CFLAGS -xarch=v9" LDFLAGS_ARCH="-xarch=v9" fi # Solaris 64 uses this as well #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64" fi else if test "$arch" = "amd64 i386"; then : if test "$GCC" = yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;} else do64bit_ok=yes CFLAGS="$CFLAGS -xarch=amd64" LDFLAGS="$LDFLAGS -xarch=amd64" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported for $arch" >&5 $as_echo "$as_me: WARNING: 64bit mode not supported for $arch" >&2;} fi fi fi # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" if test "$GCC" = yes; then : SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} if test "$do64bit_ok" = yes; then : # We need to specify -static-libgcc or we need to # add the path to the sparv9 libgcc. # JH: static-libgcc is necessary for core Tcl, but may # not be necessary for extensions. SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" # for finding sparcv9 libgcc, get the regular libgcc # path, remove so name and append 'sparcv9' #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir" fi else case $system in SunOS-5.[1-9][0-9]*) SHLIB_LD='${CC} -G -z text';; *) SHLIB_LD='/usr/ccs/bin/ld -G -z text';; esac CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR},-R,${LIB_PGTCL_RUNTIME_DIR}' LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR} -R ${LIB_PGTCL_RUNTIME_DIR}' fi ;; UNIX_SV* | UnixWare-5*) SHLIB_CFLAGS="-KPIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers # that don't grok the -Bexport option. Test that it does. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld accepts -Bexport flag" >&5 $as_echo_n "checking for ld accepts -Bexport flag... " >&6; } if ${tcl_cv_ld_Bexport+:} false; then : $as_echo_n "(cached) " >&6 else hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bexport" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { int i; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : tcl_cv_ld_Bexport=yes else tcl_cv_ld_Bexport=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$hold_ldflags fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_Bexport" >&5 $as_echo "$tcl_cv_ld_Bexport" >&6; } if test $tcl_cv_ld_Bexport = yes; then : LDFLAGS="$LDFLAGS -Wl,-Bexport" fi CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; esac if test "$do64bit" = yes -a "$do64bit_ok" = no; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit support being disabled -- don't know magic for this platform" >&5 $as_echo "$as_me: WARNING: 64bit support being disabled -- don't know magic for this platform" >&2;} fi # Step 4: disable dynamic loading if requested via a command-line switch. # Check whether --enable-load was given. if test "${enable_load+set}" = set; then : enableval=$enable_load; tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = no; then : DL_OBJS="" fi if test "x$DL_OBJS" != x; then : BUILD_DLTEST="\$(DLTEST_TARGETS)" else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&5 $as_echo "$as_me: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&2;} SHLIB_CFLAGS="" SHLIB_LD="" SHLIB_SUFFIX="" DL_OBJS="tclLoadNone.o" DL_LIBS="" LDFLAGS="$LDFLAGS_ORIG" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" BUILD_DLTEST="" fi LDFLAGS="$LDFLAGS $LDFLAGS_ARCH" # If we're running gcc, then change the C flags for compiling shared # libraries to the right flags for gcc, instead of those for the # standard manufacturer compiler. if test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes; then : case $system in AIX-*) ;; BSD/OS*) ;; IRIX*) ;; NetBSD-*|FreeBSD-*) ;; Darwin-*) ;; SCO_SV-3.2*) ;; *) SHLIB_CFLAGS="-fPIC" ;; esac fi if test "$SHARED_LIB_SUFFIX" = ""; then : # TEA specific: use PACKAGE_VERSION instead of VERSION SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}' fi if test "$UNSHARED_LIB_SUFFIX" = ""; then : # TEA specific: use PACKAGE_VERSION instead of VERSION UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a' fi # These must be called after we do the basic CFLAGS checks and # verify any possible 64-bit or similar switches are necessary { $as_echo "$as_me:${as_lineno-$LINENO}: checking for required early compiler flags" >&5 $as_echo_n "checking for required early compiler flags... " >&6; } tcl_flags="" if ${tcl_cv_flag__isoc99_source+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *)strtoll; char *q = (char *)strtoull; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__isoc99_source=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _ISOC99_SOURCE 1 #include int main () { char *p = (char *)strtoll; char *q = (char *)strtoull; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__isoc99_source=yes else tcl_cv_flag__isoc99_source=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then $as_echo "#define _ISOC99_SOURCE 1" >>confdefs.h tcl_flags="$tcl_flags _ISOC99_SOURCE" fi if ${tcl_cv_flag__largefile64_source+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { struct stat64 buf; int i = stat64("/", &buf); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__largefile64_source=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGEFILE64_SOURCE 1 #include int main () { struct stat64 buf; int i = stat64("/", &buf); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__largefile64_source=yes else tcl_cv_flag__largefile64_source=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then $as_echo "#define _LARGEFILE64_SOURCE 1" >>confdefs.h tcl_flags="$tcl_flags _LARGEFILE64_SOURCE" fi if ${tcl_cv_flag__largefile_source64+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *)open64; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__largefile_source64=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGEFILE_SOURCE64 1 #include int main () { char *p = (char *)open64; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_flag__largefile_source64=yes else tcl_cv_flag__largefile_source64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x${tcl_cv_flag__largefile_source64}" = "xyes" ; then $as_echo "#define _LARGEFILE_SOURCE64 1" >>confdefs.h tcl_flags="$tcl_flags _LARGEFILE_SOURCE64" fi if test "x${tcl_flags}" = "x" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${tcl_flags}" >&5 $as_echo "${tcl_flags}" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit integer type" >&5 $as_echo_n "checking for 64-bit integer type... " >&6; } if ${tcl_cv_type_64bit+:} false; then : $as_echo_n "(cached) " >&6 else tcl_cv_type_64bit=none # See if the compiler knows natively about __int64 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { __int64 value = (__int64) 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_type_64bit=__int64 else tcl_type_64bit="long long" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # See if we should use long anyway Note that we substitute in the # type that is our current guess for a 64-bit type inside this check # program, so it should be modified only carefully... cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { switch (0) { case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_type_64bit=${tcl_type_64bit} fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "${tcl_cv_type_64bit}" = none ; then $as_echo "#define TCL_WIDE_INT_IS_LONG 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: using long" >&5 $as_echo "using long" >&6; } elif test "${tcl_cv_type_64bit}" = "__int64" \ -a "${TEA_PLATFORM}" = "windows" ; then # TEA specific: We actually want to use the default tcl.h checks in # this case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* { $as_echo "$as_me:${as_lineno-$LINENO}: result: using Tcl header defaults" >&5 $as_echo "using Tcl header defaults" >&6; } else cat >>confdefs.h <<_ACEOF #define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit} _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${tcl_cv_type_64bit}" >&5 $as_echo "${tcl_cv_type_64bit}" >&6; } # Now check for auxiliary declarations { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent64" >&5 $as_echo_n "checking for struct dirent64... " >&6; } if ${tcl_cv_struct_dirent64+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct dirent64 p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_struct_dirent64=yes else tcl_cv_struct_dirent64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_dirent64" >&5 $as_echo "$tcl_cv_struct_dirent64" >&6; } if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then $as_echo "#define HAVE_STRUCT_DIRENT64 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct stat64" >&5 $as_echo_n "checking for struct stat64... " >&6; } if ${tcl_cv_struct_stat64+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { struct stat64 p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_struct_stat64=yes else tcl_cv_struct_stat64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_stat64" >&5 $as_echo "$tcl_cv_struct_stat64" >&6; } if test "x${tcl_cv_struct_stat64}" = "xyes" ; then $as_echo "#define HAVE_STRUCT_STAT64 1" >>confdefs.h fi for ac_func in open64 lseek64 do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for off64_t" >&5 $as_echo_n "checking for off64_t... " >&6; } if ${tcl_cv_type_off64_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { off64_t offset; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : tcl_cv_type_off64_t=yes else tcl_cv_type_off64_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x${tcl_cv_type_off64_t}" = "xyes" && \ test "x${ac_cv_func_lseek64}" = "xyes" && \ test "x${ac_cv_func_open64}" = "xyes" ; then $as_echo "#define HAVE_TYPE_OFF64_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build with symbols" >&5 $as_echo_n "checking for build with symbols... " >&6; } # Check whether --enable-symbols was given. if test "${enable_symbols+set}" = set; then : enableval=$enable_symbols; tcl_ok=$enableval else tcl_ok=no fi DBGX="" if test "$tcl_ok" = "no"; then CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } else CFLAGS_DEFAULT="${CFLAGS_DEBUG}" LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" if test "$tcl_ok" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (standard debugging)" >&5 $as_echo "yes (standard debugging)" >&6; } fi fi # TEA specific: if test "${TEA_PLATFORM}" != "windows" ; then LDFLAGS_DEFAULT="${LDFLAGS}" fi if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then $as_echo "#define TCL_MEM_DEBUG 1" >>confdefs.h fi if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then if test "$tcl_ok" = "all"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled symbols mem debugging" >&5 $as_echo "enabled symbols mem debugging" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled $tcl_ok debugging" >&5 $as_echo "enabled $tcl_ok debugging" >&6; } fi fi #-------------------------------------------------------------------- # Everyone should be linking against the Tcl stub library. If you # can't for some reason, remove this definition. If you aren't using # stubs, you also need to modify the SHLIB_LD_LIBS setting below to # link against the non-stubbed Tcl library. Add Tk too if necessary. #-------------------------------------------------------------------- $as_echo "#define USE_TCL_STUBS 1" >>confdefs.h #AC_DEFINE(USE_TK_STUBS, 1, [Use Tk stubs]) #-------------------------------------------------------------------- # This macro generates a line to use when building a library. It # depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, # and TEA_LOAD_TCLCONFIG macros above. #-------------------------------------------------------------------- if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then MAKE_STATIC_LIB="\${STLIB_LD} -out:\$@ \$(PKG_OBJECTS)" MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\$@ \$(PKG_OBJECTS)" MAKE_STUB_LIB="\${STLIB_LD} -out:\$@ \$(PKG_STUB_OBJECTS)" else MAKE_STATIC_LIB="\${STLIB_LD} \$@ \$(PKG_OBJECTS)" MAKE_SHARED_LIB="\${SHLIB_LD} -o \$@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" MAKE_STUB_LIB="\${STLIB_LD} \$@ \$(PKG_STUB_OBJECTS)" fi if test "${SHARED_BUILD}" = "1" ; then MAKE_LIB="${MAKE_SHARED_LIB} " else MAKE_LIB="${MAKE_STATIC_LIB} " fi #-------------------------------------------------------------------- # Shared libraries and static libraries have different names. # Use the double eval to make sure any variables in the suffix is # substituted. (@@@ Might not be necessary anymore) #-------------------------------------------------------------------- if test "${TEA_PLATFORM}" = "windows" ; then if test "${SHARED_BUILD}" = "1" ; then # We force the unresolved linking of symbols that are really in # the private libraries of Tcl and Tk. SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\"" if test x"${TK_BIN_DIR}" != x ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" fi eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" else eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build their own stubs libraries eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" if test "$GCC" = "yes"; then PKG_STUB_LIB_FILE=lib${PKG_STUB_LIB_FILE} fi # These aren't needed on Windows (either MSVC or gcc) RANLIB=: RANLIB_STUB=: else RANLIB_STUB="${RANLIB}" if test "${SHARED_BUILD}" = "1" ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" if test x"${TK_BIN_DIR}" != x ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" fi eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" RANLIB=: else eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build their own stubs libraries eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" fi # These are escaped so that only CFLAGS is picked up at configure time. # The other values will be substituted at make time. CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}" if test "${SHARED_BUILD}" = "1" ; then CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}" fi #-------------------------------------------------------------------- # Determine the name of the tclsh and/or wish executables in the # Tcl and Tk build directories or the location they were installed # into. These paths are used to support running test cases only, # the Makefile should not be making use of these paths to generate # a pkgIndex.tcl file or anything else at extension build time. #-------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tclsh" >&5 $as_echo_n "checking for tclsh... " >&6; } if test -f "${TCL_BIN_DIR}/Makefile" ; then # tclConfig.sh is in Tcl build directory if test "${TEA_PLATFORM}" = "windows"; then TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" else TCLSH_PROG="${TCL_BIN_DIR}/tclsh" fi else # tclConfig.sh is in install location if test "${TEA_PLATFORM}" = "windows"; then TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" else TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}" fi list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \ `ls -d ${TCL_BIN_DIR}/.. 2>/dev/null` \ `ls -d ${TCL_PREFIX}/bin 2>/dev/null`" for i in $list ; do if test -f "$i/${TCLSH_PROG}" ; then REAL_TCL_BIN_DIR="`cd "$i"; pwd`/" break fi done TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${TCLSH_PROG}" >&5 $as_echo "${TCLSH_PROG}" >&6; } #TEA_PROG_WISH #-------------------------------------------------------------------- # Finally, substitute all of the various values into the Makefile. # You may alternatively have a special pkgIndex.tcl.in or other files # which require substituting th AC variables in. Include these here. #-------------------------------------------------------------------- ac_config_files="$ac_config_files Makefile pkgIndex.tcl" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS="" : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by pgtcl $as_me 1.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ pgtcl config.status 1.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "pkgIndex.tcl") CONFIG_FILES="$CONFIG_FILES pkgIndex.tcl" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi flightaware-Pgtcl-8d02566/configure.in000077500000000000000000000233621203531660700176630ustar00rootroot00000000000000#!/bin/bash -norc dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tcl installation dnl to configure the system for the local environment. # # RCS: @(#) $Id$ #----------------------------------------------------------------------- # Sample configure.in for Tcl Extensions. The only places you should # need to modify this file are marked by the string __CHANGE__ #----------------------------------------------------------------------- #----------------------------------------------------------------------- # __CHANGE__ # Set your package name and version numbers here. # # This initializes the environment with PACKAGE_NAME and PACKAGE_VERSION # set as provided. These will also be added as -D defs in your Makefile # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- AC_INIT([pgtcl], [1.9]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. # This will define a ${TEA_PLATFORM} variable == "unix" or "windows" # as well as PKG_LIB_FILE and PKG_STUB_LIB_FILE. #-------------------------------------------------------------------- TEA_INIT([3.6]) AC_CONFIG_AUX_DIR(tclconfig) #-------------------------------------------------------------------- # Load the tclConfig.sh file #-------------------------------------------------------------------- TEA_PATH_TCLCONFIG TEA_LOAD_TCLCONFIG #-------------------------------------------------------------------- # Load the tkConfig.sh file if necessary (Tk extension) #-------------------------------------------------------------------- #TEA_PATH_TKCONFIG #TEA_LOAD_TKCONFIG #----------------------------------------------------------------------- # Handle the --prefix=... option by defaulting to what Tcl gave. # Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. #----------------------------------------------------------------------- TEA_PREFIX #----------------------------------------------------------------------- # Standard compiler checks. # This sets up CC by using the CC env var, or looks for gcc otherwise. # This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create # the basic setup necessary to compile executables. #----------------------------------------------------------------------- TEA_SETUP_COMPILER #-------------------------------------------------------------------- # Get the paths to the Postgres includes and libraries. #-------------------------------------------------------------------- AC_ARG_WITH(postgres-include, --with-postgres-include directory containing PostgreSQL include files) AC_ARG_WITH(postgres-lib, --with-postgres-lib directory containing PostgreSQL library files) need_pg_config="" if test "${with_postgres_include+set}" = "set"; then PG_INC_DIR="${with_postgres_include}" AC_MSG_RESULT([using PostgreSQL include dir of... "$PG_INC_DIR"]) else need_pg_config="1" fi if test "${with_postgres_lib+set}" = "set"; then PG_LIB_DIR="${with_postgres_lib}" AC_MSG_RESULT([using PostgreSQL lib dir of... "$PG_LIB_DIR"]) else need_pg_config="1" fi if test "$need_pg_config" = "1"; then AC_PATH_PROGS(PG_CONFIG, pg_config) if test "$PG_CONFIG" = ""; then AC_MSG_ERROR([Cannot locate program pg_config to determine PostgreSQL paths. Make sure pg_config is in PATH or set PG_CONFIG env var to path to pg_config.]) fi if test "${with_postgres_include+set}" != "set"; then PG_INC_DIR="`$PG_CONFIG --includedir`" AC_MSG_RESULT([using pg_config-reported PostgreSQL include dir of... "$PG_INC_DIR"]) fi if test "${with_postgres_lib+set}" != "set"; then PG_LIB_DIR="`$PG_CONFIG --libdir`" AC_MSG_RESULT([using pg_config-reported PostgreSQL lib dir of... "$PG_LIB_DIR"]) fi fi LIBPG="" PG_INCLUDES="-I$PG_INC_DIR" PKG_INCLUDES="-I$PG_INC_DIR" PG_LIBS="-L$PG_LIB_DIR -lpq" PKG_LIBS="-L$PG_LIB_DIR -lpq" if test ! "$PG_LIB_DIR" = ""; then LIBPG="libpq${SHLIB_SUFFIX}" fi #-------------------------------------------------------------------- # Determine if certain PostgreSQL functions are defined # (Postgres 7.4 and above) #-------------------------------------------------------------------- SAVE_LIBS=$LIBS LIBS="$PG_LIBS $LIBS $TCL_LIB_SPEC" AC_CHECK_FUNCS(Tcl_NewDictObj PQexecParams PQexecPrepared PQsendQueryParams PQsendQueryPrepared PQserverVersion lo_truncate PQsetSingleRowMode) #LIBS=$SAVE_LIBS AC_SUBST(LIBPG) AC_SUBST(PG_INC_DIR) AC_SUBST(PG_INCLUDES) AC_SUBST(PG_LIBS) AC_SUBST(PG_LIB_DIR) #----------------------------------------------------------------------- # __CHANGE__ # Specify the C source files to compile in TEA_ADD_SOURCES, # public headers that need to be installed in TEA_ADD_HEADERS, # stub library C source files to compile in TEA_ADD_STUB_SOURCES, # and runtime Tcl library files in TEA_ADD_TCL_SOURCES. # This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS # and PKG_TCL_SOURCES. #----------------------------------------------------------------------- TEA_ADD_SOURCES([pgtcl.c pgtclCmds.c pgtclId.c]) TEA_ADD_HEADERS([generic/libpgtcl.h]) TEA_ADD_INCLUDES([]) TEA_ADD_LIBS([]) TEA_ADD_CFLAGS([]) TEA_ADD_STUB_SOURCES([]) TEA_ADD_TCL_SOURCES([runtime/pgtcl.tcl]) #-------------------------------------------------------------------- # __CHANGE__ # A few miscellaneous platform-specific items: # # Define a special symbol for Windows (BUILD_sample in this case) so # that we create the export library with the dll. # # Windows creates a few extra files that need to be cleaned up. # You can add more files to clean if your extension creates any extra # files. # # TEA_ADD_* any platform specific compiler/build info here. #-------------------------------------------------------------------- #CLEANFILES="pkgIndex.tcl" if test "${TEA_PLATFORM}" = "windows" ; then AC_DEFINE(BUILD_libpgtcl, 1, [Build windows export dll]) CLEANFILES="$CLEANFILES *.lib *.dll *.exp *.ilk *.pdb vc*.pch" #TEA_ADD_SOURCES([win/winFile.c]) #TEA_ADD_INCLUDES([-I\"$(${CYGPATH} ${srcdir}/win)\"]) else # Ensure no empty else clauses : #TEA_ADD_SOURCES([unix/unixFile.c]) #TEA_ADD_LIBS([-lsuperfly]) fi AC_SUBST(CLEANFILES) #-------------------------------------------------------------------- # __CHANGE__ # Choose which headers you need. Extension authors should try very # hard to only rely on the Tcl public header files. Internal headers # contain private data structures and are subject to change without # notice. # This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG #-------------------------------------------------------------------- TEA_PUBLIC_TCL_HEADERS #TEA_PRIVATE_TCL_HEADERS #TEA_PUBLIC_TK_HEADERS #TEA_PRIVATE_TK_HEADERS #TEA_PATH_X #-------------------------------------------------------------------- # Check whether --enable-threads or --disable-threads was given. # This auto-enables if Tcl was compiled threaded. #-------------------------------------------------------------------- TEA_ENABLE_THREADS #-------------------------------------------------------------------- # The statement below defines a collection of symbols related to # building as a shared library instead of a static library. #-------------------------------------------------------------------- TEA_ENABLE_SHARED #-------------------------------------------------------------------- # This macro figures out what flags to use with the compiler/linker # when building shared/static debug/optimized objects. This information # can be taken from the tclConfig.sh file, but this figures it all out. #-------------------------------------------------------------------- # NOTE - WE HAVE A SPECIFAL VERSION OF TEA_CONFIG_CFLAGS that includes # paths to the postgres libraries alongside the Tcl libraries. # see aclocal.m4 PGTCL_CONFIG_CFLAGS #-------------------------------------------------------------------- # Set the default compiler switches based on the --enable-symbols option. #-------------------------------------------------------------------- TEA_ENABLE_SYMBOLS #-------------------------------------------------------------------- # Everyone should be linking against the Tcl stub library. If you # can't for some reason, remove this definition. If you aren't using # stubs, you also need to modify the SHLIB_LD_LIBS setting below to # link against the non-stubbed Tcl library. Add Tk too if necessary. #-------------------------------------------------------------------- AC_DEFINE(USE_TCL_STUBS, 1, [Use Tcl stubs]) #AC_DEFINE(USE_TK_STUBS, 1, [Use Tk stubs]) #-------------------------------------------------------------------- # This macro generates a line to use when building a library. It # depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, # and TEA_LOAD_TCLCONFIG macros above. #-------------------------------------------------------------------- TEA_MAKE_LIB #-------------------------------------------------------------------- # Determine the name of the tclsh and/or wish executables in the # Tcl and Tk build directories or the location they were installed # into. These paths are used to support running test cases only, # the Makefile should not be making use of these paths to generate # a pkgIndex.tcl file or anything else at extension build time. #-------------------------------------------------------------------- TEA_PROG_TCLSH #TEA_PROG_WISH #-------------------------------------------------------------------- # Finally, substitute all of the various values into the Makefile. # You may alternatively have a special pkgIndex.tcl.in or other files # which require substituting th AC variables in. Include these here. #-------------------------------------------------------------------- AC_OUTPUT([Makefile pkgIndex.tcl]) flightaware-Pgtcl-8d02566/doc/000077500000000000000000000000001203531660700161065ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/doc/HTML.index000066400000000000000000000165071203531660700177140ustar00rootroot00000000000000INDEXTERM libpgtcl.html INDEXPOINT libpgtcl.html#AEN9 TITLE pgtcl - Tcl Binding Library significance NORMAL ZONE index.html TITLE PostgreSQL Tcl Interface Documentation PRIMARY libpgtcl /INDEXTERM INDEXTERM libpgtcl.html INDEXPOINT libpgtcl.html#AEN11 TITLE pgtcl - Tcl Binding Library significance NORMAL ZONE index.html TITLE PostgreSQL Tcl Interface Documentation PRIMARY pgtcl /INDEXTERM INDEXTERM libpgtcl.html INDEXPOINT libpgtcl.html#AEN13 TITLE pgtcl - Tcl Binding Library significance NORMAL ZONE index.html TITLE PostgreSQL Tcl Interface Documentation PRIMARY Tcl /INDEXTERM INDEXTERM libpgtcl.html#PGTCL-OVERVIEW INDEXPOINT libpgtcl.html#AEN230 TITLE Overview significance NORMAL PRIMARY large object SECONDARY in pgctl /INDEXTERM INDEXTERM pgtcl-pgconnect.html INDEXPOINT pgtcl-pgconnect.html#IX-PGTCL-PGCONNECT-2 TITLE pg_connect significance NORMAL id IX-PGTCL-PGCONNECT-2 PRIMARY pg_connect /INDEXTERM INDEXTERM pgtcl-pgconnect.html#AEN315 INDEXPOINT pgtcl-pgconnect.html#AEN343 TITLE Arguments significance NORMAL PRIMARY host name /INDEXTERM INDEXTERM pgtcl-pgconnect.html#AEN315 INDEXPOINT pgtcl-pgconnect.html#AEN346 TITLE Arguments significance NORMAL PRIMARY Unix domain socket /INDEXTERM INDEXTERM pgtcl-pgconnect.html#AEN315 INDEXPOINT pgtcl-pgconnect.html#AEN379 TITLE Arguments significance NORMAL PRIMARY port /INDEXTERM INDEXTERM pgtcl-pgconnect.html#AEN315 INDEXPOINT pgtcl-pgconnect.html#AEN435 TITLE Arguments significance NORMAL PRIMARY SSL SECONDARY[libpq] with libpq /INDEXTERM INDEXTERM pgtcl-pgconninfo.html INDEXPOINT pgtcl-pgconninfo.html#IX-PGTCL-PGCONNINFO-2 TITLE pg_dbinfo significance NORMAL id IX-PGTCL-PGCONNINFO-2 PRIMARY pg_dbinfo /INDEXTERM INDEXTERM pgtcl-pgdisconnect.html INDEXPOINT pgtcl-pgdisconnect.html#IX-PGTCL-PGDISCONNECT-2 TITLE pg_disconnect significance NORMAL id IX-PGTCL-PGDISCONNECT-2 PRIMARY pg_disconnect /INDEXTERM INDEXTERM pgtcl-pgconndefaults.html INDEXPOINT pgtcl-pgconndefaults.html#IX-PGTCL-PGCONNDEFAULTS-2 TITLE pg_conndefaults significance NORMAL id IX-PGTCL-PGCONNDEFAULTS-2 PRIMARY pg_conndefaults /INDEXTERM INDEXTERM pgtcl-pgexec.html INDEXPOINT pgtcl-pgexec.html#IX-PGTCL-PGEXEC-2 TITLE pg_exec significance NORMAL id IX-PGTCL-PGEXEC-2 PRIMARY pg_exec /INDEXTERM INDEXTERM pgtcl-pgexecprepared.html INDEXPOINT pgtcl-pgexecprepared.html#IX-PGTCL-PGEXECPREPARED-2 TITLE pg_exec_prepared significance NORMAL id IX-PGTCL-PGEXECPREPARED-2 PRIMARY pg_exec_prepared /INDEXTERM INDEXTERM pgtcl-pgresult.html INDEXPOINT pgtcl-pgresult.html#IX-PGTCL-PGRESULT-2 TITLE pg_result significance NORMAL id IX-PGTCL-PGRESULT-2 PRIMARY pg_result /INDEXTERM INDEXTERM pgtcl-pgselect.html INDEXPOINT pgtcl-pgselect.html#IX-PGTCL-PGSELECT-2 TITLE pg_select significance NORMAL id IX-PGTCL-PGSELECT-2 PRIMARY pg_select /INDEXTERM INDEXTERM pgtcl-pgexecute.html INDEXPOINT pgtcl-pgexecute.html#IX-PGTCL-PGEXECUTE-2 TITLE pg_execute significance NORMAL id IX-PGTCL-PGEXECUTE-2 PRIMARY pg_execute /INDEXTERM INDEXTERM pgtcl-pglisten.html INDEXPOINT pgtcl-pglisten.html#IX-PGTCL-PGLISTEN-2 TITLE pg_listen significance NORMAL id IX-PGTCL-PGLISTEN-2 PRIMARY pg_listen /INDEXTERM INDEXTERM pgtcl-pglisten.html#AEN1117 INDEXPOINT pgtcl-pglisten.html#AEN1128 TITLE Description significance NORMAL PRIMARY NOTIFY SECONDARY[pgtcl] in pgtcl /INDEXTERM INDEXTERM pgtcl-pgon-connection-loss.html INDEXPOINT pgtcl-pgon-connection-loss.html#IX-PGTCL-PGON-CONNECTION-LOSS-2 TITLE pg_on_connection_loss significance NORMAL id IX-PGTCL-PGON-CONNECTION-LOSS-2 PRIMARY pg_on_connection_loss /INDEXTERM INDEXTERM pgtcl-pgsendquery.html INDEXPOINT pgtcl-pgsendquery.html#IX-PGTCL-PGSENDQUERY-2 TITLE pg_sendquery significance NORMAL id IX-PGTCL-PGSENDQUERY-2 PRIMARY pg_sendquery /INDEXTERM INDEXTERM pgtcl-pgsendqueryprepared.html INDEXPOINT pgtcl-pgsendqueryprepared.html#IX-PGTCL-PGSENDQUERYPREPARED-2 TITLE pg_sendquery_prepared significance NORMAL id IX-PGTCL-PGSENDQUERYPREPARED-2 PRIMARY pg_sendquery_prepared /INDEXTERM INDEXTERM pgtcl-pggetresult.html INDEXPOINT pgtcl-pggetresult.html#IX-PGTCL-PGGETRESULT-2 TITLE pg_getresult significance NORMAL id IX-PGTCL-PGGETRESULT-2 PRIMARY pg_getresult /INDEXTERM INDEXTERM pgtcl-pgisbusy.html INDEXPOINT pgtcl-pgisbusy.html#IX-PGTCL-PGISBUSY-2 TITLE pg_isbusy significance NORMAL id IX-PGTCL-PGISBUSY-2 PRIMARY pg_isbusy /INDEXTERM INDEXTERM pgtcl-pgblocking.html INDEXPOINT pgtcl-pgblocking.html#IX-PGTCL-PGBLOCKING-2 TITLE pg_blocking significance NORMAL id IX-PGTCL-PGBLOCKING-2 PRIMARY pg_blocking /INDEXTERM INDEXTERM pgtcl-pgcancelrequest.html INDEXPOINT pgtcl-pgcancelrequest.html#IX-PGTCL-PGCANCELREQUEST-2 TITLE pg_cancelrequest significance NORMAL id IX-PGTCL-PGCANCELREQUEST-2 PRIMARY pg_cancelrequest /INDEXTERM INDEXTERM pgtcl-nullvaluestring.html INDEXPOINT pgtcl-nullvaluestring.html#IX-PGTCL-NULLVALUESTRING-2 TITLE pg_null_value_string significance NORMAL id IX-PGTCL-NULLVALUESTRING-2 PRIMARY pg_null_value_string /INDEXTERM INDEXTERM pgtcl-quote.html INDEXPOINT pgtcl-quote.html#IX-PGTCL-QUOTE-2 TITLE pg_quote significance NORMAL id IX-PGTCL-QUOTE-2 PRIMARY pg_quote /INDEXTERM INDEXTERM pgtcl-pgescape-string.html INDEXPOINT pgtcl-pgescape-string.html#IX-PGTCL-PGESCAPE-STRING-2 TITLE pg_escape_string significance NORMAL id IX-PGTCL-PGESCAPE-STRING-2 PRIMARY pg_escape_string /INDEXTERM INDEXTERM pgtcl-pgescape-bytea.html INDEXPOINT pgtcl-pgescape-bytea.html#IX-PGTCL-PGESCAPE-BYTEA-2 TITLE pg_escape_bytea significance NORMAL id IX-PGTCL-PGESCAPE-BYTEA-2 PRIMARY pg_escape_bytea /INDEXTERM INDEXTERM pgtcl-pgunescape-bytea.html INDEXPOINT pgtcl-pgunescape-bytea.html#IX-PGTCL-PGUNESCAPE-BYTEA-2 TITLE pg_unescape_bytea significance NORMAL id IX-PGTCL-PGUNESCAPE-BYTEA-2 PRIMARY pg_unescape_bytea /INDEXTERM INDEXTERM pgtcl-pglocreat.html INDEXPOINT pgtcl-pglocreat.html#IX-PGTCL-PGLOCREAT-2 TITLE pg_lo_creat significance NORMAL id IX-PGTCL-PGLOCREAT-2 PRIMARY pg_lo_creat /INDEXTERM INDEXTERM pgtcl-pgloopen.html INDEXPOINT pgtcl-pgloopen.html#IX-PGTCL-PGLOOPEN-2 TITLE pg_lo_open significance NORMAL id IX-PGTCL-PGLOOPEN-2 PRIMARY pg_lo_open /INDEXTERM INDEXTERM pgtcl-pgloclose.html INDEXPOINT pgtcl-pgloclose.html#IX-PGTCL-PGLOCLOSE-2 TITLE pg_lo_close significance NORMAL id IX-PGTCL-PGLOCLOSE-2 PRIMARY pg_lo_close /INDEXTERM INDEXTERM pgtcl-pgloread.html INDEXPOINT pgtcl-pgloread.html#IX-PGTCL-PGLOREAD-2 TITLE pg_lo_read significance NORMAL id IX-PGTCL-PGLOREAD-2 PRIMARY pg_lo_read /INDEXTERM INDEXTERM pgtcl-pglowrite.html INDEXPOINT pgtcl-pglowrite.html#IX-PGTCL-PGLOWRITE-2 TITLE pg_lo_write significance NORMAL id IX-PGTCL-PGLOWRITE-2 PRIMARY pg_lo_write /INDEXTERM INDEXTERM pgtcl-pglolseek.html INDEXPOINT pgtcl-pglolseek.html#IX-PGTCL-PGLOLSEEK-2 TITLE pg_lo_lseek significance NORMAL id IX-PGTCL-PGLOLSEEK-2 PRIMARY pg_lo_lseek /INDEXTERM INDEXTERM pgtcl-pglotell.html INDEXPOINT pgtcl-pglotell.html#IX-PGTCL-PGLOTELL-2 TITLE pg_lo_tell significance NORMAL id IX-PGTCL-PGLOTELL-2 PRIMARY pg_lo_tell /INDEXTERM INDEXTERM pgtcl-pglounlink.html INDEXPOINT pgtcl-pglounlink.html#IX-PGTCL-PGLOUNLINK-2 TITLE pg_lo_unlink significance NORMAL id IX-PGTCL-PGLOUNLINK-2 PRIMARY pg_lo_unlink /INDEXTERM INDEXTERM pgtcl-pgloimport.html INDEXPOINT pgtcl-pgloimport.html#IX-PGTCL-PGLOIMPORT-2 TITLE pg_lo_import significance NORMAL id IX-PGTCL-PGLOIMPORT-2 PRIMARY pg_lo_import /INDEXTERM INDEXTERM pgtcl-pgloexport.html INDEXPOINT pgtcl-pgloexport.html#IX-PGTCL-PGLOEXPORT-2 TITLE pg_lo_export significance NORMAL id IX-PGTCL-PGLOEXPORT-2 PRIMARY pg_lo_export /INDEXTERM flightaware-Pgtcl-8d02566/doc/Makefile000066400000000000000000000020521203531660700175450ustar00rootroot00000000000000# # Makefile for making html and pdf documentation (etc) of the libpgtcl # interface. # # This requires all that complicated docbook sgml stuff, plus tex if you # want to generate postscript or pdf. You need at least # openjade and pdfjadetex to run it, plus all the stuff they need. # # There is a lot of useful information on # # http://www.postgresql.org/docs/7.3/static/doc-toolsets.html # # # $Id$ # DOCBOOKDIR=/usr/local/share/sgml/docbook/dsssl/modular/catalog STYLESHEET=stylesheet.dsl SGMLSOURCE=libpgtcl.sgml all: libpgtcl.pdf dohtml: -rm html/*.html -openjade -V draft-mode -wall -wno-unused-param -wno-empty -D . -c $(DOCBOOKDIR) -d $(STYLESHEET) -i output-html -t sgml $(SGMLSOURCE) -mkdir html mv *.html html libpgtcl.pdf: $(SGMLSOURCE) openjade -V draft-mode -D . -c $(DOCBOOKDIR) -d $(STYLESHEET) -t tex -V tex-backend -i output-print -V texpdf-output -o libpgtcl.tex-pdf $(SGMLSOURCE) pdfjadetex libpgtcl.tex-pdf rm -f libpgtcl.tex-pdf clean: rm -f libpgtcl.aux libpgtcl.log libpgtcl.out HTML.index libpgtcl.tex-pdf libpgtcl.fot flightaware-Pgtcl-8d02566/doc/PGTCL-NOTES000066400000000000000000000144531203531660700175770ustar00rootroot00000000000000 Commands: pg_conndefaults pg_connect dbName [-host hostName] [-port portNumber] [-tty pqtty] ?-connhandle connHandleName? The result is either an error message or a handle for a database connection. Handles start with the prefix "pgp". (DEPRECATED, use pg_connect -conninfo instead.) pg_connect -conninfo conninfoString ?-connhandle connHandleName? The modern way to connect, all necessary information required for the connection (host, port, database, user, password, etc.) is specified in the connect info string. pg_connect -connlist name_value_list ?-connhandle connHandleName? This was added to better suit Tcl style of data structures. You can set an array with the connection info, such as: array set myinfo {host myhost port 5000} And then do: pg_connect -connlist [array get myinfo] pg_dbinfo connections This returns the currect connection handles pg_dbinfo results $conn This returns the currect result handles for connection $conn pg_disconnect $conn Close a backend connection. pg_exec $conn query Send a query string to the backend connection. The return result is either an error message or a handle for a query result. Handles start with the prefix "pgp". pg_select send a select query string to the backend connection syntax: pg_select connection query var proc The query must be a select statement The var is used in the proc as an array The proc is run once for each row found example: set conn [pg_connect www] pg_select $conn "select * from users" user { parray user } pg_disconnect $conn You can "continue" and "return" in the body and it'll do the expected thing. pg_result Get information about the results of a query. pg_result result ?option? the options are: -status the status of the result -error the error message, if the status indicates error; otherwise an empty string -conn the connection that produced the result -oid if command was an INSERT, the OID of the inserted tuple -numTuples the number of tuples in the query -numAttrs returns the number of attributes returned by the query -assign arrayName assign the results to an array, using subscripts of the form (tupno,attributeName) -assignbyidx arrayName ?appendstr? assign the results to an array using the first field's value as a key. All but the first field of each tuple are stored, using subscripts of the form (field0value,attributeNameappendstr) -getTuple tupleNumber returns the values of the tuple in a list -tupleArray tupleNumber arrayName stores the values of the tuple in array arrayName, indexed by the attributes returned -attributes returns a list of the name/type pairs of the tuple attributes -lAttributes returns a list of the {name type len} entries of the tuple attributes -list returns a list with the results -llist returns a list of lists with the results -dict returns a dict object with the results -clear clear the result buffer. Do not reuse after this -null_value_string ?value? if value is specified or has been set via the connection's pg_null_value_string, this string value is returned for the various query styles when the corresponding row element is NULL. pg_results returns a list of result handles for a particular connection syntax: pg_results connhandle pg_execute Send a query string to the backend connection and process the result. syntax: pg_execute ?-array name? ?-oid varname? connection query ?loop_body? The return result is the number of tuples processed. If the query returns tuples (i.e. a SELECT statement), the result is placed into variables. pg_lo_open Open a large object syntax: pg_lo_open conn objOid mode ...where mode can be either 'r', 'w', or 'rw' pg_lo_close close a large object syntax: pg_lo_close conn fd pg_lo_read reads at most len bytes from a large object into a variable named bufVar syntax: pg_lo_read conn fd bufVar len bufVar is the name of a variable in which to start the contents of the read pg_lo_write write at most len bytes to a large object pg_lo_write conn fd buf len pg_lo_seek seek to a certain position in a large object syntax pg_lo_seek conn fd offset whence whence can be either "SEEK_CUR", "SEEK_END", or "SEEK_SET" pg_lo_creat create a new large object with mode syntax: pg_lo_creat conn mode mode can be any OR'ing together of INV_READ, INV_WRITE. For now, we don't support any additional storage managers. pg_lo_tell returns the current seek location of the large object syntax: pg_lo_tell conn fd pg_lo_creat pg_lo_unlink unlink a file based on lobject id syntax: pg_lo_unlink conn lobjId pg_lo_import import a UNIX file into an (inversion) large object returns the oid of that object upon success returns InvalidOid upon failure syntax: pg_lo_import conn filename pg_lo_export export an inversion large object to a UNIX file syntax: pg_lo_export conn lobjId filename pg_listen create or remove a callback request for notifies on a given name syntax: pg_listen conn notifyname ?callbackcommand? With a fourth arg, creates or changes the callback command for notifies on the given name; without, cancels the callback request. Callbacks can occur whenever Tcl is executing its event loop. This is the normal idle loop in Tk; in plain tclsh applications, vwait or update can be used to enter the Tcl event loop. pg_quote quotes a string suitable for SQL statements to the backend syntax: pg_quote string pg_escape_string escapes a string suitable for SQL statements to the backend syntax: pg_escape_string string pg_escape_bytea escapes a binary string suitable for SQL statements to the backend syntax: pg_escape_bytea binaryString pg_unescape_bytea unescapes a binary string that was stored in the backend syntax: pg_unescape_bytea binaryString flightaware-Pgtcl-8d02566/doc/README000066400000000000000000000014671203531660700167760ustar00rootroot00000000000000$Id$ libpgtcl.sgml is in docbook 4.2 format, and started out as the documentation from the PostgreSQL package when Pgtcl was part of the Postgres core. It has been updated to document the latest capabilities of Pgtcl. The release ships with documentation in HTML and PDF form. To build your own docs from the sgml source is beyond the scope of this document. For starters, though, you'll need openjade, pdfjadetex, docbook 4.2, DSSSL Docbook (cygnus), and probably some other stuff. "make" should make libpgtcl.pdf. make dohtml should make the html subdirectory and (re)populate it with html files documenting libpgtcl. If you're using FreeBSD, it's pretty easy. There are some good hints on everything you need and how to get it built and installed at http://www.postgresql.org/docs/8.3/static/docguide.html flightaware-Pgtcl-8d02566/doc/html/000077500000000000000000000000001203531660700170525ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/doc/html/index.html000066400000000000000000000050011203531660700210430ustar00rootroot00000000000000 PostgreSQL Tcl Interface Documentation
  Next
  pgtcl - Tcl Binding Library
flightaware-Pgtcl-8d02566/doc/html/libpgtcl-loading.html000066400000000000000000000121751203531660700231610ustar00rootroot00000000000000 Loading pgtcl into an Application

1.2. Loading pgtcl into an Application

Before using pgtcl commands, you must load the libpgtcl library into your Tcl application. This is normally done with the package require command. Here is an example:

package require Pgtcl 1.5

package require loads the libpgtcl shared library, and loads any additional Tcl code that is part of the Pgtcl package. Note that you can manually generate the pkgIndex.tcl file, or use make pkgIndex.tcl or make pkgIndex.tcl-hand to have make generate it.

The old way to load the shared library is by using the Tcl load command. Here is an example:

load libpgtcl[info sharedlibextension]

Although this way of loading the shared library is deprecated, we continue to document it for the time being, because it may help in debugging if, for some reason, package require is failing. The use of info sharedlibextension is recommended in preference to hard-wiring .so or .sl or .dll into the program.

The load command will fail unless the system's dynamic loader knows where to look for the libpgtcl shared library file. You may need to work with ldconfig, or set the environment variable LD_LIBRARY_PATH, or use some equivalent facility for your platform to make it work. Refer to the PostgreSQL installation instructions for more information.

libpgtcl in turn depends on the interface library libpq, so the dynamic loader must also be able to find the libpq shared library. In practice this is seldom an issue, since both of these shared libraries are normally stored in the same directory, but it can be a stumbling block in some configurations.

If you use a custom executable for your application, you might choose to statically bind libpgtcl into the executable and thereby avoid the load command and the potential problems of dynamic linking. See the source code for pgtclsh for an example.

flightaware-Pgtcl-8d02566/doc/html/libpgtcl-ref.html000066400000000000000000000145061203531660700223200ustar00rootroot00000000000000 pgtcl Command Reference

1.3. pgtcl Command Reference

Table of Contents
pg_connect -- open a connection to the server
pg_dbinfo -- returns a list of current open connection/result handles
pg_disconnect -- close a connection to the server
pg_conndefaults -- get connection options and their defaults
pg_exec -- send a command to the server
pg_exec_prepared -- send a request to execute a prepared SQL statement to the server
pg_result -- get information about a command result
pg_select -- loop over the result of a query
pg_execute -- send a query and optionally loop over the results
pg_listen -- set or change a callback for asynchronous notification messages
pg_on_connection_loss -- set or change a callback for unexpected connection loss
pg_sendquery -- send a query string to the backend connection without waiting for a result
pg_sendquery_prepared -- send a request to execute a prepared statement to the backend connection, without waiting for a result
pg_getresult -- process asychronous results
pg_isbusy -- see if a query is busy
pg_blocking -- see or set whether or not a connection is set to blocking or nonblocking
pg_cancelrequest -- request that PostgreSQL abandon processing of the current command
pg_null_value_string -- define a value to be returned for NULL fields distinct from the default value of an empty string.
pg_quote -- escapes a string for inclusion into SQL statements
pg_escape_string -- escapes a string for inclusion into SQL statements. This is the same as pg_quote. It was added for consistency.
pg_escape_bytea -- escapes a binary string for inclusion into SQL statements.
pg_unescape_bytea -- unescapes a binary string.
pg_lo_creat -- create a large object
pg_lo_open -- open a large object
pg_lo_close -- close a large object
pg_lo_read -- read from a large object
pg_lo_write -- write to a large object
pg_lo_lseek -- seek to a position of a large object
pg_lo_tell -- return the current seek position of a large object
pg_lo_unlink -- delete a large object
pg_lo_import -- import a large object from a file
pg_lo_export -- export a large object to a file
flightaware-Pgtcl-8d02566/doc/html/libpgtcl.html000066400000000000000000000340601203531660700215430ustar00rootroot00000000000000 pgtcl - Tcl Binding Library

Chapter 1. pgtcl - Tcl Binding Library

Table of Contents
1.1. Overview
1.2. Loading pgtcl into an Application
1.3. pgtcl Command Reference
pg_connect -- open a connection to the server
pg_dbinfo -- returns a list of current open connection/result handles
pg_disconnect -- close a connection to the server
pg_conndefaults -- get connection options and their defaults
pg_exec -- send a command to the server
pg_exec_prepared -- send a request to execute a prepared SQL statement to the server
pg_result -- get information about a command result
pg_select -- loop over the result of a query
pg_execute -- send a query and optionally loop over the results
pg_listen -- set or change a callback for asynchronous notification messages
pg_on_connection_loss -- set or change a callback for unexpected connection loss
pg_sendquery -- send a query string to the backend connection without waiting for a result
pg_sendquery_prepared -- send a request to execute a prepared statement to the backend connection, without waiting for a result
pg_getresult -- process asychronous results
pg_isbusy -- see if a query is busy
pg_blocking -- see or set whether or not a connection is set to blocking or nonblocking
pg_cancelrequest -- request that PostgreSQL abandon processing of the current command
pg_null_value_string -- define a value to be returned for NULL fields distinct from the default value of an empty string.
pg_quote -- escapes a string for inclusion into SQL statements
pg_escape_string -- escapes a string for inclusion into SQL statements. This is the same as pg_quote. It was added for consistency.
pg_escape_bytea -- escapes a binary string for inclusion into SQL statements.
pg_unescape_bytea -- unescapes a binary string.
pg_lo_creat -- create a large object
pg_lo_open -- open a large object
pg_lo_close -- close a large object
pg_lo_read -- read from a large object
pg_lo_write -- write to a large object
pg_lo_lseek -- seek to a position of a large object
pg_lo_tell -- return the current seek position of a large object
pg_lo_unlink -- delete a large object
pg_lo_import -- import a large object from a file
pg_lo_export -- export a large object to a file
1.4. Tcl Namespace Support
1.5. Connection/result handles as commands
1.6. Example Program

pgtcl is a Tcl package for client programs to interface with PostgreSQL servers. It makes most of the functionality of libpq available to Tcl scripts.

1.1. Overview

Table 1-1 gives an overview over the commands available in pgtcl. These commands are described further on subsequent pages.

Table 1-1. pgtcl Commands

CommandNamespace CommandDescription
pg_connectpg::connectopen a connection to the server
pg_dbinfopg::dbinforeturns the current connection/result handles
pg_disconnectpg::disconnectclose a connection to the server
pg_conndefaultspg::conndefaultsget connection options and their defaults
pg_execpg::sqlexecsend a command to the server
pg_exec_preparedpg::exec_preparedsend a request to execute a prepared statement, with parameters
pg_resultpg::resultget information about a command result
pg_selectpg::selectloop over the result of a query
pg_executepg::executesend a query and optionally loop over the results
pg_null_value_stringpg::null_value_stringset string to be returned for null values in query results
pg_quotepg::quoteescape a string for inclusion into SQL statements
pg_escape_stringpg::escape_stringescape a binary string for inclusion into SQL statements
pg_escape_byteapg::escape_byteaescape a binary string for inclusion into SQL statements
pg_unescape_byteapg::unescape_byteaunescape a binary string from the backend
pg_listenpg::listenset or change a callback for asynchronous notification messages
pg_on_connection_losspg::on_connection_lossset or change a callback for unexpected connection loss
pg_sendquerypg::sendqueryissue pg_exec-style command asynchronously
pg_sendquery_preparedpg::sendquery_preparedsend an asynchronous request to execute a prepared statement, with parameters
pg_getresultpg::getresultcheck on results from asynchronously issued commands
pg_isbusypg::isbusycheck to see if the connection is busy processing a query
pg_blockingpg::blockingset a database connection to be either blocking or nonblocking
pg_cancelrequestpg::cancelrequestrequest PostgreSQL abandon processing of the current command
pg_lo_creatpg::lo_creatcreate a large object
pg_lo_openpg::lo_openopen a large object
pg_lo_closepg::lo_closeclose a large object
pg_lo_readpg::lo_readread from a large object
pg_lo_writepg::lo_writewrite to a large object
pg_lo_lseekpg::lo_lseekseek to a position in a large object
pg_lo_tellpg::lo_tellreturn the current seek position of a large object
pg_lo_unlinkpg::lo_unlinkdelete a large object
pg_lo_importpg::lo_importimport a large object from a file
pg_lo_exportpg::lo_exportexport a large object to a file

The pg_lo_* commands are interfaces to the large object features of PostgreSQL. The functions are designed to mimic the analogous file system functions in the standard Unix file system interface. The pg_lo_* commands should be used within a BEGIN/COMMIT transaction block because the descriptor returned by pg_lo_open is only valid for the current transaction. pg_lo_import and pg_lo_export must be used in a BEGIN/COMMIT transaction block.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-commandhandles.html000066400000000000000000000063321203531660700240300ustar00rootroot00000000000000 Connection/result handles as commands

1.5. Connection/result handles as commands

Starting with version 1.5, you can use the connection/result handle as a Tcl command. What this means is that when a handle for a connection or result is generated, a corresponding Tcl command is also generate. For example, you can do the following:

set conn [pg::connect template1 -host $host -port $port]
set res [$conn exec "SELECT datname FROM pg_database ORDER BY datname;"]
set datnames [$res -list]
$res -clear
rename $conn {} ;# or $conn disconnect

Note that deleting the command (rename $conn {}), has the same effect as pg::result $res -clear (if it is a result handle), and pg::disconnect (if it is a connection handle). Also, if that command gets overloaded with a proc definition, then that has the same effect as deleting the command.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-examplesect.html000066400000000000000000000075061203531660700233710ustar00rootroot00000000000000 Example Program

1.6. Example Program

Example 1-1 shows a small example of how to use the pgtcl commands.

Example 1-1. pgtcl Example Program

# getDBs :
#   get the names of all the databases at a given host and port number
#   with the defaults being the localhost and port 5432
#   return them in alphabetical order
proc getDBs { {host "localhost"} {port "5432"} } {
    # datnames is the list to be result
    set conn [pg_connect template1 -host $host -port $port]
    set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname;"]
    set ntups [pg_result $res -numTuples]
    for {set i 0} {$i < $ntups} {incr i} {
	lappend datnames [pg_result $res -getTuple $i]
    }
    pg_result $res -clear
    pg_disconnect $conn
    return $datnames
}

## OR an alternative

proc getDBs { {host "localhost"} {port "5432"} } {
    # datnames is the list to be result
    set conn [pg_connect template1 -host $host -port $port]
    set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname;"]

    set datnames [pg_result $res -list]
    pg_result $res -clear
    pg_disconnect $conn
    return $datnames
}

## OR an alternative

proc getDBs { {host "localhost"} {port "5432"} } {
    # datnames is the list to be result
    set conn [pg_connect template1 -host $host -port $port]
    set res [$conn exec "SELECT datname FROM pg_database ORDER BY datname;"]

    set datnames [$res -dict]
    $res -clear
    rename $conn {}
    return [dict get $datnames]
}
flightaware-Pgtcl-8d02566/doc/html/pgtcl-nullvaluestring.html000066400000000000000000000073151203531660700243130ustar00rootroot00000000000000 pg_null_value_string

pg_null_value_string

Name

pg_null_value_string -- define a value to be returned for NULL fields distinct from the default value of an empty string.

Synopsis

pg_null_value_string ?string?

Description

pg_null_value_string sets or retrieves a string to be returned in query results for fields whose value is NULL, making it possible to distinguish between NULL values an values that are not null but are comprised of an empty string. Without setting an alternative null value with this or with pg_result's -null_value_string, it is impossible to tell the difference between a NULL field value and one that is not null but empty.

Arguments

string

The string to be set that will be returned for null fields.

Return Value

Returns the string that is currently being returned for null fields. It will be the passed string value if one was passed, or, otherwise, the value currently being used.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgblocking.html000066400000000000000000000074601203531660700231750ustar00rootroot00000000000000 pg_blocking

pg_blocking

Name

pg_blocking -- see or set whether or not a connection is set to blocking or nonblocking

Synopsis

pg_blocking conn ?mode?

Description

pg_blocking can set the connection to either blocking or nonblocking, and it can see which way the connection is currently set.

Arguments

conn

The handle of a connection to the database in which the large object exists.

mode

If present, sets the mode of the connection to nonblocking if 0. Otherwise it sets the connection to blocking.

Return Value

Returns nothing if called with the mode argument. Otherwise it returns 1 if the connection is set for blocking, or 0 if the connection is set for nonblocking.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgcancelrequest.html000066400000000000000000000064761203531660700242510ustar00rootroot00000000000000 pg_cancelrequest

pg_cancelrequest

Name

pg_cancelrequest -- request that PostgreSQL abandon processing of the current command

Synopsis

pg_cancelrequest conn

Description

pg_cancelrequest requests that the processing of the current command be abandoned.

Arguments

conn

The handle of a connection to the database in which the large object exists.

Return Value

Returns nothing if the command was successfully dispatched or if no query was being processed. Otherwise, returns an error.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgconndefaults.html000066400000000000000000000064561203531660700240760ustar00rootroot00000000000000 pg_conndefaults

pg_conndefaults

Name

pg_conndefaults -- get connection options and their defaults

Synopsis

pg_conndefaults

Description

pg_conndefaults returns information about the connection options available in pg_connect -conninfo and the current default value for each option.

Arguments

None

Return Value

The result is a list describing the possible connection options and their current default values. Each entry in the list is a sublist of the format:

{optname label dispchar dispsize value}

where the optname is usable as an option in pg_connect -conninfo.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgconnect.html000066400000000000000000000355661203531660700230460ustar00rootroot00000000000000 pg_connect

pg_connect

Name

pg_connect -- open a connection to the server

Synopsis

pg_connect -conninfo connectOptions ?-connhandle connectionHandleName?
pg_connect dbName ?-host hostName? ?-port portNumber? ?-tty tty? ?-options serverOptions? ?-connhandle connectionHandleName?
pg_connect -connlist connectNameValueList ?-connhandle connectionHandleName?

Description

pg_connect opens a connection to the PostgreSQL server.

Three syntaxes are available. In the older one, each possible option has a separate option switch in the pg_connect command. In the newer form, a single option string is supplied that can contain multiple option values. The third form takes the parameters as a name value Tcl list. pg_conndefaults can be used to retrieve information about the available options in the newer syntax.

Arguments

New style

connectOptions

pg_connect opens a new database connection using the parameters taken from the connectOptions string. Unlike the old-style usage of pg_connect, with the new-style usage the parameter set can be extended without requiring changes to either libpgtcl or the underlying libpq library, so use of the new style (or its nonexistent nonblocking analogues pg_connect_start and pg_connect_poll) is preferred for new application programming.

The passed string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. (To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.) Spaces around the equal sign are optional.

The currently recognized parameter key words are:

host

Name of host to connect to. If this begins with a slash, it specifies Unix-domain communication rather than TCP/IP communication; the value is the name of the directory in which the socket file is stored. The default is to connect to a Unix-domain socket in /tmp.

hostaddr

Numeric IP address of host to connect to. This should be in the standard IPv4 address format, e.g., 172.28.40.9. If your machine supports IPv6, you can also use IPv6 address format, e.g., fe80::203:93ff:fedb:49bc. TCP/IP communication is always used when a nonempty string is specified for this parameter.

Using hostaddr instead of host allows the application to avoid a host name lookup, which may be important in applications with time constraints. However, Kerberos authentication requires the host name. The following therefore applies: If host is specified without hostaddr, a host name lookup occurs. If hostaddr is specified without host, the value for hostaddr gives the remote address. When Kerberos is used, a reverse name query occurs to obtain the host name for Kerberos. If both host and hostaddr are specified, the value for hostaddr gives the remote address; the value for host is ignored, unless Kerberos is used, in which case that value is used for Kerberos authentication. (Note that authentication is likely to fail if libpq is passed a host name that is not the name of the machine at hostaddr.) Also, host rather than hostaddr is used to identify the connection in $HOME/.pgpass.

Without either a host name or host address, Pgtcl will connect using a local Unix domain socket.

port

Port number to connect to at the server host, or socket file name extension for Unix-domain connections.

dbname

The database name. Defaults to be the same as the user name.

user

PostgreSQL user name to connect as.

password

Password to be used if the server demands password authentication.

connect_timeout

Maximum wait for connection, in seconds (write as a decimal integer string). Zero or not specified means wait indefinitely. It is not recommended to use a timeout of less than 2 seconds.

options

Command-line options to be sent to the server.

tty

Ignored (formerly, this specified where to send server debug output).

sslmode

This option determines whether or with what priority an SSL connection will be negotiated with the server. There are four modes: disable will attempt only an unencrypted SSL connection; allow will negotiate, trying first a non-SSL connection, then if that fails, trying an SSL connection; prefer (the default) will negotiate, trying first an SSL connection, then if that fails, trying a regular non-SSL connection; require will try only an SSL connection.

If PostgreSQL is compiled without SSL support, using option require will cause an error, and options allow and prefer will be tolerated but libpq will be unable to negotiate an SSL connection.

requiressl

This option is deprecated in favor of the sslmode setting.

If set to 1, an SSL connection to the server is required (this is equivalent to sslmode require). libpq will then refuse to connect if the server does not accept an SSL connection. If set to 0 (default), libpq will negotiate the connection type with the server (equivalent to sslmode prefer). This option is only available if PostgreSQL is compiled with SSL support.

service

Service name to use for additional parameters. It specifies a service name in pg_service.conf that holds additional connection parameters. This allows applications to specify only a service name so connection parameters can be centrally maintained. See PREFIX/share/pg_service.conf.sample for information on how to set up the file.

-connhandle connectionHandleName

Name to use for the connection handle, instead of pgtcl generating the name automatically. Without the option, the name is auto-generated, prefixed with pgsql, and with a numeric id at the end. This gives the programmer control over the name of the connection handle.

If any parameter is unspecified, then the corresponding environment variable (see libpq documentation in the PostgreSQL manual) is checked. If the environment variable is not set either, then built-in defaults are used.

Old style

dbName

The name of the database to connect to.

-host hostName

The host name of the database server to connect to.

-port portNumber

The TCP port number of the database server to connect to.

-tty tty

A file or TTY for optional debug output from the server.

-options serverOptions

Additional configuration options to pass to the server.

-connhandle connectionHandleName

Name to use for the connection handle, instead of pgtcl generating the name automatically. Without the option, the name is auto-generated, prefixed with pgsql, and with a numeric id at the end. This gives the programmer control over the name of the connection handle.

Third style (most recent one added)

-connlist connectNameValuelist

pg_connect opens a new database connection using the parameters taken from the connectNameValuelist list. The parameters are exactly the same for the New Style, but they are stored as a Tcl list, instead of a string. The list is a name value pair, for example: [list host localhost port 5400 dbname template1].

array set conninfo {
    host    192.168.123.180
    port    5801
    dbname  template1
    user    postgres
}
set conn [pg::connect -connlist [array get ::conninfo]]


	 

Return Value

If successful, a handle for a database connection is returned. Handles start with the prefix pgsql.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgconninfo.html000066400000000000000000000066651203531660700232240ustar00rootroot00000000000000 pg_dbinfo

pg_dbinfo

Name

pg_dbinfo -- returns a list of current open connection/result handles

Synopsis

pg_dbinfo connections|results ?conn?

Description

pg_dbinfo returns a list of connection\result handles that are currently open. The first argument is either connections or results. If the first argument is results, then a second argument needs to be present, specifyin the connection.

Arguments

connections|results

Either specify connections if you want the connection handles, or results if you want the result handles.

conn

The handle of the connection, if results if specified for the first argument.

Return Value

A Tcl list of connection handle names

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgdisconnect.html000066400000000000000000000060651203531660700235360ustar00rootroot00000000000000 pg_disconnect

pg_disconnect

Name

pg_disconnect -- close a connection to the server

Synopsis

pg_disconnect conn

Description

pg_disconnect closes a connection to the PostgreSQL server.

Arguments

conn

The handle of the connection to be closed.

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgescape-bytea.html000066400000000000000000000065101203531660700237420ustar00rootroot00000000000000 pg_escape_bytea

pg_escape_bytea

Name

pg_escape_bytea -- escapes a binary string for inclusion into SQL statements.

Synopsis

pg_escape_bytea string

Description

pg_escape_bytea escapes a binary string, making it safe for inclusion into SQL statements.

    pg_exec $conn "insert into foo values ([pg_escape_binary $name]);" 

Arguments

binary_string

The binary string to be escaped.

Return Value

Returns the binary string, escaped for inclusion into SQL queries.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgescape-string.html000066400000000000000000000077441203531660700241560ustar00rootroot00000000000000 pg_escape_string

pg_escape_string

Name

pg_escape_string -- escapes a string for inclusion into SQL statements. This is the same as pg_quote. It was added for consistency.

Synopsis

pg_escape_string string

Description

pg_escape_string quotes a string and escapes single quotes and backslashes within the string, making it safe for inclusion into SQL statements.

If you're doing something like

    pg_exec $conn "insert into foo values ('$name');" 

and name contains text includeing an unescaped single quote, such as Bob's House, the insert will fail. Passing value strings through pg_escape_string make sure they can be used as values and stuff in PostgreSQL.

    pg_exec $conn "insert into foo values ([pg_escape_string $name]);" 

...will make sure that any special characters that occur in name, such as single quote or backslash, will be properly quoted.

Arguments

string

The string to be escaped.

Return Value

Returns the string, escaped for inclusion into SQL queries. Note that it adds a set of single quotes around the outside of the string as well.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgexec.html000066400000000000000000000107701203531660700223270ustar00rootroot00000000000000 pg_exec

pg_exec

Name

pg_exec -- send a command to the server

Synopsis

pg_exec conn commandString ?args?

Description

pg_exec submits a command to the PostgreSQL server and returns a result. Command result handles start with the connection handle and add a period and a result number.

Note that lack of a Tcl error is not proof that the command succeeded! An error message returned by the server will be processed as a command result with failure status, not by generating a Tcl error in pg_exec.

Arguments

conn

The handle of the connection on which to execute the command.

commandString

The SQL command to execute.

args

For PostgreSQL versions greater than 7.4, args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution.

Return Value

A result handle. A Tcl error will be returned if pgtcl was unable to obtain a server response. Otherwise, a command result object is created and a handle for it is returned. This handle can be passed to pg_result to obtain the results of the command.

Example

pg_exec $conn {select * from table1 where id = $1 and user = $2} $id $user

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgexecprepared.html000066400000000000000000000105461203531660700240530ustar00rootroot00000000000000 pg_exec_prepared

pg_exec_prepared

Name

pg_exec_prepared -- send a request to execute a prepared SQL statement to the server

Synopsis

pg_exec_prepared conn statementName ?args?

Description

pg_exec_prepared submits a command to the PostgreSQL server and returns a result.

pg_exec_prepared functions identically to pg_exec, except that it operates using statements prepared by the PREPARE SQL command.

Note that prepared statements are only support under PostgreSQL 7.4 and later.

Arguments

conn

The handle of the connection on which to execute the command.

statementName

The name of the prepared statement to execute.

args

args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution.

Return Value

A result handle. See pg_exec for details.

Example

pg_exec $conn {prepare insert_people 
    (varchar, varchar, varchar, varchar, varchar, varchar) 
    as insert into people values ($1, $2, $3, $4, $5, $6);}

pg_exec_prepared $conn insert_people $email $name $address $city $state $zip

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgexecute.html000066400000000000000000000170471203531660700230510ustar00rootroot00000000000000 pg_execute

pg_execute

Name

pg_execute -- send a query and optionally loop over the results

Synopsis

pg_execute ?-array arrayVar? ?-oid oidVar? conn commandString ?procedure?

Description

pg_execute submits a command to the PostgreSQL server.

If the command is not a SELECT statement, the number of rows affected by the command is returned. If the command is an INSERT statement and a single row is inserted, the OID of the inserted row is stored in the variable oidVar if the optional -oid argument is supplied.

If the command is a SELECT statement, then, for each row in the result, the row values are stored in the arrayVar variable, if supplied, using the column names as the array indices, else in variables named by the column names, and then the optional procedure is executed if supplied. (Omitting the procedure probably makes sense only if the query will return a single row.) The number of rows selected is returned.

The procedure can use the Tcl commands break, continue, and return with the expected behavior. Note that if the procedure executes return, then pg_execute does not return the number of affected rows.

pg_execute is a newer function which provides a superset of the features of pg_select and can replace pg_exec in many cases where access to the result handle is not needed.

For server-handled errors, pg_execute will throw a Tcl error and return a two-element list. The first element is an error code, such as PGRES_FATAL_ERROR, and the second element is the server error text. For more serious errors, such as failure to communicate with the server, pg_execute will throw a Tcl error and return just the error message text.

Arguments

-array arrayVar

Specifies the name of an array variable where result rows are stored, indexed by the column names. This is ignored if commandString is not a SELECT statement.

-oid oidVar

Specifies the name of a variable into which the OID from an INSERT statement will be stored.

conn

The handle of the connection on which to execute the command.

commandString

The SQL command to execute.

procedure

Optional procedure to execute for each result row of a SELECT statement.

Return Value

The number of rows affected or returned by the command.

Examples

In the following examples, error checking with catch has been omitted for clarity.

Insert a row and save the OID in result_oid:

pg_execute -oid result_oid $pgconn "INSERT INTO mytable VALUES (1);"

Print the columns item and value from each row:

pg_execute -array d $pgconn "SELECT item, value FROM mytable;" {
    puts "Item=$d(item) Value=$d(value)"
}

Find the maximum and minimum values and store them in $s(max) and $s(min):

pg_execute -array s $pgconn "SELECT max(value) AS max, min(value) AS min FROM mytable;"

Find the maximum and minimum values and store them in $max and $min:

pg_execute $pgconn "SELECT max(value) AS max, min(value) AS min FROM mytable;"

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pggetresult.html000066400000000000000000000074171203531660700234250ustar00rootroot00000000000000 pg_getresult

pg_getresult

Name

pg_getresult -- process asychronous results

Synopsis

pg_getresult conn

Description

pg_getresult checks to see if any commands issued by pg_sendquery have completed.

This will return the same sort of result handle that pg_exec returns.

If there is no query currently being processed or all of the results have been obtained, pg_getresult returns nothing.

Arguments

conn

The handle of a connection to the database to which asynchronous requests are being issued.

Return Value

If a query result is available, a command result object is returned. This handle can be passed to pg_result to obtain the results of the command.

If there is no query currently being processed or all of the results have been obtained, pg_getresult returns nothing.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgisbusy.html000066400000000000000000000063371203531660700227250ustar00rootroot00000000000000 pg_isbusy

pg_isbusy

Name

pg_isbusy -- see if a query is busy

Synopsis

pg_isbusy conn

Description

pg_isbusy checks to see if the backend is busy handling a query or not.

Arguments

conn

The handle of a connection to the database in which the large object exists.

Return Value

Returns 1 if the backend is busy, in which case a call to pg_getresult would block, otherwise it returns 0.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglisten.html000066400000000000000000000120501203531660700226720ustar00rootroot00000000000000 pg_listen

pg_listen

Name

pg_listen -- set or change a callback for asynchronous notification messages

Synopsis

pg_listen conn notifyName ?callbackCommand?

Description

pg_listen creates, changes, or cancels a request to listen for asynchronous notification messages from the PostgreSQL server. With a callbackCommand parameter, the request is established, or the command string of an already existing request is replaced. With no callbackCommand parameter, a prior request is canceled.

After a pg_listen request is established, the specified command string is executed whenever a notification message bearing the given name arrives from the server. This occurs when any PostgreSQL client application issues a NOTIFY command referencing that name. The command string is executed from the Tcl idle loop. That is the normal idle state of an application written with Tk. In non-Tk Tcl shells, you can execute update or vwait to cause the idle loop to be entered.

You should not invoke the SQL statements LISTEN or UNLISTEN directly when using pg_listen. pgtcl takes care of issuing those statements for you. But if you want to send a notification message yourself, invoke the SQL NOTIFY statement using pg_exec.

Arguments

conn

The handle of the connection on which to listen for notifications.

notifyName

The name of the notification condition to start or stop listening to.

callbackCommand

If present, provides the command string to execute when a matching notification arrives.

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgloclose.html000066400000000000000000000062671203531660700230510ustar00rootroot00000000000000 pg_lo_close

pg_lo_close

Name

pg_lo_close -- close a large object

Synopsis

pg_lo_close conn descriptor

Description

pg_lo_close closes a large object.

Arguments

conn

The handle of a connection to the database in which the large object exists.

descriptor

A descriptor for the large object from pg_lo_open.

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglocreat.html000066400000000000000000000070001203531660700230240ustar00rootroot00000000000000 pg_lo_creat

pg_lo_creat

Name

pg_lo_creat -- create a large object

Synopsis

pg_lo_creat conn mode

Description

pg_lo_creat creates a large object.

Arguments

conn

The handle of a connection to the database in which to create the large object.

mode

The access mode for the large object. It can be any or'ing together of INV_READ and INV_WRITE. The "or" operator is |. For example:

[pg_lo_creat $conn "INV_READ|INV_WRITE"]

Return Value

The OID of the large object created.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgloexport.html000066400000000000000000000071511203531660700232560ustar00rootroot00000000000000 pg_lo_export

pg_lo_export

Name

pg_lo_export -- export a large object to a file

Synopsis

pg_lo_export conn loid filename

Description

pg_lo_export writes the specified large object into a file.

Arguments

conn

The handle of a connection to the database in which the large object exists.

loid

The OID of the large object.

filename

Specifies the file into which the data is to be exported.

Return Value

None

Notes

pg_lo_export must be called within a BEGIN/COMMIT transaction block.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgloimport.html000066400000000000000000000070031203531660700232430ustar00rootroot00000000000000 pg_lo_import

pg_lo_import

Name

pg_lo_import -- import a large object from a file

Synopsis

pg_lo_import conn filename

Description

pg_lo_import reads the specified file and places the contents into a new large object.

Arguments

conn

The handle of a connection to the database in which to create the large object.

filename

Specified the file from which to import the data.

Return Value

The OID of the large object created.

Notes

pg_lo_import must be called within a BEGIN/COMMIT transaction block.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglolseek.html000066400000000000000000000075161203531660700230450ustar00rootroot00000000000000 pg_lo_lseek

pg_lo_lseek

Name

pg_lo_lseek -- seek to a position of a large object

Synopsis

pg_lo_lseek conn descriptor offset whence

Description

pg_lo_lseek moves the current read/write position to offset bytes from the position specified by whence.

Arguments

conn

The handle of a connection to the database in which the large object exists.

descriptor

A descriptor for the large object from pg_lo_open.

offset

The new seek position in bytes.

whence

Specified from where to calculate the new seek position: SEEK_CUR (from current position), SEEK_END (from end), or SEEK_SET (from start).

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgloopen.html000066400000000000000000000066731203531660700227060ustar00rootroot00000000000000 pg_lo_open

pg_lo_open

Name

pg_lo_open -- open a large object

Synopsis

pg_lo_open conn loid mode

Description

pg_lo_open opens a large object.

Arguments

conn

The handle of a connection to the database in which the large object exists.

loid

The OID of the large object.

mode

Specifies the access mode for the large object. Mode can be either r, w, or rw.

Return Value

A descriptor for use in later large-object commands.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgloread.html000066400000000000000000000075131203531660700226520ustar00rootroot00000000000000 pg_lo_read

pg_lo_read

Name

pg_lo_read -- read from a large object

Synopsis

pg_lo_read conn descriptor bufVar len

Description

pg_lo_read reads at most len bytes from a large object into a variable named bufVar.

Arguments

conn

The handle of a connection to the database in which the large object exists.

descriptor

A descriptor for the large object from pg_lo_open.

bufVar

The name of a buffer variable to contain the large object segment.

len

The maximum number of bytes to read.

Return Value

The number of bytes actually read is returned; this could be less than the number requested if the end of the large object is reached first. In event of an error, the return value is negative.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglotell.html000066400000000000000000000066031203531660700226760ustar00rootroot00000000000000 pg_lo_tell

pg_lo_tell

Name

pg_lo_tell -- return the current seek position of a large object

Synopsis

pg_lo_tell conn descriptor

Description

pg_lo_tell returns the current read/write position in bytes from the beginning of the large object.

Arguments

conn

The handle of a connection to the database in which the large object exists.

descriptor

A descriptor for the large object from pg_lo_open.

Return Value

A zero-based offset in bytes suitable for input to pg_lo_lseek.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglounlink.html000066400000000000000000000062231203531660700232340ustar00rootroot00000000000000 pg_lo_unlink

pg_lo_unlink

Name

pg_lo_unlink -- delete a large object

Synopsis

pg_lo_unlink conn loid

Description

pg_lo_unlink deletes the specified large object.

Arguments

conn

The handle of a connection to the database in which the large object exists.

loid

The OID of the large object.

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pglowrite.html000066400000000000000000000076071203531660700230750ustar00rootroot00000000000000 pg_lo_write

pg_lo_write

Name

pg_lo_write -- write to a large object

Synopsis

pg_lo_write conn descriptor buf len

Description

pg_lo_write writes at most len bytes from a variable buf to a large object.

Arguments

conn

The handle of a connection to the database in which the large object exists.

descriptor

A descriptor for the large object from pg_lo_open.

buf

The string to write to the large object (not a variable name, but the value itself).

len

The maximum number of bytes to write. The number written will be the smaller of this value and the length of the string.

Return Value

The number of bytes actually written is returned; this will ordinarily be the same as the number requested. In event of an error, the return value is negative.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgon-connection-loss.html000066400000000000000000000077461203531660700251430ustar00rootroot00000000000000 pg_on_connection_loss

pg_on_connection_loss

Name

pg_on_connection_loss -- set or change a callback for unexpected connection loss

Synopsis

pg_on_connection_loss conn ?callbackCommand?

Description

pg_on_connection_loss creates, changes, or cancels a request to execute a callback command if an unexpected loss of connection to the database occurs. With a callbackCommand parameter, the request is established, or the command string of an already existing request is replaced. With no callbackCommand parameter, a prior request is canceled.

The callback command string is executed from the Tcl idle loop. That is the normal idle state of an application written with Tk. In non-Tk Tcl shells, you can execute update or vwait to cause the idle loop to be entered.

Arguments

conn

The handle to watch for connection losses.

callbackCommand

If present, provides the command string to execute when connection loss is detected.

Return Value

None

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgresult.html000066400000000000000000000251471203531660700227250ustar00rootroot00000000000000 pg_result

pg_result

Name

pg_result -- get information about a command result

Synopsis

pg_result resultHandle resultOption

Description

pg_result returns information about a command result created by a prior pg_exec.

You can keep a command result around for as long as you need it, but when you are done with it, be sure to free it by executing pg_result -clear. Otherwise, you have a memory leak, and pgtcl will eventually start complaining that you have created too many command result objects.

Arguments

resultHandle

The handle of the command result.

resultOption

One of the following options, specifying which piece of result information to return:

-status

The status of the result.

-error ?diagCode?

The error message, if the status indicates an error, otherwise an empty string.

diagCode, if specified, requests data for a specific diagnostic code:

severity

The severity; the field contents are ERROR, FATAL, or PANIC, in an error message, or WARNING, NOTICE, DEBUG, INFO, or LOG, in a notice message, or a localized translation of one of these.

sqlstate

The SQLSTATE code for the error. (See PostgreSQL manual Appendix A).

primary

The primary human-readable error message (typically one line).

detail

An optional secondary error message carrying more detail abhout the problem, which may run to multiple lines.

hint

An optional suggestion about what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts.

The result may run to multiple lines.

position

A string containing a decimal integer indicating an error cursor position as an index into the original statement string.

The first character has index 1, and positions are measured in characters not bytes.

context

An indication of the context in which the error occurred. Presently this includes a call stack traceback of active PL functions. The trace is one entry per line, most recent first.

file

The filename of the source code location where the error was reported.

line

The line number of the source code location where the error was reported.

function

The name of the source code function reporting the error.

-conn

The connection that produced the result.

-oid

If the command was an INSERT, the OID of the inserted row, otherwise 0.

-numTuples

The number of rows (tuples) returned by the query.

-cmdTuples

The number of rows (tuples) affected by the command. (This is similar to -numTuples but relevant to INSERT and UPDATE commands.)

-numAttrs

The number of columns (attributes) in each row.

-assign arrayName

Assign the results to an array, using subscripts of the form (rowNumber, columnName).

-assignbyidx arrayName ?appendstr?

Assign the results to an array using the values of the first column and the names of the remaining column as keys. If appendstr is given then it is appended to each key. In short, all but the first column of each row are stored into the array, using subscripts of the form (firstColumnValue, columnNameAppendStr).

-getTuple rowNumber

Returns the columns of the indicated row in a list. Row numbers start at zero.

-tupleArray rowNumber arrayName

Stores the columns of the row in array arrayName, indexed by column names. Row numbers start at zero.

-attributes

Returns a list of the names of the columns in the result.

-lAttributes

Returns a list of sublists, {name typeOid typeSize} for each column.

-list

Returns one list containing all the data returned by the query.

-llist

Returns a list of lists, where each embedded list represents a tuple in the result.

-dict

Returns a dict object with the results. This needs to have dictionary support built into Tcl (Tcl 8.5), and is experimental right now, since Tcl 8.5 has not been release yet, and the API could change. In order to enable this, you need to add -DHAVE_TCL_NEWDICTOBJ to the Makefile in the DEFS variable.

-null_value_string ?string?

Defines or retrieves the string that will be returned for null values in query results. Defaults to whatever was set by pg_null_value_string but can be set here and, in this case, affects only this query result.

-clear

Clear the command result object.

Return Value

The result depends on the selected option, as described above.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgselect.html000066400000000000000000000120331203531660700226540ustar00rootroot00000000000000 pg_select

pg_select

Name

pg_select -- loop over the result of a query

Synopsis

pg_select conn commandString arrayVar procedure

Description

pg_select submits a query (SELECT statement) to the PostgreSQL server and executes a given chunk of code for each row in the result. The commandString must be a SELECT statement; anything else returns an error. The arrayVar variable is an array name used in the loop. For each row, arrayVar is filled in with the row values, using the column names as the array indices. Then the procedure is executed.

In addition to the column values, the following special entries are made in the array:

.headers

A list of the column names returned by the query.

.numcols

The number of columns returned by the query.

.tupno

The current row number, starting at zero and incrementing for each iteration of the loop body.

Arguments

conn

The handle of the connection on which to execute the query.

commandString

The SQL query to execute.

arrayVar

An array variable for returned rows.

procedure

The procedure to run for each returned row.

Return Value

None

Examples

This examples assumes that the table table1 has columns control and name (and perhaps others):

pg_select $pgconn "SELECT * FROM table1;" array {
    puts [format "%5d %s" $array(control) $array(name)]
}

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgsendquery.html000066400000000000000000000077651203531660700234340ustar00rootroot00000000000000 pg_sendquery

pg_sendquery

Name

pg_sendquery -- send a query string to the backend connection without waiting for a result

Synopsis

pg_sendquery conn commandString

Description

pg_sendquery submits a command to the PostgreSQL server. This function works like pg_exec, except that it does not return a result. Rather, the command is issued to the backend asynchronously.

The result is either an error message or nothing. An empty return indicates that the command was dispatched to the backend.

Arguments

conn

The handle of the connection on which to execute the command.

commandString

The SQL command to execute.

Return Value

A Tcl error will be returned if pgtcl was unable to issue the command. Otherwise, an empty string will be return. It is up to the developer to use pg_getresult to obtain results from commands issued with pg_sendquery.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgsendqueryprepared.html000066400000000000000000000105131203531660700251400ustar00rootroot00000000000000 pg_sendquery_prepared

pg_sendquery_prepared

Name

pg_sendquery_prepared -- send a request to execute a prepared statement to the backend connection, without waiting for a result

Synopsis

pg_sendquery_prepared conn statementName ?args?

Description

pg_sendquery_prepared submits a command to the PostgreSQL server. This function works like pg_exec, except that it does not return a result. Rather, the command is issued to the backend asynchronously.

The result is either an error message or nothing. An empty return indicates that the command was dispatched to the backend.

Arguments

conn

The handle of the connection on which to execute the command.

statementName

The name of the prepared SQL statement to execute asynchronously.

args

args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution.

Return Value

A Tcl error will be returned if pgtcl was unable to issue the command. Otherwise, an empty string will be return. It is up to the developer to use pg_getresult to obtain results from commands issued with pg_sendquery.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-pgunescape-bytea.html000066400000000000000000000061151203531660700243060ustar00rootroot00000000000000 pg_unescape_bytea

pg_unescape_bytea

Name

pg_unescape_bytea -- unescapes a binary string.

Synopsis

pg_unescape_bytea string

Description

pg_unescape_bytea unescapes a binary string, when retrieving from the backend.

Arguments

binary_string

The string to be unescaped.

Return Value

Returns the binary string.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-quote.html000066400000000000000000000076411203531660700222140ustar00rootroot00000000000000 pg_quote

pg_quote

Name

pg_quote -- escapes a string for inclusion into SQL statements

Synopsis

pg_quote string

Description

pg_quote quotes a string and escapes single quotes and backslashes within the string, making it safe for inclusion into SQL statements.

If you're doing something like

    pg_exec $conn "insert into foo values ('$name');" 

and name contains text includeing an unescaped single quote, such as Bob's House, the insert will fail. Passing value strings through pg_quote make sure they can be used as values and stuff in PostgreSQL.

    pg_exec $conn "insert into foo values ([pg_quote $name]);" 

...will make sure that any special characters that occur in name, such as single quote or backslash, will be properly quoted.

Arguments

string

The string to be escaped.

Return Value

Returns the string, escaped for inclusion into SQL queries. Note that it adds a set of single quotes around the outside of the string as well.

flightaware-Pgtcl-8d02566/doc/html/pgtcl-tclnamespace.html000066400000000000000000000062561203531660700235170ustar00rootroot00000000000000 Tcl Namespace Support

1.4. Tcl Namespace Support

With version 1.5, there is proper Tcl namespace support built into pgtcl. There are commands now that mirror the pg_ commands, but use the Tcl namespace convention. For example, there are commands now called: pg::connect, pg::result, etc. However, due to this, there are some incapabilities. For example, pg_exec has a counterpart called pg::sqlexec, since doing a namespace import ::pg::* would clobber the builtin Tcl commmand exec. The old command names, pg_*, are still there for backwards compatibility, but might be phased out eventually.

So, one can use Tcl's namespace mechanisms now with pgtcl. For eaxmple, you can import that namespace:

namespace import ::pg::*

set conn [connect template1 -host $host -port $port]
flightaware-Pgtcl-8d02566/doc/libpgtcl.pdf000066400000000000000000012376471203531660700204250ustar00rootroot00000000000000%PDF-1.4 1 0 obj << /S /GoTo /D (1.0) >> endobj 4 0 obj (PostgreSQL Tcl Interface Documentation) endobj 5 0 obj << /S /GoTo /D (2.0) >> endobj 8 0 obj (Table of Contents) endobj 9 0 obj << /S /GoTo /D (3.0) >> endobj 12 0 obj (List of Tables) endobj 13 0 obj << /S /GoTo /D (4.0) >> endobj 16 0 obj (List of Examples) endobj 17 0 obj << /S /GoTo /D (5.0) >> endobj 20 0 obj (Chapter 1. pgtcl Tcl Binding Library) endobj 21 0 obj << /S /GoTo /D (5.1.1) >> endobj 24 0 obj (1.1. Overview) endobj 25 0 obj << /S /GoTo /D (5.2.1) >> endobj 28 0 obj (1.2. Loading pgtcl into an Application) endobj 29 0 obj << /S /GoTo /D (5.3.1) >> endobj 32 0 obj (1.3. pgtcl Command Reference) endobj 33 0 obj << /S /GoTo /D (5.4.1) >> endobj 36 0 obj (pgconnect) endobj 37 0 obj << /S /GoTo /D (5.4.1.2) >> endobj 40 0 obj (Name) endobj 41 0 obj << /S /GoTo /D (5.4.2.2) >> endobj 44 0 obj (Synopsis) endobj 45 0 obj << /S /GoTo /D (5.4.3.2) >> endobj 48 0 obj (Description) endobj 49 0 obj << /S /GoTo /D (5.4.4.2) >> endobj 52 0 obj (Arguments) endobj 53 0 obj << /S /GoTo /D (5.4.4.1.3) >> endobj 56 0 obj (New style) endobj 57 0 obj << /S /GoTo /D (5.4.4.2.3) >> endobj 60 0 obj (Old style) endobj 61 0 obj << /S /GoTo /D (5.4.5.2) >> endobj 64 0 obj (Return Value) endobj 65 0 obj << /S /GoTo /D (5.5.1) >> endobj 68 0 obj (pgdisconnect) endobj 69 0 obj << /S /GoTo /D (5.5.6.2) >> endobj 72 0 obj (Name) endobj 73 0 obj << /S /GoTo /D (5.5.7.2) >> endobj 76 0 obj (Synopsis) endobj 77 0 obj << /S /GoTo /D (5.5.8.2) >> endobj 80 0 obj (Description) endobj 81 0 obj << /S /GoTo /D (5.5.9.2) >> endobj 84 0 obj (Arguments) endobj 85 0 obj << /S /GoTo /D (5.5.10.2) >> endobj 88 0 obj (Return Value) endobj 89 0 obj << /S /GoTo /D (5.6.1) >> endobj 92 0 obj (pgconndefaults) endobj 93 0 obj << /S /GoTo /D (5.6.11.2) >> endobj 96 0 obj (Name) endobj 97 0 obj << /S /GoTo /D (5.6.12.2) >> endobj 100 0 obj (Synopsis) endobj 101 0 obj << /S /GoTo /D (5.6.13.2) >> endobj 104 0 obj (Description) endobj 105 0 obj << /S /GoTo /D (5.6.14.2) >> endobj 108 0 obj (Arguments) endobj 109 0 obj << /S /GoTo /D (5.6.15.2) >> endobj 112 0 obj (Return Value) endobj 113 0 obj << /S /GoTo /D (5.7.1) >> endobj 116 0 obj (pgexec) endobj 117 0 obj << /S /GoTo /D (5.7.16.2) >> endobj 120 0 obj (Name) endobj 121 0 obj << /S /GoTo /D (5.7.17.2) >> endobj 124 0 obj (Synopsis) endobj 125 0 obj << /S /GoTo /D (5.7.18.2) >> endobj 128 0 obj (Description) endobj 129 0 obj << /S /GoTo /D (5.7.19.2) >> endobj 132 0 obj (Arguments) endobj 133 0 obj << /S /GoTo /D (5.7.20.2) >> endobj 136 0 obj (Return Value) endobj 137 0 obj << /S /GoTo /D (5.7.21.2) >> endobj 140 0 obj (Example) endobj 141 0 obj << /S /GoTo /D (5.8.1) >> endobj 144 0 obj (pgexecprepared) endobj 145 0 obj << /S /GoTo /D (5.8.22.2) >> endobj 148 0 obj (Name) endobj 149 0 obj << /S /GoTo /D (5.8.23.2) >> endobj 152 0 obj (Synopsis) endobj 153 0 obj << /S /GoTo /D (5.8.24.2) >> endobj 156 0 obj (Description) endobj 157 0 obj << /S /GoTo /D (5.8.25.2) >> endobj 160 0 obj (Arguments) endobj 161 0 obj << /S /GoTo /D (5.8.26.2) >> endobj 164 0 obj (Return Value) endobj 165 0 obj << /S /GoTo /D (5.8.27.2) >> endobj 168 0 obj (Example) endobj 169 0 obj << /S /GoTo /D (5.9.1) >> endobj 172 0 obj (pgresult) endobj 173 0 obj << /S /GoTo /D (5.9.28.2) >> endobj 176 0 obj (Name) endobj 177 0 obj << /S /GoTo /D (5.9.29.2) >> endobj 180 0 obj (Synopsis) endobj 181 0 obj << /S /GoTo /D (5.9.30.2) >> endobj 184 0 obj (Description) endobj 185 0 obj << /S /GoTo /D (5.9.31.2) >> endobj 188 0 obj (Arguments) endobj 189 0 obj << /S /GoTo /D (5.9.32.2) >> endobj 192 0 obj (Return Value) endobj 193 0 obj << /S /GoTo /D (5.10.1) >> endobj 196 0 obj (pgselect) endobj 197 0 obj << /S /GoTo /D (5.10.33.2) >> endobj 200 0 obj (Name) endobj 201 0 obj << /S /GoTo /D (5.10.34.2) >> endobj 204 0 obj (Synopsis) endobj 205 0 obj << /S /GoTo /D (5.10.35.2) >> endobj 208 0 obj (Description) endobj 209 0 obj << /S /GoTo /D (5.10.36.2) >> endobj 212 0 obj (Arguments) endobj 213 0 obj << /S /GoTo /D (5.10.37.2) >> endobj 216 0 obj (Return Value) endobj 217 0 obj << /S /GoTo /D (5.10.38.2) >> endobj 220 0 obj (Examples) endobj 221 0 obj << /S /GoTo /D (5.11.1) >> endobj 224 0 obj (pgexecute) endobj 225 0 obj << /S /GoTo /D (5.11.39.2) >> endobj 228 0 obj (Name) endobj 229 0 obj << /S /GoTo /D (5.11.40.2) >> endobj 232 0 obj (Synopsis) endobj 233 0 obj << /S /GoTo /D (5.11.41.2) >> endobj 236 0 obj (Description) endobj 237 0 obj << /S /GoTo /D (5.11.42.2) >> endobj 240 0 obj (Arguments) endobj 241 0 obj << /S /GoTo /D (5.11.43.2) >> endobj 244 0 obj (Return Value) endobj 245 0 obj << /S /GoTo /D (5.11.44.2) >> endobj 248 0 obj (Examples) endobj 249 0 obj << /S /GoTo /D (5.12.1) >> endobj 252 0 obj (pgresults) endobj 253 0 obj << /S /GoTo /D (5.12.45.2) >> endobj 256 0 obj (Name) endobj 257 0 obj << /S /GoTo /D (5.12.46.2) >> endobj 260 0 obj (Synopsis) endobj 261 0 obj << /S /GoTo /D (5.12.47.2) >> endobj 264 0 obj (Description) endobj 265 0 obj << /S /GoTo /D (5.12.48.2) >> endobj 268 0 obj (Arguments) endobj 269 0 obj << /S /GoTo /D (5.12.49.2) >> endobj 272 0 obj (Return Value) endobj 273 0 obj << /S /GoTo /D (5.13.1) >> endobj 276 0 obj (pglisten) endobj 277 0 obj << /S /GoTo /D (5.13.50.2) >> endobj 280 0 obj (Name) endobj 281 0 obj << /S /GoTo /D (5.13.51.2) >> endobj 284 0 obj (Synopsis) endobj 285 0 obj << /S /GoTo /D (5.13.52.2) >> endobj 288 0 obj (Description) endobj 289 0 obj << /S /GoTo /D (5.13.53.2) >> endobj 292 0 obj (Arguments) endobj 293 0 obj << /S /GoTo /D (5.13.54.2) >> endobj 296 0 obj (Return Value) endobj 297 0 obj << /S /GoTo /D (5.14.1) >> endobj 300 0 obj (pgonconnectionloss) endobj 301 0 obj << /S /GoTo /D (5.14.55.2) >> endobj 304 0 obj (Name) endobj 305 0 obj << /S /GoTo /D (5.14.56.2) >> endobj 308 0 obj (Synopsis) endobj 309 0 obj << /S /GoTo /D (5.14.57.2) >> endobj 312 0 obj (Description) endobj 313 0 obj << /S /GoTo /D (5.14.58.2) >> endobj 316 0 obj (Arguments) endobj 317 0 obj << /S /GoTo /D (5.14.59.2) >> endobj 320 0 obj (Return Value) endobj 321 0 obj << /S /GoTo /D (5.15.1) >> endobj 324 0 obj (pgsendquery) endobj 325 0 obj << /S /GoTo /D (5.15.60.2) >> endobj 328 0 obj (Name) endobj 329 0 obj << /S /GoTo /D (5.15.61.2) >> endobj 332 0 obj (Synopsis) endobj 333 0 obj << /S /GoTo /D (5.15.62.2) >> endobj 336 0 obj (Description) endobj 337 0 obj << /S /GoTo /D (5.15.63.2) >> endobj 340 0 obj (Arguments) endobj 341 0 obj << /S /GoTo /D (5.15.64.2) >> endobj 344 0 obj (Return Value) endobj 345 0 obj << /S /GoTo /D (5.16.1) >> endobj 348 0 obj (pgsendqueryprepared) endobj 349 0 obj << /S /GoTo /D (5.16.65.2) >> endobj 352 0 obj (Name) endobj 353 0 obj << /S /GoTo /D (5.16.66.2) >> endobj 356 0 obj (Synopsis) endobj 357 0 obj << /S /GoTo /D (5.16.67.2) >> endobj 360 0 obj (Description) endobj 361 0 obj << /S /GoTo /D (5.16.68.2) >> endobj 364 0 obj (Arguments) endobj 365 0 obj << /S /GoTo /D (5.16.69.2) >> endobj 368 0 obj (Return Value) endobj 369 0 obj << /S /GoTo /D (5.17.1) >> endobj 372 0 obj (pggetresult) endobj 373 0 obj << /S /GoTo /D (5.17.70.2) >> endobj 376 0 obj (Name) endobj 377 0 obj << /S /GoTo /D (5.17.71.2) >> endobj 380 0 obj (Synopsis) endobj 381 0 obj << /S /GoTo /D (5.17.72.2) >> endobj 384 0 obj (Description) endobj 385 0 obj << /S /GoTo /D (5.17.73.2) >> endobj 388 0 obj (Arguments) endobj 389 0 obj << /S /GoTo /D (5.17.74.2) >> endobj 392 0 obj (Return Value) endobj 393 0 obj << /S /GoTo /D (5.18.1) >> endobj 396 0 obj (pgisbusy) endobj 397 0 obj << /S /GoTo /D (5.18.75.2) >> endobj 400 0 obj (Name) endobj 401 0 obj << /S /GoTo /D (5.18.76.2) >> endobj 404 0 obj (Synopsis) endobj 405 0 obj << /S /GoTo /D (5.18.77.2) >> endobj 408 0 obj (Description) endobj 409 0 obj << /S /GoTo /D (5.18.78.2) >> endobj 412 0 obj (Arguments) endobj 413 0 obj << /S /GoTo /D (5.18.79.2) >> endobj 416 0 obj (Return Value) endobj 417 0 obj << /S /GoTo /D (5.19.1) >> endobj 420 0 obj (pgblocking) endobj 421 0 obj << /S /GoTo /D (5.19.80.2) >> endobj 424 0 obj (Name) endobj 425 0 obj << /S /GoTo /D (5.19.81.2) >> endobj 428 0 obj (Synopsis) endobj 429 0 obj << /S /GoTo /D (5.19.82.2) >> endobj 432 0 obj (Description) endobj 433 0 obj << /S /GoTo /D (5.19.83.2) >> endobj 436 0 obj (Arguments) endobj 437 0 obj << /S /GoTo /D (5.19.84.2) >> endobj 440 0 obj (Return Value) endobj 441 0 obj << /S /GoTo /D (5.20.1) >> endobj 444 0 obj (pgcancelrequest) endobj 445 0 obj << /S /GoTo /D (5.20.85.2) >> endobj 448 0 obj (Name) endobj 449 0 obj << /S /GoTo /D (5.20.86.2) >> endobj 452 0 obj (Synopsis) endobj 453 0 obj << /S /GoTo /D (5.20.87.2) >> endobj 456 0 obj (Description) endobj 457 0 obj << /S /GoTo /D (5.20.88.2) >> endobj 460 0 obj (Arguments) endobj 461 0 obj << /S /GoTo /D (5.20.89.2) >> endobj 464 0 obj (Return Value) endobj 465 0 obj << /S /GoTo /D (5.21.1) >> endobj 468 0 obj (pgquote) endobj 469 0 obj << /S /GoTo /D (5.21.90.2) >> endobj 472 0 obj (Name) endobj 473 0 obj << /S /GoTo /D (5.21.91.2) >> endobj 476 0 obj (Synopsis) endobj 477 0 obj << /S /GoTo /D (5.21.92.2) >> endobj 480 0 obj (Description) endobj 481 0 obj << /S /GoTo /D (5.21.93.2) >> endobj 484 0 obj (Arguments) endobj 485 0 obj << /S /GoTo /D (5.21.94.2) >> endobj 488 0 obj (Return Value) endobj 489 0 obj << /S /GoTo /D (5.22.1) >> endobj 492 0 obj (pglocreat) endobj 493 0 obj << /S /GoTo /D (5.22.95.2) >> endobj 496 0 obj (Name) endobj 497 0 obj << /S /GoTo /D (5.22.96.2) >> endobj 500 0 obj (Synopsis) endobj 501 0 obj << /S /GoTo /D (5.22.97.2) >> endobj 504 0 obj (Description) endobj 505 0 obj << /S /GoTo /D (5.22.98.2) >> endobj 508 0 obj (Arguments) endobj 509 0 obj << /S /GoTo /D (5.22.99.2) >> endobj 512 0 obj (Return Value) endobj 513 0 obj << /S /GoTo /D (5.23.1) >> endobj 516 0 obj (pgloopen) endobj 517 0 obj << /S /GoTo /D (5.23.100.2) >> endobj 520 0 obj (Name) endobj 521 0 obj << /S /GoTo /D (5.23.101.2) >> endobj 524 0 obj (Synopsis) endobj 525 0 obj << /S /GoTo /D (5.23.102.2) >> endobj 528 0 obj (Description) endobj 529 0 obj << /S /GoTo /D (5.23.103.2) >> endobj 532 0 obj (Arguments) endobj 533 0 obj << /S /GoTo /D (5.23.104.2) >> endobj 536 0 obj (Return Value) endobj 537 0 obj << /S /GoTo /D (5.24.1) >> endobj 540 0 obj (pgloclose) endobj 541 0 obj << /S /GoTo /D (5.24.105.2) >> endobj 544 0 obj (Name) endobj 545 0 obj << /S /GoTo /D (5.24.106.2) >> endobj 548 0 obj (Synopsis) endobj 549 0 obj << /S /GoTo /D (5.24.107.2) >> endobj 552 0 obj (Description) endobj 553 0 obj << /S /GoTo /D (5.24.108.2) >> endobj 556 0 obj (Arguments) endobj 557 0 obj << /S /GoTo /D (5.24.109.2) >> endobj 560 0 obj (Return Value) endobj 561 0 obj << /S /GoTo /D (5.25.1) >> endobj 564 0 obj (pgloread) endobj 565 0 obj << /S /GoTo /D (5.25.110.2) >> endobj 568 0 obj (Name) endobj 569 0 obj << /S /GoTo /D (5.25.111.2) >> endobj 572 0 obj (Synopsis) endobj 573 0 obj << /S /GoTo /D (5.25.112.2) >> endobj 576 0 obj (Description) endobj 577 0 obj << /S /GoTo /D (5.25.113.2) >> endobj 580 0 obj (Arguments) endobj 581 0 obj << /S /GoTo /D (5.25.114.2) >> endobj 584 0 obj (Return Value) endobj 585 0 obj << /S /GoTo /D (5.26.1) >> endobj 588 0 obj (pglowrite) endobj 589 0 obj << /S /GoTo /D (5.26.115.2) >> endobj 592 0 obj (Name) endobj 593 0 obj << /S /GoTo /D (5.26.116.2) >> endobj 596 0 obj (Synopsis) endobj 597 0 obj << /S /GoTo /D (5.26.117.2) >> endobj 600 0 obj (Description) endobj 601 0 obj << /S /GoTo /D (5.26.118.2) >> endobj 604 0 obj (Arguments) endobj 605 0 obj << /S /GoTo /D (5.26.119.2) >> endobj 608 0 obj (Return Value) endobj 609 0 obj << /S /GoTo /D (5.27.1) >> endobj 612 0 obj (pglolseek) endobj 613 0 obj << /S /GoTo /D (5.27.120.2) >> endobj 616 0 obj (Name) endobj 617 0 obj << /S /GoTo /D (5.27.121.2) >> endobj 620 0 obj (Synopsis) endobj 621 0 obj << /S /GoTo /D (5.27.122.2) >> endobj 624 0 obj (Description) endobj 625 0 obj << /S /GoTo /D (5.27.123.2) >> endobj 628 0 obj (Arguments) endobj 629 0 obj << /S /GoTo /D (5.27.124.2) >> endobj 632 0 obj (Return Value) endobj 633 0 obj << /S /GoTo /D (5.28.1) >> endobj 636 0 obj (pglotell) endobj 637 0 obj << /S /GoTo /D (5.28.125.2) >> endobj 640 0 obj (Name) endobj 641 0 obj << /S /GoTo /D (5.28.126.2) >> endobj 644 0 obj (Synopsis) endobj 645 0 obj << /S /GoTo /D (5.28.127.2) >> endobj 648 0 obj (Description) endobj 649 0 obj << /S /GoTo /D (5.28.128.2) >> endobj 652 0 obj (Arguments) endobj 653 0 obj << /S /GoTo /D (5.28.129.2) >> endobj 656 0 obj (Return Value) endobj 657 0 obj << /S /GoTo /D (5.29.1) >> endobj 660 0 obj (pglounlink) endobj 661 0 obj << /S /GoTo /D (5.29.130.2) >> endobj 664 0 obj (Name) endobj 665 0 obj << /S /GoTo /D (5.29.131.2) >> endobj 668 0 obj (Synopsis) endobj 669 0 obj << /S /GoTo /D (5.29.132.2) >> endobj 672 0 obj (Description) endobj 673 0 obj << /S /GoTo /D (5.29.133.2) >> endobj 676 0 obj (Arguments) endobj 677 0 obj << /S /GoTo /D (5.29.134.2) >> endobj 680 0 obj (Return Value) endobj 681 0 obj << /S /GoTo /D (5.30.1) >> endobj 684 0 obj (pgloimport) endobj 685 0 obj << /S /GoTo /D (5.30.135.2) >> endobj 688 0 obj (Name) endobj 689 0 obj << /S /GoTo /D (5.30.136.2) >> endobj 692 0 obj (Synopsis) endobj 693 0 obj << /S /GoTo /D (5.30.137.2) >> endobj 696 0 obj (Description) endobj 697 0 obj << /S /GoTo /D (5.30.138.2) >> endobj 700 0 obj (Arguments) endobj 701 0 obj << /S /GoTo /D (5.30.139.2) >> endobj 704 0 obj (Return Value) endobj 705 0 obj << /S /GoTo /D (5.30.140.2) >> endobj 708 0 obj (Notes) endobj 709 0 obj << /S /GoTo /D (5.31.1) >> endobj 712 0 obj (pgloexport) endobj 713 0 obj << /S /GoTo /D (5.31.141.2) >> endobj 716 0 obj (Name) endobj 717 0 obj << /S /GoTo /D (5.31.142.2) >> endobj 720 0 obj (Synopsis) endobj 721 0 obj << /S /GoTo /D (5.31.143.2) >> endobj 724 0 obj (Description) endobj 725 0 obj << /S /GoTo /D (5.31.144.2) >> endobj 728 0 obj (Arguments) endobj 729 0 obj << /S /GoTo /D (5.31.145.2) >> endobj 732 0 obj (Return Value) endobj 733 0 obj << /S /GoTo /D (5.31.146.2) >> endobj 736 0 obj (Notes) endobj 737 0 obj << /S /GoTo /D (5.32.1) >> endobj 740 0 obj (1.4. Example Program) endobj 741 0 obj << /S /GoTo /D [742 0 R /Fit ] >> endobj 744 0 obj << /Length 249 /Filter /FlateDecode >> stream xÚ‘1OÃ0…÷üŠ“Á‡ïlç’*oˆ! nAJã*¤ü~œ4B Š„<ØÖ=ïùŽ@§E „bÒÆ5ré Ýgv©²ÎhQزDvœÎgŠÊÁº2 ¾.}vqÍØ¢Ôà·@NÐiÑ™üËS~_XÇ÷q7„LJ»B±T¹o ÖywºÜôc¶MŠg ‰@”á°Šíqú±ßb?ifOdr“©ª5ZNÉX´µ™ù×p¢Ÿ³_wqÓ,î«PË?B“É"¦|ñx˜#Us RÊ”íþŸü¦dWþ«™Ë,l…É¿Gñ ?”l€endstream endobj 742 0 obj << /Type /Page /Contents 744 0 R /Resources 743 0 R /MediaBox [0 0 609.714 789.041] /Parent 750 0 R >> endobj 745 0 obj << /D [742 0 R /XYZ 71.731 729.265 null] >> endobj 746 0 obj << /D [742 0 R /XYZ 71.731 718.306 null] >> endobj 747 0 obj << /D [742 0 R /XYZ 71.731 718.306 null] >> endobj 2 0 obj << /D [742 0 R /XYZ 395.067 667.995 null] >> endobj 743 0 obj << /Font << /F23 749 0 R >> /ProcSet [ /PDF /Text ] >> endobj 753 0 obj << /Length 236 /Filter /FlateDecode >> stream xÚP;OÃ0Þó+<ž¥ÆøýXQiUÄP„7Ô!5nAJã*M‘ø÷8rT"Ä€<ø;ß}C4† #Fä‹;µBáTQtÌuŦ ©5áŠgüG³VÂgªg ÷¾º[qqZ ¸™PK„”È¿½ÂK é2ûøòü„kn,ø€9…¶›nˆý¡ ˜A,/Ë®§Ø Íð‘:¼óÙÄü˜PT3N\N:êï¿2IQðï±€íÜ,×ë6í›¶àeÄ\Ã'f b›Î£É4Ô§ëyñKɇ‰V"bF¡ qF³Uþ¶¤éûÒËÌ¿Wü |;c“endstream endobj 752 0 obj << /Type /Page /Contents 753 0 R /Resources 751 0 R /MediaBox [0 0 609.714 789.041] /Parent 750 0 R >> endobj 754 0 obj << /D [752 0 R /XYZ 71.731 729.265 null] >> endobj 751 0 obj << /Font << /F23 749 0 R /F27 756 0 R >> /ProcSet [ /PDF /Text ] >> endobj 759 0 obj << /Length 45343 /Filter /FlateDecode >> stream xÚ”ÝOl×aeù¹?‡ä@ÑùwdTº hÐ@C³FC ©ghš”IÊ]þö}óÅÙ'bŸŒ»b,É>Ú¿«"3yVÞã7Ûÿ¿y=^OÛ?<¾_ž¿ùáßþé᛿mÿŸÿñOÇqâéååðøü¸ýóÿÏ?=Ÿ^ïo§oþtµð_ÿüOÿÛ<}óøpxy~ÿæÏÿ:•‡ÓáñôòÍŸÿúûçïÞ¾ýþ_¾;>|ûÓ—ïþôøúöí/ÿzþÇÿöËÏ¿ùù÷ß¾ûþüüÓÿþç‰ï‡çíI^^ßïÏ7öO9ó§«C_ŸçôøÍöx9}<Î:ôñ<ÇÆ??|û÷¿ýþÃOçú§ó?ü9ÿú¿þøó_üùoçñ?ÜžýÛ_¿ÿõ?×Ç||z><>¼Óc>Þ^Þv~EŸ^¯¯üŸ ‡®ÿ>?ÈÛáysn<È õ|öŽÚƒ·ÕçãááùÝ©ã,«ËàŽz:…«žÏÞQ{pG};<½Ÿ¤z>{GíÁÛêëÃö§oùßàq–ÕepG=ž^­z>{GíÁõy;ÿ,ÕóÙ;jî¨ÛÇðü"ÕóÙ;jÞVß¶áIªã,«ËàŽº} §W©žÏÞQ{pGÝ>†Gùenœ½£öàŽº} G«žÏÞQ{ð¶ú¾} òËÜ8Ëê2¸£nƒ4?NÞ¯Çv¼çÛýùõè±ævÈ·ÃéM~gï =xS==lß ¾º/59‹ê:¸£ž§«žÏÞQ{pGÝ>…ç“TÏgï¨=¸£nÃÓ“TÏgï¨=x[=nÃIªã,«ËàŽº} ÏR=Ÿ½£öàŽº} Ç©žÏÞQ{pGÝ>†«žÏÞQ{ð¶ºý–öõÝ}ËYV—ÁuûmóÛ›TÏgï¨=¸£>^_­z>{GíÁõíðøò.ÕóÙ;jÞVOÛÇ ÿËt>ÊfÏíÛg ÿX=½CÖܹ}OGižÏÞA{pGÝ>€“üj3ÎÞQ{ð¶ú´}RgY]wÔíS8ʯqãìµwÔíc"gï¨=¸£¾ŽïV=Ÿ½£öàmõùáðò&ÿ¸gY]wÔÓáhÿ1ÎÞQ{pG}>¼¼Xõ|öŽÚƒ;êö1<˯qãìµo«/ÛÇð$¿ÚŒ³¬.ƒ;êö1œ¬z>{GíÁuûå׸qöŽÚƒ;êö1È?!žÞ1kî6ùº}òëÍù(“=·CnÀƒ5Ïgï =¸£>žßå/î8{GíÁõíððfÕóÙ;jÞVßϯòkÜ8Ëê2¸£ž/ò«Í8{GíÁuûž­z>{GíÁuûžä׸qöŽÚƒ·Õ÷íc8IuœeuÜQ·áQ~gï¨=¸£nÃQ~gï¨=¸£nÃUÏgï¨=xS}zx8<½»¯q9‹ê:¸£>Þå_ÃËÙ;jî¨Ï‡§W«žÏÞQ{pG}=È¿(0ŽÞ1kî6yÜ>ù¥5g]wÔí3x¶êùìµwÔí3xz”êùìµwÔíS8¤z>{GíÁÛêãö1yí$gY]wÔíc8Yõ|öŽÚƒ;êö1È?5Þ1kn‡Ü>yí$gï =x[}Þ>ƒ£TÇYV—Áuû 䵓œ½£öàŽú|x”×NröŽÚƒ;êëáõͪç³wÔ¼­¾<嵓œeuÜQ¯òÚIÎÞQ{pGÝ>†g«žÏÞQ{pGÝ>yí$gï¨=x[}Ý>yí$gY]wÔícx´êùìµwÔíc×NröŽÚƒ;êö1Èk'9{GíÁÛêÛÃáø.Õq–ÕepG}<¼XôëÑ;fÍíχ£¼|’³wÐÜQ_/¯V=Ÿ½£öàmõ}û ä哜euÜQ·OA^>ÉÙ;jî¨ÛÇðdÕóÙ;jî¨ÛÇ /ŸäìµoªÏÛÇ ÿ†v΢ºî¨ÛÇp´êùìµwÔíc—OröŽÚƒ;êëáYþu¦œ½£öàmõøpxx“ê8Ëê2¸£>žå哜½£öàŽú|xx±êùìµwÔícÁDÎÞQ{ð¶ú¸} òœóQ6{n‡Ü>ƒ'I~=z‡¬¹rûd-‘³wÐÜQ·@^>ÉÙ;jÞVOÛG ÿoβº î¨Û§ðpâÚéãoìõc§Ãý¿›CÕk}~s‰FuØéýiûuüÈÄž§§ÇÛÙÓéðôõ›Ž—§íKÁéR´½^dãPΜ ²4dÿç|w|þö˯ÿñã—ýÿ>…lïïÛïVß\ ëc·ù§½Bìáxxüú÷üà sèú ?ßz~8^O/·ä†z>{GíÁõåðøñ¥žÏÞQ{pG};¼­z>{GíÁÛêqûÞœ:βº í7ïR=Ÿ½£öàŽú²ý®Ãªç³wÔÜQß/öøëÑ;fÍÝ&·?Ö_Îg]wÔí3x±êùìµwÔí3x~”êùìµwÔíSøøŽRÏgï¨=x[=mÃIªã,«ËàŽº} OR=Ÿ½£öàŽº} Çg©žÏÞQ{pGÝ>†«žÏÞQ{p'„>Þå—¹q–ÕepG=žßäœqöŽÚƒ;ê(ÕšÔÕäÔ\©IÍQíANÍ:SsR—ANÍ•šÔÕÄÔ\¡#5G³æ85WfRsD{Ss£ÎÔœÔeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI]95WjRsT{Ss¥&5Gµ95WjRsT{Ss£ÎÔœÔeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI])5Wæ95Gñz SsŽÔÅšãÔ\™IÍíANÍ…zIÍA]95WjRsT{Ss¥&5Gµ95WjRsT{Ss£ÎÔœÔeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI]95WjRsT{Ss¥&5Gµ95WjRsT{Ssƒ&5'³ç05WäHÍ‘¬9NÍ•™ÔÑäÔ\©IÍQíANÍ:SsR—ANÍ•šÔÕäÔ\©IÍQíANÍ•šÔÕäÔܨ35'uäÔ\©IÍQíANÍ•šÔÕäÔ\©IÍQíANÍ:SsR—ANÍ•šÔÕäÔ\©IÍQíALÍ:Rs4kSsC&5'²ç85WfRsD{Ss¥&5Gµ95WjRsT{Ss£ÎÔœÔeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI]95WjRsT{Ss¥&5Gµ95WjRsT{Ss¡^RsP×ANÍ•šÔÕäÔ\©IÍQíALÍ:Rs4kŽSscÎÔœÐeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI]95WjRsT{Ss¥&5Gµ95WjRsT{Ss£ÎÔœÔeSs¥&5Gµ95WjRsT{Ss¥&5Gµ957êLÍI]95WjRsT{Ss…ŽÔÍšãÔ\™IÍíANÍ:SsR—ANÍ•šÔÕäÔ\©IÍQíANÍ•šÔÕäÔܨ35'uäÔ\©IÍQíANÍ•šÔÕäÔ\©IÍQíANÍ:SsR—ANÍ•šÔÕäÔ\©IÍQíANÍ•šÔÕäÔܨ35'uÄÔ\¡#5G³æ85WfRsD{Ss¥&5Gµ957êLÍI]95WjRsT{Ss¥&5Gµ95WjRsT{Ss¡^RsP×ANÍ•šÔÕäÔ\©IÍQíANÍ•šÔÕäÔܨ35'uäÔ\©IÍQíANÍ•šÔÕäÔ\©IÍQíALÍ šÔœÌžÃÔ\‘#5G²æ85WfRsD{Ss¥&5Gµ957êLÍI]95ßϦ]jŽ2Róë°{75ß«Ôüã¯;ßKÍŸ_KLLÍÇ™sjþ8RóÿùË÷—w’^½»ôÇŸÿåüϾÿùüÿåïÿé»ã·?þðýï?þòó­{ÐïYæò$ëã>~ý+Ù;Iú¼§ ÿIæ=å«ÿ$û÷”??ÜSuä{ÊJÍ=eT{ï)+5÷”QíA¾§¬ÔÜSFµùž²Qç=eR—A¾§¬ÔÜSFµùž²RsOÕä{ÊJÍ=eT{ï)uÞS&uä{ÊJÍ=eT{ï)+5÷”QíA¾§¬ÔÜSFµñž²AsO™ÌžÃ{ÊŠ÷”‘¬9¾§¬ÌÜSF´ùž²RsOÕä{ÊF÷”I]ùž²RsOÕä{ÊJÍ=eT{ï)+5÷”QíA¾§lÔyO™Ôeï)+5÷”QíA¾§¬ÔÜSFµùž²RsOÕä{ÊF÷”I]ùž²RsOÕä{ÊJÍ=eT{ï)+tÜSF³æðž²!sO™Èžã{ÊÊÌ=eD{ï)+5÷”QíA¾§¬ÔÜSFµùž²Qç=eR—A¾§¬ÔÜSFµùž²RsOÕä{ÊJÍ=eT{ï)uÞS&uä{ÊJÍ=eT{ï)+5÷”QíA¾§¬ÔÜSFµùž²P/÷”A]ùž²RsOÕä{ÊJÍ=eT{ï)+tÜSF³æøž²1ç=eB—A¾§¬ÔÜSFµùž²RsOÕä{ÊJÍ=eT{ï)uÞS&uä{ÊJÍ=eT{ï)+5÷”QíA¾§¬ÔÜSFµùž²Qç=eR—A¾§¬ÔÜSFµùž²RsOÕä{ÊJÍ=eT{ï)uÞS&uä{ÊJÍ=eT{ï)+tÜSF³æøž²2sOÑä{ÊF÷”I]ùž²RsOÕä{ÊJÍ=eT{ï)+5÷”QíA¾§lÔyO™Ôeï)+5÷”QíA¾§¬ÔÜSFµùž²RsOÕä{ÊF÷”I]ùž²RsOÕä{ÊJÍ=eT{ï)+5÷”QíA¾§lÔyO™Ôeï)+tÜSF³æøž²2sOÑä{ÊJÍ=eT{ï)uÞS&uä{ÊJÍ=eT{ï)+5÷”QíA¾§¬ÔÜSFµùž²P/÷”A]ùž²RsOÕä{ÊJÍ=eT{ï)+5÷”QíA¾§lÔyO™Ôeï)+5÷”QíA¾§¬ÔÜSFµùž²RsOÕÄ{ÊÍ=e2{ï)+rÜSF²æøž²2sOÑä{ÊJÍ=eT{ï)uÞS&uä{ÊûwiÝ=e|qOùúVðî=åýYî)ïÜS>}¼òˆ¯)Ÿœo)ŸŸ.&ÿ·_þíß¾ÿù¯çñ}ù×/¿~ùù‡ïŽß~ùüSê·/±qšŸ_w/?·~ÿ‘ç­¿<òþO­ÿôðCëì9þ‘õ†ÌO¬'²æøçÕ2?®žÈšãVoÈü¬z"kŽR½ 窲çøÇÔ2?¥žÈšãŸQoÈüˆz"kŽ@½!óó鉬9þéô‚œ?œÈž£MoÀóO¦'îj .½ÑÆ¥'îzŒ(½ÓzXs\zÜ'/¡Ç>¹ÌqæaÈTDÖ7†LâAdÍqàaÈôDÖׂœq=Çi‡!SvYsÜu2Y‘5ÇQ‡!ÓtYs\tr@öç†LÍAdÍqËaȤDÖ‡†LÇAdÍaÅ!ÄDÖ&Æy×cÜo0ù‰5Çñ†!ÓnYs\nr†@ög†LµAdÍq³aÈ$DÖ†L¯AdÍq­!ÈkÙsœj2¥‘5dž!“iYsi2‘5Ç…† g dÏqžaÈÔDÖ·†LšAdÍa˜aÄÑex=†U†ðe€Wcœd0E‰5Ç=†!“cYsc2-‘5Ç%† gˆdÏq†aÈTDÖ7†L‚AdÍq€aÈôDÖׂœñ=Çé…!S^YsÜ]2Ù‘5ÇÑ…!Ó\Ys\\Ü'/ÁÅ>¹ÌqnaÈÔDÖ·†LjAdÍahaÄÑYx=Æ•…gdbÏqbaÈDÖ÷†L^AdÍq\aÈ´DÖ—‚œa=ÇY…!SUYsÜT2I‘5ÇA…!ÓSYs\SrÆ@ö§†LIAdÍqGaÈdDÖG†LCAdÍqA!ÈPÙsœO2õ‘5‡í„G:Aàõ‡L7AbÍq5!ÈMÙsœL2Å‘5ǽ„!“KYsK2­‘5Ç¥„ g(dÏq&aÈTDÖ7†L"AdÍq aÈôDÖׂœq=Çi„!SFYsÜE2Y‘5ÇQ„!ÓDYs\Dr@öæF5×cÜB0)‰5Ç!„!ÓAYs\ArF@ö'†LAdÍqÿ`ÈäDÖdžLû@dÍqùpŸ¼„ûä2ÇÙƒ!S=YsÜ<2É‘5ÇÁƒ!Ó;Ys\;rÆ@ö§†Lé@dÍqç`ÈdDÖG†Lã@dÍaá ÄÖæ Æuy×cÜ60i‰5Çaƒ!Ó5Ys\5rF @ö' pß ô#h¸êv{†Ý§öNΰýáôõ6éÇ¥­í™›=Ã8”3ô÷¿ýå‡_~þùË¿º>ûq{𛫽Ͽ<§í»ÊVaû7¿|ý¾ž'‡®Ÿçó-ÞãËö­Ýû­¹¡žÏÞQ{pG};|ü¹N¡_Þ1kî6ùx<?¾¡4æ8Ëè2¸£ž¾v4N=Ÿ½£öàŽº}ÏR=Ÿ½£öàŽº} O'©žÏÞQ{ð¶zÚ>†“TÇYV—ÁuûŸ¤z>{GíÁuû>¾ÅTêùìµwÔícx°êùìµo«OÇÃÃû‹SÇYV—Áõtxþø^S©ç³wÔÜQ_¯V=Ÿ½£öàŽúvx¶gï¨=x[}Þ>†gùgœeuÜQ·áɪç³wÔÜQ·AþIâ|ôŽYs;äöœäœqöÚƒ·Õ—í3x”ê8Ëê2¸£nŸÁQ~™gï¨=¸£nŸÂƒUÏgï¨=¸£ŽòT©)YQíAnY:cVR—AÎY•šžÕä¢U©IZQíAŽZ•šªÕä®Õ¨3l%uä´U©i[QíA®[•š¼ÕäÀU©)\QíAn\:#WR—AÊ\•yî\Q¼ÃÒU#uE±æ8vUfjWD{{W¡^‚WP×AN^•šæÕäêU©É^QíA_•šòÕäöÕ¨3~%uäüU©é_QíA.`•šÕäV©©`QíAî`:CXR—ANa•šÕäV©ÉaQíAb•š"ÕÄ&Ö ‰bÉì9Ìb9ºX$kŽËXe&E´9ŽUjêXT{ûX£Î@–ÔeY¥¦‘Eµ¹’Uj2YT{CY¥¦”Eµ¹•5êŒeI]9—UjzYT{‹Y¥&™Eµ9šUjªYT{»Y£Îp–ÔeÓY¥¦Eµ¹žUjòYT{Z…Ž‚͚Æ։h‰ì9Îh•™ŽÑä’V©IiQíAŽi•ššÕäžÖ¨3¨%uä¤V©ijQíA®j•š¬Õä°V©)kQíAnk:ãZR—AÎk•š¾ÕäÂV©IlQíAŽl•šÊÕäÎV¨—ÐÔuS[¥¦µEµ¹¶Ujr[T{ƒ[…ŽâÍšãæÖ˜3º%täìV©énQíA.o•šôÕäøV©©oQíAîo:\R—ANp•šÕä W©ÉpQíAq•šÕäר3Æ%uäW©éqQíA.r•š$Õä(W©©rQíAîr:Ã\R—ANs•š6ÕÄ:W¡#ÏE³æ8ÐUf ]D{]£ÎH—Ôe3]¥¦ÓEµ¹ÔUjR]T{c]¥¦ÖEµ¹×5ê vI]9ÙUjš]T{«]¥&ÛEµ9ÜUjÊ]T{Û]£Îx—Ôeó]¥¦ßEµ¹àUj^T{#^¥¦âEµ¹ã5ê yI]1åUèhyѬ9®y•™œÑä W©)zQíAnz:£^R—AÎz•š®Õä²W©I{QíAŽ{•šºÕä¾W¨—ÀÔu_¥¦ñEµ¹òUj2_T{C_¥¦ôEµ¹õ5êŒ}I]9÷Ujz_T{‹_¥&ùEµ9úUjª_T{»_ƒ&ü%³ç0ýUäh‘¬9®•™üÑäX©)€QíAn€:#`R—A΀)t50>ȯäq·Þ%~¼“?~ÿüÊ)ð83Rà¿þË?ÿë/Ÿî\ýøÛó—Á-ðÛî{Ë>ÒæW~ º~ Uîñ°¼õ 7²ÜóYV—ÁudÊJM÷Œjr÷¬ÔtϨö vÏ Ý3š5Çݳ1g÷Lè2ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳQg÷Lê2ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ˆÝ³BG÷ŒfÍq÷¬Ìtψö wÏFÝ3©Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö wÏFÝ3©Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º R÷¬Ìs÷ŒâõvÏ Ý3Š5Çݳ2Ó=#ÚƒÜ= õÒ=ƒºr÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö wÏFÝ3©Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö vÏM÷LfÏa÷¬ÈÑ=#YsÜ=+3Ý3¢=ÈݳRÓ=£ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳQg÷Lê2ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒØ=+ttÏhÖvφL÷LdÏq÷¬Ìtψö wÏJM÷Œjr÷¬ÔtϨö wÏFÝ3©Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö wÏB½tÏ ®ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒØ=+ttÏhÖwÏÆœÝ3¡Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö wÏFÝ3©Ë wÏJM÷Œjr÷¬ÔtϨö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö vÏ Ý3š5Çݳ2Ó=#ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳQg÷Lê2ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=uvϤ.ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳQg÷Lê2ˆÝ³BG÷ŒfÍq÷¬Ìtψö wÏJM÷Œjr÷lÔÙ=“º r÷¬ÔtϨö wÏJM÷Œjr÷¬ÔtϨö wÏB½tÏ ®ƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳQg÷Lê2ÈݳRÓ=£ÚƒÜ=+5Ý3ª=ÈݳRÓ=£ÚƒØ=4Ý3™=‡Ý³"G÷ŒdÍq÷¬Ìtψö wϺB üøv¸õ›»Óãõs|=sýÿüÏ»)ðþsü±·?¿¿Þž_0Ι¤À?þ¶÷bàǧÃûãË7W£«|<x¬º~¬ÏWN‡×ÓË­¹¡žÏÞQ{pG}9<~üîF©ç³wÔÜQ߯G«žÏÞQ{ð¶zÜ>†‡7§Ž³¬.ƒ;êiûÆ»TÏgï¨=¸£¾l¿Õ°êùìµwԷËýþzôŽYs;¯Y=Ž¿»1æ8Ëè2¸£nŸÁ‹UÏgï¨=¸£Ž÷Î*5/²EµùE¶JÍ‹lQíA~‘­Qç‹lI]ùE¶JM_Žjr_®Ôôå¨ö ÷åJM_Žjr_nÔÙ—“º r_®Ôôå¨ö ÷åJM_Žjr_®Ôôå¨ö ÷åF}9©Ë ÷åJM_Žjb_®ÐÑ—£YsÜ—+3}9¢=È}¹Qg_Nê2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹Qg_Nê2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÔ—+óÜ—£x=†}¹G_ŽbÍq_®Ìôåˆö ÷åB½ôå ®ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹Qg_Nê2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=ˆ}¹AÓ—“ÙsØ—+rôåHÖ÷åÊL_Žhr_®Ôôå¨ö ÷åF}9©Ë ÷åJM_Žjr_®Ôôå¨ö ÷åJM_Žjr_nÔÙ—“º r_®Ôôå¨ö ÷åJM_Žjr_®Ôôå¨ö ÷åF}9©Ë ÷åJM_Žjr_®Ôôå¨ö öå }9š5‡}¹!Ó—ÙsÜ—+3}9¢=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹Qg_Nê2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹P/}9¨ë ÷åJM_Žjr_®Ôôå¨ö öå }9š5Ç}¹1g_Nè2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹Qg_Nê2È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=ˆ}¹BG_ŽfÍq_®Ìôåˆö ÷åF}9©Ë ÷åJM_Žjr_®Ôôå¨ö ÷åJM_Žjr_nÔÙ—“º r_®Ôôå¨ö ÷åJM_Žjr_®Ôôå¨ö ÷åF}9©Ë ÷åJM_Žjr_®Ôôå¨ö ÷åJM_Žjr_nÔÙ—“º b_®ÐÑ—£YsÜ—+3}9¢=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—+5}9ª=È}¹RÓ—£ÚƒÜ—+5}9ª=È}¹P/}9¨ë ÷åJM_Žjr_®Ôôå¨ö ÷åJM_Žjr_nÔÙ—“º r_®Ôôå¨ö ÷åJM_Žjr_®Ôôå¨ö öåM_NfÏa_®ÈÑ—#YsÜ—+3}9¢=È}¹RÓ—£ÚƒÜ—uöå¤.ƒÜ—S6múr|Ñ—_=È~_¾ÿ ðE¶‰ÊÑûòqæF_þ—¿ÿúåïßÿú察³¬í—õã»ÐËþÐ|ûóòNh>[8x¾ÙÂ]=ß~ ÷ùA …Cµ¹…SjZ8T{[8¥¦…Cµ¹…3êláH]¹…SjZ8T{[8…ŽÍšãN™iáíAnáŒ:[8R—AnᔚÕäN©iáPíAnᔚÕäΨ³…#uäN©iáPíAnᔚÕäN©iáPíAnáŒ:[8R—AnᔚÕäN©iáPíAnᔚÕäΨ³…#u¤N™çÅë1lá8Z8kŽ[8e¦…C´¹…ꥅuäN©iáPíAnᔚÕäN©iáPíAnáŒ:[8R—AnᔚÕäN©iáPíAnᔚÕäΨ³…#uäN©iáPíAnᔚÕäN©iáPíAlá šŽÌžÃN‘£…C²æ¸…SfZ8D{[8¥¦…Cµ¹…3êláH]¹…SjZ8T{[8¥¦…Cµ¹…SjZ8T{[8£ÎŽÔe[8¥¦…Cµ¹…SjZ8T{[8¥¦…Cµ¹…3êláH]¹…SjZ8T{[8¥¦…Cµ±…SèháЬ9lá ™ŽÈžãN™iáíAnᔚÕäN©iáPíAnáŒ:[8R—AnᔚÕäN©iáPíAnᔚÕäΨ³…#uäN©iáPíAnᔚÕäN©iáPíAná„ziá@]¹…SjZ8T{[8¥¦…Cµ±…SèháЬ9náŒ9[8B—AnᔚÕäN©iáPíAnᔚÕäΨ³…#uäN©iáPíAnᔚÕäN©iáPíAnáŒ:[8R—AnᔚÕäN©iáPíAnᔚÕäΨ³…#uäN©iáPíAlá:Z84kŽ[8e¦…C´¹…3êláH]¹…SjZ8T{[8¥¦…Cµ¹…SjZ8T{[8£ÎŽÔe[8¥¦…Cµ¹…SjZ8T{[8¥¦…Cµ¹…3êláH]¹…SjZ8T{[8¥¦…Cµ¹…SjZ8T{[8£ÎŽÔe[8…ŽÍšãN™iáíAnᔚÕäΨ³…#uäN©iáPíAnᔚÕäN©iáPíAná„ziá@]¹…SjZ8T{[8¥¦…Cµ¹…SjZ8T{[8£ÎŽÔe[8¥¦…Cµ¹…SjZ8T{[8¥¦…Cµ±…3hZ82{[8EŽÉšãN™iáíAnᔚÕäΨ³…#uäŽÊ.ÓÂ჌îêAö[¸ýùƒïZ}zûø¯4¦pç#£„ûõËoÿøé÷ϯû|:<}|§0çVòxxÝ~¹÷ŠÕ¼vtÿiæ[G/O³ÿÒÑOOï%²æø£‚œ/²çøu£†ÌÛF‰¬9~ר!óªQ"k_4jÄñžQ¯Çø-£œ/±çø£†ÌF‰¬9~¿¨!ózQ"kŽ_.jȼ[”Èšã7‹ r¾XÈžã׊2o%²æø¢†Ì+E‰¬9~¡¨!ó>Q"kŽß&*ÈPÙsœO2õ4‘5Çí´!“NYsN2Ý4‘5ÇÕ´ g4 dÏq2mÈÓDÖöÒF¹4×cK0­4‰5Ç¥´ g( dÏq&mÈTÒDÖ7Ò†L"MdÍq mÈôÑDÖ×Ñ‚œq4=Çi´!SFYsÜE2Y4‘5ÇQ´!ÓDYs\D rÑ@öçІL MdÍq mȤÐDևІLMdÍq-ÈAÙs”@ð\@w5…ý³ÑFþLÜõÇÏLûLbÍqù|Ÿ¼„Ïûä2ÇÙ³!S=YsÜ<2É3‘5ÇÁ³!Ó;Ys\; rÆÎ@ö§Î†LéLdÍqçlÈdÎDÖGΆLãLdÍqá,È8Ùsœ72u3‘5Çm³!“6Ys62]3‘5‡U³5Xc˜4oÍä]qÏlÀäÌ$ÖÇ̆LËLdÍqÉ,È2Ùsœ123‘5Ç ³!“0Ys02ý2‘5Çõ² g¼ dÏqºlÈ”ËDÖwˆL¶LdÍq´lÈ4ËDÖË‚œÁ2=ǹ²!S+YsÜ*2©2‘5‡¡²G§LàõVÊÂK¤ ^q¢lÀÊ$Ö÷ɆLžLdÍqœlÈ´ÉDÖ—É‚œa2=ÇY²!S%YsÜ$2I2‘5ÇA²!Ó#Ys\# rÆÈ@ö§È†L‰LdÍq‡lÈdÈDÖGȆLƒLdÍq|Ÿ¼Èûä2Çù±!SYsÜ2é1‘5‡á±GwLàõWÇœÑ1ˆ=Çɱ!SYsÜ2¹1‘5DZ±!ÓYs\ r†Æ@ögƆLeLdÍqclÈ$ÆDÖƆL_LdÍq],ÈÙsœ2e1‘5Ç]±!“Ys2M1‘5ÇE± gP dÏqNlÈÔÄDÖ¶ÄF)1×c01‰5DZ gD dÏqBlÈÄDÖ÷ÆL>LdÍq?üeðsáûøør·ð…š‰ïÕí7¾Ÿ"_T{3_£ÎΗÔeK_¥&õEµ9öUjj_T{{_…ŽàÍšãäט³ù%täêW©É~QíA•šòÕäöW©‰QíAÎ:û_R—A.€•šÕäX©©€QíAšÕäب³&uäX©ÉQíA‚•š"Õä&X©‰‚QíA΂:»`R—A.ƒ•š4ÕÄ8X¡£F³æ¸VfaD{a£ÎF˜Ôe+a¥&Fµ9VjJaT{[a¥&Fµ96êì…I]¹Vj’aT{£a¥¦Fµ¹VjÂaT{Óa£Îv˜Ôeëa¥&Fµ9 Vj bT{b¥&"Fµ9#6êìˆI]©$Væ9%Fñz cbŽšÅšãžX™ ŠíANŠ…ziŠA]¹*Vj²bT{Ãb¥¦,Fµ¹-VjâbT{ób£Î¾˜Ôe c¥&1Fµ92Vj*cT{;c¥&4Fµ956êlI]¹6VjrcT{ƒc¥¦8Fµ¹9Vj¢cT{³cƒ¦;&³ç°Þ{¯`†š¯`¾z ýW0~x3ª=ȯ`6ê|3©Ë ¿‚Y©©­QíA®­•šÚÕÄÚZ¡£¶F³æ¸¶6欭 ]¹¶VjjkT{kk¥¦¶Fµ¹¶VjjkT{kk£ÎÚšÔekk¥¦¶Fµ¹¶VjjkT{kk¥¦¶Fµ¹¶6ꬭI]¹¶VjjkT{kk¥¦¶Fµ¹¶VjjkT{kk£ÎÚšÔekk¥¦¶Fµ±¶V設Ѭ9®­•™ÚÑäÚÚ¨³¶&uäÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—A®­•šÚÕäÚZ©©­QíA®­•šÚÕäÚÚ¨³¶&uäÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—Aª­•y®­Q¼ÃÚZ£¶F±æ¸¶VfjkD{kk¡^jkP×A®­•šÚÕäÚZ©©­QíA®­•šÚÕäÚÚ¨³¶&uäÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—A®­•šÚÕäÚZ©©­QíA®­•šÚÕÄÚÚ ©­Éì9¬­9jk$kŽkke¦¶F´¹¶VjjkT{kk£ÎÚšÔekk¥¦¶Fµ¹¶VjjkT{kk¥¦¶Fµ¹¶6ꬭI]¹¶VjjkT{kk¥¦¶Fµ¹¶VjjkT{kk£ÎÚšÔekk¥¦¶Fµ¹¶VjjkT{kk…ŽÚÍšÃÚÚ©­‰ì9®­•™ÚÑäÚZ©©­QíA®­•šÚÕäÚÚ¨³¶&uäÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—A®­•šÚÕäÚZ©©­QíA®­•šÚÕäÚZ¨—ÚÔukk¥¦¶Fµ¹¶VjjkT{kk…ŽÚÍšãÚÚ˜³¶&täÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—A®­•šÚÕäÚZ©©­QíA®­•šÚÕäÚÚ¨³¶&uäÚZ©©­QíA®­•šÚÕäÚZ©©­QíA®­:kkR—A®­•šÚÕÄÚZ¡£¶F³æ¸¶VfjkD{kk£ÎÚšÔekk¥¦¶Fµ¹¶VjjkT{kk¥¦¶Fµ¹¶6ꬭI]¹¶VjjkT{kk¥¦¶Fµ¹¶VjjkT{kk£ÎÚšÔekk¥¦¶Fµ¹¶VjjkT{kk¥¦¶Fµ¹¶6ꬭI]±¶V設Ѭ9®­•™ÚÑäÚZ©©­QíA®­:kkR—A®­•šÚÕäÚZ©©­QíA®­•šÚÕäÚZ¨—ÚÔukk¥¦¶Fµ¹¶VjjkT{kk¥¦¶Fµ¹¶6ꬭI]¹¶VjjkT{kk¥¦¶Fµ¹¶VjjkT{kkƒ¦¶&³ç°¶V䨭‘¬9®­•™ÚÑäÚZ©©­QíA®­:kkR—A®­÷SbW[ヌÚúêAökëýùc¯`~z9<>=am3£¶þåç¿üðËÏ?ùá÷·úÓ/¿ýv+¤yÚþؼÿ\^?lßXì”ש\èárèúáv+—²_¹°ÚƒX¹8uT.¬ö V.JMå‚ê2ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹8uT.¬ö V.JMå‚ê2ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹8uT.¬ö V.JMå‚ê2•‹3¿V.,^QåâÀsåÂbÍaåâÌQ¹0ÚƒX¹uV.¤®ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjbå¢ÔT.¨.ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjbå¢ÔT.¨.ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjRå¢ÐQ¹ ÙsT¹8ò\¹0YsX¹8sT.Œö V.N• «=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö V.N• «=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö V.N• «=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö U.=W.lÖU.Š• ’=‡•‹3GåÂhbåâÔQ¹°ÚƒX¹8uT.¬ö V.JMå‚ê2ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹8uT.¬ö V.JMå‚ê2ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹8uT.¬ö V.F• ©ë V.N• «=ˆ•‹SGåÂjRåâÐsåÂfÍaå¢ÌT.ˆ.ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjbå¢ÔT.¨.ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjbå¢ÔT.¨.ƒX¹8uT.¬ö V.N• «=ˆ•‹SGåÂjbå¢ÔT.¨.ƒX¹8uT.¬ö U.=W.lÖV.Ε £=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö V.N• «=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö V.N• «=ˆ•‹RS¹ º båâÔQ¹°ÚƒX¹8uT.¬ö V.N• «=ˆ•‹RS¹ º RåâÐsåÂfÍaåâÌQ¹0ÚƒX¹8uT.¬ö V.JMå‚ê2ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹8uT.¬ö V.F• ©ë V.N• «=ˆ•‹SGåÂjbåâÔQ¹°ÚƒX¹(5• ªË V.N• «=ˆ•‹SGåÂjbåâÔQ¹°ÚƒT¹(tT.höU.ŽnðœöÊ–ãÛáëŸhöŸg¹zœ¯(;ޝÇÏpã eç£(öÜ9^ØfȼŽÈšã׿2o#²æøÝo†Ì«ßˆ¬9~ñ› ç{߀ì9~ë›!óÒ7"kŽ_ùfȼñÈšã÷½2¯{#²æøeo‚œïz²çøMo†Ì‹Þˆ¬9~Í›!ó–7"kŽßñfȼâÈšã¼ r¾ß Èžã·»2/w#²æðÕnFov#ðzŒßëfÀ¼ÖÄšã—º r¾Ó Èžã7º2©+‘5Ç¡«!Ó¹Ys\¹2‘+‘5lj« gá dÏqßjÈä­DÖÇ­†LÛJdÍqÙjÈ„­DÖg­‚œU+=ÇM«!“´Ys´2=+‘5Ç5«!³Ysœ² r–¬@öu¬¹Ìq»jȤ«DÖ‡«†L·JdÍqµjÈD«DÖ'«‚œÅ*=ǽª!“«Ys«2­*‘5Ç¥ª!ªYsœ© rVª@ö7ª†L¢JdÍq jÈô©DÖש†LœJdÍaš*Ä”©Öv©ÆY*y×c¥0M*‰5ÇEª!¤Ysœ£ rÖ¨@ö·¨†LŠJdÍqˆjÈt¨DÖW¨†L„JdÍq‚*ÈY ÙsÜŸ2ù)‘5Çñ©!ÓžYs\ž2á)‘5ÇÙ© gu dÏqsjÈ$§DÖ§†LoJdÍamjÄ›x=†©©ðRš‚WcÜ™0™)‰5Ç‘©!Ó˜Ys\˜2)‘5Çy© g] dÏq[jȤ¥DÖ‡¥†LWJdÍqUjÈD¥DÖ'¥‚œE)=Ç=©!““Ys“2-)‘5Ç%©!’Ysœ‘Þ'/é>¹ÌqCjÈ$¤DÖ¤†L?JdÍa=jÄx=Æé¨g9 bÏq7jÈd£DÖG£†L3JdÍq1jÈ£DÖ碂œµ(=Ç­¨!“ŠYsŠ2(‘5Ç•¨!‰Ysœˆ r¢@ö÷¡†LJdÍqjÈ´¡DÖ—¡†LJdÍq*ÈY…ÙsÜ„2I(‘5‡A¨GJàõ× L JbÍq *ÈY‚ÙsÜ2(‘5Ǩ!Ó€Ys\€2(‘5Çù§ gý dÏqûiȤŸDÖ‡Ÿ†L÷IdÍqõiÈDŸDÖ'Ÿ‚œÅ'=ǽ§!“{Ys{2­'‘5Ç¥§!zYsœy rVž@ö6žF‰'×cx0}'‰5Çu§!wYsœv r–@öw†LÖIdÍqÔiÈ4DÖ†LÐIdÍqÎyŸ¼Ôœûä2Ç-§!“rYsr2'‘5ǧ!qYsœp rœ@ö÷›†L¾IdÍq¼iÈ´›DÖ—›†L¸IdÍa¶)ÄT›Ö6›ÆÉ&y×cl0½&‰5ǵ¦!kYsœj r–š@öwš» ¢Ë4é)F¥yyŠýHs÷)þà›ÈžžO§7Ž4Ç™QiþøÛ¿|÷øðí?~ûÏO7h?þ\úñmÕet•?B¹—½NóáíðúõoîÀCåÐõC}¾Ê{<¶ƒ·äFz>Ëê2¸£ž¶ïcߥz>{GíÁõeû^Öªç³wÔÜQÏÁ¬BG~‹fÍq€kÌYຠrƒ«ÔD¸¨ö g¸JM‡‹jr‰«Ô¤¸¨ö ǸF5.©Ë ÷¸JM‹jr’«Ô4¹¨ö W¹JM–‹jr˜kÔYæ’º r›«ÔŨö ç¹JMŸ‹jr¡«Ô$º¨ö GºF•.©Ë wºJM¨‹jbª«ÐÑê¢Ys\ë*3¹.¢=ÈÁ®Qg±Kê2ÈÍ®Rí¢Úƒœí*5Ý.ª=Èå®R“î¢ÚƒïuÖ»¤.ƒÜï*5/ª=È ¯RÓð¢Úƒ\ñ*5/ª=È!¯QgÉKê2È-¯Ró¢Úƒœó*5=/ª=ÈE¯R“ô¢ÚƒõuV½¤.ƒÔõ*óö¢x=†i¯GÛ‹bÍqÝ«Ì佈ö ¾B½¾ ®ƒÜø*5‘/ª=È™¯RÓù¢Úƒ\ú*5©/ª=ȱ¯QgíKê2Ƚ¯Rü¢Úƒœü*5Í/ª=ÈÕ¯R“ý¢Úƒþu–¿¤.ƒÜþ*5ñ/ª=Èù¯RÓÿ¢Úƒ\+5 0ª=ˆ°AS“ÙsØ+r„ÀHÖ§ÀÊL Œhr ¬ÔäÀ¨ö ÁFE0©Ë 7ÁJMŒjr¬ÔtÁ¨ö —ÁJMŒjrlÔY“º r¬Ô¨ö 'ÂJM#Œjr%¬Ôd¨ö ‡ÂF¥0©Ë ·ÂJM,Œjr.¬Ôô¨ö à É0š5‡Ñ°!S ÙsÜ +3á0¢=Èé°RÓ£Úƒ\+5ù0ª=ȱQgALê2È ±R£Úƒœ+51ª=È%±R“£ÚƒuÖĤ.ƒÜ+5A1ª=ÈI±RÓ£Úƒ\+5Y1ª=Èa±P/e1¨ë ·ÅJM\Œjr^¬ÔôŨö Æ ‰1š5Ç‘±1geLè2ȱR£Úƒœ+5­1ª=ȵ±R“£ÚƒuǤ.ƒÜ+5Ñ1ª=ÈÙ±RÓ£Úƒ\+5é1ª=Èñ±Qg}Lê2Èý±R £Úƒœ +5 2ª=ȲR“!£Úƒ"u–Ȥ.ƒÜ"+512ª=ˆ9²BGŒfÍq‘¬Ì$Ɉö GÉFU2©Ë wÉJM˜Œjrš¬Ô´É¨ö ×ÉJMžŒjr lÔY(“º r£¬ÔDʨö gÊJM§Œjr©¬Ô¤Ê¨ö ÇÊFµ2©Ë ÷ÊJM°Œjr²¬Ô4˨ö WËJM¶Œjr¸lÔY.“º b»¬Ð/£Ysœ/+3ý2¢=ȳR“0£Úƒ1uV̤.ƒÜ1+5!3ª=È)³RÓ2£Úƒ\3+593ª=ÈA³P/E3¨ë 7ÍJMÔŒjrÖ¬Ôtͨö —ÍJMÚŒjrÜlÔY7“º r߬ÔΨö 'ÎJMãŒjrå¬ÔdΨö †ÎMéLfÏaë¬È;#Ysœ;+3½3¢=ÈųR“<£Úƒ=uVϤ.ƒÜ=ïG½.|ÆåóÕƒì§ÏûòßO{:¶oi¸}gFûü/?ýòÃÿûãÏûœÃ¾nß=s5ù¹|Þ¾¸ß{C-È(ï®d¿¼Û¥¼{¼SÞmR~~{âònœåÝÏÿøé§¿üÇwÏß~ÿÓ?¾üå·ß½õ¦Êçãöûòço®ö?¿©òõéi¯À›õ<߬—®žo·^úüûõš5Çõ’2S/!Úƒ\/uÖK¤.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡Úƒ\/uÖK¤.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Hõ’2ÏõŠ×cX/)pÔK(Ö×KÊL½„hr½$ÔK½ê:Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡Úƒ\/uÖK¤.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡ÚƒX/4õ™=‡õ’"G½„dÍq½¤ÌÔKˆö ×KJM½„jr½dÔY/‘º r½¤ÔÔK¨ö ×KJM½„jr½¤ÔÔK¨ö ×KFõ©Ë ×KJM½„jr½¤ÔÔK¨ö ×KJM½„jr½dÔY/‘º r½¤ÔÔK¨ö ×KJM½„jb½¤ÐQ/¡YsX/2õ‘=Çõ’2S/!Úƒ\/)5õª=Èõ’RS/¡Úƒ\/uÖK¤.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡Úƒ\/ õR/ºr½¤ÔÔK¨ö ×KJM½„jb½¤ÐQ/¡Ys\/sÖK„.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡Úƒ\/uÖK¤.ƒ\/)5õª=Èõ’RS/¡Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡ÚƒX/)tÔKhÖ×KÊL½„hr½dÔY/‘º r½¤ÔÔK¨ö ×KJM½„jr½¤ÔÔK¨ö ×KFõ©Ë ×KJM½„jr½¤ÔÔK¨ö ×KJM½„jr½dÔY/‘º r½¤ÔÔK¨ö ×KJM½„jr½¤ÔÔK¨ö ×KFõ©Ë ÖK õš5Çõ’2S/!Úƒ\/)5õª=Èõ’Qg½Dê2Èõ’RS/¡Úƒ\/)5õª=Èõ’RS/¡Úƒ\/ õR/ºr½¤ÔÔK¨ö ×KJM½„jr½¤ÔÔK¨ö ×KFõ©Ë ×KJM½„jr½¤ÔÔK¨ö ×KJM½„jb½dÐÔKdöÖKŠõ’5Çõ’2S/!Úƒ\/í÷)Xô<¾nýæîôxý_Ï\?Æ?ÿónгÿìUZ§¯zÛoÚ)èÉ™ôüû?~ùý˧۶O‡§í«çÕÞ€çu7àyx9<~|;MÏ“C×ÏóùÚïÃÛáõøzëAn¨ç³wÔ¼­‡í SÇYV—Áõ´}'ú.ÕóÙ;jî¨/Û·¢V=Ÿ½£öàŽúvx±¿À_Þ1kî6ùx<_Îg]wÔí3x±êùìµwÔí3x~”êùìµwÔíSx:Iõ|öŽÚƒ·ÕÓö1œ¤:βº î¨ÛÇðø$ÕóÙ;jî¨Ûǰ}÷ëÔóÙ;jî¨ç—:u¼=‘ÕÄ·'*5oODuÄ·':u¼=‘ÕÄ·':u¼=‘ÕÄ·':u¼=‘ÕÄ·'*5oODuÄ·':uôǬö õÇ=÷ÇlÖöÇÎý1£=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±RÓ£º Bì̯ý1‹×cÔ;ðܳXsØ;sôÇŒö öÇFý1©ë öÇNý1«=ˆý±SGÌjbìÔѳڃØ+5ý1ªË öÇNý1«=ˆý±SGÌjbìÔѳڃØ+5ý1ªË öÇNý1«=ˆý±SGÌjbìÔѳڃÔ+tôÇhöõÇŽ<÷ÇLÖöÇÎý1£=ˆý±SGÌjb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=ˆý±SGÌjb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=ˆý±SGÌjb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=Hý±CÏý1›5Gý±"GŒdÏaìÌÑ3ÚƒØ;uôǬö öÇNý1«=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±QgLê:ˆý±SGÌjbìÔѳڃÔ;ôܳYsØ+3ý1¢Ë öÇNý1«=ˆý±SGÌjbìÔѳڃØ+5ý1ªË öÇNý1«=ˆý±SGÌjbìÔѳڃØ+5ý1ªË öÇNý1«=ˆý±SGÌjbìÔѳڃØ+5ý1ªË öÇNý1«=Hý±CÏý1›5‡ý±3GÌhb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=ˆý±SGÌjb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=ˆý±SGÌjb¬ÔôǨ.ƒØ;uôǬö öÇNý1«=ˆý±SGÌjb¬ÔôǨ.ƒÔ;ôܳYsØ;sôÇŒö öÇNý1«=ˆý±RÓ£º bìÔѳڃØ;uôǬö öÇNý1«=ˆý±QgLê:ˆý±SGÌjbìÔѳڃØ;uôǬö öÇJMŒê2ˆý±SGÌjbìÔѳڃØ;uôǬö õÇ ý1š=Gý±#Ïý1“5‡ý±3GÌhb y­é×ç¸Ñ_?Æ~ ÏñÇ^(xz}?¼¼¹?gFüå·¾ÿûî‹O/ÛGxù÷ÜÀ·?€N{òŒÑà¹fŒvõ\û1ÚçÔec4¥&FCµ9FSjb4T{c4¥&FCµ9F3êŒÑH]9FSjb4T{c4…Ž ÍšãM™‰ÑíAŽÑŒ:c4R—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŽÑŒ:c4R—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#u¤M™ç Åë1ŒÑ8b4kŽc4e&FC´9Fê%FuäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŽÑŒ:c4R—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŒÑ šÌžÃM‘#FC²æ8FSfb4D{c4¥&FCµ9F3êŒÑH]9FSjb4T{c4¥&FCµ9FSjb4T{c4£ÎÔec4¥&FCµ9FSjb4T{c4¥&FCµ9F3êŒÑH]9FSjb4T{c4¥&FCµ1FSèˆÑЬ9ŒÑ ™ÈžãM™‰ÑíAŽÑ”š ÕäM©‰ÑPíAŽÑŒ:c4R—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŽÑ„z‰Ñ@]9FSjb4T{c4¥&FCµ1FSèˆÑЬ9ŽÑŒ9c4B—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŽÑŒ:c4R—AŽÑ”š ÕäM©‰ÑPíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŒÑ:b44kŽc4e&FC´9F3êŒÑH]9FSjb4T{c4¥&FCµ9FSjb4T{c4£ÎÔec4¥&FCµ9FSjb4T{c4¥&FCµ9F3êŒÑH]9FSjb4T{c4¥&FCµ9FSjb4T{c4£ÎÔec4…Ž ÍšãM™‰ÑíAŽÑ”š Õäͨ3F#uäM©‰ÑPíAŽÑ”š ÕäM©‰ÑPíAŽÑ„z‰Ñ@]9FSjb4T{c4¥&FCµ9FSjb4T{c4£ÎÔec4¥&FCµ9FSjb4T{c4¥&FCµ1F3hb42{c4EŽ ÉšãM™‰ÑíAŽÑ”z>{GíÁÛêiûäßáÍYV—ÁuûNÔ“axw:îý=غ~ãny·ÿ ðÍŸ//‡×;/þ<éîî_þó÷/ßÎîžOßÜÏÑÏ¿J/oo»Õ]^<·ÿLó½s—gÚíܧ§€ÐÈšãÌO³ò²ç¸ñ3d?"kŽ?C¦ï#²æ¸î3dâ>"kŽÓ>AβÈžã®ÏÉúˆ¬9ŒúŒ8š>¯Ç¸è3`‚>kŽs>AΚÈžã–ÏIùˆ¬9ù ™ŽÈšãŠÏ‰øˆ¬9Nø9 > {Žû=C&ß#²æ8Þ3dÚ="kŽË=C&Ü#²æ8Ûä¬ö€ì9nö ™dÈšã`Ïéõˆ¬9®õ ™XÈšãTO³Ô²ç¨Ó3à9Ó#îj #=£F¸ë1.ô ˜@Äšã<ï>y©óöÉeŽÛT{бϤ¦ö¡Úƒî}&5ÁÕtò³¨§ù‘z ºú™Ôd?T{ÐáϤ¦ü¡Úƒn&5ñÕtþ³¨§ÿ‘z ºšÔ$@T{ÐФ¦¢Úƒî€&5!Õt ´¨§’z ªšÌ—ˆâÛ1AøAkÎMÐd& "ڃ΂õµ ‚zº šÔ¤AT{ÐqФ¦¢Úƒîƒ&5Õt"´¨§’z ºšÔdBT{СФ¦¢Úƒn…&5±Õt.´¨§’z ºšÔ$CT{ÐÑФ¦¢Úƒî†&5áÕd:´ i‡dö롉|ò!’5ç€h2SíA7D“šˆˆj:#ZÔÓI½]MjR"ª=è˜hRSQíA÷D“š ˆj:)ZÔÓI½]Mj²"ª=è°hRSQíA·E“š¸ˆj:/ZÔÓI½]Mj#ª=èÈhRSQíAvFú„F4kŽ©ÑB¦5Ùs®&3¹Ñtp4©)ލö ›£IMtDµ-ê鎤^ƒ.&5éÕt|4©©¨ö û£IM€Dµ -êi¤^ƒ®&5Õtˆ4©)‘¨ö [¤IMŒDµ# êkõt‘4©I’¨ö £¤IM•DµÙ%Mè&Ѭ9§I‹yÚ$¡× ë¤IMžDµ(Mj %ª=èFiR)QíAgJ‹z:%©× K¥IMªDµ+Mjj%ª=è^iR,QíA'K‹zš%©× «¥IM¶Dµ.MjÊ%ª=èviR/QíAçK‹zú%©×  ¦IMÂDµ1MèS1Ѭ9wL“™‰h:eZÔÓ2I½]3Mjr&ª=è iRS4QíA7M“š¨‰j:kZÔÓ5I½]6MjÒ&ª=è¸iRS7QíA÷M“šÀ‰j:qZÔÓ8I½]9Mj2'ª=èÐiRS:QíA·N“šØ‰j:wZÔÓ;I½YŸ5z ¾£~úðÓO«úòÙo¨=øŽúù÷àÇïGõå³ßP{ðõóï¯?(MêËg¿¡öà;_Šöù·áÓ¨>Ÿµz ¾£~þmøþ‡Q}ùì7Ô|G}¾$nRó¥sT{Ð_;7©ùÞ9ª=èož[ÔóÕsR¯AùܤæÛç¨ö ¿nR“ªRíA§ª“šT•j:U]Ô“ªJ½ªNjRUª=ÈTuBŸT•fÍ9ṲªD{ЩꢞTUê5èTuR“ªRíA§ª“šT•j:UÔ¤ªT{ЩꢞTUê5èTuR“ªRíA§ª“šT•j:UÔ¤ªT{ЩꢞTUê5èTuR“ªRíA§ª“šT•j:UÔ¤ªT{ЩꢞTUê5¨Tu2_RUŠoǘªNà“ªR¬9§ª“™T•h:UÔ×Tê=èTuR“ªRíA§ª“šT•j:UÔ¤ªT{ЩꢞTUê5èTuR“ªRíA§ª“šT•j:UÔ¤ªT{ЩꢞTUê5èTuR“ªRíA§ª“šT•j:UÔ¤ªT{©ê‚&U•ÙsLU'òIUIÖœSÕÉLªJ´ªNjRUª=èTuQOª*õtª:©IU©ö SÕIMªJµªNjRUª=èTuQOª*õtª:©IU©ö SÕIMªJµªNjRUª=èTuQOª*õtª:©IU©ö SÕIMªJµ™ªN蓪Ҭ9¦ª ™TUdÏ9ṲªD{Щê¤&U¥ÚƒNU'5©*Õtªº¨'U•z :UÔ¤ªT{Щê¤&U¥ÚƒNU'5©*Õtªº¨'U•z :UÔ¤ªT{Щê¤&U¥ÚƒNU'5©*Õtª:¨¯©*Ô{Щê¤&U¥ÚƒNU'5©*Õdª:¡OªJ³æœª.æIU…^ƒNU'5©*Õtª:©IU©ö SÕIMªJµª.êIU¥^ƒNU'5©*Õtª:©IU©ö SÕIMªJµª.êIU¥^ƒNU'5©*Õtª:©IU©ö SÕIMªJµª.êIU¥^ƒNU'5©*Õdª:¡OªJ³æœªNfRU¢=èTuQOª*õtª:©IU©ö SÕIMªJµªNjRUª=èTuQOª*õtª:©IU©ö SÕIMªJµªNjRUª=èTuQOª*õtª:©IU©ö SÕIMªJµªNjRUª=èTuQOª*õdª:¡OªJ³æœªNfRU¢=èTuR“ªRíA§ª‹zRU©× SÕIMªJµªNjRUª=èTuR“ªRíA§ªƒúšªB½ªNjRUª=èTuR“ªRíA§ª“šT•j:U]Ô“ªJ½ªNjRUª=èTuR“ªRíA§ª“šT•j2U]Фª2{Ž©êD>©*Éšsª:™IU‰ö SÕI}ùì7ÔüºúéóoÁøwxóY«×à;êçß…ï>)9e–ûéÓ‡ï¾õ÷`ó¡·òñÝ.÷ýù'»Ü_ÿ‹½Ÿr—û|æµËýëüò—¯f¹¿^4¾.~%ËýùÛY.žèd¹ožèÝ,÷Ëçx?Ë¥YsÎród¹B¯Ag¹“š,—j:ËÔd¹T{ÐYî¤&Ë¥ÚƒÎrõd¹R¯Ag¹“š,—j:ËÔd¹T{ÐYî¤&Ë¥ÚƒÎrõd¹R¯Ag¹“š,—j:ËÔd¹T{ÐYî¤&Ë¥ÚƒÎrõd¹R¯Ag¹“š,—j2ËÐ'Ë¥YsÎr'3Y.Ñt–»¨'Ë•z :ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õt–»¨'Ë•z :ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õt–»¨'Ë•z :ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õt–»¨'Ë•z *ËÌ—,—âÛ1f¹ød¹kÎYîd&Ë%ÚƒÎrõ5Ë…z:ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õt–»¨'Ë•z :ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õt–»¨'Ë•z :ËÔd¹T{ÐYî¤&Ë¥ÚƒÎr'5Y.Õd–» Éreö³Ü‰|²\’5ç,w2“åíAg¹“š,—j:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAg¹“š,—j:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAg¹“š,—j:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAf¹úd¹4kŽYîB&ËÙsÎr'3Y.Ñt–;©Ér©ö ³ÜIM–Kµå.êÉr¥^ƒÎr'5Y.Õt–;©Ér©ö ³ÜIM–Kµå.êÉr¥^ƒÎr'5Y.Õt–;©Ér©ö ³ÜIM–Kµåêk– õt–;©Ér©ö ³ÜIM–Kµ™åNè“åÒ¬9g¹‹y²\¡× ³ÜIM–KµåNj²\ª=è,wR“åRíAg¹‹z²\©× ³ÜIM–KµåNj²\ª=è,wR“åRíAg¹‹z²\©× ³ÜIM–KµåNj²\ª=è,wR“åRíAg¹‹z²\©× ³ÜIM–Kµ™åNè“åÒ¬9g¹“™,—h:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAg¹“š,—j:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAg¹“š,—j:Ë]Ô“åJ½åNj²\ª=è,wR“åRíAg¹“š,—j:Ë]Ô“åJ½™åNè“åÒ¬9g¹“™,—h:ËÔd¹T{ÐY,Wê5è,wR“åRíAg¹“š,—j:ËÔd¹T{ÐYî ¾f¹PïAg¹“š,—j:ËÔd¹T{ÐYî¤&Ë¥ÚƒÎrõd¹R¯Ag¹“š,—j:ËÔd¹T{ÐYî¤&Ë¥ÚƒÌr4Y®Ìžc–;‘O–K²æœåNf²\¢=è,wR“åRíAg¹‹z²\©× ³Ü÷“Ó-Ëåƒ].Éšs—;™ér‰ö »ÜIM—KµÝå.êér¥^ƒîr•œ.].äérß<Èû]îûòO~]îw?üþçOîrŸÏ¼v¹ûåÿýËöû—Ë–×Å/¿.÷ó¼›å~úü#äïýDùÐÛ'úJ–û´»_>b`ª=ÈxBŸ˜fÍ9^Ì ½Ojb`ª=èxRSíAÇÀ“š˜j:^ÔK½Ojb`ª=èxRSíAÇÀ“š˜j:^ÔK½Ojb`ª=èxRSíAÇÀ“š˜j:^ÔK½Ojb`ª=ÈxBŸ˜fÍ9žÌÄÀD{Ð1ð¢žXê5èxRSíAÇÀ“š˜j:žÔÄÀT{Ð1ð¢žXê5èxRSíAÇÀ“š˜j:žÔÄÀT{Ð1ð¢žXê5èxRSíAÇÀ“š˜j:žÔÄÀT{Ð1ð¢žXê5¨x2_b`ŠoÇOàS¬9ÇÀ“™˜h:Ô×ê=èxRSíAÇÀ“š˜j:žÔÄÀT{Ð1ð¢žXê5èxRSíAÇÀ“š˜j:žÔÄÀT{Ð1ð¢žXê5èxRSíAÇÀ“š˜j:žÔÄÀT{1ð‚&–ÙsŒ'ò‰IÖœcàÉL L´Ojb`ª=èxQO ,õt <©‰©ö càIM LµOjb`ª=èxQO ,õt <©‰©ö càIM LµOjb`ª=èxQO ,õt <©‰©ö càIM LµOèÓ¬9ÆÀ ™XdÏ9žÌÄÀD{Ð1ð¤&¦ÚƒŽ'510Õt ¼¨'–z :žÔÄÀT{Ð1ð¤&¦ÚƒŽ'510Õt ¼¨'–z :žÔÄÀT{Ð1ð¤&¦ÚƒŽ'510Õt <¨¯10Ô{Ð1ð¤&¦ÚƒŽ'510Õd <¡O L³æ/扅^ƒŽ'510Õt <©‰©ö càIM Lµ/ꉥ^ƒŽ'510Õt <©‰©ö càIM Lµ/ꉥ^ƒŽ'510Õt <©‰©ö càIM Lµ/ꉥ^ƒŽ'510Õd <¡O L³æOfb`¢=èxQO ,õt <©‰©ö càIM LµOjb`ª=èxQO ,õt <©‰©ö càIM LµOjb`ª=èxQO ,õt <©‰©ö càIM LµOjb`ª=èxQO ,õd <¡O L³æOfb`¢=èxRSíAÇÀ‹zb`©× càIM LµOjb`ª=èxRSíAÇÀƒúC½Ojb`ª=èxRSíAÇÀ“š˜j:^ÔK½Ojb`ª=èxRSíAÇÀ“š˜j2^ÐÄÀ2{Ž1ðD>10Éšs <™‰‰ö càIM Lµ/ꉥ^ƒŽß]·˜òÄÀoäýøýù群÷ûßýþ·DE1p>óÿûã?Þý’Þ7“ÿS_Ò«GʇÞ>Ò{]îWžãÝ.×fͱËÌt¹D¯Av¹›út¹V{]î¦>]®Õd—»©O—kµÙåNjº\ª× »ÜM}º\«=È.wSŸ.×j²ËÝԧ˵ڃìr'5].Õk]î¦>]®Õd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×jªËÝЗ.×fͱËÝ̧Ë5Úƒìr'5].Õk]î¦>]®Õd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×j²ËÝԧ˵ڃìr7õér­ö »ÜIM—Kõd—»©O—kµÙånêÓåZíAv¹›út¹V{]˥z ¢ËÝÌߺ\‹oÇÔånàK—k±æØånæÓåíAv¹‹zº\©÷ »ÜM}º\«=È.wSŸ.×j²ËÝԧ˵ڃìr'5].Õk]î¦>]®Õd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×j²ËÝԧ˵ڃìr7õér­ö ºÜ }º\š=§.w#_º\“5Ç.w3Ÿ.×h²ËÝԧ˵ڃìr'5].Õk]î¦>]®Õd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×j²ËÝԧ˵ڃìr7õér­ö »ÜIM—Kõd—»©O—kµÙånêÓåZíAu¹úÒåÚ¬9u¹ùt¹${Ž]îf>]®Ñd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×j²ËÝԧ˵ڃìr7õér­ö »ÜIM—Kõd—»©O—kµÙånêÓåZíAv¹›út¹V{].Wê=È.wSŸ.×j²ËÝԧ˵ڃêr7ô¥ËµYsìr'3].Ñk]î¦>]®Õd—»©O—kµÙånêÓåZíAv¹“š.—ê5È.wSŸ.×j²ËÝԧ˵ڃìr7õér­ö »ÜIM—Kõd—»©O—kµÙånêÓåZíAv¹›út¹V{]˥z ²ËÝԧ˵ڃêr7ô¥ËµYsìr7óérö »ÜIM—Kõd—»©O—kµÙånêÓåZíAv¹›út¹V{]˥z ²ËÝԧ˵ڃìr7õér­ö »ÜM}º\«=È.wRÓåR½ÙånêÓåZíAv¹›út¹V{]î¦>]®Õd—;©ér©^ƒêr7ô¥ËµYsìr7óérö »ÜM}º\«=È.wRÓåR½ÙånêÓåZíAv¹›út¹V{]î¦>]®Õd—»¨§Ë•z²ËÝԧ˵ڃìr7õér­ö »ÜM}º\«=È.wRÓåR½ÙånêÓåZíAv¹›út¹V{]î¦>]®ÕT—;¡O—K³çÔånäK—k²æØånæÓåíAv¹›út¹V{]˥z ²Ëer:t¹~—½}w»\<È?÷%½ßÿükcå,÷å#¯UîŸþþË/ÿï»UîüŸ‹rßžÓä¾>Ï»Iîñ~‘+ðí˜{Ü<9.ÄžsŒ»iqEÖœKÜ…Lˆ+²æœá.d*\‘5çw O‚ ²çà.dú[‘5çúv!ߊ¬9§· ™òVd͹»ȓ݂ì9G· ™æVd͹¸]È·"kιíB¦¶Ysnmò¤¶ {ΡíB¦³Ys¬lñ‰l¾sb»€)l%ÖœûÚµªÀ·cnUð¤ª{ΡêB¦SYs®T2‘ªÈšs¢º)TEÖœûÔ•XsnOò¤§ {ÎáéB¦;Ys®N2ѩȚsrº)NEÖœ{Ó<¹)ÈžslºiMEÖœKÓ…Lh*²æœ™.d*S‘5çÆt Ob ²ç˜.dúR‘5çºt!—Ь9§¥ ™²Td͹+È“•‚ì9F¥‹ø4¥ߎ¹(]À¥kÎ9éB¦&YsnIò¤¤ {Î!éB¦#Ys®H2©ÈšsBº)HEÖœûÑo“¯ùèûä5çxt!ÓŽŠ¬9—£ ™pTdÍ9]ÈT£"kÎÍè@žddÏ9]Èô¢"kεèB&YsNE2¥¨Èšc':ˆÉDÖ#ÑÅ{QyoÇ\ˆ.`Q‰5çÐWºÐ>ðkò•2ôå³V¯ÁwÔOŸ†ýý¨¾|öj¾£>줦»¥Úƒ,o'ôIoiÖœãÛÅ<õ­ÐkÐýí¤&À¥ÚƒNp'5 .Õt…;©Ép©ö CÜE=%®ÔkÐ-î¤&Æ¥ÚƒÎq'5=.Õt‘;©Ir©ö £ÜE=U®ÔkÐ]î¤&Ì¥ÚƒNs'5m.Õt;©És©ö ÝE=…®ÔkÐî¤&Ò¥ÚƒÌt'ôétiÖœKÝÉLªK´ë.ê©u¥^ƒîu'5Á.Õt²;©iv©ö «ÝIM¶Kµî.ê)w¥^ƒnw'5ñ.Õt¾;©éw©ö  ÞIMÂKµñ.ê©x¥^ƒîx'5!/ÕtÊ;©iy©ö kÞIMÎKµô.ê)z¥^ƒjz'ó%ê¥øvŒYï>]/ÅšsÙ;™I{‰ö ãÞA}­{¡Þƒî{'5/Õtâ;©i|©ö +ßIMæKµú.ê)}¥^ƒn}'5±/Õtî;©é}©ö ‹ßIMòKµý.ê©~¥^ƒî~'5á/Õtú;©i©ö ëßIMþKµ/h `™=Çx"Ÿ˜dÍ9žÌtÀD{Ð%ð¤&¦ÚƒŽõÔÀR¯A÷À“š ˜j: žÔ4ÁT{ÐUð¤& ¦Úƒƒõ”ÁR¯A·Á“š8˜j:žÔôÁT{Ð…ð¤&¦ÚƒŽ„õTÂR¯Aw“šP˜j:žÔ´ÂT{µð„>¹0Íšc0¼)†Eöœ›áÉL4L´ Ojºaª=èrxR“SíAÇËzêa©× ûáIM@LµOjbª=èŠxR“SíA‡Ä‹zJb©× [âIMLLµOjzbª=è¢xR“SíAGŃúZC½ÝOjÂbª=è´xRÓSíAÖÅúäÅ4kÎñbžÂXè5èÆxRSíAgÆ“šÎ˜jº4žÔ¤ÆT{бñ¢žÚXê5èÞxRSíA'Ç“šæ˜jº:žÔdÇT{Ðáñ¢žòXê5èöxRSíAçÇ“šþ˜jº@žÔ$ÈT{Ðò¢ž Yê5èyR"SíA¦Èú´È4kÎ5òd&G&Úƒ’õÉR¯A7É“š(™j:KžÔtÉT{Ðeò¤&M¦ÚƒŽ“õÔÉR¯A÷É“š@™j:QžÔ4ÊT{Еò¤&S¦Úƒ•õ”ÊR¯A·Ê“šX™j:WžÔôÊT{ÐÅò¤&Y¦ÚƒŽ–õTËR¯AvËú„Ë4kÎéòd¦]&Úƒ®—'5ù2ÕtÀ¼¨§`–z ºažÔDÌT{Ðó¤¦c¦Úƒ.™'5)3ÕtÌ<¨¯53Ô{Ð=ó¤&h¦ÚƒNš'5M3ÕtÕ<©Éš©ö ÃæE=e³ÔkÐmó¤&n¦ÚƒÎ›'5}3Õtá<©Iœ©ö #çMå,³çØ9Oä:“¬9§Î“™Ö™hºvžÔäÎT{ÐÁó¢žâYê5èæYQï=óAžêù̓¼Ÿ=¿ÿ ÿä—áþøëßø6Üç3¯ÝóþåOü˗߇ûùß?þzÇóºù•/ÄýñÝ/Ä=½*žéôªožéý^õËA¯JµÝ«NjzUª=è^uRÓ«RíA÷ª‹zzU©× {ÕIM¯JµÝ«NjzUª=è^uRÓ«RíA÷ª‹zzU©× {ÕIM¯JµÝ«NjzUª=è^uRÓ«RíA÷ª‹zzU©× {ÕIM¯JµÙ«NèÓ«Ò¬9÷ª“™^•hºW]ÔÓ«J½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•jºW]ÔÓ«J½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•jºW]ÔÓ«J½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•jºW]ÔÓ«J½Õ«NæK¯Jñí{Õ |zUŠ5ç^u2Ó«íA÷ªƒúÚ«B½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•jºW]ÔÓ«J½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•jºW]ÔÓ«J½Ý«NjzUª=è^uRÓ«RíA÷ª“š^•j²W]Ðôª2{޽êD>½*Éšs¯:™éU‰ö {ÕIM¯JµÝ«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {ÕIM¯JµÝ«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {ÕIM¯JµÝ«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {Õ }zUš5Ç^u!Ó«Šì9÷ª“™^•hºWÔôªT{нꤦW¥ÚƒîUõôªR¯A÷ª“š^•jºWÔôªT{нꤦW¥ÚƒîUõôªR¯A÷ª“š^•jºWÔôªT{нꤦW¥ÚƒîUõµW…zºWÔôªT{нꤦW¥ÚƒìU'ôéUiÖœ{ÕÅ<½ªÐkнꤦW¥ÚƒîU'5½*Õt¯:©éU©ö {ÕE=½ªÔkнꤦW¥ÚƒîU'5½*Õt¯:©éU©ö {ÕE=½ªÔkнꤦW¥ÚƒîU'5½*Õt¯:©éU©ö {ÕE=½ªÔkнꤦW¥ÚƒìU'ôéUiÖœ{ÕÉL¯J´Ý«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {ÕIM¯JµÝ«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {ÕIM¯JµÝ«.êéU¥^ƒîU'5½*Õt¯:©éU©ö {ÕIM¯JµÝ«.êéU¥^ƒìU'ôéUiÖœ{ÕÉL¯J´Ý«NjzUª=è^uQO¯*õt¯:©éU©ö {ÕIM¯JµÝ«NjzUª=è^uP_{U¨÷ {ÕIM¯JµÝ«NjzUª=è^uRÓ«RíA÷ª‹zzU©× {ÕIM¯JµÝ«NjzUª=è^uRÓ«RíAöª š^UfϱWȧW%YsîU'3½*Ñt¯:©éU©ö {ÕE=½ªÔkнªJÌ¥Wåƒ<½ê›y¿W}ÿAþÉ^õóà÷r¯ú|æµWýãŸÿã¯ûÇ×¾Lõ§_Ê~ݼáï?|÷ù?ÙßëUSŽâ™N9úæ™Þ/G¿|”£T{Ðå褦¥Úƒ.Gõ”£R¯A—£“šr”jºÔ”£T{Ðå褦¥Úƒ.Gõ”£R¯A—£“šr”jºÔ”£T{Ðå褦¥Úƒ.Gõ”£R¯A—£“šr”j²Ч¥Ys.G'3å(Ñt9º¨§•z ºÔ”£T{Ðå褦¥Úƒ.G'5å(Õt9º¨§•z ºÔ”£T{Ðå褦¥Úƒ.G'5å(Õt9º¨§•z ºÔ”£T{Ðå褦¥Úƒ.G'5å(Õt9º¨§•z ªÌ—r”âÛ1–£ø”£kÎåèd¦%Úƒ.Gõµ…zºÔ”£T{Ðå褦¥Úƒ.G'5å(Õt9º¨§•z ºÔ”£T{Ðå褦¥Úƒ.G'5å(Õt9º¨§•z ºÔ”£T{Ðå褦¥Úƒ.G'5å(Õd9º )GeöËщ|ÊQ’5çrt2SŽíA—£“šr”jº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA—£“šr”jº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA—£“šr”jº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA–£ú”£4kŽåèB¦Ùs.G'3å(Ñt9:©)G©ö ËÑIM9Jµ]Ž.ê)G¥^ƒ.G'5å(Õt9:©)G©ö ËÑIM9Jµ]Ž.ê)G¥^ƒ.G'5å(Õt9:©)G©ö ËÑIM9Jµ]Žêk9 õt9:©)G©ö ËÑIM9JµYŽNèSŽÒ¬9—£‹yÊQ¡× ËÑIM9Jµ]ŽNjÊQª=èrtRSŽRíA—£‹zÊQ©× ËÑIM9Jµ]ŽNjÊQª=èrtRSŽRíA—£‹zÊQ©× ËÑIM9Jµ]ŽNjÊQª=èrtRSŽRíA—£‹zÊQ©× ËÑIM9JµYŽNèSŽÒ¬9—£“™r”hº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA—£“šr”jº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA—£“šr”jº]ÔSŽJ½]ŽNjÊQª=èrtRSŽRíA—£“šr”jº]ÔSŽJ½YŽNèSŽÒ¬9—£“™r”hºÔ”£T{Ðå袞rTê5èrtRSŽRíA—£“šr”jºÔ”£T{Ðåè ¾–£PïA—£“šr”jºÔ”£T{Ðå褦¥Úƒ.Gõ”£R¯A—£“šr”jºÔ”£T{Ðå褦¥Úƒ,G4å¨Ìžc9:‘O9J²æ\ŽNfÊQ¢=èrtRSŽRíA—£‹zÊQ©× ËÑ÷›È­åƒ<åè›y¿}ÿA®rôûo”£ßÿðáûŸ~p9ú|æµýåß>þø¯ÿãëõèw>ýú#Ãëî—¿R¿ûøío;Åso;}ó\ïÛé—‚f•jºYÔ4«T{ÐÍꤦY¥ÚƒnVõ4«R¯A7«“šf•jºYÔ4«T{ÐÍꤦY¥ÚƒnVõ4«R¯A7«“šf•jºYÔ4«T{ÐÍꤦY¥ÚƒnVõ4«R¯A7«“šf•j²YЧY¥YsnV'3Í*Ñt³º¨§Y•z ºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õt³º¨§Y•z ºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õt³º¨§Y•z ºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õt³º¨§Y•z ªYÌ—f•âÛ16«ø4«kÎÍêd¦Y%ÚƒnVõµY…zºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õt³º¨§Y•z ºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õt³º¨§Y•z ºYÔ4«T{ÐÍꤦY¥ÚƒnV'5Í*Õd³º iVeö›Õ‰|šU’5çfu2Ó¬íA7«“šf•jºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA7«“šf•jºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA7«“šf•jºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA6«ú4«4kŽÍêB¦YÙsnV'3Í*Ñt³:©iV©ö ›ÕIM³Jµݬ.êiV¥^ƒnV'5Í*Õt³:©iV©ö ›ÕIM³Jµݬ.êiV¥^ƒnV'5Í*Õt³:©iV©ö ›ÕIM³Jµݬêk³ õt³:©iV©ö ›ÕIM³JµÙ¬NèÓ¬Ò¬97«‹yšU¡× ›ÕIM³JµݬNjšUª=èfuRÓ¬RíA7«‹zšU©× ›ÕIM³JµݬNjšUª=èfuRÓ¬RíA7«‹zšU©× ›ÕIM³JµݬNjšUª=èfuRÓ¬RíA7«‹zšU©× ›ÕIM³JµÙ¬NèÓ¬Ò¬97«“™f•hºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA7«“šf•jºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA7«“šf•jºY]ÔÓ¬J½ݬNjšUª=èfuRÓ¬RíA7«“šf•jºY]ÔÓ¬J½Ù¬NèÓ¬Ò¬97«“™f•hºYÔ4«T{ÐÍꢞfUê5èfuRÓ¬RíA7«“šf•jºYÔ4«T{ÐÍê ¾6«PïA7«“šf•jºYÔ4«T{ÐÍꤦY¥ÚƒnVõ4«R¯A7«“šf•jºYÔ4«T{ÐÍꤦY¥ÚƒlV4̞ͪc³:‘O³J²æÜ¬NfšU¢=èfuRÓ¬RíA7«‹zšU©× ›U•˜K³ÊyšÕ7ò~³úþƒü—O¿ÿáó¯ã7¾íô‡O~øí‡Ž?ÿ©ýÓ×›ÕçCùÌoOôá‡ÿöë·¶þëÿùïzù_þ·?üù—¿ÿÇþý——øüç|5fýñ§?ýúƒÿ+x?ÕÇ¿ÿî‡÷bÖSùàOåóæß¯|¾|T>R¯AW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ®|õT>R¯AW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ®|õT>R¯AW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ®|õT>R¯AU>“ùRùP|;ÆÊgŸÊ‡b͹ò™ÌT>D{ЕϠ¾V>PïAW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ®|õT>R¯AW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ®|õT>R¯AW>“šÊ‡jºò™ÔT>T{ЕϤ¦ò¡Úƒ¬|4•Ìžcå3‘OåC²æ\ùLf*¢=èÊgRSùPíAW>‹z*©× +ŸIMåCµ]ùLj*ª=èÊgRSùPíAW>‹z*©× +ŸIMåCµ]ùLj*ª=èÊgRSùPíAW>‹z*©× +ŸIMåCµ]ùLj*ª=ÈÊgBŸÊ‡fͱòYÈT>"{ΕÏd¦ò!Úƒ®|&5•Õtå3©©|¨ö +ŸE=•ÔkЕϤ¦ò¡Úƒ®|&5•Õtå3©©|¨ö +ŸE=•ÔkЕϤ¦ò¡Úƒ®|&5•Õtå3©©|¨ö +ŸA}­| Þƒ®|&5•Õtå3©©|¨ö +Ÿ }*š5çÊg1Oå#ôtå3©©|¨ö +ŸIMåCµ]ùLj*ª=èÊgQOå#õtå3©©|¨ö +ŸIMåCµ]ùLj*ª=èÊgQOå#õtå3©©|¨ö +ŸIMåCµ]ùLj*ª=èÊgQOå#õtå3©©|¨ö +Ÿ }*š5çÊg2SùíAW>‹z*©× +ŸIMåCµ]ùLj*ª=èÊgRSùPíAW>‹z*©× +ŸIMåCµ]ùLj*ª=èÊgRSùPíAW>‹z*©× +ŸIMåCµ]ùLj*ª=èÊgRSùPíAW>‹z*©× +Ÿ }*š5çÊg2SùíAW>“šÊ‡jºòYÔSùH½]ùLj*ª=èÊgRSùPíAW>“šÊ‡jºòÔ×Êê=èÊgRSùPíAW>“šÊ‡jºò™ÔT>T{ЕϢžÊGê5èÊgRSùPíAW>“šÊ‡jºò™ÔT>T{•Ï‚¦ò‘Ùs¬|&ò©|HÖœ+ŸÉLåC´]ù¼Ÿm°|ùþw¾ö‡»Oß¿}Žß>óö1þë}7|yÿ9®ðå{‡/=jýé#×|æ%|ùñ _þ׿þå/¿üû?þø×¿ü/ûåïÿù§¼üÓÿÏþòßÿôË¿}ü׿¿üã?<ÿóßÿúç?þ?ýýËó°>~üá_Þ<Èý´ßøøó{A̹ŽÓ¿|èí¿w¯ã¾ò ï_ÇYíA^Çmêsgµu7¡ÏuÍžÓuÜF¾\Ç™¬9^Çmæsg´y·©ÏuœÕäuܤæ:Žê5Èë¸M}®ã¬ö ¯ã6õ¹Ž³Úƒ¼ŽÛÔç:Îjò:nRsGõäuܦ>×qV{×q›ú\ÇYíA^Çmêsgµy7©¹Ž£z ò:nSŸë8«=Èë¸M}®ã¬ö ®ã6ôå:ÎfÍé:n"Ÿë8’=Çë¸Í|®ãŒö ¯ã6õ¹Ž³Úƒ¼ŽÛÔç:Îjò:nRsGõäuܦ>×qV{×q›ú\ÇYíA^Çmêsgµy7©¹Ž£z ò:nSŸë8«=Èë¸M}®ã¬ö ¯ã6õ¹Ž³Úƒ¼Ž[Ôs'õäuܦ>×qV{×q›ú\ÇYíA]ÇmèËuœÍšãuÜdæ:Žè5Èë¸M}®ã¬ö ¯ã6õ¹Ž³Úƒ¼ŽÛÔç:Îjò:nRsGõäuܦ>×qV{×q›ú\ÇYíA^Çmêsgµy7©¹Ž£z ò:nSŸë8«=Èë¸M}®ã¬ö ¯ã6õ¹Ž³Úƒ¼Ž›Ô\ÇQ½y·©ÏuœÕÔu܆¾\ÇÙ¬9^Çmæsg´y7©¹Ž£z ò:nSŸë8«=Èë¸M}®ã¬ö ¯ã6õ¹Ž³Úƒ¼Ž›Ô\ÇQ½y·©ÏuœÕäuܦ>×qV{×q›ú\ÇYíA^ÇMj®ã¨^ƒ¼ŽÛÔç:Îjò:nSŸë8«=Èë¸M}®ã¬ö ¯ã&5×qT¯A]ÇmèËuœÍšãuÜf>×qF{×q›ú\ÇYíA^ÇMj®ã¨^ƒ¼ŽÛÔç:Îjò:nSŸë8«=Èë¸M}®ã¬ö ¯ãõ\ÇI½y·©ÏuœÕäuܦ>×qV{×q›ú\ÇYíA^ÇMj®ã¨^ƒ¼ŽÛÔç:Îjò:nSŸë8«=Èë¸M}®ã¬ö ®ã&ô¹Ž£ÙsºŽÛÈ—ë8“5Çë¸Í|®ãŒö ¯ãpõ\ÇÝÏñ•븷ñþužãŸ{-ôÇÏ?Wüð㸗¼ÜÆýôÜÆý·ÿñ‡?ÿÇŸž7Aÿïûëÿý·?üù‹÷S~úôáã¯å=Æ—¿f?~þ‘ñAþÿþéûøˆùÌ›Güò-™Ÿ~zç)¾B¾|ÔdͽCþîÃOßäËGMÖÜ×É>~øî÷?MäóQ’=÷ùéÿþe!_>j²æÞ!úðÝÏ#ùòQ“5÷ù»?þúü…|ù¨Éšû:ùãç_ü_ÿj?ÏGIöÜ;äç_üFòå£&kîòó/þ›øÛ' ¾{Ç{ygü>ï §Xs|ýBæô"{ޝŸŸÈçíó$kŽïžŸÈçÕó$kŽ/žŸÈç½ó$kŽo_ȼt^dÏñ•óù¼qždÍñ}óù¼nždÍñeóù¼kždÍñMó ™Í‹ì9¾f~"Ÿ·Ì“¬9¾c~"ŸWÌ“¬9¾`~"Ÿ÷Ë“¬9¾]~!óry‘=‡WËOàoo–'÷fJ´—×Ê“{;Æ—ÊOàóNyŠ5Ç7Êäy¡<Èkޝ“ŸÈçmò$kŽï’ŸÈçUò$kŽ/’ŸÈç=ò$kŽo‘_ȼD^dÏñòù¼AždÍñýñù¼>ždÍñåñù¼;ždÍñÍñ ™Ç‹ì9¾6~"Óʼn¬9Wq ™(NdÍ9‰[Èq"kŽ=Ü &‡XcŒáïiáä½s ·€ á$Öœ3¸…L'²æÜÀ äIà@öœ¸…Lÿ&²æ\¿-dâ7‘5çôm!S¾‰¬9woy²7=çèm!Ó¼‰¬9o ™àMdÍ9w[ÈÔn"kέÛ@žÔ dÏ9t[Ètn"kΕÛB&rYsLÜñ)ܾcß6xÉÛàÕ˜ã¶LÛ&±æ\¶-dÂ6‘5ç¬m!Sµ‰¬97my’6=ç m!Ó³‰¬9×l ™˜MdÍ9e[È”l"kÎÛ@žŒ dÏ9b[È4l"kÎÛB&`YsÎ×2õšÈšs»ömò5]{Ÿ¼æ®-dº5‘5çjm!­‰¬9&k‹økߎ¹WÀ“«Aì9Çj ™VMd͹T[È„j"kΙÚB¦RYsnÔò$j {ÎÚB¦OYs®Ó2qšÈšsš¶)ÓDÖœ»´> endobj 761 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [119.552 677.933 245.209 686.82] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL) >> >> endobj 764 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 677.933 537.983 686.82] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL) >> >> endobj 765 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 664.513 199.781 671.367] /Subtype /Link /A << /S /GoTo /D (PGTCL-OVERVIEW) >> >> endobj 766 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 664.513 537.983 671.367] /Subtype /Link /A << /S /GoTo /D (PGTCL-OVERVIEW) >> >> endobj 767 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 649.505 295.939 658.416] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL-LOADING) >> >> endobj 768 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 649.505 537.983 658.416] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL-LOADING) >> >> endobj 769 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 636.553 267.695 645.465] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL-REF) >> >> endobj 770 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 636.553 537.983 645.465] /Subtype /Link /A << /S /GoTo /D (LIBPGTCL-REF) >> >> endobj 771 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 623.602 213.3 632.513] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNECT) >> >> endobj 772 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 623.602 537.983 632.513] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNECT) >> >> endobj 773 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 610.65 208.329 619.671] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNINFO) >> >> endobj 774 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 610.65 537.983 619.671] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNINFO) >> >> endobj 775 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 597.699 224.926 606.61] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGDISCONNECT) >> >> endobj 776 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 597.699 537.983 606.61] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGDISCONNECT) >> >> endobj 777 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 584.747 233.125 593.659] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNDEFAULTS) >> >> endobj 778 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 584.747 537.983 593.659] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCONNDEFAULTS) >> >> endobj 779 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 571.796 200.269 580.707] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXEC) >> >> endobj 780 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 571.796 537.983 580.707] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXEC) >> >> endobj 781 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 558.845 240.099 567.756] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXECPREPARED) >> >> endobj 782 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 558.845 537.983 567.756] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXECPREPARED) >> >> endobj 783 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 545.893 204.453 554.805] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGRESULT) >> >> endobj 784 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 545.893 537.983 554.805] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGRESULT) >> >> endobj 785 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 532.942 205.001 541.853] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSELECT) >> >> endobj 786 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 532.942 537.983 541.853] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSELECT) >> >> endobj 787 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 519.99 212.443 528.902] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXECUTE) >> >> endobj 788 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 519.99 537.983 528.902] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGEXECUTE) >> >> endobj 789 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 507.039 203.905 515.95] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLISTEN) >> >> endobj 790 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 507.039 537.983 515.95] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLISTEN) >> >> endobj 791 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 494.087 261.459 502.999] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGON-CONNECTION-LOSS) >> >> endobj 792 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 494.087 537.983 502.999] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGON-CONNECTION-LOSS) >> >> endobj 793 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 481.136 223.262 490.047] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSENDQUERY) >> >> endobj 794 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 481.136 537.983 490.047] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSENDQUERY) >> >> endobj 795 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 468.185 263.093 477.096] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSENDQUERYPREPARED) >> >> endobj 796 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 468.185 537.983 477.096] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGSENDQUERYPREPARED) >> >> endobj 797 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 455.233 216.627 464.144] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGGETRESULT) >> >> endobj 798 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 455.233 537.983 464.144] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGGETRESULT) >> >> endobj 799 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 442.282 207.581 451.193] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGISBUSY) >> >> endobj 800 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 442.282 537.983 451.193] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGISBUSY) >> >> endobj 801 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 429.33 217.185 438.242] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGBLOCKING) >> >> endobj 802 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 429.33 537.983 438.242] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGBLOCKING) >> >> endobj 803 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 416.379 236.532 425.29] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCANCELREQUEST) >> >> endobj 804 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 416.379 537.983 425.29] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGCANCELREQUEST) >> >> endobj 805 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 403.427 251.805 412.448] /Subtype /Link /A << /S /GoTo /D (PGTCL-NULLVALUESTRING) >> >> endobj 806 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 403.427 537.983 412.448] /Subtype /Link /A << /S /GoTo /D (PGTCL-NULLVALUESTRING) >> >> endobj 807 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 390.476 204.453 399.497] /Subtype /Link /A << /S /GoTo /D (PGTCL-QUOTE) >> >> endobj 808 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 390.476 537.983 399.497] /Subtype /Link /A << /S /GoTo /D (PGTCL-QUOTE) >> >> endobj 809 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 377.524 236.542 386.436] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGESCAPE-STRING) >> >> endobj 810 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 377.524 537.983 386.436] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGESCAPE-STRING) >> >> endobj 811 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 364.573 235.427 373.594] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGESCAPE-BYTEA) >> >> endobj 812 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 364.573 537.983 373.594] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGESCAPE-BYTEA) >> >> endobj 813 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 351.622 245.389 360.643] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGUNESCAPE-BYTEA) >> >> endobj 814 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 351.622 537.983 360.643] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGUNESCAPE-BYTEA) >> >> endobj 815 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 338.67 214.406 347.582] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOCREAT) >> >> endobj 816 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 338.67 537.983 347.582] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOCREAT) >> >> endobj 817 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 325.719 214.416 334.63] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOOPEN) >> >> endobj 818 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 325.719 537.983 334.63] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOOPEN) >> >> endobj 819 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 312.767 215.521 321.679] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOCLOSE) >> >> endobj 820 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 312.767 537.983 321.679] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOCLOSE) >> >> endobj 821 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 299.816 212.194 308.727] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOREAD) >> >> endobj 822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 299.816 537.983 308.727] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOREAD) >> >> endobj 823 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 286.864 215.521 295.776] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOWRITE) >> >> endobj 824 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 286.864 537.983 295.776] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOWRITE) >> >> endobj 825 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 273.913 215.521 282.824] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOLSEEK) >> >> endobj 826 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 273.913 537.983 282.824] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOLSEEK) >> >> endobj 827 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 260.962 207.78 269.873] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOTELL) >> >> endobj 828 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 260.962 537.983 269.873] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOTELL) >> >> endobj 829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 248.01 220.513 256.922] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOUNLINK) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 248.01 537.983 256.922] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOUNLINK) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 235.059 221.618 243.97] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOIMPORT) >> >> endobj 832 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 235.059 537.983 243.97] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOIMPORT) >> >> endobj 833 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [167.372 222.107 220.353 231.019] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOEXPORT) >> >> endobj 834 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 222.107 537.983 231.019] /Subtype /Link /A << /S /GoTo /D (PGTCL-PGLOEXPORT) >> >> endobj 835 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 209.156 256.627 218.177] /Subtype /Link /A << /S /GoTo /D (PGTCL-TCLNAMESPACE) >> >> endobj 836 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 209.156 537.983 218.177] /Subtype /Link /A << /S /GoTo /D (PGTCL-TCLNAMESPACE) >> >> endobj 837 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 198.242 321.114 205.225] /Subtype /Link /A << /S /GoTo /D (PGTCL-COMMANDHANDLES) >> >> endobj 838 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [528.02 198.242 537.983 205.225] /Subtype /Link /A << /S /GoTo /D (PGTCL-COMMANDHANDLES) >> >> endobj 839 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [143.462 183.253 233.115 192.164] /Subtype /Link /A << /S /GoTo /D (PGTCL-EXAMPLESECT) >> >> endobj 840 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 183.253 537.983 192.164] /Subtype /Link /A << /S /GoTo /D (PGTCL-EXAMPLESECT) >> >> endobj 760 0 obj << /D [758 0 R /XYZ 71.731 729.265 null] >> endobj 6 0 obj << /D [758 0 R /XYZ 244.332 703.236 null] >> endobj 757 0 obj << /Font << /F23 749 0 R /F32 763 0 R /F27 756 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 884 0 obj << /Length 3005 /Filter /FlateDecode >> stream xÚÝM^Wà½Å,íÅî÷Ç ³C,LB¬H%âçÓãsúÎÔ™ÛÕ% I©ž›éx.¶ßãÃ`ÿö±ì³ýa:Ë´­ß?¾Øßùˇ±%–m+Ó:ÙŸßüÍÇuÞËyÌoþøôážæ‡i(Ûz><ýx)Ã\¦y{xúáÿöÓo¿zœöãã×ëŸ>ÃÇÏÿú4þ÷oŸþùô×ß=]Ò8žeµÇØö³œëí“>zæñM¨>Ìþ`a›_ž¥/zy˜ñq,öëðñ—/¿ÿsýÓ?}}~þüŸÞ=É4¬eö$ö>œÁWlìëiDÒCo²¼£ìã~÷ 7jÍ&*Þ«ãX,¨©-ËÕ®0Pç²§¨Öl¢ba neñl‚ba îeÛUµf ïÕÓn ~øÄ³\í Õ® ~øÄ³‰Š…jgXTµf ÕÎ ~øÄ³‰Š…·ê:ØÄßÐö,UûÂ@µ3ŒªZ³‰Š…jg?|âÙDÅÂ@ÝË*þ:“g ïÕq(ƒ8˜ð,W»Â@Ê*~øÄ³‰Š…º–aSÕšMT, T;ƒ8˜ðl¢bá½:ÙÄ85ÊM¬ H»Á"’ߢ uiמMP, T;€øáÏ&*Þ«³@ü^Ïrµ+ T»Â0ó)ñËoDãë¹ ÙïÁzöÎï¤Î¸Ùºúšz¿Ón¦Þ›…_Vl÷Sïïþ÷ùù6ò—2OK2ò~ Å#ï– GÞíIêùû¯_¿üúùùýÄo*˲³§z»îÑàûZ8’¾Žo8^8¾²p¤*ò…£¤ú‘ªXÈŽŠz-™Úò…£¤ú‘ªXÈŽ’ê Gªb!_8Jª/©Š…|ᨨב©]!_8Jª/©Š…tá(¡máHM¨ã GÉô…#E±/õZ82µ+ä GIõ…#U±/%ÕŽTÅB¾p”T_8R ùÂQQ¯…#S»B¾p”T_8R ùÂQR}áHU,ä GIõ…#U±/õZ82µ+ä GIõ…#U±/%ÕŽTÅB¾p”T_8R ùÂQQ¯…#S»B¶p”̺p¤âÛ2ºp”À¶p¤"Ôñ…£dú‘¢XÈŽ‚úºp$j_ÈŽ’ê Gªb!_8Jª/©Š…|á(©¾p¤*ò…£¢^ G¦v…|á(©¾p¤*ò…£¤ú‘ªXÈŽ’ê Gªb!_8*êµpdjWÈŽ’ê Gªb!_8Jª/©Š…|á(©¾p¤*Ò…£‚ú‘™XGŽÙŽ”„:¾p”L_8R ùÂQR}áHU,ä GE½ŽLí ùÂQR}áHU,ä GIõ…#U±/%ÕŽTÅB¾pTÔkáÈÔ®/%ÕŽTÅB¾p”T_8R ùÂQR}áHU,ä GE½ŽLí ùÂQR}áHU,ä GIõ…#U±.%´-© utᨾpd$Öñ…£dú‘¢XÈŽ’ê Gªb!_8Jª/©Š…|ᨨב©]!_8Jª/©Š…|á(©¾p¤*ò…£¤ú‘ªXÈŽŠz-™Úò…£¤ú‘ªXÈŽ’ê Gªb!_8Jª/©Š…|á(¨¯ G¢ö…|á(©¾p¤*ò…£¤ú‘ªXHŽÚŽÔ„:¾pTÌkáÈЮ/%ÕŽTÅB¾p”T_8R ùÂQR}áHU,ä GE½ŽLí ùÂQR}áHU,ä GIõ…#U±/%ÕŽTÅB¾pTÔkáÈÔ®/%ÕŽTÅB¾p”T_8R ùÂQR}áHU,ä GE½ŽLí ùÂQR}áHU,¤ G m GjB_8J¦/)Š…|ᨨב©]!_8Jª/©Š…|á(©¾p¤*ò…£¤ú‘ªXÈŽŠz-™Úò…£¤ú‘ªXÈŽ’ê Gªb!_8Jª/©Š…|ᨨב©]!_8Jª/©Š…|á(©¾p¤*ò…£¤ú‘ªXÈŽŠz-™ÚÒ…£„¶…#5¡Ž/%ÓŽÅB¾p”T_8R ùÂQQ¯…#S»B¾p”T_8R ùÂQR}áHU,ä GIõ…#U±/õuáHÔ¾/%ÕŽTÅB¾p”T_8R ùÂQR}áHU,ä GE½ŽLí ùÂQR}áHU,ä GIõ…#U±/%ÕŽTÅBºpTP_82ëèÂQ"Û‘’PÇŽ’é GŠb!_8Jª/©Š…|ᨨב©]!_8ÆÛ9máH¤-ß<È.É´Ðÿ¯nWûÙŒ}û» µ£ýožrŒûõ@óŒ_™ý|h‰—Çùé¿Ñó¼Ö¸ôñ"ö7endstream endobj 883 0 obj << /Type /Page /Contents 884 0 R /Resources 882 0 R /MediaBox [0 0 609.714 789.041] /Parent 750 0 R /Annots [ 886 0 R 887 0 R 888 0 R 889 0 R ] >> endobj 886 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [119.552 677.798 205.618 686.71] /Subtype /Link /A << /S /GoTo /D (PGTCL-COMMANDS-TABLE) >> >> endobj 887 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 677.798 537.983 686.71] /Subtype /Link /A << /S /GoTo /D (PGTCL-COMMANDS-TABLE) >> >> endobj 888 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [119.552 612.168 232.447 621.079] /Subtype /Link /A << /S /GoTo /D (PGTCL-EXAMPLE) >> >> endobj 889 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [533.001 612.168 537.983 621.079] /Subtype /Link /A << /S /GoTo /D (PGTCL-EXAMPLE) >> >> endobj 885 0 obj << /D [883 0 R /XYZ 71.731 729.265 null] >> endobj 10 0 obj << /D [883 0 R /XYZ 203.035 703.236 null] >> endobj 14 0 obj << /D [883 0 R /XYZ 235.902 637.605 null] >> endobj 882 0 obj << /Font << /F23 749 0 R /F27 756 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 894 0 obj << /Length 2079 /Filter /FlateDecode >> stream xÚÝ›[«¶†ïó+r™Hë‡ÀeO[»ªÚ½ÔܵÕa<T ³:ÿ~ÆØ‚=«K–¦æ"„ÃçÇöûÚ‡¬1ü‘uLPÌàƒ&ˆFá:?¯ðúWþ³"ÃA!R8^¸¸ YŒ’=[ïŒßV_ÿ@Ùšb…Éúð¨KÁ Q­¿m¾}Ê.o¶;ï7ÉÏ˩˷oJùu'?æ¹oŠê¡¨NòËOÅ–lŽMaÞ¼nÿ8ü%Çë%1ÚSÀ¸x(X”±Xˆ7E+>É&“_ò<Ù\²üÏìÄåÙǺ‘gó²àU'O^šúÔdçáù®âUP£Ç- d9——> >É/ÿ«ÛîÔð_?ü$ïoyó²%á†7-’wüwˆÎþaøPÀ”êÇ¡È'.j °#%Ð?¢n×*ÊÊ¢{…&Ÿeq¼<ËÃL4çË–†›¬(.;–\^¡ª%ÄA›7Å¥:Ù²lMbDI(šv§Ú6AA_>Aª'yá²S^ .ªøIDX}ÐÊ!$A!`‡ ƒ®YTÞNݳ3n’â2ºxHp¶{¬ªE£ Ù‘›âÃ%qì.~¸Ç]|º‡kfñ§B4®ìÚV Ä›¬’(µ89tºh*š¦¿Ã¼"ï}Ü_Êëó9«ZyzÒ}ª’1ˆO^îõä¹Ão‡60cN3œ~ࢋüAž¼6PjÓKkÇ k««A×cËŸ¯½Ä÷ ØE©„ѱu@žd’¨nI¨¡6è4<.=)¿Uœ6½…8}ñ¼úí¼~€Žûq…KöëOpŒI’õyÀðƒi8|/W¿®>|Áªx᳨•­àþ! aäÑp÷4Š¡h"s¸%E¡ÁY²é1&GKÙ*óF¡ ¾ÔhDûr6ÌÉF#Šö$0Ù~Îμ½ô#žp¾•% b˜ùAUÁœ¨¦(š´âw\Žg0BÎñB;‰÷~ðèåˆFë|ìß.U “ç^71L£{hâh¢T"âh?̯óºªxÞYÕªú«NkuB—¦<­Px£@§x“ÜdЧAW_x¥æèþc@-Ô¸«&h95˜)ÌãUÔj4Ñtòš|n%ú»C«¦ƒ=l5vŠ:H ×Á±õñ¨k›¦€_ާEíÂSªžâ¥é2Ÿ¢>­ê9ß‚¬M¼†wצjgÒͯM#ˆÛ4vTý× o¯åd<Á´RòÖ¦r/U|w™{ºƒ(D1Ý2öÐ_–yѾ1|A=Œß.D-õ "HÝʨåîƒq”ûŒqIîb^Ö-ÿÛÃ8 à*û· ÜG¥îlg1ÜFÝ"ŒšÉÉÌ`Xi­ÃúÍZâH™£Ø(µÈ}PŽ"ŸQ.‰Ü€<ñnYÛuŸ_ƒ½x”úæE3íI ªÙ/™,UUKßGUïll§É`våÓE$QÊçñܪxÍǘnGÓzŸ ¥iû\.ái©{À•>Å[ºA×r¥a=˜ËÜ7rû0î¡.ïþ†„¡G?³ÃÝ6)³=Ü&£Ùµ ï08ŒM-¼4ü’5ܺ,bÄýrJ­j¥–õ„2M˜J^0µºç˜Kò6(oä݈u½¶›Ê»_Ãý«×u~ítrs;˜ëºJ3tYÇÏä%¿*`Xx(k²3ïxcÿ½4Ñ}¥>,„a$tO,ŠQ˜0ešáeÊæ–1 ‡¤Ç…§Ü2ÅKÓe>m|£Mf| 61ñtº#^²›s6æ;Ù±¾vvCLf‹å j‘û¨à}%9ŒE'Ä-rh>¬×[^:Þ]xòÖ¸IyÎ"ž–¸¼Qâ3¼%‰te]_† ~úŸ(3»1—cÔ‡yfæÕ*m{÷¤gpœ§ñÃèòƺ:£ …do&=böµ‰{ŒècwðiqOødº³¨åíp”÷ pIÞßM¢#;}M•/¯YYJðœ\×ß4‰=—ñÑ ÷åÃ0¹×)i"ŒCå…êZ–_²òÊ?¶]#v„X\aÄöà ©rÅ”4Mç¨ÛÙœlñ‚«=2Ç]ðˆIÛª,ghÒÉ;ÀQË[¬æ«¿ß#*p TtÁ*r¯T¿U)Ôß°Œ—F¹3Ë„¸?pZ&ŠPè•ÏçkmŸ<Œx>lâ Ó6™Ð¥é"ž¶…¼Ñ3¼%[t¼Í³ËtEß4ˆ¶@Qå嵕oA"¶ƒÕ vè·MÞŽíº÷Që;Ó=h³Ä­{±)1×=ûî{kšãúпƒRëB É“ SûÀæèƒæ’ Ê‹*SƒøÜ·Ò7 "÷KsËÜ0—¸lá£îk5ˆ$éR÷*Å Î(šÙâøÚñÌæ #¬W¸ µ+&Ú‹”JÇ^(µ)æ”K¦0 ÿ)¦ðÒwfŠR[â^"%{ =¡—H¯ÕgÙb ìÃLe‹)fšº9µ1|pŽÆ˜q.ÃÄTˆŸg¦>ˬi¾³]šä˜årGüíÎRm•}wxýÇë{‰„zûOY´¯¬ºãyø‡š‹NëÞ¤KÓe<-wx£ÜgxKréô«³zÈŸ²ê4Û”•e/dÇlµ¯UþÔÔU}^—«º+~ǘæ™Ú¸<Û.wæm+öß[á£Y|¼EŒÁ†ŸŽÄbŒ-þøbøÉÐ.؃ŒÆï1„1Y·ô?@¹mùû¤1Œ*éÿè÷›6endstream endobj 893 0 obj << /Type /Page /Contents 894 0 R /Resources 892 0 R /MediaBox [0 0 609.714 789.041] /Parent 750 0 R /Annots [ 903 0 R ] >> endobj 903 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [119.552 591.578 156.977 600.489] /Subtype /Link /A << /S /GoTo /D (PGTCL-COMMANDS-TABLE) >> >> endobj 843 0 obj << /D [893 0 R /XYZ 71.731 718.306 null] >> endobj 18 0 obj << /D [893 0 R /XYZ 433.85 703.236 null] >> endobj 895 0 obj << /D [893 0 R /XYZ 71.731 692.184 null] >> endobj 896 0 obj << /D [893 0 R /XYZ 71.731 692.184 null] >> endobj 897 0 obj << /D [893 0 R /XYZ 71.731 692.184 null] >> endobj 898 0 obj << /D [893 0 R /XYZ 71.731 681.855 null] >> endobj 899 0 obj << /D [893 0 R /XYZ 71.731 681.855 null] >> endobj 900 0 obj << /D [893 0 R /XYZ 366.475 673.5 null] >> endobj 901 0 obj << /D [893 0 R /XYZ 183.75 660.548 null] >> endobj 844 0 obj << /D [893 0 R /XYZ 71.731 658.391 null] >> endobj 22 0 obj << /D [893 0 R /XYZ 181.702 615.294 null] >> endobj 902 0 obj << /D [893 0 R /XYZ 71.731 606.471 null] >> endobj 904 0 obj << /D [893 0 R /XYZ 359.871 593.735 null] >> endobj 890 0 obj << /D [893 0 R /XYZ 71.731 578.626 null] >> endobj 905 0 obj << /D [893 0 R /XYZ 71.731 540.903 null] >> endobj 906 0 obj << /D [893 0 R /XYZ 71.731 540.903 null] >> endobj 892 0 obj << /Font << /F23 749 0 R /F27 756 0 R /F32 763 0 R /F36 908 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 911 0 obj << /Length 2462 /Filter /FlateDecode >> stream xÚÝ›]s㶆ïý+t)w"„~è®›¦™d6i3q¯’Œ‡’`™]ŠTH*»þ÷=ø)N¼˜ºõìÌšŸG÷@0^Eð/^e1ÊüÁÂ)]íO7Ñêg¾¹‰ÕuÉÆ¹æÝÝÍ—'dU "%«»‡É)в|•ŒrŠWw‡Ÿ×_=–çu·L£uŒäßóqØ×|3^oä‘;¹­ßUÍá6^WÍQvÝmL×e÷tûëÝw7_ß&J2Täd;‰s”pî8F„füšßn~þ5ZàÚïn"DŠ|õ¶#Åêt“àE˜ªýúæ§›_p‡þý~˜¢Šgî‡ÅM„‘[êêq€/…ÝdFYbK;¥cŒ R¬²ˆBU%²ôÛÓ©„”¦Jp¶r½N[„Ã)H"NFp?”'ÖŸË=ƒšÎò9VRˆD$ «¶ÈšÀ¹t\Žcý¾«ÎCÕ6×*,PÌE‚/ŠNq ;/ª#;œ£8þÃ4êê9Ù¥Y‚¤†¥çÓU…•ºªK‹¿xa÷ms¿o›†íy‰Ý×mßÏIІ~9§Qà§àˆs»‚Þnâõ5¬–MX#Á ,ðOè°ölía«šÒýcÙ™Ü.Õ¡²®wåþƒÜ{€+á1DUDcçÒ0Þš~:óƒºÏ€Ü÷U—VyˆÐ"ßÈÛþûMrXo$)œÏ–Í⋬;zÖ~»°ëÍ˜ÂÆ áŠBc‹áv;‹h¬Ñza‚è3ƒCXõý…éTâ^*šÿÇö›~xª™Ö5ïP ™8xŒPöOÍþ±k›öÒ×O³rñ”¯®÷$FT÷|uõ¬Þ#hè3!ˆ&É•ÞïÏ;—›MHœà/GµÂ_@5¡:ÂW¬¼C`³II^ë‚ ¯Ï.GU€j¹]QË#ƒ‡éyß‘ë¡õÁuÏe÷(¦ºÄ^?”;±fK}1Š$SýÕð¨î+;Èí íŸïGBÜÈXÅÿ»±hJPœç‹Æ¢4‚¹öÕ‘ ë/õ0g''d;-j;·ÛYB­ù „Æ@SBÀý#ÓÉ’N}$¬òÎCמ<2ŸôâRÑ!ùºÙf}äùßVBE 4 ]öP 1”ª~wég³)'`€lj ϸ`„·ÝúùŒBðYLø|pð@÷ Ûy¦zêAxd“‘ôV¾Gõ»[­ù«^¤Ý³¾7S:ªsñ¦—Æ!Êäù"‚\4Å˾€¿q„µ/vu»ÿÀË}Î6dg,gŒ·Û9Bã„ÖBŸ7@3èVŠ=”C¹+{æ6 û@–µc¾, r#= jžy4 oÚFsg}¢<ÞÖ€$I¡©(–󦤀´9/´/öe³gµÎgÌáÄ <-QjsŒ)·ÛEL-ê ˜Æ!SLC\J;¼ÿ³í‡cÇ~úñ½rÍ29a:qôGh¯:šK×ñÆuöµ÷Ïk)WW}g$P4$]ö…V›|ªnï÷+ç­aCxo°h¬1Ünç+BZWL}®pÙx$]—Ýmœ¯õŒm»û7t³"ÿê¼ÀJB‰˜Ï{dɲˆIŠ(¯#âöÌšY Ûˆ!4¼Àg4<âö ‡´žú$ìð °— 8úÿ†€ƒµÂqŽ¢xyÚ4ÁÐÙì·quÛ³YÛ!¼h<”­°ÐH8¡•ð„Ð'aP’½\Ã!ØßX&…œ@ ·¨áˆ";ó¾pvºß BÁ xFÁ.ž°Ïè7ŸÕï„ϧ_‹'¸ì<äËuâÞV[LòåÅ¢ŒI^ <Ëìªa¶)¶èxOËxŒ'tìåÓÚ Ágt<áóÈØÅ“\£ Æ—È8ļzk,¦c’@ó„æˆdË H– gŽŒëž±³2¶!Ì.!…½„FÈ!­’'„>);€̧äsÛWv"°šËœ¯g3žÑ|ˆ‡}c¢Çв¤Ëã@’P”Gn2°ºžÕ¼Bó |Fó#>¡y ‘|@+ù  Oò_džK×ÌÌÎé·E𵻓9?%õ‡ÏhüCÁÛÊÅI íR´ü6Ú-„‹Ø1Â¥©«f¾ù·1C¤1 „Æ #Ba?¢1CDk† ¢Ï áÕìsæõ‚À¿-ã"GÏLë‘(F.W§sÛÍNNÛD¼Àg4<âöjÙ…4žúìð)°çìx&Åú—(Â5›“wˆçz[Mœ(™å‘&Îù]w¤É>-ÊÛÆ ¡ïB-ð1¡¸Ñ<¢UøÑ#q—P­oÿ2Ÿ$óψ<ij½nîê£Ìÿ²W_#D@å{­»GQ,órI °ð_äU£ŠŠIbu•Y·!i±.;¨’ñqÓÀº‡ÛjbÏÔI^7üœÈ=ù§ùq]üÔ+!Ywfò2?jßJ#yâN‡z¸4bù†ºsð´u“FˆBúè¾°>°¾:6|!,¡‰„¢t}ªNÕ^nò¼WÄ…í²)ëö(–àò]®'8[«³ýS?°“Ü8c à;Šx2XÂÝ6‡²;ÈÃÿjªOò¸Ré$d2.D$Ï{ëmœ/UŒ~¯êâuÿØ^jÁEøšqìÒË2Âb1°|ƺVMC[Z¨Àï¾þæÛ®ó)}Í—×A@¼í«|ÿý·w×!ëCW6}©–ìpH±àF?Á¾„‹×Lî« À¼êŧ_êsh"TäÙHr”$ÖIÅz÷tÊßèÆxäýîo LSx¨T]Xõ2bÛˆ…¦°õû-Õ•øªAy ˆ`CÏ`ÃÏøQñÌZeÈS)AQžŽÐlþ2†K3D U—ªU“h"é¸5°}ÅøkQ^Ì(ÏÈH‡§Kïù]£ÄÔâN5áRkã _¹çЉ|®ÌÒâ9%V‹#™™_ªè1áe„ùêK(‚z "ÚÐa"[Ùa$¿ˆ|ß–¹Fvø7³|Ye-wÁç­Ü‹ÿáï_ÏçºÚ—úʼn3”cÞñLj¦²0(G‰ý"—âðÍó´"¾Îå{Úñ_Èݧö"7D5‰­º-•ã_+ƒ£ET««®vòÓßk¾ÊÚË:þ½¯øù ú×ãu'wî4bi©SU¯î½Zw­>c†Ö'—ŸõÌ~èl/¹úΙ°Ld¢pd<÷qòõ/ý,‘” endstream endobj 910 0 obj << /Type /Page /Contents 911 0 R /Resources 909 0 R /MediaBox [0 0 609.714 789.041] /Parent 750 0 R >> endobj 912 0 obj << /D [910 0 R /XYZ 71.731 272.818 null] >> endobj 913 0 obj << /D [910 0 R /XYZ 138.726 262.855 null] >> endobj 914 0 obj << /D [910 0 R /XYZ 411.002 262.855 null] >> endobj 915 0 obj << /D [910 0 R /XYZ 462.199 262.855 null] >> endobj 916 0 obj << /D [910 0 R /XYZ 119.552 236.952 null] >> endobj 917 0 obj << /D [910 0 R /XYZ 309.081 236.952 null] >> endobj 918 0 obj << /D [910 0 R /XYZ 338.75 236.952 null] >> endobj 919 0 obj << /D [910 0 R /XYZ 168.664 224.001 null] >> endobj 920 0 obj << /D [910 0 R /XYZ 388.526 224.001 null] >> endobj 921 0 obj << /D [910 0 R /XYZ 473.425 224.001 null] >> endobj 922 0 obj << /D [910 0 R /XYZ 119.552 211.049 null] >> endobj 923 0 obj << /D [910 0 R /XYZ 190.844 211.049 null] >> endobj 924 0 obj << /D [910 0 R /XYZ 220.512 211.049 null] >> endobj 845 0 obj << /D [910 0 R /XYZ 71.731 205.88 null] >> endobj 26 0 obj << /D [910 0 R /XYZ 377.491 160.814 null] >> endobj 925 0 obj << /D [910 0 R /XYZ 71.731 148.376 null] >> endobj 926 0 obj << /D [910 0 R /XYZ 175.28 139.254 null] >> endobj 927 0 obj << /D [910 0 R /XYZ 325.608 139.254 null] >> endobj 909 0 obj << /Font << /F33 842 0 R /F23 749 0 R /F36 908 0 R /F27 756 0 R >> /ProcSet [ /PDF /Text ] >> endobj 930 0 obj << /Length 2174 /Filter /FlateDecode >> stream xÚ¥YëÛ6ÿž¿ÂßÎÖ¬HŠzÜ— ½»^rÒ41(Ú"%®-¬$ºz$Ýÿ¾3R–,í¦ˆøÎ ‡¿yyù&€|sKøˆ”‰HmòúE°9ÁÎ_pGFJÀxes¯dÌÒDnöß^|óˆ7)K#¹9Üo8O™q0†›CñÓ¶1mUÕãn/T°-L£iô¥ìÏ4êÏz÷Ëáß|'£M¬"d•*ÆSTy\²ü!;ÁÁ(¶­þu([wd*=‘Œ'‰;’›ºÎš‚‘ˆ×ºubËŽ¾YC_½ãjû[V_ªßê.Ùs±$Î"ž>­¼?õy…C¾åL!;{PÁÁ½,å៹‘‰Òݨ2Yʇ©\·X(YsG\/V“ÏÞQ…ެ;g­.ˆ)i³öq©í®„`#¿u vƒ=:°YQ”}i𬢥C^an íµÍzÚã[ƒð8bQ`â`À Y¤E*`nîñ>qK@–Júïׯ(9X‚ϱÈ÷;*÷š&N1¼HfޏÀÏ@°ÅÙI76»uƒËÃéMSŠ˜}zdósˆJß¹û´´8t+÷‘.£7âÕ°ö#ZM¤>€X o|œ/¹-ô¥Õ9À ¸sÌ5mä¦éËfp3|bKnò¡¶ÎÖ;>î{^4 ƒ²&_ fNrÔ %Ê[A2zL¢mé˜Â°¶—‚³®.4*Ú*ôa=œNtYܺwìH êL­i©ÕYgš» …`ú ü³ ,‘ÞC­Q¨}Œ²uI·Þ‚[îj6b.±$¥dq8²SàÜ‚fÍï ÉBB„ >â]C €ˆXÐZ¿ðÖ÷ÿ&GpÏŠë ¬Ø)[´é2.%¯…Ïõ¬3+š@ÔÒçc›‚žEõ‹äk,<+ª-êIÊÆßÎ%*0y’h´[sj³šP‡½%pÀ*~>ö@¤‡ 1 >»½R U 6ŒÒ6´>4•î:Ú±„‹Ýc×ëú;¥¶n«xl²ºÌieë–6³jû¥sbÎ6ÆYnÆS›'Ù´^"d™Ãy(fVz¦^‰X(oÊNB½ ¹Ë· ŽÑüLJëcRGRrwXn´?mãMèòŒihßÖ¤K`@*æã‹¸îËÓŠ¢XyŒÞ{0€q§{'×ú. ÆÁÿŸËÖ4àK=‘}F#gm™«5» ¬AÄÔ£ßþûÓÛ7ß~xõáÇOï_^¯•€Ei ûÊ‹Ë?‡‹Y­û7p“Äø3ŒÅEô4î«ríqWqâÿŸUƒ~;ž™é1;óàŸü…kFÓk¾øÏaüyßýu ”@§³öû¿£Ø_Iì¯ÿPŒ1LAU@þ †,ø­ ÿg„¥¤ßnÅxendstream endobj 929 0 obj << /Type /Page /Contents 930 0 R /Resources 928 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 931 0 obj << /D [929 0 R /XYZ 214.744 708.344 null] >> endobj 932 0 obj << /D [929 0 R /XYZ 71.731 696.224 null] >> endobj 933 0 obj << /D [929 0 R /XYZ 71.731 685.317 null] >> endobj 934 0 obj << /D [929 0 R /XYZ 248.201 663.811 null] >> endobj 935 0 obj << /D [929 0 R /XYZ 167.911 650.859 null] >> endobj 936 0 obj << /D [929 0 R /XYZ 516.463 650.859 null] >> endobj 937 0 obj << /D [929 0 R /XYZ 197.39 637.908 null] >> endobj 938 0 obj << /D [929 0 R /XYZ 71.731 630.77 null] >> endobj 939 0 obj << /D [929 0 R /XYZ 349.946 619.975 null] >> endobj 940 0 obj << /D [929 0 R /XYZ 71.731 607.856 null] >> endobj 941 0 obj << /D [929 0 R /XYZ 369.456 562.491 null] >> endobj 942 0 obj << /D [929 0 R /XYZ 119.552 549.539 null] >> endobj 943 0 obj << /D [929 0 R /XYZ 426.538 549.539 null] >> endobj 944 0 obj << /D [929 0 R /XYZ 455.434 549.539 null] >> endobj 945 0 obj << /D [929 0 R /XYZ 484.33 549.539 null] >> endobj 946 0 obj << /D [929 0 R /XYZ 71.731 529.45 null] >> endobj 947 0 obj << /D [929 0 R /XYZ 140.609 518.655 null] >> endobj 948 0 obj << /D [929 0 R /XYZ 119.552 505.704 null] >> endobj 949 0 obj << /D [929 0 R /XYZ 362.152 505.704 null] >> endobj 950 0 obj << /D [929 0 R /XYZ 119.552 492.752 null] >> endobj 951 0 obj << /D [929 0 R /XYZ 119.552 479.801 null] >> endobj 952 0 obj << /D [929 0 R /XYZ 71.731 472.663 null] >> endobj 953 0 obj << /D [929 0 R /XYZ 71.731 472.663 null] >> endobj 954 0 obj << /D [929 0 R /XYZ 329.162 461.868 null] >> endobj 955 0 obj << /D [929 0 R /XYZ 152.806 448.917 null] >> endobj 956 0 obj << /D [929 0 R /XYZ 71.731 428.827 null] >> endobj 957 0 obj << /D [929 0 R /XYZ 476.593 418.032 null] >> endobj 958 0 obj << /D [929 0 R /XYZ 267.699 405.081 null] >> endobj 959 0 obj << /D [929 0 R /XYZ 198.116 392.13 null] >> endobj 846 0 obj << /D [929 0 R /XYZ 71.731 384.991 null] >> endobj 30 0 obj << /D [929 0 R /XYZ 322.815 341.894 null] >> endobj 847 0 obj << /D [929 0 R /XYZ 71.731 338.064 null] >> endobj 34 0 obj << /D [929 0 R /XYZ 168.343 289.387 null] >> endobj 960 0 obj << /D [929 0 R /XYZ 71.731 276.949 null] >> endobj 961 0 obj << /D [929 0 R /XYZ 71.731 276.949 null] >> endobj 38 0 obj << /D [929 0 R /XYZ 158.616 251.369 null] >> endobj 962 0 obj << /D [929 0 R /XYZ 179.328 231.245 null] >> endobj 963 0 obj << /D [929 0 R /XYZ 71.731 229.088 null] >> endobj 964 0 obj << /D [929 0 R /XYZ 71.731 229.088 null] >> endobj 42 0 obj << /D [929 0 R /XYZ 183.334 191.872 null] >> endobj 965 0 obj << /D [929 0 R /XYZ 71.731 178.94 null] >> endobj 966 0 obj << /D [929 0 R /XYZ 254.047 170.254 null] >> endobj 969 0 obj << /D [929 0 R /XYZ 334.744 170.254 null] >> endobj 970 0 obj << /D [929 0 R /XYZ 404.682 170.254 null] >> endobj 971 0 obj << /D [929 0 R /XYZ 200.249 158.597 null] >> endobj 972 0 obj << /D [929 0 R /XYZ 237.908 158.597 null] >> endobj 973 0 obj << /D [929 0 R /XYZ 275.566 158.597 null] >> endobj 974 0 obj << /D [929 0 R /XYZ 329.365 158.597 null] >> endobj 975 0 obj << /D [929 0 R /XYZ 367.023 158.597 null] >> endobj 976 0 obj << /D [929 0 R /XYZ 431.904 158.597 null] >> endobj 977 0 obj << /D [929 0 R /XYZ 464.183 158.597 null] >> endobj 978 0 obj << /D [929 0 R /XYZ 491.826 158.597 null] >> endobj 979 0 obj << /D [929 0 R /XYZ 545.624 158.597 null] >> endobj 980 0 obj << /D [929 0 R /XYZ 626.322 158.597 null] >> endobj 981 0 obj << /D [929 0 R /XYZ 696.259 158.597 null] >> endobj 982 0 obj << /D [929 0 R /XYZ 254.047 146.941 null] >> endobj 983 0 obj << /D [929 0 R /XYZ 367.023 146.941 null] >> endobj 984 0 obj << /D [929 0 R /XYZ 436.961 146.941 null] >> endobj 985 0 obj << /D [929 0 R /XYZ 71.731 135.571 null] >> endobj 986 0 obj << /D [929 0 R /XYZ 71.731 48.817 null] >> endobj 928 0 obj << /Font << /F27 756 0 R /F36 908 0 R /F23 749 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 990 0 obj << /Length 2852 /Filter /FlateDecode >> stream xÚ­Ûnã¸õ}¾"ÖbŽHêšE¶í¶;ÛvvŠÍ¢ÝbAÛ´-Œ,y$y2é×÷Ü(K¶’L"H’ç~¡õMú&Ó*³0˜B™4¹YÞD7;øò—7Z0–‚²áüááÍÛ?[{S¨"µ7Û›¸Ð*Ïқ̕'ææaó¯Åq÷Ûº©k¿îoÿýðã›ï†#›©"·/Þp®®5öFÇÊÆ)Þ«u¡¸/‹2•Çšîý“ïÖmyì˦ƋÐô&BiCt³4‘Ò&™!ÎÎÎ,%©2y±9úº»]š$Z8d^B뾑qïyòáV/š®ßµþçüAo?ßêdáÛÛ$Y(¼å{–øµ,¹‡}ëákâE÷T÷î mêâZú”!&Z|¾ÅYYÁenUyÅŸÞÕŒKÄऩ6p)OkÇXÞ­÷ ;6]WÂvÁ`ÙÑ|ïºpÓã®uý f÷Xöá¼²æMxÿœ ´QŬ•\¨ S‘*X7‡ƒ«7Ä¡qœ 5µGa<2£v±mÚÃOñe½c&íˆt»èú¾ð¼1w§ã±*ý†¡ýÞõ<[;ÙT÷®2§ª/ÑÂZeÒ™S-6$7FAmÕÉwФ©í§l7ÞêÎÖ‹.  >ªãà{ßÊFjøxq¥\¸®xR•]¯®µd£\%ƈðEK¿uÀiw­ªÜª4Ï‚ªœ°¹iØÂ(ÅŸ:îØuZz ²—0´¬QdÜ‹³¹Usê/üm⎌Á,õ.œu±id2ä äm"I £a‘X¢ý» ܾ„ؘKÛjsúÞ#ö#\‘å`kO•8ElÎòC§Ù›Bl<â'¡ýJ9õ aã˜ñ’¥Féì"”A´DÁA„À‹ëÝÊužWã(‡ëSGŽ‚S’a´@Œ>ÁÔ#€M¶fȶmç}W -…Ä±Ì abr°%&Ç. ΔæÉâ—º*Åa`2©øÂà’@ðSç€Ð¬šíŒ !ù™(ŸzÁ|¬²*+âŸø§—¡¦Dˆ¸—ƒ%€±@úÒ`[ãpÄ!e±å0J“ÁÙyÙùž'äp8Y "YÜ—ÞƒÇnÑyONƒ‹Ö:•óhûÞÕ;Ì/tYƒcºðå-)«‰ &U…Ùª\w=„“+™Ä™²Yì®=3ÃLg3Šl€à¶z"Ê’$£³?á4ÇiëÚ§Û4AñâÇ®áñ„ÖŠ( A¼0X6¡³âqúk”DHâ”àÁ¬!3’Ø ‚_Ë M½9TÍú£•/\íªf±ûùܦ/ìå·®wíŒÕädÓ`5Ýf,0¥ÂêÒ;6ÕŒÄóDÎ.µÄ=‰ÇÖo}Û†À»mÚI”@Љo|®nŽm³Ó;‘ötž‚û‰AVê «&;í8º›|H®8';5&#;E€?û'žR€‘´‰ Ò²:3fžp|Èyw >àØ²ŸÜ“Ÿ“4aÕ~Œž/Më/N$æ¦Z/ë̫ٹÂÙÅê‰Áû²÷ÝÑ­©À÷\\ÁŒÎÆÊ€ü–Ï yQÊÁTJd¡f˸~¹¶Sä*Š‚S}ôO Ö )dÛßóð™’ü¼i„p)D¢<Üæ%ƒKæ*‹ôÄ%ÛË=Ì]$Õ,´ QUK’,b2âÅWÑ›æB”ép»SÛ6àÿü‰4 ã#ÅOB–â q?š^6‚ ©º› RI¤¢¡$¹s+ceãFBüf&¤å*ÖùYŠ&Í?Ê`ΔñÜ30Y¹õÇ®rÝ>|A®È*aεH:%,§®—í¾Æýæ|„\sqɯKåçIJÆ*þUÛx†Wm¯Å¦ a<ÿgΉÔÁÔ9(ýLÚ—˜T?.Î I¹J 3̤»Pýµ“ÚÎU’âHå¤Îq'%¨k°.êÕS(5×Í®.ÿ"!ú(\!¹!¡àN²å`BÅþ~¾½¹ê˜nßCÿ7#ŽqñÆó=UéÆjJa8î±Ú%€…F;Tc¨xò޶PçÐ1dEtïÊZÖb+–*>DìÄjö4»£_—¿F‘!Ò/uùe¹i?éúÃáT—kZë‹VÂâžÄW`á@Á¢0‹‡?~xûîC''|ËßYÝðqlÿ'f ¾heHC¼ 9\i„M jí›ö‰7–B„f Å“³:Èç¤à~&à£Bû2gçzl>q1XÕ43Б¬fòP0muäa*b¼æLWhX®3@š¨8ÙÛþp¼¶1£U2tÎ3ÝTœà»y:±B4W·Ù´_g²Ðü´P&,Mž/H¿y±ÀݾëH* yAˆ{€°H°¼ä5›2 <° ¨ƒbµÚ0”âÀHHyˆ˜ˆÔCXrí&ñ92àè3%łȻU?“; D¬$ˆOgмBÐŒT1SöзŒò-"rH ×>5§–!(J¬>Œ/ M‹U'!øœÞ ø ãþ©°ÆEUEB| ¶,.3 Ïf_Ã((6êÅ­Ï£û{ÙûÂn·÷[¿YÝÇÅíÊzÆ& °®“Q*4öììô@"ÎŽŠæJRÞWp„È®%¨º'É“Ì÷^ð5uÿ\xpý yÌh; @C©9vÜ!¬]½/9úìùe.šØû/Ôù^[JÕXHnÏ;Pœ*‡¢ ârï½,™Ù®36tmôB1±ÊÎɹª*à;>Sžý´”ò.¼tò@ú %ÑJ!ÄñÀÞŠ8òt°ªi>žŽw¼àp*:Ÿˆò‰¡VÄš[Q«ÓEy@kwØP!˜Ê\G¤u á,…[ú’nD P*„ÇžÊòs:z&joã[BüúWûvåÛ¦ã³Ü ¤Q÷ã†Á­_΄승F‹C]–„ø ”ˆb §€m› |6=Þ }÷©p걂¹gÀ»•Œ0yòšÎu2‘9µïôÜè_] @¬Íë¦jUd‹á!Cú‚T]<ß‘¹¤ƒ¹¤ƒ¹$b. mÖPy‘î`1Ǹ®òÂ~•åéˆy`‡n ÍöâëPÒM3ñÒØLÙ¤øß²Ehîá‚ï r{”Ñàɯ„a«ò(œ8´”Ìu=×É€ËÑôíüzÁ¿L1¶á$šù)ªÜ Â·O/áçìîêç;4cuØüÝ?ýýû·ê¸CíÎü8ƒÅz>nÕÆ?•ËïPìæ:{ñçù3ÊÕ¯ó Ð(NÁ‹Ìs¿É_ßô_²¿zMendstream endobj 989 0 obj << /Type /Page /Contents 990 0 R /Resources 988 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 991 0 obj << /D [989 0 R /XYZ 71.731 741.22 null] >> endobj 46 0 obj << /D [989 0 R /XYZ 198.469 707.841 null] >> endobj 992 0 obj << /D [989 0 R /XYZ 71.731 697.698 null] >> endobj 993 0 obj << /D [989 0 R /XYZ 71.731 697.698 null] >> endobj 994 0 obj << /D [989 0 R /XYZ 279.601 687.716 null] >> endobj 995 0 obj << /D [989 0 R /XYZ 428.074 643.881 null] >> endobj 996 0 obj << /D [989 0 R /XYZ 71.731 623.791 null] >> endobj 50 0 obj << /D [989 0 R /XYZ 195.055 586.576 null] >> endobj 997 0 obj << /D [989 0 R /XYZ 71.731 583.384 null] >> endobj 998 0 obj << /D [989 0 R /XYZ 71.731 567.244 null] >> endobj 54 0 obj << /D [989 0 R /XYZ 174.521 554.894 null] >> endobj 999 0 obj << /D [989 0 R /XYZ 71.731 546.442 null] >> endobj 1000 0 obj << /D [989 0 R /XYZ 71.731 546.442 null] >> endobj 1001 0 obj << /D [989 0 R /XYZ 71.731 534.401 null] >> endobj 1002 0 obj << /D [989 0 R /XYZ 71.731 529.42 null] >> endobj 1003 0 obj << /D [989 0 R /XYZ 71.731 529.42 null] >> endobj 1004 0 obj << /D [989 0 R /XYZ 139.477 505.081 null] >> endobj 1005 0 obj << /D [989 0 R /XYZ 392.832 505.081 null] >> endobj 1006 0 obj << /D [989 0 R /XYZ 465.8 492.13 null] >> endobj 1007 0 obj << /D [989 0 R /XYZ 188.199 479.178 null] >> endobj 1008 0 obj << /D [989 0 R /XYZ 139.477 466.227 null] >> endobj 1009 0 obj << /D [989 0 R /XYZ 244.921 466.227 null] >> endobj 1010 0 obj << /D [989 0 R /XYZ 71.731 459.089 null] >> endobj 1011 0 obj << /D [989 0 R /XYZ 437.481 435.343 null] >> endobj 1012 0 obj << /D [989 0 R /XYZ 489.564 422.391 null] >> endobj 1013 0 obj << /D [989 0 R /XYZ 139.477 396.488 null] >> endobj 1014 0 obj << /D [989 0 R /XYZ 169.604 396.488 null] >> endobj 1015 0 obj << /D [989 0 R /XYZ 71.731 389.35 null] >> endobj 1016 0 obj << /D [989 0 R /XYZ 347.714 378.556 null] >> endobj 1017 0 obj << /D [989 0 R /XYZ 71.731 366.436 null] >> endobj 1018 0 obj << /D [989 0 R /XYZ 71.731 366.436 null] >> endobj 1019 0 obj << /D [989 0 R /XYZ 71.731 355.453 null] >> endobj 1020 0 obj << /D [989 0 R /XYZ 71.731 350.472 null] >> endobj 1021 0 obj << /D [989 0 R /XYZ 268.573 337.709 null] >> endobj 1022 0 obj << /D [989 0 R /XYZ 424.844 311.806 null] >> endobj 1023 0 obj << /D [989 0 R /XYZ 448.854 311.806 null] >> endobj 1024 0 obj << /D [989 0 R /XYZ 71.731 305.417 null] >> endobj 1025 0 obj << /D [989 0 R /XYZ 71.731 305.417 null] >> endobj 1026 0 obj << /D [989 0 R /XYZ 71.731 293.685 null] >> endobj 1027 0 obj << /D [989 0 R /XYZ 71.731 288.704 null] >> endobj 1028 0 obj << /D [989 0 R /XYZ 180.161 262.989 null] >> endobj 1029 0 obj << /D [989 0 R /XYZ 178.5 250.038 null] >> endobj 1030 0 obj << /D [989 0 R /XYZ 71.731 229.948 null] >> endobj 1031 0 obj << /D [989 0 R /XYZ 186.408 219.153 null] >> endobj 1032 0 obj << /D [989 0 R /XYZ 275.585 219.153 null] >> endobj 1033 0 obj << /D [989 0 R /XYZ 387.887 193.251 null] >> endobj 1034 0 obj << /D [989 0 R /XYZ 492.453 193.251 null] >> endobj 1035 0 obj << /D [989 0 R /XYZ 284.295 180.299 null] >> endobj 1036 0 obj << /D [989 0 R /XYZ 412.827 180.299 null] >> endobj 1037 0 obj << /D [989 0 R /XYZ 494.944 180.299 null] >> endobj 1038 0 obj << /D [989 0 R /XYZ 293.094 154.396 null] >> endobj 1039 0 obj << /D [989 0 R /XYZ 335.928 154.396 null] >> endobj 1040 0 obj << /D [989 0 R /XYZ 494.944 154.396 null] >> endobj 1041 0 obj << /D [989 0 R /XYZ 315.771 141.445 null] >> endobj 1042 0 obj << /D [989 0 R /XYZ 517.5 128.493 null] >> endobj 1043 0 obj << /D [989 0 R /XYZ 396.761 115.542 null] >> endobj 1044 0 obj << /D [989 0 R /XYZ 471.496 115.542 null] >> endobj 1045 0 obj << /D [989 0 R /XYZ 159.402 102.591 null] >> endobj 1046 0 obj << /D [989 0 R /XYZ 349.657 102.591 null] >> endobj 988 0 obj << /Font << /F33 842 0 R /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1049 0 obj << /Length 2001 /Filter /FlateDecode >> stream xÚ•XÛŽã¸}Ÿ¯ð£ ´5"uOÞ’ìl€Iºƒ]ä‚-Ñn!²¤%éíñß§ŠU´%Ë=ã Ñ0Y,’U§®”XÅð'V…ˆŠ~dÉ<[ÕÇñê+þ ˜cË,Û Ï^>|ü1IVUTåÉêe¿J+•E¾*•™\½4ÿZ‡/õÐ÷ºv›ÿ¼üåÃ/—#³¤ˆª2ùæ­gq­,®×ЬŠÒX®Š¸Œ’4õ×þ¼Iãuë^‡“Ûl¥k ½kCSE?¯ƒõëbÝ«£&Ú`n×TÓmíÑ?\ÝÑð­íàHž5ýädÛþÀ»‰Ò µbÎôíWZk†£j{¢Ú¡þïFÄkí"„  ÍW%蘣Ž[êÊ ~ÀÜC;Gœ34–ŒŸ‘q›¤ùº?Aà64uý^DOÒìBTa¸y‚Õæ·ÈÖ´;ó=ÑÒÀ¤«DÿwËNÓ!ŒT§|uº·íÐÓâ~`‘›-úl…ŒªLxMXPØf©Ùù{é•Y¼n”S;ey†û#þIïQ;uêœ%Š8î˜ß…c,¹Œ”½Y:YñzúwT¡Pò›³·u£ŸÿöÓ½ÛX–Èq½¨zŸ²öm0Íc¡Åq‡›f2쮨ðJ»¿Å2ø‡0ZIUß0²ãâpu‚ͽkk…îò Äì__\{Ô˜:Ñí¯êk{„¸‚[Óµ—AµŽfÞ«qpõÛ'"ø ‡_«kô Ö#…€Éâ7Ó:MSÅdE?®Û£Ï"þçé ùë $8ADDø§6‚ýÀ’ÙQ×ÛY€-Fl°ÂQ«žñêæéŒ=Ú7y¶ÆÓjý)0ð6¾/^]Ç£†}7¶?…0SLgäýd`7è û‡P=dp À¯F4ñ0úôñiÿ2ƒm»¶g)Ãî»þk1z7_\º°ÙdØCQæÜù!I?úÁlщÀõŽÚqž‚$Á,h}²4HÌ›Þ^µ¹É ìµco·‘`¼£rrãÉ‘ç=dk»ãÐ<𖽨"GðA^_3pÚh§ÍLã—3ÔÀ6Ìk˜uŸ(o¯Êm4í1v&ºw( >?ÿD„k°†#ºŽV¼¡ÒSà ®U΃ŽÇãEË€"ó—ba~ Êõ èøÃLæÝ'C#DÉþn ªH²¨‚«|‰k­ÚuwÀLã(Ís±p¦rNGG“¡ïÎ|{O”S¯ûÚœGÒ L)&Àüþž™‹q*XWsX±³ˆËµ3gßIá:z¬Á¦ 'Š÷ ýÖ ˆÌ³4‹«Xh„ÅŸç½)TÊÛÎÞÉMª'n>¹Â“)]nYö©–ïƒV’¢`EG£÷÷*80%U`ÂØ¥ŽK$àá—~ƒ‹ˆŒŒ.xaT0d@¾(ã+d0ñZÁ/iƒ9^¸Õ÷ÈÌæ!óDÅL óXq”‹tîï|ù$¥óÔ©Ð…›…ÄÁw \’¥ Ñ¿žZsß×EZÍ}S™9sŠ"?G©¸€ÜHàã]P^ÆœGeœÌs,â‘•³ö*É _ìnl;Œ¤¾…×.â@µ§Ûö'"ó+‡TX–êˬŒDù}õE$¥œGФ|}Å›½ñ¤Ü¯£§àÏøzš;´òy¿ób9+­¢L¸ßò¢ QŽG.m[D^wß q“,P4Ÿ‹+,V6œ†‘ìë’£I×îÆ_‰ív#æ9Ÿ5ù¢Í2‘¼»Tä.ä <…‹ôwɃu uðÿ©—dÞe5°«ßžÑ/…ëFŠõoˆÊ`æ]ûÒ$¹ˆò4ØäÝ:= 7«GæÐ‘1àSÉEèHQ!' $ñDs*Â¥¼å¥ÞOöPI•7] ,x¢†È1 õ™Èø©ÎÁ¿n"ZÖì'©\‚N9âóßøñÓ/wÂŽÔ#¬?ÚWx}œh³ÅË>²ê8Þ{ñè–²84 ûPñÚŸÃêiá÷•`¿}ö:úšqožðô93ºý’Í߯Ó2*¡ÙÿÖ×ó+Ëâãy–$Q_NAù“÷>™/oú3¢D]endstream endobj 1048 0 obj << /Type /Page /Contents 1049 0 R /Resources 1047 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 1050 0 obj << /D [1048 0 R /XYZ 71.731 718.306 null] >> endobj 1051 0 obj << /D [1048 0 R /XYZ 331.104 708.344 null] >> endobj 1052 0 obj << /D [1048 0 R /XYZ 71.731 689.003 null] >> endobj 1053 0 obj << /D [1048 0 R /XYZ 71.731 684.022 null] >> endobj 1054 0 obj << /D [1048 0 R /XYZ 209.484 659.527 null] >> endobj 1055 0 obj << /D [1048 0 R /XYZ 71.731 654.446 null] >> endobj 1056 0 obj << /D [1048 0 R /XYZ 71.731 654.446 null] >> endobj 1057 0 obj << /D [1048 0 R /XYZ 71.731 641.406 null] >> endobj 1058 0 obj << /D [1048 0 R /XYZ 71.731 636.424 null] >> endobj 1059 0 obj << /D [1048 0 R /XYZ 71.731 618.58 null] >> endobj 1060 0 obj << /D [1048 0 R /XYZ 71.731 618.58 null] >> endobj 1061 0 obj << /D [1048 0 R /XYZ 71.731 605.54 null] >> endobj 1062 0 obj << /D [1048 0 R /XYZ 71.731 600.559 null] >> endobj 1063 0 obj << /D [1048 0 R /XYZ 71.731 600.559 null] >> endobj 1064 0 obj << /D [1048 0 R /XYZ 71.731 580.658 null] >> endobj 1065 0 obj << /D [1048 0 R /XYZ 71.731 580.658 null] >> endobj 1066 0 obj << /D [1048 0 R /XYZ 71.731 568.455 null] >> endobj 1067 0 obj << /D [1048 0 R /XYZ 71.731 563.474 null] >> endobj 1068 0 obj << /D [1048 0 R /XYZ 71.731 544.792 null] >> endobj 1069 0 obj << /D [1048 0 R /XYZ 71.731 544.792 null] >> endobj 1070 0 obj << /D [1048 0 R /XYZ 71.731 532.949 null] >> endobj 1071 0 obj << /D [1048 0 R /XYZ 71.731 527.967 null] >> endobj 1072 0 obj << /D [1048 0 R /XYZ 71.731 495.975 null] >> endobj 1073 0 obj << /D [1048 0 R /XYZ 71.731 495.975 null] >> endobj 1074 0 obj << /D [1048 0 R /XYZ 71.731 483.773 null] >> endobj 1075 0 obj << /D [1048 0 R /XYZ 71.731 478.792 null] >> endobj 1076 0 obj << /D [1048 0 R /XYZ 71.731 460.11 null] >> endobj 1077 0 obj << /D [1048 0 R /XYZ 71.731 460.11 null] >> endobj 1078 0 obj << /D [1048 0 R /XYZ 71.731 447.907 null] >> endobj 1079 0 obj << /D [1048 0 R /XYZ 71.731 442.926 null] >> endobj 1080 0 obj << /D [1048 0 R /XYZ 71.731 424.244 null] >> endobj 1081 0 obj << /D [1048 0 R /XYZ 71.731 424.244 null] >> endobj 1082 0 obj << /D [1048 0 R /XYZ 71.731 413.261 null] >> endobj 1083 0 obj << /D [1048 0 R /XYZ 71.731 408.28 null] >> endobj 1084 0 obj << /D [1048 0 R /XYZ 382.388 395.517 null] >> endobj 1085 0 obj << /D [1048 0 R /XYZ 295.302 382.565 null] >> endobj 1086 0 obj << /D [1048 0 R /XYZ 471.529 382.565 null] >> endobj 1087 0 obj << /D [1048 0 R /XYZ 159.402 369.614 null] >> endobj 1088 0 obj << /D [1048 0 R /XYZ 321.114 369.614 null] >> endobj 1089 0 obj << /D [1048 0 R /XYZ 500.037 369.614 null] >> endobj 1090 0 obj << /D [1048 0 R /XYZ 194.619 356.663 null] >> endobj 1091 0 obj << /D [1048 0 R /XYZ 401.289 356.663 null] >> endobj 1092 0 obj << /D [1048 0 R /XYZ 241.424 343.711 null] >> endobj 1093 0 obj << /D [1048 0 R /XYZ 310.056 343.711 null] >> endobj 1094 0 obj << /D [1048 0 R /XYZ 413.856 343.711 null] >> endobj 1095 0 obj << /D [1048 0 R /XYZ 71.731 336.573 null] >> endobj 1096 0 obj << /D [1048 0 R /XYZ 169.601 325.778 null] >> endobj 1097 0 obj << /D [1048 0 R /XYZ 417.586 325.778 null] >> endobj 1098 0 obj << /D [1048 0 R /XYZ 208.922 312.827 null] >> endobj 1099 0 obj << /D [1048 0 R /XYZ 256 312.827 null] >> endobj 1100 0 obj << /D [1048 0 R /XYZ 375.061 312.827 null] >> endobj 1101 0 obj << /D [1048 0 R /XYZ 520.817 312.827 null] >> endobj 1102 0 obj << /D [1048 0 R /XYZ 205.609 299.875 null] >> endobj 1103 0 obj << /D [1048 0 R /XYZ 71.731 294.795 null] >> endobj 1104 0 obj << /D [1048 0 R /XYZ 71.731 294.795 null] >> endobj 1105 0 obj << /D [1048 0 R /XYZ 71.731 280.535 null] >> endobj 1106 0 obj << /D [1048 0 R /XYZ 71.731 275.554 null] >> endobj 1107 0 obj << /D [1048 0 R /XYZ 321.045 264.01 null] >> endobj 1108 0 obj << /D [1048 0 R /XYZ 71.731 256.872 null] >> endobj 1109 0 obj << /D [1048 0 R /XYZ 212.667 246.077 null] >> endobj 1110 0 obj << /D [1048 0 R /XYZ 454.67 246.077 null] >> endobj 1111 0 obj << /D [1048 0 R /XYZ 494.516 246.077 null] >> endobj 1112 0 obj << /D [1048 0 R /XYZ 159.402 233.126 null] >> endobj 1113 0 obj << /D [1048 0 R /XYZ 433.805 233.126 null] >> endobj 1114 0 obj << /D [1048 0 R /XYZ 208.413 220.174 null] >> endobj 1115 0 obj << /D [1048 0 R /XYZ 500.324 220.174 null] >> endobj 1116 0 obj << /D [1048 0 R /XYZ 159.402 207.223 null] >> endobj 1117 0 obj << /D [1048 0 R /XYZ 324.063 207.223 null] >> endobj 1118 0 obj << /D [1048 0 R /XYZ 71.731 200.085 null] >> endobj 1119 0 obj << /D [1048 0 R /XYZ 71.731 200.085 null] >> endobj 1120 0 obj << /D [1048 0 R /XYZ 71.731 189.102 null] >> endobj 1121 0 obj << /D [1048 0 R /XYZ 71.731 184.121 null] >> endobj 1122 0 obj << /D [1048 0 R /XYZ 159.402 158.406 null] >> endobj 1123 0 obj << /D [1048 0 R /XYZ 159.402 132.503 null] >> endobj 1124 0 obj << /D [1048 0 R /XYZ 159.402 132.503 null] >> endobj 1047 0 obj << /Font << /F33 842 0 R /F27 756 0 R /F36 908 0 R /F42 968 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1127 0 obj << /Length 1565 /Filter /FlateDecode >> stream xÚ½XYÛ6~ß_áGX1$uç--š(’1Z›EA[´-T–IEÿ{g8#Y²½É¶ ?9÷ð“ÕBÂO-b%b …‹íñF.ö°óýbY¼ Ï7ë›g/}‘Š4òëÝ"H•HâhûZ$¡^¬³»e½ÿc[•¥Ýv«ûõO7ß­Ç+C?iâVêÀs)6Z$ 6B±ÊOEÇ‹X&Â'ÖC¡Sf…E¹Ï^út D& 9Y»¼*pì¯Ì‘èødš"[= Áˆ'§çÇñ²«pL–}»RKKó]Õðæ¹N’hMêÝ{^¶5íT;ë}·-hº·¥mL——{âï@ÒE•£"¦ïª#pmMQ<¬¢p)аÔSZ¤¡rzÿ¶ ä2ïUßÁ)±†2\V5jw;£FÃõ0Ë[âC1kd3æ¯ûNJýi¥Â¥ÍˆöÄБzß¾/˜ìžo‰¸Êþh›|ËÒ˜Ët3#(¯œv:”K[f‚fëꇳ}¾ÒáòƒÓ„I#ÝTûÆ©†H˜®© ZTxŠŽ6gGÉŽiw¶5-®)¶ä}T; ’YîüˆÁ“%Jz Em@1Û¡\\:oÃØ—mm·9:—œ 4\Ž3šl«¦±m]•% €Bý!oªòhËŽˆÐ7¦Éͦà“ïd([ËY?­,߇ВWJ‘oê÷—¥áKøC5eÕ¶÷Èj?E¢Õ,õP Ã^J Ândð¦j»}cßþò3­¦ìMú)btúö`·®Dß(èPùª+¶ãîÜv§BKìeÅ,­å‰…ä„PÀ%·ãÕå•Lܬ´\öyÑy9?³;ÔÍôEÇÙgΓ¾EɇþB)¸%týE?u¸ð¢Pø!õ°×€†ún»‡Ij@¨tJžß\ï\ÃÅ“ä[?!¡3Ó™iy… Î¥9T ws¦‹Ë¬ñ®ˆôÙËN …ŽSÎdy¤û‚»Ñ+Wp7?ÑjÏHhm3/òjVÈO6rÀ««æKæ!Ë«þ¸‰ÿÎÀõ·o¸u¡²”îyÌV0s½¯e+‡²ë.MÕ‘HÒÁÔ‘cfc$Òxnâ ­"Ç:®×¿Ód7Pèq2ÅPcTw`êž÷û®îÙ˜]Sϼ2qBÈïââJBÛK{ƒDjèzx·m^Oyg–k`NçàáE–åS{ è†}ߘÓ+‚Ò]ŵóÀÕ¦=£üW3ýÿ-éH“Î0ö-(ĸ㬈Ôü9…*áb„J¸pÙ#C%œ0Ápáäb=´˜]JŽ>EG—؉A‘žB%u¢PI3TÒ× ’º•ôˆ…ô*é*©É¶aQ'¨¤*)„Jn=*Dèg]¾^OJ—8)H¿>NzìE bhÍ-1o°êg"„9ÒC«ÆnéɇyU2 dŒÂ¾‘98ñ…×ÔUD‘ã…‘ÕÆþ*V-{ë6/ªëJqÍ¿€æ…i¡Æ¢ª-z(Œ1 :ç#-N/2®¦ŽÄuߺdÇ©svhÄ“ *AÊ–HøÙ`9•D¡V9œ»l¬â´æÞ˜ºb<”Z¦#xl;®°õPŒ#Þm¹$Þ°˜VŸÌ¶ƒÊ‚ªßv¬ß󦡗¯oáâ-æÆ-†—Ô®"È=ˆ$ŒÎÚNíl»ªqå‚ky„!J—kú.“ή[šN>á(ó‘Ñв툠Ś>Üè0±å“ëc9~ÑIF¬àdZÖ& )ãL9xìXöùý8–1‡âî”×*´Î,ÓÞPTÐ ^!3Áœ…”4Ë6+O±º¸î,¨NÝ_C¢©¡ÏZ\}šâX„>b„ÞØñ™¦1t¹ƒæC9æå®¢Õ_έ¨ qQx{°¨²8J„Ò¾P‰û 2G#:cæ0‘ê G¶!3•žÚ9c$¹ð®5|UMß3Ôx½©ŠtçßWä̬¤Ù]½þœªÝÍûg=ênâ©ýpC_ÝߟÿÃé’ITüÙ?}N,ÿù„¾/¤oA‚Çþé¹”ô€¦Ûúendstream endobj 1126 0 obj << /Type /Page /Contents 1127 0 R /Resources 1125 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 1128 0 obj << /D [1126 0 R /XYZ 71.731 718.306 null] >> endobj 1129 0 obj << /D [1126 0 R /XYZ 71.731 718.306 null] >> endobj 1130 0 obj << /D [1126 0 R /XYZ 204.035 708.344 null] >> endobj 1131 0 obj << /D [1126 0 R /XYZ 71.731 708.155 null] >> endobj 1132 0 obj << /D [1126 0 R /XYZ 71.731 703.174 null] >> endobj 1133 0 obj << /D [1126 0 R /XYZ 484.86 646.575 null] >> endobj 1134 0 obj << /D [1126 0 R /XYZ 207.795 633.624 null] >> endobj 1135 0 obj << /D [1126 0 R /XYZ 76.712 584.807 null] >> endobj 1136 0 obj << /D [1126 0 R /XYZ 71.731 570.859 null] >> endobj 58 0 obj << /D [1126 0 R /XYZ 170.05 555.318 null] >> endobj 1137 0 obj << /D [1126 0 R /XYZ 71.731 546.865 null] >> endobj 1138 0 obj << /D [1126 0 R /XYZ 71.731 546.865 null] >> endobj 1139 0 obj << /D [1126 0 R /XYZ 71.731 536.179 null] >> endobj 1140 0 obj << /D [1126 0 R /XYZ 71.731 531.198 null] >> endobj 1141 0 obj << /D [1126 0 R /XYZ 71.731 513.375 null] >> endobj 1142 0 obj << /D [1126 0 R /XYZ 71.731 513.375 null] >> endobj 1143 0 obj << /D [1126 0 R /XYZ 151.831 500.523 null] >> endobj 1144 0 obj << /D [1126 0 R /XYZ 71.731 500.335 null] >> endobj 1145 0 obj << /D [1126 0 R /XYZ 71.731 495.353 null] >> endobj 1146 0 obj << /D [1126 0 R /XYZ 71.731 477.509 null] >> endobj 1147 0 obj << /D [1126 0 R /XYZ 71.731 477.509 null] >> endobj 1148 0 obj << /D [1126 0 R /XYZ 151.831 464.658 null] >> endobj 1149 0 obj << /D [1126 0 R /XYZ 71.731 463.25 null] >> endobj 1150 0 obj << /D [1126 0 R /XYZ 71.731 458.269 null] >> endobj 1151 0 obj << /D [1126 0 R /XYZ 71.731 439.587 null] >> endobj 1152 0 obj << /D [1126 0 R /XYZ 71.731 439.587 null] >> endobj 1153 0 obj << /D [1126 0 R /XYZ 146.451 428.792 null] >> endobj 1154 0 obj << /D [1126 0 R /XYZ 71.731 427.384 null] >> endobj 1155 0 obj << /D [1126 0 R /XYZ 71.731 422.403 null] >> endobj 1156 0 obj << /D [1126 0 R /XYZ 175.173 410.859 null] >> endobj 1157 0 obj << /D [1126 0 R /XYZ 71.731 403.721 null] >> endobj 1158 0 obj << /D [1126 0 R /XYZ 71.731 403.721 null] >> endobj 1159 0 obj << /D [1126 0 R /XYZ 167.97 392.927 null] >> endobj 1160 0 obj << /D [1126 0 R /XYZ 71.731 391.519 null] >> endobj 1161 0 obj << /D [1126 0 R /XYZ 71.731 386.538 null] >> endobj 1162 0 obj << /D [1126 0 R /XYZ 71.731 367.856 null] >> endobj 1163 0 obj << /D [1126 0 R /XYZ 71.731 367.856 null] >> endobj 1164 0 obj << /D [1126 0 R /XYZ 184.11 357.061 null] >> endobj 1165 0 obj << /D [1126 0 R /XYZ 71.731 356.873 null] >> endobj 1166 0 obj << /D [1126 0 R /XYZ 71.731 351.891 null] >> endobj 1167 0 obj << /D [1126 0 R /XYZ 76.712 295.293 null] >> endobj 1168 0 obj << /D [1126 0 R /XYZ 71.731 281.345 null] >> endobj 1169 0 obj << /D [1126 0 R /XYZ 321.807 265.803 null] >> endobj 1170 0 obj << /D [1126 0 R /XYZ 71.731 257.351 null] >> endobj 1171 0 obj << /D [1126 0 R /XYZ 71.731 257.351 null] >> endobj 1172 0 obj << /D [1126 0 R /XYZ 71.731 246.665 null] >> endobj 1173 0 obj << /D [1126 0 R /XYZ 71.731 241.684 null] >> endobj 1174 0 obj << /D [1126 0 R /XYZ 71.731 241.684 null] >> endobj 1175 0 obj << /D [1126 0 R /XYZ 139.477 215.99 null] >> endobj 1176 0 obj << /D [1126 0 R /XYZ 484.184 203.039 null] >> endobj 1177 0 obj << /D [1126 0 R /XYZ 71.731 183.698 null] >> endobj 1125 0 obj << /Font << /F33 842 0 R /F36 908 0 R /F42 968 0 R /F27 756 0 R /F23 749 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1180 0 obj << /Length 307 /Filter /FlateDecode >> stream xÚ}QËNÃ0¼ç+|L%²øý¸"ñ<¢ˆ d§­Ò;‚ÏÇ EDT>ìÚ;»³ã!ÇC" X Ô•5oFëX¹.HFTRýÂ\ÔÅùcÈ€‘ ÕↀV)FA Šêö±Ü¯_šÝ0¸&¬žë»â²þ)˜£ÙIÖoÌ‚–2D80.¼„‘Obš$Þ{¦qXUTéòa%qiûÉVˆ½ê¸2FÅ@¨˜›n»Ø p駦qÞwS–l ;´½Ky·5nÊÖûj}®fÍÛÝî[Ÿâ8¯åZH×›y`®ù`ÇÒmؤ,l\š¿ÝÆô3i`é¨a–Ï„ŠÞð¨%}¸ï—B©mLÆÀ_/²»\ÇÿS'ý?Bö ÆãŸ)"ñŸéK¦/ B˜ªendstream endobj 1179 0 obj << /Type /Page /Contents 1180 0 R /Resources 1178 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 1181 0 obj << /D [1179 0 R /XYZ 71.731 729.265 null] >> endobj 1182 0 obj << /D [1179 0 R /XYZ 71.731 718.306 null] >> endobj 1183 0 obj << /D [1179 0 R /XYZ 71.731 644.184 null] >> endobj 62 0 obj << /D [1179 0 R /XYZ 207.177 604.812 null] >> endobj 1184 0 obj << /D [1179 0 R /XYZ 71.731 597.46 null] >> endobj 1185 0 obj << /D [1179 0 R /XYZ 477.286 584.687 null] >> endobj 1178 0 obj << /Font << /F33 842 0 R /F23 749 0 R /F27 756 0 R /F36 908 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1188 0 obj << /Length 733 /Filter /FlateDecode >> stream xÚUKoœ0¾ï¯àRpüÄpŠR5­ÚC-ꥩ*š,ÒVÀªZ)?¾cye©q0Ï|3óÍxÌ  4#ZÀÂ3”/;<ÃÉçó2IWþ7c%4ÉRÄ „ùîöÓ„3äÕä…*¢eäû_áéùÏþ©nªˆÓ°~ç_ÑD!k"5I98)¡ M¾/5Ed$K„U¤AÌ)a\®`GH=+*È#Í@ßê=r®£˜+vf8wM›—cÝø×V¸–ç®3Ê,lO¦ñâ¶iL9ÔmsÛ™þ|ôV‡¢ÙM¿‘V죈EF„.–—¦=õu?å–BÈN›3¢(ÚÀºN0Nè2€þ5ŠYˆQôxxgOï¶¢%D!”þhú²«Oê:÷“L‰Î´'y¦VdŽZ‘ŽÔ‚ÀQ ëœÂ#²3 =“p82é6á¥54ƺ/*CP%?x•GJy7:-ºˆ¥áóù‹ zµ7õp0ÍŠ„YÄŒ“L1—Ë‚hà9aÛÙUŽŒÜ}©ðt°Þ­`òn7kïV¯îW(7¸ëÏ ôüï߀QG†1{5´húä#86èyèþdʺºÔ®È¶®.GîrtA¯ÛšltIØ(l†{Gùœ| K¾¾ž0€Í7,¾Ž­zÕC þ¸‚È`´¼"XœXBWû pS ËÊXY]áziÏøó7bpµ-Uvç²Ù²ñðÀ÷Ú îZïnºQÖä=гъbl#ïƒ\o¤m#|?ùX9Ä_Ï®²Þ  öªq ú4Ü Õ¶ƒÍ•ee…9ß.;>ý½Õ9SŽ ‡)˜¸Ð¿»!ö: F €Ïæ:éqá°ºGyyüïÀ^×ÉNÜ4ð–¸ÖÛ=äÓkæŸ)™’”éÍçÎkijŠ{ì  ó‚P:¡ØhÙ[Gã«yíéò™ýrendstream endobj 1187 0 obj << /Type /Page /Contents 1188 0 R /Resources 1186 0 R /MediaBox [0 0 609.714 789.041] /Parent 987 0 R >> endobj 848 0 obj << /D [1187 0 R /XYZ 71.731 718.306 null] >> endobj 66 0 obj << /D [1187 0 R /XYZ 154.589 705.748 null] >> endobj 1189 0 obj << /D [1187 0 R /XYZ 71.731 693.31 null] >> endobj 1190 0 obj << /D [1187 0 R /XYZ 71.731 693.31 null] >> endobj 70 0 obj << /D [1187 0 R /XYZ 158.616 667.73 null] >> endobj 1191 0 obj << /D [1187 0 R /XYZ 173.35 647.606 null] >> endobj 1192 0 obj << /D [1187 0 R /XYZ 71.731 645.449 null] >> endobj 1193 0 obj << /D [1187 0 R /XYZ 71.731 645.449 null] >> endobj 74 0 obj << /D [1187 0 R /XYZ 183.334 608.233 null] >> endobj 1194 0 obj << /D [1187 0 R /XYZ 71.731 595.301 null] >> endobj 1195 0 obj << /D [1187 0 R /XYZ 71.731 574.41 null] >> endobj 78 0 obj << /D [1187 0 R /XYZ 198.469 537.279 null] >> endobj 1196 0 obj << /D [1187 0 R /XYZ 71.731 527.137 null] >> endobj 1197 0 obj << /D [1187 0 R /XYZ 71.731 527.137 null] >> endobj 1198 0 obj << /D [1187 0 R /XYZ 71.731 486.171 null] >> endobj 82 0 obj << /D [1187 0 R /XYZ 195.055 446.898 null] >> endobj 1199 0 obj << /D [1187 0 R /XYZ 71.731 443.706 null] >> endobj 1200 0 obj << /D [1187 0 R /XYZ 71.731 429.36 null] >> endobj 1201 0 obj << /D [1187 0 R /XYZ 71.731 429.36 null] >> endobj 1202 0 obj << /D [1187 0 R /XYZ 71.731 417.11 null] >> endobj 1203 0 obj << /D [1187 0 R /XYZ 71.731 412.129 null] >> endobj 1204 0 obj << /D [1187 0 R /XYZ 71.731 383.636 null] >> endobj 1205 0 obj << /D [1187 0 R /XYZ 71.731 383.636 null] >> endobj 1206 0 obj << /D [1187 0 R /XYZ 71.731 370.575 null] >> endobj 1207 0 obj << /D [1187 0 R /XYZ 71.731 365.593 null] >> endobj 1208 0 obj << /D [1187 0 R /XYZ 71.731 329.937 null] >> endobj 86 0 obj << /D [1187 0 R /XYZ 207.177 290.565 null] >> endobj 1209 0 obj << /D [1187 0 R /XYZ 71.731 283.212 null] >> endobj 1186 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1212 0 obj << /Length 445 /Filter /FlateDecode >> stream xÚ•TMoÛ0 ½çWèhÄIÔ÷qöÅPl«ÑK; ™£¦;°û÷£mÅI÷Pø@Yzä{¦,™ G2'Á) ­aån!ØšNn2!´µ€i=sÈr¼bü¬Â§bñá+*& 4¬xžX„§=+VÙ~ý{µi˺ªbÙ忊Û1EƒÒ¶OÑ<ò ä˜r·ÜÅ©, ¬ê‚q Q¿YÖÀž!PN}Bt9G#²r[·q\.ÓÎXaSWã{W§ø’pm.³ØüÍ¥¡0£Ÿ'*®(§ÂûU½o7íd“®Œ$0EKñ 'O΀’.9éQs‚O4\“eèçØ–Íf?8»’ñ®^:þ¨ ï`û¾~¯©‡m·nâýo©«§–“Áœ§DË5m™QèǦÏYv±êÚ©U¯&„F1¸Ë^™‘´BÃ8ÍlPã×*Ž:_–Õj›Öõó…‰+—ä)ýϦk5kæHkÐú~ÆîÐôÅœÏrKíÜâµàןꮮÌâK1ÝÍté´Oƒ2wy‚Ÿ ÃÕ%ÿQ „˜ªô\ò’èø¸fúk›ˆendstream endobj 1211 0 obj << /Type /Page /Contents 1212 0 R /Resources 1210 0 R /MediaBox [0 0 609.714 789.041] /Parent 1232 0 R >> endobj 849 0 obj << /D [1211 0 R /XYZ 71.731 718.306 null] >> endobj 90 0 obj << /D [1211 0 R /XYZ 193.219 705.748 null] >> endobj 1213 0 obj << /D [1211 0 R /XYZ 71.731 693.31 null] >> endobj 1214 0 obj << /D [1211 0 R /XYZ 71.731 693.31 null] >> endobj 94 0 obj << /D [1211 0 R /XYZ 158.616 667.73 null] >> endobj 1215 0 obj << /D [1211 0 R /XYZ 197.26 647.606 null] >> endobj 1216 0 obj << /D [1211 0 R /XYZ 71.731 646.042 null] >> endobj 1217 0 obj << /D [1211 0 R /XYZ 71.731 646.042 null] >> endobj 98 0 obj << /D [1211 0 R /XYZ 183.334 608.233 null] >> endobj 1218 0 obj << /D [1211 0 R /XYZ 71.731 595.301 null] >> endobj 1219 0 obj << /D [1211 0 R /XYZ 216.388 586.614 null] >> endobj 1220 0 obj << /D [1211 0 R /XYZ 71.731 575.244 null] >> endobj 102 0 obj << /D [1211 0 R /XYZ 198.469 537.279 null] >> endobj 1221 0 obj << /D [1211 0 R /XYZ 71.731 527.137 null] >> endobj 1222 0 obj << /D [1211 0 R /XYZ 71.731 527.137 null] >> endobj 1223 0 obj << /D [1211 0 R /XYZ 296.846 517.155 null] >> endobj 1224 0 obj << /D [1211 0 R /XYZ 71.731 510.017 null] >> endobj 106 0 obj << /D [1211 0 R /XYZ 195.055 472.801 null] >> endobj 1225 0 obj << /D [1211 0 R /XYZ 71.731 469.609 null] >> endobj 1226 0 obj << /D [1211 0 R /XYZ 71.731 455.263 null] >> endobj 1227 0 obj << /D [1211 0 R /XYZ 71.731 455.263 null] >> endobj 1228 0 obj << /D [1211 0 R /XYZ 71.731 445.294 null] >> endobj 1229 0 obj << /D [1211 0 R /XYZ 71.731 440.313 null] >> endobj 1230 0 obj << /D [1211 0 R /XYZ 71.731 404.657 null] >> endobj 110 0 obj << /D [1211 0 R /XYZ 207.177 365.284 null] >> endobj 1231 0 obj << /D [1211 0 R /XYZ 71.731 357.932 null] >> endobj 1210 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1235 0 obj << /Length 700 /Filter /FlateDecode >> stream xÚ•UKÓ0¾÷Wä˜büv ĂÄaPqaJ[·Ô&U‹Ägìq»)Ë¢2¶¿y}3c³ˆÂÇ"Èðã9áZEÛóŠF8ù°b!µ&\q¯¦J’g"JgÞ®W¯Þs1C8SÑz?z¡Š™EëÝ×ørø¾­«jg÷EêÚäÛú#*I"¤vJÒŒƒ ‘ÊPé¶8[D å$×Âi”rJ—Ï6<ç„) Z}ǹIR®h|° NÛn»²®p]_œÜ⢨v(t ‹¶lpÞ§I% >S‘a„÷üù¡ª/mÙŽùd GsFË!)F4ü_ÆV:hIp!”×zgÛmSúð—^þ“µ ŠIM`­±]ß8J´qYíëæ\ aZɸØÔ}‡gÝÑ¢0'ÕaFRÝa‘pß'\ÅEy*6';¾Â1DrâQƒa‡zµ$Zð(eœäŠyLê.ÆeNŠ’œæÁÖTY³o„¾ilÕ-*Œï©w`™ÇÀîÛb{œ7¹V¬à9•°¥°oš„©øÐŸÁåþ‡raeoëÊ^±KƒEì°O¾J‹Éâ/‰¦í?,¯}öšA[ÌäÒu¿æP(¿<•m8ØùÛ”Õ×Ý }©Û¶ô•t«G#ëi¤œQO<*ûyr #õÞÉœzØ©o nÜ ç` ”šß ôQ”Õ“â†@*‡ÑÆ_Ûo¦³z?Ÿv”±Û_¿hnA¦•»´RMÁg±±'we{ÙÁ%=í´åϽwéý^ks¹1ìœGÛØ)=¯#ù¤#‘ùpá -,»Æjà¤oq=?ã8oïÀá•QÍáeÐl9©>¿g¦’QCT®ƒ¢ŸÕÍz|rÂ["3’1sõM ˆt‚øIˆÙä A(­8Gì©£ái[zú6òà'endstream endobj 1234 0 obj << /Type /Page /Contents 1235 0 R /Resources 1233 0 R /MediaBox [0 0 609.714 789.041] /Parent 1232 0 R >> endobj 850 0 obj << /D [1234 0 R /XYZ 71.731 718.306 null] >> endobj 114 0 obj << /D [1234 0 R /XYZ 209.471 705.748 null] >> endobj 1236 0 obj << /D [1234 0 R /XYZ 71.731 693.31 null] >> endobj 1237 0 obj << /D [1234 0 R /XYZ 71.731 693.31 null] >> endobj 118 0 obj << /D [1234 0 R /XYZ 158.616 667.73 null] >> endobj 1238 0 obj << /D [1234 0 R /XYZ 209.215 647.606 null] >> endobj 1239 0 obj << /D [1234 0 R /XYZ 71.731 645.449 null] >> endobj 1240 0 obj << /D [1234 0 R /XYZ 71.731 645.449 null] >> endobj 122 0 obj << /D [1234 0 R /XYZ 183.334 608.233 null] >> endobj 1241 0 obj << /D [1234 0 R /XYZ 71.731 595.301 null] >> endobj 1242 0 obj << /D [1234 0 R /XYZ 71.731 575.244 null] >> endobj 126 0 obj << /D [1234 0 R /XYZ 198.469 537.279 null] >> endobj 1243 0 obj << /D [1234 0 R /XYZ 71.731 527.137 null] >> endobj 1244 0 obj << /D [1234 0 R /XYZ 71.731 527.137 null] >> endobj 1245 0 obj << /D [1234 0 R /XYZ 484.184 517.155 null] >> endobj 1246 0 obj << /D [1234 0 R /XYZ 71.731 497.065 null] >> endobj 130 0 obj << /D [1234 0 R /XYZ 195.055 459.85 null] >> endobj 1247 0 obj << /D [1234 0 R /XYZ 71.731 449.485 null] >> endobj 1248 0 obj << /D [1234 0 R /XYZ 71.731 434.644 null] >> endobj 134 0 obj << /D [1234 0 R /XYZ 207.177 395.372 null] >> endobj 1249 0 obj << /D [1234 0 R /XYZ 71.731 388.019 null] >> endobj 1250 0 obj << /D [1234 0 R /XYZ 71.731 352.233 null] >> endobj 1251 0 obj << /D [1234 0 R /XYZ 161.046 317.763 null] >> endobj 1252 0 obj << /D [1234 0 R /XYZ 303.341 317.763 null] >> endobj 1233 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1255 0 obj << /Length 1233 /Filter /FlateDecode >> stream xÚW[ã4~Ÿ_Q¤yHÑÄÄvœËBì"¡Õ²ËT¼Biê¶4)±³3ÊÿαKÓYV}ðññ¹ù\>§tÁ®RJR Ë KĪ<ÝD«œüpCDœ$„ ô•ÃPð”ä_… ßnn¾zÍøŠ¦„Q±Úì/QFx¯6»_ƒóṦ"xZÓ(åú÷ͨƒHb”â”d \ðŒD4³Jo‹“DIž¬r’'ÜF«E„²ÑðÓ`0Åb°Ì9H©ßK×!Q d³CªÀ¥lO§ÂótëÖ£ôâݷ쮄:!Ï O¹õôðÜ´gU©!î ²ÒŒAsž’ÖEð1ecN"ž»à˶iÖa ±>è®jK4b$… Ú7K³‚ðÌÝáågæW¦yLhÃÝáÎ\XÁï¥*»ê¬«¶YšüÜrQyǪߞ*­Ö!t)ÅX&Ã3e²«)“9}×*}èäÃû7x0)AMtR÷]35Oõµ&(ðÝÔž }n-mÎàò6Ú2’ìؘuÑiì™ÇJ/ÚÈ”P–6Av\ÓÀÚs­8ôänÞœgÙUíîRœ¡›þ´…»  $Æ1çÛÛVG‰IXa4ÔEùòÚ=®lÊ÷²ëÚIhg{Ö´ç®õj£I¼-°Æ‘‚êËRÊÜ}R÷ÍÂüI*U$žc…¤ÓÞ>{/r¸Ø$é“2³(ƒÌ×&ø(¶9h Ö­9` ÙnM X Ü)µ¶l»7˜UTuß9£PkÝ«;<Ŝ׆ ëA6²+´™Pô‰lÌ+ìýÅW]™žf„eÔ‹ó@œ?0ä*8QAòAJ 8Ýw&[‡þ$­x˜!+€xž°³ðKbµZÝø.?NZڶǧF …Ä;òñX•Ç9ûÇj[öZ.lÙ#Ë+„W⻂š/ÞˆÍodåÅWâ"ÈÏ gDÞÿÉëkcÙ¶ OfǸ\ß+ȧB 8-´tâ² åÀMJâ»el4_¼Ó˜˜ù˜¼Bð¬içÌ–ÂøGv­ã8ϧ֎ œµöE(jäX3u/‡ Wú8·8ã4A„ðøJ­ûªa×rw‡©ï›¿ûvÜVÍâå~x)pÕ3+MÓ;e…à äm¨ô³ïYxw”®toÂ&×?,RÂ`DS×Ï®@?Í‚_ÖId¯¸Låü¼7þØÁ™- `|î¢5€t('(¢œ54`&ìª=®çƒöÚÂÀÂ}ßÛÚ)cæXÐnuQ5Hh†¯ðÚÀÇø$»{¬”¼óZKˆ‡‹ñ¦;¶ mßÓ ¶…ð Uà2  Ð{ì6м°à3Ap»9úƒ©¶k8ùƒõ\¸'hHÇLŽà£”˜ì.²(sè%§­ë[sLð¤MÑ’ºšq~t³fŒ²cG½z*NçZ~â«3#iÎfoŠý¤¼¿.?*YÛ’$ ¾DÞ¾kOHiÓ1éG¨»D²Úáúµ3ç$lñ Ñ+Ó> endobj 851 0 obj << /D [1254 0 R /XYZ 71.731 718.306 null] >> endobj 142 0 obj << /D [1254 0 R /XYZ 140.196 708.344 null] >> endobj 1256 0 obj << /D [1254 0 R /XYZ 71.731 695.906 null] >> endobj 1257 0 obj << /D [1254 0 R /XYZ 71.731 695.906 null] >> endobj 1258 0 obj << /D [1254 0 R /XYZ 158.616 670.326 null] >> endobj 1259 0 obj << /D [1254 0 R /XYZ 161.395 650.202 null] >> endobj 1260 0 obj << /D [1254 0 R /XYZ 71.731 648.638 null] >> endobj 1261 0 obj << /D [1254 0 R /XYZ 71.731 648.638 null] >> endobj 146 0 obj << /D [1254 0 R /XYZ 183.334 610.829 null] >> endobj 1262 0 obj << /D [1254 0 R /XYZ 71.731 597.897 null] >> endobj 1263 0 obj << /D [1254 0 R /XYZ 184.11 589.21 null] >> endobj 1264 0 obj << /D [1254 0 R /XYZ 211.009 589.21 null] >> endobj 1265 0 obj << /D [1254 0 R /XYZ 286.837 589.21 null] >> endobj 1266 0 obj << /D [1254 0 R /XYZ 292.217 589.21 null] >> endobj 1267 0 obj << /D [1254 0 R /XYZ 71.731 577.84 null] >> endobj 150 0 obj << /D [1254 0 R /XYZ 198.469 539.875 null] >> endobj 1268 0 obj << /D [1254 0 R /XYZ 71.731 529.733 null] >> endobj 1269 0 obj << /D [1254 0 R /XYZ 71.731 529.733 null] >> endobj 1270 0 obj << /D [1254 0 R /XYZ 272.445 519.751 null] >> endobj 1271 0 obj << /D [1254 0 R /XYZ 71.731 499.661 null] >> endobj 1272 0 obj << /D [1254 0 R /XYZ 497.833 475.915 null] >> endobj 1273 0 obj << /D [1254 0 R /XYZ 71.731 468.777 null] >> endobj 154 0 obj << /D [1254 0 R /XYZ 195.055 431.562 null] >> endobj 1274 0 obj << /D [1254 0 R /XYZ 71.731 428.37 null] >> endobj 1275 0 obj << /D [1254 0 R /XYZ 71.731 414.024 null] >> endobj 1276 0 obj << /D [1254 0 R /XYZ 71.731 414.024 null] >> endobj 1277 0 obj << /D [1254 0 R /XYZ 71.731 404.055 null] >> endobj 1278 0 obj << /D [1254 0 R /XYZ 71.731 399.074 null] >> endobj 1279 0 obj << /D [1254 0 R /XYZ 71.731 381.25 null] >> endobj 1280 0 obj << /D [1254 0 R /XYZ 71.731 381.25 null] >> endobj 1281 0 obj << /D [1254 0 R /XYZ 71.731 366.834 null] >> endobj 1282 0 obj << /D [1254 0 R /XYZ 71.731 361.853 null] >> endobj 1283 0 obj << /D [1254 0 R /XYZ 71.731 343.701 null] >> endobj 1284 0 obj << /D [1254 0 R /XYZ 71.731 343.701 null] >> endobj 1285 0 obj << /D [1254 0 R /XYZ 71.731 330.969 null] >> endobj 1286 0 obj << /D [1254 0 R /XYZ 71.731 325.988 null] >> endobj 1287 0 obj << /D [1254 0 R /XYZ 155.515 314.6 null] >> endobj 1288 0 obj << /D [1254 0 R /XYZ 308.777 314.6 null] >> endobj 1289 0 obj << /D [1254 0 R /XYZ 71.731 278.735 null] >> endobj 158 0 obj << /D [1254 0 R /XYZ 207.177 239.362 null] >> endobj 1290 0 obj << /D [1254 0 R /XYZ 71.731 232.01 null] >> endobj 1291 0 obj << /D [1254 0 R /XYZ 307.043 219.238 null] >> endobj 1292 0 obj << /D [1254 0 R /XYZ 489.564 206.286 null] >> endobj 1293 0 obj << /D [1254 0 R /XYZ 71.731 188.254 null] >> endobj 162 0 obj << /D [1254 0 R /XYZ 178.557 148.981 null] >> endobj 1294 0 obj << /D [1254 0 R /XYZ 71.731 138.839 null] >> endobj 1295 0 obj << /D [1254 0 R /XYZ 71.731 128.876 null] >> endobj 1253 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1298 0 obj << /Length 1032 /Filter /FlateDecode >> stream xÚ•VKoÜ6¾ûWèàÃ.`±"%RzÄ)Pë,zI CÖÒ»´’BQ®Ý¢ÿ½Ã—+ÙI¡ƒ†ä¼ç›!qÁ‡ƒ£4†Éa4(NQp€“_.°ãHC„ WC§(ãqN4¼ß]üô‘ÄNÁ4Ø=V"†0æÁnÿeÓîÅÓÍóGQÜ·R´¹ûퟻ_­t‚â„ié$Eœ€­˜£ÈIÊOÂrÆ,ÈPÆbÍ!‰&É`áy©9ù3Žp¬#Óì_ I·!¡Ñ¦õÞR¹ýIñ­² ÕØ¿÷ž‚÷½°™d^`0iVŸÿÍ)V¹'QŸiRGá Ë'£P®d!tÞ†q†â”Ÿ?¿ÔMÛ•Ý ¡n‚Åä#ÿ×ó‘Q(Ã(¡©ËGÑÔõ6dÑÄíYÖ)¨3sbï–j)й;ÍåágÉ\~:IŠ2ˆ=Øcj?ˆ®e«Ê¦^jôH ?ˆÎe>ò®8•ª›A hN§ÜÃbQ¸ÛÐ7)ÆZµ´z¼°ª—uw°®¯ZÆ:ÇBè¥,ŽÿG4CûºÐIê,BË=²,òªzÑ\³0›AêÁZ4µ·4­Ïh渮¬zÛ…h•]«cî¨ÒýHT+$@ÊyÔwe}°ä€4w4 * %¥ €”QlÌ>¼Œ¥Xâ*5ãÆ:x{ws{}w³ # $>Œ¡~®àÈšf0ÊÎÊð©QÂÛÎÕZßÛh \®·t2M]9Ï»¾méôõÞFcj ¨%gHª@½ÜRºA+=À‚Zg¯¥®Ë¡·¹õ:œaÆÇÎ_¤ ý4MÁÎãÿ>U>²Ç³æÐê„ c€Œ8ò¯cY¿7VçºÆªÌCWü[\¯FDæÕZb=že‘u‰—cý,’ôÙOÈà³y„¡ˆM¦6Ün˜Yßqºù[ÈÆíH»£aÙ0¢1S4¯,ËÓ–ÐM^õ¦?áà ÌÊ.м¶\N¶¬aÒ)±¿²Û}ý­oÆeY›l-ÂnY@1Þ†¶»mÓæö“’yvêÅC t§JÕk¯×°?ä•ÁÍÄS£ëÎŒ]Oùæ-‹L„ËdΟ×Óñ<…:r7»X™:œ x }oxΦÎcãš~/T^VÝzP„ žr××ÖÁ›çüÔVâûŸ£4#3WÌ~9^ïÿX@oC@±Ý±5½oEãtê0<'(³ï¥ˆFO¹,޹¼²bg+­ð­óµ(ÅÆ`4³•wSÇ<­¡¥)ãçÄý'^Mk//±3rI<{"ñõÓ>üü¯öââf7¼tÝ6áˆãtõ)ì8‘Å<„¡w‡¢Ó8FQ4hÑ¡ásCþE½´ôE»Œendstream endobj 1297 0 obj << /Type /Page /Contents 1298 0 R /Resources 1296 0 R /MediaBox [0 0 609.714 789.041] /Parent 1232 0 R >> endobj 852 0 obj << /D [1297 0 R /XYZ 71.731 718.306 null] >> endobj 170 0 obj << /D [1297 0 R /XYZ 223.432 706.118 null] >> endobj 1299 0 obj << /D [1297 0 R /XYZ 71.731 693.68 null] >> endobj 1300 0 obj << /D [1297 0 R /XYZ 71.731 693.68 null] >> endobj 1301 0 obj << /D [1297 0 R /XYZ 158.616 668.1 null] >> endobj 1302 0 obj << /D [1297 0 R /XYZ 215.193 647.976 null] >> endobj 1303 0 obj << /D [1297 0 R /XYZ 71.731 645.819 null] >> endobj 1304 0 obj << /D [1297 0 R /XYZ 71.731 645.819 null] >> endobj 174 0 obj << /D [1297 0 R /XYZ 183.334 608.604 null] >> endobj 1305 0 obj << /D [1297 0 R /XYZ 71.731 595.671 null] >> endobj 1306 0 obj << /D [1297 0 R /XYZ 232.528 586.985 null] >> endobj 1307 0 obj << /D [1297 0 R /XYZ 259.427 586.985 null] >> endobj 1308 0 obj << /D [1297 0 R /XYZ 334.744 586.985 null] >> endobj 1309 0 obj << /D [1297 0 R /XYZ 340.124 586.985 null] >> endobj 1310 0 obj << /D [1297 0 R /XYZ 71.731 575.614 null] >> endobj 178 0 obj << /D [1297 0 R /XYZ 198.469 537.65 null] >> endobj 1311 0 obj << /D [1297 0 R /XYZ 71.731 527.507 null] >> endobj 1312 0 obj << /D [1297 0 R /XYZ 71.731 527.507 null] >> endobj 1313 0 obj << /D [1297 0 R /XYZ 315.217 517.525 null] >> endobj 1314 0 obj << /D [1297 0 R /XYZ 71.731 510.387 null] >> endobj 1315 0 obj << /D [1297 0 R /XYZ 71.731 510.387 null] >> endobj 1316 0 obj << /D [1297 0 R /XYZ 302.442 499.592 null] >> endobj 1317 0 obj << /D [1297 0 R /XYZ 146.67 486.641 null] >> endobj 1318 0 obj << /D [1297 0 R /XYZ 71.731 479.503 null] >> endobj 1319 0 obj << /D [1297 0 R /XYZ 333.149 468.708 null] >> endobj 1320 0 obj << /D [1297 0 R /XYZ 71.731 461.57 null] >> endobj 182 0 obj << /D [1297 0 R /XYZ 195.055 424.355 null] >> endobj 1321 0 obj << /D [1297 0 R /XYZ 71.731 421.163 null] >> endobj 1322 0 obj << /D [1297 0 R /XYZ 71.731 406.816 null] >> endobj 1323 0 obj << /D [1297 0 R /XYZ 71.731 406.816 null] >> endobj 1324 0 obj << /D [1297 0 R /XYZ 71.731 396.848 null] >> endobj 1325 0 obj << /D [1297 0 R /XYZ 71.731 391.866 null] >> endobj 1326 0 obj << /D [1297 0 R /XYZ 71.731 374.043 null] >> endobj 1327 0 obj << /D [1297 0 R /XYZ 71.731 374.043 null] >> endobj 1328 0 obj << /D [1297 0 R /XYZ 71.731 360.982 null] >> endobj 1329 0 obj << /D [1297 0 R /XYZ 71.731 356.001 null] >> endobj 1330 0 obj << /D [1297 0 R /XYZ 71.731 336.12 null] >> endobj 1331 0 obj << /D [1297 0 R /XYZ 71.731 336.12 null] >> endobj 1332 0 obj << /D [1297 0 R /XYZ 71.731 323.762 null] >> endobj 1333 0 obj << /D [1297 0 R /XYZ 71.731 318.78 null] >> endobj 1334 0 obj << /D [1297 0 R /XYZ 71.731 318.78 null] >> endobj 1335 0 obj << /D [1297 0 R /XYZ 71.731 271.528 null] >> endobj 186 0 obj << /D [1297 0 R /XYZ 207.177 232.155 null] >> endobj 1336 0 obj << /D [1297 0 R /XYZ 71.731 224.803 null] >> endobj 1337 0 obj << /D [1297 0 R /XYZ 202.281 212.031 null] >> endobj 1338 0 obj << /D [1297 0 R /XYZ 71.731 205.642 null] >> endobj 190 0 obj << /D [1297 0 R /XYZ 178.557 167.677 null] >> endobj 1339 0 obj << /D [1297 0 R /XYZ 71.731 157.534 null] >> endobj 1340 0 obj << /D [1297 0 R /XYZ 71.731 147.572 null] >> endobj 1296 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1343 0 obj << /Length 241 /Filter /FlateDecode >> stream xÚ}Ok„0Åï~Šö¦I&¯…¶Ðsn¥HÐì"¬nPm?}#F[*]r˜!ó˜÷›ÇM!͈†T¸%\IÔôE—4y)XVTYRýÒ<ºâáYb wFB "©E81’#×¾áx©CÉ)þMÇ4ѯµ-ßÝkñäv šXw96ÍD!“@ÔÂ#T§ƒ¨! IJB,ɼR”âSs†¥e¸¦0Îu ·x yzß]s?ø~ûöm;†iÚVtóçºâ4Í~ÞD_]ü{`Qb˜¾óä² ”î[–ÛøI¾ÏØrÐendstream endobj 1342 0 obj << /Type /Page /Contents 1343 0 R /Resources 1341 0 R /MediaBox [0 0 609.714 789.041] /Parent 1232 0 R >> endobj 1341 0 obj << /Font << /F33 842 0 R /F36 908 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1346 0 obj << /Length 1371 /Filter /FlateDecode >> stream xÚ¥W[oÛ6~ϯУ D¬H‰ºlƒ›&]†Ànð#Ó¶VYt%ªŽ÷ëw(’²bÉK‚!@Dó~çö‘ÄŽ؉1Šø‘ˆ:ÙöÂwÖ ùxFEˆPã¡Gƒ¥Iàx= ïïnHààLŪÛÅƉ³XþáîÖU¼n 9ùsñ‹VQFJ=ŒQBÀx ß¨ÏØ–kÍ rR”FRôø“pÔd|T¤àC’‚¾ÒûBH<ñõÝ5—z—+Qm™ÌE©'Ø£hŒŒÁ'LÝLl·¬\ê¹³Ð=³“¤(ˆI»ßá»:¯;ü Àjµ Fƒ2|#øŽ8’£6 Pœ&Æ ­ô3 *øÄ‹|‹i¾›xØmASàØñB@ÐÖÐ^gU¾;®è´¦/ØG©ŸvØdS•õÿ m;Î*Î$7‚ÇÃq|vU.ª‘Œ-@ÌŸx6Ä eQ«…”Rõ%(Ü4ZÑïŒ}W4°'&nÆ”»_'0ËùNO3#íÜÎ %¯D£ç‰ ÁÐ ¬Ö…(×F­Ö’ƒÝ®äܬÊ奖=Nˆï6Æî~ÃK=2KÀjÅõÌR”f´ÏåÆZ™`÷R´nì )Ú0@Ê1A)Å­ÿ«Š+1MÔâö«Ó»|‚©û¤þñ¬‘981ÈEœ¢(¥ÇTؘ¨jõ²‚³j˜˜$B~w‰i·œË ¯öyÍ/õoí-`Ø0Žï--bú³å[Qôöùjš"‹ŒÌ =·Ï 3âB±R6¬(º.pDQ ½ÜK-Ye‹TlwË˼Í#LÈ 3" *üèIiK!ôêGé:Ëã}!ÿ晬ÑH‹CúBøA5%N+enÝlÁ£ºc”gü $&CJ$Ãx ß‹qfch¨Å¶²Qà£^@ ªmÐ÷l ÒÃ4ïÑÓ ˜æå9+QB¥xßeJ´vëK¤zdz|uè¤ûMžm Ùä<;±ÛÏǀ㤰JŠ 'V¨&¬ÓäA9ɦ~[ÐÍšqg5:4ÜØ1éñª#½„¨kÅŸ†ù Q¥§ÅËœ­¯Är¤nÌaÞ³âxQŒ|uHöݹ¥±ènàuÍÖºë!ȧ>ª@55ÝA³Ì3è)ó“•}{¡ï3’ɉÚv'Ön5€FÛ¥µWº|‚¾-²/¾OøòÒ¦ê[Ãki`/™4Ü |³‘`'‹3£ JQË<³­¶ä#ÅæÙ U¯äjþW¹<œ©¹hXs¡OaÕ‘#ÕêÕt¨S¢ä­cÅRÿÈD)[Þi©“i€ ‡ J"bBu}?¿"JÒ´ çÀH„(±§ÌÍt1½{ÑD hìö€µ%ÿi:»½z­¼4N–: ¦ˆÕÔ±ˆÏm © QâgÌoÓûÙíìã™›Kr>г¡Ïæ‹Û«ë‘8ýo6 ®ßÿúñíI雸ÝÌG,Àå—ôš„Dã)+«oiæn>ë"Hû–b7‡æ)õiÛ¥€6ázªG,z×¾b!2Väÿ´g3Ì*Š©XY–ÞaèÖÜ Bä‡&ošÇÄÈùSó³D=#Áú[¡H¿º)‡ÑRÏ1Õ‡Ïw‹éb¤B ±·!S¬aÈê„cu!Sª¯b>48õ¸~êYWü"ôù®»ÀÀÍI§»N~2¿`)‹C 0x~놻ý–Uoà&ó héIH<¸c-ÙcøÎ.G·äa燺õéüÙDyÉ;ì׋îñk^µŠÂàM5ö:6ÞQ¥}òãÃ)ïwV”Gøt#ûÈîô/~I Šendstream endobj 1345 0 obj << /Type /Page /Contents 1346 0 R /Resources 1344 0 R /MediaBox [0 0 609.714 789.041] /Parent 1232 0 R >> endobj 853 0 obj << /D [1345 0 R /XYZ 71.731 718.306 null] >> endobj 194 0 obj << /D [1345 0 R /XYZ 149.217 706.118 null] >> endobj 1347 0 obj << /D [1345 0 R /XYZ 71.731 693.68 null] >> endobj 1348 0 obj << /D [1345 0 R /XYZ 71.731 693.68 null] >> endobj 198 0 obj << /D [1345 0 R /XYZ 158.616 668.1 null] >> endobj 1349 0 obj << /D [1345 0 R /XYZ 173.35 647.976 null] >> endobj 1350 0 obj << /D [1345 0 R /XYZ 71.731 645.819 null] >> endobj 1351 0 obj << /D [1345 0 R /XYZ 71.731 645.819 null] >> endobj 202 0 obj << /D [1345 0 R /XYZ 183.334 608.604 null] >> endobj 1352 0 obj << /D [1345 0 R /XYZ 71.731 595.671 null] >> endobj 1353 0 obj << /D [1345 0 R /XYZ 194.869 586.985 null] >> endobj 1354 0 obj << /D [1345 0 R /XYZ 264.807 586.985 null] >> endobj 1355 0 obj << /D [1345 0 R /XYZ 71.731 575.614 null] >> endobj 206 0 obj << /D [1345 0 R /XYZ 198.469 537.65 null] >> endobj 1356 0 obj << /D [1345 0 R /XYZ 71.731 527.507 null] >> endobj 1357 0 obj << /D [1345 0 R /XYZ 71.731 527.507 null] >> endobj 1358 0 obj << /D [1345 0 R /XYZ 420.58 517.525 null] >> endobj 1359 0 obj << /D [1345 0 R /XYZ 71.731 510.387 null] >> endobj 1360 0 obj << /D [1345 0 R /XYZ 199.247 486.641 null] >> endobj 1361 0 obj << /D [1345 0 R /XYZ 456.312 486.641 null] >> endobj 1362 0 obj << /D [1345 0 R /XYZ 71.731 466.551 null] >> endobj 210 0 obj << /D [1345 0 R /XYZ 195.055 429.336 null] >> endobj 1363 0 obj << /D [1345 0 R /XYZ 71.731 426.144 null] >> endobj 1364 0 obj << /D [1345 0 R /XYZ 71.731 411.798 null] >> endobj 1365 0 obj << /D [1345 0 R /XYZ 71.731 411.798 null] >> endobj 1366 0 obj << /D [1345 0 R /XYZ 71.731 401.829 null] >> endobj 1367 0 obj << /D [1345 0 R /XYZ 71.731 396.848 null] >> endobj 1368 0 obj << /D [1345 0 R /XYZ 71.731 379.025 null] >> endobj 1369 0 obj << /D [1345 0 R /XYZ 71.731 379.025 null] >> endobj 1370 0 obj << /D [1345 0 R /XYZ 71.731 364.609 null] >> endobj 1371 0 obj << /D [1345 0 R /XYZ 71.731 359.627 null] >> endobj 1372 0 obj << /D [1345 0 R /XYZ 480.405 348.24 null] >> endobj 1373 0 obj << /D [1345 0 R /XYZ 71.731 336.12 null] >> endobj 1374 0 obj << /D [1345 0 R /XYZ 71.731 336.12 null] >> endobj 1375 0 obj << /D [1345 0 R /XYZ 71.731 325.138 null] >> endobj 1376 0 obj << /D [1345 0 R /XYZ 71.731 320.156 null] >> endobj 1377 0 obj << /D [1345 0 R /XYZ 71.731 302.312 null] >> endobj 1378 0 obj << /D [1345 0 R /XYZ 71.731 302.312 null] >> endobj 1379 0 obj << /D [1345 0 R /XYZ 174.247 289.46 null] >> endobj 1380 0 obj << /D [1345 0 R /XYZ 178.67 289.46 null] >> endobj 1381 0 obj << /D [1345 0 R /XYZ 71.731 287.896 null] >> endobj 1382 0 obj << /D [1345 0 R /XYZ 71.731 282.915 null] >> endobj 1383 0 obj << /D [1345 0 R /XYZ 71.731 264.389 null] >> endobj 1384 0 obj << /D [1345 0 R /XYZ 71.731 264.389 null] >> endobj 1385 0 obj << /D [1345 0 R /XYZ 71.731 251.438 null] >> endobj 1386 0 obj << /D [1345 0 R /XYZ 71.731 241.475 null] >> endobj 1387 0 obj << /D [1345 0 R /XYZ 71.731 241.475 null] >> endobj 1388 0 obj << /D [1345 0 R /XYZ 71.731 229.273 null] >> endobj 1389 0 obj << /D [1345 0 R /XYZ 71.731 224.292 null] >> endobj 1390 0 obj << /D [1345 0 R /XYZ 328.19 212.748 null] >> endobj 1391 0 obj << /D [1345 0 R /XYZ 361.614 212.748 null] >> endobj 1392 0 obj << /D [1345 0 R /XYZ 407.369 212.748 null] >> endobj 1393 0 obj << /D [1345 0 R /XYZ 179.328 199.797 null] >> endobj 1394 0 obj << /D [1345 0 R /XYZ 221.734 199.797 null] >> endobj 1395 0 obj << /D [1345 0 R /XYZ 258.76 199.797 null] >> endobj 1396 0 obj << /D [1345 0 R /XYZ 290.406 199.797 null] >> endobj 1397 0 obj << /D [1345 0 R /XYZ 327.229 199.797 null] >> endobj 1398 0 obj << /D [1345 0 R /XYZ 71.731 181.764 null] >> endobj 1399 0 obj << /D [1345 0 R /XYZ 71.731 181.764 null] >> endobj 1400 0 obj << /D [1345 0 R /XYZ 71.731 167.505 null] >> endobj 1401 0 obj << /D [1345 0 R /XYZ 71.731 162.523 null] >> endobj 1402 0 obj << /D [1345 0 R /XYZ 197.31 150.98 null] >> endobj 1403 0 obj << /D [1345 0 R /XYZ 336.896 150.98 null] >> endobj 1404 0 obj << /D [1345 0 R /XYZ 71.731 143.842 null] >> endobj 1405 0 obj << /D [1345 0 R /XYZ 71.731 143.842 null] >> endobj 1406 0 obj << /D [1345 0 R /XYZ 71.731 131.639 null] >> endobj 1407 0 obj << /D [1345 0 R /XYZ 71.731 126.658 null] >> endobj 1344 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1410 0 obj << /Length 1394 /Filter /FlateDecode >> stream xÚ½Xm£6þ¾¿"‰´ñaÀ|Üêöª«ªë©—~êU•NbpjÃíåßwì±!,Ù·ªªVZð0ÌËóÌŒMè"†?º(()R¸$’älQ67ñâO~¼¡^cåUV:?loÞ}HÓņlòt±Ý/X–f‹"MÈš%‹mõ{t:ü©—i Ó×ÝòíO7÷ÛÁ*K ²Y§Ï::sÏùb žs뙲 ÉâdQÄk’f™ó\‰ŽËÚº|÷!)Æ()Ü%ùbEÁ.DoUïÚå*I³H:©Z^Û‹Œ(U[ñ%ô%Bk¥QµÆðƒ@yé”ôY¶4J ÔóQ¸{¾;ª¾CîèNZíjÑÜâêá(Ë£·ÁÏ6x@aE²aÔ…ª{+‹£Náµ\婸ªe+ Á¤/Z]Éú(Ûî ðĤ9"G¦?„±X'HÐçC"¼C¡ $•¿%ûAˆÅÛ£4(wW@¤¢­D…Rg¤•Ü/í…Fù^«æ d€ èaxVâ¯*Ø2¸æ$ûM–د1‹O ¢è$¯ës°ÆOúIKÞ Ð (ÖÓƒ#ïòÈu…wû%ûe‡D¹hG°·GïQcË ÉÜ{¼J?úï*ऌt콪 –«4Î"ÓiWæöú m‡5ÇK%JÙØ± KÝ’²è`AA%KÞ/µxõÍåìöÚ„û!FT6Ó—À˜³þ}p¦®T@0UZ$–/¬L´5@iXÚ.†¸ž¥åk'ÚøWJ ˆ d¹ …a«ÇG6£‚RFšƒk™ÎÑg$]û§·¾[_;ŽP¥Ú‡Õnz-¼–ïí£ý­ò±ïÎÝ…’ÁO’Iú–iñý©qÁ¼n2Ž :í¦ æäÈÅòAŒ:ÔþÍ0Gåqö‚L•P +Áågè Ñ5%µ“ÕM @Y÷•ð+ŽKh_ýå_“jÁø;ÀKìì³0겓vD|³{Ô?ÿì;ºoKd…FECÁ8sžÏj½ÂÖ¾³O¡ˆl{Ö M‹r¨S_Oö8›0·—0^CÛ¤ÂkÑòFLºÈ¨^‡”JUÙ»lÕj ›Ùù/Biï íc7MHî¤tgù|UF 2zÔ³î ¬þ¾Ù _È ¨¬ÂûÿWj¡ŽÞFØÛ¨òåê·òË0ñø2O‹±èZüéNypadm%Ñ :º}5ö QŽ‘Œ3l¬U_†‰fgótg|RDi¥dõª>>Æ®TM3ÌÝ «¼ûÞÀІ‚Sûã§/÷¿nçná`œ›éhüýòñý,ÊÖ[E>}eÇÐÃ2σ eÏÒxõøúT/cÓ-}í°íáè`ÞFÚµ.òQ™ñ¸Ô9ËÇ"ak®×mHdw~”çß½€q˜_/·kÜ–MõÖøS–ñ§ w%+ã·«1~ˆS°b#ÃJlÖLlûª!£<ÎZ%é­ÙÈšk\à‰ešl ß1EÌ|¡> endobj 1411 0 obj << /D [1409 0 R /XYZ 71.731 718.306 null] >> endobj 1412 0 obj << /D [1409 0 R /XYZ 71.731 718.306 null] >> endobj 1413 0 obj << /D [1409 0 R /XYZ 71.731 708.155 null] >> endobj 1414 0 obj << /D [1409 0 R /XYZ 71.731 703.174 null] >> endobj 1415 0 obj << /D [1409 0 R /XYZ 71.731 670.321 null] >> endobj 1416 0 obj << /D [1409 0 R /XYZ 71.731 670.321 null] >> endobj 1417 0 obj << /D [1409 0 R /XYZ 71.731 659.339 null] >> endobj 1418 0 obj << /D [1409 0 R /XYZ 71.731 654.357 null] >> endobj 1419 0 obj << /D [1409 0 R /XYZ 71.731 621.504 null] >> endobj 1420 0 obj << /D [1409 0 R /XYZ 71.731 603.572 null] >> endobj 1421 0 obj << /D [1409 0 R /XYZ 71.731 603.572 null] >> endobj 1422 0 obj << /D [1409 0 R /XYZ 71.731 591.369 null] >> endobj 1423 0 obj << /D [1409 0 R /XYZ 71.731 586.388 null] >> endobj 1424 0 obj << /D [1409 0 R /XYZ 71.731 554.755 null] >> endobj 1425 0 obj << /D [1409 0 R /XYZ 294.544 543.96 null] >> endobj 1426 0 obj << /D [1409 0 R /XYZ 71.731 536.822 null] >> endobj 1427 0 obj << /D [1409 0 R /XYZ 71.731 536.822 null] >> endobj 1428 0 obj << /D [1409 0 R /XYZ 71.731 525.839 null] >> endobj 1429 0 obj << /D [1409 0 R /XYZ 71.731 520.858 null] >> endobj 1430 0 obj << /D [1409 0 R /XYZ 71.731 488.005 null] >> endobj 1431 0 obj << /D [1409 0 R /XYZ 71.731 488.005 null] >> endobj 1432 0 obj << /D [1409 0 R /XYZ 71.731 477.022 null] >> endobj 1433 0 obj << /D [1409 0 R /XYZ 71.731 472.041 null] >> endobj 1434 0 obj << /D [1409 0 R /XYZ 71.731 452.14 null] >> endobj 1435 0 obj << /D [1409 0 R /XYZ 71.731 452.14 null] >> endobj 1436 0 obj << /D [1409 0 R /XYZ 71.731 441.157 null] >> endobj 1437 0 obj << /D [1409 0 R /XYZ 71.731 436.175 null] >> endobj 1438 0 obj << /D [1409 0 R /XYZ 71.731 416.274 null] >> endobj 1439 0 obj << /D [1409 0 R /XYZ 71.731 416.274 null] >> endobj 1440 0 obj << /D [1409 0 R /XYZ 71.731 405.291 null] >> endobj 1441 0 obj << /D [1409 0 R /XYZ 71.731 400.31 null] >> endobj 1442 0 obj << /D [1409 0 R /XYZ 71.731 364.633 null] >> endobj 1443 0 obj << /D [1409 0 R /XYZ 71.731 364.633 null] >> endobj 1444 0 obj << /D [1409 0 R /XYZ 71.731 351.493 null] >> endobj 1445 0 obj << /D [1409 0 R /XYZ 71.731 346.512 null] >> endobj 1446 0 obj << /D [1409 0 R /XYZ 71.731 326.61 null] >> endobj 1447 0 obj << /D [1409 0 R /XYZ 71.731 326.61 null] >> endobj 1448 0 obj << /D [1409 0 R /XYZ 71.731 315.627 null] >> endobj 1449 0 obj << /D [1409 0 R /XYZ 71.731 310.646 null] >> endobj 1450 0 obj << /D [1409 0 R /XYZ 254.754 297.883 null] >> endobj 1451 0 obj << /D [1409 0 R /XYZ 71.731 291.462 null] >> endobj 1452 0 obj << /D [1409 0 R /XYZ 71.731 291.462 null] >> endobj 1453 0 obj << /D [1409 0 R /XYZ 71.731 278.543 null] >> endobj 1454 0 obj << /D [1409 0 R /XYZ 71.731 273.561 null] >> endobj 1455 0 obj << /D [1409 0 R /XYZ 71.731 254.879 null] >> endobj 1456 0 obj << /D [1409 0 R /XYZ 71.731 254.879 null] >> endobj 1457 0 obj << /D [1409 0 R /XYZ 71.731 242.677 null] >> endobj 1458 0 obj << /D [1409 0 R /XYZ 71.731 237.696 null] >> endobj 1459 0 obj << /D [1409 0 R /XYZ 468.107 226.152 null] >> endobj 1460 0 obj << /D [1409 0 R /XYZ 203.725 213.2 null] >> endobj 1461 0 obj << /D [1409 0 R /XYZ 255.372 213.2 null] >> endobj 1462 0 obj << /D [1409 0 R /XYZ 71.731 206.436 null] >> endobj 1463 0 obj << /D [1409 0 R /XYZ 71.731 206.436 null] >> endobj 1464 0 obj << /D [1409 0 R /XYZ 71.731 195.079 null] >> endobj 1465 0 obj << /D [1409 0 R /XYZ 71.731 190.098 null] >> endobj 1466 0 obj << /D [1409 0 R /XYZ 71.731 170.57 null] >> endobj 1467 0 obj << /D [1409 0 R /XYZ 71.731 170.57 null] >> endobj 1468 0 obj << /D [1409 0 R /XYZ 182.516 159.402 null] >> endobj 1469 0 obj << /D [1409 0 R /XYZ 71.731 157.995 null] >> endobj 1470 0 obj << /D [1409 0 R /XYZ 71.731 153.013 null] >> endobj 1471 0 obj << /D [1409 0 R /XYZ 393.402 141.469 null] >> endobj 1408 0 obj << /Font << /F33 842 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1475 0 obj << /Length 1642 /Filter /FlateDecode >> stream xÚ­]oÛ6ð=¿Â2±")êãiH“tk±µEctë胶ÕÉ’'ÉMÝaÿ}w<Ê’-§H¶Á:÷}Ç£ù̃Ÿ…œ…>"f"P³lsáÍV°óã·®%qG4//^I9‹YÈÙb9SžÇ”ôg¡,Rb¶Ès¶«ûf.CG·»²›ÿ¾xsq»8pU2dq$¿+¸§™JfHP2—1óÃpz“¾o$»IÛ«*ÝùWüâ•/†h-#¤IÓ$û·ÉFݘ³’,Œ{º¦|¸l·ºÊÛ®™rñ#úü˜‹Ϲ\•R€_i讌þsW†ÂéÖš€Æ8²µØš¾‰¥2v¸k‹juröË\(')wÚ¯—'Ÿï÷±_Á«a(,]a…¬ ôÔ¢­  º„St„鉉¹Î-]M_dk¢i<”Ó+mù¶ëºé.3 ²’EXBÆ'TIYÎ]ß t.à hSˆl/§ZpH†{÷/´“ZO·ßêwE>,îŠoÛÑßg¢O0èy$–Zïࢳ-ÉX‹/ ÏŽb]éSduÕõwªñP ÙYžD(Oº¤²ë›%ùˆðÏnìöÄh>ÁçÄÑÑÀkWfâàg 5–罃Fo!uÕK0ííÉۼȞ±H5àc¨N?ë~(º5A¤v²c´Z¬ ˧Ò:· ÞÞ"òu‚ãM0ƒ”¢®p”jöDÔî¶Ûº±òh¾(J»¤AÀÈÉJð¢ÆÅxp#«"¦ðN†ÐH/°£ §hB5ЭnŠ QÜé ÍFS¬Ö•m–AàX60fdš@£rA„Y'-aªÚ2HµÐÕèR'­=º×Ý%¡­ZöAÌÕûׄÉê]™ŸH³uR­4ú;ÍÄ&âÀ©›ï9DÁWWIŠ•¥-"sIà¾ÞÑ)ŒÑñ¡$ÏÏô£8€»JÙVâÞütõñö~qýóýÛÛ_o^_/Þ½|s®ÿp&yßÄzþ”6 ú—„FPœiΑrÒ‡–5Žâ¸&Š ŸÅ^hEÜܾº;3€ùÌë• ‡DS$i©ÏQ±ÈG¥áV»²¼ÿ‚ãß=Œê¦iaó=ó¤â^ÈTÜ7\K<oÌ0þÞ‹JxÌøQ%ß/U沃 1­<”zxØm[™ªWÁ"Íý ؇¢, —ꟾÃvÙ³GË 5~€áމ à©÷ZCðAá%7¡'îCü§™üJôG¹zŒ9Šç¸pZÝ6ÝO}qˆmïpx±Oc5ÍJ˜ÇÃÙÃó%døE™Æ/€8ȶ]›å%ጸ4eE{”·ÝL–hÕÚfKˆº*÷ö9ÃÝn^ÌCŽ[‡Ûì_ôú ºKó¤fm(OŸ›éDƒ`{É¥Ÿ¡…€V!gÜgÒ'E$¼m€y1®Æ7 œ #çã<ðLÖLÕòpÚd4ÃC‹ãëÍÚ¼Žû)âDah¤ØÙ²Ã£¤Þâ=b¯á¤íyàC0íi’´Æ<£dc§êØŠ|è<üîIÉô¯$xuyÞ Z'û÷h*é¤Þvendstream endobj 1474 0 obj << /Type /Page /Contents 1475 0 R /Resources 1473 0 R /MediaBox [0 0 609.714 789.041] /Parent 1472 0 R >> endobj 1476 0 obj << /D [1474 0 R /XYZ 71.731 718.306 null] >> endobj 1477 0 obj << /D [1474 0 R /XYZ 71.731 718.306 null] >> endobj 1478 0 obj << /D [1474 0 R /XYZ 209.415 708.344 null] >> endobj 1479 0 obj << /D [1474 0 R /XYZ 263.213 708.344 null] >> endobj 1480 0 obj << /D [1474 0 R /XYZ 268.593 708.344 null] >> endobj 1481 0 obj << /D [1474 0 R /XYZ 71.731 706.936 null] >> endobj 1482 0 obj << /D [1474 0 R /XYZ 71.731 701.955 null] >> endobj 1483 0 obj << /D [1474 0 R /XYZ 275.461 677.46 null] >> endobj 1484 0 obj << /D [1474 0 R /XYZ 159.402 651.557 null] >> endobj 1485 0 obj << /D [1474 0 R /XYZ 71.731 645.168 null] >> endobj 1486 0 obj << /D [1474 0 R /XYZ 71.731 645.168 null] >> endobj 1487 0 obj << /D [1474 0 R /XYZ 193.275 633.624 null] >> endobj 1488 0 obj << /D [1474 0 R /XYZ 71.731 632.216 null] >> endobj 1489 0 obj << /D [1474 0 R /XYZ 71.731 627.235 null] >> endobj 1490 0 obj << /D [1474 0 R /XYZ 71.731 610.61 null] >> endobj 1491 0 obj << /D [1474 0 R /XYZ 71.731 610.61 null] >> endobj 1492 0 obj << /D [1474 0 R /XYZ 204.035 597.758 null] >> endobj 1493 0 obj << /D [1474 0 R /XYZ 258.156 597.758 null] >> endobj 1494 0 obj << /D [1474 0 R /XYZ 71.731 596.351 null] >> endobj 1495 0 obj << /D [1474 0 R /XYZ 71.731 591.369 null] >> endobj 1496 0 obj << /D [1474 0 R /XYZ 314.518 579.826 null] >> endobj 1497 0 obj << /D [1474 0 R /XYZ 71.731 561.793 null] >> endobj 1498 0 obj << /D [1474 0 R /XYZ 71.731 561.793 null] >> endobj 1499 0 obj << /D [1474 0 R /XYZ 71.731 548.753 null] >> endobj 1500 0 obj << /D [1474 0 R /XYZ 71.731 543.772 null] >> endobj 1501 0 obj << /D [1474 0 R /XYZ 71.731 525.928 null] >> endobj 1502 0 obj << /D [1474 0 R /XYZ 71.731 525.928 null] >> endobj 1503 0 obj << /D [1474 0 R /XYZ 71.731 512.888 null] >> endobj 1504 0 obj << /D [1474 0 R /XYZ 71.731 507.906 null] >> endobj 1505 0 obj << /D [1474 0 R /XYZ 260.143 495.143 null] >> endobj 1506 0 obj << /D [1474 0 R /XYZ 71.731 488.722 null] >> endobj 1507 0 obj << /D [1474 0 R /XYZ 71.731 488.722 null] >> endobj 1508 0 obj << /D [1474 0 R /XYZ 71.731 477.022 null] >> endobj 1509 0 obj << /D [1474 0 R /XYZ 71.731 472.041 null] >> endobj 1510 0 obj << /D [1474 0 R /XYZ 71.731 452.14 null] >> endobj 1511 0 obj << /D [1474 0 R /XYZ 71.731 452.14 null] >> endobj 1512 0 obj << /D [1474 0 R /XYZ 71.731 441.157 null] >> endobj 1513 0 obj << /D [1474 0 R /XYZ 71.731 436.175 null] >> endobj 1514 0 obj << /D [1474 0 R /XYZ 71.731 416.274 null] >> endobj 1515 0 obj << /D [1474 0 R /XYZ 71.731 416.274 null] >> endobj 1516 0 obj << /D [1474 0 R /XYZ 71.731 405.291 null] >> endobj 1517 0 obj << /D [1474 0 R /XYZ 71.731 400.31 null] >> endobj 1518 0 obj << /D [1474 0 R /XYZ 355.517 361.644 null] >> endobj 1519 0 obj << /D [1474 0 R /XYZ 184.309 348.692 null] >> endobj 1520 0 obj << /D [1474 0 R /XYZ 71.731 343.523 null] >> endobj 1521 0 obj << /D [1474 0 R /XYZ 71.731 343.523 null] >> endobj 1522 0 obj << /D [1474 0 R /XYZ 241.694 330.76 null] >> endobj 1523 0 obj << /D [1474 0 R /XYZ 247.073 330.76 null] >> endobj 1524 0 obj << /D [1474 0 R /XYZ 71.731 329.352 null] >> endobj 1525 0 obj << /D [1474 0 R /XYZ 71.731 324.371 null] >> endobj 1526 0 obj << /D [1474 0 R /XYZ 240.418 299.875 null] >> endobj 1527 0 obj << /D [1474 0 R /XYZ 71.731 279.786 null] >> endobj 1528 0 obj << /D [1474 0 R /XYZ 71.731 279.786 null] >> endobj 1529 0 obj << /D [1474 0 R /XYZ 71.731 268.803 null] >> endobj 1530 0 obj << /D [1474 0 R /XYZ 71.731 263.822 null] >> endobj 1531 0 obj << /D [1474 0 R /XYZ 71.731 192.279 null] >> endobj 214 0 obj << /D [1474 0 R /XYZ 207.177 152.907 null] >> endobj 1532 0 obj << /D [1474 0 R /XYZ 71.731 145.554 null] >> endobj 1473 0 obj << /Font << /F33 842 0 R /F36 908 0 R /F42 968 0 R /F27 756 0 R /F23 749 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1535 0 obj << /Length 1158 /Filter /FlateDecode >> stream xÚ¥WmÛ6 þ~¿Â ÖôbùeûÔm×aC1l¸`_Öapl]bÌ‘SÉnwýõ£D9Nb¯Y1pRdš|H>$eQøcQÎH.`á%ᙌêãöðä‡$Ò,#\rد$Ád"J"rî ?½èþd[{v¤|^š3"ÚÁºâMÊgi)H^Á›º×z“d”Âîx¬tó4˜VïáHæqΰØT/¿¹]&²ødúZ5£Qk˜sIË£$ÌBzõß+[›ö4´½^žâ/ïÆŸ‘´”±wÇv°›DÐÒEÒ-ïGFØñ;*éÒTNI–± áéñíãwÛ¥øe6™ªA•@!C+CVH›K¯ÛÿÒÛaoÔÓ¯oñ·UæÌP7¸Qîôoÿ^¯ÇA]»°o7|âÆ£ú0ê¿Ì(a2‡sØpRJæ:6 ºúÆá<~î ©ª>à‘éÚxÜj\=9ýSON‚§Ûƒ:“å–1B‹ìÌ–KŽ,X@žò©NŽ£Pñ.X«–yI9)˜¸Ÿ—´`·yù•WÚ…ìe8xÖ:3.¾U8 +d‡…dÔ0íÃÏÝû° H˜èI<_F!IÉÒ€¤2¡2ÖøÊJÄ>¸T¦­vBÕ­E“hš£"ÜjרüÃѪ&ˆ1Ì> endobj 854 0 obj << /D [1534 0 R /XYZ 71.731 718.306 null] >> endobj 222 0 obj << /D [1534 0 R /XYZ 151.145 706.118 null] >> endobj 1536 0 obj << /D [1534 0 R /XYZ 71.731 693.68 null] >> endobj 1537 0 obj << /D [1534 0 R /XYZ 71.731 693.68 null] >> endobj 1538 0 obj << /D [1534 0 R /XYZ 158.616 668.1 null] >> endobj 1539 0 obj << /D [1534 0 R /XYZ 173.35 647.976 null] >> endobj 1540 0 obj << /D [1534 0 R /XYZ 71.731 645.819 null] >> endobj 1541 0 obj << /D [1534 0 R /XYZ 71.731 645.819 null] >> endobj 226 0 obj << /D [1534 0 R /XYZ 183.334 608.604 null] >> endobj 1542 0 obj << /D [1534 0 R /XYZ 71.731 595.671 null] >> endobj 1543 0 obj << /D [1534 0 R /XYZ 194.869 586.985 null] >> endobj 1544 0 obj << /D [1534 0 R /XYZ 221.768 586.985 null] >> endobj 1545 0 obj << /D [1534 0 R /XYZ 297.597 586.985 null] >> endobj 1546 0 obj << /D [1534 0 R /XYZ 346.338 586.985 null] >> endobj 1547 0 obj << /D [1534 0 R /XYZ 71.731 575.614 null] >> endobj 230 0 obj << /D [1534 0 R /XYZ 198.469 537.65 null] >> endobj 1548 0 obj << /D [1534 0 R /XYZ 71.731 527.507 null] >> endobj 1549 0 obj << /D [1534 0 R /XYZ 71.731 527.507 null] >> endobj 1550 0 obj << /D [1534 0 R /XYZ 241.708 517.525 null] >> endobj 1551 0 obj << /D [1534 0 R /XYZ 347.725 517.525 null] >> endobj 1552 0 obj << /D [1534 0 R /XYZ 280.638 504.574 null] >> endobj 1553 0 obj << /D [1534 0 R /XYZ 404.93 504.574 null] >> endobj 1554 0 obj << /D [1534 0 R /XYZ 205.466 491.622 null] >> endobj 1555 0 obj << /D [1534 0 R /XYZ 490.162 491.622 null] >> endobj 1556 0 obj << /D [1534 0 R /XYZ 474.38 478.671 null] >> endobj 1557 0 obj << /D [1534 0 R /XYZ 71.731 460.639 null] >> endobj 1558 0 obj << /D [1534 0 R /XYZ 459.662 447.787 null] >> endobj 1559 0 obj << /D [1534 0 R /XYZ 71.731 435.667 null] >> endobj 1560 0 obj << /D [1534 0 R /XYZ 71.731 435.667 null] >> endobj 1561 0 obj << /D [1534 0 R /XYZ 71.731 424.684 null] >> endobj 1562 0 obj << /D [1534 0 R /XYZ 71.731 419.703 null] >> endobj 1563 0 obj << /D [1534 0 R /XYZ 71.731 399.802 null] >> endobj 1564 0 obj << /D [1534 0 R /XYZ 71.731 399.802 null] >> endobj 1565 0 obj << /D [1534 0 R /XYZ 71.731 388.819 null] >> endobj 1566 0 obj << /D [1534 0 R /XYZ 71.731 383.837 null] >> endobj 1567 0 obj << /D [1534 0 R /XYZ 71.731 363.936 null] >> endobj 1568 0 obj << /D [1534 0 R /XYZ 71.731 363.936 null] >> endobj 1569 0 obj << /D [1534 0 R /XYZ 71.731 351.734 null] >> endobj 1570 0 obj << /D [1534 0 R /XYZ 71.731 346.753 null] >> endobj 1571 0 obj << /D [1534 0 R /XYZ 71.731 294.362 null] >> endobj 234 0 obj << /D [1534 0 R /XYZ 195.055 254.99 null] >> endobj 1572 0 obj << /D [1534 0 R /XYZ 71.731 251.798 null] >> endobj 1573 0 obj << /D [1534 0 R /XYZ 71.731 237.452 null] >> endobj 1574 0 obj << /D [1534 0 R /XYZ 71.731 237.452 null] >> endobj 1575 0 obj << /D [1534 0 R /XYZ 71.731 227.483 null] >> endobj 1576 0 obj << /D [1534 0 R /XYZ 71.731 222.502 null] >> endobj 1577 0 obj << /D [1534 0 R /XYZ 71.731 202.621 null] >> endobj 1578 0 obj << /D [1534 0 R /XYZ 71.731 202.621 null] >> endobj 1579 0 obj << /D [1534 0 R /XYZ 71.731 190.262 null] >> endobj 1580 0 obj << /D [1534 0 R /XYZ 71.731 185.281 null] >> endobj 1581 0 obj << /D [1534 0 R /XYZ 71.731 166.756 null] >> endobj 1582 0 obj << /D [1534 0 R /XYZ 71.731 166.756 null] >> endobj 1583 0 obj << /D [1534 0 R /XYZ 71.731 154.397 null] >> endobj 1584 0 obj << /D [1534 0 R /XYZ 71.731 149.416 null] >> endobj 1585 0 obj << /D [1534 0 R /XYZ 71.731 48.817 null] >> endobj 1533 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1588 0 obj << /Length 538 /Filter /FlateDecode >> stream xÚ}”ÛŠÛ0†ïó"ì‚]°VgÙí]KR(=ÀÖôf»ÕÖ&‚´¥ôÝ;²älg_hFúg¾™AE>Š4ÅšÃÂ2Ì”DE½"h'oW4(’ IN4¯óÕÍ–s”áLq”? I¦Z"ÍN%Cyyvßz[Ùbˆïów«M~Ì(¹ÆYÊŸ…ΚU°G*¥–@Ó$Å\OíÚ–cgõfËô‰,&QB!5ïÔùÞÆ “ä$lr‡Ö¯ÝØxã¡í¼aM±g6¦Ñ0v-ÃF3ýŒ•Œp sD”¦>™ùŠa–ª‰k]×iô%V$2Õx¡r‚†`ô±mì…ü àH?‡Í/S*Û?L„ üèCg1•Ñ5혾ëÙöЮfg”ù^…b¸B)0¦Z¨ÈpʰcÑe%\`­ƒfo§h«±núeNÉ0¢½¼h›¡k«eN­‰,¨LS^¨MáôˆmL}aÞL`Bƒâ+‘Äåñ×Äv{s•¶0…®‡súrIIX¦0å ŠÍÎ~‰D]vÐGãõçMœÐèýæMî7^øe{û郷ü_­½gºÎüöæ‡GÀ‘ÀI(ð¤¿^‡qè½ä.pmw}-Ko]÷Ž2^M)]¿aº®µó#70·?1“ÿ z‚þ=ÿßÃ"RœRýìó(Y¾0œcBŽYˆ=õ°,IÿcO2ìendstream endobj 1587 0 obj << /Type /Page /Contents 1588 0 R /Resources 1586 0 R /MediaBox [0 0 609.714 789.041] /Parent 1472 0 R >> endobj 1589 0 obj << /D [1587 0 R /XYZ 71.731 718.306 null] >> endobj 1590 0 obj << /D [1587 0 R /XYZ 71.731 718.306 null] >> endobj 1591 0 obj << /D [1587 0 R /XYZ 71.731 706.78 null] >> endobj 1592 0 obj << /D [1587 0 R /XYZ 71.731 701.798 null] >> endobj 238 0 obj << /D [1587 0 R /XYZ 207.177 628.125 null] >> endobj 1593 0 obj << /D [1587 0 R /XYZ 71.731 620.772 null] >> endobj 1594 0 obj << /D [1587 0 R /XYZ 71.731 602.919 null] >> endobj 242 0 obj << /D [1587 0 R /XYZ 186.533 563.646 null] >> endobj 1595 0 obj << /D [1587 0 R /XYZ 71.731 553.504 null] >> endobj 1596 0 obj << /D [1587 0 R /XYZ 269.378 543.522 null] >> endobj 1597 0 obj << /D [1587 0 R /XYZ 356.172 543.522 null] >> endobj 1598 0 obj << /D [1587 0 R /XYZ 413.198 543.522 null] >> endobj 1599 0 obj << /D [1587 0 R /XYZ 71.731 531.402 null] >> endobj 1586 0 obj << /Font << /F33 842 0 R /F42 968 0 R /F27 756 0 R /F23 749 0 R /F36 908 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1602 0 obj << /Length 2128 /Filter /FlateDecode >> stream xÚYëoÛ8ÿÞ¿Âm æ‰/Qú´èî¦EE»—÷e»(d›Nt'K>=šÍCÎPKIƒ!Eg†ÃyüHóU|e83‘2ëÕáü.Z=ÀÌÇwœ(T3¡ô&·Z–&rµqøu÷î„\qÃ׫ݩ—Å,V»ãŸëËÃw»ázý÷†Gk{èZ»ùk÷O\§˜T±[§ KH‘ ‹xâ×}ÉÎD)ãUÊÒX:ÂhµãBõ¼ÿó4e,@Í8ÂoB˜ÍVèhÝØòˆ½ ›ÿu¶~¦‘0U]Ú¼*³¢ ‰bÃ×Uu¡I·›q¤}´Ø©mÓm³°Á-©³•)“Fz¥îŸËêÒäM¿Ët÷Ô‚3ÍSØ*g1´W[ÝÆQ´þe›ÕuöŒk•Öò$qC÷DÿÎê¹ %™Œ9‘ý˜VùqÎH#™)P,ò“‚Å‘èù-èÅL8ŽCU–(ñPÏ`öû¶Îˇ9S·#ÌË\5ë»ÔÕÁ»Ú.ì5a ì8á2=êE0´Up>R{Âßms¨sï s–owD a•áM·?çà!c$/UcŸRéúªij{ÿ¯ÏÁëà|Z¯™“щ2¶‰©Dïútú$&FÐÄÀGÞ`[V­ëÐe¶Å4eQ¿¿ý|ûÛn¾;©—asmÖÚ³-Û›+ÑewÞû`~EzÕÕFèõé‘Ü×ÉZKîŸQ±×õ¯mÛÕ¥=2ü„M{{p©@-gÁRͽvÄH)b¤ öç0 KT‘O_îoï^0¿6@àIB2lðñ‚” í•ÐëòL  F¸Á‘FPo½þúéw$GªaG9-z‘5Èn«ÚÉ:\z« u0MçåU.ûá˜duží ÛÇÝàÔP¤YH Ó$Ì@]@¢üt% $Ùæ “Á4æ,bfÒ´Ïqž¬:2<°Î)Àšîr)rç¸ïD2®8…‰Â$å¤V:ŽFõŒ ]ˆàkõ†è0z)NM©Ð  §Bà ×Õ´éB´èÎ%öK v3j‰N{e Bžñ+/ùÁ6Ä× qˉÓX§f`~ÄÕûgÊ¥¸yêˆÌ ô½^7ØG‡‰|¶*ûv^ösG`^±\¿&–Õ,ékµ÷IàP•FTE x#C;¸¾ÿüéè+TžmMúÍ5 –ªôçme¬X 14v  ßƒmýiÈõ9û¯‡|p> ŽöÂ#‘ëªD2A^!ÙÊA÷ ÖæE˜ê±ŸC7O9ÕQûÇPaÃGwÈX UÈÉ?M–4HÑØ"T ˜Ë›±àE¢I•Ý-ZѰX½éTSrè!s[ã1„ƒS—‡`€‘Ý¡ÀJMÍNŠ™2!ööµÛ/%ͤOš7 ( 4¸J· õ Þ †Îý—@,7Á txó©˜ÛSÞ>"Ch!býüFöö1Û(Q9`ñõI€q´ï—ªµÁŲ–Žvät³ã‹9K´~ÃùÅPùƒÁ®¢qáŒd̤?³€w“ެ‹J.€¡òõØ÷uü9¨y¬,y5"¿«¸j_‹• Fóæ† ^ GæÅ1ó(t^ÕB#Ñã„ÇSôpê¥õ¼v0zêʃ‡è~òé1÷&àäüM-?ú- ÄÛ0©ÑÖmñËïN„"êÚ ÖT§ÓC‰’äÃwL‹1ŽÂKðÇHî¶x)²ÃÂue+µaQ2hd®…€„kH¯M€q'ÜæéþzÈKèéÑÖÀ²Ëftí€ÛÆÕUû {a§Ð ÝÇu¬=ö‹t¬No¤Vîò²áýål°EÞGœ¶u]ÕÍÍR~ "ßâ삌÷ùÄÕÇØÃ蹑 Ÿ[¥–(š¦Ê#Ž…Èèé!@ž\M«¶pâ7Ý\‘7-Ãy_lÜØ·(uÓð„8áW€»ç ŒA«šdí]ZÒÆMª£P0ÚtÞ·a0[ªîÎcÂÞÿøxw{ÿýÃûÝûÏßoïî¾ÞÍm•r¦t<Ê5^#J@GpB-ÔéœÎÊzxñ›pÙ¹¢¯3dKž"„f1h3Nƒ«@{®œŸJH÷®ÊÛ:¯º¿ƒ—x2´‰ëe ¶'wBY^ta½ómIå³+óCÖZÀz#C­d…m¨h©NŠÔÁ±7¦ÞTMÑ <Ñé’'b Ó‚%Q2uò‡ñ#UŸ·¡ÿŸ®i¯®Wa 5àÔ&{ ñÉ9\=ƒ@‚Vð¡1A¿¯%Þ«šåÃDŠÏu/=GIÀB:]|šàIÈFªI¸‡šŸ»8ò¹+ÉÉDzãÏÞ&ÂÀoÔÂÐ> 3¤? í3 ` gBÔxSºÁQ¸]ŒŠü÷$ Uƒþ†@j6j}÷Òhß>”t)s§9(1pUPªGg³W³±1÷ÔfÆÕsœ°î²’ê?»Ë*fÌõUv¡ÊV0L›dr–Ë‹DúÒ+‚ȼæc¯'ÏÐzÆðÈ6x8C_ÌÊðÜpؾ·@çTWç|K@L°Ø$?{&ëÅéÂ;‘ŽwèíI4:[¸’‹*œ“ëŸSg9ô„žÝVf½º~˜qìlÀTŽ Ä42¶™í õÎy7õÛxw»ëL _ Ôtnm Ší@âk€m ¹UÂE$âþ(…9ˆ_ ?ZÌ%ýŠÈ}/endstream endobj 1601 0 obj << /Type /Page /Contents 1602 0 R /Resources 1600 0 R /MediaBox [0 0 609.714 789.041] /Parent 1472 0 R >> endobj 855 0 obj << /D [1601 0 R /XYZ 71.731 718.306 null] >> endobj 250 0 obj << /D [1601 0 R /XYZ 166.019 706.652 null] >> endobj 1603 0 obj << /D [1601 0 R /XYZ 71.731 694.214 null] >> endobj 1604 0 obj << /D [1601 0 R /XYZ 71.731 694.214 null] >> endobj 1605 0 obj << /D [1601 0 R /XYZ 158.616 668.634 null] >> endobj 1606 0 obj << /D [1601 0 R /XYZ 179.328 648.51 null] >> endobj 1607 0 obj << /D [1601 0 R /XYZ 71.731 646.353 null] >> endobj 1608 0 obj << /D [1601 0 R /XYZ 71.731 646.353 null] >> endobj 254 0 obj << /D [1601 0 R /XYZ 183.334 609.137 null] >> endobj 1609 0 obj << /D [1601 0 R /XYZ 71.731 596.205 null] >> endobj 1610 0 obj << /D [1601 0 R /XYZ 200.249 587.518 null] >> endobj 1611 0 obj << /D [1601 0 R /XYZ 243.288 587.518 null] >> endobj 1612 0 obj << /D [1601 0 R /XYZ 297.409 587.518 null] >> endobj 1613 0 obj << /D [1601 0 R /XYZ 329.687 587.518 null] >> endobj 1614 0 obj << /D [1601 0 R /XYZ 373.049 587.518 null] >> endobj 1615 0 obj << /D [1601 0 R /XYZ 399.948 587.518 null] >> endobj 1616 0 obj << /D [1601 0 R /XYZ 475.776 587.518 null] >> endobj 1617 0 obj << /D [1601 0 R /XYZ 481.156 587.518 null] >> endobj 1618 0 obj << /D [1601 0 R /XYZ 71.731 576.148 null] >> endobj 258 0 obj << /D [1601 0 R /XYZ 198.469 538.183 null] >> endobj 1619 0 obj << /D [1601 0 R /XYZ 71.731 528.041 null] >> endobj 1620 0 obj << /D [1601 0 R /XYZ 71.731 528.041 null] >> endobj 1621 0 obj << /D [1601 0 R /XYZ 282.938 518.059 null] >> endobj 1622 0 obj << /D [1601 0 R /XYZ 71.731 510.921 null] >> endobj 1623 0 obj << /D [1601 0 R /XYZ 218.561 500.126 null] >> endobj 1624 0 obj << /D [1601 0 R /XYZ 198.393 487.175 null] >> endobj 1625 0 obj << /D [1601 0 R /XYZ 178.789 474.223 null] >> endobj 1626 0 obj << /D [1601 0 R /XYZ 275.894 474.223 null] >> endobj 1627 0 obj << /D [1601 0 R /XYZ 71.731 467.085 null] >> endobj 1628 0 obj << /D [1601 0 R /XYZ 203.206 456.291 null] >> endobj 1629 0 obj << /D [1601 0 R /XYZ 119.552 443.339 null] >> endobj 1630 0 obj << /D [1601 0 R /XYZ 280.374 430.388 null] >> endobj 1631 0 obj << /D [1601 0 R /XYZ 484.184 430.388 null] >> endobj 1632 0 obj << /D [1601 0 R /XYZ 71.731 410.298 null] >> endobj 1633 0 obj << /D [1601 0 R /XYZ 137.192 399.503 null] >> endobj 1634 0 obj << /D [1601 0 R /XYZ 299.611 399.503 null] >> endobj 1635 0 obj << /D [1601 0 R /XYZ 331.15 399.503 null] >> endobj 1636 0 obj << /D [1601 0 R /XYZ 395.362 399.503 null] >> endobj 1637 0 obj << /D [1601 0 R /XYZ 181.407 386.552 null] >> endobj 1638 0 obj << /D [1601 0 R /XYZ 273.849 386.552 null] >> endobj 1639 0 obj << /D [1601 0 R /XYZ 330.416 386.552 null] >> endobj 1640 0 obj << /D [1601 0 R /XYZ 71.731 368.52 null] >> endobj 1641 0 obj << /D [1601 0 R /XYZ 71.731 368.52 null] >> endobj 1642 0 obj << /D [1601 0 R /XYZ 426.027 355.668 null] >> endobj 1643 0 obj << /D [1601 0 R /XYZ 119.552 342.716 null] >> endobj 1644 0 obj << /D [1601 0 R /XYZ 71.731 335.578 null] >> endobj 1645 0 obj << /D [1601 0 R /XYZ 228.382 324.784 null] >> endobj 1646 0 obj << /D [1601 0 R /XYZ 253.722 311.832 null] >> endobj 1647 0 obj << /D [1601 0 R /XYZ 415.42 298.881 null] >> endobj 1648 0 obj << /D [1601 0 R /XYZ 71.731 278.791 null] >> endobj 262 0 obj << /D [1601 0 R /XYZ 195.055 241.576 null] >> endobj 1649 0 obj << /D [1601 0 R /XYZ 71.731 238.384 null] >> endobj 1650 0 obj << /D [1601 0 R /XYZ 71.731 224.038 null] >> endobj 1651 0 obj << /D [1601 0 R /XYZ 71.731 224.038 null] >> endobj 1652 0 obj << /D [1601 0 R /XYZ 157.21 214.278 null] >> endobj 1653 0 obj << /D [1601 0 R /XYZ 71.731 212.87 null] >> endobj 1654 0 obj << /D [1601 0 R /XYZ 71.731 207.889 null] >> endobj 1655 0 obj << /D [1601 0 R /XYZ 210.32 183.394 null] >> endobj 1656 0 obj << /D [1601 0 R /XYZ 322.36 183.394 null] >> endobj 1657 0 obj << /D [1601 0 R /XYZ 71.731 176.256 null] >> endobj 1658 0 obj << /D [1601 0 R /XYZ 71.731 176.256 null] >> endobj 1659 0 obj << /D [1601 0 R /XYZ 146.451 165.461 null] >> endobj 1660 0 obj << /D [1601 0 R /XYZ 71.731 165.273 null] >> endobj 1661 0 obj << /D [1601 0 R /XYZ 71.731 160.292 null] >> endobj 1662 0 obj << /D [1601 0 R /XYZ 382.155 147.528 null] >> endobj 1663 0 obj << /D [1601 0 R /XYZ 71.731 140.39 null] >> endobj 1664 0 obj << /D [1601 0 R /XYZ 71.731 140.39 null] >> endobj 1665 0 obj << /D [1601 0 R /XYZ 71.731 129.386 null] >> endobj 1666 0 obj << /D [1601 0 R /XYZ 71.731 124.405 null] >> endobj 1667 0 obj << /D [1601 0 R /XYZ 71.731 48.817 null] >> endobj 1600 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1670 0 obj << /Length 964 /Filter /FlateDecode >> stream xÚÕVÝoÛ6Ï_!yŠ¿DiÃÚÍ)R¤ÍkyÙ†@‘éX¨> ‰J ûßw)ÙŽd'hŸ ÖQ<Þýî~w'bLJvF‚ƒDˆÜI‹ß¹‡'ØjxVÅÛÑyŸ¼=§Ô‰PP'^9,¢ˆ GP‚BNœxù—»¹¿•3â»2m•œý<™ÇƒUNŠBzÔq¯3òÌÈÖ3ÆâàRø!¢Œu®Óª(’r¹PuVÞkÏoωØ9ᎇÁ<¡OÄk9ó÷ÝÅ—F°6ÌBUæ)g˜»ú¯ Û»p¼ 㛺Jå²­å« \mTV•In> endobj 1671 0 obj << /D [1669 0 R /XYZ 71.731 718.306 null] >> endobj 1672 0 obj << /D [1669 0 R /XYZ 71.731 718.306 null] >> endobj 1673 0 obj << /D [1669 0 R /XYZ 71.731 706.78 null] >> endobj 1674 0 obj << /D [1669 0 R /XYZ 71.731 701.798 null] >> endobj 1675 0 obj << /D [1669 0 R /XYZ 71.731 670.914 null] >> endobj 1676 0 obj << /D [1669 0 R /XYZ 71.731 665.933 null] >> endobj 1677 0 obj << /D [1669 0 R /XYZ 356.93 654.545 null] >> endobj 1678 0 obj << /D [1669 0 R /XYZ 71.731 631.631 null] >> endobj 266 0 obj << /D [1669 0 R /XYZ 207.177 592.259 null] >> endobj 1679 0 obj << /D [1669 0 R /XYZ 71.731 584.907 null] >> endobj 1680 0 obj << /D [1669 0 R /XYZ 71.731 564.996 null] >> endobj 270 0 obj << /D [1669 0 R /XYZ 186.533 527.781 null] >> endobj 1681 0 obj << /D [1669 0 R /XYZ 71.731 517.638 null] >> endobj 1682 0 obj << /D [1669 0 R /XYZ 308.96 507.656 null] >> endobj 1683 0 obj << /D [1669 0 R /XYZ 71.731 500.518 null] >> endobj 1684 0 obj << /D [1669 0 R /XYZ 251.197 489.724 null] >> endobj 1685 0 obj << /D [1669 0 R /XYZ 71.731 478.712 null] >> endobj 1686 0 obj << /D [1669 0 R /XYZ 71.731 440.209 null] >> endobj 1687 0 obj << /D [1669 0 R /XYZ 192.338 427.258 null] >> endobj 1688 0 obj << /D [1669 0 R /XYZ 233.224 427.258 null] >> endobj 1689 0 obj << /D [1669 0 R /XYZ 71.731 417.107 null] >> endobj 1690 0 obj << /D [1669 0 R /XYZ 71.731 354.431 null] >> endobj 1691 0 obj << /D [1669 0 R /XYZ 355.086 341.479 null] >> endobj 1692 0 obj << /D [1669 0 R /XYZ 412.112 341.479 null] >> endobj 1693 0 obj << /D [1669 0 R /XYZ 71.731 330.468 null] >> endobj 1694 0 obj << /D [1669 0 R /XYZ 71.731 291.965 null] >> endobj 1695 0 obj << /D [1669 0 R /XYZ 355.086 279.014 null] >> endobj 1696 0 obj << /D [1669 0 R /XYZ 395.973 279.014 null] >> endobj 1697 0 obj << /D [1669 0 R /XYZ 71.731 268.002 null] >> endobj 1668 0 obj << /Font << /F33 842 0 R /F42 968 0 R /F27 756 0 R /F36 908 0 R /F23 749 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1700 0 obj << /Length 1574 /Filter /FlateDecode >> stream xÚXYÛ6~ß_áGX³"%êx*’6)¶¶Çª-‚¦(¸2m +K®HíÆÿ¾C©ÃÖ&HކÃ9?MW!üè*¥$``9a _•Ç›pµ‡/?ÝPÇ' aœÁ|áã†G)ɳhµ™Hx[Ü|÷žE+šFùªØ §„œ¤q¶*¶§ý¿u¥´lÖÿ?#{L¢81ìqJ2£Œ„ÙïÅQ"g”¬r’'‘a WÊâE‘éÈÈÁ†,~Ã÷‰±t½a< ”Ô8i;˃höç‘D]?Šò Vqì<§Pç¦àZÉîyMy »5çAâ_ë8 *}À•7x„²„Ä4ýRì¦Ì#Byä¸O¢ƒdÑp r‹G ê .2 ÈYiñXƒ?+uÛ[$WͶ–íqƒö3šž:û™=Ôêµai(ÝUÍçíÎŒ< ®E ÁÝžq![>Ctö1~°0Ê™½<ÕÂF{K2zÏð5íµûIÌ¿Ý} *¿â>«7§®¯XDP `§90ªÏÑ·ˆDªµÝÍ>( ØÙUvðµåÒ'‹CgÙ3]’û¢ÃÅ£.›`a•6“}5žäv5bmê¢ë& ‰¶|çr®jÓ‹Cåv´eÙwnnìs³匋iµ›uYW²ÑC¨ÇܧS]M±¥Rª—|]£qHüÍwÿKq÷þãuÜ#NÂñºpQCÜÉN6%:ú 4ÎHm‚ÓÂzÁ€étïP½VE¯#n¨ÎŸ 4¸þ 1¶”rh-f¦e |, ª­l‰‹ºmO§ªÇ<(! 4mwÃöÚQ!µcHa`=÷3|xé*ø__5€\<¹ÃïÜ'ˆjÐ6›âÉé䕆¢©íMs‹ësÛã {gÌä _-T5ƒ^À#SÚ Ï4 mL†kg.„†$:£çQékÐÚEžÅÞ…Œzå%t±*t+ÌLHÜGÇÿè¾HãÀ*c¦„ƒ.S4û¸¦pKX÷@5©CÛ×&U¸hĪ1 ú¼fÀ÷´n‰t§ °xŒ!>B--´U4†Þ?îŠw÷‹>Ìhöe'f‘—òÇýkrbwgÛV,u}Fm(€º½2U³ÔSÁ]ùu3¸í½®…Ÿör/¸ßã4™7èP¹CtSˆ×ªÀ[Zåô¬]ïð¢OLf$½íýâdÙ¤·0oÎûlÒÄŠ”xa$—€ï ÑÐ\w;%ëÝíT.'É$cM’\¹:pgÉ× sRWƒPè+±éÐCågY.ÈMIÂó!~K½sÈ U‡çQ 4Žñ›ÎàľŸ¤ù´‰1í34y6>®†F,gÜ•!"PáÝóPÚ&§>4â “‡7O î¦/‡ª<Ìq`è¡y8>¦æAVäÚ‚ÍL=D‰ËçÌ«ÖDskÌÍõŠ-W­;<ùÀ¾m5šç  w¯G¥=ê¡•xýÙ=ßhÒWûË…(Ý9#N„êÑ·~Õš”x®¶R]ìx„áEmÕî&š:˜¾¸|\8}äÜÛø(työ.=€/û'ºœÓÞ¬„A?—Z³~—ºïl³Ÿ®U÷ ž¿ ïÛÆòܼ+†ÿ(ÜŸŒÜ–Kb8ŽÍÈbÿ€˜Œq‘0¤˜³èåAþ¿ë“þT)‘Rendstream endobj 1699 0 obj << /Type /Page /Contents 1700 0 R /Resources 1698 0 R /MediaBox [0 0 609.714 789.041] /Parent 1747 0 R >> endobj 856 0 obj << /D [1699 0 R /XYZ 71.731 718.306 null] >> endobj 274 0 obj << /D [1699 0 R /XYZ 147.306 705.748 null] >> endobj 1701 0 obj << /D [1699 0 R /XYZ 71.731 693.31 null] >> endobj 1702 0 obj << /D [1699 0 R /XYZ 71.731 693.31 null] >> endobj 278 0 obj << /D [1699 0 R /XYZ 158.616 667.73 null] >> endobj 1703 0 obj << /D [1699 0 R /XYZ 173.35 647.606 null] >> endobj 1704 0 obj << /D [1699 0 R /XYZ 71.731 645.449 null] >> endobj 1705 0 obj << /D [1699 0 R /XYZ 71.731 645.449 null] >> endobj 282 0 obj << /D [1699 0 R /XYZ 183.334 608.233 null] >> endobj 1706 0 obj << /D [1699 0 R /XYZ 71.731 595.301 null] >> endobj 1707 0 obj << /D [1699 0 R /XYZ 194.869 586.614 null] >> endobj 1708 0 obj << /D [1699 0 R /XYZ 221.768 586.614 null] >> endobj 1709 0 obj << /D [1699 0 R /XYZ 280.946 586.614 null] >> endobj 1710 0 obj << /D [1699 0 R /XYZ 286.326 586.614 null] >> endobj 1711 0 obj << /D [1699 0 R /XYZ 71.731 575.244 null] >> endobj 286 0 obj << /D [1699 0 R /XYZ 198.469 537.279 null] >> endobj 1712 0 obj << /D [1699 0 R /XYZ 71.731 527.137 null] >> endobj 1713 0 obj << /D [1699 0 R /XYZ 71.731 527.137 null] >> endobj 1714 0 obj << /D [1699 0 R /XYZ 134.817 504.204 null] >> endobj 1715 0 obj << /D [1699 0 R /XYZ 245.969 504.204 null] >> endobj 1716 0 obj << /D [1699 0 R /XYZ 374.009 491.252 null] >> endobj 1717 0 obj << /D [1699 0 R /XYZ 71.731 471.162 null] >> endobj 1718 0 obj << /D [1699 0 R /XYZ 151.274 460.368 null] >> endobj 1719 0 obj << /D [1699 0 R /XYZ 464.459 447.416 null] >> endobj 1720 0 obj << /D [1699 0 R /XYZ 200.452 434.465 null] >> endobj 1721 0 obj << /D [1699 0 R /XYZ 232.731 434.465 null] >> endobj 1722 0 obj << /D [1699 0 R /XYZ 152.169 408.562 null] >> endobj 1723 0 obj << /D [1699 0 R /XYZ 197.728 408.562 null] >> endobj 1724 0 obj << /D [1699 0 R /XYZ 71.731 401.424 null] >> endobj 1725 0 obj << /D [1699 0 R /XYZ 292.159 390.629 null] >> endobj 1726 0 obj << /D [1699 0 R /XYZ 337.814 390.629 null] >> endobj 1727 0 obj << /D [1699 0 R /XYZ 464.61 390.629 null] >> endobj 1728 0 obj << /D [1699 0 R /XYZ 518.058 390.629 null] >> endobj 1729 0 obj << /D [1699 0 R /XYZ 184.438 364.727 null] >> endobj 1730 0 obj << /D [1699 0 R /XYZ 283.964 364.727 null] >> endobj 1731 0 obj << /D [1699 0 R /XYZ 71.731 357.588 null] >> endobj 290 0 obj << /D [1699 0 R /XYZ 195.055 320.373 null] >> endobj 1732 0 obj << /D [1699 0 R /XYZ 71.731 317.181 null] >> endobj 1733 0 obj << /D [1699 0 R /XYZ 71.731 302.835 null] >> endobj 1734 0 obj << /D [1699 0 R /XYZ 71.731 302.835 null] >> endobj 1735 0 obj << /D [1699 0 R /XYZ 71.731 292.866 null] >> endobj 1736 0 obj << /D [1699 0 R /XYZ 71.731 287.885 null] >> endobj 1737 0 obj << /D [1699 0 R /XYZ 71.731 270.062 null] >> endobj 1738 0 obj << /D [1699 0 R /XYZ 71.731 270.062 null] >> endobj 1739 0 obj << /D [1699 0 R /XYZ 71.731 255.646 null] >> endobj 1740 0 obj << /D [1699 0 R /XYZ 71.731 250.664 null] >> endobj 1741 0 obj << /D [1699 0 R /XYZ 71.731 232.139 null] >> endobj 1742 0 obj << /D [1699 0 R /XYZ 71.731 232.139 null] >> endobj 1743 0 obj << /D [1699 0 R /XYZ 71.731 221.135 null] >> endobj 1744 0 obj << /D [1699 0 R /XYZ 71.731 216.154 null] >> endobj 1745 0 obj << /D [1699 0 R /XYZ 71.731 180.497 null] >> endobj 294 0 obj << /D [1699 0 R /XYZ 207.177 141.125 null] >> endobj 1746 0 obj << /D [1699 0 R /XYZ 71.731 133.773 null] >> endobj 1698 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1750 0 obj << /Length 1021 /Filter /FlateDecode >> stream xÚVKã6 ¾Ï¯ðÑƪ%Y~œ}c{ØCklíb¡±•ÄÇvýØéüû’¢ì8±w(D¤LRäLJĽ~ÜK8K$,"c"V^qy½|ùõ;‰(Ž™Pè’ ËRé+ ?äßý"¤Ç&¸òòãrJ¨X¥^^þåw§Ïmó¹h›ÆcdÝÃáSþ©FLF1ªF K$SrRý /†$eìe,‹% †^ BÆEô¦ùäªÄ˜ÅØPço!’C Tèf$¢íi-κ9¢µÛÒuý¤‹gà¢Ì?Î’Sc\ùÿvp®)èâñ_ 5pÞ2c2‘Ö§?^›¶ªa‰7×­´àLñ ‚æ,†õ #qÕäçwæ0—vW7…©b4-½ùg2ÃHÌØâÊ}J9þåÓhh_ÏvæR±œÃÉ2Õ…Ô;ç X¦¸uQC¹D©Ø”îÙ-Õi]òÖ7\φˆRúIŽk‹bêFÌŸ‡\ÏÄé%Ý vrGò[_CE,…Y@Òî¡aGÓã!®Lb¦ÂÔ…+¬œuT¦Ùbd ô¡Bß €,PWÃÙ”´‰‰B¡EuÁ™aì«æD4¢„+bŠšº†ü—¯´IðVøˆo]°›]­ S2b¯ ¡Á¦Ý¢Þ¤ómÔSJž<]_ÍÓfñgúI“ Ëý´X;³TX&iªä ^KeÞ¢­Ñ›XÕ9¹ÃùØ·ÒYòµÓ,k·U·mÇH,?ë;hIÑÂØ_ Ѻ&öª>Œz4«\bídXP¦*Ò]WW…¦>"ö_úje”ÿBù‚íü™ñÞÉ5mäÏî£uˆá ΘºÆÉ€ük;Qh§vÉÎ$M"%‰KëÔ•z–Zç^*¦Ä<#!»3Æ}4 |yÑÕ¸cfâ"ƒýOžNØóHʃ…•QAcgê¦P1STIh×'wõ™ ÒÖÝ ‡,DÀ(Éß÷ˆÈiº€Æ°ÛYrwÝŒk „Ú–-úÓÚÆÚÇ—é±8»\È4qxÜÜ¿f`[¿‚CßlÛ÷ǹSÍ<Î\‹¨|©Jã:uœÂÎòoÜ‹an¾u€÷•FQŸMóG†¥æ¹PÂ8Á„í¾=\±`"m¿›qêÑZ’ú1Íi§to/ãmce~ΗW¢{þE)Ky²ûŒtÁUÄ>"Îå%% ÃÅ žÅïš_£Û“þ_¬Ý¾endstream endobj 1749 0 obj << /Type /Page /Contents 1750 0 R /Resources 1748 0 R /MediaBox [0 0 609.714 789.041] /Parent 1747 0 R >> endobj 857 0 obj << /D [1749 0 R /XYZ 71.731 718.306 null] >> endobj 298 0 obj << /D [1749 0 R /XYZ 268.795 705.748 null] >> endobj 1751 0 obj << /D [1749 0 R /XYZ 71.731 693.31 null] >> endobj 1752 0 obj << /D [1749 0 R /XYZ 71.731 693.31 null] >> endobj 302 0 obj << /D [1749 0 R /XYZ 158.616 667.73 null] >> endobj 1753 0 obj << /D [1749 0 R /XYZ 245.081 647.606 null] >> endobj 1754 0 obj << /D [1749 0 R /XYZ 71.731 645.449 null] >> endobj 1755 0 obj << /D [1749 0 R /XYZ 71.731 645.449 null] >> endobj 306 0 obj << /D [1749 0 R /XYZ 183.334 608.233 null] >> endobj 1756 0 obj << /D [1749 0 R /XYZ 71.731 595.301 null] >> endobj 1757 0 obj << /D [1749 0 R /XYZ 259.427 586.614 null] >> endobj 1758 0 obj << /D [1749 0 R /XYZ 286.326 586.614 null] >> endobj 1759 0 obj << /D [1749 0 R /XYZ 291.706 586.614 null] >> endobj 1760 0 obj << /D [1749 0 R /XYZ 71.731 575.244 null] >> endobj 310 0 obj << /D [1749 0 R /XYZ 198.469 537.279 null] >> endobj 1761 0 obj << /D [1749 0 R /XYZ 71.731 527.137 null] >> endobj 1762 0 obj << /D [1749 0 R /XYZ 71.731 527.137 null] >> endobj 1763 0 obj << /D [1749 0 R /XYZ 401.195 504.204 null] >> endobj 1764 0 obj << /D [1749 0 R /XYZ 119.552 478.301 null] >> endobj 1765 0 obj << /D [1749 0 R /XYZ 71.731 471.162 null] >> endobj 1766 0 obj << /D [1749 0 R /XYZ 394.029 447.416 null] >> endobj 1767 0 obj << /D [1749 0 R /XYZ 441.101 447.416 null] >> endobj 1768 0 obj << /D [1749 0 R /XYZ 71.731 427.327 null] >> endobj 314 0 obj << /D [1749 0 R /XYZ 195.055 390.111 null] >> endobj 1769 0 obj << /D [1749 0 R /XYZ 71.731 386.919 null] >> endobj 1770 0 obj << /D [1749 0 R /XYZ 71.731 372.573 null] >> endobj 1771 0 obj << /D [1749 0 R /XYZ 71.731 372.573 null] >> endobj 1772 0 obj << /D [1749 0 R /XYZ 71.731 362.605 null] >> endobj 1773 0 obj << /D [1749 0 R /XYZ 71.731 357.623 null] >> endobj 1774 0 obj << /D [1749 0 R /XYZ 71.731 339.8 null] >> endobj 1775 0 obj << /D [1749 0 R /XYZ 71.731 339.8 null] >> endobj 1776 0 obj << /D [1749 0 R /XYZ 71.731 326.739 null] >> endobj 1777 0 obj << /D [1749 0 R /XYZ 71.731 321.758 null] >> endobj 1778 0 obj << /D [1749 0 R /XYZ 71.731 286.101 null] >> endobj 318 0 obj << /D [1749 0 R /XYZ 207.177 246.729 null] >> endobj 1779 0 obj << /D [1749 0 R /XYZ 71.731 239.377 null] >> endobj 1748 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1782 0 obj << /Length 969 /Filter /FlateDecode >> stream xÚVK¤6¾Ï¯àÒâ`8N”‡Eyì´rÙ"šv7h»¡ƒMfûßoÙeÓÃÀH#~Pϯ¾* Q J  «“"j.Yt‚7??P/‘KI˜`°ßx™ ^ªäQúÂÂ÷»‡ï~b<¢aTD»ãì%“„Ò2Ú>Å×Ó¿Zõ‡ÿ&5&)Íâ[òÏîWTË Ï¥UË R2pÂK’yµßë‹BI.£ŠT’[Á,JYF(Ë_›V‹»l‘ÆlüVô3cE’2‘ÅVw5.¨ŽïÌØõ'Ü›Á¯­Â;nI ‡ÙD3ô½jL7ôx~îL;LƬhÝ™ÙäqžG¥§³ÙÀ#õ±§¼"¼`.ƒ§[?\u§gPJHÔI3J­J$¬ÛÈäì® #^zdl I*3›ÌåR÷‡'a#ªŠ’\QšCT\8í”nÆîêXª%ÞQ- _‘ûô´¿tFH´rXÁâƒÃƒ«]]m`óç ÍiTOý†g­Æÿ*bàœ1ÁË]Ûy›Ç©Eƒ“«Ó0~ñ/ÏÖxè’‘I%䣾ªf tŠÞhTÙh¾6êêÊm™í”åQJ©u¢¦­=s:¿¥q×&pÆLcÿšF@L`ÁóÇp“nöÚ…º¦øÞ›Ç ½õ_LˆÃÇxÅ5Ä7uP 1ÎÝópUãRnÒ•ÕT¥²$EVÞ§êI™Å—ñåWFë<€ƒáaoꮑ[Eéq. ¼ôœ qèaÝL»+e\NÈfïù†åD̃߱ðáÇÝü åÿò’”´ØüÇòé]ÄýaA3Ì.ç$Ëf+Ö}í(üª­=}¨Ï›Xendstream endobj 1781 0 obj << /Type /Page /Contents 1782 0 R /Resources 1780 0 R /MediaBox [0 0 609.714 789.041] /Parent 1747 0 R >> endobj 858 0 obj << /D [1781 0 R /XYZ 71.731 718.306 null] >> endobj 322 0 obj << /D [1781 0 R /XYZ 189.57 706.118 null] >> endobj 1783 0 obj << /D [1781 0 R /XYZ 71.731 693.68 null] >> endobj 1784 0 obj << /D [1781 0 R /XYZ 71.731 693.68 null] >> endobj 326 0 obj << /D [1781 0 R /XYZ 158.616 668.1 null] >> endobj 1785 0 obj << /D [1781 0 R /XYZ 191.283 647.976 null] >> endobj 1786 0 obj << /D [1781 0 R /XYZ 71.731 645.819 null] >> endobj 1787 0 obj << /D [1781 0 R /XYZ 71.731 645.819 null] >> endobj 330 0 obj << /D [1781 0 R /XYZ 183.334 608.604 null] >> endobj 1788 0 obj << /D [1781 0 R /XYZ 71.731 595.671 null] >> endobj 1789 0 obj << /D [1781 0 R /XYZ 211.009 586.985 null] >> endobj 1790 0 obj << /D [1781 0 R /XYZ 237.908 586.985 null] >> endobj 1791 0 obj << /D [1781 0 R /XYZ 71.731 575.614 null] >> endobj 334 0 obj << /D [1781 0 R /XYZ 198.469 537.65 null] >> endobj 1792 0 obj << /D [1781 0 R /XYZ 71.731 527.507 null] >> endobj 1793 0 obj << /D [1781 0 R /XYZ 71.731 527.507 null] >> endobj 1794 0 obj << /D [1781 0 R /XYZ 291.851 517.525 null] >> endobj 1795 0 obj << /D [1781 0 R /XYZ 469.798 517.525 null] >> endobj 1796 0 obj << /D [1781 0 R /XYZ 71.731 497.436 null] >> endobj 1797 0 obj << /D [1781 0 R /XYZ 71.731 466.551 null] >> endobj 338 0 obj << /D [1781 0 R /XYZ 195.055 429.336 null] >> endobj 1798 0 obj << /D [1781 0 R /XYZ 71.731 426.144 null] >> endobj 1799 0 obj << /D [1781 0 R /XYZ 71.731 411.798 null] >> endobj 1800 0 obj << /D [1781 0 R /XYZ 71.731 411.798 null] >> endobj 1801 0 obj << /D [1781 0 R /XYZ 71.731 401.829 null] >> endobj 1802 0 obj << /D [1781 0 R /XYZ 71.731 396.848 null] >> endobj 1803 0 obj << /D [1781 0 R /XYZ 71.731 379.025 null] >> endobj 1804 0 obj << /D [1781 0 R /XYZ 71.731 379.025 null] >> endobj 1805 0 obj << /D [1781 0 R /XYZ 71.731 364.609 null] >> endobj 1806 0 obj << /D [1781 0 R /XYZ 71.731 359.627 null] >> endobj 1807 0 obj << /D [1781 0 R /XYZ 71.731 325.326 null] >> endobj 342 0 obj << /D [1781 0 R /XYZ 207.177 285.954 null] >> endobj 1808 0 obj << /D [1781 0 R /XYZ 71.731 278.601 null] >> endobj 1809 0 obj << /D [1781 0 R /XYZ 244.943 265.829 null] >> endobj 1810 0 obj << /D [1781 0 R /XYZ 288.26 252.878 null] >> endobj 1811 0 obj << /D [1781 0 R /XYZ 119.552 239.926 null] >> endobj 1780 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1814 0 obj << /Length 1191 /Filter /FlateDecode >> stream xÚWߣ6~ß¿"}iq±OÕVý¡VU{½‹úÒV'Bœ`›ÝKÿúŽ=B`»RµÒÚÏŒg>f>;tÂÝ¥”¤ ,'Œ'»òòîΰóãu1ç„% æ›A¥$Ï¢]pãáÛýÃ×?°hGSÂh²ÛŸ¦SBN(ÍvûãŸ^wþ¨Dsü<ˆÞhè]?v½èŠ^ý¿÷?£}L¢˜û8%ƒÓ¢Œ„Îþ×â"P3⻜ä<2Šá.`!¡,¾?cå>(·&Acóc©°$ôŒ)Î zž”Æ…nq>M¼/æŸ(-@ç£Át$úÓ…ÑÜ9ЕÀÉ¡(?ù€„9bÜ..IžP]Ù6(µl›G4z‘ºjçòŘRËÆ§Þe§¶¿KB µÞÀ ‹r¥‘=èõi;%ÕqhY=FIBsÀ™ã8Çl¶„OO¢„; M*~ÀÃ`ßt6 ÔQê̾YûM êÜmýù•˜ÙÒÁ"÷€qÐÍ¡Âb€ J¬âwB•½ì Økÿ¯Ð #h»@Ôp¸H­ü ¦¶bb(—Ka¾ÞצH̶-#x×*ØÕç^|øý)Ñ?û”{ÐHIâî+é<Ÿ†Æ ®l‰´ý'…jµÄ’['ŒÁbù±1OñE”ëÌ€x’¹Ä 4#ž¸Î(E§q­«Âͤ­P8kZ'ê…úç…¸­XȹÖ×ïÁ õ*H7ñ,Žø›[͆tH¥qt´c@Îè¶óðdumlB—Ù¢ «¾mÚAÕWŸÀÔà•GØ={ë™Ec·Ù¹ …1O@ËÒ3²¢ÁQô}ëD¡Tqvö(dŸJ6g‚Ò§ÑêÒéëxÃÍÔe -åÎs¸Ã†ÃB”ޏ@ÖP¸8JL Í)w….«‘Èþ‹¹È6³Ä°H°WžzSçÁ4¼ššyÁàpoäÙLë>‚KâlFÜÄRA^µ›·§»@gút P(núRɲz‹Ú—¾,†dB°ˆ+bƒã^Í(ZfÔ‹í|–Œesý¼rÓlæcJ}£ ßÎhdÚ­¯1³ðm’Œ“§3ýÃõbèwÙÌhêý#úÖIz”\ൽÀEkÙ¸¨QåÙgЪõ îB¡nÄEiZËhœ­l€(µ8>¢xh>í¼”EÉz(B8a2ÃiÁ¥qË‹ƒ‚æD<¿ ”¾Ž¯´Ôƒ‰z«3&\9\q·¾Þ»NfiæýáóÐf¸s¼€ð®z‚î ¹·/k3I'>Ù‹¬ðèœ"]XByBiwÖè€ßBh°*µ³´äil ¡:‘¥M-aW¿š{‘J<¢ZÍfÃsÄp{‹ÛP×äspî1hçý'=Æábìp㛂: S&϶ìë¶ýRoP•õ«^i8^ipñ…^¼n¾‡;"ß5£ãö  ÙŒ‘Cé©o/ ¼Ô” õÜ-e¿›®6®eqÑÕµ<=?6¢‹I2ÝͶ ¾ßO/x÷43’Ákë‰ï4‚YÅ>ð¦#’("a8y1ÑûƒÆ_ ë“þ]J@endstream endobj 1813 0 obj << /Type /Page /Contents 1814 0 R /Resources 1812 0 R /MediaBox [0 0 609.714 789.041] /Parent 1747 0 R >> endobj 859 0 obj << /D [1813 0 R /XYZ 71.731 718.306 null] >> endobj 346 0 obj << /D [1813 0 R /XYZ 272.806 706.118 null] >> endobj 1815 0 obj << /D [1813 0 R /XYZ 71.731 693.68 null] >> endobj 1816 0 obj << /D [1813 0 R /XYZ 71.731 693.68 null] >> endobj 350 0 obj << /D [1813 0 R /XYZ 158.616 668.1 null] >> endobj 1817 0 obj << /D [1813 0 R /XYZ 245.081 647.976 null] >> endobj 1818 0 obj << /D [1813 0 R /XYZ 71.731 632.868 null] >> endobj 1819 0 obj << /D [1813 0 R /XYZ 71.731 632.868 null] >> endobj 354 0 obj << /D [1813 0 R /XYZ 183.334 595.652 null] >> endobj 1820 0 obj << /D [1813 0 R /XYZ 71.731 582.72 null] >> endobj 1821 0 obj << /D [1813 0 R /XYZ 259.427 574.033 null] >> endobj 1822 0 obj << /D [1813 0 R /XYZ 286.326 574.033 null] >> endobj 1823 0 obj << /D [1813 0 R /XYZ 361.644 574.033 null] >> endobj 1824 0 obj << /D [1813 0 R /XYZ 367.023 574.033 null] >> endobj 1825 0 obj << /D [1813 0 R /XYZ 71.731 562.663 null] >> endobj 358 0 obj << /D [1813 0 R /XYZ 198.469 524.698 null] >> endobj 1826 0 obj << /D [1813 0 R /XYZ 71.731 514.556 null] >> endobj 1827 0 obj << /D [1813 0 R /XYZ 71.731 514.556 null] >> endobj 1828 0 obj << /D [1813 0 R /XYZ 352.242 504.574 null] >> endobj 1829 0 obj << /D [1813 0 R /XYZ 119.552 491.622 null] >> endobj 1830 0 obj << /D [1813 0 R /XYZ 71.731 471.533 null] >> endobj 1831 0 obj << /D [1813 0 R /XYZ 71.731 440.649 null] >> endobj 362 0 obj << /D [1813 0 R /XYZ 195.055 403.433 null] >> endobj 1832 0 obj << /D [1813 0 R /XYZ 71.731 400.241 null] >> endobj 1833 0 obj << /D [1813 0 R /XYZ 71.731 385.895 null] >> endobj 1834 0 obj << /D [1813 0 R /XYZ 71.731 385.895 null] >> endobj 1835 0 obj << /D [1813 0 R /XYZ 71.731 375.926 null] >> endobj 1836 0 obj << /D [1813 0 R /XYZ 71.731 370.945 null] >> endobj 1837 0 obj << /D [1813 0 R /XYZ 71.731 353.122 null] >> endobj 1838 0 obj << /D [1813 0 R /XYZ 71.731 353.122 null] >> endobj 1839 0 obj << /D [1813 0 R /XYZ 71.731 340.061 null] >> endobj 1840 0 obj << /D [1813 0 R /XYZ 71.731 335.079 null] >> endobj 1841 0 obj << /D [1813 0 R /XYZ 71.731 315.199 null] >> endobj 1842 0 obj << /D [1813 0 R /XYZ 71.731 315.199 null] >> endobj 1843 0 obj << /D [1813 0 R /XYZ 71.731 302.84 null] >> endobj 1844 0 obj << /D [1813 0 R /XYZ 71.731 297.859 null] >> endobj 1845 0 obj << /D [1813 0 R /XYZ 71.731 297.859 null] >> endobj 1846 0 obj << /D [1813 0 R /XYZ 71.731 250.606 null] >> endobj 366 0 obj << /D [1813 0 R /XYZ 207.177 211.234 null] >> endobj 1847 0 obj << /D [1813 0 R /XYZ 71.731 203.881 null] >> endobj 1848 0 obj << /D [1813 0 R /XYZ 244.943 191.109 null] >> endobj 1849 0 obj << /D [1813 0 R /XYZ 288.26 178.158 null] >> endobj 1850 0 obj << /D [1813 0 R /XYZ 119.552 165.206 null] >> endobj 1812 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1853 0 obj << /Length 825 /Filter /FlateDecode >> stream xÚåV˲“@Ý߯`Iª.#󆥖҅ M¹QË"dn@ÉPó÷ö< !àÕ½•Åô@?NwŸî€£~8’I É<*wit€7¯îpÐ`B  È+/N%Ê3%Wžmïž¼$4ÂÌ£íÃ%ã,Úî?Ƨ×Ã&Ái¬úN™¡é7Ÿ·o¼C” kÆ$Ê¡JƒÙÛ⨼&QŽrA­b%$E˜°ÉõWyÑ• bñ[ÕO„ÈMBxŸº¶TÆøKaÎeÕµºÂï̬`L‚¿„æˆJâ¼¾?ëödj3Í ¸Ó&qœZŒœëh¹ÀM³€¶lµ^ƒcĸŒ(wªÏ•)»úÔ×­^¢ËÅÿ¡\B¢”M*U~ %é[¥¼P?„âé æñÙ_Êöx,ôÞÚ°<®ÔÞ¿Ù—À°à(2D`Féý÷Auç¿«Š Iã6°šŸÕ«=²¦pî-`eN©³ÚVuHægÝ4c§û¡Ó!Å*83–u.Óv½Ö>\SÃˤڨѸèWB¯¹d¨~©r™ƒö°çÂ]æM𮕖»¾¨µÚß/KB9E™¤—’<ÂÆdTN0A9'×õñe×m_A>heN€ö .Ü7ÿig†#”ÂLƒ7[)°¿òìvò®Ð``ˆæ”RK*ŒT)Fjj­J7š³Iê78Í÷E_ì £æ?«º¬¦¥owôØôã ë‚mh¯›PØo8ÂLÜn‘1AÉ„ËæÝ8 2‹?lxmµ¬Ã|ŸX2â\ØlíˆgEèªo§Å^-E½¢£%ZÝ»FÝÏ„²ê¢Ý}…JÎÝy:Ø$ÝÕ¹•lKÀØvÅù…Eå„]xp*<õ­ _U¦ð?t5»fiÐô,ÅN졟„›3ÍÑ5]ü[X:¡~¤3¾ý¯“Ÿü»Ûé%||° eX®~Ää¢â>a ÄSxN)JÓÉ‹ ŽoßBËH¿—ÿudendstream endobj 1852 0 obj << /Type /Page /Contents 1853 0 R /Resources 1851 0 R /MediaBox [0 0 609.714 789.041] /Parent 1747 0 R >> endobj 860 0 obj << /D [1852 0 R /XYZ 71.731 718.306 null] >> endobj 370 0 obj << /D [1852 0 R /XYZ 175.212 706.118 null] >> endobj 1854 0 obj << /D [1852 0 R /XYZ 71.731 693.68 null] >> endobj 1855 0 obj << /D [1852 0 R /XYZ 71.731 693.68 null] >> endobj 374 0 obj << /D [1852 0 R /XYZ 158.616 668.1 null] >> endobj 1856 0 obj << /D [1852 0 R /XYZ 191.283 647.976 null] >> endobj 1857 0 obj << /D [1852 0 R /XYZ 71.731 645.819 null] >> endobj 1858 0 obj << /D [1852 0 R /XYZ 71.731 645.819 null] >> endobj 378 0 obj << /D [1852 0 R /XYZ 183.334 608.604 null] >> endobj 1859 0 obj << /D [1852 0 R /XYZ 71.731 595.671 null] >> endobj 1860 0 obj << /D [1852 0 R /XYZ 211.009 586.985 null] >> endobj 1861 0 obj << /D [1852 0 R /XYZ 71.731 575.614 null] >> endobj 382 0 obj << /D [1852 0 R /XYZ 198.469 537.65 null] >> endobj 1862 0 obj << /D [1852 0 R /XYZ 71.731 527.507 null] >> endobj 1863 0 obj << /D [1852 0 R /XYZ 71.731 527.507 null] >> endobj 1864 0 obj << /D [1852 0 R /XYZ 352.467 517.525 null] >> endobj 1865 0 obj << /D [1852 0 R /XYZ 71.731 510.387 null] >> endobj 1866 0 obj << /D [1852 0 R /XYZ 320.994 499.592 null] >> endobj 1867 0 obj << /D [1852 0 R /XYZ 71.731 493.203 null] >> endobj 1868 0 obj << /D [1852 0 R /XYZ 473.425 481.66 null] >> endobj 1869 0 obj << /D [1852 0 R /XYZ 71.731 461.57 null] >> endobj 386 0 obj << /D [1852 0 R /XYZ 195.055 424.355 null] >> endobj 1870 0 obj << /D [1852 0 R /XYZ 71.731 421.163 null] >> endobj 1871 0 obj << /D [1852 0 R /XYZ 71.731 406.816 null] >> endobj 1872 0 obj << /D [1852 0 R /XYZ 71.731 406.816 null] >> endobj 1873 0 obj << /D [1852 0 R /XYZ 71.731 396.848 null] >> endobj 1874 0 obj << /D [1852 0 R /XYZ 71.731 391.866 null] >> endobj 1875 0 obj << /D [1852 0 R /XYZ 71.731 356.21 null] >> endobj 390 0 obj << /D [1852 0 R /XYZ 207.177 316.838 null] >> endobj 1876 0 obj << /D [1852 0 R /XYZ 71.731 309.485 null] >> endobj 1877 0 obj << /D [1852 0 R /XYZ 489.564 296.713 null] >> endobj 1878 0 obj << /D [1852 0 R /XYZ 71.731 278.681 null] >> endobj 1879 0 obj << /D [1852 0 R /XYZ 473.425 265.829 null] >> endobj 1851 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1882 0 obj << /Length 616 /Filter /FlateDecode >> stream xÚTË®›0Ýç+X‚T\?±½lÕ‡ÔE-ꦷªñ%4RJïßwÀ6y@ª*‹q<Ç3gŽ&† $A’A ÑDùqƒƒ27Ä!x’ *(¬W’±`iÅ‚øªÂÛtóúe‘ˆ¤Ïs,ä*HwßÃSñ³ì¶ÅáнD?ÒOöGŒ'ã.‘¢Ð€)„‰=ò9;‹dI ‘NØÄAL1"”_•½”” €9”üˆ{¢TF18쌱‹òÙÆÌ†ßƒi_\¦³ñtcW=f1ɦ__êæÔÁaÏY• M Àˆ+Ä9½ CR+G«wUYäoZë¦G«Ò[†1‡-açyÓFD„Åp4ußÍŠÞx̩彤WsXQÄàbÍì…¦~°‰±[7·¶‹™|ÒüF¥>"¡?¾Ëúl›u^6‡<ïË|§`•Á *,|¯í/¨m×fœðOÙõݪ(ž~BÁ—vÎ/¦Ú±™Tá·(ÊÕ`–ƒß:ÃZñ0c`8ïJ²,#‘ĉKOÎ`ÌÍÅø3 39âìŒD„¯,vÒR^XæV> endobj 861 0 obj << /D [1881 0 R /XYZ 71.731 718.306 null] >> endobj 394 0 obj << /D [1881 0 R /XYZ 156.534 705.748 null] >> endobj 1883 0 obj << /D [1881 0 R /XYZ 71.731 693.31 null] >> endobj 1884 0 obj << /D [1881 0 R /XYZ 71.731 693.31 null] >> endobj 398 0 obj << /D [1881 0 R /XYZ 158.616 667.73 null] >> endobj 1885 0 obj << /D [1881 0 R /XYZ 173.35 647.606 null] >> endobj 1886 0 obj << /D [1881 0 R /XYZ 71.731 645.449 null] >> endobj 1887 0 obj << /D [1881 0 R /XYZ 71.731 645.449 null] >> endobj 402 0 obj << /D [1881 0 R /XYZ 183.334 608.233 null] >> endobj 1888 0 obj << /D [1881 0 R /XYZ 71.731 595.301 null] >> endobj 1889 0 obj << /D [1881 0 R /XYZ 194.869 586.614 null] >> endobj 1890 0 obj << /D [1881 0 R /XYZ 71.731 575.244 null] >> endobj 406 0 obj << /D [1881 0 R /XYZ 198.469 537.279 null] >> endobj 1891 0 obj << /D [1881 0 R /XYZ 71.731 527.137 null] >> endobj 1892 0 obj << /D [1881 0 R /XYZ 71.731 527.137 null] >> endobj 1893 0 obj << /D [1881 0 R /XYZ 71.731 510.017 null] >> endobj 410 0 obj << /D [1881 0 R /XYZ 195.055 472.801 null] >> endobj 1894 0 obj << /D [1881 0 R /XYZ 71.731 469.609 null] >> endobj 1895 0 obj << /D [1881 0 R /XYZ 71.731 455.263 null] >> endobj 1896 0 obj << /D [1881 0 R /XYZ 71.731 455.263 null] >> endobj 1897 0 obj << /D [1881 0 R /XYZ 71.731 445.294 null] >> endobj 1898 0 obj << /D [1881 0 R /XYZ 71.731 440.313 null] >> endobj 1899 0 obj << /D [1881 0 R /XYZ 71.731 404.657 null] >> endobj 414 0 obj << /D [1881 0 R /XYZ 207.177 365.284 null] >> endobj 1900 0 obj << /D [1881 0 R /XYZ 71.731 357.932 null] >> endobj 1901 0 obj << /D [1881 0 R /XYZ 152.87 345.16 null] >> endobj 1902 0 obj << /D [1881 0 R /XYZ 340.424 345.16 null] >> endobj 1903 0 obj << /D [1881 0 R /XYZ 119.552 332.208 null] >> endobj 1880 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1906 0 obj << /Length 863 /Filter /FlateDecode >> stream xÚ•VI¯Ó0¾÷Wä˜J/ÆklŸˆEp *.€P^š¶6©’Tåý{Æ[–&êÁv<Û7ßÌÔ$Âð#‘$H2X¨F4Q~Záh7oWÄKð4ETPØ/\&‚I¤‹’‘…—›Õ³7”ED"JD´Ùõ^°@’«h³ýŸ÷?î×ÇÇ:_Sÿ*«ýúûæ½SäˆñÔ(r‰7L!Lœâ‡ìT8I–Fé”A%#Byo ŒÊA4UˆrFò¥rPã¶(ܦn‡Îm®‡¢;Íô¶ªým ×q^WU‘we]¹Ïe{c¥«ÝÚvc®º‰xœ†ÄÇœ0˜d6òÏU}nÁMÈ…€Vš$ˆ†„”º˜Nù”#!”OˆÁ±`2EJk/ò|nB  œêmñhLSˆ°))¢„F&¬à«¢Í›òl³:3ù?”SÄu <Ï€"Ƙ£Æl€]³¡íEíÖ¢t`öæT7NsÄ߻ɪ­Û”ÞËȯww=”ùÁ}»š^ȆxÐîâNEZžŸ¥:Ë/MSTÝña(;£…DCÚ8„KÛ‹fMD¼¿œ@·íy´t±V7µ1N.Þ Ý5sµ¹9ø^:@Ž¡¯vCØ€o€„þ0qõmÖe÷YëOeúÑ¦Í Éc@T¼¾î‚m·/ ÂßeÛµh0™DOo*ø ˜ï "ÎâsS´¿;w‚ÔN8÷ÑÁ'kÑîj¯â¯ø€]yµz^ìDa¤qè±ù´;´=¦^²ÜÍm)hEâïñ\ÔËÈûÑTÿµl=SÐ&Δ @'¤r¶HIÇdRÖÃá a¦û€–†#˜I¹]©’VîSÑ]ƒTñ—u Ew¼,p:!N ±T›ù~p]È¢]óìx,L[K¨Âëîà;vZ[B§RÎæâ8è.¡:_ö‘ó8J½ ¤skãC× UHáÔ$s‡á~ÖXnþ¥Ó?1ë®uðܤ„;˜wsBVðÿîù¤ÿÂgˆà®ÿœ#·‚üK™ÂË ¿.w7ãàÉãé·%¯Ø¼vþ¥Í„FDªq]®^oú‡‘ñp`ƒÈÅ—“—Hûn‚Ñ2¸`+Ü[é; °¹§?aé€endstream endobj 1905 0 obj << /Type /Page /Contents 1906 0 R /Resources 1904 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 862 0 obj << /D [1905 0 R /XYZ 71.731 718.306 null] >> endobj 418 0 obj << /D [1905 0 R /XYZ 172.613 705.748 null] >> endobj 1907 0 obj << /D [1905 0 R /XYZ 71.731 693.31 null] >> endobj 1908 0 obj << /D [1905 0 R /XYZ 71.731 693.31 null] >> endobj 422 0 obj << /D [1905 0 R /XYZ 158.616 667.73 null] >> endobj 1909 0 obj << /D [1905 0 R /XYZ 185.305 647.606 null] >> endobj 1910 0 obj << /D [1905 0 R /XYZ 71.731 645.449 null] >> endobj 1911 0 obj << /D [1905 0 R /XYZ 71.731 645.449 null] >> endobj 426 0 obj << /D [1905 0 R /XYZ 183.334 608.233 null] >> endobj 1912 0 obj << /D [1905 0 R /XYZ 71.731 595.301 null] >> endobj 1913 0 obj << /D [1905 0 R /XYZ 205.629 586.614 null] >> endobj 1914 0 obj << /D [1905 0 R /XYZ 232.528 586.614 null] >> endobj 1915 0 obj << /D [1905 0 R /XYZ 237.908 586.614 null] >> endobj 1916 0 obj << /D [1905 0 R /XYZ 71.731 575.244 null] >> endobj 430 0 obj << /D [1905 0 R /XYZ 198.469 537.279 null] >> endobj 1917 0 obj << /D [1905 0 R /XYZ 71.731 527.137 null] >> endobj 1918 0 obj << /D [1905 0 R /XYZ 71.731 527.137 null] >> endobj 1919 0 obj << /D [1905 0 R /XYZ 71.731 497.065 null] >> endobj 434 0 obj << /D [1905 0 R /XYZ 195.055 459.85 null] >> endobj 1920 0 obj << /D [1905 0 R /XYZ 71.731 456.658 null] >> endobj 1921 0 obj << /D [1905 0 R /XYZ 71.731 442.312 null] >> endobj 1922 0 obj << /D [1905 0 R /XYZ 71.731 442.312 null] >> endobj 1923 0 obj << /D [1905 0 R /XYZ 71.731 432.343 null] >> endobj 1924 0 obj << /D [1905 0 R /XYZ 71.731 427.362 null] >> endobj 1925 0 obj << /D [1905 0 R /XYZ 71.731 407.481 null] >> endobj 1926 0 obj << /D [1905 0 R /XYZ 71.731 407.481 null] >> endobj 1927 0 obj << /D [1905 0 R /XYZ 71.731 396.478 null] >> endobj 1928 0 obj << /D [1905 0 R /XYZ 71.731 391.496 null] >> endobj 1929 0 obj << /D [1905 0 R /XYZ 320.385 378.754 null] >> endobj 1930 0 obj << /D [1905 0 R /XYZ 390.498 378.754 null] >> endobj 1931 0 obj << /D [1905 0 R /XYZ 139.477 365.803 null] >> endobj 1932 0 obj << /D [1905 0 R /XYZ 71.731 342.888 null] >> endobj 438 0 obj << /D [1905 0 R /XYZ 207.177 303.516 null] >> endobj 1933 0 obj << /D [1905 0 R /XYZ 71.731 296.164 null] >> endobj 1934 0 obj << /D [1905 0 R /XYZ 262.828 283.392 null] >> endobj 1935 0 obj << /D [1905 0 R /XYZ 419.224 283.392 null] >> endobj 1936 0 obj << /D [1905 0 R /XYZ 119.552 270.44 null] >> endobj 1937 0 obj << /D [1905 0 R /XYZ 178.361 270.44 null] >> endobj 1938 0 obj << /D [1905 0 R /XYZ 292.482 270.44 null] >> endobj 1904 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1942 0 obj << /Length 623 /Filter /FlateDecode >> stream xÚTË®›0Ýç+X‚T\lãËV}HUÕ׺i«Š¨“Ú ôþ}ÇØ½ª²°Ÿ™9çxbeðÑÀHPXHgQuXeQ 'oW8 rÎaö ‡)£’FéE…—ëÕó7„FX ‚Y´ÞÍ]2Ž0–Ñzû->Ö?«RWjoÔïAÙ>ù±~ç³rDsî²r$T¢,d}(Ê#) Tpê€Y”’ a’?UYœñ…D˜:Eþ‘¤„eñ„ƒ¾)ÃîSgûÚ¨‡Ïï!΋¸Ü”zÛix4]¥¬muíãn7¥+¿©c”¥ªîp€ä­ià”ÒQAFfº;ÚÖ΂%Ñ#† P‡õߪsrN*0Ê™ª«Në%T¥9ð lľR¶2í±o;}Oeòžý§÷R"Æ'eo-ŸÝ[´îài{Ç`áºÔ-é tÒ>1??/L‚Y\¨kg¯† »·>^ˆÄ°GRø”ŽÀõĸ:{u=-åÄ_kU>{º°&8žÒ·eŠlˆÚ€<5mÕÜx·/AˆŒë©×æÔö{åþiÁùES&úœ "ùHÿ‹êãš M8PÞê^øõ4ø$w»‚ÄDt}ã¯âvçWÏWà‹Ûƒ¯§CëOìP¹)Ø ûý£?Þ¶öXöU£¶љ뢺óßa¼Ìã]EÃÑ:>J˜27"cü8™„dqê:Qî_Áð(êÔZõlz0&}îÃU(c€ cñhíêõz~,Ã+˜K$±X|M"=CÆ·Fhv˜Qвl®âáÛFÓ£|ßé/7}ŠNendstream endobj 1941 0 obj << /Type /Page /Contents 1942 0 R /Resources 1940 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 863 0 obj << /D [1941 0 R /XYZ 71.731 718.306 null] >> endobj 442 0 obj << /D [1941 0 R /XYZ 218.113 706.118 null] >> endobj 1943 0 obj << /D [1941 0 R /XYZ 71.731 693.68 null] >> endobj 1944 0 obj << /D [1941 0 R /XYZ 71.731 693.68 null] >> endobj 446 0 obj << /D [1941 0 R /XYZ 158.616 668.1 null] >> endobj 1945 0 obj << /D [1941 0 R /XYZ 215.193 647.976 null] >> endobj 1946 0 obj << /D [1941 0 R /XYZ 278.834 647.976 null] >> endobj 1947 0 obj << /D [1941 0 R /XYZ 71.731 645.819 null] >> endobj 1948 0 obj << /D [1941 0 R /XYZ 71.731 645.819 null] >> endobj 450 0 obj << /D [1941 0 R /XYZ 183.334 608.604 null] >> endobj 1949 0 obj << /D [1941 0 R /XYZ 71.731 595.671 null] >> endobj 1950 0 obj << /D [1941 0 R /XYZ 232.528 586.985 null] >> endobj 1951 0 obj << /D [1941 0 R /XYZ 71.731 575.614 null] >> endobj 454 0 obj << /D [1941 0 R /XYZ 198.469 537.65 null] >> endobj 1952 0 obj << /D [1941 0 R /XYZ 71.731 527.507 null] >> endobj 1953 0 obj << /D [1941 0 R /XYZ 71.731 527.507 null] >> endobj 1954 0 obj << /D [1941 0 R /XYZ 71.731 510.387 null] >> endobj 458 0 obj << /D [1941 0 R /XYZ 195.055 473.171 null] >> endobj 1955 0 obj << /D [1941 0 R /XYZ 71.731 469.98 null] >> endobj 1956 0 obj << /D [1941 0 R /XYZ 71.731 455.633 null] >> endobj 1957 0 obj << /D [1941 0 R /XYZ 71.731 455.633 null] >> endobj 1958 0 obj << /D [1941 0 R /XYZ 71.731 445.665 null] >> endobj 1959 0 obj << /D [1941 0 R /XYZ 71.731 440.683 null] >> endobj 1960 0 obj << /D [1941 0 R /XYZ 71.731 405.027 null] >> endobj 462 0 obj << /D [1941 0 R /XYZ 207.177 365.655 null] >> endobj 1961 0 obj << /D [1941 0 R /XYZ 71.731 358.302 null] >> endobj 1940 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1964 0 obj << /Length 981 /Filter /FlateDecode >> stream xÚVKÛ6¾ï¯Ð­2°bùIé´è-‚Z·=$ÅBë¥m¡²äJTŒý÷™áPÇÞKàÃÃá¼¾OC‹„ÃO$V0«@È’I£“Ýé'8ùõAD‹Ü&µ„õÃL+ËÊB%ÙÊÃÛ‡ï‘*–I¡“í~ŽÂ5³y‘l_>¦çÃS»<›æéóFò´jF÷4ø¾n›·¿“‡œ©Ü ‡Ü²BBG n½Û厒ñKÄ;Ÿ¤´›Ljž¾¸OœËÖÑ®"Éê,m}Gò9î{çǾu/°ËËtßõ¤þð×û÷´B—®ybˆzðu»ó´Û÷Ý)º=º)‡=¶©‰'Ù”,,X ¸`Ê_åÔícÆ-Iw:ûWZR ØCãTÉ”%¾¶Ýy¨‡¹Á4+ØIÁ´(¡Ë‚ov93œ§ïè>¤;ߢ`J›Øì5$ë(J2[F›ww²Í„•Ìß²’V:þä†]_Ÿ}ݵ·¿‰‚3 „¹:¨“TAØ}í°ùŸ7B§.#SŒ¥Ú6"=Ð60NSèòÄØÕ-ÉÿG׿N }“ÀÍŠ? ¾»!ú[H@<‰¹¯yxfÊêÀÆGZžªÿZ¸®=J“ž»a¨ŸGZÌ%Qõ0ÖÑÏÎ_œk—´šóˆÁª–¼‚Þ,z¯|´èc¨¶‹Ä&ÁÙ0ÆÄЋã±*ªÚu§s_ØI¥ËÀ~”!.ÈÈ~\Nì›69‡’]ðާÎ{êÅêvÕx×·•¯”é ¦«Õ×‡Û ø¤•?††cNž2|uD|ÿn£u:EvU ÁÖÆ!©×Cñã–0C‰÷9ðè´Bë‚t!]\ãÑK½GŸ{×»vu ¦°©Èe„–Ïܣͺl4n£¾k§Ð𜜠øÞâG Ct{™ZF§oL«6š¾æzæ0ž\ë‡yä\½ ð•ÅÍȹúØa%5NV*jüvšÂÓL»7ñ6ÓÌ®âêR7ì›/ŽúéeXªŸ¾lvwÞÅìŒd²°!»?‚C¸k‹ôïáóÇ]×õà£K8= _™Â.õlx\¤Ù=PÄ7¯¤~v³íª¦bšQ Ž5j©)üæIBƒšÉÙÕ‘â\ 9\§e®Þ88ª÷$‘m·_Ì%¼™ñ%ñmìñ³Ÿ6µ¿ÀèxœØÜÝw~݃ê̇œÈ~ÞÎŒâ?ž¼`…°wÿ9E‹l1 ÿ›”ZÓJ1Îg/X˜ø:Ðôì6ÒÝ–ýendstream endobj 1963 0 obj << /Type /Page /Contents 1964 0 R /Resources 1962 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 864 0 obj << /D [1963 0 R /XYZ 71.731 718.306 null] >> endobj 466 0 obj << /D [1963 0 R /XYZ 243.419 705.748 null] >> endobj 1965 0 obj << /D [1963 0 R /XYZ 71.731 693.31 null] >> endobj 1966 0 obj << /D [1963 0 R /XYZ 71.731 693.31 null] >> endobj 470 0 obj << /D [1963 0 R /XYZ 158.616 667.73 null] >> endobj 1967 0 obj << /D [1963 0 R /XYZ 239.103 647.606 null] >> endobj 1968 0 obj << /D [1963 0 R /XYZ 71.731 632.497 null] >> endobj 1969 0 obj << /D [1963 0 R /XYZ 71.731 632.497 null] >> endobj 474 0 obj << /D [1963 0 R /XYZ 183.334 595.282 null] >> endobj 1970 0 obj << /D [1963 0 R /XYZ 71.731 582.35 null] >> endobj 1971 0 obj << /D [1963 0 R /XYZ 254.047 573.663 null] >> endobj 1972 0 obj << /D [1963 0 R /XYZ 259.427 573.663 null] >> endobj 1973 0 obj << /D [1963 0 R /XYZ 71.731 562.293 null] >> endobj 478 0 obj << /D [1963 0 R /XYZ 198.469 524.328 null] >> endobj 1974 0 obj << /D [1963 0 R /XYZ 71.731 514.185 null] >> endobj 1975 0 obj << /D [1963 0 R /XYZ 71.731 514.185 null] >> endobj 1976 0 obj << /D [1963 0 R /XYZ 71.731 445.26 null] >> endobj 482 0 obj << /D [1963 0 R /XYZ 195.055 408.044 null] >> endobj 1977 0 obj << /D [1963 0 R /XYZ 71.731 404.852 null] >> endobj 1978 0 obj << /D [1963 0 R /XYZ 71.731 390.506 null] >> endobj 1979 0 obj << /D [1963 0 R /XYZ 71.731 390.506 null] >> endobj 1980 0 obj << /D [1963 0 R /XYZ 71.731 379.182 null] >> endobj 1981 0 obj << /D [1963 0 R /XYZ 71.731 374.201 null] >> endobj 1982 0 obj << /D [1963 0 R /XYZ 71.731 339.9 null] >> endobj 486 0 obj << /D [1963 0 R /XYZ 207.177 300.527 null] >> endobj 1983 0 obj << /D [1963 0 R /XYZ 71.731 293.175 null] >> endobj 1962 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1986 0 obj << /Length 1038 /Filter /FlateDecode >> stream xÚµVKÜ6 ¾ï¯0‚ëÖªõð =5èE6ƒ^’ ÐÚòØX¯=µälöß—2%'v›öPÌÁÔˆ¢ÈIÑ † 2J2V–&Aùx'Øùá†: ‘¦„% äÍ(á)rD+ ¯Ž7_}Ïx@3Âhëå–8%)˜:VïÂóé?§Á¨Ã‡ãϨ-©ÕÉØæ9‰i>k¿–N“§AAŠ”[Å8ˆXL({³‹^N­ËVí=cÙ!bI*]ʳҸøÑflûÊõ0¢Ðöe7é Û¡÷ÿ˜¥·¿þâOJ£UoôNH‘s!âáŸyûÜgÝê%®üµ% - 8JRønƒì¢,r"% ι¿ã@ hð,ˆ8À“Yù[`lÏÆFµñáßb+’$þúYg”# |( e_áŸ+äAö;…ò•Ôfá½,t'uãwžZÓ´=ʦQë‹îðÈ£|p·ò°5NAÖNÕ&0Ðùˆ2R8^b®¿œh`ƒÍ5™ X@ö‚£‰ŸjT|¦Û|G…ëjX¨¥‡GecpË®s œÜfBpóüs6¨Oªµ]‡Rm³)Û q¸´üŠjolÈRë… þ€ô¬{‘ëO¦‡ n:5;ÐSpqnÑ_®UV85($Þ5y–ÚÐÀ¯g\•Ò½Ûˆ*×1­g¢¸xí;i_yÿ§ÚîÕ¾”ðûfÐæ4*¨'² ðš[ þ'º¿[àAk–©þ ù !.Ë"[ƒ+"H¦‘–"·ÔuhZ…³*[éΖeiÔ¨¯ÏdáP–Óˆâ |­›whØ FtQ™ðKÛåP{ñbÅúI?¿È¿>·7ýpÓendstream endobj 1985 0 obj << /Type /Page /Contents 1986 0 R /Resources 1984 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 865 0 obj << /D [1985 0 R /XYZ 71.731 718.306 null] >> endobj 490 0 obj << /D [1985 0 R /XYZ 149.2 706.652 null] >> endobj 1987 0 obj << /D [1985 0 R /XYZ 71.731 694.214 null] >> endobj 1988 0 obj << /D [1985 0 R /XYZ 71.731 694.214 null] >> endobj 494 0 obj << /D [1985 0 R /XYZ 158.616 668.634 null] >> endobj 1989 0 obj << /D [1985 0 R /XYZ 167.372 648.51 null] >> endobj 1990 0 obj << /D [1985 0 R /XYZ 71.731 646.353 null] >> endobj 1991 0 obj << /D [1985 0 R /XYZ 71.731 646.353 null] >> endobj 498 0 obj << /D [1985 0 R /XYZ 183.334 609.137 null] >> endobj 1992 0 obj << /D [1985 0 R /XYZ 71.731 596.205 null] >> endobj 1993 0 obj << /D [1985 0 R /XYZ 189.489 587.518 null] >> endobj 1994 0 obj << /D [1985 0 R /XYZ 71.731 576.148 null] >> endobj 502 0 obj << /D [1985 0 R /XYZ 198.469 538.183 null] >> endobj 1995 0 obj << /D [1985 0 R /XYZ 71.731 528.041 null] >> endobj 1996 0 obj << /D [1985 0 R /XYZ 71.731 528.041 null] >> endobj 1997 0 obj << /D [1985 0 R /XYZ 71.731 498.343 null] >> endobj 1998 0 obj << /D [1985 0 R /XYZ 71.731 475.055 null] >> endobj 1999 0 obj << /D [1985 0 R /XYZ 136.566 442.642 null] >> endobj 2000 0 obj << /D [1985 0 R /XYZ 400.317 442.642 null] >> endobj 2001 0 obj << /D [1985 0 R /XYZ 238.704 429.69 null] >> endobj 2002 0 obj << /D [1985 0 R /XYZ 71.731 417.571 null] >> endobj 2003 0 obj << /D [1985 0 R /XYZ 71.731 365.068 null] >> endobj 506 0 obj << /D [1985 0 R /XYZ 195.055 327.852 null] >> endobj 2004 0 obj << /D [1985 0 R /XYZ 71.731 324.66 null] >> endobj 2005 0 obj << /D [1985 0 R /XYZ 71.731 310.314 null] >> endobj 2006 0 obj << /D [1985 0 R /XYZ 71.731 310.314 null] >> endobj 2007 0 obj << /D [1985 0 R /XYZ 71.731 298.99 null] >> endobj 2008 0 obj << /D [1985 0 R /XYZ 71.731 294.009 null] >> endobj 2009 0 obj << /D [1985 0 R /XYZ 71.731 259.708 null] >> endobj 510 0 obj << /D [1985 0 R /XYZ 207.177 220.335 null] >> endobj 2010 0 obj << /D [1985 0 R /XYZ 71.731 212.983 null] >> endobj 1984 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2013 0 obj << /Length 1117 /Filter /FlateDecode >> stream xÚ­VYÛ6~ß_!VV¬xé@ŸôJicô% ­DÙÂÊ’+RÙì¿ïCɲ­mS Ð‡â\üæàÐ †)%)‡…å„%2(7q°ƒ“_n¨çIB˜d@¯F’§$Ïx-4¼ÚÞ|÷3ãM £2ØÖ³•X’TdÁ¶úwŸ•.‹£ú¬ÍÐt»Í§ío(%‰•)ÉØà‰)J½- 9yä$O¸eŒƒˆÅ„2ñOšÓžÊí,ûGÆÒMÄd¢”ÆM‹Wáèºhº²ÝÐpÔMßMLÔûßßL’…QÕMðÇvßxÝÓjöÊóÚk¡YmÝ "ïbDÉ|¯¿ÆÞ(¯îµÁõqCŠW•ª.¼-{ðµÓ6ª+7T†O›D†dpÀ‘ç„§hïýS×AlÆ;ü£DÒ@§$õyÐ; å”™zПyDíÓ$ˆxÂ¥ãþTÍÑX¸¯œù¯ÁÏ2"õ~8@-v\ºˆÃ2GÜþê,˜pZt¸Ž&O…lsòÀ‘Kž;¤õXî½àZÅA]&1÷n¼êïo=¿ö£^ñZ愦“×Þ&pˆÝ`pûØ´-Rµk%M‹ q0š î³:]ïì• ­Ý5¹á— ƒÜbõhܘýлý îŒKïß7Ô¬½}âÙ¡N0ëÐà8¨ÉšÂîæv¥ÅŸK(F 8UHúÂu¿wõ‹—k{Vã¶éfq çUù®×f7(èúä_ª ûß«àÃp¨Õ%2húômõ=–âA¤ ˆí!¶”Ù6iDf³±v GU6…—-÷ÅP”F ú\& û²$]3„Õºz‡}ÀÏÂKÎ¥´+¯Æë˜»ìî'÷3ò©Ã2÷8ôG5´Oؽœ¾ê™GPÀFbÛøa°÷Ü®qÎÚÙäSNž^¿j ¼)PLžõÛíüô/Œ©mß«å@²êe4éLaYâtþ¡Ì8X`Ó,üs“ÄX–WÞL¦\¹ñO ÷^Y`!ÿOý Nü£ÃÏ>?:bš€8`¬†FáøÃ÷@gÅe„­,ƒ`lñx •?ékïД N¯smÍB‡ÁÎ~îy¶êG£›jÚÔ—“×~Ì»<|T-¶À›Ÿ¶ó¤ëGX‘‘Œ¦«£°çˆN,n†€ŸÚ2‡Â‹g-ÖOzihš¨¯-ý :é*endstream endobj 2012 0 obj << /Type /Page /Contents 2013 0 R /Resources 2011 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 866 0 obj << /D [2012 0 R /XYZ 71.731 718.306 null] >> endobj 514 0 obj << /D [2012 0 R /XYZ 218.113 705.748 null] >> endobj 2014 0 obj << /D [2012 0 R /XYZ 71.731 693.31 null] >> endobj 2015 0 obj << /D [2012 0 R /XYZ 71.731 693.31 null] >> endobj 518 0 obj << /D [2012 0 R /XYZ 158.616 667.73 null] >> endobj 2016 0 obj << /D [2012 0 R /XYZ 215.193 647.606 null] >> endobj 2017 0 obj << /D [2012 0 R /XYZ 71.731 632.497 null] >> endobj 2018 0 obj << /D [2012 0 R /XYZ 71.731 632.497 null] >> endobj 522 0 obj << /D [2012 0 R /XYZ 183.334 595.282 null] >> endobj 2019 0 obj << /D [2012 0 R /XYZ 71.731 582.35 null] >> endobj 2020 0 obj << /D [2012 0 R /XYZ 232.528 573.663 null] >> endobj 2021 0 obj << /D [2012 0 R /XYZ 71.731 562.293 null] >> endobj 526 0 obj << /D [2012 0 R /XYZ 198.469 524.328 null] >> endobj 2022 0 obj << /D [2012 0 R /XYZ 71.731 514.185 null] >> endobj 2023 0 obj << /D [2012 0 R /XYZ 71.731 514.185 null] >> endobj 2024 0 obj << /D [2012 0 R /XYZ 71.731 484.488 null] >> endobj 2025 0 obj << /D [2012 0 R /XYZ 71.731 461.2 null] >> endobj 2026 0 obj << /D [2012 0 R /XYZ 136.566 428.786 null] >> endobj 2027 0 obj << /D [2012 0 R /XYZ 400.317 428.786 null] >> endobj 2028 0 obj << /D [2012 0 R /XYZ 242.857 415.835 null] >> endobj 2029 0 obj << /D [2012 0 R /XYZ 71.731 390.764 null] >> endobj 2030 0 obj << /D [2012 0 R /XYZ 71.731 338.261 null] >> endobj 530 0 obj << /D [2012 0 R /XYZ 195.055 301.045 null] >> endobj 2031 0 obj << /D [2012 0 R /XYZ 71.731 297.853 null] >> endobj 2032 0 obj << /D [2012 0 R /XYZ 71.731 283.507 null] >> endobj 2033 0 obj << /D [2012 0 R /XYZ 71.731 283.507 null] >> endobj 2034 0 obj << /D [2012 0 R /XYZ 71.731 272.184 null] >> endobj 2035 0 obj << /D [2012 0 R /XYZ 71.731 267.202 null] >> endobj 2036 0 obj << /D [2012 0 R /XYZ 71.731 232.901 null] >> endobj 534 0 obj << /D [2012 0 R /XYZ 207.177 193.529 null] >> endobj 2037 0 obj << /D [2012 0 R /XYZ 71.731 186.176 null] >> endobj 2011 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2040 0 obj << /Length 568 /Filter /FlateDecode >> stream xÚ•TÉnÛ0½û+ˆ  (Yî¤ÐS‹.@Qh"ô’†lÓ®ÐXr%¹¨ÿ¾C‘–åX)èÀ‘ôfæ½YÈ…‡!ÈpðŒp­Ðr;£h>ÏXDH­ W쉟X C2+ExŸÏÞ|â1C8S(_Y¨&ŒY”¯n“ÝfîÚe±sóEÊirè\‘Þç_‚£$Bjï( ±ÒKhtüVl]@ 2’iáaN ãòqðQ`s‚gœ0%ÁË£ï87)æŠ&Á© /E8eU4‡`·]SV›`¯ë ™%eµ|Ø·e]…ïeÕÕÁºùþõèVtn몮%q$ƒEF„á=¥›CUïÚ²„Z`Þ£9#Še – ç“j%?ùXM¨1QmÔ0ÁƒQCT¦–@D¨ý"7å®óò.¸‹®žWt+³6Òx^©_‡—m‘²ä×Pú²‹˜bíÆÍè«ÿâfŒa zÈÒD¢þºeŠ5¥É«e]UÁ¼*«ÖAN–táCÈä­u?ÅÃÞ+ôöUôvT¡¨´Zù‰†H÷bo¯¦Z#¡Â"¬a¥t؃wMÊT²Ù÷R†žŸ-€3ÓƒC¾ùYïGa`A1ll&Dï‘ÿtÿŸÿcan¼;ЧÕäShN¸ ¤®]·o|£ŒM~¤ÆêuIî|µƒSœ›îi’qr<¡žØêŃò{ïšÒ…)™}̇;/^fÒËÌ䥸é¯D¨ì J è(¢xeìq¢ãÝz™éúTy–endstream endobj 2039 0 obj << /Type /Page /Contents 2040 0 R /Resources 2038 0 R /MediaBox [0 0 609.714 789.041] /Parent 1939 0 R >> endobj 867 0 obj << /D [2039 0 R /XYZ 71.731 718.306 null] >> endobj 538 0 obj << /D [2039 0 R /XYZ 214.911 706.118 null] >> endobj 2041 0 obj << /D [2039 0 R /XYZ 71.731 693.68 null] >> endobj 2042 0 obj << /D [2039 0 R /XYZ 71.731 693.68 null] >> endobj 542 0 obj << /D [2039 0 R /XYZ 158.616 668.1 null] >> endobj 2043 0 obj << /D [2039 0 R /XYZ 209.215 647.976 null] >> endobj 2044 0 obj << /D [2039 0 R /XYZ 71.731 645.819 null] >> endobj 2045 0 obj << /D [2039 0 R /XYZ 71.731 645.819 null] >> endobj 546 0 obj << /D [2039 0 R /XYZ 183.334 608.604 null] >> endobj 2046 0 obj << /D [2039 0 R /XYZ 71.731 595.671 null] >> endobj 2047 0 obj << /D [2039 0 R /XYZ 227.148 586.985 null] >> endobj 2048 0 obj << /D [2039 0 R /XYZ 71.731 575.614 null] >> endobj 550 0 obj << /D [2039 0 R /XYZ 198.469 537.65 null] >> endobj 2049 0 obj << /D [2039 0 R /XYZ 71.731 527.507 null] >> endobj 2050 0 obj << /D [2039 0 R /XYZ 71.731 527.507 null] >> endobj 2051 0 obj << /D [2039 0 R /XYZ 71.731 510.387 null] >> endobj 2052 0 obj << /D [2039 0 R /XYZ 71.731 500.424 null] >> endobj 2053 0 obj << /D [2039 0 R /XYZ 71.731 463.029 null] >> endobj 554 0 obj << /D [2039 0 R /XYZ 195.055 423.657 null] >> endobj 2054 0 obj << /D [2039 0 R /XYZ 71.731 420.465 null] >> endobj 2055 0 obj << /D [2039 0 R /XYZ 71.731 406.119 null] >> endobj 2056 0 obj << /D [2039 0 R /XYZ 71.731 406.119 null] >> endobj 2057 0 obj << /D [2039 0 R /XYZ 71.731 394.795 null] >> endobj 2058 0 obj << /D [2039 0 R /XYZ 71.731 389.814 null] >> endobj 2059 0 obj << /D [2039 0 R /XYZ 71.731 355.513 null] >> endobj 558 0 obj << /D [2039 0 R /XYZ 207.177 316.14 null] >> endobj 2060 0 obj << /D [2039 0 R /XYZ 71.731 308.788 null] >> endobj 2038 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2063 0 obj << /Length 461 /Filter /FlateDecode >> stream xÚ”MÓ0†ïý>&ìñ÷qW|H8@ÄP•íz»4­’ÔÏ$NÒv¡UžÄó¾~úv\É}$sœ¢ 5l³[ ¶¥+9vhk R½°Ér¼büÂá¾X½ý€ŠI( +žæS„)=+¿g‡íúXÇvSâú!G‘ºXæ?‹OIªAiÛKµtò FéçrS§²,@°ªoŒ£‰úÖþÂÚRh"°ü@t9G#²IצÇ2-U]6§T·]SÕ[X å“)W”ÃÁúë©ÞÚª™=! í(ÁHj¦ÕÒúpgU°à•¹Ë"Šô Œe\Š2C÷;rnªCWíë[š)AóÚƒ‚ 'ׯö&=ü}Ž5U:dM¤÷1G“ýé¿É°ûÔìw©êžãèTn~åRd±~\L~„áš^™4wM.M¶=îbݵsŽWC#ÜМH×Wy^N U” §¡J ŠbB5‰w?âÆëiZ†ž\-z;¸~‰Ý±é£q>û–[Jò÷1Þò\ÿXIÔ¾ŒlyfWï‹ù7S{ðÒ-Þ𱃟[†ûMÌ,F)bvéä˃¦?ŠÛ“þÃn%Fendstream endobj 2062 0 obj << /Type /Page /Contents 2063 0 R /Resources 2061 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 868 0 obj << /D [2062 0 R /XYZ 71.731 718.306 null] >> endobj 562 0 obj << /D [2062 0 R /XYZ 235.948 706.118 null] >> endobj 2064 0 obj << /D [2062 0 R /XYZ 71.731 693.68 null] >> endobj 2065 0 obj << /D [2062 0 R /XYZ 71.731 693.68 null] >> endobj 566 0 obj << /D [2062 0 R /XYZ 158.616 668.1 null] >> endobj 2066 0 obj << /D [2062 0 R /XYZ 221.171 647.976 null] >> endobj 2067 0 obj << /D [2062 0 R /XYZ 71.731 645.819 null] >> endobj 2068 0 obj << /D [2062 0 R /XYZ 71.731 645.819 null] >> endobj 570 0 obj << /D [2062 0 R /XYZ 183.334 608.604 null] >> endobj 2069 0 obj << /D [2062 0 R /XYZ 71.731 595.671 null] >> endobj 2070 0 obj << /D [2062 0 R /XYZ 237.908 586.985 null] >> endobj 2071 0 obj << /D [2062 0 R /XYZ 71.731 575.614 null] >> endobj 574 0 obj << /D [2062 0 R /XYZ 198.469 537.65 null] >> endobj 2072 0 obj << /D [2062 0 R /XYZ 71.731 527.507 null] >> endobj 2073 0 obj << /D [2062 0 R /XYZ 71.731 527.507 null] >> endobj 2074 0 obj << /D [2062 0 R /XYZ 71.731 510.387 null] >> endobj 578 0 obj << /D [2062 0 R /XYZ 195.055 473.171 null] >> endobj 2075 0 obj << /D [2062 0 R /XYZ 71.731 469.98 null] >> endobj 2076 0 obj << /D [2062 0 R /XYZ 71.731 455.633 null] >> endobj 2077 0 obj << /D [2062 0 R /XYZ 71.731 455.633 null] >> endobj 2078 0 obj << /D [2062 0 R /XYZ 71.731 444.31 null] >> endobj 2079 0 obj << /D [2062 0 R /XYZ 71.731 439.328 null] >> endobj 2080 0 obj << /D [2062 0 R /XYZ 71.731 405.027 null] >> endobj 582 0 obj << /D [2062 0 R /XYZ 207.177 365.655 null] >> endobj 2081 0 obj << /D [2062 0 R /XYZ 71.731 358.302 null] >> endobj 2061 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2085 0 obj << /Length 692 /Filter /FlateDecode >> stream xÚU]o›0}ϯ@Õ¤Áƒ=ümöÖ)é”=tR†º‡®ª(¡I¦" Ú*õÇïúHí¦H±sϽ×&A ?(‚ƒ&˜Jä‡YlàËçñ.%¦‚Â|â#LáD³0|Jg®( ˆÂ”ˆ }ìW‰%&Déú6¥yJÄ̵ÄßžËêØìš^ª†õ-š,Hz –0NêåtÀKŽ…Ð^o^•e„d‡‡j]LiÑÇJˆƒ&lмhòzwlwU9–Ó9'þÃ9P,{%Ö¯æß†áIÇâðJ¸¤]B¬7O‡¢l›Þ†³ C!%jða$À 6‚ âÆ,0Ýz1Û¬\ï;ag² 5öØç¶òcDÂ.|µÙCÖø§GþÚîòíyÐiµ]ô[ÆœnMìà$ѯm•[ePYžMcæÄEÛ·Uí&­ÃPì…™70‹[¶n̳Ò}}èøK“©g÷PÕïwåÆÚjS»_\¿æ˜håkhy}s¿Z\ÎÇÛãPÅŒxdnÌgJŸ}_-ÓÅ“ÆÚÌá¬å¦Ož÷(N=/8XUÃ?÷É:uÖólæ':ZSÜ(/c3ݯoI®Œca~g‡ã¾ø8æFp삵 UbÉ\ñßžv©= Þ çÂE„HoìKoÌÅÝTrÊáàÒ1¦Î†UÑ>Õ¦º•o" ÉÞ?M”ßùyÛ{÷u9?ï°·;æ<ñ³¶¹™-ÒþRñ·$P5yëx öÎÆÌg ÇqÏbÔ’¿ê.¯ñJÊ/Á¢endstream endobj 2084 0 obj << /Type /Page /Contents 2085 0 R /Resources 2083 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 869 0 obj << /D [2084 0 R /XYZ 71.731 718.306 null] >> endobj 586 0 obj << /D [2084 0 R /XYZ 168.36 706.118 null] >> endobj 2086 0 obj << /D [2084 0 R /XYZ 71.731 693.68 null] >> endobj 2087 0 obj << /D [2084 0 R /XYZ 71.731 693.68 null] >> endobj 590 0 obj << /D [2084 0 R /XYZ 158.616 668.1 null] >> endobj 2088 0 obj << /D [2084 0 R /XYZ 185.305 647.976 null] >> endobj 2089 0 obj << /D [2084 0 R /XYZ 71.731 645.819 null] >> endobj 2090 0 obj << /D [2084 0 R /XYZ 71.731 645.819 null] >> endobj 594 0 obj << /D [2084 0 R /XYZ 183.334 608.604 null] >> endobj 2091 0 obj << /D [2084 0 R /XYZ 71.731 595.671 null] >> endobj 2092 0 obj << /D [2084 0 R /XYZ 205.629 586.985 null] >> endobj 2093 0 obj << /D [2084 0 R /XYZ 232.528 586.985 null] >> endobj 2094 0 obj << /D [2084 0 R /XYZ 71.731 575.614 null] >> endobj 598 0 obj << /D [2084 0 R /XYZ 198.469 537.65 null] >> endobj 2095 0 obj << /D [2084 0 R /XYZ 71.731 527.507 null] >> endobj 2096 0 obj << /D [2084 0 R /XYZ 71.731 527.507 null] >> endobj 2097 0 obj << /D [2084 0 R /XYZ 71.731 510.387 null] >> endobj 602 0 obj << /D [2084 0 R /XYZ 195.055 473.171 null] >> endobj 2098 0 obj << /D [2084 0 R /XYZ 71.731 469.98 null] >> endobj 2099 0 obj << /D [2084 0 R /XYZ 71.731 455.633 null] >> endobj 2100 0 obj << /D [2084 0 R /XYZ 71.731 455.633 null] >> endobj 2101 0 obj << /D [2084 0 R /XYZ 71.731 445.665 null] >> endobj 2102 0 obj << /D [2084 0 R /XYZ 71.731 440.683 null] >> endobj 2103 0 obj << /D [2084 0 R /XYZ 71.731 420.803 null] >> endobj 2104 0 obj << /D [2084 0 R /XYZ 71.731 420.803 null] >> endobj 2105 0 obj << /D [2084 0 R /XYZ 71.731 409.799 null] >> endobj 2106 0 obj << /D [2084 0 R /XYZ 71.731 404.818 null] >> endobj 2107 0 obj << /D [2084 0 R /XYZ 423.664 392.076 null] >> endobj 2108 0 obj << /D [2084 0 R /XYZ 487.073 392.076 null] >> endobj 2109 0 obj << /D [2084 0 R /XYZ 157.459 379.124 null] >> endobj 2110 0 obj << /D [2084 0 R /XYZ 221.917 379.124 null] >> endobj 2111 0 obj << /D [2084 0 R /XYZ 71.731 371.901 null] >> endobj 2112 0 obj << /D [2084 0 R /XYZ 71.731 321.64 null] >> endobj 606 0 obj << /D [2084 0 R /XYZ 207.177 282.267 null] >> endobj 2113 0 obj << /D [2084 0 R /XYZ 71.731 274.915 null] >> endobj 2083 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2116 0 obj << /Length 611 /Filter /FlateDecode >> stream xÚUÛŽ›0}ÏWðH¤zê ¾ð¸Õ¶U+µ•ºh_ºÕŠ'¡ !¢mÿ¾ƒ1äfmV v¹Ñø]ïôr/²%endstream endobj 2115 0 obj << /Type /Page /Contents 2116 0 R /Resources 2114 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 870 0 obj << /D [2115 0 R /XYZ 71.731 718.306 null] >> endobj 610 0 obj << /D [2115 0 R /XYZ 168.343 706.118 null] >> endobj 2117 0 obj << /D [2115 0 R /XYZ 71.731 693.68 null] >> endobj 2118 0 obj << /D [2115 0 R /XYZ 71.731 693.68 null] >> endobj 614 0 obj << /D [2115 0 R /XYZ 158.616 668.1 null] >> endobj 2119 0 obj << /D [2115 0 R /XYZ 179.328 647.976 null] >> endobj 2120 0 obj << /D [2115 0 R /XYZ 71.731 645.819 null] >> endobj 2121 0 obj << /D [2115 0 R /XYZ 71.731 645.819 null] >> endobj 618 0 obj << /D [2115 0 R /XYZ 183.334 608.604 null] >> endobj 2122 0 obj << /D [2115 0 R /XYZ 71.731 595.671 null] >> endobj 2123 0 obj << /D [2115 0 R /XYZ 200.249 586.985 null] >> endobj 2124 0 obj << /D [2115 0 R /XYZ 227.148 586.985 null] >> endobj 2125 0 obj << /D [2115 0 R /XYZ 254.406 586.985 null] >> endobj 2126 0 obj << /D [2115 0 R /XYZ 71.731 575.614 null] >> endobj 622 0 obj << /D [2115 0 R /XYZ 198.469 537.65 null] >> endobj 2127 0 obj << /D [2115 0 R /XYZ 71.731 527.507 null] >> endobj 2128 0 obj << /D [2115 0 R /XYZ 71.731 527.507 null] >> endobj 2129 0 obj << /D [2115 0 R /XYZ 71.731 510.387 null] >> endobj 626 0 obj << /D [2115 0 R /XYZ 195.055 473.171 null] >> endobj 2130 0 obj << /D [2115 0 R /XYZ 71.731 469.98 null] >> endobj 2131 0 obj << /D [2115 0 R /XYZ 71.731 455.633 null] >> endobj 2132 0 obj << /D [2115 0 R /XYZ 71.731 455.633 null] >> endobj 2133 0 obj << /D [2115 0 R /XYZ 71.731 445.665 null] >> endobj 2134 0 obj << /D [2115 0 R /XYZ 71.731 440.683 null] >> endobj 2135 0 obj << /D [2115 0 R /XYZ 71.731 420.803 null] >> endobj 2136 0 obj << /D [2115 0 R /XYZ 71.731 420.803 null] >> endobj 2137 0 obj << /D [2115 0 R /XYZ 71.731 409.799 null] >> endobj 2138 0 obj << /D [2115 0 R /XYZ 71.731 404.818 null] >> endobj 2139 0 obj << /D [2115 0 R /XYZ 71.731 384.937 null] >> endobj 2140 0 obj << /D [2115 0 R /XYZ 71.731 384.937 null] >> endobj 2141 0 obj << /D [2115 0 R /XYZ 71.731 373.934 null] >> endobj 2142 0 obj << /D [2115 0 R /XYZ 71.731 368.952 null] >> endobj 2143 0 obj << /D [2115 0 R /XYZ 404.62 356.21 null] >> endobj 2144 0 obj << /D [2115 0 R /XYZ 414.981 356.21 null] >> endobj 2145 0 obj << /D [2115 0 R /XYZ 436.132 356.21 null] >> endobj 2146 0 obj << /D [2115 0 R /XYZ 71.731 333.296 null] >> endobj 630 0 obj << /D [2115 0 R /XYZ 207.177 293.924 null] >> endobj 2147 0 obj << /D [2115 0 R /XYZ 71.731 286.571 null] >> endobj 2114 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2150 0 obj << /Length 517 /Filter /FlateDecode >> stream xÚ”K›0Çïù>ÂÁS¿mŽ[õ!õ°‡õÒ®V,! U‚£@ÔöÛwIqâ`ÿ™ùÍÃæ„áÉå`%."a4)OFöøçý†…2„¸ü¤ZZÈœ$ôÆÃë|óê„[\“|7Ga8w$ß~IÎûç£.SÁ’£o«ô)ÿ0)ÊôFÊ‚B:`Áè±8¥4$ƒÌÈ^È ¸P·ŽoœÚEj¥Ð¢W~¦Th–Œêa[ŒË±¸¤Ü%ûðÕ¿|«Ê.IƒG*3V ~?ýlü¹­Û™ÔaøA-8hž!.ƒkW‰Eohíné›&¥†±d[µå¥>wþ#r˜µ„*$’z0} j߬¡¦òéÿ(r›™§×´ÿ®DË6z¢ ?é±qh«“ýõT5];×â®Ë8P™]бâã¸Ã<(N^&å ÌæP4Ûã¶»Ãî!h_á½óaMy2™o‹®x)¦)©ƒòû¡.A<)ã£3ì«>ÃuÛµ°NFèWþS²ãä=ÖÅjxßM›¿1b®æîâOë9áO1ÍÇÄŸ«H´›MSí¾¦HáÆŽ~¬ºë¥/«uÉçÔ`sŽ×ÈÞöGß šÍÛ|¾“Âe£8n£—VPÐE2\Yt“ƒÆf/},þ{ éî[Gú¼{SDendstream endobj 2149 0 obj << /Type /Page /Contents 2150 0 R /Resources 2148 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 871 0 obj << /D [2149 0 R /XYZ 71.731 718.306 null] >> endobj 634 0 obj << /D [2149 0 R /XYZ 170.891 706.118 null] >> endobj 2151 0 obj << /D [2149 0 R /XYZ 71.731 693.68 null] >> endobj 2152 0 obj << /D [2149 0 R /XYZ 71.731 693.68 null] >> endobj 638 0 obj << /D [2149 0 R /XYZ 158.616 668.1 null] >> endobj 2153 0 obj << /D [2149 0 R /XYZ 185.305 647.976 null] >> endobj 2154 0 obj << /D [2149 0 R /XYZ 71.731 645.819 null] >> endobj 2155 0 obj << /D [2149 0 R /XYZ 71.731 645.819 null] >> endobj 642 0 obj << /D [2149 0 R /XYZ 183.334 608.604 null] >> endobj 2156 0 obj << /D [2149 0 R /XYZ 71.731 595.671 null] >> endobj 2157 0 obj << /D [2149 0 R /XYZ 205.629 586.985 null] >> endobj 2158 0 obj << /D [2149 0 R /XYZ 232.528 586.985 null] >> endobj 2159 0 obj << /D [2149 0 R /XYZ 71.731 575.614 null] >> endobj 646 0 obj << /D [2149 0 R /XYZ 198.469 537.65 null] >> endobj 2160 0 obj << /D [2149 0 R /XYZ 71.731 527.507 null] >> endobj 2161 0 obj << /D [2149 0 R /XYZ 71.731 527.507 null] >> endobj 2162 0 obj << /D [2149 0 R /XYZ 71.731 510.387 null] >> endobj 650 0 obj << /D [2149 0 R /XYZ 195.055 473.171 null] >> endobj 2163 0 obj << /D [2149 0 R /XYZ 71.731 469.98 null] >> endobj 2164 0 obj << /D [2149 0 R /XYZ 71.731 455.633 null] >> endobj 2165 0 obj << /D [2149 0 R /XYZ 71.731 455.633 null] >> endobj 2166 0 obj << /D [2149 0 R /XYZ 71.731 445.665 null] >> endobj 2167 0 obj << /D [2149 0 R /XYZ 71.731 440.683 null] >> endobj 2168 0 obj << /D [2149 0 R /XYZ 71.731 420.803 null] >> endobj 2169 0 obj << /D [2149 0 R /XYZ 71.731 420.803 null] >> endobj 2170 0 obj << /D [2149 0 R /XYZ 71.731 408.444 null] >> endobj 2171 0 obj << /D [2149 0 R /XYZ 71.731 403.463 null] >> endobj 2172 0 obj << /D [2149 0 R /XYZ 291.187 392.076 null] >> endobj 2173 0 obj << /D [2149 0 R /XYZ 71.731 369.161 null] >> endobj 654 0 obj << /D [2149 0 R /XYZ 207.177 329.789 null] >> endobj 2174 0 obj << /D [2149 0 R /XYZ 71.731 322.437 null] >> endobj 2148 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2177 0 obj << /Length 833 /Filter /FlateDecode >> stream xÚ•VËŽ›0Ýç+X‚T\?° êjª>Ô.ºh£ÙtªIœ„Š@ŠaÚùû^¿H20éTY`ð±ï¹÷œë˜D~$’IZ *x´>,p´ƒ™ ♈r ã™É”3‰ŠœEéÙo—‹×(‹ˆD”ðh¹£`É£åæ{|ÜÝ×í}§ÊMòcùÙá3Ä2að™D9…ÝYްÇ)Ê!™ˆ Tf€8J)F„fó{ÊRP '`ÞQ*“”r[°m»öàF¥{Ôe—<Þ)÷Ú®~ªu?C6õ[§¬@LRàÛcÓu¥GÆ9ð°hJ'Ð&HÀsŽvFOp^ "sO{Ý6M’ ŒãÒë®:ömïLÄ«a{[Ú±ŒkÕ̱Ì1…ŒÒ X2n÷{çw©ÚfJ4”–ÿ³´ ’ž£h_ÇÞ=­îÇÌN«8‚úU'ÎgûBø ”uˆÕc¯ô)eÇU“¸o/à åqÙUåªö+0×fJ‘ä™ \'4¤?ÒDs¥g\Â>à ¾qçÕ ÌãÝpPM¯§¡Mõ¡}@°QøI`#'…>+³ÀåÞg´/›MÈ®Ý^¤o6ƒúÑí{¨N• Ë7e_®J­Æ"Úçï}µÞ{p@^©½2þ©t¯Ñ4Át†ý™«¯'ëšìÆs=ëk0¸Ær 4­&ö'Î,âUuîos.å É"¿”ÿ"QJ9Ê ÃóLŸóÒ5IIg]%ÇÃÖ¸z«ºçŒ\õendstream endobj 2176 0 obj << /Type /Page /Contents 2177 0 R /Resources 2175 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 872 0 obj << /D [2176 0 R /XYZ 71.731 718.306 null] >> endobj 658 0 obj << /D [2176 0 R /XYZ 163.575 706.118 null] >> endobj 2178 0 obj << /D [2176 0 R /XYZ 71.731 693.68 null] >> endobj 2179 0 obj << /D [2176 0 R /XYZ 71.731 693.68 null] >> endobj 662 0 obj << /D [2176 0 R /XYZ 158.616 668.1 null] >> endobj 2180 0 obj << /D [2176 0 R /XYZ 179.328 647.976 null] >> endobj 2181 0 obj << /D [2176 0 R /XYZ 71.731 645.819 null] >> endobj 2182 0 obj << /D [2176 0 R /XYZ 71.731 645.819 null] >> endobj 666 0 obj << /D [2176 0 R /XYZ 183.334 608.604 null] >> endobj 2183 0 obj << /D [2176 0 R /XYZ 71.731 595.671 null] >> endobj 2184 0 obj << /D [2176 0 R /XYZ 200.249 586.985 null] >> endobj 2185 0 obj << /D [2176 0 R /XYZ 227.148 586.985 null] >> endobj 2186 0 obj << /D [2176 0 R /XYZ 286.649 586.985 null] >> endobj 2187 0 obj << /D [2176 0 R /XYZ 324.63 586.985 null] >> endobj 2188 0 obj << /D [2176 0 R /XYZ 71.731 575.614 null] >> endobj 670 0 obj << /D [2176 0 R /XYZ 198.469 537.65 null] >> endobj 2189 0 obj << /D [2176 0 R /XYZ 71.731 527.507 null] >> endobj 2190 0 obj << /D [2176 0 R /XYZ 71.731 527.507 null] >> endobj 2191 0 obj << /D [2176 0 R /XYZ 230.903 517.525 null] >> endobj 2192 0 obj << /D [2176 0 R /XYZ 440.974 517.525 null] >> endobj 2193 0 obj << /D [2176 0 R /XYZ 71.731 510.387 null] >> endobj 674 0 obj << /D [2176 0 R /XYZ 195.055 473.171 null] >> endobj 2194 0 obj << /D [2176 0 R /XYZ 71.731 469.98 null] >> endobj 2195 0 obj << /D [2176 0 R /XYZ 71.731 455.633 null] >> endobj 2196 0 obj << /D [2176 0 R /XYZ 71.731 455.633 null] >> endobj 2197 0 obj << /D [2176 0 R /XYZ 71.731 445.665 null] >> endobj 2198 0 obj << /D [2176 0 R /XYZ 71.731 440.683 null] >> endobj 2199 0 obj << /D [2176 0 R /XYZ 71.731 420.803 null] >> endobj 2200 0 obj << /D [2176 0 R /XYZ 71.731 420.803 null] >> endobj 2201 0 obj << /D [2176 0 R /XYZ 71.731 408.444 null] >> endobj 2202 0 obj << /D [2176 0 R /XYZ 71.731 403.463 null] >> endobj 2203 0 obj << /D [2176 0 R /XYZ 291.187 392.076 null] >> endobj 2204 0 obj << /D [2176 0 R /XYZ 71.731 384.937 null] >> endobj 2205 0 obj << /D [2176 0 R /XYZ 71.731 384.937 null] >> endobj 2206 0 obj << /D [2176 0 R /XYZ 71.731 373.934 null] >> endobj 2207 0 obj << /D [2176 0 R /XYZ 71.731 368.952 null] >> endobj 2208 0 obj << /D [2176 0 R /XYZ 71.731 349.072 null] >> endobj 2209 0 obj << /D [2176 0 R /XYZ 71.731 349.072 null] >> endobj 2210 0 obj << /D [2176 0 R /XYZ 71.731 338.068 null] >> endobj 2211 0 obj << /D [2176 0 R /XYZ 71.731 333.087 null] >> endobj 2212 0 obj << /D [2176 0 R /XYZ 71.731 297.43 null] >> endobj 678 0 obj << /D [2176 0 R /XYZ 207.177 258.058 null] >> endobj 2213 0 obj << /D [2176 0 R /XYZ 71.731 250.706 null] >> endobj 2175 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2216 0 obj << /Length 876 /Filter /FlateDecode >> stream xÚ•VÉŽÛ8½÷WèH‡»$ä”`f‚äCbä2²-ÛhéˆT:ý÷)n²ÕR=ðÛ«â«WŲhBàG“œâœÃÀJÌ”LÝIÎpòP 3É`¾q˜Ižã²àIvãáíîî¿OhŽ•Éî4ßB$ÎE‘ìŽÿ ûó·vøö06¦NÿÝ}ðs¡¬ÈqÁÀ=/0¡ÞàcÕ$WI‰KÅ-$#˜2ñŒÓü UfB€…E~e,O3& òh75ƒ+?´Õ˜ÒÃé°ÿ¯>˜ ²Yðœñóœ;ÿŸûá^7zf\ ‡fKZmŠŒ›´»â•ÀRöaèû4S„ c­cso†Ö\¡ýt‚‰b¨ºõ[< …Iž'™ž\:‡7ÍЯ©þq!Y:ŒZ?vƒ6sp³™,0/ƒU[÷k¿p¿`1iûÇÙíiºE²~¤L¢jlª}[¯ïÈÕÕ Hµ¾ˆb"h@¼¤ð–ÂL˜ +1ìI¯Û0–èsà?  ùæçR@dWˆûX‚pÓe8&döbäO/Š_]ë›~©€endstream endobj 2215 0 obj << /Type /Page /Contents 2216 0 R /Resources 2214 0 R /MediaBox [0 0 609.714 789.041] /Parent 2082 0 R >> endobj 873 0 obj << /D [2215 0 R /XYZ 71.731 718.306 null] >> endobj 682 0 obj << /D [2215 0 R /XYZ 167.396 705.748 null] >> endobj 2217 0 obj << /D [2215 0 R /XYZ 71.731 693.31 null] >> endobj 2218 0 obj << /D [2215 0 R /XYZ 71.731 693.31 null] >> endobj 686 0 obj << /D [2215 0 R /XYZ 158.616 667.73 null] >> endobj 2219 0 obj << /D [2215 0 R /XYZ 185.305 647.606 null] >> endobj 2220 0 obj << /D [2215 0 R /XYZ 71.731 645.449 null] >> endobj 2221 0 obj << /D [2215 0 R /XYZ 71.731 645.449 null] >> endobj 690 0 obj << /D [2215 0 R /XYZ 183.334 608.233 null] >> endobj 2222 0 obj << /D [2215 0 R /XYZ 71.731 595.301 null] >> endobj 2223 0 obj << /D [2215 0 R /XYZ 205.629 586.614 null] >> endobj 2224 0 obj << /D [2215 0 R /XYZ 232.528 586.614 null] >> endobj 2225 0 obj << /D [2215 0 R /XYZ 292.029 586.614 null] >> endobj 2226 0 obj << /D [2215 0 R /XYZ 314.104 586.614 null] >> endobj 2227 0 obj << /D [2215 0 R /XYZ 71.731 575.244 null] >> endobj 694 0 obj << /D [2215 0 R /XYZ 198.469 537.279 null] >> endobj 2228 0 obj << /D [2215 0 R /XYZ 71.731 527.137 null] >> endobj 2229 0 obj << /D [2215 0 R /XYZ 71.731 527.137 null] >> endobj 2230 0 obj << /D [2215 0 R /XYZ 239.61 517.155 null] >> endobj 2231 0 obj << /D [2215 0 R /XYZ 346.658 517.155 null] >> endobj 2232 0 obj << /D [2215 0 R /XYZ 71.731 510.017 null] >> endobj 698 0 obj << /D [2215 0 R /XYZ 195.055 472.801 null] >> endobj 2233 0 obj << /D [2215 0 R /XYZ 71.731 469.609 null] >> endobj 2234 0 obj << /D [2215 0 R /XYZ 71.731 455.263 null] >> endobj 2235 0 obj << /D [2215 0 R /XYZ 71.731 455.263 null] >> endobj 2236 0 obj << /D [2215 0 R /XYZ 71.731 445.294 null] >> endobj 2237 0 obj << /D [2215 0 R /XYZ 71.731 440.313 null] >> endobj 2238 0 obj << /D [2215 0 R /XYZ 71.731 420.433 null] >> endobj 2239 0 obj << /D [2215 0 R /XYZ 71.731 420.433 null] >> endobj 2240 0 obj << /D [2215 0 R /XYZ 71.731 408.074 null] >> endobj 2241 0 obj << /D [2215 0 R /XYZ 71.731 403.093 null] >> endobj 2242 0 obj << /D [2215 0 R /XYZ 291.187 391.705 null] >> endobj 2243 0 obj << /D [2215 0 R /XYZ 71.731 384.567 null] >> endobj 2244 0 obj << /D [2215 0 R /XYZ 71.731 384.567 null] >> endobj 2245 0 obj << /D [2215 0 R /XYZ 71.731 373.563 null] >> endobj 2246 0 obj << /D [2215 0 R /XYZ 71.731 368.582 null] >> endobj 2247 0 obj << /D [2215 0 R /XYZ 71.731 348.702 null] >> endobj 2248 0 obj << /D [2215 0 R /XYZ 71.731 348.702 null] >> endobj 2249 0 obj << /D [2215 0 R /XYZ 71.731 337.698 null] >> endobj 2250 0 obj << /D [2215 0 R /XYZ 71.731 332.717 null] >> endobj 2251 0 obj << /D [2215 0 R /XYZ 71.731 284.109 null] >> endobj 702 0 obj << /D [2215 0 R /XYZ 207.177 244.737 null] >> endobj 2252 0 obj << /D [2215 0 R /XYZ 71.731 237.384 null] >> endobj 2214 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2255 0 obj << /Length 825 /Filter /FlateDecode >> stream xÚ•VËn›@Ýû+X‚T&ó`t—6n¥VÊ"q»iªã±Mkƒ¸nþ¾w`H”Ê’¹ã93çܧ!† $A’Áƒ¦ˆ äû6°óyF<"QNÁžØŒ9“(U,ˆ/nø°˜]}¢, QƒźgÁ¢‚ÅêGxØ<îªÇ]£õïèçâ‹; –s ‘HQ¸ž)„ýÛl¯’‰ E©`ˆƒ˜bDhòÂ¥ò  Ñ$ù@©ŒbÊqhÁÖj+÷ÌÜãP5E[T¥[UëÁæ.«#’†íw—¿tÞN8{Ö˜¥ˆIj¹ïŸÊêÐMï‰M â$—ðœt)¡g¼HçÊ»”W%h‡+Ýäuqh«ÖL€öu£[³GÂÓV—¹žRªÂRqJ·WÞø‹LFb»Ðó7„ž"™¯s_E„‡Ì—n¢˜ ¶[m æÇºÖeë~­u¶º:ÕEë7Ï ±gª>=hcF=‘w{¤R‘ÈÔƒ–Om§b]W{Çäõ°% ›ƒÎ‹Œ©^¹íåÓXCL%F Ó &¥œX–AÔ/¥p¤ iœ4•ˆø‰»*¿®Mì6Ç=Dª 0yÎKÕ¹*F¼,H\ -š2W•‹­¯åmV®vz²êÍePç}StÓF$쎯²6[f_yÚùÖƒ;¤í!õ¼‡¬­‡‹¦mÐD„ê™UQò¯;ëà×^ëE£˜õº3^Ó¾v2mÅŒƒpw]µ»¾¨z" œA[¨aö‡¥D9J@ò¥ô—ªúµ”–:¢<<=xà ץÊtøøÖÈ¿TÚÐûËþáa×qÆ‚[jmLa‹©rfžíòã.kµÙ¬£÷Ç,œ?~0'Kï'†+¤…ræÃ}?Ÿ}üøín,> endobj 874 0 obj << /D [2254 0 R /XYZ 71.731 718.306 null] >> endobj 710 0 obj << /D [2254 0 R /XYZ 170.288 706.118 null] >> endobj 2256 0 obj << /D [2254 0 R /XYZ 71.731 693.68 null] >> endobj 2257 0 obj << /D [2254 0 R /XYZ 71.731 693.68 null] >> endobj 2258 0 obj << /D [2254 0 R /XYZ 158.616 668.1 null] >> endobj 2259 0 obj << /D [2254 0 R /XYZ 185.305 647.976 null] >> endobj 2260 0 obj << /D [2254 0 R /XYZ 71.731 645.819 null] >> endobj 2261 0 obj << /D [2254 0 R /XYZ 71.731 645.819 null] >> endobj 714 0 obj << /D [2254 0 R /XYZ 183.334 608.604 null] >> endobj 2262 0 obj << /D [2254 0 R /XYZ 71.731 595.671 null] >> endobj 2263 0 obj << /D [2254 0 R /XYZ 205.629 586.985 null] >> endobj 2264 0 obj << /D [2254 0 R /XYZ 232.528 586.985 null] >> endobj 2265 0 obj << /D [2254 0 R /XYZ 292.029 586.985 null] >> endobj 2266 0 obj << /D [2254 0 R /XYZ 329.687 586.985 null] >> endobj 2267 0 obj << /D [2254 0 R /XYZ 71.731 575.614 null] >> endobj 718 0 obj << /D [2254 0 R /XYZ 198.469 537.65 null] >> endobj 2268 0 obj << /D [2254 0 R /XYZ 71.731 527.507 null] >> endobj 2269 0 obj << /D [2254 0 R /XYZ 71.731 527.507 null] >> endobj 2270 0 obj << /D [2254 0 R /XYZ 350.375 517.525 null] >> endobj 2271 0 obj << /D [2254 0 R /XYZ 119.552 504.574 null] >> endobj 2272 0 obj << /D [2254 0 R /XYZ 71.731 499.383 null] >> endobj 722 0 obj << /D [2254 0 R /XYZ 195.055 460.22 null] >> endobj 2273 0 obj << /D [2254 0 R /XYZ 71.731 457.028 null] >> endobj 2274 0 obj << /D [2254 0 R /XYZ 71.731 442.682 null] >> endobj 2275 0 obj << /D [2254 0 R /XYZ 71.731 442.682 null] >> endobj 2276 0 obj << /D [2254 0 R /XYZ 71.731 432.713 null] >> endobj 2277 0 obj << /D [2254 0 R /XYZ 71.731 427.732 null] >> endobj 2278 0 obj << /D [2254 0 R /XYZ 71.731 407.851 null] >> endobj 2279 0 obj << /D [2254 0 R /XYZ 71.731 407.851 null] >> endobj 2280 0 obj << /D [2254 0 R /XYZ 71.731 395.493 null] >> endobj 2281 0 obj << /D [2254 0 R /XYZ 71.731 390.511 null] >> endobj 2282 0 obj << /D [2254 0 R /XYZ 291.187 379.124 null] >> endobj 2283 0 obj << /D [2254 0 R /XYZ 71.731 371.986 null] >> endobj 2284 0 obj << /D [2254 0 R /XYZ 71.731 371.986 null] >> endobj 2285 0 obj << /D [2254 0 R /XYZ 71.731 360.982 null] >> endobj 2286 0 obj << /D [2254 0 R /XYZ 71.731 356.001 null] >> endobj 2287 0 obj << /D [2254 0 R /XYZ 71.731 336.12 null] >> endobj 2288 0 obj << /D [2254 0 R /XYZ 71.731 336.12 null] >> endobj 2289 0 obj << /D [2254 0 R /XYZ 71.731 325.117 null] >> endobj 2290 0 obj << /D [2254 0 R /XYZ 71.731 320.135 null] >> endobj 2291 0 obj << /D [2254 0 R /XYZ 390.729 307.393 null] >> endobj 2292 0 obj << /D [2254 0 R /XYZ 139.477 294.442 null] >> endobj 2293 0 obj << /D [2254 0 R /XYZ 243.656 294.442 null] >> endobj 2294 0 obj << /D [2254 0 R /XYZ 71.731 271.528 null] >> endobj 726 0 obj << /D [2254 0 R /XYZ 207.177 232.155 null] >> endobj 2295 0 obj << /D [2254 0 R /XYZ 71.731 224.803 null] >> endobj 2253 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2299 0 obj << /Length 626 /Filter /FlateDecode >> stream xÚUM›0¼çWp$¼ØÆ_Ç­ú!õÐC‹ziW+NBKÑvûëûÀ’ÅÝV9Ø„ñó¼™±ÁA ?Œ…(D8 òË.NðæÃ;DÂ9"ŒÀÜó2bT %i]Ux“îîÞ`fAz\v‰9ÂXiñ-lOUóhtUíÒŸ šðŸ$ T§Åÿ)»h‹¤1â0úúLÈ g a!]ŸySUÇa¡û¼+[Ót>B2F\‰ J€eÓÒ·nÁØì†Ó,;û§ì Â#•£cÅî_S»ÓYq÷*w¥Ñ«ì«æ¥ÏF»JÇ®¹¼¨yÐ{ÌÂSY×e}º5kÁøìíE>…\Q1›¶ûnÚc¸ù~1â&šp@Öʼn:f b'EQ:Ó™Þ9«‹J{ƒ6ƒh-š˜Æ@^^d&;d½¾Uíé\æçÿÐÁ¹1©ø«ìM¶ Fö›˜ý­Y›ú{Çu]e '¯q„^gšS6!Å nì¢g3Ú´Úã£H¨ùÈxÝ'„¡ZœN®´Ž~žo!ï{æTƒÞ¿½¡\ÿu×D£;Åâ/aá±×ÆòD…ýP‚¡s …ʺÌ’‚­*A‹ªéFÛªp}qL*ìÞ¥ËEïnðDNå|_‡ˆVÈôÕ®„¦(Ž—*ãFøåFóe»ÓØw²endstream endobj 2298 0 obj << /Type /Page /Contents 2299 0 R /Resources 2297 0 R /MediaBox [0 0 609.714 789.041] /Parent 2296 0 R >> endobj 875 0 obj << /D [2298 0 R /XYZ 71.731 718.306 null] >> endobj 738 0 obj << /D [2298 0 R /XYZ 152.092 706.118 null] >> endobj 2300 0 obj << /D [2298 0 R /XYZ 71.731 693.68 null] >> endobj 2301 0 obj << /D [2298 0 R /XYZ 71.731 693.68 null] >> endobj 2302 0 obj << /D [2298 0 R /XYZ 158.616 668.1 null] >> endobj 2303 0 obj << /D [2298 0 R /XYZ 179.328 647.976 null] >> endobj 2304 0 obj << /D [2298 0 R /XYZ 71.731 645.819 null] >> endobj 2305 0 obj << /D [2298 0 R /XYZ 71.731 645.819 null] >> endobj 2306 0 obj << /D [2298 0 R /XYZ 183.334 608.604 null] >> endobj 2307 0 obj << /D [2298 0 R /XYZ 71.731 595.671 null] >> endobj 2308 0 obj << /D [2298 0 R /XYZ 200.249 586.985 null] >> endobj 2309 0 obj << /D [2298 0 R /XYZ 227.148 586.985 null] >> endobj 2310 0 obj << /D [2298 0 R /XYZ 71.731 575.614 null] >> endobj 2311 0 obj << /D [2298 0 R /XYZ 198.469 537.65 null] >> endobj 2312 0 obj << /D [2298 0 R /XYZ 71.731 527.507 null] >> endobj 2313 0 obj << /D [2298 0 R /XYZ 71.731 527.507 null] >> endobj 2314 0 obj << /D [2298 0 R /XYZ 71.731 510.387 null] >> endobj 2315 0 obj << /D [2298 0 R /XYZ 195.055 473.171 null] >> endobj 2316 0 obj << /D [2298 0 R /XYZ 71.731 469.98 null] >> endobj 2317 0 obj << /D [2298 0 R /XYZ 71.731 455.633 null] >> endobj 2318 0 obj << /D [2298 0 R /XYZ 71.731 455.633 null] >> endobj 2319 0 obj << /D [2298 0 R /XYZ 71.731 445.665 null] >> endobj 2320 0 obj << /D [2298 0 R /XYZ 71.731 440.683 null] >> endobj 2321 0 obj << /D [2298 0 R /XYZ 71.731 420.803 null] >> endobj 2322 0 obj << /D [2298 0 R /XYZ 71.731 420.803 null] >> endobj 2323 0 obj << /D [2298 0 R /XYZ 71.731 408.444 null] >> endobj 2324 0 obj << /D [2298 0 R /XYZ 71.731 403.463 null] >> endobj 2325 0 obj << /D [2298 0 R /XYZ 291.187 392.076 null] >> endobj 2326 0 obj << /D [2298 0 R /XYZ 71.731 369.161 null] >> endobj 2327 0 obj << /D [2298 0 R /XYZ 207.177 329.789 null] >> endobj 2328 0 obj << /D [2298 0 R /XYZ 71.731 322.437 null] >> endobj 2329 0 obj << /D [2298 0 R /XYZ 314.369 309.665 null] >> endobj 2297 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2332 0 obj << /Length 498 /Filter /FlateDecode >> stream xÚ•”M”@†ïó+ú‡.û»›£fÕèaM”xÙ5zgP& õß[Ð ³³Ã ‡n >žz«Rœ0|8±¬ÄCd Œ&å~ÃÈÿ¼ßðh¡Œ¡ÞW~R--dNú$›|óê„[\“üaÉÂ4XåH^Ý$‡í]ÓÝÛ¦n¤ßòÁCTfôPœÀøÒãÁãºØû`) É 3r4d„ \¨—¢Ú“­U Ĉ>šÞ aS*4K*ßøÁ‡{ަxL¹K¶ñkwÿÝ—Ã &!©Ì@Z9þò»í}Ý/¬óOÖ‚ƒæs0x®+qr0ˆ.].»¶M©aH×ÕÕLÆAiK¨B©'§+ß—õa¨»ö’ç´3˜šQ‚b}gØE•úƒ/ë[Æ„¯^R1å kð1UøI¢×讓íqïÛ¡_Ô9k=ŽXfOò\`s¼ M(Îb&Cò™wW´U3³=œõ † £j¡Æ.žXÀì^Cq_ôñ­Ž–?wu¹{&Ìú4Mw?Vø«î‡. ¤+ôOzÿe~úpu^ãß¹V›3Ç7„3SüÏ~8>ŽE[—|M J×ý%Ù> endobj 876 0 obj << /D [2331 0 R /XYZ 71.731 718.306 null] >> endobj 2333 0 obj << /D [2331 0 R /XYZ 177.915 705.748 null] >> endobj 2334 0 obj << /D [2331 0 R /XYZ 71.731 693.31 null] >> endobj 2335 0 obj << /D [2331 0 R /XYZ 71.731 693.31 null] >> endobj 2336 0 obj << /D [2331 0 R /XYZ 158.616 667.73 null] >> endobj 2337 0 obj << /D [2331 0 R /XYZ 191.283 647.606 null] >> endobj 2338 0 obj << /D [2331 0 R /XYZ 71.731 645.449 null] >> endobj 2339 0 obj << /D [2331 0 R /XYZ 71.731 645.449 null] >> endobj 2340 0 obj << /D [2331 0 R /XYZ 183.334 608.233 null] >> endobj 2341 0 obj << /D [2331 0 R /XYZ 71.731 595.301 null] >> endobj 2342 0 obj << /D [2331 0 R /XYZ 211.009 586.614 null] >> endobj 2343 0 obj << /D [2331 0 R /XYZ 237.908 586.614 null] >> endobj 2344 0 obj << /D [2331 0 R /XYZ 71.731 575.244 null] >> endobj 2345 0 obj << /D [2331 0 R /XYZ 198.469 537.279 null] >> endobj 2346 0 obj << /D [2331 0 R /XYZ 71.731 527.137 null] >> endobj 2347 0 obj << /D [2331 0 R /XYZ 71.731 527.137 null] >> endobj 2348 0 obj << /D [2331 0 R /XYZ 71.731 510.017 null] >> endobj 2349 0 obj << /D [2331 0 R /XYZ 195.055 472.801 null] >> endobj 2350 0 obj << /D [2331 0 R /XYZ 71.731 469.609 null] >> endobj 2351 0 obj << /D [2331 0 R /XYZ 71.731 455.263 null] >> endobj 2352 0 obj << /D [2331 0 R /XYZ 71.731 455.263 null] >> endobj 2353 0 obj << /D [2331 0 R /XYZ 71.731 445.294 null] >> endobj 2354 0 obj << /D [2331 0 R /XYZ 71.731 440.313 null] >> endobj 2355 0 obj << /D [2331 0 R /XYZ 71.731 420.433 null] >> endobj 2356 0 obj << /D [2331 0 R /XYZ 71.731 420.433 null] >> endobj 2357 0 obj << /D [2331 0 R /XYZ 71.731 409.429 null] >> endobj 2358 0 obj << /D [2331 0 R /XYZ 71.731 404.448 null] >> endobj 2359 0 obj << /D [2331 0 R /XYZ 71.731 368.791 null] >> endobj 2360 0 obj << /D [2331 0 R /XYZ 207.177 329.419 null] >> endobj 2361 0 obj << /D [2331 0 R /XYZ 71.731 322.067 null] >> endobj 2330 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2364 0 obj << /Length 656 /Filter /FlateDecode >> stream xÚ•U]o›0}ϯàpýmü¸®]ÕIm¥õe*BÜ„@Žªýû]À&!a‘ª<رïÇ9çÞ‹I€áGEb°P¨A¾]à` 7w â,¸”ˆ û™ËX0…t‚ø(Âuº¸úFY@¢Déû˜ ¤x¤«ŸánýVÖoÅvW7QLqh£_é÷Á#ÆeçÆJ($a Âdp{̶f°d2ÐHKÖâB BùihUlG”vø;ÓWJ¤8tæý>–2k"’„k3ü­—¿Mî,Þ›z{°å:|Ř–f†CìòÅL#¦XŸõùoUïÚ¢‰$®·¦ ¢ AÖy6œ$ðb‰c“×Už¢4Õ(Õ&ˆ Ä1Ñ;Þ˜6oŠ-êêÓgÄ• aîá4&[µƒJvãDlw&/:±Ìj8p ZVîpWf ssê ­©¬;.*[O V™ˆŠðãBõМ tÌáH ,¿€¯×ûmŸÍ«>é7hn­²ŸIA`GEÃh6Ô=õ<6ÀÔ“®ß'º`´«ÄÀÝQ´ ˆw_e6[f­ñ2 ëǦÈ7S§J`͉ˆ—„9&Ï08é«ËtŸOk=B8.úa”<'Oàx*í1ýÙBz ’"šÈÃc÷M'J—H‚Ìå~½ïq1­ÓÓýÍ´H—Et¢C¥zÝWs ±ë³A¢ÇÚšöÿ#'>;rÛ}ëP,ýÈdeéõÿ(ìÆwKvžUs¤ s‘®oïîϳQ‰­ÍÕÌ )ån¿>=<ܧç!GJú¶Éª6;ê÷eYçzá·éøÎ¸„'(!jö!rñÁ¤† ÇÄ‚1„ñ¥KONù÷ì<Ó?ñÌ´endstream endobj 2363 0 obj << /Type /Page /Contents 2364 0 R /Resources 2362 0 R /MediaBox [0 0 609.714 789.041] /Parent 2296 0 R >> endobj 877 0 obj << /D [2363 0 R /XYZ 71.731 718.306 null] >> endobj 2365 0 obj << /D [2363 0 R /XYZ 181.117 705.748 null] >> endobj 2366 0 obj << /D [2363 0 R /XYZ 71.731 693.31 null] >> endobj 2367 0 obj << /D [2363 0 R /XYZ 71.731 693.31 null] >> endobj 2368 0 obj << /D [2363 0 R /XYZ 158.616 667.73 null] >> endobj 2369 0 obj << /D [2363 0 R /XYZ 191.283 647.606 null] >> endobj 2370 0 obj << /D [2363 0 R /XYZ 71.731 645.449 null] >> endobj 2371 0 obj << /D [2363 0 R /XYZ 71.731 645.449 null] >> endobj 2372 0 obj << /D [2363 0 R /XYZ 183.334 608.233 null] >> endobj 2373 0 obj << /D [2363 0 R /XYZ 71.731 595.301 null] >> endobj 2374 0 obj << /D [2363 0 R /XYZ 211.009 586.614 null] >> endobj 2375 0 obj << /D [2363 0 R /XYZ 237.908 586.614 null] >> endobj 2376 0 obj << /D [2363 0 R /XYZ 71.731 575.244 null] >> endobj 2377 0 obj << /D [2363 0 R /XYZ 198.469 537.279 null] >> endobj 2378 0 obj << /D [2363 0 R /XYZ 71.731 527.137 null] >> endobj 2379 0 obj << /D [2363 0 R /XYZ 71.731 527.137 null] >> endobj 2380 0 obj << /D [2363 0 R /XYZ 71.731 510.017 null] >> endobj 2381 0 obj << /D [2363 0 R /XYZ 195.055 472.801 null] >> endobj 2382 0 obj << /D [2363 0 R /XYZ 71.731 469.609 null] >> endobj 2383 0 obj << /D [2363 0 R /XYZ 71.731 455.263 null] >> endobj 2384 0 obj << /D [2363 0 R /XYZ 71.731 455.263 null] >> endobj 2385 0 obj << /D [2363 0 R /XYZ 71.731 445.294 null] >> endobj 2386 0 obj << /D [2363 0 R /XYZ 71.731 440.313 null] >> endobj 2387 0 obj << /D [2363 0 R /XYZ 71.731 420.433 null] >> endobj 2388 0 obj << /D [2363 0 R /XYZ 71.731 420.433 null] >> endobj 2389 0 obj << /D [2363 0 R /XYZ 71.731 409.429 null] >> endobj 2390 0 obj << /D [2363 0 R /XYZ 71.731 404.448 null] >> endobj 2391 0 obj << /D [2363 0 R /XYZ 71.731 368.791 null] >> endobj 2392 0 obj << /D [2363 0 R /XYZ 207.177 329.419 null] >> endobj 2393 0 obj << /D [2363 0 R /XYZ 71.731 322.067 null] >> endobj 2394 0 obj << /D [2363 0 R /XYZ 71.731 302.156 null] >> endobj 2395 0 obj << /D [2363 0 R /XYZ 159.405 264.941 null] >> endobj 2396 0 obj << /D [2363 0 R /XYZ 71.731 257.588 null] >> endobj 2397 0 obj << /D [2363 0 R /XYZ 71.731 257.588 null] >> endobj 2398 0 obj << /D [2363 0 R /XYZ 281.513 244.816 null] >> endobj 2399 0 obj << /D [2363 0 R /XYZ 311.182 244.816 null] >> endobj 2362 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2402 0 obj << /Length 650 /Filter /FlateDecode >> stream xÚ•U]o›0}ϯà¸õ6~\׮ꤦҊö²N!nÂF ¢nÿ~6Ø$uʃ!ß{Îá\Œ=¤ØÕ ‘@xäe»ò6úÉÝ[ãHDôõÌÃ0¢dL½ð¤Âu²¸úB¨‡yÉëÐqÀ8ö’õ¿y)ªàÈÿ³¯ê $ÈoƒŸÉ×~+ʸÙÊÄD7¢1 »u™îT¤Ü“ 95@äé€ ;-oJ»ªâˆ 1 ô™¡ÛGÈØ´ý}Ú/EZ8ö7ª¿­V¿Tfm5B>#D 5£"´C* Òõ}ú[Vû&o)±¦×¡ †K­×ë¼FޏVFc«'«Ê29ÒÄ«|­¯ò_óB•ƒmcj‹„2MF]‰Õdu¾o󪜲sFG0š @Ì{«óV5Ö¸­u³Ù«,7¾©õ{nØ ÏËYËaN˜m2ýWÔÇâSm^ñæ°SeÛ >Ž2¤C+ÅÑȉ$¬¯´öP§[RÚ'f›–ëÂñ4Å´ ãè(9­V綯Ó6]¥rRûõm›gÛ3×.D²qÞ´ L†3ì»”\–IÆ2ïoÆ/óú ³Œ^¶üiˆÍy ì ž¥Å™Èäi춸füRVêüƒ Ö³sÌ8óŽÙ7ÕjóêDì¸@q˜Ñ4ž¢eUÎÍ&…wY™ñywÙÿÎãîдc½YZnßòvë"˜N»JS[éúöî~9íF8ÄRZÌÕÌw„°O??><Ü'Ó”à®D[§e“ž Ѫ¨²ßÝ‹YÜ&ádOCŒÅì©eáÒY:[CãˆR@h¨bÚãóFîð›vú—NÔ¯endstream endobj 2401 0 obj << /Type /Page /Contents 2402 0 R /Resources 2400 0 R /MediaBox [0 0 609.714 789.041] /Parent 2296 0 R >> endobj 878 0 obj << /D [2401 0 R /XYZ 71.731 718.306 null] >> endobj 2403 0 obj << /D [2401 0 R /XYZ 179.912 706.118 null] >> endobj 2404 0 obj << /D [2401 0 R /XYZ 71.731 693.68 null] >> endobj 2405 0 obj << /D [2401 0 R /XYZ 71.731 693.68 null] >> endobj 2406 0 obj << /D [2401 0 R /XYZ 158.616 668.1 null] >> endobj 2407 0 obj << /D [2401 0 R /XYZ 191.283 647.976 null] >> endobj 2408 0 obj << /D [2401 0 R /XYZ 71.731 645.819 null] >> endobj 2409 0 obj << /D [2401 0 R /XYZ 71.731 645.819 null] >> endobj 2410 0 obj << /D [2401 0 R /XYZ 183.334 608.604 null] >> endobj 2411 0 obj << /D [2401 0 R /XYZ 71.731 595.671 null] >> endobj 2412 0 obj << /D [2401 0 R /XYZ 211.009 586.985 null] >> endobj 2413 0 obj << /D [2401 0 R /XYZ 237.908 586.985 null] >> endobj 2414 0 obj << /D [2401 0 R /XYZ 265.165 586.985 null] >> endobj 2415 0 obj << /D [2401 0 R /XYZ 71.731 575.614 null] >> endobj 2416 0 obj << /D [2401 0 R /XYZ 198.469 537.65 null] >> endobj 2417 0 obj << /D [2401 0 R /XYZ 71.731 527.507 null] >> endobj 2418 0 obj << /D [2401 0 R /XYZ 71.731 527.507 null] >> endobj 2419 0 obj << /D [2401 0 R /XYZ 71.731 510.387 null] >> endobj 2420 0 obj << /D [2401 0 R /XYZ 195.055 473.171 null] >> endobj 2421 0 obj << /D [2401 0 R /XYZ 71.731 469.98 null] >> endobj 2422 0 obj << /D [2401 0 R /XYZ 71.731 455.633 null] >> endobj 2423 0 obj << /D [2401 0 R /XYZ 71.731 455.633 null] >> endobj 2424 0 obj << /D [2401 0 R /XYZ 71.731 445.665 null] >> endobj 2425 0 obj << /D [2401 0 R /XYZ 71.731 440.683 null] >> endobj 2426 0 obj << /D [2401 0 R /XYZ 71.731 420.803 null] >> endobj 2427 0 obj << /D [2401 0 R /XYZ 71.731 420.803 null] >> endobj 2428 0 obj << /D [2401 0 R /XYZ 71.731 409.799 null] >> endobj 2429 0 obj << /D [2401 0 R /XYZ 71.731 404.818 null] >> endobj 2430 0 obj << /D [2401 0 R /XYZ 71.731 384.937 null] >> endobj 2431 0 obj << /D [2401 0 R /XYZ 71.731 384.937 null] >> endobj 2432 0 obj << /D [2401 0 R /XYZ 71.731 373.934 null] >> endobj 2433 0 obj << /D [2401 0 R /XYZ 71.731 368.952 null] >> endobj 2434 0 obj << /D [2401 0 R /XYZ 71.731 333.296 null] >> endobj 2435 0 obj << /D [2401 0 R /XYZ 207.177 293.924 null] >> endobj 2436 0 obj << /D [2401 0 R /XYZ 71.731 286.571 null] >> endobj 2437 0 obj << /D [2401 0 R /XYZ 71.731 268.718 null] >> endobj 2438 0 obj << /D [2401 0 R /XYZ 159.405 229.445 null] >> endobj 2439 0 obj << /D [2401 0 R /XYZ 71.731 222.093 null] >> endobj 2440 0 obj << /D [2401 0 R /XYZ 71.731 222.093 null] >> endobj 2441 0 obj << /D [2401 0 R /XYZ 281.513 209.321 null] >> endobj 2442 0 obj << /D [2401 0 R /XYZ 311.182 209.321 null] >> endobj 2400 0 obj << /Font << /F23 749 0 R /F36 908 0 R /F27 756 0 R /F42 968 0 R /F33 842 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2445 0 obj << /Length 1895 /Filter /FlateDecode >> stream xÚ½Xm5 þÞ_±:*1[í„ɼÏÁZ® õNBÊîfwGÌË2™íµªøïر3/·Ëµ tqÇ~b;¶gå"€?¹È¤È"ÂB„i²ØÔO‚Åv¾~"™ÃgÂóüîÉg/£hQˆ"w»E”'"ÈòE…"OÂÅÝöïÅA{Ý-ý0 <)h<îûM…¤ô|Z¹£yà=/›íRze³§ùwåº[ÊÄSÝ»åowß>¹¹0%Q&ŠÞ æÂºÜ˜\kΤà/ë-Å›“hkz¢¸ÌjƒÈŠi¸m­ËàÞõGnhžK$ÀŠŸ.“Ä3Ä`mr #¯Ö›ƒjJS:0> ˜ÜÛ|‡l”÷¥'h:+piõ–,ÎÞµ§`Æ( )PüKÁ Ø®)%Gé"‡”œbJÆT, ›’SI)yi z¶Ñ¸ô¥É*ÂHD’TÍl˜ˆú…r¯÷º>âéJõZÒ’h ï>ITùÉ߸–Lk”Ÿ"Š¡¢%°’qJ¸F½ µ?£DDËà“m¥ MÓ¼÷ÁzuÛÃç÷%ΓQ<¯\¸E• )rä:`¦8‚›ßíÖ¼°lñ.ñyÚ©EŒ# ô–íi{AÒ¢`°âK>QkÕ0Yš ÑÁ¥ÞýA7D© MKô|Ý^:Ms·wØË$©·×îÀ÷ÛÕ)8¶Ív0,_-䜉U™v.Q\È}ãkJ¤~»BnIv Û–Fò »/QÑÛl÷~.=ƒ±LÚ=iŸÂ¿{ö– -IçÚ:Œk«ìé¨X¿Å:†ÔÕ-¾¼›ïn^ÜÑÂVõøÒiòòõ«ï‰‚\;j­ o½zýÕÍk"Ÿÿ쎢,{üó«9¨lŠ• È~U¢ sñN¶M¥Uw¥Ó#øÉ}ßÿEãçŸÐˆîGsOX¶¥qž8{ðþàN#[M?´=è‰sîó,µÕ•¦,»æ.;(šü$Áy¼È81ä’à·8ƒ–"-2>²åŠÔØþd†ÂX‘HéFîÎΕ¹ŒšdNðع1(ôZßàÃ!ƒ›iÖ½3Ç¥"ÎãkPî@5«çÑШhp‘¦tã.ˆ<`ÐsÔa É?œ ~Ì­Y!¨gšÖæ˜-| ˆá9QÃG€Æ`+f¹hLcVöº7Ü¡`VâÒQµjë:—û»éMw6]»á<P‚°)àjHY£w=Ô¹NóE†M‡“Ȱ:ŒÍ«×Ÿ›ÃÙ¡Æ\¨Ä®N&€¤Ì¥8åR|CY—&?vØ¿µûNÕ¿^¥/A`…I(‚\^üzu<þ„‰¾^'Þ~(ጠð«Û—gʳ¢»x\9ó<®<‹À3Ýæ@ÄÌÜijUUgµ‰ÃbǺƸ O"X¤æaêšá׃ÁK†Ý-í˜Û’H¤YðÁ[ErÑ,âL qp sp ÌG~°r†ÿê9çôë ØdN|Ü*8-NÊšG[}Ðx3FWµ˜Yõ³P¾Ñœ]Çúj_¤-z\gá³æTã'ÕyÁq©å›kÖ;ùË„µ¶gÆQµð•øˆÞÀKâ(|Dk§ûS× RknÍyEU¶­>¨5T%ÐäjßöâM(‘<ôÊ{F”W uȯ¸²¾1_!h·î¶­BsŸ7¥yh(î x¹¥q­‡ëÄ#MЬåúýë¸ð—ƒ¡Ó‚BŽ—p@®nÿKÓ%'M×Ç4\M:NPµ\N»*ˆò»<|sé~;jšÀ—ƒÔ’†À9ù)/|Á’­V·Y6PNƒbšnù÷Å89|º=öóêÈröëjE")=ü§ŸDÏ5ý Þ³÷endstream endobj 2444 0 obj << /Type /Page /Contents 2445 0 R /Resources 2443 0 R /MediaBox [0 0 609.714 789.041] /Parent 2296 0 R /Annots [ 2460 0 R ] >> endobj 2460 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [119.552 249.924 170.739 258.836] /Subtype /Link /A << /S /GoTo /D (PGTCL-EXAMPLE) >> >> endobj 879 0 obj << /D [2444 0 R /XYZ 71.731 718.306 null] >> endobj 2446 0 obj << /D [2444 0 R /XYZ 301.348 705.748 null] >> endobj 2447 0 obj << /D [2444 0 R /XYZ 71.731 693.577 null] >> endobj 2448 0 obj << /D [2444 0 R /XYZ 389.858 684.189 null] >> endobj 2449 0 obj << /D [2444 0 R /XYZ 71.731 612.293 null] >> endobj 2450 0 obj << /D [2444 0 R /XYZ 346.883 601.499 null] >> endobj 2451 0 obj << /D [2444 0 R /XYZ 71.731 576.428 null] >> endobj 880 0 obj << /D [2444 0 R /XYZ 71.731 532.245 null] >> endobj 2452 0 obj << /D [2444 0 R /XYZ 441.015 488.399 null] >> endobj 2453 0 obj << /D [2444 0 R /XYZ 71.731 479.576 null] >> endobj 2454 0 obj << /D [2444 0 R /XYZ 71.731 428.817 null] >> endobj 2455 0 obj << /D [2444 0 R /XYZ 265.011 349.779 null] >> endobj 2456 0 obj << /D [2444 0 R /XYZ 457.285 349.779 null] >> endobj 2457 0 obj << /D [2444 0 R /XYZ 280.378 336.827 null] >> endobj 881 0 obj << /D [2444 0 R /XYZ 71.731 316.738 null] >> endobj 2458 0 obj << /D [2444 0 R /XYZ 251.268 273.64 null] >> endobj 2459 0 obj << /D [2444 0 R /XYZ 71.731 261.202 null] >> endobj 2461 0 obj << /D [2444 0 R /XYZ 338.329 252.081 null] >> endobj 891 0 obj << /D [2444 0 R /XYZ 71.731 249.924 null] >> endobj 2462 0 obj << /D [2444 0 R /XYZ 71.731 212.201 null] >> endobj 2443 0 obj << /Font << /F33 842 0 R /F23 749 0 R /F27 756 0 R /F36 908 0 R /F32 763 0 R >> /ProcSet [ /PDF /Text ] >> endobj 2465 0 obj << /Length 601 /Filter /FlateDecode >> stream xÚíVËŠÛ0Ýç+D’…³°*Y~…î2“)”)oJ0EqÔÄàØFVJ˯eɯFI¡›vQ¼¸Ò}èžã{ŒŒª  Rg ßÉi‚À¡Ž|˜`aë{³Š&ïžK¸ô ˆ¾z!ˆCÏÑ~k=i)_ØŽ‡, •-"Éä[¶òDj¬UšïØJóƒÚ?§;¾ÀžEùE}œ¬£“G¸ É]ØmÎ5n„5n_âÆ®]¯æBH\·ÁѲd5ÛGÈÚS‘Ó«Ôn[¾p¶°±U3¡|sÞFíѹ̘¤±Ä °1Ycè{AÓâÒöù¯9Úxl’1*{rsÕ>­’"ÏYÒVÊ!•3qæ¹ÎéxÉ<ÛÁÐÃ7 :¬&:›©ê—²TŸF³zÎ9é76ª" "/•W¿ŸÇ•fõ¦Í±¨4îi&I ͤozÑ eÁÛÏ%NëoÃMÃ~Åvfš_ª­8êei3LÝ@ÊîtTÏãúUVLW4¯º“Æ` ØìTfT0¬§Ø÷K»g7—ËxÔ,7ãC²ï,éæ-I´@¦¯ëçõC4¢¯6O›—Oj%UCÝÑŠµ}\oîÕçQéûilPB‡Éô}TŽIÈYZþ3Ò÷ Ò'ÿ¥ÿ¤ïß’þ¼ïÛ(]’øcµ£±ÚåY׊'w?«,ß§‰‘É/𿆝€³ü€åÛå7‚ÞÊžÊ:‘K4 i|_éËUßõnCÜýèS®~> endobj 2463 0 obj << /Font << /F33 842 0 R /F36 908 0 R >> /ProcSet [ /PDF /Text ] >> endobj 734 0 obj [742 0 R /Fit] endobj 730 0 obj [742 0 R /Fit] endobj 706 0 obj [742 0 R /Fit] endobj 246 0 obj [742 0 R /Fit] endobj 218 0 obj [742 0 R /Fit] endobj 166 0 obj [742 0 R /Fit] endobj 138 0 obj [742 0 R /Fit] endobj 2467 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro 129/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj 968 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Courier-Oblique >> endobj 908 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Courier >> endobj 842 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Times-Italic >> endobj 763 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Times-Bold >> endobj 756 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Times-Roman >> endobj 749 0 obj << /Type /Font /Subtype /Type1 /Encoding 2467 0 R /BaseFont /Helvetica-Bold >> endobj 750 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [742 0 R 752 0 R 758 0 R 883 0 R 893 0 R 910 0 R] >> endobj 987 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [929 0 R 989 0 R 1048 0 R 1126 0 R 1179 0 R 1187 0 R] >> endobj 1232 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [1211 0 R 1234 0 R 1254 0 R 1297 0 R 1342 0 R 1345 0 R] >> endobj 1472 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [1409 0 R 1474 0 R 1534 0 R 1587 0 R 1601 0 R 1669 0 R] >> endobj 1747 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [1699 0 R 1749 0 R 1781 0 R 1813 0 R 1852 0 R 1881 0 R] >> endobj 1939 0 obj << /Type /Pages /Count 6 /Parent 2468 0 R /Kids [1905 0 R 1941 0 R 1963 0 R 1985 0 R 2012 0 R 2039 0 R] >> endobj 2082 0 obj << /Type /Pages /Count 6 /Parent 2469 0 R /Kids [2062 0 R 2084 0 R 2115 0 R 2149 0 R 2176 0 R 2215 0 R] >> endobj 2296 0 obj << /Type /Pages /Count 6 /Parent 2469 0 R /Kids [2254 0 R 2298 0 R 2331 0 R 2363 0 R 2401 0 R 2444 0 R] >> endobj 2466 0 obj << /Type /Pages /Count 1 /Parent 2469 0 R /Kids [2464 0 R] >> endobj 2468 0 obj << /Type /Pages /Count 36 /Parent 2470 0 R /Kids [750 0 R 987 0 R 1232 0 R 1472 0 R 1747 0 R 1939 0 R] >> endobj 2469 0 obj << /Type /Pages /Count 13 /Parent 2470 0 R /Kids [2082 0 R 2296 0 R 2466 0 R] >> endobj 2470 0 obj << /Type /Pages /Count 49 /Kids [2468 0 R 2469 0 R] >> endobj 2471 0 obj << /Type /Outlines /First 3 0 R /Last 19 0 R /Count 5 >> endobj 739 0 obj << /Title 740 0 R /A 737 0 R /Parent 19 0 R /Prev 711 0 R >> endobj 735 0 obj << /Title 736 0 R /A 733 0 R /Parent 711 0 R /Prev 731 0 R >> endobj 731 0 obj << /Title 732 0 R /A 729 0 R /Parent 711 0 R /Prev 727 0 R /Next 735 0 R >> endobj 727 0 obj << /Title 728 0 R /A 725 0 R /Parent 711 0 R /Prev 723 0 R /Next 731 0 R >> endobj 723 0 obj << /Title 724 0 R /A 721 0 R /Parent 711 0 R /Prev 719 0 R /Next 727 0 R >> endobj 719 0 obj << /Title 720 0 R /A 717 0 R /Parent 711 0 R /Prev 715 0 R /Next 723 0 R >> endobj 715 0 obj << /Title 716 0 R /A 713 0 R /Parent 711 0 R /Next 719 0 R >> endobj 711 0 obj << /Title 712 0 R /A 709 0 R /Parent 19 0 R /Prev 683 0 R /Next 739 0 R /First 715 0 R /Last 735 0 R /Count -6 >> endobj 707 0 obj << /Title 708 0 R /A 705 0 R /Parent 683 0 R /Prev 703 0 R >> endobj 703 0 obj << /Title 704 0 R /A 701 0 R /Parent 683 0 R /Prev 699 0 R /Next 707 0 R >> endobj 699 0 obj << /Title 700 0 R /A 697 0 R /Parent 683 0 R /Prev 695 0 R /Next 703 0 R >> endobj 695 0 obj << /Title 696 0 R /A 693 0 R /Parent 683 0 R /Prev 691 0 R /Next 699 0 R >> endobj 691 0 obj << /Title 692 0 R /A 689 0 R /Parent 683 0 R /Prev 687 0 R /Next 695 0 R >> endobj 687 0 obj << /Title 688 0 R /A 685 0 R /Parent 683 0 R /Next 691 0 R >> endobj 683 0 obj << /Title 684 0 R /A 681 0 R /Parent 19 0 R /Prev 659 0 R /Next 711 0 R /First 687 0 R /Last 707 0 R /Count -6 >> endobj 679 0 obj << /Title 680 0 R /A 677 0 R /Parent 659 0 R /Prev 675 0 R >> endobj 675 0 obj << /Title 676 0 R /A 673 0 R /Parent 659 0 R /Prev 671 0 R /Next 679 0 R >> endobj 671 0 obj << /Title 672 0 R /A 669 0 R /Parent 659 0 R /Prev 667 0 R /Next 675 0 R >> endobj 667 0 obj << /Title 668 0 R /A 665 0 R /Parent 659 0 R /Prev 663 0 R /Next 671 0 R >> endobj 663 0 obj << /Title 664 0 R /A 661 0 R /Parent 659 0 R /Next 667 0 R >> endobj 659 0 obj << /Title 660 0 R /A 657 0 R /Parent 19 0 R /Prev 635 0 R /Next 683 0 R /First 663 0 R /Last 679 0 R /Count -5 >> endobj 655 0 obj << /Title 656 0 R /A 653 0 R /Parent 635 0 R /Prev 651 0 R >> endobj 651 0 obj << /Title 652 0 R /A 649 0 R /Parent 635 0 R /Prev 647 0 R /Next 655 0 R >> endobj 647 0 obj << /Title 648 0 R /A 645 0 R /Parent 635 0 R /Prev 643 0 R /Next 651 0 R >> endobj 643 0 obj << /Title 644 0 R /A 641 0 R /Parent 635 0 R /Prev 639 0 R /Next 647 0 R >> endobj 639 0 obj << /Title 640 0 R /A 637 0 R /Parent 635 0 R /Next 643 0 R >> endobj 635 0 obj << /Title 636 0 R /A 633 0 R /Parent 19 0 R /Prev 611 0 R /Next 659 0 R /First 639 0 R /Last 655 0 R /Count -5 >> endobj 631 0 obj << /Title 632 0 R /A 629 0 R /Parent 611 0 R /Prev 627 0 R >> endobj 627 0 obj << /Title 628 0 R /A 625 0 R /Parent 611 0 R /Prev 623 0 R /Next 631 0 R >> endobj 623 0 obj << /Title 624 0 R /A 621 0 R /Parent 611 0 R /Prev 619 0 R /Next 627 0 R >> endobj 619 0 obj << /Title 620 0 R /A 617 0 R /Parent 611 0 R /Prev 615 0 R /Next 623 0 R >> endobj 615 0 obj << /Title 616 0 R /A 613 0 R /Parent 611 0 R /Next 619 0 R >> endobj 611 0 obj << /Title 612 0 R /A 609 0 R /Parent 19 0 R /Prev 587 0 R /Next 635 0 R /First 615 0 R /Last 631 0 R /Count -5 >> endobj 607 0 obj << /Title 608 0 R /A 605 0 R /Parent 587 0 R /Prev 603 0 R >> endobj 603 0 obj << /Title 604 0 R /A 601 0 R /Parent 587 0 R /Prev 599 0 R /Next 607 0 R >> endobj 599 0 obj << /Title 600 0 R /A 597 0 R /Parent 587 0 R /Prev 595 0 R /Next 603 0 R >> endobj 595 0 obj << /Title 596 0 R /A 593 0 R /Parent 587 0 R /Prev 591 0 R /Next 599 0 R >> endobj 591 0 obj << /Title 592 0 R /A 589 0 R /Parent 587 0 R /Next 595 0 R >> endobj 587 0 obj << /Title 588 0 R /A 585 0 R /Parent 19 0 R /Prev 563 0 R /Next 611 0 R /First 591 0 R /Last 607 0 R /Count -5 >> endobj 583 0 obj << /Title 584 0 R /A 581 0 R /Parent 563 0 R /Prev 579 0 R >> endobj 579 0 obj << /Title 580 0 R /A 577 0 R /Parent 563 0 R /Prev 575 0 R /Next 583 0 R >> endobj 575 0 obj << /Title 576 0 R /A 573 0 R /Parent 563 0 R /Prev 571 0 R /Next 579 0 R >> endobj 571 0 obj << /Title 572 0 R /A 569 0 R /Parent 563 0 R /Prev 567 0 R /Next 575 0 R >> endobj 567 0 obj << /Title 568 0 R /A 565 0 R /Parent 563 0 R /Next 571 0 R >> endobj 563 0 obj << /Title 564 0 R /A 561 0 R /Parent 19 0 R /Prev 539 0 R /Next 587 0 R /First 567 0 R /Last 583 0 R /Count -5 >> endobj 559 0 obj << /Title 560 0 R /A 557 0 R /Parent 539 0 R /Prev 555 0 R >> endobj 555 0 obj << /Title 556 0 R /A 553 0 R /Parent 539 0 R /Prev 551 0 R /Next 559 0 R >> endobj 551 0 obj << /Title 552 0 R /A 549 0 R /Parent 539 0 R /Prev 547 0 R /Next 555 0 R >> endobj 547 0 obj << /Title 548 0 R /A 545 0 R /Parent 539 0 R /Prev 543 0 R /Next 551 0 R >> endobj 543 0 obj << /Title 544 0 R /A 541 0 R /Parent 539 0 R /Next 547 0 R >> endobj 539 0 obj << /Title 540 0 R /A 537 0 R /Parent 19 0 R /Prev 515 0 R /Next 563 0 R /First 543 0 R /Last 559 0 R /Count -5 >> endobj 535 0 obj << /Title 536 0 R /A 533 0 R /Parent 515 0 R /Prev 531 0 R >> endobj 531 0 obj << /Title 532 0 R /A 529 0 R /Parent 515 0 R /Prev 527 0 R /Next 535 0 R >> endobj 527 0 obj << /Title 528 0 R /A 525 0 R /Parent 515 0 R /Prev 523 0 R /Next 531 0 R >> endobj 523 0 obj << /Title 524 0 R /A 521 0 R /Parent 515 0 R /Prev 519 0 R /Next 527 0 R >> endobj 519 0 obj << /Title 520 0 R /A 517 0 R /Parent 515 0 R /Next 523 0 R >> endobj 515 0 obj << /Title 516 0 R /A 513 0 R /Parent 19 0 R /Prev 491 0 R /Next 539 0 R /First 519 0 R /Last 535 0 R /Count -5 >> endobj 511 0 obj << /Title 512 0 R /A 509 0 R /Parent 491 0 R /Prev 507 0 R >> endobj 507 0 obj << /Title 508 0 R /A 505 0 R /Parent 491 0 R /Prev 503 0 R /Next 511 0 R >> endobj 503 0 obj << /Title 504 0 R /A 501 0 R /Parent 491 0 R /Prev 499 0 R /Next 507 0 R >> endobj 499 0 obj << /Title 500 0 R /A 497 0 R /Parent 491 0 R /Prev 495 0 R /Next 503 0 R >> endobj 495 0 obj << /Title 496 0 R /A 493 0 R /Parent 491 0 R /Next 499 0 R >> endobj 491 0 obj << /Title 492 0 R /A 489 0 R /Parent 19 0 R /Prev 467 0 R /Next 515 0 R /First 495 0 R /Last 511 0 R /Count -5 >> endobj 487 0 obj << /Title 488 0 R /A 485 0 R /Parent 467 0 R /Prev 483 0 R >> endobj 483 0 obj << /Title 484 0 R /A 481 0 R /Parent 467 0 R /Prev 479 0 R /Next 487 0 R >> endobj 479 0 obj << /Title 480 0 R /A 477 0 R /Parent 467 0 R /Prev 475 0 R /Next 483 0 R >> endobj 475 0 obj << /Title 476 0 R /A 473 0 R /Parent 467 0 R /Prev 471 0 R /Next 479 0 R >> endobj 471 0 obj << /Title 472 0 R /A 469 0 R /Parent 467 0 R /Next 475 0 R >> endobj 467 0 obj << /Title 468 0 R /A 465 0 R /Parent 19 0 R /Prev 443 0 R /Next 491 0 R /First 471 0 R /Last 487 0 R /Count -5 >> endobj 463 0 obj << /Title 464 0 R /A 461 0 R /Parent 443 0 R /Prev 459 0 R >> endobj 459 0 obj << /Title 460 0 R /A 457 0 R /Parent 443 0 R /Prev 455 0 R /Next 463 0 R >> endobj 455 0 obj << /Title 456 0 R /A 453 0 R /Parent 443 0 R /Prev 451 0 R /Next 459 0 R >> endobj 451 0 obj << /Title 452 0 R /A 449 0 R /Parent 443 0 R /Prev 447 0 R /Next 455 0 R >> endobj 447 0 obj << /Title 448 0 R /A 445 0 R /Parent 443 0 R /Next 451 0 R >> endobj 443 0 obj << /Title 444 0 R /A 441 0 R /Parent 19 0 R /Prev 419 0 R /Next 467 0 R /First 447 0 R /Last 463 0 R /Count -5 >> endobj 439 0 obj << /Title 440 0 R /A 437 0 R /Parent 419 0 R /Prev 435 0 R >> endobj 435 0 obj << /Title 436 0 R /A 433 0 R /Parent 419 0 R /Prev 431 0 R /Next 439 0 R >> endobj 431 0 obj << /Title 432 0 R /A 429 0 R /Parent 419 0 R /Prev 427 0 R /Next 435 0 R >> endobj 427 0 obj << /Title 428 0 R /A 425 0 R /Parent 419 0 R /Prev 423 0 R /Next 431 0 R >> endobj 423 0 obj << /Title 424 0 R /A 421 0 R /Parent 419 0 R /Next 427 0 R >> endobj 419 0 obj << /Title 420 0 R /A 417 0 R /Parent 19 0 R /Prev 395 0 R /Next 443 0 R /First 423 0 R /Last 439 0 R /Count -5 >> endobj 415 0 obj << /Title 416 0 R /A 413 0 R /Parent 395 0 R /Prev 411 0 R >> endobj 411 0 obj << /Title 412 0 R /A 409 0 R /Parent 395 0 R /Prev 407 0 R /Next 415 0 R >> endobj 407 0 obj << /Title 408 0 R /A 405 0 R /Parent 395 0 R /Prev 403 0 R /Next 411 0 R >> endobj 403 0 obj << /Title 404 0 R /A 401 0 R /Parent 395 0 R /Prev 399 0 R /Next 407 0 R >> endobj 399 0 obj << /Title 400 0 R /A 397 0 R /Parent 395 0 R /Next 403 0 R >> endobj 395 0 obj << /Title 396 0 R /A 393 0 R /Parent 19 0 R /Prev 371 0 R /Next 419 0 R /First 399 0 R /Last 415 0 R /Count -5 >> endobj 391 0 obj << /Title 392 0 R /A 389 0 R /Parent 371 0 R /Prev 387 0 R >> endobj 387 0 obj << /Title 388 0 R /A 385 0 R /Parent 371 0 R /Prev 383 0 R /Next 391 0 R >> endobj 383 0 obj << /Title 384 0 R /A 381 0 R /Parent 371 0 R /Prev 379 0 R /Next 387 0 R >> endobj 379 0 obj << /Title 380 0 R /A 377 0 R /Parent 371 0 R /Prev 375 0 R /Next 383 0 R >> endobj 375 0 obj << /Title 376 0 R /A 373 0 R /Parent 371 0 R /Next 379 0 R >> endobj 371 0 obj << /Title 372 0 R /A 369 0 R /Parent 19 0 R /Prev 347 0 R /Next 395 0 R /First 375 0 R /Last 391 0 R /Count -5 >> endobj 367 0 obj << /Title 368 0 R /A 365 0 R /Parent 347 0 R /Prev 363 0 R >> endobj 363 0 obj << /Title 364 0 R /A 361 0 R /Parent 347 0 R /Prev 359 0 R /Next 367 0 R >> endobj 359 0 obj << /Title 360 0 R /A 357 0 R /Parent 347 0 R /Prev 355 0 R /Next 363 0 R >> endobj 355 0 obj << /Title 356 0 R /A 353 0 R /Parent 347 0 R /Prev 351 0 R /Next 359 0 R >> endobj 351 0 obj << /Title 352 0 R /A 349 0 R /Parent 347 0 R /Next 355 0 R >> endobj 347 0 obj << /Title 348 0 R /A 345 0 R /Parent 19 0 R /Prev 323 0 R /Next 371 0 R /First 351 0 R /Last 367 0 R /Count -5 >> endobj 343 0 obj << /Title 344 0 R /A 341 0 R /Parent 323 0 R /Prev 339 0 R >> endobj 339 0 obj << /Title 340 0 R /A 337 0 R /Parent 323 0 R /Prev 335 0 R /Next 343 0 R >> endobj 335 0 obj << /Title 336 0 R /A 333 0 R /Parent 323 0 R /Prev 331 0 R /Next 339 0 R >> endobj 331 0 obj << /Title 332 0 R /A 329 0 R /Parent 323 0 R /Prev 327 0 R /Next 335 0 R >> endobj 327 0 obj << /Title 328 0 R /A 325 0 R /Parent 323 0 R /Next 331 0 R >> endobj 323 0 obj << /Title 324 0 R /A 321 0 R /Parent 19 0 R /Prev 299 0 R /Next 347 0 R /First 327 0 R /Last 343 0 R /Count -5 >> endobj 319 0 obj << /Title 320 0 R /A 317 0 R /Parent 299 0 R /Prev 315 0 R >> endobj 315 0 obj << /Title 316 0 R /A 313 0 R /Parent 299 0 R /Prev 311 0 R /Next 319 0 R >> endobj 311 0 obj << /Title 312 0 R /A 309 0 R /Parent 299 0 R /Prev 307 0 R /Next 315 0 R >> endobj 307 0 obj << /Title 308 0 R /A 305 0 R /Parent 299 0 R /Prev 303 0 R /Next 311 0 R >> endobj 303 0 obj << /Title 304 0 R /A 301 0 R /Parent 299 0 R /Next 307 0 R >> endobj 299 0 obj << /Title 300 0 R /A 297 0 R /Parent 19 0 R /Prev 275 0 R /Next 323 0 R /First 303 0 R /Last 319 0 R /Count -5 >> endobj 295 0 obj << /Title 296 0 R /A 293 0 R /Parent 275 0 R /Prev 291 0 R >> endobj 291 0 obj << /Title 292 0 R /A 289 0 R /Parent 275 0 R /Prev 287 0 R /Next 295 0 R >> endobj 287 0 obj << /Title 288 0 R /A 285 0 R /Parent 275 0 R /Prev 283 0 R /Next 291 0 R >> endobj 283 0 obj << /Title 284 0 R /A 281 0 R /Parent 275 0 R /Prev 279 0 R /Next 287 0 R >> endobj 279 0 obj << /Title 280 0 R /A 277 0 R /Parent 275 0 R /Next 283 0 R >> endobj 275 0 obj << /Title 276 0 R /A 273 0 R /Parent 19 0 R /Prev 251 0 R /Next 299 0 R /First 279 0 R /Last 295 0 R /Count -5 >> endobj 271 0 obj << /Title 272 0 R /A 269 0 R /Parent 251 0 R /Prev 267 0 R >> endobj 267 0 obj << /Title 268 0 R /A 265 0 R /Parent 251 0 R /Prev 263 0 R /Next 271 0 R >> endobj 263 0 obj << /Title 264 0 R /A 261 0 R /Parent 251 0 R /Prev 259 0 R /Next 267 0 R >> endobj 259 0 obj << /Title 260 0 R /A 257 0 R /Parent 251 0 R /Prev 255 0 R /Next 263 0 R >> endobj 255 0 obj << /Title 256 0 R /A 253 0 R /Parent 251 0 R /Next 259 0 R >> endobj 251 0 obj << /Title 252 0 R /A 249 0 R /Parent 19 0 R /Prev 223 0 R /Next 275 0 R /First 255 0 R /Last 271 0 R /Count -5 >> endobj 247 0 obj << /Title 248 0 R /A 245 0 R /Parent 223 0 R /Prev 243 0 R >> endobj 243 0 obj << /Title 244 0 R /A 241 0 R /Parent 223 0 R /Prev 239 0 R /Next 247 0 R >> endobj 239 0 obj << /Title 240 0 R /A 237 0 R /Parent 223 0 R /Prev 235 0 R /Next 243 0 R >> endobj 235 0 obj << /Title 236 0 R /A 233 0 R /Parent 223 0 R /Prev 231 0 R /Next 239 0 R >> endobj 231 0 obj << /Title 232 0 R /A 229 0 R /Parent 223 0 R /Prev 227 0 R /Next 235 0 R >> endobj 227 0 obj << /Title 228 0 R /A 225 0 R /Parent 223 0 R /Next 231 0 R >> endobj 223 0 obj << /Title 224 0 R /A 221 0 R /Parent 19 0 R /Prev 195 0 R /Next 251 0 R /First 227 0 R /Last 247 0 R /Count -6 >> endobj 219 0 obj << /Title 220 0 R /A 217 0 R /Parent 195 0 R /Prev 215 0 R >> endobj 215 0 obj << /Title 216 0 R /A 213 0 R /Parent 195 0 R /Prev 211 0 R /Next 219 0 R >> endobj 211 0 obj << /Title 212 0 R /A 209 0 R /Parent 195 0 R /Prev 207 0 R /Next 215 0 R >> endobj 207 0 obj << /Title 208 0 R /A 205 0 R /Parent 195 0 R /Prev 203 0 R /Next 211 0 R >> endobj 203 0 obj << /Title 204 0 R /A 201 0 R /Parent 195 0 R /Prev 199 0 R /Next 207 0 R >> endobj 199 0 obj << /Title 200 0 R /A 197 0 R /Parent 195 0 R /Next 203 0 R >> endobj 195 0 obj << /Title 196 0 R /A 193 0 R /Parent 19 0 R /Prev 171 0 R /Next 223 0 R /First 199 0 R /Last 219 0 R /Count -6 >> endobj 191 0 obj << /Title 192 0 R /A 189 0 R /Parent 171 0 R /Prev 187 0 R >> endobj 187 0 obj << /Title 188 0 R /A 185 0 R /Parent 171 0 R /Prev 183 0 R /Next 191 0 R >> endobj 183 0 obj << /Title 184 0 R /A 181 0 R /Parent 171 0 R /Prev 179 0 R /Next 187 0 R >> endobj 179 0 obj << /Title 180 0 R /A 177 0 R /Parent 171 0 R /Prev 175 0 R /Next 183 0 R >> endobj 175 0 obj << /Title 176 0 R /A 173 0 R /Parent 171 0 R /Next 179 0 R >> endobj 171 0 obj << /Title 172 0 R /A 169 0 R /Parent 19 0 R /Prev 143 0 R /Next 195 0 R /First 175 0 R /Last 191 0 R /Count -5 >> endobj 167 0 obj << /Title 168 0 R /A 165 0 R /Parent 143 0 R /Prev 163 0 R >> endobj 163 0 obj << /Title 164 0 R /A 161 0 R /Parent 143 0 R /Prev 159 0 R /Next 167 0 R >> endobj 159 0 obj << /Title 160 0 R /A 157 0 R /Parent 143 0 R /Prev 155 0 R /Next 163 0 R >> endobj 155 0 obj << /Title 156 0 R /A 153 0 R /Parent 143 0 R /Prev 151 0 R /Next 159 0 R >> endobj 151 0 obj << /Title 152 0 R /A 149 0 R /Parent 143 0 R /Prev 147 0 R /Next 155 0 R >> endobj 147 0 obj << /Title 148 0 R /A 145 0 R /Parent 143 0 R /Next 151 0 R >> endobj 143 0 obj << /Title 144 0 R /A 141 0 R /Parent 19 0 R /Prev 115 0 R /Next 171 0 R /First 147 0 R /Last 167 0 R /Count -6 >> endobj 139 0 obj << /Title 140 0 R /A 137 0 R /Parent 115 0 R /Prev 135 0 R >> endobj 135 0 obj << /Title 136 0 R /A 133 0 R /Parent 115 0 R /Prev 131 0 R /Next 139 0 R >> endobj 131 0 obj << /Title 132 0 R /A 129 0 R /Parent 115 0 R /Prev 127 0 R /Next 135 0 R >> endobj 127 0 obj << /Title 128 0 R /A 125 0 R /Parent 115 0 R /Prev 123 0 R /Next 131 0 R >> endobj 123 0 obj << /Title 124 0 R /A 121 0 R /Parent 115 0 R /Prev 119 0 R /Next 127 0 R >> endobj 119 0 obj << /Title 120 0 R /A 117 0 R /Parent 115 0 R /Next 123 0 R >> endobj 115 0 obj << /Title 116 0 R /A 113 0 R /Parent 19 0 R /Prev 91 0 R /Next 143 0 R /First 119 0 R /Last 139 0 R /Count -6 >> endobj 111 0 obj << /Title 112 0 R /A 109 0 R /Parent 91 0 R /Prev 107 0 R >> endobj 107 0 obj << /Title 108 0 R /A 105 0 R /Parent 91 0 R /Prev 103 0 R /Next 111 0 R >> endobj 103 0 obj << /Title 104 0 R /A 101 0 R /Parent 91 0 R /Prev 99 0 R /Next 107 0 R >> endobj 99 0 obj << /Title 100 0 R /A 97 0 R /Parent 91 0 R /Prev 95 0 R /Next 103 0 R >> endobj 95 0 obj << /Title 96 0 R /A 93 0 R /Parent 91 0 R /Next 99 0 R >> endobj 91 0 obj << /Title 92 0 R /A 89 0 R /Parent 19 0 R /Prev 67 0 R /Next 115 0 R /First 95 0 R /Last 111 0 R /Count -5 >> endobj 87 0 obj << /Title 88 0 R /A 85 0 R /Parent 67 0 R /Prev 83 0 R >> endobj 83 0 obj << /Title 84 0 R /A 81 0 R /Parent 67 0 R /Prev 79 0 R /Next 87 0 R >> endobj 79 0 obj << /Title 80 0 R /A 77 0 R /Parent 67 0 R /Prev 75 0 R /Next 83 0 R >> endobj 75 0 obj << /Title 76 0 R /A 73 0 R /Parent 67 0 R /Prev 71 0 R /Next 79 0 R >> endobj 71 0 obj << /Title 72 0 R /A 69 0 R /Parent 67 0 R /Next 75 0 R >> endobj 67 0 obj << /Title 68 0 R /A 65 0 R /Parent 19 0 R /Prev 35 0 R /Next 91 0 R /First 71 0 R /Last 87 0 R /Count -5 >> endobj 63 0 obj << /Title 64 0 R /A 61 0 R /Parent 35 0 R /Prev 51 0 R >> endobj 59 0 obj << /Title 60 0 R /A 57 0 R /Parent 51 0 R /Prev 55 0 R >> endobj 55 0 obj << /Title 56 0 R /A 53 0 R /Parent 51 0 R /Next 59 0 R >> endobj 51 0 obj << /Title 52 0 R /A 49 0 R /Parent 35 0 R /Prev 47 0 R /Next 63 0 R /First 55 0 R /Last 59 0 R /Count -2 >> endobj 47 0 obj << /Title 48 0 R /A 45 0 R /Parent 35 0 R /Prev 43 0 R /Next 51 0 R >> endobj 43 0 obj << /Title 44 0 R /A 41 0 R /Parent 35 0 R /Prev 39 0 R /Next 47 0 R >> endobj 39 0 obj << /Title 40 0 R /A 37 0 R /Parent 35 0 R /Next 43 0 R >> endobj 35 0 obj << /Title 36 0 R /A 33 0 R /Parent 19 0 R /Prev 31 0 R /Next 67 0 R /First 39 0 R /Last 63 0 R /Count -5 >> endobj 31 0 obj << /Title 32 0 R /A 29 0 R /Parent 19 0 R /Prev 27 0 R /Next 35 0 R >> endobj 27 0 obj << /Title 28 0 R /A 25 0 R /Parent 19 0 R /Prev 23 0 R /Next 31 0 R >> endobj 23 0 obj << /Title 24 0 R /A 21 0 R /Parent 19 0 R /Next 27 0 R >> endobj 19 0 obj << /Title 20 0 R /A 17 0 R /Parent 2471 0 R /Prev 15 0 R /First 23 0 R /Last 739 0 R /Count -32 >> endobj 15 0 obj << /Title 16 0 R /A 13 0 R /Parent 2471 0 R /Prev 11 0 R /Next 19 0 R >> endobj 11 0 obj << /Title 12 0 R /A 9 0 R /Parent 2471 0 R /Prev 7 0 R /Next 15 0 R >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R /Parent 2471 0 R /Prev 3 0 R /Next 11 0 R >> endobj 3 0 obj << /Title 4 0 R /A 1 0 R /Parent 2471 0 R /Next 7 0 R >> endobj 2472 0 obj << /Names [(1.0) 2 0 R (10) 896 0 R (1000) 1603 0 R (1001) 1604 0 R (1002) 1606 0 R (1005) 1608 0 R (1006) 1609 0 R (1007) 1610 0 R (1008) 1611 0 R (1009) 1612 0 R (1010) 1613 0 R (1011) 1614 0 R (1012) 1615 0 R (1013) 1616 0 R (1014) 1617 0 R (1015) 1618 0 R (1017) 1619 0 R (1018) 1620 0 R (1019) 1621 0 R (1020) 1622 0 R (1021) 1623 0 R (1022) 1624 0 R (1023) 1625 0 R (1024) 1626 0 R (1025) 1627 0 R (1026) 1628 0 R (1027) 1629 0 R (1028) 1630 0 R (1029) 1631 0 R (1030) 1632 0 R (1031) 1633 0 R (1032) 1634 0 R (1033) 1635 0 R (1034) 1636 0 R (1035) 1637 0 R (1036) 1638 0 R (1037) 1639 0 R (1038) 1640 0 R (1039) 1641 0 R (1040) 1642 0 R (1041) 1643 0 R (1042) 1644 0 R (1043) 1645 0 R (1044) 1646 0 R (1045) 1647 0 R (1046) 1648 0 R (1048) 1649 0 R (1050) 1650 0 R (1051) 1651 0 R (1052) 1652 0 R (1053) 1653 0 R (1054) 1654 0 R (1055) 1655 0 R (1056) 1656 0 R (1058) 1657 0 R (1059) 1658 0 R (1060) 1659 0 R (1061) 1660 0 R (1062) 1661 0 R (1063) 1662 0 R (1065) 1663 0 R (1066) 1664 0 R (1067) 1665 0 R (1068) 1666 0 R (1070) 1671 0 R (1071) 1672 0 R (1072) 1673 0 R (1073) 1674 0 R (1075) 1667 0 R (1077) 1675 0 R (1078) 1676 0 R (1079) 1677 0 R (1080) 1678 0 R (1082) 1679 0 R (1083) 1680 0 R (1085) 1681 0 R (1086) 1682 0 R (1087) 1683 0 R (1088) 1684 0 R (1089) 1685 0 R (1090) 1686 0 R (1091) 1687 0 R (1092) 1688 0 R (1093) 1689 0 R (1094) 1690 0 R (1095) 1691 0 R (1096) 1692 0 R (1097) 1693 0 R (1098) 1694 0 R (1099) 1695 0 R (1100) 1696 0 R (1101) 1697 0 R (1105) 1701 0 R (1106) 1702 0 R (1107) 1703 0 R (1110) 1705 0 R (1111) 1706 0 R (1112) 1707 0 R (1113) 1708 0 R (1114) 1709 0 R (1115) 1710 0 R (1116) 1711 0 R (1118) 1712 0 R (1119) 1713 0 R (1120) 1714 0 R (1121) 1715 0 R (1122) 1716 0 R (1123) 1717 0 R (1124) 1718 0 R (1125) 1719 0 R (1126) 1720 0 R (1127) 1721 0 R (1130) 1722 0 R (1131) 1723 0 R (1132) 1724 0 R (1133) 1725 0 R (1134) 1726 0 R (1135) 1727 0 R (1136) 1728 0 R (1137) 1729 0 R (1138) 1730 0 R (1139) 1731 0 R (1141) 1732 0 R (1143) 1733 0 R (1144) 1734 0 R (1145) 1735 0 R (1146) 1736 0 R (1148) 1737 0 R (1149) 1738 0 R (1150) 1739 0 R (1151) 1740 0 R (1153) 1741 0 R (1154) 1742 0 R (1155) 1743 0 R (1156) 1744 0 R (1157) 1745 0 R (1159) 1746 0 R (1163) 1751 0 R (1164) 1752 0 R (1165) 1753 0 R (1168) 1755 0 R (1169) 1756 0 R (1170) 1757 0 R (1171) 1758 0 R (1172) 1759 0 R (1173) 1760 0 R (1175) 1761 0 R (1176) 1762 0 R (1177) 1763 0 R (1178) 1764 0 R (1179) 1765 0 R (1180) 1766 0 R (1181) 1767 0 R (1182) 1768 0 R (1184) 1769 0 R (1186) 1770 0 R (1187) 1771 0 R (1188) 1772 0 R (1189) 1773 0 R (1191) 1774 0 R (1192) 1775 0 R (1193) 1776 0 R (1194) 1777 0 R (1195) 1778 0 R (1197) 1779 0 R (12) 897 0 R (1201) 1783 0 R (1202) 1784 0 R (1203) 1785 0 R (1206) 1787 0 R (1207) 1788 0 R (1208) 1789 0 R (1209) 1790 0 R (1210) 1791 0 R (1212) 1792 0 R (1213) 1793 0 R (1214) 1794 0 R (1215) 1795 0 R (1216) 1796 0 R (1217) 1797 0 R (1219) 1798 0 R (1221) 1799 0 R (1222) 1800 0 R (1223) 1801 0 R (1224) 1802 0 R (1226) 1803 0 R (1227) 1804 0 R (1228) 1805 0 R (1229) 1806 0 R (1230) 1807 0 R (1232) 1808 0 R (1233) 1809 0 R (1234) 1810 0 R (1235) 1811 0 R (1239) 1815 0 R (1240) 1816 0 R (1241) 1817 0 R (1244) 1819 0 R (1245) 1820 0 R (1246) 1821 0 R (1247) 1822 0 R (1248) 1823 0 R (1249) 1824 0 R (1250) 1825 0 R (1252) 1826 0 R (1253) 1827 0 R (1254) 1828 0 R (1255) 1829 0 R (1256) 1830 0 R (1257) 1831 0 R (1259) 1832 0 R (1261) 1833 0 R (1262) 1834 0 R (1263) 1835 0 R (1264) 1836 0 R (1266) 1837 0 R (1267) 1838 0 R (1268) 1839 0 R (1269) 1840 0 R (1271) 1841 0 R (1272) 1842 0 R (1273) 1843 0 R (1274) 1844 0 R (1275) 1845 0 R (1276) 1846 0 R (1278) 1847 0 R (1279) 1848 0 R (1280) 1849 0 R (1281) 1850 0 R (1285) 1854 0 R (1286) 1855 0 R (1287) 1856 0 R (1290) 1858 0 R (1291) 1859 0 R (1292) 1860 0 R (1293) 1861 0 R (1295) 1862 0 R (1296) 1863 0 R (1297) 1864 0 R (1298) 1865 0 R (1299) 1866 0 R (1300) 1867 0 R (1301) 1868 0 R (1302) 1869 0 R (1304) 1870 0 R (1306) 1871 0 R (1307) 1872 0 R (1308) 1873 0 R (1309) 1874 0 R (1310) 1875 0 R (1312) 1876 0 R (1313) 1877 0 R (1314) 1878 0 R (1315) 1879 0 R (1319) 1883 0 R (1320) 1884 0 R (1321) 1885 0 R (1324) 1887 0 R (1325) 1888 0 R (1326) 1889 0 R (1327) 1890 0 R (1329) 1891 0 R (1330) 1892 0 R (1331) 1893 0 R (1333) 1894 0 R (1335) 1895 0 R (1336) 1896 0 R (1337) 1897 0 R (1338) 1898 0 R (1339) 1899 0 R (1341) 1900 0 R (1342) 1901 0 R (1343) 1902 0 R (1344) 1903 0 R (1348) 1907 0 R (1349) 1908 0 R (1350) 1909 0 R (1353) 1911 0 R (1354) 1912 0 R (1355) 1913 0 R (1356) 1914 0 R (1357) 1915 0 R (1358) 1916 0 R (1360) 1917 0 R (1361) 1918 0 R (1362) 1919 0 R (1364) 1920 0 R (1366) 1921 0 R (1367) 1922 0 R (1368) 1923 0 R (1369) 1924 0 R (1371) 1925 0 R (1372) 1926 0 R (1373) 1927 0 R (1374) 1928 0 R (1375) 1929 0 R (1376) 1930 0 R (1377) 1931 0 R (1378) 1932 0 R (1380) 1933 0 R (1381) 1934 0 R (1382) 1935 0 R (1383) 1936 0 R (1384) 1937 0 R (1385) 1938 0 R (1389) 1943 0 R (1390) 1944 0 R (1391) 1945 0 R (1392) 1946 0 R (1395) 1948 0 R (1396) 1949 0 R (1397) 1950 0 R (1398) 1951 0 R (14) 898 0 R (1400) 1952 0 R (1401) 1953 0 R (1402) 1954 0 R (1404) 1955 0 R (1406) 1956 0 R (1407) 1957 0 R (1408) 1958 0 R (1409) 1959 0 R (1410) 1960 0 R (1412) 1961 0 R (1416) 1965 0 R (1417) 1966 0 R (1418) 1967 0 R (1421) 1969 0 R (1422) 1970 0 R (1423) 1971 0 R (1424) 1972 0 R (1425) 1973 0 R (1427) 1974 0 R (1428) 1975 0 R (1429) 1976 0 R (1431) 1977 0 R (1433) 1978 0 R (1434) 1979 0 R (1435) 1980 0 R (1436) 1981 0 R (1437) 1982 0 R (1439) 1983 0 R (1443) 1987 0 R (1444) 1988 0 R (1445) 1989 0 R (1448) 1991 0 R (1449) 1992 0 R (1450) 1993 0 R (1451) 1994 0 R (1453) 1995 0 R (1454) 1996 0 R (1455) 1997 0 R (1456) 1998 0 R (1457) 1999 0 R (1458) 2000 0 R (1459) 2001 0 R (1460) 2002 0 R (1461) 2003 0 R (1463) 2004 0 R (1465) 2005 0 R (1466) 2006 0 R (1467) 2007 0 R (1468) 2008 0 R (1469) 2009 0 R (1471) 2010 0 R (1475) 2014 0 R (1476) 2015 0 R (1477) 2016 0 R (1480) 2018 0 R (1481) 2019 0 R (1482) 2020 0 R (1483) 2021 0 R (1485) 2022 0 R (1486) 2023 0 R (1487) 2024 0 R (1488) 2025 0 R (1489) 2026 0 R (1490) 2027 0 R (1491) 2028 0 R (1492) 2029 0 R (1493) 2030 0 R (1495) 2031 0 R (1497) 2032 0 R (1498) 2033 0 R (1499) 2034 0 R (15) 899 0 R (1500) 2035 0 R (1501) 2036 0 R (1503) 2037 0 R (1507) 2041 0 R (1508) 2042 0 R (1509) 2043 0 R (1512) 2045 0 R (1513) 2046 0 R (1514) 2047 0 R (1515) 2048 0 R (1517) 2049 0 R (1518) 2050 0 R (1519) 2051 0 R (1520) 2052 0 R (1521) 2053 0 R (1523) 2054 0 R (1525) 2055 0 R (1526) 2056 0 R (1527) 2057 0 R (1528) 2058 0 R (1529) 2059 0 R (1531) 2060 0 R (1535) 2064 0 R (1536) 2065 0 R (1537) 2066 0 R (1540) 2068 0 R (1541) 2069 0 R (1542) 2070 0 R (1543) 2071 0 R (1545) 2072 0 R (1546) 2073 0 R (1547) 2074 0 R (1549) 2075 0 R (1551) 2076 0 R (1552) 2077 0 R (1553) 2078 0 R (1554) 2079 0 R (1555) 2080 0 R (1557) 2081 0 R (1561) 2086 0 R (1562) 2087 0 R (1563) 2088 0 R (1566) 2090 0 R (1567) 2091 0 R (1568) 2092 0 R (1569) 2093 0 R (1570) 2094 0 R (1572) 2095 0 R (1573) 2096 0 R (1574) 2097 0 R (1576) 2098 0 R (1578) 2099 0 R (1579) 2100 0 R (1580) 2101 0 R (1581) 2102 0 R (1583) 2103 0 R (1584) 2104 0 R (1585) 2105 0 R (1586) 2106 0 R (1587) 2107 0 R (1588) 2108 0 R (1589) 2109 0 R (1590) 2110 0 R (1591) 2111 0 R (1592) 2112 0 R (1594) 2113 0 R (1598) 2117 0 R (1599) 2118 0 R (16) 900 0 R (1600) 2119 0 R (1603) 2121 0 R (1604) 2122 0 R (1605) 2123 0 R (1606) 2124 0 R (1607) 2125 0 R (1608) 2126 0 R (1610) 2127 0 R (1611) 2128 0 R (1612) 2129 0 R (1614) 2130 0 R (1616) 2131 0 R (1617) 2132 0 R (1618) 2133 0 R (1619) 2134 0 R (1621) 2135 0 R (1622) 2136 0 R (1623) 2137 0 R (1624) 2138 0 R (1626) 2139 0 R (1627) 2140 0 R (1628) 2141 0 R (1629) 2142 0 R (1630) 2143 0 R (1631) 2144 0 R (1632) 2145 0 R (1633) 2146 0 R (1635) 2147 0 R (1639) 2151 0 R (1640) 2152 0 R (1641) 2153 0 R (1644) 2155 0 R (1645) 2156 0 R (1646) 2157 0 R (1647) 2158 0 R (1648) 2159 0 R (1650) 2160 0 R (1651) 2161 0 R (1652) 2162 0 R (1654) 2163 0 R (1656) 2164 0 R (1657) 2165 0 R (1658) 2166 0 R (1659) 2167 0 R (1661) 2168 0 R (1662) 2169 0 R (1663) 2170 0 R (1664) 2171 0 R (1665) 2172 0 R (1666) 2173 0 R (1668) 2174 0 R (1672) 2178 0 R (1673) 2179 0 R (1674) 2180 0 R (1677) 2182 0 R (1678) 2183 0 R (1679) 2184 0 R (1680) 2185 0 R (1681) 2186 0 R (1682) 2187 0 R (1683) 2188 0 R (1685) 2189 0 R (1686) 2190 0 R (1687) 2191 0 R (1688) 2192 0 R (1689) 2193 0 R (1691) 2194 0 R (1693) 2195 0 R (1694) 2196 0 R (1695) 2197 0 R (1696) 2198 0 R (1698) 2199 0 R (1699) 2200 0 R (17) 901 0 R (1700) 2201 0 R (1701) 2202 0 R (1702) 2203 0 R (1704) 2204 0 R (1705) 2205 0 R (1706) 2206 0 R (1707) 2207 0 R (1709) 2208 0 R (1710) 2209 0 R (1711) 2210 0 R (1712) 2211 0 R (1713) 2212 0 R (1715) 2213 0 R (1719) 2217 0 R (1720) 2218 0 R (1721) 2219 0 R (1724) 2221 0 R (1725) 2222 0 R (1726) 2223 0 R (1727) 2224 0 R (1728) 2225 0 R (1729) 2226 0 R (1730) 2227 0 R (1732) 2228 0 R (1733) 2229 0 R (1734) 2230 0 R (1735) 2231 0 R (1736) 2232 0 R (1738) 2233 0 R (1740) 2234 0 R (1741) 2235 0 R (1742) 2236 0 R (1743) 2237 0 R (1745) 2238 0 R (1746) 2239 0 R (1747) 2240 0 R (1748) 2241 0 R (1749) 2242 0 R (1751) 2243 0 R (1752) 2244 0 R (1753) 2245 0 R (1754) 2246 0 R (1756) 2247 0 R (1757) 2248 0 R (1758) 2249 0 R (1759) 2250 0 R (1760) 2251 0 R (1762) 2252 0 R (1766) 2256 0 R (1767) 2257 0 R (1768) 2259 0 R (1771) 2261 0 R (1772) 2262 0 R (1773) 2263 0 R (1774) 2264 0 R (1775) 2265 0 R (1776) 2266 0 R (1777) 2267 0 R (1779) 2268 0 R (1780) 2269 0 R (1781) 2270 0 R (1782) 2271 0 R (1783) 2272 0 R (1785) 2273 0 R (1787) 2274 0 R (1788) 2275 0 R (1789) 2276 0 R (1790) 2277 0 R (1792) 2278 0 R (1793) 2279 0 R (1794) 2280 0 R (1795) 2281 0 R (1796) 2282 0 R (1798) 2283 0 R (1799) 2284 0 R (1800) 2285 0 R (1801) 2286 0 R (1803) 2287 0 R (1804) 2288 0 R (1805) 2289 0 R (1806) 2290 0 R (1807) 2291 0 R (1808) 2292 0 R (1809) 2293 0 R (1810) 2294 0 R (1812) 2295 0 R (1816) 2300 0 R (1817) 2301 0 R (1818) 2303 0 R (1821) 2305 0 R (1822) 2307 0 R (1823) 2308 0 R (1824) 2309 0 R (1825) 2310 0 R (1827) 2312 0 R (1828) 2313 0 R (1829) 2314 0 R (1831) 2316 0 R (1833) 2317 0 R (1834) 2318 0 R (1835) 2319 0 R (1836) 2320 0 R (1838) 2321 0 R (1839) 2322 0 R (1840) 2323 0 R (1841) 2324 0 R (1842) 2325 0 R (1843) 2326 0 R (1845) 2328 0 R (1846) 2329 0 R (1850) 2334 0 R (1851) 2335 0 R (1852) 2337 0 R (1855) 2339 0 R (1856) 2341 0 R (1857) 2342 0 R (1858) 2343 0 R (1859) 2344 0 R (1861) 2346 0 R (1862) 2347 0 R (1863) 2348 0 R (1865) 2350 0 R (1867) 2351 0 R (1868) 2352 0 R (1869) 2353 0 R (1870) 2354 0 R (1872) 2355 0 R (1873) 2356 0 R (1874) 2357 0 R (1875) 2358 0 R (1876) 2359 0 R (1878) 2361 0 R (1882) 2366 0 R (1883) 2367 0 R (1884) 2369 0 R (1887) 2371 0 R (1888) 2373 0 R (1889) 2374 0 R (1890) 2375 0 R (1891) 2376 0 R (1893) 2378 0 R (1894) 2379 0 R (1895) 2380 0 R (1897) 2382 0 R (1899) 2383 0 R (1900) 2384 0 R (1901) 2385 0 R (1902) 2386 0 R (1904) 2387 0 R (1905) 2388 0 R (1906) 2389 0 R (1907) 2390 0 R (1908) 2391 0 R (1910) 2393 0 R (1911) 2394 0 R (1913) 2396 0 R (1914) 2397 0 R (1915) 2398 0 R (1916) 2399 0 R (1920) 2404 0 R (1921) 2405 0 R (1922) 2407 0 R (1925) 2409 0 R (1926) 2411 0 R (1927) 2412 0 R (1928) 2413 0 R (1929) 2414 0 R (1930) 2415 0 R (1932) 2417 0 R (1933) 2418 0 R (1934) 2419 0 R (1936) 2421 0 R (1938) 2422 0 R (1939) 2423 0 R (1940) 2424 0 R (1941) 2425 0 R (1943) 2426 0 R (1944) 2427 0 R (1945) 2428 0 R (1946) 2429 0 R (1948) 2430 0 R (1949) 2431 0 R (1950) 2432 0 R (1951) 2433 0 R (1952) 2434 0 R (1954) 2436 0 R (1955) 2437 0 R (1957) 2439 0 R (1958) 2440 0 R (1959) 2441 0 R (1960) 2442 0 R (1963) 2447 0 R (1964) 2448 0 R (1965) 2449 0 R (1966) 2450 0 R (1967) 2451 0 R (1970) 2453 0 R (1971) 2454 0 R (1972) 2455 0 R (1973) 2456 0 R (1974) 2457 0 R (1977) 2459 0 R (1979) 2461 0 R (1983) 2462 0 R (2.0) 6 0 R (20) 902 0 R (22) 904 0 R (226) 912 0 R (227) 913 0 R (228) 914 0 R (229) 915 0 R (232) 916 0 R (233) 917 0 R (234) 918 0 R (235) 919 0 R (236) 920 0 R (237) 921 0 R (238) 922 0 R (239) 923 0 R (240) 924 0 R (244) 925 0 R (245) 926 0 R (246) 927 0 R (247) 931 0 R (248) 932 0 R (249) 933 0 R (250) 934 0 R (251) 935 0 R (252) 936 0 R (253) 937 0 R (254) 938 0 R (255) 939 0 R (256) 940 0 R (257) 941 0 R (258) 942 0 R (259) 943 0 R (26) 905 0 R (260) 944 0 R (261) 945 0 R (262) 946 0 R (263) 947 0 R (264) 948 0 R (265) 949 0 R (266) 950 0 R (267) 951 0 R (268) 952 0 R (269) 953 0 R (270) 954 0 R (271) 955 0 R (272) 956 0 R (273) 957 0 R (274) 958 0 R (275) 959 0 R (282) 960 0 R (283) 961 0 R (284) 962 0 R (287) 964 0 R (288) 965 0 R (289) 966 0 R (290) 969 0 R (291) 970 0 R (292) 971 0 R (293) 972 0 R (294) 973 0 R (295) 974 0 R (296) 975 0 R (297) 976 0 R (298) 977 0 R (299) 978 0 R (3.0) 10 0 R (300) 979 0 R (301) 980 0 R (302) 981 0 R (303) 982 0 R (304) 983 0 R (305) 984 0 R (306) 985 0 R (308) 992 0 R (309) 993 0 R (310) 994 0 R (311) 986 0 R (313) 995 0 R (314) 996 0 R (316) 997 0 R (317) 998 0 R (319) 999 0 R (320) 1000 0 R (321) 1001 0 R (322) 1002 0 R (323) 1003 0 R (324) 1004 0 R (325) 1005 0 R (326) 1006 0 R (327) 1007 0 R (328) 1008 0 R (329) 1009 0 R (330) 1010 0 R (331) 1011 0 R (332) 1012 0 R (333) 1013 0 R (334) 1014 0 R (335) 1015 0 R (336) 1016 0 R (338) 1017 0 R (339) 1018 0 R (340) 1019 0 R (341) 1020 0 R (342) 1021 0 R (344) 1022 0 R (345) 1023 0 R (348) 1024 0 R (349) 1025 0 R (350) 1026 0 R (351) 1027 0 R (352) 1028 0 R (353) 1029 0 R (354) 1030 0 R (355) 1031 0 R (356) 1032 0 R (357) 1033 0 R (358) 1034 0 R (359) 1035 0 R (360) 1036 0 R (361) 1037 0 R (362) 1038 0 R (363) 1039 0 R (364) 1040 0 R (365) 1041 0 R (366) 1042 0 R (367) 1043 0 R (368) 1044 0 R (369) 1045 0 R (370) 1046 0 R (371) 1050 0 R (372) 1051 0 R (374) 991 0 R (376) 1052 0 R (377) 1053 0 R (378) 1054 0 R (381) 1055 0 R (382) 1056 0 R (383) 1057 0 R (384) 1058 0 R (386) 1059 0 R (387) 1060 0 R (388) 1061 0 R (389) 1062 0 R (390) 1063 0 R (392) 1064 0 R (393) 1065 0 R (394) 1066 0 R (395) 1067 0 R (397) 1068 0 R (398) 1069 0 R (399) 1070 0 R (4.0) 14 0 R (400) 1071 0 R (402) 1072 0 R (403) 1073 0 R (404) 1074 0 R (405) 1075 0 R (407) 1076 0 R (408) 1077 0 R (409) 1078 0 R (410) 1079 0 R (412) 1080 0 R (413) 1081 0 R (414) 1082 0 R (415) 1083 0 R (416) 1084 0 R (417) 1085 0 R (418) 1086 0 R (419) 1087 0 R (420) 1088 0 R (421) 1089 0 R (422) 1090 0 R (423) 1091 0 R (424) 1092 0 R (425) 1093 0 R (426) 1094 0 R (427) 1095 0 R (428) 1096 0 R (429) 1097 0 R (430) 1098 0 R (431) 1099 0 R (432) 1100 0 R (433) 1101 0 R (434) 1102 0 R (438) 1103 0 R (439) 1104 0 R (440) 1105 0 R (441) 1106 0 R (442) 1107 0 R (443) 1108 0 R (444) 1109 0 R (445) 1110 0 R (446) 1111 0 R (447) 1112 0 R (448) 1113 0 R (449) 1114 0 R (450) 1115 0 R (451) 1116 0 R (452) 1117 0 R (454) 1118 0 R (455) 1119 0 R (456) 1120 0 R (457) 1121 0 R (458) 1122 0 R (459) 1123 0 R (460) 1124 0 R (462) 1128 0 R (463) 1129 0 R (464) 1130 0 R (465) 1131 0 R (466) 1132 0 R (467) 1133 0 R (468) 1134 0 R (469) 1135 0 R (470) 1136 0 R (472) 1137 0 R (473) 1138 0 R (474) 1139 0 R (475) 1140 0 R (477) 1141 0 R (478) 1142 0 R (479) 1143 0 R (480) 1144 0 R (481) 1145 0 R (483) 1146 0 R (484) 1147 0 R (485) 1148 0 R (486) 1149 0 R (487) 1150 0 R (489) 1151 0 R (490) 1152 0 R (491) 1153 0 R (492) 1154 0 R (493) 1155 0 R (494) 1156 0 R (496) 1157 0 R (497) 1158 0 R (498) 1159 0 R (499) 1160 0 R (5.0) 18 0 R (5.1.1) 22 0 R (5.10.1) 194 0 R (5.10.33.2) 198 0 R (5.10.34.2) 202 0 R (5.10.35.2) 206 0 R (5.10.36.2) 210 0 R (5.10.37.2) 214 0 R (5.10.38.2) 218 0 R (5.11.1) 222 0 R (5.11.38.2) 1538 0 R (5.11.39.2) 226 0 R (5.11.40.2) 230 0 R (5.11.41.2) 234 0 R (5.11.42.2) 238 0 R (5.11.43.2) 242 0 R (5.11.44.2) 246 0 R (5.12.1) 250 0 R (5.12.44.2) 1605 0 R (5.12.45.2) 254 0 R (5.12.46.2) 258 0 R (5.12.47.2) 262 0 R (5.12.48.2) 266 0 R (5.12.49.2) 270 0 R (5.13.1) 274 0 R (5.13.50.2) 278 0 R (5.13.51.2) 282 0 R (5.13.52.2) 286 0 R (5.13.53.2) 290 0 R (5.13.54.2) 294 0 R (5.14.1) 298 0 R (5.14.55.2) 302 0 R (5.14.56.2) 306 0 R (5.14.57.2) 310 0 R (5.14.58.2) 314 0 R (5.14.59.2) 318 0 R (5.15.1) 322 0 R (5.15.60.2) 326 0 R (5.15.61.2) 330 0 R (5.15.62.2) 334 0 R (5.15.63.2) 338 0 R (5.15.64.2) 342 0 R (5.16.1) 346 0 R (5.16.65.2) 350 0 R (5.16.66.2) 354 0 R (5.16.67.2) 358 0 R (5.16.68.2) 362 0 R (5.16.69.2) 366 0 R (5.17.1) 370 0 R (5.17.70.2) 374 0 R (5.17.71.2) 378 0 R (5.17.72.2) 382 0 R (5.17.73.2) 386 0 R (5.17.74.2) 390 0 R (5.18.1) 394 0 R (5.18.75.2) 398 0 R (5.18.76.2) 402 0 R (5.18.77.2) 406 0 R (5.18.78.2) 410 0 R (5.18.79.2) 414 0 R (5.19.1) 418 0 R (5.19.80.2) 422 0 R (5.19.81.2) 426 0 R (5.19.82.2) 430 0 R (5.19.83.2) 434 0 R (5.19.84.2) 438 0 R (5.2.1) 26 0 R (5.20.1) 442 0 R (5.20.85.2) 446 0 R (5.20.86.2) 450 0 R (5.20.87.2) 454 0 R (5.20.88.2) 458 0 R (5.20.89.2) 462 0 R (5.21.1) 466 0 R (5.21.90.2) 470 0 R (5.21.91.2) 474 0 R (5.21.92.2) 478 0 R (5.21.93.2) 482 0 R (5.21.94.2) 486 0 R (5.22.1) 490 0 R (5.22.95.2) 494 0 R (5.22.96.2) 498 0 R (5.22.97.2) 502 0 R (5.22.98.2) 506 0 R (5.22.99.2) 510 0 R (5.23.1) 514 0 R (5.23.100.2) 518 0 R (5.23.101.2) 522 0 R (5.23.102.2) 526 0 R (5.23.103.2) 530 0 R (5.23.104.2) 534 0 R (5.24.1) 538 0 R (5.24.105.2) 542 0 R (5.24.106.2) 546 0 R (5.24.107.2) 550 0 R (5.24.108.2) 554 0 R (5.24.109.2) 558 0 R (5.25.1) 562 0 R (5.25.110.2) 566 0 R (5.25.111.2) 570 0 R (5.25.112.2) 574 0 R (5.25.113.2) 578 0 R (5.25.114.2) 582 0 R (5.26.1) 586 0 R (5.26.115.2) 590 0 R (5.26.116.2) 594 0 R (5.26.117.2) 598 0 R (5.26.118.2) 602 0 R (5.26.119.2) 606 0 R (5.27.1) 610 0 R (5.27.120.2) 614 0 R (5.27.121.2) 618 0 R (5.27.122.2) 622 0 R (5.27.123.2) 626 0 R (5.27.124.2) 630 0 R (5.28.1) 634 0 R (5.28.125.2) 638 0 R (5.28.126.2) 642 0 R (5.28.127.2) 646 0 R (5.28.128.2) 650 0 R (5.28.129.2) 654 0 R (5.29.1) 658 0 R (5.29.130.2) 662 0 R (5.29.131.2) 666 0 R (5.29.132.2) 670 0 R (5.29.133.2) 674 0 R (5.29.134.2) 678 0 R (5.3.1) 30 0 R (5.30.1) 682 0 R (5.30.135.2) 686 0 R (5.30.136.2) 690 0 R (5.30.137.2) 694 0 R (5.30.138.2) 698 0 R (5.30.139.2) 702 0 R (5.30.140.2) 706 0 R (5.31.1) 710 0 R (5.31.140.2) 2258 0 R (5.31.141.2) 714 0 R (5.31.142.2) 718 0 R (5.31.143.2) 722 0 R (5.31.144.2) 726 0 R (5.31.145.2) 730 0 R (5.31.146.2) 734 0 R (5.32.1) 738 0 R (5.32.145.2) 2302 0 R (5.32.146.2) 2306 0 R (5.32.147.2) 2311 0 R (5.32.148.2) 2315 0 R (5.32.149.2) 2327 0 R (5.33.1) 2333 0 R (5.33.150.2) 2336 0 R (5.33.151.2) 2340 0 R (5.33.152.2) 2345 0 R (5.33.153.2) 2349 0 R (5.33.154.2) 2360 0 R (5.34.1) 2365 0 R (5.34.155.2) 2368 0 R (5.34.156.2) 2372 0 R (5.34.157.2) 2377 0 R (5.34.158.2) 2381 0 R (5.34.159.2) 2392 0 R (5.34.160.2) 2395 0 R (5.35.1) 2403 0 R (5.35.161.2) 2406 0 R (5.35.162.2) 2410 0 R (5.35.163.2) 2416 0 R (5.35.164.2) 2420 0 R (5.35.165.2) 2435 0 R (5.35.166.2) 2438 0 R (5.36.1) 2446 0 R (5.37.1) 2452 0 R (5.38.1) 2458 0 R (5.4.1) 34 0 R (5.4.1.2) 38 0 R (5.4.2.2) 42 0 R (5.4.3.2) 46 0 R (5.4.4.1.3) 54 0 R (5.4.4.2) 50 0 R (5.4.4.2.3) 58 0 R (5.4.4.3.3) 1169 0 R (5.4.5.2) 62 0 R (5.5.1) 66 0 R (5.5.10.2) 86 0 R (5.5.6.2) 70 0 R (5.5.7.2) 74 0 R (5.5.8.2) 78 0 R (5.5.9.2) 82 0 R (5.6.1) 90 0 R (5.6.11.2) 94 0 R (5.6.12.2) 98 0 R (5.6.13.2) 102 0 R (5.6.14.2) 106 0 R (5.6.15.2) 110 0 R (5.7.1) 114 0 R (5.7.16.2) 118 0 R (5.7.17.2) 122 0 R (5.7.18.2) 126 0 R (5.7.19.2) 130 0 R (5.7.20.2) 134 0 R (5.7.21.2) 138 0 R (5.8.1) 142 0 R (5.8.21.2) 1258 0 R (5.8.22.2) 146 0 R (5.8.23.2) 150 0 R (5.8.24.2) 154 0 R (5.8.25.2) 158 0 R (5.8.26.2) 162 0 R (5.8.27.2) 166 0 R (5.9.1) 170 0 R (5.9.27.2) 1301 0 R (5.9.28.2) 174 0 R (5.9.29.2) 178 0 R (5.9.30.2) 182 0 R (5.9.31.2) 186 0 R (5.9.32.2) 190 0 R (500) 1161 0 R (502) 1162 0 R (503) 1163 0 R (504) 1164 0 R (505) 1165 0 R (506) 1166 0 R (507) 1167 0 R (508) 1168 0 R (510) 1170 0 R (511) 1171 0 R (512) 1172 0 R (513) 1173 0 R (514) 1174 0 R (515) 1175 0 R (516) 1176 0 R (517) 1177 0 R (518) 1182 0 R (519) 1183 0 R (521) 1184 0 R (522) 1185 0 R (526) 1189 0 R (527) 1190 0 R (528) 1191 0 R (531) 1193 0 R (532) 1194 0 R (533) 1195 0 R (535) 1196 0 R (536) 1197 0 R (537) 1198 0 R (539) 1199 0 R (541) 1200 0 R (542) 1201 0 R (543) 1202 0 R (544) 1203 0 R (546) 1204 0 R (547) 1205 0 R (548) 1206 0 R (549) 1207 0 R (550) 1208 0 R (552) 1209 0 R (556) 1213 0 R (557) 1214 0 R (558) 1215 0 R (561) 1217 0 R (562) 1218 0 R (563) 1219 0 R (564) 1220 0 R (566) 1221 0 R (567) 1222 0 R (568) 1223 0 R (569) 1224 0 R (571) 1225 0 R (573) 1226 0 R (574) 1227 0 R (575) 1228 0 R (576) 1229 0 R (577) 1230 0 R (579) 1231 0 R (583) 1236 0 R (584) 1237 0 R (585) 1238 0 R (588) 1240 0 R (589) 1241 0 R (590) 1242 0 R (592) 1243 0 R (593) 1244 0 R (594) 1245 0 R (595) 1246 0 R (597) 1247 0 R (598) 1248 0 R (600) 1249 0 R (601) 1250 0 R (602) 1251 0 R (603) 1252 0 R (607) 1256 0 R (608) 1257 0 R (609) 1259 0 R (612) 1261 0 R (613) 1262 0 R (614) 1263 0 R (615) 1264 0 R (616) 1265 0 R (617) 1266 0 R (618) 1267 0 R (620) 1268 0 R (621) 1269 0 R (622) 1270 0 R (623) 1271 0 R (624) 1272 0 R (625) 1273 0 R (627) 1274 0 R (629) 1275 0 R (630) 1276 0 R (631) 1277 0 R (632) 1278 0 R (634) 1279 0 R (635) 1280 0 R (636) 1281 0 R (637) 1282 0 R (639) 1283 0 R (640) 1284 0 R (641) 1285 0 R (642) 1286 0 R (643) 1287 0 R (644) 1288 0 R (645) 1289 0 R (647) 1290 0 R (648) 1291 0 R (649) 1292 0 R (650) 1293 0 R (652) 1294 0 R (653) 1295 0 R (657) 1299 0 R (658) 1300 0 R (659) 1302 0 R (662) 1304 0 R (663) 1305 0 R (664) 1306 0 R (665) 1307 0 R (666) 1308 0 R (667) 1309 0 R (668) 1310 0 R (670) 1311 0 R (671) 1312 0 R (672) 1313 0 R (673) 1314 0 R (674) 1315 0 R (675) 1316 0 R (676) 1317 0 R (677) 1318 0 R (678) 1319 0 R (679) 1320 0 R (681) 1321 0 R (683) 1322 0 R (684) 1323 0 R (685) 1324 0 R (686) 1325 0 R (688) 1326 0 R (689) 1327 0 R (690) 1328 0 R (691) 1329 0 R (693) 1330 0 R (694) 1331 0 R (695) 1332 0 R (696) 1333 0 R (697) 1334 0 R (698) 1335 0 R (700) 1336 0 R (701) 1337 0 R (702) 1338 0 R (704) 1339 0 R (705) 1340 0 R (709) 1347 0 R (710) 1348 0 R (711) 1349 0 R (714) 1351 0 R (715) 1352 0 R (716) 1353 0 R (717) 1354 0 R (718) 1355 0 R (720) 1356 0 R (721) 1357 0 R (722) 1358 0 R (723) 1359 0 R (724) 1360 0 R (725) 1361 0 R (726) 1362 0 R (728) 1363 0 R (730) 1364 0 R (731) 1365 0 R (732) 1366 0 R (733) 1367 0 R (735) 1368 0 R (736) 1369 0 R (737) 1370 0 R (738) 1371 0 R (739) 1372 0 R (741) 1373 0 R (742) 1374 0 R (743) 1375 0 R (744) 1376 0 R (746) 1377 0 R (747) 1378 0 R (748) 1379 0 R (749) 1380 0 R (750) 1381 0 R (751) 1382 0 R (752) 1383 0 R (753) 1384 0 R (754) 1385 0 R (756) 1386 0 R (757) 1387 0 R (758) 1388 0 R (759) 1389 0 R (760) 1390 0 R (761) 1391 0 R (762) 1392 0 R (763) 1393 0 R (764) 1394 0 R (765) 1395 0 R (766) 1396 0 R (767) 1397 0 R (769) 1398 0 R (770) 1399 0 R (771) 1400 0 R (772) 1401 0 R (773) 1402 0 R (774) 1403 0 R (776) 1404 0 R (777) 1405 0 R (778) 1406 0 R (779) 1407 0 R (781) 1411 0 R (782) 1412 0 R (783) 1413 0 R (784) 1414 0 R (786) 1415 0 R (787) 1416 0 R (788) 1417 0 R (789) 1418 0 R (790) 1419 0 R (792) 1420 0 R (793) 1421 0 R (794) 1422 0 R (795) 1423 0 R (796) 1424 0 R (797) 1425 0 R (799) 1426 0 R (8) 895 0 R (800) 1427 0 R (801) 1428 0 R (802) 1429 0 R (804) 1430 0 R (805) 1431 0 R (806) 1432 0 R (807) 1433 0 R (809) 1434 0 R (810) 1435 0 R (811) 1436 0 R (812) 1437 0 R (814) 1438 0 R (815) 1439 0 R (816) 1440 0 R (817) 1441 0 R (819) 1442 0 R (820) 1443 0 R (821) 1444 0 R (822) 1445 0 R (824) 1446 0 R (825) 1447 0 R (826) 1448 0 R (827) 1449 0 R (828) 1450 0 R (830) 1451 0 R (831) 1452 0 R (832) 1453 0 R (833) 1454 0 R (835) 1455 0 R (836) 1456 0 R (837) 1457 0 R (838) 1458 0 R (839) 1459 0 R (840) 1460 0 R (841) 1461 0 R (843) 1462 0 R (844) 1463 0 R (845) 1464 0 R (846) 1465 0 R (848) 1466 0 R (849) 1467 0 R (850) 1468 0 R (851) 1469 0 R (852) 1470 0 R (853) 1471 0 R (855) 1476 0 R (856) 1477 0 R (857) 1478 0 R (858) 1479 0 R (859) 1480 0 R (860) 1481 0 R (861) 1482 0 R (862) 1483 0 R (863) 1484 0 R (865) 1485 0 R (866) 1486 0 R (867) 1487 0 R (868) 1488 0 R (869) 1489 0 R (871) 1490 0 R (872) 1491 0 R (873) 1492 0 R (874) 1493 0 R (875) 1494 0 R (876) 1495 0 R (877) 1496 0 R (879) 1497 0 R (880) 1498 0 R (881) 1499 0 R (882) 1500 0 R (884) 1501 0 R (885) 1502 0 R (886) 1503 0 R (887) 1504 0 R (888) 1505 0 R (890) 1506 0 R (891) 1507 0 R (892) 1508 0 R (893) 1509 0 R (895) 1510 0 R (896) 1511 0 R (897) 1512 0 R (898) 1513 0 R (900) 1514 0 R (901) 1515 0 R (902) 1516 0 R (903) 1517 0 R (904) 1518 0 R (905) 1519 0 R (907) 1520 0 R (908) 1521 0 R (909) 1522 0 R (910) 1523 0 R (911) 1524 0 R (912) 1525 0 R (913) 1526 0 R (915) 1527 0 R (916) 1528 0 R (917) 1529 0 R (918) 1530 0 R (919) 1531 0 R (921) 1532 0 R (925) 1536 0 R (926) 1537 0 R (927) 1539 0 R (930) 1541 0 R (931) 1542 0 R (932) 1543 0 R (933) 1544 0 R (934) 1545 0 R (935) 1546 0 R (936) 1547 0 R (938) 1548 0 R (939) 1549 0 R (940) 1550 0 R (941) 1551 0 R (942) 1552 0 R (943) 1553 0 R (944) 1554 0 R (945) 1555 0 R (946) 1556 0 R (947) 1557 0 R (948) 1558 0 R (950) 1559 0 R (951) 1560 0 R (952) 1561 0 R (953) 1562 0 R (955) 1563 0 R (956) 1564 0 R (957) 1565 0 R (958) 1566 0 R (960) 1567 0 R (961) 1568 0 R (962) 1569 0 R (963) 1570 0 R (964) 1571 0 R (966) 1572 0 R (968) 1573 0 R (969) 1574 0 R (970) 1575 0 R (971) 1576 0 R (973) 1577 0 R (974) 1578 0 R (975) 1579 0 R (976) 1580 0 R (978) 1581 0 R (979) 1582 0 R (980) 1583 0 R (981) 1584 0 R (983) 1589 0 R (984) 1590 0 R (985) 1591 0 R (986) 1592 0 R (987) 1585 0 R (989) 1593 0 R (990) 1594 0 R (992) 1595 0 R (993) 1596 0 R (994) 1597 0 R (995) 1598 0 R (996) 1599 0 R (Doc-Start) 746 0 R (IX-PGTCL-NULLVALUESTRING-2) 1968 0 R (IX-PGTCL-PGBLOCKING-2) 1910 0 R (IX-PGTCL-PGCANCELREQUEST-2) 1947 0 R (IX-PGTCL-PGCONNDEFAULTS-2) 1239 0 R (IX-PGTCL-PGCONNECT-2) 963 0 R (IX-PGTCL-PGCONNINFO-2) 1192 0 R (IX-PGTCL-PGDISCONNECT-2) 1216 0 R (IX-PGTCL-PGESCAPE-BYTEA-2) 2044 0 R (IX-PGTCL-PGESCAPE-STRING-2) 2017 0 R (IX-PGTCL-PGEXEC-2) 1260 0 R (IX-PGTCL-PGEXECPREPARED-2) 1303 0 R (IX-PGTCL-PGEXECUTE-2) 1607 0 R (IX-PGTCL-PGGETRESULT-2) 1857 0 R (IX-PGTCL-PGISBUSY-2) 1886 0 R (IX-PGTCL-PGLISTEN-2) 1704 0 R (IX-PGTCL-PGLOCLOSE-2) 2154 0 R (IX-PGTCL-PGLOCREAT-2) 2089 0 R (IX-PGTCL-PGLOEXPORT-2) 2408 0 R (IX-PGTCL-PGLOIMPORT-2) 2370 0 R (IX-PGTCL-PGLOLSEEK-2) 2260 0 R (IX-PGTCL-PGLOOPEN-2) 2120 0 R (IX-PGTCL-PGLOREAD-2) 2181 0 R (IX-PGTCL-PGLOTELL-2) 2304 0 R (IX-PGTCL-PGLOUNLINK-2) 2338 0 R (IX-PGTCL-PGLOWRITE-2) 2220 0 R (IX-PGTCL-PGON-CONNECTION-LOSS-2) 1754 0 R (IX-PGTCL-PGRESULT-2) 1350 0 R (IX-PGTCL-PGSELECT-2) 1540 0 R (IX-PGTCL-PGSENDQUERY-2) 1786 0 R (IX-PGTCL-PGSENDQUERYPREPARED-2) 1818 0 R (IX-PGTCL-PGUNESCAPE-BYTEA-2) 2067 0 R (IX-PGTCL-QUOTE-2) 1990 0 R (LIBPGTCL) 843 0 R (LIBPGTCL-LOADING) 845 0 R (LIBPGTCL-REF) 846 0 R (PGTCL) 747 0 R (PGTCL-COMMANDHANDLES) 880 0 R (PGTCL-COMMANDS-TABLE) 890 0 R (PGTCL-EXAMPLE) 891 0 R (PGTCL-EXAMPLESECT) 881 0 R (PGTCL-NULLVALUESTRING) 864 0 R (PGTCL-OVERVIEW) 844 0 R (PGTCL-PGBLOCKING) 862 0 R (PGTCL-PGCANCELREQUEST) 863 0 R (PGTCL-PGCONNDEFAULTS) 850 0 R (PGTCL-PGCONNECT) 847 0 R (PGTCL-PGCONNINFO) 848 0 R (PGTCL-PGDISCONNECT) 849 0 R (PGTCL-PGESCAPE-BYTEA) 867 0 R (PGTCL-PGESCAPE-STRING) 866 0 R (PGTCL-PGEXEC) 851 0 R (PGTCL-PGEXECPREPARED) 852 0 R (PGTCL-PGEXECUTE) 855 0 R (PGTCL-PGGETRESULT) 860 0 R (PGTCL-PGISBUSY) 861 0 R (PGTCL-PGLISTEN) 856 0 R (PGTCL-PGLOCLOSE) 871 0 R (PGTCL-PGLOCREAT) 869 0 R (PGTCL-PGLOEXPORT) 878 0 R (PGTCL-PGLOIMPORT) 877 0 R (PGTCL-PGLOLSEEK) 874 0 R (PGTCL-PGLOOPEN) 870 0 R (PGTCL-PGLOREAD) 872 0 R (PGTCL-PGLOTELL) 875 0 R (PGTCL-PGLOUNLINK) 876 0 R (PGTCL-PGLOWRITE) 873 0 R (PGTCL-PGON-CONNECTION-LOSS) 857 0 R (PGTCL-PGRESULT) 853 0 R (PGTCL-PGSELECT) 854 0 R (PGTCL-PGSENDQUERY) 858 0 R (PGTCL-PGSENDQUERYPREPARED) 859 0 R (PGTCL-PGUNESCAPE-BYTEA) 868 0 R (PGTCL-QUOTE) 865 0 R (PGTCL-TCLNAMESPACE) 879 0 R (page.1) 745 0 R (page.2) 754 0 R (page.3) 760 0 R (page.4) 885 0 R (page.5) 1181 0 R (table.1) 906 0 R] /Limits [(1.0) (table.1)] >> endobj 2473 0 obj << /Kids [2472 0 R] >> endobj 2474 0 obj << /Dests 2473 0 R >> endobj 2475 0 obj << /Type /Catalog /Pages 2470 0 R /Outlines 2471 0 R /Names 2474 0 R /PageMode /UseOutlines /URI<> /ViewerPreferences<<>> /OpenAction 741 0 R /PTEX.Fullbanner (This is pdfTeX, Version 3.14159-1.10b) >> endobj 2476 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.10b)/Keywords() /CreationDate (D:20051127072300) >> endobj xref 0 2477 0000000748 65535 f 0000000009 00000 n 0000014701 00000 n 0000266138 00000 n 0000000048 00000 n 0000000104 00000 n 0000074065 00000 n 0000266053 00000 n 0000000143 00000 n 0000000178 00000 n 0000078182 00000 n 0000265966 00000 n 0000000217 00000 n 0000000250 00000 n 0000078243 00000 n 0000265877 00000 n 0000000290 00000 n 0000000325 00000 n 0000080925 00000 n 0000265762 00000 n 0000000365 00000 n 0000000420 00000 n 0000081472 00000 n 0000265688 00000 n 0000000462 00000 n 0000000494 00000 n 0000085489 00000 n 0000265601 00000 n 0000000536 00000 n 0000000593 00000 n 0000090065 00000 n 0000265514 00000 n 0000000635 00000 n 0000000682 00000 n 0000090187 00000 n 0000265390 00000 n 0000000724 00000 n 0000000752 00000 n 0000090370 00000 n 0000265316 00000 n 0000000796 00000 n 0000000819 00000 n 0000090615 00000 n 0000265229 00000 n 0000000863 00000 n 0000000890 00000 n 0000095147 00000 n 0000265142 00000 n 0000000934 00000 n 0000000964 00000 n 0000095515 00000 n 0000265018 00000 n 0000001008 00000 n 0000001036 00000 n 0000095698 00000 n 0000264944 00000 n 0000001082 00000 n 0000001110 00000 n 0000108281 00000 n 0000264870 00000 n 0000001156 00000 n 0000001184 00000 n 0000111755 00000 n 0000264796 00000 n 0000001228 00000 n 0000001259 00000 n 0000113054 00000 n 0000264672 00000 n 0000001301 00000 n 0000001332 00000 n 0000113240 00000 n 0000264598 00000 n 0000001376 00000 n 0000001399 00000 n 0000113490 00000 n 0000264511 00000 n 0000001443 00000 n 0000001470 00000 n 0000113677 00000 n 0000264424 00000 n 0000001514 00000 n 0000001544 00000 n 0000113928 00000 n 0000264337 00000 n 0000001588 00000 n 0000001616 00000 n 0000114617 00000 n 0000264263 00000 n 0000001661 00000 n 0000001692 00000 n 0000115579 00000 n 0000264137 00000 n 0000001734 00000 n 0000001767 00000 n 0000115765 00000 n 0000264063 00000 n 0000001812 00000 n 0000001835 00000 n 0000116015 00000 n 0000263974 00000 n 0000001880 00000 n 0000001908 00000 n 0000116267 00000 n 0000263883 00000 n 0000001954 00000 n 0000001985 00000 n 0000116583 00000 n 0000263791 00000 n 0000002031 00000 n 0000002060 00000 n 0000117024 00000 n 0000263713 00000 n 0000002106 00000 n 0000002138 00000 n 0000118242 00000 n 0000263583 00000 n 0000002181 00000 n 0000002207 00000 n 0000118429 00000 n 0000263504 00000 n 0000002253 00000 n 0000002277 00000 n 0000118681 00000 n 0000263411 00000 n 0000002323 00000 n 0000002351 00000 n 0000118870 00000 n 0000263318 00000 n 0000002397 00000 n 0000002428 00000 n 0000119186 00000 n 0000263225 00000 n 0000002474 00000 n 0000002503 00000 n 0000119374 00000 n 0000263132 00000 n 0000002549 00000 n 0000002581 00000 n 0000245032 00000 n 0000263053 00000 n 0000002627 00000 n 0000002654 00000 n 0000121316 00000 n 0000262922 00000 n 0000002697 00000 n 0000002731 00000 n 0000121759 00000 n 0000262843 00000 n 0000002777 00000 n 0000002801 00000 n 0000122198 00000 n 0000262750 00000 n 0000002847 00000 n 0000002875 00000 n 0000122641 00000 n 0000262657 00000 n 0000002921 00000 n 0000002952 00000 n 0000123707 00000 n 0000262564 00000 n 0000002998 00000 n 0000003027 00000 n 0000124023 00000 n 0000262471 00000 n 0000003073 00000 n 0000003105 00000 n 0000245000 00000 n 0000262392 00000 n 0000003151 00000 n 0000003178 00000 n 0000125636 00000 n 0000262261 00000 n 0000003221 00000 n 0000003249 00000 n 0000126075 00000 n 0000262182 00000 n 0000003295 00000 n 0000003319 00000 n 0000126520 00000 n 0000262089 00000 n 0000003365 00000 n 0000003393 00000 n 0000127214 00000 n 0000261996 00000 n 0000003439 00000 n 0000003470 00000 n 0000128218 00000 n 0000261903 00000 n 0000003516 00000 n 0000003545 00000 n 0000128471 00000 n 0000261824 00000 n 0000003591 00000 n 0000003623 00000 n 0000130955 00000 n 0000261693 00000 n 0000003667 00000 n 0000003695 00000 n 0000131142 00000 n 0000261614 00000 n 0000003742 00000 n 0000003766 00000 n 0000131392 00000 n 0000261521 00000 n 0000003813 00000 n 0000003841 00000 n 0000131709 00000 n 0000261428 00000 n 0000003888 00000 n 0000003919 00000 n 0000132214 00000 n 0000261335 00000 n 0000003966 00000 n 0000003995 00000 n 0000146170 00000 n 0000261242 00000 n 0000004042 00000 n 0000004074 00000 n 0000244968 00000 n 0000261163 00000 n 0000004121 00000 n 0000004149 00000 n 0000147846 00000 n 0000261032 00000 n 0000004193 00000 n 0000004222 00000 n 0000148284 00000 n 0000260953 00000 n 0000004269 00000 n 0000004293 00000 n 0000148729 00000 n 0000260860 00000 n 0000004340 00000 n 0000004368 00000 n 0000150309 00000 n 0000260767 00000 n 0000004415 00000 n 0000004446 00000 n 0000152371 00000 n 0000260674 00000 n 0000004493 00000 n 0000004522 00000 n 0000152560 00000 n 0000260581 00000 n 0000004569 00000 n 0000004601 00000 n 0000244936 00000 n 0000260502 00000 n 0000004648 00000 n 0000004676 00000 n 0000155461 00000 n 0000260371 00000 n 0000004720 00000 n 0000004749 00000 n 0000155903 00000 n 0000260292 00000 n 0000004796 00000 n 0000004820 00000 n 0000156604 00000 n 0000260199 00000 n 0000004867 00000 n 0000004895 00000 n 0000158574 00000 n 0000260106 00000 n 0000004942 00000 n 0000004973 00000 n 0000161629 00000 n 0000260013 00000 n 0000005020 00000 n 0000005049 00000 n 0000161818 00000 n 0000259934 00000 n 0000005096 00000 n 0000005128 00000 n 0000164925 00000 n 0000259803 00000 n 0000005172 00000 n 0000005200 00000 n 0000165112 00000 n 0000259724 00000 n 0000005247 00000 n 0000005271 00000 n 0000165363 00000 n 0000259631 00000 n 0000005318 00000 n 0000005346 00000 n 0000165808 00000 n 0000259538 00000 n 0000005393 00000 n 0000005424 00000 n 0000167145 00000 n 0000259445 00000 n 0000005471 00000 n 0000005500 00000 n 0000168090 00000 n 0000259366 00000 n 0000005547 00000 n 0000005579 00000 n 0000169629 00000 n 0000259235 00000 n 0000005623 00000 n 0000005661 00000 n 0000169816 00000 n 0000259156 00000 n 0000005708 00000 n 0000005732 00000 n 0000170068 00000 n 0000259063 00000 n 0000005779 00000 n 0000005807 00000 n 0000170449 00000 n 0000258970 00000 n 0000005854 00000 n 0000005885 00000 n 0000171020 00000 n 0000258877 00000 n 0000005932 00000 n 0000005961 00000 n 0000171709 00000 n 0000258798 00000 n 0000006008 00000 n 0000006040 00000 n 0000173196 00000 n 0000258667 00000 n 0000006084 00000 n 0000006115 00000 n 0000173382 00000 n 0000258588 00000 n 0000006162 00000 n 0000006186 00000 n 0000173633 00000 n 0000258495 00000 n 0000006233 00000 n 0000006261 00000 n 0000173950 00000 n 0000258402 00000 n 0000006308 00000 n 0000006339 00000 n 0000174392 00000 n 0000258309 00000 n 0000006386 00000 n 0000006415 00000 n 0000175085 00000 n 0000258230 00000 n 0000006462 00000 n 0000006494 00000 n 0000176985 00000 n 0000258099 00000 n 0000006538 00000 n 0000006577 00000 n 0000177172 00000 n 0000258020 00000 n 0000006624 00000 n 0000006648 00000 n 0000177423 00000 n 0000257927 00000 n 0000006695 00000 n 0000006723 00000 n 0000177867 00000 n 0000257834 00000 n 0000006770 00000 n 0000006801 00000 n 0000178310 00000 n 0000257741 00000 n 0000006848 00000 n 0000006877 00000 n 0000179317 00000 n 0000257662 00000 n 0000006924 00000 n 0000006956 00000 n 0000180851 00000 n 0000257531 00000 n 0000007000 00000 n 0000007031 00000 n 0000181038 00000 n 0000257452 00000 n 0000007078 00000 n 0000007102 00000 n 0000181289 00000 n 0000257359 00000 n 0000007149 00000 n 0000007177 00000 n 0000181542 00000 n 0000257266 00000 n 0000007224 00000 n 0000007255 00000 n 0000182109 00000 n 0000257173 00000 n 0000007302 00000 n 0000007331 00000 n 0000182549 00000 n 0000257094 00000 n 0000007378 00000 n 0000007410 00000 n 0000183874 00000 n 0000256963 00000 n 0000007454 00000 n 0000007482 00000 n 0000184061 00000 n 0000256884 00000 n 0000007529 00000 n 0000007553 00000 n 0000184312 00000 n 0000256791 00000 n 0000007600 00000 n 0000007628 00000 n 0000184565 00000 n 0000256698 00000 n 0000007675 00000 n 0000007706 00000 n 0000184817 00000 n 0000256605 00000 n 0000007753 00000 n 0000007782 00000 n 0000185258 00000 n 0000256526 00000 n 0000007829 00000 n 0000007861 00000 n 0000186828 00000 n 0000256395 00000 n 0000007905 00000 n 0000007935 00000 n 0000187015 00000 n 0000256316 00000 n 0000007982 00000 n 0000008006 00000 n 0000187267 00000 n 0000256223 00000 n 0000008053 00000 n 0000008081 00000 n 0000187648 00000 n 0000256130 00000 n 0000008128 00000 n 0000008159 00000 n 0000187900 00000 n 0000256037 00000 n 0000008206 00000 n 0000008235 00000 n 0000188784 00000 n 0000255958 00000 n 0000008282 00000 n 0000008314 00000 n 0000190242 00000 n 0000255827 00000 n 0000008358 00000 n 0000008393 00000 n 0000190429 00000 n 0000255748 00000 n 0000008440 00000 n 0000008464 00000 n 0000190744 00000 n 0000255655 00000 n 0000008511 00000 n 0000008539 00000 n 0000190997 00000 n 0000255562 00000 n 0000008586 00000 n 0000008617 00000 n 0000191248 00000 n 0000255469 00000 n 0000008664 00000 n 0000008693 00000 n 0000191688 00000 n 0000255390 00000 n 0000008740 00000 n 0000008772 00000 n 0000193187 00000 n 0000255259 00000 n 0000008816 00000 n 0000008843 00000 n 0000193374 00000 n 0000255180 00000 n 0000008890 00000 n 0000008914 00000 n 0000193626 00000 n 0000255087 00000 n 0000008961 00000 n 0000008989 00000 n 0000193942 00000 n 0000254994 00000 n 0000009036 00000 n 0000009067 00000 n 0000194193 00000 n 0000254901 00000 n 0000009114 00000 n 0000009143 00000 n 0000194632 00000 n 0000254822 00000 n 0000009190 00000 n 0000009222 00000 n 0000196188 00000 n 0000254691 00000 n 0000009266 00000 n 0000009295 00000 n 0000196375 00000 n 0000254612 00000 n 0000009342 00000 n 0000009366 00000 n 0000196627 00000 n 0000254519 00000 n 0000009413 00000 n 0000009441 00000 n 0000196880 00000 n 0000254426 00000 n 0000009488 00000 n 0000009519 00000 n 0000197512 00000 n 0000254333 00000 n 0000009566 00000 n 0000009595 00000 n 0000197951 00000 n 0000254254 00000 n 0000009642 00000 n 0000009674 00000 n 0000199586 00000 n 0000254123 00000 n 0000009718 00000 n 0000009746 00000 n 0000199773 00000 n 0000254044 00000 n 0000009794 00000 n 0000009818 00000 n 0000200025 00000 n 0000253951 00000 n 0000009866 00000 n 0000009894 00000 n 0000200277 00000 n 0000253858 00000 n 0000009942 00000 n 0000009973 00000 n 0000200908 00000 n 0000253765 00000 n 0000010021 00000 n 0000010050 00000 n 0000201349 00000 n 0000253686 00000 n 0000010098 00000 n 0000010130 00000 n 0000202435 00000 n 0000253555 00000 n 0000010174 00000 n 0000010203 00000 n 0000202622 00000 n 0000253476 00000 n 0000010251 00000 n 0000010275 00000 n 0000202873 00000 n 0000253383 00000 n 0000010323 00000 n 0000010351 00000 n 0000203126 00000 n 0000253290 00000 n 0000010399 00000 n 0000010430 00000 n 0000203503 00000 n 0000253197 00000 n 0000010478 00000 n 0000010507 00000 n 0000203944 00000 n 0000253118 00000 n 0000010555 00000 n 0000010587 00000 n 0000204922 00000 n 0000252987 00000 n 0000010631 00000 n 0000010659 00000 n 0000205109 00000 n 0000252908 00000 n 0000010707 00000 n 0000010731 00000 n 0000205360 00000 n 0000252815 00000 n 0000010779 00000 n 0000010807 00000 n 0000205613 00000 n 0000252722 00000 n 0000010855 00000 n 0000010886 00000 n 0000205864 00000 n 0000252629 00000 n 0000010934 00000 n 0000010963 00000 n 0000206303 00000 n 0000252550 00000 n 0000011011 00000 n 0000011043 00000 n 0000207513 00000 n 0000252419 00000 n 0000011087 00000 n 0000011116 00000 n 0000207699 00000 n 0000252340 00000 n 0000011164 00000 n 0000011188 00000 n 0000207950 00000 n 0000252247 00000 n 0000011236 00000 n 0000011264 00000 n 0000208267 00000 n 0000252154 00000 n 0000011312 00000 n 0000011343 00000 n 0000208518 00000 n 0000252061 00000 n 0000011391 00000 n 0000011420 00000 n 0000209528 00000 n 0000251982 00000 n 0000011468 00000 n 0000011500 00000 n 0000210657 00000 n 0000251851 00000 n 0000011544 00000 n 0000011573 00000 n 0000210844 00000 n 0000251772 00000 n 0000011621 00000 n 0000011645 00000 n 0000211095 00000 n 0000251679 00000 n 0000011693 00000 n 0000011721 00000 n 0000211476 00000 n 0000251586 00000 n 0000011769 00000 n 0000011800 00000 n 0000211727 00000 n 0000251493 00000 n 0000011848 00000 n 0000011877 00000 n 0000212859 00000 n 0000251414 00000 n 0000011925 00000 n 0000011957 00000 n 0000213894 00000 n 0000251283 00000 n 0000012001 00000 n 0000012029 00000 n 0000214081 00000 n 0000251204 00000 n 0000012077 00000 n 0000012101 00000 n 0000214332 00000 n 0000251111 00000 n 0000012149 00000 n 0000012177 00000 n 0000214649 00000 n 0000251018 00000 n 0000012225 00000 n 0000012256 00000 n 0000214900 00000 n 0000250925 00000 n 0000012304 00000 n 0000012333 00000 n 0000215656 00000 n 0000250846 00000 n 0000012381 00000 n 0000012413 00000 n 0000217007 00000 n 0000250715 00000 n 0000012457 00000 n 0000012487 00000 n 0000217194 00000 n 0000250636 00000 n 0000012535 00000 n 0000012559 00000 n 0000217445 00000 n 0000250543 00000 n 0000012607 00000 n 0000012635 00000 n 0000217889 00000 n 0000250450 00000 n 0000012683 00000 n 0000012714 00000 n 0000218268 00000 n 0000250357 00000 n 0000012762 00000 n 0000012791 00000 n 0000219527 00000 n 0000250278 00000 n 0000012839 00000 n 0000012871 00000 n 0000220921 00000 n 0000250147 00000 n 0000012915 00000 n 0000012945 00000 n 0000221108 00000 n 0000250068 00000 n 0000012993 00000 n 0000013017 00000 n 0000221360 00000 n 0000249975 00000 n 0000013065 00000 n 0000013093 00000 n 0000221805 00000 n 0000249882 00000 n 0000013141 00000 n 0000013172 00000 n 0000222184 00000 n 0000249789 00000 n 0000013220 00000 n 0000013249 00000 n 0000223445 00000 n 0000249696 00000 n 0000013297 00000 n 0000013329 00000 n 0000244904 00000 n 0000249617 00000 n 0000013377 00000 n 0000013402 00000 n 0000224788 00000 n 0000249486 00000 n 0000013446 00000 n 0000013476 00000 n 0000225227 00000 n 0000249407 00000 n 0000013524 00000 n 0000013548 00000 n 0000225672 00000 n 0000249314 00000 n 0000013596 00000 n 0000013624 00000 n 0000226051 00000 n 0000249221 00000 n 0000013672 00000 n 0000013703 00000 n 0000227501 00000 n 0000249128 00000 n 0000013751 00000 n 0000013780 00000 n 0000244872 00000 n 0000249035 00000 n 0000013828 00000 n 0000013860 00000 n 0000244840 00000 n 0000248956 00000 n 0000013908 00000 n 0000013933 00000 n 0000228645 00000 n 0000248878 00000 n 0000013977 00000 n 0000014017 00000 n 0000014398 00000 n 0000014761 00000 n 0000014069 00000 n 0000014518 00000 n 0000014579 00000 n 0000014640 00000 n 0000000755 00000 f 0000247341 00000 n 0000247437 00000 n 0000015330 00000 n 0000015149 00000 n 0000014833 00000 n 0000015269 00000 n 0000000762 00000 f 0000247248 00000 n 0000074125 00000 n 0000060838 00000 n 0000015415 00000 n 0000074004 00000 n 0000061594 00000 n 0000000841 00000 f 0000247156 00000 n 0000061744 00000 n 0000061894 00000 n 0000062051 00000 n 0000062208 00000 n 0000062367 00000 n 0000062526 00000 n 0000062681 00000 n 0000062836 00000 n 0000062992 00000 n 0000063150 00000 n 0000063308 00000 n 0000063465 00000 n 0000063625 00000 n 0000063785 00000 n 0000063948 00000 n 0000064111 00000 n 0000064266 00000 n 0000064421 00000 n 0000064584 00000 n 0000064747 00000 n 0000064904 00000 n 0000065061 00000 n 0000065218 00000 n 0000065375 00000 n 0000065532 00000 n 0000065689 00000 n 0000065845 00000 n 0000066001 00000 n 0000066170 00000 n 0000066339 00000 n 0000066499 00000 n 0000066659 00000 n 0000066827 00000 n 0000066995 00000 n 0000067155 00000 n 0000067315 00000 n 0000067472 00000 n 0000067629 00000 n 0000067787 00000 n 0000067945 00000 n 0000068108 00000 n 0000068271 00000 n 0000068435 00000 n 0000068598 00000 n 0000068752 00000 n 0000068905 00000 n 0000069069 00000 n 0000069233 00000 n 0000069396 00000 n 0000069558 00000 n 0000069723 00000 n 0000069887 00000 n 0000070044 00000 n 0000070201 00000 n 0000070357 00000 n 0000070513 00000 n 0000070671 00000 n 0000070829 00000 n 0000070986 00000 n 0000071143 00000 n 0000071301 00000 n 0000071459 00000 n 0000071617 00000 n 0000071775 00000 n 0000071931 00000 n 0000072088 00000 n 0000072246 00000 n 0000072404 00000 n 0000072562 00000 n 0000072720 00000 n 0000072879 00000 n 0000073038 00000 n 0000073199 00000 n 0000073359 00000 n 0000073522 00000 n 0000073684 00000 n 0000073844 00000 n 0000000907 00000 f 0000247062 00000 n 0000080864 00000 n 0000081411 00000 n 0000085429 00000 n 0000090004 00000 n 0000090126 00000 n 0000112992 00000 n 0000115517 00000 n 0000118180 00000 n 0000121254 00000 n 0000125574 00000 n 0000130893 00000 n 0000147784 00000 n 0000155399 00000 n 0000164863 00000 n 0000169567 00000 n 0000173134 00000 n 0000176923 00000 n 0000180789 00000 n 0000183812 00000 n 0000186766 00000 n 0000190180 00000 n 0000193125 00000 n 0000196126 00000 n 0000199524 00000 n 0000202373 00000 n 0000204860 00000 n 0000207451 00000 n 0000210595 00000 n 0000213832 00000 n 0000216945 00000 n 0000220859 00000 n 0000224726 00000 n 0000228583 00000 n 0000231430 00000 n 0000234311 00000 n 0000237567 00000 n 0000242559 00000 n 0000243002 00000 n 0000243446 00000 n 0000078304 00000 n 0000077321 00000 n 0000074236 00000 n 0000078121 00000 n 0000077485 00000 n 0000077647 00000 n 0000077809 00000 n 0000077965 00000 n 0000081656 00000 n 0000243698 00000 n 0000081839 00000 n 0000080561 00000 n 0000078402 00000 n 0000080985 00000 n 0000081046 00000 n 0000081107 00000 n 0000081168 00000 n 0000081229 00000 n 0000081290 00000 n 0000081350 00000 n 0000081533 00000 n 0000080701 00000 n 0000081594 00000 n 0000081717 00000 n 0000081778 00000 n 0000000967 00000 f 0000246973 00000 n 0000085734 00000 n 0000084505 00000 n 0000081963 00000 n 0000084625 00000 n 0000084686 00000 n 0000084748 00000 n 0000084810 00000 n 0000084872 00000 n 0000084934 00000 n 0000084996 00000 n 0000085057 00000 n 0000085119 00000 n 0000085181 00000 n 0000085243 00000 n 0000085305 00000 n 0000085367 00000 n 0000085550 00000 n 0000085611 00000 n 0000085672 00000 n 0000091911 00000 n 0000088099 00000 n 0000085845 00000 n 0000088219 00000 n 0000088281 00000 n 0000088342 00000 n 0000088403 00000 n 0000088465 00000 n 0000088527 00000 n 0000088589 00000 n 0000088650 00000 n 0000088710 00000 n 0000088772 00000 n 0000088833 00000 n 0000088895 00000 n 0000088957 00000 n 0000089019 00000 n 0000089081 00000 n 0000089142 00000 n 0000089202 00000 n 0000089264 00000 n 0000089326 00000 n 0000089388 00000 n 0000089450 00000 n 0000089512 00000 n 0000089573 00000 n 0000089634 00000 n 0000089696 00000 n 0000089758 00000 n 0000089819 00000 n 0000089881 00000 n 0000089943 00000 n 0000090248 00000 n 0000090309 00000 n 0000090431 00000 n 0000090493 00000 n 0000090554 00000 n 0000090676 00000 n 0000090736 00000 n 0000000000 00000 f 0000246876 00000 n 0000090798 00000 n 0000090860 00000 n 0000090922 00000 n 0000090984 00000 n 0000091046 00000 n 0000091108 00000 n 0000091170 00000 n 0000091232 00000 n 0000091294 00000 n 0000091356 00000 n 0000091418 00000 n 0000091480 00000 n 0000091542 00000 n 0000091604 00000 n 0000091666 00000 n 0000091728 00000 n 0000091790 00000 n 0000091851 00000 n 0000247555 00000 n 0000098756 00000 n 0000094967 00000 n 0000092035 00000 n 0000095087 00000 n 0000095208 00000 n 0000095269 00000 n 0000095330 00000 n 0000095392 00000 n 0000095454 00000 n 0000095576 00000 n 0000095637 00000 n 0000095759 00000 n 0000095820 00000 n 0000095882 00000 n 0000095944 00000 n 0000096005 00000 n 0000096066 00000 n 0000096129 00000 n 0000096192 00000 n 0000096252 00000 n 0000096315 00000 n 0000096378 00000 n 0000096441 00000 n 0000096503 00000 n 0000096566 00000 n 0000096629 00000 n 0000096692 00000 n 0000096755 00000 n 0000096816 00000 n 0000096879 00000 n 0000096941 00000 n 0000097003 00000 n 0000097065 00000 n 0000097127 00000 n 0000097190 00000 n 0000097253 00000 n 0000097316 00000 n 0000097378 00000 n 0000097440 00000 n 0000097502 00000 n 0000097564 00000 n 0000097627 00000 n 0000097688 00000 n 0000097750 00000 n 0000097813 00000 n 0000097876 00000 n 0000097939 00000 n 0000098002 00000 n 0000098065 00000 n 0000098128 00000 n 0000098191 00000 n 0000098254 00000 n 0000098317 00000 n 0000098380 00000 n 0000098443 00000 n 0000098504 00000 n 0000098567 00000 n 0000098630 00000 n 0000098693 00000 n 0000105831 00000 n 0000100962 00000 n 0000098880 00000 n 0000101085 00000 n 0000101148 00000 n 0000101212 00000 n 0000101275 00000 n 0000101338 00000 n 0000101402 00000 n 0000101465 00000 n 0000101528 00000 n 0000101591 00000 n 0000101654 00000 n 0000101716 00000 n 0000101778 00000 n 0000101840 00000 n 0000101903 00000 n 0000101966 00000 n 0000102029 00000 n 0000102092 00000 n 0000102155 00000 n 0000102218 00000 n 0000102281 00000 n 0000102344 00000 n 0000102407 00000 n 0000102470 00000 n 0000102533 00000 n 0000102596 00000 n 0000102659 00000 n 0000102722 00000 n 0000102784 00000 n 0000102846 00000 n 0000102909 00000 n 0000102972 00000 n 0000103035 00000 n 0000103098 00000 n 0000103161 00000 n 0000103223 00000 n 0000103287 00000 n 0000103351 00000 n 0000103415 00000 n 0000103479 00000 n 0000103543 00000 n 0000103607 00000 n 0000103671 00000 n 0000103735 00000 n 0000103799 00000 n 0000103863 00000 n 0000103927 00000 n 0000103990 00000 n 0000104054 00000 n 0000104118 00000 n 0000104182 00000 n 0000104242 00000 n 0000104306 00000 n 0000104370 00000 n 0000104434 00000 n 0000104497 00000 n 0000104560 00000 n 0000104623 00000 n 0000104686 00000 n 0000104749 00000 n 0000104812 00000 n 0000104876 00000 n 0000104939 00000 n 0000105003 00000 n 0000105067 00000 n 0000105131 00000 n 0000105195 00000 n 0000105259 00000 n 0000105323 00000 n 0000105387 00000 n 0000105450 00000 n 0000105513 00000 n 0000105576 00000 n 0000105639 00000 n 0000105703 00000 n 0000105767 00000 n 0000110930 00000 n 0000107589 00000 n 0000105943 00000 n 0000107712 00000 n 0000107775 00000 n 0000107838 00000 n 0000107902 00000 n 0000107965 00000 n 0000108028 00000 n 0000108091 00000 n 0000108155 00000 n 0000108218 00000 n 0000108342 00000 n 0000108405 00000 n 0000108468 00000 n 0000108531 00000 n 0000108594 00000 n 0000108657 00000 n 0000108720 00000 n 0000108784 00000 n 0000108847 00000 n 0000108910 00000 n 0000108973 00000 n 0000109036 00000 n 0000109100 00000 n 0000109162 00000 n 0000109225 00000 n 0000109288 00000 n 0000109351 00000 n 0000109415 00000 n 0000109478 00000 n 0000109541 00000 n 0000109605 00000 n 0000109668 00000 n 0000109731 00000 n 0000109794 00000 n 0000109857 00000 n 0000109920 00000 n 0000109983 00000 n 0000110046 00000 n 0000110109 00000 n 0000110172 00000 n 0000110235 00000 n 0000110298 00000 n 0000110361 00000 n 0000110425 00000 n 0000110488 00000 n 0000110551 00000 n 0000110614 00000 n 0000110677 00000 n 0000110740 00000 n 0000110803 00000 n 0000110867 00000 n 0000111943 00000 n 0000111443 00000 n 0000111055 00000 n 0000111566 00000 n 0000111629 00000 n 0000111692 00000 n 0000111817 00000 n 0000111879 00000 n 0000114742 00000 n 0000112869 00000 n 0000112055 00000 n 0000113116 00000 n 0000113178 00000 n 0000113301 00000 n 0000113364 00000 n 0000113427 00000 n 0000113552 00000 n 0000113615 00000 n 0000113739 00000 n 0000113802 00000 n 0000113865 00000 n 0000113990 00000 n 0000114053 00000 n 0000114115 00000 n 0000114177 00000 n 0000114239 00000 n 0000114302 00000 n 0000114365 00000 n 0000114428 00000 n 0000114491 00000 n 0000114554 00000 n 0000114679 00000 n 0000117150 00000 n 0000115393 00000 n 0000114867 00000 n 0000115641 00000 n 0000115703 00000 n 0000115826 00000 n 0000115889 00000 n 0000115952 00000 n 0000116077 00000 n 0000116140 00000 n 0000116204 00000 n 0000116330 00000 n 0000116393 00000 n 0000116456 00000 n 0000116520 00000 n 0000116646 00000 n 0000116709 00000 n 0000116772 00000 n 0000116835 00000 n 0000116898 00000 n 0000116961 00000 n 0000117087 00000 n 0000247677 00000 n 0000119691 00000 n 0000118056 00000 n 0000117275 00000 n 0000118305 00000 n 0000118367 00000 n 0000118491 00000 n 0000118555 00000 n 0000118618 00000 n 0000118744 00000 n 0000118807 00000 n 0000118933 00000 n 0000118996 00000 n 0000119059 00000 n 0000119123 00000 n 0000119248 00000 n 0000119311 00000 n 0000119437 00000 n 0000119500 00000 n 0000119563 00000 n 0000119627 00000 n 0000124212 00000 n 0000121130 00000 n 0000119816 00000 n 0000121379 00000 n 0000121442 00000 n 0000121505 00000 n 0000121569 00000 n 0000121633 00000 n 0000121696 00000 n 0000121822 00000 n 0000121885 00000 n 0000121947 00000 n 0000122010 00000 n 0000122073 00000 n 0000122136 00000 n 0000122261 00000 n 0000122324 00000 n 0000122387 00000 n 0000122451 00000 n 0000122514 00000 n 0000122578 00000 n 0000122704 00000 n 0000122766 00000 n 0000122829 00000 n 0000122892 00000 n 0000122955 00000 n 0000123018 00000 n 0000123080 00000 n 0000123142 00000 n 0000123205 00000 n 0000123268 00000 n 0000123331 00000 n 0000123394 00000 n 0000123457 00000 n 0000123520 00000 n 0000123582 00000 n 0000123644 00000 n 0000123770 00000 n 0000123832 00000 n 0000123896 00000 n 0000123960 00000 n 0000124086 00000 n 0000124149 00000 n 0000128660 00000 n 0000125450 00000 n 0000124337 00000 n 0000125699 00000 n 0000125761 00000 n 0000125823 00000 n 0000125885 00000 n 0000125949 00000 n 0000126012 00000 n 0000126138 00000 n 0000126201 00000 n 0000126265 00000 n 0000126329 00000 n 0000126393 00000 n 0000126457 00000 n 0000126582 00000 n 0000126645 00000 n 0000126708 00000 n 0000126772 00000 n 0000126835 00000 n 0000126898 00000 n 0000126962 00000 n 0000127025 00000 n 0000127088 00000 n 0000127152 00000 n 0000127277 00000 n 0000127340 00000 n 0000127403 00000 n 0000127466 00000 n 0000127529 00000 n 0000127592 00000 n 0000127655 00000 n 0000127718 00000 n 0000127781 00000 n 0000127844 00000 n 0000127906 00000 n 0000127968 00000 n 0000128031 00000 n 0000128093 00000 n 0000128155 00000 n 0000128281 00000 n 0000128344 00000 n 0000128408 00000 n 0000128534 00000 n 0000128597 00000 n 0000129231 00000 n 0000129107 00000 n 0000128785 00000 n 0000135114 00000 n 0000130769 00000 n 0000129317 00000 n 0000131018 00000 n 0000131080 00000 n 0000131203 00000 n 0000131266 00000 n 0000131329 00000 n 0000131455 00000 n 0000131518 00000 n 0000131582 00000 n 0000131646 00000 n 0000131771 00000 n 0000131834 00000 n 0000131897 00000 n 0000131960 00000 n 0000132023 00000 n 0000132087 00000 n 0000132151 00000 n 0000132277 00000 n 0000132340 00000 n 0000132403 00000 n 0000132466 00000 n 0000132529 00000 n 0000132592 00000 n 0000132655 00000 n 0000132718 00000 n 0000132781 00000 n 0000132844 00000 n 0000132907 00000 n 0000132969 00000 n 0000133031 00000 n 0000133094 00000 n 0000133157 00000 n 0000133220 00000 n 0000133283 00000 n 0000133346 00000 n 0000133408 00000 n 0000133471 00000 n 0000133534 00000 n 0000133597 00000 n 0000133660 00000 n 0000133723 00000 n 0000133786 00000 n 0000133849 00000 n 0000133912 00000 n 0000133975 00000 n 0000134038 00000 n 0000134102 00000 n 0000134166 00000 n 0000134230 00000 n 0000134294 00000 n 0000134357 00000 n 0000134421 00000 n 0000134485 00000 n 0000134548 00000 n 0000134611 00000 n 0000134674 00000 n 0000134737 00000 n 0000134799 00000 n 0000134862 00000 n 0000134925 00000 n 0000134988 00000 n 0000135051 00000 n 0000140676 00000 n 0000136714 00000 n 0000135239 00000 n 0000136838 00000 n 0000136901 00000 n 0000136964 00000 n 0000137027 00000 n 0000137090 00000 n 0000137153 00000 n 0000137216 00000 n 0000137279 00000 n 0000137342 00000 n 0000137405 00000 n 0000137468 00000 n 0000137531 00000 n 0000137594 00000 n 0000137657 00000 n 0000137720 00000 n 0000137783 00000 n 0000137846 00000 n 0000137909 00000 n 0000137972 00000 n 0000138035 00000 n 0000138098 00000 n 0000138161 00000 n 0000138224 00000 n 0000138287 00000 n 0000138349 00000 n 0000138411 00000 n 0000138474 00000 n 0000138537 00000 n 0000138600 00000 n 0000138663 00000 n 0000138726 00000 n 0000138788 00000 n 0000138851 00000 n 0000138914 00000 n 0000138977 00000 n 0000139040 00000 n 0000139102 00000 n 0000139164 00000 n 0000139227 00000 n 0000139290 00000 n 0000139354 00000 n 0000139417 00000 n 0000139480 00000 n 0000139543 00000 n 0000139606 00000 n 0000139669 00000 n 0000139732 00000 n 0000139795 00000 n 0000139858 00000 n 0000139922 00000 n 0000139984 00000 n 0000140046 00000 n 0000140109 00000 n 0000140172 00000 n 0000140235 00000 n 0000140298 00000 n 0000140360 00000 n 0000140422 00000 n 0000140486 00000 n 0000140549 00000 n 0000140612 00000 n 0000247802 00000 n 0000146296 00000 n 0000142511 00000 n 0000140788 00000 n 0000142635 00000 n 0000142698 00000 n 0000142761 00000 n 0000142825 00000 n 0000142889 00000 n 0000142953 00000 n 0000143016 00000 n 0000143079 00000 n 0000143142 00000 n 0000143206 00000 n 0000143269 00000 n 0000143332 00000 n 0000143396 00000 n 0000143459 00000 n 0000143522 00000 n 0000143584 00000 n 0000143646 00000 n 0000143710 00000 n 0000143774 00000 n 0000143837 00000 n 0000143900 00000 n 0000143964 00000 n 0000144027 00000 n 0000144090 00000 n 0000144153 00000 n 0000144216 00000 n 0000144279 00000 n 0000144342 00000 n 0000144405 00000 n 0000144468 00000 n 0000144532 00000 n 0000144595 00000 n 0000144658 00000 n 0000144721 00000 n 0000144784 00000 n 0000144846 00000 n 0000144908 00000 n 0000144971 00000 n 0000145034 00000 n 0000145097 00000 n 0000145160 00000 n 0000145223 00000 n 0000145285 00000 n 0000145349 00000 n 0000145413 00000 n 0000145476 00000 n 0000145539 00000 n 0000145602 00000 n 0000145665 00000 n 0000145728 00000 n 0000145791 00000 n 0000145855 00000 n 0000145918 00000 n 0000145981 00000 n 0000146044 00000 n 0000146107 00000 n 0000146233 00000 n 0000151252 00000 n 0000147660 00000 n 0000146421 00000 n 0000147909 00000 n 0000147971 00000 n 0000148033 00000 n 0000148095 00000 n 0000148158 00000 n 0000148221 00000 n 0000148347 00000 n 0000148410 00000 n 0000148474 00000 n 0000148538 00000 n 0000148602 00000 n 0000148666 00000 n 0000148791 00000 n 0000148854 00000 n 0000148917 00000 n 0000148981 00000 n 0000149045 00000 n 0000149109 00000 n 0000149172 00000 n 0000149236 00000 n 0000149300 00000 n 0000149363 00000 n 0000149426 00000 n 0000149490 00000 n 0000149553 00000 n 0000149616 00000 n 0000149679 00000 n 0000149742 00000 n 0000149805 00000 n 0000149868 00000 n 0000149931 00000 n 0000149994 00000 n 0000150057 00000 n 0000150120 00000 n 0000150183 00000 n 0000150246 00000 n 0000150371 00000 n 0000150434 00000 n 0000150497 00000 n 0000150560 00000 n 0000150623 00000 n 0000150686 00000 n 0000150749 00000 n 0000150812 00000 n 0000150875 00000 n 0000150938 00000 n 0000151001 00000 n 0000151064 00000 n 0000151127 00000 n 0000151190 00000 n 0000152941 00000 n 0000151996 00000 n 0000151377 00000 n 0000152120 00000 n 0000152183 00000 n 0000152246 00000 n 0000152308 00000 n 0000152434 00000 n 0000152497 00000 n 0000152623 00000 n 0000152686 00000 n 0000152750 00000 n 0000152814 00000 n 0000152878 00000 n 0000159832 00000 n 0000155275 00000 n 0000153066 00000 n 0000155524 00000 n 0000155587 00000 n 0000155650 00000 n 0000155714 00000 n 0000155777 00000 n 0000155840 00000 n 0000155966 00000 n 0000156029 00000 n 0000156093 00000 n 0000156157 00000 n 0000156221 00000 n 0000156285 00000 n 0000156349 00000 n 0000156413 00000 n 0000156477 00000 n 0000156541 00000 n 0000156667 00000 n 0000156730 00000 n 0000156793 00000 n 0000156857 00000 n 0000156920 00000 n 0000156984 00000 n 0000157048 00000 n 0000157112 00000 n 0000157176 00000 n 0000157239 00000 n 0000157303 00000 n 0000157367 00000 n 0000157431 00000 n 0000157495 00000 n 0000157558 00000 n 0000157622 00000 n 0000157686 00000 n 0000157749 00000 n 0000157813 00000 n 0000157877 00000 n 0000157941 00000 n 0000158005 00000 n 0000158067 00000 n 0000158129 00000 n 0000158193 00000 n 0000158257 00000 n 0000158320 00000 n 0000158384 00000 n 0000158448 00000 n 0000158511 00000 n 0000158637 00000 n 0000158700 00000 n 0000158763 00000 n 0000158826 00000 n 0000158889 00000 n 0000158951 00000 n 0000159014 00000 n 0000159077 00000 n 0000159140 00000 n 0000159203 00000 n 0000159266 00000 n 0000159330 00000 n 0000159393 00000 n 0000159456 00000 n 0000159520 00000 n 0000159582 00000 n 0000159644 00000 n 0000159707 00000 n 0000159770 00000 n 0000162959 00000 n 0000161002 00000 n 0000159957 00000 n 0000161126 00000 n 0000161189 00000 n 0000161252 00000 n 0000161314 00000 n 0000161377 00000 n 0000161440 00000 n 0000161503 00000 n 0000161566 00000 n 0000161692 00000 n 0000161755 00000 n 0000161881 00000 n 0000161944 00000 n 0000162007 00000 n 0000162070 00000 n 0000162134 00000 n 0000162197 00000 n 0000162260 00000 n 0000162324 00000 n 0000162388 00000 n 0000162451 00000 n 0000162514 00000 n 0000162578 00000 n 0000162642 00000 n 0000162705 00000 n 0000162768 00000 n 0000162832 00000 n 0000162896 00000 n 0000168216 00000 n 0000164739 00000 n 0000163084 00000 n 0000164988 00000 n 0000165050 00000 n 0000165174 00000 n 0000165237 00000 n 0000165300 00000 n 0000165426 00000 n 0000165489 00000 n 0000165553 00000 n 0000165617 00000 n 0000165681 00000 n 0000165745 00000 n 0000165871 00000 n 0000165934 00000 n 0000165997 00000 n 0000166061 00000 n 0000166125 00000 n 0000166189 00000 n 0000166252 00000 n 0000166316 00000 n 0000166380 00000 n 0000166444 00000 n 0000166508 00000 n 0000166572 00000 n 0000166636 00000 n 0000166699 00000 n 0000166763 00000 n 0000166827 00000 n 0000166890 00000 n 0000166954 00000 n 0000167018 00000 n 0000167082 00000 n 0000167208 00000 n 0000167271 00000 n 0000167334 00000 n 0000167397 00000 n 0000167460 00000 n 0000167523 00000 n 0000167586 00000 n 0000167649 00000 n 0000167712 00000 n 0000167775 00000 n 0000167838 00000 n 0000167901 00000 n 0000167964 00000 n 0000168027 00000 n 0000168153 00000 n 0000247927 00000 n 0000171835 00000 n 0000169443 00000 n 0000168341 00000 n 0000169692 00000 n 0000169754 00000 n 0000169878 00000 n 0000169942 00000 n 0000170005 00000 n 0000170131 00000 n 0000170194 00000 n 0000170258 00000 n 0000170322 00000 n 0000170386 00000 n 0000170512 00000 n 0000170575 00000 n 0000170638 00000 n 0000170702 00000 n 0000170766 00000 n 0000170829 00000 n 0000170893 00000 n 0000170957 00000 n 0000171083 00000 n 0000171146 00000 n 0000171209 00000 n 0000171272 00000 n 0000171335 00000 n 0000171398 00000 n 0000171459 00000 n 0000171520 00000 n 0000171583 00000 n 0000171646 00000 n 0000171772 00000 n 0000175402 00000 n 0000173010 00000 n 0000171960 00000 n 0000173258 00000 n 0000173320 00000 n 0000173443 00000 n 0000173507 00000 n 0000173570 00000 n 0000173696 00000 n 0000173759 00000 n 0000173823 00000 n 0000173887 00000 n 0000174012 00000 n 0000174075 00000 n 0000174138 00000 n 0000174202 00000 n 0000174266 00000 n 0000174329 00000 n 0000174455 00000 n 0000174518 00000 n 0000174581 00000 n 0000174644 00000 n 0000174707 00000 n 0000174770 00000 n 0000174833 00000 n 0000174896 00000 n 0000174959 00000 n 0000175022 00000 n 0000175148 00000 n 0000175211 00000 n 0000175275 00000 n 0000175338 00000 n 0000179634 00000 n 0000176799 00000 n 0000175527 00000 n 0000177048 00000 n 0000177110 00000 n 0000177233 00000 n 0000177297 00000 n 0000177360 00000 n 0000177486 00000 n 0000177548 00000 n 0000177612 00000 n 0000177676 00000 n 0000177740 00000 n 0000177804 00000 n 0000177930 00000 n 0000177993 00000 n 0000178056 00000 n 0000178120 00000 n 0000178184 00000 n 0000178247 00000 n 0000178373 00000 n 0000178436 00000 n 0000178499 00000 n 0000178562 00000 n 0000178625 00000 n 0000178688 00000 n 0000178751 00000 n 0000178814 00000 n 0000178877 00000 n 0000178940 00000 n 0000179003 00000 n 0000179066 00000 n 0000179128 00000 n 0000179191 00000 n 0000179254 00000 n 0000179380 00000 n 0000179443 00000 n 0000179507 00000 n 0000179570 00000 n 0000182866 00000 n 0000180665 00000 n 0000179759 00000 n 0000180914 00000 n 0000180976 00000 n 0000181099 00000 n 0000181163 00000 n 0000181226 00000 n 0000181352 00000 n 0000181415 00000 n 0000181479 00000 n 0000181604 00000 n 0000181667 00000 n 0000181730 00000 n 0000181794 00000 n 0000181857 00000 n 0000181921 00000 n 0000181984 00000 n 0000182047 00000 n 0000182172 00000 n 0000182235 00000 n 0000182298 00000 n 0000182361 00000 n 0000182424 00000 n 0000182487 00000 n 0000182612 00000 n 0000182675 00000 n 0000182739 00000 n 0000182802 00000 n 0000185573 00000 n 0000183688 00000 n 0000182991 00000 n 0000183937 00000 n 0000183999 00000 n 0000184123 00000 n 0000184186 00000 n 0000184249 00000 n 0000184375 00000 n 0000184438 00000 n 0000184502 00000 n 0000184628 00000 n 0000184691 00000 n 0000184754 00000 n 0000184880 00000 n 0000184943 00000 n 0000185006 00000 n 0000185069 00000 n 0000185132 00000 n 0000185195 00000 n 0000185321 00000 n 0000185384 00000 n 0000185446 00000 n 0000185509 00000 n 0000189227 00000 n 0000186642 00000 n 0000185698 00000 n 0000186891 00000 n 0000186953 00000 n 0000187077 00000 n 0000187141 00000 n 0000187204 00000 n 0000187330 00000 n 0000187393 00000 n 0000187457 00000 n 0000187521 00000 n 0000187585 00000 n 0000187711 00000 n 0000187774 00000 n 0000187837 00000 n 0000187962 00000 n 0000188025 00000 n 0000188088 00000 n 0000188151 00000 n 0000188214 00000 n 0000188277 00000 n 0000188340 00000 n 0000188403 00000 n 0000188466 00000 n 0000188529 00000 n 0000188593 00000 n 0000188657 00000 n 0000188721 00000 n 0000188847 00000 n 0000188910 00000 n 0000188974 00000 n 0000189038 00000 n 0000189101 00000 n 0000189164 00000 n 0000248052 00000 n 0000191814 00000 n 0000190056 00000 n 0000189352 00000 n 0000190305 00000 n 0000190367 00000 n 0000190490 00000 n 0000190554 00000 n 0000190618 00000 n 0000190681 00000 n 0000190807 00000 n 0000190870 00000 n 0000190934 00000 n 0000191059 00000 n 0000191122 00000 n 0000191185 00000 n 0000191311 00000 n 0000191373 00000 n 0000191436 00000 n 0000191499 00000 n 0000191562 00000 n 0000191625 00000 n 0000191751 00000 n 0000194758 00000 n 0000193001 00000 n 0000191939 00000 n 0000193250 00000 n 0000193312 00000 n 0000193436 00000 n 0000193500 00000 n 0000193563 00000 n 0000193689 00000 n 0000193751 00000 n 0000193815 00000 n 0000193879 00000 n 0000194005 00000 n 0000194068 00000 n 0000194131 00000 n 0000194256 00000 n 0000194319 00000 n 0000194382 00000 n 0000194445 00000 n 0000194508 00000 n 0000194571 00000 n 0000194695 00000 n 0000198077 00000 n 0000196002 00000 n 0000194883 00000 n 0000196249 00000 n 0000196312 00000 n 0000196438 00000 n 0000196501 00000 n 0000196564 00000 n 0000196690 00000 n 0000196753 00000 n 0000196817 00000 n 0000196943 00000 n 0000197006 00000 n 0000197069 00000 n 0000197132 00000 n 0000197195 00000 n 0000197259 00000 n 0000197323 00000 n 0000197386 00000 n 0000197449 00000 n 0000197575 00000 n 0000197637 00000 n 0000197700 00000 n 0000197763 00000 n 0000197825 00000 n 0000197888 00000 n 0000198014 00000 n 0000201475 00000 n 0000199400 00000 n 0000198202 00000 n 0000199649 00000 n 0000199711 00000 n 0000199835 00000 n 0000199899 00000 n 0000199962 00000 n 0000200088 00000 n 0000200150 00000 n 0000200214 00000 n 0000200340 00000 n 0000200403 00000 n 0000200466 00000 n 0000200529 00000 n 0000200590 00000 n 0000200654 00000 n 0000200718 00000 n 0000200782 00000 n 0000200845 00000 n 0000200971 00000 n 0000201034 00000 n 0000201097 00000 n 0000201160 00000 n 0000201223 00000 n 0000201286 00000 n 0000201412 00000 n 0000204069 00000 n 0000202249 00000 n 0000201600 00000 n 0000202498 00000 n 0000202560 00000 n 0000202683 00000 n 0000202747 00000 n 0000202810 00000 n 0000202936 00000 n 0000202999 00000 n 0000203063 00000 n 0000203188 00000 n 0000203251 00000 n 0000203314 00000 n 0000203377 00000 n 0000203440 00000 n 0000203566 00000 n 0000203629 00000 n 0000203692 00000 n 0000203755 00000 n 0000203818 00000 n 0000203881 00000 n 0000204006 00000 n 0000206429 00000 n 0000204736 00000 n 0000204194 00000 n 0000204985 00000 n 0000205047 00000 n 0000205170 00000 n 0000205234 00000 n 0000205297 00000 n 0000205423 00000 n 0000205486 00000 n 0000205550 00000 n 0000205675 00000 n 0000205738 00000 n 0000205801 00000 n 0000205927 00000 n 0000205989 00000 n 0000206052 00000 n 0000206115 00000 n 0000206177 00000 n 0000206240 00000 n 0000206366 00000 n 0000248177 00000 n 0000209654 00000 n 0000207327 00000 n 0000206554 00000 n 0000207575 00000 n 0000207637 00000 n 0000207760 00000 n 0000207824 00000 n 0000207887 00000 n 0000208013 00000 n 0000208076 00000 n 0000208140 00000 n 0000208204 00000 n 0000208329 00000 n 0000208392 00000 n 0000208455 00000 n 0000208581 00000 n 0000208643 00000 n 0000208706 00000 n 0000208769 00000 n 0000208832 00000 n 0000208895 00000 n 0000208958 00000 n 0000209021 00000 n 0000209084 00000 n 0000209147 00000 n 0000209211 00000 n 0000209275 00000 n 0000209339 00000 n 0000209403 00000 n 0000209466 00000 n 0000209591 00000 n 0000212985 00000 n 0000210471 00000 n 0000209779 00000 n 0000210720 00000 n 0000210782 00000 n 0000210905 00000 n 0000210969 00000 n 0000211032 00000 n 0000211158 00000 n 0000211221 00000 n 0000211285 00000 n 0000211349 00000 n 0000211413 00000 n 0000211538 00000 n 0000211601 00000 n 0000211664 00000 n 0000211790 00000 n 0000211852 00000 n 0000211915 00000 n 0000211978 00000 n 0000212041 00000 n 0000212104 00000 n 0000212167 00000 n 0000212230 00000 n 0000212293 00000 n 0000212356 00000 n 0000212419 00000 n 0000212482 00000 n 0000212545 00000 n 0000212608 00000 n 0000212670 00000 n 0000212733 00000 n 0000212796 00000 n 0000212922 00000 n 0000215782 00000 n 0000213708 00000 n 0000213110 00000 n 0000213957 00000 n 0000214019 00000 n 0000214142 00000 n 0000214206 00000 n 0000214269 00000 n 0000214395 00000 n 0000214458 00000 n 0000214522 00000 n 0000214586 00000 n 0000214711 00000 n 0000214774 00000 n 0000214837 00000 n 0000214963 00000 n 0000215025 00000 n 0000215088 00000 n 0000215151 00000 n 0000215214 00000 n 0000215277 00000 n 0000215340 00000 n 0000215403 00000 n 0000215466 00000 n 0000215529 00000 n 0000215593 00000 n 0000215719 00000 n 0000219653 00000 n 0000216821 00000 n 0000215907 00000 n 0000217070 00000 n 0000217132 00000 n 0000217255 00000 n 0000217319 00000 n 0000217382 00000 n 0000217508 00000 n 0000217571 00000 n 0000217635 00000 n 0000217699 00000 n 0000217763 00000 n 0000217826 00000 n 0000217951 00000 n 0000218014 00000 n 0000218077 00000 n 0000218141 00000 n 0000218205 00000 n 0000218331 00000 n 0000218393 00000 n 0000218456 00000 n 0000218519 00000 n 0000218582 00000 n 0000218645 00000 n 0000218708 00000 n 0000218771 00000 n 0000218834 00000 n 0000218897 00000 n 0000218961 00000 n 0000219024 00000 n 0000219087 00000 n 0000219150 00000 n 0000219213 00000 n 0000219276 00000 n 0000219339 00000 n 0000219402 00000 n 0000219465 00000 n 0000219590 00000 n 0000223571 00000 n 0000220735 00000 n 0000219778 00000 n 0000220984 00000 n 0000221046 00000 n 0000221170 00000 n 0000221234 00000 n 0000221297 00000 n 0000221423 00000 n 0000221486 00000 n 0000221550 00000 n 0000221614 00000 n 0000221678 00000 n 0000221742 00000 n 0000221868 00000 n 0000221931 00000 n 0000221994 00000 n 0000222057 00000 n 0000222121 00000 n 0000222247 00000 n 0000222310 00000 n 0000222373 00000 n 0000222436 00000 n 0000222499 00000 n 0000222562 00000 n 0000222625 00000 n 0000222688 00000 n 0000222751 00000 n 0000222814 00000 n 0000222878 00000 n 0000222941 00000 n 0000223004 00000 n 0000223067 00000 n 0000223130 00000 n 0000223193 00000 n 0000223256 00000 n 0000223319 00000 n 0000223382 00000 n 0000223508 00000 n 0000227627 00000 n 0000224602 00000 n 0000223696 00000 n 0000224851 00000 n 0000224913 00000 n 0000224975 00000 n 0000225037 00000 n 0000225101 00000 n 0000225164 00000 n 0000225290 00000 n 0000225353 00000 n 0000225417 00000 n 0000225481 00000 n 0000225545 00000 n 0000225609 00000 n 0000225734 00000 n 0000225797 00000 n 0000225860 00000 n 0000225924 00000 n 0000225988 00000 n 0000226113 00000 n 0000226176 00000 n 0000226239 00000 n 0000226302 00000 n 0000226365 00000 n 0000226428 00000 n 0000226491 00000 n 0000226554 00000 n 0000226617 00000 n 0000226680 00000 n 0000226744 00000 n 0000226807 00000 n 0000226870 00000 n 0000226933 00000 n 0000226996 00000 n 0000227058 00000 n 0000227120 00000 n 0000227183 00000 n 0000227246 00000 n 0000227310 00000 n 0000227374 00000 n 0000227438 00000 n 0000227564 00000 n 0000248302 00000 n 0000230602 00000 n 0000228459 00000 n 0000227752 00000 n 0000228708 00000 n 0000228770 00000 n 0000228832 00000 n 0000228894 00000 n 0000228958 00000 n 0000229021 00000 n 0000229084 00000 n 0000229148 00000 n 0000229211 00000 n 0000229275 00000 n 0000229339 00000 n 0000229402 00000 n 0000229465 00000 n 0000229528 00000 n 0000229591 00000 n 0000229654 00000 n 0000229718 00000 n 0000229780 00000 n 0000229843 00000 n 0000229906 00000 n 0000229969 00000 n 0000230032 00000 n 0000230095 00000 n 0000230158 00000 n 0000230221 00000 n 0000230284 00000 n 0000230348 00000 n 0000230411 00000 n 0000230475 00000 n 0000230538 00000 n 0000233325 00000 n 0000231306 00000 n 0000230727 00000 n 0000231492 00000 n 0000231556 00000 n 0000231618 00000 n 0000231680 00000 n 0000231743 00000 n 0000231807 00000 n 0000231870 00000 n 0000231933 00000 n 0000231997 00000 n 0000232060 00000 n 0000232124 00000 n 0000232188 00000 n 0000232251 00000 n 0000232315 00000 n 0000232378 00000 n 0000232441 00000 n 0000232504 00000 n 0000232568 00000 n 0000232631 00000 n 0000232694 00000 n 0000232757 00000 n 0000232820 00000 n 0000232883 00000 n 0000232946 00000 n 0000233009 00000 n 0000233072 00000 n 0000233135 00000 n 0000233198 00000 n 0000233262 00000 n 0000236587 00000 n 0000234187 00000 n 0000233450 00000 n 0000234373 00000 n 0000234437 00000 n 0000234499 00000 n 0000234561 00000 n 0000234624 00000 n 0000234688 00000 n 0000234751 00000 n 0000234814 00000 n 0000234878 00000 n 0000234941 00000 n 0000235005 00000 n 0000235069 00000 n 0000235132 00000 n 0000235196 00000 n 0000235259 00000 n 0000235322 00000 n 0000235385 00000 n 0000235449 00000 n 0000235512 00000 n 0000235575 00000 n 0000235638 00000 n 0000235701 00000 n 0000235764 00000 n 0000235827 00000 n 0000235890 00000 n 0000235953 00000 n 0000236016 00000 n 0000236079 00000 n 0000236143 00000 n 0000236206 00000 n 0000236269 00000 n 0000236333 00000 n 0000236396 00000 n 0000236459 00000 n 0000236523 00000 n 0000240156 00000 n 0000237443 00000 n 0000236712 00000 n 0000237629 00000 n 0000237693 00000 n 0000237755 00000 n 0000237817 00000 n 0000237879 00000 n 0000237943 00000 n 0000238006 00000 n 0000238069 00000 n 0000238133 00000 n 0000238196 00000 n 0000238260 00000 n 0000238324 00000 n 0000238388 00000 n 0000238451 00000 n 0000238514 00000 n 0000238577 00000 n 0000238640 00000 n 0000238703 00000 n 0000238767 00000 n 0000238829 00000 n 0000238892 00000 n 0000238955 00000 n 0000239018 00000 n 0000239081 00000 n 0000239144 00000 n 0000239207 00000 n 0000239270 00000 n 0000239333 00000 n 0000239396 00000 n 0000239459 00000 n 0000239522 00000 n 0000239585 00000 n 0000239648 00000 n 0000239712 00000 n 0000239775 00000 n 0000239838 00000 n 0000239902 00000 n 0000239965 00000 n 0000240028 00000 n 0000240092 00000 n 0000243823 00000 n 0000242257 00000 n 0000240281 00000 n 0000242621 00000 n 0000242685 00000 n 0000242748 00000 n 0000242812 00000 n 0000242875 00000 n 0000242939 00000 n 0000243064 00000 n 0000243128 00000 n 0000243191 00000 n 0000243254 00000 n 0000243318 00000 n 0000243382 00000 n 0000243508 00000 n 0000243571 00000 n 0000242402 00000 n 0000243634 00000 n 0000243760 00000 n 0000244754 00000 n 0000244630 00000 n 0000243948 00000 n 0000248427 00000 n 0000245064 00000 n 0000248507 00000 n 0000248631 00000 n 0000248730 00000 n 0000248803 00000 n 0000266210 00000 n 0000293877 00000 n 0000293918 00000 n 0000293958 00000 n 0000294189 00000 n trailer << /Size 2477 /Root 2475 0 R /Info 2476 0 R >> startxref 294345 %%EOF flightaware-Pgtcl-8d02566/doc/libpgtcl.sgml000066400000000000000000002760051203531660700206040ustar00rootroot00000000000000 %version; %filelist; --> ]> PostgreSQL Tcl Interface Documentation The PostgreSQL Global Development Group The Tcl Interface Group <application>pgtcl</application> - Tcl Binding Library libpgtcl pgtcl Tcl pgtcl is a Tcl package for client programs to interface with PostgreSQL servers. It makes most of the functionality of libpq available to Tcl scripts. Overview gives an overview over the commands available in pgtcl. These commands are described further on subsequent pages. <application>pgtcl</application> Commands Command Namespace Command Description pg_connect pg::connect open a connection to the server pg_dbinfo pg::dbinfo returns the current connection/result handles pg_disconnect pg::disconnect close a connection to the server pg_conndefaults pg::conndefaults get connection options and their defaults pg_exec pg::sqlexec send a command to the server pg_exec_prepared pg::exec_prepared send a request to execute a prepared statement, with parameters pg_result pg::result get information about a command result pg_select pg::select loop over the result of a query pg_execute pg::execute send a query and optionally loop over the results pg_null_value_string pg::null_value_string set string to be returned for null values in query results pg_quote pg::quote escape a string for inclusion into SQL statements pg_escape_string pg::escape_string escape a binary string for inclusion into SQL statements pg_escape_bytea pg::escape_bytea escape a binary string for inclusion into SQL statements pg_unescape_bytea pg::unescape_bytea unescape a binary string from the backend pg_listen pg::listen set or change a callback for asynchronous notification messages pg_on_connection_loss pg::on_connection_loss set or change a callback for unexpected connection loss pg_sendquery pg::sendquery issue pg_exec-style command asynchronously pg_sendquery_prepared pg::sendquery_prepared send an asynchronous request to execute a prepared statement, with parameters pg_getresult pg::getresult check on results from asynchronously issued commands pg_isbusy pg::isbusy check to see if the connection is busy processing a query pg_blocking pg::blocking set a database connection to be either blocking or nonblocking pg_cancelrequest pg::cancelrequest request PostgreSQL abandon processing of the current command pg_lo_creat pg::lo_creat create a large object pg_lo_open pg::lo_open open a large object pg_lo_close pg::lo_close close a large object pg_lo_read pg::lo_read read from a large object pg_lo_write pg::lo_write write to a large object pg_lo_lseek pg::lo_lseek seek to a position in a large object pg_lo_tell pg::lo_tell return the current seek position of a large object pg_lo_truncate pg::lo_truncate Truncate (or pad) a large object to a specified length pg_lo_unlink pg::lo_unlink delete a large object pg_lo_import pg::lo_import import a large object from a file pg_lo_export pg::lo_export export a large object to a file
The pg_lo_* commands are interfaces to the large object features of PostgreSQL.large objectin pgctl The functions are designed to mimic the analogous file system functions in the standard Unix file system interface. The pg_lo_* commands should be used within a BEGIN/COMMIT transaction block because the descriptor returned by pg_lo_open is only valid for the current transaction. pg_lo_import and pg_lo_export must be used in a BEGIN/COMMIT transaction block.
Loading <application>pgtcl</application> into an Application Before using pgtcl commands, you must load the libpgtcl library into your Tcl application. This is normally done with the package require command. Here is an example: package require Pgtcl 1.5 package require loads the libpgtcl shared library, and loads any additional Tcl code that is part of the Pgtcl package. Note that you can manually generate the pkgIndex.tcl file, or use make pkgIndex.tcl or make pkgIndex.tcl-hand to have make generate it. The old way to load the shared library is by using the Tcl load command. Here is an example: load libpgtcl[info sharedlibextension] Although this way of loading the shared library is deprecated, we continue to document it for the time being, because it may help in debugging if, for some reason, package require is failing. The use of info sharedlibextension is recommended in preference to hard-wiring .so or .sl or .dll into the program. The load command will fail unless the system's dynamic loader knows where to look for the libpgtcl shared library file. You may need to work with ldconfig, or set the environment variable LD_LIBRARY_PATH, or use some equivalent facility for your platform to make it work. Refer to the PostgreSQL installation instructions for more information. libpgtcl in turn depends on the interface library libpq, so the dynamic loader must also be able to find the libpq shared library. In practice this is seldom an issue, since both of these shared libraries are normally stored in the same directory, but it can be a stumbling block in some configurations. If you use a custom executable for your application, you might choose to statically bind libpgtcl into the executable and thereby avoid the load command and the potential problems of dynamic linking. See the source code for pgtclsh for an example. <application>pgtcl</application> Command Reference pg_connect pg_connect open a connection to the server pg_connect pg_connect -conninfo connectOptions -connhandle connectionHandleName pg_connect dbName -host hostName -port portNumber -tty tty -options serverOptions -connhandle connectionHandleName pg_connect -connlist connectNameValueList -connhandle connectionHandleName Description pg_connect opens a connection to the PostgreSQL server. Three syntaxes are available. In the older one, each possible option has a separate option switch in the pg_connect command. In the newer form, a single option string is supplied that can contain multiple option values. The third form takes the parameters as a name value Tcl list. pg_conndefaults can be used to retrieve information about the available options in the newer syntax. Arguments New style connectOptions pg_connect opens a new database connection using the parameters taken from the connectOptions string. Unlike the old-style usage of pg_connect, with the new-style usage the parameter set can be extended without requiring changes to either libpgtcl or the underlying libpq library, so use of the new style (or its nonexistent nonblocking analogues pg_connect_start and pg_connect_poll) is preferred for new application programming. The passed string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. (To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.) Spaces around the equal sign are optional. The currently recognized parameter key words are: host Name of host to connect to.host name If this begins with a slash, it specifies Unix-domain communication rather than TCP/IP communication; the value is the name of the directory in which the socket file is stored. The default is to connect to a Unix-domain socket in /tmp.Unix domain socket hostaddr Numeric IP address of host to connect to. This should be in the standard IPv4 address format, e.g., 172.28.40.9. If your machine supports IPv6, you can also use IPv6 address format, e.g., fe80::203:93ff:fedb:49bc. TCP/IP communication is always used when a nonempty string is specified for this parameter. Using hostaddr instead of host allows the application to avoid a host name lookup, which may be important in applications with time constraints. However, Kerberos authentication requires the host name. The following therefore applies: If host is specified without hostaddr, a host name lookup occurs. If hostaddr is specified without host, the value for hostaddr gives the remote address. When Kerberos is used, a reverse name query occurs to obtain the host name for Kerberos. If both host and hostaddr are specified, the value for hostaddr gives the remote address; the value for host is ignored, unless Kerberos is used, in which case that value is used for Kerberos authentication. (Note that authentication is likely to fail if libpq is passed a host name that is not the name of the machine at hostaddr.) Also, host rather than hostaddr is used to identify the connection in $HOME/.pgpass. Without either a host name or host address, Pgtcl will connect using a local Unix domain socket. port Port number to connect to at the server host, or socket file name extension for Unix-domain connections.port dbname The database name. Defaults to be the same as the user name. user PostgreSQL user name to connect as. password Password to be used if the server demands password authentication. connect_timeout Maximum wait for connection, in seconds (write as a decimal integer string). Zero or not specified means wait indefinitely. It is not recommended to use a timeout of less than 2 seconds. options Command-line options to be sent to the server. tty Ignored (formerly, this specified where to send server debug output). sslmode This option determines whether or with what priority an SSL connection will be negotiated with the server. There are four modes: disable will attempt only an unencrypted SSL connection; allow will negotiate, trying first a non-SSL connection, then if that fails, trying an SSL connection; prefer (the default) will negotiate, trying first an SSL connection, then if that fails, trying a regular non-SSL connection; require will try only an SSL connection. If PostgreSQL is compiled without SSL support, using option require will cause an error, and options allow and prefer will be tolerated but libpq will be unable to negotiate an SSL connection.SSLwith libpq requiressl This option is deprecated in favor of the sslmode setting. If set to 1, an SSL connection to the server is required (this is equivalent to sslmode require). libpq will then refuse to connect if the server does not accept an SSL connection. If set to 0 (default), libpq will negotiate the connection type with the server (equivalent to sslmode prefer). This option is only available if PostgreSQL is compiled with SSL support. service Service name to use for additional parameters. It specifies a service name in pg_service.conf that holds additional connection parameters. This allows applications to specify only a service name so connection parameters can be centrally maintained. See PREFIX/share/pg_service.conf.sample for information on how to set up the file. Name to use for the connection handle, instead of pgtcl generating the name automatically. Without the option, the name is auto-generated, prefixed with pgsql, and with a numeric id at the end. This gives the programmer control over the name of the connection handle. If any parameter is unspecified, then the corresponding environment variable (see libpq documentation in the PostgreSQL manual) is checked. If the environment variable is not set either, then built-in defaults are used. Old style dbName The name of the database to connect to. The host name of the database server to connect to. The TCP port number of the database server to connect to. A file or TTY for optional debug output from the server. Additional configuration options to pass to the server. Name to use for the connection handle, instead of pgtcl generating the name automatically. Without the option, the name is auto-generated, prefixed with pgsql, and with a numeric id at the end. This gives the programmer control over the name of the connection handle. Third style (most recent one added) -connlist connectNameValuelist pg_connect opens a new database connection using the parameters taken from the connectNameValuelist list. The parameters are exactly the same for the New Style, but they are stored as a Tcl list, instead of a string. The list is a name value pair, for example: [list host localhost port 5400 dbname template1]. array set conninfo { host 192.168.123.180 port 5801 dbname template1 user postgres } set conn [pg::connect -connlist [array get ::conninfo]] Return Value If successful, a handle for a database connection is returned. Handles start with the prefix pgsql. pg_dbinfo pg_dbinfo returns a list of current open connection/result handles pg_dbinfo pg_dbinfo connections|results ?conn? Description pg_dbinfo returns a list of connection\result handles that are currently open. The first argument is either connections or results. If the first argument is results, then a second argument needs to be present, specifyin the connection. Arguments connections|results Either specify connections if you want the connection handles, or results if you want the result handles. conn The handle of the connection, if results if specified for the first argument. Return Value A Tcl list of connection handle names pg_disconnect pg_disconnect close a connection to the server pg_disconnect pg_disconnect conn Description pg_disconnect closes a connection to the PostgreSQL server. Arguments conn The handle of the connection to be closed. Return Value None pg_conndefaults pg_conndefaults get connection options and their defaults pg_conndefaults pg_conndefaults Description pg_conndefaults returns information about the connection options available in pg_connect -conninfo and the current default value for each option. Arguments None Return Value The result is a list describing the possible connection options and their current default values. Each entry in the list is a sublist of the format: {optname label dispchar dispsize value} where the optname is usable as an option in pg_connect -conninfo. pg_exec pg_exec send a command to the server pg_exec pg_exec conn commandString args Description pg_exec submits a command to the PostgreSQL server and returns a result. Command result handles start with the connection handle and add a period and a result number. Note that lack of a Tcl error is not proof that the command succeeded! An error message returned by the server will be processed as a command result with failure status, not by generating a Tcl error in pg_exec. Arguments conn The handle of the connection on which to execute the command. commandString The SQL command to execute. args For PostgreSQL versions greater than 7.4, args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution. Return Value A result handle. A Tcl error will be returned if pgtcl was unable to obtain a server response. Otherwise, a command result object is created and a handle for it is returned. This handle can be passed to pg_result to obtain the results of the command. Example pg_exec $conn {select * from table1 where id = $1 and user = $2} $id $user pg_exec_prepared pg_exec_prepared send a request to execute a prepared SQL statement to the server pg_exec_prepared pg_exec_prepared conn statementName args Description pg_exec_prepared submits a command to the PostgreSQL server and returns a result. pg_exec_prepared functions identically to pg_exec, except that it operates using statements prepared by the PREPARE SQL command. Note that prepared statements are only support under PostgreSQL 7.4 and later. Arguments conn The handle of the connection on which to execute the command. statementName The name of the prepared statement to execute. args args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution. Return Value A result handle. See pg_exec for details. Example pg_exec $conn {prepare insert_people (varchar, varchar, varchar, varchar, varchar, varchar) as insert into people values ($1, $2, $3, $4, $5, $6);} pg_exec_prepared $conn insert_people $email $name $address $city $state $zip pg_result pg_result get information about a command result pg_result pg_result resultHandle resultOption Description pg_result returns information about a command result created by a prior pg_exec. You can keep a command result around for as long as you need it, but when you are done with it, be sure to free it by executing pg_result -clear. Otherwise, you have a memory leak, and pgtcl will eventually start complaining that you have created too many command result objects. Arguments resultHandle The handle of the command result. resultOption One of the following options, specifying which piece of result information to return: The status of the result. diagCode The error message, if the status indicates an error, otherwise an empty string. diagCode, if specified, requests data for a specific diagnostic code: The severity; the field contents are ERROR, FATAL, or PANIC, in an error message, or WARNING, NOTICE, DEBUG, INFO, or LOG, in a notice message, or a localized translation of one of these. The SQLSTATE code for the error. (See PostgreSQL manual Appendix A). The primary human-readable error message (typically one line). An optional secondary error message carrying more detail abhout the problem, which may run to multiple lines. An optional suggestion about what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. The result may run to multiple lines. A string containing a decimal integer indicating an error cursor position as an index into the original statement string. The first character has index 1, and positions are measured in characters not bytes. This is the same as "position", but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. The first character has index 1, and positions are measured in characters not bytes. This is the text of a failed internally generated command. This could be, for example, a SQL query issued by a PL/pgSQL function. An indication of the context in which the error occurred. Presently this includes a call stack traceback of active PL functions. The trace is one entry per line, most recent first. The filename of the source code location where the error was reported. The line number of the source code location where the error was reported. The name of the source code function reporting the error. The connection that produced the result. If the command was an INSERT, the OID of the inserted row, otherwise 0. The number of rows (tuples) returned by the query. The number of rows (tuples) affected by the command. (This is similar to but relevant to INSERT and UPDATE commands.) The number of columns (attributes) in each row. Assign the results to an array, using subscripts of the form (rowNumber, columnName). Assign the results to an array using the values of the first column and the names of the remaining column as keys. If appendstr is given then it is appended to each key. In short, all but the first column of each row are stored into the array, using subscripts of the form (firstColumnValue, columnNameAppendStr). Returns the columns of the indicated row in a list. Row numbers start at zero. Stores the columns of the row in array arrayName, indexed by column names. Row numbers start at zero. If a field's value is null, sets an empty string or the default string, if a default string has been defined. Stores the columns of the row in array arrayName, indexed by column names. Row numbers start at zero. If a field's value is null, unsets the column from the array. Returns a list of the names of the columns in the result. Returns a list of sublists, {name typeOid typeSize} for each column. Returns one list containing all the data returned by the query. Returns a list of lists, where each embedded list represents a tuple in the result. Returns a dict object with the results. This needs to have dictionary support built into Tcl (Tcl 8.5), and is experimental right now, since Tcl 8.5 has not been release yet, and the API could change. In order to enable this, you need to add -DHAVE_TCL_NEWDICTOBJ to the Makefile in the DEFS variable. Defines or retrieves the string that will be returned for null values in query results. Defaults to whatever was set by pg_null_value_string but can be set here and, in this case, affects only this query result. Clear the command result object. Return Value The result depends on the selected option, as described above. pg_select pg_select loop over the result of a query pg_select pg_select conn commandString arrayVar procedure Description pg_select submits a query (SELECT statement) to the PostgreSQL server and executes a given chunk of code for each row in the result. The commandString must be a SELECT statement; anything else returns an error. The arrayVar variable is an array name used in the loop. For each row, arrayVar is filled in with the row values, using the column names as the array indices. Then the procedure is executed. In addition to the column values, the following special entries are made in the array: .headers A list of the column names returned by the query. .numcols The number of columns returned by the query. .tupno The current row number, starting at zero and incrementing for each iteration of the loop body. Arguments conn The handle of the connection on which to execute the query. commandString The SQL query to execute. arrayVar An array variable for returned rows. procedure The procedure to run for each returned row. Return Value None Examples This examples assumes that the table table1 has columns control and name (and perhaps others): pg_select $pgconn "SELECT * FROM table1;" array { puts [format "%5d %s" $array(control) $array(name)] } pg_execute pg_execute send a query and optionally loop over the results pg_execute pg_execute -array arrayVar -oid oidVar conn commandString procedure Description pg_execute submits a command to the PostgreSQL server. If the command is not a SELECT statement, the number of rows affected by the command is returned. If the command is an INSERT statement and a single row is inserted, the OID of the inserted row is stored in the variable oidVar if the optional -oid argument is supplied. If the command is a SELECT statement, then, for each row in the result, the row values are stored in the arrayVar variable, if supplied, using the column names as the array indices, else in variables named by the column names, and then the optional procedure is executed if supplied. (Omitting the procedure probably makes sense only if the query will return a single row.) The number of rows selected is returned. The procedure can use the Tcl commands break, continue, and return with the expected behavior. Note that if the procedure executes return, then pg_execute does not return the number of affected rows. pg_execute is a newer function which provides a superset of the features of pg_select and can replace pg_exec in many cases where access to the result handle is not needed. For server-handled errors, pg_execute will throw a Tcl error and return a two-element list. The first element is an error code, such as PGRES_FATAL_ERROR, and the second element is the server error text. For more serious errors, such as failure to communicate with the server, pg_execute will throw a Tcl error and return just the error message text. Arguments Specifies the name of an array variable where result rows are stored, indexed by the column names. This is ignored if commandString is not a SELECT statement. Specifies the name of a variable into which the OID from an INSERT statement will be stored. conn The handle of the connection on which to execute the command. commandString The SQL command to execute. procedure Optional procedure to execute for each result row of a SELECT statement. Return Value The number of rows affected or returned by the command. Examples In the following examples, error checking with catch has been omitted for clarity. Insert a row and save the OID in result_oid: pg_execute -oid result_oid $pgconn "INSERT INTO mytable VALUES (1);" Print the columns item and value from each row: pg_execute -array d $pgconn "SELECT item, value FROM mytable;" { puts "Item=$d(item) Value=$d(value)" } Find the maximum and minimum values and store them in $s(max) and $s(min): pg_execute -array s $pgconn "SELECT max(value) AS max, min(value) AS min FROM mytable;" Find the maximum and minimum values and store them in $max and $min: pg_execute $pgconn "SELECT max(value) AS max, min(value) AS min FROM mytable;" pg_listen pg_listen set or change a callback for asynchronous notification messages pg_listen pg_listen conn notifyName callbackCommand Description pg_listen creates, changes, or cancels a request to listen for asynchronous notification messages from the PostgreSQL server. With a callbackCommand parameter, the request is established, or the command string of an already existing request is replaced. With no callbackCommand parameter, a prior request is canceled. After a pg_listen request is established, the specified command string is executed whenever a notification message bearing the given name arrives from the server. This occurs when any PostgreSQL client application issues a NOTIFYNOTIFYin pgtcl command referencing that name. The command string is executed from the Tcl idle loop. That is the normal idle state of an application written with Tk. In non-Tk Tcl shells, you can execute update or vwait to cause the idle loop to be entered. You should not invoke the SQL statements LISTEN or UNLISTEN directly when using pg_listen. pgtcl takes care of issuing those statements for you. But if you want to send a notification message yourself, invoke the SQL NOTIFY statement using pg_exec. Arguments conn The handle of the connection on which to listen for notifications. notifyName The name of the notification condition to start or stop listening to. callbackCommand If present, provides the command string to execute when a matching notification arrives. Return Value None pg_on_connection_loss pg_on_connection_loss set or change a callback for unexpected connection loss pg_on_connection_loss pg_on_connection_loss conn callbackCommand Description pg_on_connection_loss creates, changes, or cancels a request to execute a callback command if an unexpected loss of connection to the database occurs. With a callbackCommand parameter, the request is established, or the command string of an already existing request is replaced. With no callbackCommand parameter, a prior request is canceled. The callback command string is executed from the Tcl idle loop. That is the normal idle state of an application written with Tk. In non-Tk Tcl shells, you can execute update or vwait to cause the idle loop to be entered. Arguments conn The handle to watch for connection losses. callbackCommand If present, provides the command string to execute when connection loss is detected. Return Value None pg_sendquery pg_sendquery send a query string to the backend connection without waiting for a result pg_sendquery pg_sendquery conn commandString Description pg_sendquery submits a command to the PostgreSQL server. This function works like pg_exec, except that it does not return a result. Rather, the command is issued to the backend asynchronously. The result is either an error message or nothing. An empty return indicates that the command was dispatched to the backend. Arguments conn The handle of the connection on which to execute the command. commandString The SQL command to execute. Return Value A Tcl error will be returned if pgtcl was unable to issue the command. Otherwise, an empty string will be return. It is up to the developer to use pg_getresult to obtain results from commands issued with pg_sendquery. pg_sendquery_prepared pg_sendquery_prepared send a request to execute a prepared statement to the backend connection, without waiting for a result pg_sendquery_prepared pg_sendquery_prepared conn statementName args Description pg_sendquery_prepared submits a command to the PostgreSQL server. This function works like pg_exec, except that it does not return a result. Rather, the command is issued to the backend asynchronously. The result is either an error message or nothing. An empty return indicates that the command was dispatched to the backend. Arguments conn The handle of the connection on which to execute the command. statementName The name of the prepared SQL statement to execute asynchronously. args args consists of zero or more optional values that can be inserted, unquoted, into the SQL statement using $-style substitution. Return Value A Tcl error will be returned if pgtcl was unable to issue the command. Otherwise, an empty string will be return. It is up to the developer to use pg_getresult to obtain results from commands issued with pg_sendquery. pg_getresult pg_getresult process asychronous results pg_getresult pg_getresult conn Description pg_getresult checks to see if any commands issued by pg_sendquery have completed. This will return the same sort of result handle that pg_exec returns. If there is no query currently being processed or all of the results have been obtained, pg_getresult returns nothing. Arguments conn The handle of a connection to the database to which asynchronous requests are being issued. Return Value If a query result is available, a command result object is returned. This handle can be passed to pg_result to obtain the results of the command. If there is no query currently being processed or all of the results have been obtained, pg_getresult returns nothing. pg_isbusy pg_isbusy see if a query is busy pg_isbusy pg_isbusy conn Description pg_isbusy checks to see if the backend is busy handling a query or not. Arguments conn The handle of a connection to the database in which the large object exists. Return Value Returns 1 if the backend is busy, in which case a call to pg_getresult would block, otherwise it returns 0. pg_blocking pg_blocking see or set whether or not a connection is set to blocking or nonblocking pg_blocking pg_blocking conn mode Description pg_blocking can set the connection to either blocking or nonblocking, and it can see which way the connection is currently set. Arguments conn The handle of a connection to the database in which the large object exists. mode If present, sets the mode of the connection to nonblocking if 0. Otherwise it sets the connection to blocking. Return Value Returns nothing if called with the mode argument. Otherwise it returns 1 if the connection is set for blocking, or 0 if the connection is set for nonblocking. pg_cancelrequest pg_cancelrequest request that PostgreSQL abandon processing of the current command pg_cancelrequest pg_cancelrequest conn Description pg_cancelrequest requests that the processing of the current command be abandoned. Arguments conn The handle of a connection to the database in which the large object exists. Return Value Returns nothing if the command was successfully dispatched or if no query was being processed. Otherwise, returns an error. pg_null_value_string pg_null_value_string define a value to be returned for NULL fields distinct from the default value of an empty string. pg_null_value_string pg_null_value_string string Description pg_null_value_string sets or retrieves a string to be returned in query results for fields whose value is NULL, making it possible to distinguish between NULL values an values that are not null but are comprised of an empty string. Without setting an alternative null value with this or with pg_result's -null_value_string, it is impossible to tell the difference between a NULL field value and one that is not null but empty. Arguments string The string to be set that will be returned for null fields. Return Value Returns the string that is currently being returned for null fields. It will be the passed string value if one was passed, or, otherwise, the value currently being used. pg_quote pg_quote escapes a string for inclusion into SQL statements pg_quote pg_quote string Description pg_quote quotes a string and escapes single quotes and backslashes within the string, making it safe for inclusion into SQL statements. If you're doing something like pg_exec $conn "insert into foo values ('$name');" and name contains text includeing an unescaped single quote, such as Bob's House, the insert will fail. Passing value strings through pg_quote make sure they can be used as values and stuff in PostgreSQL. pg_exec $conn "insert into foo values ([pg_quote $name]);" ...will make sure that any special characters that occur in name, such as single quote or backslash, will be properly quoted. Arguments string The string to be escaped. Return Value Returns the string, escaped for inclusion into SQL queries. Note that it adds a set of single quotes around the outside of the string as well. pg_escape_string pg_escape_string escapes a string for inclusion into SQL statements. This is the same as pg_quote. It was added for consistency. pg_escape_string pg_escape_string string Description pg_escape_string quotes a string and escapes single quotes and backslashes within the string, making it safe for inclusion into SQL statements. If you're doing something like pg_exec $conn "insert into foo values ('$name');" and name contains text includeing an unescaped single quote, such as Bob's House, the insert will fail. Passing value strings through pg_escape_string make sure they can be used as values and stuff in PostgreSQL. pg_exec $conn "insert into foo values ([pg_escape_string $name]);" ...will make sure that any special characters that occur in name, such as single quote or backslash, will be properly quoted. Arguments string The string to be escaped. Return Value Returns the string, escaped for inclusion into SQL queries. Note that it adds a set of single quotes around the outside of the string as well. pg_escape_bytea pg_escape_bytea escapes a binary string for inclusion into SQL statements. pg_escape_bytea pg_escape_bytea string Description pg_escape_bytea escapes a binary string, making it safe for inclusion into SQL statements. pg_exec $conn "insert into foo values ([pg_escape_binary $name]);" Arguments binary_string The binary string to be escaped. Return Value Returns the binary string, escaped for inclusion into SQL queries. pg_unescape_bytea pg_unescape_bytea unescapes a binary string. pg_unescape_bytea pg_unescape_bytea string Description pg_unescape_bytea unescapes a binary string, when retrieving from the backend. Arguments binary_string The string to be unescaped. Return Value Returns the binary string. pg_lo_creat pg_lo_creat create a large object pg_lo_creat pg_lo_creat conn mode Description pg_lo_creat creates a large object. Arguments conn The handle of a connection to the database in which to create the large object. mode The access mode for the large object. It can be any or'ing together of INV_READ and INV_WRITE. The or operator is |. For example: [pg_lo_creat $conn "INV_READ|INV_WRITE"] Return Value The OID of the large object created. pg_lo_open pg_lo_open open a large object pg_lo_open pg_lo_open conn loid mode Description pg_lo_open opens a large object. Arguments conn The handle of a connection to the database in which the large object exists. loid The OID of the large object. mode Specifies the access mode for the large object. Mode can be either r, w, or rw. Return Value A descriptor for use in later large-object commands. pg_lo_close pg_lo_close close a large object pg_lo_close pg_lo_close conn descriptor Description pg_lo_close closes a large object. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. Return Value None pg_lo_read pg_lo_read read from a large object pg_lo_read pg_lo_read conn descriptor bufVar len Description pg_lo_read reads at most len bytes from a large object into a variable named bufVar. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. bufVar The name of a buffer variable to contain the large object segment. len The maximum number of bytes to read. Return Value The number of bytes actually read is returned; this could be less than the number requested if the end of the large object is reached first. In event of an error, the return value is negative. pg_lo_write pg_lo_write write to a large object pg_lo_write pg_lo_write conn descriptor buf len Description pg_lo_write writes at most len bytes from a variable buf to a large object. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. buf The string to write to the large object (not a variable name, but the value itself). len The maximum number of bytes to write. The number written will be the smaller of this value and the length of the string. Return Value The number of bytes actually written is returned; this will ordinarily be the same as the number requested. In event of an error, the return value is negative. pg_lo_lseek pg_lo_lseek seek to a position of a large object pg_lo_lseek pg_lo_lseek conn descriptor offset whence Description pg_lo_lseek moves the current read/write position to offset bytes from the position specified by whence. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. offset The new seek position in bytes. whence Specified from where to calculate the new seek position: SEEK_CUR (from current position), SEEK_END (from end), or SEEK_SET (from start). Return Value None pg_lo_tell pg_lo_tell return the current seek position of a large object pg_lo_tell pg_lo_tell conn descriptor Description pg_lo_tell returns the current read/write position in bytes from the beginning of the large object. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. Return Value A zero-based offset in bytes suitable for input to pg_lo_lseek. pg_lo_truncate pg_lo_truncate Truncate a large object to a given length pg_lo_truncate pg_lo_truncate conn descriptor length Description pg_lo_truncate truncates the specified large object to the given length. If the length is greater than the current large object length, the large object is extended with null bytes. Arguments conn The handle of a connection to the database in which the large object exists. descriptor A descriptor for the large object from pg_lo_open. length The length to which the large object is to be truncated or padded. Return Value A zero-based offset in bytes suitable for input to pg_lo_lseek. pg_lo_unlink pg_lo_unlink delete a large object pg_lo_unlink pg_lo_unlink conn loid Description pg_lo_unlink deletes the specified large object. Arguments conn The handle of a connection to the database in which the large object exists. loid The OID of the large object. Return Value None pg_lo_import pg_lo_import import a large object from a file pg_lo_import pg_lo_import conn filename Description pg_lo_import reads the specified file and places the contents into a new large object. Arguments conn The handle of a connection to the database in which to create the large object. filename Specified the file from which to import the data. Return Value The OID of the large object created. Notes pg_lo_import must be called within a BEGIN/COMMIT transaction block. pg_lo_export pg_lo_export export a large object to a file pg_lo_export pg_lo_export conn loid filename Description pg_lo_export writes the specified large object into a file. Arguments conn The handle of a connection to the database in which the large object exists. loid The OID of the large object. filename Specifies the file into which the data is to be exported. Return Value None Notes pg_lo_export must be called within a BEGIN/COMMIT transaction block. Tcl Namespace Support With version 1.5, there is proper Tcl namespace support built into pgtcl. There are commands now that mirror the pg_ commands, but use the Tcl namespace convention. For example, there are commands now called: pg::connect, pg::result, etc. However, due to this, there are some incapabilities. For example, pg_exec has a counterpart called pg::sqlexec, since doing a namespace import ::pg::* would clobber the builtin Tcl commmand exec. The old command names, pg_*, are still there for backwards compatibility, but might be phased out eventually. So, one can use Tcl's namespace mechanisms now with pgtcl. For eaxmple, you can import that namespace: namespace import ::pg::* set conn [connect template1 -host $host -port $port] Connection/result handles as commands Starting with version 1.5, you can use the connection/result handle as a Tcl command. What this means is that when a handle for a connection or result is generated, a corresponding Tcl command is also generate. For example, you can do the following: set conn [pg::connect template1 -host $host -port $port] set res [$conn exec "SELECT datname FROM pg_database ORDER BY datname;"] set datnames [$res -list] $res -clear rename $conn {} ;# or $conn disconnect Note that deleting the command (rename $conn {}), has the same effect as pg::result $res -clear (if it is a result handle), and pg::disconnect (if it is a connection handle). Also, if that command gets overloaded with a proc definition, then that has the same effect as deleting the command. Example Program shows a small example of how to use the pgtcl commands. <application>pgtcl</application> Example Program # getDBs : # get the names of all the databases at a given host and port number # with the defaults being the localhost and port 5432 # return them in alphabetical order proc getDBs { {host "localhost"} {port "5432"} } { # datnames is the list to be result set conn [pg_connect template1 -host $host -port $port] set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname;"] set ntups [pg_result $res -numTuples] for {set i 0} {$i < $ntups} {incr i} { lappend datnames [pg_result $res -getTuple $i] } pg_result $res -clear pg_disconnect $conn return $datnames } ## OR an alternative proc getDBs { {host "localhost"} {port "5432"} } { # datnames is the list to be result set conn [pg_connect template1 -host $host -port $port] set res [pg_exec $conn "SELECT datname FROM pg_database ORDER BY datname;"] set datnames [pg_result $res -list] pg_result $res -clear pg_disconnect $conn return $datnames } ## OR an alternative proc getDBs { {host "localhost"} {port "5432"} } { # datnames is the list to be result set conn [pg_connect template1 -host $host -port $port] set res [$conn exec "SELECT datname FROM pg_database ORDER BY datname;"] set datnames [$res -dict] $res -clear rename $conn {} return [dict get $datnames] }
flightaware-Pgtcl-8d02566/doc/stylesheet.dsl000066400000000000000000000515751203531660700210200ustar00rootroot00000000000000 ]]> ]]> ]]> ]> (define draft-mode #f) (define pgsql-docs-list "pgsql-docs@postgresql.org") ;; Don't show manpage volume numbers (define %refentry-xref-manvolnum% #f) ;; Don't use graphics for callouts. (We could probably do that, but ;; it needs extra work.) (define %callout-graphics% #f) ;; Show comments during the development stage. (define %show-comments% draft-mode) ;; Don't append period if run-in title ends with any of these ;; characters. We had to add the colon here. This is fixed in ;; stylesheets version 1.71, so it can be removed sometime. (define %content-title-end-punct% '(#\. #\! #\? #\:)) ;; No automatic punctuation after honorific name parts (define %honorific-punctuation% "") ;; Change display of some elements (element command ($mono-seq$)) (element envar ($mono-seq$)) (element lineannotation ($italic-seq$)) (element literal ($mono-seq$)) (element structfield ($mono-seq$)) (element structname ($mono-seq$)) (element symbol ($mono-seq$)) (element token ($mono-seq$)) (element type ($mono-seq$)) (element (programlisting emphasis) ($bold-seq$)) ;; to highlight sections of code ;; Special support for Tcl synopses (element optional (if (equal? (attribute-string (normalize "role")) "tcl") (make sequence (literal "?") ($charseq$) (literal "?")) (make sequence (literal %arg-choice-opt-open-str%) ($charseq$) (literal %arg-choice-opt-close-str%)))) ;; Avoid excessive cross-reference labels (define (auto-xref-indirect? target ancestor) (cond ; ;; Always add indirect references to another book ; ((member (gi ancestor) (book-element-list)) ; #t) ;; Add indirect references to the section or component a block ;; is in iff chapters aren't autolabelled. (Otherwise "Figure 1-3" ;; is sufficient) ((and (member (gi target) (block-element-list)) (not %chapter-autolabel%)) #t) ;; Add indirect references to the component a section is in if ;; the sections are not autolabelled ((and (member (gi target) (section-element-list)) (member (gi ancestor) (component-element-list)) (not %section-autolabel%)) #t) (else #f))) ;; Bibliography things ;; Use the titles of bibliography entries in cross-references (define biblio-xref-title #t) ;; Process bibliography entry components in the order shown below, not ;; in the order they appear in the document. (I suppose this should ;; be made to fit some publishing standard.) (define %biblioentry-in-entry-order% #f) (define (biblioentry-inline-elements) (list (normalize "author") (normalize "authorgroup") (normalize "title") (normalize "subtitle") (normalize "volumenum") (normalize "edition") (normalize "othercredit") (normalize "contrib") (normalize "editor") (normalize "publishername") (normalize "confgroup") (normalize "publisher") (normalize "isbn") (normalize "issn") (normalize "pubsnumber") (normalize "date") (normalize "pubdate") (normalize "pagenums") (normalize "bibliomisc"))) (mode biblioentry-inline-mode (element confgroup (make sequence (literal "Proc. ") (next-match))) (element isbn (make sequence (literal "ISBN ") (process-children))) (element issn (make sequence (literal "ISSN ") (process-children)))) ;; The rules in the default stylesheet for productname format it as a ;; paragraph. This may be suitable for productname directly within ;; *info, but it's nonsense when productname is used inline, as we do. (mode set-titlepage-recto-mode (element (para productname) ($charseq$))) (mode set-titlepage-verso-mode (element (para productname) ($charseq$))) (mode book-titlepage-recto-mode (element (para productname) ($charseq$))) (mode book-titlepage-verso-mode (element (para productname) ($charseq$))) ;; Add more here if needed... string (time) #t))))) ;; Create an index (define html-index #t) ;; Block elements are allowed in PARA in DocBook, but not in P in ;; HTML. With %fix-para-wrappers% turned on, the stylesheets attempt ;; to avoid putting block elements in HTML P tags by outputting ;; additional end/begin P pairs around them. (define %fix-para-wrappers% #t) ;; ...but we need to do some extra work to make the above apply to PRE ;; as well. (mostly pasted from dbverb.dsl) (define ($verbatim-display$ indent line-numbers?) (let ((content (make element gi: "PRE" attributes: (list (list "CLASS" (gi))) (if (or indent line-numbers?) ($verbatim-line-by-line$ indent line-numbers?) (process-children))))) (if %shade-verbatim% (make element gi: "TABLE" attributes: ($shade-verbatim-attr$) (make element gi: "TR" (make element gi: "TD" content))) (make sequence (para-check) content (para-check 'restart))))) ;; ...and for notes. (element note (make sequence (para-check) ($admonition$) (para-check 'restart))) ;;; XXX The above is very ugly. It might be better to run 'tidy' on ;;; the resulting *.html files. ;; Format multiple terms in varlistentry vertically, instead ;; of comma-separated. (element (varlistentry term) (make sequence (process-children-trim) (if (not (last-sibling?)) (make empty-element gi: "BR") (empty-sosofo)))) ]]> (string->number (attribute-string (normalize "columns"))) 0) (string->number (attribute-string (normalize "columns"))) 1) 1)) (members (select-elements (children (current-node)) (normalize "member")))) (cond ((equal? type (normalize "inline")) (if (equal? (gi (parent (current-node))) (normalize "para")) (process-children) (make paragraph space-before: %para-sep% space-after: %para-sep% start-indent: (inherited-start-indent)))) ((equal? type (normalize "vert")) (my-simplelist-vert members)) ((equal? type (normalize "horiz")) (simplelist-table 'row cols members))))) (element member (let ((type (inherited-attribute-string (normalize "type")))) (cond ((equal? type (normalize "inline")) (make sequence (process-children) (if (not (last-sibling?)) (literal ", ") (literal "")))) ((equal? type (normalize "vert")) (make paragraph space-before: 0pt space-after: 0pt)) ((equal? type (normalize "horiz")) (make paragraph quadding: 'start (process-children)))))) ;; Jadetex doesn't handle links to the content of tables, so ;; indexterms that point to table entries will go nowhere. We fix ;; this by pointing the index entry to the table itself instead, which ;; should be equally useful in practice. (define (find-parent-table nd) (let ((table (ancestor-member nd ($table-element-list$)))) (if (node-list-empty? table) nd table))) ;; (The function below overrides the one in print/dbindex.dsl.) (define (indexentry-link nd) (let* ((id (attribute-string (normalize "role") nd)) (prelim-target (find-indexterm id)) (target (find-parent-table prelim-target)) (preferred (not (node-list-empty? (select-elements (children (current-node)) (normalize "emphasis"))))) (sosofo (if (node-list-empty? target) (literal "?") (make link destination: (node-list-address target) (with-mode toc-page-number-mode (process-node-list target)))))) (if preferred (make sequence font-weight: 'bold sosofo) sosofo))) ;; By default, the part and reference title pages get wrong page ;; numbers: The first title page gets roman numerals carried over from ;; preface/toc -- we want arabic numerals. We also need to make sure ;; that page-number-restart is set of #f explicitly, because otherwise ;; it will carry over from the previous component, which is not good. ;; ;; (This looks worse than it is. It's copied from print/dbttlpg.dsl ;; and common/dbcommon.dsl and modified in minor detail.) (define (first-part?) (let* ((book (ancestor (normalize "book"))) (nd (ancestor-member (current-node) (append (component-element-list) (division-element-list)))) (bookch (children book))) (let loop ((nl bookch)) (if (node-list-empty? nl) #f (if (equal? (gi (node-list-first nl)) (normalize "part")) (if (node-list=? (node-list-first nl) nd) #t #f) (loop (node-list-rest nl))))))) (define (first-reference?) (let* ((book (ancestor (normalize "book"))) (nd (ancestor-member (current-node) (append (component-element-list) (division-element-list)))) (bookch (children book))) (let loop ((nl bookch)) (if (node-list-empty? nl) #f (if (equal? (gi (node-list-first nl)) (normalize "reference")) (if (node-list=? (node-list-first nl) nd) #t #f) (loop (node-list-rest nl))))))) (define (part-titlepage elements #!optional (side 'recto)) (let ((nodelist (titlepage-nodelist (if (equal? side 'recto) (reference-titlepage-recto-elements) (reference-titlepage-verso-elements)) elements)) ;; partintro is a special case... (partintro (node-list-first (node-list-filter-by-gi elements (list (normalize "partintro")))))) (if (part-titlepage-content? elements side) (make simple-page-sequence page-n-columns: %titlepage-n-columns% ;; Make sure that page number format is correct. page-number-format: ($page-number-format$) ;; Make sure that the page number is set to 1 if this is the ;; first part in the book page-number-restart?: (first-part?) input-whitespace-treatment: 'collapse use: default-text-style ;; This hack is required for the RTF backend. If an external-graphic ;; is the first thing on the page, RTF doesn't seem to do the right ;; thing (the graphic winds up on the baseline of the first line ;; of the page, left justified). This "one point rule" fixes ;; that problem. (make paragraph line-spacing: 1pt (literal "")) (let loop ((nl nodelist) (lastnode (empty-node-list))) (if (node-list-empty? nl) (empty-sosofo) (make sequence (if (or (node-list-empty? lastnode) (not (equal? (gi (node-list-first nl)) (gi lastnode)))) (part-titlepage-before (node-list-first nl) side) (empty-sosofo)) (cond ((equal? (gi (node-list-first nl)) (normalize "subtitle")) (part-titlepage-subtitle (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "title")) (part-titlepage-title (node-list-first nl) side)) (else (part-titlepage-default (node-list-first nl) side))) (loop (node-list-rest nl) (node-list-first nl))))) (if (and %generate-part-toc% %generate-part-toc-on-titlepage% (equal? side 'recto)) (make display-group (build-toc (current-node) (toc-depth (current-node)))) (empty-sosofo)) ;; PartIntro is a special case (if (and (equal? side 'recto) (not (node-list-empty? partintro)) %generate-partintro-on-titlepage%) ($process-partintro$ partintro #f) (empty-sosofo))) (empty-sosofo)))) (define (reference-titlepage elements #!optional (side 'recto)) (let ((nodelist (titlepage-nodelist (if (equal? side 'recto) (reference-titlepage-recto-elements) (reference-titlepage-verso-elements)) elements)) ;; partintro is a special case... (partintro (node-list-first (node-list-filter-by-gi elements (list (normalize "partintro")))))) (if (reference-titlepage-content? elements side) (make simple-page-sequence page-n-columns: %titlepage-n-columns% ;; Make sure that page number format is correct. page-number-format: ($page-number-format$) ;; Make sure that the page number is set to 1 if this is the ;; first part in the book page-number-restart?: (first-reference?) input-whitespace-treatment: 'collapse use: default-text-style ;; This hack is required for the RTF backend. If an external-graphic ;; is the first thing on the page, RTF doesn't seem to do the right ;; thing (the graphic winds up on the baseline of the first line ;; of the page, left justified). This "one point rule" fixes ;; that problem. (make paragraph line-spacing: 1pt (literal "")) (let loop ((nl nodelist) (lastnode (empty-node-list))) (if (node-list-empty? nl) (empty-sosofo) (make sequence (if (or (node-list-empty? lastnode) (not (equal? (gi (node-list-first nl)) (gi lastnode)))) (reference-titlepage-before (node-list-first nl) side) (empty-sosofo)) (cond ((equal? (gi (node-list-first nl)) (normalize "author")) (reference-titlepage-author (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "authorgroup")) (reference-titlepage-authorgroup (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "corpauthor")) (reference-titlepage-corpauthor (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "editor")) (reference-titlepage-editor (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "subtitle")) (reference-titlepage-subtitle (node-list-first nl) side)) ((equal? (gi (node-list-first nl)) (normalize "title")) (reference-titlepage-title (node-list-first nl) side)) (else (reference-titlepage-default (node-list-first nl) side))) (loop (node-list-rest nl) (node-list-first nl))))) (if (and %generate-reference-toc% %generate-reference-toc-on-titlepage% (equal? side 'recto)) (make display-group (build-toc (current-node) (toc-depth (current-node)))) (empty-sosofo)) ;; PartIntro is a special case (if (and (equal? side 'recto) (not (node-list-empty? partintro)) %generate-partintro-on-titlepage%) ($process-partintro$ partintro #f) (empty-sosofo))) (empty-sosofo)))) ]]> flightaware-Pgtcl-8d02566/generic/000077500000000000000000000000001203531660700167555ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/generic/libpgtcl.h000066400000000000000000000011541203531660700207270ustar00rootroot00000000000000/*------------------------------------------------------------------------- * * libpgtcl.h * * libpgtcl is a tcl package for front-ends to interface with PostgreSQL. * It's a Tcl wrapper for libpq. * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $Id$ * *------------------------------------------------------------------------- */ #ifndef LIBPGTCL_H #define LIBPGTCL_H #include EXTERN int Pgtcl_Init(Tcl_Interp *interp); extern int Pgtcl_SafeInit(Tcl_Interp *interp); #endif /* LIBPGTCL_H */ flightaware-Pgtcl-8d02566/generic/pgtcl.c000066400000000000000000000150501203531660700202330ustar00rootroot00000000000000/*------------------------------------------------------------------------ * * pgtcl.c * * libpgtcl is a tcl package for front-ends to interface with PostgreSQL. * It's a Tcl wrapper for libpq. * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION * $Id$ * *------------------------------------------------------------------------- */ #include #include "libpgtcl.h" #include "pgtclCmds.h" #include "pgtclId.h" #ifdef WIN32 #include #endif /* BEGIN STUBS MUMBO JUMBO http://mini.net/tcl/1687 */ /* We need at least the Tcl_Obj interface that was started in 8.0 */ #if TCL_MAJOR_VERSION < 8 #error "we need Tcl 8.0 or greater to build this" /* Check for Stubs compatibility when asked for it. */ #elif defined(USE_TCL_STUBS) && TCL_MAJOR_VERSION == 8 && \ (TCL_MINOR_VERSION == 0 || \ (TCL_MINOR_VERSION == 1 && TCL_RELEASE_LEVEL != TCL_FINAL_RELEASE)) #error "Stubs interface doesn't work in 8.0 and alpha/beta 8.1; only 8.1.0+" #endif #ifdef _MSC_VER /* Only do this when MSVC++ is compiling us. */ #ifdef USE_TCL_STUBS /* Mark this .obj as needing tcl's Stubs library. */ #pragma comment(lib, "tclstub" \ STRINGIFY(JOIN(TCL_MAJOR_VERSION,TCL_MINOR_VERSION)) ".lib") #if !defined(_MT) || !defined(_DLL) || defined(_DEBUG) /* * This fixes a bug with how the Stubs library was compiled. The * requirement for msvcrt.lib from tclstubXX.lib should be removed. */ #pragma comment(linker, "-nodefaultlib:msvcrt.lib") #endif #else /* Mark this .obj needing the import library */ #pragma comment(lib, "tcl" \ STRINGIFY(JOIN(TCL_MAJOR_VERSION,TCL_MINOR_VERSION)) ".lib") #endif #endif #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLEXPORT /* END STUBS MUMBO JUMBO */ typedef struct { char *name; /* Name of command. */ char *name2; /* Name of command, in ::pg namespace. */ Tcl_ObjCmdProc *objProc; /* Command's object-based procedure. */ int protocol; /* version 2 or version 3 (>=7.4) of PG protocol */ } PgCmd; static PgCmd commands[] = { {"pg_conndefaults", "::pg::conndefaults", Pg_conndefaults, 2}, {"pg_connect", "::pg::connect", Pg_connect,2}, {"pg_disconnect", "::pg::disconnect", Pg_disconnect,2}, {"pg_exec", "::pg::sqlexec", Pg_exec,2}, {"pg_exec_prepared", "::pg::exec_prepared", Pg_exec_prepared,3}, {"pg_select", "::pg::select", Pg_select,2}, {"pg_result", "::pg::result", Pg_result,2}, {"pg_execute", "::pg::execute", Pg_execute,2}, {"pg_lo_open", "::pg::lo_open", Pg_lo_open,2}, {"pg_lo_close", "::pg::lo_close", Pg_lo_close,2}, {"pg_lo_read", "::pg::lo_read", Pg_lo_read,2}, {"pg_lo_write", "::pg::lo_write", Pg_lo_write,2}, {"pg_lo_lseek", "::pg::lo_lseek", Pg_lo_lseek,2}, {"pg_lo_creat", "::pg::lo_creat", Pg_lo_creat,2}, {"pg_lo_tell", "::pg::lo_tell", Pg_lo_tell,2}, {"pg_lo_truncate", "::pg::lo_truncate", Pg_lo_truncate,2}, {"pg_lo_unlink", "::pg::lo_unlink", Pg_lo_unlink,2}, {"pg_lo_import", "::pg::lo_import", Pg_lo_import,2}, {"pg_lo_export", "::pg::lo_export", Pg_lo_export,2}, {"pg_listen", "::pg::listen", Pg_listen,2}, {"pg_sendquery", "::pg::sendquery", Pg_sendquery,2}, {"pg_sendquery_prepared", "::pg::sendquery_prepared", Pg_sendquery_prepared,3}, {"pg_getresult", "::pg::getresult", Pg_getresult,2}, {"pg_set_single_row_mode", "::pg::set_single_row_mode", Pg_set_single_row_mode,3}, {"pg_isbusy", "::pg::isbusy", Pg_isbusy,2}, {"pg_blocking", "::pg::blocking", Pg_blocking,2}, {"pg_null_value_string", "::pg::null_value_string", Pg_null_value_string,2}, {"pg_cancelrequest", "::pg::cancelrequest", Pg_cancelrequest,2}, {"pg_on_connection_loss", "::pg::on_connection_loss", Pg_on_connection_loss,2}, {"pg_quote", "::pg::quote", Pg_quote,2}, {"pg_escape_string", "::pg::escape_string", Pg_quote,2}, {"pg_escape_bytea", "::pg::escape_bytea", Pg_escapeBytea,2}, {"pg_unescape_bytea", "::pg::unescape_bytea", Pg_unescapeBytea,2}, {"pg_dbinfo", "::pg::dbinfo", Pg_dbinfo,2}, {"pg_getdata", "::pg::getdata", Pg_getdata,2}, {"pg_sql", "::pg::sql", Pg_sql,2}, {NULL, NULL, NULL, 0} }; /* * Pgtcl_Init * initialization package for the PGTCL Tcl package * */ EXTERN int Pgtcl_Init(Tcl_Interp *interp) { double tclversion; Tcl_Obj *tclVersionObj; PgCmd *cmdPtr; #ifdef WIN32 WSADATA wsaData; #endif #ifdef USE_TCL_STUBS if (Tcl_InitStubs(interp, "8.1", 0) == NULL) return TCL_ERROR; #endif #ifdef WIN32X /* * On Windows, need to explicitly load the libpq library to * force the call to WSAStartup. */ Tcl_Obj *tresult; if (LoadLibrary("libpq.dll") == NULL) { //char buf[32]; //sprintf(buf, "%d", GetLastError()); tresult = Tcl_NewStringObj("Cannot load \"libpq.dll\" (or dependant), error was "); Tcl_AppendToObj(tresult, GetLastError(), -1); Tcl_SetObjResult(interp, tresult); /* Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "Cannot load \"libpq.dll\" (or dependant), error was ", GetLastError(), NULL); */ return TCL_ERROR; } #endif #ifdef WIN32 if (WSAStartup(MAKEWORD(1, 1), &wsaData)) { /* * No really good way to do error handling here, since we * don't know how we were loaded */ return FALSE; } #endif /* * Tcl versions >= 8.1 use UTF-8 for their internal string * representation. Therefore PGCLIENTENCODING must be set to UNICODE * for these versions. */ if ((tclVersionObj = Tcl_GetVar2Ex(interp, "tcl_version", NULL, TCL_GLOBAL_ONLY)) == NULL) return TCL_ERROR; if (Tcl_GetDoubleFromObj(interp, tclVersionObj, &tclversion) == TCL_ERROR) return TCL_ERROR; if (tclversion >= 8.1) Tcl_PutEnv("PGCLIENTENCODING=UNICODE"); /* register all pgtcl commands */ for (cmdPtr = commands; cmdPtr->name != NULL; cmdPtr++) { Tcl_CreateObjCommand(interp, cmdPtr->name, cmdPtr->objProc, (ClientData) "::",NULL); Tcl_CreateObjCommand(interp, cmdPtr->name2, cmdPtr->objProc, (ClientData) "::pg::",NULL); } if (Tcl_Eval(interp, "namespace eval ::pg namespace export *") == TCL_ERROR) return TCL_ERROR; return Tcl_PkgProvide(interp, "Pgtcl", PACKAGE_VERSION); } int Pgtcl_SafeInit(Tcl_Interp *interp) { return Pgtcl_Init(interp); } flightaware-Pgtcl-8d02566/generic/pgtclAppInit.c000066400000000000000000000056541203531660700215310ustar00rootroot00000000000000/* * pgtclAppInit.c * * a skeletal Tcl_AppInit that provides pgtcl initialization * to create a tclsh that can talk to pglite backends * * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1993 The Regents of the University of California. * Copyright (c) 1994 Sun Microsystems, Inc. * Copyright (c) 1997-2007 Karl Lehenbauer, Brett Schwartz * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. */ #include #include /* * The following variable is a special hack that is needed in order for * Sun shared libraries to be used for Tcl. */ #ifdef NEED_MATHERR extern int matherr(); int *tclDummyMathPtr = (int *) matherr; #endif /* *---------------------------------------------------------------------- * * main * * This is the main program for the application. * * Results: * None: Tcl_Main never returns here, so this procedure never * returns either. * * Side effects: * Whatever the application does. * *---------------------------------------------------------------------- */ int main(argc, argv) int argc; /* Number of command-line arguments. */ char **argv; /* Values of command-line arguments. */ { Tcl_Main(argc, argv, Tcl_AppInit); return 0; /* Needed only to prevent compiler * warning. */ } /* *---------------------------------------------------------------------- * * Tcl_AppInit * * This procedure performs application-specific initialization. * Most applications, especially those that incorporate additional * packages, will have their own version of this procedure. * * Results: * Returns a standard Tcl completion code, and leaves an error * message in interp->result if an error occurs. * * Side effects: * Depends on the startup script. * *---------------------------------------------------------------------- */ int Tcl_AppInit(Tcl_Interp *interp) { if (Tcl_Init(interp) == TCL_ERROR) return TCL_ERROR; /* * Call the init procedures for included packages. Each call should * look like this: * * if (Mod_Init(interp) == TCL_ERROR) { return TCL_ERROR; } * * where "Mod" is the name of the module. */ if (Pgtcl_Init(interp) == TCL_ERROR) return TCL_ERROR; /* * Call Tcl_CreateCommand for application-specific commands, if they * weren't already created by the init procedures called above. */ /* * Specify a user-specific startup file to invoke if the application * is run interactively. Typically the startup file is "~/.apprc" * where "app" is the name of the application. If this line is * deleted then no user-specific startup file will be run under any * conditions. */ #if (TCL_MAJOR_VERSION <= 7) && (TCL_MINOR_VERSION < 5) tcl_RcFileName = "~/.tclshrc"; #else Tcl_SetVar(interp, "tcl_rcFileName", "~/.tclshrc", TCL_GLOBAL_ONLY); #endif return TCL_OK; } flightaware-Pgtcl-8d02566/generic/pgtclCmds.c000066400000000000000000003441451203531660700210540ustar00rootroot00000000000000/*------------------------------------------------------------------------- * * pgtclCmds.c * C functions which implement pg_* tcl commands * * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION * $Id$ * *------------------------------------------------------------------------- */ #include #include #include #include "pgtclCmds.h" #include "pgtclId.h" #include "libpq/libpq-fs.h" /* large-object interface */ #ifndef CONST84 # define CONST84 #endif /* * Local function forward declarations */ static int execute_put_values(Tcl_Interp *interp, CONST84 char *array_varname, PGresult *result, char *nullString, int tupno); #ifdef TCL_ARRAYS #define ISOCTAL(c) (((c) >= '0') && ((c) <= '7')) #define DIGIT(c) ((c) - '0') /* * translate_escape() * * This function performs in-place translation of a single C-style * escape sequence pointed by p. Curly braces { } and double-quote * are left escaped if they appear inside an array. * The value returned is the pointer to the last character (the one * just before the rest of the buffer). */ static inline char * translate_escape(char *p, int isArray) { char c, *q, *s; #ifdef TCL_ARRAYS_DEBUG_ESCAPE printf(" escape = '%s'\n", p); #endif /* Address of the first character after the escape sequence */ s = p + 2; switch (c = *(p + 1)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': c = DIGIT(c); if (ISOCTAL(*s)) c = (c << 3) + DIGIT(*s++); if (ISOCTAL(*s)) c = (c << 3) + DIGIT(*s++); *p = c; break; case 'b': *p = '\b'; break; case 'f': *p = '\f'; break; case 'n': *p = '\n'; break; case 'r': *p = '\r'; break; case 't': *p = '\t'; break; case 'v': *p = '\v'; break; case '\\': case '{': case '}': case '"': /* * Backslahes, curly braces and double-quotes are left escaped * if they appear inside an array. They will be unescaped by * Tcl in Tcl_AppendElement. The buffer position is advanced * by 1 so that the this character is not processed again by * the caller. */ if (isArray) return p + 1; else *p = c; break; case '\0': /* * This means a backslash at the end of the string. It should * never happen but in that case replace the \ with a \0 but * don't shift the rest of the buffer so that the caller can * see the end of the string and terminate. */ *p = c; return p; break; default: /* * Default case, store the escaped character over the * backslash and shift the buffer over itself. */ *p = c; } /* Shift the rest of the buffer over itself after the current char */ q = p + 1; for (; *s;) *q++ = *s++; *q = '\0'; #ifdef TCL_ARRAYS_DEBUG_ESCAPE printf(" after = '%s'\n", p); #endif return p; } /* * tcl_value() * * This function does in-line conversion of a value returned by libpq * into a tcl string or into a tcl list if the value looks like the * representation of a postgres array. */ static char * tcl_value(char *value) { int literal, last; char *p; if (!value) return NULL; #ifdef TCL_ARRAYS_DEBUG printf("pq_value = '%s'\n", value); #endif last = strlen(value) - 1; if ((last >= 1) && (value[0] == '{') && (value[last] == '}')) { /* Looks like an array, replace ',' with spaces */ /* Remove the outer pair of { }, the last first! */ value[last] = '\0'; value++; literal = 0; for (p = value; *p; p++) { if (!literal) { /* We are at the list level, look for ',' and '"' */ switch (*p) { case '"': /* beginning of literal */ literal = 1; break; case ',': /* replace the ',' with space */ *p = ' '; break; } } else { /* We are inside a C string */ switch (*p) { case '"': /* end of literal */ literal = 0; break; case '\\': /* * escape sequence, translate it */ p = translate_escape(p, 1); break; } } if (!*p) break; } } else { /* Looks like a normal scalar value */ for (p = value; *p; p++) { if (*p == '\\') { /* * escape sequence, translate it */ p = translate_escape(p, 0); } if (!*p) break; } } #ifdef TCL_ARRAYS_DEBUG printf("tcl_value = '%s'\n\n", value); #endif return value; } #else /* TCL_ARRAYS */ #define tcl_value(x) x #endif /* TCL_ARRAYS */ /* * PGgetvalue() * * This function gets a field result string for a specified PGresult, tuple * number and field number. If the string is empty and the connection has * a non-empty null string value defined, the field is checked to see if * the returned field is actually null and, if so, the null string value * associated with the connection is returned. * * If array-into-list processing has been defined, it is also performed, * which is probably a bad idea, since it can be tricked by legitimate * data, but that's tcl_value's fault, if TCL_ARRAYS is defined. */ static char * PGgetvalue ( PGresult *result, char *nullString, int tupno, int fieldNumber ) { char *string; string = PQgetvalue (result, tupno, fieldNumber); /* if the returned string is empty, see if we have a non-empty null * string value set for this connection and, if so, see if the * value returned is null. If it is, return the null string. */ if (*string == '\0') { if ((nullString != NULL) && (*nullString != '\0')) { if (PQgetisnull (result, tupno, fieldNumber)) { return nullString; } } /* string is empty but is either not null or null string is empty, * return the empty string */ return string; } /* string is not empty */ return tcl_value (string); } /********************************** * pg_conndefaults syntax: pg_conndefaults the return result is a list describing the possible options and their current default values for a call to pg_connect with the new -conninfo syntax. Each entry in the list is a sublist of the format: {optname label dispchar dispsize value} **********************************/ int Pg_conndefaults(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PQconninfoOption *options = PQconndefaults(); PQconninfoOption *option; if (objc != 1) { Tcl_WrongNumArgs(interp, 1, objv, ""); return TCL_ERROR; } if (options) { Tcl_Obj *resultList = Tcl_NewListObj(0, NULL); Tcl_SetListObj(resultList, 0, NULL); for (option = options; option->keyword != NULL; option++) { char *val = option->val ? option->val : ""; /* start a sublist */ Tcl_Obj *subList = Tcl_NewListObj(0, NULL); if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(option->keyword, -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(option->label, -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(option->dispchar, -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewIntObj(option->dispsize)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(val, -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, resultList, subList) == TCL_ERROR) return TCL_ERROR; } Tcl_SetObjResult(interp, resultList); PQconninfoFree(options); } return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_connect -- * * make a connection to a backend. * * Syntax: * pg_connect dbName [-host hostName] [-port portNumber] [-tty pqtty]] * pg_connect -conninfo "dbname=myydb host=myhost ..." * pg_connect -connlist [list dbname mydb host myhost ...] * pg_connect -connhandle myhandle * * Results: * the return result is either an error message or a handle for * a database connection. Handles start with the prefix "pgsql" * *---------------------------------------------------------------------- */ int Pg_connect(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; char *connhandle = NULL; int optIndex, i, skip = 0; Tcl_DString ds, utfds; Tcl_Obj *tresult; int async = 0; static CONST84 char *options[] = { "-host", "-port", "-tty", "-options", "-user", "-password", "-conninfo", "-connlist", "-connhandle", "-async", (char *)NULL }; enum options { OPT_HOST, OPT_PORT, OPT_TTY, OPT_OPTIONS, OPT_USER, OPT_PASSWORD, OPT_CONNINFO, OPT_CONNLIST, OPT_CONNHANDLE, OPT_ASYNC }; Tcl_DStringInit(&ds); if (objc == 1) { Tcl_DStringAppend(&ds, "pg_connect: database name missing\n", -1); Tcl_DStringAppend(&ds, "pg_connect databaseName [-host hostName] [-port portNumber] [-tty pgtty]\n", -1); Tcl_DStringAppend(&ds, "pg_connect -conninfo conninfoString\n", -1); Tcl_DStringAppend(&ds, "pg_connect -connlist [connlist]", -1); Tcl_DStringResult(interp, &ds); return TCL_ERROR; } i = objc%2 ? 1 : 2; while (i + 1 < objc) { char *nextArg = Tcl_GetStringFromObj(objv[i + 1], NULL); if (Tcl_GetIndexFromObj(interp, objv[i], options, "option", TCL_EXACT, &optIndex) != TCL_OK) return TCL_ERROR; switch ((enum options) optIndex) { case OPT_HOST: { Tcl_DStringAppend(&ds, " host=", -1); i += 2; break; } case OPT_PORT: { Tcl_DStringAppend(&ds, " port=", -1); i += 2; break; } case OPT_TTY: { Tcl_DStringAppend(&ds, " tty=", -1); i += 2; break; } case OPT_OPTIONS: { Tcl_DStringAppend(&ds, " options=", -1); i += 2; break; } case OPT_USER: { Tcl_DStringAppend(&ds, " user=", -1); i += 2; break; } case OPT_PASSWORD: { Tcl_DStringAppend(&ds, " password=", -1); i += 2; break; } case OPT_CONNINFO: { i += 2; break; } case OPT_CONNLIST: { Tcl_Obj **elemPtrs; int count, lelem; Tcl_ListObjGetElements(interp, objv[i + 1], &count, &elemPtrs); if (count % 2 != 0) { Tcl_WrongNumArgs(interp,1,objv,"-connlist {opt val ...}"); Tcl_DStringFree(&ds); return TCL_ERROR; } for (lelem = 0; lelem < count; lelem=lelem+2) { Tcl_DStringAppend(&ds, " ", -1); Tcl_DStringAppend(&ds, Tcl_GetStringFromObj(elemPtrs[lelem], NULL), -1); Tcl_DStringAppend(&ds, "=", -1); Tcl_DStringAppend(&ds, Tcl_GetStringFromObj(elemPtrs[lelem+1], NULL), -1); } i += 2; skip = 1; break; } case OPT_CONNHANDLE: { connhandle = nextArg; i += 2; skip = 1; break; } case OPT_ASYNC: { /* * Hummm, since we make the arg a string * at the very beginning, we have to deal * with that, in regards to finding the * boolean value for the -async flag */ if (strcmp(nextArg, "1") == 0) { async = 1; } i += 2; skip = 1; } } /** end switch **/ if (!skip) { Tcl_DStringAppend(&ds, nextArg, -1); } skip = 0; } /* end while */ /* * if even numbered args, then assume connect dbname ?option val? ... * and put dbname into conn string */ if (objc % 2 == 0) { if ((i % 2 != 0) || i != objc) { Tcl_WrongNumArgs(interp, 1, objv, "databaseName ?-host hostName? ?-port portNumber? ?-tty pgtty? ?-options pgoptions?"); Tcl_DStringFree(&ds); return TCL_ERROR; } Tcl_DStringAppend(&ds, " dbname=", -1); Tcl_DStringAppend(&ds, Tcl_GetStringFromObj(objv[1], NULL), -1); } Tcl_ExternalToUtfDString(NULL, Tcl_DStringValue(&ds), -1, &utfds); Tcl_DStringFree(&ds); if (async) { conn = PQconnectStart(Tcl_DStringValue(&utfds)); } else { conn = PQconnectdb(Tcl_DStringValue(&utfds)); } if (conn == NULL) { Tcl_SetResult(interp, "Could not allocate connection", TCL_STATIC); return TCL_ERROR; } Tcl_DStringFree(&utfds); if (PQstatus(conn) != CONNECTION_BAD) { if (PgSetConnectionId(interp, conn, connhandle)) { return TCL_OK; } } tresult = Tcl_NewStringObj("Connection to database failed\n", -1); if (PQstatus(conn) != CONNECTION_OK) { Tcl_AppendStringsToObj(tresult, PQerrorMessage(conn), NULL); } else { Tcl_AppendStringsToObj(tresult, "handle already exists", NULL); } Tcl_SetObjResult(interp, tresult); PQfinish(conn); return TCL_ERROR; } /********************************** * pg_disconnect close a backend connection syntax: pg_disconnect connection The argument passed in must be a connection pointer. **********************************/ int Pg_disconnect(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; Tcl_Channel conn_chan; CONST84 char *connString; Tcl_Obj *tresult; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "connection"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn_chan = Tcl_GetChannel(interp, connString, 0); if (conn_chan == NULL) { tresult = Tcl_NewStringObj(connString, -1); Tcl_AppendStringsToObj(tresult, " is not a valid connection", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } /* Check that it is a PG connection and not something else */ connid = (Pg_ConnectionId *) Tcl_GetChannelInstanceData(conn_chan); if (connid->conn == NULL) return TCL_ERROR; /* * We use to call Tcl_UnregisterChannel here, but since * we have a command deletion callback now, that gets * taken care of there (PgDelCmdHandle), by deleting the command * here. */ if (connid->cmd_token != NULL) { Tcl_DeleteCommandFromToken(interp, connid->cmd_token); } return TCL_OK; } /********************************** * pg_exec send a query string to the backend connection syntax: pg_exec connection query [var1] [var2]... the return result is either an error message or a handle for a query result. Handles start with the prefix "pgsql" **********************************/ int Pg_exec(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; PGresult *result; CONST84 char *connString; const char *execString; const char **paramValues = NULL; /* THIS CODE IS REPLICATED IN Pg_sendquery AND SHOULD BE FACTORED */ #ifdef HAVE_PQEXECPARAMS int nParams; if (objc < 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection queryString ?parm...?"); return TCL_ERROR; } /* extra params will substitute for $1, $2, etc, in the statement */ /* objc must be 3 or greater at this point */ nParams = objc - 3; /* If there are any extra params, allocate paramValues and fill it * with the string representations of all of the extra parameters * substituted on the command line. Otherwise nParams will be 0, * and PQexecParams will work just like PQexec (no $-substitutions). */ if (nParams > 0) { int param; paramValues = (const char **)ckalloc (nParams * sizeof (char *)); for (param = 0; param < nParams; param++) { paramValues[param] = Tcl_GetStringFromObj(objv[3+param], NULL); if (strcmp(paramValues[param], "NULL") == 0) { paramValues[param] = '\0'; } } } #else /* HAVE_PQEXECPARAMS */ if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection queryString"); return TCL_ERROR; } #endif /* HAVE_PQEXECPARAMS */ /* figure out the connect string and get the connection ID */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetResult(interp, "Attempt to query while COPY in progress", TCL_STATIC); return TCL_ERROR; } if (connid->callbackPtr || connid->callbackInterp) { Tcl_SetResult(interp, "Attempt to query while waiting for callback", TCL_STATIC); return TCL_ERROR; } execString = Tcl_GetStringFromObj(objv[2], NULL); /* we could call PQexecParams when nParams is 0, but PQexecParams * will not accept more than one SQL statement per call, while * PQexec will. by checking and using PQexec when no parameters * are included, we maintain compatibility for code that doesn't * use params and might have had multiple statements in a single * request */ #ifdef HAVE_PQEXECPARAMS if (nParams == 0) { #endif result = PQexec(conn, execString); #ifdef HAVE_PQEXECPARAMS } else { result = PQexecParams(conn, execString, nParams, NULL, paramValues, NULL, NULL, 0); ckfree ((void *)paramValues); } #endif connid->sql_count++; /* REPLICATED IN pg_exec_prepared -- NEEDS TO BE FACTORED */ /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (result) { int rId = PgSetResultId(interp, connString, result); ExecStatusType rStat = PQresultStatus(result); if (rStat == PGRES_COPY_IN || rStat == PGRES_COPY_OUT) { connid->res_copyStatus = RES_COPY_INPROGRESS; connid->res_copy = rId; } return TCL_OK; } else { /* error occurred during the query */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } } /********************************** * pg_exec_prepared send a request to executed a prepared statement with given parameters to the backend connection syntax: pg_exec_prepared connection statement_name [var1] [var2]... the return result is either an error message or a handle for a query result. Handles start with the prefix "pgp" **********************************/ int Pg_exec_prepared(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; PGresult *result; CONST84 char *connString; const char *statementNameString; const char **paramValues = NULL; int nParams; /* THIS CODE IS REPLICATED IN Pg_sendquery_prepared AND NEEDS TO BE FACTORED */ #ifndef HAVE_PQEXECPREPARED Tcl_SetObjResult(interp, Tcl_NewStringObj( "function unavailable with this version of the postgres libpq library\n", -1)); return TCL_ERROR; #else if (objc < 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection statementName [parm...]"); return TCL_ERROR; } /* figure out the connect string and get the connection ID */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetResult(interp, "Attempt to query while COPY in progress", TCL_STATIC); return TCL_ERROR; } if (connid->callbackPtr || connid->callbackInterp) { Tcl_SetResult(interp, "Attempt to query while waiting for callback", TCL_STATIC); return TCL_ERROR; } /* extra params will substitute for $1, $2, etc, in the statement */ /* objc must be 3 or greater at this point */ nParams = objc - 3; /* If there are any extra params, allocate paramValues and fill it * with the string representations of all of the extra parameters * substituted on the command line. Otherwise nParams will be 0, * and we don't need to allocate space, paramValues will be NULL. * However, prepared statements that don't take any parameters aren't * generally real useful. */ if (nParams > 0) { int param; paramValues = (const char **)ckalloc (nParams * sizeof (char *)); for (param = 0; param < nParams; param++) { paramValues[param] = Tcl_GetStringFromObj (objv[3+param], NULL); if (strcmp(paramValues[param], "NULL") == 0) { paramValues[param] = '\0'; } } } statementNameString = Tcl_GetStringFromObj(objv[2], NULL); result = PQexecPrepared(conn, statementNameString, nParams, paramValues, NULL, NULL, 0); if (paramValues != (const char **)NULL) { ckfree ((void *)paramValues); } connid->sql_count++; /* REPLICATED IN pg_exec -- NEEDS TO BE FACTORED */ /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (result) { int rId = PgSetResultId(interp, connString, result); ExecStatusType rStat = PQresultStatus(result); if (rStat == PGRES_COPY_IN || rStat == PGRES_COPY_OUT) { connid->res_copyStatus = RES_COPY_INPROGRESS; connid->res_copy = rId; } return TCL_OK; } else { /* error occurred during the query */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } #endif /* HAVE_PQEXECPREPARED */ } /********************************** * pg_result get information about the results of a query syntax: pg_result result ?option? the options are: -status the status of the result -error the error message, if the status indicates error; otherwise an empty string -conn the connection that produced the result -oid if command was an INSERT, the OID of the inserted tuple -numTuples the number of tuples in the query -cmdTuples Same as -numTuples, but for DELETE and UPDATE -numAttrs returns the number of attributes returned by the query -assign arrayName assign the results to an array, using subscripts of the form (tupno,attributeName) -assignbyidx arrayName ?appendstr? assign the results to an array using the first field's value as a key. All but the first field of each tuple are stored, using subscripts of the form (field0value,attributeNameappendstr) -getTuple tupleNumber returns the values of the tuple in a list -tupleArray tupleNumber arrayName stores the values of the tuple in array arrayName, indexed by the attributes returned. If a value is null, sets an empty string or the default string into the array, if a default string has been defined. -tupleArrayWithoutNulls tupleNumber arrayName ...stores the values of the tuple in array arrayName, indexed by the attributes returned. If a value is null, unsets the field from the array. -attributes returns a list of the name/type pairs of the tuple attributes -lAttributes returns a list of the {name type len} entries of the tuple attributes -list returns one list of all of the data -llist returns a list of lists, where each embedded list represents a tuple in the result -clear clear the result buffer. Do not reuse after this -null_value_string Set the value returned for fields that are null (defaults to connection setting, default "") **********************************/ int Pg_result(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGresult *result; int i; int tupno; Tcl_Obj *arrVarObj; Tcl_Obj *appendstrObj; char *queryResultString; int optIndex; int errorOptIndex; Tcl_Obj* listObj; Tcl_Obj* subListObj; Tcl_Obj* fieldObj = NULL; Tcl_Obj *fieldNameObj; Tcl_Obj* tresult; /* Tcl_CmdInfo infoPtr; */ Pg_resultid *resultid; static CONST84 char *options[] = { "-status", "-error", "-conn", "-oid", "-numTuples", "-cmdTuples", "-numAttrs", "-assign", "-assignbyidx", "-getTuple", "-tupleArray", "-tupleArrayWithoutNulls", "-attributes", "-lAttributes", "-clear", "-list", "-llist", "-dict", "-null_value_string", (char *)NULL }; enum options { OPT_STATUS, OPT_ERROR, OPT_CONN, OPT_OID, OPT_NUMTUPLES, OPT_CMDTUPLES, OPT_NUMATTRS, OPT_ASSIGN, OPT_ASSIGNBYIDX, OPT_GETTUPLE, OPT_TUPLEARRAY, OPT_TUPLEARRAY_WITHOUT_NULLS, OPT_ATTRIBUTES, OPT_LATTRIBUTES, OPT_CLEAR, OPT_LIST, OPT_LLIST, OPT_DICT, OPT_NULL_VALUE_STRING }; static CONST84 char *errorOptions[] = { "severity", "sqlstate", "primary", "detail", "hint", "position", "internal_position", "internal_query", "context", "file", "line", "function", (char *)NULL }; static CONST char pgDiagCodes[] = { PG_DIAG_SEVERITY, PG_DIAG_SQLSTATE, PG_DIAG_MESSAGE_PRIMARY, PG_DIAG_MESSAGE_DETAIL, PG_DIAG_MESSAGE_HINT, PG_DIAG_STATEMENT_POSITION, PG_DIAG_INTERNAL_POSITION, PG_DIAG_INTERNAL_QUERY, PG_DIAG_CONTEXT, PG_DIAG_SOURCE_FILE, PG_DIAG_SOURCE_LINE, PG_DIAG_SOURCE_FUNCTION }; if (objc < 3 || objc > 5) { Tcl_WrongNumArgs(interp, 1, objv, ""); goto Pg_result_errReturn; /* append help info */ } /* figure out the query result handle and look it up */ queryResultString = Tcl_GetStringFromObj(objv[1], NULL); result = PgGetResultId(interp, queryResultString, &resultid); if (result == (PGresult *)NULL) { tresult = Tcl_NewStringObj(queryResultString, -1); Tcl_AppendStringsToObj(tresult, " is not a valid query result", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } /* process command options */ if (Tcl_GetIndexFromObj(interp, objv[2], options, "option", TCL_EXACT, &optIndex) != TCL_OK) return TCL_ERROR; #ifndef HAVE_TCL_NEWDICTOBJ if ((enum options) optIndex == OPT_DICT) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "You need a Tcl version (8.5+) that supports dicts in order to use the -dict option", -1)); return TCL_ERROR; } #endif switch ((enum options) optIndex) { case OPT_STATUS: { char *resultStatus; if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } resultStatus = PQresStatus(PQresultStatus(result)); Tcl_SetObjResult(interp, Tcl_NewStringObj(resultStatus, -1)); return TCL_OK; } case OPT_ERROR: { if (objc < 3 || objc > 4) { Tcl_WrongNumArgs(interp, 3, objv, "[subcode]"); return TCL_ERROR; } /* if there's no subfield (objc == 3), just get the result * error message */ if (objc == 3) { Tcl_SetObjResult(interp, Tcl_NewStringObj(PQresultErrorMessage(result), -1)); return TCL_OK; } if (Tcl_GetIndexFromObj(interp, objv[3], errorOptions, "error suboption", TCL_EXACT, &errorOptIndex) != TCL_OK) { return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewStringObj( PQresultErrorField(result,pgDiagCodes[errorOptIndex]),-1)); return TCL_OK; } case OPT_CONN: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } return PgGetConnByResultId(interp, queryResultString); } case OPT_OID: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewLongObj(PQoidValue(result))); return TCL_OK; } case OPT_CLEAR: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } /* This will take care of the cleanup */ Tcl_DeleteCommandFromToken(interp, resultid->cmd_token); return TCL_OK; } case OPT_NUMTUPLES: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(PQntuples(result))); return TCL_OK; } case OPT_CMDTUPLES: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewStringObj( PQcmdTuples(result), -1)); return TCL_OK; } case OPT_NUMATTRS: { if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(PQnfields(result))); return TCL_OK; } case OPT_ASSIGN: { if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "arrayName"); return TCL_ERROR; } arrVarObj = objv[3]; /* * this assignment assigns the table of result tuples into * a giant array with the name given in the argument. The * indices of the array are of the form (tupno,attrName). */ for (tupno = 0; tupno < PQntuples(result); tupno++) { for (i = 0; i < PQnfields(result); i++) { Tcl_Obj *fieldNameObj; /* * construct the array element name consisting * of the tuple number, a comma, and the field * name. * this is a little kludgey -- we set the obj * to an int but the append following will force a * string conversion. */ fieldNameObj = Tcl_NewObj (); Tcl_SetIntObj(fieldNameObj, tupno); Tcl_AppendToObj(fieldNameObj, ",", 1); Tcl_AppendToObj(fieldNameObj, PQfname(result, i), -1); if (Tcl_ObjSetVar2(interp, arrVarObj, fieldNameObj, Tcl_NewStringObj( PGgetvalue(result, resultid->nullValueString, tupno, i), -1), TCL_LEAVE_ERR_MSG) == NULL) { Tcl_DecrRefCount (fieldNameObj); return TCL_ERROR; } } } return TCL_OK; } case OPT_ASSIGNBYIDX: { if ((objc != 4) && (objc != 5)) { Tcl_WrongNumArgs(interp, 3, objv, "arrayName ?append_string?"); return TCL_ERROR; } arrVarObj = objv[3]; if (objc == 5) appendstrObj = objv[4]; else appendstrObj = NULL; /* * this assignment assigns the table of result tuples into * a giant array with the name given in the argument. The * indices of the array are of the form * (field0Value,attrNameappendstr). Here, we still assume * PQfname won't exceed 200 characters, but we dare not * make the same assumption about the data in field 0 nor * the append string. */ for (tupno = 0; tupno < PQntuples(result); tupno++) { CONST84 char *field0 = PGgetvalue(result, resultid->nullValueString, tupno, 0); for (i = 1; i < PQnfields(result); i++) { Tcl_Obj *fieldNameObj; fieldNameObj = Tcl_NewObj (); Tcl_SetStringObj(fieldNameObj, field0, -1); Tcl_AppendToObj(fieldNameObj, ",", 1); Tcl_AppendToObj(fieldNameObj, PQfname(result, i), -1); if (appendstrObj != NULL) Tcl_AppendObjToObj(fieldNameObj, appendstrObj); if (Tcl_ObjSetVar2(interp, arrVarObj, fieldNameObj, Tcl_NewStringObj( PGgetvalue(result, resultid->nullValueString, tupno, i), -1), TCL_LEAVE_ERR_MSG) == NULL) { Tcl_DecrRefCount(fieldNameObj); return TCL_ERROR; } } } return TCL_OK; } case OPT_GETTUPLE: { Tcl_Obj *resultObj; if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "tuple_number"); return TCL_ERROR; } if (Tcl_GetIntFromObj(interp, objv[3], &tupno) == TCL_ERROR) return TCL_ERROR; if (tupno < 0 || tupno >= PQntuples(result)) { tresult = Tcl_NewStringObj("argument to getTuple cannot exceed ", -1); Tcl_AppendStringsToObj(tresult, "number of tuples - 1", NULL); Tcl_SetObjResult(interp, tresult); /* Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "argument to getTuple cannot exceed ", "number of tuples - 1", NULL); */ return TCL_ERROR; } /* set the result object to be an empty list */ resultObj = Tcl_NewListObj(0, NULL); /* build up a return list, Tcl-object-style */ for (i = 0; i < PQnfields(result); i++) { char *value; value = PGgetvalue(result, resultid->nullValueString, tupno, i); if (Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj(value, -1)) == TCL_ERROR) return TCL_ERROR; } Tcl_SetObjResult(interp, resultObj); return TCL_OK; } case OPT_TUPLEARRAY: case OPT_TUPLEARRAY_WITHOUT_NULLS: { char *arrayName; if (objc != 5) { Tcl_WrongNumArgs(interp, 3, objv, "tuple_number array_name"); return TCL_ERROR; } if (Tcl_GetIntFromObj(interp, objv[3], &tupno) == TCL_ERROR) return TCL_ERROR; if (tupno < 0 || tupno >= PQntuples(result)) { tresult = Tcl_NewStringObj("argument to tupleArray cannot exceed number of tuples - 1", -1); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } arrayName = Tcl_GetStringFromObj(objv[4], NULL); if (optIndex == OPT_TUPLEARRAY) { /* it's the -array variant, if the field is null, * set it in the array as the empty string or * as the set null value string if one is set */ for (i = 0; i < PQnfields(result); i++) { if (Tcl_SetVar2(interp, arrayName, PQfname(result, i), PGgetvalue(result, resultid->nullValueString, tupno, i), TCL_LEAVE_ERR_MSG) == NULL) return TCL_ERROR; } } else { /* it's the array_without_nulls variant, * unset the field name from the array * if it's null, else set it. */ for (i = 0; i < PQnfields(result); i++) { char *string; string = PQgetvalue (result, tupno, i); if (*string == '\0') { if (PQgetisnull (result, tupno, i)) { Tcl_UnsetVar2 (interp, arrayName, PQfname(result, i), 0); continue; } } if (Tcl_SetVar2(interp, arrayName, PQfname(result, i), string, TCL_LEAVE_ERR_MSG) == NULL) return TCL_ERROR; } } return TCL_OK; } case OPT_ATTRIBUTES: { Tcl_Obj *resultObj = Tcl_NewListObj(0, NULL); if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } for (i = 0; i < PQnfields(result); i++) { Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj(PQfname(result, i), -1)); } Tcl_SetObjResult(interp, resultObj); return TCL_OK; } case OPT_LATTRIBUTES: { Tcl_Obj *resultObj = Tcl_NewListObj(0, NULL); if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, ""); return TCL_ERROR; } for (i = 0; i < PQnfields(result); i++) { /* start a sublist */ Tcl_Obj *subList = Tcl_NewListObj(0, NULL); if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewStringObj(PQfname(result, i), -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewLongObj((long)PQftype(result, i))) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, subList, Tcl_NewLongObj((long)PQfsize(result, i))) == TCL_ERROR) return TCL_ERROR; /* end the sublist, append to the result list */ if (Tcl_ListObjAppendElement(interp, resultObj, subList) == TCL_ERROR) return TCL_ERROR; } Tcl_SetObjResult(interp, resultObj); return TCL_OK; } case OPT_LIST: { listObj = Tcl_NewListObj(0, (Tcl_Obj **) NULL); /* ** Loop through the tuple, and append each ** attribute to the list ** ** This option appends all of the attributes ** for each tuple to the same list */ for (tupno = 0; tupno < PQntuples(result); tupno++) { /* ** Loop over the attributes for the tuple, ** and append them to the list */ for (i = 0; i < PQnfields(result); i++) { fieldObj = Tcl_NewObj(); Tcl_SetStringObj(fieldObj, PGgetvalue(result, resultid->nullValueString, tupno, i), -1); if (Tcl_ListObjAppendElement(interp, listObj, fieldObj) != TCL_OK) { Tcl_DecrRefCount(listObj); Tcl_DecrRefCount(fieldObj); return TCL_ERROR; } } } Tcl_SetObjResult(interp, listObj); return TCL_OK; } case OPT_LLIST: { listObj = Tcl_NewListObj(0, (Tcl_Obj **) NULL); /* ** This is the top level list. This ** contains the other lists ** ** This option contructs a list of ** attributes for each tuple, and ** appends that to the main list. ** This is a list of lists */ for (tupno = 0; tupno < PQntuples(result); tupno++) { subListObj = Tcl_NewListObj(0, (Tcl_Obj **) NULL); /* ** This is the inner list. This contains ** the actual row values */ for (i = 0; i < PQnfields(result); i++) { fieldObj = Tcl_NewObj(); Tcl_SetStringObj(fieldObj, PGgetvalue(result, resultid->nullValueString, tupno, i), -1); if (Tcl_ListObjAppendElement(interp, subListObj, fieldObj) != TCL_OK) { Tcl_DecrRefCount(listObj); Tcl_DecrRefCount(fieldObj); return TCL_ERROR; } } if (Tcl_ListObjAppendElement(interp, listObj, subListObj) != TCL_OK) { Tcl_DecrRefCount(listObj); Tcl_DecrRefCount(fieldObj); return TCL_ERROR; } } Tcl_SetObjResult(interp, listObj); return TCL_OK; } case OPT_DICT: { #ifdef HAVE_TCL_NEWDICTOBJ listObj = Tcl_NewDictObj(); /* ** This is the top level list. This ** contains the other lists ** ** This option contructs a list of ** attributes for each tuple, and ** appends that to the main list. ** This is a list of lists */ for (tupno = 0; tupno < PQntuples(result); tupno++) { subListObj = Tcl_NewDictObj(); /* ** This is the inner list. This contains ** the actual row values */ for (i = 0; i < PQnfields(result); i++) { fieldObj = Tcl_NewObj(); fieldNameObj = Tcl_NewObj(); Tcl_SetStringObj(fieldNameObj, PQfname(result, i), -1); Tcl_SetStringObj(fieldObj, PGgetvalue(result, resultid->nullValueString, tupno, i), -1); if (Tcl_DictObjPut(interp, subListObj, fieldNameObj, fieldObj) != TCL_OK) { Tcl_DecrRefCount(listObj); Tcl_DecrRefCount(fieldObj); return TCL_ERROR; } } if (Tcl_DictObjPut(interp, listObj, Tcl_NewIntObj(tupno), subListObj) != TCL_OK) { Tcl_DecrRefCount(listObj); Tcl_DecrRefCount(fieldObj); return TCL_ERROR; } } Tcl_SetObjResult(interp, listObj); return TCL_OK; #endif /* HAVE_TCL_NEWDICTOBJ */ } case OPT_NULL_VALUE_STRING: { char *nullValueString; int length; if ((objc < 3) || (objc > 4)) { Tcl_WrongNumArgs(interp, 3, objv, "?nullValueString?"); return TCL_ERROR; } if (objc == 3) { if (resultid->nullValueString == NULL || *resultid->nullValueString == '\0') { Tcl_SetObjResult(interp, Tcl_NewStringObj("", 0)); } else { Tcl_SetObjResult(interp, Tcl_NewStringObj(resultid->nullValueString, -1)); } return TCL_OK; } /* objc == 4, they're setting it */ if (resultid->nullValueString != NULL) { if (resultid->connid->nullValueString != resultid->nullValueString) ckfree (resultid->nullValueString); } nullValueString = Tcl_GetStringFromObj (objv[3], &length); resultid->nullValueString = ckalloc (length + 1); strcpy (resultid->nullValueString, nullValueString); Tcl_SetObjResult(interp, objv[3]); return TCL_OK; } default: { Tcl_SetObjResult(interp, Tcl_NewStringObj("Invalid option\n", -1)); goto Pg_result_errReturn; /* append help info */ } } Pg_result_errReturn: tresult = Tcl_NewStringObj("pg_result result ?option? where option is\n", -1); Tcl_AppendStringsToObj(tresult, "\t-status\n", "\t-error\n", "\t-conn\n", "\t-oid\n", "\t-numTuples\n", "\t-cmdTuples\n", "\t-numAttrs\n" "\t-assign arrayVarName\n", "\t-assignbyidx arrayVarName ?appendstr?\n", "\t-getTuple tupleNumber\n", "\t-tupleArray tupleNumber arrayVarName\n", "\t-attributes\n" "\t-lAttributes\n" "\t-list\n", "\t-llist\n", "\t-clear\n", "\t-dict\n", (char *)NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } /********************************** * pg_execute send a query string to the backend connection and process the result syntax: pg_execute ?-array name? ?-oid varname? connection query ?loop_body? the return result is the number of tuples processed. If the query returns tuples (i.e. a SELECT statement), the result is placed into variables **********************************/ int Pg_execute(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; PGresult *result; int i; int tupno; int ntup; int loop_rc; CONST84 char *array_varname = NULL; char *arg; char *connString; char *queryString; Tcl_Obj *oid_varnameObj = NULL; Tcl_Obj *evalObj; Tcl_Obj *resultObj; char *usage = "?-array arrayname? ?-oid varname? " "connection queryString ?loop_body?"; /* * First we parse the options */ i = 1; while (i < objc) { arg = Tcl_GetStringFromObj(objv[i], NULL); if (arg[0] != '-') { break; } if (strcmp(arg, "-array") == 0) { /* * The rows should appear in an array vs. to single variables */ i++; if (i == objc) { Tcl_WrongNumArgs(interp, 1, objv, usage); return TCL_ERROR; } array_varname = Tcl_GetStringFromObj(objv[i++], NULL); continue; } arg = Tcl_GetStringFromObj(objv[i], NULL); if (strcmp(arg, "-oid") == 0) { /* * We should place PQoidValue() somewhere */ i++; if (i == objc) { Tcl_WrongNumArgs(interp, 1, objv, usage); return TCL_ERROR; } oid_varnameObj = objv[i++]; continue; } Tcl_WrongNumArgs(interp, 1, objv, usage); return TCL_ERROR; } /* * Check that after option parsing at least 'connection' and 'query' * are left */ if (objc - i < 2) { Tcl_WrongNumArgs(interp, 1, objv, usage); return TCL_ERROR; } /* * Get the connection and make sure no COPY command is pending */ connString = Tcl_GetStringFromObj(objv[i++], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetObjResult(interp, Tcl_NewStringObj("Attempt to query while COPY in progress", -1)); return TCL_ERROR; } if (connid->callbackPtr || connid->callbackInterp) { Tcl_SetResult(interp, "Attempt to query while waiting for callback", TCL_STATIC); return TCL_ERROR; } /* * Execute the query */ queryString = Tcl_GetStringFromObj(objv[i++], NULL); result = PQexec(conn, queryString); connid->sql_count++; /* * Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); /* * Check for errors */ if (result == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } /* * Set the oid variable to the returned oid of an INSERT statement if * requested (or 0 if it wasn't an INSERT) */ if (oid_varnameObj != NULL) { if (Tcl_ObjSetVar2(interp, oid_varnameObj, NULL, Tcl_NewLongObj((long)PQoidValue(result)), TCL_LEAVE_ERR_MSG) == NULL) { PQclear(result); return TCL_ERROR; } } /* * Decide how to go on based on the result status */ switch (PQresultStatus(result)) { case PGRES_TUPLES_OK: /* fall through if we have tuples */ break; case PGRES_EMPTY_QUERY: case PGRES_COMMAND_OK: case PGRES_COPY_IN: case PGRES_COPY_OUT: /* tell the number of affected tuples for non-SELECT queries */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQcmdTuples(result), -1)); PQclear(result); return TCL_OK; default: /* anything else must be an error */ /* set the result object to be an empty list */ resultObj = Tcl_NewListObj(0, NULL); if (Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj(PQresStatus(PQresultStatus(result)), -1)) == TCL_ERROR) return TCL_ERROR; if (Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj(PQresultErrorMessage(result), -1)) == TCL_ERROR) return TCL_ERROR; Tcl_SetObjResult(interp, resultObj); PQclear(result); return TCL_ERROR; } /* * We reach here only for queries that returned tuples */ if (i == objc) { /* * We don't have a loop body. If we have at least one result row, * we set all the variables to the first one and return. */ if (PQntuples(result) > 0) { if (execute_put_values(interp, array_varname, result, connid->nullValueString, 0) != TCL_OK) { PQclear(result); return TCL_ERROR; } } Tcl_SetObjResult(interp, Tcl_NewIntObj(PQntuples(result))); PQclear(result); return TCL_OK; } /* * We have a loop body. For each row in the result set, put the values * into the Tcl variables and execute the body. */ ntup = PQntuples(result); evalObj = objv[i]; for (tupno = 0; tupno < ntup; tupno++) { if (execute_put_values(interp, array_varname, result, connid->nullValueString, tupno) != TCL_OK) { PQclear(result); return TCL_ERROR; } loop_rc = Tcl_EvalObjEx(interp, evalObj, 0); /* The returncode of the loop body controls the loop execution */ if (loop_rc == TCL_OK || loop_rc == TCL_CONTINUE) { /* OK or CONTINUE means start next loop invocation */ continue; } if (loop_rc == TCL_RETURN) { /* RETURN means hand up the given interpreter result */ PQclear(result); return TCL_RETURN; } if (loop_rc == TCL_BREAK) { /* BREAK means leave the loop */ break; } PQclear(result); return TCL_ERROR; } /* * At the end of the loop we put the number of rows we got into the * interpreter result and clear the result set. */ Tcl_SetObjResult(interp, Tcl_NewIntObj(ntup)); PQclear(result); return TCL_OK; } /********************************** * execute_put_values Put the values of one tuple into Tcl variables named like the column names, or into an array indexed by the column names. **********************************/ static int execute_put_values(Tcl_Interp *interp, CONST84 char *array_varname, PGresult *result, char *nullValueString, int tupno) { int i; int n; char *fname; char *value; /* * For each column get the column name and value and put it into a Tcl * variable (either scalar or array item) */ n = PQnfields(result); for (i = 0; i < n; i++) { fname = PQfname(result, i); value = PGgetvalue(result, nullValueString, tupno, i); if (array_varname != NULL) { if (Tcl_SetVar2(interp, array_varname, fname, value, TCL_LEAVE_ERR_MSG) == NULL) return TCL_ERROR; } else { if (Tcl_SetVar(interp, fname, value, TCL_LEAVE_ERR_MSG) == NULL) return TCL_ERROR; } } return TCL_OK; } /********************************** * pg_lo_open open a large object syntax: pg_lo_open conn objOid mode where mode can be either 'r', 'w', or 'rw' **********************/ int Pg_lo_open(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int lobjId; int mode; int fd; char *connString; char *modeString; int modeStringLen; if (objc != 4) { Tcl_WrongNumArgs(interp, 1, objv, "connection lobjOid mode"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &lobjId) == TCL_ERROR) return TCL_ERROR; modeString = Tcl_GetStringFromObj(objv[3], &modeStringLen); if ((modeStringLen < 1) || (modeStringLen > 2)) { Tcl_SetObjResult(interp, Tcl_NewStringObj("mode argument must be 'r', 'w', or 'rw'", -1)); return TCL_ERROR; } switch (modeString[0]) { case 'r': case 'R': mode = INV_READ; break; case 'w': case 'W': mode = INV_WRITE; break; default: Tcl_SetObjResult(interp, Tcl_NewStringObj("mode argument must be 'r', 'w', or 'rw'", -1)); return TCL_ERROR; } switch (modeString[1]) { case '\0': break; case 'r': case 'R': mode |= INV_READ; break; case 'w': case 'W': mode |= INV_WRITE; break; default: Tcl_SetObjResult(interp, Tcl_NewStringObj("mode argument must be 'r', 'w', or 'rw'", -1)); return TCL_ERROR; } fd = lo_open(conn, lobjId, mode); Tcl_SetObjResult(interp, Tcl_NewIntObj(fd)); return TCL_OK; } /********************************** * pg_lo_close close a large object syntax: pg_lo_close conn fd **********************/ int Pg_lo_close(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int fd; char *connString; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection fd"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; Tcl_SetObjResult(interp, Tcl_NewIntObj(lo_close(conn, fd))); return TCL_OK; } /********************************** * pg_lo_read reads at most len bytes from a large object into a variable named bufVar syntax: pg_lo_read conn fd bufVar len bufVar is the name of a variable in which to store the contents of the read **********************/ int Pg_lo_read(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int fd; int nbytes = 0; char *buf; Tcl_Obj *bufVar; Tcl_Obj *bufObj; int len; int rc = TCL_OK; if (objc != 5) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd bufVar len"); return TCL_ERROR; } conn = PgGetConnectionId(interp, Tcl_GetStringFromObj(objv[1], NULL), NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; bufVar = objv[3]; if (Tcl_GetIntFromObj(interp, objv[4], &len) != TCL_OK) return TCL_ERROR; if (len <= 0) { Tcl_SetObjResult(interp, Tcl_NewIntObj(nbytes)); return TCL_OK; } buf = ckalloc(len + 1); nbytes = lo_read(conn, fd, buf, len); if (nbytes >= 0) { #if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 1 || TCL_MAJOR_VERSION > 8 bufObj = Tcl_NewByteArrayObj((unsigned char*)buf, nbytes); #else bufObj = Tcl_NewStringObj(buf, nbytes); #endif if (Tcl_ObjSetVar2(interp, bufVar, NULL, bufObj, TCL_LEAVE_ERR_MSG | TCL_PARSE_PART1) == NULL) rc = TCL_ERROR; } if (rc == TCL_OK) Tcl_SetObjResult(interp, Tcl_NewIntObj(nbytes)); ckfree((char*)buf); return rc; } /*********************************** Pg_lo_write write at most len bytes to a large object syntax: pg_lo_write conn fd buf len ***********************************/ int Pg_lo_write(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; char *buf; int fd; int nbytes = 0; int len; if (objc != 5) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd buf len"); return TCL_ERROR; } conn = PgGetConnectionId(interp, Tcl_GetStringFromObj(objv[1], NULL), NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; buf = (char*)Tcl_GetByteArrayFromObj(objv[3], &nbytes); if (Tcl_GetIntFromObj(interp, objv[4], &len) != TCL_OK) return TCL_ERROR; if (len > nbytes) len = nbytes; if (len <= 0) { Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); return TCL_OK; } nbytes = lo_write(conn, fd, (char*)buf, len); Tcl_SetObjResult(interp, Tcl_NewIntObj(nbytes)); return TCL_OK; } /*********************************** Pg_lo_lseek seek to a certain position in a large object syntax pg_lo_lseek conn fd offset whence whence can be either "SEEK_CUR", "SEEK_END", or "SEEK_SET" ***********************************/ int Pg_lo_lseek(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int fd; char *whenceStr; int offset; int whence; char *connString; Tcl_Obj *tresult; if (objc != 5) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd offset whence"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[3], &offset) == TCL_ERROR) return TCL_ERROR; whenceStr = Tcl_GetStringFromObj(objv[4], NULL); if (strcmp(whenceStr, "SEEK_SET") == 0) whence = SEEK_SET; else if (strcmp(whenceStr, "SEEK_CUR") == 0) whence = SEEK_CUR; else if (strcmp(whenceStr, "SEEK_END") == 0) whence = SEEK_END; else { tresult = Tcl_NewStringObj("'whence' must be SEEK_SET, SEEK_CUR or SEEK_END", -1); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(lo_lseek(conn, fd, offset, whence))); return TCL_OK; } /*********************************** Pg_lo_creat create a new large object with mode syntax: pg_lo_creat conn mode mode can be any OR'ing together of INV_READ, INV_WRITE, for now, we don't support any additional storage managers. ***********************************/ int Pg_lo_creat(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; char *modeStr; char *modeWord; int mode; char *connString; Tcl_Obj *tresult; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "conn mode"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; modeStr = Tcl_GetStringFromObj(objv[2], NULL); modeWord = strtok(modeStr, "|"); if (strcmp(modeWord, "INV_READ") == 0) mode = INV_READ; else if (strcmp(modeWord, "INV_WRITE") == 0) mode = INV_WRITE; else { tresult = Tcl_NewStringObj("mode must be some OR'd combination of INV_READ, and INV_WRITE", -1); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } while ((modeWord = strtok(NULL, "|")) != NULL) { if (strcmp(modeWord, "INV_READ") == 0) mode |= INV_READ; else if (strcmp(modeWord, "INV_WRITE") == 0) mode |= INV_WRITE; else { tresult = Tcl_NewStringObj("mode must be some OR'd combination of INV_READ, and INV_WRITE", -1); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } } Tcl_SetObjResult(interp, Tcl_NewIntObj(lo_creat(conn, mode))); return TCL_OK; } /*********************************** Pg_lo_tell returns the current seek location of the large object syntax: pg_lo_tell conn fd ***********************************/ int Pg_lo_tell(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int fd; char *connString; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; Tcl_SetObjResult(interp, Tcl_NewIntObj(lo_tell(conn, fd))); return TCL_OK; } /*********************************** Pg_lo_truncate truncates a large object to the given length. If length is greater than the current large object length, the large object is extended with null bytes. syntax: pg_lo_truncate conn fd len ***********************************/ int Pg_lo_truncate(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { #ifdef HAVE_LO_TRUNCATE PGconn *conn; int fd; int len = 0; char *connString; #endif if ((objc < 3) || (objc > 4)) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd ?len?"); return TCL_ERROR; } #ifndef HAVE_LO_TRUNCATE Tcl_SetObjResult(interp, Tcl_NewStringObj( "The version of libpq that Pgtcl was compiled against does not have lo_truncate", -1)); return TCL_ERROR; #else connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &fd) != TCL_OK) return TCL_ERROR; if (objc == 4) { if (Tcl_GetIntFromObj(interp, objv[3], &len) != TCL_OK) return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(lo_truncate(conn, fd, len))); #endif /* HAVE_LO_TRUNCATE */ return TCL_OK; } /*********************************** Pg_lo_unlink unlink a file based on lobject id syntax: pg_lo_unlink conn lobjId ***********************************/ int Pg_lo_unlink(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; int lobjId; int retval; char *connString; Tcl_Obj *tresult; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "conn fd"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], &lobjId) == TCL_ERROR) return TCL_ERROR; retval = lo_unlink(conn, lobjId); if (retval == -1) { tresult = Tcl_NewStringObj("unlink of '", -1); Tcl_AppendStringsToObj(tresult, lobjId, NULL); Tcl_AppendStringsToObj(tresult, "' failed", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewIntObj(retval)); return TCL_OK; } /*********************************** Pg_lo_import import a Unix file into an (inversion) large objct returns the oid of that object upon success returns InvalidOid upon failure syntax: pg_lo_import conn filename ***********************************/ int Pg_lo_import(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; const char *filename; Oid lobjId; char *connString; Tcl_Obj *tresult; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "conn filename"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; filename = Tcl_GetStringFromObj(objv[2], NULL); lobjId = lo_import(conn, filename); if (lobjId == InvalidOid) { tresult = Tcl_NewStringObj("import of '", -1); Tcl_AppendStringsToObj(tresult, filename, NULL); Tcl_AppendStringsToObj(tresult, "' failed", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewLongObj((long)lobjId)); return TCL_OK; } /*********************************** Pg_lo_export export an Inversion large object to a Unix file syntax: pg_lo_export conn lobjId filename ***********************************/ int Pg_lo_export(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; const char *filename; Oid lobjId; int retval; char *connString; Tcl_Obj *tresult; if (objc != 4) { Tcl_WrongNumArgs(interp, 1, objv, "conn lobjId filename"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; if (Tcl_GetIntFromObj(interp, objv[2], (int *)&lobjId) == TCL_ERROR) return TCL_ERROR; filename = Tcl_GetStringFromObj(objv[3], NULL); retval = lo_export(conn, lobjId, filename); if (retval == -1) { tresult = Tcl_NewStringObj("export failed", -1); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } return TCL_OK; } /********************************** * pg_select send a select query string to the backend connection syntax: pg_select ?-nodotfields? ?-withoutnulls? connection query var proc The query must be a select statement The var is used in the proc as an array The proc is run once for each row found .headers, .numcols and .tupno are not set if -nodotfields is specified null variables are set as empty strings unless -withoutnulls is specified, in which case null variables are made to simply be absent from the array Originally I was also going to update changes but that has turned out to be not so simple. Instead, the caller should get the OID of any table they want to update and update it themself in the loop. I may try to write a simplified table lookup and update function to make that task a little easier. The return is either TCL_OK, TCL_ERROR or TCL_RETURN and interp->result may contain more information. **********************************/ int Pg_select(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; PGresult *result; int r, retval = TCL_ERROR; int tupno, column, ncols; int withoutNulls = 0; int noDotFields = 0; int index = 1; char *optString; char *connString; char *queryString; char *varNameString; Tcl_Obj *varNameObj; Tcl_Obj *procStringObj; Tcl_Obj *columnListObj; Tcl_Obj **columnNameObjs = NULL; if (objc < 5 || objc > 7) { wrongargs: Tcl_WrongNumArgs(interp, 1, objv, "?-nodotfields? ?-withoutnulls? connection queryString var proc"); return TCL_ERROR; } while (objc - index >= 5) { optString = Tcl_GetString (objv[index]); if (*optString == '-' && strcmp (optString, "-withoutnulls") == 0) { withoutNulls = 1; index++; } else if (*optString == '-' && strcmp (optString, "-nodotfields") == 0) { noDotFields = 1; index++; } else { goto wrongargs; } } connString = Tcl_GetStringFromObj(objv[index++], NULL); queryString = Tcl_GetStringFromObj(objv[index++], NULL); varNameObj = objv[index++]; varNameString = Tcl_GetStringFromObj(varNameObj, NULL); procStringObj = objv[index++]; conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; connid->sql_count++; if ((result = PQexec(conn, queryString)) == 0) { /* error occurred sending the query */ Tcl_SetResult(interp, PQerrorMessage(conn), TCL_VOLATILE); return TCL_ERROR; } /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (PQresultStatus(result) != PGRES_TUPLES_OK) { /* query failed, or it wasn't SELECT */ Tcl_SetResult(interp, (char *)PQresultErrorMessage(result), TCL_VOLATILE); PQclear(result); return TCL_ERROR; } ncols = PQnfields(result); columnNameObjs = (Tcl_Obj **)ckalloc(sizeof(Tcl_Obj *) * ncols); for (column = 0; column < ncols; column++) { char *colName = PQfname(result, column); if (colName == NULL) { // PQfname failed, shouldn't happen, but we've seen it char msg[60]; sprintf(msg, "PQfname() returned NULL for column %d, ncols %d", column, ncols); Tcl_SetResult(interp, msg, TCL_VOLATILE); PQclear(result); return TCL_ERROR; } else { columnNameObjs[column] = Tcl_NewStringObj(colName, -1); } } columnListObj = Tcl_NewListObj(ncols, columnNameObjs); if (!noDotFields && Tcl_SetVar2Ex(interp, varNameString, ".headers", columnListObj, TCL_LEAVE_ERR_MSG) == NULL) goto done; if (!noDotFields && Tcl_SetVar2Ex(interp, varNameString, ".numcols", Tcl_NewIntObj(ncols), TCL_LEAVE_ERR_MSG) == NULL) goto done; retval = TCL_OK; for (tupno = 0; tupno < PQntuples(result); tupno++) { if (!noDotFields && Tcl_SetVar2Ex(interp, varNameString, ".tupno", Tcl_NewIntObj(tupno), TCL_LEAVE_ERR_MSG) == NULL) { retval = TCL_ERROR; goto done; } for (column = 0; column < ncols; column++) { Tcl_Obj *valueObj = NULL; char *string; string = PQgetvalue (result, tupno, column); if (*string == '\0') { if (PQgetisnull (result, tupno, column)) { if (withoutNulls) { Tcl_UnsetVar2 (interp, varNameString, PQfname(result, column), 0); continue; } if ((connid->nullValueString != NULL) && (*connid->nullValueString != '\0')) { valueObj = Tcl_NewStringObj(connid->nullValueString, -1); } } } if (valueObj == NULL) { valueObj = Tcl_NewStringObj(string, -1); } if (Tcl_ObjSetVar2(interp, varNameObj, columnNameObjs[column], valueObj, TCL_LEAVE_ERR_MSG) == NULL) { retval = TCL_ERROR; goto done; } } r = Tcl_EvalObjEx(interp, procStringObj, 0); if ((r != TCL_OK) && (r != TCL_CONTINUE)) { if (r == TCL_BREAK) break; /* exit loop, but return TCL_OK */ if (r == TCL_ERROR) { char msg[60]; sprintf(msg, "\n (\"pg_select\" body line %d)", Tcl_GetErrorLine(interp)); Tcl_AddErrorInfo(interp, msg); } retval = r; break; } } done: if (columnNameObjs != NULL) { ckfree((void *)columnNameObjs); } Tcl_UnsetVar(interp, varNameString, 0); PQclear(result); return retval; } /* * Test whether any callbacks are registered on this connection for * the given relation name. NB: supplied name must be case-folded already. */ static int Pg_have_listener(Pg_ConnectionId * connid, const char *relname) { Pg_TclNotifies *notifies; Tcl_HashEntry *entry; for (notifies = connid->notify_list; notifies != NULL; notifies = notifies->next) { Tcl_Interp *interp = notifies->interp; if (interp == NULL) continue; /* ignore deleted interpreter */ entry = Tcl_FindHashEntry(¬ifies->notify_hash, (char *)relname); if (entry == NULL) continue; /* no pg_listen in this interpreter */ return 1; /* OK, there is a listener */ } return 0; /* Found no listener */ } /*********************************** Pg_listen create or remove a callback request for notifies on a given name syntax: pg_listen conn notifyname ?callbackcommand? With a fourth arg, creates or changes the callback command for notifies on the given name; without, cancels the callback request. Callbacks can occur whenever Tcl is executing its event loop. This is the normal idle loop in Tk; in plain tclsh applications, vwait or update can be used to enter the Tcl event loop. ***********************************/ int Pg_listen(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { const char *origrelname; char *caserelname; char *callback = NULL; Pg_TclNotifies *notifies; Tcl_HashEntry *entry; Pg_ConnectionId *connid; PGconn *conn; PGresult *result; int new; char *connString; int callbackStrlen = 0; int origrelnameStrlen; Tcl_Obj *tresult; if (objc < 3 || objc > 4) { Tcl_WrongNumArgs(interp, 1, objv, "connection relname ?callback?"); return TCL_ERROR; } /* * Get the command arguments. Note that the relation name will be * copied by Tcl_CreateHashEntry while the callback string must be * allocated by us. */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->callbackPtr || connid->callbackInterp) { Tcl_SetResult(interp, "Attempt to query while waiting for callback", TCL_STATIC); return TCL_ERROR; } /* * LISTEN/NOTIFY do not preserve case unless the relation name is * quoted. We have to do the same thing to ensure that we will find * the desired pg_listen item. */ origrelname = Tcl_GetStringFromObj(objv[2], &origrelnameStrlen); caserelname = (char *)ckalloc((unsigned)(origrelnameStrlen + 1)); if (*origrelname == '"') { /* Copy a quoted string without downcasing */ strcpy(caserelname, origrelname + 1); caserelname[origrelnameStrlen - 2] = '\0'; } else { /* Downcase it */ const char *rels = origrelname; char *reld = caserelname; while (*rels) *reld++ = tolower((unsigned char)*rels++); *reld = '\0'; } if (objc > 3) { char *callbackStr; callbackStr = Tcl_GetStringFromObj(objv[3], &callbackStrlen); callback = ckalloc(callbackStrlen + 1); strcpy(callback, callbackStr); } /* Find or make a Pg_TclNotifies struct for this interp and connection */ for (notifies = connid->notify_list; notifies; notifies = notifies->next) { if (notifies->interp == interp) break; } if (notifies == NULL) { notifies = (Pg_TclNotifies *) ckalloc(sizeof(Pg_TclNotifies)); notifies->interp = interp; Tcl_InitHashTable(¬ifies->notify_hash, TCL_STRING_KEYS); notifies->conn_loss_cmd = NULL; notifies->next = connid->notify_list; connid->notify_list = notifies; Tcl_CallWhenDeleted(interp, PgNotifyInterpDelete, (ClientData)notifies); } if (callback) { /* * Create or update a callback for a relation */ int alreadyHadListener = Pg_have_listener(connid, caserelname); entry = Tcl_CreateHashEntry(¬ifies->notify_hash, caserelname, &new); /* If update, free the old callback string */ if (!new) ckfree((char *)Tcl_GetHashValue(entry)); /* Store the new callback string */ Tcl_SetHashValue(entry, callback); /* Start the notify event source if it isn't already running */ PgStartNotifyEventSource(connid); /* * Send a LISTEN command if this is the first listener. */ if (!alreadyHadListener) { char *cmd = (char *)ckalloc((unsigned)(origrelnameStrlen + 8)); sprintf(cmd, "LISTEN %s", origrelname); result = PQexec(conn, cmd); ckfree(cmd); /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (PQresultStatus(result) != PGRES_COMMAND_OK) { /* Error occurred during the execution of command */ PQclear(result); Tcl_DeleteHashEntry(entry); ckfree(callback); ckfree(caserelname); Tcl_SetResult(interp, PQerrorMessage(conn), TCL_VOLATILE); return TCL_ERROR; } PQclear(result); } } else { /* * Remove a callback for a relation */ entry = Tcl_FindHashEntry(¬ifies->notify_hash, caserelname); if (entry == NULL) { tresult = Tcl_NewStringObj("not listening on ", -1); Tcl_AppendStringsToObj(tresult, origrelname, NULL); Tcl_SetObjResult(interp, tresult); ckfree(caserelname); return TCL_ERROR; } ckfree((char *)Tcl_GetHashValue(entry)); Tcl_DeleteHashEntry(entry); /* * Send an UNLISTEN command if that was the last listener. Note: * we don't attempt to turn off the notify mechanism if no LISTENs * remain active; not worth the trouble. */ if (!Pg_have_listener(connid, caserelname)) { char *cmd = (char *) ckalloc((unsigned)(origrelnameStrlen + 10)); sprintf(cmd, "UNLISTEN %s", origrelname); result = PQexec(conn, cmd); ckfree(cmd); /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (PQresultStatus(result) != PGRES_COMMAND_OK) { /* Error occurred during the execution of command */ PQclear(result); ckfree(caserelname); Tcl_SetResult(interp, PQerrorMessage(conn), TCL_VOLATILE); return TCL_ERROR; } PQclear(result); } } ckfree(caserelname); return TCL_OK; } /********************************** * pg_sendquery send a query string to the backend connection syntax: pg_sendquery connection query the return result is either an error message or nothing, indicating the command was dispatched. **********************************/ int Pg_sendquery(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; char *execString; int status; /* THIS CODE IS REPLICATED IN Pg_exec AND SHOULD BE FACTORED */ #ifdef HAVE_PQSENDQUERYPARAMS int nParams; const char **paramValues = NULL; if (objc < 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection queryString [parm...]"); return TCL_ERROR; } /* extra params will substitute for $1, $2, etc, in the statement */ /* objc must be 3 or greater at this point */ nParams = objc - 3; /* If there are any extra params, allocate paramValues and fill it * with the string representations of all of the extra parameters * substituted on the command line. Otherwise nParams will be 0, * and PQexecParams will work just like PQexec (no $-substitutions). */ if (nParams > 0) { int param; paramValues = (const char **)ckalloc (nParams * sizeof (char *)); for (param = 0; param < nParams; param++) { paramValues[param] = Tcl_GetStringFromObj (objv[3+param], NULL); if (strcmp(paramValues[param], "NULL") == 0) { paramValues[param] = '\0'; } } } #else /* HAVE_PQSENDQUERYPARAMS */ if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection queryString"); return TCL_ERROR; } #endif /* HAVE_PQSENDQUERYPARAMS */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetResult(interp, "Attempt to query while COPY in progress", TCL_STATIC); return TCL_ERROR; } execString = Tcl_GetStringFromObj(objv[2], NULL); #ifdef HAVE_PQSENDQUERYPARAMS if (nParams == 0) { #endif status = PQsendQuery(conn, execString); #ifdef HAVE_PQSENDQUERYPARAMS } else { status = PQsendQueryParams(conn, execString, nParams, NULL, paramValues, NULL, NULL, 1); ckfree ((void *)paramValues); } #endif connid->sql_count++; /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (status) return TCL_OK; else { /* error occurred during the query */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } } /********************************** * pg_sendquery_prepared send a request to executed a prepared statement with given parameters to the backend connection, asynchronously syntax: pg_sendquery_prepared connection statement_name [var1] [var2]... the return result is either an error message or a handle for a query result. Handles start with the prefix "pgp" **********************************/ int Pg_sendquery_prepared(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; char *statementNameString; const char **paramValues = NULL; int nParams; int status; /* THIS CODE IS REPLICATED IN Pg_exec_prepared AND NEEDS TO BE FACTORED */ #ifndef HAVE_PQSENDQUERYPREPARED Tcl_SetObjResult(interp, Tcl_NewStringObj("function unavailable with this version of the postgres libpq library", -1)); return TCL_ERROR; #else /* HAVE_PQSENDQUERYPREPARED */ if (objc < 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection statementName [parm...]"); return TCL_ERROR; } /* extra params will substitute for $1, $2, etc, in the statement */ /* objc must be 3 or greater at this point */ nParams = objc - 3; /* figure out the connect string and get the connection ID */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetResult(interp, "Attempt to query while COPY in progress", TCL_STATIC); return TCL_ERROR; } /* If there are any extra params, allocate paramValues and fill it * with the string representations of all of the extra parameters * substituted on the command line. Otherwise nParams will be 0, * and we don't need to allocate space, paramValues will be NULL. * However, prepared statements that don't take any parameters aren't * generally real useful. */ if (nParams > 0) { int param; paramValues = (const char **)ckalloc (nParams * sizeof (char *)); for (param = 0; param < nParams; param++) { paramValues[param] = Tcl_GetStringFromObj (objv[3+param], NULL); if (strcmp(paramValues[param], "NULL") == 0) { paramValues[param] = '\0'; } } } statementNameString = Tcl_GetStringFromObj(objv[2], NULL); status = PQsendQueryPrepared(conn, statementNameString, nParams, paramValues, NULL, NULL, 1); connid->sql_count++; if (paramValues != (const char **)NULL) { ckfree ((void *)paramValues); } /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); if (status) return TCL_OK; else { /* error occurred during the query */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } #endif /* HAVE_PQSENDQUERYPREPARED */ } /********************************** * pg_set_single_row_mode if called at the correct time and referencing new enough libpq (9.2+) this activates single-row return mode for the current query and returns 1, else returns 0. syntax: pg_set_single_row_mode connection the return result is either 1 or 0. **********************************/ int Pg_set_single_row_mode(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; #ifdef HAVE_PQSETSINGLEROWMODE int setRowModeResult; #endif if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "connection"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; #ifndef HAVE_PQSETSINGLEROWMODE Tcl_SetObjResult(interp, Tcl_NewStringObj( "function unavailable with this version of the postgres libpq library\n", -1)); return TCL_ERROR; #else setRowModeResult = PQsetSingleRowMode (conn); Tcl_SetObjResult (interp, Tcl_NewIntObj (setRowModeResult)); return TCL_OK; #endif } /********************************** * pg_getresult wait for the next result from a prior pg_sendquery syntax: pg_getresult connection the return result is either an error message, nothing, or a handle for a query result. Handles start with the prefix "pgp" **********************************/ int Pg_getresult(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; PGresult *result; char *connString; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "connection"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->callbackPtr || connid->callbackInterp) { /* Cancel any callback script: the user lost patience */ Tcl_DecrRefCount(connid->callbackPtr); Tcl_Release((ClientData) connid->callbackInterp); connid->callbackPtr=NULL; connid->callbackInterp=NULL; } result = PQgetResult(conn); /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); /* if there's a non-null result, give the caller the handle */ if (result) { int rId = PgSetResultId(interp, connString, result); ExecStatusType rStat = PQresultStatus(result); if (rStat == PGRES_COPY_IN || rStat == PGRES_COPY_OUT) { connid->res_copyStatus = RES_COPY_INPROGRESS; connid->res_copy = rId; } } return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_getdata -- * * returns the data from the connection, from either a async * connection, or a async query * * Syntax: * pg_getdata $conn -result|-connection * * Results: * the return result is a handle for the data that has * arrived on that connection channel * *---------------------------------------------------------------------- */ int Pg_getdata(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; int optIndex; static CONST84 char *options[] = { "-result", "-connection", NULL }; enum options { OPT_RESULT, OPT_CONNECTION }; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection -result|-connection"); return TCL_ERROR; } if (Tcl_GetIndexFromObj(interp, objv[2], options, "option", TCL_EXACT, &optIndex) != TCL_OK) { return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (optIndex == OPT_RESULT) { PGresult *result; result = PQgetResult(conn); /* if there's a non-null result, give the caller the handle */ if (result) { int rId = PgSetResultId(interp, connString, result); ExecStatusType rStat = PQresultStatus(result); if (rStat == PGRES_COPY_IN || rStat == PGRES_COPY_OUT) { connid->res_copyStatus = RES_COPY_INPROGRESS; connid->res_copy = rId; } } } else if (optIndex == OPT_CONNECTION) { PostgresPollingStatusType pollstatus; Tcl_Obj *res = NULL; pollstatus = PQconnectPoll(conn); switch (pollstatus) { case PGRES_POLLING_FAILED: { res = Tcl_NewStringObj("PGRES_POLLING_FAILED", -1); break; } case PGRES_POLLING_READING: { res = Tcl_NewStringObj("PGRES_POLLING_READING", -1); break; } case PGRES_POLLING_WRITING: { res = Tcl_NewStringObj("PGRES_POLLING_WRITING", -1); break; } case PGRES_POLLING_OK: { res = Tcl_NewStringObj("PGRES_POLLING_OK", -1); break; } case PGRES_POLLING_ACTIVE: { res = Tcl_NewStringObj("PGRES_POLLING_ACTIVE", -1); } } Tcl_SetObjResult(interp, res); } else { Tcl_WrongNumArgs(interp, 1, objv, "connection -result|-connection"); return TCL_ERROR; } /* Transfer any notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); return TCL_OK; } /********************************** * pg_isbusy see if a query is busy, i.e. pg_getresult would block. syntax: pg_isbusy connection return is 1 if it's busy and pg_getresult would block, 0 otherwise **********************************/ int Pg_isbusy(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "connection"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; PQconsumeInput(conn); Tcl_SetObjResult(interp, Tcl_NewIntObj(PQisBusy(conn))); return TCL_OK; } /********************************** * pg_blocking see or set whether or not a connection is set to blocking or nonblocking syntax: pg_blocking connection pg_blocking connection 1 pg_blocking connection 0 return is 1 if it's blocking or 0 if not (if called with two arguments), sets blocking if called with 3. **********************************/ int Pg_blocking(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; int boolean; if ((objc < 2) || (objc > 3)) { Tcl_WrongNumArgs(interp, 1, objv, "connection ?bool?"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (objc == 2) { Tcl_SetObjResult(interp, Tcl_NewBooleanObj(!PQisnonblocking(conn))); return TCL_OK; } /* objc == 3, they're setting it */ if (Tcl_GetBooleanFromObj(interp, objv[2], &boolean) == TCL_ERROR) return TCL_ERROR; PQsetnonblocking(conn, !boolean); return TCL_OK; } /********************************** * pg_null_value_string see or set the null value string syntax: pg_null_value_string connection pg_null_value_string connection nullString return is the current null value string if called with two arguments or the new null value string if called with 3. **********************************/ int Pg_null_value_string(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; char *nullValueString; int length; if ((objc < 2) || (objc > 3)) { Tcl_WrongNumArgs(interp, 1, objv, "connection ?string?"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (objc == 2) { if (connid->nullValueString == NULL || *connid->nullValueString == '\0') { Tcl_SetObjResult(interp, Tcl_NewStringObj("", 0)); } else { Tcl_SetObjResult(interp, Tcl_NewStringObj(connid->nullValueString, -1)); } return TCL_OK; } /* objc == 3, they're setting it */ if (connid->nullValueString != NULL) { ckfree (connid->nullValueString); } nullValueString = Tcl_GetStringFromObj (objv[2], &length); connid->nullValueString = ckalloc (length + 1); strcpy (connid->nullValueString, nullValueString); Tcl_SetObjResult(interp, objv[2]); return TCL_OK; } /********************************** * pg_cancelrequest request that postgresql abandon processing of the current command syntax: pg_cancelrequest connection returns nothing if the command successfully dispatched or if nothing was going on, otherwise an error **********************************/ int Pg_cancelrequest(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid; PGconn *conn; char *connString; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "connection"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; /* * Clear any async result callback, if present. */ if (connid->callbackPtr) { Tcl_DecrRefCount(connid->callbackPtr); connid->callbackPtr = NULL; } if (connid->callbackInterp) { Tcl_Release((ClientData) connid->callbackInterp); connid->callbackInterp = NULL; } if (PQrequestCancel(conn) == 0) { Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } return TCL_OK; } /*********************************** Pg_on_connection_loss create or remove a callback request for unexpected connection loss syntax: pg_on_connection_loss conn ?callbackcommand? With a third arg, creates or changes the callback command for connection loss; without, cancels the callback request. Callbacks can occur whenever Tcl is executing its event loop. This is the normal idle loop in Tk; in plain tclsh applications, vwait or update can be used to enter the Tcl event loop. ***********************************/ int Pg_on_connection_loss(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { char *callback = NULL; Pg_TclNotifies *notifies; Pg_ConnectionId *connid; PGconn *conn; char *connString; if (objc < 2 || objc > 3) { Tcl_WrongNumArgs(interp, 1, objv, "connection ?callback?"); return TCL_ERROR; } /* * Get the command arguments. */ connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (objc > 2) { int callbackStrLen; char *callbackStr; /* there is probably a better way to do this, like incrementing * the reference count (?) */ callbackStr = Tcl_GetStringFromObj(objv[2], &callbackStrLen); callback = (char *) ckalloc((unsigned) (callbackStrLen + 1)); strcpy(callback, callbackStr); } /* Find or make a Pg_TclNotifies struct for this interp and connection */ for (notifies = connid->notify_list; notifies; notifies = notifies->next) { if (notifies->interp == interp) break; } if (notifies == NULL) { notifies = (Pg_TclNotifies *) ckalloc(sizeof(Pg_TclNotifies)); notifies->interp = interp; Tcl_InitHashTable(¬ifies->notify_hash, TCL_STRING_KEYS); notifies->conn_loss_cmd = NULL; notifies->next = connid->notify_list; connid->notify_list = notifies; Tcl_CallWhenDeleted(interp, PgNotifyInterpDelete, (ClientData) notifies); } /* Store new callback setting */ if (notifies->conn_loss_cmd) ckfree((void *) notifies->conn_loss_cmd); notifies->conn_loss_cmd = callback; if (callback) { /* * Start the notify event source if it isn't already running. The * notify source will cause Tcl to watch read-ready on the * connection socket, so that we find out quickly if the * connection drops. */ PgStartNotifyEventSource(connid); } return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_quote -- * * returns the quoted version of the passed in string * * Syntax: * pg_quote ?connection? string * * Results: * * If the connection handle is specified, we examine the string to * see if it matches the null value string defined in the connection * ID. If it is, we return the string "NULL", unquoted. * * If the passed in string doesn't match the null value string or if * pg_quote was invoked with only one argument, the string is escaped * using P * * the return result is either an error message or the passed * in string after going through PQescapeString * *---------------------------------------------------------------------- */ int Pg_quote (ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { char *fromString = NULL; char *toString; int fromStringLen; int stringSize; Pg_ConnectionId *connid; PGconn *conn = NULL; char *connString; int error = 0; static Tcl_Obj *nullStringObj = NULL; /* allocate the null string object if we don't have it and increment * its reference count so it'll never be freed. We can use it over * and over and it'll keep using the same string object */ if (nullStringObj == NULL) { nullStringObj = Tcl_NewStringObj ("NULL", -1); Tcl_IncrRefCount (nullStringObj); } if ((objc < 2) || (objc > 3)) { Tcl_WrongNumArgs(interp, 1, objv, "?connection? string"); return TCL_ERROR; } if (objc == 2) { /* * Get the "from" string. */ fromString = Tcl_GetStringFromObj(objv[1], &fromStringLen); } else { connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; /* * Get the "from" string. */ fromString = Tcl_GetStringFromObj(objv[2], &fromStringLen); /* * If the from string is empty, see if the null value string is also * empty and if so, return the string NULL rather than something * quoted */ if (fromStringLen == 0) { if (connid->nullValueString == NULL || *connid->nullValueString == '\0') { Tcl_SetObjResult (interp, nullStringObj); return TCL_OK; } } else { /* * The from string wasn't null, see if the connection's null value * string also isn't null and if so, if they match and if so, * return the string NULL */ if (connid->nullValueString != NULL) { if (strcmp (fromString, connid->nullValueString) == 0) { Tcl_SetObjResult (interp, nullStringObj); return TCL_OK; } } } } /* * It wasn't the null string or we were called with two args, * allocate the "to" string, the max size is documented in the * postgres docs as 2 * fromStringLen + 1 and we add two more * for the leading and trailing single quotes */ toString = (char *) ckalloc((2 * fromStringLen) + 3); /* * call the library routine to escape the string, use * Tcl_SetResult to set the command result to be that string, * with TCL_DYNAMIC, we tell Tcl to free the memory when it's * done with it */ *toString = '\''; if (objc == 3) { stringSize = PQescapeStringConn (conn, toString+1, fromString, fromStringLen, &error); if (error) { /* error returned from PQescapeStringConn, send it on up */ ckfree (toString); Tcl_SetObjResult (interp, Tcl_NewStringObj ( PQerrorMessage (conn), -1)); return TCL_ERROR; } } else { stringSize = PQescapeString (toString+1, fromString, fromStringLen); } toString[stringSize+1] = '\''; toString[stringSize+2] = '\0'; Tcl_SetResult(interp, toString, TCL_DYNAMIC); return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_escapeBytea -- * * returns the escaped version of the passed in binary * string * * Syntax: * pg_escapeBytea binaryString * * Results: * the return result is either an error message or the passed * in binary string after going through PQescapeBytea * * NOTE: PQunescapeBytea is *not* the direct inverse * of PQescapeBytea. The result from PQescapeBytea needs * to go through extra parsing, where as PQunescapeBytea * is at the end of the parsing stage. *---------------------------------------------------------------------- */ int Pg_escapeBytea(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { unsigned char *from; unsigned char *to; int fromLen; size_t toLen; PGconn *conn = NULL; char *connString; if ((objc < 2) || (objc > 3)) { Tcl_WrongNumArgs(interp, 1, objv, "?connection? binaryString"); return TCL_ERROR; } if (objc == 2) { /* * Get the "from" string. */ from = Tcl_GetByteArrayFromObj(objv[1], &fromLen); to = PQescapeBytea(from, fromLen, &toLen); } else { connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, NULL); if (conn == NULL) return TCL_ERROR; /* * Get the "from" string. */ from = Tcl_GetByteArrayFromObj(objv[2], &fromLen); to = PQescapeByteaConn(conn, from, fromLen, &toLen); } if (! to) { Tcl_SetObjResult(interp, Tcl_NewStringObj("Failed to quote binary string", -1)); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewStringObj((char *)to, -1)); #ifdef PQfreemem PQfreemem(to); #else PQfreeNotify(to); #endif return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_unescapeBytea -- * * returns the unescaped version of the passed in escaped binary * string * * Syntax: * pg_unescapeBytea escapedBinaryString * * Results: * the return result is either an error message or the passed * in string, that has gone through PQunescapeBytea * * NOTE: PQunescapeBytea is *not* the direct inverse * of PQescapeBytea. The result from PQescapeBytea needs * to go through extra parsing, where as PQunescapeBytea * is at the end of the parsing stage. *---------------------------------------------------------------------- */ int Pg_unescapeBytea(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { const unsigned char *from; unsigned char *to; int fromLen; size_t toLen; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "binaryString"); return TCL_ERROR; } from = (const unsigned char *)Tcl_GetStringFromObj(objv[1], &fromLen); to = PQunescapeBytea(from, &toLen); if (! to) { Tcl_SetObjResult(interp, Tcl_NewStringObj("Failed to unquote binary string", -1)); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(to, toLen)); #ifdef PQfreemem PQfreemem(to); #else PQfreeNotify(to); #endif return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_dbinfo -- * * returns either the connection handles or the result handles * * Syntax: * pg_dbinfo connections * pg_dbinfo results connHandle * pg_dbinfo version connHandle * pg_dbinfo protocol connHandle * pg_dbinfo param connHandle paramName * pg_dbinfo backendpid connHandle * pg_dbinfo socket connHandle * pg_dbinfo sql_count connHandle * * pg_dbinfo dbname connHandle * pg_dbinfo user connHandle * pg_dbinfo pass connHandle * pg_dbinfo host connHandle * pg_dbinfo port connHandle * pg_dbinfo options connHandle * pg_dbinfo status connHandle * pg_dbinfo transaction_status connHandle * pg_dbinfo error_message connHandle * pg_dbinfo needs_password connHandle * pg_dbinfo used_password connHandle * pg_dbinfo used_ssl connHandle * * Results: * the return result is either an error message or a list of * the connection/result handles. * *---------------------------------------------------------------------- */ int Pg_dbinfo(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { Pg_ConnectionId *connid = NULL; char *connString = NULL; char buf[32]; Tcl_Obj *listObj; Tcl_Obj *tresult; Tcl_Obj **elemPtrs; int i, count, optIndex; Tcl_Channel conn_chan; const char *paramname; static CONST84 char *cmdargs = "connections|results|version|protocol|param|backendpid|socket|sql_count|dbname|user|password|host|port|options|status|transaction_status|error_message|needs_password|used_password|used_ssl"; static CONST84 char *options[] = { "connections", "results", "version", "protocol", "param", "backendpid", "socket", "sql_count", "dbname", "user", "password", "host", "port", "options", "status", "transaction_status", "error_message", "needs_password", "used_password", "used_ssl", NULL }; enum options { OPT_CONNECTIONS, OPT_RESULTS, OPT_VERSION, OPT_PROTOCOL, OPT_PARAM, OPT_BACKENDPID, OPT_SOCKET, OPT_SQL_COUNT, OPT_DBNAME, OPT_USER, OPT_PASSWORD, OPT_HOST, OPT_PORT, OPT_OPTIONS, OPT_STATUS, OPT_TRANSACTION_STATUS, OPT_ERROR_MESSAGE, OPT_NEEDS_PASSWORD, OPT_USED_PASSWORD, OPT_USED_SSL }; if (objc <= 1) { Tcl_WrongNumArgs(interp,1,objv,cmdargs); return TCL_ERROR; } if (Tcl_GetIndexFromObj(interp, objv[1], options, "option", TCL_EXACT, &optIndex) != TCL_OK) { return TCL_ERROR; } /* * this is common for most cmdargs, so do it upfront */ if (optIndex != OPT_CONNECTIONS) { if (objc != 3) { Tcl_WrongNumArgs(interp, 2, objv, "connHandle"); return TCL_ERROR; } connString = Tcl_GetStringFromObj(objv[2], NULL); conn_chan = Tcl_GetChannel(interp, connString, 0); if (conn_chan == NULL) { tresult = Tcl_NewStringObj(connString, -1); Tcl_AppendStringsToObj(tresult, " is not a valid connection", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } /* Check that it is a PG connection and not something else */ connid = (Pg_ConnectionId *) Tcl_GetChannelInstanceData(conn_chan); if (connid->conn == NULL) { return TCL_ERROR; } } switch ((enum options) optIndex) { case OPT_CONNECTIONS: { listObj = Tcl_NewListObj(0, (Tcl_Obj **) NULL); /* * This is not a very robust method to use. * Will have to re-think this */ Tcl_GetChannelNames(interp); Tcl_ListObjGetElements(interp, Tcl_GetObjResult(interp), &count, &elemPtrs); for (i = 0; i < count; i++) { char *name = Tcl_GetStringFromObj(elemPtrs[i], NULL); conn_chan = Tcl_GetChannel(interp, name, 0); if (conn_chan != NULL && Tcl_GetChannelType(conn_chan) == &Pg_ConnType) { if (Tcl_ListObjAppendElement(interp, listObj, elemPtrs[i]) != TCL_OK) { Tcl_DecrRefCount(listObj); return TCL_ERROR; } } } break; } case OPT_RESULTS: { listObj = Tcl_NewListObj(0, (Tcl_Obj **) NULL); for (i = 0; i <= connid->res_last; i++) { if (connid->results[i] == 0) { continue; } sprintf(buf, "%s.%d", connString, i); if (Tcl_ListObjAppendElement(interp, listObj, Tcl_NewStringObj(buf, -1)) != TCL_OK) { Tcl_DecrRefCount(listObj); return TCL_ERROR; } } break; } case OPT_VERSION: { #ifdef HAVE_PQSERVERVERSION Tcl_SetObjResult(interp, Tcl_NewIntObj( PQserverVersion(connid->conn))); return TCL_OK; #else /* HAVE_PQSERVERVERSION */ Tcl_SetObjResult(interp, Tcl_NewStringObj( "You need a PG version > 7.4 that supports server version", -1)); return TCL_ERROR; #endif /* HAVE_PQSERVERVERSION */ } case OPT_PROTOCOL: { Tcl_SetObjResult(interp, Tcl_NewIntObj( PQprotocolVersion(connid->conn))); return TCL_OK; } case OPT_PARAM: { paramname = Tcl_GetStringFromObj(objv[3], NULL); Tcl_SetObjResult(interp, Tcl_NewStringObj( PQparameterStatus(connid->conn, paramname), -1)); return TCL_OK; } case OPT_BACKENDPID: { Tcl_SetObjResult(interp, Tcl_NewIntObj( PQbackendPID(connid->conn))); return TCL_OK; } case OPT_SOCKET: { Tcl_SetObjResult(interp, Tcl_NewIntObj( PQsocket(connid->conn))); return TCL_OK; } case OPT_SQL_COUNT: { Tcl_SetObjResult(interp, Tcl_NewIntObj( connid->sql_count)); return TCL_OK; } case OPT_DBNAME: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQdb(connid->conn), -1)); return TCL_OK; } case OPT_USER: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQuser(connid->conn), -1)); return TCL_OK; } case OPT_PASSWORD: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQpass(connid->conn), -1)); return TCL_OK; } case OPT_HOST: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQhost(connid->conn), -1)); return TCL_OK; } case OPT_PORT: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQport(connid->conn), -1)); return TCL_OK; } case OPT_OPTIONS: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQoptions(connid->conn), -1)); return TCL_OK; } case OPT_STATUS: { switch (PQstatus(connid->conn)) { case CONNECTION_OK: { Tcl_SetObjResult(interp, Tcl_NewStringObj("connection_ok", -1)); return TCL_OK; } case CONNECTION_BAD: { Tcl_SetObjResult(interp, Tcl_NewStringObj("connection_bad", -1)); return TCL_OK; } default: { Tcl_SetObjResult(interp, Tcl_NewStringObj("unrecognized_status", -1)); return TCL_OK; } } } case OPT_TRANSACTION_STATUS: { switch (PQtransactionStatus(connid->conn)) { case PQTRANS_IDLE: { Tcl_SetObjResult(interp, Tcl_NewStringObj("idle", -1)); return TCL_OK; } case PQTRANS_ACTIVE: { Tcl_SetObjResult(interp, Tcl_NewStringObj("command_in_progress", -1)); return TCL_OK; } case PQTRANS_INTRANS: { Tcl_SetObjResult(interp, Tcl_NewStringObj("idle_in_valid_block", -1)); return TCL_OK; } case PQTRANS_INERROR: { Tcl_SetObjResult(interp, Tcl_NewStringObj("idle_in_failed_block", -1)); return TCL_OK; } case PQTRANS_UNKNOWN: { Tcl_SetObjResult(interp, Tcl_NewStringObj("connection_bad", -1)); return TCL_OK; } default: { Tcl_SetObjResult(interp, Tcl_NewStringObj("unrecognized_status", -1)); return TCL_OK; } } } case OPT_ERROR_MESSAGE: { Tcl_SetObjResult(interp, Tcl_NewStringObj( PQerrorMessage(connid->conn), -1)); return TCL_OK; } case OPT_NEEDS_PASSWORD: { Tcl_SetObjResult(interp, Tcl_NewBooleanObj( PQconnectionNeedsPassword(connid->conn))); return TCL_OK; } case OPT_USED_PASSWORD: { Tcl_SetObjResult(interp, Tcl_NewBooleanObj( PQconnectionUsedPassword(connid->conn))); return TCL_OK; } case OPT_USED_SSL: { Tcl_SetObjResult(interp, Tcl_NewBooleanObj( (PQgetssl(connid->conn) != NULL))); return TCL_OK; } default: { Tcl_WrongNumArgs(interp,1,objv,cmdargs); return TCL_ERROR; } } Tcl_SetObjResult(interp, listObj); return TCL_OK; } /* *---------------------------------------------------------------------- * * Pg_sql -- * * returns result handle * * Syntax: * pg_sql connhandle sqlStmt \ * ?-params {list}? \ * ?-binparams {list}? \ * ?-binresults? \ * ?-callback script? \ * ?-async yes|no? \ * ?-prepared yes|no? * * Results: * the return result is either an error message or a list of * the connection/result handles. * *---------------------------------------------------------------------- */ int Pg_sql(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { PGconn *conn; PGresult *result; CONST84 char *connString; const char *execString; const char **paramValues = NULL; int *binValues = NULL; const int *paramLengths = NULL; Pg_ConnectionId *connid; Tcl_Obj **elemPtrs; Tcl_Obj **elembinPtrs; int i=3; int count=0, countbin=0, optIndex; int params=0,binparams=0,binresults=0,callback=0,async=0,prepared=0; unsigned char flags = 0; static CONST84 char *cmdargs = ""; static CONST84 char *options[] = { "-params", "-binparams", "-binresults", "-callback", "-async", "-prepared", NULL }; enum options { OPT_PARAMS, OPT_BINPARAMS, OPT_BINRESULTS, OPT_CALLBACK, OPT_ASYNC, OPT_PREPARED }; if (objc < 3) { Tcl_WrongNumArgs(interp,1,objv,cmdargs); return TCL_ERROR; } /* * We just loop through now to set some * flags, since some of the options are * dependent on others */ while (i < objc) { if (Tcl_GetIndexFromObj(interp, objv[i], options, "option", TCL_EXACT, &optIndex) != TCL_OK) return TCL_ERROR; switch ((enum options) optIndex) { case OPT_PARAMS: { #ifndef HAVE_PQEXECPARAMS Tcl_SetObjResult(interp, Tcl_NewStringObj( "function unavailable with this version of the postgres libpq library\n", -1)); return TCL_ERROR; #endif flags = flags | 0x01; params = i+1; i=i+2; Tcl_ListObjGetElements(interp, objv[params], &count, &elemPtrs); if (count == 0) { params = 0; } break; } case OPT_BINPARAMS: { flags = flags | 0x02; binparams = i+1; i=i+2; break; } case OPT_BINRESULTS: { flags = flags | 0x04; Tcl_GetBooleanFromObj(interp, objv[i+1], &binresults); /* binresults = i+1; */ i=i+2; break; } case OPT_CALLBACK: { /* assume async if -callback too */ flags = flags | 0x10; flags = flags | 0x08; callback = i+1; async = 1; i=i+2; break; } case OPT_ASYNC: { flags = flags | 0x10; Tcl_GetBooleanFromObj(interp, objv[i+1], &async); /* async = i+1; */ i=i+2; break; } case OPT_PREPARED: { #ifndef HAVE_PQEXECPREPARED Tcl_SetObjResult(interp, Tcl_NewStringObj( "function unavailable with this version of the postgres libpq library\n", -1)); return TCL_ERROR; #endif flags = flags | 0x20; /* prepared = i+1; */ Tcl_GetBooleanFromObj(interp, objv[i+1], &prepared); i=i+2; } } /* end switch */ /* * Check error case where -binparams or * -binresults are given but -params is not if ((flags == 0x06) || (flags == 0x04) || (flags == 0x02)) { Tcl_SetResult(interp, "Need to specify -params", TCL_STATIC); return TCL_ERROR; } */ } /* end while */ /* * Check error case where -binparams or * -binresults are given but -params is not */ if (!params && (binparams != 0 || binresults != 0)) { Tcl_SetResult(interp, "Need to specify -params option", TCL_STATIC); return TCL_ERROR; } /* * Handle param options */ if (params) { Tcl_ListObjGetElements(interp, objv[binparams], &countbin, &elembinPtrs); if (countbin != 0 && countbin != count) { Tcl_SetResult(interp, "-params and -binparams need the same number of elements", TCL_STATIC); return TCL_ERROR; } int param; paramValues = (const char **)ckalloc (count * sizeof (char *)); binValues = (int *)ckalloc (countbin * sizeof (char *)); for (param = 0; param < count; param++) { paramValues[param] = Tcl_GetStringFromObj (elemPtrs[param], NULL); if (strcmp(paramValues[param], "NULL") == 0) { paramValues[param] = '\0'; } } for (param = 0; param < countbin; param++) { Tcl_GetBooleanFromObj (interp, elembinPtrs[param], &binValues[param]); } } connString = Tcl_GetStringFromObj(objv[1], NULL); conn = PgGetConnectionId(interp, connString, &connid); if (conn == NULL) return TCL_ERROR; if (connid->res_copyStatus != RES_COPY_NONE) { Tcl_SetResult(interp, "Attempt to query while COPY in progress", TCL_STATIC); return TCL_ERROR; } execString = Tcl_GetStringFromObj(objv[2], NULL); /* * Handle the callback first, before executing statments */ if (callback) { if (connid->callbackPtr || connid->callbackInterp) { Tcl_SetResult(interp, "Attempt to wait for result while already waiting", TCL_STATIC); return TCL_ERROR; } /* Start the notify event source if it isn't already running */ PgStartNotifyEventSource(connid); connid->callbackPtr= objv[callback]; connid->callbackInterp= interp; Tcl_IncrRefCount(objv[callback]); Tcl_Preserve((ClientData) interp); /* * invoke function based on type * of query */ if (prepared) { result = PQsendQueryPrepared(conn, execString, count, paramValues, paramLengths, binValues, binresults); } else if (params) { result = PQsendQueryParams(conn, execString, count, NULL, paramValues, paramLengths, binValues, binresults); } else { result = PQsendQuery(conn, execString); /* ckfree ((void *)paramValues); */ } } else { if (prepared) { result = PQexecPrepared(conn, execString, count, paramValues, paramLengths, binValues, binresults); } else if (params) { result = PQexecParams(conn, execString, count, NULL, paramValues, paramLengths, binValues, binresults); } else { result = PQexec(conn, execString); ckfree ((void *)paramValues); } } /* end if callback */ PgNotifyTransferEvents(connid); if (result && !callback) { int rId = PgSetResultId(interp, connString, result); ExecStatusType rStat = PQresultStatus(result); if (rStat == PGRES_COPY_IN || rStat == PGRES_COPY_OUT) { connid->res_copyStatus = RES_COPY_INPROGRESS; connid->res_copy = rId; } return TCL_OK; } else if (!result) { /* error occurred during the query */ Tcl_SetObjResult(interp, Tcl_NewStringObj(PQerrorMessage(conn), -1)); return TCL_ERROR; } return TCL_OK; } /* error severity error sqlstate error message error message primary error message detail error message hint error position error context error source file error source line error source function */ flightaware-Pgtcl-8d02566/generic/pgtclCmds.h000066400000000000000000000155641203531660700210610ustar00rootroot00000000000000/*------------------------------------------------------------------------- * * pgtclCmds.h * declarations for the C functions which implement pg_* tcl commands * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $Id$ * *------------------------------------------------------------------------- */ #ifndef PGTCLCMDS_H #define PGTCLCMDS_H #include #include "libpq-fe.h" #define RES_HARD_MAX 128 #define RES_START 16 /* * Tcl 8.6 and TIP 330/336 compatability * New function in 8.6 Tcl_GetErrorLine instead of direct access * to errorLine in struct. Define Tcl_GetErrorLine here if less * 8.6 */ #if (TCL_MAJOR_VERSION < 8) || (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6) #define Tcl_GetErrorLine(interp) (interp->errorLine) #endif /* * Each Pg_ConnectionId has a list of Pg_TclNotifies structs, one for each * Tcl interpreter that has executed any pg_listens on the connection. * We need this arrangement to be able to clean up if an interpreter is * deleted while the connection remains open. A free side benefit is that * multiple interpreters can be registered to listen for the same notify * name. (All their callbacks will be called, but in an unspecified order.) * * We use the same approach for pg_on_connection_loss callbacks, but they * are not kept in a hashtable since there's no name associated. */ typedef struct Pg_TclNotifies_s { struct Pg_TclNotifies_s *next; /* list link */ Tcl_Interp *interp; /* This Tcl interpreter */ /* * NB: if interp == NULL, the interpreter is gone but we haven't yet * got round to deleting the Pg_TclNotifies structure. */ Tcl_HashTable notify_hash; /* Active pg_listen requests */ char *conn_loss_cmd; /* pg_on_connection_loss cmd, or NULL */ } Pg_TclNotifies; typedef struct Pg_resultid_s { int id; Tcl_Obj *str; Tcl_Interp *interp; Tcl_Command cmd_token; char *nullValueString; struct Pg_ConnectionId_s *connid; } Pg_resultid; typedef struct Pg_ConnectionId_s { char id[32]; PGconn *conn; int res_max; /* Max number of results allocated */ int res_hardmax; /* Absolute max to allow */ int res_count; /* Current count of active results */ int res_last; /* Optimize where to start looking */ int res_copy; /* Query result with active copy */ int res_copyStatus; /* Copying status */ PGresult **results; /* The results */ Pg_TclNotifies *notify_list; /* head of list of notify info */ int notifier_running; /* notify event source is live */ Tcl_Channel notifier_channel; /* Tcl_Channel on which notifier * is listening */ Tcl_Command cmd_token; /* handle command token */ Tcl_Interp *interp; /* save Interp info */ char *nullValueString; /* null vals are returned as this, if set */ Pg_resultid **resultids; /* resultids (internal storage) */ int sql_count; /* number of pg_exec, pg_select, etc, done */ Tcl_Obj *callbackPtr; /* callback for async queries */ Tcl_Interp *callbackInterp; /* interp where the callback should run */ } Pg_ConnectionId; /* Values of res_copyStatus */ #define RES_COPY_NONE 0 #define RES_COPY_INPROGRESS 1 #define RES_COPY_FIN 2 /* **************************/ /* registered Tcl functions */ /* **************************/ extern int Pg_conndefaults( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_connect( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_disconnect( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_exec( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_exec_prepared( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_execute( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_select( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_result( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_open( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_close( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_read( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_write( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_lseek( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_creat( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_tell( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_truncate( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_unlink( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_import( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_lo_export( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_listen( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_sendquery( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_sendquery_prepared( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_getresult( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_set_single_row_mode( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_isbusy( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_blocking( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_null_value_string( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_cancelrequest( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_on_connection_loss( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_quote( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_escapeBytea( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_unescapeBytea( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_dbinfo( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_getdata( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern int Pg_sql( ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); #endif /* PGTCLCMDS_H */ flightaware-Pgtcl-8d02566/generic/pgtclId.c000066400000000000000000001202121203531660700205050ustar00rootroot00000000000000/*------------------------------------------------------------------------- * * pgtclId.c * * Contains Tcl "channel" interface routines, plus useful routines * to convert between strings and pointers. These are needed because * everything in Tcl is a string, but in C, pointers to data structures * are needed. * * ASSUMPTION: sizeof(long) >= sizeof(void*) * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION * $Id$ * *------------------------------------------------------------------------- */ #include #include #include #include "pgtclCmds.h" #include "pgtclId.h" #ifndef CONST84 # define CONST84 #endif static int PgEndCopy(Pg_ConnectionId * connid, int *errorCodePtr) { connid->res_copyStatus = RES_COPY_NONE; if (PQendcopy(connid->conn)) { PQclear(connid->results[connid->res_copy]); connid->results[connid->res_copy] = PQmakeEmptyPGresult(connid->conn, PGRES_BAD_RESPONSE); connid->res_copy = -1; *errorCodePtr = EIO; return -1; } else { PQclear(connid->results[connid->res_copy]); connid->results[connid->res_copy] = PQmakeEmptyPGresult(connid->conn, PGRES_COMMAND_OK); connid->res_copy = -1; return 0; } } /* * Called when reading data (via gets) for a copy to stdout. */ int PgInputProc(DRIVER_INPUT_PROTO) { Pg_ConnectionId *connid; PGconn *conn; int avail; connid = (Pg_ConnectionId *) cData; conn = connid->conn; if (connid->res_copy < 0 || PQresultStatus(connid->results[connid->res_copy]) != PGRES_COPY_OUT) { *errorCodePtr = EBUSY; return -1; } /* * Read any newly arrived data into libpq's buffer, thereby clearing * the socket's read-ready condition. */ if (!PQconsumeInput(conn)) { *errorCodePtr = EIO; return -1; } /* Move data from libpq's buffer to Tcl's. */ avail = PQgetlineAsync(conn, buf, bufSize); if (avail < 0) { /* Endmarker detected, change state and return 0 */ return PgEndCopy(connid, errorCodePtr); } return avail; } /* * Called when writing data (via puts) for a copy from stdin */ int PgOutputProc(DRIVER_OUTPUT_PROTO) { Pg_ConnectionId *connid; PGconn *conn; connid = (Pg_ConnectionId *) cData; conn = connid->conn; if (connid->res_copy < 0 || PQresultStatus(connid->results[connid->res_copy]) != PGRES_COPY_IN) { *errorCodePtr = EBUSY; return -1; } if (PQputnbytes(conn, buf, bufSize)) { *errorCodePtr = EIO; return -1; } /* * This assumes Tcl script will write the terminator line in a single * operation; maybe not such a good assumption? */ if (bufSize >= 3 && strncmp(&buf[bufSize - 3], "\\.\n", 3) == 0) { if (PgEndCopy(connid, errorCodePtr) == -1) return -1; } return bufSize; } /* * The WatchProc and GetHandleProc are no-ops but must be present. */ static void PgWatchProc(ClientData instanceData, int mask) { } static int PgGetHandleProc(ClientData instanceData, int direction, ClientData *handlePtr) { return TCL_ERROR; } Tcl_ChannelType Pg_ConnType = { "pgsql", /* channel type */ NULL, /* blockmodeproc */ PgDelConnectionId, /* closeproc */ PgInputProc, /* inputproc */ PgOutputProc, /* outputproc */ NULL, /* SeekProc, Not used */ NULL, /* SetOptionProc, Not used */ NULL, /* GetOptionProc, Not used */ PgWatchProc, /* WatchProc, must be defined */ PgGetHandleProc, /* GetHandleProc, must be defined */ NULL /* Close2Proc, Not used */ }; /* * Create and register a new channel for the connection */ int PgSetConnectionId(Tcl_Interp *interp, PGconn *conn, char *chandle) { Tcl_Channel conn_chan; Tcl_Obj *nsstr; Pg_ConnectionId *connid; int i; CONST char *ns = ""; connid = (Pg_ConnectionId *) ckalloc(sizeof(Pg_ConnectionId)); connid->conn = conn; connid->res_count = 0; connid->res_last = -1; connid->res_max = RES_START; connid->res_hardmax = RES_HARD_MAX; connid->res_copy = -1; connid->res_copyStatus = RES_COPY_NONE; connid->results = (PGresult **)ckalloc(sizeof(PGresult *) * RES_START); connid->resultids = (Pg_resultid **)ckalloc(sizeof(Pg_resultid *) * RES_START); connid->callbackPtr = (Tcl_Obj *) NULL; connid->callbackInterp = (Tcl_Interp *) NULL; for (i = 0; i < RES_START; i++) { connid->results[i] = NULL; connid->resultids[i] = NULL; } connid->notify_list = NULL; connid->notifier_running = 0; connid->interp = interp; connid->nullValueString = NULL; connid->sql_count = 0; nsstr = Tcl_NewStringObj("if {[namespace current] != \"::\"} {set k [namespace current]::}", -1); Tcl_EvalObjEx(interp, nsstr, 0); /* Tcl_Eval(interp, "if {[namespace current] != \"::\"} {\ set k [namespace current]::\ }"); */ ns = Tcl_GetStringResult(interp); Tcl_ResetResult(interp); if (chandle == NULL) { sprintf(connid->id, "%spgsql%d", ns, PQsocket(conn)); } else { sprintf(connid->id, "%s%s", ns, chandle); } conn_chan = Tcl_GetChannel(interp, connid->id, 0); if (conn_chan != NULL) { return 0; } connid->notifier_channel = Tcl_MakeTcpClientChannel((ClientData)(long)PQsocket(conn)); /* Code executing outside of any Tcl interpreter can call Tcl_RegisterChannel with interp as NULL, to indicate that it wishes to hold a reference to this channel. Subse- quently, the channel can be registered in a Tcl inter- preter and it will only be closed when the matching number of calls to Tcl_UnregisterChannel have been made. This allows code executing outside of any interpreter to safely hold a reference to a channel that is also registered in a Tcl interpreter. */ Tcl_RegisterChannel(NULL, connid->notifier_channel); conn_chan = Tcl_CreateChannel(&Pg_ConnType, connid->id, (ClientData) connid, TCL_READABLE | TCL_WRITABLE); Tcl_SetChannelOption(interp, conn_chan, "-buffering", "line"); Tcl_SetResult(interp, connid->id, TCL_VOLATILE); Tcl_RegisterChannel(interp, conn_chan); connid->cmd_token=Tcl_CreateObjCommand(interp, connid->id, PgConnCmd, (ClientData) connid, PgDelCmdHandle); return 1; } /* *---------------------------------------------------------------------- * * PgConnCmd -- * * dispatches the correct command from a handle command * * Results: * Returns the return value of the command that gets called. If * the command is not found, then a TCL_ERROR is returned * *---------------------------------------------------------------------- */ int PgConnCmd(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { int optIndex; int objvxi; int idx = 1; char *arg; Tcl_Obj *objvx[25]; Tcl_CmdInfo info; Pg_ConnectionId *connid; int returnCode = TCL_ERROR; static CONST84 char *options[] = { "quote", "escape_bytea", "unescape_bytea", "disconnect", "exec", "sqlexec", "execute", "select", "listen", "on_connection_loss", "lo_creat", "lo_open", "lo_close", "lo_read", "lo_write", "lo_lseek", "lo_tell", "lo_truncate", "lo_unlink", "lo_import", "lo_export", "sendquery", "exec_prepared", "sendquery_prepared", "null_value_string", "version", "protocol", "param", "backendpid", "socket", "conndefaults", "set_single_row_mode", "is_busy", "blocking", "cancel_request", (char *)NULL }; enum options { QUOTE, ESCAPE_BYTEA, UNESCAPE_BYTEA, DISCONNECT, EXEC, SQLEXEC, EXECUTE, SELECT, LISTEN, ON_CONNECTION_LOSS, LO_CREAT, LO_OPEN, LO_CLOSE, LO_READ, LO_WRITE, LO_LSEEK, LO_TELL, LO_TRUNCATE, LO_UNLINK, LO_IMPORT, LO_EXPORT, SENDQUERY, EXEC_PREPARED, SENDQUERY_PREPARED, NULL_VALUE_STRING, VERSION, PROTOCOL, PARAM, BACKENDPID, SOCKET, CONNDEFAULTS, SET_SINGLE_ROW_MODE, ISBUSY, BLOCKING, CANCELREQUEST }; if (objc == 1 || objc > 25) { Tcl_WrongNumArgs(interp, 1, objv, "command..."); return TCL_ERROR; } /* * this assigns the args array with an offset, since * the command handle args looks is offset */ for (objvxi = 2; objvxi < objc; objvxi++) { objvx[objvxi] = objv[objvxi]; } /* swap the first and second elements of the copied command */ objvx[0] = objv[1]; objvx[1] = objv[0]; if (Tcl_GetCommandInfo(interp, Tcl_GetStringFromObj(objvx[1], NULL), &info) == 0) return TCL_ERROR; connid = (Pg_ConnectionId *) info.objClientData; if (Tcl_GetIndexFromObj(interp, objv[1], options, "command", TCL_EXACT, &optIndex) != TCL_OK) return TCL_ERROR; /* * Need to test here, since EXECUTE and UNESCAPE_BYTEA branches do things * a little differently if ((optIndex != EXECUTE) && (optIndex != UNESCAPE_BYTEA)) { objvx[1] = Tcl_NewStringObj(connid->id, -1); } */ switch ((enum options) optIndex) { case QUOTE: { /* error if only two args, we gotta pick it up here or * Pg_quote will happily quote and return the connection ID. */ if (objc == 2) { Tcl_WrongNumArgs(interp, 1, objv, "quote string"); return TCL_ERROR; } objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_quote(cData, interp, objc, objvx); break; } case ESCAPE_BYTEA: { /* error if only two args, we gotta pick it up here or * Pg_escapeBytea will happily quote and return the connection ID. */ if (objc == 2) { Tcl_WrongNumArgs(interp, 1, objv, "escape_bytea byteArray"); return TCL_ERROR; } objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_escapeBytea(cData, interp, objc, objvx); break; } case UNESCAPE_BYTEA: { if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "unescape_bytea string"); return TCL_ERROR; } objvx[1] = objv[2]; returnCode = Pg_unescapeBytea(cData, interp, 2, objvx); return returnCode; } case DISCONNECT: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_disconnect(cData, interp, objc, objvx); break; } case EXEC: case SQLEXEC: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_exec(cData, interp, objc, objvx); break; } case EXECUTE: { /* * Need a little extra mojo here, since * there can be the -array and -oid options * before the connection handle -- arrggh */ int num = 2; arg = Tcl_GetStringFromObj(objvx[2], NULL); if (arg[0] == '-') { /* see if there are 2 options on the command line */ arg = Tcl_GetStringFromObj(objvx[4], NULL); if (arg[0] == '-') { num = 4; } for (objvxi = 1; objvxi <= num; objvxi++) { objvx[objvxi] = objv[objvxi+1]; } objvx[objvxi++] = objv[0]; } /* DEBUGGING for (objvxi = 0; objvxi < objc; objvxi++) { Tcl_GetStringFromObj(objv[objvxi], NULL), Tcl_GetStringFromObj(objvx[objvxi], NULL)); } */ idx += num; objvx[idx] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_execute(cData, interp, objc, objvx); break; } case SELECT: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_select(cData, interp, objc, objvx); break; } case LISTEN: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_listen(cData, interp, objc, objvx); break; } case ON_CONNECTION_LOSS: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_listen(cData, interp, objc, objvx); break; } case LO_CREAT: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_creat(cData, interp, objc, objvx); break; } case LO_OPEN: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_open(cData, interp, objc, objvx); break; } case LO_CLOSE: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_close(cData, interp, objc, objvx); break; } case LO_READ: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_read(cData, interp, objc, objvx); break; } case LO_WRITE: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_write(cData, interp, objc, objvx); break; } case LO_LSEEK: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_lseek(cData, interp, objc, objvx); break; } case LO_TELL: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_tell(cData, interp, objc, objvx); break; } case LO_TRUNCATE: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_truncate(cData, interp, objc, objvx); break; } case LO_UNLINK: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_unlink(cData, interp, objc, objvx); break; } case LO_IMPORT: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_import(cData, interp, objc, objvx); break; } case LO_EXPORT: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_lo_export(cData, interp, objc, objvx); break; } case SENDQUERY: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_sendquery(cData, interp, objc, objvx); break; } case EXEC_PREPARED: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_exec_prepared(cData, interp, objc, objvx); break; } case SENDQUERY_PREPARED: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_sendquery_prepared(cData, interp, objc, objvx); break; } case NULL_VALUE_STRING: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_null_value_string(cData, interp, objc, objvx); break; } case PROTOCOL: case BACKENDPID: case SOCKET: case VERSION: { objc = 3; objvx[2] = objv[0]; objvx[1] = objv[1]; idx++; objvx[idx] = Tcl_NewStringObj(connid->id, -1); returnCode= Pg_dbinfo(cData, interp, objc, objvx); break; } case PARAM: { objc = 4; objvx[2] = objv[0]; objvx[1] = objv[1]; objvx[3] = objv[2]; idx++; objvx[idx] = Tcl_NewStringObj(connid->id, -1); returnCode= Pg_dbinfo(cData, interp, objc, objvx); break; } case CONNDEFAULTS: { returnCode = Pg_conndefaults(cData, interp, 1, objvx); break; } case SET_SINGLE_ROW_MODE: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_set_single_row_mode(cData, interp, objc, objvx); break; } case ISBUSY: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_isbusy(cData, interp, objc, objvx); break; } case BLOCKING: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_blocking(cData, interp, objc, objvx); break; } case CANCELREQUEST: { objvx[1] = Tcl_NewStringObj(connid->id, -1); returnCode = Pg_cancelrequest(cData, interp, objc, objvx); break; } } Tcl_DecrRefCount(objvx[idx]); return returnCode; } /* *---------------------------------------------------------------------- * * PgResultCmd -- * * dispatches the correct command from a result handle command * * Results: * Returns the return value of the command that gets called. If * the command is not found, then a TCL_ERROR is returned * *---------------------------------------------------------------------- */ int PgResultCmd(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { int objvxi; Tcl_Obj *objvx[25]; if (objc == 1 || objc > 25) { Tcl_WrongNumArgs(interp, 1, objv, "command..."); return TCL_ERROR; } /* * this assigns the args array with an offset, since * the command handle args looks is offset */ for (objvxi = 0; objvxi < objc; objvxi++) { objvx[objvxi + 1] = objv[objvxi]; } objvx[0] = objv[0]; return Pg_result(cData, interp, objc + 1, objvx); } /* * Get back the connection from the Id */ PGconn * PgGetConnectionId(Tcl_Interp *interp, CONST84 char *id, Pg_ConnectionId ** connid_p) { Tcl_Channel conn_chan; Pg_ConnectionId *connid; Tcl_Obj *tresult; conn_chan = Tcl_GetChannel(interp, id, 0); if (conn_chan == NULL || Tcl_GetChannelType(conn_chan) != &Pg_ConnType) { tresult = Tcl_NewStringObj(id, -1); Tcl_AppendStringsToObj(tresult, " is not a valid postgresql connection", NULL); Tcl_SetObjResult(interp, tresult); if (connid_p) *connid_p = NULL; return NULL; } connid = (Pg_ConnectionId *) Tcl_GetChannelInstanceData(conn_chan); if (connid_p) *connid_p = connid; return connid->conn; } /* * Remove a connection Id from the hash table and * close all portals the user forgot. */ int PgDelConnectionId(DRIVER_DEL_PROTO) { Tcl_HashEntry *entry; Tcl_HashSearch hsearch; Pg_ConnectionId *connid; Pg_TclNotifies *notifies; int i; Pg_resultid *resultid; connid = (Pg_ConnectionId *) cData; for (i = 0; i < connid->res_max; i++) { if (connid->results[i]) { PQclear(connid->results[i]); resultid = connid->resultids[i]; if (resultid != NULL) { Tcl_DecrRefCount(resultid->str); if ((resultid->nullValueString != NULL) && (resultid->nullValueString != connid->nullValueString)) ckfree (resultid->nullValueString); ckfree((void *)resultid); } } } ckfree((void *)connid->results); ckfree((void *)connid->resultids); /* Release associated notify info */ while ((notifies = connid->notify_list) != NULL) { connid->notify_list = notifies->next; for (entry = Tcl_FirstHashEntry(¬ifies->notify_hash, &hsearch); entry != NULL; entry = Tcl_NextHashEntry(&hsearch)) ckfree((char *)Tcl_GetHashValue(entry)); Tcl_DeleteHashTable(¬ifies->notify_hash); if (notifies->conn_loss_cmd) ckfree((void *) notifies->conn_loss_cmd); if (notifies->interp) Tcl_DontCallWhenDeleted(notifies->interp, PgNotifyInterpDelete, (ClientData)notifies); ckfree((void *)notifies); } /* * Turn off the Tcl event source for this connection, and delete any * pending notify and connection-loss events. */ PgStopNotifyEventSource(connid, 1); /* Close the libpq connection too */ PQfinish(connid->conn); connid->conn = NULL; if (connid->nullValueString != NULL) ckfree(connid->nullValueString); /* * Kill the notifier channel, too. We must not do this until after * we've closed the libpq connection, because Tcl will try to close * the socket itself! * * XXX Unfortunately, while this works fine if we are closing due to * explicit pg_disconnect, Tcl versions through 8.4.1 dump core if we * try to do it during interpreter shutdown. Not clear why, or if * there is a workaround. For now, accept leakage of the (fairly * small) amount of memory taken for the channel state representation. * Note we are not leaking a socket, since libpq closed that already. */ #if TCL_MAJOR_VERSION >= 8 if (connid->notifier_channel != NULL && interp != NULL) { Tcl_UnregisterChannel(NULL, connid->notifier_channel); } #endif /* * Clear any async result callback, if present. */ if (connid->callbackPtr) { Tcl_DecrRefCount(connid->callbackPtr); connid->callbackPtr = NULL; } if (connid->callbackInterp) { Tcl_Release((ClientData) connid->interp); connid->callbackInterp = NULL; } /* * We must use Tcl_EventuallyFree because we don't want the connid * struct to vanish instantly if Pg_Notify_EventProc is active for it. * (Otherwise, closing the connection from inside a pg_listen callback * could lead to coredump.) Pg_Notify_EventProc can detect that the * connection has been deleted from under it by checking connid->conn. */ Tcl_EventuallyFree((ClientData)connid, TCL_DYNAMIC); return 0; } /* *---------------------------------------------------------------------- * * PgResultId -- * * Find a slot for a new result id. If the table is full, expand * it by a factor of 2. However, do not expand past the hard max, * as the client is probably just not clearing result handles like * they should. * * Results: * Returns the result id. If the an error occurs, TCL_ERROR is * returned. The result handle is put into the interp result. * *---------------------------------------------------------------------- */ int PgSetResultId(Tcl_Interp *interp, CONST84 char *connid_c, PGresult *res) { Tcl_Channel conn_chan; Pg_ConnectionId *connid; int resid, i; char buf[32]; Tcl_Obj *cmd; Pg_resultid *resultid; conn_chan = Tcl_GetChannel(interp, connid_c, 0); if (conn_chan == NULL) return TCL_ERROR; connid = (Pg_ConnectionId *) Tcl_GetChannelInstanceData(conn_chan); /* search, starting at slot after the last one used */ resid = connid->res_last; for (;;) { /* advance, with wraparound */ if (++resid >= connid->res_max) resid = 0; /* this slot empty? */ if (!connid->results[resid]) { connid->res_last = resid; break; /* success exit */ } /* checked all slots? */ if (resid == connid->res_last) break; /* failure exit */ } if (connid->results[resid]) { /* no free slot found, so try to enlarge array */ if (connid->res_max >= connid->res_hardmax) { Tcl_SetResult(interp, "hard limit on result handles reached", TCL_STATIC); return TCL_ERROR; } connid->res_last = resid = connid->res_max; connid->res_max *= 2; if (connid->res_max > connid->res_hardmax) connid->res_max = connid->res_hardmax; connid->results = (PGresult **)ckrealloc((void *)connid->results, sizeof(PGresult *) * connid->res_max); connid->resultids = (Pg_resultid **)ckrealloc((void *)connid->resultids, sizeof(Pg_resultid *) * connid->res_max); for (i = connid->res_last; i < connid->res_max; i++) { connid->results[i] = NULL; connid->resultids[i] = NULL; } } connid->results[resid] = res; sprintf(buf, "%s.%d", connid_c, resid); cmd = Tcl_NewStringObj(buf, -1); resultid = (Pg_resultid *) ckalloc(sizeof(Pg_resultid)); resultid->interp = interp; resultid->id = resid; resultid->str = Tcl_NewStringObj(buf, -1); resultid->cmd_token = Tcl_CreateObjCommand(interp, buf, PgResultCmd, (ClientData) resultid, PgDelResultHandle); resultid->connid = connid; resultid->nullValueString = connid->nullValueString; connid->resultids[resid] = resultid; Tcl_SetObjResult(interp, cmd); return resid; } static int getresid(Tcl_Interp *interp, CONST84 char *id, Pg_ConnectionId ** connid_p) { Tcl_Channel conn_chan; char *mark; int resid; Pg_ConnectionId *connid; if (!(mark = strrchr(id, '.'))) { return -1; } *mark = '\0'; conn_chan = Tcl_GetChannel(interp, id, 0); *mark = '.'; if (conn_chan == NULL || Tcl_GetChannelType(conn_chan) != &Pg_ConnType) { Tcl_SetResult(interp, "Invalid connection handle", TCL_STATIC); return -1; } if (Tcl_GetInt(interp, mark + 1, &resid) == TCL_ERROR) { Tcl_SetResult(interp, "Poorly formated result handle", TCL_STATIC); return -1; } connid = (Pg_ConnectionId *) Tcl_GetChannelInstanceData(conn_chan); if (resid < 0 || resid >= connid->res_max || connid->results[resid] == NULL) { Tcl_SetResult(interp, "Invalid result handle", TCL_STATIC); return -1; } *connid_p = connid; return resid; } /* * Get back the result pointer from the Id */ PGresult * PgGetResultId(Tcl_Interp *interp, CONST84 char *id, Pg_resultid **resultidPtr) { Pg_ConnectionId *connid; int resid; if (!id) return NULL; resid = getresid(interp, id, &connid); if (resid == -1) return NULL; if (resultidPtr != NULL) { *resultidPtr = connid->resultids[resid]; } return connid->results[resid]; } /* * Remove a result Id from the hash tables */ void PgDelResultId(Tcl_Interp *interp, CONST84 char *id) { Pg_ConnectionId *connid; Pg_resultid *resultid; int resid; resid = getresid(interp, id, &connid); if (resid == -1) return; connid->results[resid] = 0; resultid = connid->resultids[resid]; Tcl_DecrRefCount((Tcl_Obj *)resultid->str); if ((resultid->nullValueString != NULL) && (resultid->nullValueString != connid->nullValueString)) ckfree (resultid->nullValueString); ckfree((void *)resultid); connid->resultids[resid] = 0; } /* * Get the connection Id from the result Id */ int PgGetConnByResultId(Tcl_Interp *interp, CONST84 char *resid_c) { char *mark; Tcl_Channel conn_chan; Tcl_Obj *tresult; if (!(mark = strrchr(resid_c, '.'))) goto error_out; *mark = '\0'; conn_chan = Tcl_GetChannel(interp, resid_c, 0); *mark = '.'; if (conn_chan && Tcl_GetChannelType(conn_chan) == &Pg_ConnType) { Tcl_SetResult(interp, (char *)Tcl_GetChannelName(conn_chan), TCL_VOLATILE); return TCL_OK; } error_out: tresult = Tcl_NewStringObj(resid_c, -1); Tcl_AppendStringsToObj(tresult, " is not a valid connection\n", NULL); Tcl_SetObjResult(interp, tresult); return TCL_ERROR; } /*------------------------------------------- Notify event source These functions allow asynchronous notify messages arriving from the SQL server to be dispatched as Tcl events. See the Tcl Notifier(3) man page for more info. The main trick in this code is that we have to cope with status changes between the queueing and the execution of a Tcl event. For example, if the user changes or cancels the pg_listen callback command, we should use the new setting; we do that by not resolving the notify relation name until the last possible moment. We also have to handle closure of the channel or deletion of the interpreter to be used for the callback (note that with multiple interpreters, the channel can outlive the interpreter it was created by!) Upon closure of the channel, we immediately delete the file event handler for it, which has the effect of disabling any file-ready events that might be hanging about in the Tcl event queue. But for interpreter deletion, we just set any matching interp pointers in the Pg_TclNotifies list to NULL. The list item stays around until the connection is deleted. (This avoids trouble with walking through a list whose members may get deleted under us.) In the current design, Pg_Notify_FileHandler is a file handler that we establish by calling Tcl_CreateFileHandler(). It gets invoked from the Tcl event loop whenever the underlying PGconn's socket is read-ready. We suck up any available data (to clear the OS-level read-ready condition) and then transfer any available PGnotify events into the Tcl event queue. Eventually these events will be dispatched to Pg_Notify_EventProc. When we do an ordinary PQexec, we must also transfer PGnotify events into Tcl's event queue, since libpq might have read them when we weren't looking. ------------------------------------------*/ typedef struct { Tcl_Event header; /* Standard Tcl event info */ PGnotify *notify; /* Notify event from libpq, or NULL */ /* We use a NULL notify pointer to denote a connection-loss event */ Pg_ConnectionId *connid; /* Connection for server */ } NotifyEvent; /* Dispatch a NotifyEvent that has reached the front of the event queue */ static int Pg_Notify_EventProc(Tcl_Event *evPtr, int flags) { NotifyEvent *event = (NotifyEvent *) evPtr; Pg_TclNotifies *notifies; char *callback; char *svcallback; /* We classify SQL notifies as Tcl file events. */ if (!(flags & TCL_FILE_EVENTS)) return 0; /* If connection's been closed, just forget the whole thing. */ if (event->connid == NULL) { if (event->notify) { #ifdef PQfreemem PQfreemem(event->notify); #else PQfreeNotify(event->notify); #endif } return 1; } /* * Preserve/Release to ensure the connection struct doesn't disappear * underneath us. */ Tcl_Preserve((ClientData)event->connid); /* * Loop for each interpreter that has ever registered on the * connection. Each one can get a callback. */ for (notifies = event->connid->notify_list; notifies != NULL; notifies = notifies->next) { Tcl_Interp *interp = notifies->interp; if (interp == NULL) continue; /* ignore deleted interpreter */ /* * Find the callback to be executed for this interpreter, if any. */ if (event->notify) { /* Ordinary NOTIFY event */ Tcl_HashEntry *entry; entry = Tcl_FindHashEntry(¬ifies->notify_hash, event->notify->relname); if (entry == NULL) continue; /* no pg_listen in this interpreter */ callback = (char *) Tcl_GetHashValue(entry); } else { /* Connection-loss event */ callback = notifies->conn_loss_cmd; } if (callback == NULL) continue; /* nothing to do for this interpreter */ /* * We have to copy the callback string in case the user executes a * new pg_listen or pg_on_connection_loss during the callback. */ svcallback = (char *)ckalloc((unsigned)(strlen(callback) + 1)); strcpy(svcallback, callback); /* * Execute the callback. */ Tcl_Preserve((ClientData)interp); if (Tcl_GlobalEval(interp, svcallback) != TCL_OK) { if (event->notify) Tcl_AddErrorInfo(interp, "\n (\"pg_listen\" script)"); else Tcl_AddErrorInfo(interp, "\n (\"pg_on_connection_loss\" script)"); Tcl_BackgroundError(interp); } Tcl_Release((ClientData)interp); ckfree(svcallback); /* * Check for the possibility that the callback closed the * connection. */ if (event->connid->conn == NULL) break; } Tcl_Release((ClientData)event->connid); if (event->notify) { #ifdef PQfreemem PQfreemem(event->notify); #else PQfreeNotify(event->notify); #endif } return 1; } /* * Transfer any notify events available from libpq into the Tcl event queue. * Note that this must be called after each PQexec (to capture notifies * that arrive during command execution) as well as in Pg_Notify_FileHandler * (to capture notifies that arrive when we're idle). */ void PgNotifyTransferEvents(Pg_ConnectionId * connid) { PGnotify *notify; while ((notify = PQnotifies(connid->conn)) != NULL) { NotifyEvent *event = (NotifyEvent *) ckalloc(sizeof(NotifyEvent)); event->header.proc = Pg_Notify_EventProc; event->notify = notify; event->connid = connid; Tcl_QueueEvent((Tcl_Event *) event, TCL_QUEUE_TAIL); } /* * This is also a good place to check for unexpected closure of the * connection (ie, backend crash), in which case we must shut down the * notify event source to keep Tcl from trying to select() on the now- * closed socket descriptor. But don't kill on-connection-loss * events; in fact, register one. */ if (PQsocket(connid->conn) < 0) PgConnLossTransferEvents(connid); } /* * Handle a connection-loss event */ void PgConnLossTransferEvents(Pg_ConnectionId * connid) { if (connid->notifier_running) { /* Put the on-connection-loss event in the Tcl queue */ NotifyEvent *event = (NotifyEvent *) ckalloc(sizeof(NotifyEvent)); event->header.proc = Pg_Notify_EventProc; event->notify = NULL; event->connid = connid; Tcl_QueueEvent((Tcl_Event *) event, TCL_QUEUE_TAIL); } /* * Shut down the notify event source to keep Tcl from trying to * select() on the now-closed socket descriptor. And zap any * unprocessed notify events ... but not, of course, the * connection-loss event. */ PgStopNotifyEventSource(connid, 0); } /* * Cleanup code for coping when an interpreter or a channel is deleted. * * PgNotifyInterpDelete is registered as an interpreter deletion callback * for each extant Pg_TclNotifies structure. * NotifyEventDeleteProc is used by PgStopNotifyEventSource to cancel * pending Tcl NotifyEvents that reference a dying connection. */ void PgNotifyInterpDelete(ClientData clientData, Tcl_Interp *interp) { /* Mark the interpreter dead, but don't do anything else yet */ Pg_TclNotifies *notifies = (Pg_TclNotifies *) clientData; notifies->interp = NULL; } /* * Comparison routines for detecting events to be removed by Tcl_DeleteEvents. * NB: In (at least) Tcl versions 7.6 through 8.0.3, there is a serious * bug in Tcl_DeleteEvents: if there are multiple events on the queue and * you tell it to delete the last one, the event list pointers get corrupted, * with the result that events queued immediately thereafter get lost. * Therefore we daren't tell Tcl_DeleteEvents to actually delete anything! * We simply use it as a way of scanning the event queue. Events matching * the about-to-be-deleted connid are marked dead by setting their connid * fields to NULL. Then Pg_Notify_EventProc will do nothing when those * events are executed. */ static int NotifyEventDeleteProc(Tcl_Event *evPtr, ClientData clientData) { Pg_ConnectionId *connid = (Pg_ConnectionId *) clientData; if (evPtr->proc == Pg_Notify_EventProc) { NotifyEvent *event = (NotifyEvent *) evPtr; if (event->connid == connid && event->notify != NULL) event->connid = NULL; } return 0; } /* This version deletes on-connection-loss events too */ static int AllNotifyEventDeleteProc(Tcl_Event *evPtr, ClientData clientData) { Pg_ConnectionId *connid = (Pg_ConnectionId *) clientData; if (evPtr->proc == Pg_Notify_EventProc) { NotifyEvent *event = (NotifyEvent *) evPtr; if (event->connid == connid) event->connid = NULL; } return 0; } static int Pg_Result_EventProc(Tcl_Event *evPtr, int flags) { NotifyEvent *event = (NotifyEvent *) evPtr; /* Results can only come from file events. */ if (!(flags & TCL_FILE_EVENTS)) return 0; /* If connection's been closed, just forget the whole thing. */ if (event->connid) { Pg_ConnectionId *connid = event->connid; Tcl_Obj *callbackPtr = connid->callbackPtr; Tcl_Interp *interp = connid->callbackInterp; /* Clear the result callback for this connection, so that the callback * script may safely establish a new one. */ connid->callbackPtr = NULL; connid->callbackInterp = NULL; if (callbackPtr || interp) { if (TCL_OK != Tcl_EvalObjEx(interp, callbackPtr, TCL_EVAL_GLOBAL)) { Tcl_BackgroundError(interp); } Tcl_DecrRefCount(callbackPtr); Tcl_Release((ClientData) interp); } } /* never deliver this event twice */ return 1; } /* * File handler callback: called when Tcl has detected read-ready on socket. * The clientData is a pointer to the associated connection. * We can ignore the condition mask since we only ever ask about read-ready. */ static void Pg_Notify_FileHandler(ClientData clientData, int mask) { Pg_ConnectionId *connid = (Pg_ConnectionId *) clientData; /* * Consume any data available from the SQL server (this just buffers * it internally to libpq; but it will clear the read-ready * condition). */ if (PQconsumeInput(connid->conn)) { /* Transfer notify events from libpq to Tcl event queue. */ PgNotifyTransferEvents(connid); /* If the connection is still alive, and if there is a * callback for results, check if a result is ready. If it is, * transfer the event to the Tcl event queue. */ if ((PQsocket(connid->conn) >= 0) && connid->callbackPtr && !PQisBusy(connid->conn)) { NotifyEvent *event = (NotifyEvent *) ckalloc(sizeof(NotifyEvent)); event->header.proc = Pg_Result_EventProc; event->notify = NULL; event->connid = connid; Tcl_QueueEvent((Tcl_Event *) event, TCL_QUEUE_TAIL); } } else { /* * If there is no input but we have read-ready, assume this means * we lost the connection. */ PgConnLossTransferEvents(connid); } } /* * Start and stop the notify event source for a connection. * * We do not bother to run the notifier unless at least one pg_listen * or pg_on_connection_loss has been executed on the connection. Currently, * once started the notifier is run until the connection is closed. * * FIXME: if PQreset is executed on the underlying PGconn, the active * socket number could change. How and when should we test for this * and update the Tcl file handler linkage? (For that matter, we'd * also have to reissue LISTEN commands for active LISTENs, since the * new backend won't know about 'em. I'm leaving this problem for * another day.) */ void PgStartNotifyEventSource(Pg_ConnectionId * connid) { /* Start the notify event source if it isn't already running */ if (!connid->notifier_running) { int pqsock = PQsocket(connid->conn); if (pqsock >= 0) { Tcl_CreateChannelHandler(connid->notifier_channel, TCL_READABLE, Pg_Notify_FileHandler, (ClientData) connid); connid->notifier_running = 1; } } } void PgStopNotifyEventSource(Pg_ConnectionId * connid, pqbool allevents) { /* Remove the event source */ if (connid->notifier_running) { Tcl_DeleteChannelHandler(connid->notifier_channel, Pg_Notify_FileHandler, (ClientData)connid); connid->notifier_running = 0; } /* Kill queued Tcl events that reference this channel */ if (allevents) Tcl_DeleteEvents(AllNotifyEventDeleteProc, (ClientData) connid); else Tcl_DeleteEvents(NotifyEventDeleteProc, (ClientData) connid); } void PgDelCmdHandle(ClientData cData) { Pg_ConnectionId *connid = (Pg_ConnectionId *) cData; Tcl_Channel conn_chan; Tcl_Obj *tresult; Pg_resultid *resultid; int i = 0; conn_chan = Tcl_GetChannel(connid->interp, connid->id, 0); if (conn_chan == NULL) { tresult = Tcl_NewStringObj("conn->id", -1); Tcl_AppendStringsToObj(tresult, " is not a valid connection", NULL); Tcl_SetObjResult(connid->interp, tresult); return; } if (connid->conn == NULL) return; for (i = 0; i <= connid->res_last; i++) { resultid = connid->resultids[i]; if (resultid) { Tcl_DeleteCommandFromToken(resultid->interp, resultid->cmd_token); } } Tcl_UnregisterChannel(connid->interp, conn_chan); return; } void PgDelResultHandle(ClientData cData) { PGresult *result; Pg_resultid *resultid = (Pg_resultid *) cData; char *resstr; resstr = Tcl_GetStringFromObj(resultid->str, NULL); result = PgGetResultId(resultid->interp, resstr, NULL); PgDelResultId(resultid->interp, resstr); PQclear(result); return; } flightaware-Pgtcl-8d02566/generic/pgtclId.h000066400000000000000000000040271203531660700205170ustar00rootroot00000000000000/*------------------------------------------------------------------------- * * pgtclId.h * * Contains Tcl "channel" interface routines, plus useful routines * to convert between strings and pointers. These are needed because * everything in Tcl is a string, but in C, pointers to data structures * are needed. * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $Id$ * *------------------------------------------------------------------------- */ #ifndef CONST84 # define CONST84 #endif extern int PgSetConnectionId(Tcl_Interp *interp, PGconn *conn, char *connhandle); #define DRIVER_OUTPUT_PROTO ClientData cData, CONST84 char *buf, int bufSize, \ int *errorCodePtr #define DRIVER_INPUT_PROTO ClientData cData, char *buf, int bufSize, \ int *errorCodePtr #define DRIVER_DEL_PROTO ClientData cData, Tcl_Interp *interp extern PGconn *PgGetConnectionId(Tcl_Interp *interp, CONST84 char *id, Pg_ConnectionId **); extern int PgDelConnectionId(DRIVER_DEL_PROTO); extern int PgOutputProc(DRIVER_OUTPUT_PROTO); extern int PgInputProc(DRIVER_INPUT_PROTO); extern int PgSetResultId(Tcl_Interp *interp, CONST84 char *connid, PGresult *res); extern PGresult *PgGetResultId(Tcl_Interp *interp, CONST84 char *id, Pg_resultid **resultidPtr); extern void PgDelResultId(Tcl_Interp *interp, CONST84 char *id); extern int PgGetConnByResultId(Tcl_Interp *interp, CONST84 char *resid); extern void PgStartNotifyEventSource(Pg_ConnectionId * connid); extern void PgStopNotifyEventSource(Pg_ConnectionId * connid, pqbool allevents); extern void PgNotifyTransferEvents(Pg_ConnectionId * connid); extern void PgConnLossTransferEvents(Pg_ConnectionId * connid); extern void PgNotifyInterpDelete(ClientData clientData, Tcl_Interp *interp); extern int PgConnCmd(ClientData cData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); extern void PgDelCmdHandle(ClientData cData); extern void PgDelResultHandle(ClientData cData); extern Tcl_ChannelType Pg_ConnType; flightaware-Pgtcl-8d02566/libpgtcl.def000066400000000000000000000002771203531660700176270ustar00rootroot00000000000000;libpgtcl.def ; The LIBRARY entry must be same as the name of your DLL, the name of ; our DLL is libpgtcl.dll LIBRARY libpgtcl EXPORTS Pgtcl_Init Pgtcl_SafeInit flightaware-Pgtcl-8d02566/pkgIndex.tcl.in000066400000000000000000000001261203531660700202220ustar00rootroot00000000000000package ifneeded Pgtcl @PACKAGE_VERSION@ [list load [file join $dir @PKG_LIB_FILE@]] flightaware-Pgtcl-8d02566/playpen/000077500000000000000000000000001203531660700170115ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/playpen/README000066400000000000000000000007501203531660700176730ustar00rootroot00000000000000 $Id$ This is the playpen directory, where we put stuff to play with, mess with, and evolve... stuff that isn't (yet) ready for prime time. datatypes - code for playing with data type oids and names dbobjects - code for creating and populating Itcl objects from Postgres pggrok - code for introspecting into postgres, finding out tables, users, etc. pghelpers - utility code for generating insert statements from arrays of key-value pairs and stuff like that flightaware-Pgtcl-8d02566/playpen/datatypes/000077500000000000000000000000001203531660700210075ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/playpen/datatypes/README000066400000000000000000000004111203531660700216630ustar00rootroot00000000000000 $Id$ Code for fetching data types and storing them in a global so data type numbers returned by pg_result -lAttributes can be turned into something useful. table_types - will tell you all the data types for the fields within a table. demo.tcl - will demo it flightaware-Pgtcl-8d02566/playpen/datatypes/demo.tcl000066400000000000000000000004731203531660700224430ustar00rootroot00000000000000# # playpen entry to mess with data types # # $Id$ # package require Pgtcl source install-types.tcl proc doit {} { set conn [pg_connect www] fetch_types $conn puts "here are the fields and data types in pg_tables (or whatever)..." puts [table_types $conn pg_tables] } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/playpen/datatypes/install-types.tcl000066400000000000000000000017601203531660700243270ustar00rootroot00000000000000# # playpen entry to mess with data types # # $Id$ # package require Pgtcl # # fetch_types - fetch all the datatypes from the database and store # the data types in oidTypeCache, indexed by type number # proc fetch_types {conn} { global oidTypeCache pg_select $conn "select oid,typname from pg_type" data { set oidTypeCache($data(oid)) $data(typname) } #puts "Here are all the types..." #parray oidTypeCache #puts [array get ::oidTypeCache] } # # table_types - given a connecvtion and a table name, return as a list the # names of the elements in the and each one's datatype # proc table_types {conn tableName} { set res [pg_exec $conn "select * from $tableName limit 1"] set result "" foreach triple [pg_result $res -lAttributes] { #lassign $triple name oid size set name [lindex $triple 0] set oid [lindex $triple 1] set size [lindex $triple 2] lappend result $name $::oidTypeCache($oid) } pg_result $res -clear return $result } flightaware-Pgtcl-8d02566/playpen/dbobjects/000077500000000000000000000000001203531660700207505ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/playpen/dbobjects/README000066400000000000000000000002131203531660700216240ustar00rootroot00000000000000 DBOBJECTS $Id$ This is some very promising code that provides substantial automated integration between Itcl classes and PostgreSQL. flightaware-Pgtcl-8d02566/playpen/dbobjects/dbtable.tcl000066400000000000000000000011461203531660700230530ustar00rootroot00000000000000# # base class for dbobjects # # $Id$ # package require Itcl # # db_table -- base class inherited by all postgres table classes # ::itcl::class db_table { constructor {args} { eval configure $args } method publics {} { puts [configure] } method dump {} { foreach varSet [configure] { puts "[lindex $varSet 0] -> [lindex $varSet 2]" } } method gen_insert {} { set result "insert into [$this table] ([join [$this fields] ","]) values (" foreach value [$this values] { append result "[pg_quote $value]," } return "[string range $result 0 end-1]);" } } flightaware-Pgtcl-8d02566/playpen/dbobjects/demo.tcl000066400000000000000000000016401203531660700224010ustar00rootroot00000000000000# # this code generates an Itcl class based on fields found in a postgres table # # it then does a select and instantiates the table from an object # # $Id$ # # package require Pgtcl source gen_db_objects.tcl set conn [pg_connect www] if 0 { set baseClass [gen_table_base_class $conn pg_type] } else { set baseClass [gen_table_base_class $conn pp_users] } puts $baseClass eval $baseClass package require sc-sqlobj ::sqlobj::SQLtable MySqlTable if 0 { MySqlTable instantiate -selectStatement "select * from pg_type" -dataKeyFields typname -objectType DB-pg_type puts [::itcl::find objects -class DB-pg_type] } if 0 { foreach obj [::itcl::find objects -class DB-pg_type] { puts $obj puts [$obj configure] puts "" } } MySqlTable instantiate -selectStatement "select * from pp_users" -dataKeyFields "address neighborhood" -objectType DB-pp_users -namespace :: puts [::itcl::find objects -class DB-pp_users] flightaware-Pgtcl-8d02566/playpen/dbobjects/gen_db_objects.tcl000066400000000000000000000023021203531660700244000ustar00rootroot00000000000000# # this code generates an Itcl class based on fields found in a postgres table # # it then does a select and instantiates the table from an object # # $Id$ # # source dbtable.tcl # # gen_table_base_class - return source code to generate an Itcl class # for the specified table, from the specified database connection # proc gen_table_base_class {conn tableName} { set result "::itcl::class DB-$tableName {\n" append result " inherit db_table\n\n" set res [pg_exec $conn "select * from $tableName limit 1"] set varList "" foreach var [lsort [pg_result $res -attributes]] { append result " public variable $var\n" lappend varList $var } pg_result $res -clear append result "\n" append result " common fields [list $varList]\n\n" append result " constructor {args} {\n eval configure \$args\n }\n\n" append result " method fields {} {\n return \$fields\n }\n\n" append result " method table {} {\n return [list $tableName]\n }\n\n" append result " method values {} {\n return \[list" foreach var $varList { append result " \$$var" } append result "]\n }\n\n" append result "}\n" } flightaware-Pgtcl-8d02566/playpen/pggrok/000077500000000000000000000000001203531660700203025ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/playpen/pggrok/README000066400000000000000000000022031203531660700211570ustar00rootroot00000000000000 pggrok -- code to introspect the postgres database and compare database schemas Copyright (C) 2004-2005 Karl Lehenbauer freely redistributable under the Berkeley license as long as this copyright is maintained. $Id$ programs: tclsh8.4 dump.tcl oldDbString >olddb.out tclsh8.4 dump.tcl newDbString >newdb.out tclsh8.4 compare.tcl olddb.out newdb.out pggrok package: ::pggrok::tables $conn Return a list of the names of all the tables in the database. ::pggrok::schema $conn Return a list of the names of all the schema in the database ::pggrok::users $conn Return a list of the names of all the users in the database ::pggrok::views $conn Return a list of the names of all the views in the datbase ::pggrok::attributes $conn tableName arrayName codeBody Populate the array with information about each field of the table, in turn, executing the code body. ::pggrok::indices $conn tableName arrayName codeBody Populate the array with information about each index of the table, in turn, executing the code body. ::pggrok::dump $conn Dump the names of the tables, schema, users and views to stdout. flightaware-Pgtcl-8d02566/playpen/pggrok/compare.tcl000066400000000000000000000063261203531660700224430ustar00rootroot00000000000000# # program to compare two files created by dump.tcl and list tables that # are in the first database but not the second, tables in the second but # not the first, and, for tables in both databases, any fields that have # been added, fields that have been removed, and information about any # fields that have changed # # $Id$ # package require Tclx set suppressColumnChanges 1 proc compare_element {tableName what listVar0 listVar1 name} { upvar ${listVar0}::${name} array0 upvar ${listVar1}::${name} array1 set somethingChanged 0 foreach varName [array names array0] { if {$::suppressColumnChanges && $varName == "attnum"} { continue } if {$array0($varName) != $array1($varName)} { puts "Changed $tableName $what \"$name\", $varName from \"$array0($varName)\" to \"$array1($varName)\"" set somethingChanged 1 } } return $somethingChanged } proc compare_table_info {tableName what namespace0 namespace1} { set listVar0 ${namespace0}::${tableName}::${what} set listVar1 ${namespace1}::${tableName}::${what} set list0 [set $listVar0] set list1 [set $listVar1] #puts "comparing $tableName $what" #puts " $listVar0" #puts " $listVar1" #puts " $list0" #puts " $list1" #puts "" lassign [intersect3 $list0 $list1] deleted inBoth added set somethingChanged 0 if {![lempty $deleted]} { puts "-- Deleted $tableName $what \"$deleted\"" set somethingChange 1 if {$what == "fields"} { foreach field $deleted { puts "alter table $tableName drop column $field;" } puts "" } } if {![lempty $added]} { puts "-- Added $tableName $what \"$added\"" set somethingChange 1 if {$what == "fields"} { foreach field $added { set formatType [set ${namespace1}::${tableName}::fields::${field}(format_type)] puts "alter table $tableName add column $field $formatType;" set null [set ${namespace1}::${tableName}::fields::${field}(attnotnull)] if {$null == "t"} { puts "alter table $tableName set not null;" } # handle default values set default [set ${namespace1}::${tableName}::fields::${field}(default)] if {$default != ""} { puts "alter table $tableName set default $default;" } } } puts "" } foreach var $inBoth { if {[compare_element $tableName $what $listVar0 $listVar1 $var]} { set somethingChanged 1 } } if $somethingChanged { puts "" } } proc compare_dumpfiles {file0 file1} { namespace eval ::file0 "source $file0" namespace eval ::file1 "source $file1" set tableComp [intersect3 $::file0::tables $::file1::tables] set inFirstOnly [lindex $tableComp 0] set inSecondOnly [lindex $tableComp 2] set inBoth [lindex $tableComp 1] if {![lempty $inFirstOnly]} { puts "in first only: $inFirstOnly" puts "" } if {![lempty $inSecondOnly]} { puts "in second only: $inSecondOnly" puts "" } foreach table $inBoth { compare_table_info $table fields ::file0 ::file1 compare_table_info $table indices ::file0 ::file1 } } proc main {argv} { if {[llength $argv] != 2} { puts stderr "usage: $::argv0 dumpfile1 dumpfile2" exit 1 } compare_dumpfiles [lindex $argv 0] [lindex $argv 1] } if !$tcl_interactive {main $argv} flightaware-Pgtcl-8d02566/playpen/pggrok/demo.tcl000066400000000000000000000006651203531660700217410ustar00rootroot00000000000000# # pggrok - code to introspect the postgres database # # Copyright (C) 2004 Karl Lehenbauer # # package require Pgtcl source pggrok.tcl set conn [pg_connect www] ::pggrok::dump $conn #puts [::pggrok::table_to_oid $conn sc_hyperconnect_text] puts "table attributes sc_hyperconnect_text" ::pggrok::table_attributes $conn sc_hyperconnect_text puts "" puts "indices sc_hyperconnect_text" ::pggrok::indices $conn sc_hyperconnect_text flightaware-Pgtcl-8d02566/playpen/pggrok/dump.tcl000066400000000000000000000026401203531660700217550ustar00rootroot00000000000000# # program to dump info about tables and indices for a database, into a format # that can be sourced back into tcl and will create a nested hierachy of # namespaces and arrays representing tables and fields and indexes within # tables # # $Id$ # source pggrok.tcl proc load_database_metadata {db} { set tables [::pggrok::tables $db] puts "set tables [list $tables]" puts "" foreach table $tables { puts "# TABLE $table" puts "namespace eval $table {" puts " # fields" puts " namespace eval fields {" set fields "" ::pggrok::table_attributes $db $table field { set name "$field(attname)" unset field(attname) puts " array set $name [list [array get field]]" lappend fields $name } puts " }" puts "" puts " set fields [list $fields]" puts "" puts " # indices" puts " namespace eval indices {" set indices "" ::pggrok::indices $db $table index { set name "$index(relname)" unset index(relname) puts " array set $name [list [array get index]]" lappend indices $name } puts " }" puts "" puts " set indices [list $indices]" puts "" puts "}" puts "" } } proc main {argv} { if {[llength $argv] != 1} { puts stderr "usage: $::argv0 dbstring" exit 1 } set connectString [lindex $argv 0] set db [pg_connect $connectString] load_database_metadata $db pg_disconnect $db } if !$tcl_interactive {main $argv} flightaware-Pgtcl-8d02566/playpen/pggrok/pggrok.tcl000066400000000000000000000105571203531660700223070ustar00rootroot00000000000000# # pggrok - code to introspect the postgres database # # Copyright (C) 2004 Karl Lehenbauer # # package require Pgtcl package provide pggrok 1.0 namespace eval pggrok { # # tables -- return a list of the names of all the tables in the database # proc tables {conn} { set result "" pg_execute -array data $conn { select c.relname as name from pg_catalog.pg_class c left join pg_catalog.pg_user u on u.usesysid = c.relowner left join pg_catalog.pg_namespace n on n.oid = c.relnamespace where c.relkind in ('r','') and n.nspname not in('pg_catalog', 'pg_toast') and pg_catalog.pg_table_is_visible(c.oid) order by 1 } { lappend result $data(name) } return $result } # # schema -- return a list of the names of all the schema in the database # proc schema {conn} { set result "" pg_execute -array data $conn { SELECT c.relname as name FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_user u ON u.usesysid = c.relowner LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ('S','') AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1; } { lappend result $data(name) } return $result } # # users -- return a list of the names of all the users in the database # proc users {conn} { set result "" pg_execute -array data $conn { SELECT u.usename AS name FROM pg_catalog.pg_user u ORDER BY 1; } { lappend result $data(name) } return $result } # # views -- return a list of the names of all the views in the datbase # proc views {conn} { set result "" pg_execute -array data $conn { SELECT c.relname as "name" FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_user u ON u.usesysid = c.relowner LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ('v','') AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1; } { lappend result $data(name) } return $result } # # table_to_oid -- given a connection and a table name, return thew OID of that # table # proc table_to_oid {conn table} { set cmd { SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE pg_catalog.pg_table_is_visible(c.oid) AND c.relname ~ '^%s$' } set result "" pg_execute -array data $conn [format $cmd $table] { lappend result $data(oid) } return $result } # # table_attributes -- given a connection and a table name, fill the # specified array name with elements containing data about each # field in turn, executing the code body on the result # proc table_attributes {conn table arrayName codeBody} { upvar $arrayName data set oid [table_to_oid $conn $table] set cmd { SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT substring(d.adsrc for 128) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, a.attnum FROM pg_catalog.pg_attribute a WHERE a.attrelid = '%s' AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum } pg_execute -array data $conn [format $cmd $oid] { set data(default) $data(?column?) unset data(?column?) uplevel $codeBody } } # # indices -- given a connection handle and a table name, fill the specified # array name with elements containing data about each index defined for the # table in turn, executing the code body on each result # # if there are no indexes, the code body will not be executed # proc indices {conn table arrayName codeBody} { upvar $arrayName data set oid [table_to_oid $conn $table] set cmd { SELECT c2.relname, i.indisprimary, i.indisunique, pg_catalog.pg_get_indexdef(i.indexrelid) FROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i WHERE c.oid = '%s' AND c.oid = i.indrelid AND i.indexrelid = c2.oid ORDER BY i.indisprimary DESC, i.indisunique DESC, c2.relname } pg_execute -array data $conn [format $cmd $oid] { uplevel $codeBody } } proc dump {conn} { puts "TABLES" puts [::pggrok::tables $conn] puts "" puts "SCHEMAS" puts [::pggrok::schema $conn] puts "" puts "USERS" puts [::pggrok::users $conn] puts "" puts "VIEWS" puts [::pggrok::views $conn] puts "" } } flightaware-Pgtcl-8d02566/playpen/pghelpers/000077500000000000000000000000001203531660700210025ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/playpen/pghelpers/Makefile000066400000000000000000000004241203531660700224420ustar00rootroot00000000000000# # # $Id$ # FILES= postgres-helpers.tcl INSTALLDIR= /usr/local/lib/sc_postgres all: pkgIndex.tcl pkgIndex.tcl: $(FILES) echo 'pkg_mkIndex -verbose -- .' | tclsh8.5 install: all mkdir -p $(INSTALLDIR) cp $(FILES) pkgIndex.tcl $(INSTALLDIR) clean: rm -f pkgIndex.tcl flightaware-Pgtcl-8d02566/playpen/pghelpers/postgres-helpers.README000066400000000000000000000053711203531660700251750ustar00rootroot00000000000000 Welcome to the Postgres helpers functions. These are actually quite soild. They've been in use for years. The only issue here is that they need to be part of the Postgres install. $Id$ sc_pg::foreach_tuple pgResult arrayName body Given a postgres result, an array name, and a code body, fill the array in turn with each result tuple and execute the code body against it. sc_pg::quote string Quote a string for Postgres. Puts single quotes around it and quotes single quotes if they're contained within it. sc_pg::gen_insert_from_array tableName array Return a postgres SQL insert statement based on the contents of an array. sc_pg::gen_update_from_array tableName array keyFieldList Return a postgres SQL update statement based on the contents of an array. Key field list specifies the keys and their values must be in the array. The where clause is generated as a big "and", so all the keys in the key field list must match for a row to be updated. sc_pg::perform_insert session insertStatement Execute a statement on the given database session. Grab the status out of the result. Clear the result. Return the status. sc_pg::perform_update_from_array session tableName array keyFieldList Generate an update statement and execute it on the given session. Grab the status out of the result. Clear the result. Return the status. sc_pg::gen_insert_from_lists tableName nameList valueList Generate a sql insert command based on the contents of an element list and a one-for-one corresponding value list, and return it. sc_pg::perform_insert_from_array session tableName arrayName Generate a sql insert command based on the contents of an array and execute it against the specified database session. sc_pg::clock_to_sql_time clockValue Convert a clock value (integer seconds since 1970) to a SQL standard abstime value, accurate to a day. sc_pg::clock_to_precise_sql_time clockValue Generate a SQL time from an integer clock time (seconds since 1970), accurate to the second, with timezone. sc_pg::clock_to_precise_sql_time_without_timezone clockValue Generate a SQL time from an integer clock time (seconds since 1970), accurate to the second, without timezone. sc_pg::sql_time_to_clock sqlDate Given a SQL standard abstime value, convert it to an integer clock value (seconds since 1970) and return it. sc_pg::res_must_succeed The given postgres result must be PGRES_COMMAND_OK and, if it isn't, throw an error. If it is OK, clear the postgres result. sc_pg::res_dont_care Whether or not the give postgres result is PGRES_COMMAND_OK, the result is cleared. By default we write something to stdout, but that's probably dumb. flightaware-Pgtcl-8d02566/playpen/pghelpers/postgres-helpers.tcl000066400000000000000000000165711203531660700250260ustar00rootroot00000000000000# # Copyright (C) 1996 NeoSoft. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided # that the above copyright notice appear in all copies. NeoSoft makes no # representations about the suitability of this software for any purpose. # It is provided "as is" without express or implied warranty. # # # Copyright (C) 2003 Proc Place. # Berkeley copyright as above. # # Copyright (C) 2004 Superconnect, Ltd. # Berkeley copyright as above. # # # postgres interface stuff # # $Id$ # package provide sc_postgres 1.1 package require Tclx package require Pgtcl namespace eval sc_pg { # # foreach_tuple - given a postgres result, an array name, and a code # body, fill the array in turn with each result tuple and execute # the code body against it. # proc foreach_tuple {res arrayName body} { upvar $arrayName $arrayName set numTuples [pg_result $res -numTuples] for {set i 0} {$i < $numTuples} {incr i} { pg_result $res -tupleArray $i $arrayName uplevel 1 $body } } # # quote - make string legally quoted for postgres # (obsoleted by pg_quote... it used to do it with a bunch of regexps) # proc quote_sql {string} { return [pg_quote $string] } # # gen_sql_insert_from_array - return a sql insert statement based on the # contents of an array # proc gen_insert_from_array {tableName arrayName} { upvar $arrayName array set nameList [array names array] set result "insert into $tableName ([join $nameList ","]) values (" foreach name $nameList { append result "[pg_quote $array($name)]," } return "[string range $result 0 end-1]);" } # # gen_sql_update_from_array - return a sql update statement based on the # contents of an array and a list of key fields # proc gen_update_from_array {tableName arrayName keyFields} { upvar $arrayName array set result "update $tableName set " foreach element [array names array] { # don't emit key fields into the update body if {[lsearch $keyFields $element] >= 0} { continue } append result "$element = [pg_quote $array($element)], " } set result "[string range $result 0 end-2] where (" foreach key $keyFields { if {![info exists array($key)]} { error "required key field '$key' not found in array '$arrayName'" } append result "$key = [pg_quote $array($key)] and" } return "[string range $result 0 end-4]);" } # # gen_insert_front_part - generate a sql insert front part # proc gen_insert_front_part {tableName nameList} { return "insert into $tableName ([join $nameList ","]) values (" } # # gen_insert_back_part - generate a sql insert back part # proc gen_insert_back_part {valueList} { set result "" foreach value $valueList { append result "[pg_quote $value]," } return "[string range $result 0 end-1]);" } # # gen_insert_simplex_front_part - generate a sql insert command based on # contents of a properly ordered list (fields same as the order in the table) # proc gen_insert_simplex_front_part {tableName} { set result "insert into $tableName values (" } # # perform_insert - generate a sql insert command based on the contents # of an array and execute it against the specified database session # proc perform_insert {session insertStatement} { set result [pg_exec $session $insertStatement] set status [pg_result $result -status] pg_result $result -clear return $status } # # gen_insert_from_lists - generate a sql insert command based on the # contents of an element list and a corresponding value list # proc gen_insert_from_lists {tableName nameList valueList} { set result "insert into $tableName ([join $nameList ","]) values (" foreach value $valueList { append result "[pg_quote $value]," } return "[string range $result 0 end-1]);" } # # perform_insert_from_lists - generate a sql insert command based on the # contents of an element list and a corresponding value list # and execute it against the specified database session # proc perform_insert_from_lists {session tableName nameList valueList} { set result [pg_exec $session [gen_insert_from_lists $tableName $nameList $valueList]] set status [pg_result $result -status] pg_result $result -clear return $status } # # perform_insert_from_array - generate a sql insert command based on the # contents of an array and execute it against the specified database session # proc perform_insert_from_array {session tableName arrayName} { upvar $arrayName array set result [pg_exec $session [gen_insert_from_array $tableName array]] set status [pg_result $result -status] pg_result $result -clear return $status } # # perform_update_from_array - generate a sql update command based on the # contents of an array and execute it against the specified database session # proc perform_update_from_array {session tableName arrayName keyFields} { upvar $arrayName array set result [pg_exec $session [gen_update_from_array $tableName array $keyFields]] set status [pg_result $result -status] pg_result $result -clear return $status } # # clock_to_sql_time - convert a clock value (integer seconds since 1970) to a # sql standard abstime value, accurate to a day. # # Month Day [ Hour : Minute : Second ] Year [ Timezone ] # proc clock_to_sql_time {clock} { return [clock format $clock -format "%b %d %Y"] } # # clock_to_precise_sql_time - generate a SQL time from an integer clock # time (seconds since 1970), accurate to the second, with timezone # proc clock_to_precise_sql_time {clock} { return [clock format $clock -format "%b %d %H:%M:%S %Y GMT" -gmt 1] } # # clock_to_precise_sql_time_without_timezone - generate a SQL time from an # integer clock time (seconds since 1970), accurate to the second, without # timezone info (using local timezone) # proc clock_to_precise_sql_time_without_timezone {clock} { return [clock format $clock -format "%b %d %H:%M:%S %Y"] } # # convert a sql standard abstime value to a clock value (integer # seconds since 1970) # proc sql_time_to_clock {date} { if {$date == ""} { return 0 } set firstPeriod [string first "." $date] if {$firstPeriod >= 0} { set date [string range $date 0 [expr $firstPeriod - 1]] } return [clock scan $date] } # # convert a sql time with timezone to a clock value (seconds since 1970) # # ERROR - this ain't right, it discards timezone and assumes local # proc sql_time_with_timezone_to_clock {date} { if {$date == ""} { return 0 } if {![regexp {(.*:..)[^-]*(.*)} $date dummy a b]} { error "unable to convert time-with-timezone value $date" } return [clock scan "$a"] } # # res_must_succeed - a postgres result must be PGRES_COMMAND_OK and # if not throw an error, and if so, clear the postgres result. # proc res_must_succeed {res} { set status [pg_result $res -status] if {$status != "PGRES_COMMAND_OK" && $status != "PGRES_TUPLES_OK"} { set errorString [pg_result $res -error] pg_result $res -clear error $errorString } pg_result $res -clear } # # res_dont_care - any postgres result is OK, we don't care, # clear the postgres result and return. # proc res_dont_care {res} { set status [pg_result $res -status] if {$status != "PGRES_COMMAND_OK" && $status != "PGRES_TUPLES_OK"} { puts "[pg_result $res -error] (ignored)" pg_result $res -clear return 0 } pg_result $res -clear return 1 } } flightaware-Pgtcl-8d02566/runtime/000077500000000000000000000000001203531660700170245ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/runtime/pgtcl.tcl000066400000000000000000000000451203531660700206400ustar00rootroot00000000000000# # Pgtcl runtime files # # $Id$ # flightaware-Pgtcl-8d02566/tclconfig/000077500000000000000000000000001203531660700173115ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/tclconfig/ChangeLog000066400000000000000000000626371203531660700211010ustar00rootroot000000000000002007-10-26 Daniel Steffen * tcl.m4 (Darwin): add support for 64-bit X11. 2007-10-23 Jeff Hobbs *** Tagged tea-3-branch to start TEA 4 development on HEAD *** 2007-09-17 Joe English * tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable' to build shared libraries on current NetBSDs [#1749251]. 2007-09-15 Daniel Steffen * tcl.m4: replace all direct references to compiler by ${CC} to enable CC overriding at configure & make time. (SunOS-5.1x): replace direct use of '/usr/ccs/bin/ld' in SHLIB_LD by 'cc' compiler driver. 2007-08-08 Jeff Hobbs * tcl.m4: check Ttk dir for Tk private headers (8.5). Add some comments to other bits. 2007-06-25 Jeff Hobbs * tcl.m4 (TEA_PROG_TCLSH, TEA_PROG_WISH): move where / is added. 2007-06-13 Jeff Hobbs * tcl.m4: fix --with-tkinclude alignment. [Bug 1506111] 2007-06-06 Daniel Steffen * tcl.m4 (Darwin): fix 64bit arch removal in fat 32&64bit builds. 2007-05-18 Donal K. Fellows * tcl.m4: Added quoting so that paths with spaces cause fewer problems. 2007-03-07 Daniel Steffen * tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in -mmacosx-version-min check. 2007-02-15 Jeff Hobbs * tcl.m4: correct private header check to search in generic subdir 2007-02-09 Jeff Hobbs *** Bump to TEA_VERSION 3.6 *** * tcl.m4: correct -d to -f (TEA_CONFIG_CFLAGS): SHLIB_SUFFIX is .so on HP ia64 [Bug 1615058] 2007-02-08 Jeff Hobbs * tcl.m4 (TEA_PRIVATE_TCL_HEADERS, TEA_PRIVATE_TK_HEADERS): check that the dirs actually have private headers. [Bug 1631922] 2007-02-04 Daniel Steffen * tcl.m4: add caching to -pipe check. 2007-01-25 Daniel Steffen * tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS to avoid errors about multiple -isysroot flags from some older gcc builds. 2006-01-19 Daniel Steffen * tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861] (Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS when present in CFLAGS to avoid discrepancies between what headers configure sees during preprocessing tests and compiling tests. 2006-12-19 Daniel Steffen * tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch flag succeeds before enabling 64bit build. 2006-12-16 Daniel Steffen * tcl.m4 (Linux): fix previous change to use makefile variable LDFLAGS_DEFAULT instead of LDFLAGS in SHLIB_LD, to ensure linker flags in sampleextension Makefile are picked up. 2006-11-26 Daniel Steffen * tcl.m4 (Linux): --enable-64bit support. [Patch 1597389], [Bug 1230558] 2006-08-18 Daniel Steffen * tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for universal builds including x86_64 and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET. For Tk extensions, remove 64-bit arch flags from CFLAGS like in the Tk configure, as neither TkAqua nor TkX11 can be built for 64-bit at present. 2006-03-28 Jeff Hobbs * tcl.m4: []-quote AC_DEFUN functions. (TEA_PATH_TKCONFIG): Fixed Windows-specific check for tkConfig.sh. (TEA_MAKE_LIB): Prepend 'lib' for Windows-gcc configs. 2006-03-07 Joe English * tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD, as per the other *BSD variants [Bug 1334613]. 2006-01-25 Jeff Hobbs *** Bump to TEA version 3.5 *** * tcl.m4: keep LD_SEARCH_FLAGS and CC_SEARCH_FLAGS synchronous with core tcl.m4 meaning. 2006-01-24 Daniel Steffen * tcl.m4 (Darwin): use makefile variable LDFLAGS_DEFAULT instead of LDFLAGS in SHLIB_LD, to ensure linker flags in sampleextension Makefile are picked up. [Bug 1403343] 2006-01-23 Jeff Hobbs * tcl.m4: add C:/Tcl/lib and C:/Progra~1/Tcl/lib dirs to check for *Config.sh on Windows. [Bug 1407544] 2006-01-23 Daniel Steffen * tcl.m4 (Darwin): for Tk extensions, remove -arch ppc64 from CFLAGS like in the Tk configure, as neither TkAqua nor TkX11 can be built for 64bit at present (no 64bit GUI libraries). 2006-01-22 Jeff Hobbs * tcl.m4: restore system=windows on Windows. Remove error if 'ar' isn't found (it may not be on Windows). Do not add -lxnet or define _XOPEN_SOURCE on HP-UX by default. Ensure the C|LDFLAGS_DEFAULT gets the fully sub'd value at configure time. 2006-01-10 Daniel Steffen * tcl.m4: add caching, use AC_CACHE_CHECK instead of AC_CACHE_VAL where possible, consistent message quoting, sync relevant tcl/unix/tcl.m4 HEAD changes and gratuitous formatting differences (notably sunc removal of support for for ancient BSD's, IRIX 4, RISCos and Ultrix by kennykb), Darwin improvements to TEA_LOAD_*CONFIG to make linking work against Tcl/Tk frameworks installed in arbitrary location, change TEA_PROG_* search order (look in *_BIN_DIR parents before *_PREFIX). 2006-01-05 Jeff Hobbs * tcl.m4: add dkf's system config refactor 2006-01-04 Jeff Hobbs * tcl.m4: remove extraneous ' that causes bash 3.1 to choke 2005-12-19 Joe English * tcl.m4 (TEA_PATH_TCLCONFIG &c): Look for tclConfig.sh &c in ${libdir}, where they are installed by default [Patch #1377407]. 2005-12-05 Don Porter * tcl.m4 (TEA_PUBLIC_*_HEADERS): Better support for finding header files for uninstalled Tcl and Tk. 2005-12-02 Jeff Hobbs * tcl.m4: correctly bump TEA_VERSION var to 3.4 2005-12-01 Daniel Steffen * unix/tcl.m4 (Darwin): fixed error when MACOSX_DEPLOYMENT_TARGET unset 2005-11-29 Jeff Hobbs * tcl.m4: *** Bump to TEA version 3.4 *** Add Windows x64 build support. Remove TEA_PATH_NOSPACE and handle the problem with ""s where necessary - the macro relied on TCLSH_PROG which didn't work for cross-compiles. 2005-11-27 Daniel Steffen * tcl.m4 (Darwin): add 64bit support, add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4. (TEA_ENABLE_LANGINFO, TEA_TIME_HANDLER): add/fix caching. 2005-10-30 Daniel Steffen * tcl.m4: fixed two tests for TEA_WINDOWINGSYSTEM = "aqua" that should have been for `uname -s` = "Darwin" instead; added some missing quoting. (TEA_PROG_TCLSH, TEA_PROG_WISH): fix incorrect assumption that install location of tclConfig.sh/tkConfig.sh allows to determine the tclsh/wish install dir via ../bin. Indeed tcl/tk can be configured with arbitrary --libdir and --bindir (independent of prefix) and such a configuration is in fact standard with Darwin framework builds. At least now also check ${TCL_PREFIX}/bin resp. ${TK_PREFIX}/bin for presence of tclsh resp. wish (if tcl/tk have been configured with arbitrary --bindir, this will still not find them, for a general solution *Config.sh would need to contain the values of bindir/libdir/includedir passed to configure). 2005-10-07 Jeff Hobbs * tcl.m4: Fix Solaris 5.10 check and Solaris AMD64 64-bit builds. 2005-10-04 Jeff Hobbs * tcl.m4 (TEA_PRIVATE_TCL_HEADERS): add / to finish sed macro (TEA_ENABLE_THREADS): don't check for pthread_attr_setstacksize func 2005-09-13 Jeff Hobbs * tcl.m4: *** Update to TEA version 3.3 *** define TEA_WINDOWINGSYSTEM in TEA_LOAD_TKCONFIG. Make --enable-threads the default (users can --disable-threads). Improve AIX ${CC}_r fix to better check existing ${CC} value. Do the appropriate evals to not require the *TOP_DIR_NATIVE vars be set for extensions that use private headers. Make aqua check for Xlib compat headers the same as win32. 2005-07-26 Mo DeJong * tcl.m4 (TEA_PROG_TCLSH, TEA_BUILD_TCLSH, TEA_PROG_WISH, TEA_BUILD_WISH): Remove TEA_BUILD_TCLSH and TEA_BUILD_WISH because of complaints that it broke the build when only an installed version of Tcl was available at extension build time. The TEA_PROG_TCLSH and TEA_PROG_WISH macros will no longer search the path at all. The build tclsh or installed tclsh shell will now be found by TEA_PROG_TCLSH. 2005-07-24 Mo DeJong * tcl.m4 (TEA_PROG_TCLSH, TEA_BUILD_TCLSH, TEA_PROG_WISH, TEA_BUILD_WISH): Split confused search for tclsh on PATH and build and install locations into two macros. TEA_PROG_TCLSH and TEA_PROG_WISH search the system PATH for an installed tclsh or wish. The TEA_BUILD_TCLSH and TEA_BUILD_WISH macros determine the name of tclsh or wish in the Tcl or Tk build directory even if tclsh or wish has not yet been built. [Tcl bug 1160114] [Tcl patch 1244153] 2005-06-23 Daniel Steffen * tcl.m4 (TEA_PRIVATE_TK_HEADERS): add ${TK_SRC_DIR}/macosx to TK_INCLUDES when building against TkAqua. * tcl.m4 (TEA_PATH_X): fixed missing comma in AC_DEFINE * tcl.m4: changes to better support framework builds of Tcl and Tk out of the box: search framework install locations for *Config.sh, and if in presence of a framework build, use the framework's Headers and PrivateHeaders directories for public and private includes. [FR 947735] 2005-06-18 Daniel Steffen * tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to ensure we can always relocate binaries with install_name_tool. 2005-06-04 Daniel Steffen * tcl.m4 (TEA_PATH_X): for TEA_WINDOWINGSYSTEM == aqua, check if xlib compat headers are available in tkheaders location, otherwise add xlib sourcedir to TK_XINCLUDES. 2005-04-25 Daniel Steffen * tcl.m4: added AC_DEFINE* descriptions (from core tcl.m4) to allow use with autoheader. (Darwin): added configure checks for recently added linker flags -single_module and -search_paths_first to allow building with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD. (TEA_MISSING_POSIX_HEADERS): added caching of dirent.h check. (TEA_BUGGY_STRTOD): added caching (sync with core tcl.m4). 2005-03-24 Jeff Hobbs * tcl.m4 (TEA_TCL_64BIT_FLAGS): use Tcl header defaults for wide int type only on Windows when __int64 is detected as valid. 2005-03-24 Don Porter * README.txt: Update reference to "SC_* macros" to "TEA_* macros". * tcl.m4: Incorporated recent improvements in SC_PATH_TCLCONFIG and SC_PATH_TKCONFIG into TEA_PATH_TCLCONFIG and TEA_PATH_TKCONFIG. Corrected search path in TEA_PATH_CONFIG and added AC_SUBST($1_BIN_DIR) to TEA_LOAD_CONFIG so that packages that load the configuration of another package can know where they loaded it from. 2005-03-18 Jeff Hobbs * tcl.m4 (TEA_CONFIG_CFLAGS): correct 2005-03-17 change to have variant LD_SEARCH_FLAGS for gcc and cc builds. * tcl.m4 (TEA_PROG_TCLSH, TEA_PROG_WISH): correct x-compile check. 2005-03-17 Jeff Hobbs * tcl.m4: Correct gcc build and HP-UX-11. 2005-02-08 Jeff Hobbs * tcl.m4 (TEA_ADD_LIBS): don't touch lib args starting with -. (TEA_CONFIG_CFLAGS): only define _DLL for CE in shared build. (TEA_MAKE_LIB): set RANLIB* to : on Windows (it's not needed). 2005-02-01 Jeff Hobbs * tcl.m4: redo of 2005-01-27 changes to correctly handle paths with spaces. Win/CE and Win/64 builds now require a prebuilt tclsh to handle conversion to short pathnames. This is done in the new TEA_PATH_NOSPACE macro. For Win/CE|64, make CC just the compiler and move the necessary includes to CFLAGS. (TEA_CONFIG_CFLAGS): Add Solaris 64-bit gcc build support. (TEA_PROG_TCLSH, TEA_PROG_WISH): Allow TCLSH_PROG and WISH_PROG to be set in the env and prevent resetting. (TEA_ADD_LIBS): On Windows using GCC (mingw), convert foo.lib args to -lfoo, for use with mingw. *** POTENTIAL INCOMPATABILITY *** (TEA_CONFIG_CFLAGS): Fix AIX gcc builds to work out-of-box. Bumped TEA to 3.2. 2005-01-27 Jeff Hobbs * tcl.m4: remove cygpath calls to support msys. Update base CE build assumption to "420,ARMV4,ARM,Pocket PC 2003". Make STLIB_LD use $LINKBIN -lib. 2005-01-25 Daniel Steffen * tcl.m4 (Darwin): fixed bug with static build linking to dynamic library in /usr/lib etc instead of linking to static library earlier in search path. [Tcl Bug 956908] Removed obsolete references to Rhapsody. 2004-12-29 Jeff Hobbs * tcl.m4: Updates for VC7 compatibility, fixing CFLAGS and LDFLAGS options, using better default -O levels. [Bug 1092952, 1091967] 2004-12-29 Joe English * tcl.m4: Do not use ${DBGX} suffix when building shared libraries [patch #1081595, TIP #34] 2004-09-07 Jeff Hobbs * tcl.m4 (TEA_CONFIG_CFLAGS): support eVC4 Win/CE builds 2004-08-10 Jeff Hobbs * tcl.m4 (TEA_INIT, TEA_PREFIX): update handling of exec_prefix to work around subdir configures since autoconf only propagates the prefix (not exec_prefix). 2004-07-23 Daniel Steffen * tcl.m4 (TEA_CONFIG_CFLAGS): Darwin section: brought inline with Tcl 8.5 HEAD config, removed core specific & obsolete settings. 2004-07-22 Jeff Hobbs * tcl.m4 (TEA_PATH_X): check in TK_DEFS for MAC_OSX_TK to see if we are compiling on Aqua. Add TEA_WINDOWINGSYSTEM var that reflects 'tk windowingsystem' value. 2004-07-16 Jeff Hobbs * tcl.m4 (TEA_ENABLE_THREADS): force a threaded build when building against a threaded core. (CFLAGS_WARNING): Remove -Wconversion for gcc builds (TEA_CONFIG_CFLAGS): Reorder configure.in for better 64-bit build configuration, replacing EXTRA_CFLAGS with CFLAGS. [Bug #874058] Update to latest Tcl 8.5 head config settings. Call this TEA version 3.1. 2004-04-29 Jeff Hobbs * tcl.m4 (TEA_TCL_64BIT_FLAGS): replace AC_TRY_RUN test with AC_TRY_COMPILE for the long vs. long long check. (kenny) 2004-04-26 Jeff Hobbs * tcl.m4 (TEA_TCL_64BIT_FLAGS): update against core tcl.m4 to define TCL_WIDE_INT_IS_LONG if 'using long'. 2004-03-19 Jeff Hobbs * tcl.m4: correct Windows builds getting LDFLAGS info in MAKE_LIB 2004-02-11 Jeff Hobbs * tcl.m4: correct TCL_INCLUDES for private headers on Windows - it doesn't need the eval. 2004-02-10 Jeff Hobbs * tcl.m4: don't require TK_INCLUDES and TCL_INCLUDES to have the DIR_NATIVE vars defined when using private headers on unix. Allow $... to TEA_ADD_SOURCES for constructs like TEA_ADD_SOURCES([\$(WIN_OBJECTS)]), that allow the developer to place more in the Makefile.in. tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and CHECK on limits.h 2003-12-10 Jeff Hobbs * Makefile.in: added TEA_ADD_LIBS, TEA_ADD_INCLUDES and * configure: TEA_ADD_CFLAGS to configurable parameters with * configure.in: PKG_* equivs in the Makefile. This allows the * tclconfig/tcl.m4: user to worry less about actual magic VAR names. Corrected Makefile.in to note that TEA_ADD_TCL_SOURCES requires exact file names. 2003-12-09 Jeff Hobbs * tcl.m4: updated OpenBSD support based on [Patch #775246] (cassoff) 2003-12-05 Jeff Hobbs * configure: * configure.in: * Makefile.in (VPATH): readd $(srcdir) to front of VPATH as the first part of VPATH can get chopped off. Change .c.$(OBJEXT) rule to .c.@OBJEXT@ to support more makes. * tclconfig/tcl.m4: add TEA_ADD_STUB_SOURCES to support libstub generation and TEA_ADD_TCL_SOURCES to replace RUNTIME_SOURCES as the way the user specifies library files. 2003-12-03 Jeff Hobbs * configure: Update of TEA spec to (hopefully) simplify * configure.in: some aspects of TEA by making use of more * Makefile.in: AC 2.5x features. Use PACKAGE_NAME (instead * generic/tclsample.c: of PACKAGE) and PACKAGE_VERSION (instead of * tclconfig/tcl.m4: VERSION) arguments to AC_INIT as the TEA package name and version. Provide a version argument to TEA_INIT - starting with 3.0. Drop all use of interior shell substs that older makefiles didn't like. Use PKG_* naming convention instead. Move specification of source files and public headers into configure.in with TEA_ADD_SOURCES and TEA_ADD_HEADERS. These will be munged during ./configure into the right obj file names (no $(SOURCES:.c=.obj) needed). There is almost nothing that should be touched in Makefile.in now for the developer. May want to add a TEA_ADD_TCL_SOURCES for the RUNTIME_SOURCES that remains. Use SHLID_LD_FLAGS (instead of SHLID_LDFLAGS) as Tcl does. Only specify the user requested LDFLAGS/CFLAGS in the Makefile, don't mention the _OPTIMIZE/_DEBUG variants. 2003-10-15 Jeff Hobbs * tcl.m4: create a TEA_SETUP_COMPILER_CC the precedes the TEA_SETUP_COMPILER macro. They are split so the check for CC occurs before any use of CC. Also add AC_PROG_CPP to the compiler checks. 2003-10-06 Jeff Hobbs * tcl.m4: Updated for autoconf 2.5x prereq. Where TCL_WIDE_INT_TYPE would be __int64, defer to the code checks in tcl.h, which also handles TCL_LL_MODIFIER* properly. 2003-04-22 Jeff Hobbs * tcl.m4: correct default setting of ARCH for WinCE builds. Correct \ escaping for CE sed macros. 2003-04-10 Jeff Hobbs * tcl.m4: replace $(syscal) construct with older `syscall` for systems where sh != bash. 2003-04-09 Jeff Hobbs * tcl.m4 (TEA_WITH_CELIB): add --enable-wince and --with-celib options for Windows/CE compilation support. Requires the Microsoft eMbedded SDK and Keuchel's celib emulation layer. 2003-02-18 Jeff Hobbs * tcl.m4 (TEA_ENABLE_THREADS): Make sure -lpthread gets passed on the link line when checking for the pthread_attr_setstacksize symbol. (dejong) * tcl.m4 (TEA_SETUP_COMPILER): added default calls to TEA_TCL_EARLY_FLAGS, TEA_TCL_64BIT_FLAGS, TEA_MISSING_POSIX_HEADERS and TEA_BUGGY_STRTOD. 2003-02-14 Jeff Hobbs * tcl.m4: correct HP-UX ia64 --enable-64bit build flags 2003-01-29 Jeff Hobbs * tcl.m4: check $prefix/lib as well as $exec_prefix/lib when looking for tcl|tkConfig.sh, as this check is done before we would set exec_prefix when the user does not define it. 2003-01-21 Mo DeJong * tcl.m4 (TEA_CONFIG_CFLAGS): Fix build support for mingw, the previous implementation would use VC++ when compiling with mingw gcc. Don't pass -fPIC since gcc always compiles pic code under win32. Change some hard coded cases of gcc to ${CC}. 2002-10-15 Jeff Hobbs * tcl.m4: move the CFLAGS definition from TEA_ENABLE_SHARED to TEA_MAKE_LIB because setting too early confuses other AC_* macros. Correct the HP-11 SHLIB_LD_LIBS setting. * tcl.m4: add the CFLAGS definition into TEA_ENABLE_SHARED and make it pick up the env CFLAGS at configure time. 2002-10-09 Jeff Hobbs * tcl.m4: add --enable-symbols=mem option to enable TCL_MEM_DEBUG. Improved AIX 64-bit build support, allow it on AIX-4 as well. Enable 64-bit HP-11 compilation with gcc. Enable 64-bit IRIX64-6 cc build support. Correct FreeBSD thread library linkage. Add OSF1 static build support. Improve SunOS-5 shared build SHLIB_LD macro. 2002-07-20 Zoran Vasiljevic * tcl.m4: Added MINGW32 to list of systems checked for Windows build. Also, fixes some indentation issues with "--with-XXX" options. 2002-04-23 Jeff Hobbs * tcl.m4 (TEA_ENABLE_THREADS): added USE_THREAD_ALLOC define to use new threaded allocatory by default on Unix for Tcl 8.4. (TEA_CONFIG_CFLAGS): corrected LD_SEARCH_FLAGS for FreeBSD-3+. 2002-04-22 Jeff Hobbs * tcl.m4 (TEA_SETUP_COMPILER): removed call to AC_CYGWIN so that we can use autoconf 2.5x as well as 2.13. This prevents us from being able to warn against the use of cygwin gcc at configure time, but allows autoconf 2.5x, which is what is shipped with most newer systems. 2002-04-11 Jeff Hobbs * tcl.m4: Enabled COFF as well as CV style debug info with --enable-symbols to allow Dr. Watson users to see function info. More info on debugging levels can be obtained at: http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp 2002-04-03 Jeff Hobbs * tcl.m4: change all SC_* macros to TEA_*. The SC_ was for Scriptics, which is no more. TEA represents a better, independent prefix that won't need changing. Added preliminary mingw gcc support. [Patch #538772] Added TEA_PREFIX macro that handles defaulting the prefix and exec_prefix vars to those used by Tcl if none were specified. Added TEA_SETUP_COMPILER macro that encompasses the AC_PROG_CC check and several other basic AC_PROG checks needed for making executables. This greatly simplifies user's configure.in files. Collapsed AIX-5 defines into AIX-* with extra checks for doing the ELF stuff on AIX-5-ia64. Updated TEA_ENABLE_THREADS to take an optional arg to allow switching it on by default (for Thread) and add sanity checking to warn the user if configuring threads incompatibly. 2002-03-29 Jeff Hobbs * tcl.m4: made sure that SHLIB_LDFLAGS was set to LDFLAGS_DEFAULT. Removed --enable-64bit support for AIX-4 because it wasn't correct. Added -MT or -MD Windows linker switches to properly support symbols-enabled builds. 2002-03-28 Jeff Hobbs * tcl.m4: called AC_MSG_ERROR when SC_TEA_INIT wasn't called first instead of calling it as that inlines it each time in shell code. Changed Windows CFLAGS_OPTIMIZE to use -O2 instead of -Oti. Noted TCL_LIB_VERSIONS_OK=nodots for Windows builds. A few changes to support itcl (and perhaps others): Added support for making your own stub libraries to SC_MAKE_LIB. New SC_PATH_CONFIG and SC_LOAD_CONFIG that take a package name arg and find that ${pkg}Config.sh file. itk uses this for itcl. 2002-03-27 Jeff Hobbs * tcl.m4: made SC_LOAD_TKCONFIG recognize when working with a Tk build dir setup. Added EXTRA_CFLAGS and SHLIB_LD_LIBS substs to SC_CONFIG_CFLAGS. Added XLIBSW onto LIBS when it is defined. Remove TCL_LIBS from MAKE_LIB and correctly use SHLIB_LD_LIBS instead to not rely as much on tclConfig.sh cached info. Add TK_BIN_DIR to paths to find wish in SC_PROG_WISH. These move towards making TEA much more independent of *Config.sh. 2002-03-19 Jeff Hobbs * tcl.m4: corrected forgotten (UN)SHARED_LIB_SUFFIX and SHLIB_SUFFIX defines for Win. (SC_PATH_X): made this only do the check on unix platforms. 2002-03-12 Jeff Hobbs * README.txt: updated to reflect fewer files 2002-03-06 Jeff Hobbs * config.guess (removed): * config.sub (removed): removed unnecessary files * installFile.tcl (removed): * mkinstalldirs (removed): these aren't really necessary for making TEA work * tcl.m4 (SC_PUBLIC_TCL_HEADERS, SC_PUBLIC_TK_HEADERS): don't check /usr(/local)/include for includes on Windows when not using gcc 2002-03-05 Jeff Hobbs * tcl.m4: added warnings on Windows, removed RELPATH define and added TCL_LIBS to MAKE_LIB macro. This import represents 2.0.0, or a new start at attempting to make TEA much easier for C extension developers. **** moved from tclpro project to core tcl project, **** **** renamed to 'tclconfig' **** 2001-03-15 Karl Lehenbauer * installFile.tcl: Added updating of the modification time of the target file whether we overwrote it or decided that it hadn't changed. This was necessary for us to be able to determine whether or not a module install touched the file. 2001-03-08 Karl Lehenbauer * installFile.tcl: Added support for converting new-style (1.1+) Cygnus drive paths to Tcl-style. 2001-01-15 * tcl.m4: Added FreeBSD clause. 2001-01-03 * tcl.m4: Fixed typo in SC_LIB_SPEC where it is checking for exec-prefix. 2000-12-01 * tcl.m4: Concatenated most of the Ajuba acsite.m4 file so we don't need to modify the autoconf installation. * config.guess: * config.sub: * installFile.tcl: Added files from the itcl config subdirectory, which should go away. 2000-7-29 * Fixed the use of TCL_SRC_DIR and TK_SRC_DIR within TCL_PRIVATE_INCLUDES and TK_PRIVATE_INCLUDES to match their recent change from $(srcdir) to $(srcdir)/.. flightaware-Pgtcl-8d02566/tclconfig/README.txt000066400000000000000000000014541203531660700210130ustar00rootroot00000000000000These files comprise the basic building blocks for a Tcl Extension Architecture (TEA) extension. For more information on TEA see: http://www.tcl.tk/doc/tea/ This package is part of the Tcl project at SourceForge, and latest sources should be available there: http://tcl.sourceforge.net/ This package is a freely available open source package. You can do virtually anything you like with it, such as modifying it, redistributing it, and selling it either in whole or in part. CONTENTS ======== The following is a short description of the files you will find in the sample extension. README.txt This file install-sh Program used for copying binaries and script files to their install locations. tcl.m4 Collection of Tcl autoconf macros. Included by a package's aclocal.m4 to define TEA_* macros. flightaware-Pgtcl-8d02566/tclconfig/install-sh000077500000000000000000000042121203531660700213140ustar00rootroot00000000000000#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5; it is not part of GNU. # # $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $ # # This script is compatible with the BSD install script, but was written # from scratch. # # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" instcmd="$mvprog" chmodcmd="" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; *) if [ x"$src" = x ] then src=$1 else dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` fi # Make a temp file name in the proper directory. dstdir=`dirname $dst` dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp # and set any options; do chmod last to preserve setuid bits if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi # Now rename the file to the real destination. $doit $rmcmd $dst $doit $mvcmd $dsttmp $dst exit 0 flightaware-Pgtcl-8d02566/tclconfig/tcl.m4000066400000000000000000003753241203531660700203530ustar00rootroot00000000000000# tcl.m4 -- # # This file provides a set of autoconf macros to help TEA-enable # a Tcl extension. # # Copyright (c) 1999-2000 Ajuba Solutions. # Copyright (c) 2002-2005 ActiveState Corporation. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id$ AC_PREREQ(2.57) dnl TEA extensions pass us the version of TEA they think they dnl are compatible with (must be set in TEA_INIT below) dnl TEA_VERSION="3.6" # Possible values for key variables defined: # # TEA_WINDOWINGSYSTEM - win32 aqua x11 (mirrors 'tk windowingsystem') # TEA_PLATFORM - windows unix # #------------------------------------------------------------------------ # TEA_PATH_TCLCONFIG -- # # Locate the tclConfig.sh file and perform a sanity check on # the Tcl compile flags # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --with-tcl=... # # Defines the following vars: # TCL_BIN_DIR Full path to the directory containing # the tclConfig.sh file #------------------------------------------------------------------------ AC_DEFUN([TEA_PATH_TCLCONFIG], [ dnl TEA specific: Make sure we are initialized AC_REQUIRE([TEA_INIT]) # # Ok, lets find the tcl configuration # First, look for one uninstalled. # the alternative search directory is invoked by --with-tcl # if test x"${no_tcl}" = x ; then # we reset no_tcl in case something fails here no_tcl=true AC_ARG_WITH(tcl, AC_HELP_STRING([--with-tcl], [directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval}) AC_MSG_CHECKING([for Tcl configuration]) AC_CACHE_VAL(ac_cv_c_tclconfig,[ # First check to see if --with-tcl was specified. if test x"${with_tclconfig}" != x ; then case ${with_tclconfig} in */tclConfig.sh ) if test -f ${with_tclconfig}; then AC_MSG_WARN([--with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself]) with_tclconfig=`echo ${with_tclconfig} | sed 's!/tclConfig\.sh$!!'` fi ;; esac if test -f "${with_tclconfig}/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` else AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) fi fi # then check for a private Tcl installation if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ../tcl \ `ls -dr ../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../tcl[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ ../../tcl \ `ls -dr ../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../tcl[[8-9]].[[0-9]]* 2>/dev/null` \ ../../../tcl \ `ls -dr ../../../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../../../tcl[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../../tcl[[8-9]].[[0-9]]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi # on Darwin, check in Framework installation locations if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d ~/Library/Frameworks 2>/dev/null` \ `ls -d /Library/Frameworks 2>/dev/null` \ `ls -d /Network/Library/Frameworks 2>/dev/null` \ `ls -d /System/Library/Frameworks 2>/dev/null` \ ; do if test -f "$i/Tcl.framework/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/Tcl.framework; pwd)` break fi done fi # TEA specific: on Windows, check in common installation locations if test "${TEA_PLATFORM}" = "windows" \ -a x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d C:/Tcl/lib 2>/dev/null` \ `ls -d C:/Progra~1/Tcl/lib 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i; pwd)` break fi done fi # check in a few common install locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i; pwd)` break fi done fi # check in a few other private locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ${srcdir}/../tcl \ `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]]* 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi ]) if test x"${ac_cv_c_tclconfig}" = x ; then TCL_BIN_DIR="# no Tcl configs found" AC_MSG_WARN([Can't find Tcl configuration definitions]) exit 0 else no_tcl= TCL_BIN_DIR=${ac_cv_c_tclconfig} AC_MSG_RESULT([found ${TCL_BIN_DIR}/tclConfig.sh]) fi fi ]) #------------------------------------------------------------------------ # TEA_PATH_TKCONFIG -- # # Locate the tkConfig.sh file # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --with-tk=... # # Defines the following vars: # TK_BIN_DIR Full path to the directory containing # the tkConfig.sh file #------------------------------------------------------------------------ AC_DEFUN([TEA_PATH_TKCONFIG], [ # # Ok, lets find the tk configuration # First, look for one uninstalled. # the alternative search directory is invoked by --with-tk # if test x"${no_tk}" = x ; then # we reset no_tk in case something fails here no_tk=true AC_ARG_WITH(tk, AC_HELP_STRING([--with-tk], [directory containing tk configuration (tkConfig.sh)]), with_tkconfig=${withval}) AC_MSG_CHECKING([for Tk configuration]) AC_CACHE_VAL(ac_cv_c_tkconfig,[ # First check to see if --with-tkconfig was specified. if test x"${with_tkconfig}" != x ; then case ${with_tkconfig} in */tkConfig.sh ) if test -f ${with_tkconfig}; then AC_MSG_WARN([--with-tk argument should refer to directory containing tkConfig.sh, not to tkConfig.sh itself]) with_tkconfig=`echo ${with_tkconfig} | sed 's!/tkConfig\.sh$!!'` fi ;; esac if test -f "${with_tkconfig}/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` else AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) fi fi # then check for a private Tk library if test x"${ac_cv_c_tkconfig}" = x ; then for i in \ ../tk \ `ls -dr ../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../tk[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../tk[[8-9]].[[0-9]]* 2>/dev/null` \ ../../tk \ `ls -dr ../../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../../tk[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../tk[[8-9]].[[0-9]]* 2>/dev/null` \ ../../../tk \ `ls -dr ../../../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ../../../tk[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../../tk[[8-9]].[[0-9]]* 2>/dev/null` ; do if test -f "$i/unix/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i/unix; pwd)` break fi done fi # on Darwin, check in Framework installation locations if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tkconfig}" = x ; then for i in `ls -d ~/Library/Frameworks 2>/dev/null` \ `ls -d /Library/Frameworks 2>/dev/null` \ `ls -d /Network/Library/Frameworks 2>/dev/null` \ `ls -d /System/Library/Frameworks 2>/dev/null` \ ; do if test -f "$i/Tk.framework/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i/Tk.framework; pwd)` break fi done fi # check in a few common install locations if test x"${ac_cv_c_tkconfig}" = x ; then for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ ; do if test -f "$i/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i; pwd)` break fi done fi # TEA specific: on Windows, check in common installation locations if test "${TEA_PLATFORM}" = "windows" \ -a x"${ac_cv_c_tkconfig}" = x ; then for i in `ls -d C:/Tcl/lib 2>/dev/null` \ `ls -d C:/Progra~1/Tcl/lib 2>/dev/null` \ ; do if test -f "$i/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i; pwd)` break fi done fi # check in a few other private locations if test x"${ac_cv_c_tkconfig}" = x ; then for i in \ ${srcdir}/../tk \ `ls -dr ${srcdir}/../tk[[8-9]].[[0-9]].[[0-9]]* 2>/dev/null` \ `ls -dr ${srcdir}/../tk[[8-9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../tk[[8-9]].[[0-9]]* 2>/dev/null` ; do if test -f "$i/unix/tkConfig.sh" ; then ac_cv_c_tkconfig=`(cd $i/unix; pwd)` break fi done fi ]) if test x"${ac_cv_c_tkconfig}" = x ; then TK_BIN_DIR="# no Tk configs found" AC_MSG_WARN([Can't find Tk configuration definitions]) exit 0 else no_tk= TK_BIN_DIR=${ac_cv_c_tkconfig} AC_MSG_RESULT([found ${TK_BIN_DIR}/tkConfig.sh]) fi fi ]) #------------------------------------------------------------------------ # TEA_LOAD_TCLCONFIG -- # # Load the tclConfig.sh file # # Arguments: # # Requires the following vars to be set: # TCL_BIN_DIR # # Results: # # Subst the following vars: # TCL_BIN_DIR # TCL_SRC_DIR # TCL_LIB_FILE # #------------------------------------------------------------------------ AC_DEFUN([TEA_LOAD_TCLCONFIG], [ AC_MSG_CHECKING([for existence of ${TCL_BIN_DIR}/tclConfig.sh]) if test -f "${TCL_BIN_DIR}/tclConfig.sh" ; then AC_MSG_RESULT([loading]) . "${TCL_BIN_DIR}/tclConfig.sh" else AC_MSG_RESULT([could not find ${TCL_BIN_DIR}/tclConfig.sh]) fi # eval is required to do the TCL_DBGX substitution eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\"" # If the TCL_BIN_DIR is the build directory (not the install directory), # then set the common variable name to the value of the build variables. # For example, the variable TCL_LIB_SPEC will be set to the value # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC # instead of TCL_BUILD_LIB_SPEC since it will work with both an # installed and uninstalled version of Tcl. if test -f "${TCL_BIN_DIR}/Makefile" ; then TCL_LIB_SPEC=${TCL_BUILD_LIB_SPEC} TCL_STUB_LIB_SPEC=${TCL_BUILD_STUB_LIB_SPEC} TCL_STUB_LIB_PATH=${TCL_BUILD_STUB_LIB_PATH} elif test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use the libraries # from the framework at the given location so that linking works # against Tcl.framework installed in an arbitary location. case ${TCL_DEFS} in *TCL_FRAMEWORK*) if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then for i in "`cd ${TCL_BIN_DIR}; pwd`" \ "`cd ${TCL_BIN_DIR}/../..; pwd`"; do if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then TCL_LIB_SPEC="-F`dirname "$i"` -framework ${TCL_LIB_FILE}" break fi done fi if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then TCL_STUB_LIB_SPEC="-L${TCL_BIN_DIR} ${TCL_STUB_LIB_FLAG}" TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}" fi ;; esac fi # eval is required to do the TCL_DBGX substitution eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\"" eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\"" AC_SUBST(TCL_VERSION) AC_SUBST(TCL_BIN_DIR) AC_SUBST(TCL_SRC_DIR) AC_SUBST(TCL_LIB_FILE) AC_SUBST(TCL_LIB_FLAG) AC_SUBST(TCL_LIB_SPEC) AC_SUBST(TCL_STUB_LIB_FILE) AC_SUBST(TCL_STUB_LIB_FLAG) AC_SUBST(TCL_STUB_LIB_SPEC) # TEA specific: AC_SUBST(TCL_LIBS) AC_SUBST(TCL_DEFS) AC_SUBST(TCL_EXTRA_CFLAGS) AC_SUBST(TCL_LD_FLAGS) AC_SUBST(TCL_SHLIB_LD_LIBS) ]) #------------------------------------------------------------------------ # TEA_LOAD_TKCONFIG -- # # Load the tkConfig.sh file # # Arguments: # # Requires the following vars to be set: # TK_BIN_DIR # # Results: # # Sets the following vars that should be in tkConfig.sh: # TK_BIN_DIR #------------------------------------------------------------------------ AC_DEFUN([TEA_LOAD_TKCONFIG], [ AC_MSG_CHECKING([for existence of ${TK_BIN_DIR}/tkConfig.sh]) if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then AC_MSG_RESULT([loading]) . "${TK_BIN_DIR}/tkConfig.sh" else AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh]) fi # eval is required to do the TK_DBGX substitution eval "TK_LIB_FILE=\"${TK_LIB_FILE}\"" eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\"" # If the TK_BIN_DIR is the build directory (not the install directory), # then set the common variable name to the value of the build variables. # For example, the variable TK_LIB_SPEC will be set to the value # of TK_BUILD_LIB_SPEC. An extension should make use of TK_LIB_SPEC # instead of TK_BUILD_LIB_SPEC since it will work with both an # installed and uninstalled version of Tcl. if test -f "${TK_BIN_DIR}/Makefile" ; then TK_LIB_SPEC=${TK_BUILD_LIB_SPEC} TK_STUB_LIB_SPEC=${TK_BUILD_STUB_LIB_SPEC} TK_STUB_LIB_PATH=${TK_BUILD_STUB_LIB_PATH} elif test "`uname -s`" = "Darwin"; then # If Tk was built as a framework, attempt to use the libraries # from the framework at the given location so that linking works # against Tk.framework installed in an arbitary location. case ${TK_DEFS} in *TK_FRAMEWORK*) if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then for i in "`cd ${TK_BIN_DIR}; pwd`" \ "`cd ${TK_BIN_DIR}/../..; pwd`"; do if test "`basename "$i"`" = "${TK_LIB_FILE}.framework"; then TK_LIB_SPEC="-F`dirname "$i"` -framework ${TK_LIB_FILE}" break fi done fi if test -f "${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"; then TK_STUB_LIB_SPEC="-L${TK_BIN_DIR} ${TK_STUB_LIB_FLAG}" TK_STUB_LIB_PATH="${TK_BIN_DIR}/${TK_STUB_LIB_FILE}" fi ;; esac fi # eval is required to do the TK_DBGX substitution eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\"" eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\"" eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\"" eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\"" # TEA specific: Ensure windowingsystem is defined if test "${TEA_PLATFORM}" = "unix" ; then case ${TK_DEFS} in *MAC_OSX_TK*) AC_DEFINE(MAC_OSX_TK, 1, [Are we building against Mac OS X TkAqua?]) TEA_WINDOWINGSYSTEM="aqua" ;; *) TEA_WINDOWINGSYSTEM="x11" ;; esac elif test "${TEA_PLATFORM}" = "windows" ; then TEA_WINDOWINGSYSTEM="win32" fi AC_SUBST(TK_VERSION) AC_SUBST(TK_BIN_DIR) AC_SUBST(TK_SRC_DIR) AC_SUBST(TK_LIB_FILE) AC_SUBST(TK_LIB_FLAG) AC_SUBST(TK_LIB_SPEC) AC_SUBST(TK_STUB_LIB_FILE) AC_SUBST(TK_STUB_LIB_FLAG) AC_SUBST(TK_STUB_LIB_SPEC) # TEA specific: AC_SUBST(TK_LIBS) AC_SUBST(TK_XINCLUDES) ]) #------------------------------------------------------------------------ # TEA_PROG_TCLSH # Determine the fully qualified path name of the tclsh executable # in the Tcl build directory or the tclsh installed in a bin # directory. This macro will correctly determine the name # of the tclsh executable even if tclsh has not yet been # built in the build directory. The tclsh found is always # associated with a tclConfig.sh file. This tclsh should be used # only for running extension test cases. It should never be # or generation of files (like pkgIndex.tcl) at build time. # # Arguments # none # # Results # Subst's the following values: # TCLSH_PROG #------------------------------------------------------------------------ AC_DEFUN([TEA_PROG_TCLSH], [ AC_MSG_CHECKING([for tclsh]) if test -f "${TCL_BIN_DIR}/Makefile" ; then # tclConfig.sh is in Tcl build directory if test "${TEA_PLATFORM}" = "windows"; then TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" else TCLSH_PROG="${TCL_BIN_DIR}/tclsh" fi else # tclConfig.sh is in install location if test "${TEA_PLATFORM}" = "windows"; then TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}" else TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}" fi list="`ls -d ${TCL_BIN_DIR}/../bin 2>/dev/null` \ `ls -d ${TCL_BIN_DIR}/.. 2>/dev/null` \ `ls -d ${TCL_PREFIX}/bin 2>/dev/null`" for i in $list ; do if test -f "$i/${TCLSH_PROG}" ; then REAL_TCL_BIN_DIR="`cd "$i"; pwd`/" break fi done TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}" fi AC_MSG_RESULT([${TCLSH_PROG}]) AC_SUBST(TCLSH_PROG) ]) #------------------------------------------------------------------------ # TEA_PROG_WISH # Determine the fully qualified path name of the wish executable # in the Tk build directory or the wish installed in a bin # directory. This macro will correctly determine the name # of the wish executable even if wish has not yet been # built in the build directory. The wish found is always # associated with a tkConfig.sh file. This wish should be used # only for running extension test cases. It should never be # or generation of files (like pkgIndex.tcl) at build time. # # Arguments # none # # Results # Subst's the following values: # WISH_PROG #------------------------------------------------------------------------ AC_DEFUN([TEA_PROG_WISH], [ AC_MSG_CHECKING([for wish]) if test -f "${TK_BIN_DIR}/Makefile" ; then # tkConfig.sh is in Tk build directory if test "${TEA_PLATFORM}" = "windows"; then WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}" else WISH_PROG="${TK_BIN_DIR}/wish" fi else # tkConfig.sh is in install location if test "${TEA_PLATFORM}" = "windows"; then WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}" else WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}" fi list="`ls -d ${TK_BIN_DIR}/../bin 2>/dev/null` \ `ls -d ${TK_BIN_DIR}/.. 2>/dev/null` \ `ls -d ${TK_PREFIX}/bin 2>/dev/null`" for i in $list ; do if test -f "$i/${WISH_PROG}" ; then REAL_TK_BIN_DIR="`cd "$i"; pwd`/" break fi done WISH_PROG="${REAL_TK_BIN_DIR}${WISH_PROG}" fi AC_MSG_RESULT([${WISH_PROG}]) AC_SUBST(WISH_PROG) ]) #------------------------------------------------------------------------ # TEA_ENABLE_SHARED -- # # Allows the building of shared libraries # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --enable-shared=yes|no # # Defines the following vars: # STATIC_BUILD Used for building import/export libraries # on Windows. # # Sets the following vars: # SHARED_BUILD Value of 1 or 0 #------------------------------------------------------------------------ AC_DEFUN([TEA_ENABLE_SHARED], [ AC_MSG_CHECKING([how to build libraries]) AC_ARG_ENABLE(shared, AC_HELP_STRING([--enable-shared], [build and link with shared libraries (default: on)]), [tcl_ok=$enableval], [tcl_ok=yes]) if test "${enable_shared+set}" = set; then enableval="$enable_shared" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then AC_MSG_RESULT([shared]) SHARED_BUILD=1 else AC_MSG_RESULT([static]) SHARED_BUILD=0 AC_DEFINE(STATIC_BUILD, 1, [Is this a static build?]) fi AC_SUBST(SHARED_BUILD) ]) #------------------------------------------------------------------------ # TEA_ENABLE_THREADS -- # # Specify if thread support should be enabled. If "yes" is specified # as an arg (optional), threads are enabled by default, "no" means # threads are disabled. "yes" is the default. # # TCL_THREADS is checked so that if you are compiling an extension # against a threaded core, your extension must be compiled threaded # as well. # # Note that it is legal to have a thread enabled extension run in a # threaded or non-threaded Tcl core, but a non-threaded extension may # only run in a non-threaded Tcl core. # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --enable-threads # # Sets the following vars: # THREADS_LIBS Thread library(s) # # Defines the following vars: # TCL_THREADS # _REENTRANT # _THREAD_SAFE # #------------------------------------------------------------------------ AC_DEFUN([TEA_ENABLE_THREADS], [ AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads], [build with threads]), [tcl_ok=$enableval], [tcl_ok=yes]) if test "${enable_threads+set}" = set; then enableval="$enable_threads" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then TCL_THREADS=1 if test "${TEA_PLATFORM}" != "windows" ; then # We are always OK on Windows, so check what this platform wants: # USE_THREAD_ALLOC tells us to try the special thread-based # allocator that significantly reduces lock contention AC_DEFINE(USE_THREAD_ALLOC, 1, [Do we want to use the threaded memory allocator?]) AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?]) if test "`uname -s`" = "SunOS" ; then AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Do we really want to follow the standard? Yes we do!]) fi AC_DEFINE(_THREAD_SAFE, 1, [Do we want the thread-safe OS API?]) AC_CHECK_LIB(pthread,pthread_mutex_init,tcl_ok=yes,tcl_ok=no) if test "$tcl_ok" = "no"; then # Check a little harder for __pthread_mutex_init in the same # library, as some systems hide it there until pthread.h is # defined. We could alternatively do an AC_TRY_COMPILE with # pthread.h, but that will work with libpthread really doesn't # exist, like AIX 4.2. [Bug: 4359] AC_CHECK_LIB(pthread, __pthread_mutex_init, tcl_ok=yes, tcl_ok=no) fi if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -lpthread" else AC_CHECK_LIB(pthreads, pthread_mutex_init, tcl_ok=yes, tcl_ok=no) if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -lpthreads" else AC_CHECK_LIB(c, pthread_mutex_init, tcl_ok=yes, tcl_ok=no) if test "$tcl_ok" = "no"; then AC_CHECK_LIB(c_r, pthread_mutex_init, tcl_ok=yes, tcl_ok=no) if test "$tcl_ok" = "yes"; then # The space is needed THREADS_LIBS=" -pthread" else TCL_THREADS=0 AC_MSG_WARN([Do not know how to find pthread lib on your system - thread support disabled]) fi fi fi fi fi else TCL_THREADS=0 fi # Do checking message here to not mess up interleaved configure output AC_MSG_CHECKING([for building with threads]) if test "${TCL_THREADS}" = 1; then AC_DEFINE(TCL_THREADS, 1, [Are we building with threads enabled?]) AC_MSG_RESULT([yes (default)]) else AC_MSG_RESULT([no]) fi # TCL_THREADS sanity checking. See if our request for building with # threads is the same as the way Tcl was built. If not, warn the user. case ${TCL_DEFS} in *THREADS=1*) if test "${TCL_THREADS}" = "0"; then AC_MSG_WARN([ Building ${PACKAGE_NAME} without threads enabled, but building against Tcl that IS thread-enabled. It is recommended to use --enable-threads.]) fi ;; *) if test "${TCL_THREADS}" = "1"; then AC_MSG_WARN([ --enable-threads requested, but building against a Tcl that is NOT thread-enabled. This is an OK configuration that will also run in a thread-enabled core.]) fi ;; esac AC_SUBST(TCL_THREADS) ]) #------------------------------------------------------------------------ # TEA_ENABLE_SYMBOLS -- # # Specify if debugging symbols should be used. # Memory (TCL_MEM_DEBUG) debugging can also be enabled. # # Arguments: # none # # TEA varies from core Tcl in that C|LDFLAGS_DEFAULT receives # the value of C|LDFLAGS_OPTIMIZE|DEBUG already substituted. # Requires the following vars to be set in the Makefile: # CFLAGS_DEFAULT # LDFLAGS_DEFAULT # # Results: # # Adds the following arguments to configure: # --enable-symbols # # Defines the following vars: # CFLAGS_DEFAULT Sets to $(CFLAGS_DEBUG) if true # Sets to $(CFLAGS_OPTIMIZE) if false # LDFLAGS_DEFAULT Sets to $(LDFLAGS_DEBUG) if true # Sets to $(LDFLAGS_OPTIMIZE) if false # DBGX Formerly used as debug library extension; # always blank now. # #------------------------------------------------------------------------ AC_DEFUN([TEA_ENABLE_SYMBOLS], [ dnl TEA specific: Make sure we are initialized AC_REQUIRE([TEA_CONFIG_CFLAGS]) AC_MSG_CHECKING([for build with symbols]) AC_ARG_ENABLE(symbols, AC_HELP_STRING([--enable-symbols], [build with debugging symbols (default: off)]), [tcl_ok=$enableval], [tcl_ok=no]) DBGX="" if test "$tcl_ok" = "no"; then CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}" LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}" AC_MSG_RESULT([no]) else CFLAGS_DEFAULT="${CFLAGS_DEBUG}" LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}" if test "$tcl_ok" = "yes"; then AC_MSG_RESULT([yes (standard debugging)]) fi fi # TEA specific: if test "${TEA_PLATFORM}" != "windows" ; then LDFLAGS_DEFAULT="${LDFLAGS}" fi AC_SUBST(CFLAGS_DEFAULT) AC_SUBST(LDFLAGS_DEFAULT) AC_SUBST(TCL_DBGX) if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then AC_DEFINE(TCL_MEM_DEBUG, 1, [Is memory debugging enabled?]) fi if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then if test "$tcl_ok" = "all"; then AC_MSG_RESULT([enabled symbols mem debugging]) else AC_MSG_RESULT([enabled $tcl_ok debugging]) fi fi ]) #------------------------------------------------------------------------ # TEA_ENABLE_LANGINFO -- # # Allows use of modern nl_langinfo check for better l10n. # This is only relevant for Unix. # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --enable-langinfo=yes|no (default is yes) # # Defines the following vars: # HAVE_LANGINFO Triggers use of nl_langinfo if defined. # #------------------------------------------------------------------------ AC_DEFUN([TEA_ENABLE_LANGINFO], [ AC_ARG_ENABLE(langinfo, AC_HELP_STRING([--enable-langinfo], [use nl_langinfo if possible to determine encoding at startup, otherwise use old heuristic (default: on)]), [langinfo_ok=$enableval], [langinfo_ok=yes]) HAVE_LANGINFO=0 if test "$langinfo_ok" = "yes"; then AC_CHECK_HEADER(langinfo.h,[langinfo_ok=yes],[langinfo_ok=no]) fi AC_MSG_CHECKING([whether to use nl_langinfo]) if test "$langinfo_ok" = "yes"; then AC_CACHE_VAL(tcl_cv_langinfo_h, [ AC_TRY_COMPILE([#include ], [nl_langinfo(CODESET);], [tcl_cv_langinfo_h=yes],[tcl_cv_langinfo_h=no])]) AC_MSG_RESULT([$tcl_cv_langinfo_h]) if test $tcl_cv_langinfo_h = yes; then AC_DEFINE(HAVE_LANGINFO, 1, [Do we have nl_langinfo()?]) fi else AC_MSG_RESULT([$langinfo_ok]) fi ]) #-------------------------------------------------------------------- # TEA_CONFIG_SYSTEM # # Determine what the system is (some things cannot be easily checked # on a feature-driven basis, alas). This can usually be done via the # "uname" command, but there are a few systems, like Next, where # this doesn't work. # # Arguments: # none # # Results: # Defines the following var: # # system - System/platform/version identification code. # #-------------------------------------------------------------------- AC_DEFUN([TEA_CONFIG_SYSTEM], [ AC_CACHE_CHECK([system version], tcl_cv_sys_version, [ # TEA specific: if test "${TEA_PLATFORM}" = "windows" ; then tcl_cv_sys_version=windows elif test -f /usr/lib/NextStep/software_version; then tcl_cv_sys_version=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` else tcl_cv_sys_version=`uname -s`-`uname -r` if test "$?" -ne 0 ; then AC_MSG_WARN([can't find uname command]) tcl_cv_sys_version=unknown else # Special check for weird MP-RAS system (uname returns weird # results, and the version is kept in special file). if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then tcl_cv_sys_version=MP-RAS-`awk '{print $[3]}' /etc/.relid` fi if test "`uname -s`" = "AIX" ; then tcl_cv_sys_version=AIX-`uname -v`.`uname -r` fi fi fi ]) system=$tcl_cv_sys_version ]) #-------------------------------------------------------------------- # TEA_CONFIG_CFLAGS # # Try to determine the proper flags to pass to the compiler # for building shared libraries and other such nonsense. # # Arguments: # none # # Results: # # Defines and substitutes the following vars: # # DL_OBJS - Name of the object file that implements dynamic # loading for Tcl on this system. # DL_LIBS - Library file(s) to include in tclsh and other base # applications in order for the "load" command to work. # LDFLAGS - Flags to pass to the compiler when linking object # files into an executable application binary such # as tclsh. # LD_SEARCH_FLAGS-Flags to pass to ld, such as "-R /usr/local/tcl/lib", # that tell the run-time dynamic linker where to look # for shared libraries such as libtcl.so. Depends on # the variable LIB_RUNTIME_DIR in the Makefile. Could # be the same as CC_SEARCH_FLAGS if ${CC} is used to link. # CC_SEARCH_FLAGS-Flags to pass to ${CC}, such as "-Wl,-rpath,/usr/local/tcl/lib", # that tell the run-time dynamic linker where to look # for shared libraries such as libtcl.so. Depends on # the variable LIB_RUNTIME_DIR in the Makefile. # SHLIB_CFLAGS - Flags to pass to cc when compiling the components # of a shared library (may request position-independent # code, among other things). # SHLIB_LD - Base command to use for combining object files # into a shared library. # SHLIB_LD_LIBS - Dependent libraries for the linker to scan when # creating shared libraries. This symbol typically # goes at the end of the "ld" commands that build # shared libraries. The value of the symbol is # "${LIBS}" if all of the dependent libraries should # be specified when creating a shared library. If # dependent libraries should not be specified (as on # SunOS 4.x, where they cause the link to fail, or in # general if Tcl and Tk aren't themselves shared # libraries), then this symbol has an empty string # as its value. # SHLIB_SUFFIX - Suffix to use for the names of dynamically loadable # extensions. An empty string means we don't know how # to use shared libraries on this platform. # LIB_SUFFIX - Specifies everything that comes after the "libfoo" # in a static or shared library name, using the $VERSION variable # to put the version in the right place. This is used # by platforms that need non-standard library names. # Examples: ${VERSION}.so.1.1 on NetBSD, since it needs # to have a version after the .so, and ${VERSION}.a # on AIX, since a shared library needs to have # a .a extension whereas shared objects for loadable # extensions have a .so extension. Defaults to # ${VERSION}${SHLIB_SUFFIX}. # TCL_NEEDS_EXP_FILE - # 1 means that an export file is needed to link to a # shared library. # TCL_EXP_FILE - The name of the installed export / import file which # should be used to link to the Tcl shared library. # Empty if Tcl is unshared. # TCL_BUILD_EXP_FILE - # The name of the built export / import file which # should be used to link to the Tcl shared library. # Empty if Tcl is unshared. # CFLAGS_DEBUG - # Flags used when running the compiler in debug mode # CFLAGS_OPTIMIZE - # Flags used when running the compiler in optimize mode # CFLAGS - Additional CFLAGS added as necessary (usually 64-bit) # #-------------------------------------------------------------------- AC_DEFUN([TEA_CONFIG_CFLAGS], [ dnl TEA specific: Make sure we are initialized AC_REQUIRE([TEA_INIT]) # Step 0.a: Enable 64 bit support? AC_MSG_CHECKING([if 64bit support is requested]) AC_ARG_ENABLE(64bit, AC_HELP_STRING([--enable-64bit], [enable 64bit support (default: off)]), [do64bit=$enableval], [do64bit=no]) AC_MSG_RESULT([$do64bit]) # Step 0.b: Enable Solaris 64 bit VIS support? AC_MSG_CHECKING([if 64bit Sparc VIS support is requested]) AC_ARG_ENABLE(64bit-vis, AC_HELP_STRING([--enable-64bit-vis], [enable 64bit Sparc VIS support (default: off)]), [do64bitVIS=$enableval], [do64bitVIS=no]) AC_MSG_RESULT([$do64bitVIS]) # Force 64bit on with VIS AS_IF([test "$do64bitVIS" = "yes"], [do64bit=yes]) # Step 0.c: Check if visibility support is available. Do this here so # that platform specific alternatives can be used below if this fails. AC_CACHE_CHECK([if compiler supports visibility "hidden"], tcl_cv_cc_visibility_hidden, [ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror" AC_TRY_LINK([ extern __attribute__((__visibility__("hidden"))) void f(void); void f(void) {}], [f();], tcl_cv_cc_visibility_hidden=yes, tcl_cv_cc_visibility_hidden=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_visibility_hidden = yes], [ AC_DEFINE(MODULE_SCOPE, [extern __attribute__((__visibility__("hidden")))], [Compiler support for module scope symbols]) ]) # Step 0.d: Disable -rpath support? AC_MSG_CHECKING([if rpath support is requested]) AC_ARG_ENABLE(rpath, AC_HELP_STRING([--disable-rpath], [disable rpath support (default: on)]), [doRpath=$enableval], [doRpath=yes]) AC_MSG_RESULT([$doRpath]) # TEA specific: Cross-compiling options for Windows/CE builds? AS_IF([test "${TEA_PLATFORM}" = windows], [ AC_MSG_CHECKING([if Windows/CE build is requested]) AC_ARG_ENABLE(wince, AC_HELP_STRING([--enable-wince], [enable Win/CE support (where applicable)]), [doWince=$enableval], [doWince=no]) AC_MSG_RESULT([$doWince]) ]) # Step 1: set the variable "system" to hold the name and version number # for the system. TEA_CONFIG_SYSTEM # Step 2: check for existence of -ldl library. This is needed because # Linux can use either -ldl or -ldld for dynamic loading. AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) # Require ranlib early so we can override it in special cases below. AC_REQUIRE([AC_PROG_RANLIB]) # Step 3: set configuration options based on system name and version. # This is similar to Tcl's unix/tcl.m4 except that we've added a # "windows" case. do64bit_ok=no LDFLAGS_ORIG="$LDFLAGS" # When ld needs options to work in 64-bit mode, put them in # LDFLAGS_ARCH so they eventually end up in LDFLAGS even if [load] # is disabled by the user. [Bug 1016796] LDFLAGS_ARCH="" TCL_EXPORT_FILE_SUFFIX="" UNSHARED_LIB_SUFFIX="" # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`' ECHO_VERSION='`echo ${PACKAGE_VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE=-O AS_IF([test "$GCC" = yes], [ # TEA specific: CFLAGS_OPTIMIZE=-O2 CFLAGS_WARNING="-Wall -Wno-implicit-int" ], [CFLAGS_WARNING=""]) TCL_NEEDS_EXP_FILE=0 TCL_BUILD_EXP_FILE="" TCL_EXP_FILE="" dnl FIXME: Replace AC_CHECK_PROG with AC_CHECK_TOOL once cross compiling is fixed. dnl AC_CHECK_TOOL(AR, ar) AC_CHECK_PROG(AR, ar, ar) STLIB_LD='${AR} cr' LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" case $system in # TEA specific: windows) # This is a 2-stage check to make sure we have the 64-bit SDK # We have to know where the SDK is installed. # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs # MACHINE is IX86 for LINK, but this is used by the manifest, # which requires x86|amd64|ia64. MACHINE="X86" if test "$do64bit" != "no" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft Platform SDK" fi MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'` PATH64="" case "$do64bit" in amd64|x64|yes) MACHINE="AMD64" ; # default to AMD64 64-bit build PATH64="${MSSDK}/Bin/Win64/x86/AMD64" ;; ia64) MACHINE="IA64" PATH64="${MSSDK}/Bin/Win64" ;; esac if test ! -d "${PATH64}" ; then AC_MSG_WARN([Could not find 64-bit $MACHINE SDK to enable 64bit mode]) AC_MSG_WARN([Ensure latest Platform SDK is installed]) do64bit="no" else AC_MSG_RESULT([ Using 64-bit $MACHINE mode]) do64bit_ok="yes" fi fi if test "$doWince" != "no" ; then if test "$do64bit" != "no" ; then AC_MSG_ERROR([Windows/CE and 64-bit builds incompatible]) fi if test "$GCC" = "yes" ; then AC_MSG_ERROR([Windows/CE and GCC builds incompatible]) fi TEA_PATH_CELIB # Set defaults for common evc4/PPC2003 setup # Currently Tcl requires 300+, possibly 420+ for sockets CEVERSION=420; # could be 211 300 301 400 420 ... TARGETCPU=ARMV4; # could be ARMV4 ARM MIPS SH3 X86 ... ARCH=ARM; # could be ARM MIPS X86EM ... PLATFORM="Pocket PC 2003"; # or "Pocket PC 2002" if test "$doWince" != "yes"; then # If !yes then the user specified something # Reset ARCH to allow user to skip specifying it ARCH= eval `echo $doWince | awk -F, '{ \ if (length([$]1)) { printf "CEVERSION=\"%s\"\n", [$]1; \ if ([$]1 < 400) { printf "PLATFORM=\"Pocket PC 2002\"\n" } }; \ if (length([$]2)) { printf "TARGETCPU=\"%s\"\n", toupper([$]2) }; \ if (length([$]3)) { printf "ARCH=\"%s\"\n", toupper([$]3) }; \ if (length([$]4)) { printf "PLATFORM=\"%s\"\n", [$]4 }; \ }'` if test "x${ARCH}" = "x" ; then ARCH=$TARGETCPU; fi fi OSVERSION=WCE$CEVERSION; if test "x${WCEROOT}" = "x" ; then WCEROOT="C:/Program Files/Microsoft eMbedded C++ 4.0" if test ! -d "${WCEROOT}" ; then WCEROOT="C:/Program Files/Microsoft eMbedded Tools" fi fi if test "x${SDKROOT}" = "x" ; then SDKROOT="C:/Program Files/Windows CE Tools" if test ! -d "${SDKROOT}" ; then SDKROOT="C:/Windows CE Tools" fi fi WCEROOT=`echo "$WCEROOT" | sed -e 's!\\\!/!g'` SDKROOT=`echo "$SDKROOT" | sed -e 's!\\\!/!g'` if test ! -d "${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" \ -o ! -d "${WCEROOT}/EVC/${OSVERSION}/bin"; then AC_MSG_ERROR([could not find PocketPC SDK or target compiler to enable WinCE mode [$CEVERSION,$TARGETCPU,$ARCH,$PLATFORM]]) doWince="no" else # We could PATH_NOSPACE these, but that's not important, # as long as we quote them when used. CEINCLUDE="${SDKROOT}/${OSVERSION}/${PLATFORM}/include" if test -d "${CEINCLUDE}/${TARGETCPU}" ; then CEINCLUDE="${CEINCLUDE}/${TARGETCPU}" fi CELIBPATH="${SDKROOT}/${OSVERSION}/${PLATFORM}/Lib/${TARGETCPU}" fi fi if test "$GCC" != "yes" ; then if test "${SHARED_BUILD}" = "0" ; then runtime=-MT else runtime=-MD fi if test "$do64bit" != "no" ; then # All this magic is necessary for the Win64 SDK RC1 - hobbs CC="\"${PATH64}/cl.exe\"" CFLAGS="${CFLAGS} -I\"${MSSDK}/Include\" -I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\"" RC="\"${MSSDK}/bin/rc.exe\"" lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\"" LINKBIN="\"${PATH64}/link.exe\"" CFLAGS_DEBUG="-nologo -Zi -Od -W3 ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" # Avoid 'unresolved external symbol __security_cookie' # errors, c.f. http://support.microsoft.com/?id=894573 TEA_ADD_LIBS([bufferoverflowU.lib]) elif test "$doWince" != "no" ; then CEBINROOT="${WCEROOT}/EVC/${OSVERSION}/bin" if test "${TARGETCPU}" = "X86"; then CC="\"${CEBINROOT}/cl.exe\"" else CC="\"${CEBINROOT}/cl${ARCH}.exe\"" fi CFLAGS="$CFLAGS -I\"${CELIB_DIR}/inc\" -I\"${CEINCLUDE}\"" RC="\"${WCEROOT}/Common/EVC/bin/rc.exe\"" arch=`echo ${ARCH} | awk '{print tolower([$]0)}'` defs="${ARCH} _${ARCH}_ ${arch} PALM_SIZE _MT _WINDOWS" if test "${SHARED_BUILD}" = "1" ; then # Static CE builds require static celib as well defs="${defs} _DLL" fi for i in $defs ; do AC_DEFINE_UNQUOTED($i, 1, [WinCE def ]$i) done AC_DEFINE_UNQUOTED(_WIN32_WCE, $CEVERSION, [_WIN32_WCE version]) AC_DEFINE_UNQUOTED(UNDER_CE, $CEVERSION, [UNDER_CE version]) CFLAGS_DEBUG="-nologo -Zi -Od" CFLAGS_OPTIMIZE="-nologo -Ox" lversion=`echo ${CEVERSION} | sed -e 's/\(.\)\(..\)/\1\.\2/'` lflags="-MACHINE:${ARCH} -LIBPATH:\"${CELIBPATH}\" -subsystem:windowsce,${lversion} -nologo" LINKBIN="\"${CEBINROOT}/link.exe\"" AC_SUBST(CELIB_DIR) else RC="rc" lflags="-nologo" LINKBIN="link" CFLAGS_DEBUG="-nologo -Z7 -Od -W3 -WX ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -W2 ${runtime}" fi fi if test "$GCC" = "yes"; then # mingw gcc mode RC="windres" CFLAGS_DEBUG="-g" CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" SHLIB_LD="$CC -shared" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' LDFLAGS_CONSOLE="-wl,--subsystem,console ${lflags}" LDFLAGS_WINDOW="-wl,--subsystem,windows ${lflags}" else SHLIB_LD="${LINKBIN} -dll ${lflags}" # link -lib only works when -lib is the first arg STLIB_LD="${LINKBIN} -lib ${lflags}" UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.lib' PATHTYPE=-w # For information on what debugtype is most useful, see: # http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp # This essentially turns it all on. LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2" LDFLAGS_OPTIMIZE="-release" if test "$doWince" != "no" ; then LDFLAGS_CONSOLE="-link ${lflags}" LDFLAGS_WINDOW=${LDFLAGS_CONSOLE} else LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" fi fi SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dll" SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.dll' TCL_LIB_VERSIONS_OK=nodots # Bogus to avoid getting this turned off DL_OBJS="tclLoadNone.obj" ;; AIX-*) AS_IF([test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"], [ # AIX requires the _r compiler when gcc isn't being used case "${CC}" in *_r) # ok ... ;; *) CC=${CC}_r ;; esac AC_MSG_RESULT([Using $CC for compiling with threads]) ]) LIBS="$LIBS -lc" SHLIB_CFLAGS="" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" LD_LIBRARY_PATH_VAR="LIBPATH" # Check to enable 64-bit flags for compiler/linker on AIX 4+ AS_IF([test "$do64bit" = yes -a "`uname -v`" -gt 3], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported with GCC on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -q64" LDFLAGS_ARCH="-q64" RANLIB="${RANLIB} -X64" AR="${AR} -X64" SHLIB_LD_FLAGS="-b64" ]) ]) AS_IF([test "`uname -m`" = ia64], [ # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC SHLIB_LD="/usr/ccs/bin/ld -G -z text" # AIX-5 has dl* in libc.so DL_LIBS="" AS_IF([test "$GCC" = yes], [ CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' ], [ CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}' ]) LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' ], [ AS_IF([test "$GCC" = yes], [SHLIB_LD='${CC} -shared'], [ SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" ]) SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} TCL_NEEDS_EXP_FILE=1 # TEA specific: use PACKAGE_VERSION instead of VERSION TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp' ]) # AIX v<=4.1 has some different flags than 4.2+ AS_IF([test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4], [ AC_LIBOBJ([tclLoadAix]) DL_LIBS="-lld" ]) # On AIX <=v4 systems, libbsd.a has to be linked in to support # non-blocking file IO. This library has to be linked in after # the MATH_LIBS or it breaks the pow() function. The way to # insure proper sequencing, is to add it to the tail of MATH_LIBS. # This library also supplies gettimeofday. # # AIX does not have a timezone field in struct tm. When the AIX # bsd library is used, the timezone global and the gettimeofday # methods are to be avoided for timezone deduction instead, we # deduce the timezone by comparing the localtime result on a # known GMT value. AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes, libbsd=no) AS_IF([test $libbsd = yes], [ MATH_LIBS="$MATH_LIBS -lbsd" AC_DEFINE(USE_DELTA_FOR_TZ, 1, [Do we need a special AIX hack for timezones?]) ]) ;; BeOS*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -nostart' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" #----------------------------------------------------------- # Check for inet_ntoa in -lbind, for BeOS (which also needs # -lsocket, even if the network functions are in -lnet which # is always linked to, for compatibility. #----------------------------------------------------------- AC_CHECK_LIB(bind, inet_ntoa, [LIBS="$LIBS -lbind -lsocket"]) ;; BSD/OS-2.1*|BSD/OS-3*) SHLIB_CFLAGS="" SHLIB_LD="shlicc -r" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; BSD/OS-4.*) SHLIB_CFLAGS="-export-dynamic -fPIC" SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; dgux*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; HP-UX-*.11.*) # Use updated header definitions where possible AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Do we want to use the XOPEN network library?]) # TEA specific: Needed by Tcl, but not most extensions #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?]) #LIBS="$LIBS -lxnet" # Use the XOPEN network library AS_IF([test "`uname -m`" = ia64], [ SHLIB_SUFFIX=".so" # Use newer C++ library for C++ extensions #if test "$GCC" != "yes" ; then # CPPFLAGS="-AA" #fi ], [ SHLIB_SUFFIX=".sl" ]) AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) AS_IF([test "$tcl_ok" = yes], [ SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS='${LIBS}' DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" ]) AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ]) # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc #CFLAGS="$CFLAGS +DAportable" # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = "yes"], [ AS_IF([test "$GCC" = yes], [ case `${CC} -dumpmachine` in hppa64*) # 64-bit gcc in use. Fix flags for GNU ld. do64bit_ok=yes SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ;; *) AC_MSG_WARN([64bit mode not supported with GCC on $system]) ;; esac ], [ do64bit_ok=yes CFLAGS="$CFLAGS +DD64" LDFLAGS_ARCH="+DD64" ]) ]) ;; HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*) SHLIB_SUFFIX=".sl" AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no) AS_IF([test "$tcl_ok" = yes], [ SHLIB_CFLAGS="+z" SHLIB_LD="ld -b" SHLIB_LD_LIBS="" DL_OBJS="tclLoadShl.o" DL_LIBS="-ldld" LDFLAGS="$LDFLAGS -Wl,-E" CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.' LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.' LD_LIBRARY_PATH_VAR="SHLIB_PATH" ]) ;; IRIX-5.*) SHLIB_CFLAGS="" SHLIB_LD="ld -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) ;; IRIX-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) AS_IF([test "$GCC" = yes], [ CFLAGS="$CFLAGS -mabi=n32" LDFLAGS="$LDFLAGS -mabi=n32" ], [ case $system in IRIX-6.3) # Use to build 6.2 compatible binaries on 6.3. CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS" ;; *) CFLAGS="$CFLAGS -n32" ;; esac LDFLAGS="$LDFLAGS -n32" ]) ;; IRIX64-6.*) SHLIB_CFLAGS="" SHLIB_LD="ld -n32 -shared -rdata_shared" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = yes], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported by gcc]) ], [ do64bit_ok=yes SHLIB_LD="ld -64 -shared -rdata_shared" CFLAGS="$CFLAGS -64" LDFLAGS_ARCH="-64" ]) ]) ;; Linux*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" # TEA specific: CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer" # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings # when you inline the string and math operations. Turn this off to # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) AS_IF([test $do64bit = yes], [ AC_CACHE_CHECK([if compiler accepts -m64 flag], tcl_cv_cc_m64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -m64" AC_TRY_LINK(,, tcl_cv_cc_m64=yes, tcl_cv_cc_m64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_m64 = yes], [ CFLAGS="$CFLAGS -m64" do64bit_ok=yes ]) ]) # The combo of gcc + glibc has a bug related to inlining of # functions like strtod(). The -fno-builtin flag should address # this problem but it does not work. The -fno-inline flag is kind # of overkill but it works. Disable inlining only when one of the # files in compat/*.c is being linked in. AS_IF([test x"${USE_COMPAT}" != x],[CFLAGS="$CFLAGS -fno-inline"]) ;; GNU*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" SHLIB_LD='${CC} -shared' DL_OBJS="" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) ;; Lynx*) SHLIB_CFLAGS="-fPIC" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" CFLAGS_OPTIMIZE=-02 SHLIB_LD='${CC} -shared' DL_OBJS="tclLoadDl.o" DL_LIBS="-mshared -ldl" LD_FLAGS="-Wl,--export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ;; MP-RAS-02*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; MP-RAS-*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,-Bexport" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; NetBSD-1.*|FreeBSD-[[1-2]].*) SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [ AC_EGREP_CPP(yes, [ #ifdef __ELF__ yes #endif ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)]) AS_IF([test $tcl_cv_ld_elf = yes], [ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' ], [ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' ]) # Ancient FreeBSD doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [ AC_EGREP_CPP(yes, [ #ifdef __ELF__ yes #endif ], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)]) AS_IF([test $tcl_cv_ld_elf = yes], [ LDFLAGS=-Wl,-export-dynamic ], [LDFLAGS=""]) # OpenBSD doesn't do version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; NetBSD-*|FreeBSD-*) # FreeBSD 3.* and greater have ELF. # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs SHLIB_CFLAGS="-fPIC" SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" LDFLAGS="$LDFLAGS -export-dynamic" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "${TCL_THREADS}" = "1"], [ # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" ]) case $system in FreeBSD-3.*) # FreeBSD-3 doesn't handle version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so' TCL_LIB_VERSIONS_OK=nodots ;; esac ;; Darwin-*) CFLAGS_OPTIMIZE="-Os" SHLIB_CFLAGS="-fno-common" # To avoid discrepancies between what headers configure sees during # preprocessing tests and compiling tests, move any -isysroot and # -mmacosx-version-min flags from CFLAGS to CPPFLAGS: CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if ([$]i~/^(isysroot|mmacosx-version-min)/) print "-"[$]i}'`" CFLAGS="`echo " ${CFLAGS}" | \ awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \ if (!([$]i~/^(isysroot|mmacosx-version-min)/)) print "-"[$]i}'`" AS_IF([test $do64bit = yes], [ case `arch` in ppc) AC_CACHE_CHECK([if compiler accepts -arch ppc64 flag], tcl_cv_cc_arch_ppc64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" AC_TRY_LINK(,, tcl_cv_cc_arch_ppc64=yes, tcl_cv_cc_arch_ppc64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_arch_ppc64 = yes], [ CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5" do64bit_ok=yes ]);; i386) AC_CACHE_CHECK([if compiler accepts -arch x86_64 flag], tcl_cv_cc_arch_x86_64, [ hold_cflags=$CFLAGS CFLAGS="$CFLAGS -arch x86_64" AC_TRY_LINK(,, tcl_cv_cc_arch_x86_64=yes, tcl_cv_cc_arch_x86_64=no) CFLAGS=$hold_cflags]) AS_IF([test $tcl_cv_cc_arch_x86_64 = yes], [ CFLAGS="$CFLAGS -arch x86_64" do64bit_ok=yes ]);; *) AC_MSG_WARN([Don't know how enable 64-bit on architecture `arch`]);; esac ], [ # Check for combined 32-bit and 64-bit fat build AS_IF([echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \ && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '], [ fat_32_64=yes]) ]) # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}' AC_CACHE_CHECK([if ld accepts -single_module flag], tcl_cv_ld_single_module, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module" AC_TRY_LINK(, [int i;], tcl_cv_ld_single_module=yes, tcl_cv_ld_single_module=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_single_module = yes], [ SHLIB_LD="${SHLIB_LD} -Wl,-single_module" ]) SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".dylib" DL_OBJS="tclLoadDyld.o" DL_LIBS="" # Don't use -prebind when building for Mac OS X 10.4 or later only: AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \ "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4], [ LDFLAGS="$LDFLAGS -prebind"]) LDFLAGS="$LDFLAGS -headerpad_max_install_names" AC_CACHE_CHECK([if ld accepts -search_paths_first flag], tcl_cv_ld_search_paths_first, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-search_paths_first" AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes, tcl_cv_ld_search_paths_first=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_search_paths_first = yes], [ LDFLAGS="$LDFLAGS -Wl,-search_paths_first" ]) AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [ AC_DEFINE(MODULE_SCOPE, [__private_extern__], [Compiler support for module scope symbols]) ]) CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" # TEA specific: for combined 32 & 64 bit fat builds of Tk # extensions, verify that 64-bit build is possible. AS_IF([test "$fat_32_64" = yes && test -n "${TK_BIN_DIR}"], [ AS_IF([test "${TEA_WINDOWINGSYSTEM}" = x11], [ AC_CACHE_CHECK([for 64-bit X11], tcl_cv_lib_x11_64, [ for v in CFLAGS CPPFLAGS LDFLAGS; do eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"' done CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include" LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11" AC_TRY_LINK([#include ], [XrmInitialize();], tcl_cv_lib_x11_64=yes, tcl_cv_lib_x11_64=no) for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="$hold_'$v'"' done]) ]) # remove 64-bit arch flags from CFLAGS et al. if configuration # does not support 64-bit. AS_IF([test "${TEA_WINDOWINGSYSTEM}" = aqua -o "$tcl_cv_lib_x11_64" = no], [ AC_MSG_NOTICE([Removing 64-bit architectures from compiler & linker flags]) for v in CFLAGS CPPFLAGS LDFLAGS; do eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"' done]) ]) ;; NEXTSTEP-*) SHLIB_CFLAGS="" SHLIB_LD='${CC} -nostdlib -r' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadNext.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OS/390-*) CFLAGS_OPTIMIZE="" # Optimizer is buggy AC_DEFINE(_OE_SOCKETS, 1, # needed in sys/socket.h [Should OS/390 do the right thing with sockets?]) ;; OSF1-1.0|OSF1-1.1|OSF1-1.2) # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1 SHLIB_CFLAGS="" # Hack: make package name same as library name SHLIB_LD='ld -R -export $@:' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadOSF.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-1.*) # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2 SHLIB_CFLAGS="-fPIC" AS_IF([test "$SHARED_BUILD" = 1], [SHLIB_LD="ld -shared"], [ SHLIB_LD="ld -non_shared" ]) SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; OSF1-V*) # Digital OSF/1 SHLIB_CFLAGS="" AS_IF([test "$SHARED_BUILD" = 1], [ SHLIB_LD='ld -shared -expect_unresolved "*"' ], [ SHLIB_LD='ld -non_shared -expect_unresolved "*"' ]) SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" AS_IF([test $doRpath = yes], [ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) AS_IF([test "$GCC" = yes], [CFLAGS="$CFLAGS -mieee"], [ CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"]) # see pthread_intro(3) for pthread support on osf1, k.furukawa AS_IF([test "${TCL_THREADS}" = 1], [ CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE" CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64" LIBS=`echo $LIBS | sed s/-lpthreads//` AS_IF([test "$GCC" = yes], [ LIBS="$LIBS -lpthread -lmach -lexc" ], [ CFLAGS="$CFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" ]) ]) ;; QNX-6*) # QNX RTP # This may work for all QNX, but it was only reported for v6. SHLIB_CFLAGS="-fPIC" SHLIB_LD="ld -Bshareable -x" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" # dlopen is in -lc on QNX DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SCO_SV-3.2*) # Note, dlopen is available only on SCO 3.2.5 and greater. However, # this test works, since "uname -s" was non-standard in 3.2.4 and # below. AS_IF([test "$GCC" = yes], [ SHLIB_CFLAGS="-fPIC -melf" LDFLAGS="$LDFLAGS -melf -Wl,-Bexport" ], [ SHLIB_CFLAGS="-Kpic -belf" LDFLAGS="$LDFLAGS -belf -Wl,-Bexport" ]) SHLIB_LD="ld -G" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SINIX*5.4*) SHLIB_CFLAGS="-K PIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; SunOS-4*) SHLIB_CFLAGS="-PIC" SHLIB_LD="ld" SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} # SunOS can't handle version numbers with dots in them in library # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it # requires an extra version number at the end of .so file names. # So, the library has to have a name like libtcl75.so.1.0 SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0' UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' TCL_LIB_VERSIONS_OK=nodots ;; SunOS-5.[[0-6]]) # Careful to not let 5.10+ fall into this case # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?]) AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Do we really want to follow the standard? Yes we do!]) SHLIB_CFLAGS="-KPIC" # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ], [ SHLIB_LD="/usr/ccs/bin/ld -G -z text" CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ]) ;; SunOS-5*) # Note: If _REENTRANT isn't defined, then Solaris # won't define thread-safe library routines. AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?]) AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Do we really want to follow the standard? Yes we do!]) SHLIB_CFLAGS="-KPIC" # Check to enable 64-bit flags for compiler/linker AS_IF([test "$do64bit" = yes], [ arch=`isainfo` AS_IF([test "$arch" = "sparcv9 sparc"], [ AS_IF([test "$GCC" = yes], [ AS_IF([test "`${CC} -dumpversion | awk -F. '{print [$]1}'`" -lt 3], [ AC_MSG_WARN([64bit mode not supported with GCC < 3.2 on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -m64 -mcpu=v9" LDFLAGS="$LDFLAGS -m64 -mcpu=v9" SHLIB_CFLAGS="-fPIC" ]) ], [ do64bit_ok=yes AS_IF([test "$do64bitVIS" = yes], [ CFLAGS="$CFLAGS -xarch=v9a" LDFLAGS_ARCH="-xarch=v9a" ], [ CFLAGS="$CFLAGS -xarch=v9" LDFLAGS_ARCH="-xarch=v9" ]) # Solaris 64 uses this as well #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64" ]) ], [AS_IF([test "$arch" = "amd64 i386"], [ AS_IF([test "$GCC" = yes], [ AC_MSG_WARN([64bit mode not supported with GCC on $system]) ], [ do64bit_ok=yes CFLAGS="$CFLAGS -xarch=amd64" LDFLAGS="$LDFLAGS -xarch=amd64" ]) ], [AC_MSG_WARN([64bit mode not supported for $arch])])]) ]) # Note: need the LIBS below, otherwise Tk won't find Tcl's # symbols when dynamically loaded into tclsh. SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" AS_IF([test "$GCC" = yes], [ SHLIB_LD='${CC} -shared' CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "$do64bit_ok" = yes], [ # We need to specify -static-libgcc or we need to # add the path to the sparv9 libgcc. # JH: static-libgcc is necessary for core Tcl, but may # not be necessary for extensions. SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc" # for finding sparcv9 libgcc, get the regular libgcc # path, remove so name and append 'sparcv9' #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..." #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir" ]) ], [ case $system in SunOS-5.[[1-9]][[0-9]]*) SHLIB_LD='${CC} -G -z text';; *) SHLIB_LD='/usr/ccs/bin/ld -G -z text';; esac CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}' ]) ;; UNIX_SV* | UnixWare-5*) SHLIB_CFLAGS="-KPIC" SHLIB_LD='${CC} -G' SHLIB_LD_LIBS="" SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers # that don't grok the -Bexport option. Test that it does. AC_CACHE_CHECK([for ld accepts -Bexport flag], tcl_cv_ld_Bexport, [ hold_ldflags=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bexport" AC_TRY_LINK(, [int i;], tcl_cv_ld_Bexport=yes, tcl_cv_ld_Bexport=no) LDFLAGS=$hold_ldflags]) AS_IF([test $tcl_cv_ld_Bexport = yes], [ LDFLAGS="$LDFLAGS -Wl,-Bexport" ]) CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" ;; esac AS_IF([test "$do64bit" = yes -a "$do64bit_ok" = no], [ AC_MSG_WARN([64bit support being disabled -- don't know magic for this platform]) ]) dnl # Add any CPPFLAGS set in the environment to our CFLAGS, but delay doing so dnl # until the end of configure, as configure's compile and link tests use dnl # both CPPFLAGS and CFLAGS (unlike our compile and link) but configure's dnl # preprocessing tests use only CPPFLAGS. AC_CONFIG_COMMANDS_PRE([CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""]) # Step 4: disable dynamic loading if requested via a command-line switch. AC_ARG_ENABLE(load, AC_HELP_STRING([--enable-load], [allow dynamic loading and "load" command (default: on)]), [tcl_ok=$enableval], [tcl_ok=yes]) AS_IF([test "$tcl_ok" = no], [DL_OBJS=""]) AS_IF([test "x$DL_OBJS" != x], [BUILD_DLTEST="\$(DLTEST_TARGETS)"], [ AC_MSG_WARN([Can't figure out how to do dynamic loading or shared libraries on this system.]) SHLIB_CFLAGS="" SHLIB_LD="" SHLIB_SUFFIX="" DL_OBJS="tclLoadNone.o" DL_LIBS="" LDFLAGS="$LDFLAGS_ORIG" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" BUILD_DLTEST="" ]) LDFLAGS="$LDFLAGS $LDFLAGS_ARCH" # If we're running gcc, then change the C flags for compiling shared # libraries to the right flags for gcc, instead of those for the # standard manufacturer compiler. AS_IF([test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes], [ case $system in AIX-*) ;; BSD/OS*) ;; IRIX*) ;; NetBSD-*|FreeBSD-*) ;; Darwin-*) ;; SCO_SV-3.2*) ;; *) SHLIB_CFLAGS="-fPIC" ;; esac]) AS_IF([test "$SHARED_LIB_SUFFIX" = ""], [ # TEA specific: use PACKAGE_VERSION instead of VERSION SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}']) AS_IF([test "$UNSHARED_LIB_SUFFIX" = ""], [ # TEA specific: use PACKAGE_VERSION instead of VERSION UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a']) AC_SUBST(DL_LIBS) AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(CFLAGS_WARNING) AC_SUBST(STLIB_LD) AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_LD_LIBS) AC_SUBST(SHLIB_CFLAGS) AC_SUBST(LD_LIBRARY_PATH_VAR) # These must be called after we do the basic CFLAGS checks and # verify any possible 64-bit or similar switches are necessary TEA_TCL_EARLY_FLAGS TEA_TCL_64BIT_FLAGS ]) #-------------------------------------------------------------------- # TEA_SERIAL_PORT # # Determine which interface to use to talk to the serial port. # Note that #include lines must begin in leftmost column for # some compilers to recognize them as preprocessor directives, # and some build environments have stdin not pointing at a # pseudo-terminal (usually /dev/null instead.) # # Arguments: # none # # Results: # # Defines only one of the following vars: # HAVE_SYS_MODEM_H # USE_TERMIOS # USE_TERMIO # USE_SGTTY # #-------------------------------------------------------------------- AC_DEFUN([TEA_SERIAL_PORT], [ AC_CHECK_HEADERS(sys/modem.h) AC_CACHE_CHECK([termios vs. termio vs. sgtty], tcl_cv_api_serial, [ AC_TRY_RUN([ #include int main() { struct termios t; if (tcgetattr(0, &t) == 0) { cfsetospeed(&t, 0); t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB; return 0; } return 1; }], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no) if test $tcl_cv_api_serial = no ; then AC_TRY_RUN([ #include int main() { struct termio t; if (ioctl(0, TCGETA, &t) == 0) { t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB; return 0; } return 1; }], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no) fi if test $tcl_cv_api_serial = no ; then AC_TRY_RUN([ #include int main() { struct sgttyb t; if (ioctl(0, TIOCGETP, &t) == 0) { t.sg_ospeed = 0; t.sg_flags |= ODDP | EVENP | RAW; return 0; } return 1; }], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=no, tcl_cv_api_serial=no) fi if test $tcl_cv_api_serial = no ; then AC_TRY_RUN([ #include #include int main() { struct termios t; if (tcgetattr(0, &t) == 0 || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { cfsetospeed(&t, 0); t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB; return 0; } return 1; }], tcl_cv_api_serial=termios, tcl_cv_api_serial=no, tcl_cv_api_serial=no) fi if test $tcl_cv_api_serial = no; then AC_TRY_RUN([ #include #include int main() { struct termio t; if (ioctl(0, TCGETA, &t) == 0 || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB; return 0; } return 1; }], tcl_cv_api_serial=termio, tcl_cv_api_serial=no, tcl_cv_api_serial=no) fi if test $tcl_cv_api_serial = no; then AC_TRY_RUN([ #include #include int main() { struct sgttyb t; if (ioctl(0, TIOCGETP, &t) == 0 || errno == ENOTTY || errno == ENXIO || errno == EINVAL) { t.sg_ospeed = 0; t.sg_flags |= ODDP | EVENP | RAW; return 0; } return 1; }], tcl_cv_api_serial=sgtty, tcl_cv_api_serial=none, tcl_cv_api_serial=none) fi]) case $tcl_cv_api_serial in termios) AC_DEFINE(USE_TERMIOS, 1, [Use the termios API for serial lines]);; termio) AC_DEFINE(USE_TERMIO, 1, [Use the termio API for serial lines]);; sgtty) AC_DEFINE(USE_SGTTY, 1, [Use the sgtty API for serial lines]);; esac ]) #-------------------------------------------------------------------- # TEA_MISSING_POSIX_HEADERS # # Supply substitutes for missing POSIX header files. Special # notes: # - stdlib.h doesn't define strtol, strtoul, or # strtod insome versions of SunOS # - some versions of string.h don't declare procedures such # as strstr # # Arguments: # none # # Results: # # Defines some of the following vars: # NO_DIRENT_H # NO_ERRNO_H # NO_VALUES_H # HAVE_LIMITS_H or NO_LIMITS_H # NO_STDLIB_H # NO_STRING_H # NO_SYS_WAIT_H # NO_DLFCN_H # HAVE_SYS_PARAM_H # # HAVE_STRING_H ? # # tkUnixPort.h checks for HAVE_LIMITS_H, so do both HAVE and # CHECK on limits.h #-------------------------------------------------------------------- AC_DEFUN([TEA_MISSING_POSIX_HEADERS], [ AC_CACHE_CHECK([dirent.h], tcl_cv_dirent_h, [ AC_TRY_LINK([#include #include ], [ #ifndef _POSIX_SOURCE # ifdef __Lynx__ /* * Generate compilation error to make the test fail: Lynx headers * are only valid if really in the POSIX environment. */ missing_procedure(); # endif #endif DIR *d; struct dirent *entryPtr; char *p; d = opendir("foobar"); entryPtr = readdir(d); p = entryPtr->d_name; closedir(d); ], tcl_cv_dirent_h=yes, tcl_cv_dirent_h=no)]) if test $tcl_cv_dirent_h = no; then AC_DEFINE(NO_DIRENT_H, 1, [Do we have ?]) fi # TEA specific: AC_CHECK_HEADER(errno.h, , [AC_DEFINE(NO_ERRNO_H, 1, [Do we have ?])]) AC_CHECK_HEADER(float.h, , [AC_DEFINE(NO_FLOAT_H, 1, [Do we have ?])]) AC_CHECK_HEADER(values.h, , [AC_DEFINE(NO_VALUES_H, 1, [Do we have ?])]) AC_CHECK_HEADER(limits.h, [AC_DEFINE(HAVE_LIMITS_H, 1, [Do we have ?])], [AC_DEFINE(NO_LIMITS_H, 1, [Do we have ?])]) AC_CHECK_HEADER(stdlib.h, tcl_ok=1, tcl_ok=0) AC_EGREP_HEADER(strtol, stdlib.h, , tcl_ok=0) AC_EGREP_HEADER(strtoul, stdlib.h, , tcl_ok=0) AC_EGREP_HEADER(strtod, stdlib.h, , tcl_ok=0) if test $tcl_ok = 0; then AC_DEFINE(NO_STDLIB_H, 1, [Do we have ?]) fi AC_CHECK_HEADER(string.h, tcl_ok=1, tcl_ok=0) AC_EGREP_HEADER(strstr, string.h, , tcl_ok=0) AC_EGREP_HEADER(strerror, string.h, , tcl_ok=0) # See also memmove check below for a place where NO_STRING_H can be # set and why. if test $tcl_ok = 0; then AC_DEFINE(NO_STRING_H, 1, [Do we have ?]) fi AC_CHECK_HEADER(sys/wait.h, , [AC_DEFINE(NO_SYS_WAIT_H, 1, [Do we have ?])]) AC_CHECK_HEADER(dlfcn.h, , [AC_DEFINE(NO_DLFCN_H, 1, [Do we have ?])]) # OS/390 lacks sys/param.h (and doesn't need it, by chance). AC_HAVE_HEADERS(sys/param.h) ]) #-------------------------------------------------------------------- # TEA_PATH_X # # Locate the X11 header files and the X11 library archive. Try # the ac_path_x macro first, but if it doesn't find the X stuff # (e.g. because there's no xmkmf program) then check through # a list of possible directories. Under some conditions the # autoconf macro will return an include directory that contains # no include files, so double-check its result just to be safe. # # This should be called after TEA_CONFIG_CFLAGS as setting the # LIBS line can confuse some configure macro magic. # # Arguments: # none # # Results: # # Sets the following vars: # XINCLUDES # XLIBSW # PKG_LIBS (appends to) # #-------------------------------------------------------------------- AC_DEFUN([TEA_PATH_X], [ if test "${TEA_WINDOWINGSYSTEM}" = "x11" ; then TEA_PATH_UNIX_X fi ]) AC_DEFUN([TEA_PATH_UNIX_X], [ AC_PATH_X not_really_there="" if test "$no_x" = ""; then if test "$x_includes" = ""; then AC_TRY_CPP([#include ], , not_really_there="yes") else if test ! -r $x_includes/X11/Intrinsic.h; then not_really_there="yes" fi fi fi if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then AC_MSG_CHECKING([for X11 header files]) found_xincludes="no" AC_TRY_CPP([#include ], found_xincludes="yes", found_xincludes="no") if test "$found_xincludes" = "no"; then dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include" for i in $dirs ; do if test -r $i/X11/Intrinsic.h; then AC_MSG_RESULT([$i]) XINCLUDES=" -I$i" found_xincludes="yes" break fi done fi else if test "$x_includes" != ""; then XINCLUDES="-I$x_includes" found_xincludes="yes" fi fi if test found_xincludes = "no"; then AC_MSG_RESULT([couldn't find any!]) fi if test "$no_x" = yes; then AC_MSG_CHECKING([for X11 libraries]) XLIBSW=nope dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib" for i in $dirs ; do if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then AC_MSG_RESULT([$i]) XLIBSW="-L$i -lX11" x_libraries="$i" break fi done else if test "$x_libraries" = ""; then XLIBSW=-lX11 else XLIBSW="-L$x_libraries -lX11" fi fi if test "$XLIBSW" = nope ; then AC_CHECK_LIB(Xwindow, XCreateWindow, XLIBSW=-lXwindow) fi if test "$XLIBSW" = nope ; then AC_MSG_RESULT([could not find any! Using -lX11.]) XLIBSW=-lX11 fi # TEA specific: if test x"${XLIBSW}" != x ; then PKG_LIBS="${PKG_LIBS} ${XLIBSW}" fi ]) #-------------------------------------------------------------------- # TEA_BLOCKING_STYLE # # The statements below check for systems where POSIX-style # non-blocking I/O (O_NONBLOCK) doesn't work or is unimplemented. # On these systems (mostly older ones), use the old BSD-style # FIONBIO approach instead. # # Arguments: # none # # Results: # # Defines some of the following vars: # HAVE_SYS_IOCTL_H # HAVE_SYS_FILIO_H # USE_FIONBIO # O_NONBLOCK # #-------------------------------------------------------------------- AC_DEFUN([TEA_BLOCKING_STYLE], [ AC_CHECK_HEADERS(sys/ioctl.h) AC_CHECK_HEADERS(sys/filio.h) TEA_CONFIG_SYSTEM AC_MSG_CHECKING([FIONBIO vs. O_NONBLOCK for nonblocking I/O]) case $system in # There used to be code here to use FIONBIO under AIX. However, it # was reported that FIONBIO doesn't work under AIX 3.2.5. Since # using O_NONBLOCK seems fine under AIX 4.*, I removed the FIONBIO # code (JO, 5/31/97). OSF*) AC_DEFINE(USE_FIONBIO, 1, [Should we use FIONBIO?]) AC_MSG_RESULT([FIONBIO]) ;; SunOS-4*) AC_DEFINE(USE_FIONBIO, 1, [Should we use FIONBIO?]) AC_MSG_RESULT([FIONBIO]) ;; *) AC_MSG_RESULT([O_NONBLOCK]) ;; esac ]) #-------------------------------------------------------------------- # TEA_TIME_HANLDER # # Checks how the system deals with time.h, what time structures # are used on the system, and what fields the structures have. # # Arguments: # none # # Results: # # Defines some of the following vars: # USE_DELTA_FOR_TZ # HAVE_TM_GMTOFF # HAVE_TM_TZADJ # HAVE_TIMEZONE_VAR # #-------------------------------------------------------------------- AC_DEFUN([TEA_TIME_HANDLER], [ AC_CHECK_HEADERS(sys/time.h) AC_HEADER_TIME AC_STRUCT_TIMEZONE AC_CHECK_FUNCS(gmtime_r localtime_r) AC_CACHE_CHECK([tm_tzadj in struct tm], tcl_cv_member_tm_tzadj, [ AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_tzadj;], tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no)]) if test $tcl_cv_member_tm_tzadj = yes ; then AC_DEFINE(HAVE_TM_TZADJ, 1, [Should we use the tm_tzadj field of struct tm?]) fi AC_CACHE_CHECK([tm_gmtoff in struct tm], tcl_cv_member_tm_gmtoff, [ AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_gmtoff;], tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no)]) if test $tcl_cv_member_tm_gmtoff = yes ; then AC_DEFINE(HAVE_TM_GMTOFF, 1, [Should we use the tm_gmtoff field of struct tm?]) fi # # Its important to include time.h in this check, as some systems # (like convex) have timezone functions, etc. # AC_CACHE_CHECK([long timezone variable], tcl_cv_timezone_long, [ AC_TRY_COMPILE([#include ], [extern long timezone; timezone += 1; exit (0);], tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)]) if test $tcl_cv_timezone_long = yes ; then AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?]) else # # On some systems (eg IRIX 6.2), timezone is a time_t and not a long. # AC_CACHE_CHECK([time_t timezone variable], tcl_cv_timezone_time, [ AC_TRY_COMPILE([#include ], [extern time_t timezone; timezone += 1; exit (0);], tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)]) if test $tcl_cv_timezone_time = yes ; then AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [Should we use the global timezone variable?]) fi fi ]) #-------------------------------------------------------------------- # TEA_BUGGY_STRTOD # # Under Solaris 2.4, strtod returns the wrong value for the # terminating character under some conditions. Check for this # and if the problem exists use a substitute procedure # "fixstrtod" (provided by Tcl) that corrects the error. # Also, on Compaq's Tru64 Unix 5.0, # strtod(" ") returns 0.0 instead of a failure to convert. # # Arguments: # none # # Results: # # Might defines some of the following vars: # strtod (=fixstrtod) # #-------------------------------------------------------------------- AC_DEFUN([TEA_BUGGY_STRTOD], [ AC_CHECK_FUNC(strtod, tcl_strtod=1, tcl_strtod=0) if test "$tcl_strtod" = 1; then AC_CACHE_CHECK([for Solaris2.4/Tru64 strtod bugs], tcl_cv_strtod_buggy,[ AC_TRY_RUN([ extern double strtod(); int main() { char *infString="Inf", *nanString="NaN", *spaceString=" "; char *term; double value; value = strtod(infString, &term); if ((term != infString) && (term[-1] == 0)) { exit(1); } value = strtod(nanString, &term); if ((term != nanString) && (term[-1] == 0)) { exit(1); } value = strtod(spaceString, &term); if (term == (spaceString+1)) { exit(1); } exit(0); }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy, tcl_cv_strtod_buggy=buggy)]) if test "$tcl_cv_strtod_buggy" = buggy; then AC_LIBOBJ([fixstrtod]) USE_COMPAT=1 AC_DEFINE(strtod, fixstrtod, [Do we want to use the strtod() in compat?]) fi fi ]) #-------------------------------------------------------------------- # TEA_TCL_LINK_LIBS # # Search for the libraries needed to link the Tcl shell. # Things like the math library (-lm) and socket stuff (-lsocket vs. # -lnsl) are dealt with here. # # Arguments: # Requires the following vars to be set in the Makefile: # DL_LIBS # LIBS # MATH_LIBS # # Results: # # Subst's the following var: # TCL_LIBS # MATH_LIBS # # Might append to the following vars: # LIBS # # Might define the following vars: # HAVE_NET_ERRNO_H # #-------------------------------------------------------------------- AC_DEFUN([TEA_TCL_LINK_LIBS], [ #-------------------------------------------------------------------- # On a few very rare systems, all of the libm.a stuff is # already in libc.a. Set compiler flags accordingly. # Also, Linux requires the "ieee" library for math to work # right (and it must appear before "-lm"). #-------------------------------------------------------------------- AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm") AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"]) #-------------------------------------------------------------------- # Interactive UNIX requires -linet instead of -lsocket, plus it # needs net/errno.h to define the socket-related error codes. #-------------------------------------------------------------------- AC_CHECK_LIB(inet, main, [LIBS="$LIBS -linet"]) AC_CHECK_HEADER(net/errno.h, [ AC_DEFINE(HAVE_NET_ERRNO_H, 1, [Do we have ?])]) #-------------------------------------------------------------------- # Check for the existence of the -lsocket and -lnsl libraries. # The order here is important, so that they end up in the right # order in the command line generated by make. Here are some # special considerations: # 1. Use "connect" and "accept" to check for -lsocket, and # "gethostbyname" to check for -lnsl. # 2. Use each function name only once: can't redo a check because # autoconf caches the results of the last check and won't redo it. # 3. Use -lnsl and -lsocket only if they supply procedures that # aren't already present in the normal libraries. This is because # IRIX 5.2 has libraries, but they aren't needed and they're # bogus: they goof up name resolution if used. # 4. On some SVR4 systems, can't use -lsocket without -lnsl too. # To get around this problem, check for both libraries together # if -lsocket doesn't work by itself. #-------------------------------------------------------------------- tcl_checkBoth=0 AC_CHECK_FUNC(connect, tcl_checkSocket=0, tcl_checkSocket=1) if test "$tcl_checkSocket" = 1; then AC_CHECK_FUNC(setsockopt, , [AC_CHECK_LIB(socket, setsockopt, LIBS="$LIBS -lsocket", tcl_checkBoth=1)]) fi if test "$tcl_checkBoth" = 1; then tk_oldLibs=$LIBS LIBS="$LIBS -lsocket -lnsl" AC_CHECK_FUNC(accept, tcl_checkNsl=0, [LIBS=$tk_oldLibs]) fi AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])]) # TEA specific: Don't perform the eval of the libraries here because # DL_LIBS won't be set until we call TEA_CONFIG_CFLAGS TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}' AC_SUBST(TCL_LIBS) AC_SUBST(MATH_LIBS) ]) #-------------------------------------------------------------------- # TEA_TCL_EARLY_FLAGS # # Check for what flags are needed to be passed so the correct OS # features are available. # # Arguments: # None # # Results: # # Might define the following vars: # _ISOC99_SOURCE # _LARGEFILE64_SOURCE # _LARGEFILE_SOURCE64 # #-------------------------------------------------------------------- AC_DEFUN([TEA_TCL_EARLY_FLAG],[ AC_CACHE_VAL([tcl_cv_flag_]translit($1,[A-Z],[a-z]), AC_TRY_COMPILE([$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no, AC_TRY_COMPILE([[#define ]$1[ 1 ]$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no))) if test ["x${tcl_cv_flag_]translit($1,[A-Z],[a-z])[}" = "xyes"] ; then AC_DEFINE($1, 1, [Add the ]$1[ flag when building]) tcl_flags="$tcl_flags $1" fi ]) AC_DEFUN([TEA_TCL_EARLY_FLAGS],[ AC_MSG_CHECKING([for required early compiler flags]) tcl_flags="" TEA_TCL_EARLY_FLAG(_ISOC99_SOURCE,[#include ], [char *p = (char *)strtoll; char *q = (char *)strtoull;]) TEA_TCL_EARLY_FLAG(_LARGEFILE64_SOURCE,[#include ], [struct stat64 buf; int i = stat64("/", &buf);]) TEA_TCL_EARLY_FLAG(_LARGEFILE_SOURCE64,[#include ], [char *p = (char *)open64;]) if test "x${tcl_flags}" = "x" ; then AC_MSG_RESULT([none]) else AC_MSG_RESULT([${tcl_flags}]) fi ]) #-------------------------------------------------------------------- # TEA_TCL_64BIT_FLAGS # # Check for what is defined in the way of 64-bit features. # # Arguments: # None # # Results: # # Might define the following vars: # TCL_WIDE_INT_IS_LONG # TCL_WIDE_INT_TYPE # HAVE_STRUCT_DIRENT64 # HAVE_STRUCT_STAT64 # HAVE_TYPE_OFF64_T # #-------------------------------------------------------------------- AC_DEFUN([TEA_TCL_64BIT_FLAGS], [ AC_MSG_CHECKING([for 64-bit integer type]) AC_CACHE_VAL(tcl_cv_type_64bit,[ tcl_cv_type_64bit=none # See if the compiler knows natively about __int64 AC_TRY_COMPILE(,[__int64 value = (__int64) 0;], tcl_type_64bit=__int64, tcl_type_64bit="long long") # See if we should use long anyway Note that we substitute in the # type that is our current guess for a 64-bit type inside this check # program, so it should be modified only carefully... AC_TRY_COMPILE(,[switch (0) { case 1: case (sizeof(]${tcl_type_64bit}[)==sizeof(long)): ; }],tcl_cv_type_64bit=${tcl_type_64bit})]) if test "${tcl_cv_type_64bit}" = none ; then AC_DEFINE(TCL_WIDE_INT_IS_LONG, 1, [Are wide integers to be implemented with C 'long's?]) AC_MSG_RESULT([using long]) elif test "${tcl_cv_type_64bit}" = "__int64" \ -a "${TEA_PLATFORM}" = "windows" ; then # TEA specific: We actually want to use the default tcl.h checks in # this case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER* AC_MSG_RESULT([using Tcl header defaults]) else AC_DEFINE_UNQUOTED(TCL_WIDE_INT_TYPE,${tcl_cv_type_64bit}, [What type should be used to define wide integers?]) AC_MSG_RESULT([${tcl_cv_type_64bit}]) # Now check for auxiliary declarations AC_CACHE_CHECK([for struct dirent64], tcl_cv_struct_dirent64,[ AC_TRY_COMPILE([#include #include ],[struct dirent64 p;], tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no)]) if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then AC_DEFINE(HAVE_STRUCT_DIRENT64, 1, [Is 'struct dirent64' in ?]) fi AC_CACHE_CHECK([for struct stat64], tcl_cv_struct_stat64,[ AC_TRY_COMPILE([#include ],[struct stat64 p; ], tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no)]) if test "x${tcl_cv_struct_stat64}" = "xyes" ; then AC_DEFINE(HAVE_STRUCT_STAT64, 1, [Is 'struct stat64' in ?]) fi AC_CHECK_FUNCS(open64 lseek64) AC_MSG_CHECKING([for off64_t]) AC_CACHE_VAL(tcl_cv_type_off64_t,[ AC_TRY_COMPILE([#include ],[off64_t offset; ], tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no)]) dnl Define HAVE_TYPE_OFF64_T only when the off64_t type and the dnl functions lseek64 and open64 are defined. if test "x${tcl_cv_type_off64_t}" = "xyes" && \ test "x${ac_cv_func_lseek64}" = "xyes" && \ test "x${ac_cv_func_open64}" = "xyes" ; then AC_DEFINE(HAVE_TYPE_OFF64_T, 1, [Is off64_t in ?]) AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi fi ]) ## ## Here ends the standard Tcl configuration bits and starts the ## TEA specific functions ## #------------------------------------------------------------------------ # TEA_INIT -- # # Init various Tcl Extension Architecture (TEA) variables. # This should be the first called TEA_* macro. # # Arguments: # none # # Results: # # Defines and substs the following vars: # CYGPATH # EXEEXT # Defines only: # TEA_VERSION # TEA_INITED # TEA_PLATFORM (windows or unix) # # "cygpath" is used on windows to generate native path names for include # files. These variables should only be used with the compiler and linker # since they generate native path names. # # EXEEXT # Select the executable extension based on the host type. This # is a lightweight replacement for AC_EXEEXT that doesn't require # a compiler. #------------------------------------------------------------------------ AC_DEFUN([TEA_INIT], [ # TEA extensions pass this us the version of TEA they think they # are compatible with. TEA_VERSION="3.6" AC_MSG_CHECKING([for correct TEA configuration]) if test x"${PACKAGE_NAME}" = x ; then AC_MSG_ERROR([ The PACKAGE_NAME variable must be defined by your TEA configure.in]) fi if test x"$1" = x ; then AC_MSG_ERROR([ TEA version not specified.]) elif test "$1" != "${TEA_VERSION}" ; then AC_MSG_RESULT([warning: requested TEA version "$1", have "${TEA_VERSION}"]) else AC_MSG_RESULT([ok (TEA ${TEA_VERSION})]) fi case "`uname -s`" in *win32*|*WIN32*|*CYGWIN_NT*|*CYGWIN_9*|*CYGWIN_ME*|*MINGW32_*) AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo) EXEEXT=".exe" TEA_PLATFORM="windows" ;; *) CYGPATH=echo EXEEXT="" TEA_PLATFORM="unix" ;; esac # Check if exec_prefix is set. If not use fall back to prefix. # Note when adjusted, so that TEA_PREFIX can correct for this. # This is needed for recursive configures, since autoconf propagates # $prefix, but not $exec_prefix (doh!). if test x$exec_prefix = xNONE ; then exec_prefix_default=yes exec_prefix=$prefix fi AC_SUBST(EXEEXT) AC_SUBST(CYGPATH) # This package name must be replaced statically for AC_SUBST to work AC_SUBST(PKG_LIB_FILE) # Substitute STUB_LIB_FILE in case package creates a stub library too. AC_SUBST(PKG_STUB_LIB_FILE) # We AC_SUBST these here to ensure they are subst'ed, # in case the user doesn't call TEA_ADD_... AC_SUBST(PKG_STUB_SOURCES) AC_SUBST(PKG_STUB_OBJECTS) AC_SUBST(PKG_TCL_SOURCES) AC_SUBST(PKG_HEADERS) AC_SUBST(PKG_INCLUDES) AC_SUBST(PKG_LIBS) AC_SUBST(PKG_CFLAGS) ]) #------------------------------------------------------------------------ # TEA_ADD_SOURCES -- # # Specify one or more source files. Users should check for # the right platform before adding to their list. # It is not important to specify the directory, as long as it is # in the generic, win or unix subdirectory of $(srcdir). # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_SOURCES # PKG_OBJECTS #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_SOURCES], [ vars="$@" for i in $vars; do case $i in [\$]*) # allow $-var names PKG_SOURCES="$PKG_SOURCES $i" PKG_OBJECTS="$PKG_OBJECTS $i" ;; *) # check for existence - allows for generic/win/unix VPATH # To add more dirs here (like 'src'), you have to update VPATH # in Makefile.in as well if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ; then AC_MSG_ERROR([could not find source file '$i']) fi PKG_SOURCES="$PKG_SOURCES $i" # this assumes it is in a VPATH dir i=`basename $i` # handle user calling this before or after TEA_SETUP_COMPILER if test x"${OBJEXT}" != x ; then j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}" else j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}" fi PKG_OBJECTS="$PKG_OBJECTS $j" ;; esac done AC_SUBST(PKG_SOURCES) AC_SUBST(PKG_OBJECTS) ]) #------------------------------------------------------------------------ # TEA_ADD_STUB_SOURCES -- # # Specify one or more source files. Users should check for # the right platform before adding to their list. # It is not important to specify the directory, as long as it is # in the generic, win or unix subdirectory of $(srcdir). # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_STUB_SOURCES # PKG_STUB_OBJECTS #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_STUB_SOURCES], [ vars="$@" for i in $vars; do # check for existence - allows for generic/win/unix VPATH if test ! -f "${srcdir}/$i" -a ! -f "${srcdir}/generic/$i" \ -a ! -f "${srcdir}/win/$i" -a ! -f "${srcdir}/unix/$i" \ ; then AC_MSG_ERROR([could not find stub source file '$i']) fi PKG_STUB_SOURCES="$PKG_STUB_SOURCES $i" # this assumes it is in a VPATH dir i=`basename $i` # handle user calling this before or after TEA_SETUP_COMPILER if test x"${OBJEXT}" != x ; then j="`echo $i | sed -e 's/\.[[^.]]*$//'`.${OBJEXT}" else j="`echo $i | sed -e 's/\.[[^.]]*$//'`.\${OBJEXT}" fi PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j" done AC_SUBST(PKG_STUB_SOURCES) AC_SUBST(PKG_STUB_OBJECTS) ]) #------------------------------------------------------------------------ # TEA_ADD_TCL_SOURCES -- # # Specify one or more Tcl source files. These should be platform # independent runtime files. # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_TCL_SOURCES #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_TCL_SOURCES], [ vars="$@" for i in $vars; do # check for existence, be strict because it is installed if test ! -f "${srcdir}/$i" ; then AC_MSG_ERROR([could not find tcl source file '${srcdir}/$i']) fi PKG_TCL_SOURCES="$PKG_TCL_SOURCES $i" done AC_SUBST(PKG_TCL_SOURCES) ]) #------------------------------------------------------------------------ # TEA_ADD_HEADERS -- # # Specify one or more source headers. Users should check for # the right platform before adding to their list. # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_HEADERS #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_HEADERS], [ vars="$@" for i in $vars; do # check for existence, be strict because it is installed if test ! -f "${srcdir}/$i" ; then AC_MSG_ERROR([could not find header file '${srcdir}/$i']) fi PKG_HEADERS="$PKG_HEADERS $i" done AC_SUBST(PKG_HEADERS) ]) #------------------------------------------------------------------------ # TEA_ADD_INCLUDES -- # # Specify one or more include dirs. Users should check for # the right platform before adding to their list. # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_INCLUDES #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_INCLUDES], [ vars="$@" for i in $vars; do PKG_INCLUDES="$PKG_INCLUDES $i" done AC_SUBST(PKG_INCLUDES) ]) #------------------------------------------------------------------------ # TEA_ADD_LIBS -- # # Specify one or more libraries. Users should check for # the right platform before adding to their list. For Windows, # libraries provided in "foo.lib" format will be converted to # "-lfoo" when using GCC (mingw). # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_LIBS #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_LIBS], [ vars="$@" for i in $vars; do if test "${TEA_PLATFORM}" = "windows" -a "$GCC" = "yes" ; then # Convert foo.lib to -lfoo for GCC. No-op if not *.lib i=`echo "$i" | sed -e 's/^\([[^-]].*\)\.lib[$]/-l\1/i'` fi PKG_LIBS="$PKG_LIBS $i" done AC_SUBST(PKG_LIBS) ]) #------------------------------------------------------------------------ # TEA_ADD_CFLAGS -- # # Specify one or more CFLAGS. Users should check for # the right platform before adding to their list. # # Arguments: # one or more file names # # Results: # # Defines and substs the following vars: # PKG_CFLAGS #------------------------------------------------------------------------ AC_DEFUN([TEA_ADD_CFLAGS], [ PKG_CFLAGS="$PKG_CFLAGS $@" AC_SUBST(PKG_CFLAGS) ]) #------------------------------------------------------------------------ # TEA_PREFIX -- # # Handle the --prefix=... option by defaulting to what Tcl gave # # Arguments: # none # # Results: # # If --prefix or --exec-prefix was not specified, $prefix and # $exec_prefix will be set to the values given to Tcl when it was # configured. #------------------------------------------------------------------------ AC_DEFUN([TEA_PREFIX], [ if test "${prefix}" = "NONE"; then prefix_default=yes if test x"${TCL_PREFIX}" != x; then AC_MSG_NOTICE([--prefix defaulting to TCL_PREFIX ${TCL_PREFIX}]) prefix=${TCL_PREFIX} else AC_MSG_NOTICE([--prefix defaulting to /usr/local]) prefix=/usr/local fi fi if test "${exec_prefix}" = "NONE" -a x"${prefix_default}" = x"yes" \ -o x"${exec_prefix_default}" = x"yes" ; then if test x"${TCL_EXEC_PREFIX}" != x; then AC_MSG_NOTICE([--exec-prefix defaulting to TCL_EXEC_PREFIX ${TCL_EXEC_PREFIX}]) exec_prefix=${TCL_EXEC_PREFIX} else AC_MSG_NOTICE([--exec-prefix defaulting to ${prefix}]) exec_prefix=$prefix fi fi ]) #------------------------------------------------------------------------ # TEA_SETUP_COMPILER_CC -- # # Do compiler checks the way we want. This is just a replacement # for AC_PROG_CC in TEA configure.in files to make them cleaner. # # Arguments: # none # # Results: # # Sets up CC var and other standard bits we need to make executables. #------------------------------------------------------------------------ AC_DEFUN([TEA_SETUP_COMPILER_CC], [ # Don't put any macros that use the compiler (e.g. AC_TRY_COMPILE) # in this macro, they need to go into TEA_SETUP_COMPILER instead. # If the user did not set CFLAGS, set it now to keep # the AC_PROG_CC macro from adding "-g -O2". if test "${CFLAGS+set}" != "set" ; then CFLAGS="" fi AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL #-------------------------------------------------------------------- # Checks to see if the make program sets the $MAKE variable. #-------------------------------------------------------------------- AC_PROG_MAKE_SET #-------------------------------------------------------------------- # Find ranlib #-------------------------------------------------------------------- AC_PROG_RANLIB #-------------------------------------------------------------------- # Determines the correct binary file extension (.o, .obj, .exe etc.) #-------------------------------------------------------------------- AC_OBJEXT AC_EXEEXT ]) #------------------------------------------------------------------------ # TEA_SETUP_COMPILER -- # # Do compiler checks that use the compiler. This must go after # TEA_SETUP_COMPILER_CC, which does the actual compiler check. # # Arguments: # none # # Results: # # Sets up CC var and other standard bits we need to make executables. #------------------------------------------------------------------------ AC_DEFUN([TEA_SETUP_COMPILER], [ # Any macros that use the compiler (e.g. AC_TRY_COMPILE) have to go here. AC_REQUIRE([TEA_SETUP_COMPILER_CC]) #------------------------------------------------------------------------ # If we're using GCC, see if the compiler understands -pipe. If so, use it. # It makes compiling go faster. (This is only a performance feature.) #------------------------------------------------------------------------ if test -z "$no_pipe" -a -n "$GCC"; then AC_CACHE_CHECK([if the compiler understands -pipe], tcl_cv_cc_pipe, [ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe" AC_TRY_COMPILE(,, tcl_cv_cc_pipe=yes, tcl_cv_cc_pipe=no) CFLAGS=$hold_cflags]) if test $tcl_cv_cc_pipe = yes; then CFLAGS="$CFLAGS -pipe" fi fi #-------------------------------------------------------------------- # Common compiler flag setup #-------------------------------------------------------------------- AC_C_BIGENDIAN if test "${TEA_PLATFORM}" = "unix" ; then TEA_TCL_LINK_LIBS TEA_MISSING_POSIX_HEADERS # Let the user call this, because if it triggers, they will # need a compat/strtod.c that is correct. Users can also # use Tcl_GetDouble(FromObj) instead. #TEA_BUGGY_STRTOD fi ]) #------------------------------------------------------------------------ # TEA_MAKE_LIB -- # # Generate a line that can be used to build a shared/unshared library # in a platform independent manner. # # Arguments: # none # # Requires: # # Results: # # Defines the following vars: # CFLAGS - Done late here to note disturb other AC macros # MAKE_LIB - Command to execute to build the Tcl library; # differs depending on whether or not Tcl is being # compiled as a shared library. # MAKE_SHARED_LIB Makefile rule for building a shared library # MAKE_STATIC_LIB Makefile rule for building a static library # MAKE_STUB_LIB Makefile rule for building a stub library #------------------------------------------------------------------------ AC_DEFUN([TEA_MAKE_LIB], [ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_OBJECTS)" MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LD_LIBS} \${LDFLAGS_DEFAULT} -out:\[$]@ \$(PKG_OBJECTS)" MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_STUB_OBJECTS)" else MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)" MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)" fi if test "${SHARED_BUILD}" = "1" ; then MAKE_LIB="${MAKE_SHARED_LIB} " else MAKE_LIB="${MAKE_STATIC_LIB} " fi #-------------------------------------------------------------------- # Shared libraries and static libraries have different names. # Use the double eval to make sure any variables in the suffix is # substituted. (@@@ Might not be necessary anymore) #-------------------------------------------------------------------- if test "${TEA_PLATFORM}" = "windows" ; then if test "${SHARED_BUILD}" = "1" ; then # We force the unresolved linking of symbols that are really in # the private libraries of Tcl and Tk. SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}`\"" if test x"${TK_BIN_DIR}" != x ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" fi eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" else eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build their own stubs libraries eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" if test "$GCC" = "yes"; then PKG_STUB_LIB_FILE=lib${PKG_STUB_LIB_FILE} fi # These aren't needed on Windows (either MSVC or gcc) RANLIB=: RANLIB_STUB=: else RANLIB_STUB="${RANLIB}" if test "${SHARED_BUILD}" = "1" ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}" if test x"${TK_BIN_DIR}" != x ; then SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" fi eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" RANLIB=: else eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build their own stubs libraries eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" fi # These are escaped so that only CFLAGS is picked up at configure time. # The other values will be substituted at make time. CFLAGS="${CFLAGS} \${CFLAGS_DEFAULT} \${CFLAGS_WARNING}" if test "${SHARED_BUILD}" = "1" ; then CFLAGS="${CFLAGS} \${SHLIB_CFLAGS}" fi AC_SUBST(MAKE_LIB) AC_SUBST(MAKE_SHARED_LIB) AC_SUBST(MAKE_STATIC_LIB) AC_SUBST(MAKE_STUB_LIB) AC_SUBST(RANLIB_STUB) ]) #------------------------------------------------------------------------ # TEA_LIB_SPEC -- # # Compute the name of an existing object library located in libdir # from the given base name and produce the appropriate linker flags. # # Arguments: # basename The base name of the library without version # numbers, extensions, or "lib" prefixes. # extra_dir Extra directory in which to search for the # library. This location is used first, then # $prefix/$exec-prefix, then some defaults. # # Requires: # TEA_INIT and TEA_PREFIX must be called first. # # Results: # # Defines the following vars: # ${basename}_LIB_NAME The computed library name. # ${basename}_LIB_SPEC The computed linker flags. #------------------------------------------------------------------------ AC_DEFUN([TEA_LIB_SPEC], [ AC_MSG_CHECKING([for $1 library]) # Look in exec-prefix for the library (defined by TEA_PREFIX). tea_lib_name_dir="${exec_prefix}/lib" # Or in a user-specified location. if test x"$2" != x ; then tea_extra_lib_dir=$2 else tea_extra_lib_dir=NONE fi for i in \ `ls -dr ${tea_extra_lib_dir}/$1[[0-9]]*.lib 2>/dev/null ` \ `ls -dr ${tea_extra_lib_dir}/lib$1[[0-9]]* 2>/dev/null ` \ `ls -dr ${tea_lib_name_dir}/$1[[0-9]]*.lib 2>/dev/null ` \ `ls -dr ${tea_lib_name_dir}/lib$1[[0-9]]* 2>/dev/null ` \ `ls -dr /usr/lib/$1[[0-9]]*.lib 2>/dev/null ` \ `ls -dr /usr/lib/lib$1[[0-9]]* 2>/dev/null ` \ `ls -dr /usr/local/lib/$1[[0-9]]*.lib 2>/dev/null ` \ `ls -dr /usr/local/lib/lib$1[[0-9]]* 2>/dev/null ` ; do if test -f "$i" ; then tea_lib_name_dir=`dirname $i` $1_LIB_NAME=`basename $i` $1_LIB_PATH_NAME=$i break fi done if test "${TEA_PLATFORM}" = "windows"; then $1_LIB_SPEC=\"`${CYGPATH} ${$1_LIB_PATH_NAME} 2>/dev/null`\" else # Strip off the leading "lib" and trailing ".a" or ".so" tea_lib_name_lib=`echo ${$1_LIB_NAME}|sed -e 's/^lib//' -e 's/\.[[^.]]*$//' -e 's/\.so.*//'` $1_LIB_SPEC="-L${tea_lib_name_dir} -l${tea_lib_name_lib}" fi if test "x${$1_LIB_NAME}" = x ; then AC_MSG_ERROR([not found]) else AC_MSG_RESULT([${$1_LIB_SPEC}]) fi ]) #------------------------------------------------------------------------ # TEA_PRIVATE_TCL_HEADERS -- # # Locate the private Tcl include files # # Arguments: # # Requires: # TCL_SRC_DIR Assumes that TEA_LOAD_TCLCONFIG has # already been called. # # Results: # # Substs the following vars: # TCL_TOP_DIR_NATIVE # TCL_GENERIC_DIR_NATIVE # TCL_UNIX_DIR_NATIVE # TCL_WIN_DIR_NATIVE # TCL_BMAP_DIR_NATIVE # TCL_TOOL_DIR_NATIVE # TCL_PLATFORM_DIR_NATIVE # TCL_BIN_DIR_NATIVE # TCL_INCLUDES #------------------------------------------------------------------------ AC_DEFUN([TEA_PRIVATE_TCL_HEADERS], [ AC_MSG_CHECKING([for Tcl private include files]) TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}` TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\" TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\" TCL_UNIX_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\" TCL_WIN_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\" TCL_BMAP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/bitmaps\" TCL_TOOL_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/tools\" TCL_COMPAT_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/compat\" if test "${TEA_PLATFORM}" = "windows"; then TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE} else TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE} fi # We want to ensure these are substituted so as not to require # any *_NATIVE vars be defined in the Makefile TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}" if test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use # the framework's Headers and PrivateHeaders directories case ${TCL_DEFS} in *TCL_FRAMEWORK*) if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"; else TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"; fi ;; esac else if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then AC_MSG_ERROR([Cannot find private header tclInt.h in ${TCL_SRC_DIR}]) fi fi AC_SUBST(TCL_TOP_DIR_NATIVE) AC_SUBST(TCL_GENERIC_DIR_NATIVE) AC_SUBST(TCL_UNIX_DIR_NATIVE) AC_SUBST(TCL_WIN_DIR_NATIVE) AC_SUBST(TCL_BMAP_DIR_NATIVE) AC_SUBST(TCL_TOOL_DIR_NATIVE) AC_SUBST(TCL_PLATFORM_DIR_NATIVE) AC_SUBST(TCL_INCLUDES) AC_MSG_RESULT([Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}]) ]) #------------------------------------------------------------------------ # TEA_PUBLIC_TCL_HEADERS -- # # Locate the installed public Tcl header files # # Arguments: # None. # # Requires: # CYGPATH must be set # # Results: # # Adds a --with-tclinclude switch to configure. # Result is cached. # # Substs the following vars: # TCL_INCLUDES #------------------------------------------------------------------------ AC_DEFUN([TEA_PUBLIC_TCL_HEADERS], [ AC_MSG_CHECKING([for Tcl public headers]) AC_ARG_WITH(tclinclude, [ --with-tclinclude directory containing the public Tcl header files], with_tclinclude=${withval}) AC_CACHE_VAL(ac_cv_c_tclh, [ # Use the value from --with-tclinclude, if it was given if test x"${with_tclinclude}" != x ; then if test -f "${with_tclinclude}/tcl.h" ; then ac_cv_c_tclh=${with_tclinclude} else AC_MSG_ERROR([${with_tclinclude} directory does not contain tcl.h]) fi else if test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use # the framework's Headers directory case ${TCL_DEFS} in *TCL_FRAMEWORK*) list="`ls -d ${TCL_BIN_DIR}/Headers 2>/dev/null`" ;; esac fi # Look in the source dir only if Tcl is not installed, # and in that situation, look there before installed locations. if test -f "${TCL_BIN_DIR}/Makefile" ; then list="$list `ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`" fi # Check order: pkg --prefix location, Tcl's --prefix location, # relative to directory of tclConfig.sh. eval "temp_includedir=${includedir}" list="$list \ `ls -d ${temp_includedir} 2>/dev/null` \ `ls -d ${TCL_PREFIX}/include 2>/dev/null` \ `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null`" if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then list="$list /usr/local/include /usr/include" if test x"${TCL_INCLUDE_SPEC}" != x ; then d=`echo "${TCL_INCLUDE_SPEC}" | sed -e 's/^-I//'` list="$list `ls -d ${d} 2>/dev/null`" fi fi for i in $list ; do if test -f "$i/tcl.h" ; then ac_cv_c_tclh=$i break fi done fi ]) # Print a message based on how we determined the include path if test x"${ac_cv_c_tclh}" = x ; then AC_MSG_ERROR([tcl.h not found. Please specify its location with --with-tclinclude]) else AC_MSG_RESULT([${ac_cv_c_tclh}]) fi # Convert to a native path and substitute into the output files. INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclh}` TCL_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" AC_SUBST(TCL_INCLUDES) ]) #------------------------------------------------------------------------ # TEA_PRIVATE_TK_HEADERS -- # # Locate the private Tk include files # # Arguments: # # Requires: # TK_SRC_DIR Assumes that TEA_LOAD_TKCONFIG has # already been called. # # Results: # # Substs the following vars: # TK_INCLUDES #------------------------------------------------------------------------ AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [ AC_MSG_CHECKING([for Tk private include files]) TK_SRC_DIR_NATIVE=`${CYGPATH} ${TK_SRC_DIR}` TK_TOP_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}\" TK_UNIX_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\" TK_WIN_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\" TK_GENERIC_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/generic\" TK_XLIB_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/xlib\" if test "${TEA_PLATFORM}" = "windows"; then TK_PLATFORM_DIR_NATIVE=${TK_WIN_DIR_NATIVE} else TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE} fi # We want to ensure these are substituted so as not to require # any *_NATIVE vars be defined in the Makefile TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}" # Detect and add ttk subdir if test -d ${TK_SRC_DIR_NATIVE}/generic/ttk; then TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/generic/ttk\"" fi if test "${TEA_WINDOWINGSYSTEM}" = "win32" \ -o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then TK_INCLUDES="${TK_INCLUDES} -I${TK_XLIB_DIR_NATIVE}" fi if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then TK_INCLUDES="${TK_INCLUDES} -I${TK_SRC_DIR_NATIVE}/macosx" fi if test "`uname -s`" = "Darwin"; then # If Tk was built as a framework, attempt to use # the framework's Headers and PrivateHeaders directories case ${TK_DEFS} in *TK_FRAMEWORK*) if test -d "${TK_BIN_DIR}/Headers" -a -d "${TK_BIN_DIR}/PrivateHeaders"; then TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"; fi ;; esac else if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then AC_MSG_ERROR([Cannot find private header tkInt.h in ${TK_SRC_DIR}]) fi fi AC_SUBST(TK_TOP_DIR_NATIVE) AC_SUBST(TK_UNIX_DIR_NATIVE) AC_SUBST(TK_WIN_DIR_NATIVE) AC_SUBST(TK_GENERIC_DIR_NATIVE) AC_SUBST(TK_XLIB_DIR_NATIVE) AC_SUBST(TK_PLATFORM_DIR_NATIVE) AC_SUBST(TK_INCLUDES) AC_MSG_RESULT([Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}]) ]) #------------------------------------------------------------------------ # TEA_PUBLIC_TK_HEADERS -- # # Locate the installed public Tk header files # # Arguments: # None. # # Requires: # CYGPATH must be set # # Results: # # Adds a --with-tkinclude switch to configure. # Result is cached. # # Substs the following vars: # TK_INCLUDES #------------------------------------------------------------------------ AC_DEFUN([TEA_PUBLIC_TK_HEADERS], [ AC_MSG_CHECKING([for Tk public headers]) AC_ARG_WITH(tkinclude, [ --with-tkinclude directory containing the public Tk header files], with_tkinclude=${withval}) AC_CACHE_VAL(ac_cv_c_tkh, [ # Use the value from --with-tkinclude, if it was given if test x"${with_tkinclude}" != x ; then if test -f "${with_tkinclude}/tk.h" ; then ac_cv_c_tkh=${with_tkinclude} else AC_MSG_ERROR([${with_tkinclude} directory does not contain tk.h]) fi else if test "`uname -s`" = "Darwin"; then # If Tk was built as a framework, attempt to use # the framework's Headers directory. case ${TK_DEFS} in *TK_FRAMEWORK*) list="`ls -d ${TK_BIN_DIR}/Headers 2>/dev/null`" ;; esac fi # Look in the source dir only if Tk is not installed, # and in that situation, look there before installed locations. if test -f "${TK_BIN_DIR}/Makefile" ; then list="$list `ls -d ${TK_SRC_DIR}/generic 2>/dev/null`" fi # Check order: pkg --prefix location, Tk's --prefix location, # relative to directory of tkConfig.sh, Tcl's --prefix location, # relative to directory of tclConfig.sh. eval "temp_includedir=${includedir}" list="$list \ `ls -d ${temp_includedir} 2>/dev/null` \ `ls -d ${TK_PREFIX}/include 2>/dev/null` \ `ls -d ${TK_BIN_DIR}/../include 2>/dev/null` \ `ls -d ${TCL_PREFIX}/include 2>/dev/null` \ `ls -d ${TCL_BIN_DIR}/../include 2>/dev/null`" if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then list="$list /usr/local/include /usr/include" fi for i in $list ; do if test -f "$i/tk.h" ; then ac_cv_c_tkh=$i break fi done fi ]) # Print a message based on how we determined the include path if test x"${ac_cv_c_tkh}" = x ; then AC_MSG_ERROR([tk.h not found. Please specify its location with --with-tkinclude]) else AC_MSG_RESULT([${ac_cv_c_tkh}]) fi # Convert to a native path and substitute into the output files. INCLUDE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tkh}` TK_INCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" AC_SUBST(TK_INCLUDES) if test "${TEA_WINDOWINGSYSTEM}" = "win32" \ -o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then # On Windows and Aqua, we need the X compat headers AC_MSG_CHECKING([for X11 header files]) if test ! -r "${INCLUDE_DIR_NATIVE}/X11/Xlib.h"; then INCLUDE_DIR_NATIVE="`${CYGPATH} ${TK_SRC_DIR}/xlib`" TK_XINCLUDES=-I\"${INCLUDE_DIR_NATIVE}\" AC_SUBST(TK_XINCLUDES) fi AC_MSG_RESULT([${INCLUDE_DIR_NATIVE}]) fi ]) #------------------------------------------------------------------------ # TEA_PATH_CONFIG -- # # Locate the ${1}Config.sh file and perform a sanity check on # the ${1} compile flags. These are used by packages like # [incr Tk] that load *Config.sh files from more than Tcl and Tk. # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --with-$1=... # # Defines the following vars: # $1_BIN_DIR Full path to the directory containing # the $1Config.sh file #------------------------------------------------------------------------ AC_DEFUN([TEA_PATH_CONFIG], [ # # Ok, lets find the $1 configuration # First, look for one uninstalled. # the alternative search directory is invoked by --with-$1 # if test x"${no_$1}" = x ; then # we reset no_$1 in case something fails here no_$1=true AC_ARG_WITH($1, [ --with-$1 directory containing $1 configuration ($1Config.sh)], with_$1config=${withval}) AC_MSG_CHECKING([for $1 configuration]) AC_CACHE_VAL(ac_cv_c_$1config,[ # First check to see if --with-$1 was specified. if test x"${with_$1config}" != x ; then case ${with_$1config} in */$1Config.sh ) if test -f ${with_$1config}; then AC_MSG_WARN([--with-$1 argument should refer to directory containing $1Config.sh, not to $1Config.sh itself]) with_$1config=`echo ${with_$1config} | sed 's!/$1Config\.sh$!!'` fi;; esac if test -f "${with_$1config}/$1Config.sh" ; then ac_cv_c_$1config=`(cd ${with_$1config}; pwd)` else AC_MSG_ERROR([${with_$1config} directory doesn't contain $1Config.sh]) fi fi # then check for a private $1 installation if test x"${ac_cv_c_$1config}" = x ; then for i in \ ../$1 \ `ls -dr ../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ `ls -dr ../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ `ls -dr ../$1*[[0-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ../../$1 \ `ls -dr ../../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ `ls -dr ../../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ `ls -dr ../../$1*[[0-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ../../../$1 \ `ls -dr ../../../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ `ls -dr ../../../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ `ls -dr ../../../$1*[[0-9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ${srcdir}/../$1 \ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]]*.[[0-9]]* 2>/dev/null` \ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]][[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../$1*[[0-9]].[[0-9]]* 2>/dev/null` \ ; do if test -f "$i/$1Config.sh" ; then ac_cv_c_$1config=`(cd $i; pwd)` break fi if test -f "$i/unix/$1Config.sh" ; then ac_cv_c_$1config=`(cd $i/unix; pwd)` break fi done fi # check in a few common install locations if test x"${ac_cv_c_$1config}" = x ; then for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ ; do if test -f "$i/$1Config.sh" ; then ac_cv_c_$1config=`(cd $i; pwd)` break fi done fi ]) if test x"${ac_cv_c_$1config}" = x ; then $1_BIN_DIR="# no $1 configs found" AC_MSG_WARN([Cannot find $1 configuration definitions]) exit 0 else no_$1= $1_BIN_DIR=${ac_cv_c_$1config} AC_MSG_RESULT([found $$1_BIN_DIR/$1Config.sh]) fi fi ]) #------------------------------------------------------------------------ # TEA_LOAD_CONFIG -- # # Load the $1Config.sh file # # Arguments: # # Requires the following vars to be set: # $1_BIN_DIR # # Results: # # Subst the following vars: # $1_SRC_DIR # $1_LIB_FILE # $1_LIB_SPEC # #------------------------------------------------------------------------ AC_DEFUN([TEA_LOAD_CONFIG], [ AC_MSG_CHECKING([for existence of ${$1_BIN_DIR}/$1Config.sh]) if test -f "${$1_BIN_DIR}/$1Config.sh" ; then AC_MSG_RESULT([loading]) . "${$1_BIN_DIR}/$1Config.sh" else AC_MSG_RESULT([file not found]) fi # # If the $1_BIN_DIR is the build directory (not the install directory), # then set the common variable name to the value of the build variables. # For example, the variable $1_LIB_SPEC will be set to the value # of $1_BUILD_LIB_SPEC. An extension should make use of $1_LIB_SPEC # instead of $1_BUILD_LIB_SPEC since it will work with both an # installed and uninstalled version of Tcl. # if test -f "${$1_BIN_DIR}/Makefile" ; then AC_MSG_WARN([Found Makefile - using build library specs for $1]) $1_LIB_SPEC=${$1_BUILD_LIB_SPEC} $1_STUB_LIB_SPEC=${$1_BUILD_STUB_LIB_SPEC} $1_STUB_LIB_PATH=${$1_BUILD_STUB_LIB_PATH} fi AC_SUBST($1_VERSION) AC_SUBST($1_BIN_DIR) AC_SUBST($1_SRC_DIR) AC_SUBST($1_LIB_FILE) AC_SUBST($1_LIB_SPEC) AC_SUBST($1_STUB_LIB_FILE) AC_SUBST($1_STUB_LIB_SPEC) AC_SUBST($1_STUB_LIB_PATH) ]) #------------------------------------------------------------------------ # TEA_PATH_CELIB -- # # Locate Keuchel's celib emulation layer for targeting Win/CE # # Arguments: # none # # Results: # # Adds the following arguments to configure: # --with-celib=... # # Defines the following vars: # CELIB_DIR Full path to the directory containing # the include and platform lib files #------------------------------------------------------------------------ AC_DEFUN([TEA_PATH_CELIB], [ # First, look for one uninstalled. # the alternative search directory is invoked by --with-celib if test x"${no_celib}" = x ; then # we reset no_celib in case something fails here no_celib=true AC_ARG_WITH(celib,[ --with-celib=DIR use Windows/CE support library from DIR], with_celibconfig=${withval}) AC_MSG_CHECKING([for Windows/CE celib directory]) AC_CACHE_VAL(ac_cv_c_celibconfig,[ # First check to see if --with-celibconfig was specified. if test x"${with_celibconfig}" != x ; then if test -d "${with_celibconfig}/inc" ; then ac_cv_c_celibconfig=`(cd ${with_celibconfig}; pwd)` else AC_MSG_ERROR([${with_celibconfig} directory doesn't contain inc directory]) fi fi # then check for a celib library if test x"${ac_cv_c_celibconfig}" = x ; then for i in \ ../celib-palm-3.0 \ ../celib \ ../../celib-palm-3.0 \ ../../celib \ `ls -dr ../celib-*3.[[0-9]]* 2>/dev/null` \ ${srcdir}/../celib-palm-3.0 \ ${srcdir}/../celib \ `ls -dr ${srcdir}/../celib-*3.[[0-9]]* 2>/dev/null` \ ; do if test -d "$i/inc" ; then ac_cv_c_celibconfig=`(cd $i; pwd)` break fi done fi ]) if test x"${ac_cv_c_celibconfig}" = x ; then AC_MSG_ERROR([Cannot find celib support library directory]) else no_celib= CELIB_DIR=${ac_cv_c_celibconfig} CELIB_DIR=`echo "$CELIB_DIR" | sed -e 's!\\\!/!g'` AC_MSG_RESULT([found $CELIB_DIR]) fi fi ]) # Local Variables: # mode: autoconf # End: flightaware-Pgtcl-8d02566/tests/000077500000000000000000000000001203531660700165035ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/tests/README000066400000000000000000000024471203531660700173720ustar00rootroot00000000000000 $Id$ This is the start of a tests directory. Right now you can start up a default database, like one owned by you, and use psql psql karl=# \i create.sql You can time importing the 5,000 sample data items by doing a time tclsh8.4 import_sampledata.tcl You can time importing the 5,000 sample data items via a prepared statement using time tclsh8.4 import_sampledata_prepared.tcl You can time importing the 5,000 sample data items as one single transaction using time tclsh8.4 import_sampledata_onetransaction.tcl You can time importing the 5,000 sample data items as single transaction but using a pre-prepared statement using time tclsh8.4 import_sampledata_prepared_onetransaction.tcl You will see that batching lots of inserts into a single transaction is much faster, and although even batching prepared statements as a single transaction is much faster than separate transactions, its still slower than import_sampledata_onetransaction, since it communicates each insert separately to the server. The trouble with doing tons of inserts as one transaction is that any error in any insert will abort the entire transaction. Postgres 8 is supposed to have powerful new capabilities to handle errors in the middle of a transaction without aborting the transaction. The data set is in sampledata.txt. flightaware-Pgtcl-8d02566/tests/conninfo.tcl000066400000000000000000000001761203531660700210240ustar00rootroot00000000000000# # set this to your specific location # array set conninfo { port 5747 dbname template1 user postgres } flightaware-Pgtcl-8d02566/tests/create.sql000066400000000000000000000003001203531660700204600ustar00rootroot00000000000000-- -- test table pgtest_people -- -- $Id$ -- create table pgtest_people ( email varchar, name varchar, address varchar, city varchar, state varchar, zip varchar ); flightaware-Pgtcl-8d02566/tests/import_sampledata.tcl000066400000000000000000000015451203531660700227210ustar00rootroot00000000000000# # program to insert the sampledata.txt data set into pgtest_people # # $Id$ # package require Pgtcl if {[file exists conninfo.tcl]} { source conninfo.tcl } proc doit {} { set fp [open sampledata.txt] if {[info exists ::conninfo]} { set conn [pg_connect -connlist [array get ::conninfo]] } else { set conn [pg_connect -conninfo ""] } while {[gets $fp line] >= 0} { set statement "insert into pgtest_people values ([pg_quote [lindex $line 0]], [pg_quote [lindex $line 1]], [pg_quote [lindex $line 2]], [pg_quote [lindex $line 3]], [pg_quote [lindex $line 4]], [pg_quote [lindex $line 5]]);" set result [pg_exec $conn $statement] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] executing '$statement'" } pg_result $result -clear } } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/tests/import_sampledata_connobj.tcl000066400000000000000000000016041203531660700244250ustar00rootroot00000000000000# # program to insert the sampledata.txt data set into pgtest_people # using the new-fangled connection and result objects # # $Id$ # package require Pgtcl if {[file exists conninfo.tcl]} { source conninfo.tcl } proc doit {} { set fp [open sampledata.txt] if {[info exists ::conninfo]} { set conn [pg_connect -connlist [array get ::conninfo]] } else { set conn [pg_connect -conninfo ""] } while {[gets $fp line] >= 0} { set statement "insert into pgtest_people values ([pg_quote [lindex $line 0]], [pg_quote [lindex $line 1]], [pg_quote [lindex $line 2]], [pg_quote [lindex $line 3]], [pg_quote [lindex $line 4]], [pg_quote [lindex $line 5]]);" set result [$conn exec $statement] if {[$result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] executing '$statement'" } $result -clear } } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/tests/import_sampledata_onetransaction.tcl000066400000000000000000000017001203531660700260210ustar00rootroot00000000000000# # program to insert the sampledata.txt data set into pgtest_people # in one single transaction # # $Id$ # package require Pgtcl if {[file exists conninfo.tcl]} { source conninfo.tcl } proc doit {} { set fp [open sampledata.txt] if {[info exists ::conninfo]} { set conn [pg_connect -connlist [array get ::conninfo]] } else { set conn [pg_connect -conninfo ""] } set statement "begin; " while {[gets $fp line] >= 0} { append statement "insert into pgtest_people values ([pg_quote [lindex $line 0]], [pg_quote [lindex $line 1]], [pg_quote [lindex $line 2]], [pg_quote [lindex $line 3]], [pg_quote [lindex $line 4]], [pg_quote [lindex $line 5]]); " } append statement "end;" set result [pg_exec $conn $statement] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] executing '$statement'" } pg_result $result -clear } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/tests/import_sampledata_prepared.tcl000066400000000000000000000021151203531660700245750ustar00rootroot00000000000000# # program to insert the sampledata.txt data set into pgtest_people # using a prepared statement. # # $Id$ # package require Pgtcl if {[file exists conninfo.tcl]} { source conninfo.tcl } proc doit {} { set fp [open sampledata.txt] if {[info exists ::conninfo]} { set conn [pg_connect -connlist [array get ::conninfo]] } else { set conn [pg_connect -conninfo ""] } set result [pg_exec $conn {prepare pgtest_insert_people (varchar, varchar, varchar, varchar, varchar, varchar) as insert into pgtest_people values ($1, $2, $3, $4, $5, $6);}] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] preparing statement" exit 1 } while {[gets $fp line] >= 0} { set result [pg_exec_prepared $conn pgtest_insert_people [lindex $line 0] [lindex $line 1] [lindex $line 2] [lindex $line 3] [lindex $line 4] [lindex $line 5]] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] inserting '$line'" } pg_result $result -clear } } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/tests/import_sampledata_prepared_onetransaction.tcl000066400000000000000000000027211203531660700277070ustar00rootroot00000000000000# # program to insert the sampledata.txt data set into pgtest_people # using a prepared statement. # # $Id$ # package require Pgtcl if {[file exists conninfo.tcl]} { source conninfo.tcl } proc doit {} { set fp [open sampledata.txt] if {[info exists ::conninfo]} { set conn [pg_connect -connlist [array get ::conninfo]] } else { set conn [pg_connect -conninfo ""] } set result [pg_exec $conn {begin}] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] starting the transaction" } pg_result $result -clear set result [pg_exec $conn {prepare pgtest_insert_people (varchar, varchar, varchar, varchar, varchar, varchar) as insert into pgtest_people values ($1, $2, $3, $4, $5, $6);}] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] preparing statement" exit 1 } while {[gets $fp line] >= 0} { set result [pg_exec_prepared $conn pgtest_insert_people [lindex $line 0] [lindex $line 1] [lindex $line 2] [lindex $line 3] [lindex $line 4] [lindex $line 5]] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] inserting '$line'" } pg_result $result -clear } set result [pg_exec $conn {commit}] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { puts "[pg_result $result -error] committing" } pg_result $result -clear } if !$tcl_interactive doit flightaware-Pgtcl-8d02566/tests/pgtcl.test000066400000000000000000000422011203531660700205140ustar00rootroot00000000000000if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 namespace import -force ::tcltest::* } #tcltest::verbose 100 #tcltest::debug 100 set flist [glob -nocomplain -dir .. libpgtcl*[info sharedlibextension]] set flist [concat $flist [glob -nocomplain libpgtcl*[info sharedlibextension]]] if {[llength $flist] == 0} { puts "\nCan not find a shared lib file\n" exit } load [lindex $flist end] # # set this to your specific location # array set conninfo { host localhost port 5843 dbname template1 user postgres } if {[file exists [file join $env(HOME) .conninfo.tcl]]} { source [file join $env(HOME) .conninfo.tcl] } # # # test pgtcl-1.1 {connect to db using old connection string} -body { set conn [pg_connect $::conninfo(dbname) \ -connhandle pgsql3 \ -host $::conninfo(host) \ -port $::conninfo(port) \ -user $::conninfo(user)] pg_disconnect $conn set conn } -result pgsql3 # # # test pgtcl-1.2 {connect to db using conninfo string} -body { set conn [pg_connect -connhandle pgsql3 -conninfo \ "dbname=$::conninfo(dbname) host=$::conninfo(host) port=$::conninfo(port) user=$::conninfo(user)"] pg_disconnect $conn set conn } -result pgsql3 # # # test pgtcl-1.3 {connect to db using connlist option} -body { set conn [pg::connect -connhandle pgsql3 -connlist [array get ::conninfo]] pg_disconnect $conn set conn } -result pgsql3 # # # test pgtcl-1.4 {connect to db using -connhandle option} -body { set conn [pg::connect -connlist [array get ::conninfo] -connhandle myhan] pg_disconnect $conn set conn } -result myhan # # # test pgtcl-2.1 {use connection as command} -body { set conn [pg::connect -connlist [array get ::conninfo] -connhandle myhan] set res [myhan exec "SELECT * FROM Pg_class LIMIT 5"] pg_result $res -clear pg_disconnect $conn set res } -result myhan.0 # # # test pgtcl-3.1 {test getting connection handles} -body { set cnt 3 foreach C [list 1 2 3] { set myconn($C) [pg::connect -connlist [array get ::conninfo] -connhandle pgsql$cnt] incr cnt } #set conns [lsort [pg::dbinfo]] set conns [lsort [pg::dbinfo connections]] foreach C [list 1 2 3] { pg::disconnect $myconn($C) } set conns } -result [lsort [list pgsql3 pgsql4 pgsql5]] # # # test pgtcl-3.2 {test getting connection handles, after disconnect} -body { set cnt 3 foreach C [list 1 2 3] { set myconn($C) [pg::connect -connlist [array get ::conninfo] -connhandle pgsql$cnt] incr cnt } foreach C [list 1 2 3] { pg::disconnect $myconn($C) } #pg::conninfo pg::dbinfo connections } -result [list] # # # test pgtcl-3.3 {test renaming of connection handle command} -body { set conn [pg::connect -connlist [array get ::conninfo] -connhandle pgsql3] rename $conn MYCONN set res [MYCONN exec "SELECT * FROM Pg_class LIMIT 5"] pg_result $res -clear pg_disconnect $conn set res } -result pgsql3.0 # # # test pgtcl-3.4 {test deleting of a command handle} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT * FROM Pg_class WHERE relname='tables'"] pg::result $res -clear rename $conn {} #pg::conninfo pg::dbinfo connections } -result [list] # # test pgtcl-4.1 {get result handles} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo] -connhandle pgsql9] foreach R [list 1 2 3 4] { set res($R) [$conn exec "SELECT * FROM Pg_class LIMIT $R"] } #set results [lsort [pg::results $conn]] set results [lsort [pg::dbinfo results $conn]] foreach R [list 1 2 3 4] { pg_result $res($R) -clear } pg_disconnect $conn set results } -result [lsort [list pgsql9.0 pgsql9.1 pgsql9.2 pgsql9.3]] # ## # test pgtcl-4.2 {test using result handle command} -body { catch {unset res} set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT * FROM Pg_class LIMIT 1"] set num [$res -numTuples] $res -clear pg_disconnect $conn set num } -result 1 # # # test pgtcl-4.3 {test deleting of a result handle} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT * FROM Pg_class WHERE relname='tables'"] rename $res {} #pg::result $res -clear pg::dbinfo results $conn } -result [list] ## only check if have dicts installed if {[llength [info commands dict]] == 1} { # # # test pgtcl-4.4 {get results as a DICT} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT * FROM Pg_class WHERE relname='pg_tables'"] set results [pg::result $res -dict] pg_result $res -clear pg_disconnect $conn dict get $results 0 relname } -result pg_tables } test pgtcl-4.5 {get results as a list} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT relname FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 5"] set results [pg::result $res -list] pg_result $res -clear pg_disconnect $conn lsort $results } -result [list pg_aggregate pg_aggregate_fnoid_index pg_am pg_am_name_index pg_am_oid_index] # # # test pgtcl-4.6 {get results as a list of lists} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 3"] set results [pg::result $res -llist] pg_result $res -clear pg_disconnect $conn lsort $results } -result [list [list pg_aggregate r] [list pg_aggregate_fnoid_index i] [list pg_am r]] # # # test pgtcl-4.7 {get results an array with -assign} -body { unset -nocomplain res ARR set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] pg::result $res -assign ARR pg_result $res -clear pg_disconnect $conn lsort [array get ARR] } -result [lsort [list 0,relname pg_aggregate 0,relkind r]] # # # test pgtcl-4.8 {get results an array with -assignbyidx} -body { unset -nocomplain ARR res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT oid, relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] pg::result $res -assignbyidx ARR pg_result $res -clear pg_disconnect $conn lsort [array get ARR] } -result [lsort [list 2600,relname pg_aggregate 2600,relkind r]] # # # test pgtcl-4.9 {get results an array with -assignbyidx with appendstr} -body { unset -nocomplain ARR res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT '0', relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] pg::result $res -assignbyidx ARR X pg_result $res -clear pg_disconnect $conn lsort [array get ARR] } -result [lsort [list 0,relnameX pg_aggregate 0,relkindX r]] # # # test pgtcl-4.10 {test pg_result -numAttrs} -body { unset -nocomplain res num set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT oid, relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] set num [pg::result $res -numAttrs] pg_result $res -clear pg_disconnect $conn set num } -result 3 # # # test pgtcl-4.11 {test pg_result -numTuples} -body { unset -nocomplain res num set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT oid, relname, relkind FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 10"] set num [pg::result $res -numTuples] pg_result $res -clear pg_disconnect $conn set num } -result 10 # # # test pgtcl-4.12 {test pg_result -status} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 1 FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] set stat [pg::result $res -status] pg_result $res -clear pg_disconnect $conn set stat } -result "PGRES_TUPLES_OK" # # # test pgtcl-4.13 {test pg_result -error} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 1 FROM Pg_junk"] set stat [string match "*does not exist*" [pg::result $res -error]] pg_result $res -clear pg_disconnect $conn set stat } -result 1 # # # test pgtcl-4.14 {test pg_result -conn} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo] -connhandle PGTEST] set res [$conn exec "SELECT 1 FROM Pg_class"] set stat [pg_result $res -conn] pg_result $res -clear pg_disconnect $conn set stat } -result PGTEST # # # test pgtcl-4.15 {test pg_result -getTuple} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 'one', 'two' FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] set stat [pg_result $res -getTuple 0] pg_result $res -clear pg_disconnect $conn set stat } -result [list one two] # # # test pgtcl-4.16 {test pg_result -typleArray} -body { unset -nocomplain res ARR set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 'one' AS col1, 'two' AS col2 FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] pg_result $res -tupleArray 0 ARR pg_result $res -clear pg_disconnect $conn lsort [array get ARR] } -result [lsort [list col1 one col2 two]] # # # test pgtcl-4.17 {test pg_result -attributes} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 'one' AS col1, 'two' AS col2 FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] set stat [pg_result $res -attributes] pg_result $res -clear pg_disconnect $conn lsort $stat } -result [lsort [list col1 col2]] # # # test pgtcl-4.18 {test pg_result -lAttributes} -body { unset -nocomplain res stat set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec "SELECT 'one' AS col1, 'two' AS col2 FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT 1"] set stat [pg_result $res -lAttributes] pg_result $res -clear pg_disconnect $conn set stat } -result [list [list col1 705 -2] [list col2 705 -2]] # # # test pgtcl-5.1 {quote a string} -body { set qstr [pg::quote "o'reilly"] set qstr } -result 'o''reilly' # # # test pgtcl-5.2 {escape a binary string} -body { set bn [binary format a* \000\\HELLO's] set qstr [pg::escape_bytea $bn] set qstr } -result \\\\000\\\\\\\\HELLO''s # # # test pgtcl-5.3 {unescape a binary string} -body { set bn [binary format a* \000\\HELLO's] set qstr [pg::unescape_bytea "\\\\000\\\\\\\\HELLO\\'s"] set qstr } -result [binary format a* \\000\\\\HELLO\'s] # # # test pgtcl-6.1 {using pg_exec with params} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec {SELECT relname FROM Pg_class WHERE relname LIKE $1 ORDER BY relname LIMIT $2} "pg_%" 5] set results [pg::result $res -list] pg_result $res -clear pg_disconnect $conn lsort $results } -result [list pg_aggregate pg_aggregate_fnoid_index pg_am pg_am_name_index pg_am_oid_index] # # # test pgtcl-6.2 {using pg_exec_prepared with params} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set res [$conn exec {PREPARE test_prepare (integer) AS SELECT relname FROM Pg_class WHERE relname LIKE 'pg_%' ORDER BY relname LIMIT $1}] set res [pg::exec_prepared $conn test_prepare 5] set results [pg::result $res -list] if {[$res -status] != "PGRES_TUPLES_OK"} { puts "[$res -status] [pg::result $res -error] during select" } pg_result $res -clear pg_disconnect $conn lsort $results } -result [list pg_aggregate pg_aggregate_fnoid_index pg_am pg_am_name_index pg_am_oid_index] # # # test pgtcl-7.1 {using pg_select} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] pg::select $conn "SELECT relname FROM Pg_class LIMIT 5" resultArr { set headers $resultArr(.headers) set numcols $resultArr(.numcols) set tupno $resultArr(.tupno) lappend names $resultArr(relname) } rename $conn {} llength $names } -result 5 # # # test pgtcl-8.1 {using pg_execute} -body { unset -nocomplain res names set conn [pg::connect -connlist [array get ::conninfo]] set names [list] pg::execute -array resultArr $conn "SELECT relname FROM Pg_class LIMIT 5" { lappend names $resultArr(relname) } rename $conn {} llength $names } -result 5 # # # test pgtcl-8.2 {using connection command handle for pg_execute, no options} -body { unset -nocomplain res names set conn [pg::connect -connlist [array get ::conninfo]] $conn execute -array resultArr "SELECT relname FROM Pg_class LIMIT 5" { lappend ::names $resultArr(relname) } rename $conn {} llength $::names } -result 5 # # # test pgtcl-8.3 {using connection command handle for pg_execute, -array option} -body { unset -nocomplain res names set conn [pg::connect -connlist [array get ::conninfo]] $conn execute -array resultArr -oid OID "SELECT relname FROM Pg_class LIMIT 5" { lappend ::names $resultArr(relname) } rename $conn {} llength $::names } -result 5 # # # test pgtcl-9.1 {dbinfo version} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set val [pg::dbinfo version $conn] set val2 [$conn version] lappend res [string equal $val $val2] ::pg::disconnect $conn lappend res [regexp {(7|8)0([0-9])0([0-9])} $val] } -result [list 1 1] # # # test pgtcl-9.2 {dbinfo protocol} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set val [pg::dbinfo protocol $conn] set val2 [$conn protocol] lappend res [string equal $val $val2] ::pg::disconnect $conn lappend res [regexp {2|3} $val] } -result [list 1 1] # # # test pgtcl-9.3 {dbinfo param} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set val [pg::dbinfo param $conn server_version] set val2 [$conn param server_version] lappend res [string equal $val $val2] ::pg::disconnect $conn lappend res [regexp {(7|8)\.([0-9])\.([0-9])} $val] } -result [list 1 1] # # # test pgtcl-9.4 {dbinfo backend pid} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set val [pg::dbinfo backendpid $conn] set val2 [$conn backendpid] lappend res [string equal $val $val2] ::pg::disconnect $conn lappend res [regexp {^[0-9]{2,6}$} $val] } -result [list 1 1] # # # test pgtcl-9.5 {dbinfo socket} -body { unset -nocomplain res set conn [pg::connect -connlist [array get ::conninfo]] set val [pg::dbinfo socket $conn] set val2 [$conn socket] lappend res [string equal $val $val2] ::pg::disconnect $conn lappend res [regexp {^[0-9]{1,6}$} $val] } -result [list 1 1] flightaware-Pgtcl-8d02566/tests/sampledata.txt000066400000000000000000014244021203531660700213660ustar00rootroot00000000000000betty@noway1234.com {Betty Robinson} {2387 Amherst Court} Newcastle TX 77473 joe@noway1234.com {Joe Kroeze} {908 Byron Drive} Amarillo TX 77411 elton@noway1234.com {Elton Peterson} {5447 Capstan Drive} Ketherine TX 77110 schmidt@noway1234.com {Betty Schmidt} {6015 Greece Circle} {Broken Hill} TX 77802 orvin@noway1234.com {Orvin Brockman} {11288 Iona Circle} Star TX 77217 everett@noway1234.com {Everett Kreiling} {2784 Chelea Street} Hamilton TX 77168 orian@noway1234.com {Orian Goracke} {622 Rhyner Court} {Coffs Harbour} TX 77733 irvin@noway1234.com {Irvin Hansel} {2761 East 95th Avenue} Austin TX 77050 paul@noway1234.com {Paul Carmine} {9159 Trisha Avenue} Cairns TX 77229 mullins@noway1234.com {Mullins Wachosky} {3193 West 78th Avenue} Cairns TX 77589 amanda@noway1234.com {Amanda Witte} {4273 Fesler Road} Ketherine TX 77159 jenevieve@noway1234.com {Jenevieve Grof} {3052 Marlowe Avenue} Bendigo TX 77213 boyd@noway1234.com {Boyd Hinkle} {2711 Bootlegger Cove Drive} {Broken Hill} TX 77116 jo@noway1234.com {Jo Dwinell} {1526 Lahonda Drive} Katy TX 77268 lewis@noway1234.com {Lewis Jewell} {8000 Stargazer Circle} {Port Hedland} TX 77816 j_r@noway1234.com {J.R. Packett} {8177 Lloyd Drive} {Mount Isa} TX 77087 hazelton@noway1234.com {Hazelton Gottula} {7950 Pullen Circle} Sunnyville TX 77871 tate@noway1234.com {Tate Nielsen} {3096 Wellington Court} Brookshire TX 77082 vera@noway1234.com {Vera Wilhelm} {9028 Temple Circle} Albany TX 77610 loring@noway1234.com {Loring Urich} {1917 Round Tree Circle} Pattison TX 77363 martha@noway1234.com {Martha Michl} {7916 Craig Creek Circle} Nacogdoches TX 77982 aubry@noway1234.com {Aubry Lyons} {69 Sambar Loop} Launceston TX 77371 lou@noway1234.com {Lou Mahoney} {9587 Reka Drive} {Tennant Creek} TX 77616 laxton@noway1234.com {Laxton Brommer} {4785 Westland Circle} Katy TX 77455 bulah@noway1234.com {Bulah Reinhardt} {9130 Northrup Circle} Queenstown TX 77791 sand@noway1234.com {Betty Sand} {10133 Evenson Court} Centerville TX 77222 clayton@noway1234.com {Clayton Rubin} {4401 Mountain Lake Circle} Tamworth TX 77235 holcomb@noway1234.com {Holcomb Rulla} {4176 Grizzly Avenue} Adelaide TX 77661 anna@noway1234.com {Anna Rubin} {10740 Polaris Way} Cairns TX 77118 penny@noway1234.com {Penny Malone} {8115 Ahtena Circle} Austin TX 77456 j_v@noway1234.com {J.V. Lewis} {10289 Kitlina Circle} Katy TX 77748 evert@noway1234.com {Evert Wachosky} {3437 Strathmore Drive} Queenstown TX 77712 katie@noway1234.com {Katie Mahar} {6559 Eshamy Bay Drive} Waco TX 77508 b@noway1234.com {B. Mccoy} {4687 Delong Landing Circle} Adelaide TX 77910 glen@noway1234.com {Glen Zillig} {916 Shelter Rock Circle} Queenstown TX 77558 linda@noway1234.com {Linda Walters} {10127 Sunshine Loop} {Port Augusta} TX 77515 babe@noway1234.com { Babe Sherman} {10748 Honey Bear Circle} Centerville TX 77705 howard@noway1234.com {Howard Feese} {5596 Folker Circle} Bathurst TX 77483 jeanette@noway1234.com {Jeanette Xayaphonesongkham} {5071 Andre'e Drive} Amarillo TX 77070 edwin@noway1234.com {Edwin McDonald} {8466 Mount Kiliak Circle} Katy TX 77791 carol@noway1234.com {Carol Buethe} {1620 Hocker Place} Mildura TX 77563 mable@noway1234.com {Mable Schermbeck} {5353 Tayshee Circle} Albany TX 77337 mack@noway1234.com {Mack Bohling} {6551 Baywind Circle} {Mount Isa} TX 77455 boggs@noway1234.com {Boggs Hahn} {1036 Greenbrook Drive} {Alice Springs} TX 77747 lucille@noway1234.com {Lucille Johnson} {8519 Majestic Court} Centerville TX 77628 ona@noway1234.com {Ona Sterlin} {8050 Icefall Place} Pattison TX 77036 tootsie@noway1234.com {Tootsie Fisher} {1393 Doncaster Drive} Katy TX 77546 popcorn@noway1234.com {Popcorn Hays} {5245 Elkhorn Drive} Rockhampton TX 77667 beam@noway1234.com {Beam Rau} {1822 Gardner Street} Austin TX 77011 white@noway1234.com {White Staley} {7686 Alpha Circle} {Alice Springs} TX 77752 butler@noway1234.com {Butler Somchay} {4866 Bisquier Drive} {Coober Pedy} TX 77479 shrewsbury@noway1234.com {Shrewsbury Mann} {8477 Ledora Circle} Launceston TX 77211 leroy@noway1234.com {LeRoy Rexroth} {10599 Loveland Circle} Star TX 77139 w@noway1234.com {W. Stauffer} {11135 Lynwood Drive} Centerville TX 77406 ovid@noway1234.com {Ovid Heidemann} {7449 Margaret Mielke Street} Hamilton TX 77930 thomas@noway1234.com {Thomas Chritton} {7489 Dinaaka Drive} Wollongong TX 77220 jean@noway1234.com {Jean Bossung} {5142 East 84th Avenue} {Coober Pedy} TX 77018 verelene@noway1234.com {Verelene Mcculla} {7655 Leo's Road} Sunnyville TX 77875 topp@noway1234.com {Butler Topp} {9935 Province Circle} {Coffs Harbour} TX 77558 acree@noway1234.com {Acree Reilly} {5429 South River Lane} Bendigo TX 77784 waggoner@noway1234.com {Waggoner Kerchal} {7884 Link Brook Court} {Tennant Creek} TX 77756 dimple@noway1234.com {Dimple Berg} {5531 Southbluff Circle} Broome TX 77614 joyce@noway1234.com {Joyce Davis} {4744 Gertrude Street} Galveston TX 77484 gillispie@noway1234.com {Gillispie Lofgren} {2416 Lott Landing Circle} Tamworth TX 77336 orval@noway1234.com {Orval Bauers} {10621 Southport Drive} Sunnyville TX 77622 acie@noway1234.com {Acie Thurber} {440 Dawn Street} {Alice Springs} TX 77860 thurmond@noway1234.com {Thurmond Triplett} {6604 Rushwood Circle} Galveston TX 77241 vaughn@noway1234.com {Vaughn Meints} {10871 Kronos Drive} Katy TX 77740 charlotte@noway1234.com {Charlotte Volkmer} {3706 Tofson Street} Austin TX 77325 muncey@noway1234.com {Muncey Purdy} {601 Monastery Drive} {Tennant Creek} TX 77370 young@noway1234.com {Young Nixon} {19 Longhorn Street} Sunnyville TX 77328 mardell@noway1234.com {Mardell Brockman} {1692 East 23rd Avenue} Albury TX 77895 ruby@noway1234.com {Ruby Johnson} {5194 Wild Iris Circle} {San Antonio} TX 77198 horstman@noway1234.com {Loring Horstman} {10614 West 73rd Circle} Galveston TX 77227 elizabeth@noway1234.com {Elizabeth Humann} {8983 Longbow Drive} Broome TX 77446 e@noway1234.com {E. Driskell} {2065 Birch Trail Circle} Rockhampton TX 77442 delbert@noway1234.com {Delbert Rau} {3405 Winter Haven Street} Albury TX 77930 perry@noway1234.com {Perry Weinrich} {1249 Upper O'malley Road} {Tennant Creek} TX 77453 margaret@noway1234.com {Margaret Rebuck} {5459 Boyd Street} Waco TX 77053 iris@noway1234.com {Iris Goemann} {6756 Thunder Street} Hamilton TX 77786 staley@noway1234.com {Lou Staley} {5473 Lindsey Drive} {Alice Springs} TX 77043 jason@noway1234.com {Jason Bohung} {2894 Crystal Road} Albury TX 77543 garris@noway1234.com {Waggoner Garris} {879 Arlberg Avenue} Sunnyville TX 77368 cecil@noway1234.com {Cecil Foetisch} {1885 Arlene Street} Townsville TX 77594 franklin@noway1234.com {Franklin Beck} {5365 Maywood Circle} Rockhampton TX 77493 s@noway1234.com {S. Kunzman} {10694 Quiet Way} Eucla TX 77909 noralee@noway1234.com {Noralee Rogers} {1800 Brookview Street} Independence TX 77337 cantrell@noway1234.com {Cantrell Thurber} {2866 Bridle Circle} {Port Augusta} TX 77689 ida@noway1234.com {Ida Leahy} {9649 Lake View Circle} Albury TX 77861 tressie@noway1234.com {Tressie Lempka} {10986 East 114th Avenue} Newcastle TX 77395 sterling@noway1234.com {Sterling Boardman} {4778 Cisek Drive} Waco TX 77628 dieckmann@noway1234.com {Charlotte Dieckmann} {11729 I Street} Launceston TX 77551 maw@noway1234.com {Maw Hershberger} {672 Burning Bush Drive} Bendigo TX 77383 burton@noway1234.com {Burton Rohrs} {5109 Warehouse Avenue} Brookshire TX 77319 patsy@noway1234.com {Patsy Finke} {6660 Juneau Drive} {Padre Island} TX 77118 charles@noway1234.com {Charles Littlejohn} {9508 Biglerville Circle} Star TX 77141 piersol@noway1234.com {Iris Piersol} {4209 San Jeronimo Drive} Independence TX 77975 clifton@noway1234.com {Clifton Ham} {920 Tayshee Circle} Amarillo TX 77803 delmas@noway1234.com {Delmas Ullman} {7202 Finland Court} {Mount Isa} TX 77751 dorthy@noway1234.com {Dorthy Greene} {47 East 160th Avenue} Independence TX 77023 mcalexander@noway1234.com {Iris Mcalexander} {1056 Tyl's Trail} Rockhampton TX 77080 nellie@noway1234.com {Nellie Polson} {3120 Anchor Park Circle} Tamworth TX 77298 earl@noway1234.com {Earl Phillips} {10120 East 72nd Avenue} {Coffs Harbour} TX 77852 orville@noway1234.com {Orville Gillette} {6961 Austin Avenue} Kema TX 77134 dominic@noway1234.com {Dominic Wenzl} {9898 Fairmount Circle} Bourke TX 77157 bud@noway1234.com {Bud Topp} {7287 Illiamna Avenue} Hamilton TX 77392 mae@noway1234.com {Mae Othmer} {5951 Zappa Place} Katy TX 77396 brother@noway1234.com {Brother Lewis} {4369 Hunt Circle} Star TX 77754 esser@noway1234.com {Nellie Esser} {6829 Boniface Parkway} Albury TX 77721 woods@noway1234.com {Woods Aust} {3654 West 11th Avenue} Monaville TX 77263 c@noway1234.com {C. Lyons} {1582 Ira Drive} {Padre Island} TX 77932 marty@noway1234.com {Marty Glasson} {3984 Perenosa Circle} Launceston TX 77303 rebuck@noway1234.com {Lucille Rebuck} {8955 Crataegus Avenue} Mildura TX 77748 velma@noway1234.com {Velma Thompson} {6436 Communications Avenue} Bathurst TX 77994 roxie@noway1234.com {Roxie Mahoney} {1603 Suncrest Circle} Centerville TX 77220 pat@noway1234.com {Pat Volkmer} {7502 Ostovia Circle} {Coober Pedy} TX 77493 ester@noway1234.com {Ester Speckmann} {416 Chestnut Court} Katy TX 77500 t@noway1234.com {T. Putnam} {9271 Italy Circle} Nacogdoches TX 77473 farley@noway1234.com {Mable Farley} {2837 Norgaard Road} Centerville TX 77524 harlan@noway1234.com {Harlan Chritton} {7928 Cape Noble Circle} {San Felipe} TX 77392 kip@noway1234.com {Kip Petersen} {9435 Mossberry Place} Eucla TX 77880 dirty@noway1234.com {Dirty Bernadt} {5824 Sextant Circle} Nacogdoches TX 77357 mary@noway1234.com {Mary Menard} {5420 East 63rd Avenue} {Mount Gambier} TX 77910 annalee@noway1234.com {Annalee Goings} {3516 Rodeo Circle} Townsville TX 77552 becky@noway1234.com {Becky Hesman} {10641 D Street} {Padre Island} TX 77625 melvina@noway1234.com {Melvina Kaufman} {7650 Canton Loop} Austin TX 77517 johnson@noway1234.com {Lucille Johnson} {2676 Dome Circle} {Mount Isa} TX 77199 l@noway1234.com {L. Durst} {3697 Traverse Way} {Tennant Creek} TX 77685 helen@noway1234.com {Helen Gibson} {1502 Northfleet Drive} Brookshire TX 77674 gladys@noway1234.com {Gladys Othmer} {3344 Tamarack Street} Kema TX 77575 ellis@noway1234.com {Ellis Suydan} {8840 Goose Lake Drive} Townsville TX 77718 hughart@noway1234.com {Hughart Hardin} {10499 Charity Circle} {Coober Pedy} TX 77649 collene@noway1234.com {Collene McCain} {170 Caspian Court} Albany TX 77466 sattler@noway1234.com {Sattler Van} {9866 East Fireweed Lane} Newcastle TX 77998 colombia@noway1234.com {Colombia Husing} {7726 Bayshore Drive} Bourke TX 77591 trossie@noway1234.com {Trossie Schermbeck} {6781 Seclusion Bay Drive} Independence TX 77345 lee@noway1234.com {Lee Chrastil} {11620 Polaris Way} Newcastle TX 77873 dee@noway1234.com {Dee Ray} {4118 West 94th Court} {Tennant Creek} TX 77426 nicholas@noway1234.com {Nicholas Sand} {6117 Talon Circle} Ketherine TX 77523 reed@noway1234.com {Ellis Reed} {8890 Wildwood Circle} Albany TX 77303 jerold@noway1234.com {Jerold Mahar} {7102 Rancho Drive} {Alice Springs} TX 77943 rosa@noway1234.com {Rosa Sikyta} {4389 Fairmount Circle} Newcastle TX 77307 doylene@noway1234.com {Doylene Morrow} {21 Glacier Street} Dallas TX 77605 loretta@noway1234.com {Loretta Betzelberger} {47 Heidi Circle} {Mount Isa} TX 77290 ada@noway1234.com {Ada Pierce} {4440 Kent Avenue} Dallas TX 77462 strickland@noway1234.com {Strickland Christen} {8417 Hampton Drive} Amarillo TX 77691 harman@noway1234.com {Annalee Harman} {3697 Gordon Circle} Independence TX 77177 cheryl@noway1234.com {Cheryl Wall} {8174 Porphyry Mountain Way} Adelaide TX 77498 dottie@noway1234.com {Dottie VanWinkle} {6723 Pelican Drive} Star TX 77707 given@noway1234.com {Given Foetisch} {6602 West 38th Avenue} Pattison TX 77502 a@noway1234.com {A. Hitzeman} {5002 Talarik Drive} Cairns TX 77670 vicki@noway1234.com {Vicki Foetisch} {5073 Nigh Road} {San Felipe} TX 77706 lenora@noway1234.com {Lenora Fritsch} {8046 Teresa Circle} Albury TX 77323 melvern@noway1234.com {Melvern Sterling} {11869 Hillandale Avenue} Queenstown TX 77931 buddy_boy@noway1234.com {Buddy Boy Vrbka} {3693 Trent Circle} Pattison TX 77410 whiskey@noway1234.com {Whiskey Murphy} {4805 Sultana Drive} OOdnadatta TX 77209 terrance@noway1234.com {Terrance Mayfield} {5500 Anchorage Port Road} Katy TX 77108 phillip@noway1234.com {Phillip Mason} {11094 Wellsford Circle} Nacogdoches TX 77204 donohue@noway1234.com {Donohue Field} {7128 Winchester Loop} {Alice Springs} TX 77406 evalene@noway1234.com {Evalene Hemmer} {10602 Kailyard Street} Nacogdoches TX 77758 ward@noway1234.com {Ward Badellino} {6025 Dorchester Street} Sunnyville TX 77565 rachelle@noway1234.com {Rachelle Geweke} {6022 Kelly Maureen Circle} {Port Augusta} TX 77936 dale@noway1234.com {Dale Lade} {6402 Warning Drive} Adelaide TX 77776 malone@noway1234.com {Lee Malone} {3959 East 50th Avenue} Brookshire TX 77010 jeanie@noway1234.com {Jeanie Bevard} {6446 Friendship Lane} Nacogdoches TX 77861 floyd@noway1234.com {Floyd Kent} {3484 Stewart Mountain Drive} Rockhampton TX 77264 levy@noway1234.com {Levy Lade} {9847 Mariah Drive} Monaville TX 77942 ella@noway1234.com {Ella Ray} {2329 Akula Drive} {Broken Hill} TX 77711 bonnie@noway1234.com {Bonnie Brown} {6542 Spinnaker Drive} Dallas TX 77743 merle@noway1234.com {Merle Topp} {8016 Peter S Ezi Street} {Coober Pedy} TX 77299 butcher@noway1234.com {Butcher Robinson} {2860 Glacier Creek Drive} {Padre Island} TX 77551 donna@noway1234.com {Donna Esser} {3673 Rowan Street} Pattison TX 77179 chilton@noway1234.com {Chilton Morris} {2789 Crataegus Circle} Townsville TX 77275 j_d@noway1234.com {J.D. Rohmeyer} {11769 Southpark Bluff Drive} Mildura TX 77487 rapp@noway1234.com {Rapp Sova} {9356 Lake View Drive} {San Felipe} TX 77964 ethel@noway1234.com {Ethel Hitzeman} {3724 Forest Village Drive} Rockhampton TX 77628 frame@noway1234.com {Frame Smithers} {4295 East Prince Of Peace Drive} Ketherine TX 77695 strossie@noway1234.com {Strossie Menard} {9309 Turnagain Parkway} Queenstown TX 77154 henrichs@noway1234.com {C. Henrichs} {11879 Seacliff Street} Amarillo TX 77064 jackson@noway1234.com {Jackson VanLaningham} {9948 Sparkle Drive} Star TX 77354 joann@noway1234.com {JoAnn VanWinkle} {10395 Meadow View Drive} {San Felipe} TX 77351 dexter@noway1234.com {Dexter Putnam} {9170 Boulder Circle} {Coober Pedy} TX 77986 rennie@noway1234.com {Rennie Chard} {7808 Baxter Crest Circle} Monaville TX 77627 christopher@noway1234.com {Christopher Conradt} {11832 Birch Hills Drive} Townsville TX 77498 blythe@noway1234.com {Perry Blythe} {11346 Gravina Circle} {Mount Isa} TX 77129 phyllis@noway1234.com {Phyllis Johnson} {2732 Snowmobile Lane} {Alice Springs} TX 77672 catherine@noway1234.com {Catherine Brock} {1936 Roehl Circle} Austin TX 77452 plug@noway1234.com {Plug Niemann} {11332 Great Dane Circle} Hamilton TX 77135 suydan@noway1234.com {Lou Suydan} {11324 Revere Circle} Mildura TX 77028 p_simer@noway1234.com {P'simer Wright} {3385 Seaforth Place} Pattison TX 77403 chrastil@noway1234.com {Johnson Chrastil} {8761 Bern Street} Nacogdoches TX 77059 ammie@noway1234.com {Ammie Cox} {8846 Sportsman Road} Brookshire TX 77990 henline@noway1234.com {Henline Speckmann} {7021 Haricot Circle} {Broken Hill} TX 77867 wheeler@noway1234.com {Jean Wheeler} {11198 West 64th Avenue} {Mount Gambier} TX 77342 fleck@noway1234.com {Betty Fleck} {2440 Orchard Place} Adelaide TX 77438 jimmy@noway1234.com {Jimmy Sherman} {9713 Capstan Drive} {Broken Hill} TX 77501 badertscher@noway1234.com {Margaret Badertscher} {3396 O'malley Centre Drive} Bendigo TX 77384 lorene@noway1234.com {Lorene Gobber} {3390 Kabob Circle} Sunnyville TX 77544 morris@noway1234.com {Rennie Morris} {2236 Cotton Grass Drive} Katy TX 77363 gary@noway1234.com {Gary Dieckmann} {6192 Hope Circle} {Alice Springs} TX 77241 berne@noway1234.com {Berne Scholl} {5869 Mere Circle} Newcastle TX 77521 minnie@noway1234.com {Minnie Hardin} {8543 Brudne Road} Wollongong TX 77319 jeanine@noway1234.com {Jeanine Packett} {8841 Airport Heights Drive} Austin TX 77732 margie@noway1234.com {Margie Clements} {1739 Walker Circle} Bathurst TX 77781 chard@noway1234.com {Whiskey Chard} {777 Iron Mountain Road} {Mount Isa} TX 77533 woody@noway1234.com {Woody Miner} {2813 Loc Sault Avenue} Dallas TX 77440 murl@noway1234.com {Murl Durst} {7136 Little Cape Circle} Dallas TX 77986 john@noway1234.com {John Badellino} {5115 Windward Circle} Nacogdoches TX 77058 suflonia@noway1234.com {Suflonia Morrissey} {5507 West 66th Avenue} Bathurst TX 77676 maysel@noway1234.com {Maysel Durman} {9296 West 88th Court} Kema TX 77310 rollyson@noway1234.com {Rollyson Lantz} {2320 Country View Drive} Independence TX 77275 lea@noway1234.com {Lea Staley} {921 Mila Street} {Mount Gambier} TX 77794 kaye@noway1234.com {Kaye Haughton} {7758 Southport Drive} Burnie TX 77216 theresa@noway1234.com {Theresa Philpott} {7756 Cherni Circle} Star TX 77113 vernice@noway1234.com {Vernice Carman} {5003 Rosehip Ridge Road} Dallas TX 77196 pottie@noway1234.com {Pottie Agena} {6753 Seneca Circle} {San Antonio} TX 77593 field@noway1234.com {Dottie Field} {8164 Thuja Avenue} {Alice Springs} TX 77315 raney@noway1234.com {Lou Raney} {4416 Eklutna Park Drive} {Broken Hill} TX 77178 hartley@noway1234.com {Hartley Sellman} {10219 Pequod Circle} Brookshire TX 77598 vongsaly@noway1234.com {Morris Vongsaly} {2704 East 95th Avenue} {Coober Pedy} TX 77093 eva@noway1234.com {Eva Farley} {6071 Copper Mountain Circle} Eucla TX 77772 dawson@noway1234.com {Dawson Heidemann} {10744 Big Spruce Circle} Brookshire TX 77312 ann@noway1234.com {Ann Stephens} {10509 Wells Circle} {Tennant Creek} TX 77704 kaye_suydan@noway1234.com {Kaye Suydan} {5113 Schodde Street} Adelaide TX 77110 jerle@noway1234.com {Jerle Petersen} {11369 East 99th Avenue} Monaville TX 77986 ramsey@noway1234.com {Ramsey Haney} {175 Laoana Drive} Hamilton TX 77305 chip@noway1234.com {Chip Sobotta} {867 Mc Hugh Lane} {Tennant Creek} TX 77455 felix@noway1234.com {Felix Yates} {6523 Hutson Drive} Burnie TX 77127 les@noway1234.com {Les Miner} {10958 Barnes Avenue} {Tennant Creek} TX 77688 james@noway1234.com {James Boone} {342 Big Mountain Drive} Houston TX 77492 king@noway1234.com {Elizabeth King} {3106 Peg Street} {Coober Pedy} TX 77792 straube@noway1234.com {Joe Straube} {2978 Kimpton Circle} Bendigo TX 77245 stahl@noway1234.com {Ann Stahl} {10220 Borealis Drive} Townsville TX 77660 marple@noway1234.com {Marple Kaufman} {7532 Gunwale Court} {Port Augusta} TX 77952 silas@noway1234.com {Silas Hothan} {5706 Hill View Circle} Waco TX 77148 ashley@noway1234.com {Ashley Kelley} {9602 East Tudor Road} Bendigo TX 77066 h@noway1234.com {H. McAlexander} {11236 Soldotna Drive} {Padre Island} TX 77722 dean@noway1234.com {Dean Nielsen} {3841 Monastery Drive} Independence TX 77468 radie@noway1234.com {Radie Zappa} {1435 Viscount Circle} Cairns TX 77473 aundrel@noway1234.com {Aundrel Kounthapanya} {2539 Sauvignon Circle} {Port Augusta} TX 77328 vina@noway1234.com {Vina Yates} {9889 Camelot Circle} OOdnadatta TX 77317 johnny@noway1234.com {Johnny Rosakrans} {9246 Peg Street} Adelaide TX 77738 claudine@noway1234.com {Claudine Kirkman} {1812 Loretta Place} {Port Augusta} TX 77743 denny@noway1234.com {Denny Knox} {11557 East 32nd Avenue} Centerville TX 77042 dave@noway1234.com {Dave Pieratt} {3332 Fawn Court} Hamilton TX 77455 mike@noway1234.com {Mike Wolken} {10094 Thimble Berry Drive} {Padre Island} TX 77626 doris@noway1234.com {Doris Colton} {9842 Goodnews Circle} Austin TX 77174 mcdonald@noway1234.com {Whiskey McDonald} {2867 Tranquillity Loop} Albury TX 77548 wibb@noway1234.com {Wibb Nakamura} {9478 Beechey Point Court} Bourke TX 77538 kimet@noway1234.com {Kimet Packwood} {4959 Lily Street} Rockhampton TX 77771 rodgers@noway1234.com {Gladys Rodgers} {464 Heartwood Place} Wollongong TX 77593 austin@noway1234.com {Austin Schmidt} {1106 Karen Lane} {Tennant Creek} TX 77691 mchenry@noway1234.com {Perry McHenry} {10954 Roehl Circle} Newcastle TX 77142 klein@noway1234.com {Doris Klein} {10634 Le Doux Lane} Centerville TX 77100 deb@noway1234.com {Deb Laug} {3004 Wranglers Way} Dallas TX 77093 byrne@noway1234.com {Byrne Nolte} {6629 Upper Fish Hatchery Road} Galveston TX 77901 volmer@noway1234.com {Volmer Wagner} {7175 North A Street} {Mount Gambier} TX 77976 wilson@noway1234.com {Wilson Mapes} {3377 Wentworth Street} Houston TX 77152 britt@noway1234.com {Donna Britt} {8934 Kenny Place} {Broken Hill} TX 77330 benton@noway1234.com {Benton Montz} {5387 South Mitkof Loop} Wollongong TX 77246 rozella@noway1234.com {Rozella Brock} {2137 Wallace Wynd Drive} {Coffs Harbour} TX 77667 corliss@noway1234.com {Corliss Ruby} {3325 Aspen Way} Tamworth TX 77981 murphy@noway1234.com {Ramsey Murphy} {7740 Parkside Circle} Ketherine TX 77641 barnabas@noway1234.com {Barnabas Todter} {10575 Bree Avenue} Ketherine TX 77181 bail@noway1234.com {Bail Mason} {11020 Dave Lane} Pattison TX 77529 mutt@noway1234.com {Mutt Landry} {6557 Chalet Court} Cairns TX 77291 oestmann@noway1234.com {Lee Oestmann} {4430 West Street} Wollongong TX 77381 marjorie@noway1234.com {Marjorie Baird} {8220 Leprechan Drive} Bendigo TX 77697 branting@noway1234.com {Mary Branting} {3119 Birchwood Street} OOdnadatta TX 77960 spence@noway1234.com {Floyd Spence} {6643 Lorraine Street} Bourke TX 77051 levi@noway1234.com {Levi Morrison} {8782 Anne Hathaway Circle} Bourke TX 77541 rachel@noway1234.com {Rachel Cooper} {6171 Snow Circle} Mildura TX 77359 ruhie@noway1234.com {Ruhie Hardin} {11290 Grizzly Lane} Pattison TX 77990 alice@noway1234.com {Alice Xayaphonesongkham} {8371 Mc Cabe Circle} Houston TX 77598 imogene@noway1234.com {Imogene Sobotta} {8752 Sextant Circle} Pattison TX 77289 sec@noway1234.com {Sec Geiger} {10933 Delong Landing Circle} Waco TX 77998 kind@noway1234.com {Kind Brommer} {2988 Talarik Drive} Rockhampton TX 77958 dona@noway1234.com {Dona Baird} {6047 Starboard Lane} Brookshire TX 77516 wanda@noway1234.com {Wanda Smith} {9453 Karluk Street} Centerville TX 77785 deloris@noway1234.com {Deloris Tucker} {3085 Exeter Drive} Amarillo TX 77527 mc@noway1234.com {Mc Hupka} {4951 Ryoaks Place} Albany TX 77131 orvill@noway1234.com {Orvill Pfister} {7919 Bernie Avenue} Burnie TX 77642 susan@noway1234.com {Susan Noudaranouvong} {10699 Rowan Street} Independence TX 77321 presley@noway1234.com {Presley Lang} {8995 Calamity Court} Queenstown TX 77737 darius@noway1234.com {Darius Huttenmeyer} {672 Liberty Circle} Launceston TX 77159 albert@noway1234.com {Albert Urich} {1041 Solarset Circle} Sunnyville TX 77907 bruce@noway1234.com {Bruce TenHulzen} {3742 Holmgren Place} Sunnyville TX 77167 jane@noway1234.com {Jane Goodrich} {9201 O'riedner Road} Ketherine TX 77184 almira@noway1234.com {Almira Stangel} {2847 Muldrow Street} Amarillo TX 77814 casto@noway1234.com {Casto Anderson} {10741 Ursa Minor Circle} {Broken Hill} TX 77640 hudson@noway1234.com {Hudson Lambelet} {1310 Richard Evelyn Byrd Street} Austin TX 77790 virginia@noway1234.com {Virginia Frederick} {2315 Laurel Street} Dallas TX 77391 landis@noway1234.com {Landis Seeba} {4036 O'malley Road} {San Felipe} TX 77164 e_burns@noway1234.com {E.Burns Colton} {7651 Barbara Falls Drive} Independence TX 77032 nancy@noway1234.com {Nancy Hunt} {8806 Wildwood Lane} Mildura TX 77076 bessie@noway1234.com {Bessie Armknecht} {1802 Von Scheben Drive} Rockhampton TX 77924 kitzmiller@noway1234.com {Kitzmiller Bicknell} {10315 Cobra Avenue} Pattison TX 77222 roland@noway1234.com {Roland Goracke} {1927 Wingate Circle} Waco TX 77685 vance@noway1234.com {Vance Parrisb} {1761 Chaparral Circle} {San Felipe} TX 77093 aldridge@noway1234.com {Aldridge Mitchel} {2117 Spruce Road} Townsville TX 77018 vivian@noway1234.com {Vivian Chritton} {9822 Cunningham Street} Albany TX 77497 delmar@noway1234.com {Delmar McLaughlin} {8540 Olympic Drive} {Coober Pedy} TX 77771 sorensen@noway1234.com {Wanda Sorensen} {10668 Hartman Circle} Galveston TX 77132 stoddard@noway1234.com {Morris Stoddard} {6529 Gakona Circle} Albany TX 77620 j@noway1234.com {J. Birnie} {2261 East 172nd Avenue} Hamilton TX 77595 hackbart@noway1234.com {Phyllis Hackbart} {9598 Elnora Lane} Monaville TX 77286 zeke@noway1234.com {Zeke Higgins} {11657 Annex Circle} Amarillo TX 77726 alton@noway1234.com {Alton Zappa} {2715 Vantage Avenue} {San Antonio} TX 77793 chard128@noway1234.com {Charles Chard} {7279 Golovin Street} {Port Hedland} TX 77806 buck@noway1234.com {Buck Kent} {7363 Louinda Circle} Ketherine TX 77051 amsberry@noway1234.com {Mable Amsberry} {5958 Hale Court} Waco TX 77553 miner@noway1234.com {Virginia Miner} {7241 Robert Circle} Monaville TX 77900 brott@noway1234.com {Suflonia Brott} {7365 Deborah Lynn Circle} Bourke TX 77303 judi@noway1234.com {Judi Mahar} {968 Birchtree Street} Star TX 77582 emily@noway1234.com {Emily Martin} {3700 Betty Street} Houston TX 77862 ossian@noway1234.com {Catherine Ossian} {1252 Babrof Drive} Katy TX 77769 wink@noway1234.com {Wink Rowland} {4479 Jodhpur Street} Independence TX 77840 merton@noway1234.com {Merton Nolte} {6473 Reeve Boulevard} {Alice Springs} TX 77304 elden@noway1234.com {Elden Meints} {9417 Pokey Circle} Albany TX 77705 scottie@noway1234.com {Scottie Reynolds} {9967 Labate Drive} Galveston TX 77389 holliday@noway1234.com {Holliday Rogers} {1972 Sheppard Drive} Wollongong TX 77066 phala@noway1234.com {Phala Leuenberger} {8416 Ariel Circle} OOdnadatta TX 77374 mac@noway1234.com {Mac Geiger} {3734 Kimball Street} Bourke TX 77772 hunter@noway1234.com {Hunter Seawall} {6688 Hines Circle} Kema TX 77415 tammy@noway1234.com {Tammy Pluta} {5615 Ellen Avenue} Albany TX 77057 oma@noway1234.com {Oma Ensor} {9125 Sun Spot Circle} Houston TX 77496 rupert@noway1234.com {Rupert Yates} {11781 Little Brook Street} {Padre Island} TX 77266 gray@noway1234.com {Gray Smith} {8036 Marsha Loop} {Mount Isa} TX 77386 laky@noway1234.com {Laky Sorensen} {8482 Mountain Circle} Nacogdoches TX 77887 hughes@noway1234.com {Hughes Hunt} {5824 Scenic Drive} Albury TX 77761 moss@noway1234.com {Moss Hitzeman} {5134 Sorbus Way} Galveston TX 77175 bib@noway1234.com {Bib Neeman} {9420 Saunders Road} Katy TX 77631 chittenden@noway1234.com {L. Chittenden} {5997 Clear Haven Circle} {Port Augusta} TX 77429 kenneth@noway1234.com {Kenneth Jewell} {5665 Artemus Circle} {Coober Pedy} TX 77798 halverstadt@noway1234.com {Elizabeth Halverstadt} {11739 Prator Street} Galveston TX 77964 lott@noway1234.com {Beam Lott} {4562 Green Garden Drive} Pattison TX 77052 forrest@noway1234.com {Forrest Cary} {6878 Atelier Drive} {Port Hedland} TX 77117 eloise@noway1234.com {Eloise Kroeze} {4264 Telephone Avenue} OOdnadatta TX 77512 beyty@noway1234.com {Beyty Scott} {9539 Ptarmigan Boulevard} {Port Augusta} TX 77886 audre@noway1234.com {Audre Bogle} {8347 Shooresin Circle} {Alice Springs} TX 77543 moe@noway1234.com {Moe Kerchal} {7262 Hillcrest Circle} Newcastle TX 77364 johnie@noway1234.com {Johnie Nielsen} {96 Grizzly Avenue} {Coffs Harbour} TX 77899 amma@noway1234.com {Amma Norvell} {1629 James Drive} Wollongong TX 77444 gregory@noway1234.com {Gregory Phommachan} {585 Abbas Circle} Independence TX 77923 dorsey@noway1234.com {Dorsey Robertson} {1575 Alpenhorn Avenue} {San Felipe} TX 77904 cotrill@noway1234.com {Cotrill Mathis} {3098 Tony Circle} Star TX 77481 haney@noway1234.com {Ella Haney} {5745 Knik Vista Court} Dallas TX 77762 les261@noway1234.com {Les Mcalexander} {8079 Shelikof Street} Amarillo TX 77273 kathern@noway1234.com {Kathern Tagart} {7641 Elmhurst Drive} Albury TX 77480 jody@noway1234.com {Jody McCoy} {8194 Gayle Circle} Katy TX 77845 freddie@noway1234.com {Freddie Pohlman} {11174 South Christmasberry Loop} Burnie TX 77698 eagle@noway1234.com {Eagle Gieser} {2534 Charity Circle} Albury TX 77784 estella@noway1234.com {Estella Gibbs} {4182 Bobbie Circle} Dallas TX 77055 irene@noway1234.com {Irene Hemmer} {11700 Pussywillow Street} Bathurst TX 77130 hickman@noway1234.com {Hickman Petersen} {8354 Crow's Nest Circle} {Port Hedland} TX 77276 darla@noway1234.com {Darla Harrah} {6430 Cassin Drive} Star TX 77170 swanson@noway1234.com {Ruby Swanson} {3600 Le Doux Lane} Bourke TX 77284 bee@noway1234.com {Bee Kavanaugh} {9562 Smaldon Circle} {Coober Pedy} TX 77509 fitzwater@noway1234.com {Fitzwater Steinauer} {6862 Prince Circle} Albany TX 77839 leigh@noway1234.com {Leigh Lofgren} {3592 Keyhole Circle} Bourke TX 77947 pebble@noway1234.com {Pebble Nixon} {9192 Wolf Creek Drive} Galveston TX 77350 keener@noway1234.com {Keener Ditlevson} {4267 Beaty Avenue} Ketherine TX 77651 quinn@noway1234.com {Betty Quinn} {4208 Caragana Circle} Pattison TX 77510 marge@noway1234.com {Marge Rathe} {9657 Stratton Circle} Amarillo TX 77532 dr@noway1234.com {Dr. Stordahl} {4697 Alex Circle} Katy TX 77588 hupka@noway1234.com {Mullins Hupka} {1622 Crystal Creek Drive} Centerville TX 77435 adolf@noway1234.com {Adolf Bartels} {11799 Bettijean Street} {Padre Island} TX 77978 craig@noway1234.com {Craig Foetisch} {9112 Grumman Street} OOdnadatta TX 77778 nutter@noway1234.com {Nutter Williams} {2735 Keyann Circle} Independence TX 77330 bubby@noway1234.com {Bubby Laue} {11964 Summit View Street} Waco TX 77177 denver@noway1234.com {Denver Piersol} {5374 Yukon Road} Cairns TX 77425 dunlap@noway1234.com {Dunlap Parrisb} {10755 Mountainman Loop} Tamworth TX 77322 kyer@noway1234.com {Kyer Rathbun} {4226 Upper Mc Crary Road} Queenstown TX 77265 kennith@noway1234.com {Kennith Nakamura} {8088 Vought Circle} Newcastle TX 77530 reva@noway1234.com {Reva Lempke} {4308 Cleveland Avenue} Wollongong TX 77659 opal@noway1234.com {Opal Durman} {2740 Ptarmigan Boulevard} {Alice Springs} TX 77042 boob@noway1234.com {Boob Rohrs} {10624 Baxter Court} {Mount Isa} TX 77940 bird_legs@noway1234.com {Bird-Legs Vance} {11678 Bowlby Street} Adelaide TX 77909 oral@noway1234.com {Oral Sherman} {4998 Peterkin Avenue} Kema TX 77020 sweeney@noway1234.com {Sweeney Badertscher} {3836 Copper Circle} Nacogdoches TX 77184 bryan@noway1234.com {Bryan Robertson} {10624 Terracewood Lane} Pattison TX 77782 dieckhoff@noway1234.com {Nicholas Dieckhoff} {9087 Petrel Circle} Houston TX 77582 thies@noway1234.com {Mike Thies} {278 Maylen Circle} {Tennant Creek} TX 77625 klein809@noway1234.com {Eva Klein} {4063 Via Appia} Nacogdoches TX 77944 mildred@noway1234.com {Mildred Harrington} {1758 Lars Circle} Wollongong TX 77478 l789@noway1234.com {L. Ruby} {4042 Dickerson Drive} Launceston TX 77760 underwood@noway1234.com {Underwood Thies} {6031 Porcupine Trail Road} Hamilton TX 77306 rauner@noway1234.com {Opal Rauner} {4147 Warfield Place} Galveston TX 77997 eulah@noway1234.com {Eulah Sorensen} {5880 Mammoth Court} Waco TX 77228 eugene@noway1234.com {Eugene Holmstrom} {408 Seville Park Circle} Centerville TX 77073 van@noway1234.com {Charlotte Van} {2731 Regina Circle} {Tennant Creek} TX 77467 hamrick@noway1234.com {Hamrick Neill} {6702 Snowy Court} Tamworth TX 77145 kroeze@noway1234.com {Betty Kroeze} {11909 Lake Clark Street} Hamilton TX 77089 dough_belly@noway1234.com {Dough Belly Suydan} {5693 Flintlock Street} {Padre Island} TX 77340 dorthea@noway1234.com {Dorthea Kreiling} {45 Westland Circle} {Port Hedland} TX 77114 moslander@noway1234.com {Merle Moslander} {2008 Rouse Circle} Tamworth TX 77505 patrica@noway1234.com {Patrica Baum} {9950 Laverne Place} Rockhampton TX 77892 thurber@noway1234.com {Anna Thurber} {6111 South River Drive} Newcastle TX 77177 mercure@noway1234.com {Presley Mercure} {4274 Chisik Circle} Amarillo TX 77565 tony@noway1234.com {Tony Lacey} {6173 Frosty Drive} Bourke TX 77253 kerchal@noway1234.com {Alice Kerchal} {7461 Snowline Drive} Sunnyville TX 77196 macel@noway1234.com {Macel McLaughlin} {3858 Jay Circle} Galveston TX 77033 janet@noway1234.com {Janet Piersol} {6989 Santa Maria Drive} Independence TX 77980 radford@noway1234.com {Radford Beck} {3331 Farm Avenue} Hamilton TX 77458 scholl@noway1234.com {Eva Scholl} {5415 Gravins Circle} {Port Hedland} TX 77243 chester@noway1234.com {Chester Martin} {6411 Addenda Circle} Hamilton TX 77742 delford@noway1234.com {Delford Foetisch} {3257 Paso Place} Pattison TX 77218 philip@noway1234.com {Philip Brott} {3614 Redhawk Circle} Centerville TX 77055 lois@noway1234.com {Lois Tucker} {5749 Crooked Tree Circle} Launceston TX 77057 p_simer694@noway1234.com {P'simer Hupka} {1510 Chekok Circle} Mildura TX 77384 hesman@noway1234.com {Oma Hesman} {3833 Mesquite Circle} Rockhampton TX 77360 haskel@noway1234.com {Haskel Hippen} {2109 Hazel Court} Pattison TX 77416 brian@noway1234.com {Brian Schmiegelow} {10051 Lowland Avenue} {Tennant Creek} TX 77869 peek@noway1234.com {Colombia Peek} {4778 Baxter Crest Circle} Wollongong TX 77487 dixie@noway1234.com {Dixie Belding} {9710 Baffin Street} {Mount Gambier} TX 77923 carney@noway1234.com {Carney Mueller} {10353 West Dowling Road} {Port Augusta} TX 77868 sonny@noway1234.com {Sonny Kreiling} {255 Gulkana Circle} {Port Hedland} TX 77982 early@noway1234.com {Early Geweke} {6116 Newby Avenue} {Broken Hill} TX 77653 zappa@noway1234.com {Helen Zappa} {11770 Cyrus Street} {Port Augusta} TX 77515 cox@noway1234.com {Frame Cox} {773 Donner Drive} {Broken Hill} TX 77260 darius483@noway1234.com {Darius Chrastil} {3700 Tree Circle} {Coober Pedy} TX 77247 rubin@noway1234.com {Bryan Rubin} {6082 Greenwood Street} Bendigo TX 77802 sheryl@noway1234.com {Sheryl Harrah} {7061 Marten Street} {Tennant Creek} TX 77011 weiss@noway1234.com {Judi Weiss} {7312 Orca Place} OOdnadatta TX 77549 daniel@noway1234.com {Daniel Volkmer} {503 Fairweather Place} Bendigo TX 77764 jimmy_pistol@noway1234.com {Jimmy"Pistol" Bane} {11519 Shandy Court} {San Antonio} TX 77132 warnke@noway1234.com {Wanda Warnke} {111 Sunny Circle} Queenstown TX 77563 mason@noway1234.com {Ann Mason} {8198 Davis Drive} Eucla TX 77094 rosetta@noway1234.com {Rosetta Hoke} {11180 Mc Lain Road} Independence TX 77001 thelma@noway1234.com {Thelma Morris} {2706 Eaglek Bay Circle} Pattison TX 77017 sarah@noway1234.com {Sarah Graff} {6525 Ross Voyles Avenue} Sunnyville TX 77633 r@noway1234.com {R. Watteyne} {892 Norton Drive} Tamworth TX 77717 doty@noway1234.com {Delbert Doty} {5536 Nakochina Circle} Monaville TX 77072 h_h@noway1234.com {H.H. Berg} {11184 Hanson Drive} Broome TX 77310 dwight@noway1234.com {Dwight Higgins} {1079 West 43rd Court} Centerville TX 77206 louis@noway1234.com {Louis Suydan} {10887 Foothill Circle} Hamilton TX 77852 mann@noway1234.com {Charles Mann} {547 Arctic Boulevard} Bathurst TX 77309 gay@noway1234.com {Gay Mccoy} {3852 Florence Circle} Tamworth TX 77140 morgan@noway1234.com {Morgan Chard} {11023 Elizabeth Drive} {Coffs Harbour} TX 77407 todter@noway1234.com {Felix Todter} {11101 Magpie Drive} {Coffs Harbour} TX 77571 cawley@noway1234.com {Dexter Cawley} {7380 Nickleen Street} {Tennant Creek} TX 77070 rosanne@noway1234.com {Rosanne Brock} {8280 Kosina Circle} Wollongong TX 77027 brown@noway1234.com {Brown Hamer} {4562 Knapper Lane} {Coffs Harbour} TX 77407 oltman@noway1234.com {Chilton Oltman} {9184 Borland Drive} {Alice Springs} TX 77659 joy@noway1234.com {Joy Weakland} {3720 Browder Avenue} Launceston TX 77845 boardman@noway1234.com {Bulah Boardman} {4433 Birch Avenue} {San Felipe} TX 77222 tommy@noway1234.com {Tommy Rathe} {5880 Sundown Court} Launceston TX 77073 gaylene@noway1234.com {Gaylene Xayaphonesongkham} {594 West 87th Avenue} Queenstown TX 77739 fankhauser@noway1234.com {Charlotte Fankhauser} {8294 Kabob Circle} Newcastle TX 77394 quenton@noway1234.com {Quenton Ensor} {8214 First Street} {Padre Island} TX 77304 dumitru@noway1234.com {Ramsey Dumitru} {2903 Lewis Street} {Port Hedland} TX 77647 mc_staley@noway1234.com {Mc Staley} {10478 Sherbrooke Circle} Ketherine TX 77422 rogers@noway1234.com {Beam Rogers} {2743 Talon Circle} {Port Hedland} TX 77379 darleen@noway1234.com {Darleen Stewart} {5698 Woodbourne Circle} {Port Hedland} TX 77862 marion@noway1234.com {Marion Watteyne} {10055 South Mitkof Loop} OOdnadatta TX 77120 carl@noway1234.com {Carl. Feurer} {7498 Ridd Circle} Ketherine TX 77454 masur@noway1234.com {Sterling Masur} {859 Pyramid Drive} Austin TX 77398 clark@noway1234.com {Clark Jacobsen} {1041 Far View Place} {Mount Isa} TX 77616 hamer@noway1234.com {Eva Hamer} {3586 Galactica Drive} {Alice Springs} TX 77480 pino@noway1234.com {Pino Swanson} {2830 Fountain Drive} Ketherine TX 77280 scott@noway1234.com {Jean Scott} {1340 Reliance Drive} Sunnyville TX 77786 logsdon@noway1234.com {Chester Logsdon} {7796 Man O War Road} Bourke TX 77415 bailey@noway1234.com {Gregory Bailey} {3352 Owen Circle} Star TX 77853 ned@noway1234.com {Ned Reilly} {2930 Vancouver Circle} Cairns TX 77280 freda@noway1234.com {Freda Pella} {1738 West 57th Avenue} Albany TX 77376 moore@noway1234.com {Moore DeFreece} {11722 Camden Circle} {Coffs Harbour} TX 77059 j_g@noway1234.com {J.G. Einstein} {5032 Glacier Pine Street} {Mount Gambier} TX 77513 chuck@noway1234.com {Chuck Mason} {6364 Turnagain Bluff Way} {Port Hedland} TX 77305 lyons@noway1234.com {Oma Lyons} {7893 Needle Circle} Burnie TX 77110 jerry@noway1234.com {Jerry Tagart} {1765 Academy Drive} Hamilton TX 77204 emery@noway1234.com {Emery McKinney} {2520 Kensington Circle} Centerville TX 77952 carson@noway1234.com {Chilton Carson} {8572 Newcastle Way} Bathurst TX 77917 goings@noway1234.com {Hazelton Goings} {4826 Steffes Street} Sunnyville TX 77633 merlin@noway1234.com {Merlin Elenga} {2057 Gertrude Street} {Mount Isa} TX 77349 emma@noway1234.com {Emma Conradt} {1365 Karen Lane} Nacogdoches TX 77628 lynnette@noway1234.com {Lynnette Pooch} {5684 Saint Elias Drive} Katy TX 77924 harvey@noway1234.com {Harvey Morrissey} {4376 East 18th Circle} Cairns TX 77334 kathryn@noway1234.com {Kathryn Goodrich} {2125 Caress Circle} Kema TX 77849 clara@noway1234.com {Clara Yoder} {10752 Firnline Drive} Monaville TX 77172 spencer@noway1234.com {Spencer Siske} {7458 Birch Run Circle} Albany TX 77772 vernon@noway1234.com {Vernon Frederick} {6817 Trail Bay Drive} {Padre Island} TX 77469 floerke@noway1234.com {Levi Floerke} {11415 Hillshire Court} Amarillo TX 77613 david@noway1234.com {David Sackaly} {5906 Baby Bear Drive} Pattison TX 77173 mullens@noway1234.com {Mullens Scharton} {7126 East 68th Avenue} Galveston TX 77536 casey@noway1234.com {Casey Thurber} {8301 Teri Circle} Houston TX 77849 kerchovel@noway1234.com {Kerchovel Evans} {7284 Aurora Drive} {Coober Pedy} TX 77783 aden@noway1234.com {Acie Aden} {11574 Applewood Circle} Bathurst TX 77105 noudaranouvong@noway1234.com {Dawson Noudaranouvong} {1543 Chandalar Street} Newcastle TX 77338 red@noway1234.com {Red Robinson} {8388 Cheely's Lane} Galveston TX 77853 blake@noway1234.com {Blake Husing} {7054 Anogoc Drive} Katy TX 77077 mollohan@noway1234.com {mollohan Mooney} {6665 Girdwood Place} Centerville TX 77396 hansford@noway1234.com {Hansford Brammann} {2913 Sandy Beach Drive} {Tennant Creek} TX 77305 colleen@noway1234.com {Colleen Dills} {5141 Maxwell Place} Pattison TX 77115 peggy@noway1234.com {Peggy Scott} {6801 Bumpy Road} {Broken Hill} TX 77541 carla@noway1234.com {Carla Blessing} {1220 West 37th Avenue} Albany TX 77620 gottula@noway1234.com {Sarah Gottula} {10920 Colwell Street} {San Antonio} TX 77177 laue@noway1234.com {Brown Laue} {8644 Galena Circle} Rockhampton TX 77132 hickman434@noway1234.com {Hickman Ossian} {10095 Balfour Drive} {San Antonio} TX 77448 tom@noway1234.com {Tom Hackbart} {6842 Maria Court} Nacogdoches TX 77740 garris469@noway1234.com {David Garris} {570 Torkelson Circle} Bourke TX 77441 jimmy930@noway1234.com {Jimmy Lyons} {6457 Justin Circle} {Alice Springs} TX 77958 pauline@noway1234.com {Pauline Campbell} {7628 Jackson Hole Court} Amarillo TX 77820 dodrill@noway1234.com {Dodrill Lambelet} {1460 Jelinek Place} Adelaide TX 77051 moss547@noway1234.com {Moss Roland} {2993 West 77th Avenue} Pattison TX 77476 jesse@noway1234.com {Jesse Menard} {2005 Thompson Avenue} Bendigo TX 77656 donrita@noway1234.com {Donrita Morrissey} {3967 Tyone Court} {Coober Pedy} TX 77251 burns@noway1234.com {W. Burns} {7351 Ladd Lane} {Padre Island} TX 77607 jenner@noway1234.com {Jenner Gregory} {11730 Parker Place} Austin TX 77963 lloyd@noway1234.com {Lloyd Purdy} {412 Wiley Post Avenue} Star TX 77235 verna@noway1234.com {Verna McHenry} {10444 Eshamy Bay Drive} {Coober Pedy} TX 77144 kreiling@noway1234.com {Dona Kreiling} {6951 Harca Street} {Tennant Creek} TX 77723 grove@noway1234.com {Janet Grove} {3381 Leslie Street} {Alice Springs} TX 77212 broady@noway1234.com {Gladys Broady} {4392 Excursion Circle} {Alice Springs} TX 77492 roy@noway1234.com {Roy Van} {11686 Oilwell Road} Launceston TX 77201 spence449@noway1234.com {Spence Dumitru} {6345 Tool Street} {Tennant Creek} TX 77900 averel@noway1234.com {Averel Severns} {3557 Seward Highway} Albury TX 77025 ruter@noway1234.com {Irene Ruter} {5556 Daniel Court} Rockhampton TX 77219 dancy@noway1234.com {Dancy Thies} {8228 Brighton Road} Rockhampton TX 77107 samuel@noway1234.com {Samuel Lueders} {900 Pass Place} {Coffs Harbour} TX 77649 niemann@noway1234.com {Charles Niemann} {11252 Paramount Drive} {Mount Gambier} TX 77429 diane@noway1234.com {Diane Rine} {9676 Augustine Drive} Burnie TX 77358 davis@noway1234.com {Rogers Davis} {8985 Lake O' The Hills Circle} {Port Hedland} TX 77150 ora@noway1234.com {Ora Homer} {129 Longhorn Street} Broome TX 77164 amos@noway1234.com {Margaret Amos} {5021 Diamond Circle} Sunnyville TX 77068 proctor@noway1234.com {Muncey Proctor} {9805 De Havilland Avenue} Launceston TX 77015 schreiner@noway1234.com {Joy Schreiner} {4775 Arlene Street} Hamilton TX 77773 faye@noway1234.com {Faye Henrichs} {11936 Skyway Drive} Houston TX 77504 bedford@noway1234.com {Bedford McDonald} {9589 East 63rd Avenue} Austin TX 77824 blaine@noway1234.com {Blaine Kuhl} {7609 North Eagle River Access Road} Townsville TX 77399 adkins@noway1234.com {Adkins Faris} {2760 Hidden Hill Court} Kema TX 77987 bryan831@noway1234.com {Pottie Bryan} {10670 Panther Drive} Austin TX 77684 moses@noway1234.com {Moses VanLaningham} {5334 Village Road} {Alice Springs} TX 77947 hollis@noway1234.com {Hollis Rine} {8232 Golden View Drive} Monaville TX 77777 sizemore@noway1234.com {Sizemore Rathe} {1996 Stanley Park Circle} Sunnyville TX 77116 miller@noway1234.com {Miller Krontz} {9865 Noblewood Street} Pattison TX 77783 torb@noway1234.com {Torb Weinrich} {3363 East 41st Court} Burnie TX 77990 wood@noway1234.com {Wood Mattox} {6693 River Park Circle} Nacogdoches TX 77237 sherie@noway1234.com {Sherie Sellhorn} {4233 Hillhaven Circle} Nacogdoches TX 77289 frank@noway1234.com {Frank Ebeler} {9428 Kester Circle} Star TX 77859 gill@noway1234.com {Gill Wolf} {3727 Vasili Drive} Tamworth TX 77258 hippen@noway1234.com {Pauline Hippen} {4929 Waldron Drive} Independence TX 77573 buster@noway1234.com {Buster Ossian} {1466 Kittiwake Circle} Rockhampton TX 77692 lawrence@noway1234.com {Eugene Lawrence} {1832 Karluk Street} Pattison TX 77725 ahtelene@noway1234.com {Ahtelene Lewis} {1247 Chandelle Drive} Albany TX 77096 mozelle@noway1234.com {Mozelle Hendee} {8585 Stanford Circle} Launceston TX 77308 neal@noway1234.com {Neal Hahn} {8369 East Klatt Road} Nacogdoches TX 77248 horriey@noway1234.com {Horriey Mcculla} {9075 Annapolis Drive} Mildura TX 77381 colton@noway1234.com {Anna Colton} {2732 David Lane} {Mount Gambier} TX 77564 ditlevson@noway1234.com {Doris Ditlevson} {4743 Warfield Place} Sunnyville TX 77376 ray@noway1234.com {Dodrill Ray} {1734 Pacific View Drive} {Mount Gambier} TX 77341 finke@noway1234.com {Sheryl Finke} {10774 Canton Loop} Monaville TX 77548 naber@noway1234.com {Jackson Naber} {4387 West 104th Avenue} Launceston TX 77650 blishack@noway1234.com {Blishack Van} {7080 West Klatt Road} {Mount Gambier} TX 77400 pudge@noway1234.com {Pudge Pan} {2351 Brandon Street} Bourke TX 77997 ernst@noway1234.com {Ernst McDonald} {11628 Spectrum Circle} {Port Augusta} TX 77617 phem@noway1234.com {Phem Miesbach} {8247 Rutan Place} Townsville TX 77123 bernard@noway1234.com {Bernard Schmiegelow} {7588 Arlington Drive} Queenstown TX 77643 d@noway1234.com {D Wegforth} {5260 Corner Tree Drive} {Mount Isa} TX 77006 frances@noway1234.com {Frances Swanson} {10946 Sushana Circle} Monaville TX 77942 ovil@noway1234.com {Ovil Hamm} {306 Mc Cain Loop} Independence TX 77239 mcculla@noway1234.com {White Mcculla} {1607 Delong Drive} {Padre Island} TX 77205 james_mcculla@noway1234.com {James Mcculla} {6167 Highlander Circle} {Alice Springs} TX 77308 jarel@noway1234.com {Jarel Topp} {930 Dawson Street} Katy TX 77234 mcquire@noway1234.com {McQuire Grove} {10881 Bellevue Circle} Hamilton TX 77292 king994@noway1234.com {T. King} {8601 San Bowfel Street} {San Felipe} TX 77903 doy@noway1234.com {Doy Yates} {10924 Wanigan Street} Waco TX 77545 robert@noway1234.com {Robert Lock} {6570 East 25th Court} {Coober Pedy} TX 77784 miesbach@noway1234.com {Claudine Miesbach} {11509 Mego Street} Waco TX 77741 dempsey@noway1234.com {Dempsey Thompson} {9104 Solomon Avenue} Tamworth TX 77129 ford@noway1234.com {Burton Ford} {5677 Waterfront Lane} {Coober Pedy} TX 77640 janet_staley@noway1234.com {Janet Staley} {4365 Chilkoot Court} {Broken Hill} TX 77308 samples@noway1234.com {Samples Kettelhake} {10458 Karen Avenue} {Coffs Harbour} TX 77567 rosie@noway1234.com {Rosie Hauptman} {2633 Pleasant View Drive} {Mount Gambier} TX 77662 mcpherrin@noway1234.com {Maysel McPherrin} {3570 Cloud Nine Circle} Mildura TX 77268 graff@noway1234.com {Buck Graff} {6601 Remington Circle} {Padre Island} TX 77139 greta@noway1234.com {Greta Peters} {10825 Maidianne Street} Nacogdoches TX 77743 hubert@noway1234.com {Hubert Kroll} {9333 Hillcrest Drive} Dallas TX 77313 pearl@noway1234.com {Pearl Lantz} {4708 East 114th Avenue} Townsville TX 77645 mcnergney@noway1234.com {Dimple McNergney} {2200 Kenny Place} Dallas TX 77587 noralea@noway1234.com {Noralea Heideman} {11499 East Fireweed Lane} Pattison TX 77320 gardner@noway1234.com {Gardner Rine} {5031 Kittiwake Circle} Albany TX 77940 jessie@noway1234.com {Jessie Stitt} {1106 Park Place} Adelaide TX 77915 nina@noway1234.com {Nina Siske} {1747 Overlook Place} Bendigo TX 77560 marshal@noway1234.com {Marshal Esser} {1299 Pointe Circle} {Coober Pedy} TX 77346 mommens@noway1234.com {Helen Mommens} {2004 Gulkana Circle} {Mount Gambier} TX 77049 bowers@noway1234.com {Bowers Smith} {9349 Toloff Street} Bourke TX 77028 laveda@noway1234.com {Laveda Puchalla} {6969 Burning Bush Drive} {Mount Isa} TX 77145 montz@noway1234.com {Dominic Montz} {6201 Turin Drive} Burnie TX 77807 joellen@noway1234.com {JoEllen Gregory} {8770 Mink Drive} Cairns TX 77353 brommer@noway1234.com {Irene Brommer} {8150 Swan Circle} Star TX 77506 pierce@noway1234.com {Bud Pierce} {550 Morgan Loop} {Coober Pedy} TX 77299 steven@noway1234.com {Steven Spence} {599 Randolph Street} Cairns TX 77108 janis@noway1234.com {Janis Sellman} {4177 Wes Way} {San Antonio} TX 77681 landry@noway1234.com {Macel Landry} {6423 Klingler Street} Mildura TX 77917 stump@noway1234.com {Stump Aden} {7507 Trail's End Road} {Coober Pedy} TX 77293 wegforth@noway1234.com {Diane Wegforth} {2226 Melody Place} Adelaide TX 77155 jack@noway1234.com {Jack Hershberger} {7738 East 12th Court} Waco TX 77304 henrietta@noway1234.com {Henrietta Halverstadt} {655 Brant Way} {Mount Isa} TX 77722 mandery@noway1234.com {Clara Mandery} {839 Robin Hood Drive} Launceston TX 77955 staley919@noway1234.com {A. Staley} {6375 Nugget Lane} Albury TX 77275 phylis@noway1234.com {Phylis Seawall} {5367 Imperial Drive} {Mount Isa} TX 77241 richardson@noway1234.com {Richardson Keim} {5903 Paul Revere Circle} Austin TX 77691 rothell@noway1234.com {Sterling Rothell} {3658 Ski Road} Brookshire TX 77014 giittinger@noway1234.com {Ann Giittinger} {6344 Carolyn Street} {Alice Springs} TX 77599 mule@noway1234.com {Mule Thongkhamvilay} {5390 Carlina Drive} {Port Augusta} TX 77009 lott210@noway1234.com {Lou Lott} {8798 Viburnum Drive} Launceston TX 77257 carlos@noway1234.com {Carlos Reilly} {10869 Crescent Drive} Tamworth TX 77874 browning@noway1234.com {Browning Tucker} {8572 Midvale Circle} Star TX 77958 osterthun@noway1234.com {Jenner Osterthun} {9838 Hamilton Drive} Houston TX 77561 michael@noway1234.com {Michael Warnke} {362 Post Road} Dallas TX 77583 harriet@noway1234.com {Harriet Jewell} {5165 Legacy Drive} {Port Augusta} TX 77808 harms@noway1234.com {Harms Logsdon} {10577 Eagle Place Loop} Star TX 77919 bird@noway1234.com {Bird Buerstetta} {2182 Hamann Road} {Coffs Harbour} TX 77679 georgene@noway1234.com {Georgene Lott} {1314 White Spruce Drive} Kema TX 77318 marian@noway1234.com {Marian Krouse} {6290 Hanson Drive} Waco TX 77875 borrenphol@noway1234.com {Donohue Borrenphol} {2440 Brittany Place} Austin TX 77696 christensen@noway1234.com {Bernard Christensen} {9114 Daybreak Court} Centerville TX 77439 edna@noway1234.com {Edna Krouse} {11678 Karta Circle} {Mount Isa} TX 77793 phil@noway1234.com {Phil Piersol} {2771 Maywood Circle} OOdnadatta TX 77652 needra@noway1234.com {Needra Rickman} {3968 Casey Circle} Ketherine TX 77025 ramsey697@noway1234.com {Ramsey Schmidt} {6759 Sherrie Street} Katy TX 77513 oscar@noway1234.com {Oscar Lyons} {685 Waterfall Drive} {Mount Isa} TX 77540 emanuel@noway1234.com {Emanuel Craig} {5085 Fisher Drive} Houston TX 77371 dennis@noway1234.com {Dennis Hansel} {4726 Borland Drive} Sunnyville TX 77382 bowers206@noway1234.com {Bowers Branting} {2537 Rocky Road} Rockhampton TX 77943 oldfather@noway1234.com {Acie Oldfather} {7261 Juanita Street} Townsville TX 77715 noreene@noway1234.com {Noreene Stahl} {9977 Sutwik Circle} Monaville TX 77090 hall@noway1234.com {Hall Hindera} {9744 Gabriel Circle} Albany TX 77418 berne101@noway1234.com {Berne Staley} {1580 Lakonia Drive} {Port Hedland} TX 77816 sue@noway1234.com {Sue Kaster} {2917 Columbia Glacier Loop} OOdnadatta TX 77233 lane@noway1234.com {Lane Kreiling} {80 Galena Circle} Independence TX 77178 sikyta@noway1234.com {Ann Sikyta} {1697 Ira Drive} {Tennant Creek} TX 77285 diann@noway1234.com {Diann Luck} {2743 Arlon Street} {San Felipe} TX 77578 tejral@noway1234.com {Marple Tejral} {9226 Lampert Circle} Tamworth TX 77459 osbome@noway1234.com {Osbome Severns} {3666 Endicott Street} Rockhampton TX 77937 lucy@noway1234.com {Lucy Gibson} {2411 Wickersham Drive} Bathurst TX 77967 kerchal79@noway1234.com {Morris Kerchal} {8920 Garmisch Road} Mildura TX 77716 kavanaugh@noway1234.com {Ester Kavanaugh} {3553 Turks Turn Street} Albany TX 77677 cecilia@noway1234.com {Cecilia Hutt} {3892 Woodshire Circle} Sunnyville TX 77391 marilynn@noway1234.com {Marilynn Masur} {7808 Campbell Terrace Place} Pattison TX 77009 wenzel@noway1234.com {Loring Wenzel} {7129 Sherwood Circle} Star TX 77735 omer@noway1234.com {Omer Oestmann} {1109 Jesse Lee Court} Mildura TX 77326 tenney@noway1234.com {Tenney Gordon} {9467 Muley Circle} {Coober Pedy} TX 77369 garnet@noway1234.com {Garnet Mathis} {10964 Longbow Drive} Tamworth TX 77267 suzette@noway1234.com {Suzette Rubin} {5613 West Prince Of Peace Drive} Amarillo TX 77041 glendora@noway1234.com {Glendora Bohung} {9557 Rushwood Circle} Kema TX 77743 pope@noway1234.com {Jean Pope} {6455 Alpina Way} Mildura TX 77031 krouse@noway1234.com {Samuel Krouse} {11221 East International Airport Road} Burnie TX 77700 leerie@noway1234.com {Leerie Pierce} {284 Frank Street} OOdnadatta TX 77157 orbit@noway1234.com {Orbit Rauner} {942 Glenn Circle} Houston TX 77345 rathe@noway1234.com {Ned Rathe} {779 Golden Wood Lane} Albany TX 77710 osa@noway1234.com {Osa Topp} {8114 Randolph Street} {Port Augusta} TX 77135 bogle@noway1234.com {Joe Bogle} {9170 Mount Mc Kinley Drive} Wollongong TX 77621 robison@noway1234.com {Keener Robison} {8644 Brooks Road} Austin TX 77810 mary_mcnergney@noway1234.com {Mary McNergney} {9350 Tolhurst Court} Star TX 77685 eileen@noway1234.com {Eileen Weyers} {4735 Rosebud Row Avenue} Cairns TX 77641 s804@noway1234.com {S. Todter} {4868 Pearl Street} Bendigo TX 77318 masur345@noway1234.com {Gardner Masur} {2273 Linden Drive} Townsville TX 77470 amber@noway1234.com {Amber Dieckmann} {1915 Blueberry Street} Albury TX 77993 bernice@noway1234.com {Bernice Phommachan} {3469 Bounty Drive} Albany TX 77027 oss@noway1234.com {Oss Nakamura} {7904 Country Lane Circle} {Coffs Harbour} TX 77607 conradt@noway1234.com {Mae Conradt} {9196 Sinner Street} Mildura TX 77086 allen@noway1234.com {Allen Lott} {6574 Maximilian Drive} {San Antonio} TX 77042 lyle@noway1234.com {Lyle Stettenbenz} {6162 Valley Avenue} {San Felipe} TX 77423 sandi@noway1234.com {Sandi Rohmeyer} {3843 Poniard Drive} Star TX 77744 evette@noway1234.com {Evette Wenzl} {5751 Tahoe Circle} Star TX 77960 myrtle@noway1234.com {Myrtle Piersol} {11031 Mount Kiliak Circle} Kema TX 77902 maryln@noway1234.com {Maryln Snowden} {9572 Pilots Road} Newcastle TX 77049 steinmeyer@noway1234.com {Betty Steinmeyer} {6151 West Prince Of Peace Drive} Tamworth TX 77314 lore@noway1234.com {Lore Rosakrans} {8311 Primrose Street} Galveston TX 77726 jim@noway1234.com {Jim Rader} {11156 Arnica Circle} Dallas TX 77494 donna284@noway1234.com {Donna Klein} {3933 Jay Circle} {Alice Springs} TX 77288 jewell@noway1234.com {Marian Jewell} {5591 Cape Circle} Broome TX 77971 arron@noway1234.com {Arron Houmann} {8794 Sikorsky Avenue} Brookshire TX 77313 finn@noway1234.com {Margaret Finn} {9233 Witherspoon Circle} {Mount Gambier} TX 77229 lorah@noway1234.com {Lorah Sterling} {513 Kempton Hills Drive} Centerville TX 77453 maxine@noway1234.com {Maxine Lawrence} {5769 Patches Avenue} Tamworth TX 77782 deborah@noway1234.com {Deborah Schmid} {4133 Vallihi Circle} Launceston TX 77706 mickey@noway1234.com {Mickey Reilly} {1675 Newton Court} Bourke TX 77011 garland@noway1234.com {Garland Taylor} {5694 Grace Street} Cairns TX 77993 jefferson@noway1234.com {Jefferson VanLaningham} {7326 Raven Court} Nacogdoches TX 77231 doeden@noway1234.com {Morgan Doeden} {2208 Orion Circle} Wollongong TX 77431 sand637@noway1234.com {Thomas Sand} {3127 Rachel Avenue} Albany TX 77232 kathleen@noway1234.com {Kathleen Robison} {3092 Covington Court} Centerville TX 77134 larry@noway1234.com {Larry Buethe} {6192 Opal Circle} {Padre Island} TX 77343 riensche@noway1234.com {John Riensche} {11732 Mills Bay Drive} Albany TX 77108 iv@noway1234.com {IV Schermbeck} {7917 Immelman Circle} {Port Hedland} TX 77804 barb@noway1234.com {Barb Vrbka} {8460 Hollow Street} Galveston TX 77049 obie@noway1234.com {Obie Beethe} {473 Emerald Street} Broome TX 77691 agena@noway1234.com {Dixie Agena} {1718 East Fireweed Lane} {Port Hedland} TX 77454 spadden@noway1234.com {spadden Kerr} {10561 Kaylin Circle} {Coffs Harbour} TX 77058 littlejohn@noway1234.com {Wilson Littlejohn} {7004 Delong Circle} Galveston TX 77899 harold@noway1234.com {Harold Hitzeman} {6099 Browning Drive} Rockhampton TX 77102 finke884@noway1234.com {Young Finke} {998 Valley Forge Circle} {Mount Gambier} TX 77646 gibbs@noway1234.com {T. Gibbs} {10893 Moorland Street} Waco TX 77917 winkle@noway1234.com {Wink Winkle} {1283 Business Park Boulevard} {Coffs Harbour} TX 77752 harrington@noway1234.com {T. Harrington} {9052 Mount Korohusk Circle} {Mount Isa} TX 77460 shew@noway1234.com {Dunlap Shew} {7009 Brayton Drive} Monaville TX 77074 witte@noway1234.com {Moss Witte} {1346 Sweetwater Circle} Albany TX 77731 fredrick@noway1234.com {Fredrick Durst} {927 Riddell Street} Adelaide TX 77750 pershing@noway1234.com {Pershing Rickman} {10936 Canyon Road} Hamilton TX 77962 friend@noway1234.com {Friend Bray} {9653 Bert Circle} Pattison TX 77954 jo414@noway1234.com {Jo Miesbach} {6783 Bear Mountain View Circle} Ketherine TX 77956 stoner@noway1234.com {Robert Stoner} {6608 Unimak Circle} Pattison TX 77863 eric@noway1234.com {Eric Waring} {7590 Liberty Road} {Port Hedland} TX 77390 pella@noway1234.com {A. Pella} {2474 Crystal Creek Drive} Galveston TX 77023 hahn@noway1234.com {Scott Hahn} {467 Peninsula Circle} OOdnadatta TX 77691 wilhelm@noway1234.com {woods Wilhelm} {4403 Lampert Circle} Austin TX 77003 inez@noway1234.com {Inez Kerr} {7916 Yale Drive} Wollongong TX 77286 hazelton726@noway1234.com {Hazelton Harms} {11231 Augustine Drive} Rockhampton TX 77572 ross@noway1234.com {Ross Waring} {1417 Sextant Circle} Bourke TX 77066 jennings@noway1234.com {Jennings Lewis} {9467 Viking Drive} Bendigo TX 77568 hunt@noway1234.com {Hunt Weible} {6986 Barbara Drive} Dallas TX 77758 anton@noway1234.com {Anton Carmine} {4086 West 29th Avenue} {Mount Isa} TX 77261 floerke4@noway1234.com {Pat Floerke} {6766 Mayfair Circle} Albany TX 77881 loren@noway1234.com {Loren Mattheis} {809 Greece Drive} Nacogdoches TX 77761 stordahl@noway1234.com {Jeanie Stordahl} {3289 Joseph Street} Cairns TX 77617 roena@noway1234.com {Roena Mapes} {10347 Chirikof Court} Katy TX 77643 fisher@noway1234.com {Rauner Fisher} {3297 Dakota Street} Queenstown TX 77939 joey@noway1234.com {Joey Spence} {11008 Fordham Drive} Cairns TX 77604 diann650@noway1234.com {Diann Burns} {7395 Olive Lane} Bendigo TX 77010 norma@noway1234.com {Norma Petersen} {435 Arboretum Street} Katy TX 77204 kathy@noway1234.com {Kathy Jacobsen} {9592 Fatemeh Circle} Nacogdoches TX 77064 sackaly@noway1234.com {Frame Sackaly} {3786 Retriever Circle} Dallas TX 77332 karen@noway1234.com {Karen Chritton} {6509 Prescott Street} {San Antonio} TX 77832 hervey@noway1234.com {Pudge Hervey} {416 Doggie Avenue} {San Antonio} TX 77628 g@noway1234.com {G. Wenzel} {7908 Larkspur Street} Monaville TX 77494 stanley@noway1234.com {Stanley DeLong} {5841 Nitoanya Circle} Waco TX 77613 robinson@noway1234.com {Robinson Grable} {6368 Goff Street} Wollongong TX 77289 junie@noway1234.com {Junie Drake} {7818 West 39th Avenue} {Padre Island} TX 77462 cork@noway1234.com {Cork Malone} {321 West 72nd Avenue} {San Antonio} TX 77295 hoke@noway1234.com {Myrtle Hoke} {9475 Sycamore Loop} Mildura TX 77230 cluster@noway1234.com {Cluster McCulla} {7866 Sunset View Street} {Coffs Harbour} TX 77463 hayes@noway1234.com {Imogene Hayes} {4674 Northgate Drive} Wollongong TX 77143 l930@noway1234.com {L. Quinn} {5928 Ebbtide Circle} Amarillo TX 77747 newman@noway1234.com {Newman Volkmer} {5516 East Zeus Circle} {Coffs Harbour} TX 77078 given531@noway1234.com {Given Burns} {2571 Callaway Circle} {Mount Isa} TX 77144 l616@noway1234.com {L. Jewell} {2614 Caswell Ave} Ketherine TX 77819 gumm@noway1234.com {Gumm Ruby} {11103 West Frontage Road} OOdnadatta TX 77303 gilbert@noway1234.com {Gilbert Seeba} {9276 Loc Sault Avenue} Monaville TX 77439 merida@noway1234.com {Merida Glasson} {9000 Deborah Lane} OOdnadatta TX 77312 pieratt@noway1234.com {Bud Pieratt} {570 Bonnie Jean Court} {Mount Gambier} TX 77853 lovell@noway1234.com {Lovell Jacobsen} {6063 Birch Trail Circle} Townsville TX 77868 reiber@noway1234.com {Ida Reiber} {990 North Star Street} Pattison TX 77876 buerstetta@noway1234.com {Morris Buerstetta} {10279 North Eagle River Access Road} Cairns TX 77521 frederick@noway1234.com {Myrtle Frederick} {5298 Curvell Drive} {San Felipe} TX 77248 fleck482@noway1234.com {Marian Fleck} {1727 Pluto Drive} Pattison TX 77377 carlon@noway1234.com {Carlon Carman} {575 Doil Drive} Wollongong TX 77296 rickman@noway1234.com {Buck Rickman} {1897 Ahtena Circle} {Port Augusta} TX 77072 hazel@noway1234.com {Hazel Seward} {11836 East 101st Avenue} {Port Augusta} TX 77853 edgar@noway1234.com {Edgar Belding} {2879 Sand Lake Road} Hamilton TX 77964 collison@noway1234.com {Collison Mayfield} {2555 Morningtide Court} Bourke TX 77344 irne@noway1234.com {Irne Phillips} {10015 Brandl Street} {Broken Hill} TX 77823 marie@noway1234.com {Marie Hesman} {9886 Davis Court} Broome TX 77283 geweke@noway1234.com {Ann Geweke} {2540 Bradley Circle} Katy TX 77939 holden@noway1234.com {Peggy Holden} {9935 Shale Circle} Queenstown TX 77009 duane@noway1234.com {Duane Oestmann} {801 West 16th Avenue} Pattison TX 77097 swanson695@noway1234.com {Dean Swanson} {1548 Cimarron Circle} Mildura TX 77268 nelson@noway1234.com {Nelson Norvell} {7006 Raintree Circle} Houston TX 77562 irene583@noway1234.com {Irene Ruby} {1733 Reklas Circle} Galveston TX 77299 donna_rathe@noway1234.com {Donna Rathe} {4745 New England Drive} Cairns TX 77925 nettles@noway1234.com {Nettles Stangel} {974 West Harvard Avenue} {Alice Springs} TX 77873 christian@noway1234.com {Christian Morrow} {3920 Kilo Circle} Austin TX 77936 jerold537@noway1234.com {Jerold Mcculla} {2005 Lakonia Drive} {Port Augusta} TX 77708 hoover@noway1234.com {Hoover Hagelback} {5470 Keyhole Circle} Adelaide TX 77497 quentin@noway1234.com {Quentin Jones} {2254 Windsor Place} Bendigo TX 77485 rathbun@noway1234.com {Ona Rathbun} {4235 Country Meadow Circle} Austin TX 77349 gay277@noway1234.com {Gay Horstman} {9955 Amber Bay Circle} Bourke TX 77055 greeb@noway1234.com {Merle Greeb} {10928 North C Street} Katy TX 77084 suhr@noway1234.com {Hughes Suhr} {286 East 53rd Avenue} {Coffs Harbour} TX 77259 lila@noway1234.com {Lila Pope} {3270 East International Airport Road} Bourke TX 77312 backus@noway1234.com {Backus Hansel} {10018 Ginami Circle} Albury TX 77549 rebuck934@noway1234.com {Osbome Rebuck} {106 Dotie's Drive} Nacogdoches TX 77756 ralph@noway1234.com {Ralph Evans} {310 Montagne Circle} Ketherine TX 77012 goers@noway1234.com {Ross Goers} {2278 Ben Court} {Alice Springs} TX 77676 tinney@noway1234.com {Tinney Russell} {4744 Sutwik Circle} Austin TX 77761 w_b@noway1234.com {W.B. Homer} {5831 Westland Circle} Newcastle TX 77022 filmore@noway1234.com {Filmore Ruter} {8911 Newport Circle} Tamworth TX 77934 rau@noway1234.com {Mary Rau} {11914 Jerry Avenue} {Padre Island} TX 77924 j_a@noway1234.com {J.A. Krontz} {1359 Landings Circle} {San Felipe} TX 77722 mitzi@noway1234.com {Mitzi Hoke} {9610 Jim Avenue} {Padre Island} TX 77260 parsons@noway1234.com {Parsons Staley} {7184 Dimond D Circle} Sunnyville TX 77625 leola@noway1234.com {Leola Fink} {10640 North C Street} Ketherine TX 77153 burns146@noway1234.com {Johnson Burns} {9985 Twining Drive} Broome TX 77216 gibson@noway1234.com {Gibson Koehler} {5429 Campus Circle} {Padre Island} TX 77891 schroder@noway1234.com {Dodrill Schroder} {11461 Flower Street} Kema TX 77018 joe_malone@noway1234.com {Joe Malone} {10606 Samalga Circle} Houston TX 77896 jess@noway1234.com {Jess Rademacher} {831 Melody Lane} Monaville TX 77231 siske@noway1234.com {Noralea Siske} {9932 Northrup Circle} Eucla TX 77235 roberta@noway1234.com {Roberta Gorton} {10272 Kelly Circle} Centerville TX 77749 genniene@noway1234.com {Genniene Carpenter} {10337 Buttress Haul Road} Albury TX 77165 ernestine@noway1234.com {Ernestine Drake} {10203 Louis Place} {Coffs Harbour} TX 77061 bude@noway1234.com {Bude Todter} {11462 Loc Sault Avenue} Amarillo TX 77420 rizor@noway1234.com {Imogene Rizor} {10255 Cherokee Court} Rockhampton TX 77973 mahetable@noway1234.com {Mahetable Klein} {3106 Beechcraft Drive} Bourke TX 77333 saunders@noway1234.com {Macel Saunders} {7858 Excursion Circle} Star TX 77107 mardell_hupka@noway1234.com {Mardell Hupka} {1864 Fountain Drive} Centerville TX 77635 bennett@noway1234.com {Volmer Bennett} {5440 Dotberry Drive} Sunnyville TX 77118 steel@noway1234.com {Steel Feurer} {7388 East 110th Avenue} Houston TX 77585 esser326@noway1234.com {Buck Esser} {6978 Cliff Court} {Coober Pedy} TX 77929 glasson@noway1234.com {Jo Glasson} {8805 Knowles Circle} {Coffs Harbour} TX 77992 ancil@noway1234.com {Ancil Jochim} {431 Duncanshire Place} Houston TX 77622 legg@noway1234.com {Legg Vrbka} {10165 Claudene Loop} Sunnyville TX 77833 rue@noway1234.com {Rue Montz} {289 Dimond Hook Drive} {Coober Pedy} TX 77595 jasper@noway1234.com {Jasper Zager} {6199 Old Seward Highway} Broome TX 77503 yates@noway1234.com {Wanda Yates} {4575 Romig Place} Bathurst TX 77218 penelope@noway1234.com {Penelope Rebuck} {7355 North Strand Lane} Dallas TX 77437 nell@noway1234.com {Nell Dollarhide} {8195 Blair Avenue} {San Felipe} TX 77130 buttermilk@noway1234.com {Buttermilk Eltiste} {10910 Yorkshire Lane} {Mount Gambier} TX 77791 einstein@noway1234.com {Wilson Einstein} {11328 Francesca Drive} Eucla TX 77301 carson605@noway1234.com {Rosa Carson} {67 West 24th Avenue} Amarillo TX 77410 cleve@noway1234.com {Cleve Schweppe} {8442 Mc Rae Road} Austin TX 77611 mavallee@noway1234.com {Mavallee Gobber} {11411 Rowan Street} Dallas TX 77095 goldie@noway1234.com {Goldie Laue} {3227 Mc Lean Place} {San Felipe} TX 77385 kae@noway1234.com {Kae Vongsaly} {87 Showers Avenue} Brookshire TX 77391 cawley647@noway1234.com {Sandi Cawley} {9912 Little Creek Drive} Amarillo TX 77597 carroll@noway1234.com {Carroll Mccoy} {6478 Cleo Avenue} {Broken Hill} TX 77656 matthew@noway1234.com {Matthew Schacht} {10916 Tobuk Circle} {San Felipe} TX 77389 sally@noway1234.com {Sally Sterling} {800 Sugar Circle} Eucla TX 77343 d7@noway1234.com {D. Graff} {207 Decoy Circle} {Mount Isa} TX 77475 neukirch@noway1234.com {Nellie Neukirch} {10865 Resurrection Drive} {Mount Gambier} TX 77698 lofgren@noway1234.com {T. Lofgren} {2371 Tidepool Place} Bathurst TX 77462 miller_gibson@noway1234.com {Miller Gibson} {9601 East Dimond Circle} {Mount Isa} TX 77664 deane@noway1234.com {Deane Kroll} {4678 Prescott Street} Tamworth TX 77881 cotrill891@noway1234.com {Cotrill Oltman} {1804 Upper Sunny Circle} Katy TX 77081 arthur@noway1234.com {Arthur Fricke} {7530 Rodeo Place} Albany TX 77105 tilden@noway1234.com {Tilden Aden} {9523 Larkspur Street} Galveston TX 77210 ermine@noway1234.com {Ermine Knox} {4265 Klondike Street} Galveston TX 77635 wayne@noway1234.com {Wayne Grove} {1314 Will Rogers Place} Centerville TX 77655 haymon@noway1234.com {Haymon Olsen} {1773 Bowdoin Circle} Amarillo TX 77262 perry_mcalexander@noway1234.com {Perry Mcalexander} {3626 Lynx Way} {San Antonio} TX 77371 harmon@noway1234.com {Harmon Staley} {7175 Topaz Avenue} Hamilton TX 77328 sussie@noway1234.com {Sussie Hamm} {206 Mirage Circle} Katy TX 77495 randy@noway1234.com {Randy Landry} {11794 Loland Drive} Townsville TX 77924 jessie_ruby@noway1234.com {Jessie Ruby} {9262 Seppala Drive} Brookshire TX 77567 neemann@noway1234.com {Jackson Neemann} {6659 Specking Avenue} Monaville TX 77418 mccoy@noway1234.com {R. McCoy} {6101 Nettleton Drive} Albury TX 77010 menard@noway1234.com {Nicholas Menard} {3376 Belknap Circle} Townsville TX 77181 billine@noway1234.com {Billine Taylor} {9550 Apollo Drive} Houston TX 77934 humann@noway1234.com {Dee Humann} {2663 Helvetia Drive} Nacogdoches TX 77281 mckinney@noway1234.com {Delbert McKinney} {7083 Monte Road} {Alice Springs} TX 77895 jolene@noway1234.com {Jolene Esser} {5721 Ellen Circle} Queenstown TX 77948 neill@noway1234.com {Daniel Neill} {9752 Kalmia Drive} {San Antonio} TX 77663 chelsie@noway1234.com {Chelsie Meyer} {6701 Husky Street} Bathurst TX 77224 gillette@noway1234.com {Hunter Gillette} {8209 Rakof Avenue} Centerville TX 77799 leuder@noway1234.com {Moore Leuder} {9275 East 38th Avenue} Katy TX 77867 prussia@noway1234.com {Prussia Sellman} {3482 Lane Street} Cairns TX 77646 guy@noway1234.com {Guy Lofgren} {7886 Wolf Way} {Mount Isa} TX 77371 goosman@noway1234.com {Frame Goosman} {8730 Resort Circle} {Mount Gambier} TX 77521 boline@noway1234.com {s Boline} {2169 Crestline Road} Kema TX 77084 carte@noway1234.com {Carte Rogers} {1223 East 80th Avenue} Albury TX 77272 shaffer@noway1234.com {Shaffer Campbell} {8055 Seal Point Circle} Pattison TX 77485 neukirch26@noway1234.com {Boyd Neukirch} {1455 Nickell Circle} {San Felipe} TX 77013 lillie@noway1234.com {Lillie Ford} {8859 Fawn Lane} Eucla TX 77216 stanley736@noway1234.com {Stanley Sackaly} {7274 Discovery Park Drive} {Mount Isa} TX 77797 fuller@noway1234.com {Lorene Fuller} {4314 Heritage Center Drive} Adelaide TX 77076 dodrill_sorensen@noway1234.com {Dodrill Sorensen} {8874 Virda Lee Circle} {Alice Springs} TX 77381 williams@noway1234.com {Williams Gates} {7550 Reliance Drive} {Mount Isa} TX 77696 tenhulzen@noway1234.com {T. TenHulzen} {1931 Swanee Court} OOdnadatta TX 77075 ruth@noway1234.com {Ruth Lacey} {11302 Maplewood Street} Broome TX 77729 maxine580@noway1234.com {Maxine Menard} {1628 Dylan Drive} Monaville TX 77600 hess@noway1234.com {Hess Uhrmacher} {4475 Carriage Drive} OOdnadatta TX 77460 baum@noway1234.com {Baum Yoder} {9387 Nix Court} Houston TX 77064 viola@noway1234.com {Viola Kerchal} {1130 Navrot Circle} Monaville TX 77219 malissa@noway1234.com {Malissa Scharton} {6946 Bellevue Circle} {Broken Hill} TX 77941 zelia@noway1234.com {Zelia Winkle} {7697 Snowy Court} Centerville TX 77742 whitehead@noway1234.com {Ann Whitehead} {5543 Jeanne Road} OOdnadatta TX 77974 nora@noway1234.com {Nora Kuhl} {5850 West Lake Avenue} Albany TX 77720 amsberry200@noway1234.com {Roena Amsberry} {5526 Bisquier Drive} Burnie TX 77814 kay@noway1234.com {Kay Johns} {6037 Craig Creek Circle} Eucla TX 77771 taylor@noway1234.com {Lee Taylor} {11865 Sumac Drive} Albany TX 77205 west@noway1234.com {Holcomb West} {462 Baxter Court} Kema TX 77076 iciphine@noway1234.com {Iciphine Rothell} {10656 Cervin Circle} Amarillo TX 77936 rosalie@noway1234.com {Rosalie Mann} {7230 Lang Street} {Coffs Harbour} TX 77385 clifton360@noway1234.com {Bud Clifton} {7602 Bryant Ridge Place} Albany TX 77925 evalina@noway1234.com {Evalina Mooney} {1960 Merrill Field Drive} Queenstown TX 77465 doc@noway1234.com {Doc Gibson} {7798 Linda Lane} Launceston TX 77532 kelly@noway1234.com {Kelly Hutt} {9974 Chickadee Street} {Coober Pedy} TX 77656 dirksen@noway1234.com {Maxine Dirksen} {8812 Ambler Lane} Mildura TX 77153 barnette@noway1234.com {Barnette Weyers} {2278 West 68th Avenue} Austin TX 77980 jimmie@noway1234.com {Jimmie Carson} {11991 Ridgeview Drive} {Port Hedland} TX 77093 vena@noway1234.com {Vena Wenzl} {3225 Cicutta Way} Rockhampton TX 77480 dillaplain@noway1234.com {Mullins Dillaplain} {7837 Belknap Circle} Centerville TX 77881 ocie@noway1234.com {Ocie Werner} {4233 De Ette Circle} Monaville TX 77894 west224@noway1234.com {Boggs West} {4189 West 78th Court} Launceston TX 77556 donzel@noway1234.com {Donzel Todter} {951 Ascot Street} Ketherine TX 77042 willis@noway1234.com {Willis Stone} {8728 North Parkview Terrace Loop} Houston TX 77807 lou752@noway1234.com {Lou Stoddard} {746 Teri Circle} Independence TX 77957 florence@noway1234.com {Florence Baird} {2171 Lassen Street} Hamilton TX 77095 burkley@noway1234.com {Burkley Foetisch} {7822 Cheechako Street} {Port Hedland} TX 77921 wolf@noway1234.com {D. Wolf} {9198 Eleusis Circle} Independence TX 77022 arch@noway1234.com {Arch Troeger} {2375 Michelin Place} Bourke TX 77109 gregg@noway1234.com {Gregg Hansel} {4310 Keta Circle} Ketherine TX 77141 buddy@noway1234.com {Buddy Feurer} {4195 Bluebell Drive} Albury TX 77585 ira@noway1234.com {Ira Kleine} {1817 Milky Way Drive} Launceston TX 77468 ruter291@noway1234.com {Butcher Ruter} {3303 East 42nd Court} Rockhampton TX 77214 greene@noway1234.com {Betty Greene} {5049 Marsha Loop} Albury TX 77806 billie@noway1234.com {Billie Philippi} {4685 Cutwater Circle} Galveston TX 77245 andrew@noway1234.com {Andrew Christensen} {10869 Auriga Way} Pattison TX 77260 a825@noway1234.com {A. Mommens} {3530 Mc Cain Road} Queenstown TX 77634 arnett@noway1234.com {Arnett Bicknell} {1609 Waxwing Circle} Newcastle TX 77670 freeda@noway1234.com {Freeda Rathbun} {11916 Kilkenny Circle} {Mount Gambier} TX 77380 triplett@noway1234.com {Triplett Keedy} {8304 Austin Street} {Port Augusta} TX 77614 quinton@noway1234.com {Quinton Clifton} {7149 Downhill Circle} {San Felipe} TX 77695 eells@noway1234.com {Triplett Eells} {5885 Mirror Lake Drive} {Broken Hill} TX 77601 phillips@noway1234.com {Phillips Shaffer} {2936 Liberty Circle} Monaville TX 77352 sigman@noway1234.com {Sigman Allen} {11840 Judy Street} Newcastle TX 77188 macel127@noway1234.com {Macel Rau} {363 Orange Leaf Circle} Broome TX 77900 zellmer@noway1234.com {Elizabeth Zellmer} {4750 Hillcrest Lane} {Padre Island} TX 77082 mcalexander421@noway1234.com {Merida Mcalexander} {3311 Hatcher Circle} Katy TX 77212 woodrow@noway1234.com {Woodrow Lock} {10985 Campus Street} {Tennant Creek} TX 77973 c_l@noway1234.com {C.L. Laug} {9503 Lakehurst Drive} {Broken Hill} TX 77224 marcella@noway1234.com {Marcella Lempka} {9045 Cliffside Drive} Bendigo TX 77796 wherry@noway1234.com {Ann Wherry} {3260 Voyles Boulevard} {Broken Hill} TX 77632 muncey431@noway1234.com {Muncey Witte} {9190 West 40th Avenue} Waco TX 77012 darnell@noway1234.com {Darnell Hunt} {1597 North Wrangell Street} Austin TX 77471 kelley@noway1234.com {Phala Kelley} {5923 Mercy Drive} Albury TX 77426 laura@noway1234.com {Laura Aldana} {9321 Honey Bear Circle} Bourke TX 77993 emory@noway1234.com {Emory Siske} {3529 Ravenview Loop Road} Wollongong TX 77819 jeannene@noway1234.com {Jeannene Scherrer} {1049 Treasure Box Mine Road} Hamilton TX 77347 jacquine@noway1234.com {Jacquine Beethe} {250 Meadow View Drive} {Tennant Creek} TX 77169 scott594@noway1234.com {JoAnn Scott} {8472 Viola Circle} {San Felipe} TX 77512 tinnel@noway1234.com {Tinnel Huff} {6324 L Street} {Port Hedland} TX 77702 halverstadt202@noway1234.com {D. Halverstadt} {8461 Bellevue Circle} {Coober Pedy} TX 77546 gerald@noway1234.com {Gerald Bicknell} {5946 Hilltop Circle} Mildura TX 77973 elkins@noway1234.com {Elkins Lempke} {1248 Genevieve Street} Launceston TX 77124 lcie@noway1234.com {lcie Robison} {11422 East 98th Avenue} Adelaide TX 77579 wherry755@noway1234.com {L. Wherry} {6742 Greenhill Way} {San Felipe} TX 77508 jesse268@noway1234.com {Jesse Mccoy} {11452 Nancy Circle} {Padre Island} TX 77791 brady@noway1234.com {Brady Reiber} {3292 Vanderbilt Circle} Townsville TX 77561 dough_belly677@noway1234.com {Dough Belly Fuller} {4737 Aspen Court} Centerville TX 77486 bette@noway1234.com {Bette Olmsted} {5447 Tudor Hills Court} Brookshire TX 77431 hemmer@noway1234.com {Bud Hemmer} {564 West 25th Avenue} Hamilton TX 77725 walker@noway1234.com {Walker Tagart} {7150 West 72nd Avenue} Newcastle TX 77914 kae434@noway1234.com {Kae Johnson} {10489 Marilaine Drive} Hamilton TX 77665 sova@noway1234.com {J.D. Sova} {2321 Diplomacy Drive} {Broken Hill} TX 77418 landry750@noway1234.com {Goldie Landry} {8678 Summerset Drive} {Padre Island} TX 77896 imogene_chittenden@noway1234.com {Imogene Chittenden} {4839 Groh Street} Eucla TX 77251 renee@noway1234.com {Renee Beethe} {3622 Weatherly Court} Mildura TX 77353 jessie919@noway1234.com {Jessie Kreiling} {5508 Shetland Heights Circle} {Port Augusta} TX 77439 irvin183@noway1234.com {Irvin Ray} {2707 Delphin Circle} Newcastle TX 77402 purdy@noway1234.com {Keener Purdy} {4370 Spruce Run Circle} Pattison TX 77795 dick@noway1234.com {Dick Cottingham} {4074 Capricorn Circle} Hamilton TX 77268 karl@noway1234.com {Karl Schmiegelow} {8282 Quick Way} {San Felipe} TX 77967 dawn@noway1234.com {Dawn King} {10810 Anne Circle} Dallas TX 77247 snowden@noway1234.com {Eugene Snowden} {3225 Redwood Street} Burnie TX 77127 armknecht@noway1234.com {Gillispie Armknecht} {791 Beaujolais Drive} Star TX 77627 schweppe@noway1234.com {Noralee Schweppe} {6040 Fire Lake Drive} Broome TX 77049 kelly955@noway1234.com {Kelly Whitehead} {8745 East 100th Avenue} {Mount Gambier} TX 77659 mudflaps@noway1234.com {Mudflaps Thurber} {9397 Hidden Point Loop} Launceston TX 77773 casto683@noway1234.com {Casto Tejral} {1686 Mount Yukla Circle} Broome TX 77187 williams124@noway1234.com {Williams Schreiner} {607 Christopher Circle} Newcastle TX 77804 blanch@noway1234.com {Blanch Davison} {9218 Woodroe Lane} Monaville TX 77241 kirkman@noway1234.com {Shaffer Kirkman} {6399 North Tug Road} {Port Hedland} TX 77248 herbert@noway1234.com {Herbert Pierce} {5471 Lane Circle} Galveston TX 77937 morrissey@noway1234.com {Phala Morrissey} {10854 West End Road} Sunnyville TX 77031 winnie@noway1234.com {Winnie Dieckmann} {495 Bruce Lane} Galveston TX 77824 walter@noway1234.com {Walter Guenther} {9858 West 88th Avenue} {Mount Isa} TX 77731 henderson@noway1234.com {Henderson Drake} {7922 Klingler Street} Star TX 77645 khanthasene@noway1234.com {David Khanthasene} {7186 Brayton Drive} {Broken Hill} TX 77901 befty@noway1234.com {Befty Klein} {10624 East 82nd Avenue} Broome TX 77563 alva@noway1234.com {Alva Wiese} {1307 Terminal Road} Waco TX 77632 dr_gibson@noway1234.com {Dr. Gibson} {5000 West Potter Drive} OOdnadatta TX 77758 russell@noway1234.com {Russell Bossung} {3421 L Street} Eucla TX 77516 eddie@noway1234.com {Eddie Boone} {9678 Fairweather Court} {Coffs Harbour} TX 77831 dorthy_jewell@noway1234.com {Dorthy Jewell} {3281 Monron Street} Austin TX 77363 violet@noway1234.com {Violet Agena} {576 Bennington Drive} {San Antonio} TX 77284 borrenpohl@noway1234.com {Roy Borrenpohl} {6982 Saaya Circle} Albury TX 77703 bus@noway1234.com {Bus Berg} {1167 Thunder Road} Launceston TX 77367 otch@noway1234.com {Otch Fritsch} {7318 Loriann Street} Austin TX 77796 mary_menard@noway1234.com {Mary Menard} {1090 Chaffee Circle} Mildura TX 77120 gillette305@noway1234.com {Jean Gillette} {5634 Lower Sunny Circle} Bathurst TX 77978 wendell@noway1234.com {Gladys Wendell} {3167 East 9th Court} OOdnadatta TX 77438 rothell659@noway1234.com {McQuire Rothell} {251 Ronald Place} Adelaide TX 77966 ann38@noway1234.com {Ann Armknecht} {557 Flower Street} Albury TX 77868 gene@noway1234.com {Gene Fisher} {3700 Spectrum Circle} Katy TX 77825 lilly@noway1234.com {Lilly Huff} {6699 Round Tree Drive} Wollongong TX 77215 davis155@noway1234.com {Oral Davis} {3949 Commerce Street} {Broken Hill} TX 77593 gordon@noway1234.com {Ann Gordon} {7817 Little Moose Circle} {San Antonio} TX 77405 nixon@noway1234.com {Hubert Nixon} {8494 Lower Sunny Circle} Brookshire TX 77056 jay@noway1234.com {Jay Wright} {9019 Kutcher Drive} Monaville TX 77601 colson@noway1234.com {Virginia Colson} {2823 O'malley Centre Drive} Newcastle TX 77620 evayline@noway1234.com {Evayline Othmer} {5615 Harriet Court} Queenstown TX 77674 stewart@noway1234.com {Mary Stewart} {9960 Moose Road} Austin TX 77261 dolly@noway1234.com {Dolly Snowden} {9399 Redcoat Place} Mildura TX 77282 stitt@noway1234.com {Byrne Stitt} {1531 Berryhill Lane} OOdnadatta TX 77979 sidney@noway1234.com {Sidney Brock} {5069 Rodeo Place} {San Felipe} TX 77693 morris_mcpherrin@noway1234.com {Morris McPherrin} {1947 Holden Drive} Independence TX 77025 chessie@noway1234.com {Chessie Morrison} {3560 Etolin Circle} {Padre Island} TX 77473 hagelback@noway1234.com {Hughes Hagelback} {384 East 31st Avenue} {Broken Hill} TX 77807 hershberger@noway1234.com {Gardner Hershberger} {6589 Brien Street} Albury TX 77758 delma@noway1234.com {Delma Stangel} {10696 Kidron Street} Star TX 77149 kage@noway1234.com {Frame Kage} {11609 Nancy Street} Brookshire TX 77142 june@noway1234.com {June Guenther} {1472 Westford Lane} Newcastle TX 77273 harry@noway1234.com {Harry Frederick} {8709 Wolf Creek Circle} {San Antonio} TX 77617 rhodes@noway1234.com {Rhodes Rohrs} {896 Pine Street} Cairns TX 77414 daisy@noway1234.com {Daisy Hauptman} {8827 Alissa Circle} Waco TX 77429 doug@noway1234.com {Doug Pfister} {5726 Garnett Court} Amarillo TX 77008 hauptman@noway1234.com {Eddie Hauptman} {5736 Carol Drive} Mildura TX 77263 kroll@noway1234.com {Sizemore Kroll} {6397 Stover Place} Townsville TX 77108 parrish@noway1234.com {Jenner Parrish} {9320 Wild Mountain Drive} Bendigo TX 77658 feurer@noway1234.com {Nellie Feurer} {497 East 58th Court} {Tennant Creek} TX 77312 thongkhamvilay@noway1234.com {Harold Thongkhamvilay} {4863 Williamsburg Drive} Hamilton TX 77403 krause@noway1234.com {Imogene Krause} {4899 Mossberry Place} Hamilton TX 77229 sikyta359@noway1234.com {Ruth Sikyta} {6900 Ridgelake Circle} Eucla TX 77035 hardway@noway1234.com {Hardway Wachosky} {2254 Highland Ridge Drive} Adelaide TX 77113 dewey@noway1234.com {Dewey Horner} {10613 West Hoteco Avenue} Independence TX 77887 prin@noway1234.com {prin Woltemath} {9923 Alamosa Drive} Tamworth TX 77751 aaron@noway1234.com {Aaron Bogle} {8778 Commerce Street} {Tennant Creek} TX 77348 rother@noway1234.com {Gill Rother} {2421 Newhaven Loop} Waco TX 77974 brenda@noway1234.com {Brenda Ebeler} {811 Wesleyan Drive} Centerville TX 77644 irene290@noway1234.com {Irene Reiber} {9256 Burlington Street} {Padre Island} TX 77610 sheila@noway1234.com {Sheila Piersol} {3073 East 30th Avenue} {Broken Hill} TX 77990 patrick@noway1234.com {Patrick Feurer} {10435 San Bowfel Street} {Coffs Harbour} TX 77142 mattox@noway1234.com {Kae Mattox} {2045 Tofson Street} {Coffs Harbour} TX 77607 facemire@noway1234.com {Facemire Earhart} {990 Coventry Drive} Launceston TX 77813 bengtsson@noway1234.com {Frank Bengtsson} {5025 Victor Road} Albury TX 77712 dirk@noway1234.com {Dirk Morrissey} {4652 Baby Bear Drive} Burnie TX 77108 ronna@noway1234.com {Ronna DeVorss} {8272 Maryland Avenue} Pattison TX 77967 cantrell718@noway1234.com {Cantrell McKinney} {9567 Columbine Court} Bathurst TX 77297 johnson175@noway1234.com {Johnson Hervey} {7182 Cutwater Circle} Austin TX 77931 calhoun@noway1234.com {Calhoun Goracke} {10015 Ridgecrest Drive} {Coober Pedy} TX 77076 gracie@noway1234.com {Gracie Birnie} {9823 Chester Court} Bendigo TX 77872 wherry259@noway1234.com {Jeanie Wherry} {10434 China Berry Circle} Star TX 77239 m@noway1234.com {M. Knock} {8346 Car-lynn Circle} Townsville TX 77991 sedersten@noway1234.com {Laxton Sedersten} {1597 Meadow Lake Drive} Bathurst TX 77758 curry@noway1234.com {Backus Curry} {283 Community Park Loop} Wollongong TX 77166 pieratt182@noway1234.com {Bette Pieratt} {4032 Alaska Avenue} Newcastle TX 77731 sharon@noway1234.com {Sharon Tagart} {982 Reliance Drive} Launceston TX 77622 scherrer@noway1234.com {Wanda Scherrer} {3604 Rollins Drive} Albury TX 77998 dola@noway1234.com {Dola McPherrin} {8923 Lars Circle} Ketherine TX 77957 hale@noway1234.com {Hale Hays} {5379 Cathedral Place} {Padre Island} TX 77841 zager@noway1234.com {Perry Zager} {11911 Virgo Avenue} {Tennant Creek} TX 77344 otha@noway1234.com {Otha Whitehead} {4164 Round Tree Circle} Bendigo TX 77732 cora@noway1234.com {Cora Rau} {3554 East Dimond Boulevard} Cairns TX 77507 ullman@noway1234.com {Billine Ullman} {6163 Stephanie Boulevard} {Port Hedland} TX 77547 darrell@noway1234.com {Darrell Philpott} {9423 View Circle} {San Felipe} TX 77803 lueders@noway1234.com {Ahtelene Lueders} {7607 Koehler Street} Ketherine TX 77899 morris309@noway1234.com {Morris Badertscher} {88 West 76th Avenue} Broome TX 77504 wetzel@noway1234.com {Wetzel Wenzel} {9288 Hiton Drive} {Coffs Harbour} TX 77060 carmine@noway1234.com {Bud Carmine} {1445 Powder Horn Circle} Sunnyville TX 77556 jeff@noway1234.com {Jeff Schutz} {6987 Montclaire Court} OOdnadatta TX 77256 johns@noway1234.com {Anna Johns} {236 West 33rd Avenue} Kema TX 77413 etta@noway1234.com {Etta Dumitru} {9297 Frank Street} Star TX 77844 sheryl22@noway1234.com {Sheryl Thies} {10840 Oomiak Circle} {Alice Springs} TX 77742 bud692@noway1234.com {Bud Gibson} {4441 Duben Avenue} Katy TX 77298 rosalea@noway1234.com {Rosalea Dirksen} {11276 West Lake Avenue} {San Antonio} TX 77554 pony@noway1234.com {Pony Volkmer} {8762 Orange Leaf Circle} Independence TX 77300 bane@noway1234.com {Cleve Bane} {8406 Oline Circle} {Coffs Harbour} TX 77469 lacie@noway1234.com {Lacie Wiese} {313 Don Circle} Austin TX 77763 elenga@noway1234.com {Linda Elenga} {2972 Cleveland Avenue} Burnie TX 77399 adrian@noway1234.com {Adrian Holden} {2299 Riverton Avenue} Burnie TX 77828 berg@noway1234.com {Lee Berg} {9976 G Court} Galveston TX 77562 troeger@noway1234.com {Dawn Troeger} {2445 Desiree Loop} Adelaide TX 77859 mccourtney@noway1234.com {Marple McCourtney} {6157 Pauline Street} Townsville TX 77725 tab@noway1234.com {Tab Dirksen} {1923 Birchtree Street} Tamworth TX 77984 tyburtis@noway1234.com {Tyburtis Hitzeman} {7529 Chess Drive} {Broken Hill} TX 77068 rosakrans@noway1234.com {Donzel Rosakrans} {6821 Curlew Circle} Monaville TX 77167 ines@noway1234.com {Ines Knippelmeyer} {6152 Willson Way} {Port Hedland} TX 77874 rommie@noway1234.com {Rommie Hester} {2835 Tartan Circle} {San Felipe} TX 77479 emza@noway1234.com {Emza Putnam} {11439 Jackson Drive} Houston TX 77615 melissa@noway1234.com {Melissa Neemann} {5877 Diggins Drive} Newcastle TX 77915 kyle@noway1234.com {Kyle Neukirch} {8457 Chatanika Loop} Galveston TX 77370 pan@noway1234.com {Ramsey Pan} {145 Gram Circle} Bathurst TX 77234 hansel@noway1234.com {Charles Hansel} {3929 Lido Circle} Newcastle TX 77279 tim@noway1234.com {Tim Staley} {8878 Baby Bear Drive} {Port Hedland} TX 77385 leona@noway1234.com {Leona McDowell} {3087 Stover Place} Bendigo TX 77392 nurse@noway1234.com {nurse Field} {8637 West 73rd Circle} {San Felipe} TX 77735 severns@noway1234.com {June Severns} {5512 Jem Circle} {Mount Gambier} TX 77256 tucker@noway1234.com {Kay Tucker} {4219 Hialeah Drive} Launceston TX 77074 pau@noway1234.com {Pau Lohmeier} {4612 Valley Park Drive} {Coffs Harbour} TX 77850 rhunie@noway1234.com {Rhunie Holmstrom} {3492 Commerce Street} Katy TX 77592 rona@noway1234.com {Rona Reinhardt} {2417 Artemus Circle} {Alice Springs} TX 77417 taka@noway1234.com {Taka Colson} {6254 Lovejoy Drive} Waco TX 77449 jackie@noway1234.com {Jackie LaFrance} {5455 Sundew Circle} OOdnadatta TX 77577 bates@noway1234.com {Lawrence Bates} {8357 Calaska Circle} {Padre Island} TX 77828 marge301@noway1234.com {Marge Nixon} {6545 Donalds Street} Brookshire TX 77177 delsie@noway1234.com {Delsie Faris} {7789 Snowline Drive} {Port Augusta} TX 77529 brenford@noway1234.com {Brenford Houmann} {678 Baugh Circle} Rockhampton TX 77990 evalena@noway1234.com {Evalena McCain} {8727 Nielsen Way} Bourke TX 77103 eileen_troeger@noway1234.com {Eileen Troeger} {9405 Tree Top Lane} Brookshire TX 77512 person@noway1234.com {prin Person} {6713 Bridget Drive} Waco TX 77081 berner@noway1234.com {Johnson Berner} {862 Woodside Street} Star TX 77090 olmsted@noway1234.com {Eugene Olmsted} {107 Crows Circle} Dallas TX 77567 avis@noway1234.com {Avis Mommens} {10019 Sky Circle} Eucla TX 77670 shaffer334@noway1234.com {Ester Shaffer} {9516 Chad Street} {San Felipe} TX 77153 eva_gordon@noway1234.com {Eva Gordon} {5477 Jarvi Drive} {Mount Isa} TX 77877 annette@noway1234.com {Annette Herman} {9802 Saint Elias Drive} Dallas TX 77259 wanda_greene@noway1234.com {Wanda Greene} {2872 Don Circle} Dallas TX 77742 denny296@noway1234.com {Denny Topp} {4316 Algarin Circle} Bathurst TX 77949 f@noway1234.com {F. Lott} {9481 Kew Court} Brookshire TX 77118 sackaly836@noway1234.com {Amanda Sackaly} {4785 Seward Highway} Townsville TX 77895 packwood@noway1234.com {Ruth Packwood} {425 Gillette Drive} Townsville TX 77636 ione@noway1234.com {Ione Schroder} {6467 Wade Circle} Dallas TX 77085 scholl210@noway1234.com {Ona Scholl} {9182 East 154th Avenue} Brookshire TX 77819 houmann@noway1234.com {Carte Houmann} {10034 Aspen Way} Waco TX 77199 geraldine@noway1234.com {Geraldine Borrenpohl} {4074 Halyards Circle} Cairns TX 77798 duncan@noway1234.com {Duncan Bauers} {7410 Eastwood Loop} {San Felipe} TX 77366 hazen@noway1234.com {Rosanne Hazen} {9771 Mary Anne Court} Queenstown TX 77039 alta@noway1234.com {Alta Knock} {10661 Birch Avenue} Brookshire TX 77357 rosevelt@noway1234.com {Rosevelt Kettelhake} {6418 Packhorse Circle} Sunnyville TX 77830 bragg@noway1234.com {Bragg Boardman} {4304 Birchwood Spur Road} Bourke TX 77615 hitzeman@noway1234.com {Frame Hitzeman} {5562 Candywine Circle} {Port Augusta} TX 77010 craft@noway1234.com {Craft Aldana} {1978 Pine Valley Court} Broome TX 77801 little@noway1234.com {Allen Little} {2159 Valarian Street} Centerville TX 77098 triplett394@noway1234.com {Triplett Scholl} {11732 Swanson Circle} Albany TX 77535 holly@noway1234.com {Holly Robison} {8925 Homestead Trail} Mildura TX 77177 amanda61@noway1234.com {Amanda Menard} {8992 Shady Birch Place} Centerville TX 77388 goff@noway1234.com {Goff Rizor} {10625 Oakwood Drive} Broome TX 77340 teske@noway1234.com {Ward Teske} {11101 Delong Circle} Bendigo TX 77982 buethe@noway1234.com {Cluster Buethe} {3037 Cody Court} Austin TX 77521 r816@noway1234.com {R. Oldfather} {5101 West Bluff Drive} {San Felipe} TX 77391 samuel639@noway1234.com {Samuel Davis} {5890 Chitstone Mountain Loop} Eucla TX 77323 driskell@noway1234.com {Sonny Driskell} {5622 East Tree Drive} {Mount Isa} TX 77859 mancil@noway1234.com {Mancil Horner} {7887 Bitterroot Circle} Star TX 77811 holmstrom@noway1234.com {Joey Holmstrom} {4431 Banff Street} {Tennant Creek} TX 77294 senesourinh@noway1234.com {Jay Senesourinh} {5765 West 65th Avenue} Eucla TX 77774 etta610@noway1234.com {Etta Chrastil} {9605 Wenmatt Circle} Star TX 77960 parrish96@noway1234.com {Freeda Parrish} {3760 Ricky Road} Broome TX 77688 april@noway1234.com {April Rulla} {3727 Breeze Court} Eucla TX 77810 wall@noway1234.com {Lou Wall} {10010 Giddeon Circle} {Tennant Creek} TX 77270 morris485@noway1234.com {Morris Hayes} {3358 West 54th Avenue} Kema TX 77003 maynard@noway1234.com {Maynard Chritton} {6615 Theodore Drive} Independence TX 77248 bird820@noway1234.com {Bird Henrichs} {8268 Tanaina Drive} Star TX 77424 beula@noway1234.com {Beula Stinson} {2731 Red Talon Circle} {Alice Springs} TX 77855 mooney@noway1234.com {Wilson Mooney} {5647 Fountain Drive} Cairns TX 77620 marty_bryan@noway1234.com {Marty Bryan} {2960 Kigul Circle} Townsville TX 77022 russ@noway1234.com {Russ Lueders} {6336 Graiff Street} Brookshire TX 77762 eltiste@noway1234.com {Delsie Eltiste} {6639 Zuleika Road} {Padre Island} TX 77457 atha@noway1234.com {Atha Hood} {6231 Donelar Street} {Port Augusta} TX 77123 jayne@noway1234.com {Jayne Rogers} {11116 Nanook Circle} Rockhampton TX 77542 philpott@noway1234.com {dawson Philpott} {6953 Athanasius Street} Rockhampton TX 77741 greene397@noway1234.com {Perry Greene} {9831 Azalea Drive} Hamilton TX 77032 ella_kirkman@noway1234.com {Ella Kirkman} {3542 Noblewood Street} Brookshire TX 77147 waveline@noway1234.com {Waveline Steinauer} {5177 East Chester Heights Circle} Tamworth TX 77456 walker822@noway1234.com {Walker Suhr} {10125 Raven Drive} {Coffs Harbour} TX 77296 nealie@noway1234.com {Nealie Hindera} {4269 Woodcliff Court} Burnie TX 77104 wilhelm96@noway1234.com {Tootsie Wilhelm} {11811 Kinnikinnick Street} Ketherine TX 77713 murphy803@noway1234.com {Pearl Murphy} {227 Taft Street} Brookshire TX 77766 louisa@noway1234.com {Louisa Neukirch} {5067 Sorrels Drive} Adelaide TX 77632 leon@noway1234.com {Leon Davis} {9341 Long Street} {Port Augusta} TX 77286 huling@noway1234.com {Huling Keim} {5863 Balchen Drive} Cairns TX 77259 wolf375@noway1234.com {Dorsey Wolf} {8889 Michelin Alley} {Coffs Harbour} TX 77119 ebeler@noway1234.com {Woodrow Ebeler} {11819 Goodnews Lane} {San Antonio} TX 77013 cornelious@noway1234.com {Cornelious Krouse} {8990 Radiant Circle} Townsville TX 77055 sherman@noway1234.com {Evalene Sherman} {156 Highland Ridge Drive} Eucla TX 77827 flame@noway1234.com {Flame Johnson} {9016 Artemus Street} Kema TX 77428 reynolds@noway1234.com {Ora Reynolds} {8069 Miley Drive} {Mount Isa} TX 77158 soumpholphakdy@noway1234.com {Lucy Soumpholphakdy} {10322 Steel Street} {San Antonio} TX 77477 timothy@noway1234.com {Timothy Lohmeier} {8770 Muley Circle} {Coober Pedy} TX 77740 finfrock@noway1234.com {JoEllen Finfrock} {3389 Salem Court} Adelaide TX 77801 speckmann@noway1234.com {Neal Speckmann} {2675 Mall Circle} {Mount Gambier} TX 77690 garland606@noway1234.com {Garland Reiber} {3066 Wells Circle} {Alice Springs} TX 77207 aldana@noway1234.com {Eugene Aldana} {7771 Casey Circle} Star TX 77463 jennings162@noway1234.com {Jennings Raney} {2539 Mason Drive} {Coffs Harbour} TX 77508 neukirch255@noway1234.com {Dona Neukirch} {6058 Mumby Circle} {Port Hedland} TX 77694 orville684@noway1234.com {Orville Masur} {8158 Douglas Place} Pattison TX 77125 lambelet@noway1234.com {Lane Lambelet} {7674 Katalla Circle} Newcastle TX 77883 vickie@noway1234.com {Vickie Reinhardt} {2539 Genny Circle} Austin TX 77141 montz194@noway1234.com {Dee Montz} {4139 Lochenshire Place} {Coffs Harbour} TX 77112 dittmer@noway1234.com {Ann Dittmer} {854 Travis Circle} Centerville TX 77347 haughton@noway1234.com {Tucker Haughton} {2539 East 86th Court} Rockhampton TX 77330 lou369@noway1234.com {Lou Mattox} {8379 Pequod Circle} {Padre Island} TX 77105 stauffer@noway1234.com {Henrietta Stauffer} {1918 Craig Creek Circle} Kema TX 77940 ford_mchenry@noway1234.com {Ford McHenry} {4703 Galloway Loop} Bourke TX 77807 guenther@noway1234.com {Barb Guenther} {10719 Musket Ball Circle} Wollongong TX 77588 hinkle@noway1234.com {Sue Hinkle} {3179 Lynx Way} {San Felipe} TX 77912 pluta@noway1234.com {Ward Pluta} {8901 West 90th Avenue} Centerville TX 77449 mahoney@noway1234.com {Tab Mahoney} {844 Thornton Street} Bendigo TX 77966 homer@noway1234.com {Homer Lanspa} {7017 Betula Circle} Broome TX 77718 chittum@noway1234.com {chittum Kreiling} {9785 Westview Circle} Brookshire TX 77738 sylvester@noway1234.com {Sylvester Pettinger} {10497 Hesterberg Road} Pattison TX 77966 wilber@noway1234.com {Wilber Schafer} {3408 Kingston Drive} Queenstown TX 77215 jewell441@noway1234.com {Ruth Jewell} {2948 Portage Glacier Road} {Mount Gambier} TX 77795 geiger@noway1234.com {Margaret Geiger} {5379 Marge Court} Albury TX 77939 krouse528@noway1234.com {Frances Krouse} {11599 East 21st Avenue} Eucla TX 77905 mitchel@noway1234.com {Jack Mitchel} {6544 Greenwood Street} {Coober Pedy} TX 77339 gregg_zappa@noway1234.com {Gregg Zappa} {956 Viola Circle} Bourke TX 77889 lomas@noway1234.com {Lomas Mercure} {11008 Teton Place} Ketherine TX 77426 robert215@noway1234.com {Robert Amos} {9275 Middlerock Road} Albury TX 77958 ira699@noway1234.com {Ira Horstman} {4802 Clarbert Court} Bathurst TX 77954 fox@noway1234.com {Norma Fox} {7960 Wren Lane} {Port Augusta} TX 77872 c_n@noway1234.com {C.N. Smith} {1754 Cadmus Court} Sunnyville TX 77773 buttermilk944@noway1234.com {Buttermilk Whitehead} {9089 Hill Drive} Monaville TX 77707 thom@noway1234.com {Wanda Thom} {2970 Kempton Hills Drive} Wollongong TX 77637 carolyn@noway1234.com {Carolyn Shaffer} {9866 Chad Street} Rockhampton TX 77621 serena@noway1234.com {Serena Reinhardt} {6501 Willow Lane} Kema TX 77035 gussie@noway1234.com {Gussie Riensche} {7879 Renee Circle} Wollongong TX 77068 rebecca@noway1234.com {Rebecca Riensche} {6709 Petrified Tree Circle} Galveston TX 77983 walker_clark@noway1234.com {Walker Clark} {3534 Christine Avenue} {San Antonio} TX 77614 gloria@noway1234.com {Gloria Jewell} {6913 West End Road} {Mount Gambier} TX 77990 lana@noway1234.com {Lana Douglas} {7890 Reindeer Circle} Wollongong TX 77173 wilbur@noway1234.com {Wilbur Raney} {11665 West 91st Avenue} Broome TX 77953 melvin@noway1234.com {Melvin Morris} {3080 West 72nd Avenue} Launceston TX 77611 gorton@noway1234.com {Davis Gorton} {1232 End Street} Independence TX 77857 janie@noway1234.com {Janie Hahn} {646 East 150th Avenue} {Broken Hill} TX 77080 nielsen@noway1234.com {Pearl Nielsen} {343 Peters Creek Road} {San Felipe} TX 77604 d_b@noway1234.com {D.B. Schmidt} {6836 Iris Way} {Mount Gambier} TX 77657 scharton@noway1234.com {Ruhie Scharton} {1528 Dartmouth Drive} {Broken Hill} TX 77810 bertha@noway1234.com {Bertha Shuey} {8556 Genora Street} {Padre Island} TX 77343 biddie@noway1234.com {Biddie Haughton} {5752 Toakoana Way} Queenstown TX 77553 rush@noway1234.com {Rush Polson} {2679 Bursiel Circle} {Mount Gambier} TX 77011 philippi@noway1234.com {Vina Philippi} {6987 West 15th Terrace} Pattison TX 77027 sleepy@noway1234.com {Sleepy McKinney} {1250 Industry Way} {Port Hedland} TX 77132 davison@noway1234.com {T. Davison} {7058 Island Drive} Sunnyville TX 77618 elise@noway1234.com {Elise Triplett} {8478 Midland Place} Waco TX 77603 anne@noway1234.com {Anne Durst} {5295 Seneca Circle} Albany TX 77068 anthony@noway1234.com {Anthony Einstein} {8085 Brenner Circle} Ketherine TX 77733 merton278@noway1234.com {Merton Person} {4595 Hancock Drive} Townsville TX 77514 d_b689@noway1234.com {D.B. Stitt} {5835 Enstrom Circle} {Alice Springs} TX 77987 lyn@noway1234.com {Lyn Shaffer} {3916 Tedrow Drive} {Port Augusta} TX 77570 ike@noway1234.com {Ike Belding} {602 Jennifer Ann Circle} {Mount Isa} TX 77737 desmond@noway1234.com {Desmond Sikyta} {10520 Violet Drive} {Broken Hill} TX 77119 mathis@noway1234.com {R. Mathis} {8388 Cirrus Way} {Alice Springs} TX 77483 xayaphonesongkham@noway1234.com {Facemire Xayaphonesongkham} {123 Stonegate Drive} Bourke TX 77349 ulysses@noway1234.com {Ulysses Faris} {5621 Great North Circle} {Port Hedland} TX 77367 mary843@noway1234.com {Mary Fleck} {4015 Fesler Road} Eucla TX 77651 rosevelt279@noway1234.com {Rosevelt Davis} {3224 Chalet Court} Newcastle TX 77125 sheryl_russell@noway1234.com {Sheryl Russell} {2285 Chrystal Island Drive} {Alice Springs} TX 77303 feurer415@noway1234.com {Homer Feurer} {7396 Kingfisher Drive} {Alice Springs} TX 77955 ferrel@noway1234.com {Ferrel Pella} {1986 Elegante Lane} Houston TX 77025 griffith@noway1234.com {Griffith Little} {11206 Thoreau Circle} Tamworth TX 77028 pat543@noway1234.com {Pat Suhr} {9343 Jerde Circle} {Mount Isa} TX 77513 earhart@noway1234.com {Marian Earhart} {7586 Teri Drive} Ketherine TX 77569 durman@noway1234.com {Woody Durman} {8312 West 61st Avenue} Star TX 77557 danielle@noway1234.com {Danielle Mayfield} {1485 Kenny Place} Mildura TX 77123 audess@noway1234.com {Audess Rothell} {10072 Karen Lane} Burnie TX 77576 carsel@noway1234.com {Carsel Kaufman} {2583 Mael Street} Austin TX 77890 prather@noway1234.com {Prather Pella} {3801 Pettis Road} {Mount Gambier} TX 77029 kent@noway1234.com {Ann Kent} {6710 Upper Terrace Street} Townsville TX 77062 dump@noway1234.com {Dump Butler} {3111 Roy Street} {Broken Hill} TX 77697 vanlaningham@noway1234.com {Hughart VanLaningham} {208 East 41st Avenue} Dallas TX 77101 winkle787@noway1234.com {Brown Winkle} {7834 Bonanza Drive} {Mount Gambier} TX 77500 hedgmond@noway1234.com {Hedgmond Morrow} {1892 Crawford Street} Nacogdoches TX 77203 phillis@noway1234.com {Phillis Robison} {8837 Stanford Circle} Dallas TX 77946 bartels@noway1234.com {Rosa Bartels} {11949 Kathy Place} Wollongong TX 77359 campbell@noway1234.com {Lovell Campbell} {10306 Irene Drive} Queenstown TX 77072 crane@noway1234.com {Mason Crane} {8955 Posiedon Drive} Austin TX 77060 somchay@noway1234.com {Mutt Somchay} {7624 Saint Gotthard Avenue} Katy TX 77134 rowland@noway1234.com {Taka Rowland} {5032 Morgan Loop} Pattison TX 77477 hendee@noway1234.com {Donna Hendee} {10915 Tanada Loop} Pattison TX 77834 bicknell@noway1234.com {Dr. Bicknell} {5480 Esquire Drive} Kema TX 77664 mcculla137@noway1234.com {Mahetable Mcculla} {1773 Jackson Drive} {Port Augusta} TX 77531 p@noway1234.com {P. Farley} {2543 Bobbie Circle} Tamworth TX 77945 h_j@noway1234.com {H.J. McDowell} {374 Redhawk Circle} Sunnyville TX 77468 h_a@noway1234.com {H.A Soumpholphakdy} {5461 Easy Street} {Alice Springs} TX 77270 boyce@noway1234.com {Boyce Urich} {8607 Juneau Street} Tamworth TX 77058 urban@noway1234.com {Urban Arnold} {1484 Boyd Street} Star TX 77035 urban368@noway1234.com {Urban Boardman} {2537 Lusardi Point Circle} Houston TX 77849 joyce640@noway1234.com {Joyce Dittmer} {785 Brookstone Loop} {Port Augusta} TX 77390 sweeney587@noway1234.com {Sweeney Suydan} {11924 Spruce Road} Austin TX 77674 logsdon735@noway1234.com {Butcher Logsdon} {2240 Green Garden Drive} Brookshire TX 77222 schermbeck@noway1234.com {Jesse Schermbeck} {10469 Von Scheben Drive} Rockhampton TX 77965 hester@noway1234.com {Doc Hester} {9361 Point Woronzof Drive} Cairns TX 77265 jewell911@noway1234.com {Lucy Jewell} {4565 Stumpy's Way} Star TX 77773 hargis@noway1234.com {Sherie Hargis} {6738 Market Street} Sunnyville TX 77743 o_b@noway1234.com {O.B. Graff} {4364 Birch Drive} Albany TX 77284 laug@noway1234.com {Jenevieve Laug} {5735 Fairweather Drive} Amarillo TX 77802 stover@noway1234.com {Verna Stover} {4861 Nancy Street} OOdnadatta TX 77840 ruthie@noway1234.com {Ruthie Harrington} {2624 Rockingham Circle} {Tennant Creek} TX 77023 norman@noway1234.com {Norman Harrington} {717 Ruby Drive} {Alice Springs} TX 77519 deane187@noway1234.com {Deane Piersol} {6357 Stormy Place} Monaville TX 77588 given_gibson@noway1234.com {Given Gibson} {4559 Northwoods Circle} {Tennant Creek} TX 77328 kaster@noway1234.com {Cantrell Kaster} {6748 Mockingbird Drive} Eucla TX 77825 rubt@noway1234.com {Rubt Doty} {2037 Sokolof Circle} Cairns TX 77348 jim57@noway1234.com {Jim Garris} {354 Alder Drive} {Padre Island} TX 77668 kay352@noway1234.com {Kay Ruby} {5093 Talon Circle} Cairns TX 77932 waring@noway1234.com {Marilynn Waring} {1886 Business Park Boulevard} Albury TX 77802 chatta@noway1234.com {Chatta Mueller} {11247 Bowdoin Circle} {Port Hedland} TX 77520 runion@noway1234.com {Runion Sayakhoummane} {9243 Kimball Street} Houston TX 77558 hollis_homer@noway1234.com {Hollis Homer} {76 Pleasure View Circle} Albury TX 77225 osterhoudt@noway1234.com {Desmond Osterhoudt} {3933 Lucille Lane} Sunnyville TX 77299 raney238@noway1234.com {Dawson Raney} {3936 Goose Lake Drive} {Tennant Creek} TX 77316 acree561@noway1234.com {Acree Rubin} {1070 Lochwood Circle} Bourke TX 77626 steel_soumpholphakdy@noway1234.com {Steel Soumpholphakdy} {6485 Bryn Mawr Court} Kema TX 77839 reed896@noway1234.com {D. Reed} {10245 Cranberry Street} {Mount Isa} TX 77234 feese@noway1234.com {Jackson Feese} {8312 East Tudor Road} OOdnadatta TX 77989 rex@noway1234.com {Rex Robertson} {9540 Flagship Circle} Rockhampton TX 77386 rauner444@noway1234.com {Rex Rauner} {605 Peg Street} Adelaide TX 77026 knock@noway1234.com {Stover Knock} {9079 Belsey Street} Pattison TX 77488 rene@noway1234.com {Rene Person} {4303 East 64th Avenue} Newcastle TX 77760 jobe@noway1234.com {Jobe Boyden} {911 Lindsey Drive} {Broken Hill} TX 77477 bozo@noway1234.com {Bozo Arnold} {5866 Chilton Drive} Star TX 77634 maryln_berg@noway1234.com {Maryln Berg} {5396 Gayot Drive} Houston TX 77804 w_williams@noway1234.com {W. Williams} {11705 Bliss Street} {Coober Pedy} TX 77568 donohue186@noway1234.com {Donohue Kage} {3541 Coachman Circle} Brookshire TX 77005 lock@noway1234.com {Samples Lock} {2682 Temple Drive} Galveston TX 77048 seward@noway1234.com {Triplett Seward} {4669 Elies Drive} OOdnadatta TX 77766 garland184@noway1234.com {Garland Frederick} {6643 Valley Street} Launceston TX 77040 walters@noway1234.com {Dr. Walters} {2660 Voyles Boulevard} Adelaide TX 77276 sheila343@noway1234.com {Sheila Boardman} {7087 Runamuck Place} Eucla TX 77222 conley@noway1234.com {Conley Geweke} {10175 Bay View Drive} Amarillo TX 77736 mctheny@noway1234.com {Mctheny McAlexander} {11627 Delridge Circle} Bendigo TX 77202 scott478@noway1234.com {Scott Graff} {1401 Bedford Street} {Coffs Harbour} TX 77057 bernadt@noway1234.com {Cecil Bernadt} {11108 Lesmer Court} Monaville TX 77235 terry@noway1234.com {Terry Dittmer} {6527 Last Frontier Drive} Bathurst TX 77416 sand610@noway1234.com {Woodrow Sand} {9626 Crystal Street} Brookshire TX 77006 colluzzi@noway1234.com {Colluzzi Kohout} {5926 San Clementson Court} Star TX 77366 cummins@noway1234.com {J.A. Cummins} {8225 Whispering Spruce Circle} Albury TX 77545 philpott544@noway1234.com {Verna Philpott} {2123 Moose Run Circle} Townsville TX 77934 mullins43@noway1234.com {Mullins Sova} {11432 Old Seward Highway} Dallas TX 77704 harland@noway1234.com {Harland Menard} {7914 Crow Berry Circle} Burnie TX 77880 doc871@noway1234.com {Doc. Davison} {9588 North Klevin Street} Adelaide TX 77330 blessing@noway1234.com {Wanda Blessing} {2184 Pioneer Drive} Centerville TX 77123 dieckmann894@noway1234.com {Griffith Dieckmann} {3022 Keyhole Circle} Ketherine TX 77585 dee435@noway1234.com {Dee Sorensen} {9852 Lesmer Court} {San Antonio} TX 77724 wink823@noway1234.com {Wink Kent} {865 Mount Mc Kinley View Drive} Katy TX 77970 lillie696@noway1234.com {Lillie Haney} {3477 Kirov Street} OOdnadatta TX 77473 nakamura@noway1234.com {Merle Nakamura} {589 West 82nd Avenue} Adelaide TX 77011 marmia@noway1234.com {Marmia Lohmeier} {5843 Eastwood Court} {San Felipe} TX 77030 stordahl78@noway1234.com {Mildred Stordahl} {6899 Columbine Street} Ketherine TX 77242 belle@noway1234.com {Belle Dittmer} {5065 Arlington Drive} {San Felipe} TX 77858 carmine115@noway1234.com {B. Carmine} {7765 Davidson Drive} Bourke TX 77327 oral_jewell@noway1234.com {Oral Jewell} {10185 Snowy Owl Circle} {Alice Springs} TX 77912 delong@noway1234.com {Jo DeLong} {9275 Tahoe Drive} Rockhampton TX 77310 morris_goings@noway1234.com {Morris Goings} {1739 Beaufort Street} Star TX 77122 mamie@noway1234.com {Mamie Hauptman} {1690 Ivan Drive} Austin TX 77584 schutz@noway1234.com {Cantrell Schutz} {2267 Ptarmigan Boulevard} Bourke TX 77813 xayaphonesongkham191@noway1234.com {Betty Xayaphonesongkham} {11623 Hogan Bay Circle} Launceston TX 77003 holmstrom535@noway1234.com {Osbome Holmstrom} {8123 Kilkerry Circle} Albury TX 77847 lavonne@noway1234.com {Lavonne Carter} {8321 Hill View Circle} {Tennant Creek} TX 77023 ensor@noway1234.com {Barb Ensor} {1606 Mark Circle} Katy TX 77509 bernell@noway1234.com {Bernell McCain} {9770 Big Horn Circle} Katy TX 77789 helm@noway1234.com {Sattler Helm} {7155 West 69th Avenue} Broome TX 77705 polson@noway1234.com {Levy Polson} {4872 Grape Place} {Tennant Creek} TX 77971 salisbury@noway1234.com {Salisbury Bevard} {4532 West 7th Avenue} {San Felipe} TX 77431 august@noway1234.com {August Allen} {8474 Ken Logan Circle} Kema TX 77681 emerald@noway1234.com {Emerald Mahoney} {368 Old Eagle River Road} Nacogdoches TX 77485 wiese@noway1234.com {Betty Wiese} {11300 Dylan Drive} Galveston TX 77922 vaden@noway1234.com {Vaden Reynolds} {6846 West 106th Avenue} Ketherine TX 77011 borrenpohl626@noway1234.com {Gerald Borrenpohl} {6963 Concord Hill Circle} {Padre Island} TX 77735 packwood379@noway1234.com {Osa Packwood} {8451 West Tree Drive} Bendigo TX 77433 donald@noway1234.com {Donald Ebeler} {4764 Ridge Park Drive} Sunnyville TX 77695 ofie@noway1234.com {Ofie Russell} {11438 Greenpoint Avenue} Dallas TX 77077 loretta_spence@noway1234.com {Loretta Spence} {1392 Lakeridge Court} Brookshire TX 77590 uke@noway1234.com {Uke Neill} {6522 Nordale Street} Independence TX 77686 orvis@noway1234.com {Orvis Thies} {4671 Lynkerry Circle} Nacogdoches TX 77526 gibbs634@noway1234.com {Rosanne Gibbs} {4926 South Salem Drive} Brookshire TX 77279 a_blythe@noway1234.com {A. Blythe} {1619 East Ship Creek Avenue} Newcastle TX 77246 lowell@noway1234.com {Lowell Schroder} {7696 Rya Street} Sunnyville TX 77699 mayfield@noway1234.com {Quenton Mayfield} {4744 East 101st Avenue} Queenstown TX 77321 sandra@noway1234.com {Sandra Sterlin} {885 Toakee Circle} Nacogdoches TX 77069 pooey@noway1234.com {Pooey Durst} {5372 Hubbard Place} Wollongong TX 77570 ocie91@noway1234.com {Ocie Wilhelm} {5244 Kluane Avenue} Katy TX 77145 hanshaw@noway1234.com {Hanshaw Lang} {11041 Ursa Minor Circle} Star TX 77491 arthur315@noway1234.com {Arthur Morrissey} {3688 Red Currant Circle} Bourke TX 77844 leo@noway1234.com {Leo Tucker} {11932 Gunnysack Mine Road} Star TX 77635 stinson@noway1234.com {Gladys Stinson} {2577 Sydney Park Circle} Burnie TX 77588 sarah901@noway1234.com {Sarah Robison} {2572 Washington Avenue} {San Felipe} TX 77063 donna135@noway1234.com {Donna Mann} {475 Catkin Circle} {Broken Hill} TX 77660 shartlet@noway1234.com {Shartlet Person} {948 Vallihi Circle} {Coffs Harbour} TX 77352 morris879@noway1234.com {Maw Morris} {7457 Newell Street} Albany TX 77673 ellen@noway1234.com {Ellen Horstman} {10105 Kilmory Circle} {Broken Hill} TX 77448 moon@noway1234.com {Moon Phommachack} {2341 Sunflower Street} Bendigo TX 77554 imogee@noway1234.com {Imogee Wall} {5309 Dolly Varden Circle} Wollongong TX 77311 stephens@noway1234.com {Nora Stephens} {1671 Knik Vista Street} Pattison TX 77420 pluta529@noway1234.com {Lowell Pluta} {2696 May Court Circle} Burnie TX 77810 e_p@noway1234.com {E.P. Oldfather} {5429 Nancy Circle} Amarillo TX 77555 rogers422@noway1234.com {Rogers Robinson} {11860 Canterbury Way} Hamilton TX 77957 mahler@noway1234.com {Alice Mahler} {8876 Tanaga Circle} Ketherine TX 77663 duncan210@noway1234.com {Duncan Sand} {5396 Ski Road} {Broken Hill} TX 77614 wilma@noway1234.com {Wilma Snow} {9123 Cleveland Avenue} Waco TX 77119 thomas336@noway1234.com {Thomas Sova} {5476 East 11th Avenue} Albany TX 77905 frame826@noway1234.com {Frame Harms} {3428 Hampton Drive} OOdnadatta TX 77593 moore982@noway1234.com {Moore Holmstrom} {9712 Riverside Drive} Wollongong TX 77187 betsy@noway1234.com {Betsy Doty} {6085 Cutty Sark Street} Brookshire TX 77317 barbara@noway1234.com {Barbara Sova} {11194 Westchester Circle} Nacogdoches TX 77395 wilbert@noway1234.com {Wilbert Stettenbenz} {4855 Linden Drive} Tamworth TX 77365 joyce287@noway1234.com {Joyce Pella} {6346 Bowery Lane} {Port Augusta} TX 77074 martha442@noway1234.com {Martha Humann} {9886 Labate Drive} {San Felipe} TX 77117 georgene215@noway1234.com {Georgene Bennett} {3798 West 41st Avenue} Cairns TX 77258 corine@noway1234.com {Corine Roland} {10353 Romanzof Circle} Adelaide TX 77937 pan514@noway1234.com {Genniene Pan} {8995 West 44th Place} Queenstown TX 77212 nixon519@noway1234.com {Moore Nixon} {3398 Neher Ridge Drive} Kema TX 77960 marilyn@noway1234.com {Marilyn Puchalla} {7420 Tina Street} Galveston TX 77131 dane@noway1234.com {Dane Suhr} {1024 Dorinda Drive} Hamilton TX 77583 lawrence854@noway1234.com {Lawrence Bogle} {11131 Waterfall Drive} Dallas TX 77336 willard@noway1234.com {Willard Horner} {11921 Lila's Place} {Mount Gambier} TX 77576 lohmeier@noway1234.com {Ernst Lohmeier} {10234 Kensington Circle} Bendigo TX 77782 scharton42@noway1234.com {B. Scharton} {9421 Hulse Circle} {Broken Hill} TX 77686 pettinger@noway1234.com {Evert Pettinger} {1257 Aspen Ridge Circle} Independence TX 77139 feese287@noway1234.com {Ann Feese} {5862 Terrace Street} Monaville TX 77998 hughart925@noway1234.com {Hughart Colson} {5309 Brook Hill Circle} Pattison TX 77622 mccain@noway1234.com {Ruth McCain} {1837 West Street} Broome TX 77874 janie_curry@noway1234.com {Janie Curry} {9962 Domain Lane} Eucla TX 77002 leroy26@noway1234.com {Leroy McKinney} {11340 Birch Avenue} Monaville TX 77342 sova173@noway1234.com {Moses Sova} {10593 Outlook Circle} {Coober Pedy} TX 77663 billy@noway1234.com {Billy Leahy} {7865 Kadow Drive} Albany TX 77726 ann338@noway1234.com {Ann Grove} {2157 Glacier Loop Road} {Coober Pedy} TX 77233 mahoney924@noway1234.com {Butcher Mahoney} {2676 Roosevelt Drive} Nacogdoches TX 77039 lawrence746@noway1234.com {Betty Lawrence} {6666 Bietinger Drive} Wollongong TX 77385 n_l@noway1234.com {N.L. Rothell} {9109 East 95th Avenue} {San Antonio} TX 77680 ron@noway1234.com {Ron Phommachack} {7800 East 40th Court} {Port Hedland} TX 77911 rauner18@noway1234.com {Friend Rauner} {8481 Western Drive} Nacogdoches TX 77222 monkey_buster@noway1234.com {Monkey Buster Rauner} {3470 Mere Circle} Launceston TX 77180 morrissey541@noway1234.com {Dennis Morrissey} {4751 Windflower Street} Katy TX 77745 horner@noway1234.com {Boyd Horner} {7630 Ivy Drive} Amarillo TX 77065 j_v_ruter@noway1234.com {J.V. Ruter} {10104 Red Currant Circle} {Mount Gambier} TX 77451 michelle@noway1234.com {Michelle Winkle} {6790 Maho Circle} Pattison TX 77430 mutt_scharton@noway1234.com {Mutt Scharton} {6042 Discovery Court} Albany TX 77622 anna49@noway1234.com {Anna Teske} {5694 Orion Circle} Bourke TX 77805 r_gibson@noway1234.com {R. Gibson} {10072 Frances Elaine Circle} Nacogdoches TX 77895 west259@noway1234.com {Marian West} {10273 Maggies Place} Hamilton TX 77585 person288@noway1234.com {Ferrel Person} {6483 Maria Court} OOdnadatta TX 77038 wheeler391@noway1234.com {frame Wheeler} {9289 Birch Trail Circle} {Padre Island} TX 77806 truman@noway1234.com {Truman Dirksen} {5643 Hayes Street} Wollongong TX 77599 hamer571@noway1234.com {Adkins Hamer} {7464 Campbell Airstrip Road} Wollongong TX 77540 bezel@noway1234.com {Bezel Vrbka} {3046 East Bluff Drive} Centerville TX 77156 earl71@noway1234.com {Earl Jewell} {4420 Skyhaven Circle} Dallas TX 77847 kellis@noway1234.com {Kellis Putnam} {3539 Camrose Drive} {Coober Pedy} TX 77967 maxine705@noway1234.com {Maxine Crane} {10512 Dalzell Circle} Nacogdoches TX 77009 meister@noway1234.com {N.L. Meister} {11328 Westchester Circle} Sunnyville TX 77870 sorensen141@noway1234.com {Butcher Sorensen} {8521 Rappe Court} {Port Hedland} TX 77499 okay@noway1234.com {Okay Hamilton} {5739 Christensen Drive} Mildura TX 77801 aust@noway1234.com {Blanch Aust} {3170 Rebano Drive} Star TX 77666 odbert@noway1234.com {Odbert Mapes} {5999 Snow Bear Drive} Launceston TX 77681 wellensiek@noway1234.com {Irene Wellensiek} {11150 Running Brook Circle} Hamilton TX 77157 otto@noway1234.com {Otto Oldfather} {11288 Athanasius Street} Waco TX 77524 lanspa@noway1234.com {Marjorie Lanspa} {4404 Cantonment Court} Newcastle TX 77614 marple632@noway1234.com {Marple Sherman} {8495 Draper Drive} Newcastle TX 77130 troeger653@noway1234.com {Charlotte Troeger} {392 Scarborough Drive} Waco TX 77024 hardin@noway1234.com {Dorsey Hardin} {3021 Little Creek Drive} Townsville TX 77546 pearl_mcpherrin@noway1234.com {Pearl McPherrin} {1630 Woodhaven Circle} Tamworth TX 77807 kerchovel983@noway1234.com {Kerchovel Kelley} {1293 Tulugak Circle} Rockhampton TX 77083 dana@noway1234.com {Dana Zappa} {2098 Carolyn Circle} Cairns TX 77644 wilson796@noway1234.com {Wilson Gillette} {5404 Topaz Avenue} {San Antonio} TX 77999 vale@noway1234.com {Vale Repp} {6516 Heritage Center Drive} {Alice Springs} TX 77366 irene823@noway1234.com {Irene Miesbach} {7263 Chugach Park Drive} Centerville TX 77266 heideman@noway1234.com {Tammy Heideman} {7378 West 40th Avenue} {Mount Gambier} TX 77671 kevin@noway1234.com {Kevin McDonald} {989 Ginami Circle} OOdnadatta TX 77086 wolken@noway1234.com {Carlos Wolken} {8461 Willow Street} Hamilton TX 77211 jewell732@noway1234.com {prin Jewell} {11039 Tahoe Drive} Queenstown TX 77619 luther@noway1234.com {Luther Buces} {6832 Kalgin Street} Bourke TX 77289 tagart@noway1234.com {Baum Tagart} {8404 West 36th Avenue} Pattison TX 77200 lee_nielsen@noway1234.com {Lee Nielsen} {1185 Stargate Circle} {Port Augusta} TX 77642 herlman@noway1234.com {Herlman Dillaplain} {4971 Saint Gotthard Avenue} {Padre Island} TX 77325 schmidt87@noway1234.com {Wanda Schmidt} {4526 Westview Circle} Albany TX 77614 dell@noway1234.com {Dell Zager} {7081 Tyl's Trail} Austin TX 77510 fricke@noway1234.com {Phillips Fricke} {2998 Smith Drive} {Coffs Harbour} TX 77721 wright@noway1234.com {Cantrell Wright} {10715 Golden View Drive} Burnie TX 77670 james220@noway1234.com {James Hervey} {6102 Province Circle} Houston TX 77241 hamilton@noway1234.com {Haskel Hamilton} {8649 O Street} {Mount Gambier} TX 77743 leahy@noway1234.com {Leona Leahy} {8725 Trinity Circle} Mildura TX 77701 sonja@noway1234.com {Sonja Glasson} {9332 West 34th Avenue} Albury TX 77342 dimple790@noway1234.com {Dimple Ellis} {7917 Westwind Court} Austin TX 77253 wesley@noway1234.com {Wesley Dahl} {8449 King Street} Galveston TX 77502 dorsel@noway1234.com {Dorsel Oltman} {3079 Glacier Pine Street} Amarillo TX 77862 pettinger860@noway1234.com {Earl Pettinger} {3048 Mary Avenue} Townsville TX 77136 peters@noway1234.com {Patrica Peters} {2751 Birdsong Drive} Star TX 77805 vonnie@noway1234.com {Vonnie Faris} {445 Kumquat Place} OOdnadatta TX 77558 sebert@noway1234.com {Sebert Kuhl} {8524 Falling Water Circle} Adelaide TX 77001 colson306@noway1234.com {Frame Colson} {9094 Buskin Circle} {Tennant Creek} TX 77631 mary335@noway1234.com {Mary Goers} {715 Independence Drive} Rockhampton TX 77700 kelly162@noway1234.com {Kelly Curry} {9341 Kamishak Bay Circle} {Port Augusta} TX 77277 thelma678@noway1234.com {Thelma Davison} {10563 D Street} {Port Augusta} TX 77006 schafer@noway1234.com {Ruthie Schafer} {9331 Country Woods Court} {Coffs Harbour} TX 77600 joe373@noway1234.com {Joe Hahn} {1760 Lupine Drive} Independence TX 77848 mell@noway1234.com {Mell Lanspa} {1135 Flyway Avenue} Star TX 77883 saunders313@noway1234.com {Sherie Saunders} {6987 Seacloud Circle} Wollongong TX 77174 sayakhoummane@noway1234.com {J. Sayakhoummane} {5310 Twilight Lane} Galveston TX 77103 gorton698@noway1234.com {J. Gorton} {4833 Markstrom Drive} Dallas TX 77797 erma@noway1234.com {Erma Ellis} {10492 Stormy Place} Mildura TX 77791 tanner@noway1234.com {Tanner Sorensen} {1294 Tonga Drive} Independence TX 77978 farley262@noway1234.com {Delsie Farley} {2006 Hazen Circle} {San Felipe} TX 77946 h_a_wherry@noway1234.com {H.A Wherry} {6236 Foster Estate Drive} Tamworth TX 77652 hillyer@noway1234.com {Wibb Hillyer} {9460 Steamboat Drive} Waco TX 77918 j_r_j@noway1234.com {J.R.J. Ham} {7118 New Seward Highway} {Mount Isa} TX 77803 viola_suydan@noway1234.com {Viola Suydan} {9444 Hidden Haven Drive} {Alice Springs} TX 77049 hazelton107@noway1234.com {Hazelton Mitchel} {447 Neher Ridge Drive} Tamworth TX 77025 myron@noway1234.com {Myron Schmidt} {7710 Buena Vista Drive} Ketherine TX 77068 lytal@noway1234.com {Lytal Conradt} {4658 Trena Street} Albany TX 77623 carrie@noway1234.com {Carrie Kreiling} {7699 Cobblecreek Circle} Queenstown TX 77081 harlan874@noway1234.com {Harlan Badertscher} {11889 Gull Avenue} Kema TX 77513 douglas@noway1234.com {Spencer Douglas} {1795 Oak Drive} Wollongong TX 77432 ed@noway1234.com {Ed Grove} {4361 Hollow Street} Bourke TX 77839 spier@noway1234.com {D Spier} {11781 North Valley Road} Houston TX 77316 rosanne_dieckhoff@noway1234.com {Rosanne Dieckhoff} {286 River Park Drive} Broome TX 77189 oat@noway1234.com {Oat Phommachack} {4342 Cape Circle} Cairns TX 77379 joanne@noway1234.com {Joanne Knock} {855 Rainy Place} Houston TX 77410 e_p79@noway1234.com {E.P. Harrington} {10386 Bethany Circle} Brookshire TX 77143 pauline743@noway1234.com {Pauline Robinson} {3910 Hiland Road} {Coober Pedy} TX 77590 eleanor@noway1234.com {Eleanor Hagelback} {10703 Sparks Avenue} Launceston TX 77500 kaufman@noway1234.com {Jess Kaufman} {2219 Babrof Drive} Adelaide TX 77174 rohmeyer@noway1234.com {Arch Rohmeyer} {7623 Dicks Street} Amarillo TX 77578 eleanor_vance@noway1234.com {Eleanor Vance} {7211 Kallander Avenue} Centerville TX 77538 lenora166@noway1234.com {Lenora Driskell} {1079 Hunters Drive} Launceston TX 77669 nealie720@noway1234.com {Nealie Reynolds} {8502 Michigan Avenue} Independence TX 77391 troeger100@noway1234.com {Nina Troeger} {922 Olympic Street} {Alice Springs} TX 77011 elwood@noway1234.com {Elwood Gregory} {11737 Biscayne Circle} Burnie TX 77243 rexroth@noway1234.com {Dawson Rexroth} {3770 Landau Circle} Bendigo TX 77177 m_b@noway1234.com {M.B. Leuenberger} {5390 Reliance Drive} {Tennant Creek} TX 77018 davis939@noway1234.com {Davis Lanspa} {1053 Matthews Drive} Amarillo TX 77578 stephane@noway1234.com {Stephane Leuenberger} {700 Deer Park Circle} Monaville TX 77560 funkhouser@noway1234.com {Dawn Funkhouser} {62 Kayak Drive} {San Felipe} TX 77529 weakland@noway1234.com {Scottie Weakland} {1062 Dunkirk Drive} Austin TX 77059 thurber401@noway1234.com {Oat Thurber} {1211 Eris Drive} {San Felipe} TX 77444 koehler@noway1234.com {Dorthea Koehler} {940 Salem Street} {Broken Hill} TX 77714 dumitru495@noway1234.com {A. Dumitru} {8531 Delak's Way} Galveston TX 77395 minnie279@noway1234.com {Minnie Lock} {6844 West Skyline Drive} Austin TX 77075 prushia@noway1234.com {Prushia Kehlenbeck} {3072 Hidden Hill Court} {Mount Gambier} TX 77964 a42@noway1234.com {A. Berner} {11220 Carla Street} Rockhampton TX 77050 buddy_boy476@noway1234.com {Buddy Boy Rauner} {278 Lazy Street} {Port Hedland} TX 77181 hazen507@noway1234.com {Alta Hazen} {7833 Dorchester Street} Nacogdoches TX 77542 belle667@noway1234.com {Belle Reed} {8745 East 48th Avenue} {Port Augusta} TX 77684 elise685@noway1234.com {Elise Weakland} {885 East 68th Avenue} Austin TX 77213 marple_mccoy@noway1234.com {Marple McCoy} {536 Campbell Creek Road} Wollongong TX 77107 oren@noway1234.com {Oren Hazen} {7187 West 123rd Avenue} Austin TX 77760 dollarhide@noway1234.com {Given Dollarhide} {6274 Sambar Loop} Ketherine TX 77237 hinkle78@noway1234.com {Mary Hinkle} {2699 Country Meadow Circle} Amarillo TX 77446 louise@noway1234.com {Louise Tagart} {10554 East 44th Court} Newcastle TX 77635 hanau@noway1234.com {Leigh Hanau} {9114 Terrace Drive} {Alice Springs} TX 77120 jean_pan@noway1234.com {Jean Pan} {8528 Aspen Road} {Padre Island} TX 77902 smith@noway1234.com {Smith Uhrmacher} {11054 Little Bend Circle} Launceston TX 77146 hamm@noway1234.com {Melvern Hamm} {1607 Jaguar Circle} Amarillo TX 77737 wilhelm88@noway1234.com {Doris Wilhelm} {1980 Live Alder Avenue} {Coober Pedy} TX 77205 speckmann736@noway1234.com {Charles Speckmann} {8421 Bristol Drive} Monaville TX 77506 lisa@noway1234.com {Lisa Heideman} {2314 Eris Drive} Bathurst TX 77296 g_w@noway1234.com {G.W. Watteyne} {11081 Saint James Circle} Wollongong TX 77452 bingley@noway1234.com {Bingley Triplett} {2172 Diana Circle} OOdnadatta TX 77778 hamric@noway1234.com {Hamric Rader} {10345 Gardner Street} Galveston TX 77318 bartels962@noway1234.com {Buddy Boy Bartels} {10130 Hall Circle} Centerville TX 77682 n@noway1234.com {N. Armknecht} {3152 Park Circle} Dallas TX 77741 curt@noway1234.com {Curt Grof} {9089 Flagship Circle} Hamilton TX 77255 rauner272@noway1234.com {Michael Rauner} {761 Whist Road} OOdnadatta TX 77626 phillips_hackbart@noway1234.com {Phillips Hackbart} {322 Pawn Place} {Coober Pedy} TX 77187 gerry@noway1234.com {Gerry Carman} {6499 Ray Street} Adelaide TX 77533 brammann@noway1234.com {Irene Brammann} {2065 Raymond Drive} Brookshire TX 77971 johnson495@noway1234.com {Barbara Johnson} {3901 Kvichak Circle} Waco TX 77067 jeanne@noway1234.com {Jeanne Quinn} {5581 Gina Circle} Ketherine TX 77550 keedy@noway1234.com {Leon Keedy} {7637 Sinner Street} Burnie TX 77733 kallai@noway1234.com {Kallai Kage} {10871 Barbara Street} Wollongong TX 77598 randy_pierce@noway1234.com {Randy Pierce} {6167 Yellow Leaf Circle} Monaville TX 77134 delano@noway1234.com {Delano Reed} {178 Sushana Circle} OOdnadatta TX 77972 taylor826@noway1234.com {Lucy Taylor} {1882 Timothy Street} {Mount Isa} TX 77249 norris@noway1234.com {Norris Monkeyballs} {6183 Draco Drive} Tamworth TX 77600 claudia@noway1234.com {Claudia Kaufman} {10672 Henson Drive} Bendigo TX 77094 weible@noway1234.com {Emza Weible} {1246 Elmhurst Circle} Burnie TX 77373 anderson@noway1234.com {Dorsey Anderson} {1959 Heide Drive} Monaville TX 77357 conner@noway1234.com {Conner Phommachan} {3679 Dunbar Lane} {Coober Pedy} TX 77375 rita@noway1234.com {Rita Bray} {6840 Round Tree Drive} {Port Augusta} TX 77623 chritton@noway1234.com {Stanley Chritton} {10752 Outcrop Lane} OOdnadatta TX 77537 moore129@noway1234.com {Moore Anderson} {8898 Gunwale Circle} {Coober Pedy} TX 77843 kermit@noway1234.com {Kermit McCoy} {11241 Sonia Street} Newcastle TX 77521 packett@noway1234.com {Nina Packett} {8387 Trail's End Road} Nacogdoches TX 77600 wall278@noway1234.com {Adkins Wall} {10977 Whispering Spruce Drive} Launceston TX 77743 bartels107@noway1234.com {Underwood Bartels} {2795 Galatea Drive} {San Antonio} TX 77645 quinn944@noway1234.com {Gill Quinn} {3493 Tangle Court} Queenstown TX 77525 finfrock879@noway1234.com {Alice Finfrock} {10844 Terry Street} Monaville TX 77791 ruby808@noway1234.com {Ruby McKinney} {7879 Hidden Hill Court} {Port Hedland} TX 77849 herman@noway1234.com {Nutter Herman} {7371 Fireball Street} Amarillo TX 77957 l_s@noway1234.com {L.S. Witte} {6850 Mc Henry Circle} Bathurst TX 77746 ted@noway1234.com {Ted Bossung} {8679 Kayak Drive} Nacogdoches TX 77501 polson654@noway1234.com {Ramsey Polson} {7640 Mile Hi Way} {San Antonio} TX 77022 junior@noway1234.com {Junior Cary} {7406 Red Talon Circle} Rockhampton TX 77911 c_a@noway1234.com {C.A. Aust} {6477 West 36th Avenue} Adelaide TX 77713 groves@noway1234.com {Groves Sterling} {306 Becky Lane} Tamworth TX 77556 roberts@noway1234.com {Aldridge Roberts} {4262 Barclay Drive} Bathurst TX 77072 bevard@noway1234.com {Laxton Bevard} {6866 West 9th Avenue} Tamworth TX 77160 jessie_davison@noway1234.com {Jessie Davison} {8573 Barclay Drive} {Padre Island} TX 77357 elna@noway1234.com {Elna Speckmann} {792 Tudortop Circle} Amarillo TX 77562 evette633@noway1234.com {Evette Ford} {7756 West 38th Avenue} Mildura TX 77335 carolyn_reiber@noway1234.com {Carolyn Reiber} {5163 Jerome Street} Mildura TX 77359 imogene_quinn@noway1234.com {Imogene Quinn} {11531 Cherni Circle} Bendigo TX 77424 galford@noway1234.com {Galford Blythe} {3726 Helvetia Drive} Bathurst TX 77918 dwayne@noway1234.com {Dwayne Bernadt} {4080 West 73rd Avenue} Ketherine TX 77047 flame_schafer@noway1234.com {Flame Schafer} {4412 Industry Way} {Alice Springs} TX 77202 craig107@noway1234.com {Sheila Craig} {9594 Loretta Place} Independence TX 77914 clarence@noway1234.com {Clarence Goings} {11544 Seward Highway} Galveston TX 77765 rhetta@noway1234.com {Rhetta Brock} {3523 Galloway Loop} Waco TX 77563 husing@noway1234.com {Denny Husing} {4408 West 37th Court} Nacogdoches TX 77745 flora@noway1234.com {Flora West} {1292 Ril Way} Newcastle TX 77890 farrel@noway1234.com {Farrel Little} {871 Agattu Circle} Albury TX 77861 hamrick_kage@noway1234.com {Hamrick Kage} {8491 Upper Canyon Drive} {Mount Gambier} TX 77004 harvey_glasson@noway1234.com {Harvey Glasson} {10172 Rankin Road} Newcastle TX 77820 dillaplain794@noway1234.com {J.A. Dillaplain} {5126 Elmhurst Circle} {Coffs Harbour} TX 77511 lawrence614@noway1234.com {prin Lawrence} {7347 Old Eagle River Road} {Padre Island} TX 77783 virginia98@noway1234.com {Virginia Somchay} {5711 Colleen Circle} Ketherine TX 77134 stanley_ray@noway1234.com {Stanley Ray} {5833 Park Street} Launceston TX 77347 holben@noway1234.com {Bus Holben} {1860 Copper Drive} Pattison TX 77617 vertie@noway1234.com {Vertie Thompson} {5711 Mast Circle} Rockhampton TX 77420 topp808@noway1234.com {Ward Topp} {11674 Standish Street} Pattison TX 77884 thurman@noway1234.com {Thurman Curry} {11608 Birch Knoll Loop} Sunnyville TX 77034 rae@noway1234.com {Rae Schweppe} {894 Kantishna Drive} {Broken Hill} TX 77622 monk@noway1234.com {Monk Hothan} {4028 San Fernando Street} Albany TX 77294 brian_mccoy@noway1234.com {Brian Mccoy} {1631 Dorian Drive} Albany TX 77142 tyburtis_hagelback@noway1234.com {Tyburtis Hagelback} {123 Trail's End Road} Bourke TX 77110 mary_naber@noway1234.com {Mary Naber} {7308 Christine Avenue} Rockhampton TX 77674 donald447@noway1234.com {Donald Zappa} {10516 Caress Circle} Katy TX 77855 arial@noway1234.com {Arial Thurber} {3496 Eastwind Drive} Adelaide TX 77069 jim240@noway1234.com {Jim Rowland} {1785 Mirror Drive} Houston TX 77222 gary662@noway1234.com {Gary Hahn} {9955 Maclaren Street} Wollongong TX 77321 baird@noway1234.com {Estella Baird} {8515 Shadow Lane} Queenstown TX 77917 bomar@noway1234.com {Rona Bomar} {6590 Virgin Creek Road} Adelaide TX 77609 schacht@noway1234.com {Doc. Schacht} {9928 Davis Court} Albury TX 77956 lakie@noway1234.com {Lakie Laue} {3650 Bulgaria Drive} Launceston TX 77064 marguerite@noway1234.com {Marguerite Fankhauser} {1677 Robin Street} {Alice Springs} TX 77813 cummins92@noway1234.com {Gibson Cummins} {9473 Patro Street} Newcastle TX 77584 thomas480@noway1234.com {Thomas Kroll} {7640 Ellen Avenue} Eucla TX 77619 neelie@noway1234.com {Neelie Brock} {4462 Casper Court} {Coober Pedy} TX 77486 patty@noway1234.com {Patty McAlexander} {6297 Trail Drive} OOdnadatta TX 77587 hugh@noway1234.com {Hugh Lyons} {5541 Ptarmigan Boulevard} Waco TX 77767 charles630@noway1234.com {Charles Hauptman} {75 Princess Circle} Launceston TX 77895 taylor3@noway1234.com {Hedgmond Taylor} {6035 Garnett Court} Bendigo TX 77686 rothell499@noway1234.com {Joyce Rothell} {3415 Patterson Street} {Padre Island} TX 77811 diana@noway1234.com {Diana Harrah} {8292 Ginami Street} Brookshire TX 77299 defreece@noway1234.com {Nealie DeFreece} {8489 Blackburn Court} Broome TX 77443 bischoff@noway1234.com {Hickman Bischoff} {7259 Reef Place} Houston TX 77335 browning517@noway1234.com {Browning Bomar} {2585 Lamb Drive} Austin TX 77080 baird458@noway1234.com {Osa Baird} {2741 Norman Street} Queenstown TX 77272 scott358@noway1234.com {Betty Scott} {1505 West 106th Avenue} Brookshire TX 77733 okey@noway1234.com {Okey Fankhauser} {11700 Ramsey Road} Cairns TX 77584 dana296@noway1234.com {Dana Suydan} {11519 Camelot Drive} Adelaide TX 77028 bright@noway1234.com {Bright Rickman} {3251 Kalmia Drive} Amarillo TX 77133 fleet@noway1234.com {Fleet Somchay} {3071 Medfra Street} {Broken Hill} TX 77425 burton_eltiste@noway1234.com {Burton Eltiste} {10319 Brandywine Street} Tamworth TX 77246 penny241@noway1234.com {Penny Mcalexander} {7808 Opal Drive} Galveston TX 77777 flame587@noway1234.com {Flame Murphy} {8683 Nickell Circle} Albury TX 77199 hamer477@noway1234.com {Laug Hamer} {6040 Taos Road} {San Felipe} TX 77987 j_r_gorton@noway1234.com {J.R. Gorton} {5935 Lone Tree Circle} Kema TX 77855 borrenphol432@noway1234.com {Triplett Borrenphol} {4492 Donner Drive} Katy TX 77009 bill@noway1234.com {Bill Seawall} {9378 Sultana Court} Star TX 77083 jessie73@noway1234.com {Jessie Floerke} {10259 Monroe Avenue} Rockhampton TX 77673 tagart878@noway1234.com {Carla Tagart} {5172 Cascade Circle} {San Felipe} TX 77964 dell_triplett@noway1234.com {Dell Triplett} {5283 Lucy Street} Bathurst TX 77492 odbert_greeb@noway1234.com {Odbert Greeb} {5317 Bluegrass Circle} Star TX 77917 kerns@noway1234.com {Kerns Spence} {4829 Lakeside Drive} {Mount Isa} TX 77456 hermsmeier@noway1234.com {Orbit Hermsmeier} {8506 Flamingo Drive} {Mount Isa} TX 77150 katherine@noway1234.com {Katherine Betzelberger} {5431 Baywind Circle} {Port Augusta} TX 77188 gill538@noway1234.com {Gill Floerke} {11625 Virda Lee Circle} Bendigo TX 77978 olive@noway1234.com {Olive Funkhouser} {1660 Rebel Ridge Drive} {San Felipe} TX 77082 nettie@noway1234.com {Nettie Jewell} {2740 Leeper Circle} Galveston TX 77972 colombia103@noway1234.com {Colombia Murphy} {6159 West 25th Avenue} Launceston TX 77315 rodney@noway1234.com {Rodney Kehlenbeck} {11332 Cremins Lane} Sunnyville TX 77048 anderson776@noway1234.com {Dunlap Anderson} {732 Wills Way} {Mount Gambier} TX 77217 dallas@noway1234.com {Dallas Huff} {1503 River Heights Loop} {Alice Springs} TX 77588 phillips853@noway1234.com {Dorsel Phillips} {4606 Northfleet Drive} Hamilton TX 77434 hamer724@noway1234.com {Otch Hamer} {5945 Commerce Street} Albany TX 77003 hamilton336@noway1234.com {Ahtelene Hamilton} {7676 Lakeview Drive} Launceston TX 77997 russell310@noway1234.com {Russell Taylor} {10576 Cliffside Drive} Brookshire TX 77271 margaret537@noway1234.com {Margaret McAlexander} {6907 Camai Circle} Bourke TX 77951 jacobsen@noway1234.com {Dump Jacobsen} {5402 Lipscomb Street} Burnie TX 77760 rau994@noway1234.com {Nora Rau} {6548 Cutty Sark Street} Rockhampton TX 77185 scherrer570@noway1234.com {Hickman Scherrer} {3469 Mc Gowan Street} Wollongong TX 77503 lohmeier28@noway1234.com {Pat Lohmeier} {3312 Jayhawk Drive} Wollongong TX 77617 carter@noway1234.com {D.B. Carter} {8516 Nigh Road} Katy TX 77934 ruter991@noway1234.com {Olive Ruter} {7118 Augustine Drive} {Port Augusta} TX 77466 edith@noway1234.com {Edith Finke} {675 Ephreta Court} Galveston TX 77330 searcey@noway1234.com {Hedgmond Searcey} {11633 Girdwood Place} {Broken Hill} TX 77423 hallie@noway1234.com {Hallie Zager} {8788 List Circle} Dallas TX 77028 kuhl@noway1234.com {Philip Kuhl} {4252 West 41st Avenue} Eucla TX 77628 doc424@noway1234.com {Doc Clark} {4926 Inlet Vista Drive} {Padre Island} TX 77804 laxton627@noway1234.com {Laxton Winkle} {831 Nystrom Street} Brookshire TX 77765 sonny_gordon@noway1234.com {Sonny Gordon} {3801 Hillbrook Circle} Cairns TX 77510 dills@noway1234.com {mollohan Dills} {1562 Spruce Meadows Loop} Brookshire TX 77605 jess599@noway1234.com {Jess Pella} {6378 Shadowy Spruce Drive} Albury TX 77667 b717@noway1234.com {B. Buethe} {7170 Michael Drive} Burnie TX 77073 lempka@noway1234.com {Dr. Lempka} {853 Mary Circle} Newcastle TX 77904 oscar_mcnergney@noway1234.com {Oscar McNergney} {7496 Hiland Road} Monaville TX 77868 husing291@noway1234.com {Ray Husing} {11182 Mammoth Court} Albany TX 77704 fox531@noway1234.com {Curt Fox} {1785 Klondike Street} Dallas TX 77673 strossie_lohmeier@noway1234.com {Strossie Lohmeier} {9276 Jewel Terrace Street} Broome TX 77206 marmia138@noway1234.com {Marmia Jewell} {11626 Plumas Circle} {Alice Springs} TX 77692 leroy64@noway1234.com {Leroy Pella} {5868 Cange Street} OOdnadatta TX 77299 schmiegelow@noway1234.com {J. Schmiegelow} {7320 Anthem Place} Eucla TX 77559 marvin@noway1234.com {Marvin Miner} {10600 Concord Lane} Amarillo TX 77104 baucke@noway1234.com {Rita Baucke} {7551 Candy Place} Galveston TX 77076 bryce@noway1234.com {Bryce Noudaranouvong} {2872 Wandering Lane} {San Antonio} TX 77684 bohung@noway1234.com {Donald Bohung} {788 Happy Lane} Independence TX 77287 bates37@noway1234.com {Trossie Bates} {3603 East 36th Avenue} Monaville TX 77494 clayton790@noway1234.com {Clayton Rohmeyer} {2524 Feodosia Drive} {Coober Pedy} TX 77506 w_a@noway1234.com {W.A. Hester} {9002 Short Shot Way} {Coffs Harbour} TX 77800 cathy@noway1234.com {Cathy Ellis} {2822 Irene Way} {Padre Island} TX 77212 mueller@noway1234.com {Otch Mueller} {2421 Landau Circle} {San Felipe} TX 77704 mercil@noway1234.com {Mercil Hays} {8022 Leopard Circle} Galveston TX 77864 steph@noway1234.com {Steph Bartels} {1996 Dunbar Lane} {San Felipe} TX 77702 paul_neemann@noway1234.com {Paul Neemann} {4291 Devils End Drive} {Port Hedland} TX 77854 driskell807@noway1234.com {Phem Driskell} {4975 Lower Devils End Drive} {Port Augusta} TX 77812 ovid417@noway1234.com {Ovid Olmsted} {2252 Shaun Circle} {Alice Springs} TX 77665 notinaham@noway1234.com {Notinaham Badellino} {11542 Amanda Circle} Houston TX 77707 henrichs926@noway1234.com {Hugh Henrichs} {6138 Hartley Street} Ketherine TX 77981 diaz@noway1234.com {Marple Diaz} {1169 Lilac Circle} {Mount Gambier} TX 77324 mooney56@noway1234.com {Hamilton Mooney} {3195 Tetlin Street} {San Felipe} TX 77069 smithers@noway1234.com {Tenney Smithers} {10950 Telequana Circle} Pattison TX 77239 teresa@noway1234.com {Teresa Purdy} {1270 Clare Circle} Star TX 77514 carrol@noway1234.com {Carrol Rathe} {5782 Guam Avenue} Austin TX 77544 william@noway1234.com {William Colson} {5418 Rainy Place} {Mount Isa} TX 77314 chuck234@noway1234.com {Chuck Bates} {8780 Delong Landing Circle} {Port Augusta} TX 77416 scholl741@noway1234.com {J. Scholl} {878 Tool Street} Bourke TX 77969 jerome@noway1234.com {Jerome Mattheis} {11453 Baugh Circle} {Alice Springs} TX 77467 olmsted218@noway1234.com {Ida Olmsted} {1294 Spectrum Circle} Albury TX 77240 coby@noway1234.com {Coby Winkle} {4306 Doe Lane} {Mount Isa} TX 77966 sullivan@noway1234.com {Evayline Sullivan} {1440 Lassen Circle} Tamworth TX 77993 boyden@noway1234.com {Sattler Boyden} {3968 Electric Street} Hamilton TX 77180 watteyne@noway1234.com {Alta Watteyne} {11222 Rock Ptarmigan Street} Tamworth TX 77816 molly@noway1234.com {Molly Goosman} {9069 East 8th Avenue} Wollongong TX 77128 britt652@noway1234.com {Emma Britt} {9859 Industry Way} Adelaide TX 77472 kounthapanya@noway1234.com {Cora Kounthapanya} {8635 Hilltop Circle} Bathurst TX 77915 eric154@noway1234.com {Eric Mahler} {5175 Aldren Circle} Centerville TX 77294 frame_taylor@noway1234.com {frame Taylor} {6253 Hooper Circle} Bendigo TX 77792 h_v@noway1234.com {H.V. Dahl} {6601 Falke Court} Eucla TX 77721 mooney186@noway1234.com {Gladys Mooney} {1096 Toadstool Turnpike} Bourke TX 77482 behrends@noway1234.com {Lois Behrends} {11246 Wild Iris Circle} Launceston TX 77002 joan@noway1234.com {Joan Gottula} {10539 Terry Street} Cairns TX 77141 speckmann69@noway1234.com {Sweeney Speckmann} {6359 Loch Circle} Mildura TX 77094 charlie@noway1234.com {Charlie Pooch} {11733 Hamilton Drive} Tamworth TX 77432 weyers@noway1234.com {J.R.J. Weyers} {5251 Lamoreaux Court} Nacogdoches TX 77464 stover882@noway1234.com {Stover Klein} {1705 Targhee Loop} Wollongong TX 77717 browning675@noway1234.com {Browning Pope} {2442 Unga Street} Amarillo TX 77538 maggie@noway1234.com {Maggie Curry} {7714 Communications Avenue} {San Antonio} TX 77294 piersol1@noway1234.com {Sarah Piersol} {6059 Fairweather Drive} Eucla TX 77803 nolen@noway1234.com {Nolen Yates} {2554 East 1st Avenue} Newcastle TX 77993 tinnel796@noway1234.com {Tinnel Allen} {3832 Livingston Street} Townsville TX 77070 horner34@noway1234.com {Eric Horner} {2412 Foxhall Drive} Mildura TX 77523 finfrock856@noway1234.com {Tyburtis Finfrock} {1642 Barrington Loop} Bourke TX 77393 donohue613@noway1234.com {Donohue Buerstetta} {4213 Camila Court} Albany TX 77345 gibbs385@noway1234.com {Carte Gibbs} {2856 Hunters Drive} {Mount Isa} TX 77766 corliss_dieckmann@noway1234.com {Corliss Dieckmann} {5171 Brigantine Circle} {Alice Springs} TX 77318 ella132@noway1234.com {Ella Fleck} {10079 Neptune Court} Adelaide TX 77289 goracke@noway1234.com {Griffith Goracke} {5329 Hollow Street} Albury TX 77044 whitehead896@noway1234.com {Tenney Whitehead} {8006 Hughes Avenue} Amarillo TX 77168 dirksen306@noway1234.com {Moss Dirksen} {10852 East 48th Avenue} {Mount Gambier} TX 77603 nielsen680@noway1234.com {Given Nielsen} {4727 Labrador Circle} {Port Hedland} TX 77225 ina@noway1234.com {Ina Goodrich} {8186 Bowery Lane} Queenstown TX 77138 noralea306@noway1234.com {Noralea Seward} {3558 East 2nd Court} Bourke TX 77919 fink@noway1234.com {Sarah Fink} {8725 Fire Eagle Way} {Mount Gambier} TX 77804 sorensen118@noway1234.com {Ora Sorensen} {2193 East 131st Avenue} Hamilton TX 77811 mae929@noway1234.com {Mae Pieratt} {2430 U Street} Rockhampton TX 77844 boob_russell@noway1234.com {Boob Russell} {8624 Highlands Drive} Broome TX 77696 reiber54@noway1234.com {Sally Reiber} {8007 Breckenridge Circle} Ketherine TX 77893 griffin@noway1234.com {Griffin Sears} {6561 Malaspina Circle} Launceston TX 77985 buddy329@noway1234.com {Buddy Wellensiek} {11236 Tuttle Place} {Coffs Harbour} TX 77186 lance@noway1234.com {Lance Mattheis} {552 Discovery Heights Circle} Townsville TX 77917 evalena_finn@noway1234.com {Evalena Finn} {2667 West Northern Lights Boulevard} Bourke TX 77881 robinson906@noway1234.com {Pearl Robinson} {7332 Navrot Circle} {Coffs Harbour} TX 77455 chris@noway1234.com {Chris Dills} {5750 K And R Street} Mildura TX 77518 harold361@noway1234.com {Harold Floerke} {2739 West 70th Circle} Broome TX 77504 deloris_ditlevson@noway1234.com {Deloris Ditlevson} {9176 Bridgeview Drive} Monaville TX 77400 rene955@noway1234.com {Rene Kreiling} {6159 Seville Park Circle} {Tennant Creek} TX 77194 notinaham775@noway1234.com {Notinaham Harms} {10889 Cortina Road} Cairns TX 77165 harold_rodgers@noway1234.com {Harold Rodgers} {9144 Pilots Road} Newcastle TX 77101 lynette@noway1234.com {Lynette Sears} {5325 Seldon Circle} Bourke TX 77124 wanda112@noway1234.com {Wanda Kerchal} {10914 West 37th Avenue} Pattison TX 77039 robin@noway1234.com {Robin Graff} {4234 Miley Drive} {Mount Gambier} TX 77830 goemann@noway1234.com {Tate Goemann} {7064 Steeple Drive} Townsville TX 77891 gayle@noway1234.com {Gayle Lempka} {10773 Vanover Circle} {Padre Island} TX 77567 lawrence568@noway1234.com {Lawrence Mcculla} {218 Brenner Circle} Houston TX 77638 sherie726@noway1234.com {Sherie Broady} {9220 Beaver Court} {Alice Springs} TX 77799 forest@noway1234.com {Forest Goers} {8561 Melvin Avenue} Houston TX 77363 anis@noway1234.com {Anis Foetisch} {1079 Hyatt Street} Eucla TX 77503 julie@noway1234.com {Julie Yoder} {1004 Degan Street} {Port Augusta} TX 77291 fritsch@noway1234.com {Ira Fritsch} {11605 Mariah Drive} {Port Hedland} TX 77302 elouise@noway1234.com {Elouise Ruby} {323 Loudermilk Circle} Cairns TX 77977 krause480@noway1234.com {Irvin Krause} {8984 Bern Street} {San Antonio} TX 77558 eugene739@noway1234.com {Eugene Bogle} {4107 Barrow Street} Eucla TX 77560 lewie@noway1234.com {Lewie Leuenberger} {6506 Coughlan Way} Sunnyville TX 77179 marian116@noway1234.com {Marian Lofgren} {10311 Maho Circle} {Port Augusta} TX 77747 stocklass@noway1234.com {Stocklass Kleine} {7243 Victoria Court} Austin TX 77183 fritsch227@noway1234.com {Edna Fritsch} {4761 Glenn Circle} {Tennant Creek} TX 77954 luck@noway1234.com {Deborah Luck} {9337 Norm Circle} {Coffs Harbour} TX 77296 mommens697@noway1234.com {Opal Mommens} {715 West 45th Avenue} Wollongong TX 77270 littlejohn822@noway1234.com {Laveda Littlejohn} {579 Foxridge Circle} {San Antonio} TX 77661 mccoy502@noway1234.com {Dorthy McCoy} {9872 Damman Circle} OOdnadatta TX 77149 stone@noway1234.com {Edna Stone} {2124 Kiloana Circle} Pattison TX 77530 borrenphol219@noway1234.com {Lou Borrenphol} {2838 Parkview Circle} {San Antonio} TX 77368 comer@noway1234.com {Comer Hood} {5302 Mary Esther Drive} Sunnyville TX 77148 walker13@noway1234.com {Walker Noudaranouvong} {7054 Pamela Place} Star TX 77434 clements@noway1234.com {Verna Clements} {4718 Miles Court} Newcastle TX 77791 bane433@noway1234.com {Ward Bane} {10788 Sauvignon Circle} {Mount Gambier} TX 77147 durst@noway1234.com {Claudine Durst} {1139 North Bliss Street} Centerville TX 77782 arte@noway1234.com {Arte Mooney} {7862 Quest Circle} Houston TX 77351 wilson852@noway1234.com {Wilson Homer} {3738 Easy Street} Bathurst TX 77056 mudflaps207@noway1234.com {Mudflaps Kreiling} {2712 Saint James Circle} Kema TX 77462 arlene@noway1234.com {Arlene Staley} {8106 Shady Birch Place} Bathurst TX 77188 katherine675@noway1234.com {Katherine Dittmer} {4222 East 58th Circle} OOdnadatta TX 77746 joe_lohmeier@noway1234.com {Joe Lohmeier} {3051 Far View Place} Nacogdoches TX 77773 velda@noway1234.com {Velda Goings} {2367 West 59th Avenue} Broome TX 77885 miesbach100@noway1234.com {Norris Miesbach} {8891 East Zeus Circle} Mildura TX 77226 selena@noway1234.com {Selena Morrison} {9114 West 121st Circle} Pattison TX 77657 bicknell593@noway1234.com {G. Bicknell} {5065 East 113th Avenue} Galveston TX 77685 beth@noway1234.com {Beth Lewis} {3497 Kruger Drive} {Coffs Harbour} TX 77284 hamm859@noway1234.com {Torb Hamm} {332 Moss Creek Avenue} Waco TX 77062 reiber783@noway1234.com {Nell Reiber} {6865 Oakwood Drive} Houston TX 77192 linda217@noway1234.com {Linda Rebuck} {8511 Decoy Circle} Ketherine TX 77425 emil@noway1234.com {Emil Noudaranouvong} {1620 Beechcraft Drive} Pattison TX 77146 pan860@noway1234.com {D.B. Pan} {3779 Whitecap Place} Star TX 77279 eagle_cummins@noway1234.com {Eagle Cummins} {9184 Short Shot Way} Newcastle TX 77122 troeger548@noway1234.com {S. Troeger} {10 Hollowbrook Circle} OOdnadatta TX 77540 mckinney945@noway1234.com {White McKinney} {3318 Crowberry Loop} {Broken Hill} TX 77084 abbie@noway1234.com {Abbie Huff} {1891 North Point Circle} Launceston TX 77345 mepherrin@noway1234.com {Duncan MePherrin} {5105 Jesters Place} Star TX 77999 thurber257@noway1234.com {Pearl Thurber} {4598 Aviation Avenue} Kema TX 77175 h_h911@noway1234.com {H.H. Gregory} {3676 Miller Road} Monaville TX 77346 patti@noway1234.com {Patti Triplett} {9647 Skyway Drive} Townsville TX 77403 frederick151@noway1234.com {Griffith Frederick} {3861 East 120th Avenue} Katy TX 77371 laug390@noway1234.com {Albert Laug} {6471 Kiloana Court} {Coober Pedy} TX 77152 rotha@noway1234.com {Rotha Seeba} {5286 Hutson Drive} Brookshire TX 77802 horn@noway1234.com {JoAnne Horn} {11130 Mc Cabe Circle} Sunnyville TX 77180 ditlevson104@noway1234.com {F. Ditlevson} {7584 Taiga Street} Austin TX 77021 parrisb@noway1234.com {Ira Parrisb} {8724 Via Appia} {Tennant Creek} TX 77658 mckinney220@noway1234.com {Daisy McKinney} {8430 Bliss Street} Launceston TX 77344 mary241@noway1234.com {Mary Krouse} {10220 Connors Trail Circle} Albany TX 77588 mcalexander564@noway1234.com {Ann McAlexander} {9232 Woodland Avenue} {Alice Springs} TX 77953 carte_bicknell@noway1234.com {Carte Bicknell} {9186 Stratford Court} Waco TX 77437 lula@noway1234.com {Lula Kehlenbeck} {4836 East 84th Court} Townsville TX 77562 lorenza@noway1234.com {Lorenza Richard} {7432 Williwa Avenue} OOdnadatta TX 77785 carman@noway1234.com {Christian Carman} {10567 Hope Circle} {Tennant Creek} TX 77254 spence641@noway1234.com {Spence Van} {10689 Surrey Circle} Centerville TX 77627 hindera@noway1234.com {Vena Hindera} {5628 Cloudcroft Lane} Nacogdoches TX 77157 punk@noway1234.com {Punk Thom} {1196 Helgelien Loop} Townsville TX 77792 clifton656@noway1234.com {Clifton Aldana} {9196 Almdale Avenue} Rockhampton TX 77504 hays@noway1234.com {Hays Wall} {5653 Southeast Apron Road} Austin TX 77794 lou_wegforth@noway1234.com {Lou Wegforth} {6866 Kings Point Circle} Ketherine TX 77090 eunice@noway1234.com {Eunice Rathbun} {58 San Fernando Street} Bathurst TX 77060 pamela@noway1234.com {Pamela Bischoff} {6537 Ricky Road} Kema TX 77343 j_r621@noway1234.com {J.R. Finn} {1350 Ambergate Drive} Star TX 77226 j_d_senesourinh@noway1234.com {J.D. Senesourinh} {5937 Gander Street} Eucla TX 77355 werner@noway1234.com {Minnie Werner} {3065 Gibstay Circle} Eucla TX 77053 mahar@noway1234.com {Tony Mahar} {4149 Boni Street} {Padre Island} TX 77974 meredith@noway1234.com {Meredith Kunzman} {8167 Hennings Way} Brookshire TX 77163 mccain877@noway1234.com {Jo McCain} {346 Imlach Drive} Burnie TX 77583 wagner@noway1234.com {Frances Wagner} {8963 Rainwater Circle} Sunnyville TX 77005 calvin@noway1234.com {Calvin Armknecht} {3461 Jarvi Drive} Independence TX 77560 weinrich@noway1234.com {Jackson Weinrich} {7249 Jamie Avenue} Austin TX 77068 aust351@noway1234.com {Dodrill Aust} {10539 Pacer Place} {Port Hedland} TX 77771 frank119@noway1234.com {Frank Zager} {7985 Cates Avenue} {Padre Island} TX 77130 ann221@noway1234.com {Ann Aust} {11593 Freebird Circle} Galveston TX 77285 wilmes@noway1234.com {Rozella Wilmes} {9024 Prince William Circle} Albury TX 77461 pieratt115@noway1234.com {Kevin Pieratt} {7007 Northfleet Drive} OOdnadatta TX 77747 troy@noway1234.com {Troy Sova} {6863 Honeysuckle Street} Katy TX 77105 policeman@noway1234.com {policeman McCain} {6393 Marino Drive} Bendigo TX 77447 kunzman@noway1234.com {Tom Kunzman} {10105 Maclaren Street} {Padre Island} TX 77797 malcolm@noway1234.com {Malcolm Masur} {3168 Willow Place} Burnie TX 77768 albert651@noway1234.com {Albert Rothell} {5613 Mountain Ash Drive} Dallas TX 77813 dillon@noway1234.com {Dillon Kaster} {10374 Cara Loop} Monaville TX 77472 waring264@noway1234.com {Bedford Waring} {3194 Snowline Circle} Broome TX 77681 jarvis@noway1234.com {Jarvis Holmstrom} {8853 Lexington Avenue} {San Felipe} TX 77102 miner967@noway1234.com {Mickey Miner} {5577 East 65th Avenue} Dallas TX 77525 griffith572@noway1234.com {Griffith Todter} {4179 East 63rd Avenue} Ketherine TX 77935 melinda@noway1234.com {Melinda Rodriques} {2509 Perry Drive} Tamworth TX 77808 ernest@noway1234.com {Ernest Wolf} {4600 Corrie Way} Mildura TX 77912 lynne@noway1234.com {Lynne Frederick} {9868 Cottonwood Street} Kema TX 77421 boyd302@noway1234.com {Boyd Berg} {10787 Raven Drive} Albury TX 77720 paxton@noway1234.com {Paxton Rodriques} {6194 Saturn Circle} Wollongong TX 77448 ivan@noway1234.com {Ivan Morris} {8267 Valley View Drive} Houston TX 77514 olga@noway1234.com {Olga Helm} {1163 Whale Bay Circle} Bendigo TX 77751 c210@noway1234.com {C. Zellmer} {2782 Andreanof Drive} Centerville TX 77537 deryle@noway1234.com {Deryle Finney} {3101 West 86th Court} Sunnyville TX 77870 oran@noway1234.com {Oran Gibson} {4281 Brigantine Circle} Monaville TX 77773 carrol48@noway1234.com {Carrol Rothell} {8321 Spring Court} {Port Augusta} TX 77741 hartman@noway1234.com {John Hartman} {9876 Anne Circle} Tamworth TX 77530 luanne@noway1234.com {Luanne Staley} {7743 Delores Drive} {Coober Pedy} TX 77921 garret@noway1234.com {Garret Dieckhoff} {3244 Bedford Street} Burnie TX 77218 meyer@noway1234.com {Pau Meyer} {4221 Snowy Plover Circle} {Mount Isa} TX 77238 cannon@noway1234.com {Cannon Khanthasene} {9958 Iron Mountain Road} Katy TX 77528 r119@noway1234.com {R. Goosman} {1154 East 9th Avenue} Tamworth TX 77000 floerke438@noway1234.com {Paul Floerke} {2747 Trail Bay Drive} Cairns TX 77620 grizilla@noway1234.com {Grizilla Kelley} {7218 Pyrenean Circle} {Broken Hill} TX 77067 constance@noway1234.com {Constance Hitzeman} {7440 Kirk Avenue} {Coober Pedy} TX 77674 drema@noway1234.com {Drema Stangel} {7187 Ramona Street} Austin TX 77281 mcalexander161@noway1234.com {Ernst Mcalexander} {2362 Jerde Circle} {Port Augusta} TX 77979 osa653@noway1234.com {Osa Mandery} {8537 West Manor Avenue} {Tennant Creek} TX 77342 hazen445@noway1234.com {Lloyd Hazen} {3849 Villages Scenic Parkway} Tamworth TX 77252 susan_jacobsen@noway1234.com {Susan Jacobsen} {9177 West Marston Drive} Newcastle TX 77703 jill@noway1234.com {Jill McPherrin} {1228 Kylie Circle} {Port Hedland} TX 77519 henderson708@noway1234.com {Henderson Thies} {11430 Crawford Street} Star TX 77904 buces@noway1234.com {Ramsey Buces} {11438 Orca Street} Queenstown TX 77227 rathbun419@noway1234.com {Pearl Rathbun} {6666 Hartman Circle} Dallas TX 77278 borrenphol93@noway1234.com {Samuel Borrenphol} {5299 Opal Circle} Monaville TX 77660 jerte@noway1234.com {Jerte Brown} {9365 Portugal Place} Hamilton TX 77692 petersen@noway1234.com {Perry Petersen} {6290 Mc Kenzie Drive} Launceston TX 77107 hoke146@noway1234.com {Johnson Hoke} {5416 Car-lynn Circle} Centerville TX 77635 dessie@noway1234.com {Dessie Meyer} {7343 Old Glenn Highway} Queenstown TX 77721 ester832@noway1234.com {Ester Baird} {1235 Woster Avenue} {Tennant Creek} TX 77104 shirley@noway1234.com {Shirley Straube} {7453 East 68th Avenue} Kema TX 77509 virginia835@noway1234.com {Virginia Fuller} {1497 Little Cape Circle} Star TX 77725 mcalexander950@noway1234.com {Gregory Mcalexander} {6114 Kronos Drive} Tamworth TX 77575 jochim@noway1234.com {J. Jochim} {3394 Interstate Circle} Ketherine TX 77712 polson615@noway1234.com {Red Polson} {5823 Home Place} Bourke TX 77153 greeb781@noway1234.com {Dottie Greeb} {4491 Gary Cooper Circle} Broome TX 77941 bette637@noway1234.com {Bette Sand} {9269 Whispering Spruce Circle} Adelaide TX 77691 phommachack@noway1234.com {Bud Phommachack} {2320 Shiloh Road} Houston TX 77514 elba@noway1234.com {Elba Johns} {4544 Constitution Drive} {Alice Springs} TX 77331 stahl153@noway1234.com {M. Stahl} {8582 Glenn Hill Circle} Wollongong TX 77687 lempke@noway1234.com {Ivan Lempke} {5907 Richmond Circle} Hamilton TX 77520 tinnel_wilmes@noway1234.com {Tinnel Wilmes} {2650 Fountain Drive} Kema TX 77969 parsons197@noway1234.com {Parsons Stauffer} {8567 Bernard Drive} Wollongong TX 77529 berner317@noway1234.com {Tinnel Berner} {11305 Zappa Place} Bendigo TX 77188 doralea@noway1234.com {Doralea Phommachan} {4854 East 55th Avenue} Mildura TX 77019 mandery680@noway1234.com {Helen Mandery} {4911 Ashley Park Lane} Austin TX 77279 scottie574@noway1234.com {Scottie Johns} {1371 Freedom Road} Waco TX 77567 joyce425@noway1234.com {Joyce Fink} {11899 Jessie Way} Monaville TX 77961 leonard@noway1234.com {Leonard Urich} {9800 Waxwing Circle} Kema TX 77893 doris510@noway1234.com {Doris Leuder} {1367 Rinner Circle} Newcastle TX 77454 pebble389@noway1234.com {Pebble Halverstadt} {6939 Willis Drive} Hamilton TX 77243 mason427@noway1234.com {Dirty Mason} {7122 Sheldon Jackson Street} Townsville TX 77756 hunt838@noway1234.com {Hunt Mueller} {8043 Colleen Circle} {Coober Pedy} TX 77427 sedersten772@noway1234.com {Dick Sedersten} {10059 Seaview Street} Burnie TX 77304 helm629@noway1234.com {Norma Helm} {11405 H Street} {San Felipe} TX 77831 peters940@noway1234.com {Dola Peters} {8203 Duvoy Court} Galveston TX 77264 hitzeman667@noway1234.com {Sandra Hitzeman} {1413 Old International Airport Road} Burnie TX 77408 ragon@noway1234.com {Prussia Ragon} {3226 Loussac Drive} Austin TX 77876 rod@noway1234.com {Rod Hays} {5052 Iris Drive} {Padre Island} TX 77385 rogers12@noway1234.com {Betsy Rogers} {3709 Lovitt Circle} Eucla TX 77197 amber275@noway1234.com {Amber Neill} {222 Bluegrass Circle} Albury TX 77088 ralph896@noway1234.com {Ralph Kroeze} {1233 Oxford Drive} Hamilton TX 77026 dell983@noway1234.com {Dell Stoner} {124 Adonis Drive} Adelaide TX 77438 williams494@noway1234.com {White Williams} {3449 Lower Tulwar Loop} Wollongong TX 77631 vincent@noway1234.com {Vincent Lempke} {5198 Patrick Road} Hamilton TX 77455 sellman@noway1234.com {Lillie Sellman} {6044 Ashwood Street} Launceston TX 77022 j_r386@noway1234.com {J.R. Stitt} {5775 Unimak Circle} Mildura TX 77685 hamilton608@noway1234.com {Eunice Hamilton} {3495 Harlequin Place} {Port Augusta} TX 77377 ruhl@noway1234.com {Ruhl Roberts} {4033 Joy Avenue} {Padre Island} TX 77974 claire@noway1234.com {Claire Ullman} {10746 Dana Street} {San Felipe} TX 77584 miller_lott@noway1234.com {Miller Lott} {460 Wisconsin Avenue} {Coffs Harbour} TX 77690 mane@noway1234.com {Mane Vrbka} {2304 Will Rogers Place} Hamilton TX 77862 geiger131@noway1234.com {Ann Geiger} {3730 Marten Street} {Mount Gambier} TX 77001 w841@noway1234.com {W. Nielsen} {4534 M Court} Austin TX 77583 bernard497@noway1234.com {Bernard Horstman} {2527 Goldenview Park Drive} Nacogdoches TX 77424 jacob@noway1234.com {Jacob Pierce} {9330 Lafayette Circle} Star TX 77580 clarence123@noway1234.com {Clarence Farley} {7402 Rock Ptarmigan Street} Independence TX 77773 rowe@noway1234.com {Delbert Rowe} {9685 Broadwater Drive} Townsville TX 77176 blythe521@noway1234.com {Hedgmond Blythe} {9850 Ptarmigan Terrace Avenue} Sunnyville TX 77750 earhart297@noway1234.com {Popcorn Earhart} {175 East 68th Avenue} Kema TX 77897 lee45@noway1234.com {Lee Driskell} {4408 Aries Court} Rockhampton TX 77876 lewis46@noway1234.com {Neelie Lewis} {6460 Cache Drive} Hamilton TX 77688 shelia@noway1234.com {Shelia Ruter} {4726 Arlene Drive} {Coober Pedy} TX 77373 nolte@noway1234.com {Eleanor Nolte} {5785 Canyon Road} Bourke TX 77870 juanita@noway1234.com {Juanita Feese} {6948 Bruce Lane} Broome TX 77463 facemire_hamm@noway1234.com {Facemire Hamm} {4807 Weeping Birch Avenue} Dallas TX 77946 henry@noway1234.com {Henry Raney} {8375 Alaska Regional Drive} Dallas TX 77900 randall@noway1234.com {Randall Sikyta} {7168 Port Access Road} {Tennant Creek} TX 77963 watteyne350@noway1234.com {H. Watteyne} {10270 Stolt Lane} Bourke TX 77201 wilson_tenhulzen@noway1234.com {Wilson TenHulzen} {7145 Weimer Drive} Rockhampton TX 77192 piersol579@noway1234.com {Ruhl Piersol} {3254 Marsha Loop} Hamilton TX 77719 krause560@noway1234.com {Dorsel Krause} {9520 Portage Glacier Road} Galveston TX 77318 steinauer@noway1234.com {Sleepy Steinauer} {5695 Loretta Place} Waco TX 77286 delmar_fleck@noway1234.com {Delmar Fleck} {11892 Shuttle Circle} {San Felipe} TX 77813 don@noway1234.com {Don Suhr} {3691 Meadow View Drive} Amarillo TX 77040 lantie@noway1234.com {Lantie Morrow} {8817 Wren Lane} Bourke TX 77748 maggie412@noway1234.com {Maggie Diaz} {2881 Driftwood Street} Nacogdoches TX 77635 william_bartels@noway1234.com {William Bartels} {3978 Creekside Street} Sunnyville TX 77497 carpenter@noway1234.com {Clark Carpenter} {1666 Bill Street} {San Antonio} TX 77320 armknecht982@noway1234.com {Evette Armknecht} {5299 Mountain Road} Brookshire TX 77261 holthus@noway1234.com {Melvina Holthus} {6462 Southport Drive} {San Antonio} TX 77967 fletcher@noway1234.com {Fletcher Urich} {6664 Dunlap Court} {Coffs Harbour} TX 77060 norman83@noway1234.com {Norman Bischoff} {6584 Beaumont Circle} Brookshire TX 77732 mullins397@noway1234.com {Mullins Hesman} {1029 Cox Drive} Broome TX 77099 ester_mason@noway1234.com {Ester Mason} {6683 Sproat Road} Mildura TX 77734 menard871@noway1234.com {Lynnette Menard} {5244 Muldoon Circle} Independence TX 77844 zelma@noway1234.com {Zelma Lade} {607 Hidden View Court} {Padre Island} TX 77853 jaime@noway1234.com {Jaime MePherrin} {6996 Craig Circle} Ketherine TX 77112 dawson437@noway1234.com {Dawson McCain} {6881 Rendon Drive} Kema TX 77311 gilbert431@noway1234.com {Gilbert Sellman} {10846 Matilda Circle} {Mount Gambier} TX 77122 hunt219@noway1234.com {Gaylene Hunt} {10464 Caplina Drive} Hamilton TX 77529 cherlly@noway1234.com {Cherlly Thompson} {6978 Roald Amundsen Avenue} Burnie TX 77144 zappa513@noway1234.com {Gene Zappa} {7068 Cache Drive} {Mount Gambier} TX 77537 wilson754@noway1234.com {Wilson Gordon} {11547 Callaway Circle} Amarillo TX 77209 hemmingway@noway1234.com {Hemmingway Buethe} {7998 Leyden Road} {Padre Island} TX 77888 rome@noway1234.com {Rome Holthus} {6210 Sunset View Circle} Sunnyville TX 77626 peterson@noway1234.com {Chip Peterson} {5889 East Bluff Drive} Burnie TX 77614 fawn@noway1234.com {Fawn Doeden} {3961 Hidden Falls Avenue} Houston TX 77730 jo218@noway1234.com {Jo Carpenter} {1207 Kincaid Road} Bendigo TX 77571 buell@noway1234.com {Buell McHenry} {3883 Telder Street} Kema TX 77430 barb_dirksen@noway1234.com {Barb Dirksen} {9131 Ticonderoga Place} Mildura TX 77342 werner714@noway1234.com {Triplett Werner} {9074 Thunder Road} {Padre Island} TX 77372 fanny@noway1234.com {Fanny Bates} {7684 Jackson Hole Court} Bathurst TX 77038 roy763@noway1234.com {Roy Clark} {3066 Campbell Terrace Drive} Brookshire TX 77131 schultz@noway1234.com {Gregory Schultz} {2397 Queen Victoria Drive} Hamilton TX 77863 bird_legs_armknecht@noway1234.com {Bird-Legs Armknecht} {3539 Mountain Road} Houston TX 77624 husing783@noway1234.com {Pearl Husing} {8626 West 47th Avenue} Austin TX 77696 carolyn_gibbs@noway1234.com {Carolyn Gibbs} {3995 Kalka Circle} Monaville TX 77021 shirlee@noway1234.com {Shirlee Parrish} {9087 Jasper Lane} {Alice Springs} TX 77788 eldon@noway1234.com {Eldon Ebeler} {4769 Tangle Court} {Coffs Harbour} TX 77713 stocklass351@noway1234.com {Stocklass Sikyta} {5311 Eagle River Road} Townsville TX 77900 georgia@noway1234.com {Georgia Steinmeyer} {6131 Ida Road} Newcastle TX 77919 donvil@noway1234.com {Donvil Cummins} {3336 West 95th Avenue} Pattison TX 77457 nelia@noway1234.com {Nelia Stangel} {11333 Terracewood Lane} Townsville TX 77520 dorsch@noway1234.com {Mary Dorsch} {91 Wooded Acres Drive} {Coffs Harbour} TX 77749 kenneth36@noway1234.com {Kenneth Stephens} {8183 White Tail Lane} Queenstown TX 77168 james814@noway1234.com {James Hahn} {10008 Ressel Avenue} Rockhampton TX 77208 ocie669@noway1234.com {Ocie Humann} {2939 Linden Drive} Bathurst TX 77284 belding@noway1234.com {Violet Belding} {5590 Mc Gowan Street} Albany TX 77995 shelton@noway1234.com {Shelton Stettenbenz} {4402 Florence Circle} Adelaide TX 77683 hanson@noway1234.com {Suflonia Hanson} {10785 O'malley Centre Court} Monaville TX 77959 william48@noway1234.com {William Triplett} {4886 Rampart Drive} Kema TX 77030 midge@noway1234.com {Midge Beethe} {5963 Summer Circle} Townsville TX 77820 anis258@noway1234.com {Anis Stephens} {7943 Academy Drive} Sunnyville TX 77592 dieckmann733@noway1234.com {Joe Dieckmann} {652 Friendship Lane} Bathurst TX 77446 leahy373@noway1234.com {wilson Leahy} {8256 Mohegan Drive} Centerville TX 77967 wilson307@noway1234.com {Wilson Haney} {4661 Muir Court} Townsville TX 77786 cary@noway1234.com {Berne Cary} {4271 Cassius Court} Albury TX 77319 eells394@noway1234.com {E. Eells} {2957 Upper Mc Crary Road} {Coober Pedy} TX 77792 chatta848@noway1234.com {Chatta Baird} {10980 Erin Street} Independence TX 77100 bernadt224@noway1234.com {Iris Bernadt} {2348 Jennifer Ann Circle} Independence TX 77666 lucy_cawley@noway1234.com {Lucy Cawley} {201 Stanford Drive} {Padre Island} TX 77586 schlender@noway1234.com {Pat Schlender} {862 Humphrey Drive} OOdnadatta TX 77612 tinnel976@noway1234.com {Tinnel Baird} {4656 Aurora Drive} Wollongong TX 77661 triplett484@noway1234.com {Conner Triplett} {9735 Sinina Circle} Queenstown TX 77384 jess449@noway1234.com {Jess Eltiste} {11821 Montrose Circle} OOdnadatta TX 77280 durman808@noway1234.com {Ida Durman} {11598 Admiralty Place} Townsville TX 77622 monkeyballs@noway1234.com {Burton Monkeyballs} {7571 Maywood Circle} Galveston TX 77948 given600@noway1234.com {Given Murphy} {10685 Sawmill Road} {Padre Island} TX 77163 orvill121@noway1234.com {Orvill Hershberger} {1737 Hace Street} Austin TX 77385 somchay395@noway1234.com {Lillie Somchay} {7092 Alpine View Circle} {San Felipe} TX 77136 ruby345@noway1234.com {Ruby Ebeler} {217 East 6th Avenue} Rockhampton TX 77747 gay_phillips@noway1234.com {Gay Phillips} {3425 Ermine Street} Bathurst TX 77942 bischoff541@noway1234.com {Gary Bischoff} {4544 Marino Drive} Broome TX 77379 vincent35@noway1234.com {Vincent Fricke} {6784 West 70th Avenue} Nacogdoches TX 77920 volkmer@noway1234.com {Lloyd Volkmer} {1411 Porcupine Trail Road} {Broken Hill} TX 77464 cox903@noway1234.com {Edna Cox} {26 Buskin Circle} Eucla TX 77810 david853@noway1234.com {David Cummins} {439 Sebring Circle} Cairns TX 77928 reschke@noway1234.com {Ernestine Reschke} {5720 Iowa Drive} Launceston TX 77765 holbert@noway1234.com {Holbert Hansel} {1753 Saint James Circle} Eucla TX 77261 evayline654@noway1234.com {Evayline Ruby} {7006 Rio Grande Avenue} Dallas TX 77960 williams_lueders@noway1234.com {Williams Lueders} {5378 Meadowbrook Circle} Galveston TX 77198 dodrill796@noway1234.com {Dodrill Bogle} {136 Pinnacle Circle} Launceston TX 77538 littlejohn346@noway1234.com {Tressie Littlejohn} {4957 Galena Bay Loop} Amarillo TX 77988 frances687@noway1234.com {Frances Rosakrans} {11103 Monte Road} {Coober Pedy} TX 77844 vickie_reynolds@noway1234.com {Vickie Reynolds} {1145 Campbell Airstrip Road} Brookshire TX 77861 dwinell@noway1234.com {Wanda Dwinell} {4236 Sunburst Circle} {Alice Springs} TX 77312 harms84@noway1234.com {Harms Mooney} {1497 Cannoneer Circle} Launceston TX 77752 anne599@noway1234.com {Anne Goemann} {9064 Parker Place} {Mount Isa} TX 77449 jerie@noway1234.com {Jerie Rinne} {6605 Artemus Avenue} Albury TX 77575 ruby529@noway1234.com {Notinaham Ruby} {2111 East 54th Avenue} {San Felipe} TX 77936 darius127@noway1234.com {Darius Rowe} {9249 Brendl Way} Eucla TX 77603 darla926@noway1234.com {Darla Fritsch} {8612 Kodiak Street} Cairns TX 77408 drake@noway1234.com {C.A. Drake} {1423 Lupine Road} Newcastle TX 77921 paxton_malone@noway1234.com {Paxton Malone} {1027 Newt Drive} {Padre Island} TX 77296 icie@noway1234.com {Icie Kounthapanya} {7426 Ridgeway Avenue} Nacogdoches TX 77890 fitzwater467@noway1234.com {Fitzwater Pettinger} {4807 Aviation Avenue} Houston TX 77863 sweeney_davison@noway1234.com {Sweeney Davison} {7980 West 28th Court} Cairns TX 77337 sobotta@noway1234.com {Mable Sobotta} {2747 Hanes Street} Wollongong TX 77120 leroy_ellis@noway1234.com {LeRoy Ellis} {11430 Tyee Circle} Mildura TX 77345 gates@noway1234.com {Dillon Gates} {1334 Lake Hill Drive} OOdnadatta TX 77541 peck@noway1234.com {Peck Roland} {9076 Bluebell Drive} Bourke TX 77679 lacie647@noway1234.com {Lacie Walters} {11776 Mountain Lake Drive} Dallas TX 77083 driskell643@noway1234.com {Patty Driskell} {7302 Fairweather Drive} Bendigo TX 77483 eula@noway1234.com {Eula Ragon} {258 Banff Circle} Waco TX 77259 betty919@noway1234.com {Betty Wilmes} {9968 Anne Circle} {Mount Isa} TX 77061 ethel98@noway1234.com {Ethel Xayaphonesongkham} {8614 Baltimore Place} Dallas TX 77696 douglas163@noway1234.com {Dodrill Douglas} {3873 Old Harbor Avenue} {Mount Isa} TX 77695 bud301@noway1234.com {Bud Wiese} {8878 Kwigillingok Street} Burnie TX 77658 dufield@noway1234.com {Dufield Diaz} {3503 Geronimo Circle} Bendigo TX 77810 daisy_hayes@noway1234.com {Daisy Hayes} {10530 Jelinek Place} Bendigo TX 77943 mable371@noway1234.com {Mable Thom} {9489 Passage Way} Nacogdoches TX 77695 herbert781@noway1234.com {Herbert Mason} {3389 Highlander Circle} Bourke TX 77439 stettenbenz@noway1234.com {Kellis Stettenbenz} {1719 Beechcraft Drive} {Padre Island} TX 77979 scharton981@noway1234.com {Pearl Scharton} {7793 Kitzbuhel Road} Townsville TX 77921 thom890@noway1234.com {Hazel Thom} {8959 High Point Street} Houston TX 77257 pony_mepherrin@noway1234.com {Pony MePherrin} {11865 Ressel Avenue} Hamilton TX 77014 patronia@noway1234.com {Patronia Mccoy} {4201 Preuss Lane} {Alice Springs} TX 77197 glenn@noway1234.com {Glenn Hershberger} {5591 Caravelle Court} {Padre Island} TX 77712 marie468@noway1234.com {Marie Rubin} {2305 Foraker Drive} Launceston TX 77477 richard@noway1234.com {Martha Richard} {4042 Swiss Place} {Mount Gambier} TX 77058 annie@noway1234.com {Annie Dorsch} {140 Bridger Place} Bendigo TX 77286 red_bartels@noway1234.com {Red Bartels} {669 Sycamore Loop} Bourke TX 77919 holmstrom661@noway1234.com {Arte Holmstrom} {2138 Pinnacle Circle} Brookshire TX 77592 lilly_garris@noway1234.com {Lilly Garris} {5489 Lake Shore Drive} Amarillo TX 77530 roncy@noway1234.com {Roncy Proctor} {10692 Tree Circle} Mildura TX 77266 paden@noway1234.com {Oss Paden} {6758 Barbara Falls Drive} {Padre Island} TX 77184 genniene181@noway1234.com {Genniene Rogers} {4455 Redcoat Place} Nacogdoches TX 77707 lu@noway1234.com {Lu Ragon} {5497 Newcomb Drive} Star TX 77583 okey_philippi@noway1234.com {Okey Philippi} {4393 Vail Drive} {Mount Isa} TX 77986 amanda711@noway1234.com {Amanda Husing} {579 Rabbit Creek Road} Wollongong TX 77113 field_miesbach@noway1234.com {Field Miesbach} {9718 Creekside Drive} Sunnyville TX 77402 julian@noway1234.com {Julian Dollarhide} {9666 Michelin Alley} {Alice Springs} TX 77038 neill898@noway1234.com {Dixie Neill} {2525 Scott Street} Independence TX 77743 roberts532@noway1234.com {Martha Roberts} {1647 Grissom Circle} {Mount Gambier} TX 77375 edward@noway1234.com {Edward Stephens} {8488 Stanley Park Circle} Tamworth TX 77236 parrisb802@noway1234.com {Arron Parrisb} {11054 Antelope Lane} {Broken Hill} TX 77324 buddy_carmine@noway1234.com {Buddy Carmine} {11192 Brittany Drive} {Tennant Creek} TX 77883 nolen_mommens@noway1234.com {Nolen Mommens} {4433 Raven Drive} Sunnyville TX 77524 toby@noway1234.com {Toby Nielsen} {11076 East 86th Court} {Broken Hill} TX 77994 alton212@noway1234.com {Alton Rother} {10586 Birch Hills Drive} Queenstown TX 77231 maw433@noway1234.com {Maw Xayaphonesongkham} {5545 Indian Chief Court} Adelaide TX 77604 gieser@noway1234.com {Calhoun Gieser} {5580 Gold Kings Circle} {Coober Pedy} TX 77200 avis53@noway1234.com {Avis Schroder} {3782 Cleveland Avenue} Galveston TX 77822 roena_volkmer@noway1234.com {Roena Volkmer} {7214 Pinto Circle} Centerville TX 77038 chip789@noway1234.com {Chip Ensor} {3259 Pluto Drive} Austin TX 77440 dow@noway1234.com {Dow Huff} {5462 First Street} Hamilton TX 77719 deane335@noway1234.com {Deane Miesbach} {9084 Lakonia Drive} Monaville TX 77704 christen@noway1234.com {Virginia Christen} {8917 East Cook Avenue} {Broken Hill} TX 77583 topp321@noway1234.com {Wetzel Topp} {9662 Sidorof Lane} Sunnyville TX 77698 keim@noway1234.com {Tyburtis Keim} {10500 Huot Circle} Newcastle TX 77338 lois812@noway1234.com {Lois Shaffer} {7087 Mountain Way} Centerville TX 77799 freda_scherrer@noway1234.com {Freda Scherrer} {7003 East 50th Avenue} {Tennant Creek} TX 77156 vicki_hayes@noway1234.com {Vicki Hayes} {1349 Adobe Drive} {Broken Hill} TX 77084 jackson_boardman@noway1234.com {Jackson Boardman} {8904 Goldenview Park Drive} Monaville TX 77845 aldridge_schweppe@noway1234.com {Aldridge Schweppe} {3002 North Wrangell Street} Dallas TX 77793 seawall@noway1234.com {Tenney Seawall} {11708 Zeus Drive} Houston TX 77402 kounthapanya856@noway1234.com {Phil Kounthapanya} {1804 East 4th Avenue} Albany TX 77953 thompson@noway1234.com {Barnette Thompson} {9256 Tinian Street} Townsville TX 77662 polson471@noway1234.com {Waveline Polson} {8943 Marmot Court} Launceston TX 77208 leonard168@noway1234.com {Leonard Thompson} {4290 Sunchase Street} Tamworth TX 77253 shuey@noway1234.com {Irene Shuey} {2455 Harley Drive} Burnie TX 77458 denise@noway1234.com {Denise Dieckhoff} {2684 Davis Highway} Amarillo TX 77423 finn942@noway1234.com {Maggie Finn} {69 Niltina Lane} Kema TX 77989 dahl@noway1234.com {Carla Dahl} {2308 West 12th Avenue} Queenstown TX 77245 kenneth_berg@noway1234.com {Kenneth Berg} {10838 Summer Drive} {Port Hedland} TX 77064 nelma@noway1234.com {Nelma Dollarhide} {11713 Prescot Circle} Waco TX 77192 holden293@noway1234.com {Casto Holden} {9294 Cutlass Circle} Centerville TX 77721 cottingham@noway1234.com {Cleve Cottingham} {3563 Hampstead Drive} Dallas TX 77356 mahoney330@noway1234.com {Bessie Mahoney} {6821 West 86th Court} Rockhampton TX 77765 repp@noway1234.com {Mary Repp} {9674 Elizabeth Street} OOdnadatta TX 77629 lona@noway1234.com {Lona Fricke} {5318 Miley Drive} Star TX 77293 hickman583@noway1234.com {Hickman Horstman} {8625 Reader Road} Ketherine TX 77368 burton_neemann@noway1234.com {Burton Neemann} {9386 Upper Fish Hatchery Road} Brookshire TX 77981 mcnergney516@noway1234.com {Eva McNergney} {2188 Kodiak Street} Hamilton TX 77982 bessie585@noway1234.com {Bessie Lott} {6327 Knight's Way} {Mount Gambier} TX 77845 billy_scholl@noway1234.com {Billy Scholl} {11926 North Bunn Street} Ketherine TX 77286 phillips727@noway1234.com {Phillips Belding} {3748 Jennison Circle} OOdnadatta TX 77306 eagle_oldfather@noway1234.com {Eagle Oldfather} {875 West 100th Avenue} Launceston TX 77017 frame_christensen@noway1234.com {frame Christensen} {2681 South Airpark Drive} Bathurst TX 77168 june975@noway1234.com {June Hitzeman} {2367 Neacola Circle} {Coffs Harbour} TX 77418 bauers@noway1234.com {A. Bauers} {5924 Lake View Drive} Queenstown TX 77352 reynolds549@noway1234.com {Dwayne Reynolds} {8315 Crow Creek Highway} Mildura TX 77372 pierce787@noway1234.com {Leola Pierce} {5860 Del's Lane} {Padre Island} TX 77351 alex@noway1234.com {Alex Raney} {7875 Killington Court} Broome TX 77539 leola971@noway1234.com {Leola Campbell} {9849 O'riedner Road} Katy TX 77925 abner@noway1234.com {Abner Giittinger} {11243 Brittany Rock Way} Houston TX 77422 vaden42@noway1234.com {Vaden Naber} {9438 Holitna Circle} {Broken Hill} TX 77024 hamrick686@noway1234.com {Hamrick Lawrence} {11374 Pointe Resolution Drive} Adelaide TX 77847 casey_goemann@noway1234.com {Casey Goemann} {9215 Irene Way} Galveston TX 77733 p_d@noway1234.com {P.D Schreiner} {1741 Constitution Street} Burnie TX 77272 brady_hinkle@noway1234.com {Brady Hinkle} {10662 Kensington Drive} {San Antonio} TX 77543 virginia860@noway1234.com {Virginia Gorton} {5609 Hillside Drive} Wollongong TX 77886 jones@noway1234.com {Garland Jones} {9211 Inlet Vista Drive} Houston TX 77646 william_piersol@noway1234.com {William Piersol} {3669 Hilltop Drive} Kema TX 77526 schmidt30@noway1234.com {Lorene Schmidt} {11619 West 70th Circle} {Alice Springs} TX 77829 pohlman@noway1234.com {Maxine Pohlman} {7366 East Fireweed Lane} Rockhampton TX 77762 grosse@noway1234.com {Pamela Grosse} {1536 Lilac Circle} Rockhampton TX 77004 tex@noway1234.com {Tex Luck} {11325 Sterling Way} Bendigo TX 77982 hickman_humann@noway1234.com {Hickman Humann} {10920 Ridge Top Circle} {Port Hedland} TX 77726 c_l_hamilton@noway1234.com {C.L. Hamilton} {7385 Yosemite Drive} Brookshire TX 77820 carrie_horner@noway1234.com {Carrie Horner} {11697 Sapphire Loop} Cairns TX 77536 pearl234@noway1234.com {Pearl Holden} {8842 Twilight Lane} Launceston TX 77315 malissa_vanlaningham@noway1234.com {Malissa VanLaningham} {10775 Cc Way} Kema TX 77099 kroeze843@noway1234.com {Ofie Kroeze} {11172 Cranberry Street} {Alice Springs} TX 77566 josephine@noway1234.com {Josephine Whitehead} {6393 Northern Raven Drive} Independence TX 77643 karin@noway1234.com {Karin Stinson} {2245 Woodmont Drive} Austin TX 77833 melborne@noway1234.com {Melborne Altman} {8360 Greenpoint Avenue} Sunnyville TX 77379 opal469@noway1234.com {Opal Wheeler} {4438 Seawind Drive} Bathurst TX 77688 l_s277@noway1234.com {L.S. Paden} {8156 Lewis Street} Queenstown TX 77979 spence70@noway1234.com {Miller Spence} {3741 Merlin Loop} {Alice Springs} TX 77199 bennett230@noway1234.com {Mc Bennett} {357 Cherokee Way} Eucla TX 77703 hervey673@noway1234.com {Dana Hervey} {3924 Penn Circle} {San Felipe} TX 77683 mccoy313@noway1234.com {Dee Mccoy} {5548 Vfw Road} Independence TX 77070 rademacher@noway1234.com {Moss Rademacher} {2856 Marlowe Avenue} {Coober Pedy} TX 77042 sandi_kroeze@noway1234.com {Sandi Kroeze} {3348 David Blackburn Road} Independence TX 77821 bob@noway1234.com {Bob Elenga} {8646 East 94th Court} Pattison TX 77568 reed388@noway1234.com {Reed Jones} {4280 Greendale Drive} Adelaide TX 77765 alan@noway1234.com {Alan Wilmes} {9857 Mike Street} Hamilton TX 77846 adrian_holmstrom@noway1234.com {Adrian Holmstrom} {9396 Horizon Avenue} {Port Augusta} TX 77570 brommer148@noway1234.com {Odbert Brommer} {7366 Eklutna Lake Road} {Coffs Harbour} TX 77173 mitchel599@noway1234.com {Karen Mitchel} {4531 Shelter Rock Circle} Queenstown TX 77521 troeger518@noway1234.com {Donohue Troeger} {638 Bradford Drive} {Alice Springs} TX 77070 thurber371@noway1234.com {J. Thurber} {4889 Delta Circle} Hamilton TX 77686 beulah@noway1234.com {Beulah McNergney} {6173 Bunnell Street} Bourke TX 77521 robinson41@noway1234.com {Wibb Robinson} {3457 Gold Kings Circle} {Padre Island} TX 77275 xayaphonesongkham855@noway1234.com {Christian Xayaphonesongkham} {4836 Ashland Drive} OOdnadatta TX 77290 hilda@noway1234.com {Hilda Juilfs} {8807 Barrow Street} {Mount Isa} TX 77395 morrow@noway1234.com {Sterling Morrow} {4326 Thiel Circle} Eucla TX 77918 coulter@noway1234.com {Coulter Robinson} {2187 Energy Court} Mildura TX 77951 huck@noway1234.com {Huck Severns} {9781 Leprechan Drive} Star TX 77921 morrissey467@noway1234.com {Burkley Morrissey} {3574 West 74th Court} Launceston TX 77844 linda465@noway1234.com {Linda Whitehead} {10133 Kelly Circle} Burnie TX 77882 reinhardt@noway1234.com {Hansford Reinhardt} {7732 West 71st Court} Kema TX 77910 pfister@noway1234.com {Laky Pfister} {11425 Tahoe Drive} Galveston TX 77690 kehlenbeck@noway1234.com {Louisa Kehlenbeck} {2961 Fairkytes Circle} {San Antonio} TX 77553 brown651@noway1234.com {Brown Hervey} {3717 Sean Circle} Launceston TX 77748 dorlen@noway1234.com {Dorlen Greene} {5652 Wilma Circle} Bourke TX 77870 willis656@noway1234.com {Willis Rau} {3669 Cramer Place} Brookshire TX 77038 dexter91@noway1234.com {Dexter Driskell} {2168 Red Talon Drive} Houston TX 77697 weible634@noway1234.com {Comer Weible} {1377 Rose Street} Launceston TX 77892 mitchell@noway1234.com {Mitchell Reschke} {10367 Woodshire Circle} Star TX 77066 jones170@noway1234.com {Dufield Jones} {10313 East 19th Circle} {Coffs Harbour} TX 77024 buck_stewart@noway1234.com {Buck Stewart} {3928 Francesca Drive} Houston TX 77116 horstman360@noway1234.com {Belle Horstman} {8419 Grape Place} {Mount Gambier} TX 77999 b904@noway1234.com {B. Hazen} {11275 Hartman Circle} {Port Hedland} TX 77346 polson807@noway1234.com {Ruby Polson} {586 Verdant Circle} Tamworth TX 77153 grable@noway1234.com {Ivan Grable} {6749 San Bowfel Street} Kema TX 77900 ammie185@noway1234.com {Ammie Thompson} {9725 Hartzell Road} Centerville TX 77261 roberts504@noway1234.com {Darius Roberts} {7258 Ivy Drive} Sunnyville TX 77745 tagart762@noway1234.com {Marion Tagart} {7876 Shore Drive} Bendigo TX 77875 seward522@noway1234.com {Cannon Seward} {3933 White Tail Lane} Star TX 77474 bartholomew@noway1234.com {nurse Bartholomew} {633 Fantail Circle} Waco TX 77183 staley126@noway1234.com {Staley Ellis} {5388 Eaglewood Loop} Brookshire TX 77163 annalee_kirkman@noway1234.com {Annalee Kirkman} {10817 Chenega Drive} Bourke TX 77003 site@noway1234.com {Site Bartels} {3642 Belsey Street} Brookshire TX 77943 charles12@noway1234.com {Charles Meyer} {10601 Belduque Court} Amarillo TX 77672 otha_thies@noway1234.com {Otha Thies} {5154 Agate Circle} Star TX 77692 mullins928@noway1234.com {Mullins Wiese} {4950 Wildwood Street} Brookshire TX 77204 jewell436@noway1234.com {Lea Jewell} {4249 Hardrock Drive} Bendigo TX 77136 oma53@noway1234.com {Oma Gottula} {11483 Myrtle Drive} Pattison TX 77186 oral672@noway1234.com {Oral Kavanaugh} {3029 Veco Drive} Broome TX 77980 raney52@noway1234.com {Mozelle Raney} {2460 Doroshin Avenue} {Tennant Creek} TX 77929 madeline@noway1234.com {Madeline Wall} {9523 Austin Street} Tamworth TX 77267 scott9@noway1234.com {Julie Scott} {1323 O Hop-toop Drive} Star TX 77725 helm782@noway1234.com {Johnson Helm} {2718 Kilkerry Circle} Pattison TX 77171 dodrill_mckinney@noway1234.com {Dodrill McKinney} {5761 Marian Bay Circle} Bourke TX 77412 eva665@noway1234.com {Eva Schultz} {9331 Mc Carthy Street} Bathurst TX 77413 boob922@noway1234.com {Boob Hamilton} {3505 Norman Street} Kema TX 77264 anthony_todter@noway1234.com {Anthony Todter} {5502 Fenn Street} Townsville TX 77305 n_l737@noway1234.com {N.L. MePherrin} {6983 Oomiak Circle} Wollongong TX 77524 mctheny866@noway1234.com {Mctheny Einstein} {5786 Woodmont Drive} Star TX 77379 teske191@noway1234.com {L. Teske} {7579 Rainwater Circle} Bathurst TX 77142 ernst588@noway1234.com {Ernst Berner} {7020 Wallace Avenue} Eucla TX 77345 jeanne221@noway1234.com {Jeanne Russell} {7073 Golden Wood Lane} Sunnyville TX 77950 ivan_sedersten@noway1234.com {Ivan Sedersten} {8909 Glennway Drive} Bendigo TX 77560 eldridge@noway1234.com {Eldridge Mathis} {4917 Mego Street} Albury TX 77845 clark170@noway1234.com {Aldridge Clark} {7983 East 20th Avenue} {Mount Isa} TX 77575 rapp251@noway1234.com {Rapp Rodgers} {2575 Heritage Place} Centerville TX 77722 june564@noway1234.com {June Stephens} {10195 Michaels Street} Pattison TX 77750 rosetta575@noway1234.com {Rosetta Seward} {10383 East 95th Court} {Coffs Harbour} TX 77404 kleine@noway1234.com {Allen Kleine} {6273 West 14th Avenue} Independence TX 77724 nona@noway1234.com {Nona Luck} {2611 Wild Rose Court} Townsville TX 77335 blake_buces@noway1234.com {Blake Buces} {2667 Marston Drive} {Port Hedland} TX 77916 john_gillette@noway1234.com {John Gillette} {6985 Chenoweth Street} Sunnyville TX 77287 acree412@noway1234.com {Acree Mason} {11039 University Lake Drive} Newcastle TX 77727 ruby502@noway1234.com {Ruby Pan} {4879 Seclusion Bay Drive} Sunnyville TX 77577 rowe881@noway1234.com {Rubin Rowe} {3213 Hatay Drive} Albury TX 77642 harien@noway1234.com {Harien Scott} {1644 Buttress Haul Road} Hamilton TX 77724 wood_sackaly@noway1234.com {Wood Sackaly} {7078 Four Wheel Drive} Adelaide TX 77963 lillie548@noway1234.com {Lillie Mccoy} {1055 Curvi Street} Pattison TX 77879 craig495@noway1234.com {Craig Dills} {1912 Micheal Court} {Mount Isa} TX 77770 shelby@noway1234.com {Shelby Clifton} {2604 East 147th Avenue} Albany TX 77455 ellis268@noway1234.com {Dixie Ellis} {845 Lark Street} {Padre Island} TX 77484 effie@noway1234.com {Effie Harman} {11391 Romig Place} Wollongong TX 77338 dora@noway1234.com {Dora Wilhelm} {389 Heritage Place} {Port Augusta} TX 77351 rothell71@noway1234.com {Murl Rothell} {4580 Joyce Road} Katy TX 77368 brown608@noway1234.com {Dodrill Brown} {849 Amherst Court} Mildura TX 77147 halley@noway1234.com {Halley Durman} {2135 Posiedon Drive} Eucla TX 77757 tex386@noway1234.com {Tex Campbell} {3628 Cache Creek Circle} Albury TX 77308 chritton648@noway1234.com {Kennith Chritton} {1763 Gold Kings Avenue} Rockhampton TX 77034 hershel@noway1234.com {Hershel Wheeler} {4274 Dunkirk Court} Pattison TX 77663 earlie@noway1234.com {Earlie Rickman} {2001 Milky Way Drive} Katy TX 77559 j_r68@noway1234.com {J.R. Hazen} {7289 West Tudor Road} Tamworth TX 77873 donald787@noway1234.com {Donald Pfister} {6149 Puma Drive} {Padre Island} TX 77403 james264@noway1234.com {James Grable} {4450 Lodge Pole Court} Bathurst TX 77329 davis517@noway1234.com {Davis Thurber} {3300 Crete Street} {San Felipe} TX 77939 bert@noway1234.com {Bert Clark} {9534 William Jones Circle} Austin TX 77519 aaron42@noway1234.com {Aaron Bennett} {11584 Chandalar Drive} Dallas TX 77797 wendel@noway1234.com {Wendel Heidemann} {4507 Unalaska Circle} Pattison TX 77482 oral916@noway1234.com {Oral Van} {9443 Sokolof Circle} Waco TX 77955 radford_noudaranouvong@noway1234.com {Radford Noudaranouvong} {1739 Landmark Court} {Alice Springs} TX 77842 moore708@noway1234.com {Moore Weible} {4204 Greenbelt Drive} {San Felipe} TX 77378 merlin_tagart@noway1234.com {Merlin Tagart} {3289 West 84th Avenue} Bendigo TX 77599 bud_mann@noway1234.com {Bud Mann} {9046 Locarno Drive} {Port Hedland} TX 77372 hanshaw_weakland@noway1234.com {Hanshaw Weakland} {8649 Treasure Box Mine Road} Cairns TX 77748 pudge_horn@noway1234.com {Pudge Horn} {1290 Alpenglow Drive} Eucla TX 77296 mark@noway1234.com {Mark Harrington} {11307 Coventry Drive} Eucla TX 77588 jill947@noway1234.com {Jill Rother} {1728 Aspen Court} {Alice Springs} TX 77324 flava@noway1234.com {Flava Meyer} {9709 Montego Circle} Hamilton TX 77492 babe_nielsen@noway1234.com {Babe Nielsen} {6376 Silvertip Circle} Bourke TX 77121 wib@noway1234.com {Wib Gibson} {9631 Snead Street} Monaville TX 77512 ruth_pieratt@noway1234.com {Ruth Pieratt} {10121 Beluga Bay Circle} Dallas TX 77952 mullins_oltman@noway1234.com {Mullins Oltman} {7951 East 96th Avenue} {Coffs Harbour} TX 77388 f_ullman@noway1234.com {F. Ullman} {10756 Roop Road} Ketherine TX 77279 tagart584@noway1234.com {Orvis Tagart} {4977 Dawn Lane} Townsville TX 77435 snow@noway1234.com {snow Mitchel} {5492 Hunter Circle} {Broken Hill} TX 77257 jill332@noway1234.com {Jill Boline} {1006 Setter Drive} Bathurst TX 77789 kitzmiller_vance@noway1234.com {Kitzmiller Vance} {141 Jackpot Bay Circle} Launceston TX 77192 laura312@noway1234.com {Laura Buethe} {3800 Ridgemont Drive} {Tennant Creek} TX 77180 cab@noway1234.com {Cab Heideman} {11354 Westwind Circle} Queenstown TX 77794 flavy@noway1234.com {Flavy Greeb} {5490 Orchid Circle} Albury TX 77597 schultz493@noway1234.com {Suzette Schultz} {8143 Baffin Street} Cairns TX 77871 keener209@noway1234.com {Keener Tagart} {4938 Bonnie Jean Court} OOdnadatta TX 77486 nanny@noway1234.com {Nanny Mahler} {9389 Little Dipper Avenue} Tamworth TX 77302 mathis621@noway1234.com {Ralph Mathis} {4693 Rezanof Circle} Hamilton TX 77455 frederick979@noway1234.com {JoAnne Frederick} {9717 Highlands Drive} Rockhampton TX 77920 raney904@noway1234.com {Leola Raney} {10000 Vasili Drive} Star TX 77404 maryaldine@noway1234.com {Maryaldine Thies} {9822 Birch Lane} {Tennant Creek} TX 77367 tenhulzen634@noway1234.com {Penelope TenHulzen} {6669 Christina Place} Kema TX 77392 mccoy707@noway1234.com {Rush Mccoy} {6284 Atlantis Avenue} Waco TX 77129 keith@noway1234.com {Keith Mccoy} {9295 Jewel Terrace Street} Centerville TX 77330 neemann406@noway1234.com {Jerome Neemann} {6303 Crabtree Lane} Kema TX 77608 dawson344@noway1234.com {Dawson Menard} {3145 Bluff Creek Circle} Rockhampton TX 77806 barbara332@noway1234.com {Barbara Neukirch} {10863 North Eagle Street} Centerville TX 77781 dr683@noway1234.com {Dr. Stephens} {7662 Wesleyan Drive} Pattison TX 77030 jerte_holmstrom@noway1234.com {Jerte Holmstrom} {6788 East Cook Avenue} {Port Hedland} TX 77232 suzette656@noway1234.com {Suzette Lewis} {7691 Alamosa Drive} Austin TX 77768 judy@noway1234.com {Judy Sellman} {1831 Mount Kiliak Circle} Townsville TX 77252 peterson661@noway1234.com {Wendell Peterson} {2937 Aspen Court} Kema TX 77554 hershel696@noway1234.com {Hershel Behrends} {708 Secluded Circle} Houston TX 77230 johnson59@noway1234.com {Harold Johnson} {5716 Abbey Lane} Burnie TX 77010 linda621@noway1234.com {Linda Kavanaugh} {10824 Northway Street} Broome TX 77275 gene_hunt@noway1234.com {Gene Hunt} {3377 Leigh Street} Adelaide TX 77448 buck843@noway1234.com {Buck Goemann} {9432 Bothwell Circle} Pattison TX 77230 rowland832@noway1234.com {Annalee Rowland} {1223 Lagoon Circle} Austin TX 77237 virginia714@noway1234.com {Virginia Stewart} {298 Dawn Drive} Dallas TX 77872 fleck461@noway1234.com {Johnson Fleck} {10245 Blair Avenue} Hamilton TX 77362 ona281@noway1234.com {Ona Klein} {11206 Lori Street} Waco TX 77958 j_a_baird@noway1234.com {J.A. Baird} {667 Seacliff Street} Bathurst TX 77082 janet469@noway1234.com {Janet Jochim} {3595 Hollow Street} Hamilton TX 77118 aldana87@noway1234.com {Ann Aldana} {9616 Saturn Circle} Nacogdoches TX 77725 patsi@noway1234.com {Patsi Stinson} {7426 Bridle Circle} Hamilton TX 77816 barden@noway1234.com {Dessie Barden} {8713 Loc Loman Lane} Galveston TX 77343 debbie@noway1234.com {Debbie Wherry} {7454 Moose Road} {Port Hedland} TX 77850 weyers783@noway1234.com {Ruth Weyers} {5534 Westford Lane} Sunnyville TX 77737 mildred311@noway1234.com {Mildred Graff} {3153 Noaya Circle} Centerville TX 77819 dawson_krouse@noway1234.com {Dawson Krouse} {4988 West 70th Circle} {Mount Isa} TX 77763 mudflaps_ellis@noway1234.com {Mudflaps Ellis} {3979 West 30th Avenue} Bendigo TX 77702 norman918@noway1234.com {Norman Gates} {3790 Thunderbird Street} {San Felipe} TX 77930 velma_williams@noway1234.com {Velma Williams} {5054 Eastwood Court} Independence TX 77397 irene971@noway1234.com {Irene Ditlevson} {3823 Reindeer Circle} Katy TX 77929 mary_sherman@noway1234.com {Mary Sherman} {4125 Luliad Circle} Galveston TX 77736 landry61@noway1234.com {Charles Landry} {989 Gunnysack Mine Road} Brookshire TX 77954 t_g@noway1234.com {T.G. Evans} {6313 Copper Mountain Circle} Brookshire TX 77945 kohout@noway1234.com {Wibb Kohout} {11293 Kruger Drive} {San Antonio} TX 77142 elbin@noway1234.com {Elbin Sikyta} {11395 Harrier Circle} {Port Hedland} TX 77260 sears@noway1234.com {Helen Sears} {11454 Mc Crary Road} Adelaide TX 77301 betty679@noway1234.com {Betty Cottingham} {2965 Kigul Circle} Kema TX 77558 bates378@noway1234.com {Peggy Bates} {7141 Boni Street} OOdnadatta TX 77762 hanson689@noway1234.com {Joe Hanson} {7286 Jesse Lee Court} OOdnadatta TX 77856 cox868@noway1234.com {Pat Cox} {9553 Umbarto Nobile Circle} Centerville TX 77750 juanita_sellman@noway1234.com {Juanita Sellman} {5165 Hyatt Street} Bourke TX 77827 harmon703@noway1234.com {Harmon Holben} {7972 Southport Drive} Eucla TX 77507 acie_taylor@noway1234.com {Acie Taylor} {3209 Brandywine Street} Wollongong TX 77103 larry213@noway1234.com {Larry Rademacher} {9344 Carla Street} Queenstown TX 77367 imogee_guenther@noway1234.com {Imogee Guenther} {1839 Denise Circle} Austin TX 77028 hickman_waring@noway1234.com {Hickman Waring} {8641 Hollywood Drive} Broome TX 77096 noralea_conradt@noway1234.com {Noralea Conradt} {1040 Lane Street} Bourke TX 77622 flora_fox@noway1234.com {Flora Fox} {10308 Lynx Way} Wollongong TX 77708 soumpholphakdy925@noway1234.com {Harland Soumpholphakdy} {6307 Trapline Circle} {Padre Island} TX 77473 mcdowell@noway1234.com {Ernest McDowell} {1953 F Street} Hamilton TX 77891 tejral375@noway1234.com {Steph Tejral} {551 North A Street} Galveston TX 77663 gibbs161@noway1234.com {Bob Gibbs} {3346 Francesca Drive} Centerville TX 77852 hamm690@noway1234.com {Mae Hamm} {4676 Glenn Haven Drive} Townsville TX 77208 ronnie@noway1234.com {Ronnie Parrish} {635 Reata Drive} Adelaide TX 77570 a_henrichs@noway1234.com {A. Henrichs} {1258 Kerry Lane} Broome TX 77240 delia@noway1234.com {Delia Ossian} {6655 Cottontail Trail} Pattison TX 77410 judi430@noway1234.com {Judi Amos} {3746 Polly Circle} {Padre Island} TX 77552 gibson791@noway1234.com {Gibson Dieckmann} {10472 San Ernesto Avenue} Kema TX 77807 sara@noway1234.com {Sara Kuhl} {8978 Alumni Drive} {Broken Hill} TX 77684 debra@noway1234.com {Debra Buces} {5982 Mackay Street} Sunnyville TX 77498 elba906@noway1234.com {Elba Hamilton} {9990 Vassar Drive} {Tennant Creek} TX 77878 hamm956@noway1234.com {Mary Hamm} {8806 Jarvis Avenue} Kema TX 77409 zillig@noway1234.com {Kathy Zillig} {3820 Laurie Circle} Launceston TX 77513 boyd203@noway1234.com {Boyd Senesourinh} {6907 Davos Road} Wollongong TX 77025 frame_barden@noway1234.com {Frame Barden} {2923 Walker Circle} Rockhampton TX 77348 farley_siske@noway1234.com {Farley Siske} {7843 Alyeska Highway} Amarillo TX 77474 birnie@noway1234.com {Lois Birnie} {2135 Brudne Road} Hamilton TX 77409 joan77@noway1234.com {Joan Sobotta} {10210 Harbor Circle} {Broken Hill} TX 77598 kitzmiller447@noway1234.com {Kitzmiller Scholl} {1691 Waverly Circle} Hamilton TX 77989 sellhorn@noway1234.com {Anne Sellhorn} {9680 Abbott Loop Road} {Coffs Harbour} TX 77985 beck@noway1234.com {Aundrel Beck} {6958 Barrett Drive} Wollongong TX 77980 meints@noway1234.com {Helen Meints} {3052 Sonora Circle} Wollongong TX 77369 orbit_buces@noway1234.com {Orbit Buces} {6608 Baidarka Street} Albury TX 77852 katherine_boyden@noway1234.com {Katherine Boyden} {9637 Gemini Drive} Centerville TX 77797 olsen@noway1234.com {Woods Olsen} {2156 Parks Street} Nacogdoches TX 77408 malone729@noway1234.com {Averel Malone} {4280 Snow Circle} Queenstown TX 77020 juanita782@noway1234.com {Juanita Walters} {6958 Hare Place} Houston TX 77836 ardie@noway1234.com {Ardie Barden} {699 Expedition Circle} Bourke TX 77337 joyce379@noway1234.com {Joyce Gillette} {8208 East 18th Circle} Eucla TX 77520 joanne620@noway1234.com {Joanne Gregory} {9415 Alta Drive} {Alice Springs} TX 77273 bell@noway1234.com {Bell Jacobsen} {2225 Lake Hill Drive} {Coffs Harbour} TX 77213 lintz@noway1234.com {Given Lintz} {259 Caravelle Drive} Amarillo TX 77484 p_keim@noway1234.com {P. Keim} {6223 Silverberry Loop} Adelaide TX 77220 denny855@noway1234.com {Denny Dillaplain} {4879 Stoltze Drive} {San Felipe} TX 77001 carrol172@noway1234.com {Carrol Horner} {2224 Patricia Lane} Bathurst TX 77332 ferrell@noway1234.com {Ferrell Rieken} {8508 Dorchester Street} Bendigo TX 77751 les_topp@noway1234.com {Les Topp} {6977 Price Drive} Amarillo TX 77990 fyle@noway1234.com {Fyle Ritter} {2435 Kovey Street} Broome TX 77292 spence487@noway1234.com {Doc Spence} {1818 Leary Bay Circle} OOdnadatta TX 77082 deborah938@noway1234.com {Deborah Stewart} {10161 Hardwood Court} {Port Hedland} TX 77368 yoder@noway1234.com {Ermine Yoder} {10615 Troy Street} OOdnadatta TX 77275 ruter499@noway1234.com {Shaffer Ruter} {308 Taiga Street} Katy TX 77416 viola8@noway1234.com {Viola Winkle} {8608 West 95th Avenue} Bendigo TX 77257 berman@noway1234.com {Berman King} {7035 Limestone Circle} Albany TX 77428 mcquire521@noway1234.com {McQuire Cawley} {6137 Lilleston Street} {Coffs Harbour} TX 77373 lykins@noway1234.com {Lykins McCourtney} {6119 Penn Circle} Brookshire TX 77220 hasselbalch@noway1234.com {Doc Hasselbalch} {7681 Long Street} {Coober Pedy} TX 77879 lehenbauer@noway1234.com {Red Lehenbauer} {462 Bonanza Drive} Mildura TX 77175 donald_hagelback@noway1234.com {Donald Hagelback} {3583 Pinnacle Circle} Monaville TX 77091 glenna@noway1234.com {Glenna Hermsmeier} {2618 Inyo Circle} {Padre Island} TX 77997 lantz@noway1234.com {Tinney Lantz} {9673 Ranna Circle} {Port Hedland} TX 77387 nelma811@noway1234.com {Nelma Fox} {2893 Connors Trail Circle} Pattison TX 77934 denice@noway1234.com {Denice Reinhardt} {2668 Shakespeare Circle} Centerville TX 77926 carole@noway1234.com {Carole Reschke} {11296 East 76th Avenue} Kema TX 77998 jewell872@noway1234.com {Hemmingway Jewell} {2530 Rebecca Circle} Newcastle TX 77867 ralph_buethe@noway1234.com {Ralph Buethe} {8614 Winter Ridge Court} Albury TX 77145 freddie_gordon@noway1234.com {Freddie Gordon} {10583 Lord Baranof Drive} Launceston TX 77852 huff@noway1234.com {Waggoner Huff} {7485 Altoona Drive} Centerville TX 77765 rozella_bernadt@noway1234.com {Rozella Bernadt} {3964 Romig Place} Rockhampton TX 77987 mccourtney806@noway1234.com {Elba McCourtney} {11346 Shaw Circle} {Mount Isa} TX 77256 john463@noway1234.com {John Mahar} {83 Lalande Place} Newcastle TX 77569 emanuel_crane@noway1234.com {Emanuel Crane} {3059 Kigul Circle} Hamilton TX 77204 t_doeden@noway1234.com {T. Doeden} {5200 Seville Circle} Bourke TX 77609 moore104@noway1234.com {Moore Robison} {179 Kirov Circle} {Padre Island} TX 77986 oss85@noway1234.com {Oss Clements} {5221 Toyon Avenue} Katy TX 77680 gretta@noway1234.com {Gretta Othmer} {5065 Roosevelt Drive} Launceston TX 77477 joseph@noway1234.com {Joseph Wellensiek} {10570 Sydnie Kay Street} Pattison TX 77056 marilyn930@noway1234.com {Marilyn Morrow} {5580 Northpark Drive} {Port Hedland} TX 77916 rebecca679@noway1234.com {Rebecca Gregory} {2804 Tulwar Circle} Bathurst TX 77179 bonita@noway1234.com {Bonita Rubin} {2097 Vashon Circle} {Mount Gambier} TX 77847 rapp523@noway1234.com {Rapp Jones} {5377 Suneagle Circle} Bendigo TX 77991 pierson@noway1234.com {Pierson Hasselbalch} {7493 Concord Hill Circle} Galveston TX 77064 heidemann@noway1234.com {Donzel Heidemann} {2095 Squaw Valley Circle} Cairns TX 77354 wanda_hunt@noway1234.com {Wanda Hunt} {9483 Early View Drive} Adelaide TX 77759 carter925@noway1234.com {Vera Carter} {5304 Poplar Street} {Coffs Harbour} TX 77490 morse@noway1234.com {John Morse} {5670 East 121st Avenue} Mildura TX 77593 tab434@noway1234.com {Tab Chritton} {4470 King Arthur Circle} Bendigo TX 77584 baughman@noway1234.com {Baughman Craig} {4238 East 31st Avenue} Nacogdoches TX 77741 wherry740@noway1234.com {Cleve Wherry} {8728 Patterson Street} Bendigo TX 77671 maysel_lohmeier@noway1234.com {Maysel Lohmeier} {6319 School Road} Burnie TX 77162 winkle209@noway1234.com {William Winkle} {2609 Caragana Circle} {Mount Gambier} TX 77570 beck792@noway1234.com {Helen Beck} {7895 Klutina Drive} {Padre Island} TX 77471 juilfs@noway1234.com {Wilson Juilfs} {10251 Astonshire Court} {Port Hedland} TX 77865 moslander818@noway1234.com {Kaye Moslander} {771 Laoana Court} {Coober Pedy} TX 77094 durst835@noway1234.com {Lacie Durst} {11170 Artemus Street} Nacogdoches TX 77747 tenhulzen712@noway1234.com {Conner TenHulzen} {2159 Carnaby Way} {San Felipe} TX 77996 morris616@noway1234.com {Morris Pierce} {1025 Coachman Circle} {Coffs Harbour} TX 77135 robinson599@noway1234.com {Rozella Robinson} {9749 Castner Circle} Galveston TX 77200 sears86@noway1234.com {A. Sears} {6898 East Tudor Road} {Port Augusta} TX 77862 higgins@noway1234.com {Margaret Higgins} {11251 Autumn Drive} Galveston TX 77974 julia@noway1234.com {Julia Wagner} {3223 Camelot Drive} {Coffs Harbour} TX 77632 meints477@noway1234.com {Ernest Meints} {4082 Waterfall Circle} Pattison TX 77622 alfred@noway1234.com {Alfred Dollarhide} {8669 Oren Street} Rockhampton TX 77444 douglas403@noway1234.com {Glen Douglas} {2836 Newhaven Loop} Newcastle TX 77994 viola807@noway1234.com {Viola McCain} {5466 Preuss Boulevard} Newcastle TX 77140 royal@noway1234.com {Royal Mcalexander} {1190 Boulder Circle} {San Antonio} TX 77205 hutt@noway1234.com {Plug Hutt} {8133 Windy Circle} Centerville TX 77985 m_d@noway1234.com {M.D. Gottula} {5321 Susitna Drive} Wollongong TX 77244 verlyn@noway1234.com {Verlyn Birnie} {4235 Western Drive} Dallas TX 77121 jean_speckmann@noway1234.com {Jean Speckmann} {5741 Reka Drive} Monaville TX 77781 imogene428@noway1234.com {Imogene Laug} {1250 Toilsome Hill Drive} Burnie TX 77608 speckmann181@noway1234.com {Walter Speckmann} {4663 Hilltop Drive} Adelaide TX 77709 dumitru303@noway1234.com {Nora Dumitru} {11911 Denson Lane} Bendigo TX 77183 cora_hasselbalch@noway1234.com {Cora Hasselbalch} {2028 Chris Court} Queenstown TX 77710 roena_piersol@noway1234.com {Roena Piersol} {11593 Alpha Circle} Brookshire TX 77201 dawson_lofgren@noway1234.com {Dawson Lofgren} {2688 Meadow Road} Mildura TX 77549 geanine@noway1234.com {Geanine Snow} {4510 Misty Mountain Road} Nacogdoches TX 77390 caroline@noway1234.com {Caroline Spence} {9702 Snowberry Loop} Austin TX 77337 martin@noway1234.com {Aldridge Martin} {5060 Mountain Way} Burnie TX 77588 field286@noway1234.com {Morrow Field} {9153 West 42nd Avenue} Centerville TX 77872 freeman@noway1234.com {Freeman Beethe} {422 Criswell Circle} Wollongong TX 77269 graff358@noway1234.com {Vaughn Graff} {10178 Klamath Falls Lane} Cairns TX 77190 strousie@noway1234.com {Strousie Wright} {3946 Old Seward Highway} {Coober Pedy} TX 77141 bobby@noway1234.com {Bobby Thurber} {8820 Kent Avenue} Monaville TX 77079 beatrice@noway1234.com {Beatrice Curry} {803 Jacqueline Circle} Launceston TX 77592 charles111@noway1234.com {Charles Fleck} {10741 Dorbrandt Street} Townsville TX 77695 goff886@noway1234.com {Goff Aust} {2015 Majella Circle} {Mount Isa} TX 77508 jeri@noway1234.com {Jeri Bohung} {2468 Fischer Avenue} Newcastle TX 77491 sobotta266@noway1234.com {Stewart Sobotta} {1206 Mirror Lake Drive} Austin TX 77833 h_j_meister@noway1234.com {H.J. Meister} {5359 Lavender Lane} Kema TX 77453 mary257@noway1234.com {Mary Parrisb} {11612 Misty Springs Court} Houston TX 77137 aletha@noway1234.com {Aletha VanLaningham} {9318 Berthod Way} {Tennant Creek} TX 77790 dorthy922@noway1234.com {Dorthy Mann} {10045 Bridger Circle} {San Antonio} TX 77186 colton944@noway1234.com {Minnie Colton} {7363 Austin Avenue} {Port Hedland} TX 77283 brown595@noway1234.com {Brown Morse} {2060 Brandy Circle} Broome TX 77256 hartman914@noway1234.com {Merlin Hartman} {10447 Foothill Circle} Eucla TX 77232 mildred935@noway1234.com {Mildred Reschke} {7500 East 135th Avenue} {Padre Island} TX 77166 add@noway1234.com {Add DeFreece} {779 Tundra Court} {Coober Pedy} TX 77262 ida101@noway1234.com {Ida Hinkle} {9653 Greenscreek Circle} Hamilton TX 77325 winkle340@noway1234.com {Allen Winkle} {2669 West Zeus Circle} Pattison TX 77046 emily_hamilton@noway1234.com {Emily Hamilton} {6374 East 96th Court} Ketherine TX 77449 doc_keim@noway1234.com {Doc Keim} {5063 Lilac Drive} Mildura TX 77901 sylvester614@noway1234.com {Sylvester Mason} {9636 Lane Circle} Rockhampton TX 77138 j_t@noway1234.com {J.T. Mathis} {779 Bay View Drive} Eucla TX 77423 sec503@noway1234.com {Sec Moslander} {1861 Helvetia Drive} Waco TX 77596 mahoney395@noway1234.com {April Mahoney} {2651 Debbie Drive} Galveston TX 77982 j456@noway1234.com {J. Young} {1464 Early View Drive} Cairns TX 77929 norvell@noway1234.com {Merle Norvell} {4751 Muriel Place} Queenstown TX 77380 allan@noway1234.com {Allan Christensen} {1465 Beachwood Circle} {Alice Springs} TX 77051 phillips631@noway1234.com {Eugene Phillips} {2316 Soldotna Drive} Sunnyville TX 77021 guenther473@noway1234.com {Sue Guenther} {7173 Parks Street} {Tennant Creek} TX 77844 jefferson_packett@noway1234.com {Jefferson Packett} {415 Echo Drive} {Coffs Harbour} TX 77410 ray741@noway1234.com {Dr. Ray} {2361 Killey Street} Austin TX 77439 norris364@noway1234.com {Norris Clark} {894 Cape Noble Circle} {Alice Springs} TX 77797 hoke349@noway1234.com {Blake Hoke} {10802 Stoltze Drive} Houston TX 77845 hazen793@noway1234.com {Anna Hazen} {10709 Kelly Maureen Circle} OOdnadatta TX 77236 beard@noway1234.com {Beard Hamilton} {6561 Birch Run Circle} Ketherine TX 77290 emil409@noway1234.com {Emil Dills} {11354 Greenbrook Drive} {Port Augusta} TX 77633 henderson236@noway1234.com {Henderson Carpenter} {9920 Raymond Avenue} Tamworth TX 77146 whitehead460@noway1234.com {Quinton Whitehead} {9644 Walnut Circle} Albany TX 77058 ruth769@noway1234.com {Ruth Pope} {9827 Strawberry Road} {Port Augusta} TX 77035 royce@noway1234.com {Royce McNergney} {9490 Justin Circle} Star TX 77499 beethe@noway1234.com {Douglas Beethe} {2742 East 90th Avenue} OOdnadatta TX 77550 montz834@noway1234.com {Corliss Montz} {477 Mael Street} {Mount Isa} TX 77825 carmel@noway1234.com {Carmel Holden} {2537 West Tudor Road} Queenstown TX 77243 white198@noway1234.com {White Rademacher} {9252 Dunkirk Drive} Tamworth TX 77114 bicknell497@noway1234.com {Tyburtis Bicknell} {3640 Valley Park Drive} Independence TX 77212 jean515@noway1234.com {Jean Fleck} {1119 Carl Street} Tamworth TX 77230 ullman776@noway1234.com {Verlyn Ullman} {10054 Tengberg Avenue} Kema TX 77673 jesse425@noway1234.com {Jesse Husing} {5683 Southpark Loop} Ketherine TX 77630 charlotte119@noway1234.com {Charlotte McCain} {7906 West 31st Avenue} {Padre Island} TX 77358 verna880@noway1234.com {Verna Nielsen} {1768 Lower Sunny Circle} Cairns TX 77136 morrow_yates@noway1234.com {Morrow Yates} {5626 Prince Circle} Rockhampton TX 77847 early518@noway1234.com {Early Leahy} {8099 2nd Avenue} Houston TX 77115 eunice70@noway1234.com {Eunice Speckmann} {4194 Outcrop Lane} OOdnadatta TX 77170 melvina966@noway1234.com {Melvina Steinmeyer} {2337 South Aircraft Drive} Pattison TX 77735 herman52@noway1234.com {Rue Herman} {8779 Snowcup Circle} Albany TX 77407 dominic854@noway1234.com {Dominic Staley} {271 Reese Road} Launceston TX 77560 add631@noway1234.com {Add Armknecht} {600 Valley Vista Circle} Burnie TX 77716 carsell@noway1234.com {Carsell Dwinell} {6989 Gosling Circle} Pattison TX 77873 prussia769@noway1234.com {Prussia Lintz} {3507 East 64th Avenue} {Coffs Harbour} TX 77250 phommachan@noway1234.com {F. Phommachan} {9128 Alpha Circle} {Tennant Creek} TX 77539 dolly_philippi@noway1234.com {Dolly Philippi} {5919 Walker Circle} Launceston TX 77000 bennie@noway1234.com {Bennie Oltman} {11596 Career Center Drive} {Padre Island} TX 77074 morris845@noway1234.com {Morris Baucke} {11419 Upper Lowland Avenue} {Broken Hill} TX 77120 smith_rowe@noway1234.com {Smith Rowe} {4122 Wilma Avenue} Brookshire TX 77160 everett653@noway1234.com {Everett Gottula} {9343 O Place} Queenstown TX 77993 dodrill910@noway1234.com {Dodrill Pluta} {6516 Cherrier Street} {San Antonio} TX 77177 coby186@noway1234.com {Coby VanLaningham} {9652 Granite Place} Adelaide TX 77382 cab_wellensiek@noway1234.com {Cab Wellensiek} {8997 Smaldon Street} OOdnadatta TX 77972 herman23@noway1234.com {policeman Herman} {7218 Riffle Lane} Katy TX 77220 miner114@noway1234.com {Arial Miner} {8062 Gorlanof Lane} Katy TX 77936 tagart37@noway1234.com {nurse Tagart} {8784 Noaya Circle} Sunnyville TX 77666 grogg@noway1234.com {Grogg Philippi} {6401 Hocker Place} Bathurst TX 77652 charlene@noway1234.com {Charlene Hesman} {3028 West 121st Circle} {Mount Isa} TX 77920 pete@noway1234.com {Pete Oestmann} {10042 East 154th Avenue} Pattison TX 77919 perry462@noway1234.com {Perry Rathe} {10320 Cutwater Court} Tamworth TX 77870 rita552@noway1234.com {Rita Krause} {1219 Beamreach Court} Adelaide TX 77198 piersol304@noway1234.com {Delmar Piersol} {11781 Hardwood Court} {Mount Isa} TX 77582 topp603@noway1234.com {Aletha Topp} {5578 East 7th Avenue} Austin TX 77220 j24@noway1234.com {J. Houmann} {5140 Breezewood Drive} {Padre Island} TX 77953 t_peek@noway1234.com {T. Peek} {247 East 2nd Avenue} Tamworth TX 77771 shelby_harms@noway1234.com {Shelby Harms} {5099 Crescent Avenue} {Padre Island} TX 77077 bea@noway1234.com {Bea Troeger} {8787 Eklutna Village Road} Amarillo TX 77930 nona_kuhl@noway1234.com {Nona Kuhl} {9737 Atwood Drive} {Mount Isa} TX 77446 harrison@noway1234.com {Harrison Mahar} {2515 Red Talon Circle} OOdnadatta TX 77230 bern@noway1234.com {Bern Bischoff} {4909 Hanning Bay Circle} Austin TX 77277 odis@noway1234.com {Odis Carman} {6232 Gstaad Way} Houston TX 77220 sam@noway1234.com {Sam Johnson} {8216 Camden Circle} Star TX 77985 ammar@noway1234.com {Ammar Funkhouser} {4252 Zaikof Circle} Bathurst TX 77536 rennie_jochim@noway1234.com {Rennie Jochim} {3543 Halyards Circle} Kema TX 77542 josephine122@noway1234.com {Josephine Wheeler} {5418 Jennifer Ann Circle} Austin TX 77359 carlene@noway1234.com {Carlene Cox} {9383 Kitlina Circle} {Coober Pedy} TX 77201 grizilla815@noway1234.com {Grizilla Rau} {8187 North River Drive} Independence TX 77936 carney_cary@noway1234.com {Carney Cary} {373 Kensington Drive} Bathurst TX 77957 byrne719@noway1234.com {Byrne Lock} {1467 Kluane Avenue} Albany TX 77540 speckmann157@noway1234.com {Rod Speckmann} {11911 L Street} {Port Hedland} TX 77278 tanner605@noway1234.com {Tanner Doeden} {5839 Yarnot Avenue} {Broken Hill} TX 77620 miner978@noway1234.com {Colluzzi Miner} {1635 Leander Circle} Mildura TX 77736 masur905@noway1234.com {Dr. Masur} {11769 Noak Circle} Dallas TX 77235 jeanette963@noway1234.com {Jeanette McCourtney} {7829 Jehovahjireh Street} Broome TX 77654 gottula51@noway1234.com {Frame Gottula} {11769 Yarnot Avenue} Centerville TX 77220 parrisb634@noway1234.com {Butcher Parrisb} {5824 Austria Drive} {Tennant Creek} TX 77260 noudaranouvong838@noway1234.com {Popcorn Noudaranouvong} {9043 Aldren Circle} Brookshire TX 77429 ensor865@noway1234.com {Morris Ensor} {2943 Lichen Place} {Coffs Harbour} TX 77347 bonita794@noway1234.com {Bonita Scott} {8019 Shemya Drive} {Broken Hill} TX 77619 knippelmeyer@noway1234.com {Dodrill Knippelmeyer} {3508 Woodchase Circle} {Coober Pedy} TX 77802 lilly563@noway1234.com {Lilly Ruby} {7674 Spring Street} Bendigo TX 77476 robert99@noway1234.com {Robert Borrenphol} {10864 Loc Loman Lane} Newcastle TX 77461 wilbur_armknecht@noway1234.com {Wilbur Armknecht} {5013 Carolyn Street} Queenstown TX 77449 huttenmeyer@noway1234.com {Marie Huttenmeyer} {3294 Abbott Road} {Padre Island} TX 77579 elmie@noway1234.com {Elmie Gregory} {7116 Balchen Drive} Pattison TX 77504 lou_horn@noway1234.com {Lou Horn} {5301 West 62nd Avenue} {Coffs Harbour} TX 77031 butcher789@noway1234.com {Butcher Goings} {380 Oilwell Road} {Coffs Harbour} TX 77328 curt_straube@noway1234.com {Curt Straube} {11540 De Armoun Road} Eucla TX 77356 zappa805@noway1234.com {Butcher Zappa} {6917 David Avenue} Sunnyville TX 77257 reinhardt50@noway1234.com {Mahetable Reinhardt} {6542 Juneau Street} Broome TX 77913 kage398@noway1234.com {Wilson Kage} {10846 Norton Drive} Kema TX 77610 mark182@noway1234.com {Mark Speckmann} {3360 Lane Street} Katy TX 77178 higgins692@noway1234.com {Myron Higgins} {11316 Garfield Street} Burnie TX 77763 flavy4@noway1234.com {Flavy Field} {92 Queen Victoria Drive} Dallas TX 77489 mable_hershberger@noway1234.com {Mable Hershberger} {405 Jewel Street} {Alice Springs} TX 77548 vrbka@noway1234.com {Young Vrbka} {7060 Glenn Court} Bathurst TX 77451 c436@noway1234.com {C. Lempka} {6078 Pyramid Drive} Centerville TX 77119 gates550@noway1234.com {Dessie Gates} {957 Lauren Creek Loop} {Mount Gambier} TX 77376 pierce723@noway1234.com {Dane Pierce} {6685 Quartz Avenue} {Broken Hill} TX 77493 rathe988@noway1234.com {Mildred Rathe} {808 Duvoy Court} Kema TX 77999 peterson106@noway1234.com {Gumm Peterson} {1695 Cheechako Street} Broome TX 77170 kohout212@noway1234.com {Rene Kohout} {11056 Jill Place} Launceston TX 77314 hansford897@noway1234.com {Hansford Miller} {9834 Lobdell Street} Ketherine TX 77191 warnke277@noway1234.com {Dr. Warnke} {4446 Konrad Circle} Rockhampton TX 77423 esther@noway1234.com {Esther Eells} {10769 Clairborne Drive} Independence TX 77382 viola583@noway1234.com {Viola Graff} {6469 Lake Hill Drive} Bendigo TX 77262 rosakrans11@noway1234.com {Loring Rosakrans} {2521 Ambassador Drive} Mildura TX 77528 blankenship@noway1234.com {Blankenship Thom} {8877 Nitoanya Circle} Wollongong TX 77028 carte494@noway1234.com {Carte Weiss} {9382 Lupine Drive} Queenstown TX 77817 pearl107@noway1234.com {Pearl Christen} {614 Hillandale Avenue} {Broken Hill} TX 77701 grass@noway1234.com {Les Grass} {10656 Camila Court} Amarillo TX 77160 doc693@noway1234.com {Doc Bengtsson} {5691 Goldenview Park Drive} Launceston TX 77726 lafrance@noway1234.com {Homer LaFrance} {157 East 92nd Avenue} Launceston TX 77976 eunice564@noway1234.com {Eunice Rosakrans} {8314 Tahoe Road} Katy TX 77566 norval@noway1234.com {Norval Grof} {8914 Limestone Circle} Newcastle TX 77820 menard968@noway1234.com {Florence Menard} {3899 Homestead Road} Mildura TX 77882 jenny@noway1234.com {Jenny Wilhelm} {8828 Ptarmigan Court} Rockhampton TX 77766 tortie@noway1234.com {Tortie Pohlman} {6080 Pinto Circle} Tamworth TX 77511 john_chard@noway1234.com {John Chard} {7372 University Drive} {Padre Island} TX 77260 punk989@noway1234.com {Punk Hanau} {5813 Parker Place} Adelaide TX 77031 delorsis@noway1234.com {Delorsis Hutt} {7470 Hemlock Circle} Broome TX 77147 coulter_xayaphonesongkham@noway1234.com {Coulter Xayaphonesongkham} {11541 Race Circle} Bathurst TX 77915 bernard811@noway1234.com {Bernard Doeden} {11247 Beechcraft Drive} Dallas TX 77777 norma_wilmes@noway1234.com {Norma Wilmes} {10269 Jones Avenue} Dallas TX 77680 grable106@noway1234.com {G.W. Grable} {2869 East 94th Avenue} Ketherine TX 77675 keener_pieratt@noway1234.com {Keener Pieratt} {744 Valley Park Drive} Ketherine TX 77693 audra@noway1234.com {Audra Aufdenkamp} {10569 Paxson Drive} Bourke TX 77021 eleanor_ruter@noway1234.com {Eleanor Ruter} {517 Brittany Drive} OOdnadatta TX 77760 cary661@noway1234.com {Vera Cary} {10682 Innes Circle} Queenstown TX 77591 bray@noway1234.com {J. Bray} {3385 Cranberry Street} Broome TX 77735 lillie141@noway1234.com {Lillie Krouse} {243 Ril Circle} {Padre Island} TX 77188 schultz253@noway1234.com {Hedgmond Schultz} {5796 Duvoy Court} {San Felipe} TX 77036 peters636@noway1234.com {Volmer Peters} {9280 Clover Lane} Monaville TX 77927 evelyn@noway1234.com {Evelyn Stangel} {9549 Midland Place} Monaville TX 77567 mcalexander279@noway1234.com {Ira McAlexander} {10876 Raymond Drive} Austin TX 77025 bernard687@noway1234.com {Bernard Earhart} {5479 Harrison Street} Brookshire TX 77698 robinson_pluta@noway1234.com {Robinson Pluta} {7866 Commons Place} {San Felipe} TX 77580 othmer@noway1234.com {Mitzi Othmer} {4299 Loch Circle} {Tennant Creek} TX 77584 jessie374@noway1234.com {Jessie Finfrock} {1318 Checkmate Drive} Rockhampton TX 77312 cumbers@noway1234.com {cumbers Horner} {6597 Jefferson Avenue} Austin TX 77559 jo_dittmer@noway1234.com {Jo Dittmer} {9243 Berryman Lane} {San Antonio} TX 77060 martin774@noway1234.com {Martin Whitehead} {5281 Pearl Drive} Eucla TX 77372 huff279@noway1234.com {Lawrence Huff} {10950 Sroufe Street} Brookshire TX 77396 kevin_fritsch@noway1234.com {Kevin Fritsch} {11034 Cumberland Circle} Bendigo TX 77669 warter@noway1234.com {Warter Whitehead} {2252 Midnight Sun Court} Waco TX 77850 shirlee756@noway1234.com {Shirlee Scherrer} {10639 Spruce Crest Drive} Broome TX 77109 wilson664@noway1234.com {Wilson Meister} {5627 Charing Cross Circle} Bendigo TX 77927 dodrill469@noway1234.com {Dodrill Kroeze} {1070 See Saw Avenue} Cairns TX 77208 joan_rowe@noway1234.com {Joan Rowe} {4741 San Jeronimo Court} Eucla TX 77704 mckinney436@noway1234.com {Hamrick McKinney} {5147 Center Street} Amarillo TX 77111 buttermilk322@noway1234.com {Buttermilk Brammann} {7486 Orange Leaf Circle} Star TX 77868 seeba@noway1234.com {Eva Seeba} {1829 Rose Street} Ketherine TX 77376 vanlaningham245@noway1234.com {Henderson VanLaningham} {2000 Russian Jack Drive} Rockhampton TX 77996 taylor933@noway1234.com {Fredrick Taylor} {2685 Hooper Way} Bathurst TX 77937 emie@noway1234.com {Emie Pella} {7931 Kalgin Street} Independence TX 77563 bradley@noway1234.com {Bradley Shew} {155 Crawford Street} Albury TX 77670 a375@noway1234.com {A. Finfrock} {10027 Steamboat Drive} Tamworth TX 77936 branting857@noway1234.com {Orian Branting} {6643 Tikishla Street} {Port Hedland} TX 77348 radia@noway1234.com {Radia Chritton} {2252 Parsons Avenue} {Broken Hill} TX 77428 dorthy810@noway1234.com {Dorthy Wilson} {11820 Jaguar Circle} Burnie TX 77342 norma440@noway1234.com {Norma Baucke} {5010 East 15th Avenue} Bathurst TX 77682 dennis143@noway1234.com {Dennis Schlender} {9004 Roma Drive} Galveston TX 77018 seibert@noway1234.com {Seibert Young} {11035 Lakehurst Circle} Houston TX 77353 newt@noway1234.com {Newt McNergney} {10712 Aspen Way} Dallas TX 77422 vada@noway1234.com {Vada Feurer} {7687 Panorama Drive} Wollongong TX 77824 kuhl77@noway1234.com {Walker Kuhl} {5224 Juniper Drive} Amarillo TX 77032 logsdon8@noway1234.com {Dixie Logsdon} {11166 Sprucewood Street} {Broken Hill} TX 77991 bernice497@noway1234.com {Bernice Jones} {11620 Whaler Drive} Bourke TX 77255 teacher@noway1234.com {Teacher Rother} {5435 Christensen Drive} Hamilton TX 77147 clifton684@noway1234.com {Jane Clifton} {6307 Tyre Drive} Centerville TX 77930 a_kage@noway1234.com {A. Kage} {2297 Poseidon Drive} Bourke TX 77119 milton@noway1234.com {Milton Dwinell} {4059 East Loop Road} Ketherine TX 77239 corley@noway1234.com {Corley Aden} {7991 Gilbert Road} Nacogdoches TX 77898 mike_behrends@noway1234.com {Mike Behrends} {683 Degan Street} Monaville TX 77387 xayaphonesongkham720@noway1234.com {Harrison Xayaphonesongkham} {10139 Cherni Circle} Bourke TX 77902 oltman283@noway1234.com {S. Oltman} {5598 Dogwood Street} {Broken Hill} TX 77826 frame_amos@noway1234.com {frame Amos} {9184 Waldorf Woods Drive} Pattison TX 77599 beulah_blythe@noway1234.com {Beulah Blythe} {2074 Galloway Loop} Rockhampton TX 77776 herman30@noway1234.com {Flora Herman} {10130 Image Drive} Mildura TX 77217 alferd@noway1234.com {Alferd Kaufman} {868 Tahoe Circle} Townsville TX 77896 hooper@noway1234.com {Hooper Ruter} {9999 Aldren Circle} Centerville TX 77025 scott699@noway1234.com {Lucille Scott} {7331 Lake Street} Albany TX 77558 acree91@noway1234.com {Acree Norvell} {7916 View Heights Way} Burnie TX 77995 esker@noway1234.com {Esker Hervey} {11779 Tony Circle} {Coober Pedy} TX 77348 lanty@noway1234.com {Lanty Ritter} {11445 Louise Court} Tamworth TX 77167 rebecca612@noway1234.com {Rebecca Bailey} {3517 East 35th Avenue} Broome TX 77892 pino249@noway1234.com {Pino Knock} {1414 River Park Circle} Katy TX 77358 edwin248@noway1234.com {Edwin Young} {10973 Guillemot Circle} Centerville TX 77032 victor@noway1234.com {Victor Osterhoudt} {3633 Valley Forge Circle} Eucla TX 77769 marple947@noway1234.com {Marple Miner} {11707 Elcadore Drive} Wollongong TX 77164 roger@noway1234.com {Roger Laug} {4642 Ledora Circle} {Mount Gambier} TX 77334 lula985@noway1234.com {Lula Buces} {11489 West 41st Avenue} {Alice Springs} TX 77108 verna992@noway1234.com {Verna Schafer} {5530 Broadwater Drive} Houston TX 77396 charlotte109@noway1234.com {Charlotte Pan} {6761 Snowmobile Lane} Katy TX 77937 bowers253@noway1234.com {Bowers Giittinger} {2500 East 58th Circle} Queenstown TX 77538 oat158@noway1234.com {Oat Brammann} {10049 Breeze Court} {Port Augusta} TX 77690 ebeler269@noway1234.com {Opal Ebeler} {4869 Scarborough Drive} Broome TX 77159 ramsey436@noway1234.com {Ellis Ramsey} {1792 Lloyd Drive} Kema TX 77279 dodrill182@noway1234.com {Dodrill Suydan} {4576 Shelly Marie Circle} {Port Augusta} TX 77951 elkins_whitehead@noway1234.com {Elkins Whitehead} {5914 Bunnyshoe Circle} Bendigo TX 77397 brown_rau@noway1234.com {Brown Rau} {9712 O'brien Avenue} Kema TX 77926 yates66@noway1234.com {Bezel Yates} {9238 Dana Street} Rockhampton TX 77341 norris823@noway1234.com {Norris Murphy} {7040 West 54th Avenue} {Tennant Creek} TX 77796 walter_clements@noway1234.com {Walter Clements} {11375 Lake Otis (old) Parkway} Sunnyville TX 77853 rush_parrisb@noway1234.com {Rush Parrisb} {11685 Nelchina Street} {Port Augusta} TX 77612 johnson_reynolds@noway1234.com {Johnson Reynolds} {1864 Wild Iris Circle} Kema TX 77700 hazle@noway1234.com {Hazle Murphy} {3049 Skylark Avenue} {Coober Pedy} TX 77984 lytal185@noway1234.com {Lytal Kohout} {7795 Chapel Drive} Waco TX 77608 jewell927@noway1234.com {Annie Jewell} {9478 Nantucket Loop} Waco TX 77493 christensen746@noway1234.com {Casto Christensen} {9788 Philadelphia Way} Amarillo TX 77295 vickie_holthus@noway1234.com {Vickie Holthus} {9653 Woodmar Place} Waco TX 77454 clevenger@noway1234.com {Clevenger Oldfather} {10710 Loch Circle} Houston TX 77755 lintz782@noway1234.com {Wanda Lintz} {5252 Ramsey Road} {Broken Hill} TX 77704 bingley_husing@noway1234.com {Bingley Husing} {11932 East 78th Avenue} Dallas TX 77788 eltiste118@noway1234.com {Legg Eltiste} {1919 Rockridge Drive} Broome TX 77919 schmid@noway1234.com {Moon Schmid} {9831 West Frontage Road} Albury TX 77606 silvin@noway1234.com {Silvin McKinney} {4386 Talkeetna Street} Star TX 77652 butler59@noway1234.com {Wilson Butler} {7 Poppy Lane} Townsville TX 77960 cheisie@noway1234.com {Cheisie Steinauer} {4036 Redoubt Court} Launceston TX 77558 mollahan@noway1234.com {Mollahan Pieratt} {10037 Orth Circle} Kema TX 77056 charlotte236@noway1234.com {Charlotte Finn} {10811 Wagner Street} Cairns TX 77241 jewell822@noway1234.com {Vina Jewell} {6877 Crow's Nest Circle} Katy TX 77115 phillips_juilfs@noway1234.com {Phillips Juilfs} {2359 Sherilynn Street} Townsville TX 77140 harold124@noway1234.com {Harold Swanson} {3522 Hollyberry Circle} {Coffs Harbour} TX 77748 jarvis660@noway1234.com {Jarvis Gregory} {9787 Truro Drive} Rockhampton TX 77916 credis@noway1234.com {Credis Robison} {3623 Rusnak Street} Wollongong TX 77471 johnny_rauner@noway1234.com {Johnny Rauner} {11354 Monte Road} Launceston TX 77129 garland168@noway1234.com {Garland Miesbach} {6808 Rose Street} Broome TX 77728 betty_britt@noway1234.com {Betty Britt} {11019 Twolots Circle} {Broken Hill} TX 77285 judy643@noway1234.com {Judy Morse} {6193 Clements Drive} Cairns TX 77559 borrenphol346@noway1234.com {Acie Borrenphol} {9189 Chelatna Circle} Star TX 77104 beethe664@noway1234.com {Edwin Beethe} {5178 Barat Circle} OOdnadatta TX 77679 stover196@noway1234.com {Dennis Stover} {5672 Alyeska Avenue} OOdnadatta TX 77272 harrison_leahy@noway1234.com {Harrison Leahy} {328 Draper Drive} {Coober Pedy} TX 77891 dorothy@noway1234.com {Dorothy Huttenmeyer} {7246 Prominence Pointe Drive} Hamilton TX 77543 tucker_fleck@noway1234.com {Tucker Fleck} {7379 Hideaway Lake Drive} Katy TX 77059 vaughn_mason@noway1234.com {Vaughn Mason} {5384 West Fireweed Lane} Rockhampton TX 77426 nadine@noway1234.com {Nadine Mandery} {10458 Elsie Place} Amarillo TX 77263 jen@noway1234.com {Jen Hindera} {509 Campbell Terrace Drive} {San Antonio} TX 77979 gibbs846@noway1234.com {Dawson Gibbs} {6063 Jill Street} Ketherine TX 77415 lillian@noway1234.com {Lillian Scherrer} {8423 Riffle Lane} {Port Augusta} TX 77681 morris335@noway1234.com {Morris Colton} {11927 Lunar Drive} Dallas TX 77479 thompson956@noway1234.com {Averel Thompson} {11660 Poseidon Drive} Brookshire TX 77947 bennett297@noway1234.com {Nicholas Bennett} {8008 Hillcrest Drive} {Mount Gambier} TX 77624 hitzeman611@noway1234.com {Norma Hitzeman} {11413 Telequana Drive} Bourke TX 77292 mary374@noway1234.com {Mary Taylor} {10294 Rowan Street} Sunnyville TX 77376 bernadine@noway1234.com {Bernadine Sand} {4668 Portugal Place} Launceston TX 77886 belle116@noway1234.com {Belle Schermbeck} {8957 Potter Glen Circle} Centerville TX 77796 harley@noway1234.com {Harley Mapes} {6225 Marquez Circle} Waco TX 77460 joy681@noway1234.com {Joy Pettinger} {2736 Prospect Drive} Albany TX 77617 mane_agena@noway1234.com {Mane Agena} {3905 Resurrection Drive} Burnie TX 77254 josie@noway1234.com {Josie Hemmer} {5523 Holden Drive} Independence TX 77558 osbome636@noway1234.com {Osbome Hartman} {8785 Wiley Post Place} Hamilton TX 77915 etta297@noway1234.com {Etta Lempka} {419 Rusnak Street} Townsville TX 77180 pella747@noway1234.com {Donohue Pella} {5396 West 70th Place} Sunnyville TX 77970 altman@noway1234.com {Morris Altman} {9739 West Franklin Drive} Centerville TX 77352 john681@noway1234.com {John Finn} {6972 Rendezvous Circle} {Tennant Creek} TX 77168 sybil@noway1234.com {Sybil Cawley} {6504 Howard Avenue} Sunnyville TX 77659 gobbie@noway1234.com {Gobbie Hayes} {5453 Hightower Road} Star TX 77477 christopher81@noway1234.com {Christopher Greeb} {10281 Ames Avenue} Katy TX 77795 tab_triplett@noway1234.com {Tab Triplett} {2611 Caplina Drive} {Broken Hill} TX 77816 ruter932@noway1234.com {Freda Ruter} {1255 Papago Place} Star TX 77309 t96@noway1234.com {T. Lempke} {5697 Kiyona Court} Tamworth TX 77951 opal_seward@noway1234.com {Opal Seward} {10396 Roald Amundsen Avenue} {Padre Island} TX 77156 herbert954@noway1234.com {Herbert Snow} {4136 Sleeping Lady Lane} {Coffs Harbour} TX 77074 kallai896@noway1234.com {Kallai Bailey} {9943 Ricky Road} Queenstown TX 77637 grof@noway1234.com {Fanny Grof} {11377 East 9th Court} Pattison TX 77474 wachosky@noway1234.com {Steel Wachosky} {5296 Clark Street} Dallas TX 77601 dodrill_hupka@noway1234.com {Dodrill Hupka} {9087 Union Way} {Broken Hill} TX 77495 grosse77@noway1234.com {Larry Grosse} {8144 Lane Street} Mildura TX 77754 carolene@noway1234.com {Carolene Bohling} {6747 Brandilyn Street} {Mount Isa} TX 77148 cecil_huttenmeyer@noway1234.com {Cecil Huttenmeyer} {8605 Victor Road} Bendigo TX 77587 rubt70@noway1234.com {Rubt Mahler} {6542 Dotie's Drive} Galveston TX 77245 keith_noudaranouvong@noway1234.com {Keith Noudaranouvong} {11420 Hooper Circle} Katy TX 77626 brenford_noudaranouvong@noway1234.com {Brenford Noudaranouvong} {2489 Theodore Drive} {Coffs Harbour} TX 77424 cheryle@noway1234.com {Cheryle Lang} {7513 Andover Drive} {Coober Pedy} TX 77405 wachosky639@noway1234.com {Maysel Wachosky} {9033 Nikita Drive} {Tennant Creek} TX 77618 dorwin@noway1234.com {Dorwin Rinne} {1177 Calista Court} Eucla TX 77352 brown166@noway1234.com {Becky Brown} {8902 Kathy Place} {Broken Hill} TX 77278 patty61@noway1234.com {Patty Pettinger} {4521 Norman Street} Austin TX 77771 rayburn@noway1234.com {Rayburn DeFreece} {2265 Tamworth Circle} Rockhampton TX 77015 jones228@noway1234.com {Estella Jones} {1321 Lake Otis Road} Bathurst TX 77611 mane490@noway1234.com {Mane Straube} {146 Westview Circle} Townsville TX 77122 emily767@noway1234.com {Emily Rowland} {4827 Lindsey Drive} Burnie TX 77929 t887@noway1234.com {T. Grass} {6470 Tayshee Circle} Bathurst TX 77014 bates667@noway1234.com {Paul Bates} {2297 Spinnaker Drive} {Coober Pedy} TX 77893 frankie@noway1234.com {Frankie Doty} {5521 Audubon Circle} Broome TX 77587 eda@noway1234.com {Eda Seeba} {2313 Carline Circle} Nacogdoches TX 77620 mildred181@noway1234.com {Mildred Sorensen} {7775 Solarset Circle} Nacogdoches TX 77586 urich@noway1234.com {Smith Urich} {1400 Tinian Street} {Coober Pedy} TX 77299 kavanaugh56@noway1234.com {A. Kavanaugh} {7816 Lamb Drive} Star TX 77781 smith983@noway1234.com {Smith Scott} {6067 West 79th Court} {San Felipe} TX 77291 robison717@noway1234.com {Helen Robison} {7972 Misty Mountain Circle} Rockhampton TX 77982 kathleen700@noway1234.com {Kathleen Miner} {8724 Amber Bay Loop} {Coober Pedy} TX 77479 gillette540@noway1234.com {Red Gillette} {7555 Anchorage Port Road} Townsville TX 77305 everett842@noway1234.com {Everett Cox} {9950 Brink Drive} Dallas TX 77805 erie@noway1234.com {Erie Richard} {7680 Stowe Circle} Launceston TX 77616 ones@noway1234.com {Ones Speckmann} {7894 Wildwood Street} Albany TX 77043 etta526@noway1234.com {Etta Thongkhamvilay} {2667 Beach Lake Road} Independence TX 77718 norma996@noway1234.com {Norma Jewell} {9635 Tieszen Avenue} Ketherine TX 77837 sellhorn6@noway1234.com {Blake Sellhorn} {687 F Street} Bendigo TX 77045 virginia452@noway1234.com {Virginia Schroder} {2002 Ursa Major Circle} Katy TX 77362 rowland763@noway1234.com {Mullins Rowland} {2400 Gardner Street} Broome TX 77270 horstman76@noway1234.com {Scott Horstman} {82 Falling Water Circle} Kema TX 77725 olsen897@noway1234.com {E.Burns Olsen} {4470 Cross Road} Mildura TX 77161 piersol636@noway1234.com {Russell Piersol} {8176 Breckenridge Circle} Centerville TX 77001 woltemath@noway1234.com {Bernard Woltemath} {9881 Colwell Street} {Port Hedland} TX 77544 kerchal775@noway1234.com {Kay Kerchal} {11999 Mount Mc Kinley View Drive} Tamworth TX 77800 wenzl@noway1234.com {Tenney Wenzl} {6426 Railroad Avenue} OOdnadatta TX 77351 hargis685@noway1234.com {Rozella Hargis} {10455 Torkelson Circle} Bendigo TX 77394 herman954@noway1234.com {Dr. Herman} {3602 New Smyrna Circle} {Broken Hill} TX 77064 kaufman860@noway1234.com {Shelby Kaufman} {10866 Wildwood Lane} Galveston TX 77786 kerner@noway1234.com {Orvill Kerner} {5712 Demeter Circle} {Coober Pedy} TX 77050 cluster_christen@noway1234.com {Cluster Christen} {7548 Prescot Circle} {San Antonio} TX 77706 vanwinkle@noway1234.com {Wilbur VanWinkle} {10309 Dolina Circle} Newcastle TX 77089 krontz@noway1234.com {Margie Krontz} {2127 Brentwood Drive} Pattison TX 77028 doeden955@noway1234.com {Truman Doeden} {3592 Violet Place} Newcastle TX 77645 martha462@noway1234.com {Martha Clements} {7464 Mistybrook Circle} OOdnadatta TX 77216 foetisch@noway1234.com {Jay Foetisch} {2740 Bulwark Circle} Mildura TX 77820 reilly@noway1234.com {Plug Reilly} {8057 Kimball Street} {San Antonio} TX 77526 finney@noway1234.com {Marjorie Finney} {6790 Anvik Circle} Bathurst TX 77575 ruby_phillips@noway1234.com {Ruby Phillips} {4668 East 102nd Avenue} {Broken Hill} TX 77462 judith@noway1234.com {Judith Wellensiek} {1717 Roe Way} Tamworth TX 77933 bill857@noway1234.com {Bill Steinauer} {3584 Bluebell Drive} Brookshire TX 77635 wilfong@noway1234.com {Wilfong Cary} {6107 Elmore Road} {Port Augusta} TX 77829 oral879@noway1234.com {Oral Fox} {2706 Mc Crary Road} Monaville TX 77339 sikyta69@noway1234.com {Chessie Sikyta} {3077 Elm Street} Waco TX 77266 lowell976@noway1234.com {Lowell Mccoy} {4914 Bowdoin Circle} Amarillo TX 77930 hagelback818@noway1234.com {Martin Hagelback} {9851 Lakeside Drive} {Alice Springs} TX 77511 samples_ditlevson@noway1234.com {Samples Ditlevson} {3951 Jodhpur Street} Star TX 77357 shrewsbury123@noway1234.com {Shrewsbury Christen} {794 Upper Canyon Drive} Bathurst TX 77332 triplett207@noway1234.com {Triplett Logsdon} {3492 Ange Street} {Alice Springs} TX 77606 moe660@noway1234.com {Moe Armknecht} {4485 Muldrow Street} Townsville TX 77367 gladys40@noway1234.com {Gladys Robison} {6118 Mountain Circle} Monaville TX 77627 finke328@noway1234.com {E. Finke} {8542 Fountain Drive} Tamworth TX 77177 lincoln@noway1234.com {Lincoln Sears} {612 Rendezvous Circle} {Padre Island} TX 77493 dillon320@noway1234.com {Dillon Wherry} {1437 First Street} {San Felipe} TX 77068 j_d582@noway1234.com {J.D. Fleck} {11274 Williams Street} Albany TX 77781 pet@noway1234.com {Pet Searcey} {11070 Judd Drive} Independence TX 77223 somchay249@noway1234.com {Evalina Somchay} {8554 Buckner Drive} Brookshire TX 77736 ada_kaufman@noway1234.com {Ada Kaufman} {11541 East 41st Court} Amarillo TX 77568 shew97@noway1234.com {Hazle Shew} {3453 Tulugak Circle} Hamilton TX 77250 claudine203@noway1234.com {Claudine Soumpholphakdy} {3754 Hampton Green Loop} Cairns TX 77808 allie@noway1234.com {Allie Bates} {9173 Crow Berry Circle} OOdnadatta TX 77972 hughes544@noway1234.com {Hughes Amos} {5001 Klondike Street} {San Antonio} TX 77359 rexroth70@noway1234.com {D. Rexroth} {8823 Kenmore Circle} Bendigo TX 77979 berman_brammann@noway1234.com {Berman Brammann} {6487 West 86th Court} Pattison TX 77198 mckinney322@noway1234.com {Ruby McKinney} {8049 Freitag Circle} Wollongong TX 77354 oral_sobotta@noway1234.com {Oral Sobotta} {5529 Apollo Drive} Dallas TX 77854 lucy71@noway1234.com {Lucy Shuey} {8731 East 37th Avenue} Cairns TX 77768 cab706@noway1234.com {Cab Steinmeyer} {3964 Savage Drive} {Broken Hill} TX 77963 orian748@noway1234.com {Orian Rothell} {2887 Camino Place} {San Felipe} TX 77237 nona_rauner@noway1234.com {Nona Rauner} {7101 Balandra Circle} Waco TX 77388 pan320@noway1234.com {Scottie Pan} {2196 East 138th Avenue} Star TX 77985 brinkman@noway1234.com {spadden Brinkman} {5488 Curt Court} Bendigo TX 77881 rapp_siske@noway1234.com {Rapp Siske} {1680 Gilmore Court} Sunnyville TX 77096 mont@noway1234.com {Mont Farley} {7171 Humphrey Drive} {Alice Springs} TX 77527 vergie@noway1234.com {Vergie Hanau} {11076 Dewey Circle} Wollongong TX 77352 goff672@noway1234.com {Goff Xayaphonesongkham} {7313 Almdale Avenue} Katy TX 77617 clifford@noway1234.com {Clifford Sears} {6937 Mc Kenzie Drive} Rockhampton TX 77577 person203@noway1234.com {Olive Person} {7996 Entry Way} Rockhampton TX 77545 chrastil855@noway1234.com {David Chrastil} {2592 Charter Circle} Centerville TX 77413 virginia553@noway1234.com {Virginia Lambelet} {3539 Jesters Circle} {Coober Pedy} TX 77897 charlene155@noway1234.com {Charlene Christen} {6048 Martagon Circle} {Coober Pedy} TX 77239 dow832@noway1234.com {Dow Miesbach} {5000 Max Circle} Star TX 77420 morrison@noway1234.com {Judy Morrison} {995 Culross Circle} Launceston TX 77300 kreiling478@noway1234.com {BeTty Kreiling} {4633 Balandra Circle} Mildura TX 77509 fink853@noway1234.com {Rex Fink} {10921 Birch Street} Bourke TX 77700 rauner551@noway1234.com {Eugene Rauner} {4287 Robin Hood Drive} Nacogdoches TX 77756 mc_cottingham@noway1234.com {Mc Cottingham} {1785 Harbor Landing Circle} Newcastle TX 77302 weible706@noway1234.com {Morris Weible} {11169 Whispering Birch Circle} Townsville TX 77387 minnie821@noway1234.com {Minnie Christensen} {6487 Langman Circle} Independence TX 77052 forest243@noway1234.com {Forest Bates} {7610 Schneiter Circle} Mildura TX 77229 cumbers590@noway1234.com {cumbers Sikyta} {9926 More Lane} {Coober Pedy} TX 77562 cora618@noway1234.com {Cora Dwinell} {10239 Homestead Court} {San Felipe} TX 77895 yates695@noway1234.com {Patsy Yates} {11110 Hannigan Street} {San Felipe} TX 77546 robertson@noway1234.com {Dottie Robertson} {8053 Foothill Circle} Mildura TX 77630 frances_campbell@noway1234.com {Frances Campbell} {9064 Lana Court} {Broken Hill} TX 77756 olsen234@noway1234.com {Vina Olsen} {1092 Sanak Circle} Eucla TX 77511 sewell@noway1234.com {Sewell VanWinkle} {11928 Service Road} Kema TX 77115 saunders351@noway1234.com {Kermit Saunders} {9452 Gill Way} Launceston TX 77156 kettelhake@noway1234.com {Dane Kettelhake} {3108 Diana Circle} Eucla TX 77937 sara22@noway1234.com {Sara Wendell} {8688 Notch Jade Street} {Coober Pedy} TX 77125 charles_beck@noway1234.com {Charles Beck} {6976 East 172nd Avenue} Centerville TX 77538 beethe980@noway1234.com {Edna Beethe} {8627 Totem Road} Galveston TX 77289 nim@noway1234.com {Nim Rother} {2804 West 54th Avenue} {Coober Pedy} TX 77462 redith@noway1234.com {Redith Mason} {11797 Rodeo Circle} Dallas TX 77604 lucy530@noway1234.com {Lucy Pfister} {1297 Frontier Lane} Albany TX 77204 hood@noway1234.com {Tootsie Hood} {7812 Prosperity Drive} {Port Augusta} TX 77774 jimmy_pistol483@noway1234.com {Jimmy"Pistol" Lempka} {5093 Giddeon Circle} Kema TX 77756 gottula585@noway1234.com {Dorthy Gottula} {6009 Our Road} Launceston TX 77061 field228@noway1234.com {Janet Field} {3863 Bayshore Drive} Monaville TX 77458 elaine@noway1234.com {Elaine Hartman} {2269 Briarwood Street} Mildura TX 77804 henrichs558@noway1234.com {Cantrell Henrichs} {6264 Dale Street} Bendigo TX 77248 knox@noway1234.com {Evert Knox} {8569 Eagle Glacier Loop} Mildura TX 77178 skip@noway1234.com {Skip Badertscher} {1015 Whitecap Place} Houston TX 77385 johnson467@noway1234.com {Johnson Lempke} {11292 Mc Lure Circle} Launceston TX 77234 warnke924@noway1234.com {Becky Warnke} {595 West Manor Avenue} Wollongong TX 77619 donard@noway1234.com {Donard Zager} {10566 Brink Court} Burnie TX 77188 xayarath@noway1234.com {Tenney Xayarath} {8682 Hidden View Court} Newcastle TX 77246 wiley@noway1234.com {Wiley Lempke} {5001 East 118th Avenue} Ketherine TX 77398 catherine289@noway1234.com {Catherine Borrenpohl} {2965 Kosina Circle} {Tennant Creek} TX 77789 rommie450@noway1234.com {Rommie Hackbart} {11380 Canton Loop} Kema TX 77469 vaden809@noway1234.com {Vaden Wendell} {1806 East 37th Avenue} Broome TX 77517 h_v34@noway1234.com {H.V. Laue} {8497 Bounty Drive} Nacogdoches TX 77377 w_a237@noway1234.com {W.A. Greeb} {3407 Wallace Street} Dallas TX 77066 wib_mccoy@noway1234.com {Wib Mccoy} {8790 King Circle} {Mount Isa} TX 77003 berg482@noway1234.com {Jean Berg} {5604 Shaun Circle} {Port Augusta} TX 77648 sylvester_gibson@noway1234.com {Sylvester Gibson} {10662 Dawn Lane} Katy TX 77085 plug_campbell@noway1234.com {Plug Campbell} {4349 Lucille Lane} Bathurst TX 77736 buell62@noway1234.com {Buell Diaz} {5723 Stony Brook Drive} Waco TX 77277 betty941@noway1234.com {Betty Wendell} {1052 Clay Products Drive} Pattison TX 77341 ernestine275@noway1234.com {Ernestine Dieckmann} {11827 Hinchey Place} Tamworth TX 77036 clara950@noway1234.com {Clara Soumpholphakdy} {1925 Main Tree Drive} Kema TX 77987 schroder104@noway1234.com {Urban Schroder} {787 East 81st Avenue} Hamilton TX 77664 beula847@noway1234.com {Beula Vrbka} {3060 Mountain Lake Drive} Brookshire TX 77909 arnold@noway1234.com {Arnold Schmidt} {10824 Pauline Street} Galveston TX 77491 beatrice287@noway1234.com {Beatrice Todter} {891 Goshawk Court} Monaville TX 77358 grogg577@noway1234.com {Grogg Agena} {9578 M Street} {Alice Springs} TX 77773 rollyson699@noway1234.com {Rollyson Grosse} {11337 Misty Mountain Circle} {San Antonio} TX 77058 harms_bennett@noway1234.com {Harms Bennett} {640 Saint George Circle} Austin TX 77487 k@noway1234.com {K. Gorton} {3254 East 89th Avenue} Townsville TX 77521 young417@noway1234.com {Young Dirksen} {7895 Marcus Street} Houston TX 77020 reva_wenzel@noway1234.com {Reva Wenzel} {1207 Nystrom Street} {Mount Isa} TX 77557 thom581@noway1234.com {Dawson Thom} {5788 Maho Circle} {Padre Island} TX 77302 young59@noway1234.com {Flava Young} {10478 Brenner Road} Katy TX 77211 hedgmond132@noway1234.com {Hedgmond Seeba} {7230 Mumford Street} Eucla TX 77461 ransom@noway1234.com {Ransom McLaughlin} {6485 Bluffwood Circle} Mildura TX 77541 dorsch48@noway1234.com {Kent Dorsch} {4006 Echo Drive} {Tennant Creek} TX 77980 davis95@noway1234.com {A. Davis} {6414 Markstrom Drive} {Coober Pedy} TX 77048 emma_neukirch@noway1234.com {Emma Neukirch} {11628 Brewery Street} {Broken Hill} TX 77183 keener941@noway1234.com {Keener Wenzl} {1674 Glazanof Drive} Centerville TX 77966 boline829@noway1234.com {Barbara Boline} {6413 Melva Drive} Burnie TX 77041 iris_fritsch@noway1234.com {Iris Fritsch} {3250 Imperial Drive} {Mount Isa} TX 77100 sterlin@noway1234.com {Deloris Sterlin} {11302 Arlene Drive} {Coober Pedy} TX 77342 auline@noway1234.com {Auline Neemann} {527 Hunters Drive} {San Felipe} TX 77672 emily889@noway1234.com {Emily McKinney} {6332 Bedford Street} Broome TX 77359 graff931@noway1234.com {Clifford Graff} {8450 East Northern Lights Boulevard} Townsville TX 77628 rickman485@noway1234.com {Jim Rickman} {5326 Magnaview Drive} Brookshire TX 77850 margie_goings@noway1234.com {Margie Goings} {9087 Mary Avenue} Launceston TX 77866 cawley854@noway1234.com {Emory Cawley} {7180 Stanford Street} Hamilton TX 77040 don866@noway1234.com {Don Neill} {4448 Snow Flake Drive} Katy TX 77856 suydan328@noway1234.com {Catherine Suydan} {4032 Norgaard Road} Launceston TX 77009 edsil@noway1234.com {Edsil Cummins} {6715 Commons Place} Galveston TX 77881 sylvia@noway1234.com {Sylvia Wellensiek} {11755 Bentree Circle} Bathurst TX 77108 amanda797@noway1234.com {Amanda Lehenbauer} {10827 Ladd Lane} {Port Augusta} TX 77827 doris_bane@noway1234.com {Doris Bane} {9137 Inlet Place} Albany TX 77151 lynnette456@noway1234.com {Lynnette Mcalexander} {4073 East 164th Avenue} Bathurst TX 77268 mcpherrin797@noway1234.com {W. McPherrin} {7881 East 31st Avenue} Kema TX 77776 sterling272@noway1234.com {Needra Sterling} {9799 Woodcliff Court} {Mount Gambier} TX 77897 feurer272@noway1234.com {Wilson Feurer} {2291 Road's End Circle} Eucla TX 77803 steam_shovel@noway1234.com {Steam Shovel Stinson} {6889 Mc Gowan Street} Burnie TX 77464 dills191@noway1234.com {Rayburn Dills} {11179 Caribou Street} {Port Hedland} TX 77733 mcdowell446@noway1234.com {Holbert McDowell} {2171 Gambell Street} Pattison TX 77416 rader@noway1234.com {Bud Rader} {8764 Deborah Lane} {Padre Island} TX 77761 laxton_lueders@noway1234.com {Laxton Lueders} {8947 Midland Place} {Broken Hill} TX 77363 paxton684@noway1234.com {Paxton Goers} {8890 Lagoon Circle} {Port Hedland} TX 77649 emily37@noway1234.com {Emily Altman} {6588 Tamir Avenue} {Coober Pedy} TX 77876 bonnie_rauner@noway1234.com {Bonnie Rauner} {3011 Green Tree Circle} Broome TX 77396 ruby_finke@noway1234.com {Ruby Finke} {6754 West 90th Avenue} {Port Hedland} TX 77090 tinnel873@noway1234.com {Tinnel Masur} {9935 Sumac Drive} Austin TX 77068 suhr276@noway1234.com {Flava Suhr} {1853 Stargate Circle} Bourke TX 77018 brockman@noway1234.com {J. Brockman} {3592 Stewart Drive} Independence TX 77009 burns600@noway1234.com {Irvin Burns} {9525 Eklutna Lake Road} Sunnyville TX 77314 ritter@noway1234.com {T. Ritter} {7493 Denmark Circle} Austin TX 77872 benny@noway1234.com {Benny Hitzeman} {7669 Clairmont Circle} Star TX 77993 warden@noway1234.com {Jeanette Warden} {9992 Little Cape Circle} Independence TX 77944 babe211@noway1234.com {Babe Miesbach} {636 Lakehurst Drive} Newcastle TX 77462 c_lintz@noway1234.com {C. Lintz} {5340 Lake View Drive} {Mount Gambier} TX 77325 helen_knox@noway1234.com {Helen Knox} {2801 East 97th Avenue} Queenstown TX 77829 parrish989@noway1234.com {Thelma Parrish} {1242 Kronos Drive} Nacogdoches TX 77933 robinson381@noway1234.com {McQuire Robinson} {2224 Homecrest Place} Galveston TX 77663 michl@noway1234.com {Omer Michl} {9514 Laviento Drive} Eucla TX 77963 rickman810@noway1234.com {Judy Rickman} {3626 Vance Drive} Nacogdoches TX 77521 devorss@noway1234.com {Craft DeVorss} {3172 Wagner Street} Dallas TX 77180 ora689@noway1234.com {Ora Carson} {5308 North Juanita Loop} Bourke TX 77822 maguire@noway1234.com {Steph Maguire} {10910 Ivy Circle} Bourke TX 77216 rine@noway1234.com {Lytal Rine} {10489 Barbara Street} Burnie TX 77017 roy_mitchel@noway1234.com {Roy Mitchel} {10814 Buddy Werner Drive} Monaville TX 77360 mable254@noway1234.com {Mable Rauner} {2432 Firnline Drive} {San Antonio} TX 77503 stephen@noway1234.com {Stephen Geweke} {294 Nash Street} Brookshire TX 77158 mcalexander727@noway1234.com {Lantie Mcalexander} {1240 Randamar Place} Centerville TX 77651 kreiling79@noway1234.com {Leigh Kreiling} {2361 Chain Of Rock Street} Bathurst TX 77439 adkins944@noway1234.com {Adkins Curry} {3574 Mike Street} {Padre Island} TX 77113 urich651@noway1234.com {Donna Urich} {6061 Gilbert Road} Pattison TX 77679 douglas474@noway1234.com {Henderson Douglas} {11340 Carriage Drive} Broome TX 77984 leola_stahl@noway1234.com {Leola Stahl} {10247 East 130th Avenue} Bourke TX 77361 floerke468@noway1234.com {Maxine Floerke} {10560 Boom Circle} Amarillo TX 77221 terry282@noway1234.com {Terry Laue} {3412 Banff Street} Houston TX 77446 staley423@noway1234.com {Credis Staley} {6084 Robert Circle} Wollongong TX 77290 virgil@noway1234.com {Virgil Heidemann} {9031 Robert Circle} Kema TX 77223 gottula28@noway1234.com {Ruby Gottula} {9383 Goff Street} Brookshire TX 77160 arlene_peek@noway1234.com {Arlene Peek} {881 Cherokee Way} Monaville TX 77918 evans@noway1234.com {Fitzwater Evans} {7562 Laona Drive} Nacogdoches TX 77259 ida275@noway1234.com {Ida Hahn} {8561 Aldren Circle} Hamilton TX 77929 devorss844@noway1234.com {Carol DeVorss} {1608 Nicoli Way} Tamworth TX 77365 lambelet508@noway1234.com {Shelton Lambelet} {4117 Windjammer Circle} Austin TX 77080 zillig923@noway1234.com {Gibson Zillig} {3629 Saint Anton Way} Centerville TX 77114 mutt33@noway1234.com {Mutt Kirkman} {4258 Westminster Way} Newcastle TX 77199 s_warden@noway1234.com {S. Warden} {4786 Dawson Street} Cairns TX 77573 burton_hermsmeier@noway1234.com {Burton Hermsmeier} {8277 Rocky Cove Drive} Independence TX 77760 joleen@noway1234.com {Joleen Hershberger} {1267 Dartmouth Drive} {Tennant Creek} TX 77941 pudge551@noway1234.com {Pudge Hartman} {93 West Lake Drive} Centerville TX 77318 cleve879@noway1234.com {Cleve Spence} {11250 Northwood Park Circle} Cairns TX 77512 gibbs86@noway1234.com {Eugene Gibbs} {6033 Basher Drive} Star TX 77366 littlejohn698@noway1234.com {Samples Littlejohn} {8953 Alitak Bay Circle} Katy TX 77182 lynette920@noway1234.com {Lynette Scherrer} {4141 Our Road} Rockhampton TX 77658 johnie316@noway1234.com {Johnie Severns} {6964 Kempton Hills Drive} {San Felipe} TX 77550 hazle238@noway1234.com {Hazle Naber} {7687 Summer Mist Court} Monaville TX 77487 morrow642@noway1234.com {Lois Morrow} {10947 Freebird Circle} Eucla TX 77622 felix858@noway1234.com {Felix Jewell} {4442 San Antonio Street} Dallas TX 77252 g417@noway1234.com {G. Soumpholphakdy} {3413 Mayfair Drive} Star TX 77629 herbie@noway1234.com {Herbie Sterlin} {10339 White Drive} Wollongong TX 77114 ann107@noway1234.com {Ann Hauptman} {8658 Tudortop Circle} Queenstown TX 77350 ann_ruter@noway1234.com {Ann Ruter} {9401 Patterson Court} Cairns TX 77173 ramonia@noway1234.com {Ramonia Arnold} {474 Gardner Street} {Port Augusta} TX 77256 badellino@noway1234.com {Joe Badellino} {4161 Woodgreen Circle} {Mount Isa} TX 77192 givin@noway1234.com {Givin Sobotta} {9997 Duben Avenue} {Port Hedland} TX 77991 mavis@noway1234.com {Mavis Bicknell} {11312 Norm Drive} OOdnadatta TX 77635 c_a_broady@noway1234.com {C.A. Broady} {5275 Shivalik Drive} Bathurst TX 77613 dencil@noway1234.com {Dencil Wiese} {9521 Pavalof Street} Hamilton TX 77671 dr184@noway1234.com {Dr. Repp} {10397 Chirikof Court} {Coober Pedy} TX 77114 harman329@noway1234.com {Delorsis Harman} {11601 Bow Circle} {Coffs Harbour} TX 77765 harrah@noway1234.com {Trossie Harrah} {11141 Stamps Circle} Kema TX 77826 eldon777@noway1234.com {Eldon Reschke} {9702 Fenwick Circle} Galveston TX 77201 gregory187@noway1234.com {Mike Gregory} {147 West 45th Avenue} Launceston TX 77899 rizor547@noway1234.com {Stephane Rizor} {6784 Neva Circle} Hamilton TX 77262 rosalie276@noway1234.com {Rosalie Wenzel} {7184 Centennial Circle} Mildura TX 77317 tagart375@noway1234.com {Butcher Tagart} {7022 Pelican Drive} {Padre Island} TX 77513 glenn_gillette@noway1234.com {Glenn Gillette} {1457 West 78th Avenue} Brookshire TX 77533 jason347@noway1234.com {Jason Cottingham} {2199 Spruce Street} Dallas TX 77782 kavanaugh118@noway1234.com {Torb Kavanaugh} {754 Calais Drive} Bourke TX 77253 reschke486@noway1234.com {Dr. Reschke} {6406 Sutwik Circle} Star TX 77731 sackaly660@noway1234.com {Dirk Sackaly} {2975 Patro Street} Kema TX 77703 chrastil843@noway1234.com {E. Chrastil} {8081 Trappers Trail Road} Kema TX 77833 thurman299@noway1234.com {Thurman Badertscher} {1360 Cange Street} {Mount Isa} TX 77593 halene@noway1234.com {Halene Gates} {11293 Iditarod Circle} Cairns TX 77188 tommy698@noway1234.com {Tommy Hoke} {11739 Bearberry Street} Wollongong TX 77406 mike940@noway1234.com {Mike Rebuck} {4073 Prism Circle} {Broken Hill} TX 77071 willard_diaz@noway1234.com {Willard Diaz} {8557 Lupin Place} {Port Hedland} TX 77296 rex398@noway1234.com {Rex Schultz} {10974 Upper Lowland Avenue} Waco TX 77939 mattheis@noway1234.com {Ron Mattheis} {673 Craig Creek Court} Sunnyville TX 77760 ham@noway1234.com {Samples Ham} {2698 O'brien Avenue} {Coffs Harbour} TX 77768 carlon_horn@noway1234.com {Carlon Horn} {11042 Steamboat Drive} {Mount Gambier} TX 77582 bird500@noway1234.com {Bird Houmann} {2459 Genny Circle} Queenstown TX 77899 hargis29@noway1234.com {Cork Hargis} {5132 Targhee Circle} {San Felipe} TX 77751 bud18@noway1234.com {Bud Polson} {6664 Park Lane} Nacogdoches TX 77250 baum170@noway1234.com {Baum Bates} {8933 Glenn Hill Circle} Sunnyville TX 77896 beam_dirksen@noway1234.com {Beam Dirksen} {4578 East 42nd Avenue} Newcastle TX 77434 mahetable726@noway1234.com {Mahetable Robison} {3496 Baron Drive} {Port Augusta} TX 77922 campbell751@noway1234.com {Lanty Campbell} {5173 Darby Road} {Mount Gambier} TX 77384 keedy504@noway1234.com {Bail Keedy} {565 West Lake Circle} {Mount Isa} TX 77787 mullins_landry@noway1234.com {Mullins Landry} {250 Ranch Road} Bathurst TX 77166 ensor286@noway1234.com {Dodrill Ensor} {6434 West 83rd Avenue} Adelaide TX 77068 hershberger1@noway1234.com {Shartlet Hershberger} {8582 Hope Circle} Bourke TX 77310 icie67@noway1234.com {Icie Knippelmeyer} {11043 Geirinhas Place} Hamilton TX 77963 bogle845@noway1234.com {Homer Bogle} {7574 Nancy Circle} Ketherine TX 77765 millard@noway1234.com {Millard Aust} {7260 Ruth Street} {Alice Springs} TX 77182 hargis781@noway1234.com {Mahetable Hargis} {10450 Girdwood Place} Mildura TX 77268 witte8@noway1234.com {Vernon Witte} {2802 Artemus Street} {Tennant Creek} TX 77764 borrenpohl556@noway1234.com {Haskel Borrenpohl} {5103 Marijane Street} {Mount Gambier} TX 77683 griffith992@noway1234.com {Griffith Gibson} {2912 Terrace Drive} {Alice Springs} TX 77437 decator@noway1234.com {Decator Kavanaugh} {11804 Chesapeake Circle} Newcastle TX 77940 thongkhamvilay164@noway1234.com {Marple Thongkhamvilay} {11696 Gander Street} Launceston TX 77400 aubry243@noway1234.com {Aubry Ullman} {9447 Griffith Street} Albany TX 77054 bobby_lueders@noway1234.com {Bobby Lueders} {1568 Theodore Drive} Broome TX 77752 george@noway1234.com {George Thompson} {9164 Garland Circle} Star TX 77233 ruhl856@noway1234.com {Ruhl Goers} {8784 Kronos Drive} Townsville TX 77904 baughman_wagner@noway1234.com {Baughman Wagner} {9335 Labate Drive} Mildura TX 77654 patti_schafer@noway1234.com {Patti Schafer} {11624 Ira Drive} Rockhampton TX 77135 hood157@noway1234.com {Marple Hood} {5649 Pharaoh Circle} Launceston TX 77440 l_s307@noway1234.com {L.S. Dieckmann} {5253 Holmgren Place} Kema TX 77161 leahy444@noway1234.com {Henderson Leahy} {2257 Trail Circle} Queenstown TX 77224 robert_dwinell@noway1234.com {Robert Dwinell} {9993 Jim Avenue} {Port Hedland} TX 77799 bartholomew151@noway1234.com {Dave Bartholomew} {5966 Communications Avenue} {Broken Hill} TX 77742 helm370@noway1234.com {Norris Helm} {11530 Stephanie Boulevard} {Broken Hill} TX 77899 boline382@noway1234.com {Bernice Boline} {9327 Frank Street} Wollongong TX 77638 viola887@noway1234.com {Viola Rother} {1410 Smith Drive} Burnie TX 77743 jeanie442@noway1234.com {Jeanie Holden} {793 Carousel Circle} Star TX 77385 robinson850@noway1234.com {Helen Robinson} {3935 Hiland Drive} Ketherine TX 77828 louise914@noway1234.com {Louise Butler} {1762 Upper Greatland Drive} Amarillo TX 77246 mike74@noway1234.com {Mike Amos} {943 Chaparral Circle} Rockhampton TX 77015 lintz279@noway1234.com {Young Lintz} {8005 Holden Drive} Townsville TX 77283 phala_hamm@noway1234.com {Phala Hamm} {9892 Emerald Street} Houston TX 77777 g_h@noway1234.com {G.H. Bernadt} {4589 Halligan Street} Monaville TX 77680 leonard595@noway1234.com {Leonard Bane} {3540 Unimak Circle} Kema TX 77952 knippelmeyer334@noway1234.com {Hall Knippelmeyer} {2345 Dallon Court} Dallas TX 77833 iona@noway1234.com {Iona Reschke} {2309 Tom White Circle} Nacogdoches TX 77401 husing231@noway1234.com {Elden Husing} {5586 Scenic Way} Galveston TX 77222 marjorie741@noway1234.com {Marjorie Rothell} {9743 West 39th Avenue} Tamworth TX 77615 leuenberger@noway1234.com {Harland Leuenberger} {2307 Prosperity Drive} Austin TX 77112 hunt292@noway1234.com {Oma Hunt} {1687 Wes Way} Amarillo TX 77054 juilfs331@noway1234.com {Bird-Legs Juilfs} {10415 Karen Lane} {San Antonio} TX 77964 tenney872@noway1234.com {Tenney Hindera} {1928 East 40th Court} Tamworth TX 77771 daisy591@noway1234.com {Daisy Hunt} {8820 North River Circle} Bendigo TX 77129 bail214@noway1234.com {Bail Finke} {299 West 79th Court} Cairns TX 77813 finn304@noway1234.com {Gay Finn} {4713 Stowe Circle} Houston TX 77736 lacey@noway1234.com {Moore Lacey} {9266 Northview Drive} Dallas TX 77540 morrow649@noway1234.com {Kallai Morrow} {7906 Sturbridge Court} Rockhampton TX 77674 schutz280@noway1234.com {Mutt Schutz} {7326 Endicott Street} Nacogdoches TX 77328 gobber@noway1234.com {S. Gobber} {8439 Sandy Place} Rockhampton TX 77735 volkmer652@noway1234.com {Evalena Volkmer} {4132 Kiliak Place} Mildura TX 77338 bonnie_kettelhake@noway1234.com {Bonnie Kettelhake} {3078 Bettles Bay Loop} {Coober Pedy} TX 77897 altman308@noway1234.com {Ida Altman} {7011 Floatplane Drive} Bourke TX 77277 decator_hardin@noway1234.com {Decator Hardin} {4100 Thornton Street} Sunnyville TX 77269 greeb10@noway1234.com {Charles Greeb} {7753 Explorer Circle} Waco TX 77646 gibson986@noway1234.com {Gibson Huttenmeyer} {2058 Vadla Way} Austin TX 77275 basil@noway1234.com {Basil Reilly} {1865 Dane Court} Centerville TX 77809 rose@noway1234.com {Rose Branting} {9408 Alexander Avenue} Adelaide TX 77218 zella@noway1234.com {Zella Lacey} {1948 Wolf Drive} {Coober Pedy} TX 77799 marple87@noway1234.com {Marple Scharton} {6986 East Dimond Circle} Austin TX 77342 thompson780@noway1234.com {Gumm Thompson} {4081 Rendon Drive} Albury TX 77490 percy@noway1234.com {Percy Triplett} {3605 West 28th Court} Amarillo TX 77564 terry_schultz@noway1234.com {Terry Schultz} {6623 Dunsmuir Court} Waco TX 77125 esther737@noway1234.com {Esther Mueller} {1507 Dandelion Wine Circle} {San Antonio} TX 77994 schacht249@noway1234.com {Steam Shovel Schacht} {4319 Linda Lane} Galveston TX 77644 coulter285@noway1234.com {Coulter Hansel} {5759 Circle Drive} Burnie TX 77600 murphy47@noway1234.com {Patrick Murphy} {3233 Crow Creek Highway} {San Felipe} TX 77323 wachosky83@noway1234.com {Arch Wachosky} {5270 May Court Circle} Eucla TX 77437 j822@noway1234.com {J. Bailey} {5211 Waterwood Circle} Brookshire TX 77301 sarah692@noway1234.com {Sarah Brammann} {8169 Pleasant Drive} Dallas TX 77843 h_a_knox@noway1234.com {H.A Knox} {4245 Spring Court} Burnie TX 77289 joy378@noway1234.com {Joy Hendee} {2021 Winterset Drive} Cairns TX 77666 waring872@noway1234.com {Butcher Waring} {8318 Ptarmigan Boulevard} Houston TX 77483 bartholomew69@noway1234.com {Rhunie Bartholomew} {7371 Cross Drive} Centerville TX 77485 walker790@noway1234.com {Walker Kuhl} {6567 Eielson Street} Bendigo TX 77304 sewell416@noway1234.com {Sewell Evans} {4189 Spyglass Drive} {Padre Island} TX 77822 jackie_mommens@noway1234.com {Jackie Mommens} {2820 Gulkana Circle} Rockhampton TX 77034 lang@noway1234.com {Tom Lang} {10319 Henry Circle} Burnie TX 77834 sova175@noway1234.com {Wilson Sova} {138 Colville Street} Houston TX 77701 bossung@noway1234.com {Gladys Bossung} {3287 Alissa Circle} Houston TX 77659 daisy879@noway1234.com {Daisy Brown} {6055 Misty Mountain Road} Kema TX 77891 bartels114@noway1234.com {Eric Bartels} {6346 North A Street} Austin TX 77511 bauers723@noway1234.com {Ones Bauers} {10405 North Eagle River Loop Road} {Mount Gambier} TX 77930 ward_jones@noway1234.com {Ward Jones} {3680 Targhee Circle} Cairns TX 77953 miner148@noway1234.com {Bird-Legs Miner} {8049 Pine Valley Court} Ketherine TX 77107 montz253@noway1234.com {Bubby Montz} {1209 Tidrington Street} {Alice Springs} TX 77701 betzelberger@noway1234.com {Betty Betzelberger} {9674 Windward Circle} Launceston TX 77877 farley992@noway1234.com {Farley Stewart} {3258 Karen Circle} Mildura TX 77860 tab274@noway1234.com {Tab Lyons} {6708 Hidden Point Loop} Bourke TX 77285 lenora859@noway1234.com {Lenora Feurer} {8961 Clint Circle} Launceston TX 77530 sattler414@noway1234.com {Sattler Arnold} {7136 Freebird Circle} {Tennant Creek} TX 77403 denny_smith@noway1234.com {Denny Smith} {10113 Rushing River Circle} {San Felipe} TX 77354 stover865@noway1234.com {Stover Kreiling} {9988 Newby Avenue} {Mount Gambier} TX 77591 thelma_keedy@noway1234.com {Thelma Keedy} {11057 Brantley Place} {Tennant Creek} TX 77793 hazle_philippi@noway1234.com {Hazle Philippi} {11903 Tiros Avenue} Adelaide TX 77745 merlin_dieckmann@noway1234.com {Merlin Dieckmann} {9606 East Tudor Road} Eucla TX 77208 floerke177@noway1234.com {Nettles Floerke} {1135 Tammy Avenue} {Mount Gambier} TX 77022 kerner946@noway1234.com {White Kerner} {11275 Kody Drive} Bathurst TX 77493 tyburtis508@noway1234.com {Tyburtis Behrends} {3964 Claudene Loop} Houston TX 77010 meyer770@noway1234.com {Mickey Meyer} {7116 Angela Place} Houston TX 77003 june_hauptman@noway1234.com {June Hauptman} {10631 West 2nd Avenue} Waco TX 77661 p377@noway1234.com {P. Neukirch} {2454 Via Balboa} {Padre Island} TX 77812 adolf545@noway1234.com {Adolf Esser} {4520 Palos Verdes Circle} {Coffs Harbour} TX 77487 gregory630@noway1234.com {Joe Gregory} {7493 Roehl Circle} Eucla TX 77149 ivan_reiber@noway1234.com {Ivan Reiber} {70 Ruth Street} Bendigo TX 77467 shelton_mercure@noway1234.com {Shelton Mercure} {10684 Devonshire Circle} Tamworth TX 77661 gillette808@noway1234.com {Patty Gillette} {2696 Anvik Circle} Ketherine TX 77450 gwen@noway1234.com {Gwen Bauers} {2120 Northwood Drive} Queenstown TX 77403 mathis374@noway1234.com {Samples Mathis} {4994 Timberlux Circle} Adelaide TX 77747 randy936@noway1234.com {Randy Dittmer} {10923 Halyards Circle} Houston TX 77783 nielsen976@noway1234.com {Bennie Nielsen} {11776 West 36th Avenue} {Coffs Harbour} TX 77435 hazel_hanau@noway1234.com {Hazel Hanau} {6691 Nikita Drive} Broome TX 77174 naomi@noway1234.com {Naomi Aufdenkamp} {2191 Hogan Bay Circle} Tamworth TX 77027 dana432@noway1234.com {Dana Smith} {3103 Woodmont Drive} Rockhampton TX 77863 mozelle288@noway1234.com {Mozelle Soumpholphakdy} {1060 South Creek Road} Albany TX 77133 stahl483@noway1234.com {Huling Stahl} {8109 Targhee Loop} {Mount Gambier} TX 77891 christensen476@noway1234.com {Joanne Christensen} {9678 Vancouver Circle} {Coffs Harbour} TX 77989 given_weinrich@noway1234.com {Given Weinrich} {8967 Sky Mountain Circle} Albury TX 77808 albert589@noway1234.com {Albert Stephens} {9248 Wesleyan Drive} {Port Hedland} TX 77448 ann664@noway1234.com {Ann Holthus} {2432 Mary Esther Drive} Ketherine TX 77199 hamrick722@noway1234.com {Hamrick Severns} {8339 Renee Circle} {Padre Island} TX 77919 wilfong_kettelhake@noway1234.com {Wilfong Kettelhake} {11270 Diggins Drive} {Tennant Creek} TX 77836 urich968@noway1234.com {Jo Urich} {3811 Bridger Place} Ketherine TX 77289 kerr@noway1234.com {Mullins Kerr} {5224 Crescent Hill Circle} Albany TX 77988 keedy611@noway1234.com {Rennie Keedy} {818 Lochwood Circle} Cairns TX 77829 lcie_rubin@noway1234.com {lcie Rubin} {9643 Hill Road} Wollongong TX 77415 ahtelene592@noway1234.com {Ahtelene Clifton} {2750 Aspen Drive} Tamworth TX 77246 anis_beethe@noway1234.com {Anis Beethe} {6917 Leander Circle} {Port Hedland} TX 77672 deloris597@noway1234.com {Deloris Laue} {6586 Valley Forge Circle} Launceston TX 77512 stahl53@noway1234.com {Chester Stahl} {7230 Waterwood Circle} Waco TX 77019 mcculla551@noway1234.com {Faye Mcculla} {7367 Cassius Court} Bourke TX 77965 nedra@noway1234.com {Nedra Broady} {1975 North Cordova Street} Albany TX 77511 dough_belly30@noway1234.com {Dough Belly Rathbun} {8443 Innsbruck Road} Bendigo TX 77039 dillaplain279@noway1234.com {Waveline Dillaplain} {1621 Ruby Drive} {Port Hedland} TX 77506 j_e@noway1234.com {J.E. Berner} {4764 Rebano Drive} OOdnadatta TX 77800 ruth238@noway1234.com {Ruth Rogers} {11294 East 110th Avenue} Cairns TX 77700 hamilton271@noway1234.com {Bertha Hamilton} {6100 West 86th Avenue} {San Antonio} TX 77411 billy_hackbart@noway1234.com {Billy Hackbart} {9035 Glazanof Drive} {Tennant Creek} TX 77511 carol90@noway1234.com {Carol Knock} {10977 Woburn Circle} Dallas TX 77144 kaster586@noway1234.com {Mitchell Kaster} {7058 Delaware Place} Monaville TX 77377 pfister328@noway1234.com {Edna Pfister} {2164 Saint Lawrence Circle} Queenstown TX 77278 rohrs@noway1234.com {Gayle Rohrs} {10737 Nautilus Court} Mildura TX 77135 neemann610@noway1234.com {Leona Neemann} {66 East 101st Avenue} Nacogdoches TX 77846 vicki491@noway1234.com {Vicki Gordon} {1122 Catherine Drive} Albany TX 77313 orvill_mcculla@noway1234.com {Orvill McCulla} {6891 Loretta Lane} Katy TX 77821 p_stewart@noway1234.com {P. Stewart} {10614 Concord Hill Drive} Nacogdoches TX 77461 emmett@noway1234.com {Emmett Kerchal} {1369 Menzies Way} Bendigo TX 77717 delma628@noway1234.com {Delma Schermbeck} {7367 Halley's Comet Circle} Bathurst TX 77790 lester@noway1234.com {Lester Logsdon} {7971 East 101st Avenue} Sunnyville TX 77247 miraih@noway1234.com {Miraih Jochim} {4995 Winfield Circle} {Padre Island} TX 77535 johnny_goracke@noway1234.com {Johnny Goracke} {8588 Division Street} Bathurst TX 77551 patrica_fink@noway1234.com {Patrica Fink} {821 Taku Drive} {San Antonio} TX 77023 p906@noway1234.com {P. Arnold} {5781 Big Spruce Circle} Adelaide TX 77842 knock983@noway1234.com {Calvin Knock} {1211 Mills Bay Drive} Bourke TX 77888 fox826@noway1234.com {Ward Fox} {6590 Mountain Ash Drive} Burnie TX 77928 morris_oldfather@noway1234.com {Morris Oldfather} {2448 Carolina Drive} {San Felipe} TX 77600 coretta@noway1234.com {Coretta Harman} {7442 Main Tree Drive} {Coffs Harbour} TX 77161 donvil_mcalexander@noway1234.com {Donvil McAlexander} {4884 Marmot Circle} Independence TX 77415 kerns_wenzel@noway1234.com {Kerns Wenzel} {5427 Taku Drive} Burnie TX 77990 hothan@noway1234.com {Betty Hothan} {10134 Birchtree Street} Nacogdoches TX 77151 stitt166@noway1234.com {Ethel Stitt} {9225 Barclay Drive} Broome TX 77832 buerstetta973@noway1234.com {Susan Buerstetta} {6223 Taiga Street} {Coober Pedy} TX 77830 jewell893@noway1234.com {Marian Jewell} {7486 Cordova Street} Broome TX 77735 mullins_rowe@noway1234.com {Mullins Rowe} {3326 West Klatt Road} Albany TX 77592 altman753@noway1234.com {Judith Altman} {10946 Arctic Spur Road} Dallas TX 77056 holmstrom322@noway1234.com {Bud Holmstrom} {5822 Winchester Loop} {Mount Isa} TX 77736 rogers252@noway1234.com {s Rogers} {10314 University Lake Drive} Waco TX 77921 harley464@noway1234.com {Harley Harman} {1950 Temple Circle} Broome TX 77640 ranae@noway1234.com {Ranae Peters} {11611 Waverly Circle} Galveston TX 77372 guy203@noway1234.com {Guy Humann} {11521 San Ernesto Avenue} Houston TX 77651 donald588@noway1234.com {Donald Montz} {5414 Westland Circle} Waco TX 77251 jodelle@noway1234.com {Jodelle Pettinger} {2686 A Street} Bendigo TX 77879 shirley632@noway1234.com {Shirley Hinkle} {11769 Refuge Circle} {Alice Springs} TX 77051 dee_schreiner@noway1234.com {Dee Schreiner} {11550 Vassar Drive} Hamilton TX 77768 hoke419@noway1234.com {Tilden Hoke} {1805 Wren Circle} {Coober Pedy} TX 77540 rachelle353@noway1234.com {Rachelle Martin} {11363 Lang Street} Dallas TX 77553 samuel_rau@noway1234.com {Samuel Rau} {518 Lyvona Lane} Independence TX 77753 schreiner10@noway1234.com {Willard Schreiner} {4065 Seagate Court} {Mount Isa} TX 77024 mccain771@noway1234.com {Irene McCain} {2218 West 59th Avenue} Pattison TX 77247 ottie@noway1234.com {Ottie Chard} {4408 Constitution Drive} Albury TX 77970 gene_dills@noway1234.com {Gene Dills} {7699 Lila's Place} {Padre Island} TX 77745 shannon@noway1234.com {Shannon Finn} {8708 Ursa Circle} {Broken Hill} TX 77810 hitzeman797@noway1234.com {Rebecca Hitzeman} {7656 Waiter Place} Newcastle TX 77982 ramsey296@noway1234.com {Ramsey Knippelmeyer} {5919 West 96th Avenue} {Broken Hill} TX 77906 bunk@noway1234.com {Bunk Graff} {11846 Tay Circle} Waco TX 77662 maysel843@noway1234.com {Maysel Robinson} {5835 Cape Noble Circle} Burnie TX 77298 mcdonald890@noway1234.com {Dee McDonald} {11063 Kalgin Street} {Port Hedland} TX 77001 mclaughlin@noway1234.com {Verna McLaughlin} {2467 Gavin Circle} Albury TX 77931 humann671@noway1234.com {Julian Humann} {10589 West Bluff Drive} Centerville TX 77207 rogers840@noway1234.com {Rogers Brinkman} {8633 Gold Kings Circle} Cairns TX 77522 otis@noway1234.com {Otis Thom} {7535 Spruce Street} Bendigo TX 77051 lloyd_johnson@noway1234.com {Lloyd Johnson} {10066 Wapiti Circle} Dallas TX 77907 befty756@noway1234.com {Befty Lawrence} {7277 Birdsong Drive} Nacogdoches TX 77467 brinkman995@noway1234.com {Lou Brinkman} {1345 West Fireweed Lane} Centerville TX 77641 gillispie_fritsch@noway1234.com {Gillispie Fritsch} {5374 East 15th Avenue} Ketherine TX 77390 hazel222@noway1234.com {Hazel Stauffer} {4099 Saint Elias Drive} Bourke TX 77881 dawson_finke@noway1234.com {Dawson Finke} {1764 Dailey Avenue} Kema TX 77116 mattox397@noway1234.com {Ada Mattox} {5215 Sandpiper Court} {Coober Pedy} TX 77831 della@noway1234.com {Della Bossung} {3508 Upper Road} Newcastle TX 77795 sigman633@noway1234.com {Sigman Hartman} {9569 Teshlar Drive} {Port Augusta} TX 77122 mccoy155@noway1234.com {Forrest McCoy} {4398 Otis Place} Townsville TX 77613 ernie@noway1234.com {Ernie Speckmann} {11677 White Spruce Drive} Houston TX 77809 custer@noway1234.com {Custer VanWinkle} {5125 Galactica Drive} Galveston TX 77441 holcomb691@noway1234.com {Holcomb Brinkman} {11035 Lower Terrace Street} Launceston TX 77653 reilly27@noway1234.com {Rome Reilly} {10100 North C Street} Pattison TX 77953 coffman@noway1234.com {Coffman Huttenmeyer} {1967 Alta Drive} Pattison TX 77031 holthus91@noway1234.com {Dorsey Holthus} {11851 Voyles Boulevard} {Tennant Creek} TX 77670 fuller271@noway1234.com {P. Fuller} {10943 Harbor Point Loop} Star TX 77073 brock@noway1234.com {Hanshaw Brock} {1090 Marge Court} Star TX 77571 holben635@noway1234.com {Linda Holben} {9021 Rinner Circle} Townsville TX 77393 barb518@noway1234.com {Barb Evans} {5678 East 102nd Avenue} Broome TX 77775 virginia333@noway1234.com {Virginia Mason} {4948 Queen Victoria Drive} Albury TX 77329 coffman_grove@noway1234.com {Coffman Grove} {1107 Chaparral Circle} {San Antonio} TX 77673 danelle@noway1234.com {Danelle Laug} {3911 Saddler Street} Star TX 77509 colton869@noway1234.com {Harien Colton} {1798 Arlene Street} Adelaide TX 77130 michl845@noway1234.com {Baum Michl} {2916 West 51st Avenue} Mildura TX 77113 jordon@noway1234.com {Jordon Young} {366 Castner Lane} {San Antonio} TX 77425 imogee436@noway1234.com {Imogee Piersol} {2576 East 17th Avenue} Townsville TX 77508 vergie924@noway1234.com {Vergie Bryan} {17 Lipscomb Street} Rockhampton TX 77024 mahler870@noway1234.com {M. Mahler} {5852 Sambar Loop} Bendigo TX 77791 orval_bates@noway1234.com {Orval Bates} {115 Gemini Drive} {Tennant Creek} TX 77236 lou_kaster@noway1234.com {Lou Kaster} {1322 Lower Terrace Street} Nacogdoches TX 77706 claude@noway1234.com {Claude Kirkman} {8047 Larkspur Circle} {San Antonio} TX 77955 bail828@noway1234.com {Bail McNergney} {11829 Henderson Loop} Mildura TX 77013 meyer434@noway1234.com {Macel Meyer} {7181 Ranch Road} Adelaide TX 77752 lorenza883@noway1234.com {Lorenza Dirksen} {11766 Timberlux Circle} OOdnadatta TX 77225 iona_keedy@noway1234.com {Iona Keedy} {4446 Randamar Place} Star TX 77035 hickman243@noway1234.com {Hickman Agena} {4228 Hunter Circle} Monaville TX 77362 teresa377@noway1234.com {Teresa Yoder} {948 Inyo Circle} {San Felipe} TX 77950 hess792@noway1234.com {Hess Sherman} {1130 Chugach Park Drive} Pattison TX 77931 presley955@noway1234.com {Presley Ritter} {3136 Pine Ridge Circle} Austin TX 77046 brommer53@noway1234.com {Reva Brommer} {9462 Seward 34th Ramp} Amarillo TX 77097 lehenbauer99@noway1234.com {Hanshaw Lehenbauer} {6703 Royal Court} Newcastle TX 77966 monkeyballs220@noway1234.com {Frame Monkeyballs} {595 Midori Drive} Adelaide TX 77604 staley467@noway1234.com {Cleve Staley} {2634 Race Circle} {San Felipe} TX 77796 evalene547@noway1234.com {Evalene McCoy} {10011 East 7th Avenue} Austin TX 77099 stangel@noway1234.com {Bernard Stangel} {6203 East 45th Avenue} {Tennant Creek} TX 77190 sova972@noway1234.com {Charlotte Sova} {6196 Breckenridge Circle} {Mount Isa} TX 77514 jeanette539@noway1234.com {Jeanette Purdy} {4965 Midland Place} Bourke TX 77126 wilbert609@noway1234.com {Wilbert Philpott} {2195 Grey Wolf Circle} {Tennant Creek} TX 77092 carlos992@noway1234.com {Carlos Goers} {6766 Antioch Circle} Independence TX 77590 haughton167@noway1234.com {Woods Haughton} {3022 Upper De Armoun Road} {Coffs Harbour} TX 77167 mamie_kerner@noway1234.com {Mamie Kerner} {5049 Kidron Street} Townsville TX 77909 dempsey623@noway1234.com {Dempsey Maguire} {3301 Deborah Lynn Circle} Queenstown TX 77501 rohmeyer23@noway1234.com {Adolf Rohmeyer} {6887 Solomon Avenue} OOdnadatta TX 77495 jack959@noway1234.com {Jack Agena} {8238 Falcon Drive} Launceston TX 77090 georgene159@noway1234.com {Georgene Topp} {10011 Hyatt Street} {Port Hedland} TX 77062 foster@noway1234.com {Foster Rau} {2339 Angela Place} Dallas TX 77999 milton323@noway1234.com {Milton Moslander} {9343 Turnagain Bluff Way} Centerville TX 77391 richard_rosakrans@noway1234.com {Richard Rosakrans} {11682 Oak Drive} {San Felipe} TX 77579 neukirch348@noway1234.com {John Neukirch} {8704 East 102nd Avenue} Katy TX 77052 keener738@noway1234.com {Keener Ruter} {6014 Mars Drive} Star TX 77571 mitchell_altman@noway1234.com {Mitchell Altman} {8845 Hosken Street} Pattison TX 77045 diaz691@noway1234.com {Nadine Diaz} {2936 Silver Chase Court} Sunnyville TX 77222 yoder35@noway1234.com {Otto Yoder} {6880 Thurman Drive} Newcastle TX 77590 mccain466@noway1234.com {Diann McCain} {6316 Barat Circle} Burnie TX 77393 rubin651@noway1234.com {Marcella Rubin} {11299 Eagle Place Loop} {Alice Springs} TX 77234 pope416@noway1234.com {Runion Pope} {8563 Turnagain Street} Kema TX 77806 bennie420@noway1234.com {Bennie Hillyer} {925 Blueberry Road} {Tennant Creek} TX 77306 frances_mcnergney@noway1234.com {Frances McNergney} {3642 Ponderosa Drive} Townsville TX 77263 frame311@noway1234.com {Frame Durman} {9309 Ridgeview Drive} Amarillo TX 77128 lewis477@noway1234.com {Lewis McAlexander} {6674 Valley Park Drive} {Padre Island} TX 77530 clara_goers@noway1234.com {Clara Goers} {4861 Loon Circle} {Tennant Creek} TX 77498 richardson_dumitru@noway1234.com {Richardson Dumitru} {9553 Tundra Court} Pattison TX 77426 conradt372@noway1234.com {Reed Conradt} {2418 Chellie's Circle} Independence TX 77202 p_borrenpohl@noway1234.com {P. Borrenpohl} {2880 Aspen Drive} Hamilton TX 77677 irene331@noway1234.com {Irene Anderson} {11178 Communications Avenue} {San Felipe} TX 77104 foetisch440@noway1234.com {Roy Foetisch} {11391 Tarika Avenue} {Port Augusta} TX 77415 galen@noway1234.com {Galen Warden} {6978 Dunkirk Drive} Queenstown TX 77357 bruce70@noway1234.com {Bruce Neill} {11138 Park Hills Circle} Waco TX 77918 bonita138@noway1234.com {Bonita Weakland} {178 Lionheart Court} Broome TX 77994 paul_mchenry@noway1234.com {Paul McHenry} {11522 Sagan Circle} Nacogdoches TX 77727 ira4@noway1234.com {Ira Phillips} {4738 Antelope Lane} Albury TX 77829 cottrill@noway1234.com {Cottrill Allen} {1957 Baird Circle} Pattison TX 77858 melissa_geweke@noway1234.com {Melissa Geweke} {9318 Schulz Lane} Townsville TX 77026 robertson539@noway1234.com {Earl Robertson} {1227 Charlie Road} {Alice Springs} TX 77038 monk_holden@noway1234.com {Monk Holden} {4170 Chugach Way} Bendigo TX 77261 rodriques@noway1234.com {Auline Rodriques} {10020 Daisy Lane} Independence TX 77908 rommie544@noway1234.com {Rommie Garris} {5934 Hane Street} Hamilton TX 77018 horace@noway1234.com {Horace Puchalla} {4174 Connors Trail Circle} {Tennant Creek} TX 77699 betty834@noway1234.com {Betty Osterhoudt} {122 Tena Street} Pattison TX 77123 riensche243@noway1234.com {Avis Riensche} {4379 Endicott Street} Rockhampton TX 77718 baucke860@noway1234.com {Kae Baucke} {11557 Rhone Street} Monaville TX 77845 nealy@noway1234.com {Nealy Evans} {2749 Floatplane Drive} Eucla TX 77517 karen427@noway1234.com {Karen Fink} {3214 North Klevin Street} Independence TX 77051 hamilton_oldfather@noway1234.com {Hamilton Oldfather} {11405 Dinaaka Drive} {Coober Pedy} TX 77387 wellensiek478@noway1234.com {Hazel Wellensiek} {7046 Vernye Place} Burnie TX 77158 okey_staley@noway1234.com {Okey Staley} {7203 Stolt Lane} Albany TX 77312 carte798@noway1234.com {Carte Schmiegelow} {5032 East 160th Avenue} Newcastle TX 77816 campbell810@noway1234.com {Vergie Campbell} {11966 Chilkat Court} Pattison TX 77878 givin485@noway1234.com {Givin Rexroth} {8969 Autumn Drive} Cairns TX 77461 guenther907@noway1234.com {Guenther Riensche} {7269 Forest Park Drive} Albury TX 77541 meredith_severns@noway1234.com {Meredith Severns} {5320 Jollipan Court} {Port Augusta} TX 77263 morris520@noway1234.com {Morris Scherrer} {6666 Tanada Circle} Launceston TX 77455 dodrill_giittinger@noway1234.com {Dodrill Giittinger} {7155 East 12th Court} Broome TX 77935 neill39@noway1234.com {Irene Neill} {2324 Breakwater Circle} Broome TX 77846 cantrell669@noway1234.com {Cantrell Woltemath} {3441 Ambassador Drive} {Mount Gambier} TX 77130 finney232@noway1234.com {L. Finney} {9950 Folker Circle} Rockhampton TX 77875 elliot@noway1234.com {Elliot Mann} {1847 Aphrodite Drive} {Port Hedland} TX 77451 henrichs349@noway1234.com {Maryaldine Henrichs} {2545 East 151st Avenue} {Tennant Creek} TX 77495 urban15@noway1234.com {Urban Hahn} {1001 Brookview Street} {Port Augusta} TX 77768 gibson925@noway1234.com {Annie Gibson} {9306 Papa Bear Lane} Independence TX 77844 laxton313@noway1234.com {Laxton Ensor} {5260 Harmany Ranch Road} Queenstown TX 77935 dorthy864@noway1234.com {Dorthy Hendee} {2525 Bentzen Circle} Townsville TX 77988 reiber317@noway1234.com {Faye Reiber} {6694 Robinson Road} {Port Hedland} TX 77733 brett@noway1234.com {Brett Leahy} {9085 Eklutna Village Road} Houston TX 77770 zeke_gibson@noway1234.com {Zeke Gibson} {9423 Mineral Circle} {Tennant Creek} TX 77977 baird212@noway1234.com {Charles Baird} {11634 Gander Street} Sunnyville TX 77555 johnson288@noway1234.com {Johnson Rohmeyer} {11441 Gilbert Road} Queenstown TX 77041 reiber986@noway1234.com {Jaime Reiber} {9579 Eide Street} Albury TX 77667 don751@noway1234.com {Don Holden} {11865 Victoria Drive} Tamworth TX 77093 roy833@noway1234.com {Roy Smith} {2699 Seafarer Loop} {Port Augusta} TX 77337 bates808@noway1234.com {Susan Bates} {9182 Eklutna Park Drive} Ketherine TX 77393 piersol885@noway1234.com {Tinney Piersol} {2538 Norway Drive} Austin TX 77761 volkmer768@noway1234.com {Diane Volkmer} {5743 Wilderness Road} Monaville TX 77466 christian77@noway1234.com {Christian Holben} {226 Stewart Street} {Mount Isa} TX 77439 putnam@noway1234.com {Martin Putnam} {11172 Foster Road} Austin TX 77963 herman352@noway1234.com {Delbert Herman} {3197 Papa Bear Lane} Austin TX 77617 roscoe@noway1234.com {Roscoe Agena} {1719 Prospect Place} Amarillo TX 77292 charlotte_kroll@noway1234.com {Charlotte Kroll} {7668 Postmark Drive} {Port Augusta} TX 77938 spier730@noway1234.com {Lynnette Spier} {10922 Ginpole Circle} {San Antonio} TX 77576 harold296@noway1234.com {Harold Putnam} {6202 Our Own Lane} Austin TX 77380 sapp@noway1234.com {G. Sapp} {7844 Ruane Road} Albury TX 77993 gladys_schultz@noway1234.com {Gladys Schultz} {11521 Eau Claire Place} {Broken Hill} TX 77923 ulysses708@noway1234.com {Ulysses Werner} {3921 Button Circle} Townsville TX 77558 schweppe25@noway1234.com {Rod Schweppe} {1074 West 76th Avenue} Albany TX 77975 g713@noway1234.com {G. Frederick} {11792 Hideaway Trail} Rockhampton TX 77711 dieckhoff819@noway1234.com {Sarah Dieckhoff} {1334 Brothers Avenue} {Coober Pedy} TX 77308 herbie930@noway1234.com {Herbie Phillips} {3520 West Cook Avenue} {Port Augusta} TX 77942 belle142@noway1234.com {Belle Koehler} {3518 Flat Top Avenue} Hamilton TX 77339 stephens866@noway1234.com {Bozo Stephens} {4009 East 10th Avenue} Newcastle TX 77318 higgins599@noway1234.com {Givin Higgins} {5377 East 9th Avenue} Bendigo TX 77812 schutz536@noway1234.com {Mary Schutz} {4019 Rosemary Street} {Coffs Harbour} TX 77046 calvin_klein@noway1234.com {Calvin Klein} {4544 Caribou Hill Place} Houston TX 77650 jennie@noway1234.com {Jennie Hardin} {1312 Del Street} Sunnyville TX 77817 huck_kunzman@noway1234.com {Huck Kunzman} {7839 Stonewood Place} {Padre Island} TX 77410 pearl_staley@noway1234.com {Pearl Staley} {10973 Old Klatt Road} Cairns TX 77373 young970@noway1234.com {Margaret Young} {7999 River's Edge Lane} {Padre Island} TX 77314 warnke606@noway1234.com {Roger Warnke} {2908 Flyway Avenue} {San Antonio} TX 77223 samuel736@noway1234.com {Samuel Doty} {7788 East Henkins Road} {Tennant Creek} TX 77600 squire@noway1234.com {Squire Riensche} {8958 Lloyd Drive} Austin TX 77107 reschke782@noway1234.com {Gloria Reschke} {10259 Dinaaka Drive} Bourke TX 77021 patrick_davison@noway1234.com {Patrick Davison} {5638 Birchtree Street} Austin TX 77425 severns401@noway1234.com {Kitzmiller Severns} {9075 Iowa Drive} Pattison TX 77743 finfrock497@noway1234.com {Mamie Finfrock} {4905 Cobblecreek Circle} Sunnyville TX 77398 matheny@noway1234.com {Matheny Nolte} {9376 West 27th Avenue} Eucla TX 77777 gordon783@noway1234.com {James Gordon} {398 Wiley Post Loop} Launceston TX 77994 doil@noway1234.com {Doil Phillips} {66 Rosebud Circle} Bendigo TX 77579 kavanaugh215@noway1234.com {Vena Kavanaugh} {4154 Culross Circle} Independence TX 77841 blishack181@noway1234.com {Blishack Badellino} {3880 Lilac Circle} Mildura TX 77954 allen869@noway1234.com {Charlotte Allen} {5773 Borealis Street} Centerville TX 77422 d_b967@noway1234.com {D.B. Bennett} {5111 Woodstock Circle} Austin TX 77882 mrs@noway1234.com {Mrs. Pieratt} {2058 Hartman Circle} Dallas TX 77788 parrisb536@noway1234.com {Harland Parrisb} {6672 Lipscomb Street} Monaville TX 77344 michl851@noway1234.com {Alice Michl} {4633 H Street} {Mount Isa} TX 77394 harrington939@noway1234.com {Hess Harrington} {5803 Guillemot Circle} Amarillo TX 77801 siske230@noway1234.com {Young Siske} {4916 Westbury Drive} {Tennant Creek} TX 77221 birnie560@noway1234.com {Joe Birnie} {7937 Joy Avenue} Sunnyville TX 77198 dencil451@noway1234.com {Dencil Suydan} {2172 Lincoln Ellsworth Court} Bourke TX 77141 nellie273@noway1234.com {Nellie Chrastil} {10844 Wright Street} {Alice Springs} TX 77877 earhart846@noway1234.com {Sebert Earhart} {9913 Clark's Road} Rockhampton TX 77705 rine713@noway1234.com {Edith Rine} {10921 Parkway Drive} Bourke TX 77414 ruth_mattheis@noway1234.com {Ruth Mattheis} {776 Musket Ball Place} Brookshire TX 77770 morse546@noway1234.com {Kathern Morse} {6507 Denson Lane} Tamworth TX 77344 burke@noway1234.com {Burke Speckmann} {1867 Terrace Drive} Waco TX 77061 rothell328@noway1234.com {Gene Rothell} {8229 Sparkle Drive} Centerville TX 77773 kathryn515@noway1234.com {Kathryn Sorensen} {643 Nickell Circle} Centerville TX 77850 l_s858@noway1234.com {L.S. Branting} {7862 Woodward Drive} {Tennant Creek} TX 77909 reiber771@noway1234.com {Rozella Reiber} {965 West 73rd Avenue} Kema TX 77175 griffith_schermbeck@noway1234.com {Griffith Schermbeck} {8799 Hidden View Court} Kema TX 77219 h_v670@noway1234.com {H.V. Ruter} {673 Victoria Court} OOdnadatta TX 77835 wolken340@noway1234.com {Lewis Wolken} {5893 West Dimond Boulevard} Bathurst TX 77874 betty498@noway1234.com {Betty Hahn} {8717 Bragaw Street} Wollongong TX 77444 otha_phommachack@noway1234.com {Otha Phommachack} {5728 West Circle} Hamilton TX 77523 nealie961@noway1234.com {Nealie Laue} {2731 Sheldon Jackson Street} Pattison TX 77350 johnson507@noway1234.com {Johnson Cary} {9842 Artemus Street} {San Felipe} TX 77488 joyce_sellhorn@noway1234.com {Joyce Sellhorn} {11145 East 81st Avenue} Launceston TX 77276 stoddard425@noway1234.com {Boggs Stoddard} {3299 Saint Moritz Drive} Townsville TX 77359 hinkle360@noway1234.com {Orville Hinkle} {9958 Quick Way} Cairns TX 77985 collins@noway1234.com {Collins Hitzeman} {5263 East Street} Broome TX 77244 pohlman499@noway1234.com {Ida Pohlman} {8587 Macinnes Street} Queenstown TX 77214 janis704@noway1234.com {Janis Mccoy} {4869 East 91st Avenue} Brookshire TX 77453 redith_boardman@noway1234.com {Redith Boardman} {9451 Chaparral Circle} Houston TX 77364 rachel_harman@noway1234.com {Rachel Harman} {11132 Dogwood Street} Newcastle TX 77076 rayburn767@noway1234.com {Rayburn Geiger} {1716 Waxwing Circle} Adelaide TX 77161 badertscher863@noway1234.com {Foster Badertscher} {10112 Snow Goose Circle} {San Antonio} TX 77290 mann653@noway1234.com {Jerold Mann} {11054 Rachel Avenue} Bathurst TX 77652 harvey_helm@noway1234.com {Harvey Helm} {10676 Merganser Avenue} Sunnyville TX 77183 hillie@noway1234.com {Hillie VanLaningham} {9648 Athens Avenue} Bendigo TX 77874 tressie660@noway1234.com {Tressie Hanau} {10515 Dawn Drive} Ketherine TX 77461 melvina_lyons@noway1234.com {Melvina Lyons} {1090 Macalister Drive} {Mount Isa} TX 77959 carmel_kaufman@noway1234.com {Carmel Kaufman} {8838 South Creek Road} Nacogdoches TX 77712 nielsen220@noway1234.com {Morris Nielsen} {3863 Endicott Street} {Port Augusta} TX 77423 coulter_bomar@noway1234.com {Coulter Bomar} {10903 Airport Way} Independence TX 77884 edna_mccain@noway1234.com {Edna McCain} {2174 Wranglers Way} Monaville TX 77212 ann172@noway1234.com {Ann Morrison} {5162 Glacier Pine Street} Sunnyville TX 77211 shartlet908@noway1234.com {Shartlet Zellmer} {7773 Wellsley Court} {San Felipe} TX 77470 dimple546@noway1234.com {Dimple Brinkman} {7002 Sunburst Circle} Star TX 77663 henderson_shaffer@noway1234.com {Henderson Shaffer} {3046 Criswell Circle} Independence TX 77859 mattox387@noway1234.com {Galen Mattox} {9358 Aphrodite Drive} Cairns TX 77517 jeff_sapp@noway1234.com {Jeff Sapp} {1531 Sonora Circle} {Mount Gambier} TX 77950 seeba198@noway1234.com {Mullins Seeba} {8768 Milky Way Circle} Nacogdoches TX 77576 verna_elenga@noway1234.com {Verna Elenga} {10342 Parsons Avenue} {Mount Isa} TX 77781 avis599@noway1234.com {Avis Taylor} {1231 Kimpton Circle} Hamilton TX 77682 rulla@noway1234.com {Carla Rulla} {7481 Pokey Circle} Nacogdoches TX 77530 morris197@noway1234.com {Morris Parrisb} {8880 Demeter Circle} {Mount Gambier} TX 77418 russell239@noway1234.com {Russell Doty} {5852 Tiros Avenue} {Padre Island} TX 77891 keener532@noway1234.com {Keener Greeb} {4409 Nearpoint Drive} Queenstown TX 77221 triplett224@noway1234.com {Triplett Berner} {9217 Vasili Drive} Queenstown TX 77922 d32@noway1234.com {D. Kent} {6293 Honeysuckle Drive} Townsville TX 77110 rosa285@noway1234.com {Rosa Wachosky} {243 Mountain Ash Drive} Eucla TX 77098 lantz358@noway1234.com {Gene Lantz} {7628 Shakespeare Circle} Adelaide TX 77996 philippi217@noway1234.com {IV Philippi} {3123 Freitag Circle} {San Felipe} TX 77772 marple551@noway1234.com {Marple MePherrin} {10123 Seafood Drive} Rockhampton TX 77592 russell579@noway1234.com {Russell Bogle} {9138 Powder Ridge Drive} Albury TX 77782 linn@noway1234.com {Linn Uhrmacher} {2842 Credit Union Drive} Wollongong TX 77189 kellis_bartholomew@noway1234.com {Kellis Bartholomew} {8453 Roe Way} Houston TX 77048 r421@noway1234.com {R. Petersen} {8040 West 89th Court} Waco TX 77414 landis356@noway1234.com {Landis Menard} {2622 Pickwick Place} Dallas TX 77460 helm218@noway1234.com {JoEllen Helm} {8990 Hunterwood Lane} Kema TX 77226 crook@noway1234.com {Crook Norvell} {5978 Lori Drive} Monaville TX 77472 gottula683@noway1234.com {Gwen Gottula} {1027 Ephreta Court} Katy TX 77669 lloyd72@noway1234.com {Lloyd Lofgren} {5300 Oren Street} Albury TX 77230 brockman853@noway1234.com {Rebecca Brockman} {2289 Aurora Street} Launceston TX 77912 wiese16@noway1234.com {Arthur Wiese} {5821 Man O War Road} {Broken Hill} TX 77502 mary57@noway1234.com {Mary Pieratt} {2086 Goose Lake Drive} Eucla TX 77361 triplett141@noway1234.com {Triplett Saunders} {579 Stumpy's Way} Wollongong TX 77613 patrica_fankhauser@noway1234.com {Patrica Fankhauser} {121 L Street} Kema TX 77485 little187@noway1234.com {Pino Little} {9335 Tower Estates Circle} {Tennant Creek} TX 77062 hemmer745@noway1234.com {Melvern Hemmer} {2950 Sportsman Road} Townsville TX 77717 stover982@noway1234.com {Stover Schacht} {4359 South Heather Meadows Loop} {Coober Pedy} TX 77953 lade@noway1234.com {Jackson Lade} {2006 Porcupine Trail Road} {Alice Springs} TX 77020 mclaughlin561@noway1234.com {Mclaughlin Bernadt} {541 Highlands Drive} Bathurst TX 77093 doylene7@noway1234.com {Doylene Schutz} {9792 Jackson Drive} Centerville TX 77561 becoa@noway1234.com {Becoa Morrissey} {11041 Spindrift Loop} Sunnyville TX 77796 pohlman816@noway1234.com {Jenevieve Pohlman} {5186 Ski View Road} Townsville TX 77631 shaffer125@noway1234.com {frame Shaffer} {2774 North Tahiti Loop} {Mount Gambier} TX 77047 norris_pfister@noway1234.com {Norris Pfister} {8848 Kempton Hills Drive} OOdnadatta TX 77241 gardner803@noway1234.com {Gardner Othmer} {2712 West Kanaga Loop} Nacogdoches TX 77934 dahl937@noway1234.com {Nona Dahl} {2860 Foxridge Circle} Austin TX 77599 samuel884@noway1234.com {Samuel Scharton} {6161 North Muldoon Road} {San Antonio} TX 77820 ellis538@noway1234.com {Rosalea Ellis} {11449 East 138th Avenue} Burnie TX 77145 pet459@noway1234.com {Pet Repp} {7607 Golden Spring Circle} Wollongong TX 77324 morrow618@noway1234.com {Pottie Morrow} {5557 Mc Clellan Circle} {Padre Island} TX 77271 neeman@noway1234.com {R. Neeman} {5302 Kronos Drive} Sunnyville TX 77611 nutter_heidemann@noway1234.com {Nutter Heidemann} {8451 Dean Place} Star TX 77086 pershing82@noway1234.com {Pershing Wherry} {6367 Division Street} Mildura TX 77362 nielsen941@noway1234.com {Gladys Nielsen} {6406 Northwood Park Circle} Wollongong TX 77923 w_s@noway1234.com {W.S. Phommachack} {5639 Fergy Circle} {Broken Hill} TX 77630 mapes@noway1234.com {Sandi Mapes} {8892 Jewel Mine Road} Launceston TX 77887 spence133@noway1234.com {Spence Ramsey} {3324 Mile Hi Way} Bourke TX 77731 feurer829@noway1234.com {Maryaldine Feurer} {2038 Delta Drive} Adelaide TX 77629 rudolph@noway1234.com {Rudolph West} {7383 Tony Circle} Broome TX 77647 thom662@noway1234.com {Royal Thom} {11999 Telder Street} Katy TX 77819 cora598@noway1234.com {Cora Lantz} {5051 East 27th Avenue} OOdnadatta TX 77663 nick@noway1234.com {Nick Heideman} {9043 Von Scheben Drive} Pattison TX 77279 todd@noway1234.com {Todd Mercure} {2450 Schneiter Drive} Austin TX 77492 watteyne922@noway1234.com {Holly Watteyne} {11424 East Tree Drive} {Coffs Harbour} TX 77644 aldana746@noway1234.com {Dodrill Aldana} {4620 Telephone Avenue} Nacogdoches TX 77500 hillyer223@noway1234.com {Austin Hillyer} {8883 Misty Mountain Circle} Houston TX 77132 bude219@noway1234.com {Bude Miller} {3583 Irwin Street} Adelaide TX 77367 chatta241@noway1234.com {Chatta Schultz} {1612 Skipper Street} Kema TX 77354 gordon116@noway1234.com {Frances Gordon} {10546 East 84th Court} Eucla TX 77324 babe508@noway1234.com {Babe Schacht} {8956 Wranglers Way} Brookshire TX 77291 melborne210@noway1234.com {Melborne Weakland} {6675 Addenda Circle} Ketherine TX 77730 tootsie403@noway1234.com {Tootsie Clark} {2126 Lori Drive} Galveston TX 77564 jackson_lott@noway1234.com {Jackson Lott} {7777 Gravins Circle} {Tennant Creek} TX 77962 riensche494@noway1234.com {Maxine Riensche} {662 Northfield Drive} {Mount Gambier} TX 77826 field816@noway1234.com {Ida Field} {6350 Ptarmigan Terrace Avenue} Ketherine TX 77343 kim@noway1234.com {Kim Juilfs} {9739 Ronald Place} Independence TX 77054 price@noway1234.com {Price Tejral} {5477 Fassler Circle} {Padre Island} TX 77769 sikyta949@noway1234.com {Dempsey Sikyta} {1416 Hazel Court} Pattison TX 77578 ann276@noway1234.com {Ann Colton} {6770 Marten Street} {Coffs Harbour} TX 77942 sandy@noway1234.com {Sandy Leuenberger} {342 Hartman Circle} Dallas TX 77266 lucinda@noway1234.com {Lucinda Harman} {2883 West Skyline Drive} Bourke TX 77176 garnie@noway1234.com {Garnie Hemmer} {8914 East 56th Avenue} Star TX 77609 chatta996@noway1234.com {Chatta Philippi} {1423 Campbell Creek Road} Bourke TX 77244 butcher939@noway1234.com {Butcher Peters} {9772 Park Circle} {Alice Springs} TX 77522 richard850@noway1234.com {Verelene Richard} {7906 West Lake Circle} Hamilton TX 77782 cox66@noway1234.com {Wibb Cox} {5547 Remington Circle} Tamworth TX 77718 darrel@noway1234.com {Darrel Hoke} {1634 Toakee Circle} {Alice Springs} TX 77511 v@noway1234.com {V. Amsberry} {6413 Challenger Circle} {San Antonio} TX 77600 harrison165@noway1234.com {Harrison Glasson} {8684 Sikorsky Avenue} Burnie TX 77394 stephens528@noway1234.com {Lance Stephens} {6429 Sullins Drive} Houston TX 77402 wendell107@noway1234.com {Kaye Wendell} {7291 Spurr Lane} {San Felipe} TX 77303 spence855@noway1234.com {Patsy Spence} {7950 Young Meadows Circle} Independence TX 77908 ellis379@noway1234.com {George Ellis} {5304 Clipper Ship Drive} Broome TX 77237 coleman@noway1234.com {Coleman Uhrmacher} {98 Jordan Circle} Townsville TX 77459 goose@noway1234.com {Goose Reinhardt} {3026 Foxridge Circle} {Port Hedland} TX 77690 jean_littlejohn@noway1234.com {Jean Littlejohn} {10200 Sumac Drive} Rockhampton TX 77852 cottingham527@noway1234.com {Jacquine Cottingham} {6432 Sherilynn Street} Rockhampton TX 77250 goracke336@noway1234.com {J. Goracke} {5923 West 10th Avenue} Mildura TX 77408 eileen154@noway1234.com {Eileen Bray} {127 Fischer Avenue} Newcastle TX 77683 holmstrom536@noway1234.com {Rona Holmstrom} {11827 Arbor Circle} Brookshire TX 77028 craig178@noway1234.com {Audre Craig} {8659 Ridgewood Circle} {Broken Hill} TX 77417 osterhoudt886@noway1234.com {Dr. Osterhoudt} {10357 New Glenn Highway} Cairns TX 77038 schultz705@noway1234.com {Mardell Schultz} {4938 Shakespeare Circle} Broome TX 77174 cheryle136@noway1234.com {Cheryle Werner} {7562 Vasili Drive} Independence TX 77867 sova606@noway1234.com {Deane Sova} {6800 Ascot Street} Bathurst TX 77119 jeanie_naber@noway1234.com {Jeanie Naber} {8040 Menzies Way} Centerville TX 77630 giittinger203@noway1234.com {Norma Giittinger} {13 Eric Circle} Mildura TX 77437 mccain984@noway1234.com {Bud McCain} {1169 Cedrus Circle} Cairns TX 77230 eugene16@noway1234.com {Eugene Reed} {11651 South Eagle River Loop Road} Hamilton TX 77629 floerke484@noway1234.com {Rhunie Floerke} {11826 East 69th Avenue} Katy TX 77615 carlos464@noway1234.com {Carlos Haughton} {2859 Sleepy Circle} {Port Augusta} TX 77102 karl458@noway1234.com {Karl Finn} {240 East 41st Avenue} Eucla TX 77763 sikyta769@noway1234.com {Molly Sikyta} {1690 Susitna Drive} Burnie TX 77561 berg99@noway1234.com {H.J. Berg} {782 Industrial Way} Queenstown TX 77541 pebble_stinson@noway1234.com {Pebble Stinson} {4672 Draper Drive} Tamworth TX 77355 diane_feese@noway1234.com {Diane Feese} {4436 East 36th Avenue} Queenstown TX 77533 teddy@noway1234.com {Teddy Borrenpohl} {8280 Nicoli Way} Albury TX 77300 annette917@noway1234.com {Annette Swanson} {9638 Old Ridge Road} Eucla TX 77521 koehler812@noway1234.com {McQuire Koehler} {6702 Tanya Circle} Wollongong TX 77741 s109@noway1234.com {S. Bohung} {8853 Pollock Drive} {Mount Gambier} TX 77512 grant@noway1234.com {Grant Aldana} {4025 Halfhitch Circle} Ketherine TX 77272 maggie621@noway1234.com {Maggie Roland} {1165 Smaldon Circle} {Port Hedland} TX 77086 maysel439@noway1234.com {Maysel Douglas} {5305 Kelly Ranch Road} Dallas TX 77541 vaughn287@noway1234.com {Vaughn Ramsey} {9482 Marmot Court} Queenstown TX 77424 pet974@noway1234.com {Pet Pfister} {9350 Wildwater Circle} Centerville TX 77344 georgia146@noway1234.com {Georgia Swanson} {9982 East Klatt Road} Sunnyville TX 77096 hemmer356@noway1234.com {Marian Hemmer} {1668 Toy Drive} {Port Hedland} TX 77871 r_a@noway1234.com {R.A. Hermsmeier} {199 Jumar Avenue} Monaville TX 77839 hazle486@noway1234.com {Hazle Neemann} {11766 Dunbar Lane} {San Antonio} TX 77650 emory192@noway1234.com {Emory Geweke} {10810 Wolf Creek Drive} Mildura TX 77103 august_cummins@noway1234.com {August Cummins} {1046 Citation Road} {Port Augusta} TX 77625 morrow899@noway1234.com {Adkins Morrow} {8631 Middlerock Road} Kema TX 77750 runion446@noway1234.com {Runion Buces} {8970 Lauren Ann Circle} Mildura TX 77746 tony881@noway1234.com {Tony Beck} {10889 Price Island Circle} {Alice Springs} TX 77257 floerke585@noway1234.com {Daisy Floerke} {2664 Cambridge Way} Katy TX 77519 zeke714@noway1234.com {Zeke Bischoff} {3048 Alaska Avenue} Albury TX 77724 cassel@noway1234.com {Cassel Hershberger} {2300 Chilligan Drive} Monaville TX 77649 goodrich@noway1234.com {L. Goodrich} {2918 West 121st Avenue} Star TX 77478 mcalexander73@noway1234.com {C. McAlexander} {161 Yukla Circle} Adelaide TX 77739 olga203@noway1234.com {Olga Thurber} {8811 Brookview Street} Albury TX 77704 elbert@noway1234.com {Elbert Berg} {51 Buckner Drive} {Coffs Harbour} TX 77050 keen@noway1234.com {Keen Schmid} {9442 Swanson Circle} {Coober Pedy} TX 77122 zeke13@noway1234.com {Zeke Warden} {5150 Deborah Lynn Circle} Rockhampton TX 77818 a4@noway1234.com {A. Purdy} {3615 Timberlane Drive} Bathurst TX 77095 beethe858@noway1234.com {Mary Beethe} {550 Ivory Drive} Eucla TX 77945 irene_brinkman@noway1234.com {Irene Brinkman} {5402 Liberty Road} Brookshire TX 77297 vina335@noway1234.com {Vina Staley} {6826 Brenner Circle} {Padre Island} TX 77825 wilson344@noway1234.com {Wilson Esser} {37 Bishop's Castle Circle} Star TX 77178 kaster318@noway1234.com {Aaron Kaster} {8219 Iris Drive} Dallas TX 77704 orvis728@noway1234.com {Orvis Kroll} {4444 Dawn Lane} Brookshire TX 77642 vernell@noway1234.com {Vernell Petersen} {5861 Upper Devils End Drive} {Tennant Creek} TX 77033 wellensiek598@noway1234.com {L.S. Wellensiek} {10194 Pointe Circle} Kema TX 77030 jim481@noway1234.com {Jim Schweppe} {4035 Arcturus Circle} Amarillo TX 77734 dorsey_mattheis@noway1234.com {Dorsey Mattheis} {2656 Bridget Drive} Star TX 77624 gladys_graff@noway1234.com {Gladys Graff} {7030 Mountain Goat Drive} Bathurst TX 77593 hamm296@noway1234.com {Oma Hamm} {9818 Henkins Road} Launceston TX 77151 jackie624@noway1234.com {Jackie Hershberger} {749 Bunnyshoe Circle} {Coffs Harbour} TX 77126 uhrmacher@noway1234.com {Verna Uhrmacher} {1796 White Birch Road} {Tennant Creek} TX 77106 everett739@noway1234.com {Everett Cummins} {7125 Wakefield Circle} Dallas TX 77809 hamrick122@noway1234.com {Hamrick McCain} {2726 Dean Place} Bendigo TX 77001 evans71@noway1234.com {Mell Evans} {11322 Sprucewood Street} Rockhampton TX 77988 barnabas341@noway1234.com {Barnabas Guenther} {3625 Hemlock Street} OOdnadatta TX 77929 wood676@noway1234.com {Wood Juilfs} {3812 Eau Claire Place} Dallas TX 77635 patrica_volkmer@noway1234.com {Patrica Volkmer} {3739 Chalet Place} {Mount Gambier} TX 77700 ralph48@noway1234.com {Ralph Bennett} {5335 East 24th Avenue} {Coober Pedy} TX 77496 kennith511@noway1234.com {Kennith Wright} {281 Kimball Street} Albury TX 77653 margaret210@noway1234.com {Margaret Straube} {3938 Lahr Circle} {Broken Hill} TX 77785 dollarhide702@noway1234.com {Constance Dollarhide} {2911 Albion Circle} {Padre Island} TX 77800 woltemath176@noway1234.com {Alva Woltemath} {8794 Leo Street} {Tennant Creek} TX 77533 jones321@noway1234.com {Galen Jones} {5581 Lake View Circle} Albany TX 77351 jacquelene@noway1234.com {Jacquelene Brott} {8968 Brayton Drive} Albany TX 77817 carl_sobotta@noway1234.com {Carl. Sobotta} {3098 West Loop Road} {Mount Gambier} TX 77336 irene510@noway1234.com {Irene Paden} {10967 Nigh Road} {San Felipe} TX 77903 lantz582@noway1234.com {Claude Lantz} {1042 Maylen Circle} Burnie TX 77922 warren@noway1234.com {Warren Seward} {4817 Merrill Field Drive} Bendigo TX 77043 chittenden2@noway1234.com {Russ Chittenden} {10842 Artemus Avenue} {Port Hedland} TX 77706 mcalexander604@noway1234.com {Darla Mcalexander} {2639 Stargate Circle} {Port Augusta} TX 77946 fink290@noway1234.com {Etta Fink} {4426 East Eagle River Loop Road} Pattison TX 77689 goldie112@noway1234.com {Goldie Sapp} {2121 Lindblad Avenue} Hamilton TX 77556 wheeler385@noway1234.com {Kae Wheeler} {11784 North Cordova Street} Centerville TX 77994 higgins394@noway1234.com {Coffman Higgins} {8809 East 7th Avenue} Monaville TX 77310 theodore@noway1234.com {Theodore Frederick} {3151 Black Bear Circle} Cairns TX 77575 nolan@noway1234.com {Nolan Rathe} {1931 West 28th Court} Hamilton TX 77572 herbie472@noway1234.com {Herbie Amsberry} {1106 Pyrenean Circle} Monaville TX 77825 altman100@noway1234.com {Amanda Altman} {8198 Orbit Circle} {Mount Gambier} TX 77499 horner391@noway1234.com {Chessie Horner} {5713 Falklands Loop} Amarillo TX 77105 boyden450@noway1234.com {Hubert Boyden} {7600 Tower Estates Circle} Waco TX 77190 goings272@noway1234.com {Glen Goings} {3206 Oxford Bluff Circle} Queenstown TX 77193 gregory694@noway1234.com {Shelia Gregory} {11568 Jesters Place} {Padre Island} TX 77983 constance850@noway1234.com {Constance Niemann} {1576 Southpark Loop} Independence TX 77231 hesman850@noway1234.com {Mary Hesman} {7566 Sunshine Loop} Star TX 77895 murphy131@noway1234.com {Dr. Murphy} {5148 Bering Street} Burnie TX 77453 punk_xayaphonesongkham@noway1234.com {Punk Xayaphonesongkham} {4318 Amchitka Circle} Centerville TX 77762 rulla194@noway1234.com {Monk Rulla} {11324 Birch Drive} Mildura TX 77255 houmann52@noway1234.com {Myron Houmann} {3153 Northway Drive} Bathurst TX 77333 ragon368@noway1234.com {Bud Ragon} {6342 Lafayette Circle} Cairns TX 77283 grass272@noway1234.com {Ralph Grass} {6470 George Court} Houston TX 77410 sybil651@noway1234.com {Sybil Stahl} {1403 Poseidon Drive} {Port Hedland} TX 77490 mcdonald93@noway1234.com {Lantie McDonald} {7118 North Klevin Street} Bourke TX 77910 nadine210@noway1234.com {Nadine King} {8238 Loretta Place} {Mount Gambier} TX 77018 geiger340@noway1234.com {Dencil Geiger} {4275 Hidden Point Loop} Bendigo TX 77063 norman209@noway1234.com {Norman Keim} {6426 Ceres Circle} Hamilton TX 77758 harman188@noway1234.com {Marge Harman} {5477 Telequana Circle} Newcastle TX 77870 ahtelene742@noway1234.com {Ahtelene Van} {4211 West 38th Place} Albury TX 77728 kage19@noway1234.com {Baughman Kage} {8869 Shamrock Street} {San Felipe} TX 77829 stauffer866@noway1234.com {Geraldine Stauffer} {3354 Quartz Avenue} {San Felipe} TX 77401 sand658@noway1234.com {Griffith Sand} {4504 Merganser Circle} Eucla TX 77821 mahler342@noway1234.com {Mary Mahler} {4749 Fairkytes Circle} Kema TX 77970 dwinell263@noway1234.com {Thomas Dwinell} {3045 Huot Circle} Broome TX 77591 d421@noway1234.com {D. Luck} {3739 Hilltop Drive} Amarillo TX 77245 morse46@noway1234.com {Morse Bengtsson} {5013 Shaw Circle} Adelaide TX 77583 kavanaugh782@noway1234.com {Johnson Kavanaugh} {9791 Rosalind Street} Bathurst TX 77918 beard_werner@noway1234.com {Beard Werner} {4961 Faith Circle} Sunnyville TX 77467 hamer20@noway1234.com {Aletha Hamer} {3156 Foxridge Circle} Houston TX 77572 rue_rathe@noway1234.com {Rue Rathe} {9359 Strawberry Road} {Broken Hill} TX 77279 dorcas@noway1234.com {Dorcas Blessing} {2486 Camden Circle} {Port Hedland} TX 77320 keedy793@noway1234.com {Bee Keedy} {11492 Kerry Lane} Albany TX 77146 ruby795@noway1234.com {Ruby Laug} {9371 Muldoon Road} Independence TX 77575 hughes_weinrich@noway1234.com {Hughes Weinrich} {4159 Darby Road} {Mount Isa} TX 77402 durst363@noway1234.com {Rose Durst} {98 Andover Circle} OOdnadatta TX 77733 ines_huff@noway1234.com {Ines Huff} {3224 Runamuck Place} Launceston TX 77134 junie327@noway1234.com {Junie Todter} {11925 Goodnews Circle} {Broken Hill} TX 77459 newman_logsdon@noway1234.com {Newman Logsdon} {992 West 72nd Court} Adelaide TX 77277 mccain245@noway1234.com {Garret McCain} {9129 Cyrus Street} {Mount Isa} TX 77916 geanine_bengtsson@noway1234.com {Geanine Bengtsson} {1954 Calais Drive} Hamilton TX 77641 teske60@noway1234.com {Harold Teske} {5180 Beachwood Circle} OOdnadatta TX 77305 landry981@noway1234.com {Virginia Landry} {2057 Betula Drive} {Mount Isa} TX 77462 schlender284@noway1234.com {Early Schlender} {8608 Vista Court} Broome TX 77928 brany@noway1234.com {Brany Volkmer} {4966 East 54th Avenue} Cairns TX 77642 j727@noway1234.com {J. Dittmer} {517 Stylar Circle} Wollongong TX 77505 fricke991@noway1234.com {Ivan Fricke} {2942 Division Street} Star TX 77762 kathryn934@noway1234.com {Kathryn Seeba} {5224 Monarch Circle} Amarillo TX 77797 edith878@noway1234.com {Edith Amos} {5283 Tarwater Avenue} {Broken Hill} TX 77742 kent_diaz@noway1234.com {Kent Diaz} {9250 East 68th Avenue} {Port Hedland} TX 77592 lillian315@noway1234.com {Lillian Hupka} {6769 Lupine Road} {Port Augusta} TX 77772 wherry198@noway1234.com {Sandra Wherry} {9448 Sullins Drive} Bendigo TX 77561 graham@noway1234.com {Graham Carmine} {4417 Luliad Circle} Sunnyville TX 77339 littlejohn122@noway1234.com {s Littlejohn} {4960 Nathaniel Court} Tamworth TX 77543 margaret355@noway1234.com {Margaret Eells} {1119 Majella Circle} {Tennant Creek} TX 77297 bates410@noway1234.com {Helen Bates} {6982 East 13th Avenue} Brookshire TX 77753 garris48@noway1234.com {Brother Garris} {11303 Dawn Drive} Waco TX 77396 gail@noway1234.com {Gail Graff} {6101 West 92nd Avenue} Launceston TX 77196 holbert621@noway1234.com {Holbert Shaffer} {2140 South Tahiti Loop} Houston TX 77975 janice@noway1234.com {Janice McCulla} {3398 East 10th Avenue} {Coffs Harbour} TX 77635 jewell153@noway1234.com {Sarah Jewell} {5372 Kutchin Lane} Newcastle TX 77526 leonard993@noway1234.com {Leonard McNergney} {9849 Honeysuckle Drive} Houston TX 77395 kavanaugh604@noway1234.com {Josephine Kavanaugh} {4004 Mc Gowan Street} Tamworth TX 77088 ted386@noway1234.com {Ted Searcey} {4862 Merlin Loop} Bourke TX 77713 buces945@noway1234.com {Chip Buces} {3513 Stargazer Circle} Independence TX 77667 a839@noway1234.com {A. Bernadt} {5560 Roald Amundsen Avenue} Houston TX 77485 buck891@noway1234.com {Buck Stauffer} {7418 Skyway Drive} {Mount Gambier} TX 77377 pohlman539@noway1234.com {Rozella Pohlman} {3704 Telequana Circle} Amarillo TX 77879 tanner77@noway1234.com {Tanner Bauers} {5217 Lupine Street} {Broken Hill} TX 77170 williams430@noway1234.com {Rosalea Williams} {6833 Snowshoe Lane} Launceston TX 77989 fritsch243@noway1234.com {Iris Fritsch} {11167 Paso Place} Albany TX 77936 mathis819@noway1234.com {Quenton Mathis} {8551 Harrier Circle} Rockhampton TX 77550 donohue_mercure@noway1234.com {Donohue Mercure} {8995 Danner Avenue} {Port Augusta} TX 77890 glen266@noway1234.com {Glen Hester} {8363 Lumbis Avenue} Nacogdoches TX 77281 armknecht2@noway1234.com {Deborah Armknecht} {8387 Tampa Circle} {Padre Island} TX 77534 wenzel209@noway1234.com {G.W. Wenzel} {2312 Darlon Street} Bourke TX 77049 staley288@noway1234.com {Rene Staley} {6696 Florence Circle} Austin TX 77851 higgins814@noway1234.com {Butcher Higgins} {11510 Laurie Circle} Austin TX 77518 lanty651@noway1234.com {Lanty Morse} {904 Walker Circle} {Port Augusta} TX 77142 hasselbalch394@noway1234.com {Nora Hasselbalch} {3483 Krishka Circle} Amarillo TX 77722 naber719@noway1234.com {Violet Naber} {11287 Waterfall Drive} Independence TX 77047 barnette916@noway1234.com {Barnette MePherrin} {8954 Currin Circle} Newcastle TX 77844 doc847@noway1234.com {Doc Montz} {1063 Devin Circle} Galveston TX 77087 smithers803@noway1234.com {Dick Smithers} {6619 Vantage Avenue} Nacogdoches TX 77061 emogene@noway1234.com {Emogene Rothell} {10051 Mc Hugh Lane} Brookshire TX 77693 cora_brammann@noway1234.com {Cora Brammann} {807 Rodeo Circle} Katy TX 77402 moslander716@noway1234.com {Bradley Moslander} {8048 Shane Place} Sunnyville TX 77750 wiley_putnam@noway1234.com {Wiley Putnam} {3515 Happy Lane} Amarillo TX 77618 virginia236@noway1234.com {Virginia Guenther} {11315 Laura Lee Circle} {San Felipe} TX 77495 cary957@noway1234.com {frame Cary} {7044 Tempest Circle} Mildura TX 77549 hamric387@noway1234.com {Hamric DeVorss} {3491 Keuka Court} {San Felipe} TX 77997 june_ellis@noway1234.com {June Ellis} {182 Elim Street} Mildura TX 77312 aldana880@noway1234.com {Dodrill Aldana} {6800 Brown Avenue} Hamilton TX 77272 renae@noway1234.com {Renae Kroeze} {2867 Western Drive} Amarillo TX 77774 warder@noway1234.com {Warder Glasson} {7800 Forest Park Drive} Katy TX 77263 rebuck606@noway1234.com {Rod Rebuck} {6527 Denise Circle} Waco TX 77087 o@noway1234.com {O. Hippen} {1128 Wendy's Way} Townsville TX 77876 hemmer728@noway1234.com {Bryan Hemmer} {5482 Orion Circle} Houston TX 77588 ella_stordahl@noway1234.com {Ella Stordahl} {2214 Freedom Road} {Mount Isa} TX 77903 sobotta863@noway1234.com {Jean Sobotta} {8129 Wodstock Circle} {Mount Isa} TX 77474 littlejohn730@noway1234.com {Gladys Littlejohn} {7930 East Northern Lights Boulevard} Kema TX 77882 waggoner495@noway1234.com {Waggoner Gillette} {5279 Becky Lane} Townsville TX 77188 mavallee68@noway1234.com {Mavallee Kunzman} {9994 Cramer Place} {Mount Isa} TX 77726 paden726@noway1234.com {Goldie Paden} {9339 Balfour Drive} Tamworth TX 77089 lyons828@noway1234.com {Vincent Lyons} {1176 Rhone Circle} Queenstown TX 77420 jacquine211@noway1234.com {Jacquine Berg} {6755 East 58th Court} Albury TX 77888 malone420@noway1234.com {Amanda Malone} {9630 Corral Avenue} Amarillo TX 77523 levy_craig@noway1234.com {Levy Craig} {4268 East 51st Avenue} Albany TX 77990 brinkman159@noway1234.com {Sandra Brinkman} {6190 Hialeah Drive} Galveston TX 77208 amsberry929@noway1234.com {Maryln Amsberry} {6779 Summit View Street} Waco TX 77008 hardway778@noway1234.com {Hardway Fisher} {7020 Woodroe Lane} Austin TX 77562 russell622@noway1234.com {Darrel Russell} {2154 Pleasant View Drive} Star TX 77424 irne249@noway1234.com {Irne Bevard} {4986 Tulik Drive} {Broken Hill} TX 77976 sherman946@noway1234.com {Notinaham Sherman} {11907 Woodward Drive} Newcastle TX 77296 pebble_wiese@noway1234.com {Pebble Wiese} {3610 Oney Circle} Queenstown TX 77308 kunzman539@noway1234.com {Hanshaw Kunzman} {5243 Nabesna Circle} Newcastle TX 77259 lenore@noway1234.com {Lenore Hoke} {4480 Morning Drive} Galveston TX 77496 arlin@noway1234.com {Arlin Morrissey} {7807 Lori Court} Queenstown TX 77787 young_lantz@noway1234.com {Young Lantz} {5034 Homestead Trail} Mildura TX 77144 proctor674@noway1234.com {Butcher Proctor} {11956 Woodpecker Road} Cairns TX 77649 ella614@noway1234.com {Ella Lott} {4866 Blackstone Circle} {Port Hedland} TX 77228 kleine417@noway1234.com {Norman Kleine} {1194 Cordova Street} Mildura TX 77753 ritter379@noway1234.com {Neal Ritter} {9049 Adobe Drive} {Broken Hill} TX 77043 judy_badellino@noway1234.com {Judy Badellino} {10849 Seabreeze Circle} Katy TX 77140 tejral487@noway1234.com {Irne Tejral} {1925 Rockwell Avenue} {San Antonio} TX 77399 carrie57@noway1234.com {Carrie Schultz} {10007 Jennifer Circle} Dallas TX 77400 eltiste608@noway1234.com {Lomas Eltiste} {2948 Klutina Drive} Albany TX 77269 adam@noway1234.com {Adam Harman} {2571 Flintwood Place} Waco TX 77832 abraham@noway1234.com {Abraham Lohmeier} {2154 Brookshire Loop} Dallas TX 77543 gretta163@noway1234.com {Gretta Ritter} {3553 Sprint Circle} {Port Augusta} TX 77040 donna_bryan@noway1234.com {Donna Bryan} {8770 Joseph Street} Amarillo TX 77337 w_c@noway1234.com {W.C. Polson} {5205 Hatcher Circle} Mildura TX 77745 cumbers397@noway1234.com {cumbers Hemmer} {3465 Cedar Street} Bourke TX 77432 paul_lempke@noway1234.com {Paul Lempke} {6217 West 7th Avenue} OOdnadatta TX 77483 agnes@noway1234.com {Agnes Hervey} {2805 East 101st Avenue} {Mount Isa} TX 77030 joe83@noway1234.com {Joe Soumpholphakdy} {7611 Jehovahjireh Street} Amarillo TX 77338 vera_thies@noway1234.com {Vera Thies} {6490 Lone Tree Drive} Townsville TX 77276 audrey@noway1234.com {Audrey Boline} {4466 Kepner Drive} Townsville TX 77621 carolene681@noway1234.com {Carolene Malone} {8915 Joham Circle} {Alice Springs} TX 77223 miraih576@noway1234.com {Miraih Birnie} {8766 Blacktail Circle} Albany TX 77864 mccoy810@noway1234.com {Nelson McCoy} {7158 Campbell Place} Star TX 77205 hubert_brommer@noway1234.com {Hubert Brommer} {136 Avalon Circle} Launceston TX 77734 ferrel_dahl@noway1234.com {Ferrel Dahl} {2314 East 56th Avenue} Bourke TX 77404 site41@noway1234.com {Site Eells} {6177 Ares Circle} OOdnadatta TX 77438 l5@noway1234.com {L. Rine} {3475 Richmond Circle} Bendigo TX 77917 mcculla179@noway1234.com {Alta Mcculla} {6344 North Muldoon Road} {San Antonio} TX 77232 prussia179@noway1234.com {Prussia Cary} {467 Arctic Slope Avenue} Albury TX 77719 woodrow662@noway1234.com {Woodrow Peters} {9961 Shadow Lane} Kema TX 77686 w_l@noway1234.com {W.L. McLaughlin} {1863 Enstrom Circle} {San Antonio} TX 77600 johnson306@noway1234.com {Johnson Petersen} {1345 Wandering Lane} Tamworth TX 77681 vera519@noway1234.com {Vera Doty} {134 Bluebell Drive} Bendigo TX 77699 rosco@noway1234.com {Rosco Horstman} {3996 Star Drive} Galveston TX 77241 maycil@noway1234.com {Maycil Kelley} {5115 Alyeska Avenue} {Mount Gambier} TX 77450 holland@noway1234.com {Holland Jewell} {5907 Carolyn Street} Centerville TX 77278 vaughn928@noway1234.com {Vaughn Rickman} {7736 Side Hill Lane} Star TX 77601 chritton855@noway1234.com {Suflonia Chritton} {7289 Knik Avenue} {Mount Isa} TX 77694 hood985@noway1234.com {Daisy Hood} {6529 Woodcliff Drive} OOdnadatta TX 77070 norvell44@noway1234.com {Vaughn Norvell} {6976 Golden Dawn Circle} {Coober Pedy} TX 77151 white309@noway1234.com {White Hansel} {8583 Newton Court} Broome TX 77605 diana914@noway1234.com {Diana Ramsey} {900 Expedition Circle} Independence TX 77043 anne952@noway1234.com {Anne Berner} {5513 Koehler Street} Star TX 77389 smithers798@noway1234.com {Ray Smithers} {10027 Higher Terrace} Monaville TX 77445 jason_juilfs@noway1234.com {Jason Juilfs} {1047 Soldotna Drive} OOdnadatta TX 77526 joan733@noway1234.com {Joan Henrichs} {2294 Carriage Drive} Bendigo TX 77060 p909@noway1234.com {P. Peters} {5772 East 86th Avenue} {Padre Island} TX 77186 shelia_ensor@noway1234.com {Shelia Ensor} {2501 Northern Raven Drive} {Mount Gambier} TX 77050 ruby611@noway1234.com {Ruby Hayes} {302 Lila's Place} Eucla TX 77045 weakland687@noway1234.com {Juanita Weakland} {11649 Pronghorn Lane} {Mount Isa} TX 77382 butcher_geweke@noway1234.com {Butcher Geweke} {2533 Sky Mountain Lane} Waco TX 77307 ward260@noway1234.com {Ward Ditlevson} {3292 Crescent Avenue} {Port Augusta} TX 77534 behrends302@noway1234.com {Scottie Behrends} {3940 Silver Birch Drive} Kema TX 77541 ernest_rexroth@noway1234.com {Ernest Rexroth} {3065 Mc Intyre Road} Newcastle TX 77233 jeff606@noway1234.com {Jeff Snow} {5835 Rezanof Circle} Cairns TX 77123 doyle@noway1234.com {Doyle Huttenmeyer} {2863 Rudakof Circle} Centerville TX 77793 mcdonald270@noway1234.com {Lou McDonald} {4678 Kensington Circle} {Port Hedland} TX 77212 lomas479@noway1234.com {Lomas Rulla} {9256 Tranquillity Loop} Cairns TX 77848 kerner582@noway1234.com {Georgia Kerner} {2059 Culver Place} Tamworth TX 77839 rene_knock@noway1234.com {Rene Knock} {9266 Oney Circle} Galveston TX 77740 king148@noway1234.com {Ester King} {7256 Milrob Avenue} Centerville TX 77853 hadassah@noway1234.com {Hadassah Chrastil} {3603 Dean Place} Kema TX 77228 ruter251@noway1234.com {Irene Ruter} {9129 Our Own Lane} Tamworth TX 77616 bill300@noway1234.com {Bill Schermbeck} {10389 Park Place} Queenstown TX 77008 dawn111@noway1234.com {Dawn Juilfs} {2340 Greatland Drive} Broome TX 77311 goracke597@noway1234.com {Ora Goracke} {8801 Tall Spruce Drive} Katy TX 77335 nutter114@noway1234.com {Nutter Dillaplain} {206 Dundas Circle} Houston TX 77576 steven915@noway1234.com {Steven King} {7710 Hogan Bay Circle} Broome TX 77114 betty_cottingham@noway1234.com {Betty Cottingham} {10955 Hampshire Boulevard} {Coober Pedy} TX 77888 griffith356@noway1234.com {Griffith Miller} {2180 Tana Circle} Albany TX 77050 keener669@noway1234.com {Keener Mattox} {6290 Sundi Drive} Waco TX 77536 lou_heideman@noway1234.com {Lou Heideman} {5971 Dixie Court} Sunnyville TX 77705 strickland855@noway1234.com {Strickland Taylor} {7957 Wolf Creek Drive} Dallas TX 77835 amanda181@noway1234.com {Amanda Bennett} {9354 East 52nd Avenue} Tamworth TX 77366 mathew@noway1234.com {Mathew Graff} {10996 Lewis Place} Sunnyville TX 77141 logsdon970@noway1234.com {Kermit Logsdon} {9410 Craig Creek Circle} Centerville TX 77091 martha989@noway1234.com {Martha Aldana} {9777 Lower Cranberry Drive} {Mount Gambier} TX 77303 delma363@noway1234.com {Delma Klein} {5181 Idaho Street} Katy TX 77644 lane431@noway1234.com {Lane Phillips} {6391 Aries Court} {Port Augusta} TX 77396 nellie167@noway1234.com {Nellie Clark} {2247 Lois Drive} {Mount Gambier} TX 77477 e_burns_stephens@noway1234.com {E.Burns Stephens} {1370 Stella Place} Ketherine TX 77295 dawson627@noway1234.com {Dawson Mueller} {6452 Elder Drive} Bathurst TX 77371 nora178@noway1234.com {Nora Meister} {4236 East 43rd Place} Eucla TX 77470 jerie517@noway1234.com {Jerie Dittmer} {472 End Street} {Coffs Harbour} TX 77784 triplett90@noway1234.com {Emanuel Triplett} {9535 Katlian Drive} Houston TX 77893 rine508@noway1234.com {Wendell Rine} {9518 Lakewood Court} Ketherine TX 77418 virginia904@noway1234.com {Virginia Rexroth} {9799 Mary Circle} {Coober Pedy} TX 77908 belle_kage@noway1234.com {Belle Kage} {10857 Woodway Circle} {Port Hedland} TX 77591 serena931@noway1234.com {Serena Johnson} {6747 Cumberland Circle} {San Antonio} TX 77000 bryce44@noway1234.com {Bryce Scott} {4704 Dallas Street} {Tennant Creek} TX 77495 virginia828@noway1234.com {Virginia Branting} {10335 Challenger Circle} Pattison TX 77189 morrison330@noway1234.com {Bird Morrison} {2054 Artus Street} Tamworth TX 77979 delbert592@noway1234.com {Delbert Polson} {11319 Westland Circle} OOdnadatta TX 77733 stephens740@noway1234.com {J. Stephens} {11100 Sagwon Avenue} Eucla TX 77745 carson611@noway1234.com {Clara Carson} {5641 Mountain Ash Drive} Monaville TX 77107 charlotte883@noway1234.com {Charlotte Kohout} {910 Revilla Circle} Monaville TX 77123 ramsey188@noway1234.com {Ramsey Zillig} {4475 Bugle Court} Newcastle TX 77018 eunice975@noway1234.com {Eunice Ditlevson} {4965 Brookside Drive} {Padre Island} TX 77198 june491@noway1234.com {June Werner} {11514 Traverse Way} Star TX 77780 punk913@noway1234.com {Punk King} {5902 Yorkshire Lane} Burnie TX 77566 wendell310@noway1234.com {Gumm Wendell} {7897 Lobdell Street} {Port Hedland} TX 77787 cox969@noway1234.com {Lillie Cox} {5373 Kilkenny Circle} Ketherine TX 77625 donzel_sullivan@noway1234.com {Donzel Sullivan} {866 Tyone Court} {San Felipe} TX 77367 paxton_rogers@noway1234.com {Paxton Rogers} {6906 Camelot Circle} Hamilton TX 77311 lucille434@noway1234.com {Lucille Kerr} {6725 Harriet Court} Nacogdoches TX 77335 kettelhake2@noway1234.com {Russell Kettelhake} {7985 Mountain Way} Rockhampton TX 77875 morris699@noway1234.com {Dodrill Morris} {3583 Misty Meadows Drive} Queenstown TX 77669 husing884@noway1234.com {Galford Husing} {11844 Woodcliff Drive} Dallas TX 77794 dallas_meints@noway1234.com {Dallas Meints} {6097 West 70th Circle} OOdnadatta TX 77788 donard261@noway1234.com {Donard Carman} {10585 Kiska Circle} Adelaide TX 77459 huck34@noway1234.com {Huck Rohrs} {4275 Raven Crest Circle} Star TX 77248 dieckmann195@noway1234.com {Bud Dieckmann} {11069 West 32nd Avenue} {Coffs Harbour} TX 77124 dolores@noway1234.com {Dolores Hanau} {790 Spar Avenue} {San Felipe} TX 77113 keedy612@noway1234.com {Rhetta Keedy} {1454 Blue Heron Circle} Hamilton TX 77185 rogers602@noway1234.com {Rogers Blessing} {8493 Tideview Drive} Bathurst TX 77043 schultz468@noway1234.com {Frances Schultz} {11784 Atherton Road} {Padre Island} TX 77483 greeb128@noway1234.com {Steph Greeb} {11023 Porcupine Trail Road} Nacogdoches TX 77281 reufus@noway1234.com {Reufus Wenzel} {2643 Carlina Drive} Newcastle TX 77941 ann174@noway1234.com {Ann Farley} {10410 East 58th Circle} Houston TX 77415 rosilia@noway1234.com {Rosilia Xayaphonesongkham} {1444 Concord Lane} Austin TX 77408 victor640@noway1234.com {Victor Norvell} {4689 Kodiak Street} Hamilton TX 77507 niemann24@noway1234.com {Loring Niemann} {10438 Foster Road} Bathurst TX 77888 rhetta113@noway1234.com {Rhetta Lambelet} {4477 Misty Meadows Drive} {Tennant Creek} TX 77028 paul91@noway1234.com {Paul Blessing} {8577 Roosevelt Drive} Brookshire TX 77455 ora805@noway1234.com {Ora Barden} {8530 Brooks Drive} Rockhampton TX 77670 katherine_sellman@noway1234.com {Katherine Sellman} {737 Lander Place} Burnie TX 77536 shelton726@noway1234.com {Shelton Foetisch} {646 Defiance Street} Townsville TX 77047 karen581@noway1234.com {Karen Reiber} {7271 Wandering Lane} Bourke TX 77745 boline796@noway1234.com {Evelyn Boline} {8593 Anvik Circle} Monaville TX 77664 gertrude@noway1234.com {Gertrude Repp} {10527 Courage Circle} Austin TX 77882 eugene426@noway1234.com {Eugene Ellis} {3908 Price Street} Star TX 77888 goers503@noway1234.com {Dawson Goers} {4111 Linda Lane} Dallas TX 77448 betty293@noway1234.com {Betty Soumpholphakdy} {11239 Jupiter Drive} {Mount Gambier} TX 77121 henrietta586@noway1234.com {Henrietta Lacey} {9433 Helluva Street} Albany TX 77992 doeden963@noway1234.com {Ulysses Doeden} {1847 Castner Circle} Dallas TX 77549 e921@noway1234.com {E. Mahler} {385 Laurel Street} {Alice Springs} TX 77743 zellmer364@noway1234.com {Karen Zellmer} {10599 Morphy Court} {San Antonio} TX 77083 irene_tenhulzen@noway1234.com {Irene TenHulzen} {9806 Okemo Road} Bourke TX 77374 red835@noway1234.com {Red Ham} {9750 Dewey Circle} {Broken Hill} TX 77389 dills294@noway1234.com {Keener Dills} {5631 Falling Water Circle} {Port Augusta} TX 77195 hanau887@noway1234.com {Ottie Hanau} {6029 East 75th Court} Bathurst TX 77403 linda524@noway1234.com {Linda Tucker} {5162 West 86th Avenue} Cairns TX 77180 mcpherrin591@noway1234.com {E. McPherrin} {7436 Lockheed Avenue} {Padre Island} TX 77476 befty982@noway1234.com {Befty Stephens} {10850 Second Street} Mildura TX 77310 todter60@noway1234.com {Daisy Todter} {3005 Eastwood Loop} Brookshire TX 77315 haskel574@noway1234.com {Haskel Leahy} {2858 Baird Circle} Mildura TX 77729 schreiner284@noway1234.com {Chip Schreiner} {904 Cox Drive} {Port Augusta} TX 77388 britt549@noway1234.com {Wilson Britt} {4961 Danny Drive} Tamworth TX 77293 neemann793@noway1234.com {Jefferson Neemann} {4976 Hamilton Drive} Adelaide TX 77280 joann_tucker@noway1234.com {JoAnn Tucker} {6354 Myrtle Drive} {Port Hedland} TX 77155 emogene_meister@noway1234.com {Emogene Meister} {7525 Ticonderoga Place} {Coffs Harbour} TX 77002 nadeen@noway1234.com {Nadeen Ray} {6327 Lakeview Drive} Tamworth TX 77993 mueller414@noway1234.com {Norma Mueller} {2553 Camrose Drive} {Mount Gambier} TX 77826 wendell335@noway1234.com {Wendell Little} {9788 East 162nd Avenue} Houston TX 77528 mutt960@noway1234.com {Mutt Hoke} {2916 Wildwater Circle} Houston TX 77801 buerstetta386@noway1234.com {Charlotte Buerstetta} {6214 Ruane Road} Queenstown TX 77835 oat722@noway1234.com {Oat Proctor} {122 West 48th Avenue} Wollongong TX 77531 severns630@noway1234.com {Triplett Severns} {8859 Lisa Court} Monaville TX 77957 weible699@noway1234.com {Drema Weible} {11353 Holitna Circle} Launceston TX 77572 gordon901@noway1234.com {Graham Gordon} {5771 Holly Lane} Monaville TX 77837 early_finney@noway1234.com {Early Finney} {2100 Macinnes Street} Kema TX 77961 roland162@noway1234.com {Opal Roland} {8108 Alaska Regional Drive} {Port Hedland} TX 77876 rush460@noway1234.com {Rush Clements} {6282 West 44th Place} Katy TX 77127 ben@noway1234.com {Ben Neill} {1711 Benjamin Road} Albury TX 77593 carter302@noway1234.com {Sonny Carter} {9215 Tanadak Circle} Launceston TX 77725 triplett77@noway1234.com {Mctheny Triplett} {8596 Wolverine Street} Ketherine TX 77847 fox292@noway1234.com {Phillips Fox} {9087 Robinson Road} {Mount Gambier} TX 77068 sherwood@noway1234.com {Sherwood Aden} {7057 Bowdoin Circle} Albany TX 77170 lou223@noway1234.com {Lou Bane} {1136 Marble Circle} {Mount Gambier} TX 77206 olive183@noway1234.com {Olive Kage} {2425 E Street} Monaville TX 77746 blessing538@noway1234.com {Ruth Blessing} {1939 Paso Place} {Mount Gambier} TX 77319 diane204@noway1234.com {Diane Mason} {10173 Nickell Circle} Albury TX 77674 tortie638@noway1234.com {Tortie Fricke} {5765 Brookwood Circle} Bathurst TX 77420 kavanaugh473@noway1234.com {Hall Kavanaugh} {2166 Gulf Circle} Bendigo TX 77960 bail554@noway1234.com {Bail Williams} {8374 East 25th Court} Star TX 77451 holmstrom941@noway1234.com {Lois Holmstrom} {8007 Kamkoff Avenue} Broome TX 77517 ammie710@noway1234.com {Ammie Finn} {9960 Prescott Street} Nacogdoches TX 77120 holden948@noway1234.com {Ford Holden} {6449 West 71st Avenue} {Mount Gambier} TX 77769 theodore429@noway1234.com {Theodore Kleine} {4886 Brown Tree Circle} Bendigo TX 77992 hermsmeier625@noway1234.com {Donna Hermsmeier} {8119 Arboretum Street} Eucla TX 77095 nick810@noway1234.com {Nick Keedy} {11518 West Loop Road} {Broken Hill} TX 77620 sears11@noway1234.com {Colluzzi Sears} {10246 Brudne Road} Monaville TX 77525 lois_phommachack@noway1234.com {Lois Phommachack} {10760 Dixie Court} Wollongong TX 77106 diane_putnam@noway1234.com {Diane Putnam} {9894 Betty Street} {San Antonio} TX 77788 mickey504@noway1234.com {Mickey Pluta} {6203 Reeve Boulevard} Rockhampton TX 77675 cottrill_hoke@noway1234.com {Cottrill Hoke} {10373 Park Place Street} Dallas TX 77446 todter881@noway1234.com {T.G. Todter} {10516 Tondi Lane} Monaville TX 77337 jacquine_hardin@noway1234.com {Jacquine Hardin} {4796 Redwood Street} Broome TX 77426 darleen264@noway1234.com {Darleen Rauner} {1367 Dunkirk Drive} Pattison TX 77939 tagart920@noway1234.com {Alice Tagart} {11498 Oomiak Circle} {Tennant Creek} TX 77821 straube993@noway1234.com {Michael Straube} {9827 Temple Drive} OOdnadatta TX 77053 buethe123@noway1234.com {Lucille Buethe} {3065 Concord Hill Circle} Townsville TX 77746 gibson954@noway1234.com {Lana Gibson} {9620 Kershner Avenue} Star TX 77113 person799@noway1234.com {Moore Person} {8153 Susan Circle} Hamilton TX 77833 vergie_belding@noway1234.com {Vergie Belding} {10124 Jewel Terrace Circle} Houston TX 77039 aufdenkamp@noway1234.com {Loring Aufdenkamp} {6812 Ingram Street} Bendigo TX 77261 lena@noway1234.com {Lena DeVorss} {11021 Colonial Court} Hamilton TX 77827 nora_johns@noway1234.com {Nora Johns} {7411 Maytag Street} Burnie TX 77336 aden768@noway1234.com {Mavallee Aden} {606 Hidden Creek Lane} Sunnyville TX 77120 packett560@noway1234.com {Jeanette Packett} {6317 Baylor Way} {San Felipe} TX 77124 nadine20@noway1234.com {Nadine Sackaly} {3856 Needle Circle} Launceston TX 77171 harman995@noway1234.com {Facemire Harman} {3935 Wisteria Street} Katy TX 77837 vincent_schacht@noway1234.com {Vincent Schacht} {5613 Kamishak Bay Circle} Kema TX 77976 reilly148@noway1234.com {Annie Reilly} {11676 Southbluff Circle} Galveston TX 77401 harold666@noway1234.com {Harold Hinkle} {9004 View Heights Way} {Mount Isa} TX 77927 schmiegelow459@noway1234.com {Barnette Schmiegelow} {11414 Tahoe Circle} {San Felipe} TX 77836 eugene450@noway1234.com {Eugene Bernadt} {9143 Cheveley Street} Bathurst TX 77309 bengtsson54@noway1234.com {Lorene Bengtsson} {7312 Lance Circle} {Mount Gambier} TX 77120 greeb399@noway1234.com {L. Greeb} {6054 Takli Circle} Centerville TX 77046 bomar493@noway1234.com {Delsie Bomar} {11367 Lochwood Circle} Broome TX 77253 stump_littlejohn@noway1234.com {Stump Littlejohn} {4822 East 35th Avenue} Katy TX 77051 mcdonald945@noway1234.com {Oran McDonald} {3583 Old Rabbit Creek Road} Dallas TX 77992 jngrid@noway1234.com {Jngrid Spence} {8445 Eula Street} {Coffs Harbour} TX 77811 riley@noway1234.com {Riley Chittenden} {904 Taurus Circle} {Broken Hill} TX 77070 legg878@noway1234.com {Legg Dittmer} {4734 Woodridge Circle} Hamilton TX 77172 satan@noway1234.com {Satan Pan} {7280 Retriever Circle} {San Felipe} TX 77891 dencil847@noway1234.com {Dencil Sikyta} {6844 Upper Bowery Lane} Amarillo TX 77918 alferd553@noway1234.com {Alferd Eells} {5378 Glen Alps Road} Albany TX 77161 karen77@noway1234.com {Karen Smithers} {6293 Astro Circle} Albury TX 77612 patty_taylor@noway1234.com {Patty Taylor} {505 Humble Court} Ketherine TX 77134 rush517@noway1234.com {Rush Huff} {4961 Oren Street} Albury TX 77698 luck172@noway1234.com {Walter Luck} {11893 Dorchester Street} Austin TX 77297 v_lofgren@noway1234.com {V. Lofgren} {8819 Chickweed Lane} Brookshire TX 77156 van378@noway1234.com {Moss Van} {2940 Brittany Circle} Brookshire TX 77031 wib_hoke@noway1234.com {Wib Hoke} {10753 Trena Street} Kema TX 77386 radia_mueller@noway1234.com {Radia Mueller} {11477 Newhaven Loop} Katy TX 77852 koehler775@noway1234.com {Gay Koehler} {11515 Fallow Circle} Brookshire TX 77784 evalena_kuhl@noway1234.com {Evalena Kuhl} {7923 The Sun Loft Drive} Sunnyville TX 77112 ramsey_malone@noway1234.com {Ramsey Malone} {3635 Langnes Court} OOdnadatta TX 77262 betty24@noway1234.com {Betty Tagart} {6720 Country Club Lane} Galveston TX 77386 hildreth@noway1234.com {Hildreth Nielsen} {1675 Liberty Circle} {Mount Gambier} TX 77572 donavon@noway1234.com {Donavon Hayes} {2130 Stern Circle} Brookshire TX 77237 darla591@noway1234.com {Darla Schacht} {1987 Travis Lane} Tamworth TX 77910 neeman658@noway1234.com {Aletha Neeman} {6711 Refuge Circle} OOdnadatta TX 77126 darrell_sayakhoummane@noway1234.com {Darrell Sayakhoummane} {4091 Lowell Circle} Star TX 77812 notinaham29@noway1234.com {Notinaham Geiger} {4550 Essex Circle} Austin TX 77885 birnie662@noway1234.com {Jenny Birnie} {10987 Third Street} Kema TX 77061 hahn772@noway1234.com {Vera Hahn} {95 East 89th Avenue} Pattison TX 77124 mckinney778@noway1234.com {Joan McKinney} {5558 Audubon Drive} {Port Hedland} TX 77724 young580@noway1234.com {Young Bennett} {1217 Sherwood Circle} Star TX 77974 grass311@noway1234.com {Mathew Grass} {5964 Tsusena Circle} Bathurst TX 77814 clark489@noway1234.com {Clark Johnson} {9398 Carla Street} Kema TX 77329 sapp72@noway1234.com {Bowers Sapp} {4681 Davis Street} {Coffs Harbour} TX 77775 bessell@noway1234.com {Bessell Schmidt} {472 College Drive} Eucla TX 77812 verle@noway1234.com {Verle Knock} {6843 West 86th Court} Bendigo TX 77475 tom535@noway1234.com {Tom Bray} {11322 East 48th Avenue} Austin TX 77697 corine_bane@noway1234.com {Corine Bane} {330 Woronzof Drive} Bathurst TX 77338 laug819@noway1234.com {Kennith Laug} {148 Golden Hills Lane} Broome TX 77943 carolyn663@noway1234.com {Carolyn Dillaplain} {6098 Cook Inlet Loop} Sunnyville TX 77429 sullivan115@noway1234.com {Ramsey Sullivan} {6231 Country Lane Circle} {Coffs Harbour} TX 77720 ida745@noway1234.com {Ida Wolf} {292 Tenada Avenue} Bendigo TX 77198 gayelon@noway1234.com {Gayelon Oldfather} {8752 Mc Clellan Circle} Kema TX 77046 rebecca_schafer@noway1234.com {Rebecca Schafer} {3792 Hopa Circle} Burnie TX 77626 bulah_waring@noway1234.com {Bulah Waring} {7940 Cherni Circle} {Tennant Creek} TX 77629 henry429@noway1234.com {Henry Staley} {3600 Khyber Circle} {Port Hedland} TX 77616 wilbur821@noway1234.com {Wilbur Pierce} {11865 Easter Island Circle} {Alice Springs} TX 77349 grace@noway1234.com {Grace Hardin} {5470 Log Cabin Circle} {San Felipe} TX 77590 wetzel_olsen@noway1234.com {Wetzel Olsen} {4863 Hosken Street} Nacogdoches TX 77011 rapp_dills@noway1234.com {Rapp Dills} {9647 Cumulus Road} Houston TX 77725 mike_cary@noway1234.com {Mike Cary} {473 Wooded Acres Drive} Pattison TX 77367 sharon952@noway1234.com {Sharon Reynolds} {9269 Steeple Drive} Townsville TX 77936 gardner_lacey@noway1234.com {Gardner Lacey} {6317 Copperbush Court} {San Felipe} TX 77497 spence247@noway1234.com {Dawson Spence} {9718 Criswell Circle} Wollongong TX 77388 ann836@noway1234.com {Ann Stephens} {877 Karta Circle} {Broken Hill} TX 77054 ragon538@noway1234.com {Pebble Ragon} {7330 Rancho Drive} {Alice Springs} TX 77327 harms157@noway1234.com {Harms Fuller} {10342 Samuel Court} Katy TX 77032 jo258@noway1234.com {Jo Carson} {4409 Caress Circle} Albany TX 77618 bomar972@noway1234.com {Viola Bomar} {511 Birch Trail Circle} Bathurst TX 77847 michl328@noway1234.com {Quenton Michl} {8801 Sunset View Circle} Kema TX 77637 dorsch948@noway1234.com {Mahetable Dorsch} {3838 Illian Lane} Star TX 77645 blanch226@noway1234.com {Blanch Teske} {10936 High Bluff Drive} {San Antonio} TX 77119 harrison961@noway1234.com {Harrison Aden} {6253 Milky Way Drive} Brookshire TX 77834 borrenphol353@noway1234.com {Joe Borrenphol} {4063 Artillery Road} Dallas TX 77741 tony722@noway1234.com {Tony Wendell} {252 Homalo Court} Rockhampton TX 77547 moses266@noway1234.com {Moses Luck} {8267 Romig Place} Houston TX 77883 wolf150@noway1234.com {P. Wolf} {2831 Newcomb Drive} Newcastle TX 77888 reinhardt817@noway1234.com {Ancil Reinhardt} {11495 Wood River Way} Townsville TX 77727 kohout375@noway1234.com {Hunter Kohout} {8558 Shelikof Street} OOdnadatta TX 77270 brott219@noway1234.com {Ronna Brott} {4119 Forelands Circle} Launceston TX 77274 joseph920@noway1234.com {Joseph Belding} {544 Kissee Court} Nacogdoches TX 77571 baird334@noway1234.com {Dawson Baird} {11958 East 89th Avenue} {Port Hedland} TX 77673 fankhauser76@noway1234.com {cumbers Fankhauser} {7831 Turin Drive} {Mount Isa} TX 77661 maycil798@noway1234.com {Maycil Lambelet} {2518 Stowe Circle} Kema TX 77037 mccain704@noway1234.com {Willard McCain} {6658 Parkridge Circle} Hamilton TX 77269 georgia_mercure@noway1234.com {Georgia Mercure} {9773 Atkinson Drive} Hamilton TX 77441 cathy645@noway1234.com {Cathy Weinrich} {9476 Kincaid Estates Drive} Pattison TX 77741 ina522@noway1234.com {Ina Triplett} {10941 Woster Avenue} {Mount Isa} TX 77037 branting426@noway1234.com {Ruhie Branting} {8227 White Hawk Drive} Katy TX 77816 king249@noway1234.com {Marple King} {8439 Friendly Lane} {Mount Isa} TX 77339 ester528@noway1234.com {Ester Kohout} {925 Shadow Lane} Newcastle TX 77632 maxine_soumpholphakdy@noway1234.com {Maxine Soumpholphakdy} {122 Pronghorn Lane} {Mount Isa} TX 77715 hackbart90@noway1234.com {Maryln Hackbart} {1660 Hampton Drive} {Mount Gambier} TX 77666 mickey879@noway1234.com {Mickey Holben} {2372 Service Road} OOdnadatta TX 77093 scott_hahn@noway1234.com {Scott Hahn} {4845 Mountain Goat Drive} Waco TX 77721 glendora_rademacher@noway1234.com {Glendora Rademacher} {9242 Stanton Avenue} {Mount Isa} TX 77071 dawson542@noway1234.com {Dawson Dieckhoff} {4616 Prominence Pointe Drive} {San Antonio} TX 77489 dorlen868@noway1234.com {Dorlen Stahl} {6266 Vaquero Road} Brookshire TX 77354 bevard465@noway1234.com {Adkins Bevard} {8610 Jarvi Drive} Tamworth TX 77870 lyons305@noway1234.com {Darleen Lyons} {11866 Reeve Boulevard} Houston TX 77917 menard691@noway1234.com {Charles Menard} {7012 Le Doux Lane} Katy TX 77959 dempsey528@noway1234.com {Dempsey Walters} {5089 New Smyrna Circle} Waco TX 77274 pohlman717@noway1234.com {Hickman Pohlman} {5405 Paddock Lane} {Coffs Harbour} TX 77090 mercure296@noway1234.com {Ron Mercure} {1034 Eldora Drive} Mildura TX 77986 morrissey905@noway1234.com {Johnson Morrissey} {1721 S Street} Queenstown TX 77350 troeger111@noway1234.com {Roncy Troeger} {473 Mountain Plover Circle} Centerville TX 77393 fletcher754@noway1234.com {Fletcher Zager} {6970 Scenic Drive} {Broken Hill} TX 77942 grable458@noway1234.com {H.H. Grable} {6369 West 27th Avenue} Bendigo TX 77990 virginia740@noway1234.com {Virginia Clifton} {9592 Mila Street} Ketherine TX 77386 florence403@noway1234.com {Florence Rexroth} {3266 Papa Bear Lane} Bathurst TX 77231 rinne@noway1234.com {Grant Rinne} {8962 East 155th Avenue} Monaville TX 77782 reynolds265@noway1234.com {Bessie Reynolds} {10558 Arlene Drive} Bathurst TX 77562 rai@noway1234.com {Rai Putnam} {11998 West 106th Avenue} {Port Hedland} TX 77719 lock99@noway1234.com {Daisy Lock} {294 George Court} Bathurst TX 77822 granny@noway1234.com {Granny Clark} {1541 Dallon Court} Amarillo TX 77648 burke795@noway1234.com {Burke Cummins} {9026 Longbow Drive} Monaville TX 77354 buford@noway1234.com {Buford Harms} {11207 Kip Court} {San Antonio} TX 77085 davison991@noway1234.com {Hazelton Davison} {11321 East 121st Avenue} Monaville TX 77448 chritton370@noway1234.com {Ward Chritton} {4440 Hannigan Street} Cairns TX 77332 donna987@noway1234.com {Donna Krouse} {3112 Belsey Street} Sunnyville TX 77945 hippen236@noway1234.com {Pamela Hippen} {451 Windy Circle} Bendigo TX 77940 evalene_mapes@noway1234.com {Evalene Mapes} {10759 Thunderbrush Circle} {Tennant Creek} TX 77458 c_a_zillig@noway1234.com {C.A. Zillig} {9612 West 2nd Avenue} {Tennant Creek} TX 77670 amos413@noway1234.com {Moses Amos} {8166 Green Garden Drive} Mildura TX 77429 bob974@noway1234.com {Bob Mattox} {10011 O'brien Avenue} Townsville TX 77713 gorton580@noway1234.com {Eunice Gorton} {1603 Boulder Bay Circle} Tamworth TX 77904 p_simer_rinne@noway1234.com {P'simer Rinne} {8816 West 57th Avenue} {Alice Springs} TX 77063 wheeler699@noway1234.com {Hunter Wheeler} {6047 Shelburne Road} Rockhampton TX 77243 jill_belding@noway1234.com {Jill Belding} {11301 Tutna Circle} {Broken Hill} TX 77763 chrastil226@noway1234.com {Mullins Chrastil} {9829 Crow Creek Road} Albury TX 77384 murphy909@noway1234.com {Dwight Murphy} {4343 Ptarmigan Street} Mildura TX 77955 hamilton838@noway1234.com {Trossie Hamilton} {3010 Admiralty Place} Broome TX 77620 ashley448@noway1234.com {Ashley Ullman} {2550 Wildwood Drive} Centerville TX 77795 mcdonald466@noway1234.com {Catherine McDonald} {8357 West 80th Avenue} Cairns TX 77436 virgil_schafer@noway1234.com {Virgil Schafer} {2922 Mills Bay Drive} Hamilton TX 77039 chritton547@noway1234.com {Kerchovel Chritton} {3185 Lesmer Circle} Rockhampton TX 77185 hebner@noway1234.com {Mary Hebner} {5455 Willis Drive} Albury TX 77187 wolf911@noway1234.com {Delia Wolf} {10982 East Manor Avenue} Wollongong TX 77894 dr_lott@noway1234.com {Dr. Lott} {10852 Rock Ptarmigan Street} {Coober Pedy} TX 77712 gray_morrison@noway1234.com {Gray Morrison} {7890 Mink Creek Drive} Bourke TX 77655 kehlenbeck212@noway1234.com {Betsy Kehlenbeck} {15 Tina Street} Wollongong TX 77778 thurman87@noway1234.com {Thurman Young} {197 Alderwood Loop} Pattison TX 77069 hays693@noway1234.com {Hays Dills} {6656 Songbird Drive} Bathurst TX 77399 siske589@noway1234.com {Roy Siske} {3022 Pharaoh Circle} Nacogdoches TX 77896 punk297@noway1234.com {Punk Bennett} {7841 South Lowrie Loop} {Tennant Creek} TX 77737 eunice_betzelberger@noway1234.com {Eunice Betzelberger} {3190 Clare Circle} {San Antonio} TX 77173 tenhulzen370@noway1234.com {Luanne TenHulzen} {5760 Hazen Circle} Rockhampton TX 77223 brockman553@noway1234.com {Mack Brockman} {11509 Leonard Circle} Rockhampton TX 77080 rohmeyer309@noway1234.com {Walker Rohmeyer} {8194 East Midvale Circle} Adelaide TX 77278 spier834@noway1234.com {Myrtle Spier} {7516 Lochenshire Place} Independence TX 77987 mayfield691@noway1234.com {Rubin Mayfield} {10418 Fassler Circle} Dallas TX 77021 lehenbauer311@noway1234.com {Johnson Lehenbauer} {1271 Crystal Street} Galveston TX 77210 dollarhide258@noway1234.com {Claude Dollarhide} {9449 East 136th Avenue} {Port Hedland} TX 77120 kirkman260@noway1234.com {Gwen Kirkman} {8666 Bliss Street} Austin TX 77714 aust443@noway1234.com {Christian Aust} {11992 Douglas Place} Brookshire TX 77630 osterthun985@noway1234.com {Dawn Osterthun} {4735 Dorian Drive} Star TX 77777 mcdowell80@noway1234.com {Mullens McDowell} {4270 Hennings Way} Wollongong TX 77501 neal216@noway1234.com {Neal Ritter} {6265 West 44th Avenue} {Alice Springs} TX 77752 walker_holden@noway1234.com {Walker Holden} {914 Puffin Circle} Bourke TX 77535 bevard202@noway1234.com {Mathew Bevard} {5843 Falke Court} Amarillo TX 77193 mooney388@noway1234.com {Richard Mooney} {9539 More Street} Broome TX 77430 wilson559@noway1234.com {Wilson Yoder} {789 Barclay Road} Albany TX 77356 rosco_mooney@noway1234.com {Rosco Mooney} {8401 West 76th Avenue} Broome TX 77277 stone572@noway1234.com {Norman Stone} {8706 Zircon Circle} Centerville TX 77066 roberts200@noway1234.com {Mildred Roberts} {7686 Friendship Lane} Queenstown TX 77322 haskel160@noway1234.com {Haskel Paden} {901 Zaikof Circle} Centerville TX 77783 mont796@noway1234.com {Mont Roberts} {6811 Business Park Boulevard} Launceston TX 77215 humphries@noway1234.com {Humphries TenHulzen} {11070 Bell Circle} OOdnadatta TX 77493 david_cawley@noway1234.com {David Cawley} {1765 East 72nd Avenue} Hamilton TX 77609 coffman797@noway1234.com {Coffman Gibson} {9057 Irene Way} Rockhampton TX 77827 ernst134@noway1234.com {Ernst Hesman} {5703 West 15th Avenue} Amarillo TX 77847 virginia926@noway1234.com {Virginia Swanson} {9962 Piper Street} Queenstown TX 77597 lillie_rauner@noway1234.com {Lillie Rauner} {11913 Coral Road} {Coffs Harbour} TX 77035 anthony_rizor@noway1234.com {Anthony Rizor} {8324 Bellevue Loop} Adelaide TX 77792 viola952@noway1234.com {Viola Witte} {9782 South Circle} {Tennant Creek} TX 77512 bragg869@noway1234.com {Bragg Reiber} {9374 Adams Lane} {Broken Hill} TX 77743 chrastil849@noway1234.com {Ester Chrastil} {8429 Joy Avenue} Independence TX 77674 tish@noway1234.com {Tish Hervey} {9651 Neher Ridge Drive} {Port Hedland} TX 77163 piersol699@noway1234.com {Clifford Piersol} {10446 Wilma Circle} Independence TX 77173 oldfather375@noway1234.com {Brother Oldfather} {6732 Barrington Loop} Independence TX 77709 charlotte14@noway1234.com {Charlotte Hamilton} {4810 Zelma Circle} {San Antonio} TX 77646 lang184@noway1234.com {Donna Lang} {8850 Musket Ball Place} Austin TX 77426 stover415@noway1234.com {Stover Carson} {3807 Madsen's Place} Katy TX 77634 horn361@noway1234.com {Chelsie Horn} {6763 Alder Place} {San Felipe} TX 77134 neeman362@noway1234.com {Keen Neeman} {4210 Cape Circle} Pattison TX 77325 randall826@noway1234.com {Randall Mahar} {1937 Donington Drive} Tamworth TX 77254 alton_mayfield@noway1234.com {Alton Mayfield} {2777 Brothers Avenue} Dallas TX 77980 brent@noway1234.com {Brent Berner} {1212 Danner Avenue} Houston TX 77369 harold957@noway1234.com {Harold Othmer} {3588 Mentra Street} Nacogdoches TX 77343 david625@noway1234.com {David Rohrs} {9483 Sean Circle} Cairns TX 77426 smithers927@noway1234.com {S. Smithers} {7547 Montego Circle} Tamworth TX 77665 vincent691@noway1234.com {Vincent Bevard} {11431 Mayfair Drive} Newcastle TX 77144 wilhelm929@noway1234.com {Juanita Wilhelm} {446 Delong Drive} Brookshire TX 77920 goodrich967@noway1234.com {Marge Goodrich} {369 Shaun Circle} {Port Augusta} TX 77534 kathleen403@noway1234.com {Kathleen Buethe} {8979 Kushtaka Circle} Pattison TX 77874 strickland_gorton@noway1234.com {Strickland Gorton} {1295 Madison Way} {Port Augusta} TX 77826 irene472@noway1234.com {Irene Cummins} {630 Pinebrook Circle} {Port Hedland} TX 77185 sattler120@noway1234.com {Sattler Todter} {7450 East 75th Court} {Broken Hill} TX 77204 mildred951@noway1234.com {Mildred Colton} {2 Upper Sunny Circle} Rockhampton TX 77079 hedgmond_field@noway1234.com {Hedgmond Field} {10884 Kalgin Drive} Monaville TX 77023 brock442@noway1234.com {Rosilia Brock} {6575 Beechcraft Drive} Galveston TX 77127 colluzzi_baucke@noway1234.com {Colluzzi Baucke} {3342 Cheryl Street} Bourke TX 77046 quentin405@noway1234.com {Quentin Mapes} {6804 Fern Lane} Hamilton TX 77318 irene390@noway1234.com {Irene Morris} {5269 Cook Inlet Loop} Amarillo TX 77783 halley314@noway1234.com {Halley Yates} {10686 Ridge Pointe Drive} Dallas TX 77126 mac725@noway1234.com {Mac Baucke} {2978 Iron Mountain Road} Wollongong TX 77452 richard825@noway1234.com {Richard Krause} {600 Dunlap Court} Cairns TX 77012 morris659@noway1234.com {Bernard Morris} {1692 Rhone Street} {Padre Island} TX 77754 arlene379@noway1234.com {Arlene Cummins} {7636 Wandering Lane} {Mount Isa} TX 77519 hayes848@noway1234.com {D. Hayes} {3328 Shelter Rock Circle} Mildura TX 77465 petersen603@noway1234.com {Halene Petersen} {9131 Cleo Avenue} Albury TX 77303 casto733@noway1234.com {Casto Phillips} {5425 Tulane Street} Queenstown TX 77983 sherman436@noway1234.com {Conner Sherman} {3862 Irene Drive} Bourke TX 77724 dancy_goemann@noway1234.com {Dancy Goemann} {5955 Peterkin Avenue} Kema TX 77375 lucy_noudaranouvong@noway1234.com {Lucy Noudaranouvong} {5114 Wildwood Lane} Queenstown TX 77434 rodriques847@noway1234.com {Steam Shovel Rodriques} {9329 Sher Circle} Waco TX 77860 rine837@noway1234.com {Elna Rine} {7362 Lesmer Circle} Rockhampton TX 77976 sybil555@noway1234.com {Sybil Haughton} {5795 Seward Highway} Galveston TX 77058 cooper@noway1234.com {mollohan Cooper} {7110 Windham Way} {Broken Hill} TX 77939 funkhouser37@noway1234.com {Judi Funkhouser} {619 Denson Lane} Austin TX 77139 patsy582@noway1234.com {Patsy Rebuck} {9188 Hampton Green Loop} Austin TX 77376 sears528@noway1234.com {Walker Sears} {2102 Penny Circle} Waco TX 77019 jo_smith@noway1234.com {Jo Smith} {4697 Merganser Circle} Centerville TX 77590 frame_littlejohn@noway1234.com {Frame Littlejohn} {4886 Eris Drive} Queenstown TX 77547 waitman@noway1234.com {Waitman Dorsch} {9522 Columbia Street} Star TX 77465 john184@noway1234.com {John Hahn} {2365 Brittany Drive} Nacogdoches TX 77520 tinney_reilly@noway1234.com {Tinney Reilly} {3604 Brownie Drive} Star TX 77408 w537@noway1234.com {W. Sand} {1263 Clay Products Drive} Newcastle TX 77841 frances_lawrence@noway1234.com {Frances Lawrence} {11761 Wood River Way} Dallas TX 77316 kaster649@noway1234.com {Rhetta Kaster} {7369 Raven Crest Circle} Sunnyville TX 77932 king842@noway1234.com {Holly King} {4565 Country Woods Drive} Broome TX 77750 hupka160@noway1234.com {Merle Hupka} {1149 Gunnison Drive} {Port Hedland} TX 77892 nina57@noway1234.com {Nina Watteyne} {8304 North Eagle River Loop Road} Monaville TX 77671 walker516@noway1234.com {Walker Robison} {4132 Autumn Ridge Circle} {Coober Pedy} TX 77028 hanau141@noway1234.com {Merton Hanau} {11043 Wendy's Way} Galveston TX 77682 triplett21@noway1234.com {Triplett Mercure} {6352 Boulder Bay Circle} Austin TX 77598 ella377@noway1234.com {Ella Somchay} {8592 Cannoneer Circle} Bathurst TX 77613 pella56@noway1234.com {Delia Pella} {709 Starner Street} {Port Hedland} TX 77782 mathis915@noway1234.com {N. Mathis} {2962 Elaine Drive} Pattison TX 77507 alice895@noway1234.com {Alice Holben} {10141 Dorothy Drive} {San Felipe} TX 77678 chelsie279@noway1234.com {Chelsie Chritton} {11651 Falling Water Circle} Hamilton TX 77677 carolene546@noway1234.com {Carolene Miesbach} {8942 Ivy Circle} Amarillo TX 77180 colleen_douglas@noway1234.com {Colleen Douglas} {6242 Lower Tulwar Loop} Rockhampton TX 77374 duane856@noway1234.com {Duane Roberts} {6580 West 48th Avenue} Pattison TX 77550 mccoy181@noway1234.com {Seibert Mccoy} {2549 Kidron Street} Albury TX 77184 borrenpohl774@noway1234.com {Lee Borrenpohl} {1428 Laurel Street} Newcastle TX 77898 levi691@noway1234.com {Levi Packett} {1150 Third Street} {Tennant Creek} TX 77633 lucille163@noway1234.com {Lucille Taylor} {7932 Megeve Road} Bathurst TX 77922 glasson586@noway1234.com {Sharon Glasson} {5860 Mc Carthy Street} Albany TX 77488 dollarhide195@noway1234.com {Punk Dollarhide} {11900 Boeing Lane} Ketherine TX 77923 rohmeyer636@noway1234.com {Henry Rohmeyer} {2947 Prator Street} Tamworth TX 77115 jewell50@noway1234.com {Peck Jewell} {11717 Slalom Drive} Bathurst TX 77576 fawn_hagelback@noway1234.com {Fawn Hagelback} {11545 Driftwood Street} Newcastle TX 77553 cary968@noway1234.com {Darnell Cary} {8276 Republic Circle} Bendigo TX 77359 marie187@noway1234.com {Marie Wolken} {8237 West 17th Avenue} Cairns TX 77229 jon@noway1234.com {Jon Kerchal} {9280 Songbird Drive} {Coober Pedy} TX 77094 goff_schultz@noway1234.com {Goff Schultz} {2616 Grange Drive} Cairns TX 77314 freddie_mapes@noway1234.com {Freddie Mapes} {2737 Teresa Circle} Eucla TX 77628 ardie604@noway1234.com {Ardie Kaster} {11814 Oak Knoll Drive} Albany TX 77697 mccourtney181@noway1234.com {Dawson McCourtney} {11220 Camino Place} {Coober Pedy} TX 77935 arnold515@noway1234.com {Bud Arnold} {9142 Denise Drive} Rockhampton TX 77489 prussia_rothell@noway1234.com {Prussia Rothell} {2366 Conifer Street} Centerville TX 77464 dieckhoff588@noway1234.com {Hollis Dieckhoff} {8322 Benty Drive} Brookshire TX 77257 annie_knox@noway1234.com {Annie Knox} {362 Rendezvous Circle} {Mount Isa} TX 77421 woodrow_bicknell@noway1234.com {Woodrow Bicknell} {7509 Whitby Circle} Burnie TX 77157 b744@noway1234.com {B. Hasselbalch} {10536 Dawn Street} Albury TX 77654 lyle_searcey@noway1234.com {Lyle Searcey} {2501 Emerald Circle} {Mount Gambier} TX 77701 anna841@noway1234.com {Anna Mason} {490 Mc Cready Circle} Burnie TX 77422 ester_young@noway1234.com {Ester Young} {10748 Kutcher Drive} Galveston TX 77762 hamilton752@noway1234.com {Hamilton Armknecht} {11271 West 71st Circle} {Port Augusta} TX 77712 mahetable812@noway1234.com {Mahetable Mcalexander} {5505 Malcolm Drive} Broome TX 77306 puchalla@noway1234.com {Darrell Puchalla} {5937 Ridd Circle} Austin TX 77842 lilly_senesourinh@noway1234.com {Lilly Senesourinh} {10131 Brittany Drive} Dallas TX 77937 vance135@noway1234.com {Vance Parrish} {6032 Marge Court} Waco TX 77745 abbie290@noway1234.com {Abbie Grove} {6885 Kasilof Boulevard} Waco TX 77596 gaylene988@noway1234.com {Gaylene Anderson} {3602 Newhaven Loop} Bendigo TX 77933 a5@noway1234.com {A. Goosman} {4806 Blue Bell} {Padre Island} TX 77065 maggie54@noway1234.com {Maggie Hershberger} {7654 Rebecca Circle} {Coober Pedy} TX 77426 stone254@noway1234.com {Howard Stone} {1102 Shadetree Circle} Bendigo TX 77868 carte_lofgren@noway1234.com {Carte Lofgren} {2455 Rankin Road} Waco TX 77156 flora_sand@noway1234.com {Flora Sand} {7460 Hemlock Circle} Wollongong TX 77703 aimee@noway1234.com {Aimee Osterthun} {4332 Thuja Circle} Queenstown TX 77186 dominic212@noway1234.com {Dominic Sedersten} {11202 Heavenly Circle} Kema TX 77806 gill388@noway1234.com {Gill Luck} {205 Spenard Road} Wollongong TX 77587 christopher849@noway1234.com {Christopher Morse} {6659 Summerset Drive} Hamilton TX 77486 ford739@noway1234.com {Bonnie Ford} {9220 Foxridge Way} Launceston TX 77068 garnet663@noway1234.com {Garnet Triplett} {8220 Audubon Circle} Houston TX 77214 carsel994@noway1234.com {Carsel Miller} {6014 Hyder Street} {Port Hedland} TX 77557 allan_zager@noway1234.com {Allan Zager} {10825 North Lane Street} {Port Hedland} TX 77077 sharkey@noway1234.com {Sharkey Hupka} {7678 Zermatt Avenue} Star TX 77138 urich401@noway1234.com {Cecilia Urich} {2712 Deerfield Drive} OOdnadatta TX 77506 pella754@noway1234.com {Della Pella} {5412 Upper Tulwar Loop} Adelaide TX 77413 morrison75@noway1234.com {J. Morrison} {2843 Specking Avenue} Galveston TX 77603 dorthea_vance@noway1234.com {Dorthea Vance} {429 Katalla Circle} {San Felipe} TX 77221 rauner221@noway1234.com {Allen Rauner} {11841 West 78th Avenue} Tamworth TX 77565 deloris_douglas@noway1234.com {Deloris Douglas} {11673 Tundra Loop Drive} Independence TX 77315 verna_lott@noway1234.com {Verna Lott} {11070 Back Road} Dallas TX 77767 pat227@noway1234.com {Pat Sayakhoummane} {7033 Terrace Street} Independence TX 77456 mccoy869@noway1234.com {Hazel McCoy} {865 Rakof Avenue} Nacogdoches TX 77937 henry_ruby@noway1234.com {Henry Ruby} {1930 Hillandale Avenue} Bathurst TX 77198 young953@noway1234.com {Lloyd Young} {75 Golovin Street} Kema TX 77303 justine@noway1234.com {Justine Armknecht} {2918 Bonnielaine Road} Eucla TX 77352 bengtsson849@noway1234.com {Griffith Bengtsson} {7462 Thunderbird Place} Rockhampton TX 77139 durst984@noway1234.com {George Durst} {2052 Ferndale Street} Katy TX 77117 soumpholphakdy76@noway1234.com {Jack Soumpholphakdy} {10546 Checkmate Court} Launceston TX 77767 dottie229@noway1234.com {Dottie Kuhl} {7374 Ressel Avenue} {Mount Gambier} TX 77396 robison962@noway1234.com {Dell Robison} {5521 Lois Drive} Wollongong TX 77472 edgar_bischoff@noway1234.com {Edgar Bischoff} {3194 Dandelion Wine Circle} Galveston TX 77522 harold615@noway1234.com {Harold Speckmann} {2162 Carmel Circle} Bendigo TX 77504 wanda_bray@noway1234.com {Wanda Bray} {10867 Draco Drive} Star TX 77720 patronia_robinson@noway1234.com {Patronia Robinson} {1078 View Heights Way} {Broken Hill} TX 77042 frame_steinauer@noway1234.com {Frame Steinauer} {7180 Parkside Circle} {Port Augusta} TX 77395 tinnel_schafer@noway1234.com {Tinnel Schafer} {11896 Knight's Way} {Mount Gambier} TX 77853 hartley341@noway1234.com {Hartley Shuey} {9020 Noak Circle} {San Antonio} TX 77422 snow439@noway1234.com {Young Snow} {3911 Saint Ives Place} Brookshire TX 77932 roena654@noway1234.com {Roena Humann} {1314 Carroll Lane} Broome TX 77027 gaylene749@noway1234.com {Gaylene Lawrence} {319 Brandon Street} {San Felipe} TX 77539 kunzman140@noway1234.com {Eunice Kunzman} {203 Diomede Street} Katy TX 77048 sorensen568@noway1234.com {Ocie Sorensen} {7970 Hunterwood Lane} Brookshire TX 77800 hendee374@noway1234.com {Wilson Hendee} {8643 Eastbrook Drive} Centerville TX 77083 florida@noway1234.com {Florida Dwinell} {4981 Karluk Street} Monaville TX 77190 emily779@noway1234.com {Emily Britt} {3480 Whisper Knoll Circle} Eucla TX 77448 kaufman922@noway1234.com {hamrick Kaufman} {8512 Young Drive} Austin TX 77554 cox966@noway1234.com {Irne Cox} {7882 Denali Street} Albury TX 77065 fricke728@noway1234.com {Flora Fricke} {2644 Brook Hill Court} Eucla TX 77156 buck569@noway1234.com {Buck Stinson} {915 Kester Circle} Houston TX 77846 maxine714@noway1234.com {Maxine Stauffer} {2639 Seawind Drive} Bathurst TX 77801 walker642@noway1234.com {Walker Shaffer} {8629 Stemp Circle} Eucla TX 77847 crook874@noway1234.com {Crook Lott} {5182 Midden Way} Wollongong TX 77721 stettenbenz514@noway1234.com {Becky Stettenbenz} {1973 Tranquillity Loop} Adelaide TX 77840 j_e583@noway1234.com {J.E. Wendell} {3031 North Klatt Road} {Tennant Creek} TX 77826 fuller520@noway1234.com {Vaden Fuller} {8297 Salem Street} Townsville TX 77342 ruth_devorss@noway1234.com {Ruth DeVorss} {7926 Garland Circle} Austin TX 77535 lynette807@noway1234.com {Lynette Neeman} {9469 Juneau Street} Newcastle TX 77864 rieken@noway1234.com {Collison Rieken} {6419 Spalding Circle} Launceston TX 77220 neemann93@noway1234.com {Billy Neemann} {10563 Falklands Loop} Katy TX 77992 virginia_riensche@noway1234.com {Virginia Riensche} {4052 East 12th Avenue} Bendigo TX 77426 bates999@noway1234.com {Gibson Bates} {2711 Blackstone Circle} Hamilton TX 77153 runion734@noway1234.com {Runion Wherry} {4783 Hutson Drive} Bendigo TX 77983 reschke85@noway1234.com {Ulysses Reschke} {11155 Seton Circle} Ketherine TX 77255 lillian690@noway1234.com {Lillian Sorensen} {6335 Homestead Trail} Cairns TX 77649 rebecca321@noway1234.com {Rebecca McCourtney} {6538 Stratton Circle} Dallas TX 77676 barnette671@noway1234.com {Barnette Morrissey} {1134 Pauline Street} Dallas TX 77051 bessie251@noway1234.com {Bessie Harrington} {418 Sorbus Way} Amarillo TX 77964 durman236@noway1234.com {Junior Durman} {1451 Sunset View Circle} {Port Augusta} TX 77086 violet_khanthasene@noway1234.com {Violet Khanthasene} {1474 Lotus Drive} Ketherine TX 77022 kind_miner@noway1234.com {Kind Miner} {8525 Zaikof Circle} {Port Augusta} TX 77086 goodrich460@noway1234.com {Maryln Goodrich} {5284 Klutina Circle} Katy TX 77500 shelby_lang@noway1234.com {Shelby Lang} {1887 South Tahiti Loop} Katy TX 77723 daisy877@noway1234.com {Daisy Johnson} {162 Sheltie Avenue} Nacogdoches TX 77925 nicholas_tenhulzen@noway1234.com {Nicholas TenHulzen} {11005 Ondola Circle} Monaville TX 77752 dow_kage@noway1234.com {Dow Kage} {3114 Eastside Drive} Eucla TX 77796 freddie_gibson@noway1234.com {Freddie Gibson} {2926 Artillery Road} Centerville TX 77446 anna_mccain@noway1234.com {Anna McCain} {2863 Lower Cranberry Drive} OOdnadatta TX 77883 chritton619@noway1234.com {Kitzmiller Chritton} {9038 Ramona Street} Brookshire TX 77668 stone299@noway1234.com {Ramsey Stone} {389 Mount Vernon Court} Waco TX 77642 patton@noway1234.com {Patton Reed} {10739 O'malley Centre Drive} Ketherine TX 77345 effie_waring@noway1234.com {Effie Waring} {5971 Tahoe Road} Ketherine TX 77073 craig947@noway1234.com {Dencil Craig} {1283 Bluegrass Circle} {Coffs Harbour} TX 77161 dodrill312@noway1234.com {Dodrill Bauers} {1371 Sikorsky Avenue} {Port Hedland} TX 77449 kent322@noway1234.com {Clark Kent} {11819 Arboretum Street} {Tennant Creek} TX 77884 lane39@noway1234.com {Lane Kerr} {5217 Poniard Drive} Centerville TX 77558 spence500@noway1234.com {Rosie Spence} {4376 Concourse Street} Eucla TX 77972 dr686@noway1234.com {Dr. Gobber} {9852 Lee Street} Independence TX 77150 policeman429@noway1234.com {policeman Horstman} {2287 Big Sky Drive} OOdnadatta TX 77406 aufdenkamp202@noway1234.com {Willis Aufdenkamp} {9543 Park Place} Ketherine TX 77189 humann477@noway1234.com {Juanita Humann} {3019 West 34th Avenue} Independence TX 77530 cerita@noway1234.com {Cerita Phillips} {2777 Mountain Point Drive} Adelaide TX 77246 credis_urich@noway1234.com {Credis Urich} {9590 Hidden Retreat Place} Bathurst TX 77156 walter332@noway1234.com {Walter Lueders} {3154 Button Circle} Eucla TX 77981 allen387@noway1234.com {W.A. Allen} {9971 Yorktown Circle} Albany TX 77637 pauline_stitt@noway1234.com {Pauline Stitt} {3277 Dunkirk Drive} Broome TX 77992 buck_leahy@noway1234.com {Buck Leahy} {2434 Suncatcher Court} Newcastle TX 77698 adkins559@noway1234.com {Adkins Hendee} {1660 Pago Pago Avenue} Adelaide TX 77227 dirk682@noway1234.com {Dirk Piersol} {937 West 88th Avenue} Dallas TX 77007 hamer628@noway1234.com {Bernadine Hamer} {685 Cope Street} Bendigo TX 77689 olsen258@noway1234.com {Molly Olsen} {4388 Cannoneer Circle} OOdnadatta TX 77550 leuenberger205@noway1234.com {Delma Leuenberger} {6439 California Creek Way} Independence TX 77793 deane209@noway1234.com {Deane Weyers} {6503 Staysail Drive} Bathurst TX 77259 martha893@noway1234.com {Martha Wilhelm} {5904 Klondike Court} Bourke TX 77484 martin698@noway1234.com {Martin Van} {8332 Corona Circle} Albany TX 77936 reba@noway1234.com {Reba Brommer} {83 Cloverleaf Road} Albury TX 77581 radie948@noway1234.com {Radie Rothell} {8762 Adak Circle} Rockhampton TX 77752 polson907@noway1234.com {Jimmie Polson} {6602 Conley Avenue} Independence TX 77915 otha359@noway1234.com {Otha Woltemath} {7917 Mills Bay Drive} {Broken Hill} TX 77908 thurber230@noway1234.com {Lynette Thurber} {5114 Palos Verdes Circle} Nacogdoches TX 77427 felix576@noway1234.com {Felix Holmstrom} {3724 Log Cabin Circle} Houston TX 77928 vrbka687@noway1234.com {Red Vrbka} {1821 Bree Avenue} Houston TX 77656 robinson539@noway1234.com {Rene Robinson} {8311 Chenoweth Street} {Port Augusta} TX 77819 wanda114@noway1234.com {Wanda Steinmeyer} {2213 Magnaview Drive} Cairns TX 77597 policeman_mommens@noway1234.com {policeman Mommens} {707 Frank Street} Broome TX 77095 wilbur_anderson@noway1234.com {Wilbur Anderson} {9275 Stewart Mountain Drive} Adelaide TX 77256 pooch@noway1234.com {Doc Pooch} {3537 Hunt Avenue} Albany TX 77376 lorene_allen@noway1234.com {Lorene Allen} {8100 Tamarack Street} Albury TX 77736 bernard626@noway1234.com {Bernard Pettinger} {2455 Campbell Place} {Alice Springs} TX 77453 hunt_malone@noway1234.com {Hunt Malone} {9132 Boulder Circle} {Coober Pedy} TX 77440 patrica_vrbka@noway1234.com {Patrica Vrbka} {11395 Bern Street} {Padre Island} TX 77969 malcolm832@noway1234.com {Malcolm Rowland} {3455 Beverly Drive} Adelaide TX 77810 wellensiek606@noway1234.com {Biddie Wellensiek} {9325 Borland Drive} Houston TX 77556 pauline155@noway1234.com {Pauline Dills} {5179 Connie Court} Albury TX 77596 ester467@noway1234.com {Ester Ramsey} {3789 C Street} {Port Augusta} TX 77846 sapp312@noway1234.com {Martha Sapp} {7290 Spurr Lane} Katy TX 77502 gail_stordahl@noway1234.com {Gail Stordahl} {6586 Tay Circle} Launceston TX 77456 homer57@noway1234.com {Perry Homer} {5599 Tahoe Drive} {Port Augusta} TX 77406 osterthun816@noway1234.com {hamrick Osterthun} {1231 Sturbridge Court} {Port Augusta} TX 77293 vongsaly911@noway1234.com {Barb Vongsaly} {7876 West 97th Avenue} Burnie TX 77068 eulah755@noway1234.com {Eulah Dahl} {9291 Valley Street} Monaville TX 77617 lou_dumitru@noway1234.com {Lou Dumitru} {6779 Danny Drive} Nacogdoches TX 77523 c_e@noway1234.com {C.E. Dwinell} {5698 Valley Vista Circle} Waco TX 77710 coretta494@noway1234.com {Coretta Earhart} {11738 Jade Street} {Broken Hill} TX 77927 milton_huttenmeyer@noway1234.com {Milton Huttenmeyer} {4927 Brooks Drive} Queenstown TX 77364 phommachan246@noway1234.com {Rayburn Phommachan} {6499 Woodcutter Court} Dallas TX 77966 dump358@noway1234.com {Dump Dillaplain} {8003 Kingfisher Drive} Bathurst TX 77372 spencer91@noway1234.com {Spencer Scott} {7856 Pitcairn Avenue} Launceston TX 77554 levi_fox@noway1234.com {Levi Fox} {10699 Knowles Circle} {San Felipe} TX 77656 mattheis160@noway1234.com {Irvin Mattheis} {10476 West 80th Avenue} Bendigo TX 77385 suhr632@noway1234.com {Louis Suhr} {11830 Iron Mountain Road} Wollongong TX 77358 susan762@noway1234.com {Susan Branting} {11689 Stuart Circle} {Port Hedland} TX 77195 hood511@noway1234.com {Charlene Hood} {1374 Fenwick Circle} {Broken Hill} TX 77877 esser11@noway1234.com {Ramonia Esser} {8235 Woodbourne Circle} {San Antonio} TX 77318 ward308@noway1234.com {Ward Triplett} {8509 Frigate Circle} Houston TX 77346 rademacher869@noway1234.com {Wib Rademacher} {4380 East 42nd Court} Independence TX 77962 gregory_wenzel@noway1234.com {Gregory Wenzel} {6194 Ray Street} {San Antonio} TX 77507 ossian247@noway1234.com {K. Ossian} {2169 Broadwater Drive} Pattison TX 77367 orville572@noway1234.com {Orville Christen} {2878 Banjo Circle} Cairns TX 77255 jasper_smith@noway1234.com {Jasper Smith} {4450 Turnagain Boulevard} Bendigo TX 77991 w_c514@noway1234.com {W.C. Hays} {7429 Nunivak Circle} Cairns TX 77552 vonnie369@noway1234.com {Vonnie Horstman} {5870 Citadel Lane} Sunnyville TX 77416 bohling@noway1234.com {Hickman Bohling} {7091 Stowe Circle} Katy TX 77727 richard136@noway1234.com {Richard Mccoy} {8821 East Stonehill Drive} Austin TX 77534 silas_topp@noway1234.com {Silas Topp} {6814 Wood River Way} {Padre Island} TX 77091 rush484@noway1234.com {Rush Brott} {1858 Mallard Court} Ketherine TX 77533 michl227@noway1234.com {R. Michl} {6123 Brandl Street} Albury TX 77620 lacey137@noway1234.com {Osbome Lacey} {9128 Bradford Drive} Ketherine TX 77121 lillie_glasson@noway1234.com {Lillie Glasson} {9815 Snowshoe Lane} {Tennant Creek} TX 77747 mandery98@noway1234.com {Moss Mandery} {4787 Honey Bear Lane} Burnie TX 77493 evans637@noway1234.com {King Evans} {1227 Maria Court} {Port Augusta} TX 77527 hazel610@noway1234.com {Hazel Vrbka} {1767 North Flower Street} Broome TX 77068 dufield_gates@noway1234.com {Dufield Gates} {9841 Morphy Court} Ketherine TX 77611 ramsey338@noway1234.com {Ramsey Aden} {3072 Lake Otis Parkway} Galveston TX 77992 rapp_harrah@noway1234.com {Rapp Harrah} {1207 Mountainside Village Drive} Waco TX 77606 krause721@noway1234.com {Kae Krause} {529 Springer Street} Ketherine TX 77327 marcia@noway1234.com {Marcia Rickman} {9397 Hidden Point Loop} {Coober Pedy} TX 77488 knox277@noway1234.com {Ruby Knox} {2632 Twolots Circle} Kema TX 77606 rathe676@noway1234.com {Dorthea Rathe} {691 Nancy Street} Townsville TX 77245 verna849@noway1234.com {Verna Stitt} {8037 Papago Place} {Port Hedland} TX 77370 buck582@noway1234.com {Buck Logsdon} {6982 Hollow Street} Kema TX 77088 morrow241@noway1234.com {Morrow Miesbach} {7245 Business Boulevard} Kema TX 77051 carsel81@noway1234.com {Carsel Krontz} {6428 Laughlin Street} Burnie TX 77068 ruter816@noway1234.com {Denice Ruter} {5463 East 150th Avenue} Broome TX 77648 peggy250@noway1234.com {Peggy McAlexander} {10554 Fairwood Circle} Bendigo TX 77808 mildred_rowe@noway1234.com {Mildred Rowe} {2804 Crow Berry Circle} Amarillo TX 77413 williams151@noway1234.com {William Williams} {3318 Tammy Avenue} Queenstown TX 77372 c_p@noway1234.com {C.P. Todter} {3705 Brittany Place} OOdnadatta TX 77659 nealy254@noway1234.com {Nealy Geweke} {5787 Randamar Place} Katy TX 77301 shorty@noway1234.com {Shorty Kaster} {10504 Bluebell Drive} Newcastle TX 77947 winkle480@noway1234.com {Aimee Winkle} {7488 Honey Bear Circle} Ketherine TX 77540 mclaughlin161@noway1234.com {Holland McLaughlin} {10402 Corps Circle} {Mount Isa} TX 77008 lempke53@noway1234.com {Bulah Lempke} {6410 Diomede Street} Austin TX 77150 alice_logsdon@noway1234.com {Alice Logsdon} {10342 Mars Drive} Star TX 77353 delorsis_morse@noway1234.com {Delorsis Morse} {2082 West Harvard Avenue} Queenstown TX 77752 rosakrans627@noway1234.com {H. Rosakrans} {2680 Price Street} Galveston TX 77123 sheryl203@noway1234.com {Sheryl Phillips} {9174 Sagan Circle} Albury TX 77797 vickie976@noway1234.com {Vickie Haney} {10497 Osborn Street} Wollongong TX 77643 janet_stangel@noway1234.com {Janet Stangel} {4001 Klutina Circle} Cairns TX 77646 piersol771@noway1234.com {Pauline Piersol} {10149 Falcon Circle} {Mount Gambier} TX 77248 foster512@noway1234.com {Foster Driskell} {2657 Lancaster Drive} Queenstown TX 77395 brent720@noway1234.com {Brent Tagart} {8967 Bragaw Street} {Coober Pedy} TX 77703 wanda467@noway1234.com {Wanda Neemann} {11572 Merle Circle} Queenstown TX 77367 anderson16@noway1234.com {Vaughn Anderson} {8444 West 86th Court} Adelaide TX 77279 sue635@noway1234.com {Sue Paden} {7963 Copper Drive} Bourke TX 77095 h_j_helm@noway1234.com {H.J. Helm} {5061 East 10th Circle} Launceston TX 77565 goings481@noway1234.com {Hubert Goings} {1129 Rosebud Row Avenue} {Coober Pedy} TX 77374 scott126@noway1234.com {Myrtle Scott} {7437 East Bluff Drive} Bendigo TX 77791 bailey_stangel@noway1234.com {Bailey Stangel} {7790 Hiland Road} Bendigo TX 77650 faye50@noway1234.com {Faye Thies} {9051 Atwood Drive} Centerville TX 77482 trossie_gates@noway1234.com {Trossie Gates} {1700 Agattu Circle} Eucla TX 77427 c36@noway1234.com {C. Riensche} {2736 Weimer Drive} Queenstown TX 77485 elma@noway1234.com {Elma Packwood} {2978 Bristol Drive} {Port Augusta} TX 77889 vaughn_winkle@noway1234.com {Vaughn Winkle} {290 Beaufort Street} {Mount Gambier} TX 77211 ball@noway1234.com {Ball Polson} {995 Armstrong Lane} OOdnadatta TX 77249 norris372@noway1234.com {Norris Philippi} {3814 Johns Road} Brookshire TX 77153 johnson693@noway1234.com {Johnson Sayakhoummane} {6927 Stargate Circle} Albury TX 77126 suflonia_stettenbenz@noway1234.com {Suflonia Stettenbenz} {2273 Maple Avenue} {Broken Hill} TX 77731 ruter104@noway1234.com {Mardell Ruter} {6146 Zermatt Circle} Rockhampton TX 77110 hasselbalch705@noway1234.com {Prussia Hasselbalch} {11333 Mc Cabe Circle} {Mount Isa} TX 77370 daphene@noway1234.com {Daphene Raney} {9869 Songbird Drive} {Tennant Creek} TX 77047 seawall20@noway1234.com {W. Seawall} {3566 Stanford Circle} Brookshire TX 77800 lorraine@noway1234.com {Lorraine Gibson} {10904 Potter Creek Circle} Rockhampton TX 77376 anton327@noway1234.com {Anton Brammann} {5263 Esquire Drive} {Alice Springs} TX 77034 melvina142@noway1234.com {Melvina Rauner} {158 East 46th Court} Galveston TX 77954 annabelle@noway1234.com {Annabelle Borrenphol} {2110 Songbird Drive} Tamworth TX 77447 emerson@noway1234.com {Emerson Bauers} {6781 Tall Spruce Drive} {Port Hedland} TX 77690 ronnie356@noway1234.com {Ronnie Laue} {10877 Basher Drive} OOdnadatta TX 77015 zelma711@noway1234.com {Zelma Borrenphol} {6989 Whispering Birch Drive} {Padre Island} TX 77962 nick801@noway1234.com {Nick Thom} {11739 Lisa Court} Centerville TX 77068 hen@noway1234.com {Hen Phommachack} {10112 Sagwon Avenue} Rockhampton TX 77920 ida448@noway1234.com {Ida Leuder} {9697 Leah Court} Galveston TX 77528 christine@noway1234.com {Christine Horner} {8997 East 101st Avenue} Rockhampton TX 77908 snowden82@noway1234.com {Dorthy Snowden} {5871 Jerry Avenue} Albury TX 77007 gill_feurer@noway1234.com {Gill Feurer} {6963 Parksville Drive} OOdnadatta TX 77741 mary901@noway1234.com {Mary Kaster} {8654 Zarvis Place} Sunnyville TX 77289 murrill@noway1234.com {Murrill McLaughlin} {11996 West 36th Avenue} Monaville TX 77878 lintz763@noway1234.com {Lillie Lintz} {4589 Eagle River Lane} Queenstown TX 77952 crane291@noway1234.com {Patsi Crane} {6940 Dylan Drive} {Mount Gambier} TX 77456 mac676@noway1234.com {Mac Gieser} {413 Mc Kinley Avenue} Nacogdoches TX 77045 staley752@noway1234.com {Scott Staley} {10307 Prince William Circle} Mildura TX 77459 finke458@noway1234.com {Young Finke} {9288 Connors Trail Circle} {Alice Springs} TX 77942 field_mattox@noway1234.com {Field Mattox} {10664 Cleo Avenue} Brookshire TX 77823 wilford@noway1234.com {Wilford Brommer} {4932 Old Lake Otis Parkway} Nacogdoches TX 77019 worthy@noway1234.com {Worthy Mason} {7741 Botanical Circle} Bendigo TX 77784 clarine@noway1234.com {Clarine Richard} {252 Tieszen Avenue} {Mount Gambier} TX 77389 orvin813@noway1234.com {Orvin Piersol} {11397 North Star Street} Houston TX 77832 samples_zellmer@noway1234.com {Samples Zellmer} {4462 Burlwood Street} {Alice Springs} TX 77041 naber587@noway1234.com {Mildred Naber} {7630 Riddell Circle} Houston TX 77178 lempke243@noway1234.com {Annabelle Lempke} {7594 Seachant Circle} {Port Hedland} TX 77695 everett_oestmann@noway1234.com {Everett Oestmann} {2842 East 54th Court} Cairns TX 77584 goemann838@noway1234.com {H.H. Goemann} {11477 Doroshin Avenue} Independence TX 77062 beverly@noway1234.com {Beverly Tejral} {11589 Solarset Circle} OOdnadatta TX 77000 stahl445@noway1234.com {Judy Stahl} {7692 Quail Circle} Burnie TX 77750 lacey779@noway1234.com {Emerald Lacey} {4082 Hidden Retreat Place} {Alice Springs} TX 77577 hothan589@noway1234.com {Carole Hothan} {11053 Park Hills Drive} {Coffs Harbour} TX 77949 woods596@noway1234.com {woods Carpenter} {9041 Chapel Circle} {Mount Gambier} TX 77024 granny_goemann@noway1234.com {Granny Goemann} {2354 Hidden Retreat Place} {San Antonio} TX 77706 kuhl154@noway1234.com {Rae Kuhl} {7378 Natrona Avenue} Sunnyville TX 77663 bill726@noway1234.com {Bill Harman} {3785 Thuja Circle} Houston TX 77763 buethe16@noway1234.com {Nealie Buethe} {2249 Nancy Circle} Mildura TX 77779 harman629@noway1234.com {Hale Harman} {5490 Jensen Circle} {Tennant Creek} TX 77458 hazle239@noway1234.com {Hazle Pooch} {2158 San Ernesto Avenue} Waco TX 77785 carter185@noway1234.com {Bird-Legs Carter} {2764 Inlet Vista Drive} {Coffs Harbour} TX 77118 thelma427@noway1234.com {Thelma Zillig} {2694 All Star Circle} Wollongong TX 77275 murrill26@noway1234.com {Murrill Schafer} {11170 Log Cabin Circle} {Alice Springs} TX 77096 brown775@noway1234.com {Olive Brown} {2007 Wandering Drive} Kema TX 77619 junie915@noway1234.com {Junie Schmidt} {9258 Keri Court} Kema TX 77929 william_osterthun@noway1234.com {William Osterthun} {6316 Cody Court} {Tennant Creek} TX 77033 jay231@noway1234.com {Jay Othmer} {2787 East 80th Avenue} Austin TX 77694 winnie_sapp@noway1234.com {Winnie Sapp} {7793 Covington Court} {Mount Isa} TX 77755 lempke136@noway1234.com {Gregg Lempke} {5440 Finland Street} Albany TX 77186 stangel749@noway1234.com {Mae Stangel} {727 Clark's Road} Katy TX 77174 bennett420@noway1234.com {Ashley Bennett} {8474 Lindblad Avenue} Bourke TX 77437 skip_mandery@noway1234.com {Skip Mandery} {8725 Mountain Lake Drive} Houston TX 77203 wright881@noway1234.com {Glendora Wright} {27 Lost Circle} {Port Augusta} TX 77292 wilbert_pope@noway1234.com {Wilbert Pope} {2185 Loudermilk Circle} Eucla TX 77383 jerome69@noway1234.com {Jerome Finn} {2844 De Armoun Road} {Port Hedland} TX 77612 basil_nielsen@noway1234.com {Basil Nielsen} {4430 Bravo Circle} Star TX 77317 virginia26@noway1234.com {Virginia Stover} {6163 Birch Run Circle} Hamilton TX 77463 barden277@noway1234.com {Nora Barden} {7362 Talon Circle} Brookshire TX 77316 vaughn_bevard@noway1234.com {Vaughn Bevard} {8376 Bering Street} Monaville TX 77423 cottrill_ensor@noway1234.com {Cottrill Ensor} {5537 Laird Circle} Mildura TX 77372 max@noway1234.com {Max Behrends} {6562 Alder Place} {Mount Gambier} TX 77097 paul842@noway1234.com {Paul Mommens} {3070 Ashley Park Lane} Cairns TX 77396 anthony912@noway1234.com {Anthony Ruter} {4338 Town And Country Place} {Broken Hill} TX 77672 rome806@noway1234.com {Rome Christen} {11022 Standish Street} Katy TX 77716 enna@noway1234.com {Enna Vongsaly} {7349 Samuel Court} Burnie TX 77379 laug640@noway1234.com {Presley Laug} {10685 Hyder Street} {Coober Pedy} TX 77832 reed623@noway1234.com {Noralea Reed} {354 Cape Seville Drive} Ketherine TX 77169 wilfong532@noway1234.com {Wilfong Hagelback} {11308 Revere Circle} Cairns TX 77702 loren243@noway1234.com {Loren Dollarhide} {10535 South Creek Road} {San Antonio} TX 77418 jiies@noway1234.com {Jiies LaFrance} {9048 South Lowrie Loop} Queenstown TX 77288 jerome709@noway1234.com {Jerome Stephens} {315 Little Dipper Avenue} Queenstown TX 77941 buster_peterson@noway1234.com {Buster Peterson} {7371 Yorkshire Lane} Mildura TX 77011 lavern@noway1234.com {Lavern Bicknell} {4751 Irene Way} Mildura TX 77789 dirk976@noway1234.com {Dirk Quinn} {333 Rodeo Circle} Star TX 77659 h_a689@noway1234.com {H.A DeLong} {5188 Laughlin Street} Galveston TX 77604 mildred893@noway1234.com {Mildred Davis} {5645 West 6th Avenue} Bourke TX 77163 carte389@noway1234.com {Carte Bomar} {5467 Cobblestone Hill Road} Burnie TX 77551 mike636@noway1234.com {Mike Kroll} {9658 Sweetgale Court} {Alice Springs} TX 77297 mont485@noway1234.com {Mont Shuey} {6474 Winners Circle} Star TX 77355 giittinger208@noway1234.com {Tammy Giittinger} {2971 Fiji Street} {Mount Gambier} TX 77933 riensche840@noway1234.com {Betsy Riensche} {10173 Waters Drive} {Mount Isa} TX 77343 jenny602@noway1234.com {Jenny Anderson} {5352 Birch Lane} Eucla TX 77310 zillig746@noway1234.com {Eleanor Zillig} {6756 J-k Lane} Albury TX 77318 lohmeier629@noway1234.com {Prussia Lohmeier} {1074 Norm Drive} Bathurst TX 77506 bessie371@noway1234.com {Bessie Scholl} {7597 Westminster Way} Launceston TX 77050 douglas298@noway1234.com {Douglas Schroder} {10881 Road's End Circle} Hamilton TX 77650 henry272@noway1234.com {Henry Polson} {6487 Ronald Place} Bathurst TX 77137 lorenza813@noway1234.com {Lorenza Barden} {7327 Cove Circle} Newcastle TX 77872 grace983@noway1234.com {Grace Rader} {11314 Short Street} Nacogdoches TX 77091 rodriques22@noway1234.com {A. Rodriques} {3749 Fountain Drive} Newcastle TX 77856 houmann321@noway1234.com {Dr. Houmann} {11819 Susitna View Court} Independence TX 77186 ham283@noway1234.com {Evert Ham} {9845 East 30th Avenue} Pattison TX 77467 bailey236@noway1234.com {Jiies Bailey} {7231 Larisa Street} Sunnyville TX 77788 horner814@noway1234.com {Wink Horner} {5148 Lake O' The Hills Circle} {Coober Pedy} TX 77102 piersol16@noway1234.com {Huck Piersol} {8929 Galleon Circle} Katy TX 77760 d419@noway1234.com {D. Lacey} {10878 Compass Circle} {Mount Isa} TX 77390 mancil559@noway1234.com {Mancil Lueders} {8844 W Street} Waco TX 77452 baum34@noway1234.com {Baum Behrends} {7651 East 151st Avenue} {Mount Isa} TX 77369 rollyson_krontz@noway1234.com {Rollyson Krontz} {10217 Vine Avenue} Albury TX 77376 clark156@noway1234.com {Nona Clark} {3339 Rushwood Circle} {Port Hedland} TX 77400 lock953@noway1234.com {Rapp Lock} {4768 Fredricks Drive} Star TX 77611 zelma_urich@noway1234.com {Zelma Urich} {3882 Diomede Street} Townsville TX 77522 mcculla872@noway1234.com {Patsi Mcculla} {7067 Portage Circle} Albury TX 77869 lintz546@noway1234.com {Margaret Lintz} {2801 Goose Lake Drive} Townsville TX 77540 wilfong111@noway1234.com {Wilfong Vance} {2533 Reata Drive} Waco TX 77598 reuginia@noway1234.com {Reuginia Knippelmeyer} {1698 West Northern Lights Boulevard} Queenstown TX 77812 richardson_bray@noway1234.com {Richardson Bray} {4542 Chisik Circle} Newcastle TX 77266 carolyn111@noway1234.com {Carolyn Davis} {6508 Roger Drive} Townsville TX 77621 t91@noway1234.com {T. Hahn} {2012 Oneill Lane} Tamworth TX 77051 mccoy857@noway1234.com {April Mccoy} {11804 Bentree Circle} Pattison TX 77327 conradt316@noway1234.com {Bernard Conradt} {2229 Spruce Crest Drive} Austin TX 77878 lock145@noway1234.com {H.A Lock} {3040 Kensington Circle} Waco TX 77677 silas288@noway1234.com {Silas Altman} {5347 Baywind Circle} Bendigo TX 77655 hargis540@noway1234.com {Nick Hargis} {11647 Newcomb Drive} Amarillo TX 77153 casey325@noway1234.com {Casey Ray} {4689 Charlie Circle} Eucla TX 77412 bert_baum@noway1234.com {Bert Baum} {3692 West 99th Avenue} Nacogdoches TX 77928 r_c@noway1234.com {R.C. Rubin} {11605 Mountain Point Circle} Bourke TX 77638 cheryle54@noway1234.com {Cheryle Wellensiek} {9067 Via Balboa} Launceston TX 77901 jefferson686@noway1234.com {Jefferson Goers} {1391 Portage Drive} Pattison TX 77290 martin688@noway1234.com {Martin Gordon} {9517 Price Island Circle} Galveston TX 77781 horstman52@noway1234.com {Sylvester Horstman} {2170 Berryhill Road} Amarillo TX 77975 reufus_robinson@noway1234.com {Reufus Robinson} {3624 Traverse Way} Cairns TX 77358 maggie891@noway1234.com {Maggie Carmine} {10410 Sharon Street} Mildura TX 77041 schlender438@noway1234.com {Befty Schlender} {11349 Dora Avenue} Waco TX 77445 keedy711@noway1234.com {Carrol Keedy} {10966 Eklutna Street} Austin TX 77630 sarah954@noway1234.com {Sarah Armknecht} {560 Constitution Street} Waco TX 77268 kent554@noway1234.com {Clayton Kent} {4237 Trinity Circle} Albany TX 77589 ossian318@noway1234.com {Mary Ossian} {9658 Eastbrook Circle} Townsville TX 77808 jeffrey@noway1234.com {Jeffrey McCoy} {6898 Midori Drive} Bendigo TX 77703 ermine_haney@noway1234.com {Ermine Haney} {906 Warwick Drive} Waco TX 77465 aundrel833@noway1234.com {Aundrel Mattheis} {10191 Kiloana Court} Galveston TX 77434 morrison868@noway1234.com {Ivan Morrison} {605 Westwind Drive} {Mount Isa} TX 77702 lou668@noway1234.com {Lou Bates} {948 Stargate Circle} Newcastle TX 77942 wadie@noway1234.com {Wadie Jewell} {7460 Cambridge Way} Centerville TX 77260 ann642@noway1234.com {Ann Harrah} {4525 Highland Drive} Pattison TX 77204 penny_monkeyballs@noway1234.com {Penny Monkeyballs} {2426 Sherrie Street} {San Felipe} TX 77106 cummins680@noway1234.com {Marie Cummins} {8876 Teri Circle} Monaville TX 77668 andy@noway1234.com {Andy Hupka} {7325 Hillside Drive} Tamworth TX 77081 ramsey_lofgren@noway1234.com {Ramsey Lofgren} {9349 King David Drive} Rockhampton TX 77094 peek108@noway1234.com {Jewell Peek} {7837 Whimbrel Drive} Rockhampton TX 77451 bruce222@noway1234.com {Bruce Finney} {7310 Northfleet Drive} Bendigo TX 77311 colton216@noway1234.com {Teresa Colton} {5268 River Heights Loop} Bendigo TX 77027 cora_peters@noway1234.com {Cora Peters} {365 Mc Cabe Circle} Brookshire TX 77534 sackaly678@noway1234.com {Henline Sackaly} {5996 Kinnikinnick Street} Townsville TX 77225 watteyne220@noway1234.com {Rai Watteyne} {10376 Rosemary Street} Adelaide TX 77663 j_t_elenga@noway1234.com {J.T. Elenga} {7850 Arlon Street} Katy TX 77966 severns379@noway1234.com {Vera Severns} {3710 Thuja Circle} Galveston TX 77504 doy672@noway1234.com {Doy Pooch} {6334 Broaddus Street} Nacogdoches TX 77339 tootsie328@noway1234.com {Tootsie Craig} {3860 Oxford Drive} Rockhampton TX 77044 gregory173@noway1234.com {Gregory Harman} {804 Tayshee Circle} Bourke TX 77119 haymon99@noway1234.com {Haymon Lock} {5540 East Chester Heights Circle} {Mount Isa} TX 77852 sharon649@noway1234.com {Sharon Wilmes} {2809 East Tree Court} {Port Augusta} TX 77802 chrastil672@noway1234.com {Chester Chrastil} {6619 Bernard Drive} Queenstown TX 77537 patsy_proctor@noway1234.com {Patsy Proctor} {2382 Galena Bay Loop} Ketherine TX 77227 allen244@noway1234.com {Butcher Allen} {266 Chipwood Circle} Austin TX 77925 wendel669@noway1234.com {Wendel Finney} {844 Sabrina Street} Mildura TX 77445 wilson_littlejohn@noway1234.com {Wilson Littlejohn} {8698 Ansel Circle} {Alice Springs} TX 77088 gregory_mattheis@noway1234.com {Gregory Mattheis} {1214 Tideview Drive} {Tennant Creek} TX 77240 ahtelene538@noway1234.com {Ahtelene Henrichs} {9494 Evans Circle} {San Antonio} TX 77819 wolf186@noway1234.com {Wiley Wolf} {6073 Emerald Circle} {Broken Hill} TX 77051 dufield96@noway1234.com {Dufield Badellino} {6758 Dunkirk Court} Adelaide TX 77360 graff252@noway1234.com {Forrest Graff} {11662 Leeper Circle} Kema TX 77764 maysel_steinmeyer@noway1234.com {Maysel Steinmeyer} {658 Chandelle Drive} Waco TX 77206 deane_schroder@noway1234.com {Deane Schroder} {6129 Schuss Drive} Centerville TX 77711 greene123@noway1234.com {Goldie Greene} {1167 Askeland Drive} Amarillo TX 77503 clifford_feurer@noway1234.com {Clifford Feurer} {8804 Rocky Bay Circle} {Mount Gambier} TX 77607 oral_bauers@noway1234.com {Oral Bauers} {2239 Evelyn Circle} Adelaide TX 77696 anita@noway1234.com {Anita Colson} {1600 Woburn Circle} OOdnadatta TX 77528 vanwinkle785@noway1234.com {Dencil VanWinkle} {6478 Majella Circle} {Broken Hill} TX 77178 olive_scherrer@noway1234.com {Olive Scherrer} {5941 Howard Avenue} Cairns TX 77171 hester305@noway1234.com {Kermit Hester} {7095 Hendrickson Circle} Brookshire TX 77479 judith_hindera@noway1234.com {Judith Hindera} {1212 West 74th Court} Eucla TX 77596 ruby_fox@noway1234.com {Ruby Fox} {7937 Mariah Drive} Launceston TX 77136 blythe325@noway1234.com {C.A. Blythe} {11361 Peppertree Circle} Rockhampton TX 77021 kallai_hutt@noway1234.com {Kallai Hutt} {3229 Middle Road} Kema TX 77414 huling889@noway1234.com {Huling Murphy} {927 Maywood Circle} {Broken Hill} TX 77691 chapman@noway1234.com {Chapman Kounthapanya} {7195 Trapline Drive} Waco TX 77535 dan@noway1234.com {Dan Sterling} {575 Chesapeake Circle} Houston TX 77151 dennis777@noway1234.com {Dennis Clifton} {1219 Holden Drive} Burnie TX 77125 neal_cooper@noway1234.com {Neal Cooper} {6005 Kobuk Court} Wollongong TX 77947 dorsey888@noway1234.com {Dorsey Buces} {2978 Spindrift Loop} Tamworth TX 77238 gordon89@noway1234.com {Dunlap Gordon} {7929 Whimbrel Drive} {Coober Pedy} TX 77922 andy244@noway1234.com {Andy Watteyne} {7230 Clear Falls Circle} Ketherine TX 77609 tejral682@noway1234.com {Brany Tejral} {5769 Regency Court} {Padre Island} TX 77241 alan772@noway1234.com {Alan Warden} {10672 Pierre Lane} Albury TX 77291 bud_kerchal@noway1234.com {Bud Kerchal} {2163 Hall Circle} Ketherine TX 77356 bernell_houmann@noway1234.com {Bernell Houmann} {5223 West 31st Avenue} Katy TX 77632 lock251@noway1234.com {Betty Lock} {6808 Grover Drive} {Broken Hill} TX 77864 bohung766@noway1234.com {Alva Bohung} {11421 Cervin Circle} Bendigo TX 77345 david429@noway1234.com {David Scholl} {5145 Majestic Drive} {Coffs Harbour} TX 77301 ones361@noway1234.com {Ones Repp} {142 Northwood Drive} Pattison TX 77476 ossian660@noway1234.com {Hughes Ossian} {3659 Roson Court} Amarillo TX 77069 kerner698@noway1234.com {Ranae Kerner} {202 Rezanof Circle} {Mount Isa} TX 77322 warnke503@noway1234.com {Jen Warnke} {1931 Cyrus Street} {Mount Isa} TX 77993 mcpherrin820@noway1234.com {Lavonne McPherrin} {10450 Silverberry Loop} {Coober Pedy} TX 77568 harold859@noway1234.com {Harold Watteyne} {7567 Tanglewood Place} {San Felipe} TX 77500 christine156@noway1234.com {Christine Uhrmacher} {2367 Oak Knoll Drive} {Coffs Harbour} TX 77700 aimee197@noway1234.com {Aimee Hazen} {7833 Steamboat Drive} Adelaide TX 77793 rae402@noway1234.com {Rae Hendee} {1550 Prescott Street} Eucla TX 77912 dorsch753@noway1234.com {Austin Dorsch} {468 West 69th Avenue} Katy TX 77054 christensen918@noway1234.com {Ottie Christensen} {5378 Mere Circle} {Tennant Creek} TX 77972 strickland_puchalla@noway1234.com {Strickland Puchalla} {7641 Omega Court} Star TX 77912 tootsie_gottula@noway1234.com {Tootsie Gottula} {4725 Delong Landing Circle} Ketherine TX 77708 severns833@noway1234.com {Hanshaw Severns} {8417 Fuller Street} {Mount Isa} TX 77150 lena_mccoy@noway1234.com {Lena McCoy} {11849 Hillcrest Circle} Austin TX 77598 j188@noway1234.com {J. Elenga} {10880 Scorpio Circle} Nacogdoches TX 77394 arnita@noway1234.com {Arnita Bossung} {7849 Lucille Lane} Queenstown TX 77676 aldana408@noway1234.com {Bernard Aldana} {1048 Chamber Lane} Nacogdoches TX 77116 graff257@noway1234.com {Horace Graff} {8229 Birch Lane} {Alice Springs} TX 77587 loretta927@noway1234.com {Loretta Hothan} {1280 Viburnum Drive} Nacogdoches TX 77844 r_c129@noway1234.com {R.C. Heideman} {11929 Cimarron Court} {Coober Pedy} TX 77426 campbell274@noway1234.com {Reufus Campbell} {2546 West 16th Avenue} Wollongong TX 77040 tinney951@noway1234.com {Tinney Peek} {6422 Noblewood Street} Nacogdoches TX 77336 abb@noway1234.com {Abb Rohmeyer} {5021 Matterhorn Way} Tamworth TX 77519 alton402@noway1234.com {Alton Burns} {9141 Pago Pago Avenue} Albury TX 77927 warden162@noway1234.com {Given Warden} {2076 Meadow View Drive} {Broken Hill} TX 77076 mathis909@noway1234.com {Jody Mathis} {2778 Tidepool Place} Wollongong TX 77830 urban_luck@noway1234.com {Urban Luck} {857 Roundtop Circle} Albury TX 77644 dirksen612@noway1234.com {Allen Dirksen} {4768 Clogia Circle} Austin TX 77201 mavallee448@noway1234.com {Mavallee Davison} {3887 Atelier Drive} Launceston TX 77640 jochim275@noway1234.com {Mule Jochim} {6486 Garland Circle} Tamworth TX 77106 elmer@noway1234.com {Elmer Wolken} {6087 Scorpio Circle} Townsville TX 77506 alma@noway1234.com {Alma Curry} {3275 Ambler Lane} Albury TX 77600 robert890@noway1234.com {Robert Esser} {3394 Hale Court} Dallas TX 77686 goracke716@noway1234.com {Shelia Goracke} {8819 Gram Circle} Wollongong TX 77065 edsil893@noway1234.com {Edsil Jewell} {10520 North Eagle River Loop Road} Ketherine TX 77550 krontz90@noway1234.com {Dorsel Krontz} {7426 Kirov Circle} Cairns TX 77022 letcher@noway1234.com {Letcher Malone} {10170 Buckner Drive} {Coffs Harbour} TX 77723 ebeler893@noway1234.com {Patronia Ebeler} {5050 Ril Circle} Star TX 77196 p_roberts@noway1234.com {P. Roberts} {9937 Switzerland Drive} Monaville TX 77318 spence874@noway1234.com {Kyle Spence} {9152 North Side Circle} Townsville TX 77740 baum963@noway1234.com {Frankie Baum} {5688 Cleveland Avenue} Nacogdoches TX 77813 wilson_pettinger@noway1234.com {Wilson Pettinger} {4543 Loon Circle} Dallas TX 77958 eunice252@noway1234.com {Eunice Ullman} {463 Talkeetna Street} {Mount Isa} TX 77326 holben284@noway1234.com {Baum Holben} {573 Don Circle} Sunnyville TX 77117 d264@noway1234.com {D. Houmann} {10708 Wagner Street} Eucla TX 77500 collins710@noway1234.com {Collins Ham} {131 West 37th Avenue} OOdnadatta TX 77173 mccoy572@noway1234.com {Irene Mccoy} {8108 Faye Circle} {Broken Hill} TX 77250 francisco@noway1234.com {Francisco Staley} {7745 Terracewood Lane} Albury TX 77352 merlin_borrenpohl@noway1234.com {Merlin Borrenpohl} {6323 Yellowstone Drive} Bourke TX 77192 reiber168@noway1234.com {Brenford Reiber} {5029 Brandywine Avenue} Eucla TX 77655 rodney494@noway1234.com {Rodney Vance} {10187 Lamb Drive} {Alice Springs} TX 77327 werner520@noway1234.com {Mable Werner} {1181 Redcoat Place} Kema TX 77486 howard73@noway1234.com {Howard Rowe} {6343 Mesa Place} OOdnadatta TX 77994 greg@noway1234.com {Greg Wilhelm} {1600 Island Drive} {Coober Pedy} TX 77776 earhart845@noway1234.com {Johnie Earhart} {8701 Queen Victoria Drive} Newcastle TX 77092 thomas_ditlevson@noway1234.com {Thomas Ditlevson} {11989 East 40th Court} Katy TX 77055 dee_kent@noway1234.com {Dee Kent} {2085 Woodmont Drive} Burnie TX 77485 charlie_mitchel@noway1234.com {Charlie Mitchel} {378 Krishka Circle} Monaville TX 77817 joey_mooney@noway1234.com {Joey Mooney} {5877 Mountain Road} {Port Hedland} TX 77930 reinhardt692@noway1234.com {Denny Reinhardt} {4964 Donald Place} Wollongong TX 77745 sedersten803@noway1234.com {Russ Sedersten} {3343 Kulchay Circle} {Port Hedland} TX 77683 bengtsson503@noway1234.com {Bailey Bengtsson} {7854 East Klatt Road} Centerville TX 77143 mayfield70@noway1234.com {Orvin Mayfield} {3120 Wildwood Drive} Adelaide TX 77037 mamie412@noway1234.com {Mamie Repp} {8230 Chaparral Circle} {San Felipe} TX 77006 schmidt931@noway1234.com {Ralph Schmidt} {7336 West 71st Avenue} Monaville TX 77299 doyle857@noway1234.com {Doyle Morrissey} {6741 Lori Drive} Burnie TX 77130 dahl327@noway1234.com {Evette Dahl} {9758 Sunflower Street} Pattison TX 77503 phommachan368@noway1234.com {Leola Phommachan} {3457 Birchwood Loop Road} Pattison TX 77061 h660@noway1234.com {H. Schutz} {2065 Clover Lane} Sunnyville TX 77774 emie955@noway1234.com {Emie Bates} {7523 Hyatt Street} Albany TX 77381 fink395@noway1234.com {Reva Fink} {9088 Gstaad Way} Brookshire TX 77689 hattie@noway1234.com {Hattie Dillaplain} {8976 Monpelier Drive} {Broken Hill} TX 77390 maysel732@noway1234.com {Maysel Leuder} {4946 Meadow Wood Circle} Austin TX 77823 carolyn483@noway1234.com {Carolyn Mccoy} {10929 Clairborne Circle} Brookshire TX 77098 letcher145@noway1234.com {Letcher Helm} {9895 Railroad Avenue} Wollongong TX 77227 j_r752@noway1234.com {J.R. Kuhl} {1033 Evergreen Street} Queenstown TX 77680 brett_sullivan@noway1234.com {Brett Sullivan} {9226 Timber Lane} Kema TX 77842 elaine858@noway1234.com {Elaine Reinhardt} {11731 Dunlap Court} Wollongong TX 77275 nell_mccoy@noway1234.com {Nell Mccoy} {859 Bonanza Avenue} Albany TX 77960 sayakhoummane232@noway1234.com {Frame Sayakhoummane} {173 Lichen Place} Waco TX 77990 little316@noway1234.com {Jane Little} {5091 Dome Circle} Katy TX 77308 menard748@noway1234.com {Kennith Menard} {4626 Snug Harbor Circle} Burnie TX 77040 retha@noway1234.com {Retha Berg} {6635 Griffin Road} Bourke TX 77598 roy683@noway1234.com {Roy Lade} {5290 Hillcrest Drive} Mildura TX 77098 buces916@noway1234.com {Chester Buces} {9779 Arctic Slope Avenue} Amarillo TX 77802 earl513@noway1234.com {Earl Peterson} {6618 West 66th Court} Independence TX 77345 lou577@noway1234.com {Lou Luck} {753 Ridge Place} {San Antonio} TX 77776 horstman65@noway1234.com {Ora Horstman} {310 Spruce Road} Bathurst TX 77089 peters808@noway1234.com {Odis Peters} {3767 Dakota Street} Wollongong TX 77048 amos572@noway1234.com {Betsy Amos} {7286 Brentwood Circle} Ketherine TX 77307 helen_holmstrom@noway1234.com {Helen Holmstrom} {10288 Arne Erickson Circle} {San Felipe} TX 77475 lantie47@noway1234.com {Lantie Nakamura} {3085 Ivy Circle} Centerville TX 77447 brinkman361@noway1234.com {Dr. Brinkman} {949 Galactica Drive} Galveston TX 77612 blake_lanspa@noway1234.com {Blake Lanspa} {6469 Arcturus Circle} Albury TX 77309 maryaldine458@noway1234.com {Maryaldine Altman} {921 Lahr Circle} Tamworth TX 77783 colson160@noway1234.com {Befty Colson} {6028 Flintwood Place} Monaville TX 77502 s91@noway1234.com {S. Christensen} {7732 Capricorn Circle} Dallas TX 77054 giittinger936@noway1234.com {Buell Giittinger} {3630 Concrete Street} Albury TX 77808 ford641@noway1234.com {Ford Parrish} {4209 West 42nd Place} {Coffs Harbour} TX 77476 eva_snow@noway1234.com {Eva Snow} {6580 Delasala Place} {Broken Hill} TX 77289 verle194@noway1234.com {Verle Hunt} {5117 Turpin Street} Star TX 77381 chrastil172@noway1234.com {Hazel Chrastil} {7042 Golden Street} Cairns TX 77626 newt348@noway1234.com {Newt VanWinkle} {10908 Shelli Drive} Brookshire TX 77452 olan@noway1234.com {Olan Phommachan} {4341 Hazel Court} Newcastle TX 77173 johnson_wheeler@noway1234.com {Johnson Wheeler} {10419 Dawson Street} Amarillo TX 77288 gobber442@noway1234.com {Hudson Gobber} {4089 Campbell Place} Newcastle TX 77516 c121@noway1234.com {C. Topp} {5043 Irene Drive} {San Antonio} TX 77398 ernestine_swanson@noway1234.com {Ernestine Swanson} {8053 Denise Circle} Bendigo TX 77591 ellis637@noway1234.com {Ellis Noudaranouvong} {8041 Woodside Street} {Broken Hill} TX 77828 patton318@noway1234.com {Patton DeVorss} {274 Barry Avenue} Launceston TX 77097 inez33@noway1234.com {Inez Hahn} {11762 Ostovia Circle} {San Antonio} TX 77235 wendell115@noway1234.com {Muncey Wendell} {10231 Mountain Place} Broome TX 77528 adrian78@noway1234.com {Adrian Grof} {5664 Rankin Road} Bourke TX 77968 goemann248@noway1234.com {Credis Goemann} {565 Skyhills Drive} Nacogdoches TX 77369 jacobsen516@noway1234.com {Dawson Jacobsen} {8606 Stemp Circle} {San Felipe} TX 77456 humphries795@noway1234.com {Humphries Elenga} {11596 Country Woods Drive} Hamilton TX 77613 preston@noway1234.com {Preston Grable} {8633 Lido Circle} {San Antonio} TX 77753 goodrich18@noway1234.com {Walter Goodrich} {2272 Monroe Avenue} Galveston TX 77403 ramsey794@noway1234.com {Ramsey Grove} {2224 Finley Circle} Galveston TX 77603 morrissey316@noway1234.com {Malissa Morrissey} {1138 Lupine Circle} Galveston TX 77394 fox502@noway1234.com {Amma Fox} {10021 Mariah Drive} {Mount Gambier} TX 77489 haughton115@noway1234.com {Doc Haughton} {8905 Teton Place} Albury TX 77663 wilbert711@noway1234.com {Wilbert Borrenphol} {7899 Riverside Drive} Amarillo TX 77941 wilson30@noway1234.com {Wilson Lacey} {1307 East 76th Court} Bourke TX 77404 wilmes690@noway1234.com {Ruby Wilmes} {3579 Tangle Court} Amarillo TX 77701 coulter108@noway1234.com {Coulter Riensche} {4794 Borland Circle} Adelaide TX 77868 ann_speckmann@noway1234.com {Ann Speckmann} {7910 Corbin Drive} Brookshire TX 77889 holt@noway1234.com {Holt Searcey} {11619 Darby Road} {Coober Pedy} TX 77273 meyer874@noway1234.com {Ovid Meyer} {7973 Snow Bear Drive} Cairns TX 77035 schultz235@noway1234.com {Merlin Schultz} {10435 Armstrong Lane} Broome TX 77899 dominic899@noway1234.com {Dominic Buerstetta} {1066 Emard Street} {Mount Gambier} TX 77829 irene621@noway1234.com {Irene Huff} {1939 Lois Drive} Waco TX 77418 roncy_hahn@noway1234.com {Roncy Hahn} {10360 Evelyn Circle} {Padre Island} TX 77602 harrah51@noway1234.com {Nell Harrah} {9909 West 15th Avenue} Houston TX 77872 hays295@noway1234.com {Hays Vrbka} {3196 Wildwood Street} Dallas TX 77075 hunt637@noway1234.com {Hunt Hanau} {7288 Pronghorn Lane} Hamilton TX 77686 wiese260@noway1234.com {Rhunie Wiese} {3390 Country Woods Drive} Bendigo TX 77350 suzette628@noway1234.com {Suzette Carson} {8414 Happy Lane} Nacogdoches TX 77364 gillette220@noway1234.com {Cantrell Gillette} {3089 Bartlett Drive} {Alice Springs} TX 77224 schafer284@noway1234.com {Sussie Schafer} {6789 West Parkview Terrace Loop} Sunnyville TX 77088 alva_winkle@noway1234.com {Alva Winkle} {3852 West 75th Avenue} Kema TX 77618 robinson54@noway1234.com {Robinson Pope} {11280 Campbell Terrace Place} Waco TX 77027 gobber698@noway1234.com {Clifton Gobber} {947 George Court} Kema TX 77505 daisy_parrisb@noway1234.com {Daisy Parrisb} {192 West 10th Avenue} Hamilton TX 77349 ruby709@noway1234.com {F. Ruby} {3738 Heritage Court} Houston TX 77420 smith890@noway1234.com {Smith Harrington} {7959 Gulf Circle} Galveston TX 77166 june93@noway1234.com {June Sullivan} {9581 Energy Court} Albury TX 77837 connie@noway1234.com {Connie Floerke} {3286 South Gambell Street} Monaville TX 77529 olga_homer@noway1234.com {Olga Homer} {7091 Richardson Drive} {Tennant Creek} TX 77378 kelly777@noway1234.com {Kelly Hasselbalch} {5231 Sundance Circle} Queenstown TX 77273 emerald_delong@noway1234.com {Emerald DeLong} {2269 Katahdin Drive} Sunnyville TX 77409 mac943@noway1234.com {Mac Haughton} {10572 Meadow Ridge Court} Rockhampton TX 77588 gertrude_snow@noway1234.com {Gertrude Snow} {2170 Hideaway Court} {San Felipe} TX 77269 lyman@noway1234.com {Lyman Butler} {7514 Nantucket Circle} Amarillo TX 77176 king784@noway1234.com {Gobbie King} {3341 Beverly Drive} Monaville TX 77546 verelene_betzelberger@noway1234.com {Verelene Betzelberger} {4459 High Land Drive} {Port Augusta} TX 77773 taylor443@noway1234.com {Rayburn Taylor} {9681 Unimak Circle} {San Felipe} TX 77270 tish392@noway1234.com {Tish Thongkhamvilay} {11621 Windflower Circle} {Padre Island} TX 77439 elsie@noway1234.com {Elsie Wilhelm} {2511 Arlene Drive} {Alice Springs} TX 77399 lueders94@noway1234.com {Rhetta Lueders} {8960 Brewery Street} {Coober Pedy} TX 77947 wilson8@noway1234.com {Wilson Piersol} {4287 Warning Drive} {Coffs Harbour} TX 77748 wall301@noway1234.com {Ramsey Wall} {3792 Sherherdia Circle} Queenstown TX 77838 quenton498@noway1234.com {Quenton Nolte} {1852 Highland Park Avenue} Newcastle TX 77554 pooch47@noway1234.com {Kennith Pooch} {6937 Telequana Circle} Albury TX 77431 whiskey_schreiner@noway1234.com {Whiskey Schreiner} {4962 East 14th Avenue} Nacogdoches TX 77191 henderson_badellino@noway1234.com {Henderson Badellino} {6279 Happy Lane} Cairns TX 77083 person660@noway1234.com {Tish Person} {11178 A Street Loop} {Alice Springs} TX 77507 kettelhake124@noway1234.com {James Kettelhake} {7964 Crow Berry Circle} Tamworth TX 77106 schmidt222@noway1234.com {Sweeney Schmidt} {443 Ambergate Drive} {Alice Springs} TX 77511 blythe936@noway1234.com {Monkey Buster Blythe} {6041 Alamosa Drive} Mildura TX 77193 field716@noway1234.com {Norman Field} {2514 Seashore Place} Houston TX 77055 aust3@noway1234.com {Brenford Aust} {9575 Copperbush Court} Houston TX 77852 dencil246@noway1234.com {Dencil Hermsmeier} {19 Hightower Road} Rockhampton TX 77315 barden307@noway1234.com {Field Barden} {6066 Amanda Court} Burnie TX 77689 pudge_montz@noway1234.com {Pudge Montz} {11791 Trena Street} Pattison TX 77276 ovie@noway1234.com {Ovie Jewell} {7772 Southcliff Ridge Circle} Broome TX 77847 sharkey118@noway1234.com {Sharkey Mercure} {4048 Fairweather Drive} Monaville TX 77071 curry275@noway1234.com {Norman Curry} {10479 Travis Street} Cairns TX 77131 mccoy12@noway1234.com {W.B. McCoy} {1414 Sea Parrott Circle} {Padre Island} TX 77784 claire_einstein@noway1234.com {Claire Einstein} {3855 Crystal Creek Drive} Monaville TX 77526 casey_lanspa@noway1234.com {Casey Lanspa} {3536 Pribilof Loop} {Alice Springs} TX 77651 geweke67@noway1234.com {Alfred Geweke} {2350 Chevigny Street} {Mount Gambier} TX 77478 carsel564@noway1234.com {Carsel Puchalla} {1163 Mentra Circle} Sunnyville TX 77409 hargis633@noway1234.com {Lucy Hargis} {4368 Sanderlin Street} Eucla TX 77414 kelly451@noway1234.com {Kelly Troeger} {4355 Lake View Drive} {Port Augusta} TX 77228 hothan205@noway1234.com {Kellis Hothan} {7075 Spruce Lane} Broome TX 77019 david_eltiste@noway1234.com {David Eltiste} {8103 Beacon Hill Drive} Dallas TX 77744 joseph493@noway1234.com {Joseph Horstman} {2724 Leo Circle} Centerville TX 77862 zappa901@noway1234.com {Les Zappa} {7226 East 66th Avenue} Pattison TX 77444 keedy25@noway1234.com {Claudia Keedy} {4407 Galveston Circle} Townsville TX 77626 hartley491@noway1234.com {Hartley Polson} {4078 Loretta Place} Independence TX 77680 lempka251@noway1234.com {Satan Lempka} {9699 East 12th Avenue} Austin TX 77387 rothell911@noway1234.com {Corliss Rothell} {11198 Gannett Circle} Albury TX 77911 lynda@noway1234.com {Lynda McCulla} {10542 Snug Harbor Circle} {Mount Isa} TX 77457 opal356@noway1234.com {Opal Mason} {1829 Freitag Drive} Adelaide TX 77633 garris82@noway1234.com {Everett Garris} {1628 Gunwale Circle} Waco TX 77928 p_guenther@noway1234.com {P. Guenther} {5009 Lower Tulwar Loop} Dallas TX 77137 oltman740@noway1234.com {Dodrill Oltman} {3432 Kiyona Circle} Independence TX 77675 gilbert610@noway1234.com {Gilbert Gobber} {1581 Tonga Drive} Amarillo TX 77904 verna713@noway1234.com {Verna Reschke} {9786 Max Circle} Adelaide TX 77416 pluta673@noway1234.com {Zelma Pluta} {7036 Aquarius Circle} Rockhampton TX 77295 granny298@noway1234.com {Granny Fritsch} {9060 Mc Kinley Avenue} Cairns TX 77154 carpenter915@noway1234.com {Conley Carpenter} {4073 O'malley Centre Court} Bathurst TX 77399 pooey_branting@noway1234.com {Pooey Branting} {4027 Airport Way} OOdnadatta TX 77711 hardin348@noway1234.com {Mike Hardin} {481 Rendon Drive} Burnie TX 77056 margertte@noway1234.com {Margertte Hebner} {4182 Discovery Court} Newcastle TX 77351 sherie605@noway1234.com {Sherie Haughton} {3293 Unalaska Circle} {Coffs Harbour} TX 77509 stephen_mahar@noway1234.com {Stephen Mahar} {9922 Bluegrass Circle} {San Antonio} TX 77513 anderson301@noway1234.com {Custer Anderson} {2113 Crystal Street} Cairns TX 77253 ashley_borrenphol@noway1234.com {Ashley Borrenphol} {11280 Hubbard Place} {Port Hedland} TX 77005 warden583@noway1234.com {Wilma Warden} {6294 North Post Road} Centerville TX 77044 teresa185@noway1234.com {Teresa Morse} {83 East 25th Avenue} Adelaide TX 77597 leo799@noway1234.com {Leo Hunt} {945 Seacloud Circle} {San Felipe} TX 77817 kunzman959@noway1234.com {Thelma Kunzman} {3202 Kuskokwim Street} Bourke TX 77264 barnette_kuhl@noway1234.com {Barnette Kuhl} {8935 Hyatt Street} {Port Augusta} TX 77419 ned339@noway1234.com {Ned Ditlevson} {5867 Colony Place} Burnie TX 77918 osterhoudt594@noway1234.com {Annie Osterhoudt} {8724 Driftwood Street} Nacogdoches TX 77883 jones535@noway1234.com {Lucille Jones} {7455 Staubbach Circle} Austin TX 77950 lueders1@noway1234.com {Boggs Lueders} {1520 Halley's Comet Circle} Adelaide TX 77133 meister672@noway1234.com {L. Meister} {8225 East 87th Avenue} Brookshire TX 77881 lloyd525@noway1234.com {Lloyd Hood} {8436 Windflower Circle} {Coober Pedy} TX 77574 melinda981@noway1234.com {Melinda Mandery} {6157 West 57th Avenue} Adelaide TX 77159 jess65@noway1234.com {Jess Montz} {6887 Lucern Avenue} Austin TX 77785 rader419@noway1234.com {Arlin Rader} {3669 Maylen Way} {Port Hedland} TX 77835 mattheis603@noway1234.com {Backus Mattheis} {2642 Tamarack Street} Newcastle TX 77612 m_gibson@noway1234.com {M. Gibson} {8838 Treeline Court} Tamworth TX 77025 monkeyballs552@noway1234.com {Lou Monkeyballs} {7387 East Henkins Road} Monaville TX 77206 wink215@noway1234.com {Wink Rathbun} {4934 Chris Court} Star TX 77342 tucker_grof@noway1234.com {Tucker Grof} {5318 Viola Circle} Tamworth TX 77429 lyle22@noway1234.com {Lyle Purdy} {303 Cinerama Circle} Cairns TX 77876 pieratt594@noway1234.com {Adkins Pieratt} {9929 Kalgin Street} {San Antonio} TX 77044 morse299@noway1234.com {Morse Rothell} {11812 Fullenwider Circle} {Mount Isa} TX 77609 captain@noway1234.com {Captain McNergney} {4727 Lindsey Circle} Nacogdoches TX 77393 shirley996@noway1234.com {Shirley Reinhardt} {5647 Stewart Drive} Bendigo TX 77673 stewart_ellis@noway1234.com {Stewart Ellis} {10351 Bridle Circle} {San Antonio} TX 77881 delorsis836@noway1234.com {Delorsis Doty} {11694 Carnaby Way} Tamworth TX 77153 reba_chittenden@noway1234.com {Reba Chittenden} {5933 Betty Street} Brookshire TX 77378 puchalla599@noway1234.com {Ruby Puchalla} {8624 Marquez Circle} Rockhampton TX 77068 mudflaps757@noway1234.com {Mudflaps Miner} {2749 Teri Drive} Mildura TX 77768 lillie_bates@noway1234.com {Lillie Bates} {10046 Carnaby Circle} {Port Augusta} TX 77181 barnette702@noway1234.com {Barnette Parrisb} {8500 Ellis Drive} Cairns TX 77209 charlotte952@noway1234.com {Charlotte Montz} {11764 Regency Drive} {Coober Pedy} TX 77142 laue186@noway1234.com {Donald Laue} {8808 Foster Estate Drive} {Coober Pedy} TX 77990 riley346@noway1234.com {Riley Stordahl} {987 Fernhill Avenue} OOdnadatta TX 77366 lonzo@noway1234.com {Lonzo Fuller} {10789 Keyhole Circle} {Coffs Harbour} TX 77163 fred@noway1234.com {Fred DeVorss} {7098 Shady Lane} Queenstown TX 77176 lou671@noway1234.com {Lou Mayfield} {125 Scarlet Place} Cairns TX 77102 odbert624@noway1234.com {Odbert Raney} {9704 Gorsuch Street} Dallas TX 77282 w_a455@noway1234.com {W.A. Blessing} {8322 Matthews Drive} Townsville TX 77148 marvin259@noway1234.com {Marvin Belding} {2318 Papago Place} Adelaide TX 77494 koehler131@noway1234.com {Evert Koehler} {866 Chilligan Drive} Wollongong TX 77044 patty510@noway1234.com {Patty Birnie} {3167 Gillette Drive} Sunnyville TX 77271 edwin888@noway1234.com {Edwin Packett} {3357 Ascot Street} Burnie TX 77222 rosilia862@noway1234.com {Rosilia Staley} {6517 Molanary Drive} {Padre Island} TX 77789 othmer465@noway1234.com {Margaret Othmer} {8607 West Kanaga Loop} Star TX 77344 dancy21@noway1234.com {Dancy Barden} {7815 Solleret Drive} Ketherine TX 77348 olsen713@noway1234.com {Teresa Olsen} {5695 Norman Street} Launceston TX 77186 vic@noway1234.com {Vic Pluta} {11429 Lori Drive} Eucla TX 77519 yvonne@noway1234.com {Yvonne Todter} {7607 East 23rd Avenue} Bendigo TX 77451 wendell182@noway1234.com {Norval Wendell} {7020 End Street} Dallas TX 77361 bunk566@noway1234.com {Bunk Allen} {6750 Easy Street} Wollongong TX 77296 diana_neemann@noway1234.com {Diana Neemann} {6534 Country Club Lane} Houston TX 77839 wellensiek539@noway1234.com {IV Wellensiek} {2056 Essex Park Drive} Kema TX 77046 pfister67@noway1234.com {Lykins Pfister} {9865 Joseph Street} Monaville TX 77917 hickman105@noway1234.com {Hickman Wellensiek} {5525 Mc Manus Drive} {Alice Springs} TX 77061 finn849@noway1234.com {Dr. Finn} {10019 Arca Drive} Newcastle TX 77195 w706@noway1234.com {W. Sterling} {1431 Prince Circle} Katy TX 77856 reba741@noway1234.com {Reba Krause} {4737 Copper Circle} Dallas TX 77668 mullins725@noway1234.com {Mullins Glasson} {2240 Tool Street} Bathurst TX 77147 patronia779@noway1234.com {Patronia Hardin} {11158 Dotberry Drive} Kema TX 77532 naomi791@noway1234.com {Naomi DeLong} {11413 Goff Street} {Port Augusta} TX 77159 judy_ullman@noway1234.com {Judy Ullman} {9245 East 98th Avenue} Bourke TX 77381 earlene@noway1234.com {Earlene Rogers} {9279 Unalaska Circle} {Mount Gambier} TX 77748 terry867@noway1234.com {Terry Bane} {1868 Chickaloon Street} {Tennant Creek} TX 77745 mcdonald455@noway1234.com {Billie McDonald} {5809 Lahonda Drive} Townsville TX 77712 emily244@noway1234.com {Emily Gregory} {1274 Dawnlight Court} {Port Hedland} TX 77429 lintz554@noway1234.com {James Lintz} {1100 Wyoming Drive} {Coffs Harbour} TX 77698 dow777@noway1234.com {Dow Oestmann} {9619 South Lowrie Loop} {Mount Gambier} TX 77879 gobber44@noway1234.com {Chessie Gobber} {5071 Charlotte Place} Townsville TX 77168 ovie_gillette@noway1234.com {Ovie Gillette} {11310 Tanadak Circle} Star TX 77990 frederick_noudaranouvong@noway1234.com {Frederick Noudaranouvong} {8455 Hammond Avenue} {Mount Isa} TX 77003 blanch_delong@noway1234.com {Blanch DeLong} {1814 Dolly Varden Avenue} Dallas TX 77401 conway@noway1234.com {Conway Huff} {1111 K And R Street} Waco TX 77679 lavelle@noway1234.com {Lavelle Phillips} {4567 Crete Street} {San Antonio} TX 77239 micheal@noway1234.com {Micheal Young} {10900 Pauline Street} Rockhampton TX 77020 lempka157@noway1234.com {Peck Lempka} {1035 Duben Avenue} Albany TX 77230 rau377@noway1234.com {Quentin Rau} {11942 Klondike Street} {Tennant Creek} TX 77062 shirlee7@noway1234.com {Shirlee Hahn} {10055 Laona Drive} Broome TX 77761 keith32@noway1234.com {Keith Kaster} {7111 Fairkytes Circle} Eucla TX 77549 dolores495@noway1234.com {Dolores Rulla} {9555 Husky Street} Independence TX 77781 atha993@noway1234.com {Atha Hoke} {10352 Rhyner Court} Mildura TX 77346 buethe122@noway1234.com {Dawn Buethe} {4026 Oxbow Circle} {Coober Pedy} TX 77607 e_burns918@noway1234.com {E.Burns Riensche} {8949 Hillhaven Circle} Galveston TX 77540 adrian_badertscher@noway1234.com {Adrian Badertscher} {7566 Clover Lane} Bathurst TX 77292 peters443@noway1234.com {Osa Peters} {9819 Russell Circle} OOdnadatta TX 77875 hillyer525@noway1234.com {Cantrell Hillyer} {10236 Anogoc Drive} {Coober Pedy} TX 77452 charlotte362@noway1234.com {Charlotte Jewell} {10600 Ocean View Road} Amarillo TX 77142 triplett_pieratt@noway1234.com {Triplett Pieratt} {8150 Cody Court} Queenstown TX 77250 baucke913@noway1234.com {Judy Baucke} {9376 Sanderlin Street} Houston TX 77312 ragon847@noway1234.com {Chip Ragon} {1974 Dunbar Lane} Brookshire TX 77093 flava_urich@noway1234.com {Flava Urich} {11513 Madison Way} Star TX 77275 finn692@noway1234.com {Maysel Finn} {8593 Samoa Street} {San Antonio} TX 77618 quenton_chritton@noway1234.com {Quenton Chritton} {8103 Ken Logan Circle} Waco TX 77860 gibson825@noway1234.com {Pudge Gibson} {1417 Hampton Green Loop} Monaville TX 77077 steinmeyer211@noway1234.com {Woodrow Steinmeyer} {7895 Academy Drive} Eucla TX 77011 omer95@noway1234.com {Omer Naber} {116 Lassen Circle} Tamworth TX 77777 allen543@noway1234.com {Allen Bailey} {9091 Beechcraft Drive} Monaville TX 77342 evelyn227@noway1234.com {Evelyn Little} {890 Rosalind Loop} Monaville TX 77344 gaylene655@noway1234.com {Gaylene Badellino} {9806 Dennis Way} Bendigo TX 77597 patrica131@noway1234.com {Patrica Wellensiek} {460 Tyre Drive} Eucla TX 77451 packwood370@noway1234.com {Paxton Packwood} {4581 Vine Avenue} Rockhampton TX 77768 oat759@noway1234.com {Oat Peterson} {11701 Nathaniel Court} Bendigo TX 77074 bogle828@noway1234.com {Elwood Bogle} {3989 Orchard Place} Dallas TX 77369 sorensen901@noway1234.com {Les Sorensen} {1189 Mirror Lake Drive} Newcastle TX 77579 virginia_hoke@noway1234.com {Virginia Hoke} {10231 East 36th Avenue} {Coober Pedy} TX 77806 thies292@noway1234.com {F. Thies} {1816 West 86th Avenue} Broome TX 77759 betsy_doty@noway1234.com {Betsy Doty} {2741 Pitcairn Avenue} Wollongong TX 77469 moses381@noway1234.com {Moses Durst} {8735 Elaine Drive} Kema TX 77363 ruby_weinrich@noway1234.com {Ruby Weinrich} {1617 Cherokee Way} {San Felipe} TX 77724 tom477@noway1234.com {Tom Fleck} {1931 Laser Circle} {Coober Pedy} TX 77894 cawley233@noway1234.com {Cora Cawley} {7947 Sea Parrott Circle} Bathurst TX 77427 wiese513@noway1234.com {Rosa Wiese} {3785 Alitak Bay Circle} Queenstown TX 77059 mann858@noway1234.com {Noreene Mann} {10366 Cyrus Street} Centerville TX 77501 miesbach610@noway1234.com {Maxine Miesbach} {4324 Staysail Drive} Cairns TX 77235 wilbert238@noway1234.com {Wilbert Davis} {4303 Linden Court} Townsville TX 77491 hardin918@noway1234.com {Mozelle Hardin} {6885 Pintail Street} {Coffs Harbour} TX 77991 shelton_farley@noway1234.com {Shelton Farley} {3220 Ptarmigan Street} Newcastle TX 77998 helen847@noway1234.com {Helen Laue} {8154 Chisana Street} {Mount Gambier} TX 77519 osterthun566@noway1234.com {Strickland Osterthun} {11893 Penland Parkway} Independence TX 77489 newt385@noway1234.com {Newt Knox} {8466 Farrow Circle} Pattison TX 77400 conradt552@noway1234.com {Bessie Conradt} {837 Orca Street} Eucla TX 77254 mann341@noway1234.com {Dorsey Mann} {11748 Athens Avenue} Dallas TX 77088 olan_fankhauser@noway1234.com {Olan Fankhauser} {11873 Thoreau Circle} {San Antonio} TX 77517 jimmy_pistol881@noway1234.com {Jimmy"Pistol" Brinkman} {6645 Panorama Drive} {Coffs Harbour} TX 77446 margaret51@noway1234.com {Margaret Watteyne} {2591 East 115th Avenue} Broome TX 77445 arch297@noway1234.com {Arch Bane} {6042 Southampton Drive} Katy TX 77377 wiese365@noway1234.com {Lloyd Wiese} {1637 East 17th Avenue} Amarillo TX 77884 mary_broady@noway1234.com {Mary Broady} {10503 Hidden Retreat Place} Townsville TX 77192 senesourinh709@noway1234.com {Mamie Senesourinh} {7250 Konrad Circle} Amarillo TX 77550 mozelle_rine@noway1234.com {Mozelle Rine} {2320 Seagate Court} Adelaide TX 77858 donohue547@noway1234.com {Donohue Naber} {345 Lynx Way} Launceston TX 77626 ray144@noway1234.com {Butcher Ray} {11022 Milky Way Circle} Amarillo TX 77859 berne878@noway1234.com {Berne Knippelmeyer} {7859 Becharof Street} Houston TX 77215 shuey830@noway1234.com {Rapp Shuey} {6600 Hilltop Circle} OOdnadatta TX 77805 gene690@noway1234.com {Gene Hershberger} {8213 West 44th Place} Queenstown TX 77880 arnold862@noway1234.com {Wendell Arnold} {7935 Valley Street} {Port Augusta} TX 77883 matthew_brockman@noway1234.com {Matthew Brockman} {9110 Goff Street} OOdnadatta TX 77859 rother701@noway1234.com {Site Rother} {931 Clarbert Court} {San Antonio} TX 77842 r_a55@noway1234.com {R.A. Saunders} {3144 Akula Drive} Newcastle TX 77872 badertscher526@noway1234.com {Lewie Badertscher} {2646 Lincoln Ellsworth Court} Sunnyville TX 77966 wall389@noway1234.com {Bert Wall} {10724 Whispering Birch Circle} Ketherine TX 77817 mundy@noway1234.com {Mundy Gobber} {8107 Posiedon Drive} Bendigo TX 77252 leuenberger839@noway1234.com {White Leuenberger} {11182 Brewster's Drive} Cairns TX 77386 landry648@noway1234.com {Georgene Landry} {11109 Knik Vista Street} Queenstown TX 77996 opten@noway1234.com {Opten Weyers} {2955 Lincoln Ellsworth Court} Houston TX 77826 todter961@noway1234.com {Russell Todter} {10945 Horizon Avenue} {Alice Springs} TX 77258 neemann25@noway1234.com {Sonny Neemann} {5966 Ruby Drive} Bathurst TX 77297 polson663@noway1234.com {Shelton Polson} {3482 Norway Drive} Broome TX 77839 wilson139@noway1234.com {Wilson Fox} {8738 Tamir Avenue} Austin TX 77279 halene394@noway1234.com {Halene Schutz} {4788 Short Street} {Coober Pedy} TX 77383 perry578@noway1234.com {Perry Bevard} {745 Eaglewood Drive} Galveston TX 77118 betty233@noway1234.com {Betty Weyers} {93 Winter Park Place} Sunnyville TX 77239 betty_thongkhamvilay@noway1234.com {Betty Thongkhamvilay} {9433 Breezewood Drive} Newcastle TX 77161 ruby636@noway1234.com {Givin Ruby} {6817 Coachman Circle} Hamilton TX 77112 c127@noway1234.com {C. Branting} {11537 Taurus Circle} {San Antonio} TX 77945 felix428@noway1234.com {Felix Luck} {3099 Orange Leaf Circle} {Port Hedland} TX 77321 blankenship139@noway1234.com {Blankenship Hamm} {7366 Graiff Street} Independence TX 77911 dorlen_brammann@noway1234.com {Dorlen Brammann} {11578 Griffin Road} {Mount Isa} TX 77817 polson351@noway1234.com {Nina Polson} {1918 Albatross Drive} Katy TX 77641 p_simer81@noway1234.com {P'simer Beethe} {3301 Belduque Court} Katy TX 77982 paden683@noway1234.com {Betty Paden} {941 Currin Circle} Bathurst TX 77843 joe53@noway1234.com {Joe Saunders} {10079 Sycamore Loop} Waco TX 77306 broady482@noway1234.com {Imogene Broady} {4980 Golden Eagle Court} Cairns TX 77655 dimple_niemann@noway1234.com {Dimple Niemann} {388 Snowberry Loop} Amarillo TX 77157 i@noway1234.com {I Rathbun} {2498 Mallard Lane} Austin TX 77312 reva543@noway1234.com {Reva Hendee} {11659 Huot Circle} Adelaide TX 77689 sybil_meyer@noway1234.com {Sybil Meyer} {7928 Caress Circle} Bourke TX 77521 frederick86@noway1234.com {Lee Frederick} {9485 Woodbury Court} {Tennant Creek} TX 77648 james665@noway1234.com {James Dumitru} {8166 Juneau Street} Amarillo TX 77002 montz491@noway1234.com {Frances Montz} {1168 Alpine Court} {Tennant Creek} TX 77167 vic803@noway1234.com {Vic Hothan} {7974 Farmer Place} Rockhampton TX 77154 everett_hippen@noway1234.com {Everett Hippen} {6947 Sunset View Circle} Star TX 77188 reynolds991@noway1234.com {Collins Reynolds} {6648 Laurie Circle} {San Felipe} TX 77748 carla_farley@noway1234.com {Carla Farley} {4556 Deborah Lane} {Mount Gambier} TX 77661 koehler620@noway1234.com {Emma Koehler} {8446 Unimak Circle} {Coober Pedy} TX 77571 halene859@noway1234.com {Halene Aufdenkamp} {6951 Crooked Tree Circle} OOdnadatta TX 77154 jochim727@noway1234.com {Goldie Jochim} {11246 Mary Anne Court} {Mount Gambier} TX 77250 lanspa377@noway1234.com {Sarah Lanspa} {6544 East 51st Avenue} {San Antonio} TX 77939 jack938@noway1234.com {Jack Reed} {195 Solar Drive} Hamilton TX 77004 clara639@noway1234.com {Clara Mason} {9253 Taiga Drive} {Port Augusta} TX 77762 hickman289@noway1234.com {Hickman Sackaly} {11565 Windrush Circle} {Mount Gambier} TX 77624 boats@noway1234.com {Boats Kaster} {8405 Woods Pointe Circle} {Alice Springs} TX 77779 spence751@noway1234.com {Spence Lawrence} {2481 Lear Court} Bathurst TX 77820 keedy813@noway1234.com {Delma Keedy} {8648 Sunflower Street} {Mount Gambier} TX 77049 theadore@noway1234.com {Theadore Masur} {1419 Alder Drive} Launceston TX 77518 chrastil251@noway1234.com {Robert Chrastil} {11405 Indian Chief Court} Brookshire TX 77226 soumpholphakdy184@noway1234.com {Tootsie Soumpholphakdy} {10662 London Circle} {Mount Isa} TX 77549 craft826@noway1234.com {Craft Taylor} {369 Irene Drive} {Mount Isa} TX 77925 erma48@noway1234.com {Erma Brown} {3156 Centurion Drive} Adelaide TX 77971 craft_neukirch@noway1234.com {Craft Neukirch} {2094 Barbara Street} {Mount Gambier} TX 77845 piersol191@noway1234.com {Woods Piersol} {3651 Runamuck Place} Houston TX 77338 somchay914@noway1234.com {Amanda Somchay} {9737 Prescot Circle} Sunnyville TX 77989 ramona@noway1234.com {Ramona Rickman} {3452 Hyannis Circle} Albury TX 77259 clara858@noway1234.com {Clara Bogle} {3645 Toilsome Hill Drive} Bathurst TX 77359 helen434@noway1234.com {Helen Lintz} {11157 Delong Drive} OOdnadatta TX 77440 van72@noway1234.com {Timothy Van} {8975 Derby Way} Launceston TX 77795 wheeler425@noway1234.com {Friend Wheeler} {3864 Colleen Circle} Sunnyville TX 77279 melvina631@noway1234.com {Melvina Pfister} {10839 Alatna Avenue} Townsville TX 77146 chittenden425@noway1234.com {Bern Chittenden} {6011 Ida Road} {Mount Gambier} TX 77518 seibert_bischoff@noway1234.com {Seibert Bischoff} {2162 Guam Avenue} Newcastle TX 77470 taylor710@noway1234.com {Sigman Taylor} {2329 Wilma Circle} Centerville TX 77490 mommens447@noway1234.com {Laky Mommens} {360 Rosebud Row Avenue} Ketherine TX 77274 flightaware-Pgtcl-8d02566/win/000077500000000000000000000000001203531660700161365ustar00rootroot00000000000000flightaware-Pgtcl-8d02566/win/libpgtcl.dsp000066400000000000000000000222361203531660700204530ustar00rootroot00000000000000# Microsoft Developer Studio Project File - Name="libpgtcl3" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=libpgtcl3 - Win32 Debug Dynamic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "libpgtcl3.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "libpgtcl3.mak" CFG="libpgtcl3 - Win32 Debug Dynamic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "libpgtcl3 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libpgtcl3 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libpgtcl3 - Win32 Debug Dynamic" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libpgtcl3 - Win32 Release Dynamic" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 1 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "libpgtcl3 - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpq.lib wsock32.lib MSVCRT.lib /nologo /dll /incremental:yes /machine:I386 !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpq.lib wsock32.lib MSVCRT.lib /nologo /dll /debug /machine:I386 /pdbtype:sept !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug Dynamic" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "libpgtcl3___Win32_Debug_Dynamic" # PROP BASE Intermediate_Dir "libpgtcl3___Win32_Debug_Dynamic" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug_Dynamic" # PROP Intermediate_Dir "Debug_Dynamic" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /GZ /c # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpq.lib wsock32.lib MSVCRT.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpqdll.lib wsock32.lib MSVCRT.lib /nologo /dll /debug /machine:I386 /pdbtype:sept !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Release Dynamic" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "libpgtcl3___Win32_Release_Dynamic" # PROP BASE Intermediate_Dir "libpgtcl3___Win32_Release_Dynamic" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release_Dynamic" # PROP Intermediate_Dir "Release_Dynamic" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPGTCL3_EXPORTS" /D "USE_TCL_STUBS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpq.lib wsock32.lib MSVCRT.lib /nologo /dll /incremental:yes /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tclstub82.lib libpqdll.lib wsock32.lib MSVCRT.lib /nologo /dll /incremental:yes /machine:I386 !ENDIF # Begin Target # Name "libpgtcl3 - Win32 Release" # Name "libpgtcl3 - Win32 Debug" # Name "libpgtcl3 - Win32 Debug Dynamic" # Name "libpgtcl3 - Win32 Release Dynamic" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\pgtcl.c" !IF "$(CFG)" == "libpgtcl3 - Win32 Release" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug Dynamic" # PROP Intermediate_Dir "Debug_Dynamic" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Release Dynamic" # PROP Intermediate_Dir "Release_Dynamic" !ENDIF # End Source File # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\pgtclCmds.c" !IF "$(CFG)" == "libpgtcl3 - Win32 Release" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug Dynamic" # PROP Intermediate_Dir "Debug_Dynamic" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Release Dynamic" # PROP Intermediate_Dir "Release_Dynamic" !ENDIF # End Source File # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\pgtclId.c" !IF "$(CFG)" == "libpgtcl3 - Win32 Release" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Debug Dynamic" # PROP Intermediate_Dir "Debug_Dynamic" !ELSEIF "$(CFG)" == "libpgtcl3 - Win32 Release Dynamic" # PROP Intermediate_Dir "Release_Dynamic" !ENDIF # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\libpgtcl.h" # End Source File # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\pgtclCmds.h" # End Source File # Begin Source File SOURCE="..\..\Documents and Settings\bschwarz\My Documents\C\libpgtcl\generic\pgtclId.h" # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project flightaware-Pgtcl-8d02566/win/libpgtcl.dsw000066400000000000000000000010351203531660700204540ustar00rootroot00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "libpgtcl3"=.\libpgtcl3.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### flightaware-Pgtcl-8d02566/win/makefile.vc000066400000000000000000000327671203531660700202640ustar00rootroot00000000000000# makefile.vc -- -*- Makefile -*- # # Microsoft Visual C++ makefile for use with nmake.exe v1.62+ (VC++ 5.0+) # # This makefile is based upon the Tcl 8.4 Makefile.vc and modified to # make it suitable as a general package makefile. Look for the word EDIT # which marks sections that may need modification. As a minumum you will # need to change the PROJECT, DOTVERSION and DLLOBJS variables to values # relevant to your package. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # Copyright (c) 1995-1996 Sun Microsystems, Inc. # Copyright (c) 1998-2000 Ajuba Solutions. # Copyright (c) 2001 ActiveState Corporation. # Copyright (c) 2001-2002 David Gravereaux. # Copyright (c) 2003 Pat Thoyts # #------------------------------------------------------------------------- # RCS: @(#)$Id$ #------------------------------------------------------------------------- !if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCToolkitInstallDir) MSG = ^ You will need to run vcvars32.bat from Developer Studio, first, to setup^ the environment. Jump to this line to read the new instructions. !error $(MSG) !endif #------------------------------------------------------------------------------ # HOW TO USE this makefile: # # 1) It is now necessary to have %MSVCDir% set in the environment. This is # used as a check to see if vcvars32.bat had been run prior to running # nmake or during the installation of Microsoft Visual C++, MSVCDir had # been set globally and the PATH adjusted. Either way is valid. # # You'll need to run vcvars32.bat contained in the MsDev's vc(98)/bin # directory to setup the proper environment, if needed, for your current # setup. This is a needed bootstrap requirement and allows the swapping of # different environments to be easier. # # 2) To use the Platform SDK (not expressly needed), run setenv.bat after # vcvars32.bat according to the instructions for it. This can also turn on # the 64-bit compiler, if your SDK has it. # # 3) Targets are: # all -- Builds everything. # -- Builds the project (eg: nmake sample) # test -- Builds and runs the test suite. # install -- Installs the built binaries and libraries to $(INSTALLDIR) # in an appropriate subdirectory. # clean/realclean/distclean -- varying levels of cleaning. # # 4) Macros usable on the commandline: # INSTALLDIR= # Sets where to install Tcl from the built binaries. # C:\Progra~1\Tcl is assumed when not specified. # # OPTS=static,msvcrt,staticpkg,threads,symbols,profile,loimpact,none # Sets special options for the core. The default is for none. # Any combination of the above may be used (comma separated). # 'none' will over-ride everything to nothing. # # static = Builds a static library of the core instead of a # dll. The shell will be static (and large), as well. # msvcrt = Effects the static option only to switch it from # using libcmt(d) as the C runtime [by default] to # msvcrt(d). This is useful for static embedding # support. # staticpkg = Effects the static option only to switch # tclshXX.exe to have the dde and reg extension linked # inside it. # threads = Turns on full multithreading support. # thrdalloc = Use the thread allocator (shared global free pool). # symbols = Adds symbols for step debugging. # profile = Adds profiling hooks. Map file is assumed. # loimpact = Adds a flag for how NT treats the heap to keep memory # in use, low. This is said to impact alloc performance. # # STATS=memdbg,compdbg,none # Sets optional memory and bytecode compiler debugging code added # to the core. The default is for none. Any combination of the # above may be used (comma separated). 'none' will over-ride # everything to nothing. # # memdbg = Enables the debugging memory allocator. # compdbg = Enables byte compilation logging. # # MACHINE=(IX86|IA64|ALPHA) # Set the machine type used for the compiler, linker, and # resource compiler. This hook is needed to tell the tools # when alternate platforms are requested. IX86 is the default # when not specified. # # TMP_DIR= # OUT_DIR= # Hooks to allow the intermediate and output directories to be # changed. $(OUT_DIR) is assumed to be # $(BINROOT)\(Release|Debug) based on if symbols are requested. # $(TMP_DIR) will de $(OUT_DIR)\ by default. # # TESTPAT= # Reads the tests requested to be run from this file. # # CFG_ENCODING=encoding # name of encoding for configuration information. Defaults # to cp1252 # # 5) Examples: # # Basic syntax of calling nmake looks like this: # nmake [-nologo] -f makefile.vc [target|macrodef [target|macrodef] [...]] # # Standard (no frills) # c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat # Setting environment for using Microsoft Visual C++ tools. # c:\tcl_src\win\>nmake -f makefile.vc all # c:\tcl_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl # # Building for Win64 # c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat # Setting environment for using Microsoft Visual C++ tools. # c:\tcl_src\win\>c:\progra~1\platfo~1\setenv.bat /pre64 /RETAIL # Targeting Windows pre64 RETAIL # c:\tcl_src\win\>nmake -f makefile.vc MACHINE=IA64 # #------------------------------------------------------------------------------ #============================================================================== ############################################################################### #------------------------------------------------------------------------------ !if !exist("makefile.vc") MSG = ^ You must run this makefile only from the directory it is in.^ Please `cd` to its location first. !error $(MSG) !endif #------------------------------------------------------------------------- # Project specific information (EDIT) # # You should edit this with the name and version of your project. This # information is used to generate the name of the package library and # it's install location. # # For example, the sample extension is going to build sample04.dll and # would install it into $(INSTALLDIR)\lib\sample04 # # You need to specify the object files that need to be linked into your # binary here. # #------------------------------------------------------------------------- PROJECT = sample !include "rules.vc" DOTVERSION = 0.5 VERSION = $(DOTVERSION:.=) STUBPREFIX = $(PROJECT)stub DLLOBJS = \ $(TMP_DIR)\tclsample.obj \ $(TMP_DIR)\sample.obj #------------------------------------------------------------------------- # Target names and paths ( shouldn't need changing ) #------------------------------------------------------------------------- BINROOT = . ROOT = .. PRJIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib PRJLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT) PRJLIB = $(OUT_DIR)\$(PRJLIBNAME) PRJSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib PRJSTUBLIB = $(OUT_DIR)\$(PRJSTUBLIBNAME) ### Make sure we use backslash only. PRJ_INSTALL_DIR = $(_INSTALLDIR)\$(PROJECT)$(DOTVERSION) LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR) BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR) DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR) SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR) INCLUDE_INSTALL_DIR = $(_TCLDIR)\include ### The following paths CANNOT have spaces in them. GENERICDIR = $(ROOT)\generic WINDIR = $(ROOT)\win LIBDIR = $(ROOT)\library DOCDIR = $(ROOT)\doc TOOLSDIR = $(ROOT)\tools COMPATDIR = $(ROOT)\compat #--------------------------------------------------------------------- # Compile flags #--------------------------------------------------------------------- !if !$(DEBUG) !if $(OPTIMIZING) ### This cranks the optimization level to maximize speed cdebug = -O2 -Op -Gs !else cdebug = !endif !else if "$(MACHINE)" == "IA64" ### Warnings are too many, can't support warnings into errors. cdebug = -Z7 -Od -GZ !else cdebug = -Z7 -WX -Od -GZ !endif ### Declarations common to all compiler options cflags = -nologo -c -W3 -YX -Fp$(TMP_DIR)^\ !if $(PENT_0F_ERRATA) cflags = $(cflags) -QI0f !endif !if $(ITAN_B_ERRATA) cflags = $(cflags) -QIA64_Bx !endif !if $(MSVCRT) !if $(DEBUG) crt = -MDd !else crt = -MD !endif !else !if $(DEBUG) crt = -MTd !else crt = -MT !endif !endif INCLUDES = $(TCL_INCLUDES) -I"$(WINDIR)" -I"$(GENERICDIR)" BASE_CLFAGS = $(cflags) $(cdebug) $(crt) $(INCLUDES) CON_CFLAGS = $(cflags) $(cdebug) $(crt) -DCONSOLE TCL_CFLAGS = -DUSE_TCL_STUBS -DPACKAGE_VERSION="\"$(DOTVERSION)\"" \ $(BASE_CLFAGS) $(OPTDEFINES) #--------------------------------------------------------------------- # Link flags #--------------------------------------------------------------------- !if $(DEBUG) ldebug = -debug:full -debugtype:cv !else ldebug = -release -opt:ref -opt:icf,3 !endif ### Declarations common to all linker options lflags = -nologo -machine:$(MACHINE) $(ldebug) !if $(PROFILE) lflags = $(lflags) -profile !endif !if $(ALIGN98_HACK) && !$(STATIC_BUILD) ### Align sections for PE size savings. lflags = $(lflags) -opt:nowin98 !else if !$(ALIGN98_HACK) && $(STATIC_BUILD) ### Align sections for speed in loading by choosing the virtual page size. lflags = $(lflags) -align:4096 !endif !if $(LOIMPACT) lflags = $(lflags) -ws:aggressive !endif dlllflags = $(lflags) -dll conlflags = $(lflags) -subsystem:console guilflags = $(lflags) -subsystem:windows baselibs = $(TCLSTUBLIB) #--------------------------------------------------------------------- # TclTest flags #--------------------------------------------------------------------- !IF "$(TESTPAT)" != "" TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT) !ENDIF #--------------------------------------------------------------------- # Project specific targets (EDIT) #--------------------------------------------------------------------- all: setup $(PROJECT) $(PROJECT): setup $(PRJLIB) install: install-binaries install-libraries install-docs # Tests need to ensure we load the right dll file we # have to handle the output differently on Win9x. # !if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE" test: setup $(PROJECT) set TCL_LIBRARY=$(ROOT)/library $(TCLSH) << load $(PRJLIB:\=/) cd "$(ROOT)/tests" set argv "$(TESTFLAGS)" source all.tcl << !else test: setup $(PROJECT) echo Please wait while the test results are collected set TCL_LIBRARY=$(ROOT)/library $(TCLSH) << >tests.log load $(PRJLIB:\=/) cd "$(ROOT)/tests" set argv "$(TESTFLAGS)" source all.tcl << type tests.log | more !endif setup: @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) $(PRJLIB): $(DLLOBJS) $(link32) $(dlllflags) -out:$@ $(baselibs) @<< $** << -@del $*.exp $(PRJSTUBLIB): $(PRJSTUBOBJS) $(lib32) -nologo -out:$@ $(PRJSTUBOBJS) #--------------------------------------------------------------------- # Implicit rules #--------------------------------------------------------------------- {$(WINDIR)}.c{$(TMP_DIR)}.obj:: $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< $< << {$(GENERICDIR)}.c{$(TMP_DIR)}.obj:: $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< $< << {$(COMPATDIR)}.c{$(TMP_DIR)}.obj:: $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< $< << {$(WINDIR)}.rc{$(TMP_DIR)}.res: $(rc32) -fo $@ -r -i "$(GENERICDIR)" -D__WIN32__ \ !if $(DEBUG) -d DEBUG \ !endif !if $(TCL_THREADS) -d TCL_THREADS \ !endif !if $(STATIC_BUILD) -d STATIC_BUILD \ !endif $< .SUFFIXES: .SUFFIXES:.c .rc #--------------------------------------------------------------------- # Installation. (EDIT) # # You may need to modify this section to reflect the final distribution # of your files and possibly to generate documentation. # #--------------------------------------------------------------------- install-binaries: @echo Installing binaries to '$(SCRIPT_INSTALL_DIR)' @if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)" @$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL ### Automatic creation of pkgIndex #install-libraries: # @echo Installing library files to '$(SCRIPT_INSTALL_DIR)' # @if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)" # @echo cd "$(SCRIPT_INSTALL_DIR:\=/)" ; pkg_mkIndex . | $(TCLSH) ### Manual creation of pkgIndex ### Normally the ifneeded command would be: ### package ifneeded $(PROJECT) $(DOTVERSION) \ ### [list load [file join $$dir $(PROJECT)$(VERSION).$(EXT)]] ### but this project has been named oddly. It has Sample_Init but provides ### the Tclsha1 package. install-libraries: @echo Installing libraries to '$(SCRIPT_INSTALL_DIR)' @if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)" @echo Installing package index in '$(SCRIPT_INSTALL_DIR)' @type << >"$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" # Hand-crafted pkgIndex.tcl package ifneeded Tclsha1 $(DOTVERSION) [list load [file join $$dir $(PROJECT)$(VERSION).$(EXT)] Sample] << install-docs: @echo Installing documentation files to '$(DOC_INSTALL_DIR)' @if exist $(DOCDIR) $(CPY) $(DOCDIR)\*.n "$(DOC_INSTALL_DIR)" #--------------------------------------------------------------------- # Clean up #--------------------------------------------------------------------- clean: @if exist $(TMP_DIR)\nul $(RMDIR) $(TMP_DIR) @if exist $(WINDIR)\version.vc del $(WINDIR)\version.vc realclean: clean @if exist $(OUT_DIR)\nul $(RMDIR) $(OUT_DIR) distclean: realclean @if exist $(WINDIR)\nmakehlp.exe del $(WINDIR)\nmakehlp.exe @if exist $(WINDIR)\nmakehlp.obj del $(WINDIR)\nmakehlp.obj flightaware-Pgtcl-8d02566/win/nmakehlp.c000066400000000000000000000254761203531660700201170ustar00rootroot00000000000000/* ---------------------------------------------------------------------------- * nmakehlp.c -- * * This is used to fix limitations within nmake and the environment. * * Copyright (c) 2002 by David Gravereaux. * Copyright (c) 2003 by Patrick Thoyts * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * ---------------------------------------------------------------------------- * RCS: @(#) $Id$ * ---------------------------------------------------------------------------- */ #include #include #pragma comment (lib, "user32.lib") #pragma comment (lib, "kernel32.lib") /* protos */ int CheckForCompilerFeature (const char *option); int CheckForLinkerFeature (const char *option); int IsIn (const char *string, const char *substring); DWORD WINAPI ReadFromPipe (LPVOID args); int GetVersionFromHeader(const char *tclh, const char *tkh); /* globals */ typedef struct { HANDLE pipe; char buffer[1000]; } pipeinfo; pipeinfo Out = {INVALID_HANDLE_VALUE, '\0'}; pipeinfo Err = {INVALID_HANDLE_VALUE, '\0'}; /* exitcodes: 0 == no, 1 == yes, 2 == error */ int main (int argc, char *argv[]) { char msg[300]; DWORD dwWritten; int chars; if (argc > 1 && *argv[1] == '-') { switch (*(argv[1]+1)) { case 'c': if (argc != 3) { chars = wsprintf(msg, "usage: %s -c \n" "Tests for whether cl.exe supports an option\n" "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); return 2; } return CheckForCompilerFeature(argv[2]); case 'l': if (argc != 3) { chars = wsprintf(msg, "usage: %s -l \n" "Tests for whether link.exe supports an option\n" "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); return 2; } return CheckForLinkerFeature(argv[2]); case 'f': if (argc == 2) { chars = wsprintf(msg, "usage: %s -f \n" "Find a substring within another\n" "exitcodes: 0 == no, 1 == yes, 2 == error\n", argv[0]); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); return 2; } else if (argc == 3) { /* if the string is blank, there is no match */ return 0; } else { return IsIn(argv[2], argv[3]); } case 'v': if (argc != 4) { chars = wsprintf(msg, "usage: %s -v \n" "Search for versions from the tcl and tk headers.", argv[0]); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); return 0; } return GetVersionFromHeader(argv[2], argv[3]); } } chars = wsprintf(msg, "usage: %s -c|-l|-f ...\n" "This is a little helper app to equalize shell differences between WinNT and\n" "Win9x and get nmake.exe to accomplish its job.\n", argv[0]); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, chars, &dwWritten, NULL); return 2; } int CheckForCompilerFeature (const char *option) { STARTUPINFO si; PROCESS_INFORMATION pi; SECURITY_ATTRIBUTES sa; DWORD threadID; char msg[300]; BOOL ok; HANDLE hProcess, h, pipeThreads[2]; char cmdline[100]; hProcess = GetCurrentProcess(); ZeroMemory(&pi, sizeof(PROCESS_INFORMATION)); ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES; si.hStdInput = INVALID_HANDLE_VALUE; ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES)); sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = FALSE; /* create a non-inheritible pipe. */ CreatePipe(&Out.pipe, &h, &sa, 0); /* dupe the write side, make it inheritible, and close the original. */ DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); /* Same as above, but for the error side. */ CreatePipe(&Err.pipe, &h, &sa, 0); DuplicateHandle(hProcess, h, hProcess, &si.hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); /* base command line */ strcpy(cmdline, "cl.exe -nologo -c -TC -Fdtemp "); /* append our option for testing */ strcat(cmdline, option); /* filename to compile, which exists, but is nothing and empty. */ strcat(cmdline, " nul"); ok = CreateProcess( NULL, /* Module name. */ cmdline, /* Command line. */ NULL, /* Process handle not inheritable. */ NULL, /* Thread handle not inheritable. */ TRUE, /* yes, inherit handles. */ DETACHED_PROCESS, /* No console for you. */ NULL, /* Use parent's environment block. */ NULL, /* Use parent's starting directory. */ &si, /* Pointer to STARTUPINFO structure. */ &pi); /* Pointer to PROCESS_INFORMATION structure. */ if (!ok) { DWORD err = GetLastError(); int chars = wsprintf(msg, "Tried to launch: \"%s\", but got error [%u]: ", cmdline, err); FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID) &msg[chars], (300-chars), 0); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, strlen(msg), &err, NULL); return 2; } /* close our references to the write handles that have now been inherited. */ CloseHandle(si.hStdOutput); CloseHandle(si.hStdError); WaitForInputIdle(pi.hProcess, 5000); CloseHandle(pi.hThread); /* start the pipe reader threads. */ pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID); pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID); /* block waiting for the process to end. */ WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); /* clean up temporary files before returning */ DeleteFile("temp.idb"); DeleteFile("temp.pdb"); /* wait for our pipe to get done reading, should it be a little slow. */ WaitForMultipleObjects(2, pipeThreads, TRUE, 500); CloseHandle(pipeThreads[0]); CloseHandle(pipeThreads[1]); /* look for the commandline warning code in both streams. */ return !(strstr(Out.buffer, "D4002") != NULL || strstr(Err.buffer, "D4002") != NULL); } int CheckForLinkerFeature (const char *option) { STARTUPINFO si; PROCESS_INFORMATION pi; SECURITY_ATTRIBUTES sa; DWORD threadID; char msg[300]; BOOL ok; HANDLE hProcess, h, pipeThreads[2]; char cmdline[100]; hProcess = GetCurrentProcess(); ZeroMemory(&pi, sizeof(PROCESS_INFORMATION)); ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES; si.hStdInput = INVALID_HANDLE_VALUE; ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES)); sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; /* create a non-inheritible pipe. */ CreatePipe(&Out.pipe, &h, &sa, 0); /* dupe the write side, make it inheritible, and close the original. */ DuplicateHandle(hProcess, h, hProcess, &si.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); /* Same as above, but for the error side. */ CreatePipe(&Err.pipe, &h, &sa, 0); DuplicateHandle(hProcess, h, hProcess, &si.hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE); /* base command line */ strcpy(cmdline, "link.exe -nologo "); /* append our option for testing */ strcat(cmdline, option); /* filename to compile, which exists, but is nothing and empty. */ // strcat(cmdline, " nul"); ok = CreateProcess( NULL, /* Module name. */ cmdline, /* Command line. */ NULL, /* Process handle not inheritable. */ NULL, /* Thread handle not inheritable. */ TRUE, /* yes, inherit handles. */ DETACHED_PROCESS, /* No console for you. */ NULL, /* Use parent's environment block. */ NULL, /* Use parent's starting directory. */ &si, /* Pointer to STARTUPINFO structure. */ &pi); /* Pointer to PROCESS_INFORMATION structure. */ if (!ok) { DWORD err = GetLastError(); int chars = wsprintf(msg, "Tried to launch: \"%s\", but got error [%u]: ", cmdline, err); FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, 0L, err, 0, (LPVOID) &msg[chars], (300-chars), 0); WriteFile(GetStdHandle(STD_ERROR_HANDLE), msg, strlen(msg), &err, NULL); return 2; } /* close our references to the write handles that have now been inherited. */ CloseHandle(si.hStdOutput); CloseHandle(si.hStdError); WaitForInputIdle(pi.hProcess, 5000); CloseHandle(pi.hThread); /* start the pipe reader threads. */ pipeThreads[0] = CreateThread(NULL, 0, ReadFromPipe, &Out, 0, &threadID); pipeThreads[1] = CreateThread(NULL, 0, ReadFromPipe, &Err, 0, &threadID); /* block waiting for the process to end. */ WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); /* wait for our pipe to get done reading, should it be a little slow. */ WaitForMultipleObjects(2, pipeThreads, TRUE, 500); CloseHandle(pipeThreads[0]); CloseHandle(pipeThreads[1]); /* look for the commandline warning code in the stderr stream. */ return !(strstr(Out.buffer, "LNK1117") != NULL || strstr(Err.buffer, "LNK1117") != NULL); } DWORD WINAPI ReadFromPipe (LPVOID args) { pipeinfo *pi = (pipeinfo *) args; char *lastBuf = pi->buffer; DWORD dwRead; BOOL ok; again: ok = ReadFile(pi->pipe, lastBuf, 25, &dwRead, 0L); if (!ok || dwRead == 0) { CloseHandle(pi->pipe); return 0; } lastBuf += dwRead; goto again; return 0; /* makes the compiler happy */ } int IsIn (const char *string, const char *substring) { return (strstr(string, substring) != NULL); } static double ReadVersionFromHeader(const char *file, const char *macro) { double d = 0.0; CHAR szBuffer[100]; LPSTR p; DWORD cbBuffer = 100; FILE *fp = fopen(file, "r"); if (fp != NULL) { while (fgets(szBuffer, cbBuffer, fp) != NULL) { if ((p = strstr(szBuffer, macro)) != NULL) { while (*p && !isdigit(*p)) ++p; d = strtod(p, NULL); break; } } fclose(fp); } return d; } int GetVersionFromHeader(const char *tclh, const char *tkh) { double dTcl = 0.0, dTk = 0.0; if (tclh != NULL) dTcl = ReadVersionFromHeader(tclh, "TCL_VERSION"); if (tkh != NULL) dTk = ReadVersionFromHeader(tkh, "TK_VERSION"); if (dTcl > 0 || dTk > 0) { FILE *ofp = fopen("version.vc", "w"); if (dTcl > 0) fprintf(ofp, "TCL_DOTVERSION\t= %0.1f\nTCL_VERSION\t= %u\n", dTcl, (int)(dTcl * 10.0)); if (dTk > 0) fprintf(ofp, "TK_DOTVERSION\t= %0.1f\nTK_VERSION\t= %u\n", dTk, (int)(dTk * 10.0)); fclose(ofp); return 0; } return 1; } flightaware-Pgtcl-8d02566/win/rules.vc000066400000000000000000000244751203531660700176360ustar00rootroot00000000000000#------------------------------------------------------------------------------ # rules.vc -- # # Microsoft Visual C++ makefile include for decoding the commandline # macros. This file does not need editing to build Tcl. # # This version is modified from the Tcl source version to support # building extensions using nmake. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # Copyright (c) 2001-2002 David Gravereaux. # Copyright (c) 2003 Patrick Thoyts # #------------------------------------------------------------------------------ # RCS: @(#) $Id$ #------------------------------------------------------------------------------ !ifndef _RULES_VC _RULES_VC = 1 cc32 = $(CC) # built-in default. link32 = link lib32 = lib rc32 = $(RC) # built-in default. !ifndef INSTALLDIR ### Assume the normal default. _INSTALLDIR = C:\Program Files\Tcl !else ### Fix the path separators. _INSTALLDIR = $(INSTALLDIR:/=\) !endif !ifndef MACHINE MACHINE = IX86 !endif !ifndef CFG_ENCODING CFG_ENCODING = \"cp1252\" !endif #---------------------------------------------------------- # Set the proper copy method to avoid overwrite questions # to the user when copying files and selecting the right # "delete all" method. #---------------------------------------------------------- !if "$(OS)" == "Windows_NT" RMDIR = rmdir /S /Q !if ![ver | find "4.0" > nul] CPY = echo y | xcopy /i !else CPY = xcopy /i /y !endif !else CPY = xcopy /i RMDIR = deltree /Y !endif !message =============================================================================== #---------------------------------------------------------- # build the helper app we need to overcome nmake's limiting # environment. #---------------------------------------------------------- !if !exist(nmakehlp.exe) !if [$(cc32) -nologo -ML nmakehlp.c -link -subsystem:console > nul] !endif !endif #---------------------------------------------------------- # Test for compiler features #---------------------------------------------------------- ### test for optimizations !if [nmakehlp -c -Otip] !message *** Compiler has 'Optimizations' OPTIMIZING = 1 !else !message *** Compiler doesn't have 'Optimizations' OPTIMIZING = 0 !endif !if "$(MACHINE)" == "IX86" ### test for pentium errata !if [nmakehlp -c -QI0f] !message *** Compiler has 'Pentium 0x0f fix' PENT_0F_ERRATA = 1 !else !message *** Compiler doesn't have 'Pentium 0x0f fix' PENT_0F_ERRATA = 0 !endif ### test for -align:4096, when align:512 will do. !if [nmakehlp -l -opt:nowin98] !message *** Linker has 'Win98 alignment problem' ALIGN98_HACK = 1 !else !message *** Linker doesn't have 'Win98 alignment problem' ALIGN98_HACK = 0 !endif !else PENT_0F_ERRATA = 0 ALIGN98_HACK = 0 !endif !if "$(MACHINE)" == "IA64" ### test for Itanium errata !if [nmakehlp -c -QIA64_Bx] !message *** Compiler has 'B-stepping errata workarounds' ITAN_B_ERRATA = 1 !else !message *** Compiler doesn't have 'B-stepping errata workarounds' ITAN_B_ERRATA = 0 !endif !else ITAN_B_ERRATA = 0 !endif #---------------------------------------------------------- # Decode the options requested. #---------------------------------------------------------- !if "$(OPTS)" == "" || [nmakehlp -f "$(OPTS)" "none"] STATIC_BUILD = 0 TCL_THREADS = 0 DEBUG = 0 PROFILE = 0 MSVCRT = 0 LOIMPACT = 0 TCL_USE_STATIC_PACKAGES = 0 USE_THREAD_ALLOC = 0 !else !if [nmakehlp -f $(OPTS) "static"] !message *** Doing static STATIC_BUILD = 1 !else STATIC_BUILD = 0 !endif !if [nmakehlp -f $(OPTS) "msvcrt"] !message *** Doing msvcrt MSVCRT = 1 !else MSVCRT = 0 !endif !if [nmakehlp -f $(OPTS) "staticpkg"] !message *** Doing staticpkg TCL_USE_STATIC_PACKAGES = 1 !else TCL_USE_STATIC_PACKAGES = 0 !endif !if [nmakehlp -f $(OPTS) "threads"] !message *** Doing threads TCL_THREADS = 1 !else TCL_THREADS = 0 !endif !if [nmakehlp -f $(OPTS) "symbols"] !message *** Doing symbols DEBUG = 1 !else DEBUG = 0 !endif !if [nmakehlp -f $(OPTS) "profile"] !message *** Doing profile PROFILE = 1 !else PROFILE = 0 !endif !if [nmakehlp -f $(OPTS) "loimpact"] !message *** Doing loimpact LOIMPACT = 1 !else LOIMPACT = 0 !endif !if [nmakehlp -f $(OPTS) "thrdalloc"] !message *** Doing thrdalloc USE_THREAD_ALLOC = 1 !else USE_THREAD_ALLOC = 0 !endif !endif !if !$(STATIC_BUILD) # Make sure we don't build overly fat DLLs. MSVCRT = 1 # We shouldn't statically put the extensions inside the shell when dynamic. TCL_USE_STATIC_PACKAGES = 0 !endif #---------------------------------------------------------- # Figure-out how to name our intermediate and output directories. # We wouldn't want different builds to use the same .obj files # by accident. #---------------------------------------------------------- SUFX = tsgx !if $(DEBUG) BUILDDIRTOP = Debug DBGX = g !else BUILDDIRTOP = Release DBGX = SUFX = $(SUFX:g=) !endif TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX !if !$(STATIC_BUILD) TMP_DIRFULL = $(TMP_DIRFULL:Static=) SUFX = $(SUFX:s=) EXT = dll !if $(MSVCRT) TMP_DIRFULL = $(TMP_DIRFULL:X=) SUFX = $(SUFX:x=) !endif !else TMP_DIRFULL = $(TMP_DIRFULL:Dynamic=) EXT = lib !if !$(MSVCRT) TMP_DIRFULL = $(TMP_DIRFULL:X=) SUFX = $(SUFX:x=) !endif !endif !if !$(TCL_THREADS) TMP_DIRFULL = $(TMP_DIRFULL:Threaded=) SUFX = $(SUFX:t=) !endif !ifndef TMP_DIR TMP_DIR = $(TMP_DIRFULL) !ifndef OUT_DIR OUT_DIR = .\$(BUILDDIRTOP) !endif !else !ifndef OUT_DIR OUT_DIR = $(TMP_DIR) !endif !endif #---------------------------------------------------------- # Decode the statistics requested. #---------------------------------------------------------- !if "$(STATS)" == "" || [nmakehlp -f "$(STATS)" "none"] TCL_MEM_DEBUG = 0 TCL_COMPILE_DEBUG = 0 !else !if [nmakehlp -f $(STATS) "memdbg"] !message *** Doing memdbg TCL_MEM_DEBUG = 1 !else TCL_MEM_DEBUG = 0 !endif !if [nmakehlp -f $(STATS) "compdbg"] !message *** Doing compdbg TCL_COMPILE_DEBUG = 1 !else TCL_COMPILE_DEBUG = 0 !endif !endif #---------------------------------------------------------- # Set our defines now armed with our options. #---------------------------------------------------------- OPTDEFINES = -DTCL_CFGVAL_ENCODING=$(CFG_ENCODING) !if $(TCL_MEM_DEBUG) OPTDEFINES = -DTCL_MEM_DEBUG !endif !if $(TCL_COMPILE_DEBUG) OPTDEFINES = $(OPTDEFINES) -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS !endif !if $(TCL_THREADS) OPTDEFINES = $(OPTDEFINES) -DTCL_THREADS=1 !if $(USE_THREAD_ALLOC) OPTDEFINES = $(OPTDEFINES) -DUSE_THREAD_ALLOC=1 !endif !endif !if $(STATIC_BUILD) OPTDEFINES = $(OPTDEFINES) -DSTATIC_BUILD !endif !if $(DEBUG) OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_DEBUG !elseif $(OPTIMIZING) OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_OPTIMIZED !endif !if $(PROFILE) OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_PROFILED !endif !if "$(MACHINE)" == "IA64" OPTDEFINES = $(OPTDEFINES) -DTCL_CFG_DO64BIT !endif #---------------------------------------------------------- # Get common info used when building extensions. #---------------------------------------------------------- !if "$(PROJECT)" != "tcl" # If INSTALLDIR set to tcl root dir then reset to the lib dir. !if exist("$(_INSTALLDIR)\include\tcl.h") _INSTALLDIR=$(_INSTALLDIR)\lib !endif !if !defined(TCLDIR) !if exist("$(_INSTALLDIR)\..\include\tcl.h") TCLINSTALL = 1 _TCLDIR = $(_INSTALLDIR)\.. _TCL_H = $(_INSTALLDIR)\..\include\tcl.h TCLDIR = $(_INSTALLDIR)\.. !else MSG=^ Failed to find tcl.h. Set the TCLDIR macro. !error $(MSG) !endif !else _TCLDIR = $(TCLDIR:/=\) !if exist("$(_TCLDIR)\include\tcl.h") TCLINSTALL = 1 _TCL_H = $(_TCLDIR)\include\tcl.h !elseif exist("$(_TCLDIR)\generic\tcl.h") TCLINSTALL = 0 _TCL_H = $(_TCLDIR)\generic\tcl.h !else MSG =^ Failed to find tcl.h. The TCLDIR macro does not appear correct. !error $(MSG) !endif !endif !if [nmakehlp -v $(_TCL_H) ""] == 0 !include version.vc !else TCL_DOTVERSION = 8.5 TCL_VERSION = $(TCL_DOTVERSION:.=) !endif !if $(TCLINSTALL) TCLSH = "$(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX).exe" TCLSTUBLIB = "$(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib" TCLIMPLIB = "$(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX).lib" TCL_LIBRARY = $(_TCLDIR)\lib TCL_INCLUDES = -I"$(_TCLDIR)\include" !else TCLSH = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX).exe" TCLSTUBLIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib" TCLIMPLIB = "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX).lib" TCL_LIBRARY = $(_TCLDIR)\library TCL_INCLUDES = -I"$(_TCLDIR)\generic" -I"$(_TCLDIR)\win" !endif !endif #---------------------------------------------------------- # Get Tk info for building extensions. #---------------------------------------------------------- !if "$(PROJECT)" != "tcl" && "$(PROJECT)" != "tk" !if !defined(TKDIR) !if exist("$(_INSTALLDIR)\..\include\tk.h") TKINSTALL = 1 _TKDIR = $(_INSTALLDIR)\.. _TK_H = $(_TKDIR)\include\tk.h TKDIR = $(_TKDIR) !elseif exist("$(_TCLDIR)\include\tk.h") TKINSTALL = 1 _TKDIR = $(_TCLDIR) _TK_H = $(_TKDIR)\include\tk.h TKDIR = $(_TKDIR) !else MSG =^ Failed to find tk.h. Set the TKDIR macro. !error $(MSG) !endif !else _TKDIR = $(TKDIR:/=\) !if exist("$(_TKDIR)\include\tk.h") TKINSTALL = 1 _TK_H = $(_TKDIR)\include\tk.h !elseif exist("$(_TKDIR)\generic\tk.h") TKINSTALL = 0 _TK_H = $(_TKDIR)\generic\tk.h !else MSG =^ Failed to find tk.h. The TKDIR macro does not appear correct. !error $(MSG) !endif !endif !if [nmakehlp -v $(_TCL_H) $(_TK_H)] == 0 !include version.vc !else TK_DOTVERSION = 8.5 TK_VERSION = $(TK_DOTVERSION:.=) !endif !if $(TKINSTALL) WISH = "$(_TKDIR)\bin\wish$(TK_VERSION)$(SUFX).exe" TKSTUBLIB = "$(_TKDIR)\lib\tkstub$(TK_VERSION).lib" TKIMPLIB = "$(_TKDIR)\lib\tk$(TK_VERSION)$(SUFX).lib" TK_INCLUDES = -I"$(_TKDIR)\include" !else WISH = "$(_TKDIR)\win\$(BUILDDIRTOP)\wish$(TCL_VERSION)$(SUFX).exe" TKSTUBLIB = "$(_TKDIR)\win\$(BUILDDIRTOP)\tkstub$(TCL_VERSION).lib" TKIMPLIB = "$(_TKDIR)\win\$(BUILDDIRTOP)\tk$(TCL_VERSION)$(SUFX).lib" TK_INCLUDES = -I"$(_TKDIR)\generic" -I"$(_TKDIR)\win" -I"$(_TKDIR)\xlib" !endif !endif #---------------------------------------------------------- # Display stats being used. #---------------------------------------------------------- !message *** Intermediate directory will be '$(TMP_DIR)' !message *** Output directory will be '$(OUT_DIR)' !message *** Suffix for binaries will be '$(SUFX)' !message *** Optional defines are '$(OPTDEFINES)' !endif flightaware-Pgtcl-8d02566/win32.mak000066400000000000000000000132331203531660700167770ustar00rootroot00000000000000# Microsoft Developer Studio Generated NMAKE File, Based on libpgtcl_REL7_1_STABLE.dsp !IF "$(CFG)" == "" CFG=libpgtcl - Win32 Release !MESSAGE No configuration specified. Defaulting to libpgtcl - Win32 Release. !ENDIF !IF "$(CFG)" != "libpgtcl - Win32 Release" && "$(CFG)" != "libpgtcl - Win32 Debug" !MESSAGE Invalid configuration "$(CFG)" specified. !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "libpgtcl.mak" CFG="libpgtcl - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "libpgtcl - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libpgtcl - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE !ERROR An invalid configuration is specified. !ENDIF !IF "$(OS)" == "Windows_NT" NULL= !ELSE NULL=nul !ENDIF CPP=cl.exe MTL=midl.exe RSC=rc.exe TCLBASE=\usr\local\tcltk833 PGINCLUDE=/I ..\..\include /I ..\libpq /I $(TCLBASE)\include !IF "$(CFG)" == "libpgtcl - Win32 Release" OUTDIR=.\Release INTDIR=.\Release # Begin Custom Macros OutDir=.\Release # End Custom Macros ALL : "$(OUTDIR)\libpgtcl.dll" "$(OUTDIR)\libpgtcl.bsc" CLEAN : -@erase "$(INTDIR)\pgtcl.obj" -@erase "$(INTDIR)\pgtcl.sbr" -@erase "$(INTDIR)\pgtclCmds.obj" -@erase "$(INTDIR)\pgtclCmds.sbr" -@erase "$(INTDIR)\pgtclId.obj" -@erase "$(INTDIR)\pgtclId.sbr" -@erase "$(INTDIR)\vc60.idb" -@erase "$(OUTDIR)\libpgtcl.dll" -@erase "$(OUTDIR)\libpgtcl.exp" -@erase "$(OUTDIR)\libpgtcl.lib" -@erase "$(OUTDIR)\libpgtcl.bsc" "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" CPP_PROJ=/nologo /MT /W3 /GX /O2 $(PGINCLUDE) /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libpgtcl.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 BSC32=bscmake.exe BSC32_FLAGS=/nologo /o"$(OUTDIR)\libpgtcl.bsc" BSC32_SBRS= \ "$(INTDIR)\pgtcl.sbr" \ "$(INTDIR)\pgtclCmds.sbr" \ "$(INTDIR)\pgtclId.sbr" "$(OUTDIR)\libpgtcl.bsc" : "$(OUTDIR)" $(BSC32_SBRS) $(BSC32) @<< $(BSC32_FLAGS) $(BSC32_SBRS) << LINK32=link.exe LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tcl83.lib libpq.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libpgtcl.pdb" /machine:I386 /def:".\libpgtcl.def" /out:"$(OUTDIR)\libpgtcl.dll" /implib:"$(OUTDIR)\libpgtcl.lib" /libpath:"$(TCLBASE)\lib" /libpath:"..\libpq\Release" DEF_FILE= \ ".\libpgtcl.def" LINK32_OBJS= \ "$(INTDIR)\pgtcl.obj" \ "$(INTDIR)\pgtclCmds.obj" \ "$(INTDIR)\pgtclId.obj" "$(OUTDIR)\libpgtcl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) << !ELSEIF "$(CFG)" == "libpgtcl - Win32 Debug" OUTDIR=.\Debug INTDIR=.\Debug # Begin Custom Macros OutDir=.\Debug # End Custom Macros ALL : "$(OUTDIR)\libpgtcl.dll" "$(OUTDIR)\libpgtcl.bsc" CLEAN : -@erase "$(INTDIR)\pgtcl.obj" -@erase "$(INTDIR)\pgtcl.sbr" -@erase "$(INTDIR)\pgtclCmds.obj" -@erase "$(INTDIR)\pgtclCmds.sbr" -@erase "$(INTDIR)\pgtclId.obj" -@erase "$(INTDIR)\pgtclId.sbr" -@erase "$(INTDIR)\vc60.idb" -@erase "$(INTDIR)\vc60.pdb" -@erase "$(OUTDIR)\libpgtcl.dll" -@erase "$(OUTDIR)\libpgtcl.exp" -@erase "$(OUTDIR)\libpgtcl.ilk" -@erase "$(OUTDIR)\libpgtcl.lib" -@erase "$(OUTDIR)\libpgtcl.pdb" -@erase "$(OUTDIR)\libpgtcl.bsc" "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od $(PGINCLUDE) /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libpgtcl.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 BSC32=bscmake.exe BSC32_FLAGS=/nologo /o"$(OUTDIR)\libpgtcl.bsc" BSC32_SBRS= \ "$(INTDIR)\pgtcl.sbr" \ "$(INTDIR)\pgtclCmds.sbr" \ "$(INTDIR)\pgtclId.sbr" "$(OUTDIR)\libpgtcl.bsc" : "$(OUTDIR)" $(BSC32_SBRS) $(BSC32) @<< $(BSC32_FLAGS) $(BSC32_SBRS) << LINK32=link.exe LINK32_FLAGS=tcl83.lib libpq.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libpgtcl.pdb" /debug /machine:I386 /def:".\libpgtcl.def" /out:"$(OUTDIR)\libpgtcl.dll" /implib:"$(OUTDIR)\libpgtcl.lib" /pdbtype:sept /libpath:"$(TCLBASE)\lib" /libpath:"..\libpq\Debug" DEF_FILE= \ ".\libpgtcl.def" LINK32_OBJS= \ "$(INTDIR)\pgtcl.obj" \ "$(INTDIR)\pgtclCmds.obj" \ "$(INTDIR)\pgtclId.obj" "$(OUTDIR)\libpgtcl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) << !ENDIF .c{$(INTDIR)}.obj:: $(CPP) @<< $(CPP_PROJ) $< << .cpp{$(INTDIR)}.obj:: $(CPP) @<< $(CPP_PROJ) $< << .cxx{$(INTDIR)}.obj:: $(CPP) @<< $(CPP_PROJ) $< << .c{$(INTDIR)}.sbr:: $(CPP) @<< $(CPP_PROJ) $< << .cpp{$(INTDIR)}.sbr:: $(CPP) @<< $(CPP_PROJ) $< << .cxx{$(INTDIR)}.sbr:: $(CPP) @<< $(CPP_PROJ) $< << !IF "$(CFG)" == "libpgtcl - Win32 Release" || "$(CFG)" == "libpgtcl - Win32 Debug" SOURCE=pgtcl.c "$(INTDIR)\pgtcl.obj" "$(INTDIR)\pgtcl.sbr" : $(SOURCE) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) SOURCE=pgtclCmds.c "$(INTDIR)\pgtclCmds.obj" "$(INTDIR)\pgtclCmds.sbr" : $(SOURCE) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) SOURCE=pgtclId.c "$(INTDIR)\pgtclId.obj" "$(INTDIR)\pgtclId.sbr" : $(SOURCE) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) !ENDIF